summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/teco')
-rw-r--r--app-editors/teco/files/teco-more-warnings.patch149
-rw-r--r--app-editors/teco/files/teco-void-functions.patch20
-rw-r--r--app-editors/teco/metadata.xml6
-rw-r--r--app-editors/teco/teco-36_p19940820-r1.ebuild (renamed from app-editors/teco/teco-36_p19940820.ebuild)14
4 files changed, 170 insertions, 19 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/metadata.xml b/app-editors/teco/metadata.xml
index 2e545ee8b3f1..63946c6a87e5 100644
--- a/app-editors/teco/metadata.xml
+++ b/app-editors/teco/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>ulm@gentoo.org</email>
- <name>Ulrich Müller</name>
+<maintainer type="project">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
</maintainer>
<longdescription lang="en">
TECO /tee'koh/ /n.,v. obs./ 1. [originally an acronym for `[paper]
diff --git a/app-editors/teco/teco-36_p19940820.ebuild b/app-editors/teco/teco-36_p19940820-r1.ebuild
index d37ed3f84e1f..54833cb9bbb6 100644
--- a/app-editors/teco/teco-36_p19940820.ebuild
+++ b/app-editors/teco/teco-36_p19940820-r1.ebuild
@@ -1,32 +1,32 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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"
+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"
+KEYWORDS="~alpha amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="doc"
RDEPEND="sys-libs/ncurses:0="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}"
-
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() {
@@ -48,7 +48,7 @@ src_install() {
dodoc sample.tecorc sample.tecorc2 READ.ME
use doc && dodoc doc/*
- DOC_CONTENTS="The TECO binary is called te.
+ local DOC_CONTENTS="The TECO binary is called te.
\nSample configurations and documentation are available
in /usr/share/doc/${PF}/."
readme.gentoo_create_doc