summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2011-03-19 11:24:13 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2011-03-19 11:24:13 +0000
commit47dec2e1b8e2369c62749a1a14db35cdecddb9ea (patch)
tree6c51408d2f231a661ddd44310e03c40a8da21ec9 /dev-python/python-poppler
parentRemoved old (diff)
downloadgentoo-2-47dec2e1b8e2369c62749a1a14db35cdecddb9ea.tar.gz
gentoo-2-47dec2e1b8e2369c62749a1a14db35cdecddb9ea.tar.bz2
gentoo-2-47dec2e1b8e2369c62749a1a14db35cdecddb9ea.zip
Fix compability with poppler >= 0.15.0 and merge upstream fixes.
(Portage version: 2.2.0_alpha27/cvs/Linux x86_64)
Diffstat (limited to 'dev-python/python-poppler')
-rw-r--r--dev-python/python-poppler/ChangeLog11
-rw-r--r--dev-python/python-poppler/files/python-poppler-0.12.1-75_74.diff73
-rw-r--r--dev-python/python-poppler/files/python-poppler-0.12.1-76_75.diff66
-rw-r--r--dev-python/python-poppler/files/python-poppler-0.12.1-79_78.diff52
-rw-r--r--dev-python/python-poppler/files/python-poppler-0.12.1-poppler0.15.0-changes.patch66
-rw-r--r--dev-python/python-poppler/python-poppler-0.12.1-r1.ebuild52
6 files changed, 319 insertions, 1 deletions
diff --git a/dev-python/python-poppler/ChangeLog b/dev-python/python-poppler/ChangeLog
index 7e459d39d943..20574b4351ab 100644
--- a/dev-python/python-poppler/ChangeLog
+++ b/dev-python/python-poppler/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-python/python-poppler
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/python-poppler/ChangeLog,v 1.11 2011/01/08 17:22:24 arfrever Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/python-poppler/ChangeLog,v 1.12 2011/03/19 11:24:13 ssuominen Exp $
+
+*python-poppler-0.12.1-r1 (19 Mar 2011)
+
+ 19 Mar 2011; Samuli Suominen <ssuominen@gentoo.org>
+ +python-poppler-0.12.1-r1.ebuild, +files/python-poppler-0.12.1-75_74.diff,
+ +files/python-poppler-0.12.1-76_75.diff,
+ +files/python-poppler-0.12.1-79_78.diff,
+ +files/python-poppler-0.12.1-poppler0.15.0-changes.patch:
+ Fix compability with poppler >= 0.15.0 and merge upstream fixes.
08 Jan 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
python-poppler-0.12.1.ebuild:
diff --git a/dev-python/python-poppler/files/python-poppler-0.12.1-75_74.diff b/dev-python/python-poppler/files/python-poppler-0.12.1-75_74.diff
new file mode 100644
index 000000000000..47b7a678e3df
--- /dev/null
+++ b/dev-python/python-poppler/files/python-poppler-0.12.1-75_74.diff
@@ -0,0 +1,73 @@
+--- poppler.defs
++++ poppler.defs
+@@ -1642,6 +1642,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_to_pixbuf")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("int" "src_x")
+ '("int" "src_y")
+@@ -1657,6 +1658,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_to_pixbuf_for_printing")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("int" "src_x")
+ '("int" "src_y")
+@@ -1672,12 +1674,14 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_thumbnail_pixbuf")
+ (return-type "GdkPixbuf*")
++ (unblock-threads #t)
+ )
+
+ (define-method render_selection_to_pixbuf
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_selection_to_pixbuf")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("gdouble" "scale")
+ '("int" "rotation")
+@@ -1694,6 +1698,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("cairo_t*" "cairo")
+ )
+@@ -1703,6 +1708,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_for_printing")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("cairo_t*" "cairo")
+ )
+@@ -1712,12 +1718,14 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_thumbnail")
+ (return-type "cairo_surface_t*")
++ (unblock-threads #t)
+ )
+
+ (define-method render_selection
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_selection")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("cairo_t*" "cairo")
+ '("PopplerRectangle*" "selection")
+@@ -1779,6 +1787,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_to_ps")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("PopplerPSFile*" "ps_file")
+ )
+
diff --git a/dev-python/python-poppler/files/python-poppler-0.12.1-76_75.diff b/dev-python/python-poppler/files/python-poppler-0.12.1-76_75.diff
new file mode 100644
index 000000000000..94f4543e87ec
--- /dev/null
+++ b/dev-python/python-poppler/files/python-poppler-0.12.1-76_75.diff
@@ -0,0 +1,66 @@
+--- poppler.override
++++ poppler.override
+@@ -600,3 +600,62 @@
+ return PycairoSurface_FromSurface(surface, NULL, NULL);
+ #endif
+ }
++%%
++override poppler_page_render_to_pixbuf kwargs
++static PyObject *
++_wrap_poppler_page_render_to_pixbuf(PyGObject *self,
++ PyObject *args,
++ PyObject *kwargs)
++{
++ static char *kwlist[] = { "src_x", "src_y", "src_width",
++ "src_height", "scale", "rotation", NULL };
++ int src_x, src_y, src_width, src_height, rotation;
++ double scale;
++ GdkPixbuf *pixbuf = NULL;
++
++ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
++ "iiiidi:Poppler.Page.render_to_pixbuf",
++ kwlist, &src_x, &src_y, &src_width,
++ &src_height, &scale, &rotation))
++ return NULL;
++
++ pyg_begin_allow_threads;
++
++ poppler_page_render_to_pixbuf(POPPLER_PAGE(self->obj), src_x, src_y,
++ src_width, src_height, scale,
++ rotation, pixbuf);
++
++ pyg_end_allow_threads;
++
++ return pygobject_new((GObject *)pixbuf);
++}
++%%
++override poppler_page_render_to_pixbuf_for_printing kwargs
++static PyObject *
++_wrap_poppler_page_render_to_pixbuf_for_printing(PyGObject *self,
++ PyObject *args,
++ PyObject *kwargs)
++{
++ static char *kwlist[] = { "src_x", "src_y", "src_width",
++ "src_height", "scale", "rotation", NULL };
++ int src_x, src_y, src_width, src_height, rotation;
++ double scale;
++ GdkPixbuf *pixbuf = NULL;
++
++ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
++ "iiiidi:Poppler.Page.render_to_pixbuf_for_printing",
++ kwlist, &src_x, &src_y, &src_width,
++ &src_height, &scale, &rotation))
++ return NULL;
++
++ pyg_begin_allow_threads;
++
++ poppler_page_render_to_pixbuf_for_printing(POPPLER_PAGE(self->obj),
++ src_x, src_y, src_width,
++ src_height, scale,
++ rotation, pixbuf);
++
++ pyg_end_allow_threads;
++
++ return pygobject_new((GObject *)pixbuf);
++}
+
diff --git a/dev-python/python-poppler/files/python-poppler-0.12.1-79_78.diff b/dev-python/python-poppler/files/python-poppler-0.12.1-79_78.diff
new file mode 100644
index 000000000000..161ec588e178
--- /dev/null
+++ b/dev-python/python-poppler/files/python-poppler-0.12.1-79_78.diff
@@ -0,0 +1,52 @@
+--- poppler.override
++++ poppler.override
+@@ -266,6 +266,12 @@
+ import gobject.GObject as PyGObject_Type
+ import gtk.gdk.Pixbuf as PyGdkPixbuf_Type
+ %%
++ignore
++poppler_page_free_link_mapping
++poppler_page_free_image_mapping
++poppler_page_free_form_field_mapping
++poppler_page_free_annot_mapping
++%%
+ ignore-glob
+ *_get_type
+ _*
+@@ -359,7 +365,7 @@
+
+ item_list = poppler_page_get_link_mapping(POPPLER_PAGE(self->obj));
+ ret = _glist_to_pylist_boxed(item_list, POPPLER_TYPE_LINK_MAPPING);
+- g_list_free(item_list);
++ poppler_page_free_link_mapping(item_list);
+ return ret;
+ }
+ %%
+@@ -372,7 +378,7 @@
+
+ item_list = poppler_page_get_image_mapping(POPPLER_PAGE(self->obj));
+ ret = _glist_to_pylist_boxed(item_list, POPPLER_TYPE_IMAGE_MAPPING);
+- g_list_free(item_list);
++ poppler_page_free_image_mapping(item_list);
+ return ret;
+ }
+ %%
+@@ -385,7 +391,7 @@
+
+ item_list = poppler_page_get_form_field_mapping(POPPLER_PAGE(self->obj));
+ ret = _glist_to_pylist_boxed(item_list, POPPLER_TYPE_FORM_FIELD_MAPPING);
+- g_list_free(item_list);
++ poppler_page_free_form_field_mapping(item_list);
+ return ret;
+ }
+ %%
+@@ -398,7 +404,7 @@
+
+ item_list = poppler_page_get_annot_mapping(POPPLER_PAGE(self->obj));
+ ret = _glist_to_pylist_boxed(item_list, POPPLER_TYPE_ANNOT_MAPPING);
+- g_list_free(item_list);
++ poppler_page_free_annot_mapping(item_list);
+ return ret;
+ }
+ %%
+
diff --git a/dev-python/python-poppler/files/python-poppler-0.12.1-poppler0.15.0-changes.patch b/dev-python/python-poppler/files/python-poppler-0.12.1-poppler0.15.0-changes.patch
new file mode 100644
index 000000000000..a480cfa437a8
--- /dev/null
+++ b/dev-python/python-poppler/files/python-poppler-0.12.1-poppler0.15.0-changes.patch
@@ -0,0 +1,66 @@
+--- poppler.defs
++++ poppler.defs
+@@ -1760,6 +1760,12 @@
+ (return-type "int")
+ )
+
++(define-method get_label
++ (of-object "PopplerPage")
++ (c-name "poppler_page_get_label")
++ (return-type "gchar*")
++)
++
+ (define-method get_duration
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_duration")
+@@ -1805,9 +1811,15 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_text")
+ (return-type "char*")
++)
++
++(define-method get_selected_text
++ (of-object "PopplerPage")
++ (c-name "poppler_page_get_selected_text")
++ (return-type "char*")
+ (parameters
+ '("PopplerSelectionStyle" "style")
+- '("PopplerRectangle*" "rect")
++ '("PopplerRectangle*" "selection")
+ )
+ )
+
+@@ -1895,6 +1907,16 @@
+ )
+ )
+
++(define-function poppler_page_add_annot
++ (of-object "PopplerPage")
++ (c-name "poppler_page_add_annot")
++ (return-type "none")
++ (parameters
++ '("PopplerAnnot*" "annot")
++ '("GList*" "list")
++ )
++)
++
+ (define-method get_crop_box
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_crop_box")
+@@ -1904,6 +1926,16 @@
+ )
+ )
+
++(define-method get_text_layout
++ (of-object "PopplerPage")
++ (c-name "poppler_page_get_text_layout")
++ (return-type "gboolean")
++ (parameters
++ '("PopplerRectangle**" "rectangles")
++ '("guint*" "n_rectangles")
++ )
++)
++
+ (define-function poppler_rectangle_get_type
+ (c-name "poppler_rectangle_get_type")
+ (return-type "GType")
diff --git a/dev-python/python-poppler/python-poppler-0.12.1-r1.ebuild b/dev-python/python-poppler/python-poppler-0.12.1-r1.ebuild
new file mode 100644
index 000000000000..feedc5a918c9
--- /dev/null
+++ b/dev-python/python-poppler/python-poppler-0.12.1-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/python-poppler/python-poppler-0.12.1-r1.ebuild,v 1.1 2011/03/19 11:24:13 ssuominen Exp $
+
+EAPI="3"
+PYTHON_DEPEND="2:2.6"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.4 2.5 3.* *-jython"
+PYTHON_EXPORT_PHASE_FUNCTIONS="1"
+
+inherit eutils libtool python
+
+DESCRIPTION="Python bindings to the Poppler PDF library"
+HOMEPAGE="http://launchpad.net/poppler-python"
+SRC_URI="http://launchpad.net/poppler-python/trunk/development/+download/pypoppler-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+S=${WORKDIR}/pypoppler-${PV}
+
+RDEPEND="( >=app-text/poppler-0.15.0[cairo] )
+ >=dev-python/pycairo-1.8.4
+ dev-python/pygobject:2
+ dev-python/pygtk:2"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # http://pkgs.fedoraproject.org/gitweb/?p=pypoppler.git;a=tree
+ epatch \
+ "${FILESDIR}"/${P}-75_74.diff \
+ "${FILESDIR}"/${P}-76_75.diff \
+ "${FILESDIR}"/${P}-79_78.diff \
+ "${FILESDIR}"/${P}-poppler0.15.0-changes.patch
+
+ elibtoolize
+ python_copy_sources
+}
+
+src_install() {
+ python_src_install
+ python_clean_installation_image
+
+ dodoc NEWS || die
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins demo/demo-poppler.py || die
+ fi
+}