games-action/dxx-rebirth: Fix build against physfs-3
authorAndreas Sturmlechner <asturm@gentoo.org>
Sun, 5 May 2019 15:12:36 +0000 (17:12 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Wed, 8 May 2019 16:59:36 +0000 (18:59 +0200)
Closes: https://bugs.gentoo.org/653014
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
games-action/dxx-rebirth/dxx-rebirth-0.59.100.ebuild
games-action/dxx-rebirth/files/dxx-rebirth-0.59.100-physfs-3-no-deprecation.patch [new file with mode: 0644]

index 048eb3cb263c7087bbf95b903213356f82334705..df21714295170d1a765bab26e67f6fc67a82f73b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -51,9 +51,11 @@ RDEPEND="${DEPEND}
 
 S="${WORKDIR}/${MY_P}"
 
-# Remove hardcoded optimisation flags.
-# Change share path to use old d1x/d2x locations.
-PATCHES=( "${FILESDIR}"/${P}-{flags,sharepath}.patch )
+PATCHES=(
+       "${FILESDIR}"/${P}-flags.patch # Remove hardcoded optimisation flags.
+       "${FILESDIR}"/${P}-sharepath.patch # Change share path to use old d1x/d2x locations.
+       "${FILESDIR}"/${P}-physfs-3-no-deprecation.patch # bug #653014
+)
 
 src_compile() {
        tc-export CXX
@@ -102,6 +104,5 @@ pkg_postinst() {
                elog "To play the game enable USE=\"data\" or manually "
                elog "copy the files to ${EPREFIX}/usr/share/games/{d1x,d2x}."
                elog "See each game's INSTALL.txt for details."
-               echo
        fi
 }
diff --git a/games-action/dxx-rebirth/files/dxx-rebirth-0.59.100-physfs-3-no-deprecation.patch b/games-action/dxx-rebirth/files/dxx-rebirth-0.59.100-physfs-3-no-deprecation.patch
new file mode 100644 (file)
index 0000000..86e94d4
--- /dev/null
@@ -0,0 +1,30 @@
+From 8838b46e65c830e8d9ebaeaf568f186eff57d5c7 Mon Sep 17 00:00:00 2001
+From: Kp <kp@valhallalegends.com>
+Date: Sun, 22 Oct 2017 04:20:35 +0000
+Subject: [PATCH] Suppress PhysFS deprecation errors
+
+PhysFS 2.0 only offers PHYSFS_read/PHYSFS_write for I/O.  PhysFS 3.0
+deprecates PHYSFS_read / PHYSFS_write and offers PHYSFS_readBytes /
+PHYSFS_writeBytes.  Converting Rebirth to use the new API is somewhat
+invasive, and would require dropping support for PhysFS 2.0.
+
+For now, for compatibility with PhysFS 2.0, disable the deprecation
+errors and continue to use the older functions.
+
+Reported-by: gabeotisbenson <https://github.com/dxx-rebirth/dxx-rebirth/issues/352>
+---
+ SConstruct | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/SConstruct b/SConstruct
+index 560a6ef1a..78491cb1a 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -3177,6 +3177,7 @@
+               def adjust_environment(self,program,env):
+                       env.Append(
+                               CXXFLAGS = ['-pthread'],
++                              CPPDEFINES = [('PHYSFS_DEPRECATED', '')],
+                       )
+       def __init__(self,__program_instance=itertools.count(1)):