From c0980c4120094fcc98c5951d7c681e5e9908c4eb Mon Sep 17 00:00:00 2001 From: Keenan Weaver Date: Fri, 28 Feb 2025 05:53:28 -0600 Subject: [PATCH 1/4] openrct2: add keenanweaver to maintainers --- pkgs/by-name/op/openrct2/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/op/openrct2/package.nix b/pkgs/by-name/op/openrct2/package.nix index 32793088324e..35c73e9f0633 100644 --- a/pkgs/by-name/op/openrct2/package.nix +++ b/pkgs/by-name/op/openrct2/package.nix @@ -147,6 +147,9 @@ stdenv.mkDerivation { downloadPage = "https://github.com/OpenRCT2/OpenRCT2/releases"; license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [ oxzi ]; + maintainers = with maintainers; [ + oxzi + keenanweaver + ]; }; } From 9db42a35a7a08c263c4354ae4da418d2f1a0dbfa Mon Sep 17 00:00:00 2001 From: Keenan Weaver Date: Fri, 28 Feb 2025 05:54:28 -0600 Subject: [PATCH 2/4] openrct2: fix doc path --- pkgs/by-name/op/openrct2/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/op/openrct2/package.nix b/pkgs/by-name/op/openrct2/package.nix index 35c73e9f0633..a438f1cd3709 100644 --- a/pkgs/by-name/op/openrct2/package.nix +++ b/pkgs/by-name/op/openrct2/package.nix @@ -126,6 +126,12 @@ stdenv.mkDerivation { 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 = # Verify that the correct version of each third party repository is used. ( From d3a36c571e666a724798cf4cc60a6797f9376a89 Mon Sep 17 00:00:00 2001 From: Keenan Weaver Date: Fri, 28 Feb 2025 06:02:27 -0600 Subject: [PATCH 3/4] openrct2: fix missing assets --- pkgs/by-name/op/openrct2/package.nix | 51 ++++++++++++---------------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/pkgs/by-name/op/openrct2/package.nix b/pkgs/by-name/op/openrct2/package.nix index a438f1cd3709..490c3336d3f0 100644 --- a/pkgs/by-name/op/openrct2/package.nix +++ b/pkgs/by-name/op/openrct2/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchurl, + unzip, SDL2, cmake, @@ -14,6 +16,7 @@ freetype, gbenchmark, icu, + innoextract, jansson, libGLU, libiconv, @@ -46,32 +49,21 @@ let hash = "sha256-sg09JmoWF9utPG7PakKpgLgX64FAc2x8ILX3lVHkRi0="; }; - objects-src = fetchFromGitHub { - owner = "OpenRCT2"; - repo = "objects"; - rev = "v${objects-version}"; - hash = "sha256-mxlabWuh8TTJs74yXdiv7XtdeGmCWQ5N1JoY7Xo0itQ="; + objects = fetchurl { + url = "https://github.com/OpenRCT2/objects/releases/download/v${objects-version}/objects.zip"; + hash = "sha256-xrgAy817G5xwfzZX+8Xy2508/Zwq32aKzMndus14Qd8="; }; - - openmsx-src = fetchFromGitHub { - owner = "OpenRCT2"; - repo = "OpenMusic"; - rev = "v${openmsx-version}"; - hash = "sha256-KjWJSB2tdE0ExswVlz0dLXNPhLJ1kI6VZb3vqXQfx8w="; + openmsx = fetchurl { + url = "https://github.com/OpenRCT2/OpenMusic/releases/download/v${openmsx-version}/openmusic.zip"; + hash = "sha256-8JfTpMzTn3VG+X2z7LG4vnNkj1O3p1lbhszL3Bp1V+Q="; }; - - opensfx-src = fetchFromGitHub { - owner = "OpenRCT2"; - repo = "OpenSoundEffects"; - rev = "v${opensfx-version}"; - hash = "sha256-ucADnMLGm36eAo+NiioxEzeMqtu7YbGF9wsydK1mmoE="; + opensfx = fetchurl { + url = "https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v${opensfx-version}/opensound.zip"; + hash = "sha256-qVIUi+FkwSjk/TrqloIuXwUe3ZoLHyyE3n92KM47Lhg="; }; - - 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 { @@ -83,6 +75,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake pkg-config + unzip ]; buildInputs = [ @@ -96,6 +89,7 @@ stdenv.mkDerivation { freetype gbenchmark icu + innoextract jansson libGLU libiconv @@ -118,12 +112,11 @@ stdenv.mkDerivation { ]; postUnpack = '' - mkdir -p $sourceRoot/data/assetpack - - 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 + 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 ''; # Fix blank changelog & contributors screen. See https://github.com/OpenRCT2/OpenRCT2/issues/16988 From 4e9ed37e1cf13d0dbe66bf478682b819e07c1ca0 Mon Sep 17 00:00:00 2001 From: Keenan Weaver Date: Fri, 28 Feb 2025 06:06:14 -0600 Subject: [PATCH 4/4] openrct2: 0.4.19.1 -> 0.4.20, swap to finalAttrs, fix meta Co-authored-by: kylerisse <5565316+kylerisse@users.noreply.github.com> --- pkgs/by-name/op/openrct2/package.nix | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/pkgs/by-name/op/openrct2/package.nix b/pkgs/by-name/op/openrct2/package.nix index 490c3336d3f0..52bab92c1a8f 100644 --- a/pkgs/by-name/op/openrct2/package.nix +++ b/pkgs/by-name/op/openrct2/package.nix @@ -33,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. @@ -42,13 +42,6 @@ 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="; @@ -66,11 +59,16 @@ let 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 @@ -140,15 +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; [ + license = lib.licenses.gpl3Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ oxzi keenanweaver ]; }; -} +})