summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2024-01-11 21:38:31 +0100
committerDavid Seifert <soap@gentoo.org>2024-01-11 21:38:31 +0100
commit52735bce7c8ab20f7065430a1c9fd17590b2a6c9 (patch)
treea7223e0e9339585b4d0427ad92538fa6a033ea1e /app-arch/unar
parentdev-java/bndlib: Keyword 7.0.0 x86, #918926 (diff)
downloadgentoo-52735bce7c8ab20f7065430a1c9fd17590b2a6c9.tar.gz
gentoo-52735bce7c8ab20f7065430a1c9fd17590b2a6c9.tar.bz2
gentoo-52735bce7c8ab20f7065430a1c9fd17590b2a6c9.zip
app-arch/unar: add 1.10.8
Bug: https://bugs.gentoo.org/802813 Bug: https://bugs.gentoo.org/920359 Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'app-arch/unar')
-rw-r--r--app-arch/unar/Manifest1
-rw-r--r--app-arch/unar/files/unar-1.10.8-Wint-conversion.patch40
-rw-r--r--app-arch/unar/unar-1.10.8.ebuild55
3 files changed, 96 insertions, 0 deletions
diff --git a/app-arch/unar/Manifest b/app-arch/unar/Manifest
index 270ff06cac04..d85992391f30 100644
--- a/app-arch/unar/Manifest
+++ b/app-arch/unar/Manifest
@@ -1,2 +1,3 @@
DIST XADMaster-1.10.7.tar.gz 2064770 BLAKE2B f6119dfb46f3d617fafb5847f41d6c0f3e5e87c8cd0763cd8e5986fae1d5b1c6e6761e9e7e4fa84125003979151b2b34d35ff47dc9be3271107cf53f1be22644 SHA512 3447b6d8f3f4fa5eea93c6628a1633017da6ff09c580d5ce4fd422027b3b79acbf38d6e41a059806d1e60eb25a9d66889938b32599168dc2c0ca648e1c1976b1
+DIST XADMaster-1.10.8.tar.gz 2072715 BLAKE2B ffa674a007865a7bbe3b67a97ad41ac4c4d4fcaf90a39d410a1f7668ac5dd526d0af7b523aca951a3dcc8ee61eb1b7f17db88604464504b2273471f3c31f846a SHA512 34c6c47806877763e022720ac3f6097c9c369481f2bb4a1c1c22e65e2c6250835c73bc3f73e71764810acec8950b05ae9f2dc29348ff192ef22968776fc7efe4
DIST universal-detector-1.1.tar.gz 196274 BLAKE2B d84dc1f850031213d88c288341edcbb588197f23ae0d10632ed129e73e4cc2b7670c8c862bba2165fcc7421c265e4dc3e791ea188e3d2b647bd1ab9b428bb866 SHA512 e514670b3d37b2472ed3e9cb0fdc3298a8479772264b7573411f104be554222bec2e01f73e1f35db95620fe785bee2dcf9ddc9c2b1f4ff6b522fa64d14d020f5
diff --git a/app-arch/unar/files/unar-1.10.8-Wint-conversion.patch b/app-arch/unar/files/unar-1.10.8-Wint-conversion.patch
new file mode 100644
index 000000000000..73053c97b86a
--- /dev/null
+++ b/app-arch/unar/files/unar-1.10.8-Wint-conversion.patch
@@ -0,0 +1,40 @@
+Without this change, GCC 14 will fail compilation with an error:
+
+XADRAR5Parser.m: In function ‘+[XADRAR5Parser recognizeFileWithHandle:firstBytes:name:]’: XADRAR5Parser.m:79:5: warning: ‘XADRAR5Parser’ may not respond to ‘+signatureLocationInData:’
+ 79 | off_t signatureLocation = [self signatureLocationInData:data];
+ | ^~~~~
+XADRAR5Parser.m:79:5: warning: (messages without a matching method signature will be assumed to return ‘id’ and accept ‘...’ as arguments)
+XADRAR5Parser.m:79:31: error: initialization of ‘off_t’ {aka ‘long int’} from ‘id’ makes integer from pointer without a cast
+ 79 | off_t signatureLocation = [self signatureLocationInData:data];
+ | ^
+
+Submitted upstream: <https://github.com/MacPaw/XADMaster/pull/161>
+
+--- a/XADRAR5Parser.m
++++ b/XADRAR5Parser.m
+@@ -74,12 +74,6 @@ static inline BOOL IsZeroHeaderBlock(RAR5HeaderBlock block) { return IsZeroBlock
+ return 8;
+ }
+
+-+(BOOL)recognizeFileWithHandle:(CSHandle *)handle firstBytes:(NSData *)data name:(NSString *)name
+-{
+- off_t signatureLocation = [self signatureLocationInData:data];
+- return signatureLocation != RAR5SignatureNotFound;
+-}
+-
+ + (off_t)signatureLocationInData:(NSData *)data {
+ const uint8_t *bytes=[data bytes];
+ int length=[data length];
+@@ -98,6 +92,12 @@ static inline BOOL IsZeroHeaderBlock(RAR5HeaderBlock block) { return IsZeroBlock
+ return RAR5SignatureNotFound;
+ }
+
+++(BOOL)recognizeFileWithHandle:(CSHandle *)handle firstBytes:(NSData *)data name:(NSString *)name
++{
++ off_t signatureLocation = [self signatureLocationInData:data];
++ return signatureLocation != RAR5SignatureNotFound;
++}
++
+ +(NSArray *)volumesForHandle:(CSHandle *)handle firstBytes:(NSData *)data name:(NSString *)name
+ {
+ // Check if multipart
diff --git a/app-arch/unar/unar-1.10.8.ebuild b/app-arch/unar/unar-1.10.8.ebuild
new file mode 100644
index 000000000000..8192fdaf82b2
--- /dev/null
+++ b/app-arch/unar/unar-1.10.8.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 toolchain-funcs
+
+DESCRIPTION="Unpacker for various archiving formats, e.g. rar v3"
+HOMEPAGE="https://unarchiver.c3.cx/"
+SRC_URI="
+ https://github.com/MacPaw/XADMaster/archive/v${PV}/XADMaster-${PV}.tar.gz
+ https://github.com/MacPaw/universal-detector/archive/1.1/universal-detector-1.1.tar.gz"
+S="${WORKDIR}/XADMaster-${PV}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ app-arch/bzip2:=
+ dev-libs/icu:=
+ gnustep-base/gnustep-base:=
+ media-sound/wavpack
+ sys-libs/zlib"
+DEPEND="
+ ${RDEPEND}
+ gnustep-base/gnustep-make[native-exceptions]"
+
+PATCHES=( "${FILESDIR}"/${P}-Wint-conversion.patch )
+
+src_prepare() {
+ default
+ # avoid jobserver warning "make[1]: warning: jobserver unavailable: using -j1"
+ sed -i -e 's:make:$(MAKE):g' Makefile.linux || die
+ mv "${WORKDIR}/universal-detector-1.1" "${WORKDIR}/UniversalDetector" || die
+}
+
+src_compile() {
+ emake -f Makefile.linux \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ OBJCC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ OBJCFLAGS="${CFLAGS}" \
+ LD="$(tc-getCXX)" \
+ LDFLAGS="-Wl,--whole-archive -fexceptions -fgnu-runtime ${LDFLAGS}"
+}
+
+src_install() {
+ dobin {ls,un}ar
+ doman Extra/{ls,un}ar.1
+ dobashcomp Extra/{ls,un}ar.bash_completion
+}