summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-04-07 04:58:41 +0000
committerroot <root@rshg047.dnsready.net>2011-04-07 04:58:41 +0000
commitdb464f25fec54ddfa7825a17b20fda025c296f8c (patch)
tree4bb5b8ac4dfd67096125b92d047323e6acbb86cd
parentbd65dc7107bfdd881c3b5451d0300824cf435428 (diff)
Thu Apr 7 04:58:41 UTC 2011
-rw-r--r--community-testing/systemd/PKGBUILD6
-rw-r--r--community/arpwatch/PKGBUILD20
-rw-r--r--community/bti/PKGBUILD4
-rw-r--r--community/busybox/PKGBUILD11
-rw-r--r--community/prosody/PKGBUILD6
-rw-r--r--community/prosody/prosody.install1
-rw-r--r--community/prosody/prosody.rcd2
-rw-r--r--community/redis/PKGBUILD6
-rw-r--r--community/tora/PKGBUILD9
-rw-r--r--community/znc/PKGBUILD13
-rw-r--r--core/usbutils/PKGBUILD8
-rw-r--r--extra/akonadi/PKGBUILD18
-rw-r--r--extra/dhcp/PKGBUILD10
-rw-r--r--extra/git/PKGBUILD12
-rw-r--r--extra/kdeaccessibility/PKGBUILD6
-rw-r--r--extra/kdeadmin/PKGBUILD6
-rw-r--r--extra/kdeartwork/PKGBUILD6
-rw-r--r--extra/kdebase-runtime/PKGBUILD6
-rw-r--r--extra/kdebase-workspace/PKGBUILD6
-rw-r--r--extra/kdebase/PKGBUILD6
-rw-r--r--extra/kdebindings/PKGBUILD5
-rw-r--r--extra/kdeedu/PKGBUILD8
-rw-r--r--extra/kdegames/PKGBUILD6
-rw-r--r--extra/kdegraphics/PKGBUILD18
-rw-r--r--extra/kdelibs/PKGBUILD20
-rw-r--r--extra/kdemultimedia/PKGBUILD17
-rw-r--r--extra/kdemultimedia/kmix-locale-pulseaudio.patch1117
-rw-r--r--extra/kdenetwork/PKGBUILD8
-rw-r--r--extra/kdepim/PKGBUILD16
-rw-r--r--extra/kdepim/asynchronous-start.patch87
-rw-r--r--extra/kdepimlibs/PKGBUILD6
-rw-r--r--extra/kdeplasma-addons/PKGBUILD6
-rw-r--r--extra/kdeplasma-applets-networkmanagement/PKGBUILD6
-rw-r--r--extra/kdesdk/PKGBUILD10
-rw-r--r--extra/kdetoys/PKGBUILD6
-rw-r--r--extra/kdeutils/PKGBUILD6
-rw-r--r--extra/kdevelop-pg-qt/PKGBUILD6
-rw-r--r--extra/kdevelop-php/PKGBUILD12
-rw-r--r--extra/kdevelop/PKGBUILD6
-rw-r--r--extra/kdevplatform/PKGBUILD8
-rw-r--r--extra/kdewebdev/PKGBUILD6
-rw-r--r--extra/ntrack/PKGBUILD11
-rw-r--r--extra/openconnect/PKGBUILD9
-rw-r--r--extra/strigi/PKGBUILD15
-rw-r--r--extra/terminal/PKGBUILD6
-rw-r--r--gnome-unstable/gdm/PKGBUILD6
-rw-r--r--gnome-unstable/glade/PKGBUILD10
-rw-r--r--gnome-unstable/glib-networking/PKGBUILD8
-rw-r--r--gnome-unstable/gnome-control-center/PKGBUILD6
-rw-r--r--gnome-unstable/gnome-panel/PKGBUILD13
-rw-r--r--gnome-unstable/gnome-settings-daemon/PKGBUILD8
-rw-r--r--gnome-unstable/gnome-shell/PKGBUILD15
-rw-r--r--gnome-unstable/gnome-shell/arch.patch12
-rw-r--r--gnome-unstable/gtkmm3/PKGBUILD8
-rw-r--r--gnome-unstable/libgnomekbd/PKGBUILD8
-rw-r--r--gnome-unstable/sound-juicer/PKGBUILD37
-rw-r--r--gnome-unstable/sound-juicer/sound-juicer.install24
-rw-r--r--gnome-unstable/zenity/PKGBUILD5
-rw-r--r--testing/rsync/ChangeLog35
-rw-r--r--testing/rsync/PKGBUILD41
-rw-r--r--testing/rsync/rsync.xinetd11
-rw-r--r--testing/rsync/rsyncd37
-rw-r--r--testing/rsync/rsyncd.conf16
-rw-r--r--testing/vi/PKGBUILD47
-rw-r--r--testing/vi/exrc.sample5
-rw-r--r--testing/vi/increase-tube.patch13
-rw-r--r--testing/vi/navkeys.patch55
-rw-r--r--testing/vi/preserve_dir.patch81
68 files changed, 1857 insertions, 227 deletions
diff --git a/community-testing/systemd/PKGBUILD b/community-testing/systemd/PKGBUILD
index 6a735db90..ff51c553d 100644
--- a/community-testing/systemd/PKGBUILD
+++ b/community-testing/systemd/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 44275 2011-04-05 00:12:36Z dreisner $
+# $Id: PKGBUILD 44387 2011-04-06 23:47:15Z dreisner $
# Maintainer: Dave Reisner <d@falconindy.com>
pkgname=systemd
-pkgver=23
+pkgver=24
pkgrel=1
pkgdesc="Session and Startup manager"
arch=('i686' 'x86_64')
@@ -25,7 +25,7 @@ backup=(etc/systemd/system.conf
install=systemd.install
source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.bz2"
"os-release")
-md5sums=('24b46ce024316189653ebb39fa745ab2'
+md5sums=('4a6b7d99f35bdae21d7f9b698792b8d3'
'f9922299150b4adda7b89e10bca33033')
build() {
diff --git a/community/arpwatch/PKGBUILD b/community/arpwatch/PKGBUILD
index eb3859dba..fd01fb64e 100644
--- a/community/arpwatch/PKGBUILD
+++ b/community/arpwatch/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 7443 2010-01-06 23:33:42Z dgriffiths $
+# $Id: PKGBUILD 44377 2011-04-06 19:43:49Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=arpwatch
pkgver=2.1a15
-pkgrel=6
+pkgrel=7
pkgdesc="arpwatch and arpsnmp network monitoring tools"
arch=(i686 x86_64)
url="ftp://ftp.ee.lbl.gov/"
@@ -14,16 +14,16 @@ source=(ftp://ftp.ee.lbl.gov/$pkgname-$pkgver.tar.gz)
md5sums=('cebfeb99c4a7c2a6cee2564770415fe7')
build() {
- cd $startdir/src/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$pkgver
sed -i 's|ARPDIR = $(prefix)/arpwatch|ARPDIR = /var/lib/arpwatch|' Makefile.in
./configure --prefix=/usr
- make || return 1
- install -d -m 0755 $startdir/pkg/usr/sbin && \
- make DESTDIR=$startdir/pkg install && \
- install -D -m 0644 arpwatch.8 $startdir/pkg/usr/share/man/man8/arpwatch.8 && \
- install -D -m 0644 arpsnmp.8 $startdir/pkg/usr/share/man/man8/arpsnmp.8 && \
- install -d -m 0755 $startdir/pkg/var/lib/arpwatch && \
- touch $startdir/pkg/var/lib/arpwatch/arp.dat
+ make SENDMAIL=/usr/sbin/sendmail
+ install -d -m 0755 $pkgdir/usr/sbin
+ make DESTDIR=$pkgdir install
+ install -D -m 0644 arpwatch.8 $pkgdir/usr/share/man/man8/arpwatch.8
+ install -D -m 0644 arpsnmp.8 $pkgdir/usr/share/man/man8/arpsnmp.8
+ install -d -m 0755 $pkgdir/var/lib/arpwatch
+ touch $pkgdir/var/lib/arpwatch/arp.dat
}
diff --git a/community/bti/PKGBUILD b/community/bti/PKGBUILD
index 3fb638f1b..ae63a4c2b 100644
--- a/community/bti/PKGBUILD
+++ b/community/bti/PKGBUILD
@@ -4,7 +4,7 @@
# Contributor: Urist <9362773 at gmail.com>
pkgname=bti
-pkgver=028
+pkgver=031
pkgrel=1
pkgdesc='Console client for Twitter and identi.ca'
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ url='http://gregkh.github.com/bti/'
license=('GPL')
depends=('pcre' 'libxml2' 'curl' 'liboauth')
-md5sums=('c858d41efe1e14b1891517092d4b112e')
+md5sums=('9f79fcd398fe1df5bdffeb28b42f3433')
source=("http://www.kernel.org/pub/software/web/bti/$pkgname-$pkgver.tar.gz")
build() {
diff --git a/community/busybox/PKGBUILD b/community/busybox/PKGBUILD
index 17b0e32bd..27cfb4548 100644
--- a/community/busybox/PKGBUILD
+++ b/community/busybox/PKGBUILD
@@ -1,19 +1,18 @@
-# $Id: PKGBUILD 38368 2011-01-26 10:25:20Z spupykin $
+# $Id: PKGBUILD 44354 2011-04-06 08:52:55Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jens Pranaitis <jens@jenux.homelinux.org>
pkgname=busybox
-pkgver=1.18.2
+pkgver=1.18.4
pkgrel=1
pkgdesc="Utilities for rescue and embedded systems"
arch=("i686" "x86_64")
url="http://busybox.net"
license=('GPL')
makedepends=("make" "gcc" "sed" "ncurses")
-options=()
source=($url/downloads/$pkgname-$pkgver.tar.bz2
config)
-md5sums=('69a82091e5710b72db5ce0e14e7c0cd7'
+md5sums=('b03c5b46ced732679e525a920a1a62f5'
'10356174db56da484eb8c43c90aee7b7')
build() {
@@ -22,6 +21,10 @@ build() {
# if you want to run menuconfig uncomment the following line:
# make menuconfig ; return 1
make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
mkdir $pkgdir/bin
install -m755 busybox $pkgdir/bin/
}
diff --git a/community/prosody/PKGBUILD b/community/prosody/PKGBUILD
index 2bb50d9c1..20b61b157 100644
--- a/community/prosody/PKGBUILD
+++ b/community/prosody/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 44041 2011-04-01 17:02:10Z spupykin $
+# $Id: PKGBUILD 44382 2011-04-06 21:47:54Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Dwayne Bent <dbb.0@liqd.org>
# Contributor: Paul-Sebastian Manole <brokenthorn@gmail.com>
pkgname=prosody
pkgver=0.7.0
-pkgrel=6
+pkgrel=7
pkgdesc="Lightweight and extensible Jabber/XMPP server written in Lua."
arch=('i686' 'x86_64')
url="http://prosody.im/"
@@ -21,7 +21,7 @@ source=("http://prosody.im/depot/${pkgver}/prosody-${pkgver}.tar.gz"
'prosody.logrotated'
'fix-config.patch')
md5sums=('69cd4f4e89dbef668a6240cde419dedf'
- 'b1b159baab8d49b9ec08afaea1f66400'
+ 'd2b5f9c8e42bb31819e715eb1756ee53'
'26466fdbea87963a3ca6f48f76fe4a29'
'431f78012ff4c1d66c173e0b0b3c7c16')
diff --git a/community/prosody/prosody.install b/community/prosody/prosody.install
index c70a78f3c..354a32ab1 100644
--- a/community/prosody/prosody.install
+++ b/community/prosody/prosody.install
@@ -8,7 +8,6 @@ post_install() {
chown prosody:prosody var/lib/prosody
chown prosody:prosody var/log/prosody
- chown prosody:prosody var/run/prosody
cat << EOF
diff --git a/community/prosody/prosody.rcd b/community/prosody/prosody.rcd
index 1f873602f..afaf77903 100644
--- a/community/prosody/prosody.rcd
+++ b/community/prosody/prosody.rcd
@@ -19,7 +19,7 @@ case "$1" in
start)
stat_busy "Starting $daemon_name daemon"
- [ -d /var/run/$daemon_name ] || mkdir -p /var/run/$daemon_name
+ [ -d /var/run/$daemon_name ] || { mkdir -p /var/run/$daemon_name ; chown prosody:prosody /var/run/prosody; }
PID=$(get_pid)
if [ -z "$PID" ]; then
[ -f $pid_file ] && rm -f $pid_file
diff --git a/community/redis/PKGBUILD b/community/redis/PKGBUILD
index 2f90659f0..88f47bdf2 100644
--- a/community/redis/PKGBUILD
+++ b/community/redis/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 41768 2011-03-08 20:19:06Z spupykin $
+# $Id: PKGBUILD 44372 2011-04-06 16:45:50Z 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.2
+pkgver=2.2.4
pkgrel=1
pkgdesc="Advanced key-value store"
arch=('i686' 'x86_64')
@@ -17,7 +17,7 @@ backup=("etc/redis.conf"
source=("http://redis.googlecode.com/files/${pkgname}-${pkgver}.tar.gz"
"redis.d"
"redis.logrotate")
-md5sums=('1c5b0d961da84a8f9b44a328b438549e'
+md5sums=('c98260dfab860da934d465e829ad0866'
'bf61968d18d0e42529880f5c488ea9ed'
'9e2d75b7a9dc421122d673fe520ef17f')
diff --git a/community/tora/PKGBUILD b/community/tora/PKGBUILD
index 2c0b2e774..de4385053 100644
--- a/community/tora/PKGBUILD
+++ b/community/tora/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 31857 2010-11-06 19:23:22Z angvp $
+# $Id: PKGBUILD 44359 2011-04-06 09:51:56Z jelle $
# Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
# Contributor: Douglas Soares de Andrade <dsandrade@gmail.com>
pkgname=tora
pkgver=2.1.3
-pkgrel=1
+pkgrel=2
pkgdesc="Toolkit for databases with support for MySQL and PostgreSQL"
arch=('i686' 'x86_64')
url="http://tora.sourceforge.net"
@@ -20,5 +20,8 @@ build() {
cd $srcdir/$pkgname-$pkgver
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/
make
- make DESTDIR=${pkgdir} install
+}
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
}
diff --git a/community/znc/PKGBUILD b/community/znc/PKGBUILD
index fcbfea36a..abefc073f 100644
--- a/community/znc/PKGBUILD
+++ b/community/znc/PKGBUILD
@@ -1,30 +1,33 @@
-# $Id: PKGBUILD 32285 2010-11-13 03:23:05Z kchen $
+# $Id: PKGBUILD 44397 2011-04-07 02:06:55Z kchen $
# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
# Contributor: mickael9 <mickael9 at gmail dot com>
pkgname=znc
-pkgver=0.096
+pkgver=0.098
pkgrel=2
-pkgdesc='An IRC proxy (bouncer) with modules & scripts support'
+pkgdesc='An IRC bouncer with modules & scripts support'
url='http://en.znc.in/wiki/index.php/ZNC'
license=('GPL2')
arch=('i686' 'x86_64')
depends=('c-ares' 'gcc-libs' 'openssl')
-makedepends=('swig' 'tcl' 'perl' 'cyrus-sasl')
+makedepends=('swig' 'tcl' 'python' 'perl' 'cyrus-sasl')
optdepends=('tcl: modtcl module'
+ 'python: modpython module'
'perl: modperl module'
'cyrus-sasl: saslauth module')
-source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('38eec4f1911a68b4d2fc704170e7cbf6')
+source=("http://znc.in/releases/$pkgname-$pkgver.tar.gz")
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
--enable-sasl \
--enable-tcl \
+ --enable-python \
--enable-perl \
--enable-extra
make; make DESTDIR="$pkgdir" install
}
+md5sums=('5667b4acb1f01309d6eded77abac700c')
diff --git a/core/usbutils/PKGBUILD b/core/usbutils/PKGBUILD
index ef1a8c541..871bd2111 100644
--- a/core/usbutils/PKGBUILD
+++ b/core/usbutils/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 104566 2011-01-04 08:28:48Z tpowa $
+# $Id: PKGBUILD 116702 2011-03-25 08:26:34Z tpowa $
# Maintainer: Judd Vinet <jvinet@zeroflux.org>
# Contributor: Curtis Campbell <curtisjamescampbell@hotmail.com>
pkgname=usbutils
-pkgver=001
-pkgrel=2
+pkgver=002
+pkgrel=1
pkgdesc="USB Device Utilities"
arch=(i686 x86_64)
license=('GPL')
@@ -12,7 +12,7 @@ makedepends=('wget')
depends=('glibc' 'libusb')
url="http://linux-usb.sourceforge.net/"
source=(http://www.kernel.org/pub/linux/utils/usb/$pkgname/$pkgname-$pkgver.tar.gz)
-md5sums=('3ecdcb42f08ef0d63e2638feb06ececc')
+md5sums=('05610d15c3c8c8ada3d691c320ca784a')
build() {
cd $srcdir/$pkgname-$pkgver
diff --git a/extra/akonadi/PKGBUILD b/extra/akonadi/PKGBUILD
index 2cc9fbb3f..19b05700c 100644
--- a/extra/akonadi/PKGBUILD
+++ b/extra/akonadi/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 115515 2011-03-18 09:32:06Z andrea $
+# $Id: PKGBUILD 118244 2011-04-06 08:21:21Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=akonadi
-pkgver=1.5.1
-pkgrel=2
+pkgver=1.5.2
+pkgrel=1
pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data"
arch=('i686' 'x86_64')
url='http://pim.kde.org/akonadi'
@@ -12,21 +12,17 @@ license=('LGPL')
depends=('shared-mime-info' 'boost-libs' 'mysql' 'soprano')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost')
install="${pkgname}.install"
-source=("http://download.akonadi-project.org/${pkgname}-${pkgver}.tar.bz2"
- 'qt-plugins-path.patch')
-md5sums=('4225b064cac6553c22cbeca9a8f93c25'
- '9e8ad893d8e8d7af2c4f89429e32e367')
+source=("http://download.akonadi-project.org/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('1c69a74474389e35709171a329c77bed')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- patch -Np1 -i ${srcdir}/qt-plugins-path.patch
-
cd ${srcdir}
mkdir build
cd build
cmake ../${pkgname}-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE
make
}
diff --git a/extra/dhcp/PKGBUILD b/extra/dhcp/PKGBUILD
index fe232f5bb..3d157e1d6 100644
--- a/extra/dhcp/PKGBUILD
+++ b/extra/dhcp/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 104595 2011-01-04 13:21:07Z daniel $
+# $Id: PKGBUILD 118234 2011-04-06 07:14:19Z jgc $
# Maintainer: Daniel Isenmann <daniel @archlinux.org>
pkgbase=dhcp
@@ -12,7 +12,7 @@ pkgrel=1
arch=('i686' 'x86_64')
license=('custom:isc-dhcp')
url="https://www.isc.org/software/dhcp"
-source=(http://ftp.isc.org/isc/${pkgname}/${pkgname}-${_pkgver}.tar.gz
+source=(http://ftp.isc.org/isc/${pkgbase}/${pkgbase}-${_pkgver}.tar.gz
dhcpd dhcp.conf.d
dhcp-4.1.1-missing-ipv6-not-fatal.patch
dhclient-script-pathFixes.patch)
@@ -23,7 +23,7 @@ md5sums=('a98f4ce3ca651e7e28a5a1ae6398689e'
'ddcc5cd576ec631ade6c4da21952b50b')
build() {
- cd ${srcdir}/${pkgname}-${_pkgver}
+ cd ${srcdir}/${pkgbase}-${_pkgver}
# Define _GNU_SOURCE to fix IPV6.
sed '/^CFLAGS="$CFLAGS/ s/INGS"/INGS -D_GNU_SOURCE"/' -i configure
@@ -46,7 +46,7 @@ package_dhcp(){
backup=('etc/dhcpd.conf' 'etc/conf.d/dhcp')
install=dhcp.install
- cd ${srcdir}/${pkgname}-${_pkgver}
+ cd ${srcdir}/${pkgbase}-${_pkgver}
make DESTDIR=${pkgdir} install
install -D -m755 ${srcdir}/dhcpd ${pkgdir}/etc/rc.d/dhcpd
@@ -64,7 +64,7 @@ package_dhclient(){
pkgdesc="dhclient is standalone client from the dhcp package"
depends=('bash')
- cd ${srcdir}/${pkgname}-${_pkgver}
+ cd ${srcdir}/${pkgbase}-${_pkgver}
make -C client DESTDIR=${pkgdir} install
# move dhclient.conf to dhclient.conf.example
diff --git a/extra/git/PKGBUILD b/extra/git/PKGBUILD
index 5438fad7d..d7fde405c 100644
--- a/extra/git/PKGBUILD
+++ b/extra/git/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 117957 2011-04-05 00:05:54Z dan $
+# $Id: PKGBUILD 118450 2011-04-07 01:40:08Z dan $
# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=git
-pkgver=1.7.4.3
+pkgver=1.7.4.4
pkgrel=1
pkgdesc="the fast distributed version control system"
arch=(i686 x86_64)
@@ -69,11 +69,11 @@ package() {
install -D -m644 $srcdir/git-daemon.conf $pkgdir/etc/conf.d/git-daemon.conf
}
-md5sums=('da6c8f4967393342a4397b955db72cb1'
- '0d29c91eb213391b4ecb1419568555ef'
+md5sums=('1313f71d62fa100b32fa313769a85f2a'
+ '5812f4fca4afc6c81e06f485111ec8ab'
'8e2648910fd5dd4f1c41d3c7fa9e9156'
'2e42bf97779a1c6411d89043334c9e78')
-sha256sums=('44b3ebc87d83b34468718fb6fa424420877e1f66c190389d693d090662a3556d'
- '3a43b28fde68fceba479e2374ed4df989233ec92973c5c49130aca97d4dd03bb'
+sha256sums=('5c3e738b01a4021ade56abebfdcce8825d2a50868e5c7befb65102f497387aa0'
+ 'fa2ce1fd34a81dac1d8fca466dcd823ce1ed800ec5cb98d8bb2b0967deed19d0'
'2e0a50bdaf8f387a499895e1c204bff78244eaa72b78187c8a84ef40c0b82598'
'e8bfe29d8393d2b87517c4dd56ea834b213aa00bf3d7fcde4ead3457cadbbc68')
diff --git a/extra/kdeaccessibility/PKGBUILD b/extra/kdeaccessibility/PKGBUILD
index deae74e5c..d342f92e5 100644
--- a/extra/kdeaccessibility/PKGBUILD
+++ b/extra/kdeaccessibility/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111776 2011-02-28 23:54:09Z andrea $
+# $Id: PKGBUILD 118070 2011-04-05 10:08:11Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -10,7 +10,7 @@ pkgname=('kdeaccessibility-colorschemes'
'kdeaccessibility-kmag'
'kdeaccessibility-kmousetool'
'kdeaccessibility-kmouth')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://accessibility.kde.org'
@@ -19,7 +19,7 @@ groups=('kde' 'kdeaccessibility')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-runtime'
'speech-dispatcher' 'docbook-xsl')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('820c3d85b01e0714826a0e00c779d4ca84ddf093')
+sha1sums=('5e8e92a312b2c995602a66cc775009839122053d')
build() {
cd ${srcdir}
diff --git a/extra/kdeadmin/PKGBUILD b/extra/kdeadmin/PKGBUILD
index 64b961ece..cef42cdd0 100644
--- a/extra/kdeadmin/PKGBUILD
+++ b/extra/kdeadmin/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111777 2011-02-28 23:55:21Z andrea $
+# $Id: PKGBUILD 118071 2011-04-05 10:08:14Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -7,7 +7,7 @@ pkgname=('kdeadmin-kcron'
'kdeadmin-ksystemlog'
'kdeadmin-kuser'
'kdeadmin-system-config-printer-kde')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -17,7 +17,7 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebindings-python'
'system-config-printer-common' 'python2-qt' 'docbook-xsl')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
'syslog-path.patch')
-sha1sums=('b8eec397c97c19ea12f969134f8cf56886c03a26'
+sha1sums=('33d756b1cef42d272b617bfba400e9116b34f311'
'20095ce6e0f3e5b6800a7c6e52de6fddba62c031')
build() {
diff --git a/extra/kdeartwork/PKGBUILD b/extra/kdeartwork/PKGBUILD
index 7fbd54db8..1959308a1 100644
--- a/extra/kdeartwork/PKGBUILD
+++ b/extra/kdeartwork/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111778 2011-02-28 23:55:25Z andrea $
+# $Id: PKGBUILD 118072 2011-04-05 10:08:17Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -13,7 +13,7 @@ pkgname=('kdeartwork-aurorae'
'kdeartwork-styles'
'kdeartwork-wallpapers'
'kdeartwork-weatherwallpapers')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -22,7 +22,7 @@ groups=('kde' 'kdeartwork')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'xscreensaver' 'eigen' 'kdebase-workspace'
'docbook-xsl' 'kdegraphics-libs')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('47c55cccd39f634a9754e9ff0b2dd9791aaf3ee4')
+sha1sums=('2a264081e50f2d2d78d98080db8f013f3148f9b2')
build() {
cd $srcdir
diff --git a/extra/kdebase-runtime/PKGBUILD b/extra/kdebase-runtime/PKGBUILD
index 705cef650..654c6103f 100644
--- a/extra/kdebase-runtime/PKGBUILD
+++ b/extra/kdebase-runtime/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 111770 2011-02-28 23:53:48Z andrea $
+# $Id: PKGBUILD 118064 2011-04-05 10:07:49Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdebase-runtime
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
pkgdesc="KDE Base Runtime Environment"
arch=('i686' 'x86_64')
@@ -18,7 +18,7 @@ optdepends=('htdig: to build the search index in khelpcenter'
'gdb: drkonq crash handler')
install="${pkgname}.install"
source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-sha1sums=('7c6704d72577ed88acccc767d0a6a8adf7e8e9ac')
+sha1sums=('d939d78f82e8c9d1257552abac08e4da1ff28c51')
build() {
cd "${srcdir}"
diff --git a/extra/kdebase-workspace/PKGBUILD b/extra/kdebase-workspace/PKGBUILD
index 9a821f87f..e30f73a9a 100644
--- a/extra/kdebase-workspace/PKGBUILD
+++ b/extra/kdebase-workspace/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 111773 2011-02-28 23:53:58Z andrea $
+# $Id: PKGBUILD 118067 2011-04-05 10:07:59Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdebase-workspace
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
pkgdesc="KDE Base Workspace"
arch=('i686' 'x86_64')
@@ -27,7 +27,7 @@ backup=('usr/share/config/kdm/kdmrc'
source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
'kdm-zsh-profile.patch' 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam'
'fixpath.patch' 'terminate-server.patch')
-sha1sums=('e37691d88ddbf92cc95ec39849a1331404c84fd5'
+sha1sums=('63efb68733f347d0b7d24a7a061c5a0e3f84dee7'
'8c2bdefb23a03b753b78d16944d03fa3939d2d99'
'5db3a245201bd4a50e65aa2ef583cf5490e4f646'
'f7b38af38549242a240f1a90ab9964ca8a366129'
diff --git a/extra/kdebase/PKGBUILD b/extra/kdebase/PKGBUILD
index dcbffb065..5a04c2341 100644
--- a/extra/kdebase/PKGBUILD
+++ b/extra/kdebase/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 112038 2011-03-03 11:11:13Z andrea $
+# $Id: PKGBUILD 118068 2011-04-05 10:08:03Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -13,7 +13,7 @@ pkgname=('kdebase-dolphin'
'kdebase-kwrite'
'kdebase-lib'
'kdebase-plasma')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -21,7 +21,7 @@ license=('GPL' 'LGPL' 'FDL')
groups=('kde' 'kdebase')
makedepends=('kdebase-workspace' 'pkgconfig' 'cmake' 'automoc4' 'docbook-xsl')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('3993cc44ce9c43028bec7f314e354345da9931aa')
+sha1sums=('e9e46a6b4f5580996a1484da6d2ef17f418eec69')
build() {
cd ${srcdir}
diff --git a/extra/kdebindings/PKGBUILD b/extra/kdebindings/PKGBUILD
index a2132eeb4..b2266cf92 100644
--- a/extra/kdebindings/PKGBUILD
+++ b/extra/kdebindings/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=('kdebindings-csharp'
'kdebindings-python'
'kdebindings-ruby'
'kdebindings-smoke')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -15,11 +15,12 @@ license=('GPL' 'LGPL')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'python2-qt' 'kdepim-runtime' 'mono'
'kdegraphics-okular' 'qwt' 'docbook-xsl' 'boost' 'qscintilla' 'ruby')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('1a71e656df19a4b132546242aa344778554693ff')
+sha1sums=('eff4b5785b09958fffe4e23583f5af75c796aa9e')
build() {
export MONO_SHARED_DIR="${srcdir}/build/.mono"
mkdir -p "$MONO_SHARED_DIR"
+
cd ${srcdir}/build
cmake ../${pkgbase}-${pkgver} \
diff --git a/extra/kdeedu/PKGBUILD b/extra/kdeedu/PKGBUILD
index 5a2bb8897..4de1a090c 100644
--- a/extra/kdeedu/PKGBUILD
+++ b/extra/kdeedu/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 112296 2011-03-04 14:46:49Z andrea $
+# $Id: PKGBUILD 118069 2011-04-05 10:08:07Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -25,8 +25,8 @@ pkgname=('kdeedu-blinken'
'kdeedu-parley'
'kdeedu-rocs'
'kdeedu-step')
-pkgver=4.6.1
-pkgrel=2
+pkgver=4.6.2
+pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
license=('GPL' 'LGPL' 'FDL')
@@ -35,7 +35,7 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'ocaml' 'facile' 'cfitsio' 'gpsd'
'kdebase-runtime' 'libqalculate' 'gsl' 'boost' 'libindi' 'r' 'libspectre'
'python2' 'docbook-xsl' 'avogadro')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('90843f6a472aa38ece3fc2a237fffd020572fad7')
+sha1sums=('7c94a10f5c17237dcd5c348a8ac129973934cf05')
build() {
cd $srcdir
diff --git a/extra/kdegames/PKGBUILD b/extra/kdegames/PKGBUILD
index d8e1ee62e..c3cc8f1f9 100644
--- a/extra/kdegames/PKGBUILD
+++ b/extra/kdegames/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111779 2011-02-28 23:55:28Z andrea $
+# $Id: PKGBUILD 118073 2011-04-05 10:08:20Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -43,7 +43,7 @@ pkgname=('kdegames-bomber'
'kdegames-libkmahjongg'
'kdegames-lskat'
'kdegames-palapeli')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -52,7 +52,7 @@ groups=('kde' 'kdegames')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-runtime' 'ggz-client-libs'
'twisted' 'kdebindings-python' 'docbook-xsl')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('4c7ef990bcf9eedb1a666491514fbe5e04ab9421')
+sha1sums=('91ec7347488504931b4019182a3f2b91a60d8065')
build() {
cd $srcdir
diff --git a/extra/kdegraphics/PKGBUILD b/extra/kdegraphics/PKGBUILD
index 9af1e59e2..1b11c9ab2 100644
--- a/extra/kdegraphics/PKGBUILD
+++ b/extra/kdegraphics/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111771 2011-02-28 23:53:51Z andrea $
+# $Id: PKGBUILD 118092 2011-04-05 12:11:35Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -12,7 +12,7 @@ pkgname=('kdegraphics-gwenview'
'kdegraphics-ksnapshot'
'kdegraphics-libs'
'kdegraphics-okular')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -22,7 +22,7 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'qimageblitz' 'sane' 'lcms'
'libxxf86vm' 'poppler-qt' 'libspectre' 'chmlib' 'djvulibre'
'ebook-tools' 'kdebase-runtime' 'docbook-xsl')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('8a96d927be9a41ff9a7d222474d0e4759346415b')
+sha1sums=('9c9f31c88c1c9e6dcaa7fb177847402d874ffc94')
build() {
cd ${srcdir}
@@ -43,7 +43,7 @@ package_kdegraphics-gwenview() {
install='kdegraphics.install'
cd $srcdir/build/gwenview
make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/gwenview
+ cd $srcdir/build/gwenview/doc
make DESTDIR=$pkgdir install
}
@@ -52,7 +52,7 @@ package_kdegraphics-kamera() {
depends=('kdelibs' 'libgphoto2')
cd $srcdir/build/kamera
make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kcontrol/kamera
+ cd $srcdir/build/kamera/doc
make DESTDIR=$pkgdir install
}
@@ -74,7 +74,7 @@ package_kdegraphics-kgamma() {
install='kdegraphics.install'
cd $srcdir/build/kgamma
make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kcontrol/kgamma
+ cd $srcdir/build/kgamma/doc
make DESTDIR=$pkgdir install
}
@@ -85,7 +85,7 @@ package_kdegraphics-kolourpaint() {
install='kdegraphics.install'
cd $srcdir/build/kolourpaint
make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kolourpaint
+ cd $srcdir/build/kolourpaint/doc
make DESTDIR=$pkgdir install
}
@@ -96,7 +96,7 @@ package_kdegraphics-kruler() {
install='kdegraphics.install'
cd $srcdir/build/kruler
make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kruler
+ cd $srcdir/build/kruler/doc
make DESTDIR=$pkgdir install
}
@@ -107,7 +107,7 @@ package_kdegraphics-ksnapshot() {
install='kdegraphics.install'
cd $srcdir/build/ksnapshot
make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/ksnapshot
+ cd $srcdir/build/ksnapshot/doc
make DESTDIR=$pkgdir install
}
diff --git a/extra/kdelibs/PKGBUILD b/extra/kdelibs/PKGBUILD
index 10122d1a4..eb84d4b50 100644
--- a/extra/kdelibs/PKGBUILD
+++ b/extra/kdelibs/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 117004 2011-03-27 13:27:39Z andrea $
+# $Id: PKGBUILD 118061 2011-04-05 10:07:38Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdelibs
-pkgver=4.6.1
-pkgrel=3
+pkgver=4.6.2
+pkgrel=1
pkgdesc="KDE Core Libraries"
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -19,15 +19,11 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'intltool' 'avahi' 'libgl'
replaces=('arts' 'kdelibs-experimental')
install='kdelibs.install'
source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
- 'kde-applications-menu.patch' 'archlinux-menu.patch' 'abs-syntax-highlight.patch'
- 'CVE-2011-1168.patch'
- 'fix-empty-dolphin-home.patch')
-sha1sums=('5868d43084b2dc9de4c0404dbec137375664e893'
+ 'kde-applications-menu.patch' 'archlinux-menu.patch' 'abs-syntax-highlight.patch')
+sha1sums=('b4794a9a69492ce4725abd9eb5d00d3a50e46603'
'86ee8c8660f19de8141ac99cd6943964d97a1ed7'
'63a850ab4196b9d06934f2b4a13acd9f7739bc67'
- 'd994f262356af5b9e4e9619646e471bd98c91efb'
- '730534a337c88ef2a7c716f5d118f445d06898e7'
- 'aaec293322f1483990ad8edbb1ec1a6dd69cf3ee')
+ 'd994f262356af5b9e4e9619646e471bd98c91efb')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -39,10 +35,6 @@ build() {
# add syntax highlightning for PKGBUILD and .install files
patch -p1 -i $srcdir/abs-syntax-highlight.patch
- # Already fixed upstream
- patch -Np1 -i ${srcdir}/CVE-2011-1168.patch
- patch -Np1 -i ${srcdir}/fix-empty-dolphin-home.patch
-
cd ${srcdir}
mkdir build
cd build
diff --git a/extra/kdemultimedia/PKGBUILD b/extra/kdemultimedia/PKGBUILD
index f73f5d382..afdc0a8a1 100644
--- a/extra/kdemultimedia/PKGBUILD
+++ b/extra/kdemultimedia/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111780 2011-02-28 23:55:31Z andrea $
+# $Id: PKGBUILD 118074 2011-04-05 10:08:23Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -10,7 +10,7 @@ pkgname=('kdemultimedia-dragonplayer'
'kdemultimedia-kmix'
'kdemultimedia-kscd'
'kdemultimedia-mplayerthumbs')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -19,12 +19,17 @@ groups=('kde' 'kdemultimedia')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-runtime' 'tunepimp'
'ffmpeg' 'mplayer' 'docbook-xsl' 'pulseaudio' 'libmusicbrainz3')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
- 'mplayerthumbs.config')
-sha1sums=('ad8f6e45d60d2b9cc0fd806e000076fcc0c07a5f'
- 'ba016fa2563c14ffcba852c62506b66bfc6ee683')
+ 'mplayerthumbs.config'
+ 'kmix-locale-pulseaudio.patch')
+sha1sums=('4447d26488e3b97c43580d86ad47cee77ff98578'
+ 'ba016fa2563c14ffcba852c62506b66bfc6ee683'
+ '5aa443ace9f4b1906c227664b4e50bace666cf99')
build() {
- cd $srcdir
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ patch -Np0 -i ${srcdir}/kmix-locale-pulseaudio.patch
+
+ cd ${srcdir}
mkdir build
cd build
cmake ../${pkgbase}-${pkgver} \
diff --git a/extra/kdemultimedia/kmix-locale-pulseaudio.patch b/extra/kdemultimedia/kmix-locale-pulseaudio.patch
new file mode 100644
index 000000000..88be8dbde
--- /dev/null
+++ b/extra/kdemultimedia/kmix-locale-pulseaudio.patch
@@ -0,0 +1,1117 @@
+Index: kmix/apps/kmix.cpp
+===================================================================
+--- kmix/apps/kmix.cpp (revision 1226955)
++++ kmix/apps/kmix.cpp (revision 1226956)
+@@ -78,8 +78,6 @@
+ m_dockWidget(),
+ m_dontSetDefaultCardOnStart (false)
+ {
+- _cornerLabelNew = 0;
+-
+ setObjectName( QLatin1String("KMixWindow" ));
+ // disable delete-on-close because KMix might just sit in the background waiting for cards to be plugged in
+ setAttribute(Qt::WA_DeleteOnClose, false);
+@@ -184,16 +182,29 @@
+
+ void KMixWindow::initActionsAfterInitMixer()
+ {
++ bool isPulseAudio = false;
+ // Add "launch_pavucontrol" to menu, if Pulseaudio backend is in use
+ foreach( Mixer* mixer, Mixer::mixers() )
+ {
+- if ( mixer->getDriverName() == "PulseAudio") {
++ if ( mixer->getDriverName() == "PulseAudio")
++ {
++ isPulseAudio = true;
+ KAction* action = actionCollection()->addAction( "launch_pavucontrol" );
+ action->setText( i18n( "Audio setup (&Pulseaudio)" ) );
+ connect(action, SIGNAL(triggered(bool) ), SLOT( slotPavucontrolExec() ));
+ break;
+ }
+ }
++
++ if (! isPulseAudio )
++ {
++ QPixmap cornerNewPM = KIconLoader::global()->loadIcon( "tab-new", KIconLoader::Toolbar, KIconLoader::SizeSmall );
++ QPushButton* _cornerLabelNew = new QPushButton();
++ _cornerLabelNew->setIcon(cornerNewPM);
++ //cornerLabelNew->setSizePolicy(QSizePolicy());
++ m_wsMixers->setCornerWidget(_cornerLabelNew, Qt::TopLeftCorner);
++ connect ( _cornerLabelNew, SIGNAL( clicked() ), SLOT (newView() ) );
++ }
+ }
+
+ void KMixWindow::initPrefDlg()
+@@ -210,15 +221,10 @@
+ m_wsMixers = new KTabWidget();
+ m_wsMixers->setDocumentMode(true);
+ setCentralWidget(m_wsMixers);
+- m_wsMixers->setTabsClosable(true);
++ m_wsMixers->setTabsClosable(false);
+ connect (m_wsMixers, SIGNAL(tabCloseRequested(int)), SLOT(saveAndCloseView(int)) );
+
+ QPixmap cornerNewPM = KIconLoader::global()->loadIcon( "tab-new", KIconLoader::Toolbar, KIconLoader::SizeSmall );
+- _cornerLabelNew = new QPushButton();
+- _cornerLabelNew->setIcon(cornerNewPM);
+- //cornerLabelNew->setSizePolicy(QSizePolicy());
+- m_wsMixers->setCornerWidget(_cornerLabelNew, Qt::TopLeftCorner);
+- connect ( _cornerLabelNew, SIGNAL( clicked() ), SLOT (newView() ) );
+
+ connect( m_wsMixers, SIGNAL( currentChanged ( int ) ), SLOT( newMixerShown(int)) );
+
+@@ -516,6 +522,7 @@
+ addMixerWidget(mixer->id(), guiprof, -1);
+ }
+ else {
++ // did exist => remove and insert new guiprof at old position
+ int indexOfTab = m_wsMixers->indexOf(kmw);
+ if ( indexOfTab != -1 ) m_wsMixers->removeTab(indexOfTab);
+ delete kmw;
+@@ -676,9 +683,9 @@
+ m_wsMixers->removeTab(idx);
+ delete kmw;
+
+- if ( m_wsMixers->count() < 2 ) {
+- m_wsMixers->setTabsClosable(false);
+- }
++ bool isPulseAudio = kmw->mixer()->getDriverName() == "PulseAudio";
++ m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1);
++
+ saveViewConfig();
+ }
+ kDebug() << "Exit";
+@@ -874,9 +881,9 @@
+ if ( kmw->getGuiprof()->getId() == m_defaultCardOnStart ) {
+ m_wsMixers->setCurrentWidget(kmw);
+ }
+- if ( m_wsMixers->count() > 1 ) {
+- m_wsMixers->setTabsClosable(true);
+- }
++
++ bool isPulseAudio = mixer->getDriverName() == "PulseAudio";
++ m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1);
+ m_dontSetDefaultCardOnStart = false;
+
+
+Index: kmix/apps/kmix.h
+===================================================================
+--- kmix/apps/kmix.h (revision 1226955)
++++ kmix/apps/kmix.h (revision 1226956)
+@@ -116,7 +116,6 @@
+ Qt::Orientation m_toplevelOrientation;
+
+ KTabWidget *m_wsMixers;
+- QPushButton* _cornerLabelNew;
+
+ KMixPrefDlg *m_prefDlg;
+ KMixDockWidget *m_dockWidget;
+Index: kmix/gui/viewbase.cpp
+===================================================================
+--- kmix/gui/viewbase.cpp (revision 1226956)
++++ kmix/gui/viewbase.cpp (revision 1226957)
+@@ -226,34 +226,35 @@
+
+ // Check the guiprofile... if it is not the fallback GUIProfile, then
+ // make sure that we add a specific entry for any devices not present.
+- if ( 0 != _guiprof && GUIProfile::fallbackProfile(_mixer) != _guiprof ) {
++ if ( 0 != _guiprof && GUIProfile::fallbackProfile(_mixer) != _guiprof ) // TODO colin/cesken IMO calling GUIProfile::fallbackProfile(_mixer) is wrong, as it ALWAYS creates a new Object. fallbackProfile() would need to cache the created fallback profiles so this should make any sense.
++ {
+ kDebug(67100) << "Dynamic mixer " << _mixer->id() << " is NOT using Fallback GUIProfile. Checking to see if new controls are present";
+
+ QList<QString> new_mix_devices;
+ MixSet ms = _mixer->getMixSet();
+ for (int i=0; i < ms.count(); ++i)
++ {
+ new_mix_devices.append("^" + ms[i]->id() + "$");
++ kDebug(67100) << "new_mix_devices.append => " << ms[i]->id();
++ }
+
++ GUIProfile::ControlSet& ctlSet = _guiprof->getControls();
++
+ // std::vector<ProfControl*>::const_iterator itEnd = _guiprof->_controls.end();
+ // for ( std::vector<ProfControl*>::const_iterator it = _guiprof->_controls.begin(); it != itEnd; ++it)
+ // new_mix_devices.removeAll((*it)->id);
+ // TODO Please check this change, Colin
+- foreach ( ProfControl* pctl, _guiprof->getControls() ) {
++ foreach ( ProfControl* pctl, ctlSet ) {
+ new_mix_devices.removeAll(pctl->id);
+ }
+
+
+ if ( new_mix_devices.count() > 0 ) {
+ kDebug(67100) << "Found " << new_mix_devices.count() << " new controls. Adding to GUIProfile";
++ QString sctlMatchAll("*");
+ while ( new_mix_devices.count() > 0 ) {
+- QString sctlMatchAll("*");
+ QString new_mix_devices0 = new_mix_devices.takeAt(0);
+- ProfControl* ctl = new ProfControl(new_mix_devices0, sctlMatchAll);
+-// ctl->id = new_mix_devices.takeAt(0);
+-// ctl->setSubcontrols(QString("*"));
+-// ctl->tab = (_guiprof->tabs())[0]->name(); // Use the first tab... not ideal but should work most of the time;
+-// ctl->show = "simple";
+- _guiprof->getControls().push_back(ctl);
++ ctlSet.push_back(new ProfControl(new_mix_devices0, sctlMatchAll));
+ }
+ _guiprof->setDirty();
+ }
+Index: kmix/gui/viewbase.cpp
+===================================================================
+--- kmix/gui/viewbase.cpp (revision 1226957)
++++ kmix/gui/viewbase.cpp (revision 1226958)
+@@ -33,6 +33,7 @@
+ #include <kactioncollection.h>
+ #include <ktoggleaction.h>
+ #include <kstandardaction.h>
++#include <kmessagebox.h>
+ // KMix
+ #include "dialogviewconfiguration.h"
+ #include "gui/guiprofile.h"
+@@ -43,7 +44,7 @@
+
+
+ ViewBase::ViewBase(QWidget* parent, const char* id, Mixer* mixer, Qt::WFlags f, ViewBase::ViewFlags vflags, GUIProfile *guiprof, KActionCollection *actionColletion)
+- : QWidget(parent, f), _actions(actionColletion), _vflags(vflags), _guiprof(guiprof)
++ : QWidget(parent, f), _popMenu(NULL), _actions(actionColletion), _vflags(vflags), _guiprof(guiprof)
+ {
+ setObjectName(id);
+ m_viewId = id;
+@@ -73,9 +74,11 @@
+ }
+ }
+ }
+- QAction *action = _localActionColletion->addAction("toggle_channels");
+- action->setText(i18n("&Channels"));
+- connect(action, SIGNAL(triggered(bool) ), SLOT(configureView()));
++ if ( !_mixer->isDynamic() ) {
++ QAction *action = _localActionColletion->addAction("toggle_channels");
++ action->setText(i18n("&Channels"));
++ connect(action, SIGNAL(triggered(bool) ), SLOT(configureView()));
++ }
+ connect ( _mixer, SIGNAL(controlChanged()), this, SLOT(refreshVolumeLevels()) );
+ connect ( _mixer, SIGNAL(controlsReconfigured(const QString&)), this, SLOT(controlsReconfigured(const QString&)) );
+ }
+@@ -95,7 +98,7 @@
+
+ bool ViewBase::isValid() const
+ {
+- return ( _mixSet->count() > 0 || _mixer->dynamic() );
++ return ( _mixSet->count() > 0 || _mixer->isDynamic() );
+ }
+
+ void ViewBase::setIcons (bool on) { KMixToolBox::setIcons (_mdws, on ); }
+@@ -170,6 +173,8 @@
+ {
+ QAction *a;
+
++ if ( _popMenu )
++ delete _popMenu;
+ _popMenu = new KMenu( this );
+ _popMenu->addTitle( KIcon( QLatin1String( "kmix" ) ), i18n("Device Settings" ));
+
+@@ -222,44 +227,8 @@
+
+ void ViewBase::setMixSet()
+ {
+- if ( _mixer->dynamic()) {
++ if ( _mixer->isDynamic() ) {
+
+- // Check the guiprofile... if it is not the fallback GUIProfile, then
+- // make sure that we add a specific entry for any devices not present.
+- if ( 0 != _guiprof && GUIProfile::fallbackProfile(_mixer) != _guiprof ) // TODO colin/cesken IMO calling GUIProfile::fallbackProfile(_mixer) is wrong, as it ALWAYS creates a new Object. fallbackProfile() would need to cache the created fallback profiles so this should make any sense.
+- {
+- kDebug(67100) << "Dynamic mixer " << _mixer->id() << " is NOT using Fallback GUIProfile. Checking to see if new controls are present";
+-
+- QList<QString> new_mix_devices;
+- MixSet ms = _mixer->getMixSet();
+- for (int i=0; i < ms.count(); ++i)
+- {
+- new_mix_devices.append("^" + ms[i]->id() + "$");
+- kDebug(67100) << "new_mix_devices.append => " << ms[i]->id();
+- }
+-
+- GUIProfile::ControlSet& ctlSet = _guiprof->getControls();
+-
+-// std::vector<ProfControl*>::const_iterator itEnd = _guiprof->_controls.end();
+-// for ( std::vector<ProfControl*>::const_iterator it = _guiprof->_controls.begin(); it != itEnd; ++it)
+-// new_mix_devices.removeAll((*it)->id);
+- // TODO Please check this change, Colin
+- foreach ( ProfControl* pctl, ctlSet ) {
+- new_mix_devices.removeAll(pctl->id);
+- }
+-
+-
+- if ( new_mix_devices.count() > 0 ) {
+- kDebug(67100) << "Found " << new_mix_devices.count() << " new controls. Adding to GUIProfile";
+- QString sctlMatchAll("*");
+- while ( new_mix_devices.count() > 0 ) {
+- QString new_mix_devices0 = new_mix_devices.takeAt(0);
+- ctlSet.push_back(new ProfControl(new_mix_devices0, sctlMatchAll));
+- }
+- _guiprof->setDirty();
+- }
+- }
+-
+ // We need to delete the current MixDeviceWidgets so we can redraw them
+ while (!_mdws.isEmpty()) {
+ QWidget* mdw = _mdws.last();
+@@ -280,6 +249,8 @@
+ */
+ void ViewBase::configureView() {
+
++ Q_ASSERT( !_mixer->isDynamic() );
++
+ DialogViewConfiguration* dvc = new DialogViewConfiguration(0, *this);
+ dvc->show();
+ // !! The dialog is modal. Does it delete itself?
+@@ -302,6 +273,10 @@
+ kDebug(67100) << "KMixToolBox::loadView() grp=" << grp.toAscii();
+
+ static char guiComplexity[3][20] = { "simple", "extended", "all" };
++
++ // Certain bits are not saved for dynamic mixers (e.g. PulseAudio)
++ bool dynamic = _mixer->isDynamic();
++
+ for ( int tries = 0; tries < 3; tries++ )
+ {
+ bool atLeastOneControlIsShown = false;
+@@ -315,12 +290,12 @@
+ Workaround: If found, write back correct group name.
+ */
+ MixDeviceWidget* mdw = (MixDeviceWidget*)qmdw;
+- QString devgrp;
+- devgrp.sprintf( "%s.%s.%s", grp.toAscii().data(), mdw->mixDevice()->mixer()->id().toAscii().data(), mdw->mixDevice()->id().toAscii().data() );
++ MixDevice* md = mdw->mixDevice();
++
++ QString devgrp = QString("%1.%2.%3").arg(grp).arg(md->mixer()->id()).arg(md->id());
+ KConfigGroup devcg = config->group( devgrp );
+
+- QString buggyDevgrp;
+- buggyDevgrp.sprintf( "%s.%s.%s", grp.toAscii().data(), view->id().toAscii().data(), mdw->mixDevice()->id().toAscii().data() );
++ QString buggyDevgrp = QString("%1.%2.%3").arg(grp).arg(view->id()).arg(md->id());
+ KConfigGroup buggyDevgrpCG = config->group( buggyDevgrp );
+ if ( buggyDevgrpCG.exists() ) {
+ buggyDevgrpCG.copyTo(&devcg);
+@@ -335,7 +310,7 @@
+ }
+
+ bool mdwEnabled = false;
+- if ( devcg.hasKey("Show") )
++ if ( !dynamic && devcg.hasKey("Show") )
+ {
+ mdwEnabled = ( true == devcg.readEntry("Show", true) );
+ //kDebug() << "Load devgrp" << devgrp << "show=" << mdwEnabled;
+@@ -382,20 +357,23 @@
+ QString grp = "View.";
+ grp += view->id();
+ // KConfigGroup cg = config->group( grp );
+- kDebug(67100) << "KMixToolBox::saveView() grp=" << grp.toAscii();
++ kDebug(67100) << "KMixToolBox::saveView() grp=" << grp;
+
++ // Certain bits are not saved for dynamic mixers (e.g. PulseAudio)
++ bool dynamic = _mixer->isDynamic();
++
+ for (int i=0; i < view->_mdws.count(); ++i ){
+ QWidget *qmdw = view->_mdws[i];
+ if ( qmdw->inherits("MixDeviceWidget") )
+ {
+ MixDeviceWidget* mdw = (MixDeviceWidget*)qmdw;
++ MixDevice* md = mdw->mixDevice();
+
+ //kDebug(67100) << " grp=" << grp.toAscii();
+ //kDebug(67100) << " mixer=" << view->id().toAscii();
+ //kDebug(67100) << " mdwPK=" << mdw->mixDevice()->id().toAscii();
+
+- QString devgrp;
+- devgrp.sprintf( "%s.%s.%s", grp.toAscii().data(), mdw->mixDevice()->mixer()->id().toAscii().data(), mdw->mixDevice()->id().toAscii().data() );
++ QString devgrp = QString("%1.%2.%3").arg(grp).arg(md->mixer()->id()).arg(md->id());
+ KConfigGroup devcg = config->group( devgrp );
+
+ if ( mdw->inherits("MDWSlider") )
+@@ -403,15 +381,19 @@
+ // only sliders have the ability to split apart in mutliple channels
+ devcg.writeEntry( "Split", ! mdw->isStereoLinked() );
+ }
+- devcg.writeEntry( "Show" , mdw->isVisibleTo(view) );
+-kDebug() << "Save devgrp" << devgrp << "show=" << mdw->isVisibleTo(view);
++ if ( !dynamic ) {
++ devcg.writeEntry( "Show" , mdw->isVisibleTo(view) );
++ kDebug() << "Save devgrp" << devgrp << "show=" << mdw->isVisibleTo(view);
++ }
+
+ } // inherits MixDeviceWidget
+ } // for all MDW's
+
+- kDebug(67100) << "GUIProfile is dirty: " << guiProfile()->isDirty();
+- if ( guiProfile()->isDirty() ) {
+- guiProfile()->writeProfile();
++ if ( !dynamic ) {
++ // We do not save GUIProfiles (as they cannot be customised) for dynamic mixers (e.g. PulseAudio)
++ kDebug(67100) << "GUIProfile is dirty: " << guiProfile()->isDirty();
++ if ( guiProfile()->isDirty() )
++ guiProfile()->writeProfile();
+ }
+ }
+
+Index: kmix/gui/mdwslider.cpp
+===================================================================
+--- kmix/gui/mdwslider.cpp (revision 1226957)
++++ kmix/gui/mdwslider.cpp (revision 1226958)
+@@ -86,10 +86,14 @@
+ KToggleAction *taction = _mdwActions->add<KToggleAction>( "stereo" );
+ taction->setText( i18n("&Split Channels") );
+ connect( taction, SIGNAL( triggered(bool) ), SLOT( toggleStereoLinked() ) );
+- KAction *action = _mdwActions->add<KToggleAction>( "hide" );
+- action->setText( i18n("&Hide") );
+- connect( action, SIGNAL( triggered(bool) ), SLOT( setDisabled() ) );
+
++ KAction *action;
++ if ( ! m_mixdevice->mixer()->isDynamic() ) {
++ action = _mdwActions->add<KToggleAction>( "hide" );
++ action->setText( i18n("&Hide") );
++ connect( action, SIGNAL( triggered(bool) ), SLOT( setDisabled() ) );
++ }
++
+ if( m_mixdevice->playbackVolume().hasSwitch() ) {
+ taction = _mdwActions->add<KToggleAction>( "mute" );
+ taction->setText( i18n("&Muted") );
+@@ -129,8 +133,8 @@
+ #ifdef __GNUC__
+ #warning GLOBAL SHORTCUTS ARE NOW ASSIGNED TO ALL CONTROLS, as enableGlobalShortcut(), has not been committed
+ #endif
+- if ( ! mixDevice()->isEthereal() ) {
+- // virtual / ethereal controls won't get shortcuts
++ if ( ! mixDevice()->mixer()->isDynamic() ) {
++ // virtual / dynamic controls won't get shortcuts
+ b->setGlobalShortcut(dummyShortcut); // -<- enableGlobalShortcut() is not there => use workaround
+ // b->enableGlobalShortcut();
+ connect( b, SIGNAL( triggered(bool) ), SLOT( increaseVolume() ) );
+@@ -143,8 +147,8 @@
+ #ifdef __GNUC__
+ #warning GLOBAL SHORTCUTS ARE NOW ASSIGNED TO ALL CONTROLS, as enableGlobalShortcut(), has not been committed
+ #endif
+- if ( ! mixDevice()->isEthereal() ) {
+- // virtual / ethereal controls won't get shortcuts
++ if ( ! mixDevice()->mixer()->isDynamic() ) {
++ // virtual / dynamic controls won't get shortcuts
+ b->setGlobalShortcut(dummyShortcut); // -<- enableGlobalShortcut() is not there => use workaround
+ // b->enableGlobalShortcut();
+ connect( b, SIGNAL( triggered(bool) ), SLOT( decreaseVolume() ) );
+@@ -157,8 +161,8 @@
+ #ifdef __GNUC__
+ #warning GLOBAL SHORTCUTS ARE NOW ASSIGNED TO ALL CONTROLS, as enableGlobalShortcut(), has not been committed
+ #endif
+- if ( ! mixDevice()->isEthereal() ) {
+- // virtual / ethereal controls won't get shortcuts
++ if ( ! mixDevice()->mixer()->isDynamic() ) {
++ // virtual / dynamic controls won't get shortcuts
+ b->setGlobalShortcut(dummyShortcut); // -<- enableGlobalShortcut() is not there => use workaround
+ // b->enableGlobalShortcut();
+ connect( b, SIGNAL( triggered(bool) ), SLOT( toggleMuted() ) );
+Index: kmix/gui/viewdockareapopup.h
+===================================================================
+--- kmix/gui/viewdockareapopup.h (revision 1226957)
++++ kmix/gui/viewdockareapopup.h (revision 1226958)
+@@ -24,7 +24,6 @@
+ #include "viewbase.h"
+
+ class QGridLayout;
+-class QPushButton;
+ class QWidget;
+
+ class Mixer;
+@@ -48,8 +47,6 @@
+
+ protected:
+ KMixWindow *_dock;
+- //MixDevice *_dockDevice;
+- QPushButton *_showPanelBox;
+
+ void wheelEvent ( QWheelEvent * e );
+ virtual void _setMixSet();
+Index: kmix/gui/viewsliders.cpp
+===================================================================
+--- kmix/gui/viewsliders.cpp (revision 1226957)
++++ kmix/gui/viewsliders.cpp (revision 1226958)
+@@ -148,7 +148,7 @@
+ {
+ const MixSet& mixset = _mixer->getMixSet();
+
+- if ( _mixer->dynamic() ) {
++ if ( _mixer->isDynamic() ) {
+ // We will be recreating our sliders, so make sure we trash all the separators too.
+ qDeleteAll(_separators);
+ _separators.clear();
+Index: kmix/gui/guiprofile.cpp
+===================================================================
+--- kmix/gui/guiprofile.cpp (revision 1226957)
++++ kmix/gui/guiprofile.cpp (revision 1226958)
+@@ -158,8 +158,12 @@
+ {
+ GUIProfile* guiprof = 0;
+
+- if ( mixer == 0 || profileName.isEmpty() ) {
++ if ( mixer == 0 || profileName.isEmpty() )
+ return 0;
++
++ if ( mixer->isDynamic() ) {
++ kDebug(67100) << "GUIProfile::find() Not loading GUIProfile for Dynamic Mixer (e.g. PulseAudio)";
++ return 0;
+ }
+
+ QString requestedProfileName;
+Index: kmix/gui/viewbase.h
+===================================================================
+--- kmix/gui/viewbase.h (revision 1226957)
++++ kmix/gui/viewbase.h (revision 1226958)
+@@ -133,7 +133,7 @@
+
+ ViewFlags _vflags;
+ GUIProfile* _guiprof;
+- KActionCollection *_localActionColletion;
++ KActionCollection *_localActionColletion;
+
+ virtual void _setMixSet() = 0;
+
+Index: kmix/gui/viewdockareapopup.cpp
+===================================================================
+--- kmix/gui/viewdockareapopup.cpp (revision 1226957)
++++ kmix/gui/viewdockareapopup.cpp (revision 1226958)
+@@ -88,8 +88,8 @@
+ {
+ // kDebug(67100) << "ViewDockAreaPopup::setMixSet()\n";
+
+- if ( _mixer->dynamic() ) {
+- // Our _layoutMDW now should only contain spacer widgets from the QSpacerItems's in add() below.
++ if ( _mixer->isDynamic() ) {
++ // Our _layoutMDW now should only contain spacer widgets from the QSpacerItem's in add() below.
+ // We need to trash those too otherwise all sliders gradually migrate away from the edge :p
+ QLayoutItem *li;
+ while ( ( li = _layoutMDW->takeAt(0) ) )
+@@ -114,9 +114,9 @@
+ QString matchAllPlaybackAndTheCswitch("pvolume,pswitch,cswitch");
+ ProfControl *pctl = new ProfControl( dummyMatchAll, matchAllPlaybackAndTheCswitch);
+ MixDeviceWidget *mdw = new MDWSlider(
+- md, // only 1 device. This is actually _dockDevice
++ md, // only 1 device.
+ true, // Show Mute LED
+- false, // Show Record LED
++ false, // Show Record LED
+ false, // Small
+ Qt::Vertical, // Direction: only 1 device, so doesn't matter
+ this, // parent
+@@ -128,10 +128,10 @@
+ _layoutMDW->addWidget( mdw, 0, 1 );
+
+ // Add button to show main panel
+- _showPanelBox = new QPushButton( i18n("Mixer"), this );
+- _showPanelBox->setObjectName( QLatin1String("MixerPanel" ));
+- connect ( _showPanelBox, SIGNAL( clicked() ), SLOT( showPanelSlot() ) );
+- _layoutMDW->addWidget( _showPanelBox, 1, 0, 1, 3 );
++ QPushButton *pb = new QPushButton( i18n("Mixer"), this );
++ pb->setObjectName( QLatin1String("MixerPanel" ));
++ connect ( pb, SIGNAL( clicked() ), SLOT( showPanelSlot() ) );
++ _layoutMDW->addWidget( pb, 1, 0, 1, 3 );
+
+ return mdw;
+ }
+Index: kmix/core/mixdevice.h
+===================================================================
+--- kmix/core/mixdevice.h (revision 1226957)
++++ kmix/core/mixdevice.h (revision 1226958)
+@@ -157,15 +157,6 @@
+ _artificial = artificial;
+ }
+
+- bool isEthereal() const
+- {
+- return _ethereal;
+- }
+- void setEthereal(bool _ethereal)
+- {
+- this->_ethereal = _ethereal;
+- }
+-
+ void setControlProfile(ProfControl* control);
+ ProfControl* controlProfile();
+
+@@ -191,14 +182,12 @@
+ int _enumCurrentId;
+ QList<QString> _enumValues; // A MixDevice, that is an ENUM, has these _enumValues
+
+- //bool _doNotRestore;
+ // A virtual control. It will not be saved/restored and/or doesn't get shortcuts
+- // Actually we discriminate those "virtual" controls in artificial controls and ethereal controls:
++ // Actually we discriminate those "virtual" controls in artificial controls and dynamic controls:
+ // Type Shortcut Restore
+ // Artificial: yes no Virtual::GlobalMaster or Virtual::CaptureGroup_3 (controls that are constructed artificially from other controls)
+- // Ethereal : no no Controls that come and go, like Pulse Stream controls
++ // Dynamic : no no Controls that come and go, like Pulse Stream controls
+ bool _artificial;
+- bool _ethereal;
+ MixSet *_moveDestinationMixSet;
+ QString _iconName;
+
+Index: kmix/core/mixer.cpp
+===================================================================
+--- kmix/core/mixer.cpp (revision 1226957)
++++ kmix/core/mixer.cpp (revision 1226958)
+@@ -748,7 +748,7 @@
+ m_dynamic = dynamic;
+ }
+
+-bool Mixer::dynamic()
++bool Mixer::isDynamic()
+ {
+ return m_dynamic;
+ }
+Index: kmix/core/mixer.h
+===================================================================
+--- kmix/core/mixer.h (revision 1226957)
++++ kmix/core/mixer.h (revision 1226958)
+@@ -164,7 +164,7 @@
+
+ /// Says if we are dynamic (e.g. widgets can come and go)
+ virtual void setDynamic( bool dynamic = true );
+- virtual bool dynamic();
++ virtual bool isDynamic();
+
+ virtual bool moveStream( const QString id, const QString& destId );
+
+Index: kmix/core/mixdevice.cpp
+===================================================================
+--- kmix/core/mixdevice.cpp (revision 1226957)
++++ kmix/core/mixdevice.cpp (revision 1226958)
+@@ -23,6 +23,7 @@
+ #include <klocale.h>
+
+ #include "core/mixdevice.h"
++#include "core/mixer.h"
+ #include "gui/guiprofile.h"
+ #include "core/volume.h"
+
+@@ -96,14 +97,12 @@
+
+ MixDevice::MixDevice( Mixer* mixer, const QString& id, const QString& name, const QString& iconName, MixSet* moveDestinationMixSet )
+ {
+- // doNotRestore is superseded by the more generic concepts isEthereal(), isArtificial()
+ init(mixer, id, name, iconName, moveDestinationMixSet);
+ }
+
+ void MixDevice::init( Mixer* mixer, const QString& id, const QString& name, const QString& iconName, MixSet* moveDestinationMixSet )
+ {
+ _artificial = false;
+- _ethereal = false;
+ _mixer = mixer;
+ _id = id;
+ if( name.isEmpty() )
+@@ -117,9 +116,10 @@
+ _moveDestinationMixSet = moveDestinationMixSet;
+ if ( _id.contains(' ') ) {
+ // The key is used in the config file. It MUST NOT contain spaces
+- kError(67100) << "MixDevice::setId(\"" << id << "\") . Invalid key - it might not contain spaces" << endl;
++ kError(67100) << "MixDevice::setId(\"" << id << "\") . Invalid key - it must not contain spaces" << endl;
+ _id.replace(' ', '_');
+ }
++ kDebug(67100) << "MixDevice::init() _id=" << _id;
+ }
+
+ void MixDevice::addPlaybackVolume(Volume &playbackVol)
+@@ -216,11 +216,10 @@
+ */
+ void MixDevice::read( KConfig *config, const QString& grp )
+ {
+- if ( isEthereal() || isArtificial() ) {
++ if ( _mixer->isDynamic() || isArtificial() ) {
+ kDebug(67100) << "MixDevice::read(): This MixDevice does not permit volume restoration (i.e. because it is handled lower down in the audio stack). Ignoring.";
+ } else {
+- QString devgrp;
+- devgrp.sprintf( "%s.Dev%s", grp.toAscii().data(), _id.toAscii().data() );
++ QString devgrp = QString("%1.Dev%2").arg(grp).arg(_id);
+ KConfigGroup cg = config->group( devgrp );
+ //kDebug(67100) << "MixDevice::read() of group devgrp=" << devgrp;
+
+@@ -264,11 +263,10 @@
+ */
+ void MixDevice::write( KConfig *config, const QString& grp )
+ {
+- if (isEthereal() || isArtificial()) {
++ if (_mixer->isDynamic() || isArtificial()) {
+ kDebug(67100) << "MixDevice::write(): This MixDevice does not permit volume saving (i.e. because it is handled lower down in the audio stack). Ignoring.";
+ } else {
+- QString devgrp;
+- devgrp.sprintf( "%s.Dev%s", grp.toAscii().data(), _id.toAscii().data() );
++ QString devgrp = QString("%1.Dev%2").arg(grp).arg(_id);
+ KConfigGroup cg = config->group(devgrp);
+ // kDebug(67100) << "MixDevice::write() of group devgrp=" << devgrp;
+
+Index: kmix/apps/kmix.cpp
+===================================================================
+--- kmix/apps/kmix.cpp (revision 1226957)
++++ kmix/apps/kmix.cpp (revision 1226958)
+@@ -182,21 +182,20 @@
+
+ void KMixWindow::initActionsAfterInitMixer()
+ {
+- bool isPulseAudio = false;
+- // Add "launch_pavucontrol" to menu, if Pulseaudio backend is in use
++ // Only show the new tab widget if some of the mixers are not Dynamic.
++ // The GUI that then pops up could then make a new mixer from a dynamic one,
++ // if mixed dynamic and non-dynamic mixers were allowed, but this is generally not the case.
++ bool allDynamic = true;
+ foreach( Mixer* mixer, Mixer::mixers() )
+ {
+- if ( mixer->getDriverName() == "PulseAudio")
++ if ( !mixer->isDynamic() )
+ {
+- isPulseAudio = true;
+- KAction* action = actionCollection()->addAction( "launch_pavucontrol" );
+- action->setText( i18n( "Audio setup (&Pulseaudio)" ) );
+- connect(action, SIGNAL(triggered(bool) ), SLOT( slotPavucontrolExec() ));
++ allDynamic = false;
+ break;
+ }
+ }
+
+- if (! isPulseAudio )
++ if (! allDynamic )
+ {
+ QPixmap cornerNewPM = KIconLoader::global()->loadIcon( "tab-new", KIconLoader::Toolbar, KIconLoader::SizeSmall );
+ QPushButton* _cornerLabelNew = new QPushButton();
+@@ -339,8 +338,11 @@
+
+ // The following loop is necessary for the case that the user has hidden all views for a Mixer instance.
+ // Otherwise we would not save the Meta information (step -2- below for that mixer.
+- foreach ( Mixer* mixer, Mixer::mixers() )
+- mixerViews[mixer->id()]; // just insert a map entry
++ // We also do not save dynamic mixers (e.g. PulseAudio)
++ foreach ( Mixer* mixer, Mixer::mixers() ) {
++ if ( !mixer->isDynamic() )
++ mixerViews[mixer->id()]; // just insert a map entry
++ }
+
+ // -1- Save the views themselves
+ for ( int i=0; i<m_wsMixers->count() ; ++i ) {
+@@ -351,8 +353,10 @@
+ // Otherwise the user will be confused afer re-plugging the card (as the config was not saved).
+ mw->saveConfig( KGlobal::config().data() );
+ // add the view to the corresponding mixer list, so we can save a views-per-mixer list below
+- QStringList& qsl = mixerViews[mw->mixer()->id()];
+- qsl.append(mw->getGuiprof()->getId());
++ if ( !mw->mixer()->isDynamic() ) {
++ QStringList& qsl = mixerViews[mw->mixer()->id()];
++ qsl.append(mw->getGuiprof()->getId());
++ }
+ }
+ }
+
+@@ -539,22 +543,29 @@
+ continue; // OK, this mixer already has a profile => skip it
+ }
+ // No TAB YET => This should mean KMix is just started, or the user has just plugged in a card
+- bool profileListHasKey = pconfig.hasKey( mixer->id() ); // <<< SHOULD be before the following line
+- QStringList profileList = pconfig.readEntry( mixer->id(), QStringList() );
++ bool profileListHasKey = false;
++ QStringList profileList;
++ bool aProfileWasAddedSucesufully = false;
+
+- bool aProfileWasAddedSucesufully = false;
+- foreach ( QString profileId, profileList)
+- {
+- // This handles the profileList form the kmixrc
+- kDebug() << "Now searching for profile: " << profileId ;
+- GUIProfile* guiprof = GUIProfile::find(mixer, profileId, true, false); // ### Card specific profile ###
+- if ( guiprof != 0 ) {
+- addMixerWidget(mixer->id(), guiprof, -1);
+- aProfileWasAddedSucesufully = true;
++ if ( !mixer->isDynamic() ) {
++ // We do not support save profiles for dynamic mixers (i.e. PulseAudio)
++
++ profileListHasKey = pconfig.hasKey( mixer->id() ); // <<< SHOULD be before the following line
++ profileList = pconfig.readEntry( mixer->id(), QStringList() );
++
++ foreach ( QString profileId, profileList)
++ {
++ // This handles the profileList form the kmixrc
++ kDebug() << "Now searching for profile: " << profileId ;
++ GUIProfile* guiprof = GUIProfile::find(mixer, profileId, true, false); // ### Card specific profile ###
++ if ( guiprof != 0 ) {
++ addMixerWidget(mixer->id(), guiprof, -1);
++ aProfileWasAddedSucesufully = true;
++ }
++ else {
++ kError() << "Cannot load profile " << profileId << " . It was removed by the user, or the KMix config file is defective.";
++ }
+ }
+- else {
+- kError() << "Cannot load profile " << profileId << " . It was removed by the user, or the KMix config file is defective.";
+- }
+ }
+
+ // The we_need_a_fallback case is a bit tricky. Please ask the author (cesken) before even considering to change the code.
+@@ -568,11 +579,17 @@
+
+ // Lets try a bunch of fallback strategies:
+ GUIProfile* guiprof = 0;
++ if ( !mixer->isDynamic() ) {
++ // We know that GUIProfile::find() will return 0 if the mixer is dynamic, so don't bother checking.
++ kDebug() << "Attempting to find a card-specific GUI Profile for the mixer " << mixer->id();
+ guiprof = GUIProfile::find(mixer, QString("default"), false, false); // ### Card specific profile ###
+- if ( guiprof == 0 ) {
+- guiprof = GUIProfile::find(mixer, QString("default"), false, true); // ### Card unspecific profile ###
++ if ( guiprof == 0 ) {
++ kDebug() << "Not found. Attempting to find a generic GUI Profile for the mixer " << mixer->id();
++ guiprof = GUIProfile::find(mixer, QString("default"), false, true); // ### Card unspecific profile ###
++ }
+ }
+ if ( guiprof == 0) {
++ kDebug() << "Using fallback GUI Profile for the mixer " << mixer->id();
+ // This means there is neither card specific nor card unspecific profile
+ // This is the case for some backends (as they don't ship profiles).
+ guiprof = GUIProfile::fallbackProfile(mixer);
+@@ -683,8 +700,7 @@
+ m_wsMixers->removeTab(idx);
+ delete kmw;
+
+- bool isPulseAudio = kmw->mixer()->getDriverName() == "PulseAudio";
+- m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1);
++ m_wsMixers->setTabsClosable(!kmw->mixer()->isDynamic() && m_wsMixers->count() > 1);
+
+ saveViewConfig();
+ }
+@@ -882,8 +898,7 @@
+ m_wsMixers->setCurrentWidget(kmw);
+ }
+
+- bool isPulseAudio = mixer->getDriverName() == "PulseAudio";
+- m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1);
++ m_wsMixers->setTabsClosable(!mixer->isDynamic() && m_wsMixers->count() > 1);
+ m_dontSetDefaultCardOnStart = false;
+
+
+@@ -1071,12 +1086,6 @@
+ KMessageBox::information( 0, m_hwInfoString, i18n("Mixer Hardware Information") );
+ }
+
+-void KMixWindow::slotPavucontrolExec()
+-{
+- QStringList args("pavucontrol");
+- forkExec(args);
+-}
+-
+ void KMixWindow::slotKdeAudioSetupExec()
+ {
+ QStringList args;
+@@ -1133,6 +1142,12 @@
+ m_defaultCardOnStart = kmw->getGuiprof()->getId();
+ // As switching the tab does NOT mean switching the master card, we do not need to update dock icon here.
+ // It would lead to unnecesary flickering of the (complete) dock area.
++
++ // We only show the "Configure Channels..." menu item if the mixer is not dynamic
++ ViewBase* view = kmw->currentView();
++ QAction* action = actionCollection()->action( "toggle_channels_currentview" );
++ if (view && action)
++ action->setVisible( !view->getMixer()->isDynamic() );
+ }
+ }
+
+Index: kmix/apps/kmix.h
+===================================================================
+--- kmix/apps/kmix.h (revision 1226957)
++++ kmix/apps/kmix.h (revision 1226958)
+@@ -136,7 +136,6 @@
+ private slots:
+ void saveConfig();
+ void slotHWInfo();
+- void slotPavucontrolExec();
+ void slotKdeAudioSetupExec();
+ void slotConfigureCurrentView();
+ void slotSelectMaster();
+Index: kmix/kmixui.rc
+===================================================================
+--- kmix/kmixui.rc (revision 1226957)
++++ kmix/kmixui.rc (revision 1226958)
+@@ -17,7 +17,6 @@
+ <Action name="toggle_channels_currentview" append="save_merge"/>
+ <Action name="select_master" append="save_merge"/>
+ <Action name="launch_kdesoundsetup" append="save_merge"/>
+- <Action name="launch_pavucontrol" append="save_merge"/>
+ </Menu>
+ <Menu name="help" append="about_merge"><text>&amp;Help</text>
+ <Action name="hwinfo"/>
+Index: kmix/backends/mixer_backend.cpp
+===================================================================
+--- kmix/backends/mixer_backend.cpp (revision 1226957)
++++ kmix/backends/mixer_backend.cpp (revision 1226958)
+@@ -48,7 +48,7 @@
+ bool Mixer_Backend::openIfValid() {
+ bool valid = false;
+ int ret = open();
+- if ( ret == 0 && (m_mixDevices.count() > 0 || _mixer->dynamic())) {
++ if ( ret == 0 && (m_mixDevices.count() > 0 || _mixer->isDynamic())) {
+ valid = true;
+ // A better ID is now calculated in mixertoolbox.cpp, and set via setID(),
+ // but we want a somehow usable fallback just in case.
+@@ -139,7 +139,7 @@
+ return m_mixDevices.at(0); // Backend has NOT set a recommended master. Evil backend => lets help out.
+ } //first device (if exists)
+ else {
+- if ( !_mixer->dynamic()) {
++ if ( !_mixer->isDynamic()) {
+ // This should never ever happen, as KMix doe NOT accept soundcards without controls
+ kError(67100) << "Mixer_Backend::recommendedMaster(): returning invalid master. This is a bug in KMix. Please file a bug report stating how you produced this." << endl;
+ }
+Index: kmix/backends/mixer_pulse.cpp
+===================================================================
+--- kmix/backends/mixer_pulse.cpp (revision 1226957)
++++ kmix/backends/mixer_pulse.cpp (revision 1226958)
+@@ -36,6 +36,8 @@
+ #define KMIXPA_APP_CAPTURE 3
+ #define KMIXPA_WIDGET_MAX KMIXPA_APP_CAPTURE
+
++#define KMIXPA_EVENT_KEY "sink-input-by-media-role:event"
++
+ static unsigned int refcount = 0;
+ static pa_glib_mainloop *s_mainloop = NULL;
+ static pa_context *s_context = NULL;
+@@ -189,7 +191,7 @@
+
+ devinfo s;
+ s.index = s.device_index = i->index;
+- s.name = QString(i->name).replace(' ', '_');
++ s.name = QString::fromUtf8(i->name).replace(' ', '_');
+ s.description = QString::fromUtf8(i->description);
+ s.icon_name = QString::fromUtf8(pa_proplist_gets(i->proplist, PA_PROP_DEVICE_ICON_NAME));
+ s.volume = i->volume;
+@@ -242,7 +244,7 @@
+
+ devinfo s;
+ s.index = s.device_index = i->index;
+- s.name = QString(i->name).replace(' ', '_');
++ s.name = QString::fromUtf8(i->name).replace(' ', '_');
+ s.description = QString::fromUtf8(i->description);
+ s.icon_name = QString::fromUtf8(pa_proplist_gets(i->proplist, PA_PROP_DEVICE_ICON_NAME));
+ s.volume = i->volume;
+@@ -307,26 +309,28 @@
+
+ const char *t;
+ if ((t = pa_proplist_gets(i->proplist, "module-stream-restore.id"))) {
+- if (strcmp(t, "sink-input-by-media-role:event") == 0) {
++ if (strcmp(t, KMIXPA_EVENT_KEY) == 0) {
+ kWarning(67100) << "Ignoring sink-input due to it being designated as an event and thus handled by the Event slider";
+ return;
+ }
+ }
+
+- QString prefix = QString("%1: ").arg(i18n("Unknown Application"));
++ QString appname = i18n("Unknown Application");
+ if (clients.contains(i->client))
+- prefix = QString("%1: ").arg(clients[i->client]);
++ appname = clients[i->client];
+
++ QString prefix = QString("%1: ").arg(appname);
++
+ devinfo s;
+ s.index = i->index;
+ s.device_index = i->sink;
+ s.description = prefix + QString::fromUtf8(i->name);
+- s.name = QString("stream:") + i->index;
++ s.name = QString("stream:") + QString::number(i->index); //appname.replace(' ', '_').toLower();
+ s.icon_name = getIconNameFromProplist(i->proplist);
+ s.volume = i->volume;
+ s.channel_map = i->channel_map;
+ s.mute = !!i->mute;
+- s.stream_restore_rule = t;
++ s.stream_restore_rule = QString::fromUtf8(t);
+
+ translateMasksAndMaps(s);
+
+@@ -370,22 +374,24 @@
+ return;
+ }
+
+- QString prefix = QString("%1: ").arg(i18n("Unknown Application"));
++ QString appname = i18n("Unknown Application");
+ if (clients.contains(i->client))
+- prefix = QString("%1: ").arg(clients[i->client]);
++ appname = clients[i->client];
+
++ QString prefix = QString("%1: ").arg(appname);
++
+ devinfo s;
+ s.index = i->index;
+ s.device_index = i->source;
+ s.description = prefix + QString::fromUtf8(i->name);
+- s.name = QString("stream:") + i->index;
++ s.name = QString("stream:") + QString::number(i->index); //appname.replace(' ', '_').toLower();
+ s.icon_name = getIconNameFromProplist(i->proplist);
+ //s.volume = i->volume;
+ s.volume = captureDevices[i->source].volume;
+ s.channel_map = i->channel_map;
+ //s.mute = !!i->mute;
+ s.mute = captureDevices[i->source].mute;
+- s.stream_restore_rule = pa_proplist_gets(i->proplist, "module-stream-restore.id");
++ s.stream_restore_rule = QString::fromUtf8(pa_proplist_gets(i->proplist, "module-stream-restore.id"));
+
+ translateMasksAndMaps(s);
+
+@@ -407,7 +413,7 @@
+ }
+
+
+-static devinfo create_role_devinfo(const char* name) {
++static devinfo create_role_devinfo(QString name) {
+
+ Q_ASSERT(s_RestoreRules.contains(name));
+
+@@ -436,9 +442,10 @@
+
+ if (eol > 0) {
+ dec_outstanding(c);
++
+ // Special case: ensure that our media events exists.
+ // On first login by a new users, this wont be in our database so we should create it.
+- if (!outputRoles.contains(PA_INVALID_INDEX)) {
++ if (!s_RestoreRules.contains(KMIXPA_EVENT_KEY)) {
+ // Create a fake rule
+ restoreRule rule;
+ rule.channel_map.channels = 1;
+@@ -447,37 +454,56 @@
+ rule.volume.values[0] = PA_VOLUME_NORM;
+ rule.mute = false;
+ rule.device = "";
+- s_RestoreRules["sink-input-by-media-role:event"] = rule;
++ s_RestoreRules[KMIXPA_EVENT_KEY] = rule;
++ kDebug(67100) << "Initialising restore rule for new user: " << i18n("Event Sounds");
++ }
+
+- devinfo s = create_role_devinfo("sink-input-by-media-role:event");
+- outputRoles[s.index] = s;
+- kDebug(67100) << "Initialising restore rule for new user: " << s.description;
++ if (s_mixers.contains(KMIXPA_APP_PLAYBACK)) {
++ // If we have rules, it will be created below... but if no rules
++ // then we add it here.
++ if (!outputRoles.contains(PA_INVALID_INDEX)) {
++ devinfo s = create_role_devinfo(KMIXPA_EVENT_KEY);
++ outputRoles[s.index] = s;
+
+- if (s_mixers.contains(KMIXPA_APP_PLAYBACK))
+ s_mixers[KMIXPA_APP_PLAYBACK]->addWidget(s.index);
++ }
++
++ s_mixers[KMIXPA_APP_PLAYBACK]->triggerUpdate();
+ }
+
+- if (s_mixers.contains(KMIXPA_APP_PLAYBACK))
+- s_mixers[KMIXPA_APP_PLAYBACK]->triggerUpdate();
+ return;
+ }
+
+- kDebug(67100) << "Got some info about restore rule: " << i->name << i->device;
++
++ QString name = QString::fromUtf8(i->name);
++ kDebug(67100) << QString("Got some info about restore rule: '%1' (Device: %2)").arg(name).arg(i->device ? i->device : "None");
+ restoreRule rule;
+ rule.channel_map = i->channel_map;
+ rule.volume = i->volume;
+ rule.mute = !!i->mute;
+ rule.device = i->device;
+- s_RestoreRules[i->name] = rule;
+
+- // We only want to know about Sound Events for now...
+- if (strcmp(i->name, "sink-input-by-media-role:event") == 0) {
+- devinfo s = create_role_devinfo(i->name);
+- bool is_new = !outputRoles.contains(s.index);
+- outputRoles[s.index] = s;
++ if (rule.channel_map.channels < 1 && name == KMIXPA_EVENT_KEY) {
++ // Stream restore rules may not have valid volumes/channel maps (as these are optional)
++ // but we need a valid volume+channelmap for our events sounds so fix it up.
++ rule.channel_map.channels = 1;
++ rule.channel_map.map[0] = PA_CHANNEL_POSITION_MONO;
++ rule.volume.channels = 1;
++ rule.volume.values[0] = PA_VOLUME_NORM;
++ }
+
+- if (is_new && s_mixers.contains(KMIXPA_APP_PLAYBACK))
+- s_mixers[KMIXPA_APP_PLAYBACK]->addWidget(s.index);
++ s_RestoreRules[name] = rule;
++
++ if (s_mixers.contains(KMIXPA_APP_PLAYBACK)) {
++ // We only want to know about Sound Events for now...
++ if (name == KMIXPA_EVENT_KEY) {
++ devinfo s = create_role_devinfo(name);
++ bool is_new = !outputRoles.contains(s.index);
++ outputRoles[s.index] = s;
++
++ if (is_new)
++ s_mixers[KMIXPA_APP_PLAYBACK]->addWidget(s.index);
++ }
+ }
+ }
+
+@@ -788,7 +814,6 @@
+ Volume v(dev.chanMask, PA_VOLUME_NORM, PA_VOLUME_MUTED, true, false);
+ setVolumeFromPulse(v, dev);
+ MixDevice* md = new MixDevice( _mixer, dev.name, dev.description, dev.icon_name, ms);
+- md->setEthereal(true);
+ md->addPlaybackVolume(v);
+ md->setMuted(dev.mute);
+ m_mixDevices.append(md);
+@@ -1095,10 +1120,10 @@
+ {
+ restoreRule &rule = s_RestoreRules[iter->stream_restore_rule];
+ pa_ext_stream_restore_info info;
+- info.name = iter->stream_restore_rule.toAscii().constData();
++ info.name = iter->stream_restore_rule.toUtf8().constData();
+ info.channel_map = rule.channel_map;
+ info.volume = genVolumeForPulse(*iter, md->playbackVolume());
+- info.device = rule.device.isEmpty() ? NULL : rule.device.toAscii().constData();
++ info.device = rule.device.isEmpty() ? NULL : rule.device.toUtf8().constData();
+ info.mute = (md->isMuted() ? 1 : 0);
+
+ pa_operation* o;
+@@ -1153,13 +1178,13 @@
+
+ // Lookup the stream index.
+ uint32_t stream_index = PA_INVALID_INDEX;
+- const char* stream_restore_rule = NULL;
++ QString stream_restore_rule = "";
+ devmap::iterator iter;
+ devmap *map = get_widget_map(m_devnum);
+ for (iter = map->begin(); iter != map->end(); ++iter) {
+ if (iter->name == id) {
+ stream_index = iter->index;
+- stream_restore_rule = iter->stream_restore_rule.isEmpty() ? NULL : iter->stream_restore_rule.toAscii().constData();
++ stream_restore_rule = iter->stream_restore_rule;
+ break;
+ }
+ }
+@@ -1171,12 +1196,12 @@
+
+ if (destId.isEmpty()) {
+ // We want to remove any specific device in the stream restore rule.
+- if (!stream_restore_rule || !s_RestoreRules.contains(stream_restore_rule)) {
++ if (stream_restore_rule.isEmpty() || !s_RestoreRules.contains(stream_restore_rule)) {
+ kWarning(67100) << "Mixer_PULSE::moveStream(): Trying to set Automatic on a stream with no rule";
+ } else {
+ restoreRule &rule = s_RestoreRules[stream_restore_rule];
+ pa_ext_stream_restore_info info;
+- info.name = stream_restore_rule;
++ info.name = stream_restore_rule.toUtf8().constData();
+ info.channel_map = rule.channel_map;
+ info.volume = rule.volume;
+ info.device = NULL;
+@@ -1192,12 +1217,12 @@
+ } else {
+ pa_operation* o;
+ if (KMIXPA_APP_PLAYBACK == m_devnum) {
+- if (!(o = pa_context_move_sink_input_by_name(s_context, stream_index, destId.toAscii().constData(), NULL, NULL))) {
++ if (!(o = pa_context_move_sink_input_by_name(s_context, stream_index, destId.toUtf8().constData(), NULL, NULL))) {
+ kWarning(67100) << "pa_context_move_sink_input_by_name() failed";
+ return false;
+ }
+ } else {
+- if (!(o = pa_context_move_source_output_by_name(s_context, stream_index, destId.toAscii().constData(), NULL, NULL))) {
++ if (!(o = pa_context_move_source_output_by_name(s_context, stream_index, destId.toUtf8().constData(), NULL, NULL))) {
+ kWarning(67100) << "pa_context_move_source_output_by_name() failed";
+ return false;
+ }
diff --git a/extra/kdenetwork/PKGBUILD b/extra/kdenetwork/PKGBUILD
index aadd3a7c2..47d24b7e4 100644
--- a/extra/kdenetwork/PKGBUILD
+++ b/extra/kdenetwork/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 115153 2011-03-17 09:42:34Z andrea $
+# $Id: PKGBUILD 118075 2011-04-05 10:08:27Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -10,8 +10,8 @@ pkgname=('kdenetwork-filesharing'
'kdenetwork-kppp'
'kdenetwork-krdc'
'kdenetwork-krfb')
-pkgver=4.6.1
-pkgrel=2
+pkgver=4.6.2
+pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
license=('GPL' 'LGPL' 'FDL')
@@ -21,7 +21,7 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr'
'ppp' 'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu'
'telepathy-qt4' 'docbook-xsl' 'libktorrent')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('dc09ffe178070147d67d5c27b9c340a86a2e14c7')
+sha1sums=('6865c074b87a201b876d11b86a2f14aff5f45abb')
build() {
cd ${srcdir}
diff --git a/extra/kdepim/PKGBUILD b/extra/kdepim/PKGBUILD
index 7f70930ed..6fc1fd302 100644
--- a/extra/kdepim/PKGBUILD
+++ b/extra/kdepim/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 107973 2011-01-28 08:28:57Z andrea $
+# $Id: PKGBUILD 118254 2011-04-06 08:33:32Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -21,18 +21,23 @@ pkgname=('kdepim-akonadiconsole'
'kdepim-libkdepim'
'kdepim-wizards')
pkgver=4.4.10
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url='http://www.kde.org'
license=('GPL' 'LGPL' 'FDL')
groups=('kde' 'kdepim')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss'
'pilot-link' 'kde-agent' 'docbook-xsl')
-source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('b9c45e80dddc3bff201df6ddd76fdf4f1f18d5c3')
+source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
+ 'asynchronous-start.patch')
+sha1sums=('b9c45e80dddc3bff201df6ddd76fdf4f1f18d5c3'
+ '3816d618026b85500a21753395712cd91de6e31b')
build() {
- cd ${srcdir}
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ patch -Np1 -i ${srcdir}/asynchronous-start.patch
+
+ cd ${srcdir}
mkdir build
cd build
cmake ../${pkgbase}-${pkgver} \
@@ -136,6 +141,7 @@ package_kdepim-kmail() {
'kdepim-mimelib' 'kdepim-plugins')
replaces=('kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve'
'kdepim-mimelib' 'kdepim-plugins')
+ optdepends=('cyrus-sasl-plugins: CRAM-MD5 authentication')
for i in kmail doc/kmail mimelib libksieve plugins/kmail ksendemail \
kmailcvt ontologies kontact/plugins/kmail; do
cd $srcdir/build/${i}
diff --git a/extra/kdepim/asynchronous-start.patch b/extra/kdepim/asynchronous-start.patch
new file mode 100644
index 000000000..bc014116c
--- /dev/null
+++ b/extra/kdepim/asynchronous-start.patch
@@ -0,0 +1,87 @@
+commit cfa404b7188e4c26bddbc9579728f6d25f8cd214
+Author: Stephen Kelly <steveire@gmail.com>
+Date: Tue Apr 5 11:09:43 2011 +0200
+
+ Start kdepim 4.4 asynchronously if built against 4.6.
+
+ The synchronous mechanism doesn't have enough time to start
+ before it reports failure.
+
+diff --git a/kaddressbook/main.cpp b/kaddressbook/main.cpp
+index 4c8ca42..200f8ec 100644
+--- a/kaddressbook/main.cpp
++++ b/kaddressbook/main.cpp
+@@ -49,11 +49,13 @@ int main( int argc, char **argv )
+ MainWindow *window = new MainWindow;
+ window->show();
+
++#if !KDE_IS_VERSION(4,6,0)
+ if ( !Akonadi::Control::start( window ) ) {
+ //TODO: add message box after string freeze
+ kWarning() << "Unable to start Akonadi server, exit application";
+ return 1;
+ }
++#endif
+
+ return app.exec();
+ }
+diff --git a/kmail/kmmainwidget.cpp b/kmail/kmmainwidget.cpp
+index a31973a..10b14e4 100644
+--- a/kmail/kmmainwidget.cpp
++++ b/kmail/kmmainwidget.cpp
+@@ -165,6 +165,9 @@ using KMail::TemplateParser;
+
+ #include <errno.h> // ugh
+
++#include <akonadi/control.h>
++#include <akonadi/servermanager.h>
++
+ #include "kmmainwidget.moc"
+
+ K_GLOBAL_STATIC( KMMainWidget::PtrList, theMainWidgetList )
+@@ -186,6 +189,10 @@ KMMainWidget::KMMainWidget( QWidget *parent, KXMLGUIClient *aGUIClient,
+ mVacationIndicatorActive( false ),
+ mGoToFirstUnreadMessageInSelectedFolder( false )
+ {
++#if KDE_IS_VERSION(4,6,0)
++ Akonadi::Control::widgetNeedsAkonadi(this);
++ Akonadi::ServerManager::start();
++#endif
+ // must be the first line of the constructor:
+ mStartupDone = false;
+ mWasEverShown = false;
+diff --git a/kmail/main.cpp b/kmail/main.cpp
+index f39ca5f..c2dd1c3 100644
+--- a/kmail/main.cpp
++++ b/kmail/main.cpp
+@@ -145,12 +145,14 @@ int main(int argc, char *argv[])
+ app.setEventLoopReached();
+ app.delayedInstanceCreation();
+
++#if !KDE_IS_VERSION(4,6,0)
+ // Start Akonadi
+ if ( !Akonadi::Control::start( kmkernel->getKMMainWidget() ) ) {
+ //TODO: add message box after string freeze
+ kWarning() << "Unable to start Akonadi server, exit application";
+ return 1;
+ }
++#endif
+
+ // Go!
+ int ret = qApp->exec();
+diff --git a/kontact/src/main.cpp b/kontact/src/main.cpp
+index 356aa57..cb4a235 100644
+--- a/kontact/src/main.cpp
++++ b/kontact/src/main.cpp
+@@ -199,9 +199,11 @@ int main( int argc, char **argv )
+
+ KontactApp app;
+
++#if !KDE_IS_VERSION(4,6,0)
+ // KDE 4.4: do akonadi startup before creating any window, since creating
+ // the window loads kmail. In 4.5 we'll do this startup async instead.
+ Akonadi::Control::start( 0 );
++#endif
+
+ // Qt doesn't treat the system tray as a window, and therefore Qt would quit
+ // the event loop when an error message is clicked away while Kontact is in the
diff --git a/extra/kdepimlibs/PKGBUILD b/extra/kdepimlibs/PKGBUILD
index ea81c96fe..67acd0465 100644
--- a/extra/kdepimlibs/PKGBUILD
+++ b/extra/kdepimlibs/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 111768 2011-02-28 23:52:43Z andrea $
+# $Id: PKGBUILD 118062 2011-04-05 10:07:41Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdepimlibs
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
pkgdesc="KDE PIM Libraries"
arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'cyrus-sasl' 'openldap'
'docbook-xsl')
install='kdepimlibs.install'
source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-sha1sums=('bba2ed4593c8d658efba4d4a4346d514529a3127')
+sha1sums=('f3c78688203b90efabdd8961783e8f4d16d9c57c')
build() {
cd ${srcdir}
diff --git a/extra/kdeplasma-addons/PKGBUILD b/extra/kdeplasma-addons/PKGBUILD
index 3fb82b636..df0b64ffc 100644
--- a/extra/kdeplasma-addons/PKGBUILD
+++ b/extra/kdeplasma-addons/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111782 2011-02-28 23:55:39Z andrea $
+# $Id: PKGBUILD 118076 2011-04-05 10:08:32Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -72,7 +72,7 @@ pkgname=('kdeplasma-addons-applets-bball'
'kdeplasma-addons-wallpapers-pattern'
'kdeplasma-addons-wallpapers-virus'
'kdeplasma-addons-wallpapers-weather')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -81,7 +81,7 @@ groups=('kde' 'kdeplasma-addons')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-workspace' 'kdegraphics-libs'
'kdeedu-marble' 'eigen' 'scim' 'qwt' 'docbook-xsl' 'boost')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('8b959c1e2aa5f00b2f0897c9415ba018b018a3d7')
+sha1sums=('f888908e937453c9799c6ad71c514a5227e13700')
build() {
cd ${srcdir}
diff --git a/extra/kdeplasma-applets-networkmanagement/PKGBUILD b/extra/kdeplasma-applets-networkmanagement/PKGBUILD
index 6d72f56cf..a27add6c9 100644
--- a/extra/kdeplasma-applets-networkmanagement/PKGBUILD
+++ b/extra/kdeplasma-applets-networkmanagement/PKGBUILD
@@ -3,8 +3,8 @@
# Contributor: Jakub Schmidtke <sjakub-at-gmail.com>
pkgname=kdeplasma-applets-networkmanagement
-pkgver=git20110327
-_commit=dfea8bba5d8cef9e7bd70ec74a1df34a1ff6b089
+pkgver=git20110405
+_commit=947e4de8b211b7c29ead108a2c3618a4af9dafe1
pkgrel=1
pkgdesc="KDE control panel and widget network connections"
arch=('i686' 'x86_64')
@@ -15,7 +15,7 @@ makedepends=('cmake' 'python2' 'automoc4' 'mobile-broadband-provider-info')
optdepends=('mobile-broadband-provider-info: allow to add new mobile connection')
install=${pkgname}.install
source=("${pkgname}-${_commit}.tar.gz"::"http://quickgit.kde.org/?p=networkmanagement.git&a=snapshot&h=${_commit}")
-md5sums=('760cef41d9b22fa4237bf6539c256cce')
+md5sums=('17315e3dc3604ee59cf7b5777806f1b7')
build() {
cd ${srcdir}
diff --git a/extra/kdesdk/PKGBUILD b/extra/kdesdk/PKGBUILD
index 1a77305de..2faafaa5a 100644
--- a/extra/kdesdk/PKGBUILD
+++ b/extra/kdesdk/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111783 2011-02-28 23:55:42Z andrea $
+# $Id: PKGBUILD 118077 2011-04-05 10:08:34Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -23,7 +23,7 @@ pkgname=('kdesdk-cervisia'
'kdesdk-scripts'
'kdesdk-strigi-analyzer'
'kdesdk-umbrello')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -33,8 +33,8 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdepim-runtime' 'subversion
'docbook-xsl' 'antlr2' 'kdebase-konqueror')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
'fix-python2-path.patch')
-sha1sums=('b46270c338ebee84ee2fd069d1551d19e1f37d30'
- 'd05ca0231869c484fd3861955d960a60aff7dcfb')
+sha1sums=('d246f5571aa772d4a4d0538456b142799c17c146'
+ 'd05ca0231869c484fd3861955d960a60aff7dcfb')
build() {
cd ${srcdir}/${pkgbase}-${pkgver}
@@ -119,7 +119,7 @@ package_kdesdk-kdeaccounts-plugin() {
package_kdesdk-kdepalettes() {
pkgdesc='Palettes for the Gimp that match the KDE standard color palette'
- depends=('gimp')
+ optdepends=('gimp')
install -D -m644 $srcdir/${pkgbase}-${pkgver}/kdepalettes/KDE_Gimp \
$pkgdir/usr/share/gimp/2.0/palettes/KDE.gpl
}
diff --git a/extra/kdetoys/PKGBUILD b/extra/kdetoys/PKGBUILD
index dfb5cceb5..69db214e6 100644
--- a/extra/kdetoys/PKGBUILD
+++ b/extra/kdetoys/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111784 2011-02-28 23:55:45Z andrea $
+# $Id: PKGBUILD 118078 2011-04-05 10:08:37Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -6,7 +6,7 @@ pkgbase=kdetoys
pkgname=('kdetoys-amor'
'kdetoys-kteatime'
'kdetoys-ktux')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -14,7 +14,7 @@ license=('GPL' 'LGPL' 'FDL')
groups=('kde' 'kdetoys')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-workspace' 'docbook-xsl')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('f4870f9f2c38d7a81b08790957a143b4a9e359b2')
+sha1sums=('4619d2124abe0887ce5aca24f1333419f7cd88c5')
build() {
cd $srcdir
diff --git a/extra/kdeutils/PKGBUILD b/extra/kdeutils/PKGBUILD
index af6e02417..983aa3156 100644
--- a/extra/kdeutils/PKGBUILD
+++ b/extra/kdeutils/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111785 2011-02-28 23:55:49Z andrea $
+# $Id: PKGBUILD 118079 2011-04-05 10:08:41Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -16,7 +16,7 @@ pkgname=('kdeutils-ark'
'kdeutils-printer-applet'
'kdeutils-superkaramba'
'kdeutils-sweeper')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -26,7 +26,7 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-lib' 'kdebase-workspace'
'kdebindings-python' 'system-config-printer-common' 'libarchive' 'qimageblitz'
'docbook-xsl' 'qjson')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('f3fa79f15bc23cd38c6d72170ce957ec3d96e0db')
+sha1sums=('621d77f8f75bdd867316768f48ea257829f7def1')
build() {
cd ${srcdir}
diff --git a/extra/kdevelop-pg-qt/PKGBUILD b/extra/kdevelop-pg-qt/PKGBUILD
index ec6ba8753..1a46a89f5 100644
--- a/extra/kdevelop-pg-qt/PKGBUILD
+++ b/extra/kdevelop-pg-qt/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 112731 2011-03-06 12:25:05Z andrea $
+# $Id: PKGBUILD 118371 2011-04-06 12:38:22Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgname=kdevelop-pg-qt
-pkgver=0.9.0
+pkgver=0.9.5
pkgrel=1
pkgdesc="KDevelop Parser Generator, a LL(1) parser generator used by KDevelop language plugins"
arch=('i686' 'x86_64')
@@ -11,7 +11,7 @@ license=('GPL')
depends=('kdelibs')
makedepends=('cmake' 'automoc4')
source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('06e25c81cc34a5bddda3091ed3280e71')
+sha1sums=('b5bcb46a490bfb6a2d04c48cb28e0c77cdde183f')
build() {
cd ${srcdir}
diff --git a/extra/kdevelop-php/PKGBUILD b/extra/kdevelop-php/PKGBUILD
index 554d08c5e..aaca1eb81 100644
--- a/extra/kdevelop-php/PKGBUILD
+++ b/extra/kdevelop-php/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 112807 2011-03-06 23:51:20Z andrea $
+# $Id: PKGBUILD 118377 2011-04-06 12:39:21Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgname=kdevelop-php
-pkgver=1.2.0
-_pkgver=4.2.0
-pkgrel=2
+pkgver=1.2.2
+_pkgver=4.2.2
+pkgrel=1
pkgdesc="PHP language and documentation plugin for KDevelop/Quanta"
arch=('i686' 'x86_64')
url="http://www.kdevelop.org/"
@@ -16,8 +16,8 @@ conflicts=('kdevelop-php-docs')
options=('!makeflags')
source=("http://download.kde.org/stable/kdevelop/${_pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
"http://download.kde.org/stable/kdevelop/${_pkgver}/src/${pkgname}-docs-${pkgver}.tar.bz2")
-md5sums=('fc48c194e7b87c9fd0850b2d7fc2a78b'
- '5e7c3c33d9e0767bbf3b3df02147dfae')
+sha1sums=('0c9e4bdda868c8e2432a24727cc3e512a4a66997'
+ 'bb668e8c5dcc92dfb6b879b1a2beb27de384da2a')
build() {
cd ${srcdir}
diff --git a/extra/kdevelop/PKGBUILD b/extra/kdevelop/PKGBUILD
index 87611934d..88c87c3d0 100644
--- a/extra/kdevelop/PKGBUILD
+++ b/extra/kdevelop/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 107402 2011-01-24 17:29:50Z andrea $
+# $Id: PKGBUILD 118376 2011-04-06 12:39:07Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=kdevelop
-pkgver=4.2.0
+pkgver=4.2.2
pkgrel=1
pkgdesc="A C/C++ development environment for KDE"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ depends=('kdebase-workspace' 'kdevplatform' 'kdesdk-okteta')
makedepends=('cmake' 'automoc4' 'perl')
install="${pkgname}.install"
source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-sha1sums=('cebd9c00e19a9c27ad65e89b4653ca0b31261275')
+sha1sums=('943f86edd0f353bfa4c614972af222a1c7075755')
build() {
cd ${srcdir}
diff --git a/extra/kdevplatform/PKGBUILD b/extra/kdevplatform/PKGBUILD
index 0b3544576..2226dc645 100644
--- a/extra/kdevplatform/PKGBUILD
+++ b/extra/kdevplatform/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 107401 2011-01-24 17:29:42Z andrea $
+# $Id: PKGBUILD 118366 2011-04-06 12:37:13Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=kdevplatform
-pkgver=1.2.0
-_pkgver=4.2.0
+pkgver=1.2.2
+_pkgver=4.2.2
pkgrel=1
pkgdesc="A C/C++ development platform for KDE"
arch=('i686' 'x86_64')
@@ -15,7 +15,7 @@ optdepends=("kdesdk-kompare: difference checking")
makedepends=('cmake' 'automoc4' 'boost')
install=${pkgname}.install
source=("http://download.kde.org/stable/kdevelop/${_pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-sha1sums=('7f0f8c35435f55238483b74bea013a9454e3c7ae')
+sha1sums=('7b3c0d3e3e66fe1c959b3343e7283e4212014e92')
build() {
cd ${srcdir}
diff --git a/extra/kdewebdev/PKGBUILD b/extra/kdewebdev/PKGBUILD
index ca35eb33a..e0a90a5c9 100644
--- a/extra/kdewebdev/PKGBUILD
+++ b/extra/kdewebdev/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111786 2011-02-28 23:55:56Z andrea $
+# $Id: PKGBUILD 118080 2011-04-05 10:08:44Z andrea $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgbase=kdewebdev
@@ -6,7 +6,7 @@ pkgname=('kdewebdev-kfilereplace'
'kdewebdev-kimagemapeditor'
'kdewebdev-klinkstatus'
'kdewebdev-kommander')
-pkgver=4.6.1
+pkgver=4.6.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -15,7 +15,7 @@ groups=('kde' 'kdewebdev')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'ruby' 'tidyhtml' 'kdepim-runtime'
'docbook-xsl' 'boost')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('e915e8ea6d886f46ddc770f60362d3758b593713')
+sha1sums=('80f709845fb871919fbb2c293d1cc8f40160509b')
build() {
cd $srcdir
diff --git a/extra/ntrack/PKGBUILD b/extra/ntrack/PKGBUILD
index bdf60630d..3f4c5ff17 100644
--- a/extra/ntrack/PKGBUILD
+++ b/extra/ntrack/PKGBUILD
@@ -1,9 +1,10 @@
-# $Id: PKGBUILD 117025 2011-03-27 19:11:16Z andrea $
+# $Id: PKGBUILD 118407 2011-04-06 16:43:17Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgname=ntrack
-pkgver=013
+pkgver=13
pkgrel=1
+epoch=1
pkgdesc="A network connectivity tracking library"
arch=('i686' 'x86_64')
url="http://launchpad.net/ntrack/"
@@ -11,12 +12,12 @@ license=('LGPL')
depends=('qt' 'libnl' 'gcc-libs')
makedepends=('python2')
optdepends=('python2')
-source=("http://launchpad.net/${pkgname}/main/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz")
+source=("http://launchpad.net/${pkgname}/main/0${pkgver}/+download/${pkgname}-0${pkgver}.tar.gz")
md5sums=('90596b924a108f8b4eea52239ba64369')
options=('!libtool')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-0${pkgver}"
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var
@@ -24,6 +25,6 @@ build() {
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-0${pkgver}"
make DESTDIR="${pkgdir}" install
}
diff --git a/extra/openconnect/PKGBUILD b/extra/openconnect/PKGBUILD
index 512ca21de..14d294341 100644
--- a/extra/openconnect/PKGBUILD
+++ b/extra/openconnect/PKGBUILD
@@ -1,20 +1,23 @@
-# $Id: PKGBUILD 114330 2011-03-12 16:08:31Z ibiru $
+# $Id: PKGBUILD 118392 2011-04-06 14:48:01Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=openconnect
-pkgver=3.01
+pkgver=2.26
pkgrel=1
+epoch=1
pkgdesc="Open client for Cisco AnyConnect VPN"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.infradead.org/openconnect.html"
depends=('libxml2' 'openssl')
+makedepends=('gconf' 'gtk2')
options=('!libtool' '!emptydirs')
source=(ftp://ftp.infradead.org/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('4d41c96f95a2bc5b355e89b845bc5bb7')
+md5sums=('e3c7605fed128efe39c2eb9400af6765')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i "s|/usr/libexec|/usr/lib/networkmanager|" Makefile
make
}
diff --git a/extra/strigi/PKGBUILD b/extra/strigi/PKGBUILD
index 736ca5379..cad570d70 100644
--- a/extra/strigi/PKGBUILD
+++ b/extra/strigi/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 110940 2011-02-23 08:05:50Z eric $
+# $Id: PKGBUILD 118083 2011-04-05 10:45:28Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=strigi
-pkgver=git20110107
-pkgrel=2
+pkgver=git20110405
+pkgrel=1
pkgdesc="Fast crawling desktop search engine with Qt4 GUI"
arch=('i686' 'x86_64')
url="http://www.vandenoever.info/software/strigi/"
@@ -12,9 +12,8 @@ license=('GPL2')
depends=('qt' 'clucene' 'bzip2' 'exiv2' 'libxml2')
makedepends=('cmake' 'pkg-config')
source=("ftp://ftp.archlinux.org/other/kde/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('6f648631061c61328ee60c0287ad2e37')
-sha1sums=('7c3dd5d6d18045d0fcf36831bcf8b9e24abfdd52')
-options=('!libtool' 'force')
+md5sums=('dcc88c925c5ad264429ba841cab19b65')
+options=('!libtool')
build() {
cd "${srcdir}"
@@ -23,7 +22,9 @@ build() {
cmake ../${pkgname}-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DENABLE_INOTIFY=ON
+ -DENABLE_INOTIFY=ON \
+ -DENABLE_LOG4CXX=OFF \
+ -DENABLE_FAM=OFF
make
}
diff --git a/extra/terminal/PKGBUILD b/extra/terminal/PKGBUILD
index 838775fdf..c82753237 100644
--- a/extra/terminal/PKGBUILD
+++ b/extra/terminal/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 108268 2011-01-30 17:20:36Z andyrtr $
+# $Id: PKGBUILD 118239 2011-04-06 07:52:59Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Contributor: tobias <tobias funnychar archlinux.org>
# Contributor: Aurelien Foret <orelien@chez.com>
pkgname=terminal
-pkgver=0.4.6
+pkgver=0.4.7
pkgrel=1
pkgdesc="A modern terminal emulator primarly for the Xfce desktop environment"
arch=(i686 x86_64)
@@ -17,7 +17,7 @@ makedepends=('pkgconfig' 'intltool')
options=('!libtool')
install=terminal.install
source=(http://archive.xfce.org/src/apps/${pkgname}/0.4/Terminal-${pkgver}.tar.bz2)
-md5sums=('e5c592b56d260b4a7b57039882e18b81')
+md5sums=('34daa0090e1bc9014a5b9849103a129f')
build() {
cd ${srcdir}/Terminal-${pkgver}
diff --git a/gnome-unstable/gdm/PKGBUILD b/gnome-unstable/gdm/PKGBUILD
index 298618f69..bda165c1a 100644
--- a/gnome-unstable/gdm/PKGBUILD
+++ b/gnome-unstable/gdm/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 117769 2011-04-04 17:48:05Z heftig $
+# $Id: PKGBUILD 118402 2011-04-06 16:14:51Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gdm
pkgver=3.0.0
-pkgrel=1
+pkgrel=2
pkgdesc="Gnome Display Manager (a reimplementation of xdm)"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.gnome.org"
backup=('etc/pam.d/gdm' 'etc/pam.d/gdm-autologin' 'etc/gdm/custom.conf')
-groups=('gnome')
+groups=('gnome-extra')
options=('!libtool')
depends=('libcanberra' 'libxklavier' 'tcp_wrappers' 'gnome-session' 'upower' 'accountsservice' 'consolekit')
makedepends=('intltool' 'gnome-doc-utils' 'xorg-server')
diff --git a/gnome-unstable/glade/PKGBUILD b/gnome-unstable/glade/PKGBUILD
index e84be67a6..352bfef15 100644
--- a/gnome-unstable/glade/PKGBUILD
+++ b/gnome-unstable/glade/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 113382 2011-03-08 13:36:04Z heftig $
+# $Id: PKGBUILD 118419 2011-04-06 17:54:27Z ibiru $
# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=glade
-pkgver=3.9.2
-pkgrel=1
+pkgver=3.10.0
+pkgrel=2
pkgdesc="User interface builder for GTK+ and GNOME."
arch=(i686 x86_64)
license=('GPL' 'LGPL')
depends=('gtk3' 'libxml2' 'desktop-file-utils' 'hicolor-icon-theme')
-makedepends=('intltool' 'python2' 'gtk-doc')
+makedepends=('intltool' 'python2' 'gtk-doc' 'gobject-introspection' 'pygobject-devel')
optdepends=('python2: Python widgets support')
options=('!libtool')
url="http://glade.gnome.org/"
install=glade.install
source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
-sha256sums=('cb26c1532e72c4763bdd47af03d3f1ebbe389f350d03cf89a49d55ec08c33b26')
+sha256sums=('7e6a1423f1697d8b40618d0b01f0ebff572ccb80f5818a36af0971c5d1d94253')
build() {
cd "${srcdir}/$pkgname-${pkgver}"
diff --git a/gnome-unstable/glib-networking/PKGBUILD b/gnome-unstable/glib-networking/PKGBUILD
index 504308729..ad861af66 100644
--- a/gnome-unstable/glib-networking/PKGBUILD
+++ b/gnome-unstable/glib-networking/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 117723 2011-04-04 17:15:03Z ibiru $
+# $Id: PKGBUILD 118259 2011-04-06 10:03:20Z ibiru $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
pkgname=glib-networking
pkgver=2.28.5
-pkgrel=1
+pkgrel=2
pkgdesc="Network-related giomodules for glib"
arch=('i686' 'x86_64')
url="http://www.gtk.org/"
@@ -17,8 +17,8 @@ sha256sums=('959ffeb91fee17c1b0fb2aa82872c3daae0230de93708b2ebabeb92b747d7876')
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure \
- --prefix=/usr \
- --sysconfdir=/etc
+ --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/glib-networking --disable-static
make
}
diff --git a/gnome-unstable/gnome-control-center/PKGBUILD b/gnome-unstable/gnome-control-center/PKGBUILD
index 3480f0f2b..ee94e2b08 100644
--- a/gnome-unstable/gnome-control-center/PKGBUILD
+++ b/gnome-unstable/gnome-control-center/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 118137 2011-04-05 13:11:44Z ibiru $
+# $Id: PKGBUILD 118383 2011-04-06 14:33:42Z heftig $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-control-center
-pkgver=3.0.0
+pkgver=3.0.0.1
pkgrel=1
pkgdesc="The Control Center for GNOME"
arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ install=gnome-control-center.install
license=('GPL')
options=('!libtool' '!emptydirs')
source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/3.0/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('a6ae1b58f639b3df20464bfb4e64616815c85514ff7e7e748b213a2a4e2ab87b')
+sha256sums=('9f3e95ba559d73cfe714d4dbc7ac70a342cfd9999d506552b79f9e61a171e1d9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/gnome-unstable/gnome-panel/PKGBUILD b/gnome-unstable/gnome-panel/PKGBUILD
index 9478eac96..296fd11c7 100644
--- a/gnome-unstable/gnome-panel/PKGBUILD
+++ b/gnome-unstable/gnome-panel/PKGBUILD
@@ -1,27 +1,28 @@
-# $Id: PKGBUILD 117997 2011-04-05 06:40:59Z heftig $
+# $Id: PKGBUILD 118265 2011-04-06 12:14:26Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-panel
-pkgver=3.0.0
+pkgver=3.0.0.1
pkgrel=1
arch=('i686' 'x86_64')
license=('GPL')
pkgdesc="The GNOME Panel"
url="http://www.gnome.org"
-depends=('gnome-menus' 'gnome-desktop' 'evolution-data-server' 'librsvg' 'libwnck3' 'libsm' 'dconf')
+depends=('gnome-menus' 'gnome-desktop' 'evolution-data-server' 'librsvg' 'libwnck3' 'libsm' 'dconf' 'telepathy-glib')
makedepends=('gnome-doc-utils' 'intltool' 'gobject-introspection' 'networkmanager' 'libcanberra')
install=gnome-panel.install
groups=('gnome')
options=('!libtool' '!emptydirs')
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('8259828333cda1c9a4ee01cb0290474dc2eb0aea9020690285b23e6ddc2669cf')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('2014225215afc8a8a4363481c26f9a9443d3dfc944aa7bcb0c5224f723c0b98b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static \
--libexecdir=/usr/lib/gnome-panel \
- --disable-scrollkeeper
+ --disable-scrollkeeper \
+ --disable-schemas-compile
make
}
diff --git a/gnome-unstable/gnome-settings-daemon/PKGBUILD b/gnome-unstable/gnome-settings-daemon/PKGBUILD
index fa51f3ad8..da172abf3 100644
--- a/gnome-unstable/gnome-settings-daemon/PKGBUILD
+++ b/gnome-unstable/gnome-settings-daemon/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 117718 2011-04-04 17:03:46Z ibiru $
+# $Id: PKGBUILD 118378 2011-04-06 14:16:56Z heftig $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-settings-daemon
-pkgver=3.0.0
+pkgver=3.0.0.1
pkgrel=1
pkgdesc="The GNOME Settings daemon"
arch=('i686' 'x86_64')
@@ -15,8 +15,8 @@ url="http://www.gnome.org"
groups=('gnome')
replaces=(gnome-settings-daemon-pulse)
conflicts=(gnome-settings-daemon-pulse)
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('95861878f373ac624d32c1667a79ea7b235ccb964ff4579971a6a1566e20d5d2')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('4872b8ac4f85ee036539c433046de32017a4e3ac2bc2a49f62dc3bf152399cb3')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/gnome-unstable/gnome-shell/PKGBUILD b/gnome-unstable/gnome-shell/PKGBUILD
index 1c26ea8df..520eac9ac 100644
--- a/gnome-unstable/gnome-shell/PKGBUILD
+++ b/gnome-unstable/gnome-shell/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 118211 2011-04-05 22:11:23Z heftig $
+# $Id: PKGBUILD 118445 2011-04-06 23:20:25Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Contributor: Flamelab <panosfilip@gmail.com
pkgname=gnome-shell
-pkgver=3.0.0.1
-pkgrel=2
+pkgver=3.0.0.2
+pkgrel=1
pkgdesc="The next generation GNOME Shell"
arch=('i686' 'x86_64')
url="http://live.gnome.org/GnomeShell"
@@ -16,15 +16,14 @@ options=('!libtool' '!emptydirs')
install=gnome-shell.install
groups=(gnome)
source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*.*}/$pkgname-$pkgver.tar.bz2
- 646333.patch)
-sha256sums=('468eaee2a4b43e425e53c12f6ea98f834ad7b3c8b7d8cf493c65b4a67f82be33'
- '42fd08d1ca81c8bcc2848f301463b2c7b28299e8b3a508d2a3f24cb5a9bba3ed')
+ arch.patch)
+sha256sums=('5563b6374e84795526928ab398316611f94385ce0b278ef71769ff12498e4532'
+ 'a35d5e5f9f781728070aecae3bfe329f49dadcd50ca2984e0fbdd2219825a0db')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- # https://bugzilla.gnome.org/show_bug.cgi?id=646333
- patch -Np1 -i "$srcdir/646333.patch"
+ patch -Np1 -i "${srcdir}/arch.patch"
./configure --prefix=/usr --sysconfdir=/etc \
--libexecdir=/usr/lib/gnome-shell \
diff --git a/gnome-unstable/gnome-shell/arch.patch b/gnome-unstable/gnome-shell/arch.patch
new file mode 100644
index 000000000..67baefdcb
--- /dev/null
+++ b/gnome-unstable/gnome-shell/arch.patch
@@ -0,0 +1,12 @@
+diff -Nur gnome-shell.orig/data/org.gnome.shell.gschema.xml.in gnome-shell/data/org.gnome.shell.gschema.xml.in
+--- gnome-shell.orig/data/org.gnome.shell.gschema.xml.in 2011-04-06 08:47:58.638600793 -0700
++++ gnome-shell/data/org.gnome.shell.gschema.xml.in 2011-04-06 08:49:17.035274675 -0700
+@@ -30,7 +30,7 @@
+ </_description>
+ </key>
+ <key name="favorite-apps" type="as">
+- <default>[ 'mozilla-firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'openoffice.org-writer.desktop', 'nautilus.desktop' ]</default>
++ <default>[ 'firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'writer.desktop', 'nautilus.desktop' ]</default>
+ <_summary>List of desktop file IDs for favorite applications</_summary>
+ <_description>
+ The applications corresponding to these identifiers
diff --git a/gnome-unstable/gtkmm3/PKGBUILD b/gnome-unstable/gtkmm3/PKGBUILD
index f9ba366b5..0238faccb 100644
--- a/gnome-unstable/gtkmm3/PKGBUILD
+++ b/gnome-unstable/gtkmm3/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 116743 2011-03-25 16:29:14Z ibiru $
+# $Id: PKGBUILD 118358 2011-04-06 12:31:04Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgbase=gtkmm3
_pkgbasename=gtkmm
pkgname=('gtkmm3' 'gtkmm3-docs')
-pkgver=2.99.8
+pkgver=3.0.0
pkgrel=1
arch=('i686' 'x86_64')
makedepends=('gtk3' 'pangomm' 'atkmm' 'glibmm-docs' 'mm-common')
license=('LGPL')
options=('!libtool' '!emptydirs')
url="http://gtkmm.sourceforge.net/"
-source=(http://ftp.gnome.org/pub/GNOME/sources/${_pkgbasename}/2.99/${_pkgbasename}-${pkgver}.tar.bz2)
-sha256sums=('0ee2283d5aa27c1ebf3fd8bae36d9345f9625590ac9f07212e1c97626440d144')
+source=(http://ftp.gnome.org/pub/GNOME/sources/${_pkgbasename}/3.0/${_pkgbasename}-${pkgver}.tar.bz2)
+sha256sums=('567582948d4c47c29aa751162adc714644f50958d3d3e427c7a8c3818cd643f9')
build() {
cd "${srcdir}/${_pkgbasename}-${pkgver}"
diff --git a/gnome-unstable/libgnomekbd/PKGBUILD b/gnome-unstable/libgnomekbd/PKGBUILD
index 956f36583..a1984e5a8 100644
--- a/gnome-unstable/libgnomekbd/PKGBUILD
+++ b/gnome-unstable/libgnomekbd/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 117883 2011-04-04 21:05:30Z heftig $
+# $Id: PKGBUILD 118220 2011-04-06 06:15:37Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libgnomekbd
-pkgver=3.0.0
+pkgver=3.0.0.1
pkgrel=1
pkgdesc="Gnome keyboard library"
url="http://gswitchit.sourceforge.net"
@@ -12,8 +12,8 @@ depends=('libxklavier>=5.1' 'gtk3' 'dconf')
makedepends=('intltool' 'gobject-introspection')
options=('!libtool' '!emptydirs')
install=libgnomekbd.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('e22da21528e8e6f05ad0516cd84a3867fec1ca17a676486a6592018d09ed9396')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('727293963847761b7942d9c5c195c317a5f5f18585ebc6d348147924242902e9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/gnome-unstable/sound-juicer/PKGBUILD b/gnome-unstable/sound-juicer/PKGBUILD
new file mode 100644
index 000000000..3afa2b1e1
--- /dev/null
+++ b/gnome-unstable/sound-juicer/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 118432 2011-04-06 20:04:46Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributer: Ben <contrasutra@myrealbox.com>
+
+pkgname=sound-juicer
+pkgver=2.32.1
+pkgrel=1
+pkgdesc="A cd ripper application"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('libmusicbrainz3' 'libgnome-media-profiles' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'brasero' 'hicolor-icon-theme')
+makedepends=('intltool' 'gnome-doc-utils>=0.20.0' 'pkgconfig' 'gnome-common' 'gtk-doc')
+options=(!emptydirs)
+#source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.32/${pkgname}-${pkgver}.tar.bz2)
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz)
+groups=('gnome-extra')
+install=sound-juicer.install
+url="http://www.burtonini.com/blog/computers/sound-juicer"
+sha256sums=('09fd7ebaa24b20a98be82bc10a9733f2e8d45bb31fb95a12535672d85272d8c2')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-scrollkeeper
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain sound-juicer ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/sound-juicer/sound-juicer.install b/gnome-unstable/sound-juicer/sound-juicer.install
new file mode 100644
index 000000000..5286a0055
--- /dev/null
+++ b/gnome-unstable/sound-juicer/sound-juicer.install
@@ -0,0 +1,24 @@
+pkgname=sound-juicer
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/gnome-unstable/zenity/PKGBUILD b/gnome-unstable/zenity/PKGBUILD
index 65951d226..25969c047 100644
--- a/gnome-unstable/zenity/PKGBUILD
+++ b/gnome-unstable/zenity/PKGBUILD
@@ -1,15 +1,14 @@
-# $Id: PKGBUILD 117982 2011-04-05 06:34:01Z heftig $
+# $Id: PKGBUILD 118440 2011-04-06 21:18:58Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=zenity
pkgver=3.0.0
-pkgrel=1
+pkgrel=2
pkgdesc="Display graphical dialog boxes from shell scripts"
arch=(i686 x86_64)
license=('LGPL')
depends=('gtk3' 'libnotify')
makedepends=('intltool' 'gtk-doc')
-groups=('gnome-extra')
url="http://www.gnome.org"
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
sha256sums=('b1965b6704e80665c551261b9895a06322aba3f9776f8e5dd8141c7e8aca5131')
diff --git a/testing/rsync/ChangeLog b/testing/rsync/ChangeLog
new file mode 100644
index 000000000..a1d6b4f9d
--- /dev/null
+++ b/testing/rsync/ChangeLog
@@ -0,0 +1,35 @@
+2010-01-01 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.7-1
+ * Upstream update
+
+2009-05-08 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.6-1
+ * Upstream update
+
+2008-12-29 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.5-1
+ * Upstream update
+
+2008-09-06 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.4-1
+ * Upstream update
+
+2008-07-05 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.3-1
+ * Upstream update
+
+2008-04-13 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.2-1
+ * Upstream update
+
+2008-03-01 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.0-1
+ * Upstream update
+ * Updated license
diff --git a/testing/rsync/PKGBUILD b/testing/rsync/PKGBUILD
new file mode 100644
index 000000000..af1d9b185
--- /dev/null
+++ b/testing/rsync/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 118437 2011-04-06 20:17:24Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+pkgname=rsync
+pkgver=3.0.8
+pkgrel=1
+pkgdesc="A file transfer program to keep remote files in sync"
+arch=('i686' 'x86_64')
+url="http://samba.anu.edu.au/rsync/"
+license=('GPL3')
+depends=('acl')
+backup=('etc/rsyncd.conf' 'etc/xinetd.d/rsync')
+source=(http://rsync.samba.org/ftp/rsync/${pkgname}-${pkgver}.tar.gz \
+ rsyncd.conf rsyncd rsync.xinetd)
+md5sums=('0ee8346ce16bdfe4c88a236e94c752b4'
+ '4395c0591638349b1a7aeaaa4da1f03a'
+ '3d8f90ac8467ff6af28754584a61fd11'
+ 'ea3e9277dc908bc51f9eddc0f6b935c1')
+sha1sums=('10e80173c7e9ed8b8a4dc9e8fdab08402da5f08d'
+ '48be09294134dfed888818872fe552a59c29147a'
+ '357af5648eb4ecf84cc6b1de1cd79d21eca3a518'
+ 'fdb99785bc87ee13d77aa90dc1804f3f75dd7fc1')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./prepare-source
+ ./configure --prefix=/usr --with-included-popt \
+ --enable-acl-support --enable-xattr-support
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -Dm755 ../rsyncd ${pkgdir}/etc/rc.d/rsyncd
+ install -Dm644 ../rsyncd.conf ${pkgdir}/etc/rsyncd.conf
+ install -Dm644 ../rsync.xinetd ${pkgdir}/etc/xinetd.d/rsync
+}
+
diff --git a/testing/rsync/rsync.xinetd b/testing/rsync/rsync.xinetd
new file mode 100644
index 000000000..f5b6b1ed5
--- /dev/null
+++ b/testing/rsync/rsync.xinetd
@@ -0,0 +1,11 @@
+service rsync
+{
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/bin/rsync
+ server_args = --daemon
+ log_on_success += HOST DURATION
+ log_on_failure += HOST
+ disable = yes
+}
diff --git a/testing/rsync/rsyncd b/testing/rsync/rsyncd
new file mode 100644
index 000000000..573130fb3
--- /dev/null
+++ b/testing/rsync/rsyncd
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting rsyncd"
+ [ ! -f /var/run/daemons/rsyncd ] && /usr/bin/rsync --daemon
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ #pgrep -of "/usr/bin/rsync --daemon" > /var/run/rsyncd.pid # Removed FS#20942
+ add_daemon rsyncd
+ stat_done
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping rsyncd"
+ [ -f /var/run/rsyncd.pid ] && kill `cat /var/run/rsyncd.pid`
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon rsyncd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/rsync/rsyncd.conf b/testing/rsync/rsyncd.conf
new file mode 100644
index 000000000..f7161f3f8
--- /dev/null
+++ b/testing/rsync/rsyncd.conf
@@ -0,0 +1,16 @@
+uid = nobody
+gid = nobody
+use chroot = no
+max connections = 4
+syslog facility = local5
+pid file = /var/run/rsyncd.pid
+
+[ftp]
+ path = /home/ftp
+ comment = ftp area
+
+#[cvs]
+# path = /data/cvs
+# comment = CVS repository (requires authentication)
+# auth users = tridge, susan
+# secrets file = /etc/rsyncd.secrets
diff --git a/testing/vi/PKGBUILD b/testing/vi/PKGBUILD
new file mode 100644
index 000000000..eec6ce5ef
--- /dev/null
+++ b/testing/vi/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 118363 2011-04-06 12:35:06Z jgc $
+# Maintainer: tobias [ tobias at archlinux org ]
+
+pkgname=vi
+pkgver=050325
+pkgrel=1
+epoch=1
+pkgdesc='The original ex/vi text editor.'
+arch=('i686' 'x86_64')
+url='http://ex-vi.sourceforge.net/'
+license=('custom:ex')
+depends=('ncurses')
+optdepends=('mailx: used by the preserve command for notification')
+groups=('base')
+options=(strip !libtool emptydirs)
+source=(http://downloads.sourceforge.net/sourceforge/ex-vi/ex-${pkgver}.tar.bz2
+ exrc.sample
+ navkeys.patch
+ increase-tube.patch
+ preserve_dir.patch)
+md5sums=('e668595254233e4d96811083a3e4e2f3'
+ 'd3b483c994d859232ce369b82a4b5668'
+ 'aac133930047eafa4f28736cfaf976b3'
+ 'e596e05a00a24187b576e389fa1de45d'
+ '419a8755e0dd16e95542bc107e6d2b24')
+
+build() {
+ cd "${srcdir}/ex-${pkgver}"
+
+ # apply patches
+ patch -Np1 -i ../navkeys.patch
+ patch -Np0 -i ../increase-tube.patch
+ # FS#20653
+ patch -Np1 -i ../preserve_dir.patch
+
+ make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \
+ 'FEATURES=-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8' TERMLIB=ncurses
+}
+
+package() {
+ cd "${srcdir}/ex-${pkgver}"
+
+ make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex INSTALL=/bin/install \
+ DESTDIR="$pkgdir" install
+
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/testing/vi/exrc.sample b/testing/vi/exrc.sample
new file mode 100644
index 000000000..44b3045fd
--- /dev/null
+++ b/testing/vi/exrc.sample
@@ -0,0 +1,5 @@
+" A sample .exrc file. Copy it to your home dir as ~/.exrc in order to work.
+set showmode
+set noflash
+set autoindent
+set shiftwidth=2
diff --git a/testing/vi/increase-tube.patch b/testing/vi/increase-tube.patch
new file mode 100644
index 000000000..5010798ce
--- /dev/null
+++ b/testing/vi/increase-tube.patch
@@ -0,0 +1,13 @@
+--- config.h 2005-02-19 05:25:39.000000000 -0500
++++ config.h.fixed 2010-01-04 22:02:01.000000000 -0500
+@@ -95,8 +95,8 @@
+ #define TUBESIZE 6000 /* Maximum screen size for visual */
+ #else /* VMUNIX */
+ #define TUBELINES 100
+-#define TUBECOLS 160
+-#define TUBESIZE 16000
++#define TUBECOLS 320
++#define TUBESIZE 32000
+ #endif /* VMUNIX */
+
+ /*
diff --git a/testing/vi/navkeys.patch b/testing/vi/navkeys.patch
new file mode 100644
index 000000000..46924379c
--- /dev/null
+++ b/testing/vi/navkeys.patch
@@ -0,0 +1,55 @@
+diff -ru ex-050325/ex_tty.c ex-050325-du/ex_tty.c
+--- ex-050325/ex_tty.c 2005-03-04 13:42:58.000000000 +0100
++++ ex-050325-du/ex_tty.c 2009-06-25 20:06:57.000000000 +0200
+@@ -132,7 +132,8 @@
+ &ED, &EI, &F0, &F1, &F2, &F3, &F4, &F5, &F6, &F7, &F8, &F9,
+ &HO, &IC, &IM, &IP, &KD, &KE, &KH, &KL, &KR, &KS, &KU, &LL, &ND, &xNL,
+ &xPC, &RC, &SC, &SE, &SF, &SO, &SR, &TA, &TE, &TI, &UP, &VB, &VS, &VE,
+- &AL_PARM, &DL_PARM, &UP_PARM, &DOWN_PARM, &LEFT_PARM, &RIGHT_PARM
++ &AL_PARM, &DL_PARM, &UP_PARM, &DOWN_PARM, &LEFT_PARM, &RIGHT_PARM,
++ &kI, &kD, &kh, &at7, &kP, &kN
+ };
+ bool *sflags[] = {
+ &AM, &BS, &DA, &DB, &EO, &HC,
+@@ -170,7 +171,12 @@
+ addmac1(KD, "j", "down", arrows, 1);
+ addmac1(KL, "h", "left", arrows, 1);
+ addmac1(KR, "l", "right", arrows, 1);
+- addmac1(KH, "H", "home", arrows, 1);
++ addmac1(kI, "i", "insert", arrows, 1);
++ addmac1(kD, "x", "delete", arrows, 1);
++ addmac1(kh, "^", "home", arrows, 1);
++ addmac1(at7, "$", "end", arrows, 1);
++ addmac1(kP, "", "pgup", arrows, 1);
++ addmac1(kN, "", "pgdn", arrows, 1);
+
+ /*
+ * Handle funny termcap capabilities
+@@ -341,7 +347,7 @@
+ *(*fp++) = flag;
+ namp += 2;
+ } while (*namp);
+- namp = "albcbtcdceclcmcrcsdcdldmdoedeik0k1k2k3k4k5k6k7k8k9hoicimipkdkekhklkrkskullndnlpcrcscsesfsosrtatetiupvbvsveALDLUPDOLERI";
++ namp = "albcbtcdceclcmcrcsdcdldmdoedeik0k1k2k3k4k5k6k7k8k9hoicimipkdkekhklkrkskullndnlpcrcscsesfsosrtatetiupvbvsveALDLUPDOLERIkIkDkh@7kPkN";
+ sp = sstrs;
+ do {
+ string = tgetstr(namp, &aoftspace);
+diff -ru ex-050325/ex_tty.h ex-050325-du/ex_tty.h
+--- ex-050325/ex_tty.h 2004-12-01 19:21:06.000000000 +0100
++++ ex-050325-du/ex_tty.h 2009-06-25 20:06:05.000000000 +0200
+@@ -183,6 +183,15 @@
+ var bool XX; /* Tektronix 4025 insert line */
+ /* X? is reserved for severely nauseous glitches */
+ /* If there are enough of these we may need bit masks! */
++/*
++ * Insert, Delete, Home, End, PgUp an PgDown keys
++ */
++var char *kI;
++var char *kD;
++var char *kh;
++var char *at7;
++var char *kP;
++var char *kN;
+
+ /*
+ * From the tty modes...
diff --git a/testing/vi/preserve_dir.patch b/testing/vi/preserve_dir.patch
new file mode 100644
index 000000000..5209f7b02
--- /dev/null
+++ b/testing/vi/preserve_dir.patch
@@ -0,0 +1,81 @@
+diff -Naur ex-050325.ori/ex.1 ex-050325/ex.1
+--- ex-050325.ori/ex.1 2005-02-17 07:39:36.000000000 -0500
++++ ex-050325/ex.1 2011-02-01 16:21:51.496666674 -0500
+@@ -1950,7 +1950,7 @@
+ .B /var/tmp/Rx\fInnnnnnnnnn\fP
+ named buffer temporary
+ .TP
+-.B /var/preserve
++.B /var/lib/ex
+ preservation directory
+ .SH DOCUMENTATION
+ The document
+diff -Naur ex-050325.ori/expreserve.c ex-050325/expreserve.c
+--- ex-050325.ori/expreserve.c 2005-03-04 07:44:46.000000000 -0500
++++ ex-050325/expreserve.c 2011-02-01 16:22:06.583333342 -0500
+@@ -272,7 +272,7 @@
+ #ifdef notdef
+ char pattern[] = "/usr/preserve/Exaa`XXXXX";
+ #else
+-char pattern[] = "/var/preserve/Exa`XXXXXXXXXX";
++char pattern[] = "/var/lib/ex/Exa`XXXXXXXXXX";
+ #endif
+
+ /*
+@@ -296,7 +296,7 @@
+ timestamp = ctime(&time);
+ timestamp[16] = 0; /* blast from seconds on */
+ putenv("MAILRC=/dev/null");
+- sprintf(cmd, "/bin/mail %s", pp->pw_name);
++ sprintf(cmd, "/usr/bin/mail %s", pp->pw_name);
+ setuid(getuid());
+ mf = popen(cmd, "w");
+ if (mf == NULL)
+diff -Naur ex-050325.ori/exrecover.c ex-050325/exrecover.c
+--- ex-050325.ori/exrecover.c 2005-03-04 07:44:46.000000000 -0500
++++ ex-050325/exrecover.c 2011-02-01 16:21:51.496666674 -0500
+@@ -167,7 +167,7 @@
+ #ifdef notdef
+ char mydir[] = "/usr/preserve";
+ #else
+-char mydir[] = "/var/preserve";
++char mydir[] = "/var/lib/ex";
+ #endif
+
+ /*
+diff -Naur ex-050325.ori/ex.spec ex-050325/ex.spec
+--- ex-050325.ori/ex.spec 2005-03-24 18:50:09.000000000 -0500
++++ ex-050325/ex.spec 2011-02-01 16:21:51.496666674 -0500
+@@ -20,7 +20,7 @@
+ %define libexecdir %{prefix}/5lib
+ %define mandir %{prefix}/share/man/5man
+
+-%define preservedir /var/preserve
++%define preservedir /var/lib/ex
+
+ # install command
+ %define ucbinstall install
+diff -Naur ex-050325.ori/Makefile ex-050325/Makefile
+--- ex-050325.ori/Makefile 2005-03-24 18:50:09.000000000 -0500
++++ ex-050325/Makefile 2011-02-01 16:21:51.496666674 -0500
+@@ -83,7 +83,7 @@
+ BINDIR = $(PREFIX)/bin
+ LIBEXECDIR = $(PREFIX)/libexec
+ MANDIR = $(PREFIX)/share/man
+-PRESERVEDIR = /var/preserve
++PRESERVEDIR = /var/lib/ex
+
+ #
+ # DESTDIR is prepended to the installation paths. It is mostly useful
+diff -Naur ex-050325.ori/vi.1 ex-050325/vi.1
+--- ex-050325.ori/vi.1 2005-02-17 07:39:36.000000000 -0500
++++ ex-050325/vi.1 2011-02-01 16:21:51.496666674 -0500
+@@ -979,7 +979,7 @@
+ .B /var/tmp/Rx\fInnnnnnnnnn\fP
+ named buffer temporary
+ .TP
+-.B /var/preserve
++.B /var/lib/ex
+ preservation directory
+ .SH SEE ALSO
+ ex(1),