commit: 98a6807d2b7584ad5f97e38c2dc19f8551e7e8ff Author: William Breathitt Gray <vilhelm.gray <AT> gmail <DOT> com> AuthorDate: Thu May 2 13:00:54 2019 +0000 Commit: Stefan Strogin <steils <AT> gentoo <DOT> org> CommitDate: Sun Jun 2 19:32:44 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98a6807d
games-fps/gzdoom: New package Package-Manager: Portage-2.3.65, Repoman-2.3.12 Signed-off-by: William Breathitt Gray <vilhelm.gray <AT> gmail.com> Closes: https://github.com/gentoo/gentoo/pull/11967 Signed-off-by: Stefan Strogin <steils <AT> gentoo.org> games-fps/gzdoom/Manifest | 1 + .../files/gzdoom-4.1.2-static-libraries.patch | 139 +++++++++++++++++++++ games-fps/gzdoom/gzdoom-4.1.2.ebuild | 70 +++++++++++ games-fps/gzdoom/metadata.xml | 28 +++++ 4 files changed, 238 insertions(+) diff --git a/games-fps/gzdoom/Manifest b/games-fps/gzdoom/Manifest new file mode 100644 index 00000000000..c4522753675 --- /dev/null +++ b/games-fps/gzdoom/Manifest @@ -0,0 +1 @@ +DIST gzdoom-4.1.2.tar.gz 13045742 BLAKE2B 38c70eb82ba266e5b41bf62f28f4cee77ba17c0cc1e4186bf11be9021386511346c111874b695ef56a4ed3c93668bb64a71ba4169183646e49d0ab60a1c0793a SHA512 915029e676b17dd330aeee17fa8a9e07bb8e7a16e8ebce9fcdcd24e5b2f0cc48fd8f6914314029b332112ad4215a0f0d45d8e448e9025ac3c2a708a5e0bbd399 diff --git a/games-fps/gzdoom/files/gzdoom-4.1.2-static-libraries.patch b/games-fps/gzdoom/files/gzdoom-4.1.2-static-libraries.patch new file mode 100644 index 00000000000..344fc0193d2 --- /dev/null +++ b/games-fps/gzdoom/files/gzdoom-4.1.2-static-libraries.patch @@ -0,0 +1,139 @@ +From 6fafa297bfe0f82696d898d66e39c50f4f5eef16 Mon Sep 17 00:00:00 2001 +From: William Breathitt Gray <vilhelm.g...@gmail.com> +Date: Wed, 15 May 2019 23:58:28 +0900 +Subject: [PATCH] Force STATIC for internal GZDoom libraries + +This makes sure the internal versions of these libraries bundled with +the GZDoom source code is used. This prevents the system from building +GZDoom for dynamic linking with incompatible external libraries (see +<https://forum.zdoom.org/viewtopic.php?f=2&t=64633>). +--- + asmjit/CMakeLists.txt | 2 +- + bzip2/CMakeLists.txt | 2 +- + game-music-emu/gme/CMakeLists.txt | 2 +- + gdtoa/CMakeLists.txt | 2 +- + glslang/glslang/CMakeLists.txt | 2 +- + glslang/spirv/CMakeLists.txt | 2 +- + jpeg/CMakeLists.txt | 2 +- + lzma/CMakeLists.txt | 2 +- + zlib/CMakeLists.txt | 2 +- + 9 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/asmjit/CMakeLists.txt b/asmjit/CMakeLists.txt +index ab5c2fb4f..6b7636ebe 100644 +--- a/asmjit/CMakeLists.txt ++++ b/asmjit/CMakeLists.txt +@@ -97,7 +97,7 @@ set(ASMJIT_SRCS + asmjit/x86/x86regalloc.cpp + ) + +-add_library(${ASMJITNAME} ${ASMJIT_SRCS} ${ASMJIT_PUBLIC_HDRS}) ++add_library(${ASMJITNAME} STATIC ${ASMJIT_SRCS} ${ASMJIT_PUBLIC_HDRS}) + + set_target_properties(${ASMJITNAME} PROPERTIES OUTPUT_NAME asmjit) + +diff --git a/bzip2/CMakeLists.txt b/bzip2/CMakeLists.txt +index 6ff9a2172..7fefb2bf2 100644 +--- a/bzip2/CMakeLists.txt ++++ b/bzip2/CMakeLists.txt +@@ -7,7 +7,7 @@ if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) + endif() + + add_definitions( -DBZ_NO_STDIO ) +-add_library( bz2 ++add_library( bz2 STATIC + blocksort.c + bzlib.c + compress.c +diff --git a/game-music-emu/gme/CMakeLists.txt b/game-music-emu/gme/CMakeLists.txt +index a5e06bc8a..5c37ebd29 100644 +--- a/game-music-emu/gme/CMakeLists.txt ++++ b/game-music-emu/gme/CMakeLists.txt +@@ -163,7 +163,7 @@ set (EXPORTED_HEADERS gme.h) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) + + # Add library to be compiled. +-add_library(gme ${libgme_SRCS}) ++add_library(gme STATIC ${libgme_SRCS}) + + if(ZLIB_FOUND) + message(" ** ZLib library located, compressed file formats will be supported") +diff --git a/gdtoa/CMakeLists.txt b/gdtoa/CMakeLists.txt +index a0b76e0c3..485f3778b 100644 +--- a/gdtoa/CMakeLists.txt ++++ b/gdtoa/CMakeLists.txt +@@ -35,7 +35,7 @@ if( NOT MSVC AND NOT APPLE ) + set( GEN_FP_DEPS ${CMAKE_CURRENT_BINARY_DIR}/arith.h ${CMAKE_CURRENT_BINARY_DIR}/gd_qnan.h ) + endif() + +-add_library( gdtoa ++add_library( gdtoa STATIC + ${GEN_FP_FILES} + dmisc.c + dtoa.c +diff --git a/glslang/glslang/CMakeLists.txt b/glslang/glslang/CMakeLists.txt +index c86eccb6e..e376a9178 100644 +--- a/glslang/glslang/CMakeLists.txt ++++ b/glslang/glslang/CMakeLists.txt +@@ -120,7 +120,7 @@ endmacro(glslang_pch) + + glslang_pch(SOURCES MachineIndependent/pch.cpp) + +-add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS}) ++add_library(glslang STATIC ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS}) + set_property(TARGET glslang PROPERTY FOLDER glslang) + set_property(TARGET glslang PROPERTY POSITION_INDEPENDENT_CODE ON) + target_link_libraries(glslang OGLCompiler OSDependent) +diff --git a/glslang/spirv/CMakeLists.txt b/glslang/spirv/CMakeLists.txt +index 8062f8067..03d34d8f4 100644 +--- a/glslang/spirv/CMakeLists.txt ++++ b/glslang/spirv/CMakeLists.txt +@@ -59,7 +59,7 @@ if(ENABLE_NV_EXTENSIONS) + GLSL.ext.NV.h) + endif(ENABLE_NV_EXTENSIONS) + +-add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS}) ++add_library(SPIRV STATIC ${LIB_TYPE} ${SOURCES} ${HEADERS}) + set_property(TARGET SPIRV PROPERTY FOLDER glslang) + set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON) + target_include_directories(SPIRV PUBLIC ..) +diff --git a/jpeg/CMakeLists.txt b/jpeg/CMakeLists.txt +index 81834c742..33a3938cf 100644 +--- a/jpeg/CMakeLists.txt ++++ b/jpeg/CMakeLists.txt +@@ -6,7 +6,7 @@ if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE ) + set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -fomit-frame-pointer" ) + endif() + +-add_library( jpeg ++add_library( jpeg STATIC + jaricom.c + jcomapi.c + jdapimin.c +diff --git a/lzma/CMakeLists.txt b/lzma/CMakeLists.txt +index 3948ea2ee..4246a34f8 100644 +--- a/lzma/CMakeLists.txt ++++ b/lzma/CMakeLists.txt +@@ -34,5 +34,5 @@ else() + set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_7ZIP_ST" ) + endif() + +-add_library( lzma ${LZMA_FILES} ) ++add_library( lzma STATIC ${LZMA_FILES} ) + target_link_libraries( lzma ) +diff --git a/zlib/CMakeLists.txt b/zlib/CMakeLists.txt +index 52542bbaa..a1d6637a9 100644 +--- a/zlib/CMakeLists.txt ++++ b/zlib/CMakeLists.txt +@@ -137,7 +137,7 @@ if(MINGW) + set(ZLIB_SRCS ${ZLIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) + endif() + +-add_library(${ZLIBNAME} ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) ++add_library(${ZLIBNAME} STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) + set_target_properties(${ZLIBNAME} PROPERTIES DEFINE_SYMBOL ZLIB_DLL) + + set_target_properties(${ZLIBNAME} PROPERTIES SOVERSION 1) +-- +2.21.0 + diff --git a/games-fps/gzdoom/gzdoom-4.1.2.ebuild b/games-fps/gzdoom/gzdoom-4.1.2.ebuild new file mode 100644 index 00000000000..57242205a7a --- /dev/null +++ b/games-fps/gzdoom/gzdoom-4.1.2.ebuild @@ -0,0 +1,70 @@ +# 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 cephes DUMB-0.9.2 GPL-3 LGPL-3 MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="fluidsynth gtk gtk2 openal openmp" + +DEPEND=" + media-libs/libsdl2[opengl] + sys-libs/zlib + virtual/jpeg:0 + gtk? ( + gtk2? ( x11-libs/gtk+:2 ) + !gtk2? ( x11-libs/gtk+:3 ) + )" +RDEPEND=" + ${DEPEND} + fluidsynth? ( media-sound/fluidsynth ) + openal? ( + media-libs/libsndfile + media-libs/openal + media-sound/mpg123 + )" + +S="${WORKDIR}/${PN}-g${PV}" + +PATCHES="${FILESDIR}/${P}-static-libraries.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" + -DNO_GTK="$(usex !gtk)" + -DNO_OPENAL="$(usex !openal)" + -DNO_OPENMP="$(usex !openmp)" + ) + 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_preinst() { + xdg_pkg_preinst +} + +pkg_postinst() { + xdg_pkg_postinst +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/games-fps/gzdoom/metadata.xml b/games-fps/gzdoom/metadata.xml new file mode 100644 index 00000000000..95f6ed619ed --- /dev/null +++ b/games-fps/gzdoom/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription lang="en"> + GZDoom is a modder-friendly OpenGL source port based on the DOOM engine + </longdescription> + <maintainer type="person"> + <email>vilhelm.g...@gmail.com</email> + <name>William Breathitt Gray</name> + </maintainer> + <maintainer type="project"> + <email>proxy-ma...@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="project"> + <email>ga...@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <use> + <flag name="fluidsynth">Use <pkg>media-sound/fluidsynth</pkg> for MIDI support</flag> + <flag name="gtk2">Enable support for GTK+2 instead of GTK+3</flag> + </use> + <upstream> + <bugs-to>https://forum.zdoom.org/viewforum.php?f=2</bugs-to> + <doc lang="en">https://zdoom.org</doc> + <remote-id type="github">coelckers/gzdoom</remote-id> + </upstream> +</pkgmetadata>