[packages/OpenImageIO] - updated to 2.4.14.0 (new sonames); field3d and socket plugins are gone, added openvdb
qboosh
qboosh at pld-linux.org
Tue Aug 22 22:42:12 CEST 2023
commit f42f60ac2c5d743e22d00359abcaa2b3a794a5a5
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Tue Aug 22 22:37:42 2023 +0200
- updated to 2.4.14.0 (new sonames); field3d and socket plugins are gone, added openvdb
OpenImageIO-system-libcineon.patch | 32 +++++++----
OpenImageIO.spec | 108 +++++++++++++++++++++----------------
no-clang-format.patch | 66 ++++-------------------
3 files changed, 95 insertions(+), 111 deletions(-)
---
diff --git a/OpenImageIO.spec b/OpenImageIO.spec
index ce57cc9..5c893df 100644
--- a/OpenImageIO.spec
+++ b/OpenImageIO.spec
@@ -1,6 +1,6 @@
# TODO:
-# - OpenVDB >= 5.0 https://www.openvdb.org/
# - Nuke >= 7.0? https://www.foundry.com/products/nuke/ (proprietary)
+# - R3DSDK? https://www.red.com/downloads/r3d-sdk (proprietary)
# - package fonts?
# /usr/share/fonts/OpenImageIO/DroidSans-Bold.ttf
# /usr/share/fonts/OpenImageIO/DroidSans.ttf
@@ -15,64 +15,78 @@
# Conditional build:
%bcond_without ocio # OpenColorIO support in library
%bcond_without opencv # OpenCV support in library
-%bcond_with tbb # Threading Building Blocks
+%bcond_without openvdb # OpenVDB plugin
+%bcond_with qt6 # Qt6 instead of Qt5
+%bcond_without tbb # Threading Building Blocks
#
%ifarch i386 i486
# https://github.com/OpenImageIO/oiio/issues/583
%undefine with_tbb
%endif
-%ifnarch %{ix86} %{x8664} %{arm} ia64 ppc ppc64
+%ifnarch %{ix86} %{x8664} %{arm} aarch64 ia64 ppc ppc64
%undefine with_tbb
%endif
+%if %{without tbb}
+%undefine with_openvdb
+%endif
#
Summary: Library for reading and writing images
Summary(pl.UTF-8): Biblioteka do odczytu i zapisu obrazów
Name: OpenImageIO
-Version: 2.3.21.0
-Release: 7
-License: BSD
+Version: 2.4.14.0
+Release: 1
+License: Apache v2.0
Group: Libraries
#Source0Download: https://github.com/OpenImageIO/oiio/releases
Source0: https://github.com/OpenImageIO/oiio/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: a5def3fc51a35b09f251bc32a11c24da
+# Source0-md5: cc0e320302622783dfe16ac6ae1946b3
Patch2: %{name}-system-libcineon.patch
Patch3: no-clang-format.patch
URL: https://github.com/OpenImageIO/oiio
-BuildRequires: Field3D-devel
+BuildRequires: Imath-devel >= 3.0.0
%{?with_ocio:BuildRequires: OpenColorIO-devel}
BuildRequires: OpenEXR-devel >= 3.0.0
BuildRequires: OpenGL-devel
+%if %{with qt6}
+BuildRequires: Qt6Core-devel >= 6
+BuildRequires: Qt6Gui-devel >= 6
+BuildRequires: Qt6OpenGLWidgets-devel >= 6
+BuildRequires: Qt6Widgets-devel >= 6
+%else
BuildRequires: Qt5Core-devel >= 5.6
BuildRequires: Qt5Gui-devel >= 5.6
BuildRequires: Qt5OpenGL-devel >= 5.6
BuildRequires: Qt5Widgets-devel >= 5.6
+%endif
# filesystem, regex, system, thread
-BuildRequires: boost-devel >= 1.53
-BuildRequires: boost-python3-devel >= 1.53
+BuildRequires: boost-devel >= 1.66
+BuildRequires: boost-python3-devel >= 1.66
BuildRequires: bzip2-devel
BuildRequires: cmake >= 3.12
BuildRequires: dcmtk-devel >= 3.6.1
-BuildRequires: ffmpeg-devel >= 2.6
+BuildRequires: ffmpeg-devel >= 3.0
BuildRequires: freetype-devel >= 2.0
-BuildRequires: giflib-devel
+BuildRequires: giflib-devel >= 5.0
BuildRequires: glew-devel >= 1.5.1
BuildRequires: hdf5-devel
BuildRequires: jasper-devel
BuildRequires: libcineon-devel
-BuildRequires: libheif-devel
+BuildRequires: libfmt-devel >= 9.0
+BuildRequires: libheif-devel >= 1.7
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libraw-devel >= 0.18
BuildRequires: libstdc++-devel >= 6:4.7
-BuildRequires: libtiff-devel >= 3.9
+BuildRequires: libtiff-devel >= 4.0
BuildRequires: libwebp-devel
-%{?with_opencv:BuildRequires: opencv-devel >= 2.0}
+%{?with_opencv:BuildRequires: opencv-devel >= 3.0}
BuildRequires: openjpeg2-devel >= 2.4
+%{?with_openvdb:BuildRequires: openvdb-devel >= 5.0}
BuildRequires: ptex-devel >= 2.1
-BuildRequires: pugixml-devel
+BuildRequires: pugixml-devel >= 1.8
BuildRequires: python3-devel >= 1:2.7
BuildRequires: python3-pybind11 >= 2.2.0
-BuildRequires: robin-map-devel
+BuildRequires: robin-map-devel >= 0.6.2
BuildRequires: rpm-build >= 4.6
BuildRequires: rpmbuild(macros) >= 1.605
BuildRequires: squish-devel >= 1.10
@@ -80,6 +94,7 @@ BuildRequires: squish-devel >= 1.10
BuildRequires: txt2man
BuildRequires: zlib-devel
Requires: OpenEXR >= 3.0.0
+Obsoletes: OpenImageIO-plugin-field3d < 2.4
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
@@ -91,7 +106,7 @@ implemented by DLL/DSO plugins.
Currently there are format plugins for: TIFF, JPEG/JFIF, OpenEXR, PNG,
HDR/RGBE, Targa, JPEG-2000, DPX, Cineon, FITS, BMP, ICO, RMan Zfile,
-Softimage PIC, DDS, SGI, PNM/PPM/PGM/PBM, Field3d, WebP.
+Softimage PIC, DDS, SGI, PNM/PPM/PGM/PBM, OpenVDB, WebP.
%description -l pl.UTF-8
OpenImageIO to biblioteka do odczytu i zapisu obrazów oraz wiele
@@ -102,13 +117,14 @@ są implementowane przez wtyczki DLL/DSO.
Obecnie istnieją wtyczki obsługujące formaty: TIFF, JPEG/JFIF,
OpenEXR, PNG, HDR/RGBE, Targa, JPEG-2000, DPX, Cineon, FITS, BMP, ICO,
-RMan Zfile, Softimage PIC, DDS, SGI, PNM/PPM/PGM/PBM, Field3d, WebP.
+RMan Zfile, Softimage PIC, DDS, SGI, PNM/PPM/PGM/PBM, OpenVDB, WebP.
%package devel
Summary: Header files for OpenImageIO library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki OpenImageIO
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: libfmt-devel >= 9.0
Requires: libstdc++-devel >= 6:4.7
%description devel
@@ -173,7 +189,7 @@ Summary: FFmpeg plugin for OpenImageIO library
Summary(pl.UTF-8): Wtyczka FFmpeg dla biblioteki OpenImageIO
Group: Libraries
Requires: %{name} = %{version}-%{release}
-Requires: ffmpeg-libs >= 2.6
+Requires: ffmpeg-libs >= 3.0
%description plugin-ffmpeg
OpenImageIO plugin to read FFmpeg files.
@@ -181,23 +197,12 @@ OpenImageIO plugin to read FFmpeg files.
%description plugin-ffmpeg -l pl.UTF-8
Wtyczka biblioteki OpenImageIO czytająca pliki FFmpeg.
-%package plugin-field3d
-Summary: Field3D plugin for OpenImageIO library
-Summary(pl.UTF-8): Wtyczka Field3D dla biblioteki OpenImageIO
-Group: Libraries
-Requires: %{name} = %{version}-%{release}
-
-%description plugin-field3d
-OpenImageIO plugin to read Field3D files.
-
-%description plugin-field3d -l pl.UTF-8
-Wtyczka biblioteki OpenImageIO czytająca pliki Field3D.
-
%package plugin-gif
Summary: Gif plugin for OpenImageIO library
Summary(pl.UTF-8): Wtyczka Gif dla biblioteki OpenImageIO
Group: Libraries
Requires: %{name} = %{version}-%{release}
+Requires: giflib >= 5.0
%description plugin-gif
OpenImageIO plugin to read GIF files.
@@ -210,6 +215,7 @@ Summary: HEIF plugin for OpenImageIO library
Summary(pl.UTF-8): Wtyczka HEIF dla biblioteki OpenImageIO
Group: Libraries
Requires: %{name} = %{version}-%{release}
+Requires: libheif >= 1.7
%description plugin-heif
OpenImageIO plugin to read HEIF files.
@@ -268,6 +274,19 @@ OpenImageIO plugin to read and write OpenEXR files.
%description plugin-openexr -l pl.UTF-8
Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki OpenEXR.
+%package plugin-openvdb
+Summary: OpenVDB plugin for OpenImageIO library
+Summary(pl.UTF-8): Wtyczka OpenVDB dla biblioteki OpenImageIO
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: openvdb >= 5.0
+
+%description plugin-openvdb
+OpenImageIO plugin to read OpenVDB files.
+
+%description plugin-openvdb -l pl.UTF-8
+Wtyczka biblioteki OpenImageIO czytająca pliki OpenVDB.
+
%package plugin-png
Summary: PNG plugin for OpenImageIO library
Summary(pl.UTF-8): Wtyczka PNG dla biblioteki OpenImageIO
@@ -335,7 +354,7 @@ Summary: TIFF plugin for OpenImageIO library
Summary(pl.UTF-8): Wtyczka TIFF dla biblioteki OpenImageIO
Group: Libraries
Requires: %{name} = %{version}-%{release}
-Requires: libtiff >= 3.9
+Requires: libtiff >= 4.0
%description plugin-tiff
OpenImageIO plugin to read and write TIFF files.
@@ -380,8 +399,6 @@ Wiązanie Pythona do biblioteki OpenImageIO.
%patch2 -p1
%patch3 -p1
-%{__rm} -r src/dds.imageio/squish
-
%build
install -d build
cd build
@@ -389,14 +406,12 @@ cd build
-DCMAKE_INSTALL_MANDIR=%{_mandir}/man1 \
-DEMBEDPLUGINS=OFF \
-DINCLUDE_INSTALL_DIR=%{_includedir}/%{name} \
+ -DINTERNALIZE_FMT=OFF \
-DLIB_INSTALL_DIR:PATH=%{_libdir} \
-DBUILD_TESTING=OFF \
%ifarch i386 i486
-DNOTHREADS=1 \
%endif
- -DENABLE_FIELD3D=ON \
- -DPYBIND11_HOME:PATH=%{py_incdir} \
- -DPYLIB_INSTALL_DIR=%{py_sitedir} \
-DPYTHON_VERSION=%{py3_ver} \
-DUSE_EXTERNAL_PUGIXML=ON \
-DSTOP_ON_WARNING=OFF \
@@ -427,7 +442,7 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc CHANGES.md CREDITS.md LICENSE.md README.md
+%doc CHANGES.md CREDITS.md GOVERNANCE.md LICENSE-BSD.md README.md RELICENSING.md
%attr(755,root,root) %{_bindir}/iconvert
%attr(755,root,root) %{_bindir}/idiff
%attr(755,root,root) %{_bindir}/igrep
@@ -435,9 +450,9 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/maketx
%attr(755,root,root) %{_bindir}/oiiotool
%attr(755,root,root) %{_libdir}/libOpenImageIO.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libOpenImageIO.so.2.3
+%attr(755,root,root) %ghost %{_libdir}/libOpenImageIO.so.2.4
%attr(755,root,root) %{_libdir}/libOpenImageIO_Util.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libOpenImageIO_Util.so.2.3
+%attr(755,root,root) %ghost %{_libdir}/libOpenImageIO_Util.so.2.4
%attr(755,root,root) %{_libdir}/bmp.imageio.so
%attr(755,root,root) %{_libdir}/fits.imageio.so
%attr(755,root,root) %{_libdir}/hdr.imageio.so
@@ -445,7 +460,6 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/pnm.imageio.so
%attr(755,root,root) %{_libdir}/rla.imageio.so
%attr(755,root,root) %{_libdir}/sgi.imageio.so
-%attr(755,root,root) %{_libdir}/socket.imageio.so
%attr(755,root,root) %{_libdir}/softimage.imageio.so
%attr(755,root,root) %{_libdir}/targa.imageio.so
%attr(755,root,root) %{_libdir}/zfile.imageio.so
@@ -486,10 +500,6 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/ffmpeg.imageio.so
-%files plugin-field3d
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/field3d.imageio.so
-
%files plugin-gif
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/gif.imageio.so
@@ -514,6 +524,12 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/openexr.imageio.so
+%if %{with openvdb}
+%files plugin-openvdb
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/openvdb.imageio.so
+%endif
+
%files plugin-png
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/png.imageio.so
diff --git a/OpenImageIO-system-libcineon.patch b/OpenImageIO-system-libcineon.patch
index 0cf62bf..61d6dd7 100644
--- a/OpenImageIO-system-libcineon.patch
+++ b/OpenImageIO-system-libcineon.patch
@@ -1,16 +1,19 @@
-diff -urNp -x '*.orig' oiio-Release-2.0.13.org/src/cineon.imageio/CMakeLists.txt oiio-Release-2.0.13/src/cineon.imageio/CMakeLists.txt
---- oiio-Release-2.0.13.org/src/cineon.imageio/CMakeLists.txt 2019-12-03 23:28:14.000000000 +0100
-+++ oiio-Release-2.0.13/src/cineon.imageio/CMakeLists.txt 2021-03-07 10:21:59.867138452 +0100
-@@ -1,4 +1,2 @@
+--- oiio-2.4.14.0/src/cineon.imageio/CMakeLists.txt.orig 2023-08-21 21:11:54.336404839 +0200
++++ oiio-2.4.14.0/src/cineon.imageio/CMakeLists.txt 2023-08-21 21:26:52.004875084 +0200
+@@ -3,9 +3,7 @@
+ # https://github.com/OpenImageIO/oiio
+
add_oiio_plugin (cineoninput.cpp
- libcineon/Cineon.cpp libcineon/OutStream.cpp libcineon/Codec.cpp
-- libcineon/Reader.cpp libcineon/Writer.cpp libcineon/CineonHeader.cpp
+- libcineon/Reader.cpp libcineon/CineonHeader.cpp
- libcineon/ElementReadStream.cpp libcineon/InStream.cpp)
+ LINK_LIBRARIES cineon)
-diff -urNp -x '*.orig' oiio-Release-2.0.13.org/src/cineon.imageio/cineoninput.cpp oiio-Release-2.0.13/src/cineon.imageio/cineoninput.cpp
---- oiio-Release-2.0.13.org/src/cineon.imageio/cineoninput.cpp 2019-12-03 23:28:14.000000000 +0100
-+++ oiio-Release-2.0.13/src/cineon.imageio/cineoninput.cpp 2021-03-07 10:21:59.867138452 +0100
-@@ -28,7 +28,7 @@
+
+ # Note: OIIO doesn't support cineon output, so we don't compile
+ # libcineon/Writer.cpp
+--- oiio-2.4.14.0/src/cineon.imageio/cineoninput.cpp.orig 2023-08-01 22:15:24.000000000 +0200
++++ oiio-2.4.14.0/src/cineon.imageio/cineoninput.cpp 2023-08-22 17:46:26.265122755 +0200
+@@ -4,7 +4,7 @@
#include <cmath>
@@ -19,3 +22,14 @@ diff -urNp -x '*.orig' oiio-Release-2.0.13.org/src/cineon.imageio/cineoninput.cp
#include <OpenImageIO/dassert.h>
#include <OpenImageIO/imageio.h>
+@@ -337,8 +337,8 @@ CineonInput::open(const std::string& nam
+ // FIXME: do something about the time zone
+ }
+ {
+- char filmedge[17];
+- m_cin.header.FilmEdgeCode(filmedge, sizeof(filmedge));
++ char filmedge[3+3+3+10+10+1]; // should be 17 (2+2+2+6+4+NUL), but be safe in case of out-of-range values
++ m_cin.header.FilmEdgeCode(filmedge);
+ if (filmedge[0])
+ m_spec.attribute("cineon:FilmEdgeCode", filmedge);
+ }
diff --git a/no-clang-format.patch b/no-clang-format.patch
index a474243..3935380 100644
--- a/no-clang-format.patch
+++ b/no-clang-format.patch
@@ -1,57 +1,11 @@
---- oiio-2.3.12.0/src/cmake/compiler.cmake.orig 2022-02-05 17:02:29.480576995 +0100
-+++ oiio-2.3.12.0/src/cmake/compiler.cmake 2022-02-05 17:03:59.121664048 +0100
-@@ -432,54 +432,6 @@
-
-
- ###########################################################################
--# clang-format options
--#
--# clang-format is a source code reformatter that is part of the LLVM tools.
--# It can be used to check adherence to project code formatting rules and
--# correct any deviations. If clang-format is found on the system, a
--# "clang-format" build target will trigger a reformatting.
--#
--# Note: skip all of this checking, setup, and cmake-format target if this
--# is being built as a subproject.
--if (PROJECT_IS_TOP_LEVEL)
-- set (CLANG_FORMAT_EXE_HINT "" CACHE PATH "clang-format executable's directory (will search if not specified")
-- set (CLANG_FORMAT_INCLUDES "src/*.h" "src/*.cpp"
-- CACHE STRING "Glob patterns to include for clang-format")
-- set (CLANG_FORMAT_EXCLUDES "*pugixml*" "*SHA1*" "*/farmhash.cpp"
-- "src/dpx.imageio/libdpx/*"
-- "src/cineon.imageio/libcineon/*"
-- "src/dds.imageio/squish/*"
-- "src/gif.imageio/gif.h"
-- "src/hdr.imageio/rgbe.cpp"
-- "src/libutil/stb_sprintf.h"
-- CACHE STRING "Glob patterns to exclude for clang-format")
-- find_program (CLANG_FORMAT_EXE
-- NAMES clang-format bin/clang-format
-- HINTS ${CLANG_FORMAT_EXE_HINT} ENV CLANG_FORMAT_EXE_HINT
-- ENV LLVM_DIRECTORY
-- NO_DEFAULT_PATH
-- DOC "Path to clang-format executable")
-- find_program (CLANG_FORMAT_EXE NAMES clang-format bin/clang-format)
-- if (CLANG_FORMAT_EXE)
-- message (STATUS "clang-format found: ${CLANG_FORMAT_EXE}")
-- # Start with the list of files to include when formatting...
-- file (GLOB_RECURSE FILES_TO_FORMAT ${CLANG_FORMAT_INCLUDES})
-- # ... then process any list of excludes we are given
-- foreach (_pat ${CLANG_FORMAT_EXCLUDES})
-- file (GLOB_RECURSE _excl ${_pat})
-- list (REMOVE_ITEM FILES_TO_FORMAT ${_excl})
-- endforeach ()
-- #message (STATUS "clang-format file list: ${FILES_TO_FORMAT}")
-- file (COPY ${CMAKE_CURRENT_SOURCE_DIR}/.clang-format
-- DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-- add_custom_target (clang-format
-- COMMAND "${CLANG_FORMAT_EXE}" -i -style=file ${FILES_TO_FORMAT} )
-- else ()
-- message (STATUS "clang-format not found.")
-- endif ()
--endif ()
--
--###########################################################################
- # Another way to sneak in custom compiler and DSO linking flags.
+--- oiio-2.4.14.0/src/cmake/compiler.cmake.orig 2023-08-21 21:27:17.401404166 +0200
++++ oiio-2.4.14.0/src/cmake/compiler.cmake 2023-08-21 21:28:41.787613674 +0200
+@@ -508,7 +508,7 @@ endif ()
#
- set (EXTRA_CPP_ARGS "" CACHE STRING "Extra C++ command line definitions")
+ # Note: skip all of this checking, setup, and cmake-format target if this
+ # is being built as a subproject.
+-if (PROJECT_IS_TOP_LEVEL)
++if (FALSE)
+ set (CLANG_FORMAT_EXE_HINT "" CACHE PATH "clang-format executable's directory (will search if not specified")
+ set (CLANG_FORMAT_INCLUDES "src/*.h" "src/*.cpp"
+ CACHE STRING "Glob patterns to include for clang-format")
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/OpenImageIO.git/commitdiff/f42f60ac2c5d743e22d00359abcaa2b3a794a5a5
More information about the pld-cvs-commit
mailing list