diff --git a/.gitignore b/.gitignore index ab92ba5..f354250 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ /poppler-0.56.0.tar.xz /poppler-0.57.0.tar.xz /poppler-0.59.0.tar.xz +/poppler-0.60.1.tar.xz diff --git a/0001-do-not-install-Function.cc-as-it-s-not-a-header.patch b/0001-do-not-install-Function.cc-as-it-s-not-a-header.patch new file mode 100644 index 0000000..fb0c91b --- /dev/null +++ b/0001-do-not-install-Function.cc-as-it-s-not-a-header.patch @@ -0,0 +1,24 @@ +From d8aa752574169b6c9e936e4478bee7fa4b781034 Mon Sep 17 00:00:00 2001 +From: David Tardon +Date: Fri, 6 Oct 2017 08:07:35 +0200 +Subject: [PATCH] do not install Function.cc, as it's not a header + +--- + CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7485b2ad..fe5911c3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -572,7 +572,6 @@ if(ENABLE_XPDF_HEADERS) + poppler/FontEncodingTables.h + poppler/FontInfo.h + poppler/Form.h +- poppler/Function.cc + poppler/Function.h + poppler/Gfx.h + poppler/GfxFont.h +-- +2.14.1 + diff --git a/mingw-poppler.spec b/mingw-poppler.spec index 5eeb10c..472d8e3 100644 --- a/mingw-poppler.spec +++ b/mingw-poppler.spec @@ -3,8 +3,8 @@ %global pkgname poppler Name: mingw-%{pkgname} -Version: 0.59.0 -Release: 2%{?dist} +Version: 0.60.1 +Release: 1%{?dist} Summary: MinGW Windows Poppler library License: (GPLv2 or GPLv3) and GPLv2+ and LGPLv2+ and MIT @@ -14,9 +14,14 @@ Source0: http://poppler.freedesktop.org/%{pkgname}-%{version}.tar.xz # Fix CVE-2017-9083 (#1453200) Patch0: poppler_CVE-2017-9083.patch -# Fix CVE-2017-14520 (#1494584) -Patch1: poppler_CVE-2017-14520.patch - +# Add so version suffixes to windows dlls +Patch2: poppler_so-suffix.patch +# Install pkg-config files when doing mingw build +Patch3: poppler_pkgconfig.patch +# Don't install a source file which is not a header +Patch4: 0001-do-not-install-Function.cc-as-it-s-not-a-header.patch + +BuildRequires: cmake BuildRequires: gettext-devel BuildRequires: perl(File::Temp) @@ -50,170 +55,100 @@ MinGW Windows Poppler library. %package -n mingw32-%{pkgname} Summary: MinGW Windows Poppler library +Obsoletes: mingw32-%{pkgname}-static %description -n mingw32-%{pkgname} MinGW Windows Poppler library. - -%package -n mingw32-%{pkgname}-static -Summary: Static version of the MinGW Windows Poppler library -Requires: mingw32-%{pkgname} = %{version}-%{release} - -%description -n mingw32-%{pkgname}-static -Static version of the MinGW Windows Poppler library. - ############################################################################### %package -n mingw32-%{pkgname}-glib Summary: MinGW Windows Poppler-Glib library Requires: mingw32-%{pkgname} = %{version}-%{release} +Obsoletes: mingw32-%{pkgname}-glib-static %description -n mingw32-%{pkgname}-glib MinGW Windows Poppler-Glib library. - -%package -n mingw32-%{pkgname}-glib-static -Summary: Static version of the MinGW Windows Poppler-Glib library -Requires: mingw32-%{pkgname}-glib = %{version}-%{release} - -%description -n mingw32-%{pkgname}-glib-static -Static version of the MinGW Windows Poppler-Glib library. - ############################################################################### %package -n mingw32-%{pkgname}-qt Summary: MinGW Windows Poppler-Qt4 library Requires: mingw32-%{pkgname} = %{version}-%{release} +Obsoletes: mingw32-%{pkgname}-qt-static %description -n mingw32-%{pkgname}-qt MinGW Windows Poppler-Qt4 library. - -%package -n mingw32-%{pkgname}-qt-static -Summary: Static version of the MinGW Windows Poppler-Qt4 library -Requires: mingw32-%{pkgname}-qt = %{version}-%{release} - -%description -n mingw32-%{pkgname}-qt-static -Static version of the MinGW Windows Poppler-Qt4 library. - ############################################################################### %package -n mingw32-%{pkgname}-qt5 Summary: MinGW Windows Poppler-Qt5 library Requires: mingw32-%{pkgname} = %{version}-%{release} +Obsoletes: mingw32-%{pkgname}-qt5-static %description -n mingw32-%{pkgname}-qt5 MinGW Windows Poppler-Qt5 library. - -%package -n mingw32-%{pkgname}-qt5-static -Summary: Static version of the MinGW Windows Poppler-Qt5 library -Requires: mingw32-%{pkgname}-qt5 = %{version}-%{release} - -%description -n mingw32-%{pkgname}-qt5-static -Static version of the MinGW Windows Poppler-Qt5 library. - ############################################################################### %package -n mingw32-%{pkgname}-cpp Summary: MinGW Windows C++ Poppler library Requires: mingw32-%{pkgname} = %{version}-%{release} +Obsoletes: mingw32-%{pkgname}-cpp-static %description -n mingw32-%{pkgname}-cpp MinGW Windows C++ Poppler library. - -%package -n mingw32-%{pkgname}-cpp-static -Summary: Static version of the MinGW Windows C++ Poppler library -Requires: mingw32-%{pkgname}-cpp = %{version}-%{release} - -%description -n mingw32-%{pkgname}-cpp-static -Static version of the MinGW Windows C++ Poppler library. - ############################################################################### %package -n mingw64-%{pkgname} Summary: MinGW Windows Poppler library +Obsoletes: mingw64-%{pkgname}-static %description -n mingw64-%{pkgname} MinGW Windows Poppler library. - -%package -n mingw64-%{pkgname}-static -Summary: Static version of the MinGW Windows Poppler library -Requires: mingw64-%{pkgname} = %{version}-%{release} - -%description -n mingw64-%{pkgname}-static -Static version of the MinGW Windows Poppler library. - ############################################################################### %package -n mingw64-%{pkgname}-glib Summary: MinGW Windows Poppler-Glib library Requires: mingw64-%{pkgname} = %{version}-%{release} +Obsoletes: mingw64-%{pkgname}-glib-static %description -n mingw64-%{pkgname}-glib MinGW Windows Poppler-Glib library. - -%package -n mingw64-%{pkgname}-glib-static -Summary: Static version of the MinGW Windows Poppler-Glib library -Requires: mingw64-%{pkgname}-glib = %{version}-%{release} - -%description -n mingw64-%{pkgname}-glib-static -Static version of the MinGW Windows Poppler-Glib library. - ############################################################################### %package -n mingw64-%{pkgname}-qt Summary: MinGW Windows Poppler-Qt4 library Requires: mingw64-%{pkgname} = %{version}-%{release} +Obsoletes: mingw64-%{pkgname}-qt-static %description -n mingw64-%{pkgname}-qt MinGW Windows Poppler-Qt4 library. - -%package -n mingw64-%{pkgname}-qt-static -Summary: Static version of the MinGW Windows Poppler-Qt4 library -Requires: mingw64-%{pkgname}-qt = %{version}-%{release} - -%description -n mingw64-%{pkgname}-qt-static -Static version of the MinGW Windows Poppler-Qt4 library. - ############################################################################### %package -n mingw64-%{pkgname}-qt5 Summary: MinGW Windows Poppler-Qt5 library Requires: mingw64-%{pkgname} = %{version}-%{release} +Obsoletes: mingw64-%{pkgname}-qt5-static %description -n mingw64-%{pkgname}-qt5 MinGW Windows Poppler-Qt5 library. - -%package -n mingw64-%{pkgname}-qt5-static -Summary: Static version of the MinGW Windows Poppler-Qt5 library -Requires: mingw64-%{pkgname}-qt5 = %{version}-%{release} - -%description -n mingw64-%{pkgname}-qt5-static -Static version of the MinGW Windows Poppler-Qt5 library. - ############################################################################### %package -n mingw64-%{pkgname}-cpp Summary: MinGW Windows C++ Poppler library Requires: mingw64-%{pkgname} = %{version}-%{release} +Obsoletes: mingw64-%{pkgname}-cpp-static %description -n mingw64-%{pkgname}-cpp MinGW Windows C++ Poppler library. - -%package -n mingw64-%{pkgname}-cpp-static -Summary: Static version of the MinGW Windows C++ Poppler library -Requires: mingw64-%{pkgname}-cpp = %{version}-%{release} - -%description -n mingw64-%{pkgname}-cpp-static -Static version of the MinGW Windows C++ Poppler library. - ############################################################################### %{?mingw_debug_package} @@ -224,14 +159,12 @@ Static version of the MinGW Windows C++ Poppler library. %build -%mingw_configure \ - --enable-cairo-output \ - --enable-libjpeg \ - --enable-libopenjpeg=openjpeg2 \ - --enable-poppler-qt4 \ - --enable-poppler-qt5 \ - --enable-xpdf-headers \ - --disable-zlib +%mingw_cmake \ + -DENABLE_CMS=lcms2 \ + -DENABLE_DCTDECODER=libjpeg \ + -DENABLE_LIBOPENJPEG=openjpeg2 \ + -DENABLE_XPDF_HEADERS=ON \ + -DENABLE_ZLIB=OFF \ %mingw_make %{?_smp_mflags} V=1 @@ -254,7 +187,7 @@ rm -f %{buildroot}%{mingw64_bindir}/*.exe %files -n mingw32-%{pkgname} %license COPYING %doc README -%{mingw32_bindir}/libpoppler-70.dll +%{mingw32_bindir}/libpoppler-71.dll %{mingw32_includedir}/poppler/ %exclude %{mingw32_includedir}/poppler/cpp/ %exclude %{mingw32_includedir}/poppler/glib/ @@ -264,9 +197,6 @@ rm -f %{buildroot}%{mingw64_bindir}/*.exe %{mingw32_libdir}/pkgconfig/poppler.pc %{mingw32_libdir}/pkgconfig/poppler-splash.pc -%files -n mingw32-%{pkgname}-static -%{mingw32_libdir}/libpoppler.a - %files -n mingw32-%{pkgname}-glib %{mingw32_bindir}/libpoppler-glib-8.dll %{mingw32_includedir}/poppler/glib/ @@ -274,40 +204,28 @@ rm -f %{buildroot}%{mingw64_bindir}/*.exe %{mingw32_libdir}/pkgconfig/poppler-glib.pc %{mingw32_libdir}/pkgconfig/poppler-cairo.pc -%files -n mingw32-%{pkgname}-glib-static -%{mingw32_libdir}/libpoppler-glib.a - %files -n mingw32-%{pkgname}-qt %{mingw32_bindir}/libpoppler-qt4-4.dll %{mingw32_includedir}/poppler/qt4/ %{mingw32_libdir}/libpoppler-qt4.dll.a %{mingw32_libdir}/pkgconfig/poppler-qt4.pc -%files -n mingw32-%{pkgname}-qt-static -%{mingw32_libdir}/libpoppler-qt4.a - %files -n mingw32-%{pkgname}-qt5 %{mingw32_bindir}/libpoppler-qt5-1.dll %{mingw32_includedir}/poppler/qt5/ %{mingw32_libdir}/libpoppler-qt5.dll.a %{mingw32_libdir}/pkgconfig/poppler-qt5.pc -%files -n mingw32-%{pkgname}-qt5-static -%{mingw32_libdir}/libpoppler-qt5.a - %files -n mingw32-%{pkgname}-cpp %{mingw32_bindir}/libpoppler-cpp-0.dll %{mingw32_includedir}/poppler/cpp/ %{mingw32_libdir}/libpoppler-cpp.dll.a %{mingw32_libdir}/pkgconfig/poppler-cpp.pc -%files -n mingw32-%{pkgname}-cpp-static -%{mingw32_libdir}/libpoppler-cpp.a - %files -n mingw64-%{pkgname} %license COPYING %doc README -%{mingw64_bindir}/libpoppler-70.dll +%{mingw64_bindir}/libpoppler-71.dll %{mingw64_includedir}/poppler/ %exclude %{mingw64_includedir}/poppler/cpp/ %exclude %{mingw64_includedir}/poppler/glib/ @@ -317,9 +235,6 @@ rm -f %{buildroot}%{mingw64_bindir}/*.exe %{mingw64_libdir}/pkgconfig/poppler.pc %{mingw64_libdir}/pkgconfig/poppler-splash.pc -%files -n mingw64-%{pkgname}-static -%{mingw64_libdir}/libpoppler.a - %files -n mingw64-%{pkgname}-glib %{mingw64_bindir}/libpoppler-glib-8.dll %{mingw64_includedir}/poppler/glib/ @@ -327,38 +242,29 @@ rm -f %{buildroot}%{mingw64_bindir}/*.exe %{mingw64_libdir}/pkgconfig/poppler-glib.pc %{mingw64_libdir}/pkgconfig/poppler-cairo.pc -%files -n mingw64-%{pkgname}-glib-static -%{mingw64_libdir}/libpoppler-glib.a - %files -n mingw64-%{pkgname}-qt %{mingw64_bindir}/libpoppler-qt4-4.dll %{mingw64_includedir}/poppler/qt4/ %{mingw64_libdir}/libpoppler-qt4.dll.a %{mingw64_libdir}/pkgconfig/poppler-qt4.pc -%files -n mingw64-%{pkgname}-qt-static -%{mingw64_libdir}/libpoppler-qt4.a - %files -n mingw64-%{pkgname}-qt5 %{mingw64_bindir}/libpoppler-qt5-1.dll %{mingw64_includedir}/poppler/qt5/ %{mingw64_libdir}/libpoppler-qt5.dll.a %{mingw64_libdir}/pkgconfig/poppler-qt5.pc -%files -n mingw64-%{pkgname}-qt5-static -%{mingw64_libdir}/libpoppler-qt5.a - %files -n mingw64-%{pkgname}-cpp %{mingw64_bindir}/libpoppler-cpp-0.dll %{mingw64_includedir}/poppler/cpp/ %{mingw64_libdir}/libpoppler-cpp.dll.a %{mingw64_libdir}/pkgconfig/poppler-cpp.pc -%files -n mingw64-%{pkgname}-cpp-static -%{mingw64_libdir}/libpoppler-cpp.a - %changelog +* Sun Oct 08 2017 Sandro Mani - 0.60.1-1 +- Update to 0.60.1 + * Mon Oct 02 2017 Sandro Mani - 0.59.0-2 - Add patch for CVE-2017-14520 (#1494584) diff --git a/poppler_CVE-2017-14520.patch b/poppler_CVE-2017-14520.patch deleted file mode 100644 index f71ff53..0000000 --- a/poppler_CVE-2017-14520.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 504b3590182175390f474657a372e78fb1508262 Mon Sep 17 00:00:00 2001 -From: Albert Astals Cid -Date: Thu, 14 Sep 2017 19:14:23 +0200 -Subject: Splash::scaleImage: Do not try to scale if srcHeight or srcWidth are - < 1 - -Bug #102719 - -diff --git a/splash/Splash.cc b/splash/Splash.cc -index 39fc7d6..aba7814 100644 ---- a/splash/Splash.cc -+++ b/splash/Splash.cc -@@ -4152,7 +4152,7 @@ SplashBitmap *Splash::scaleImage(SplashImageSource src, void *srcData, - SplashBitmap *dest; - - dest = new SplashBitmap(scaledWidth, scaledHeight, 1, srcMode, srcAlpha, gTrue, bitmap->getSeparationList()); -- if (dest->getDataPtr() != NULL) { -+ if (dest->getDataPtr() != NULL && srcHeight > 0 && srcWidth > 0) { - if (scaledHeight < srcHeight) { - if (scaledWidth < srcWidth) { - scaleImageYdXd(src, srcData, srcMode, nComps, srcAlpha, --- -cgit v0.10.2 - diff --git a/poppler_pkgconfig.patch b/poppler_pkgconfig.patch new file mode 100644 index 0000000..40fd819 --- /dev/null +++ b/poppler_pkgconfig.patch @@ -0,0 +1,16 @@ +diff -rupN poppler-0.60.1/cmake/modules/PopplerMacros.cmake poppler-0.60.1-new/cmake/modules/PopplerMacros.cmake +--- poppler-0.60.1/cmake/modules/PopplerMacros.cmake 2017-10-05 19:15:44.000000000 +0200 ++++ poppler-0.60.1-new/cmake/modules/PopplerMacros.cmake 2017-10-08 22:47:14.787726931 +0200 +@@ -43,10 +43,10 @@ macro(POPPLER_ADD_UNITTEST exe build_fla + endmacro(POPPLER_ADD_UNITTEST) + + macro(POPPLER_CREATE_INSTALL_PKGCONFIG generated_file install_location) +- if(NOT WIN32) ++ if(NOT MSVC) + configure_file(${generated_file}.cmake ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} DESTINATION ${install_location}) +- endif(NOT WIN32) ++ endif(NOT MSVC) + endmacro(POPPLER_CREATE_INSTALL_PKGCONFIG) + + macro(SHOW_END_MESSAGE what value) diff --git a/poppler_so-suffix.patch b/poppler_so-suffix.patch new file mode 100644 index 0000000..6d98fb5 --- /dev/null +++ b/poppler_so-suffix.patch @@ -0,0 +1,65 @@ +diff -rupN poppler-0.60.1/CMakeLists.txt poppler-0.60.1-new/CMakeLists.txt +--- poppler-0.60.1/CMakeLists.txt 2017-10-05 19:15:44.000000000 +0200 ++++ poppler-0.60.1-new/CMakeLists.txt 2017-10-08 22:33:20.307773089 +0200 +@@ -551,6 +551,9 @@ else() + add_library(poppler ${poppler_SRCS}) + endif() + set_target_properties(poppler PROPERTIES VERSION 71.0.0 SOVERSION 71) ++if(WIN32) ++ set_target_properties(poppler PROPERTIES SUFFIX "-71${CMAKE_SHARED_LIBRARY_SUFFIX}") ++endif(WIN32) + target_link_libraries(poppler LINK_PRIVATE ${poppler_LIBS}) + install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX}) + +diff -rupN poppler-0.60.1/cpp/CMakeLists.txt poppler-0.60.1-new/cpp/CMakeLists.txt +--- poppler-0.60.1/cpp/CMakeLists.txt 2017-10-05 19:15:44.000000000 +0200 ++++ poppler-0.60.1-new/cpp/CMakeLists.txt 2017-10-08 22:33:41.990771890 +0200 +@@ -24,6 +24,9 @@ set(poppler_cpp_SRCS + + add_library(poppler-cpp SHARED ${poppler_cpp_SRCS}) + set_target_properties(poppler-cpp PROPERTIES VERSION 0.3.0 SOVERSION 0) ++if(WIN32) ++ set_target_properties(poppler-cpp PROPERTIES SUFFIX "-0${CMAKE_SHARED_LIBRARY_SUFFIX}") ++endif(WIN32) + target_link_libraries(poppler-cpp poppler ${ICONV_LIBRARIES}) + install(TARGETS poppler-cpp RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX}) + +diff -rupN poppler-0.60.1/glib/CMakeLists.txt poppler-0.60.1-new/glib/CMakeLists.txt +--- poppler-0.60.1/glib/CMakeLists.txt 2017-10-05 19:15:44.000000000 +0200 ++++ poppler-0.60.1-new/glib/CMakeLists.txt 2017-10-08 22:33:31.590772465 +0200 +@@ -82,6 +82,9 @@ set(poppler_glib_generated_SRCS + ) + add_library(poppler-glib SHARED ${poppler_glib_SRCS} ${poppler_glib_generated_SRCS}) + set_target_properties(poppler-glib PROPERTIES VERSION 8.9.0 SOVERSION 8) ++if(WIN32) ++ set_target_properties(poppler-glib PROPERTIES SUFFIX "-8${CMAKE_SHARED_LIBRARY_SUFFIX}") ++endif(WIN32) + target_link_libraries(poppler-glib poppler ${GLIB2_LIBRARIES} ${CAIRO_LIBRARIES} ${FREETYPE_LIBRARIES}) + if(HAVE_PTHREAD) + target_link_libraries(poppler-glib -lpthread) +diff -rupN poppler-0.60.1/qt4/src/CMakeLists.txt poppler-0.60.1-new/qt4/src/CMakeLists.txt +--- poppler-0.60.1/qt4/src/CMakeLists.txt 2017-10-05 19:15:44.000000000 +0200 ++++ poppler-0.60.1-new/qt4/src/CMakeLists.txt 2017-10-08 22:34:17.743769912 +0200 +@@ -31,6 +31,9 @@ set(poppler_qt4_SRCS + qt4_automoc(${poppler_qt4_SRCS}) + add_library(poppler-qt4 SHARED ${poppler_qt4_SRCS}) + set_target_properties(poppler-qt4 PROPERTIES VERSION 4.11.0 SOVERSION 4) ++if(WIN32) ++ set_target_properties(poppler-qt4 PROPERTIES SUFFIX "-4${CMAKE_SHARED_LIBRARY_SUFFIX}") ++endif(WIN32) + target_link_libraries(poppler-qt4 poppler ${QT4_QTCORE_LIBRARY} ${QT4_QTGUI_LIBRARY} ${QT4_QTXML_LIBRARY}) + if(MSVC) + target_link_libraries(poppler-qt4 poppler ${poppler_LIBS}) +diff -rupN poppler-0.60.1/qt5/src/CMakeLists.txt poppler-0.60.1-new/qt5/src/CMakeLists.txt +--- poppler-0.60.1/qt5/src/CMakeLists.txt 2017-10-05 19:15:44.000000000 +0200 ++++ poppler-0.60.1-new/qt5/src/CMakeLists.txt 2017-10-08 22:34:07.944770454 +0200 +@@ -31,6 +31,9 @@ set(poppler_qt5_SRCS + ) + add_library(poppler-qt5 SHARED ${poppler_qt5_SRCS}) + set_target_properties(poppler-qt5 PROPERTIES VERSION 1.11.0 SOVERSION 1) ++if(WIN32) ++ set_target_properties(poppler-qt5 PROPERTIES SUFFIX "-1${CMAKE_SHARED_LIBRARY_SUFFIX}") ++endif(WIN32) + target_link_libraries(poppler-qt5 poppler ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Xml_LIBRARIES}) + if(MSVC) + target_link_libraries(poppler-qt5 poppler ${poppler_LIBS}) diff --git a/sources b/sources index aeb7639..04b5a1f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (poppler-0.59.0.tar.xz) = 23777922dc95feee2a4459281081b37e124a39fc25cd00c2c3fc206f5484c13eb9ac5317f674fbbcb51e384f9a53e38b4cacbf1426c68d2bae21a7cefbc48a0e +SHA512 (poppler-0.60.1.tar.xz) = db73524b7413dddee38d5a049f3926338ee123b8fc4893d80ee9cf5aaae47c8c7b75b112293b156cd375894e548ec68e5fbf4af305e77b43bc3868ad1c966cdc