]> git.pld-linux.org Git - packages/OpenColorIO.git/commitdiff
- new
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 29 Jul 2012 07:44:14 +0000 (09:44 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Sun, 29 Jul 2012 07:44:14 +0000 (09:44 +0200)
- system-libs patch to use system tinyxml, yaml-cpp, sphinx (and its dependencies)
- java patch to fix Java detection and JNI glue build

OpenColorIO-java.patch [new file with mode: 0644]
OpenColorIO-system-libs.patch [new file with mode: 0644]
OpenColorIO.spec [new file with mode: 0644]

diff --git a/OpenColorIO-java.patch b/OpenColorIO-java.patch
new file mode 100644 (file)
index 0000000..06bef7f
--- /dev/null
@@ -0,0 +1,21 @@
+--- imageworks-OpenColorIO-a16d9ac/CMakeLists.txt.orig 2012-07-28 20:56:34.841655834 +0200
++++ imageworks-OpenColorIO-a16d9ac/CMakeLists.txt      2012-07-29 08:42:26.369878509 +0200
+@@ -278,7 +278,7 @@
+ if(OCIO_BUILD_JNIGLUE)
+     OCIOFindJava()
+-    if(Java_FOUND)
++    if(JAVA_FOUND)
+       add_subdirectory(src/jniglue)
+     else()
+       messageonce("Java bindings will not be built as we can't find Java")
+--- imageworks-OpenColorIO-a16d9ac/src/jniglue/JNIUtil.h.orig  2012-03-12 20:13:59.000000000 +0100
++++ imageworks-OpenColorIO-a16d9ac/src/jniglue/JNIUtil.h       2012-07-29 08:50:30.273191536 +0200
+@@ -29,6 +29,7 @@
+ #ifndef INCLUDED_OCIO_JNIUTIL_H
+ #define INCLUDED_OCIO_JNIUTIL_H
++#include <stdint.h>
+ #include <sstream>
+ #include <vector>
+ #include "OpenColorIOJNI.h"
diff --git a/OpenColorIO-system-libs.patch b/OpenColorIO-system-libs.patch
new file mode 100644 (file)
index 0000000..9f9e329
--- /dev/null
@@ -0,0 +1,151 @@
+--- imageworks-OpenColorIO-a16d9ac/CMakeLists.txt.orig 2012-03-12 20:13:59.000000000 +0100
++++ imageworks-OpenColorIO-a16d9ac/CMakeLists.txt      2012-07-28 17:59:51.035434167 +0200
+@@ -136,51 +136,6 @@
+ messageonce("Setting EXTDIST_PYTHONPATH: ${EXTDIST_PYTHONPATH}")
+ ###############################################################################
+-### tinyxml ###
+-
+-set(TINYXML_VERSION 2_6_1)
+-set(TINYXML_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/ext/dist)
+-if(CMAKE_TOOLCHAIN_FILE)
+-    set(TINYXML_CMAKE_ARGS ${TINYXML_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
+-endif()
+-ExternalProject_Add(tinyxml
+-    URL ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.tar.gz
+-    PATCH_COMMAND patch -f -p1 < ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch
+-    BINARY_DIR ext/build/tinyxml
+-    INSTALL_DIR ext/dist
+-    CMAKE_ARGS ${TINYXML_CMAKE_ARGS}
+-)
+-if(WIN32)
+-    set(TINYXML_STATIC_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/tinyxml.lib)
+-else()
+-    set(TINYXML_STATIC_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libtinyxml.a)
+-endif()
+-
+-###############################################################################
+-### YAML ###
+-
+-set(YAML_CPP_VERSION r482)
+-set(YAML_CPP_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/ext/dist -DYAML_CPP_BUILD_TOOLS:BOOL=FALSE)
+-if(CMAKE_TOOLCHAIN_FILE)
+-    set(YAML_CPP_CMAKE_ARGS ${YAML_CPP_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
+-endif()
+-ExternalProject_Add(YAML_CPP_LOCAL
+-    URL ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.tar.gz
+-    BINARY_DIR ext/build/yaml-cpp
+-    PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.patch
+-    INSTALL_DIR ext/dist
+-    CMAKE_ARGS ${YAML_CPP_CMAKE_ARGS}
+-)
+-set(YAML_CPP_INCLUDE_DIRS ${PROJECT_BINARY_DIR}/ext/dist/include)
+-set(YAML_CPP_LIBRARY_DIRS ${PROJECT_BINARY_DIR}/ext/dist/lib)
+-if(WIN32)
+-    set(YAML_CPP_STATIC_DEBUG_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cppmdd.lib)
+-    set(YAML_CPP_STATIC_OPTIMIZED_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cppmd.lib)
+-else()
+-    set(YAML_CPP_STATIC_GENERAL_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cpp.a)
+-endif()
+-
+-###############################################################################
+ ### Externals ###
+ set(EXTERNAL_INCLUDE_DIRS ${EXTERNAL_INCLUDE_DIRS} ${PROJECT_BINARY_DIR}/ext/dist/include)
+@@ -201,9 +156,9 @@
+ set(EXTERNAL_LINK_FLAGS "")
+ set(EXTERNAL_LIBRARY_DIRS ${PROJECT_BINARY_DIR}/ext/dist/lib)
+-set(EXTERNAL_DEBUG_LIBRARIES ${YAML_CPP_STATIC_DEBUG_LIBRARIES})
+-set(EXTERNAL_OPTIMIZED_LIBRARIES ${YAML_CPP_STATIC_OPTIMIZED_LIBRARIES})
+-set(EXTERNAL_GENERAL_LIBRARIES ${TINYXML_STATIC_LIBRARIES} ${YAML_CPP_STATIC_GENERAL_LIBRARIES})
++set(EXTERNAL_DEBUG_LIBRARIES "")
++set(EXTERNAL_OPTIMIZED_LIBRARIES "")
++set(EXTERNAL_GENERAL_LIBRARIES tinyxml yaml-cpp)
+ ###############################################################################
+ ### Documentation ###
+--- imageworks-OpenColorIO-a16d9ac/docs/CMakeLists.txt.orig    2012-03-12 20:13:59.000000000 +0100
++++ imageworks-OpenColorIO-a16d9ac/docs/CMakeLists.txt 2012-07-28 20:49:28.808340379 +0200
+@@ -1,63 +1,5 @@
+ ###############################################################################
+-### External Doc Apps ###
+-
+-# setuptools
+-set(SETUPTOOLS_VERSION 0.6c11)
+-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
+-set(DOCUTILS_VERSION 0.7)
+-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
+-set(JINJA2_VERSION 2.5.5)
+-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
+-set(PYGMENTS_VERSION 1.3.1)
+-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
+-set(SPHINX_VERSION f52b631f501a) # 1.1pre
+-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 ###
+ message(STATUS "Create sphinx conf.py from conf.py.in")
+@@ -61,7 +61,7 @@
+                    COMMENT "Creating PyOther.rst")
+ add_custom_target(doc ALL
+-    COMMAND PYTHONPATH=${PYTHONPATH} ${EXTDIST_BINPATH}/sphinx-build -b html . ${CMAKE_CURRENT_BINARY_DIR}/build-html
++    COMMAND PYTHONPATH=${PYTHONPATH} sphinx-build -b html . ${CMAKE_CURRENT_BINARY_DIR}/build-html
+     DEPENDS
+         OpenColorIO
+         ${CMAKE_BINARY_DIR}/docs/conf.py
+@@ -97,7 +97,7 @@
+ if(PDFLATEX_COMPILER)
+     
+     add_custom_target(latex
+-        COMMAND PYTHONPATH=${PYTHONPATH} ${EXTDIST_BINPATH}/sphinx-build -b latex . ${CMAKE_CURRENT_BINARY_DIR}/build-latex
++        COMMAND PYTHONPATH=${PYTHONPATH} sphinx-build -b latex . ${CMAKE_CURRENT_BINARY_DIR}/build-latex
+         DEPENDS
+             OpenColorIO
+             ${CMAKE_BINARY_DIR}/docs/conf.py
diff --git a/OpenColorIO.spec b/OpenColorIO.spec
new file mode 100644 (file)
index 0000000..c305f6a
--- /dev/null
@@ -0,0 +1,250 @@
+# TODO: truelight, nuke
+#
+# Conditional build:
+%bcond_without oiio    # OpenImageIO-dependent apps (ocioconvert,ociodisplay)
+%bcond_without opengl  # OpenGL-dependent app (ociodisplay)
+%bcond_without java    # JNI glue
+%bcond_without docs    # documentation
+%bcond_with    sse2    # use SSE2 instructions
+#
+%ifarch %{x8664} pentrium4
+%define        with_sse2       1
+%endif
+Summary:       Complete color management solution
+Summary(pl.UTF-8):     Kompletny pakiet do zarządzania kolorami
+Name:          OpenColorIO
+Version:       1.0.6
+Release:       1
+License:       BSD
+Group:         Libraries
+Source0:       https://github.com/imageworks/OpenColorIO/tarball/v%{version}#/%{name}-%{version}.tar.gz
+# Source0-md5: 7bd5521d8671be9f9f92339b32497908
+Patch0:                %{name}-system-libs.patch
+Patch1:                %{name}-java.patch
+URL:           http://opencolorio.org/
+# g++ with tr1 support or...
+#BuildRequires:        boost-devel >= 1.34
+BuildRequires: cmake >= 2.8
+%{?with_java:BuildRequires:    jdk}
+BuildRequires: libstdc++-devel
+BuildRequires: pkgconfig
+BuildRequires: python-devel
+%{?with_docs:BuildRequires:    sphinx-pdg >= 1.1}
+BuildRequires: tinyxml-devel >= 2.6.1
+BuildRequires: yaml-cpp-devel >= 0.2.6
+%if %{with opengl}
+BuildRequires: OpenGL-devel
+BuildRequires: OpenGL-glut-devel
+BuildRequires: glew-devel >= 1.5.1
+%endif
+%if %{with oiio}
+BuildRequires: OpenImageIO-devel
+BuildRequires: lcms2-devel >= 2.1
+%endif
+Requires:      tinyxml >= 2.6.1
+Requires:      yaml-cpp >= 0.2.6
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%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.
+
+%description -l pl.UTF-8
+OpenColorIO (OCIO) to kompletne rozwiązanie zarządzania kolorami
+przeznaczone do tworzenia obrazów ruchomych, w szczególności efektów
+wizualnych i animacji komputerowej. OCIO zapewnia proste i spójne
+elementy we wszystkich współpracujących aplikacjach, pozwalając na
+wyszukane opcje konfiguracyjne backendu, nadające się do zastosowań
+produkcyjnych wysokiej jakości. OCIO jest zgodne ze specyfikacją ACES
+(Academy Color Encoding Specification) i jest niezależne od formatu
+LUT dzięki obsłudze wielu popularnych formatów.
+
+%package convert
+Summary:       OpenColorIO convert tool
+Summary(pl.UTF-8):     Narzędzie OpenColorIO do konwersji
+Group:         Applications/Graphics
+Requires:      %{name} = %{version}-%{release}
+
+%description convert
+OpenColorIO convert tool.
+
+%description convert -l pl.UTF-8
+Narzędzie OpenColorIO do konwersji.
+
+%package display
+Summary:       OpenColorIO viewer based on OpenGL
+Summary(pl.UTF-8):     Przeglądarka OpenColorIO oparta na OpenGL-u
+Group:         X11/Applications/Graphics
+Requires:      %{name} = %{version}-%{release}
+
+%description display
+OpenColorIO viewer based on OpenGL.
+
+%description display -l pl.UTF-8
+Przeglądarka OpenColorIO oparta na OpenGL-u.
+
+%package devel
+Summary:       Header files for OpenColorIO library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki OpenColorIO
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      libstdc++-devel
+
+%description devel
+Header files for OpenColorIO library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki OpenColorIO.
+
+%package static
+Summary:       Static OpenColorIO library
+Summary(pl.UTF-8):     Statyczna biblioteka OpenColorIO
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description static
+Static OpenColorIO library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka OpenColorIO.
+
+%package -n java-OpenColorIO
+Summary:       Java binding for OpenColorIO library
+Summary(pl.UTF-8):     Wiązanie Javy do biblioteki OpenColorIO
+Group:         Libraries/Java
+Requires:      %{name} = %{version}-%{release}
+
+%description -n java-OpenColorIO
+Java binding for OpenColorIO library.
+
+%description -n java-OpenColorIO -l pl.UTF-8
+Wiązanie Javy do biblioteki OpenColorIO.
+
+%package -n python-OpenColorIO
+Summary:       Python binding for OpenColorIO library
+Summary(pl.UTF-8):     Wiązanie Pythona do biblioteki OpenColorIO
+Group:         Libraries/Python
+Requires:      %{name} = %{version}-%{release}
+
+%description -n python-OpenColorIO
+Python binding for OpenColorIO library.
+
+%description -n python-OpenColorIO -l pl.UTF-8
+Wiązanie Pythona do biblioteki OpenColorIO.
+
+%package -n python-OpenColorIO-devel
+Summary:       Header file for PyOpenColorIO API
+Summary(pl.UTF-8):     Plik nagłówkowy API PyOpenColorIO
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      python-OpenColorIO = %{version}-%{release}
+
+%description -n python-OpenColorIO-devel
+Header file for PyOpenColorIO API.
+
+%description -n python-OpenColorIO-devel -l pl.UTF-8
+Plik nagłówkowy API PyOpenColorIO.
+
+%prep
+%setup -q -n imageworks-OpenColorIO-a16d9ac
+%patch0 -p1
+%patch1 -p1
+
+%build
+install -d build
+cd build
+%cmake .. \
+       -DOCIO_BUILD_DOCS=ON \
+%if %{with java}
+       -DOCIO_BUILD_JNIGLUE=ON \
+       -DOCIO_STATIC_JNIGLUE=OFF \
+%endif
+       %{!?with_sse2:-DOCIO_USE_SSE=OFF} \
+       -DPYTHON_INCLUDE_LIB_PREFIX=ON
+
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -C build install \
+       DESTDIR=$RPM_BUILD_ROOT
+
+# we use PYTHON_INCLUDE_LIB_PREFIX=ON so library is useful as C++ API
+# but allow it to be loaded without lib prefix
+ln -sf $(basename $RPM_BUILD_ROOT%{_libdir}/libPyOpenColorIO.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/PyOpenColorIO.so
+
+# not needed when installing to /usr
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/ocio/setup_ocio.sh
+# packaged as %doc
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/OpenColorIO
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
+
+%post  -n java-OpenColorIO -p /sbin/ldconfig
+%postun        -n java-OpenColorIO -p /sbin/ldconfig
+
+%post  -n python-OpenColorIO -p /sbin/ldconfig
+%postun        -n python-OpenColorIO -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc ChangeLog LICENSE README
+%attr(755,root,root) %{_bindir}/ociobakelut
+%attr(755,root,root) %{_bindir}/ociocheck
+%attr(755,root,root) %{_libdir}/libOpenColorIO.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libOpenColorIO.so.1
+
+%if %{with oiio}
+%files convert
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/ocioconvert
+%endif
+
+%if %{with oiio} && %{with opengl}
+%files display
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/ociodisplay
+%endif
+
+%files devel
+%defattr(644,root,root,755)
+%doc build/docs/build-html/*
+%attr(755,root,root) %{_libdir}/libOpenColorIO.so
+%{_includedir}/OpenColorIO
+%{_pkgconfigdir}/OpenColorIO.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libOpenColorIO.a
+
+%if %{with java}
+%files -n java-OpenColorIO
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOpenColorIO-JNI.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libOpenColorIO-JNI.so.1
+%attr(755,root,root) %{_libdir}/libOpenColorIO-JNI.so
+%dir %{_datadir}/ocio
+%{_datadir}/ocio/OpenColorIO-1.0.6.jar
+%endif
+
+%files -n python-OpenColorIO
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libPyOpenColorIO.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libPyOpenColorIO.so.1
+%attr(755,root,root) %{_libdir}/PyOpenColorIO.so
+
+%files -n python-OpenColorIO-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libPyOpenColorIO.so
+%{_includedir}/PyOpenColorIO
This page took 0.241961 seconds and 4 git commands to generate.