diff options
29 files changed, 993 insertions, 66 deletions
diff --git a/community/converseen/PKGBUILD b/community/converseen/PKGBUILD index c324f06d4..bb0935d2c 100644 --- a/community/converseen/PKGBUILD +++ b/community/converseen/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 60165 2011-12-06 10:42:48Z giovanni $ +# $Id: PKGBUILD 61388 2011-12-30 00:12:01Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: archtux <antonio.arias99999 at gmail.com> pkgname=converseen pkgver=0.4.7 -pkgrel=1 +pkgrel=2 pkgdesc="The batch image converter and resizer" arch=('i686' 'x86_64') url="http://converseen.sourceforge.net/" license=('GPL3') -depends=('imagemagick' 'qt') +depends=('imagemagick' 'qt' 'libwmf' 'openexr') makedepends=('cmake') install=converseen.install source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2") diff --git a/community/luasql-mysql/PKGBUILD b/community/luasql-mysql/PKGBUILD index b5d3e95ef..54aff4c20 100644 --- a/community/luasql-mysql/PKGBUILD +++ b/community/luasql-mysql/PKGBUILD @@ -1,25 +1,22 @@ -# $Id: PKGBUILD 42492 2011-03-17 10:40:38Z jelle $ +# $Id: PKGBUILD 61380 2011-12-29 16:34:45Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Anders Bergh <anders1@gmail.com> pkgname=luasql-mysql -pkgver=2.1.1 -pkgrel=6 +pkgver=2.2.0 +pkgrel=1 pkgdesc="MySQL module for Lua" arch=('i686' 'x86_64') url="http://www.keplerproject.org/luasql/" license=('MIT') depends=('lua' 'libmysqlclient') -# just changing the filename will make it download the old version, so change -# this manually! -source=(http://luaforge.net/frs/download.php/2686/luasql-$pkgver.tar.gz) -md5sums=('63bdd57de4b9d1be336ba112d8cb69eb') +source=(https://github.com/downloads/keplerproject/luasql/luasql-$pkgver.tar.gz) +md5sums=('59d72db444c6369c936d4f03694db6b7') build() { cd "$srcdir/luasql-$pkgver" - make T=mysql PREFIX=/usr DRIVER_LIBS="$(mysql_config --libs)" \ - DRIVER_INCS="$(mysql_config --include) -fPIC" + DRIVER_INCS="$(mysql_config --include) -fPIC" install -Dm644 src/mysql.so $pkgdir/usr/lib/lua/5.1/luasql/mysql.so install -Dm644 doc/us/license.html $pkgdir/usr/share/licenses/$pkgname/license.html } diff --git a/community/luxrender/PKGBUILD b/community/luxrender/PKGBUILD index b1e626d15..3cb9ad56e 100644 --- a/community/luxrender/PKGBUILD +++ b/community/luxrender/PKGBUILD @@ -1,27 +1,24 @@ -# $Id: PKGBUILD 59946 2011-12-02 20:59:23Z ibiru $ +# $Id: PKGBUILD 61377 2011-12-29 13:55:18Z stativ $ # Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com> # Initial contributor: flixie <69one@gmx.net> # Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org> pkgname=luxrender pkgver=0.8 _pkgver=45d3e13eb94c -_luxblend=9cb3fcee0be8 -_blender=2.60 -pkgrel=10 +pkgrel=11 pkgdesc="Rendering system for physically correct, unbiased image synthesis" arch=('i686' 'x86_64') url="http://www.luxrender.net/" license=('GPL') depends=('boost-libs' 'freeimage' 'openexr' 'libcl') -optdepends=('blender: Blender exporter' 'qt: Qt GUI' \ +optdepends=('luxblend25: Blender exporter' 'qt: Qt GUI' \ + 'python: Python interface (pylux)' 'nvidia-utils: OpenCL support for nVidia GPUs' \ 'amdstream: OpenCL support for AMD GPUs' \ 'intel-opencl-sdk: OpenCL support for Intel CPUs') makedepends=('cmake' 'boost' 'qt' 'luxrays' 'python' 'opencl-headers') -source=(ftp://ftp.archlinux.org/other/community/luxrender/lux-"$pkgver".tar.bz2 \ - https://bitbucket.org/luxrender/luxblend25/get/v08-2.60.tar.bz2) -md5sums=('0f2d856385db72131f51e44a7ee527fa' - '004596f577bbe681358c40507b2583e8') +source=(ftp://ftp.archlinux.org/other/community/luxrender/lux-"$pkgver".tar.bz2) +md5sums=('0f2d856385db72131f51e44a7ee527fa') build() { cd "$srcdir"/luxrender-lux-$_pkgver @@ -45,11 +42,8 @@ package() { # fix library path on x86_64 [ "$CARCH" = "x86_64" ] && mv "$pkgdir"/usr/lib64 "$pkgdir"/usr/lib - # install the blender exporter - install -d -m755 "$pkgdir"/usr/share/blender/$_blender/scripts/addons - cp -a "$srcdir"/luxrender-luxblend25-v08-2.60/src/luxrender \ - "$pkgdir"/usr/share/blender/$_blender/scripts/addons - cp -a "$srcdir"/luxrender-lux-$_pkgver/pylux.so "$pkgdir"/usr/share/blender/$_blender/scripts/addons/luxrender/ + #install pylux + install -D -m644 pylux.so "$pkgdir"/usr/lib/python3.2/pylux.so } # vim:set ts=2 sw=2 et: diff --git a/community/qbittorrent/PKGBUILD b/community/qbittorrent/PKGBUILD index e26f76684..58b64cd6c 100644 --- a/community/qbittorrent/PKGBUILD +++ b/community/qbittorrent/PKGBUILD @@ -3,8 +3,8 @@ # Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr> pkgname=qbittorrent -pkgver=2.9.2 -pkgrel=7 +pkgver=2.9.3 +pkgrel=1 pkgdesc="A bittorrent client written in C++ / Qt4 using the good libtorrent library" arch=('i686' 'x86_64') url="http://www.qbittorrent.org/" @@ -15,9 +15,11 @@ optdepends=('python: needed for search' 'geoip: improves peer country resolution') install='qbittorrent.install' source=("http://downloads.sourceforge.net/sourceforge/qbittorrent/qbittorrent-${pkgver}.tar.gz") -md5sums=('0c2188e0065be57e50c06f5934d5f7a2') +md5sums=('bd35950260f633215db8acd7c22317dc') build() { + tar xf qbittorrent-${pkgver}.tar.gz + cd qbittorrent-${pkgver} ./configure \ diff --git a/community/tea/PKGBUILD b/community/tea/PKGBUILD index bc653c3c8..c72ff78e3 100644 --- a/community/tea/PKGBUILD +++ b/community/tea/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 55791 2011-09-20 17:02:31Z spupykin $ +# $Id: PKGBUILD 61372 2011-12-29 07:38:35Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Roman Kyrylych <roman@archlinux.org> @@ -6,7 +6,7 @@ # Contributor: Zsolt Varadi <sysop_xxl@fibermail.hu> pkgname=tea -pkgver=31.0.0 +pkgver=31.1.0 pkgrel=1 pkgdesc="A QT-based text editor for Linux and *BSD. With an ultimate small size TEA provides you hundreds of functions." arch=('i686' 'x86_64') @@ -16,7 +16,7 @@ depends=('qt' 'aspell' 'hunspell') install=tea.install source=(http://downloads.sourceforge.net/project/tea-editor/tea-editor/$pkgver/tea-$pkgver.tar.bz2 tea.desktop) -md5sums=('53cb9b079e7ebaddcc41b27c684beaab' +md5sums=('2b9671ed681de662f556c5a8f3efc321' '377ace3363124f4c086de0babb820761') build() { diff --git a/community/uucp/PKGBUILD b/community/uucp/PKGBUILD index ffc819a91..065fee173 100644 --- a/community/uucp/PKGBUILD +++ b/community/uucp/PKGBUILD @@ -1,8 +1,10 @@ +# $Id: PKGBUILD 61375 2011-12-29 09:59:32Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Jick Nan <jick.nan@gmail.com> pkgname=uucp pkgver=1.07 -pkgrel=2 +pkgrel=3 pkgdesc="Taylor UUCP is a free implementation of UUCP and is the standard UUCP used on the GNU system" arch=(i686 x86_64) url="http://www.gnu.org/software/uucp/uucp.html" @@ -17,14 +19,13 @@ md5sums=('64c54d43787339a7cced48390eb3e1d0') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --mandir=/usr/share/man || return 1 - make || return 1 - make DESTDIR="${pkgdir}" install || return 1 + ./configure --prefix=/usr --mandir=/usr/share/man --with-newconfigdir=/etc/uucp + make + make DESTDIR="${pkgdir}" install - install -D -m644 sample/config ${pkgdir}/etc/uucp/config && \ - install -D -m644 sample/sys1 ${pkgdir}/etc/uucp/sys && \ + install -D -m644 sample/config ${pkgdir}/etc/uucp/config + install -D -m644 sample/sys1 ${pkgdir}/etc/uucp/sys install -D -m644 sample/port ${pkgdir}/etc/uucp/port - mv ${pkgdir}/usr/info ${pkgdir}/usr/share/ } diff --git a/extra/gtk3/PKGBUILD b/extra/gtk3/PKGBUILD index f079c7170..a372d0675 100644 --- a/extra/gtk3/PKGBUILD +++ b/extra/gtk3/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 145269 2011-12-20 21:38:03Z ibiru $ +# $Id: PKGBUILD 145727 2011-12-29 10:11:17Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gtk3 pkgver=3.2.3 -pkgrel=1 +pkgrel=2 pkgdesc="GTK+ is a multi-platform toolkit (v3)" arch=('i686' 'x86_64') url="http://www.gtk.org/" @@ -14,12 +14,15 @@ options=('!libtool' '!docs') backup=(etc/gtk-3.0/settings.ini) license=('LGPL') source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/3.2/gtk+-$pkgver.tar.xz - settings.ini) + settings.ini + empty_grid.patch) sha256sums=('e2cf20f2510ebbc7be122a1a33dd1f472a7d06aaf16b4f2a63eb048cd9141d3d' - 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621') + 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621' + 'd05ccfeaf4c558668b72aaacdd11356b6419d2359def6c1b9af1b465fa5a3c25') build() { cd "$srcdir/gtk+-$pkgver" + patch -Np1 -i "$srcdir/empty_grid.patch" CXX=/bin/false ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ diff --git a/extra/gtk3/empty_grid.patch b/extra/gtk3/empty_grid.patch new file mode 100644 index 000000000..45aefde47 --- /dev/null +++ b/extra/gtk3/empty_grid.patch @@ -0,0 +1,29 @@ +From 97c1df4bb05966a4ce53b07271eff2f53284e235 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen <mclasen@redhat.com> +Date: Fri, 21 Oct 2011 20:23:03 +0000 +Subject: Fix natural/min widht calculations for empty grids + +https://bugzilla.gnome.org/show_bug.cgi?id=660139 +--- +diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c +index a122ad4..78ae2ff 100644 +--- a/gtk/gtkgrid.c ++++ b/gtk/gtkgrid.c +@@ -927,8 +927,13 @@ gtk_grid_request_sum (GtkGridRequest *request, + linedata = &priv->linedata[orientation]; + lines = &request->lines[orientation]; + +- min = (nonempty - 1) * linedata->spacing; +- nat = (nonempty - 1) * linedata->spacing; ++ min = 0; ++ nat = 0; ++ if (nonempty > 0) ++ { ++ min = (nonempty - 1) * linedata->spacing; ++ nat = (nonempty - 1) * linedata->spacing; ++ } + + for (i = 0; i < lines->max - lines->min; i++) + { +-- +cgit v0.9.0.2 diff --git a/extra/kdelibs/PKGBUILD b/extra/kdelibs/PKGBUILD index b3b8fc901..cba95a38d 100644 --- a/extra/kdelibs/PKGBUILD +++ b/extra/kdelibs/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 145657 2011-12-26 12:00:06Z andrea $ +# $Id: PKGBUILD 145730 2011-12-29 13:52:20Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=kdelibs pkgver=4.7.4 -pkgrel=3 +pkgrel=4 pkgdesc="KDE Core Libraries" arch=('i686' 'x86_64') url='http://www.kde.org' @@ -18,10 +18,12 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'avahi' 'libgl' 'hspell') replaces=('kdelibs-experimental') install='kdelibs.install' source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2" - 'kde-applications-menu.patch' 'archlinux-menu.patch') + 'kde-applications-menu.patch' 'archlinux-menu.patch' + 'fix-knotify-filepath.patch') sha1sums=('78b25e93a8c70ccc1e0f117cce960fe4e1deb8d8' '86ee8c8660f19de8141ac99cd6943964d97a1ed7' - '63a850ab4196b9d06934f2b4a13acd9f7739bc67') + '63a850ab4196b9d06934f2b4a13acd9f7739bc67' + '3312f6005aa56a9b992c74008fe5b314f1c8ffba') build() { cd "${srcdir}"/${pkgname}-${pkgver} @@ -31,6 +33,9 @@ build() { # add Archlinux menu entry patch -p1 -i "${srcdir}"/archlinux-menu.patch + # https://bugs.kde.org/show_bug.cgi?id=285028 + patch -p1 -i "${srcdir}"/fix-knotify-filepath.patch + cd "${srcdir}" mkdir build cd build diff --git a/extra/kdelibs/fix-knotify-filepath.patch b/extra/kdelibs/fix-knotify-filepath.patch new file mode 100644 index 000000000..2cd995e97 --- /dev/null +++ b/extra/kdelibs/fix-knotify-filepath.patch @@ -0,0 +1,13 @@ +diff --git a/knotify/config/knotifyconfigactionswidget.cpp b/knotify/config/knotifyconfigactionswidget.cpp +index 88d18b6..0e76658 100644 +--- a/knotify/config/knotifyconfigactionswidget.cpp ++++ b/knotify/config/knotifyconfigactionswidget.cpp +@@ -128,7 +128,7 @@ void KNotifyConfigActionsWidget::slotPlay( ) + KUrl soundURL = m_ui.Sound_select->url(); + if ( soundURL.isRelative() ) + { +- QString soundString = soundURL.toLocalFile(); ++ QString soundString = m_ui.Sound_select->text(); + // we need a way to get the application name in order to ba able to do this : + /*QString search = QString("%1/sounds/%2").arg(config->appname).arg(soundFile); + search = KGlobal::mainComponent().dirs()->findResource("data", search); diff --git a/extra/libvncserver/PKGBUILD b/extra/libvncserver/PKGBUILD index 11f2ff735..c473d2bca 100644 --- a/extra/libvncserver/PKGBUILD +++ b/extra/libvncserver/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 140764 2011-10-18 19:48:49Z andrea $ +# $Id: PKGBUILD 145736 2011-12-29 15:45:13Z andrea $ # Maintainer: # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> pkgname=libvncserver -pkgver=0.9.8.1 +pkgver=0.9.8.2 pkgrel=1 pkgdesc="A cross-platform C libraries that allow you to easily implement VNC server" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ license=('GPL') depends=('libjpeg' 'gnutls' 'libgcrypt') options=('!libtool') source=("http://downloads.sourceforge.net/${pkgname}/LibVNCServer-${pkgver}.tar.gz") -md5sums=('51e972bd26c098b0b8d4687af6afbeb1') +md5sums=('dfed1dcc25cb338c7fdbcda2c3df7f50') build() { cd "${srcdir}/LibVNCServer-${pkgver}" diff --git a/extra/mono/PKGBUILD b/extra/mono/PKGBUILD index 7bcbef6c2..9a83fc925 100644 --- a/extra/mono/PKGBUILD +++ b/extra/mono/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 140778 2011-10-19 07:11:57Z daniel $ +# $Id: PKGBUILD 145729 2011-12-29 13:13:45Z daniel $ # Maintainer: Daniel Isenmann <daniel@archlinux.org> # Contributor: Brice Carpentier <brice@dlfp.org> pkgname=mono -pkgver=2.10.6 +pkgver=2.10.8 pkgrel=1 pkgdesc="Free implementation of the .NET platform including runtime and compiler" arch=(i686 x86_64) @@ -14,9 +14,9 @@ makedepends=('pkgconfig') options=('!libtool' '!makeflags') provides=('monodoc') conflicts=('monodoc') -source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2 +source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.gz mono.rc.d) -md5sums=('c442cef4cd6668b0a1391a661f6815a9' +md5sums=('411a2d9bcfc37a61eb9aedba88b40533' '8315e46c6a6e9625502521fc0ad1a322') build() { diff --git a/extra/varnish/PKGBUILD b/extra/varnish/PKGBUILD index 18ed8e7a4..269a1cbcf 100644 --- a/extra/varnish/PKGBUILD +++ b/extra/varnish/PKGBUILD @@ -1,4 +1,4 @@ -# $Id +# $Id: PKGBUILD 145758 2011-12-30 04:10:39Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> # Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Douglas Soares de Andrade @@ -6,7 +6,7 @@ pkgname=varnish pkgver=3.0.2 -pkgrel=2 +pkgrel=3 pkgdesc="High-performance HTTP accelerator" arch=('i686' 'x86_64') url="http://www.varnish-cache.org/" @@ -20,8 +20,8 @@ source=("http://repo.varnish-cache.org/source/$pkgname-$pkgver.tar.gz" "$pkgname.conf.d" "rc.$pkgname") md5sums=('c8eae0aabbe66b6daabdf3a1f58cd47a' - 'd42eebc7f0ac429d9740125ff1e61daf' - '18b7747020ecfe2eac7445971a7014e3') + 'edd1237d097d72173d9772754335890c' + 'fc9bf7a47479c4ad01c0e555d4e74f91') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/extra/varnish/rc.varnish b/extra/varnish/rc.varnish index 2ebd97e33..4e4fde60d 100644 --- a/extra/varnish/rc.varnish +++ b/extra/varnish/rc.varnish @@ -4,6 +4,27 @@ . /etc/rc.d/functions . /etc/conf.d/varnish +reload_vcl() { + local activecfg newcfg + + if [[ -z $VARNISH_CFG ]]; then + printf '==> ERROR: VARNISH_CFG is undefined in /etc/conf.d/varnish!\n' + return 1 + fi + + activecfg=$(varnishadm -T localhost:6082 "vcl.list" | awk '/active/{ print $3 }') + if [[ -z $activecfg ]]; then + printf '==> ERROR: No active VCL found!\n' + return 1 + fi + + printf -v newcfg 'vcl-%(%s)T' -1 + + varnishadm -T localhost:6082 "vcl.load $newcfg $VARNISH_CFG" && + varnishadm -T localhost:6082 "vcl.use $newcfg" && + varnishadm -T localhost:6082 "vcl.discard $activecfg" || return 1 +} + pidfile=/run/varnish.pid if [[ -r $pidfile ]]; then read -r PID < "$pidfile" @@ -40,6 +61,10 @@ case "$1" in sleep 1 $0 start ;; + reload) + stat_busy "Recompiling and Reloading VCL" + reload_vcl && stat_done || stat_fail + ;; *) echo "usage: $0 {start|stop|restart}" ;; diff --git a/extra/varnish/varnish.conf.d b/extra/varnish/varnish.conf.d index 2970468b7..904ca119f 100644 --- a/extra/varnish/varnish.conf.d +++ b/extra/varnish/varnish.conf.d @@ -7,3 +7,5 @@ VARNISHD_OPTS="-a 0.0.0.0:80 \ -T localhost:6082 \ -s malloc,64M -u nobody -g nobody" + +VARNISH_CFG="/etc/varnish/default.vcl" diff --git a/kde-unstable/kdelibs/PKGBUILD b/kde-unstable/kdelibs/PKGBUILD index da14bb45f..ab4146f9f 100644 --- a/kde-unstable/kdelibs/PKGBUILD +++ b/kde-unstable/kdelibs/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 145655 2011-12-26 11:58:35Z andrea $ +# $Id: PKGBUILD 145732 2011-12-29 13:54:39Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=kdelibs pkgver=4.7.95 -pkgrel=3 +pkgrel=4 pkgdesc="KDE Core Libraries" arch=('i686' 'x86_64') url='http://www.kde.org' @@ -17,10 +17,12 @@ makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell') replaces=('kdelibs-experimental') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2" - 'kde-applications-menu.patch' 'archlinux-menu.patch') + 'kde-applications-menu.patch' 'archlinux-menu.patch' + 'fix-knotify-filepath.patch') sha1sums=('6760074426f19152865cb7f8089b34feb5abadeb' '86ee8c8660f19de8141ac99cd6943964d97a1ed7' - '63a850ab4196b9d06934f2b4a13acd9f7739bc67') + '63a850ab4196b9d06934f2b4a13acd9f7739bc67' + '3312f6005aa56a9b992c74008fe5b314f1c8ffba') build() { cd "${srcdir}"/${pkgname}-${pkgver} @@ -30,6 +32,9 @@ build() { # add Archlinux menu entry patch -p1 -i "${srcdir}"/archlinux-menu.patch + # https://bugs.kde.org/show_bug.cgi?id=285028 + patch -p1 -i "${srcdir}"/fix-knotify-filepath.patch + cd "${srcdir}" mkdir build cd build diff --git a/kde-unstable/kdelibs/fix-knotify-filepath.patch b/kde-unstable/kdelibs/fix-knotify-filepath.patch new file mode 100644 index 000000000..2cd995e97 --- /dev/null +++ b/kde-unstable/kdelibs/fix-knotify-filepath.patch @@ -0,0 +1,13 @@ +diff --git a/knotify/config/knotifyconfigactionswidget.cpp b/knotify/config/knotifyconfigactionswidget.cpp +index 88d18b6..0e76658 100644 +--- a/knotify/config/knotifyconfigactionswidget.cpp ++++ b/knotify/config/knotifyconfigactionswidget.cpp +@@ -128,7 +128,7 @@ void KNotifyConfigActionsWidget::slotPlay( ) + KUrl soundURL = m_ui.Sound_select->url(); + if ( soundURL.isRelative() ) + { +- QString soundString = soundURL.toLocalFile(); ++ QString soundString = m_ui.Sound_select->text(); + // we need a way to get the application name in order to ba able to do this : + /*QString search = QString("%1/sounds/%2").arg(config->appname).arg(soundFile); + search = KGlobal::mainComponent().dirs()->findResource("data", search); diff --git a/kde-unstable/kdeplasma-addons/PKGBUILD b/kde-unstable/kdeplasma-addons/PKGBUILD index 3bbd178f3..569b8c831 100644 --- a/kde-unstable/kdeplasma-addons/PKGBUILD +++ b/kde-unstable/kdeplasma-addons/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 145665 2011-12-26 12:35:54Z andrea $ +# $Id: PKGBUILD 145734 2011-12-29 15:43:39Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -75,13 +75,13 @@ pkgname=('kdeplasma-addons-applets-bball' 'kdeplasma-addons-wallpapers-virus' 'kdeplasma-addons-wallpapers-weather') pkgver=4.7.95 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') url='http://www.kde.org' license=('GPL' 'LGPL') groups=('kde' 'kdeplasma-addons') makedepends=('cmake' 'automoc4' 'kdebase-workspace' 'kdeedu-marble' 'eigen' - 'scim' 'qwt' 'boost' 'libkexiv2') + 'scim' 'qwt' 'boost' 'libkexiv2' 'ibus') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") sha1sums=('b9207824aa8b764f203ef436111999fea429feb7') @@ -232,7 +232,8 @@ package_kdeplasma-addons-applets-kimpanel() { pkgdesc='A generic input method panel for Oriental languages' depends=('kdebase-workspace' 'kdeplasma-addons-libs') optdepends=('scim: SCIM backend' - 'fcitx: FCITX backend') + 'fcitx: FCITX backend' + 'ibus: IBUS backend') cd $srcdir/build/applets/kimpanel make DESTDIR=$pkgdir install } diff --git a/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch b/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch new file mode 100644 index 000000000..1404460df --- /dev/null +++ b/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch @@ -0,0 +1,83 @@ +From bb249b0b26c2e79a6f55355ef94889070f07fd21 Mon Sep 17 00:00:00 2001 +From: Niko Tyni <ntyni@debian.org> +Date: Thu, 28 Apr 2011 09:18:54 +0300 +Subject: [PATCH] Append CFLAGS and LDFLAGS to their Config.pm counterparts in + EU::CBuilder + +Since ExtUtils::CBuilder 0.27_04 (bleadperl commit 06e8058f27e4), +CFLAGS and LDFLAGS from the environment have overridden the Config.pm +ccflags and ldflags settings. This can cause binary incompatibilities +between the core Perl and extensions built with EU::CBuilder. + +Append to the Config.pm values rather than overriding them. +--- + .../lib/ExtUtils/CBuilder/Base.pm | 6 +++- + dist/ExtUtils-CBuilder/t/04-base.t | 25 +++++++++++++++++++- + 2 files changed, 28 insertions(+), 3 deletions(-) + +diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm +index b572312..2255c51 100644 +--- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm ++++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm +@@ -40,11 +40,13 @@ sub new { + $self->{config}{$k} = $v unless exists $self->{config}{$k}; + } + $self->{config}{cc} = $ENV{CC} if defined $ENV{CC}; +- $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS}; ++ $self->{config}{ccflags} = join(" ", $self->{config}{ccflags}, $ENV{CFLAGS}) ++ if defined $ENV{CFLAGS}; + $self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX}; + $self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS}; + $self->{config}{ld} = $ENV{LD} if defined $ENV{LD}; +- $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS}; ++ $self->{config}{ldflags} = join(" ", $self->{config}{ldflags}, $ENV{LDFLAGS}) ++ if defined $ENV{LDFLAGS}; + + unless ( exists $self->{config}{cxx} ) { + my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/); +diff --git a/dist/ExtUtils-CBuilder/t/04-base.t b/dist/ExtUtils-CBuilder/t/04-base.t +index c3bf6b5..1bb15aa 100644 +--- a/dist/ExtUtils-CBuilder/t/04-base.t ++++ b/dist/ExtUtils-CBuilder/t/04-base.t +@@ -1,7 +1,7 @@ + #! perl -w + + use strict; +-use Test::More tests => 50; ++use Test::More tests => 64; + use Config; + use Cwd; + use File::Path qw( mkpath ); +@@ -326,6 +326,29 @@ is_deeply( $mksymlists_args, + "_prepare_mksymlists_args(): got expected arguments for Mksymlists", + ); + ++my %testvars = ( ++ CFLAGS => 'ccflags', ++ LDFLAGS => 'ldflags', ++); ++ ++while (my ($VAR, $var) = each %testvars) { ++ local $ENV{$VAR}; ++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 ); ++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" ); ++ isa_ok( $base, 'ExtUtils::CBuilder::Base' ); ++ like($base->{config}{$var}, qr/\Q$Config{$var}/, ++ "honours $var from Config.pm"); ++ ++ $ENV{$VAR} = "-foo -bar"; ++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 ); ++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" ); ++ isa_ok( $base, 'ExtUtils::CBuilder::Base' ); ++ like($base->{config}{$var}, qr/\Q$ENV{$VAR}/, ++ "honours $VAR from the environment"); ++ like($base->{config}{$var}, qr/\Q$Config{$var}/, ++ "doesn't override $var from Config.pm with $VAR from the environment"); ++} ++ + ##### + + for ($source_file, $object_file, $lib_file) { +-- +1.7.4.4 + diff --git a/testing/perl/ChangeLog b/testing/perl/ChangeLog new file mode 100644 index 000000000..9add39e20 --- /dev/null +++ b/testing/perl/ChangeLog @@ -0,0 +1,66 @@ +2011-06-22 Angel Velasquez <angvp@archlinux.org> + * Added a patch for ExtUtils doesnt overwrite CFLAGS and LDFLAGS + * Fixed #FS22197, FS#22441, FS#24767 + * Rebuilt perl 5.14.1-2 against db 5.2.28 + +2011-06-16 Angel Velasquez <angvp@archlinux.org> + * Fixed #FS24660 + * Rebuilt against db 5.2.28 + +2011-05-16 Angel Velasquez <angvp@archlinux.org> + * perl 5.14.0 + * Removed patch for h2ph warning from 5.12.3 + * Removed provides array, you can use corelist -v 5.14.0 to know the + modules included with the perl core, through Module::CoreList (thx j3nnn1 + for the tip) + +2010-11-07 kevin <kevin@archlinux.org> + + * perl 5.12.2-1 + - Using /usr/bin/*_perl for script directories + +2010-11-06 kevin <kevin@archlinux.org> + + - Removed otherlibdirs directive from Configure + - Removed /usr/*/perl5/site_perl/5.10.1 from INC + - Finally removed legacy dirs /usr/lib/perl5/current and + /usr/lib/perl5/site_perl/current from @INC + +2010-05-23 kevin <kevin@archlinux.org> + + * perl 5.12.1-2 + - Francois updated the provides array. + +2010-05-23 kevin <kevin@archlinux.org> + + * perl 5.12.1-1 + +2010-05-16 kevin <kevin@archlinux.org> + + * perl 5.12.0-2 + +2010-05-12 kevin <kevin@archlinux.org> + + - FS#19411. Removed the for loop in perlbin.sh which didn't work on zsh. + This makes the loop variables unnecessary so the script no longer + pollutes the user's environment. + - FS#19427. Added /usr/*/perl5/site_perl/5.10.1 to otherlibdirs to support + user built modules. + +2010-05-09 kevin <kevin@archlinux.org> + + * perl 5.12.0-1 + - Modified perlbin.sh to only add existing dirs to PATH. Fixes FS#17402, + path points to non-existant directories + +2010-05-07 kevin <kevin@archlinux.org> + + - Added this changelog. + - Added -Dinc_version_list=none to fix FS#19136, double entry in @INC. + This removes the duplicates and versioned directory entries. + - Change scriptdirs to /usr/lib/perl5/{core,vendor,site}_perl/bin to fix + Fix FS#13808, binaries don't follow FHS. + - Stopped using versioned directories in sitelib and sitearch. + + +# vim: set ft=changelog ts=4 sw=4 et: diff --git a/testing/perl/PKGBUILD b/testing/perl/PKGBUILD new file mode 100644 index 000000000..0f453d4c1 --- /dev/null +++ b/testing/perl/PKGBUILD @@ -0,0 +1,116 @@ +# $Id: PKGBUILD 145739 2011-12-29 21:16:00Z bluewind $ +# Maintainer: Angel Velasquez <angvp@archlinux.org> +# Contributor: kevin <kevin.archlinux.org> +# Contributor: judd <jvinet.zeroflux.org> +# Contributor: francois <francois.archlinux.org> +pkgname=perl +pkgver=5.14.2 +pkgrel=5 +pkgdesc="A highly capable, feature-rich programming language" +arch=(i686 x86_64) +license=('GPL' 'PerlArtistic') +url="http://www.perl.org" +groups=('base') +depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh') +changelog=ChangeLog +source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2 +perlbin.sh +perlbin.csh +provides.pl +0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch) +install=perl.install +options=('!makeflags' '!purge') +md5sums=('04a4c5d3c1f9f19d77daff8e8cd19a26' + '5ed2542fdb9a60682f215bd33701e61a' + '1f0cbbee783e8a6d32f01be5118e0d5e' + '31fc0b5bb4935414394c5cfbec2cb8e5' + 'c25d86206d649046538c3daab7874564') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + if [ "${CARCH}" = "x86_64" ]; then + # for x86_64 + arch_opts="-Dcccdlflags='-fPIC'" + else + # for i686 + arch_opts="" + fi + + ./Configure -des -Dusethreads -Duseshrplib -Doptimize="${CFLAGS}" \ + -Dprefix=/usr -Dinstallprefix=${pkgdir}/usr -Dvendorprefix=/usr \ + -Dprivlib=/usr/share/perl5/core_perl \ + -Darchlib=/usr/lib/perl5/core_perl \ + -Dsitelib=/usr/share/perl5/site_perl \ + -Dsitearch=/usr/lib/perl5/site_perl \ + -Dvendorlib=/usr/share/perl5/vendor_perl \ + -Dvendorarch=/usr/lib/perl5/vendor_perl \ + -Dscriptdir=/usr/bin/core_perl \ + -Dsitescript=/usr/bin/site_perl \ + -Dvendorscript=/usr/bin/vendor_perl \ + -Dinc_version_list=none \ + -Dman1ext=1perl -Dman3ext=3perl ${arch_opts} \ + -Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" + patch -Np1 -i $srcdir/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make test +} + +package() { + # hack to work around makepkg running the subshell in check_sanity() + new_provides=($(cd "$srcdir/perl-$pkgver"; LD_PRELOAD=./libperl.so ./perl -Ilib "$srcdir/provides.pl" .)) + provides=(${new_provides[@]}) + + cd ${srcdir}/${pkgname}-${pkgver} + make install + + ### Perl Settings ### + # Change man page extensions for site and vendor module builds. + # Use archlinux email address instead of my own. + sed -e '/^man1ext=/ s/1perl/1p/' -e '/^man3ext=/ s/3perl/3pm/' \ + -e "/^cf_email=/ s/'.*'/'kevin@archlinux.org'/" \ + -e "/^perladmin=/ s/'.*'/'kevin@archlinux.org'/" \ + -i ${pkgdir}/usr/lib/perl5/core_perl/Config_heavy.pl + + ### CPAN Settings ### + # Set CPAN default config to use the site directories. + sed -e '/(makepl_arg =>/ s/""/"INSTALLDIRS=site"/' \ + -e '/(mbuildpl_arg =>/ s/""/"installdirs=site"/' \ + -i ${pkgdir}/usr/share/perl5/core_perl/CPAN/FirstTime.pm + + ### CPANPLUS Settings ### + # Set CPANPLUS default config to use the site directories. + sed -e "/{'makemakerflags'}/ s/'';/'INSTALLDIRS=site';/" \ + -e "/{'buildflags'}/ s/'';/'installdirs=site';/" \ + -i ${pkgdir}/usr/share/perl5/core_perl/CPANPLUS/Config.pm + + # Profile script to set paths to perl scripts. + install -D -m755 ${srcdir}/perlbin.sh \ + ${pkgdir}/etc/profile.d/perlbin.sh + # Profile script to set paths to perl scripts on csh. (FS#22441) + install -D -m755 ${srcdir}/perlbin.csh \ + ${pkgdir}/etc/profile.d/perlbin.csh + + (cd ${pkgdir}/usr/bin; mv perl${pkgver} perl) + (cd ${pkgdir}/usr/bin/core_perl; ln -sf c2ph pstruct; ln -sf s2p psed) + grep -Rl "${pkgdir}" ${pkgdir}/usr | \ + xargs sed -i "s^${pkgdir}^^g" + + # Remove all pod files *except* those under /usr/share/perl5/core_perl/pod/ + # (FS#16488) + rm -f $pkgdir/usr/share/perl5/core_perl/*.pod + for d in $pkgdir/usr/share/perl5/core_perl/*; do + if [ -d $d -a $(basename $d) != "pod" ]; then + find $d -name *.pod -delete + fi + done + find $pkgdir/usr/lib -name *.pod -delete + find $pkgdir -name .packlist -delete + # Add /usr/lib/perl5/core_perl/CORE/ to standard library path (FS#24660) + install -dv ${pkgdir}/etc/ld.so.conf.d + echo "/usr/lib/perl5/core_perl/CORE" > ${pkgdir}/etc/ld.so.conf.d/perl.conf +} diff --git a/testing/perl/fix-h2ph-and-tests.patch b/testing/perl/fix-h2ph-and-tests.patch new file mode 100644 index 000000000..a2d176ec6 --- /dev/null +++ b/testing/perl/fix-h2ph-and-tests.patch @@ -0,0 +1,104 @@ +From 8d66b3f930dc6d88b524d103e304308ae73a46e7 Mon Sep 17 00:00:00 2001 +From: Robin Barker <rmbarker@cpan.org> +Date: Thu, 22 Apr 2010 11:51:20 +0100 +Subject: [PATCH 1/1] Fix h2ph and test + +--- + lib/h2ph.t | 12 ++++++++++-- + utils/h2ph.PL | 28 +++++++++++++++++++++++----- + 2 files changed, 33 insertions(+), 7 deletions(-) + +diff --git a/lib/h2ph.t b/lib/h2ph.t +index 27dd7b9..8d62d46 100644 +--- a/lib/h2ph.t ++++ b/lib/h2ph.t +@@ -18,7 +18,7 @@ if (!(-e $extracted_program)) { + exit 0; + } + +-plan(4); ++plan(5); + + # quickly compare two text files + sub txt_compare { +@@ -41,8 +41,16 @@ $result = runperl( progfile => 'lib/h2ph.pht', + stderr => 1 ); + like( $result, qr/syntax OK$/, "output compiles"); + ++$result = runperl( progfile => '_h2ph_pre.ph', ++ switches => ['-c'], ++ stderr => 1 ); ++like( $result, qr/syntax OK$/, "preamble compiles"); ++ + $result = runperl( switches => ["-w"], +- prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);'); ++ stderr => 1, ++ prog => <<'PROG' ); ++$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht); ++PROG + is( $result, '', "output free of warnings" ); + + # cleanup +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 8f56db4..1255807 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -401,7 +401,10 @@ if ($opt_e && (scalar(keys %bad_file) > 0)) { + exit $Exit; + + sub expr { +- $new = '"(assembly code)"' and return if /\b__asm__\b/; # freak out. ++ if (/\b__asm__\b/) { # freak out ++ $new = '"(assembly code)"'; ++ return ++ } + my $joined_args; + if(keys(%curargs)) { + $joined_args = join('|', keys(%curargs)); +@@ -770,7 +773,7 @@ sub inc_dirs + sub build_preamble_if_necessary + { + # Increment $VERSION every time this function is modified: +- my $VERSION = 2; ++ my $VERSION = 3; + my $preamble = "$Dest_dir/_h2ph_pre.ph"; + + # Can we skip building the preamble file? +@@ -798,7 +801,16 @@ sub build_preamble_if_necessary + # parenthesized value: d=(v) + $define{$_} = $1; + } +- if ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) { ++ if (/^(\w+)\((\w)\)$/) { ++ my($macro, $arg) = ($1, $2); ++ my $def = $define{$_}; ++ $def =~ s/$arg/\$\{$arg\}/g; ++ print PREAMBLE <<DEFINE; ++unless (defined &$macro) { sub $macro(\$) { my (\$$arg) = \@_; \"$def\" } } ++ ++DEFINE ++ } elsif ++ ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) { + # float: + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; +@@ -807,8 +819,14 @@ sub build_preamble_if_necessary + print PREAMBLE + "unless (defined &$_) { sub $_() { $1 } }\n\n"; + } elsif ($define{$_} =~ /^\w+$/) { +- print PREAMBLE +- "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n"; ++ my $def = $define{$_}; ++ if ($isatype{$def}) { ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { \"$def\" } }\n\n"; ++ } else { ++ print PREAMBLE ++ "unless (defined &$_) { sub $_() { &$def } }\n\n"; ++ } + } else { + print PREAMBLE + "unless (defined &$_) { sub $_() { \"", +-- +1.6.5.2.74.g610f9.dirty + diff --git a/testing/perl/perl.install b/testing/perl/perl.install new file mode 100644 index 000000000..a355c5bbe --- /dev/null +++ b/testing/perl/perl.install @@ -0,0 +1,10 @@ +# arg 1: the new package version +post_install() { + for ver in 5.8.{0,1,2,3,4,5,6,7,8}; do + [ -h usr/lib/perl5/$ver ] && rm usr/lib/perl5/$ver + [ -h usr/lib/perl5/site_perl/$ver ] && rm usr/lib/perl5/site_perl/$ver + [ -h usr/bin/perl$ver ] && rm usr/bin/perl$ver + done + return 0 +} + diff --git a/testing/perl/perlbin.csh b/testing/perl/perlbin.csh new file mode 100644 index 000000000..535f0b18d --- /dev/null +++ b/testing/perl/perlbin.csh @@ -0,0 +1,15 @@ +# Set path to perl scriptdirs if they exist +# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts +# Added /usr/bin/*_perl dirs for scripts +# Remove /usr/lib/perl5/*_perl/bin in next release + +[ -d /usr/bin/site_perl ] && setenv PATH ${PATH}:/usr/bin/site_perl +[ -d /usr/lib/perl5/site_perl/bin ] && setenv PATH ${PATH}:/usr/lib/perl5/site_perl/bin + +[ -d /usr/bin/vendor_perl ] && setenv PATH ${PATH}:/usr/bin/vendor_perl +[ -d /usr/lib/perl5/vendor_perl/bin ] && setenv PATH ${PATH}:/usr/lib/perl5/vendor_perl/bin + +[ -d /usr/bin/core_perl ] && setenv PATH ${PATH}:/usr/bin/core_perl + +# If you have modules in non-standard directories you can add them here. +#export PERLLIB=dir1:dir2 diff --git a/testing/perl/perlbin.sh b/testing/perl/perlbin.sh new file mode 100755 index 000000000..20f830436 --- /dev/null +++ b/testing/perl/perlbin.sh @@ -0,0 +1,18 @@ +# Set path to perl scriptdirs if they exist +# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts +# Added /usr/bin/*_perl dirs for scripts +# Remove /usr/lib/perl5/*_perl/bin in next release + +[ -d /usr/bin/site_perl ] && PATH=$PATH:/usr/bin/site_perl +[ -d /usr/lib/perl5/site_perl/bin ] && PATH=$PATH:/usr/lib/perl5/site_perl/bin + +[ -d /usr/bin/vendor_perl ] && PATH=$PATH:/usr/bin/vendor_perl +[ -d /usr/lib/perl5/vendor_perl/bin ] && PATH=$PATH:/usr/lib/perl5/vendor_perl/bin + +[ -d /usr/bin/core_perl ] && PATH=$PATH:/usr/bin/core_perl + +export PATH + +# If you have modules in non-standard directories you can add them here. +#export PERLLIB=dir1:dir2 + diff --git a/testing/perl/provides.pl b/testing/perl/provides.pl new file mode 100644 index 000000000..3bf369577 --- /dev/null +++ b/testing/perl/provides.pl @@ -0,0 +1,286 @@ +# provides.pl +## +# Script for printing out a provides list of every CPAN distribution +# that is bundled with perl. +# +# Justin Davis <jrcd83@gmail.com> + +use warnings 'FATAL' => 'all'; +use strict; + +package Common; + +sub evalver +{ + my ($path, $mod) = @_; + $mod ||= ""; + + open my $fh, '<', $path or die "open $path: $!"; + + while (<$fh>) { + next unless /\s*(?:\$${mod}::|\$)VERSION\s*=\s*(.+)/; + my $ver = eval $1; + return $ver unless $@; + warn qq{$path:$. bad version string "$ver"\n}; + } + + close $fh; + return undef; +} + +#----------------------------------------------------------------------------- + +package Dists; + +sub maindistfile +{ + my ($dist, $dir) = @_; + + # libpath is the modern style, installing modules under lib/ + # with dirs matching the name components. + my $libpath = join q{/}, 'lib', split /-/, "${dist}.pm"; + + # dumbpath is an old style where there's no subdirs and just + # a .pm file. + my $dumbpath = $dist; + $dumbpath =~ s/\A.+-//; + $dumbpath .= ".pm"; + + my @paths = ($libpath, $dumbpath); + # Some modules (with simple names like XSLoader, lib, etc) are + # generated by Makefile.PL. Search through their generating code. + push @paths, "${dist}_pm.PL" if $dist =~ tr/-/-/ == 0; + + for my $path (map { "$dir/$_" } @paths) { return $path if -f $path; } + return undef; +} + +sub module_ver +{ + my ($dist, $dir) = @_; + + my $path = maindistfile($dist, $dir) or return undef; + + my $mod = $dist; + $mod =~ s/-/::/g; + my $ver = Common::evalver($path, $mod); + unless ($ver) { + warn "failed to find version in module file for $dist\n"; + return undef; + } + + return $ver; +} + +sub changelog_ver +{ + my ($dist, $dir) = @_; + + my $path; + for my $tmp (glob "$dir/{Changes,ChangeLog}") { + if (-f $tmp) { $path = $tmp; last; } + } + return undef unless $path; + + open my $fh, '<', $path or die "open: $!"; + while (<$fh>) { + return $1 if /\A\s*(?:$dist[ \t]*)?([0-9._]+)/; + return $1 if /\A\s*version\s+([0-9._]+)/i; + } + close $fh; + + return undef; +} + +# for some reason podlators has a VERSION file with perl code in it +sub verfile_ver +{ + my ($dist, $dir) = @_; + + my $path = "$dir/VERSION"; + return undef unless -f $path; # no warning, only podlaters has it + + return Common::evalver($path); +} + +# scans a directory full of nicely separated dist. directories. +sub scan_distroot +{ + my ($distroot) = @_; + opendir my $cpand, "$distroot" or die "failed to open $distroot"; + my @dists = grep { !/^\./ && -d "$distroot/$_" } readdir $cpand; + closedir $cpand; + + my @found; + for my $dist (@dists) { + my $distdir = "$distroot/$dist"; + my $ver = (module_ver($dist, $distdir) + || changelog_ver($dist, $distdir) + || verfile_ver($dist, $distdir)); + + if ($ver) { push @found, [ $dist, $ver ]; } + else { warn "failed to find version for $dist\n"; } + } + return @found; +} + +sub find +{ + my ($srcdir) = @_; + return map { scan_distroot($_) } glob "$srcdir/{cpan,dist}"; +} + +#----------------------------------------------------------------------------- + +package Modules; + +use HTTP::Tiny qw(); +use File::Find qw(); +use File::stat; + +*findfile = *File::Find::find; + +sub cpan_provider +{ + my ($module) = @_; + my $url = "http://cpanmetadb.appspot.com/v1.0/package/$module"; + my $http = HTTP::Tiny->new; + my $resp = $http->get($url); + return undef unless $resp->{'success'}; + + my ($cpanpath) = $resp->{'content'} =~ /^distfile: (.*)$/m + or return undef; + + my $dist = $cpanpath; + $dist =~ s{\A.+/}{}; # remove author directory + $dist =~ s{-[^-]+\z}{}; # remove version and extension + return ($dist eq 'perl' ? undef : $dist); +} + +sub find +{ + my ($srcdir) = @_; + my $libdir = "$srcdir/lib/"; + die "failed to find $libdir directory" unless -d $libdir; + + # Find only the module files that have not changed since perl + # was extracted. We don't want the files perl just recently + # installed into lib/. We processed those already. + my @modfiles; + my $finder = sub { + return unless /[.]pm\z/; + push @modfiles, $_; + }; + findfile({ 'no_chdir' => 1, 'wanted' => $finder }, $libdir); + + # First we have to find what the oldest ctime actually is. + my $oldest = time; + @modfiles = map { + my $modfile = $_; + my $ctime = (stat $modfile)->ctime; + $oldest = $ctime if $ctime < $oldest; + [ $modfile, $ctime ]; # save ctime for later + } @modfiles; + + # Then we filter out any file that was created more than a + # few seconds after that. Process the rest. + my @mods; + for my $modfile (@modfiles) { + my ($mod, $ctime) = @$modfile; + next if $ctime - $oldest > 5; # ignore newer files + + my $path = $mod; + $mod =~ s{[.]pm\z}{}; + $mod =~ s{\A$libdir}{}; + $mod =~ s{/}{::}g; + + my $ver = Common::evalver($path) || q{}; + push @mods, [ $mod, $ver ]; + } + + # Convert modules names to the dist names who provide them. + my %seen; + my @dists; + for my $modref (@mods) { + my ($mod, $ver) = @$modref; + my $dist = cpan_provider($mod) or next; # filter out core modules + next if $seen{$dist}++; # avoid duplicate dists + push @dists, [ $dist, $ver ]; + } + return @dists; +} + +#----------------------------------------------------------------------------- + +package Dist2Pkg; + +sub name +{ + my ($name) = @_; + my $orig = $name; + + # Package names should be lowercase and consist of alphanumeric + # characters only (and hyphens!)... + $name =~ tr/A-Z/a-z/; + $name =~ tr/_+/-/; # _ and +'s converted to - (ie Tabbed-Text+Wrap) + $name =~ tr/-a-z0-9+//cd; # Delete all other chars. + $name =~ tr/-/-/s; + + # Delete leading or trailing hyphens... + $name =~ s/\A-|-\z//g; + + die qq{Dist. name '$orig' completely violates packaging standards} + unless $name; + + return "perl-$name"; +} + +sub version +{ + my ($version) = @_; + + # Package versions should be numbers and decimal points only... + $version =~ tr/-/./; + $version =~ tr/_0-9.-//cd; + + # Remove developer versions because pacman has no special logic + # to compare them to regular versions like perl does. + $version =~ s/_[^_]+\z//; + + $version =~ tr/_//d; # delete other underscores + $version =~ tr/././s; # only one period at a time + $version =~ s/\A[.]|[.]\z//g; # shouldn't start or stop with a period + + return $version; +} + +#----------------------------------------------------------------------------- + +package main; + +my %CPANNAME = ('List-Util' => 'Scalar-List-Utils', + 'Text-Tabs' => 'Text-Tabs+Wrap', + 'Cwd' => 'PathTools'); + +my $perldir = shift or die "Usage: $0 [path to perl source directory]\n"; +die "$perldir is not a valid directory." unless -d $perldir; + +my @dists = (Dists::find($perldir), Modules::find($perldir)); +for my $dist (@dists) { + my $name = $dist->[0]; + $dist->[0] = $CPANNAME{$name} if exists $CPANNAME{$name}; +} + +my @pkgs = map { + my ($name, $ver) = @$_; + $name = Dist2Pkg::name($name); + $ver = Dist2Pkg::version($ver); + [ $name, $ver ]; +} @dists; + +@pkgs = sort { $a->[0] cmp $b->[0] } @pkgs; + +for my $pkg (@pkgs) { + my ($name, $ver) = @$pkg; + print "$name=$ver\n"; +} diff --git a/testing/pulseaudio/PKGBUILD b/testing/pulseaudio/PKGBUILD new file mode 100644 index 000000000..65a83fa30 --- /dev/null +++ b/testing/pulseaudio/PKGBUILD @@ -0,0 +1,104 @@ +# $Id: PKGBUILD 145756 2011-12-30 00:51:02Z heftig $ +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> +# Contributor: Corrado Primier <bardo@aur.archlinux.org> +# Contributor: William Rea <sillywilly@gmail.com> + +pkgbase=pulseaudio +pkgname=(pulseaudio libpulse) +pkgdesc="A featureful, general-purpose sound server" +pkgver=1.1 +pkgrel=2 +arch=(i686 x86_64) +url="http://pulseaudio.org/" +license=(GPL LGPL) +makedepends=(libasyncns libcap attr libxtst libsm libsamplerate libtool rtkit + speex tdb udev dbus-core avahi bluez gconf intltool jack + lirc-utils openssl fftw orc json-c gtk2) +options=(!emptydirs !libtool) +source=(http://freedesktop.org/software/$pkgbase/releases/$pkgbase-$pkgver.tar.xz + $pkgbase.xinit) +sha256sums=('6fe531136f6ebce2d35872a2d2c914278cdc5dcdd5eea516dc52c81f9001f5ee' + 'a0db6cdc74fbf0ca10e2343c08e1e228f109221c6c0ff91b0bfade5c4bdf03cf') + +build() { + cd "$srcdir/$pkgbase-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --with-database=tdb \ + --disable-hal \ + --disable-tcpwrap \ + --disable-rpath \ + --disable-default-build-tests + + # fight unused direct deps + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +package_pulseaudio() { + depends=("libpulse=$pkgver-$pkgrel" rtkit libtool speex tdb udev fftw orc + libsamplerate) + optdepends=('avahi: zeroconf support' + 'bluez: bluetooth support' + 'gconf: configuration through gconf (paprefs)' + 'jack: jack support' + 'lirc-utils: infra-red support' + 'openssl: RAOP support' + 'python2-pyqt: Equalizer GUI (qpaeq)') + backup=(etc/pulse/{daemon.conf,default.pa,system.pa}) + install=pulseaudio.install + + cd "$srcdir/$pkgbase-$pkgver" + make -j1 DESTDIR="$pkgdir" install + + # Lower resample quality, saves CPU + sed -e '/resample-method/iresample-method=speex-float-0' \ + -i "$pkgdir/etc/pulse/daemon.conf" + + # Disable cork-request module, can result in e.g. media players unpausing + # when there's a Skype call incoming + sed -e 's|/usr/bin/pactl load-module module-x11-cork-request|#&|' \ + -i "$pkgdir/usr/bin/start-pulseaudio-x11" + + # Make ConsoleKit optional + sed -e $'/load-module module-console-kit/{i.nofail\n;a.fail\n;}' \ + -i "$pkgdir/etc/pulse/default.pa" + + # Python fix + sed -i '1s:python$:&2:' "$pkgdir/usr/bin/qpaeq" + + install -Dm755 "$srcdir/pulseaudio.xinit" "$pkgdir/etc/X11/xinit/xinitrc.d/pulseaudio" + + rm "$pkgdir/etc/dbus-1/system.d/pulseaudio-system.conf" + +### Split libpulse + + mkdir -p "$srcdir"/libpulse/{etc/pulse,usr/{lib,share/man/man5}} + + mv {"$pkgdir","$srcdir/libpulse"}/etc/pulse/client.conf + + mv "$pkgdir"/usr/lib/libpulse{,dsp,-simple,-mainloop-glib}.so* \ + "$pkgdir"/usr/lib/libpulsecommon-*.so \ + "$srcdir/libpulse/usr/lib" + + mv {"$pkgdir","$srcdir/libpulse"}/usr/lib/pkgconfig + mv {"$pkgdir","$srcdir/libpulse"}/usr/include + + mv {"$pkgdir","$srcdir/libpulse"}/usr/share/man/man5/pulse-client.conf.5 + mv {"$pkgdir","$srcdir/libpulse"}/usr/share/vala +} + +package_libpulse() { + pkgdesc="$pkgdesc (client library)" + depends=(dbus-core libasyncns libcap libxtst libsm libsndfile json-c) + optdepends=('alsa-plugins: ALSA support' + 'avahi: zeroconf support') + backup=(etc/pulse/client.conf) + + mv "$srcdir"/libpulse/* "$pkgdir" +} diff --git a/testing/pulseaudio/pulseaudio.install b/testing/pulseaudio/pulseaudio.install new file mode 100644 index 000000000..fd7db3b36 --- /dev/null +++ b/testing/pulseaudio/pulseaudio.install @@ -0,0 +1,23 @@ +post_install() { + cat << MES +>>> See the wiki at http://wiki.archlinux.org/index.php/PulseAudio for details + on configuring your system for PulseAudio. + +>>> Make sure to install pulseaudio-alsa to configure ALSA for PulseAudio. +MES +} + +post_upgrade() { + # Delete old users and groups + # System-wide daemon not supported anymore + if (( $(vercmp $2 0.9.22) < 0 )); then + getent passwd pulse &>/dev/null && usr/sbin/userdel -f pulse + getent group pulse-access &>/dev/null && usr/sbin/groupdel pulse-access + getent group pulse-rt &>/dev/null && usr/sbin/groupdel pulse-rt + getent group pulse &>/dev/null && usr/sbin/groupdel pulse + fi + + true +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/pulseaudio/pulseaudio.xinit b/testing/pulseaudio/pulseaudio.xinit new file mode 100644 index 000000000..2d30c0943 --- /dev/null +++ b/testing/pulseaudio/pulseaudio.xinit @@ -0,0 +1,12 @@ +#!/bin/bash + +case "$DESKTOP_SESSION" in + gnome|kde*|xfce*) # PulseAudio is started via XDG Autostart + ;; + *) + # Extra checks in case DESKTOP_SESSION is not set correctly + if [[ -z $KDE_FULL_SESSION && -z $GNOME_DESKTOP_SESSION_ID ]]; then + /usr/bin/start-pulseaudio-x11 + fi + ;; +esac |