Below is a WIP update diff for blender-4.4.3. It starts without any
crashes and runs fine so far. I fixed the woff2 (brotli freetype
dependency) and some other build issues.
There was a do-install. I don't know if we still need that and I don't
want to find out. I have comment it out and let cmake does the install job.
If someone thinks we need this, please fix it otherwise my suggestion
would be to commit it and we (*WE* without me) can fix it further
in-tree.
Cheers Rafael
diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile
index e80b12ba5a0..6e2c68e37c2 100644
--- a/graphics/blender/Makefile
+++ b/graphics/blender/Makefile
@@ -1,5 +1,3 @@
-# https://github.com/blender/blender/commit/a6837ac517b38a7fa535e0dda961334bee71323d
-BROKEN = needs update to >= 4.0.0 for Python 3.12 compatibility
# powerpc - tbb 64-bit atomics
# sparc64 - openexr linking failure
ONLY_FOR_ARCHS = aarch64 amd64 i386 powerpc64 riscv64
@@ -7,8 +5,7 @@ DPB_PROPERTIES = parallel
COMMENT = 3D creation software
-DISTNAME = blender-3.3.21
-REVISION = 1
+DISTNAME = blender-4.4.3
CATEGORIES = graphics
@@ -44,6 +41,7 @@ CONFIGURE_ARGS = -DPYTHON_INCLUDE_DIR="${MODPY_INCDIR}" \
-DWITH_CYCLES_EMBREE=OFF \
-DWITH_INSTALL_PORTABLE=OFF \
-DWITH_INTERNATIONAL=OFF \
+ -DWITH_SYSTEM_FREETYPE=ON \
-DWITH_JACK=OFF \
-DWITH_OPENMP=OFF \
-DWITH_PULSEAUDIO=OFF \
@@ -56,8 +54,12 @@ CONFIGURE_ARGS += -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
CONFIGURE_ARGS+= -DWITH_CPU_SIMD=OFF
.endif
-BUILD_DEPENDS = math/py-numpy \
+BUILD_DEPENDS = math/py-numpy \
www/py-requests
+
+# woff2_decompress in do-install
+BUILD_DEPENDS += archivers/woff2>=1.0.2p1
+
LIB_DEPENDS = audio/libsndfile \
audio/openal \
devel/boost \
@@ -79,6 +81,7 @@ LIB_DEPENDS = audio/libsndfile \
graphics/tiff \
math/fftw3 \
${MODPY_LIB_DEPENDS}
+
RUN_DEPENDS = devel/desktop-file-utils \
math/py-numpy \
www/py-requests \
@@ -86,52 +89,67 @@ RUN_DEPENDS = devel/desktop-file-utils \
NO_TEST = Yes
-CXXFLAGS += -I${LOCALBASE}/include -I${X11BASE}/include
-CFLAGS += -I${LOCALBASE}/include
-
-MODPY_ADJ_FILES = release/scripts/modules/bl_i18n_utils/merge_po.py \
- release/scripts/modules/bl_i18n_utils/utils_rtl.py \
- release/scripts/modules/blend_render_info.py \
- release/scripts/addons/io_curve_svg/svg_util_test.py \
- release/scripts/addons/io_scene_fbx/fbx2json.py \
- release/scripts/addons/io_scene_fbx/json2fbx.py \
- release/scripts/addons/sun_position/geo.py \
- release/datafiles/alert_icons_update.py \
- release/datafiles/blender_icons_geom_update.py \
- release/datafiles/blender_icons_update.py \
- release/datafiles/ctodata.py \
- release/datafiles/prvicons_update.py
-
-do-install:
- ${INSTALL_SCRIPT} ${FILESDIR}/blender ${PREFIX}/bin
- ${SUBST_CMD} ${PREFIX}/bin/blender
- ${INSTALL_PROGRAM} ${WRKBUILD}/bin/blender ${PREFIX}/bin/blender-bin
- ${INSTALL_SCRIPT} ${WRKSRC}/release/bin/blender-softwaregl \
- ${PREFIX}/bin/blender-softwaregl
- ${INSTALL_DATA_DIR} ${PREFIX}/share/blender/scripts
- ${INSTALL_DATA_DIR} ${PREFIX}/share/blender/datafiles
- cd ${WRKSRC}/release/scripts && pax -rw . \
- ${PREFIX}/share/blender/scripts
- ${INSTALL_DATA_DIR} ${PREFIX}/share/blender/scripts/addons/cycles
- cd ${WRKSRC}/intern/cycles/blender/addon && pax -rw . \
- ${PREFIX}/share/blender/scripts/addons/cycles
- cd ${WRKSRC}/release/datafiles && pax -rw . \
- ${PREFIX}/share/blender/datafiles
- ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/blender
- ${INSTALL_DATA} ${WRKSRC}/release/license/* \
- ${PREFIX}/share/doc/blender
- ${INSTALL_DATA} ${WRKSRC}/release/text/copy* \
- ${PREFIX}/share/doc/blender
- ${INSTALL_DATA_DIR} ${PREFIX}/share/applications
- ${INSTALL_DATA} ${WRKSRC}/release/freedesktop/blender.desktop \
- ${PREFIX}/share/applications
- ${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps
- ${INSTALL_DATA} \
- ${WRKSRC}/release/freedesktop/icons/scalable/apps/blender.svg \
- ${PREFIX}/share/pixmaps
- ${MODPY_BIN} ${WRKSRC}/doc/manpage/blender.1.py \
- --blender ${WRKBUILD}/bin/blender \
- --output ${PREFIX}/man/man1/blender.1
+MODCMAKE_LDFLAGS += -L${X11BASE}/lib -L${LOCALBASE}/lib
+CXXFLAGS += -I${LOCALBASE}/include -I${X11BASE}/include
+CFLAGS += -I${LOCALBASE}/include
+
+MODPY_ADJ_FILES = scripts/modules/bl_i18n_utils/merge_po.py \
+ scripts/modules/bl_i18n_utils/utils_rtl.py \
+ scripts/modules/blend_render_info.py \
+ scripts/addons/io_curve_svg/svg_util_test.py \
+ scripts/addons/io_scene_fbx/fbx2json.py \
+ scripts/addons/io_scene_fbx/json2fbx.py \
+ scripts/addons/sun_position/geo.py \
+ datafiles/alert_icons_update.py \
+ datafiles/blender_icons_geom_update.py \
+ datafiles/blender_icons_update.py \
+ datafiles/ctodata.py \
+ datafiles/prvicons_update.py
+
+#do-install:
+# ${INSTALL_SCRIPT} ${FILESDIR}/blender ${PREFIX}/bin
+# ${SUBST_CMD} ${PREFIX}/bin/blender
+# ${INSTALL_PROGRAM} ${WRKBUILD}/bin/blender ${PREFIX}/bin/blender-bin
+# ${INSTALL_SCRIPT} ${WRKSRC}/release/bin/blender-softwaregl \
+# ${PREFIX}/bin/blender-softwaregl
+# ${INSTALL_DATA_DIR} ${PREFIX}/share/blender/scripts
+# ${INSTALL_DATA_DIR} ${PREFIX}/share/blender/datafiles
+# cd ${WRKSRC}/scripts && pax -rw . \
+# ${PREFIX}/share/blender/scripts
+# ${INSTALL_DATA_DIR} ${PREFIX}/share/blender/scripts/addons/cycles
+# cd ${WRKSRC}/intern/cycles/blender/addon && pax -rw . \
+# ${PREFIX}/share/blender/scripts/addons/cycles
+# ${INSTALL_DATA_DIR} ${PREFIX}/share/blender/datafiles/fonts
+# cd ${WRKSRC}/release/datafiles/fonts && pax -rw . \
+# ${PREFIX}/share/blender/datafiles/fonts
+# cd ${WRKSRC}/release/datafiles && pax -rw . \
+# ${PREFIX}/share/blender/datafiles
+# ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/blender
+# ${INSTALL_DATA} ${WRKSRC}/release/license/{spdx,others}/* \
+# ${PREFIX}/share/doc/blender
+# ${INSTALL_DATA} ${WRKSRC}/release/text/copy* \
+# ${PREFIX}/share/doc/blender
+# ${INSTALL_DATA_DIR} ${PREFIX}/share/applications
+# ${INSTALL_DATA} ${WRKSRC}/release/freedesktop/blender.desktop \
+# ${PREFIX}/share/applications
+# ${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps
+# ${INSTALL_DATA} \
+# ${WRKSRC}/release/freedesktop/icons/scalable/apps/blender.svg \
+# ${PREFIX}/share/pixmaps
+# ${MODPY_BIN} ${WRKSRC}/doc/manpage/blender.1.py \
+# --blender ${WRKBUILD}/bin/blender \
+# --output ${PREFIX}/man/man1/blender.1
+# ${MODPY_COMPILEALL} ${PREFIX}/share/blender/
+# # Replace woff2 by ttf
+# find ${PREFIX}/share/blender/${V}/datafiles/fonts -name '*.woff2' \
+# -exec ${LOCALBASE}/bin/woff2_decompress {} \;
+# rm ${PREFIX}/share/blender/datafiles/fonts/*.woff2
+
+post-install:
${MODPY_COMPILEALL} ${PREFIX}/share/blender/
+ # Replace woff2 with ttf
+ find ${PREFIX}/share/blender/4.4/datafiles/fonts -name '*.woff2' \
+ -exec ${LOCALBASE}/bin/woff2_decompress {} \;
+ rm ${PREFIX}/share/blender/4.4/datafiles/fonts/*.woff2
.include <bsd.port.mk>
diff --git a/graphics/blender/distinfo b/graphics/blender/distinfo
index 55471985db9..ee6e606a6fd 100644
--- a/graphics/blender/distinfo
+++ b/graphics/blender/distinfo
@@ -1,2 +1,2 @@
-SHA256 (blender-3.3.21.tar.xz) = SpxMSWc+oFHiZfl6h8/SD14813urcZ86ShGRyJWNNOs=
-SIZE (blender-3.3.21.tar.xz) = 41940868
+SHA256 (blender-4.4.3.tar.xz) = meze8k7OFAhAFu5Hx1busvyKCchIegKWtFoRciTcXKc=
+SIZE (blender-4.4.3.tar.xz) = 85519376
diff --git a/graphics/blender/patches/patch-build_files_cmake_platform_platform_unix_cmake b/graphics/blender/patches/patch-build_files_cmake_platform_platform_unix_cmake
new file mode 100644
index 00000000000..5d361278f8e
--- /dev/null
+++ b/graphics/blender/patches/patch-build_files_cmake_platform_platform_unix_cmake
@@ -0,0 +1,12 @@
+Index: build_files/cmake/platform/platform_unix.cmake
+--- build_files/cmake/platform/platform_unix.cmake.orig
++++ build_files/cmake/platform/platform_unix.cmake
+@@ -666,7 +666,7 @@ if(WITH_SYSTEM_FREETYPE)
+ if(NOT FREETYPE_FOUND)
+ message(FATAL_ERROR "Failed finding system FreeType version!")
+ endif()
+- check_freetype_for_brotli()
++ #check_freetype_for_brotli()
+ # Quiet warning as this variable will be used after `FREETYPE_LIBRARIES`.
+ set(BROTLI_LIBRARIES "")
+ endif()
diff --git a/graphics/blender/patches/patch-intern_ghost_intern_GHOST_SystemWayland_cc b/graphics/blender/patches/patch-intern_ghost_intern_GHOST_SystemWayland_cc
new file mode 100644
index 00000000000..001462e3228
--- /dev/null
+++ b/graphics/blender/patches/patch-intern_ghost_intern_GHOST_SystemWayland_cc
@@ -0,0 +1,15 @@
+Index: intern/ghost/intern/GHOST_SystemWayland.cc
+--- intern/ghost/intern/GHOST_SystemWayland.cc.orig
++++ intern/ghost/intern/GHOST_SystemWayland.cc
+@@ -2599,7 +2599,11 @@ static wl_buffer *ghost_wl_buffer_create_for_image(wl_
+ if (fd >= 0) {
+ const int32_t buffer_stride = size_xy[0] * ghost_wl_shm_format_as_size(format);
+ const int32_t buffer_size = buffer_stride * size_xy[1];
++#ifdef __OpenBSD__
++ if (ftruncate(fd, buffer_size) == 0) {
++#else
+ if (posix_fallocate(fd, 0, buffer_size) == 0) {
++
No comments:
Post a Comment