From b2e5dc07d36a55e4d335a9ef76088898c250ee06 Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Fri, 15 Mar 2024 01:20:38 -0400 Subject: [PATCH 1/5] srb2: migrate to by-name --- pkgs/{games => by-name/sr}/srb2/cmake.patch | 0 pkgs/{games/srb2/default.nix => by-name/sr/srb2/package.nix} | 0 pkgs/{games => by-name/sr}/srb2/thirdparty.patch | 0 pkgs/top-level/all-packages.nix | 2 -- 4 files changed, 2 deletions(-) rename pkgs/{games => by-name/sr}/srb2/cmake.patch (100%) rename pkgs/{games/srb2/default.nix => by-name/sr/srb2/package.nix} (100%) rename pkgs/{games => by-name/sr}/srb2/thirdparty.patch (100%) diff --git a/pkgs/games/srb2/cmake.patch b/pkgs/by-name/sr/srb2/cmake.patch similarity index 100% rename from pkgs/games/srb2/cmake.patch rename to pkgs/by-name/sr/srb2/cmake.patch diff --git a/pkgs/games/srb2/default.nix b/pkgs/by-name/sr/srb2/package.nix similarity index 100% rename from pkgs/games/srb2/default.nix rename to pkgs/by-name/sr/srb2/package.nix diff --git a/pkgs/games/srb2/thirdparty.patch b/pkgs/by-name/sr/srb2/thirdparty.patch similarity index 100% rename from pkgs/games/srb2/thirdparty.patch rename to pkgs/by-name/sr/srb2/thirdparty.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f80e10968bb2..69e95f652780 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -37831,8 +37831,6 @@ with pkgs; springLobby = callPackage ../games/spring/springlobby.nix { }; - srb2 = callPackage ../games/srb2 { }; - ssl-cert-check = callPackage ../tools/admin/ssl-cert-check { }; stardust = callPackage ../games/stardust { }; From f188bff3fd209b4537e167f256759608a8350a3b Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Fri, 15 Mar 2024 01:37:05 -0400 Subject: [PATCH 2/5] srb2: add missing phase hooks --- pkgs/by-name/sr/srb2/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/sr/srb2/package.nix b/pkgs/by-name/sr/srb2/package.nix index fdb374a91751..8bde0f0b348d 100644 --- a/pkgs/by-name/sr/srb2/package.nix +++ b/pkgs/by-name/sr/srb2/package.nix @@ -63,8 +63,12 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "."; installPhase = '' + runHook preInstall + mkdir -p $out/share/srb2 cp -r *pk3 *dta *dat models/ $out/share/srb2/ + + runHook postInstall ''; }; @@ -96,6 +100,8 @@ stdenv.mkDerivation (finalAttrs: { ]; installPhase = '' + runHook preInstall + mkdir -p $out/bin $out/share/applications $out/share/pixmaps $out/share/icons copyDesktopItems @@ -105,6 +111,8 @@ stdenv.mkDerivation (finalAttrs: { cp bin/lsdlsrb2 $out/bin/srb2 wrapProgram $out/bin/srb2 --set SRB2WADDIR "${finalAttrs.assets}/share/srb2" + + runHook postInstall ''; meta = with lib; { From d7f3410393bce541b53055d933729c47d621ee2b Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Fri, 15 Mar 2024 02:12:49 -0400 Subject: [PATCH 3/5] srb2: add startupWMClass to desktop item Fixes an issue where the srb2 icon wasn't being used after launching the application. --- pkgs/by-name/sr/srb2/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/sr/srb2/package.nix b/pkgs/by-name/sr/srb2/package.nix index 8bde0f0b348d..5f341e73031b 100644 --- a/pkgs/by-name/sr/srb2/package.nix +++ b/pkgs/by-name/sr/srb2/package.nix @@ -96,6 +96,7 @@ stdenv.mkDerivation (finalAttrs: { desktopName = name; genericName = name; categories = [ "Game" ]; + startupWMClass = ".srb2-wrapped"; }) ]; From 0714cd83df6d400b36eeed6e6a5ce90b40150c31 Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Sat, 16 Mar 2024 09:02:57 -0400 Subject: [PATCH 4/5] srb2: fetchurl -> fetchzip --- pkgs/by-name/sr/srb2/package.nix | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/sr/srb2/package.nix b/pkgs/by-name/sr/srb2/package.nix index 5f341e73031b..bc6ad07626c2 100644 --- a/pkgs/by-name/sr/srb2/package.nix +++ b/pkgs/by-name/sr/srb2/package.nix @@ -1,18 +1,16 @@ { lib , stdenv -, fetchurl +, fetchzip , fetchFromGitHub , cmake , curl , nasm , libopenmpt -, p7zip , game-music-emu , libpng , SDL2 , SDL2_mixer , zlib -, unzip , makeWrapper , makeDesktopItem , copyDesktopItems @@ -32,7 +30,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake nasm - p7zip makeWrapper copyDesktopItems ]; @@ -51,22 +48,17 @@ stdenv.mkDerivation (finalAttrs: { pname = "srb2-data"; version = finalAttrs.version; - nativeBuildInputs = [ - unzip - ]; - - src = fetchurl { + src = fetchzip { url = "https://github.com/STJr/SRB2/releases/download/SRB2_release_${finalAttrs.version}/SRB2-v${lib.replaceStrings ["."] [""] finalAttrs.version}-Full.zip"; - hash = "sha256-g7kaNRE1tjcF5J2v+kTnrDzz4zs5f1b/NH67ce2ifUo="; + hash = "sha256-/MJVOMMXxHa+xB60WlwLhh5lrZNKnHajTySNZVSlUWE="; + stripRoot = false; }; - sourceRoot = "."; - installPhase = '' runHook preInstall mkdir -p $out/share/srb2 - cp -r *pk3 *dta *dat models/ $out/share/srb2/ + cp -r * $out/share/srb2 runHook postInstall ''; From a098790c312ed57ee175118a3b74d8ce28f5f6cd Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Mon, 18 Mar 2024 04:53:46 -0400 Subject: [PATCH 5/5] srb2: fetch assets from upstream GitLab Note that fetchgit is used instead of fetchFromGitLab due to LFS and how upstream is configured. Closes https://github.com/NixOS/nixpkgs/issues/274797 --- pkgs/by-name/sr/srb2/package.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/sr/srb2/package.nix b/pkgs/by-name/sr/srb2/package.nix index bc6ad07626c2..023f04c7f824 100644 --- a/pkgs/by-name/sr/srb2/package.nix +++ b/pkgs/by-name/sr/srb2/package.nix @@ -1,6 +1,6 @@ { lib , stdenv -, fetchzip +, fetchgit , fetchFromGitHub , cmake , curl @@ -48,10 +48,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "srb2-data"; version = finalAttrs.version; - src = fetchzip { - url = "https://github.com/STJr/SRB2/releases/download/SRB2_release_${finalAttrs.version}/SRB2-v${lib.replaceStrings ["."] [""] finalAttrs.version}-Full.zip"; - hash = "sha256-/MJVOMMXxHa+xB60WlwLhh5lrZNKnHajTySNZVSlUWE="; - stripRoot = false; + src = fetchgit { + url = "https://git.do.srb2.org/STJr/srb2assets-public"; + rev = "SRB2_release_${finalAttrs.version}"; + hash = "sha256-OXvO5ZlujIYmYevc62Dtx192dxoujQMNFUCrH5quBBg="; + fetchLFS = true; }; installPhase = ''