diff options
author | 2011-03-19 11:24:13 +0000 | |
---|---|---|
committer | 2011-03-19 11:24:13 +0000 | |
commit | 47dec2e1b8e2369c62749a1a14db35cdecddb9ea (patch) | |
tree | 6c51408d2f231a661ddd44310e03c40a8da21ec9 /dev-python/python-poppler | |
parent | Removed old (diff) | |
download | gentoo-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')
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 +} |