]> git.pld-linux.org Git - packages/poppler.git/blobdiff - poppler.spec
- updated to 23.03.0 (new libpoppler soname)
[packages/poppler.git] / poppler.spec
index e0cbb9bdaf1aa7fe1df2ed2ac3090bc4fd6b31b4..1b78e4c7574e1007de04e80376b68169cdf60fc8 100644 (file)
@@ -1,65 +1,76 @@
 #
 # Conditional build:
-%bcond_without apidocs # disable gtk-doc
-%bcond_without cairo   # disable Cairo backend
-%bcond_without qt4     # disable qt4 wrapper
-%bcond_without qt5     # disable qt5 wrapper
-%bcond_without cpp     # disable cpp wrapper
-%bcond_without glib    # disable glib wrapper
+%bcond_without apidocs # gtk-doc API documentation
+%bcond_without cairo   # Cairo backend
+%bcond_without qt5     # Qt 5 wrapper
+%bcond_without qt6     # Qt 6 wrapper
+%bcond_without cpp     # C++ wrapper
+%bcond_without glib    # GLib wrapper
+%bcond_without static_libs     # don't build static libraries
 
 %define                cairo_ver       1.10.0
+%define                qt5_ver         5.9.0
+%define                qt6_ver         6.2
 Summary:       PDF rendering library
 Summary(pl.UTF-8):     Biblioteka renderująca PDF
 Name:          poppler
-Version:       0.26.3
+Version:       23.03.0
 Release:       1
 License:       GPL v2+
 Group:         Libraries
-Source0:       http://poppler.freedesktop.org/%{name}-%{version}.tar.xz
-# Source0-md5: e101f6653f9f68ab63dac63ec34801d1
-Patch0:                %{name}-qt5.patch
-URL:           http://poppler.freedesktop.org/
-%{?with_qt5:BuildRequires:     Qt5Core-devel >= 5.0.0}
-%{?with_qt5:BuildRequires:     Qt5Gui-devel >= 5.0.0}
-%{?with_qt5:BuildRequires:     Qt5Test-devel >= 5.0.0}
-%{?with_qt5:BuildRequires:     Qt5Widgets-devel >= 5.0.0}
-%{?with_qt5:BuildRequires:     Qt5Xml-devel >= 5.0.0}
-%{?with_qt4:BuildRequires:     QtCore-devel >= 4.7.0}
-%{?with_qt4:BuildRequires:     QtGui-devel >= 4.7.0}
-%{?with_qt4:BuildRequires:     QtTest-devel >= 4.7.0}
-%{?with_qt4:BuildRequires:     QtXml-devel >= 4.7.0}
-BuildRequires: autoconf >= 2.59
-BuildRequires: automake
+Source0:       https://poppler.freedesktop.org/%{name}-%{version}.tar.xz
+# Source0-md5: 342c6661d7dcb5213789acff238912cb
+Patch0:                %{name}-gtkdocdir.patch
+Patch1:                %{name}-include.patch
+URL:           https://poppler.freedesktop.org/
+%{?with_qt5:BuildRequires:     Qt5Core-devel >= %{qt5_ver}}
+%{?with_qt5:BuildRequires:     Qt5Gui-devel >= %{qt5_ver}}
+%{?with_qt5:BuildRequires:     Qt5Test-devel >= %{qt5_ver}}
+%{?with_qt5:BuildRequires:     Qt5Widgets-devel >= %{qt5_ver}}
+%{?with_qt5:BuildRequires:     Qt5Xml-devel >= %{qt5_ver}}
+%{?with_qt6:BuildRequires:     Qt6Core-devel >= %{qt6_ver}}
+%{?with_qt6:BuildRequires:     Qt6Gui-devel >= %{qt6_ver}}
+%{?with_qt6:BuildRequires:     Qt6Test-devel >= %{qt6_ver}}
+%{?with_qt6:BuildRequires:     Qt6Widgets-devel >= %{qt6_ver}}
+BuildRequires: boost-devel >= 1.58.0
 %{?with_cairo:BuildRequires:   cairo-devel >= %{cairo_ver}}
+BuildRequires: cmake >= 3.10.0
 BuildRequires: curl-devel
 BuildRequires: docbook-dtd412-xml
 BuildRequires: fontconfig-devel >= 2.0.0
