Skip to content

Commit

Permalink
openrct2: 0.4.5 -> 0.4.7
Browse files Browse the repository at this point in the history
- 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 NixOS#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 NixOS#263025.
  • Loading branch information
oxzi committed Jan 13, 2024
1 parent 69607d9 commit 40cc9e4
Showing 1 changed file with 25 additions and 9 deletions.
34 changes: 25 additions & 9 deletions pkgs/games/openrct2/default.nix
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch

, SDL2
, cmake
, curl
, discord-rpc
, duktape
, expat
, flac
, fontconfig
, freetype
Expand All @@ -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 {
Expand All @@ -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
Expand All @@ -88,6 +103,7 @@ stdenv.mkDerivation {
curl
discord-rpc
duktape
expat
flac
fontconfig
freetype
Expand Down

0 comments on commit 40cc9e4

Please sign in to comment.