| # Copyright 1999-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Header: /var/cvsroot/gentoo-x86/sys-devel/dev86/dev86-0.16.21.ebuild,v 1.1 2014/06/12 12:36:34 polynomial-c Exp $ |
| |
| 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="*" |
| 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/ |
| } |