-BuildRequires: freetype-devel >= 2.0
-BuildRequires: gettext-devel
-%{?with_glib:BuildRequires:    glib2-devel >= 1:2.18.0}
-BuildRequires: gobject-introspection-devel >= 0.6.7
+BuildRequires: freetype-devel >= 1:2.8
+# -std=c11
+BuildRequires: gcc >= 6:4.7
+BuildRequires: gettext-tools
+%{?with_glib:BuildRequires:    glib2-devel >= 1:2.56}
+%{?with_glib:BuildRequires:    gobject-introspection-devel >= 0.9.12}
+BuildRequires: gperf
 %{?with_apidocs:BuildRequires: gtk-doc >= 1.14}
-BuildRequires: lcms2-devel
+BuildRequires: lcms2-devel >= 2
 BuildRequires: libjpeg-devel
 BuildRequires: libpng-devel
-BuildRequires: libstdc++-devel
+# -std=c++17
+BuildRequires: libstdc++-devel >= 6:7
 BuildRequires: libtiff-devel
-BuildRequires: libtool >= 2:1.5
 BuildRequires: libxml2-devel >= 2.0
-BuildRequires: openjpeg-devel >= 1.5
+BuildRequires: nss-devel >= 3.19
+BuildRequires: openjpeg2-devel >= 2
 BuildRequires: pkgconfig >= 1:0.18
 # wanted cairo backends
 BuildRequires: pkgconfig(cairo-pdf) >= %{cairo_ver}
 BuildRequires: pkgconfig(cairo-ps) >= %{cairo_ver}
 BuildRequires: pkgconfig(cairo-svg) >= %{cairo_ver}
-%{?with_qt4:BuildRequires:     qt4-build >= 4.4.0}
-%{?with_qt5:BuildRequires:     qt5-build >= 5.0.0}
+%{?with_qt5:BuildRequires:     qt5-build >= %{qt5_ver}}
+%{?with_qt6:BuildRequires:     qt6-build >= %{qt6_ver}}
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.752
 BuildRequires: sed >= 4.0
 BuildRequires: tar >= 1:1.22
 BuildRequires: which
 BuildRequires: xz
 BuildRequires: zlib-devel
-Requires:      openjpeg >= 1.5
+Requires:      freetype >= 1:2.8
+Requires:      openjpeg2 >= 2
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -76,15 +87,10 @@ Summary(pl.UTF-8):  Pliki nagłówkowe biblioteki Poppler
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 Requires:      curl-devel
-Requires:      fontconfig-devel >= 2.0.0
-Requires:      freetype-devel >= 2.0
-Requires:      lcms2-devel
-Requires:      libjpeg-devel
-Requires:      libpng-devel
-Requires:      libstdc++-devel
-Requires:      libtiff-devel
-Requires:      openjpeg-devel >= 1.5
-Requires:      zlib-devel
+Requires:      lcms2-devel >= 2
+Requires:      libstdc++-devel >= 6:7
+Requires:      nss-devel >= 3.19
+Conflicts:     poppler0.61-devel
 
 %description devel
 Header files for the Poppler library.
@@ -109,9 +115,7 @@ Summary:    Poppler library API documentation
 Summary(pl.UTF-8):     Dokumentacja API biblioteki Poppler
 Group:         Documentation
 Requires:      gtk-doc-common
-%if "%{_rpmversion}" >= "5"
 BuildArch:     noarch
-%endif
 
 %description apidocs
 Poppler library API documentation.
@@ -162,7 +166,7 @@ Summary(pl.UTF-8):  Wrapper GLib dla popplera
 Group:         Libraries
 Requires:      %{name} = %{version}-%{release}
 %{?with_cairo:Requires:        cairo >= %{cairo_ver}}
-Requires:      glib2 >= 1:2.18.0
+Requires:      glib2 >= 1:2.56
 
 %description glib
 GLib wrapper for poppler.
@@ -177,7 +181,7 @@ Group:              Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 Requires:      %{name}-glib = %{version}-%{release}
 %{?with_cairo:Requires:        cairo-devel >= %{cairo_ver}}
-Requires:      glib2-devel >= 1:2.18.0
+Requires:      glib2-devel >= 1:2.56
 
 %description glib-devel
 Header files for GLib wrapper for poppler.
@@ -197,58 +201,6 @@ Static version of GLib wrapper for poppler.
 %description glib-static -l pl.UTF-8
 Statyczna wersja wrappera GLib dla popplera.
 
