summaryrefslogtreecommitdiff
path: root/community/gambas3
diff options
context:
space:
mode:
Diffstat (limited to 'community/gambas3')
-rw-r--r--community/gambas3/PKGBUILD15
-rw-r--r--community/gambas3/poppler-0-20.patch106
2 files changed, 117 insertions, 4 deletions
diff --git a/community/gambas3/PKGBUILD b/community/gambas3/PKGBUILD
index be9037be9..cf13c1a9b 100644
--- a/community/gambas3/PKGBUILD
+++ b/community/gambas3/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 70015 2012-04-28 09:24:08Z allan $
+# $Id: PKGBUILD 71274 2012-05-26 07:54:52Z pschmitz $
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
pkgbase=gambas3
@@ -13,7 +13,7 @@ pkgname=('gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gamba
'gambas3-gb-report' 'gambas3-gb-sdl' 'gambas3-gb-sdl-sound' 'gambas3-gb-settings' 'gambas3-gb-signal'
'gambas3-gb-v4l' 'gambas3-gb-vb' 'gambas3-gb-xml' 'gambas3-gb-xml-rpc' 'gambas3-gb-xml-xslt' 'gambas3-gb-web')
pkgver=3.1.1
-pkgrel=2
+pkgrel=3
pkgdesc="A free development environment based on a Basic interpreter."
arch=('i686' 'x86_64')
url="http://gambas.sourceforge.net/"
@@ -27,14 +27,21 @@ makedepends=('intltool' 'mysql' 'postgresql' 'libffi' 'bzip2' 'glib2' 'v4l-utils
'gsl')
options=('!emptydirs' '!makeflags')
source=("http://downloads.sourceforge.net/gambas/${pkgbase}-${pkgver}.tar.bz2"
- 'gambas3-script.install' 'gambas3-runtime.install')
+ 'gambas3-script.install' 'gambas3-runtime.install'
+ 'poppler-0-20.patch')
md5sums=('bdf387f435d7aeedb7efa488ea1a5d62'
'b284be39d147ec799f1116a6abc068b4'
- 'b5cc403990f31b8ea1c5cf37366d3d29')
+ 'b5cc403990f31b8ea1c5cf37366d3d29'
+ '39d2ae1e2096a29df7857fce083eafaf')
build() {
cd ${srcdir}/${pkgbase}-${pkgver}
+ # fix building with poppler-0.20.x (merged upstream)
+ cd gb.pdf
+ patch -Np1 -i ../../poppler-0-20.patch
+ cd ..
+
./reconf-all
./configure --prefix=/usr -C
diff --git a/community/gambas3/poppler-0-20.patch b/community/gambas3/poppler-0-20.patch
new file mode 100644
index 000000000..3b0e4612a
--- /dev/null
+++ b/community/gambas3/poppler-0-20.patch
@@ -0,0 +1,106 @@
+diff -ur gb.pdf/configure.ac gb.pdf.fixed/configure.ac
+--- gb.pdf/configure.ac 2012-05-14 08:55:02.448921378 +0200
++++ gb.pdf.fixed/configure.ac 2012-05-14 08:52:19.098596499 +0200
+@@ -24,6 +24,8 @@
+ AC_DEFINE_UNQUOTED(POPPLER_VERSION_0_11_3, $((1-$?)), Poppler version >= 0.11.3)
+ pkg-config --atleast-version=0.17.0 poppler
+ AC_DEFINE_UNQUOTED(POPPLER_VERSION_0_17, $((1-$?)), Poppler version >= 0.17)
++ pkg-config --atleast-version=0.20.0 poppler
++ AC_DEFINE_UNQUOTED(POPPLER_VERSION_0_20, $((1-$?)), Poppler version >= 0.20)
+ fi
+
+ AC_OUTPUT( \
+diff -ur gb.pdf/src/CPdfDocument.cpp gb.pdf.fixed/src/CPdfDocument.cpp
+--- gb.pdf/src/CPdfDocument.cpp 2012-05-14 08:55:02.388922483 +0200
++++ gb.pdf.fixed/src/CPdfDocument.cpp 2012-05-15 09:25:45.168457227 +0200
+@@ -449,9 +449,13 @@
+
+ white[0] = 0xFF; white[1] = 0xFF; white[2] = 0xFF;
+ THIS->dev=new SplashOutputDev(splashModeRGB8, 3, gFalse, white);
+-
+- THIS->dev->startDoc(THIS->doc->getXRef ());
+
++ #if POPPLER_VERSION_0_20
++ THIS->dev->startDoc(THIS->doc);
++ #else
++ THIS->dev->startDoc(THIS->doc->getXRef ());
++ #endif
++
+ outline=THIS->doc->getOutline();
+ if (outline) THIS->index=outline->getItems();
+
+@@ -875,6 +879,14 @@
+
+ if ( (w<0) || (h<0) ) return NULL;
+
++ #if POPPLER_VERSION_0_20
++ THIS->page->displaySlice(THIS->dev,72.0*scale,72.0*scale,
++ rotation,
++ gFalse,
++ gTrue,
++ x,y,w,h,
++ gFalse);
++ #else
+ THIS->page->displaySlice(THIS->dev,72.0*scale,72.0*scale,
+ rotation,
+ gFalse,
+@@ -882,7 +894,8 @@
+ x,y,w,h,
+ gFalse,
+ THIS->doc->getCatalog ());
+-
++ #endif
++
+ map=THIS->dev->getBitmap();
+
+ data=(uint32_t*)map->getDataPtr();
+@@ -940,9 +953,14 @@
+ w = VARGOPT(W, (int32_t)THIS->page->getMediaWidth());
+ h = VARGOPT(H, (int32_t)THIS->page->getMediaHeight());
+
++ #if POPPLER_VERSION_0_20
++ dev = new TextOutputDev (NULL, gTrue, 0, gFalse, gFalse);
++ gfx = THIS->page->createGfx(dev,72.0,72.0,0,gFalse,gTrue,-1, -1, -1, -1, gFalse, NULL, NULL);
++ #else
+ dev = new TextOutputDev (NULL, gTrue, gFalse, gFalse);
+ gfx = THIS->page->createGfx(dev,72.0,72.0,0,gFalse,gTrue,-1, -1, -1, -1, gFalse,THIS->doc->getCatalog (),NULL, NULL, NULL, NULL);
+-
++ #endif
++
+ THIS->page->display(gfx);
+ dev->endPage();
+
+@@ -970,7 +988,9 @@
+
+ void aux_fill_links(void *_object)
+ {
+- #if POPPLER_VERSION_0_17
++ #if POPPLER_VERSION_0_20
++ THIS->links = new Links (THIS->page->getAnnots ());
++ #elif POPPLER_VERSION_0_17
+ THIS->links = new Links (THIS->page->getAnnots (THIS->doc->getCatalog()));
+ #else
+ Object obj;
+@@ -1152,13 +1172,22 @@
+
+ if (!MISSING(Sensitive)) sensitive=VARG(Sensitive);
+
++ #if POPPLER_VERSION_0_20
++ textdev = new TextOutputDev (NULL, true, 0, false, false);
++ THIS->page->display (textdev, 72, 72, 0, false, false, false);
++ #else
+ textdev = new TextOutputDev (NULL, true, false, false);
+ THIS->page->display (textdev, 72, 72, 0, false, false, false, THIS->doc->getCatalog());
++ #endif
+
+ if (THIS->Found) { GB.FreeArray(POINTER(&THIS->Found)); THIS->Found=NULL; }
+
+ count = 0;
++ #if POPPLER_VERSION_0_20
++ while (textdev->findText (block,nlen,gFalse,gTrue,gTrue,gFalse,sensitive,gFalse,gFalse,&x0,&y0,&x1,&y1))
++ #else
+ while (textdev->findText (block,nlen,gFalse,gTrue,gTrue,gFalse,sensitive,gFalse,&x0,&y0,&x1,&y1))
++ #endif
+ {
+ if (!THIS->Found)
+ GB.NewArray(POINTER(&THIS->Found),sizeof(CPDFFIND),1);