From 5c5f57a290babb01f932adcf33a04bc3de1988fb Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Wed, 3 Jun 2026 01:03:40 +0200 Subject: [PATCH 1/3] renderdoc: move custom_swig to passthru --- pkgs/by-name/re/renderdoc/package.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/re/renderdoc/package.nix b/pkgs/by-name/re/renderdoc/package.nix index e69d1581a1a2..ecd48c048c60 100644 --- a/pkgs/by-name/re/renderdoc/package.nix +++ b/pkgs/by-name/re/renderdoc/package.nix @@ -24,6 +24,9 @@ }: let + # forked from swig v3 in 2017 + # primarily to include https://github.com/swig/swig/pull/251 + # (cherry-picked as https://github.com/swig/swig/commit/8d79491a329825ad24294509fc6a0b0a0b8947c4) custom_swig = fetchFromGitHub { owner = "baldurk"; repo = "swig"; @@ -101,7 +104,7 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; postUnpack = '' - cp -r ${custom_swig} swig + cp -r ${finalAttrs.passthru.custom_swig} swig chmod -R +w swig patchShebangs swig/autogen.sh ''; @@ -136,7 +139,10 @@ stdenv.mkDerivation (finalAttrs: { addDriverRunpath $out/lib/librenderdoc.so ''; - passthru.updateScript = nix-update-script { }; + passthru = { + inherit custom_swig; + updateScript = nix-update-script { }; + }; meta = { homepage = "https://renderdoc.org/"; From d60e0155dbf26dc8cbd0bde85222eb6f70344a76 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Wed, 3 Jun 2026 01:04:03 +0200 Subject: [PATCH 2/3] renderdoc: pcre -> pcre2 Thanks ShyAssasin for discovering these patches --- pkgs/by-name/re/renderdoc/package.nix | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/re/renderdoc/package.nix b/pkgs/by-name/re/renderdoc/package.nix index ecd48c048c60..56f1d346026e 100644 --- a/pkgs/by-name/re/renderdoc/package.nix +++ b/pkgs/by-name/re/renderdoc/package.nix @@ -12,7 +12,7 @@ libpthread-stubs, makeWrapper, nix-update-script, - pcre, + pcre2, pkg-config, python312Packages, qt5, @@ -61,6 +61,24 @@ stdenv.mkDerivation (finalAttrs: { revert = true; }) ]; + swig_patches = [ + # use PCRE2 instead of PCRE + (fetchpatch { + name = "renderdoc-swig-pcre2-1.patch"; + url = "https://src.fedoraproject.org/rpms/renderdoc/raw/19ce666d120a229e5c1ab62fc142610ab3b21b3c/f/renderdoc-swig-pcre2-1.patch"; + hash = "sha256-xuqHu72vAbxFELNTfJT5SbQOsnG/ee++MZgpuEGLT/w="; + }) + (fetchpatch { + name = "renderdoc-swig-pcre2-2.patch"; + url = "https://src.fedoraproject.org/rpms/renderdoc/raw/19ce666d120a229e5c1ab62fc142610ab3b21b3c/f/renderdoc-swig-pcre2-2.patch"; + hash = "sha256-LUm5Ekmccy4x+hR+iK49zJc75VxuhDhpNw8rkVnn4rc="; + }) + ]; + postPatch = '' + pushd ../swig + prePatch="" postPatch="" patches="$swig_patches" runPhase patchPhase + popd + ''; buildInputs = [ libxdmcp @@ -83,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: { bison cmake makeWrapper - pcre + pcre2 pkg-config python312Packages.python qt5.qtx11extras From eadecdb0c1ebad40fa1becc2ff4937afb9cfa18b Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Wed, 3 Jun 2026 01:14:35 +0200 Subject: [PATCH 3/3] renderdoc: avoid building pyrenderdoc it never got installed correctly anyway, and the required dependencies are unmaintained --- pkgs/by-name/re/renderdoc/package.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/re/renderdoc/package.nix b/pkgs/by-name/re/renderdoc/package.nix index 56f1d346026e..73e4c2fdc868 100644 --- a/pkgs/by-name/re/renderdoc/package.nix +++ b/pkgs/by-name/re/renderdoc/package.nix @@ -14,7 +14,7 @@ nix-update-script, pcre2, pkg-config, - python312Packages, + python3, qt5, stdenv, vulkan-loader, @@ -83,12 +83,14 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ libxdmcp libpthread-stubs - python312Packages.pyside2 - python312Packages.pyside2-tools - python312Packages.shiboken2 qt5.qtbase qt5.qtsvg vulkan-loader + # TODO: make sure pyrenderdoc is installed properly + # TODO: unbreak shiboken2 on python>3.12 + # python312Packages.pyside2 + # python312Packages.pyside2-tools + # python312Packages.shiboken2 ] ++ lib.optionals waylandSupport [ wayland @@ -103,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper pcre2 pkg-config - python312Packages.python + python3 qt5.qtx11extras qt5.wrapQtAppsHook ]; @@ -115,6 +117,10 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeFeature "BUILD_VERSION_DIST_CONTACT" "https://github.com/NixOS/nixpkgs/") (lib.cmakeBool "BUILD_VERSION_STABLE" true) (lib.cmakeBool "ENABLE_UNSUPPORTED_EXPERIMENTAL_POSSIBLY_BROKEN_WAYLAND" waylandSupport) + # TODO: build python bindings + # https://github.com/NixOS/nixpkgs/issues/525939 + (lib.cmakeBool "ENABLE_PYRENDERDOC" false) + (lib.cmakeBool "QRENDERDOC_ENABLE_PYSIDE2" false) ]; dontWrapQtApps = true;