-%package qt4
-Summary:       Qt4 wrapper for poppler
-Summary(pl.UTF-8):     Wrapper Qt4 dla popplera
-Group:         Libraries
-Requires:      %{name} = %{version}-%{release}
-Requires:      QtCore >= 4.4.0
-Requires:      QtGui >= 4.4.0
-Requires:      QtXml >= 4.4.0
-Provides:      poppler-Qt = %{version}-%{release}
-Obsoletes:     poppler-Qt < 0.24.4-2
-Obsoletes:     poppler-qt
-
-%description qt4
-Qt4 wrapper for poppler.
-
-%description qt4 -l pl.UTF-8
-Wrapper Qt4 dla popplera.
-
-%package qt4-devel
-Summary:       Header files for Qt4 wrapper for poppler
-Summary(pl.UTF-8):     Pliki nagłówkowe wrappera Qt4 dla popplera
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-Requires:      %{name}-qt4 = %{version}-%{release}
-Requires:      QtCore-devel >= 4.4.0
-Requires:      QtGui-devel >= 4.4.0
-Requires:      QtXml-devel >= 4.4.0
-Provides:      poppler-Qt-devel = %{version}-%{release}
-Obsoletes:     poppler-Qt-devel < 0.24.4-2
-Obsoletes:     poppler-qt-devel
-
-%description qt4-devel
-Header files for Qt4 wrapper for poppler.
-
-%description qt4-devel -l pl.UTF-8
-Pliki nagłówkowe wrapper Qt4 dla popplera.
-
-%package qt4-static
-Summary:       Static version of Qt4 wrapper for poppler
-Summary(pl.UTF-8):     Statyczna wersja wrappera Qt4 dla popplera
-Group:         Development/Libraries
-Requires:      %{name}-qt4-devel = %{version}-%{release}
-Provides:      poppler-Qt-static = %{version}-%{release}
-Obsoletes:     poppler-Qt-static < 0.24.4-2
-Obsoletes:     poppler-qt-static
-
-%description qt4-static
-Static version of Qt4 wrapper for poppler.
-
-%description qt4-static -l pl.UTF-8
-Statyczna wersja wrappera Qt4 dla popplera.
-
 %package qt5
 Summary:       Qt5 wrapper for poppler
 Summary(pl.UTF-8):     Wrapper Qt5 dla popplera
@@ -267,10 +219,10 @@ Summary(pl.UTF-8):        Pliki nagłówkowe wrappera Qt5 dla popplera
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 Requires:      %{name}-qt5 = %{version}-%{release}
-Requires:      Qt5Core-devel >= 5.0.0
-Requires:      Qt5Gui-devel >= 5.0.0
-Requires:      Qt5Widgets-devel >= 5.0.0
-Requires:      Qt5Xml-devel >= 5.0.0
+Requires:      Qt5Core-devel >= %{qt5_ver}
+Requires:      Qt5Gui-devel >= %{qt5_ver}
+Requires:      Qt5Widgets-devel >= %{qt5_ver}
+Requires:      Qt5Xml-devel >= %{qt5_ver}
 
 %description qt5-devel
 Header files for Qt5 wrapper for poppler.
@@ -290,14 +242,55 @@ Static version of Qt5 wrapper for poppler.
 %description qt5-static -l pl.UTF-8
 Statyczna wersja wrappera Qt5 dla popplera.
 
+%package qt6
+Summary:       Qt6 wrapper for poppler
+Summary(pl.UTF-8):     Wrapper Qt6 dla popplera
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description qt6
+Qt6 wrapper for poppler.
+
+%description qt6 -l pl.UTF-8
+Wrapper Qt6 dla popplera.
+
+%package qt6-devel
+Summary:       Header files for Qt6 wrapper for poppler
+Summary(pl.UTF-8):     Pliki nagłówkowe wrappera Qt6 dla popplera
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      %{name}-qt6 = %{version}-%{release}
+Requires:      Qt6Core-devel >= %{qt5_ver}
+Requires:      Qt6Gui-devel >= %{qt5_ver}
+Requires:      Qt6Widgets-devel >= %{qt5_ver}
+Requires:      Qt6Xml-devel >= %{qt5_ver}
+
+%description qt6-devel
+Header files for Qt6 wrapper for poppler.
+
+%description qt6-devel -l pl.UTF-8
+Pliki nagłówkowe wrapper Qt6 dla popplera.
+
+%package qt6-static
+Summary:       Static version of Qt6 wrapper for poppler
+Summary(pl.UTF-8):     Statyczna wersja wrappera Qt6 dla popplera
+Group:         Development/Libraries
+Requires:      %{name}-qt6-devel = %{version}-%{release}
+
+%description qt6-static
+Static version of Qt6 wrapper for poppler.
+
+%description qt6-static -l pl.UTF-8
+Statyczna wersja wrappera Qt6 dla popplera.
+
 %package progs
 Summary:       Set of tools for viewing information and converting PDF files
 Summary(pl.UTF-8):     Zestaw narzędzi do wyświetlania informacji i konwertowania plików PDF
 Group:         Applications/Publishing
 Provides:      pdftops
