From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- app-office/sc/Manifest | 10 ++ app-office/sc/files/sc-7.16-amd64.patch | 23 +++++ app-office/sc/files/sc-7.16-c.patch | 147 +++++++++++++++++++++++++++ app-office/sc/files/sc-7.16-lex-syntax.patch | 11 ++ app-office/sc/files/sc-7.16-printf.patch | 102 +++++++++++++++++++ app-office/sc/metadata.xml | 9 ++ app-office/sc/sc-7.16-r1.ebuild | 57 +++++++++++ app-office/sc/sc-7.16-r2.ebuild | 68 +++++++++++++ 8 files changed, 427 insertions(+) create mode 100644 app-office/sc/Manifest create mode 100644 app-office/sc/files/sc-7.16-amd64.patch create mode 100644 app-office/sc/files/sc-7.16-c.patch create mode 100644 app-office/sc/files/sc-7.16-lex-syntax.patch create mode 100644 app-office/sc/files/sc-7.16-printf.patch create mode 100644 app-office/sc/metadata.xml create mode 100644 app-office/sc/sc-7.16-r1.ebuild create mode 100644 app-office/sc/sc-7.16-r2.ebuild (limited to 'app-office/sc') diff --git a/app-office/sc/Manifest b/app-office/sc/Manifest new file mode 100644 index 000000000000..f1017aa4eb5d --- /dev/null +++ b/app-office/sc/Manifest @@ -0,0 +1,10 @@ +AUX sc-7.16-amd64.patch 344 SHA256 f499933fb6128fb00d532f6f0564c531917e9bb62ac2a5d2c3cfa8e57fd87e0b SHA512 321843f521ee5ca0adcaf90796e293e83d8edcde786b133ae1ba2e117a7b77ee5a1cfd74c89359d72bd9fab39e2eb670b775af98badeaea5c91b5bb9d2d422e3 WHIRLPOOL 3a698c26bc55eaed00f1142059d4bc55ae81ebf000d788c3fb775742980448c9f47001dfa0bf063c9b786089c98e376e235ff3665a0c877daaa933d519dd2f4d +AUX sc-7.16-c.patch 4345 SHA256 6c4319599f08694eea621c10d99615268c77a6f75720dfd58e31e9b394826c1f SHA512 a5423dc5eada7d7d5f3e5f514479dde920b01d1e99ee9903b2e19381e4e895881df3b744d37dd5dcbc88e78decafef57e79afae017abe1e68833f8789246aa51 WHIRLPOOL 1fa3e00043c6e5d07601592fcb165a60e0b0652f8390630c5f6a53ba4926c9d5a886ecb0d05447f807231f72d69578a9d1703386ab46ece97cdef1c32e1f084a +AUX sc-7.16-lex-syntax.patch 207 SHA256 c2ff472a955e502f5e604f0883254c377b85b5cc3ab09baf6fbf24139497abf8 SHA512 d4f6673a51f27034deb38595cd5a7ccb3a4027f14a9697b22b0d59763c6dd9df61e81d8749013f0eb9add370d9fdef4370c26e39d67d24b8573f93b600713a2a WHIRLPOOL 3091537ecf0b57ff5a2873b46faf9c40e3a617ec02b92feca292abb04687db27a2af5c72bcb86b76b43079b9d4072403c9e51413f10d652a0d5e67e1ee36b170 +AUX sc-7.16-printf.patch 3242 SHA256 bca3a0a0e890282083c8ac89e40a1c37439f74be83171dbd5a0a8ae1d8bd9bb7 SHA512 2ad30d2394256ec1c740565507c5672d37d0380a3e2b619fdddff65749e03c57bb3b1a9d08b962751120aa063b39f3042b29906a6819076c1777c726d903791b WHIRLPOOL 07239f5957c0f5e03196eea2bdf9b4a90c74cf37e9c93a22ddb85416c23dcefcb4bf820bc6012d997cfa1ba359af430fbb7828f5d78c0c0392dffb5711eb0391 +DIST sc-7.16.tar.gz 210809 SHA256 1997a00b6d82d189b65f6fd2a856a34992abc99e50d9ec463bbf1afb750d1765 SHA512 efa495ba21d01b578a53f09101ccc28b564437317e0860904ad59136a24df9619dfc8715339296ae1567eaa8d620cdabc9bc2784962bc1c93e3bbd086856407b WHIRLPOOL 2fa2f9fba21ab1e281d73367f5879edb90023126108573b737a0836efdd6294eaaa54a574f124311d9e1556dc97c469cc4cdd760942a45f81563dd290730d92b +EBUILD sc-7.16-r1.ebuild 1390 SHA256 0981058b39dc0ccb7d659af23001e066db6fe377d6416f5ab4ea3bbc320177fc SHA512 2048804999b3dc18291d46d7e808a3ea7a6cf86e69cf9b5ebd18dcf66e7b1c551997030429cabd1cc53ad477add853c552a83de98a7e6579b5de779090b1aceb WHIRLPOOL 8eda645e0055fae432dc366bce16c7e5704e739af565436a4090d808f243c722c35da24aa69ad4d1ffa955211a1371234cbdbb48e9e87b9679bef505a9fb8e7a +EBUILD sc-7.16-r2.ebuild 1393 SHA256 e50ad3420caa457567b7889322b06c9fa27092adff9bb4615094adaf32b83c6a SHA512 e81b51073d8a7b0ffc66fc9cb6d2abbd23a12480bef111007d04774c99a9644208b2804536a41f8f937d02da334c7599331f33ac27039e6e461417ac4a589e27 WHIRLPOOL 939afb6f0308c4958f1dfaf1a452871195ce1b18716c4f6b8c7b8f327f7a7e40b654dc1bc779154041735ff6caf66aae7894968fe0388520284e29223e1fcbdc +MISC ChangeLog 5023 SHA256 24efbbea4440b48592c219a368f906b7bce1ac05fdb69af23e3fdede93310b3d SHA512 19b6cc1fed4f742932fc04f3f0be30c34b07686a5765c950acd318880105cc526aa58fdcf7842512eee20fcc947aeefea26087b0f1952cef0516101d1e116a90 WHIRLPOOL 98a26137adae4cbb24489758cd1ece880c8ee0020b51741af6d34e980f83cb6de2974b0eefb59d5296fd2f9ee1d519a4bf27a60c06445f63013b42d475ddbcd5 +MISC ChangeLog-2015 3425 SHA256 d67713587b8fe06bdcd5bf96adc895ff17ca886cabf947714772b0d0663e9fea SHA512 837294e9b1346d39a6c54c48c0961924d3b665fcf5b4c0816654bf8803c6746176fd9d6dcaf15e5e9ab19d8dbe730e89d08dc8efc8fc7d49d17106eb170e6080 WHIRLPOOL 7a485693890606fcb039966e384986da60a02f275c1fdfff311ec9691385c7b2224307fff72cad121e69aec15839d515d1499ef944185e5cf88927134f3fc464 +MISC metadata.xml 305 SHA256 e71271e00d72e19bff62f7b6d8c85714c9af8e4768dcd2f7339d519e0ada8334 SHA512 b023b745f213339706f73ad2404536ce259461346d33a182aed31d9f7904fc8e392629794561f133953cbe22010b1e2b41caeee56472a6ecda0444f6594317d8 WHIRLPOOL cc25a58315b7468e547c915cf747cd8125cf3dab944f01452a3485522014ab9fb17f7e68990125c5b9f643ed048e7e9d6d64bd4e4b45075b1a6b12be97d9f0ed diff --git a/app-office/sc/files/sc-7.16-amd64.patch b/app-office/sc/files/sc-7.16-amd64.patch new file mode 100644 index 000000000000..e381609011bb --- /dev/null +++ b/app-office/sc/files/sc-7.16-amd64.patch @@ -0,0 +1,23 @@ +--- a/xmalloc.c ++++ b/xmalloc.c +@@ -3,19 +3,12 @@ + * $Revision: 7.16 $ + */ + ++#include + #include + #include "sc.h" + +-extern char *malloc(); +-extern char *realloc(); +-extern void free(); + void fatal(); + +-#ifdef SYSV3 +-extern void free(); +-extern void exit(); +-#endif +- + #define MAGIC (double)1234567890.12344 + + char * diff --git a/app-office/sc/files/sc-7.16-c.patch b/app-office/sc/files/sc-7.16-c.patch new file mode 100644 index 000000000000..fd4f06f9f8c8 --- /dev/null +++ b/app-office/sc/files/sc-7.16-c.patch @@ -0,0 +1,147 @@ +--- a/abbrev.c ++++ b/abbrev.c +@@ -122,7 +122,7 @@ + del_abbr(char *abbrev) + { + struct abbrev *a; +- struct abbrev **prev; ++ struct abbrev **prev = NULL; + + if (!(a = find_abbr(abbrev, strlen(abbrev), prev))) + return; +--- a/help.c ++++ b/help.c +@@ -14,6 +14,10 @@ + #include "sc.h" + #endif /* QREF */ + ++#ifdef TROFF ++#include ++#endif /* TROFF */ ++ + char *intro[] = { + " ", + #if defined(QREF) && defined(TROFF) +--- a/lex.c ++++ b/lex.c +@@ -27,6 +27,8 @@ + + #ifdef IEEE_MATH + #include ++#else ++#include + #endif /* IEEE_MATH */ + + #include +--- a/sc.h ++++ b/sc.h +@@ -14,6 +14,9 @@ + #include + #endif + ++#include ++#include ++ + #define ATBL(tbl, row, col) (*(tbl + row) + (col)) + + #define MINROWS 100 /* minimum size at startup */ +@@ -390,6 +393,7 @@ + extern char *v_name(int row, int col); + extern double eval(register struct enode *e); + extern int any_locked_cells(int r1, int c1, int r2, int c2); ++extern int are_abbrevs(); + extern int are_colors(); + extern int are_frames(); + extern int are_ranges(); +@@ -425,6 +429,7 @@ + extern struct crange *find_crange(int row, int col); + extern struct frange *find_frange(int row, int col); + extern void EvalAll(); ++extern void add_abbr(char *string); + extern void add_crange(struct ent *r_left, struct ent *r_right, int pair); + extern void add_frange(struct ent *or_left, struct ent *or_right, + struct ent *ir_left, struct ent *ir_right, int toprows, int bottomrows, +@@ -434,6 +439,7 @@ + extern void addplugin(char *ext, char *plugin, char type); + extern void backcol(int arg); + extern void backrow(int arg); ++extern void center(int sr, int sc, int er, int ec); + extern void change_color(int pair, struct enode *e); + extern void checkbounds(int *rowp, int *colp); + extern void clearent(struct ent *v); +@@ -456,9 +462,12 @@ + extern void diesave(); + extern void doend(int rowinc, int colinc); + extern void doformat(int c1, int c2, int w, int p, int r); ++extern void dogetkey(); + extern void dupcol(); + extern void duprow(); + extern void doquery(char *s, char *data, int fd); ++extern void doeval(struct enode *e, char *fmt, int row, int col, int fd); ++extern void doseval(struct enode *e, int row, int col, int fd); + extern void dostat(int fd); + extern void dotick(int tick); + extern void editexp(int row, int col); +@@ -486,11 +495,14 @@ + extern void free_ent(register struct ent *p, int unlock); + extern void getexp(int r0, int c0, int rn, int cn, int fd); + extern void getfmt(int r0, int c0, int rn, int cn, int fd); ++extern void getframe(int fd); + extern void getformat(int col, int fd); + extern void getnum(int r0, int c0, int rn, int cn, int fd); ++extern void getrange(char *name, int fd); + extern void getstring(int r0, int c0, int rn, int cn, int fd); + extern void go_last(); + extern void goraw(); ++extern void gotonote(); + extern void help(); + extern void hide_col(int arg); + extern void hide_row(int arg); +@@ -507,6 +519,8 @@ + extern void label(register struct ent *v, register char *s, int flushdir); + extern void let(struct ent *v, struct enode *e); + extern void list_colors(FILE *f); ++extern void ljustify(int sr, int sc, int er, int ec); ++extern void list_frames(FILE *f); + extern void list_ranges(FILE *f); + extern void lock_cells(struct ent *v1, struct ent *v2); + extern void markcell(); +@@ -523,6 +537,7 @@ + extern void read_hist(); + extern void remember(int save); + extern void resetkbd(); ++extern void rjustify(int sr, int sc, int er, int ec); + extern void rowshow_op(); + extern void scxfree(char *p); + extern void setauto(int i); +@@ -560,6 +575,9 @@ + extern void write_line(int c); + extern void write_ranges(FILE *f); + extern void yank_area(int sr, int sc, int er, int ec); ++extern void yankcol(int arg); ++extern void yankr(struct ent *v1, struct ent *v2); ++extern void yankrow(int arg); + extern void yyerror(char *err); + extern int yylex(); + extern int yyparse(); +--- a/screen.c ++++ b/screen.c +@@ -870,7 +870,7 @@ + } + } /* else */ + } else +- if (!*pp && color && has_colors && cr && cr->r_color != 1) { ++ if (!*pp && color && has_colors() && cr && cr->r_color != 1) { + move(r, c); + color_set(cr->r_color, NULL); + printw("%*s", fwidth[col], " "); +--- a/vi.c ++++ b/vi.c +@@ -5,6 +5,7 @@ + */ + + #include ++#include + #ifdef BSD42 + #include + #else diff --git a/app-office/sc/files/sc-7.16-lex-syntax.patch b/app-office/sc/files/sc-7.16-lex-syntax.patch new file mode 100644 index 000000000000..9dcb46f25f83 --- /dev/null +++ b/app-office/sc/files/sc-7.16-lex-syntax.patch @@ -0,0 +1,11 @@ +--- a/lex.c ++++ b/lex.c +@@ -107,7 +107,7 @@ + yylex() + { + char *p = line + linelim; +- int ret; ++ int ret = 0; + static int isfunc = 0; + static bool isgoto = 0; + static bool colstate = 0; diff --git a/app-office/sc/files/sc-7.16-printf.patch b/app-office/sc/files/sc-7.16-printf.patch new file mode 100644 index 000000000000..9425105262b0 --- /dev/null +++ b/app-office/sc/files/sc-7.16-printf.patch @@ -0,0 +1,102 @@ +--- a/sc.c ++++ b/sc.c +@@ -520,7 +520,7 @@ + break; + } + } +- if (redraw) printf(redraw); ++ if (redraw) printf("%s", redraw); + exit (0); + } + +--- a/gram.y ++++ b/gram.y +@@ -1010,7 +1010,7 @@ + | S_PLUGOUT STRING '=' STRING + { addplugin($2, $4, 'w'); } + | PLUGIN { *line = '|'; +- sprintf(line + 1, $1); ++ sprintf(line + 1, "%s", $1); + readfile(line, 0); + scxfree($1); } + | /* nothing */ +--- a/vmtbl.c ++++ b/vmtbl.c +@@ -61,10 +61,10 @@ + oldptr = newptr /* wait incase we can't alloc */ + + #ifndef PSC +-static char nolonger[] = "The table can't be any longer"; ++#define NOLONGER "The table can't be any longer" + #endif /* !PSC */ + +-static char nowider[] = "The table can't be any wider"; ++#define NOWIDER "The table can't be any wider" + + /* + * grow the main && auxiliary tables (reset maxrows/maxcols as needed) +@@ -117,7 +117,7 @@ + if ((rowcol == GROWCOL) || (rowcol == GROWBOTH)) { + if ((rowcol == GROWCOL) && ((maxcols == ABSMAXCOLS) || + (topcol >= ABSMAXCOLS))) { +- error(nowider); ++ error(NOWIDER); + return (FALSE); + } + +@@ -135,14 +135,14 @@ + struct ent *** lnullit; + int lcnt; + +- GROWALLOC(row_hidden2, row_hidden, newrows, char, nolonger); ++ GROWALLOC(row_hidden2, row_hidden, newrows, char, NOLONGER); + memset(row_hidden+maxrows, 0, (newrows-maxrows)*sizeof(char)); + + /* + * alloc tbl row pointers, per net.lang.c, calloc does not + * necessarily fill in NULL pointers + */ +- GROWALLOC(tbl2, tbl, newrows, struct ent **, nolonger); ++ GROWALLOC(tbl2, tbl, newrows, struct ent **, NOLONGER); + for (lnullit = tbl+maxrows, lcnt = 0; lcnt < newrows-maxrows; + lcnt++, lnullit++) + *lnullit = (struct ent **)NULL; +@@ -151,16 +151,16 @@ + #endif /* !PSC */ + + if ((rowcol == GROWCOL) || (rowcol == GROWBOTH) || (rowcol == GROWNEW)) { +- GROWALLOC(fwidth2, fwidth, newcols, int, nowider); +- GROWALLOC(precision2, precision, newcols, int, nowider); +- GROWALLOC(realfmt2, realfmt, newcols, int, nowider); ++ GROWALLOC(fwidth2, fwidth, newcols, int, NOWIDER); ++ GROWALLOC(precision2, precision, newcols, int, NOWIDER); ++ GROWALLOC(realfmt2, realfmt, newcols, int, NOWIDER); + #ifdef PSC + memset(fwidth+maxcols, 0, (newcols-maxcols)*sizeof(int)); + memset(precision+maxcols, 0, (newcols-maxcols)*sizeof(int)); + memset(realfmt+maxcols, 0, (newcols-maxcols)*sizeof(int)); + } + #else +- GROWALLOC(col_hidden2, col_hidden, newcols, char, nowider); ++ GROWALLOC(col_hidden2, col_hidden, newcols, char, NOWIDER); + memset(col_hidden+maxcols, 0, (newcols-maxcols)*sizeof(char)); + for (i = maxcols; i < newcols; i++) { + fwidth[i] = DEFWIDTH; +@@ -172,7 +172,7 @@ + for (i = 0; i < maxrows; i++) { + if ((tbl[i] = (struct ent **)scxrealloc((char *)tbl[i], + (unsigned)(newcols * sizeof(struct ent **)))) == (struct ent **)0) { +- error(nowider); ++ error(NOWIDER); + return(FALSE); + } + for (nullit = ATBL(tbl, i, maxcols), cnt = 0; +@@ -190,7 +190,7 @@ + for (; i < newrows; i++) { + if ((tbl[i] = (struct ent **)scxmalloc((unsigned)(newcols * + sizeof(struct ent **)))) == (struct ent **)0) { +- error(nowider); ++ error(NOWIDER); + return(FALSE); + } + for (nullit = tbl[i], cnt = 0; cnt < newcols; cnt++, nullit++) diff --git a/app-office/sc/metadata.xml b/app-office/sc/metadata.xml new file mode 100644 index 000000000000..dc41733bdb11 --- /dev/null +++ b/app-office/sc/metadata.xml @@ -0,0 +1,9 @@ + + + + + +sc is a free curses-based spreadsheet program that uses key bindings similar to +vi and less + + diff --git a/app-office/sc/sc-7.16-r1.ebuild b/app-office/sc/sc-7.16-r1.ebuild new file mode 100644 index 000000000000..46a5705bfb3b --- /dev/null +++ b/app-office/sc/sc-7.16-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="Spreadsheet Calculator" +SRC_URI="ftp://ibiblio.org/pub/Linux/apps/financial/spreadsheet/${P}.tar.gz" +HOMEPAGE="http://ibiblio.org/pub/Linux/apps/financial/spreadsheet/" + +SLOT="0" +LICENSE="public-domain" +KEYWORDS="amd64 ppc sparc x86" + +COMMON_DEPEND=">=sys-libs/ncurses-5.2" +DEPEND="virtual/pkgconfig" +RDEPEND=" + ${COMMON_DEPEND} + !dev-lang/stratego" + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-amd64.patch \ + "${FILESDIR}"/${P}-lex-syntax.patch + + sed -i \ + -e "/^prefix=/ s:/usr:${D}/usr:" \ + -e "/^MANDIR=/ s:${prefix}/man:${prefix}/share/man:" \ + -e "/^LIBDIR=/ s:${prefix}/lib:${prefix}/$(get_libdir):" \ + -e '/^LIB=/s|-lncurses|$(shell ${PKG_CONFIG} --libs ncurses)|g' \ + -e "/^CC=/ s:gcc:$(tc-getCC):" \ + -e "/^CFLAGS/ s:=-DSYSV3 -O2 -pipe:+=-DSYSV3:" \ + -e "/strip/ s:^:#:g" \ + Makefile || die + +} + +src_compile() { + tc-export PKG_CONFIG + # no autoconf + emake prefix="${D}"/usr || die +} + +src_install () { + # yes the makefile is so dumb it can't even make it's own dirs + dodir /usr/bin + dodir /usr/$(get_libdir)/sc + dodir /usr/share/man/man1 + emake install + + sed -i -e "s:${D}::g" sc.1 || die + doman sc.1 psc.1 + + dodoc CHANGES README sc.doc psc.doc tutorial.sc + dodoc VMS_NOTES ${P}.lsm TODO SC.MACROS +} diff --git a/app-office/sc/sc-7.16-r2.ebuild b/app-office/sc/sc-7.16-r2.ebuild new file mode 100644 index 000000000000..aaa70d2052d7 --- /dev/null +++ b/app-office/sc/sc-7.16-r2.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit eutils multilib toolchain-funcs + +DESCRIPTION="Spreadsheet Calculator" +SRC_URI="ftp://ibiblio.org/pub/Linux/apps/financial/spreadsheet/${P}.tar.gz" +HOMEPAGE="http://ibiblio.org/pub/Linux/apps/financial/spreadsheet/" + +SLOT="0" +LICENSE="public-domain" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" + +COMMON_DEPEND=" + >=sys-libs/ncurses-5.2 +" +DEPEND=" + virtual/pkgconfig +" +RDEPEND=" + ${COMMON_DEPEND} +" + +PATCHES=( + "${FILESDIR}"/${P}-amd64.patch + "${FILESDIR}"/${P}-lex-syntax.patch + "${FILESDIR}"/${P}-c.patch + "${FILESDIR}"/${P}-printf.patch +) + +src_prepare() { + default + + sed -i \ + -e "/^prefix=/ s:/usr:${D}/usr:" \ + -e "/^MANDIR=/ s:${prefix}/man:${prefix}/share/man:" \ + -e "/^LIBDIR=/ s:${prefix}/lib:${prefix}/$(get_libdir):" \ + -e '/^LIB=/s|-lncurses|$(shell ${PKG_CONFIG} --libs ncurses)|g' \ + -e "/^CC=/ s:gcc:$(tc-getCC):" \ + -e "/^CFLAGS/ s:=-DSYSV3 -O2 -pipe:+=-DSYSV3:" \ + -e "/strip/ s:^:#:g" \ + Makefile || die + + eapply_user +} + +src_compile() { + tc-export PKG_CONFIG + # no autoconf + emake prefix="${D}"/usr + + emake ${PN}.1 + sed -i -e "s:${D}::g" sc.1 || die +} + +src_install () { + dodir /usr/bin + dodir /usr/$(get_libdir)/sc + dodir /usr/share/man/man1 + + emake install + + doman sc.1 psc.1 + + dodoc CHANGES README tutorial.sc + dodoc VMS_NOTES ${P}.lsm TODO SC.MACROS +} -- cgit v1.2.3