Blob Blame History Raw
Name:           opencolorio1
Version:        1.1.1
Release:        2%{?dist}
Summary:        Enables color transforms and image display across graphics apps

License:        BSD
URL:            http://opencolorio.org/
Source0:        https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v%{version}/%{name}-%{version}.tar.gz

# Work with system libraries instead of bundled.
Patch0:         OpenColorIO-setuptools.patch
# Fix build against yaml-cpp 0.6.0+
# This patch is fine for our case (building against system yaml-cpp)
# but probably a bit too simple-minded to upstream as-is. See
# https://github.com/imageworks/OpenColorIO/issues/517
Patch1:         ocio-1.1.0-yamlcpp060.patch
Patch2:         ocio-glext_h.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1923344
Patch3:         ocio-null_pointer.patch
Patch4:         gcc12.patch

# Utilities
BuildRequires:  cmake gcc-c++
BuildRequires:  python3
BuildRequires:  python3-markupsafe
BuildRequires:  python3-setuptools

# Libraries
BuildRequires:  boost-devel
BuildRequires:  mesa-libGL-devel mesa-libGLU-devel
BuildRequires:  libX11-devel libXmu-devel libXi-devel
BuildRequires:  freeglut-devel
BuildRequires:  glew-devel
BuildRequires:  python3-devel
BuildRequires:  zlib-devel

# WARNING: OpenColorIO and OpenImageIO are cross dependent.
# If an ABI incompatible update is done in one, the other also needs to be
# rebuilt.
BuildRequires:  OpenImageIO-devel
BuildRequires:  OpenEXR-devel

#######################
# Unbundled libraries #
#######################
BuildRequires:  tinyxml-devel
BuildRequires:  lcms2-devel
BuildRequires:  yaml-cpp-devel >= 0.5.0


%description
OCIO enables color transforms and image display to be handled in a consistent
manner across multiple graphics applications. Unlike other color management
solutions, OCIO is geared towards motion-picture post production, with an
emphasis on visual effects and animation color pipelines.

NOTE: This is a compatibility package for dependencies that don't yet support
OCIO 2.


%package devel
Summary:        Development libraries and headers for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description devel
Development libraries and headers for %{name}.

NOTE: This is a compatibility package for dependencies that don't yet support
OCIO 2.


%prep
%autosetup -p1 -n OpenColorIO-%{version}

# Remove what bundled libraries
rm -f ext/lcms*
rm -f ext/tinyxml*
rm -f ext/yaml*

%build
%cmake -DOCIO_BUILD_STATIC=OFF \
       -DOCIO_BUILD_PYGLUE=OFF \
       -DOCIO_BUILD_TESTS=%{?tests:ON}%{?!tests:OFF} \
       -DPYTHON=%{__python3} \
       -DUSE_EXTERNAL_YAML=TRUE \
       -DUSE_EXTERNAL_TINYXML=TRUE \
       -DUSE_EXTERNAL_LCMS=TRUE \
       -DUSE_EXTERNAL_SETUPTOOLS=TRUE \
%ifnarch x86_64
       -DOCIO_USE_SSE=OFF \
%endif
       -DOpenGL_GL_PREFERENCE=GLVND

%cmake_build


%install
%cmake_install

# Fix location of cmake files.
mkdir -p %{buildroot}%{_datadir}/cmake/Modules
find %{buildroot} -name "*.cmake" -exec mv {} %{buildroot}%{_datadir}/cmake/Modules/ \;

# Remove binaries and setup script from compat package
rm -rf %{buildroot}%{_bindir}
rm -rf %{buildroot}%{_datadir}/ocio


%ldconfig_scriptlets


%files
%license LICENSE
%doc ChangeLog README.md
%{_libdir}/*.so.*

%files devel
%{_datadir}/cmake/Modules/*
%{_includedir}/OpenColorIO/
%{_libdir}/*.so
%{_libdir}/pkgconfig/OpenColorIO.pc


%changelog
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Tue Aug 03 2021 Richard Shaw <hobbes1069@gmail.com> - 1.1.1-1
- Initial packaging of compat package.