diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-06-20 19:08:33 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-06-20 19:10:07 +0200 |
commit | c955bde238137a9decfbb8d65203eab39711b6ab (patch) | |
tree | 5796475e2ae33867e91e3a04ae0a1399d0fb43af /app-text | |
parent | media-video/loopy: Import from Gentoo ebuild repository (diff) | |
download | kde-sunset-c955bde238137a9decfbb8d65203eab39711b6ab.tar.gz kde-sunset-c955bde238137a9decfbb8d65203eab39711b6ab.tar.bz2 kde-sunset-c955bde238137a9decfbb8d65203eab39711b6ab.zip |
app-text/poppler: Import 0.61.1 from Gentoo ebuild repository
Last version with Qt4 support.
Diffstat (limited to 'app-text')
-rw-r--r-- | app-text/poppler/Manifest | 1 | ||||
-rw-r--r-- | app-text/poppler/files/poppler-0.28.1-fix-multilib-configuration.patch | 23 | ||||
-rw-r--r-- | app-text/poppler/files/poppler-0.33.0-openjpeg2.patch | 15 | ||||
-rw-r--r-- | app-text/poppler/files/poppler-0.40-FindQt4.patch | 31 | ||||
-rw-r--r-- | app-text/poppler/files/poppler-0.57.0-disable-internal-jpx.patch | 25 | ||||
-rw-r--r-- | app-text/poppler/files/poppler-0.60.1-qt5-dependencies.patch | 29 | ||||
-rw-r--r-- | app-text/poppler/files/poppler-0.61.0-respect-cflags.patch | 55 | ||||
-rw-r--r-- | app-text/poppler/metadata.xml | 3 | ||||
-rw-r--r-- | app-text/poppler/poppler-0.61.1.ebuild | 145 |
9 files changed, 326 insertions, 1 deletions
diff --git a/app-text/poppler/Manifest b/app-text/poppler/Manifest index fe16d6ca..9716caf8 100644 --- a/app-text/poppler/Manifest +++ b/app-text/poppler/Manifest @@ -1,2 +1,3 @@ DIST poppler-0.14.5.tar.gz 1798194 SHA256 c805317c4c1a7080098ae8c7c2a1c1b8e2c784858fc2e04941878eeb8164814c DIST poppler-0.16.7.tar.gz 1952179 SHA256 fab4e8af2d34d4142a718819fd747d40930b71ef520ee0e6bcc94e2c44f22bcd +DIST poppler-0.61.1.tar.xz 1433696 BLAKE2B 6749466223d3bb0e891c6b26c7f1faa5c774dd47ac94c22474efe4a52af228aeb2abbb8ab268667acaa83fb41293246266124a111740df764eeedbe229fa70aa SHA512 780ebf07ad757635f3f71c7b1f61ad0849526f99f0dc514c3290c4e8db7000a68dfe50c17253d4c086aec5c5390055102478eba96699088179822f3be5ce278d diff --git a/app-text/poppler/files/poppler-0.28.1-fix-multilib-configuration.patch b/app-text/poppler/files/poppler-0.28.1-fix-multilib-configuration.patch new file mode 100644 index 00000000..f0a8d3c7 --- /dev/null +++ b/app-text/poppler/files/poppler-0.28.1-fix-multilib-configuration.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7178d25..934f38f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -119,6 +119,18 @@ else(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSIO + message("-- CMake >= 2.8.8 is needed to enable Qt5") + endif(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.8.7) + ++# ++# Ugly workaround: Manually patch library paths for Qt4 and Qt5: ++# ++IF( "${CMAKE_CXX_FLAGS}" MATCHES "-m32") ++ GET_CMAKE_PROPERTY(_res VARIABLES) ++ FOREACH(_var ${_res}) ++ IF(_var MATCHES "^QT" AND ${_var} MATCHES "lib64") ++ STRING(REPLACE "lib64" "lib32" ${_var} "${${_var}}") ++ ENDIF() ++ ENDFOREACH() ++ENDIF() ++ + macro_optional_find_package(Cairo ${CAIRO_VERSION}) + if(CAIRO_FOUND) + set(HAVE_CAIRO ${CAIRO_FOUND}) diff --git a/app-text/poppler/files/poppler-0.33.0-openjpeg2.patch b/app-text/poppler/files/poppler-0.33.0-openjpeg2.patch new file mode 100644 index 00000000..af1a72fe --- /dev/null +++ b/app-text/poppler/files/poppler-0.33.0-openjpeg2.patch @@ -0,0 +1,15 @@ +Sadly the CMake side of openjpeg slotting in Gentoo is broken. +To reliably find openjpeg:2 we need to use pkg-config. + +diff -ruN poppler-0.33.0.orig/CMakeLists.txt poppler-0.33.0/CMakeLists.txt +--- poppler-0.33.0.orig/CMakeLists.txt 2015-05-14 20:22:31.000000000 +0200 ++++ poppler-0.33.0/CMakeLists.txt 2015-05-24 20:39:30.163709257 +0200 +@@ -172,7 +172,7 @@ + set(USE_OPENJPEG1 ${LIBOPENJPEG_FOUND}) + set(WITH_OPENJPEG ${LIBOPENJPEG_FOUND}) + elseif(ENABLE_LIBOPENJPEG STREQUAL "openjpeg2") +- find_package(LIBOPENJPEG2) ++ pkg_check_modules(LIBOPENJPEG2 libopenjp2) + set(USE_OPENJPEG2 ${LIBOPENJPEG2_FOUND}) + set(WITH_OPENJPEG ${LIBOPENJPEG2_FOUND}) + endif() diff --git a/app-text/poppler/files/poppler-0.40-FindQt4.patch b/app-text/poppler/files/poppler-0.40-FindQt4.patch new file mode 100644 index 00000000..84c58d5f --- /dev/null +++ b/app-text/poppler/files/poppler-0.40-FindQt4.patch @@ -0,0 +1,31 @@ + +Ensure that the correct version of Qt is always used. + +With the introduction qt-4.8.6, Qt binaries were moved from /usr/bin to +/usr/$(get_libdir)/qt4/bin, leaving behind in their place symlinks to qtchooser. + +There is no guarantee to which version of Qt these symlinks might point, so it +is necessary to find the correct version explicitly. + +Once qmake is found, it is queried for the correct location of all other items. + +Gentoo-bug: 572382 + +--- a/cmake/modules/FindQt4.cmake ++++ b/cmake/modules/FindQt4.cmake +@@ -313,11 +313,10 @@ + + GET_FILENAME_COMPONENT(qt_install_version "[HKEY_CURRENT_USER\\Software\\trolltech\\Versions;DefaultQtVersion]" NAME) + # check for qmake +-FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake4 qmake-qt4 PATHS +- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin" +- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin" +- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]/bin" +- $ENV{QTDIR}/bin ++FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake PATHS ++ /usr/${CMAKE_INSTALL_LIBDIR}/qt4/bin ++ /usr/bin ++ NO_DEFAULT_PATH + ) + + IF (QT_QMAKE_EXECUTABLE) diff --git a/app-text/poppler/files/poppler-0.57.0-disable-internal-jpx.patch b/app-text/poppler/files/poppler-0.57.0-disable-internal-jpx.patch new file mode 100644 index 00000000..faf63212 --- /dev/null +++ b/app-text/poppler/files/poppler-0.57.0-disable-internal-jpx.patch @@ -0,0 +1,25 @@ +Fix security issue [internal unmaintained JPX decoder] that is caused +by building without system-jpeg libs. Fedora does not care because they +always build with system-jpeg, however in Gentoo we allow the user to +disable both options and poppler's buildsystem is making us believe +there would be no JPX decoder built in that case, when in reality +JPXStream.cc is built (even if it may not be used by the code). + + +--- a/CMakeLists.txt 2017-11-24 23:12:41.953450442 +0100 ++++ b/CMakeLists.txt 2017-11-24 23:16:09.441030669 +0100 +@@ -506,9 +508,11 @@ + add_definitions(-DUSE_OPENJPEG2) + set(poppler_LIBS ${poppler_LIBS} ${LIBOPENJPEG2_LIBRARIES}) + else () +- set(poppler_SRCS ${poppler_SRCS} +- poppler/JPXStream.cc +- ) ++ if(NOT WITH_OPENJPEG AND HAVE_JPX_DECODER) ++ set(poppler_SRCS ${poppler_SRCS} ++ poppler/JPXStream.cc ++ ) ++ endif() + endif() + if(USE_CMS) + if(LCMS_FOUND) diff --git a/app-text/poppler/files/poppler-0.60.1-qt5-dependencies.patch b/app-text/poppler/files/poppler-0.60.1-qt5-dependencies.patch new file mode 100644 index 00000000..259be15c --- /dev/null +++ b/app-text/poppler/files/poppler-0.60.1-qt5-dependencies.patch @@ -0,0 +1,29 @@ +From af70882d85999b1912f9909f506ee7d22cc58ca7 Mon Sep 17 00:00:00 2001 +From: Johannes Huber <johu@gentoo.org> +Date: Fri, 6 Oct 2017 08:52:10 +0200 +Subject: [PATCH] [Qt5] Drop unused dependencies + +--- + CMakeLists.txt | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7485b2ad..04327568 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,10 +147,8 @@ if (ENABLE_QT5) + find_package(Qt5Core) + find_package(Qt5Gui) + find_package(Qt5Xml) +- find_package(Qt5Widgets) +- find_package(Qt5Test) +- if (NOT (Qt5Core_FOUND AND Qt5Gui_FOUND AND Qt5Xml_FOUND AND Qt5Widgets_FOUND AND Qt5Test_FOUND)) +- message("-- Package Qt5Core or Qt5Gui or Qt5Xml or Qt5Widgets or Qt5Test not found") ++ if (NOT (Qt5Core_FOUND AND Qt5Gui_FOUND AND Qt5Xml_FOUND)) ++ message("-- Package Qt5Core or Qt5Gui or Qt5Xml not found") + set(ENABLE_QT5 OFF) + endif() + endif() +-- +2.14.2 + diff --git a/app-text/poppler/files/poppler-0.61.0-respect-cflags.patch b/app-text/poppler/files/poppler-0.61.0-respect-cflags.patch new file mode 100644 index 00000000..a75b84b4 --- /dev/null +++ b/app-text/poppler/files/poppler-0.61.0-respect-cflags.patch @@ -0,0 +1,55 @@ +--- poppler-0.61.0/cmake/modules/PopplerMacros.cmake ++++ poppler-0.61.0/cmake/modules/PopplerMacros.cmake +@@ -98,8 +98,6 @@ + set(CMAKE_BUILD_TYPE RelWithDebInfo) + endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + +-if(CMAKE_COMPILER_IS_GNUCXX) +- # set the default compile warnings + set(_warn "-Wall -Wextra -Wpedantic") + set(_warn "${_warn} -Wno-unused-parameter -Wno-missing-field-initializers") + set(_warn "${_warn} -Wcast-align") +@@ -124,39 +122,6 @@ + set(DEFAULT_COMPILE_WARNINGS "${_warn}") + set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}") + +- set(_save_cxxflags "${CMAKE_CXX_FLAGS}") +- set(CMAKE_CXX_FLAGS "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE") +- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}") +- set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cxxflags}") +- set(CMAKE_CXX_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline ${_save_cxxflags}") +- set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 -fno-inline ${_save_cxxflags}") +- set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs ${_save_cxxflags}") +- set(_save_cflags "${CMAKE_C_FLAGS}") +- set(CMAKE_C_FLAGS "-std=c99 -D_DEFAULT_SOURCE") +- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cflags}") +- set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cflags}") +- set(CMAKE_C_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline ${_save_cflags}") +- set(CMAKE_C_FLAGS_DEBUGFULL "-g3 -fno-inline ${_save_cflags}") +- set(CMAKE_C_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs ${_save_cflags}") +- +- poppler_check_link_flag("-Wl,--as-needed" GCC_HAS_AS_NEEDED) +- if(GCC_HAS_AS_NEEDED) +- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--as-needed") +- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--as-needed") +- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed") +- endif(GCC_HAS_AS_NEEDED) +-endif (CMAKE_COMPILER_IS_GNUCXX) +- +-if(CMAKE_C_COMPILER MATCHES "icc") +- set(_save_cxxflags "${CMAKE_CXX_FLAGS}") +- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}") +- set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cxxflags}") +- set(CMAKE_CXX_FLAGS_DEBUG "-O2 -g -0b0 -noalign ${_save_cxxflags}") +- set(CMAKE_CXX_FLAGS_DEBUGFULL "-g -Ob0 -noalign ${_save_cxxflags}") +- set(_save_cflags "${CMAKE_C_FLAGS}") +- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cflags}") +- set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cflags}") +- set(CMAKE_C_FLAGS_DEBUG "-O2 -g -Ob0 -noalign ${_save_cflags}") +- set(CMAKE_C_FLAGS_DEBUGFULL "-g -Ob0 -noalign ${_save_cflags}") +-endif(CMAKE_C_COMPILER MATCHES "icc") +- ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Woverloaded-virtual") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") ++ +\ Kein Zeilenumbruch am Dateiende. diff --git a/app-text/poppler/metadata.xml b/app-text/poppler/metadata.xml index 7d3c8ae0..9ec6d0a9 100644 --- a/app-text/poppler/metadata.xml +++ b/app-text/poppler/metadata.xml @@ -2,13 +2,14 @@ <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <!-- maintainer-needed --> -<maintainer> +<maintainer type="person"> <email>reavertm@gentoo.org</email> <name>Maciej Mrozowski</name> </maintainer> <use> <flag name='exceptions'>Enable exceptions throwing.</flag> <flag name='introspection'>Enable GObject introspection.</flag> + <flag name="nss">Enable signatures handling with <pkg>dev-libs/nss</pkg></flag> <flag name='utils'>Install command-line PDF converters and various utilities.</flag> <flag name='xpdf-headers'></flag> </use> diff --git a/app-text/poppler/poppler-0.61.1.ebuild b/app-text/poppler/poppler-0.61.1.ebuild new file mode 100644 index 00000000..c4516a9b --- /dev/null +++ b/app-text/poppler/poppler-0.61.1.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils flag-o-matic toolchain-funcs xdg-utils + +if [[ "${PV}" == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="git://git.freedesktop.org/git/${PN}/${PN}" + SLOT="0/9999" +else + SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + SLOT="0/72" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION +fi + +DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base" +HOMEPAGE="https://poppler.freedesktop.org/" + +LICENSE="GPL-2" +IUSE="cairo cjk curl cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt4 qt5 tiff +utils" + +# No test data provided +RESTRICT="test" + +COMMON_DEPEND=" + >=media-libs/fontconfig-2.6.0 + >=media-libs/freetype-2.3.9 + sys-libs/zlib + cairo? ( + dev-libs/glib:2 + >=x11-libs/cairo-1.10.0 + introspection? ( >=dev-libs/gobject-introspection-1.32.1:= ) + ) + curl? ( net-misc/curl ) + jpeg? ( virtual/jpeg:0 ) + jpeg2k? ( media-libs/openjpeg:2= ) + lcms? ( media-libs/lcms:2 ) + nss? ( >=dev-libs/nss-3.19:0 ) + png? ( media-libs/libpng:0= ) + qt4? ( + dev-qt/qtcore:4 + dev-qt/qtgui:4 + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtxml:5 + ) + tiff? ( media-libs/tiff:0 ) +" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig +" +RDEPEND="${COMMON_DEPEND} + cjk? ( >=app-text/poppler-data-0.4.7 ) +" + +DOCS=(AUTHORS NEWS README README-XPDF) + +PATCHES=( + "${FILESDIR}/${PN}-0.60.1-qt5-dependencies.patch" + "${FILESDIR}/${PN}-0.28.1-fix-multilib-configuration.patch" + "${FILESDIR}/${PN}-0.61.0-respect-cflags.patch" + "${FILESDIR}/${PN}-0.33.0-openjpeg2.patch" + "${FILESDIR}/${PN}-0.40-FindQt4.patch" + "${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch" +) + +src_prepare() { + cmake-utils_src_prepare + + # Clang doesn't grok this flag, the configure nicely tests that, but + # cmake just uses it, so remove it if we use clang + if [[ ${CC} == clang ]] ; then + sed -i -e 's/-fno-check-new//' cmake/modules/PopplerMacros.cmake || die + fi + + if ! grep -Fq 'cmake_policy(SET CMP0002 OLD)' CMakeLists.txt ; then + sed '/^cmake_minimum_required/acmake_policy(SET CMP0002 OLD)' \ + -i CMakeLists.txt || die + else + einfo "policy(SET CMP0002 OLD) - workaround can be removed" + fi + + # we need to up the C++ version, bug #622526, #643278 + append-cxxflags -std=c++11 +} + +src_configure() { + xdg_environment_reset + local mycmakeargs=( + -DBUILD_GTK_TESTS=OFF + -DBUILD_QT4_TESTS=OFF + -DBUILD_QT5_TESTS=OFF + -DBUILD_CPP_TESTS=OFF + -DENABLE_SPLASH=ON + -DENABLE_ZLIB=ON + -DENABLE_ZLIB_UNCOMPRESS=OFF + -DENABLE_XPDF_HEADERS=ON + -DENABLE_LIBCURL="$(usex curl)" + -DENABLE_CPP="$(usex cxx)" + -DENABLE_UTILS="$(usex utils)" + -DSPLASH_CMYK=OFF + -DUSE_FIXEDPOINT=OFF + -DUSE_FLOAT=OFF + -DWITH_Cairo="$(usex cairo)" + -DWITH_GObjectIntrospection="$(usex introspection)" + -DWITH_JPEG="$(usex jpeg)" + -DWITH_NSS3="$(usex nss)" + -DWITH_PNG="$(usex png)" + -DWITH_Qt4="$(usex qt4)" + $(cmake-utils_use_find_package qt5 Qt5Core) + -DWITH_TIFF="$(usex tiff)" + ) + if use jpeg; then + mycmakeargs+=(-DENABLE_DCTDECODER=libjpeg) + else + mycmakeargs+=(-DENABLE_DCTDECODER=none) + fi + if use jpeg2k; then + mycmakeargs+=(-DENABLE_LIBOPENJPEG=openjpeg2) + else + mycmakeargs+=(-DENABLE_LIBOPENJPEG=none) + fi + if use lcms; then + mycmakeargs+=(-DENABLE_CMS=lcms2) + else + mycmakeargs+=(-DENABLE_CMS=) + fi + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + + # live version doesn't provide html documentation + if use cairo && use doc && [[ ${PV} != 9999 ]]; then + # For now install gtk-doc there + insinto /usr/share/gtk-doc/html/poppler + doins -r "${S}"/glib/reference/html/* + fi +} |