summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-03-13 20:31:27 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-03-14 12:02:51 +0100
commit5afffbeffc931d00074e570f5ec89df8a1ebe568 (patch)
tree148535f1e6127816f7675ae0db9b28d9ca3f726b
parente22c2c78a17b588edd994dc5b04659c06e45992a (diff)
downloadguix-5afffbeffc931d00074e570f5ec89df8a1ebe568.tar.gz
gnu: fifengine: Fix build with newer Swig and Python.
* gnu/packages/patches/fifengine-swig-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/games.scm (fifengine)[source](patches): New field.
[arguments]: Remove hard coded Python version from #:configure-flags.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/games.scm5
-rw-r--r--gnu/packages/patches/fifengine-swig-compat.patch17
3 files changed, 22 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f2e323c345..47279ffa08 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -868,6 +868,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/fasthenry-spSolve.patch			\
   %D%/packages/patches/fasthenry-spFactor.patch			\
   %D%/packages/patches/fbreader-curl-7.62.patch		\
+  %D%/packages/patches/fifengine-swig-compat.patch		\
   %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch		\
   %D%/packages/patches/fifo-map-remove-catch.hpp.patch		\
   %D%/packages/patches/findutils-localstatedir.patch		\
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e7764cc9ec..43199d2850 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2280,6 +2280,7 @@ Widgets, and allows users to create more.")
               (uri (string-append "https://codeload.github.com/fifengine/"
                                   "fifengine/tar.gz/" version))
               (file-name (string-append name "-" version ".tar.gz"))
+              (patches (search-patches "fifengine-swig-compat.patch"))
               (sha256
                (base32
                 "1y4grw25cq5iqlg05rnbyxw1njl11ypidnlsm3qy4sm3xxdvb0p8"))))
@@ -2296,7 +2297,9 @@ Widgets, and allows users to create more.")
                        "/include/AL")
         (string-append "-DPYTHON_SITE_PACKAGES="
                        (assoc-ref %outputs "out")
-                       "/lib/python3.7/site-packages"))
+                       "/lib/python"
+                       ,(version-major+minor (package-version python))
+                       "/site-packages"))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-run_tests.py
diff --git a/gnu/packages/patches/fifengine-swig-compat.patch b/gnu/packages/patches/fifengine-swig-compat.patch
new file mode 100644
index 0000000000..85cd05f835
--- /dev/null
+++ b/gnu/packages/patches/fifengine-swig-compat.patch
@@ -0,0 +1,17 @@
+Fix build failure when using Swig 4.
+
+Taken from upstream:
+https://github.com/fifengine/fifengine/commit/d14f232f4cd9a00b05d6872957070e8c020f515d
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -893,7 +893,7 @@ if(build-python)
+   find_package(PythonLibs ${PYTHON_VERSION_STRING} EXACT)
+   include_directories(${PYTHON_INCLUDE_PATH})
+ 
+-  set(CMAKE_SWIG_FLAGS -modern -fastdispatch -dirvtable -nosafecstrings -noproxydel -fastproxy -fastinit -fastunpack -fastquery -modernargs -nobuildnone -keyword -w511 -w473 -w404 -w314)
++  set(CMAKE_SWIG_FLAGS -modern -fastdispatch -dirvtable -noproxydel -fastproxy -fastinit -fastunpack -fastquery -modernargs -keyword -w511 -w473 -w404 -w314)
+ 
+   set_source_files_properties("${PROJECT_BINARY_DIR}/fife.i" PROPERTIES CPLUSPLUS ON)
+   set(FIFE_SOURCES ${FIFE_CORE_SRC})