diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2017-11-23 17:53:41 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2017-11-23 22:12:13 +0100 |
commit | fe12fcb87e86364127969ec37a308d0731d58084 (patch) | |
tree | 102386bbb9a0fe82541a3c6a462a3c0e60ae5833 /app-text | |
parent | app-text/convmv: Bump to v2.04 (diff) | |
download | gentoo-fe12fcb87e86364127969ec37a308d0731d58084.tar.gz gentoo-fe12fcb87e86364127969ec37a308d0731d58084.tar.bz2 gentoo-fe12fcb87e86364127969ec37a308d0731d58084.zip |
app-text/poppler: Security cleanup
Bug: https://bugs.gentoo.org/627392
Package-Manager: Portage-2.3.16, Repoman-2.3.6
Diffstat (limited to 'app-text')
8 files changed, 1 insertions, 492 deletions
diff --git a/app-text/poppler/Manifest b/app-text/poppler/Manifest index 62a15b03bbd5..4fb1a1ebb5b6 100644 --- a/app-text/poppler/Manifest +++ b/app-text/poppler/Manifest @@ -1,5 +1,4 @@ -DIST poppler-0.45.0.tar.xz 1674464 SHA256 96dd1a6024bcdaa4530a3b49687db3d5c24ddfd072ccb37c6de0e42599728798 SHA512 b703bed35da3572801834740bf61d59b6a3ee3b88bc1b3181bde3472264be4f6b89ceacb56179d7093329946abd6ba2501acfaf209d4f543352ff9fd38c47f1b WHIRLPOOL 687b1ba816dbff1b0a69cb05914dd7fb161bfd8c0fa4e26b77bb0ad26e27f7d7d94085a1022716a8d7a7563145f0acead9fccbbd332959d0216b81b27f3632e8 -DIST poppler-0.57.0.tar.xz 1703300 SHA256 0ea37de71b7db78212ebc79df59f99b66409a29c2eac4d882dae9f2397fe44d8 SHA512 197a0bf51e7fd607db83144d771904e48f266ab9e1252c688f9e7700a5bdd239670cf0363e9d77137bafa9c08fb6ddb9d066cc78a74dac7dfd717662b25cac5f WHIRLPOOL fb0c15e4834f23b2956014748f92557de9996b8a2a37cf4a7ba62ca22f01866455a933bcf0412775a8d5a8f6ba1ba463f2fd63e27fa406b5fb5bf1fd25d32000 +DIST poppler-0.57.0.tar.xz 1703300 BLAKE2B e4126dff2e0ee140fa4c5c30d5a57da5aff38d4c1f566e4ace22d3fe625949db3a662a8513881702cd5c5c302845998dd462048b5158abaf1d119650c997c84c SHA512 197a0bf51e7fd607db83144d771904e48f266ab9e1252c688f9e7700a5bdd239670cf0363e9d77137bafa9c08fb6ddb9d066cc78a74dac7dfd717662b25cac5f DIST poppler-0.58.0.tar.xz 1710412 SHA256 0e42e46419ae54b02d9f2b527c6475b6011d15816918b9057dfa3aae211af832 SHA512 0675846fc99578925840cbb17083463da6ea54f7de348b946ae7d4480d9d87bd4b5069392b23a8b9bbafe0aafafaf5a200134be52d0832558104cb4aa2497aee WHIRLPOOL 658f7dfbb786c2e09558f7e89ef0832db4ff32eaef08b7360fbf468236db01b44e33374424df6b64c17f018d7b10f61e151c08026652628d387958143a5a3837 DIST poppler-0.59.0.tar.xz 1712004 SHA256 a3d626b24cd14efa9864e12584b22c9c32f51c46417d7c10ca17651f297c9641 SHA512 23777922dc95feee2a4459281081b37e124a39fc25cd00c2c3fc206f5484c13eb9ac5317f674fbbcb51e384f9a53e38b4cacbf1426c68d2bae21a7cefbc48a0e WHIRLPOOL 82ec203c17e2b2544cc0ac12d0b22bb051abf776114d17e1548f47d5e38ff289dee2e9c4b27dc16e3953b6f5b5ff0e0eeecfba73561dbc396ee0db7c5a4847e2 DIST poppler-0.60.1.tar.xz 1432712 SHA256 19f185e05c3b59b4a1de2cec8ef39f5446035493d17bbed41d02fb9a77c8a93c SHA512 db73524b7413dddee38d5a049f3926338ee123b8fc4893d80ee9cf5aaae47c8c7b75b112293b156cd375894e548ec68e5fbf4af305e77b43bc3868ad1c966cdc WHIRLPOOL fe1fe7a3f0c0bac57c7503ad183fe2e8e2f0378c4dedc0dadbc6dcfaeaf8044bf387256742a970af5ed9e2704e42c35e996957e765eeff1aca4bedcc427ae6a7 diff --git a/app-text/poppler/files/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch b/app-text/poppler/files/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch deleted file mode 100644 index 2246b29b1340..000000000000 --- a/app-text/poppler/files/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch +++ /dev/null @@ -1,199 +0,0 @@ -From e8fcbaca23878f0edd2015440eec55aaba0e8f9f Mon Sep 17 00:00:00 2001 -From: Paul Gideon Dann <pdgiddie@gmail.com> -Date: Wed, 20 May 2009 11:42:28 +0100 -Subject: [PATCH 1/4] Cairo backend added to Qt4 wrapper - ---- - qt4/src/CMakeLists.txt | 15 ++++++++++ - qt4/src/poppler-document.cc | 3 ++ - qt4/src/poppler-page.cc | 70 +++++++++++++++++++++++++++++++++++++++++++++ - qt4/src/poppler-qt4.h | 3 +- - qt4/tests/CMakeLists.txt | 5 ++++ - 5 files changed, 95 insertions(+), 1 deletion(-) - -diff --git a/qt4/src/CMakeLists.txt b/qt4/src/CMakeLists.txt -index 189eca2..5338b55 100644 ---- a/qt4/src/CMakeLists.txt -+++ b/qt4/src/CMakeLists.txt -@@ -6,6 +6,11 @@ include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ) - -+if (HAVE_CAIRO) -+ include_directories(${CAIRO_INCLUDE_DIRS}) -+ add_definitions(${CAIRO_CFLAGS}) -+endif (HAVE_CAIRO) -+ - set(poppler_qt4_SRCS - poppler-annotation.cc - poppler-document.cc -@@ -28,10 +33,20 @@ set(poppler_qt4_SRCS - poppler-media.cc - ArthurOutputDev.cc - ) -+if (HAVE_CAIRO) -+ set(poppler_qt4_SRCS ${poppler_qt4_SRCS} -+ ${CMAKE_SOURCE_DIR}/poppler/CairoOutputDev.cc -+ ${CMAKE_SOURCE_DIR}/poppler/CairoRescaleBox.cc -+ ${CMAKE_SOURCE_DIR}/poppler/CairoFontEngine.cc -+ ) -+endif(HAVE_CAIRO) - qt4_automoc(${poppler_qt4_SRCS}) - add_library(poppler-qt4 SHARED ${poppler_qt4_SRCS}) - set_target_properties(poppler-qt4 PROPERTIES VERSION 4.9.0 SOVERSION 4) - target_link_libraries(poppler-qt4 poppler ${QT4_QTCORE_LIBRARY} ${QT4_QTGUI_LIBRARY} ${QT4_QTXML_LIBRARY}) -+if (HAVE_CAIRO) -+ target_link_libraries(poppler-qt4 ${CAIRO_LIBRARIES}) -+endif (HAVE_CAIRO) - if(MSVC) - target_link_libraries(poppler-qt4 poppler ${poppler_LIBS}) - endif(MSVC) -diff --git a/qt4/src/poppler-document.cc b/qt4/src/poppler-document.cc -index 94f997d..6decaaf 100644 ---- a/qt4/src/poppler-document.cc -+++ b/qt4/src/poppler-document.cc -@@ -547,6 +547,9 @@ namespace Poppler { - ret << Document::SplashBackend; - #endif - ret << Document::ArthurBackend; -+#if defined(HAVE_CAIRO) -+ ret << Document::CairoBackend; -+#endif - return ret; - } - -diff --git a/qt4/src/poppler-page.cc b/qt4/src/poppler-page.cc -index 83bcf4a..df1d344 100644 ---- a/qt4/src/poppler-page.cc -+++ b/qt4/src/poppler-page.cc -@@ -40,6 +40,7 @@ - #include <QtGui/QPainter> - - #include <config.h> -+#include <math.h> - #include <PDFDoc.h> - #include <Catalog.h> - #include <Form.h> -@@ -53,6 +54,9 @@ - #include <SplashOutputDev.h> - #include <splash/SplashBitmap.h> - #endif -+#if defined(HAVE_CAIRO) -+#include <CairoOutputDev.h> -+#endif - - #include "poppler-private.h" - #include "poppler-page-transition-private.h" -@@ -405,6 +409,70 @@ QImage Page::renderToImage(double xres, double yres, int x, int y, int w, int h, - img = tmpimg; - break; - } -+ case Poppler::Document::CairoBackend: -+ { -+#if defined(HAVE_CAIRO) -+ CairoOutputDev *output_dev = new CairoOutputDev(); -+ output_dev->startDoc(m_page->parentDoc->doc); -+ int buffer_width, buffer_height, rotate; -+ cairo_surface_t *surface; -+ cairo_t *cairo; -+ -+ // If w or h are -1, that indicates the whole page, so we need to -+ // calculate how many pixels that corresponds to. Otherwise, we can use w -+ // or h directly for our buffer size. -+ const QSize pageSize = this->pageSize(); -+ if (w == -1) { -+ const double xscale = xres / 72.0; -+ const double width = pageSize.width();; -+ buffer_width = (int) ceil(width * xscale); -+ } else { -+ buffer_width = w; -+ } -+ if (h == -1) { -+ const double yscale = yres / 72.0; -+ const double height = pageSize.height(); -+ buffer_height = (int) ceil(height * yscale); -+ } else { -+ buffer_height = h; -+ } -+ -+ rotate = rotation + m_page->page->getRotate(); -+ -+ // FIXME: Okular never provides a rotation value, so I don't have any way -+ // of testing this right now. The result is that subpixels are ordered -+ // incorrectly when the page is rotated. -+ -+ //if (rotate == 90 || rotate == 270) { -+ // const double temp = height; -+ // height = width; -+ // width = temp; -+ //} -+ -+ img = QImage(buffer_width, buffer_height, QImage::Format_ARGB32); -+ img.fill(Qt::white); // Never transparent -+ -+ surface = cairo_image_surface_create_for_data( -+ img.bits(), -+ CAIRO_FORMAT_ARGB32, -+ buffer_width, buffer_height, -+ img.bytesPerLine()); -+ -+ cairo = cairo_create(surface); -+ output_dev->setCairo(cairo); -+ -+ m_page->parentDoc->doc->displayPageSlice( -+ output_dev, m_page->index + 1, xres, yres, rotation, false, true, -+ false, x, y, w, h); -+ -+ // Clean up -+ output_dev->setCairo(NULL); -+ cairo_destroy(cairo); -+ cairo_surface_destroy(surface); -+ delete output_dev; -+#endif -+ break; -+ } - } - - return img; -@@ -447,6 +515,8 @@ bool Page::renderToPainter(QPainter* painter, double xres, double yres, int x, i - painter->restore(); - return true; - } -+ case Poppler::Document::CairoBackend: -+ return false; - } - return false; - } -diff --git a/qt4/src/poppler-qt4.h b/qt4/src/poppler-qt4.h -index c0340a4..118f8ba 100644 ---- a/qt4/src/poppler-qt4.h -+++ b/qt4/src/poppler-qt4.h -@@ -886,7 +886,8 @@ delete it; - */ - enum RenderBackend { - SplashBackend, ///< Splash backend -- ArthurBackend ///< Arthur (Qt4) backend -+ ArthurBackend, ///< Arthur (Qt4) backend -+ CairoBackend ///< Cairo backend - }; - - /** -diff --git a/qt4/tests/CMakeLists.txt b/qt4/tests/CMakeLists.txt -index bba868f..8c40471 100644 ---- a/qt4/tests/CMakeLists.txt -+++ b/qt4/tests/CMakeLists.txt -@@ -8,6 +8,11 @@ include_directories( - ${QT4_INCLUDE_DIR} - ) - -+if (HAVE_CAIRO) -+ include_directories(${CAIRO_INCLUDE_DIRS}) -+ add_definitions(${CAIRO_CFLAGS}) -+endif (HAVE_CAIRO) -+ - macro(QT4_ADD_SIMPLETEST exe source) - string(REPLACE "-" "" test_name ${exe}) - set(${test_name}_SOURCES --- -2.7.3 - diff --git a/app-text/poppler/files/cairo-qt-experimental/0002-Setting-default-Qt4-backend-to-Cairo.patch b/app-text/poppler/files/cairo-qt-experimental/0002-Setting-default-Qt4-backend-to-Cairo.patch deleted file mode 100644 index 3a360394182e..000000000000 --- a/app-text/poppler/files/cairo-qt-experimental/0002-Setting-default-Qt4-backend-to-Cairo.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7ddcf7bf4296ed58dc316b0dd6b000057740e118 Mon Sep 17 00:00:00 2001 -From: Paul Gideon Dann <pdgiddie@gmail.com> -Date: Wed, 20 May 2009 13:17:29 +0100 -Subject: [PATCH 2/4] Setting default Qt4 backend to Cairo - ---- - qt4/src/poppler-private.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/qt4/src/poppler-private.cc b/qt4/src/poppler-private.cc -index cbf21b1..1c7f16c 100644 ---- a/qt4/src/poppler-private.cc -+++ b/qt4/src/poppler-private.cc -@@ -236,7 +236,7 @@ namespace Debug { - void DocumentData::init() - { - m_fontInfoIterator = 0; -- m_backend = Document::SplashBackend; -+ m_backend = Document::CairoBackend; - paperColor = Qt::white; - m_hints = 0; - m_optContentModel = 0; --- -2.7.3 - diff --git a/app-text/poppler/files/cairo-qt-experimental/0003-Forcing-subpixel-rendering-in-Cairo-backend.patch b/app-text/poppler/files/cairo-qt-experimental/0003-Forcing-subpixel-rendering-in-Cairo-backend.patch deleted file mode 100644 index 21547b951802..000000000000 --- a/app-text/poppler/files/cairo-qt-experimental/0003-Forcing-subpixel-rendering-in-Cairo-backend.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a9a6a3fcf4f2bf62e83d325a790624241084ad72 Mon Sep 17 00:00:00 2001 -From: Paul Gideon Dann <pdgiddie@gmail.com> -Date: Wed, 20 May 2009 13:06:48 +0100 -Subject: [PATCH 3/4] Forcing subpixel rendering in Cairo backend - ---- - poppler/CairoOutputDev.cc | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc -index d0d6cb4..50e64f9 100644 ---- a/poppler/CairoOutputDev.cc -+++ b/poppler/CairoOutputDev.cc -@@ -203,6 +203,13 @@ void CairoOutputDev::setCairo(cairo_t *cairo) - } - if (cairo != NULL) { - this->cairo = cairo_reference (cairo); -+ { -+ cairo_font_options_t *options = cairo_font_options_create (); -+ cairo_get_font_options (cairo, options); -+ cairo_font_options_set_antialias (options, CAIRO_ANTIALIAS_SUBPIXEL); -+ cairo_set_font_options (cairo, options); -+ cairo_font_options_destroy (options); -+ } - /* save the initial matrix so that we can use it for type3 fonts. */ - //XXX: is this sufficient? could we miss changes to the matrix somehow? - cairo_get_matrix(cairo, &orig_matrix); --- -2.7.3 - diff --git a/app-text/poppler/files/cairo-qt-experimental/0004-Enabling-slight-hinting-in-Cairo-Backend.patch b/app-text/poppler/files/cairo-qt-experimental/0004-Enabling-slight-hinting-in-Cairo-Backend.patch deleted file mode 100644 index 0f622323a9f0..000000000000 --- a/app-text/poppler/files/cairo-qt-experimental/0004-Enabling-slight-hinting-in-Cairo-Backend.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 1604ec6cb759b6f2b8aa006faa0ec990cd511b36 Mon Sep 17 00:00:00 2001 -From: Paul Gideon Dann <pdgiddie@gmail.com> -Date: Thu, 21 May 2009 10:55:49 +0100 -Subject: [PATCH 4/4] Enabling slight hinting in Cairo Backend - -Originally suggested at: -http://bugs.freedesktop.org/show_bug.cgi?id=3307#c20 ---- - poppler/CairoFontEngine.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/poppler/CairoFontEngine.cc b/poppler/CairoFontEngine.cc -index 3cff917..75a1c50 100644 ---- a/poppler/CairoFontEngine.cc -+++ b/poppler/CairoFontEngine.cc -@@ -132,7 +132,7 @@ CairoFont::getSubstitutionCorrection(GfxFont *gfxFont) - cairo_matrix_t m; - cairo_matrix_init_identity(&m); - cairo_font_options_t *options = cairo_font_options_create(); -- cairo_font_options_set_hint_style(options, CAIRO_HINT_STYLE_NONE); -+ cairo_font_options_set_hint_style(options, CAIRO_HINT_STYLE_SLIGHT); - cairo_font_options_set_hint_metrics(options, CAIRO_HINT_METRICS_OFF); - cairo_scaled_font_t *scaled_font = cairo_scaled_font_create(cairo_font_face, &m, &m, options); - -@@ -189,7 +189,7 @@ _ft_new_face_uncached (FT_Library lib, - } - - font_face = cairo_ft_font_face_create_for_ft_face (face, -- FT_LOAD_NO_HINTING | -+ FT_LOAD_TARGET_LIGHT | - FT_LOAD_NO_BITMAP); - if (cairo_font_face_set_user_data (font_face, - &_ft_cairo_key, -@@ -358,7 +358,7 @@ _ft_new_face (FT_Library lib, - _ft_open_faces = l; - - l->font_face = cairo_ft_font_face_create_for_ft_face (tmpl.face, -- FT_LOAD_NO_HINTING | -+ FT_LOAD_TARGET_LIGHT | - FT_LOAD_NO_BITMAP); - if (cairo_font_face_set_user_data (l->font_face, - &_ft_cairo_key, --- -2.7.3 - diff --git a/app-text/poppler/files/poppler-0.28.1-respect-cflags.patch b/app-text/poppler/files/poppler-0.28.1-respect-cflags.patch deleted file mode 100644 index 0b94042c8af8..000000000000 --- a/app-text/poppler/files/poppler-0.28.1-respect-cflags.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake -index 6cadf40..7e5e6b2 100644 ---- a/cmake/modules/PopplerMacros.cmake -+++ b/cmake/modules/PopplerMacros.cmake -@@ -98,41 +98,10 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - 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(DEFAULT_COMPILE_WARNINGS_NO) - set(DEFAULT_COMPILE_WARNINGS_YES "-Wall -Wcast-align -fno-exceptions -fno-check-new -fno-common") - set(DEFAULT_COMPILE_WARNINGS_KDE "-Wno-long-long -Wundef -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -Wcast-align -Wconversion -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common") - -- set(CMAKE_CXX_FLAGS "-Wnon-virtual-dtor -Woverloaded-virtual ${CMAKE_CXX_FLAGS}") -- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") -- set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") -- set(CMAKE_CXX_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline") -- set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 -fno-inline") -- set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs") -- set(CMAKE_C_FLAGS "-std=c99") -- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g") -- set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG") -- set(CMAKE_C_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline") -- set(CMAKE_C_FLAGS_DEBUGFULL "-g3 -fno-inline") -- set(CMAKE_C_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs") -- -- 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(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") -- set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") -- set(CMAKE_CXX_FLAGS_DEBUG "-O2 -g -0b0 -noalign") -- set(CMAKE_CXX_FLAGS_DEBUGFULL "-g -Ob0 -noalign") -- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g") -- set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG") -- set(CMAKE_C_FLAGS_DEBUG "-O2 -g -Ob0 -noalign") -- set(CMAKE_C_FLAGS_DEBUGFULL "-g -Ob0 -noalign") --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") diff --git a/app-text/poppler/metadata.xml b/app-text/poppler/metadata.xml index 40c1c894b848..3f8d6be9f980 100644 --- a/app-text/poppler/metadata.xml +++ b/app-text/poppler/metadata.xml @@ -20,7 +20,6 @@ <use> <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="cairo-qt">Enable experimental Cairo font rasterizer for Qt4 backend.</flag> </use> <slots> <subslots>Reflects ABI compatibility of libpoppler.so only, diff --git a/app-text/poppler/poppler-0.45.0.ebuild b/app-text/poppler/poppler-0.45.0.ebuild deleted file mode 100644 index ad745e69149c..000000000000 --- a/app-text/poppler/poppler-0.45.0.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit cmake-utils toolchain-funcs xdg-utils - -if [[ "${PV}" == "9999" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.freedesktop.org/git/poppler/poppler.git" - 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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - SLOT="0/62" # 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 cairo-qt cjk curl cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt4 qt5 tiff +utils" - -REQUIRED_USE="cairo-qt? ( qt4 )" - -# 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:= ) - ) - cairo-qt? ( >=x11-libs/cairo-1.10.0 ) - 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 TODO) - -PATCHES=( - "${FILESDIR}/${PN}-0.26.0-qt5-dependencies.patch" - "${FILESDIR}/${PN}-0.28.1-fix-multilib-configuration.patch" - "${FILESDIR}/${PN}-0.28.1-respect-cflags.patch" - "${FILESDIR}/${PN}-0.33.0-openjpeg2.patch" - "${FILESDIR}/${PN}-0.40-FindQt4.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 - - # Enable experimental patchset for subpixel font rendering using cairo - # backend for poppler-qt4 from https://github.com/giddie/poppler-qt4-cairo-backend. - if use cairo-qt; then - ewarn "Enabling unsupported, experimental cairo-qt patchset. Please do not report bugs." - epatch "${FILESDIR}/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch" - epatch "${FILESDIR}/cairo-qt-experimental/0002-Setting-default-Qt4-backend-to-Cairo.patch" - epatch "${FILESDIR}/cairo-qt-experimental/0003-Forcing-subpixel-rendering-in-Cairo-backend.patch" - epatch "${FILESDIR}/cairo-qt-experimental/0004-Enabling-slight-hinting-in-Cairo-Backend.patch" - fi -} - -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 jpeg2k; then - mycmakeargs+=(-DENABLE_LIBOPENJPEG=openjpeg2) - else - mycmakeargs+=(-DENABLE_LIBOPENJPEG=) - 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 -} |