summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2022-12-31 15:38:11 +0100
committerFabian Groffen <grobian@gentoo.org>2022-12-31 15:38:11 +0100
commit9e0c9cfea7698608fc671bd231a2636b85bf64f8 (patch)
tree7fbeb06af5b30d8b1971d9332ad761eb73fa1451 /app-arch
parentscripts/bootstrap-prefix: Set a prefix-guest profile for RAP stage2 (diff)
downloadprefix-9e0c9cfea7698608fc671bd231a2636b85bf64f8.tar.gz
prefix-9e0c9cfea7698608fc671bd231a2636b85bf64f8.tar.bz2
prefix-9e0c9cfea7698608fc671bd231a2636b85bf64f8.zip
app-arch/bzip2: sync with gx86
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/bzip2/bzip2-1.0.8-r1.ebuild142
-rw-r--r--app-arch/bzip2/bzip2-1.0.8-r4.ebuild (renamed from app-arch/bzip2/bzip2-1.0.8-r3.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
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
}