aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Breathitt Gray <vilhelm.gray@gmail.com>2019-05-16 01:00:35 +0900
committerWilliam Breathitt Gray <vilhelm.gray@gmail.com>2019-05-16 01:00:35 +0900
commitb0ff4b1b6b4b5b9e00525b46cd78311495e96d12 (patch)
tree44027c05044c12030210acd920fadcd31b194b51
parentdev-lang/fbc: DESCRIPTION should not contain the package name (diff)
downloadguru-b0ff4b1b6b4b5b9e00525b46cd78311495e96d12.tar.gz
guru-b0ff4b1b6b4b5b9e00525b46cd78311495e96d12.tar.bz2
guru-b0ff4b1b6b4b5b9e00525b46cd78311495e96d12.zip
games-fps/gzdoom: Fix makefiles for bundled libraries
GZDoom includes bundled libraries with modifications made for GZDoom. This commit adds patches to ensure the bundled libraries are built as intended by the GZDoom project. The glslang dependency is removed since GZDoom has its own modified bundled version. Package-Manager: Portage-2.3.66, Repoman-2.3.12 Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
-rw-r--r--games-fps/gzdoom/files/4.1.1/0001-made-DUMB-library-always-static.patch26
-rw-r--r--games-fps/gzdoom/files/4.1.1/0002-Force-STATIC-for-internal-GZDoom-libraries.patch139
-rw-r--r--games-fps/gzdoom/gzdoom-4.1.1.ebuild3
3 files changed, 167 insertions, 1 deletions
diff --git a/games-fps/gzdoom/files/4.1.1/0001-made-DUMB-library-always-static.patch b/games-fps/gzdoom/files/4.1.1/0001-made-DUMB-library-always-static.patch
new file mode 100644
index 000000000..b6e0829f3
--- /dev/null
+++ b/games-fps/gzdoom/files/4.1.1/0001-made-DUMB-library-always-static.patch
@@ -0,0 +1,26 @@
+From c96d8c198e95876cb27b7cf9d0ec8d510d7a643d Mon Sep 17 00:00:00 2001
+From: "alexey.lysiuk" <alexey.lysiuk@gmail.com>
+Date: Fri, 10 May 2019 15:35:57 +0300
+Subject: [PATCH] - made DUMB library always static
+
+DUMB uses dumb_decode_vorbis() function from the main executable, so it failed to link as a dynamic library
+---
+ dumb/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dumb/CMakeLists.txt b/dumb/CMakeLists.txt
+index 85e052209..904ca75c3 100644
+--- a/dumb/CMakeLists.txt
++++ b/dumb/CMakeLists.txt
+@@ -24,7 +24,7 @@ endif()
+
+ include_directories( include )
+
+-add_library( dumb
++add_library( dumb STATIC
+ src/core/unload.c
+ src/core/rendsig.c
+ src/core/rendduh.c
+--
+2.21.0
+
diff --git a/games-fps/gzdoom/files/4.1.1/0002-Force-STATIC-for-internal-GZDoom-libraries.patch b/games-fps/gzdoom/files/4.1.1/0002-Force-STATIC-for-internal-GZDoom-libraries.patch
new file mode 100644
index 000000000..f05a5f5ce
--- /dev/null
+++ b/games-fps/gzdoom/files/4.1.1/0002-Force-STATIC-for-internal-GZDoom-libraries.patch
@@ -0,0 +1,139 @@
+From 4a899ecb9c85d39d49a1d477c0fcdca5fb96c6c0 Mon Sep 17 00:00:00 2001
+From: William Breathitt Gray <vilhelm.gray@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.1.ebuild b/games-fps/gzdoom/gzdoom-4.1.1.ebuild
index 78606253a..61490aca4 100644
--- a/games-fps/gzdoom/gzdoom-4.1.1.ebuild
+++ b/games-fps/gzdoom/gzdoom-4.1.1.ebuild
@@ -15,7 +15,6 @@ KEYWORDS="~amd64 ~x86"
IUSE="fluidsynth gtk openal openmp"
DEPEND="
- >=dev-util/glslang-7.11.3114_pre20190415-r1
media-libs/libsdl2[opengl]
sys-libs/zlib
virtual/jpeg:0
@@ -31,6 +30,8 @@ RDEPEND="
S="${WORKDIR}/${PN}-g${PV}"
+PATCHES="${FILESDIR}/${PV}"
+
src_prepare() {
cmake-utils_src_prepare
}