- Belatedly update `graphics/appleseed' to version 1.6.0, the latest

version where OSL support is optional (further updates require RTTI
  enabled in both LLVM and OSL, and thus currently not possible)
- Allow to build in C++11 mode and backport a patch to fix spinlock
  initialization to match the way it is initialized internally by
  Boost: copy and assignment operators are deleted, which this logic
  was attempting to use (in fact, it's surprising that it was working
  before because it was most likely not possible even with C++98,
  unless this is a very recent change in Boost) [*]
- While here, adjust OSL_BROKEN message to give the specific reason

PR:		222392 [*]
Submitted by:	Roger Leigh
This commit is contained in:
Alexey Dokuchaev 2017-11-13 15:36:11 +00:00
parent 6bc59bbeb2
commit ab1579dac2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=454120
4 changed files with 31 additions and 18 deletions

View file

@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= appleseed
DISTVERSION= 1.5.2-beta
PORTREVISION= 9
DISTVERSION= 1.6.0-beta
CATEGORIES= graphics
MAINTAINER= danfe@FreeBSD.org
@ -42,27 +41,28 @@ PLIST_SUB= APPHOME=${CMAKE_INSTALL_PREFIX}
SUB_FILES= pkg-message
SUB_LIST:= ${PLIST_SUB}
OPTIONS_DEFINE= EXAMPLES OSL DISNEY
OPTIONS_DEFINE= CPP11 EXAMPLES OSL DISNEY
OPTIONS_DEFAULT= DISNEY
OPTIONS_SUB= yes
CPP11_DESC= Build in C++11 mode
OSL_DESC= Open Shading Language support
DISNEY_DESC= Disney material support
CPP11_CMAKE_ON= -DUSE_CPP11:BOOL=ON
EXAMPLES_CMAKE_OFF= -DWITH_SAMPLES:BOOL=OFF
OSL_CMAKE_ON= -DWITH_OSL:BOOL=ON
OSL_LIB_DEPENDS= liboslexec.so:graphics/openshadinglanguage
# src/appleseed/libappleseed.so: undefined reference to `typeinfo for OSL::RendererServices'
OSL_BROKEN= fails to build against openshadinglanguage-1.8.10
OSL_BROKEN= requires RTTI support in LLVM/OSL which is currently missing
DISNEY_CMAKE_ON= -DWITH_DISNEY_MATERIAL:BOOL=ON
DISNEY_LIB_DEPENDS= libOpenImageIO.so:graphics/openimageio \
libSeExprEditor.so:graphics/seexpr
post-patch:
@${REINPLACE_CMD} -e 's,atomic<int,boost::&,' \
${WRKSRC}/src/appleseed/renderer/kernel/rendering/localsampleaccumulationbuffer.cpp
@${RMDIR} ${WRKSRC}/sandbox/docs/api
.include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1475224589
SHA256 (appleseedhq-appleseed-1.5.2-beta_GH0.tar.gz) = b0e60d7f55ceca40e87af30315217df2bedb7e6c0f52612894158994ee8939f4
SIZE (appleseedhq-appleseed-1.5.2-beta_GH0.tar.gz) = 116992420
TIMESTAMP = 1481813859
SHA256 (appleseedhq-appleseed-1.6.0-beta_GH0.tar.gz) = 16ec393f62c7f445a3e2719d69a093e789062a712b28583b78c6f56278e98626
SIZE (appleseedhq-appleseed-1.6.0-beta_GH0.tar.gz) = 118483186

View file

@ -1,6 +1,6 @@
--- CMakeLists.txt.orig 2016-03-29 16:02:26 UTC
--- CMakeLists.txt.orig 2016-12-15 14:57:39 UTC
+++ CMakeLists.txt
@@ -107,6 +107,10 @@ option (USE_EXTERNAL_ZLIB
@@ -107,6 +107,10 @@ option (USE_EXTERNAL_ZLIB "Use exter
option (WITH_CLI "Build appleseed.cli" ON)
option (WITH_STUDIO "Build appleseed.studio" ON)
option (WITH_TOOLS "Build appleseed tools" ON)
@ -11,8 +11,8 @@
option (WITH_PYTHON "Build Python bindings" ON)
option (WITH_ALEMBIC "Build Alembic support" OFF)
option (WITH_OSL "Build OSL support" OFF)
@@ -179,6 +183,9 @@ if (WITH_OSL)
${PROJECT_SOURCE_DIR}/src/appleseed/renderer/kernel/shading/stdosl.h)
@@ -172,6 +176,9 @@ else ()
"Edit ${CMAKE_CURRENT_LIST_FILE} to add support for it.")
endif ()
+# XXX: avoid picking up lz4 headers from /usr/local/include == ${Boost_INCLUDE_DIRS}
@ -20,8 +20,8 @@
+include_directories (src/lz4)
#--------------------------------------------------------------------------------------------------
# Boost libraries.
@@ -285,7 +292,6 @@ endif ()
# Auto-generate version headers.
@@ -297,7 +304,6 @@ endif ()
# Common include paths.
include_directories (
src/appleseed
@ -29,7 +29,7 @@
${PYTHON_INCLUDE_DIRS}
)
@@ -601,7 +607,7 @@ endif ()
@@ -643,7 +649,7 @@ endif ()
find_package (Doxygen)
@ -38,7 +38,7 @@
configure_file (${PROJECT_SOURCE_DIR}/scripts/appleseed.doxyfile.in ${PROJECT_BINARY_DIR}/appleseed.doxyfile @ONLY)
add_custom_target (
doc ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/appleseed.doxyfile
@@ -650,23 +656,33 @@ endif ()
@@ -692,23 +698,33 @@ endif ()
install (
DIRECTORY
sandbox/docs
@ -75,7 +75,7 @@
install (
DIRECTORY src/appleseed/foundation
DESTINATION include
@@ -684,3 +700,4 @@ install (
@@ -726,3 +742,4 @@ install (
DESTINATION include
FILES_MATCHING PATTERN "*.h"
)

View file

@ -0,0 +1,13 @@
--- src/appleseed/foundation/platform/thread.h.orig 2016-12-15 14:57:39 UTC
+++ src/appleseed/foundation/platform/thread.h
@@ -296,9 +296,8 @@ class APPLESEED_DLLSYMBOL ThreadFlag
inline Spinlock::Spinlock()
{
- // todo: is there a simpler way to initialize m_sp in a platform-independent manner?
boost::detail::spinlock initialized_sp = BOOST_DETAIL_SPINLOCK_INIT;
- m_sp = initialized_sp;
+ std::memcpy(&m_sp, &initialized_sp, sizeof(initialized_sp));
}
inline bool Spinlock::try_lock()