summaryrefslogtreecommitdiff
path: root/poppler.spec
diff options
context:
space:
mode:
Diffstat (limited to 'poppler.spec')
-rw-r--r--poppler.spec319
1 files changed, 170 insertions, 149 deletions
diff --git a/poppler.spec b/poppler.spec
index 7556a29..590ac89 100644
--- a/poppler.spec
+++ b/poppler.spec
@@ -1,136 +1,151 @@
-%global test_sha 45f55f1e03b9bf3fbd334c31776b6f5e472889ec
-%global test_date 2018-12-18
-
-Summary: PDF rendering library
-Name: poppler
-Version: 0.90.0
-Release: 10
-License: (GPLv2 or GPLv3) and GPLv2+ and LGPLv2+ and MIT
-URL: http://poppler.freedesktop.org/
-Source0: http://poppler.freedesktop.org/poppler-%{version}.tar.xz
-Source1: %{name}-test-%{test_date}-%{test_sha}.tar.xz
-Patch0: poppler-0.30.0-rotated-words-selection.patch
-Patch4: poppler-0.73.0-PSOutputDev-buffer-read.patch
-Patch5: poppler-0.84.0-MacroPushRequiredVars.patch
-Patch7: poppler-0.90.0-position-independent-code.patch
-Patch8: %{name}-gcc11.patch
-
-Patch6001: backport-CVE-2022-38784.patch
-Patch6002: backport-CVE-2022-27337.patch
-Patch6003: backport-CVE-2020-23804.patch
-Patch6004: backport-CVE-2022-37050.patch
-Patch6005: backport-CVE-2022-37051.patch
-Patch6006: backport-CVE-2022-37052.patch
-Patch6007: backport-CVE-2022-38349.patch
-Patch6008: backport-CVE-2020-36023.patch
-Patch6009: backport-CVE-2024-6239.patch
-Patch6010: backport-CVE-2024-4141.patch
-Patch6011: backport-CVE-2024-56378.patch
-
-BuildRequires: cmake
-BuildRequires: gcc-c++
-BuildRequires: gettext-devel
-BuildRequires: pkgconfig(cairo)
-BuildRequires: pkgconfig(cairo-ft)
-BuildRequires: pkgconfig(cairo-pdf)
-BuildRequires: pkgconfig(cairo-ps)
-BuildRequires: pkgconfig(cairo-svg)
-BuildRequires: pkgconfig(fontconfig)
-BuildRequires: pkgconfig(freetype2)
-BuildRequires: pkgconfig(gdk-pixbuf-2.0)
-BuildRequires: pkgconfig(gio-2.0)
-BuildRequires: pkgconfig(gobject-2.0)
-BuildRequires: pkgconfig(gobject-introspection-1.0)
-BuildRequires: pkgconfig(gtk+-3.0)
-BuildRequires: pkgconfig(gtk-doc)
-BuildRequires: pkgconfig(lcms2)
-BuildRequires: pkgconfig(libjpeg)
-BuildRequires: pkgconfig(libopenjp2)
-BuildRequires: pkgconfig(libpng)
-BuildRequires: pkgconfig(libtiff-4)
-BuildRequires: pkgconfig(nss)
-BuildRequires: pkgconfig(poppler-data)
-BuildRequires: pkgconfig(Qt5Core)
-BuildRequires: pkgconfig(Qt5Gui)
-BuildRequires: pkgconfig(Qt5Test)
-BuildRequires: pkgconfig(Qt5Widgets)
-BuildRequires: pkgconfig(Qt5Xml)
-BuildRequires: openjpeg2-tools
-Requires: poppler-data
-Obsoletes: poppler-glib-demos < 0.60.1-1
+%global __cmake_in_source_build 0
+
+%global test_sha ff3133cdb6cb496ee1d2c3231bfa35006a5e8410
+%global qt6 1
+
+Name: poppler
+Version: 24.03.0
+Release: 5
+Summary: PDF rendering library
+License: GPLv2+ and LGPLv2+ and MIT
+URL: http://poppler.freedesktop.org/
+Source0: http://poppler.freedesktop.org/poppler-%{version}.tar.xz
+Source1: https://gitlab.freedesktop.org/poppler/test/-/archive/%{test_sha}/test-%{test_sha}.tar.bz2
+
+Patch1: poppler-0.90.0-position-independent-code.patch
+Patch3: poppler-21.01.0-glib-introspection.patch
+
+Patch6000: backport-CVE-2024-6239.patch
+Patch6001: backport-CVE-2024-56378.patch
+
+BuildRequires: make
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: gettext-devel
+BuildRequires: pkgconfig(cairo)
+BuildRequires: pkgconfig(cairo-ft)
+BuildRequires: pkgconfig(cairo-pdf)
+BuildRequires: pkgconfig(cairo-ps)
+BuildRequires: pkgconfig(cairo-svg)
+BuildRequires: pkgconfig(fontconfig)
+BuildRequires: pkgconfig(freetype2)
+BuildRequires: pkgconfig(gdk-pixbuf-2.0)
+BuildRequires: pkgconfig(gio-2.0)
+BuildRequires: pkgconfig(gobject-2.0)
+BuildRequires: pkgconfig(gobject-introspection-1.0)
+BuildRequires: pkgconfig(gtk+-3.0)
+BuildRequires: pkgconfig(gtk-doc)
+BuildRequires: pkgconfig(lcms2)
+BuildRequires: pkgconfig(libjpeg)
+BuildRequires: pkgconfig(libopenjp2)
+BuildRequires: pkgconfig(libpng)
+BuildRequires: pkgconfig(libtiff-4)
+BuildRequires: pkgconfig(nss)
+BuildRequires: pkgconfig(poppler-data)
+BuildRequires: pkgconfig(Qt5Core)
+BuildRequires: pkgconfig(Qt5Gui)
+BuildRequires: pkgconfig(Qt5Test)
+BuildRequires: pkgconfig(Qt5Widgets)
+BuildRequires: pkgconfig(Qt5Xml)
+%if 0%{?qt6}
+BuildRequires: cmake(Qt6Core)
+BuildRequires: cmake(Qt6Gui)
+BuildRequires: cmake(Qt6Test)
+BuildRequires: cmake(Qt6Widgets)
+BuildRequires: cmake(Qt6Xml)
+%endif
+BuildRequires: boost-devel
+BuildRequires: gpgme-devel
+BuildRequires: cpp-gpgme
+BuildRequires: libcurl-devel
+
+Requires: poppler-data
+Obsoletes: poppler-glib-demos < 0.60.1-1
%description
-Poppler is a free software utility library for rendering Portable Document Form at (PDF) documents. \
-Its development is supported by freedesktop.org. It is commonly used on Linux systems,and is used by \
-the PDF viewers of the open source GNOME and KDE desktop environments.
+%{name} is a PDF rendering library.
%package devel
-Summary: Provide header files and libraries for poppler
-Requires: %{name} = %{version}-%{release}
+Summary: Libraries and headers for poppler
+Requires: %{name} = %{version}-%{release}
%description devel
You should install the poppler-devel package if you would like to
compile applications based on poppler.
%package glib
-Summary: Provide glib wrapper for poppler
-Requires: %{name} = %{version}-%{release}
+Summary: Glib wrapper for poppler
+Requires: %{name} = %{version}-%{release}
%description glib
-This package provides glib wrapper for poppler
+%{summary}.
%package glib-devel
-Summary: Provide development files for glib wrapper
-Requires: %{name}-glib = %{version}-%{release}
-Requires: %{name}-devel = %{version}-%{release}
-Suggests: %{name}-doc = %{version}-%{release}
+Summary: Development files for glib wrapper
+Requires: %{name}-glib = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Suggests: %{name}-doc = %{version}-%{release}
%description glib-devel
-This package provides development files for glib wrapper
+%{summary}.
%package glib-doc
-Summary: Documentation for glib wrapper
-BuildArch: noarch
+Summary: Documentation for glib wrapper
+BuildArch: noarch
%description glib-doc
-This package provides documentation files for glib wrapper
+%{summary}.
%package qt5
-Summary: Provides Qt5 wrapper for poppler
-Obsoletes: %{name}-qt <= 0.67.0-8
-Requires: %{name} = %{version}-%{release}
-
+Summary: Qt5 wrapper for poppler
+Requires: %{name} = %{version}-%{release}
+Obsoletes: %{name}-qt < 0.90.0-9
%description qt5
-This package provides Qt5 wrapper for poppler.
+%{summary}.
%package qt5-devel
-Summary: Provides development files for Qt5 wrapper
-Obsoletes: %{name}-qt-devel <= 0.67.0-8
-Requires: %{name}-qt5 = %{version}-%{release}
-Requires: %{name}-devel = %{version}-%{release}
-Requires: qt5-qtbase-devel
-
+Summary: Development files for Qt5 wrapper
+Requires: %{name}-qt5 = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Requires: qt5-qtbase-devel
+Obsoletes: %{name}-qt-devel < 0.90.0-9
%description qt5-devel
-This package provides development files for Qt5 wrapper.
+%{summary}.
+
+%if 0%{?qt6}
+%package qt6
+Summary: Qt6 wrapper for poppler
+Requires: %{name} = %{version}-%{release}
+%description qt6
+%{summary}.
+
+%package qt6-devel
+Summary: Development files for Qt6 wrapper
+Requires: %{name}-qt6 = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Requires: qt6-qtbase-devel
+%description qt6-devel
+%{summary}.
+%endif
%package cpp
-Summary: Provide pure C++ wrapper for poppler
-Requires: %{name} = %{version}-%{release}
+Summary: Pure C++ wrapper for poppler
+Requires: %{name} = %{version}-%{release}
%description cpp
-This package provides pure C++ wrapper for poppler
+%{summary}.
%package cpp-devel
-Summary: Provide development files for C++ wrapper
-Requires: %{name}-cpp = %{version}-%{release}
-Requires: %{name}-devel = %{version}-%{release}
+Summary: Development files for C++ wrapper
+Requires: %{name}-cpp = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
%description cpp-devel
-This package provides development files for C++ wrapper
+%{summary}.
%package utils
-Summary: Command line utilities for converting PDF files
-Requires: %{name} = %{version}-%{release}
+Summary: Command line utilities for converting PDF files
+Requires: %{name} = %{version}-%{release}
%description utils
Command line tools for manipulating PDF files and converting them to
other formats.
@@ -138,11 +153,13 @@ other formats.
%package_help
%prep
-%autosetup -p1 -b 1
+%autosetup -p1
+tar xf %{S:1}
+chmod -x poppler/CairoFontEngine.cc
+# disable test check_signature_basics, it will timeout
+sed -i "/check_signature_basics/d" {qt5,qt6}/tests/CMakeLists.txt
%build
-mkdir build
-cd build
%cmake \
-DENABLE_CMS=lcms2 \
-DENABLE_DCTDECODER=libjpeg \
@@ -150,34 +167,30 @@ cd build
-DENABLE_LIBOPENJPEG=openjpeg2 \
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
-DENABLE_ZLIB=OFF \
- ..
-%make_build
+ -DTESTDATADIR=%{_builddir}/%{name}-%{version}/test-%{test_sha}
+%cmake_build
%install
-%make_install -C build
+%cmake_install
%check
-%make_build test
+%ctest
export PKG_CONFIG_PATH=%{buildroot}%{_datadir}/pkgconfig:%{buildroot}%{_libdir}/pkgconfig
-#test "$(pkg-config --modversion poppler)" = "%{version}"
-test "$(pkg-config --modversion poppler-cairo)" = "%{version}"
+test "$(pkg-config --modversion poppler)" = "%{version}"
test "$(pkg-config --modversion poppler-cpp)" = "%{version}"
test "$(pkg-config --modversion poppler-glib)" = "%{version}"
test "$(pkg-config --modversion poppler-qt5)" = "%{version}"
-test "$(pkg-config --modversion poppler-splash)" = "%{version}"
-%ldconfig_scriptlets
-%ldconfig_scriptlets glib
-
-%ldconfig_scriptlets qt5
-%ldconfig_scriptlets cpp
+%if 0%{?qt6}
+test "$(pkg-config --modversion poppler-qt6)" = "%{version}"
+%endif
%files
+%doc README.md
%license COPYING
-%{_libdir}/libpoppler.so.101*
+%{_libdir}/libpoppler.so.135*
%files devel
%{_libdir}/pkgconfig/poppler.pc
-%{_libdir}/pkgconfig/poppler-splash.pc
%{_libdir}/libpoppler.so
%dir %{_includedir}/poppler/
# xpdf headers
@@ -192,7 +205,6 @@ test "$(pkg-config --modversion poppler-splash)" = "%{version}"
%files glib-devel
%{_libdir}/pkgconfig/poppler-glib.pc
-%{_libdir}/pkgconfig/poppler-cairo.pc
%{_libdir}/libpoppler-glib.so
%{_datadir}/gir-1.0/Poppler-0.18.gir
%{_includedir}/poppler/glib/
@@ -219,62 +231,71 @@ test "$(pkg-config --modversion poppler-splash)" = "%{version}"
%files utils
%{_bindir}/pdf*
+%{_mandir}/man1/*
+
+%if 0%{?qt6}
+%files qt6
+%{_libdir}/libpoppler-qt6.so.3*
+
+%files qt6-devel
+%{_libdir}/libpoppler-qt6.so
+%{_libdir}/pkgconfig/poppler-qt6.pc
+%{_includedir}/poppler/qt6/
+%endif
%files help
%doc README.md
%{_mandir}/man1/*
%changelog
-* Mon Dec 23 2024 Funda Wang <fundawang@yeah.net> - 0.90.0-10
+* Tue Dec 24 2024 lingsheng <lingsheng1@h-partners.com> - 24.03.0-5
- fix CVE-2024-56378
-* Wed Sep 25 2024 lingsheng <lingsheng1@h-partners.com> - 0.90.0-9
-- Type:CVE
-- CVE:CVE-2024-4141
-- SUG:NA
-- DESC:fix CVE-2024-4141
+* Tue Dec 17 2024 lingsheng <lingsheng1@h-partners.com> - 24.03.0-4
+- fix force out-of-source build
+- disable test check_signature_basics
-* Tue Jun 25 2024 lingsheng <lingsheng1@h-partners.com> - 0.90.0-8
+* Thu Nov 21 2024 Funda Wang <fundawang@yeah.net> - 24.03.0-3
+- adopt to new cmake macro
+- force out-of-source build
+- update test tarball
+
+* Mon Jun 24 2024 Zhao Mengmeng <zhaomengmeng@kylinos.cn> - 24.03.0-2
- Type:CVE
- CVE:CVE-2024-6239
- SUG:NA
- DESC:fix CVE-2024-6239
-* Wed Nov 29 2023 xiongyi <xiongyi@uniontech.com> - 0.90.0-7
-- fix CVE-2020-36023
-- fix infinite looping in cvtGlyph with broken files
-- patch source:https://gitlab.freedesktop.org/poppler/poppler/-/issues/1013
+* Tue Apr 02 2024 liweigang <liweiganga@uniontech.com> - 24.03.0-1
+- update to version 24.03.0
-* Wed Aug 30 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 0.90.0-6
-- fix CVE-2022-37050,CVE-2022-37051,CVE-2022-37052,CVE-2022-38349,CVE-2020-23804
-- fix install error
+* Thu Dec 28 2023 Paul Thomas <paulthomas100199@gmail.com> - 23.12.0-1
+- update to version 23.12.0
-* Thu May 25 2023 zhangpan <zhangpan103@h-partners.com> - 0.90.0-5
-- fix changelog error
+* Tue Aug 08 2023 yajun<yajun@kylinos.cn> - 23.08.0-1
+- update to upstream version 23.08.0
-* Tue Mar 14 2023 zhangpan <zhangpan103@h-partners.com> - 0.90.0-4
-- fix CVE-2022-27337
+* Tue Mar 14 2023 zhangpan <zhangpan103@h-partners.com> - 22.01.0-3
+- Type:CVE
+- CVE:CVE-2022-27337
+- SUG:NA
+- DESC:fix CVE-2022-27337
-* Tue Sep 06 2022 zhouwenpei <zhouwenpei1@h-partners.com> - 0.90.0-3
+* Tue Sep 06 2022 qz_cx <wangqingzheng@kylinos.cn> - 22.01.0-2
+- Type:CVE
+- CVE:CVE-2022-38784
+- SUG:NA
+- DESC: fix CVE-2022-38784
- fix CVE-2022-38784
-* Tue Jan 18 2022 xu_ping <xuping33@huawei.com> - 0.90.0-2
-- Add BuildRequires openjpeg2-tools to fix "/usr/bin/opj2_decompress" not found
+* Mon Jun 13 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 22.01.0-1
+- Update to 22.01.0
-* Fri Dec 31 2021 xu_ping <xuping33@huawei.com> - 0.90.0-1
-- update to 0.90.0
+* Tue Sep 07 2021 chenchen <chen_aka_jan@163.com> - 0.90.0-2
+- add help moudle for ISO creating
-* Wed Sep 29 2021 yangcheng <yangcheng87@huawei.com> - 0.67.0-10
-- Type:bugfix
-- Id:NA
-- SUG:NA
-- DESC:Modify the patch number
-
-* Tue Sep 28 2021 hanhuihui <hanhuihui5@huawei.com> - 0.67.0-9
-- Type:cves
-- Id:NA
-- SUG:NA
-- DESC:fix CVE-2019-12293 CVE-2020-27778
+* Tue Aug 24 2021 chenchen <chen_aka_jan@163.com> - 0.90.0-1
+- update to 0.90.0
* Fri Jul 30 2021 chenyanpanHW <chenyanpan@huawei.com> - 0.67.0-8
- DESC: delete -S git from %autosetup, and delete BuildRequires git