summaryrefslogtreecommitdiff
path: root/sys-devel/dev86
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-devel/dev86
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-devel/dev86')
-rw-r--r--sys-devel/dev86/Manifest12
-rw-r--r--sys-devel/dev86/dev86-0.16.19.ebuild77
-rw-r--r--sys-devel/dev86/dev86-0.16.21-r2.ebuild77
-rw-r--r--sys-devel/dev86/dev86-0.16.21.ebuild76
-rw-r--r--sys-devel/dev86/files/dev86-0.16.19-fortify.patch23
-rw-r--r--sys-devel/dev86/files/dev86-0.16.19-memmove.patch17
-rw-r--r--sys-devel/dev86/files/dev86-0.16.21-non-void-return-clang.patch15
-rw-r--r--sys-devel/dev86/files/dev86-pic.patch20
-rw-r--r--sys-devel/dev86/metadata.xml8
9 files changed, 325 insertions, 0 deletions
diff --git a/sys-devel/dev86/Manifest b/sys-devel/dev86/Manifest
new file mode 100644
index 000000000000..37ad4437a2bb
--- /dev/null
+++ b/sys-devel/dev86/Manifest
@@ -0,0 +1,12 @@
+AUX dev86-0.16.19-fortify.patch 325 SHA256 1a10082f8bfcd0e1e5335c53b0243994360dcdc75d9c3da431bc069e76a1af44 SHA512 04195831db5802ae25a5a1957979b5439168c708d9d3702a62c1d267090fca59e565ac78bb3a6bfb312282ce002b52760903e9d4ab30f3c906568a70dc349696 WHIRLPOOL 600dd6ab2947b593d65e220307faa7a95b23140c6c02c329b28d4857101b58d127631c5a22f3b41e811cfa772577071e86ad105de34965afcb03102c405eede9
+AUX dev86-0.16.19-memmove.patch 401 SHA256 f8a0db2d1f9bd944fa3e5a918fe6fc990820883d0dd8046c55429e10318b4ca5 SHA512 4fa5ee815636048db2a0f5faeeb48b06e559639fb21be1db3319495bfe5f5e1ee1afcfc920d496845cf4bb3eae7ff4bf9aa77124638788f918ae27599d153a6a WHIRLPOOL 6e54a52fa49a846353d63b1e89b74e017a64ffe6a33b256a58ed21aeb7df76c72ec47bffc17058e749910194a8acb3dd44c5535a9e76d88a5a88211c6f077008
+AUX dev86-0.16.21-non-void-return-clang.patch 425 SHA256 b70f642d85c76ad407ec070d3b44d9a4264fc653f1ee1404c2c105a5472032e8 SHA512 57781aab833999b86d57a4c62d686b61f11a64225debf82ca57252bfe5043d0bdef04749bbbf3e1af73a6d40242ebd5efa41b147e4677b7c8ed4b071c5100318 WHIRLPOOL e6de7774e46f353fae44b16915e3f22f950974218b0d96bcec7c846e62357d772f26ec27bc75241ce72aa0e8a815a667a128f0c3c78ccf9d81a7940f91bc7d9f
+AUX dev86-pic.patch 574 SHA256 8609db79d42d7b6a71b512de264279d9f0502dc0855a42eb38f5a8f8ba4f1d7f SHA512 44f0649fbb4b2514ecdd54c988db1a5547d68afed2bff7ebe15163ff287fd4be81bc2d700ed92414caea5c967b7455817fdefd1d19a86609221940a495b5ceda WHIRLPOOL 5e399825ad525400d1dd11899ab14cb789538d489a35e8393e00a6f804417c8854e9c322073b3dfeb014a270e5c2dd690bbb0957ec7db66ee8cffceb084b34bb
+DIST Dev86src-0.16.19.tar.gz 713688 SHA256 33398b87ca85e2b69e4062cf59f2f7354af46da5edcba036c6f97bae17b8d00e SHA512 4077f7ac800330eb4658ffaa53dc8cc982792b1dcd7a59625cba4a5dac494117c6bd4ec5307bf02349ad6ae3d0c0903ab2e41123a8df94373e469092fa005cd3 WHIRLPOOL 87862b606be25f81c2c487534f36b20ac04d1df4303d644a46563e9f382686574dbe650c80265d44e53913f5bda7503c35cf056f7ffd8c5e559729e36c9db4d2
+DIST Dev86src-0.16.21.tar.gz 717215 SHA256 234b110e6df9b7f6843e2ee53473127c2211243a16748f229fc0127845f68d94 SHA512 6d35dc3c7f9735cf7967cdb2bc0f7bee967ae26667cd8cef56bbdf7d7855ef1d35057db4c0031ff86b9b95d3c8ee44aff408446115b35b6c10cf207a33838016 WHIRLPOOL a60b6c30bf4367e250942d2debe4baaf139908adf2f3b97139e3b29788d1ae8a1c97c63c016bf0c546336458de95e390b2db9e3d525ec4526f86250ad3538a8f
+EBUILD dev86-0.16.19.ebuild 1820 SHA256 41d606ae089ffc527b7b8368c7b4ef06a526a0dc6455667fe2b70f416c6beb30 SHA512 cd093d1ebea014f8f842ee5a70dbec7aa25c636211c56caf11e89b37a6625110488ba72a8cbdf10796c2b64b4d1a1d5831f3a99bfd7788bfcf6245a4d25f2c80 WHIRLPOOL de698a3205aec13f405ff229d434d11990ad6cda3b8702d888881763d33ed640768f6a3a3a5d8775541ae33d1b9138cace47b9585371a4bb40cfe715e7ac431b
+EBUILD dev86-0.16.21-r2.ebuild 1843 SHA256 4413cba09c1f273b263c7771940affbb0e2f81dc9239e9b7d629bee6c6cd477b SHA512 1b7d8213232bded080c8f78df9b16931b0d22493c4510963ee9e98ea6b142d008a046496e580d25e77f96dde1453838dbd6d6c847020e41dbc993a921b17dfde WHIRLPOOL 3b8304ca5798f74d0ab9e0ee101f3421c320e30e9ffc1711531d0cf011b2eca52c63008ddde866a7ed71b33ae26499f831829122b30518b975a6a9876e2d1505
+EBUILD dev86-0.16.21.ebuild 1780 SHA256 bff1dee28838c30cb6d69a5fe7e42ea5e92361a8403d9f779683e9d400b018cf SHA512 0ac3ea2a1768b57f5999006d88f0b7620993b8dd4c8c55cf04f7d24231899fe8492264ff1f040b443d5ff4a46d242212490ba110839d5ec7bb914af6ee37babd WHIRLPOOL fd0a5089e171bd62fb79f1077203b981bf8bf9205dde267f3f62c45513a3929a05c2b68655622c533704681aa40b2b58667ee149a0c396b297692c30c559f8d4
+MISC ChangeLog 3330 SHA256 f5e32a8256f396ca05157c6cef5f49f89076f47c564169e75ceb986129223d53 SHA512 5f151bbd69197e903799442964803e5ccc34df12bbd24cbe8cc60ea84026a06c5056fedc077a5f2dd0100696529fea148141398d83606aa97c779749ec3f301a WHIRLPOOL 7ebbad002095f16f25eca335f544799d3070678d22cb4aebb82659ea6e09404d747f4e39401e3d189a042f56342405d9f37f4f250446b63787ca428ed1baa662
+MISC ChangeLog-2015 4649 SHA256 e51974fb70bee565209238b23603d55f8d596e64e87d73554bd22351a435a71f SHA512 8e3a17867cc48bd197a380793d9171828f3df355b03fff86361e6aaeab7de7f6f7621bd7eacd06ba078eb806b3246e84984b32e17b8ef6f6210a52fafb1b4afb WHIRLPOOL bb58002ab16298548c0d11ae616c5463b2e6a87c55f4b082ccf1014ed918e19403fd7b05bd916531005b12f720f17dfbbd5c08101966ba31fa4a0856dc2b4a15
+MISC metadata.xml 269 SHA256 8e0fab94b619276a0a8b2a159374f0b2a59fd05006291ad2f8def48a2f105a93 SHA512 fc49c52f63fc653414208095ec460b4d991d1710b0ea92ca8ab598bca9316b42144e498503b79e7f1db22e3a8c26c009f51cf2d5eb0163a6afc18ed40d4541f2 WHIRLPOOL b8e1127db570cc189ce2417eec744127fae51ea6fc1cdb9505d66acbd0d83355445045b98b5021bd8a29e2bf17b612785532be8c4f0d32cad7152f10a75fc21c
diff --git a/sys-devel/dev86/dev86-0.16.19.ebuild b/sys-devel/dev86/dev86-0.16.19.ebuild
new file mode 100644
index 000000000000..194de6a5b686
--- /dev/null
+++ b/sys-devel/dev86/dev86-0.16.19.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils multilib
+
+DESCRIPTION="Bruce's C compiler - Simple C compiler to generate 8086 code"
+HOMEPAGE="http://www.debath.co.uk/"
+SRC_URI="http://www.debath.co.uk/dev86/Dev86src-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="sys-devel/bin86"
+DEPEND="${RDEPEND}
+ dev-util/gperf"
+
+STRIP_MASK="/usr/*/bcc/lib*.a /usr/*/i386/libc.a"
+
+src_prepare() {
+ # elksemu doesn't compile under amd64
+ if use amd64; then
+ einfo "Not compiling elksemu on amd64"
+ sed -i \
+ -e 's,alt-libs elksemu,alt-libs,' \
+ -e 's,install-lib install-emu,install-lib,' \
+ makefile.in || die
+ fi
+
+ epatch "${FILESDIR}"/dev86-pic.patch
+ epatch "${FILESDIR}"/${PN}-0.16.19-fortify.patch
+ epatch "${FILESDIR}"/${PN}-0.16.19-memmove.patch #354351
+ sed -i \
+ -e "s:-O2 -g:${CFLAGS}:" \
+ -e '/INEXE=/s:-s::' \
+ makefile.in || die
+ sed -i \
+ -e "s:/lib/:/$(get_libdir)/:" \
+ bcc/bcc.c || die
+ sed -i -e '/INSTALL_OPTS=/s:-s::' bin86/Makefile || die
+ sed -i -e '/install -m 755 -s/s:-s::' dis88/Makefile || die
+}
+
+src_compile() {
+ # Don't mess with CPPFLAGS as they tend to break compilation
+ # (bug #343655).
+ CPPFLAGS=""
+
+ # First `make` is also a config, so set all the path vars here
+ emake -j1 \
+ DIST="${D}" \
+ CC="$(tc-getCC)" \
+ LIBDIR="/usr/$(get_libdir)/bcc" \
+ INCLDIR="/usr/$(get_libdir)/bcc"
+
+ export PATH=${S}/bin:${PATH}
+ cd bin
+ ln -s ncc bcc
+ cd ..
+ cd bootblocks
+ ln -s ../bcc/version.h .
+ emake DIST="${D}"
+}
+
+src_install() {
+ emake -j1 install-all DIST="${D}"
+ dobin bootblocks/makeboot
+ # remove all the stuff supplied by bin86
+ cd "${D}"
+ rm usr/bin/{as,ld,nm,objdump,size}86 || die
+ rm usr/man/man1/{as,ld}86.1 || die
+ dodir /usr/share/man
+ mv usr/man usr/share/
+}
diff --git a/sys-devel/dev86/dev86-0.16.21-r2.ebuild b/sys-devel/dev86/dev86-0.16.21-r2.ebuild
new file mode 100644
index 000000000000..39d5b5977db4
--- /dev/null
+++ b/sys-devel/dev86/dev86-0.16.21-r2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Bruce's C compiler - Simple C compiler to generate 8086 code"
+HOMEPAGE="http://v3.sk/~lkundrak/dev86/"
+SRC_URI="http://v3.sk/~lkundrak/dev86/Dev86src-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND="sys-devel/bin86"
+DEPEND="${RDEPEND}
+ dev-util/gperf"
+
+STRIP_MASK="/usr/*/bcc/lib*.a /usr/*/i386/libc.a"
+PATCHES=(
+ "${FILESDIR}/${PN}-pic.patch"
+ "${FILESDIR}/${PN}-0.16.19-fortify.patch"
+ "${FILESDIR}/${P}-non-void-return-clang.patch"
+)
+
+src_prepare() {
+ default
+
+ # elksemu doesn't compile under amd64
+ if use amd64; then
+ einfo "Not compiling elksemu on amd64"
+ sed -i \
+ -e 's,alt-libs elksemu,alt-libs,' \
+ -e 's,install-lib install-emu,install-lib,' \
+ makefile.in || die
+ fi
+
+ sed -i -e "s:-O2 -g:${CFLAGS}:" -e '/INEXE=/s:-s::' makefile.in || die
+ sed -i -e "s:/lib/:/$(get_libdir)/:" bcc/bcc.c || die
+ sed -i -e '/INSTALL_OPTS=/s:-s::' bin86/Makefile || die
+ sed -i -e '/install -m 755 -s/s:-s::' dis88/Makefile || die
+}
+
+src_compile() {
+ # Don't mess with CPPFLAGS as they tend to break compilation
+ # (bug #343655).
+ unset CPPFLAGS
+
+ # First `make` is also a config, so set all the path vars here
+ emake -j1 \
+ DIST="${D}" \
+ CC="$(tc-getCC)" \
+ LIBDIR="/usr/$(get_libdir)/bcc" \
+ INCLDIR="/usr/$(get_libdir)/bcc"
+
+ export PATH=${S}/bin:${PATH}
+
+ cd bin || die
+ ln -s ncc bcc || die
+ cd .. || die
+
+ cd bootblocks || die
+ emake DIST="${D}"
+}
+
+src_install() {
+ emake -j1 install-all DIST="${D}"
+ dobin bootblocks/makeboot
+ # remove all the stuff supplied by bin86
+ rm "${D}"/usr/bin/{as,ld,nm,objdump,size}86 || die
+ rm "${D}"/usr/man/man1/{as,ld}86.1 || die
+
+ dodir /usr/share
+ mv "${D}"/usr/{man,share/man} || die
+}
diff --git a/sys-devel/dev86/dev86-0.16.21.ebuild b/sys-devel/dev86/dev86-0.16.21.ebuild
new file mode 100644
index 000000000000..ea917c7d3292
--- /dev/null
+++ b/sys-devel/dev86/dev86-0.16.21.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils multilib
+
+DESCRIPTION="Bruce's C compiler - Simple C compiler to generate 8086 code"
+HOMEPAGE="http://v3.sk/~lkundrak/dev86/"
+SRC_URI="http://v3.sk/~lkundrak/dev86/Dev86src-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND="sys-devel/bin86"
+DEPEND="${RDEPEND}
+ dev-util/gperf"
+
+STRIP_MASK="/usr/*/bcc/lib*.a /usr/*/i386/libc.a"
+
+src_prepare() {
+ # elksemu doesn't compile under amd64
+ if use amd64; then
+ einfo "Not compiling elksemu on amd64"
+ sed -i \
+ -e 's,alt-libs elksemu,alt-libs,' \
+ -e 's,install-lib install-emu,install-lib,' \
+ makefile.in || die
+ fi
+
+ epatch "${FILESDIR}"/dev86-pic.patch
+ epatch "${FILESDIR}"/${PN}-0.16.19-fortify.patch
+ sed -i \
+ -e "s:-O2 -g:${CFLAGS}:" \
+ -e '/INEXE=/s:-s::' \
+ makefile.in || die
+ sed -i \
+ -e "s:/lib/:/$(get_libdir)/:" \
+ bcc/bcc.c || die
+ sed -i -e '/INSTALL_OPTS=/s:-s::' bin86/Makefile || die
+ sed -i -e '/install -m 755 -s/s:-s::' dis88/Makefile || die
+}
+
+src_compile() {
+ # Don't mess with CPPFLAGS as they tend to break compilation
+ # (bug #343655).
+ CPPFLAGS=""
+
+ # First `make` is also a config, so set all the path vars here
+ emake -j1 \
+ DIST="${D}" \
+ CC="$(tc-getCC)" \
+ LIBDIR="/usr/$(get_libdir)/bcc" \
+ INCLDIR="/usr/$(get_libdir)/bcc"
+
+ export PATH=${S}/bin:${PATH}
+ cd bin
+ ln -s ncc bcc
+ cd ..
+ cd bootblocks
+ ln -s ../bcc/version.h .
+ emake DIST="${D}"
+}
+
+src_install() {
+ emake -j1 install-all DIST="${D}"
+ dobin bootblocks/makeboot
+ # remove all the stuff supplied by bin86
+ cd "${D}"
+ rm usr/bin/{as,ld,nm,objdump,size}86 || die
+ rm usr/man/man1/{as,ld}86.1 || die
+ dodir /usr/share/man
+ mv usr/man usr/share/
+}
diff --git a/sys-devel/dev86/files/dev86-0.16.19-fortify.patch b/sys-devel/dev86/files/dev86-0.16.19-fortify.patch
new file mode 100644
index 000000000000..366808c96d20
--- /dev/null
+++ b/sys-devel/dev86/files/dev86-0.16.19-fortify.patch
@@ -0,0 +1,23 @@
+--- dev86-0.16.19/bcc/bcc.c
++++ dev86-0.16.19/bcc/bcc.c
+@@ -596,12 +597,17 @@
+ }
+ }
+
+-void
+-command_reset()
+-{
+ #ifndef MAXPATHLEN
++#ifdef PATH_MAX
++#define MAXPATHLEN PATH_MAX
++#else
+ #define MAXPATHLEN 1024
+ #endif
++#endif
++
++void
++command_reset()
++{
+ char buf[MAXPATHLEN];
+ char ** prefix;
+ char * saved_cmd;
diff --git a/sys-devel/dev86/files/dev86-0.16.19-memmove.patch b/sys-devel/dev86/files/dev86-0.16.19-memmove.patch
new file mode 100644
index 000000000000..12df3f672624
--- /dev/null
+++ b/sys-devel/dev86/files/dev86-0.16.19-memmove.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/354351
+
+fix sniped from Debian:
+* Fix "FTBFS: ncc: illegal label": apply patch by dai that replaces strcpy
+ by memmove (closes: #591133).
+
+--- copt/copt.c
++++ copt/copt.c
+@@ -174,7 +174,7 @@
+ /* Delete leading white spaces */
+ for (cp = buf; *cp && isspace(*cp); cp++) ;
+ if (cp != buf && *cp)
+- strcpy(buf, cp);
++ memmove(buf, cp, strlen(cp) + 1);
+
+ return(buf);
+ }
diff --git a/sys-devel/dev86/files/dev86-0.16.21-non-void-return-clang.patch b/sys-devel/dev86/files/dev86-0.16.21-non-void-return-clang.patch
new file mode 100644
index 000000000000..cb42e5707dcf
--- /dev/null
+++ b/sys-devel/dev86/files/dev86-0.16.21-non-void-return-clang.patch
@@ -0,0 +1,15 @@
+Return void properly, else clang aborts with
+* tok_io.c:231:6: error: non-void function 'do_control' should return a value [-Wreturn-type]
+See also: https://bugs.gentoo.org/show_bug.cgi?id=523096
+
+--- dev86-0.16.21/unproto/tok_io.c
++++ dev86-0.16.21/unproto/tok_io.c
+@@ -189,7 +189,7 @@
+
+ /* do_control - parse control line */
+
+-static int do_control()
++static void do_control()
+ {
+ struct token *t;
+ int line;
diff --git a/sys-devel/dev86/files/dev86-pic.patch b/sys-devel/dev86/files/dev86-pic.patch
new file mode 100644
index 000000000000..23158d188b02
--- /dev/null
+++ b/sys-devel/dev86/files/dev86-pic.patch
@@ -0,0 +1,20 @@
+--- dev86-0.16.21/elksemu/elks.c.orig 2005-11-04 01:35:37.000000000 +0100
++++ dev86-0.16.21/elksemu/elks.c 2005-11-04 01:45:28.000000000 +0100
+@@ -129,8 +129,17 @@
+ static inline int vm86_mine(struct vm86_struct* v86)
+ {
+ int __res;
++#ifndef __PIC__
+ __asm__ __volatile__("int $0x80\n"
+ :"=a" (__res):"a" ((int)OLD_SYS_vm86), "b" ((int)v86));
++#else
++ __asm__ __volatile__(
++ "movl %%ebx,%%ecx\n\t"
++ "movl %2,%%ebx\n\t"
++ "int $0x80\n\t"
++ "movl %%ecx,%%ebx\n\t"
++ :"=a" (__res):"a" ((int)OLD_SYS_vm86), "r" ((int)v86) : "ecx");
++#endif
+ return __res;
+ }
+ #endif
diff --git a/sys-devel/dev86/metadata.xml b/sys-devel/dev86/metadata.xml
new file mode 100644
index 000000000000..771fca6d0110
--- /dev/null
+++ b/sys-devel/dev86/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>
+ Bruce's C compiler - Simple C compiler to generate 8086 code
+ </longdescription>
+</pkgmetadata>