diff options
Diffstat (limited to 'media-gfx/alembic')
-rw-r--r-- | media-gfx/alembic/Manifest | 6 | ||||
-rw-r--r-- | media-gfx/alembic/alembic-1.7.4.ebuild | 100 | ||||
-rw-r--r-- | media-gfx/alembic/files/alembic-CMakeLists-fix_lib.patch | 132 | ||||
-rw-r--r-- | media-gfx/alembic/files/alembic-FindIlmBase-pkgconfig.patch | 28 | ||||
-rw-r--r-- | media-gfx/alembic/files/alembic-fix-importerror.patch | 17 | ||||
-rw-r--r-- | media-gfx/alembic/metadata.xml | 27 |
6 files changed, 310 insertions, 0 deletions
diff --git a/media-gfx/alembic/Manifest b/media-gfx/alembic/Manifest new file mode 100644 index 000000000000..2a1642dcd3f8 --- /dev/null +++ b/media-gfx/alembic/Manifest @@ -0,0 +1,6 @@ +AUX alembic-CMakeLists-fix_lib.patch 4760 BLAKE2B a5365176200b40a31d274bab9ef126cb0ea380c6afeb2ec152bc5edd4c7abb0cbc514a5324ff6df6ad791b585af8cc48984e0eaaf12f1abd2629d405e39c6e18 SHA512 5ef90e477ceeddd9a1040c024e3775141d693b99361dc3d943ee6014c700b13a2ef8d83d60e53cf32611c828bd1f7b789544468fec97cc4b56963338b3fc604a +AUX alembic-FindIlmBase-pkgconfig.patch 971 BLAKE2B 946766bceb152a1673737af5158be9f5efce812a70adfe36bf5642f150d2576f14c22670cc1bbf9027834c69ac661ca30d27f06f9fbf73f656dd883ce38a381f SHA512 4f5fa5a33c8fb4edcb3c0a5d0290a912015c0e02ecd6340e5dced1f658302034148a1050aee1dcbf3d7d89f11c5e9ea07637c659414951152dd49081c70560c7 +AUX alembic-fix-importerror.patch 662 BLAKE2B 140f80ff08522ec84a43cb5e988e7e532b2391a002e0aedbd9276d2c3ef34570bb07ec78e470eb3eadc0b9c719263030d0074dd839e37a6ea19de88f5b5cd001 SHA512 a97c3d6854cc9aabfaeaf6ac62669f1ada78edf7ded8ab9cfd7e0b7077288f16cb1537196a14d62f4cdda33ef3c65ff640ff6250a3f40e499eab72913c099efd +DIST alembic-1.7.4.tar.gz 805503 BLAKE2B b8a8b986d0323dbe3748e1dde5436d66e08620a28852c3331ee612d43a414e381a1cdbbb63200b8f146ce94ebb0e3d0ae6f70f33575bd9ff25e9121f2cd73d1a SHA512 8e752d6d85bea3b6a53582d35a589fc40824456098d950974effe0a6a0e359fec1e056af1ea1379f7e23b7ffed2c05c7f5269fa4b64757631b7d57fb60ee98b0 +EBUILD alembic-1.7.4.ebuild 2351 BLAKE2B 43724d725456e19eb5d273ee8a80df5557ef50092cc61ef20dd8b7de62bd8aea50f60dbedbbf9253f634b894c95183b619122dc0056eab8a3a1921b56c88e873 SHA512 4c7caf975f6ac7823d137099c9d652ce9c70a0b40843fcb79a9751e913c45b65ea2b07505759cef67e3afc69253cba7f77275d6ae3c905044e0dd62347134569 +MISC metadata.xml 1044 BLAKE2B e671e00836fe612f62c5548685c4149705e9081ac79c8df895ea37568d10f10cffe042ad3b67c9c29ffdaa3a5fa8b996dbffdffb765f7cce4bf9c792e01753ff SHA512 6adc2cae7c93307f0ed926fa9a0c666ec1484005af80e1239e6b4718d771f32defb2824715783cb906b2fec1becbf76e116fdf6610a75a1740641ecb96932d61 diff --git a/media-gfx/alembic/alembic-1.7.4.ebuild b/media-gfx/alembic/alembic-1.7.4.ebuild new file mode 100644 index 000000000000..1c14f809024c --- /dev/null +++ b/media-gfx/alembic/alembic-1.7.4.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit eutils python-single-r1 cmake-utils + +DESCRIPTION="Alembic is an open framework for storing and sharing scene data" +HOMEPAGE="http://alembic.io/" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+boost doc hdf5 pyalembic test +zlib" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + hdf5? ( zlib ) + pyalembic? ( boost )" + +DEPEND=" + ${PYTHON_DEP} + >=dev-util/cmake-3.7.2 + boost? ( >=dev-libs/boost-1.62.0-r1 ) + doc? ( >=app-doc/doxygen-1.8.13-r1 ) + pyalembic? ( >=dev-python/pyilmbase-2.2.0 )" + +RDEPEND=" + ${PYTHON_DEP} + >=media-libs/openexr-2.2.0-r2 + hdf5? ( >=sci-libs/hdf5-1.8.18[zlib(+)] ) + zlib? ( >=sys-libs/zlib-1.2.11-r1 )" + +DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt ) + +PATCHES=( + "${FILESDIR}/${PN}-FindIlmBase-pkgconfig.patch" + "${FILESDIR}/${PN}-CMakeLists-fix_lib.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + cmake-utils_src_prepare +} + +# Static linking, the use of tr1 and support for prman might be added +# in the future. +src_configure() { + # I don't have a license for arnold renderer or maya so I disable them + # as default. + # Also I'm currently not using renderman, so I disable the prman flag + # by default too. + local mycmakeargs=( + -DUSE_ARNOLD=OFF + -DUSE_BINARIES=ON + -DUSE_EXAMPLES=OFF + -DUSE_HDF5=$(usex hdf5) + -DUSE_MAYA=OFF + -DUSE_PRMAN=OFF + -DUSE_PYALEMBIC=$(usex pyalembic) + -DUSE_STATIC_BOOST=OFF # I won't use static libraries + -DUSE_STATIC_HDF5=OFF + -DUSE_TESTS=$(usex test) + -DALEMBIC_ILMBASE_LINK_STATIC=OFF # I don't want to link statically against ilmbase + -DALEMBIC_SHARED_LIBS=ON # For now let's ignore building static libraries + -DALEMBIC_LIB_USES_BOOST=$(usex boost) + -DALEMBIC_LIB_USES_TR1=$(usex !boost) + ) + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + if use doc; then + doxygen -u Doxyfile + doxygen Doxyfile + fi +} + +src_test() { + if use test; then + cmake-utils_src_test + fi +} + +src_install() { + DESTDIR="${D}" cmake-utils_src_install + if use doc; then + dodoc -r "doc/html" + fi + + # move the cmake files from lib->lib64 + mv "${D}/usr/lib/cmake" "${D}/usr/lib64/cmake" || die + rm -rv "${D}/usr/lib" || die +} diff --git a/media-gfx/alembic/files/alembic-CMakeLists-fix_lib.patch b/media-gfx/alembic/files/alembic-CMakeLists-fix_lib.patch new file mode 100644 index 000000000000..c653927ecbe1 --- /dev/null +++ b/media-gfx/alembic/files/alembic-CMakeLists-fix_lib.patch @@ -0,0 +1,132 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d84f002..a35b662 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -79,12 +79,12 @@ OPTION(ALEMBIC_LIB_USES_TR1 + + # Set static/dynamic build options + SET(LIB_TYPE STATIC) +-SET(RUNTIME_INSTALL_DIR lib) +-SET(LIBRARY_INSTALL_DIR lib) +-SET(ARCHIVE_INSTALL_DIR lib) ++SET(RUNTIME_INSTALL_DIR lib64) ++SET(LIBRARY_INSTALL_DIR lib64) ++SET(ARCHIVE_INSTALL_DIR lib64) + IF (ALEMBIC_SHARED_LIBS) + SET(LIB_TYPE SHARED) +- SET(ARCHIVE_INSTALL_DIR lib) ++ SET(ARCHIVE_INSTALL_DIR lib64) + IF (WIN32) + ADD_DEFINITIONS(-DALEMBIC_DLL) + ENDIF() +diff --git a/bin/AbcConvert/CMakeLists.txt b/bin/AbcConvert/CMakeLists.txt +index 3725ed7..edea767 100644 +--- a/bin/AbcConvert/CMakeLists.txt ++++ b/bin/AbcConvert/CMakeLists.txt +@@ -38,6 +38,6 @@ TARGET_LINK_LIBRARIES(abcconvert Alembic) + + set_target_properties(abcconvert PROPERTIES + INSTALL_RPATH_USE_LINK_PATH TRUE +- INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) ++ INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib64) + + INSTALL(TARGETS abcconvert DESTINATION bin) +diff --git a/bin/AbcDiff/CMakeLists.txt b/bin/AbcDiff/CMakeLists.txt +index e2fd355..2234650 100644 +--- a/bin/AbcDiff/CMakeLists.txt ++++ b/bin/AbcDiff/CMakeLists.txt +@@ -38,6 +38,6 @@ TARGET_LINK_LIBRARIES(abcdiff Alembic) + + set_target_properties(abcdiff PROPERTIES + INSTALL_RPATH_USE_LINK_PATH TRUE +- INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) ++ INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib64) + + INSTALL(TARGETS abcdiff DESTINATION bin) +diff --git a/bin/AbcEcho/CMakeLists.txt b/bin/AbcEcho/CMakeLists.txt +index 396226e..116c122 100644 +--- a/bin/AbcEcho/CMakeLists.txt ++++ b/bin/AbcEcho/CMakeLists.txt +@@ -41,6 +41,6 @@ TARGET_LINK_LIBRARIES(abcechobounds Alembic) + + set_target_properties(abcecho abcechobounds PROPERTIES + INSTALL_RPATH_USE_LINK_PATH TRUE +- INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) ++ INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib64) + + INSTALL(TARGETS abcecho abcechobounds DESTINATION bin) +diff --git a/bin/AbcLs/CMakeLists.txt b/bin/AbcLs/CMakeLists.txt +index 1dbeb9d..7b721d0 100644 +--- a/bin/AbcLs/CMakeLists.txt ++++ b/bin/AbcLs/CMakeLists.txt +@@ -39,6 +39,6 @@ TARGET_LINK_LIBRARIES(abcls Alembic) + + set_target_properties(abcls PROPERTIES + INSTALL_RPATH_USE_LINK_PATH TRUE +- INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) ++ INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib64) + + INSTALL(TARGETS abcls DESTINATION bin) +diff --git a/bin/AbcStitcher/CMakeLists.txt b/bin/AbcStitcher/CMakeLists.txt +index 3106bf2..0c8a205 100644 +--- a/bin/AbcStitcher/CMakeLists.txt ++++ b/bin/AbcStitcher/CMakeLists.txt +@@ -38,6 +38,6 @@ TARGET_LINK_LIBRARIES(abcstitcher Alembic) + + set_target_properties(abcstitcher PROPERTIES + INSTALL_RPATH_USE_LINK_PATH TRUE +- INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) ++ INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib64) + + INSTALL(TARGETS abcstitcher DESTINATION bin) +diff --git a/bin/AbcTree/CMakeLists.txt b/bin/AbcTree/CMakeLists.txt +index 3c41004..de7c7fc 100644 +--- a/bin/AbcTree/CMakeLists.txt ++++ b/bin/AbcTree/CMakeLists.txt +@@ -38,6 +38,6 @@ TARGET_LINK_LIBRARIES(abctree Alembic) + + set_target_properties(abctree PROPERTIES + INSTALL_RPATH_USE_LINK_PATH TRUE +- INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) ++ INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib64) + + INSTALL(TARGETS abctree DESTINATION bin) +diff --git a/lib/Alembic/CMakeLists.txt b/lib/Alembic/CMakeLists.txt +index 3e16518..b07cb7d 100644 +--- a/lib/Alembic/CMakeLists.txt ++++ b/lib/Alembic/CMakeLists.txt +@@ -86,9 +86,9 @@ ENDIF() + + INSTALL(TARGETS Alembic + EXPORT AlembicTargets +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib +- RUNTIME DESTINATION lib) ++ LIBRARY DESTINATION lib64 ++ ARCHIVE DESTINATION lib64 ++ RUNTIME DESTINATION lib64) + + #-****************************************************************************** + # PACKAGE EXPORTS +diff --git a/python/PyAlembic/CMakeLists.txt b/python/PyAlembic/CMakeLists.txt +index 06daf30..254ca2b 100644 +--- a/python/PyAlembic/CMakeLists.txt ++++ b/python/PyAlembic/CMakeLists.txt +@@ -128,7 +128,7 @@ IF (Boost_PYTHON_LIBRARY AND ALEMBIC_PYTHON_LIBRARY) + ) + + INSTALL (TARGETS alembic +- DESTINATION lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages ++ DESTINATION lib64/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages + ) + + IF (USE_TESTS) +@@ -137,7 +137,7 @@ IF (Boost_PYTHON_LIBRARY AND ALEMBIC_PYTHON_LIBRARY) + + set_target_properties(alembic PROPERTIES + INSTALL_RPATH_USE_LINK_PATH TRUE +- INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) ++ INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib64) + ELSE() + MESSAGE(FATAL_ERROR "Unable to find Python libs") + ENDIF() diff --git a/media-gfx/alembic/files/alembic-FindIlmBase-pkgconfig.patch b/media-gfx/alembic/files/alembic-FindIlmBase-pkgconfig.patch new file mode 100644 index 000000000000..b291e839e8c9 --- /dev/null +++ b/media-gfx/alembic/files/alembic-FindIlmBase-pkgconfig.patch @@ -0,0 +1,28 @@ +diff --git a/cmake/Modules/FindIlmBase.cmake b/cmake/Modules/FindIlmBase.cmake +index dac8659..e7beb59 100644 +--- a/cmake/Modules/FindIlmBase.cmake ++++ b/cmake/Modules/FindIlmBase.cmake +@@ -52,7 +52,7 @@ IF(NOT DEFINED ILMBASE_ROOT) + SET( ALEMBIC_ILMBASE_ROOT NOTFOUND ) + ELSE() + # TODO: set to default install path when shipping out +- SET( ALEMBIC_ILMBASE_ROOT "/usr/local/ilmbase-1.0.1/" ) ++ SET( ALEMBIC_ILMBASE_ROOT "/usr" ) + ENDIF() + ELSE() + IF ( ${WINDOWS} ) +@@ -97,6 +97,14 @@ FIND_PATH(ILMBASE_INCLUDE_DIR + include/OpenEXR + ) + ++FIND_PACKAGE(PkgConfig) ++IF (PKG_CONFIG_FOUND) ++ PKG_CHECK_MODULES(PC_ILMBASE QUIET IlmBase) ++ IF (PC_ILMBASE_FOUND) ++ SET(_ilmbase_libs_ver_init ${PC_ILMBASE_VERSION}) ++ ENDIF() ++ENDIF() ++ + # If the headers were found, get the version from config file, if not already set. + IF(ILMBASE_INCLUDE_DIR) + SET(ALEMBIC_ILMBASE_INCLUDE_DIRECTORY ${ILMBASE_INCLUDE_DIR}) diff --git a/media-gfx/alembic/files/alembic-fix-importerror.patch b/media-gfx/alembic/files/alembic-fix-importerror.patch new file mode 100644 index 000000000000..8a86f08c7334 --- /dev/null +++ b/media-gfx/alembic/files/alembic-fix-importerror.patch @@ -0,0 +1,17 @@ +diff --git a/python/PyAlembic/CMakeLists.txt b/python/PyAlembic/CMakeLists.txt +index 254ca2b..c8c915a 100644 +--- a/python/PyAlembic/CMakeLists.txt ++++ b/python/PyAlembic/CMakeLists.txt +@@ -45,6 +45,12 @@ IF (Boost_PYTHON_LIBRARY AND ALEMBIC_PYTHON_LIBRARY) + ADD_DEFINITIONS(-Wno-unused-local-typedefs) + ENDIF() + ++ # fix for ImportError: dynamic module does not define init function (initalembic) ++ # see: https://github.com/alembic/alembic/issues/142 ++ IF (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") ++ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default") ++ ENDIF() ++ + SET(CPP_FILES + PyAbcCoreLayer.cpp + PyAbcGeomTypes.cpp diff --git a/media-gfx/alembic/metadata.xml b/media-gfx/alembic/metadata.xml new file mode 100644 index 000000000000..3d75399517fe --- /dev/null +++ b/media-gfx/alembic/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> + <email>waebbl@gmail.com</email> + <name>Bernd Waibel</name> +</maintainer> +<maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> +</maintainer> +<longdescription> + Alembic is an open computer graphics interchange framework, + developed by Sony Pictures Imageworks Inc. and Lucasfilm Ltd. +</longdescription> +<use> + <flag name="boost">Use <pkg>dev-libs/boost</pkg> library</flag> + <flag name="hdf5">Add support <pkg>sci-libs/hdf5</pkg></flag> + <flag name="pyalembic">Build pyalembic python bindings (needs <pkg>dev-python/pyilmbase</pkg>)</flag> + <flag name="test">Build and run the test-suite</flag> + <flag name="zlib">Use <pkg>sys-libs/zlib</pkg> for compressions</flag> +</use> +<upstream> + <bugs-to>https://github.com/alembic/alembic/issues</bugs-to> + <remote-id type="github">https://github.com/alembic/alembic</remote-id> +</upstream> +</pkgmetadata> |