--- /home/pacho/gentoo-x86/app-arch/bzip2/bzip2-1.0.6-r3.ebuild 2012-05-17 06:36:15.000000000 +0200 +++ /usr/portage/app-arch/bzip2/bzip2-1.0.6-r4.ebuild 2013-06-21 09:53:49.000000000 +0200 @@ -5,9 +5,9 @@ # XXX: atm, libbz2.a is always PIC :(, so it is always built quickly # (since we're building shared libs) ... -EAPI="2" +EAPI=4 -inherit eutils multilib toolchain-funcs flag-o-matic +inherit eutils toolchain-funcs flag-o-matic multilib multilib-minimal DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux" HOMEPAGE="http://www.bzip.org/" @@ -18,6 +18,8 @@ KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" IUSE="static static-libs" +RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224 )" + src_prepare() { epatch "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch epatch "${FILESDIR}"/${PN}-1.0.6-saneso.patch @@ -32,9 +34,12 @@ # - pass custom variables to control libdir sed -i \ -e 's:\$(PREFIX)/man:\$(PREFIX)/share/man:g' \ - -e 's:ln -s -f $(PREFIX)/bin/:ln -s :' \ + -e 's:ln -s -f $(PREFIX)/bin/:ln -f -s :' \ -e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \ + -e 's:ln -s bzip2.1:ln -f -s bzip2.1:g' \ Makefile || die + + multilib_copy_sources } bemake() { @@ -42,17 +47,17 @@ CC="$(tc-getCC)" \ AR="$(tc-getAR)" \ RANLIB="$(tc-getRANLIB)" \ - "$@" || die + "$@" } -src_compile() { - bemake -f Makefile-libbz2_so all || die + +multilib_src_compile() { + bemake -f Makefile-libbz2_so all use static && append-flags -static - bemake all || die + bemake all } -src_install() { - emake PREFIX="${D}"/usr LIBDIR=$(get_libdir) install || die - dodoc README* CHANGES bzip2.txt manual.* +multilib_src_install() { + emake PREFIX="${D}"/usr LIBDIR=$(get_libdir) install # Install the shared lib manually. We install: # .x.x.x - standard shared lib behavior @@ -68,13 +73,18 @@ if ! use static ; then newbin bzip2-shared bzip2 || die fi - if ! use static-libs ; then - rm -f "${D}"/usr/lib*/libbz2.a || die - fi +} + +multilib_src_install_all() { + dodoc README* CHANGES bzip2.txt manual.* # move "important" bzip2 binaries to /bin and use the shared libbz2.so dodir /bin mv "${D}"/usr/bin/b{zip2,zcat,unzip2} "${D}"/bin/ || die dosym bzip2 /bin/bzcat || die dosym bzip2 /bin/bunzip2 || die + + if ! use static-libs ; then + rm -f "${D}"/usr/lib*/libbz2.a || die + fi }