diff options
author | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2014-09-04 02:29:56 -0300 |
---|---|---|
committer | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2014-09-04 02:29:56 -0300 |
commit | dcb9f94b1f184a61c9838b20919eef1842a07091 (patch) | |
tree | 96f4746cd14de68b4ed56a8536ab444df2a6b01b /libre/epdfview | |
parent | fc353061e3e6b3e8542d2000b89ca2ecfc604b1b (diff) | |
download | abslibre-dcb9f94b1f184a61c9838b20919eef1842a07091.tar.gz abslibre-dcb9f94b1f184a61c9838b20919eef1842a07091.tar.bz2 abslibre-dcb9f94b1f184a61c9838b20919eef1842a07091.zip |
rename to epdfview
Diffstat (limited to 'libre/epdfview')
-rw-r--r-- | libre/epdfview/PKGBUILD | 57 | ||||
-rw-r--r-- | libre/epdfview/epdfview-0.1.8-glib2-headers.patch | 13 | ||||
-rw-r--r-- | libre/epdfview/epdfview-0.1.8-modern-cups.patch | 74 | ||||
-rw-r--r-- | libre/epdfview/epdfview-0.1.8-swap-the-blue-and-red-channel.patch | 60 | ||||
-rw-r--r-- | libre/epdfview/epdfview.install | 12 |
5 files changed, 216 insertions, 0 deletions
diff --git a/libre/epdfview/PKGBUILD b/libre/epdfview/PKGBUILD new file mode 100644 index 000000000..adef21e0e --- /dev/null +++ b/libre/epdfview/PKGBUILD @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 105182 2014-02-02 12:39:48Z bpiotrowski $ +# Maintainer (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Maintainer (Arch): Kyle Keen <keenerd@gmail.com> +# Contributor (Arch): schuay <jakob.gruber@gmail.com> +# Contributor (Arch): Tom K <tomk@runbox.com> +# Contributor (Arch): Thayer Williams <thayer@archlinux.org> +# Maintainer: Márcio Silva <coadde@parabola.nu> +# Maintainer: Michał Masłowski <mtjm@mtjm.eu> + +pkgname=epdfview +pkgver=0.1.8 +pkgrel=5.parabola1 +pkgdesc='Lightweight PDF document viewer, without nonfree suggestions' +url="http://freecode.com/projects/$pkgname" +arch=('i686' 'x86_64' 'mips64el') +license=('GPL') +depends=('poppler-glib' 'desktop-file-utils' 'hicolor-icon-theme' 'gtk2' 'xdg-utils') +makedepends=('pkgconfig') +conflicts=("$pkgname-libre") +replaces=("$pkgname-libre") +install="$pkgname.install" +source=(ftp://ftp.slackware.com/.1/blfs/conglomeration/$pkgname/$pkgname-$pkgver.tar.bz2 + $pkgname-0.1.8-swap-the-blue-and-red-channel.patch + $pkgname-0.1.8-glib2-headers.patch + $pkgname-0.1.8-modern-cups.patch) +md5sums=('e50285b01612169b2594fea375f53ae4' + '7f9ea101a41f5b4e999fd024f423d41f' + '2fffa9c7cd4c5f0744803591c2f162a3' + '5c2cf5612d2a7dfe6cf005b94aeb5ada') + +prepare() { + cd $pkgname-$pkgver + sed -i "s/icon_$pkgname-48/$pkgname/" data/$pkgname.desktop + + # Use xdg-open as default browser. + sed -r '/DEFAULT_EXTERNAL_BROWSER_COMMAND_LINE/s/firefox[^ ]*/xdg-open/' -i src/Config.cxx + + patch -p1 -i ../$pkgname-0.1.8-swap-the-blue-and-red-channel.patch + patch -p1 -i ../$pkgname-0.1.8-glib2-headers.patch # FS#30116 + patch -p1 -i ../$pkgname-0.1.8-modern-cups.patch # FS#32511 +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + for size in 24 32 48; do + install -Dm644 data/icon_$pkgname-$size.png \ + "$pkgdir"/usr/share/icons/hicolor/${size}x${size}/apps/$pkgname.png + done +} diff --git a/libre/epdfview/epdfview-0.1.8-glib2-headers.patch b/libre/epdfview/epdfview-0.1.8-glib2-headers.patch new file mode 100644 index 000000000..e9f0983b5 --- /dev/null +++ b/libre/epdfview/epdfview-0.1.8-glib2-headers.patch @@ -0,0 +1,13 @@ +diff --git a/src/gtk/StockIcons.h b/src/gtk/StockIcons.h +index c142a7a..58fcf2e 100644 +--- a/src/gtk/StockIcons.h ++++ b/src/gtk/StockIcons.h +@@ -18,7 +18,7 @@ + #if !defined (__STOCK_ICONS_H__) + #define __STOCK_ICONS_H__ + +-#include <glib/gmacros.h> ++#include <glib.h> + + G_BEGIN_DECLS + diff --git a/libre/epdfview/epdfview-0.1.8-modern-cups.patch b/libre/epdfview/epdfview-0.1.8-modern-cups.patch new file mode 100644 index 000000000..64988789f --- /dev/null +++ b/libre/epdfview/epdfview-0.1.8-modern-cups.patch @@ -0,0 +1,74 @@ +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/libre/epdfview/epdfview-0.1.8-swap-the-blue-and-red-channel.patch b/libre/epdfview/epdfview-0.1.8-swap-the-blue-and-red-channel.patch new file mode 100644 index 000000000..e077a15cf --- /dev/null +++ b/libre/epdfview/epdfview-0.1.8-swap-the-blue-and-red-channel.patch @@ -0,0 +1,60 @@ +From d30496f52b85f82947bd07b9bd60f8482843ece8 Mon Sep 17 00:00:00 2001 +From: jordi <jordi@cb4bfb15-1111-0410-82e2-95233c8f1c7e> +Date: Tue, 5 Jul 2011 09:23:38 +0000 +Subject: [PATCH 1/2] When using Poppler 0.17.0, I needed to swap the blue and + red channels, otherwise the colors (other than black + and white) looked wierd. + +git-svn-id: svn://svn.emma-soft.com/epdfview/trunk@367 cb4bfb15-1111-0410-82e2-95233c8f1c7e +--- + src/PDFDocument.cxx | 20 ++++++++++++++++++++ + 1 files changed, 20 insertions(+), 0 deletions(-) + +diff --git a/src/PDFDocument.cxx b/src/PDFDocument.cxx +index df5d75f..63b3513 100644 +--- a/src/PDFDocument.cxx ++++ b/src/PDFDocument.cxx +@@ -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 PageLayout convertPageLayout (gint pageLayout); + 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 @@ PDFDocument::renderPage (gint pageNum) + 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 (), +-- +1.7.7 + diff --git a/libre/epdfview/epdfview.install b/libre/epdfview/epdfview.install new file mode 100644 index 000000000..c317fbaca --- /dev/null +++ b/libre/epdfview/epdfview.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} |