diff options
Diffstat (limited to 'app-arch/bzip2')
-rw-r--r-- | app-arch/bzip2/Manifest | 3 | ||||
-rw-r--r-- | app-arch/bzip2/bzip2-1.0.8-r4.ebuild | 135 | ||||
-rw-r--r-- | app-arch/bzip2/bzip2-9999.ebuild | 21 |
3 files changed, 147 insertions, 12 deletions
diff --git a/app-arch/bzip2/Manifest b/app-arch/bzip2/Manifest index 7d2a22810ce0..13c1092920e6 100644 --- a/app-arch/bzip2/Manifest +++ b/app-arch/bzip2/Manifest @@ -8,5 +8,6 @@ AUX bzip2-1.0.8-saneso.patch 463 BLAKE2B 83c5a905dbb3dd6481abe7ad7f57f9ce5c5cac8 DIST bzip2-1.0.8.tar.gz 810029 BLAKE2B 22ab3acd84f4db8c3d6f59340c252faedfd4447cea00dafbd652e65b6cf8a20adf6835c22e58563004cfafdb15348c924996230b4b23cae42da5e25eeac4bdad SHA512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3 DIST bzip2-1.0.8.tar.gz.sig 310 BLAKE2B 0d702dcb19f7738da9f05ee9d719f5cd3653540365e78db143404e599ea54bc6f9d5e6a38cdf5cdd3c6550243d34266343467c6b1db9d5d3c134f9353b00f395 SHA512 4a4a3fa0ec1c10a704b9870e8e629fd007cca55184423c6bfc3049a702fb41e4aeb73bfe9ca7442c27d32d278f1f34f27523a6be67d35b37896acdded12bf40d EBUILD bzip2-1.0.8-r3.ebuild 3343 BLAKE2B b0b9c71705eb40decdb293ac36edfbb9beb03a5d418c9397d575182b1a41b885fc2dffe57fcd2bc41320eb957e87daf4e4b05a534b0b696e1a4cb14bb1862edd SHA512 0d731c721a9c2df13a70ca40a13ce4cffb4f91dfc2787dd5e86fac97b3dc2d1e6bc0e86d58d50905a39b31d08c1890d02478ce61e5f04fbefc895f2113b4f3ff -EBUILD bzip2-9999.ebuild 1362 BLAKE2B ef5a5447c068dea75b0ffce542583532deee44154ecfa9946ad3a21bb0a4bbd5b09c04d92bffe3da7d77c5f62d2d1200f92436923b443ed8f7e79313f5476db6 SHA512 392f1dee22e823b5973a0fe7c023b48c23769aace842d299a0389ace5ab7809fc67f76fe4e7aa28ba16a404c843a3c54b39ef97043ba89db3586a1e2b0940281 +EBUILD bzip2-1.0.8-r4.ebuild 3482 BLAKE2B eeafc0651562ab21585c100a669e2e9699f3d0fa30998caa5dcfc704f33f2181573516044d548e5c20e57b716144836ea64606ca02af06adec505afce3f65e0a SHA512 5bb4b6f4338942a7d61acfaf06829034b0eda35cf57f156f01819dc53dff30ecadc568cc1d7d63952482c4118de7c20a135a10ff699dd77526296900ee79711a +EBUILD bzip2-9999.ebuild 1369 BLAKE2B a85d94d4703d628af61968efc0a76c1f55d701b8be47dd081f342245994fea1394b044646d3e23bf6758abf24b5d65420bf74d3049827bee646d663cb6ec643d SHA512 96b75235e2e79071c2874f8028caf6d0017df56fc469f767ae12515f6d76411d646d284cc3260e8dea0f6d7a2ba9a48de8bc0a38af9068265dac651af0aecaf7 MISC metadata.xml 384 BLAKE2B e74083bed23efd0279d23ea4f9fc048a9a0c253d48757f74a6c0044f5ca6a6b4cb86908db25d42f304b72a8dbf4c3627371ad6ab69aeab9267e8eb21c2053898 SHA512 c358db6bdaabfa401452ceaa8f85298b75ae00e5f7f189768741b4c74ed123be79405c03c7b94707db29b7d60710c441d089c10fa511262ad5a88cd106fb54f4 diff --git a/app-arch/bzip2/bzip2-1.0.8-r4.ebuild b/app-arch/bzip2/bzip2-1.0.8-r4.ebuild new file mode 100644 index 000000000000..3ac96e3d4ef2 --- /dev/null +++ b/app-arch/bzip2/bzip2-1.0.8-r4.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly +# (since we're building shared libs) ... + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bzip2.gpg +inherit toolchain-funcs multilib-minimal usr-ldscript verify-sig + +DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux" +HOMEPAGE="https://sourceware.org/bzip2/" +SRC_URI="https://sourceware.org/pub/${PN}/${P}.tar.gz" +SRC_URI+=" verify-sig? ( https://sourceware.org/pub/${PN}/${P}.tar.gz.sig )" + +LICENSE="BZIP2" +SLOT="0/1" # subslot = SONAME +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="static static-libs" + +BDEPEND=" + verify-sig? ( sec-keys/openpgp-keys-bzip2 ) +" +PDEPEND=" + app-alternatives/bzip2 +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch + "${FILESDIR}"/${PN}-1.0.8-saneso.patch + "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986 + "${FILESDIR}"/${PN}-1.0.6-progress.patch + "${FILESDIR}"/${PN}-1.0.3-no-test.patch + "${FILESDIR}"/${PN}-1.0.8-mingw.patch #393573 + "${FILESDIR}"/${PN}-1.0.8-out-of-tree-build.patch +) + +DOCS=( CHANGES README{,.COMPILATION.PROBLEMS,.XML.STUFF} manual.pdf ) +HTML_DOCS=( manual.html ) + +src_prepare() { + default + + # - 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 -f :' \ + -e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \ + Makefile || die +} + +bemake() { + emake \ + VPATH="${S}" \ + CC="$(tc-getCC)" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" \ + "$@" +} + +multilib_src_compile() { + bemake -f "${S}"/Makefile-libbz2_so all + # Make sure we link against the shared lib #504648 + ln -s libbz2.so.${PV} libbz2.so || die + bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')" +} + +multilib_src_test() { + cp "${S}"/sample* "${BUILD_DIR}" || die + bemake -f "${S}"/Makefile check +} + +multilib_src_install() { + into /usr + + # 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} + local v + for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do + dosym libbz2.so.${PV} /usr/$(get_libdir)/${v} + done + + use static-libs && dolib.a libbz2.a + + if multilib_is_native_abi ; then + gen_usr_ldscript -a bz2 + + dobin bzip2recover + into / + newbin bzip2 bzip2-reference + fi +} + +multilib_src_install_all() { + # `make install` doesn't cope with out-of-tree builds, nor with + # installing just non-binaries, so handle things ourselves. + insinto /usr/include + doins bzlib.h + into /usr + dobin bz{diff,grep,more} + doman bz{diff,grep,more}.1 + newman bzip2.1 bzip2-reference.1 + + dosym bzdiff /usr/bin/bzcmp + dosym bzdiff.1 /usr/share/man/man1/bzcmp.1 + + dosym bzmore /usr/bin/bzless + dosym bzmore.1 /usr/share/man/man1/bzless.1 + + dosym bzip2-reference.1 /usr/share/man/man1/bzip2recover.1 + local x + for x in bz{e,f}grep ; do + dosym bzgrep /usr/bin/${x} + dosym bzgrep.1 /usr/share/man/man1/${x}.1 + done + + einstalldocs +} + +pkg_postinst() { + # ensure to preserve the symlinks before app-alternatives/bzip2 + # is installed + local x + for x in bzip2 bunzip2 bzcat; do + if [[ ! -h ${EROOT}/bin/${x} ]]; then + ln -s bzip2-reference "${EROOT}/bin/${x}" || die + fi + done +} diff --git a/app-arch/bzip2/bzip2-9999.ebuild b/app-arch/bzip2/bzip2-9999.ebuild index e463fbf759d7..025f6378d542 100644 --- a/app-arch/bzip2/bzip2-9999.ebuild +++ b/app-arch/bzip2/bzip2-9999.ebuild @@ -19,9 +19,8 @@ SLOT="0/1" # subslot = SONAME IUSE="static-libs" -RDEPEND=" - !app-arch/lbzip2[symlink(-)] - !app-arch/pbzip2[symlink(-)] +PDEPEND=" + app-alternatives/bzip2 " multilib_src_configure() { @@ -39,16 +38,17 @@ multilib_src_install() { if multilib_is_native_abi ; then gen_usr_ldscript -a bz2 - - dodir /bin - mv "${ED}"/usr/bin/bzip2 "${ED}"/bin || die fi } multilib_src_install_all() { - # Move "important" bzip2 binaries to /bin and use the shared libbz2.so - dosym bzip2 /bin/bzcat - dosym bzip2 /bin/bunzip2 + dodir /bin + mv "${ED}"/usr/bin/bzip2 "${ED}"/bin/bzip2-reference || die + mv "${ED}"/usr/share/man/man1/bzip2{,-reference}.1 || die + + # moved to app-alternatives/bzip2 + rm "${ED}"/usr/bin/{bzcat,bunzip2} || die + rm "${ED}"/usr/share/man/man1/{bzcat,bunzip2.1} || die dosym bzdiff /usr/bin/bzcmp dosym bzmore /usr/bin/bzless @@ -57,8 +57,7 @@ multilib_src_install_all() { dosym bzgrep /usr/bin/${x} done - dosym bzip2.1 /usr/share/man/man1/bzip2recover.1 + dosym bzip2-reference.1 /usr/share/man/man1/bzip2recover.1 - local DOCS=( AUTHORS NEWS{,-pre-1.0.7} README.md ) einstalldocs } |