[epdfview] Add support for poppler >= 0.15.0

Michal Schmidt michich at fedoraproject.org
Thu Sep 30 23:04:50 UTC 2010


commit 2be8f0621abdb1646d2d332e26a4648be78c2bbd
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Fri Oct 1 01:04:03 2010 +0200

    Add support for poppler >= 0.15.0

 epdfview-poppler-0.15.patch |   72 +++++++++++++++++++++++++++++++++++++++++++
 epdfview.spec               |    7 +++-
 2 files changed, 78 insertions(+), 1 deletions(-)
---
diff --git a/epdfview-poppler-0.15.patch b/epdfview-poppler-0.15.patch
new file mode 100644
index 0000000..1c7880a
--- /dev/null
+++ b/epdfview-poppler-0.15.patch
@@ -0,0 +1,72 @@
+Support for poppler >= 0.15.0
+
+Poppler 0.15 has an API change. See:
+http://cgit.freedesktop.org/poppler/poppler/commit/?id=b257428150e2c13dcc24fd8f75e4ee2c679ab414
+This adds support for the new poppler version to epdfview.
+Tested in Fedora Rawhide.
+
+[ Patch sent to Jordi Fita on 2010-10-01 -- michich ]
+
+Index: src/PDFDocument.cxx
+===================================================================
+--- src/PDFDocument.cxx	(revision 353)
++++ src/PDFDocument.cxx	(working copy)
+@@ -681,14 +681,24 @@
+     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(),
+                                   (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
+Index: configure.ac
+===================================================================
+--- configure.ac	(revision 353)
++++ configure.ac	(working copy)
+@@ -41,18 +41,22 @@
+ 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
+ 
+ AC_MSG_CHECKING([for native Win32])
+ case "$host" in
diff --git a/epdfview.spec b/epdfview.spec
index 0d5a2cd..0ade6b8 100644
--- a/epdfview.spec
+++ b/epdfview.spec
@@ -3,7 +3,7 @@
 
 Name:		epdfview
 Version:	0.1.7
-Release:	7.%{svndate}svn%{?dist}
+Release:	8.%{svndate}svn%{?dist}
 Summary:	Lightweight PDF document viewer
 
 Group:		Applications/Publishing
@@ -14,6 +14,7 @@ URL:		http://trac.emma-soft.com/epdfview
 # svn export -r %{svnrev} svn://svn.emma-soft.com/epdfview/trunk %{name}-%{svndate}svn
 # tar -cjf %{name}-%{svndate}svn.tar.bz2 %{name}-%{svndate}svn/
 Source0:	%{name}-%{svndate}svn.tar.bz2
+Patch0:		epdfview-poppler-0.15.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:	poppler-glib-devel
@@ -28,6 +29,7 @@ Evince but without using the Gnome libraries.
 
 %prep
 %setup -q -n %{name}-%{svndate}svn
+%patch0 -p0
 
 %build
 ./autogen.sh
@@ -73,6 +75,9 @@ update-desktop-database &> /dev/null || :
 %{_datadir}/pixmaps/icon_epdfview-48.png
 
 %changelog
+* Fri Oct 01 2010 Michal Schmidt <mschmidt at redhat.com> 0.1.7-8.20100621svn
+- Add support for poppler >= 0.15.0.
+
 * Thu Aug 19 2010 Rex Dieter <rdieter at fedoraproject.org> - 0.1.7-7.20100621svn
 - rebuild (poppler)
 


More information about the scm-commits mailing list