commit:     9e0c9cfea7698608fc671bd231a2636b85bf64f8
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 31 14:38:11 2022 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Dec 31 14:38:11 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=9e0c9cfe

app-arch/bzip2: sync with gx86

Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 app-arch/bzip2/bzip2-1.0.8-r1.ebuild               | 142 ---------------------
 ...bzip2-1.0.8-r3.ebuild => bzip2-1.0.8-r4.ebuild} |  31 +++--
 2 files changed, 20 insertions(+), 153 deletions(-)

diff --git a/app-arch/bzip2/bzip2-1.0.8-r1.ebuild 
b/app-arch/bzip2/bzip2-1.0.8-r1.ebuild
deleted file mode 100644
index 2ba7042d39..0000000000
--- a/app-arch/bzip2/bzip2-1.0.8-r1.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2021 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
-
-inherit toolchain-funcs multilib-minimal usr-ldscript prefix
-
-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";
-
-LICENSE="BZIP2"
-SLOT="0/1" # subslot = SONAME
-KEYWORDS="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="static static-libs"
-
-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
-
-       hprefixify -w "/^PATH=/" bz{diff,grep,more}
-       # this a makefile for Darwin, which already "includes" saneso
-       cp "${FILESDIR}"/${P}-Makefile-libbz2_dylib Makefile-libbz2_dylib || die
-
-       if [[ ${CHOST} == *-cygwin* ]] ; then
-               sed -i -e "s/-o 
libbz2\.so\.${PV}/-Wl,--out-implib=libbz2$(get_libname ${PV})/" \
-                          -e "s/-Wl,-soname -Wl,libbz2\.so\.1/-o 
cygbz2-${PV%%.*}.dll/" \
-                          -e "s/libbz2\.so/libbz2$(get_libname)/g" \
-                       Makefile-libbz2_so
-       fi
-}
-
-bemake() {
-       emake \
-               VPATH="${S}" \
-               CC="$(tc-getCC)" \
-               AR="$(tc-getAR)" \
-               RANLIB="$(tc-getRANLIB)" \
-               "$@"
-}
-
-multilib_src_compile() {
-       local checkopts=
-       case "${CHOST}" in
-               *-darwin*)
-                       bemake PREFIX="${EPREFIX}"/usr -f 
"${S}"/Makefile-libbz2_dylib all
-               ;;
-               *)
-                       bemake -f "${S}"/Makefile-libbz2_so all
-               ;;
-       esac
-       # Make sure we link against the shared lib #504648
-       ln -sf libbz2$(get_libname ${PV}) libbz2$(get_libname) || die
-       bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static 
'')"
-}
-
-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$(get_libname ${PV})
-       [[ ${CHOST} == *-cygwin* ]] && dobin cygbz2-${PV%%.*}.dll
-       local v
-       for v in libbz2$(get_libname) libbz2$(get_libname ${PV%%.*}) 
libbz2$(get_libname ${PV%.*}) ; do
-               dosym libbz2$(get_libname ${PV}) /usr/$(get_libdir)/${v}
-       done
-
-       # Install libbz2.so.1.0 due to accidental soname change in 1.0.7.
-       # Reference: 98da0ad82192d21ad74ae52366ea8466e2acea24.
-       # OK to remove one year after 2020-04-11.
-       if [[ ! -L "${ED}/usr/$(get_libdir)/libbz2$(get_libname 1.0)" ]]; then
-               dosym libbz2.so.${PV} "/usr/$(get_libdir)/libbz2$(get_libname 
1.0)"
-       fi
-
-       use static-libs && dolib.a libbz2.a
-
-       if multilib_is_native_abi ; then
-               gen_usr_ldscript -a bz2
-
-               dobin bzip2recover
-               into /
-               dobin bzip2
-       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 *.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
-
-       local x
-       for x in bunzip2 bzcat bzip2recover ; do
-               dosym bzip2.1 /usr/share/man/man1/${x}.1
-       done
-       for x in bz{e,f}grep ; do
-               dosym bzgrep /usr/bin/${x}
-               dosym bzgrep.1 /usr/share/man/man1/${x}.1
-       done
-
-       einstalldocs
-
-       # move "important" bzip2 binaries to /bin and use the shared libbz2.so
-       dosym bzip2 /bin/bzcat
-       dosym bzip2 /bin/bunzip2
-}

diff --git a/app-arch/bzip2/bzip2-1.0.8-r3.ebuild 
b/app-arch/bzip2/bzip2-1.0.8-r4.ebuild
similarity index 87%
rename from app-arch/bzip2/bzip2-1.0.8-r3.ebuild
rename to app-arch/bzip2/bzip2-1.0.8-r4.ebuild
index 1c2b65d3b8..6608999730 100644
--- a/app-arch/bzip2/bzip2-1.0.8-r3.ebuild
+++ b/app-arch/bzip2/bzip2-1.0.8-r4.ebuild
@@ -19,9 +19,12 @@ SLOT="0/1" # subslot = SONAME
 KEYWORDS="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
 IUSE="static static-libs"
 
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bzip2 )"
-RDEPEND="!app-arch/lbzip2[symlink(-)]
-       !app-arch/pbzip2[symlink(-)]"
+BDEPEND="
+       verify-sig? ( sec-keys/openpgp-keys-bzip2 )
+"
+PDEPEND="
+       app-alternatives/bzip2
+"
 
 PATCHES=(
        "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
@@ -101,7 +104,7 @@ multilib_src_install() {
 
                dobin bzip2recover
                into /
-               dobin bzip2
+               newbin bzip2 bzip2-reference
        fi
 }
 
@@ -112,7 +115,8 @@ multilib_src_install_all() {
        doins bzlib.h
        into /usr
        dobin bz{diff,grep,more}
-       doman *.1
+       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
@@ -120,18 +124,23 @@ multilib_src_install_all() {
        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 bunzip2 bzcat bzip2recover ; do
-               dosym bzip2.1 /usr/share/man/man1/${x}.1
-       done
        for x in bz{e,f}grep ; do
                dosym bzgrep /usr/bin/${x}
                dosym bzgrep.1 /usr/share/man/man1/${x}.1
        done
 
        einstalldocs
+}
 
-       # move "important" bzip2 binaries to /bin and use the shared libbz2.so
-       dosym bzip2 /bin/bzcat
-       dosym bzip2 /bin/bunzip2
+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
 }

Reply via email to