# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-arch/bzip2/bzip2-1.0.6-r3.ebuild,v 1.1 2011/08/12 21:42:37 vapier Exp $ # XXX: atm, libbz2.a is always PIC :(, so it is always built quickly # (since we're building shared libs) ... EAPI="2" inherit eutils multilib toolchain-funcs flag-o-matic DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux" HOMEPAGE="http://www.bzip.org/" SRC_URI="http://www.bzip.org/${PV}/${P}.tar.gz" LICENSE="BZIP2" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" IUSE="static static-libs" src_prepare() { epatch "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch epatch "${FILESDIR}"/${PN}-1.0.6-saneso.patch epatch "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986 epatch "${FILESDIR}"/${PN}-1.0.6-progress.patch epatch "${FILESDIR}"/${PN}-1.0.3-no-test.patch epatch "${FILESDIR}"/${PN}-1.0.4-POSIX-shell.patch #193365 # - Use right man path # - Generate symlinks instead of hardlinks # - 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:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \ Makefile || die } bemake() { emake \ CC="$(tc-getCC)" \ AR="$(tc-getAR)" \ RANLIB="$(tc-getRANLIB)" \ "$@" || die } src_compile() { bemake -f Makefile-libbz2_so all || die use static && append-flags -static bemake all || die } src_install() { emake PREFIX="${D}"/usr LIBDIR=$(get_libdir) install || die dodoc README* CHANGES bzip2.txt manual.* # Install the shared lib manually. We install: # .x.x.x - standard shared lib behavior # .x.x - SONAME some distros use #338321 # .x - SONAME Gentoo uses dolib.so libbz2.so.${PV} || die local s for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do dosym libbz2.so.${PV} /usr/$(get_libdir)/${v} || die done gen_usr_ldscript -a bz2 if ! use static ; then newbin bzip2-shared bzip2 || die fi if ! use static-libs ; then rm -f "${D}"/usr/lib*/libbz2.a || die fi # 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 }