summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/unar')
-rw-r--r--app-arch/unar/Manifest2
-rw-r--r--app-arch/unar/files/unar-1.10.8-Wint-conversion.patch40
-rw-r--r--app-arch/unar/metadata.xml7
-rw-r--r--app-arch/unar/unar-1.10.8.ebuild (renamed from app-arch/unar/unar-1.10.7.ebuild)48
4 files changed, 77 insertions, 20 deletions
diff --git a/app-arch/unar/Manifest b/app-arch/unar/Manifest
index 270ff06cac04..1bac5fca46f0 100644
--- a/app-arch/unar/Manifest
+++ b/app-arch/unar/Manifest
@@ -1,2 +1,2 @@
-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/metadata.xml b/app-arch/unar/metadata.xml
index e6cd877e7798..6331a43e5661 100644
--- a/app-arch/unar/metadata.xml
+++ b/app-arch/unar/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>soap@gentoo.org</email>
- <name>David Seifert</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">MacPaw/XADMaster</remote-id>
</upstream>
diff --git a/app-arch/unar/unar-1.10.7.ebuild b/app-arch/unar/unar-1.10.8.ebuild
index 8e9518d4b8e6..77668d74dd51 100644
--- a/app-arch/unar/unar-1.10.7.ebuild
+++ b/app-arch/unar/unar-1.10.8.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit bash-completion-r1 toolchain-funcs
@@ -9,29 +9,49 @@ 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
-"
+ 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"
-BDEPEND="
- sys-devel/gcc[objc]
-"
RDEPEND="
app-arch/bzip2:=
dev-libs/icu:=
gnustep-base/gnustep-base:=
media-sound/wavpack
- sys-libs/zlib
-"
-DEPEND="${RDEPEND}
- ${BDEPEND}
- gnustep-base/gnustep-make[native-exceptions]
-"
+ sys-libs/zlib"
+DEPEND="
+ ${RDEPEND}
+ gnustep-base/gnustep-make[native-exceptions]"
+BDEPEND="
+ || (
+ sys-devel/gcc[objc]
+ gnustep-base/gnustep-make[libobjc2]
+ )"
-S="${WORKDIR}/XADMaster-${PV}"
+PATCHES=( "${FILESDIR}"/${P}-Wint-conversion.patch )
+
+check_objc_toolchain() {
+ if tc-is-gcc; then
+ has_version 'sys-devel/gcc[-objc]' &&
+ die "GCC requires sys-devel/gcc with USE=objc"
+ elif tc-is-clang; then
+ has_version 'gnustep-base/gnustep-make[-libobjc2]' &&
+ die "Clang requires gnustep-base/gnustep-make with USE=libobjc2"
+ else
+ die "${PN} can only be build using GCC or Clang"
+ fi
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_objc_toolchain
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_objc_toolchain
+}
src_prepare() {
default