Skip to content

Commit

Permalink
dev-games/physfs: Revbump to fix an issue with >=sys-libs/zlib-1.2.9
Browse files Browse the repository at this point in the history
(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
  • Loading branch information
Lars Wendler committed Jan 27, 2017
1 parent 83ba311 commit 9b91b03
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
15 changes: 15 additions & 0 deletions dev-games/physfs/files/physfs-2.0.3-zip_seek.diff
Original file line number Diff line number Diff line change
@@ -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 */

63 changes: 63 additions & 0 deletions dev-games/physfs/physfs-2.0.3-r2.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 9b91b03

Please sign in to comment.