]> git.pld-linux.org Git - packages/scribus.git/blobdiff - scribus.spec
- upstream fix for podofo 0.10 detection
[packages/scribus.git] / scribus.spec
index 3f988e9ee59d412fd00e8bf44892faa8d248f648..93f0ce14e5fe423053dee03a65a28b590a59c939 100644 (file)
-#
-# 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)
+# - qt6 bcond? (BR: Qt6{Core,Core5Compat,Gui,Widgets,Network} >= 6.2.0, cmake >= 3.16.0)
 #
 # 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.14.0
 Summary:       Scribus - Open Source Desktop Publishing
 Summary(pl.UTF-8):     Scribus - DTP dla Wolnego Oprogramowania
 Name:          scribus
-Version:       1.3.9
-Release:       2
+Version:       1.5.8
+Release:       6
 License:       GPL v2+
 Group:         X11/Applications/Publishing
-Source0:       http://downloads.sourceforge.net/scribus/%{name}-%{version}.tar.bz2
-# Source0-md5: a54dbf2e10cd88d683d0d34565d29378
-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: ff9e966a2251a6c8800bb26fcb4b7c59
+Patch0:                %{name}-docs.patch
+Patch1:                %{name}-poppler.patch
+Patch2:                %{name}-poppler-22.09.0.patch
+Patch3:                podofo-0.10.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.14.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: harfbuzz-subset-devel >= 2.4.0
+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: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.86.0
+BuildRequires: poppler-devel >= 0.86.0
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-modules >= 1:3.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:      python-PIL
-Requires:      python-tkinter
+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:      harfbuzz-subset >= 2.4.0
+Requires:      hicolor-icon-theme
+Requires:      python3-pillow
+Requires:      python3-tkinter
 Requires:      shared-mime-info
-Obsoletes:     scribus-scripting
-Obsoletes:     scribus-short-words
-Obsoletes:     scribus-svg
+Obsoletes:     scribus-devel < 1.3.3.6
+Obsoletes:     scribus-scripting < 0.6
+Obsoletes:     scribus-short-words < 1.3
+Obsoletes:     scribus-svg < 0.4
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %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,
@@ -70,23 +112,10 @@ Scribus jest to program do tworzenia publikacji z założenia generujący
 dokumenty PDF oraz Postscript nadające się do użytku komercyjnego,
 przeznaczony głównie, lecz nie tylko, dla systemu Linux(R).
 
-%package devel
-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.
-
-%description devel -l pl.UTF-8
-Pliki nagłówkowe do tworzenia wtyczek Scribusa.
-
 %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
@@ -126,41 +155,49 @@ Domyślne szablony dokumentów dostarczane wraz ze Scribusem.
 
 %prep
 %setup -q
+%patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 
 %build
-export QTDIR=%{_prefix}
-export KDEDIR=%{_prefix}
-
-%cmake . \
-%if %{with cairo}
-       -DWANT_CAIRO=1
-%else
-       -DWANT_LIBART=1
-%endif
+%cmake -B build \
+       -DWANT_CPP17=ON \
+       -DWANT_GRAPHICSMAGICK:BOOL=ON
 
