pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/print/ruby-gnome2-poppler Fix build with poppler-0.6.x.
details: https://anonhg.NetBSD.org/pkgsrc/rev/c5fae8da1bc6
branches: trunk
changeset: 535227:c5fae8da1bc6
user: wiz <wiz%pkgsrc.org@localhost>
date: Sun Nov 11 23:30:17 2007 +0000
description:
Fix build with poppler-0.6.x.
>From maintainer dieter roelants in PR 37358.
diffstat:
print/ruby-gnome2-poppler/Makefile | 6 +-
print/ruby-gnome2-poppler/distinfo | 7 +
print/ruby-gnome2-poppler/patches/patch-aa | 32 +
print/ruby-gnome2-poppler/patches/patch-ab | 840 +++++++++++++++++++++++++++++
4 files changed, 883 insertions(+), 2 deletions(-)
diffs (truncated from 915 to 300 lines):
diff -r 4071bdae36a0 -r c5fae8da1bc6 print/ruby-gnome2-poppler/Makefile
--- a/print/ruby-gnome2-poppler/Makefile Sun Nov 11 22:06:21 2007 +0000
+++ b/print/ruby-gnome2-poppler/Makefile Sun Nov 11 23:30:17 2007 +0000
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.1.1.1 2007/05/27 02:00:02 obache Exp $
+# $NetBSD: Makefile,v 1.2 2007/11/11 23:30:17 wiz Exp $
#
PKGNAME= ${RUBY_PKGPREFIX}-gnome2-poppler-${VERSION}
+PKGREVISION= 1
COMMENT= Ruby binding of poppler-glib
CATEGORIES= print
@@ -10,8 +11,9 @@
DEPENDS+= ${RUBY_PKGPREFIX}-gnome2-glib>=${VERSION}:../../devel/ruby-gnome2-glib
DEPENDS+= ${RUBY_PKGPREFIX}-gnome2-gdkpixbuf>=${VERSION}:../../graphics/ruby-gnome2-gdkpixbuf
USE_TOOLS+= pkg-config
+DISTINFO_FILE?= ${.CURDIR}/distinfo
-BUILDLINK_API_DEPENDS.poppler-glib+= poppler-glib>=0.5.2
+BUILDLINK_API_DEPENDS.poppler-glib+= poppler-glib>=0.6.0
.include "../../graphics/ruby-rcairo/buildlink3.mk"
.include "../../print/poppler-glib/buildlink3.mk"
diff -r 4071bdae36a0 -r c5fae8da1bc6 print/ruby-gnome2-poppler/distinfo
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/print/ruby-gnome2-poppler/distinfo Sun Nov 11 23:30:17 2007 +0000
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2007/11/11 23:30:17 wiz Exp $
+
+SHA1 (ruby-gnome2-all-0.16.0.tar.gz) = 488f6c1f139060e005f336c9c854c4dc5b3e6b7c
+RMD160 (ruby-gnome2-all-0.16.0.tar.gz) = c83c7cdcf633ad5cc213180f641a6c8f18002a9c
+Size (ruby-gnome2-all-0.16.0.tar.gz) = 1208856 bytes
+SHA1 (patch-aa) = e304eae9b1341db74e5bcc7e8aa51f3e6475b4fa
+SHA1 (patch-ab) = 82c0981b80df1dd5390f53561e510bf9e32575d0
diff -r 4071bdae36a0 -r c5fae8da1bc6 print/ruby-gnome2-poppler/patches/patch-aa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/print/ruby-gnome2-poppler/patches/patch-aa Sun Nov 11 23:30:17 2007 +0000
@@ -0,0 +1,32 @@
+$NetBSD: patch-aa,v 1.1 2007/11/11 23:30:18 wiz Exp $
+
+--- poppler/src/rbpoppler.h.orig 2006-12-29 14:17:28.000000000 +0100
++++ poppler/src/rbpoppler.h
+@@ -38,16 +38,27 @@ extern GType poppler_dest_get_type (void
+ #define REGION2RVAL(obj) (BOXED2RVAL(obj, GDK_TYPE_REGION))
+ #define RVAL2DEST(obj) ((PopplerDest *)RVAL2BOXED(obj, POPPLER_TYPE_DEST))
+ #define DEST2RVAL(obj) (BOXED2RVAL(obj, POPPLER_TYPE_DEST))
++#define TRANS2RVAL(obj) (BOXED2RVAL(obj, POPPLER_TYPE_PAGE_TRANSITION))
++#define RVAL2TRANS(obj) ((PopplerPageTransition *)RVAL2BOXED(obj, POPPLER_TYPE_PAGE_TRANSITION))
++
+ #define DESTTYPE2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_DEST_TYPE))
+ #define ACTIONTYPE2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_ACTION_TYPE))
+ #define RVAL2ACTIONTYPE(obj) (RVAL2GENUM(obj, POPPLER_TYPE_ACTION_TYPE))
++#define SELSTYLE2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_SELECTION_STYLE))
++#define RVAL2SELSTYLE(obj) (RVAL2GENUM(obj, POPPLER_TYPE_SELECTION_STYLE))
+ #define RVAL2COLOR(obj) ((GdkColor *)RVAL2BOXED(obj, GDK_TYPE_COLOR))
+
+ #define ACTION2RVAL(obj) (rb_poppler_ruby_object_from_action(obj))
+ #define RVAL2ACTION(obj) (rb_poppler_action_from_ruby_object(obj))
++#define FF2RVAL(obj) (rb_poppler_ruby_object_from_form_field(obj))
+
+ extern VALUE rb_poppler_ruby_object_from_action(PopplerAction *action);
+ extern PopplerAction *rb_poppler_action_from_ruby_object(VALUE action);
++#if POPPLER_CHECK_VERSION(0, 6, 0)
++extern VALUE rb_poppler_ruby_object_from_form_field(PopplerFormField *field);
++#endif
++
++#define RVAL2GDK_PIXBUF(pixbuf) (GDK_PIXBUF(RVAL2GOBJ(pixbuf)))
+
+
+ extern void Init_poppler_document(VALUE mPoppler);
diff -r 4071bdae36a0 -r c5fae8da1bc6 print/ruby-gnome2-poppler/patches/patch-ab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/print/ruby-gnome2-poppler/patches/patch-ab Sun Nov 11 23:30:17 2007 +0000
@@ -0,0 +1,840 @@
+$NetBSD: patch-ab,v 1.1 2007/11/11 23:30:18 wiz Exp $
+
+--- poppler/src/rbpoppler-page.c.orig 2006-12-29 14:17:28.000000000 +0100
++++ poppler/src/rbpoppler-page.c
+@@ -12,16 +12,39 @@
+
+ #include "rbpoppler.h"
+
++#define SELF(self) (POPPLER_PAGE(RVAL2GOBJ(self)))
+ #define RVAL2LM(obj) ((PopplerLinkMapping *)RVAL2BOXED(obj, POPPLER_TYPE_LINK_MAPPING))
++#define RVAL2IM(obj) ((PopplerImageMapping *)RVAL2BOXED(obj, POPPLER_TYPE_IMAGE_MAPPING))
++#define RVAL2FFM(obj) ((PopplerFormFieldMapping *)RVAL2BOXED(obj, POPPLER_TYPE_FORM_FIELD_MAPPING))
++#define RVAL2FF(obj) (POPPLER_FORM_FIELD(RVAL2GOBJ(obj)))
++#define RVAL2TF(obj) RVAL2FF(obj)
++#define RVAL2BF(obj) RVAL2FF(obj)
++#define RVAL2CF(obj) RVAL2FF(obj)
++
++#define TT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_PAGE_TRANSITION_TYPE))
++#define RVAL2TT(obj) (RVAL2GENUM(obj, POPPLER_TYPE_PAGE_TRANSITION_TYPE))
++#define TA2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_PAGE_TRANSITION_ALIGNMENT))
++#define RVAL2TA(obj) (RVAL2GENUM(obj, POPPLER_TYPE_PAGE_TRANSITION_ALIGNMENT))
++#define TD2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_PAGE_TRANSITION_DIRECTION))
++#define RVAL2TD(obj) (RVAL2GENUM(obj, POPPLER_TYPE_PAGE_TRANSITION_DIRECTION))
++#define FFT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_FORM_FIELD_TYPE))
++#define RVAL2FFT(obj) (RVAL2GENUM(obj, POPPLER_TYPE_FORM_FIELD_TYPE))
++#define FBT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_FORM_BUTTON_TYPE))
++#define FTT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_FORM_TEXT_TYPE))
++#define FCT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_FORM_CHOICE_TYPE))
+
+-static VALUE cPSFile;
++static VALUE cPSFile, cRectangle;
++
++#if POPPLER_CHECK_VERSION(0, 6, 0)
++VALUE cUnknownField, cTextField, cButtonField, cChoiceField, cSignatureField;
++#endif
+
+ static VALUE
+ page_render_to_pixbuf(VALUE self, VALUE src_x, VALUE src_y, VALUE src_width,
+ VALUE src_height, VALUE scale, VALUE rotation,
+ VALUE pixbuf)
+ {
+- poppler_page_render_to_pixbuf(RVAL2GOBJ(self), NUM2INT(src_x),
++ poppler_page_render_to_pixbuf(SELF(self), NUM2INT(src_x),
+ NUM2INT(src_y), NUM2INT(src_width),
+ NUM2INT(src_height), NUM2DBL(scale),
+ NUM2INT(rotation), RVAL2GOBJ(pixbuf));
+@@ -32,7 +55,7 @@ page_render_to_pixbuf(VALUE self, VALUE
+ static VALUE
+ page_render(VALUE self, VALUE cairo)
+ {
+- poppler_page_render(RVAL2GOBJ(self), RVAL2CRCONTEXT(cairo));
++ poppler_page_render(SELF(self), RVAL2CRCONTEXT(cairo));
+ return Qnil;
+ }
+ #endif
+@@ -40,7 +63,7 @@ page_render(VALUE self, VALUE cairo)
+ static VALUE
+ page_render_to_ps(VALUE self, VALUE ps_file)
+ {
+- poppler_page_render_to_ps(RVAL2GOBJ(self), RVAL2GOBJ(ps_file));
++ poppler_page_render_to_ps(SELF(self), RVAL2GOBJ(ps_file));
+ return Qnil;
+ }
+
+@@ -48,7 +71,7 @@ static VALUE
+ page_render_generic(int argc, VALUE *argv, VALUE self)
+ {
+ if (argc == 1) {
+- if (RTEST(rb_obj_is_kind_of(argv[0], cPSFile))) {
++ if (RVAL2CBOOL(rb_obj_is_kind_of(argv[0], cPSFile))) {
+ return page_render_to_ps(self, argv[0]);
+ } else {
+ #ifdef RB_POPPLER_CAIRO_AVAILABLE
+@@ -70,20 +93,34 @@ static VALUE
+ page_get_size(VALUE self)
+ {
+ double width, height;
+- poppler_page_get_size(RVAL2GOBJ(self), &width, &height);
++ poppler_page_get_size(SELF(self), &width, &height);
+ return rb_ary_new3(2, rb_float_new(width), rb_float_new(height));
+ }
+
+ static VALUE
+ page_get_index(VALUE self)
+ {
+- return INT2NUM(poppler_page_get_index(RVAL2GOBJ(self)));
++ return INT2NUM(poppler_page_get_index(SELF(self)));
++}
++
++#if POPPLER_CHECK_VERSION(0, 6, 0)
++static VALUE
++page_get_duration(VALUE self)
++{
++ return rb_float_new(poppler_page_get_duration(SELF(self)));
+ }
+
+ static VALUE
++page_get_transition(VALUE self)
++{
++ return TRANS2RVAL(poppler_page_get_transition(SELF(self)));
++}
++#endif
++
++static VALUE
+ page_get_thumbnail(VALUE self)
+ {
+- return GOBJ2RVAL(poppler_page_get_thumbnail(RVAL2GOBJ(self)));
++ return GOBJ2RVAL(poppler_page_get_thumbnail(SELF(self)));
+ }
+
+ static VALUE
+@@ -91,7 +128,7 @@ page_get_thumbnail_size(VALUE self)
+ {
+ int width, height;
+
+- if (poppler_page_get_thumbnail_size(RVAL2GOBJ(self), &width, &height))
++ if (poppler_page_get_thumbnail_size(SELF(self), &width, &height))
+ return rb_ary_new3(2, INT2NUM(width), INT2NUM(height));
+ else
+ return Qnil;
+@@ -100,17 +137,60 @@ page_get_thumbnail_size(VALUE self)
+ static VALUE
+ page_find_text(VALUE self, VALUE text)
+ {
+- return GLIST2ARY2F(poppler_page_find_text(RVAL2GOBJ(self), RVAL2CSTR(text)),
++ return GLIST2ARY2F(poppler_page_find_text(SELF(self), RVAL2CSTR(text)),
+ POPPLER_TYPE_RECTANGLE);
+ }
+
+ static VALUE
+-page_get_text(VALUE self, VALUE rect)
++page_get_text(int argc, VALUE *argv, VALUE self)
+ {
+ gchar *text;
+- VALUE rb_text;
++#if POPPLER_CHECK_VERSION(0, 6, 0)
++ PopplerSelectionStyle style = POPPLER_SELECTION_GLYPH;
++#endif
++ VALUE rb_text, arg1, arg2, rb_rect;
++ PopplerPage *page;
++
++ rb_scan_args(argc, argv, "02", &arg1, &arg2);
++
++ page = SELF(self);
++ if (NIL_P(arg1)) {
++ rb_rect = arg2;
++ } else {
++ if (RTEST(rb_obj_is_kind_of(arg2, cRectangle))) {
++ rb_rect = arg2;
++ } else {
++ rb_rect = Qnil;
++#if POPPLER_CHECK_VERSION(0, 6, 0)
++ if (!NIL_P(arg2)) {
++ style = RVAL2SELSTYLE(arg2);
++ }
++#endif
++ }
++ }
++
++ if (NIL_P(rb_rect)) {
++ PopplerRectangle rect;
++ double width, height;
++
++ rect.x1 = 0;
++ rect.y1 = 0;
++ poppler_page_get_size(page, &width, &height);
++ rect.x2 = width;
++ rect.y2 = height;
++ text = poppler_page_get_text(page,
++#if POPPLER_CHECK_VERSION(0, 6, 0)
++ style,
++#endif
++ &rect);
++ } else {
++ text = poppler_page_get_text(page,
++#if POPPLER_CHECK_VERSION(0, 6, 0)
++ style,
++#endif
++ RVAL2RECT(rb_rect));
++ }
+
+- text = poppler_page_get_text(RVAL2GOBJ(self), RVAL2RECT(rect));
+ rb_text = CSTR2RVAL(text);
+ g_free(text);
+ return rb_text;
+@@ -119,15 +199,50 @@ page_get_text(VALUE self, VALUE rect)
+ static VALUE
+ page_get_link_mapping(VALUE self)
+ {
+- return GLIST2ARY2F(poppler_page_get_link_mapping(RVAL2GOBJ(self)),
++ return GLIST2ARY2F(poppler_page_get_link_mapping(SELF(self)),
+ POPPLER_TYPE_LINK_MAPPING);
+ }
+
++#if POPPLER_CHECK_VERSION(0, 6, 0)
++static VALUE
++page_get_image_mapping(VALUE self)
++{
++ return GLIST2ARY2F(poppler_page_get_image_mapping(SELF(self)),
++ POPPLER_TYPE_IMAGE_MAPPING);
++}
++
++static VALUE
++page_get_form_field_mapping(VALUE self)
++{
++ return GLIST2ARY2F(poppler_page_get_form_field_mapping(SELF(self)),
++ POPPLER_TYPE_FORM_FIELD_MAPPING);
++}
++#endif
++
+ static VALUE
+-page_get_selection_region(VALUE self, VALUE scale, VALUE selection)
++page_get_selection_region(int argc, VALUE *argv, VALUE self)
+ {
+- return REGION2RVAL(poppler_page_get_selection_region(RVAL2GOBJ(self),
++#if POPPLER_CHECK_VERSION(0, 6, 0)
++ PopplerSelectionStyle style = POPPLER_SELECTION_GLYPH;
++#endif
++ VALUE arg2, arg3, scale, selection;
++
++ rb_scan_args(argc, argv, "21", &scale, &arg2, &arg3);
++
++ if (NIL_P(arg3)) {
++ selection = arg2;
++ } else {
Home |
Main Index |
Thread Index |
Old Index