summaryrefslogtreecommitdiff
path: root/app-arch
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/7-zip/7-zip-21.03_beta-r1.ebuild49
-rw-r--r--app-arch/7-zip/7-zip-22.01.ebuild59
-rw-r--r--app-arch/7-zip/Manifest2
-rw-r--r--app-arch/7-zip/files/7-zip-flags.patch39
-rw-r--r--app-arch/7-zip/files/7-zip-less-asm.patch41
-rw-r--r--app-arch/7-zip/metadata.xml4
-rw-r--r--app-arch/precomp-cpp/metadata.xml11
-rw-r--r--app-arch/unar/unar-1.10.7-r1.ebuild2
8 files changed, 126 insertions, 81 deletions
diff --git a/app-arch/7-zip/7-zip-21.03_beta-r1.ebuild b/app-arch/7-zip/7-zip-21.03_beta-r1.ebuild
deleted file mode 100644
index 295b6de..0000000
--- a/app-arch/7-zip/7-zip-21.03_beta-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic
-
-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.7z"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND="|| ( virtual/7z app-arch/libarchive app-arch/unar )"
-
-S=${WORKDIR}/7z${MY_PV}-src
-
-PATCHES=( ${FILESDIR}/7-zip-flags.patch )
-
-src_unpack() {
- if command -v 7z >/dev/null 2>&1; then
- 7z x "${DISTDIR}/7z${MY_PV}-src.7z" -o"$S" || die
- elif command -v bsdtar >/dev/null 2>&1; then
- mkdir "$S" || die
- bsdtar -C "$S" -xf "${DISTDIR}/7z${MY_PV}-src.7z" || die
- elif command -v unar >/dev/null 2>&1; then
- unar -d "$S" "${DISTDIR}/7z${MY_PV}-src.7z" || die
- else
- die "no 7z unpacker found"
- fi
-}
-
-src_compile() {
- cd CPP/7zip/Bundles/Alone2
- make -f ../../cmpl_gcc.mak
-}
-
-src_install() {
- dobin CPP/7zip/Bundles/Alone2/b/g/7zz
- dosym 7zz /usr/bin/7z
- dodoc DOC/*
-}
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/*
+}
diff --git a/app-arch/7-zip/Manifest b/app-arch/7-zip/Manifest
index a855961..ac40149 100644
--- a/app-arch/7-zip/Manifest
+++ b/app-arch/7-zip/Manifest
@@ -1 +1 @@
-DIST 7z2103-src.7z 1191375 BLAKE2B 002c20cbe0a47fbfce4c10f985972bf316d1e23c46e1047fbe98a9d4d27f1679d402cd6952c587fd6f78dd260896037896c328df9ae8a07865756c4693e93ad6 SHA512 6b2c00418333eb9a4f9d2ca23391dd644ed838b02832326a4c77065f762942d5daaa468f7330a8197b354a90aaf44f01d9412debb905f490351b54f63a3246df
+DIST 7z2201-src.tar.xz 1291560 BLAKE2B 1d88234fdf9d7074e3dc6c243c209f694897ac23f82d7f5d4767186114245c1aa9c4290c8a538dc3cdd1074385ae9142f1efd22771942ec63d8c00ed38b7082b SHA512 3f391b1bd65a0654eb5b31b50f1d400f0ec38ab191d88e15849a6e4d164b7bf2ce4a6d70ec8b6e27bde1b83bb2d45b65c03129499334669e05ee025784be455a
diff --git a/app-arch/7-zip/files/7-zip-flags.patch b/app-arch/7-zip/files/7-zip-flags.patch
index 372819d..963037c 100644
--- a/app-arch/7-zip/files/7-zip-flags.patch
+++ b/app-arch/7-zip/files/7-zip-flags.patch
@@ -1,12 +1,12 @@
diff -ru a/CPP/7zip/7zip_gcc.mak b/CPP/7zip/7zip_gcc.mak
---- a/CPP/7zip/7zip_gcc.mak 2021-07-16 08:23:49.524088300 -0400
-+++ b/CPP/7zip/7zip_gcc.mak 2021-08-14 14:43:34.618587556 -0400
-@@ -13,13 +13,13 @@
+--- a/CPP/7zip/7zip_gcc.mak 2021-11-20 04:00:00.000000000 -0500
++++ b/CPP/7zip/7zip_gcc.mak 2021-12-16 11:01:16.236763027 -0500
+@@ -14,13 +14,13 @@
ifneq ($(CC), xlc)
-CFLAGS_WARN_WALL = -Wall -Werror -Wextra
-+CFLAGS_WARN_WALL = -Wall -Wextra -Wno-misleading-indentation
++CFLAGS_WARN_WALL = -Wall -Wextra
endif
# for object file
@@ -17,33 +17,12 @@ diff -ru a/CPP/7zip/7zip_gcc.mak b/CPP/7zip/7zip_gcc.mak
-DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-fPIC
-@@ -62,17 +62,17 @@
-
- ifdef IS_MINGW
- SHARED_EXT=.dll
--LDFLAGS = -shared -DEF $(DEF_FILE) $(LDFLAGS_STATIC)
-+MY_LDFLAGS = -shared -DEF $(DEF_FILE) $(LDFLAGS_STATIC)
- else
- SHARED_EXT=.so
--LDFLAGS = -shared -fPIC $(LDFLAGS_STATIC)
-+MY_LDFLAGS = -shared -fPIC $(LDFLAGS_STATIC)
- CC_SHARED=-fPIC
- endif
-
-
- else
-
--LDFLAGS = $(LDFLAGS_STATIC)
-+MY_LDFLAGS = $(LDFLAGS_STATIC)
- # -s is not required for clang, do we need it for GGC ???
- # -s
-
-@@ -156,7 +156,7 @@
+@@ -162,7 +162,7 @@
+ $(O):
$(MY_MKDIR) $(O)
+-LFLAGS_ALL = -s $(MY_ARCH_2) $(LDFLAGS) $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
++LFLAGS_ALL = $(MY_ARCH_2) $(LDFLAGS) $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
$(PROGPATH): $(OBJS)
-- $(CXX) -o $(PROGPATH) -s $(MY_ARCH_2) $(LDFLAGS) $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
-+ $(CXX) -o $(PROGPATH) $(MY_ARCH_2) $(LDFLAGS) $(MY_LDFLAGS) $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
-
- # -s strips debug sections from executable in GCC
+ $(CXX) -o $(PROGPATH) $(LFLAGS_ALL)
diff --git a/app-arch/7-zip/files/7-zip-less-asm.patch b/app-arch/7-zip/files/7-zip-less-asm.patch
new file mode 100644
index 0000000..040b445
--- /dev/null
+++ b/app-arch/7-zip/files/7-zip-less-asm.patch
@@ -0,0 +1,41 @@
+--- a/CPP/7zip/7zip_gcc.mak 2021-12-25 09:00:00.000000000 -0500
++++ b/CPP/7zip/7zip_gcc.mak 2022-05-13 12:20:17.539629635 -0400
+@@ -1127,21 +1127,6 @@
+ endif
+ endif
+
+-ifdef USE_X86_ASM
+-$O/7zCrcOpt.o: ../../../../Asm/x86/7zCrcOpt.asm
+- $(MY_ASM) $(AFLAGS) $<
+-$O/XzCrc64Opt.o: ../../../../Asm/x86/XzCrc64Opt.asm
+- $(MY_ASM) $(AFLAGS) $<
+-$O/Sha1Opt.o: ../../../../Asm/x86/Sha1Opt.asm
+- $(MY_ASM) $(AFLAGS) $<
+-$O/Sha256Opt.o: ../../../../Asm/x86/Sha256Opt.asm
+- $(MY_ASM) $(AFLAGS) $<
+-
+-ifndef USE_JWASM
+-USE_X86_ASM_AES=1
+-endif
+-
+-else
+ $O/7zCrcOpt.o: ../../../../C/7zCrcOpt.c
+ $(CC) $(CFLAGS) $<
+ $O/XzCrc64Opt.o: ../../../../C/XzCrc64Opt.c
+@@ -1150,16 +1135,10 @@
+ $(CC) $(CFLAGS) $<
+ $O/Sha256Opt.o: ../../../../C/Sha256Opt.c
+ $(CC) $(CFLAGS) $<
+-endif
+
+
+-ifdef USE_X86_ASM_AES
+-$O/AesOpt.o: ../../../../Asm/x86/AesOpt.asm
+- $(MY_ASM) $(AFLAGS) $<
+-else
+ $O/AesOpt.o: ../../../../C/AesOpt.c
+ $(CC) $(CFLAGS) $<
+-endif
+
+
+ ifdef USE_X64_ASM
diff --git a/app-arch/7-zip/metadata.xml b/app-arch/7-zip/metadata.xml
index 004555a..d212dd9 100644
--- a/app-arch/7-zip/metadata.xml
+++ b/app-arch/7-zip/metadata.xml
@@ -5,4 +5,8 @@
<email>alex_y_xu@yahoo.ca</email>
<name>Alex Xu (Hello71)</name>
</maintainer>
+ <use>
+ <flag name="asm">Use assembly implementations (currently only amd64, arm64, x86)</flag>
+ <flag name="rar">RAR archive support, requires accepting unRAR license</flag>
+ </use>
</pkgmetadata>
diff --git a/app-arch/precomp-cpp/metadata.xml b/app-arch/precomp-cpp/metadata.xml
new file mode 100644
index 0000000..50e3faf
--- /dev/null
+++ b/app-arch/precomp-cpp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">schnaader/precomp-cpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/unar/unar-1.10.7-r1.ebuild b/app-arch/unar/unar-1.10.7-r1.ebuild
index f076cb7..30a0409 100644
--- a/app-arch/unar/unar-1.10.7-r1.ebuild
+++ b/app-arch/unar/unar-1.10.7-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="~amd64"
RDEPEND="
app-arch/bzip2:=