-Obsoletes:     pdftohtml
-Obsoletes:     pdftohtml-pdftops
-Obsoletes:     poppler-utils
+Obsoletes:     pdftohtml < 0.40
+Obsoletes:     pdftohtml-pdftops < 0.40
+Obsoletes:     poppler-utils < 0.5.0-2
 Obsoletes:     xpdf-tools
 
 %description progs
@@ -316,45 +309,55 @@ Pakiet zawiera zestaw narzędzi do plików PDF. Programy te umożliwiają
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
+
+%{__sed} -i -e '/set(_known_build_types/ s/)/;PLD)/' cmake/modules/PopplerMacros.cmake
 
 %build
-%{?with_apidocs:%{__gtkdocize}}
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf} -f
-%{__autoheader}
-%{__automake}
-%configure \
-       MOCQT4=/usr/bin/moc-qt4 \
-       MOCQT5=/usr/bin/moc-qt5 \
-       --disable-gtk-test \
-       --enable-libcurl \
-       %{?with_apidocs:--enable-gtk-doc} \
-       %{!?with_cairo:--disable-cairo-output} \
-       %{!?with_cpp:--disable-poppler-cpp} \
-       %{!?with_glib:--disable-poppler-glib} \
-       %{!?with_qt4:--disable-poppler-qt4} \
-       %{!?with_qt5:--disable-poppler-qt5} \
-       --disable-silent-rules \
-       --enable-xpdf-headers \
-       --enable-zlib \
-       --enable-dependency-tracking \
-       --with-html-dir=%{_gtkdocdir}
+install -d build
+cd build
+%cmake .. \
+       %{!?with_cpp:-DENABLE_CPP=OFF} \
+       %{!?with_glib:-DENABLE_GLIB=OFF} \
+       %{?with_apidocs:-DENABLE_GTK_DOC=ON} \
+       -DENABLE_GTK_TESTS=OFF \
+       -DENABLE_LIBCURL=ON \
+       %{!?with_qt5:-DENABLE_QT5=OFF} \
+       %{!?with_qt6:-DENABLE_QT6=OFF} \
+       -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
+       -DENABLE_ZLIB=ON \
+       %{!?with_cairo:-DWITH_CAIRO=OFF}
 
 %{__make}
+cd ..
+
+%if %{with static_libs}
+install -d build-static
+cd build-static
+%cmake .. \
+       -DBUILD_SHARED_LIBS=OFF \
+       %{!?with_cpp:-DENABLE_CPP=OFF} \
+       %{!?with_glib:-DENABLE_GLIB=OFF} \
+       -DENABLE_GTK_DOC=OFF \
+       -DENABLE_GTK_TESTS=OFF \
+       -DENABLE_LIBCURL=ON \
+       %{!?with_qt5:-DENABLE_QT5=OFF} \
+       -DENABLE_ZLIB=ON \
+       %{!?with_cairo:-DWITH_CAIRO=OFF}
+
+%{__make}
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
+%if %{with static_libs}
+%{__make} -C build-static install \
        DESTDIR=$RPM_BUILD_ROOT
-
-%if %{without apidocs}
-# why it still installs them, brr
-%{__rm} -rf $RPM_BUILD_ROOT%{_gtkdocdir}/poppler || :
 %endif
 
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+%{__make} -C build install \
+       DESTDIR=$RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -368,34 +371,32 @@ rm -rf $RPM_BUILD_ROOT
 %post  glib -p /sbin/ldconfig
 %postun        glib -p /sbin/ldconfig
 
-%post  qt4 -p /sbin/ldconfig
-%postun        qt4 -p /sbin/ldconfig
-
 %post  qt5 -p /sbin/ldconfig
 %postun        qt5 -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README* TODO
