commit:     52735bce7c8ab20f7065430a1c9fd17590b2a6c9
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 11 20:38:31 2024 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Thu Jan 11 20:38:31 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52735bce

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 <AT> gentoo.org>

 app-arch/unar/Manifest                             |  1 +
 .../unar/files/unar-1.10.8-Wint-conversion.patch   | 40 ++++++++++++++++
 app-arch/unar/unar-1.10.8.ebuild                   | 55 ++++++++++++++++++++++
 3 files changed, 96 insertions(+)

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
+}

Reply via email to