From d7193a8d3f16185878e117347e079de37f072f88 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Wed, 21 May 2025 13:27:21 +0200 Subject: [PATCH] zziplib, bump to 0.13.79, add xmlto for xml documentation (#12411) Split binaries/documentation in seperate packages --- .../zziplib/patches/zziplib-0.13.72.patchset | 219 ------------------ .../zziplib/patches/zziplib-0.13.79.patchset | 135 +++++++++++ ...-0.13.72.recipe => zziplib-0.13.79.recipe} | 93 +++++--- 3 files changed, 190 insertions(+), 257 deletions(-) delete mode 100644 dev-libs/zziplib/patches/zziplib-0.13.72.patchset create mode 100644 dev-libs/zziplib/patches/zziplib-0.13.79.patchset rename dev-libs/zziplib/{zziplib-0.13.72.recipe => zziplib-0.13.79.recipe} (66%) diff --git a/dev-libs/zziplib/patches/zziplib-0.13.72.patchset b/dev-libs/zziplib/patches/zziplib-0.13.72.patchset deleted file mode 100644 index 8681686e2..000000000 --- a/dev-libs/zziplib/patches/zziplib-0.13.72.patchset +++ /dev/null @@ -1,219 +0,0 @@ -From 337d44af5af916ada243f0ab2008aeab8a822ade Mon Sep 17 00:00:00 2001 -From: begasus -Date: Thu, 21 Jun 2018 17:31:25 +0200 -Subject: gcc2 fix - - -diff --git a/zzip/mmapped.c b/zzip/mmapped.c -index 2071882..dc643f5 100644 ---- a/zzip/mmapped.c -+++ b/zzip/mmapped.c -@@ -459,12 +459,14 @@ zzip_disk_findfirst(ZZIP_DISK * disk) - errno = EFBIG; - return 0; - } -+ { - zzip_size_t rootseek = zzip_disk64_trailer_get_rootseek(trailer); - rootsize = zzip_disk64_trailer_get_rootsize(trailer); - DBG2("disk64 rootseek at %lli", (long long)rootseek); - root = disk->buffer + rootseek; - if (root > p) - continue; -+ } - } else - { - continue; --- -2.30.0 - - -From 84aa69222fb02c3ef58a803bad0e32a8aa915b86 Mon Sep 17 00:00:00 2001 -From: Leorize -Date: Thu, 21 Jun 2018 17:34:03 +0200 -Subject: test: set LIBRARY_PATH instead of LD_LIBRARY_PATH - - -diff --git a/test/Makefile.am b/test/Makefile.am -index 49b3fc0..f0639ef 100644 ---- a/test/Makefile.am -+++ b/test/Makefile.am -@@ -80,7 +80,7 @@ zzshowme$(EXEEXT) : zzipself$(EXEEXT) zzipsetstub$(EXEEXT) - - check-sfx : zzshowme$(EXEEXT) - echo :$@: "./zzshowme readme >readme.out 2>readme.err" -- export LD_LIBRARY_PATH="../zzip/.libs:$$LD_LIBRARY_PATH" \ -+ export LIBRARY_PATH="../zzip/.libs:$$LD_LIBRARY_PATH" \ - ; ./zzshowme readme >readme.out 2>readme.err ; true - @ echo 'diff readme.out $(README) || grep "libzzip-" readme.err' \ - ; if test -s readme.out ; then diff readme.out $(README) \ --- -2.30.0 - - -From feca7337a49f664836aa65efa3844e136b0d5284 Mon Sep 17 00:00:00 2001 -From: Leorize -Date: Thu, 21 Jun 2018 17:36:28 +0200 -Subject: test: use rpath to direct zzipself to correct libpath - - -diff --git a/test/Makefile.am b/test/Makefile.am -index f0639ef..bd42521 100644 ---- a/test/Makefile.am -+++ b/test/Makefile.am -@@ -64,7 +64,7 @@ check-readme : $(zzcat) test.zip - - noinst_PROGRAMS = zzipself zzipsetstub - --zzipself_LDFLAGS = @ZZIPLIB_LDFLAGS@ -+zzipself_LDFLAGS = @ZZIPLIB_LDFLAGS@ -Wl,-rpath,\$$ORIGIN/../zzip/.libs - zzipself_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz - - ../zzip/libzzip.la : @top_srcdir@/zzip/*.c --- -2.30.0 - - -From 5e435c473ce8b9c146fd4d5cff9fab16dbc464dd Mon Sep 17 00:00:00 2001 -From: Leorize -Date: Sun, 7 Jun 2020 11:11:25 -0500 -Subject: zziptests: avoid large file list on the command line - -Some OS, like Haiku, have a small limit on the size of the argument -list. This causes the test to fail due to the large amount of files -passed through the command line. - -This commit walkaround the issue by streaming the list of files to zip -stdin, bypassing the limit. However this depends on the underlying shell -to have a printf builtin (so that the argument list limit won't apply to -it). - -diff --git a/test/zziptests.py b/test/zziptests.py -index f315dc7..b97dd94 100644 ---- a/test/zziptests.py -+++ b/test/zziptests.py -@@ -321,7 +321,7 @@ class ZZipTest(unittest.TestCase): - filename = os.path.join(tmpdir,"README") - filetext = self.readme() - self.mkfile(filename, filetext) -- shell("{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) -+ shell("printf '%s\\n' ??*.* README | {exe} ../{zipfile} -@".format(**locals()), cwd=tmpdir) - self.assertGreater(os.path.getsize(zipfile), 10) - def test_10002_make_test2_zip(self): - """ create a test2.zip for later tests using standard 'zip' -@@ -337,7 +337,7 @@ class ZZipTest(unittest.TestCase): - filename = os.path.join(tmpdir,"README") - filetext = self.readme() - self.mkfile(filename, filetext) -- shell("{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) -+ shell("printf '%s\\n' ??*.* README | {exe} ../{zipfile} -@".format(**locals()), cwd=tmpdir) - self.assertGreater(os.path.getsize(zipfile), 10) - def test_10003_make_test3_zip(self): - """ create a test3.zip for later tests using standard 'zip' -@@ -353,7 +353,7 @@ class ZZipTest(unittest.TestCase): - filename = os.path.join(tmpdir,"README") - filetext = self.readme() - self.mkfile(filename, filetext) -- shell("{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) -+ shell("printf '%s\\n' ??*.* README | {exe} ../{zipfile} -@".format(**locals()), cwd=tmpdir) - self.assertGreater(os.path.getsize(zipfile), 10) - def test_10004_make_test4_zip(self): - """ create a test4.zip for later tests using standard 'zip' -@@ -370,7 +370,7 @@ class ZZipTest(unittest.TestCase): - filename = os.path.join(tmpdir,"README") - filetext = self.readme() - self.mkfile(filename, filetext) -- shell("{exe} -n README ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) -+ shell("printf '%s\\n' ??*.* README | {exe} -n README ../{zipfile} -@".format(**locals()), cwd=tmpdir) - self.assertGreater(os.path.getsize(zipfile), 1000000) - def test_10005_make_test5_zip(self): - """ create a test5.zip for later tests using standard 'zip' -@@ -394,7 +394,7 @@ class ZZipTest(unittest.TestCase): - filename = os.path.join(tmpdir,"README") - filetext = self.readme() - self.mkfile(filename, filetext) -- shell("{exe} ../{zipfile} -r file* subdir* README".format(**locals()), cwd=tmpdir) -+ shell("printf '%s\\n' file* subdir* README | {exe} ../{zipfile} -r -@".format(**locals()), cwd=tmpdir) - self.assertGreater(os.path.getsize(zipfile), 1000000) - def test_10010_make_test0_dat(self): - """ create test.dat from test.zip with xorcopy """ --- -2.30.0 - - -From c87b7913740034006c1de93d00f795275de55411 Mon Sep 17 00:00:00 2001 -From: begasus -Date: Sun, 27 Sep 2020 09:41:53 +0000 -Subject: Fix crash - - -diff --git a/test/zziptests.py b/test/zziptests.py -index b97dd94..e9a04dd 100644 ---- a/test/zziptests.py -+++ b/test/zziptests.py -@@ -3662,7 +3662,7 @@ class ZZipTest(unittest.TestCase): - self.assertFalse(run.returncode) - # list the ZIPfile - exe=self.bins("unzip-mem"); -- run = shell("{chdir} {tmpdir} && ../{exe} -v {zipname}.zip".format(**locals()), returncodes = [0,-8]) -+ run = shell("printf '%s\\n' ??*.* | {chdir} {tmpdir} && ../{exe} -v {zipname}.zip".format(**locals()), returncodes = [0,-8]) - logg.error("FIXME: unzip-mem test_65485 is not solved") - self.skipTest("FIXME: not solved") - self.assertFalse(run.returncode) --- -2.30.0 - - -From 2993f0bfc32fd518495638b35ea3f47a12b2ec73 Mon Sep 17 00:00:00 2001 -From: begasus -Date: Sun, 27 Sep 2020 09:42:50 +0000 -Subject: Invalid compiler options for gcc2 - - -diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt -index c95e1d3..64d62c8 100644 ---- a/zzip/CMakeLists.txt -+++ b/zzip/CMakeLists.txt -@@ -109,8 +109,8 @@ if(UNIX) - -Wmissing-declarations - # -Wdeclaration-after-statement - -Werror-implicit-function-declaration -- -Wstrict-aliasing -- -Warray-bounds -+# -Wstrict-aliasing -+# -Warray-bounds - ) - endif() - --- -2.30.0 - - -From b4860bb00e6ccd366b1739ccb10fbc4321a3cb73 Mon Sep 17 00:00:00 2001 -From: begasus -Date: Tue, 29 Sep 2020 12:26:58 +0000 -Subject: Installing man3 pages - - -diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt -index 9271dd9..980a482 100644 ---- a/docs/CMakeLists.txt -+++ b/docs/CMakeLists.txt -@@ -129,6 +129,7 @@ add_custom_command(OUTPUT manpages.tar - COMMAND ${BASH} -c "ls -l `pwd`/manpages.tar >&2 || true" - DEPENDS zziplib.xml zzipmmapped.xml zzipfseeko.xml - VERBATIM) -+if(ZZIPLIB_HTMPAGES) - add_custom_command(OUTPUT htmpages.tar - COMMAND ${BASH} -c "test -d html && rm -rf html; mkdir html" - COMMAND ${PY} ${srcdir}/dbk2man.py -o html html zziplib.xml -@@ -139,6 +140,7 @@ add_custom_command(OUTPUT htmpages.tar - COMMAND ${BASH} -c "ls -l `pwd`/htmpages.tar || true" - DEPENDS zziplib.xml zzipmmapped.xml zzipfseeko.xml - VERBATIM) -+endif() - - add_custom_target(manpages DEPENDS manpages.tar) - add_custom_target(htmpages DEPENDS htmpages.tar) --- -2.30.0 - diff --git a/dev-libs/zziplib/patches/zziplib-0.13.79.patchset b/dev-libs/zziplib/patches/zziplib-0.13.79.patchset new file mode 100644 index 000000000..ee5479f31 --- /dev/null +++ b/dev-libs/zziplib/patches/zziplib-0.13.79.patchset @@ -0,0 +1,135 @@ +From 604e8a91836a51d2744cfa0e0814d28f373fcb21 Mon Sep 17 00:00:00 2001 +From: Leorize +Date: Thu, 21 Jun 2018 17:34:03 +0200 +Subject: test: set LIBRARY_PATH instead of LD_LIBRARY_PATH + + +diff --git a/test/Makefile.am b/test/Makefile.am +index 49b3fc0..f0639ef 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -80,7 +80,7 @@ zzshowme$(EXEEXT) : zzipself$(EXEEXT) zzipsetstub$(EXEEXT) + + check-sfx : zzshowme$(EXEEXT) + echo :$@: "./zzshowme readme >readme.out 2>readme.err" +- export LD_LIBRARY_PATH="../zzip/.libs:$$LD_LIBRARY_PATH" \ ++ export LIBRARY_PATH="../zzip/.libs:$$LD_LIBRARY_PATH" \ + ; ./zzshowme readme >readme.out 2>readme.err ; true + @ echo 'diff readme.out $(README) || grep "libzzip-" readme.err' \ + ; if test -s readme.out ; then diff readme.out $(README) \ +-- +2.48.1 + + +From c4f6eb1d21d6863a4be729d50c2b67d9a3eb855f Mon Sep 17 00:00:00 2001 +From: Leorize +Date: Thu, 21 Jun 2018 17:36:28 +0200 +Subject: test: use rpath to direct zzipself to correct libpath + + +diff --git a/test/Makefile.am b/test/Makefile.am +index f0639ef..bd42521 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -64,7 +64,7 @@ check-readme : $(zzcat) test.zip + + noinst_PROGRAMS = zzipself zzipsetstub + +-zzipself_LDFLAGS = @ZZIPLIB_LDFLAGS@ ++zzipself_LDFLAGS = @ZZIPLIB_LDFLAGS@ -Wl,-rpath,\$$ORIGIN/../zzip/.libs + zzipself_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz + + ../zzip/libzzip.la : @top_srcdir@/zzip/*.c +-- +2.48.1 + + +From 98f50c4e665af29200aa53bd7521ae728c993332 Mon Sep 17 00:00:00 2001 +From: Leorize +Date: Sun, 7 Jun 2020 11:11:25 -0500 +Subject: zziptests: avoid large file list on the command line + +Some OS, like Haiku, have a small limit on the size of the argument +list. This causes the test to fail due to the large amount of files +passed through the command line. + +This commit walkaround the issue by streaming the list of files to zip +stdin, bypassing the limit. However this depends on the underlying shell +to have a printf builtin (so that the argument list limit won't apply to +it). + +diff --git a/test/zziptests.py b/test/zziptests.py +index 8e21d9f..d5e5cb5 100644 +--- a/test/zziptests.py ++++ b/test/zziptests.py +@@ -334,7 +334,7 @@ class ZZipTest(unittest.TestCase): + filename = os.path.join(tmpdir, "README") + filetext = self.readme() + self.mkfile(filename, filetext) +- shell("{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) ++ shell("printf '%s\\n' ??*.* README | {exe} ../{zipfile} -@".format(**locals()), cwd=tmpdir) + self.assertGreater(os.path.getsize(zipfile), 10) + def test_10002_make_test2_zip(self) -> None: + """ create a test2.zip for later tests using standard 'zip' +@@ -350,7 +350,7 @@ class ZZipTest(unittest.TestCase): + filename = os.path.join(tmpdir, "README") + filetext = self.readme() + self.mkfile(filename, filetext) +- shell("{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) ++ shell("printf '%s\\n' ??*.* README | {exe} ../{zipfile} -@".format(**locals()), cwd=tmpdir) + self.assertGreater(os.path.getsize(zipfile), 10) + def test_10003_make_test3_zip(self) -> None: + """ create a test3.zip for later tests using standard 'zip' +@@ -366,7 +366,7 @@ class ZZipTest(unittest.TestCase): + filename = os.path.join(tmpdir, "README") + filetext = self.readme() + self.mkfile(filename, filetext) +- shell("{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) ++ shell("printf '%s\\n' ??*.* README | {exe} ../{zipfile} -@".format(**locals()), cwd=tmpdir) + self.assertGreater(os.path.getsize(zipfile), 10) + def test_10004_make_test4_zip(self) -> None: + """ create a test4.zip for later tests using standard 'zip' +@@ -383,7 +383,7 @@ class ZZipTest(unittest.TestCase): + filename = os.path.join(tmpdir, "README") + filetext = self.readme() + self.mkfile(filename, filetext) +- shell("{exe} -n README ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) ++ shell("printf '%s\\n' ??*.* README | {exe} -n README ../{zipfile} -@".format(**locals()), cwd=tmpdir) + self.assertGreater(os.path.getsize(zipfile), 1000000) + def test_10005_make_test5_zip(self) -> None: + """ create a test5.zip for later tests using standard 'zip' +@@ -407,7 +407,7 @@ class ZZipTest(unittest.TestCase): + filename = os.path.join(tmpdir, "README") + filetext = self.readme() + self.mkfile(filename, filetext) +- shell("{exe} ../{zipfile} -r file* subdir* README".format(**locals()), cwd=tmpdir) ++ shell("printf '%s\\n' file* subdir* README | {exe} ../{zipfile} -r -@".format(**locals()), cwd=tmpdir) + self.assertGreater(os.path.getsize(zipfile), 1000000) + def test_10010_make_test0_dat(self) -> None: + """ create test.dat from test.zip with xorcopy """ +-- +2.48.1 + + +From f420844f6d4dab38ef3159d4e8f4db406e53c4a0 Mon Sep 17 00:00:00 2001 +From: Luc Schrijvers +Date: Wed, 21 May 2025 12:56:20 +0200 +Subject: Fix install path for pkgconfig files + + +diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt +index 646903b..c300011 100644 +--- a/zzip/CMakeLists.txt ++++ b/zzip/CMakeLists.txt +@@ -304,7 +304,7 @@ set(outdir ${CMAKE_CURRENT_BINARY_DIR}) + + if(ZZIP_PKGCONFIG) + install(FILES ${outdir}/zziplib.pc ${outdir}/zzipmmapped.pc ${outdir}/zzipfseeko.pc +- DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig" ) ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ) + endif() + + install(FILES ${libzzip_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/zzip ) +-- +2.48.1 + diff --git a/dev-libs/zziplib/zziplib-0.13.72.recipe b/dev-libs/zziplib/zziplib-0.13.79.recipe similarity index 66% rename from dev-libs/zziplib/zziplib-0.13.72.recipe rename to dev-libs/zziplib/zziplib-0.13.79.recipe index d3944558e..50f1d20a0 100644 --- a/dev-libs/zziplib/zziplib-0.13.72.recipe +++ b/dev-libs/zziplib/zziplib-0.13.79.recipe @@ -5,16 +5,16 @@ HOMEPAGE="http://zziplib.sourceforge.net/" COPYRIGHT="1999-2010 Guido Draheim" LICENSE="GNU LGPL v2.1 MPL v1.1" -REVISION="2" +REVISION="1" SOURCE_URI="https://github.com/gdraheim/zziplib/archive/v$portVersion.tar.gz" -CHECKSUM_SHA256="93ef44bf1f1ea24fc66080426a469df82fa631d13ca3b2e4abaeab89538518dc" +CHECKSUM_SHA256="ed6f3017bb353b4a8f730c31a2fa065adb2d264c00d922aada48a5893eda26e4" SOURCE_FILENAME="zziplib-v$portVersion.tar.gz" PATCHES="zziplib-$portVersion.patchset" -ARCHITECTURES="all" +ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" -libVersion="13.0.72" +libVersion="13.0.79" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" @@ -24,20 +24,6 @@ PROVIDES=" lib:libzzipmmapped_0$secondaryArchSuffix = $libVersionCompat lib:libzzipwrap_0$secondaryArchSuffix = $libVersionCompat " -if [ -z "$secondaryArchSuffix" ]; then - PROVIDES="$PROVIDES - cmd:unzip_mem$secondaryArchSuffix = $portVersion - cmd:unzzip$secondaryArchSuffix = $portVersion - cmd:unzzip_big$secondaryArchSuffix = $portVersion - cmd:unzzip_mem$secondaryArchSuffix = $portVersion - cmd:unzzip_mix$secondaryArchSuffix = $portVersion - cmd:zzcat$secondaryArchSuffix = $portVersion - cmd:zzdir$secondaryArchSuffix = $portVersion - cmd:zzxorcat$secondaryArchSuffix = $portVersion - cmd:zzxorcopy$secondaryArchSuffix = $portVersion - cmd:zzxordir$secondaryArchSuffix = $portVersion - " -fi REQUIRES=" haiku$secondaryArchSuffix @@ -60,6 +46,33 @@ REQUIRES_devel=" devel:libz$secondaryArchSuffix " +PROVIDES_tools=" + zziplib${secondaryArchSuffix}_tools = $portVersion + cmd:unzip_mem = $portVersion + cmd:unzzip = $portVersion + cmd:unzzip_big = $portVersion + cmd:unzzip_mem = $portVersion + cmd:unzzip_mix = $portVersion + cmd:zzcat = $portVersion + cmd:zzdir = $portVersion + cmd:zzxorcat = $portVersion + cmd:zzxorcopy = $portVersion + cmd:zzxordir = $portVersion + " +REQUIRES_tools=" + zziplib$secondaryArchSuffix == $portVersion base + $REQUIRES + " + +ARCHITECTURES_doc="any" + +PROVIDES_doc=" + zziplib${secondaryArchSuffix}_doc = $portVersion + " +REQUIRES_doc=" + zziplib$secondaryArchSuffix == $portVersion base + " + BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libz$secondaryArchSuffix @@ -74,6 +87,7 @@ BUILD_PREREQUIRES=" cmd:sed cmd:tar cmd:zip + cmd:xmlto " PATCH() @@ -90,20 +104,19 @@ PATCH() BUILD() { - mkdir -p build && cd build - cmake $cmakeDirArgs -DCMAKE_BUILD_TYPE=Release .. - make $jobArgs + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DCMAKE_INSTALL_BINDIR=$prefix/bin \ + -DZZIP_HTMLSITE=ON \ + -DBUILD_TESTS=OFF \ + -Wno-dev + + make -C build $jobArgs } INSTALL() { - cd build - make install - - # remove commands for secondary architecture - if [ -n "$secondaryArchSuffix" ]; then - rm -rf $binDir $documentationDir - fi + make -C build install prepareInstalledDevelLibs \ libzzip-0 \ @@ -116,21 +129,25 @@ INSTALL() libzzipwrap fixPkgconfig - if [ -n "$secondaryArchSuffix" ]; then - rm -rf $manDir - maybe_manDir= - else - maybe_manDir=$manDir - fi - packageEntries devel \ $developDir \ $dataDir \ - $maybe_manDir + $libDir/cmake \ + $manDir + + packageEntries tools \ + $prefix/bin + + packageEntries doc \ + $documentationDir } TEST() { - cd build - make check + # pulls in downloads for testing + # Ran 223 tests in 22.870s + # OK (skipped=7) + # [100%] Built target tests + # [100%] Built target check + make -C build check }