aboutsummaryrefslogtreecommitdiff
path: root/graphics/blender-lts28/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/blender-lts28/Makefile')
-rw-r--r--graphics/blender-lts28/Makefile217
1 files changed, 217 insertions, 0 deletions
diff --git a/graphics/blender-lts28/Makefile b/graphics/blender-lts28/Makefile
new file mode 100644
index 000000000000..1787067f48c0
--- /dev/null
+++ b/graphics/blender-lts28/Makefile
@@ -0,0 +1,217 @@
+PORTNAME= blender
+DISTVERSION= 2.83.15
+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 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
+
+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
+# Use LLVM linker where available
+.if exists(/usr/bin/ld.lld) && (${/usr/bin/ld:L:tA} != /usr/bin/ld.lld)
+LDFLAGS+= -fuse-ld=lld
+.endif
+
+# prevent conflict with other blender versions
+DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
+DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
+PLIST_SUB+= VER=${DISTVERSION:R} SUFFIX=${PKGNAMESUFFIX}
+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_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}
+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_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 \
+ 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
+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 <bsd.port.options.mk>
+
+.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
+
+post-build:
+ @(cd ${WRKSRC}/doc/manpage && \
+ ${PYTHON_CMD} blender.1.py \
+ ${INSTALL_WRKSRC}/bin/blender \
+ ${INSTALL_WRKSRC}/bin/${PORTNAME}.1)
+
+post-install:
+ ${INSTALL_MAN} ${INSTALL_WRKSRC}/bin/${PORTNAME}.1 \
+ ${STAGEDIR}${MAN1PREFIX}/man/man1
+ # rename files to prevent conflict with other blender versions
+ ${MV} ${STAGEDIR}${PREFIX}/share/blender \
+ ${STAGEDIR}${PREFIX}/share/blender${PKGNAMESUFFIX}
+ ${MV} ${STAGEDIR}${PREFIX}/share/doc/blender \
+ ${STAGEDIR}${PREFIX}/share/doc/blender${PKGNAMESUFFIX}
+ ${MV} ${STAGEDIR}${PREFIX}/bin/blender \
+ ${STAGEDIR}${PREFIX}/bin/blender-bin${PKGNAMESUFFIX}
+ ${INSTALL_SCRIPT} ${WRKDIR}/blender ${STAGEDIR}/${PREFIX}/bin/blender${PKGNAMESUFFIX}
+ ${MV} ${STAGEDIR}${PREFIX}/bin/blender-thumbnailer.py \
+ ${STAGEDIR}${PREFIX}/bin/blender${PKGNAMESUFFIX}-thumbnailer.py
+ ${MV} ${STAGEDIR}${PREFIX}/man/man1/blender.1 \
+ ${STAGEDIR}${PREFIX}/man/man1/blender${PKGNAMESUFFIX}.1
+ ${MV} ${STAGEDIR}${PREFIX}/share/applications/blender.desktop \
+ ${STAGEDIR}${PREFIX}/share/applications/blender${PKGNAMESUFFIX}.desktop
+ ${MV} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/blender.svg \
+ ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/blender${PKGNAMESUFFIX}.svg
+ ${MV} ${STAGEDIR}${PREFIX}/share/icons/hicolor/symbolic/apps/blender-symbolic.svg \
+ ${STAGEDIR}${PREFIX}/share/icons/hicolor/symbolic/apps/blender${PKGNAMESUFFIX}-symbolic.svg
+
+post-install-DRACO-on:
+ # move draco pylib into site-packages
+ ${MKDIR} ${STAGEDIR}/${PYTHON_SITELIBDIR}/
+ ${INSTALL_LIB} ${INSTALL_WRKSRC}/lib/libextern_draco.so ${STAGEDIR}/${PYTHON_SITELIBDIR}/
+ ${STRIP_CMD} ${STAGEDIR}/${PYTHON_SITELIBDIR}/libextern_draco.so
+ @${RM} -R ${STAGEDIR}/${DATADIR}/${DISTVERSION:R}/python
+
+post-install-MENU-on:
+ @-update-desktop-database -q
+
+.include <bsd.port.mk>