From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id CB57D158020 for ; Thu, 1 Dec 2022 01:39:42 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D480AE07C5; Thu, 1 Dec 2022 01:39:41 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B6CEFE07C5 for ; Thu, 1 Dec 2022 01:39:41 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A613B340EF5 for ; Thu, 1 Dec 2022 01:39:40 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 3181D76F for ; Thu, 1 Dec 2022 01:39:39 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1669858770.90657783651efa366c78e2dfdd44e15a4f372e49.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-arch/bzip2/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-arch/bzip2/bzip2-1.0.8-r4.ebuild app-arch/bzip2/bzip2-9999.ebuild X-VCS-Directories: app-arch/bzip2/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 90657783651efa366c78e2dfdd44e15a4f372e49 X-VCS-Branch: master Date: Thu, 1 Dec 2022 01:39:39 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: c16220ee-0676-4f65-8d65-fc090fc95706 X-Archives-Hash: 652ce2307afc12c4dace298b20f077d6 commit: 90657783651efa366c78e2dfdd44e15a4f372e49 Author: Michał Górny gentoo org> AuthorDate: Wed Nov 30 16:04:15 2022 +0000 Commit: Sam James gentoo org> CommitDate: Thu Dec 1 01:39:30 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90657783 app-arch/bzip2: Support app-alternatives/bzip2 Signed-off-by: Michał Górny gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/28481 Signed-off-by: Sam James gentoo.org> app-arch/bzip2/bzip2-1.0.8-r4.ebuild | 135 +++++++++++++++++++++++++++++++++++ app-arch/bzip2/bzip2-9999.ebuild | 21 +++--- 2 files changed, 145 insertions(+), 11 deletions(-) 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 }