From e4da1f4b9e784d6694380bef6053e7d1bd049bc7 Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Sat, 13 Jan 2018 07:48:44 -0600 Subject: [PATCH] Update to latest upstream release. --- .gitignore | 1 + OpenColorIO-gcc.patch | 81 ++++++++++++++++++++++++++++++++++ OpenColorIO-setuptools.patch | 85 ++++++++++++++++++++++++++++++++++++ OpenColorIO-yaml_cpp3.patch | 24 ---------- OpenColorIO.spec | 44 +++++++++++++++---- sources | 2 +- 6 files changed, 204 insertions(+), 33 deletions(-) create mode 100644 OpenColorIO-gcc.patch create mode 100644 OpenColorIO-setuptools.patch delete mode 100644 OpenColorIO-yaml_cpp3.patch diff --git a/.gitignore b/.gitignore index 339ebf5..474b170 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /imageworks-OpenColorIO-v1.0.7-0-g87da508.tar.gz /OpenColorIO-1.0.8.tar.gz /OpenColorIO-1.0.9.tar.gz +/OpenColorIO-1.1.0.tar.gz diff --git a/OpenColorIO-gcc.patch b/OpenColorIO-gcc.patch new file mode 100644 index 0000000..de05849 --- /dev/null +++ b/OpenColorIO-gcc.patch @@ -0,0 +1,81 @@ +From f39552d70098a98f7c1fb3b4f020b550ce2dd75a Mon Sep 17 00:00:00 2001 +From: Patrick Hodoul +Date: Mon, 27 Nov 2017 17:29:57 -0500 +Subject: [PATCH] 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(-) + +--- 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) + { +--- 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) + { + { +--- 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); diff --git a/OpenColorIO-setuptools.patch b/OpenColorIO-setuptools.patch new file mode 100644 index 0000000..e6aaf24 --- /dev/null +++ b/OpenColorIO-setuptools.patch @@ -0,0 +1,85 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,7 +39,8 @@ option(OCIO_PYGLUE_LIB_PREFIX "If ON, pr + if(UNIX AND NOT APPLE) + option(USE_EXTERNAL_YAML "Use system installed yaml-cpp library." OFF) + option(USE_EXTERNAL_TINYXML "Use system installed tinyxml library." OFF) +- option(USE_EXTERNAL_LCMS "Use system install lcms2 library." OFF) ++ option(USE_EXTERNAL_LCMS "Use system installed lcms2 library." OFF) ++ option(USE_EXTERNAL_SETUPTOOLS "Use system installed python setuptools." OFF) + endif() + + # This does not include the SOVERSION override, on purpose, so that the +--- a/docs/CMakeLists.txt ++++ b/docs/CMakeLists.txt +@@ -19,18 +19,22 @@ else() + 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 +-) ++if(USE_EXTERNAL_SETUPTOOLS) ++ add_custom_target(setuptools /usr/bin/true) ++else() ++ # 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} --install-lib=${EXTDIST_PYTHONPATH} ++ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/setuptools-prefix/src/setuptools ++ ) ++endif() + + # docutils + # https://pypi.python.org/pypi/docutils +@@ -41,7 +45,7 @@ ExternalProject_Add(docutils + 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_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py install --prefix=${PYT_LIB_OUTPUT} --install-lib=${EXTDIST_PYTHONPATH} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docutils-prefix/src/docutils + ) + +@@ -54,7 +58,7 @@ ExternalProject_Add(Jinja2 + 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_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py install --prefix=${PYT_LIB_OUTPUT} --install-lib=${EXTDIST_PYTHONPATH} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Jinja2-prefix/src/Jinja2 + ) + +@@ -67,7 +71,7 @@ ExternalProject_Add(Pygments + 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_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py install --prefix=${PYT_LIB_OUTPUT} --install-lib=${EXTDIST_PYTHONPATH} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Pygments-prefix/src/Pygments + ) + +@@ -81,7 +85,7 @@ ExternalProject_Add(Sphinx + 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} ++ INSTALL_COMMAND ${PYT_PRE_CMD} ${PYTHON} setup.py install --prefix=${PYT_LIB_OUTPUT} --install-scripts=${PYT_EXTDIST_BINPATH} --install-lib=${EXTDIST_PYTHONPATH} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Sphinx-prefix/src/Sphinx + ) + diff --git a/OpenColorIO-yaml_cpp3.patch b/OpenColorIO-yaml_cpp3.patch deleted file mode 100644 index 653230d..0000000 --- a/OpenColorIO-yaml_cpp3.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur OpenColorIO-1.0.9.orig/CMakeLists.txt OpenColorIO-1.0.9/CMakeLists.txt ---- OpenColorIO-1.0.9.orig/CMakeLists.txt 2013-10-08 17:59:34.000000000 -0500 -+++ OpenColorIO-1.0.9/CMakeLists.txt 2013-11-05 21:20:11.824239166 -0600 -@@ -190,7 +190,7 @@ - # Set minimum yaml version for non-patched sources. - set(YAML_VERSION_MIN "0.3.0") - include(FindPkgConfig) -- pkg_check_modules(YAML_CPP yaml-cpp) -+ pkg_search_module(YAML_CPP yaml-cpp yaml-cpp03) - if(YAML_CPP_FOUND) - if(YAML_CPP_VERSION VERSION_EQUAL ${YAML_VERSION_MIN} OR - YAML_CPP_VERSION VERSION_GREATER ${YAML_VERSION_MIN}) -diff -Naur OpenColorIO-1.0.9.orig/src/core/OCIOYaml.h OpenColorIO-1.0.9/src/core/OCIOYaml.h ---- OpenColorIO-1.0.9.orig/src/core/OCIOYaml.h 2013-10-08 17:59:34.000000000 -0500 -+++ OpenColorIO-1.0.9/src/core/OCIOYaml.h 2013-11-05 21:19:23.989303122 -0600 -@@ -68,7 +68,7 @@ - - #endif - --#include -+#include - - #ifndef INCLUDED_OCIO_YAML_H - #define INCLUDED_OCIO_YAML_H diff --git a/OpenColorIO.spec b/OpenColorIO.spec index 181cbc3..c424753 100644 --- a/OpenColorIO.spec +++ b/OpenColorIO.spec @@ -5,19 +5,39 @@ } Name: OpenColorIO -Version: 1.0.9 -Release: 20%{?dist} +Version: 1.1.0 +Release: 1%{?dist} Summary: Enables color transforms and image display across graphics apps License: BSD URL: http://opencolorio.org/ Source0: https://github.com/imageworks/OpenColorIO/archive/v%{version}/%{name}-%{version}.tar.gz -Patch0: OpenColorIO-yaml_cpp3.patch +Patch0: OpenColorIO-gcc.patch +Patch1: OpenColorIO-setuptools.patch # Utilities BuildRequires: cmake BuildRequires: help2man BuildRequires: python2-markupsafe +BuildRequires: python2-setuptools + +# Needed for pdf documentation generation +BuildRequires: texlive-latex-bin-bin texlive-gsftopk-bin texlive-dvips +# Fonts +BuildRequires: texlive-cm texlive-ec texlive-times texlive-helvetic +BuildRequires: texlive-courier +# Map tables +BuildRequires: texlive-cmap +# Font maps +BuildRequires: texlive-updmap-map +# Babel +BuildRequires: texlive-babel-english +# Styles +BuildRequires: texlive-fancyhdr texlive-fancybox texlive-mdwtools +BuildRequires: texlive-parskip texlive-multirow texlive-titlesec +BuildRequires: texlive-framed texlive-threeparttable texlive-wrapfig +# Other +BuildRequires: texlive-hyphen-base # WARNING: OpenColorIO and OpenImageIO are cross dependent. # If an ABI incompatible update is done in one, the other also needs to be @@ -38,7 +58,7 @@ BuildRequires: zlib-devel ####################### BuildRequires: tinyxml-devel BuildRequires: lcms2-devel -BuildRequires: yaml-cpp03-devel >= 0.3.0 +BuildRequires: yaml-cpp-devel >= 0.5.0 # The following bundled projects are only used for document generation. #BuildRequires: python-docutils @@ -83,8 +103,7 @@ Development libraries and headers for %{name}. %prep -%setup -q -%patch0 -p1 -b .yaml3 +%autosetup -p1 # Remove what bundled libraries rm -f ext/lcms* @@ -101,12 +120,13 @@ rm -rf build && mkdir build && pushd build -DUSE_EXTERNAL_YAML=TRUE \ -DUSE_EXTERNAL_TINYXML=TRUE \ -DUSE_EXTERNAL_LCMS=TRUE \ + -DUSE_EXTERNAL_SETUPTOOLS=TRUE \ %ifnarch x86_64 -DOCIO_USE_SSE=OFF \ %endif ../ -make %{?_smp_mflags} +%make_build %install @@ -127,6 +147,10 @@ popd mkdir _tmpdoc mv %{buildroot}%{_docdir}/%{name}/* _tmpdoc/ +# Fix location of cmake files. +mkdir -p %{buildroot}%{_datadir}/cmake/Modules +find %{buildroot} -name "*.cmake" -exec mv {} %{buildroot}%{_datadir}/cmake/Modules/ \; + %check # Testing passes locally in mock but fails on the fedora build servers. @@ -139,7 +163,7 @@ mv %{buildroot}%{_docdir}/%{name}/* _tmpdoc/ %files %license LICENSE -%doc ChangeLog README +%doc ChangeLog README.md %{_libdir}/*.so.* %dir %{_datadir}/ocio %{_datadir}/ocio/setup_ocio.sh @@ -153,6 +177,7 @@ mv %{buildroot}%{_docdir}/%{name}/* _tmpdoc/ %doc _tmpdoc/* %files devel +%{_datadir}/cmake/Modules/* %{_includedir}/OpenColorIO/ %{_includedir}/PyOpenColorIO/ %{_libdir}/*.so @@ -160,6 +185,9 @@ mv %{buildroot}%{_docdir}/%{name}/* _tmpdoc/ %changelog +* Fri Jan 12 2018 Richard Shaw - 1.1.0-1 +- Update to latest upstream release. + * Sun Jan 07 2018 Richard Shaw - 1.0.9-20 - Rebuild for OpenImageIO 1.8.7. diff --git a/sources b/sources index f0d2135..a8d6c12 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -06d0efe9cc1b32d7b14134779c9d1251 OpenColorIO-1.0.9.tar.gz +SHA512 (OpenColorIO-1.1.0.tar.gz) = 909874a9f91a8d229622810fc70233680c6e75203bd8555179322de2873da00bf302432e19f189b787ffcda3157ddec1e4601c97f75a36e16f644fe7d42f6998