commit:     aa9e23f4d96ed4046d265751ac8d8902f389c26b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  1 16:11:16 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec  1 19:38:23 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa9e23f4

app-arch/gzip: Support app-alternatives/gzip

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-arch/gzip/gzip-1.12-r3.ebuild | 84 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

diff --git a/app-arch/gzip/gzip-1.12-r3.ebuild 
b/app-arch/gzip/gzip-1.12-r3.ebuild
new file mode 100644
index 000000000000..98f464a9e840
--- /dev/null
+++ b/app-arch/gzip/gzip-1.12-r3.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gzip.asc
+inherit flag-o-matic verify-sig
+
+DESCRIPTION="Standard GNU compressor"
+HOMEPAGE="https://www.gnu.org/software/gzip/";
+SRC_URI="mirror://gnu/gzip/${P}.tar.xz
+       https://alpha.gnu.org/gnu/gzip/${P}.tar.xz";
+SRC_URI+=" verify-sig? (
+               mirror://gnu/gzip/${P}.tar.xz.sig
+               https://alpha.gnu.org/gnu/gzip/${P}.tar.xz.sig
+       )"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="pic static"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gzip )"
+RDEPEND="!app-arch/pigz[symlink(-)]"
+PDEPEND="
+       app-alternatives/gzip
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.3.8-install-symlinks.patch"
+)
+
+src_configure() {
+       use static && append-flags -static
+
+       # Avoid text relocation in gzip
+       use pic && export DEFS="NO_ASM"
+
+       # bug #663928
+       econf --disable-gcc-warnings
+}
+
+src_install() {
+       default
+
+       docinto txt
+       dodoc algorithm.doc gzip.doc
+
+       # Avoid conflict with app-arch/ncompress
+       rm "${ED}"/usr/bin/uncompress || die
+
+       # keep most things in /usr, just the fun stuff in /
+       # also rename them to avoid conflict with app-alternatives/gzip
+       dodir /bin
+       local x
+       for x in gunzip gzip zcat; do
+               mv "${ED}/usr/bin/${x}" "${ED}/bin/${x}-reference" || die
+       done
+       sed -i -e 's:exec gzip:&-reference:' \
+               "${ED}"/bin/{gunzip,zcat}-reference || die
+       mv "${ED}"/usr/share/man/man1/gzip{,-reference}.1 || die
+       rm "${ED}"/usr/share/man/man1/{gunzip,zcat}.1 || die
+}
+
+pkg_postinst() {
+       if [[ -n ${REPLACING_VERSIONS} ]]; then
+               local ver
+               for ver in ${REPLACING_VERSIONS}; do
+                       if ver_test "${ver}" -lt "1.12-r2"; then
+                               ewarn "This package no longer installs 
'uncompress'."
+                               ewarn "Please use 'gzip -d' to decompress .Z 
files."
+                       fi
+               done
+       fi
+
+       # ensure to preserve the symlinks before app-alternatives/gzip
+       # is installed
+       local x
+       for x in gunzip gzip zcat; do
+               if [[ ! -h ${EROOT}/bin/${x} ]]; then
+                       ln -s "${x}-reference" "${EROOT}/bin/${x}" || die
+               fi
+       done
+}

Reply via email to