]> git.pld-linux.org Git - packages/scribus.git/blobdiff - scribus.spec
- upstream fix for podofo 0.10 detection
[packages/scribus.git] / scribus.spec
index d1bdedfa096dc9e6e215b360b60dab6332125292..93f0ce14e5fe423053dee03a65a28b590a59c939 100644 (file)
+# 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:
 #
 # Conditional build:
-%bcond_with    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
 Summary:       Scribus - Open Source Desktop Publishing
 Summary(pl.UTF-8):     Scribus - DTP dla Wolnego Oprogramowania
 Name:          scribus
-Version:       1.3.4
-Release:       1
-License:       GPL v2
+Version:       1.5.8
+Release:       6
+License:       GPL v2+
 Group:         X11/Applications/Publishing
 Group:         X11/Applications/Publishing
-Source0:       http://dl.sourceforge.net/scribus/%{name}-%{version}.tar.bz2
-# Source0-md5: cd3bc6cc6c2e2826eb689342e439443d
-Source1:       %{name}.desktop
-Patch1:                %{name}-standard-font-paths.patch
-URL:           http://www.scribus.net/
-%{?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
 %if %{with cups}
 BuildRequires: cups-devel
 %else
 BuildConflicts:        cups-devel
 %endif
+BuildRequires: fontconfig-devel
 BuildRequires: freetype-devel >= 2.1.0
 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: 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: libtiff-devel
-BuildRequires: libxml2-devel
+BuildRequires: libvisio-devel >= 0.1
+BuildRequires: libxml2-devel >= 2
+BuildRequires: libzmf-devel
 BuildRequires: openssl-devel
 BuildRequires: openssl-devel
-BuildRequires: perl-base
-BuildRequires: python-devel
-BuildRequires: python-modules
-BuildRequires: qt-devel >= 6:3.0.5
+BuildRequires: pkgconfig
+BuildRequires: podofo-devel
+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: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.293
+BuildRequires: rpmbuild(macros) >= 2.005
 BuildRequires: sed >= 4.0
 BuildRequires: sed >= 4.0
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
 BuildRequires: zlib-devel
 BuildRequires: zlib-devel
-Requires:      desktop-file-utils
-Requires:      python-PIL
-Requires:      python-tkinter
-Obsoletes:     scribus-scripting
-Obsoletes:     scribus-short-words
-Obsoletes:     scribus-svg
+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-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
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                specflags_ia32  -fomit-frame-pointer
-%define                _ulibdir        %{_prefix}/lib
+
+%define                _debugsource_packages   0
 
 %description
 Scribus is an open source desktop page layout program with the aim of
 
 %description
 Scribus is an open source desktop page layout program with the aim of
@@ -59,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).
 
 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
 %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
 Group:         X11/Applications/Publishing
 
 %description docs
@@ -115,37 +155,49 @@ Domyślne szablony dokumentów dostarczane wraz ze Scribusem.
 
 %prep
 %setup -q
 
 %prep
 %setup -q
+%patch0 -p1
 %patch1 -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 
 %build
