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/poppler/files | |
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/poppler/files')
5 files changed, 0 insertions, 347 deletions
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") |