blender: 4.3.2 -> 4.4.0

Changelog: https://developer.blender.org/docs/release_notes/4.4/

Diff: https://projects.blender.org/blender/blender/compare/v4.3.2..v4.4.0

- Blender now needs its fork of OpenCOLLADA to build successfully
- Blender is now bundling assets with the release tarballs again, so go
  back to single src
- Blender changed Draco location so we can have it work out-of-the-box
  and don’t have to move the Python dir around anymore; see upstream
  faaa12a10131b93757a8395f3448040436981e5f
- Other patches we backported are now applied and unneeded
- Blender added Pipewire support, but it’s off in their release builds
  currently so turn it off as well
This commit is contained in:
Andrew Marshall
2025-03-29 08:26:44 -04:00
parent 12be955b9e
commit 310df2b3ac
2 changed files with 10 additions and 74 deletions
-33
View File
@@ -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')
+10 -41
View File
@@ -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 \