Name: openrv Version: 2.2.0 Release: %autorelease -b 8 Summary: Image and sequence viewer for Artists. License: Apache-2.0 URL: https://github.com/AcademySoftwareFoundation/OpenRV Provides: OpenRV%{?_isa} = %{version}-%{release} # Switch to fedora's provided ffmpeg # instead of rpmfusion package. %bcond freeffmpeg 1 # TEST: Enable Qt6 Build %bcond qt6 0 Source0: %{url}/archive/refs/heads/%{expr:%{with qt6}?"feature/qt6":"main"}.tar.gz Source1: https://github.com/shotgunsoftware/openrv-pub/archive/%{expr:%{with qt6}?"3376b1c5271cd05cca4e68612a6d956744d8a78e":"0d2e13fc11a350e33b58a161066e5d47129639d2"}.tar.gz Source2: https://github.com/shotgunsoftware/openrv-WFObj/archive/23568ad5a33b89d36703f6814e56e74b042ddfdf.tar.gz Source3: org.aswf.openrv.desktop Source4: %{name}-pub.patch %if %{with qt6} Patch: %{name}-dependencies-qt6.patch Patch: %{name}-qt6-fixes.patch %else Patch: %{name}-dependencies.patch %endif Patch: %{name}-repath.patch Patch: %{name}-output.patch Patch: %{name}-minizip.patch Patch: %{name}-oiio25.patch Patch: %{name}-private-libtiff.patch Patch: %{name}-parser-deprecated.patch BuildRequires: cmake >= 3.27 BuildRequires: ninja-build BuildRequires: desktop-file-utils BuildRequires: python3 BuildRequires: python3-devel BuildRequires: boost-devel BuildRequires: openssl-devel BuildRequires: xcb-util %if %{with qt6} BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtbase-private-devel BuildRequires: qt6-qtwebengine-devel BuildRequires: qt6-qtsvg-devel BuildRequires: pkgconfig(Qt6UiTools) BuildRequires: qt6-qt5compat-devel BuildRequires: qt6-qtmultimedia-devel %else BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtwebengine-devel BuildRequires: qt5-qtsvg-devel BuildRequires: qt5-qtxmlpatterns-devel BuildRequires: qt5-qtx11extras-devel BuildRequires: qt5-qtmultimedia-devel BuildRequires: pkgconfig(Qt5UiTools) BuildRequires: qt5-qtwayland-devel %endif BuildRequires: cmake(OpenColorIO) BuildRequires: cmake(OpenImageIO) BuildRequires: freetype-devel BuildRequires: flex BuildRequires: bison BuildRequires: mesa-libOSMesa-devel BuildRequires: mesa-libGLU-devel BuildRequires: imath-devel BuildRequires: ffmpeg%{expr:%{with freeffmpeg}?"-free":""}-devel BuildRequires: glew-devel BuildRequires: libjpeg-turbo-devel BuildRequires: openjpeg-devel BuildRequires: libtiff-devel BuildRequires: spdlog-devel BuildRequires: dav1d BuildRequires: yaml-cpp-devel BuildRequires: zlib-devel BuildRequires: gc-devel BuildRequires: libaio-devel BuildRequires: LibRaw-devel BuildRequires: fmt BuildRequires: fmt-devel BuildRequires: alsa-lib-devel BuildRequires: readline-devel BuildRequires: doctest-devel BuildRequires: avahi-compat-libdns_sd-devel BuildRequires: ImageMagick BuildRequires: cups-devel BuildRequires: font(fontawesome) # BuildRequires: libajantv2-devel # BuildRequires: mbedtls-devel # Pub BuildRequires: libexif-devel BuildRequires: lcms-devel BuildRequires: minizip-ng-compat-devel BuildRequires: libmp4v2-devel BuildRequires: libresample-devel BuildRequires: ftgl-devel BuildRequires: eigen3-devel BuildRequires: libyaml-devel # TODO Bundled Provides Requires: hicolor-icon-theme Requires: font(fontawesome) %description Open RV is an image and sequence viewer for VFX and animation artists. Open RV is high-performant, hardware accelerated, and pipeline-friendly. %prep %autosetup -p1 -n OpenRV-%{expr:%{with qt6}?"feature-qt6":"main"} # Place Submodules and patch tar -xzf %{SOURCE1} --strip-components=1 -C src/pub tar -xzf %{SOURCE2} --strip-components=1 -C src/lib/files/WFObj patch -p1 < %{SOURCE4} sed -i '7d' \ cmake/globals/rv_globals.cmake # Git dependency sed -i 's|${RV_STAGE_PLUGINS_DIR}/Qt|%{_libdir}/%{expr:%{with qt6}?"qt6":"qt5"}/plugins|g' \ cmake/globals/rv_globals.cmake sed -i 's|${RV_STAGE_PLUGINS_DIR}/Python|${RV_STAGE_LIB_DIR}/python%{python3_version}/site-packages/%{name}|g' \ cmake/globals/rv_globals.cmake sed -i 's/HAVE_MREMAP 1/HAVE_MREMAP 0/g' \ src/pub/nedmalloc/malloc.c.h sed -i 's/char\* tagList = \&/char\* tagList = \(char\*\)\&/g' \ src/pub/FTGL/FTVectoriser.cpp %if 0%{?fedora} >= 41 sed -i 's/"CY2023"/"CY2024"/' \ cmake/defaults/rv_options.cmake %endif # Unbundle fontawesome rm -rvf src/lib/app/RvCommon/qrc/fonts/* ln -s %{_datadir}/fonts/fontawesome/fontawesome-webfont.ttf \ src/lib/app/RvCommon/qrc/fonts/fontawesome-webfont.ttf %py3_shebang_fix . %build export QT_QPA_PLATFORM=wayland \ %cmake -G Ninja -DCMAKE_POLICY_DEFAULT_CMP0167=NEW %cmake_build %install %cmake_install \ --prefix %{buildroot}/usr mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps magick %{buildroot}/usr/resources/RV.ico \ %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png # Only contains unused icon rm -r %{buildroot}/usr/resources rm %{buildroot}%{_bindir}/qt.conf \ %{buildroot}%{_bindir}/rv.install_* desktop-file-install \ --dir=%{buildroot}%{_datadir}/applications \ %{SOURCE3} %check # Some tests fail atm, skip error. export LD_LIBRARY_PATH=%{buildroot}%{_libdir} \ %ctest --verbose || exit 0 desktop-file-validate %{buildroot}%{_datadir}/applications/org.aswf.openrv.desktop %files %doc README.md %license LICENSE %{_bindir}/gto{filter,image,info,merge} %{_bindir}/make{FBIOformats,MovieIOformats} %{_bindir}/mu-interp %{_bindir}/rmsImageDiff %{_bindir}/rv %{_bindir}/rv{io,io_sw,ls,pkg,prof,push,shell} %{_libdir}/%{name} %{python3_sitearch}/%{name} %{_libdir}/libALSA{Audio,SafeAudio}Module.so %{_libdir}/libTwk{Audio,Exc,FB,FBAux,Movie,Util}.so %{_libdir}/libcv.so %{_libdir}/libcxcore.so %{_libdir}/libnedmalloc.so %{_libdir}/libstl_ext.so %{_datadir}/applications/org.aswf.openrv.desktop %{_datadir}/icons/hicolor/*/apps/%{name}.png %{_datadir}/%{name} %changelog %autochangelog