aboutsummaryrefslogtreecommitdiff
path: root/office/epdfview
diff options
context:
space:
mode:
authorNiels Horn <niels.horn@slackbuilds.org>2011-03-31 11:32:20 -0300
committerRobby Workman <rworkman@slackbuilds.org>2011-03-31 23:51:26 -0500
commit81ae0d778befd6b6412c5096ac46952dce7865f4 (patch)
tree7062f3c7f546acdce95206b0bba5bc61098d1d17 /office/epdfview
parent349c7f5f387fe31da04188f02fa9b54ac45e9f4f (diff)
office/epdfview: Patched for new poppler.
Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
Diffstat (limited to 'office/epdfview')
-rw-r--r--office/epdfview/epdfview.SlackBuild20
-rw-r--r--office/epdfview/poppler-0150.patch77
-rw-r--r--office/epdfview/poppler-0151.patch134
-rw-r--r--office/epdfview/poppler-0162.patch24
-rw-r--r--office/epdfview/slack-desc2
5 files changed, 252 insertions, 5 deletions
diff --git a/office/epdfview/epdfview.SlackBuild b/office/epdfview/epdfview.SlackBuild
index 98a7928912407..af7fd415015cf 100644
--- a/office/epdfview/epdfview.SlackBuild
+++ b/office/epdfview/epdfview.SlackBuild
@@ -26,15 +26,13 @@
PRGNAM=epdfview
VERSION=0.1.7
-BUILD=${BUILD:-2}
-TAG=${TAG=_SBo}
+BUILD=${BUILD:-3}
+TAG=${TAG:-_SBo}
-# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
@@ -76,6 +74,20 @@ find . \
# Add patch to fix mouse-scrolling in 0.1.7
patch -p0 < $CWD/mouse-scroll-fix.patch
+# Patch for poppler 0.15.0
+patch -p2 < $CWD/poppler-0150.patch
+
+# Patch for poppler 0.15.1
+patch -p2 < $CWD/poppler-0151.patch
+
+# Patch for poppler 0.16.2
+patch -p0 < $CWD/poppler-0162.patch
+
+# After all the poppler patches, we need to "autoreconf" to set the right variables,
+# but it fails if there is no "ChangeLog" file, so that is created first
+touch ChangeLog
+autoreconf -fi
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/office/epdfview/poppler-0150.patch b/office/epdfview/poppler-0150.patch
new file mode 100644
index 0000000000000..771b93a011821
--- /dev/null
+++ b/office/epdfview/poppler-0150.patch
@@ -0,0 +1,77 @@
+From d8d3dac5fc3fe519b443d22f74258af4aaf48d0c Mon Sep 17 00:00:00 2001
+From: jordi <jordi@cb4bfb15-1111-0410-82e2-95233c8f1c7e>
+Date: Mon, 11 Oct 2010 15:53:47 +0000
+Subject: [PATCH 2/3] Added support for poppler's API changes in 0.15.0 by Michal Schmidt.
+
+git-svn-id: svn://svn.emma-soft.com/epdfview@354 cb4bfb15-1111-0410-82e2-95233c8f1c7e
+---
+ trunk/configure.ac | 16 ++++++++++------
+ trunk/src/PDFDocument.cxx | 12 +++++++++++-
+ 2 files changed, 21 insertions(+), 7 deletions(-)
+
+diff --git a/trunk/configure.ac b/trunk/configure.ac
+index 7ce0ddc..6cbd0e2 100644
+--- a/trunk/configure.ac
++++ b/trunk/configure.ac
+@@ -40,18 +40,22 @@ PKG_CHECK_MODULES([POPPLER], [poppler-glib >= $POPPLER_REQUIRED gdk-2.0 >= $GTK2
+ AC_SUBST([POPPLER_CFLAGS])
+ AC_SUBST([POPPLER_LIBS])
+ dnl Check if we have poppler version 0.5.2 or higher.
+-PKG_CHECK_EXISTS([poppler-glib >= 0.5.2], [have_poppler_052=yes])
+-if test "x$have_poppler_052" = "xyes"; then
++PKG_CHECK_EXISTS([poppler-glib >= 0.5.2], [have_poppler_0_5_2=yes])
++if test "x$have_poppler_0_5_2" = "xyes"; then
+ AC_DEFINE([HAVE_POPPLER_0_5_2], [1], [Define to 1 if you have Poppler version 0.5.2 or higher.])
+ fi
+-PKG_CHECK_EXISTS([poppler-glib >= 0.6], [have_poppler_060=yes])
+-if test "x$have_poppler_060" = "xyes"; then
++PKG_CHECK_EXISTS([poppler-glib >= 0.6], [have_poppler_0_6_0=yes])
++if test "x$have_poppler_0_6_0" = "xyes"; then
+ AC_DEFINE([HAVE_POPPLER_0_6_0], [1], [Define to 1 if you have Poppler version 0.6.0 or higher.])
+ fi
+-PKG_CHECK_EXISTS([poppler-glib >= 0.8], [have_poppler_080=yes])
+-if test "x$have_poppler_080" = "xyes"; then
++PKG_CHECK_EXISTS([poppler-glib >= 0.8], [have_poppler_0_8_0=yes])
++if test "x$have_poppler_0_8_0" = "xyes"; then
+ AC_DEFINE([HAVE_POPPLER_0_8_0], [1], [Define to 1 if you have Poppler version 0.8.0 or higher.])
+ fi
++PKG_CHECK_EXISTS([poppler-glib >= 0.15], [have_poppler_0_15_0=yes])
++if test "x$have_poppler_0_15_0" = "xyes"; then
++ AC_DEFINE([HAVE_POPPLER_0_15_0], [1], [Define to 1 if you have Poppler version 0.15.0 or higher.])
++fi
+
+ EPDFVIEW_PATH_CUPS([CUPS], [have_cups=yes])
+ AM_CONDITIONAL(cups_printing, test "x$have_cups" = "xyes")
+diff --git a/trunk/src/PDFDocument.cxx b/trunk/src/PDFDocument.cxx
+index 6567e9b..a590a20 100644
+--- a/trunk/src/PDFDocument.cxx
++++ b/trunk/src/PDFDocument.cxx
+@@ -678,14 +678,24 @@ PDFDocument::setTextSelection (DocumentRectangle *rect)
+ gdouble pageWidth, pageHeight;
+ poppler_page_get_size(page, &pageWidth, &pageHeight);
+
++#if defined (HAVE_POPPLER_0_15_0)
++ PopplerRectangle textRect = { rect->getX1() / getZoom(),
++ rect->getY1() / getZoom(),
++ rect->getX2() / getZoom(),
++ rect->getY2() / getZoom()};
++#else // !HAVE_POPPLER_0_15_0
+ //for get text we must exchange y coordinate, don't ask me where logic here.
+ PopplerRectangle textRect = { rect->getX1() / getZoom(),
+ (pageHeight - rect->getY2() / getZoom()),
+ rect->getX2() * getZoom() / getZoom(),
+ (pageHeight - rect->getY1() / getZoom())};
++#endif // HAVE_POPPLER_0_15_0
+ repairEmpty(textRect);
+
+-#if defined (HAVE_POPPLER_0_6_0)
++#if defined (HAVE_POPPLER_0_15_0)
++ gchar *text = poppler_page_get_selected_text(page, POPPLER_SELECTION_GLYPH,
++ &textRect);
++#elif defined (HAVE_POPPLER_0_6_0)
+ gchar *text = poppler_page_get_text(page, POPPLER_SELECTION_GLYPH,
+ &textRect);
+ #else // !HAVE_POPPLER_0_6_0
+--
+1.7.4
+
diff --git a/office/epdfview/poppler-0151.patch b/office/epdfview/poppler-0151.patch
new file mode 100644
index 0000000000000..c1aa9a1a6f27c
--- /dev/null
+++ b/office/epdfview/poppler-0151.patch
@@ -0,0 +1,134 @@
+From 951a8f66463c0dc38fa05931bd8df7b45707f6e8 Mon Sep 17 00:00:00 2001
+From: jordi <jordi@cb4bfb15-1111-0410-82e2-95233c8f1c7e>
+Date: Wed, 17 Nov 2010 16:02:45 +0000
+Subject: [PATCH 3/3] Applied patch by Dennis Sheil <dennis-poppler@vartmp.com> to use the correct variable type for linearization since poppler version 0.15.1.
+
+git-svn-id: svn://svn.emma-soft.com/epdfview@357 cb4bfb15-1111-0410-82e2-95233c8f1c7e
+---
+ trunk/THANKS | 1 +
+ trunk/configure.ac | 5 +++++
+ trunk/src/IDocument.cxx | 15 ++++++++++++++-
+ trunk/src/IDocument.h | 8 ++++++++
+ trunk/src/PDFDocument.cxx | 4 ++++
+ 5 files changed, 32 insertions(+), 1 deletions(-)
+
+diff --git a/trunk/THANKS b/trunk/THANKS
+index 48dcb2b..7888d1a 100644
+--- a/trunk/THANKS
++++ b/trunk/THANKS
+@@ -4,6 +4,7 @@ contributions:
+ - Alain Mendizabal <alainmendi@gmail.com>, for his Basque translation.
+ - Alex Dedul <rotmer@gmail.com>, for his patch.
+ - Alexander <lothalev@gmail.com>, for corrections in the Polish translation.
++ - Dennis Sheil <dennis-poppler@vartmp.com>, for his patch.
+ - Enrico Tröger <enrico.troeger@uvena.de>, for his full screen patch and others.
+ - Daniel Nylander <po@danielnylander.se>, for his Swedish translation.
+ - Daniel Pielmeie <daniel.pielmeie@googlemail.com>, for his patches.
+diff --git a/trunk/configure.ac b/trunk/configure.ac
+index 6cbd0e2..f8316b0 100644
+--- a/trunk/configure.ac
++++ b/trunk/configure.ac
+@@ -56,6 +56,11 @@ PKG_CHECK_EXISTS([poppler-glib >= 0.15], [have_poppler_0_15_0=yes])
+ if test "x$have_poppler_0_15_0" = "xyes"; then
+ AC_DEFINE([HAVE_POPPLER_0_15_0], [1], [Define to 1 if you have Poppler version 0.15.0 or higher.])
+ fi
++PKG_CHECK_EXISTS([poppler-glib >= 0.15.1], [have_poppler_0_15_1=yes])
++if test "x$have_poppler_0_15_1" = "xyes"; then
++ AC_DEFINE([HAVE_POPPLER_0_15_1], [1], [Define to 1 if you have Poppler version 0.15.1 or higher.])
++fi
++
+
+ EPDFVIEW_PATH_CUPS([CUPS], [have_cups=yes])
+ AM_CONDITIONAL(cups_printing, test "x$have_cups" = "xyes")
+diff --git a/trunk/src/IDocument.cxx b/trunk/src/IDocument.cxx
+index f1b71c5..f560f34 100644
+--- a/trunk/src/IDocument.cxx
++++ b/trunk/src/IDocument.cxx
+@@ -755,11 +755,16 @@ IDocument::setFormat (gchar *format)
+ const gchar *
+ IDocument::getLinearized ()
+ {
++#if defined (HAVE_POPPLER_0_15_1)
++ if ( m_Linearized ) return "Yes";
++ else return "No";
++#else
+ if ( NULL == m_Linearized )
+ {
+ return "No";
+ }
+ return m_Linearized;
++#endif
+ }
+
+ ///
+@@ -768,14 +773,22 @@ IDocument::getLinearized ()
+ /// @param linearized Set to "Yes" if the document is linearized. "No"
+ /// otherwise. IDocument will free it.
+ ///
++#if defined (HAVE_POPPLER_0_15_1)
+ void
+-IDocument::setLinearized (gchar *linearized)
++IDocument::setLinearized (gboolean *linearized)
++{
++ m_Linearized = linearized;
++}
++#else
++void
++ IDocument::setLinearized (gchar *linearized)
+ {
+ gchar *oldLinearized = m_Linearized;
+ m_Linearized = g_strdup (linearized);
+ g_free (oldLinearized);
+ g_free (linearized);
+ }
++#endif
+
+ ///
+ /// @brief Gets the document's creation date.
+diff --git a/trunk/src/IDocument.h b/trunk/src/IDocument.h
+index fbb3954..32aadf2 100644
+--- a/trunk/src/IDocument.h
++++ b/trunk/src/IDocument.h
+@@ -306,7 +306,11 @@ namespace ePDFView
+ const gchar *getFormat (void);
+ void setFormat (gchar *format);
+ const gchar *getLinearized (void);
++#if defined (HAVE_POPPLER_0_15_1)
++ void setLinearized (gboolean *linearized);
++#else
+ void setLinearized (gchar *linearized);
++#endif
+ const gchar *getCreationDate (void);
+ void setCreationDate (gchar *date);
+ const gchar *getModifiedDate (void);
+@@ -382,7 +386,11 @@ namespace ePDFView
+ /// The document's keyword.
+ gchar *m_Keywords;
+ /// Tells if the document is linearized or not.
++#if defined (HAVE_POPPLER_0_15_1)
++ gboolean *m_Linearized;
++#else
+ gchar *m_Linearized;
++#endif
+ /// The document's modification date and time.
+ gchar *m_ModifiedDate;
+ /// @brief The list of classes that will receive notifications
+diff --git a/trunk/src/PDFDocument.cxx b/trunk/src/PDFDocument.cxx
+index a590a20..4d425cd 100644
+--- a/trunk/src/PDFDocument.cxx
++++ b/trunk/src/PDFDocument.cxx
+@@ -324,7 +324,11 @@ PDFDocument::loadMetadata (void)
+ gchar *format = NULL;
+ gchar *keywords = NULL;
+ PopplerPageLayout layout = POPPLER_PAGE_LAYOUT_UNSET;
++#if defined (HAVE_POPPLER_0_15_1)
++ gboolean *linearized = NULL;
++#else
+ gchar *linearized = NULL;
++#endif
+ GTime modDate;
+ PopplerPageMode mode = POPPLER_PAGE_MODE_UNSET;
+ gchar *producer = NULL;
+--
+1.7.4
+
diff --git a/office/epdfview/poppler-0162.patch b/office/epdfview/poppler-0162.patch
new file mode 100644
index 0000000000000..7cad8d9c6ba1e
--- /dev/null
+++ b/office/epdfview/poppler-0162.patch
@@ -0,0 +1,24 @@
+--- src/IDocument.cxx 2011-02-06 14:45:34.173334040 +0100
++++ src/IDocument.cxx 2011-02-06 14:51:23.173334040 +0100
+@@ -135,7 +135,11 @@
+ m_FindPage = 0;
+ m_Format = NULL;
+ m_Keywords = NULL;
++#if defined (HAVE_POPPLER_0_15_1)
++ m_Linearized = FALSE;
++#else
+ m_Linearized = NULL;
++#endif
+ m_ModifiedDate = NULL;
+ m_PageCache = NULL;
+ m_PageCacheAge = 0;
+@@ -164,7 +168,9 @@
+ g_free (m_FileName);
+ g_free (m_Format);
+ g_free (m_Keywords);
++#if !defined (HAVE_POPPLER_0_15_1)
+ g_free (m_Linearized);
++#endif
+ g_free (m_ModifiedDate);
+ g_free (m_Password);
+ g_free (m_Producer);
diff --git a/office/epdfview/slack-desc b/office/epdfview/slack-desc
index 33d57a03ca205..9b91fa0bdd3d5 100644
--- a/office/epdfview/slack-desc
+++ b/office/epdfview/slack-desc
@@ -7,7 +7,7 @@
|-----handy-ruler------------------------------------------------------|
epdfview: ePDFView (lightweight, GTK+ based PDF viewer for X)
-epdfview:
+epdfview:
epdfview: The aim of ePDFView is to make a simple PDF document viewer -
epdfview: very similar to evince, without requiring all of the gnome
epdfview: libraries.