diff options
author | Volkmar W. Pogatzki <gentoo@pogatzki.net> | 2020-07-27 12:26:42 +0200 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2020-08-15 12:29:48 +0300 |
commit | 48f85b04cad6910dfeda4f6f7bae80b3a19c6cd3 (patch) | |
tree | f135474628b20fa4191f01253e3f505b45c101b2 /dev-libs | |
parent | dev-util/conan: remove old versions (diff) | |
download | gentoo-48f85b04cad6910dfeda4f6f7bae80b3a19c6cd3.tar.gz gentoo-48f85b04cad6910dfeda4f6f7bae80b3a19c6cd3.tar.bz2 gentoo-48f85b04cad6910dfeda4f6f7bae80b3a19c6cd3.zip |
dev-libs/zziplib: 0.13.71 version bump
Closes: https://bugs.gentoo.org/723418
Thanks to Nico R. for the ebuild attached to the bug
Adding myself as a proxied maintainer
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/16851
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/zziplib/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/zziplib/files/zziplib-0.13.69-009-perror.patch | 13 | ||||
-rw-r--r-- | dev-libs/zziplib/files/zziplib-0.13.71-find-bash.patch | 44 | ||||
-rw-r--r-- | dev-libs/zziplib/files/zziplib-0.13.71-join-paths-pc-zzipsdldir.patch | 26 | ||||
-rw-r--r-- | dev-libs/zziplib/files/zziplib-0.13.71-shell-DESTDIR.patch | 51 | ||||
-rw-r--r-- | dev-libs/zziplib/files/zziplib-0.13.71-testbuilds-opensuse15-ninja-sdl2.patch | 137 | ||||
-rw-r--r-- | dev-libs/zziplib/metadata.xml | 9 | ||||
-rw-r--r-- | dev-libs/zziplib/zziplib-0.13.71.ebuild | 68 |
8 files changed, 348 insertions, 1 deletions
diff --git a/dev-libs/zziplib/Manifest b/dev-libs/zziplib/Manifest index 9c8fa1075fee..84aef6fe9d6f 100644 --- a/dev-libs/zziplib/Manifest +++ b/dev-libs/zziplib/Manifest @@ -2,3 +2,4 @@ DIST zziplib-0.13.69-html.tar.xz 152536 BLAKE2B 05f14b2e6d2e3af4488096eabc161422 DIST zziplib-0.13.69-man.tar.xz 10988 BLAKE2B 2c3c5cfd17b3d3e17a3e72031b2246e32c9fe471b9578a4717c128725493054ceafc34763a763d31cf5532f082a596a6bceb8e417ef70476a59f4daa0a14b587 SHA512 5a804896a2d06b1d32d6b8715ffdb374ff7179145d033e919acecd46426dad3e44d4889adabce33e7f6bbc18e2b70b50a8a059498bf4f1f3d6844dda90c33c7e DIST zziplib-0.13.69-patches.tar.xz 5000 BLAKE2B 4612052bb8a312831daec9283cad8593b2161e2acd76122a982339154cd76d58b5398c61f605e3e29e0f63399c9a176710f95a1e6632ff4e1249ac596978006b SHA512 16190e20b8c722f3aee8e77ef7cc24026976b067402430c833d21761a13e32ed5f2eff543a2c13469e442d01c2ed5ae373badd6b8851c962852d6c09620a0d91 DIST zziplib-0.13.69.tar.gz 1132204 BLAKE2B 92e9f5e95665c7a47d1e472f570402e3c174d404abf461bed644ea8a37ff7661ee98b8fa241728aae375e32c470f2f48a817f72410eeda81a6a3be6e6bdb2635 SHA512 ade026289737f43ca92a8746818d87dd7618d473dbce159546ce9071c9e4cbe164a6b1c9efff16efb7aa0327b2ec6b34f3256c6bda19cd6e325703fffc810ef0 +DIST zziplib-0.13.71.tar.gz 1150654 BLAKE2B 00394de5da8b3c5b95ef0aea060e523354845261b846e3c876b13d2d05c6569496475a279d6b211c3215a6f17e6bfe53958baabcebb13cd72d30a9f0c40d9449 SHA512 e035d0ac26dca78335ae3defc652543ff7b353a1a95d76ed1beeb21a08e16f287a62d488f528cfbb77d5b558581b68d439aa0823577524e9aa61a3cf5f208cb5 diff --git a/dev-libs/zziplib/files/zziplib-0.13.69-009-perror.patch b/dev-libs/zziplib/files/zziplib-0.13.69-009-perror.patch new file mode 100644 index 000000000000..678ff3670df4 --- /dev/null +++ b/dev-libs/zziplib/files/zziplib-0.13.69-009-perror.patch @@ -0,0 +1,13 @@ +Index: zziplib-0.13.69/bins/unzip-mem.c +=================================================================== +--- zziplib-0.13.69.orig/bins/unzip-mem.c ++++ zziplib-0.13.69/bins/unzip-mem.c +@@ -93,7 +93,7 @@ static void zzip_mem_entry_make(ZZIP_MEM + { + FILE* file = fopen (entry->zz_name, "wb"); + if (file) { zzip_mem_entry_pipe (disk, entry, file); fclose (file); } +- perror (entry->zz_name); ++ else perror (entry->zz_name); + if (status < EXIT_WARNINGS) status = EXIT_WARNINGS; + } + diff --git a/dev-libs/zziplib/files/zziplib-0.13.71-find-bash.patch b/dev-libs/zziplib/files/zziplib-0.13.71-find-bash.patch new file mode 100644 index 000000000000..e29599c1b2d1 --- /dev/null +++ b/dev-libs/zziplib/files/zziplib-0.13.71-find-bash.patch @@ -0,0 +1,44 @@ +diff --git a/SDL/CMakeLists.txt b/SDL/CMakeLists.txt +index 7ceba4a..c1b8172 100644 +--- a/SDL/CMakeLists.txt ++++ b/SDL/CMakeLists.txt +@@ -47,6 +47,7 @@ endif() + + if(SDL_FOUND) + if(UNIX) ++find_package ( UnixCommands REQUIRED ) # bash + join_paths(libdir "\${prefix}" "${CMAKE_INSTALL_LIBDIR}") + join_paths(includedir "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") + add_custom_command(OUTPUT SDL_rwops_zzip.pc +diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt +index a9f6e3a..2cdd275 100644 +--- a/zzip/CMakeLists.txt ++++ b/zzip/CMakeLists.txt +@@ -194,6 +194,7 @@ SET_TARGET_PROPERTIES(libzzipmmapped PROPERTIES VERSION ${VERNUM}.${FIXNUM} SOVE + endif() + + if(ZZIPCOMPAT) ++find_package ( UnixCommands REQUIRED ) # bash + add_custom_command(OUTPUT compat/zzip.h + COMMAND ${BASH} -c "rm -rf compat; mkdir compat" + COMMAND ${BASH} -c "echo '#ifndef ZZIP_WARNING' > compat/zzip.h" +@@ -215,6 +216,7 @@ add_custom_target(compat ALL DEPENDS compat/zzip.h) + endif() + + if(UNIX) ++find_package ( UnixCommands REQUIRED ) # bash + join_paths(libdir "\${prefix}" "${CMAKE_INSTALL_LIBDIR}") + join_paths(includedir "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") + add_custom_command(OUTPUT zziplib.pc +diff --git a/zzipwrap/CMakeLists.txt b/zzipwrap/CMakeLists.txt +index 220d93b..d0bf1ae 100644 +--- a/zzipwrap/CMakeLists.txt ++++ b/zzipwrap/CMakeLists.txt +@@ -49,6 +49,7 @@ target_link_libraries(zzipwrap libzzipwrap ) + target_include_directories(zzipwrap PRIVATE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") + + if(UNIX) ++find_package ( UnixCommands REQUIRED ) # bash + join_paths(libdir "\${prefix}" "${CMAKE_INSTALL_LIBDIR}") + join_paths(includedir "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") + add_custom_command(OUTPUT zzipwrap.pc diff --git a/dev-libs/zziplib/files/zziplib-0.13.71-join-paths-pc-zzipsdldir.patch b/dev-libs/zziplib/files/zziplib-0.13.71-join-paths-pc-zzipsdldir.patch new file mode 100644 index 000000000000..7597f989dcc7 --- /dev/null +++ b/dev-libs/zziplib/files/zziplib-0.13.71-join-paths-pc-zzipsdldir.patch @@ -0,0 +1,26 @@ +commit 497c1598cea9dcb13d210de59b1dc65425ca5fdb +Author: Jan Tojnar <jtojnar@gmail.com> +Date: Thu Apr 16 20:09:11 2020 +0200 + + build: Produce more correct pc file with zzipsdldir + + Just like described in commit 892dea3b82208654cc9f57ffc4ef555d0d934cf5, + the CMAKE_INSTALL_INCLUDEDIR variable can be absolute path so simply + appending it to \${prefix} might not work. + +diff --git a/SDL/CMakeLists.txt b/SDL/CMakeLists.txt +index 7ceba4a..6a4f860 100644 +--- a/SDL/CMakeLists.txt ++++ b/SDL/CMakeLists.txt +@@ -49,9 +49,10 @@ if(SDL_FOUND) + if(UNIX) + join_paths(libdir "\${prefix}" "${CMAKE_INSTALL_LIBDIR}") + join_paths(includedir "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") ++join_paths(pc_zzipsdldir "\${prefix}" "${zzipsdldir}") + add_custom_command(OUTPUT SDL_rwops_zzip.pc + COMMAND ${BASH} -c "echo 'prefix=${CMAKE_INSTALL_PREFIX}' > SDL_rwops_zzip.pc" +- COMMAND ${BASH} -c "echo 'zzipsdldir=\${prefix}/${zzipsdldir}' >> SDL_rwops_zzip.pc" ++ COMMAND ${BASH} -c "echo 'zzipsdldir=${pc_zzipsdldir}' >> SDL_rwops_zzip.pc" + COMMAND ${BASH} -c "echo '' >> SDL_rwops_zzip.pc" + COMMAND ${BASH} -c "echo 'Name: SDL_rwops_zzip' >> SDL_rwops_zzip.pc" + COMMAND ${BASH} -c "echo 'Version: ${PROJECT_VERSION}' >> SDL_rwops_zzip.pc" diff --git a/dev-libs/zziplib/files/zziplib-0.13.71-shell-DESTDIR.patch b/dev-libs/zziplib/files/zziplib-0.13.71-shell-DESTDIR.patch new file mode 100644 index 000000000000..582a1504ee03 --- /dev/null +++ b/dev-libs/zziplib/files/zziplib-0.13.71-shell-DESTDIR.patch @@ -0,0 +1,51 @@ +commit 75e22f3c365b62acbad8d8645d5404242800dfba +Author: Guido Draheim <guidod@gmx.de> +Date: Fri Apr 17 20:47:59 2020 +0200 + + #88 use shell $DESTDIR instead of make $(DESTDIR) + +diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt +index 442e877..d1284e6 100644 +--- a/docs/CMakeLists.txt ++++ b/docs/CMakeLists.txt +@@ -145,27 +145,27 @@ string(REPLACE ";" " " all_bins_FILES "${bins_FILES}") + string(REPLACE ";" " " all_SDLs_FILES "${SDLs_FILES}") + add_custom_target(install-site + COMMAND ${BASH} -c "ls -l ${CMAKE_CURRENT_BINARY_DIR}/site.html" +- COMMAND ${BASH} -c "mkdir -vp $(DESTDIR)${docdir} >&2 || ls -ld $(DESTDIR)${docdir} >&2" +- COMMAND ${BASH} -c "cd ${outdir} && cp zziplib.html zzipmmapped.html zzipfseeko.html $(DESTDIR)${docdir}/" +- COMMAND ${BASH} -c "cd ${srcdir} && cp README.* COPYING.* $(DESTDIR)${docdir}/" +- COMMAND ${BASH} -c "cd ${topdir} && cp ChangeLog $(DESTDIR)${docdir}/" +- COMMAND ${BASH} -c "cd ${topdir} && cp ${all_bins_FILES} $(DESTDIR)${docdir}/" +- COMMAND ${BASH} -c "cd ${topdir} && cp ${all_SDLs_FILES} $(DESTDIR)${docdir}/" +- COMMAND ${BASH} -c "cd $(DESTDIR)${docdir} && cp ${outdir}/*.html ." +- COMMAND ${BASH} -c "cd $(DESTDIR)${docdir} && ln -s zzip-index.html index.html" ++ COMMAND ${BASH} -c "mkdir -vp $DESTDIR${docdir} >&2 || ls -ld $DESTDIR${docdir} >&2" ++ COMMAND ${BASH} -c "cd ${outdir} && cp zziplib.html zzipmmapped.html zzipfseeko.html $DESTDIR${docdir}/" ++ COMMAND ${BASH} -c "cd ${srcdir} && cp README.* COPYING.* $DESTDIR${docdir}/" ++ COMMAND ${BASH} -c "cd ${topdir} && cp ChangeLog $DESTDIR${docdir}/" ++ COMMAND ${BASH} -c "cd ${topdir} && cp ${all_bins_FILES} $DESTDIR${docdir}/" ++ COMMAND ${BASH} -c "cd ${topdir} && cp ${all_SDLs_FILES} $DESTDIR${docdir}/" ++ COMMAND ${BASH} -c "cd $DESTDIR${docdir} && cp ${outdir}/*.html ." ++ COMMAND ${BASH} -c "cd $DESTDIR${docdir} && ln -s zzip-index.html index.html" + DEPENDS site.html zziplib.html zzipmmapped.html zzipfseeko.html + VERBATIM) + add_custom_target(install-htmpages + COMMAND ${BASH} -c "ls -l ${CMAKE_CURRENT_BINARY_DIR}/*pages.tar" +- COMMAND ${BASH} -c "mkdir -vp $(DESTDIR)${docdir} >&2 || ls -ld $(DESTDIR)${docdir} >&2" +- COMMAND ${BASH} -c "cd $(DESTDIR)${docdir} && tar x -f ${outdir}/htmpages.tar" +- COMMAND ${BASH} -c "cd $(DESTDIR)${docdir} && mv html man" ++ COMMAND ${BASH} -c "mkdir -vp $DESTDIR${docdir} >&2 || ls -ld $DESTDIR${docdir} >&2" ++ COMMAND ${BASH} -c "cd $DESTDIR${docdir} && tar x -f ${outdir}/htmpages.tar" ++ COMMAND ${BASH} -c "cd $DESTDIR${docdir} && mv html man" + DEPENDS htmpages.tar + VERBATIM) + add_custom_target(install-manpages + COMMAND ${BASH} -c "ls -l ${CMAKE_CURRENT_BINARY_DIR}/*pages.tar" +- COMMAND ${BASH} -c "mkdir -vp $(DESTDIR)${mandir} >&2 || ls -ld $(DESTDIR)${mandir} >&2" +- COMMAND ${BASH} -c "cd $(DESTDIR)${mandir} && tar xf ${outdir}/manpages.tar" ++ COMMAND ${BASH} -c "mkdir -vp $DESTDIR${mandir} >&2 || ls -ld $DESTDIR${mandir} >&2" ++ COMMAND ${BASH} -c "cd $DESTDIR${mandir} && tar xf ${outdir}/manpages.tar" + DEPENDS manpages.tar + VERBATIM) + add_custom_target(install-docs DEPENDS install-manpages install-htmpages install-site) diff --git a/dev-libs/zziplib/files/zziplib-0.13.71-testbuilds-opensuse15-ninja-sdl2.patch b/dev-libs/zziplib/files/zziplib-0.13.71-testbuilds-opensuse15-ninja-sdl2.patch new file mode 100644 index 000000000000..d2436ae90120 --- /dev/null +++ b/dev-libs/zziplib/files/zziplib-0.13.71-testbuilds-opensuse15-ninja-sdl2.patch @@ -0,0 +1,137 @@ +commit ddaa538e8cfa46413b0e92613b54123e4b759616 +Author: Guido Draheim <guidod@gmx.de> +Date: Fri Apr 17 20:46:30 2020 +0200 + + #88 adding testbuilds/opensuse15-ninja-sdl2.dockerfile + +diff --git a/testbuilds.py b/testbuilds.py +index 756e77e..35ac70c 100755 +--- a/testbuilds.py ++++ b/testbuilds.py +@@ -1080,6 +1080,42 @@ class ZZiplibBuildTest(unittest.TestCase): + cmd = "docker rmi {images}:{testname}" + sx____(cmd.format(**locals())) + self.rm_testdir() ++ def test_431_opensuse15_ninja_sdl2_dockerfile(self): ++ if not os.path.exists(DOCKER_SOCKET): self.skipTest("docker-based test") ++ testname=self.testname() ++ testdir = self.testdir() ++ dockerfile="testbuilds/opensuse15-ninja-sdl2.dockerfile" ++ addhosts = self.local_addhosts(dockerfile) ++ savename = docname(dockerfile) ++ saveto = SAVETO ++ images = IMAGES ++ build = "build --build-arg=no_check=true" ++ cmd = "docker {build} . -f {dockerfile} {addhosts} --tag {images}:{testname}" ++ sh____(cmd.format(**locals())) ++ cmd = "docker rm --force {testname}" ++ sx____(cmd.format(**locals())) ++ cmd = "docker run -d --name {testname} {images}:{testname} sleep 60" ++ sh____(cmd.format(**locals())) ++ #:# container = self.ip_container(testname) ++ cmd = "docker exec {testname} ls -l /usr/local/bin" ++ sh____(cmd.format(**locals())) ++ cmd = "docker exec {testname} find /usr/local/include -type f" ++ sh____(cmd.format(**locals())) ++ cmd = "docker exec {testname} bash -c 'ls -l /usr/local/lib64/libzz*'" ++ sh____(cmd.format(**locals())) ++ # ++ cmd = "docker exec {testname} bash -c 'test -d /usr/local/include/SDL_rwops_zzip'" ++ sh____(cmd.format(**locals())) ++ # ++ cmd = "docker rm --force {testname}" ++ sx____(cmd.format(**locals())) ++ cmd = "docker rmi {saveto}/{savename}:latest" ++ sx____(cmd.format(**locals())) ++ cmd = "docker tag {images}:{testname} {saveto}/{savename}:latest" ++ sh____(cmd.format(**locals())) ++ cmd = "docker rmi {images}:{testname}" ++ sx____(cmd.format(**locals())) ++ self.rm_testdir() + def test_701_centos7_am_docs_dockerfile(self): + if not os.path.exists(DOCKER_SOCKET): self.skipTest("docker-based test") + testname=self.testname() +@@ -1520,6 +1556,53 @@ class ZZiplibBuildTest(unittest.TestCase): + cmd = "docker rm --force {testname2}" + sx____(cmd.format(**locals())) + self.rm_testdir() ++ def test_9431_opensuse_ninja_sdl2_dockerfile(self): ++ if not os.path.exists(DOCKER_SOCKET): self.skipTest("docker-based test") ++ testname1=self.testname() + "_1" ++ testname2=self.testname() + "_2" ++ testdir = self.testdir() ++ dockerfile1="testbuilds/opensuse15-sdl2.dockerfile" ++ dockerfile2="testbuilds/opensuse15-ninja-sdl2.dockerfile" ++ addhosts = self.local_addhosts(dockerfile1) ++ savename1 = docname(dockerfile1) ++ savename2 = docname(dockerfile2) ++ saveto = SAVETO ++ images = IMAGES ++ cmd = "docker rm --force {testname1}" ++ sx____(cmd.format(**locals())) ++ cmd = "docker rm --force {testname2}" ++ sx____(cmd.format(**locals())) ++ cmd = "docker run -d --name {testname1} {addhosts} {saveto}/{savename1} sleep 600" ++ sh____(cmd.format(**locals())) ++ cmd = "docker run -d --name {testname2} {addhosts} {saveto}/{savename2} sleep 600" ++ # ++ sh____(cmd.format(**locals())) ++ cmd = "docker exec {testname2} bash -c 'cd /usr/local && tar czvf /local.tgz .'" ++ sh____(cmd.format(**locals())) ++ cmd = "docker cp {testname2}:/local.tgz tmp.local.tgz" ++ sh____(cmd.format(**locals())) ++ cmd = "docker cp tmp.local.tgz {testname1}:/local.tgz" ++ sh____(cmd.format(**locals())) ++ cmd = "rm tmp.local.tgz" ++ sh____(cmd.format(**locals())) ++ cmd = "docker exec {testname1} mkdir -p /new/local" ++ sh____(cmd.format(**locals())) ++ cmd = "docker exec {testname1} bash -c 'cd /new/local && tar xzvf /local.tgz'" ++ sh____(cmd.format(**locals())) ++ # ++ item="{}" ++ end="\\;" ++ cmd = "docker exec {testname1} diff -urw --no-dereference /usr/local /new/local" ++ sx____(cmd.format(**locals())) ++ out = output(cmd.format(**locals())) ++ self.assertFalse(greps(out, "---")) ++ self.assertFalse(greps(out, "Only")) ++ # ++ cmd = "docker rm --force {testname1}" ++ sx____(cmd.format(**locals())) ++ cmd = "docker rm --force {testname2}" ++ sx____(cmd.format(**locals())) ++ self.rm_testdir() + def test_9711_centos7_docs_dockerfile(self): + if not os.path.exists(DOCKER_SOCKET): self.skipTest("docker-based test") + testname1=self.testname() + "_1" +diff --git a/testbuilds/opensuse15-ninja-sdl2.dockerfile b/testbuilds/opensuse15-ninja-sdl2.dockerfile +new file mode 100644 +index 0000000..8a46dd4 +--- /dev/null ++++ b/testbuilds/opensuse15-ninja-sdl2.dockerfile +@@ -0,0 +1,24 @@ ++FROM opensuse/leap:15.1 ++ARG no_check=false ++ARG no_install=false ++# -DMAKE_INSTALL_PREFIX:PATH=/usr ++ ++RUN zypper refresh repo-oss ++RUN zypper install -r repo-oss -y gcc zlib-devel python3 cmake unzip zip gzip tar libSDL2-devel ninja ++ ++RUN mkdir src ++COPY CMakeLists.txt README COPYING.LIB ChangeLog src/ ++COPY CMakeScripts src/CMakeScripts ++COPY bins src/bins ++COPY docs src/docs ++COPY test src/test ++COPY SDL src/SDL ++COPY zzipwrap src/zzipwrap ++COPY zzip src/zzip ++ ++RUN mkdir src/build ++RUN cd src/build && cmake .. -GNinja ++RUN cd src/build && ninja ++RUN $no_check || (cd src/build && ninja check VERBOSE=1) ++RUN $no_install || (cd src/build && ninja install) ++ diff --git a/dev-libs/zziplib/metadata.xml b/dev-libs/zziplib/metadata.xml index e127af637176..c47cd2c82f84 100644 --- a/dev-libs/zziplib/metadata.xml +++ b/dev-libs/zziplib/metadata.xml @@ -1,7 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person"> + <email>gentoo@pogatzki.net</email> + <name>Volkmar W. Pogatzki</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="sourceforge">zziplib</remote-id> </upstream> diff --git a/dev-libs/zziplib/zziplib-0.13.71.ebuild b/dev-libs/zziplib/zziplib-0.13.71.ebuild new file mode 100644 index 000000000000..c325793d9946 --- /dev/null +++ b/dev-libs/zziplib/zziplib-0.13.71.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8} ) +inherit cmake eutils flag-o-matic python-any-r1 + +DESCRIPTION="Lightweight library for extracting data from files archived in a single zip file" +HOMEPAGE="http://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" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="doc sdl static-libs test" + +RESTRICT="!test? ( test )" + +BDEPEND=" + doc? ( + ${PYTHON_DEPS} + ) + test? ( + ${PYTHON_DEPS} + app-arch/zip + ) +" +DEPEND=" + sys-libs/zlib + sdl? ( >=media-libs/libsdl-1.2.6 ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/zziplib-0.13.69-009-perror.patch + "${FILESDIR}"/zziplib-0.13.71-join-paths-pc-zzipsdldir.patch + "${FILESDIR}"/zziplib-0.13.71-find-bash.patch + "${FILESDIR}"/zziplib-0.13.71-testbuilds-opensuse15-ninja-sdl2.patch + "${FILESDIR}"/zziplib-0.13.71-shell-DESTDIR.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + (use test || use doc) && python_fix_shebang . +} + +src_configure() { + append-flags -fno-strict-aliasing # bug reported upstream + + append-cppflags -D_ZZIP_LARGEFILE + local mycmakeargs=( + -DZZIPCOMPAT=OFF + -DZZIPSDL="$(usex sdl ON OFF)" + -DBUILD_STATIC_LIBS="$(usex static-libs ON OFF)" + -DBUILD_TESTS="$(usex test ON OFF)" + -DZZIPTEST="$(usex test ON OFF)" + -DZZIPDOCS="$(usex doc ON OFF)" + -DZZIPWRAP=OFF + ) + + cmake_src_configure +} |