diff --git a/pkgs/applications/misc/blender/draco.patch b/pkgs/applications/misc/blender/draco.patch deleted file mode 100644 index a5abed18453f..000000000000 --- a/pkgs/applications/misc/blender/draco.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 97596dbee8d..d1ad6ac5de0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1237,13 +1237,6 @@ set_and_warn_dependency(WITH_PYTHON WITH_CYCLES OFF) - set_and_warn_dependency(WITH_PYTHON WITH_DRACO OFF) - set_and_warn_dependency(WITH_PYTHON WITH_MOD_FLUID OFF) - --if(NOT WITH_PYTHON_MODULE) -- if(WITH_DRACO AND NOT WITH_PYTHON_INSTALL) -- message(STATUS "WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling WITH_DRACO for now") -- set(WITH_DRACO OFF) -- endif() --endif() -- - # enable boost for cycles, audaspace or i18n - # otherwise if the user disabled - -diff --git a/scripts/addons_core/io_scene_gltf2/io/com/draco.py b/scripts/addons_core/io_scene_gltf2/io/com/draco.py -index 75e23162c67..875596c3d2f 100644 ---- a/scripts/addons_core/io_scene_gltf2/io/com/draco.py -+++ b/scripts/addons_core/io_scene_gltf2/io/com/draco.py -@@ -31,8 +31,8 @@ def dll_path() -> Path: - :return: DLL path. - """ - lib_name = 'extern_draco' -- blender_root = Path(bpy.app.binary_path).parent -- python_lib = Path('{v[0]}.{v[1]}/python/lib'.format(v=bpy.app.version)) -+ blender_root = Path(bpy.app.binary_path).parent.parent -+ python_lib = Path('share/blender/{v[0]}.{v[1]}/python/lib'.format(v=bpy.app.version)) - python_version = 'python{v[0]}.{v[1]}'.format(v=sys.version_info) - - path = os.environ.get('BLENDER_EXTERN_DRACO_LIBRARY_PATH') diff --git a/pkgs/applications/misc/blender/darwin.patch b/pkgs/by-name/bl/blender/darwin.patch similarity index 100% rename from pkgs/applications/misc/blender/darwin.patch rename to pkgs/by-name/bl/blender/darwin.patch diff --git a/pkgs/applications/misc/blender/libdecor.patch b/pkgs/by-name/bl/blender/libdecor.patch similarity index 100% rename from pkgs/applications/misc/blender/libdecor.patch rename to pkgs/by-name/bl/blender/libdecor.patch diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/by-name/bl/blender/package.nix similarity index 89% rename from pkgs/applications/misc/blender/default.nix rename to pkgs/by-name/bl/blender/package.nix index c5a4aa8405b2..6d4516c07a6e 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -18,8 +18,6 @@ cudaSupport ? config.cudaSupport, dbus, embree, - fetchgit, - fetchpatch2, fetchzip, ffmpeg, fftw, @@ -56,7 +54,7 @@ makeWrapper, mesa, openal, - opencollada, + opencollada-blender, opencolorio, openexr, openimagedenoise, @@ -114,42 +112,15 @@ in stdenv'.mkDerivation (finalAttrs: { pname = "blender"; - version = "4.3.2"; + version = "4.4.0"; - srcs = [ - (fetchzip { - name = "source"; - url = "https://download.blender.org/source/blender-${finalAttrs.version}.tar.xz"; - hash = "sha256-LCU2JpQbvQ+W/jC+H8J2suh+X5sTLOG9TcE2EeHqVh4="; - }) - (fetchgit { - name = "assets"; - url = "https://projects.blender.org/blender/blender-assets.git"; - rev = "v${finalAttrs.version}"; - fetchLFS = true; - hash = "sha256-B/UibETNBEUAO1pLCY6wR/Mmdk2o9YyNs6z6pV8dBJI="; - }) - ]; + srcs = fetchzip { + name = "source"; + url = "https://download.blender.org/source/blender-${finalAttrs.version}.tar.xz"; + hash = "sha256-pAzOayAPyRYgTixAyg2prkUtI70uFulRuBYhgU9ZNw4="; + }; - postUnpack = '' - chmod -R u+w * - rm -r assets/working - mv assets --target-directory source/release/datafiles/ - ''; - - sourceRoot = "source"; - - patches = [ - ./draco.patch - (fetchpatch2 { - url = "https://gitlab.archlinux.org/archlinux/packaging/packages/blender/-/raw/4b6214600e11851d7793256e2f6846a594e6f223/ffmpeg-7-1.patch"; - hash = "sha256-YXXqP/+79y3f41n3cJ3A1RBzgdoYqfKZD/REqmWYdgQ="; - }) - (fetchpatch2 { - url = "https://gitlab.archlinux.org/archlinux/packaging/packages/blender/-/raw/4b6214600e11851d7793256e2f6846a594e6f223/ffmpeg-7-2.patch"; - hash = "sha256-mF6IA/dbHdNEkBN5XXCRcLIZ/8kXoirNwq7RDuLRAjw="; - }) - ] ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin.patch; + patches = [ ] ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin.patch; postPatch = (lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -201,6 +172,7 @@ stdenv'.mkDerivation (finalAttrs: { "-DWITH_OPENIMAGEDENOISE=${if openImageDenoiseSupport then "ON" else "OFF"}" "-DWITH_OPENSUBDIV=ON" "-DWITH_OPENVDB=ON" + "-DWITH_PIPEWIRE=OFF" "-DWITH_PULSEAUDIO=OFF" "-DWITH_PYTHON_INSTALL=OFF" "-DWITH_PYTHON_INSTALL_NUMPY=OFF" @@ -330,7 +302,7 @@ stdenv'.mkDerivation (finalAttrs: { wayland wayland-protocols ] - ++ lib.optional colladaSupport opencollada + ++ lib.optional colladaSupport opencollada-blender ++ lib.optional jackaudioSupport libjack2 ++ lib.optional spaceNavSupport libspnav ++ lib.optionals vulkanSupport [ @@ -365,9 +337,6 @@ stdenv'.mkDerivation (finalAttrs: { mkdir $out/Applications mv $out/Blender.app $out/Applications '' - + lib.optionalString stdenv.hostPlatform.isLinux '' - mv $out/share/blender/${lib.versions.majorMinor finalAttrs.version}/python{,-ext} - '' + '' buildPythonPath "$pythonPath" wrapProgram $blenderExecutable \ diff --git a/pkgs/applications/misc/blender/test-cuda.py b/pkgs/by-name/bl/blender/test-cuda.py similarity index 100% rename from pkgs/applications/misc/blender/test-cuda.py rename to pkgs/by-name/bl/blender/test-cuda.py diff --git a/pkgs/applications/misc/blender/wrapper.nix b/pkgs/by-name/bl/blender/wrapper.nix similarity index 100% rename from pkgs/applications/misc/blender/wrapper.nix rename to pkgs/by-name/bl/blender/wrapper.nix diff --git a/pkgs/by-name/op/opencollada-blender/package.nix b/pkgs/by-name/op/opencollada-blender/package.nix new file mode 100644 index 000000000000..0048aaa2ea2c --- /dev/null +++ b/pkgs/by-name/op/opencollada-blender/package.nix @@ -0,0 +1,39 @@ +{ + cmake, + fetchFromGitHub, + lib, + libxml2, + pcre, + pkg-config, + stdenv, +}: + +stdenv.mkDerivation { + pname = "opencollada"; + version = "unstable-2025-01-30"; + + src = fetchFromGitHub { + owner = "aras-p"; + repo = "OpenCOLLADA"; + rev = "4526eb8aaa6462c71fbedd23103976c151a01c50"; + sha256 = "sha256-ctr+GjDzxOJxBfaMwjwayPkAOcF+FMsP1X72QCOwvTY="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + propagatedBuildInputs = [ + libxml2 + pcre + ]; + + meta = { + description = "Library for handling the COLLADA file format"; + homepage = "https://github.com/KhronosGroup/OpenCOLLADA/"; + maintainers = [ lib.maintainers.amarshall ]; + platforms = lib.platforms.unix; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/by-name/op/opencollada/package.nix b/pkgs/by-name/op/opencollada/package.nix index 2e12e13f56c4..58d743702fee 100644 --- a/pkgs/by-name/op/opencollada/package.nix +++ b/pkgs/by-name/op/opencollada/package.nix @@ -1,18 +1,16 @@ { - lib, - stdenv, + cmake, fetchFromGitHub, fetchurl, - cmake, - pkg-config, + lib, libxml2, pcre, - darwin, + pkg-config, + stdenv, }: stdenv.mkDerivation rec { pname = "opencollada"; - version = "1.6.68"; src = fetchFromGitHub { @@ -32,19 +30,6 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ - cmake - pkg-config - ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( - with darwin.apple_sdk.frameworks; [ AGL ] - ); - - propagatedBuildInputs = [ - libxml2 - pcre - ]; - postPatch = '' # Drop blanket -Werror as it tends to fail on newer toolchain for @@ -56,6 +41,16 @@ stdenv.mkDerivation rec { --replace math.h cmath ''; + nativeBuildInputs = [ + cmake + pkg-config + ]; + + propagatedBuildInputs = [ + libxml2 + pcre + ]; + meta = { description = "Library for handling the COLLADA file format"; homepage = "https://github.com/KhronosGroup/OpenCOLLADA/"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6774f6f2109d..a14fe7123643 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12611,7 +12611,7 @@ with pkgs; pinentry = pinentry-curses; }; - blender = callPackage ../applications/misc/blender { + blender = callPackage ../by-name/bl/blender/package.nix { openexr = openexr_3; python3Packages = python311Packages; inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics ForceFeedback OpenAL OpenGL;