openrct2: 0.4.19.1 -> 0.4.20, asset fixes and overall cleanup (#385785)

This commit is contained in:
Masum Reza
2025-03-07 00:39:20 +05:30
committed by GitHub
+43 -43
View File
@@ -2,6 +2,8 @@
lib,
stdenv,
fetchFromGitHub,
fetchurl,
unzip,
SDL2,
cmake,
@@ -14,6 +16,7 @@
freetype,
gbenchmark,
icu,
innoextract,
jansson,
libGLU,
libiconv,
@@ -30,7 +33,7 @@
}:
let
openrct2-version = "0.4.19.1";
openrct2-version = "0.4.20";
# Those versions MUST match the pinned versions within the CMakeLists.txt
# file. The REPLAYS repository from the CMakeLists.txt is not necessary.
@@ -39,50 +42,38 @@ let
opensfx-version = "1.0.5";
title-sequences-version = "0.4.14";
openrct2-src = fetchFromGitHub {
owner = "OpenRCT2";
repo = "OpenRCT2";
rev = "v${openrct2-version}";
hash = "sha256-sg09JmoWF9utPG7PakKpgLgX64FAc2x8ILX3lVHkRi0=";
objects = fetchurl {
url = "https://github.com/OpenRCT2/objects/releases/download/v${objects-version}/objects.zip";
hash = "sha256-xrgAy817G5xwfzZX+8Xy2508/Zwq32aKzMndus14Qd8=";
};
objects-src = fetchFromGitHub {
owner = "OpenRCT2";
repo = "objects";
rev = "v${objects-version}";
hash = "sha256-mxlabWuh8TTJs74yXdiv7XtdeGmCWQ5N1JoY7Xo0itQ=";
openmsx = fetchurl {
url = "https://github.com/OpenRCT2/OpenMusic/releases/download/v${openmsx-version}/openmusic.zip";
hash = "sha256-8JfTpMzTn3VG+X2z7LG4vnNkj1O3p1lbhszL3Bp1V+Q=";
};
openmsx-src = fetchFromGitHub {
owner = "OpenRCT2";
repo = "OpenMusic";
rev = "v${openmsx-version}";
hash = "sha256-KjWJSB2tdE0ExswVlz0dLXNPhLJ1kI6VZb3vqXQfx8w=";
opensfx = fetchurl {
url = "https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v${opensfx-version}/opensound.zip";
hash = "sha256-qVIUi+FkwSjk/TrqloIuXwUe3ZoLHyyE3n92KM47Lhg=";
};
opensfx-src = fetchFromGitHub {
owner = "OpenRCT2";
repo = "OpenSoundEffects";
rev = "v${opensfx-version}";
hash = "sha256-ucADnMLGm36eAo+NiioxEzeMqtu7YbGF9wsydK1mmoE=";
};
title-sequences-src = fetchFromGitHub {
owner = "OpenRCT2";
repo = "title-sequences";
rev = "v${title-sequences-version}";
hash = "sha256-ier7sBYJjBIvKVxfaCelJPZ+oF9NEshvR2k/X9JpP+0=";
title-sequences = fetchurl {
url = "https://github.com/OpenRCT2/title-sequences/releases/download/v${title-sequences-version}/title-sequences.zip";
hash = "sha256-FA33FOgG/tQRzEl2Pn8WsPzypIelcAHR5Q/Oj5FIqfM=";
};
in
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "openrct2";
version = openrct2-version;
src = openrct2-src;
src = fetchFromGitHub {
owner = "OpenRCT2";
repo = "OpenRCT2";
rev = "v${openrct2-version}";
hash = "sha256-G/uD3t8m7C74pjSA6dbz4gzu9CwEpmyFwtYpoFIiRjM=";
};
nativeBuildInputs = [
cmake
pkg-config
unzip
];
buildInputs = [
@@ -96,6 +87,7 @@ stdenv.mkDerivation {
freetype
gbenchmark
icu
innoextract
jansson
libGLU
libiconv
@@ -118,12 +110,17 @@ stdenv.mkDerivation {
];
postUnpack = ''
mkdir -p $sourceRoot/data/assetpack
mkdir -p $sourceRoot/data/{object,sequence}
unzip -o ${objects} -d $sourceRoot/data/object
unzip -o ${openmsx} -d $sourceRoot/data
unzip -o ${opensfx} -d $sourceRoot/data
unzip -o ${title-sequences} -d $sourceRoot/data/sequence
'';
cp -r ${objects-src} $sourceRoot/data/object
cp -r ${openmsx-src} $sourceRoot/data/assetpack/openrct2.music.alternative.parkap
cp -r ${opensfx-src} $sourceRoot/data/assetpack/openrct2.sound.parkap
cp -r ${title-sequences-src} $sourceRoot/data/sequence
# Fix blank changelog & contributors screen. See https://github.com/OpenRCT2/OpenRCT2/issues/16988
postPatch = ''
substituteInPlace src/openrct2/platform/Platform.Linux.cpp \
--replace-fail "/usr/share/doc/openrct2" "$out/share/doc/openrct2"
'';
preConfigure =
@@ -141,12 +138,15 @@ stdenv.mkDerivation {
+ (versionCheck "TITLE_SEQUENCE" title-sequences-version)
);
meta = with lib; {
meta = {
description = "Open source re-implementation of RollerCoaster Tycoon 2 (original game required)";
homepage = "https://openrct2.io/";
downloadPage = "https://github.com/OpenRCT2/OpenRCT2/releases";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ oxzi ];
license = lib.licenses.gpl3Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
oxzi
keenanweaver
];
};
}
})