From 71c912d75a2ba0348ed915f18c2aa2d4cea2039c Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Sun, 26 Apr 2026 00:08:16 -0400 Subject: [PATCH 1/6] blender: remove unused cmake config - WITH_GHOST_WAYLAND_DBUS removed upstream in 0c914667852bcbc1a933ad84aabad75b7a49a647 (v4.0.0) - WITH_GHOST_WAYLAND_LIBDECOR removed upstream in 7032b785782628066f53df302bef5c39e0e51616 (v5.0.0) --- pkgs/by-name/bl/blender/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/bl/blender/package.nix b/pkgs/by-name/bl/blender/package.nix index 6a4ca6da065e..994ee5dccb8e 100644 --- a/pkgs/by-name/bl/blender/package.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -213,9 +213,7 @@ stdenv'.mkDerivation (finalAttrs: { ] ++ lib.optionals waylandSupport [ (lib.cmakeBool "WITH_GHOST_WAYLAND" true) - (lib.cmakeBool "WITH_GHOST_WAYLAND_DBUS" true) (lib.cmakeBool "WITH_GHOST_WAYLAND_DYNLOAD" false) - (lib.cmakeBool "WITH_GHOST_WAYLAND_LIBDECOR" true) ] ++ lib.optionals stdenv.cc.isClang [ (lib.cmakeFeature "PYTHON_LINKFLAGS" "") # Clang doesn't support "-export-dynamic" From 377311bc723322985417721d48add5cfceccd4d8 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Sun, 26 Apr 2026 00:11:58 -0400 Subject: [PATCH 2/6] blender: build cycles kernels in parallel For me, this reduces CUDA build time from about 12 minutes to 9 minutes. --- pkgs/by-name/bl/blender/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/bl/blender/package.nix b/pkgs/by-name/bl/blender/package.nix index 994ee5dccb8e..19b45af1a05a 100644 --- a/pkgs/by-name/bl/blender/package.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -183,6 +183,7 @@ stdenv'.mkDerivation (finalAttrs: { (lib.cmakeBool "WITH_CYCLES_DEVICE_OPTIX" cudaSupport) (lib.cmakeBool "WITH_CYCLES_EMBREE" embreeSupport) (lib.cmakeBool "WITH_CYCLES_OSL" true) + (lib.cmakeBool "WITH_CYCLES_PARALLEL_DEVICE_KERNEL_BUILD" true) (lib.cmakeBool "WITH_SYSTEM_GLOG" true) (lib.cmakeBool "WITH_HYDRA" openUsdSupport) (lib.cmakeBool "WITH_INSTALL_PORTABLE" false) From 7af23b25f0cb9fcf466b66e2d38e4d8ac5e5c5ed Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Sat, 25 Apr 2026 23:34:08 -0400 Subject: [PATCH 3/6] blender: remove obsolete comment about license MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Blender License was never activated or used, and does not nullify that Blender itself is license under the GPL. The “indefinite cancellation” also occurred in 2005 (over 20 years ago). --- pkgs/by-name/bl/blender/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/bl/blender/package.nix b/pkgs/by-name/bl/blender/package.nix index 19b45af1a05a..335f3e217262 100644 --- a/pkgs/by-name/bl/blender/package.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -451,8 +451,6 @@ stdenv'.mkDerivation (finalAttrs: { meta = { description = "3D Creation/Animation/Publishing System"; homepage = "https://www.blender.org"; - # They comment two licenses: GPLv2 and Blender License, but they - # say: "We've decided to cancel the BL offering for an indefinite period." # OptiX, enabled with cudaSupport, is non-free. license = with lib.licenses; [ gpl2Plus ] ++ lib.optional cudaSupport nvidiaCudaRedist; From 300e36a1c0b463e5dabb47e0b8d9927591e76161 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Mon, 27 Apr 2026 22:37:23 -0400 Subject: [PATCH 4/6] blender: alphabetize --- pkgs/by-name/bl/blender/package.nix | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/bl/blender/package.nix b/pkgs/by-name/bl/blender/package.nix index 335f3e217262..d15576e850e6 100644 --- a/pkgs/by-name/bl/blender/package.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -1,5 +1,4 @@ { - SDL, addDriverRunpath, alembic, apple-sdk_15, @@ -15,8 +14,8 @@ cudaSupport ? config.cudaSupport, dbus, embree, - fetchzip, fetchFromGitHub, + fetchzip, ffmpeg_7, fftw, fftwFloat, @@ -27,16 +26,11 @@ jackaudioSupport ? false, jemalloc, lib, - libGL, - libGLU, - libx11, - libxext, - libxi, - libxrender, - libxxf86vm, libdecor, libepoxy, libffi, + libGL, + libGLU, libharu, libjack2, libjpeg, @@ -46,13 +40,18 @@ libspnav, libtiff, libwebp, + libx11, + libxext, + libxi, libxkbcommon, + libxrender, + libxxf86vm, llvmPackages, makeWrapper, manifold, mesa, nix-update-script, - openUsdSupport ? !stdenv.hostPlatform.isDarwin, + onetbb, openal, opencollada-blender, opencolorio, @@ -62,6 +61,7 @@ openjpeg, openpgl, opensubdiv, + openUsdSupport ? !stdenv.hostPlatform.isDarwin, openvdb, openxr-loader, pkg-config, @@ -72,11 +72,11 @@ rocmSupport ? config.rocmSupport, rubberband, runCommand, + SDL, shaderc, spaceNavSupport ? stdenv.hostPlatform.isLinux, sse2neon, stdenv, - onetbb, vulkan-headers, vulkan-loader, wayland, @@ -184,7 +184,6 @@ stdenv'.mkDerivation (finalAttrs: { (lib.cmakeBool "WITH_CYCLES_EMBREE" embreeSupport) (lib.cmakeBool "WITH_CYCLES_OSL" true) (lib.cmakeBool "WITH_CYCLES_PARALLEL_DEVICE_KERNEL_BUILD" true) - (lib.cmakeBool "WITH_SYSTEM_GLOG" true) (lib.cmakeBool "WITH_HYDRA" openUsdSupport) (lib.cmakeBool "WITH_INSTALL_PORTABLE" false) (lib.cmakeBool "WITH_JACK" jackaudioSupport) @@ -197,6 +196,7 @@ stdenv'.mkDerivation (finalAttrs: { (lib.cmakeBool "WITH_PYTHON_INSTALL_NUMPY" false) (lib.cmakeBool "WITH_PYTHON_INSTALL_REQUESTS" false) (lib.cmakeBool "WITH_STRICT_BUILD_OPTIONS" true) + (lib.cmakeBool "WITH_SYSTEM_GLOG" true) (lib.cmakeBool "WITH_USD" openUsdSupport) # Blender supplies its own FindAlembic.cmake (incompatible with the Alembic-supplied config file) @@ -279,8 +279,8 @@ stdenv'.mkDerivation (finalAttrs: { openjpeg openpgl (opensubdiv.override { inherit cudaSupport; }) - openvdb onetbb + openvdb potrace pugixml python3 @@ -455,10 +455,10 @@ stdenv'.mkDerivation (finalAttrs: { license = with lib.licenses; [ gpl2Plus ] ++ lib.optional cudaSupport nvidiaCudaRedist; platforms = [ + "aarch64-darwin" "aarch64-linux" "x86_64-darwin" "x86_64-linux" - "aarch64-darwin" ]; maintainers = with lib.maintainers; [ amarshall From abdb14b5cf4ca9414635a201f6b5c27ae915f588 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Mon, 27 Apr 2026 22:37:30 -0400 Subject: [PATCH 5/6] blender: lift dep out of both sides of conditional --- pkgs/by-name/bl/blender/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/bl/blender/package.nix b/pkgs/by-name/bl/blender/package.nix index d15576e850e6..bcd666a9bbdb 100644 --- a/pkgs/by-name/bl/blender/package.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -281,6 +281,7 @@ stdenv'.mkDerivation (finalAttrs: { (opensubdiv.override { inherit cudaSupport; }) onetbb openvdb + openxr-loader potrace pugixml python3 @@ -304,7 +305,6 @@ stdenv'.mkDerivation (finalAttrs: { libxrender libxxf86vm openal - openxr-loader ] else [ @@ -314,7 +314,6 @@ stdenv'.mkDerivation (finalAttrs: { apple-sdk_15 brotli llvmPackages.openmp - openxr-loader ] ) ++ lib.optionals stdenv.hostPlatform.isAarch64 [ sse2neon ] From c5ab38f5373a401b1cce18011b51ad3c001320f3 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Mon, 2 Feb 2026 08:21:37 -0500 Subject: [PATCH 6/6] blender: do not rename exe when wrapping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unclear why this was done. It doesn’t reflect the typical behavior in “wrapped” drvs in Nixpkgs. --- pkgs/by-name/bl/blender/wrapper.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/bl/blender/wrapper.nix b/pkgs/by-name/bl/blender/wrapper.nix index 5a7ede86a46e..a3700fa9f12d 100644 --- a/pkgs/by-name/bl/blender/wrapper.nix +++ b/pkgs/by-name/bl/blender/wrapper.nix @@ -15,15 +15,12 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper ]; installPhase = '' - mkdir $out/{share/applications,bin} -p - sed 's/Exec=blender/Exec=${finalAttrs.finalPackage.pname}/g' $src/share/applications/blender.desktop > $out/share/applications/${finalAttrs.finalPackage.pname}.desktop - cp -r $src/share/blender $out/share - cp -r $src/share/doc $out/share - cp -r $src/share/icons $out/share + mkdir $out/bin -p + cp -r $src/share $out/share buildPythonPath "''${pythonPath[*]}" - makeWrapper ${blender}/bin/blender $out/bin/${finalAttrs.finalPackage.pname} \ + makeWrapper ${blender}/bin/blender $out/bin/blender \ --prefix PATH : $program_PATH \ --prefix PYTHONPATH : $program_PYTHONPATH '';