diff options
author | Andrew Brouwers <abrouwers@gmail.com> | 2012-08-27 08:25:00 -0500 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2012-08-27 08:26:13 -0500 |
commit | 86ead0bcb82a858b180bb78bfb57dca989e8e5ac (patch) | |
tree | ce9226d23a91ea4315a8b4b985075a41bc4480a7 /office/epdfview | |
parent | 0c59f696a5183eb0026884f29f230178ce00cd2b (diff) |
office/epdfview: Fix a couple of issues with a patch from LFS
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'office/epdfview')
-rw-r--r-- | office/epdfview/epdfview-0.1.8-fixes-1.patch | 146 | ||||
-rw-r--r-- | office/epdfview/epdfview.SlackBuild | 4 | ||||
-rw-r--r-- | office/epdfview/fix-glib_h-include.diff | 12 |
3 files changed, 148 insertions, 14 deletions
diff --git a/office/epdfview/epdfview-0.1.8-fixes-1.patch b/office/epdfview/epdfview-0.1.8-fixes-1.patch new file mode 100644 index 000000000000..5e8ec288f280 --- /dev/null +++ b/office/epdfview/epdfview-0.1.8-fixes-1.patch @@ -0,0 +1,146 @@ +Submitted By: Ken Moffat <ken at linuxfromscratch dot org> +Date: 2012-08-22 +Initial Package Version: 0.1.8 +Upstream Status: Varies +Origin: Found at fedora. +Description: Three fixes found at fedora. For the first (only glib.h +can be included directly, with recent glib), we used to use a sed - but +the other two fixes need patches so I've put them all together. + + Second part is from upstream and fixes trashed colours +Upstream: http://trac.emma-soft.com/epdfview/changeset/367/trunk +Fixes bug: https://bugzilla.redhat.com/show_bug.cgi?id=745483 + + Third part is the most critical - from Jiri Popelka, found at +https://bugzilla.redhat.com/show_bug.cgi?id=841880 - looks as if fedora +haven't applied it yet. It solves building with cups-1.6. + +diff -Naur epdfview-0.1.8.orig/src/gtk/StockIcons.h epdfview-0.1.8/src/gtk/StockIcons.h +--- epdfview-0.1.8.orig/src/gtk/StockIcons.h 2011-05-28 11:24:57.000000000 +0100 ++++ epdfview-0.1.8/src/gtk/StockIcons.h 2012-08-22 20:06:08.728195806 +0100 +@@ -18,7 +18,7 @@ + #if !defined (__STOCK_ICONS_H__) + #define __STOCK_ICONS_H__ + +-#include <glib/gmacros.h> ++#include <glib.h> + + G_BEGIN_DECLS + +diff -Naur epdfview-0.1.8.orig/src/PDFDocument.cxx epdfview-0.1.8/src/PDFDocument.cxx +--- epdfview-0.1.8.orig/src/PDFDocument.cxx 2011-05-28 11:25:01.000000000 +0100 ++++ epdfview-0.1.8/src/PDFDocument.cxx 2012-08-22 20:07:03.627913886 +0100 +@@ -20,6 +20,7 @@ + #include <time.h> + #include <poppler.h> + #include <unistd.h> ++#include <algorithm> + #include "epdfview.h" + + using namespace ePDFView; +@@ -33,6 +34,24 @@ + static PageMode convertPageMode (gint pageMode); + static gchar *getAbsoluteFileName (const gchar *fileName); + ++namespace ++{ ++ void ++ convert_bgra_to_rgba (guint8 *data, int width, int height) ++ { ++ using std::swap; ++ ++ for (int y = 0; y < height; y++) ++ { ++ for (int x = 0; x < width; x++) ++ { ++ swap(data[0], data[2]); ++ data += 4; ++ } ++ } ++ } ++} ++ + /// + /// @brief Constructs a new PDFDocument object. + /// +@@ -650,6 +669,7 @@ + poppler_page_render (page, context); + cairo_destroy(context); + cairo_surface_destroy (surface); ++ convert_bgra_to_rgba(renderedPage->getData (), width, height); + #else // !HAVE_POPPLER_0_17_0 + // Create the pixbuf from the data and render to it. + GdkPixbuf *pixbuf = gdk_pixbuf_new_from_data (renderedPage->getData (), +diff -Naur epdfview-0.1.8.orig/src/PrintPter.cxx epdfview-0.1.8/src/PrintPter.cxx +--- epdfview-0.1.8.orig/src/PrintPter.cxx 2011-05-28 11:25:01.000000000 +0100 ++++ epdfview-0.1.8/src/PrintPter.cxx 2012-08-22 20:11:46.362436859 +0100 +@@ -22,6 +22,40 @@ + #include <locale.h> + #include "epdfview.h" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++inline int ippGetInteger (ipp_attribute_t *attr, int element) ++{ ++ return (attr->values[element].integer); ++} ++ ++inline const char * ippGetString (ipp_attribute_t *attr, ++ int element, ++ const char **language /*UNUSED*/) ++{ ++ return (attr->values[element].string.text); ++} ++ ++inline int ippSetOperation (ipp_t *ipp, ipp_op_t op) ++{ ++ if (!ipp) ++ return (0); ++ ipp->request.op.operation_id = op; ++ return (1); ++} ++ ++inline int ippSetRequestId (ipp_t *ipp, int request_id) ++{ ++ if (!ipp) ++ return (0); ++ ipp->request.any.request_id = request_id; ++ return (1); ++} ++#endif ++ + using namespace ePDFView; + + // Structures +@@ -380,8 +414,8 @@ + + ipp_t *request = ippNew (); + +- request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES; +- request->request.op.request_id = 1; ++ ippSetOperation(request, IPP_GET_PRINTER_ATTRIBUTES); ++ ippSetRequestId(request, 1); + + ippAddString (request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, + "attributes-charset", NULL, "utf-8"); +@@ -403,7 +437,7 @@ + ippFindAttribute (answer, "printer-state", IPP_TAG_ZERO); + if ( NULL != state ) + { +- switch (state->values[0].integer) ++ switch (ippGetInteger (state, 0)) + { + case IPP_PRINTER_IDLE: + attributes->state = g_strdup (_("Idle")); +@@ -425,7 +459,7 @@ + ippFindAttribute (answer, "printer-location", IPP_TAG_ZERO); + if ( NULL != location ) + { +- attributes->location = g_strdup (location->values[0].string.text); ++ attributes->location = g_strdup (ippGetString (location, 0, NULL)); + } + + ippDelete (answer); diff --git a/office/epdfview/epdfview.SlackBuild b/office/epdfview/epdfview.SlackBuild index e7f7ef7f913f..662fd95896db 100644 --- a/office/epdfview/epdfview.SlackBuild +++ b/office/epdfview/epdfview.SlackBuild @@ -71,8 +71,8 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Include glib.h instead of glib/gmacros.h -patch -p1 < $CWD/fix-glib_h-include.diff +# http://www.linuxfromscratch.org/patches/blfs/svn/epdfview-0.1.8-fixes-1.patch +patch -p1 < $CWD/epdfview-0.1.8-fixes-1.patch CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ diff --git a/office/epdfview/fix-glib_h-include.diff b/office/epdfview/fix-glib_h-include.diff deleted file mode 100644 index b45ee4f933e2..000000000000 --- a/office/epdfview/fix-glib_h-include.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur epdfview-0.1.8.orig/src/gtk/StockIcons.h epdfview-0.1.8/src/gtk/StockIcons.h ---- epdfview-0.1.8.orig/src/gtk/StockIcons.h 2011-05-28 05:24:57.000000000 -0500 -+++ epdfview-0.1.8/src/gtk/StockIcons.h 2012-08-03 21:25:47.540948945 -0500 -@@ -18,7 +18,7 @@ - #if !defined (__STOCK_ICONS_H__) - #define __STOCK_ICONS_H__ - --#include <glib/gmacros.h> -+#include <glib.h> - - G_BEGIN_DECLS - |