summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Breathitt Gray <vilhelm.gray@gmail.com>2019-08-31 21:09:57 +0900
committerJames Le Cuirot <chewi@gentoo.org>2019-09-05 21:20:24 +0100
commit705eb56685009e7e2f6b68f2e55af8d8202fd37d (patch)
treed683cf9e031113348a2afefa9048eb366338d3c5 /games-fps/gzdoom
parentwww-client/opera-beta: Old (diff)
downloadgentoo-705eb56685009e7e2f6b68f2e55af8d8202fd37d.tar.gz
gentoo-705eb56685009e7e2f6b68f2e55af8d8202fd37d.tar.bz2
gentoo-705eb56685009e7e2f6b68f2e55af8d8202fd37d.zip
games-fps/gzdoom: Bump to version 4.2.0
The 'nonfree' USE flag is introduced to allow users to control whether nonfree assets are installed. Doom assets are under the Doom Collector's Edition license. Heretic and Hexen assets are under the Activision license. Chex Quest assets are under the Chex Quest 3 license. Strife assets are freely distributable according to Stephen Kick, CEO of Nightdive Studios. Closes: https://bugs.gentoo.org/692584 Package-Manager: Portage-2.3.73, Repoman-2.3.17 Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/12833 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'games-fps/gzdoom')
-rw-r--r--games-fps/gzdoom/Manifest1
-rw-r--r--games-fps/gzdoom/files/gzdoom-4.2.0-Introduce-the-BUILD_NONFREE-option.patch36
-rw-r--r--games-fps/gzdoom/files/gzdoom-4.2.0-fluidsynth2.patch28
-rw-r--r--games-fps/gzdoom/files/gzdoom-4.2.0-install_soundfonts.patch34
-rw-r--r--games-fps/gzdoom/gzdoom-4.2.0.ebuild79
-rw-r--r--games-fps/gzdoom/metadata.xml1
6 files changed, 179 insertions, 0 deletions
diff --git a/games-fps/gzdoom/Manifest b/games-fps/gzdoom/Manifest
index a1c5d339328c..d7ccd5b9e28b 100644
--- a/games-fps/gzdoom/Manifest
+++ b/games-fps/gzdoom/Manifest
@@ -1 +1,2 @@
DIST gzdoom-4.1.3.tar.gz 13084313 BLAKE2B d082efacc99264eff92f51dac1a4ff742ee00c65fec769cd143e1ffa7a1527060735efc7325a5fd5d0950bdce52cf28941837c1a32e3e88483ece574de1fba64 SHA512 16d3db1320eaaf39477971e3724228850abe216fa792d79e288f3551ab635344c22699c10ccf9e7da4dc49543e1b5ff8be7f0053b79dc53e274e33cc17a667ac
+DIST gzdoom-4.2.0.tar.gz 13482879 BLAKE2B 5c68718b840ce00a752179b4c735f064ed2ea669eff5e4bd71e3ccea3bb9af238287ddffc297cbfbe6069c658ec1d203b73790c973f836f8aa9ba33ac3ec2803 SHA512 07ad674eb22eb1388a5e3a6bd91d769fef90cb52728034e30d2967c484acaa41cfc7fc9ed486f4dbd0e86ea4d32bbafde402b771fc2fceb0708551328ef08f0d
diff --git a/games-fps/gzdoom/files/gzdoom-4.2.0-Introduce-the-BUILD_NONFREE-option.patch b/games-fps/gzdoom/files/gzdoom-4.2.0-Introduce-the-BUILD_NONFREE-option.patch
new file mode 100644
index 000000000000..c74d08a24a47
--- /dev/null
+++ b/games-fps/gzdoom/files/gzdoom-4.2.0-Introduce-the-BUILD_NONFREE-option.patch
@@ -0,0 +1,36 @@
+From 1e09b211a000c649aae6eea736647daa650141bc Mon Sep 17 00:00:00 2001
+From: William Breathitt Gray <vilhelm.gray@gmail.com>
+Date: Sat, 31 Aug 2019 21:23:23 +0900
+Subject: [PATCH] Introduce the BUILD_NONFREE option
+
+This allow users to disable building nonfree components (brightmaps.pk3
+and game_support.pk3) if they so desire.
+---
+ CMakeLists.txt | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7860358ef..23d317f42 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -404,10 +404,15 @@ add_subdirectory( libraries/lzma )
+ add_subdirectory( tools )
+ add_subdirectory( libraries/dumb )
+ add_subdirectory( libraries/gdtoa )
++
+ add_subdirectory( wadsrc )
+-add_subdirectory( wadsrc_bm )
+ add_subdirectory( wadsrc_lights )
+-add_subdirectory( wadsrc_extra )
++option (BUILD_NONFREE "Build nonfree components" ON)
++if( BUILD_NONFREE )
++ add_subdirectory( wadsrc_bm )
++ add_subdirectory( wadsrc_extra )
++endif()
++
+ add_subdirectory( src )
+
+ if( NOT CMAKE_CROSSCOMPILING )
+--
+2.23.0
+
diff --git a/games-fps/gzdoom/files/gzdoom-4.2.0-fluidsynth2.patch b/games-fps/gzdoom/files/gzdoom-4.2.0-fluidsynth2.patch
new file mode 100644
index 000000000000..1ae12a832b4b
--- /dev/null
+++ b/games-fps/gzdoom/files/gzdoom-4.2.0-fluidsynth2.patch
@@ -0,0 +1,28 @@
+From: Jan Engelhardt <jengelh@inai.de>
+Date: 2018-10-16 14:29:56.900427855 +0200
+
+Make the build work with fluidsynth 2.x.
+
+---
+ src/sound/mididevices/music_fluidsynth_mididevice.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+Index: gzdoom-3.6.0/src/sound/mididevices/music_fluidsynth_mididevice.cpp
+===================================================================
+--- gzdoom-3.6.0.orig/src/sound/mididevices/music_fluidsynth_mididevice.cpp
++++ gzdoom-3.6.0/src/sound/mididevices/music_fluidsynth_mididevice.cpp
+@@ -78,10 +78,13 @@ extern "C" unsigned __stdcall GetSystemD
+ #define FLUID_CHORUS_DEFAULT_LEVEL 2.0f
+ #define FLUID_CHORUS_DEFAULT_SPEED 0.3f
+ #define FLUID_CHORUS_DEFAULT_DEPTH 8.0f
+-#define FLUID_CHORUS_DEFAULT_TYPE FLUID_CHORUS_MOD_SINE
+
+ #endif
+
++#ifndef FLUID_CHORUS_DEFAULT_TYPE
++#define FLUID_CHORUS_DEFAULT_TYPE FLUID_CHORUS_MOD_SINE
++#endif
++
+ // TYPES -------------------------------------------------------------------
+
+ // EXTERNAL FUNCTION PROTOTYPES --------------------------------------------
diff --git a/games-fps/gzdoom/files/gzdoom-4.2.0-install_soundfonts.patch b/games-fps/gzdoom/files/gzdoom-4.2.0-install_soundfonts.patch
new file mode 100644
index 000000000000..1fe0b99d9a8e
--- /dev/null
+++ b/games-fps/gzdoom/files/gzdoom-4.2.0-install_soundfonts.patch
@@ -0,0 +1,34 @@
+From 2d1c7ba17cac3ccd201e77ad01a9dd06ab22cb2e Mon Sep 17 00:00:00 2001
+From: William Breathitt Gray <vilhelm.gray@gmail.com>
+Date: Thu, 13 Jun 2019 18:01:08 +0900
+Subject: [PATCH] Install soundfonts and WOPL/WOPN banks
+
+The INSTALL_SOUNDFONT_PATH cache entry is used to configure the
+installation directory.
+---
+ src/CMakeLists.txt | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 0bb16f39e..4ff15062d 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1451,6 +1451,15 @@ add_custom_command(TARGET zdoom POST_BUILD
+ ${CMAKE_SOURCE_DIR}/fm_banks/gs-by-papiezak-and-sneakernets.wopn $<TARGET_FILE_DIR:zdoom>/fm_banks/gs-by-papiezak-and-sneakernets.wopn
+ )
+
++if( WIN32 )
++ set( INSTALL_SOUNDFONT_PATH . CACHE STRING "Directory where soundfonts and WOPL/WOPN banks will be placed during install." )
++else()
++ set( INSTALL_SOUNDFONT_PATH share/games/doom CACHE STRING "Directory where soundfonts and WOPL/WOPN banks will be placed during install." )
++endif()
++install(FILES "${PROJECT_BINARY_DIR}/soundfonts" "${PROJECT_BINARY_DIR}/fm_banks"
++ DESTINATION ${INSTALL_SOUNDFONT_PATH}
++ COMPONENT "Soundfont resources")
++
+ if( CMAKE_COMPILER_IS_GNUCXX )
+ # GCC misoptimizes this file
+ set_source_files_properties( oplsynth/fmopl.cpp PROPERTIES COMPILE_FLAGS "-fno-tree-dominator-opts -fno-tree-fre" )
+--
+2.21.0
+
diff --git a/games-fps/gzdoom/gzdoom-4.2.0.ebuild b/games-fps/gzdoom/gzdoom-4.2.0.ebuild
new file mode 100644
index 000000000000..4fbfe9b905b2
--- /dev/null
+++ b/games-fps/gzdoom/gzdoom-4.2.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils desktop xdg
+
+DESCRIPTION="A modder-friendly OpenGL source port based on the DOOM engine"
+HOMEPAGE="https://zdoom.org"
+SRC_URI="https://github.com/coelckers/${PN}/archive/g${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD BZIP2 DUMB-0.9.3 GPL-3 LGPL-3 MIT
+ nonfree? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gtk gtk2 +nonfree openmp"
+
+DEPEND="
+ media-libs/libsdl2[opengl]
+ media-libs/libsndfile
+ media-libs/openal
+ media-sound/fluidsynth:=
+ media-sound/mpg123
+ sys-libs/zlib
+ virtual/jpeg:0
+ gtk? (
+ gtk2? ( x11-libs/gtk+:2 )
+ !gtk2? ( x11-libs/gtk+:3 )
+ )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-g${PV}"
+PATCHES=(
+ "${FILESDIR}/${P}-fluidsynth2.patch"
+ "${FILESDIR}/${P}-install_soundfonts.patch"
+ "${FILESDIR}/${P}-Introduce-the-BUILD_NONFREE-option.patch"
+)
+
+src_prepare() {
+ rm -rf docs/licenses || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_DOCS_PATH="${EPREFIX}/usr/share/doc/${PF}"
+ -DINSTALL_PK3_PATH="${EPREFIX}/usr/share/doom"
+ -DINSTALL_SOUNDFONT_PATH="${EPREFIX}/usr/share/doom"
+ -DDYN_FLUIDSYNTH=OFF
+ -DDYN_OPENAL=OFF
+ -DDYN_SNDFILE=OFF
+ -DDYN_MPG123=OFF
+ -DNO_GTK="$(usex !gtk)"
+ -DNO_OPENAL=OFF
+ -DNO_OPENMP="$(usex !openmp)"
+ -DBUILD_NONFREE="$(usex nonfree)"
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ newicon src/posix/zdoom.xpm "${PN}.xpm"
+ make_desktop_entry "${PN}" "GZDoom" "${PN}" "Game;ActionGame"
+ cmake-utils_src_install
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use nonfree ; then
+ elog
+ elog "GZDoom installed without nonfree components."
+ elog "Note: The nonfree game_support.pk3 file is needed to play"
+ elog " games natively supported by GZDoom."
+ elog "A list of games natively supported by GZDoom may be found"
+ elog "on the ZDoom wiki: https://zdoom.org/wiki/IWAD"
+ elog
+ fi
+}
diff --git a/games-fps/gzdoom/metadata.xml b/games-fps/gzdoom/metadata.xml
index cfd1b5ffe560..5b213dc39913 100644
--- a/games-fps/gzdoom/metadata.xml
+++ b/games-fps/gzdoom/metadata.xml
@@ -18,6 +18,7 @@
</maintainer>
<use>
<flag name="gtk2">Enable support for GTK+2 instead of GTK+3</flag>
+ <flag name="nonfree">Enable non-free components</flag>
</use>
<upstream>
<bugs-to>https://forum.zdoom.org/viewforum.php?f=2</bugs-to>