diff --git a/media-libs/alembic/alembic-1.7.4.recipe b/media-libs/alembic/alembic-1.7.4.recipe new file mode 100644 index 000000000..522740717 --- /dev/null +++ b/media-libs/alembic/alembic-1.7.4.recipe @@ -0,0 +1,112 @@ +SUMMARY="An open framework for storing and sharing scene data" +DESCRIPTION="Alembic is an open computer graphics interchange framework. \ +Alembic distills complex, animated scenes into a non-procedural, \ +application-independent set of baked geometric results. This \'distillation\' \ +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" +LICENSE="ALEMBIC" +REVISION="1" +SOURCE_URI="https://github.com/alembic/alembic/archive/$portVersion.tar.gz" +CHECKSUM_SHA256='eac349ff0fbec851f270370de963a436e30f0b5897e5e7ce292f966be6b7a9c5' +PATCHES="alembic-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 ?x86 x86_64" +SECONDARY_ARCHITECTURES="?x86" + +PROVIDES=" + alembic$secondaryArchSuffix = $portVersion + cmd:abcconvert + cmd:abcdiff + cmd:abcecho + cmd:abcechobounds + cmd:abcls + cmd:abcstitcher + cmd:abctree + lib:libalembic$secondaryArchSuffix = 1.7.4 compat >= 1 + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libboost_system$secondaryArchSuffix + lib:libHalf$secondaryArchSuffix + lib:libhdf5$secondaryArchSuffix + lib:libIex_2_2$secondaryArchSuffix + lib:libIexMath_2_2$secondaryArchSuffix + lib:libIlmThread_2_2$secondaryArchSuffix + lib:libImath_2_2$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +PROVIDES_devel=" + alembic${secondaryArchSuffix}_devel = $portVersion + devel:libalembic$secondaryArchSuffix = 1.7.4 compat >= 1 + " +REQUIRES_devel=" + alembic$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libboost_system$secondaryArchSuffix + devel:libHalf$secondaryArchSuffix + devel:libhdf5$secondaryArchSuffix + devel:libIex_2_2$secondaryArchSuffix + devel:libIexMath_2_2$secondaryArchSuffix + devel:libIlmThread_2_2$secondaryArchSuffix + devel:libImath_2_2$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +defineDebugInfoPackage alembic$secondaryArchSuffix \ + $libDir/libAlembic.so.$portVersion \ + $binDirabcconvert \ + $binDirabcdiff \ + $binDirabcecho \ + $binDirabcechobounds \ + $binDirabcls \ + $binDirabcstitcher \ + $binDirabctree + +BUILD() +{ + mkdir -p build + cd build + cmake .. \ + -DUSE_HDF5=ON \ + -DALEMBIC_LIB_USES_BOOST=ON \ + $cmakeDirArgs + + make $jobArgs +} + +INSTALL() +{ + cd build + make install + + mkdir -p $includeDir + mv $prefix/include/* $includeDir/ + rm -rf $prefix/include + + prepareInstalledDevelLib libAlembic + + fixPkgconfig + + packageEntries devel \ + $developDir \ + $libDir/cmake +} + +TEST() +{ + cd build + make test +} diff --git a/media-libs/alembic/licenses/ALEMBIC b/media-libs/alembic/licenses/ALEMBIC new file mode 100644 index 000000000..4546010d4 --- /dev/null +++ b/media-libs/alembic/licenses/ALEMBIC @@ -0,0 +1,116 @@ +TM & © 2009-2015 Lucasfilm Entertainment Company Ltd. or Lucasfilm Ltd. +All rights reserved. + +Industrial Light & Magic, ILM and the Bulb and Gear design logo are all +registered trademarks or service marks of Lucasfilm Ltd. + +© 2009-2015 Sony Pictures Imageworks Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: +* Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. +* Neither the name of Industrial Light & Magic nor the names of +its contributors may be used to endorse or promote products derived +from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------------------- + +ALEMBIC ATTACHMENT A — +REQUIRED NOTICES FOR DISTRIBUTION + +The Alembic Software is distributed along with certain third party +components licensed under various open source software licenses ("Open +Source Components"). In addition to the warranty disclaimers contained +in the open source licenses found below, Industrial Light & Magic, a +division of Lucasfilm Entertainment Company Ltd. ("ILM") makes the +following disclaimers regarding the Open Source Components on behalf of +itself, the copyright holders, contributors, and licensors of such Open +Source Components: + +TO THE FULLEST EXTENT PERMITTED UNDER APPLICABLE LAW, THE OPEN SOURCE +COMPONENTS ARE PROVIDED BY THE COPYRIGHT HOLDERS, CONTRIBUTORS, +LICENSORS, AND ILM "AS IS" AND ANY REPRESENTATIONS OR WARRANTIES OF ANY +KIND, WHETHER ORAL OR WRITTEN, WHETHER EXPRESS, IMPLIED, OR ARISING BY +STATUTE, CUSTOM, COURSE OF DEALING, OR TRADE USAGE, INCLUDING WITHOUT +LIMITATION THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR +A PARTICULAR PURPOSE, AND NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT +WILL THE COPYRIGHT OWNER, CONTRIBUTORS, LICENSORS, OR ILM AND/OR ITS +AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE OPEN +SOURCE COMPONENTS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Boost C++ Libraries +------------------------------------------------------------------------ + +Boost Software License – Version 1.0 August 17th, 2003 Permission is +hereby granted, free of charge, to any person or organization obtaining +a copy of the software and accompanying documentation covered by this +license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of +the Software, and to permit third-parties to whom the Software is +furnished to do so, all subject to the following: + +The copyright notices in the Software and this entire statement, +including the above license grant, this restriction and the following +disclaimer, must be included in all copies of the Software, in whole or +in part, and all derivative works of the Software, unless such copies or +derivative works are solely in the form of machine-executable object +code generated by a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND +NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE +DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, +WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +MurmurHash3 +------------------------------------------------------------------------ + +The MIT License (MIT) + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/media-libs/alembic/patches/alembic-1.7.4.patchset b/media-libs/alembic/patches/alembic-1.7.4.patchset new file mode 100644 index 000000000..3ce190466 --- /dev/null +++ b/media-libs/alembic/patches/alembic-1.7.4.patchset @@ -0,0 +1,62 @@ +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 +