guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 5a0861514b80fc92a8741e6c9e34329c21e8254c
Author: bdunahu <[email protected]>
AuthorDate: Tue Jun 9 17:16:33 2026 -0400
gnu: warzone2100: Unbundle quickjs-wz.
* gnu/packages/patches/warzone2100-unbundle-quickjs-wz.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/games.scm (warzone2100)[source]<patches>: Apply it.
<snippet> Delete “3rdparty/quickjs-wz”.
[inputs]: Add quickjs-wz.
Change-Id: Ibe3948ffd20c3dc96bf49837c13cc0a4d67878d1
Signed-off-by: Liliana Marie Prikler <[email protected]>
---
gnu/local.mk | 1 +
gnu/packages/games.scm | 3 ++
.../patches/warzone2100-unbundle-quickjs-wz.patch | 58 ++++++++++++++++++++++
3 files changed, 62 insertions(+)
diff --git a/gnu/local.mk b/gnu/local.mk
index b6d35d4678..090e426b24 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2651,6 +2651,7 @@ dist_patch_DATA =
\
%D%/packages/patches/warzone2100-unbundle-basis-universal.patch \
%D%/packages/patches/warzone2100-unbundle-embedded-json-signature.patch
\
%D%/packages/patches/warzone2100-unbundle-libs.patch \
+ %D%/packages/patches/warzone2100-unbundle-quickjs-wz.patch \
%D%/packages/patches/warzone2100-unbundle-sqlitecpp.patch \
%D%/packages/patches/warzone2100-unbundle-inih.patch \
%D%/packages/patches/warzone2100-unbundle-utfcpp.patch \
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 351f8944f2..4d94bf9c4a 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7422,6 +7422,7 @@ fighting over what remains.")
"GameNetworkingSockets"
"inih"
"libplum"
+ "quickjs-wz"
"re2"
"readerwriterqueue"
"SQLiteCpp"
@@ -7435,6 +7436,7 @@ fighting over what remains.")
"warzone2100-unbundle-embedded-json-signature.patch"
"warzone2100-unbundle-libs.patch"
"warzone2100-unbundle-inih.patch"
+ "warzone2100-unbundle-quickjs-wz.patch"
"warzone2100-unbundle-sqlitecpp.patch"
"warzone2100-unbundle-utfcpp.patch"))
(sha256
@@ -7534,6 +7536,7 @@ fighting over what remains.")
opus
opusfile
physfs
+ quickjs-wz
re2
sdl3
sqlite
diff --git a/gnu/packages/patches/warzone2100-unbundle-quickjs-wz.patch
b/gnu/packages/patches/warzone2100-unbundle-quickjs-wz.patch
new file mode 100644
index 0000000000..8e3f5cfa6a
--- /dev/null
+++ b/gnu/packages/patches/warzone2100-unbundle-quickjs-wz.patch
@@ -0,0 +1,58 @@
+Unbundles quickjs-wz dependency.
+
+patch by bdunahu <[email protected]>
+
+diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
+index 46c0c26e1..cc9d446c1 100644
+--- a/3rdparty/CMakeLists.txt
++++ b/3rdparty/CMakeLists.txt
+@@ -105,10 +105,6 @@ target_compile_definitions(nlohmann_json INTERFACE
"NLOHMANN_JSON_NAMESPACE=nloh
+
+ add_subdirectory(optional-lite EXCLUDE_FROM_ALL)
+
+-add_subdirectory(quickjs-wz EXCLUDE_FROM_ALL)
+-set_property(TARGET qjs PROPERTY FOLDER "3rdparty")
+-
+-
+ if (WZ_ENABLE_BASIS_UNIVERSAL AND NOT WZ_CI_DISABLE_BASIS_COMPRESS_TEXTURES)
+
+ # basis-universal
+diff --git a/lib/wzmaplib/CMakeLists.txt b/lib/wzmaplib/CMakeLists.txt
+index c3ed3ac22..0a4f94a4f 100644
+--- a/lib/wzmaplib/CMakeLists.txt
++++ b/lib/wzmaplib/CMakeLists.txt
+@@ -129,10 +129,12 @@ if(NOT TARGET optional-lite)
+ WZMAPLIB_ADD_3RDPARTY_DIR("../../3rdparty/optional-lite"
"3rdparty/optional-lite" FALSE)
+ endif()
+ target_link_libraries(wzmaplib PUBLIC optional-lite)
+-if(NOT TARGET quickjs)
+- message(STATUS "wzmaplib: Fetching Warzone2100/quickjs-wz")
+- WZMAPLIB_ADD_3RDPARTY_DIR("../../3rdparty/quickjs-wz"
"3rdparty/quickjs-wz" TRUE)
+-endif()
++find_library(QJS_LIB NAMES qjs REQUIRED)
++add_library(quickjs UNKNOWN IMPORTED)
++set_target_properties(quickjs PROPERTIES
++ IMPORTED_LOCATION "${QJS_LIB}"
++ INTERFACE_INCLUDE_DIRECTORIES "${QJS_INC}"
++)
+ target_link_libraries(wzmaplib PRIVATE quickjs)
+
+ ############
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 4f07f0edb..71c44463f 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -137,6 +137,13 @@ endif()
+
+ target_link_libraries(warzone2100 nlohmann_json)
+ target_link_libraries(warzone2100 optional-lite)
++find_path(QJS_INC NAMES quickjs.h REQUIRED)
++find_library(QJS_LIB NAMES qjs REQUIRED)
++add_library(quickjs UNKNOWN IMPORTED)
++set_target_properties(quickjs PROPERTIES
++ IMPORTED_LOCATION "${QJS_LIB}"
++ INTERFACE_INCLUDE_DIRECTORIES "${QJS_INC}"
++)
+ target_link_libraries(warzone2100 quickjs)
+ target_link_libraries(warzone2100 inih)
+