diff options
author | Holger Hoffstätte <holger@applied-asynchrony.com> | 2022-09-17 23:01:49 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-09-17 22:14:53 +0100 |
commit | bd879e9e2691b082021eac942d4a982abd43322c (patch) | |
tree | 66d176b00070f1d5a1b51073ac01a930188c1ac2 /app-editors/joe | |
parent | mail-filter/imapfilter: fix build with -Werror=strict-prototypes (diff) | |
download | gentoo-bd879e9e2691b082021eac942d4a982abd43322c.tar.gz gentoo-bd879e9e2691b082021eac942d4a982abd43322c.tar.bz2 gentoo-bd879e9e2691b082021eac942d4a982abd43322c.zip |
app-editors/joe: fix build with -Werror=strict-prototypes
Closes: https://bugs.gentoo.org/870769
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
Closes: https://github.com/gentoo/gentoo/pull/27314
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-editors/joe')
-rw-r--r-- | app-editors/joe/files/joe-4.6-prototypes.patch | 409 | ||||
-rw-r--r-- | app-editors/joe/joe-4.6-r2.ebuild | 57 |
2 files changed, 466 insertions, 0 deletions
diff --git a/app-editors/joe/files/joe-4.6-prototypes.patch b/app-editors/joe/files/joe-4.6-prototypes.patch new file mode 100644 index 000000000000..f37d18f650ab --- /dev/null +++ b/app-editors/joe/files/joe-4.6-prototypes.patch @@ -0,0 +1,409 @@ + +Bug: https://bugs.gentoo.org/870769 + +Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com> + +--- joe-4.6/joe/b.c ++++ joe-4.6-prototypes/joe/b.c +@@ -23,8 +23,6 @@ + #endif + #endif + +-extern int errno; +- + #ifdef WITH_SELINUX + #include <selinux/selinux.h> + static int selinux_enabled = -1; +@@ -147,7 +145,7 @@ static void pfree(P *p) + B bufs = { {&bufs, &bufs} }; + static B frebufs = { {&frebufs, &frebufs} }; + +-void set_file_pos_orphaned() ++void set_file_pos_orphaned(void) + { + B *b; + for (b = bufs.link.next; b != &bufs; b = b->link.next) +@@ -324,7 +322,7 @@ void brm(B *b) + } + } + +-void brmall() ++void brmall(void) + { + while (!qempty(B, link, &bufs)) + brm(bufs.link.next); +--- joe-4.6/joe/b.h ++++ joe-4.6-prototypes/joe/b.h +@@ -171,7 +171,7 @@ extern const char *msgs[]; /* File acces + + B *bmk(B *prop); + void brm(B *b); +-void brmall(); ++void brmall(void); + + B *bfind(const char *s); + B *bfind_scratch(const char *s); +@@ -330,7 +330,7 @@ extern int break_links; /* Break hard li + extern int break_symlinks; /* Break symbolic links on write */ + extern int nodeadjoe; /* Prevent creation of DEADJOE files */ + +-void set_file_pos_orphaned(); ++void set_file_pos_orphaned(void); + + void breplace(B *b, B *n); + +--- joe-4.6/joe/charmap.c ++++ joe-4.6-prototypes/joe/charmap.c +@@ -1423,7 +1423,7 @@ main(int argc,char *argv[]) + + /* Get names of available encodings (for tab completion of ^T E prompt) */ + +-char **get_encodings() ++char **get_encodings(void) + { + int y; + char **encodings = 0; +@@ -1591,7 +1591,7 @@ struct charmap *locale_map; + struct charmap *locale_map_non_utf8; + /* Old, non-utf8 version of locale */ + +-void joe_locale() ++void joe_locale(void) + { + const char *sc; + char *s, *t, *u; +--- joe-4.6/joe/charmap.h ++++ joe-4.6-prototypes/joe/charmap.h +@@ -80,7 +80,7 @@ int from_utf8(struct charmap *map,const + int to_uni(struct charmap *cset, int c); + void to_utf8(struct charmap *map,char *s,int c); + +-void joe_locale(); ++void joe_locale(void); + extern struct charmap *locale_map; /* Character map of terminal */ + extern struct charmap *utf8_map; /* UTF-8 character map */ + extern struct charmap *utf16_map; /* UTF-16 character map */ +--- joe-4.6/joe/cmd.c ++++ joe-4.6-prototypes/joe/cmd.c +@@ -476,7 +476,7 @@ int execmd(CMD *cmd, int k) + return ret; + } + +-void do_auto_scroll() ++void do_auto_scroll(void) + { + static CMD *myscrup = 0; + static CMD *myscrdn = 0; +--- joe-4.6/joe/cmd.h ++++ joe-4.6-prototypes/joe/cmd.h +@@ -42,7 +42,7 @@ void addcmd(const char *s, MACRO *m); + + /* Execute a command. Returns return value of command */ + int execmd(CMD *cmd, int k); +-void do_auto_scroll(); ++void do_auto_scroll(void); + + extern B *cmdhist; /* Command history buffer */ + +--- joe-4.6/joe/kbd.c ++++ joe-4.6-prototypes/joe/kbd.c +@@ -425,7 +425,7 @@ static int dokeymap(W *w,char *s,void *o + return 0; + } + +-static char **get_keymap_list() ++static char **get_keymap_list(void) + { + char **lst = 0; + struct context *c; +--- joe-4.6/joe/main.c ++++ joe-4.6-prototypes/joe/main.c +@@ -95,7 +95,7 @@ time_t cur_time; + time_t timer_macro_delay; + MACRO *timer_macro; + +-MACRO *timer_play() ++MACRO *timer_play(void) + { + cur_time = time(NULL); + if (timer_macro && timer_macro_delay && cur_time >= last_timer_time + timer_macro_delay) { +--- joe-4.6/joe/mouse.c ++++ joe-4.6-prototypes/joe/mouse.c +@@ -136,7 +136,7 @@ int uextmouse(W *w, int k) + return mouse_event(w); + } + +-long mnow() ++long mnow(void) + { + struct timeval tv; + gettimeofday(&tv, NULL); +@@ -245,7 +245,7 @@ static void ttputs64(char *pp, ptrdiff_t + } + } + +-static void ttputs64_flush() ++static void ttputs64_flush(void) + { + char x; + switch (base64_count) { +@@ -449,7 +449,7 @@ int utomouse(W *xx, int k) + * position that utomouse would use into tmspos. */ + static off_t tmspos; + +-static int tomousestay() ++static int tomousestay(void) + { + BW *bw; + ptrdiff_t x = Cx - 1,y = Cy - 1; +@@ -556,7 +556,7 @@ int udefmdown(W *xx, int k) + return 0; + } + +-void reset_trig_time() ++void reset_trig_time(void) + { + if (!auto_rate) + auto_rate = 1; +@@ -761,7 +761,7 @@ int udefm3up(W *w, int k) + return 0; + } + +-void mouseopen() ++void mouseopen(void) + { + #ifdef MOUSE_XTERM + if (usexmouse) { +@@ -774,7 +774,7 @@ void mouseopen() + #endif + } + +-void mouseclose() ++void mouseclose(void) + { + #ifdef MOUSE_XTERM + if (usexmouse) { +--- joe-4.6/joe/mouse.h ++++ joe-4.6-prototypes/joe/mouse.h +@@ -21,12 +21,12 @@ JOE; see the file COPYING. If not, writ + #define MOUSE_MULTI_THRESH 300 + + #ifdef MOUSE_GPM +-int gpmopen(); /* initialize the connection. returns 0 on failure. */ +-void gpmclose(); /* close the connection. */ ++int gpmopen(void); /* initialize the connection. returns 0 on failure. */ ++void gpmclose(void); /* close the connection. */ + #endif + +-void mouseopen(); /* initialize mouse */ +-void mouseclose(); /* de-initialize mouse */ ++void mouseopen(void); /* initialize mouse */ ++void mouseclose(void); /* de-initialize mouse */ + + /* mousedn(int x, int y, int middle) - handle a mouse-down event */ + void mousedn(ptrdiff_t x, ptrdiff_t y, int middle); +@@ -56,8 +56,8 @@ int udefm3drag(W *, int); + int udefmiddledown(W *, int); + int udefmiddleup(W *, int); + +-long mnow(); +-void reset_trig_time(); ++long mnow(void); ++void reset_trig_time(void); + + /* options */ + extern int floatmouse; /* Allow mouse to set cursor past end of lines */ +--- joe-4.6/joe/rc.c ++++ joe-4.6-prototypes/joe/rc.c +@@ -9,7 +9,7 @@ + + /* Validate joerc file */ + +-int validate_rc() ++int validate_rc(void) + { + KMAP *k; + if (!(k = ngetcontext("main")) || kmap_empty(k)) { +--- joe-4.6/joe/rc.h ++++ joe-4.6-prototypes/joe/rc.h +@@ -14,4 +14,4 @@ + int procrc(CAP *cap, char *name); + + /* Validate rc file: return -1 if it's bad (call this after rc file has been loaded) */ +-int validate_rc(); ++int validate_rc(void); +--- joe-4.6/joe/selinux.c ++++ joe-4.6-prototypes/joe/selinux.c +@@ -98,7 +98,7 @@ int match_default_security_context(const + } + + +-int reset_default_security_context() ++int reset_default_security_context(void) + { + #ifdef WITH_SELINUX + if (selinux_enabled == -1) +--- joe-4.6/joe/selinux.h ++++ joe-4.6-prototypes/joe/selinux.h +@@ -1,4 +1,4 @@ + int copy_security_context(const char *from_file, const char *to_file); + int match_default_security_context(const char *from_file); +-int reset_default_security_context(); ++int reset_default_security_context(void); + int output_security_context(const char *from_file); +--- joe-4.6/joe/state.c ++++ joe-4.6-prototypes/joe/state.c +@@ -79,7 +79,7 @@ static void load_hist(FILE *f,B **bp) + + #define STATE_ID "# JOE state file v1.0\n" + +-void save_state() ++void save_state(void) + { + char *home = getenv("HOME"); + mode_t old_mask; +@@ -117,7 +117,7 @@ void save_state() + + /* Load state */ + +-void load_state() ++void load_state(void) + { + char *home = getenv("HOME"); + char buf[1024]; +--- joe-4.6/joe/state.h ++++ joe-4.6-prototypes/joe/state.h +@@ -12,8 +12,8 @@ extern int joe_state; + + /* Load state from file */ + +-void load_state(); ++void load_state(void); + + /* Save state to file */ + +-void save_state(); ++void save_state(void); +--- joe-4.6/joe/syntax.c ++++ joe-4.6-prototypes/joe/syntax.c +@@ -450,7 +450,7 @@ static void iz_cmd(struct high_cmd *cmd) + cmd->call = 0; + } + +-static struct high_cmd *mkcmd() ++static struct high_cmd *mkcmd(void) + { + struct high_cmd *cmd = (struct high_cmd *)joe_malloc(SIZEOF(struct high_cmd)); + iz_cmd(cmd); +--- joe-4.6/joe/tty.c ++++ joe-4.6-prototypes/joe/tty.c +@@ -520,7 +520,7 @@ static void pauseit(void) + + /* Check for type-ahead */ + +-int ttcheck() ++int ttcheck(void) + { + /* Ack previous packet */ + if (ackkbd != -1 && acceptch != NO_MORE_DATA && !have) { +@@ -710,7 +710,7 @@ char ttgetc(void) + + static struct utf8_sm main_utf8_sm; + +-int ttgetch() ++int ttgetch(void) + { + if (locale_map->type) { + int utf8_char; +--- joe-4.6/joe/umath.c ++++ joe-4.6-prototypes/joe/umath.c +@@ -1645,7 +1645,7 @@ B *mathhist = NULL; + + static char **math_word_list; + +-static void get_math_list() ++static void get_math_list(void) + { + struct var *v; + char *s; +--- joe-4.6/joe/unicode.c ++++ joe-4.6-prototypes/joe/unicode.c +@@ -191,7 +191,7 @@ Convenient character classes: + cclass_notword: \W opposite + */ + +-void joe_iswinit() ++void joe_iswinit(void) + { + int x; + +--- joe-4.6/joe/unicode.h ++++ joe-4.6-prototypes/joe/unicode.h +@@ -47,7 +47,7 @@ extern struct Cclass cclass_word[1]; + extern struct Cclass cclass_notword[1]; + extern struct Cclass cclass_combining[1]; + +-void joe_iswinit(); ++void joe_iswinit(void); + + int joe_iswupper(struct charmap *,int c); + int joe_iswlower(struct charmap *,int c); +--- joe-4.6/joe/ushell.c ++++ joe-4.6-prototypes/joe/ushell.c +@@ -114,7 +114,7 @@ static void cfollow(B *b, VT *vt, off_t + } + } + +-void vt_scrdn() ++void vt_scrdn(void) + { + W *w; + if ((w = maint->topwin) != NULL) { +--- joe-4.6/joe/ushell.h ++++ joe-4.6-prototypes/joe/ushell.h +@@ -17,4 +17,4 @@ extern B *runhist; /* Shell command hist + extern B *buildhist; /* Build command history */ + extern B *grephist; /* Grep command history */ + +-void vt_scrdn(); ++void vt_scrdn(void); +--- joe-4.6/joe/utag.c ++++ joe-4.6-prototypes/joe/utag.c +@@ -33,7 +33,7 @@ static void freetag(TAG *n) + enquef(TAG, link, &tagnodes, n); + } + +-static void clrtags() ++static void clrtags(void) + { + while (!qempty(TAG, link, &tags)) { + freetag(deque_f(TAG, link, tags.link.next)); +@@ -386,7 +386,7 @@ static int dotag(W *w, char *s, void *ob + static char **tag_word_list; + static time_t last_update; + +-static void get_tag_list() ++static void get_tag_list(void) + { + char buf[512]; + char tag[512]; +--- joe-4.6/joe/util/checkwidths.c ++++ joe-4.6-prototypes/joe/util/checkwidths.c +@@ -87,7 +87,7 @@ int full_read(unsigned char *p, int tota + + int get_line(char *buf, int timeout) + { +- char c; ++ unsigned char c; + for (;;) { + int x; + for (x = 0; x != timeout; ++x) +@@ -104,7 +104,7 @@ int get_line(char *buf, int timeout) + + } + +-int main() ++int main(int argc, char **argv) + { + struct termios org_attr; + struct termios attr; diff --git a/app-editors/joe/joe-4.6-r2.ebuild b/app-editors/joe/joe-4.6-r2.ebuild new file mode 100644 index 000000000000..61592013752d --- /dev/null +++ b/app-editors/joe/joe-4.6-r2.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools xdg-utils + +DESCRIPTION="A free ASCII-Text Screen Editor for UNIX" +HOMEPAGE="https://sourceforge.net/projects/joe-editor/" +SRC_URI="mirror://sourceforge/joe-editor/${P}.tar.gz" + +LICENSE="GPL-1+ CC-BY-3.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris" +IUSE="xterm" + +DEPEND=">=sys-libs/ncurses-5.2-r2:0=" +RDEPEND="${DEPEND} + xterm? ( >=x11-terms/xterm-239 )" + +PATCHES=( + "${FILESDIR}/${PN}-4.3-tinfo.patch" + "${FILESDIR}/${P}-db.patch" + "${FILESDIR}/${P}-prototypes.patch" +) + +DOCS=( README.md NEWS.md docs/hacking.md docs/man.md ) + +src_prepare() { + default + # Enable xterm mouse support in the rc files + if use xterm; then + pushd "${S}"/rc &>/dev/null || die + local i + for i in *rc*.in; do + sed -e 's/^ -\(mouse\|joexterm\)/-\1/' -i "${i}" || die + done + popd &>/dev/null + fi + eautoreconf +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update + if use xterm; then + elog "To enable full xterm clipboard you need to set the allowWindowOps" + elog "resources to true. This is usually found in /etc/X11/app-defaults/XTerm" + elog "This is false by default due to potential security problems on some" + elog "architectures (see bug #91453)." + fi +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} |