summaryrefslogtreecommitdiff
path: root/dev-libs/zziplib
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-15 08:46:53 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-15 08:46:53 +0000
commit17e82681588151572e451b0daf68fd568531d3e4 (patch)
treee45eeba1fd9dd2d998d6d00e05f5f70a1dc8da15 /dev-libs/zziplib
parent0ceac43bb67585fd9e439df53b32259ce1ae099e (diff)
gentoo auto-resync : 15:12:2023 - 08:46:53
Diffstat (limited to 'dev-libs/zziplib')
-rw-r--r--dev-libs/zziplib/Manifest2
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.72-incompatible-pointer-types.patch48
-rw-r--r--dev-libs/zziplib/zziplib-0.13.72-r4.ebuild53
3 files changed, 103 insertions, 0 deletions
diff --git a/dev-libs/zziplib/Manifest b/dev-libs/zziplib/Manifest
index 7fbdc4320cab..358f3f892eb3 100644
--- a/dev-libs/zziplib/Manifest
+++ b/dev-libs/zziplib/Manifest
@@ -1,4 +1,6 @@
AUX zziplib-0.13.72-Wint-conversion.patch 1043 BLAKE2B 6ff6a4079cd6fba6f67649eb41e175caae47455bcd31d4deebaa2e4e66995c8d9c0aa6ef3f9d2edbb18570f47a5e6350eb7ba2a644e7115954876357b3fe64e9 SHA512 45af2a1268ded5a2e88ce6956e3ad775e7c51ac4aebea753d630d53e465d3444bcdcbbc5d8e47b6843cd50d5cd3d1467648eba9059dad2fbb52704bf4525ce29
+AUX zziplib-0.13.72-incompatible-pointer-types.patch 1838 BLAKE2B 4211b5cb8f6ae4531ffb8463714f96ed9850a2a61e41449923519c99ac218fe54872363ade9238f52071b05b92e0f7660800300bbb4047865004e694cfb20429 SHA512 09a4af9a2880fe410fcbbbf3f6ba0af329f781e8a5078a634851298f27bb13eba83f010c0e3ff7c6e9d4a699b60935737d23383efc577401e3436cba502f0cf2
DIST zziplib-0.13.72.tar.gz 1162175 BLAKE2B ff5617645e25040e4666e5440651fbb2b04c0505c7bda08b158f44c63c5dd53ec97a9942908314c3b103a4685be49368e964d249fcf9b9d685e328f0ebabdedd SHA512 4bb089e74813c6fac9657cd96e44e4a6469bf86aba3980d885c4573e8db45e74fd07bbdfcec9f36297c72227c8c0b2c37dab1bc4326cef8529960e482fe501c8
EBUILD zziplib-0.13.72-r3.ebuild 1515 BLAKE2B 11c9a3507e5bd65c4d94b2e293e705abdda30377daf6dc9c0ced41194463fd77b46ee95e11c6493f14968da8206a5727322569460c615ebd806e2e03fa5c6890 SHA512 7dccdcdfed66231264e38ab697db070f133d6e70ca6fd4ca4b0358f4bf19927b367d7196957ca951a039a028de1ace0035e96c48e6bac0c0cedeb804b5d0c4d6
+EBUILD zziplib-0.13.72-r4.ebuild 1585 BLAKE2B 687ec28d53bae62360b4c5d6d7bffeabe4a4af1a02f61b89ee46e9983f600f8b00cc01eb1507d90207d32b599829e034d1051a4bca359593e165da3f13de8552 SHA512 dbb9146384ad4952711d41c14eb23ba957b7224767c9b2e36e00543b8cce0a1b33b3d05901b3b8ca200da20ac8eb72b06478966f29f56bf346cfcd47e995ce0c
MISC metadata.xml 300 BLAKE2B 5bd0efee346b2d954d36b1dd83e1d8ef54944ec7f7fb3a88bdcba73b2f85d0236cd638f763388ed43a30c44f9db5b83223310d66232731e6d37ef57315c04129 SHA512 0a233cbfe081cd55c76d8229261f1d8d8a8bf1435886c36e938a3a059a2db9b44bed165b7aeddbe568756a3e19e3cbd12dbee659a5a8eb2feea21c5f2ab35d22
diff --git a/dev-libs/zziplib/files/zziplib-0.13.72-incompatible-pointer-types.patch b/dev-libs/zziplib/files/zziplib-0.13.72-incompatible-pointer-types.patch
new file mode 100644
index 000000000000..6f6459bcc8a5
--- /dev/null
+++ b/dev-libs/zziplib/files/zziplib-0.13.72-incompatible-pointer-types.patch
@@ -0,0 +1,48 @@
+Remove implicit pointer types conversions.
+
+See also: https://wiki.gentoo.org/wiki/Modern_C_porting
+Bug: https://bugs.gentoo.org/919066
+Upstream PR: https://github.com/gdraheim/zziplib/pull/150
+
+--- a/SDL/SDL_rwops_zzip.c
++++ b/SDL/SDL_rwops_zzip.c
+@@ -15,17 +15,17 @@
+ #define SDL_RWOPS_ZZIP_FILE(_context) (ZZIP_FILE*) \
+ ((_context)->hidden.unknown.data1)
+
+-static int _zzip_seek(SDL_RWops *context, int offset, int whence)
++static Sint64 _zzip_seek(SDL_RWops *context, Sint64 offset, int whence)
+ {
+ return zzip_seek(SDL_RWOPS_ZZIP_FILE(context), offset, whence);
+ }
+
+-static int _zzip_read(SDL_RWops *context, void *ptr, int size, int maxnum)
++static size_t _zzip_read(SDL_RWops *context, void *ptr, size_t size, size_t maxnum)
+ {
+ return zzip_read(SDL_RWOPS_ZZIP_FILE(context), ptr, size*maxnum) / size;
+ }
+
+-static int _zzip_write(SDL_RWops *context, const void *ptr, int size, int num)
++static size_t _zzip_write(SDL_RWops *context, const void *ptr, size_t size, size_t num)
+ {
+ return 0; /* ignored */
+ }
+--- a/zzip/mmapped.c
++++ b/zzip/mmapped.c
+@@ -664,14 +664,14 @@ zzip_disk_entry_fopen(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry)
+ off_t offset = zzip_file_header_to_data(header);
+ if (csize == 0xFFFFu) {
+ struct zzip_extra_zip64* zip64 =
+- zzip_file_header_to_extras(header);
++ (struct zzip_extra_zip64*)zzip_file_header_to_extras(header);
+ if (ZZIP_EXTRA_ZIP64_CHECK(zip64)) {
+ csize = zzip_extra_zip64_csize(zip64);
+ }
+ }
+ if (offset == 0xFFFFu) {
+ struct zzip_extra_zip64* zip64 =
+- zzip_file_header_to_extras(header);
++ (struct zzip_extra_zip64*)zzip_file_header_to_extras(header);
+ if (ZZIP_EXTRA_ZIP64_CHECK(zip64)) {
+ offset = zzip_extra_zip64_offset(zip64);
+ }
diff --git a/dev-libs/zziplib/zziplib-0.13.72-r4.ebuild b/dev-libs/zziplib/zziplib-0.13.72-r4.ebuild
new file mode 100644
index 000000000000..b0fb082aea2a
--- /dev/null
+++ b/dev-libs/zziplib/zziplib-0.13.72-r4.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+# Needed for docs, bug #835755
+PYTHON_REQ_USE="xml(+)"
+inherit cmake flag-o-matic python-any-r1
+
+DESCRIPTION="Lightweight library for extracting data from files archived in a single zip file"
+HOMEPAGE="https://github.com/gdraheim/zziplib https://zziplib.sourceforge.net"
+SRC_URI="https://github.com/gdraheim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="sdl static-libs"
+
+# Tests require internet access
+# https://github.com/gdraheim/zziplib/issues/24
+
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+DEPEND="
+ sys-libs/zlib
+ sdl? ( >=media-libs/libsdl-1.2.6 )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.13.72-Wint-conversion.patch
+ "${FILESDIR}"/${PN}-0.13.72-incompatible-pointer-types.patch
+)
+
+src_configure() {
+ # https://github.com/gdraheim/zziplib/commit/f3bfc0dd6663b7df272cc0cf17f48838ad724a2f#diff-b7b1e314614cf326c6e2b6eba1540682R100
+ append-flags -fno-strict-aliasing
+ # https://github.com/gdraheim/zziplib/issues/140 (bug #869980)
+ append-flags $(test-flags-CC -Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion)
+
+ local mycmakeargs=(
+ -DZZIPSDL="$(usex sdl)"
+ -DBUILD_STATIC_LIBS="$(usex static-libs)"
+ -DBUILD_TESTS=OFF
+ -DZZIPTEST=OFF
+ -DZZIPDOCS=ON
+ -DZZIPWRAP=OFF
+ )
+
+ cmake_src_configure
+}