-#
-# 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.11.0
Summary: Scribus - Open Source Desktop Publishing
Summary(pl.UTF-8): Scribus - DTP dla Wolnego Oprogramowania
Name: scribus
-Version: 1.4.1
-Release: 1
+Version: 1.5.7
+Release: 3
License: GPL v2+
Group: X11/Applications/Publishing
-Source0: http://downloads.sourceforge.net/scribus/%{name}-%{version}.tar.bz2
-# Source0-md5: aa6b74528c295153ab3bda88c86ba0d6
-Source1: %{name}.desktop
-Patch1: %{name}-standard-font-paths.patch
-Patch2: %{name}-docs.patch
-Patch3: %{name}-sparc.patch
-URL: http://www.scribus.net/
-BuildRequires: QtCore-devel
-BuildRequires: QtGui-devel
-BuildRequires: QtNetwork-devel
-BuildRequires: QtXml-devel
-%{?with_cairo:BuildRequires: cairo-devel >= 1.2.0}
-BuildRequires: cmake >= 2.4.5
+Source0: https://downloads.sourceforge.net/scribus/%{name}-%{version}.tar.xz
+# Source0-md5: 4d0c63cfdade8a9abf225a4415e43694
+Patch0: %{name}-docs.patch
+Patch1: harfbuzz.patch
+URL: https://www.scribus.net/
+BuildRequires: GraphicsMagick-devel
+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.12.0
%if %{with cups}
BuildRequires: cups-devel
%else
BuildConflicts: cups-devel
%endif
+BuildRequires: fontconfig-devel
BuildRequires: freetype-devel >= 2.1.0
-BuildRequires: lcms-devel >= 1.09
-%{!?with_cairo:BuildRequires: libart_lgpl-devel >= 2.3.14}
+BuildRequires: harfbuzz-devel >= 0.9.42
+BuildRequires: harfbuzz-icu-devel
+BuildRequires: hunspell-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: libpng-devel
+BuildRequires: libmspub-devel >= 0.1
+BuildRequires: libpagemaker-devel
+BuildRequires: libpng-devel >= 2:1.6
+BuildRequires: libqxp-devel
+BuildRequires: librevenge-devel
+BuildRequires: libstdc++-devel >= 6:4.7
BuildRequires: libtiff-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: python-devel
-BuildRequires: python-modules
-BuildRequires: qt4-build
-BuildRequires: qt4-linguist
-BuildRequires: qt4-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: rpmbuild(macros) >= 2.005
BuildRequires: sed >= 4.0
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
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
%define specflags_ia32 -fomit-frame-pointer
+%define _debugsource_packages 0
+
%description
Scribus is an open source desktop page layout program with the aim of
producing commerical grade output in PDF and Postscript, primarily,
Summary: Header files for Scribus plugins development
Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia wtyczek Scribusa
Group: Development/Libraries
-# currently it doesn't require base
-Requires: qt-devel
%description devel
Header files for Scribus plugins development.
%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
Domyślne szablony dokumentów dostarczane wraz ze Scribusem.
%prep
-%setup -q -n Scribus
+%setup -q
+%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
-export QTDIR=%{_prefix}
-export KDEDIR=%{_prefix}
+mkdir -p build
+cd build
-%cmake . \
- -DASPELL_EXECUTABLE=%{_bindir}/aspell \
-%if %{with cairo}
- -DWANT_CAIRO=1
-%else
- -DWANT_LIBART=1
-%endif
+%cmake .. \
+ -DWANT_GRAPHICSMAGICK:BOOL=ON
-%{__make} -j1
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
-%{__make} install \
+%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
-install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
-install $RPM_BUILD_ROOT%{_datadir}/%{name}/icons/scribus.png $RPM_BUILD_ROOT%{_pixmapsdir}
-
-mv $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.lt_LT.qm $RPM_BUILD_ROOT%{_datadir}/%{name}/translations/%{name}.lt.qm
-
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/doc/{AUTHORS,BUILDING,COPYING,ChangeLog,ChangeLogSVN,NEWS,PACKAGING,README,README.MacOSX,TODO}
-
-# currently not used, -devel subpackage?
-%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/%{name}
+%{__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}.{ms_MY,ms}.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#${RPM_BUILD_ROOT}}" >>%{name}.lang
+done
+
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/doc/{AUTHORS,COPYING,ChangeLog,README,LINKS,TRANSLATION}
%clean
rm -rf $RPM_BUILD_ROOT
%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 ChangeLogSVN 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}/import.prolog
-%{_datadir}/%{name}/unicodenameslist.txt
-# don't mark dictionaries with lang() --misiek
-%{_datadir}/%{name}/dicts
-%{_datadir}/%{name}/editorconfig
-%{_datadir}/%{name}/keysets
+%{_libdir}/%{name}/scribus.css
%dir %{_libdir}/%{name}/plugins
%attr(755,root,root) %{_libdir}/%{name}/plugins/*.so*
%dir %{_libdir}/%{name}/plugins/gettext
%attr(755,root,root) %{_libdir}/%{name}/plugins/gettext/*.so*
-%dir %{_datadir}/%{name}/profiles
-%dir %{_datadir}/%{name}/translations
-%{_datadir}/%%{name}/translations/scribus*.qm
-%dir %{_datadir}/%{name}/swatches
-%{_datadir}/%{name}/swatches/*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/dtd
+%{_datadir}/%{name}/dicts
+%{_datadir}/%{name}/editorconfig
%{_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
-%{_mandir}/man1/%{name}.1*
-%lang(de) %{_mandir}/de/man1/%{name}.1*
-%lang(pl) %{_mandir}/pl/man1/%{name}.1*
-%{_pixmapsdir}/%{name}.png
-%{_datadir}/mimelnk/application/vnd.scribus.desktop
-
-#%files devel
-#%defattr(644,root,root,755)
-#%{_includedir}/scribus
+%{_iconsdir}/hicolor/*x*/apps/scribus.png
+%{_datadir}/mime/packages/scribus.xml
+%{_datadir}/metainfo/scribus.appdata.xml
+%{_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)
%dir %{_datadir}/%{name}/doc
-%{_datadir}/%{name}/doc/*
-##%dir %{_datadir}/%{name}/doc/en
-##%{_datadir}/%{name}/doc/en/*
-##%dir %{_datadir}/%{name}/doc/it
-##%{_datadir}/%{name}/doc/it/*
-#%%lang(cs) %dir %{_datadir}/%{name}/doc/cs
-#%%lang(cs) %dir %{_datadir}/%{name}/doc/cs/tutorials
-#%%lang(cs) %dir %{_datadir}/%{name}/doc/cs/tutorials/scribus-short-words
-#%%lang(cs) %{_datadir}/%{name}/doc/cs/tutorials/scribus-short-words/*
-#%%lang(de) %dir %{_datadir}/%{name}/doc/de
-#%%lang(de) %{_datadir}/%{name}/doc/de/*
-#%%lang(fr) %dir %{_datadir}/%{name}/doc/fr
-#%%lang(fr) %{_datadir}/%{name}/doc/fr/*.*ml
-#%%lang(fr) %dir %{_datadir}/%{name}/doc/fr/tutorials
-#%%lang(fr) %dir %{_datadir}/%{name}/doc/fr/tutorials/scribus-short-words
-#%%lang(fr) %{_datadir}/%{name}/doc/fr/tutorials/scribus-short-words/*
-#%%lang(pl) %dir %{_datadir}/%{name}/doc/pl
-#%%lang(pl) %dir %{_datadir}/%{name}/doc/pl/tutorials
-#%%lang(pl) %dir %{_datadir}/%{name}/doc/pl/tutorials/scribus-short-words
-#%%lang(pl) %{_datadir}/%{name}/doc/pl/tutorials/scribus-short-words/*
+%{_datadir}/%{name}/doc/en
+%lang(de) %{_datadir}/%{name}/doc/de
+%lang(it) %{_datadir}/%{name}/doc/it
+%lang(ru) %{_datadir}/%{name}/doc/ru
%files icc
%defattr(644,root,root,755)
%files templates-base
%defattr(644,root,root,755)
-%dir %{_datadir}/%{name}/templates
-%{_datadir}/%{name}/templates/*.xml
-%dir %{_datadir}/%{name}/templates/br1
-%{_datadir}/%{name}/templates/br1/*
-%dir %{_datadir}/%{name}/templates/nl1
-%{_datadir}/%{name}/templates/nl1/*
-#%%dir %{_datadir}/%{name}/templates/sc_presentation
-#%%{_datadir}/%{name}/templates/sc_presentation/*
-%dir %{_datadir}/%{name}/templates/textbased
-%{_datadir}/%{name}/templates/textbased/*
-%dir %{_datadir}/%{name}/templates/buscard*
-%{_datadir}/%{name}/templates/buscard*/*
-%dir %{_datadir}/%{name}/templates/cover*
-%{_datadir}/%{name}/templates/cover*/*
-%dir %{_datadir}/%{name}/templates/grid_*
-%{_datadir}/%{name}/templates/grid_*/*
-%dir %{_datadir}/%{name}/templates/cc
-%{_datadir}/%{name}/templates/cc/*
-%dir %{_datadir}/%{name}/templates/mc
-%{_datadir}/%{name}/templates/mc/*
-%dir %{_datadir}/%{name}/templates/pres_backgr*
-%{_datadir}/%{name}/templates/pres_backgr*/*
-
-%if 0
- /usr/lib/scribus/import_la.prolog
- /usr/share/scribus/scripts/ChangeLog
- /usr/share/scribus/scripts/NEWS
- /usr/share/scribus/scripts/ReadMe
- /usr/share/scribus/scripts/TODO
- /usr/share/scribus/unicodenameslist.txt
-%endif
+%{_datadir}/%{name}/templates