From 950184cf58fd257d2b7fab6400d8e59e19c4b6bc Mon Sep 17 00:00:00 2001 From: PopeRigby Date: Mon, 22 Jul 2024 21:02:58 -0700 Subject: [PATCH 1/4] =?UTF-8?q?vkquake:=201.22.3=20=E2=86=92=201.31.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/Novum/vkQuake/releases/tag/1.31.0 --- pkgs/games/quakespasm/vulkan.nix | 43 +++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix index 81c49e5a017c..2f91ff92c0eb 100644 --- a/pkgs/games/quakespasm/vulkan.nix +++ b/pkgs/games/quakespasm/vulkan.nix @@ -1,30 +1,52 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper -, SDL2, gzip, libvorbis, libmad, vulkan-headers, vulkan-loader, moltenvk +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + glslang, + pkg-config, + flac, + libopus, + opusfile, + makeWrapper, + SDL2, + gzip, + libvorbis, + libmad, + vulkan-headers, + vulkan-loader, + moltenvk, }: stdenv.mkDerivation rec { pname = "vkquake"; - version = "1.22.3"; + version = "1.31.0"; src = fetchFromGitHub { owner = "Novum"; repo = "vkQuake"; rev = version; - sha256 = "sha256-+8DU1QT3Lgqf1AIReVnXQ2Lq6R6eBb8VjdkJfAn/Rtc="; + sha256 = "sha256-3xWwqN0EcwDMEhVxfLa0bMMClM+zELEFWzO/EJvPNs0="; }; - sourceRoot = "${src.name}/Quake"; - nativeBuildInputs = [ makeWrapper + glslang + meson + ninja + pkg-config vulkan-headers ]; buildInputs = [ - gzip SDL2 - libvorbis + flac + gzip libmad + libopus + libvorbis + opusfile vulkan-loader ] ++ lib.optional stdenv.isDarwin moltenvk; @@ -34,19 +56,16 @@ stdenv.mkDerivation rec { mkdir -p "$out/bin" ''; - makeFlags = [ "prefix=$(out) bindir=$(out)/bin" ]; - env = lib.optionalAttrs stdenv.isDarwin { NIX_CFLAGS_COMPILE = "-Wno-error=unused-but-set-variable"; }; postFixup = '' + cp vkquake "$out/bin" wrapProgram $out/bin/vkquake \ --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib ''; - enableParallelBuilding = true; - meta = with lib; { description = "Vulkan Quake port based on QuakeSpasm"; mainProgram = "vkquake"; From e55ed5e3949a9a012586d9951911e67b14276e9f Mon Sep 17 00:00:00 2001 From: PopeRigby Date: Sun, 4 Aug 2024 12:18:28 -0700 Subject: [PATCH 2/4] maintainers: add poperigby --- maintainers/maintainer-list.nix | 5 +++++ pkgs/games/quakespasm/vulkan.nix | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 28e1e618bac6..226fa54e4516 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16230,6 +16230,11 @@ githubId = 4201956; name = "pongo1231"; }; + PopeRigby = { + name = "PopeRigby"; + github = "poperigby"; + githubId = 20866468; + }; poptart = { email = "poptart@hosakacorp.net"; github = "terrorbyte"; diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix index 2f91ff92c0eb..eead5476e415 100644 --- a/pkgs/games/quakespasm/vulkan.nix +++ b/pkgs/games/quakespasm/vulkan.nix @@ -14,7 +14,6 @@ gzip, libvorbis, libmad, - vulkan-headers, vulkan-loader, moltenvk, }: @@ -36,7 +35,6 @@ stdenv.mkDerivation rec { meson ninja pkg-config - vulkan-headers ]; buildInputs = [ @@ -80,6 +78,6 @@ stdenv.mkDerivation rec { ''; platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ ylh ]; + maintainers = with maintainers; [ PopeRigby ylh ]; }; } From 7bbbeff617184c5aac665f8463025db48c700498 Mon Sep 17 00:00:00 2001 From: PopeRigby Date: Tue, 6 Aug 2024 12:19:38 -0700 Subject: [PATCH 3/4] vkquake: use makeLibraryPath Co-authored-by: Sandro --- pkgs/games/quakespasm/vulkan.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix index eead5476e415..f9206dce5dfb 100644 --- a/pkgs/games/quakespasm/vulkan.nix +++ b/pkgs/games/quakespasm/vulkan.nix @@ -60,8 +60,8 @@ stdenv.mkDerivation rec { postFixup = '' cp vkquake "$out/bin" - wrapProgram $out/bin/vkquake \ - --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib + patchelf $out/bin/vkquake \ + --add-rpath ${lib.makeLibraryPath [ vulkan-loader ]} ''; meta = with lib; { From 10b32454ad5f8c522c7a3a96435444191d7de28d Mon Sep 17 00:00:00 2001 From: PopeRigby Date: Tue, 6 Aug 2024 12:23:38 -0700 Subject: [PATCH 4/4] vkquake: move installation steps to installPhase --- pkgs/games/quakespasm/vulkan.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix index f9206dce5dfb..2df8f1b83710 100644 --- a/pkgs/games/quakespasm/vulkan.nix +++ b/pkgs/games/quakespasm/vulkan.nix @@ -50,23 +50,22 @@ stdenv.mkDerivation rec { buildFlags = [ "DO_USERDIRS=1" ]; - preInstall = '' - mkdir -p "$out/bin" - ''; - env = lib.optionalAttrs stdenv.isDarwin { NIX_CFLAGS_COMPILE = "-Wno-error=unused-but-set-variable"; }; - postFixup = '' + installPhase = '' + mkdir -p "$out/bin" cp vkquake "$out/bin" + ''; + + postFixup = '' patchelf $out/bin/vkquake \ --add-rpath ${lib.makeLibraryPath [ vulkan-loader ]} ''; meta = with lib; { description = "Vulkan Quake port based on QuakeSpasm"; - mainProgram = "vkquake"; homepage = src.meta.homepage; longDescription = '' vkQuake is a Quake 1 port using Vulkan instead of OpenGL for rendering. @@ -79,5 +78,6 @@ stdenv.mkDerivation rec { platforms = with platforms; linux ++ darwin; maintainers = with maintainers; [ PopeRigby ylh ]; + mainProgram = "vkquake"; }; }