-%{__make} -j1
+%{__make} -C build
 
 %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}/mimelnk/* $RPM_BUILD_ROOT%{_datadir}/mime/
-
-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
@@ -168,144 +205,59 @@ 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 %{_libdir}/scribus/profiles
-%dir %{_datadir}/%{name}/translations
-%lang(af) %{_datadir}/%{name}/translations/scribus.af.qm
-%lang(ar) %{_datadir}/%{name}/translations/scribus.ar.qm
-%lang(bg) %{_datadir}/%{name}/translations/scribus.bg.qm
-#%%lang(bn) %{_datadir}/%{name}/translations/scribus.bn.qm
-%lang(br) %{_datadir}/%{name}/translations/scribus.br.qm
-%lang(ca) %{_datadir}/%{name}/translations/scribus.ca.qm
-#%%lang(cs) %{_datadir}/%{name}/translations/scribus.cs.qm
-%lang(cy) %{_datadir}/%{name}/translations/scribus.cy.qm
-#%%lang(da) %{_datadir}/%{name}/translations/scribus.da.qm
-%lang(de) %{_datadir}/%{name}/translations/scribus.de.qm
-%lang(de_CH) %{_datadir}/%{name}/translations/scribus.de_CH.qm
-#%%lang(de) %{_datadir}/%{name}/translations/scribus.de_ol.qm
-#%%lang(dz) %{_datadir}/%{name}/translations/scribus.dz.qm
-%lang(el) %{_datadir}/%{name}/translations/scribus.el.qm
-%lang(en_AU) %{_datadir}/%{name}/translations/scribus.en_AU.qm
-%lang(en_GB) %{_datadir}/%{name}/translations/scribus.en_GB.qm
-%lang(en_US) %{_datadir}/%{name}/translations/scribus.en_US.qm
-#%%lang(eo) %{_datadir}/%{name}/translations/scribus.eo.qm
-#%%lang(es) %{_datadir}/%{name}/translations/scribus.es.qm
-#%%lang(es) %{_datadir}/%{name}/translations/scribus.es_LA.qm
-%lang(et) %{_datadir}/%{name}/translations/scribus.et.qm
-%lang(eu) %{_datadir}/%{name}/translations/scribus.eu.qm
-%lang(fi) %{_datadir}/%{name}/translations/scribus.fi.qm
-%lang(fr) %{_datadir}/%{name}/translations/scribus.fr.qm
-%lang(gl) %{_datadir}/%{name}/translations/scribus.gl.qm
-%lang(hu) %{_datadir}/%{name}/translations/scribus.hu.qm
-%lang(id) %{_datadir}/%{name}/translations/scribus.id.qm
-%lang(it) %{_datadir}/%{name}/translations/scribus.it.qm
-%lang(ja) %{_datadir}/%{name}/translations/scribus.ja.qm
-%lang(ko) %{_datadir}/%{name}/translations/scribus.ko.qm
-%lang(lt) %{_datadir}/%{name}/translations/scribus.lt.qm
-%lang(nl) %{_datadir}/%{name}/translations/scribus.nl.qm
-#%%lang(nb) %{_datadir}/%{name}/translations/scribus.nb.qm
-#%%lang(pl) %{_datadir}/%{name}/translations/scribus.pl.qm
-%lang(pt) %{_datadir}/%{name}/translations/scribus.pt.qm
-%lang(pt_BR) %{_datadir}/%{name}/translations/scribus.pt_BR.qm
-%lang(ru) %{_datadir}/%{name}/translations/scribus.ru.qm
-%lang(sa) %{_datadir}/%{name}/translations/scribus.sa.qm
-#%%lang(sk) %{_datadir}/%{name}/translations/scribus.sk.qm
-%lang(sl) %{_datadir}/%{name}/translations/scribus.sl.qm
-%lang(sq) %{_datadir}/%{name}/translations/scribus.sq.qm
-%lang(sr) %{_datadir}/%{name}/translations/scribus.sr.qm
-%lang(sv) %{_datadir}/%{name}/translations/scribus.sv.qm
-%lang(th) %{_datadir}/%{name}/translations/scribus.th_TH.qm
-%lang(tr) %{_datadir}/%{name}/translations/scribus.tr.qm
-%lang(uk) %{_datadir}/%{name}/translations/scribus.uk.qm
-#%%lang(zh_CN) %{_datadir}/%{name}/translations/scribus.zh.qm
-%lang(zh_TW) %{_datadir}/%{name}/translations/scribus.zh_TW.qm
-%dir %{_libdir}/%{name}/swatches
-%{_libdir}/%{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/*.py
+%{_datadir}/%{name}/scripts
+%{_datadir}/%{name}/swatches
+%dir %{_datadir}/%{name}/translations
+%{_datadir}/%{name}/unicodenameslist.txt
 %{_desktopdir}/%{name}.desktop
-%{_mandir}/man1/%{name}.1*
-%lang(pl) %{_mandir}/pl/man1/%{name}.1*
-%lang(de) %{_mandir}/de/man1/%{name}.1*
-%{_pixmapsdir}/%{name}.png
-%{_datadir}/mime/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
-%dir %{_datadir}/%{name}/doc/en
-%{_datadir}/%{name}/doc/en/*
-#%%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)
-%{_libdir}/scribus/profiles/*
+%{_datadir}/scribus/profiles/*
 
 %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/*
-
-%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
This page took 0.08922 seconds and 4 git commands to generate.