+%doc AUTHORS ChangeLog NEWS README*
 %attr(755,root,root) %{_libdir}/libpoppler.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpoppler.so.46
+%attr(755,root,root) %ghost %{_libdir}/libpoppler.so.126
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libpoppler.so
 %dir %{_includedir}/poppler
 %{_includedir}/poppler/poppler-config.h
+%{_includedir}/poppler/poppler_private_export.h
 %{_includedir}/poppler/[ABCDEFGHJLMNOPRSTUVX]*.h
 %{_includedir}/poppler/fofi
 %{_includedir}/poppler/goo
 %{_includedir}/poppler/splash
 %{_pkgconfigdir}/poppler.pc
-%{?with_cairo:%{_pkgconfigdir}/poppler-cairo.pc}
-%{_pkgconfigdir}/poppler-splash.pc
 
+%if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libpoppler.a
+%endif
 
 %if %{with apidocs}
 %files apidocs
@@ -415,10 +416,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/poppler/cpp
 %{_pkgconfigdir}/poppler-cpp.pc
 
+%if %{with static_libs}
 %files cpp-static
 %defattr(644,root,root,755)
 %{_libdir}/libpoppler-cpp.a
 %endif
+%endif
 
 %if %{with glib}
 %files glib
@@ -434,26 +437,11 @@ rm -rf $RPM_BUILD_ROOT
 %{_pkgconfigdir}/poppler-glib.pc
 %{_datadir}/gir-1.0/Poppler-0.18.gir
 
+%if %{with static_libs}
 %files glib-static
 %defattr(644,root,root,755)
 %{_libdir}/libpoppler-glib.a
 %endif
-
-%if %{with qt4}
-%files qt4
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpoppler-qt4.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpoppler-qt4.so.4
-
-%files qt4-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpoppler-qt4.so
-%{_includedir}/poppler/qt4
-%{_pkgconfigdir}/poppler-qt4.pc
-
-%files qt4-static
-%defattr(644,root,root,755)
-%{_libdir}/libpoppler-qt4.a
 %endif
 
 %if %{with qt5}
@@ -468,12 +456,57 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/poppler/qt5
 %{_pkgconfigdir}/poppler-qt5.pc
 
+%if %{with static_libs}
 %files qt5-static
 %defattr(644,root,root,755)
 %{_libdir}/libpoppler-qt5.a
 %endif
+%endif
+
+%if %{with qt6}
+%files qt6
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpoppler-qt6.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpoppler-qt6.so.3
+
+%files qt6-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpoppler-qt6.so
+%{_includedir}/poppler/qt6
+%{_pkgconfigdir}/poppler-qt6.pc
+
+%if %{with static_libs}
+%files qt6-static
+%defattr(644,root,root,755)
+%{_libdir}/libpoppler-qt6.a
+%endif
+%endif
 
 %files progs
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/pdf*
-%{_mandir}/man1/pdf*
+%attr(755,root,root) %{_bindir}/pdfattach
+%attr(755,root,root) %{_bindir}/pdfdetach
+%attr(755,root,root) %{_bindir}/pdffonts
+%attr(755,root,root) %{_bindir}/pdfimages
+%attr(755,root,root) %{_bindir}/pdfinfo
+%attr(755,root,root) %{_bindir}/pdfseparate
+%attr(755,root,root) %{_bindir}/pdfsig
+%attr(755,root,root) %{_bindir}/pdftocairo
+%attr(755,root,root) %{_bindir}/pdftohtml
+%attr(755,root,root) %{_bindir}/pdftoppm
+%attr(755,root,root) %{_bindir}/pdftops
+%attr(755,root,root) %{_bindir}/pdftotext
+%attr(755,root,root) %{_bindir}/pdfunite
+%{_mandir}/man1/pdfattach.1*
+%{_mandir}/man1/pdfdetach.1*
+%{_mandir}/man1/pdffonts.1*
+%{_mandir}/man1/pdfimages.1*
+%{_mandir}/man1/pdfinfo.1*
+%{_mandir}/man1/pdfseparate.1*
+%{_mandir}/man1/pdfsig.1*
+%{_mandir}/man1/pdftocairo.1*
+%{_mandir}/man1/pdftohtml.1*
+%{_mandir}/man1/pdftoppm.1*
+%{_mandir}/man1/pdftops.1*
+%{_mandir}/man1/pdftotext.1*
+%{_mandir}/man1/pdfunite.1*
This page took 0.113033 seconds and 4 git commands to generate.