summaryrefslogtreecommitdiff
path: root/app-arch/7-zip/7-zip-22.01.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/7-zip/7-zip-22.01.ebuild')
-rw-r--r--app-arch/7-zip/7-zip-22.01.ebuild59
1 files changed, 59 insertions, 0 deletions
diff --git a/app-arch/7-zip/7-zip-22.01.ebuild b/app-arch/7-zip/7-zip-22.01.ebuild
new file mode 100644
index 0000000..81229fc
--- /dev/null
+++ b/app-arch/7-zip/7-zip-22.01.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV=${PV%%_*}
+MY_PV=${MY_PV//./}
+
+DESCRIPTION="File archiver with a high compression ratio"
+HOMEPAGE="https://7-zip.org/"
+SRC_URI="https://7-zip.org/a/7z${MY_PV}-src.tar.xz"
+
+LICENSE="LGPL-2.1+ BSD rar? ( unRAR )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+asm rar"
+
+BDEPEND="
+ asm? ( dev-lang/jwasm )
+"
+RDEPEND="!app-arch/p7zip"
+
+S=${WORKDIR}
+
+PATCHES=(
+ "${FILESDIR}/7-zip-flags.patch"
+ "${FILESDIR}/7-zip-less-asm.patch"
+)
+
+src_compile() {
+ cd CPP/7zip/Bundles/Alone2 || die
+ local myemakeargs=(
+ CC="$(tc-getCC) ${CFLAGS} -fno-strict-aliasing ${LDFLAGS}"
+ CXX="$(tc-getCXX) ${CXXFLAGS} -fno-strict-aliasing ${LDFLAGS}"
+ )
+ if use asm; then
+ myemakeargs+=(USE_ASM=1 USE_JWASM=1)
+ if use amd64; then
+ myemakeargs+=(IS_X64=1)
+ elif use arm64; then
+ myemakeargs+=(IS_ARM64=1)
+ elif use x86; then
+ myemakeargs+=(IS_X86=1)
+ else
+ einfo "asm is not supported on this arch, ignoring"
+ fi
+ fi
+ use rar || myemakeargs+=(DISABLE_RAR=1)
+ mkdir -p b/g || die
+ emake -f ../../cmpl_gcc.mak "${myemakeargs[@]}"
+}
+
+src_install() {
+ dobin CPP/7zip/Bundles/Alone2/b/g/7zz
+ dosym 7zz /usr/bin/7z
+ dodoc DOC/*
+}