-export QTDIR=%{_prefix}
-export KDEDIR=%{_prefix}
-
-%cmake . \
-       -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-%if %{with cairo}
-       -DWANT_CAIRO=1
-%else
-       -DWANT_LIBART=1
-%endif
+%cmake -B build \
+       -DWANT_CPP17=ON \
+       -DWANT_GRAPHICSMAGICK:BOOL=ON
 
 
-%{__make}
+%{__make} -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
 
 
-%{__make} install \
+%{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
        DESTDIR=$RPM_BUILD_ROOT
 
-install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
-install $RPM_BUILD_ROOT%{_datadir}/%{name}/icons/scribusicon.png $RPM_BUILD_ROOT%{_pixmapsdir}
-
-mv $RPM_BUILD_ROOT%{_ulibdir}/scribus/%{name}.lt_LT.qm $RPM_BUILD_ROOT%{_ulibdir}/scribus/%{name}.lt.qm
-
-rm -f $RPM_BUILD_ROOT%{_ulibdir}/scribus/*.no.qm
-
-rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/{AUTHORS,BUILDING,COPYING,ChangeLog,ChangeLogCVS,INSTALL,NEWS,PACKAGING,README,README.MacOSX,TODO}
+%{__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
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -153,119 +205,59 @@ rm -rf $RPM_BUILD_ROOT
 %post
 %update_desktop_database_post
 %update_mime_database
 %post
 %update_desktop_database_post
 %update_mime_database
+%update_icon_cache hicolor
 
 %postun
 %update_desktop_database_postun
 %update_mime_database
 
 %postun
 %update_desktop_database_postun
 %update_mime_database
+%update_icon_cache hicolor
 
 
-%files
+%files -f %{name}.lang
 %defattr(644,root,root,755)
 %defattr(644,root,root,755)
-%doc AUTHORS BUILDING ChangeLog ChangeLogCVS INSTALL NEWS README TODO
+# COPYING contains many additional notes
+%doc AUTHORS COPYING ChangeLog NEWS README TODO
 %attr(755,root,root) %{_bindir}/scribus
 %attr(755,root,root) %{_bindir}/scribus
-%dir %{_ulibdir}/%{name}
-%{_ulibdir}/%{name}/import.prolog
-# don't mark dictionaries with lang() --misiek
-%{_ulibdir}/%{name}/dicts
-%{_ulibdir}/%{name}/keysets
-%dir %{_ulibdir}/%{name}/plugins
-%attr(755,root,root) %{_ulibdir}/%{name}/plugins/*.so*
-%dir %{_ulibdir}/%{name}/plugins/gettext
-%attr(755,root,root) %{_ulibdir}/%{name}/plugins/gettext/*.so*
-%dir %{_ulibdir}/scribus/profiles
-%lang(af) %{_ulibdir}/scribus/scribus.af.qm
-%lang(bg) %{_ulibdir}/scribus/scribus.bg.qm
-%lang(br) %{_ulibdir}/scribus/scribus.br.qm
-%lang(ca) %{_ulibdir}/scribus/scribus.ca.qm
-%lang(cs) %{_ulibdir}/scribus/scribus.cs.qm
-%lang(cy) %{_ulibdir}/scribus/scribus.cy.qm
-%lang(da) %{_ulibdir}/scribus/scribus.da.qm
-%lang(de) %{_ulibdir}/scribus/scribus.de.qm
-%lang(de_CH) %{_ulibdir}/scribus/scribus.de_CH.qm
-%lang(de) %{_ulibdir}/scribus/scribus.de_ol.qm
-%lang(dz) %{_ulibdir}/scribus/scribus.dz.qm
-%lang(el) %{_ulibdir}/scribus/scribus.el.qm
-%lang(en_AU) %{_ulibdir}/scribus/scribus.en_AU.qm
-%lang(en_GB) %{_ulibdir}/scribus/scribus.en_GB.qm
-%lang(en_US) %{_ulibdir}/scribus/scribus.en_US.qm
-%lang(eo) %{_ulibdir}/scribus/scribus.eo.qm
-%lang(es) %{_ulibdir}/scribus/scribus.es.qm
-%lang(es) %{_ulibdir}/scribus/scribus.es_LA.qm
-%lang(et) %{_ulibdir}/scribus/scribus.et.qm
-%lang(eu) %{_ulibdir}/scribus/scribus.eu.qm
-%lang(fi) %{_ulibdir}/scribus/scribus.fi.qm
-%lang(fr) %{_ulibdir}/scribus/scribus.fr.qm
-%lang(gl) %{_ulibdir}/scribus/scribus.gl.qm
-%lang(hu) %{_ulibdir}/scribus/scribus.hu.qm
-%lang(id) %{_ulibdir}/scribus/scribus.id.qm
-%lang(it) %{_ulibdir}/scribus/scribus.it.qm
-%lang(ja) %{_ulibdir}/scribus/scribus.ja.qm
-%lang(ko) %{_ulibdir}/scribus/scribus.ko.qm
-%lang(lt) %{_ulibdir}/scribus/scribus.lt.qm
-%lang(nl) %{_ulibdir}/scribus/scribus.nl.qm
-%lang(nb) %{_ulibdir}/scribus/scribus.nb.qm
-%lang(pl) %{_ulibdir}/scribus/scribus.pl.qm
-%lang(pt) %{_ulibdir}/scribus/scribus.pt.qm
-%lang(pt_BR) %{_ulibdir}/scribus/scribus.pt_BR.qm
-%lang(ru) %{_ulibdir}/scribus/scribus.ru.qm
-%lang(se) %{_ulibdir}/scribus/scribus.se.qm
-%lang(sk) %{_ulibdir}/scribus/scribus.sk.qm
-%lang(sl) %{_ulibdir}/scribus/scribus.sl.qm
-%lang(sq) %{_ulibdir}/scribus/scribus.sq.qm
-%lang(sr) %{_ulibdir}/scribus/scribus.sr.qm
-%lang(th) %{_ulibdir}/scribus/scribus.th_TH.qm
-%lang(tr) %{_ulibdir}/scribus/scribus.tr.qm
-%lang(uk) %{_ulibdir}/scribus/scribus.uk.qm
-%lang(zh_CN) %{_ulibdir}/scribus/scribus.zh.qm
-%lang(zh_TW) %{_ulibdir}/scribus/scribus.zh_TW.qm
-%dir %{_ulibdir}/%{name}/swatches
-%{_ulibdir}/%{name}/swatches/*
+%dir %{_libdir}/%{name}
+%{_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}
 %{_datadir}/%{name}/dtd
 %dir %{_datadir}/%{name}
 %{_datadir}/%{name}/dtd
+%{_datadir}/%{name}/dicts
+%{_datadir}/%{name}/editorconfig
 %{_datadir}/%{name}/icons
 %{_datadir}/%{name}/icons
+%{_datadir}/%{name}/keysets
 %{_datadir}/%{name}/loremipsum
 %{_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}/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
 %{_desktopdir}/%{name}.desktop
-%{_mandir}/man1/%{name}.1*
-%lang(de) %{_mandir}/de/man1/%{name}.1*
-%lang(pl) %{_mandir}/pl/man1/%{name}.1*
-%{_pixmapsdir}/%{name}icon.png
-
-#%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 doc
+%files docs
 %defattr(644,root,root,755)
 %defattr(644,root,root,755)
-RESTORE-OR-OBSOLETE-ME
+%dir %{_datadir}/%{name}/doc
+%{_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 icc
 %defattr(644,root,root,755)
-%{_ulibdir}/scribus/profiles/*
+%{_datadir}/scribus/profiles/*
 
 %files templates-base
 %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/*
-
-%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.040046 seconds and 4 git commands to generate.