diff options
Diffstat (limited to 'community')
59 files changed, 1986 insertions, 589 deletions
diff --git a/community/aqbanking/PKGBUILD b/community/aqbanking/PKGBUILD index 8c040c827..aba3c5e0a 100644 --- a/community/aqbanking/PKGBUILD +++ b/community/aqbanking/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 42707 2011-03-19 21:53:25Z spupykin $ +# $Id: PKGBUILD 51223 2011-07-05 21:41:50Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: David Moore <davidm@sjsoft.com> pkgname=aqbanking -pkgver=5.0.5 +pkgver=5.0.11 pkgrel=1 pkgdesc="A library for online banking and financial applications" arch=(i686 x86_64 'mips64el') @@ -12,8 +12,8 @@ url="http://www.aquamaniac.de/aqbanking" license=('GPL') depends=('gwenhywfar' 'ktoblzcheck' 'libofx') options=('!makeflags' '!libtool') -source=("aqbanking-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=03&release=78&file=01&dummy=aqbanking-$pkgver.tar.gz") -md5sums=('b50c28887fc9fd2fc9a4d9fc996497e6') +source=("aqbanking-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=03&release=84&file=01&dummy=aqbanking-$pkgver.tar.gz") +md5sums=('08b42813f7a6c1ac3529e1004b66d81d') build() { cd $srcdir/aqbanking-$pkgver diff --git a/community/autofs/PKGBUILD b/community/autofs/PKGBUILD index c52c281cc..618933cfa 100644 --- a/community/autofs/PKGBUILD +++ b/community/autofs/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 50871 2011-07-02 10:03:49Z lfleischer $ +# $Id: PKGBUILD 51120 2011-07-05 13:23:33Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Dale Blount <dale@archlinux.org> @@ -6,7 +6,7 @@ pkgname=autofs pkgver=5.0.6 -pkgrel=1 +pkgrel=2 pkgdesc='A kernel-based automounter for Linux.' arch=('i686' 'x86_64' 'mips64el') url='http://freshmeat.net/projects/autofs' @@ -18,11 +18,13 @@ backup=('etc/autofs/auto.master' options=(!makeflags) install='autofs.install' source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.bz2" + "http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}-fix-ipv6-name-for-lookup-fix.patch" 'autofs' 'autofs.conf.d' 'auto.master' 'auto.misc') md5sums=('44cea7f711e2290a0b50fddeda079705' + '221bf50d6e496b22014a9a7b234fe556' 'e307bf6d2638e46eeb916cf42fe029b2' '47f597c870410055e0fdb66103daf928' 'a6cefb591e77b31b79dbb7243646c96b' @@ -34,6 +36,8 @@ build() { sed -i "s:SUBDIRS = lib daemon modules man samples:SUBDIRS = lib daemon modules man:" \ Makefile.rules + patch -p1 -i "../${pkgname}-${pkgver}-fix-ipv6-name-for-lookup-fix.patch" + ./configure --prefix=/usr --sysconfdir=/etc/autofs --with-mapdir=/etc/autofs --without-hesiod \ --enable-ignore-busy make diff --git a/community/dsniff/PKGBUILD b/community/dsniff/PKGBUILD index ed8e13006..c96239a66 100644 --- a/community/dsniff/PKGBUILD +++ b/community/dsniff/PKGBUILD @@ -1,36 +1,36 @@ -# $Id: PKGBUILD 44707 2011-04-11 12:21:58Z spupykin $ +# $Id: PKGBUILD 49679 2011-06-19 07:23:27Z andrea $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: ViNS <gladiator@fastwebnet.it> pkgname=dsniff pkgver=2.4b1 -pkgrel=19 +pkgrel=20 pkgdesc="Collection of tools for network auditing and penetration testing" url="http://www.monkey.org/~dugsong/dsniff/" arch=('i686' 'x86_64' 'mips64el') license=('BSD') -depends=('libpcap' 'openssl' 'db' 'libxmu' 'glib2' 'libnet' 'libnids') -source=(http://www.monkey.org/~dugsong/dsniff/beta/$pkgname-$pkgver.tar.gz \ - http://ftp.de.debian.org/debian/pool/main/d/dsniff/dsniff_2.4b1+debian-18.diff.gz) +depends=('libpcap' 'openssl' 'libxmu' 'glib2' 'libnet' 'libnids') +source=("http://www.monkey.org/~dugsong/${pkgname}/beta/$pkgname-$pkgver.tar.gz" + "http://ftp.de.debian.org/debian/pool/main/d/${pkgname}/${pkgname}_2.4b1+debian-18.diff.gz") md5sums=('2f761fa3475682a7512b0b43568ee7d6' 'fbc9f62f9ab2f98f24f53ad497c1ce5d') build() { cd $srcdir/$pkgname-2.4 - patch -N < ../dsniff_2.4b1+debian-18.diff + patch -N < "${srcdir}"/dsniff_2.4b1+debian-18.diff for i in *.dpatch; do patch -N < "$i" done - [ $NOEXTRACT -eq 1 ] || LDFLAGS="-lresolv -lglib-2.0 -lgthread-2.0 $LDFLAGS" ./configure --prefix=/usr + LDFLAGS="-lresolv -lglib-2.0 -lgthread-2.0 $LDFLAGS" ./configure --prefix=/usr make } package() { - cd $srcdir/$pkgname-2.4 - make prefix=$pkgdir/usr install - install -D -m0644 LICENSE $pkgdir/usr/share/licenses/dsniff/LICENSE + cd "$srcdir"/$pkgname-2.4 + make prefix="$pkgdir"/usr install + install -D -m0644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE - mkdir -p $pkgdir/usr/share - mv $pkgdir/usr/man $pkgdir/usr/share/ + install -d "$pkgdir"/usr/share + mv "$pkgdir"/usr/man "$pkgdir"/usr/share/ } diff --git a/community/exim/PKGBUILD b/community/exim/PKGBUILD index 08f7ebf91..2d4582227 100644 --- a/community/exim/PKGBUILD +++ b/community/exim/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 46614 2011-05-10 07:06:59Z angvp $ +# $Id: PKGBUILD 49455 2011-06-16 18:57:50Z angvp $ # Maintainer: Angel Velasquez <angvp@archlinux.org> # Maintainer: judd <jvinet@zeroflux.org> pkgname=exim pkgver=4.76 -pkgrel=1 +pkgrel=2 pkgdesc="A Message Transfer Agent" arch=(i686 x86_64 'mips64el') url="http://www.exim.org/" diff --git a/community/exim/exim.changelog b/community/exim/exim.changelog index 562a87b75..69182229e 100644 --- a/community/exim/exim.changelog +++ b/community/exim/exim.changelog @@ -1,3 +1,6 @@ +2010-06-16 Angel Velasquez <angvp@archlinux.org> + * Rebuilt against db 5.2.28 + 2010-05-09 Angel Velasquez <angvp@archlinux.org> * Updated to 4.76 * Removed previous patch since is no longer needed diff --git a/community/frogatto/PKGBUILD b/community/frogatto/PKGBUILD index 434ddd9fb..1e4e509a8 100644 --- a/community/frogatto/PKGBUILD +++ b/community/frogatto/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 47897 2011-05-26 00:34:36Z svenstaro $ +# $Id: PKGBUILD 51208 2011-07-05 20:39:32Z svenstaro $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Tom Wambold <tom5760@gmail.com> pkgname='frogatto' arch=('i686' 'x86_64') -pkgver=1.1 -pkgrel=3 +pkgver=1.1.1 +pkgrel=1 pkgdesc="An old-school 2d platformer game, starring a certain quixotic frog" url="http://www.frogatto.com" license=('GPL') @@ -14,7 +14,7 @@ makedepends=('boost') source=(http://www.frogatto.com/files/$pkgname-$pkgver.tar.bz2 frogatto frogatto.desktop) -md5sums=('8c01c8a1d7ecf820a682eb684d8bf739' +md5sums=('bf5a2ee4c3254a424766895ff250758b' '9ed2c9ea59e95fe3c0b3ad49e58f8890' 'e31563b04748a39292a59aaad633ff58') diff --git a/community/gdal/PKGBUILD b/community/gdal/PKGBUILD index d01d40c44..f7a7ab9c6 100644 --- a/community/gdal/PKGBUILD +++ b/community/gdal/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 46467 2011-05-07 14:58:14Z tdziedzic $ +# $Id: PKGBUILD 50951 2011-07-03 10:32:28Z jelle $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org # Contributor: William Rea <sillywilly@gmail.com> pkgname=gdal pkgver=1.8.0 -pkgrel=4 +pkgrel=5 pkgdesc="A translator library for raster geospatial data formats" arch=('i686' 'x86_64' 'mips64el') url="http://www.gdal.org/" @@ -27,6 +27,9 @@ md5sums=('c762cdab0f7e51a677ba49278a8a263d' '81afc1c26d29cee84aadb6924fe33861') build() { export CFLAGS="$CFLAGS -fno-strict-aliasing" + # bug 23654 + export LDFLAGS="$LDFLAGS -Wl,--as-needed" + cd ${srcdir}/$pkgname-$pkgver patch -Np0 -i ${srcdir}/gdal-1.5.1-python-install.patch diff --git a/community/gecko-mediaplayer/PKGBUILD b/community/gecko-mediaplayer/PKGBUILD index f2dd7e47f..a8c45c588 100644 --- a/community/gecko-mediaplayer/PKGBUILD +++ b/community/gecko-mediaplayer/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 45744 2011-04-28 09:33:53Z lfleischer $ +# $Id: PKGBUILD 51299 2011-07-06 15:48:09Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Allan McRae <mcrae_allan@hotmail.com> # Contributor: fancris3 <fancris3 at aol.com> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=gecko-mediaplayer -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=1 pkgdesc='Browser plugin that uses gnome-mplayer to play media in a web browser.' arch=('i686' 'x86_64' 'mips64el') @@ -15,7 +15,7 @@ depends=("gnome-mplayer>=${pkgver}" 'dbus-glib') makedepends=('xulrunner' 'pkgconfig') replaces=('mplayer-plugin') source=("http://gecko-mediaplayer.googlecode.com/files/${pkgname}-${pkgver}.tar.gz") -md5sums=('4996b243ed720dc30f5dcc9bc253bf68') +md5sums=('7bb7665f8a1e6832907d052863e8f7aa') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/community/gedit-plugins/PKGBUILD b/community/gedit-plugins/PKGBUILD index aa9f95eda..7e76f1c1d 100644 --- a/community/gedit-plugins/PKGBUILD +++ b/community/gedit-plugins/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 49674 2011-06-19 07:22:21Z ibiru $ +# $Id: PKGBUILD 51128 2011-07-05 14:25:52Z ibiru $ #Maintainer: Ionut Biru <ibiru@archlinux.org> #Contributor: Hugo Doria <hugo@archlinux.org> #Contributor: Sergej Chodarev <sergejx@centrum.sk> #Contributor: zhuqin <zhuqin83@gmail.com> pkgname=gedit-plugins -pkgver=3.0.4 +pkgver=3.0.5 pkgrel=1 pkgdesc="Set of plugins for gedit" arch=('i686' 'x86_64' 'mips64el') @@ -16,7 +16,7 @@ makedepends=('intltool' 'gnome-doc-utils') options=('!libtool' '!emptydirs') install=gedit-plugins.install source=(ftp://ftp.gnome.org/pub/gnome/sources/gedit-plugins/3.0/$pkgname-$pkgver.tar.xz) -sha256sums=('e1e16790300f7f51a1f2e6871e7b0604d9e242e507533697b529380d25a24879') +sha256sums=('e878d4c1bdf9ee38bf23440f3550f854078727233432bfe2f4062794e4b0f3a9') build() { cd $srcdir/$pkgname-$pkgver diff --git a/community/geos/PKGBUILD b/community/geos/PKGBUILD index 9272b89eb..876062876 100644 --- a/community/geos/PKGBUILD +++ b/community/geos/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 32533 2010-11-14 16:11:41Z jlichtblau $ +# $Id: PKGBUILD 50911 2011-07-02 23:00:14Z stephane $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org # Contributor: William Rea <sillywilly@gmail.com> pkgname=geos -pkgver=3.2.2 +pkgver=3.3.0 pkgrel=1 pkgdesc="A C++ port of the Java Topology Suite" arch=('i686' 'x86_64' 'mips64el') @@ -14,17 +14,17 @@ depends=('gcc-libs') options=('!libtool') changelog=$pkgname.changelog source=(http://download.osgeo.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2) -md5sums=('c5d264acac22fe7720f85dadc1fc17c6') +md5sums=('3301f3d1d747b95749384b8a356b022a') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make } package() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR=${pkgdir} install + make DESTDIR="${pkgdir}" install } diff --git a/community/gnome-mplayer/PKGBUILD b/community/gnome-mplayer/PKGBUILD index a435daaaa..5671d5e30 100644 --- a/community/gnome-mplayer/PKGBUILD +++ b/community/gnome-mplayer/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 47944 2011-05-26 08:59:17Z lfleischer $ +# $Id: PKGBUILD 51291 2011-07-06 15:32:05Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Allan McRae <mcrae_allan@hotmail.com> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=gnome-mplayer -pkgver=1.0.3 -pkgrel=3 +pkgver=1.0.4 +pkgrel=1 pkgdesc='A simple MPlayer GUI.' arch=('i686' 'x86_64' 'mips64el') url='http://gnome-mplayer.googlecode.com/' @@ -14,7 +14,7 @@ depends=('mplayer' 'dbus-glib' 'libnotify' 'gtk2' 'hicolor-icon-theme' 'dconf') makedepends=('gnome-power-manager' 'nautilus') install="${pkgname}.install" source=("http://gnome-mplayer.googlecode.com/files/${pkgname}-${pkgver}.tar.gz") -md5sums=('72a1c7d640a67eb2d60f2671108919c2') +md5sums=('c97dcf12d6a6b5543d701944f95e850e') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/community/gwenhywfar/PKGBUILD b/community/gwenhywfar/PKGBUILD index 026d56b23..69911f0c5 100644 --- a/community/gwenhywfar/PKGBUILD +++ b/community/gwenhywfar/PKGBUILD @@ -1,19 +1,20 @@ -# $Id: PKGBUILD 42710 2011-03-19 21:54:07Z spupykin $ +# $Id: PKGBUILD 51213 2011-07-05 21:18:23Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: William Rea <sillywilly@gmail.com> pkgname=gwenhywfar -pkgver=4.0.9 +pkgver=4.2.0 pkgrel=1 pkgdesc="OS abstraction functions for various projects" arch=(i686 x86_64 'mips64el') url="http://www.aquamaniac.de" options=('!libtool') license=("LGPL") -depends=('openssl') +depends=('openssl' 'gnutls') +makedepends=('gtk2' 'qt') optdepends=('gtk2' 'qt') -source=("gwenhywfar-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=01&release=60&file=01&dummy=gwenhywfar-$pkgver.tar.gz") -md5sums=('03c22b95eb493c8c98284d3d2e4d9795') +source=("gwenhywfar-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=01&release=62&file=01&dummy=gwenhywfar-$pkgver.tar.gz") +md5sums=('62d15e090a0c21bc9d22489ceaaadfde') build() { pacman -Q gwenhywfar && return 1 diff --git a/community/ktoblzcheck/PKGBUILD b/community/ktoblzcheck/PKGBUILD index ea29844cf..95a8ceaa0 100644 --- a/community/ktoblzcheck/PKGBUILD +++ b/community/ktoblzcheck/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 40241 2011-02-22 13:26:21Z stephane $ +# $Id: PKGBUILD 51218 2011-07-05 21:19:18Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Philipp Sandhaus <philipp.sandhaus@gmx.de> pkgname=ktoblzcheck -pkgver=1.31 +pkgver=1.33 pkgrel=1 pkgdesc="A library to check account numbers and bank codes of German banks" arch=(i686 x86_64 'mips64el') @@ -14,8 +14,8 @@ depends=('gcc-libs' 'python') optdepends=('perl') source=(http://downloads.sourceforge.net/sourceforge/ktoblzcheck/ktoblzcheck-$pkgver.tar.gz ktoblzcheck-python3.patch) -md5sums=('2bc5fd7b3d6785527f7f0ea565c35e29' - 'bf0d5e813aef4be426af5642ec4d524a') +md5sums=('e9f62a9a64ee51ab43751eadcade0433' + 'a81a697bb3aaeffb7fac0ad7d9166e3f') build() { cd "$srcdir/ktoblzcheck-$pkgver" @@ -23,6 +23,7 @@ build() { patch -p1 <$srcdir/ktoblzcheck-python3.patch make } + package() { cd "$srcdir/ktoblzcheck-$pkgver" make DESTDIR="$pkgdir" install diff --git a/community/ktoblzcheck/ktoblzcheck-python3.patch b/community/ktoblzcheck/ktoblzcheck-python3.patch index c94e0a021..5bfc53275 100644 --- a/community/ktoblzcheck/ktoblzcheck-python3.patch +++ b/community/ktoblzcheck/ktoblzcheck-python3.patch @@ -1,53 +1,3 @@ -diff -ur ktoblzcheck-1.28/py-compile ktoblzcheck-1.28.my/py-compile ---- ktoblzcheck-1.28/py-compile 2008-03-11 09:29:51.000000000 +0000 -+++ ktoblzcheck-1.28.my/py-compile 2010-09-20 09:09:53.000000000 +0000 -@@ -107,34 +107,30 @@ - - files = '''$files''' - --print 'Byte-compiling python modules...' --for file in string.split(files): -+print('Byte-compiling python modules...') -+for file in files.split(): - $pathtrans - $filetrans -- if not os.path.exists(filepath) or not (len(filepath) >= 3 -- and filepath[-3:] == '.py'): -- continue -- print file, -- sys.stdout.flush() -+ if not os.path.exists(filepath) or not (len(filepath) >= 3 and filepath[-3:] == '.py'): -+ continue -+ print(file, sys.stdout.flush()) - py_compile.compile(filepath, filepath + 'c', path) --print" || exit $? -+print()" || exit $? - - # this will fail for python < 1.5, but that doesn't matter ... - $PYTHON -O -c " - import sys, os, string, py_compile - - files = '''$files''' --print 'Byte-compiling python modules (optimized versions) ...' --for file in string.split(files): -+print('Byte-compiling python modules (optimized versions) ...') -+for file in files.split(): - $pathtrans - $filetrans -- if not os.path.exists(filepath) or not (len(filepath) >= 3 -- and filepath[-3:] == '.py'): -- continue -- print file, -- sys.stdout.flush() -+ if not os.path.exists(filepath) or not (len(filepath) >= 3 and filepath[-3:] == '.py'): -+ continue -+ print(file,sys.stdout.flush()) - py_compile.compile(filepath, filepath + 'o', path) --print" 2>/dev/null || : -+print()" 2>/dev/null || : - - # Local Variables: - # mode: shell-script diff -ur ktoblzcheck-1.28/src/python/ktoblzcheck.py ktoblzcheck-1.28.my/src/python/ktoblzcheck.py --- ktoblzcheck-1.28/src/python/ktoblzcheck.py 2008-08-12 16:48:54.000000000 +0000 +++ ktoblzcheck-1.28.my/src/python/ktoblzcheck.py 2010-09-20 09:08:36.000000000 +0000 diff --git a/community/libgda3/PKGBUILD b/community/libgda3/PKGBUILD index 776e639f6..f46ce3f00 100644 --- a/community/libgda3/PKGBUILD +++ b/community/libgda3/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 42498 2011-03-17 10:53:49Z jelle $ +# $Id: PKGBUILD 49363 2011-06-15 09:20:21Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=libgda3 pkgver=3.1.5 -pkgrel=8 +pkgrel=9 pkgdesc="data abstraction layer; with mysql, pgsql, ldap, xml, sqlite providers" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnome-db.org/Download" diff --git a/community/libmediainfo/PKGBUILD b/community/libmediainfo/PKGBUILD index 2674b13c0..57e7f6553 100644 --- a/community/libmediainfo/PKGBUILD +++ b/community/libmediainfo/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 45009 2011-04-14 09:10:11Z spupykin $ +# $Id: PKGBUILD 50998 2011-07-04 11:41:36Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: hydro <hydro@freenet.de> pkgname=libmediainfo -pkgver=0.7.43 +pkgver=0.7.45 pkgrel=1 pkgdesc="shared library for mediainfo" arch=('i686' 'x86_64' 'mips64el') @@ -12,23 +12,27 @@ license=('GPL') depends=( 'curl' 'libmms>=0.5-2' 'libzen>=0.4.15') makedepends=('libtool' 'automake' 'autoconf') options=(!libtool) -source=(http://downloads.sourceforge.net/mediainfo/${pkgname}_${pkgver}.tar.bz2) -md5sums=('4200c44c4f7016145d580757de18f2d4') +source=(http://downloads.sourceforge.net/mediainfo/${pkgname}_${pkgver}.tar.bz2 + "libmediainfo-0.7.44-libmms.patch::http://www.calculate-linux.org/packages/media-libs/libmediainfo/files/libmediainfo-0.7.44-libmms.patch?format=raw") +md5sums=('b2148a4da794bb1d0721cfa328d59aeb' + '1bdae4d3006b72e3f07cb1a9fa124950') build() { cd $srcdir/MediaInfoLib/Project/GNU/Library - sh ./autogen ./configure --prefix=/usr --enable-shared --disable-static --with-libcurl --with-libmms make clean + (cd ../../.. && patch -p1 <$srcdir/libmediainfo-0.7.44-libmms.patch) make - make DESTDIR=$pkgdir install +} +package() { + cd $srcdir/MediaInfoLib/Project/GNU/Library + make DESTDIR=$pkgdir install for i in MediaInfo MediaInfoDLL; do install -dm 755 $pkgdir/usr/include/$i install -m 644 $srcdir/MediaInfoLib/Source/$i/*.h $pkgdir/usr/include/$i done - install -dm 755 $pkgdir/usr/lib/pkgconfig install -m 644 $srcdir/MediaInfoLib/Project/GNU/Library/libmediainfo.pc $pkgdir/usr/lib/pkgconfig sed -i -e 's|Version: |Version: '$pkgver'|g' $pkgdir/usr/lib/pkgconfig/libmediainfo.pc diff --git a/community/librcc/PKGBUILD b/community/librcc/PKGBUILD index 02973d08b..61679f035 100644 --- a/community/librcc/PKGBUILD +++ b/community/librcc/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 30655 2010-10-19 14:04:46Z spupykin $ +# $Id: PKGBUILD 49369 2011-06-15 09:26:07Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=librcc pkgver=0.2.6 -pkgrel=3 +pkgrel=4 pkgdesc="Charset Conversion Library" arch=(i686 x86_64 'mips64el') url="http://rusxmms.sourceforge.net/" @@ -20,11 +20,12 @@ md5sums=('9bbf248c7312c73c0b6ca19b9c5a2af1' build() { cd ${startdir}/src/$pkgname-${pkgver} ./configure --prefix=/usr - patch -p1 <$srcdir/librcc-strnlen.patch + make +} - make || return 1 - +package() { + cd ${startdir}/src/$pkgname-${pkgver} mkdir -p $startdir/pkg/etc/rcc mkdir -p $startdir/pkg/usr/lib/rcc/engines mkdir -p $startdir/pkg/usr/bin diff --git a/community/librcc/librcc.install b/community/librcc/librcc.install index 8d2ccce98..53b1d7ce7 100644 --- a/community/librcc/librcc.install +++ b/community/librcc/librcc.install @@ -1,28 +1,6 @@ -pre_install() { - /bin/true -} - post_install() { echo "-- Don't forget to install gtk or/and gtk2 packages to enable librcc" echo " gui features" echo "-- Also you may change /usr/bin/rcc-config symlink to switch between" echo " gtk and gtk2 (rcc-gtk-config and rcc-gtk2-config)" - /bin/true -} - -pre_upgrade() { - /bin/true -} - -post_upgrade() { - /bin/true -} - -pre_remove() { - /bin/true -} - -post_remove() { - /bin/true } - diff --git a/community/libvirt/PKGBUILD b/community/libvirt/PKGBUILD index 5ab7903be..6b23482af 100644 --- a/community/libvirt/PKGBUILD +++ b/community/libvirt/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 48842 2011-06-06 14:43:46Z spupykin $ +# $Id: PKGBUILD 50988 2011-07-04 11:16:13Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Jonathan Wiersma <archaur at jonw dot org> pkgname=libvirt -pkgver=0.9.2 +pkgver=0.9.3 pkgrel=1 pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)" arch=('i686' 'x86_64' 'mips64el') @@ -37,10 +37,10 @@ source=("http://libvirt.org/sources/$pkgname-$pkgver.tar.gz" openbsd-netcat-default.patch unixperms.patch yajl-2.x.patch) -md5sums=('a9f974e173471a9c9b381ad1e93642b0' +md5sums=('04f47fad7d0c614af9dcc5d1351c2148' '018d97dafc0049075fba6f2850f17a12' '3ed0e24f5b5e25bf553f5427d64915e6' - '1c151434af552b8a30fe87d21ef5d783' + 'ebb78cda893ca7991e0c22588a63132b' 'db95aecdf2ccf3693fef5821cdcb7eba' '5745bb8d0b254abb7a3528c66e03b0f9') diff --git a/community/libvirt/openbsd-netcat-default.patch b/community/libvirt/openbsd-netcat-default.patch index 8a0d9aec8..29f05b34f 100644 --- a/community/libvirt/openbsd-netcat-default.patch +++ b/community/libvirt/openbsd-netcat-default.patch @@ -1,7 +1,7 @@ -diff -wbBur libvirt-0.9.2/src/qemu/qemu_migration.c libvirt-0.9.2.my/src/qemu/qemu_migration.c ---- libvirt-0.9.2/src/qemu/qemu_migration.c 2011-06-06 06:47:32.000000000 +0400 -+++ libvirt-0.9.2.my/src/qemu/qemu_migration.c 2011-06-06 18:27:38.000000000 +0400 -@@ -1770,7 +1770,7 @@ +diff -wbBur libvirt-0.9.3/src/qemu/qemu_migration.c libvirt-0.9.3.my/src/qemu/qemu_migration.c +--- libvirt-0.9.3/src/qemu/qemu_migration.c 2011-07-04 06:45:14.000000000 +0400 ++++ libvirt-0.9.3.my/src/qemu/qemu_migration.c 2011-07-04 15:03:15.000000000 +0400 +@@ -1763,7 +1763,7 @@ ret = qemuMonitorMigrateToUnix(priv->mon, background_flags, unixfile); } else if (qemuCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATE_QEMU_EXEC)) { @@ -10,15 +10,27 @@ diff -wbBur libvirt-0.9.2/src/qemu/qemu_migration.c libvirt-0.9.2.my/src/qemu/qe ret = qemuMonitorMigrateToCommand(priv->mon, QEMU_MONITOR_MIGRATE_BACKGROUND, args); } else { ret = -1; -diff -wbBur libvirt-0.9.2/src/remote/remote_driver.c libvirt-0.9.2.my/src/remote/remote_driver.c ---- libvirt-0.9.2/src/remote/remote_driver.c 2011-06-06 04:15:12.000000000 +0400 -+++ libvirt-0.9.2.my/src/remote/remote_driver.c 2011-06-06 18:27:52.000000000 +0400 -@@ -774,7 +774,7 @@ - virCommandAddArgList(cmd, "-T", "-o", "BatchMode=yes", "-e", - "none", NULL); - } -- virCommandAddArgList(cmd, priv->hostname, netcat ? netcat : "nc", -+ virCommandAddArgList(cmd, priv->hostname, netcat ? netcat : "nc.openbsd", - "-U", (sockname ? sockname : - (flags & VIR_CONNECT_RO - ? LIBVIRTD_PRIV_UNIX_SOCKET_RO +diff -wbBur libvirt-0.9.3/src/remote/remote_driver.c libvirt-0.9.3.my/src/remote/remote_driver.c +--- libvirt-0.9.3/src/remote/remote_driver.c 2011-07-01 10:59:10.000000000 +0400 ++++ libvirt-0.9.3.my/src/remote/remote_driver.c 2011-07-04 15:03:32.000000000 +0400 +@@ -571,7 +571,7 @@ + command, + username, + no_tty, +- netcat ? netcat : "nc", ++ netcat ? netcat : "nc.openbsd", + sockname))) + goto failed; + +diff -wbBur libvirt-0.9.3/src/rpc/virnetsocket.c libvirt-0.9.3.my/src/rpc/virnetsocket.c +--- libvirt-0.9.3/src/rpc/virnetsocket.c 2011-07-01 10:59:10.000000000 +0400 ++++ libvirt-0.9.3.my/src/rpc/virnetsocket.c 2011-07-04 15:03:00.000000000 +0400 +@@ -597,7 +597,7 @@ + virCommandAddArgList(cmd, "-T", "-o", "BatchMode=yes", + "-e", "none", NULL); + virCommandAddArgList(cmd, nodename, +- netcat ? netcat : "nc", ++ netcat ? netcat : "nc.openbsd", + "-U", path, NULL); + + return virNetSocketNewConnectCommand(cmd, retsock); diff --git a/community/libzen/PKGBUILD b/community/libzen/PKGBUILD index c6aa81787..b33d81a66 100644 --- a/community/libzen/PKGBUILD +++ b/community/libzen/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 45012 2011-04-14 09:10:57Z spupykin $ +# $Id: PKGBUILD 50993 2011-07-04 11:24:03Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: hydro <hydro@freenet.de> pkgname=libzen -pkgver=0.4.19 +pkgver=0.4.20 pkgrel=1 pkgdesc="shared library for libmediainfo and mediainfo" arch=('i686' 'x86_64' 'mips64el') @@ -13,28 +13,28 @@ depends=('gcc-libs') makedepends=('libtool' 'automake' 'autoconf') options=('!libtool') source=(http://downloads.sourceforge.net/zenlib/${pkgname}_${pkgver}.tar.bz2) -md5sums=('0deabb701564f2e616a7ee6dd71599a1') +md5sums=('8211cc2ca8500c6af14600363be064d5') build() { cd $srcdir/ZenLib/Project/GNU/Library - sh ./autogen ./configure --prefix=/usr --enable-shared make clean + sed -i '1,1i#include <stdlib.h>' ../../../Source/ZenLib/Thread.h make - make DESTDIR=$pkgdir install +} +package() { + cd $srcdir/ZenLib/Project/GNU/Library + make DESTDIR=$pkgdir install install -dm 755 $pkgdir/usr/include/ZenLib install -m 644 $srcdir/ZenLib/Source/ZenLib/*.h $pkgdir/usr/include/ZenLib - for i in Base64 HTTP_Client Format/Html Format/Http TinyXml; do install -dm 755 $pkgdir/usr/include/ZenLib/$i install -m 644 $srcdir/ZenLib/Source/ZenLib/$i/*.h $pkgdir/usr/include/ZenLib/$i done - install -dm 755 $pkgdir/usr/lib/pkgconfig install -m 644 $srcdir/ZenLib/Project/GNU/Library/libzen.pc $pkgdir/usr/lib/pkgconfig sed -i -e 's|Version: |Version: '$pkgver'|g' $pkgdir/usr/lib/pkgconfig/libzen.pc - install -D -m 644 $srcdir/ZenLib/License.txt $pkgdir/usr/share/licenses/libzen/License.txt } diff --git a/community/mediainfo-gui/PKGBUILD b/community/mediainfo-gui/PKGBUILD index 0399fb42c..b204ddf3e 100644 --- a/community/mediainfo-gui/PKGBUILD +++ b/community/mediainfo-gui/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 45015 2011-04-14 09:11:31Z spupykin $ +# $Id: PKGBUILD 51008 2011-07-04 11:43:50Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: hydro <hydro@freenet.de> pkgname=mediainfo-gui -pkgver=0.7.43 +pkgver=0.7.45 pkgrel=1 pkgdesc="GUI for mediainfo" arch=('i686' 'x86_64' 'mips64el') @@ -13,13 +13,17 @@ depends=('libmediainfo>=0.7.35' 'wxgtk') makedepends=('libtool' 'automake' 'autoconf') install=mediainfo-gui.install source=(http://downloads.sourceforge.net/mediainfo/mediainfo_${pkgver}.tar.bz2) -md5sums=('a1c61fb1385e22dc762dad33b7f37681') +md5sums=('8b8287dcc6d9805a1ba5209d99727ffb') build() { cd $srcdir/MediaInfo/Project/GNU/GUI sh ./autogen ./configure --prefix=/usr make +} + +package() { + cd $srcdir/MediaInfo/Project/GNU/GUI make DESTDIR=$pkgdir install install -D -m 644 $srcdir/MediaInfo/Source/Ressource/Image/MediaInfo.png \ $pkgdir/usr/share/icons/hicolor/128x128/apps/mediainfo.png @@ -27,5 +31,4 @@ build() { $pkgdir/usr/share/pixmaps/mediainfo-gui.png install -D -m 644 $srcdir/MediaInfo/Project/GNU/GUI/mediainfo-gui.desktop \ $pkgdir/usr/share/applications/mediainfo-gui.desktop - } diff --git a/community/mediainfo/PKGBUILD b/community/mediainfo/PKGBUILD index ce21aae6d..25da7fb81 100644 --- a/community/mediainfo/PKGBUILD +++ b/community/mediainfo/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 46857 2011-05-13 08:16:10Z jelle $ +# $Id: PKGBUILD 51003 2011-07-04 11:42:54Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: hydro <hydro@freenet.de> pkgname=mediainfo -pkgver=0.7.44 +pkgver=0.7.45 pkgrel=1 pkgdesc="supplies technical and tag information about a video or audio file" arch=('i686' 'x86_64' 'mips64el') @@ -12,7 +12,7 @@ license=('GPL') depends=('libmediainfo>=0.7.35') makedepends=('libtool' 'automake' 'autoconf') source=(http://downloads.sourceforge.net/mediainfo/${pkgname}_${pkgver}.tar.bz2) -md5sums=('ed89fcc565ac38065bcb48e13efea5c6') +md5sums=('8b8287dcc6d9805a1ba5209d99727ffb') build() { cd $srcdir/MediaInfo/Project/GNU/CLI diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD index 50a62916a..b5de75e44 100644 --- a/community/mongodb/PKGBUILD +++ b/community/mongodb/PKGBUILD @@ -4,7 +4,7 @@ pkgname=mongodb pkgver=1.8.2 -pkgrel=2 +pkgrel=4 pkgdesc='A high-performance, open source, schema-free document-oriented database.' arch=('i686' 'x86_64' 'mips64el') url='http://www.mongodb.org' diff --git a/community/mongodb/add-js185-support-to-SConstruct.diff b/community/mongodb/add-js185-support-to-SConstruct.diff new file mode 100644 index 000000000..c621d00cb --- /dev/null +++ b/community/mongodb/add-js185-support-to-SConstruct.diff @@ -0,0 +1,12 @@ +--- SConstruct.original 2011-07-05 14:23:46.334748007 +0000 ++++ SConstruct 2011-07-05 14:26:15.729533840 +0000 +@@ -208,6 +208,9 @@ + justClientLib = (COMMAND_LINE_TARGETS == ['mongoclient']) + + env = Environment( MSVS_ARCH=msarch , tools = ["default", "gch"], toolpath = '.' ) ++ ++env.ParseConfig('pkg-config --cflags --libs mozjs185') ++ + if has_option( "cxx" ): + env["CC"] = get_option( "cxx" ) + env["CXX"] = get_option( "cxx" ) diff --git a/community/mongodb/mongodb-1.8.0-spidermonkey-1.8.5-support.patch b/community/mongodb/mongodb-1.8.0-spidermonkey-1.8.5-support.patch new file mode 100644 index 000000000..46160450f --- /dev/null +++ b/community/mongodb/mongodb-1.8.0-spidermonkey-1.8.5-support.patch @@ -0,0 +1,1502 @@ +--- mongodb-src-r1.8.0/SConstruct.mozjs185~ 2011-03-16 16:33:30.000000000 +0100 ++++ mongodb-src-r1.8.0/SConstruct 2011-04-01 22:16:43.411100876 +0200 +@@ -671,7 +671,6 @@ if nix: + env.Append( CPPFLAGS="-fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch" ) + # env.Append( " -Wconversion" ) TODO: this doesn't really work yet + if linux: +- env.Append( CPPFLAGS=" -Werror " ) + env.Append( CPPFLAGS=" -fno-builtin-memcmp " ) # glibc's memcmp is faster than gcc's + env.Append( CXXFLAGS=" -Wnon-virtual-dtor " ) + env.Append( LINKFLAGS=" -fPIC -pthread -rdynamic" ) +@@ -893,11 +892,11 @@ def doConfigure( myenv , needPcre=True , + if usesm: + + # see http://www.mongodb.org/pages/viewpageattachments.action?pageId=12157032 +- J = [ "mozjs" , "js", "js_static" ] ++ J = [ "mozjs185" , "js", "js_static" ] + if windows: + if msarch == "amd64": + if release: +- J = [ "js64r", "js", "mozjs" , "js_static" ] ++ J = [ "js64r", "js", "mozjs185" , "js_static" ] + else: + J = "js64d" + print( "looking for js64d.lib for spidermonkey. (available at mongodb.org prebuilt)" ); +@@ -905,14 +904,12 @@ def doConfigure( myenv , needPcre=True , + if not force32: + print( "Assuming a 32 bit build is desired" ) + if release: +- J = [ "js32r", "js", "mozjs" , "js_static" ] ++ J = [ "js32r", "js", "mozjs185" , "js_static" ] + else: +- J = [ "js32d", "js", "mozjs" , "js_static" ] ++ J = [ "js32d", "js", "mozjs185" , "js_static" ] + + myCheckLib( J , True ) + mozHeader = "js" +- if bigLibString(myenv).find( "mozjs" ) >= 0: +- mozHeader = "mozjs" + + if not conf.CheckHeader( mozHeader + "/jsapi.h" ): + if conf.CheckHeader( "jsapi.h" ): +@@ -921,6 +918,13 @@ def doConfigure( myenv , needPcre=True , + print( "no spider monkey headers!" ) + Exit(1) + ++ if conf.CheckFunc( 'JS_NewCompartmentAndGlobalObject' ): ++ myenv.Append( CPPDEFINES=[ "HAVE_COMPARTMENTS" ] ) ++ if conf.CheckFunc( 'JS_GetStringCharsAndLength' ): ++ myenv.Append( CPPDEFINES=[ "HAVE_JS_GET_STRING_CHARS_AND_LENGTH" ] ) ++ if conf.CheckFunc( 'JS_NewRegExpObjectNoStatics' ): ++ myenv.Append( CPPDEFINES=[ "JS_NEW_REG_EXP_OBJECT_NO_STATISTICS" ] ) ++ + if usev8: + if debugBuild: + myCheckLib( [ "v8_g" , "v8" ] , True ) +--- mongodb-src-r1.8.0/scripting/engine_spidermonkey.cpp.mozjs185~ 2011-03-16 16:33:30.000000000 +0100 ++++ mongodb-src-r1.8.0/scripting/engine_spidermonkey.cpp 2011-04-01 22:42:19.780233492 +0200 +@@ -192,8 +192,13 @@ namespace mongo { + } + + string toString( JSString * so ) { ++#ifdef HAVE_JS_GET_STRING_CHARS_AND_LENGTH ++ size_t srclen; ++ const jschar * s = JS_GetStringCharsAndLength( _context , so , &srclen ); ++#else + jschar * s = JS_GetStringChars( so ); + size_t srclen = JS_GetStringLength( so ); ++#endif + if( srclen == 0 ) + return ""; + +@@ -360,7 +365,7 @@ namespace mongo { + + case JSTYPE_OBJECT: { + JSObject * o = JSVAL_TO_OBJECT( val ); +- if ( ! o || o == JSVAL_NULL ) { ++ if ( ! o || o == (JSObject *)JSVAL_NULL ){ + b.appendNull( name ); + } + else if ( ! appendSpecialDBObject( this , b , name , val , o ) ) { +@@ -419,16 +424,15 @@ namespace mongo { + return true; + } + +- void addRoot( JSFunction * f , const char * name ); ++ void addRoot( JSFunction * f ); + + JSFunction * compileFunction( const char * code, JSObject * assoc = 0 ) { +- const char * gcName = "unknown"; +- JSFunction * f = _compileFunction( code , assoc , gcName ); +- //addRoot( f , gcName ); ++ JSFunction * f = _compileFunction( code , assoc ); ++ //addRoot( f ); + return f; + } + +- JSFunction * _compileFunction( const char * raw , JSObject * assoc , const char *& gcName ) { ++ JSFunction * _compileFunction( const char * raw , JSObject * assoc ) { + if ( ! assoc ) + assoc = JS_GetGlobalObject( _context ); + +@@ -447,7 +451,6 @@ namespace mongo { + if ( isSimpleStatement( s ) ) { + s = "return " + s; + } +- gcName = "cf anon"; + fname << "anon"; + return JS_CompileFunction( _context , assoc , fname.str().c_str() , 0 , 0 , s.c_str() , s.size() , "nofile_a" , 0 ); + } +@@ -488,7 +491,6 @@ namespace mongo { + log() << "compile failed for: " << raw << endl; + return 0; + } +- gcName = "cf normal"; + return func; + } + +@@ -630,7 +632,11 @@ namespace mongo { + flags++; + } + ++#ifdef JS_NEW_REG_EXP_OBJECT_NO_STATISTICS ++ JSObject * r = JS_NewRegExpObjectNoStatics( _context , (char*)e.regex() , strlen( e.regex() ) , flagNumber); ++#else + JSObject * r = JS_NewRegExpObject( _context , (char*)e.regex() , strlen( e.regex() ) , flagNumber ); ++#endif + assert( r ); + return OBJECT_TO_JSVAL( r ); + } +@@ -791,7 +797,7 @@ namespace mongo { + + BSONFieldIterator * it = (BSONFieldIterator*)JSVAL_TO_PRIVATE( *statep ); + if ( ! it ) { +- *statep = 0; ++ *statep = JSVAL_NULL; + return JS_TRUE; + } + +@@ -803,7 +809,7 @@ namespace mongo { + } + else { + delete it; +- *statep = 0; ++ *statep = JSVAL_NULL; + } + return JS_TRUE; + } +@@ -818,7 +824,7 @@ namespace mongo { + return JS_FALSE; + } + +- JSBool noaccess( JSContext *cx, JSObject *obj, jsval idval, jsval *vp) { ++ JSBool noaccess( JSContext *cx, JSObject *obj, jsid id, jsval *vp){ + BSONHolder * holder = GETHOLDER( cx , obj ); + if ( ! holder ) { + // in init code still +@@ -830,24 +836,37 @@ namespace mongo { + return JS_FALSE; + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) ++ JSBool strict_noaccess( JSContext *cx, JSObject *obj, jsid id, JSBool strict, jsval *vp){ ++ return noaccess( cx , obj , id , vp ); ++ } ++ ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp, JSResolveOp) + JSClass bson_ro_class = { + "bson_ro_object" , JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE | JSCLASS_NEW_ENUMERATE , +- noaccess, noaccess, JS_PropertyStub, noaccess, +- (JSEnumerateOp)bson_enumerate, (JSResolveOp)(&resolveBSONField) , JS_ConvertStub, bson_finalize , ++ noaccess, noaccess, JS_PropertyStub, strict_noaccess, ++ (JSEnumerateOp)bson_enumerate, (JSResolveOp)resolveBSONField , JS_ConvertStub, bson_finalize , + JSCLASS_NO_OPTIONAL_MEMBERS + }; + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool bson_cons( JSContext* cx, uintN argc, jsval* vp ){ ++#else + JSBool bson_cons( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + cerr << "bson_cons : shouldn't be here!" << endl; + JS_ReportError( cx , "can't construct bson object" ); + return JS_FALSE; + } + + JSFunctionSpec bson_functions[] = { +- { 0 } ++ JS_FS_END + }; + +- JSBool bson_add_prop( JSContext *cx, JSObject *obj, jsval idval, jsval *vp) { ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSPropertyOp) ++ JSBool bson_add_prop( JSContext *cx, JSObject *obj, jsid id, jsval *vp){ ++ jsval idval; ++ JS_IdToValue( cx , id , &idval ); + BSONHolder * holder = GETHOLDER( cx , obj ); + if ( ! holder ) { + // static init +@@ -864,8 +883,10 @@ namespace mongo { + return JS_TRUE; + } + +- +- JSBool mark_modified( JSContext *cx, JSObject *obj, jsval idval, jsval *vp) { ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSPropertyOp) ++ JSBool mark_modified( JSContext *cx, JSObject *obj, jsid id, JSBool strict, jsval *vp){ ++ jsval idval; ++ JS_IdToValue( cx , id , &idval ); + Convertor c(cx); + BSONHolder * holder = GETHOLDER( cx , obj ); + if ( !holder ) // needed when we're messing with DBRef.prototype +@@ -877,7 +898,10 @@ namespace mongo { + return JS_TRUE; + } + +- JSBool mark_modified_remove( JSContext *cx, JSObject *obj, jsval idval, jsval *vp) { ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSPropertyOp) ++ JSBool mark_modified_remove( JSContext *cx, JSObject *obj, jsid id, jsval *vp){ ++ jsval idval; ++ JS_IdToValue( cx , id , &idval ); + Convertor c(cx); + BSONHolder * holder = GETHOLDER( cx , obj ); + if ( holder->_inResolve ) +@@ -887,23 +911,26 @@ namespace mongo { + return JS_TRUE; + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp, JSResolveOp) + JSClass bson_class = { + "bson_object" , JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE | JSCLASS_NEW_ENUMERATE , + bson_add_prop, mark_modified_remove, JS_PropertyStub, mark_modified, +- (JSEnumerateOp)bson_enumerate, (JSResolveOp)(&resolveBSONField) , JS_ConvertStub, bson_finalize , ++ (JSEnumerateOp)bson_enumerate, (JSResolveOp)resolveBSONField , JS_ConvertStub, bson_finalize , + JSCLASS_NO_OPTIONAL_MEMBERS + }; + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + static JSClass global_class = { + "global", JSCLASS_GLOBAL_FLAGS, +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + + // --- global helpers --- + +- JSBool native_print( JSContext * cx , JSObject * obj , uintN argc, jsval *argv, jsval *rval ) { ++ JSBool native_print( JSContext * cx , uintN argc , jsval *vp ){ ++ jsval *argv = JS_ARGV( cx , vp); + stringstream ss; + Convertor c( cx ); + for ( uintN i=0; i<argc; i++ ) { +@@ -913,10 +940,13 @@ namespace mongo { + } + ss << "\n"; + Logstream::logLockless( ss.str() ); ++ JS_SET_RVAL( cx , vp , JSVAL_VOID ); + return JS_TRUE; + } + +- JSBool native_helper( JSContext *cx , JSObject *obj , uintN argc, jsval *argv , jsval *rval ) { ++ JSBool native_helper( JSContext *cx , uintN argc, jsval *vp){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); + + NativeFunction func = (NativeFunction)((long long)c.getNumber( obj , "x" ) ); +@@ -942,35 +972,37 @@ namespace mongo { + } + + if ( out.isEmpty() ) { +- *rval = JSVAL_VOID; ++ JS_SET_RVAL( cx , vp , JSVAL_VOID ); + } + else { +- *rval = c.toval( out.firstElement() ); ++ JS_SET_RVAL( cx , vp , c.toval( out.firstElement() ) ); + } + + return JS_TRUE; + } + +- JSBool native_load( JSContext *cx , JSObject *obj , uintN argc, jsval *argv , jsval *rval ); ++ JSBool native_load( JSContext *cx , uintN argc, jsval *vp ); + +- JSBool native_gc( JSContext *cx , JSObject *obj , uintN argc, jsval *argv , jsval *rval ) { ++ JSBool native_gc( JSContext *cx , uintN argc, jsval *vp ){ + JS_GC( cx ); ++ JS_SET_RVAL( cx , vp , JSVAL_VOID ); + return JS_TRUE; + } + + JSFunctionSpec globalHelpers[] = { +- { "print" , &native_print , 0 , 0 , 0 } , +- { "nativeHelper" , &native_helper , 1 , 0 , 0 } , +- { "load" , &native_load , 1 , 0 , 0 } , +- { "gc" , &native_gc , 1 , 0 , 0 } , +- { 0 , 0 , 0 , 0 , 0 } ++ JS_FS( "print" , &native_print , 0 , JSFUN_FAST_NATIVE ) , ++ JS_FS( "nativeHelper" , &native_helper , 1 , JSFUN_FAST_NATIVE ) , ++ JS_FS( "load" , &native_load , 1 , JSFUN_FAST_NATIVE ) , ++ JS_FS( "gc" , &native_gc , 1 , JSFUN_FAST_NATIVE ) , ++ JS_FS_END + }; + + // ----END global helpers ---- + + // Object helpers + +- JSBool bson_get_size(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool bson_get_size(JSContext *cx, uintN argc, jsval *vp){ ++ jsval *argv = JS_ARGV( cx , vp ); + if ( argc != 1 || !JSVAL_IS_OBJECT( argv[ 0 ] ) ) { + JS_ReportError( cx , "bsonsize requires one valid object" ); + return JS_FALSE; +@@ -979,7 +1011,7 @@ namespace mongo { + Convertor c(cx); + + if ( argv[0] == JSVAL_VOID || argv[0] == JSVAL_NULL ) { +- *rval = c.toval( 0.0 ); ++ JS_SET_RVAL( cx , vp , c.toval( 0.0 ) ); + return JS_TRUE; + } + +@@ -999,18 +1031,21 @@ namespace mongo { + size = temp.objsize(); + } + +- *rval = c.toval( size ); ++ JS_SET_RVAL( cx , vp , c.toval( size ) ); + return JS_TRUE; + } + + JSFunctionSpec objectHelpers[] = { +- { "bsonsize" , &bson_get_size , 1 , 0 , 0 } , +- { 0 , 0 , 0 , 0 , 0 } ++ JS_FS( "bsonsize" , &bson_get_size , 1 , JSFUN_FAST_NATIVE ) , ++ JS_FS_END + }; + + // end Object helpers + +- JSBool resolveBSONField( JSContext *cx, JSObject *obj, jsval id, uintN flags, JSObject **objp ) { ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSResolveOp) ++ JSBool resolveBSONField( JSContext *cx, JSObject *obj, jsid id, uintN flags, JSObject **objp ){ ++ jsval idval; ++ JS_IdToValue( cx , id , &idval ); + assert( JS_EnterLocalRootScope( cx ) ); + Convertor c( cx ); + +@@ -1023,7 +1058,7 @@ namespace mongo { + } + holder->check(); + +- string s = c.toString( id ); ++ string s = c.toString( idval ); + + BSONElement e = holder->_obj[ s.c_str() ]; + +@@ -1139,9 +1174,15 @@ namespace mongo { + //JS_SetVersion( _context , JSVERSION_LATEST); TODO + JS_SetErrorReporter( _context , errorReporter ); + ++#ifdef HAVE_COMPARTMENTS ++ _global = JS_NewCompartmentAndGlobalObject( _context , &global_class , NULL); ++ massert( 13442 , "JS_NewCompartmentAndGlobalObject failed for global" , _global ); ++ _call = JS_EnterCrossCompartmentCall( _context , _global); ++#else + _global = JS_NewObject( _context , &global_class, NULL, NULL); + massert( 10432 , "JS_NewObject failed for global" , _global ); + JS_SetGlobalObject( _context , _global ); ++#endif + massert( 10433 , "js init failed" , JS_InitStandardClasses( _context , _global ) ); + + JS_SetOptions( _context , JS_GetOptions( _context ) | JSOPTION_VAROBJFIX ); +@@ -1159,13 +1200,14 @@ namespace mongo { + smlock; + uassert( 10223 , "deleted SMScope twice?" , _convertor ); + +- for ( list<void*>::iterator i=_roots.begin(); i != _roots.end(); i++ ) { +- JS_RemoveRoot( _context , *i ); ++ for ( list<JSObject*>::iterator i=_roots.begin(); i != _roots.end(); i++ ){ ++ JSObject * obj = (JSObject *)*i; ++ JS_RemoveObjectRoot( _context , &obj ); + } + _roots.clear(); + + if ( _this ) { +- JS_RemoveRoot( _context , &_this ); ++ JS_RemoveObjectRoot( _context , &_this ); + _this = 0; + } + +@@ -1174,6 +1216,13 @@ namespace mongo { + _convertor = 0; + } + ++#ifdef HAVE_COMPARTMENTS ++ if ( _call ) { ++ JS_LeaveCrossCompartmentCall( _call ); ++ _call = 0; ++ } ++#endif ++ + if ( _context ) { + // This is expected to reclaim _global as well. + JS_DestroyContext( _context ); +@@ -1187,16 +1236,16 @@ namespace mongo { + assert( _convertor ); + return; + if ( _this ) { +- JS_RemoveRoot( _context , &_this ); ++ JS_RemoveObjectRoot( _context , &_this ); + _this = 0; + } + currentScope.reset( this ); + _error = ""; + } + +- void addRoot( void * root , const char * name ) { +- JS_AddNamedRoot( _context , root , name ); +- _roots.push_back( root ); ++ void addRoot( JSObject * obj ){ ++ JS_AddObjectRoot( _context , &obj ); ++ _roots.push_back( obj ); + } + + void init( const BSONObj * data ) { +@@ -1336,13 +1385,13 @@ namespace mongo { + void setThis( const BSONObj * obj ) { + smlock; + if ( _this ) { +- JS_RemoveRoot( _context , &_this ); ++ JS_RemoveObjectRoot( _context , &_this ); + _this = 0; + } + + if ( obj ) { + _this = _convertor->toJSObject( obj ); +- JS_AddNamedRoot( _context , &_this , "scope this" ); ++ JS_AddObjectRoot( _context , &_this ); + } + } + +@@ -1402,7 +1451,7 @@ namespace mongo { + spec->start = boost::posix_time::microsec_clock::local_time(); + spec->count = 0; + JS_SetContextPrivate( _context, (void*)spec ); +-#if defined(SM181) && !defined(XULRUNNER190) ++#if JS_VERSION >= 181 && !defined(XULRUNNER190) + JS_SetOperationCallback( _context, _interrupt ); + #else + JS_SetBranchCallback( _context, interrupt ); +@@ -1412,7 +1461,7 @@ namespace mongo { + + void uninstallInterrupt( int timeoutMs ) { + if ( timeoutMs != 0 || ScriptEngine::haveCheckInterruptCallback() ) { +-#if defined(SM181) && !defined(XULRUNNER190) ++#if JS_VERSION >= 181 && !defined(XULRUNNER190) + JS_SetOperationCallback( _context , 0 ); + #else + JS_SetBranchCallback( _context, 0 ); +@@ -1548,9 +1597,12 @@ namespace mongo { + + JSObject * _global; + JSObject * _this; ++#ifdef HAVE_COMPARTMENTS ++ JSCrossCompartmentCall * _call; ++#endif + + string _error; +- list<void*> _roots; ++ list<JSObject*> _roots; + + bool _externalSetup; + bool _localConnect; +@@ -1579,7 +1631,8 @@ namespace mongo { + } + } + +- JSBool native_load( JSContext *cx , JSObject *obj , uintN argc, jsval *argv , jsval *rval ) { ++ JSBool native_load( JSContext *cx , uintN argc, jsval *vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); + Convertor c(cx); + + Scope * s = currentScope.get(); +@@ -1594,6 +1647,7 @@ namespace mongo { + } + } + ++ JS_SET_RVAL( cx , vp , JSVAL_VOID ); + return JS_TRUE; + } + +@@ -1633,7 +1687,7 @@ namespace mongo { + return new SMScope(); + } + +- void Convertor::addRoot( JSFunction * f , const char * name ) { ++ void Convertor::addRoot( JSFunction * f ){ + if ( ! f ) + return; + +@@ -1642,7 +1696,7 @@ namespace mongo { + + JSObject * o = JS_GetFunctionObject( f ); + assert( o ); +- scope->addRoot( &o , name ); ++ scope->addRoot( o ); + } + + } +--- mongodb-src-r1.8.0/scripting/engine_spidermonkey.h.mozjs185~ 2011-03-16 16:33:30.000000000 +0100 ++++ mongodb-src-r1.8.0/scripting/engine_spidermonkey.h 2011-04-01 21:29:15.697678508 +0200 +@@ -21,6 +21,9 @@ + + // START inc hacking + ++#undef malloc ++#undef realloc ++ + #if defined( MOZJS ) + + #define MOZILLA_1_8_BRANCH +@@ -55,6 +58,9 @@ + + #endif + ++#define malloc MONGO_malloc ++#define realloc MONGO_realloc ++ + // END inc hacking + + // -- SM 1.6 hacks --- +@@ -81,6 +87,10 @@ JSBool JS_CStringsAreUTF8() { + #define SM181 + #endif + ++#ifndef JSFUN_FAST_NATIVE ++#define JSFUN_FAST_NATIVE 0 ++#endif ++ + namespace mongo { + + class SMScope; +@@ -104,7 +114,7 @@ namespace mongo { + extern boost::thread_specific_ptr<SMScope> currentScope; + + // bson +- JSBool resolveBSONField( JSContext *cx, JSObject *obj, jsval id, uintN flags, JSObject **objp ); ++ JSBool resolveBSONField( JSContext *cx, JSObject *obj, jsid id, uintN flags, JSObject **objp ); + + + // mongo +--- mongodb-src-r1.8.0/scripting/sm_db.cpp.mozjs185~ 2011-03-16 16:33:30.000000000 +0100 ++++ mongodb-src-r1.8.0/scripting/sm_db.cpp 2011-04-01 22:51:59.701652521 +0200 +@@ -79,13 +79,25 @@ namespace mongo { + return holder->get(); + } + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool internal_cursor_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool internal_cursor_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + uassert( 10236 , "no args to internal_cursor_constructor" , argc == 0 ); + assert( JS_SetPrivate( cx , obj , 0 ) ); // just for safety ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + +- void internal_cursor_finalize( JSContext * cx , JSObject * obj ) { ++ void internal_cursor_finalize( JSContext * cx, JSObject * obj ){ + CursorHolder * holder = (CursorHolder*)JS_GetPrivate( cx , obj ); + if ( holder ) { + delete holder; +@@ -93,10 +105,11 @@ namespace mongo { + } + } + +- JSBool internal_cursor_hasNext(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool internal_cursor_hasNext(JSContext *cx , uintN argc , jsval *vp) { ++ JSObject* obj = JS_THIS_OBJECT( cx , vp ); + DBClientCursor *cursor = getCursor( cx, obj ); + try { +- *rval = cursor->more() ? JSVAL_TRUE : JSVAL_FALSE; ++ JS_SET_RVAL( cx , vp , cursor->more() ? JSVAL_TRUE : JSVAL_FALSE ); + } + catch ( std::exception& e ) { + JS_ReportError( cx , e.what() ); +@@ -105,14 +118,16 @@ namespace mongo { + return JS_TRUE; + } + +- JSBool internal_cursor_objsLeftInBatch(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool internal_cursor_objsLeftInBatch(JSContext *cx, uintN argc, jsval *vp) { ++ JSObject* obj = JS_THIS_OBJECT( cx , vp ); + DBClientCursor *cursor = getCursor( cx, obj ); + Convertor c(cx); +- *rval = c.toval((double) cursor->objsLeftInBatch() ); ++ JS_SET_RVAL( cx , vp , c.toval((double) cursor->objsLeftInBatch()) ); + return JS_TRUE; + } + +- JSBool internal_cursor_next(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool internal_cursor_next(JSContext *cx, uintN argc, jsval *vp) { ++ JSObject* obj = JS_THIS_OBJECT( cx , vp ); + DBClientCursor *cursor = getCursor( cx, obj ); + + BSONObj n; +@@ -131,20 +146,21 @@ namespace mongo { + } + + Convertor c(cx); +- *rval = c.toval( &n ); ++ JS_SET_RVAL( cx , vp , c.toval( &n ) ); + return JS_TRUE; + } + + JSFunctionSpec internal_cursor_functions[] = { +- { "hasNext" , internal_cursor_hasNext , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "objsLeftInBatch" , internal_cursor_objsLeftInBatch , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "next" , internal_cursor_next , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { 0 } ++ JS_FS( "hasNext" , internal_cursor_hasNext , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "objsLeftInBatch" , internal_cursor_objsLeftInBatch , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "next" , internal_cursor_next , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS_END + }; + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass internal_cursor_class = { + "InternalCursor" , JSCLASS_HAS_PRIVATE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, internal_cursor_finalize, + JSCLASS_NO_OPTIONAL_MEMBERS + }; +@@ -157,7 +173,16 @@ namespace mongo { + throw -1; + } + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool mongo_local_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool mongo_local_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + Convertor c( cx ); + + shared_ptr< DBClientWithCommands > client( createDirectClient() ); +@@ -166,10 +191,23 @@ namespace mongo { + jsval host = c.toval( "EMBEDDED" ); + assert( JS_SetProperty( cx , obj , "host" , &host ) ); + ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool mongo_external_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool mongo_external_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + Convertor c( cx ); + + smuassert( cx , "0 or 1 args to Mongo" , argc <= 1 ); +@@ -197,6 +235,9 @@ namespace mongo { + assert( JS_SetPrivate( cx , obj , (void*)( new shared_ptr< DBClientWithCommands >( conn ) ) ) ); + jsval host_val = c.toval( host.c_str() ); + assert( JS_SetProperty( cx , obj , "host" , &host_val ) ); ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + + } +@@ -215,14 +256,18 @@ namespace mongo { + } + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass mongo_class = { + "Mongo" , JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, mongo_finalize, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + +- JSBool mongo_find(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool mongo_find(JSContext *cx, uintN argc, jsval *vp) { ++ JSObject* obj = JS_THIS_OBJECT( cx , vp ); ++ jsval* argv = JS_ARGV( cx , vp ); ++ + smuassert( cx , "mongo_find needs 7 args" , argc == 7 ); + shared_ptr< DBClientWithCommands > * connHolder = (shared_ptr< DBClientWithCommands >*)JS_GetPrivate( cx , obj ); + smuassert( cx , "no connection!" , connHolder && connHolder->get() ); +@@ -252,7 +297,8 @@ namespace mongo { + JSObject * mycursor = JS_NewObject( cx , &internal_cursor_class , 0 , 0 ); + CHECKNEWOBJECT( mycursor, cx, "internal_cursor_class" ); + assert( JS_SetPrivate( cx , mycursor , new CursorHolder( cursor, *connHolder ) ) ); +- *rval = OBJECT_TO_JSVAL( mycursor ); ++ ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( mycursor )); + return JS_TRUE; + } + catch ( ... ) { +@@ -261,7 +307,10 @@ namespace mongo { + } + } + +- JSBool mongo_update(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool mongo_update(JSContext *cx, uintN argc, jsval *vp) { ++ JSObject* obj = JS_THIS_OBJECT( cx , vp ); ++ jsval* argv = JS_ARGV( cx , vp ); ++ + smuassert( cx , "mongo_find needs at elast 3 args" , argc >= 3 ); + smuassert( cx , "2nd param to update has to be an object" , JSVAL_IS_OBJECT( argv[1] ) ); + smuassert( cx , "3rd param to update has to be an object" , JSVAL_IS_OBJECT( argv[2] ) ); +@@ -282,6 +331,7 @@ namespace mongo { + + try { + conn->update( ns , c.toObject( argv[1] ) , c.toObject( argv[2] ) , upsert , multi ); ++ JS_SET_RVAL( cx , vp , JSVAL_VOID ); + return JS_TRUE; + } + catch ( ... ) { +@@ -290,7 +340,10 @@ namespace mongo { + } + } + +- JSBool mongo_insert(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool mongo_insert(JSContext *cx, uintN argc, jsval *vp) { ++ JSObject* obj = JS_THIS_OBJECT( cx , vp ); ++ jsval* argv = JS_ARGV( cx , vp ); ++ + smuassert( cx , "mongo_insert needs 2 args" , argc == 2 ); + smuassert( cx , "2nd param to insert has to be an object" , JSVAL_IS_OBJECT( argv[1] ) ); + +@@ -310,6 +363,7 @@ namespace mongo { + // TODO: add _id + + conn->insert( ns , o ); ++ JS_SET_RVAL( cx, vp, JSVAL_VOID ); + return JS_TRUE; + } + catch ( std::exception& e ) { +@@ -325,7 +379,10 @@ namespace mongo { + } + } + +- JSBool mongo_remove(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool mongo_remove(JSContext *cx, uintN argc, jsval *vp) { ++ JSObject* obj = JS_THIS_OBJECT( cx , vp ); ++ jsval* argv = JS_ARGV( cx , vp ); ++ + smuassert( cx , "mongo_remove needs 2 or 3 arguments" , argc == 2 || argc == 3 ); + smuassert( cx , "2nd param to insert has to be an object" , JSVAL_IS_OBJECT( argv[1] ) ); + +@@ -346,6 +403,7 @@ namespace mongo { + + try { + conn->remove( ns , o , justOne ); ++ JS_SET_RVAL( cx , vp , JSVAL_VOID ); + return JS_TRUE; + } + catch ( std::exception& e ) { +@@ -361,16 +419,26 @@ namespace mongo { + } + + JSFunctionSpec mongo_functions[] = { +- { "find" , mongo_find , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "update" , mongo_update , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "insert" , mongo_insert , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "remove" , mongo_remove , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { 0 } ++ JS_FS( "find" , mongo_find , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "update" , mongo_update , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "insert" , mongo_insert , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "remove" , mongo_remove , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS_END + }; + + // ------------- db_collection ------------- + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool db_collection_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool db_collection_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + smuassert( cx , "db_collection_constructor wrong args" , argc == 4 ); + assert( JS_SetProperty( cx , obj , "_mongo" , &(argv[0]) ) ); + assert( JS_SetProperty( cx , obj , "_db" , &(argv[1]) ) ); +@@ -382,16 +450,22 @@ namespace mongo { + JS_ReportError( cx , "can't use sharded collection from db.eval" ); + return JS_FALSE; + } +- ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + +- JSBool db_collection_resolve( JSContext *cx, JSObject *obj, jsval id, uintN flags, JSObject **objp ) { ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSResolveOp) ++ JSBool db_collection_resolve( JSContext *cx, JSObject *obj, jsid id, uintN flags, JSObject **objp ){ ++ jsval idval; ++ JS_IdToValue( cx , id , &idval ); ++ + if ( flags & JSRESOLVE_ASSIGNING ) + return JS_TRUE; + + Convertor c( cx ); +- string collname = c.toString( id ); ++ string collname = c.toString( idval ); + + if ( isSpecialName( collname ) ) + return JS_TRUE; +@@ -419,10 +493,11 @@ namespace mongo { + return JS_TRUE; + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp, JSResolveOp) + JSClass db_collection_class = { + "DBCollection" , JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, +- JS_EnumerateStub, (JSResolveOp)(&db_collection_resolve) , JS_ConvertStub, JS_FinalizeStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, ++ JS_EnumerateStub, (JSResolveOp)db_collection_resolve , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + +@@ -454,15 +529,32 @@ namespace mongo { + // -------------- DB --------------- + + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool db_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool db_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + smuassert( cx, "wrong number of arguments to DB" , argc == 2 ); + assert( JS_SetProperty( cx , obj , "_mongo" , &(argv[0]) ) ); + assert( JS_SetProperty( cx , obj , "_name" , &(argv[1]) ) ); + ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif ++ + return JS_TRUE; + } + +- JSBool db_resolve( JSContext *cx, JSObject *obj, jsval id, uintN flags, JSObject **objp ) { ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSResolveOp) ++ JSBool db_resolve( JSContext *cx, JSObject *obj, jsid id, uintN flags, JSObject **objp ){ ++ jsval idval; ++ JS_IdToValue( cx , id , &idval ); + if ( flags & JSRESOLVE_ASSIGNING ) + return JS_TRUE; + +@@ -471,7 +563,7 @@ namespace mongo { + if ( obj == c.getGlobalPrototype( "DB" ) ) + return JS_TRUE; + +- string collname = c.toString( id ); ++ string collname = c.toString( idval ); + + if ( isSpecialName( collname ) ) + return JS_TRUE; +@@ -489,17 +581,28 @@ namespace mongo { + return JS_TRUE; + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp, JSResolveOp) + JSClass db_class = { + "DB" , JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, +- JS_EnumerateStub, (JSResolveOp)(&db_resolve) , JS_ConvertStub, JS_FinalizeStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, ++ JS_EnumerateStub, (JSResolveOp)db_resolve , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + + + // -------------- object id ------------- + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool object_id_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool object_id_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + Convertor c( cx ); + + OID oid; +@@ -524,35 +627,48 @@ namespace mongo { + if ( ! JS_InstanceOf( cx , obj , &object_id_class , 0 ) ) { + obj = JS_NewObject( cx , &object_id_class , 0 , 0 ); + CHECKNEWOBJECT( obj, cx, "object_id_constructor" ); +- *rval = OBJECT_TO_JSVAL( obj ); + } + + jsval v = c.toval( oid.str().c_str() ); + assert( JS_SetProperty( cx , obj , "str" , &v ) ); + ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); + return JS_TRUE; + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass object_id_class = { + "ObjectId" , JSCLASS_HAS_PRIVATE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + +- JSBool object_id_tostring(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool object_id_tostring(JSContext *cx, uintN argc, jsval *vp){ ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); +- return (JSBool) (*rval = c.getProperty( obj , "str" )); ++ JS_SET_RVAL( cx , vp , c.getProperty( obj , "str" )); ++ return JS_TRUE; + } + + JSFunctionSpec object_id_functions[] = { +- { "toString" , object_id_tostring , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { 0 } ++ JS_FS( "toString" , object_id_tostring , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS_END + }; + + // dbpointer + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool dbpointer_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool dbpointer_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + Convertor c( cx ); + + if ( argc == 2 ) { +@@ -564,6 +680,9 @@ namespace mongo { + + assert( JS_SetProperty( cx , obj , "ns" , &(argv[0]) ) ); + assert( JS_SetProperty( cx , obj , "id" , &(argv[1]) ) ); ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + else { +@@ -572,19 +691,30 @@ namespace mongo { + } + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass dbpointer_class = { + "DBPointer" , JSCLASS_HAS_PRIVATE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + + JSFunctionSpec dbpointer_functions[] = { +- { 0 } ++ JS_FS_END + }; + + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool dbref_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool dbref_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + Convertor c( cx ); + + if ( argc == 2 ) { +@@ -594,6 +724,9 @@ namespace mongo { + assert( JS_SetProperty( cx, o , "$id" , &argv[ 1 ] ) ); + BSONObj bo = c.toObject( o ); + assert( JS_SetPrivate( cx , obj , (void*)(new BSONHolder( bo.getOwned() ) ) ) ); ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + else { +@@ -607,7 +740,17 @@ namespace mongo { + + // UUID ************************** + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool uuid_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool uuid_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + Convertor c( cx ); + + if( argc == 0 ) { +@@ -635,6 +778,9 @@ namespace mongo { + c.setProperty( obj, "len", c.toval( (double)16 ) ); + c.setProperty( obj, "type", c.toval( (double)3 ) ); + ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + else { +@@ -643,7 +789,8 @@ namespace mongo { + } + } + +- JSBool uuid_tostring(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool uuid_tostring(JSContext *cx, uintN argc, jsval *vp){ ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); + void *holder = JS_GetPrivate( cx, obj ); + assert( holder ); +@@ -652,7 +799,8 @@ namespace mongo { + ss << "UUID(\"" << toHex(data, 16); + ss << "\")"; + string ret = ss.str(); +- return *rval = c.toval( ret.c_str() ); ++ JS_SET_RVAL( cx , vp , c.toval( ret.c_str() ) ); ++ return JS_TRUE; + } + + void uuid_finalize( JSContext * cx , JSObject * obj ) { +@@ -664,21 +812,32 @@ namespace mongo { + } + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass uuid_class = { + "UUID" , JSCLASS_HAS_PRIVATE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, uuid_finalize, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + + JSFunctionSpec uuid_functions[] = { +- { "toString" , uuid_tostring , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { 0 } ++ JS_FS( "toString" , uuid_tostring , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS_END + }; + + // BinData ************************** + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool bindata_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool bindata_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + Convertor c( cx ); + + if ( argc == 2 ) { +@@ -702,6 +861,9 @@ namespace mongo { + c.setProperty( obj, "len", c.toval( (double)decoded.length() ) ); + c.setProperty( obj, "type", c.toval( (double)type ) ); + ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + else { +@@ -710,7 +872,8 @@ namespace mongo { + } + } + +- JSBool bindata_tostring(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool bindata_tostring(JSContext *cx, uintN argc, jsval *vp){ ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); + int type = (int)c.getNumber( obj , "type" ); + int len = (int)c.getNumber( obj, "len" ); +@@ -722,10 +885,12 @@ namespace mongo { + base64::encode( ss, (const char *)data, len ); + ss << "\")"; + string ret = ss.str(); +- return *rval = c.toval( ret.c_str() ); ++ JS_SET_RVAL( cx , vp , c.toval( ret.c_str() ) ); ++ return JS_TRUE; + } + +- JSBool bindataBase64(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool bindataBase64(JSContext *cx, uintN argc, jsval *vp){ ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); + int len = (int)c.getNumber( obj, "len" ); + void *holder = JS_GetPrivate( cx, obj ); +@@ -734,10 +899,12 @@ namespace mongo { + stringstream ss; + base64::encode( ss, (const char *)data, len ); + string ret = ss.str(); +- return *rval = c.toval( ret.c_str() ); ++ JS_SET_RVAL( cx , vp , c.toval( ret.c_str() ) ); ++ return JS_TRUE; + } + +- JSBool bindataAsHex(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool bindataAsHex(JSContext *cx, uintN argc, jsval *vp){ ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); + int len = (int)c.getNumber( obj, "len" ); + void *holder = JS_GetPrivate( cx, obj ); +@@ -750,19 +917,24 @@ namespace mongo { + ss << v; + } + string ret = ss.str(); +- return *rval = c.toval( ret.c_str() ); ++ JS_SET_RVAL( cx , vp , c.toval( ret.c_str() ) ); ++ return JS_TRUE; + } + +- JSBool bindataLength(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool bindataLength(JSContext *cx, uintN argc, jsval *vp){ ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); + int len = (int)c.getNumber( obj, "len" ); +- return *rval = c.toval((double) len); ++ JS_SET_RVAL( cx , vp , c.toval((double) len) ); ++ return JS_TRUE; + } + +- JSBool bindataSubtype(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool bindataSubtype(JSContext *cx, uintN argc, jsval *vp){ ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); + int t = (int)c.getNumber( obj, "type" ); +- return *rval = c.toval((double) t); ++ JS_SET_RVAL( cx , vp , c.toval((double) t) ); ++ return JS_TRUE; + } + + void bindata_finalize( JSContext * cx , JSObject * obj ) { +@@ -774,20 +946,21 @@ namespace mongo { + } + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass bindata_class = { + "BinData" , JSCLASS_HAS_PRIVATE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, bindata_finalize, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + + JSFunctionSpec bindata_functions[] = { +- { "toString" , bindata_tostring , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "hex", bindataAsHex, 0, JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "base64", bindataBase64, 0, JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "length", bindataLength, 0, JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "subtype", bindataSubtype, 0, JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { 0 } ++ JS_FS( "toString" , bindata_tostring , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "hex", bindataAsHex, 0, JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "base64", bindataBase64, 0, JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "length", bindataLength, 0, JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "subtype", bindataSubtype, 0, JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS_END + }; + + // Map +@@ -796,7 +969,16 @@ namespace mongo { + return s == "put" || s == "get" || s == "_get" || s == "values" || s == "_data" || s == "constructor" ; + } + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool map_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool map_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + if ( argc > 0 ) { + JS_ReportError( cx , "Map takes no arguments" ); + return JS_FALSE; +@@ -808,10 +990,16 @@ namespace mongo { + jsval a = OBJECT_TO_JSVAL( array ); + JS_SetProperty( cx , obj , "_data" , &a ); + ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + +- JSBool map_prop( JSContext *cx, JSObject *obj, jsval idval, jsval *vp ) { ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSPropertyOp) ++ JSBool map_prop( JSContext *cx, JSObject *obj, jsid id, jsval *vp ){ ++ jsval idval; ++ JS_IdToValue( cx , id , &idval ); + Convertor c(cx); + if ( specialMapString( c.toString( idval ) ) ) + return JS_TRUE; +@@ -821,34 +1009,49 @@ namespace mongo { + return JS_FALSE; + } + ++ JSBool strict_map_prop( JSContext *cx, JSObject *obj, jsid id, JSBool strict, jsval *vp ){ ++ return map_prop( cx , obj , id , vp ); ++ } ++ ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass map_class = { + "Map" , JSCLASS_HAS_PRIVATE , +- map_prop, JS_PropertyStub, map_prop, map_prop, ++ map_prop, JS_PropertyStub, map_prop, strict_map_prop, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + + JSFunctionSpec map_functions[] = { +- { 0 } ++ JS_FS_END + }; + + + // ----- + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass timestamp_class = { + "Timestamp" , JSCLASS_HAS_PRIVATE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool timestamp_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool timestamp_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + smuassert( cx , "Timestamp needs 0 or 2 args" , argc == 0 || argc == 2 ); + + if ( ! JS_InstanceOf( cx , obj , ×tamp_class , 0 ) ) { + obj = JS_NewObject( cx , ×tamp_class , 0 , 0 ); + CHECKNEWOBJECT( obj, cx, "timestamp_constructor" ); +- *rval = OBJECT_TO_JSVAL( obj ); + } + + Convertor c( cx ); +@@ -864,21 +1067,30 @@ namespace mongo { + return JS_TRUE; + } + +- ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass numberlong_class = { + "NumberLong" , JSCLASS_HAS_PRIVATE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool numberlong_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool numberlong_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + smuassert( cx , "NumberLong needs 0 or 1 args" , argc == 0 || argc == 1 ); + + if ( ! JS_InstanceOf( cx , obj , &numberlong_class , 0 ) ) { + obj = JS_NewObject( cx , &numberlong_class , 0 , 0 ); + CHECKNEWOBJECT( obj, cx, "numberlong_constructor" ); +- *rval = OBJECT_TO_JSVAL( obj ); + } + + Convertor c( cx ); +@@ -903,19 +1115,25 @@ namespace mongo { + c.makeLongObj( n, obj ); + } + ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + +- JSBool numberlong_valueof(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool numberlong_valueof(JSContext *cx, uintN argc, jsval *vp){ ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); +- return *rval = c.toval( double( c.toNumberLongUnsafe( obj ) ) ); ++ JS_SET_RVAL( cx , vp , c.toval( double( c.toNumberLongUnsafe( obj ) ) ) ); ++ return JS_TRUE; + } + +- JSBool numberlong_tonumber(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { +- return numberlong_valueof( cx, obj, argc, argv, rval ); ++ JSBool numberlong_tonumber(JSContext *cx, uintN argc, jsval *vp){ ++ return numberlong_valueof( cx, argc, vp ); + } + +- JSBool numberlong_tostring(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { ++ JSBool numberlong_tostring(JSContext *cx, uintN argc, jsval *vp){ ++ JSObject *obj = JS_THIS_OBJECT( cx , vp ); + Convertor c(cx); + stringstream ss; + long long val = c.toNumberLongUnsafe( obj ); +@@ -927,33 +1145,45 @@ namespace mongo { + ss << "NumberLong(" << val << ")"; + + string ret = ss.str(); +- return *rval = c.toval( ret.c_str() ); ++ JS_SET_RVAL( cx , vp , c.toval( ret.c_str() ) ); ++ return JS_TRUE; + } + + JSFunctionSpec numberlong_functions[] = { +- { "valueOf" , numberlong_valueof , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "toNumber" , numberlong_tonumber , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { "toString" , numberlong_tostring , 0 , JSPROP_READONLY | JSPROP_PERMANENT, 0 } , +- { 0 } ++ JS_FS( "valueOf" , numberlong_valueof , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "toNumber" , numberlong_tonumber , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS( "toString" , numberlong_tostring , 0 , JSPROP_READONLY | JSPROP_PERMANENT | JSFUN_FAST_NATIVE ) , ++ JS_FS_END + }; + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp) + JSClass minkey_class = { + "MinKey" , JSCLASS_HAS_PRIVATE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + + JSClass maxkey_class = { + "MaxKey" , JSCLASS_HAS_PRIVATE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, + JS_EnumerateStub, JS_ResolveStub , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + + // dbquery + ++#ifdef JSFUN_CONSTRUCTOR ++ JSBool dbquery_constructor( JSContext* cx, uintN argc, jsval* vp ){ ++ jsval *argv = JS_ARGV( cx , vp ); ++ JSObject *obj = JS_NewObjectForConstructor( cx , vp ); ++ if( ! obj ) { ++ JS_ReportError( cx , "Failed to create 'this' object" ); ++ return JS_FALSE; ++ } ++#else + JSBool dbquery_constructor( JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ) { ++#endif + smuassert( cx , "DDQuery needs at least 4 args" , argc >= 4 ); + + Convertor c(cx); +@@ -1001,28 +1231,35 @@ namespace mongo { + c.setProperty( obj , "_numReturned" , JSVAL_ZERO ); + c.setProperty( obj , "_special" , JSVAL_FALSE ); + ++#ifdef JSFUN_CONSTRUCTOR ++ JS_SET_RVAL( cx , vp , OBJECT_TO_JSVAL( obj ) ); ++#endif + return JS_TRUE; + } + +- JSBool dbquery_resolve( JSContext *cx, JSObject *obj, jsval id, uintN flags, JSObject **objp ) { ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSResolveOp) ++ JSBool dbquery_resolve( JSContext *cx, JSObject *obj, jsid id, uintN flags, JSObject **objp ){ ++ jsval idval; ++ JS_IdToValue( cx , id , &idval ); + if ( flags & JSRESOLVE_ASSIGNING ) + return JS_TRUE; + +- if ( ! JSVAL_IS_NUMBER( id ) ) ++ if ( ! JSVAL_IS_NUMBER( idval ) ) + return JS_TRUE; + + jsval val = JSVAL_VOID; +- assert( JS_CallFunctionName( cx , obj , "arrayAccess" , 1 , &id , &val ) ); ++ assert( JS_CallFunctionName( cx , obj , "arrayAccess" , 1 , &idval , &val ) ); + Convertor c(cx); +- c.setProperty( obj , c.toString( id ).c_str() , val ); ++ c.setProperty( obj , c.toString( idval ).c_str() , val ); + *objp = obj; + return JS_TRUE; + } + ++ // FIXME: This won't build on spidermonkey < 1.8.5 (JSStrictPropertyOp, JSResolveOp) + JSClass dbquery_class = { + "DBQuery" , JSCLASS_NEW_RESOLVE , +- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, +- JS_EnumerateStub, (JSResolveOp)(&dbquery_resolve) , JS_ConvertStub, JS_FinalizeStub, ++ JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, ++ JS_EnumerateStub, (JSResolveOp)dbquery_resolve , JS_ConvertStub, JS_FinalizeStub, + JSCLASS_NO_OPTIONAL_MEMBERS + }; + +@@ -1102,7 +1339,7 @@ namespace mongo { + return true; + } + +-#if defined( SM16 ) || defined( MOZJS ) ++#if defined( SM16 ) || JS_VERSION >= 181 + #warning dates do not work in your version of spider monkey + { + jsdouble d = js_DateGetMsecSinceEpoch( c->_context , o ); +@@ -1150,7 +1387,7 @@ namespace mongo { + } + + bool isDate( JSContext * cx , JSObject * o ) { +-#if defined( SM16 ) || defined( MOZJS ) || defined( XULRUNNER ) ++#if defined( SM16 ) || JS_VERSION >= 181 || defined( XULRUNNER ) + return js_DateGetMsecSinceEpoch( cx , o ) != 0; + #else + return JS_InstanceOf( cx , o, &js_DateClass, 0 ); diff --git a/community/mongodb/mongodb.install b/community/mongodb/mongodb.install index 9e13a4d14..8808eea0d 100755 --- a/community/mongodb/mongodb.install +++ b/community/mongodb/mongodb.install @@ -1,26 +1,27 @@ # vim: syntax=sh -show_msg(){ - if [ "$(arch)" != "x86_64" ] - then - cat <<END -==> Warning: the 32 bit version of MongoDB is limited to about 2GB of data. -==> See http://blog.mongodb.org/post/137788967/32-bit-limitations -END - fi -} - post_install() { useradd -r -g daemon -d /var/lib/mongodb -s /bin/bash mongodb chown -R mongodb:daemon /var/lib/mongodb chown -R mongodb:daemon /var/log/mongodb - show_msg + if [ "$(arch)" != "x86_64" ] + then + echo '==> Warning: the 32 bit version of MongoDB is limited to about 2GB of data.' + echo '==> See http://blog.mongodb.org/post/137788967/32-bit-limitations' + fi } post_upgrade() { chown -R mongodb:daemon /var/lib/mongodb chown -R mongodb:daemon /var/log/mongodb + + # have to fix my fudge up in 1.8.2-2 and 1.8.2-3 + # added july 5th, 2011 + usermod -s /bin/bash mongodb >& /dev/null + echo 'The dbpath has changed from /var/state/mongodb to /var/lib/mongodb' + echo 'Make sure you move your data files to the new dbpath before you start/restart mongodb' + echo 'The logpath has changed from /var/log/mongod to /var/log/mongodb/mongod.log' } pre_remove() { diff --git a/community/mtasc/PKGBUILD b/community/mtasc/PKGBUILD index 6fb8014a6..803856ff0 100644 --- a/community/mtasc/PKGBUILD +++ b/community/mtasc/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 50789 2011-07-01 09:55:48Z spupykin $ +# $Id: PKGBUILD 50978 2011-07-04 10:46:29Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Niel Drummond <niel.drummond@grumpytoad.org> pkgname=mtasc pkgver=20091229 -pkgrel=2 +pkgrel=3 pkgdesc="An open source flash (swf) compiler" arch=(i686 x86_64 'mips64el') url="http://mtasc.org/" @@ -12,11 +12,10 @@ license=('GPL2') depends=('zlib') makedepends=('ocaml' 'cvs') source=("http://arch.p5n.pp.ru/~sergej/dl/mtasc-$pkgver.tar.gz") -md5sums=('eb686e4fcaa066dfa77d29b2d4551aab') +md5sums=('e3b1f31ae906ebbd92678fdac0fdd411') build() { cd $srcdir/mtasc-$pkgver - sed -i 's|let base_path = normalize_path (try Extc.executable_path() with _ -> ".") in|let base_path = "/usr/share/mtasc/" in|' ocaml/mtasc/main.ml (cd ocaml/extc && make) ocaml install.ml } diff --git a/community/packagekit/PKGBUILD b/community/packagekit/PKGBUILD index 5fa25de5f..bb65fc14e 100644 --- a/community/packagekit/PKGBUILD +++ b/community/packagekit/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 48954 2011-06-08 10:33:59Z jconder $ +# $Id: PKGBUILD 51085 2011-07-05 07:17:46Z jconder $ # Maintainer: Jonathan Conder <jonno.conder@gmail.com> pkgbase='packagekit' pkgname=('packagekit' 'packagekit-qt' 'packagekit-qt2' 'packagekit-python') -pkgver=0.6.15 +pkgver=0.6.16 pkgrel=1 pkgdesc="A system designed to make installation and updates of packages easier." arch=('i686' 'x86_64' 'mips64el') @@ -12,8 +12,8 @@ makedepends=('dbus-glib' 'gobject-introspection' 'gtk-doc' 'intltool' 'networkmanager' 'pacman' 'pm-utils' 'polkit' 'python2' 'qt' 'shared-mime-info' 'sqlite3' 'udev') options=('!libtool') -source=("http://www.packagekit.org/releases/PackageKit-$pkgver.tar.bz2") -sha256sums=('52b6d52721253d1b5cdc3b403f4fb366782a258c786d194594deaafbc153779b') +source=("http://www.packagekit.org/releases/PackageKit-$pkgver.tar.xz") +sha256sums=('28fc2149e2dac4bed5b6b0479488dacc8af7e8a18556851711502b26de567e67') build() { cd "$srcdir/PackageKit-$pkgver" diff --git a/community/perl-berkeleydb/PKGBUILD b/community/perl-berkeleydb/PKGBUILD index 78261c442..40708606c 100644 --- a/community/perl-berkeleydb/PKGBUILD +++ b/community/perl-berkeleydb/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 47458 2011-05-23 15:36:16Z tdziedzic $ +# $Id: PKGBUILD 49372 2011-06-15 09:28:37Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Charles Mauch <cmauch@gmail.com> # Contributor: Francois Charette <firmicus@gmx.net> pkgname=perl-berkeleydb pkgver=0.43 -pkgrel=5 +pkgrel=6 pkgdesc="Interface to Berkeley DB version 2, 3 or 4" arch=('i686' 'x86_64' 'mips64el') url="http://search.cpan.org/dist/BerkeleyDB/" @@ -16,12 +16,16 @@ source=(http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/BerkeleyDB-$pkgver.tar. md5sums=('3d0cf0651ed8cd3fc36e328d5924a1e9') build() { -_dbver=`pacman -Q db | cut -d\ -f2 | cut -d- -f1` -depends=('perl' "db=$_dbver") - cd $srcdir/BerkeleyDB-$pkgver PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor make +} + +package() { + _dbver=`pacman -Q db | cut -d\ -f2 | cut -d- -f1` + depends=('perl' "db=$_dbver") + + cd $srcdir/BerkeleyDB-$pkgver make pure_install doc_install DESTDIR=$pkgdir find $pkgdir -name '.packlist' -delete find $pkgdir -name '*.pod' -delete diff --git a/community/perl-crypt-openssl-rsa/PKGBUILD b/community/perl-crypt-openssl-rsa/PKGBUILD index dc94b2d54..6ceca5e7a 100644 --- a/community/perl-crypt-openssl-rsa/PKGBUILD +++ b/community/perl-crypt-openssl-rsa/PKGBUILD @@ -1,24 +1,27 @@ -# $Id: PKGBUILD 47489 2011-05-23 15:56:48Z tdziedzic $ +# $Id: PKGBUILD 51051 2011-07-04 15:35:36Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=perl-crypt-openssl-rsa -pkgver=0.26 -pkgrel=4 +pkgver=0.27 +pkgrel=1 pkgdesc="Interface to OpenSSL RSA methods" arch=('i686' 'x86_64' 'mips64el') url="http://search.cpan.org/dist/Crypt-OpenSSL-RSA" depends=('perl-crypt-openssl-random' 'perl-crypt-openssl-bignum') license=('GPL') options=('!emptydirs') -source=(http://www.cpan.org/authors/id/I/IR/IROBERTS/Crypt-OpenSSL-RSA-$pkgver.tar.gz) -md5sums=('baf875f01ee39b88335b8f0962fe4bbc') +source=("http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-$pkgver.tar.gz") +md5sums=('08ed5352354116a88a7922ba2da57efa') build() { - cd $startdir/src/Crypt-OpenSSL-RSA-$pkgver + cd $srcdir/Crypt-OpenSSL-RSA-$pkgver PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor make - make pure_install doc_install DESTDIR=$startdir/pkg - find $startdir/pkg -name '.packlist' -delete - find $startdir/pkg -name '*.pod' -delete } +package() { + cd $srcdir/Crypt-OpenSSL-RSA-$pkgver + make pure_install doc_install DESTDIR=$pkgdir + find $pkgdir -name '.packlist' -delete + find $pkgdir -name '*.pod' -delete +} diff --git a/community/perl-file-path-expand/PKGBUILD b/community/perl-file-path-expand/PKGBUILD deleted file mode 100644 index e5ba300a2..000000000 --- a/community/perl-file-path-expand/PKGBUILD +++ /dev/null @@ -1,22 +0,0 @@ -# $Id: PKGBUILD 35631 2010-12-21 23:05:38Z tdziedzic $ -# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> -# Maintainer: Charles Mauch <cmauch@gmail.com> - -pkgname=perl-file-path-expand -pkgver=1.02 -pkgrel=5 -pkgdesc="Perl/CPAN Module File::Path::Expand" -arch=("i686" "x86_64" 'mips64el') -url="http://search.cpan.org/dist/File-Path-Expand" -license=("GPL" "PerlArtistic") -source=("http://www.cpan.org/authors/id/R/RC/RCLAMP/File-Path-Expand-1.02.tar.gz") -md5sums=('742aa40a4ffb26d14de01192764bd7ab') - -build() { - cd $srcdir/File-Path-Expand-1.02 - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor - make - make install DESTDIR=$pkgdir - find $pkgdir -name '.packlist' -delete - find $pkgdir -name '*.pod' -delete -} diff --git a/community/perl-file-slurp/PKGBUILD b/community/perl-file-slurp/PKGBUILD deleted file mode 100644 index aa3102841..000000000 --- a/community/perl-file-slurp/PKGBUILD +++ /dev/null @@ -1,23 +0,0 @@ -# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman -# Contributor: François Charette <firmicus ατ gmx δοτ net> - -pkgname=perl-file-slurp -pkgver=9999.13 -pkgrel=3 -pkgdesc="Read/write/append files quickly" -arch=('i686' 'x86_64' 'mips64el') -url="http://search.cpan.org/dist/File-Slurp" -license=('GPL' 'PerlArtistic') -depends=('perl>=5.10.0') -options=('!emptydirs') -source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/File-Slurp-$pkgver.tar.gz) -md5sums=('ac3cd9d466b99d1534762ff3549aaa66') - -build() { - cd $startdir/src/File-Slurp-$pkgver - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor - make - make install DESTDIR=$startdir/pkg - find $startdir/pkg -name '.packlist' -delete - find $startdir/pkg -name '*.pod' -delete -} diff --git a/community/perl-getopt-argvfile/PKGBUILD b/community/perl-getopt-argvfile/PKGBUILD deleted file mode 100644 index 3322633d8..000000000 --- a/community/perl-getopt-argvfile/PKGBUILD +++ /dev/null @@ -1,25 +0,0 @@ -# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman -# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> -# Contributor: François Charette <firmicus ατ gmx δοτ net> - -pkgname=perl-getopt-argvfile -pkgver=1.11 -pkgrel=4 -pkgdesc="Take options from files" -arch=('i686' 'x86_64' 'mips64el') -url="http://search.cpan.org/~JSTENZEL/Getopt-ArgvFile" -license=('GPL' 'PerlArtistic') -depends=('perl>=5.10.0') -options=('!emptydirs') -source=(http://www.cpan.org/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-$pkgver.tar.gz) -md5sums=('42117db2af4a24c062b2da25d4fdf756') - -build() { - cd $startdir/src/Getopt-ArgvFile-$pkgver - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor - make - make install DESTDIR=$startdir/pkg - find $startdir/pkg -name '.packlist' -delete - find $startdir/pkg -name '*.pod' -delete -} - diff --git a/community/perl-graphics-colornames/PKGBUILD b/community/perl-graphics-colornames/PKGBUILD deleted file mode 100644 index e5711a4b9..000000000 --- a/community/perl-graphics-colornames/PKGBUILD +++ /dev/null @@ -1,23 +0,0 @@ -# $Id: PKGBUILD 35649 2010-12-21 23:12:27Z tdziedzic $ -# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> -# Maintainer: Charles Mauch <cmauch@gmail.com> - -pkgname=perl-graphics-colornames -pkgver=2.11 -pkgrel=3 -pkgdesc="Perl/CPAN Module Graphics::ColorNames : provides RGB values for standard color names" -arch=("i686" "x86_64" 'mips64el') -url="http://search.cpan.org/~rrwo/Graphics-ColorNames/" -license=("GPL" "PerlArtistic") -depends=("perl") -source=("http://search.cpan.org/CPAN/authors/id/R/RR/RRWO/Graphics-ColorNames-$pkgver.tar.gz") -md5sums=('047eabbb48d7c29cfebac6f9da8478f6') - -build() { - cd $srcdir/Graphics-ColorNames-$pkgver - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor - make - make pure_install doc_install DESTDIR=$pkgdir - find $pkgdir -name '.packlist' -delete - find $pkgdir -name '*.pod' -delete -} diff --git a/community/perl-html-tableextract/PKGBUILD b/community/perl-html-tableextract/PKGBUILD deleted file mode 100644 index a12888533..000000000 --- a/community/perl-html-tableextract/PKGBUILD +++ /dev/null @@ -1,24 +0,0 @@ -# $Id: PKGBUILD 35670 2010-12-21 23:33:04Z tdziedzic $ -# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> -# Maintainer: Charles Mauch <cmauch@gmail.com> - -pkgname=perl-html-tableextract -pkgver=2.10 -pkgrel=6 -pkgdesc="Perl/CPAN Module HTML::TableExtract : Flexible HTML table extraction" -arch=("i686" "x86_64" 'mips64el') -url="http://search.cpan.org/~msisk/HTML-TableExtract/" -license=("GPL" "PerlArtistic") -makedepends=("perl-html-parser" "perl-html-element-extended") -depends=("perl-html-parser" "perl-html-element-extended") -source=("http://www.cpan.org/authors/id/M/MS/MSISK/HTML-TableExtract-2.10.tar.gz") -md5sums=('e6e355f6049dc57706e719c5ce61ff39') - -build() { - cd $srcdir/HTML-TableExtract-$pkgver - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor - make - make install DESTDIR=$pkgdir - find $pkgdir -name '.packlist' -delete - find $pkgdir -name '*.pod' -delete -} diff --git a/community/perl-libapreq2/PKGBUILD b/community/perl-libapreq2/PKGBUILD index c499f0940..91aa495fe 100644 --- a/community/perl-libapreq2/PKGBUILD +++ b/community/perl-libapreq2/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 47519 2011-05-23 18:19:22Z jelle $ +# $Id: PKGBUILD 49380 2011-06-15 09:32:23Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Tom K <tomk@runbox.com> pkgname=perl-libapreq2 pkgver=2.12 -pkgrel=8 +pkgrel=9 pkgdesc="A safe, standards-compliant, high-performance library used for parsing HTTP cookies, query-strings and POST data." arch=('i686' 'x86_64' 'mips64el') url="http://search.cpan.org/dist/libapreq2" @@ -17,12 +17,9 @@ md5sums=('76e2acde0d82246dea6f2565f3746eec') build() { cd $srcdir/libapreq2-$pkgver - PERL_MM_USE_DEFAULT=1 perl Makefile.PL --with-apache2-apxs=/usr/sbin/apxs - - find . -type f -name Makefile -exec sed -i 's#-ldb-4.8#-ldb-5.1#' {} \; - sed -i 's#-ldb-4.8#-ldb-5.1#' apreq2-config - + find . -type f -name Makefile -exec sed -i 's#-ldb-5.1#-ldb-5.2#' {} \; + sed -i 's#-ldb-5.1#-ldb-5.2#' apreq2-config make } package(){ diff --git a/community/perl-xml-libxslt/PKGBUILD b/community/perl-xml-libxslt/PKGBUILD index 2c9aa87f8..2ebf0f050 100644 --- a/community/perl-xml-libxslt/PKGBUILD +++ b/community/perl-xml-libxslt/PKGBUILD @@ -3,7 +3,7 @@ pkgname=perl-xml-libxslt pkgver=1.70 -pkgrel=5 +pkgrel=6 pkgdesc="Interface to the gnome libxslt library " arch=('i686' 'x86_64' 'mips64el') url="http://search.cpan.org/dist/XML-LibXSLT" diff --git a/community/perl-xml-regexp/PKGBUILD b/community/perl-xml-regexp/PKGBUILD deleted file mode 100644 index 11a76fe34..000000000 --- a/community/perl-xml-regexp/PKGBUILD +++ /dev/null @@ -1,23 +0,0 @@ -# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman -# Contributor: François Charette <firmicus ατ gmx δοτ net> - -pkgname=perl-xml-regexp -pkgver=0.03 -pkgrel=5 -pkgdesc="Regular expressions for XML tokens" -arch=('i686' 'x86_64' 'mips64el') -url="http://search.cpan.org/dist/XML-RegExp" -license=('GPL' 'PerlArtistic') -depends=('perl>=5.10.0') -options=('!emptydirs') -source=(http://www.cpan.org/authors/id/T/TJ/TJMATHER/XML-RegExp-$pkgver.tar.gz) -md5sums=('5826b24e0d05714e25c2bb04e1f1c09b') - -build() { - cd $startdir/src/XML-RegExp-$pkgver - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor - make - make install DESTDIR=$startdir/pkg - find $startdir/pkg -name '.packlist' -delete - find $startdir/pkg -name '*.pod' -delete -} diff --git a/community/perlio-eol/PKGBUILD b/community/perlio-eol/PKGBUILD deleted file mode 100644 index 10f8998b9..000000000 --- a/community/perlio-eol/PKGBUILD +++ /dev/null @@ -1,22 +0,0 @@ -# $Id: PKGBUILD 22036 2010-07-19 14:45:47Z spupykin $ -# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> -# Maintainer: Charles Mauch <cmauch@gmail.com> - -pkgname=perlio-eol -pkgver=0.14 -pkgrel=4 -pkgdesc="Perl/CPAN Module PerlIO::eol" -arch=("i686" "x86_64" 'mips64el') -url="http://search.cpan.org/dist/PerlIO-eol" -license=("GPL" "PerlArtistic") -source=("http://www.cpan.org/authors/id/A/AU/AUDREYT/PerlIO-eol-$pkgver.tar.gz") -md5sums=('55c5d3fafab00a511ff1c2722060235c') - -build() { - cd $srcdir/PerlIO-eol-$pkgver - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 - make || return 1 - make install DESTDIR=$pkgdir || return 1 - find $pkgdir -name '.packlist' -delete - find $pkgdir -name '*.pod' -delete -} diff --git a/community/poedit/PKGBUILD b/community/poedit/PKGBUILD index 66ced5b74..e7fb0b4e3 100644 --- a/community/poedit/PKGBUILD +++ b/community/poedit/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 34005 2010-11-30 20:55:18Z lcarlier $ +# $Id: PKGBUILD 49387 2011-06-15 09:36:08Z spupykin $ # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Alexander Fehr <pizzapunk@gmail.com> @@ -6,7 +6,7 @@ pkgname=poedit pkgver=1.4.6.1 -pkgrel=4 +pkgrel=5 pkgdesc="Cross-platform gettext catalogs (.po files) editor" arch=('i686' 'x86_64' 'mips64el') url="http://www.poedit.net/" diff --git a/community/postgis/PKGBUILD b/community/postgis/PKGBUILD index f442dda5f..2b7fbe2f4 100644 --- a/community/postgis/PKGBUILD +++ b/community/postgis/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 31335 2010-10-30 06:31:18Z jlichtblau $ +# $Id: PKGBUILD 51024 2011-07-04 13:40:25Z stephane $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org # Contributor: William Rea <sillywilly@gmail.com> pkgname=postgis -pkgver=1.5.2 +pkgver=1.5.3 pkgrel=1 pkgdesc="Adds support for geographic objects to PostgreSQL" arch=('i686' 'x86_64' 'mips64el') @@ -12,18 +12,18 @@ url="http://postgis.refractions.net/" license=('GPL') depends=('postgresql' 'proj' 'geos') changelog=$pkgname.changelog -source=(http://postgis.refractions.net/download/$pkgname-$pkgver.tar.gz) -md5sums=('772ec1d0f04d6800cd7e2420a97a7483') +source=(http://postgis.refractions.net/download/${pkgname}-${pkgver}.tar.gz) +md5sums=('05a61df5e1b78bf51c9ce98bea5526fc') build() { - cd ${srcdir}/$pkgname-$pkgver + cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make } package() { - cd ${srcdir}/$pkgname-$pkgver + cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR=${pkgdir} install + make DESTDIR="${pkgdir}" install } diff --git a/community/python-bsddb/PKGBUILD b/community/python-bsddb/PKGBUILD index 589e2745e..4c1015bb1 100644 --- a/community/python-bsddb/PKGBUILD +++ b/community/python-bsddb/PKGBUILD @@ -1,29 +1,62 @@ -# $Id: PKGBUILD 40159 2011-02-21 14:49:30Z stephane $ +# $Id: PKGBUILD 50695 2011-06-29 15:25:25Z stephane $ # Maintainer: Kaiting Chen <kaitocracy@gmail.com> +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Douglas Soares de Andrade <dsandrade@gmail.com> # Contributor: William Rea <sillywilly@gmail.com> -pkgname=python-bsddb -pkgver=5.1.0 -pkgrel=3 +pkgbase=python-bsddb +pkgname=('python2-bsddb' 'python-bsddb') +_hgrel=600 +pkgver=5.1.2.${_hgrel} +pkgrel=1 pkgdesc="Python interface for BerkeleyDB" license=('MIT') arch=('i686' 'x86_64' 'mips64el') url="http://www.jcea.es/programacion/pybsddb.htm" -depends=('db' 'python') -source=("http://pypi.python.org/packages/source/b/bsddb3/bsddb3-${pkgver}.tar.gz" +makedepends=('python2-distribute' 'python-distribute' 'mercurial') +source=("ftp://ftp.archlinux.org/other/community/${pkgbase}/${pkgbase}-${pkgver}.src.tar.xz" 'LICENSE') -md5sums=('6d72d2533f0f3a4bb4b1207598624d6a' - 'f412b3fb37739f1c4be64c1e7a5dee67') +sha1sums=('50e7b4c9c11b06c6d871dd93af1cc228687a0227' + 'ef4e4caf618781104dbf5824279ed39d127b4713') + +# source PKGBUILD && mksource +mksource() { + _hgroot="http://hg.jcea.es/pybsddb/" + _hgrepo=pybsddb + [ -d "${_hgrepo}" ] && hg pull -u -r ${_hgrel} || hg clone ${_hgroot} -r ${_hgrel} + + _dirname=${pkgbase}-${pkgver} + mv ${_hgrepo} ${_dirname} + tar -cJvf ${_dirname}.src.tar.xz ${_dirname} + rm -fr ${_dirname} +} build () { - cd ${srcdir}/bsddb3-${pkgver} + cd "${srcdir}" + + cp -r ${pkgbase}-${pkgver}{,-python2} + + # Build python 3 module + cd ${pkgbase}-${pkgver} python setup.py --berkeley-db=/usr build + + # Build python 2 module + cd ../${pkgbase}-${pkgver}-python2 + python2 setup.py --berkeley-db=/usr build +} + +package_python2-bsddb() { + depends=('db' 'python2>=2.7') + cd "${srcdir}/${pkgbase}-${pkgver}-python2" + + python2 setup.py --berkeley-db=/usr install --root="${pkgdir}" --skip-build --optimize=1 + install -Dm644 "${srcdir}"/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE } -package() { - cd ${srcdir}/bsddb3-${pkgver} - python setup.py --berkeley-db=/usr install --root=${pkgdir} --optimize=1 +package_python-bsddb() { + depends=('db' 'python>=3.2') + cd "${srcdir}/${pkgbase}-${pkgver}" - install -Dm644 ${srcdir}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + python setup.py --berkeley-db=/usr install --root="${pkgdir}" --skip-build --optimize=1 + install -Dm644 "${srcdir}"/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE } diff --git a/community/python-psycopg2/PKGBUILD b/community/python-psycopg2/PKGBUILD index f6cd2951b..73717c807 100644 --- a/community/python-psycopg2/PKGBUILD +++ b/community/python-psycopg2/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 46836 2011-05-12 20:05:43Z spupykin $ +# $Id: PKGBUILD 51180 2011-07-05 16:56:35Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> # Maintainer: Douglas Soares de Andrade <dsa@aur.archlinux.org> pkgbase=python-psycopg2 pkgname=('python-psycopg2' 'python2-psycopg2') -pkgver=2.4.1 +pkgver=2.4.2 pkgrel=1 pkgdesc="A PostgreSQL database adapter for the Python programming language." arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ url="http://initd.org/psycopg/" license=('LGPL3') makedepends=('python2' 'python' 'postgresql-libs>=8.4.1') source=(http://initd.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-$pkgver.tar.gz) -md5sums=('6ae7a33bf1c967e52be65514472c270a') +md5sums=('920c533806f112787b480806ea125406') build() { cd "$srcdir/psycopg2-$pkgver" diff --git a/community/python2-basemap/PKGBUILD b/community/python2-basemap/PKGBUILD index a903b14ed..1c4567710 100644 --- a/community/python2-basemap/PKGBUILD +++ b/community/python2-basemap/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 50811 2011-07-01 15:17:50Z stephane $ +# $Id: PKGBUILD 51032 2011-07-04 14:39:21Z stephane $ # Maintainer: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Julien Morin <jmorin@cp.dias.ie> pkgname=python2-basemap pkgver=1.0.1 -pkgrel=1 +pkgrel=2 pkgdesc="Toolkit for plotting data on map projections" arch=('i686' 'x86_64' 'mips64el') url="http://matplotlib.sourceforge.net/basemap/doc/html/" diff --git a/community/qgis/PKGBUILD b/community/qgis/PKGBUILD index e919541a7..4ff4815c8 100644 --- a/community/qgis/PKGBUILD +++ b/community/qgis/PKGBUILD @@ -4,7 +4,7 @@ pkgname=qgis pkgver=1.7.0 -pkgrel=1 +pkgrel=2 pkgdesc='A Geographic Information System (GIS) that supports vector, raster & database formats' url='http://qgis.org/' license=('GPL') diff --git a/community/redis/PKGBUILD b/community/redis/PKGBUILD index 58c498abd..cb8d48f99 100644 --- a/community/redis/PKGBUILD +++ b/community/redis/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 49856 2011-06-21 12:25:02Z spupykin $ +# $Id: PKGBUILD 51232 2011-07-06 10:22:03Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Jan-Erik Rediger <badboy at archlinux dot us> # Contributor: nofxx <x@<nick>.com> pkgname=redis -pkgver=2.2.10 +pkgver=2.2.11 pkgrel=1 pkgdesc="Advanced key-value store" arch=('i686' 'x86_64' 'mips64el') @@ -18,7 +18,7 @@ backup=("etc/redis.conf" source=("http://redis.googlecode.com/files/${pkgname}-${pkgver}.tar.gz" "redis.d" "redis.logrotate") -md5sums=('5b08ea64334b7a59df2c25ad7e42de7e' +md5sums=('5501c90ca02ae7ea93c34f067b3e0619' 'bf61968d18d0e42529880f5c488ea9ed' '9e2d75b7a9dc421122d673fe520ef17f') diff --git a/community/root/PKGBUILD b/community/root/PKGBUILD index ee86cf453..cfea810b2 100644 --- a/community/root/PKGBUILD +++ b/community/root/PKGBUILD @@ -3,7 +3,7 @@ pkgname=root pkgver=5.30.00 -pkgrel=1 +pkgrel=2 pkgdesc='C++ data analysis framework and interpreter from CERN.' arch=('i686' 'x86_64' 'mips64el') url='http://root.cern.ch' @@ -16,16 +16,22 @@ source=("ftp://root.cern.ch/root/root_v${pkgver}.source.tar.gz" 'root.sh' 'rootd' 'root.desktop' - 'root.xml') + 'root.xml' + 'reorder-lzma-search-r40128.diff') md5sums=('b4e00f419f63d5ec6b7f1aace33c0c6f' '0e883ad44f99da9bc7c23bc102800b62' 'efd06bfa230cc2194b38e0c8939e72af' 'ac61b17395d75a2705fefa2ef841a6bf' - 'e2cf69b204192b5889ceb5b4dedc66f7') + 'e2cf69b204192b5889ceb5b4dedc66f7' + '6b5d5b875913d8468940b9fbb1ceeb60') build() { cd ${pkgname} + # causes an error because it includes lzma/lzma.h directly + # http://root.cern.ch/phpBB3/viewtopic.php?f=3&t=13013&p=55971 + patch -Np2 -i ${srcdir}/reorder-lzma-search-r40128.diff + if [ ${CARCH} == 'i686' ]; then TARGET=linux; else @@ -44,7 +50,7 @@ build() { --disable-builtin-glew \ --disable-builtin-pcre \ --disable-builtin-zlib \ - --enable-builtin-lzma \ + --disable-builtin-lzma \ --enable-gdml \ --enable-gsl-shared \ --enable-minuit2 \ @@ -57,10 +63,6 @@ build() { # move from aur #--disable-builtin-afterimage \ - # causes an error because it includes lzma/lzma.h directly.. need to file a BR for this - # http://root.cern.ch/phpBB3/viewtopic.php?f=3&t=13013&p=55971 - #--disable-builtin-lzma \ - make } diff --git a/community/root/reorder-lzma-search-r40128.diff b/community/root/reorder-lzma-search-r40128.diff new file mode 100644 index 000000000..1dd0fc56e --- /dev/null +++ b/community/root/reorder-lzma-search-r40128.diff @@ -0,0 +1,14 @@ +--- branches/v5-30-00-patches/configure 2011/06/27 13:38:32 39993 ++++ branches/v5-30-00-patches/configure 2011/07/04 15:43:59 40128 +@@ -2430,8 +2430,9 @@ + check_header "lzma.h" "" \ + $LZMA ${LZMA:+$LZMA/include} \ + ${finkdir:+$finkdir/include} \ +- /usr/local/include /usr/include/lzma /usr/local/include/lzma \ +- /opt/lzma/include /usr/include ++ /usr/local/include /usr/include \ ++ /usr/local/include/lzma /usr/include/lzma \ ++ /opt/lzma/include + if test "x$found_dir" = "x" ; then + enable_builtin_lzma=yes + else diff --git a/community/rsyslog/PKGBUILD b/community/rsyslog/PKGBUILD index b33ec036f..1804ebda9 100644 --- a/community/rsyslog/PKGBUILD +++ b/community/rsyslog/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 48294 2011-05-31 09:32:45Z spupykin $ +# $Id: PKGBUILD 51093 2011-07-05 08:47:52Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=rsyslog -pkgver=5.8.1 +pkgver=5.8.2 pkgrel=1 pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability" url="http://www.rsyslog.com/" @@ -22,7 +22,7 @@ source=("http://www.rsyslog.com/files/download/rsyslog/rsyslog-$pkgver.tar.gz" 'rsyslog' 'rsyslog.logrotate' 'rsyslog.conf.d') -md5sums=('909d4d867450aeedd6b388c199d79222' +md5sums=('fd7822622e974cc263bbd54768d5621c' 'a18bbcbb6ebdaa13a6ec6d9f3d9eb2da' '8065db4bef3061a4f000ba58779f6829' '1a0cd4530dd5d1439456d5ae230574d9') @@ -44,7 +44,6 @@ build() { package() { cd ${srcdir}/${pkgname}-${pkgver} make install DESTDIR=${pkgdir} - # Install Daemons and Configuration Files install -D -m755 ${srcdir}/${pkgname} ${pkgdir}/etc/rc.d/${pkgname}d install -D -m644 ${pkgname}.conf ${pkgdir}/etc/${pkgname}.conf diff --git a/community/splix/PKGBUILD b/community/splix/PKGBUILD index bc8fb8361..e2962a372 100644 --- a/community/splix/PKGBUILD +++ b/community/splix/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 45807 2011-04-29 11:10:15Z spupykin $ +# $Id: PKGBUILD 50983 2011-07-04 10:54:47Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> # Contributor: Francis Carroll (franciscarroll at gmail dot com) pkgname=splix pkgver=2.0.0 -pkgrel=9 +pkgrel=10 pkgdesc="CUPS drivers for SPL (Samsung Printer Language) printers" arch=('i686' 'x86_64' 'mips64el') url="http://splix.ap2c.org/" @@ -18,17 +18,14 @@ md5sums=('f3aa735c22a926818b3d8b26c9964186') build() { cd "$srcdir/$pkgname-$pkgver" - sed -i 's#const PPDFile::Value::Value #const PPDFile::Value #' src/ppdfile.cpp - - make PSTORASTER=gstoraster + make PSTORASTER=gstoraster } package() { cd "$srcdir/$pkgname-$pkgver" - install -d "$pkgdir/usr/lib/cups/filter" install -d "$pkgdir/usr/share/cups/model/samsung" - make DESTDIR="$pkgdir" install + ln -s gstoraster $pkgdir/usr/lib/cups/filter/pstoraster } diff --git a/community/tracker/PKGBUILD b/community/tracker/PKGBUILD index 70aa386f9..fea186f0f 100644 --- a/community/tracker/PKGBUILD +++ b/community/tracker/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 49818 2011-06-21 09:19:30Z spupykin $ +# $Id: PKGBUILD 51237 2011-07-06 10:22:55Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Alexander Fehr <pizzapunk gmail com> pkgname=tracker -pkgver=0.10.18 +pkgver=0.10.19 pkgrel=1 pkgdesc="Powerful object database, tag/metadata database, search tool and indexer" arch=('i686' 'x86_64' 'mips64el') @@ -25,7 +25,7 @@ conflicts=('libtracker') provides=("libtracker") install=tracker.install source=(http://ftp.gnome.org/pub/GNOME/sources/tracker/0.10/tracker-$pkgver.tar.bz2) -md5sums=('571b915d0173d9d5f2e3310ffd02e8e6') +md5sums=('59f105fbe7248749aee7ae8d9432b6a9') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/virtualbox/PKGBUILD b/community/virtualbox/PKGBUILD index 8756295d8..868d24f2a 100644 --- a/community/virtualbox/PKGBUILD +++ b/community/virtualbox/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 50284 2011-06-27 19:43:47Z ibiru $ +# $Id: PKGBUILD 51016 2011-07-04 12:35:27Z ibiru $ #Maintainer: Ionut Biru <ibiru@archlinux.org> pkgbase=virtualbox pkgname=('virtualbox' 'virtualbox-guest-additions' 'virtualbox-guest-modules' 'virtualbox-sdk') pkgver=4.0.10 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') @@ -16,7 +16,8 @@ source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver} virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch 10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxdrv.sh 18-system-xorg.patch - change_default_driver_dir.patch) + change_default_driver_dir.patch + usb-2.0.patch) _kernver=2.6.39-LIBRE build() { @@ -27,6 +28,7 @@ build() { patch -Np1 -i "$srcdir/vboxdrv-reference.patch" patch -Np1 -i "$srcdir/18-system-xorg.patch" patch -Np1 -i "$srcdir/change_default_driver_dir.patch" + patch -Np0 -i "$srcdir/usb-2.0.patch" cp "$srcdir/LocalConfig.kmk" . @@ -46,9 +48,7 @@ build() { package_virtualbox() { pkgdesc="Powerful x86 virtualization for enterprise as well as home use" depends=('libxml2' 'libxcursor' 'libidl2' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng' 'kernel26-headers' 'gcc' 'make') - optdepends=('libxt: for shared clipboard' - 'python2: for python support' - 'qt: for VirtualBox GUI' + optdepends=('qt: for VirtualBox GUI' 'vde2: Virtual Distributed Ethernet support' 'virtualbox-sdk: developer kit') @@ -75,6 +75,8 @@ package_virtualbox() { ln -sf VBox "$pkgdir/usr/bin/VirtualBox" ln -sf VBox "$pkgdir/usr/bin/virtualbox" ln -sf VBox "$pkgdir/usr/bin/vboxwebsrv" + ln -sf VBox "$pkgdir/usr/bin/VBoxBalloonCtrl" + ln -sf VBox "$pkgdir/usr/bin/vboxballoonctrl" install -m 0755 VBoxTunctl "$pkgdir/usr/bin" @@ -88,7 +90,7 @@ package_virtualbox() { #setuid root binaries install -m 4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl -t "$pkgdir/usr/lib/virtualbox" #other binaries - install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox" + install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox" #language install -m 0755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls" @@ -128,6 +130,7 @@ package_virtualbox() { package_virtualbox-sdk() { pkgdesc=" VirtualBox Software Developer Kit (SDK)" + depends=('python2') mkdir -p "$pkgdir/usr/lib/virtualbox" @@ -214,4 +217,5 @@ md5sums=('956af570597850ab4d3275b54bbed049' 'c1a07f044c476a190af8486fe78bee0f' '47da2e88de582bb2bab14580a3aa47b1' '8a22b33c9dfaf8fb79bb2d26304e650b' - 'ac43f7cf44b934d8dbdbc3bb6f7879ad') + 'ac43f7cf44b934d8dbdbc3bb6f7879ad' + '696002ad0017512fc27781b07259f37c') diff --git a/community/virtualbox/usb-2.0.patch b/community/virtualbox/usb-2.0.patch new file mode 100644 index 000000000..38aa36ef4 --- /dev/null +++ b/community/virtualbox/usb-2.0.patch @@ -0,0 +1,161 @@ +Index: Config.kmk +=================================================================== +--- Config.kmk (revision 37751) ++++ Config.kmk (revision 37752) +@@ -409,6 +409,9 @@ + ifdef VBOX_WITH_USB + VBOX_WITH_VUSB = 1 + endif ++ifdef VBOX_WITH_EHCI ++ VBOX_WITH_EHCI_IMPL = 1 ++endif + # Enable the hal/sysfs USB code on Linux. + ifeq ($(KBUILD_TARGET),linux) + VBOX_USB_WITH_SYSFS = 1 +@@ -920,7 +923,7 @@ + # + ifdef VBOX_OSE + VBOX_WITH_VRDP= +- VBOX_WITH_EHCI= ++ VBOX_WITH_EHCI_IMPL= + VBOX_WITH_EXTPACK_PUEL= + VBOX_WITH_PCI_PASSTHROUGH= + VBOX_WITH_OS2_ADDITIONS_BIN= +Index: src/VBox/Devices/Makefile.kmk +=================================================================== +--- src/VBox/Devices/Makefile.kmk (revision 37751) ++++ src/VBox/Devices/Makefile.kmk (revision 37752) +@@ -57,8 +57,8 @@ + ifdef VBOX_WITH_USB + VBoxDDU_DEFS += VBOX_WITH_USB IN_USBLIB + VBoxDDU_SDKS.win = WINPSDK W2K3DDK +- if defined(VBOX_WITH_EHCI) && !defined(VBOX_WITH_EXTPACK_PUEL) +- VBoxDDU_DEFS += VBOX_WITH_EHCI ++ if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL) ++ VBoxDDU_DEFS += VBOX_WITH_EHCI_IMPL + endif + ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN + VBoxDDU_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN +@@ -122,8 +122,8 @@ + VBoxDD_DEFS = VBOX_ACPI + ifdef VBOX_WITH_USB + VBoxDD_DEFS += VBOX_WITH_USB +- if defined(VBOX_WITH_EHCI) && !defined(VBOX_WITH_EXTPACK_PUEL) +- VBoxDD_DEFS += VBOX_WITH_EHCI ++ if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL) ++ VBoxDD_DEFS += VBOX_WITH_EHCI_IMPL + endif + endif + ifdef VBOX_WITH_VUSB +@@ -448,8 +448,8 @@ + endif + ifdef VBOX_WITH_USB + DevicesR3_DEFS += VBOX_WITH_USB +- if defined(VBOX_WITH_EHCI) && !defined(VBOX_WITH_EXTPACK_PUEL) +- DevicesR3_DEFS += VBOX_WITH_EHCI ++ if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL) ++ DevicesR3_DEFS += VBOX_WITH_EHCI_IMPL + DevicesR3_SOURCES += \ + USB/DevEHCI.cpp + endif +@@ -603,8 +603,8 @@ + + ifdef VBOX_WITH_USB + VBoxDDGC_DEFS += VBOX_WITH_USB +- if defined(VBOX_WITH_EHCI) && !defined(VBOX_WITH_EXTPACK_PUEL) +- VBoxDDGC_DEFS += VBOX_WITH_EHCI ++ if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL) ++ VBoxDDGC_DEFS += VBOX_WITH_EHCI_IMPL + VBoxDDGC_SOURCES += \ + USB/DevEHCI.cpp + endif +@@ -708,8 +708,8 @@ + endif + ifdef VBOX_WITH_USB + VBoxDDR0_DEFS += VBOX_WITH_USB +- if defined(VBOX_WITH_EHCI) && !defined(VBOX_WITH_EXTPACK_PUEL) +- VBoxDDR0_DEFS += VBOX_WITH_EHCI ++ if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL) ++ VBoxDDR0_DEFS += VBOX_WITH_EHCI_IMPL + VBoxDDR0_SOURCES += \ + USB/DevEHCI.cpp + endif +Index: src/VBox/Devices/build/VBoxDD.cpp +=================================================================== +--- src/VBox/Devices/build/VBoxDD.cpp (revision 37751) ++++ src/VBox/Devices/build/VBoxDD.cpp (revision 37752) +@@ -132,7 +132,7 @@ + if (RT_FAILURE(rc)) + return rc; + #endif +-#ifdef VBOX_WITH_EHCI ++#ifdef VBOX_WITH_EHCI_IMPL + rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceEHCI); + if (RT_FAILURE(rc)) + return rc; +Index: src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp +=================================================================== +--- src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp (revision 37751) ++++ src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp (revision 37752) +@@ -62,7 +62,7 @@ + #ifdef VBOX_WITH_USB + # undef LOG_GROUP + # include "../USB/DevOHCI.cpp" +-# ifdef VBOX_WITH_EHCI ++# ifdef VBOX_WITH_EHCI_IMPL + # include "../USB/DevEHCI.cpp" + # endif + #endif +@@ -928,7 +928,7 @@ + GEN_CHECK_OFF(OHCI, StatDroppedUrbs); + GEN_CHECK_OFF(OHCI, StatTimer); + # endif +-# ifdef VBOX_WITH_EHCI ++# ifdef VBOX_WITH_EHCI_IMPL + /* USB/DevEHCI.cpp */ + GEN_CHECK_SIZE(EHCIHUBPORT); + GEN_CHECK_OFF(EHCIHUBPORT, fReg); +@@ -1005,7 +1005,7 @@ + GEN_CHECK_OFF(EHCI, pEOFTimerNoSyncRC); + GEN_CHECK_OFF(EHCI, pEOFTimerNoSyncR3); + GEN_CHECK_OFF(EHCI, pEOFTimerNoSyncR0); +-# endif /* VBOX_WITH_EHCI */ ++# endif /* VBOX_WITH_EHCI_IMPL */ + #endif /* VBOX_WITH_USB */ + + /* VMMDev/VBoxDev.cpp */ +Index: src/VBox/Devices/testcase/tstDeviceStructSize.cpp +=================================================================== +--- src/VBox/Devices/testcase/tstDeviceStructSize.cpp (revision 37751) ++++ src/VBox/Devices/testcase/tstDeviceStructSize.cpp (revision 37752) +@@ -67,7 +67,7 @@ + #ifdef VBOX_WITH_USB + # undef LOG_GROUP + # include "../USB/DevOHCI.cpp" +-# ifdef VBOX_WITH_EHCI ++# ifdef VBOX_WITH_EHCI_IMPL + # include "../USB/DevEHCI.cpp" + # endif + #endif +@@ -284,7 +284,7 @@ + #endif + //CHECK_MEMBER_ALIGNMENT(E1KSTATE, csTx, 8); + #ifdef VBOX_WITH_USB +-# ifdef VBOX_WITH_EHCI ++# ifdef VBOX_WITH_EHCI_IMPL + CHECK_MEMBER_ALIGNMENT(EHCI, RootHub, 8); + # ifdef VBOX_WITH_STATISTICS + CHECK_MEMBER_ALIGNMENT(EHCI, StatCanceledIsocUrbs, 8); +Index: src/VBox/Devices/testcase/Makefile.kmk +=================================================================== +--- src/VBox/Devices/testcase/Makefile.kmk (revision 37751) ++++ src/VBox/Devices/testcase/Makefile.kmk (revision 37752) +@@ -28,7 +28,7 @@ + VBOX_DEVICES_TESTS_FEATURES = \ + $(if $(VBOX_WITH_RAW_MODE),VBOX_WITH_RAW_MODE,) \ + $(if $(VBOX_WITH_USB),VBOX_WITH_USB,) \ +- $(if $(VBOX_WITH_EHCI),VBOX_WITH_EHCI,) \ ++ $(if $(VBOX_WITH_EHCI_IMPL),VBOX_WITH_EHCI_IMPL,) \ + $(if $(VBOX_WITH_AHCI),VBOX_WITH_AHCI,) \ + $(if $(VBOX_WITH_E1000),VBOX_WITH_E1000,) \ + $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO,) \ diff --git a/community/wml/PKGBUILD b/community/wml/PKGBUILD index b08069bb4..2124c148a 100644 --- a/community/wml/PKGBUILD +++ b/community/wml/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 47762 2011-05-25 13:41:49Z tdziedzic $ +# $Id: PKGBUILD 50698 2011-06-29 15:35:12Z stephane $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=wml pkgver=2.0.11 -pkgrel=6 +pkgrel=7 pkgdesc="The Website Meta Language" arch=('i686' 'x86_64' 'mips64el') url="http://thewml.org/" diff --git a/community/xemacs/PKGBUILD b/community/xemacs/PKGBUILD index 3071a16ea..df901e7ab 100644 --- a/community/xemacs/PKGBUILD +++ b/community/xemacs/PKGBUILD @@ -1,48 +1,37 @@ -# $Id: PKGBUILD 96361 2010-10-19 23:18:53Z stephane $ +# $Id: PKGBUILD 49690 2011-06-19 10:01:11Z ebelanger $ # Maintainer: juergen <juergen@archlinux.org> # Contributor : Stéphane Gaudreault <stephane@archlinux.org> pkgname=xemacs -pkgver=21.5.29 -pkgrel=3 -pkgdesc="highly customizable open source text editor and application development system forked from GNU Emacs" -arch=(i686 x86_64 'mips64el') +pkgver=21.5.31 +pkgrel=2 +pkgdesc="An highly customizable open source text editor and application development system forked from GNU Emacs" +arch=('i686' 'x86_64' 'mips64el') url="http://www.xemacs.org/" license=('GPL') -depends=('db' 'libpng' 'libtiff' 'gpm>=1.20.4' 'bash' 'ncurses>=5.6-7' 'desktop-file-utils' 'libxaw' 'libjpeg') +depends=('db' 'libpng' 'libtiff' 'gpm' 'desktop-file-utils' 'libxaw' 'gdbm' 'giflib') optdepends=('xorg-fonts-75dpi: X bitmap fonts needed for the interface' 'xorg-fonts-100dpi: X bitmap fonts needed for the interface') -makedepends=('giflib' 'xbitmaps') +makedepends=('xbitmaps') install=xemacs.install source=(http://ftp.xemacs.org/pub/xemacs/beta/$pkgname-$pkgver.tar.gz xemacs.desktop - xemacs-21.5.29-large-images.patch - xemacs-21.5.29-optimization-bug.patch - xemacs-21.5.29-vcdiff.patch) -md5sums=('5364192ae0d3de23d9f4ce197e6493b5' + xemacs-21.5.29-optimization-bug.patch) +md5sums=('0185fe905d0b8d8d094d9b60cf262d4a' 'a4d3d5c0aa2c7ce7bec491f809ca3694' - '23ca5a7c50fe7ebebd9fc4525882cdf1' - 'eb061b10ea3bbe1026df5326ae1618e3' - '4ada657a351b226cdd557f9faaeab075') + 'eb061b10ea3bbe1026df5326ae1618e3') build() { cd "${srcdir}/${pkgname}-${pkgver}" - # Fix security issue in vcdiff script - patch -Np0 -i ../xemacs-21.5.29-vcdiff.patch - - # Fix problem caused by improper optimization with GCC>=4.1.2 on i686 - # (and possibly other arches). See - # http://tracker.xemacs.org/XEmacs/its/issue354 - # for the upstream bug report. +# Fix problem caused by improper optimization with GCC>=4.1.2 on i686 +# (and possibly other arches). See +# http://tracker.xemacs.org/XEmacs/its/issue354 +# for the upstream bug report. patch -Np0 -i ../xemacs-21.5.29-optimization-bug.patch - # Fix for security bug - # See http://bugs.gentoo.org/show_bug.cgi?id=275397 - patch -Np1 -i ../xemacs-21.5.29-large-images.patch - ./configure --build="${CHOST}" --prefix=/usr --with-dynamic \ - --with-x11 --without-postgresql --with-athena=xaw \ + --without-postgresql --with-athena=xaw \ --enable-database=berkdb --without-ldap \ --enable-menubars=lucid --enable-scrollbars=lucid \ --enable-widgets=athena --enable-dialogs=athena \ @@ -60,20 +49,17 @@ package() { cd "${srcdir}/${pkgname}-${pkgver}" make -j1 prefix="${pkgdir}/usr" mandir="${pkgdir}/usr/share/man/man1" infodir="${pkgdir}/usr/share/info" install gzip-el - rm ${pkgdir}/usr/bin/{b2m,ctags,etags,rcs-checkin} - rm ${pkgdir}/usr/share/man/man1/{ctags.1,etags.1} + rm "${pkgdir}"/usr/bin/{b2m,ctags,etags} + rm "${pkgdir}"/usr/share/man/man1/{ctags.1,etags.1} # fix FS#7927 install -d -m755 "${pkgdir}/usr/share/pixmaps" - install -d -m755 "${pkgdir}/usr/share/applications" - install -m644 "${srcdir}/${pkgname}.desktop" ${pkgdir}/usr/share/applications/ || return 1 - ln -sf /usr/lib/xemacs-21.5-b28/etc/xemacs-icon.xpm "${pkgdir}/usr/share/pixmaps/" || return 1 + install -D -m644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" + ln -sf /usr/share/xemacs-${pkgver%.*}-b${pkgver##*.}/etc/xemacs-icon.xpm "${pkgdir}/usr/share/pixmaps/xemacs-icon.xpm" # correct permissions chown -R root:root "${pkgdir}" - rm ${pkgdir}/usr/share/info/dir - gzip ${pkgdir}/usr/share/info/* - rm ${pkgdir}/usr/share/info/{info.info.gz,texinfo.info-2.gz,cl.info.gz,texinfo.info-1.gz,texinfo.info.gz,standards.info.gz,widget.info.gz} + rm "${pkgdir}"/usr/share/info/{info.info,texinfo.info-2,cl.info,texinfo.info-1,texinfo.info,standards.info,widget.info} } # vim: ts=2 sw=2 et ft=sh diff --git a/community/xemacs/xemacs-21.5.29-large-images.patch b/community/xemacs/xemacs-21.5.29-large-images.patch deleted file mode 100644 index 535c87186..000000000 --- a/community/xemacs/xemacs-21.5.29-large-images.patch +++ /dev/null @@ -1,96 +0,0 @@ -APPROVE COMMIT 21.5 - -This patch has been committed. When trying to open very large image -files (or image files with header files that claim the image is very -large), we multiply length times width to get the number of pixels in -the image (and possibly multiply that number if a pixel occupies more -than 1 byte). The multiplication can overflow, resulting in passing -negative or insufficiently positive size values to malloc. This patch -checks whether the multiplication will overflow. If so, XEmacs -refuses to attempt to load the image. - -(Patch taken from upstream, already applied there) - ---- a/src/glyphs-eimage.c Mon Jun 29 08:20:47 2009 -0600 -+++ b/src/glyphs-eimage.c Wed Jul 01 15:42:54 2009 -0600 -@@ -409,6 +409,7 @@ - */ - - { -+ UINT_64_BIT pixels_sq; - int jpeg_gray = 0; /* if we're dealing with a grayscale */ - /* Step 4: set parameters for decompression. */ - -@@ -431,7 +432,10 @@ - jpeg_start_decompress (&cinfo); - - /* Step 6: Read in the data and put into EImage format (8bit RGB triples)*/ -- -+ pixels_sq = -+ (UINT_64_BIT) cinfo.output_width * (UINT_64_BIT) cinfo.output_height; -+ if (pixels_sq > ((size_t) -1) / 3) -+ signal_image_error ("JPEG image too large to instantiate", instantiator); - unwind.eimage = - xnew_binbytes (cinfo.output_width * cinfo.output_height * 3); - if (!unwind.eimage) -@@ -677,6 +681,7 @@ - { - ColorMapObject *cmo = unwind.giffile->SColorMap; - int i, j, row, pass, interlace, slice; -+ UINT_64_BIT pixels_sq; - Binbyte *eip; - /* interlaced gifs have rows in this order: - 0, 8, 16, ..., 4, 12, 20, ..., 2, 6, 10, ..., 1, 3, 5, ... */ -@@ -685,6 +690,9 @@ - - height = unwind.giffile->SHeight; - width = unwind.giffile->SWidth; -+ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; -+ if (pixels_sq > ((size_t) -1) / (3 * unwind.giffile->ImageCount)) -+ signal_image_error ("GIF image too large to instantiate", instantiator); - unwind.eimage = - xnew_binbytes (width * height * 3 * unwind.giffile->ImageCount); - if (!unwind.eimage) -@@ -948,11 +956,15 @@ - { - int y; - Binbyte **row_pointers; -+ UINT_64_BIT pixels_sq; - height = info_ptr->height; - width = info_ptr->width; -+ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; -+ if (pixels_sq > ((size_t) -1) / 3) -+ signal_image_error ("PNG image too large to instantiate", instantiator); - - /* Wow, allocate all the memory. Truly, exciting. */ -- unwind.eimage = xnew_array_and_zero (Binbyte, width * height * 3); -+ unwind.eimage = xnew_array_and_zero (Binbyte, (size_t) (pixels_sq * 3)); - /* libpng expects that the image buffer passed in contains a - picture to draw on top of if the png has any transparencies. - This could be a good place to pass that in... */ -@@ -1299,6 +1311,7 @@ - - uint32 *raster; - Binbyte *ep; -+ UINT_64_BIT pixels_sq; - - assert (!NILP (data)); - -@@ -1321,12 +1334,15 @@ - - TIFFGetField (unwind.tiff, TIFFTAG_IMAGEWIDTH, &width); - TIFFGetField (unwind.tiff, TIFFTAG_IMAGELENGTH, &height); -- unwind.eimage = xnew_binbytes (width * height * 3); -+ pixels_sq = (UINT_64_BIT) width * (UINT_64_BIT) height; -+ if (pixels_sq >= 1 << 29) -+ signal_image_error ("TIFF image too large to instantiate", instantiator); -+ unwind.eimage = xnew_binbytes (pixels_sq * 3); - - /* #### This is little more than proof-of-concept/function testing. - It needs to be reimplemented via scanline reads for both memory - compactness. */ -- raster = (uint32*) _TIFFmalloc (width * height * sizeof (uint32)); -+ raster = (uint32*) _TIFFmalloc ((tsize_t) (pixels_sq * sizeof (uint32))); - if (raster != NULL) - { - int i, j; diff --git a/community/xemacs/xemacs-21.5.29-vcdiff.patch b/community/xemacs/xemacs-21.5.29-vcdiff.patch deleted file mode 100644 index 105eb549e..000000000 --- a/community/xemacs/xemacs-21.5.29-vcdiff.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- lib-src/vcdiff.~1~ 1996-12-18 23:42:33.000000000 +0100 -+++ lib-src/vcdiff 2008-04-09 08:20:36.000000000 +0200 -@@ -79,14 +79,14 @@ - case $f in - s.* | */s.*) - if -- rev1=/tmp/geta$$ -+ rev1=`mktemp /tmp/geta.XXXXXXXX` - get -s -p -k $sid1 "$f" > $rev1 && - case $sid2 in - '') - workfile=`expr " /$f" : '.*/s.\(.*\)'` - ;; - *) -- rev2=/tmp/getb$$ -+ rev2=`mktemp /tmp/getb.XXXXXXXX` - get -s -p -k $sid2 "$f" > $rev2 - workfile=$rev2 - esac diff --git a/community/xemacs/xemacs.install b/community/xemacs/xemacs.install index 2cdf5e488..a04ee187f 100644 --- a/community/xemacs/xemacs.install +++ b/community/xemacs/xemacs.install @@ -1,4 +1,4 @@ -infodir=/usr/share/info +infodir=usr/share/info filelist=(beta.info.gz custom.info.gz emodules.info.gz external-widget.info.gz internals.info-1.gz internals.info-2.gz |