summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolkmar W. Pogatzki <gentoo@pogatzki.net>2020-07-27 12:26:42 +0200
committerJoonas Niilola <juippis@gentoo.org>2020-08-15 12:29:48 +0300
commit48f85b04cad6910dfeda4f6f7bae80b3a19c6cd3 (patch)
treef135474628b20fa4191f01253e3f505b45c101b2 /dev-libs
parentdev-util/conan: remove old versions (diff)
downloadgentoo-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/Manifest1
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.69-009-perror.patch13
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.71-find-bash.patch44
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.71-join-paths-pc-zzipsdldir.patch26
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.71-shell-DESTDIR.patch51
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.71-testbuilds-opensuse15-ninja-sdl2.patch137
-rw-r--r--dev-libs/zziplib/metadata.xml9
-rw-r--r--dev-libs/zziplib/zziplib-0.13.71.ebuild68
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
+}