diff options
-rw-r--r-- | libre/epdfview-libre/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch | 60 | ||||
-rw-r--r-- | libre/epdfview-libre/PKGBUILD | 49 | ||||
-rw-r--r-- | libre/epdfview-libre/epdfview.desktop.patch | 11 | ||||
-rw-r--r-- | libre/epdfview-libre/epdfview.install | 12 |
4 files changed, 132 insertions, 0 deletions
diff --git a/libre/epdfview-libre/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch b/libre/epdfview-libre/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch new file mode 100644 index 000000000..e077a15cf --- /dev/null +++ b/libre/epdfview-libre/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.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-libre/PKGBUILD b/libre/epdfview-libre/PKGBUILD new file mode 100644 index 000000000..9923ad1cf --- /dev/null +++ b/libre/epdfview-libre/PKGBUILD @@ -0,0 +1,49 @@ +# Parabola maintainer: Michał Masłowski <mtjm@mtjm.eu> +# $Id: PKGBUILD 57042 2011-10-19 06:13:49Z schuay $ +# Maintainer: schuay <jakob.gruber@gmail.com> +# Contributor: Tom K <tomk@runbox.com> +# Contributor: Thayer Williams <thayer@archlinux.org> + +pkgname=epdfview-libre +_pkgname=epdfview +pkgver=0.1.8 +pkgrel=3 +pkgdesc="A free lightweight PDF document viewer." +url="http://www.emma-soft.com/projects/epdfview/" +arch=('i686' 'x86_64' 'mips64el') +license=('GPL') +depends=('poppler-glib' 'desktop-file-utils' 'hicolor-icon-theme' 'gtk2' 'xdg-utils') +makedepends=('pkgconfig') +provides=('epdfview') +conflicts=('epdfview') +replaces=('epdfview') +install='epdfview.install' +source=("http://www.emma-soft.com/projects/${_pkgname}/chrome/site/releases/${_pkgname}-${pkgver}.tar.bz2" + "${_pkgname}.desktop.patch" + "0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch") +md5sums=('e50285b01612169b2594fea375f53ae4' + 'fbf22bbabdbb7544db615ac5775d57e2' + '7f9ea101a41f5b4e999fd024f423d41f') + +build() { + cd "${srcdir}/${_pkgname}-${pkgver}" + + patch -Np0 -i "${srcdir}/${_pkgname}.desktop.patch" + patch -Np1 -i "${srcdir}/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch" + + # Use xdg-open as default browser. + sed -r '/DEFAULT_EXTERNAL_BROWSER_COMMAND_LINE/s/firefox[^ ]*/xdg-open/' -i src/Config.cxx + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + make +} +package() { + cd "${srcdir}/${_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-libre/epdfview.desktop.patch b/libre/epdfview-libre/epdfview.desktop.patch new file mode 100644 index 000000000..d86fc3088 --- /dev/null +++ b/libre/epdfview-libre/epdfview.desktop.patch @@ -0,0 +1,11 @@ +--- data/epdfview.desktop.bak 2009-04-05 16:55:56.000000000 -0700 ++++ data/epdfview.desktop 2009-04-05 16:56:33.000000000 -0700 +@@ -7,7 +7,7 @@ + GenericName=PDF Viewer + GenericName[ca]=Visor PDF + GenericName[es]=Visor PDF +-Icon=icon_epdfview-48 ++Icon=epdfview + Name=ePDFViewer + Name[ca]=ePDFViewer + Name[es]=ePDFViewer diff --git a/libre/epdfview-libre/epdfview.install b/libre/epdfview-libre/epdfview.install new file mode 100644 index 000000000..c317fbaca --- /dev/null +++ b/libre/epdfview-libre/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 +} |