diff options
Diffstat (limited to 'extra')
34 files changed, 1353 insertions, 144 deletions
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>&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} |