commit:     4dc57a07f0cc2d8df95d63ce7c6244f68efada64
Author:     NRK <nrk <AT> disroot <DOT> org>
AuthorDate: Fri Mar 14 17:05:07 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 24 06:52:55 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4dc57a07

app-arch/7zip: add symlink useflag

goal is to allow packages which only use the 7z/7zr/7za binaries
to be able to depend on 7zip[symlink] rather than p7zip. this is
a step towards replacing the unmaintained p7zip.

Bug: https://bugs.gentoo.org/942397
Signed-off-by: NRK <nrk <AT> disroot.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-arch/7zip/7zip-24.09.ebuild | 11 +++++++++--
 app-arch/7zip/metadata.xml      |  1 +
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/app-arch/7zip/7zip-24.09.ebuild b/app-arch/7zip/7zip-24.09.ebuild
index dee12baa0394..255f34e19905 100644
--- a/app-arch/7zip/7zip-24.09.ebuild
+++ b/app-arch/7zip/7zip-24.09.ebuild
@@ -18,18 +18,20 @@ S="${WORKDIR}"
 LICENSE="LGPL-2 BSD rar? ( unRAR )"
 SLOT="0"
 KEYWORDS="amd64 arm64 ~ppc ~ppc64 ~riscv"
-IUSE="uasm jwasm rar"
+IUSE="uasm jwasm rar symlink"
 REQUIRED_USE="?? ( uasm jwasm )"
 
 DOCS=( readme.txt History.txt License.txt )
 HTML_DOCS=( MANUAL )
 
-DEPEND="${RDEPEND}"
 BDEPEND="
        app-arch/xz-utils[extra-filters(+)]
        uasm? ( dev-lang/uasm )
        jwasm? ( dev-lang/jwasm )
 "
+RDEPEND="
+       symlink? ( !app-arch/p7zip )
+"
 
 PATCHES=(
        "${FILESDIR}/${PN}-24.05-respect-build-env.patch"
@@ -107,5 +109,10 @@ src_compile() {
 
 src_install() {
        dobin "./CPP/7zip/Bundles/Alone2/b/${bdir}/7zz"
+       if use symlink; then
+               dosym 7zz /usr/bin/7z
+               dosym 7zz /usr/bin/7za
+               dosym 7zz /usr/bin/7zr
+       fi
        einstalldocs
 }

diff --git a/app-arch/7zip/metadata.xml b/app-arch/7zip/metadata.xml
index 772c93a14f12..277fdcfd9104 100644
--- a/app-arch/7zip/metadata.xml
+++ b/app-arch/7zip/metadata.xml
@@ -16,6 +16,7 @@
                <flag name="rar">Enable support for non-free rar decoder</flag>
                <flag name="uasm">Use <pkg>dev-lang/uasm</pkg> to include 
optimized code</flag>
                <flag name="jwasm">Use <pkg>dev-lang/jwasm</pkg> to include 
optimized code (doesn't support AES)</flag>
+               <flag name="symlink">Install additional symlink to 7z, 7za and 
7zr</flag>
        </use>
        <upstream>
                <maintainer>

Reply via email to