Hello community, here is the log from the commit of package OpenColorIO for openSUSE:Factory checked in at 2019-04-30 13:02:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/OpenColorIO (Old) and /work/SRC/openSUSE:Factory/.OpenColorIO.new.5536 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "OpenColorIO" Tue Apr 30 13:02:08 2019 rev:6 rq:697656 version:1.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/OpenColorIO/OpenColorIO.changes 2015-02-03 15:35:18.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.OpenColorIO.new.5536/OpenColorIO.changes 2019-04-30 13:02:16.158136761 +0200 @@ -1,0 +2,48 @@ +Fri Apr 19 20:24:04 UTC 2019 - Asterios Dramis <[email protected]> + +- Update to version 1.1.1: + * Added optional compatibility for building apps with OpenImageIO + 1.9+ + * Added USE_SSE checks to fix Linux build failure + * getDisplays() result ordering now matches the active_displays + config definition or OCIO_ACTIVE_DISPLAYS env var override. + * Fixed incorrect getDefaultDisplay()/getDefaultView() result + when OCIO_ACTIVE_DISPLAYS or OCIO_ACTIVE_VIEWS env vars are + unset. + * Fixed Windows-specific GetEnv() bug + * Fixed Windows and MacOS CI failure cases + * Updated mail list URLs to aswf.io domain + From version 1.1.0: + * libc++ build fixes + * Added support for YAML > 5.0.1 + * YAML and TinyXML patch fixes + * Clang visibility fix + * Added write support for Truelight LUTs + * Improved OCIOYaml + * Python string corruption fix + * Added support for CDL + * Updated documentation + * Added args/kwargs support to Python MatrixTransform + * Added description field to Look objects + * Improved Python 3 compatibility + * CSP file read fix + * Added Linux, MacOS, and Windows continuos integration + * Improved 1D LUT extrapolation + * Improved 1D LUT negative handling + * Improved Windows build system + * Improved cross-platform build system + * Undefined role crash fix + * After Effects plugin updated + * Added reference Photoshop plugin + * Added reference Docker image +- Added the following patches: + * OpenColorIO-setuptools.patch (Use external python-setuptools + for building) + * 0003-Fix_Linux_compilation.patch + * 0004-Fix_build_with_GCC-8.patch + * 0005-Fix_build_with_yaml-cpp0.6.patch +- Added new build requirements libboost_headers-devel and + python-setuptools. +- Removed support for openSUSE <= 12.2. + +------------------------------------------------------------------- Old: ---- OpenColorIO-1.0.9-crippled.tar.gz New: ---- 0003-Fix_Linux_compilation.patch 0004-Fix_build_with_GCC-8.patch 0005-Fix_build_with_yaml-cpp0.6.patch OpenColorIO-1.1.1-crippled.tar.gz OpenColorIO-setuptools.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ OpenColorIO.spec ++++++ --- /var/tmp/diff_new_pack.ifpDpY/_old 2019-04-30 13:02:17.094136367 +0200 +++ /var/tmp/diff_new_pack.ifpDpY/_new 2019-04-30 13:02:17.094136367 +0200 @@ -1,8 +1,8 @@ # # spec file for package OpenColorIO # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. -# Copyright (c) 2015 Asterios Dramis <[email protected]>. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 Asterios Dramis <[email protected]>. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -13,19 +13,18 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define so_ver 1 - Name: OpenColorIO -Version: 1.0.9 +Version: 1.1.1 Release: 0 -Summary: Complete Color Management Solution Geared Towards Motion Picture Production -License: BSD-3-Clause and GPL-2.0+ +Summary: Color Management Solution Geared Towards Motion Picture Production +License: BSD-3-Clause AND GPL-2.0-or-later Group: Productivity/Graphics/Other -Url: http://opencolorio.org/ +URL: http://opencolorio.org/ ###### ###### # The package contains the below non OSS licensed files (see bnc#821203) @@ -35,43 +34,47 @@ # # so a crippled tarball is used with these files removed. Steps to reproduce: # -# tar zxf OpenColorIO-%{version}.tar.gz -# pushd OpenColorIO-%{version}/ext/ +# tar zxf OpenColorIO-%%{version}.tar.gz +# pushd OpenColorIO-%%{version}/ext/ # tar zxf Pygments-1.6.tar.gz # rm -f Pygments-1.6.tar.gz # rm -f Pygments-1.6/tests/examplefiles/{Sorting.mod,test.mod} # tar zcf Pygments-1.6.tar.gz Pygments-1.6/ # rm -rf Pygments-1.6/ # popd -# tar zcf OpenColorIO-%{version}-crippled.tar.gz OpenColorIO-%{version}/ -# rm -f OpenColorIO-%{version}.tar.gz +# tar zcf OpenColorIO-%%{version}-crippled.tar.gz OpenColorIO-%%{version}/ +# rm -f OpenColorIO-%%{version}.tar.gz # # NOTE: In newer OpenColorIO versions, Pygments (version 1.6) maybe updated. # In this case check if the above files' license is changed, so no crippled tarball is needed. ##### ##### Source0: %{name}-%{version}-crippled.tar.gz +# PATCH-FIX-UPSTREAM OpenColorIO-setuptools.patch [email protected] -- Use external python-setuptools for building (taken from Fedora) +Patch0: OpenColorIO-setuptools.patch +# PATCH-FIX-UPSTREAM 0003-Fix_Linux_compilation.patch [email protected] -- Fix Linux compilation (taken from Debian) +Patch1: 0003-Fix_Linux_compilation.patch +# PATCH-FIX-UPSTREAM 0004-Fix_build_with_GCC-8.patch [email protected] -- Fix build with GCC-8 (taken from Debian) +Patch2: 0004-Fix_build_with_GCC-8.patch +# PATCH-FIX-UPSTREAM 0005-Fix_build_with_yaml-cpp0.6.patch [email protected] -- Fix build with yaml-cpp0.6 (taken from Debian) +Patch3: 0005-Fix_build_with_yaml-cpp0.6.patch BuildRequires: cmake BuildRequires: gcc-c++ +BuildRequires: libboost_headers-devel BuildRequires: liblcms2-devel -BuildRequires: pkg-config +BuildRequires: pkgconfig BuildRequires: python-MarkupSafe BuildRequires: python-devel +BuildRequires: python-setuptools BuildRequires: tinyxml-devel -# Use internal yaml-cpp until OpenColorIO is ported to yaml-cpp >= 0.5.0 currently in Factory -%if 0%{?suse_version} > 1220 -#BuildRequires: yaml-cpp-devel >= 0.3.0 -%endif +BuildRequires: yaml-cpp-devel >= 0.5.0 Recommends: %{name}-doc = %{version} -BuildRoot: %{_tmppath}/%{name}-%{version}-build %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 +OpenColorIO (OCIO) is a color management solution geared towards motion picture +production with an emphasis on visual effects and computer animation. + +OCIO is compatible with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic, supporting many popular formats. %package devel @@ -97,18 +100,15 @@ Group: System/Libraries %description -n libOpenColorIO%{so_ver} -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 +OpenColorIO (OCIO) is a color management solution geared towards motion picture +production with an emphasis on visual effects and computer animation. + +OCIO is compatible with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic, supporting many popular formats. %package -n python-OpenColorIO Summary: Python Bindings for OpenColorIO Group: Development/Libraries/Python -%{py_requires} %description -n python-OpenColorIO This package contains python bindings for OpenColorIO. @@ -124,77 +124,69 @@ %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 # Make sure that bundled libraries are not used rm -f ext/lcms* rm -f ext/tinyxml* -%if 0%{?suse_version} > 1220 -#rm -f ext/yaml* -%endif +rm -f ext/yaml* %build -export CFLAGS="%{optflags}" -export CXXFLAGS="%{optflags}" -__libsuffix=$(echo %_lib | cut -b4-) -mkdir build -cd build -cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DLIB_SUFFIX="$__libsuffix" \ +%cmake \ -DOCIO_BUILD_STATIC=OFF \ -DOCIO_BUILD_DOCS=ON \ -DOCIO_BUILD_TESTS=ON \ + -DOCIO_PYGLUE_LINK=ON \ %ifnarch x86_64 -DOCIO_USE_SSE=OFF \ %endif - -DOCIO_PYGLUE_LINK=ON \ -%if 0%{?suse_version} > 1220 - -DUSE_EXTERNAL_YAML=OFF \ -%endif + -DUSE_EXTERNAL_YAML=ON \ -DUSE_EXTERNAL_TINYXML=ON \ -DUSE_EXTERNAL_LCMS=ON \ + -DUSE_EXTERNAL_SETUPTOOLS=ON \ .. -make %{?_smp_mflags} VERBOSE=1 -cd .. +%make_jobs %install -%make_install -C build +%cmake_install # Move documentation to the right location mkdir -p %{buildroot}%{_docdir}/%{name} mv %{buildroot}%{_datadir}/doc/OpenColorIO/html/ %{buildroot}%{_docdir}/%{name}/ -%post -n libOpenColorIO%{so_ver} -p /sbin/ldconfig +# Move cmake files to the right location +mkdir -p %{buildroot}%{_datadir}/cmake/Modules +mv %{buildroot}%{_prefix}/*.cmake %{buildroot}%{_prefix}/cmake/*.cmake %{buildroot}%{_datadir}/cmake/Modules/ +%post -n libOpenColorIO%{so_ver} -p /sbin/ldconfig %postun -n libOpenColorIO%{so_ver} -p /sbin/ldconfig %files -%defattr(-,root,root,-) -%doc ChangeLog LICENSE README +%license LICENSE +%doc ChangeLog README.md %exclude %{_docdir}/%{name}/html/ %{_bindir}/* %{_datadir}/ocio/ %files devel -%defattr(-,root,root,-) +%{_datadir}/cmake/Modules/* %{_includedir}/OpenColorIO/ %{_libdir}/pkgconfig/OpenColorIO.pc %{_libdir}/*.so %files doc -%defattr(-,root,root,-) %{_docdir}/%{name}/html/ %files -n libOpenColorIO%{so_ver} -%defattr(-,root,root,-) %{_libdir}/libOpenColorIO.so.%{so_ver}* %files -n python-OpenColorIO -%defattr(-,root,root,-) %{python_sitearch}/PyOpenColorIO.so %files -n python-OpenColorIO-devel -%defattr(-,root,root,-) %{_includedir}/PyOpenColorIO/ %changelog ++++++ 0003-Fix_Linux_compilation.patch ++++++ From: Patrick Hodoul <[email protected]> Date: Tue, 9 Apr 2019 23:08:52 +0200 Subject: Fix_Linux_compilation --- src/pyglue/PyAllocationTransform.cpp | 1 - 1 file changed, 1 deletion(-) 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); ++++++ 0004-Fix_build_with_GCC-8.patch ++++++ ++++ 1865 lines (skipped) ++++++ 0005-Fix_build_with_yaml-cpp0.6.patch ++++++ From: Christopher James Halse Rogers <[email protected]> Date: Tue, 9 Apr 2019 23:13:24 +0200 Subject: Fix_build_with_yaml-cpp0.6 One of the changes in yaml-cpp 0.6 was the replacement of some inline virtual functions with out-of-line virtual functions, to ensure a single definition of the relevant vtable. Unfortunately, OpenColorIO forward-declares these classes with a different GCC visibility attribute. Now that the key function for the vtables is not inlined into code using yaml-cpp.h that breaks link-time resolution of the vtables. Bug: https://github.com/imageworks/OpenColorIO/issues/517 --- src/core/OCIOYaml.cpp | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/src/core/OCIOYaml.cpp b/src/core/OCIOYaml.cpp index 68fcef6..8047d7e 100644 --- a/src/core/OCIOYaml.cpp +++ b/src/core/OCIOYaml.cpp @@ -30,43 +30,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <OpenColorIO/OpenColorIO.h> -#ifndef WIN32 - -// fwd declare yaml-cpp visibility -#pragma GCC visibility push(hidden) -namespace YAML { - class Exception; - class BadDereference; - class RepresentationException; - class EmitterException; - class ParserException; - class InvalidScalar; - class KeyNotFound; - template <typename T> class TypedKeyNotFound; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::ColorSpace>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::Config>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::Exception>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::GpuShaderDesc>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::ImageDesc>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::Look>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::Processor>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::Transform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::AllocationTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::CDLTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::ColorSpaceTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::DisplayTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::ExponentTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::FileTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::GroupTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::LogTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::LookTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::MatrixTransform>; - template <> class TypedKeyNotFound<OCIO_NAMESPACE::TruelightTransform>; -} -#pragma GCC visibility pop - -#endif - #ifdef WIN32 #pragma warning( push ) #pragma warning( disable: 4146 ) ++++++ OpenColorIO-1.0.9-crippled.tar.gz -> OpenColorIO-1.1.1-crippled.tar.gz ++++++ /work/SRC/openSUSE:Factory/OpenColorIO/OpenColorIO-1.0.9-crippled.tar.gz /work/SRC/openSUSE:Factory/.OpenColorIO.new.5536/OpenColorIO-1.1.1-crippled.tar.gz differ: char 5, line 1 ++++++ OpenColorIO-setuptools.patch ++++++ --- 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 )
