diff options
author | David Seifert <soap@gentoo.org> | 2016-02-06 11:27:11 +0100 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2016-02-06 11:27:25 +0100 |
commit | 0a4ee8dccd9422cdc4a507c5bdd360be4802f8fd (patch) | |
tree | eb226abdb33908c58fe9385316d41b951cbc9a2b /sys-devel/dev86 | |
parent | Merge remote-tracking branch 'github/pr/790'. (diff) | |
download | gentoo-0a4ee8dccd9422cdc4a507c5bdd360be4802f8fd.tar.gz gentoo-0a4ee8dccd9422cdc4a507c5bdd360be4802f8fd.tar.bz2 gentoo-0a4ee8dccd9422cdc4a507c5bdd360be4802f8fd.zip |
sys-devel/dev86: Include patch for building with clang
Gentoo-Bug: 523096
* EAPI=6
* Amend patches for -p1
* Thanks Fabio Scaccabarozzi for the patch
Package-Manager: portage-2.2.27
Diffstat (limited to 'sys-devel/dev86')
-rw-r--r-- | sys-devel/dev86/dev86-0.16.21-r1.ebuild | 76 | ||||
-rw-r--r-- | sys-devel/dev86/files/dev86-0.16.21-non-void-return-clang.patch | 15 | ||||
-rw-r--r-- | sys-devel/dev86/files/dev86-pic.patch | 4 |
3 files changed, 93 insertions, 2 deletions
diff --git a/sys-devel/dev86/dev86-0.16.21-r1.ebuild b/sys-devel/dev86/dev86-0.16.21-r1.ebuild new file mode 100644 index 000000000000..9942a8284b5a --- /dev/null +++ b/sys-devel/dev86/dev86-0.16.21-r1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 ~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} + + ln -s bin/{ncc,bcc} || 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/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 index 439c2648b7d2..23158d188b02 100644 --- a/sys-devel/dev86/files/dev86-pic.patch +++ b/sys-devel/dev86/files/dev86-pic.patch @@ -1,5 +1,5 @@ ---- elksemu/elks.c.orig 2005-11-04 01:35:37.000000000 +0100 -+++ elksemu/elks.c 2005-11-04 01:45:28.000000000 +0100 +--- 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) { |