summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-11-02 19:03:29 +0000
committerMike Frysinger <vapier@gentoo.org>2012-11-02 19:03:29 +0000
commit79a20cfe96a4f277f8cbbaa7f8867cb181202847 (patch)
tree6999831cfa940a644ce0e513b04ea3989bc7a7c8 /sys-devel/dev86
parentMask old version to be able to move to new versioning schema (diff)
downloadgentoo-2-79a20cfe96a4f277f8cbbaa7f8867cb181202847.tar.gz
gentoo-2-79a20cfe96a4f277f8cbbaa7f8867cb181202847.tar.bz2
gentoo-2-79a20cfe96a4f277f8cbbaa7f8867cb181202847.zip
Version bump. Include fix from Debian for ncc #354351 by Joerg Neikes. Fix stripping errors #413275 by Michele Ciacci. Also fix up libdir handling as bcc had /usr/lib/gcc/ hardcoded.
(Portage version: 2.2.0_alpha142/cvs/Linux x86_64, signed Manifest commit with key FB7C4156)
Diffstat (limited to 'sys-devel/dev86')
-rw-r--r--sys-devel/dev86/ChangeLog10
-rw-r--r--sys-devel/dev86/dev86-0.16.19.ebuild78
-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
4 files changed, 127 insertions, 1 deletions
diff --git a/sys-devel/dev86/ChangeLog b/sys-devel/dev86/ChangeLog
index 1082eae2da70..018fb823c5a6 100644
--- a/sys-devel/dev86/ChangeLog
+++ b/sys-devel/dev86/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-devel/dev86
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/dev86/ChangeLog,v 1.23 2012/08/06 02:28:35 zerochaos Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/dev86/ChangeLog,v 1.24 2012/11/02 19:03:28 vapier Exp $
+
+*dev86-0.16.19 (02 Nov 2012)
+
+ 02 Nov 2012; Mike Frysinger <vapier@gentoo.org> +dev86-0.16.19.ebuild,
+ +files/dev86-0.16.19-fortify.patch, +files/dev86-0.16.19-memmove.patch:
+ Version bump. Include fix from Debian for ncc #354351 by Joerg Neikes. Fix
+ stripping errors #413275 by Michele Ciacci. Also fix up libdir handling as
+ bcc had /usr/lib/gcc/ hardcoded.
06 Aug 2012; Rick Farina <zerochaos@gentoo.org> dev86-0.16.18.ebuild:
fixed multilib-strict QA violation
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..7c2ac545e94f
--- /dev/null
+++ b/sys-devel/dev86/dev86-0.16.19.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/dev86/dev86-0.16.19.ebuild,v 1.1 2012/11/02 19:03:28 vapier Exp $
+
+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/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);
+ }