about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2023-04-15 00:57:51 +0200
committerGitHub <noreply@github.com>2023-04-15 00:57:51 +0200
commit830d948f46bfb971fbb83b52f3dfc3c57baa8d28 (patch)
treec1a69406c4c433216851f73555718dfe355eb9fa /pkgs
parentbfc75c749141bd8272b9c68ca1d678dfe789f3cb (diff)
parent8b0eecfb96c5cf1323dd1ffc61f9801d20e7cf88 (diff)
Merge pull request #212426 from surfaceflinger/master
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/games/jazz2/content.nix20
-rw-r--r--pkgs/games/jazz2/game.nix47
-rw-r--r--pkgs/games/jazz2/nocontent.patch12
-rw-r--r--pkgs/top-level/all-packages.nix4
4 files changed, 83 insertions, 0 deletions
diff --git a/pkgs/games/jazz2/content.nix b/pkgs/games/jazz2/content.nix
new file mode 100644
index 0000000000000..0a0e72075635a
--- /dev/null
+++ b/pkgs/games/jazz2/content.nix
@@ -0,0 +1,20 @@
+{ jazz2
+, lib
+, runCommand
+}:
+
+runCommand "jazz2-content"
+{
+  inherit (jazz2) version src;
+
+  preferLocalBuild = true;
+
+  meta = with lib; {
+    description = "Assets needed for jazz2";
+    homepage = "https://github.com/deathkiller/jazz2-native";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ surfaceflinger ];
+  };
+} ''
+  cp -r $src/Content $out
+''
diff --git a/pkgs/games/jazz2/game.nix b/pkgs/games/jazz2/game.nix
new file mode 100644
index 0000000000000..fab888b6178cc
--- /dev/null
+++ b/pkgs/games/jazz2/game.nix
@@ -0,0 +1,47 @@
+{ cmake
+, fetchFromGitHub
+, glew
+, glfw
+, jazz2-content
+, lib
+, libGL
+, libopenmpt
+, libvorbis
+, openal
+, SDL2
+, stdenv
+, xorg
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jazz2";
+  version = "1.8.0";
+
+  src = fetchFromGitHub {
+    owner = "deathkiller";
+    repo = "jazz2-native";
+    rev = version;
+    sha256 = "fi1waoLAcnZB0lX+8+wQFoBYOSvVXYK3JKiu81GGF4U=";
+  };
+
+  patches = [ ./nocontent.patch ];
+
+  buildInputs = [ libGL SDL2 zlib glew glfw openal libvorbis libopenmpt xorg.libSM xorg.libICE xorg.libXext ];
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    "-DNCINE_DOWNLOAD_DEPENDENCIES=OFF"
+    "-DGLFW_INCLUDE_DIR=${glfw}/include/GLFW"
+    "-DLIBOPENMPT_INCLUDE_DIR=${libopenmpt.dev}/include/libopenmpt"
+    "-DNCINE_OVERRIDE_CONTENT_PATH=${jazz2-content}"
+  ];
+
+  meta = with lib; {
+    description = "Open-source Jazz Jackrabbit 2 reimplementation";
+    homepage = "https://github.com/deathkiller/jazz2-native";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ surfaceflinger ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/jazz2/nocontent.patch b/pkgs/games/jazz2/nocontent.patch
new file mode 100644
index 0000000000000..28ced9426b49a
--- /dev/null
+++ b/pkgs/games/jazz2/nocontent.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/ncine_installation.cmake b/cmake/ncine_installation.cmake
+index 9ccb707..89c350f 100644
+--- a/cmake/ncine_installation.cmake
++++ b/cmake/ncine_installation.cmake
+@@ -195,7 +195,6 @@ endif()
+ #endif()
+ 
+ if(NOT EMSCRIPTEN)
+-	install(DIRECTORY "${NCINE_ROOT}/Content/" DESTINATION ${DATA_INSTALL_DESTINATION})
+ else()
+ 	install(FILES "${CMAKE_BINARY_DIR}/${CPACK_EXECUTABLE_NAME}.html" DESTINATION ".")
+ 	install(FILES "${CMAKE_BINARY_DIR}/${CPACK_EXECUTABLE_NAME}.data" DESTINATION ".")
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 05e237d283b3c..261872100c73b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -35894,6 +35894,10 @@ with pkgs;
 
   fish-fillets-ng = callPackage ../games/fish-fillets-ng { };
 
+  jazz2 = callPackage ../games/jazz2/game.nix { };
+
+  jazz2-content = callPackage ../games/jazz2/content.nix { };
+
   jumpy = callPackage ../games/jumpy { };
 
   flightgear = libsForQt5.callPackage ../games/flightgear { };