2 # - Nuke >= 7.0? https://www.foundry.com/products/nuke/ (proprietary)
3 # - R3DSDK? https://www.red.com/downloads/r3d-sdk (proprietary)
5 # /usr/share/fonts/OpenImageIO/DroidSans-Bold.ttf
6 # /usr/share/fonts/OpenImageIO/DroidSans.ttf
7 # /usr/share/fonts/OpenImageIO/DroidSansMono.ttf
8 # /usr/share/fonts/OpenImageIO/DroidSerif-Bold.ttf
9 # /usr/share/fonts/OpenImageIO/DroidSerif-BoldItalic.ttf
10 # /usr/share/fonts/OpenImageIO/DroidSerif-Italic.ttf
11 # /usr/share/fonts/OpenImageIO/DroidSerif.ttf
13 # to bootstrap: build OpenColorIO --without oiio, build OpenImageIO, rebuild OpenColorIO
16 %bcond_without ocio # OpenColorIO support in library
17 %bcond_without opencv # OpenCV support in library
18 %bcond_without openvdb # OpenVDB plugin
19 %bcond_with qt6 # Qt6 instead of Qt5
20 %bcond_without tbb # Threading Building Blocks
23 # https://github.com/OpenImageIO/oiio/issues/583
26 %ifnarch %{ix86} %{x8664} %{arm} aarch64 ia64 ppc ppc64
30 %undefine with_openvdb
33 Summary: Library for reading and writing images
34 Summary(pl.UTF-8): Biblioteka do odczytu i zapisu obrazów
40 #Source0Download: https://github.com/OpenImageIO/oiio/releases
41 Source0: https://github.com/OpenImageIO/oiio/archive/v%{version}/%{name}-%{version}.tar.gz
42 # Source0-md5: cc0e320302622783dfe16ac6ae1946b3
43 Patch2: %{name}-system-libcineon.patch
44 Patch3: no-clang-format.patch
45 URL: https://github.com/OpenImageIO/oiio
46 BuildRequires: Imath-devel >= 3.0.0
47 %{?with_ocio:BuildRequires: OpenColorIO-devel}
48 BuildRequires: OpenEXR-devel >= 3.0.0
49 BuildRequires: OpenGL-devel
51 BuildRequires: Qt6Core-devel >= 6
52 BuildRequires: Qt6Gui-devel >= 6
53 BuildRequires: Qt6OpenGLWidgets-devel >= 6
54 BuildRequires: Qt6Widgets-devel >= 6
56 BuildRequires: Qt5Core-devel >= 5.6
57 BuildRequires: Qt5Gui-devel >= 5.6
58 BuildRequires: Qt5OpenGL-devel >= 5.6
59 BuildRequires: Qt5Widgets-devel >= 5.6
61 # filesystem, regex, system, thread
62 BuildRequires: boost-devel >= 1.66
63 BuildRequires: boost-python3-devel >= 1.66
64 BuildRequires: bzip2-devel
65 BuildRequires: cmake >= 3.12
66 BuildRequires: dcmtk-devel >= 3.6.1
67 BuildRequires: ffmpeg-devel >= 3.0
68 BuildRequires: freetype-devel >= 2.0
69 BuildRequires: giflib-devel >= 5.0
70 BuildRequires: glew-devel >= 1.5.1
71 BuildRequires: hdf5-devel
72 BuildRequires: jasper-devel
73 BuildRequires: libcineon-devel
74 BuildRequires: libfmt-devel >= 9.0
75 BuildRequires: libheif-devel >= 1.13
76 BuildRequires: libjpeg-devel
77 BuildRequires: libpng-devel
78 BuildRequires: libraw-devel >= 0.18
79 BuildRequires: libstdc++-devel >= 6:4.7
80 BuildRequires: libtiff-devel >= 4.0
81 BuildRequires: libwebp-devel
82 %{?with_opencv:BuildRequires: opencv-devel >= 3.0}
83 BuildRequires: openjpeg2-devel >= 2.4
84 %{?with_openvdb:BuildRequires: openvdb-devel >= 5.0}
85 BuildRequires: ptex-devel >= 2.1
86 BuildRequires: pugixml-devel >= 1.8
87 BuildRequires: python3-devel >= 1:2.7
88 BuildRequires: python3-pybind11 >= 2.2.0
89 BuildRequires: robin-map-devel >= 0.6.2
90 BuildRequires: rpm-build >= 4.6
91 BuildRequires: rpmbuild(macros) >= 1.605
92 BuildRequires: squish-devel >= 1.10
93 %{?with_tbb:BuildRequires: tbb-devel >= 2018}
94 BuildRequires: txt2man
95 BuildRequires: zlib-devel
96 Requires: OpenEXR >= 3.0.0
97 Obsoletes: OpenImageIO-plugin-field3d < 2.4
98 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
101 OpenImageIO is a library for reading and writing images, and a bunch
102 of related classes, utilities, and applications. It has extremely
103 simple but powerful ImageInput and ImageOutput APIs for reading and
104 writing 2D images that is format agnostic; specific formats are
105 implemented by DLL/DSO plugins.
107 Currently there are format plugins for: TIFF, JPEG/JFIF, OpenEXR, PNG,
108 HDR/RGBE, Targa, JPEG-2000, DPX, Cineon, FITS, BMP, ICO, RMan Zfile,
109 Softimage PIC, DDS, SGI, PNM/PPM/PGM/PBM, OpenVDB, WebP.
111 %description -l pl.UTF-8
112 OpenImageIO to biblioteka do odczytu i zapisu obrazów oraz wiele
113 powiązanych klas, narzędzi i aplikacji. Ma bardzo proste, ale mające
114 wiele możliwości API ImageInput i ImageOutput służące do odczytu i
115 zapisu obrazów 2D, które jest niezależne od formatu; konkretne formaty
116 są implementowane przez wtyczki DLL/DSO.
118 Obecnie istnieją wtyczki obsługujące formaty: TIFF, JPEG/JFIF,
119 OpenEXR, PNG, HDR/RGBE, Targa, JPEG-2000, DPX, Cineon, FITS, BMP, ICO,
120 RMan Zfile, Softimage PIC, DDS, SGI, PNM/PPM/PGM/PBM, OpenVDB, WebP.
123 Summary: Header files for OpenImageIO library
124 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki OpenImageIO
125 Group: Development/Libraries
126 Requires: %{name} = %{version}-%{release}
127 Requires: libfmt-devel >= 9.0
128 Requires: libstdc++-devel >= 6:4.7
129 Obsoletes: OpenImageIO-apidocs < 2.3
132 Header files for OpenImageIO library.
134 %description devel -l pl.UTF-8
135 Pliki nagłówkowe biblioteki OpenImageIO.
137 %package plugin-cineon
138 Summary: Cineon plugin for OpenImageIO library
139 Summary(pl.UTF-8): Wtyczka Cineon dla biblioteki OpenImageIO
141 Requires: %{name} = %{version}-%{release}
143 %description plugin-cineon
144 OpenImageIO plugin to read Cineon files.
146 %description plugin-cineon -l pl.UTF-8
147 Wtyczka biblioteki OpenImageIO czytająca pliki Cineon.
149 %package plugin-dicom
150 Summary: DICOM plugin for OpenImageIO library
151 Summary(pl.UTF-8): Wtyczka DICOM dla biblioteki OpenImageIO
153 Requires: %{name} = %{version}-%{release}
154 Requires: dcmtk >= 3.6.1
155 Requires: squish >= 1.10
157 %description plugin-dicom
158 OpenImageIO plugin to read DICOM files.
160 %description plugin-dicom -l pl.UTF-8
161 Wtyczka biblioteki OpenImageIO czytająca pliki DICOM.
164 Summary: DDS plugin for OpenImageIO library
165 Summary(pl.UTF-8): Wtyczka DDS dla biblioteki OpenImageIO
167 Requires: %{name} = %{version}-%{release}
168 Requires: squish >= 1.10
170 %description plugin-dds
171 OpenImageIO plugin to read DDS files.
173 %description plugin-dds -l pl.UTF-8
174 Wtyczka biblioteki OpenImageIO czytająca pliki DDS.
177 Summary: DPX plugin for OpenImageIO library
178 Summary(pl.UTF-8): Wtyczka DPX dla biblioteki OpenImageIO
180 Requires: %{name} = %{version}-%{release}
182 %description plugin-dpx
183 OpenImageIO plugin to read and write DPX files.
185 %description plugin-dpx -l pl.UTF-8
186 Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki DPX.
188 %package plugin-ffmpeg
189 Summary: FFmpeg plugin for OpenImageIO library
190 Summary(pl.UTF-8): Wtyczka FFmpeg dla biblioteki OpenImageIO
192 Requires: %{name} = %{version}-%{release}
193 Requires: ffmpeg-libs >= 3.0
195 %description plugin-ffmpeg
196 OpenImageIO plugin to read FFmpeg files.
198 %description plugin-ffmpeg -l pl.UTF-8
199 Wtyczka biblioteki OpenImageIO czytająca pliki FFmpeg.
202 Summary: Gif plugin for OpenImageIO library
203 Summary(pl.UTF-8): Wtyczka Gif dla biblioteki OpenImageIO
205 Requires: %{name} = %{version}-%{release}
206 Requires: giflib >= 5.0
208 %description plugin-gif
209 OpenImageIO plugin to read GIF files.
211 %description plugin-gif -l pl.UTF-8
212 Wtyczka biblioteki OpenImageIO czytająca pliki GIF.
215 Summary: HEIF plugin for OpenImageIO library
216 Summary(pl.UTF-8): Wtyczka HEIF dla biblioteki OpenImageIO
218 Requires: %{name} = %{version}-%{release}
219 Requires: libheif >= 1.13
221 %description plugin-heif
222 OpenImageIO plugin to read HEIF files.
224 %description plugin-heif -l pl.UTF-8
225 Wtyczka biblioteki OpenImageIO czytająca pliki HEIF.
228 Summary: ICO plugin for OpenImageIO library
229 Summary(pl.UTF-8): Wtyczka ICO dla biblioteki OpenImageIO
231 Requires: %{name} = %{version}-%{release}
233 %description plugin-ico
234 OpenImageIO plugin to read and write ICO files.
236 %description plugin-ico -l pl.UTF-8
237 Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki ICO.
240 Summary: JPEG plugin for OpenImageIO library
241 Summary(pl.UTF-8): Wtyczka JPEG dla biblioteki OpenImageIO
243 Requires: %{name} = %{version}-%{release}
245 %description plugin-jpeg
246 OpenImageIO plugin to read and write JPEG files (with TIFF/EXIF
249 %description plugin-jpeg -l pl.UTF-8
250 Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki JPEG (wraz
251 z informacjami TIFF/EXIF).
253 %package plugin-jpeg2000
254 Summary: JPEG2000 plugin for OpenImageIO library
255 Summary(pl.UTF-8): Wtyczka JPEG2000 dla biblioteki OpenImageIO
257 Requires: %{name} = %{version}-%{release}
259 %description plugin-jpeg2000
260 OpenImageIO plugin to read and write JPEG2000 files.
262 %description plugin-jpeg2000 -l pl.UTF-8
263 Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki JPEG2000.
265 %package plugin-openexr
266 Summary: OpenEXR plugin for OpenImageIO library
267 Summary(pl.UTF-8): Wtyczka OpenEXR dla biblioteki OpenImageIO
269 Requires: %{name} = %{version}-%{release}
270 Requires: OpenEXR >= 2.0
272 %description plugin-openexr
273 OpenImageIO plugin to read and write OpenEXR files.
275 %description plugin-openexr -l pl.UTF-8
276 Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki OpenEXR.
278 %package plugin-openvdb
279 Summary: OpenVDB plugin for OpenImageIO library
280 Summary(pl.UTF-8): Wtyczka OpenVDB dla biblioteki OpenImageIO
282 Requires: %{name} = %{version}-%{release}
283 Requires: openvdb >= 5.0
285 %description plugin-openvdb
286 OpenImageIO plugin to read OpenVDB files.
288 %description plugin-openvdb -l pl.UTF-8
289 Wtyczka biblioteki OpenImageIO czytająca pliki OpenVDB.
292 Summary: PNG plugin for OpenImageIO library
293 Summary(pl.UTF-8): Wtyczka PNG dla biblioteki OpenImageIO
295 Requires: %{name} = %{version}-%{release}
297 %description plugin-png
298 OpenImageIO plugin to read and write PNG files.
300 %description plugin-png -l pl.UTF-8
301 Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki PNG.
304 Summary: PSD plugin for OpenImageIO library
305 Summary(pl.UTF-8): Wtyczka PSD dla biblioteki OpenImageIO
307 Requires: %{name} = %{version}-%{release}
309 %description plugin-psd
310 OpenImageIO plugin to read and write PSD files.
312 %description plugin-psd -l pl.UTF-8
313 Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki PSD.
316 Summary: Ptex plugin for OpenImageIO library
317 Summary(pl.UTF-8): Wtyczka Ptex dla biblioteki OpenImageIO
319 Requires: %{name} = %{version}-%{release}
322 %description plugin-ptex
323 OpenImageIO plugin to read Ptex files.
325 %description plugin-ptex -l pl.UTF-8
326 Wtyczka biblioteki OpenImageIO czytająca pliki Ptex.
329 Summary: RAW plugin for OpenImageIO library
330 Summary(pl.UTF-8): Wtyczka RAW dla biblioteki OpenImageIO
332 Requires: %{name} = %{version}-%{release}
333 Requires: libraw >= 0.18
335 %description plugin-raw
336 OpenImageIO plugin to readTRAW files.
338 %description plugin-raw -l pl.UTF-8
339 Wtyczka biblioteki OpenImageIO czytająca pliki RAW.
342 Summary: WebP plugin for OpenImageIO library
343 Summary(pl.UTF-8): Wtyczka WebP dla biblioteki OpenImageIO
345 Requires: %{name} = %{version}-%{release}
347 %description plugin-webp
348 OpenImageIO plugin to read and write WebP files.
350 %description plugin-webp -l pl.UTF-8
351 Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki WebP.
354 Summary: TIFF plugin for OpenImageIO library
355 Summary(pl.UTF-8): Wtyczka TIFF dla biblioteki OpenImageIO
357 Requires: %{name} = %{version}-%{release}
358 Requires: libtiff >= 4.0
360 %description plugin-tiff
361 OpenImageIO plugin to read and write TIFF files.
363 %description plugin-tiff -l pl.UTF-8
364 Wtyczka biblioteki OpenImageIO czytająca i zapisująca pliki TIFF.
367 Summary: Qt/OpenImageIO-based Image Viewer
368 Summary(pl.UTF-8): Przeglądarka obrazków (IV) oparta o Qt i OpenImageIO
369 Group: X11/Applications/Graphics
370 Requires: %{name} = %{version}-%{release}
371 Requires: Qt5Core >= 5.6
372 Requires: Qt5Gui >= 5.6
373 Requires: Qt5OpenGL >= 5.6
374 Requires: Qt5Widgets >= 5.6
375 Requires: glew >= 1.5.1
378 IV is an image viewer based on ImageIO plugins; therefore it can read
379 images of any format for which an appropriate plugin may be found.
381 %description iv -l pl.UTF-8
382 IV to przeglądarka obrazków oparta na wtyczkach ImageIO; dzięki temu
383 jest w stanie odczytać obrazy w dowolnym formacie, dla którego
384 istnieje właściwa wtyczka.
386 %package -n python3-OpenImageIO
387 Summary: Python binding for OpenImageIO library
388 Summary(pl.UTF-8): Wiązanie Pythona do biblioteki OpenImageIO
389 Group: Libraries/Python
390 Requires: %{name} = %{version}-%{release}
391 Obsoletes: python-OpenImageIO < 2.3.12.0-3
393 %description -n python3-OpenImageIO
394 Python binding for OpenImageIO library.
396 %description -n python3-OpenImageIO -l pl.UTF-8
397 Wiązanie Pythona do biblioteki OpenImageIO.
400 %setup -q -n oiio-%{version}
408 -DCMAKE_INSTALL_MANDIR=%{_mandir}/man1 \
410 -DINCLUDE_INSTALL_DIR=%{_includedir}/%{name} \
411 -DINTERNALIZE_FMT=OFF \
412 -DLIB_INSTALL_DIR:PATH=%{_libdir} \
413 -DBUILD_TESTING=OFF \
417 -DPYTHON_VERSION=%{py3_ver} \
418 -DUSE_EXTERNAL_PUGIXML=ON \
419 -DSTOP_ON_WARNING=OFF \
420 %{!?with_ocio:-DUSE_OCIO=OFF} \
421 %{!?with_opencv:-DUSE_OPENCV=OFF} \
422 %{!?with_qt6:-DUSE_QT6=OFF} \
423 %{!?with_tbb:-DUSE_TBB=OFF}
428 rm -rf $RPM_BUILD_ROOT
430 %{__make} -C build install \
431 DESTDIR=$RPM_BUILD_ROOT
434 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{iv,oiiv}
435 %{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/{iv,oiiv}.1
438 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}
441 rm -rf $RPM_BUILD_ROOT
443 %post -p /sbin/ldconfig
444 %postun -p /sbin/ldconfig
447 %defattr(644,root,root,755)
448 %doc CHANGES.md CREDITS.md GOVERNANCE.md LICENSE-BSD.md README.md RELICENSING.md
449 %attr(755,root,root) %{_bindir}/iconvert
450 %attr(755,root,root) %{_bindir}/idiff
451 %attr(755,root,root) %{_bindir}/igrep
452 %attr(755,root,root) %{_bindir}/iinfo
453 %attr(755,root,root) %{_bindir}/maketx
454 %attr(755,root,root) %{_bindir}/oiiotool
455 %attr(755,root,root) %{_libdir}/libOpenImageIO.so.*.*.*
456 %attr(755,root,root) %ghost %{_libdir}/libOpenImageIO.so.2.4
457 %attr(755,root,root) %{_libdir}/libOpenImageIO_Util.so.*.*.*
458 %attr(755,root,root) %ghost %{_libdir}/libOpenImageIO_Util.so.2.4
459 %attr(755,root,root) %{_libdir}/bmp.imageio.so
460 %attr(755,root,root) %{_libdir}/fits.imageio.so
461 %attr(755,root,root) %{_libdir}/hdr.imageio.so
462 %attr(755,root,root) %{_libdir}/iff.imageio.so
463 %attr(755,root,root) %{_libdir}/pnm.imageio.so
464 %attr(755,root,root) %{_libdir}/rla.imageio.so
465 %attr(755,root,root) %{_libdir}/sgi.imageio.so
466 %attr(755,root,root) %{_libdir}/softimage.imageio.so
467 %attr(755,root,root) %{_libdir}/targa.imageio.so
468 %attr(755,root,root) %{_libdir}/zfile.imageio.so
469 %attr(755,root,root) %{_libdir}/null.imageio.so
470 %attr(755,root,root) %{_libdir}/term.imageio.so
471 %{_mandir}/man1/iconvert.1*
472 %{_mandir}/man1/idiff.1*
473 %{_mandir}/man1/igrep.1*
474 %{_mandir}/man1/iinfo.1*
475 %{_mandir}/man1/maketx.1*
476 %{_mandir}/man1/oiiotool.1*
479 %defattr(644,root,root,755)
480 %attr(755,root,root) %{_libdir}/libOpenImageIO.so
481 %attr(755,root,root) %{_libdir}/libOpenImageIO_Util.so
482 %{_includedir}/OpenImageIO
483 %{_pkgconfigdir}/OpenImageIO.pc
484 %{_libdir}/cmake/OpenImageIO
487 %defattr(644,root,root,755)
488 %attr(755,root,root) %{_libdir}/cineon.imageio.so
491 %defattr(644,root,root,755)
492 %attr(755,root,root) %{_libdir}/dicom.imageio.so
495 %defattr(644,root,root,755)
496 %attr(755,root,root) %{_libdir}/dds.imageio.so
499 %defattr(644,root,root,755)
500 %attr(755,root,root) %{_libdir}/dpx.imageio.so
503 %defattr(644,root,root,755)
504 %attr(755,root,root) %{_libdir}/ffmpeg.imageio.so
507 %defattr(644,root,root,755)
508 %attr(755,root,root) %{_libdir}/gif.imageio.so
511 %defattr(644,root,root,755)
512 %attr(755,root,root) %{_libdir}/heif.imageio.so
515 %defattr(644,root,root,755)
516 %attr(755,root,root) %{_libdir}/ico.imageio.so
519 %defattr(644,root,root,755)
520 %attr(755,root,root) %{_libdir}/jpeg.imageio.so
522 %files plugin-jpeg2000
523 %defattr(644,root,root,755)
524 %attr(755,root,root) %{_libdir}/jpeg2000.imageio.so
526 %files plugin-openexr
527 %defattr(644,root,root,755)
528 %attr(755,root,root) %{_libdir}/openexr.imageio.so
531 %files plugin-openvdb
532 %defattr(644,root,root,755)
533 %attr(755,root,root) %{_libdir}/openvdb.imageio.so
537 %defattr(644,root,root,755)
538 %attr(755,root,root) %{_libdir}/png.imageio.so
541 %defattr(644,root,root,755)
542 %attr(755,root,root) %{_libdir}/psd.imageio.so
545 %defattr(644,root,root,755)
546 %attr(755,root,root) %{_libdir}/ptex.imageio.so
549 %defattr(644,root,root,755)
550 %attr(755,root,root) %{_libdir}/raw.imageio.so
553 %defattr(644,root,root,755)
554 %attr(755,root,root) %{_libdir}/tiff.imageio.so
557 %defattr(644,root,root,755)
558 %attr(755,root,root) %{_libdir}/webp.imageio.so
561 %defattr(644,root,root,755)
562 %attr(755,root,root) %{_bindir}/oiiv
563 %{_mandir}/man1/oiiv.1*
565 %files -n python3-OpenImageIO
566 %defattr(644,root,root,755)
567 %dir %{py3_sitedir}/OpenImageIO
568 %attr(755,root,root) %{py3_sitedir}/OpenImageIO/OpenImageIO*.so
569 %{py3_sitedir}/OpenImageIO/__init__.py