Alembic: version bump, patchset cleanup, x86 support (#2405)

This commit is contained in:
miqlas
2018-04-01 14:26:00 +02:00
committed by fbrosson
parent f337c8b840
commit 5f2a397a80
3 changed files with 89 additions and 75 deletions

View File

@@ -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 \

View File

@@ -1,62 +0,0 @@
From 10b2076de96a69df6cf55c27feaeaeaf6e14b9a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
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

View File

@@ -0,0 +1,40 @@
From e83fa44d31c15cbf9d3ea5081428ef92ee09bd00 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
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