Skip to content

Commit

Permalink
games-fps/gzdoom: New package
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.65, Repoman-2.3.12
Signed-off-by: William Breathitt Gray <[email protected]>
Closes: gentoo#11967
Signed-off-by: Stefan Strogin <[email protected]>
  • Loading branch information
vilhelmgray authored and steils committed Jun 2, 2019
1 parent 35488f7 commit 98a6807
Show file tree
Hide file tree
Showing 4 changed files with 238 additions and 0 deletions.
1 change: 1 addition & 0 deletions games-fps/gzdoom/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST gzdoom-4.1.2.tar.gz 13045742 BLAKE2B 38c70eb82ba266e5b41bf62f28f4cee77ba17c0cc1e4186bf11be9021386511346c111874b695ef56a4ed3c93668bb64a71ba4169183646e49d0ab60a1c0793a SHA512 915029e676b17dd330aeee17fa8a9e07bb8e7a16e8ebce9fcdcd24e5b2f0cc48fd8f6914314029b332112ad4215a0f0d45d8e448e9025ac3c2a708a5e0bbd399
139 changes: 139 additions & 0 deletions games-fps/gzdoom/files/gzdoom-4.1.2-static-libraries.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
From 6fafa297bfe0f82696d898d66e39c50f4f5eef16 Mon Sep 17 00:00:00 2001
From: William Breathitt Gray <[email protected]>
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

70 changes: 70 additions & 0 deletions games-fps/gzdoom/gzdoom-4.1.2.ebuild
Original file line number Diff line number Diff line change
@@ -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
}
28 changes: 28 additions & 0 deletions games-fps/gzdoom/metadata.xml
Original file line number Diff line number Diff line change
@@ -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>[email protected]</email>
<name>William Breathitt Gray</name>
</maintainer>
<maintainer type="project">
<email>[email protected]</email>
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="project">
<email>[email protected]</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>

0 comments on commit 98a6807

Please sign in to comment.