diff options
56 files changed, 3234 insertions, 260 deletions
diff --git a/community/coin/PKGBUILD b/community/coin/PKGBUILD index f88ee170b..70289ef96 100644 --- a/community/coin/PKGBUILD +++ b/community/coin/PKGBUILD @@ -4,7 +4,7 @@ pkgname=coin pkgver=3.1.3 -pkgrel=3 +pkgrel=5 pkgdesc='Coin3D is a high-level 3D graphics toolkit on top of OpenGL.' url='http://www.coin3d.org/' license=('GPL') @@ -15,7 +15,7 @@ optdepends=('openal: sound/dynamic linking support' 'fontconfig: dynamic linking support' 'zlib: dynamic linking support' 'freetype2: dynamic linking support' - 'spidermonkey: dynamic linking support') + 'js: dynamic linking support') options=('!libtool') source=("http://ftp.coin3d.org/coin/src/all/Coin-${pkgver}.tar.gz") md5sums=('1538682f8d92cdf03e845c786879fbea') diff --git a/community/couchdb/PKGBUILD b/community/couchdb/PKGBUILD index c7c3d708b..6d4d6d171 100644 --- a/community/couchdb/PKGBUILD +++ b/community/couchdb/PKGBUILD @@ -1,30 +1,32 @@ -# $Id: PKGBUILD 48868 2011-06-06 21:47:32Z spupykin $ +# $Id: PKGBUILD 51045 2011-07-04 15:16:10Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Vitaliy Berdinskikh ur6lad[at]i.ua # Previous Contributor: Michael Fellinger <m.fellinger@gmail.com> pkgname=couchdb pkgver=1.1.0 -pkgrel=1 +pkgrel=1.svn20110704 pkgdesc="A document-oriented database that can be queried and indexed in a MapReduce fashion using JSON" arch=('i686' 'x86_64') url="http://couchdb.apache.org" license=('APACHE') -depends=('icu' 'erlang' 'spidermonkey' 'openssl' 'curl') +depends=('icu' 'erlang' 'js' 'openssl' 'curl') makedepends=('gcc') install=couchdb.install options=('!libtool') backup=('etc/couchdb/local.ini' 'etc/conf.d/couchdb' 'etc/logrotate.d/couchdb') -source=("http://www.apache.org/dist/$pkgname/$pkgver/apache-$pkgname-$pkgver.tar.gz" +#source=("http://www.apache.org/dist/$pkgname/$pkgver/apache-$pkgname-$pkgver.tar.gz" +source=("http://arch.p5n.pp.ru/~sergej/dl/apache-couchdb-$pkgver.svn20110704.tar.gz" "rc-script.patch") -md5sums=('907b763d3a14b6649bf0371ffa75a36b' +md5sums=('a961f9047aa34df56ef19d6f6dce083b' 'e9b5595338efbdc1a5db13284a296612') build() { cd "$srcdir/apache-$pkgname-$pkgver" + sed -i 's|-ljs|-lmozjs185|' configure ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var make patch etc/init/couchdb <$srcdir/rc-script.patch diff --git a/community/elinks/PKGBUILD b/community/elinks/PKGBUILD index efb1ca34f..037b290e9 100644 --- a/community/elinks/PKGBUILD +++ b/community/elinks/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 47522 2011-05-23 18:32:02Z kkeen $ +# $Id: PKGBUILD 51048 2011-07-04 15:29:28Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: damir <damir@archlinux.org> @@ -6,39 +6,19 @@ pkgname=elinks pkgver=0.13 -_commit="fe83703714fd5e16401dcd152d9bdcec6036424d" -pkgrel=5 +_commit="03c698e926d4421ba43d905b6d9fd7388b97352f" +pkgrel=6 pkgdesc="An advanced and well-established feature-rich text mode web browser." arch=("i686" "x86_64") url="http://elinks.or.cz" license=('GPL') -depends=('bzip2' 'expat>=2.0' 'gpm>=1.20.4' 'openssl' 'lua>=5.1.1' 'libidn' 'spidermonkey>=1.7.0' +depends=('bzip2' 'expat>=2.0' 'gpm>=1.20.4' 'openssl' 'lua>=5.1.1' 'libidn' 'js' 'gc' 'tre' 'smbclient') -source=() -md5sums=() - -__gitroot="http://elinks.cz/elinks.git" -__gitname="elinks" +source=("http://arch.p5n.pp.ru/~sergej/dl/elinks-$pkgver-${_commit}.tar.gz") +md5sums=('85916038633d0eb4ed98c3f82ac0b405') 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 - fi - - msg "GIT checkout done or server timeout" - msg "Starting make..." - - rm -rf "$srcdir/$__gitname-build" - git clone "$srcdir/$__gitname" "$srcdir/$__gitname-build" - cd "$srcdir/$__gitname-build" - git checkout "$_commit" - + cd "$srcdir/elinks" [ -x configure ] || sh autogen.sh ./configure --prefix=/usr --mandir=/usr/share/man \ --sysconfdir=/etc \ @@ -49,10 +29,9 @@ build() { } package() { - cd "$srcdir/$__gitname-build" + cd "$srcdir/elinks" make DESTDIR="$pkgdir" install rm -f "$pkgdir/usr/share/locale/locale.alias" - - install -D -m644 "$srcdir/$__gitname-build/contrib/debian/$pkgname.desktop" \ - "$pkgdir/usr/share/applications/$pkgname.desktop" + install -D -m644 "contrib/debian/$pkgname.desktop" \ + "$pkgdir/usr/share/applications/$pkgname.desktop" } diff --git a/community/freewrl/PKGBUILD b/community/freewrl/PKGBUILD index 682d3aea6..8d00cdc7f 100644 --- a/community/freewrl/PKGBUILD +++ b/community/freewrl/PKGBUILD @@ -1,29 +1,29 @@ -# $Id: PKGBUILD 50322 2011-06-28 10:28:21Z spupykin $ +# $Id: PKGBUILD 51056 2011-07-04 16:35:05Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=freewrl pkgver=1.22.10 -pkgrel=5 +pkgrel=6 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' 'spidermonkey') + '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' - '1586b3ea98dd8c5c9f5ebfc3dd176232') + '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) -ljs" + 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 \ diff --git a/community/freewrl/build-fix.patch b/community/freewrl/build-fix.patch index a5e31ff23..c0de71d07 100644 --- a/community/freewrl/build-fix.patch +++ b/community/freewrl/build-fix.patch @@ -1,6 +1,6 @@ -diff -wbBur freewrl-1.22.9.org/src/lib/non_web3d_formats/ColladaParser.c freewrl-1.22.9/src/lib/non_web3d_formats/ColladaParser.c ---- freewrl-1.22.9.org/src/lib/non_web3d_formats/ColladaParser.c 2010-08-19 02:20:36.000000000 +0000 -+++ freewrl-1.22.9/src/lib/non_web3d_formats/ColladaParser.c 2010-10-18 13:31:25.000000000 +0000 +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" @@ -10,9 +10,1186 @@ diff -wbBur freewrl-1.22.9.org/src/lib/non_web3d_formats/ColladaParser.c freewrl #endif #define PROTOINSTANCE_MAX_LEVELS 10 -diff -wbBur freewrl-1.22.9.org/src/lib/x3d_parser/X3DParser.c freewrl-1.22.9/src/lib/x3d_parser/X3DParser.c ---- freewrl-1.22.9.org/src/lib/x3d_parser/X3DParser.c 2010-08-19 02:20:36.000000000 +0000 -+++ freewrl-1.22.9/src/lib/x3d_parser/X3DParser.c 2010-10-18 13:30:01.000000000 +0000 +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" diff --git a/community/gpac/PKGBUILD b/community/gpac/PKGBUILD index 8849977aa..69717e2bc 100644 --- a/community/gpac/PKGBUILD +++ b/community/gpac/PKGBUILD @@ -5,11 +5,11 @@ pkgname=gpac pkgver=0.4.5 -pkgrel=6 +pkgrel=7 pkgdesc="A multimedia framework based on the MPEG-4 Systems standard" arch=('i686' 'x86_64') url="http://gpac.sourceforge.net" -depends=('libxml2' 'wxgtk' 'alsa-lib' 'sdl' 'spidermonkey' 'libmad' \ +depends=('libxml2' 'wxgtk' 'alsa-lib' 'sdl' 'js' 'libmad' \ 'faad2' 'xvidcore' 'ffmpeg' 'freeglut') license=('LGPL') options=('!makeflags') # Multiple build jobs aren't handled correctly @@ -21,13 +21,14 @@ md5sums=('755e8c438a48ebdb13525dd491f5b0d1' build() { cd ${srcdir}/${pkgname} chmod +x configure + sed -i 's|--warn-common||' configure sed -i 's#osmozilla##g' applications/Makefile sed -i 's#"$(prefix)#"$(DESTDIR)$(prefix)#' applications/osmo4_wx/Makefile sed -i 's#ldconfig || true##g' Makefile #FS#14506 sed -i 's#lib64#lib#g' configure - patch -Np1 -i ${srcdir}/libpng14-infopp-null.patch || return 1 + patch -Np1 -i ${srcdir}/libpng14-infopp-null.patch # Was getting "symbol lookup error: /usr/lib/gpac/gm_x11_out.so: undefined # symbol: XvQueryExtension" with our LDFLAGS :\ diff --git a/community/libyaml/PKGBUILD b/community/libyaml/PKGBUILD index 7b586ebc2..f3ef4b81c 100644 --- a/community/libyaml/PKGBUILD +++ b/community/libyaml/PKGBUILD @@ -3,21 +3,24 @@ # Contributor: Michal Bozon <michal.bozon__at__gmail.com> pkgname=libyaml -pkgver=0.1.3 +pkgver=0.1.4 pkgrel=1 pkgdesc="YAML 1.1 library" arch=('i686' 'x86_64') url="http://pyyaml.org/wiki/LibYAML" license=('MIT') source=(http://pyyaml.org/download/libyaml/yaml-$pkgver.tar.gz) -md5sums=('b8ab9064e8e0330423fe640de76608cd') +md5sums=('36c852831d02cf90508c29852361d01b') build() { cd "$srcdir/yaml-$pkgver" - ./configure --prefix=/usr - make || return 1 - make DESTDIR="$pkgdir" install || return 1 + make +} + +package() { + cd "$srcdir/yaml-$pkgver" + make DESTDIR="$pkgdir" install install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE } diff --git a/community/lilypond/PKGBUILD b/community/lilypond/PKGBUILD index 383fa7e12..6465d2093 100644 --- a/community/lilypond/PKGBUILD +++ b/community/lilypond/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 50008 2011-06-23 09:20:14Z spupykin $ +# $Id: PKGBUILD 51540 2011-07-11 09:57:46Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Geoffroy Carrier <geoffroy@archlinux.org> # Contributor: William Rea <sillywilly@gmail.com> @@ -6,7 +6,7 @@ pkgname=lilypond pkgver=2.14.1 -pkgrel=1 +pkgrel=2 pkgdesc="An automated music engraving system" arch=('i686' 'x86_64') url="http://lilypond.org" @@ -16,8 +16,10 @@ makedepends=('flex' 'bison' 'gettext' 'mftrace' 'texinfo' 'fontforge' 't1utils' 'gsfonts' 'texi2html') options=('emptydirs') source=(http://download.linuxaudio.org/lilypond/sources/v2.14/$pkgname-$pkgver.tar.gz + http://arch.p5n.pp.ru/~sergej/dl/lilypond-fonts.tar.bz2 texlive-workaround.patch) md5sums=('262cc7f92c907a7b479b55b3b37a9302' + '2a0e18e5de17d740ada3861bf4d787ea' 'ff32863f3eed67ac744e50bc4fc67a87') build() { @@ -39,4 +41,5 @@ build() { package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install + cp -a $srcdir/lilypond-fonts/usr/share/lilypond/current/fonts/* $pkgdir/usr/share/lilypond/$pkgver/fonts/ } diff --git a/community/mediatomb/PKGBUILD b/community/mediatomb/PKGBUILD index 4b1245ce6..c8850e23c 100644 --- a/community/mediatomb/PKGBUILD +++ b/community/mediatomb/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 49488 2011-06-17 21:55:59Z jelle $ +# $Id: PKGBUILD 51077 2011-07-05 06:51:52Z jconder $ # Contributor: William Rea <sillywilly@gmail.com> # Contributor: Nikhil Bysani <nikron@gmail.com> # Contributor: Mika Hynnä <igheax@gmail.com> @@ -6,26 +6,29 @@ pkgname=mediatomb pkgver=0.12.1 -pkgrel=4 +pkgrel=5 pkgdesc="Free UPnP/DLNA media server" arch=('i686' 'x86_64') url="http://mediatomb.cc/" license=('GPL') -depends=('libexif' 'libmp4v2' 'taglib' 'sqlite3' 'spidermonkey' 'curl' 'ffmpegthumbnailer') +depends=('curl' 'ffmpegthumbnailer' 'js' 'libexif' 'libmp4v2' 'sqlite3' 'taglib') backup=('etc/conf.d/mediatomb') install=mediatomb.install source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" 'mediatomb.rc' 'mediatomb.conf' - 'gcc46.patch') + 'gcc46.patch' + 'tonewjs.patch') md5sums=('e927dd5dc52d3cfcebd8ca1af6f0d3c2' 'aa1191ec508d8bd4b3b9a5fe48efc079' 'bec297e4178332a26b42bbde873b94cd' - '0ae34c0d73b76e3d215887834c3c08cf') + '0ae34c0d73b76e3d215887834c3c08cf' + 'd9e02a9956eecf5ff645bddf6dac0331') build() { cd "$srcdir/$pkgname-$pkgver" patch -Np1 -i $srcdir/gcc46.patch + patch -Np1 -i $srcdir/tonewjs.patch ./configure --prefix=/usr \ --disable-mysql \ diff --git a/community/mediatomb/tonewjs.patch b/community/mediatomb/tonewjs.patch new file mode 100644 index 000000000..115968530 --- /dev/null +++ b/community/mediatomb/tonewjs.patch @@ -0,0 +1,564 @@ +diff -up mediatomb-0.12.1-back/build/Makefile.in.tonewjs mediatomb-0.12.1-back/build/Makefile.in +--- mediatomb-0.12.1-back/build/Makefile.in.tonewjs 2010-04-08 00:40:15.000000000 +0200 ++++ mediatomb-0.12.1-back/build/Makefile.in 2011-04-19 17:17:01.343509944 +0200 +@@ -257,7 +257,7 @@ CURL_LIBS = @CURL_LIBS@ + CXX = @CXX@ + CXXCPP = @CXXCPP@ + CXXDEPMODE = @CXXDEPMODE@ +-CXXFLAGS = @CXXFLAGS@ ++CXXFLAGS = -fpermissive @CXXFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DB_AUTOCREATE_OPTION_ENABLED = @DB_AUTOCREATE_OPTION_ENABLED@ + DB_AUTOCREATE_OPTION_REQUESTED = @DB_AUTOCREATE_OPTION_REQUESTED@ +diff -up mediatomb-0.12.1-back/src/scripting/import_script.cc.tonewjs mediatomb-0.12.1-back/src/scripting/import_script.cc +--- mediatomb-0.12.1-back/src/scripting/import_script.cc.tonewjs 2011-04-18 13:10:48.000000000 +0200 ++++ mediatomb-0.12.1-back/src/scripting/import_script.cc 2011-04-18 13:29:36.000000000 +0200 +@@ -53,8 +53,8 @@ ImportScript::ImportScript(Ref<Runtime> + try + { + load(scriptPath); +- root = JS_NewScriptObject(cx, script); +- JS_AddNamedRoot(cx, &root, "ImportScript"); ++ root = JS_NewObject(cx, NULL, script, NULL); ++ JS_AddNamedObjectRoot(cx, &root, "ImportScript"); + } + catch (Exception ex) + { +@@ -117,7 +117,7 @@ ImportScript::~ImportScript() + #endif + + if (root) +- JS_RemoveRoot(cx, &root); ++ JS_RemoveObjectRoot(cx, &root); + + #ifdef JS_THREADSAFE + JS_EndRequest(cx); +diff -up mediatomb-0.12.1-back/src/scripting/js_functions.cc.tonewjs mediatomb-0.12.1-back/src/scripting/js_functions.cc +--- mediatomb-0.12.1-back/src/scripting/js_functions.cc.tonewjs 2011-04-18 13:29:55.000000000 +0200 ++++ mediatomb-0.12.1-back/src/scripting/js_functions.cc 2011-04-19 16:48:04.009229611 +0200 +@@ -49,7 +49,7 @@ using namespace zmm; + extern "C" { + + JSBool +-js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ++js_print(JSContext *cx, uintN argc, jsval *argv) + { + uintN i; + JSString *str; +@@ -60,19 +60,21 @@ js_print(JSContext *cx, JSObject *obj, u + if (!str) + return JS_TRUE; + argv[i] = STRING_TO_JSVAL(str); +- log_js("%s\n", JS_GetStringBytes(str)); ++ char * log_str = JS_EncodeString(cx, str); ++ log_js("%s\n", log_str); ++ JS_free(cx, log_str); + } + return JS_TRUE; + } + + JSBool +-js_copyObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ++js_copyObject(JSContext *cx, uintN argc, jsval *argv) + { + jsval arg; + JSObject *js_cds_obj; + JSObject *js_cds_clone_obj; + +- Script *self = (Script *)JS_GetPrivate(cx, obj); ++ Script *self = (Script *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv)); + + try + { +@@ -91,7 +93,7 @@ js_copyObject(JSContext *cx, JSObject *o + + self->cdsObject2jsObject(cds_obj, js_cds_clone_obj); + +- *rval = OBJECT_TO_JSVAL(js_cds_clone_obj); ++ JS_SET_RVAL(cx, argv, OBJECT_TO_JSVAL(js_cds_clone_obj)); + + return JS_TRUE; + +@@ -110,7 +112,7 @@ js_copyObject(JSContext *cx, JSObject *o + } + + JSBool +-js_addCdsObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ++js_addCdsObject(JSContext *cx, uintN argc, jsval *argv) + { + try + { +@@ -126,7 +128,7 @@ js_addCdsObject(JSContext *cx, JSObject + Ref<StringConverter> p2i; + Ref<StringConverter> i2i; + +- Script *self = (Script *)JS_GetPrivate(cx, obj); ++ Script *self = (Script *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv)); + + if (self == NULL) + { +@@ -156,20 +158,20 @@ js_addCdsObject(JSContext *cx, JSObject + if (!str) + path = _("/"); + else +- path = JS_GetStringBytes(str); ++ path = JS_EncodeString(cx, str); + + JSString *cont = JS_ValueToString(cx, argv[2]); + if (cont) + { +- containerclass = JS_GetStringBytes(cont); ++ containerclass = JS_EncodeString(cx, cont); + if (!string_ok(containerclass) || containerclass == "undefined") + containerclass = nil; + } + + if (self->whoami() == S_PLAYLIST) +- js_orig_obj = self->getObjectProperty(obj, _("playlist")); ++ js_orig_obj = self->getObjectProperty(JS_THIS_OBJECT(cx, argv), _("playlist")); + else if (self->whoami() == S_IMPORT) +- js_orig_obj = self->getObjectProperty(obj, _("orig")); ++ js_orig_obj = self->getObjectProperty(JS_THIS_OBJECT(cx, argv), _("orig")); + + if (js_orig_obj == NULL) + { +@@ -285,8 +287,7 @@ js_addCdsObject(JSContext *cx, JSObject + JSString *str2 = JS_NewStringCopyN(cx, tmp.c_str(), tmp.length()); + if (!str2) + return JS_TRUE; +- *rval = STRING_TO_JSVAL(str2); +- ++ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(str2)); + return JS_TRUE; + } + catch (ServerShutdownException se) +@@ -302,7 +303,7 @@ js_addCdsObject(JSContext *cx, JSObject + return JS_TRUE; + } + +-static JSBool convert_charset_generic(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval, charset_convert_t chr) ++static JSBool convert_charset_generic(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, charset_convert_t chr) + { + try + { +@@ -321,7 +322,7 @@ static JSBool convert_charset_generic(JS + { + str = JS_ValueToString(cx, argv[0]); + if (str) +- result = JS_GetStringBytes(str); ++ result = JS_EncodeString(cx, str); + } + + if (result != nil) +@@ -330,7 +331,7 @@ static JSBool convert_charset_generic(JS + JSString *str2 = JS_NewStringCopyN(cx, result.c_str(), result.length()); + if (!str2) + return JS_TRUE; +- *rval = STRING_TO_JSVAL(str2); ++ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(str2)); + } + } + catch (ServerShutdownException se) +@@ -347,24 +348,23 @@ static JSBool convert_charset_generic(JS + } + + +-JSBool js_f2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ++JSBool js_f2i(JSContext *cx, uintN argc, jsval *argv) + { +- return convert_charset_generic(cx, obj, argc, argv, rval, F2I); ++ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, F2I); + } + +-JSBool js_m2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ++JSBool js_m2i(JSContext *cx, uintN argc, jsval *argv) + { +- return convert_charset_generic(cx, obj, argc, argv, rval, M2I); +-} ++ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, M2I); } + +-JSBool js_p2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ++JSBool js_p2i(JSContext *cx, uintN argc, jsval *argv) + { +- return convert_charset_generic(cx, obj, argc, argv, rval, P2I); ++ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, P2I); + } + +-JSBool js_j2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ++JSBool js_j2i(JSContext *cx, uintN argc, jsval *argv) + { +- return convert_charset_generic(cx, obj, argc, argv, rval, J2I); ++ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, J2I); + } + + } // extern "C" +diff -up mediatomb-0.12.1-back/src/scripting/js_functions.h.tonewjs mediatomb-0.12.1-back/src/scripting/js_functions.h +--- mediatomb-0.12.1-back/src/scripting/js_functions.h.tonewjs 2010-03-25 15:58:05.000000000 +0100 ++++ mediatomb-0.12.1-back/src/scripting/js_functions.h 2011-04-18 13:59:29.000000000 +0200 +@@ -40,18 +40,18 @@ + extern "C" { + + /// \brief Log output. +-JSBool js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); ++JSBool js_print(JSContext *cx, uintN argc, jsval *argv); + + /// \brief Adds an object to the database. +-JSBool js_addCdsObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); ++JSBool js_addCdsObject(JSContext *cx, uintN argc, jsval *argv); + + /// \brief Makes a copy of an CDS object. +-JSBool js_copyObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); ++JSBool js_copyObject(JSContext *cx, uintN argc, jsval *argv); + +-JSBool js_f2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); +-JSBool js_m2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); +-JSBool js_p2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); +-JSBool js_j2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); ++JSBool js_f2i(JSContext *cx, uintN argc, jsval *argv); ++JSBool js_m2i(JSContext *cx, uintN argc, jsval *argv); ++JSBool js_p2i(JSContext *cx, uintN argc, jsval *argv); ++JSBool js_j2i(JSContext *cx, uintN argc, jsval *argv); + + } // extern "C" + +diff -up mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc.tonewjs mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc +--- mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc.tonewjs 2011-04-18 13:34:14.000000000 +0200 ++++ mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc 2011-04-18 13:51:59.000000000 +0200 +@@ -46,9 +46,9 @@ using namespace zmm; + extern "C" { + + static JSBool +-js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ++js_readln(JSContext *cx, uintN argc, jsval *argv) + { +- PlaylistParserScript *self = (PlaylistParserScript *)JS_GetPrivate(cx, obj); ++ PlaylistParserScript *self = (PlaylistParserScript *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv)); + + String line; + +@@ -69,7 +69,7 @@ js_readln(JSContext *cx, JSObject *obj, + + JSString *jsline = JS_NewStringCopyZ(cx, line.c_str()); + +- *rval = STRING_TO_JSVAL(jsline); ++ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(jsline)); + + return JS_TRUE; + } +@@ -93,8 +93,8 @@ PlaylistParserScript::PlaylistParserScri + + String scriptPath = ConfigManager::getInstance()->getOption(CFG_IMPORT_SCRIPTING_PLAYLIST_SCRIPT); + load(scriptPath); +- root = JS_NewScriptObject(cx, script); +- JS_AddNamedRoot(cx, &root, "PlaylistScript"); ++ root = JS_NewObject(cx, NULL, script, NULL); ++ JS_AddNamedObjectRoot(cx, &root, "PlaylistScript"); + } + catch (Exception ex) + { +@@ -245,7 +245,7 @@ PlaylistParserScript::~PlaylistParserScr + #endif + + if (root) +- JS_RemoveRoot(cx, &root); ++ JS_RemoveObjectRoot(cx, &root); + + #ifdef JS_THREADSAFE + JS_EndRequest(cx); +diff -up mediatomb-0.12.1-back/src/scripting/script.cc.tonewjs mediatomb-0.12.1-back/src/scripting/script.cc +--- mediatomb-0.12.1-back/src/scripting/script.cc.tonewjs 2011-04-18 13:53:07.000000000 +0200 ++++ mediatomb-0.12.1-back/src/scripting/script.cc 2011-04-19 18:26:34.460338804 +0200 +@@ -87,7 +87,7 @@ String Script::getProperty(JSObject *obj + str = JS_ValueToString(cx, val); + if (! str) + return nil; +- return JS_GetStringBytes(str); ++ return JS_EncodeString(cx, str); + } + + int Script::getBoolProperty(JSObject *obj, String name) +@@ -427,14 +427,14 @@ static JSFunctionSpec js_global_function + try + { + common_script = _load(common_scr_path); +- common_root = JS_NewScriptObject(cx, common_script); +- JS_AddNamedRoot(cx, &common_root, "common-script"); ++ common_root = JS_NewObject(cx, NULL, common_script, NULL); ++ JS_AddNamedObjectRoot(cx, &common_root, "common-script"); + _execute(common_script); + } + catch (Exception e) + { + if (common_root) +- JS_RemoveRoot(cx, &common_root); ++ JS_RemoveObjectRoot(cx, &common_root); + + log_js("Unable to load %s: %s\n", common_scr_path.c_str(), + e.getMessage().c_str()); +@@ -460,7 +460,7 @@ Script::~Script() + JS_BeginRequest(cx); + #endif + if (common_root) +- JS_RemoveRoot(cx, &common_root); ++ JS_RemoveObjectRoot(cx, &common_root); + + /* + * scripts are unrooted and will be cleaned up by GC +@@ -504,11 +504,11 @@ void Script::initGlobalObject() + static JSClass global_class = + { + "global", /* name */ +- JSCLASS_HAS_PRIVATE, /* flags */ ++ JSCLASS_HAS_PRIVATE | JSCLASS_GLOBAL_FLAGS,/* flags */ + JS_PropertyStub, /* add property */ + JS_PropertyStub, /* del property */ + JS_PropertyStub, /* get property */ +- JS_PropertyStub, /* set property */ ++ JS_StrictPropertyStub, /* set property */ + JS_EnumerateStandardClasses, /* enumerate */ + JS_ResolveStub, /* resolve */ + JS_ConvertStub, /* convert */ +@@ -517,7 +517,7 @@ void Script::initGlobalObject() + }; + + /* create the global object here */ +- glob = JS_NewObject(cx, &global_class, NULL, NULL); ++ glob = JS_NewCompartmentAndGlobalObject(cx, &global_class, NULL); + if (! glob) + throw _Exception(_("Scripting: could not initialize glboal class")); + +@@ -539,12 +539,12 @@ void Script::defineFunctions(JSFunctionS + throw _Exception(_("Scripting: JS_DefineFunctions failed")); + } + +-JSScript *Script::_load(zmm::String scriptPath) ++JSObject *Script::_load(zmm::String scriptPath) + { + if (glob == NULL) + initGlobalObject(); + +- JSScript *scr; ++ JSObject *scr; + + String scriptText = read_text_file(scriptPath); + +@@ -571,14 +571,11 @@ JSScript *Script::_load(zmm::String scri + + void Script::load(zmm::String scriptPath) + { +- if (script) +- JS_DestroyScript(cx, script); +- + script = _load((scriptPath)); + } + + +-void Script::_execute(JSScript *scr) ++void Script::_execute(JSObject *scr) + { + jsval ret_val; + +@@ -662,7 +659,7 @@ Ref<CdsObject> Script::jsObject2cdsObjec + JSObject *js_meta = getObjectProperty(js, _("meta")); + if (js_meta) + { +- JS_AddNamedRoot(cx, &js_meta, "meta"); ++ JS_AddNamedObjectRoot(cx, &js_meta, "meta"); + /// \todo: only metadata enumerated in MT_KEYS is taken + for (int i = 0; i < M_MAX; i++) + { +@@ -687,7 +684,7 @@ Ref<CdsObject> Script::jsObject2cdsObjec + } + } + } +- JS_RemoveRoot(cx, &js_meta); ++ JS_RemoveObjectRoot(cx, &js_meta); + } + + // stuff that has not been exported to js +diff -up mediatomb-0.12.1-back/src/scripting/script.h.tonewjs mediatomb-0.12.1-back/src/scripting/script.h +--- mediatomb-0.12.1-back/src/scripting/script.h.tonewjs 2011-04-18 12:56:14.000000000 +0200 ++++ mediatomb-0.12.1-back/src/scripting/script.h 2011-04-18 12:56:51.000000000 +0200 +@@ -66,8 +66,8 @@ public: + JSRuntime *rt; + JSContext *cx; + JSObject *glob; +- JSScript *script; +- JSScript *common_script; ++ JSObject *script; ++ JSObject *common_script; + + public: + Script(zmm::Ref<Runtime> runtime); +@@ -115,8 +115,8 @@ private: + JSObject *common_root; + + void initGlobalObject(); +- JSScript *_load(zmm::String scriptPath); +- void _execute(JSScript *scr); ++ JSObject *_load(zmm::String scriptPath); ++ void _execute(JSObject *scr); + zmm::Ref<StringConverter> _p2i; + zmm::Ref<StringConverter> _j2i; + zmm::Ref<StringConverter> _f2i; +--- mediatomb-0.12.1/configure.tonewjs 2011-07-04 20:20:00.290227110 +1200 ++++ mediatomb-0.12.1/configure 2011-07-04 20:20:28.186894644 +1200 +@@ -23784,14 +23784,14 @@ if test "x$ac_cv_lib_smjs_JS_NewObject" + + else + +- LDFLAGS="-L$JS_SEARCH_LIBS $LDFLAGS_SAVE -lmozjs $ADD_PTHREAD_CFLAGS" +- { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs" >&5 +-$as_echo_n "checking for JS_NewObject in -lmozjs... " >&6; } +-if test "${ac_cv_lib_mozjs_JS_NewObject+set}" = set; then ++ LDFLAGS="-L$JS_SEARCH_LIBS $LDFLAGS_SAVE -lmozjs185 $ADD_PTHREAD_CFLAGS" ++ { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs185" >&5 ++$as_echo_n "checking for JS_NewObject in -lmozjs185... " >&6; } ++if test "${ac_cv_lib_mozjs185_JS_NewObject+set}" = set; then + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lmozjs $LIBS" ++LIBS="-lmozjs185 $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -23835,12 +23835,12 @@ $as_echo "$ac_try_echo") >&5 + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +- ac_cv_lib_mozjs_JS_NewObject=yes ++ ac_cv_lib_mozjs185_JS_NewObject=yes + else + $as_echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +- ac_cv_lib_mozjs_JS_NewObject=no ++ ac_cv_lib_mozjs185_JS_NewObject=no + fi + + rm -rf conftest.dSYM +@@ -23848,12 +23848,12 @@ rm -f core conftest.err conftest.$ac_obj + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs_JS_NewObject" >&5 +-$as_echo "$ac_cv_lib_mozjs_JS_NewObject" >&6; } +-if test "x$ac_cv_lib_mozjs_JS_NewObject" = x""yes; then ++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs185_JS_NewObject" >&5 ++$as_echo "$ac_cv_lib_mozjs185_JS_NewObject" >&6; } ++if test "x$ac_cv_lib_mozjs185_JS_NewObject" = x""yes; then + +- JS_LIBS="-L$JS_SEARCH_LIBS -lmozjs" +- MOZLIB=mozjs ++ JS_LIBS="-L$JS_SEARCH_LIBS -lmozjs185" ++ MOZLIB=mozjs185 + + else + +@@ -24020,13 +24020,13 @@ if test "x$ac_cv_lib_smjs_JS_NewObject" + else + + unset ac_cv_lib_smjs_JS_NewObject +- { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs" >&5 +-$as_echo_n "checking for JS_NewObject in -lmozjs... " >&6; } +-if test "${ac_cv_lib_mozjs_JS_NewObject+set}" = set; then ++ { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs185" >&5 ++$as_echo_n "checking for JS_NewObject in -lmozjs185... " >&6; } ++if test "${ac_cv_lib_mozjs185_JS_NewObject+set}" = set; then + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lmozjs $LIBS" ++LIBS="-lmozjs185 $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -24070,12 +24070,12 @@ $as_echo "$ac_try_echo") >&5 + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +- ac_cv_lib_mozjs_JS_NewObject=yes ++ ac_cv_lib_mozjs185_JS_NewObject=yes + else + $as_echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +- ac_cv_lib_mozjs_JS_NewObject=no ++ ac_cv_lib_mozjs185_JS_NewObject=no + fi + + rm -rf conftest.dSYM +@@ -24083,12 +24083,12 @@ rm -f core conftest.err conftest.$ac_obj + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs_JS_NewObject" >&5 +-$as_echo "$ac_cv_lib_mozjs_JS_NewObject" >&6; } +-if test "x$ac_cv_lib_mozjs_JS_NewObject" = x""yes; then ++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs185_JS_NewObject" >&5 ++$as_echo "$ac_cv_lib_mozjs185_JS_NewObject" >&6; } ++if test "x$ac_cv_lib_mozjs185_JS_NewObject" = x""yes; then + +- MOZLIB=mozjs +- JS_LIBS="-lmozjs" ++ MOZLIB=mozjs185 ++ JS_LIBS="-lmozjs185" + + else + +@@ -24239,15 +24239,15 @@ if test "x$ac_cv_lib_smjs_JS_NewObject" + + else + +- LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE -lmozjs" +- unset ac_cv_lib_mozjs_JS_NewObject +- { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs" >&5 +-$as_echo_n "checking for JS_NewObject in -lmozjs... " >&6; } +-if test "${ac_cv_lib_mozjs_JS_NewObject+set}" = set; then ++ LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE -lmozjs185" ++ unset ac_cv_lib_mozjs185_JS_NewObject ++ { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs185" >&5 ++$as_echo_n "checking for JS_NewObject in -lmozjs185... " >&6; } ++if test "${ac_cv_lib_mozjs185_JS_NewObject+set}" = set; then + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lmozjs $LIBS" ++LIBS="-lmozjs185 $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -24291,12 +24291,12 @@ $as_echo "$ac_try_echo") >&5 + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then +- ac_cv_lib_mozjs_JS_NewObject=yes ++ ac_cv_lib_mozjs185_JS_NewObject=yes + else + $as_echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +- ac_cv_lib_mozjs_JS_NewObject=no ++ ac_cv_lib_mozjs185_JS_NewObject=no + fi + + rm -rf conftest.dSYM +@@ -24304,12 +24304,12 @@ rm -f core conftest.err conftest.$ac_obj + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs_JS_NewObject" >&5 +-$as_echo "$ac_cv_lib_mozjs_JS_NewObject" >&6; } +-if test "x$ac_cv_lib_mozjs_JS_NewObject" = x""yes; then ++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs185_JS_NewObject" >&5 ++$as_echo "$ac_cv_lib_mozjs185_JS_NewObject" >&6; } ++if test "x$ac_cv_lib_mozjs185_JS_NewObject" = x""yes; then + +- JS_LIBS="-L$SEARCH_DIR_LIBS -lmozjs" +- MOZLIB=mozjs ++ JS_LIBS="-L$SEARCH_DIR_LIBS -lmozjs185" ++ MOZLIB=mozjs185 + + else + diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD index d7b701df5..04fa547a9 100644 --- a/community/mongodb/PKGBUILD +++ b/community/mongodb/PKGBUILD @@ -4,28 +4,36 @@ pkgname=mongodb pkgver=1.8.2 -pkgrel=4 +pkgrel=5 pkgdesc='A high-performance, open source, schema-free document-oriented database.' arch=('i686' 'x86_64') url='http://www.mongodb.org' license=('AGPL3') -depends=('boost-libs' 'spidermonkey' 'pcre') +depends=('boost-libs' 'js' 'pcre') makedepends=('scons' 'boost') optdepends=('libpcap: needed for mongosniff') backup=('etc/mongodb.conf') install="mongodb.install" source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz" 'mongodb.rc' - 'mongodb.conf') + 'mongodb.conf' + 'mongodb-1.8.0-spidermonkey-1.8.5-support.patch' + 'add-js185-support-to-SConstruct.diff') md5sums=('951fb1a75d90fc822cf4528585a970cf' '85eaa28e349fdc6250f883624e624cca' - '4839fe1d638187ca3226e8267b947318') + '4839fe1d638187ca3226e8267b947318' + '2e6409732fba887c9cfe81257b5260ad' + 'ca7e62be31389d951bfd8848b1675c1b') build() { export SCONSFLAGS="$MAKEFLAGS" cd mongodb-src-r${pkgver} + # js185 support https://jira.mongodb.org/browse/SERVER-2887 + patch -Np1 -i ${srcdir}/mongodb-1.8.0-spidermonkey-1.8.5-support.patch + patch -Np0 -i ${srcdir}/add-js185-support-to-SConstruct.diff + scons \ all \ --full diff --git a/community/perl-gd/PKGBUILD b/community/perl-gd/PKGBUILD index b29f364b0..e93bfa0fa 100644 --- a/community/perl-gd/PKGBUILD +++ b/community/perl-gd/PKGBUILD @@ -1,9 +1,10 @@ -# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman +# $Id: PKGBUILD 51555 2011-07-11 14:02:13Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Sergej Pupykin <pupykin.s+aur@gmail.com> pkgname=perl-gd -pkgver=2.44 -pkgrel=4 +pkgver=2.46 +pkgrel=1 pkgdesc="Interface to Gd Graphics Library" arch=('i686' 'x86_64') url="http://search.cpan.org/dist/GD" @@ -11,19 +12,18 @@ license=('GPL' 'PerlArtistic') depends=('gd') options=('!emptydirs') source=(http://www.cpan.org/authors/id/L/LD/LDS/GD-$pkgver.tar.gz) -md5sums=('9b9a4d78a5af0616a96264b0aa354859') +md5sums=('ea86a94eb45330eae27ecbfd5c2f43bb') build() { cd $srcdir/GD-$pkgver - + unset CFLAGS + unset LDFLAGS PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor - - make + make CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" } package() { cd $srcdir/GD-$pkgver make install DESTDIR=$pkgdir - install -D -m0644 GD/Group.pm $pkgdir/usr/lib/perl5/vendor_perl/GD/Group.pm find $pkgdir -name '.packlist' -delete find $pkgdir -name '*.pod' -delete } diff --git a/community/protobuf/PKGBUILD b/community/protobuf/PKGBUILD index a91085f0b..8a5c3b2df 100644 --- a/community/protobuf/PKGBUILD +++ b/community/protobuf/PKGBUILD @@ -2,26 +2,36 @@ # Contributor: Geoffroy Carrier <geoffroy@archlinux.org> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> -pkgname=protobuf -pkgver=2.4.0a +pkgbase=protobuf +pkgname=('protobuf' 'protobuf-python') +pkgver=2.4.1 pkgrel=1 pkgdesc="A way of encoding structured data in an efficient yet extensible format" arch=('i686' 'x86_64') url="http://code.google.com/p/protobuf/" license=('APACHE') depends=('gcc-libs' 'zlib') +makedepends=('python2' 'setuptools') options=(!libtool) source=(http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.bz2) -md5sums=('61df3f63ec284fc6f57a68c67e4918c6') +md5sums=('ed436802019c9e1f40cc750eaf78f318') build() { cd $srcdir/$pkgname-$pkgver - ./autogen.sh - ./configure --prefix=/usr --disable-static + ./autogen.sh + ./configure --prefix=/usr --disable-static } -package() { +package_protobuf() { cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install } + +package_protobuf-python() { + pkgdesc="protobuf python API" +# arch=('any') + depends=("python2" "protobuf=${pkgver}") + + cd $srcdir/protobuf-$pkgver/python + python2 setup.py install --prefix=/usr --root $pkgdir +} diff --git a/community/redshift/PKGBUILD b/community/redshift/PKGBUILD index fbeb4a814..166657069 100644 --- a/community/redshift/PKGBUILD +++ b/community/redshift/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 31256 2010-10-28 22:51:59Z lfleischer $ +# $Id: PKGBUILD 51577 2011-07-11 18:47:40Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Geoffrey Teale <tealeg@stop-squark> # Contributor: Mark, Huo Mian <markhuomian[at]gmail[dot]com> # Contributor: Biginoz <biginoz a free dot fr> pkgname=redshift -pkgver=1.6 -pkgrel=6 +pkgver=1.7 +pkgrel=1 pkgdesc="Adjusts the color temperature of your screen according to your surroundings." arch=('i686' 'x86_64') url='http://jonls.dk/redshift/' @@ -16,7 +16,7 @@ optdepends=('pyxdg: for gtk-redshift') makedepends=('python2') install='redshift.install' source=("http://launchpad.net/${pkgname}/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.bz2") -md5sums=('bd75b317b8ee492a4483e91a94f2b0c1') +md5sums=('c56512afa292b5a94b715ed4a1841d4c') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index 743c0fe49..ecba694b3 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 129471 2011-06-28 04:17:45Z allan $ +# $Id: PKGBUILD 130912 2011-07-09 03:10:41Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,7 +6,7 @@ pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go') pkgver=4.6.1 -pkgrel=1 +pkgrel=2 #_snapshot=4.6-20110603 _libstdcppmanver=20110201 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection" @@ -140,6 +140,10 @@ package_gcc() ln -sf gcc ${pkgdir}/usr/bin/cc ln -sf g++ ${pkgdir}/usr/bin/c++ + # install gengtype for plugin support + install -m755 gcc/build/gengtype $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/ + install -m644 gcc/gtype.state $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/ + # POSIX conformance launcher scripts for c89 and c99 cat > $pkgdir/usr/bin/c89 <<"EOF" #!/bin/sh diff --git a/extra/avahi/PKGBUILD b/extra/avahi/PKGBUILD index 63f079778..812aeeaa0 100644 --- a/extra/avahi/PKGBUILD +++ b/extra/avahi/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 126809 2011-06-07 12:12:31Z bisson $ +# $Id: PKGBUILD 128481 2011-06-24 03:51:45Z bisson $ # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=avahi pkgver=0.6.30 -pkgrel=3 +pkgrel=4 pkgdesc='A multicast/unicast DNS-SD framework' arch=('i686' 'x86_64') url='http://www.avahi.org/' @@ -22,23 +22,23 @@ optdepends=('gtk3: avahi-discover-standalone, bshell, bssh, bvnc' makedepends=('qt' 'qt3' 'pygtk' 'mono' 'intltool' 'dbus-python' 'gtk-sharp-2' 'gobject-introspection' 'gtk3') backup=(etc/avahi/avahi-daemon.conf etc/avahi/services/{sftp-,}ssh.service) -install=avahi.install +install=install conflicts=('howl' 'mdnsresponder') provides=('howl' 'mdnsresponder') replaces=('howl' 'mdnsresponder') options=('!libtool') source=("http://www.avahi.org/download/avahi-${pkgver}.tar.gz" - 'avahi-daemon-dbus.patch' - 'gnome-nettool.png') + 'gnome-nettool.png' + 'rc.d.patch') sha1sums=('5b77443537600a00770e4c77e3c443eeb5861d06' - '36735096a6eeb3a4012fe14f875259ee8558e220' - 'cf56387c88aed246b9f435efc182ef44de4d52f3') + 'cf56387c88aed246b9f435efc182ef44de4d52f3' + '625ad7c131c0c1c383caeddef18fc7a32d8f3ab9') build() { cd "${srcdir}/${pkgname}-${pkgver}" sed -i 's/netdev/network/g' avahi-daemon/avahi-dbus.conf - patch -p1 -i "../avahi-daemon-dbus.patch" + patch -p1 -i "../rc.d.patch" # pygtk requires python2; make it explicit in case other python are installed: FS#21865 PYTHON=python2 \ diff --git a/extra/avahi/install b/extra/avahi/install new file mode 100644 index 000000000..7c75c3dd4 --- /dev/null +++ b/extra/avahi/install @@ -0,0 +1,21 @@ +post_install() { + getent group avahi &>/dev/null || groupadd -r -g 84 avahi >/dev/null + getent passwd avahi &>/dev/null || useradd -r -u 84 -g avahi -d / -s /bin/false -c avahi avahi >/dev/null + + cat <<EOF +==> The following daemons may be added to DAEMONS in /etc/rc.conf: +==> avahi-daemon: the mdns responder, you probably want this. +==> dbus needs to be running when you start it. +==> avahi-dnsconfd: daemon used for peer-to-peer automatic dns +==> configuration on dhcp-less networks. + +==> To use some of the client applications you will have to install python. +==> In addition, pygtk is required for the graphical ones and +==> twisted for avahi-bookmarks. +EOF +} + +post_remove() { + getent passwd avahi &>/dev/null && userdel avahi >/dev/null + getent group avahi &>/dev/null && groupdel avahi >/dev/null +} diff --git a/extra/avahi/rc.d.patch b/extra/avahi/rc.d.patch new file mode 100644 index 000000000..fd735734b --- /dev/null +++ b/extra/avahi/rc.d.patch @@ -0,0 +1,11 @@ +diff -aur old/initscript/archlinux/avahi-daemon.in new/initscript/archlinux/avahi-daemon.in +--- old/initscript/archlinux/avahi-daemon.in 2011-06-24 03:07:00.916170590 +0200 ++++ new/initscript/archlinux/avahi-daemon.in 2011-06-24 03:16:32.220596377 +0200 +@@ -33,6 +33,7 @@ + + case "$1" in + start) ++ ck_daemon dbus && { echo -n "Start dbus first." >&2; stat_die; } + stat_busy "Starting $DESC" + $DAEMON -D > /dev/null 2>&1 + if [ $? -gt 0 ]; then diff --git a/extra/gimp-devel/PKGBUILD b/extra/gimp-devel/PKGBUILD index 16ede8148..a7667f16d 100644 --- a/extra/gimp-devel/PKGBUILD +++ b/extra/gimp-devel/PKGBUILD @@ -1,45 +1,48 @@ -# $Id: PKGBUILD 119839 2011-04-15 18:55:33Z eric $ +# $Id: PKGBUILD 130357 2011-07-05 18:03:52Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=gimp-devel pkgver=2.7.2 -pkgrel=1 +pkgrel=2 pkgdesc="GNU Image Manipulation Program (Development Version)" arch=('i686' 'x86_64') url="http://www.gimp.org/" -license=('GPL') -depends=('gtk2' 'lcms' 'libxpm' 'libwmf' 'libxmu' 'librsvg' 'libmng' 'dbus-glib' \ - 'libexif' 'pygtk' 'desktop-file-utils' 'gegl' 'hicolor-icon-theme') -makedepends=('gutenprint' 'intltool' 'libwebkit' 'gnome-python' 'poppler-glib' \ - 'pkg-config' 'alsa-lib' 'iso-codes') +license=('GPL3' 'LGPL3') +depends=('pygtk' 'lcms' 'libxpm' 'libwmf' 'librsvg' 'libmng' 'dbus-glib' \ + 'jasper' 'libexif' 'gegl' 'desktop-file-utils' 'hicolor-icon-theme') +makedepends=('intltool' 'libwebkit' 'poppler-glib' 'alsa-lib' 'iso-codes' 'curl') optdepends=('gutenprint: for sophisticated printing only as gimp has built-in cups print support' - 'libwebkit: for the help browser' + 'libwebkit: for the help browser or web-page plug-ins' 'poppler-glib: for pdf support' - 'alsa-lib: for MIDI event controller module') + 'alsa-lib: for MIDI event controller module' + 'curl: for URI support') options=('!libtool' '!makeflags') conflicts=('gimp') provides=("gimp=${pkgver}") install=gimp-devel.install -source=(ftp://ftp.gimp.org/pub/gimp/v${pkgver%.*}/gimp-${pkgver}.tar.bz2 linux.gpl) +source=(ftp://ftp.gimp.org/pub/gimp/v${pkgver%.*}/gimp-${pkgver}.tar.bz2 linux.gpl + uri-backend-libcurl.patch) md5sums=('6996138ab70b0bfebfe9f563284e5f78' - 'bb27bc214261d36484093e857f015f38') + 'bb27bc214261d36484093e857f015f38' + 'b3f8faa246e5794b0d63583059f54698') sha1sums=('4690420961d110f99448c32fe61aae7d4869a863' - '110ce9798173b19a662d086ed7b882b4729f06cf') + '110ce9798173b19a662d086ed7b882b4729f06cf' + '8a87adc11ee13d5fce79ea4226f04e682a2af97d') build() { cd "${srcdir}/gimp-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc \ + patch -p1 < ../uri-backend-libcurl.patch + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ --enable-mp --enable-gimp-console --enable-gimp-remote \ - --enable-python --with-gif-compression=lzw \ - --without-aa --without-hal + --enable-python --with-gif-compression=lzw --with-libcurl \ + --without-aa --without-hal --without-gvfs make } package() { cd "${srcdir}/gimp-${pkgver}" - make DESTDIR="${pkgdir}" install-strip + make DESTDIR="${pkgdir}" install sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' "${pkgdir}"/usr/lib/gimp/2.0/plug-ins/*.py - install -D -m644 "${srcdir}/linux.gpl" "${pkgdir}/usr/share/gimp/2.0/palettes/Linux.gpl" ln -sf gimp-console-${pkgver%.*}.1.gz "${pkgdir}/usr/share/man/man1/gimp-console.1.gz" diff --git a/extra/gimp-devel/uri-backend-libcurl.patch b/extra/gimp-devel/uri-backend-libcurl.patch new file mode 100644 index 000000000..d3217a292 --- /dev/null +++ b/extra/gimp-devel/uri-backend-libcurl.patch @@ -0,0 +1,44 @@ +diff -aur gimp-2.6.11/plug-ins/file-uri/uri-backend-libcurl.c gimp-2.6.11.patched/plug-ins/file-uri/uri-backend-libcurl.c +--- gimp-2.6.11/plug-ins/file-uri/uri-backend-libcurl.c 2010-07-03 00:51:59.000000000 +0200 ++++ gimp-2.6.11.patched/plug-ins/file-uri/uri-backend-libcurl.c 2011-06-23 19:15:30.000000000 +0200 +@@ -24,7 +23,6 @@ + #include <errno.h> + + #include <curl/curl.h> +-#include <curl/types.h> + #include <curl/easy.h> + + #include <glib/gstdio.h> +@@ -63,7 +61,7 @@ + + vinfo = curl_version_info (CURLVERSION_NOW); + +- protocols = g_string_new ("http:,ftp:"); ++ protocols = g_string_new ("http:,ftp:,gopher:"); + + if (vinfo->features & CURL_VERSION_SSL) + { +@@ -153,7 +151,7 @@ + FILE *out_file; + CURL *curl_handle; + CURLcode result; +- gint response_code; ++ glong response_code; + + gimp_progress_init (_("Connecting to server")); + +@@ -195,12 +193,12 @@ + + curl_easy_getinfo (curl_handle, CURLINFO_RESPONSE_CODE, &response_code); + +- if (response_code != 200) ++ if (response_code != 200 && response_code != 226 && response_code != 0) + { + fclose (out_file); + g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, + _("Opening '%s' for reading resulted in HTTP " +- "response code: %d"), ++ "response code: %ld"), + uri, response_code); + curl_easy_cleanup (curl_handle); + return FALSE; diff --git a/extra/gimp/PKGBUILD b/extra/gimp/PKGBUILD index c0bab91ef..a04de0a07 100644 --- a/extra/gimp/PKGBUILD +++ b/extra/gimp/PKGBUILD @@ -1,42 +1,46 @@ -# $Id: PKGBUILD 119782 2011-04-15 08:31:34Z jgc $ +# $Id: PKGBUILD 130354 2011-07-05 17:55:54Z eric $ # Maintainer: tobias <tobias@archlinux.org> pkgname=gimp pkgver=2.6.11 -pkgrel=5 +pkgrel=6 pkgdesc="GNU Image Manipulation Program" arch=('i686' 'x86_64') url="http://www.gimp.org/" -license=('GPL') -depends=('gtk2' 'lcms' 'libxpm' 'libwmf' 'libxmu' 'librsvg' 'libmng' 'dbus-glib' \ - 'libexif' 'pygtk' 'desktop-file-utils' 'gegl') -makedepends=('gutenprint' 'intltool' 'libwebkit' 'gnome-python' 'poppler-glib' \ - 'pkg-config' 'alsa-lib' 'iso-codes') +license=('GPL' 'LGPL') +depends=('pygtk' 'lcms' 'libxpm' 'libwmf' 'libxmu' 'librsvg' 'libmng' 'dbus-glib' \ + 'libexif' 'gegl' 'desktop-file-utils' 'hicolor-icon-theme') +makedepends=('intltool' 'libwebkit' 'poppler-glib' 'alsa-lib' 'iso-codes' 'curl') optdepends=('gutenprint: for sophisticated printing only as gimp has built-in cups print support' 'libwebkit: for the help browser' 'poppler-glib: for pdf support' - 'alsa-lib: for MIDI event controller module') + 'alsa-lib: for MIDI event controller module' + 'curl: for URI support') options=('!libtool' '!makeflags') conflicts=('gimp-devel') install=gimp.install -source=(ftp://ftp.gimp.org/pub/gimp/v${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 linux.gpl) +source=(ftp://ftp.gimp.org/pub/gimp/v${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 linux.gpl + uri-backend-libcurl.patch) md5sums=('bb2939fe13e54fc7255cef5d097bb5dd' - 'bb27bc214261d36484093e857f015f38') + 'bb27bc214261d36484093e857f015f38' + 'e894f4b2ffa92c71448fdd350e9b78c6') sha1sums=('2f9d596e727bdbf304fa78257c1731d9faf3934c' - '110ce9798173b19a662d086ed7b882b4729f06cf') + '110ce9798173b19a662d086ed7b882b4729f06cf' + 'a65b0ee6cd1b4345065b7b98c07f2fed15f844f4') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc \ + patch -p1 < ../uri-backend-libcurl.patch + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ --enable-mp --enable-gimp-console --enable-gimp-remote \ - --enable-python --with-gif-compression=lzw \ - --without-aa --without-hal + --enable-python --with-gif-compression=lzw --with-libcurl \ + --without-aa --without-hal --without-gvfs --without-gnomevfs make } package() { cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install-strip + make DESTDIR="${pkgdir}" install sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' "${pkgdir}"/usr/lib/gimp/2.0/plug-ins/*.py install -D -m644 "${srcdir}/linux.gpl" "${pkgdir}/usr/share/gimp/2.0/palettes/Linux.gpl" diff --git a/extra/gimp/uri-backend-libcurl.patch b/extra/gimp/uri-backend-libcurl.patch new file mode 100644 index 000000000..85da2fc7f --- /dev/null +++ b/extra/gimp/uri-backend-libcurl.patch @@ -0,0 +1,77 @@ +diff -aur gimp-2.6.11/plug-ins/file-uri/uri-backend-libcurl.c gimp-2.6.11.patched/plug-ins/file-uri/uri-backend-libcurl.c +--- gimp-2.6.11/plug-ins/file-uri/uri-backend-libcurl.c 2010-07-03 00:51:59.000000000 +0200 ++++ gimp-2.6.11.patched/plug-ins/file-uri/uri-backend-libcurl.c 2011-06-23 19:15:30.000000000 +0200 +@@ -4,9 +4,9 @@ + * libcurl backend for the URI plug-in + * Copyright (C) 2006 Mukund Sivaraman <muks@mukund.org> + * +- * This program is free software; you can redistribute it and/or modify ++ * 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 ++ * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, +@@ -15,8 +15,7 @@ + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + #include "config.h" +@@ -24,7 +23,6 @@ + #include <errno.h> + + #include <curl/curl.h> +-#include <curl/types.h> + #include <curl/easy.h> + + #include <glib/gstdio.h> +@@ -63,7 +61,7 @@ + + vinfo = curl_version_info (CURLVERSION_NOW); + +- protocols = g_string_new ("http:,ftp:"); ++ protocols = g_string_new ("http:,ftp:,gopher:"); + + if (vinfo->features & CURL_VERSION_SSL) + { +@@ -153,7 +151,7 @@ + FILE *out_file; + CURL *curl_handle; + CURLcode result; +- gint response_code; ++ glong response_code; + + gimp_progress_init (_("Connecting to server")); + +@@ -195,12 +193,12 @@ + + curl_easy_getinfo (curl_handle, CURLINFO_RESPONSE_CODE, &response_code); + +- if (response_code != 200) ++ if (response_code != 200 && response_code != 226 && response_code != 0) + { + fclose (out_file); + g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, + _("Opening '%s' for reading resulted in HTTP " +- "response code: %d"), ++ "response code: %ld"), + uri, response_code); + curl_easy_cleanup (curl_handle); + return FALSE; +@@ -224,3 +222,10 @@ + + return FALSE; + } ++ ++gchar * ++uri_backend_map_image (const gchar *uri, ++ GimpRunMode run_mode) ++{ ++ return NULL; ++} diff --git a/extra/gjs/PKGBUILD b/extra/gjs/PKGBUILD index 34fd492d4..3ce7f9db8 100644 --- a/extra/gjs/PKGBUILD +++ b/extra/gjs/PKGBUILD @@ -1,20 +1,24 @@ -# $Id: PKGBUILD 117650 2011-04-04 14:59:48Z ibiru $ +# $Id: PKGBUILD 130216 2011-07-04 12:55:31Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gjs pkgver=0.7.14 -pkgrel=1 +pkgrel=2 pkgdesc="Javascript Bindings for GNOME" arch=('i686' 'x86_64') url="http://live.gnome.org/Gjs" license=('GPL') -depends=('gobject-introspection' 'xulrunner') +depends=('cairo' 'dbus-glib' 'gobject-introspection' 'js') options=('!libtool') -source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('3af6f449a505c419d4a0e5938737da8d1b9b09b33710cc1ac1edee2eaa86e348') +source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2 + gjs-0.7.14-js185-backport.patch) +sha256sums=('3af6f449a505c419d4a0e5938737da8d1b9b09b33710cc1ac1edee2eaa86e348' + 'b1fd3b8aa5978c5b60bfe39ce4298e67b9baa190d9cbf1a0ebe47af356197335') build() { cd "${srcdir}/${pkgname}-${pkgver}" sed -i 's|python|python2|' scripts/make-tests + patch -Np1 -i "${srcdir}/gjs-0.7.14-js185-backport.patch" + autoreconf -fi ./configure --prefix=/usr --disable-static make } diff --git a/extra/gjs/gjs-0.7.14-js185-backport.patch b/extra/gjs/gjs-0.7.14-js185-backport.patch new file mode 100644 index 000000000..b8b2082a3 --- /dev/null +++ b/extra/gjs/gjs-0.7.14-js185-backport.patch @@ -0,0 +1,436 @@ +From cef9c0835bfd8be105ff8905083d6b51d9010b8f Mon Sep 17 00:00:00 2001 +From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> +Date: Fri, 1 Apr 2011 21:04:57 +0200 +Subject: [PATCH 1/4] Conditionally adapt to JS_DestroyScript removal + +Upstream changed the behaviour of several things about JSScripts in +http://hg.mozilla.org/mozilla-central/rev/c919a7271ac1 + +We now have to use a JSObject instead of a JSScript in certain circumstances, +and we no longer have to call JS_DestroyScript which no longer exists + +https://bugzilla.gnome.org/show_bug.cgi?id=646471 + +Conflicts: + + configure.ac +--- + configure.ac | 1 + + modules/console.c | 6 ++++++ + 2 files changed, 7 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 715f2c3..f81704b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -160,6 +160,7 @@ AC_CHECK_LIB([mozjs], [JS_GetFunctionName], AC_DEFINE([HAVE_JS_GETFUNCTIONNAME], + AC_CHECK_LIB([mozjs], [JS_GetStringChars], AC_DEFINE([HAVE_JS_GETSTRINGCHARS], [1], [Define if we still have JS_GetStringChars]),, [$JS_LIBS]) + AC_CHECK_LIB([mozjs], [JS_StrictPropertyStub], AC_DEFINE([HAVE_JS_STRICTPROPERTYSTUB], [1], [Define if we have JS_StrictPropertyStub]),, [$JS_LIBS]) + AC_CHECK_LIB([mozjs], [JS_GetGlobalForScopeChain], AC_DEFINE([HAVE_JS_GETGLOBALFORSCOPECHAIN], [1], [Define if we have JS_GetGlobalForScopeChain]),, [$JS_LIBS]) ++AC_CHECK_LIB([mozjs], [JS_DestroyScript], AC_DEFINE([HAVE_JS_DESTROYSCRIPT], [1], [Define if we still have JS_DestroyScript]),, [$JS_LIBS]) + + AC_MSG_CHECKING([for mozilla-js >= 2 ]) + if `$PKG_CONFIG --exists $JS_PACKAGE '>=' 2`; then +diff --git a/modules/console.c b/modules/console.c +index 49f891b..e6945be 100644 +--- a/modules/console.c ++++ b/modules/console.c +@@ -161,7 +161,11 @@ gjs_console_interact(JSContext *context, + { + JSObject *object = JS_THIS_OBJECT(context, vp); + gboolean eof = FALSE; ++#ifdef HAVE_JS_DESTROYSCRIPT + JSScript *script = NULL; ++#else ++ JSObject *script = NULL; ++#endif + jsval result; + JSString *str; + GString *buffer = NULL; +@@ -219,8 +223,10 @@ gjs_console_interact(JSContext *context, + } + + next: ++#ifdef HAVE_JS_DESTROYSCRIPT + if (script) + JS_DestroyScript(context, script); ++#endif + g_string_free(buffer, TRUE); + } while (!eof); + +-- +1.7.5.4 + + +From 3c8396821c78e362c8b3a89a27dcf4d32e25ee05 Mon Sep 17 00:00:00 2001 +From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> +Date: Fri, 29 Apr 2011 01:01:03 +0200 +Subject: [PATCH 2/4] conditonally adapt to JS_BufferIsCompilableUnit changes + +Upstream added an argument to JS_BufferIsCompilableUnit in commit +http://hg.mozilla.org/mozilla-central/rev/a773890b676f +We now have to tell if the bytes are utf8 or not. + +https://bugzilla.gnome.org/show_bug.cgi?id=646471 +--- + configure.ac | 1 + + modules/console.c | 4 ++++ + 2 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f81704b..270bc46 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -161,6 +161,7 @@ AC_CHECK_LIB([mozjs], [JS_GetStringChars], AC_DEFINE([HAVE_JS_GETSTRINGCHARS], [ + AC_CHECK_LIB([mozjs], [JS_StrictPropertyStub], AC_DEFINE([HAVE_JS_STRICTPROPERTYSTUB], [1], [Define if we have JS_StrictPropertyStub]),, [$JS_LIBS]) + AC_CHECK_LIB([mozjs], [JS_GetGlobalForScopeChain], AC_DEFINE([HAVE_JS_GETGLOBALFORSCOPECHAIN], [1], [Define if we have JS_GetGlobalForScopeChain]),, [$JS_LIBS]) + AC_CHECK_LIB([mozjs], [JS_DestroyScript], AC_DEFINE([HAVE_JS_DESTROYSCRIPT], [1], [Define if we still have JS_DestroyScript]),, [$JS_LIBS]) ++AC_CHECK_LIB([mozjs], [JS_DecodeUTF8], AC_DEFINE([HAVE_JS_DECODEUTF8], [1], [Define if we have JS_DecodeUTF8]),, [$JS_LIBS]) + + AC_MSG_CHECKING([for mozilla-js >= 2 ]) + if `$PKG_CONFIG --exists $JS_PACKAGE '>=' 2`; then +diff --git a/modules/console.c b/modules/console.c +index e6945be..8e20db3 100644 +--- a/modules/console.c ++++ b/modules/console.c +@@ -196,7 +196,11 @@ gjs_console_interact(JSContext *context, + g_string_append(buffer, temp_buf); + g_free(temp_buf); + lineno++; ++#ifdef HAVE_JS_DECODEUTF8 ++ } while (!JS_BufferIsCompilableUnit(context, JS_TRUE, object, buffer->str, buffer->len)); ++#else + } while (!JS_BufferIsCompilableUnit(context, object, buffer->str, buffer->len)); ++#endif + + script = JS_CompileScript(context, object, buffer->str, buffer->len, "typein", + startline); +-- +1.7.5.4 + + +From 00dd38de7ac8e82ac35c40909707fa91665c3102 Mon Sep 17 00:00:00 2001 +From: Colin Walters <walters@verbum.org> +Date: Thu, 5 May 2011 12:49:09 -0400 +Subject: [PATCH 3/4] JS_CLASS_TRACE is a preprocessor macro, can't use + AC_CHECK_LIB + +Conflicts: + + configure.ac +--- + configure.ac | 24 ++++++++++++++++++++++++ + 1 files changed, 24 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 270bc46..d259471 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -230,6 +230,30 @@ if test "$have_jslocale_to_unicode_const" = yes; then + AC_DEFINE([JS_LOCALETOUNICODE_NEEDS_CONST_CHAR], [1], [Define if JSLocaleToUnicode takes a const char* for its src]) + fi + ++save_CFLAGS="$CFLAGS" ++CFLAGS="$CFLAGS $JS_CFLAGS" ++AC_MSG_CHECKING([for JS_CLASS_TRACE macro]) ++AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[ ++ #include <jsapi.h> ++ #ifndef JS_CLASS_TRACE ++ #error "No JS_CLASS_TRACE" ++ #endif ++ ]], ++ [[(void) 0;]] ++ )], ++ [have_js_class_trace=yes], ++ [have_js_class_trace=no]) ++ ++if test "x$have_js_class_trace" = xyes; then ++ AC_MSG_RESULT([yes]) ++ AC_DEFINE([HAVE_JS_CLASS_TRACE], [1], [Define if we still have JS_CLASS_TRACE]) ++else ++ AC_MSG_RESULT([no]) ++fi ++CFLAGS="$save_CFLAGS" ++ + common_packages="gobject-2.0 >= gobject_required_version $JS_PACKAGE" + gjs_packages="gmodule-2.0 gthread-2.0 $common_packages" + gjs_gi_packages="gobject-introspection-1.0 >= 0.10.1 $common_packages" +-- +1.7.5.4 + + +From 5553cdd691ffddae3e3ffa5cc75e6575a237d0b7 Mon Sep 17 00:00:00 2001 +From: Colin Walters <walters@verbum.org> +Date: Wed, 4 May 2011 14:14:18 -0400 +Subject: [PATCH 4/4] Support compilation with standalone mozjs185 release + +Adjust the detection logic so that we look for mozjs-185.pc first. If +we have this, we can skip all kinds of insanity. + +See https://bugzilla.mozilla.org/show_bug.cgi?id=628723 +for the discussion about creating this release. + +https://bugzilla.gnome.org/show_bug.cgi?id=646369 + +Conflicts: + + configure.ac +--- + configure.ac | 218 ++++++++++++++++++++++++++++++++-------------------------- + 1 files changed, 121 insertions(+), 97 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d259471..cb54ffc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -91,124 +91,148 @@ m4_define(gobject_required_version, 2.18.0) + AC_CHECK_HEADERS([malloc.h]) + AC_CHECK_FUNCS(mallinfo) + +-# Look for Spidermonkey. If js-config exists, use that; +-# otherwise we try some pkgconfig files from various distributions. ++# First, try separate mozjs185 release ++AC_MSG_CHECKING([for standalone mozjs]) ++PKG_CHECK_EXISTS([mozjs185], JS_PACKAGE=mozjs185,) ++if test x$JS_PACKAGE != x; then ++ FIREFOX_JS_LIBDIR=`$PKG_CONFIG --variable=libdir $JS_PACKAGE` ++ MOZJS_IS_STANDALONE=yes ++ MOZJS_LIB=mozjs185 ++ AC_MSG_RESULT([yes]) ++ PKG_CHECK_MODULES(JS, $JS_PACKAGE) ++else ++ AC_MSG_RESULT([no]) ++ MOZJS_LIB=mozjs ++fi ++ ++# If we didn't find mozjs185 (the standalone spidermonkey); look for ++# one from Firefox/XULRunner. If js-config exists, use that; otherwise ++# we try some pkgconfig files from various distributions. + + AC_ARG_VAR([JS_CONFIG], [The js-config program to use]) +-if test "$ac_cv_env_JS_CONFIG_set" != "set"; then ++if test x$JS_PACKAGE = x && test "$ac_cv_env_JS_CONFIG_set" != "set"; then + AC_PATH_PROG([JS_CONFIG], [js-config], []) + fi + +-if test -n "$JS_CONFIG"; then +- JS_CFLAGS="$($JS_CONFIG --cflags)" +- JS_LIBS="$($JS_CONFIG --libs)" +- FIREFOX_JS_LIBDIR="$($JS_CONFIG --libdir)" +- JS_PACKAGE= +- +- # js-config gives almost usable CFLAGS, we must define one of XP_BEOS, +- # XP_OS2, XP_WIN or XP_UNIX +- JS_CFLAGS="$JS_CFLAGS -DXP_UNIX" +-else +- ## spidermonkey .pc file name varies across distributions and Gecko version +- ## +- ## mozilla-js: Gecko 1.9, all distributions +- ## xulrunner-js: Gecko 1.8 (and earlier?) Debian/Ubuntu +- ## firefox-js: ??? +- ## +- ## Checking for mozilla-js first will hopefully get us the newest version +- ## of spidermonkey. +- PKG_CHECK_EXISTS([mozilla-js], [JS_PACKAGE=mozilla-js], +- [PKG_CHECK_EXISTS([xulrunner-js], [JS_PACKAGE=xulrunner-js], [JS_PACKAGE=firefox-js])]) +- +- PKG_CHECK_MODULES(JS, $JS_PACKAGE) +- +- ## some flavors of Firefox .pc only set sdkdir, not libdir +- FIREFOX_JS_SDKDIR=`$PKG_CONFIG --variable=sdkdir $JS_PACKAGE` +- FIREFOX_JS_LIBDIR=`$PKG_CONFIG --variable=libdir $JS_PACKAGE` ++if test x$JS_PACKAGE = x; then ++ if test -n "$JS_CONFIG"; then ++ JS_CFLAGS="$($JS_CONFIG --cflags)" ++ JS_LIBS="$($JS_CONFIG --libs)" ++ FIREFOX_JS_LIBDIR="$($JS_CONFIG --libdir)" ++ JS_PACKAGE= ++ ++ # js-config gives almost usable CFLAGS, we must define one of XP_BEOS, ++ # XP_OS2, XP_WIN or XP_UNIX ++ JS_CFLAGS="$JS_CFLAGS -DXP_UNIX" ++ else ++ ## spidermonkey .pc file name varies across distributions and Gecko version ++ ## ++ ## mozilla-js: Gecko 1.9, all distributions ++ ## xulrunner-js: Gecko 1.8 (and earlier?) Debian/Ubuntu ++ ## firefox-js: ??? ++ ## ++ ## Checking for mozilla-js first will hopefully get us the newest version ++ ## of spidermonkey. ++ if test x$JS_PACKAGE = x; then ++ PKG_CHECK_EXISTS([mozilla-js], [JS_PACKAGE=mozilla-js],) ++ ++ fi ++ if test x$JS_PACKAGE = x; then ++ PKG_CHECK_EXISTS([xulrunner-js], [JS_PACKAGE=xulrunner-js]) ++ fi ++ if test x$JS_PACKAGE = x; then ++ PKG_CHECK_EXISTS([firefox-js], [JS_PACKAGE=firefox-js]) ++ fi ++ if test x$JS_PACKAGE = x; then ++ AC_MSG_ERROR([Unable to find spidermonkey package]) ++ fi ++ ++ PKG_CHECK_MODULES(JS, $JS_PACKAGE) ++ ++ ## some flavors of Firefox .pc only set sdkdir, not libdir ++ FIREFOX_JS_SDKDIR=`$PKG_CONFIG --variable=sdkdir $JS_PACKAGE` ++ FIREFOX_JS_LIBDIR=`$PKG_CONFIG --variable=libdir $JS_PACKAGE` ++ ++ ## Ubuntu does not set libdir in mozilla-js.pc ++ if test x"$FIREFOX_JS_LIBDIR" = x ; then ++ ## Ubuntu returns xulrunner-devel as the sdkdir, but for the ++ ## libdir we want the runtime location on the target system, ++ ## so can't use -devel. ++ ## The library is in the non-devel directory also. ++ ## Don't ask me why it's in two places. ++ FIREFOX_JS_LIBDIR=`echo "$FIREFOX_JS_SDKDIR" | sed -e 's/-devel//g'` ++ ++ if ! test -d "$FIREFOX_JS_LIBDIR" ; then ++ FIREFOX_JS_LIBDIR= ++ fi ++ fi ++ fi + +- ## Ubuntu does not set libdir in mozilla-js.pc + if test x"$FIREFOX_JS_LIBDIR" = x ; then +- ## Ubuntu returns xulrunner-devel as the sdkdir, but for the +- ## libdir we want the runtime location on the target system, +- ## so can't use -devel. +- ## The library is in the non-devel directory also. +- ## Don't ask me why it's in two places. +- FIREFOX_JS_LIBDIR=`echo "$FIREFOX_JS_SDKDIR" | sed -e 's/-devel//g'` +- +- if ! test -d "$FIREFOX_JS_LIBDIR" ; then +- FIREFOX_JS_LIBDIR= +- fi ++ AC_MSG_ERROR([Could not figure out where Firefox JavaScript library lives]) + fi +-fi + +-if test x"$FIREFOX_JS_LIBDIR" = x ; then +- AC_MSG_ERROR([Could not figure out where Firefox JavaScript library lives]) ++ ## workaround for Ubuntu Hardy bug where mozilla-js.pc gives CFLAGS ++ ## -I.../stable while jsapi.h is in .../unstable ++ AC_MSG_CHECKING([if SpiderMonkey needs extra compiler flags]) ++ save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $JS_CFLAGS" ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jsapi.h>]])], ++ [js_extra_cflags_needed=no], ++ [js_extra_cflags_needed=yes]) ++ CFLAGS="$save_CFLAGS" ++ AC_MSG_RESULT([$js_extra_cflags_needed]) ++ ++ JS_EXTRA_CFLAGS= ++ if test "$js_extra_cflags_needed" = yes; then ++ try_cflags="-I`$PKG_CONFIG --variable=includedir $JS_PACKAGE`/unstable" ++ AC_MSG_CHECKING([if $try_cflags works]) ++ save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $JS_CFLAGS $try_cflags" ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jsapi.h>]])], ++ [AC_MSG_RESULT([yes]) ++ JS_EXTRA_CFLAGS="$try_cflags"], ++ [AC_MSG_RESULT([no])]) ++ CFLAGS="$save_CFLAGS" ++ ++ if test x"$JS_EXTRA_CFLAGS" = x; then ++ AC_MSG_ERROR([Unable to determine extra compiler flags needed]) ++ fi ++ fi ++ AC_SUBST([JS_EXTRA_CFLAGS]) ++ ++ AC_MSG_CHECKING([for mozilla-js >= 1.9.2 ]) ++ if `$PKG_CONFIG --exists $JS_PACKAGE '>=' 1.9.2`; then ++ AC_MSG_RESULT([yes]) ++ else ++ AC_MSG_ERROR([$JS_PACKAGE >= 1.9.2 is required]) ++ fi + fi + + AC_SUBST(JS_PACKAGE) + AC_SUBST(FIREFOX_JS_LIBDIR) + +-AC_MSG_CHECKING([for mozilla-js >= 1.9.2 ]) +-if `$PKG_CONFIG --exists $JS_PACKAGE '>=' 1.9.2`; then +- AC_MSG_RESULT([yes]) +-else +- AC_MSG_ERROR([$JS_PACKAGE >= 1.9.2 is required]) +-fi +- +-AC_CHECK_LIB([mozjs], [JS_GetStringBytes], AC_DEFINE([HAVE_JS_GETSTRINGBYTES], [1], [Define if we still have JS_GetStringBytes]),, [$JS_LIBS]) +-AC_CHECK_LIB([mozjs], [JS_GetFunctionName], AC_DEFINE([HAVE_JS_GETFUNCTIONNAME], [1], [Define if we still have JS_GetFunctionName]),, [$JS_LIBS]) +-AC_CHECK_LIB([mozjs], [JS_GetStringChars], AC_DEFINE([HAVE_JS_GETSTRINGCHARS], [1], [Define if we still have JS_GetStringChars]),, [$JS_LIBS]) +-AC_CHECK_LIB([mozjs], [JS_StrictPropertyStub], AC_DEFINE([HAVE_JS_STRICTPROPERTYSTUB], [1], [Define if we have JS_StrictPropertyStub]),, [$JS_LIBS]) +-AC_CHECK_LIB([mozjs], [JS_GetGlobalForScopeChain], AC_DEFINE([HAVE_JS_GETGLOBALFORSCOPECHAIN], [1], [Define if we have JS_GetGlobalForScopeChain]),, [$JS_LIBS]) +-AC_CHECK_LIB([mozjs], [JS_DestroyScript], AC_DEFINE([HAVE_JS_DESTROYSCRIPT], [1], [Define if we still have JS_DestroyScript]),, [$JS_LIBS]) +-AC_CHECK_LIB([mozjs], [JS_DecodeUTF8], AC_DEFINE([HAVE_JS_DECODEUTF8], [1], [Define if we have JS_DecodeUTF8]),, [$JS_LIBS]) +- +-AC_MSG_CHECKING([for mozilla-js >= 2 ]) +-if `$PKG_CONFIG --exists $JS_PACKAGE '>=' 2`; then +- AC_MSG_RESULT([yes]) +- AC_DEFINE(HAVE_MOZJS_2, [1], [Define if mozilla-js is at least 2]) +- AC_CHECK_LIB([mozjs], [JS_FreezeObject], AC_DEFINE([HAVE_JS_FREEZEOBJECT], [1], [Define if we have JS_FreezeObject]), ++AC_CHECK_LIB([$MOZJS_LIB], [JS_GetStringBytes], AC_DEFINE([HAVE_JS_GETSTRINGBYTES], [1], [Define if we still have JS_GetStringBytes]),, [$JS_LIBS]) ++AC_CHECK_LIB([$MOZJS_LIB], [JS_GetFunctionName], AC_DEFINE([HAVE_JS_GETFUNCTIONNAME], [1], [Define if we still have JS_GetFunctionName]),, [$JS_LIBS]) ++AC_CHECK_LIB([$MOZJS_LIB], [JS_GetStringChars], AC_DEFINE([HAVE_JS_GETSTRINGCHARS], [1], [Define if we still have JS_GetStringChars]),, [$JS_LIBS]) ++AC_CHECK_LIB([$MOZJS_LIB], [JS_StrictPropertyStub], AC_DEFINE([HAVE_JS_STRICTPROPERTYSTUB], [1], [Define if we have JS_StrictPropertyStub]),, [$JS_LIBS]) ++AC_CHECK_LIB([$MOZJS_LIB], [JS_GetGlobalForScopeChain], AC_DEFINE([HAVE_JS_GETGLOBALFORSCOPECHAIN], [1], [Define if we have JS_GetGlobalForScopeChain]),, [$JS_LIBS]) ++AC_CHECK_LIB([$MOZJS_LIB], [JS_CLASS_TRACE], AC_DEFINE([HAVE_JS_CLASS_TRACE], [1], [Define if we still have JS_CLASS_TRACE]),, [$JS_LIBS]) ++AC_CHECK_LIB([$MOZJS_LIB], [JS_DestroyScript], AC_DEFINE([HAVE_JS_DESTROYSCRIPT], [1], [Define if we still have JS_DestroyScript]),, [$JS_LIBS]) ++AC_CHECK_LIB([$MOZJS_LIB], [JS_DecodeUTF8], AC_DEFINE([HAVE_JS_DECODEUTF8], [1], [Define if we have JS_DecodeUTF8]),, [$JS_LIBS]) ++AC_CHECK_LIB([$MOZJS_LIB], [JS_FreezeObject], AC_DEFINE([HAVE_JS_FREEZEOBJECT], [1], [Define if we have JS_FreezeObject]), + , [$JS_LIBS]) +- AC_CHECK_LIB([mozjs], [JS_IsScriptFrame], AC_DEFINE([HAVE_JS_ISSCRIPTFRAME], [1], [Define if we have JS_IsScriptFrame]), ++AC_CHECK_LIB([$MOZJS_LIB], [JS_IsScriptFrame], AC_DEFINE([HAVE_JS_ISSCRIPTFRAME], [1], [Define if we have JS_IsScriptFrame]), + , [$JS_LIBS]) +- AC_CHECK_LIB([mozjs], [JS_EndPC], AC_DEFINE([HAVE_JS_ENDPC], [1], [Define if we have JS_EndPC]), ++AC_CHECK_LIB([$MOZJS_LIB], [JS_EndPC], AC_DEFINE([HAVE_JS_ENDPC], [1], [Define if we have JS_EndPC]), + , [$JS_LIBS]) +- AC_CHECK_LIB([mozjs], [JS_NewCompartmentAndGlobalObject], ++AC_CHECK_LIB([$MOZJS_LIB], [JS_NewCompartmentAndGlobalObject], + AC_DEFINE([HAVE_JS_NEWCOMPARTMENTANDGLOBALOBJECT], [1], [Define if we have JS_NewCompartmentAndGlobalObject]), + , [$JS_LIBS]) + +-else +- AC_MSG_RESULT([no]) +-fi +- +-## workaround for Ubuntu Hardy bug where mozilla-js.pc gives CFLAGS +-## -I.../stable while jsapi.h is in .../unstable +-AC_MSG_CHECKING([if SpiderMonkey needs extra compiler flags]) +-save_CFLAGS="$CFLAGS" +-CFLAGS="$CFLAGS $JS_CFLAGS" +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jsapi.h>]])], +- [js_extra_cflags_needed=no], +- [js_extra_cflags_needed=yes]) +-CFLAGS="$save_CFLAGS" +-AC_MSG_RESULT([$js_extra_cflags_needed]) +- +-JS_EXTRA_CFLAGS= +-if test "$js_extra_cflags_needed" = yes; then +- try_cflags="-I`$PKG_CONFIG --variable=includedir $JS_PACKAGE`/unstable" +- AC_MSG_CHECKING([if $try_cflags works]) +- save_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS $JS_CFLAGS $try_cflags" +- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <jsapi.h>]])], +- [AC_MSG_RESULT([yes]) +- JS_EXTRA_CFLAGS="$try_cflags"], +- [AC_MSG_RESULT([no])]) +- CFLAGS="$save_CFLAGS" +- +- if test x"$JS_EXTRA_CFLAGS" = x; then +- AC_MSG_ERROR([Unable to determine extra compiler flags needed]) +- fi ++if test x$MOZJS_IS_STANDALONE = xyes || `$PKG_CONFIG --exists $JS_PACKAGE '>=' 2`; then ++ AC_DEFINE(HAVE_MOZJS_2, [1], [Define if mozilla-js is at least 2]) + fi +-AC_SUBST([JS_EXTRA_CFLAGS]) + + AC_MSG_CHECKING([whether JSLocaleToUnicode takes a const char*]) + save_CFLAGS="$CFLAGS" +-- +1.7.5.4 + diff --git a/extra/gnome-python-extras/PKGBUILD b/extra/gnome-python-extras/PKGBUILD index 9114b9fe4..4cc6d4027 100644 --- a/extra/gnome-python-extras/PKGBUILD +++ b/extra/gnome-python-extras/PKGBUILD @@ -1,14 +1,14 @@ -# $Id: PKGBUILD 115120 2011-03-17 01:42:57Z eric $ +# $Id: PKGBUILD 131183 2011-07-11 14:53:15Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=gnome-python-extras -pkgname=('gnome-python-extras' 'python2-egg' 'python2-gda' 'python2-gdl' 'python2-gksu2' 'python2-gtkhtml2' 'python2-gtkmozembed' 'python2-gtkspell') +pkgname=('gnome-python-extras' 'python2-egg' 'python2-gda' 'python2-gksu2' 'python2-gtkhtml2' 'python2-gtkspell') pkgver=2.25.3 pkgrel=9 arch=('i686' 'x86_64') url="http://www.daa.com.au/~james/pygtk/" license=('GPL' 'LGPL') -makedepends=('libgtkhtml' 'gtkspell' 'gdl' 'xulrunner>=1.9.2' 'libgksu' 'libgnomeui' 'libgda' 'python2' 'pygtk' 'gnome-python') +makedepends=('libgtkhtml' 'gtkspell' 'libgksu' 'libgnomeui' 'libgda' 'python2' 'pygtk' 'gnome-python') options=('!libtool') source=(http://ftp.gnome.org/pub/gnome/sources/gnome-python-extras/2.25/gnome-python-extras-${pkgver}.tar.bz2 gnome-python-extras-2.25.3-update-for-2.27.2.patch) @@ -19,12 +19,12 @@ build() { cd "${srcdir}/gnome-python-extras-${pkgver}" patch -Np1 -i "${srcdir}"/gnome-python-extras-2.25.3-update-for-2.27.2.patch PYTHON=/usr/bin/python2 ./configure --prefix=/usr - make MOZILLA_HOME=/usr/lib/xulrunner-2.0 + make } package_gnome-python-extras() { pkgdesc="Gnome Python interfaces for libraries not part of the core platform" - depends=('python2-egg' 'python2-gda' 'python2-gdl' 'python2-gksu2' 'python2-gtkhtml2' 'python2-gtkmozembed' 'python2-gtkspell') + depends=('python2-egg' 'python2-gda' 'python2-gksu2' 'python2-gtkhtml2' 'python2-gtkspell') cd "${srcdir}/gnome-python-extras-${pkgver}" make install-pkgconfigDATA DESTDIR="${pkgdir}" @@ -46,14 +46,6 @@ package_python2-gda(){ make -C gda install DESTDIR="${pkgdir}" } -package_python2-gdl() { - pkgdesc="Python bindings for gdl" - depends=('gdl' 'pygtk') - - cd "${srcdir}/gnome-python-extras-${pkgver}" - make -C gdl install DESTDIR="${pkgdir}" -} - package_python2-gksu2() { pkgdesc="Python bindings for the gksu2" depends=('libgksu' 'pygtk') @@ -70,14 +62,6 @@ package_python2-gtkhtml2() { make -C gtkhtml2 install DESTDIR="${pkgdir}" } -package_python2-gtkmozembed() { - pkgdesc="Python bindings for the gtkmozembed" - depends=('xulrunner>=1.9.2' 'pygtk') - - cd "${srcdir}/gnome-python-extras-${pkgver}" - make -C gtkmozembed install DESTDIR="${pkgdir}" -} - package_python2-gtkspell() { pkgdesc="Python bindings for the gtkspell" depends=('gtkspell' 'pygtk') diff --git a/extra/gnome-shell/PKGBUILD b/extra/gnome-shell/PKGBUILD index 0c005f56e..b10afff70 100644 --- a/extra/gnome-shell/PKGBUILD +++ b/extra/gnome-shell/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 125332 2011-05-25 22:41:23Z ibiru $ +# $Id: PKGBUILD 130217 2011-07-04 12:56:15Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> # Contributor: Flamelab <panosfilip@gmail.com pkgname=gnome-shell pkgver=3.0.2 -pkgrel=1 +pkgrel=2 pkgdesc="The next generation GNOME Shell" arch=('i686' 'x86_64') url="http://live.gnome.org/GnomeShell" diff --git a/extra/js/PKGBUILD b/extra/js/PKGBUILD new file mode 100644 index 000000000..97b384792 --- /dev/null +++ b/extra/js/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 130213 2011-07-04 12:50:49Z ibiru $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +pkgname=js +pkgver=1.8.5 +pkgrel=1 +pkgdesc="JavaScript interpreter and libraries" +arch=(i686 x86_64) +url="https://developer.mozilla.org/En/SpiderMonkey/1.8.5" +license=('GPL2') +depends=('nspr' 'gcc-libs') +makedepends=('python2' 'zip') +replaces=('spidermonkey') +conflicts=('spidermonkey') +source=(http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz + js185-destdir.patch) +md5sums=('a4574365938222adca0a6bd33329cb32' + '364834a8391888642c53d78c3a949d94') +build() { + cd "$srcdir/$pkgname-$pkgver/js/src" + patch -Np0 -i $srcdir/js185-destdir.patch + ./configure --prefix=/usr --with-system-nspr \ + --enable-threadsafe + + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver/js/src" + make DESTDIR="$pkgdir" install + + install -m 0755 shell/js ${pkgdir}/usr/bin + + #cleanup + rm -f "${pkgdir}/usr/lib/libmozjs185-1.0.a" +} + +# vim:set ts=2 sw=2 et: diff --git a/extra/js/js185-destdir.patch b/extra/js/js185-destdir.patch new file mode 100644 index 000000000..87b7b53b3 --- /dev/null +++ b/extra/js/js185-destdir.patch @@ -0,0 +1,15 @@ +#https://bugzilla.mozilla.org/show_bug.cgi?id=628723 + +--- Makefile.in.old 2011-04-10 04:21:19.918608008 -0700 ++++ Makefile.in 2011-04-10 04:21:58.088607992 -0700 +@@ -888,8 +888,8 @@ + ifeq (,$(HOST_BIN_SUFFIX)) + mv -f $(SHLIB_ANY_VER) $(SHLIB_EXACT_VER) + @[ ! -h $(SHLIB_ABI_VER) ] || rm -f $(SHLIB_ABI_VER) +- ln -s $(SHLIB_EXACT_VER) $(SHLIB_ABI_VER) +- ln -s $(SHLIB_ABI_VER) $(SHLIB_ANY_VER) ++ ln -s $(notdir $(SHLIB_EXACT_VER)) $(SHLIB_ABI_VER) ++ ln -s $(notdir $(SHLIB_ABI_VER)) $(SHLIB_ANY_VER) + endif + endif + ifneq (,$(IMPORT_LIBRARY)) diff --git a/extra/mercurial/PKGBUILD b/extra/mercurial/PKGBUILD index 89d828938..208c30404 100644 --- a/extra/mercurial/PKGBUILD +++ b/extra/mercurial/PKGBUILD @@ -1,22 +1,23 @@ -# $Id: PKGBUILD 130178 2011-07-03 11:13:45Z giovanni $ +# $Id: PKGBUILD 131160 2011-07-11 12:44:25Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> pkgname=mercurial pkgver=1.9 -pkgrel=1 +pkgrel=2 pkgdesc="A scalable distributed SCM tool" arch=('i686' 'x86_64') url="http://www.selenic.com/mercurial" license=('GPL') depends=('python2') optdepends=('tk: for the hgk GUI') +backup=('etc/mercurial/hgrc') source=(http://www.selenic.com/mercurial/release/${pkgname}-${pkgver}.tar.gz mercurial.profile) md5sums=('d4842129fa2732eb6ed1180467bc32e2' '43e1d36564d4c7fbe9a091d3ea370a44') -build() { +package() { cd "${srcdir}/${pkgname}-${pkgver}" python2 setup.py install --root="${pkgdir}/" --optimize=1 @@ -38,4 +39,8 @@ build() { # set some variables install -m755 -d ${pkgdir}/etc/profile.d install -m755 ${srcdir}/mercurial.profile "${pkgdir}/etc/profile.d/mercurial.sh" + + # install configuration file + install -m755 -d ${pkgdir}/etc/mercurial + install -m644 contrib/sample.hgrc "${pkgdir}/etc/mercurial/hgrc" } diff --git a/extra/mkvtoolnix/PKGBUILD b/extra/mkvtoolnix/PKGBUILD index bec2671d7..072898ddc 100644 --- a/extra/mkvtoolnix/PKGBUILD +++ b/extra/mkvtoolnix/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 129948 2011-06-30 15:26:18Z giovanni $ +# $Id: PKGBUILD 131169 2011-07-11 13:15:58Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> pkgname=mkvtoolnix -pkgver=4.8.0 -pkgrel=4 +pkgver=4.9.0 +pkgrel=1 pkgdesc="Set of tools to create, edit and inspect Matroska files - CLI version" arch=('i686' 'x86_64') license=('GPL') @@ -11,7 +11,7 @@ url="http://www.bunkus.org/videotools/mkvtoolnix/index.html" depends=('file' 'boost-libs' 'libmatroska' 'lzo2' 'expat' 'flac' 'libvorbis') makedepends=('boost' 'ruby') source=("http://www.bunkus.org/videotools/${pkgname}/sources/${pkgname}-${pkgver}.tar.bz2") -md5sums=('47a730706f3da2bcf4ba62bba3a8f260') +md5sums=('3f92443fe7897abd3d5e7d61bd758432') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -31,7 +31,7 @@ build() { rake } -package () { +package() { cd "${srcdir}/${pkgname}-${pkgver}" rake DESTDIR="${pkgdir}" install diff --git a/extra/pixman/PKGBUILD b/extra/pixman/PKGBUILD index bbc0360f6..f02a11779 100644 --- a/extra/pixman/PKGBUILD +++ b/extra/pixman/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 124049 2011-05-16 10:05:58Z jgc $ +# $Id: PKGBUILD 130771 2011-07-07 22:43:35Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=pixman -pkgver=0.22.0 +pkgver=0.22.2 pkgrel=1 pkgdesc="Pixman library" arch=(i686 x86_64) @@ -12,7 +12,7 @@ license=('custom') depends=('glibc') options=('!libtool') source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('d24ea233755d7dce9f0d93136ad99fba8d4e4fa0') +sha1sums=('ad2b828ce4280472f5933d8bb5f0f4d583aed7f3') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -20,14 +20,14 @@ build() { make } +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" } - -check() { - cd "${srcdir}/${pkgname}-${pkgver}" - make check -} diff --git a/extra/poppler/PKGBUILD b/extra/poppler/PKGBUILD index fcbe92107..758a6b582 100644 --- a/extra/poppler/PKGBUILD +++ b/extra/poppler/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 124052 2011-05-16 10:27:13Z jgc $ +# $Id: PKGBUILD 130693 2011-07-07 17:38:24Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=poppler pkgname=('poppler' 'poppler-glib' 'poppler-qt') -pkgver=0.16.5 +pkgver=0.16.7 pkgrel=1 arch=(i686 x86_64) license=('GPL') @@ -11,7 +11,7 @@ makedepends=('libjpeg' 'gcc-libs' 'cairo' 'libxml2' 'fontconfig' 'openjpeg' 'gtk options=('!libtool') url="http://poppler.freedesktop.org/" source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.gz) -md5sums=('2b6e0c26b77a943df3b9bb02d67ca236') +md5sums=('3afa28e3c8c4f06b0fbca3c91e06394e') build() { cd "${srcdir}/${pkgbase}-${pkgver}" diff --git a/extra/qtiplot/PKGBUILD b/extra/qtiplot/PKGBUILD index 03644f0cf..be97b60dc 100644 --- a/extra/qtiplot/PKGBUILD +++ b/extra/qtiplot/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 112432 2011-03-04 22:39:07Z eric $ +# $Id: PKGBUILD 131207 2011-07-11 21:16:26Z ronald $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: damir <damir.archlinux.org> # Contributor: Gergely Imreh <imrehg@gmail.com> pkgname=qtiplot -pkgver=0.9.8.2 -pkgrel=6 -pkgdesc="Data analysis and scientific plotting - free clone of Origin" +pkgver=0.9.8.6 +pkgrel=1 arch=('i686' 'x86_64') url="http://soft.proindependent.com/qtiplot.html" -depends=('muparser' 'gsl' 'python2-qt' 'boost-libs' 'shared-mime-info' 'mesa' 'liborigin2' 'qt-assistant-compat') +pkgdesc="Data analysis and scientific plotting - free clone of Origin" +depends=('muparser' 'gsl' 'python2-qt' 'boost-libs' 'shared-mime-info' 'mesa' 'liborigin2' 'qt-assistant-compat' 'tamu-anova') # build against qwtplot3d provided in the package ... # build against qwt provided in the package ... # as systemwide one doesn't provide all needed functions @@ -22,21 +22,32 @@ source=(http://download.berlios.de/qtiplot/qtiplot-${pkgver}.tar.bz2 build.conf.archlinux qwtplot3d_gcc.patch qtiplot.xml - qtiplot-0.9.7.14-system-liborigin.patch - gentoo-fix-origin-build-failure.patch) -md5sums=('e8335a8760e8c2ac044607d5a4bb80ca' '56bd53f4f1367c285086acb969f13348'\ - 'ad8affbd6f0d5cbdcde46c923ee2668a' '4fc37151dc30d5ca36fd7d891a8bc41b'\ - 'ab02c436ec2c04b1838cb5517383b4eb' '35683f3b32e1edcca0bb02c471d284e9'\ - 'fa7cfc5ba60d28f264ad53869d31fcc8' '642cb38c6579b51b86834c8640130b6f') -sha1sums=('dd8d1003cee8767d4ba9e616e5263da1302c290d' '4d5d7cf3965a0a1b1aa9cafc34e70ee207700bc8'\ - '4301cb2a36024a10108b689990d28c4fe5c7416e' '7afcdd4eca157f55e3ec4276712c466b3dc05106'\ - '301bf6f70e8c1bb9ffd55eb49eedde7b29a12909' '285f57d865956d93250ec548288c5bface096b6b'\ - '86899322f259be8594399642170f3f642d7f5f75' '9d6373fd9c0d1061796d1b920981124b6e9a49cf') + qtiplot-0.9.8.6-gold.patch + qtiplot-0.9.8.6-kde.patch + qtiplot-0.9.8.6-tamuanova.patch) +sha1sums=('e8a5ea1e1fb0e87cf76985f63b25e263b03f5fa9' + '4d5d7cf3965a0a1b1aa9cafc34e70ee207700bc8' + '4301cb2a36024a10108b689990d28c4fe5c7416e' + 'b3af6c866b3e63b537b418b6d00e57ef468f8f2b' + '301bf6f70e8c1bb9ffd55eb49eedde7b29a12909' + '285f57d865956d93250ec548288c5bface096b6b' + 'b534a609f317cf3117d6495909854cdacea20124' + 'a1d4bec744c9b8fe29bf177851e66c97cdd9d975' + '830b518e3ef63625df84363a8047417124f243b0') + build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np0 -i "${srcdir}/qtiplot-0.9.7.14-system-liborigin.patch" - patch -Np0 -i "${srcdir}/gentoo-fix-origin-build-failure.patch" + + # gentoo fixes + patch -Np1 -i "${srcdir}/qtiplot-0.9.8.6-gold.patch" + patch -Np1 -i "${srcdir}/qtiplot-0.9.8.6-kde.patch" + patch -Np1 -i "${srcdir}/qtiplot-0.9.8.6-tamuanova.patch" + + # build also static qwtplot3d lib + echo "unix:CONFIG += staticlib" >> 3rdparty/qwtplot3d/qwtplot3d.pro + + # install build configuration file install -Dm644 "${srcdir}/build.conf.archlinux" build.conf # Make qwt @@ -76,3 +87,5 @@ package() { install -D -m644 "${srcdir}/${pkgname}.xml" \ "${pkgdir}/usr/share/mime/packages/${pkgname}.xml" } + + diff --git a/extra/qtiplot/build.conf.archlinux b/extra/qtiplot/build.conf.archlinux index 2cab47f9c..342377578 100644 --- a/extra/qtiplot/build.conf.archlinux +++ b/extra/qtiplot/build.conf.archlinux @@ -16,6 +16,8 @@ QWT3D_LIBS = $$QTI_ROOT/3rdparty/qwtplot3d/lib/libqwtplot3d.a LIB_ORIGIN_INCLUDEPATH = /usr/include/liborigin2 LIB_ORIGIN_LIBS = -lorigin2 QTEXENGINE_LIBS = $$QTI_ROOT/3rdparty/QTeXEngine +TAMUANOVA_LIBS = -ltamuanova +TAMUANOVA_INCLUDEPATH = /usr/include/tamu_anova PYTHON = python2 LUPDATE = lupdate diff --git a/extra/qtiplot/qtiplot-0.9.8.6-gold.patch b/extra/qtiplot/qtiplot-0.9.8.6-gold.patch new file mode 100644 index 000000000..3b6757533 --- /dev/null +++ b/extra/qtiplot/qtiplot-0.9.8.6-gold.patch @@ -0,0 +1,15 @@ + qtiplot/qtiplot.pro | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/qtiplot/qtiplot.pro b/qtiplot/qtiplot.pro +index 99e0e36..b7cf373 100755 +--- a/qtiplot/qtiplot.pro ++++ b/qtiplot/qtiplot.pro +@@ -20,6 +20,7 @@ LIBS += $$MUPARSER_LIBS + LIBS += $$QWT_LIBS + LIBS += $$QWT3D_LIBS + LIBS += $$GSL_LIBS ++LIBS += -lz + + ############################################################################# + ###################### BASIC PROJECT PROPERTIES ############################# diff --git a/extra/qtiplot/qtiplot-0.9.8.6-kde.patch b/extra/qtiplot/qtiplot-0.9.8.6-kde.patch new file mode 100644 index 000000000..919ec6cc2 --- /dev/null +++ b/extra/qtiplot/qtiplot-0.9.8.6-kde.patch @@ -0,0 +1,15 @@ + qtiplot/src/plot2D/Graph.cpp | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/qtiplot/src/plot2D/Graph.cpp b/qtiplot/src/plot2D/Graph.cpp +index 626172a..d4eab1b 100755 +--- a/qtiplot/src/plot2D/Graph.cpp ++++ b/qtiplot/src/plot2D/Graph.cpp +@@ -73,6 +73,7 @@ + #include <PatternBox.h> + #include <SymbolBox.h> + ++#include <QPaintEngine> + #include <QApplication> + #include <QBitmap> + #include <QClipboard> diff --git a/extra/qtiplot/qtiplot-0.9.8.6-tamuanova.patch b/extra/qtiplot/qtiplot-0.9.8.6-tamuanova.patch new file mode 100644 index 000000000..1644266d1 --- /dev/null +++ b/extra/qtiplot/qtiplot-0.9.8.6-tamuanova.patch @@ -0,0 +1,26 @@ +diff --git a/qtiplot/qtiplot.pro b/qtiplot/qtiplot.pro +index 95a5f0c..72e99ab 100755 +--- a/qtiplot/qtiplot.pro ++++ b/qtiplot/qtiplot.pro +@@ -205,18 +205,14 @@ contains(SCRIPTING_LANGS, Python) { + !isEmpty(TAMUANOVA_LIBS) { + DEFINES += HAVE_TAMUANOVA + INCLUDEPATH += $$TAMUANOVA_INCLUDEPATH +- #LIBS += $$TAMUANOVA_LIBS +- +- HEADERS += $$TAMUANOVA_INCLUDEPATH/tamu_anova.h +- SOURCES += $$TAMUANOVA_INCLUDEPATH/anova_1.c +- SOURCES += $$TAMUANOVA_INCLUDEPATH/anova_2.c ++ LIBS += $$TAMUANOVA_LIBS + } + + ############################################################### + + # At the very end: add global include- and lib path +-#unix:INCLUDEPATH += $$SYS_INCLUDEPATH +-#unix:LIBS += $$SYS_LIBS ++unix:INCLUDEPATH += $$SYS_INCLUDEPATH ++unix:LIBS += $$SYS_LIBS + + ############################################################### + ############### Building QtiPlot as a browser plugin ########## diff --git a/extra/tamu-anova/PKGBUILD b/extra/tamu-anova/PKGBUILD new file mode 100644 index 000000000..8b0df4485 --- /dev/null +++ b/extra/tamu-anova/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 131204 2011-07-11 21:05:04Z ronald $ +# Maintainer: Ronald van Haren <ronald@archlinux.org> +# Contributor: Gergely Imreh <imrehg(at)gmail(dot)com> + +pkgname=tamu-anova +pkgver=0.2.1 +pkgrel=1 +pkgdesc="ANOVA Extensions to the GNU Scientific Library" +arch=('x86_64' 'i686') +url="http://www.stat.tamu.edu/~aredd/tamuanova/" +license=('GPL') +depends=('gsl') +makedepends=('gcc') +install=tamu-anova.install +source=(http://www.stat.tamu.edu/~aredd/tamuanova/tamu_anova-0.2.tar.gz) +sha1sums=('8c7ffae14ebe92f27d20ff1f0e325875fa6ced53') + +build() { + cd ${srcdir}/tamu_anova-0.2 + ./configure --prefix=/usr --infodir=/usr/share/info --includedir=/usr/include + make +} + +package() { + cd ${srcdir}/tamu_anova-0.2 + make DESTDIR=${pkgdir} install + +} + + diff --git a/extra/tamu-anova/tamu-anova.install b/extra/tamu-anova/tamu-anova.install new file mode 100644 index 000000000..e0615b522 --- /dev/null +++ b/extra/tamu-anova/tamu-anova.install @@ -0,0 +1,18 @@ +info_dir=/usr/share/info +info_files=(tamu_anova.info) + +post_install() { + for f in ${info_files[@]}; do + install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install +} + +pre_remove() { + for f in ${info_files[@]}; do + install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} diff --git a/extra/telepathy-haze/PKGBUILD b/extra/telepathy-haze/PKGBUILD index 773a9277a..d2bce6be0 100644 --- a/extra/telepathy-haze/PKGBUILD +++ b/extra/telepathy-haze/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 86857 2010-08-05 17:22:25Z ibiru $ +# $Id: PKGBUILD 131178 2011-07-11 14:00:11Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> # Contributor: Timm Preetz <timm@preetz.us> pkgname=telepathy-haze -pkgver=0.4.0 +pkgver=0.5.0 pkgrel=1 pkgdesc="A telepathy-backend to use libpurple (Pidgin) protocols." arch=('i686' 'x86_64') @@ -13,14 +13,15 @@ makedepends=('libxslt') install=telepathy-haze.install groups=('telepathy') source=(http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('6e3e048cbee27aa37a64b8e9cc611664') +md5sums=('4378726d61e1e5df789a05760a94d172') build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr --libexecdir=/usr/lib/telepathy make - make DESTDIR="${pkgdir}" install +} - #remove manager, upstream suggested and it would be removed in the near future - rm -rf "${pkgdir}/usr/share/telepathy/managers" +package(){ + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/extra/xulrunner/PKGBUILD b/extra/xulrunner/PKGBUILD index e94e120a8..1bf7cd3db 100644 --- a/extra/xulrunner/PKGBUILD +++ b/extra/xulrunner/PKGBUILD @@ -1,64 +1,47 @@ -# $Id: PKGBUILD 128075 2011-06-21 17:45:36Z ibiru $ +# $Id: PKGBUILD 131156 2011-07-11 11:19:22Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xulrunner -pkgver=2.0.1 -_ffoxver=4.0.1 -pkgrel=3 +pkgver=5.0 +_ffoxver=5.0 +pkgrel=1 pkgdesc="Mozilla Runtime Environment" arch=('i686' 'x86_64') license=('MPL' 'GPL' 'LGPL') depends=('gtk2' 'gcc-libs' 'libidl2' 'mozilla-common' 'nss' 'libxt' 'libxrender' 'hunspell' 'startup-notification' 'mime-types' 'dbus-glib' 'alsa-lib' 'libevent' 'sqlite3>=3.7.4' 'libnotify') -makedepends=('zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools' 'yasm' 'mesa') +makedepends=('zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools' 'yasm' 'mesa' 'gconf') url="http://wiki.mozilla.org/XUL:Xul_Runner" source=(http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${_ffoxver}/source/firefox-${_ffoxver}.source.tar.bz2 mozconfig - mozilla-pkgconfig.patch - xulrunner-version.patch - xulrunner-omnijar.patch - port_gnomevfs_to_gio.patch) -options=('!emptydirs') + mozilla-pkgconfig.patch) +options=('!emptydirs' '!buildflags') replaces=('xulrunner-oss') -md5sums=('9abda7d23151e97913c8555a64c13f34' - '2358a2ddd35bcdd62ff42442dfe548d9' - '639ea80e823543dd415b90c0ee804186' - 'a0236f6c3e55f60b7888d8cf137ff209' - '0bf82bc6677e3ce57fd20a147fe8d7b1' - '42f83468b296452fb754a81a4317ca64') build() { - cd "${srcdir}/mozilla-2.0" + cd "${srcdir}/mozilla-release" cp "${srcdir}/mozconfig" .mozconfig #fix libdir/sdkdir - fedora patch -Np1 -i "${srcdir}/mozilla-pkgconfig.patch" - #Force installation to the same path for every version - patch -Np1 -i "${srcdir}/xulrunner-version.patch" - - #https://bugzilla.mozilla.org/show_bug.cgi?id=620931 - patch -Np1 -i "${srcdir}/xulrunner-omnijar.patch" - - #https://bugzilla.mozilla.org/show_bug.cgi?id=494163 - patch -Np1 -i "${srcdir}/port_gnomevfs_to_gio.patch" - - unset CFLAGS - unset CXXFLAGS - export CXXFLAGS="-fpermissive" + export LDFLAGS="-Wl,-rpath,/usr/lib/xulrunner-${pkgver} -Wl,-O1,--sort-common,--hash-style=gnu,--as-needed" make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" } package() { - cd "${srcdir}/mozilla-2.0" + cd "${srcdir}/mozilla-release" make -j1 -f client.mk DESTDIR="${pkgdir}" install #Remove included dictionaries, add symlink to system myspell path. #Note: this will cause file conflicts when users have installed dictionaries in the old location - rm -rf "${pkgdir}/usr/lib/xulrunner-2.0/dictionaries" - ln -sf /usr/share/myspell/dicts "${pkgdir}/usr/lib/xulrunner-2.0/dictionaries" + rm -rf "${pkgdir}/usr/lib/xulrunner-5.0/dictionaries" + ln -sf /usr/share/myspell/dicts "${pkgdir}/usr/lib/xulrunner-5.0/dictionaries" # add xulrunner library path to ld.so.conf install -d ${pkgdir}/etc/ld.so.conf.d - echo "/usr/lib/xulrunner-2.0" > ${pkgdir}/etc/ld.so.conf.d/xulrunner.conf + echo "/usr/lib/xulrunner-${pkgver}" > ${pkgdir}/etc/ld.so.conf.d/xulrunner.conf } +md5sums=('9f64a01e86a5d424e12a8e3305c5debe' + '2358a2ddd35bcdd62ff42442dfe548d9' + '639ea80e823543dd415b90c0ee804186') diff --git a/kde-unstable/akonadi/PKGBUILD b/kde-unstable/akonadi/PKGBUILD index c19e6d4ce..1014e310b 100644 --- a/kde-unstable/akonadi/PKGBUILD +++ b/kde-unstable/akonadi/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 125234 2011-05-25 19:13:14Z andrea $ +# $Id: PKGBUILD 131126 2011-07-11 07:02:43Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=akonadi -pkgver=1.5.80 -pkgrel=2 +pkgver=1.6.0 +pkgrel=1 pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data" arch=('i686' 'x86_64') url='http://pim.kde.org/akonadi' @@ -13,7 +13,7 @@ depends=('shared-mime-info' 'boost-libs' 'mysql' 'soprano') makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost') install="${pkgname}.install" source=("http://download.akonadi-project.org/${pkgname}-${pkgver}.tar.bz2") -md5sums=('3ea38477473ee27257b9a6d0504889ec') +md5sums=('16bc40e022d06f287f18c71faaeb2e42') build() { cd "${srcdir}" diff --git a/multilib-testing/lib32-mesa/PKGBUILD b/multilib-testing/lib32-mesa/PKGBUILD index d616def9e..5e6212119 100644 --- a/multilib-testing/lib32-mesa/PKGBUILD +++ b/multilib-testing/lib32-mesa/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 51484 2011-07-10 09:40:09Z lcarlier $ +# $Id: PKGBUILD 51582 2011-07-11 18:59:50Z lcarlier $ # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> @@ -16,7 +16,7 @@ if [ "${_git}" = "true" ]; then pkgver=7.11rc1 fi -pkgrel=1 +pkgrel=2 arch=(x86_64) makedepends=('glproto>=1.4.14' 'lib32-libdrm>=2.4.26' 'lib32-libxxf86vm>=1.1.1' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libx11>=1.4.3' 'lib32-libxt>=1.1.1' 'lib32-gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'gcc-multilib' imake 'lib32-udev' 'lib32-llvm') @@ -25,28 +25,33 @@ license=('custom') if [ "${_git}" = "true" ]; then # mesa git shot from 7.11 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?h=7.11&id=1ae00c5960af83bea9545a18a1754bad83d5cbd0 #source=('ftp://ftp.archlinux.org/other/mesa/mesa-1ae00c5960af83bea9545a18a1754bad83d5cbd0.tar.bz2') - source=("MesaLib-${pkgver}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-b033f050fd5179b051181a0a4b6d94110624d25c.tar.bz2") + source=(git_fixes.patch "MesaLib-${pkgver}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-b033f050fd5179b051181a0a4b6d94110624d25c.tar.bz2") + md5sums=('62b7e9591737846ff0e98f970ffc8b78' '2246d97eb0cfb1f6d2bf8a54b533d07f') else source=("ftp://ftp.freedesktop.org/pub/mesa/${pkgver/rc1/}/MesaLib-${pkgver/rc/-rc}.zip") + md5sums=('2246d97eb0cfb1f6d2bf8a54b533d07f') fi -md5sums=('2246d97eb0cfb1f6d2bf8a54b533d07f') build() { export CC="gcc -m32" export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - # for our llvm-config for 32 bit :( - export PATH="/usr/lib32/llvm:$PATH" + # for our llvm-config for 32 bit + export LLVM_CONFIG=/usr/lib32/llvm/llvm-config + + # fix link errors: https://bugs.archlinux.org/task/25093 + export LDFLAGS=${LDFLAGS/-Wl,--as-needed/} cd ${srcdir}/?esa-* autoreconf -vfi if [ "${_git}" = "true" ]; then - ./autogen.sh --prefix=/usr \ + patch -Np1 -i ${srcdir}/git_fixes.patch + ./autogen.sh --prefix=/usr \ --with-dri-driverdir=/usr/lib32/xorg/modules/dri \ --with-gallium-drivers=r300,r600,nouveau,swrast \ --enable-gallium-llvm \ - --enable-gallium-egl \ + --enable-gallium-egl --enable-shared-glapi \ --enable-glx-tls \ --with-driver=dri \ --enable-xcb \ diff --git a/multilib-testing/lib32-mesa/git_fixes.patch b/multilib-testing/lib32-mesa/git_fixes.patch new file mode 100644 index 000000000..22372b328 --- /dev/null +++ b/multilib-testing/lib32-mesa/git_fixes.patch @@ -0,0 +1,36 @@ +From 804995807dfea9cbdbd676e52b95d42715101913 Mon Sep 17 00:00:00 2001 +From: Eric Anholt <eric@anholt.net> +Date: Fri, 08 Jul 2011 22:30:48 +0000 +Subject: i965/gen4: Fix GPU hangs since the program streaming change. + +This was tricky. We were doing a use-before-initialize of +grf_reg_count, but the value usually got overwritten anyway -- when we +didn't have to do a relocation (typical), or on gen5 when we didn't +have relocations at all. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38771 +Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> +(cherry picked from commit d03fdc4cdefdfdc5b59547945704c6037a5061c7) +--- +diff --git a/src/mesa/drivers/dri/i965/brw_vs_state.c b/src/mesa/drivers/dri/i965/brw_vs_state.c +index d5010a2..179ca19 100644 +--- a/src/mesa/drivers/dri/i965/brw_vs_state.c ++++ b/src/mesa/drivers/dri/i965/brw_vs_state.c +@@ -47,6 +47,7 @@ brw_prepare_vs_unit(struct brw_context *brw) + memset(vs, 0, sizeof(*vs)); + + /* BRW_NEW_PROGRAM_CACHE | CACHE_NEW_VS_PROG */ ++ vs->thread0.grf_reg_count = ALIGN(brw->vs.prog_data->total_grf, 16) / 16 - 1; + vs->thread0.kernel_start_pointer = + brw_program_reloc(brw, + brw->vs.state_offset + +@@ -54,7 +55,6 @@ brw_prepare_vs_unit(struct brw_context *brw) + brw->vs.prog_offset + + (vs->thread0.grf_reg_count << 1)) >> 6; + +- vs->thread0.grf_reg_count = ALIGN(brw->vs.prog_data->total_grf, 16) / 16 - 1; + vs->thread1.floating_point_mode = BRW_FLOATING_POINT_NON_IEEE_754; + /* Choosing multiple program flow means that we may get 2-vertex threads, + * which will have the channel mask for dwords 4-7 enabled in the thread, +-- +cgit v0.8.3-6-g21f6 diff --git a/multilib-testing/lib32-udev/PKGBUILD b/multilib-testing/lib32-udev/PKGBUILD new file mode 100644 index 000000000..13c6614d0 --- /dev/null +++ b/multilib-testing/lib32-udev/PKGBUILD @@ -0,0 +1,36 @@ +# $Id$ +# Maintainer: Aaron Griffin <aaron@archlinux.org> +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Maintainer: Thomas Bächler <thomas@archlinux.org> + +pkgname=('lib32-udev') +pkgver=172 +pkgrel=1 +arch=('x86_64') +pkgdesc="The userspace dev tools (udev) (32-bit)" +url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" +license=('GPL') +options=(!makeflags !libtool) +depends=('lib32-glibc' 'lib32-glib2' 'lib32-acl' 'lib32-libusb-compat' 'udev') +makedepends=('gcc-multilib' 'coreutils' 'util-linux' 'pciutils' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection') +source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-$pkgver.tar.bz2) +md5sums=('bd122d04cf758441f498aad0169a454f') + +build() { + export CC="gcc -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd $srcdir/udev-$pkgver + + ./configure --libdir=/usr/lib32 + make +} + +package() { + + cd $srcdir/udev-$pkgver + + make DESTDIR=${pkgdir} install + rm -rf ${pkgdir}/usr/{etc,include,lib,libexec,sbin,share} + rm -rf ${pkgdir}/usr/lib32/girepository* +} diff --git a/multilib/gcc-multilib/PKGBUILD b/multilib/gcc-multilib/PKGBUILD index e9aa9d885..d3125e7b8 100644 --- a/multilib/gcc-multilib/PKGBUILD +++ b/multilib/gcc-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 50355 2011-06-28 17:45:40Z heftig $ +# $Id: PKGBUILD 51469 2011-07-09 18:11:54Z heftig $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> @@ -8,7 +8,7 @@ pkgbase='gcc-multilib' pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib') pkgver=4.6.1 -pkgrel=1 +pkgrel=2 #_snapshot=4.6-20110603 _libstdcppmanver=20110201 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection for multilib" @@ -177,6 +177,10 @@ package_gcc-multilib() ln -sf gcc ${pkgdir}/usr/bin/cc ln -sf g++ ${pkgdir}/usr/bin/c++ + # install gengtype for plugin support + install -m755 gcc/build/gengtype $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/ + install -m644 gcc/gtype.state $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/ + # POSIX conformance launcher scripts for c89 and c99 cat > $pkgdir/usr/bin/c89 <<"EOF" #!/bin/sh diff --git a/testing/freetype2/PKGBUILD b/testing/freetype2/PKGBUILD new file mode 100644 index 000000000..a23428db0 --- /dev/null +++ b/testing/freetype2/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 131135 2011-07-11 07:14:19Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=freetype2 +pkgver=2.4.5 +pkgrel=1 +pkgdesc="TrueType font rendering library" +arch=(i686 x86_64) +license=('GPL') +url="http://freetype.sourceforge.net" +depends=('zlib') +options=('!libtool') +source=(http://downloads.sourceforge.net/sourceforge/freetype/freetype-${pkgver}.tar.bz2 + freetype-2.3.0-enable-spr.patch + freetype-2.2.1-enable-valid.patch) +md5sums=('90428a6d8ec4876cd1eb94858c2a59b0' + '816dc8619a6904a7385769433c0a8653' + '214119610444c9b02766ccee5e220680') + +build() { + cd "${srcdir}/freetype-${pkgver}" + patch -Np1 -i "${srcdir}/freetype-2.3.0-enable-spr.patch" + patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch" + + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install +} diff --git a/testing/freetype2/freetype-2.2.1-enable-valid.patch b/testing/freetype2/freetype-2.2.1-enable-valid.patch new file mode 100644 index 000000000..c78b6b70f --- /dev/null +++ b/testing/freetype2/freetype-2.2.1-enable-valid.patch @@ -0,0 +1,20 @@ +--- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400 ++++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400 +@@ -110,7 +110,7 @@ + AUX_MODULES += cache + + # TrueType GX/AAT table validation. Needs ftgxval.c below. +-# AUX_MODULES += gxvalid ++AUX_MODULES += gxvalid + + # Support for streams compressed with gzip (files with suffix .gz). + # +@@ -124,7 +124,7 @@ + + # OpenType table validation. Needs ftotval.c below. + # +-# AUX_MODULES += otvalid ++AUX_MODULES += otvalid + + # Auxiliary PostScript driver component to share common code. + # diff --git a/testing/freetype2/freetype-2.3.0-enable-spr.patch b/testing/freetype2/freetype-2.3.0-enable-spr.patch new file mode 100644 index 000000000..8432e28a4 --- /dev/null +++ b/testing/freetype2/freetype-2.3.0-enable-spr.patch @@ -0,0 +1,11 @@ +--- freetype-2.3.0/include/freetype/config/ftoption.h.spf 2007-01-18 14:27:34.000000000 -0500 ++++ freetype-2.3.0/include/freetype/config/ftoption.h 2007-01-18 14:27:48.000000000 -0500 +@@ -92,7 +92,7 @@ + /* This is done to allow FreeType clients to run unmodified, forcing */ + /* them to display normal gray-level anti-aliased glyphs. */ + /* */ +-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ ++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING + + + /*************************************************************************/ diff --git a/testing/lvm2/PKGBUILD b/testing/lvm2/PKGBUILD index 0e13adba9..a2f1e5010 100644 --- a/testing/lvm2/PKGBUILD +++ b/testing/lvm2/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 129975 2011-06-30 17:54:05Z thomas $ +# $Id: PKGBUILD 131232 2011-07-12 03:27:34Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgbase=lvm2 pkgname=('lvm2' 'device-mapper') -pkgver=2.02.85 +pkgver=2.02.86 _pkgverlvm=${pkgver} -pkgrel=3 +pkgrel=1 arch=('i686' 'x86_64') url="http://sourceware.org/lvm2/" license=('GPL2' 'LGPL2.1') @@ -14,23 +14,19 @@ groups=('base') source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz lvm2_install lvm2_hook - Be-quiet-on-removing-cache-on-read-only-fs.diff 11-dm-initramfs.rules) -md5sums=('91785ca438e5ce679dd3a386b183d552' +md5sums=('3b42dec4d15ad106302a35149082a20e' 'dcb82506d732cc7b10159a89b579dba8' '8d613b84a175cd85f752a75198e40e15' - '6db89da27928d2415a8e26cd0a842712' '69e40679cd8b3658bfc619e48baae125') -sha1sums=('43ba2a3be84b2e897ae6b47b0b0be7e212216be7' +sha1sums=('f435b389cc11c8f415244fe382f3839d1676770c' '7f108b2f2056eb050fc898bf5190ecf9145aed8a' 'a0e0513c2efb183006e57e595d93ce18be297928' - '6d7dd04be291d7537235704c816a701fd5beacc0' 'f6a554eea9557c3c236df2943bb6e7e723945c41') build() { cd "${srcdir}/LVM2.${_pkgverlvm}" sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh - patch -p1 -i ../Be-quiet-on-removing-cache-on-read-only-fs.diff unset LDFLAGS ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \ --includedir=/usr/include --with-usrlibdir=/usr/lib \ diff --git a/testing/mesa/PKGBUILD b/testing/mesa/PKGBUILD index 07cc07301..2da496b53 100644 --- a/testing/mesa/PKGBUILD +++ b/testing/mesa/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 131079 2011-07-10 09:28:29Z andyrtr $ +# $Id: PKGBUILD 131188 2011-07-11 16:27:41Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Maintainer: Andreas Radke <andyrtr@archlinux.org> @@ -14,7 +14,7 @@ if [ "${_git}" = "true" ]; then else pkgver=7.11rc1 fi -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') makedepends=('glproto>=1.4.14' 'libdrm>=2.4.26' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.3' 'libxt>=1.1.1' 'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'llvm') @@ -34,8 +34,10 @@ md5sums=('5c65a0fe315dd347e09b1f2826a1df5a' '2246d97eb0cfb1f6d2bf8a54b533d07f') build() { - cd ${srcdir}/?esa-* - + cd ${srcdir}/?esa-* + # fix link errors: https://bugs.archlinux.org/task/25093 + export LDFLAGS=${LDFLAGS/-Wl,--as-needed/} + if [ "${_git}" = "true" ]; then patch -Np1 -i ${srcdir}/git_fixes.patch autoreconf -vfi @@ -43,7 +45,7 @@ if [ "${_git}" = "true" ]; then --with-dri-driverdir=/usr/lib/xorg/modules/dri \ --with-gallium-drivers=r300,r600,nouveau,swrast \ --enable-gallium-llvm \ - --enable-gallium-egl \ + --enable-gallium-egl --enable-shared-glapi\ --enable-glx-tls \ --with-driver=dri \ --enable-xcb \ diff --git a/testing/python/PKGBUILD b/testing/python/PKGBUILD new file mode 100644 index 000000000..c971f7337 --- /dev/null +++ b/testing/python/PKGBUILD @@ -0,0 +1,74 @@ +# $Id: PKGBUILD 131166 2011-07-11 13:06:25Z stephane $ +# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Jason Chu <jason@archlinux.org> + +pkgname=python +pkgver=3.2.1 +pkgrel=1 +_pybasever=3.2 +pkgdesc="Next generation of the python high-level scripting language" +arch=('i686' 'x86_64') +license=('custom') +url="http://www.python.org/" +depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib') +makedepends=('tk' 'sqlite3' 'valgrind') +optdepends=('tk: for tkinter' 'sqlite3') +provides=('python3') +replaces=('python3') +options=('!makeflags') +source=(http://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz) +sha1sums=('ab5cf4a4c21abe590dea87473a1dee6820699d79') + +build() { + cd "${srcdir}/Python-${pkgver}" + + # FS#23997 + sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py + + # Ensure that we are using the system copy of various libraries (expat, zlib and libffi), + # rather than copies shipped in the tarball + rm -r Modules/expat + rm -r Modules/zlib + rm -r Modules/_ctypes/{darwin,libffi}* + + ./configure --prefix=/usr \ + --enable-shared \ + --with-threads \ + --with-computed-gotos \ + --enable-ipv6 \ + --with-valgrind \ + --with-wide-unicode \ + --with-system-expat \ + --with-system-ffi + + make +} + +check() { + cd "${srcdir}/Python-${pkgver}" + LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \ + "${srcdir}/Python-${pkgver}/python" -m test.regrtest -x test_distutils test_site +} + +package() { + cd "${srcdir}/Python-${pkgver}" + make DESTDIR="${pkgdir}" install maninstall + + # Why are these not done by default... + ln -sf python3 "${pkgdir}/usr/bin/python" + ln -sf python3-config "${pkgdir}/usr/bin/python-config" + ln -sf idle3 "${pkgdir}/usr/bin/idle" + ln -sf pydoc3 "${pkgdir}/usr/bin/pydoc" + ln -sf python${_pybasever}.1 "${pkgdir}/usr/share/man/man1/python3.1" + + # Fix FS#22552 + ln -sf ../../libpython${_pybasever}mu.so \ + "${pkgdir}/usr/lib/python${_pybasever}/config-${_pybasever}mu/libpython${_pybasever}mu.so" + + # Clean-up reference to build directory + sed -i "s|$srcdir/Python-${pkgver}:||" "$pkgdir/usr/lib/python${_pybasever}/config-${_pybasever}mu/Makefile" + + # License + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/udev/81-arch.rules b/testing/udev/81-arch.rules new file mode 100644 index 000000000..71f1a883b --- /dev/null +++ b/testing/udev/81-arch.rules @@ -0,0 +1,71 @@ +# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org> +# do not edit this file, it will be overwritten on update +# +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %k the kernel name for the device. +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute. +# %% the '%' char itself. +# +# There are a number of modifiers that are allowed to be used in some of the +# fields. See the udev man page for a full description of them. +# global stuff +# + +# permission for sg devices +KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660" + +# permissions for IDE CD devices +SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical" + +# permissions for SCSI CD devices +SUBSYSTEMS=="scsi", KERNEL=="s[rg][0-9]*", ATTRS{type}=="5", GROUP="optical" + +# permissions for removable devices like cardreaders or sticks +KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="0", GROUP="storage" + +# permissions for firewire external drives +KERNEL=="sd*", ATTRS{scsi_level}=="5", GROUP="storage" + +# permissions for usb to scsi external adapters +KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="7", GROUP="storage" + +# permissions for ide storage like pcmcia card readers +ACTION!="add", GOTO="pcmcia_end" +SUBSYSTEM!="block", GOTO="pcmcia_end" +KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode" +KERNEL=="hd*", IMPORT{parent}=="ID_*" +KERNEL=="hd*", ENV{ID_TYPE}=="generic", GROUP="storage" +LABEL="pcmcia_end" + +# permissions for SCSI scanners +SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="6", GROUP="scanner" + +# mem +KERNEL=="ram0", SYMLINK+="ramdisk" +KERNEL=="ram1", SYMLINK+="ram" + +# video4linux + +KERNEL=="vbi0", SYMLINK+="vbi" +KERNEL=="radio0", SYMLINK+="radio" +KERNEL=="radio[0-9]*", GROUP="video" +KERNEL=="video0", SYMLINK+="video" +KERNEL=="vtx0", SYMLINK+="vtx" + +# misc +KERNEL=="sgi_fetchop", MODE="0666" +KERNEL=="sonypi", MODE="0666" + +# USB devices +KERNEL=="legousbtower*", MODE="0666" +####################################### +# Permissions and Symlinks - end +####################################### diff --git a/testing/udev/PKGBUILD b/testing/udev/PKGBUILD new file mode 100644 index 000000000..59b827015 --- /dev/null +++ b/testing/udev/PKGBUILD @@ -0,0 +1,97 @@ +# $Id: PKGBUILD 131208 2011-07-11 21:32:31Z tomegun $ +# Maintainer: Aaron Griffin <aaron@archlinux.org> +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Maintainer: Thomas Bächler <thomas@archlinux.org> +# Maintainer: Tom Gundersen <teg@jklm.no> + +pkgbase="udev" +pkgname=('udev' 'udev-compat') +pkgver=172 +pkgrel=2 +arch=(i686 x86_64) +url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" +license=('GPL') +groups=('base') +# older initscripts versions required start_udev +options=(!makeflags !libtool) +makedepends=('glibc' 'coreutils' 'util-linux' 'pciutils' 'libusb-compat' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection') +source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.bz2 + static-node-permission.patch + 81-arch.rules) + +build() { + cd $srcdir/$pkgbase-$pkgver + # permissions on static /dev/fuse node (will be in udev-173) + patch -Np1 -i ../static-node-permission.patch + ./configure --sysconfdir=/etc --with-rootlibdir=/lib --libexecdir=/lib/udev\ + --sbindir=/sbin --with-systemdsystemunitdir=/lib/systemd/system\ + --disable-rule-generator + make +} + +package_udev() { + pkgdesc="The userspace dev tools (udev)" + depends=('glibc' 'coreutils' 'util-linux' 'libusb-compat' 'glib2' + 'module-init-tools>=3.11' 'pciutils') + install=udev.install + backup=(etc/udev/udev.conf) + conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07') + replaces=('devfsd') + + cd $srcdir/$pkgbase-$pkgver + make DESTDIR=${pkgdir} install + # Install our rule for permissions and symlinks + install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules + + # create framebuffer blacklist + mkdir -p $pkgdir/lib/modprobe.d/ + for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko.gz' -exec basename {} .ko.gz \;); do + echo "blacklist $mod" + done | sort -u > $pkgdir/lib/modprobe.d/framebuffer_blacklist.conf + + # these static devices are created for convenience, to autoload the modules if necessary + # /dev/loop0 + mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0 + chgrp disk ${pkgdir}/lib/udev/devices/loop0 + + # Replace dialout/tape/cdrom group in rules with uucp/storage/optical group + for i in $pkgdir/lib/udev/rules.d/*.rules; do + sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g; + s#GROUP="tape"#GROUP="storage"#g; + s#GROUP="cdrom"#GROUP="optical"#g' $i + done +} + +package_udev-compat() { + pkgdesc="The userspace dev tools (udev) - additional rules for older kernels" + depends=('udev') + groups=('') + cd $srcdir/$pkgbase-$pkgver + install -d -m755 ${pkgdir}/lib/${pkgbase}/rules.d + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules + # create static devices in /lib/udev/devices/ + mkdir -p ${pkgdir}/lib/udev/devices/{pts,shm} + + mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1 + mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3 + mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5 + mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11 + + ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd + ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin + ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout + ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr + ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core + + # these static devices are created for convenience, to autoload the modules if necessary + # /dev/net/tun + mkdir ${pkgdir}/lib/udev/devices/net + mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200 + # /dev/fuse + mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229 + # /dev/ppp + mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0 +} +md5sums=('bd122d04cf758441f498aad0169a454f' + '07e5b965d7e90988ea2f7ffb19a08ef7' + 'ec529eb1ddaabb70c61b38f80bb8462a') diff --git a/testing/udev/static-node-permission.patch b/testing/udev/static-node-permission.patch new file mode 100644 index 000000000..3d9a8722c --- /dev/null +++ b/testing/udev/static-node-permission.patch @@ -0,0 +1,26 @@ +From 36acdbcc776822624103eff7c80a9468317918ac Mon Sep 17 00:00:00 2001 +From: Kay Sievers <kay.sievers@vrfy.org> +Date: Mon, 11 Jul 2011 22:56:37 +0200 +Subject: [PATCH] udevd: fix (recently) broken static node permission setting + +Many thanks to Tom Gundersen for identifying the issue. +--- + udev/udev-rules.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/udev/udev-rules.c b/udev/udev-rules.c +index d16c1f9..7db0767 100644 +--- a/udev/udev-rules.c ++++ b/udev/udev-rules.c +@@ -2721,7 +2721,7 @@ void udev_rules_apply_static_dev_perms(struct udev_rules *rules) + struct stat stats; + + /* we assure, that the permissions tokens are sorted before the static token */ +- if (uid == 0 && gid == 0) ++ if (mode == 0 && uid == 0 && gid == 0) + goto next; + util_strscpyl(filename, sizeof(filename), udev_get_dev_path(rules->udev), "/", + &rules->buf[cur->key.value_off], NULL); +-- +1.7.6 + diff --git a/testing/udev/udev.install b/testing/udev/udev.install new file mode 100644 index 000000000..c3970fedd --- /dev/null +++ b/testing/udev/udev.install @@ -0,0 +1,70 @@ +# arg 1: the new package version +# arg 2: the old package version + +post_upgrade() { + if [ "$(vercmp $2 172)" -lt 0 ]; then + echo "ATTENTION UDEV:" + echo "----------" + if [ "$(vercmp $2 168)" -lt 0 ]; then + echo "Kernel 2.6.32 or newer is now required." + echo " --" + echo "OSS emulation modules are not loaded by default, add to rc.conf if needed." + echo " --" + echo "Arch specific cd symlinks are now no longer created." + echo " --" + echo "cd and net persistent rules will no longer be autogenerated," + echo "see <https://wiki.archlinux.org/index.php/Udev> for details." + echo " --" + echo "Errors are now logged (possibly to the console) by default." + echo " --" + fi + if [ "$(vercmp $2 171)" -lt 0 ]; then + echo "Arch's custom blacklisting logic has been removed. MOD_AUTOLOAD and" + echo "blacklisting in MODULES no longer works." + echo "See 'man modprobe.conf' for a replacement to blacklisting." + echo "To disable a module mod1 on the kernel command line, use" + echo "mod1.disable=1" + echo "or" + echo "modprobe.blacklist=mod1" + echo " --" + echo "The following modules are no longer unconditionally loaded:" + echo " pcspkr irtty-sir analog lp ppdev ide-generic" + echo "Add them to MODULES in rc.conf if you need them." + echo " --" + fi + echo "Support for non-devtmpfs self-compiled kernels have been moved to udev-compat." + echo " --" + echo "Blacklisting of framebuffer devices has moved from /etc/modprobe.d to /lib/modprobe.d" + echo "Any customizations shoud be done to the file in /etc, as it takes precedence." + echo " --" + echo "kbd and rtc devices are no longer world readable." + echo " --" + echo "rtc is no longer in the audio group and fb devices are no longer in the video group" + echo "(permissions and ownership of fb devices are controlled by X)." + echo "---------------" + fi +} + +post_install() { + # If a ramfs is mounted, we still need to make sure that /dev/{console,null,zero} exist + # The Archlinux installer bind-mounts /dev to /mnt/dev, thus making the real /dev invisible + ROOTDIR="" + [ "$(stat -c %D /)" != "$(stat -c %D /dev)" ] && ROOTDIR=$(mktemp -d /tmp/udevinstall.XXXXXX) + [ -n "${ROOTDIR}" ] && mount --bind / ${ROOTDIR} + if [ ! -c ${ROOTDIR}/dev/console ]; then + rm -f ${ROOTDIR}/dev/console + mknod -m600 ${ROOTDIR}/dev/console c 5 1 + fi + if [ ! -c ${ROOTDIR}/dev/null ]; then + rm -f ${ROOTDIR}/dev/null + mknod -m644 ${ROOTDIR}/dev/null c 1 3 + fi + if [ ! -c ${ROOTDIR}/dev/zero ]; then + rm -f ${ROOTDIR}/dev/zero + mknod -m644 ${ROOTDIR}/dev/zero c 1 5 + fi + if [ -n "${ROOTDIR}" ]; then + umount ${ROOTDIR} + rmdir ${ROOTDIR} + fi +} |