diff options
author | Ulrich Müller <ulm@gentoo.org> | 2022-11-21 18:18:01 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2022-11-21 18:19:20 +0100 |
commit | 2ed2e1cfbabf9e75e2dfbc9341a152db254bc19e (patch) | |
tree | afda8ffe2dd7cb4b2bb0c8db1b4e1114c16c9040 /app-editors/teco | |
parent | net-print/hplip-plugin: drop 3.22.4 (diff) | |
download | gentoo-2ed2e1cfbabf9e75e2dfbc9341a152db254bc19e.tar.gz gentoo-2ed2e1cfbabf9e75e2dfbc9341a152db254bc19e.tar.bz2 gentoo-2ed2e1cfbabf9e75e2dfbc9341a152db254bc19e.zip |
app-editors/teco: More offerings to appease the gods of clang
Bump ebuild to EAPI 8 while at it.
Closes: https://bugs.gentoo.org/879041
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'app-editors/teco')
-rw-r--r-- | app-editors/teco/files/teco-more-warnings.patch | 149 | ||||
-rw-r--r-- | app-editors/teco/files/teco-void-functions.patch | 20 | ||||
-rw-r--r-- | app-editors/teco/teco-36_p19940820-r1.ebuild | 59 |
3 files changed, 219 insertions, 9 deletions
diff --git a/app-editors/teco/files/teco-more-warnings.patch b/app-editors/teco/files/teco-more-warnings.patch new file mode 100644 index 000000000000..dd072e6f97eb --- /dev/null +++ b/app-editors/teco/files/teco-more-warnings.patch @@ -0,0 +1,149 @@ +https://bugs.gentoo.org/879041 + +--- teco/te_defs.h ++++ teco/te_defs.h +@@ -320,7 +320,72 @@ + extern char mapch[], mapch_l[]; /* char mapping tables */ + extern unsigned char spec_chars[]; /* special character table */ + +-extern char skipto(), getcmdc(), getcmdc0(); /* routines that return chars */ ++extern void block_inter(int func); ++extern void crlf(void); ++extern void delete1(int nchars); ++extern void dly_free_blist(struct buffcell *p); ++extern void do_ctlp(void); ++extern void do_e(void); ++extern void do_f(void); ++extern void do_o(void); ++extern void do_window(int ref_flag); ++extern void exec_cmds1(void); ++extern void exec_cmdstr(void); ++extern void find_enditer(void); ++extern void free_blist(struct buffcell *p); ++extern void insert1(void); ++extern void insert2(int count); ++extern void kill_output(struct outfiledata *outptr); ++extern void make_buffer(struct qh *p); ++extern void movenchars(struct qp *from, struct qp *to, int n); ++extern void moveuntil(struct qp *from, struct qp *to, char c, ++ int *n, int max, int trace); ++extern void panic(void); ++extern void pop_iteration(int arg); ++extern void retype_cmdstr(char c); ++extern void set_pointer(int pos, struct qp *ptr); ++extern void set_term_par(int lines, int cols); ++extern void set_var(int *arg); ++extern void setup_tty(int arg); ++extern void te_fx(void); ++extern void type_char(char c); ++extern void vt(int func); ++extern void window(int arg); ++extern void write_file(struct qp *wbuff, int nchars, int ffsw); ++extern char getcmdc(int trace); ++extern char getcmdc0(int trace); ++extern char gettty(void); ++extern char skipto(int arg); ++extern int backc(struct qp *arg); ++extern int build_string(struct qh *sbuff); ++extern int do_en(void); ++extern int do_eq(void); ++extern int do_eq1(char *shell); ++extern int do_fb(void); ++extern int do_glob(struct qh *gbuff); ++extern int do_nsearch(char arg); ++extern int do_search(int count); ++extern int end_search(int result); ++extern int fwdc(struct qp *arg); ++extern int fwdcx(struct qp *arg); ++extern int get_value(int d); ++extern int getqspec(int fors, char c); ++extern int gettty_nowait(void); ++extern int line_args(int d, struct qp *p); ++extern int lines(int arg); ++extern int peekcmdc(char arg); ++extern int read_cmdstr(void); ++extern int read_file(struct qp *rbuff, int *nchars, int endsw); ++extern int read_filename(int flag, char func); ++extern int read_stream(FILE *file, int *ff_found, struct qp *rbuff, ++ int *nchars, int endsw, int crlf_sw, int ff_sw); ++extern int setup_search(void); ++extern int srch_cmp(void); ++extern int tgetent(char *bp, const char *name); ++extern int tgetnum(const char *id); ++extern int w_lines(int n, struct qp *ps, struct qp *pd); ++extern int w_setptr(int loc, struct qp *pp); ++extern int w_overflow(int wd); + + extern FILE *eisw; /* indirect command file pointer */ + extern FILE *fopen(); +--- teco/te_exec2.c ++++ teco/te_exec2.c +@@ -8,10 +8,15 @@ + /* version for multiple buffers 04/19/89 11.29 */ + + #include "te_defs.h" ++#include <unistd.h> + #include <sys/wait.h> + #include <sys/types.h> + #include <sys/stat.h> + ++/* these shouldn't be necessary, since we include unistd.h and sys/stat.h */ ++extern int fchmod(int fd, mode_t mode); ++extern pid_t vfork(void); ++ + void do_en_next(), set_var(), write_file(), write_stream(); + void kill_output(), pop_iteration(), find_enditer(), find_endcond(); + +--- teco/te_fxstub.c ++++ teco/te_fxstub.c +@@ -10,7 +10,7 @@ + + #include "te_defs.h" + +-te_fx() ++void te_fx() + { + ERROR(E_IFC); + } +--- teco/te_main.c ++++ teco/te_main.c +@@ -46,6 +46,7 @@ + + void cleanup(), print_string(), save_args(), read_startup(), get_term_par(); + ++int + main(argc, argv) + int argc; /* arg count */ + char *argv[]; /* array of string pointers */ +--- teco/te_rdcmd.c ++++ teco/te_rdcmd.c +@@ -7,6 +7,7 @@ + #include "te_defs.h" + + void retype_cmdstr(char c); ++int find_lasteol(void); + int ccount; /* count of chars read in */ + + int read_cmdstr() +--- teco/te_srch.c ++++ teco/te_srch.c +@@ -156,7 +156,7 @@ + /* routine to do N, _, E_ searches: search, if search fails, then get */ + /* next page and continue */ + +-do_nsearch(arg) ++int do_nsearch(arg) + char arg; /* arg is 'n', '_', or 'e' to define which search */ + { + int scount; /* search count */ +--- teco/te_utils.c ++++ teco/te_utils.c +@@ -144,7 +144,7 @@ + return(1); + } + +-fwdcx(arg) ++int fwdcx(arg) + struct qp *arg; + { + if ((*arg).c >= CELLSIZE-1) /* test char count for max */ diff --git a/app-editors/teco/files/teco-void-functions.patch b/app-editors/teco/files/teco-void-functions.patch index f8a1d7ad346e..ee08d1ace9ea 100644 --- a/app-editors/teco/files/teco-void-functions.patch +++ b/app-editors/teco/files/teco-void-functions.patch @@ -6,7 +6,7 @@ https://bugs.gentoo.org/729254 #define SIGINTMASK 2 #endif -+void crlf(), type_char(); ++void crlf(), type_char(char c); + int lf_sw; /* nonzero: make up a LF following an entered CR */ int ttyflags; /* flags for (stdin) file descriptor */ @@ -178,16 +178,18 @@ https://bugs.gentoo.org/729254 register int icnt; --- teco-orig/te_main.c +++ teco/te_main.c -@@ -44,6 +44,8 @@ +@@ -44,6 +44,10 @@ #include "te_defs.h" -+void cleanup(), print_string(), save_args(), read_startup(), get_term_par(); ++void cleanup(), read_startup(), get_term_par(); ++void print_string(int arg); ++void save_args(int argc, char *argv[], struct qh *q); + main(argc, argv) int argc; /* arg count */ char *argv[]; /* array of string pointers */ -@@ -103,6 +105,7 @@ +@@ -103,6 +107,7 @@ /* reset screen state, keyboard state; remove open output files */ @@ -195,7 +197,7 @@ https://bugs.gentoo.org/729254 cleanup() { window(WIN_OFF); /* restore screen */ -@@ -115,6 +118,7 @@ +@@ -115,6 +120,7 @@ /* print string for error message */ /* argument is subscript of a qreg qh, prints text from that buffer */ @@ -203,7 +205,7 @@ https://bugs.gentoo.org/729254 print_string(arg) int arg; { -@@ -137,6 +141,7 @@ +@@ -137,6 +143,7 @@ /* copy invocation command line to a text buffer */ @@ -211,7 +213,7 @@ https://bugs.gentoo.org/729254 save_args(argc, argv, q) int argc; char *argv[]; -@@ -171,6 +176,7 @@ +@@ -171,6 +178,7 @@ char startup_name[] = "/.tecorc"; /* name of startup file */ @@ -219,7 +221,7 @@ https://bugs.gentoo.org/729254 read_startup() { char *hp, *getenv(); -@@ -192,6 +198,7 @@ +@@ -192,6 +200,7 @@ /* routine to get terminal height and width from termcap */ @@ -233,7 +235,7 @@ https://bugs.gentoo.org/729254 /* version for multiple buffers 04/13/89 10.22 */ #include "te_defs.h" -+void retype_cmdstr(); ++void retype_cmdstr(char c); int ccount; /* count of chars read in */ int read_cmdstr() diff --git a/app-editors/teco/teco-36_p19940820-r1.ebuild b/app-editors/teco/teco-36_p19940820-r1.ebuild new file mode 100644 index 000000000000..8372bb8b385a --- /dev/null +++ b/app-editors/teco/teco-36_p19940820-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs flag-o-matic readme.gentoo-r1 + +DESCRIPTION="Classic TECO editor, Predecessor to EMACS" +HOMEPAGE="https://www.ibiblio.org/pub/linux/apps/editors/tty/ https://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/teco/" +SRC_URI="https://www.ibiblio.org/pub/linux/apps/editors/tty/teco.tar.gz -> ${P}.tar.gz + doc? ( https://dev.gentoo.org/~ulm/distfiles/tecodoc.tar.gz )" +S="${WORKDIR}" + +LICENSE="freedist" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="doc" + +RDEPEND="sys-libs/ncurses:0=" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-double-free.patch + "${FILESDIR}"/${PN}-gcc4.patch + "${FILESDIR}"/${PN}-warnings.patch + "${FILESDIR}"/${PN}-no-common.patch + "${FILESDIR}"/${PN}-void-functions.patch + "${FILESDIR}"/${PN}-more-warnings.patch +) + +src_prepare() { + default + local pkg_config=$("$(tc-getPKG_CONFIG)" --libs ncurses) + sed -i -e "s:\$(CC):& \$(LDFLAGS):;s:-ltermcap:${pkg_config}:" \ + Makefile || die +} + +src_compile() { + append-flags -ansi + append-cppflags -D_POSIX_SOURCE + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" +} + +src_install() { + dobin te + doman te.1 + dodoc sample.tecorc sample.tecorc2 READ.ME + use doc && dodoc doc/* + + local DOC_CONTENTS="The TECO binary is called te. + \nSample configurations and documentation are available + in /usr/share/doc/${PF}/." + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +} |