about summary refs log tree commit diff
path: root/pkgs/games/openclonk
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-12-11 14:35:38 +0100
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-12-11 14:35:38 +0100
commit34cbd933a7414c93748351d096855600e89bb67a (patch)
treecba8948a65eec3378767cdabc795a4310320176d /pkgs/games/openclonk
parent64891e361bc375a00e2da0b98a07267d17abfa2e (diff)
openclonk: unbreak
Diffstat (limited to 'pkgs/games/openclonk')
-rw-r--r--pkgs/games/openclonk/default.nix23
1 files changed, 19 insertions, 4 deletions
diff --git a/pkgs/games/openclonk/default.nix b/pkgs/games/openclonk/default.nix
index 4b526975349b1..2249ab213a220 100644
--- a/pkgs/games/openclonk/default.nix
+++ b/pkgs/games/openclonk/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config
+{ lib, stdenv, fetchurl, fetchDebianPatch, fetchpatch, cmake, pkg-config
 , SDL2, libvorbis, libogg, libjpeg, libpng, freetype, glew, tinyxml, openal
-, freealut, readline, gcc-unwrapped
+, freealut, readline, libb2, gcc-unwrapped
 , enableSoundtrack ? false # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther
 }:
 
@@ -18,6 +18,21 @@ in stdenv.mkDerivation rec {
     sha256 = "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik";
   };
 
+  patches = [
+    (fetchDebianPatch {
+      pname = "openclonk";
+      version = "8.1";
+      debianRevision = "3";
+      patch = "system-libb2.patch";
+      hash = "sha256-zuH6zxSQXRhnt75092Xwb6XYv8UG391E5Arbnr7ApiI=";
+    })
+    (fetchpatch {
+      name = "fix-gcc-11-build.patch";
+      url = "https://github.com/openclonk/openclonk/commit/e304efde2c8643bbc0fc1ad5e85024982744b233.patch";
+      hash = "sha256-jfVCgeZuYo4x53zhljKcnMDMIBECTRsUSxkl6JaL6HA=";
+    })
+  ];
+
   postInstall = ''
     mv -v $out/games/openclonk $out/bin/
   '' + lib.optionalString enableSoundtrack ''
@@ -28,7 +43,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     SDL2 libvorbis libogg libjpeg libpng freetype glew tinyxml openal freealut
-    readline
+    readline libb2
   ];
 
   cmakeFlags = [ "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" ];
@@ -39,8 +54,8 @@ in stdenv.mkDerivation rec {
     description = "Free multiplayer action game in which you control clonks, small but witty and nimble humanoid beings";
     homepage = "https://www.openclonk.org";
     license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc;
+    mainProgram = "openclonk";
     maintainers = with maintainers; [ lheckemann ];
     platforms = [ "x86_64-linux" "i686-linux" ];
-    broken = true;
   };
 }