From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Allan Webber Subject: Re: [PATCH 001/303] gnu: Add opencolorio. Date: Sat, 29 Jul 2017 11:21:20 -0500 Message-ID: <87lgn7z01r.fsf@dustycloud.org> References: <20161003121629.28265-1-ngillmann@runbox.com> <20161003121629.28265-2-ngillmann@runbox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34402) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dbUUl-0004L8-B4 for guix-devel@gnu.org; Sat, 29 Jul 2017 12:21:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dbUUh-00006p-Ca for guix-devel@gnu.org; Sat, 29 Jul 2017 12:21:39 -0400 Received: from dustycloud.org ([50.116.34.160]:39192) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dbUUh-000051-4i for guix-devel@gnu.org; Sat, 29 Jul 2017 12:21:35 -0400 In-reply-to: <20161003121629.28265-2-ngillmann@runbox.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: ng0 Cc: guix-devel@gnu.org, ng0 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 > > * 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-incl= udes.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 =3D \ > %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 =C2=A9 2016 Ricardo Wurmus > ;;; Copyright =C2=A9 2016 Efraim Flashner > ;;; Copyright =C2=A9 2016 Andreas Enge > +;;; Copyright =C2=A9 2016 ng0 > ;;; > ;;; 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 compo= nent functions).") > It supports sub-pixel resolutions and anti-aliasing. It is also libra= ry 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/OpenC= olorIO/" > + "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=3DOFF" "-DOCIO_BUILD_SHARED=3DON" > + "-DOCIO_BUILD_NUKE=3DOFF" ; Nuke is commerical software > + "-DOCIO_BUILD_STATIC=3DOFF" "-DOCIO_STATIC_JNIGLUE=3DOFF" > + "-DOCIO_BUILD_TRUELIGHT=3DOFF" ; Another external softwar= e > + "-DUSE_EXTERNAL_LCMS=3DON" "-DUSE_EXTERNAL_TINYXML=3DON" > + "-DUSE_EXTERNAL_YAML=3DON" ;;"-DOCIO_BUILD_DOCS=3DON" > + "-DOCIO_BUILD_APPS=3DON" ;;"-DOCIO_BUILD_PDF_DOCS=3DON" > + "-DOCIO_BUILD_PYGLUE=3DON") > + ;;"-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 anima= tion") > + (description > + "OpenColorIO (OCIO) is a complete color management solution geare= d towards > +motion picture production with an emphasis on visual effects and compu= ter animation. > +OCIO provides a straightforward and consistent user experience across = all > +supporting applications while allowing for sophisticated back-end conf= iguration > +options suitable for high-end production usage. OCIO is compatible wi= th the > +Academy Color Encoding Specification (ACES) and is LUT-format agnostic= , > +supporting many popular formats. > +OpenColorIO is natively supported in commercial applications like Kata= na, Mari, > +Silhouette FX, and others coming soon.") > + (license license:bsd-3))) > diff --git a/gnu/packages/patches/opencolorio-avoid-bundled-includes.pa= tch 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.932= 004575 +0000 > ++++ OpenColorIO-1.0.9/docs/CMakeLists.txt 2016-09-15 09:41:04.42084597= 8 +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_PY= THONPATH} > +- BUILD_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py ins= tall --prefix=3D${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_PY= THONPATH} > +- BUILD_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py ins= tall --prefix=3D${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_PY= THONPATH} > +- BUILD_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py ins= tall --prefix=3D${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_PY= THONPATH} > +- BUILD_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py ins= tall --prefix=3D${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_PY= THONPATH} > +- BUILD_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py build > +- INSTALL_COMMAND PYTHONPATH=3D${PYTHONPATH} ${PYTHON} setup.py ins= tall --prefix=3D${EXTDIST_ROOT} --install-scripts=3D${EXTDIST_ROOT}/bin > +-) > +- > + #####################################################################= ########## > + ### Create Doc Targets ### > +=20