Name: okular Version: 26.08.0 Release: 2%{?dist} Summary: Universal document viewer License: BSD-2-Clause AND CC0-1.0 AND GFDL-1.2-only AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND MIT URL: https://okular.kde.org Source0: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz BuildRequires: desktop-file-utils BuildRequires: extra-cmake-modules BuildRequires: kf6-rpm-macros BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: cmake(KF6Archive) BuildRequires: cmake(KF6Bookmarks) BuildRequires: cmake(KF6Completion) BuildRequires: cmake(KF6Config) BuildRequires: cmake(KF6ConfigWidgets) BuildRequires: cmake(KF6CoreAddons) BuildRequires: cmake(KF6I18n) BuildRequires: cmake(KF6KIO) BuildRequires: cmake(KF6ThreadWeaver) BuildRequires: cmake(KF6WindowSystem) BuildRequires: cmake(KF6XmlGui) BuildRequires: cmake(KF6IconThemes) BuildRequires: cmake(KF6Wallet) BuildRequires: cmake(KF6Parts) BuildRequires: cmake(KF6ColorScheme) BuildRequires: cmake(KF6Crash) BuildRequires: cmake(KF6TextWidgets) BuildRequires: cmake(KF6WidgetsAddons) BuildRequires: cmake(KF6Purpose) BuildRequires: cmake(Qt6Qml) BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Test) BuildRequires: cmake(Qt6Widgets) BuildRequires: cmake(Qt6PrintSupport) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6Xml) BuildRequires: cmake(Qt6DBus) BuildRequires: qt6-qtbase-private-devel BuildRequires: pkgconfig(zlib) BuildRequires: poppler-qt6-devel >= 24.08.0 BuildRequires: freetype-devel BuildRequires: libtiff-devel BuildRequires: libspectre-devel Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-part%{?_isa} = %{version}-%{release} %description Okular is KDE's universal document viewer. Full CMakeLists.txt read (everything is declared centrally at the top level -- confirmed via a full recursive grep across the entire source tree that generators/, core/, part/, shell/ contain zero additional find_package/ pkg_check_modules calls beyond that top-level file, an unusually clean layout compared to Dolphin/Ark). Okular's own build system defaults EVERY optional dependency to REQUIRED (fatal on missing) unless explicitly named in the -DFORCE_NOT_REQUIRED_DEPENDENCIES cache list, so real Azure Linux package availability was checked directly against a live mcr.microsoft.com/azurelinux-beta/base/core:4.0 container via tdnf search before deciding what to force down: poppler- qt6-devel, freetype-devel, libtiff-devel, and libspectre-devel are all real and confirmed available (kept REQUIRED, enabling the poppler, spectre/ghostview, tiff, kimgio, dvi, xps, fictionbook, comicbook, fax and txt generators); djvulibre, epub/ebook-tools, kexiv2, qmobipocket6, Qt6TextToSpeech, Phonon4Qt6 and discount/libmarkdown all confirmed absent (forced RECOMMENDED so CMake degrades gracefully instead of failing -- Okular loses DjVu, EPub, EXIF-rotation, Mobipocket, speech, inline audio/video and Markdown support only). KF6Wallet and KF6Purpose are both real KF6 frameworks already built earlier in this same COPR repo (password-protected-document wallet storage and the Discover-phase share-menu framework), so both were kept REQUIRED rather than forced down. Note the FORCE_NOT_REQUIRED_DEPENDENCIES entry must read "QMobiPocket6" (capital P) to match the exact string literal Okular's own CMakeLists.txt passes into set_okular_optional_package_properties() for that dependency, not the "QMobipocket6" spelling used in its own find_package() call -- an upstream case inconsistency, verified by reading both call sites. %package libs Summary: Runtime libraries for %{name} %description libs %{summary}. %package part Summary: Okular kpart plugin and format generators Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description part %{summary}. %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel %{summary}. %prep %autosetup -p1 %build %cmake_kf6 -DFORCE_NOT_REQUIRED_DEPENDENCIES="KF6DocTools;Qt6TextToSpeech;Phonon4Qt6;KExiv2Qt6;DjVuLibre;EPub;QMobiPocket6;Discount" %cmake_build_kf6 %install %cmake_install_kf6 %find_lang %{name} --with-html %files -f %{name}.lang %license LICENSES/* %doc README.md %{_kf6_bindir}/okular %{_datadir}/applications/org.kde.okular.desktop %{_kf6_metainfodir}/org.kde.okular.appdata.xml %{_datadir}/icons/hicolor/*/apps/okular.png %files libs %{_kf6_libdir}/libOkular6Core.so.4* %files part %{_kf6_plugindir}/parts/okularpart.so %dir %{_kf6_qtplugindir}/okular_generators/ %{_kf6_qtplugindir}/okular_generators/*.so %{_kf6_datadir}/qlogging-categories6/okular.categories %{_kf6_datadir}/config.kcfg/okular.kcfg %{_kf6_datadir}/config.kcfg/okular_core.kcfg %{_kf6_datadir}/config.kcfg/pdfsettings.kcfg %{_kf6_datadir}/config.kcfg/gssettings.kcfg %{_kf6_datadir}/okular/ %{_datadir}/applications/okularApplication_*.desktop %{_kf6_metainfodir}/org.kde.okular-*.metainfo.xml %{_datadir}/locale/*/LC_MESSAGES/okular_*.mo %{_datadir}/locale/*/LC_MESSAGES/org.kde.active.documentviewer.mo %files devel %{_includedir}/okular/ %{_kf6_libdir}/libOkular6Core.so %{_kf6_libdir}/cmake/Okular6/ %changelog * Sun Aug 30 2026 Smech - 26.08.0-2 - R1 compiled cleanly -- every FORCE_NOT_REQUIRED_DEPENDENCIES entry degraded gracefully exactly as intended (confirmed via the "Could NOT find" lines being plain non-fatal notices, not CMake errors). Real gaps were all per-generator files never claimed: each of the 10 enabled generators ships its own okularApplication_.desktop direct-launch entry, its own org.kde.okular-.metainfo.xml, and its own okular_.mo translation domain (plus djvu/epub/mobi/ markdown .mo files that install unconditionally from po/ even though those generators themselves are disabled -- ki18n_install(po) doesn't filter by which C++ generator actually compiled). None of these were caught by %%find_lang %{name} since they're separate translation domains, same class of issue as Kate's plugins.lang split earlier this phase. Added broad globs for all three categories to %%files part. * Sun Aug 30 2026 Smech - 26.08.0-1 - Real upstream source. Confirmed real Azure Linux package availability for every optional dependency directly against a live container before deciding the FORCE_NOT_REQUIRED_DEPENDENCIES list (see %%description for the exact breakdown), rather than guessing. %%files built entirely from real install() calls across the top-level CMakeLists.txt (which, unusually for this build's KDE Applications-suite packages so far, contains literally everything -- core/, part/, interfaces/ headers are all installed from there, not from subdirectory CMakeLists.txt files). Used the proven %{_kf6_plugindir}/parts/ path (no double-kf6 mistake this time, learned from Ark R1) for okularpart.so, and a broad glob for the ten enabled format-generator plugins and the sizeable part/data/ icon-pack tree rather than an exhaustive per-file list.