summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
Diffstat (limited to 'community')
-rw-r--r--community/calibre/PKGBUILD6
-rw-r--r--community/clementine/PKGBUILD6
-rw-r--r--community/giggle/PKGBUILD4
-rw-r--r--community/gimmie/PKGBUILD14
-rw-r--r--community/glipper/PKGBUILD4
-rw-r--r--community/gnome-system-tools/PKGBUILD12
-rw-r--r--community/gnote/PKGBUILD17
-rw-r--r--community/gnubiff/PKGBUILD18
-rw-r--r--community/google-gadgets/PKGBUILD11
-rw-r--r--community/google-gadgets/wifi-types.patch36
-rw-r--r--community/gphpedit/PKGBUILD10
-rw-r--r--community/gphpedit/gphpedit.install5
-rw-r--r--community/gtkwave/PKGBUILD4
-rw-r--r--community/ibus/PKGBUILD7
-rw-r--r--community/ibus/ibus.install6
-rw-r--r--community/inputattach/0001-Add-w8001-flag.patch27
-rw-r--r--community/inputattach/0002-Allow-for-custom-baud-rates.patch70
-rw-r--r--community/inputattach/PKGBUILD42
-rw-r--r--community/inputattach/inputattach.conf.d13
-rw-r--r--community/inputattach/inputattach.install11
-rw-r--r--community/inputattach/inputattach.rc.d49
-rw-r--r--community/libmicrohttpd/PKGBUILD7
-rw-r--r--community/libmicrohttpd/libmicrohttpd.install20
-rw-r--r--community/liboobs/PKGBUILD13
-rw-r--r--community/perl-gtk2-webkit/PKGBUILD4
-rw-r--r--community/python-cherrypy/837.2049.patch554
-rw-r--r--community/python-cherrypy/ChangeLog26
-rw-r--r--community/python-cherrypy/PKGBUILD23
-rw-r--r--community/python-cherrypy/license25
-rw-r--r--community/python2-cherrypy/837.2049.patch554
-rw-r--r--community/python2-cherrypy/ChangeLog26
-rw-r--r--community/python2-cherrypy/PKGBUILD23
-rw-r--r--community/python2-cherrypy/license25
-rw-r--r--community/shotwell/PKGBUILD6
-rw-r--r--community/shotwell/shotwell.install4
-rw-r--r--community/surf/PKGBUILD4
-rw-r--r--community/system-tools-backends/PKGBUILD6
-rw-r--r--community/uzbl/PKGBUILD12
-rw-r--r--community/warsow/PKGBUILD13
-rw-r--r--community/workrave/PKGBUILD6
40 files changed, 1579 insertions, 144 deletions
diff --git a/community/calibre/PKGBUILD b/community/calibre/PKGBUILD
index 8f866e3c9..333a63acb 100644
--- a/community/calibre/PKGBUILD
+++ b/community/calibre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 45837 2011-04-29 22:19:40Z giovanni $
+# $Id: PKGBUILD 45966 2011-04-30 22:16:22Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Petrov Roman <nwhisper@gmail.com>
# Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com>
pkgname=calibre
-pkgver=0.7.58
+pkgver=0.7.59
pkgrel=1
pkgdesc="Ebook management application"
arch=('i686' 'x86_64')
@@ -20,7 +20,7 @@ optdepends=('ipython: to use calibre-debug')
install=calibre.install
source=(http://calibre-ebook.googlecode.com/files/${pkgname}-${pkgver}.tar.gz
desktop_integration.patch)
-md5sums=('48e8be1826ae6bbc000aeb904f60b967'
+md5sums=('78ebed5248758b9be1d135ae018b8dfe'
'bcc538a3b004429bf8f5a0ac1d89a37f')
build() {
diff --git a/community/clementine/PKGBUILD b/community/clementine/PKGBUILD
index 09d5b1c04..8f453aba7 100644
--- a/community/clementine/PKGBUILD
+++ b/community/clementine/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 43984 2011-04-01 14:24:01Z stephane $
+# $Id: PKGBUILD 44544 2011-04-08 11:52:13Z stephane $
#Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
#Contributor: BlackEagle < ike DOT devolder AT gmail DOT com >
#Contributor: Dany Martineau <dany.luc.martineau@gmail.com>
pkgname=clementine
pkgver=0.7.1
-pkgrel=1
+pkgrel=2
pkgdesc="A music player and library organizer"
url="http://www.clementine-player.org/"
license=('GPL')
arch=('i686' 'x86_64')
-depends=('gstreamer0.10' 'taglib' 'glew' 'liblastfm' 'libgpod' 'libmtp' 'hicolor-icon-theme')
+depends=('gstreamer0.10' 'taglib' 'glew' 'liblastfm' 'libgpod' 'libmtp' 'libplist' 'hicolor-icon-theme' 'qt' 'libimobiledevice')
makedepends=('cmake' 'boost')
optdepends=('gstreamer0.10-base-plugins: for more open formats'
'gstreamer0.10-good-plugins: for use with "Good" plugin libraries'
diff --git a/community/giggle/PKGBUILD b/community/giggle/PKGBUILD
index ecbf47b18..36fb72bab 100644
--- a/community/giggle/PKGBUILD
+++ b/community/giggle/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 28719 2010-10-04 19:55:45Z tdziedzic $
+# $Id: PKGBUILD 44519 2011-04-08 03:41:57Z tdziedzic $
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: neodreams <yanbrodeur@gmail.com>
pkgname=giggle
pkgver=0.5
-pkgrel=4
+pkgrel=5
pkgdesc="Graphical frontend for the git directory tracker (think of gitk on GTK+)."
arch=('i686' 'x86_64')
url="http://live.gnome.org/giggle"
diff --git a/community/gimmie/PKGBUILD b/community/gimmie/PKGBUILD
index 79ca3c262..01c79a4d4 100644
--- a/community/gimmie/PKGBUILD
+++ b/community/gimmie/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 38302 2011-01-25 10:22:59Z spupykin $
+# $Id: PKGBUILD 44484 2011-04-07 20:23:57Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: György Balló <ballogy@freestart.hu>
pkgname=gimmie
pkgver=0.2.8
-pkgrel=13
+pkgrel=14
pkgdesc="desktop organizer which allows interaction with applications, contacts, documents, etc"
arch=('i686' 'x86_64')
url="http://beatniksoftware.com/gimmie/"
@@ -21,6 +21,16 @@ md5sums=('721b8ec80f0247e1281aeb4aa5614c2f')
build() {
cd "$srcdir/$pkgname-$pkgver"
sed -i 's@^#!.*python$@#!/usr/bin/python2@' gimmie/gimmie_{threads,bar}.py
+
+ export CFLAGS="$CFLAGS `pkg-config --cflags glib-2.0`"
+ export LDFLAGS="$LDFLAGS `pkg-config --libs glib-2.0`"
+
+ export CFLAGS="$CFLAGS `pkg-config --cflags gtk+-2.0`"
+ export LDFLAGS="$LDFLAGS `pkg-config --libs gtk+-2.0`"
+
+ export CFLAGS="$CFLAGS `pkg-config --cflags pygtk-2.0`"
+ export LDFLAGS="$LDFLAGS `pkg-config --libs pygtk-2.0`"
+
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir="/usr/lib/$pkgname" \
--disable-static --disable-schemas-install \
--with-gconf-schema-file-dir=/usr/share/gconf/schemas \
diff --git a/community/glipper/PKGBUILD b/community/glipper/PKGBUILD
index d95fc83c3..430fa5e2e 100644
--- a/community/glipper/PKGBUILD
+++ b/community/glipper/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 38218 2011-01-23 22:09:28Z spupykin $
+# $Id: PKGBUILD 44486 2011-04-07 20:24:38Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Pbl Gomez <pblgomez@gmail.com>
pkgname=glipper
pkgver=1.0
-pkgrel=11
+pkgrel=12
pkgdesc="Clipboard for gnome desktop"
arch=('i686' 'x86_64')
url="http://sourceforge.net/projects/glipper/"
diff --git a/community/gnome-system-tools/PKGBUILD b/community/gnome-system-tools/PKGBUILD
index 93061628a..aef106546 100644
--- a/community/gnome-system-tools/PKGBUILD
+++ b/community/gnome-system-tools/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 27934 2010-09-30 15:07:45Z ibiru $
+# $Id: PKGBUILD 44473 2011-04-07 19:13:54Z ibiru $
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Hugo Doria <hugodoria@archlinux-br.org>
pkgname=gnome-system-tools
-pkgver=2.32.0
+pkgver=3.0.0
pkgrel=1
pkgdesc="Gnome System Configuration Utilities"
arch=('i686' 'x86_64')
url="http://www.gnome.org/projects/gst/"
license=('GPL')
options=('!libtool')
-depends=('wireless_tools' 'liboobs>=2.32.0' 'nautilus>=2.30.1' 'polkit-gnome>=0.97' 'dconf')
-makedepends=('gnome-doc-utils>=0.20.1' 'intltool>=0.40')
+depends=('wireless_tools' 'liboobs' 'nautilus' 'polkit-gnome' 'dconf')
+makedepends=('gnome-doc-utils' 'intltool')
install=gnome-system-tools.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.32/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('71d52698ccb60bc07d6e4e442b7cb178ebf1152396379500df5ec62da4c4d14a')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/3.0/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('905df26c02f00a6c2c18706ba3db7eab764e3df6576289e103504aa39a47ae0b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/community/gnote/PKGBUILD b/community/gnote/PKGBUILD
index d2fb73ada..ec1807a21 100644
--- a/community/gnote/PKGBUILD
+++ b/community/gnote/PKGBUILD
@@ -1,23 +1,22 @@
-# $Id: PKGBUILD 41039 2011-03-03 11:13:48Z ibiru $
+# $Id: PKGBUILD 45878 2011-04-30 20:15:23Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Contributor: uastasi <uastasi@archlinux.us>
pkgname=gnote
-pkgver=0.7.3
-pkgrel=3
+pkgver=0.7.4
+pkgrel=1
pkgdesc="Experimental port of Tomboy to C++ "
arch=('i686' 'x86_64')
url="http://live.gnome.org/Gnote"
license=('GPL')
-depends=('boost-libs' 'gtkspell' 'libpanelappletmm' 'libxslt')
+depends=('gtkmm' 'gconf' 'gtkspell' 'libxslt')
makedepends=('intltool' 'gnome-doc-utils' 'boost')
options=('!libtool')
install=gnote.install
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('4853315711baf7647cdae4c2f7d23e22e2b13322605efe3dd98796a06f928321')
+sha256sums=('19bf64397278b85703979fd4943692f6c44579e597bad27acf04a64d6813e6f2')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
@@ -26,8 +25,12 @@ build() {
--disable-schemas-install \
--disable-static
make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnote ${pkgdir}/etc/gconf/schemas/*.schemas
- rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -rf ${pkgdir}/etc/gconf/
}
diff --git a/community/gnubiff/PKGBUILD b/community/gnubiff/PKGBUILD
index 4671b7005..628d336b3 100644
--- a/community/gnubiff/PKGBUILD
+++ b/community/gnubiff/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 14203 2010-04-02 08:57:36Z spupykin $
+# $Id: PKGBUILD 44789 2011-04-11 20:19:28Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Tom K <tomk@runbox.com>
# Contributor: Todd Musall <tmusall@gmail.com>
pkgname=gnubiff
-pkgver=2.2.11
-pkgrel=4
+pkgver=2.2.13
+pkgrel=1
pkgdesc="Mail notification program that checks for mail and displays headers when new mail has arrived"
arch=('i686' 'x86_64')
url="http://gnubiff.sourceforge.net/"
@@ -14,7 +14,7 @@ depends=('gnome-panel')
makedepends=('perlxml')
conflicts=(gnubiff-gtk)
source=(http://downloads.sourceforge.net/gnubiff/gnubiff-$pkgver.tar.gz)
-md5sums=('d9e899f25b1e83081ccd3ac97ee31b8b')
+md5sums=('65423957eb027b94c9e661611c0e4271')
build() {
[ "$GNOMEDIR" = "" ] && GNOMEDIR=/usr
@@ -46,9 +46,13 @@ diff -wbBur gnubiff-2.2.10/src/support.h gnubiff-2.2.10.my/src/support.h
}
EOF
- LDFLAGS="-lgnomeui-2" CFLAGS="-I/usr/include/libgnomeui-2.0" CPPFLAGS="-I/usr/include/libgnomeui-2.0" ./configure --prefix=/usr --with-password --with-password-string --disable-fam
- make || return 1
- make DESTDIR=$startdir/pkg install || return 1
+ export LDFLAGS="$LDFLAGS -lgnomeui-2"
+ export CFLAGS="$CFLAGS -I/usr/include/libgnomeui-2.0"
+ export CPPFLAGS="$CPPFLAGS -I/usr/include/libgnomeui-2.0"
+ ./configure --prefix=/usr --with-password --with-password-string --disable-fam \
+ --disable-gnome
+ make
+ make DESTDIR=$startdir/pkg install
rm -rf ${pkgdir}/usr/share/info/dir
}
diff --git a/community/google-gadgets/PKGBUILD b/community/google-gadgets/PKGBUILD
index dd8d16abf..5e7d6c624 100644
--- a/community/google-gadgets/PKGBUILD
+++ b/community/google-gadgets/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 43358 2011-03-25 11:00:25Z schiv $
+# $Id: PKGBUILD 44556 2011-04-08 21:04:15Z spupykin $
# Maintainer: Ray Rashif <schiv@archlinux.org>
pkgbase=google-gadgets
@@ -8,7 +8,7 @@ _basedir="$startdir/pkg/base"
pkgver=0.11.2
_sover=1.0
_sobump=0.0.0
-pkgrel=3
+pkgrel=4
arch=('i686' 'x86_64')
url="http://code.google.com/p/google-gadgets-for-linux/"
license=('APACHE')
@@ -19,8 +19,10 @@ makedepends=('gstreamer0.10-base-plugins' 'libwebkit'
'networkmanager'
'zip' 'flex')
options=('!libtool')
-source=("http://google-gadgets-for-linux.googlecode.com/files/$_realname-$pkgver.tar.bz2")
-md5sums=('279305553bcbf74f3e3615f6abc36a5e')
+source=("http://google-gadgets-for-linux.googlecode.com/files/$_realname-$pkgver.tar.bz2"
+ "wifi-types.patch")
+md5sums=('279305553bcbf74f3e3615f6abc36a5e'
+ 'f0df71c60a174e9d629db87b8bd9e102')
build() {
cd "$srcdir/$_realname-$pkgver"
@@ -31,6 +33,7 @@ build() {
# xulrunner 2.0 is incompatible;
# we build without smjs-script/browser-element
+ patch -p1 <$srcdir/wifi-types.patch
./configure --prefix=/usr \
--disable-werror \
--disable-update-desktop-database \
diff --git a/community/google-gadgets/wifi-types.patch b/community/google-gadgets/wifi-types.patch
new file mode 100644
index 000000000..be9383a61
--- /dev/null
+++ b/community/google-gadgets/wifi-types.patch
@@ -0,0 +1,36 @@
+diff -wbBur google-gadgets-for-linux-0.11.2/extensions/linux_system_framework/network.cc google-gadgets-for-linux-0.11.2.my/extensions/linux_system_framework/network.cc
+--- google-gadgets-for-linux-0.11.2/extensions/linux_system_framework/network.cc 2009-03-15 04:12:42.000000000 +0000
++++ google-gadgets-for-linux-0.11.2.my/extensions/linux_system_framework/network.cc 2011-04-08 20:57:16.000000000 +0000
+@@ -23,17 +23,9 @@
+ namespace framework {
+ namespace linux_system {
+
+-#ifdef NM_DEVICE_TYPE_WIFI
+ static const int kDeviceTypeWifi = NM_DEVICE_TYPE_WIFI;
+-#else
+-static const int kDeviceTypeWifi = DEVICE_TYPE_802_11_WIRELESS;
+-#endif
+
+-#ifdef NM_DEVICE_TYPE_ETHERNET
+ static const int kDeviceTypeEthernet = NM_DEVICE_TYPE_ETHERNET;
+-#else
+-static const int kDeviceTypeEthernet = DEVICE_TYPE_802_3_ETHERNET;
+-#endif
+
+ static const int kDeviceTypeUnknown = 0;
+
+diff -wbBur google-gadgets-for-linux-0.11.2/extensions/linux_system_framework/wireless.cc google-gadgets-for-linux-0.11.2.my/extensions/linux_system_framework/wireless.cc
+--- google-gadgets-for-linux-0.11.2/extensions/linux_system_framework/wireless.cc 2009-12-28 10:39:53.000000000 +0000
++++ google-gadgets-for-linux-0.11.2.my/extensions/linux_system_framework/wireless.cc 2011-04-08 20:57:39.000000000 +0000
+@@ -77,11 +77,7 @@
+
+ using namespace ggadget::dbus;
+
+-#ifdef NM_DEVICE_TYPE_WIFI
+ static const int kDeviceTypeWifi = NM_DEVICE_TYPE_WIFI;
+-#else
+-static const int kDeviceTypeWifi = DEVICE_TYPE_802_11_WIRELESS;
+-#endif
+
+ // Defined in nm 0.7
+ static const int kDeviceStateActivated = 8;
diff --git a/community/gphpedit/PKGBUILD b/community/gphpedit/PKGBUILD
index 352a3252d..83287457c 100644
--- a/community/gphpedit/PKGBUILD
+++ b/community/gphpedit/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 18217 2010-06-01 12:55:06Z spupykin $
+# $Id: PKGBUILD 44458 2011-04-07 16:24:21Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: tobias <tobias@archlinux.org>
# Contributor: Tobias Kieslich <tobias@justdreams.de>
pkgname=gphpedit
pkgver=0.9.98RC1
-pkgrel=1
+pkgrel=2
pkgdesc="a scintilla/gnome based editor specialized on php-files"
arch=(i686 x86_64)
license=('GPL')
@@ -20,12 +20,12 @@ md5sums=('cc3c5f50704fa0ed3ef3d4ac983db525'
build() {
cd ${srcdir}/*$pkgname*
-# patch -Np1 -i ${srcdir}/doc-fix.patch || return 1
+# patch -Np1 -i ${srcdir}/doc-fix.patch
./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
- make || return 1
- make DESTDIR=$pkgdir install || return 1
+ make
+ make DESTDIR=$pkgdir install
# extend MimeType declaration
echo "MimeType=application/x-php;text-x-php-text/x-php-source;" >> \
diff --git a/community/gphpedit/gphpedit.install b/community/gphpedit/gphpedit.install
index 21f20806c..39bc96919 100644
--- a/community/gphpedit/gphpedit.install
+++ b/community/gphpedit/gphpedit.install
@@ -6,11 +6,6 @@ post_upgrade() {
post_install $1
}
-pre_remove() {
- /bin/true
-}
-
post_remove() {
post_install
}
-
diff --git a/community/gtkwave/PKGBUILD b/community/gtkwave/PKGBUILD
index 477ec5817..3376c0148 100644
--- a/community/gtkwave/PKGBUILD
+++ b/community/gtkwave/PKGBUILD
@@ -2,7 +2,7 @@
# Contributor: Jared Casper <jaredcasper@gmail.com>
pkgname=gtkwave
-pkgver=3.3.20
+pkgver=3.3.21
pkgrel=1
pkgdesc='A wave viewer which reads LXT, LXT2, VZT, GHW and VCD/EVCD files'
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ depends=('gtk2')
makedepends=('gperf')
install="${pkgname}.install"
source=("http://gtkwave.sourceforge.net/${pkgname}-${pkgver}.tar.gz")
-md5sums=('91f35ce56817b1a0b37a904be4e5f021')
+md5sums=('ae3a99a2304f45703471629c7b614ef6')
build() {
cd ${pkgname}-${pkgver}
diff --git a/community/ibus/PKGBUILD b/community/ibus/PKGBUILD
index 2ad3e0e93..ab31b3bf7 100644
--- a/community/ibus/PKGBUILD
+++ b/community/ibus/PKGBUILD
@@ -4,12 +4,12 @@
pkgname=ibus
pkgver=1.3.9
-pkgrel=2
+pkgrel=3
pkgdesc='Next Generation Input Bus for Linux.'
arch=('i686' 'x86_64')
license=('LGPL')
url='http://ibus.googlecode.com'
-depends=('dbus-python>=0.83.0' 'gconf' 'python2' 'pygtk' 'pyxdg' 'iso-codes' 'librsvg' 'python-notify' 'hicolor-icon-theme')
+depends=('dbus-python>=0.83.0' 'gconf' 'python2' 'pygtk' 'pyxdg' 'iso-codes' 'librsvg' 'python-notify' 'hicolor-icon-theme' 'gtk3')
optdepends=('notification-daemon')
makedepends=('intltool')
options=('!libtool')
@@ -27,7 +27,8 @@ build() {
--libexecdir=/usr/lib/ibus \
--sysconfdir=/etc \
--with-gconf-schema-file-dir=/usr/share/gconf/schemas \
- --enable-introspection=no # disabled because build fails with
+ --enable-gtk3
+ #--enable-introspection=no # disabled because build fails with
# gobject-introspection 0.9.10-2
# python2 fix
diff --git a/community/ibus/ibus.install b/community/ibus/ibus.install
index d5c04de2b..439f00b29 100644
--- a/community/ibus/ibus.install
+++ b/community/ibus/ibus.install
@@ -5,6 +5,9 @@ post_install() {
/usr/sbin/gconfpkg --install ibus
gtk-update-icon-cache -fq -t /usr/share/icons/hicolor
+
+ # update for gkt3
+ gtk-query-immodules-3.0 --update-cache
}
pre_upgrade() {
@@ -22,4 +25,7 @@ pre_remove() {
post_remove() {
/usr/bin/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
gtk-update-icon-cache -fq -t /usr/share/icons/hicolor
+
+ # update for gkt3
+ gtk-query-immodules-3.0 --update-cache
}
diff --git a/community/inputattach/0001-Add-w8001-flag.patch b/community/inputattach/0001-Add-w8001-flag.patch
new file mode 100644
index 000000000..ba6f9394b
--- /dev/null
+++ b/community/inputattach/0001-Add-w8001-flag.patch
@@ -0,0 +1,27 @@
+From 729257077e328e0b2fa1bba5a5509c09a743d5d0 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 13 Jul 2010 11:49:47 +1000
+Subject: [PATCH 2/3] Add w8001 flag for serial Wacom devices.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ inputattach.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/inputattach.c b/inputattach.c
+index a7de302..0382954 100644
+--- a/inputattach.c
++++ b/inputattach.c
+@@ -495,6 +495,9 @@ static struct input_types input_types[] = {
+ { "--dump", "-dump", "Just enable device",
+ B2400, CS8,
+ 0, 0x00, 0x00, 0, dump_init },
++{ "--w8001", "-w8001", "Wacom W8001",
++ B38400, CS8,
++ SERIO_W8001, 0x00, 0x00, 0, NULL },
+ { NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, NULL }
+ };
+
+--
+1.7.2.3
+
diff --git a/community/inputattach/0002-Allow-for-custom-baud-rates.patch b/community/inputattach/0002-Allow-for-custom-baud-rates.patch
new file mode 100644
index 000000000..78f5d19c8
--- /dev/null
+++ b/community/inputattach/0002-Allow-for-custom-baud-rates.patch
@@ -0,0 +1,70 @@
+From 5d9373f24f1b519c030024b2f36277ba9713697c Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 21 Jul 2010 14:41:04 +1000
+Subject: [PATCH 3/3] Allow for custom baud rates.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ inputattach.c | 25 ++++++++++++++++++++++++-
+ 1 files changed, 24 insertions(+), 1 deletions(-)
+
+diff --git a/inputattach.c b/inputattach.c
+index 0382954..6806fc8 100644
+--- a/inputattach.c
++++ b/inputattach.c
+@@ -506,7 +506,7 @@ static void show_help(void)
+ struct input_types *type;
+
+ puts("");
+- puts("Usage: inputattach [--daemon] <mode> <device>");
++ puts("Usage: inputattach [--daemon] [--baud <baud>] <mode> <device>");
+ puts("");
+ puts("Modes:");
+
+@@ -530,6 +530,7 @@ int main(int argc, char **argv)
+ int i;
+ char c;
+ int retval;
++ int baud = -1;
+
+ for (i = 1; i < argc; i++) {
+ if (!strcasecmp(argv[i], "--help")) {
+@@ -540,6 +541,15 @@ int main(int argc, char **argv)
+ } else if (need_device) {
+ device = argv[i];
+ need_device = 0;
++ } else if (!strcasecmp(argv[i], "--baud")) {
++ if (argc <= i + 1) {
++ show_help();
++ fprintf(stderr,
++ "inputattach: require baud rate\n");
++ return EXIT_FAILURE;
++ }
++
++ baud = atoi(argv[++i]);
+ } else {
+ if (type && type->name) {
+ fprintf(stderr,
+@@ -580,6 +590,19 @@ int main(int argc, char **argv)
+ return 1;
+ }
+
++ switch(baud) {
++ case -1: break;
++ case 2400: type->speed = B2400; break;
++ case 4800: type->speed = B4800; break;
++ case 9600: type->speed = B9600; break;
++ case 19200: type->speed = B19200; break;
++ case 38400: type->speed = B38400; break;
++ default:
++ fprintf(stderr, "inputattach: invalid baud rate '%d'\n",
++ baud);
++ return EXIT_FAILURE;
++ }
++
+ setline(fd, type->flags, type->speed);
+
+ if (type->flush)
+--
+1.7.2.3
+
diff --git a/community/inputattach/PKGBUILD b/community/inputattach/PKGBUILD
index 54b3af023..0953d0a3a 100644
--- a/community/inputattach/PKGBUILD
+++ b/community/inputattach/PKGBUILD
@@ -2,30 +2,42 @@
pkgname=inputattach
pkgver=1.24
-pkgrel=2
+pkgrel=3
pkgdesc="Attach serial mice, keyboards and other input devices to the kernel input system"
arch=('i686' 'x86_64')
url="http://linuxconsole.sourceforge.net/"
license=('GPL')
-depends=('glibc' 'bash')
+depends=('bash')
makedepends=('gcc')
-backup=(etc/conf.d/inputattach.conf)
+backup=(etc/conf.d/inputattach)
install=inputattach.install
source=('http://kernel.org/pub/linux/kernel/people/dtor/inputattach.c'
'http://kernel.org/pub/linux/kernel/people/dtor/serio-ids.h'
- 'inputattach.conf.d'
- 'inputattach.rc.d')
-md5sums=('eb595a766ca363edb3b14c25404596ce'
- '93d34d96cd3ad19ea1aeca7f68a66b4a'
- 'ca36071f8384314c037e1e8b15c63afe'
- 'd484778b0464e25b22cda89ac7fed156')
+ 'inputattach.conf.d' 'inputattach.rc.d'
+ '0001-Add-w8001-flag.patch' '0002-Allow-for-custom-baud-rates.patch')
+md5sums=('eb595a766ca363edb3b14c25404596ce' '93d34d96cd3ad19ea1aeca7f68a66b4a'
+ '7ca903e54829764c8241233af5069216' '8d62f8840a2e6457a953f667df39ef99'
+ 'f1b3ddae308351357f557cbd5c6cda81' '8f76908449cae24a95adbf0bc0a17721')
build() {
- cc $CFLAGS inputattach.c -o inputattach || return 1
+ cd "$srcdir"
- install -D -m755 inputattach $startdir/pkg/usr/sbin/inputattach && \
- install -D -m644 $startdir/src/inputattach.conf.d \
- $startdir/pkg/etc/conf.d/inputattach.conf && \
- install -D -m755 $startdir/src/inputattach.rc.d \
- $startdir/pkg/etc/rc.d/inputattach
+ # Add support for serial wacom tablets
+ patch -Np1 -i "$srcdir/0001-Add-w8001-flag.patch"
+ patch -Np1 -i "$srcdir/0002-Allow-for-custom-baud-rates.patch"
+
+ cc $CFLAGS inputattach.c -o inputattach
+}
+
+package() {
+ cd "$srcdir"
+
+ install -Dm755 inputattach \
+ "$pkgdir/usr/sbin/inputattach"
+
+ install -Dm644 $srcdir/inputattach.conf.d \
+ "$pkgdir/etc/conf.d/inputattach"
+
+ install -Dm755 $srcdir/inputattach.rc.d \
+ "$pkgdir/etc/rc.d/inputattach"
}
diff --git a/community/inputattach/inputattach.conf.d b/community/inputattach/inputattach.conf.d
index 1e04240fa..ae8d1842a 100644
--- a/community/inputattach/inputattach.conf.d
+++ b/community/inputattach/inputattach.conf.d
@@ -1,11 +1,10 @@
#
# Configuration for inputattach
#
+# IAPARAMS is an array of inputattach arguments, see 'inputattach --help'.
+# An inputattach instance will be started for each element.
-# inputattach mode - see 'inputattach --help' for list e.g. "--microsoft" for
-# 2 button Microsoft mouse
-IAMODE="--microsoft"
-
-# inputattach device - /dev file entry where device is attached e.g.
-# "/dev/ttyS0" for device attached to first system serial port
-IADEV="/dev/ttyS0"
+IAPARAMS=(
+ "--microsoft /dev/ttyS0"
+ #"--baud 9600 --w8001 /dev/ttyS1"
+)
diff --git a/community/inputattach/inputattach.install b/community/inputattach/inputattach.install
index 965958b6b..b5381e14a 100644
--- a/community/inputattach/inputattach.install
+++ b/community/inputattach/inputattach.install
@@ -1,9 +1,18 @@
## arg 1: the new package version
+
+post_upgrade() {
+ (( $(vercmp 1.24-3 $2) > 0 )) && cat <<MSG
+ATTENTION:
+ /etc/conf.d/inputattach.conf has been replaced by /etc/conf.d/inputattach
+ Make sure you adjust the new config file, which has a new format.
+MSG
+}
+
post_install() {
cat << EOF
The correct device mode and /dev device file will need to be set in
-/etc/conf.d/inputattach.conf before starting /etc/rc.d/inputattach
+/etc/conf.d/inputattach before starting /etc/rc.d/inputattach
EOF
}
diff --git a/community/inputattach/inputattach.rc.d b/community/inputattach/inputattach.rc.d
index 7f260f9f8..6b92827be 100644
--- a/community/inputattach/inputattach.rc.d
+++ b/community/inputattach/inputattach.rc.d
@@ -1,60 +1,37 @@
#!/bin/bash
-daemon_name=inputattach
-
. /etc/rc.conf
-
-. /etc/conf.d/$daemon_name.conf
-
. /etc/rc.d/functions
-
-get_pid() {
- pidof $daemon_name
-}
+. /etc/conf.d/inputattach
case "$1" in
start)
- stat_busy "Starting $daemon_name daemon"
-
- PID=`get_pid`
- if [ -z "$PID" ]; then
- [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid
- # RUN
- $daemon_name --daemon $IAMODE $IADEV
- #
- if [ $? -gt 0 ]; then
+ stat_busy "Starting inputattach"
+ for param in ${IAPARAMS[@]}; do
+ if ! /usr/sbin/inputattach --daemon $param; then
stat_fail
exit 1
- else
- echo `get_pid` > /var/run/$daemon_name.pid
- add_daemon $daemon_name
- stat_done
fi
- else
- stat_fail
- exit 1
- fi
- ;;
+ done
+ add_daemon inputattach
+ stat_done
+ ;;
stop)
- stat_busy "Stopping $daemon_name daemon"
- PID=`get_pid`
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
+ stat_busy "Stopping inputattach"
+ PID=`pidof -o %PPID /usr/sbin/inputattach`
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
- rm -f /var/run/$daemon_name.pid &> /dev/null
- rm_daemon $daemon_name
+ rm_daemon inputattach
stat_done
fi
;;
-
restart)
$0 stop
- sleep 3
+ sleep 1
$0 start
;;
*)
diff --git a/community/libmicrohttpd/PKGBUILD b/community/libmicrohttpd/PKGBUILD
index 44a231cd4..cf578117f 100644
--- a/community/libmicrohttpd/PKGBUILD
+++ b/community/libmicrohttpd/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 43754 2011-03-29 17:11:14Z spupykin $
+# $Id: PKGBUILD 45868 2011-04-30 09:25:16Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Norberto Lopes <shelika@mail.telepac.pt>
# Contributor: Kao Dome <kaodome@gmail.com>
@@ -6,7 +6,7 @@
# Contributor: Mathias Rohnstock <linksoft@gmx.de>
pkgname=libmicrohttpd
-pkgver=0.9.9
+pkgver=0.9.10
pkgrel=1
pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application."
arch=('i686' 'x86_64')
@@ -14,8 +14,9 @@ url="http://www.gnu.org/software/libmicrohttpd/"
license=('LGPL')
options=('!libtool')
depends=('gnutls')
+install=libmicrohttpd.install
source=(ftp://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz)
-md5sums=('0114a439bb3cca9d9ca9e43b1f4fd0b1')
+md5sums=('7cc44373fe1b03348510755839091578')
build() {
cd ${pkgname}-${pkgver}
diff --git a/community/libmicrohttpd/libmicrohttpd.install b/community/libmicrohttpd/libmicrohttpd.install
new file mode 100644
index 000000000..dc0d2b996
--- /dev/null
+++ b/community/libmicrohttpd/libmicrohttpd.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(microhttpd.info microhttpd-tutorial.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/liboobs/PKGBUILD b/community/liboobs/PKGBUILD
index fd27f0b64..b4a46a2d2 100644
--- a/community/liboobs/PKGBUILD
+++ b/community/liboobs/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 27928 2010-09-30 14:47:40Z ibiru $
+# $Id: PKGBUILD 44470 2011-04-07 19:06:42Z ibiru $
# Maintainer : Ionut Biru<ibiru@archlinux.org>
# Contributor: Hugo Doria <hugodoria@gmail.com>
pkgname=liboobs
-pkgver=2.32.0
+pkgver=3.0.0
pkgrel=1
arch=('i686' 'x86_64')
pkgdesc="A wrapping library to the System Tools Backends"
url="ftp://ftp.gnome.org/pub/GNOME/sources/liboobs/"
license=('GPL')
-depends=('system-tools-backends>=2.10.1')
+depends=('system-tools-backends')
makedepends=('pkgconfig')
options=('!libtool')
-source=(http://ftp.gnome.org/pub/GNOME/sources/liboobs/2.32/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('1b70061272b2c777d505b5b6c785e045d4297639dd0d4214d04dea154a9b63d6')
+source=(http://ftp.gnome.org/pub/GNOME/sources/liboobs/3.0/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('1e7a327df7dcfa30e0cd3e0d2ffcd9a2c91c7870291dd30434b5da907945c00a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --disable-static
make
+}
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR=${pkgdir} install
}
diff --git a/community/perl-gtk2-webkit/PKGBUILD b/community/perl-gtk2-webkit/PKGBUILD
index 3559b26f7..038f4748a 100644
--- a/community/perl-gtk2-webkit/PKGBUILD
+++ b/community/perl-gtk2-webkit/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 35664 2010-12-21 23:31:37Z tdziedzic $
+# $Id: PKGBUILD 44460 2011-04-07 16:27:39Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
pkgname=perl-gtk2-webkit
pkgver=0.08
-pkgrel=2
+pkgrel=3
pkgdesc="Gtk2::WebKit"
arch=('i686' 'x86_64')
url="http://search.cpan.org/dist/Gtk2-WebKit"
diff --git a/community/python-cherrypy/837.2049.patch b/community/python-cherrypy/837.2049.patch
new file mode 100644
index 000000000..20cc0dd36
--- /dev/null
+++ b/community/python-cherrypy/837.2049.patch
@@ -0,0 +1,554 @@
+Index: cherrypy/test/test_tools.py
+===================================================================
+--- cherrypy/test/test_tools.py (revision 2049)
++++ cherrypy/test/test_tools.py (working copy)
+@@ -3,6 +3,7 @@
+ import gzip
+ import StringIO
+ import sys
++from httplib import IncompleteRead
+ import time
+ timeout = 0.2
+
+@@ -272,8 +273,12 @@
+ # Because this error is raised after the response body has
+ # started, and because it's chunked output, an error is raised by
+ # the HTTP client when it encounters incomplete output.
+- self.assertRaises(ValueError, self.getPage,
+- "/demo/errinstream?id=5")
++ if sys.version_info[:2] >= (2, 6):
++ self.assertRaises(IncompleteRead, self.getPage,
++ "/demo/errinstream?id=5")
++ else:
++ self.assertRaises(ValueError, self.getPage,
++ "/demo/errinstream?id=5")
+ # If this fails, then on_end_request isn't being called at all.
+ time.sleep(0.1)
+ self.getPage("/demo/ended/5")
+Index: cherrypy/test/webtest.py
+===================================================================
+--- cherrypy/test/webtest.py (revision 2049)
++++ cherrypy/test/webtest.py (working copy)
+@@ -491,7 +491,7 @@
+ # IN6ADDR_ANY, which should respond on localhost.
+ host = "::1"
+ conn = http_conn(host, port)
+-
++
+ conn._http_vsn_str = protocol
+ conn._http_vsn = int("".join([x for x in protocol if x.isdigit()]))
+
+Index: cherrypy/test/test_encoding.py
+===================================================================
+--- cherrypy/test/test_encoding.py (revision 2049)
++++ cherrypy/test/test_encoding.py (working copy)
+@@ -1,7 +1,9 @@
+ from cherrypy.test import test
+ test.prefer_parent_path()
+
++import sys
+ import gzip, StringIO
++from httplib import IncompleteRead
+ import cherrypy
+ europoundUnicode = u'\x80\xa3'
+ europoundUtf8 = u'\x80\xa3'.encode('utf-8')
+@@ -160,10 +162,13 @@
+ else:
+ # The wsgiserver will simply stop sending data, and the HTTP client
+ # will error due to an incomplete chunk-encoded stream.
+- self.assertRaises(ValueError, self.getPage, '/gzip/noshow_stream',
+- headers=[("Accept-Encoding", "gzip")])
++ if sys.version_info[:2] >= (2, 6):
++ self.assertRaises(IncompleteRead, self.getPage, '/gzip/noshow_stream',
++ headers=[("Accept-Encoding", "gzip")])
++ else:
++ self.assertRaises(ValueError, self.getPage, '/gzip/noshow_stream',
++ headers=[("Accept-Encoding", "gzip")])
+
+-
+ if __name__ == "__main__":
+ setup_server()
+ helper.testmain()
+Index: cherrypy/test/test_core.py
+===================================================================
+--- cherrypy/test/test_core.py (revision 2049)
++++ cherrypy/test/test_core.py (working copy)
+@@ -7,6 +7,7 @@
+ localDir = os.path.dirname(__file__)
+ import sys
+ import types
++from httplib import IncompleteRead
+
+ import cherrypy
+ from cherrypy import _cptools, tools
+@@ -760,8 +761,12 @@
+ else:
+ # Under HTTP/1.1, the chunked transfer-coding is used.
+ # The HTTP client will choke when the output is incomplete.
+- self.assertRaises(ValueError, self.getPage,
+- "/error/page_streamed")
++ if sys.version_info[:2] >= (2, 6):
++ self.assertRaises(IncompleteRead, self.getPage,
++ "/error/page_streamed")
++ else:
++ self.assertRaises(ValueError, self.getPage,
++ "/error/page_streamed")
+
+ # No traceback should be present
+ self.getPage("/error/cause_err_in_finalize")
+Index: cherrypy/wsgiserver/__init__.py
+===================================================================
+--- cherrypy/wsgiserver/__init__.py (revision 2049)
++++ cherrypy/wsgiserver/__init__.py (working copy)
+@@ -713,148 +713,325 @@
+ """Exception raised when the SSL implementation signals a fatal alert."""
+ pass
+
++if sys.version_info[:2] >= (2, 6) or sys.version_info[:3] >= (2, 5, 2):
++ class CP_fileobject(socket._fileobject):
++ """Faux file object attached to a socket object."""
+
+-class CP_fileobject(socket._fileobject):
+- """Faux file object attached to a socket object."""
+-
+- def sendall(self, data):
+- """Sendall for non-blocking sockets."""
+- while data:
+- try:
+- bytes_sent = self.send(data)
+- data = data[bytes_sent:]
+- except socket.error, e:
+- if e.args[0] not in socket_errors_nonblocking:
+- raise
+-
+- def send(self, data):
+- return self._sock.send(data)
+-
+- def flush(self):
+- if self._wbuf:
+- buffer = "".join(self._wbuf)
+- self._wbuf = []
+- self.sendall(buffer)
+-
+- def recv(self, size):
+- while True:
+- try:
+- return self._sock.recv(size)
+- except socket.error, e:
+- if e.args[0] not in socket_errors_nonblocking:
+- raise
+-
+- def read(self, size=-1):
+- if size < 0:
+- # Read until EOF
+- buffers = [self._rbuf]
+- self._rbuf = ""
+- if self._rbufsize <= 1:
+- recv_size = self.default_bufsize
++ def sendall(self, data):
++ """Sendall for non-blocking sockets."""
++ while data:
++ try:
++ bytes_sent = self.send(data)
++ data = data[bytes_sent:]
++ except socket.error, e:
++ if e.args[0] not in socket_errors_nonblocking:
++ raise
++
++ def send(self, data):
++ return self._sock.send(data)
++
++ def flush(self):
++ if self._wbuf:
++ buffer = "".join(self._wbuf)
++ self._wbuf = []
++ self.sendall(buffer)
++
++ def recv(self, size):
++ while True:
++ try:
++ return self._sock.recv(size)
++ except socket.error, e:
++ if e.args[0] not in socket_errors_nonblocking:
++ raise
++
++ def read(self, size=-1):
++ # Use max, disallow tiny reads in a loop as they are very inefficient.
++ # We never leave read() with any leftover data from a new recv() call
++ # in our internal buffer.
++ rbufsize = max(self._rbufsize, self.default_bufsize)
++ # Our use of StringIO rather than lists of string objects returned by
++ # recv() minimizes memory usage and fragmentation that occurs when
++ # rbufsize is large compared to the typical return value of recv().
++ buf = self._rbuf
++ buf.seek(0, 2) # seek end
++ if size < 0:
++ # Read until EOF
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ while True:
++ data = self.recv(rbufsize)
++ if not data:
++ break
++ buf.write(data)
++ return buf.getvalue()
+ else:
+- recv_size = self._rbufsize
+-
++ # Read until size bytes or EOF seen, whichever comes first
++ buf_len = buf.tell()
++ if buf_len >= size:
++ # Already have size bytes in our buffer? Extract and return.
++ buf.seek(0)
++ rv = buf.read(size)
++ self._rbuf = StringIO.StringIO()
++ self._rbuf.write(buf.read())
++ return rv
++
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ while True:
++ left = size - buf_len
++ # recv() will malloc the amount of memory given as its
++ # parameter even though it often returns much less data
++ # than that. The returned data string is short lived
++ # as we copy it into a StringIO and free it. This avoids
++ # fragmentation issues on many platforms.
++ data = self.recv(left)
++ if not data:
++ break
++ n = len(data)
++ if n == size and not buf_len:
++ # Shortcut. Avoid buffer data copies when:
++ # - We have no data in our buffer.
++ # AND
++ # - Our call to recv returned exactly the
++ # number of bytes we were asked to read.
++ return data
++ if n == left:
++ buf.write(data)
++ del data # explicit free
++ break
++ assert n <= left, "recv(%d) returned %d bytes" % (left, n)
++ buf.write(data)
++ buf_len += n
++ del data # explicit free
++ #assert buf_len == buf.tell()
++ return buf.getvalue()
++
++ def readline(self, size=-1):
++ buf = self._rbuf
++ buf.seek(0, 2) # seek end
++ if buf.tell() > 0:
++ # check if we already have it in our buffer
++ buf.seek(0)
++ bline = buf.readline(size)
++ if bline.endswith('\n') or len(bline) == size:
++ self._rbuf = StringIO.StringIO()
++ self._rbuf.write(buf.read())
++ return bline
++ del bline
++ if size < 0:
++ # Read until \n or EOF, whichever comes first
++ if self._rbufsize <= 1:
++ # Speed up unbuffered case
++ buf.seek(0)
++ buffers = [buf.read()]
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ data = None
++ recv = self.recv
++ while data != "\n":
++ data = recv(1)
++ if not data:
++ break
++ buffers.append(data)
++ return "".join(buffers)
++
++ buf.seek(0, 2) # seek end
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ while True:
++ data = self.recv(self._rbufsize)
++ if not data:
++ break
++ nl = data.find('\n')
++ if nl >= 0:
++ nl += 1
++ buf.write(data[:nl])
++ self._rbuf.write(data[nl:])
++ del data
++ break
++ buf.write(data)
++ return buf.getvalue()
++ else:
++ # Read until size bytes or \n or EOF seen, whichever comes first
++ buf.seek(0, 2) # seek end
++ buf_len = buf.tell()
++ if buf_len >= size:
++ buf.seek(0)
++ rv = buf.read(size)
++ self._rbuf = StringIO.StringIO()
++ self._rbuf.write(buf.read())
++ return rv
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ while True:
++ data = self.recv(self._rbufsize)
++ if not data:
++ break
++ left = size - buf_len
++ # did we just receive a newline?
++ nl = data.find('\n', 0, left)
++ if nl >= 0:
++ nl += 1
++ # save the excess data to _rbuf
++ self._rbuf.write(data[nl:])
++ if buf_len:
++ buf.write(data[:nl])
++ break
++ else:
++ # Shortcut. Avoid data copy through buf when returning
++ # a substring of our first recv().
++ return data[:nl]
++ n = len(data)
++ if n == size and not buf_len:
++ # Shortcut. Avoid data copy through buf when
++ # returning exactly all of our first recv().
++ return data
++ if n >= left:
++ buf.write(data[:left])
++ self._rbuf.write(data[left:])
++ break
++ buf.write(data)
++ buf_len += n
++ #assert buf_len == buf.tell()
++ return buf.getvalue()
++
++else:
++ class CP_fileobject(socket._fileobject):
++ """Faux file object attached to a socket object."""
++
++ def sendall(self, data):
++ """Sendall for non-blocking sockets."""
++ while data:
++ try:
++ bytes_sent = self.send(data)
++ data = data[bytes_sent:]
++ except socket.error, e:
++ if e.args[0] not in socket_errors_nonblocking:
++ raise
++
++ def send(self, data):
++ return self._sock.send(data)
++
++ def flush(self):
++ if self._wbuf:
++ buffer = "".join(self._wbuf)
++ self._wbuf = []
++ self.sendall(buffer)
++
++ def recv(self, size):
+ while True:
+- data = self.recv(recv_size)
+- if not data:
+- break
+- buffers.append(data)
+- return "".join(buffers)
+- else:
+- # Read until size bytes or EOF seen, whichever comes first
+- data = self._rbuf
+- buf_len = len(data)
+- if buf_len >= size:
+- self._rbuf = data[size:]
+- return data[:size]
+- buffers = []
+- if data:
+- buffers.append(data)
+- self._rbuf = ""
+- while True:
+- left = size - buf_len
+- recv_size = max(self._rbufsize, left)
+- data = self.recv(recv_size)
+- if not data:
+- break
+- buffers.append(data)
+- n = len(data)
+- if n >= left:
+- self._rbuf = data[left:]
+- buffers[-1] = data[:left]
+- break
+- buf_len += n
+- return "".join(buffers)
++ try:
++ return self._sock.recv(size)
++ except socket.error, e:
++ if e.args[0] not in socket_errors_nonblocking:
++ raise
+
+- def readline(self, size=-1):
+- data = self._rbuf
+- if size < 0:
+- # Read until \n or EOF, whichever comes first
+- if self._rbufsize <= 1:
+- # Speed up unbuffered case
+- assert data == ""
++ def read(self, size=-1):
++ if size < 0:
++ # Read until EOF
++ buffers = [self._rbuf]
++ self._rbuf = ""
++ if self._rbufsize <= 1:
++ recv_size = self.default_bufsize
++ else:
++ recv_size = self._rbufsize
++
++ while True:
++ data = self.recv(recv_size)
++ if not data:
++ break
++ buffers.append(data)
++ return "".join(buffers)
++ else:
++ # Read until size bytes or EOF seen, whichever comes first
++ data = self._rbuf
++ buf_len = len(data)
++ if buf_len >= size:
++ self._rbuf = data[size:]
++ return data[:size]
+ buffers = []
+- while data != "\n":
+- data = self.recv(1)
++ if data:
++ buffers.append(data)
++ self._rbuf = ""
++ while True:
++ left = size - buf_len
++ recv_size = max(self._rbufsize, left)
++ data = self.recv(recv_size)
+ if not data:
+ break
+ buffers.append(data)
++ n = len(data)
++ if n >= left:
++ self._rbuf = data[left:]
++ buffers[-1] = data[:left]
++ break
++ buf_len += n
+ return "".join(buffers)
+- nl = data.find('\n')
+- if nl >= 0:
+- nl += 1
+- self._rbuf = data[nl:]
+- return data[:nl]
+- buffers = []
+- if data:
+- buffers.append(data)
+- self._rbuf = ""
+- while True:
+- data = self.recv(self._rbufsize)
+- if not data:
+- break
+- buffers.append(data)
++
++ def readline(self, size=-1):
++ data = self._rbuf
++ if size < 0:
++ # Read until \n or EOF, whichever comes first
++ if self._rbufsize <= 1:
++ # Speed up unbuffered case
++ assert data == ""
++ buffers = []
++ while data != "\n":
++ data = self.recv(1)
++ if not data:
++ break
++ buffers.append(data)
++ return "".join(buffers)
+ nl = data.find('\n')
+ if nl >= 0:
+ nl += 1
+ self._rbuf = data[nl:]
+- buffers[-1] = data[:nl]
+- break
+- return "".join(buffers)
+- else:
+- # Read until size bytes or \n or EOF seen, whichever comes first
+- nl = data.find('\n', 0, size)
+- if nl >= 0:
+- nl += 1
+- self._rbuf = data[nl:]
+- return data[:nl]
+- buf_len = len(data)
+- if buf_len >= size:
+- self._rbuf = data[size:]
+- return data[:size]
+- buffers = []
+- if data:
+- buffers.append(data)
+- self._rbuf = ""
+- while True:
+- data = self.recv(self._rbufsize)
+- if not data:
+- break
+- buffers.append(data)
+- left = size - buf_len
+- nl = data.find('\n', 0, left)
++ return data[:nl]
++ buffers = []
++ if data:
++ buffers.append(data)
++ self._rbuf = ""
++ while True:
++ data = self.recv(self._rbufsize)
++ if not data:
++ break
++ buffers.append(data)
++ nl = data.find('\n')
++ if nl >= 0:
++ nl += 1
++ self._rbuf = data[nl:]
++ buffers[-1] = data[:nl]
++ break
++ return "".join(buffers)
++ else:
++ # Read until size bytes or \n or EOF seen, whichever comes first
++ nl = data.find('\n', 0, size)
+ if nl >= 0:
+ nl += 1
+ self._rbuf = data[nl:]
+- buffers[-1] = data[:nl]
+- break
+- n = len(data)
+- if n >= left:
+- self._rbuf = data[left:]
+- buffers[-1] = data[:left]
+- break
+- buf_len += n
+- return "".join(buffers)
++ return data[:nl]
++ buf_len = len(data)
++ if buf_len >= size:
++ self._rbuf = data[size:]
++ return data[:size]
++ buffers = []
++ if data:
++ buffers.append(data)
++ self._rbuf = ""
++ while True:
++ data = self.recv(self._rbufsize)
++ if not data:
++ break
++ buffers.append(data)
++ left = size - buf_len
++ nl = data.find('\n', 0, left)
++ if nl >= 0:
++ nl += 1
++ self._rbuf = data[nl:]
++ buffers[-1] = data[:nl]
++ break
++ n = len(data)
++ if n >= left:
++ self._rbuf = data[left:]
++ buffers[-1] = data[:left]
++ break
++ buf_len += n
++ return "".join(buffers)
+
+
+ class SSL_fileobject(CP_fileobject):
diff --git a/community/python-cherrypy/ChangeLog b/community/python-cherrypy/ChangeLog
new file mode 100644
index 000000000..90276417c
--- /dev/null
+++ b/community/python-cherrypy/ChangeLog
@@ -0,0 +1,26 @@
+
+2009-04-15 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 3.1.2
+
+2008-12-14 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 3.1.1
+
+2008-11-04 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for python 2.6
+ * Thanks to David Moore
+
+2008-07-09 Mateusz Herych <heniekk@gmail.com>
+
+ * Updating for x86_64: 3.1.0
+
+2008-07-09 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updating for i686: 3.1.0
+
+2008-02-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updating in i686: 3.0.3
+
diff --git a/community/python-cherrypy/PKGBUILD b/community/python-cherrypy/PKGBUILD
new file mode 100644
index 000000000..b352f6296
--- /dev/null
+++ b/community/python-cherrypy/PKGBUILD
@@ -0,0 +1,23 @@
+$Id: PKGBUILD 40928 2011-03-01 19:03:36Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: Armando M. Baratti <amblistas@ajato.com.br>
+# Contributor: Florian Richter <Florian_Richter@gmx.de>
+pkgname=cherrypy
+pkgver=3.2.0
+pkgrel=1
+pkgdesc="A pythonic, object-oriented web development framework"
+arch=('i686' 'x86_64')
+url="http://www.cherrypy.org"
+license=('BSD')
+depends=('python2')
+source=(http://download.cherrypy.org/cherrypy/$pkgver/CherryPy-$pkgver.tar.gz
+ license)
+md5sums=('e5c1322bf5ce962c16283ab7a6dcca3f'
+ '22365dc6b0e6835b53da009aa36af017')
+
+build() {
+ cd $srcdir/CherryPy-$pkgver
+ python2 ./setup.py install --root=$pkgdir
+ install -D -m644 $srcdir/license $pkgdir/usr/share/licenses/$pkgname/license
+}
diff --git a/community/python-cherrypy/license b/community/python-cherrypy/license
new file mode 100644
index 000000000..32e9cf6bd
--- /dev/null
+++ b/community/python-cherrypy/license
@@ -0,0 +1,25 @@
+Copyright (c) 2004, CherryPy Team (team@cherrypy.org)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of the CherryPy Team nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/community/python2-cherrypy/837.2049.patch b/community/python2-cherrypy/837.2049.patch
new file mode 100644
index 000000000..20cc0dd36
--- /dev/null
+++ b/community/python2-cherrypy/837.2049.patch
@@ -0,0 +1,554 @@
+Index: cherrypy/test/test_tools.py
+===================================================================
+--- cherrypy/test/test_tools.py (revision 2049)
++++ cherrypy/test/test_tools.py (working copy)
+@@ -3,6 +3,7 @@
+ import gzip
+ import StringIO
+ import sys
++from httplib import IncompleteRead
+ import time
+ timeout = 0.2
+
+@@ -272,8 +273,12 @@
+ # Because this error is raised after the response body has
+ # started, and because it's chunked output, an error is raised by
+ # the HTTP client when it encounters incomplete output.
+- self.assertRaises(ValueError, self.getPage,
+- "/demo/errinstream?id=5")
++ if sys.version_info[:2] >= (2, 6):
++ self.assertRaises(IncompleteRead, self.getPage,
++ "/demo/errinstream?id=5")
++ else:
++ self.assertRaises(ValueError, self.getPage,
++ "/demo/errinstream?id=5")
+ # If this fails, then on_end_request isn't being called at all.
+ time.sleep(0.1)
+ self.getPage("/demo/ended/5")
+Index: cherrypy/test/webtest.py
+===================================================================
+--- cherrypy/test/webtest.py (revision 2049)
++++ cherrypy/test/webtest.py (working copy)
+@@ -491,7 +491,7 @@
+ # IN6ADDR_ANY, which should respond on localhost.
+ host = "::1"
+ conn = http_conn(host, port)
+-
++
+ conn._http_vsn_str = protocol
+ conn._http_vsn = int("".join([x for x in protocol if x.isdigit()]))
+
+Index: cherrypy/test/test_encoding.py
+===================================================================
+--- cherrypy/test/test_encoding.py (revision 2049)
++++ cherrypy/test/test_encoding.py (working copy)
+@@ -1,7 +1,9 @@
+ from cherrypy.test import test
+ test.prefer_parent_path()
+
++import sys
+ import gzip, StringIO
++from httplib import IncompleteRead
+ import cherrypy
+ europoundUnicode = u'\x80\xa3'
+ europoundUtf8 = u'\x80\xa3'.encode('utf-8')
+@@ -160,10 +162,13 @@
+ else:
+ # The wsgiserver will simply stop sending data, and the HTTP client
+ # will error due to an incomplete chunk-encoded stream.
+- self.assertRaises(ValueError, self.getPage, '/gzip/noshow_stream',
+- headers=[("Accept-Encoding", "gzip")])
++ if sys.version_info[:2] >= (2, 6):
++ self.assertRaises(IncompleteRead, self.getPage, '/gzip/noshow_stream',
++ headers=[("Accept-Encoding", "gzip")])
++ else:
++ self.assertRaises(ValueError, self.getPage, '/gzip/noshow_stream',
++ headers=[("Accept-Encoding", "gzip")])
+
+-
+ if __name__ == "__main__":
+ setup_server()
+ helper.testmain()
+Index: cherrypy/test/test_core.py
+===================================================================
+--- cherrypy/test/test_core.py (revision 2049)
++++ cherrypy/test/test_core.py (working copy)
+@@ -7,6 +7,7 @@
+ localDir = os.path.dirname(__file__)
+ import sys
+ import types
++from httplib import IncompleteRead
+
+ import cherrypy
+ from cherrypy import _cptools, tools
+@@ -760,8 +761,12 @@
+ else:
+ # Under HTTP/1.1, the chunked transfer-coding is used.
+ # The HTTP client will choke when the output is incomplete.
+- self.assertRaises(ValueError, self.getPage,
+- "/error/page_streamed")
++ if sys.version_info[:2] >= (2, 6):
++ self.assertRaises(IncompleteRead, self.getPage,
++ "/error/page_streamed")
++ else:
++ self.assertRaises(ValueError, self.getPage,
++ "/error/page_streamed")
+
+ # No traceback should be present
+ self.getPage("/error/cause_err_in_finalize")
+Index: cherrypy/wsgiserver/__init__.py
+===================================================================
+--- cherrypy/wsgiserver/__init__.py (revision 2049)
++++ cherrypy/wsgiserver/__init__.py (working copy)
+@@ -713,148 +713,325 @@
+ """Exception raised when the SSL implementation signals a fatal alert."""
+ pass
+
++if sys.version_info[:2] >= (2, 6) or sys.version_info[:3] >= (2, 5, 2):
++ class CP_fileobject(socket._fileobject):
++ """Faux file object attached to a socket object."""
+
+-class CP_fileobject(socket._fileobject):
+- """Faux file object attached to a socket object."""
+-
+- def sendall(self, data):
+- """Sendall for non-blocking sockets."""
+- while data:
+- try:
+- bytes_sent = self.send(data)
+- data = data[bytes_sent:]
+- except socket.error, e:
+- if e.args[0] not in socket_errors_nonblocking:
+- raise
+-
+- def send(self, data):
+- return self._sock.send(data)
+-
+- def flush(self):
+- if self._wbuf:
+- buffer = "".join(self._wbuf)
+- self._wbuf = []
+- self.sendall(buffer)
+-
+- def recv(self, size):
+- while True:
+- try:
+- return self._sock.recv(size)
+- except socket.error, e:
+- if e.args[0] not in socket_errors_nonblocking:
+- raise
+-
+- def read(self, size=-1):
+- if size < 0:
+- # Read until EOF
+- buffers = [self._rbuf]
+- self._rbuf = ""
+- if self._rbufsize <= 1:
+- recv_size = self.default_bufsize
++ def sendall(self, data):
++ """Sendall for non-blocking sockets."""
++ while data:
++ try:
++ bytes_sent = self.send(data)
++ data = data[bytes_sent:]
++ except socket.error, e:
++ if e.args[0] not in socket_errors_nonblocking:
++ raise
++
++ def send(self, data):
++ return self._sock.send(data)
++
++ def flush(self):
++ if self._wbuf:
++ buffer = "".join(self._wbuf)
++ self._wbuf = []
++ self.sendall(buffer)
++
++ def recv(self, size):
++ while True:
++ try:
++ return self._sock.recv(size)
++ except socket.error, e:
++ if e.args[0] not in socket_errors_nonblocking:
++ raise
++
++ def read(self, size=-1):
++ # Use max, disallow tiny reads in a loop as they are very inefficient.
++ # We never leave read() with any leftover data from a new recv() call
++ # in our internal buffer.
++ rbufsize = max(self._rbufsize, self.default_bufsize)
++ # Our use of StringIO rather than lists of string objects returned by
++ # recv() minimizes memory usage and fragmentation that occurs when
++ # rbufsize is large compared to the typical return value of recv().
++ buf = self._rbuf
++ buf.seek(0, 2) # seek end
++ if size < 0:
++ # Read until EOF
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ while True:
++ data = self.recv(rbufsize)
++ if not data:
++ break
++ buf.write(data)
++ return buf.getvalue()
+ else:
+- recv_size = self._rbufsize
+-
++ # Read until size bytes or EOF seen, whichever comes first
++ buf_len = buf.tell()
++ if buf_len >= size:
++ # Already have size bytes in our buffer? Extract and return.
++ buf.seek(0)
++ rv = buf.read(size)
++ self._rbuf = StringIO.StringIO()
++ self._rbuf.write(buf.read())
++ return rv
++
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ while True:
++ left = size - buf_len
++ # recv() will malloc the amount of memory given as its
++ # parameter even though it often returns much less data
++ # than that. The returned data string is short lived
++ # as we copy it into a StringIO and free it. This avoids
++ # fragmentation issues on many platforms.
++ data = self.recv(left)
++ if not data:
++ break
++ n = len(data)
++ if n == size and not buf_len:
++ # Shortcut. Avoid buffer data copies when:
++ # - We have no data in our buffer.
++ # AND
++ # - Our call to recv returned exactly the
++ # number of bytes we were asked to read.
++ return data
++ if n == left:
++ buf.write(data)
++ del data # explicit free
++ break
++ assert n <= left, "recv(%d) returned %d bytes" % (left, n)
++ buf.write(data)
++ buf_len += n
++ del data # explicit free
++ #assert buf_len == buf.tell()
++ return buf.getvalue()
++
++ def readline(self, size=-1):
++ buf = self._rbuf
++ buf.seek(0, 2) # seek end
++ if buf.tell() > 0:
++ # check if we already have it in our buffer
++ buf.seek(0)
++ bline = buf.readline(size)
++ if bline.endswith('\n') or len(bline) == size:
++ self._rbuf = StringIO.StringIO()
++ self._rbuf.write(buf.read())
++ return bline
++ del bline
++ if size < 0:
++ # Read until \n or EOF, whichever comes first
++ if self._rbufsize <= 1:
++ # Speed up unbuffered case
++ buf.seek(0)
++ buffers = [buf.read()]
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ data = None
++ recv = self.recv
++ while data != "\n":
++ data = recv(1)
++ if not data:
++ break
++ buffers.append(data)
++ return "".join(buffers)
++
++ buf.seek(0, 2) # seek end
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ while True:
++ data = self.recv(self._rbufsize)
++ if not data:
++ break
++ nl = data.find('\n')
++ if nl >= 0:
++ nl += 1
++ buf.write(data[:nl])
++ self._rbuf.write(data[nl:])
++ del data
++ break
++ buf.write(data)
++ return buf.getvalue()
++ else:
++ # Read until size bytes or \n or EOF seen, whichever comes first
++ buf.seek(0, 2) # seek end
++ buf_len = buf.tell()
++ if buf_len >= size:
++ buf.seek(0)
++ rv = buf.read(size)
++ self._rbuf = StringIO.StringIO()
++ self._rbuf.write(buf.read())
++ return rv
++ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf.
++ while True:
++ data = self.recv(self._rbufsize)
++ if not data:
++ break
++ left = size - buf_len
++ # did we just receive a newline?
++ nl = data.find('\n', 0, left)
++ if nl >= 0:
++ nl += 1
++ # save the excess data to _rbuf
++ self._rbuf.write(data[nl:])
++ if buf_len:
++ buf.write(data[:nl])
++ break
++ else:
++ # Shortcut. Avoid data copy through buf when returning
++ # a substring of our first recv().
++ return data[:nl]
++ n = len(data)
++ if n == size and not buf_len:
++ # Shortcut. Avoid data copy through buf when
++ # returning exactly all of our first recv().
++ return data
++ if n >= left:
++ buf.write(data[:left])
++ self._rbuf.write(data[left:])
++ break
++ buf.write(data)
++ buf_len += n
++ #assert buf_len == buf.tell()
++ return buf.getvalue()
++
++else:
++ class CP_fileobject(socket._fileobject):
++ """Faux file object attached to a socket object."""
++
++ def sendall(self, data):
++ """Sendall for non-blocking sockets."""
++ while data:
++ try:
++ bytes_sent = self.send(data)
++ data = data[bytes_sent:]
++ except socket.error, e:
++ if e.args[0] not in socket_errors_nonblocking:
++ raise
++
++ def send(self, data):
++ return self._sock.send(data)
++
++ def flush(self):
++ if self._wbuf:
++ buffer = "".join(self._wbuf)
++ self._wbuf = []
++ self.sendall(buffer)
++
++ def recv(self, size):
+ while True:
+- data = self.recv(recv_size)
+- if not data:
+- break
+- buffers.append(data)
+- return "".join(buffers)
+- else:
+- # Read until size bytes or EOF seen, whichever comes first
+- data = self._rbuf
+- buf_len = len(data)
+- if buf_len >= size:
+- self._rbuf = data[size:]
+- return data[:size]
+- buffers = []
+- if data:
+- buffers.append(data)
+- self._rbuf = ""
+- while True:
+- left = size - buf_len
+- recv_size = max(self._rbufsize, left)
+- data = self.recv(recv_size)
+- if not data:
+- break
+- buffers.append(data)
+- n = len(data)
+- if n >= left:
+- self._rbuf = data[left:]
+- buffers[-1] = data[:left]
+- break
+- buf_len += n
+- return "".join(buffers)
++ try:
++ return self._sock.recv(size)
++ except socket.error, e:
++ if e.args[0] not in socket_errors_nonblocking:
++ raise
+
+- def readline(self, size=-1):
+- data = self._rbuf
+- if size < 0:
+- # Read until \n or EOF, whichever comes first
+- if self._rbufsize <= 1:
+- # Speed up unbuffered case
+- assert data == ""
++ def read(self, size=-1):
++ if size < 0:
++ # Read until EOF
++ buffers = [self._rbuf]
++ self._rbuf = ""
++ if self._rbufsize <= 1:
++ recv_size = self.default_bufsize
++ else:
++ recv_size = self._rbufsize
++
++ while True:
++ data = self.recv(recv_size)
++ if not data:
++ break
++ buffers.append(data)
++ return "".join(buffers)
++ else:
++ # Read until size bytes or EOF seen, whichever comes first
++ data = self._rbuf
++ buf_len = len(data)
++ if buf_len >= size:
++ self._rbuf = data[size:]
++ return data[:size]
+ buffers = []
+- while data != "\n":
+- data = self.recv(1)
++ if data:
++ buffers.append(data)
++ self._rbuf = ""
++ while True:
++ left = size - buf_len
++ recv_size = max(self._rbufsize, left)
++ data = self.recv(recv_size)
+ if not data:
+ break
+ buffers.append(data)
++ n = len(data)
++ if n >= left:
++ self._rbuf = data[left:]
++ buffers[-1] = data[:left]
++ break
++ buf_len += n
+ return "".join(buffers)
+- nl = data.find('\n')
+- if nl >= 0:
+- nl += 1
+- self._rbuf = data[nl:]
+- return data[:nl]
+- buffers = []
+- if data:
+- buffers.append(data)
+- self._rbuf = ""
+- while True:
+- data = self.recv(self._rbufsize)
+- if not data:
+- break
+- buffers.append(data)
++
++ def readline(self, size=-1):
++ data = self._rbuf
++ if size < 0:
++ # Read until \n or EOF, whichever comes first
++ if self._rbufsize <= 1:
++ # Speed up unbuffered case
++ assert data == ""
++ buffers = []
++ while data != "\n":
++ data = self.recv(1)
++ if not data:
++ break
++ buffers.append(data)
++ return "".join(buffers)
+ nl = data.find('\n')
+ if nl >= 0:
+ nl += 1
+ self._rbuf = data[nl:]
+- buffers[-1] = data[:nl]
+- break
+- return "".join(buffers)
+- else:
+- # Read until size bytes or \n or EOF seen, whichever comes first
+- nl = data.find('\n', 0, size)
+- if nl >= 0:
+- nl += 1
+- self._rbuf = data[nl:]
+- return data[:nl]
+- buf_len = len(data)
+- if buf_len >= size:
+- self._rbuf = data[size:]
+- return data[:size]
+- buffers = []
+- if data:
+- buffers.append(data)
+- self._rbuf = ""
+- while True:
+- data = self.recv(self._rbufsize)
+- if not data:
+- break
+- buffers.append(data)
+- left = size - buf_len
+- nl = data.find('\n', 0, left)
++ return data[:nl]
++ buffers = []
++ if data:
++ buffers.append(data)
++ self._rbuf = ""
++ while True:
++ data = self.recv(self._rbufsize)
++ if not data:
++ break
++ buffers.append(data)
++ nl = data.find('\n')
++ if nl >= 0:
++ nl += 1
++ self._rbuf = data[nl:]
++ buffers[-1] = data[:nl]
++ break
++ return "".join(buffers)
++ else:
++ # Read until size bytes or \n or EOF seen, whichever comes first
++ nl = data.find('\n', 0, size)
+ if nl >= 0:
+ nl += 1
+ self._rbuf = data[nl:]
+- buffers[-1] = data[:nl]
+- break
+- n = len(data)
+- if n >= left:
+- self._rbuf = data[left:]
+- buffers[-1] = data[:left]
+- break
+- buf_len += n
+- return "".join(buffers)
++ return data[:nl]
++ buf_len = len(data)
++ if buf_len >= size:
++ self._rbuf = data[size:]
++ return data[:size]
++ buffers = []
++ if data:
++ buffers.append(data)
++ self._rbuf = ""
++ while True:
++ data = self.recv(self._rbufsize)
++ if not data:
++ break
++ buffers.append(data)
++ left = size - buf_len
++ nl = data.find('\n', 0, left)
++ if nl >= 0:
++ nl += 1
++ self._rbuf = data[nl:]
++ buffers[-1] = data[:nl]
++ break
++ n = len(data)
++ if n >= left:
++ self._rbuf = data[left:]
++ buffers[-1] = data[:left]
++ break
++ buf_len += n
++ return "".join(buffers)
+
+
+ class SSL_fileobject(CP_fileobject):
diff --git a/community/python2-cherrypy/ChangeLog b/community/python2-cherrypy/ChangeLog
new file mode 100644
index 000000000..90276417c
--- /dev/null
+++ b/community/python2-cherrypy/ChangeLog
@@ -0,0 +1,26 @@
+
+2009-04-15 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 3.1.2
+
+2008-12-14 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 3.1.1
+
+2008-11-04 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for python 2.6
+ * Thanks to David Moore
+
+2008-07-09 Mateusz Herych <heniekk@gmail.com>
+
+ * Updating for x86_64: 3.1.0
+
+2008-07-09 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updating for i686: 3.1.0
+
+2008-02-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updating in i686: 3.0.3
+
diff --git a/community/python2-cherrypy/PKGBUILD b/community/python2-cherrypy/PKGBUILD
new file mode 100644
index 000000000..b352f6296
--- /dev/null
+++ b/community/python2-cherrypy/PKGBUILD
@@ -0,0 +1,23 @@
+$Id: PKGBUILD 40928 2011-03-01 19:03:36Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: Armando M. Baratti <amblistas@ajato.com.br>
+# Contributor: Florian Richter <Florian_Richter@gmx.de>
+pkgname=cherrypy
+pkgver=3.2.0
+pkgrel=1
+pkgdesc="A pythonic, object-oriented web development framework"
+arch=('i686' 'x86_64')
+url="http://www.cherrypy.org"
+license=('BSD')
+depends=('python2')
+source=(http://download.cherrypy.org/cherrypy/$pkgver/CherryPy-$pkgver.tar.gz
+ license)
+md5sums=('e5c1322bf5ce962c16283ab7a6dcca3f'
+ '22365dc6b0e6835b53da009aa36af017')
+
+build() {
+ cd $srcdir/CherryPy-$pkgver
+ python2 ./setup.py install --root=$pkgdir
+ install -D -m644 $srcdir/license $pkgdir/usr/share/licenses/$pkgname/license
+}
diff --git a/community/python2-cherrypy/license b/community/python2-cherrypy/license
new file mode 100644
index 000000000..32e9cf6bd
--- /dev/null
+++ b/community/python2-cherrypy/license
@@ -0,0 +1,25 @@
+Copyright (c) 2004, CherryPy Team (team@cherrypy.org)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of the CherryPy Team nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/community/shotwell/PKGBUILD b/community/shotwell/PKGBUILD
index 2f76d6944..4c795a861 100644
--- a/community/shotwell/PKGBUILD
+++ b/community/shotwell/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 44302 2011-04-05 08:56:05Z spupykin $
+# $Id: PKGBUILD 45502 2011-04-22 15:22:48Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com>
pkgname=shotwell
-pkgver=0.9.1
+pkgver=0.9.3
pkgrel=1
pkgdesc="A digital photo organizer designed for the GNOME desktop environment"
arch=('i686' 'x86_64')
@@ -15,7 +15,7 @@ depends=('gconf' 'libgee' 'libgphoto2' 'libunique' 'libwebkit' 'libgexiv2'
makedepends=('intltool' 'vala')
install=shotwell.install
source=(http://yorba.org/download/shotwell/0.9/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('1a98d1da59424a67b310cc39e8ad3368')
+md5sums=('b1a3281be7d4ff8eac98289bcd129387')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/community/shotwell/shotwell.install b/community/shotwell/shotwell.install
index ceac19051..83c95a70f 100644
--- a/community/shotwell/shotwell.install
+++ b/community/shotwell/shotwell.install
@@ -7,7 +7,7 @@ post_install() {
}
pre_upgrade() {
- pre_remove $1
+ usr/sbin/gconfpkg --uninstall ${pkgname}
}
post_upgrade() {
@@ -16,9 +16,9 @@ post_upgrade() {
pre_remove() {
usr/sbin/gconfpkg --uninstall ${pkgname}
- update-desktop-database -q
}
post_remove() {
+ update-desktop-database -q
gtk-update-icon-cache -fq -t usr/share/icons/hicolor
}
diff --git a/community/surf/PKGBUILD b/community/surf/PKGBUILD
index 2948cf361..c456f5c45 100644
--- a/community/surf/PKGBUILD
+++ b/community/surf/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 31142 2010-10-27 11:32:19Z lfleischer $
+# $Id: PKGBUILD 44535 2011-04-08 08:10:39Z lfleischer $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: Pierre Chapuis <catwell at archlinux dot us>
# Contributor: Ray Kohler <ataraxia937 at gmail dot com>
@@ -6,7 +6,7 @@
pkgname=surf
pkgver=0.4.1
-pkgrel=1
+pkgrel=2
pkgdesc="A simple web browser based on WebKit/GTK+."
arch=('i686' 'x86_64')
url='http://surf.suckless.org/'
diff --git a/community/system-tools-backends/PKGBUILD b/community/system-tools-backends/PKGBUILD
index dc9b3e7f8..357916ff3 100644
--- a/community/system-tools-backends/PKGBUILD
+++ b/community/system-tools-backends/PKGBUILD
@@ -2,17 +2,17 @@
# Contributor: Hugo Doria <hugo@archlinux.org>
pkgname=system-tools-backends
-pkgver=2.10.1
+pkgver=2.10.2
pkgrel=1
pkgdesc='Backends for Gnome System Tools.'
arch=('i686' 'x86_64')
url='http://system-tools-backends.freedesktop.org/'
license=('GPL')
-depends=('perl>=5.12.1' 'perl-net-dbus' 'dbus>=1.4.0' 'polkit>=0.98' 'dbus-glib')
+depends=('perl' 'perl-net-dbus' 'dbus' 'polkit' 'dbus-glib')
makedepends=('perlxml' 'pkgconfig' 'intltool')
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.10/${pkgname}-${pkgver}.tar.bz2)
install=system-tools-backends.install
-sha256sums=('0c1cfdf5f0550c0ccacbbc4f00ed059ab9ea483d48138132db44b3a20575d7b4')
+sha256sums=('1dbe5177df46a9c7250735e05e77129fe7ec04840771accfa87690111ca2c670')
build() {
cd ${pkgname}-${pkgver}
diff --git a/community/uzbl/PKGBUILD b/community/uzbl/PKGBUILD
index 7b0ae79cd..82bbe2770 100644
--- a/community/uzbl/PKGBUILD
+++ b/community/uzbl/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 43484 2011-03-26 16:57:27Z lcarlier $
+# $Id: PKGBUILD 45245 2011-04-18 20:59:54Z lcarlier $
# Maintainer : Laurent Carlier <lordheavym@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Dieter Plaetinck <dieter@plaetinck.be>
pkgbase=uzbl
pkgname=('uzbl-core' 'uzbl-browser' 'uzbl-tabbed')
-pkgver=2011.03.17
-pkgrel=1
+pkgver=2011.04.12
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.uzbl.org"
license=('GPL3')
-makedepends=('git' 'pkgconfig' 'libwebkit>=1.2.0')
+makedepends=('git' 'pkgconfig' 'libwebkit>=1.3.13')
source=(uzbl-$pkgver.tar.gz::http://github.com/Dieterbe/uzbl/tarball/$pkgver)
-md5sums=('fffd69136e0c4a9dce8875e776f7e97e')
+md5sums=('27e82c838b8136dafb0683fa52ffc701')
build() {
cd "$srcdir"/Dieterbe-uzbl-*
@@ -30,7 +30,7 @@ build() {
package_uzbl-core() {
pkgdesc="Webpage interface component meant for integration with other tools and scripts"
- depends=('libwebkit')
+ depends=('libwebkit>=1.3.13')
optdepends=('socat: to interface with the socket' 'dmenu: to run some of the example scripts'
'zenity: to run some of the example scripts'
'python2: to run some of the example scripts'
diff --git a/community/warsow/PKGBUILD b/community/warsow/PKGBUILD
index e4c11f1e0..9df6caae8 100644
--- a/community/warsow/PKGBUILD
+++ b/community/warsow/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 42571 2011-03-17 17:04:27Z svenstaro $
+# $Id: PKGBUILD 45971 2011-04-30 23:33:26Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Slash <demodevil5[at]yahoo[dot]com>
# Contributor: Babets
# Contributor: Vain
pkgname=warsow
-pkgver=0.61
+pkgver=0.62
pkgrel=1
pkgdesc="a free online multiplayer competitive FPS based on the Qfusion engine"
url="http://www.warsow.net/"
@@ -21,11 +21,11 @@ md5sums=('f9bf60c80820237f7097c4e50a9582cd'
'ec00081d81ad9802a8ca42fc2eac5498'
'f73e10c26197178df71b941b10bf83d7'
'd7e4a69835bbcf801e58307e9d6b951e'
- '04bd29a63c3a43a7e3ea3a865b75e580')
+ '649568447e938efded07e77cdfb3accb')
build() {
- unset CFLAGS
- unset CXXFLAGS
+ #unset CFLAGS
+ #unset CXXFLAGS
# Extract Game Source Code
unzip -o warsow_${pkgver}_sdk.zip -d $srcdir/warsow-src
@@ -33,6 +33,9 @@ build() {
# Patch Makefile to use correct program to query for system information
sed -i 's:openal-config:pkg-config:g' $srcdir/warsow-src/source/Makefile
+ # Patch Makefile to correctly pass on ld opts
+ sed -i 's:--as-needed:-Wc,--as-needed:g' $srcdir/warsow-src/source/Makefile
+
# Patch Sound Code to point to base openal library
sed -i 's:libopenal.so.0:libopenal.so:g' $srcdir/warsow-src/source/snd_openal/snd_main.c
diff --git a/community/workrave/PKGBUILD b/community/workrave/PKGBUILD
index 92b4aa2bf..85469032c 100644
--- a/community/workrave/PKGBUILD
+++ b/community/workrave/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 40294 2011-02-22 18:20:07Z spupykin $
+# $Id: PKGBUILD 44736 2011-04-11 12:32:49Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: William Rea <sillywilly@gmail.com>
pkgname=workrave
-pkgver=1.9.3
+pkgver=1.9.4
pkgrel=1
pkgdesc="a tool to help RSI"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ depends=('libgnomeuimm' 'gnet' 'gnome-panel' 'dbus' 'libxmu' 'gdome2' 'python-ch
'libxtst' 'python-cheetah')
makedepends=('intltool')
source=(http://downloads.sourceforge.net/workrave/workrave-$pkgver.tar.gz)
-md5sums=('d1992f54750f3241797aa809de5a0753')
+md5sums=('d5eaf399b38b063053cff1a8527cba8e')
build() {
cd $srcdir/workrave-$pkgver