diff options
73 files changed, 5666 insertions, 72 deletions
diff --git a/community-testing/cegui/PKGBUILD b/community-testing/cegui/PKGBUILD new file mode 100644 index 000000000..3ed27b997 --- /dev/null +++ b/community-testing/cegui/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 55685 2011-09-17 21:14:32Z stephane $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Juergen Hoetzel <juergen@archlinux.org> +# Contributor: William Rea <sillywilly@gmail.com>, +# Contributor: Bjorn Lindeijer <bjorn@lindeijer.nl> + +pkgname=cegui +pkgver=0.7.5 +pkgrel=5 +pkgdesc="A free library providing windowing and widgets for graphics APIs/engines" +arch=('i686' 'x86_64') +url="http://crayzedsgui.sourceforge.net" +#options=('!libtool') +license=("MIT") +depends=('pcre' 'glew' 'expat' 'freetype2' 'libxml2' 'devil' 'freeglut' 'lua' 'silly') +makedepends=('python2' 'doxygen') +source=(http://downloads.sourceforge.net/crayzedsgui/CEGUI-$pkgver.tar.gz) +md5sums=('38c79d1fdfaaa10f481c99a2ac479516') + +build() { + cd $srcdir/CEGUI-${pkgver} + + sed -i '1i#include <cstddef>' cegui/include/CEGUIString.h + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-xerces-c \ + --enable-null-renderer + + make +} + +package() { + cd $srcdir/CEGUI-${pkgver} + + make DESTDIR=${pkgdir} install + + #build docs + cd doc/doxygen && doxygen + cd .. && make DESTDIR=${pkgdir} install-html + + install -Dm644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/LICENSE +} + diff --git a/community-testing/clementine/PKGBUILD b/community-testing/clementine/PKGBUILD new file mode 100644 index 000000000..ca15e9f1f --- /dev/null +++ b/community-testing/clementine/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 55687 2011-09-17 21:14:43Z stephane $ +#Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +#Contributor: BlackEagle < ike DOT devolder AT gmail DOT com > +#Contributor: Dany Martineau <dany.luc.martineau@gmail.com> + +pkgname=clementine +pkgver=0.7.1 +pkgrel=7 +pkgdesc="A music player and library organizer" +url="http://www.clementine-player.org/" +license=('GPL') +arch=('i686' 'x86_64') +depends=('gstreamer0.10' 'taglib' 'glew' 'liblastfm' 'libgpod' 'libmtp' 'libplist' 'hicolor-icon-theme' 'qt' 'libimobiledevice') +makedepends=('cmake' 'boost') +optdepends=('gstreamer0.10-base-plugins: for more open formats' + 'gstreamer0.10-good-plugins: for use with "Good" plugin libraries' + 'gstreamer0.10-bad-plugins: for use with "Bad" plugin libraries' + 'gstreamer0.10-ugly-plugins: for use with "Ugly" plugin libraries') +source=(http://clementine-player.googlecode.com/files/${pkgname}-${pkgver}.tar.gz + clementine-0.7.1-fix-devicekit.patch) +sha1sums=('8b2025b8876f9f3fe33ef5001e0621f3a5d0f142' + 'd595e2746949363680e0d64fe2fb97b524c8d27c') +install=clementine.install + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ../clementine-0.7.1-fix-devicekit.patch + cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DSTATIC_SQLITE=0 -DENABLE_GIO=OFF + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/community-testing/clementine/clementine-0.7.1-fix-devicekit.patch b/community-testing/clementine/clementine-0.7.1-fix-devicekit.patch new file mode 100644 index 000000000..797a2c864 --- /dev/null +++ b/community-testing/clementine/clementine-0.7.1-fix-devicekit.patch @@ -0,0 +1,11 @@ +diff -Naur clementine-0.7.1.ori/src/config.h.in clementine-0.7.1/src/config.h.in +--- clementine-0.7.1.ori/src/config.h.in 2011-03-29 12:16:15.000000000 -0700 ++++ clementine-0.7.1/src/config.h.in 2011-05-09 16:00:26.505080057 -0700 +@@ -29,6 +29,7 @@ + #cmakedefine HAVE_STATIC_SQLITE + + #cmakedefine HAVE_DBUS ++#cmakedefine HAVE_DEVICEKIT + #cmakedefine HAVE_GIO + #cmakedefine HAVE_IMOBILEDEVICE + #cmakedefine HAVE_LIBARCHIVE diff --git a/community-testing/clementine/clementine.install b/community-testing/clementine/clementine.install new file mode 100644 index 000000000..2f0338d8a --- /dev/null +++ b/community-testing/clementine/clementine.install @@ -0,0 +1,13 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install $1 +} + + +post_remove() { + post_install $1 +} diff --git a/community-testing/freewrl/PKGBUILD b/community-testing/freewrl/PKGBUILD new file mode 100644 index 000000000..0d384e8dc --- /dev/null +++ b/community-testing/freewrl/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 55689 2011-09-17 21:14:49Z stephane $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=freewrl +pkgver=1.22.10 +pkgrel=7 +pkgdesc="VRML viewer" +arch=('i686' 'x86_64') +url="http://freewrl.sourceforge.net/" +license=('GPL') +depends=('java-runtime' 'libxaw' 'glew' 'freeglut' 'curl' 'freetype2' 'imlib2' 'sox' + 'unzip' 'imagemagick' 'libxml2' 'ttf-bitstream-vera' 'lesstif' 'js') +makedepends=('java-environment') +options=(!libtool) +source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 + build-fix.patch) +md5sums=('07fd8f193d14799ffb95a59a4887fc88' + '52e4b6aacebcaf18cbec8975e0eb7fd8') + +build() { + . /etc/profile.d/openjdk6.sh + cd $srcdir/$pkgname-$pkgver + patch -p1 <$srcdir/build-fix.patch + export JAVASCRIPT_ENGINE_CFLAGS="-I/usr/include/js -DXP_UNIX -DJS_THREADSAFE $(pkg-config --cflags nspr)" + export JAVASCRIPT_ENGINE_LIBS="$(pkg-config --libs nspr) -lmozjs185" + ./configure \ + --prefix=/usr --with-fontsdir=/usr/share/fonts/TTF --enable-libeai \ + --enable-libcurl --with-expat=/usr --with-target=x11 --disable-plugin \ + --disable-mozilla-js --disable-xulrunner-js --disable-firefox-js \ + --disable-seamonkey-js + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/community-testing/freewrl/build-fix.patch b/community-testing/freewrl/build-fix.patch new file mode 100644 index 000000000..c0de71d07 --- /dev/null +++ b/community-testing/freewrl/build-fix.patch @@ -0,0 +1,1201 @@ +diff -wbBur freewrl-1.22.10/src/lib/non_web3d_formats/ColladaParser.c freewrl-1.22.10.my/src/lib/non_web3d_formats/ColladaParser.c +--- freewrl-1.22.10/src/lib/non_web3d_formats/ColladaParser.c 2010-08-19 06:20:36.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/non_web3d_formats/ColladaParser.c 2011-07-04 01:19:07.000000000 +0400 +@@ -54,7 +54,7 @@ + #include "ColladaParser.h" + + #if HAVE_EXPAT_H +-# include <expat.h> ++# include </usr/include/expat.h> + #endif + + #define PROTOINSTANCE_MAX_LEVELS 10 +diff -wbBur freewrl-1.22.10/src/lib/world_script/fieldGet.c freewrl-1.22.10.my/src/lib/world_script/fieldGet.c +--- freewrl-1.22.10/src/lib/world_script/fieldGet.c 2010-10-13 23:45:26.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/world_script/fieldGet.c 2011-07-04 20:21:21.000000000 +0400 +@@ -412,7 +412,7 @@ + /* create a new SFFloat object */ + + fp = (float *)fp_in; +- newjsval = DOUBLE_TO_JSVAL(JS_NewDouble(cx,(double)*fp)); ++ newjsval = JS_NewJSVal(cx,(double)*fp); + fp_in = offsetPointer_deref(float *,fp_in,elementlen); + + /* put this object into the MF class */ +@@ -449,7 +449,7 @@ + /* create a new SFTime object */ + + fp = (float *)fp_in; +- newjsval = DOUBLE_TO_JSVAL(JS_NewDouble(cx,(double)*fp)); ++ newjsval = JS_NewJSVal(cx,(double)*fp); + fp_in = offsetPointer_deref(float *,fp_in,elementlen); + + /* put this object into the MF class */ +diff -wbBur freewrl-1.22.10/src/lib/world_script/fieldSet.c freewrl-1.22.10.my/src/lib/world_script/fieldSet.c +--- freewrl-1.22.10/src/lib/world_script/fieldSet.c 2010-09-22 00:00:25.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/world_script/fieldSet.c 2011-07-04 20:03:53.000000000 +0400 +@@ -748,7 +748,7 @@ + + #ifdef SETFIELDVERBOSE + strval = JS_ValueToString(scriptContext, JSglobal_return_val); +- strp = JS_GetStringBytes(strval); ++ strp = JS_EncodeString(scriptContext, strval); + printf ("start of setField_javascriptEventOut, to %ld:%d = %p, fieldtype %d string %s\n",(long)tn, tptr, memptr, fieldType, strp); + #endif + +@@ -813,7 +813,7 @@ + case FIELDTYPE_SFImage: { + /* the string should be saved as an SFImage */ + strval = JS_ValueToString(scriptContext, JSglobal_return_val); +- strp = JS_GetStringBytes(strval); ++ strp = JS_EncodeString(scriptContext, strval); + + Parser_scanStringValueToMem(tn, tptr, FIELDTYPE_SFImage, strp, FALSE); + break; +@@ -824,7 +824,7 @@ + uintptr_t *newptr; + + strval = JS_ValueToString(scriptContext, JSglobal_return_val); +- strp = JS_GetStringBytes(strval); ++ strp = JS_EncodeString(scriptContext, strval); + + /* copy the string over, delete the old one, if need be */ + /* printf ("fieldSet SFString, tn %d tptr %d offset from struct %d\n", +@@ -844,7 +844,7 @@ + struct X3D_Node *mynode; + + strval = JS_ValueToString(scriptContext, JSglobal_return_val); +- strp = JS_GetStringBytes(strval); ++ strp = JS_EncodeString(scriptContext, strval); + + /* we will have at least one node here, in an ascii string */ + while ((*strp > '\0') && (*strp <= ' ')) strp ++; +@@ -1227,7 +1227,7 @@ + JSString *_tmpStr; + + _tmpStr = JS_ValueToString(cx, mainElement); +- strp = JS_GetStringBytes(_tmpStr); ++ strp = JS_EncodeString(scriptContext, _tmpStr); + printf ("sub element %d is \"%s\" \n",i,strp); + + if (JSVAL_IS_OBJECT(mainElement)) printf ("sub element %d is an OBJECT\n",i); +@@ -1329,7 +1329,7 @@ + JSString *strval; + + strval = JS_ValueToString(cx, mainElement); +- strp = JS_GetStringBytes(strval); ++ strp = JS_EncodeString(cx, strval); + + #ifdef SETFIELDVERBOSE + printf ("getJSMultiNumType, got string %s\n",strp); +@@ -1441,7 +1441,7 @@ + return; + } + strval = JS_ValueToString(cx, _v); +- valStr = JS_GetStringBytes(strval); ++ valStr = JS_EncodeString(cx, strval); + + /* printf ("new string %d is %s\n",i,valStr); */ + +diff -wbBur freewrl-1.22.10/src/lib/world_script/jsUtils.c freewrl-1.22.10.my/src/lib/world_script/jsUtils.c +--- freewrl-1.22.10/src/lib/world_script/jsUtils.c 2010-06-03 23:38:37.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/world_script/jsUtils.c 2011-07-04 20:21:44.000000000 +0400 +@@ -134,7 +134,7 @@ + nf = OBJECT_TO_JSVAL(me); + + #ifdef JSVRMLCLASSESVERBOSE +- printf ("parentField is %u \"%s\"\n", pf, JS_GetStringBytes(JSVAL_TO_STRING(pf))); ++ printf ("parentField is %u \"%s\"\n", pf, JS_EncodeString(cx, JSVAL_TO_STRING(pf))); + #endif + + if (!setSFNodeField (cx, par, pf, &nf)) { +@@ -197,7 +197,7 @@ + char *_id_c; + + _idStr = JS_ValueToString(cx, *newval); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + + oldS = (struct Uni_String *) *((uintptr_t *)Data); + +@@ -305,12 +305,12 @@ + + case FIELDTYPE_SFFloat: { + memcpy ((void *) &fl, Data, datalen); +- *newval = DOUBLE_TO_JSVAL(JS_NewDouble(cx,(double)fl)); ++ *newval = JS_NewJSVal(cx,(double)fl); + break; + } + case FIELDTYPE_SFTime: { + memcpy ((void *) &dl, Data, datalen); +- *newval = DOUBLE_TO_JSVAL(JS_NewDouble(cx,dl)); ++ *newval = JS_NewJSVal(cx,dl); + break; + } + case FIELDTYPE_SFBool: +@@ -824,7 +824,7 @@ + struct X3D_Node *node; + + _idStr = JS_ValueToString(context, id); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(context, _idStr); + + #ifdef JSVRMLCLASSESVERBOSE + printf ("\ngetSFNodeField called on name %s object %u\n",_id_c, obj); +@@ -912,7 +912,7 @@ + + /* get the id field... */ + +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id)); + + #ifdef JSVRMLCLASSESVERBOSE + printf ("\nsetSFNodeField called on name %s object %u, jsval %u\n",_id_c, obj, *vp); +@@ -1131,10 +1131,10 @@ + char *_id_c = "(no value in string)"; + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id)); + /* printf ("hmmm...js_SetPropertyCheck called on string \"%s\" object %u, jsval %u\n",_id_c, obj, *vp); */ + } else if (JSVAL_IS_DOUBLE(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyCheck called on double %s object %u, jsval %u\n",_id_c, obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1192,7 +1192,7 @@ + /* get the id field... */ + + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id)); + printf ("\n...js_GetPropertyDebug called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1211,7 +1211,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyDebug called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1229,7 +1229,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyDebug1 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1247,7 +1247,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id)); + printf ("...js_SetPropertyDebug2 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1265,7 +1265,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyDebug3 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1283,7 +1283,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyDebug4 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1301,7 +1301,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyDebug5 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1319,7 +1319,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyDebug6 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1337,7 +1337,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyDebug7 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1355,7 +1355,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyDebug8 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +@@ -1373,7 +1373,7 @@ + + /* get the id field... */ + if (JSVAL_IS_STRING(id)) { +- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id)); ++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id)); + printf ("\n...js_SetPropertyDebug9 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp); + } else if (JSVAL_IS_INT(id)) { + num = JSVAL_TO_INT(id); +diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRMLBrowser.c freewrl-1.22.10.my/src/lib/world_script/jsVRMLBrowser.c +--- freewrl-1.22.10/src/lib/world_script/jsVRMLBrowser.c 2010-08-02 23:55:57.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/world_script/jsVRMLBrowser.c 2011-07-04 20:06:25.000000000 +0400 +@@ -336,7 +336,7 @@ + return JS_FALSE; + } + _str = JS_ValueToString(context, argv[0]); +- _costr = JS_GetStringBytes(_str); ++ _costr = JS_EncodeString(context, _str); + + /* sanitize string, for the EAI_RW call (see EAI_RW code) */ + tptr = _costr; +@@ -385,10 +385,10 @@ + return JS_FALSE; + } + _str[0] = JS_ValueToString(context, argv[0]); +- _costr[0] = JS_GetStringBytes(_str[0]); ++ _costr[0] = JS_EncodeString(context, _str[0]); + + _str[1] = JS_ValueToString(context, argv[1]); +- _costr[1] = JS_GetStringBytes(_str[1]); ++ _costr[1] = JS_EncodeString(context, _str[1]); + + /* we use the EAI code for this - so reformat this for the EAI format */ + { +@@ -575,7 +575,7 @@ + /* third parameter should be a string */ + if (JSVAL_IS_STRING(argv[2])) { + _str[1] = JSVAL_TO_STRING(argv[2]); +- fieldStr = JS_GetStringBytes(_str[1]); ++ fieldStr = JS_EncodeString(context, _str[1]); + #ifdef JSVERBOSE + printf ("field string is :%s:\n",fieldStr); + #endif +@@ -590,7 +590,7 @@ + + /* get the URL listing as a string */ + _str[0] = JS_ValueToString(context, argv[0]); +- _costr0 = JS_GetStringBytes(_str[0]); ++ _costr0 = JS_EncodeString(context, _str[0]); + + + #ifdef JSVERBOSE +@@ -690,7 +690,7 @@ + for (count=0; count < argc; count++) { + if (JSVAL_IS_STRING(argv[count])) { + _str = JSVAL_TO_STRING(argv[count]); +- _id_c = JS_GetStringBytes(_str); ++ _id_c = JS_EncodeString(context, _str); + #if defined(AQUA) || defined(_MSC_VER) + BrowserPrintConsoleMessage(_id_c); /* statusbar hud */ + consMsgCount = 0; /* reset the "Maximum" count */ +@@ -850,7 +850,7 @@ + + /* parameter should be a string */ + if (JSVAL_IS_STRING(argv[0])) { +- target = JS_GetStringBytes( JSVAL_TO_STRING(argv[0])); ++ target = JS_EncodeString(context, JSVAL_TO_STRING(argv[0])); + #ifdef JSVERBOSE + printf ("field string is %s\n",target); + #endif +@@ -930,7 +930,7 @@ + + /* parameters should be a string */ + if (JSVAL_IS_STRING(argv[0])) { +- targetDevice = JS_GetStringBytes( JSVAL_TO_STRING(argv[0])); ++ targetDevice = JS_EncodeString(cx, JSVAL_TO_STRING(argv[0])); + #ifdef JSVERBOSE + printf ("field string is %s\n",targetDevice); + #endif +@@ -939,7 +939,7 @@ + return -1; + } + if (JSVAL_IS_STRING(argv[1])) { +- targetController = JS_GetStringBytes( JSVAL_TO_STRING(argv[1])); ++ targetController = JS_EncodeString(cx, JSVAL_TO_STRING(argv[1])); + #ifdef JSVERBOSE + printf ("field string is %s\n",targetController); + #endif +diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRMLClasses.c freewrl-1.22.10.my/src/lib/world_script/jsVRMLClasses.c +--- freewrl-1.22.10/src/lib/world_script/jsVRMLClasses.c 2010-09-22 23:40:48.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/world_script/jsVRMLClasses.c 2011-07-04 20:08:03.000000000 +0400 +@@ -935,7 +935,7 @@ + printf( "JS_NewDouble failed for %f in simplecopyelements.\n",dd); + return JS_FALSE; + } +- val = DOUBLE_TO_JSVAL(dp); ++ val = DOUBLE_TO_JSVAL(*dp); + + } + } +@@ -1108,7 +1108,7 @@ + + printf ("HAVE STRING HERE!\n"); + _str = JS_ValueToString(cx, id); +- asciiStr = JS_GetStringBytes(_str); ++ asciiStr = JS_EncodeString(context, _str); + printf ("we have as a parameter :%s:\n",asciiStr); + #endif + +@@ -1185,7 +1185,7 @@ + if (_tmpStr==NULL) { + _tmp_valStr = "NULL"; + } else { +- _tmp_valStr = JS_GetStringBytes(_tmpStr); ++ _tmp_valStr = JS_EncodeString(cx, _tmpStr); + } + } + +@@ -1281,7 +1281,7 @@ + #endif + + str = JS_ValueToString(cx, id); +- p = JS_GetStringBytes(str); ++ p = JS_EncodeString(cx, str); + #ifdef JSVRMLCLASSESVERBOSE + printf("\tid string %s\n ",p); + #endif +@@ -1368,12 +1368,12 @@ + char * _c; + printf ("doMFSetProperty, for object %u, vp %u\n", obj,*vp); + _str = JS_ValueToString(cx, id); +- _c = JS_GetStringBytes(_str); ++ _c = JS_EncodeString(cx, _str); + printf ("id is %s\n",_c); + + _sstr = JS_ValueToString(cx, *vp); + printf ("looking up value for %d %x object %p\n",*vp,*vp,obj); +- _cc = JS_GetStringBytes(_sstr); ++ _cc = JS_EncodeString(cx, _sstr); + printf("\tdoMFSetProperty:%d: obj = %p, id = %s, vp = %s\n",type, + obj, _c, _cc); + if (JSVAL_IS_OBJECT(*vp)) { printf ("doMFSet, vp is an OBJECT\n"); } +@@ -1397,7 +1397,7 @@ + + if (!JS_ValueToInt32(cx, *vp, &i)) { + _sstr = JS_ValueToString(cx, *vp); +- _cc = JS_GetStringBytes(_sstr); ++ _cc = JS_EncodeString(cx, _sstr); + printf ("can not convert %s to an integer in doMFAddProperty for type %d\n",_cc,type); + return JS_FALSE; + } +@@ -1408,7 +1408,7 @@ + #ifdef JSVRMLCLASSESVERBOSE + printf ("doMFSetProperty - ensure that this is a DOUBLE "); + _sstr = JS_ValueToString(cx, *vp); +- _cc = JS_GetStringBytes(_sstr); ++ _cc = JS_EncodeString(cx, _sstr); + printf ("value is %s \n",_cc); + #endif + +@@ -1420,7 +1420,7 @@ + printf( "JS_NewDouble failed for %f in simplecopyelements.\n",dd); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + + } + } +@@ -1511,7 +1511,7 @@ + nf = OBJECT_TO_JSVAL(me); + + #ifdef JSVRMLCLASSESVERBOSE +- printf ("parentField is %u \"%s\"\n", pf, JS_GetStringBytes(JSVAL_TO_STRING(pf))); ++ printf ("parentField is %u \"%s\"\n", pf, JS_EncodeString(cx, JSVAL_TO_STRING(pf))); + #endif + + if (!setSFNodeField (cx, par, pf, &nf)) { +@@ -1535,7 +1535,7 @@ + unsigned int i, j = 0; + + _str = JS_ValueToString(cx, *vp); +- _buff = JS_GetStringBytes(_str); ++ _buff = JS_EncodeString(cx, _str); + _buff_len = strlen(_buff) + 1; + + #ifdef JSVRMLCLASSESVERBOSE +@@ -1719,14 +1719,14 @@ + size_t len = 0; + + _idStr = JS_ValueToString(context, id); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(context, _idStr); + + /* "register" this ECMA value for routing changed flag stuff */ + setInECMATable(context, _id_c); + + if (JSVAL_IS_STRING(*vp)) { + _vpStr = JS_ValueToString(context, *vp); +- _vp_c = JS_GetStringBytes(_vpStr); ++ _vp_c = JS_EncodeString(context, _vpStr); + + len = strlen(_vp_c); + +@@ -1752,7 +1752,7 @@ + } else { + #ifdef JSVRMLCLASSESVERBOSE + _vpStr = JS_ValueToString(context, *vp); +- _vp_c = JS_GetStringBytes(_vpStr); ++ _vp_c = JS_EncodeString(cx, _vpStr); + printf("setECMANative: obj = %p, id = \"%s\", vp = %s\n", + obj, _id_c, _vp_c); + #endif +@@ -1770,9 +1770,9 @@ + JSString *_idStr, *_vpStr; + char *_id_c, *_vp_c; + _idStr = JS_ValueToString(cx, id); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + _vpStr = JS_ValueToString(cx, *vp); +- _vp_c = JS_GetStringBytes(_vpStr); ++ _vp_c = JS_EncodeString(cx, _vpStr); + printf("getAssignProperty: obj = %p, id = \"%s\", vp = %s\n", + obj, _id_c, _vp_c); + printf ("what is vp? \n"); +@@ -1803,7 +1803,7 @@ + + if (JSVAL_IS_STRING(id)) { + _str = JSVAL_TO_STRING(id); +- _id_c = JS_GetStringBytes(_str); ++ _id_c = JS_EncodeString(cx, _str); + if (!JS_ConvertValue(cx, *vp, JSTYPE_OBJECT, &newVal)) { + printf( "JS_ConvertValue failed in setAssignProperty.\n"); + return JS_FALSE; +@@ -1834,9 +1834,9 @@ + if (JSVAL_IS_DOUBLE(id)) printf ("id is an DOUBLE\n"); + if (JSVAL_IS_INT(id)) printf ("id is an INT\n"); + +- printf ("id is %s\n",JS_GetStringBytes(JS_ValueToString(cx,id))); +- printf ("initVal is %s\n",JS_GetStringBytes(JS_ValueToString(cx,initVal))); +- printf ("newVal is %s\n",JS_GetStringBytes(JS_ValueToString(cx,newVal))); ++ printf ("id is %s\n",JS_EncodeString(cx, JS_ValueToString(cx,id))); ++ printf ("initVal is %s\n",JS_EncodeString(cx, JS_ValueToString(cx,initVal))); ++ printf ("newVal is %s\n",JS_EncodeString(cx, JS_ValueToString(cx,newVal))); + + #endif + +@@ -1859,7 +1859,7 @@ + } else { + #ifdef JSVRMLCLASSESVERBOSE + _str = JS_ValueToString(cx, id); +- _id_c = JS_GetStringBytes(_str); ++ _id_c = JS_EncodeString(cx, _str); + printf("setAssignProperty: obj = %p, id = \"%s\"\n", + obj, _id_c); + #endif +diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRMLClasses.h freewrl-1.22.10.my/src/lib/world_script/jsVRMLClasses.h +--- freewrl-1.22.10/src/lib/world_script/jsVRMLClasses.h 2010-10-13 23:45:26.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/world_script/jsVRMLClasses.h 2011-07-04 20:24:53.000000000 +0400 +@@ -30,6 +30,21 @@ + #ifndef __FREEWRL_JS_VRML_CLASSES_H__ + #define __FREEWRL_JS_VRML_CLASSES_H__ + ++static inline jsval JS_NewJSVal(JSContext *cx, jsdouble d) ++{ ++ jsval ret; ++ JS_NewNumberValue(cx, d, &ret); ++ return ret; ++} ++ ++static inline jsdouble * JS_NewDouble(JSContext *cx, jsdouble d) ++{ ++ static jsdouble ret; ++ jsval rv; ++ JS_NewNumberValue(cx, d, &rv); ++ ret = JSVAL_TO_DOUBLE(rv); ++ return &ret; ++} + + #ifndef UNUSED + #define UNUSED(v) ((void) v) +@@ -80,14 +95,14 @@ + + + #define SET_JS_TICKTIME_FALSE(possibleRetVal) { jsval zimbo; \ +- zimbo = DOUBLE_TO_JSVAL(JS_NewDouble(cx, TickTime)); \ ++ zimbo = JS_NewJSVal(cx, TickTime); \ + if (!JS_DefineProperty(cx,obj, "__eventInTickTime", zimbo, JS_GET_PROPERTY_STUB, JS_SET_PROPERTY_STUB2, JSPROP_PERMANENT)) { \ + printf( "JS_DefineProperty failed for \"__eventInTickTime\" at %s:%d.\n",__FILE__,__LINE__); \ + return possibleRetVal; \ + }} + + #define SET_JS_TICKTIME() { jsval zimbo; \ +- zimbo = DOUBLE_TO_JSVAL(JS_NewDouble(cx, TickTime)); \ ++ zimbo = JS_NewJSVal(cx, TickTime); \ + if (!JS_DefineProperty(cx,obj, "__eventInTickTime", zimbo, JS_GET_PROPERTY_STUB, JS_SET_PROPERTY_STUB2, JSPROP_PERMANENT)) { \ + printf( "JS_DefineProperty failed for \"__eventInTickTime\" at %s:%d.\n",__FILE__,__LINE__); \ + return FALSE; \ +diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRML_MFClasses.c freewrl-1.22.10.my/src/lib/world_script/jsVRML_MFClasses.c +--- freewrl-1.22.10/src/lib/world_script/jsVRML_MFClasses.c 2010-09-22 23:40:48.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/world_script/jsVRML_MFClasses.c 2011-07-04 20:08:44.000000000 +0400 +@@ -596,7 +596,7 @@ + return; + } + +- val = DOUBLE_TO_JSVAL(dp); ++ val = DOUBLE_TO_JSVAL(*dp); + + if (!JS_SetElement(cx, obj, (jsint) i, &val)) { + printf( "JS_DefineElement failed for arg %u in VrmlMatrixSetTransform.\n", i); +@@ -1212,7 +1212,7 @@ + /* + if (JSVAL_IS_STRING(id)==TRUE) { + printf(" is a common string :%s:\n", +- JS_GetStringBytes(JS_ValueToString(cx, id))); ++ JS_EncodeString(cx, JS_ValueToString(cx, id))); + } + if (JSVAL_IS_OBJECT(id)==TRUE) { + printf (" parameter is an object\n"); +@@ -1231,7 +1231,7 @@ + _index = JSVAL_TO_INT(id); + + if (_index >= _length) { +- *vp = DOUBLE_TO_JSVAL(&zerojsdouble); ++ *vp = DOUBLE_TO_JSVAL(zerojsdouble); + if (!JS_DefineElement(cx, obj, (jsint) _index, *vp, JS_GET_PROPERTY_STUB, JS_SET_PROPERTY_CHECK, JSPROP_ENUMERATE)) { + printf( "JS_DefineElement failed in VrmlMatrixGetProperty.\n"); + return JS_FALSE; +@@ -1331,7 +1331,7 @@ + printf("MFStringAddProperty: vp = %p\n", obj); + if (JSVAL_IS_STRING(*vp)==TRUE) { + printf(" is a common string :%s:\n", +- JS_GetStringBytes(JS_ValueToString(cx, *vp))); ++ JS_EncodeString(cx, JS_ValueToString(cx, *vp))); + } + if (JSVAL_IS_OBJECT(*vp)==TRUE) { + printf (" parameter is an object\n"); +@@ -1345,7 +1345,7 @@ + printf("MFStringAddProperty: id = %p\n", obj); + if (JSVAL_IS_STRING(id)==TRUE) { + printf(" is a common string :%s:\n", +- JS_GetStringBytes(JS_ValueToString(cx, id))); ++ JS_EncodeString(cx, JS_ValueToString(cx, id))); + } + if (JSVAL_IS_OBJECT(id)==TRUE) { + printf (" parameter is an object\n"); +@@ -1494,7 +1494,7 @@ + if (JSVAL_IS_STRING(argv[i])==TRUE) { + printf (" Common String, is"); + _str = JS_ValueToString(cx, argv[i]); +- printf (JS_GetStringBytes(_str)); ++ printf (JS_EncodeString(cx, _str)); + printf (".."); + + } +diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRML_SFClasses.c freewrl-1.22.10.my/src/lib/world_script/jsVRML_SFClasses.c +--- freewrl-1.22.10/src/lib/world_script/jsVRML_SFClasses.c 2010-09-25 00:22:05.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/world_script/jsVRML_SFClasses.c 2011-07-04 20:09:01.000000000 +0400 +@@ -161,7 +161,7 @@ + printf( "JS_NewDouble failed for %f in SFColorGetHSV.\n", xp[i]); + return JS_FALSE; + } +- _v = DOUBLE_TO_JSVAL(dp); ++ _v = DOUBLE_TO_JSVAL(*dp); + JS_SetElement(cx, result, (jsint)i, &_v); + } + +@@ -336,7 +336,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 1: + d = (ptr->v).c[1]; +@@ -346,7 +346,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 2: + d = (ptr->v).c[2]; +@@ -356,7 +356,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + } + } +@@ -387,13 +387,13 @@ + if (JSVAL_IS_INT(id)) { + switch (JSVAL_TO_INT(id)) { + case 0: +- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(_val); ++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(_val); + break; + case 1: +- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(_val); ++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(_val); + break; + case 2: +- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(_val); ++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(_val); + break; + + } +@@ -422,18 +422,18 @@ + *rval = OBJECT_TO_JSVAL(_arrayObj); + + /* construct new double before conversion? */ +- _v = DOUBLE_TO_JSVAL(&hue); ++ _v = DOUBLE_TO_JSVAL(hue); + if (!JS_SetElement(cx, _arrayObj, 0, &_v)) { + printf( "JS_SetElement failed for hue in SFColorRGBAGetHSV.\n"); + return JS_FALSE; + } +- _v = DOUBLE_TO_JSVAL(&saturation); ++ _v = DOUBLE_TO_JSVAL(saturation); + if (!JS_SetElement(cx, _arrayObj, 1, &_v)) { + printf( "JS_SetElement failed for saturation in SFColorRGBAGetHSV.\n"); + return JS_FALSE; + } + +- _v = DOUBLE_TO_JSVAL(&value); ++ _v = DOUBLE_TO_JSVAL(value); + if (!JS_SetElement(cx, _arrayObj, 2, &_v)) { + printf( "JS_SetElement failed for value in SFColorRGBAGetHSV.\n"); + return JS_FALSE; +@@ -601,7 +601,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 1: + d = (ptr->v).c[1]; +@@ -611,7 +611,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 2: + d = (ptr->v).c[2]; +@@ -621,7 +621,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 3: + d = (ptr->v).c[3]; +@@ -631,7 +631,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + } + } +@@ -662,16 +662,16 @@ + if (JSVAL_IS_INT(id)) { + switch (JSVAL_TO_INT(id)) { + case 0: +- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(_val); ++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(_val); + break; + case 1: +- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(_val); ++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(_val); + break; + case 2: +- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(_val); ++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(_val); + break; + case 3: +- (ptr->v).c[3] = (float) *JSVAL_TO_DOUBLE(_val); ++ (ptr->v).c[3] = (float) JSVAL_TO_DOUBLE(_val); + break; + + } +@@ -983,7 +983,7 @@ + } else if (argc == 1) { + /* is this a string, or a number indicating a node? */ + myStr = JS_ValueToString(cx, argv[0]); +- cString = JS_GetStringBytes(myStr); ++ cString = JS_EncodeString(cx, myStr); + #ifdef JSVRMLCLASSESVERBOSE + printf ("SFNodeConstr, argc =1l string %s\n",cString); + #endif +@@ -1067,13 +1067,13 @@ + char *_id_c; + + _idStr = JS_ValueToString(cx, argv[0]); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + /* printf ("first string :%s:\n",_id_c); */ + + cString = STRDUP(_id_c); + + _idStr = JS_ValueToString(cx, argv[1]); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + /* printf ("second string :%s:\n",_id_c); */ + + if (sscanf (_id_c,"%p",&newHandle) != 1) { +@@ -1190,7 +1190,7 @@ + jsval rval; + + _idStr = JS_ValueToString(cx, id); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + + #ifdef JSVRMLCLASSESVERBOSE + printf ("start of SFNodeGetProperty... id is %s\n",_id_c); +@@ -1264,10 +1264,10 @@ + + + _idStr = JS_ValueToString(cx, id); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + + _valStr = JS_ValueToString(cx, *vp); +- _val_c = JS_GetStringBytes(_valStr); ++ _val_c = JS_EncodeString(cx, _valStr); + + #ifdef JSVRMLCLASSESVERBOSE + printf("SFNodeSetProperty: obj = %p, id = %s, vp = %s\n", +@@ -1904,7 +1904,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 1: + d = (ptr->v).c[1]; +@@ -1914,7 +1914,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 2: + d = (ptr->v).c[2]; +@@ -1924,7 +1924,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 3: + d = (ptr->v).c[3]; +@@ -1934,7 +1934,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + } + } +@@ -1969,16 +1969,16 @@ + if (JSVAL_IS_INT(id)) { + switch (JSVAL_TO_INT(id)) { + case 0: +- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 1: +- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 2: +- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 3: +- (ptr->v).c[3] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[3] = (float) JSVAL_TO_DOUBLE(myv); + break; + } + } +@@ -2051,7 +2051,7 @@ + * it get created in javascript? */ + if (param_isString) { + _str = JS_ValueToString(cx, *argv); +- charString = JS_GetStringBytes(_str); ++ charString = JS_EncodeString(cx, _str); + + if (sscanf(charString, "%lf %lf", + &(pars[0]), &(pars[1])) != 2) { +@@ -2143,7 +2143,7 @@ + printf( "JS_NewDouble failed for %f in SFVec2f.\n",d); + return JS_FALSE; + } +- *rval = DOUBLE_TO_JSVAL(dp); ++ *rval = DOUBLE_TO_JSVAL(*dp); + } + + #ifdef JSVRMLCLASSESVERBOSE +@@ -2332,7 +2332,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 1: + d = (ptr->v).c[1]; +@@ -2342,7 +2342,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + } + } +@@ -2373,13 +2373,13 @@ + if (JSVAL_IS_INT(id)) { + switch (JSVAL_TO_INT(id)) { + case 0: +- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 1: +- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 2: +- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv); + break; + } + } +@@ -2458,7 +2458,7 @@ + * it get created in javascript? */ + if (param_isString) { + _str = JS_ValueToString(cx, *argv); +- charString = JS_GetStringBytes(_str); ++ charString = JS_EncodeString(cx, _str); + + if (sscanf(charString, "%lf %lf %lf", + &(pars[0]), &(pars[1]), &(pars[2])) != 3) { +@@ -2580,7 +2580,7 @@ + printf( "JS_NewDouble failed for %f in SFVec3f.\n",d); + return JS_FALSE; + } +- *rval = DOUBLE_TO_JSVAL(dp); ++ *rval = DOUBLE_TO_JSVAL(*dp); + } + #ifdef JSVRMLCLASSESVERBOSE + if (retSFVec3f){ +@@ -2792,9 +2792,9 @@ + char *_id_c; + + _idStr = JS_ValueToString(cx, id); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + _idStr = JS_ValueToString(cx, *vp); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + + #endif + +@@ -2813,7 +2813,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 1: + d = (ptr->v).c[1]; +@@ -2823,7 +2823,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 2: + d = (ptr->v).c[2]; +@@ -2833,7 +2833,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + } + } else { +@@ -2869,13 +2869,13 @@ + if (JSVAL_IS_INT(id)) { + switch (JSVAL_TO_INT(id)) { + case 0: +- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 1: +- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 2: +- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv); + break; + } + } +@@ -2949,7 +2949,7 @@ + * it get created in javascript? */ + if (param_isString) { + _str = JS_ValueToString(cx, *argv); +- charString = JS_GetStringBytes(_str); ++ charString = JS_EncodeString(cx, _str); + + if (sscanf(charString, "%lf %lf %lf", + &(pars[0]), &(pars[1]), &(pars[2])) != 3) { +@@ -3071,7 +3071,7 @@ + printf( "JS_NewDouble failed for %f in SFVec3d.\n",d); + return JS_FALSE; + } +- *rval = DOUBLE_TO_JSVAL(dp); ++ *rval = DOUBLE_TO_JSVAL(*dp); + } + #ifdef JSVRMLCLASSESVERBOSE + if (retSFVec3d){ +@@ -3282,9 +3282,9 @@ + char *_id_c; + + _idStr = JS_ValueToString(cx, id); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + _idStr = JS_ValueToString(cx, *vp); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + + #endif + +@@ -3303,7 +3303,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 1: + d = (ptr->v).c[1]; +@@ -3313,7 +3313,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 2: + d = (ptr->v).c[2]; +@@ -3323,7 +3323,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + } + } else { +@@ -3359,13 +3359,13 @@ + if (JSVAL_IS_INT(id)) { + switch (JSVAL_TO_INT(id)) { + case 0: +- (ptr->v).c[0] = *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[0] = JSVAL_TO_DOUBLE(myv); + break; + case 1: +- (ptr->v).c[1] = *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[1] = JSVAL_TO_DOUBLE(myv); + break; + case 2: +- (ptr->v).c[2] = *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[2] = JSVAL_TO_DOUBLE(myv); + break; + } + } +@@ -3513,9 +3513,9 @@ + char *_id_c; + + _idStr = JS_ValueToString(cx, id); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + _idStr = JS_ValueToString(cx, *vp); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + + #endif + +@@ -3534,7 +3534,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 1: + d = (ptr->v).c[1]; +@@ -3544,7 +3544,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 2: + d = (ptr->v).c[2]; +@@ -3554,7 +3554,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 3: + d = (ptr->v).c[3]; +@@ -3564,7 +3564,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + } + } else { +@@ -3600,16 +3600,16 @@ + if (JSVAL_IS_INT(id)) { + switch (JSVAL_TO_INT(id)) { + case 0: +- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 1: +- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 2: +- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 3: +- (ptr->v).c[3] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[3] = (float) JSVAL_TO_DOUBLE(myv); + break; + } + } +@@ -3758,9 +3758,9 @@ + char *_id_c; + + _idStr = JS_ValueToString(cx, id); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + _idStr = JS_ValueToString(cx, *vp); +- _id_c = JS_GetStringBytes(_idStr); ++ _id_c = JS_EncodeString(cx, _idStr); + + #endif + +@@ -3779,7 +3779,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 1: + d = (ptr->v).c[1]; +@@ -3789,7 +3789,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 2: + d = (ptr->v).c[2]; +@@ -3799,7 +3799,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + case 3: + d = (ptr->v).c[3]; +@@ -3809,7 +3809,7 @@ + d); + return JS_FALSE; + } +- *vp = DOUBLE_TO_JSVAL(dp); ++ *vp = DOUBLE_TO_JSVAL(*dp); + break; + } + } else { +@@ -3845,16 +3845,16 @@ + if (JSVAL_IS_INT(id)) { + switch (JSVAL_TO_INT(id)) { + case 0: +- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 1: +- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 2: +- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv); + break; + case 3: +- (ptr->v).c[3] = (float) *JSVAL_TO_DOUBLE(myv); ++ (ptr->v).c[3] = (float) JSVAL_TO_DOUBLE(myv); + break; + } + } +diff -wbBur freewrl-1.22.10/src/lib/x3d_parser/X3DParser.c freewrl-1.22.10.my/src/lib/x3d_parser/X3DParser.c +--- freewrl-1.22.10/src/lib/x3d_parser/X3DParser.c 2010-09-22 20:54:59.000000000 +0400 ++++ freewrl-1.22.10.my/src/lib/x3d_parser/X3DParser.c 2011-07-04 01:19:07.000000000 +0400 +@@ -54,7 +54,7 @@ + #include "X3DProtoScript.h" + + #if HAVE_EXPAT_H +-# include <expat.h> ++# include </usr/include/expat.h> + #endif + //#define X3DPARSERVERBOSE 1 + diff --git a/community-testing/gambas3/PKGBUILD b/community-testing/gambas3/PKGBUILD new file mode 100644 index 000000000..d2ed1c4fa --- /dev/null +++ b/community-testing/gambas3/PKGBUILD @@ -0,0 +1,1083 @@ +# $Id: PKGBUILD 55693 2011-09-17 21:15:06Z stephane $ +# Maintainer: Laurent Carlier <lordheavym@gmail.com> + +pkgbase=gambas3 +pkgname=('gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gambas3-examples' 'gambas3-gb-cairo' 'gambas3-gb-chart' + 'gambas3-gb-dbus' 'gambas3-gb-compress' 'gambas3-gb-crypt' 'gambas3-gb-db' 'gambas3-gb-db-form' 'gambas3-gb-db-mysql' + 'gambas3-gb-db-odbc' 'gambas3-gb-db-postgresql' 'gambas3-gb-db-sqlite2' 'gambas3-gb-db-sqlite3' + 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight' 'gambas3-gb-form' + 'gambas3-gb-form-dialog' 'gambas3-gb-form-mdi' 'gambas3-gb-form-stock' 'gambas3-gb-gtk' 'gambas3-gb-gui' 'gambas3-gb-image' + 'gambas3-gb-image-effect' 'gambas3-gb-image-imlib' 'gambas3-gb-image-io' 'gambas3-gb-net' 'gambas3-gb-net-curl' + 'gambas3-gb-net-smtp' 'gambas3-gb-opengl' 'gambas3-gb-opengl-glu' 'gambas3-gb-opengl-glsl' 'gambas3-gb-option' 'gambas3-gb-pcre' + 'gambas3-gb-pdf' 'gambas3-gb-qt4' 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-opengl' 'gambas3-gb-qt4-webkit' + '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=2.99.3 +pkgrel=2 +pkgdesc="A free development environment based on a Basic interpreter." +arch=('i686' 'x86_64') +url="http://gambas.sourceforge.net/" +license=('GPL') +groups=('gambas3') +makedepends=('intltool' 'mysql' 'postgresql' 'libffi' 'bzip2' 'glib2' 'v4l-utils' + 'zlib' 'mesa' 'libgl' 'glew>=1.7.0' 'xdg-utils' 'qt' 'gtk2' 'imlib2' 'gdk-pixbuf2' + 'postgresql-libs' 'libmysqlclient' 'unixodbc' 'sqlite2' 'sqlite3' 'librsvg' + 'curl' 'poppler-glib' 'sdl_mixer' 'sdl_ttf' 'libxtst' 'pcre' + 'libxcursor' 'libsm' 'dbus-core' 'libxml2' 'libxslt' 'libgnome-keyring') +options=('!emptydirs' '!makeflags') +source=("http://downloads.sourceforge.net/gambas/${pkgbase}-${pkgver}.tar.bz2" + 'gambas3-script.install' 'gambas3-runtime.install') +md5sums=('e576fa9e72863dab0196250cb35f2a9b' + 'b284be39d147ec799f1116a6abc068b4' + 'b5cc403990f31b8ea1c5cf37366d3d29') + +build() { + cd ${srcdir}/${pkgbase}-${pkgver} + + ./reconf-all + ./configure --prefix=/usr -C + + make bindir=${pkgdir}/usr/bin +} + +package_gambas3-runtime() { + depends=('libffi' 'xdg-utils') + pkgdesc="Gambas3 runtime environment" + install=gambas3-runtime.install + + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbc + make DESTDIR="${pkgdir}" install + + cd ../gbx + make DESTDIR="${pkgdir}" install + cd ../lib/debug + make DESTDIR="${pkgdir}" install + cd ../eval + make DESTDIR="${pkgdir}" install + cd ../draw + make DESTDIR="${pkgdir}" install + install -D -m644 ../gb.component \ + ${pkgdir}/usr/lib/gambas3 + + cd ${srcdir}/${pkgbase}-${pkgver}/main + ln -s gbx3 ${pkgdir}/usr/bin/gbr3 + gbc/gbi3 -r ${pkgdir}/usr gb + rm -f ${pkgdir}/usr/lib/gambas3/gb.{so*,la} + + ## needed for postinst with xdg-utils + install -d -m755 ${pkgdir}/usr/share/gambas3/mime + install -D -m644 mime/* \ + ${pkgdir}/usr/share/gambas3/mime/ + install -d -m755 ${pkgdir}/usr/share/gambas3/icons + install -D -m644 mime/application-x-gambas3.png \ + ${pkgdir}/usr/share/gambas3/icons/application-x-gambas3.png + + cd gbc + make DESTDIR="${pkgdir}" uninstall +} + +package_gambas3-devel() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 development environment" + + cd ${srcdir}/${pkgbase}-${pkgver}/main/gbc + make DESTDIR="${pkgdir}" install +} + +package_gambas3-ide() { + depends=('gambas3-devel' 'gambas3-gb-db-form' 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight' + 'gambas3-gb-form-dialog' 'gambas3-gb-settings' 'gambas3-gb-form-mdi' 'gambas3-gb-image-effect' + 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-webkit') + pkgdesc="Gambas3 Integrated Development Environment" + + cd ${srcdir}/${pkgbase}-${pkgver} + make XDG_UTILS='' DESTDIR="${pkgdir}" install + +#!! with the ide !! + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas3.desktop \ + ${pkgdir}/usr/share/applications/gambas3.desktop + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas3.png \ + ${pkgdir}/usr/share/pixmaps/gambas3.png + + rm -r ${pkgdir}/usr/bin/gb* + rm -r ${pkgdir}/usr/lib + rm -r ${pkgdir}/usr/share/gambas3 +} + +package_gambas3-script() { + depends=('gambas3-devel') + pkgdesc="Gambas3 scripter and server programs support" + install=gambas3-script.install + + cd ${srcdir}/${pkgbase}-${pkgver} + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## needed for postinst with xdg-utils + cd ${srcdir}/${pkgbase}-${pkgver}/app/mime + install -d -m755 ${pkgdir}/usr/share/gambas3/mime + install -D -m644 *.xml ${pkgdir}/usr/share/gambas3/mime/ + install -D -m644 *.png ${pkgdir}/usr/share/gambas3/mime/ + ## + + rm -r ${pkgdir}/usr/bin/{gambas*,gb{[a-r]*,x*}} + rm -r ${pkgdir}/usr/lib + rm -r ${pkgdir}/usr/share/gambas3/[c-i]* +} + +package_gambas3-examples() { + depends=('gambas3-gb-cairo' 'gambas3-gb-chart' 'gambas3-gb-dbus' 'gambas3-gb-compress' 'gambas3-gb-crypt' 'gambas3-gb-db' + 'gambas3-gb-db-form' 'gambas3-gb-db-mysql' 'gambas3-gb-db-odbc' 'gambas3-gb-db-postgresql' 'gambas3-gb-db-sqlite2' + 'gambas3-gb-db-sqlite3' 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight' 'gambas3-gb-form' 'gambas3-gb-form-dialog' + 'gambas3-gb-form-mdi' 'gambas3-gb-gtk' 'gambas3-gb-gui' 'gambas3-gb-image' 'gambas3-gb-image-effect' 'gambas3-gb-image-imlib' + 'gambas3-gb-image-io' 'gambas3-gb-net' 'gambas3-gb-net-curl' 'gambas3-gb-net-smtp' 'gambas3-gb-opengl' 'gambas3-gb-opengl-glsl' + 'gambas3-gb-option' 'gambas3-gb-pcre' 'gambas3-gb-pdf' 'gambas3-gb-qt4' 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-opengl' + 'gambas3-gb-qt4-webkit' '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') + pkgdesc="Gambas3 examples" + + cd ${srcdir}/${pkgbase}-${pkgver} + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + rm -r ${pkgdir}/usr/{bin,lib} + rm -r ${pkgdir}/usr/share/gambas3/{info,control,gb.sdl} +} + +package_gambas3-gb-cairo() { + depends=('gambas3-runtime' 'cairo') + pkgdesc="Gambas3 cairo component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.cairo + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-chart() { + depends=('gambas3-gb-form') + pkgdesc="Gambas3 chart component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control + rm -r ${pkgdir}/usr/lib/gambas3/gb.[d-w]* + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[d-w]* + ## +} + +package_gambas3-gb-compress() { + depends=('gambas3-runtime' 'bzip2' 'zlib') + pkgdesc="Gambas3 compression support component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.compress.bzlib2 + make DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.compress.zlib + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.component,gb.[d-v]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[d-v]* + ## +} + +package_gambas3-gb-crypt() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 MD5/DES crypting component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.crypt + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## Workaround for splitting + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.comp*,gb.d{e,r}*,gb.[e-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.comp*,gb.de*,gb.[e-z]*} + ## +} + +package_gambas3-gb-db-form() { + depends=('gambas3-gb-db' 'gambas3-gb-form') + pkgdesc="Gambas3 database form component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control + rm -r ${pkgdir}/usr/lib/gambas3/gb.{chart*,[e-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{chart*,[e-z]*} + ## +} + +package_gambas3-gb-db-mysql() { + depends=('gambas3-gb-db' 'libmysqlclient') + pkgdesc="Gambas3 MySQL database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.mysql + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db-odbc() { + depends=('gambas3-gb-db' 'unixodbc') + pkgdesc="Gambas3 ODBC database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.odbc + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db-postgresql() { + depends=('gambas3-gb-db' 'postgresql-libs') + pkgdesc="Gambas3 PostgreSQL database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.postgresql + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db-sqlite2() { + depends=('gambas3-gb-db' 'sqlite2') + pkgdesc="Gambas3 Sqlite2 database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.sqlite2 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-db-sqlite3() { + depends=('gambas3-gb-db' 'sqlite3') + pkgdesc="Gambas3 Sqlite3 database access component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.sqlite3 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-desktop() { + depends=('gambas3-gb-image' 'libsm' 'libxtst' 'libgnome-keyring') + pkgdesc="Gambas3 desktop component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.desktop + make DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-dbus() { + depends=('gambas3-runtime' 'dbus-core') + pkgdesc="Gambas3 DBUS component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.dbus + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-eval-highlight() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 expression evaluator highlight component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/lib/gambas3/gb.[f-z]* + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[f-z]* + ## +} + +package_gambas3-gb-form() { + depends=('gambas3-gb-gui') + pkgdesc="Gambas3 form component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control/{gb.db*,gb.form.*,gb.report} + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{d*,m*,s*}} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{d*,m*,s*}} + ## +} + +package_gambas3-gb-form-dialog() { + depends=('gambas3-gb-form') + pkgdesc="Gambas3 form dialog component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{c*,g*,m*,s*}} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{i*,l*,m*,s*}} + ## +} + +package_gambas3-gb-form-mdi() { + depends=('gambas3-gb-form') + pkgdesc="Gambas3 form MDI component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control/{gb.db*,gb.form,gb.report} + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{c*,d*,g*,s*}} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{i*,l*,d*,s*}} + ## +} + +package_gambas3-gb-form-stock() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 default stock icons component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/lib/gambas3/gb.{eval*,[m-w]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{eval*,[m-w]*} + ## +} + +package_gambas3-gb-gtk() { + depends=('gambas3-gb-image' 'gtk2' 'librsvg') + pkgdesc="Gambas3 graphical GTK+ toolkit component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-gui() { + depends=('gambas3-gb-qt4' 'gambas3-gb-gtk') + pkgdesc="Gambas3 automatic gui toolkit chooser" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-e]*,gb.[i-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-e]*,gb.[i-z]*} + ## +} + +package_gambas3-gb-image() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 image component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## cleanup the workaround + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-g]*,gb.image.e*,gb.[j-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-g]*,gb.info,gb.image.e*,gb.[j-z]*} + ## +} + +package_gambas3-gb-image-effect() { + depends=('gambas3-gb-image') + pkgdesc="Gambas3 image effect component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## cleanup the workaround + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-g]*,gb.image.{c*,l*,s*},gb.[j-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-g]*,gb.info,gb.image.{i*,l*},gb.[j-z]*} + ## +} + +package_gambas3-gb-image-imlib() { + depends=('gambas3-gb-image' 'imlib2') + pkgdesc="Gambas3 imlib component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.image.imlib + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-image-io() { + depends=('gambas3-gb-image' 'gdk-pixbuf2') + pkgdesc="Gambas3 input/output component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.image.io + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-net() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 network component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-net-curl() { + depends=('gambas3-gb-net' 'curl') + pkgdesc="Gambas3 curl component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-net-smtp() { + depends=('gambas3-runtime' 'glib2') + pkgdesc="Gambas3 SMTP component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.smtp + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-opengl() { + depends=('gambas3-runtime' 'libgl' 'glew') + pkgdesc="Gambas3 OpenGL component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glsl + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glu + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-opengl-glu() { + depends=('gambas3-gb-opengl') + pkgdesc="Gambas3 GL Utility component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glu + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-opengl-glsl() { + depends=('gambas3-gb-opengl') + pkgdesc="Gambas3 GLSL component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glsl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-option() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 getopt component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## cleanup the workaround + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[a-n]*,gb.[p-z]*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[a-n]*,gb.[p-z]*} + ## +} + +package_gambas3-gb-pcre() { + depends=('gambas3-runtime' 'pcre') + pkgdesc="Gambas3 PCRE component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.pcre + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-pdf() { + depends=('gambas3-runtime' 'poppler') + pkgdesc="Gambas3 PDF component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.pdf + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-qt4() { + depends=('gambas3-gb-image' 'qt') + pkgdesc="Gambas3 Qt4 toolkit component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/ext + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/opengl + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/webkit + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-qt4-ext() { + depends=('gambas3-gb-qt4') + pkgdesc="Gambas3 Qt4 toolkit extended component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/ext + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-qt4-opengl() { + depends=('gambas3-gb-qt4' 'libgl') + pkgdesc="Gambas3 Qt4 toolkit OpenGL component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/opengl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-qt4-webkit() { + depends=('gambas3-gb-qt4') + pkgdesc="Gambas3 Qt4 toolkit webkit component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/webkit + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-report() { + depends=('gambas3-gb-form' 'gambas3-gb-image-io') + pkgdesc="Gambas3 report component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4 + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/share/gambas3/control/gb.[d-f]* + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-m]*,[s-w]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-m]*,[s-w]*} + ## +} + +package_gambas3-gb-sdl() { + depends=('gambas3-gb-image-io' 'sdl_ttf' 'libxcursor' 'glew' 'libgl') + pkgdesc="Gambas3 SDL component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.sdl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-sdl-sound() { + depends=('gambas3-runtime' 'sdl_mixer') + pkgdesc="Gambas3 SDL sound component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.sdl.sound + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-settings() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 setting component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-r]*,[t-w]*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-r]*,[t-w]*} + ## +} + +package_gambas3-gb-signal() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 signal component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## cleanup the workaround + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-r]*,gb.[t-z]*,gb.so*} + rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-r]*,gb.[t-z]*} + ## +} + +package_gambas3-gb-v4l() { + depends=('gambas3-runtime' 'v4l-utils' 'libjpeg' 'libpng') + pkgdesc="Gambas3 video4linux component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.v4l + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-vb() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 VB transitional component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + ## Workaround for splitting + rm -r ${pkgdir}/usr/bin + rm -r ${pkgdir}/usr/lib/gambas3/gb.[a-u]* + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[a-u]* + ## +} + +package_gambas3-gb-xml() { + depends=('gambas3-runtime' 'libxml2') + pkgdesc="Gambas3 XML component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/xslt + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/rpc + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-xml-rpc() { + depends=('gambas3-gb-xml' 'gambas3-gb-net' 'gambas3-gb-net-curl') + pkgdesc="Gambas3 XML-RPC component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net + make XDG_UTILS='' DESTDIR="${pkgdir}" install + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/lib/gambas3/gb.xml.{[c-l]*,xslt*,so*} + rm -r ${pkgdir}/usr/share/gambas3/info/gb.xml.{[i-l]*,x*} + ## +} + +package_gambas3-gb-xml-xslt() { + depends=('gambas3-gb-xml' 'libxslt') + pkgdesc="Gambas3 XML-XSLT component" + + ## workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/xslt + make XDG_UTILS='' DESTDIR="${pkgdir}" install + + ## cleanup the workaround + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + ## +} + +package_gambas3-gb-web() { + depends=('gambas3-runtime') + pkgdesc="Gambas3 CGI component" + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" install + ## + + cd ${srcdir}/${pkgbase}-${pkgver}/comp + make DESTDIR="${pkgdir}" install + + ## Workaround for splitting + cd ${srcdir}/${pkgbase}-${pkgver}/main + make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall + rm -r ${pkgdir}/usr/lib/gambas3/gb.[c-v]* + rm -r ${pkgdir}/usr/share/gambas3/info/gb.[c-v]* + ## +} diff --git a/community-testing/gambas3/gambas3-runtime.install b/community-testing/gambas3/gambas3-runtime.install new file mode 100644 index 000000000..6c8201a6a --- /dev/null +++ b/community-testing/gambas3/gambas3-runtime.install @@ -0,0 +1,10 @@ +post_install() { + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas3/mime/application-x-gambas.png application-x-gambas3 + xdg-mime install /usr/share/gambas3/mime/application-x-gambas3.xml +} + +pre_remove() { + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambas3 + xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambas3.xml +} diff --git a/community-testing/gambas3/gambas3-script.install b/community-testing/gambas3/gambas3-script.install new file mode 100644 index 000000000..77c1aa52f --- /dev/null +++ b/community-testing/gambas3/gambas3-script.install @@ -0,0 +1,15 @@ +post_install() { + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas3/mime/application-x-gambasscript.png application-x-gambasscript + xdg-icon-resource install --context mimetypes --size 64 \ + /usr/share/gambas3/mime/application-x-gambasserverpage.png application-x-gambasserverpage + xdg-mime install /usr/share/gambas3/mime/application-x-gambasscript.xml + xdg-mime install /usr/share/gambas3/mime/application-x-gambasserverpage.xml +} + +pre_remove() { + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasscript + xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasserverpage + xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambasscript.xml + xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambasserverpage.xml +} diff --git a/community-testing/gource/PKGBUILD b/community-testing/gource/PKGBUILD new file mode 100644 index 000000000..304da9581 --- /dev/null +++ b/community-testing/gource/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 55695 2011-09-17 21:15:10Z stephane $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Jose Valecillos <valecillosjg (at) gmail (dot) com> +# Contributor: Olivier Ramonat <olivier at ramonat dot fr> +pkgname=gource +pkgver=0.35 +pkgrel=2 +pkgdesc="software version control visualization" +license=(GPL3) +arch=(i686 x86_64) +url=http://code.google.com/p/gource/ +depends=('ftgl' 'sdl' 'sdl_image' 'pcre' 'glew') +source=(http://gource.googlecode.com/files/$pkgname-$pkgver.tar.gz) +md5sums=('6d4f776d314da3ae5d309cb580b83a9f') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR=$pkgdir install +} +# vim: ts=2:sw=2 et: diff --git a/community-testing/lightspark/PKGBUILD b/community-testing/lightspark/PKGBUILD new file mode 100644 index 000000000..35ef4dd99 --- /dev/null +++ b/community-testing/lightspark/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> + +pkgname=lightspark +pkgver=0.5.0 +pkgrel=2 +pkgdesc='An alternative Flash Player for Linux.' +arch=('i686' 'x86_64') +url='http://lightspark.sourceforge.net' +license=('LGPL3') +conflicts=('lightspark-git') +depends=('mesa' 'ftgl' 'sdl' 'gtk2' 'curl' 'zlib' 'ffmpeg' 'glew' 'pcre' 'libpulse' 'libffi' 'boost-libs' 'glibmm' 'gtkglext' 'desktop-file-utils' 'libxml++' 'libxml2') +makedepends=('cmake' 'nasm' 'xulrunner' 'llvm' 'glproto' 'boost' 'fontconfig') +optdepends=('gnash-gtk: fallback support') +install="lightspark.install" +source=("http://launchpad.net/lightspark/trunk/lightspark-${pkgver:0:5}/+download/lightspark-${pkgver}.tar.gz") +md5sums=('7d42c8e92c3c3b318076393a7e9508fb') + +build() { + rm -rf build + mkdir build + cd build + + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCOMPILE_PLUGIN=1 \ + -DCMAKE_BUILD_TYPE=Release \ + -DGNASH_EXE_PATH=/usr/bin/gtk-gnash \ + ../lightspark-${pkgver} + + make +} + +package() { + cd build + + make DESTDIR=${pkgdir} install +} diff --git a/community-testing/lightspark/lightspark.install b/community-testing/lightspark/lightspark.install new file mode 100644 index 000000000..75e2b7b55 --- /dev/null +++ b/community-testing/lightspark/lightspark.install @@ -0,0 +1,13 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/community-testing/luxrays/PKGBUILD b/community-testing/luxrays/PKGBUILD new file mode 100644 index 000000000..3c7e3497d --- /dev/null +++ b/community-testing/luxrays/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 55699 2011-09-17 21:15:20Z stephane $ +# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com> +pkgname=luxrays +pkgver=0.8 +_pkgver=ed424ec77571 +pkgrel=5 +epoch=0 +pkgdesc="Accelerate the ray intersection process by using GPUs" +arch=('i686' 'x86_64') +url="http://www.luxrender.net/" +license=('GPL') +depends=('freeimage' 'freeglut' 'glew' 'libcl') +makedepends=('cmake' 'boost' 'opencl-headers') +source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2) +md5sums=('2ac9c588675c5971c57f473ef10ac67d') + +build() { + cd "$srcdir/luxrender-$pkgname-$_pkgver" + + export CXXFLAGS="$CXXFLAGS -lpthread" + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH=ON \ + -DLUXRAYS_DISABLE_OPENCL=OFF \ + . + make +} + +package() { + cd "$srcdir/luxrender-$pkgname-$_pkgver" + + install -d -m755 "$pkgdir"/usr/{bin,include,lib} + install -m755 bin/* "$pkgdir"/usr/bin + install -m644 lib/* "$pkgdir"/usr/lib + cp -a include/luxrays "$pkgdir"/usr/include +} + +# vim:set ts=2 sw=2 et: diff --git a/community-testing/performous/PKGBUILD b/community-testing/performous/PKGBUILD index f53df1e79..519bdd30c 100644 --- a/community-testing/performous/PKGBUILD +++ b/community-testing/performous/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 55416 2011-09-12 05:34:15Z ebelanger $ +# $Id: PKGBUILD 55701 2011-09-17 21:15:24Z stephane $ # Maintainer : Laurent Carlier <lordheavym@gmail.com> # Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org> pkgname=performous pkgver=0.6.1 -pkgrel=8 +pkgrel=9 pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"' arch=('i686' 'x86_64') url="http://performous.org/" license=('GPL') -depends=('boost-libs>=1.47' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew' 'libxml++' 'portaudio' 'portmidi' \ +depends=('boost-libs>=1.47' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' \ 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo') makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.47') optdepends=('performous-freesongs: free songs for performous') diff --git a/community-testing/root/PKGBUILD b/community-testing/root/PKGBUILD new file mode 100644 index 000000000..2b246efc2 --- /dev/null +++ b/community-testing/root/PKGBUILD @@ -0,0 +1,87 @@ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: Sebastian Voecking <voeck@web.de> + +pkgname=root +pkgver=5.30.01 +pkgrel=2 +pkgdesc='C++ data analysis framework and interpreter from CERN.' +arch=('i686' 'x86_64') +url='http://root.cern.ch' +license=('LGPL2.1') +depends=('avahi' 'desktop-file-utils' 'ftgl' 'giflib' 'glew' 'graphviz' 'gsl' 'libldap' 'libmysqlclient' + 'libxft' 'postgresql-libs' 'python2' 'unixodbc' 'shared-mime-info' 'xmlrpc-c' 'xorg-fonts-75dpi' 'mesa' 'gcc-fortran') +makedepends=('fftw') +install='root.install' +source=("ftp://root.cern.ch/root/root_v${pkgver}.source.tar.gz" + 'root.sh' + 'rootd' + 'root.desktop' + 'root.xml') +md5sums=('be7443a1b243c51b3c1ec435a5a9453e' + '0e883ad44f99da9bc7c23bc102800b62' + 'efd06bfa230cc2194b38e0c8939e72af' + 'ac61b17395d75a2705fefa2ef841a6bf' + 'e2cf69b204192b5889ceb5b4dedc66f7') + +build() { + cd root + + if [ ${CARCH} == 'i686' ]; then + TARGET=linux; + else + TARGET=linuxx8664gcc; + fi + + # python2 switch + find . -type f -exec sed -i -e 's/python -O/python2 -O/g' -e 's/python -c/python2 -c/g' {} \; + sed \ + -e 's/python 2/python2 2/g' \ + -i configure + sed \ + -e 's/python $(pkgpyexecdir)/python2 $(pkgpyexecdir)/g' \ + -i cint/reflex/python/genreflex/Makefile.am + sed \ + -e 's/python /python2 /' \ + -i config/genreflex.in config/genreflex-rootcint.in + + ./configure \ + ${TARGET} \ + --prefix=/usr \ + --disable-builtin-ftgl \ + --disable-builtin-freetype \ + --disable-builtin-glew \ + --disable-builtin-pcre \ + --disable-builtin-zlib \ + --disable-builtin-lzma \ + --enable-gdml \ + --enable-gsl-shared \ + --enable-minuit2 \ + --enable-soversion \ + --enable-roofit \ + --enable-python \ + --with-python-incdir=/usr/include/python2.7 \ + --with-python-libdir=/usr/lib \ + --enable-explicitlink + + # move from aur + #--disable-builtin-afterimage \ + + make +} + +package() { + cd root + + make DESTDIR=${pkgdir} install + + install -D ${srcdir}/root.sh \ + ${pkgdir}/etc/profile.d/root.sh + install -D ${srcdir}/rootd \ + ${pkgdir}/etc/rc.d/rootd + install -D -m644 ${srcdir}/root.desktop \ + ${pkgdir}/usr/share/applications/root.desktop + install -D -m644 ${srcdir}/root.xml \ + ${pkgdir}/usr/share/mime/packages/root.xml + + rm -rf ${pkgdir}/etc/root/daemons +} diff --git a/community-testing/root/root.desktop b/community-testing/root/root.desktop new file mode 100644 index 000000000..ca382111c --- /dev/null +++ b/community-testing/root/root.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Exec=root +Terminal=true +Name=ROOT +Name[de]=ROOT +Comment=An object-oriented data analysis framework +Comment[de]=Ein objektorientiertes Framework zur Datenanalyse +StartupNotify=true +MimeType=application/x-root;text/x-c++src +Categories=Science;Development;Application; diff --git a/community-testing/root/root.install b/community-testing/root/root.install new file mode 100644 index 000000000..457af7314 --- /dev/null +++ b/community-testing/root/root.install @@ -0,0 +1,17 @@ +post_install() { + if ! [ `grep '/usr/lib/root' etc/ld.so.conf` ]; then + echo "/usr/lib/root" >> etc/ld.so.conf + sbin/ldconfig -r . + fi + + update-desktop-database >/dev/null + + update-mime-database /usr/share/mime >/dev/null +} + +pre_remove() { + cat etc/ld.so.conf | grep -v '/usr/lib/root' >/tmp/.pacroot + mv /tmp/.pacroot etc/ld.so.conf + chmod 644 etc/ld.so.conf + sbin/ldconfig -r . +} diff --git a/community-testing/root/root.sh b/community-testing/root/root.sh new file mode 100644 index 000000000..685e6036b --- /dev/null +++ b/community-testing/root/root.sh @@ -0,0 +1,5 @@ +if [ $PYTHONPATH ]; then + export PYTHONPATH=$PYTHONPATH:/usr/lib/root; +else + export PYTHONPATH=/usr/lib/root; +fi diff --git a/community-testing/root/root.xml b/community-testing/root/root.xml new file mode 100644 index 000000000..af8dd69c5 --- /dev/null +++ b/community-testing/root/root.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> + <mime-type type="application/x-root"> + <comment>ROOT file</comment> + <comment xml:lang="de">ROOT-Datei</comment> + <glob pattern="*.root"/> + <magic priority="80"> + <match value="root" type="string" offset="0:64"/> + </magic> + </mime-type> +</mime-info> diff --git a/community-testing/root/rootd b/community-testing/root/rootd new file mode 100755 index 000000000..fb2c3388c --- /dev/null +++ b/community-testing/root/rootd @@ -0,0 +1,37 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/rootd` +case "$1" in + start) + stat_busy "Starting ROOT file server daemon" + [ -z "$PID" ] && /usr/bin/rootd >>/var/log/root.log 2>&1 + if [ $? -gt 0 ]; then + stat_fail + else + PID=`pidof -o %PPID /usr/sbin/rootd` + echo $PID >/var/run/rootd.pid + add_daemon rootd + stat_done + fi + ;; + stop) + stat_busy "Stopping ROOT file server daemon" + [ ! -z "$PID" ] && kill $PID &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon rootd + stat_done + fi + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-testing/rss-glx/PKGBUILD b/community-testing/rss-glx/PKGBUILD index 61fb35930..a9bf5635a 100644 --- a/community-testing/rss-glx/PKGBUILD +++ b/community-testing/rss-glx/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 55418 2011-09-12 05:34:23Z ebelanger $ +# $Id: PKGBUILD 55705 2011-09-17 21:15:47Z stephane $ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Corrado 'bardo' Primier <corrado.primier@mail.polimi.it> # Contributor: Tate "Tatey" Johnson <tatey86@tpg.com.au> pkgname=rss-glx pkgver=0.9.1 -pkgrel=7 +pkgrel=8 pkgdesc="The Really Slick Screensavers port to GLX" arch=('i686' 'x86_64') url="http://rss-glx.sourceforge.net/" diff --git a/community-testing/sfml/PKGBUILD b/community-testing/sfml/PKGBUILD new file mode 100644 index 000000000..20a5bd87c --- /dev/null +++ b/community-testing/sfml/PKGBUILD @@ -0,0 +1,61 @@ +# $Id: PKGBUILD 55707 2011-09-17 21:15:53Z stephane $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Ondrej Martinak <omartinak@gmail.com> + +pkgname=sfml + +_git=true + +if [[ "${_git}" = "true" ]]; then + pkgver=1.99.git20110917 +fi + +pkgrel=1 +pkgdesc='A simple, fast, cross-platform, and object-oriented multimedia API' +arch=('i686' 'x86_64') +url='http://www.sfml-dev.org/' +license=('zlib') +depends=('libsndfile' 'libxrandr' 'libjpeg' 'openal' 'glew' 'freetype2') +makedepends=('git' 'mesa' 'cmake' 'doxygen') +install=sfml.install + +_gitroot='https://github.com/LaurentGomila/SFML.git' +_gitname='SFML' + +build() { + cd "$srcdir" + msg "Connecting to GIT server...." + + if [ -d $_gitname ] ; then + cd $_gitname && git pull origin + msg "The local files are updated." + else + git clone $_gitroot + cd $_gitname + fi + + msg "GIT checkout done or server timeout" + msg "Starting make..." + + rm -rf "$srcdir/$_gitname-build" + cp -r "$srcdir/$_gitname" "$srcdir/$_gitname-build" + cd "$srcdir/$_gitname-build" + + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. \ + -DBUILD_DOC=true \ + -DBUILD_EXAMPLES=true + make + make doc +} + +package() { + cd "$srcdir/$_gitname-build/build" + make DESTDIR="$pkgdir/" install + + install -Dm644 ../license.txt \ + ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + + make clean +} + diff --git a/community-testing/sfml/sfml.install b/community-testing/sfml/sfml.install new file mode 100644 index 000000000..75f760be6 --- /dev/null +++ b/community-testing/sfml/sfml.install @@ -0,0 +1,3 @@ +post_install() { + echo "To view the SFML samples, go to /usr/share/SFML/examples/ and run them individually" +} diff --git a/community-testing/spring/PKGBUILD b/community-testing/spring/PKGBUILD new file mode 100644 index 000000000..807894d01 --- /dev/null +++ b/community-testing/spring/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 55709 2011-09-17 21:16:01Z stephane $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Arkham <arkham at archlinux dot us> +# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org> + +pkgname=spring +pkgver=0.82.7.1 +pkgrel=7 +pkgdesc='A free 3D real-time-strategy (RTS) game engine' +arch=('i686' 'x86_64') +url="http://springrts.com/" +license=('GPL') +depends=('openal' 'glew' 'boost-libs' 'freetype2' 'devil' 'libvorbis') +makedepends=('boost' 'cmake' 'zip' 'lzma-utils' 'p7zip' 'python2') +optdepends=('python2: python-based bots' + 'java-runtime: java-based bots') +source=(http://downloads.sourceforge.net/sourceforge/springrts/${pkgname}_${pkgver}_src.tar.lzma + gcc46.patch + awk-java.patch) +md5sums=('378cf0b18a5dd5b840964e5945778503' + 'e9586b611db1ed04fe4f0c5982fda7d2' + 'cd94edf21e49ff6ff7d256442ed9aa3c') + +build() { + bsdtar -xf ${pkgname}_${pkgver}_src.tar.lzma + + cd spring_$pkgver + + sed -i '1i\ + #include <list>' rts/lib/lobby/Connection.h + patch -Np1 < $srcdir/gcc46.patch + patch -Np1 < $srcdir/awk-java.patch + cmake . \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DDATADIR=share/spring + make +} + +package() { + cd spring_$pkgver + + make DESTDIR=$pkgdir install + + install -d $pkgdir/etc/spring + echo '$HOME/.spring' > $pkgdir/etc/spring/datadir +} + +# vim sw=2:ts=2 et: diff --git a/community-testing/spring/awk-java.patch b/community-testing/spring/awk-java.patch new file mode 100644 index 000000000..36c932924 --- /dev/null +++ b/community-testing/spring/awk-java.patch @@ -0,0 +1,48 @@ +diff -ru spring_0.82.7.1-old//AI/Interfaces/Java/bin/jna_wrappCommands.awk spring_0.82.7.1/AI/Interfaces/Java/bin/jna_wrappCommands.awk +--- spring_0.82.7.1-old//AI/Interfaces/Java/bin/jna_wrappCommands.awk 2011-07-26 17:29:16.623158278 +0200 ++++ spring_0.82.7.1/AI/Interfaces/Java/bin/jna_wrappCommands.awk 2011-07-26 17:33:00.872921328 +0200 +@@ -341,7 +341,7 @@ + } + + # beginn of struct S*Command +-/^\struct S.*Command( \{)?/ { ++/^struct S.*Command( \{)?/ { + + isInsideCmdStruct = 1; + ind_cmdMember = 0; +diff -ru spring_0.82.7.1-old//AI/Interfaces/Java/bin/jna_wrappEvents.awk spring_0.82.7.1/AI/Interfaces/Java/bin/jna_wrappEvents.awk +--- spring_0.82.7.1-old//AI/Interfaces/Java/bin/jna_wrappEvents.awk 2011-07-26 17:29:16.623158278 +0200 ++++ spring_0.82.7.1/AI/Interfaces/Java/bin/jna_wrappEvents.awk 2011-07-26 17:32:51.009745026 +0200 +@@ -473,7 +473,7 @@ + } + + # beginn of struct S*Event +-/^\struct S.*Event( \{)?/ { ++/^struct S.*Event( \{)?/ { + + isInsideEvtStruct = 1; + ind_evtMember = 0; +diff -ru spring_0.82.7.1-old//AI/Wrappers/Cpp/bin/wrappCommands.awk spring_0.82.7.1/AI/Wrappers/Cpp/bin/wrappCommands.awk +--- spring_0.82.7.1-old//AI/Wrappers/Cpp/bin/wrappCommands.awk 2011-07-26 17:29:16.626491558 +0200 ++++ spring_0.82.7.1/AI/Wrappers/Cpp/bin/wrappCommands.awk 2011-07-26 17:30:25.695391913 +0200 +@@ -387,7 +387,7 @@ + } + + # beginn of struct S*Command +-/^\struct S.*Command( \{)?/ { ++/^struct S.*Command( \{)?/ { + + isInsideCmdStruct = 1; + ind_cmdMember = 0; +diff -ru spring_0.82.7.1-old//AI/Wrappers/Cpp/bin/wrappEvents.awk spring_0.82.7.1/AI/Wrappers/Cpp/bin/wrappEvents.awk +--- spring_0.82.7.1-old//AI/Wrappers/Cpp/bin/wrappEvents.awk 2011-07-26 17:29:16.626491558 +0200 ++++ spring_0.82.7.1/AI/Wrappers/Cpp/bin/wrappEvents.awk 2011-07-26 17:30:13.942245701 +0200 +@@ -366,7 +366,7 @@ + } + + # beginn of struct S*Event +-/^\struct S.*Event( \{)?/ { ++/^struct S.*Event( \{)?/ { + + isInsideEvtStruct = 1; + ind_evtMember = 0; diff --git a/community-testing/spring/gcc46.patch b/community-testing/spring/gcc46.patch new file mode 100644 index 000000000..4f6865cac --- /dev/null +++ b/community-testing/spring/gcc46.patch @@ -0,0 +1,67 @@ +From: Jan Dittberner <jandd@debian.org> +Subject: Patch for FTBFS with g++ 4.6.0 +Bug-Debian: http://bugs.debian.org/625097 +Bug: http://springrts.com/mantis/view.php?id=2415 +--- a/AI/Skirmish/E323AI/AAStar.h ++++ b/AI/Skirmish/E323AI/AAStar.h +@@ -4,6 +4,7 @@ + #include <queue> + #include <vector> + #include <list> ++#include <cstddef> // for NULL + + class AAStar { + public: +--- a/rts/Rendering/ShadowHandler.cpp ++++ b/rts/Rendering/ShadowHandler.cpp +@@ -318,6 +318,11 @@ + xmid = 1.0f - (sqrt(fabs(x2)) / (sqrt(fabs(x2)) + sqrt(fabs(x1)))); + ymid = 1.0f - (sqrt(fabs(y2)) / (sqrt(fabs(y2)) + sqrt(fabs(y1)))); + ++ shadowParams.x = xmid; ++ shadowParams.y = ymid; ++ shadowParams.z = p17; ++ shadowParams.w = p18; ++ + shadowMatrix[ 0] = cross1.x / maxLengthX; + shadowMatrix[ 4] = cross1.y / maxLengthX; + shadowMatrix[ 8] = cross1.z / maxLengthX; +--- a/rts/Rendering/ShadowHandler.h ++++ b/rts/Rendering/ShadowHandler.h +@@ -38,7 +38,7 @@ + CMatrix44f shadowMatrix; + void CalcMinMaxView(void); + +- const float4 GetShadowParams() const { return float4(xmid, ymid, p17, p18); } ++ const float4& GetShadowParams() const { return shadowParams; } + + enum ShadowGenProgram { + SHADOWGEN_PROGRAM_MODEL = 0, +@@ -76,6 +76,7 @@ + //! to write the (FBO) depth-buffer texture + std::vector<Shader::IProgramObject*> shadowGenProgs; + ++ float4 shadowParams; + float x1, x2, y1, y2; + float xmid, ymid; + float p17, p18; +--- a/rts/Rendering/GLContext.cpp ++++ b/rts/Rendering/GLContext.cpp +@@ -9,6 +9,7 @@ + #include "GLContext.h" + + #include <list> ++#include <cstddef> // for NULL + + + using namespace std; +--- a/rts/System/MemPool.h ++++ b/rts/System/MemPool.h +@@ -4,6 +4,7 @@ + #define _MEM_POOL_H_ + + #include <new> ++#include <cstddef> // for NULL + + const size_t MAX_MEM_SIZE=200; + diff --git a/community-testing/supertux/PKGBUILD b/community-testing/supertux/PKGBUILD new file mode 100644 index 000000000..60606f57c --- /dev/null +++ b/community-testing/supertux/PKGBUILD @@ -0,0 +1,31 @@ +# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org> +# Contributor: Eric Belanger <belanger@astro.umontreal.ca> +# Contributor: vande198 +# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=supertux +pkgver=0.3.3 +pkgrel=4 +pkgdesc="A classic 2D jump'n run sidescroller game in a style similar to the original SuperMario games" +arch=('i686' 'x86_64') +url="http://super-tux.sourceforge.net/" +license=('GPL') +depends=('sdl_image' 'curl' 'physfs' 'openal' 'libvorbis' 'libgl' 'glew') +makedepends=('cmake' 'boost') +source=(http://download.berlios.de/supertux/${pkgname}-${pkgver}.tar.bz2) +md5sums=('f3f803e629ee51a9de0b366a036e393d') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + sed -i '1i#include <cstddef>' src/supertux/screen_manager.hpp + sed -i '/types\.h/d' src/addon/addon_manager.cpp + cmake -D CMAKE_INSTALL_PREFIX=/usr -D INSTALL_SUBDIR_BIN=bin . + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install +} diff --git a/community-testing/supertux/compile.patch b/community-testing/supertux/compile.patch new file mode 100644 index 000000000..05376fe91 --- /dev/null +++ b/community-testing/supertux/compile.patch @@ -0,0 +1,67 @@ +diff -ruN supertux-0.3.1.orig/src/console.hpp supertux-0.3.1/src/console.hpp +--- supertux-0.3.1.orig/src/console.hpp 2008-01-03 21:59:27.000000000 +0100 ++++ supertux-0.3.1/src/console.hpp 2008-08-23 11:57:47.000000000 +0200 +@@ -27,6 +27,8 @@ + #include <sstream> + #include <iostream> + #include <squirrel.h> ++#include <memory> ++#include <cstdlib> + + class Console; + class ConsoleStreamBuffer; +diff -ruN supertux-0.3.1.orig/src/lisp/lexer.cpp supertux-0.3.1/src/lisp/lexer.cpp +--- supertux-0.3.1.orig/src/lisp/lexer.cpp 2008-01-03 21:59:26.000000000 +0100 ++++ supertux-0.3.1/src/lisp/lexer.cpp 2008-08-23 13:45:58.000000000 +0200 +@@ -21,6 +21,7 @@ + #include <sstream> + #include <stdexcept> + #include <iostream> ++#include <cstring> + + #include "lexer.hpp" + +diff -ruN supertux-0.3.1.orig/src/sprite/sprite_manager.hpp supertux-0.3.1/src/sprite/sprite_manager.hpp +--- supertux-0.3.1.orig/src/sprite/sprite_manager.hpp 2008-01-03 21:59:26.000000000 +0100 ++++ supertux-0.3.1/src/sprite/sprite_manager.hpp 2008-08-23 13:29:34.000000000 +0200 +@@ -21,6 +21,7 @@ + #define SUPERTUX_SPRITE_MANAGER_H + + #include <map> ++#include <string> + + class SpriteData; + class Sprite; +diff -ruN supertux-0.3.1.orig/src/textscroller.hpp supertux-0.3.1/src/textscroller.hpp +--- supertux-0.3.1.orig/src/textscroller.hpp 2008-01-03 21:59:27.000000000 +0100 ++++ supertux-0.3.1/src/textscroller.hpp 2008-08-23 13:34:35.000000000 +0200 +@@ -24,6 +24,7 @@ + #include <vector> + #include <string> + #include <map> ++#include <memory> + + #include "screen.hpp" + #include "math/vector.hpp" +diff -ruN supertux-0.3.1.orig/src/title.cpp supertux-0.3.1/src/title.cpp +--- supertux-0.3.1.orig/src/title.cpp 2008-01-03 21:59:28.000000000 +0100 ++++ supertux-0.3.1/src/title.cpp 2008-08-23 12:05:19.000000000 +0200 +@@ -32,6 +32,7 @@ + #include <SDL.h> + #include <SDL_image.h> + #include <physfs.h> ++#include <algorithm> + + #include "title.hpp" + #include "mainloop.hpp" +diff -ruN supertux-0.3.1.orig/src/video/sdl_texture.hpp supertux-0.3.1/src/video/sdl_texture.hpp +--- supertux-0.3.1.orig/src/video/sdl_texture.hpp 2008-01-03 21:59:22.000000000 +0100 ++++ supertux-0.3.1/src/video/sdl_texture.hpp 2008-08-23 13:37:14.000000000 +0200 +@@ -23,6 +23,7 @@ + #include <config.h> + + #include <SDL.h> ++#include <algorithm> + + #include "texture.hpp" + #include "color.hpp" diff --git a/community-testing/supertux/gcc44.patch b/community-testing/supertux/gcc44.patch new file mode 100644 index 000000000..b58d9c29d --- /dev/null +++ b/community-testing/supertux/gcc44.patch @@ -0,0 +1,90 @@ +diff -ruN supertux-0.3.1.orig/src/console.hpp supertux-0.3.1/src/console.hpp +--- supertux-0.3.1.orig/src/console.hpp 2008-01-03 20:59:27.000000000 +0000 ++++ supertux-0.3.1/src/console.hpp 2009-05-17 19:43:26.914307646 +0000 +@@ -27,6 +27,8 @@ + #include <sstream> + #include <iostream> + #include <squirrel.h> ++#include <memory> ++#include <cstdlib> + + class Console; + class ConsoleStreamBuffer; +diff -ruN supertux-0.3.1.orig/src/lisp/lexer.cpp supertux-0.3.1/src/lisp/lexer.cpp +--- supertux-0.3.1.orig/src/lisp/lexer.cpp 2008-01-03 20:59:26.000000000 +0000 ++++ supertux-0.3.1/src/lisp/lexer.cpp 2009-05-17 19:43:27.037705317 +0000 +@@ -21,6 +21,7 @@ + #include <sstream> + #include <stdexcept> + #include <iostream> ++#include <cstring> + + #include "lexer.hpp" + +diff -ruN supertux-0.3.1.orig/src/lisp/lisp.cpp supertux-0.3.1/src/lisp/lisp.cpp +--- supertux-0.3.1.orig/src/lisp/lisp.cpp 2008-01-03 20:59:26.000000000 +0000 ++++ supertux-0.3.1/src/lisp/lisp.cpp 2009-05-17 19:44:29.305165638 +0000 +@@ -18,7 +18,7 @@ + // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + #include <config.h> +- ++#include <cstdio> + #include "lisp.hpp" + + namespace lisp +diff -ruN supertux-0.3.1.orig/src/random_generator.cpp supertux-0.3.1/src/random_generator.cpp +--- supertux-0.3.1.orig/src/random_generator.cpp 2008-01-03 20:59:27.000000000 +0000 ++++ supertux-0.3.1/src/random_generator.cpp 2009-05-17 19:44:05.851002254 +0000 +@@ -39,6 +39,7 @@ + #include <stdexcept> + #include <time.h> + #include <cassert> ++#include <cstdio> + #include "random_generator.hpp" + + RandomGenerator systemRandom; // global random number generator +diff -ruN supertux-0.3.1.orig/src/sprite/sprite_manager.hpp supertux-0.3.1/src/sprite/sprite_manager.hpp +--- supertux-0.3.1.orig/src/sprite/sprite_manager.hpp 2008-01-03 20:59:26.000000000 +0000 ++++ supertux-0.3.1/src/sprite/sprite_manager.hpp 2009-05-17 19:43:27.037705317 +0000 +@@ -21,6 +21,7 @@ + #define SUPERTUX_SPRITE_MANAGER_H + + #include <map> ++#include <string> + + class SpriteData; + class Sprite; +diff -ruN supertux-0.3.1.orig/src/textscroller.hpp supertux-0.3.1/src/textscroller.hpp +--- supertux-0.3.1.orig/src/textscroller.hpp 2008-01-03 20:59:27.000000000 +0000 ++++ supertux-0.3.1/src/textscroller.hpp 2009-05-17 19:43:27.037705317 +0000 +@@ -24,6 +24,7 @@ + #include <vector> + #include <string> + #include <map> ++#include <memory> + + #include "screen.hpp" + #include "math/vector.hpp" +diff -ruN supertux-0.3.1.orig/src/title.cpp supertux-0.3.1/src/title.cpp +--- supertux-0.3.1.orig/src/title.cpp 2008-01-03 20:59:28.000000000 +0000 ++++ supertux-0.3.1/src/title.cpp 2009-05-17 19:43:27.041000359 +0000 +@@ -32,6 +32,7 @@ + #include <SDL.h> + #include <SDL_image.h> + #include <physfs.h> ++#include <algorithm> + + #include "title.hpp" + #include "mainloop.hpp" +diff -ruN supertux-0.3.1.orig/src/video/sdl_texture.hpp supertux-0.3.1/src/video/sdl_texture.hpp +--- supertux-0.3.1.orig/src/video/sdl_texture.hpp 2008-01-03 20:59:22.000000000 +0000 ++++ supertux-0.3.1/src/video/sdl_texture.hpp 2009-05-17 19:43:27.041000359 +0000 +@@ -23,6 +23,7 @@ + #include <config.h> + + #include <SDL.h> ++#include <algorithm> + + #include "texture.hpp" + #include "color.hpp" diff --git a/community-testing/vdrift/PKGBUILD b/community-testing/vdrift/PKGBUILD new file mode 100644 index 000000000..4ee25ce0f --- /dev/null +++ b/community-testing/vdrift/PKGBUILD @@ -0,0 +1,52 @@ +# $Id: PKGBUILD 55713 2011-09-17 21:16:15Z stephane $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Anton Bazhenov <anton.bazhenov at gmail> +# Contributor: Lone_Wolf lonewolf@xs4all.nl + +pkgname=vdrift +pkgver=2011.09.01 +pkgrel=2 +pkgdesc="An open source driving simulation made with drift racing in mind" +arch=('i686' 'x86_64') +url="http://vdrift.net/" +license=('GPL') +depends=('bullet' 'curl' 'sdl_gfx' 'sdl_image' 'glew' 'libvorbis' 'vdrift-data') +makedepends=('scons' 'boost' 'asio') +source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-src-${pkgver//./-}.tar.bz2 + $pkgname.desktop) +md5sums=('a4099acacca3d4f0799b012cd168f1c0' + '8bb429f37bcb4aed5e7ab1d80c5a4f93') + +build() { + cd "$srcdir"/$pkgname-src-${pkgver//./-} + + # select arch + if [ `uname -m` = "x86_64" ]; then + _sconsarch="a64" + else + _sconsarch="686" + fi + + sed -i 's/glGenerateMipmap/glGenerateMipmapEXT/g' src/texture.cpp + sed -i '/types.h/d' src/http.h + + # build and install + scons \ + "destdir"="$pkgdir" \ + "arch"=$_sconsarch \ + "release"=1 \ + "force_feedback"=1 \ + "prefix"=/usr \ + "datadir"=share/$pkgname/ +} + +package() { + cd "$srcdir"/$pkgname-src-${pkgver//./-} + + scons install + + # install .desktop file + install -Dm644 ../$pkgname.desktop \ + "$pkgdir"/usr/share/applications/$pkgname.desktop +} +# vim: sw=2:ts=2 et: diff --git a/community-testing/vdrift/vdrift.desktop b/community-testing/vdrift/vdrift.desktop new file mode 100644 index 000000000..7078f0d9c --- /dev/null +++ b/community-testing/vdrift/vdrift.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Name=VDrift +Version=2009-06-15 +GenericName=Racing Simulation +Comment=An open source driving simulation made with drift racing in mind +Exec=vdrift +Icon=vdrift.png +Terminal=false +Categories=Game;Simulation; diff --git a/community-testing/widelands/PKGBUILD b/community-testing/widelands/PKGBUILD new file mode 100644 index 000000000..2b491261f --- /dev/null +++ b/community-testing/widelands/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 55715 2011-09-17 21:16:31Z stephane $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Arkham <arkham at archlinux dot us> +# Contributor: Christoph Zeiler <rabyte*gmail> + +pkgname=widelands +pkgver=16 +_realver=build16 +pkgrel=3 +pkgdesc="A realtime strategy game with emphasis on economy and transport" +arch=('i686' 'x86_64') +url="http://widelands.org/" +license=('GPL') +depends=('sdl_mixer' 'sdl_image' 'sdl_net' 'sdl_ttf' 'sdl_gfx' 'ggz-client-libs' 'lua' 'glew' 'python2') +makedepends=('cmake' 'boost') +source=(http://launchpad.net/$pkgname/build16/$_realver/+download/$pkgname-$_realver-src.tar.bz2 + $pkgname.desktop + $pkgname.png + $pkgname.sh) +md5sums=('3d8c28e145b73c64d8ed1625319d25a2' + '15820bf099fd6f16251fe70a75c534bb' + '3dfda7e9ca76ca00dd98d745d0ceb328' + '7cae50aba5ed0cd2cfeea79124637b46') + +build() { + cd $srcdir/$pkgname-$_realver-src + + mkdir -p build/compile && cd build/compile + + cmake ../.. -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWL_INSTALL_PREFIX=/usr \ + -DWL_INSTALL_DATADIR=share/$pkgname \ + -DWL_INSTALL_BINDIR=bin + make +} + +package() { + cd $srcdir/$pkgname-$_realver-src/build/compile + + make DESTDIR="$pkgdir" install + + # Install bin, icon and desktop file + #install -Dm 755 src/$pkgname $pkgdir/usr/share/$pkgname/$pkgname + #install -Dm 755 $srcdir/$pkgname.sh $pkgdir/usr/bin/$pkgname + install -Dm644 $srcdir/$pkgname.png $pkgdir/usr/share/pixmaps/$pkgname.png + install -Dm644 $srcdir/$pkgname.desktop $pkgdir/usr/share/applications/$pkgname.desktop +} diff --git a/community-testing/widelands/widelands-build15-gcc-4.5-patch b/community-testing/widelands/widelands-build15-gcc-4.5-patch new file mode 100644 index 000000000..6ba313358 --- /dev/null +++ b/community-testing/widelands/widelands-build15-gcc-4.5-patch @@ -0,0 +1,51 @@ +diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc +--- widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc 2010-04-16 15:41:22.000000000 +0000 ++++ widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc 2010-07-01 21:15:56.000000000 +0000 +@@ -113,7 +113,7 @@ + posx, posy, width, height, + g_gr->get_picture(PicMod_UI, "pics/but1.png"), + &Main_Menu_New_Map::button_clicked, *this, 4, +- Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name()); ++ Widelands::World(m_worlds[m_currentworld].c_str()).get_name()); + + posy += height + spacing + spacing + spacing; + +@@ -142,7 +142,7 @@ + if (m_currentworld == m_worlds.size()) + m_currentworld = 0; + m_world->set_title +- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name ++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name + ()); + break; + } +diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc +--- widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc 2010-04-16 15:41:22.000000000 +0000 ++++ widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc 2010-07-01 21:17:39.000000000 +0000 +@@ -272,7 +272,7 @@ + posx, posy, width, height, + g_gr->get_picture(PicMod_UI, "pics/but1.png"), + &Main_Menu_New_Random_Map::button_clicked, *this, 8, +- Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name()); ++ Widelands::World(m_worlds[m_currentworld].c_str()).get_name()); + + posy += height + spacing + spacing + spacing; + +@@ -343,7 +343,7 @@ + if (m_currentworld == m_worlds.size()) + m_currentworld = 0; + m_world->set_title +- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name()); ++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name()); + break; + case 9: + break; +@@ -476,7 +476,7 @@ + (strcmp(mapInfo.worldName.c_str(), m_worlds[m_currentworld].c_str())) + ++m_currentworld; + m_world->set_title +- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name()); ++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name()); + + button_clicked(-1); // Update other values in UI as well + diff --git a/community-testing/widelands/widelands.desktop b/community-testing/widelands/widelands.desktop new file mode 100644 index 000000000..9715d816c --- /dev/null +++ b/community-testing/widelands/widelands.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Widelands +GenericName=Widelands +Comment=Realtime strategy game +Icon=widelands +Exec=widelands +Type=Application +Categories=Game;StrategyGame; diff --git a/community-testing/widelands/widelands.png b/community-testing/widelands/widelands.png Binary files differnew file mode 100644 index 000000000..c329cf667 --- /dev/null +++ b/community-testing/widelands/widelands.png diff --git a/community-testing/widelands/widelands.sh b/community-testing/widelands/widelands.sh new file mode 100644 index 000000000..0b21a1694 --- /dev/null +++ b/community-testing/widelands/widelands.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cd /usr/share/widelands +./widelands $* diff --git a/community/calibre/PKGBUILD b/community/calibre/PKGBUILD index 33b5cc2a5..5f07b3ecc 100644 --- a/community/calibre/PKGBUILD +++ b/community/calibre/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 55511 2011-09-13 21:33:02Z ebelanger $ +# $Id: PKGBUILD 55681 2011-09-17 19:15:18Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Petrov Roman <nwhisper@gmail.com> # Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com> pkgname=calibre -pkgver=0.8.18 -pkgrel=2 +pkgver=0.8.19 +pkgrel=1 pkgdesc="Ebook management application" arch=('i686' 'x86_64') url="http://calibre-ebook.com/" @@ -18,9 +18,9 @@ depends=('python2-dateutil' 'python2-cssutils' 'python2-cherrypy' makedepends=('python2-pycountry') optdepends=('ipython: to use calibre-debug') install=calibre.install -source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz - desktop_integration.patch) -md5sums=('6347327567c92ce7ebf82b308e1f6610' +source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'desktop_integration.patch') +md5sums=('156c1fb275b774ce971f4ef820b9885d' '253ce4fe5d01f8ff76b63cd3825755ea') build() { diff --git a/community/sshguard/PKGBUILD b/community/sshguard/PKGBUILD index d49e1f99a..0de299933 100644 --- a/community/sshguard/PKGBUILD +++ b/community/sshguard/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 55622 2011-09-16 11:14:14Z spupykin $ +# $Id: PKGBUILD 55676 2011-09-17 17:07:50Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=sshguard pkgver=1.5 -pkgrel=2 +pkgrel=3 pkgdesc="brute force detector for SSH, Exim, VSFTPD and more. Blocks by ip with iptables" arch=('i686' 'x86_64') #url="http://sourceforge.net/projects/sshguard/" url="http://www.sshguard.net/" license=('GPL') -depends=('glibc') +depends=('iptables') options=(zipman) install=sshguard.install source=("http://downloads.sourceforge.net/sourceforge/sshguard/sshguard-$pkgver.tar.bz2" @@ -24,6 +24,15 @@ build() { cd $srcdir/$pkgname-$pkgver ./configure --prefix=/usr --with-firewall=iptables make +} + +check() { + cd $srcdir/$pkgname-$pkgver + strings src/sshguard | grep -E "^`which iptables`[[:space:]]" >/dev/null +} + +package() { + cd $srcdir/$pkgname-$pkgver make prefix=$pkgdir/usr install install -Dm0755 $srcdir/sshguard.rc $pkgdir/etc/rc.d/sshguard install -Dm0644 $srcdir/sshguard.conf.d $pkgdir/etc/conf.d/sshguard diff --git a/core/mdadm/PKGBUILD b/core/mdadm/PKGBUILD index 44d4c7c66..790e9f4d0 100644 --- a/core/mdadm/PKGBUILD +++ b/core/mdadm/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 134363 2011-08-03 06:56:40Z tpowa $ +# $Id: PKGBUILD 138138 2011-09-17 10:36:09Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Judd Vinet <jvinet@zeroflux.org> pkgname=mdadm pkgver=3.2.2 -pkgrel=3 +pkgrel=4 pkgdesc="A tool for managing/monitoring Linux md device arrays, also known as Software RAID" arch=(i686 x86_64) license=('GPL') @@ -17,6 +17,7 @@ source=(ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/mdadm-$pkgver.tar.bz2 mdadm.conf mdadm_install mdadm_hook + mdadm_udev_install disable-werror.patch linux-3.0.patch) install=mdadm.install @@ -24,8 +25,9 @@ replaces=('raidtools') md5sums=('12ee2fbf3beddb60601fb7a4c4905651' '6df172c8f77b280018cf87eb3d313f29' '00cbed931db4f15b6ce49e3e7d433966' - '4bb000166fb13e82ceaa2422fdfaac7e' - '36f7cc564ed3267888d90208e0eb7adc' + '9b01e96b6c3c218fb61628c9281fe688' + 'c8c0713f5c7da51822ee6f3911473a1c' + 'cd258e1bf430c02a25f40b4329df9f57' '4ad87b74a4bc9a34621280abe0e0c3e4' 'c499b3edbf2c400c8a1984e18c7ce7fa') @@ -33,16 +35,21 @@ build() { cd $srcdir/$pkgname-$pkgver patch -Np0 -i ../disable-werror.patch patch -Np1 -i ../linux-3.0.patch - make CXiFLAGS="$CFLAGS" + make CXFLAGS="$CFLAGS" + # build static mdassemble for Arch's initramfs + make MDASSEMBLE_AUTO=1 mdassemble + } package() { cd $srcdir/$pkgname-$pkgver make INSTALL=/bin/install DESTDIR=$pkgdir install + install -D -m755 mdassemble $pkgdir/sbin/mdassemble install -D -m644 ../mdadm.conf $pkgdir/etc/mdadm.conf install -D -m755 ../mdadm $pkgdir/etc/rc.d/mdadm install -D -m644 ../mdadm_install $pkgdir/lib/initcpio/install/mdadm install -D -m644 ../mdadm_hook $pkgdir/lib/initcpio/hooks/mdadm + install -D -m644 ../mdadm_udev_install $pkgdir/lib/initcpio/install/mdadm_udev # symlink for backward compatibility ln -sf /lib/initcpio/hooks/mdadm $pkgdir/lib/initcpio/hooks/raid } diff --git a/core/mdadm/mdadm_hook b/core/mdadm/mdadm_hook index 1d217a5a8..7b2dc1ad1 100755 --- a/core/mdadm/mdadm_hook +++ b/core/mdadm/mdadm_hook @@ -39,4 +39,6 @@ run_hook () esac done fi + # assemble everything + [ -e $mdconfig ] && /sbin/mdassemble } diff --git a/core/mdadm/mdadm_install b/core/mdadm/mdadm_install index f351cb292..b53258676 100644 --- a/core/mdadm/mdadm_install +++ b/core/mdadm/mdadm_install @@ -11,8 +11,7 @@ build() echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays." add_file "/etc/mdadm.conf" fi - add_binary "/sbin/mdadm" - add_file "/lib/udev/rules.d/64-md-raid.rules" + add_binary "/sbin/mdassemble" } help () diff --git a/core/mdadm/mdadm_udev_install b/core/mdadm/mdadm_udev_install new file mode 100644 index 000000000..9fc161624 --- /dev/null +++ b/core/mdadm/mdadm_udev_install @@ -0,0 +1,23 @@ +# vim: set ft=sh: + +build() +{ + MODULES=" $(checked_modules "drivers/md/*" | grep -v "dm-") " + BINARIES="" + FILES="" + SCRIPT="" + # check if a custom mdadm.conf exists + if grep -q ^ARRAY /etc/mdadm.conf; then + echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays." + add_file "/etc/mdadm.conf" + fi + add_binary "/sbin/mdadm" + add_file "/lib/udev/rules.d/64-md-raid.rules" +} + +help () +{ +cat<<HELPEOF + This hook loads raid arrays with udev. +HELPEOF +} diff --git a/extra/at/PKGBUILD b/extra/at/PKGBUILD index a5ddc81e5..0f6736512 100644 --- a/extra/at/PKGBUILD +++ b/extra/at/PKGBUILD @@ -1,30 +1,33 @@ -# $Id: PKGBUILD 67220 2010-02-04 22:36:24Z giovanni $ +# $Id: PKGBUILD 138170 2011-09-18 03:48:48Z eric $ # Maintainer: Judd Vinet <jvinet@zeroflux.org> # Contributor: Todd Musall <tmusall@comcast.net> pkgname=at -pkgver=3.1.12 +pkgver=3.1.13 pkgrel=1 -pkgdesc="AT and batch delayed command scheduling utility and daemon." +pkgdesc="AT and batch delayed command scheduling utility and daemon" arch=('i686' 'x86_64') -url="http://www.debian.org" +url="http://packages.qa.debian.org/a/at.html" license=('GPL') depends=('pam') makedepends=('ssmtp') backup=('etc/at.deny') source=(http://ftp.debian.org/debian/pool/main/a/at/at_${pkgver}.orig.tar.gz atd) -md5sums=('1e67991776148fb319fd77a2e599a765' +md5sums=('1da61af6c29e323abaaf13ee1a8dad79' '35574e34829e7df07a3269d4ab646a29') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr \ --mandir=/usr/share/man \ --with-jobdir=/var/spool/atd \ - --with-atspool=/var/spool/atd || return 1 - make || return 1 - make IROOT="${pkgdir}" docdir=/usr/share/doc install || return 1 - install -D -m755 ${srcdir}/atd "${pkgdir}/etc/rc.d/atd" || return 1 + --with-atspool=/var/spool/atd + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make IROOT="${pkgdir}" docdir=/usr/share/doc install + install -D -m755 "${srcdir}/atd" "${pkgdir}/etc/rc.d/atd" } diff --git a/extra/bigloo/PKGBUILD b/extra/bigloo/PKGBUILD index 079a142aa..912dbfb46 100644 --- a/extra/bigloo/PKGBUILD +++ b/extra/bigloo/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 110532 2011-02-19 18:50:57Z ibiru $ +# $Id: PKGBUILD 138164 2011-09-17 22:07:10Z andrea $ # Maintainer: Jürgen Hötzel <juergen@archlinux.org> # Contributor: John Proctor <jproctor@prium.net> # Contributor: Kevin Piche <kevin@archlinux.org> @@ -6,13 +6,13 @@ pkgname=bigloo _pkgver=3.6a pkgver=${_pkgver/-/_} -pkgrel=2 +pkgrel=3 pkgdesc="Fast scheme compiler" arch=('i686' 'x86_64') url="http://www-sop.inria.fr/mimosa/fp/Bigloo/" license=('GPL' 'LGPL') depends=('openssl' 'sqlite3') -makedepends=('jdk' 'emacs') +makedepends=('java-environment' 'emacs' 'zip') optdepends=('emacs') options=('!makeflags') install=bigloo.install @@ -29,7 +29,7 @@ build() { --infodir=/usr/share/info \ --docdir=/usr/share/doc/bigloo \ --dotnet=no \ - --javaprefix=/opt/java/bin + --jvm=yes make build compile-bee } diff --git a/extra/bigloo/bigloo.install b/extra/bigloo/bigloo.install index fd7a64edb..dd0d70421 100644 --- a/extra/bigloo/bigloo.install +++ b/extra/bigloo/bigloo.install @@ -1,4 +1,4 @@ -infodir=/usr/share/info +infodir=usr/share/info filelist=(bigloo.info bdb.info) post_install() { diff --git a/extra/i8kutils/PKGBUILD b/extra/i8kutils/PKGBUILD index 6c932a3a7..a1c7a6d7f 100644 --- a/extra/i8kutils/PKGBUILD +++ b/extra/i8kutils/PKGBUILD @@ -1,28 +1,28 @@ -# $Id: PKGBUILD 135896 2011-08-20 04:45:48Z eric $ +# $Id: PKGBUILD 138168 2011-09-18 03:14:27Z eric $ # Maintainer: Thayer Williams <thayer@archlinux.org> # Contributor: Eric Johnson <eric@coding-zone.com> pkgname=i8kutils pkgver=1.33 -pkgrel=1 +pkgrel=2 pkgdesc="Dell Inspiron/Latitude kernel driver and utilities" +arch=('i686' 'x86_64') url="http://people.debian.org/~dz/i8k/" license=('GPL2') -arch=('i686' 'x86_64') depends=('glibc') source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}_${pkgver}.tar.gz) md5sums=('1ab077b301dbb0f4be8ef52eb3b97628') build() { - cd $srcdir/$pkgname-$pkgver - make || return 1 + cd "$srcdir/$pkgname-$pkgver" + make +} - # no configure script, and Makefile has /usr hardcoded - install -D -m755 i8kctl $pkgdir/usr/bin/i8kctl || return 1 - install -D -m755 i8kbuttons $pkgdir/usr/bin/i8kbuttons || return 1 - install -D -m755 i8kbuttons $pkgdir/usr/bin/i8kbuttons || return 1 - install -D -m644 i8kbuttons.1 $pkgdir/usr/share/man/man1/i8kbuttons.1 || return 1 - install -D -m644 i8kctl.1 $pkgdir/usr/share/man/man1/i8kctl.1 || return 1 - ln -fs ./i8kctl $pkgdir/usr/bin/i8kfan || return 1 +package() { + cd "$srcdir/$pkgname-$pkgver" + install -D -m755 i8kctl "$pkgdir/usr/bin/i8kctl" + install -D -m755 i8kbuttons "$pkgdir/usr/bin/i8kbuttons" + install -D -m644 i8kbuttons.1 "$pkgdir/usr/share/man/man1/i8kbuttons.1" + install -D -m644 i8kctl.1 "$pkgdir/usr/share/man/man1/i8kctl.1" + ln -fs ./i8kctl "$pkgdir/usr/bin/i8kfan" } -# vim: ts=2 sw=2 et ft=sh diff --git a/extra/libssh/PKGBUILD b/extra/libssh/PKGBUILD index bdd4a274c..a2dc1bfcd 100644 --- a/extra/libssh/PKGBUILD +++ b/extra/libssh/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 135676 2011-08-17 07:52:28Z andrea $ +# $Id: PKGBUILD 138141 2011-09-17 12:41:18Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: ice-man <icemanf@gmail.com> # Contributor: sergeantspoon <sergeantspoon@archlinux.us> pkgname=libssh -pkgver=0.5.1 +pkgver=0.5.2 pkgrel=1 pkgdesc="Library for accessing ssh client services through C libraries" url="http://www.libssh.org/" @@ -12,8 +12,8 @@ license=('LGPL') arch=('i686' 'x86_64') depends=('openssl') makedepends=('cmake' 'doxygen') -source=("http://www.libssh.org/files/0.5/${pkgname}-${pkgver}.tar.gz") -md5sums=('0cd8bc9336398e23a76f4e25c1412eb4') +source=("https://red.libssh.org/attachments/download/27/${pkgname}-${pkgver}.tar.gz") +md5sums=('38b67c48af7a9204660a3e08f97ceba6') build() { cd "${srcdir}" diff --git a/extra/libwebkit/PKGBUILD b/extra/libwebkit/PKGBUILD index b7f825dd1..668d4d29a 100644 --- a/extra/libwebkit/PKGBUILD +++ b/extra/libwebkit/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 137537 2011-09-08 22:43:39Z andrea $ +# $Id: PKGBUILD 138139 2011-09-17 11:15:02Z foutrelis $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase=libwebkit -pkgname=(libwebkit libwebkit3) -pkgver=1.4.2 +pkgname=('libwebkit' 'libwebkit3') +pkgver=1.4.3 pkgrel=1 pkgdesc="An opensource web content engine" arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ makedepends=('gperf' 'gtk-doc' 'gobject-introspection' 'python2' 'gtk2' 'gtk3') options=('!libtool') install=libwebkit.install source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz) -md5sums=('361f8420e93d12101d650758fec09fa0') +md5sums=('86a4354e65853687bf942100763225bb') build() { cd "${srcdir}/webkit-${pkgver}" diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD index 7550063d1..09b6430e4 100644 --- a/extra/xorg-server/PKGBUILD +++ b/extra/xorg-server/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 134875 2011-08-08 08:40:10Z jgc $ +# $Id: PKGBUILD 138136 2011-09-17 08:05:32Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.10.3.901 +pkgver=1.10.4 pkgrel=1 arch=('i686' 'x86_64') license=('custom') @@ -18,7 +18,7 @@ source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 xvfb-run xvfb-run.1 10-quirks.conf) -sha1sums=('c7b0d4a29adf91baeae4783841303ccf8ba285e2' +sha1sums=('857d6377025c77851a3cc5f8ec2ce84164a2fdc6' '571f2925f2f3d1b5cdbb2e5a676205fcea256198' '629c6d8d52126eab81ee1b72a9e4209535f8cb81' '1b95e91384a57d966428c7db98ed06f4cc562f91' @@ -29,9 +29,6 @@ sha1sums=('c7b0d4a29adf91baeae4783841303ccf8ba285e2' build() { cd "${srcdir}/${pkgbase}-${pkgver}" - # Upstream post-release commit - patch -Np1 -i "${srcdir}/randr-compare-all-the-bytes-in-rrpostpendingproperties.patch" - # Add pointer barrier support, patch from Fedora patch -Np1 -i "${srcdir}/xserver-1.10-pointer-barriers.patch" diff --git a/gnome-unstable/glib-networking/PKGBUILD b/gnome-unstable/glib-networking/PKGBUILD index f52fc0f19..55fc0345a 100644 --- a/gnome-unstable/glib-networking/PKGBUILD +++ b/gnome-unstable/glib-networking/PKGBUILD @@ -1,21 +1,25 @@ -# $Id: PKGBUILD 136609 2011-08-30 18:09:26Z ibiru $ +# $Id: PKGBUILD 138135 2011-09-17 08:01:40Z heftig $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> + pkgname=glib-networking pkgver=2.29.18 -pkgrel=1 +pkgrel=2 pkgdesc="Network-related giomodules for glib" arch=('i686' 'x86_64') url="http://www.gtk.org/" license=('GPL2') depends=('glib2' 'libproxy' 'gnutls' 'libgcrypt' 'ca-certificates' 'gsettings-desktop-schemas') -makedepends=('intltool' 'namcap') +makedepends=('intltool') options=('!libtool') install=glib-networking.install -source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.xz) -sha256sums=('87d77d9bf184398cd8b7f709e6de42f11b2badf9df1bd96a9ab69c0c8a0766f0') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.xz + fix_G_TLS_ERROR_EOF_handling.patch) +sha256sums=('87d77d9bf184398cd8b7f709e6de42f11b2badf9df1bd96a9ab69c0c8a0766f0' + '286d64a121cb987866b51af70f55d47bafc5bf60e813aa1412dce51e426cc553') build() { cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -i "$srcdir/fix_G_TLS_ERROR_EOF_handling.patch" ./configure \ --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/glib-networking --disable-static diff --git a/gnome-unstable/glib-networking/fix_G_TLS_ERROR_EOF_handling.patch b/gnome-unstable/glib-networking/fix_G_TLS_ERROR_EOF_handling.patch new file mode 100644 index 000000000..c26f422aa --- /dev/null +++ b/gnome-unstable/glib-networking/fix_G_TLS_ERROR_EOF_handling.patch @@ -0,0 +1,73 @@ +From 9e2aaacafb45d51cff57dc033f4b5ad5bc1a1762 Mon Sep 17 00:00:00 2001 +From: Dan Winship <danw@gnome.org> +Date: Fri, 16 Sep 2011 15:29:29 +0000 +Subject: gnutls: fix G_TLS_ERROR_EOF handling with gnutls 3.0 + +gnutls 3.0 has a new error code for "peer closed connection without +sending a Close packet", so add some #ifdefs to do the right thing +with either 2.x or 3.x. + +https://bugzilla.gnome.org/show_bug.cgi?id=659233 +--- +diff --git a/tls/gnutls/gtlsconnection-gnutls.c b/tls/gnutls/gtlsconnection-gnutls.c +index c1ede79..0f792bb 100644 +--- a/tls/gnutls/gtlsconnection-gnutls.c ++++ b/tls/gnutls/gtlsconnection-gnutls.c +@@ -132,7 +132,10 @@ struct _GTlsConnectionGnutlsPrivate + + GError *error; + GCancellable *cancellable; +- gboolean blocking, eof; ++ gboolean blocking; ++#ifndef GNUTLS_E_PREMATURE_TERMINATION ++ gboolean eof; ++#endif + GIOCondition internal_direction; + }; + +@@ -548,19 +551,22 @@ end_gnutls_io (GTlsConnectionGnutls *gnutls, + gnutls->priv->need_handshake = TRUE; + return status; + } +- else if (status == GNUTLS_E_UNEXPECTED_PACKET_LENGTH) ++ else if ( ++#ifdef GNUTLS_E_PREMATURE_TERMINATION ++ status == GNUTLS_E_PREMATURE_TERMINATION ++#else ++ status == GNUTLS_E_UNEXPECTED_PACKET_LENGTH && gnutls->priv->eof ++#endif ++ ) + { +- if (gnutls->priv->eof) ++ if (gnutls->priv->require_close_notify) + { +- if (gnutls->priv->require_close_notify) +- { +- g_set_error_literal (error, G_TLS_ERROR, G_TLS_ERROR_EOF, +- _("TLS connection closed unexpectedly")); +- return status; +- } +- else +- return 0; ++ g_set_error_literal (error, G_TLS_ERROR, G_TLS_ERROR_EOF, ++ _("TLS connection closed unexpectedly")); ++ return status; + } ++ else ++ return 0; + } + + return status; +@@ -795,8 +801,10 @@ g_tls_connection_gnutls_pull_func (gnutls_transport_ptr_t transport_data, + + if (ret < 0) + set_gnutls_error (gnutls, G_IO_IN); ++#ifndef GNUTLS_E_PREMATURE_TERMINATION + else if (ret == 0) + gnutls->priv->eof = TRUE; ++#endif + + return ret; + } +-- +cgit v0.9.0.2 diff --git a/gnome-unstable/vala/PKGBUILD b/gnome-unstable/vala/PKGBUILD index 888b5cded..2e7c38cfa 100644 --- a/gnome-unstable/vala/PKGBUILD +++ b/gnome-unstable/vala/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 137439 2011-09-07 17:31:05Z ibiru $ +# $Id: PKGBUILD 138143 2011-09-17 17:00:45Z ibiru $ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Timm Preetz <timm@preetz.us> pkgname=vala -pkgver=0.13.4 +pkgver=0.14.0 pkgrel=1 pkgdesc="Compiler for the GObject type system" arch=('i686' 'x86_64') @@ -12,8 +12,8 @@ license=('LGPL') depends=('glib2') makedepends=('libxslt') options=('!libtool') -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.13/${pkgname}-${pkgver}.tar.xz) -sha256sums=('edf1b2927da96aabb2c4426145433765696f8520e7d4b682ee19487d1459c0a9') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.14/${pkgname}-${pkgver}.tar.xz) +sha256sums=('3830a30b54738ddfb29ab7819a4ac2370392f52fde090742a8a304fadaec747c') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/testing/bitlbee/PKGBUILD b/testing/bitlbee/PKGBUILD new file mode 100644 index 000000000..b42fb6f80 --- /dev/null +++ b/testing/bitlbee/PKGBUILD @@ -0,0 +1,52 @@ +# $Id: PKGBUILD 138148 2011-09-17 19:45:43Z bisson $ +# Contributor: FUBAR <mrfubar@gmail.com> +# Contributor: simo <simo@archlinux.org> +# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> +# Maintainer: Gaetan Bisson <bisson@archlinux.org> + +pkgname=bitlbee +pkgver=3.0.3 +pkgrel=4 +pkgdesc='Brings instant messaging (XMPP, MSN, Yahoo!, AIM, ICQ, Twitter) to IRC' +arch=('i686' 'x86_64') +url='http://www.bitlbee.org/' +license=('GPL') +depends=('openssl' 'glib2' 'libotr') +optdepends=('xinetd: to run bitlbee through xinetd') +source=("http://get.bitlbee.org/src/${pkgname}-${pkgver}.tar.gz" + 'xinetd' + 'rc.d') +sha1sums=('4140eb7aaa2c6a39fa059d19f8fbaec0d7a1ebff' + '5e0af27ba9cc4fe455e3381c75fc49a9326e2f17' + 'be09d29af3853825778331df451f16ca9e452d03') + +backup=('etc/bitlbee/bitlbee.conf' 'etc/bitlbee/motd.txt' 'etc/xinetd.d/bitlbee') +install=install + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr \ + --etcdir=/etc/bitlbee \ + --pidfile=/var/run/bitlbee/bitlbee.pid \ + --ipcsocket=/var/run/bitlbee/bitlbee.sock \ + --systemdsystemunitdir=/lib/systemd/system \ + --ssl=openssl \ + --strip=0 \ + --otr=1 \ + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + install -o65 -g65 -dm770 "${pkgdir}"/var/lib/bitlbee + install -Dm644 "${srcdir}"/xinetd "${pkgdir}"/etc/xinetd.d/bitlbee + install -Dm755 "${srcdir}"/rc.d "${pkgdir}"/etc/rc.d/bitlbee + + make DESTDIR="${pkgdir}" install + make DESTDIR="${pkgdir}" install-etc + make DESTDIR="${pkgdir}" install-dev +} diff --git a/testing/bitlbee/install b/testing/bitlbee/install new file mode 100644 index 000000000..0e1caa93f --- /dev/null +++ b/testing/bitlbee/install @@ -0,0 +1,14 @@ +post_install() { + echo '==> Bitlbee can run through xinetd or as a daemon for now.' + getent group bitlbee &>/dev/null || groupadd -r -g 65 bitlbee >/dev/null + getent passwd bitlbee &>/dev/null || useradd -r -u 65 -g bitlbee -d /var/lib/bitlbee -s /bin/false -c bitlbee bitlbee >/dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + getent passwd bitlbee &>/dev/null && userdel bitlbee >/dev/null + getent group bitlbee &>/dev/null && groupdel bitlbee >/dev/null +} diff --git a/testing/bitlbee/rc.d b/testing/bitlbee/rc.d new file mode 100644 index 000000000..bd9248173 --- /dev/null +++ b/testing/bitlbee/rc.d @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +name=bitlbee +PID=$(pidof -o %PPID /usr/sbin/bitlbee) +install -o bitlbee -g bitlbee -d -m 755 /var/run/bitlbee + +case "$1" in +start) + stat_busy "Starting $name daemon" + [[ -z "$PID" ]] && { + rm -f /var/run/bitlbee/bitlbee.pid + su -s /bin/sh -c '/usr/sbin/bitlbee -F' bitlbee + } && { + add_daemon $name + stat_done + } || { stat_fail; exit 1; } + ;; +stop) + stat_busy "Stopping $name daemon" + [[ -n "$PID" ]] && { + kill $PID &>/dev/null + } && { + rm -f /var/run/bitlbee/bitlbee.pid + rm_daemon $name + stat_done + } || { stat_fail; exit 1; } + ;; +restart) + $0 stop + sleep 3 + $0 start + ;; +*) + echo "usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/testing/bitlbee/xinetd b/testing/bitlbee/xinetd new file mode 100644 index 000000000..d671a8cfc --- /dev/null +++ b/testing/bitlbee/xinetd @@ -0,0 +1,12 @@ +service bitlbee +{ + type = UNLISTED + socket_type = stream + protocol = tcp + wait = no + user = bitlbee + group = bitlbee + server = /usr/sbin/bitlbee + port = 6667 + disable = yes +} diff --git a/testing/blender/PKGBUILD b/testing/blender/PKGBUILD new file mode 100644 index 000000000..ae34b1595 --- /dev/null +++ b/testing/blender/PKGBUILD @@ -0,0 +1,92 @@ +# $Id: PKGBUILD 138152 2011-09-17 21:02:40Z stephane $ +# Contributor: John Sowiak <john@archlinux.org> +# Maintainer: tobias <tobias@archlinux.org> + +# Apparently, the blender guys refuse to release source tarballs for +# intermediate releases that deal mainly with binaries but incorporate tiny +# minor changes from svn. Since I'm sick and tired of the urges of users that +# look for release numbers only, we make a messy PKGBUILD that can checkout svn +# release if necessary. + +#_svn=true +_svn=false + +pkgname=blender +pkgver=2.59 +pkgrel=3 +epoch=2 +pkgdesc="A fully integrated 3D graphics creation suite" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.blender.org" +depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' \ + 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' \ + 'freetype2' 'openal' 'libsamplerate' 'ffmpeg') +makedepends=('cmake') # 'subversion' +install=blender.install +if [ $_svn = false ]; then + source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz) + md5sums=('6f68fe3c3c2b6a85f1ba9ebc5b1155fe') +else + source=(ftp://ftp.archlinux.org/other/${pkgname}/$pkgname-$pkgver.tar.xz) + md5sums=('7579d1139d0d6025df8afcfca64a65c4') +fi + +# source PKGBUILD && mksource +mksource() { + _svnver=38016 + _svntrunk="https://svn.blender.org/svnroot/bf-blender/trunk/blender" + _svnmod="$pkgname-$pkgver" + mkdir ${pkgname}-$pkgver + pushd ${pkgname}-$pkgver + svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod + find . -depth -type d -name .svn -exec rm -rf {} \; + tar -cJf ../${pkgname}-$pkgver.tar.xz ${pkgname}-$pkgver/* + popd +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + mkdir build + cd build + + [[ $CARCH == i686 ]] && ENABLESSE2="-DSUPPORT_SSE2_BUILD:BOOL=OFF" + + cmake .. \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DWITH_INSTALL_PORTABLE:BOOL=OFF \ + -DWITH_PYTHON_INSTALL:BOOL=OFF \ + -DWITH_OPENCOLLADA:BOOL=OFF \ + -DWITH_GAMEENGINE:BOOL=ON \ + -DWITH_PLAYER:BOOL=ON \ + -DWITH_BUILTIN_GLEW:BOOL=OFF \ + -DWITH_CODEC_FFMPEG:BOOL=ON \ + -DWITH_CODEC_SNDFILE:BOOL=ON \ + -DPYTHON_VERSION:STRING=3.2 \ + -DPYTHON_LIBPATH:STRING=/usr/lib \ + -DPYTHON_LIBRARY:STRING=python3.2mu \ + -DPYTHON_INCLUDE_DIRS:STRING=/usr/include/python3.2mu \ + $ENABLESSE2 + + make $MAKEFLAGS + + cp -rf "$srcdir"/${pkgname}-$pkgver/release/plugins/* \ + "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/ + cd "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi + chmod 755 bmake + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver/build" + make DESTDIR="${pkgdir}" install + python -m compileall "${pkgdir}/usr/share/blender" + +# install plugins + install -d -m755 "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture} + cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/sequence/*.so \ + "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/ + cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/texture/*.so \ + "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/ +} diff --git a/testing/blender/blender.install b/testing/blender/blender.install new file mode 100644 index 000000000..f4d7cc443 --- /dev/null +++ b/testing/blender/blender.install @@ -0,0 +1,17 @@ +post_install() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_remove() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} diff --git a/testing/bzflag/PKGBUILD b/testing/bzflag/PKGBUILD new file mode 100644 index 000000000..2b661fdd9 --- /dev/null +++ b/testing/bzflag/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 138154 2011-09-17 21:02:42Z stephane $ +# Contributor: Damir Perisa <damir.perisa@bluewin.ch> +# Contributor: Kevin Piche <kevin@archlinux.org> +# Maintainer: Gaetan Bisson <bisson@archlinux.org> + +pkgname=bzflag +pkgver=2.4.0 +pkgrel=2 +pkgdesc='Multiplayer 3D tank battle game' +url='http://bzflag.org/' +license=('LGPL') +options=('!libtool') +arch=('i686' 'x86_64') +depends=('curl' 'glew' 'mesa' 'sdl') +source=("http://downloads.sourceforge.net/project/bzflag/bzflag%20source/${pkgver}/bzflag-${pkgver}.tar.bz2") +sha1sums=('af469d63af7143479176ea0ac91ce2eaa6e4561f') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr + make + + cd misc + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + install -Dm644 misc/bzflag.desktop "${pkgdir}"/usr/share/applications/bzflag.desktop + install -Dm644 data/bzflag-48x48.png "${pkgdir}"/usr/share/pixmaps/bzflag-48x48.png +} diff --git a/testing/enblend-enfuse/PKGBUILD b/testing/enblend-enfuse/PKGBUILD new file mode 100644 index 000000000..1d8ec216c --- /dev/null +++ b/testing/enblend-enfuse/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 138156 2011-09-17 21:02:44Z stephane $ +# Maintainer: tobias <tobias@archlinux.org> +# Contributor: Dominik Ryba <domryba@post.pl> + +pkgname=enblend-enfuse +pkgver=4.0 +pkgrel=3 +pkgdesc="intelligent blend tool for overlapping picture" +arch=("i686" "x86_64") +license=('GPL') +url="http://enblend.sourceforge.net" +depends=('openexr' 'glew>=1.5' 'libxmi' 'freeglut' 'libgl' 'lcms' 'texinfo' 'libpng') +makedepends=('boost' 'pkgconfig') +replaces=('enblend') +conflicts=('enblend') +provides=('enblend') +install=${pkgname}.install +source=(http://downloads.sourceforge.net/sourceforge/enblend/${pkgname}-${pkgver}.tar.gz libpng-1.4.patch) +md5sums=('2e7c950061e0085fd75d94576130250f' 'a39df8dd32ccfa020dea2ea388642575') +sha1sums=('34c3a5ce11c6ef0ef520d8a15a3cb6a94a567033' 'eae6cf48ea082865130302d0b4d1ca0b884a563b') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}-753b534c819d" + patch -Np1 -i ../libpng-1.4.patch + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}-753b534c819d" + make DESTDIR="${pkgdir}" install + install -D -m644 doc/enblend.info "${pkgdir}/usr/share/info/enblend.info" + install -D -m644 doc/enfuse.info "${pkgdir}/usr/share/info/enfuse.info" +} diff --git a/testing/enblend-enfuse/enblend-enfuse.install b/testing/enblend-enfuse/enblend-enfuse.install new file mode 100644 index 000000000..0ba358878 --- /dev/null +++ b/testing/enblend-enfuse/enblend-enfuse.install @@ -0,0 +1,20 @@ +infodir=/usr/share/info +filelist=(enblend.info enfuse-focus-stacking.info enfuse.info) + +post_install() { + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/enblend-enfuse/libpng-1.4.patch b/testing/enblend-enfuse/libpng-1.4.patch new file mode 100644 index 000000000..3bf852b58 --- /dev/null +++ b/testing/enblend-enfuse/libpng-1.4.patch @@ -0,0 +1,14 @@ +diff -Naur enblend-enfuse-3.2-orig/src/vigra_impex/png.cxx enblend-enfuse-3.2/src/vigra_impex/png.cxx +--- enblend-enfuse-3.2-orig/src/vigra_impex/png.cxx 2010-01-19 22:09:36.000000000 -0500 ++++ enblend-enfuse-3.2/src/vigra_impex/png.cxx 2010-01-19 22:13:43.000000000 -0500 +@@ -275,8 +275,8 @@ + // expand gray values to at least one byte size + if ( color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8 ) { + if (setjmp(png->jmpbuf)) +- vigra_postcondition( false,png_error_message.insert(0, "error in png_set_gray_1_2_4_to_8(): ").c_str()); +- png_set_gray_1_2_4_to_8(png); ++ vigra_postcondition( false,png_error_message.insert(0, "error in png_set_expand_gray_1_2_4_to_8(): ").c_str()); ++ png_set_expand_gray_1_2_4_to_8(png); + bit_depth = 8; + } + diff --git a/testing/glew/PKGBUILD b/testing/glew/PKGBUILD new file mode 100644 index 000000000..01b62ae91 --- /dev/null +++ b/testing/glew/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 138158 2011-09-17 21:02:46Z stephane $ +# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# Contributor: SleepyDog + +pkgname=glew +pkgver=1.7.0 +pkgrel=1 +pkgdesc="The OpenGL Extension Wrangler Library" +arch=('i686' 'x86_64') +url="http://glew.sourceforge.net" +license=('BSD' 'MIT' 'GPL') +depends=('libxmu' 'libxi' 'mesa') +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tgz) +sha1sums=('9266f2360c1687a96f2ea06419671d370b2928d1') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + sed -i 's|lib64|lib|' config/Makefile.linux + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make GLEW_DEST="${pkgdir}/usr" install.all + install -D -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + + rm "${pkgdir}"/usr/lib/{libGLEW,libGLEWmx}.a + chmod 0755 "${pkgdir}"/usr/lib/libGLEW*.so.${pkgver} +} diff --git a/testing/hugin/PKGBUILD b/testing/hugin/PKGBUILD new file mode 100644 index 000000000..323525123 --- /dev/null +++ b/testing/hugin/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 138160 2011-09-17 21:02:50Z stephane $ +# Maintainer: Tobias Kieslich <tobias@archlinux.org> +# Contributor: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Dominik Ryba <domryba@post.pl> + +pkgname=hugin +pkgver=2011.0.0 +pkgrel=3 +pkgdesc="A frontend to the panorama-tools" +arch=('i686' 'x86_64') +url="http://hugin.sourceforge.net/" +license=('LGPL') +depends=('wxgtk' 'libpano13' 'boost-libs' 'enblend-enfuse' 'exiv2' 'openexr' + 'autopano-sift-c' 'lapack' 'desktop-file-utils' 'make' 'perl-exiftool') +makedepends=('zip' 'cmake' 'boost') +install=hugin.install +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2) +md5sums=('ac8a129b4c3021233df6d9368c8164cf') +sha1sums=('22e1ad3846291a9bbe58570683e213921a6f0116') + +build() { + cd "${srcdir}" + mkdir build && cd build + cmake "${srcdir}/${pkgname}-${pkgver}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_EXE_LINKER_FLAGS="-lpthread" \ + -DENABLE_LAPACK=yes + make +} + +package(){ + cd "${srcdir}/build" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/hugin/hugin.install b/testing/hugin/hugin.install new file mode 100644 index 000000000..362749233 --- /dev/null +++ b/testing/hugin/hugin.install @@ -0,0 +1,15 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/gnome + update-desktop-database -q + update-mime-database usr/share/mime > /dev/null +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/gnome + update-desktop-database -q + update-mime-database usr/share/mime > /dev/null +} diff --git a/testing/koffice/PKGBUILD b/testing/koffice/PKGBUILD new file mode 100644 index 000000000..0d1e3e5c5 --- /dev/null +++ b/testing/koffice/PKGBUILD @@ -0,0 +1,301 @@ +# $Id: PKGBUILD 138162 2011-09-17 21:02:54Z stephane $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com > + +pkgbase=koffice +pkgname=( + 'koffice-filters' + 'koffice-interfaces' + 'koffice-libs' + 'koffice-plugins' + 'koffice-pics' + 'koffice-servicetypes' + 'koffice-templates' + 'koffice-tools' + 'koffice-karbon' + 'koffice-karbon-doc' +# 'koffice-kchart' +# 'koffice-kchart-doc' + 'koffice-kexi' + 'koffice-kexi-doc' + 'koffice-kformula' + 'koffice-kformula-doc' + 'koffice-kounavail' + 'koffice-kplato' +# 'koffice-kplato-doc' + 'koffice-kpresenter' + 'koffice-kpresenter-doc' + 'koffice-krita' +# 'koffice-krita-doc' # no krita-doc anymore upstream + 'koffice-kspread' + 'koffice-kspread-doc' + 'koffice-kword' +# 'koffice-kword-doc' # see http://userbase.kde.org/KWord/Manual for documentation (not supplied by upstream anymore in the sources) + 'koffice-handbook' + 'koffice-thesaurus-doc' +# 'koffice-kdgantt' # still an empty package +) +pkgver=2.3.3 +pkgrel=7 +arch=('i686' 'x86_64') +url='http://koffice.kde.org' +license=('GPL' 'LGPL' 'FDL') +makedepends=('pkg-config' 'cmake' 'automoc4' 'boost' 'eigen' 'gsl' 'lcms' + 'glew' 'qimageblitz' 'kdepimlibs' 'pstoedit' 'poppler-qt' 'libwpd' + 'libwpg' 'opengtl' 'libkdcraw') +groups=('koffice') +source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2" + 'kde4-koffice-libwpg02.patch' 'gcc46.patch') +sha256sums=('31ba0d98c0d29c7b8ab97efdeb6c618b82177b2b0ec85da088178254da43c099' + '69106deb4081d71b5bd8f2e4f5af67ca689e4ce9f2bb49c11dbce5fb3409d612' + 'e095c0b2bbedf41da6535a68b2275464dafd3f194566028d0135322f596e4739') + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + patch -p1 -i "${srcdir}/kde4-koffice-libwpg02.patch" + patch -p1 -i "${srcdir}"/gcc46.patch + + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +##### 1st package common files, depends, optdepends of the koffice applications ##### + +package_koffice-filters(){ + pkgdesc="Filters for the KDE office suite" + optdepends=('libgsf: Microsoft Word document importer' 'libwpd: WordPerfect document importer' + 'libwpg: Corel WordPerfect Graphics image importer' 'pstoedit: Karbon EPS import filter' + 'libkdcraw: support for raw images') + install=filters.install + cd "${srcdir}/build/filters" + make DESTDIR="${pkgdir}" install +} + +package_koffice-interfaces(){ + pkgdesc="Interfaces for the KDE office suite" + depends=('kdelibs' 'koffice-libs') + cd "${srcdir}/build/interfaces" + make DESTDIR="${pkgdir}" install +} + +package_koffice-libs(){ + pkgdesc="Libs for the KDE office suite" + depends=('kdepimlibs' 'qca' 'lcms' 'koffice-servicetypes') + cd "${srcdir}/build/libs" + make DESTDIR="${pkgdir}" install +} + +package_koffice-plugins(){ + pkgdesc="Plugins for the KDE office suite" + depends=('koffice-libs') + replaces=('koffice-kchart') + conflicts=('koffice-kchart') + cd "${srcdir}/build/plugins" + make DESTDIR="${pkgdir}" install +} + +package_koffice-pics(){ + pkgdesc="Icons for the KDE office suite" + install=koffice.install + cd "${srcdir}/build/pics" + make DESTDIR="${pkgdir}" install +} + +package_koffice-servicetypes(){ + pkgdesc="Servicetypes for the KDE office suite" + cd "${srcdir}/build/servicetypes" + make DESTDIR="${pkgdir}" install +} + +package_koffice-templates(){ + pkgdesc="Templates for the KDE office suite" + cd "${srcdir}/build/templates" + make DESTDIR="${pkgdir}" install +} + +package_koffice-tools(){ + pkgdesc="Tools for the KDE office suite" + depends=('koffice-libs') + cd "${srcdir}/build/tools" + make DESTDIR="${pkgdir}" install +} + +#### package common files done ##### + +#### package apps and their docs ##### + +package_koffice-karbon(){ + pkgdesc="Vector drawing application for KDE" + depends=('hicolor-icon-theme' 'koffice-libs' 'koffice-templates') + optdepends=('koffice-filters: import/export filters') + install=koffice.install + cd "${srcdir}/build/karbon" + make DESTDIR="${pkgdir}" install +} + +package_koffice-karbon-doc(){ + pkgdesc="Documentation for karbon" + cd "${srcdir}/build/doc/karbon" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kexi(){ + pkgdesc="Integrated data management application for the KDE office suite" + depends=('kdelibs' 'koffice-libs' 'koffice-kspread' 'sqlite3') + cd "${srcdir}/build/kexi" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kexi-doc(){ + pkgdesc="Documentation for kexi" + cd "${srcdir}/build/doc/kexi" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kformula(){ + pkgdesc="Formula editor for the KDE office suite" + depends=('kdelibs' 'koffice-libs') + cd "${srcdir}/build/kformula" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kformula-doc() { + pkgdesc="Documentation for koffice-kformula" + cd "${srcdir}/build/doc/kformula" + make DESTDIR="${pkgdir}" install +} + + +package_koffice-kounavail(){ + pkgdesc="Kounavail for the KDE office suite" + depends=('kdelibs' 'koffice-libs') + cd "${srcdir}/build/kounavail" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kplato(){ + pkgdesc="Project management application for KDE" + depends=('hicolor-icon-theme' 'koffice-libs' 'kdepimlibs' 'koffice-templates' \ + 'koffice-plugins' 'koffice-kword') + install=koffice.install + cd "${srcdir}/build/kplato" + make DESTDIR="${pkgdir}" install +} + +#package_koffice-kplato-doc(){ +# pkgdesc="Documentation for kplato" +# cd ${srcdir}/build/doc/kplato +# make DESTDIR="${pkgdir}" install +#} + +package_koffice-kpresenter(){ + pkgdesc="Presentation tool for KDE" + depends=('hicolor-icon-theme' 'koffice-libs' 'koffice-templates') + optdepends=('koffice-filters: import/export filters') + install=koffice.install + cd "${srcdir}/build/kpresenter" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kpresenter-doc(){ + pkgdesc="Documentation for kpresenter" + cd "${srcdir}/build/doc/kpresenter" + make DESTDIR="${pkgdir}" install +} + +package_koffice-krita(){ + pkgdesc="Graphics editor for KDE" + depends=('hicolor-icon-theme' 'glew' 'qimageblitz' 'koffice-libs' \ + 'koffice-templates' 'koffice-plugins' 'poppler-qt' 'shared-mime-info' \ + 'openexr' 'opengtl') + optdepends=('koffice-filters: import/export filters') + install=krita.install + cd "${srcdir}/build/krita" + make DESTDIR="${pkgdir}" install +} + +#package_koffice-krita-doc(){ +# pkgdesc="Documentation for krita" +# cd ${srcdir}/build/doc/krita +# make DESTDIR="${pkgdir}" install +#} + + +package_koffice-kspread(){ + pkgdesc="Spreadsheet application for KDE" + depends=('hicolor-icon-theme' 'gsl' 'koffice-libs' 'koffice-templates' 'koffice-plugins') + optdepends=('koffice-filters: import/export filters') + install=koffice.install + cd "${srcdir}/build/kspread" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kspread-doc(){ + pkgdesc="Documentation for kspread" + cd "${srcdir}/build/doc/kspread" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kword(){ + pkgdesc="Wordprocessor for KDE" + depends=('hicolor-icon-theme' 'koffice-libs' 'koffice-templates' 'koffice-pics' \ + 'koffice-kounavail' 'koffice-plugins') + optdepends=('koffice-filters: import/export filters') + install=koffice.install + cd "${srcdir}/build/kword" + make DESTDIR="${pkgdir}" install + + # some sed lines to have python2 in extension scripts + sed -i "s|/usr/bin/env python|/usr/bin/env python2|" "${pkgdir}/usr/share/apps/kword/scripts/extensions/oouno.py" + sed -i "s|/usr/bin/env python|/usr/bin/env python2|" "${pkgdir}/usr/share/apps/kword/scripts/extensions/importdoxyxml.py" + sed -i "s|/usr/bin/env python|/usr/bin/env python2|" "${pkgdir}/usr/share/apps/kword/scripts/extensions/onlinehelp.py" +} + +#package_koffice-kword-doc(){ +# pkgdesc="Documentation for kword" +# cd ${srcdir}/build/doc/kword +# make DESTDIR="${pkgdir}" install +#} + +##### package apps done ##### + +#package_koffice-kchart(){ +# pkgdesc="Charting tool for KDE" +# depends=('hicolor-icon-theme' 'koffice-interfaces' 'koffice-templates') +# optdepends=('koffice-filters: import/export filters') +# install=koffice.install +# cd "${srcdir}/build/kchart" +# make DESTDIR="${pkgdir}" install +#} + +#package_koffice-kchart-doc(){ +# pkgdesc="Documentation for kchart" +# cd "${srcdir}/build/doc/kchart" +# make DESTDIR="${pkgdir}" install +#} + +#package_koffice-kdgantt(){ +# pkgdesc="Gantt for KDE" +# cd "${srcdir}/build/kdgantt" +# make DESTDIR="${pkgdir}" install +#} + +package_koffice-handbook() { + pkgdesc="Documentation for koffice" + cd "${srcdir}/build/doc/koffice" + make DESTDIR="${pkgdir}" install +} + +package_koffice-thesaurus-doc(){ + pkgdesc="Documentation for koffice-thesaurus" + cd "${srcdir}/build/doc/thesaurus" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/koffice/filters.install b/testing/koffice/filters.install new file mode 100644 index 000000000..7c8a8bd2b --- /dev/null +++ b/testing/koffice/filters.install @@ -0,0 +1,11 @@ +post_install() { + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/koffice/gcc46.patch b/testing/koffice/gcc46.patch new file mode 100644 index 000000000..dcf8a4f85 --- /dev/null +++ b/testing/koffice/gcc46.patch @@ -0,0 +1,23 @@ +diff -up koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc.gcc46 koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc +--- koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc.gcc46 2011-02-17 06:13:40.000000000 -0600 ++++ koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc 2011-02-19 21:15:56.597142885 -0600 +@@ -80,6 +80,9 @@ ImageType imfTypeToKisType(Imf::PixelTyp + return IT_FLOAT16; + case Imf::FLOAT: + return IT_FLOAT32; ++ default: ++ // shouldn't reach here ++ return IT_UNSUPPORTED; + } + } + +@@ -93,6 +96,9 @@ const KoColorSpace* kisTypeToColorSpace( + case IT_UNKNOWN: + case IT_UNSUPPORTED: + return 0; ++ default: ++ // shouldn't reach here ++ return 0; + } + } + diff --git a/testing/koffice/kde4-koffice-libwpg02.patch b/testing/koffice/kde4-koffice-libwpg02.patch new file mode 100644 index 000000000..e2a55a216 --- /dev/null +++ b/testing/koffice/kde4-koffice-libwpg02.patch @@ -0,0 +1,1323 @@ +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/CMakeLists.txt koffice-2.3.1-libwpg02/filters/karbon/wpg/import/CMakeLists.txt +--- koffice-2.3.1/filters/karbon/wpg/import/CMakeLists.txt 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/CMakeLists.txt 2011-01-18 07:40:25.000000000 +0100 +@@ -1,16 +1,11 @@ + +- + include_directories(${CMAKE_BINARY_DIR}/filters/ ${WPD_INCLUDE_DIR} ${LIBWPG_INCLUDE_DIR}/) + +-set(wpgimport_PART_SRCS +-WPGImport.cpp +-OdgExporter.cxx +-FileOutputHandler.cxx +-GraphicsElement.cxx) ++set(wpgimport_PART_SRCS WPGImport.cpp) + + kde4_add_plugin(wpgimport ${wpgimport_PART_SRCS}) + +-target_link_libraries(wpgimport komain ${LIBWPG_LIBRARIES} ${LIBWPG_STREAM_LIBRARIES}) ++target_link_libraries(wpgimport komain ${LIBWPG_LIBRARIES} ${LIBWPG_STREAM_LIBRARIES} ${WPD_LIBRARIES}) + + install(TARGETS wpgimport DESTINATION ${PLUGIN_INSTALL_DIR}) + install(FILES karbon_wpg_import.desktop DESTINATION ${SERVICES_INSTALL_DIR}) +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.cxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.cxx +--- koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.cxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.cxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,95 +0,0 @@ +-/* libwpg +- * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Library General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#include "FileOutputHandler.hxx" +- +-FileOutputHandler::FileOutputHandler(std::ostringstream &contentStream) : +- mbIsTagOpened(false), +- mContentStream(contentStream) +-{ +-} +- +-void FileOutputHandler::startDocument() +-{ +-} +- +-void FileOutputHandler::startElement(const char *psName, const std::vector<std::pair<std::string, std::string> > &xPropList) +-{ +- if (mbIsTagOpened) +- { +- mContentStream << ">"; +- mbIsTagOpened = false; +- } +- mContentStream << "<" << psName; +- +- for (std::vector<std::pair<std::string, std::string> >::const_iterator i = xPropList.begin(); i != xPropList.end(); i++) +- { +- mContentStream << " " << (*i).first.c_str() << "=\"" << (*i).second.c_str() << "\""; +- } +- mbIsTagOpened = true; +- msOpenedTagName = psName; +-} +- +-void FileOutputHandler::endElement(const char *psName) +-{ +- if (mbIsTagOpened) +- { +- if( msOpenedTagName == psName ) +- { +- mContentStream << "/>"; +- mbIsTagOpened = false; +- } +- else // should not happen, but handle it +- { +- mContentStream << ">"; +- mContentStream << "</" << psName << ">"; +- mbIsTagOpened = false; +- } +- } +- else +- { +- mContentStream << "</" << psName << ">"; +- mbIsTagOpened = false; +- } +-} +- +-void FileOutputHandler::characters(const std::string &sCharacters) +-{ +- if (mbIsTagOpened) +- { +- mContentStream << ">"; +- mbIsTagOpened = false; +- } +- mContentStream << sCharacters.c_str(); +-} +- +-void FileOutputHandler::endDocument() +-{ +- if (mbIsTagOpened) +- { +- mContentStream << ">"; +- mbIsTagOpened = false; +- } +-} +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.hxx +--- koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.hxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.hxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,49 +0,0 @@ +-/* libwpg +- * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Library General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#ifndef FILEOUTPUTHANDLER_H +-#define FILEOUTPUTHANDLER_H +- +-#include <iostream> +-#include <sstream> +-#include <string> +-#include "GraphicsHandler.hxx" +- +-class FileOutputHandler : public GraphicsHandler +-{ +- public: +- explicit FileOutputHandler(std::ostringstream &contentStream); +- virtual void startDocument(); +- virtual void endDocument(); +- virtual void startElement(const char *psName, const std::vector<std::pair<std::string, std::string> > &xPropList); +- virtual void endElement(const char *psName); +- virtual void characters(const std::string &sCharacters); +- +- private: +- bool mbIsTagOpened; +- std::string msOpenedTagName; +- std::ostringstream &mContentStream; +-}; +-#endif +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.cxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.cxx +--- koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.cxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.cxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,66 +0,0 @@ +-/* GraphicsElement: The items we are collecting to be put into the Writer +- * document: paragraph and spans of text, as well as section breaks. +- * +- * Copyright (C) 2002-2003 William Lachance (william.lachance@sympatico.ca) +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- * +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#include "GraphicsElement.hxx" +-#include "GraphicsHandler.hxx" +-#include <string.h> +- +-#define ASCII_SPACE 0x0020 +- +-void TagGraphicsElement::print() const +-{ +-} +- +-void OpenTagGraphicsElement::write(GraphicsHandler *pHandler) const +-{ +- pHandler->startElement(getTagName().c_str(), maAttrList); +-} +- +-void OpenTagGraphicsElement::print() const +-{ +- TagGraphicsElement::print(); +-} +- +-void OpenTagGraphicsElement::addAttribute(const std::string &szAttributeName, const std::string &sAttributeValue) +-{ +- std::pair<std::string, std::string> tmpAttribute; +- tmpAttribute.first = szAttributeName; +- tmpAttribute.second = sAttributeValue; +- maAttrList.push_back(tmpAttribute); +-} +- +-void CloseTagGraphicsElement::write(GraphicsHandler *pHandler) const +-{ +- +- pHandler->endElement(getTagName().c_str()); +-} +- +-void CharDataGraphicsElement::write(GraphicsHandler *pHandler) const +-{ +- pHandler->characters(msData); +-} +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.hxx +--- koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.hxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.hxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,84 +0,0 @@ +-/* GraphicsElement: The items we are collecting to be put into the Writer +- * document: paragraph and spans of text, as well as section breaks. +- * +- * Copyright (C) 2002-2003 William Lachance (william.lachance@sympatico.ca) +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpd.sourceforge.net +- * +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#ifndef _GRAPHICSELEMENT_H +-#define _GRAPHICSELEMENT_H +-#include <string> +-#include <map> +-#include <vector> +- +-#include "GraphicsHandler.hxx" +- +-class GraphicsElement +-{ +-public: +- virtual ~GraphicsElement() {} +- virtual void write(GraphicsHandler *pHandler) const = 0; +- virtual void print() const {} +-}; +- +-class TagGraphicsElement : public GraphicsElement +-{ +-public: +- explicit TagGraphicsElement(const char *szTagName) : msTagName(szTagName) {} +- const std::string &getTagName() const { return msTagName; } +- virtual void print() const; +-private: +- const std::string msTagName; +-}; +- +-class OpenTagGraphicsElement : public TagGraphicsElement +-{ +-public: +- explicit OpenTagGraphicsElement(const char *szTagName) : TagGraphicsElement(szTagName) {} +- ~OpenTagGraphicsElement() {} +- void addAttribute(const std::string &szAttributeName, const std::string &sAttributeValue); +- virtual void write(GraphicsHandler *pHandler) const; +- virtual void print () const; +-private: +- std::vector<std::pair<std::string, std::string> > maAttrList; +-}; +- +-class CloseTagGraphicsElement : public TagGraphicsElement +-{ +-public: +- explicit CloseTagGraphicsElement(const char *szTagName) : TagGraphicsElement(szTagName) {} +- virtual void write(GraphicsHandler *pHandler) const; +-}; +- +-class CharDataGraphicsElement : public GraphicsElement +-{ +-public: +- CharDataGraphicsElement(const char *sData) : GraphicsElement(), msData(sData) {} +- virtual void write(GraphicsHandler *pHandler) const; +-private: +- std::string msData; +-}; +- +- +-#endif +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/GraphicsHandler.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsHandler.hxx +--- koffice-2.3.1/filters/karbon/wpg/import/GraphicsHandler.hxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsHandler.hxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,43 +0,0 @@ +-/* +- * Copyright (C) 2004 William Lachance (wlach@interlog.com) +- * Copyright (C) 2004 Net Integration Technologies (http://www.net-itech.com) +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License +- * as published by the Free Software Foundation; either version 2 +- * of the License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * Contributor(s): Martin Gallwey (gallwey@sun.com) +- * +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +-#ifndef _GRAPHICSHANDLER_H +-#define _GRAPHICSHANDLER_H +-#include <string> +-#include <map> +-#include <vector> +- +-class GraphicsHandler +-{ +-public: +- virtual ~GraphicsHandler() {} +- virtual void startDocument() = 0; +- virtual void endDocument() = 0; +- virtual void startElement(const char *psName, const std::vector< std::pair <std::string, std::string> > &xPropList) = 0; +- virtual void endElement(const char *psName) = 0; +- virtual void characters(const std::string &sCharacters) = 0; +-}; +-#endif +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.cxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.cxx +--- koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.cxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.cxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,662 +0,0 @@ +-/* libwpg +- * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org) +- * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Library General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#include "OdgExporter.hxx" +-#include "GraphicsElement.hxx" +-#include "GraphicsHandler.hxx" +-#include <locale.h> +- +-static std::string doubleToString(const double value) +-{ +- std::ostringstream tempStream; +- tempStream << value; +- std::string decimalPoint(localeconv()->decimal_point); +- if ((decimalPoint.size() == 0) || (decimalPoint == ".")) +- return tempStream.str(); +- std::string stringValue(tempStream.str()); +- if (!stringValue.empty()) +- { +- std::string::size_type pos; +- while ((pos = stringValue.find(decimalPoint)) != std::string::npos) +- stringValue.replace(pos,decimalPoint.size(),"."); +- } +- return stringValue; +-} +- +- +-OdgExporter::OdgExporter(GraphicsHandler *pHandler, const bool isFlatXML): +- mpHandler(pHandler), +- m_fillRule(AlternatingFill), +- m_gradientIndex(1), +- m_dashIndex(1), +- m_styleIndex(1), +- m_width(0.0f), +- m_height(0.0f), +- m_isFlatXML(isFlatXML) +-{ +-} +- +-OdgExporter::~OdgExporter() +-{ +- for (std::vector <GraphicsElement *>::iterator iterStroke = mStrokeDashElements.begin(); +- iterStroke != mStrokeDashElements.end(); iterStroke++) +- delete (*iterStroke); +- +- for (std::vector <GraphicsElement *>::iterator iterGradient = mGradientElements.begin(); +- iterGradient != mGradientElements.end(); iterGradient++) +- delete (*iterGradient); +- +- for (std::vector <GraphicsElement *>::iterator iterAutomaticStyles = mAutomaticStylesElements.begin(); +- iterAutomaticStyles != mAutomaticStylesElements.end(); iterAutomaticStyles++) +- delete (*iterAutomaticStyles); +- +- for (std::vector<GraphicsElement *>::iterator bodyIter = mBodyElements.begin(); +- bodyIter != mBodyElements.end(); bodyIter++) +- delete (*bodyIter); +-} +- +-void OdgExporter::startGraphics(double width, double height) +-{ +- m_gradientIndex = 1; +- m_dashIndex = 1; +- m_styleIndex = 1; +- m_width = width; +- m_height = height; +- +- +- mpHandler->startDocument(); +- OpenTagGraphicsElement tmpOfficeDocumentContent("office:document"); +- tmpOfficeDocumentContent.addAttribute("xmlns:office", "urn:oasis:names:tc:opendocument:xmlns:office:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:style", "urn:oasis:names:tc:opendocument:xmlns:style:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:text", "urn:oasis:names:tc:opendocument:xmlns:text:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:draw", "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:dc", "http://purl.org/dc/elements/1.1/"); +- tmpOfficeDocumentContent.addAttribute("xmlns:svg", "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:fo", "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:config", "urn:oasis:names:tc:opendocument:xmlns:config:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:ooo", "http://openoffice.org/2004/office"); +- tmpOfficeDocumentContent.addAttribute("office:version", "1.0"); +- if (m_isFlatXML) +- tmpOfficeDocumentContent.addAttribute("office:mimetype", "application/x-vnd.oasis.openoffice.drawing"); +- tmpOfficeDocumentContent.write(mpHandler); +- +- OpenTagGraphicsElement("office:settings").write(mpHandler); +- +- OpenTagGraphicsElement configItemSetOpenElement("config:config-item-set"); +- configItemSetOpenElement.addAttribute("config:name", "ooo:view-settings"); +- configItemSetOpenElement.write(mpHandler); +- +- OpenTagGraphicsElement configItemOpenElement1("config:config-item"); +- configItemOpenElement1.addAttribute("config:name", "VisibleAreaTop"); +- configItemOpenElement1.addAttribute("config:type", "int"); +- configItemOpenElement1.write(mpHandler); +- mpHandler->characters("0"); +- mpHandler->endElement("config:config-item"); +- +- OpenTagGraphicsElement configItemOpenElement2("config:config-item"); +- configItemOpenElement2.addAttribute("config:name", "VisibleAreaLeft"); +- configItemOpenElement2.addAttribute("config:type", "int"); +- configItemOpenElement2.write(mpHandler); +- mpHandler->characters("0"); +- mpHandler->endElement("config:config-item"); +- +- OpenTagGraphicsElement configItemOpenElement3("config:config-item"); +- configItemOpenElement3.addAttribute("config:name", "VisibleAreaWidth"); +- configItemOpenElement3.addAttribute("config:type", "int"); +- configItemOpenElement3.write(mpHandler); +- m_value.str(""); +- m_value << (unsigned)(2540 * width); +- mpHandler->characters(m_value.str()); +- mpHandler->endElement("config:config-item"); +- +- OpenTagGraphicsElement configItemOpenElement4("config:config-item"); +- configItemOpenElement4.addAttribute("config:name", "VisibleAreaHeight"); +- configItemOpenElement4.addAttribute("config:type", "int"); +- configItemOpenElement4.write(mpHandler); +- m_value.str(""); +- m_value << (unsigned)(2540 * height); +- mpHandler->characters(m_value.str()); +- mpHandler->endElement("config:config-item"); +- +- mpHandler->endElement("config:config-item-set"); +- +- mpHandler->endElement("office:settings"); +- +-} +- +-void OdgExporter::endGraphics() +-{ +- OpenTagGraphicsElement("office:styles").write(mpHandler); +- +- for (std::vector <GraphicsElement *>::const_iterator iterStroke = mStrokeDashElements.begin(); +- iterStroke != mStrokeDashElements.end(); iterStroke++) +- (*iterStroke)->write(mpHandler); +- +- for (std::vector <GraphicsElement *>::const_iterator iterGradient = mGradientElements.begin(); +- iterGradient != mGradientElements.end(); iterGradient++) +- (*iterGradient)->write(mpHandler); +- +- mpHandler->endElement("office:styles"); +- +- OpenTagGraphicsElement("office:automatic-styles").write(mpHandler); +- +- for (std::vector <GraphicsElement *>::const_iterator iterAutomaticStyles = mAutomaticStylesElements.begin(); +- iterAutomaticStyles != mAutomaticStylesElements.end(); iterAutomaticStyles++) +- (*iterAutomaticStyles)->write(mpHandler); +- +- OpenTagGraphicsElement tmpStylePageLayoutOpenElement("style:page-layout"); +- tmpStylePageLayoutOpenElement.addAttribute("style:name", "PM0"); +- tmpStylePageLayoutOpenElement.write(mpHandler); +- +- OpenTagGraphicsElement tmpStylePageLayoutPropertiesOpenElement("style:page-layout-properties"); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-top", "0in"); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-bottom", "0in"); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-left", "0in"); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-right", "0in"); +- m_value.str(""); +- m_value << doubleToString(m_width) << "in"; +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:page-width", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(m_height) << "in"; +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:page-height", m_value.str()); +- m_value.str(""); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("style:print-orientation", "portrait"); +- tmpStylePageLayoutPropertiesOpenElement.write(mpHandler); +- +- mpHandler->endElement("style:page-layout-properties"); +- +- mpHandler->endElement("style:page-layout"); +- +- OpenTagGraphicsElement tmpStyleStyleOpenElement("style:style"); +- tmpStyleStyleOpenElement.addAttribute("style:name", "dp1"); +- tmpStyleStyleOpenElement.addAttribute("style:family", "drawing-page"); +- tmpStyleStyleOpenElement.write(mpHandler); +- +- OpenTagGraphicsElement tmpStyleDrawingPagePropertiesOpenElement("style:drawing-page-properties"); +- // tmpStyleDrawingPagePropertiesOpenElement.addAttribute("draw:background-size", "border"); +- tmpStyleDrawingPagePropertiesOpenElement.addAttribute("draw:fill", "none"); +- tmpStyleDrawingPagePropertiesOpenElement.write(mpHandler); +- +- mpHandler->endElement("style:drawing-page-properties"); +- +- mpHandler->endElement("style:style"); +- +- mpHandler->endElement("office:automatic-styles"); +- +- OpenTagGraphicsElement("office:master-styles").write(mpHandler); +- +- OpenTagGraphicsElement tmpStyleMasterPageOpenElement("style:master-page"); +- tmpStyleMasterPageOpenElement.addAttribute("style:name", "Default"); +- tmpStyleMasterPageOpenElement.addAttribute("style:page-layout-name", "PM0"); +- tmpStyleMasterPageOpenElement.addAttribute("draw:style-name", "dp1"); +- tmpStyleMasterPageOpenElement.write(mpHandler); +- +- mpHandler->endElement("style:master-page"); +- +- mpHandler->endElement("office:master-styles"); +- +- OpenTagGraphicsElement("office:body").write(mpHandler); +- +- OpenTagGraphicsElement("office:drawing").write(mpHandler); +- +- OpenTagGraphicsElement tmpDrawPageOpenElement("draw:page"); +- tmpDrawPageOpenElement.addAttribute("draw:name", "page1"); +- tmpDrawPageOpenElement.addAttribute("draw:style-name", "dp1"); +- tmpDrawPageOpenElement.addAttribute("draw:master-page-name", "Default"); +- tmpDrawPageOpenElement.write(mpHandler); +- +- for (std::vector<GraphicsElement *>::const_iterator bodyIter = mBodyElements.begin(); +- bodyIter != mBodyElements.end(); bodyIter++) +- { +- (*bodyIter)->write(mpHandler); +- } +- +- mpHandler->endElement("draw:page"); +- mpHandler->endElement("office:drawing"); +- mpHandler->endElement("office:body"); +- mpHandler->endElement("office:document"); +- +- mpHandler->endDocument(); +-} +- +-void OdgExporter::setPen(const libwpg::WPGPen& pen) +-{ +- m_pen = pen; +-} +- +-void OdgExporter::setBrush(const libwpg::WPGBrush& brush) +-{ +- m_brush = brush; +-} +- +-void OdgExporter::setFillRule(FillRule rule) +-{ +- m_fillRule = rule; +-} +- +-void OdgExporter::startLayer(unsigned int) +-{ +-} +- +-void OdgExporter::endLayer(unsigned int) +-{ +-} +- +-void OdgExporter::drawRectangle(const libwpg::WPGRect& rect, double rx, double ) +-{ +- writeStyle(); +- OpenTagGraphicsElement *pDrawRectElement = new OpenTagGraphicsElement("draw:rect"); +- m_value.str(""); +- m_value << "gr" << m_styleIndex-1; +- pDrawRectElement->addAttribute("draw:style-name", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rect.x1) << "in"; +- pDrawRectElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rect.y1) << "in"; +- pDrawRectElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rect.x2-rect.x1) << "in"; +- pDrawRectElement->addAttribute("svg:width", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rect.y2-rect.y1) << "in"; +- pDrawRectElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rx) << "in"; +- // FIXME: what to do when rx != ry ? +- pDrawRectElement->addAttribute("draw:corner-radius", m_value.str()); +- m_value.str(""); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawRectElement)); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:rect"))); +-} +- +-void OdgExporter::drawEllipse(const libwpg::WPGPoint& center, double rx, double ry) +-{ +- writeStyle(); +- OpenTagGraphicsElement *pDrawEllipseElement = new OpenTagGraphicsElement("draw:ellipse"); +- m_value.str(""); +- m_value << "gr" << m_styleIndex-1; +- pDrawEllipseElement->addAttribute("draw:style-name", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(center.x - rx) << "in"; +- pDrawEllipseElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(center.y - ry) << "in"; +- pDrawEllipseElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(2 * rx) << "in"; +- pDrawEllipseElement->addAttribute("svg:width", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(2 * ry) << "in"; +- pDrawEllipseElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawEllipseElement)); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:ellipse"))); +-} +- +-void OdgExporter::drawPolygon(const libwpg::WPGPointArray& vertices) +-{ +- if(vertices.count() < 2) +- return; +- +- if(vertices.count() == 2) +- { +- const libwpg::WPGPoint& p1 = vertices[0]; +- const libwpg::WPGPoint& p2 = vertices[1]; +- +- writeStyle(); +- OpenTagGraphicsElement *pDrawLineElement = new OpenTagGraphicsElement("draw:line"); +- m_value.str(""); +- m_value << "gr" << m_styleIndex-1; +- pDrawLineElement->addAttribute("draw:style-name", m_value.str()); +- m_value.str(""); +- pDrawLineElement->addAttribute("draw:text-style-name", "P1"); +- pDrawLineElement->addAttribute("draw:layer", "layout"); +- m_value << doubleToString(p1.x) << "in"; +- pDrawLineElement->addAttribute("svg:x1", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(p1.y) << "in"; +- pDrawLineElement->addAttribute("svg:y1", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(p2.x) << "in"; +- pDrawLineElement->addAttribute("svg:x2", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(p2.y) << "in"; +- pDrawLineElement->addAttribute("svg:y2", m_value.str()); +- m_value.str(""); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawLineElement)); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:line"))); +- } +- else +- { +- // draw as path +- libwpg::WPGPath path; +- path.moveTo(vertices[0]); +- for(unsigned long ii = 1; ii < vertices.count(); ii++) +- path.lineTo(vertices[ii]); +- path.closed = true; +- drawPath(path); +- } +-} +- +-void OdgExporter::drawPath(const libwpg::WPGPath& path) +-{ +- if(path.count() == 0) +- return; +- +- // try to find the bounding box +- // this is simple convex hull technique, the bounding box might not be +- // accurate but that should be enough for this purpose +- libwpg::WPGPoint p = path.element(0).point; +- libwpg::WPGPoint q = path.element(0).point; +- for(unsigned k = 0; k < path.count(); k++) +- { +- libwpg::WPGPathElement element = path.element(k); +- p.x = (p.x > element.point.x) ? element.point.x : p.x; +- p.y = (p.y > element.point.y) ? element.point.y : p.y; +- q.x = (q.x < element.point.x) ? element.point.x : q.x; +- q.y = (q.y < element.point.y) ? element.point.y : q.y; +- if(element.type == libwpg::WPGPathElement::CurveToElement) +- { +- p.x = (p.x > element.extra1.x) ? element.extra1.x : p.x; +- p.y = (p.y > element.extra1.y) ? element.extra1.y : p.y; +- q.x = (q.x < element.extra1.x) ? element.extra1.x : q.x; +- q.y = (q.y < element.extra1.y) ? element.extra1.y : q.y; +- p.x = (p.x > element.extra2.x) ? element.extra2.x : p.x; +- p.y = (p.y > element.extra2.y) ? element.extra2.y : p.y; +- q.x = (q.x < element.extra2.x) ? element.extra2.x : q.x; +- q.y = (q.y < element.extra2.y) ? element.extra2.y : q.y; +- } +- } +- double vw = q.x - p.x; +- double vh = q.y - p.y; +- +- writeStyle(); +- +- OpenTagGraphicsElement *pDrawPathElement = new OpenTagGraphicsElement("draw:path"); +- m_value.str(""); +- m_value << "gr" << m_styleIndex-1; +- pDrawPathElement->addAttribute("draw:style-name", m_value.str()); +- m_value.str(""); +- pDrawPathElement->addAttribute("draw:text-style-name", "P1"); +- pDrawPathElement->addAttribute("draw:layer", "layout"); +- m_value << doubleToString(p.x) << "in"; +- pDrawPathElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(p.y) << "in"; +- pDrawPathElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(vw) << "in"; +- pDrawPathElement->addAttribute("svg:width", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(vh) << "in"; +- pDrawPathElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- m_value << "0 0 " << (int)(vw*2540) << " " << (int)(vh*2540); +- pDrawPathElement->addAttribute("svg:viewBox", m_value.str()); +- m_value.str(""); +- +- for(unsigned i = 0; i < path.count(); i++) +- { +- libwpg::WPGPathElement element = path.element(i); +- libwpg::WPGPoint point = element.point; +- switch(element.type) +- { +- // 2540 is 2.54*1000, 2.54 in = 1 in +- case libwpg::WPGPathElement::MoveToElement: +- m_value << "M" << (int)((point.x-p.x)*2540) << " "; +- m_value << (int)((point.y-p.y)*2540); +- break; +- +- case libwpg::WPGPathElement::LineToElement: +- m_value << "L" << (int)((point.x-p.x)*2540) << " "; +- m_value << (int)((point.y-p.y)*2540); +- break; +- +- case libwpg::WPGPathElement::CurveToElement: +- m_value << "C" << (int)((element.extra1.x-p.x)*2540) << " "; +- m_value << (int)((element.extra1.y-p.y)*2540) << " "; +- m_value << (int)((element.extra2.x-p.x)*2540) << " "; +- m_value << (int)((element.extra2.y-p.y)*2540) << " "; +- m_value << (int)((point.x-p.x)*2540) << " "; +- m_value << (int)((point.y-p.y)*2540); +- break; +- +- default: +- break; +- } +- } +- if(path.closed) +- m_value << " Z"; +- pDrawPathElement->addAttribute("svg:d", m_value.str()); +- m_value.str(""); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawPathElement)); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:path"))); +-} +- +- +-void OdgExporter::drawBitmap(const libwpg::WPGBitmap& bitmap) +-{ +- OpenTagGraphicsElement *pDrawFrameElement = new OpenTagGraphicsElement("draw:frame"); +- m_value.str(""); +- m_value << doubleToString(bitmap.rect.x1) << "in"; +- pDrawFrameElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(bitmap.rect.y1) << "in"; +- pDrawFrameElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(bitmap.rect.height()) << "in"; +- pDrawFrameElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(bitmap.rect.width()) << "in"; +- pDrawFrameElement->addAttribute("svg:width", m_value.str()); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawFrameElement)); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new OpenTagGraphicsElement("draw:image"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new OpenTagGraphicsElement("office:binary-data"))); +- +- libwpg::WPGString base64Binary; +- bitmap.generateBase64DIB(base64Binary); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CharDataGraphicsElement(base64Binary.cstr()))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("office:binary-data"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:image"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:frame"))); +-} +- +-void OdgExporter::drawImageObject(const libwpg::WPGBinaryData& binaryData) +-{ +- if (binaryData.mimeType.length() <= 0) +- return; +- OpenTagGraphicsElement *pDrawFrameElement = new OpenTagGraphicsElement("draw:frame"); +- m_value.str(""); +- m_value << doubleToString(binaryData.rect.x1) << "in"; +- pDrawFrameElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(binaryData.rect.y1) << "in"; +- pDrawFrameElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(binaryData.rect.height()) << "in"; +- pDrawFrameElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(binaryData.rect.width()) << "in"; +- pDrawFrameElement->addAttribute("svg:width", m_value.str()); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawFrameElement)); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new OpenTagGraphicsElement("draw:image"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new OpenTagGraphicsElement("office:binary-data"))); +- +- libwpg::WPGString base64Binary = binaryData.getBase64Data(); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CharDataGraphicsElement(base64Binary.cstr()))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("office:binary-data"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:image"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:frame"))); +-} +- +- +-static std::string colorToHex(const libwpg::WPGColor& color) +-{ +- char hexdigits[] = "0123456789abcdef"; +- char buffer[] = "123456"; +- buffer[0] = hexdigits[(color.red >> 4) & 15]; +- buffer[1] = hexdigits[color.red & 15]; +- buffer[2] = hexdigits[(color.green >> 4) & 15]; +- buffer[3] = hexdigits[color.green & 15]; +- buffer[4] = hexdigits[(color.blue >> 4) & 15]; +- buffer[5] = hexdigits[color.blue & 15]; +- return std::string(buffer); +-} +- +-void OdgExporter::writeStyle() +-{ +- m_value.str(""); +- m_name.str(""); +- +- if(!m_pen.solid && (m_pen.dashArray.count() >=2 ) ) +- { +- // ODG only supports dashes with the same length of spaces inbetween +- // here we take the first space and assume everything else the same +- // note that dash length is written in percentage +- double distance = m_pen.dashArray.at(1); +- OpenTagGraphicsElement *tmpDrawStrokeDashElement = new OpenTagGraphicsElement("draw:stroke-dash"); +- tmpDrawStrokeDashElement->addAttribute("draw:style", "rect"); +- m_value << "Dash_" << m_dashIndex++; +- tmpDrawStrokeDashElement->addAttribute("draw:name", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(distance*100) << "%"; +- tmpDrawStrokeDashElement->addAttribute("draw:distance", m_value.str()); +- m_value.str(""); +- for(unsigned i = 0; i < m_pen.dashArray.count()/2; i++) +- { +- m_name << "draw:dots" << i+1; +- tmpDrawStrokeDashElement->addAttribute(m_name.str(), "1"); +- m_name.str(""); +- m_name << "draw:dots" << i+1 << "-length"; +- m_value << doubleToString(100*m_pen.dashArray.at(i*2)) << "%"; +- tmpDrawStrokeDashElement->addAttribute(m_name.str(), m_value.str()); +- m_name.str(""); +- m_value.str(""); +- } +- mStrokeDashElements.push_back(static_cast<GraphicsElement *>(tmpDrawStrokeDashElement)); +- mStrokeDashElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:stroke-dash"))); +- } +- +- if(m_brush.style == libwpg::WPGBrush::Gradient) +- { +- OpenTagGraphicsElement *tmpDrawGradientElement = new OpenTagGraphicsElement("draw:gradient"); +- tmpDrawGradientElement->addAttribute("draw:style", "linear"); +- m_value << "Gradient_" << m_gradientIndex++; +- tmpDrawGradientElement->addAttribute("draw:name", m_value.str()); +- m_value.str(""); +- +- // ODG angle unit is 0.1 degree +- double angle = -m_brush.gradient.angle(); +- while(angle < 0) +- angle += 360; +- while(angle > 360) +- angle -= 360; +- +- m_value << (unsigned)(angle*10); +- tmpDrawGradientElement->addAttribute("draw:angle", m_value.str()); +- m_value.str(""); +- +- libwpg::WPGColor startColor = m_brush.gradient.stopColor(0); +- libwpg::WPGColor stopColor = m_brush.gradient.stopColor(1); +- m_value << "#" << colorToHex(startColor); +- tmpDrawGradientElement->addAttribute("draw:start-color", m_value.str()); +- m_value.str(""); +- m_value << "#" << colorToHex(stopColor); +- tmpDrawGradientElement->addAttribute("draw:end-color", m_value.str()); +- m_value.str(""); +- tmpDrawGradientElement->addAttribute("draw:start-intensity", "100%"); +- tmpDrawGradientElement->addAttribute("draw:end-intensity", "100%"); +- tmpDrawGradientElement->addAttribute("draw:border", "0%"); +- mGradientElements.push_back(static_cast<GraphicsElement *>(tmpDrawGradientElement)); +- mGradientElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:gradient"))); +- } +- +- OpenTagGraphicsElement *tmpStyleStyleElement = new OpenTagGraphicsElement("style:style"); +- m_value << "gr" << m_styleIndex; +- tmpStyleStyleElement->addAttribute("style:name", m_value.str()); +- m_value.str(""); +- tmpStyleStyleElement->addAttribute("style:family", "graphic"); +- tmpStyleStyleElement->addAttribute("style:parent-style-name", "standard"); +- mAutomaticStylesElements.push_back(static_cast<GraphicsElement *>(tmpStyleStyleElement)); +- +- OpenTagGraphicsElement *tmpStyleGraphicPropertiesElement = new OpenTagGraphicsElement("style:graphic-properties"); +- +- if(m_pen.width > 0.0) +- { +- m_value << doubleToString(m_pen.width) << "in"; +- tmpStyleGraphicPropertiesElement->addAttribute("svg:stroke-width", m_value.str()); +- m_value.str(""); +- m_value << "#" << colorToHex(m_pen.foreColor); +- tmpStyleGraphicPropertiesElement->addAttribute("svg:stroke-color", m_value.str()); +- m_value.str(""); +- +- if(!m_pen.solid) +- { +- tmpStyleGraphicPropertiesElement->addAttribute("draw:stroke", "dash"); +- m_value << "Dash_" << m_dashIndex-1; +- tmpStyleGraphicPropertiesElement->addAttribute("draw:stroke-dash", m_value.str()); +- m_value.str(""); +- } +- } +- else +- tmpStyleGraphicPropertiesElement->addAttribute("draw:stroke", "none"); +- +- if(m_brush.style == libwpg::WPGBrush::NoBrush) +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill", "none"); +- +- if(m_brush.style == libwpg::WPGBrush::Solid) +- { +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill", "solid"); +- m_value << "#" << colorToHex(m_brush.foreColor); +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill-color", m_value.str()); +- m_value.str(""); +- } +- +- if(m_brush.style == libwpg::WPGBrush::Gradient) +- { +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill", "gradient"); +- m_value << "Gradient_" << m_gradientIndex-1; +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill-gradient-name", m_value.str()); +- m_value.str(""); +- } +- +- mAutomaticStylesElements.push_back(static_cast<GraphicsElement *>(tmpStyleGraphicPropertiesElement)); +- mAutomaticStylesElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("style:graphic-properties"))); +- +- mAutomaticStylesElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("style:style"))); +- m_styleIndex++; +-} +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.hxx +--- koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.hxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.hxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,116 +0,0 @@ +-/* libwpg +- * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org) +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Library General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#ifndef __ODGEXPORTER_H__ +-#define __ODGEXPORTER_H__ +- +-#include <iostream> +-#include <sstream> +-#include <string> +- +-#include <libwpg/libwpg.h> +-#include "GraphicsElement.hxx" +- +-class OdgExporter : public libwpg::WPGPaintInterface { +-public: +- explicit OdgExporter(GraphicsHandler *pHandler, +- const bool isFlatXML = false); +- ~OdgExporter(); +- +-#if LIBWPG_VERSION_MINOR<2 +- void startGraphics(double imageWidth, double imageHeight); +- void endGraphics(); +- void startLayer(unsigned int id); +- void endLayer(unsigned int id); +- +- void setPen(const libwpg::WPGPen& pen); +- void setBrush(const libwpg::WPGBrush& brush); +- void setFillRule(FillRule rule); +- +- void drawRectangle(const libwpg::WPGRect& rect, double rx, double ry); +- void drawEllipse(const libwpg::WPGPoint& center, double rx, double ry); +- void drawPolygon(const libwpg::WPGPointArray& vertices); +- void drawPath(const libwpg::WPGPath& path); +- void drawBitmap(const libwpg::WPGBitmap& bitmap); +- void drawImageObject(const libwpg::WPGBinaryData& binaryData); +- +-private: +- std::vector <GraphicsElement *> mBodyElements; +- std::vector <GraphicsElement *> mAutomaticStylesElements; +- std::vector <GraphicsElement *> mStrokeDashElements; +- std::vector <GraphicsElement *> mGradientElements; +- GraphicsHandler *mpHandler; +- +- libwpg::WPGPen m_pen; +- libwpg::WPGBrush m_brush; +- FillRule m_fillRule; +- int m_gradientIndex; +- int m_dashIndex; +- int m_styleIndex; +- void writeStyle(); +- std::ostringstream m_value, m_name; +- double m_width, m_height; +- const bool m_isFlatXML; +-#else +- virtual void startGraphics(const ::WPXPropertyList &propList); +- virtual void endGraphics(); +- virtual void setStyle(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &gradient); +- virtual void startLayer(const ::WPXPropertyList &propList); +- virtual void endLayer(); +- virtual void drawRectangle(const ::WPXPropertyList& propList); +- virtual void drawEllipse(const ::WPXPropertyList& propList); +- virtual void drawPolygon(const ::WPXPropertyListVector &vertices); +- virtual void drawPath(const ::WPXPropertyListVector &path); +- virtual void drawGraphicObject(const ::WPXPropertyList &propList, const ::WPXBinaryData &binaryData); +- virtual void startEmbeddedGraphics(const ::WPXPropertyList &propList); +- virtual void endEmbeddedGraphics(); +- virtual void drawPolyline(const ::WPXPropertyListVector &vertices); +- virtual void startTextObject(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &path); +- virtual void endTextObject(); +- virtual void startTextLine(const ::WPXPropertyList &propList); +- virtual void endTextLine(); +- virtual void startTextSpan(const ::WPXPropertyList &propList); +- virtual void endTextSpan(); +- virtual void insertText(const ::WPXString &str); +- +- +-private: +- std::vector <GraphicsElement *> mBodyElements; +- std::vector <GraphicsElement *> mAutomaticStylesElements; +- std::vector <GraphicsElement *> mStrokeDashElements; +- std::vector <GraphicsElement *> mGradientElements; +- GraphicsHandler *mpHandler; +- +- int m_gradientIndex; +- int m_dashIndex; +- int m_styleIndex; +- void writeStyle(); +- std::ostringstream m_value, m_name; +- double m_width, m_height; +- const bool m_isFlatXML; +-#endif +-}; +- +-#endif // __ODGEXPORTER_H__ +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/WPGImport.cpp koffice-2.3.1-libwpg02/filters/karbon/wpg/import/WPGImport.cpp +--- koffice-2.3.1/filters/karbon/wpg/import/WPGImport.cpp 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/WPGImport.cpp 2011-01-02 17:46:15.000000000 +0100 +@@ -20,28 +20,26 @@ + #include <WPGImport.h> + #include <WPGImport.moc> + +-#include <QBuffer> +-#include <QByteArray> +-#include <QString> +- +-#include <kdebug.h> + #include <KoFilterChain.h> + #include <KoGlobal.h> + #include <KoUnit.h> ++#include <KoXmlWriter.h> ++ + #include <kpluginfactory.h> ++#include <KDebug> + +-#include <KoXmlWriter.h> ++ ++#include <QtCore/QString> ++#include <QtCore/QFile> + + #include <libwpg/libwpg.h> + #if LIBWPG_VERSION_MINOR<2 + #include <libwpg/WPGStreamImplementation.h> + #else + #include <libwpd-stream/libwpd-stream.h> ++#include <libwpd/libwpd.h> + #endif + +-#include "FileOutputHandler.hxx" +-#include "OdgExporter.hxx" +- + #include <iostream> + + K_PLUGIN_FACTORY(WPGImportFactory, registerPlugin<WPGImport>();) +@@ -56,35 +54,13 @@ + { + } + +-static QByteArray createManifest() +-{ +- KoXmlWriter* manifestWriter; +- QByteArray manifestData; +- QBuffer manifestBuffer(&manifestData); +- +- manifestBuffer.open(QIODevice::WriteOnly); +- manifestWriter = new KoXmlWriter(&manifestBuffer); +- +- manifestWriter->startDocument("manifest:manifest"); +- manifestWriter->startElement("manifest:manifest"); +- manifestWriter->addAttribute("xmlns:manifest", "urn:oasis:names:tc:openoffice:xmlns:manifest:1.0"); +- manifestWriter->addManifestEntry("/", "application/vnd.oasis.opendocument.graphics"); +- //manifestWriter->addManifestEntry( "styles.xml", "text/xml" ); +- manifestWriter->addManifestEntry("content.xml", "text/xml"); +- manifestWriter->endElement(); +- manifestWriter->endDocument(); +- delete manifestWriter; +- +- return manifestData; +-} +- + + KoFilter::ConversionStatus WPGImport::convert(const QByteArray& from, const QByteArray& to) + { + if (from != "application/x-wpg") + return KoFilter::NotImplemented; + +- if (to != "application/vnd.oasis.opendocument.graphics") ++ if (to != "image/svg+xml") + return KoFilter::NotImplemented; + + #if LIBWPG_VERSION_MINOR<2 +@@ -96,6 +72,7 @@ + input = olestream; + } + } ++ libwpg::WPGString output; + #else + WPXInputStream* input = new WPXFileStream(m_chain->inputFile().toLocal8Bit()); + if (input->isOLEStream()) { +@@ -105,59 +82,31 @@ + input = olestream; + } + } ++ ::WPXString output; + #endif + + if (!libwpg::WPGraphics::isSupported(input)) { +- std::cerr << "ERROR: Unsupported file format (unsupported version) or file is encrypted!" << std::endl; ++ kWarning() << "ERROR: Unsupported file format (unsupported version) or file is encrypted!"; + delete input; + return KoFilter::NotImplemented; + } + +- // do the conversion +- std::ostringstream tmpStringStream; +- FileOutputHandler tmpHandler(tmpStringStream); +- OdgExporter exporter(&tmpHandler); +- libwpg::WPGraphics::parse(input, &exporter); +- delete input; +- +- +- // create output store +- KoStore* storeout; +- storeout = KoStore::createStore(m_chain->outputFile(), KoStore::Write, +- "application/vnd.oasis.opendocument.graphics", KoStore::Zip); +- +- if (!storeout) { +- kWarning() << "Couldn't open the requested file."; +- return KoFilter::FileNotFound; +- } +- +-#if 0 +- if (!storeout->open("styles.xml")) { +- kWarning() << "Couldn't open the file 'styles.xml'."; +- return KoFilter::CreationError; ++ if (!libwpg::WPGraphics::generateSVG(input, output)) { ++ kWarning() << "ERROR: SVG Generation failed!"; ++ delete input; ++ return KoFilter::ParsingError; + } +- //storeout->write( createStyles() ); +- storeout->close(); +-#endif + +- if (!storeout->open("content.xml")) { +- kWarning() << "Couldn't open the file 'content.xml'."; +- return KoFilter::CreationError; +- } +- storeout->write(tmpStringStream.str().c_str()); +- storeout->close(); ++ delete input; + +- // store document manifest +- storeout->enterDirectory("META-INF"); +- if (!storeout->open("manifest.xml")) { +- kWarning() << "Couldn't open the file 'META-INF/manifest.xml'."; +- return KoFilter::CreationError; ++ QFile outputFile(m_chain->outputFile()); ++ if(!outputFile.open(QIODevice::WriteOnly | QIODevice::Text)) { ++ kWarning() << "ERROR: Could not open output file" << m_chain->outputFile(); ++ return KoFilter::InternalError; + } +- storeout->write(createManifest()); +- storeout->close(); + +- // we are done! +- delete storeout; ++ outputFile.write(output.cstr()); ++ outputFile.close(); + + return KoFilter::OK; + } + diff --git a/testing/koffice/koffice.install b/testing/koffice/koffice.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/testing/koffice/koffice.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/koffice/krita.install b/testing/koffice/krita.install new file mode 100644 index 000000000..ce5c32e1b --- /dev/null +++ b/testing/koffice/krita.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}
\ No newline at end of file diff --git a/testing/wget/PKGBUILD b/testing/wget/PKGBUILD new file mode 100644 index 000000000..d37af779d --- /dev/null +++ b/testing/wget/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 138166 2011-09-17 22:43:36Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Judd Vinet <jvinet@zeroflux.org> + +pkgname=wget +pkgver=1.13.4 +pkgrel=1 +pkgdesc="A network utility to retrieve files from the Web" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/wget/wget.html" +license=('GPL3') +groups=('base') +depends=('glibc' 'openssl') +optdepends=('ca-certificates: HTTPS downloads') +backup=('etc/wgetrc') +install=wget.install +source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz) +md5sums=('7f518b3a71e9efd330e9a0c3714f8463') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Note : We do not build with --enable-nls, because there is a bug in wget causing + # international domain names to be not properly converted to punycode if + # the current locale is a UTF-8 one + # See : http://lists.gnu.org/archive/html/bug-wget/2011-02/msg00026.html + + ./configure -with-ssl=openssl --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + cat >> "$pkgdir/etc/wgetrc" <<EOF + +# default root certs location +ca_certificate=/etc/ssl/certs/ca-certificates.crt +EOF + + # remove IRI option from wgetrc as it does not work (see above) + sed -i '118,120d' $pkgdir/etc/wgetrc + +} diff --git a/testing/wget/wget.install b/testing/wget/wget.install new file mode 100644 index 000000000..8eb6a2c3f --- /dev/null +++ b/testing/wget/wget.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(wget.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} |