public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "David Seifert" <soap@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/dev86/files/, sys-devel/dev86/
Date: Sat,  6 Feb 2016 10:27:32 +0000 (UTC)	[thread overview]
Message-ID: <1454754445.0a4ee8dccd9422cdc4a507c5bdd360be4802f8fd.soap@gentoo> (raw)

commit:     0a4ee8dccd9422cdc4a507c5bdd360be4802f8fd
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  6 10:27:11 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Feb  6 10:27:25 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a4ee8dc

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

 sys-devel/dev86/dev86-0.16.21-r1.ebuild            | 76 ++++++++++++++++++++++
 .../dev86-0.16.21-non-void-return-clang.patch      | 15 +++++
 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 0000000..9942a82
--- /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 0000000..cb42e57
--- /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 439c264..23158d1 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)
  {


             reply	other threads:[~2016-02-06 10:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-06 10:27 David Seifert [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-02-14 13:35 [gentoo-commits] repo/gentoo:master commit in: sys-devel/dev86/files/, sys-devel/dev86/ Michael Palimaka
2018-06-20 18:32 Pacho Ramos
2025-05-10 18:03 Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1454754445.0a4ee8dccd9422cdc4a507c5bdd360be4802f8fd.soap@gentoo \
    --to=soap@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox