summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Scruggs <j.scruggs@gmail.com>2018-01-15 15:02:16 +0000
committerDavid Seifert <soap@gentoo.org>2018-01-19 12:57:41 +0100
commite1190425c7265517e4e90e67ef82abcca66006db (patch)
tree2d23023926721c9f1b2a4ffcc8fddbf7cca02889 /media-libs/opencolorio
parentdev-util/cmake: Removed old. (diff)
downloadgentoo-e1190425c7265517e4e90e67ef82abcca66006db.tar.gz
gentoo-e1190425c7265517e4e90e67ef82abcca66006db.tar.bz2
gentoo-e1190425c7265517e4e90e67ef82abcca66006db.zip
media-libs/opencolorio: Revision bump to fix Lut1DOp error
Fix the compile error in the Lut1DOp.cpp file Fix install location of the CMake files Split the patches to make it easier to maintain Closes: https://bugs.gentoo.org/644466 Closes: https://github.com/gentoo/gentoo/pull/6870
Diffstat (limited to 'media-libs/opencolorio')
-rw-r--r--media-libs/opencolorio/files/opencolorio-1.1.0-fix-compile-error-with-Lut1DOp.cpp.patch92
-rw-r--r--media-libs/opencolorio/files/opencolorio-1.1.0-remove-building-of-bundled-programs.patch154
-rw-r--r--media-libs/opencolorio/files/opencolorio-1.1.0-use-GNUInstallDirs-and-fix-cmake-install-location.patch102
-rw-r--r--media-libs/opencolorio/metadata.xml3
-rw-r--r--media-libs/opencolorio/opencolorio-1.1.0-r1.ebuild85
5 files changed, 435 insertions, 1 deletions
diff --git a/media-libs/opencolorio/files/opencolorio-1.1.0-fix-compile-error-with-Lut1DOp.cpp.patch b/media-libs/opencolorio/files/opencolorio-1.1.0-fix-compile-error-with-Lut1DOp.cpp.patch
new file mode 100644
index 000000000000..b5455d010b42
--- /dev/null
+++ b/media-libs/opencolorio/files/opencolorio-1.1.0-fix-compile-error-with-Lut1DOp.cpp.patch
@@ -0,0 +1,92 @@
+From 8d38317f68d0e4663abbccdceca0bcd41f3dcf4a Mon Sep 17 00:00:00 2001
+From: Patrick Hodoul <patrick.hodoul@autodesk.com>
+Date: Mon, 27 Nov 2017 17:29:57 -0500
+Subject: [PATCH 1/3] Fix compile error with Lut1DOp.cpp
+
+Fix Linux compilation
+Fix gcc 5.4.0 build breaks
+Fix the temp filename for Linux
+---
+ src/core/Lut1DOp.cpp | 4 +++-
+ src/core/MathUtils.cpp | 23 ++++++++++++-----------
+ src/pyglue/PyAllocationTransform.cpp | 1 -
+ 3 files changed, 15 insertions(+), 13 deletions(-)
+
+diff --git a/src/core/Lut1DOp.cpp b/src/core/Lut1DOp.cpp
+index 404ee0b..180e30f 100644
+--- a/src/core/Lut1DOp.cpp
++++ b/src/core/Lut1DOp.cpp
+@@ -188,7 +188,8 @@ OCIO_NAMESPACE_ENTER
+ {
+ return simple_lut[clamp(index, 0.0f, maxIndex)];
+ }
+-
++
++#if defined(OCIO_UNIT_TEST) || !defined(USE_SSE)
+ void Lut1D_Nearest(float* rgbaBuffer, long numPixels, const Lut1D & lut)
+ {
+ float maxIndex[3];
+@@ -218,6 +219,7 @@ OCIO_NAMESPACE_ENTER
+ rgbaBuffer += 4;
+ }
+ }
++#endif
+ #ifdef USE_SSE
+ void Lut1D_Nearest_SSE(float* rgbaBuffer, long numPixels, const Lut1D & lut)
+ {
+diff --git a/src/core/MathUtils.cpp b/src/core/MathUtils.cpp
+index e1a26c0..3881eb3 100644
+--- a/src/core/MathUtils.cpp
++++ b/src/core/MathUtils.cpp
+@@ -327,17 +327,6 @@ OCIO_NAMESPACE_ENTER
+ GetV4Sum(vout, vout, v2);
+ }
+
+- namespace
+- {
+-
+- void GetMxbResult(float* vout, float* m, float* x, float* v)
+- {
+- GetM44V4Product(vout, m, x);
+- GetV4Sum(vout, vout, v);
+- }
+-
+- } // anon namespace
+-
+ bool GetMxbInverse(float* mout, float* vout,
+ const float* m_, const float* v_)
+ {
+@@ -372,6 +361,18 @@ OCIO_NAMESPACE_USING
+
+ #include "UnitTest.h"
+
++namespace
++{
++
++ void GetMxbResult(float* vout, float* m, float* x, float* v)
++ {
++ GetM44V4Product(vout, m, x);
++ GetV4Sum(vout, vout, v);
++ }
++
++}
++
++
+ OIIO_ADD_TEST(MathUtils, M44_is_diagonal)
+ {
+ {
+diff --git a/src/pyglue/PyAllocationTransform.cpp b/src/pyglue/PyAllocationTransform.cpp
+index 20bb50e..06b418a 100644
+--- a/src/pyglue/PyAllocationTransform.cpp
++++ b/src/pyglue/PyAllocationTransform.cpp
+@@ -53,7 +53,6 @@ OCIO_NAMESPACE_ENTER
+ ///
+
+ int PyOCIO_AllocationTransform_init(PyOCIO_Transform * self, PyObject * args, PyObject * kwds);
+- PyObject * PyOCIO_AllocationTransform_equals(PyObject * self, PyObject * args);
+ PyObject * PyOCIO_AllocationTransform_getAllocation(PyObject * self);
+ PyObject * PyOCIO_AllocationTransform_setAllocation(PyObject * self, PyObject * args);
+ PyObject * PyOCIO_AllocationTransform_getNumVars(PyObject * self);
+--
+2.15.1
+
diff --git a/media-libs/opencolorio/files/opencolorio-1.1.0-remove-building-of-bundled-programs.patch b/media-libs/opencolorio/files/opencolorio-1.1.0-remove-building-of-bundled-programs.patch
new file mode 100644
index 000000000000..9041677c9ce4
--- /dev/null
+++ b/media-libs/opencolorio/files/opencolorio-1.1.0-remove-building-of-bundled-programs.patch
@@ -0,0 +1,154 @@
+From 967369b36c9684d7ffb73a926c442d8991a3afef Mon Sep 17 00:00:00 2001
+From: Jonathan Scruggs <j.scruggs@gmail.com>
+Date: Mon, 15 Jan 2018 13:09:31 +0000
+Subject: [PATCH 3/3] Remove building of bundled programs
+
+---
+ docs/CMakeLists.txt | 98 ++---------------------------------------------------
+ 1 file changed, 3 insertions(+), 95 deletions(-)
+
+diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
+index a822a19..d588139 100644
+--- a/docs/CMakeLists.txt
++++ b/docs/CMakeLists.txt
+@@ -1,90 +1,4 @@
+
+-###############################################################################
+-### External Doc Apps ###
+-
+-if (WIN32)
+- # Workaround to mimic *nix '> PYTHONPATH=XXX CMD'
+- # on windows, it becomes '> set PYTHONPATH=XXX \n call CMD'
+- # '\n' is here because '\\&' does not work.
+- set(PYT_PRE_CMD set PYTHONPATH=${PYTHONPATH} "\n" call )
+- # Unfortunately some windows tools require to have
+- # the paths with the '\' (not working with '//').
+- set(PYT_LIB_OUTPUT ${EXTDIST_ROOT})
+- string(REGEX REPLACE "/" "\\\\" PYT_LIB_OUTPUT ${PYT_LIB_OUTPUT})
+- set(PYT_EXTDIST_BINPATH ${EXTDIST_BINPATH})
+- string(REGEX REPLACE "/" "\\\\" PYT_EXTDIST_BINPATH ${PYT_EXTDIST_BINPATH})
+-else()
+- set(PYT_PRE_CMD PYTHONPATH=${PYTHONPATH})
+- set(PYT_LIB_OUTPUT ${EXTDIST_ROOT})
+- set(PYT_EXTDIST_BINPATH ${EXTDIST_BINPATH})
+-endif()
+-
+-# setuptools
+-# https://pypi.python.org/pypi/setuptools
+-set(SETUPTOOLS_VERSION 1.1.6)
+-
+-ExternalProject_Add(setuptools
+- URL ${CMAKE_SOURCE_DIR}/ext/setuptools-${SETUPTOOLS_VERSION}.tar.gz
+- BUILD_IN_SOURCE 1
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+- BUILD_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py build
+- INSTALL_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py install --prefix=${PYT_LIB_OUTPUT}
+- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/setuptools-prefix/src/setuptools
+-)
+-
+-# docutils
+-# https://pypi.python.org/pypi/docutils
+-set(DOCUTILS_VERSION 0.11)
+-ExternalProject_Add(docutils
+- DEPENDS setuptools
+- URL ${CMAKE_SOURCE_DIR}/ext/docutils-${DOCUTILS_VERSION}.tar.gz
+- BUILD_IN_SOURCE 1
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+- BUILD_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py build
+- INSTALL_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py install --prefix=${PYT_LIB_OUTPUT}
+- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docutils-prefix/src/docutils
+-)
+-
+-# jinja2
+-# https://pypi.python.org/pypi/Jinja2
+-set(JINJA2_VERSION 2.7.1)
+-ExternalProject_Add(Jinja2
+- DEPENDS setuptools
+- URL ${CMAKE_SOURCE_DIR}/ext/Jinja2-${JINJA2_VERSION}.tar.gz
+- BUILD_IN_SOURCE 1
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+- BUILD_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py build
+- INSTALL_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py install --prefix=${PYT_LIB_OUTPUT}
+- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Jinja2-prefix/src/Jinja2
+-)
+-
+-# Pygments
+-# https://pypi.python.org/pypi/Pygments
+-set(PYGMENTS_VERSION 1.6)
+-ExternalProject_Add(Pygments
+- DEPENDS setuptools
+- URL ${CMAKE_SOURCE_DIR}/ext/Pygments-${PYGMENTS_VERSION}.tar.gz
+- BUILD_IN_SOURCE 1
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+- BUILD_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py build
+- INSTALL_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py install --prefix=${PYT_LIB_OUTPUT}
+- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Pygments-prefix/src/Pygments
+-)
+-
+-# sphinx
+-# https://pypi.python.org/pypi/Sphinx
+-set(SPHINX_VERSION 1.2b3)
+-ExternalProject_Add(Sphinx
+- DEPENDS setuptools docutils Jinja2 Pygments
+- URL ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.tar.gz
+- PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.patch
+- BUILD_IN_SOURCE 1
+- CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+- BUILD_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py build
+- INSTALL_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py install --prefix=${PYT_LIB_OUTPUT} --install-scripts=${PYT_EXTDIST_BINPATH}
+- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Sphinx-prefix/src/Sphinx
+-)
+-
+ ###############################################################################
+ ### Create Doc Targets ###
+
+@@ -122,7 +36,7 @@ else()
+ endif()
+
+ add_custom_target(doc ALL
+- COMMAND ${PYT_PRE_CMD} ${EXTDIST_BINPATH}/sphinx-build -b html . ${CMAKE_CURRENT_BINARY_DIR}/build-html
++ COMMAND sphinx-build -b html . ${CMAKE_CURRENT_BINARY_DIR}/build-html
+ DEPENDS
+ ${DEPLIBS}
+ ${CMAKE_BINARY_DIR}/docs/conf.py
+@@ -131,11 +45,7 @@ add_custom_target(doc ALL
+ developers/api/OpenColorTypes.rst
+ ${RSTDOC_OUTPUT}
+ COMMENT "Building html docs"
+ SOURCES ${DOCFILES})
+-
+-# note: ExternalProject will not build when added to a add_custom_target this
+-# works around this problem. This seems to be fixed in the cmake ^HEAD
+-add_dependencies(doc Sphinx)
+
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build-html/
+ DESTINATION ${CMAKE_INSTALL_DOCDIR}/html
+@@ -146,8 +56,8 @@ find_package(LATEX)
+ find_package(LATEX)
+ if(PDFLATEX_COMPILER)
+
+- add_custom_target(latex
+- COMMAND ${PYT_PRE_CMD} ${EXTDIST_BINPATH}/sphinx-build -b latex . ${CMAKE_CURRENT_BINARY_DIR}/build-latex
++ add_custom_target(latex ALL
++ COMMAND sphinx-build -b latex . ${CMAKE_CURRENT_BINARY_DIR}/build-latex
+ DEPENDS
+ OpenColorIO
+ ${CMAKE_BINARY_DIR}/docs/conf.py
+@@ -156,14 +66,12 @@ if(PDFLATEX_COMPILER)
+ ${RSTDOC_OUTPUT}
+ COMMENT "Building latex doc"
+ SOURCES ${DOCFILES})
+- add_dependencies(latex Sphinx)
+
+ add_custom_target(pdf ALL
+ COMMAND ${PDFLATEX_COMPILER} OpenColorIO.tex
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build-latex
+ COMMENT "Building pdf doc"
+ SOURCES ${DOCFILES})
+- add_dependencies(pdf latex)
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/build-latex/OpenColorIO.pdf
+ DESTINATION ${CMAKE_INSTALL_DOCDIR})
+--
+2.15.1
+
diff --git a/media-libs/opencolorio/files/opencolorio-1.1.0-use-GNUInstallDirs-and-fix-cmake-install-location.patch b/media-libs/opencolorio/files/opencolorio-1.1.0-use-GNUInstallDirs-and-fix-cmake-install-location.patch
new file mode 100644
index 000000000000..e4c6296f1d7f
--- /dev/null
+++ b/media-libs/opencolorio/files/opencolorio-1.1.0-use-GNUInstallDirs-and-fix-cmake-install-location.patch
@@ -0,0 +1,102 @@
+From c43cc918c3e79e324f11ca47e95bfe36e9e0dd15 Mon Sep 17 00:00:00 2001
+From: Jonathan Scruggs <j.scruggs@gmail.com>
+Date: Sun, 14 Jan 2018 19:59:31 +0000
+Subject: [PATCH] Add GNUInstallDirs variables and fix install location for
+ cmake files
+
+GNUInstallDirs is supported on all platforms and variables are set
+to the standard GNU locations.
+
+This patch corrects the location where the CMake files are
+installed.
+
+Signed-off by: Jonathan Scruggs <j.scruggs@gmail.com>
+---
+ CMakeLists.txt | 9 +++++----
+ docs/CMakeLists.txt | 4 ++--
+ export/pkgconfig/OpenColorIO.pc.in | 6 ++----
+ 3 files changed, 9 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b05c7e4..452fa1e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -59,6 +59,7 @@ endif()
+ include(ParseArguments)
+ include(OCIOMacros)
+ include(ExternalProject)
++include(GNUInstallDirs)
+
+ enable_language(CXX)
+
+@@ -531,7 +532,7 @@ endif()
+ configure_file(${CMAKE_SOURCE_DIR}/share/ocio/setup_ocio.sh.in
+ ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/setup_ocio.sh @ONLY)
+
+-INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/setup_ocio.sh DESTINATION share/ocio/)
++INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/setup_ocio.sh DESTINATION ${CMAKE_INSTALL_DATADIR}/ocio/)
+
+ ###############################################################################
+ ### CPACK ###
+@@ -596,7 +597,7 @@ if(TARGET OpenColorIO_STATIC)
+ set(OCIO_STATIC_COMPILE_DEFINITIONS )
+ endif()
+ endif()
+-install(EXPORT OpenColorIO DESTINATION cmake)
++install(EXPORT OpenColorIO DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/OpenColorIO)
+ file(WRITE "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake"
+ "
+ get_filename_component(OpenColorIO_DIR \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)
+@@ -608,7 +609,7 @@ file(WRITE "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake"
+
+ ## targets libraries + associated definitions
+ if(NOT TARGET OpenColorIO)
+- include(\"\${OpenColorIO_DIR}/cmake/OpenColorIO.cmake\") ## thanks to imported target
++ include(\"\${OpenColorIO_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/OpenColorIO/OpenColorIO.cmake\") ## thanks to imported target
+ if(TARGET OpenColorIO AND NOT OpenColorIO_USE_STATIC)
+ message(STATUS \"shared target OpenColorIO : see OpenColorIO_LIBRARY\")
+ set(OpenColorIO_LIBRARY OpenColorIO)
+@@ -646,4 +647,4 @@ file(WRITE "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake"
+ message(STATUS OPENCOLORIO_FOUND=\${OPENCOLORIO_FOUND})
+ "
+ )
+-install(FILES "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake" DESTINATION .)
++install(FILES "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/OpenColorIO)
+diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
+index 3fd0299..a822a19 100644
+--- a/docs/CMakeLists.txt
++++ b/docs/CMakeLists.txt
+@@ -138,7 +138,7 @@ add_custom_target(doc ALL
+ add_dependencies(doc Sphinx)
+
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build-html/
+- DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/OpenColorIO/html
++ DESTINATION ${CMAKE_INSTALL_DOCDIR}/html
+ PATTERN .* EXCLUDE
+ )
+
+@@ -166,6 +166,6 @@ if(PDFLATEX_COMPILER)
+ add_dependencies(pdf latex)
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/build-latex/OpenColorIO.pdf
+- DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/OpenColorIO/)
++ DESTINATION ${CMAKE_INSTALL_DOCDIR})
+
+ endif()
+diff --git a/export/pkgconfig/OpenColorIO.pc.in b/export/pkgconfig/OpenColorIO.pc.in
+index 81ab4ce3..c4553a4f 100644
+--- a/export/pkgconfig/OpenColorIO.pc.in
++++ b/export/pkgconfig/OpenColorIO.pc.in
+@@ -1,7 +1,5 @@
+-prefix=@CMAKE_INSTALL_PREFIX@
+-exec_prefix=@CMAKE_INSTALL_EXEC_PREFIX@
+-includedir=${prefix}/include
+-libdir=${exec_prefix}/lib@LIB_SUFFIX@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+ Name: OpenColorIO
+ Description: A color management framework for visual effects and animation
+--
+2.15.1
+
diff --git a/media-libs/opencolorio/metadata.xml b/media-libs/opencolorio/metadata.xml
index 10fb0496f9c4..8622e02f2f8b 100644
--- a/media-libs/opencolorio/metadata.xml
+++ b/media-libs/opencolorio/metadata.xml
@@ -7,7 +7,8 @@
</maintainer>
<longdescription lang="en">OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation.</longdescription>
<use>
- <flag name="pdf">Install extra documentation in PDF format</flag>
+ <flag name="pdf" restrict="&lt;=media-libs/opencolorio-1.1.0-r1">
+ Install extra documentation in PDF format</flag>
</use>
<upstream>
<remote-id type="github">imageworks/OpenColorIO</remote-id>
diff --git a/media-libs/opencolorio/opencolorio-1.1.0-r1.ebuild b/media-libs/opencolorio/opencolorio-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..82a5b17acd9e
--- /dev/null
+++ b/media-libs/opencolorio/opencolorio-1.1.0-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Compatibility with Python 3 is declared by upstream, but it is broken in fact, check on bump
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit cmake-utils python-single-r1 vcs-snapshot
+
+DESCRIPTION="A color management framework for visual effects and animation"
+HOMEPAGE="http://opencolorio.org/"
+
+SRC_URI="https://github.com/imageworks/OpenColorIO/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_sse2 doc opengl python static-libs test"
+REQUIRED_USE="
+ doc? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ opengl? (
+ media-libs/lcms:2
+ media-libs/openimageio
+ media-libs/glew:=
+ media-libs/freeglut
+ virtual/opengl
+ )
+ python? ( ${PYTHON_DEPS} )
+ >=dev-cpp/yaml-cpp-0.5
+ dev-libs/tinyxml"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Restricting tests, bugs #439790 and #447908
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-compile-error-with-Lut1DOp.cpp.patch"
+ "${FILESDIR}/${P}-use-GNUInstallDirs-and-fix-cmake-install-location.patch"
+ "${FILESDIR}/${P}-remove-building-of-bundled-programs.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ use python && python_fix_shebang .
+}
+
+src_configure() {
+ # Missing features:
+ # - Truelight and Nuke are not in portage for now, so their support are disabled
+ # - Java bindings was not tested, so disabled
+ # Notes:
+ # - OpenImageIO is required for building ociodisplay and ocioconvert (USE opengl)
+ # - OpenGL, GLUT and GLEW is required for building ociodisplay (USE opengl)
+ local mycmakeargs=(
+ -DOCIO_BUILD_JNIGLUE=OFF
+ -DOCIO_BUILD_NUKE=OFF
+ -DOCIO_BUILD_SHARED=ON
+ -DOCIO_BUILD_STATIC=$(usex static-libs)
+ -DOCIO_STATIC_JNIGLUE=OFF
+ -DOCIO_BUILD_TRUELIGHT=OFF
+ -DUSE_EXTERNAL_LCMS=ON
+ -DUSE_EXTERNAL_TINYXML=ON
+ -DUSE_EXTERNAL_YAML=ON
+ -DOCIO_BUILD_DOCS=$(usex doc)
+ -DOCIO_BUILD_APPS=$(usex opengl)
+ -DOCIO_BUILD_PYGLUE=$(usex python)
+ -DOCIO_USE_SSE=$(usex cpu_flags_x86_sse2)
+ -DOCIO_BUILD_TESTS=$(usex test)
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+ -DCMAKE_DISABLE_FIND_PACKAGE_LATEX=ON # They don't build
+ )
+ cmake-utils_src_configure
+}