about summary refs log tree commit diff
path: root/pkgs/games/openrct2
diff options
context:
space:
mode:
authorAlvar Penning <post@0x21.biz>2024-01-13 14:56:21 +0100
committerAlvar Penning <post@0x21.biz>2024-01-13 15:03:31 +0100
commit40cc9e497bbf7a62dcc3401198fde0e88bad4c88 (patch)
tree0f56f1580221a6da08bfd63b8c3112559538c967 /pkgs/games/openrct2
parent69607d93079cf505adbe3abd442ba6b7940c34d4 (diff)
openrct2: 0.4.5 -> 0.4.7
- https://github.com/OpenRCT2/OpenRCT2/releases/tag/v0.4.6
- https://github.com/OpenRCT2/OpenRCT2/releases/tag/v0.4.7

Updating to 0.4.6 resulted some headaches, as suddenly lots of errors
about missing music objects were thrown and old maps were not loadable.
This was also mentioned in #263025.

Today I git bisect'ed OpenRCT2's source between 0.4.5 and 0.4.6, finding
5adbea9ac829b76507543e4c09b2000138ffbbcf as the culprit, which origins
in OpenRCT2/OpenRCT2#19785. From there I got to OpenRCT2/OpenRCT2#21043
which addresses this very issue and fixes it by undoing the original
change next to some later changes. This PR is now included as a patch
and, et voilĂ , OpenRCT2 works again!

Closes #263025.
Diffstat (limited to 'pkgs/games/openrct2')
-rw-r--r--pkgs/games/openrct2/default.nix34
1 files changed, 25 insertions, 9 deletions
diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix
index e056164e279a9..c38c1ae8031d0 100644
--- a/pkgs/games/openrct2/default.nix
+++ b/pkgs/games/openrct2/default.nix
@@ -1,12 +1,14 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 
 , SDL2
 , cmake
 , curl
 , discord-rpc
 , duktape
+, expat
 , flac
 , fontconfig
 , freetype
@@ -28,48 +30,48 @@
 }:
 
 let
-  openrct2-version = "0.4.5";
+  openrct2-version = "0.4.7";
 
   # Those versions MUST match the pinned versions within the CMakeLists.txt
   # file. The REPLAYS repository from the CMakeLists.txt is not necessary.
-  objects-version = "1.3.11";
-  openmsx-version = "1.3.0";
+  objects-version = "1.3.13";
+  openmsx-version = "1.5";
   opensfx-version = "1.0.3";
-  title-sequences-version = "0.4.0";
+  title-sequences-version = "0.4.6";
 
   openrct2-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "OpenRCT2";
     rev = "v${openrct2-version}";
-    sha256 = "sha256-TMtaEqui3gUd+j3LwF7VsHiBtbYZMu6Rvo1aMkkU9LY=";
+    hash = "sha256-2nSzXbZH1o+BEaxhdQTCM/u4Qbun4tqBKjQ4z7owHeg=";
   };
 
   objects-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "objects";
     rev = "v${objects-version}";
-    sha256 = "sha256-fA2Kz4GALu6IP7ulbwpAFt3dz6NCPgyB0CWy5uOLBQY=";
+    hash = "sha256-7RvRe7skXH5x8RbkQgtKs1YMBwq8dHInVo/4FAJwUD0=";
   };
 
   openmsx-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "OpenMusic";
     rev = "v${openmsx-version}";
-    sha256 = "sha256-bp+uwTy2ZFMCK8Dq4YVACpQSwo8v1te+NQGwdqViIjU=";
+    hash = "sha256-p/wlvQFfu3R+jIuCcRbTMvxt0VKGGwJw0NDIsf6URWI=";
   };
 
   opensfx-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "OpenSoundEffects";
     rev = "v${opensfx-version}";
-    sha256 = "sha256-AMuCpq1Hszi2Vikto/cX9g81LwBDskaRMTLxNzU0/Gk=";
+    hash = "sha256-AMuCpq1Hszi2Vikto/cX9g81LwBDskaRMTLxNzU0/Gk=";
   };
 
   title-sequences-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "title-sequences";
     rev = "v${title-sequences-version}";
-    sha256 = "sha256-anqCZkhYoaxPu3MYCYSsFFngOmPp2wnx2MGb0hj6W5U=";
+    hash = "sha256-HWp2ecClNM/7O3oaydVipOnEsYNP/bZnZFS+SDidPi0=";
   };
 in
 stdenv.mkDerivation {
@@ -78,6 +80,19 @@ stdenv.mkDerivation {
 
   src = openrct2-src;
 
+  patches = [
+    # https://github.com/OpenRCT2/OpenRCT2/pull/21043
+    #
+    # Basically <https://github.com/OpenRCT2/OpenRCT2/pull/19785> has broken
+    # OpenRCT2 - at least with older maps, as were used for testing - as stated
+    # in <https://github.com/NixOS/nixpkgs/issues/263025>.
+    (fetchpatch {
+      name = "remove-openrct2-music.patch";
+      url = "https://github.com/OpenRCT2/OpenRCT2/commit/9ea13848be0b974336c34e6eb119c49ba42a907c.patch";
+      hash = "sha256-2PPRqUZf4+ys89mdzp5nvdtdv00V9Vzj3v/95rmlf1c=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     pkg-config
@@ -88,6 +103,7 @@ stdenv.mkDerivation {
     curl
     discord-rpc
     duktape
+    expat
     flac
     fontconfig
     freetype