From b3a236c713ced18fd6162ddda55b9041d9a074b3 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Wed, 15 May 2024 23:44:16 -0300 Subject: [PATCH] duckstation: 0.1-6292 -> 0.1-6658 Duckstation now uses a vendored shaderc. However, this vendoring is provided by a patch. --- pkgs/by-name/du/duckstation/package.nix | 15 ++++++++----- .../du/duckstation/shaderc-patched.nix | 21 +++++++++++++++++++ 2 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 pkgs/by-name/du/duckstation/shaderc-patched.nix diff --git a/pkgs/by-name/du/duckstation/package.nix b/pkgs/by-name/du/duckstation/package.nix index 82694bd4c648d04..9b2e20fbddef058 100644 --- a/pkgs/by-name/du/duckstation/package.nix +++ b/pkgs/by-name/du/duckstation/package.nix @@ -1,5 +1,6 @@ { lib , SDL2 +, callPackage , cmake , cubeb , curl @@ -7,6 +8,7 @@ , fetchFromGitHub , libXrandr , libbacktrace +, libwebp , makeWrapper , ninja , pkg-config @@ -18,6 +20,7 @@ }: let + shaderc-patched = callPackage ./shaderc-patched.nix { }; inherit (qt6) qtbase qtsvg @@ -28,13 +31,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "duckstation"; - version = "0.1-6292"; + version = "0.1-6658"; src = fetchFromGitHub { owner = "stenzek"; repo = "duckstation"; - rev = "0bc42c38aab49030118f507c9783de047769148b"; - hash = "sha256-8OavixSwEWihFY2fEdsepR1lqWlTH+//xZRKwb7lFCQ="; + rev = "4e0c417add264226b3db065c1466791f0591a1b5"; + hash = "sha256-fN0bcjqjMmK3qVLlrYmR2VgjK0BjdK4nUj8vNYdFC3I="; }; patches = [ @@ -45,8 +48,8 @@ stdenv.mkDerivation (finalAttrs: { src = ./002-hardcode-vars.diff; gitHash = finalAttrs.src.rev; gitBranch = "master"; - gitTag = "${finalAttrs.version}-g0bc42c38"; - gitDate = "2024-02-06T22:47:47+09:00"; + gitTag = "${finalAttrs.version}-g4e0c417a"; + gitDate = "2024-04-16T12:49:54+10:00"; }) ]; @@ -64,9 +67,11 @@ stdenv.mkDerivation (finalAttrs: { curl libXrandr libbacktrace + libwebp qtbase qtsvg qtwayland + shaderc-patched wayland ] ++ cubeb.passthru.backendLibs; diff --git a/pkgs/by-name/du/duckstation/shaderc-patched.nix b/pkgs/by-name/du/duckstation/shaderc-patched.nix new file mode 100644 index 000000000000000..72aa4b17ca087b8 --- /dev/null +++ b/pkgs/by-name/du/duckstation/shaderc-patched.nix @@ -0,0 +1,21 @@ +{ + lib, + fetchpatch, + duckstation, + shaderc, +}: + +shaderc.overrideAttrs (old: { + pname = "shaderc-patched-for-duckstation"; + patches = (old.patches or [ ]) ++ [ + (fetchpatch { + url = "file://${duckstation.src}/scripts/shaderc-changes.patch"; + hash = "sha256-Ps/D+CdSbjVWg3ZGOEcgbpQbCNkI5Nuizm4E5qiM9Wo="; + excludes = [ + "CHANGES" + "CMakeLists.txt" + "libshaderc/CMakeLists.txt" + ]; + }) + ]; +})