commit:     9b91b03948c710ae7f93a71151548714821077ca
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 27 01:15:55 2017 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Jan 27 01:16:08 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b91b039

dev-games/physfs: Revbump to fix an issue with >=sys-libs/zlib-1.2.9

(see http://icculus.org/pipermail/physfs/2017-January/001217.html)

Big thank you to Andrei Karas (games-rpg/manaplus developer) for
pointing me in the right direction and providing a patch.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-games/physfs/files/physfs-2.0.3-zip_seek.diff | 15 ++++++
 dev-games/physfs/physfs-2.0.3-r2.ebuild           | 63 +++++++++++++++++++++++
 2 files changed, 78 insertions(+)

diff --git a/dev-games/physfs/files/physfs-2.0.3-zip_seek.diff 
b/dev-games/physfs/files/physfs-2.0.3-zip_seek.diff
new file mode 100644
index 00000000..eaab07e
--- /dev/null
+++ b/dev-games/physfs/files/physfs-2.0.3-zip_seek.diff
@@ -0,0 +1,15 @@
+http://icculus.org/pipermail/physfs/2017-January/001217.html
+
+diff -r 34ebe997c5c0 archivers/zip.c
+--- a/archivers/zip.c  Fri Jan 01 12:53:41 2016 -0500
++++ b/archivers/zip.c  Wed Jan 25 20:56:26 2017 +0300
+@@ -327,7 +327,8 @@
+                 return(0);
+ 
+             inflateEnd(&finfo->stream);
+-            memcpy(&finfo->stream, &str, sizeof (z_stream));
++            inflateCopy(&finfo->stream, &str);
++            inflateEnd(&str);
+             finfo->uncompressed_position = finfo->compressed_position = 0;
+         } /* if */
+ 

diff --git a/dev-games/physfs/physfs-2.0.3-r2.ebuild 
b/dev-games/physfs/physfs-2.0.3-r2.ebuild
new file mode 100644
index 00000000..999e09e
--- /dev/null
+++ b/dev-games/physfs/physfs-2.0.3-r2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit cmake-multilib
+
+DESCRIPTION="Abstraction layer for filesystem and archive access"
+HOMEPAGE="http://icculus.org/physfs/";
+SRC_URI="http://icculus.org/physfs/downloads/${P}.tar.bz2";
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="doc grp hog mvl qpak static-libs wad +zip"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+PATCHES=(
+       "${FILESDIR}/${P}-zip_seek.diff"
+)
+
+src_prepare() {
+       default
+       sed -i -e 's:-Werror::' CMakeLists.txt || die
+       # make sure these libs aren't used
+       rm -rf lzma zlib*
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DPHYSFS_ARCHIVE_7Z=OFF
+               -DPHYSFS_BUILD_SHARED=ON
+               -DPHYSFS_BUILD_TEST=OFF
+               -DPHYSFS_BUILD_WX_TEST=OFF
+               -DPHYSFS_INTERNAL_ZLIB=OFF
+               -DPHYSFS_BUILD_STATIC="$(usex static-libs)"
+               -DPHYSFS_ARCHIVE_GRP="$(usex grp)"
+               -DPHYSFS_ARCHIVE_HOG="$(usex hog)"
+               -DPHYSFS_ARCHIVE_MVL="$(usex mvl)"
+               -DPHYSFS_ARCHIVE_WAD="$(usex wad)"
+               -DPHYSFS_ARCHIVE_QPAK="$(usex qpak)"
+               -DPHYSFS_ARCHIVE_ZIP="$(usex zip)"
+       )
+
+       cmake-multilib_src_configure
+}
+
+src_compile() {
+       cmake-multilib_src_compile
+
+       if multilib_is_native_abi && use doc ; then
+               doxygen || die "doxygen failed"
+       fi
+}
+
+src_install() {
+       local DOCS=( CHANGELOG.txt CREDITS.txt TODO.txt )
+       local HTML_DOCS=$(usex doc 'docs/html/*' '')
+
+       cmake-multilib_src_install
+}

Reply via email to