summaryrefslogtreecommitdiff
path: root/sys-apps/heirloom-tools
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/heirloom-tools')
-rw-r--r--sys-apps/heirloom-tools/Manifest11
-rw-r--r--sys-apps/heirloom-tools/files/heirloom-tools-070715-gcc-10.patch278
-rw-r--r--sys-apps/heirloom-tools/files/heirloom-tools-070715-glibc-2.30.patch13
-rw-r--r--sys-apps/heirloom-tools/files/heirloom-tools-070715-glibc-2.31.patch41
-rw-r--r--sys-apps/heirloom-tools/files/heirloom-tools-070715-major.patch70
-rw-r--r--sys-apps/heirloom-tools/files/heirloom-tools-070715-makefile.patch16
-rw-r--r--sys-apps/heirloom-tools/heirloom-tools-070715-r1.ebuild57
-rw-r--r--sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild82
-rw-r--r--sys-apps/heirloom-tools/heirloom-tools-070715.ebuild41
-rw-r--r--sys-apps/heirloom-tools/metadata.xml5
10 files changed, 505 insertions, 109 deletions
diff --git a/sys-apps/heirloom-tools/Manifest b/sys-apps/heirloom-tools/Manifest
index 44efd1399599..69fdf499dff2 100644
--- a/sys-apps/heirloom-tools/Manifest
+++ b/sys-apps/heirloom-tools/Manifest
@@ -1,5 +1,8 @@
-AUX heirloom-tools-070715-major.patch 464 BLAKE2B 7fa6c9feee0bdbda9199791369ab3565250960f08e42b4a7b8b3e9afbe0af8bf08b1c3766cb69a3f822435e1d691036899419f3cfccf8e1657483adf0197fd51 SHA512 65659c579f99c85187b001be0fea5b04e4e0b319a1791e9219127b2fdab7bb0e390d15b4f76a43d32c37695a6255e1e30ebb5274eb824535a50c6d2b429b856c
+AUX heirloom-tools-070715-gcc-10.patch 7828 BLAKE2B aa08af9904aa1ef031f7b89fa527dee975295d59534bcb98e5db5ea4affd8c022f988caad8a502c332489fda102d17b7bbc7f6df766d8c515f9a1be984fcf977 SHA512 64b75e38585a24c4c854967b0e21bfedbd23d90218ff524f371c74d94e3d05038b140dda4aa23fdbbce64d99b63b80fa4e9895a3aa902903de75d66ca98dfc54
+AUX heirloom-tools-070715-glibc-2.30.patch 376 BLAKE2B 195c37e1d707d05ac85825a51ded198112bd0595d61697c32eed2912a1208c951d5a68ea14a9fcf033aef0a9b7c63ea8efd519d69fd777c81d9bdb8d29a60e28 SHA512 f39a6cc84060e462aa54c2492346b376a42158391bd57c66ee7a5a9922aa8b419ad9bb77f970840cf6b84055500f0f84c3420edd48bbd4ffc49ff747609caceb
+AUX heirloom-tools-070715-glibc-2.31.patch 964 BLAKE2B c235d9c4d035c19617a1bdd403b325e72e692873ee6615b68349d3d6306394dc6783525e7f08f27399876185102a76643c82fec50e5abb16c597a7e391751b00 SHA512 41f651804735fc0992ac07bd549f9a895cfc35ae4de5ff1580826f71ba3e9b1467a9f694edeb6377a2fd4d59c5223b38cfa435279e510a790e6a37cce3f4b307
+AUX heirloom-tools-070715-major.patch 2104 BLAKE2B 88a602e587dc8376e8eb8198308e64a05db642b596e89b8087b30a2d6d16102b18f0b033cce4c1a4711a8ebcbd4a508139a7fb098b1cdcc292ef63d183bbc576 SHA512 7cee022491768031d413a8854a05a34cdbb6061fe30fa8514072efd0056614218e989c3e03fe771ae79a022085460f8bcdbb147fac0dcc6d97ab49703eaa98de
+AUX heirloom-tools-070715-makefile.patch 581 BLAKE2B a74613af222aff0ec7e6e3e1c012bd444a0a1d74e9caa9ac6ee7b3175641f81966527d24dd2d67b88921943579b591e9f2f735bc427f0c8bfa66977078b2d537 SHA512 ab45b3feca27ad855e535ebae77537572b9d1b6b00bd7f973521d477e962691e56ec67ce5d900980b084758643d85db5af790447411374b488f6c440852cdf71
DIST heirloom-070715.tar.bz2 1000080 BLAKE2B 8719e38b7e260b0ecb9d055672e0097954eee31acd6cde8c582f82055a3b7f66511bf3c876309d0e74a8c29ac334b58ed81c56df26d1b9c065994bd353affd20 SHA512 0b30b0f4c4c92a10ee2da263ea44666f445d96bac86ca4afb7bbb50d8278986e4145a7bcdf3ed9f75611bb956e93e16fc0e19874498ce3ae1a00e6fbb4f910c9
-EBUILD heirloom-tools-070715-r1.ebuild 1362 BLAKE2B 5f101f00c501378b7d30f57805bf86a26e796059570754d21995d166a329927fd4ff6ef87b8c08dc395dfd74058697841b481667846858e2d8db5b4037ccf1b6 SHA512 04db878021350370f7f92dc55a954aa3568a3b5087d1e1ac52ff79d55f05373c7c651e9cfb8bb13ea3a0dcbe305bc4fc3fc58a2fa08260583a181c106d8eee5c
-EBUILD heirloom-tools-070715.ebuild 1007 BLAKE2B fde4796592e2929ab553f88dd1df6aa3a79dc0d7a75a3d4f15d89ddf8f863332d72576b08b20e9af808595c80718fa6720bded25e94db43716e6cab9744417e6 SHA512 bddb8d5891fb50001b78aeb80174bba71a17b772dcbf29e30cf2c05f9d74cea72bd529f8cfc740a2e7df3af21675b15df096186c4112a7291067b988e7fbe131
-MISC metadata.xml 325 BLAKE2B 083bcce163b0fba94ccbabdf2eedf1e9681c26d079438db220c0af26ba3a36169302476853bb42165e436bd8466678ce9f46f95d01df39e6e541d6c65d13d969 SHA512 54940bbe65218aceba90442526963ae60b9132d253d71d672d6e7fbef47de99b50249925b39702d0a1f1283cc57ccf91dfe9dd1dcfb88930176752ad46742d62
+EBUILD heirloom-tools-070715-r3.ebuild 2108 BLAKE2B 226a4dd961a0c3661bfef0da002d04ed9702aac249a1730aa0da5a1452a7a5a40b536fcc69acd090c4f1fa86e4a85581bfa7e4a74a2874e81d817c9cf4fe9b8f SHA512 70f403b00bfffacd55750569f3fb23eaa41d8a43c8e3b0373106bdc1f6a5e0cb190f18fc8955893dba4db1271f9467991b6040bb23d1faa89b4338762d53d881
+MISC metadata.xml 245 BLAKE2B 47a82b79d52e71358e03914aba8d070a655449fec0e7a7285c93eae422f8b5f0e76cabd1decbf65192e4a3e4b97b677fe91d3ba89f26722a626b3f1927b91669 SHA512 33eb3d3f6130c2ddc9f443f89eea14440472c13e005e97ed283db7e365875d2b911b3e1d62f65f63eff15eade03d35f0874f123bdbd54ff4cd7df606a990639c
diff --git a/sys-apps/heirloom-tools/files/heirloom-tools-070715-gcc-10.patch b/sys-apps/heirloom-tools/files/heirloom-tools-070715-gcc-10.patch
new file mode 100644
index 000000000000..ce0c2bdc5be5
--- /dev/null
+++ b/sys-apps/heirloom-tools/files/heirloom-tools-070715-gcc-10.patch
@@ -0,0 +1,278 @@
+--- a/cpio/cpio.c
++++ b/cpio/cpio.c
+@@ -748,6 +748,7 @@ static struct stat globst;
+ */
+ #define SANELIMIT 0177777
+
++enum fmttype fmttype;
+ char *progname; /* argv[0] to main() */
+ static struct dslot *devices; /* devices table */
+ static struct dslot *markeddevs; /* unusable device numbers */
+@@ -826,6 +827,9 @@ static int compressed_bar; /* this is a compressed bar archive */
+ static int formatforced; /* -k -i -Hfmt forces a format */
+ static long long lineno; /* input line number */
+
++enum pax pax;
++enum pax_preserve pax_preserve;
++
+ int pax_dflag; /* directory matches only itself */
+ int pax_kflag; /* do not overwrite files */
+ int pax_nflag; /* select first archive member only */
+--- a/cpio/cpio.h
++++ b/cpio/cpio.h
+@@ -31,7 +31,7 @@
+ #include <sys/stat.h>
+ #include <inttypes.h>
+
+-enum {
++enum fmttype {
+ FMT_NONE = 00000000, /* no format chosen yet */
+
+ TYP_PAX = 00000010, /* uses pax-like extended headers */
+@@ -70,7 +70,8 @@ enum {
+ FMT_BAR = 00400001, /* bar format type */
+
+ FMT_ZIP = 01000000 /* zip format */
+-} fmttype;
++};
++extern enum fmttype fmttype;
+
+ /*
+ * Zip compression method.
+@@ -173,11 +174,12 @@ extern int printsev;
+ extern char *progname;
+ extern struct glist *patterns;
+
+-enum { /* type of pax command this is */
++enum pax { /* type of pax command this is */
+ PAX_TYPE_CPIO = 0, /* not a pax command */
+ PAX_TYPE_PAX1992 = 1, /* POSIX.2 pax command */
+ PAX_TYPE_PAX2001 = 2 /* POSIX.1-2001 pax command */
+-} pax;
++};
++extern enum pax pax;
+ extern int pax_dflag;
+ extern int pax_kflag;
+ extern int pax_nflag;
+@@ -185,14 +187,15 @@ extern int pax_sflag;
+ extern int pax_uflag;
+ extern int pax_Xflag;
+
+-enum {
++enum pax_preserve {
+ PAX_P_NONE = 0000,
+ PAX_P_ATIME = 0001,
+ PAX_P_MTIME = 0004,
+ PAX_P_OWNER = 0010,
+ PAX_P_MODE = 0020,
+ PAX_P_EVERY = 0400
+-} pax_preserve;
++};
++extern enum pax_preserve pax_preserve;
+
+ extern size_t (*ofiles)(char **, size_t *);
+ extern void (*prtime)(time_t);
+--- a/tabs/tabspec.c
++++ b/tabs/tabspec.c
+@@ -36,6 +36,8 @@
+ #include <blank.h>
+ #include "tabspec.h"
+
++enum taberrno taberrno;
++
+ static const struct {
+ const char *c_nam;
+ const char *c_str;
+--- a/tabs/tabspec.h
++++ b/tabs/tabspec.h
+@@ -34,14 +34,15 @@ struct tabulator {
+ int t_rep; /* repetitive tab count */
+ };
+
+-enum {
++enum taberrno {
+ TABERR_NONE,
+ TABERR_CANTOP, /* can't open */
+ TABERR_FILIND, /* file indirection */
+ TABERR_UNKTAB, /* unknown tab code */
+ TABERR_ILLINC, /* illegal increment */
+ TABERR_ILLTAB /* illegal tabs */
+-} taberrno;
++};
++extern enum taberrno taberrno;
+
+ extern void *scalloc(size_t nmemb, size_t size);
+ extern struct tabulator *tabstops(const char *s, int cols);
+--- a/diff/diff.c
++++ b/diff/diff.c
+@@ -92,6 +92,23 @@ static void usage(void);
+ static void xadd(const char *);
+ static void Xadd(const char *);
+
++char *ifdef1;
++char *ifdef2;
++int wantelses;
++char *file1, *file2;
++char *tempfile1, *tempfile2;
++char **diffargv;
++struct stat stb1, stb2;
++jmp_buf recenv;
++const char *start;
++struct xclusion *xflag;
++struct stackblk *curstack;
++int hflag,tflag,aflag,lflag,Nflag,sflag,rflag,Bflag,iflag,wflag,bflag,pflag;
++int mb_cur_max;
++int opt;
++int context;
++int status;
++
+ int
+ main(int argc, char **argv)
+ {
+--- a/diff/diff.h
++++ b/diff/diff.h
+@@ -106,7 +106,7 @@
+ /*
+ * Output format options
+ */
+-int opt;
++extern int opt;
+
+ #define D_NORMAL 0 /* Normal output */
+ #define D_EDIT -1 /* Editor script out */
+@@ -117,66 +117,66 @@ int opt;
+ lines and no trailing . */
+ #define D_UNIFIED 5 /* Unified diff */
+
+-int aflag; /* diff binary files */
+-int tflag; /* expand tabs on output */
+-int pflag; /* show surrounding C function */
++extern int aflag; /* diff binary files */
++extern int tflag; /* expand tabs on output */
++extern int pflag; /* show surrounding C function */
+
+ /*
+ * Algorithm related options
+ */
+-int hflag; /* -h, use halfhearted DIFFH */
+-int bflag; /* ignore blanks in comparisons */
+-int wflag; /* totally ignore blanks in comparisons */
+-int iflag; /* ignore case in comparisons */
+-int Bflag; /* ignore changes that consist of blank lines */
++extern int hflag; /* -h, use halfhearted DIFFH */
++extern int bflag; /* ignore blanks in comparisons */
++extern int wflag; /* totally ignore blanks in comparisons */
++extern int iflag; /* ignore case in comparisons */
++extern int Bflag; /* ignore changes that consist of blank lines */
+
+ /*
+ * Options on hierarchical diffs.
+ */
+-int lflag; /* long output format with header */
+-int rflag; /* recursively trace directories */
+-int sflag; /* announce files which are same */
+-int Nflag; /* write text of nonexistant files */
+-const char *start; /* do file only if name >= this */
++extern int lflag; /* long output format with header */
++extern int rflag; /* recursively trace directories */
++extern int sflag; /* announce files which are same */
++extern int Nflag; /* write text of nonexistant files */
++extern const char *start; /* do file only if name >= this */
+
+ struct xclusion {
+ struct xclusion *x_nxt;
+ const char *x_pat;
+-} *xflag; /* patterns to exclude from comparison */
++};
++extern struct xclusion *xflag; /* patterns to exclude from comparison */
+
+ /*
+ * Variables for -I D_IFDEF option.
+ */
+-int wantelses; /* -E */
+-char *ifdef1; /* String for -1 */
+-char *ifdef2; /* String for -2 */
+-char *endifname; /* What we will print on next #endif */
+-int inifdef;
++extern int wantelses; /* -E */
++extern char *ifdef1; /* String for -1 */
++extern char *ifdef2; /* String for -2 */
+
+ /*
+ * Variables for -c context option.
+ */
+-int context; /* lines of context to be printed */
++extern int context; /* lines of context to be printed */
+
+ /*
+ * State for exit status.
+ */
+-int status;
+-int anychange;
+-char *tempfile1; /* used when comparing against std input */
+-char *tempfile2; /* used when comparing against std input */
++extern int status;
++extern int anychange;
++extern char *tempfile1; /* used when comparing against std input */
++extern char *tempfile2; /* used when comparing against std input */
+
+ /*
+ * Variables for diffdir.
+ */
+-char **diffargv; /* option list to pass to recursive diffs */
+-int recdepth; /* recursion depth */
+-jmp_buf recenv; /* jump stack on error */
++extern char **diffargv; /* option list to pass to recursive diffs */
++extern int recdepth; /* recursion depth */
++extern jmp_buf recenv; /* jump stack on error */
+
+ struct stackblk {
+ struct stackblk *s_prev;
+ struct stackblk *s_next;
+-} *curstack;
++};
++extern struct stackblk *curstack;
+
+ /*
+ * Input file names.
+@@ -184,13 +184,13 @@ struct stackblk {
+ * and padded with a '/', and then efile0 and efile1 point after
+ * the '/'.
+ */
+-char *file1, *file2, *efile1, *efile2;
+-struct stat stb1, stb2;
++extern char *file1, *file2;
++extern struct stat stb1, stb2;
+
+ extern const char diffh[], diff[], pr[];
+ extern const char *argv0;
+ extern const char *progname;
+-int mb_cur_max;
++extern int mb_cur_max;
+ extern int sysv3;
+
+ /* diff.c */
+--- a/diff/diffdir.c
++++ b/diff/diffdir.c
+@@ -142,6 +142,10 @@ static char *mkpath(const char *, const char *);
+ static void mktitle(void);
+ static int xclude(const char *);
+
++int anychange;
++int recdepth;
++static char *efile1, *efile2;
++
+ void
+ diffdir(char **argv)
+ {
+--- a/diff/diffreg.c
++++ b/diff/diffreg.c
+@@ -186,6 +186,8 @@ static int (*chrtran)(int);/* translation for case-folding */
+ static long pstart; /* start of last search for -p */
+ static long plast; /* match of last search for -p */
+ static long *saveJ; /* saved J for -p */
++static char *endifname; /* What we will print on next #endif */
++static int inifdef;
+
+ /* chrtran points to one of 3 translation functions:
+ * cup2low if folding upper to lower case
diff --git a/sys-apps/heirloom-tools/files/heirloom-tools-070715-glibc-2.30.patch b/sys-apps/heirloom-tools/files/heirloom-tools-070715-glibc-2.30.patch
new file mode 100644
index 000000000000..19b90cea6d2a
--- /dev/null
+++ b/sys-apps/heirloom-tools/files/heirloom-tools-070715-glibc-2.30.patch
@@ -0,0 +1,13 @@
+diff --git a/shl/shl.c b/shl/shl.c
+index 6f5c2df..30d296c 100644
+--- a/shl/shl.c
++++ b/shl/shl.c
+@@ -86,7 +86,7 @@ extern int sysv3;
+ #include <libgen.h>
+ #include <limits.h>
+ #include <stdarg.h>
+-#if !defined (__dietlibc__) && !defined (__UCLIBC__)
++#if !defined (__dietlibc__) && !defined (__UCLIBC__) && !defined(__linux__)
+ #include <stropts.h>
+ #endif
+ #include <poll.h>
diff --git a/sys-apps/heirloom-tools/files/heirloom-tools-070715-glibc-2.31.patch b/sys-apps/heirloom-tools/files/heirloom-tools-070715-glibc-2.31.patch
new file mode 100644
index 000000000000..5186aa1cc2e1
--- /dev/null
+++ b/sys-apps/heirloom-tools/files/heirloom-tools-070715-glibc-2.31.patch
@@ -0,0 +1,41 @@
+--- a/date/date.c
++++ b/date/date.c
+@@ -134,26 +134,13 @@ badtime:
+ return (time_t)-1;
+ }
+
+-#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || \
+- defined (__DragonFly__) || defined (__APPLE__)
+-static int
+-stime(time_t *t)
+-{
+- struct timeval tv;
+-
+- tv.tv_sec = *t;
+- tv.tv_usec = 0;
+-
+- return settimeofday(&tv, NULL);
+-}
+-#endif /* __FreeBSD__, __NetBSD__, __OpenBSD__, __DragonFly__, __APPLE__ */
+-
+ static void
+ settime(char *op)
+ {
+ struct utmpx before, after;
+ const char wtmpxfile[] = "/var/log/wtmp";
+ time_t newtime;
++ struct timeval tv;
+
+ memset(&before, 0, sizeof before);
+ memset(&after, 0, sizeof after);
+@@ -164,7 +151,9 @@ settime(char *op)
+ if ((newtime = timeop(op)) == (time_t)-1)
+ badconv();
+ gettimeofday(&before.ut_tv, NULL);
+- if (stime(&newtime) < 0) {
++ tv.tv_sec = newtime;
++ tv.tv_usec = 0;
++ if (settimeofday(&tv, NULL) < 0) {
+ fprintf(stderr, "%s: no permission\n", progname);
+ exit(1);
+ }
diff --git a/sys-apps/heirloom-tools/files/heirloom-tools-070715-major.patch b/sys-apps/heirloom-tools/files/heirloom-tools-070715-major.patch
index 82d32315d819..81e6755e7e32 100644
--- a/sys-apps/heirloom-tools/files/heirloom-tools-070715-major.patch
+++ b/sys-apps/heirloom-tools/files/heirloom-tools-070715-major.patch
@@ -1,6 +1,8 @@
+diff --git a/cpio/cpio.c b/cpio/cpio.c
+index 89c5cbc..210287b 100644
--- a/cpio/cpio.c
+++ b/cpio/cpio.c
-@@ -91,9 +91,9 @@
+@@ -91,11 +91,12 @@
#include <sfile.h>
#include <atoll.h>
@@ -10,11 +12,45 @@
-#endif /* _AIX */
+#endif /* _AIX || __GLIBC__ */
- #ifndef major
+-#ifndef major
++#include <sys/sysmacros.h>
++#if 0
#include <sys/mkdev.h>
+ #endif /* !major */
+
+diff --git a/file/file.c b/file/file.c
+index 6609734..d90af86 100644
+--- a/file/file.c
++++ b/file/file.c
+@@ -66,7 +66,8 @@ static const char sccsid[] USED = "@(#)file.sl 1.33 (gritter) 4/14/06";
+ #include <fcntl.h>
+ #include <libgen.h>
+ #include <inttypes.h>
+-#ifndef major
++#include <sys/sysmacros.h>
++#if 0
+ #include <sys/mkdev.h>
+ #endif
+ #include "iblok.h"
+diff --git a/find/find.c b/find/find.c
+index fac70f0..28e1b7f 100644
+--- a/find/find.c
++++ b/find/find.c
+@@ -83,7 +83,8 @@ static const char sccsid[] USED = "@(#)find.sl 1.45 (gritter) 5/8/06";
+ #ifdef _AIX
+ #include <sys/sysmacros.h>
+ #endif
+-#ifndef major
++#include <sys/sysmacros.h>
++#if 0
+ #include <sys/mkdev.h>
+ #endif
+ #if __NetBSD_Version__>= 300000000
+diff --git a/ls/ls.c b/ls/ls.c
+index e4480d0..17186ba 100644
--- a/ls/ls.c
+++ b/ls/ls.c
-@@ -119,7 +119,7 @@
+@@ -119,7 +119,7 @@ static char ifmt_c[] = "-pc-d-b--nl-SD--";
#include <termcap.h>
#endif /* USE_TERMCAP */
@@ -23,3 +59,31 @@
#include <sys/sysmacros.h>
#endif
+diff --git a/mknod/mknod.c b/mknod/mknod.c
+index b772b88..f465883 100644
+--- a/mknod/mknod.c
++++ b/mknod/mknod.c
+@@ -45,7 +45,8 @@ static const char sccsid[] USED = "@(#)mknod.sl 1.8 (gritter) 5/29/05";
+ #include <string.h>
+ #include <limits.h>
+ #include <unistd.h>
+-#ifndef major
++#include <sys/sysmacros.h>
++#if 0
+ #include <sys/mkdev.h>
+ #endif /* !major */
+
+diff --git a/tar/tar.c b/tar/tar.c
+index 2d3dada..a8f1ccb 100644
+--- a/tar/tar.c
++++ b/tar/tar.c
+@@ -98,7 +98,8 @@ static const char sccsid[] USED = "@(#)tar.sl 1.177 (gritter) 4/14/07";
+ #include <sys/sysmacros.h>
+ #endif
+
+-#ifndef major
++#include <sys/sysmacros.h>
++#if 0
+ #include <sys/mkdev.h>
+ #endif /* !major */
+
diff --git a/sys-apps/heirloom-tools/files/heirloom-tools-070715-makefile.patch b/sys-apps/heirloom-tools/files/heirloom-tools-070715-makefile.patch
new file mode 100644
index 000000000000..a4ce2970589d
--- /dev/null
+++ b/sys-apps/heirloom-tools/files/heirloom-tools-070715-makefile.patch
@@ -0,0 +1,16 @@
+diff --git a/Makefile.mk b/Makefile.mk
+index 28a20f1..1cf36b8 100644
+--- a/Makefile.mk
++++ b/Makefile.mk
+@@ -73,11 +73,6 @@ links:
+ sh build/crossln $(ROOT)$(SV3BIN)/more $(ROOT)$(UCBBIN)/more $(ROOT)
+ rm -f $(ROOT)$(UCBBIN)/catman
+ sh build/crossln $(ROOT)$(DEFSBIN)/catman $(ROOT)$(UCBBIN)/catman $(ROOT)
+- for i in sccs prt; \
+- do \
+- rm -f $(ROOT)$(UCBBIN)/$$i; \
+- sh build/crossln $(ROOT)$(CCSBIN)/$$i $(ROOT)$(UCBBIN)/$$i $(ROOT); \
+- done
+ rm -f $(ROOT)$(SV3BIN)/awk
+ sh build/crossln $(ROOT)$(DEFBIN)/oawk $(ROOT)$(SV3BIN)/awk $(ROOT)
+ rm -f $(ROOT)$(S42BIN)/awk
diff --git a/sys-apps/heirloom-tools/heirloom-tools-070715-r1.ebuild b/sys-apps/heirloom-tools/heirloom-tools-070715-r1.ebuild
deleted file mode 100644
index 9d55edab0b49..000000000000
--- a/sys-apps/heirloom-tools/heirloom-tools-070715-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="Heirloom toolchest - original Unix tools"
-HOMEPAGE="http://heirloom.sourceforge.net/tools.html"
-SRC_URI="http://downloads.sourceforge.net/project/heirloom/heirloom/${PV}/heirloom-${PV}.tar.bz2"
-
-LICENSE="CDDL GPL-2 LGPL-2.1 9base ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- sys-libs/zlib
-"
-DEPEND="
- ${RDEPEND}
- sys-apps/ed
- virtual/pkgconfig
-"
-S="${WORKDIR}/heirloom-${PV}"
-PATCHES=(
- "${FILESDIR}"/${P}-major.patch
-)
-
-# slightly broken
-RESTRICT="test"
-
-src_prepare() {
- find . -name '*.c' -exec sed -i -e 's|#ifndef[[:space:]]*major|#include <sys/sysmacros.h>\n#if 0|g' {} + || die
-
- default
-}
-src_compile() {
- append-cppflags -D_GNU_SOURCE
- emake -j1 \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- CPPFLAGS="${CPPFLAGS}" \
- LCURS="$( $(tc-getPKG_CONFIG) --libs ncurses)" \
- LDFLAGS="${LDFLAGS}" \
- LIBZ=-lz
-}
-
-src_install() {
- # we don't want to strip here, so use "true" as noop
- emake STRIP="true" ROOT="${D}" -j1 install
-}
-
-pkg_postinst() {
- elog "You may want to add /usr/5bin or /usr/ucb to \$PATH"
- elog "to enable using the apps of heirloom toolchest by default."
- elog "Man pages are installed in /usr/share/man/5man/"
- elog "You may need to set \$MANPATH to access them."
-}
diff --git a/sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild b/sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild
new file mode 100644
index 000000000000..34e2e70756e4
--- /dev/null
+++ b/sys-apps/heirloom-tools/heirloom-tools-070715-r3.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Heirloom toolchest - original Unix tools"
+HOMEPAGE="http://heirloom.sourceforge.net/tools.html"
+SRC_URI="http://downloads.sourceforge.net/project/heirloom/heirloom/${PV}/heirloom-${PV}.tar.bz2"
+
+LICENSE="CDDL GPL-2 LGPL-2.1 9base ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ sys-libs/zlib
+"
+DEPEND=${RDEPEND}
+BDEPEND="
+ sys-apps/ed
+ sys-devel/bc
+ virtual/pkgconfig
+"
+S="${WORKDIR}/heirloom-${PV}"
+PATCHES=(
+ "${FILESDIR}"/${P}-major.patch
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-glibc-2.30.patch
+ "${FILESDIR}"/${P}-glibc-2.31.patch
+ "${FILESDIR}"/${P}-gcc-10.patch
+)
+
+# slightly broken
+RESTRICT="test"
+
+src_compile() {
+ append-cppflags -D_GNU_SOURCE
+ emake -j1 \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ CFLAGS2="${CFLAGS}" \
+ CFLAGSS="${CFLAGS}" \
+ CFLAGSU="${CFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LCURS="$( $(tc-getPKG_CONFIG) --libs ncurses)" \
+ LDFLAGS="${LDFLAGS}" \
+ ROOT="${ED}" \
+ DEFBIN="/usr/bin/${PN}/5bin" \
+ DEFSBIN="/usr/bin/${PN}/5bin" \
+ SV3BIN="/usr/bin/${PN}/5bin" \
+ S42BIN="/usr/bin/${PN}/5bin/s42" \
+ SUSBIN="/usr/bin/${PN}/5bin/posix" \
+ UCBBIN="/usr/bin/${PN}/ucb" \
+ CCSBIN="/usr/bin/${PN}/ccs/bin" \
+ SU3BIN="/usr/bin/${PN}/5bin/posix2001" \
+ DEFLIB="/usr/bin/${PN}/5lib" \
+ LIBZ=-lz
+}
+
+src_install() {
+ # we don't want to strip here, so use "true" as noop
+ emake -j1 \
+ STRIP="true" \
+ ROOT="${ED}" \
+ DEFBIN="/usr/bin/${PN}/5bin" \
+ DEFSBIN="/usr/bin/${PN}/5bin" \
+ SV3BIN="/usr/bin/${PN}/5bin" \
+ S42BIN="/usr/bin/${PN}/5bin/s42" \
+ SUSBIN="/usr/bin/${PN}/5bin/posix" \
+ UCBBIN="/usr/bin/${PN}/ucb" \
+ CCSBIN="/usr/bin/${PN}/ccs/bin" \
+ SU3BIN="/usr/bin/${PN}/5bin/posix2001" \
+ DEFLIB="/usr/bin/${PN}/5lib" \
+ install
+}
+
+pkg_postinst() {
+ elog "You may want to adjust your \$PATH, to enable "
+ elog "using the apps of heirloom toolchest by default."
+ elog "Man pages are installed in /usr/share/man/5man/"
+ elog "You may need to set \$MANPATH to access them."
+}
diff --git a/sys-apps/heirloom-tools/heirloom-tools-070715.ebuild b/sys-apps/heirloom-tools/heirloom-tools-070715.ebuild
deleted file mode 100644
index 00037ab30d24..000000000000
--- a/sys-apps/heirloom-tools/heirloom-tools-070715.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit flag-o-matic toolchain-funcs
-
-# slightly broken
-RESTRICT="test"
-
-DESCRIPTION="Heirloom toolchest - original Unix tools"
-HOMEPAGE="http://heirloom.sourceforge.net/tools.html"
-SRC_URI="http://downloads.sourceforge.net/project/heirloom/heirloom/${PV}/heirloom-${PV}.tar.bz2"
-
-LICENSE="CDDL GPL-2 LGPL-2.1 9base ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="sys-apps/ed
- sys-libs/zlib[static-libs]"
-RDEPEND=""
-
-S="${WORKDIR}/heirloom-${PV}"
-
-src_compile() {
- append-cppflags -D_GNU_SOURCE
- emake -j1
-}
-
-src_install() {
- # we don't want to strip here, so use "true" as noop
- emake STRIP="true" ROOT="${D}" -j1 install
-}
-
-pkg_postinst() {
- elog "You may want to add /usr/5bin or /usr/ucb to \$PATH"
- elog "to enable using the apps of heirloom toolchest by default."
- elog "Man pages are installed in /usr/share/man/5man/"
- elog "You may need to set \$MANPATH to access them."
-}
diff --git a/sys-apps/heirloom-tools/metadata.xml b/sys-apps/heirloom-tools/metadata.xml
index 104a871f1a1a..b6887e34071b 100644
--- a/sys-apps/heirloom-tools/metadata.xml
+++ b/sys-apps/heirloom-tools/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">heirloom</remote-id>
</upstream>