mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-07 05:57:07 -08:00
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>
This commit is contained in:
@@ -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 */
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user