From 9b1c6681273bab3a02702d9b21db5177acf9b55e 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 c7a50504f5c32fd..37d2d01534b1a94 100644 --- a/pkgs/by-name/du/duckstation/package.nix +++ b/pkgs/by-name/du/duckstation/package.nix @@ -2,12 +2,14 @@ , stdenv , fetchFromGitHub , SDL2 +, callPackage , cmake , cubeb , curl , extra-cmake-modules , 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" + ]; + }) + ]; +})