I have a friend who's a Blender user who said they'd like to see opencolorio support in the Blender package... this is an old patch, but maybe worth trying to get in again?
ng0 writes: > From: ng0 <n...@we.make.ritual.n0.is> > > * gnu/packages/graphics (opencolorio): New variable. > * gnu/packages/patches/opencolorio-avoid-bundled-includes.patch > --- > gnu/local.mk | 1 + > gnu/packages/graphics.scm | 73 > ++++++++++++++++++++++ > .../opencolorio-avoid-bundled-includes.patch | 72 +++++++++++++++++++++ > 3 files changed, 146 insertions(+) > create mode 100644 > gnu/packages/patches/opencolorio-avoid-bundled-includes.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index a7006cb..bc52f1a 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -701,6 +701,7 @@ dist_patch_DATA = > \ > %D%/packages/patches/nvi-db4.patch \ > %D%/packages/patches/ocaml-CVE-2015-8869.patch \ > %D%/packages/patches/ocaml-findlib-make-install.patch \ > + %D%/packages/patches/opencolorio-avoid-bundled-includes.patch \ > %D%/packages/patches/openexr-missing-samples.patch \ > %D%/packages/patches/openjpeg-CVE-2015-6581.patch \ > %D%/packages/patches/openjpeg-CVE-2016-5157.patch \ > diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm > index d0df830..1f04da2 100644 > --- a/gnu/packages/graphics.scm > +++ b/gnu/packages/graphics.scm > @@ -5,6 +5,7 @@ > ;;; Copyright © 2016 Ricardo Wurmus <rek...@elephly.net> > ;;; Copyright © 2016 Efraim Flashner <efr...@flashner.co.il> > ;;; Copyright © 2016 Andreas Enge <andr...@enge.fr> > +;;; Copyright © 2016 ng0 <ngillm...@runbox.com> > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -46,18 +47,21 @@ > #:use-module (gnu packages compression) > #:use-module (gnu packages multiprecision) > #:use-module (gnu packages boost) > + #:use-module (gnu packages ghostscript) > #:use-module (gnu packages gl) > #:use-module (gnu packages glib) > #:use-module (gnu packages graphviz) > #:use-module (gnu packages gtk) > #:use-module (gnu packages gnome) > #:use-module (gnu packages image) > + #:use-module (gnu packages java) > #:use-module (gnu packages jemalloc) > #:use-module (gnu packages photo) > #:use-module (gnu packages python) > #:use-module (gnu packages qt) > #:use-module (gnu packages readline) > #:use-module (gnu packages sdl) > + #:use-module (gnu packages serialization) > #:use-module (gnu packages video) > #:use-module (gnu packages xml) > #:use-module (gnu packages xorg)) > @@ -510,3 +514,72 @@ and understanding different BRDFs (and other component > functions).") > It supports sub-pixel resolutions and anti-aliasing. It is also library for > rendering SVG graphics.") > (license license:gpl2+))) > + > +(define-public opencolorio > + (package > + (name "opencolorio") > + (version "1.0.9") > + (source (origin > + (method url-fetch) > + (uri (string-append > "https://github.com/imageworks/OpenColorIO/" > + "archive/v" version ".tar.gz")) > + (sha256 > + (base32 > + "0zzacmfs4k6lk4yd9v8f6p1616k7sm5wmhk0np93qx8m3ilixj17")) > + (patches (search-patches > + "opencolorio-avoid-bundled-includes.patch")) > + (file-name (string-append name "-" version ".tar.gz")))) > + (build-system cmake-build-system) > + (arguments > + `(#:configure-flags > + (list "-DOCIO_BUILD_JNIGLUE=OFF" "-DOCIO_BUILD_SHARED=ON" > + "-DOCIO_BUILD_NUKE=OFF" ; Nuke is commerical software > + "-DOCIO_BUILD_STATIC=OFF" "-DOCIO_STATIC_JNIGLUE=OFF" > + "-DOCIO_BUILD_TRUELIGHT=OFF" ; Another external software > + "-DUSE_EXTERNAL_LCMS=ON" "-DUSE_EXTERNAL_TINYXML=ON" > + "-DUSE_EXTERNAL_YAML=ON" ;;"-DOCIO_BUILD_DOCS=ON" > + "-DOCIO_BUILD_APPS=ON" ;;"-DOCIO_BUILD_PDF_DOCS=ON" > + "-DOCIO_BUILD_PYGLUE=ON") > + ;;"-DOCIO_BUILD_TESTS"))) > + #:phases > + (modify-phases %standard-phases > + (add-before 'configure 'fix-fixes > + (lambda _ > + (substitute* "docs/CMakeLists.txt" > + (("add_dependencies(doc Sphinx)") "") > + (("add_dependencies(pdf latex)") ""))))))) > + (inputs > + `(("lcms" ,lcms) > + ("openimageio" ,openimageio) > + ("glew" ,glew) > + ("freeglut" ,freeglut) > + ("python" ,python) > + ("yaml-cpp" ,yaml-cpp) > + ("yaml" ,yaml) > + ("boost" ,boost) > + ("tinyxml" ,tinyxml) > + ("python-sphinx" ,python-sphinx) > + ("mesa" ,mesa) > + ("libxi" ,libxi) > + ("libxmu" ,libxmu) > + ("pkg-config" ,pkg-config) > + ("python" ,python) > + ;; https://github.com/imageworks/OpenColorIO/tree/master/ext: > + ;; ("python-setuptools" ,python-setuptools) python3. > + ("python-jinja2" ,python-jinja2) > + ("python-pygments" ,python-pygments) > + ("python-docutils" ,python-docutils) > + ("java-junit" ,java-junit))) > + (home-page "http://opencolorio.org/") > + (synopsis "color management framework for visual effects and animation") > + (description > + "OpenColorIO (OCIO) is a complete color management solution geared > towards > +motion picture production with an emphasis on visual effects and computer > animation. > +OCIO provides a straightforward and consistent user experience across all > +supporting applications while allowing for sophisticated back-end > configuration > +options suitable for high-end production usage. OCIO is compatible with the > +Academy Color Encoding Specification (ACES) and is LUT-format agnostic, > +supporting many popular formats. > +OpenColorIO is natively supported in commercial applications like Katana, > Mari, > +Silhouette FX, and others coming soon.") > + (license license:bsd-3))) > diff --git a/gnu/packages/patches/opencolorio-avoid-bundled-includes.patch > b/gnu/packages/patches/opencolorio-avoid-bundled-includes.patch > new file mode 100644 > index 0000000..e77f733 > --- /dev/null > +++ b/gnu/packages/patches/opencolorio-avoid-bundled-includes.patch > @@ -0,0 +1,72 @@ > +Do not use bundled applications from the source of OpenColorIO. > + > +--- OpenColorIO-1.0.9/docs/CMakeLists.txt.orig 2016-09-15 > 09:40:03.932004575 +0000 > ++++ OpenColorIO-1.0.9/docs/CMakeLists.txt 2016-09-15 09:41:04.420845978 > +0000 > +@@ -1,67 +1,3 @@ > +- > +-############################################################################### > +-### External Doc Apps ### > +- > +-# 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 PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py install > --prefix=${EXTDIST_ROOT} > +-) > +- > +-# 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 PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py install > --prefix=${EXTDIST_ROOT} > +-) > +- > +-# 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 PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py install > --prefix=${EXTDIST_ROOT} > +-) > +- > +-# 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 PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py install > --prefix=${EXTDIST_ROOT} > +-) > +- > +-# 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 PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py install > --prefix=${EXTDIST_ROOT} --install-scripts=${EXTDIST_ROOT}/bin > +-) > +- > + > ############################################################################### > + ### Create Doc Targets ### > +