-#
-# TODO: files (docs and some translations)
+# TODO:
+# - OpenSceneGraph support (WANT_NOOSG to disable)
+# - system hyphen
+# - more system libs, see scribus/third_party (e.g. libwpg)
#
# Conditional build:
-%bcond_without cairo # build with cairo support
-%bcond_without cups # build without CUPS support
+%bcond_without cups # CUPS support
#
+%define qt_ver 5.7.0
Summary: Scribus - Open Source Desktop Publishing
Summary(pl.UTF-8): Scribus - DTP dla Wolnego Oprogramowania
Name: scribus
Patch7: gcc10.patch
URL: http://www.scribus.net/
BuildRequires: GraphicsMagick-devel
-BuildRequires: Qt5Core-devel
-BuildRequires: Qt5Gui-devel
-BuildRequires: Qt5Network-devel
-BuildRequires: Qt5OpenGL-devel
-BuildRequires: Qt5PrintSupport-devel
-BuildRequires: Qt5Widgets-devel
-BuildRequires: Qt5Xml-devel
-%{?with_cairo:BuildRequires: cairo-devel >= 1.2.0}
-BuildRequires: cmake >= 2.4.5
+BuildRequires: Qt5Core-devel >= %{qt_ver}
+BuildRequires: Qt5Gui-devel >= %{qt_ver}
+BuildRequires: Qt5Network-devel >= %{qt_ver}
+BuildRequires: Qt5OpenGL-devel >= %{qt_ver}
+BuildRequires: Qt5PrintSupport-devel >= %{qt_ver}
+BuildRequires: Qt5Widgets-devel >= %{qt_ver}
+BuildRequires: Qt5Xml-devel >= %{qt_ver}
+BuildRequires: boost-devel
+BuildRequires: cairo-devel >= 1.2.0
+BuildRequires: cmake >= 3.2.0
%if %{with cups}
BuildRequires: cups-devel
%else
%endif
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel >= 2.1.0
-BuildRequires: harfbuzz-devel
+BuildRequires: harfbuzz-devel >= 0.9.42
BuildRequires: harfbuzz-icu-devel
BuildRequires: hunspell-devel
-BuildRequires: lcms-devel >= 1.09
-%{!?with_cairo:BuildRequires: libart_lgpl-devel >= 2.3.14}
-BuildRequires: libcdr-devel
-BuildRequires: libfreehand-devel
+# missing find_package(HYPHEN); bundled version is used
+#BuildRequires: hyphen-devel
+BuildRequires: lcms2-devel >= 2
+BuildRequires: libcdr-devel >= 0.1
+BuildRequires: libfreehand-devel >= 0.1
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel
-BuildRequires: libmspub-devel
+BuildRequires: libmspub-devel >= 0.1
BuildRequires: libpagemaker-devel
-BuildRequires: libpng-devel
+# disabled in 1.5.5
+#BuildRequires: libpng-devel
BuildRequires: libqxp-devel
BuildRequires: librevenge-devel
+BuildRequires: libstdc++-devel >= 6:4.7
BuildRequires: libtiff-devel
-BuildRequires: libvisio-devel
-BuildRequires: libxml2-devel
+BuildRequires: libvisio-devel >= 0.1
+BuildRequires: libxml2-devel >= 2
BuildRequires: libzmf-devel
BuildRequires: openssl-devel
BuildRequires: pkgconfig
BuildRequires: podofo-devel
-BuildRequires: poppler-cpp-devel
-BuildRequires: poppler-devel
-BuildRequires: python-devel
-BuildRequires: python-modules
-BuildRequires: qt5-build
-BuildRequires: qt5-linguist
-BuildRequires: qt5-qmake
+BuildRequires: poppler-cpp-devel >= 0.58.0
+BuildRequires: poppler-devel >= 0.58.0
+BuildRequires: python-devel >= 2
+BuildRequires: python-modules >= 2
+BuildRequires: qt5-build >= %{qt_ver}
+BuildRequires: qt5-linguist >= %{qt_ver}
+BuildRequires: qt5-qmake >= %{qt_ver}
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.577
BuildRequires: sed >= 4.0
BuildRequires: zlib-devel
-Requires: desktop-file-utils
+Requires(post,postun): desktop-file-utils
+Requires(post,postun): gtk-update-icon-cache
+Requires: Qt5Core >= %{qt_ver}
+Requires: Qt5Gui >= %{qt_ver}
+Requires: Qt5Network >= %{qt_ver}
+Requires: Qt5OpenGL >= %{qt_ver}
+Requires: Qt5PrintSupport >= %{qt_ver}
+Requires: Qt5Widgets >= %{qt_ver}
+Requires: Qt5Xml >= %{qt_ver}
+Requires: harfbuzz >= 0.9.42
+Requires: hicolor-icon-theme
Requires: python-PIL
Requires: python-tkinter
Requires: shared-mime-info
%package docs
Summary: Documentation for Scribus
Summary(pl.UTF-8): Dokumentacja dla Scribusa
-License: custom OPL (see License),FDL
+License: custom OPL (see License), FDL
Group: X11/Applications/Publishing
%description docs
cd build
%cmake .. \
- -DASPELL_EXECUTABLE=%{_bindir}/aspell \
- -DWANT_GRAPHICSMAGICK:BOOL=ON \
-%if %{with cairo}
- -DWANT_CAIRO=1
-%else
- -DWANT_LIBART=1
-%endif
+ -DWANT_GRAPHICSMAGICK:BOOL=ON
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
-%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.lt_LT.qm $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.lt.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{cs_CZ,cs}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{da_DK,da}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{es_ES,es}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{fa_IR,fa}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{he_IL,he}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{hi_IN,hi}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{hr_HR,hr}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{kn_IN,kn}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{lt_LT,lt}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{mn_MN,mn}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{nb_NO,nb}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{pl_PL,pl}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{pt_PT,pt}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{sk_SK,sk}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.{th_TH,th}.qm
+
+echo '%%defattr(644,root,root,755)' >%{name}.lang
+for f in $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.*.qm ; do
+ bn="$(basename $f .qm)"
+ lang="${bn#%{name}.}"
+ echo "%%lang(${lang}) $f" >>%{name}.lang
+done
%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/doc/{AUTHORS,COPYING,ChangeLog,README,LINKS,TRANSLATION}
%post
%update_desktop_database_post
%update_mime_database
+%update_icon_cache hicolor
%postun
%update_desktop_database_postun
%update_mime_database
+%update_icon_cache hicolor
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README
+# COPYING contains many additional notes
+%doc AUTHORS COPYING ChangeLog NEWS README TODO
%attr(755,root,root) %{_bindir}/scribus
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/scribus.css
%dir %{_libdir}/%{name}/plugins/gettext
%attr(755,root,root) %{_libdir}/%{name}/plugins/gettext/*.so*
%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/dtd
%{_datadir}/%{name}/dicts
%{_datadir}/%{name}/editorconfig
-%{_datadir}/%{name}/keysets
-%dir %{_datadir}/%{name}/profiles
-%dir %{_datadir}/%{name}/translations
-%{_datadir}/%%{name}/translations/scribus*.qm
-%dir %{_datadir}/%{name}/swatches
-%{_datadir}/%{name}/swatches/*
-%{_datadir}/%{name}/dtd
%{_datadir}/%{name}/icons
+%{_datadir}/%{name}/keysets
%{_datadir}/%{name}/loremipsum
-%{_datadir}/mime/packages/scribus.xml
-%dir %{_datadir}/%{name}/plugins
-%{_datadir}/%{name}/plugins/*
+%{_datadir}/%{name}/plugins
+%dir %{_datadir}/%{name}/profiles
%dir %{_datadir}/%{name}/samples
%{_datadir}/%{name}/samples/*.py
-%dir %{_datadir}/%{name}/scripts
-%{_datadir}/%{name}/scripts/*
+%{_datadir}/%{name}/scripts
+%{_datadir}/%{name}/swatches
+%dir %{_datadir}/%{name}/translations
%{_datadir}/%{name}/unicodenameslist.txt
%{_desktopdir}/%{name}.desktop
%{_iconsdir}/hicolor/*x*/apps/scribus.png
+%{_datadir}/mime/packages/scribus.xml
%{_datadir}/metainfo/scribus.appdata.xml
-%{_mandir}/man1/%{name}.1*
-%lang(de) %{_mandir}/de/man1/%{name}.1*
-%lang(pl) %{_mandir}/pl/man1/%{name}.1*
+%{_mandir}/man1/scribus.1*
+%lang(de) %{_mandir}/de/man1/scribus.1*
+%lang(pl) %{_mandir}/pl/man1/scribus.1*
%files docs
%defattr(644,root,root,755)