diff --git a/graphics/blender-lts28/Makefile b/graphics/blender-lts28/Makefile index 135ad4c9ccc2..568c51265dd0 100644 --- a/graphics/blender-lts28/Makefile +++ b/graphics/blender-lts28/Makefile @@ -1,211 +1,226 @@ PORTNAME= blender -DISTVERSION= 2.83.15 -PORTREVISION= 10 +DISTVERSION= 2.83.18 CATEGORIES= graphics multimedia MASTER_SITES= http://download.blender.org/source/ \ http://mirror.cs.umn.edu/blender.org/source/ \ http://public.planetmirror.com/pub/blender/source/ # long term support v2.8x PKGNAMESUFFIX= -lts28 MAINTAINER= FreeBSD@Shaneware.biz COMMENT= 3D modeling/rendering/animation package - LTS LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/doc/license/GPL3-license.txt BUILD_DEPENDS= ${PYNUMPY} LIB_DEPENDS= libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libboost_regex.so:devel/boost-libs RUN_DEPENDS= ${PYNUMPY} # libboost_regex.so just acts as a placeholder; several boost # libraries are used, if either of the most common options in blender # are set. We will pull boost in just to be on the safe side. -USES= cmake compiler:c++14-lang gl cpe gnome jpeg python:3.7 shebangfix \ +USES= cmake compiler:c++14-lang cpe gl jpeg python:3.7 shebangfix \ tar:xz xorg USE_XORG= x11 xext xfixes xmu xrender USE_GL= gl glu glew +INSTALLS_ICONS= yes CMAKE_OFF= WITH_IMAGE_OPENJPEG WITH_PYTHON_INSTALL \ WITH_PYTHON_INSTALL_NUMPY WITH_INSTALL_PORTABLE \ - WITH_CYCLES_LOGGING + WITH_CYCLES_LOGGING WITH_CYCLES_OSL WITH_LLVM SUB_FILES= blender SHEBANG_FILES= release/bin/blender-thumbnailer.py \ 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 CFLAGS+= ${CFLAGS_${CHOSEN_COMPILER_TYPE}} CFLAGS_gcc= -Wno-float-conversion CFLAGS_i386= -march=i586 CXXFLAGS_i386= -march=i586 # prevent conflict with other blender versions DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX} -PLIST_SUB+= VER=${DISTVERSION:R} SUFFIX=${PKGNAMESUFFIX} +PLIST_SUB+= VER=${DISTVERSION:R} SUFFIX=${PKGNAMESUFFIX} CYCLESOSL="@comment " OPTIONS_SUB= yes .include "${.CURDIR}/Makefile.options" ALEMBIC_CMAKE_BOOL= WITH_ALEMBIC ALEMBIC_LIB_DEPENDS= libAlembic.so:graphics/alembic # note that this needs to be set to match alembics hdf5 option -ALEMBIC_HDF5_IMPLIES= ALEMBIC +ALEMBIC_HDF5_REQUIRES= ALEMBIC ALEMBIC_HDF5_CMAKE_BOOL= WITH_ALEMBIC_HDF5 ALEMBIC_HDF5_LIB_DEPENDS= libhdf5.so:science/hdf5 AVI_CMAKE_BOOL= WITH_CODEC_AVI BULLET_CMAKE_BOOL= WITH_BULLET CAMERATRACK_CMAKE_BOOL= WITH_LIBMV CAMERATRACK_LIB_DEPENDS= libunwind.so:devel/libunwind +CAMERATRACK_ONLY_FOR_ARCHS= i386 amd64 +CAMERATRACK_ONLY_FOR_ARCHS_REASON= libunwind only supports x86/amd64 CINEON_CMAKE_BOOL= WITH_IMAGE_CINEON COLLADA_CMAKE_BOOL= WITH_OPENCOLLADA COLLADA_LIB_DEPENDS= libOpenCOLLADABaseUtils.so:graphics/opencollada \ libpcre.so:devel/pcre COLLADA_USE= GNOME=libxml2 COLLADA_USES= gnome COMPOSITOR_CMAKE_BOOL= WITH_COMPOSITOR CYCLES_IMPLIES= OPENIMAGEIO CYCLES_CMAKE_BOOL= WITH_CYCLES CYCLES_LIB_DEPENDS= libpugixml.so:textproc/pugixml CYCLESEMBR_IMPLIES= CYCLES CYCLESEMBR_CMAKE_BOOL= WITH_CYCLES_EMBREE CYCLESEMBR_LIB_DEPENDS= libembree3.so:graphics/embree +CYCLESEMBR_ONLY_FOR_ARCHS= amd64 +CYCLESEMBR_ONLY_FOR_ARCHS_REASON= embree only supports amd64 CYCLESOSL_IMPLIES= CYCLES CYCLESOSL_CMAKE_BOOL= WITH_CYCLES_OSL WITH_LLVM CYCLESOSL_CMAKE_ON= -DLLVM_STATIC:BOOL=OFF \ -DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config${LLVM_VER}" \ -DOSL_ROOT_DIR:STRING="${LOCALBASE}/share/openshadinglanguage/" CYCLESOSL_BUILD_DEPENDS= llvm-config${LLVM_VER}:devel/llvm${LLVM_VER} CYCLESOSL_LIB_DEPENDS= liboslcomp.so:graphics/openshadinglanguage CYCLESOSL_RUN_DEPENDS= llvm-config${LLVM_VER}:devel/llvm${LLVM_VER} +CYCLESOSL_BROKEN= OSL not supported with current ocio DDS_CMAKE_BOOL= WITH_IMAGE_DDS DRACO_CMAKE_BOOL= WITH_DRACO FFMPEG_CMAKE_BOOL= WITH_CODEC_FFMPEG -FFMPEG_LDFLAGS= -L${PREFIX}/lib -lflite -lflite_cmu_us_kal -lflite_cmulex -lflite_usenglish +FFMPEG_LDFLAGS= -L${LOCALBASE}/lib -lflite -lflite_cmu_us_kal -lflite_cmulex -lflite_usenglish FFMPEG_LIB_DEPENDS= libavutil.so:multimedia/ffmpeg \ libflite_cmu_us_kal.so:audio/flite FFTW3_CMAKE_BOOL= WITH_FFTW3 FFTW3_LIB_DEPENDS= libfftw3.so:math/fftw3 FRAMESERVER_CMAKE_BOOL= WITH_IMAGE_FRAMESERVER FREESTYLE_CMAKE_BOOL= WITH_FREESTYLE HDR_CMAKE_BOOL= WITH_IMAGE_HDR HEADLESS_PREVENTS= MENU XINPUT XF86VMODE HEADLESS_PREVENTS_MSG= X11 options can't be used in headless mode HEADLESS_CMAKE_BOOL= WITH_HEADLESS INPUT_NDOF_CMAKE_BOOL= WITH_INPUT_NDOF JACK_CMAKE_BOOL= WITH_JACK JACK_LIB_DEPENDS= libjack.so:audio/jack LZO_CMAKE_BOOL= WITH_LZO LZMA_CMAKE_BOOL= WITH_LZMA MENU_USES= desktop-file-utils MOD_BOOLEAN_CMAKE_BOOL= WITH_MOD_BOOLEAN MOD_FLUID_CMAKE_BOOL= WITH_MOD_FLUID MOD_OCEANSIM_IMPLIES= FFTW3 MOD_OCEANSIM_CMAKE_BOOL= WITH_MOD_OCEANSIM MOD_REMESH_CMAKE_BOOL= WITH_MOD_REMESH MOD_SMOKE_CMAKE_BOOL= WITH_MOD_SMOKE NLS_CMAKE_BOOL= WITH_INTERNATIONAL # Use iconv:wchar_t to force the usage of iconv from ports. # libboost_locale.so uses libiconv_open, while we only provide # iconv_open in 10.x+ NLS_USES= gettext iconv:lib,wchar_t OPENAL_CMAKE_BOOL= WITH_OPENAL OPENAL_USES= openal:al,alut OPENCOLORIO_CMAKE_BOOL= WITH_OPENCOLORIO -OPENCOLORIO_LIB_DEPENDS= libOpenColorIO.so:graphics/opencolorio \ +OPENCOLORIO_LIB_DEPENDS= libOpenColorIOv1.so:graphics/opencoloriov1 \ libyaml-cpp03.so:devel/yaml-cpp03 \ libtinyxml.so:textproc/tinyxml OPENEXR_CMAKE_BOOL= WITH_IMAGE_OPENEXR OPENEXR_CFLAGS= -I${LOCALBASE}/include/Imath OPENEXR_LIB_DEPENDS= libImath.so:math/Imath \ libOpenEXR.so:graphics/openexr OPENIMAGEIO_IMPLIES= OPENEXR TIFF OPENIMAGEIO_CMAKE_BOOL= WITH_OPENIMAGEIO -OPENIMAGEIO_LIB_DEPENDS= libOpenImageIO.so:graphics/openimageio +OPENIMAGEIO_LIB_DEPENDS= libOpenImageIO-ociov1.so:graphics/openimageio-ociov1 +#OPENIMAGEIO_LDFLAGS= -lOpenImageIO_Util-ociov1 OPENIMAGEDN_CMAKE_BOOL= WITH_OPENIMAGEDENOISE OPENIMAGEDN_LIB_DEPENDS= libOpenImageDenoise.so:graphics/oidn +OPENIMAGEDN_ONLY_FOR_ARCHS= amd64 +OPENIMAGEDN_ONLY_FOR_ARCHS_REASON= oidn only supports amd64 # openmp usually works on amd64 OPENMP_CMAKE_BOOL= WITH_OPENMP OPENSUBDIV_CMAKE_BOOL= WITH_OPENSUBDIV OPENSUBDIV_LIB_DEPENDS= libosdCPU.so:graphics/opensubdiv OPENVDB_CMAKE_BOOL= WITH_OPENVDB WITH_OPENVDB_BLOSC OPENVDB_LIB_DEPENDS= libblosc.so:archivers/c-blosc \ libopenvdb.so:misc/openvdb \ libtbb.so:devel/onetbb RAYOPTIMIZATION_CMAKE_BOOL= WITH_RAYOPTIMIZATION SDL_CMAKE_BOOL= WITH_SDL SDL_USE= SDL=sdl2 SDL_USES= sdl SNDFILE_CMAKE_BOOL= WITH_CODEC_SNDFILE SNDFILE_LIB_DEPENDS= libsndfile.so:audio/libsndfile TBB_CMAKE_BOOL= WITH_TBB TBB_LIB_DEPENDS= libtbb.so:devel/onetbb TIFF_CMAKE_BOOL= WITH_IMAGE_TIFF TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff XINPUT_CMAKE_BOOL= WITH_X11_XINPUT XINPUT_USE= XORG=xi XF86VMODE_CMAKE_BOOL= WITH_X11_XF86VMODE XF86VMODE_USE= XORG=xi,xxf86vm .if defined(WITH_DEBUG) CMAKE_ARGS+= -DWITH_GHOST_DEBUG:BOOL=ON .endif .include .if ${ARCH} != amd64 && ${ARCH} != i386 CMAKE_ARGS+= -DWITH_CPU_SSE:BOOL=OFF .endif .if ${LLVM_DEFAULT:M[678]0} LLVM_VER= 90 .else LLVM_VER= ${LLVM_DEFAULT} .endif post-patch-OPENCOLORIO-on: - @${REINPLACE_CMD} -e 's|yaml-cpp|&03|' \ - ${PATCH_WRKSRC}/build_files/cmake/Modules/FindOpenColorIO.cmake + @${REINPLACE_CMD} -e 's|OpenColorIO/OpenColorIO.h|OpenColorIOv1/OpenColorIO.h|' \ + ${PATCH_WRKSRC}/intern/opencolorio/ocio_impl_glsl.cc \ + ${PATCH_WRKSRC}/intern/opencolorio/ocio_impl.cc \ + ${PATCH_WRKSRC}/intern/cycles/render/colorspace.cpp \ + ${PATCH_WRKSRC}/intern/cycles/render/shader.cpp + @${REINPLACE_CMD} -e 's| diff --git a/graphics/blender-lts28/Makefile.options b/graphics/blender-lts28/Makefile.options index c868ab2a26aa..b488a8ada1a6 100644 --- a/graphics/blender-lts28/Makefile.options +++ b/graphics/blender-lts28/Makefile.options @@ -1,127 +1,125 @@ OPTIONS_DEFINE= \ ALEMBIC \ ALEMBIC_HDF5 \ AVI \ BULLET \ CAMERATRACK \ CINEON \ COLLADA \ COMPOSITOR \ CYCLES \ CYCLESEMBR \ - CYCLESOSL \ DDS \ DRACO \ FFMPEG \ FFTW3 \ FRAMESERVER \ FREESTYLE \ HDR \ HEADLESS \ INPUT_NDOF \ JACK \ LZO \ LZMA \ MENU \ MOD_BOOLEAN \ MOD_FLUID \ MOD_OCEANSIM \ MOD_REMESH \ MOD_SMOKE \ NLS \ OPENAL \ OPENCOLORIO \ OPENEXR \ OPENIMAGEIO \ OPENIMAGEDN \ OPENMP \ OPENSUBDIV \ OPENVDB \ RAYOPTIMIZATION \ SDL \ SNDFILE \ TBB \ TIFF \ XINPUT \ XF86VMODE - +# OSL needs cutom build with oiio and ocio +# CYCLESOSL OPTIONS_DEFAULT= \ ALEMBIC \ ALEMBIC_HDF5 \ AVI \ BULLET \ CINEON \ COLLADA \ COMPOSITOR \ CYCLES \ DDS \ DRACO \ FFMPEG \ FFTW3 \ FRAMESERVER \ FREESTYLE \ HDR \ INPUT_NDOF \ LZO \ LZMA \ MENU \ MOD_BOOLEAN \ MOD_FLUID \ MOD_OCEANSIM \ MOD_REMESH \ MOD_SMOKE \ OPENAL \ OPENCOLORIO \ OPENEXR \ OPENIMAGEIO \ OPENSUBDIV \ + OPENVDB \ RAYOPTIMIZATION \ SDL \ TBB \ TIFF \ XINPUT \ XF86VMODE -# disabled until tbb support -# OPENVDB - OPTIONS_DEFAULT_amd64= CAMERATRACK CYCLESEMBR OPENIMAGEDN ALEMBIC_DESC= Enable Alembic file support ALEMBIC_HDF5_DESC= Enable Alembic hdf5 file support AVI_DESC= Enable Blender's own AVI file support BULLET_DESC= Bullet physics engine CINEON_DESC= CINEON and DPX graphics format support CAMERATRACK_DESC= Camera tracking support COLLADA_DESC= Enable read/write support for COLLADA files COMPOSITOR_DESC= Use the tile-based nodal compositor CYCLES_DESC= Cycles render engine support CYCLESEMBR_DESC= Embree support (amd64 only) CYCLESOSL_DESC= Shading support for the cycles render engine DDS_DESC= DDS graphics format support # this is required to support gltf import/export DRACO_DESC= Install draco python module FFTW3_DESC= Use fftw for smoke and audio effects FRAMESERVER_DESC= Image FrameServer support for rendering FREESTYLE_DESC= Enable advanced edges rendering HDR_DESC= Generic high dynamic-range (HDR) support HEADLESS_DESC= Disable user interface (for render-farms) INPUT_NDOF_DESC= Enable NDOF input device support LZO_DESC= Fast compression support LZMA_DESC= Best compression support MENU_DESC= Install desktop menu MOD_BOOLEAN_DESC= Boolean modifier support MOD_FLUID_DESC= Fluid simulation support MOD_OCEANSIM_DESC= Ocean simulation support MOD_REMESH_DESC= Remesh modifier support MOD_SMOKE_DESC= Smoke simulation support OPENCOLORIO_DESC= OpenColorIO-based color management support OPENIMAGEIO_DESC= OpenImageIO image processing support OPENIMAGEDN_DESC= OpenImageDenoise support OPENSUBDIV_DESC= Use the OpenSubDiv library for surface subdivision OPENVDB_DESC= Use openVDB library for volumetric data RAYOPTIMIZATION_DESC= Enable SSE optimizatons for raytracing SDL_DESC= Audio and Joystick support using SDL TBB_DESC= Enable use of Intel's tbb XINPUT_DESC= X11 Xinput (tablet) support XF86VMODE_DESC= X11 video mode switching support diff --git a/graphics/blender-lts28/Makefile.versions b/graphics/blender-lts28/Makefile.versions index 06093b484487..8bfb19615d03 100644 --- a/graphics/blender-lts28/Makefile.versions +++ b/graphics/blender-lts28/Makefile.versions @@ -1,6 +1,4 @@ -# $FreeBSD$ - # Versions of Blender and its python dependency for use by depending ports, like add-ons -BLENDER_BL_VERSION= 2.83.15 +BLENDER_BL_VERSION= 2.83.18 BLENDER_PY_VERSION= 3.7 diff --git a/graphics/blender-lts28/distinfo b/graphics/blender-lts28/distinfo index 6c326a07462e..c597f5edb40e 100644 --- a/graphics/blender-lts28/distinfo +++ b/graphics/blender-lts28/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1621577075 -SHA256 (blender-2.83.15.tar.xz) = 98362f5c57772cc117a50dc5df2ce68a9fab540534323b099812e5f13fc5c3d9 -SIZE (blender-2.83.15.tar.xz) = 39125740 +TIMESTAMP = 1638698555 +SHA256 (blender-2.83.18.tar.xz) = 3791d0baf68d25920c3eca3b82481b112ad089de8000692e000d5cada503d5c9 +SIZE (blender-2.83.18.tar.xz) = 39128364 diff --git a/graphics/blender-lts28/files/patch-CMakeLists.txt b/graphics/blender-lts28/files/patch-CMakeLists.txt index f138a4bee9da..2f9b6ba6d850 100644 --- a/graphics/blender-lts28/files/patch-CMakeLists.txt +++ b/graphics/blender-lts28/files/patch-CMakeLists.txt @@ -1,23 +1,23 @@ ---- CMakeLists.txt.orig 2021-02-23 09:13:59 UTC +--- CMakeLists.txt.orig 2019-07-31 13:12:04 UTC +++ CMakeLists.txt @@ -613,11 +613,6 @@ if(NOT WITH_PYTHON) set(WITH_DRACO OFF) endif() -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() - # enable boost for cycles, audaspace or i18n # otherwise if the user disabled - + if(NOT WITH_BOOST) @@ -1552,7 +1547,7 @@ elseif( CMAKE_C_COMPILER_ID MATCHES "Intel" ) # TODO(sergey): Do we want c++11 or gnu-c++11 here? - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") else() message(FATAL_ERROR "Unknown compiler ${CMAKE_C_COMPILER_ID}, can't enable C++11 build") endif() diff --git a/graphics/blender-lts28/files/patch-build__files_cmake_Modules_FindOpenColorIO.cmake b/graphics/blender-lts28/files/patch-build__files_cmake_Modules_FindOpenColorIO.cmake new file mode 100644 index 000000000000..bbde3f296912 --- /dev/null +++ b/graphics/blender-lts28/files/patch-build__files_cmake_Modules_FindOpenColorIO.cmake @@ -0,0 +1,22 @@ +--- build_files/cmake/Modules/FindOpenColorIO.cmake.orig 2021-12-06 15:16:17 UTC ++++ build_files/cmake/Modules/FindOpenColorIO.cmake +@@ -28,8 +28,8 @@ IF(NOT OPENCOLORIO_ROOT_DIR AND NOT $ENV{OPENCOLORIO_R + ENDIF() + + SET(_opencolorio_FIND_COMPONENTS +- OpenColorIO +- yaml-cpp ++ OpenColorIOv1 ++ yaml-cpp03 + tinyxml + ) + +@@ -40,7 +40,7 @@ SET(_opencolorio_SEARCH_DIRS + + FIND_PATH(OPENCOLORIO_INCLUDE_DIR + NAMES +- OpenColorIO/OpenColorIO.h ++ OpenColorIOv1/OpenColorIO.h + HINTS + ${_opencolorio_SEARCH_DIRS} + PATH_SUFFIXES diff --git a/graphics/blender-lts28/files/patch-build__files_cmake_Modules_FindOpenImageIO.cmake b/graphics/blender-lts28/files/patch-build__files_cmake_Modules_FindOpenImageIO.cmake new file mode 100644 index 000000000000..57b9c0a67663 --- /dev/null +++ b/graphics/blender-lts28/files/patch-build__files_cmake_Modules_FindOpenImageIO.cmake @@ -0,0 +1,29 @@ +--- build_files/cmake/Modules/FindOpenImageIO.cmake.orig 2021-12-06 20:51:59 UTC ++++ build_files/cmake/Modules/FindOpenImageIO.cmake +@@ -36,7 +36,7 @@ SET(_openimageio_SEARCH_DIRS + + FIND_PATH(OPENIMAGEIO_INCLUDE_DIR + NAMES +- OpenImageIO/imageio.h ++ OpenImageIO-ociov1/imageio.h + HINTS + ${_openimageio_SEARCH_DIRS} + PATH_SUFFIXES +@@ -45,7 +45,7 @@ FIND_PATH(OPENIMAGEIO_INCLUDE_DIR + + FIND_LIBRARY(OPENIMAGEIO_LIBRARY + NAMES +- OpenImageIO ++ OpenImageIO-ociov1 + HINTS + ${_openimageio_SEARCH_DIRS} + PATH_SUFFIXES +@@ -70,7 +70,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_ + IF(OPENIMAGEIO_FOUND) + SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY}) + SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR}) +- IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp) ++ IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO-ociov1/pugixml.hpp) + SET(OPENIMAGEIO_PUGIXML_FOUND TRUE) + ELSE() + SET(OPENIMAGEIO_PUGIXML_FOUND FALSE) diff --git a/graphics/blender-lts28/files/tmp-patch-extern_audaspace_bindings_python_PySound.cpp b/graphics/blender-lts28/files/tmp-patch-extern_audaspace_bindings_python_PySound.cpp deleted file mode 100644 index cd35e1098a1b..000000000000 --- a/graphics/blender-lts28/files/tmp-patch-extern_audaspace_bindings_python_PySound.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- extern/audaspace/bindings/python/PySound.cpp.orig 2020-09-02 11:06:51 UTC -+++ extern/audaspace/bindings/python/PySound.cpp -@@ -2015,7 +2015,7 @@ AUD_API Sound* checkSound(PyObject* sound) - - bool initializeSound() - { -- import_array(); -+ import_array1(false); - - return PyType_Ready(&SoundType) >= 0; - }