diff --git a/media-libs/alembic/alembic-1.7.5.recipe b/media-libs/alembic/alembic-1.7.7.recipe similarity index 61% rename from media-libs/alembic/alembic-1.7.5.recipe rename to media-libs/alembic/alembic-1.7.7.recipe index 7b2004408..b2ad1eea7 100644 --- a/media-libs/alembic/alembic-1.7.5.recipe +++ b/media-libs/alembic/alembic-1.7.7.recipe @@ -6,15 +6,38 @@ of scenes into baked geometry is exactly analogous to the distillation of \ lighting and rendering scenes into rendered image data." HOMEPAGE="http://www.alembic.io/" COPYRIGHT="2009-2016 Sony Pictures Imageworks - 2009-2016 Industrial Light and Magic" + 2009-2016 Industrial Light and Magic + 2010-2012 Christopher Horvath + 2011-2012 Luxology LLC + 2011-2013 Autodesk, Inc. + 2011-2018 Side Effects Software Inc. + 2011-2013 Mark Elendt, Senior Mathematician, Side Effects Software Inc. + 2011-2013 Nicholas Yue + 2011 Fabric Engine, Inc. + 2011 Luma Pictures + 2012 Solid Angle S.L. + 2012 Zhicheng YE + 2013 Digital Domain 3.0, Inc. + 2016-2018 Tim Yanalunas + 2016-2018 Blizzard Entertainment, Inc. + 2018 J Cube, Inc." LICENSE="ALEMBIC" -REVISION="3" +REVISION="1" SOURCE_URI="https://github.com/alembic/alembic/archive/$portVersion.tar.gz" -CHECKSUM_SHA256='ab0c727bfc4aedfe81c2365e604fb457056dc66909575ccfe19ed406e67c002e' +CHECKSUM_SHA256='831b016afa9e66187b66819a02c0bd198b0f30e501a3552d0634796728cf1bff' +SOURCE_FILENAME="alembic-$portVersion.tar.gz" PATCHES="alembic-$portVersion.patchset" ARCHITECTURES="!x86_gcc2 ?x86 x86_64" -SECONDARY_ARCHITECTURES="?x86" +SECONDARY_ARCHITECTURES="x86" + +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandBinDir=$prefix/bin +fi + +libVersion="$portVersion" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" alembic$secondaryArchSuffix = $portVersion @@ -25,7 +48,7 @@ PROVIDES=" cmd:abcls cmd:abcstitcher cmd:abctree - lib:libalembic$secondaryArchSuffix = $portVersion compat >= 1 + lib:libalembic$secondaryArchSuffix = $libVersionCompat " REQUIRES=" haiku$secondaryArchSuffix @@ -41,7 +64,7 @@ REQUIRES=" PROVIDES_devel=" alembic${secondaryArchSuffix}_devel = $portVersion - devel:libalembic$secondaryArchSuffix = $portVersion compat >= 1 + devel:libalembic$secondaryArchSuffix = $libVersionCompat " REQUIRES_devel=" alembic$secondaryArchSuffix == $portVersion base @@ -67,18 +90,31 @@ BUILD_PREREQUIRES=" defineDebugInfoPackage alembic$secondaryArchSuffix \ $libDir/libAlembic.so.$portVersion \ - $binDir/abcconvert \ - $binDir/abcdiff \ - $binDir/abcecho \ - $binDir/abcechobounds \ - $binDir/abcls \ - $binDir/abcstitcher \ - $binDir/abctree + $commandBinDir/abcconvert \ + $commandBinDir/abcdiff \ + $commandBinDir/abcecho \ + $commandBinDir/abcechobounds \ + $commandBinDir/abcls \ + $commandBinDir/abcstitcher \ + $commandBinDir/abctree + +PATCH() +{ + if [ -n "$secondaryArchSuffix" ]; then + sed -i \ + -e "s|\(DESTINATION\) lib|\1 $relativeLibDir|;" \ + -e "s|\(ConfigPackageLocation\) lib/cmake/|\1 $relativeLibDir/cmake/|;" \ + lib/Alembic/CMakeLists.txt + fi +} BUILD() { mkdir -p build cd build + + export ILMBASE_INC_DIR="`finddir B_SYSTEM_DIRECTORY`/$relativeIncludeDir/OpenEXR" + cmake .. \ -DUSE_HDF5=ON \ -DALEMBIC_LIB_USES_BOOST=ON \ diff --git a/media-libs/alembic/patches/alembic-1.7.5.patchset b/media-libs/alembic/patches/alembic-1.7.5.patchset deleted file mode 100644 index 3ce190466..000000000 --- a/media-libs/alembic/patches/alembic-1.7.5.patchset +++ /dev/null @@ -1,62 +0,0 @@ -From 10b2076de96a69df6cf55c27feaeaeaf6e14b9a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= -Date: Thu, 7 Dec 2017 19:03:18 +0100 -Subject: [PATCH] Haiku build fix - ---- - cmake/Modules/FindIlmBase.cmake | 4 ++++ - lib/Alembic/AbcCoreOgawa/StreamManager.cpp | 8 ++++++-- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/cmake/Modules/FindIlmBase.cmake b/cmake/Modules/FindIlmBase.cmake -index dac8659..3712e84 100644 ---- a/cmake/Modules/FindIlmBase.cmake -+++ b/cmake/Modules/FindIlmBase.cmake -@@ -85,6 +85,7 @@ SET(_ilmbase_SEARCH_DIRS - /opt/csw - /opt - /usr/freeware -+ /boot/system - ) - - FIND_PATH(ILMBASE_INCLUDE_DIR -@@ -95,6 +96,9 @@ FIND_PATH(ILMBASE_INCLUDE_DIR - PATH_SUFFIXES - include - include/OpenEXR -+ develop/headers/OpenEXR -+ develop/headers/x86/OpenEXR -+ - ) - - # If the headers were found, get the version from config file, if not already set. -diff --git a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp -index f163173..c2d8fcc 100644 ---- a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp -+++ b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp -@@ -46,8 +46,12 @@ namespace ALEMBIC_VERSION_NS { - #if !defined( ALEMBIC_LIB_USES_TR1 ) && __cplusplus >= 201103L - #define COMPARE_EXCHANGE( V, COMP, EXCH ) V.compare_exchange_weak( COMP, EXCH, std::memory_order_seq_cst, std::memory_order_seq_cst ) - // Windows --#elif defined( _MSC_VER ) -+#elif defined( _MSC_VER ) || defined(__HAIKU__) -+#ifndef __HAIKU__ - #define COMPARE_EXCHANGE( V, COMP, EXCH ) (InterlockedCompareExchange64( &V, EXCH, COMP ) == COMP) -+#else -+#define COMPARE_EXCHANGE( V, COMP, EXCH ) __atomic_compare_exchange_n( &V, &COMP, EXCH, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) -+#endif - - Alembic::Util::int64_t ffsll( Alembic::Util::int64_t iValue ) - { -@@ -69,7 +73,7 @@ Alembic::Util::int64_t ffsll( Alembic::Util::int64_t iValue ) - - - // gcc 4.8 and above not using C++11 --#elif defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 8 -+#elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 8) - #define COMPARE_EXCHANGE( V, COMP, EXCH ) __atomic_compare_exchange_n( &V, &COMP, EXCH, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) - // gcc 4.1 and above not using C++11 - #elif defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 1 --- -2.15.0 - diff --git a/media-libs/alembic/patches/alembic-1.7.7.patchset b/media-libs/alembic/patches/alembic-1.7.7.patchset new file mode 100644 index 000000000..d9e2e1623 --- /dev/null +++ b/media-libs/alembic/patches/alembic-1.7.7.patchset @@ -0,0 +1,40 @@ +From e83fa44d31c15cbf9d3ea5081428ef92ee09bd00 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Sat, 31 Mar 2018 08:49:25 +0200 +Subject: Haiku build fixes + + +diff --git a/cmake/Modules/FindIlmBase.cmake b/cmake/Modules/FindIlmBase.cmake +index dac8659..91b1135 100644 +--- a/cmake/Modules/FindIlmBase.cmake ++++ b/cmake/Modules/FindIlmBase.cmake +@@ -92,6 +92,7 @@ FIND_PATH(ILMBASE_INCLUDE_DIR + IlmBaseConfig.h + HINTS + ${_ilmbase_SEARCH_DIRS} ++ "$ENV{ILMBASE_INC_DIR}" + PATH_SUFFIXES + include + include/OpenEXR +diff --git a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp +index f163173..a5daa62 100644 +--- a/lib/Alembic/AbcCoreOgawa/StreamManager.cpp ++++ b/lib/Alembic/AbcCoreOgawa/StreamManager.cpp +@@ -46,9 +46,12 @@ namespace ALEMBIC_VERSION_NS { + #if !defined( ALEMBIC_LIB_USES_TR1 ) && __cplusplus >= 201103L + #define COMPARE_EXCHANGE( V, COMP, EXCH ) V.compare_exchange_weak( COMP, EXCH, std::memory_order_seq_cst, std::memory_order_seq_cst ) + // Windows +-#elif defined( _MSC_VER ) ++#elif defined( _MSC_VER ) || defined(__HAIKU__) ++#ifndef __HAIKU__ + #define COMPARE_EXCHANGE( V, COMP, EXCH ) (InterlockedCompareExchange64( &V, EXCH, COMP ) == COMP) +- ++#else ++#define COMPARE_EXCHANGE( V, COMP, EXCH ) __atomic_compare_exchange_n( &V, &COMP, EXCH, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) ++#endif + Alembic::Util::int64_t ffsll( Alembic::Util::int64_t iValue ) + { + if ( !iValue ) +-- +2.16.2 +