summary refs log tree commit diff
diff options
context:
space:
mode:
authorAshvith Shetty <ashvithshetty10@gmail.com>2024-09-15 13:23:44 +0530
committerAndreas Enge <andreas@enge.fr>2024-09-21 09:38:48 +0200
commit9d75215a59629ab224154ef6b843043289291f81 (patch)
treeb21555cb21cd2b08e67383be81817bf37e25ca55
parent2fb4ce5110c2e56d8390becef4c78df70cbee1ad (diff)
downloadguix-9d75215a59629ab224154ef6b843043289291f81.tar.gz
gnu: Add gemrb-0.9.3.
* gnu/packages/games.scm (gemrb-0.9.3): New variable.
* gnu/packages/patches/gemrb-add-path-suffixes-for-vlc-headers.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register patch.

Change-Id: Ic05eacf362f9a4ebfe88b1e0967e72e824c4f404
Signed-off-by: Andreas Enge <andreas@enge.fr>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/games.scm40
-rw-r--r--gnu/packages/patches/gemrb-add-path-suffixes-for-vlc-headers.patch15
3 files changed, 56 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index a092122d22..8e7abc8a47 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1367,6 +1367,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch	\
   %D%/packages/patches/gemmi-fix-pegtl-usage.patch		\
   %D%/packages/patches/gemmi-fix-sajson-types.patch		\
+  %D%/packages/patches/gemrb-add-path-suffixes-for-vlc-headers.patch \
   %D%/packages/patches/genimage-mke2fs-test.patch		\
   %D%/packages/patches/geoclue-config.patch			\
   %D%/packages/patches/gettext-libunicode-update.patch		\
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 213c4c598d..5720d17bb3 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -84,6 +84,7 @@
 ;;; Copyright © 2024 Sébastien Lerique <sl@eauchat.org>
 ;;; Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
 ;;; Copyright © 2024 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
+;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -11805,6 +11806,45 @@ on the pitch of the voice and the rhythm of singing.")
 virtual reality devices.")
       (license license:expat))))
 
+(define-public gemrb
+  (package
+    (name "gemrb")
+    (version "0.9.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gemrb/gemrb")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1wfmq4z2in18k4znshd7h1i496zlskbci49yp5d54mfxvyp534m5"))
+       ;; Remove the patch in the next version, as commit d339c0d fixes this
+       (patches (search-patches
+                 "gemrb-add-path-suffixes-for-vlc-headers.patch"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags `("-DUSE_TESTS=ON" "-DOPENGL_BACKEND=OpenGL")))
+    (native-inputs (list python-3.10 glibc-locales googletest))
+    (inputs (list freetype
+                  libiconv
+                  libpng
+                  libvorbis
+                  openal
+                  sdl2
+                  sdl2-mixer
+                  vlc
+                  zlib))
+    (home-page "https://gemrb.org/")
+    (synopsis
+     "Portable open-source implementation of Bioware's Infinity Engine")
+    (description
+     "GemRB (Game Engine Made with preRendered Background) is a portable
+     open-source reimplementation of the Infinity Engine that underpinned
+     Baldur's Gate, Icewind Dale and Planescape: Torment.  It sports a
+     cleaner design, greater extensibility and several innovations.")
+    (license (list license:gpl2))))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar
diff --git a/gnu/packages/patches/gemrb-add-path-suffixes-for-vlc-headers.patch b/gnu/packages/patches/gemrb-add-path-suffixes-for-vlc-headers.patch
new file mode 100644
index 0000000000..4e678f7fd4
--- /dev/null
+++ b/gnu/packages/patches/gemrb-add-path-suffixes-for-vlc-headers.patch
@@ -0,0 +1,15 @@
+Add PATH_SUFFIXES to look inside the sub-directory `vlc` - the original statement
+only check for `vlc.h` inside the directory `include`, `bin`, etc.
+In Guix, however, `vlc.h` lies inside `/gnu/store/<hash>-vlc-x.y.z/include/vlc/vlc.h`
+
+--- a/cmake/modules/FindLIBVLC.cmake
++++ b/cmake/modules/FindLIBVLC.cmake
+@@ -29,7 +29,7 @@ FIND_PATH(LIBVLC_INCLUDE_DIR vlc/vlc.h
+   c:/msys/local/include
+   NO_DEFAULT_PATH
+   )
+-FIND_PATH(LIBVLC_INCLUDE_DIR vlc.h)
++FIND_PATH(LIBVLC_INCLUDE_DIR vlc.h PATH_SUFFIXES vlc)
+ 
+ #Put here path to custom location
+ #example: /home/user/vlc/lib etc..