summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community-staging/collectd/PKGBUILD79
-rw-r--r--community-staging/collectd/install8
-rw-r--r--community-staging/collectd/libperl.patch29
-rw-r--r--community-staging/collectd/rc.d39
-rw-r--r--community-staging/collectd/rtnl_dump_filter.patch23
-rw-r--r--community-staging/freeradius/PKGBUILD45
-rw-r--r--community-staging/freeradius/freeradius.install22
-rw-r--r--community-staging/freeradius/krb5-build-fix.patch21
-rw-r--r--community-staging/freeradius/radiusd43
-rw-r--r--community-staging/inn/PKGBUILD132
-rw-r--r--community-staging/inn/inn.install22
-rw-r--r--community-staging/inn/innd.conf2
-rw-r--r--community-staging/inn/innd.rc47
-rw-r--r--community-staging/inn/nnrpd.conf3
-rw-r--r--community-staging/inn/nnrpd.rc49
-rw-r--r--community-staging/inn/site.make.patch32
-rw-r--r--community-staging/linux-tools/PKGBUILD83
-rw-r--r--community-staging/linux-tools/cpupower.conf28
-rw-r--r--community-staging/linux-tools/cpupower.rc41
-rw-r--r--community-staging/linux-tools/cpupower.service10
-rw-r--r--community-staging/perl-berkeleydb/PKGBUILD32
-rw-r--r--community-staging/perl-class-methodmaker/PKGBUILD24
-rw-r--r--community-staging/perl-clone/PKGBUILD32
-rw-r--r--community-staging/perl-crypt-blowfish/PKGBUILD22
-rw-r--r--community-staging/perl-crypt-des/PKGBUILD21
-rw-r--r--community-staging/perl-curses/PKGBUILD25
-rw-r--r--community-staging/perl-data-structure-util/PKGBUILD22
-rw-r--r--community-staging/perl-datetime/PKGBUILD37
-rw-r--r--community-staging/perl-device-serialport/PKGBUILD25
-rw-r--r--community-staging/perl-file-rsyncp/PKGBUILD31
-rw-r--r--community-staging/perl-fuse/PKGBUILD27
-rw-r--r--community-staging/perl-gd/PKGBUILD29
-rw-r--r--community-staging/perl-gssapi/PKGBUILD32
-rw-r--r--community-staging/perl-html-strip/PKGBUILD27
-rw-r--r--community-staging/perl-inline-java/PKGBUILD29
-rw-r--r--community-staging/perl-io-dirent/PKGBUILD31
-rw-r--r--community-staging/perl-io-tty/PKGBUILD27
-rw-r--r--community-staging/perl-json-xs/PKGBUILD29
-rw-r--r--community-staging/perl-libapreq2/PKGBUILD31
-rw-r--r--community-staging/perl-mail-box-parser-c/PKGBUILD31
-rw-r--r--community-staging/perl-mail-transport-dbx/PKGBUILD31
-rw-r--r--community-staging/perl-net-dbus/PKGBUILD28
-rw-r--r--community-staging/perl-net-libidn/PKGBUILD31
-rw-r--r--community-staging/perl-params-classify/PKGBUILD23
-rw-r--r--community-staging/perl-params-validate/PKGBUILD27
-rw-r--r--community-staging/perl-string-crc32/PKGBUILD31
-rw-r--r--community-staging/perl-text-charwidth/PKGBUILD31
-rw-r--r--community-staging/perl-text-kakasi/ChangeLog3
-rw-r--r--community-staging/perl-text-kakasi/PKGBUILD33
-rw-r--r--community-staging/perl-tie-hash-indexed/PKGBUILD32
-rw-r--r--community-staging/perl-www-curl/PKGBUILD32
-rw-r--r--community-staging/perl-xmms/PKGBUILD31
-rw-r--r--community-staging/pork/PKGBUILD27
-rw-r--r--community-staging/rxvt-unicode/PKGBUILD76
-rw-r--r--community-staging/rxvt-unicode/urxvt-tabbed.desktop10
-rw-r--r--community-staging/rxvt-unicode/urxvt.desktop10
-rw-r--r--community-staging/rxvt-unicode/urxvtc.desktop10
-rw-r--r--community-staging/znc/PKGBUILD50
-rw-r--r--community/conntrack-tools/PKGBUILD33
-rw-r--r--community/conntrack-tools/conntrackd.rc35
-rw-r--r--community/conntrack-tools/conntrackd.service8
-rw-r--r--community/kid3/PKGBUILD6
-rw-r--r--community/python2-basemap/PKGBUILD14
-rw-r--r--community/qlandkartegt/PKGBUILD6
-rw-r--r--community/qlandkartegt/qlandkartegt.changelog3
-rw-r--r--community/redis/PKGBUILD6
-rw-r--r--community/ubuntuone-client-gnome/PKGBUILD41
-rw-r--r--community/ubuntuone-client-gnome/fix-build.patch13
-rw-r--r--community/ubuntuone-client-gnome/ubuntuone-client-gnome.install11
-rw-r--r--community/ubuntuone-client/PKGBUILD47
-rw-r--r--community/ubuntuone-client/ubuntuone-client.install11
-rw-r--r--community/unbound/PKGBUILD6
-rw-r--r--core/cryptsetup/PKGBUILD17
-rw-r--r--core/cryptsetup/encrypt_hook249
-rw-r--r--core/cryptsetup/encrypt_install37
-rw-r--r--extra/capi4hylafax/PKGBUILD6
-rw-r--r--extra/capi4hylafax/c2faxrecv.service2
-rw-r--r--extra/kdemultimedia/PKGBUILD14
-rw-r--r--extra/llvm/PKGBUILD76
-rw-r--r--extra/llvm/clang-3.1-fix-libprofile_rt.a-location.patch12
-rw-r--r--extra/llvm/enable-lto.patch12
-rw-r--r--extra/llvm/llvm-Config-config.h9
-rw-r--r--extra/llvm/llvm-Config-llvm-config.h9
-rw-r--r--extra/misdnuser/PKGBUILD11
-rw-r--r--extra/opengtl/PKGBUILD9
-rw-r--r--extra/pm-utils/PKGBUILD13
-rw-r--r--extra/qjackctl/PKGBUILD8
-rw-r--r--extra/sqlite/PKGBUILD12
-rw-r--r--multilib/lib32-llvm/PKGBUILD41
-rw-r--r--staging/graphviz/LICENSE87
-rw-r--r--staging/graphviz/PKGBUILD55
-rw-r--r--staging/graphviz/install12
-rw-r--r--staging/imagemagick/PKGBUILD83
-rw-r--r--staging/imagemagick/perlmagick.rpath.patch10
-rw-r--r--staging/irssi/PKGBUILD34
-rw-r--r--staging/kdebindings-perlkde/PKGBUILD31
-rw-r--r--staging/kdebindings-perlqt/PKGBUILD31
-rw-r--r--staging/perl-bit-vector/PKGBUILD33
-rw-r--r--staging/perl-compress-bzip2/PKGBUILD26
-rw-r--r--staging/perl-crypt-openssl-bignum/PKGBUILD36
-rw-r--r--staging/perl-crypt-openssl-random/PKGBUILD35
-rw-r--r--staging/perl-crypt-openssl-rsa/PKGBUILD34
-rw-r--r--staging/perl-crypt-ssleay/PKGBUILD31
-rw-r--r--staging/perl-dbd-mysql/PKGBUILD45
-rw-r--r--staging/perl-dbi/PKGBUILD36
-rw-r--r--staging/perl-fcgi/PKGBUILD31
-rw-r--r--staging/perl-locale-gettext/PKGBUILD43
-rw-r--r--staging/perl-locale-gettext/compatibility-with-POSIX-module.patch10
-rw-r--r--staging/perl-net-ssleay/PKGBUILD38
-rw-r--r--staging/perl-time-hires/PKGBUILD35
-rw-r--r--staging/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch83
-rw-r--r--staging/perl/ChangeLog66
-rw-r--r--staging/perl/PKGBUILD116
-rw-r--r--staging/perl/digest_eval_hole.diff61
-rw-r--r--staging/perl/fix-h2ph-and-tests.patch104
-rw-r--r--staging/perl/perl.install10
-rw-r--r--staging/perl/perlbin.csh15
-rwxr-xr-xstaging/perl/perlbin.sh18
-rw-r--r--staging/perl/provides.pl299
-rw-r--r--staging/vim/PKGBUILD216
-rw-r--r--staging/vim/archlinux.vim26
-rw-r--r--staging/vim/gvim.desktop63
-rw-r--r--staging/vim/gvim.install11
-rw-r--r--staging/vim/vimrc16
-rw-r--r--staging/weechat/PKGBUILD33
-rw-r--r--testing/nfs-utils/PKGBUILD105
-rw-r--r--testing/nfs-utils/blkmapd.service11
-rw-r--r--testing/nfs-utils/exports15
-rw-r--r--testing/nfs-utils/idmapd.conf14
-rw-r--r--testing/nfs-utils/nfs40
-rw-r--r--testing/nfs-utils/nfs-common315
-rw-r--r--testing/nfs-utils/nfs-common.conf40
-rw-r--r--testing/nfs-utils/nfs-server299
-rw-r--r--testing/nfs-utils/nfs-server.conf29
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch39
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch15
-rw-r--r--testing/nfs-utils/nfs-utils.conf1
-rw-r--r--testing/nfs-utils/nfs-utils.install32
-rw-r--r--testing/nfs-utils/nfsd.service16
-rw-r--r--testing/nfs-utils/proc-fs-nfsd.mount8
-rw-r--r--testing/nfs-utils/rpc-gssd.service12
-rw-r--r--testing/nfs-utils/rpc-idmapd.service12
-rw-r--r--testing/nfs-utils/rpc-mountd.service12
-rw-r--r--testing/nfs-utils/rpc-statd.service12
-rw-r--r--testing/nfs-utils/rpc-svcgssd.service12
-rw-r--r--testing/nfs-utils/start-statd.patch22
-rw-r--r--testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount7
147 files changed, 5310 insertions, 286 deletions
diff --git a/community-staging/collectd/PKGBUILD b/community-staging/collectd/PKGBUILD
new file mode 100644
index 000000000..38536f927
--- /dev/null
+++ b/community-staging/collectd/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 71113 2012-05-24 13:38:17Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Gerhard Brauer <gerhard.brauer@web.de>
+
+pkgname=collectd
+pkgver=5.1.0
+pkgrel=2
+pkgdesc='Daemon which collects system performance statistics periodically'
+arch=('i686' 'x86_64')
+url='http://collectd.org/'
+license=('GPL')
+
+optdepends=('curl: apache, ascent, curl, nginx, and write_http plugins'
+ 'libdbi: dbi plugin'
+ 'libesmtp: notify_email plugin'
+ 'libgcrypt: encryption and authentication for network plugin'
+ 'iptables: iptables plugin'
+ 'libmemcached: memcachec plugin'
+ 'libmysqlclient: mysql plugin'
+ 'iproute2: netlink plugin'
+ 'net-snmp: snmp plugin'
+ 'libnotify: notify_desktop plugin'
+ 'liboping: ping plugin'
+ 'libpcap: dns plugin'
+ 'perl: perl plugin'
+ 'postgresql-libs: postgresql plugin'
+ 'python2: python plugin'
+ 'rrdtool: rrdtool and rrdcached plugins'
+ 'lm_sensors: lm_sensors and sensors plugins'
+ 'libvirt: libvirt plugin'
+ 'libxml2: ascent and libvirt plugins'
+ 'xmms: xmms plugin'
+ 'yajl: curl_json plugin')
+
+makedepends=('curl' 'libdbi' 'libesmtp' 'libgcrypt' 'iptables' 'libmemcached'
+ 'libmysqlclient' 'iproute2' 'net-snmp' 'libnotify' 'liboping'
+ 'libpcap' 'postgresql-libs' 'python2' 'rrdtool' 'lm_sensors'
+ 'libvirt' 'libxml2' 'xmms' 'yajl')
+
+depends=('libltdl')
+
+source=("${url}files/${pkgname}-${pkgver}.tar.gz"
+ 'rtnl_dump_filter.patch'
+ 'libperl.patch'
+ 'rc.d')
+sha1sums=('55f17b17a10710641a9bf4e8c5332cef661cafcd'
+ 'c92b8dacff0a71f2cc8645c2e350ff9bdc1cbd5f'
+ '245c098d121a4a05594553583310953b3a2f6461'
+ '0f441718d5519cb043b1130e5a1d0379078adbcc')
+
+backup=('etc/collectd.conf')
+options=('!libtool')
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i ../rtnl_dump_filter.patch
+ patch -p1 -i ../libperl.patch
+ autoconf
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-static=no \
+ --with-python=/usr/bin/python2
+
+ make all
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm755 ../rc.d "${pkgdir}/etc/rc.d/${pkgname}"
+ install -Dm644 contrib/collectd2html.pl "${pkgdir}"/usr/share/collectd/collectd2html.pl
+}
diff --git a/community-staging/collectd/install b/community-staging/collectd/install
new file mode 100644
index 000000000..54cc0e1b3
--- /dev/null
+++ b/community-staging/collectd/install
@@ -0,0 +1,8 @@
+post_install() {
+ cat <<EOF
+==> Customize your /etc/collectd.conf (you really want to).
+==> Then start and stop the daemon using: /etc/rc.d/collectd
+==> To see some result of collected data, use the Perl script:
+==> /usr/share/collectd/collectd2html.pl
+EOF
+}
diff --git a/community-staging/collectd/libperl.patch b/community-staging/collectd/libperl.patch
new file mode 100644
index 000000000..baa9c5397
--- /dev/null
+++ b/community-staging/collectd/libperl.patch
@@ -0,0 +1,29 @@
+diff -aur old/configure.in new/configure.in
+--- old/configure.in 2011-09-29 20:38:56.725672831 +1000
++++ new/configure.in 2011-09-29 20:39:07.975658829 +1000
+@@ -2810,11 +2810,13 @@
+ then
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
++ SAVE_LIBS="$LIBS"
+ dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string)
+ PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts`
+ PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts`
+ CFLAGS="$CFLAGS $PERL_CFLAGS"
+ LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
++ LIBS="$LIBS -L/usr/lib/perl5/core_perl/CORE -lperl $PERL_LDFLAGS"
+
+ AC_CACHE_CHECK([for libperl],
+ [c_cv_have_libperl],
+@@ -2833,7 +2835,10 @@
+ Nullsv);
+ ]]),
+ [c_cv_have_libperl="yes"],
+- [c_cv_have_libperl="no"]
++ [
++ c_cv_have_libperl="no"
++ LIBS="$SAVE_LIBS"
++ ]
+ )
+ )
+
diff --git a/community-staging/collectd/rc.d b/community-staging/collectd/rc.d
new file mode 100644
index 000000000..442f2324a
--- /dev/null
+++ b/community-staging/collectd/rc.d
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+name=collectd
+prog="/usr/sbin/collectdmon"
+
+PID=$(pidof -o %PPID $prog)
+
+case "$1" in
+start)
+ stat_busy "Starting $name daemon"
+ [[ -z "$PID" ]] && $prog \
+ && { add_daemon $name; stat_done; } \
+ || { stat_fail; exit 1; }
+ ;;
+stop)
+ stat_busy "Stopping $name daemon"
+ [[ -n "$PID" ]] && kill $PID &>/dev/null \
+ && { rm_daemon $name; stat_done; } \
+ || { stat_fail; exit 1; }
+ ;;
+restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+reload)
+ stat_busy "Sending SIGHUP to $name daemon"
+ [[ -n "$PID" ]] && kill -HUP $PID &>/dev/null \
+ && { stat_done; } \
+ || { stat_fail; exit 1; }
+ ;;
+*)
+ echo "usage: $0 {start|stop|restart|reload}"
+ exit 1
+ ;;
+esac
diff --git a/community-staging/collectd/rtnl_dump_filter.patch b/community-staging/collectd/rtnl_dump_filter.patch
new file mode 100644
index 000000000..d5929a621
--- /dev/null
+++ b/community-staging/collectd/rtnl_dump_filter.patch
@@ -0,0 +1,23 @@
+diff -Naur old/src/netlink.c new/src/netlink.c
+--- old/src/netlink.c 2012-01-22 22:10:04.000000000 +1100
++++ new/src/netlink.c 2012-02-01 17:22:54.362752065 +1100
+@@ -570,8 +570,7 @@
+ return (-1);
+ }
+
+- if (rtnl_dump_filter (&rth, link_filter, /* arg1 = */ NULL,
+- NULL, NULL) != 0)
++ if (rtnl_dump_filter (&rth, link_filter, /* arg1 = */ NULL) != 0)
+ {
+ ERROR ("netlink plugin: ir_read: rtnl_dump_filter failed.");
+ return (-1);
+@@ -608,8 +607,7 @@
+ continue;
+ }
+
+- if (rtnl_dump_filter (&rth, qos_filter, (void *) &ifindex,
+- NULL, NULL) != 0)
++ if (rtnl_dump_filter (&rth, qos_filter, (void *) &ifindex) != 0)
+ {
+ ERROR ("netlink plugin: ir_read: rtnl_dump_filter failed.");
+ continue;
diff --git a/community-staging/freeradius/PKGBUILD b/community-staging/freeradius/PKGBUILD
new file mode 100644
index 000000000..3ee72720d
--- /dev/null
+++ b/community-staging/freeradius/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 71182 2012-05-24 15:20:26Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jason R Begley (jayray@digitalgoat.com>
+
+pkgname=freeradius
+pkgver=2.1.12
+pkgrel=6
+pkgdesc="The premier open source RADIUS server"
+arch=('i686' 'x86_64')
+url="http://www.freeradius.org/"
+license=('GPL')
+depends=('krb5' 'pth' 'net-snmp' 'postgresql-libs' 'libmysqlclient')
+makedepends=('libpcap' 'unixodbc' 'python2')
+optdepends=('libpcap' 'unixodbc' 'python2')
+options=('!libtool' '!makeflags')
+install=$pkgname.install
+source=("ftp://ftp.freeradius.org/pub/radius/freeradius-server-$pkgver.tar.bz2"{,.sig}
+ radiusd
+ krb5-build-fix.patch)
+md5sums=('862d3a2c11011e61890ba84fa636ed8c'
+ '8759569d36b9f353c281e24875b556be'
+ 'f1a6530b1b69d2fa793aa45b2de379bb'
+ 'c6a61de7576933f59154a53bfc12a2d2')
+
+build() {
+ cd $srcdir/freeradius-server-$pkgver
+ export CFLAGS="$CFLAGS -fno-strict-aliasing"
+ sed -i 's/ -DKRB5_DEPRECATED//' src/modules/rlm_krb5/Makefile.in
+ patch -p1 <$srcdir/krb5-build-fix.patch
+ ./configure --with-system-libtool --with-system-libltdl \
+ --prefix=/usr --enable-heimdal-krb5 \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib/freeradius
+ make
+}
+
+package() {
+ cd $srcdir/freeradius-server-$pkgver
+ make install R=$pkgdir
+ install -D -m755 ../radiusd $pkgdir/etc/rc.d/radiusd
+ chmod o+r $pkgdir/etc/raddb/*
+ mv $pkgdir/etc/raddb $pkgdir/etc/raddb.default
+ rm -rf $pkgdir/var/run
+}
diff --git a/community-staging/freeradius/freeradius.install b/community-staging/freeradius/freeradius.install
new file mode 100644
index 000000000..c3b9f9415
--- /dev/null
+++ b/community-staging/freeradius/freeradius.install
@@ -0,0 +1,22 @@
+post_install() {
+ groupadd -r radiusd
+ useradd -r -m -d /var/lib/radiusd -g radiusd -s /bin/false radiusd
+
+ touch /var/log/radius/radius.log
+ chown -R radiusd.radiusd /var/log/radius/radius.log
+
+ [ -d /etc/raddb ] || cp -a /etc/raddb.default /etc/raddb
+
+ /bin/true
+}
+
+pre_remove() {
+ /etc/rc.d/radiusd stop
+ /bin/true
+}
+
+post_remove() {
+ userdel radiusd
+ groupdel radiusd
+ /bin/true
+}
diff --git a/community-staging/freeradius/krb5-build-fix.patch b/community-staging/freeradius/krb5-build-fix.patch
new file mode 100644
index 000000000..11dae7090
--- /dev/null
+++ b/community-staging/freeradius/krb5-build-fix.patch
@@ -0,0 +1,21 @@
+diff -wbBur freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c
+--- freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c 2010-09-28 11:03:56.000000000 +0000
++++ freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c 2011-04-29 09:26:10.000000000 +0000
+@@ -375,7 +375,7 @@
+ * Heimdal krb5 verification
+ */
+ radlog(L_AUTH, "rlm_krb5: Parsed name is: %s@%s\n",
+- *userP->name.name_string.val,
++ "-" /* *userP->name.name_string.val*/,
+ userP->realm);
+
+ krb5_cc_default(context, &id);
+@@ -390,7 +390,7 @@
+
+ radlog(L_AUTH, "rlm_krb5: failed verify_user: %s (%s@%s )",
+ error_message(ret),
+- *userP->name.name_string.val,
++ "-" /* *userP->name.name_string.val */,
+ userP->realm);
+
+ return RLM_MODULE_REJECT;
diff --git a/community-staging/freeradius/radiusd b/community-staging/freeradius/radiusd
new file mode 100644
index 000000000..bf872b6f2
--- /dev/null
+++ b/community-staging/freeradius/radiusd
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/radiusd`
+case "$1" in
+ start)
+ stat_busy "Starting radiusd Server"
+
+ [ -d /var/run/radiusd ] || mkdir -p /var/run/radiusd
+ [ -f /var/run/radiusd/radiusd.pid ] || touch /var/run/radiusd/radiusd.pid
+ chown -R radiusd.radiusd /var/run/radiusd
+
+ [ -z "$PID" ] && /usr/sbin/radiusd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $PID > /var/run/radiusd.pid
+ add_daemon radiusd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping radiusd Server"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/radiusd.pid
+ rm_daemon radiusd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-staging/inn/PKGBUILD b/community-staging/inn/PKGBUILD
new file mode 100644
index 000000000..913f0ebac
--- /dev/null
+++ b/community-staging/inn/PKGBUILD
@@ -0,0 +1,132 @@
+# $Id: PKGBUILD 71184 2012-05-24 15:22:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Edward Tjörnhammar <xhemi@cube2.se>
+# Contributor: Edward Tjörnhammar <xhemi@cube2.se>
+
+pkgname=inn
+pkgver=2.5.2
+pkgrel=10
+pkgdesc="Complete open source Usenet system. De facto standard for handling news routing, news spool and serving the spool to customers."
+url="http://www.isc.org/software/inn/"
+arch=('i686' 'x86_64')
+license=("custom:INN")
+depends=('openssl' 'dovecot')
+makedepends=('make' 'bison' 'python2' 'gcc' 'smtp-forwarder' 'libsasl')
+optdepends=('perl' 'python2' 'libsasl')
+options=(emptydirs docs zipman)
+install=inn.install
+backup=(etc/inn/newsfeeds
+ etc/inn/incoming.conf
+ etc/inn/nnrpd.track
+ etc/inn/passwd.nntp
+ etc/inn/inn.conf
+ etc/inn/moderators
+ etc/inn/control.ctl
+ etc/inn/expire.ctl
+ etc/inn/nntpsend.ctl
+ etc/inn/innreport.conf
+ etc/inn/innwatch.ctl
+ etc/inn/distrib.pats
+ etc/inn/actsync.cfg
+ etc/inn/actsync.ign
+ etc/inn/motd.news
+ etc/inn/storage.conf
+ etc/inn/cycbuff.conf
+ etc/inn/buffindexed.conf
+ etc/inn/innfeed.conf
+ etc/inn/news2mail.cf
+ etc/inn/readers.conf
+ etc/inn/radius.conf
+ etc/inn/ovdb.conf
+ etc/inn/subscriptions
+ var/db/inn/active
+ var/db/inn/active.times
+ var/db/inn/history
+ var/db/inn/history.dir
+ var/db/inn/history.hash
+ var/db/inn/history.index
+ var/db/inn/newsgroups)
+source=(http://ftp.isc.org/isc/inn/inn-$pkgver.tar.gz
+ innd.rc
+ nnrpd.rc
+ innd.conf
+ nnrpd.conf
+ site.make.patch)
+md5sums=('a6e577dceb90d07501b96149508b974b'
+ 'a243d9498568f1beee20da5684b5fbfc'
+ 'a0b1ff8501ac8a31ce81a2f9c9b4bac9'
+ 'fbf1d2c5b3c5a08ae3e515c71c2e2e4a'
+ 'bb4bbe86ae52fbbf08b0f6f370dea052'
+ '960c800026ed6e03901cf0bafdfd53d8')
+
+build() {
+ cd $srcdir/inn-$pkgver
+
+ [ $NOEXTRACT -eq 1 ] || PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --includedir=/usr/include/inn \
+ --sbindir=/usr/sbin \
+ --with-libtool \
+ --with-gnu-id \
+ --with-db-dir=/var/db/inn \
+ --sysconfdir=/etc/inn \
+ --with-spool-dir=/var/spool/news \
+ --with-log-dir=/var/log/inn \
+ --with-run-dir=/var/run/inn \
+ --with-tmp-dir=/var/spool/inn/tmp \
+ --enable-largefiles \
+ --with-openssl=/usr \
+ --with-perl \
+ --with-python \
+ --with-sendmail=/usr/bin/msmtp \
+ --with-sasl=/usr \
+ --with-news-user=9 \
+ --with-news-group=13
+ # See https://wiki.archlinux.org/index.php/DeveloperWiki:UID_/_GID_Database
+
+ test -f include/config.h
+ cat >>include/config.h <<EOF
+#undef RUNASUSER
+#define RUNASUSER "news"
+#undef RUNASGROUP
+#define RUNASGROUP "news"
+EOF
+ sed -i 's|-export-dynamic gnu|-export-dynamic|' Makefile.global
+ [ $NOEXTRACT -eq 1 ] || patch -p3 < $srcdir/site.make.patch
+ export LD_LIBRARY_PATH=.:$pkgdir/usr/lib:$LD_LIBRARY_PATH
+
+ make
+}
+
+package() {
+ cd $srcdir/inn-$pkgver
+ export LD_LIBRARY_PATH=.:$pkgdir/usr/lib:$LD_LIBRARY_PATH
+
+ make DESTDIR=$pkgdir install
+
+ mkdir -p $pkgdir/etc/{conf,rc}.d
+ install -m0755 $srcdir/innd.rc $pkgdir/etc/rc.d/innd
+ install -m0644 $srcdir/innd.conf $pkgdir/etc/conf.d/innd
+
+ install -m0755 $srcdir/nnrpd.rc $pkgdir/etc/rc.d/nnrpd
+ install -m0644 $srcdir/nnrpd.conf $pkgdir/etc/conf.d/nnrpd
+
+ cd $pkgdir/usr/lib
+ for i in lib*.a; do
+ gcc -shared -o ${i%%.a}.so.2.0.0 $i
+ for j in 2.0 2; do
+ ln -s ${i%%a}so.2.0.0 ${i%%a}so.$j
+ done
+ done
+
+ touch $pkgdir/var/db/inn/history{.dir,.hash,.index,}
+
+ mkdir -p $pkgdir/usr/share/doc/inn $pkgdir/usr/share/inn/
+ mv $pkgdir/usr/share/man/man3/list.3 $pkgdir/usr/share/man/man3/list-inn.3
+ mv $pkgdir/usr/doc/* $pkgdir/usr/share/doc/inn/
+ mv $pkgdir/usr/http/* $pkgdir/usr/share/inn/
+ mv $pkgdir/usr/bin/archive $pkgdir/usr/bin/archive.inn
+ rm -rf $pkgdir/usr/doc $pkgdir/usr/http $pkgdir/var/run
+ install -D -m0644 $srcdir/inn-$pkgver/LICENSE $pkgdir/usr/share/licenses/inn/LICENSE
+ chown root:root $pkgdir/usr/bin/innbind
+ chmod 05555 $pkgdir/usr/bin/innbind
+}
diff --git a/community-staging/inn/inn.install b/community-staging/inn/inn.install
new file mode 100644
index 000000000..e4070870f
--- /dev/null
+++ b/community-staging/inn/inn.install
@@ -0,0 +1,22 @@
+post_install() {
+ grep -e "^news:" /etc/group 2>&- >&- || groupadd -g 13 -r news 2>&- >&-
+ grep -e "^news:" /etc/passwd 2>&- >&- || useradd -u 9 -r -m -g news news 2>&- >&-
+
+ /usr/bin/makedbz -i -o 2>&- >&-
+ mkdir /var/log/news 2>&- >&-
+
+ chown news:news -R var/spool/news 2>&- >&-
+ chown news:news var/log/news 2>&- >&-
+ chown news:news -R var/db/inn 2>&- >&-
+
+ echo ""
+ echo "->"
+ echo "-> If this is a first-time installation, a minimal active file and"
+ echo "-> history database have been installed. Do not forget to update"
+ echo "-> your cron entries and configure INN. See INSTALL for more"
+ echo "-> information."
+ echo "->"
+ echo "-> The default user:group for inn is news:news"
+ echo "->"
+ echo ""
+}
diff --git a/community-staging/inn/innd.conf b/community-staging/inn/innd.conf
new file mode 100644
index 000000000..48f96ba5e
--- /dev/null
+++ b/community-staging/inn/innd.conf
@@ -0,0 +1,2 @@
+NEWS_USER=news
+NEWS_GROUP=news
diff --git a/community-staging/inn/innd.rc b/community-staging/inn/innd.rc
new file mode 100644
index 000000000..5e36aec0d
--- /dev/null
+++ b/community-staging/inn/innd.rc
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+[ -f /etc/conf.d/innd ] && . /etc/conf.d/innd
+[ -z "$NEWS_USER" ] && print "Please set news username" && exit 1;
+[ -z "$NEWS_GROUP" ] && print "Please set news groupname" && exit 1;
+
+case "$1" in
+ start)
+ stat_busy "Starting InterNetNews"
+ [ -d /var/run/inn ] || {
+ mkdir -p /var/run/inn
+ chown -R $NEWS_USER:$NEWS_GROUP /var/run/inn
+ }
+ su $NEWS_USER -c /usr/bin/rc.news 2>&- >&-
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $! > /var/run/innd.pid
+ add_daemon innd
+ stat_done
+ fi
+
+ ;;
+ stop)
+ stat_busy "Stopping InterNetNews"
+ ctlinnd throttle "shutting down" 2>&- >&-
+ su $NEWS_USER -c /usr/bin/rc.news stop 2>&- >&-
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ kill `ps faxu| grep ^$NEWS_USER | awk -- '{print $2}'` 2>&- >&-
+ rm /var/run/innd.pid
+ rm_daemon innd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-staging/inn/nnrpd.conf b/community-staging/inn/nnrpd.conf
new file mode 100644
index 000000000..689a289ce
--- /dev/null
+++ b/community-staging/inn/nnrpd.conf
@@ -0,0 +1,3 @@
+USE_SSL=1
+LISTEN_PORT=563
+NNRPD_OPTS="-D -S -p $LISTEN_PORT -c /etc/inn/readers.conf"
diff --git a/community-staging/inn/nnrpd.rc b/community-staging/inn/nnrpd.rc
new file mode 100644
index 000000000..d7c902832
--- /dev/null
+++ b/community-staging/inn/nnrpd.rc
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+[ -f /etc/conf.d/nnrpd ] && . /etc/conf.d/nnrpd
+[ -z "$NNRPD_OPTS" ] && print "FATAL: No arguments where passed" && exit 1;
+
+PID=`pidof -o %PPID nnrpd`
+case "$1" in
+ start)
+ stat_busy "Starting InterNetNews Readers Daemon"
+ if [ ! -f /var/run/nnrpd.pid ]; then
+ stat_append ":: InterNetNews (innd) is not running"
+ stat_fail
+ exit 1
+ fi
+
+ [ -d /var/run/inn ] || mkdir -p /var/run/inn
+ [ -z "$PID" ] && nnrpd $NNRPD_OPTS 2>&- >&-
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ PID=`pidof -o %PPID nnrpd`
+ echo $PID > /var/run/nnrpd.pid
+ add_daemon nnrpd
+ stat_done
+ fi
+
+ ;;
+ stop)
+ stat_busy "Stopping InterNetNews Readers Daemon"
+ [ ! -z "$PID" ] && kill $PID >&-
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/nnrpd.pid
+ rm_daemon nnrpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-staging/inn/site.make.patch b/community-staging/inn/site.make.patch
new file mode 100644
index 000000000..5af6e1162
--- /dev/null
+++ b/community-staging/inn/site.make.patch
@@ -0,0 +1,32 @@
+--- old/src/inn-2.4.5/site/Makefile 2008-06-29 19:56:57.000000000 +0200
++++ new/src/inn-2.4.5/site/Makefile 2008-10-09 19:27:59.613208825 +0200
+@@ -52,7 +52,6 @@
+
+ PATH_ACTIVE = ${PATHDB}/active
+ PATH_ACTIVE_TIMES = ${PATHDB}/active.times
+-PATH_HISTORY = ${PATHDB}/history
+ PATH_NEWSGROUPS = ${PATHDB}/newsgroups
+
+ ## Scripts from above, plus site-specific config files.
+@@ -98,7 +97,7 @@
+ ALL_INSTALLED = $(MOST_INSTALLED) $(REST_INSTALLED)
+
+ SPECIAL = $D$(PATH_ACTIVE) $D$(PATH_ACTIVE_TIMES) \
+- $D$(PATH_NEWSGROUPS) $D$(PATH_HISTORY)
++ $D$(PATH_NEWSGROUPS)
+
+ ## Get new versions of everything from samples directory.
+ all: $(ALL) config
+@@ -143,12 +142,6 @@
+ chown $(RUNASUSER) $@
+ chgrp $(RUNASGROUP) $@
+ chmod $(FILEMODE) $@
+-$D$(PATH_HISTORY):
+- touch $@
+- chown $(RUNASUSER) $@
+- chgrp $(RUNASGROUP) $@
+- chmod $(FILEMODE) $@
+- test -z "$D" && $(PATHBIN)/makedbz -i -o
+
+ bootstrap:
+
diff --git a/community-staging/linux-tools/PKGBUILD b/community-staging/linux-tools/PKGBUILD
new file mode 100644
index 000000000..6458a1d7f
--- /dev/null
+++ b/community-staging/linux-tools/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 71200 2012-05-24 20:12:17Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgbase=linux-tools
+pkgname=('perf' 'cpupower')
+pkgver=3.4
+pkgrel=2
+license=('GPL2')
+arch=('i686' 'x86_64')
+url='http://www.kernel.org'
+options=('!strip')
+makedepends=('asciidoc' 'xmlto')
+# split packages need all package dependencies set manually in makedepends
+makedepends+=('python2' 'libnewt' 'elfutils' 'pciutils')
+source=("http://ftp.kernel.org/pub/linux/kernel/v3.x/linux-$pkgver.tar.xz"
+# "http://ftp.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.4.xz"
+ 'cpupower.rc'
+ 'cpupower.conf'
+ 'cpupower.service')
+md5sums=('967f72983655e2479f951195953e8480'
+ '73dbc931e86b3b73d6e2338dcbee81a4'
+ '857ccdd0598511e3bf4b63522754dc48'
+ '20870541e88109d2f153be3c58a277f1')
+
+build() {
+ # apply stable patching set
+ if [[ -e "$srcdir"/patch-* ]]; then
+ msg2 'Applying stable patch set'
+ patch -N -p1 -i "$srcdir"/patch-*
+ fi
+
+ msg2 'Build perf'
+ pushd linux-$pkgver/tools/perf
+ make \
+ DESTDIR="$pkgdir/usr" \
+ perfexecdir="lib/$pkgname" \
+ PYTHON=python2 \
+ NO_GTK2=1 \
+ PERF_VERSION=$pkgver-$pkgrel \
+ all man
+ popd
+
+ msg2 'Build cpupower'
+ cd linux-$pkgver/tools/power/cpupower
+ # we cannot use --as-needed
+ LDFLAGS=${LDFLAGS:+"$LDFLAGS,--no-as-needed"}
+ make VERSION=$pkgver-$pkgrel
+}
+
+package_perf() {
+ pkgdesc='Linux kernel performance auditing tool'
+ depends=('python2' 'libnewt' 'elfutils')
+
+ cd linux-$pkgver/tools/perf
+ make \
+ DESTDIR="$pkgdir/usr" \
+ perfexecdir="lib/$pkgname" \
+ PYTHON=python2 \
+ NO_GTK2=1 \
+ PERF_VERSION=$pkgver-$pkgrel \
+ install install-man
+}
+
+package_cpupower() {
+ pkgdesc='Linux kernel tool to examine and tune power saving related features of your processor'
+ backup=('etc/conf.d/cpupower')
+ depends=('pciutils')
+ conflicts=('cpufrequtils')
+
+ pushd linux-$pkgver/tools/power/cpupower
+ make \
+ DESTDIR="$pkgdir" \
+ mandir='/usr/share/man' \
+ docdir='/usr/share/doc/cpupower' \
+ install install-man
+ popd
+ # install rc.d script
+ install -D -m 755 cpupower.rc "$pkgdir/etc/rc.d/cpupower"
+ install -D -m 644 cpupower.conf "$pkgdir/etc/conf.d/cpupower"
+ install -D -m 644 cpupower.service "$pkgdir/usr/lib/systemd/system/cpupower.service"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community-staging/linux-tools/cpupower.conf b/community-staging/linux-tools/cpupower.conf
new file mode 100644
index 000000000..ee8602953
--- /dev/null
+++ b/community-staging/linux-tools/cpupower.conf
@@ -0,0 +1,28 @@
+# Define CPUs governor
+# valid governors: ondemand, performance, powersave, conservative, userspace.
+#governor='ondemand'
+
+# Limit frequency range
+# Valid suffixes: Hz, kHz (default), MHz, GHz, THz
+#min_freq="2.25GHz"
+#max_freq="3GHz"
+
+# Specific frequency to be set.
+# Requires userspace governor to be available and loaded.
+#freq=
+
+# Utilizes cores in one processor package/socket first before processes are
+# scheduled to other processor packages/sockets.
+# See man (1) CPUPOWER-SET for additional details.
+#mc_scheduler=
+
+# Utilizes thread siblings of one processor core first before processes are
+# scheduled to other cores. See man (1) CPUPOWER-SET for additional details.
+#smp_scheduler=
+
+# Sets a register on supported Intel processore which allows software to convey
+# its policy for the relative importance of performance versus energy savings to
+# the processor. See man (1) CPUPOWER-SET for additional details.
+#perf_bias=
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community-staging/linux-tools/cpupower.rc b/community-staging/linux-tools/cpupower.rc
new file mode 100644
index 000000000..27a491e95
--- /dev/null
+++ b/community-staging/linux-tools/cpupower.rc
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+[[ -f /etc/conf.d/cpupower ]] && . /etc/conf.d/cpupower
+
+case "$1" in
+ start|restart)
+ stat_busy "Setting cpupower rules"
+ declare -i fail=0
+
+ # frequency-set options
+ declare -a params=()
+ params+=(${governor:+-g $governor})
+ params+=(${min_freq:+-d $min_freq})
+ params+=(${max_freq:+-u $max_freq})
+ params+=(${freq:+-f $freq})
+ if ((${#params[@]} > 0)); then
+ cpupower frequency-set "${params[@]}" >/dev/null || fail=1
+ fi
+
+ # set options
+ declare -a params=()
+ params+=(${mc_scheduler:+-m $mc_scheduler})
+ params+=(${smp_scheduler:+-s $smp_scheduler})
+ params+=(${perf_bias:+-b $perf_bias})
+ if ((${#params[@]} > 0)); then
+ cpupower set "${params[@]}" >/dev/null || fail=1
+ fi
+
+ # print failure if any
+ (($fail > 0)) && stat_fail && exit 1 || stat_done
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|restart}"
+esac
+
+true
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community-staging/linux-tools/cpupower.service b/community-staging/linux-tools/cpupower.service
new file mode 100644
index 000000000..f77cfdc97
--- /dev/null
+++ b/community-staging/linux-tools/cpupower.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Apply cpupower configuration
+
+[Service]
+Type=oneshot
+ExecStart=/etc/rc.d/cpupower start
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-staging/perl-berkeleydb/PKGBUILD b/community-staging/perl-berkeleydb/PKGBUILD
new file mode 100644
index 000000000..463fd7389
--- /dev/null
+++ b/community-staging/perl-berkeleydb/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 71186 2012-05-24 15:24:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-berkeleydb
+pkgver=0.50
+pkgrel=3
+pkgdesc="Interface to Berkeley DB version 2, 3 or 4"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/BerkeleyDB/"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'db')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/BerkeleyDB-$pkgver.tar.gz)
+md5sums=('6afc8f49133c262c606d1b96e1412863')
+
+build() {
+ cd $srcdir/BerkeleyDB-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ _dbver=`pacman -Q db | cut -d\ -f2 | cut -d- -f1`
+ depends=('perl' "db=$_dbver")
+
+ cd $srcdir/BerkeleyDB-$pkgver
+ make pure_install doc_install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-class-methodmaker/PKGBUILD b/community-staging/perl-class-methodmaker/PKGBUILD
new file mode 100644
index 000000000..22ff76b28
--- /dev/null
+++ b/community-staging/perl-class-methodmaker/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 71126 2012-05-24 15:00:48Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-class-methodmaker
+pkgver=2.18
+pkgrel=6
+pkgdesc="Create generic class methods"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Class-MethodMaker"
+license=('GPL' 'PerlArtistic')
+depends=('perl>=5.10.0')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/S/SC/SCHWIGON/Class-MethodMaker-${pkgver}.tar.gz")
+md5sums=('99435d78e0a1754b102fe39597c6c3df')
+
+build() {
+ cd $srcdir/Class-MethodMaker-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-clone/PKGBUILD b/community-staging/perl-clone/PKGBUILD
new file mode 100644
index 000000000..21a131b25
--- /dev/null
+++ b/community-staging/perl-clone/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+# Contributor: Alex Dioso <adioso->gmail*com>
+
+pkgname=perl-clone
+pkgver=0.31
+pkgrel=5
+pkgdesc='Recursive copy of nested objects.'
+arch=('i686' 'x86_64')
+url='http://search.cpan.org/~RDF/Clone'
+license=('GPL' 'PerlArtistic')
+depends=('perl>=5.10.0')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/R/RD/RDF/Clone-${pkgver}.tar.gz")
+md5sums=('65f34e7280d7b7dfb72ab6224e5767f5')
+
+build() {
+ cd Clone-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Clone-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-crypt-blowfish/PKGBUILD b/community-staging/perl-crypt-blowfish/PKGBUILD
new file mode 100644
index 000000000..148b97008
--- /dev/null
+++ b/community-staging/perl-crypt-blowfish/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 71130 2012-05-24 15:02:06Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-crypt-blowfish
+pkgver=2.12
+pkgrel=5
+pkgdesc="Perl/CPAN Module Crypt::Blowfish : XSbased implementation of Blowfish"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Crypt-Blowfish"
+license=("GPL" "PerlArtistic")
+source=("http://search.cpan.org/CPAN/authors/id/D/DP/DPARIS/Crypt-Blowfish-$pkgver.tar.gz")
+md5sums=('a0eca17addc8bdaf38c044c365a8800c')
+
+build() {
+ cd $srcdir/Crypt-Blowfish-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make pure_install doc_install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-crypt-des/PKGBUILD b/community-staging/perl-crypt-des/PKGBUILD
new file mode 100644
index 000000000..480bd2f63
--- /dev/null
+++ b/community-staging/perl-crypt-des/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 71132 2012-05-24 15:02:49Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+#Contributor: Pete Morris <pete dot morris at gmail dot com>
+pkgname=perl-crypt-des
+pkgver=2.05
+pkgrel=5
+pkgdesc="Perl DES encryption module"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/~dparis/Crypt-DES"
+license=("GPL" "PerlArtistic")
+depends=('glibc')
+source=("http://www.cpan.org/authors/id/D/DP/DPARIS/Crypt-DES-$pkgver.tar.gz")
+md5sums=('a8a0bea7064e11d2af434f3e468c17bb')
+build() {
+ cd Crypt-DES-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make pure_install doc_install DESTDIR=${pkgdir}
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-curses/PKGBUILD b/community-staging/perl-curses/PKGBUILD
new file mode 100644
index 000000000..9bdbda592
--- /dev/null
+++ b/community-staging/perl-curses/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 71134 2012-05-24 15:03:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-curses
+pkgver=1.28
+pkgrel=5
+pkgdesc="Character screen handling and windowing"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Curses"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'ncurses')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/G/GI/GIRAFFED/Curses-$pkgver.tgz)
+md5sums=('ed9f7ddf2d90f4266da91c3dc9fad9c9')
+
+build() {
+ cd $srcdir/Curses-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make pure_install doc_install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-data-structure-util/PKGBUILD b/community-staging/perl-data-structure-util/PKGBUILD
new file mode 100644
index 000000000..ef4a46da2
--- /dev/null
+++ b/community-staging/perl-data-structure-util/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 71136 2012-05-24 15:04:04Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-data-structure-util
+pkgver=0.15
+pkgrel=6
+pkgdesc="Perl/CPAN Module Data::Structure::Util"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Data-Structure-Util"
+license=("GPL" "PerlArtistic")
+source=("http://search.cpan.org/CPAN/authors/id/A/AN/ANDYA/Data-Structure-Util-$pkgver.tar.gz")
+md5sums=('e12ba777c0abfbd79a131de28d542359')
+
+build() {
+ cd $srcdir/Data-Structure-Util-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-datetime/PKGBUILD b/community-staging/perl-datetime/PKGBUILD
new file mode 100644
index 000000000..821abdb4e
--- /dev/null
+++ b/community-staging/perl-datetime/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 71138 2012-05-24 15:04:45Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-datetime
+pkgver=0.72
+pkgrel=2
+pkgdesc="A complete, easy to use date and time object"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/DateTime"
+license=('GPL' 'PerlArtistic')
+depends=('perl-datetime-timezone>=0.59' 'perl-datetime-locale>=0.41'
+ 'perl-params-validate>=0.76' 'perl-math-round')
+LC_NUMERIC=C
+provides=("perl-datetime=`printf %.4f $pkgver`")
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-$pkgver.tar.gz)
+md5sums=('f50b328919fe8bf2d2b16ca0df35c3f3')
+
+build() {
+ cd $srcdir/DateTime-$pkgver
+ perl Build.PL installdirs=vendor destdir="$pkgdir/"
+ ./Build
+}
+
+check() {
+ cd $srcdir/DateTime-$pkgver
+# ./Build test
+ true
+}
+
+package() {
+ cd $srcdir/DateTime-$pkgver
+ ./Build install
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-device-serialport/PKGBUILD b/community-staging/perl-device-serialport/PKGBUILD
new file mode 100644
index 000000000..d831bf993
--- /dev/null
+++ b/community-staging/perl-device-serialport/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 71140 2012-05-24 15:05:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Ross melin <rdmelin@gmail.com>
+
+pkgname=perl-device-serialport
+pkgver=1.04
+pkgrel=4
+pkgdesc="POSIX clone of Win32::SerialPort"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Device-SerialPort"
+license=('GPL' 'PerlArtistic')
+depends=('perl')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/C/CO/COOK/Device-SerialPort-$pkgver.tar.gz)
+md5sums=('82c698151f934eb28c65d1838cee7d9e')
+
+build() {
+ cd $srcdir/Device-SerialPort-$pkgver
+ eval `perl -V:archname`
+ PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make DESTDIR=$pkgdir install
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-file-rsyncp/PKGBUILD b/community-staging/perl-file-rsyncp/PKGBUILD
new file mode 100644
index 000000000..9cc61aad8
--- /dev/null
+++ b/community-staging/perl-file-rsyncp/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 71205 2012-05-24 22:17:08Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgname=perl-file-rsyncp
+pkgver=0.70
+pkgrel=2
+pkgdesc='Perl interface to rsync file list encoding and decoding'
+arch=('i686' 'x86_64')
+license=('GPL' 'PerlArtistic')
+options=('!emptydirs' '!makeflags')
+url='http://search.cpan.org/dist/File-RsyncP'
+source=("http://search.cpan.org/CPAN/authors/id/C/CB/CBARRATT/File-RsyncP-$pkgver.tar.gz")
+md5sums=('f244372d15a2991b8700f62e73ac51e4')
+
+build() {
+ cd File-RsyncP-$pkgver
+ USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd File-RsyncP-$pkgver
+ make test
+}
+
+package() {
+ cd File-RsyncP-$pkgver
+ make install DESTDIR="$pkgdir/"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community-staging/perl-fuse/PKGBUILD b/community-staging/perl-fuse/PKGBUILD
new file mode 100644
index 000000000..e124ecb69
--- /dev/null
+++ b/community-staging/perl-fuse/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 71142 2012-05-24 15:06:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Tom K <tomk@runbox.com>
+
+pkgname=perl-fuse
+pkgver=0.14
+pkgrel=2
+pkgdesc="write filesystems in Perl using FUSE"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Fuse"
+depends=('perl' 'fuse')
+license=('GPL')
+source=(http://www.cpan.org/authors/id/D/DP/DPAVLIN/Fuse-$pkgver.tar.gz)
+md5sums=('df72f17bf03e1a31c1a834816a3a59f1')
+
+build() {
+ cd $srcdir/Fuse-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd $srcdir/Fuse-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-gd/PKGBUILD b/community-staging/perl-gd/PKGBUILD
new file mode 100644
index 000000000..b7acb99cd
--- /dev/null
+++ b/community-staging/perl-gd/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 71144 2012-05-24 15:06:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+aur@gmail.com>
+
+pkgname=perl-gd
+pkgver=2.46
+pkgrel=3
+pkgdesc="Interface to Gd Graphics Library"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/GD"
+license=('GPL' 'PerlArtistic')
+depends=('gd')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/L/LD/LDS/GD-$pkgver.tar.gz)
+md5sums=('ea86a94eb45330eae27ecbfd5c2f43bb')
+
+build() {
+ cd $srcdir/GD-$pkgver
+ unset CFLAGS
+ unset LDFLAGS
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+}
+package() {
+ cd $srcdir/GD-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-gssapi/PKGBUILD b/community-staging/perl-gssapi/PKGBUILD
new file mode 100644
index 000000000..0c1272153
--- /dev/null
+++ b/community-staging/perl-gssapi/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 71146 2012-05-24 15:07:37Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-gssapi
+pkgver=0.28
+pkgrel=6
+pkgdesc="Perl/CPAN Module GSSAPI"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/GSSAPI"
+license=("GPL" "PerlArtistic")
+depends=('krb5')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/A/AG/AGROLMS/GSSAPI-${pkgver}.tar.gz")
+md5sums=('65f00a0749212af064289c8a05e59b3f')
+
+build() {
+ cd GSSAPI-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd GSSAPI-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-html-strip/PKGBUILD b/community-staging/perl-html-strip/PKGBUILD
new file mode 100644
index 000000000..aa62f2d85
--- /dev/null
+++ b/community-staging/perl-html-strip/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 71148 2012-05-24 15:08:17Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-html-strip
+pkgver=1.06
+pkgrel=8
+pkgdesc="Perl/CPAN Module HTML::Strip"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/~kilinrax/HTML-Strip/"
+license=("GPL" "PerlArtistic")
+depends=('perl')
+source=("http://www.cpan.org/authors/id/K/KI/KILINRAX/HTML-Strip-$pkgver.tar.gz")
+md5sums=('ceeacef0c7c31983e3a991e77bb58b45')
+options=('!emptydirs')
+
+build() {
+ cd $srcdir/HTML-Strip-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package() {
+ cd $srcdir/HTML-Strip-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-inline-java/PKGBUILD b/community-staging/perl-inline-java/PKGBUILD
new file mode 100644
index 000000000..6fee5a322
--- /dev/null
+++ b/community-staging/perl-inline-java/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 71150 2012-05-24 15:08:55Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Wael Nasreddine <gandalf@siemens-mobiles.org>
+
+pkgname=perl-inline-java
+pkgver=0.53
+pkgrel=4
+pkgdesc="The Inline::Java module allows you to put Java source code directly inline in a Perl script or module."
+arch=('i686' 'x86_64')
+depends=('perl' 'perl-inline' 'java-runtime')
+makedepends=('java-environment')
+license=("GPL" "PerlArtistic")
+url="http://search.cpan.org/dist/Inline-Java"
+source=(http://search.cpan.org/CPAN/authors/id/P/PA/PATL/Inline-Java-$pkgver.tar.gz)
+md5sums=('23f96c2ac4915302c3647c0abc92916f')
+options=('!emptydirs')
+
+build() {
+ cd $srcdir/Inline-Java-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor J2SDK=$J2SDKDIR
+ make java
+ make
+}
+package() {
+ cd $srcdir/Inline-Java-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-io-dirent/PKGBUILD b/community-staging/perl-io-dirent/PKGBUILD
new file mode 100644
index 000000000..edb76b026
--- /dev/null
+++ b/community-staging/perl-io-dirent/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 71203 2012-05-24 22:13:58Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgname=perl-io-dirent
+pkgver=0.05
+pkgrel=2
+pkgdesc='Perl IO::Dirent module - Access to dirent structs returned by readdir'
+arch=('i686' 'x86_64')
+license=('GPL' 'PerlArtistic')
+url='http://search.cpan.org/~scottw/IO-Dirent/'
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/S/SC/SCOTTW/IO-Dirent-$pkgver.tar.gz")
+md5sums=('248ab22c31a310c3482fd99592ae550c')
+
+build() {
+ cd IO-Dirent-$pkgver
+ USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd IO-Dirent-$pkgver
+ make test
+}
+
+package() {
+ cd IO-Dirent-$pkgver
+ make install DESTDIR="$pkgdir/"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community-staging/perl-io-tty/PKGBUILD b/community-staging/perl-io-tty/PKGBUILD
new file mode 100644
index 000000000..d1b37d6bb
--- /dev/null
+++ b/community-staging/perl-io-tty/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 71152 2012-05-24 15:09:36Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-io-tty
+pkgver=1.10
+pkgrel=2
+pkgdesc="Provide an interface to TTYs and PTYs"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/IO-Tty/"
+license=("GPL" "PerlArtistic")
+depends=('glibc')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/IO-Tty-$pkgver.tar.gz")
+md5sums=('46baec86a145e57f0ec661fa412b097c')
+
+build() {
+ cd $srcdir/IO-Tty-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package(){
+ cd $srcdir/IO-Tty-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-json-xs/PKGBUILD b/community-staging/perl-json-xs/PKGBUILD
new file mode 100644
index 000000000..6a7e22210
--- /dev/null
+++ b/community-staging/perl-json-xs/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 71154 2012-05-24 15:10:15Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tor Krill <tor@krill.nu>
+
+pkgname=perl-json-xs
+pkgver=2.32
+pkgrel=2
+pkgdesc="JSON::XS - JSON serialising/deserialising, done correctly and fast"
+url="http://search.cpan.org/dist/JSON-XS/"
+license=("GPL")
+arch=('i686' 'x86_64')
+depends=('perl' 'perl-common-sense')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/JSON-XS-$pkgver.tar.gz)
+md5sums=('87f71c78010083ad4d158b5765c4a609')
+
+build() {
+ cd $srcdir/JSON-XS-$pkgver
+# eval `perl -V:archname`
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package() {
+ cd $srcdir/JSON-XS-$pkgver
+ make DESTDIR=$pkgdir install
+
+ find $pkgdir -name '.packlist' -delete && \
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-libapreq2/PKGBUILD b/community-staging/perl-libapreq2/PKGBUILD
new file mode 100644
index 000000000..6bbc2f1ec
--- /dev/null
+++ b/community-staging/perl-libapreq2/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 71156 2012-05-24 15:10:57Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Tom K <tomk@runbox.com>
+
+pkgname=perl-libapreq2
+pkgver=2.13
+pkgrel=3
+pkgdesc="A safe, standards-compliant, high-performance library used for parsing HTTP cookies, query-strings and POST data."
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/libapreq2"
+depends=('mod_perl' 'apr-util')
+makedepends=('perl-extutils-xsbuilder')
+license=("GPL")
+options=('!libtool' '!makeflags')
+source=(http://search.cpan.org/CPAN/authors/id/I/IS/ISAAC/libapreq2-$pkgver.tar.gz)
+md5sums=('c11fb0861aa84dcc6cd0f0798b045eee')
+
+build() {
+ cd $srcdir/libapreq2-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL --with-apache2-apxs=/usr/sbin/apxs
+ find . -type f -name Makefile -exec sed -i 's#-ldb-5.1#-ldb-5.2#' {} \;
+ sed -i 's#-ldb-5.1#-ldb-5.2#' apreq2-config
+ make
+}
+package(){
+ cd $srcdir/libapreq2-$pkgver
+ make install DESTDIR=$pkgdir
+ sed -i "s#$srcdir#/usr/src#" $pkgdir/usr/bin/apreq2-config
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
+}
diff --git a/community-staging/perl-mail-box-parser-c/PKGBUILD b/community-staging/perl-mail-box-parser-c/PKGBUILD
new file mode 100644
index 000000000..d76f93665
--- /dev/null
+++ b/community-staging/perl-mail-box-parser-c/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 71158 2012-05-24 15:11:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-mail-box-parser-c
+pkgver=3.006
+pkgrel=8
+pkgdesc="Perl/CPAN Module Mail::Box::Parser::C : extends MailBox with the speed of C"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Mail-Box-Parser-C"
+license=("GPL" "PerlArtistic")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/M/MA/MARKOV/Mail-Box-Parser-C-${pkgver}.tar.gz")
+md5sums=('3dfb3e2729597ae33114250cbce1b884')
+
+build() {
+ cd Mail-Box-Parser-C-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Mail-Box-Parser-C-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-mail-transport-dbx/PKGBUILD b/community-staging/perl-mail-transport-dbx/PKGBUILD
new file mode 100644
index 000000000..db0fb88fd
--- /dev/null
+++ b/community-staging/perl-mail-transport-dbx/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 71160 2012-05-24 15:12:19Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-mail-transport-dbx
+pkgver=0.07
+pkgrel=8
+pkgdesc="Perl/CPAN Module Mail::Transport::Dbx : Parse Outlook Express mailboxes"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Mail-Transport-Dbx"
+license=("GPL" "PerlArtistic")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/V/VP/VPARSEVAL/Mail-Transport-Dbx-${pkgver}.tar.gz")
+md5sums=('4dcf5346a67c0a7f861cb2bb51a7d14e')
+
+build() {
+ cd Mail-Transport-Dbx-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Mail-Transport-Dbx-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-net-dbus/PKGBUILD b/community-staging/perl-net-dbus/PKGBUILD
new file mode 100644
index 000000000..01eaa3257
--- /dev/null
+++ b/community-staging/perl-net-dbus/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 71162 2012-05-24 15:13:00Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-net-dbus
+pkgver=1.0.0
+pkgrel=2
+pkgdesc="Binding for DBus messaging protocol"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Net-DBus"
+license=('GPL' 'PerlArtistic')
+depends=('dbus' 'perl-xml-twig')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/D/DA/DANBERR/Net-DBus-${pkgver}.tar.gz")
+md5sums=('b17e32976d1a3b56feb908ebd7fed7f1')
+
+build() {
+ cd Net-DBus-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd Net-DBus-${pkgver}
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-net-libidn/PKGBUILD b/community-staging/perl-net-libidn/PKGBUILD
new file mode 100644
index 000000000..25b52b1fa
--- /dev/null
+++ b/community-staging/perl-net-libidn/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 71164 2012-05-24 15:13:39Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-net-libidn
+pkgver=0.12
+pkgrel=6
+pkgdesc="Perl/CPAN Module Net::LibIDN"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Net-LibIDN/"
+license=("GPL" "PerlArtistic")
+depends=(perl libidn)
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/T/TH/THOR/Net-LibIDN-${pkgver}.tar.gz")
+md5sums=('c3e4de2065009d67bcb1df0afb473e12')
+
+build() {
+ cd Net-LibIDN-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Net-LibIDN-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-params-classify/PKGBUILD b/community-staging/perl-params-classify/PKGBUILD
new file mode 100644
index 000000000..2f32dce7f
--- /dev/null
+++ b/community-staging/perl-params-classify/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 71166 2012-05-24 15:14:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-params-classify
+pkgver=0.013
+pkgrel=2
+pkgdesc="argument type classification"
+arch=(i686 x86_64)
+license=('PerlArtistic')
+url="http://search.cpan.org/~zefram/Params-Classify"
+options=(!emptydirs)
+depends=('perl>=5.10.1')
+source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Params-Classify-$pkgver.tar.gz")
+md5sums=('63d24fbec775472ada49d16bce4a9b1f')
+
+build() {
+ cd $srcdir/Params-Classify-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make install DESTDIR=${pkgdir}
+ find ${pkgdir} -name perllocal.pod -delete
+ find ${pkgdir} -name .packlist -delete
+}
diff --git a/community-staging/perl-params-validate/PKGBUILD b/community-staging/perl-params-validate/PKGBUILD
new file mode 100644
index 000000000..4336830ae
--- /dev/null
+++ b/community-staging/perl-params-validate/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 71168 2012-05-24 15:14:58Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-params-validate
+pkgver=1.06
+pkgrel=3
+pkgdesc="Validate sub params against a spec"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Params-Validate"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'perl-module-implementation')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/D/DR/DROLSKY/Params-Validate-${pkgver}.tar.gz")
+md5sums=('4f7a281269cd30d7c3994ba5acb50857')
+
+build() {
+ cd Params-Validate-${pkgver}
+ perl ./Build.PL --installdirs=vendor
+ ./Build
+}
+package(){
+ cd Params-Validate-${pkgver}
+ ./Build install --destdir=${pkgdir}
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-string-crc32/PKGBUILD b/community-staging/perl-string-crc32/PKGBUILD
new file mode 100644
index 000000000..2fc051dfd
--- /dev/null
+++ b/community-staging/perl-string-crc32/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 71170 2012-05-24 15:15:35Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-string-crc32
+pkgver=1.4
+pkgrel=8
+pkgdesc="Perl/CPAN Module String::CRC32 : ZMODEMlike CRC32 generation"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/String-CRC32"
+license=("GPL" "PerlArtistic")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/S/SO/SOENKE/String-CRC32-${pkgver}.tar.gz")
+md5sums=('9b241bc4a482a3aa59fbb1429bc30546')
+
+build() {
+ cd String-CRC32-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd String-CRC32-${pkgver}
+
+ make pure_install doc_install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-text-charwidth/PKGBUILD b/community-staging/perl-text-charwidth/PKGBUILD
new file mode 100644
index 000000000..6e33f7668
--- /dev/null
+++ b/community-staging/perl-text-charwidth/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 71172 2012-05-24 15:16:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-text-charwidth
+pkgver=0.04
+pkgrel=8
+pkgdesc="Perl/CPAN Module Text::CharWidth"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Text-CharWidth"
+license=("GPL" "PerlArtistic")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/K/KU/KUBOTA/Text-CharWidth-${pkgver}.tar.gz")
+md5sums=('37a723df0580c0758c0ee67b37336c15')
+
+build() {
+ cd Text-CharWidth-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Text-CharWidth-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-text-kakasi/ChangeLog b/community-staging/perl-text-kakasi/ChangeLog
new file mode 100644
index 000000000..0a469fdff
--- /dev/null
+++ b/community-staging/perl-text-kakasi/ChangeLog
@@ -0,0 +1,3 @@
+2008-10-27 Allan McRae <allan@archlinux.org>
+ * perl-text-kakasi 2.04-4
+ * fixed typo in depends
diff --git a/community-staging/perl-text-kakasi/PKGBUILD b/community-staging/perl-text-kakasi/PKGBUILD
new file mode 100644
index 000000000..7b95d1bb1
--- /dev/null
+++ b/community-staging/perl-text-kakasi/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 71174 2012-05-24 15:16:46Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Allan McRae <mcrae_allan@hotmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-text-kakasi
+pkgver=2.04
+pkgrel=9
+pkgdesc="Perl frontend to kakasi"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Text-Kakasi"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'kakasi')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/D/DA/DANKOGAI/Text-Kakasi-${pkgver}.tar.gz")
+md5sums=('5a9e381cb93edfd707124a63c60f96b1')
+
+build() {
+ cd Text-Kakasi-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Text-Kakasi-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-tie-hash-indexed/PKGBUILD b/community-staging/perl-tie-hash-indexed/PKGBUILD
new file mode 100644
index 000000000..6b907f694
--- /dev/null
+++ b/community-staging/perl-tie-hash-indexed/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 71176 2012-05-24 15:17:24Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-tie-hash-indexed
+pkgver=0.05
+pkgrel=8
+pkgdesc="Ordered hashes for Perl"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Tie-Hash-Indexed"
+license=('GPL' 'PerlArtistic')
+depends=('perl')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/M/MH/MHX/Tie-Hash-Indexed-${pkgver}.tar.gz)
+md5sums=('41e2d013df8cfafdd239bc65bbada014')
+
+build() {
+ cd Tie-Hash-Indexed-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Tie-Hash-Indexed-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-www-curl/PKGBUILD b/community-staging/perl-www-curl/PKGBUILD
new file mode 100644
index 000000000..eccec2850
--- /dev/null
+++ b/community-staging/perl-www-curl/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 71178 2012-05-24 15:18:00Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-www-curl
+pkgver=4.15
+pkgrel=3
+pkgdesc="Perl/CPAN Module WWW::Curl"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/WWW-Curl/"
+license=("GPL" "PerlArtistic")
+depends=("curl")
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/S/SZ/SZBALINT/WWW-Curl-${pkgver}.tar.gz")
+md5sums=('31c0b8c7e5e2d26bcc8213d702186d5f')
+
+build() {
+ cd WWW-Curl-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd WWW-Curl-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-xmms/PKGBUILD b/community-staging/perl-xmms/PKGBUILD
new file mode 100644
index 000000000..8af5be8b3
--- /dev/null
+++ b/community-staging/perl-xmms/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 71180 2012-05-24 15:18:43Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Georg Grabler <ggrabler@gmail.com>
+
+pkgname=perl-xmms
+pkgver=0.12
+pkgrel=8
+pkgdesc="Bundle::Xmms - Bundle for xmms remote control shell"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/~dougm/Xmms-Perl/"
+depends=('perl' 'xmms' 'libxxf86dga')
+license=('GPL' 'PerlArtistic')
+source=("http://search.cpan.org/CPAN/authors/id/D/DO/DOUGM/Xmms-Perl-${pkgver}.tar.gz")
+md5sums=('d1fbf6d09330f7855dd80f3ceee8e6f7')
+
+build() {
+ cd Xmms-Perl-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Xmms-Perl-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/pork/PKGBUILD b/community-staging/pork/PKGBUILD
new file mode 100644
index 000000000..ba6016644
--- /dev/null
+++ b/community-staging/pork/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 71198 2012-05-24 19:24:21Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=pork
+pkgver=0.99.8.1
+pkgrel=6
+pkgdesc="Console-based AOL Instant Messenger & IRC client"
+arch=('i686' 'x86_64')
+url="http://dev.ojnk.net/"
+license=('GPL')
+depends=('ncurses' 'perl')
+source=(http://downloads.sourceforge.net/sourceforge/ojnk/$pkgname-$pkgver.tar.gz)
+sha256sums=('f0d4cad21017fd75b3c200342c54dd56d9ff7bc38d1e9b3c8ba686ba53d585ed')
+
+build() {
+ cd $pkgname-$pkgver
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community-staging/rxvt-unicode/PKGBUILD b/community-staging/rxvt-unicode/PKGBUILD
new file mode 100644
index 000000000..905b823ef
--- /dev/null
+++ b/community-staging/rxvt-unicode/PKGBUILD
@@ -0,0 +1,76 @@
+# $Id: PKGBUILD 71207 2012-05-24 22:39:26Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: tobias <tobias@archlinux.org>
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+
+pkgname=rxvt-unicode
+pkgver=9.15
+pkgrel=3
+pkgdesc='An unicode enabled rxvt-clone terminal emulator (urxvt)'
+arch=('i686' 'x86_64')
+url='http://software.schmorp.de/pkg/rxvt-unicode.html'
+license=('GPL')
+depends=('libxft' 'gdk-pixbuf2' 'perl' 'startup-notification')
+optdepends=('gtk2-perl: to use the urxvt-tabbed')
+source=(
+ "http://dist.schmorp.de/rxvt-unicode/$pkgname-$pkgver.tar.bz2"
+ 'urxvt.desktop'
+ 'urxvtc.desktop'
+ 'urxvt-tabbed.desktop'
+)
+md5sums=('15595aa326167ac5eb68c28d95432faf'
+ '88d8786d74b819450adf722180db09fd'
+ 'bebf5b6b399b74b557fcedbdb47cc387'
+ '2604896bb107fbb5511bfd6f46d65894')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --with-terminfo=/usr/share/terminfo \
+ --enable-256-color \
+ --enable-combining \
+ --enable-fading \
+ --enable-font-styles \
+ --enable-iso14755 \
+ --enable-keepscrolling \
+ --enable-lastlog \
+ --enable-mousewheel \
+ --enable-next-scroll \
+ --enable-perl \
+ --enable-pixbuf \
+ --enable-pointer-blank \
+ --enable-rxvt-scroll \
+ --enable-selectionscrolling \
+ --enable-slipwheeling \
+ --enable-smart-resize \
+ --enable-startup-notification \
+ --enable-transparency \
+ --enable-unicode3 \
+ --enable-utmp \
+ --enable-wtmp \
+ --enable-xft \
+ --enable-xim \
+ --enable-xterm-scroll \
+ --disable-frills
+ make
+}
+
+package() {
+ pushd $pkgname-$pkgver
+ # workaround terminfo installation
+ export TERMINFO="$pkgdir/usr/share/terminfo"
+ install -d "$TERMINFO"
+ make DESTDIR="$pkgdir" install
+ # install the tabbing wrapper ( requires gtk2-perl! )
+ sed -i 's/\"rxvt\"/"urxvt"/' doc/rxvt-tabbed
+ install -Dm 755 doc/rxvt-tabbed "$pkgdir/usr/bin/urxvt-tabbed"
+ popd
+ # install freedesktop menu
+ for _f in urxvt urxvtc urxvt-tabbed; do
+ install -Dm644 $_f.desktop "$pkgdir/usr/share/applications/$_f.desktop"
+ done
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community-staging/rxvt-unicode/urxvt-tabbed.desktop b/community-staging/rxvt-unicode/urxvt-tabbed.desktop
new file mode 100644
index 000000000..f3efdc9b9
--- /dev/null
+++ b/community-staging/rxvt-unicode/urxvt-tabbed.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=1.0
+Encoding=UTF-8
+Name=urxvt (tabbed)
+Comment=An unicode capable and tabbed rxvt clone
+Exec=urxvt-tabbed
+Icon=terminal
+Terminal=false
+Type=Application
+Categories=Application;System;TerminalEmulator;
diff --git a/community-staging/rxvt-unicode/urxvt.desktop b/community-staging/rxvt-unicode/urxvt.desktop
new file mode 100644
index 000000000..0a9baf7df
--- /dev/null
+++ b/community-staging/rxvt-unicode/urxvt.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=1.0
+Encoding=UTF-8
+Name=urxvt
+Comment=An unicode capable rxvt clone
+Exec=urxvt
+Icon=terminal
+Terminal=false
+Type=Application
+Categories=Application;System;TerminalEmulator;
diff --git a/community-staging/rxvt-unicode/urxvtc.desktop b/community-staging/rxvt-unicode/urxvtc.desktop
new file mode 100644
index 000000000..e39a418f6
--- /dev/null
+++ b/community-staging/rxvt-unicode/urxvtc.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=1.0
+Encoding=UTF-8
+Name=urxvt (client)
+Comment=An unicode capable rxvt clone client for urxvtd
+Exec=urxvtc
+Icon=terminal
+Terminal=false
+Type=Application
+Categories=Application;System;TerminalEmulator;
diff --git a/community-staging/znc/PKGBUILD b/community-staging/znc/PKGBUILD
new file mode 100644
index 000000000..44061879e
--- /dev/null
+++ b/community-staging/znc/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 71210 2012-05-24 23:36:36Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Contributor: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: mickael9 <mickael9 at gmail dot com>
+
+pkgname=znc
+pkgver=0.206
+pkgrel=2
+pkgdesc='An IRC bouncer with modules & scripts support'
+url='http://en.znc.in/wiki/index.php/ZNC'
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('c-ares' 'libsasl')
+#makedepends=('swig' 'tcl' 'python' 'perl')
+makedepends=('tcl' 'python' 'perl')
+optdepends=('tcl: modtcl module'
+ 'python: modpython module'
+ 'perl: modperl module'
+ 'cyrus-sasl: saslauth module')
+source=("http://znc.in/releases/$pkgname-$pkgver.tar.gz"
+ "http://people.znc.in/~darthgandalf/znc/modperl/modperl-znc-0.204.tar.bz2"
+ "http://people.znc.in/~darthgandalf/znc/modpython/modpython-znc-0.204.tar.bz2")
+md5sums=('b7d3f21da81abaeb553066b0e10beb53'
+ 'a9c72d556d9a4ef100520433f17d71ae'
+ '19bf033c5cb9243171c215043c594f07')
+
+build() {
+ # swig 2.0.6 is bugged, see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672035
+ # use an alternate ways of building znc explain here:
+ # - http://wiki.znc.in/Modperl
+ # - http://wiki.znc.in/Modpython
+ mv -v modperl/* $pkgname-$pkgver/modules/modperl
+ mv -v modpython/* $pkgname-$pkgver/modules/modpython
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --enable-sasl \
+ --enable-python \
+ --enable-perl \
+ --enable-tcl \
+ --disable-swig \
+ --enable-extra
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/conntrack-tools/PKGBUILD b/community/conntrack-tools/PKGBUILD
index 0ca10b54b..006e17429 100644
--- a/community/conntrack-tools/PKGBUILD
+++ b/community/conntrack-tools/PKGBUILD
@@ -1,42 +1,45 @@
-# $Id: PKGBUILD 61627 2012-01-04 23:16:10Z seblu $
-# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net>
+# $Id: PKGBUILD 71212 2012-05-25 00:16:39Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
# Contributor: Valere Monseur <valere_monseur@hotmail.com>
# Contributor: Alessandro Sagratini <ale_sagra@hotmail.com>
# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
pkgname=conntrack-tools
pkgver=1.0.1
-pkgrel=1
+pkgrel=2
pkgdesc='Userspace tools to interact with the Netfilter connection tracking system'
arch=('i686' 'x86_64')
url='http://www.netfilter.org/projects/conntrack-tools'
license=('GPL2')
depends=('libnetfilter_conntrack')
backup=('etc/conntrackd/conntrackd.conf')
-source=("http://www.netfilter.org/projects/${pkgname}/files/${pkgname}-${pkgver}.tar.bz2"
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"
'conntrackd.rc'
- 'conntrackd.conf')
+ 'conntrackd.conf'
+ 'conntrackd.service')
md5sums=('8a60f02a177fc31fe40cc992c4de90e2'
- '619ab1e15837436b47cbdc739d69ee78'
- '92a7fc6ab5cba5e48cde4cac0ac403b1')
+ '977dfb8fc58df0c74120c8ac92026a6a'
+ '92a7fc6ab5cba5e48cde4cac0ac403b1'
+ 'bd135eaefb47923bb8e8d26f084d3e9d')
build() {
- cd ${pkgname}-${pkgver}
+ cd $pkgname-$pkgver
./configure --prefix=/usr --sysconfdir=/etc
make
}
package() {
- # initscripts scripts
+ # install binaries
+ pushd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ popd
+ # initscripts & systemd
install -D -m 755 conntrackd.rc "$pkgdir/etc/rc.d/conntrackd"
install -D -m 644 conntrackd.conf "$pkgdir/etc/conf.d/conntrackd"
-
+ install -D -m 644 conntrackd.service \
+ "$pkgdir/usr/lib/systemd/system/conntrackd.service"
# install empty configuration files
- install -D -m 644 /dev/null "${pkgdir}/etc/conntrackd/conntrackd.conf"
-
- # install binaries
- cd ${pkgname}-${pkgver}
- make DESTDIR="${pkgdir}" install
+ install -D -m 644 /dev/null "$pkgdir/etc/conntrackd/conntrackd.conf"
}
# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/conntrack-tools/conntrackd.rc b/community/conntrack-tools/conntrackd.rc
index ba1c7ef49..a7040c633 100644
--- a/community/conntrack-tools/conntrackd.rc
+++ b/community/conntrack-tools/conntrackd.rc
@@ -4,31 +4,30 @@
. /etc/rc.d/functions
. /etc/conf.d/${0##*/}
-NAME=conntrackd
DAEMON=/usr/sbin/conntrackd
PID=$(pidof -o %PPID $DAEMON)
case "$1" in
- start)
- stat_busy "Starting $NAME daemon"
- [[ ! $PID ]] && $DAEMON $DAEMON_OPTIONS && add_daemon $NAME && stat_done && exit 0
- stat_fail
- ;;
+ start)
+ stat_busy "Starting ${0##*/} daemon"
+ [[ ! $PID ]] && $DAEMON $DAEMON_OPTIONS && add_daemon ${0##*/} && stat_done && exit 0
+ stat_fail
+ ;;
stop)
- stat_busy "Stopping $NAME daemon"
- [[ $PID ]] && kill $PID &> /dev/null && rm_daemon $NAME && stat_done && exit 0
- stat_fail
- ;;
+ stat_busy "Stopping ${0##*/} daemon"
+ [[ $PID ]] && kill $PID &> /dev/null && rm_daemon ${0##*/} && stat_done && exit 0
+ stat_fail
+ ;;
restart)
- $0 stop
- $0 start
- exit 0
- ;;
- *)
- echo "usage: ${0##*/} {start|stop|restart}" >&2
- ;;
+ $0 stop
+ $0 start
+ exit 0
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|stop|restart}" >&2
+ ;;
esac
exit 1
-# vim:set ts=2 sw=2 ft=sh noet:
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/conntrack-tools/conntrackd.service b/community/conntrack-tools/conntrackd.service
new file mode 100644
index 000000000..25a113785
--- /dev/null
+++ b/community/conntrack-tools/conntrackd.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Conntrack Daemon
+
+[Service]
+ExecStart=/usr/sbin/conntrackd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/kid3/PKGBUILD b/community/kid3/PKGBUILD
index 58909f0f8..b97e91920 100644
--- a/community/kid3/PKGBUILD
+++ b/community/kid3/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 70622 2012-05-13 09:46:34Z jlichtblau $
+# $Id: PKGBUILD 71118 2012-05-24 14:06:52Z tomegun $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Alois Nespor <alois.nespor@gmail.com>
pkgname=kid3
pkgver=2.1
-pkgrel=2
+pkgrel=3
pkgdesc="An MP3, Ogg/Vorbis and FLAC tag editor for KDE"
arch=('i686' 'x86_64')
url="http://kid3.sourceforge.net/"
license=('GPL')
-depends=('chromaprint' 'id3lib' 'qt' 'tunepimp' 'kdelibs')
+depends=('chromaprint' 'id3lib' 'taglib' 'kdebase-runtime')
makedepends=('automoc4' 'cmake' 'docbook-xml' 'docbook-xsl')
options=('!makeflags')
install=$pkgname.install
diff --git a/community/python2-basemap/PKGBUILD b/community/python2-basemap/PKGBUILD
index bb82fc98c..778908a3c 100644
--- a/community/python2-basemap/PKGBUILD
+++ b/community/python2-basemap/PKGBUILD
@@ -1,27 +1,27 @@
-# $Id: PKGBUILD 62219 2012-01-18 13:46:59Z stephane $
+# $Id: PKGBUILD 71122 2012-05-24 14:57:31Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Julien Morin <jmorin@cp.dias.ie>
pkgname=python2-basemap
-pkgver=1.0.2
+pkgver=1.0.3
pkgrel=1
pkgdesc="Toolkit for plotting data on map projections"
arch=('i686' 'x86_64')
url="http://matplotlib.sourceforge.net/basemap/doc/html/"
license=('custom')
-depends=('python2-matplotlib' 'geos' 'shapelib' 'python2-numpy' 'python2-httplib2')
+depends=('python2-matplotlib' 'geos' 'shapelib' 'python2-numpy' 'python2-httplib2')
optdepends=('python-imaging: Python Imaging Library is only needed for bluemarble and warpimage methods.')
source=("http://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-${pkgver}/basemap-${pkgver}.tar.gz")
-sha1sums=('234cdf591e6217de78452d7be2500781c85f5fb4')
+sha1sums=('ee5913726d31a76a5c40451dd248977355ea3cff')
build() {
cd "${srcdir}/basemap-${pkgver}"
-
+
# Remove the bundled librarie
rm -r geos-?.?.?
sed -i "s/lib64/lib/g" setup.py
-
+
python2 setup.py config
python2 setup.py build
}
@@ -31,7 +31,7 @@ package() {
_pybasever=2.7
- python2 setup.py install -O1 --skip-build --root="${pkgdir}" --prefix=/usr
+ python2 setup.py install -O1 --skip-build --root="${pkgdir}" --prefix=/usr
# Conflict with files from python2-matplotlib
rm "${pkgdir}"/usr/lib/python${_pybasever}/site-packages/mpl_toolkits/__init__.{py,pyc,pyo}
diff --git a/community/qlandkartegt/PKGBUILD b/community/qlandkartegt/PKGBUILD
index bec883a14..44356ee39 100644
--- a/community/qlandkartegt/PKGBUILD
+++ b/community/qlandkartegt/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 70968 2012-05-20 21:22:58Z jlichtblau $
+# $Id: PKGBUILD 71192 2012-05-24 17:21:45Z jlichtblau $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Matthias Maennich <arch@maennich.net>
# Contributor: <boenki@gmx.de>
pkgname=qlandkartegt
-pkgver=1.4.1
+pkgver=1.4.2
pkgrel=1
pkgdesc="Use your GPS with Linux"
arch=('i686' 'x86_64')
@@ -18,7 +18,7 @@ install=$pkgname.install
changelog=$pkgname.changelog
source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
$pkgname-mimetypes.xml)
-sha256sums=('c720dbe484f5cc164cdacfbf70fcb37832de5f0b416cd482147e710b57570e68'
+sha256sums=('89f1021bda2bba054cb6d4363bb04fd5002fc34ccd01c73aa2513e99cfd65535'
'e8d33948831f8a66edd752c71c653085d6c4d9f1969e70dd8c40b9c7ca37fba0')
build() {
diff --git a/community/qlandkartegt/qlandkartegt.changelog b/community/qlandkartegt/qlandkartegt.changelog
index 367591af7..f9934e824 100644
--- a/community/qlandkartegt/qlandkartegt.changelog
+++ b/community/qlandkartegt/qlandkartegt.changelog
@@ -1,3 +1,6 @@
+2012-05-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qlandkartegt 1.4.2-1
+
2012-05-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
* qlandkartegt 1.4.1-1
diff --git a/community/redis/PKGBUILD b/community/redis/PKGBUILD
index 29b1f109f..a64e97ece 100644
--- a/community/redis/PKGBUILD
+++ b/community/redis/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 70310 2012-05-04 09:33:19Z spupykin $
+# $Id: PKGBUILD 71108 2012-05-24 08:34:09Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Jan-Erik Rediger <badboy at archlinux dot us>
# Contributor: nofxx <x@<nick>.com>
pkgname=redis
-pkgver=2.4.13
+pkgver=2.4.14
pkgrel=1
pkgdesc="Advanced key-value store"
arch=('i686' 'x86_64')
@@ -18,7 +18,7 @@ backup=("etc/redis.conf"
source=("http://redis.googlecode.com/files/${pkgname}-${pkgver}.tar.gz"
"redis.d"
"redis.logrotate")
-md5sums=('f8a160f8a6fe7d7e8ebb4c23ff583d71'
+md5sums=('1bc8f833b955ef119d643da08084433f'
'4f2c02b481283d1336508c988e60e8d8'
'9e2d75b7a9dc421122d673fe520ef17f')
diff --git a/community/ubuntuone-client-gnome/PKGBUILD b/community/ubuntuone-client-gnome/PKGBUILD
new file mode 100644
index 000000000..6e277f729
--- /dev/null
+++ b/community/ubuntuone-client-gnome/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 71106 2012-05-24 07:04:34Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=ubuntuone-client-gnome
+pkgver=3.0.1
+pkgrel=1
+pkgdesc="Some plug-ins, extensions, and data for integrating Ubuntu One features in some core parts of GNOME"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/ubuntuone-client-gnome"
+license=('GPL')
+depends=('nautilus' 'evolution-data-server' 'ubuntuone-client')
+makedepends=('intltool' 'gnome-settings-daemon')
+optdepends=('gnome-settings-daemon: shows a warning when Ubuntu One runs out of space')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/ubuntuone-client-gnome/stable-3-0/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ http://pkgbuild.com/~bgyorgy/sources/$pkgname-translations-20120513.tar.gz
+ fix-build.patch)
+md5sums=('20cc05860c3d3dc2c294f4001cbc9108'
+ 'cabbf043f9be0ea8df4c9a4b020cd2c3'
+ '8d34fed775be23d1743dda079a293b78')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/fix-build.patch"
+
+ # Install language files
+ echo 'am ar ast az be bg bn bs ca ca@valencia cs da de el en_AU en_GB eo es et eu fi fo fr gd gl gu he hi hr hu id it ja kk km ko ku lt lv ms my nb nl nn oc pa pl pt pt_BR ro ru shn si sk sl sq sr sv ta te th tr ug uk vi zh_CN zh_HK zh_TW' >po/LINGUAS
+ rename $pkgname- '' ../po/$pkgname-*.po
+ mv -f -t po ../po/*
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community/ubuntuone-client-gnome/fix-build.patch b/community/ubuntuone-client-gnome/fix-build.patch
new file mode 100644
index 000000000..237ba323e
--- /dev/null
+++ b/community/ubuntuone-client-gnome/fix-build.patch
@@ -0,0 +1,13 @@
+diff -Naur ubuntuone-client-gnome-3.0.0.orig/nautilus/utils.c ubuntuone-client-gnome-3.0.0/nautilus/utils.c
+--- ubuntuone-client-gnome-3.0.0.orig/nautilus/utils.c 2012-02-22 16:40:56.000000000 +0100
++++ ubuntuone-client-gnome-3.0.0/nautilus/utils.c 2012-05-13 22:26:35.267409857 +0200
+@@ -26,8 +26,7 @@
+ #include <limits.h>
+ #include <stdlib.h>
+ #include <glib/gi18n.h>
+-#include <glib/gutils.h>
+-#include <glib/gfileutils.h>
++#include <glib.h>
+ #include <libnautilus-extension/nautilus-file-info.h>
+ #include <libsyncdaemon/libsyncdaemon.h>
+ #include "ubuntuone-nautilus.h"
diff --git a/community/ubuntuone-client-gnome/ubuntuone-client-gnome.install b/community/ubuntuone-client-gnome/ubuntuone-client-gnome.install
new file mode 100644
index 000000000..7a903e80c
--- /dev/null
+++ b/community/ubuntuone-client-gnome/ubuntuone-client-gnome.install
@@ -0,0 +1,11 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/ubuntuone-client/PKGBUILD b/community/ubuntuone-client/PKGBUILD
new file mode 100644
index 000000000..a3ed20691
--- /dev/null
+++ b/community/ubuntuone-client/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 71102 2012-05-24 05:37:26Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=ubuntuone-client
+pkgver=3.0.1
+pkgrel=1
+pkgdesc="Ubuntu One helps you store, sync and share files between your computers"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/ubuntuone-client"
+license=('GPL')
+depends=('dbus-glib' 'python2-distribute' 'python2-pyinotify' 'python2-ubuntuone-storageprotocol' 'python2-gobject' 'libnotify' 'python2-configglue' 'ubuntu-sso-client' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool' 'imake' 'gobject-introspection' 'vala')
+optdepends=('ubuntu-sso-client-qt: required for first-time log in')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/ubuntuone-client/stable-3-0/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ http://pkgbuild.com/~bgyorgy/sources/$pkgname-translations-20120513.tar.gz)
+md5sums=('5eef323d4d1fa57386ebacdc07e8a49b'
+ '6f4603f11ea21d030bfaef34d3567f68')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's@^#!.*python$@#!/usr/bin/python2@' bin/*
+
+ # Install language files
+ echo 'ace af am an ar ast az be bg bn bo br bs ca ca@valencia ckb crh cv cy cs csb da de el en_AU en_CA en_GB eo es et eu fa fi fo fr fy gd gl gu he hi hr hu hy id is it ja jv kk km kn ko ku ky lt lv ml mr ms my nb nds nl nn oc pl pt pt_BR ro ru sd shn si sk sl sq sr sv ta te th tr ug uk ur uz vi zh_CN zh_HK zh_TW' >po/LINGUAS
+ rename $pkgname- '' ../po/$pkgname-*.po
+ mv -f -t po ../po/*
+
+ # Fix desktop file
+ sed -i 's/ubuntuone-installer/ubuntuone-control-panel-qt/' \
+ ubuntuone/platform/linux/{messaging,launcher}.py
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static \
+ PYTHON=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ # We don't have Apport in Arch Linux
+ rm -r "$pkgdir"/{etc/apport,usr/share/apport}
+}
diff --git a/community/ubuntuone-client/ubuntuone-client.install b/community/ubuntuone-client/ubuntuone-client.install
new file mode 100644
index 000000000..2c455e952
--- /dev/null
+++ b/community/ubuntuone-client/ubuntuone-client.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community/unbound/PKGBUILD b/community/unbound/PKGBUILD
index d7dfe1f74..ec9fd8e13 100644
--- a/community/unbound/PKGBUILD
+++ b/community/unbound/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 63410 2012-02-02 10:13:55Z bisson $
+# $Id: PKGBUILD 71115 2012-05-24 13:42:42Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Hisato Tatekura <hisato_tatekura@excentrics.net>
# Contributor: Massimiliano Torromeo <massimiliano DOT torromeo AT google mail service>
pkgname=unbound
-pkgver=1.4.16
+pkgver=1.4.17
pkgrel=1
pkgdesc='Validating, recursive, and caching DNS resolver'
url='http://unbound.net/'
@@ -18,7 +18,7 @@ backup=('etc/unbound/unbound.conf')
source=("http://unbound.net/downloads/${pkgname}-${pkgver}.tar.gz"
'unbound.conf'
'rc.d')
-sha1sums=('68ed8737b1a6e3f9a67812f7e962fd6740494c1e'
+sha1sums=('fea4d812c03af4737ef671ac30b7b7400d346516'
'5d473ec2943fd85367cdb653fcd58e186f07383f'
'dc96e772f467b32555df21d16fdb15e98194c228')
diff --git a/core/cryptsetup/PKGBUILD b/core/cryptsetup/PKGBUILD
index 3e9f8bc8a..fedc9ea92 100644
--- a/core/cryptsetup/PKGBUILD
+++ b/core/cryptsetup/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 157320 2012-04-26 22:51:21Z eric $
+# $Id: PKGBUILD 159428 2012-05-24 08:14:23Z thomas $
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=cryptsetup
-pkgver=1.4.1
-pkgrel=3
+pkgver=1.4.2
+pkgrel=1
pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt"
arch=(i686 x86_64)
license=('GPL')
@@ -15,13 +15,14 @@ source=(http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2
http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2.asc
encrypt_hook
encrypt_install)
-sha256sums=('82b143328c2b427ef2b89fb76c701d311c95b54093c21bbf22342f7b393bddcb'
- '71c6506d4b6d0b22b9b6c2a68e604959e4c072af04680ed6acc0126c97bdbc88'
- '811bbea1337106ad811731c746d73ee81039bad00aef52398e3a377ad0766757'
- 'ddbbdcb8eff93a3a7622ec633e90d5c0d68e3afbeaf942dc2309adab345047d4')
+sha256sums=('1fe80d7b19d24b3f65d2e446decfed859e2c4d17fdf7c19289d82dc7cd60dfe7'
+ '4e6dbece8d1baad861479aca70d0cf30887420da9b5eab45d65d064c656893ed'
+ 'e4c00e2da274bf4cab3f72a0de779790a11a946d36b83144e74d3791e230b262'
+ 'cba1dc38ff6cc4d3740d0badfb2b151bb03d19e8e9fa497569ac2fb6f4196e0e')
+
build() {
cd "${srcdir}"/$pkgname-${pkgver}
- ./configure --prefix=/usr --disable-static --sbindir=/sbin
+ ./configure --prefix=/usr --disable-static
make
}
diff --git a/core/cryptsetup/encrypt_hook b/core/cryptsetup/encrypt_hook
index 956b18023..0f35782c6 100644
--- a/core/cryptsetup/encrypt_hook
+++ b/core/cryptsetup/encrypt_hook
@@ -1,148 +1,137 @@
-# vim: set ft=sh:
-# TODO this one needs some work to work with lots of different
-# encryption schemes
-run_hook ()
-{
- /sbin/modprobe -a -q dm-crypt >/dev/null 2>&1
- if [ -e "/sys/class/misc/device-mapper" ]; then
- if [ ! -e "/dev/mapper/control" ]; then
- mkdir /dev/mapper
- mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
- fi
- [ "${quiet}" = "y" ] && CSQUIET=">/dev/null"
-
- # Get keyfile if specified
- ckeyfile="/crypto_keyfile.bin"
- if [ "x${cryptkey}" != "x" ]; then
- ckdev="$(echo "${cryptkey}" | cut -d: -f1)"
- ckarg1="$(echo "${cryptkey}" | cut -d: -f2)"
- ckarg2="$(echo "${cryptkey}" | cut -d: -f3)"
- if poll_device "${ckdev}" ${rootdelay}; then
- case ${ckarg1} in
- *[!0-9]*)
- # Use a file on the device
- # ckarg1 is not numeric: ckarg1=filesystem, ckarg2=path
- mkdir /ckey
- mount -r -t ${ckarg1} ${ckdev} /ckey
- dd if=/ckey/${ckarg2} of=${ckeyfile} >/dev/null 2>&1
- umount /ckey
- ;;
- *)
- # Read raw data from the block device
- # ckarg1 is numeric: ckarg1=offset, ckarg2=length
- dd if=${ckdev} of=${ckeyfile} bs=1 skip=${ckarg1} count=${ckarg2} >/dev/null 2>&1
- ;;
- esac
- fi
- [ ! -f ${ckeyfile} ] && echo "Keyfile could not be opened. Reverting to passphrase."
- fi
+#!/usr/bin/ash
- if [ -n "${cryptdevice}" ]; then
- DEPRECATED_CRYPT=0
- cryptdev="$(echo "${cryptdevice}" | cut -d: -f1)"
- cryptname="$(echo "${cryptdevice}" | cut -d: -f2)"
- cryptoptions="$(echo "${cryptdevice}" | cut -d: -f3)"
- else
- DEPRECATED_CRYPT=1
- cryptdev="${root}"
- cryptname="root"
- fi
+run_hook() {
+ modprobe -a -q dm-crypt >/dev/null 2>&1
+ [ "${quiet}" = "y" ] && CSQUIET=">/dev/null"
- warn_deprecated() {
- echo "The syntax 'root=${root}' where '${root}' is an encrypted volume is deprecated"
- echo "Use 'cryptdevice=${root}:root root=/dev/mapper/root' instead."
- }
-
- OLDIFS="${IFS}"
- IFS=","
- for cryptopt in ${cryptoptions}; do
- case ${cryptopt} in
- allow-discards)
- echo "Enabling TRIM/discard support."
- cryptargs="${cryptargs} --allow-discards"
+ # Get keyfile if specified
+ ckeyfile="/crypto_keyfile.bin"
+ if [ -n "$cryptkey" ]; then
+ IFS=: read ckdev ckarg1 ckarg2 <<EOF
+$cryptkey
+EOF
+ if poll_device "${ckdev}" ${rootdelay}; then
+ case ${ckarg1} in
+ *[!0-9]*)
+ # Use a file on the device
+ # ckarg1 is not numeric: ckarg1=filesystem, ckarg2=path
+ mkdir /ckey
+ mount -r -t "$ckarg1" "$ckdev" /ckey
+ dd if="/ckey/$ckarg2" of="$ckeyfile" >/dev/null 2>&1
+ umount /ckey
;;
*)
- echo "Encryption option '${cryptopt}' not known, ignoring." >&2
+ # Read raw data from the block device
+ # ckarg1 is numeric: ckarg1=offset, ckarg2=length
+ dd if="$ckdev" of="$ckeyfile" bs=1 skip="$ckarg1" count="$ckarg2" >/dev/null 2>&1
;;
esac
- done
- IFS="${OLDIFS}"
+ fi
+ [ ! -f ${ckeyfile} ] && echo "Keyfile could not be opened. Reverting to passphrase."
+ fi
- if poll_device "${cryptdev}" ${rootdelay}; then
- if /sbin/cryptsetup isLuks ${cryptdev} >/dev/null 2>&1; then
- [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
- dopassphrase=1
- # If keyfile exists, try to use that
- if [ -f ${ckeyfile} ]; then
- if eval /sbin/cryptsetup --key-file ${ckeyfile} luksOpen ${cryptdev} ${cryptname} ${cryptargs} ${CSQUIET}; then
- dopassphrase=0
- else
- echo "Invalid keyfile. Reverting to passphrase."
- fi
- fi
- # Ask for a passphrase
- if [ ${dopassphrase} -gt 0 ]; then
- echo ""
- echo "A password is required to access the ${cryptname} volume:"
+ if [ -n "${cryptdevice}" ]; then
+ DEPRECATED_CRYPT=0
+ IFS=: read cryptdev cryptname cryptoptions <<EOF
+$cryptdevice
+EOF
+ else
+ DEPRECATED_CRYPT=1
+ cryptdev="${root}"
+ cryptname="root"
+ fi
- #loop until we get a real password
- while ! eval /sbin/cryptsetup luksOpen ${cryptdev} ${cryptname} ${cryptargs} ${CSQUIET}; do
- sleep 2;
- done
- fi
- if [ -e "/dev/mapper/${cryptname}" ]; then
- if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
- export root="/dev/mapper/root"
- fi
- else
- err "Password succeeded, but ${cryptname} creation failed, aborting..."
- exit 1
- fi
- elif [ -n "${crypto}" ]; then
- [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
- msg "Non-LUKS encrypted device found..."
- if [ $# -ne 5 ]; then
- err "Verify parameter format: crypto=hash:cipher:keysize:offset:skip"
- err "Non-LUKS decryption not attempted..."
- return 1
- fi
- exe="/sbin/cryptsetup create ${cryptname} ${cryptdev} ${cryptargs}"
- tmp=$(echo "${crypto}" | cut -d: -f1)
- [ -n "${tmp}" ] && exe="${exe} --hash \"${tmp}\""
- tmp=$(echo "${crypto}" | cut -d: -f2)
- [ -n "${tmp}" ] && exe="${exe} --cipher \"${tmp}\""
- tmp=$(echo "${crypto}" | cut -d: -f3)
- [ -n "${tmp}" ] && exe="${exe} --key-size \"${tmp}\""
- tmp=$(echo "${crypto}" | cut -d: -f4)
- [ -n "${tmp}" ] && exe="${exe} --offset \"${tmp}\""
- tmp=$(echo "${crypto}" | cut -d: -f5)
- [ -n "${tmp}" ] && exe="${exe} --skip \"${tmp}\""
- if [ -f ${ckeyfile} ]; then
- exe="${exe} --key-file ${ckeyfile}"
+ warn_deprecated() {
+ echo "The syntax 'root=${root}' where '${root}' is an encrypted volume is deprecated"
+ echo "Use 'cryptdevice=${root}:root root=/dev/mapper/root' instead."
+ }
+
+ for cryptopt in ${cryptoptions//,/ }; do
+ case ${cryptopt} in
+ allow-discards)
+ echo "Enabling TRIM/discard support."
+ cryptargs="${cryptargs} --allow-discards"
+ ;;
+ *)
+ echo "Encryption option '${cryptopt}' not known, ignoring." >&2
+ ;;
+ esac
+ done
+
+ if poll_device "${cryptdev}" ${rootdelay}; then
+ if cryptsetup isLuks ${cryptdev} >/dev/null 2>&1; then
+ [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
+ dopassphrase=1
+ # If keyfile exists, try to use that
+ if [ -f ${ckeyfile} ]; then
+ if eval cryptsetup --key-file ${ckeyfile} luksOpen ${cryptdev} ${cryptname} ${cryptargs} ${CSQUIET}; then
+ dopassphrase=0
else
- exe="${exe} --verify-passphrase"
- echo ""
- echo "A password is required to access the ${cryptname} volume:"
+ echo "Invalid keyfile. Reverting to passphrase."
fi
- eval "${exe} ${CSQUIET}"
+ fi
+ # Ask for a passphrase
+ if [ ${dopassphrase} -gt 0 ]; then
+ echo ""
+ echo "A password is required to access the ${cryptname} volume:"
- if [ $? -ne 0 ]; then
- err "Non-LUKS device decryption failed. verify format: "
- err " crypto=hash:cipher:keysize:offset:skip"
- exit 1
+ #loop until we get a real password
+ while ! eval cryptsetup luksOpen ${cryptdev} ${cryptname} ${cryptargs} ${CSQUIET}; do
+ sleep 2;
+ done
+ fi
+ if [ -e "/dev/mapper/${cryptname}" ]; then
+ if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
+ export root="/dev/mapper/root"
fi
- if [ -e "/dev/mapper/${cryptname}" ]; then
- if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
- export root="/dev/mapper/root"
- fi
- else
- err "Password succeeded, but ${cryptname} creation failed, aborting..."
- exit 1
+ else
+ err "Password succeeded, but ${cryptname} creation failed, aborting..."
+ exit 1
+ fi
+ elif [ -n "${crypto}" ]; then
+ [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
+ msg "Non-LUKS encrypted device found..."
+ if echo "$crypto" | awk -F: '{ exit(NF == 5) }'; then
+ err "Verify parameter format: crypto=hash:cipher:keysize:offset:skip"
+ err "Non-LUKS decryption not attempted..."
+ return 1
+ fi
+ exe="cryptsetup create $cryptname $cryptdev $cryptargs"
+ IFS=: read c_hash c_cipher c_keysize c_offset c_skip <<EOF
+$crypto
+EOF
+ [ -n "$c_hash" ] && exe="$exe --hash '$c_hash'"
+ [ -n "$c_cipher" ] && exe="$exe --cipher '$c_cipher'"
+ [ -n "$c_keysize" ] && exe="$exe --key-size '$c_keysize'"
+ [ -n "$c_offset" ] && exe="$exe --offset '$c_offset'"
+ [ -n "$c_skip" ] && exe="$exe --skip '$c_skip'"
+ if [ -f "$ckeyfile" ]; then
+ exe="$exe --key-file $ckeyfile"
+ else
+ exe="$exe --verify-passphrase"
+ echo ""
+ echo "A password is required to access the ${cryptname} volume:"
+ fi
+ eval "$exe $CSQUIET"
+
+ if [ $? -ne 0 ]; then
+ err "Non-LUKS device decryption failed. verify format: "
+ err " crypto=hash:cipher:keysize:offset:skip"
+ exit 1
+ fi
+ if [ -e "/dev/mapper/${cryptname}" ]; then
+ if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
+ export root="/dev/mapper/root"
fi
else
- err "Failed to open encryption mapping: The device ${cryptdev} is not a LUKS volume and the crypto= paramater was not specified."
+ err "Password succeeded, but ${cryptname} creation failed, aborting..."
+ exit 1
fi
+ else
+ err "Failed to open encryption mapping: The device ${cryptdev} is not a LUKS volume and the crypto= paramater was not specified."
fi
- rm -f ${ckeyfile}
fi
+ rm -f ${ckeyfile}
}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/core/cryptsetup/encrypt_install b/core/cryptsetup/encrypt_install
index 9ed50e863..79d2f3e4b 100644
--- a/core/cryptsetup/encrypt_install
+++ b/core/cryptsetup/encrypt_install
@@ -1,26 +1,39 @@
-# vim: set ft=sh:
+#!/bin/bash
-build()
-{
+build() {
if [ -z "${CRYPTO_MODULES}" ]; then
- MODULES=" dm-crypt $(all_modules "/crypto/") "
+ MODULES=" dm-crypt $(all_modules "/crypto/")"
else
- MODULES=" dm-crypt ${CRYPTO_MODULES} "
+ MODULES=" dm-crypt $CRYPTO_MODULES"
fi
FILES=""
SCRIPT="encrypt"
- [ -f "/sbin/cryptsetup" ] && add_binary "/sbin/cryptsetup" "/sbin/cryptsetup"
- [ -f "/usr/sbin/cryptsetup" ] && add_binary "/usr/sbin/cryptsetup" "/sbin/cryptsetup"
- add_binary "/sbin/dmsetup"
+
+ add_binary "cryptsetup"
+ add_binary "dmsetup"
add_file "/usr/lib/udev/rules.d/10-dm.rules"
add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
}
-help ()
-{
-cat<<HELPEOF
- This hook allows for an encrypted root device.
+help() {
+ cat <<HELPEOF
+This hook allows for an encrypted root device. Users should specify the device
+to be unlocked using 'cryptdevice=device:dmname' on the kernel command line,
+where 'device' is the path to the raw device, and 'dmname' is the name given to
+the device after unlocking, and will be available as /dev/mapper/dmname.
+
+For unlocking via keyfile, 'cryptkey=device:fstype:path' should be specified on
+the kernel cmdline, where 'device' represents the raw block device where the key
+exists, 'fstype' is the filesystem type of 'device' (or auto), and 'path' is
+the absolute path of the keyfile within the device.
+
+Without specifying a keyfile, you will be prompted for the password at runtime.
+This means you must have a keyboard available to input it, and you may need
+the keymap hook as well to ensure that the keyboard is using the layout you
+expect.
HELPEOF
}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/extra/capi4hylafax/PKGBUILD b/extra/capi4hylafax/PKGBUILD
index c13e293cd..ab46c237b 100644
--- a/extra/capi4hylafax/PKGBUILD
+++ b/extra/capi4hylafax/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 157241 2012-04-26 13:40:50Z tpowa $
+# $Id: PKGBUILD 159422 2012-05-24 06:11:44Z tpowa $
#Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=capi4hylafax
pkgver=010300
-pkgrel=7
+pkgrel=8
pkgdesc="capi plugin for hylafax to enable isdn faxing"
arch=(i686 x86_64)
url="ftp://ftp.avm.de/tools"
@@ -60,5 +60,5 @@ EOF
md5sums=('d37dc652ac80d1525ef8693be55ee67f'
'653b60695d21c128f020a86274ca9192'
'1fe40c58289fa3ba625ce6fe2fdb3d07'
- 'a12164b2694490bfedb0cc861692e240'
+ 'e2c085a00189ded0a659642c689a1be2'
'7c41d4fa5c5ef7b1372813341fd0d02b')
diff --git a/extra/capi4hylafax/c2faxrecv.service b/extra/capi4hylafax/c2faxrecv.service
index 5e73e29e7..845d41504 100644
--- a/extra/capi4hylafax/c2faxrecv.service
+++ b/extra/capi4hylafax/c2faxrecv.service
@@ -1,7 +1,7 @@
[Unit]
Description=CAPI to fax receive
Requires=faxq.service
-After=faxq.service
+After=faxq.service mISDNcapid.service
[Service]
ExecStart=/usr/bin/c2faxrecv
diff --git a/extra/kdemultimedia/PKGBUILD b/extra/kdemultimedia/PKGBUILD
index d73bc9526..238415d52 100644
--- a/extra/kdemultimedia/PKGBUILD
+++ b/extra/kdemultimedia/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 158483 2012-05-03 22:34:18Z andrea $
+# $Id: PKGBUILD 159443 2012-05-24 12:12:39Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -11,13 +11,13 @@ pkgname=('kdemultimedia-dragonplayer'
'kdemultimedia-kscd'
'kdemultimedia-mplayerthumbs')
pkgver=4.8.3
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url='http://www.kde.org'
license=('GPL' 'LGPL' 'FDL')
groups=('kde' 'kdemultimedia')
-makedepends=('cmake' 'automoc4' 'kdelibs' 'tunepimp' 'ffmpeg' 'mplayer'
- 'pulseaudio' 'libmusicbrainz3')
+makedepends=('cmake' 'automoc4' 'kdelibs' 'ffmpeg' 'mplayer' 'libpulse'
+ 'libmusicbrainz3' 'taglib' 'libcanberra')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz"
'mplayerthumbs.config')
sha1sums=('8f2b9181d5ccab5a9efd62f2778cf6c2b88abb3e'
@@ -29,8 +29,8 @@ build() {
cd build
cmake ../${pkgbase}-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWITH_TunePimp=OFF
make
}
@@ -55,7 +55,7 @@ package_kdemultimedia-ffmpegthumbs() {
package_kdemultimedia-juk() {
pkgdesc='Music Player'
- depends=('kdebase-runtime' 'tunepimp')
+ depends=('kdebase-runtime' 'taglib')
url="http://kde.org/applications/multimedia/juk"
install='kdemultimedia.install'
cd $srcdir/build/juk
diff --git a/extra/llvm/PKGBUILD b/extra/llvm/PKGBUILD
index 099dac6f4..515dbc750 100644
--- a/extra/llvm/PKGBUILD
+++ b/extra/llvm/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 157403 2012-04-28 09:26:49Z allan $
+# $Id: PKGBUILD 159472 2012-05-24 20:02:15Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Sebastian Nowicki <sebnow@gmail.com>
@@ -10,40 +10,42 @@
# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer')
-pkgver=3.0
-pkgrel=4
+pkgver=3.1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
makedepends=('libffi' 'python2' 'ocaml')
-source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.tar.gz
- http://llvm.org/releases/$pkgver/clang-$pkgver.tar.gz
- clang-plugin-loader-registry.patch
+source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.src.tar.gz
+ http://llvm.org/releases/$pkgver/clang-$pkgver.src.tar.gz
+ http://dev.archlinux.org/~foutrelis/sources/compiler-rt/compiler-rt-$pkgver.src.tar.xz
+ llvm-Config-config.h
+ llvm-Config-llvm-config.h
cindexer-clang-path.patch
clang-pure64.patch
enable-lto.patch
- fix-gold-lto-linking.patch)
-sha256sums=('519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477'
- 'b64e72da356d7c3428cfd7ac620d49ec042c84eaee13c26024879f555f4e126d'
- 'a0a4494f2a692789670be37fd390906dcaa37b1824f740bdaaea21182f2f3a9c'
+ clang-3.1-fix-libprofile_rt.a-location.patch)
+sha256sums=('1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab'
+ 'ff63e215dcd3e2838ffdea38502f8d35bab17e487f3c3799579961e452d5a786'
+ '563d8a5ef86123ed8775e115ad7f90c1aa3e80f70b4e587f1bccab2c10753558'
+ '312574e655f9a87784ca416949c505c452b819fad3061f2cde8aced6540a19a3'
+ '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48'
'3074df5322900e087377a8e03a02115463ccc0011c25917c2f06df11facd9b92'
'288a82fbff17bc554f5863734246500e637882af33ee8511019d5e0d6cd20524'
- 'cf8922a932e1859f3783bef2af8ac1e90ce96f8eec79928392327b71b3d7cb89'
- '24d275cdf170f53844bc7174b065fb51b6ddbb9642ced34702cde1f0f74d9192')
+ 'f7145e203ffb4ce2c01976027f7840a9520e5341a9945f2459b6b11e5422d5b7'
+ '0d32ad283566357ca1bfbeb4cbe6b0b961943b79d3d718ed0435101c05629137')
build() {
cd "$srcdir/$pkgname-$pkgver.src"
- # Build without -ftree-pre as a workaround for clang segfaulting on x86_64
- # https://bugzilla.redhat.com/show_bug.cgi?id=791365
- CFLAGS+=' -fno-tree-pre'
- CXXFLAGS+=' -fno-tree-pre'
-
# At the present, clang must reside inside the LLVM source code tree to build
# See http://llvm.org/bugs/show_bug.cgi?id=4840
rm -rf tools/clang
cp -r "$srcdir/clang-$pkgver.src" tools/clang
+ rm -rf projects/compiler-rt
+ cp -r "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt
+
# Fix symbolic links from OCaml bindings to LLVM libraries
sed -i 's:\$(PROJ_libdir):/usr/lib/llvm:' bindings/ocaml/Makefile.ocaml
@@ -52,14 +54,15 @@ build() {
-e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib/llvm:' \
-e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
Makefile.config.in
+ sed -i '/ActiveLibDir = ActivePrefix/s:lib:lib/llvm:' \
+ tools/llvm-config/llvm-config.cpp
+ sed -i 's:LLVM_LIBDIR="${prefix}/lib":LLVM_LIBDIR="${prefix}/lib/llvm":' \
+ autoconf/configure.ac \
+ configure
# Fix insecure rpath (http://bugs.archlinux.org/task/14017)
sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules
- # Get the correct list of symbols to export
- # See http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-April/008559.html
- patch -Np1 -i "$srcdir/clang-plugin-loader-registry.patch"
-
# Fix clang path in CIndexer.cpp (https://bugs.archlinux.org/task/22799)
patch -d tools/clang -Np0 -i "$srcdir/cindexer-clang-path.patch"
@@ -72,8 +75,9 @@ build() {
# Use gold instead of default linker, and always use the plugin
patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch"
- # Fix libLTO.so location in gold plugin
- patch -Np1 -i "$srcdir/fix-gold-lto-linking.patch"
+ # Fix FS#29984: [clang] -coverage is broken
+ patch -d tools/clang -Np1 -i \
+ "$srcdir/clang-3.1-fix-libprofile_rt.a-location.patch"
# Apply strip option to configure
_optimized_switch="enable"
@@ -82,6 +86,11 @@ build() {
# Include location of libffi headers in CPPFLAGS
export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)"
+ # Use Python 2
+ mkdir "$srcdir/python2-path"
+ ln -s /usr/bin/python2 "$srcdir/python2-path/python"
+ export PATH="$srcdir/python2-path:$PATH"
+
# Force the use of GCC instead of clang
CC=gcc CXX=g++ \
./configure \
@@ -110,10 +119,6 @@ package_llvm() {
# then we bring it back in for the clang package
mv tools/clang "$srcdir"
- # Copy missing file into the expected location
- [[ $(check_option strip) == y ]] && _build_type=Release || _build_type=Debug
- cp bindings/ocaml/llvm/META.llvm bindings/ocaml/llvm/$_build_type/
-
# -j1 is due to race conditions during the installation of the OCaml bindings
make -j1 DESTDIR="$pkgdir" install
mv "$srcdir/clang" tools
@@ -128,9 +133,6 @@ package_llvm() {
# Fix permissions of static libs
chmod -x "$pkgdir"/usr/lib/llvm/*.a
- # Fix libdir in llvm-config (http://bugs.archlinux.org/task/14487)
- sed -i 's:\(ABS_RUN_DIR/lib\):\1/llvm:' "$pkgdir/usr/bin/llvm-config"
-
# Get rid of example Hello transformation
rm "$pkgdir"/usr/lib/llvm/*LLVMHello.*
@@ -143,6 +145,16 @@ package_llvm() {
install -d "$pkgdir/usr/lib/bfd-plugins"
ln -s ../llvm/LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so"
+ if [[ $CARCH == x86_64 ]]; then
+ # Needed for multilib (https://bugs.archlinux.org/task/29951)
+ # Header stubs are taken from Fedora
+ for _header in config llvm-config; do
+ mv "$pkgdir/usr/include/llvm/Config/$_header"{,-64}.h
+ cp "$srcdir/llvm-Config-$_header.h" \
+ "$pkgdir/usr/include/llvm/Config/$_header.h"
+ done
+ fi
+
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
@@ -198,7 +210,9 @@ package_clang-analyzer() {
done
# Use Python 2
- sed -i 's/env python$/&2/' \
+ sed -i \
+ -e 's|env python$|&2|' \
+ -e 's|/usr/bin/python$|&2|' \
"$pkgdir/usr/lib/clang-analyzer/scan-view/scan-view" \
"$pkgdir/usr/lib/clang-analyzer/scan-build/set-xcode-analyzer"
diff --git a/extra/llvm/clang-3.1-fix-libprofile_rt.a-location.patch b/extra/llvm/clang-3.1-fix-libprofile_rt.a-location.patch
new file mode 100644
index 000000000..080aa4fca
--- /dev/null
+++ b/extra/llvm/clang-3.1-fix-libprofile_rt.a-location.patch
@@ -0,0 +1,12 @@
+diff -upr clang-3.1.src.orig/lib/Driver/Tools.cpp clang-3.1.src/lib/Driver/Tools.cpp
+--- clang-3.1.src.orig/lib/Driver/Tools.cpp 2012-04-19 00:32:25.000000000 +0300
++++ clang-3.1.src/lib/Driver/Tools.cpp 2012-05-23 21:12:08.000000000 +0300
+@@ -193,7 +193,7 @@ static void addProfileRT(const ToolChain
+ // libprofile_rt.so. We used to use the -l:libprofile_rt.a syntax, but that is
+ // not supported by old linkers.
+ std::string ProfileRT =
+- std::string(TC.getDriver().Dir) + "/../lib/libprofile_rt.a";
++ std::string(TC.getDriver().Dir) + "/../lib/llvm/libprofile_rt.a";
+
+ CmdArgs.push_back(Args.MakeArgString(ProfileRT));
+ }
diff --git a/extra/llvm/enable-lto.patch b/extra/llvm/enable-lto.patch
index 3c8691b17..3205fbf69 100644
--- a/extra/llvm/enable-lto.patch
+++ b/extra/llvm/enable-lto.patch
@@ -16,11 +16,11 @@ Index: lib/Driver/Tools.cpp
--- lib/Driver/Tools.cpp (revision 123373)
+++ lib/Driver/Tools.cpp (working copy)
@@ -3412,11 +3412,11 @@
- }
- }
-
-- if (Args.hasArg(options::OPT_use_gold_plugin)) {
-+ // if (Args.hasArg(options::OPT_use_gold_plugin)) {
+ // Tell the linker to load the plugin. This has to come before AddLinkerInputs
+ // as gold requires -plugin to come before any -plugin-opt that -Wl might
+ // forward.
+- if (D.IsUsingLTO(Args) || Args.hasArg(options::OPT_use_gold_plugin)) {
++ // if (D.IsUsingLTO(Args) || Args.hasArg(options::OPT_use_gold_plugin)) {
CmdArgs.push_back("-plugin");
- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
+ std::string Plugin = ToolChain.getDriver().Dir + "/../lib/llvm/LLVMgold.so";
@@ -28,5 +28,5 @@ Index: lib/Driver/Tools.cpp
- }
+ // }
- C.addCommand(new Command(JA, *this, ToolChain.Linker.c_str(), CmdArgs));
+ AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
}
diff --git a/extra/llvm/llvm-Config-config.h b/extra/llvm/llvm-Config-config.h
new file mode 100644
index 000000000..c369b4551
--- /dev/null
+++ b/extra/llvm/llvm-Config-config.h
@@ -0,0 +1,9 @@
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "config-32.h"
+#elif __WORDSIZE == 64
+#include "config-64.h"
+#else
+#error "Unknown word size"
+#endif
diff --git a/extra/llvm/llvm-Config-llvm-config.h b/extra/llvm/llvm-Config-llvm-config.h
new file mode 100644
index 000000000..2fa08c9be
--- /dev/null
+++ b/extra/llvm/llvm-Config-llvm-config.h
@@ -0,0 +1,9 @@
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "llvm-config-32.h"
+#elif __WORDSIZE == 64
+#include "llvm-config-64.h"
+#else
+#error "Unknown word size"
+#endif
diff --git a/extra/misdnuser/PKGBUILD b/extra/misdnuser/PKGBUILD
index 218939f10..63cfbf7c6 100644
--- a/extra/misdnuser/PKGBUILD
+++ b/extra/misdnuser/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 159389 2012-05-23 11:25:46Z tpowa $
+# $Id: PKGBUILD 159456 2012-05-24 13:58:07Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=misdnuser
-pkgver=2.0.13_20120522
+pkgver=2.0.13_20120524
pkgrel=1
pkgdesc="Tools and library for mISDN"
arch=('i686' 'x86_64')
@@ -39,11 +39,8 @@ package() {
install -D -m644 ${srcdir}/mISDNcapid.service ${pkgdir}/usr/lib/systemd/system/mISDNcapid.service
install -D -m644 ${srcdir}/mISDNcapid.conf ${pkgdir}/usr/lib/tmpfiles.d/mISDNcapid.conf
}
-md5sums=('f61339c3a28a370cd971957e6ef07f5c'
- '2009563b144de037ecb20f8d727a772e'
- '638b399f7e0937639960c4dfb3d5138e'
- '42c3b46880a68c3883ee1ed00af34b45')
-md5sums=('c1967b47c919234ce3423b56a868d81f'
+
+md5sums=('d9b400e9888042e75c14fb3a8c2885cb'
'2009563b144de037ecb20f8d727a772e'
'638b399f7e0937639960c4dfb3d5138e'
'42c3b46880a68c3883ee1ed00af34b45')
diff --git a/extra/opengtl/PKGBUILD b/extra/opengtl/PKGBUILD
index 48dd55c34..ece1691c6 100644
--- a/extra/opengtl/PKGBUILD
+++ b/extra/opengtl/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 148868 2012-02-05 11:53:26Z ibiru $
+# $Id: PKGBUILD 159432 2012-05-24 08:42:21Z foutrelis $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Andries Radu <admiral0@live.it>
pkgname=opengtl
pkgver=0.9.16
-pkgrel=1
+pkgrel=2
pkgdesc="A set of library for using and integrating transformation algorithms (such as filter or color conversion) in graphics applications"
url="http://www.opengtl.org"
arch=('i686' 'x86_64')
@@ -17,6 +17,11 @@ sha1sums=('3cfe4a08e5778c13f7e74dfc822adb68f97ad048')
build() {
cd "${srcdir}"
+ # Fix build with LLVM 3.1
+ sed -i 's/LLVM_VERSION STREQUAL "3.0"/LLVM_VERSION STREQUAL "3.1"/' \
+ OpenGTL-${pkgver}/CMakeLists.txt
+ sed -i 's/ConstantArray::get/ConstantDataArray::getString/' \
+ OpenGTL-${pkgver}/OpenGTL/GTLCore/AST/Expression.cpp
mkdir build
cd build
cmake ../OpenGTL-${pkgver} \
diff --git a/extra/pm-utils/PKGBUILD b/extra/pm-utils/PKGBUILD
index 04e0d3c52..9f861a506 100644
--- a/extra/pm-utils/PKGBUILD
+++ b/extra/pm-utils/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 149612 2012-02-08 20:16:43Z pierre $
+# $Id: PKGBUILD 159434 2012-05-24 09:48:16Z bluewind $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Thayer Williams <thayer@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=pm-utils
pkgver=1.4.1
-pkgrel=4
+pkgrel=5
pkgdesc="Utilities and scripts for suspend and hibernate power management"
arch=('i686' 'x86_64')
url="http://pm-utils.freedesktop.org"
@@ -16,14 +16,12 @@ source=(http://pm-utils.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz
02-logging-append.patch
12-fix-intel-audio-powersave-hook.patch
13-49bluetooth-sync.patch
- 14-disable-sata-alpm.patch
- 11netcfg)
+ 14-disable-sata-alpm.patch)
md5sums=('1742a556089c36c3a89eb1b957da5a60'
'a45149617bf3eb8dc32e6d9e22ae715d'
'edada31a7d722763513fbe705d95d19d'
'298f78b873c03c025700d5da619ac134'
- 'd0040f7d30b6a0dd195b5401abbbbdb9'
- '9839687c8787d99fd4ff36aa3238c27b')
+ 'd0040f7d30b6a0dd195b5401abbbbdb9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -41,9 +39,6 @@ package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
- # install additional hooks
- install -m755 "${srcdir}/11netcfg" "${pkgdir}/usr/lib/pm-utils/sleep.d/"
-
# nm >=0.8.2 has native udev suspend/resume support
rm -f "${pkgdir}/usr/lib/pm-utils/sleep.d/55NetworkManager"
diff --git a/extra/qjackctl/PKGBUILD b/extra/qjackctl/PKGBUILD
index e3c81d5a6..db78bad15 100644
--- a/extra/qjackctl/PKGBUILD
+++ b/extra/qjackctl/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 151342 2012-02-25 14:50:45Z pierre $
+# $Id: PKGBUILD 159470 2012-05-24 18:44:02Z schiv $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Tobias Kieslich <tobias@archlinux.org>
pkgname=qjackctl
-pkgver=0.3.8
-pkgrel=2
+pkgver=0.3.9
+pkgrel=1
pkgdesc="A Qt front-end for the JACK low-latency audio server"
url="http://qjackctl.sourceforge.net/"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ license=('GPL')
depends=('jack' 'qt')
options=('!makeflags')
source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
-md5sums=('8a0992c01e50d8be22064ab7b08fbc78')
+md5sums=('f932c916f43ba3251d3a9ed62a448e43')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/extra/sqlite/PKGBUILD b/extra/sqlite/PKGBUILD
index c0fafbfb4..19314794c 100644
--- a/extra/sqlite/PKGBUILD
+++ b/extra/sqlite/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 159275 2012-05-20 10:17:15Z andyrtr $
+# $Id: PKGBUILD 159464 2012-05-24 16:48:31Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgbase="sqlite"
pkgname=('sqlite' 'sqlite-tcl' 'sqlite-doc')
-_amalgamationver=3071200
+_amalgamationver=3071201
_amalgamationver2=${_amalgamationver/00/}
_docver=${_amalgamationver} #3070700
#pkgver=${_amalgamationver2//0/.}
-pkgver=3.7.12
-pkgrel=2
+pkgver=3.7.12.1
+pkgrel=1
pkgdesc="A C library that implements an SQL database engine"
arch=('i686' 'x86_64')
license=('custom')
@@ -21,8 +21,8 @@ source=( # tarball containing the amalgamation for SQLite >= 3.7.5 together with
http://www.sqlite.org/sqlite-doc-${_docver}.zip
license.txt)
options=('!libtool' '!emptydirs')
-md5sums=('28842cb51a699c0b554120bafe6418ff'
- '97f299b6de85e3ee71a440ad7719aa8c'
+md5sums=('eb7bbd258913518ad30971ea7ecb0ca9'
+ '3d2b368a64a08766ea37b5162e019091'
'c1cdbc5544034d9012e421e75a5e4890')
build() {
diff --git a/multilib/lib32-llvm/PKGBUILD b/multilib/lib32-llvm/PKGBUILD
index 56d168afd..c05932afe 100644
--- a/multilib/lib32-llvm/PKGBUILD
+++ b/multilib/lib32-llvm/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 70524 2012-05-10 14:59:27Z lcarlier $
+# $Id: PKGBUILD 71120 2012-05-24 14:15:03Z lcarlier $
# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Sebastian Nowicki <sebnow@gmail.com>
@@ -10,14 +10,14 @@
# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
pkgname=('lib32-llvm')
-pkgver=3.0
-pkgrel=3
+pkgver=3.1
+pkgrel=1
arch=('x86_64')
url="http://llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
makedepends=('lib32-libffi' 'python2' 'gcc-multilib')
-source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.tar.gz)
-sha256sums=('519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477')
+source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.gz)
+sha256sums=('1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab')
build() {
cd "$srcdir/llvm-$pkgver.src"
@@ -26,11 +26,19 @@ build() {
export CXX="g++ -m32"
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+ rm -rf tools/clang
+ rm -rf projects/compiler-rt
+
# Fix installation directories, ./configure doesn't seem to set them right
sed -i -e 's:\$(PROJ_prefix)/etc/llvm:/etc/llvm:' \
-e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib32/llvm:' \
-e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
Makefile.config.in
+ sed -i '/ActiveLibDir = ActivePrefix/s:lib:lib32/llvm:' \
+ tools/llvm-config/llvm-config.cpp
+ sed -i 's:LLVM_LIBDIR="${prefix}/lib":LLVM_LIBDIR="${prefix}/lib32/llvm":' \
+ autoconf/configure.ac \
+ configure
# Fix insecure rpath (http://bugs.archlinux.org/task/14017)
sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules
@@ -42,6 +50,14 @@ build() {
# Include location of libffi headers in CPPFLAGS
export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)"
+ # Use Python 2
+ mkdir "$srcdir/python2-path"
+ ln -s /usr/bin/python2 "$srcdir/python2-path/python"
+ export PATH="$srcdir/python2-path:$PATH"
+
+ # We had to force host and target to get
+ # a proper triplet reported by llvm
+
./configure \
--prefix=/usr \
--libdir=/usr/lib32/llvm \
@@ -53,15 +69,19 @@ build() {
--disable-debug-runtime \
--disable-assertions \
--with-binutils-include=/usr/include \
- --with-cxx-include-arch=$CHOST \
+ --host=i386-pc-linux-gnu \
+ --target=i386-pc-linux-gnu \
--$_optimized_switch-optimized
+
+# --with-cxx-include-arch=$CHOST \
+
make REQUIRES_RTTI=1
}
package() {
pkgdesc="Low Level Virtual Machine (32 bits version)"
- depends=('perl' 'lib32-libffi' 'llvm')
+ depends=('lib32-libffi' 'llvm')
cd "$srcdir/llvm-$pkgver.src"
@@ -75,7 +95,7 @@ package() {
chmod -x "$pkgdir"/usr/lib32/llvm/*.a
# Fix libdir in llvm-config (http://bugs.archlinux.org/task/14487)
- sed -i 's:ABS_RUN_DIR/lib:ABS_RUN_DIR/lib32/llvm:' "$pkgdir/usr/bin/llvm-config"
+ # sed -i 's:ABS_RUN_DIR/lib:ABS_RUN_DIR/lib32/llvm:' "$pkgdir/usr/bin/llvm-config"
mv "$pkgdir/usr/bin/llvm-config" "$pkgdir/usr/lib32/llvm-config"
# Get rid of example Hello transformation
@@ -90,7 +110,12 @@ package() {
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ mv "$pkgdir"/usr/include/llvm/Config/*config.h "$pkgdir/"
rm -r "$pkgdir"/usr/{bin,include,share/{doc,man}}
+ install -d "$pkgdir/usr/include/llvm/Config"
+ mv "$pkgdir/config.h" "$pkgdir/usr/include/llvm/Config/config-32.h"
+ mv "$pkgdir/llvm-config.h" "$pkgdir/usr/include/llvm/Config/llvm-config-32.h"
+
mkdir "$pkgdir"/usr/bin
mv "$pkgdir/usr/lib32/llvm-config" "$pkgdir/usr/bin/llvm-config32"
}
diff --git a/staging/graphviz/LICENSE b/staging/graphviz/LICENSE
new file mode 100644
index 000000000..16cc69a52
--- /dev/null
+++ b/staging/graphviz/LICENSE
@@ -0,0 +1,87 @@
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
diff --git a/staging/graphviz/PKGBUILD b/staging/graphviz/PKGBUILD
new file mode 100644
index 000000000..0803f3ae3
--- /dev/null
+++ b/staging/graphviz/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 159450 2012-05-24 13:08:54Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+
+pkgname=graphviz
+pkgver=2.28.0
+pkgrel=10
+pkgdesc='Graph visualization software'
+url='http://www.graphviz.org/'
+license=('custom:EPL')
+arch=('i686' 'x86_64')
+depends=('libltdl' 'gd' 'librsvg' 'libxaw' 'ghostscript' 'pango' 'gts')
+makedepends=('swig' 'mono' 'guile' 'lua' 'ocaml' 'perl' 'php' 'python2' 'r' 'ruby' 'tk' 'qt')
+optdepends=('mono: sharp bindings'
+ 'guile: guile bindings'
+ 'lua: lua bindings'
+ 'ocaml: ocaml bindings'
+ 'perl: perl bindings'
+ 'php: php bindings'
+ 'python2: python bindings'
+ 'r: r bindings'
+ 'ruby: ruby bindings'
+ 'tcl: tcl bindings'
+ 'qt: gvedit')
+source=("${url}/pub/${pkgname}/stable/SOURCES/${pkgname}-${pkgver}.tar.gz"
+ 'LICENSE')
+sha1sums=('4725d88a13e071ee22e632de551d4a55ca08ee7d'
+ 'e78277e502c29abb74b9587a5dc951ec392554ea')
+
+options=('!libtool')
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed \
+ -e '/"archdir"/s:$:+" '"$(echo -I/usr/include/ruby-1.9.1/{$CARCH-linux,ruby/backward,})"'":' \
+ -e '/CONFIG/s:site:vendor:' \
+ -i config/config_ruby.rb
+
+ sed '/LIBPOSTFIX="64"/d' -i configure
+ export PYTHON=python2
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # cf. http://www.graphviz.org/License.php
+ install -Dm644 ../LICENSE "${pkgdir}"/usr/share/licenses/graphviz/LICENSE
+}
diff --git a/staging/graphviz/install b/staging/graphviz/install
new file mode 100644
index 000000000..65fba522b
--- /dev/null
+++ b/staging/graphviz/install
@@ -0,0 +1,12 @@
+post_install() {
+ rm -f usr/lib/graphviz/config{,6}
+ usr/bin/dot -c
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ rm -f usr/lib/graphviz/config{,6}
+}
diff --git a/staging/imagemagick/PKGBUILD b/staging/imagemagick/PKGBUILD
new file mode 100644
index 000000000..eb31432ca
--- /dev/null
+++ b/staging/imagemagick/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 159474 2012-05-24 20:45:24Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgbase=imagemagick
+pkgname=('imagemagick' 'imagemagick-doc')
+pkgver=6.7.7.0
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://www.imagemagick.org/"
+license=('custom')
+makedepends=('libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'ghostscript' \
+ 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper')
+source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
+ perlmagick.rpath.patch)
+sha1sums=('cf60b4e9ae6a55777082c7a0b1adb59f31f0865e'
+ '23405f80904b1de94ebd7bd6fe2a332471b8c283')
+
+build() {
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+
+ sed '/AC_PATH_XTRA/d' -i configure.ac
+ autoreconf --install
+ patch -p0 -i ../perlmagick.rpath.patch
+
+ ./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
+ --enable-openmp --with-wmf --with-openexr --with-xml --with-lcms2 --with-jp2 \
+ --with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
+ --with-perl --with-perl-options="INSTALLDIRS=vendor" \
+ --without-gvc --without-djvu --without-autotrace --without-webp \
+ --without-jbig --without-fpx --without-dps --without-fftw --without-lqr
+ make
+}
+
+check() {
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+# make check
+}
+
+package_imagemagick() {
+ pkgdesc="An image viewing/manipulation program"
+ depends=('perl' 'libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext')
+ optdepends=('ghostscript: for Ghostscript support'
+ 'openexr: for OpenEXR support'
+ 'libwmf: for WMF support'
+ 'librsvg: for SVG support'
+ 'libxml2: for XML support'
+ 'jasper: for JPEG-2000 support'
+ 'libpng: for PNG support')
+ backup=('etc/ImageMagick/coder.xml'
+ 'etc/ImageMagick/colors.xml'
+ 'etc/ImageMagick/delegates.xml'
+ 'etc/ImageMagick/log.xml'
+ 'etc/ImageMagick/magic.xml'
+ 'etc/ImageMagick/mime.xml'
+ 'etc/ImageMagick/policy.xml'
+ 'etc/ImageMagick/quantization-table.xml'
+ 'etc/ImageMagick/sRGB.icc'
+ 'etc/ImageMagick/thresholds.xml'
+ 'etc/ImageMagick/type.xml'
+ 'etc/ImageMagick/type-dejavu.xml'
+ 'etc/ImageMagick/type-ghostscript.xml'
+ 'etc/ImageMagick/type-windows.xml')
+ options=('!docs' 'libtool' '!emptydirs')
+
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+ make DESTDIR="${pkgdir}" install
+ chmod 755 "${pkgdir}/usr/lib/perl5/vendor_perl/auto/Image/Magick/Magick.so"
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/imagemagick/LICENSE"
+ install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/imagemagick/NOTICE"
+
+#Cleaning
+ find "${pkgdir}" -name '*.bs' -delete
+ rm -f "${pkgdir}"/usr/lib/*.la
+}
+
+package_imagemagick-doc() {
+ pkgdesc="The ImageMagick documentation (utilities manuals and libraries API)"
+
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+ make DESTDIR="${pkgdir}" install-data-html
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/imagemagick-doc/LICENSE"
+ install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/imagemagick-doc/NOTICE"
+}
diff --git a/staging/imagemagick/perlmagick.rpath.patch b/staging/imagemagick/perlmagick.rpath.patch
new file mode 100644
index 000000000..958c0f2ee
--- /dev/null
+++ b/staging/imagemagick/perlmagick.rpath.patch
@@ -0,0 +1,10 @@
+--- Makefile.in.orig 2009-05-26 16:22:11.000000000 -0300
++++ Makefile.in 2009-05-26 16:23:27.000000000 -0300
+@@ -10067,6 +10067,7 @@
+
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@$(PERLMAKEFILE): perl-sources $(PERLMAKEMAKER)
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @PERL@ Makefile.PL $(PERL_MAKE_OPTIONS)
++@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @SED@ -i 's|LD_RUN_PATH|DIE_LD_RUN_PATH_DIE|g' Makefile
+
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@install-exec-perl: $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) $(PERLMAKEFILE)
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && $(MAKE) CC='@CC@' install
diff --git a/staging/irssi/PKGBUILD b/staging/irssi/PKGBUILD
new file mode 100644
index 000000000..e831da8f7
--- /dev/null
+++ b/staging/irssi/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 159478 2012-05-24 21:17:59Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Dan McGee <dan@archlinux.org>
+
+pkgname=irssi
+pkgver=0.8.15
+pkgrel=6
+pkgdesc="Modular text mode IRC client with Perl scripting"
+arch=('i686' 'x86_64')
+url="http://irssi.org/"
+license=('GPL')
+depends=('glib2' 'openssl')
+optdepends=('perl-libwww: for the scriptassist script')
+backup=('etc/irssi.conf')
+source=("http://irssi.org/files/${pkgname}-${pkgver}.tar.bz2")
+options=('!libtool')
+md5sums=('1dcb3f511b88df94b0c996f36668c7da')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --enable-ipv6 \
+ --with-proxy \
+ --sysconfdir=/etc \
+ --with-perl-lib=vendor
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/kdebindings-perlkde/PKGBUILD b/staging/kdebindings-perlkde/PKGBUILD
new file mode 100644
index 000000000..6d6eee696
--- /dev/null
+++ b/staging/kdebindings-perlkde/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 159447 2012-05-24 12:36:20Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=kdebindings-perlkde
+pkgver=4.8.3
+pkgrel=2
+pkgdesc="Perl bindings for the KDE libraries"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kdebindings')
+depends=('kdebindings-perlqt' 'kdebindings-smokekde')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'kdepimlibs'
+ 'kdegraphics-okular' 'kdesdk-kate')
+source=("http://download.kde.org/stable/${pkgver}/src/perlkde-${pkgver}.tar.xz")
+sha1sums=('bfc1c3a86789832cf7747dfc854d586d86c10a99')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../perlkde-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/kdebindings-perlqt/PKGBUILD b/staging/kdebindings-perlqt/PKGBUILD
new file mode 100644
index 000000000..a51438507
--- /dev/null
+++ b/staging/kdebindings-perlqt/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 159445 2012-05-24 12:35:46Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=kdebindings-perlqt
+pkgver=4.8.3
+pkgrel=2
+pkgdesc="Perl bindings for the Qt libraries"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kdebindings')
+depends=('kdebindings-smokeqt' 'perl-list-moreutils')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen')
+source=("http://download.kde.org/stable/${pkgver}/src/perlqt-${pkgver}.tar.xz")
+sha1sums=('d0d0d5da1fd9c50bd19ff2bb49d6a71a2d97759f')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../perlqt-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/perl-bit-vector/PKGBUILD b/staging/perl-bit-vector/PKGBUILD
new file mode 100644
index 000000000..198baa3ac
--- /dev/null
+++ b/staging/perl-bit-vector/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 159490 2012-05-25 02:23:56Z eric $
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: K. Piche <kpiche@rogers.com>
+
+pkgname=perl-bit-vector
+_cpanname=Bit-Vector
+pkgver=7.2
+pkgrel=2
+pkgdesc='Efficient bit vector, set of integers and "big int" math library'
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'PerlArtistic')
+url="http://search.cpan.org/dist/${_cpanname}/"
+depends=('perl-carp-clan' 'perl')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/A/AN/ANDK/${_cpanname}-${pkgver}.tar.gz)
+md5sums=('bc6ae34738b8f889290bf50099ff8aed')
+
+build() {
+ cd "${srcdir}/${_cpanname}-$pkgver"
+ # install module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}/${_cpanname}-$pkgver"
+ make test
+}
+
+package() {
+ cd "${srcdir}/${_cpanname}-$pkgver"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/perl-compress-bzip2/PKGBUILD b/staging/perl-compress-bzip2/PKGBUILD
new file mode 100644
index 000000000..6e98cea99
--- /dev/null
+++ b/staging/perl-compress-bzip2/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 159454 2012-05-24 13:49:08Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=perl-compress-bzip2
+_realname=Compress-Bzip2
+pkgver=2.09
+pkgrel=5
+pkgdesc="Interface to Bzip2 compression library"
+arch=(i686 x86_64)
+license=(GPL2)
+depends=(perl bzip2)
+url="http://search.cpan.org/dist/Compress-Bzip2"
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/A/AR/ARJAY/$_realname-$pkgver.tar.gz")
+md5sums=('1699fde3e86f2a036f135ae606d456bf')
+
+build() {
+ cd "$srcdir/$_realname-$pkgver"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir/$_realname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/staging/perl-crypt-openssl-bignum/PKGBUILD b/staging/perl-crypt-openssl-bignum/PKGBUILD
new file mode 100644
index 000000000..e5f881bcc
--- /dev/null
+++ b/staging/perl-crypt-openssl-bignum/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 47483 2011-05-23 15:54:16Z tdziedzic $
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-crypt-openssl-bignum
+pkgver=0.04
+pkgrel=7
+pkgdesc="OpenSSL's multiprecision integer arithmetic "
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Crypt-OpenSSL-Bignum"
+depends=('perl' 'openssl')
+license=('GPL')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/I/IR/IROBERTS/Crypt-OpenSSL-Bignum-$pkgver.tar.gz)
+md5sums=('9369ef722b0705c0604998559988eb18')
+
+build() {
+ cd "$srcdir/Crypt-OpenSSL-Bignum-$pkgver"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+
+check() {
+ cd "$srcdir/Crypt-OpenSSL-Bignum-$pkgver"
+
+ make test
+}
+
+package() {
+ cd "$srcdir/Crypt-OpenSSL-Bignum-$pkgver"
+
+ make pure_install doc_install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+}
diff --git a/staging/perl-crypt-openssl-random/PKGBUILD b/staging/perl-crypt-openssl-random/PKGBUILD
new file mode 100644
index 000000000..24ebde127
--- /dev/null
+++ b/staging/perl-crypt-openssl-random/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 47486 2011-05-23 15:55:23Z tdziedzic $
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-crypt-openssl-random
+pkgver=0.04
+pkgrel=7
+pkgdesc="Interface to OpenSSL PRNG methods"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Crypt-OpenSSL-Random"
+depends=('perl' 'openssl')
+license=('GPL')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/I/IR/IROBERTS/Crypt-OpenSSL-Random-$pkgver.tar.gz)
+md5sums=('c56ac5dbdd46122eb9b8da59613b7b0a')
+
+build() {
+ cd "$srcdir/Crypt-OpenSSL-Random-$pkgver"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$srcdir/Crypt-OpenSSL-Random-$pkgver"
+
+ make test
+}
+
+package() {
+ cd "$srcdir/Crypt-OpenSSL-Random-$pkgver"
+
+ make pure_install doc_install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+}
diff --git a/staging/perl-crypt-openssl-rsa/PKGBUILD b/staging/perl-crypt-openssl-rsa/PKGBUILD
new file mode 100644
index 000000000..3a44bf936
--- /dev/null
+++ b/staging/perl-crypt-openssl-rsa/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 56402 2011-10-07 09:48:12Z spupykin $
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-crypt-openssl-rsa
+pkgver=0.28
+pkgrel=3
+pkgdesc="Interface to OpenSSL RSA methods"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Crypt-OpenSSL-RSA"
+depends=('perl-crypt-openssl-random' 'perl-crypt-openssl-bignum')
+license=('GPL')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/P/PE/PERLER/Crypt-OpenSSL-RSA-$pkgver.tar.gz")
+md5sums=('86217a5036fc63779c30420b5fd84129')
+
+build() {
+ cd "$srcdir/Crypt-OpenSSL-RSA-$pkgver"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$srcdir/Crypt-OpenSSL-RSA-$pkgver"
+
+ make test
+}
+
+package() {
+ cd "$srcdir/Crypt-OpenSSL-RSA-$pkgver"
+ make pure_install doc_install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+}
diff --git a/staging/perl-crypt-ssleay/PKGBUILD b/staging/perl-crypt-ssleay/PKGBUILD
new file mode 100644
index 000000000..1f5842c4a
--- /dev/null
+++ b/staging/perl-crypt-ssleay/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 159482 2012-05-24 21:26:53Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-crypt-ssleay
+pkgver=0.58
+pkgrel=4
+pkgdesc="OpenSSL glue that provides LWP https support"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Crypt-SSLeay"
+license=('GPL' 'PerlArtistic')
+depends=('openssl')
+options=('!emptydirs')
+source=(http://www.cpan.org/CPAN/authors/id/N/NA/NANIS/Crypt-SSLeay-$pkgver.tar.gz)
+md5sums=('fbf3d12e58462cee00ea63239c0b13c7')
+
+build() {
+ cd "${srcdir}/Crypt-SSLeay-${pkgver}"
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make test
+}
+
+package() {
+ cd "${srcdir}/Crypt-SSLeay-${pkgver}"
+ make install DESTDIR="${pkgdir}"
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/staging/perl-dbd-mysql/PKGBUILD b/staging/perl-dbd-mysql/PKGBUILD
new file mode 100644
index 000000000..471b3b7a6
--- /dev/null
+++ b/staging/perl-dbd-mysql/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 159494 2012-05-25 03:17:36Z eric $
+# Maintainer: kevin <kevin@archlinux.org>
+# Contributor: Eric Johnson <eric@coding-zone.com>
+
+pkgname=perl-dbd-mysql
+_realname=DBD-mysql
+pkgver=4.020
+pkgrel=3
+pkgdesc="Perl/CPAN DBD::mysql module for interacting with MySQL via DBD"
+arch=(i686 x86_64)
+license=('GPL' 'PerlArtistic')
+url="http://search.cpan.org/dist/${_realname}/"
+depends=('libmysqlclient' 'perl-dbi' 'perl>=5.14.0')
+makedepends=('mysql')
+options=(!emptydirs)
+source=(http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/${_realname}-${pkgver}.tar.gz)
+md5sums=('a2bf8808bbd45298e84dde06afbd58e9')
+
+build() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+
+ # install module in vendor directories.
+ perl Makefile.PL INSTALLDIRS=vendor --testsocket=/tmp/socket.mysql
+ make
+}
+
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ mkdir -p /tmp/mysql_test
+ mysql_install_db \
+ --basedir=/usr \
+ --datadir=/tmp/mysql_test
+ mysqld -P 17999 \
+ --socket=/tmp/socket.mysql \
+ --datadir=/tmp/mysql_test &
+ sleep 10
+ DAEMON_PORT=$!
+ make test || true
+ kill -9 $DAEMON_PORT
+}
+
+package() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make install DESTDIR="${pkgdir}"
+}
diff --git a/staging/perl-dbi/PKGBUILD b/staging/perl-dbi/PKGBUILD
new file mode 100644
index 000000000..a6f8b2444
--- /dev/null
+++ b/staging/perl-dbi/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 159492 2012-05-25 02:52:01Z eric $
+# Maintainer: kevin <kevin@archlinux.org>
+# Contributor: Matt Thompson <mattt@defunct.ca>
+
+pkgname=perl-dbi
+_realname=DBI
+pkgver=1.618
+pkgrel=2
+pkgdesc="Database independent interface for Perl"
+arch=('i686' 'x86_64')
+license=('GPL' 'PerlArtistic')
+url="http://search.cpan.org/dist/${_realname}/"
+depends=('perl')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/T/TI/TIMB/${_realname}-${pkgver}.tar.gz)
+md5sums=('5ad29b56f7457f22bd1ca1c871b30719')
+
+build() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+
+ # install module in vendor directories.
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make test
+}
+
+package() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make install DESTDIR="${pkgdir}"
+}
+
+# vim: ts=2 sw=2 et ft=sh
diff --git a/staging/perl-fcgi/PKGBUILD b/staging/perl-fcgi/PKGBUILD
new file mode 100644
index 000000000..320844d7e
--- /dev/null
+++ b/staging/perl-fcgi/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 159484 2012-05-24 21:30:37Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-fcgi
+pkgver=0.74
+pkgrel=3
+pkgdesc="Fast CGI"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/FCGI"
+license=('GPL' 'PerlArtistic')
+depends=('perl')
+options=('!emptydirs')
+source=("http://www.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-${pkgver}.tar.gz")
+md5sums=('462a77a0072480fea791a4d3095eb486')
+
+build() {
+ cd "${srcdir}/FCGI-${pkgver}"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}/FCGI-${pkgver}"
+ make test
+}
+
+package() {
+ cd "${srcdir}/FCGI-${pkgver}"
+ make install DESTDIR="${pkgdir}"
+}
diff --git a/staging/perl-locale-gettext/PKGBUILD b/staging/perl-locale-gettext/PKGBUILD
new file mode 100644
index 000000000..cb0d8bc3b
--- /dev/null
+++ b/staging/perl-locale-gettext/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 159486 2012-05-24 21:34:25Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Mark Rosenstand <mark@borkware.net>
+# Contributor: Paul Mattal <paul@archlinux.org>
+
+pkgname=perl-locale-gettext
+_realname=gettext
+pkgver=1.05
+pkgrel=9
+pkgdesc="Permits access from Perl to the gettext() family of functions"
+arch=('i686' 'x86_64')
+license=('GPL' 'PerlArtistic')
+url="http://search.cpan.org/dist/${_realname}/"
+depends=('gettext' 'perl')
+options=(!emptydirs)
+source=("http://search.cpan.org/CPAN/authors/id/P/PV/PVANDRY/${_realname}-${pkgver}.tar.gz"
+ 'compatibility-with-POSIX-module.patch')
+md5sums=('f3d3f474a1458f37174c410dfef61a46'
+ '854302f34d01a2f8ae739187788973dd')
+
+build() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+
+ patch -Np1 -i ${srcdir}/compatibility-with-POSIX-module.patch
+ # install module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+
+ make test
+}
+
+package() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make install DESTDIR="${pkgdir}"
+
+ # remove perllocal.pod and .packlist
+ find "${pkgdir}" -name perllocal.pod -delete
+ find "${pkgdir}" -name .packlist -delete
+}
diff --git a/staging/perl-locale-gettext/compatibility-with-POSIX-module.patch b/staging/perl-locale-gettext/compatibility-with-POSIX-module.patch
new file mode 100644
index 000000000..ad675516b
--- /dev/null
+++ b/staging/perl-locale-gettext/compatibility-with-POSIX-module.patch
@@ -0,0 +1,10 @@
+--- a/gettext.pm 2005-05-31 20:11:16.000000000 -0700
++++ b/gettext.pm 2009-10-07 12:39:42.000000000 -0700
+@@ -32,6 +32,7 @@
+ =cut
+
+ use Carp;
++use POSIX qw(:locale_h);
+
+ require Exporter;
+ require DynaLoader;
diff --git a/staging/perl-net-ssleay/PKGBUILD b/staging/perl-net-ssleay/PKGBUILD
new file mode 100644
index 000000000..78733dbbd
--- /dev/null
+++ b/staging/perl-net-ssleay/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 159480 2012-05-24 21:23:03Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Manolis Tzanidakis
+
+pkgname=perl-net-ssleay
+_cpanname=Net-SSLeay
+pkgver=1.48
+pkgrel=2
+pkgdesc="Perl extension for using OpenSSL"
+arch=('i686' 'x86_64')
+license=('custom:BSD')
+url="http://search.cpan.org/dist/${_cpanname}/"
+depends=('openssl')
+options=(!emptydirs)
+replaces=('net-ssleay')
+provides=('net-ssleay')
+source=("http://www.cpan.org/authors/id/M/MI/MIKEM/${_cpanname}-${pkgver}.tar.gz")
+md5sums=('4e10d9da28f26732e37807820bf72af5')
+
+build() {
+ cd ${srcdir}/${_cpanname}-${pkgver}
+
+ # install module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL -- INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd ${srcdir}/${_cpanname}-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ # remove perllocal.pod and .packlist
+ find ${pkgdir} -name perllocal.pod -delete
+ find ${pkgdir} -name .packlist -delete
+
+ install -D -m644 README "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/staging/perl-time-hires/PKGBUILD b/staging/perl-time-hires/PKGBUILD
new file mode 100644
index 000000000..d0e8d638f
--- /dev/null
+++ b/staging/perl-time-hires/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 159488 2012-05-24 21:38:51Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: mezcal <fila at pruda dot com>
+
+pkgname=perl-time-hires
+pkgver=1.9725
+pkgrel=2
+pkgdesc="Perl module: high resolution time, sleep, and alarm"
+arch=('i686' 'x86_64')
+license=('PerlArtistic')
+url="http://search.cpan.org/dist/Time-HiRes/"
+depends=('perl')
+options=(!emptydirs)
+source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Time-HiRes-${pkgver}.tar.gz")
+md5sums=('cb1108c076d26f3d2fed0bb91313135a')
+
+build() {
+ cd "${srcdir}/Time-HiRes-${pkgver}"
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+check() {
+ cd "${srcdir}/Time-HiRes-${pkgver}"
+
+ make test
+}
+
+package() {
+ cd "${srcdir}/Time-HiRes-${pkgver}"
+
+ make install DESTDIR="${pkgdir}"
+}
diff --git a/staging/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch b/staging/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
new file mode 100644
index 000000000..1404460df
--- /dev/null
+++ b/staging/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/staging/perl/ChangeLog b/staging/perl/ChangeLog
new file mode 100644
index 000000000..9add39e20
--- /dev/null
+++ b/staging/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/staging/perl/PKGBUILD b/staging/perl/PKGBUILD
new file mode 100644
index 000000000..4204a4983
--- /dev/null
+++ b/staging/perl/PKGBUILD
@@ -0,0 +1,116 @@
+# $Id: PKGBUILD 159441 2012-05-24 12:05:52Z 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.16.0
+pkgrel=2
+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)
+install=perl.install
+options=('makeflags' '!purge')
+md5sums=('15a2f95fb27231e10998240f13acf961'
+ '5ed2542fdb9a60682f215bd33701e61a'
+ '1f0cbbee783e8a6d32f01be5118e0d5e'
+ '999c3eea6464860704abbb055a0f0896')
+
+# workaround to let the integrity check find the correct provides array
+if [[ ${0##*/} = "parse_pkgbuilds.sh" ]]; then
+ true && provides=($(bsdtar -q -O -xf "/srv/ftp/pool/packages/$pkgname-$pkgver-$pkgrel-$CARCH.pkg.tar.xz" .PKGINFO | sed -rn 's#^provides = (.*)#\1#p'))
+fi
+
+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}"
+ make
+}
+
+check() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ TEST_JOBS=$(echo $MAKEFLAGS | sed 's/.*-j\([0-9][0-9]*\).*/\1/') make test_harness
+# 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
+}
diff --git a/staging/perl/digest_eval_hole.diff b/staging/perl/digest_eval_hole.diff
new file mode 100644
index 000000000..47904137b
--- /dev/null
+++ b/staging/perl/digest_eval_hole.diff
@@ -0,0 +1,61 @@
+From 4b6a7324284e7435a361c58f7ddb32fc0c635bd0 Mon Sep 17 00:00:00 2001
+From: "Michael G. Schwern" <schwern@pobox.com>
+Date: Mon, 3 Oct 2011 19:05:29 +0100
+Subject: Close the eval "require $module" security hole in
+ Digest->new($algorithm)
+
+Also the filter was incomplete.
+
+Bug-Debian: http://bugs.debian.org/644108
+
+Patch-Name: fixes/digest_eval_hole.diff
+---
+ cpan/Digest/Digest.pm | 6 ++++--
+ cpan/Digest/t/security.t | 14 ++++++++++++++
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+ create mode 100644 cpan/Digest/t/security.t
+
+diff --git a/cpan/Digest/Digest.pm b/cpan/Digest/Digest.pm
+index 384dfc8..d714434 100644
+--- a/cpan/Digest/Digest.pm
++++ b/cpan/Digest/Digest.pm
+@@ -24,7 +24,7 @@ sub new
+ shift; # class ignored
+ my $algorithm = shift;
+ my $impl = $MMAP{$algorithm} || do {
+- $algorithm =~ s/\W+//;
++ $algorithm =~ s/\W+//g;
+ "Digest::$algorithm";
+ };
+ $impl = [$impl] unless ref($impl);
+@@ -35,7 +35,9 @@ sub new
+ ($class, @args) = @$class if ref($class);
+ no strict 'refs';
+ unless (exists ${"$class\::"}{"VERSION"}) {
+- eval "require $class";
++ my $pm_file = $class . ".pm";
++ $pm_file =~ s{::}{/}g;
++ eval { require $pm_file };
+ if ($@) {
+ $err ||= $@;
+ next;
+diff --git a/cpan/Digest/t/security.t b/cpan/Digest/t/security.t
+new file mode 100644
+index 0000000..5cba122
+--- /dev/null
++++ b/cpan/Digest/t/security.t
+@@ -0,0 +1,14 @@
++#!/usr/bin/env perl
++
++# Digest->new() had an exploitable eval
++
++use strict;
++use warnings;
++
++use Test::More tests => 1;
++
++use Digest;
++
++$LOL::PWNED = 0;
++eval { Digest->new(q[MD;5;$LOL::PWNED = 42]) };
++is $LOL::PWNED, 0;
diff --git a/staging/perl/fix-h2ph-and-tests.patch b/staging/perl/fix-h2ph-and-tests.patch
new file mode 100644
index 000000000..a2d176ec6
--- /dev/null
+++ b/staging/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/staging/perl/perl.install b/staging/perl/perl.install
new file mode 100644
index 000000000..a355c5bbe
--- /dev/null
+++ b/staging/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/staging/perl/perlbin.csh b/staging/perl/perlbin.csh
new file mode 100644
index 000000000..535f0b18d
--- /dev/null
+++ b/staging/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/staging/perl/perlbin.sh b/staging/perl/perlbin.sh
new file mode 100755
index 000000000..20f830436
--- /dev/null
+++ b/staging/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/staging/perl/provides.pl b/staging/perl/provides.pl
new file mode 100644
index 000000000..d2cdc762e
--- /dev/null
+++ b/staging/perl/provides.pl
@@ -0,0 +1,299 @@
+# provides.pl
+##
+# Script for printing out a provides list of every CPAN distribution
+# that is bundled with perl. You can run it before building perl
+# or you can run it after building perl. Required modules are in core
+# for perl 5.13 and above. It might be nice if this didn't require
+# HTTP::Tiny and maybe just used wget or curl.
+#
+# This script uses HTTP::Tiny to query Tatsuhiko Miyagawa's webapp at
+# cpanmetadb.plackperl.org to cross-reference module files to their
+# providing CPAN distribution. Thank you Miyagawa!
+#
+# - Justin "juster" Davis <jrcd83@gmail.com>
+
+use warnings 'FATAL' => 'all';
+use strict;
+
+package Common;
+
+sub evalver
+{
+ my ($path, $mod) = @_;
+
+ open my $fh, '<', $path or die "open $path: $!";
+
+ my $m = ($mod
+ ? qr/(?:\$${mod}::VERSION|\$VERSION)/
+ : qr/\$VERSION/);
+
+ while (my $ln = <$fh>) {
+ next unless $ln =~ /\s*$m\s*=\s*.+/;
+ chomp $ln;
+ my $ver = do { no strict; eval $ln };
+ return $ver unless $@;
+ die qq{$path:$. bad version string in "$ln"\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.plackperl.org/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/;
+ return if m{\Q$libdir\E[^/]+/t/}; # ignore testing modules
+ 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, $mod) || 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/staging/vim/PKGBUILD b/staging/vim/PKGBUILD
new file mode 100644
index 000000000..7545d062e
--- /dev/null
+++ b/staging/vim/PKGBUILD
@@ -0,0 +1,216 @@
+# $Id: PKGBUILD 159453 2012-05-24 13:34:26Z tdziedzic $
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Maintainer: tobias [ tobias at archlinux org ]
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgbase=vim
+pkgname=('vim' 'gvim' 'vim-runtime')
+_topver=7.3
+_patchlevel=515
+__hgrev=8201108e9cf0
+_versiondir="vim${_topver//./}"
+pkgver=${_topver}.${_patchlevel}
+pkgrel=2
+arch=('i686' 'x86_64')
+license=('custom:vim')
+url="http://www.vim.org"
+makedepends=('gpm' 'python2' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua')
+source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig"
+ 'pythoncomplete.vim::http://www.vim.org/scripts/download_script.php?src_id=10872'
+ 'vimrc'
+ 'archlinux.vim'
+ 'gvim.desktop')
+sha1sums=('10d7642d5062effdb51f53952622f9338003bbbf'
+ '0c1c584c1a2a2a279507f793cd5eff82863c625b'
+ '4d9dcfb32874aa5467e6f06e418aeb4e675daaf2'
+ '3494baf53a63581ba69f86a81293640ff681c5c5'
+ '25dd3c2ce436e73a367c8f73b68f7f6889682437'
+ '4a579cf66590d711f49c5dfb4a25e5df116ff7ba')
+
+# source PKGBUILD && mksource
+mksource() {
+
+ [[ -x /usr/bin/hg ]] || (echo "hg not found. Install mercurial." && return 1)
+
+ __hgroot='http://vim.googlecode.com/hg/'
+ __hgrepo='vim'
+ __hgbranch='default'
+
+ hg clone -b ${__hgbranch} -u ${__hgrev} "${__hgroot}${__hgrepo}" ${__hgrepo}
+
+ pushd ${__hgrepo}
+ if (( $(hg id -n) < $(hg id -nr ${__hgbranch}) )); then
+ printf 'You are not building the latest revision!\n'
+ printf "Consider updating __hgrev to $(hg id -r ${__hgbranch}).\n"
+ fi
+ popd
+
+ mv vim ${pkgname}-${pkgver}
+ find ${pkgname}-${pkgver} -depth -type d -name .hg -exec rm -rf {} \;
+ rm ${pkgname}-${pkgver}/{.hgignore,.hgtags}
+ tar -cJf ${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/*
+ rm -r ${pkgname}-${pkgver}
+ #gpg --detach-sign --use-agent -u ${GPGKEY} ${pkgname}-${pkgver}.tar.xz
+}
+
+build() {
+ # remove -O2 because there is a crash with python because of it
+ # fedora br: https://bugzilla.redhat.com/show_bug.cgi?id=817196
+ export CFLAGS="${CFLAGS/-O2 /}"
+
+ cd "${srcdir}"
+
+ cp -a ${pkgname}-${pkgver} vim-build
+
+ # define the place for the global (g)vimrc file (set to /etc/vimrc)
+ sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \
+ vim-build/src/feature.h
+ sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \
+ vim-build/src/feature.h
+ # fix python name
+ sed -i -e 's|vi_cv_path_python, python|vi_cv_path_python, python2|' \
+ vim-build/src/configure.in
+ (cd vim-build/src && autoconf)
+
+ cp -a vim-build gvim-build
+
+ cd "${srcdir}"/vim-build
+
+ ./configure --prefix=/usr --localstatedir=/var/lib/vim \
+ --with-features=big --with-compiledby=ArchLinux \
+ --enable-gpm --enable-acl --with-x=no \
+ --disable-gui --enable-multibyte --enable-cscope \
+ --disable-netbeans --enable-perlinterp --disable-pythoninterp \
+ --disable-python3interp --disable-rubyinterp --disable-luainterp
+
+ make
+
+ cd "${srcdir}"/gvim-build
+
+ ./configure --prefix=/usr --localstatedir=/var/lib/vim \
+ --with-features=big --with-compiledby=ArchLinux \
+ --enable-gpm --enable-acl --with-x=yes \
+ --enable-gui=gtk2 --enable-multibyte --enable-cscope \
+ --enable-netbeans --enable-perlinterp --enable-pythoninterp \
+ --disable-python3interp --enable-rubyinterp --enable-luainterp
+
+ make
+}
+
+check() {
+ # disable tests because they seem to freeze
+
+ cd "${srcdir}"/vim-build
+
+ #make test
+
+ cd "${srcdir}"/gvim-build
+
+ #make test
+}
+
+package_vim() {
+ pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
+ depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm')
+ conflicts=('gvim')
+
+ cd "${srcdir}"/vim-build
+ make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
+
+ # provided by (n)vi in core
+ rm "${pkgdir}"/usr/bin/{ex,view}
+
+ # delete some manpages
+ find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \
+ while read _mandir; do
+ cd ${_mandir}
+ rm -f ex.1 view.1 # provided by (n)vi
+ rm -f evim.1 # this does not make sense if we have no GUI
+ done
+
+ # Runtime provided by runtime package
+ rm -r "${pkgdir}"/usr/share/vim
+
+ # license
+ install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
+}
+
+package_gvim() {
+ pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI)'
+ depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'ruby' 'libxt'
+ 'desktop-file-utils' 'gtk2' 'lua' 'python2')
+ provides=("vim=${pkgver}-${pkgrel}")
+ conflicts=('vim')
+ install=gvim.install
+
+ cd "${srcdir}"/gvim-build
+ make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
+
+ # provided by (n)vi in core
+ rm "${pkgdir}"/usr/bin/{ex,view}
+
+ # delete some manpages
+ find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \
+ while read _mandir; do
+ cd ${_mandir}
+ rm -f ex.1 view.1 # provided by (n)vi
+ done
+
+ # Move the runtime for later packaging
+ mv "${pkgdir}"/usr/share/vim "${srcdir}"/runtime-install
+
+ # freedesktop links
+ install -Dm644 "${srcdir}"/gvim.desktop \
+ "${pkgdir}"/usr/share/applications/gvim.desktop
+ install -Dm644 runtime/vim48x48.png "${pkgdir}"/usr/share/pixmaps/gvim.png
+
+ # license
+ install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
+}
+
+package_vim-runtime() {
+ pkgdesc='Runtime for vim and gvim'
+ depends=('perl' 'gawk')
+ backup=('etc/vimrc')
+
+ # Install the runtime split from gvim
+ install -dm755 "${pkgdir}"/usr/share
+ mv "${srcdir}"/runtime-install "${pkgdir}"/usr/share/vim
+
+ # Don't forget logtalk.dict
+ install -Dm644 "${srcdir}"/gvim-build/runtime/ftplugin/logtalk.dict \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/logtalk.dict
+
+ # fix FS#17216
+ sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim
+
+ # patch filetype.vim for better handling of pacman related files
+ sed -i "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim
+ sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/changelog.vim
+
+ # make Aaron happy
+ install -Dm644 "${srcdir}"/pythoncomplete.vim \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/autoload/pythoncomplete.vim
+
+ # rc files
+ install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc
+ install -Dm644 "${srcdir}"/archlinux.vim \
+ "${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim
+
+ # rgb.txt file
+ install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/rgb.txt \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/rgb.txt
+
+ # license
+ install -dm755 "${pkgdir}"/usr/share/licenses/vim-runtime
+ ln -s /usr/share/vim/${_versiondir}/doc/uganda.txt \
+ "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt
+}
+
+# vim:set sw=2 sts=2 et:
diff --git a/staging/vim/archlinux.vim b/staging/vim/archlinux.vim
new file mode 100644
index 000000000..148bb930f
--- /dev/null
+++ b/staging/vim/archlinux.vim
@@ -0,0 +1,26 @@
+" The ArchLinux global vimrc - setting only a few sane defaults
+"
+" Maintainer: Tobias Kieslich [tobias funnychar archlinux dot org]
+"
+" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION
+" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc
+
+" Normally we use vim-extensions. If you want true vi-compatibility
+" remove change the following statements
+set nocompatible " Use Vim defaults instead of 100% vi compatibility
+set backspace=indent,eol,start " more powerful backspacing
+
+" Now we set some defaults for the editor
+set history=50 " keep 50 lines of command line history
+set ruler " show the cursor position all the time
+
+" Suffixes that get lower priority when doing tab completion for filenames.
+" These are files we are not likely to want to edit or read.
+set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
+
+
+if has('gui_running')
+ " Make shift-insert work like in Xterm
+ map <S-Insert> <MiddleMouse>
+ map! <S-Insert> <MiddleMouse>
+endif
diff --git a/staging/vim/gvim.desktop b/staging/vim/gvim.desktop
new file mode 100644
index 000000000..675357da5
--- /dev/null
+++ b/staging/vim/gvim.desktop
@@ -0,0 +1,63 @@
+[Desktop Entry]
+Name=Vi IMproved
+Name[bg]=Vi Ðåäàêòîð
+Name[ca]=Vi Millorat
+Name[da]=Vi forbedret
+Name[eo]=VIM
+Name[et]=Täiustatud Vi (vim)
+Name[fr]=Vi étendu (VIM)
+Name[he]=רפושמ Vi
+Name[hu]=Vi
+Name[is]=Vi IMproved ritillinn
+Name[it]=Vi iMproved
+Name[no]=Vi IMproved (forbedret VI)
+Name[pl]=Poprawiony VI (vim)
+Name[ro]=VIM
+Name[ru]=Улучшенный VI
+Name[sk]=Vi IMpreved
+Name[sl]=Izboljšani vi (vim)
+Name[sv]=Förbättrad Vi
+Name[zh_CN.GB2312]=改进的 Vi
+Comment=Powerful text editor with scripting functions and macro recorder
+Comment[bg]=Ðåäàêòîð ñ ìíîãî âúçìîæíîñòè
+Comment[ca]=Editor vi potent
+Comment[cs]=Mocný textový editor vi
+Comment[da]=En kraftig vi tekstbehandler
+Comment[de]=Ein leistungsfähiger vi-Editor
+Comment[el]=Πανίσχυρος διορθωτής vi
+Comment[eo]=VIM similas al redaktilo "vi", sed havas aldonajn ecojn
+Comment[es]=Una versión mejorada del editor vi
+Comment[et]=Võimas tekstiredaktor vi
+Comment[fi]=Tehokas vi-tekstieditori
+Comment[fr]=Éditeur vi puissant
+Comment[gl]=Potente editor vi
+Comment[he]=Vi המצועה בר ךרועה
+Comment[hr]=Napredni vi uređivač
+Comment[hu]=Vi szövegszerkesztő
+Comment[is]=Öflug útgáfa vi ritilsins
+Comment[it]=Un editor vi potenziato
+Comment[ja]=強力なViエディタ
+Comment[lt]=Galingas vi redaktorius
+Comment[mk]=Моќен VI уредувач
+Comment[nl]=Krachtige vi-editor
+Comment[no]=En kraftig vi-redigerer
+Comment[no_NY]=Kraftig vi-tekstredigeringsprogram
+Comment[pl]=Edytor vi
+Comment[pt]=Um poderoso editor de texto
+Comment[ro]=Un editor de texte VI, puternic
+Comment[ru]=Мощный текстовый редактор vi
+Comment[sk]=Silný textový procesor vi
+Comment[sl]=Zmogljivi urejevalnik vi
+Comment[sr]=Moćni vi editor
+Comment[sv]=En kraftfull texteditor
+Comment[ta]=ºì¾¢Å¡öó¾ vi ¦¾¡ÌôÀ¡Ç÷
+Comment[tr]=Güçlü vi düzenleyicisi
+Comment[uk]=Потужний редактор vi
+Comment[zh_CN.GB2312]=功能强大的 vi 编辑器
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=gvim -f %F
+Icon=gvim
+Type=Application
+Terminal=false
+X-XClassHintResName=VIM
+Categories=Utility;TextEditor;
diff --git a/staging/vim/gvim.install b/staging/vim/gvim.install
new file mode 100644
index 000000000..2eaa60550
--- /dev/null
+++ b/staging/vim/gvim.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/staging/vim/vimrc b/staging/vim/vimrc
new file mode 100644
index 000000000..92d3ff980
--- /dev/null
+++ b/staging/vim/vimrc
@@ -0,0 +1,16 @@
+" All system-wide defaults are set in $VIMRUNTIME/archlinux.vim (usually just
+" /usr/share/vim/vimfiles/archlinux.vim) and sourced by the call to :runtime
+" you can find below. If you wish to change any of those settings, you should
+" do it in this file (/etc/vimrc), since archlinux.vim will be overwritten
+" everytime an upgrade of the vim packages is performed. It is recommended to
+" make changes after sourcing archlinux.vim since it alters the value of the
+" 'compatible' option.
+
+" This line should not be removed as it ensures that various options are
+" properly set to work with the Vim-related packages.
+runtime! archlinux.vim
+
+" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim'
+" Or better yet, read /usr/share/vim/vim72/vimrc_example.vim or the vim manual
+" and configure vim to your own liking!
+
diff --git a/staging/weechat/PKGBUILD b/staging/weechat/PKGBUILD
new file mode 100644
index 000000000..70b5ad435
--- /dev/null
+++ b/staging/weechat/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 159476 2012-05-24 21:06:54Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: lucke <lucke at o2 dot pl>
+
+pkgname=weechat
+pkgver=0.3.7
+pkgrel=2
+pkgdesc="Fast, light and extensible IRC client (curses UI)"
+arch=('i686' 'x86_64')
+url="http://www.weechat.org/"
+license=('GPL')
+depends=('gnutls' 'curl' 'libgcrypt')
+makedepends=('cmake' 'pkgconfig' 'perl' 'python2' 'lua' 'tcl' 'ruby' 'aspell')
+optdepends=('perl' 'python2' 'lua' 'tcl' 'ruby' 'aspell')
+options=('!libtool')
+source=("http://www.weechat.org/files/src/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('62bb5002b2ba9e5816dfeededc3fa276')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ mkdir build
+ cd build
+ cmake .. -DPREFIX=/usr \
+ -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+ -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/build"
+
+ make DESTDIR="${pkgdir}/" install
+}
diff --git a/testing/nfs-utils/PKGBUILD b/testing/nfs-utils/PKGBUILD
new file mode 100644
index 000000000..cf92438b4
--- /dev/null
+++ b/testing/nfs-utils/PKGBUILD
@@ -0,0 +1,105 @@
+# $Id: PKGBUILD 159425 2012-05-24 07:56:08Z tpowa $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
+# Contributor: abelstr <abel@pinklf.eu>
+# Contributor: Marco Lima <cipparello gmail com>
+
+pkgname=nfs-utils
+pkgver=1.2.6
+pkgrel=1
+pkgdesc="Support programs for Network File Systems"
+arch=('i686' 'x86_64')
+url='http://nfs.sourceforge.net'
+license=('GPL')
+backup=(etc/{exports,idmapd.conf,nfsmount.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
+depends=('glibc' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=2.0.10' 'libgssglue' 'device-mapper')
+makedepends=('pkgconfig' 'autoconf' 'automake')
+source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2
+ nfs-common
+ nfs-common.conf
+ nfs-server
+ nfs-server.conf
+ exports
+ idmapd.conf
+ start-statd.patch
+ nfs
+ nfs-utils-1.1.4-mtab-sym.patch
+ nfs-utils-1.1.4-no-exec.patch
+ rpc-gssd.service
+ rpc-mountd.service
+ rpc-svcgssd.service
+ rpc-idmapd.service
+ rpc-statd.service
+ nfsd.service
+ var-lib-nfs-rpc_pipefs.mount
+ proc-fs-nfsd.mount
+ blkmapd.service
+ nfs-utils.conf)
+install=nfs-utils.install
+md5sums=('8be543ca270c2234ff18f8c8d35e0d37'
+ 'dd0d65fc6e8f422fa12520813098264b'
+ 'f73f197a16b02c3e248488ec35c4cf43'
+ 'e619f18354ff958ed624d05d08853d8f'
+ '9cef69bc686cc5dcac23fbb51450747d'
+ 'ff585faf410a62c4333a027c50b56bae'
+ 'eb4f4027fab6fc1201f1ca04f5954c76'
+ 'e9144277a89a620d9bc80413158a7d27'
+ 'f5e7bba09a46c5c5d7007cac6eff9df5'
+ '7674106eaaa4c149bccd4f05fe3604e9'
+ '4f4827dfc93008dfadd0a530ad0872b2'
+ '38855936dc55a5afe37d84edc0f11066'
+ '965311784d49a7d126d512cadbe91deb'
+ 'e05705d9ccccaeaeb1ecaee20adc05bc'
+ 'd7df7bc311fd95c5b80017dd1741570d'
+ '2e72ee082cba5d3ec6f51d2a105664da'
+ '5d33d2e754fd37280365b287603bac90'
+ '1cd65909fa0983047f3f06a3ab352401'
+ '02a34835aa077146a90eb7d191e612d0'
+ '8ffc2ebe932d29efe17d6f3f23d5b975'
+ '8ac484023d786766d287ccbe878ae4ba')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+ patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch
+ #patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
+ # arch specific patch
+ patch -Np0 -i $srcdir/start-statd.patch
+
+ ./configure --prefix=/usr --enable-nfsv4 --enable-nfsv41 --enable-gss \
+ --without-tcp-wrappers --with-statedir=/var/lib/nfs \
+ --enable-ipv6 --sysconfdir=/etc --enable-libmount-mount \
+ --enable-mountconfig
+
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname}-${pkgver}
+ # fix make install
+ mkdir -p $pkgdir/sbin
+ make DESTDIR=$pkgdir install
+
+ # support python2 (FS#25120)
+ sed -i '1s/python$/python2/' "$pkgdir"/usr/sbin/{nfsiostat,mountstats}
+
+ # NFS & NFSv4 init scripts
+ install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common
+ install -D -m 755 ../nfs-server "$pkgdir/"etc/rc.d/nfs-server
+ # Configuration
+ install -D -m 644 ../exports "$pkgdir/"etc/exports
+ install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf
+ install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
+ install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
+ install -D -m 644 ../nfs "$pkgdir/"etc/conf.d/nfs
+ install -D -m 644 utils/mount/nfsmount.conf "$pkgdir/"etc/nfsmount.conf
+ # systemd files
+ for i in ${srcdir}/*.{service,mount}; do
+ install -D -m 644 $i "$pkgdir/usr/lib/systemd/system/${i##*/}"
+ done
+ install -D -m 644 ../nfs-utils.conf "$pkgdir/"usr/lib/modules-load.d/nfs-utils.conf
+ # directories
+ mkdir "$pkgdir/"etc/exports.d
+ mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs
+ mkdir "$pkgdir/"var/lib/nfs/v4recovery
+}
diff --git a/testing/nfs-utils/blkmapd.service b/testing/nfs-utils/blkmapd.service
new file mode 100644
index 000000000..16cb68bbb
--- /dev/null
+++ b/testing/nfs-utils/blkmapd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=pNFS block layout mapping daemon
+After=var-lib-nfs-rpc_pipefs.mount nfsd.service
+Requires=var-lib-nfs-rpc_pipefs.mount
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/blkmapd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/exports b/testing/nfs-utils/exports
new file mode 100644
index 000000000..8f4aac598
--- /dev/null
+++ b/testing/nfs-utils/exports
@@ -0,0 +1,15 @@
+# /etc/exports
+#
+# List of directories exported to NFS clients. See exports(5).
+# Use exportfs -arv to reread.
+#
+# Example for NFSv2 and NFSv3:
+# /srv/home hostname1(rw,sync) hostname2(ro,sync)
+#
+# Example for NFSv4:
+# /srv/nfs4 hostname1(rw,sync,fsid=0)
+# /srv/nfs4/home hostname1(rw,sync,nohide)
+# Using Kerberos and integrity checking:
+# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
+# /srv/nfs4/home gss/krb5i(rw,sync,nohide)
+#
diff --git a/testing/nfs-utils/idmapd.conf b/testing/nfs-utils/idmapd.conf
new file mode 100644
index 000000000..b1b23afe9
--- /dev/null
+++ b/testing/nfs-utils/idmapd.conf
@@ -0,0 +1,14 @@
+[General]
+
+Verbosity = 0
+Pipefs-Directory = /var/lib/nfs/rpc_pipefs
+Domain = localdomain
+
+[Mapping]
+
+Nobody-User = nobody
+Nobody-Group = nobody
+
+[Translation]
+
+Method = nsswitch
diff --git a/testing/nfs-utils/nfs b/testing/nfs-utils/nfs
new file mode 100644
index 000000000..2d33cf3d4
--- /dev/null
+++ b/testing/nfs-utils/nfs
@@ -0,0 +1,40 @@
+#
+# Optinal options passed to rquotad
+RPCRQUOTADOPTS=""
+#
+# Optional arguments passed to in-kernel lockd
+#LOCKDARG=
+# TCP port rpc.lockd should listen on.
+#LOCKD_TCPPORT=32803
+# UDP port rpc.lockd should listen on.
+#LOCKD_UDPPORT=32769
+#
+# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
+RPCNFSDARGS=""
+# Number of nfs server processes to be started.
+# The default is 8.
+RPCNFSDCOUNT=8
+# Set V4 grace period in seconds
+#NFSD_V4_GRACE=90
+#
+# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
+RPCMOUNTDOPTS=""
+#
+# Optional arguments passed to rpc.statd. See rpc.statd(8)
+STATDARG=""
+#
+# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8)
+RPCIDMAPDARGS=""
+#
+# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
+RPCGSSDARGS=""
+#
+# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8)
+RPCSVCGSSDARGS=""
+#
+# To enable RDMA support on the server by setting this to
+# the port the server should listen on
+#RDMA_PORT=20049
+#
+# Optional arguments passed to blkmapd. See blkmapd(8)
+BLKMAPDARGS=""
diff --git a/testing/nfs-utils/nfs-common b/testing/nfs-utils/nfs-common
new file mode 100644
index 000000000..7b16b4b3c
--- /dev/null
+++ b/testing/nfs-utils/nfs-common
@@ -0,0 +1,315 @@
+#!/bin/bash
+
+daemon_name=nfs-common
+
+NEED_STATD=
+STATD_OPTS=
+NEED_IDMAPD=
+IDMAPD_OPTS=
+NEED_GSSD=
+GSSD_OPTS=
+PIPEFS_MOUNTPOINT=
+PIPEFS_MOUNTOPTS=
+
+# rpc.statd daemon & binary location
+STATD_DAEMON_NAME=rpc.statd
+STATD="/usr/sbin/rpc.statd"
+
+# rpc.idmapd daemon & binary location
+IDMAPD_DAEMON_NAME=rpc.idmapd
+IDMAPD="/usr/sbin/rpc.idmapd"
+
+# rpc.gssd daemon & binary location
+GSSD_DAEMON_NAME=rpc.gssd
+GSSD="/usr/sbin/rpc.gssd"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+# Default mountpoint and options for rpc_pipefs filesystem
+[ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs"
+[ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults"
+
+# Parse the fstab file, and determine whether we need idmapd and gssd. (The
+# /etc/conf.d/nfs-common settings, if any, will override our autodetection.)
+AUTO_NEED_IDMAPD=no
+AUTO_NEED_GSSD=no
+
+if [ -f /etc/fstab ]; then
+ exec 9<&0 </etc/fstab
+
+ while read DEV MTPT FSTYPE OPTS REST; do
+ if [ "$FSTYPE" = "nfs4" ]; then
+ AUTO_NEED_IDMAPD=yes
+ fi
+ case "$OPTS" in
+ sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
+ AUTO_NEED_GSSD=yes
+ ;;
+ esac
+ done
+
+ exec 0<&9 9<&-
+fi
+
+# We also need idmapd if we run an NFSv4 server. It's fairly difficult
+# to autodetect whether there are NFSv4 exports or not, and idmapd is not a
+# particularily heavy daemon, so we auto-enable it if we find an /etc/exports
+# file. This does not mean that there are NFSv4 or other mounts active (or
+# even that nfs-kernel-server is installed), but it matches what the "start"
+# condition in nfs-kernel-server's init script does, which has a value in
+# itself.
+if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' /etc/exports; then
+ AUTO_NEED_IDMAPD=yes
+fi
+
+case "$NEED_STATD" in
+ yes|no)
+ ;;
+ *)
+ NEED_STATD=yes
+ ;;
+esac
+
+case "$NEED_IDMAPD" in
+ yes|no)
+ ;;
+ *)
+ NEED_IDMAPD=$AUTO_NEED_IDMAPD
+ ;;
+esac
+
+case "$NEED_GSSD" in
+ yes|no)
+ ;;
+ *)
+ NEED_GSSD=$AUTO_NEED_GSSD
+ ;;
+esac
+
+do_modprobe() {
+ if [ -x /sbin/modprobe -a -f /proc/modules ]; then
+ modprobe -q "$1" || true
+ fi
+}
+
+do_mount() {
+ if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
+ return 1
+ fi
+
+ if grep -vw "$1" /proc/mounts &> /dev/null ; then
+ if ! mountpoint -q "$2" ; then
+ mount -t "$1" "$1" "$2" -o "$3"
+ return
+ fi
+ fi
+ return 0
+}
+
+do_umount() {
+ if mountpoint -q "$1" ; then
+ umount "$1"
+ fi
+ return 0
+}
+
+get_pid() {
+ pidof -o %PPID "$1"
+}
+
+case "$1" in
+ start)
+ ck_daemon rpcbind && { echo -n "Start rpcbind first." >&2; stat_die; }
+ rc=0
+ if [ "$NEED_STATD" = yes ]; then
+ stat_busy "Starting $STATD_DAEMON_NAME daemon"
+ PID=$(get_pid $STATD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$STATD_DAEMON_NAME.pid ] && rm -f /var/run/$STATD_DAEMON_NAME.pid
+ # RUN
+ $STATD $STATD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $STATD) > /var/run/$STATD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ # Run sm-notify
+ /usr/sbin/sm-notify $SMNOTIFY_OPTS
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
+ stat_busy "Mounting pipefs filesystem"
+ do_modprobe sunrpc
+ do_modprobe nfs
+ do_modprobe nfsd
+ do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS"
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ]; then
+ stat_busy "Starting $IDMAPD_DAEMON_NAME daemon"
+ PID=$(get_pid $IDMAPD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$IDMAPD_DAEMON_NAME.pid ] && rm -f /var/run/$IDMAPD_DAEMON_NAME.pid
+ # RUN
+ $IDMAPD $IDMAPD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $IDMAPD) > /var/run/$IDMAPD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ fi
+
+ if [ "$NEED_GSSD" = yes ]; then
+ do_modprobe rpcsec_gss_krb5
+ stat_busy "Starting $GSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $GSSD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$GSSD_DAEMON_NAME.pid ] && rm -f /var/run/$GSSD_DAEMON_NAME.pid
+ # RUN
+ $GSSD $GSSD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $GSSD) > /var/run/$GSSD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ fi
+ fi
+
+ add_daemon $daemon_name
+ ;;
+
+ stop)
+ rc=0
+ if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
+
+ if [ "$NEED_GSSD" = yes ]; then
+ stat_busy "Stopping $GSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $GSSD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ]; then
+ stat_busy "Stopping $IDMAPD_DAEMON_NAME daemon"
+ PID=$(get_pid $IDMAPD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+ do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true
+ fi
+
+ if [ "$NEED_STATD" = yes ]; then
+ stat_busy "Stopping $STATD_DAEMON_NAME daemon"
+ PID=$(get_pid $STATD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+
+ rm_daemon $daemon_name
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+
+ if [ "$NEED_STATD" = yes ]; then
+ stat_busy "Daemon $STATD_DAEMON_NAME running"
+ PID=$(get_pid $STATD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+
+ if [ "$NEED_GSSD" = yes ]; then
+ stat_busy "Daemon $GSSD_DAEMON_NAME running"
+ PID=$(get_pid $GSSD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ]; then
+ stat_busy "Daemon $IDMAPD_DAEMON_NAME running"
+ PID=$(get_pid $IDMAPD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+ echo
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|status|restart}"
+esac
+exit 0
+
diff --git a/testing/nfs-utils/nfs-common.conf b/testing/nfs-utils/nfs-common.conf
new file mode 100644
index 000000000..12466b3e5
--- /dev/null
+++ b/testing/nfs-utils/nfs-common.conf
@@ -0,0 +1,40 @@
+# Parameters to be passed to nfs-common (nfs clients & server) init script.
+#
+
+# If you do not set values for the NEED_ options, they will be attempted
+# autodetected; this should be sufficient for most people. Valid alternatives
+# for the NEED_ options are "yes" and "no".
+
+# Do you want to start the statd daemon? It is not needed for NFSv4.
+NEED_STATD=""
+
+# Options to pass to rpc.statd.
+# See rpc.statd(8) for more details.
+# N.B. statd normally runs on both client and server, and run-time
+# options should be specified accordingly.
+# STATD_OPTS="-p 32765 -o 32766"
+STATD_OPTS=""
+
+# Options to pass to sm-notify
+# e.g. SMNOTIFY_OPTS="-p 32764"
+SMNOTIFY_OPTS=""
+
+# Do you want to start the idmapd daemon? It is only needed for NFSv4.
+NEED_IDMAPD=""
+
+# Options to pass to rpc.idmapd.
+# See rpc.idmapd(8) for more details.
+IDMAPD_OPTS=""
+
+# Do you want to start the gssd daemon? It is required for Kerberos mounts.
+NEED_GSSD=""
+
+# Options to pass to rpc.gssd.
+# See rpc.gssd(8) for more details.
+GSSD_OPTS=""
+
+# Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs".
+PIPEFS_MOUNTPOINT=""
+
+# Options used to mount rpc_pipefs filesystem; the default is "defaults".
+PIPEFS_MOUNTOPTS=""
diff --git a/testing/nfs-utils/nfs-server b/testing/nfs-utils/nfs-server
new file mode 100644
index 000000000..6aa609d8c
--- /dev/null
+++ b/testing/nfs-utils/nfs-server
@@ -0,0 +1,299 @@
+#!/bin/bash
+
+daemon_name=nfs-server
+
+NFSD_COUNT=
+NFSD_OPTS=
+NEED_SVCGSSD=
+SVCGSSD_OPTS=
+MOUNTD_OPTS=
+PROCNFSD_MOUNTPOINT=
+PROCNFSD_MOUNTOPTS=
+
+# rpc.nfsd daemon & binary location
+NFSD_PROCESS_NAME=nfsd
+NFSD_DAEMON_NAME=rpc.nfsd
+NFSD="/usr/sbin/rpc.nfsd"
+
+# rpc.svcgssd daemon & binary location
+SVCGSSD_DAEMON_NAME=rpc.svcgssd
+SVCGSSD="/usr/sbin/rpc.svcgssd"
+
+# rpc.idmapd daemon & binary location
+IDMAPD_DAEMON_NAME=rpc.idmapd
+IDMAPD="/usr/sbin/rpc.idmapd"
+
+# rpc.mountd daemon & binary location
+MOUNTD_DAEMON_NAME=rpc.mountd
+MOUNTD="/usr/sbin/rpc.mountd"
+
+# exortfs binary location
+EXPORTFS="/usr/sbin/exportfs"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+# Default number of nfsd servers
+[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8
+
+# Default mountpoint and options for nfsd filesystem
+[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd"
+[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid"
+
+case "$NEED_SVCGSSD" in
+ yes|no)
+ ;;
+ *)
+ NEED_SVCGSSD=no
+ ;;
+esac
+
+do_modprobe() {
+ if [ -x /sbin/modprobe -a -f /proc/modules ]; then
+ modprobe -q "$1" || true
+ fi
+}
+
+do_mount() {
+ if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
+ return 1
+ fi
+
+ if grep -vw "$1" /proc/mounts &> /dev/null ; then
+ if ! mountpoint -q "$2" ; then
+ mount -t "$1" "$1" "$2" -o "$3"
+ return
+ fi
+ fi
+ return 0
+}
+
+do_umount() {
+ if mountpoint -q "$1" ; then
+ umount "$1"
+ fi
+ return 0
+}
+
+get_pid() {
+ pidof -o %PPID "$1"
+}
+
+case "$1" in
+ start)
+ ck_daemon nfs-common && { echo -n "Start nfs-common first." >&2; stat_die; }
+ rc=0
+ stat_busy "Mounting nfsd filesystem"
+ do_modprobe nfsd
+ do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS"
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ stat_busy "Exporting all directories"
+ $EXPORTFS -r
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ stat_busy "Starting $NFSD_DAEMON_NAME daemon"
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid
+ # RUN
+ $NFSD $NFSD_OPTS $NFSD_COUNT
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+
+ if [ "$NEED_SVCGSSD" = yes ]; then
+ do_modprobe rpcsec_gss_krb5
+ stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $SVCGSSD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid
+ # RUN
+ $SVCGSSD $SVCGSSD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ fi
+
+ PID=$(get_pid $IDMAPD)
+ [ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null
+
+ stat_busy "Starting $MOUNTD_DAEMON_NAME daemon"
+ PID=$(get_pid $MOUNTD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid
+ # RUN
+ $MOUNTD $MOUNTD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+
+ add_daemon $daemon_name
+ ;;
+
+ stop)
+ rc=0
+ stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon"
+ PID=$(get_pid $MOUNTD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+
+ if [ "$NEED_SVCGSSD" = yes ]; then
+ stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $SVCGSSD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+
+ stat_busy "Stopping $NFSD_DAEMON_NAME daemon"
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ # KILL (SIGINT)
+ [ ! -z "$PID" ] && kill -2 $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ sleep 1
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ # KILL (KILL) - just to be sure
+ [ ! -z "$PID" ] && kill -9 $PID &> /dev/null
+ #
+ rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+
+ stat_busy "Unexporting all directories"
+ $EXPORTFS -au
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ # flush everything out of the kernels export table
+ if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then
+ $EXPORTFS -f
+ fi
+ do_umount "$PROCNFSD_MOUNTPOINT" 2>/dev/null || true
+ rm_daemon $daemon_name
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+
+ stat_busy "Daemon $NFSD_DAEMON_NAME running"
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+
+ stat_busy "Daemon $MOUNTD_DAEMON_NAME running"
+ PID=$(get_pid $MOUNTD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+
+ if [ "$NEED_SVCGSSD" = yes ]; then
+ stat_busy "Daemon $SVCGSSD_DAEMON_NAME running"
+ PID=$(get_pid $SVCGSSD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+ echo
+ ;;
+
+ reload)
+ rc=0
+ stat_busy "Re-exporting all directories"
+ $EXPORTFS -r
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|status|reload|restart}"
+esac
+exit 0
diff --git a/testing/nfs-utils/nfs-server.conf b/testing/nfs-utils/nfs-server.conf
new file mode 100644
index 000000000..581e26350
--- /dev/null
+++ b/testing/nfs-utils/nfs-server.conf
@@ -0,0 +1,29 @@
+# Parameters to be passed to nfs-server init script.
+#
+
+# Options to pass to rpc.nfsd.
+# See rpc.nfsd(8) for more details.
+NFSD_OPTS=""
+
+# Number of servers to start up; the default is 8 servers.
+NFSD_COUNT=""
+
+# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
+PROCNFSD_MOUNTPOINT=""
+
+# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
+PROCNFSD_MOUNTOPTS=""
+
+# Options for rpc.mountd.
+# If you have a port-based firewall, you might want to set up
+# a fixed port here using the --port option.
+# See rpc.mountd(8) for more details.
+MOUNTD_OPTS=""
+
+# Do you want to start the svcgssd daemon? It is only required for Kerberos
+# exports. Valid alternatives are "yes" and "no"; the default is "no".
+NEED_SVCGSSD=""
+
+# Options to pass to rpc.svcgssd.
+# See rpc.svcgssd(8) for more details.
+SVCGSSD_OPTS=""
diff --git a/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
new file mode 100644
index 000000000..c9e60afc7
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
@@ -0,0 +1,39 @@
+ripped from Debian
+
+--- nfs-utils-1.1.4/utils/mount/fstab.c
++++ nfs-utils-1.1.4/utils/mount/fstab.c
+@@ -57,7 +57,7 @@ mtab_does_not_exist(void) {
+ return var_mtab_does_not_exist;
+ }
+
+-static int
++int
+ mtab_is_a_symlink(void) {
+ get_mtab_info();
+ return var_mtab_is_a_symlink;
+--- nfs-utils-1.1.4/utils/mount/fstab.h
++++ nfs-utils-1.1.4/utils/mount/fstab.h
+@@ -7,6 +7,7 @@
+ #define _PATH_FSTAB "/etc/fstab"
+ #endif
+
++int mtab_is_a_symlink(void);
+ int mtab_is_writable(void);
+ int mtab_does_not_exist(void);
+ void reset_mtab_info(void);
+--- nfs-utils-1.1.4/utils/mount/mount.c
++++ nfs-utils-1.1.4/utils/mount/mount.c
+@@ -230,6 +230,13 @@ create_mtab (void) {
+ int flags;
+ mntFILE *mfp;
+
++ /* Avoid writing if the mtab is a symlink to /proc/mounts, since
++ that would create a file /proc/mounts in case the proc filesystem
++ is not mounted, and the fchmod below would also fail. */
++ if (mtab_is_a_symlink()) {
++ return EX_SUCCESS;
++ }
++
+ lock_mtab();
+
+ mfp = nfs_setmntent (MOUNTED, "a+");
diff --git a/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch
new file mode 100644
index 000000000..ea50a21d8
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch
@@ -0,0 +1,15 @@
+ripped from Debian
+
+--- nfs-utils-1.1.2/utils/mount/mount.c
++++ nfs-utils-1.1.2/utils/mount/mount.c
+@@ -381,10 +381,6 @@
+ mount_error(NULL, mount_point, ENOTDIR);
+ return 1;
+ }
+- if (access(mount_point, X_OK) < 0) {
+- mount_error(NULL, mount_point, errno);
+- return 1;
+- }
+
+ return 0;
+ }
diff --git a/testing/nfs-utils/nfs-utils.conf b/testing/nfs-utils/nfs-utils.conf
new file mode 100644
index 000000000..33c97b838
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils.conf
@@ -0,0 +1 @@
+nfs
diff --git a/testing/nfs-utils/nfs-utils.install b/testing/nfs-utils/nfs-utils.install
new file mode 100644
index 000000000..7dcdf9575
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils.install
@@ -0,0 +1,32 @@
+## arg 1: the new package version
+post_install() {
+cat << 'EOM'
+ ==> PLEASE NOTE:
+ ==> Extended configuration options for NFS (clients & server) are available in
+ ==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf
+ ==>
+ ==> Please refer to http://wiki.archlinux.org/index.php/Nfs
+ ==> for further information on NFS; for NFSv4, refer to
+ ==> http://wiki.archlinux.org/index.php/NFSv4
+EOM
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 1.2.0-2)" -lt 0 ]; then
+cat << 'EOM'
+ ==> IMPORTANT NFS UTILS CHANGES:
+ ==> This is a rather important upgrade, you are going to have to change config files.
+ ==> /etc/rc.conf daemons changes:
+ ==> Change portmap to rpcbind
+ ==> Change nfslock to nfs-common
+ ==> Change nfsd to nfs-server
+ ==>
+ ==> Extended configuration options for NFS (clients & server) are available in:
+ ==> /etc/conf.d/nfs-common
+ ==> /etc/conf.d/nfs-server
+ ==> Please change them to your needs.
+EOM
+ fi
+}
diff --git a/testing/nfs-utils/nfsd.service b/testing/nfs-utils/nfsd.service
new file mode 100644
index 000000000..e5481c3d1
--- /dev/null
+++ b/testing/nfs-utils/nfsd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=NFS server
+After=rpcbind.service
+Requires=rpcbind.service
+
+[Service]
+Type=oneshot
+EnvironmentFile=/etc/conf.d/nfs-server.conf
+ExecStart=/usr/sbin/rpc.nfsd $NFSD_OPTS $NFSD_COUNT
+ExecStartPost=/usr/sbin/exportfs -a
+ExecStop=/usr/sbin/rpc.nfsd 0
+ExecStopPost=/usr/sbin/exportfs -a -u
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/proc-fs-nfsd.mount b/testing/nfs-utils/proc-fs-nfsd.mount
new file mode 100644
index 000000000..f8664a8be
--- /dev/null
+++ b/testing/nfs-utils/proc-fs-nfsd.mount
@@ -0,0 +1,8 @@
+[Unit]
+Description=RPC Pipe File System
+DefaultDependencies=no
+
+[Mount]
+What=sunrpc
+Where=/proc/fs/nfsd
+Type=rpc_pipefs
diff --git a/testing/nfs-utils/rpc-gssd.service b/testing/nfs-utils/rpc-gssd.service
new file mode 100644
index 000000000..446864d18
--- /dev/null
+++ b/testing/nfs-utils/rpc-gssd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=RPC GSS-API client-side daemon
+After=rpcbind.service var-lib-nfs-rpc_pipefs.mount
+Requires=rpcbind.service var-lib-nfs-rpc_pipefs.mount
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-common.conf
+ExecStart=/usr/sbin/rpc.gssd $GSSD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/rpc-idmapd.service b/testing/nfs-utils/rpc-idmapd.service
new file mode 100644
index 000000000..72cd26a93
--- /dev/null
+++ b/testing/nfs-utils/rpc-idmapd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=NFSv4 ID-name mapping daemon
+After=var-lib-nfs-rpc_pipefs.mount nfsd.service
+Requires=var-lib-nfs-rpc_pipefs.mount
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-common.conf
+ExecStart=/usr/sbin/rpc.idmapd $IDMAPD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/rpc-mountd.service b/testing/nfs-utils/rpc-mountd.service
new file mode 100644
index 000000000..edd8c851d
--- /dev/null
+++ b/testing/nfs-utils/rpc-mountd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=NFS Mount Daemon
+After=rpcbind.service nfsd.service
+Requires=rpcbind.service nfsd.service
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-server.conf
+ExecStart=/usr/sbin/rpc.mountd $MOUNTD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/rpc-statd.service b/testing/nfs-utils/rpc-statd.service
new file mode 100644
index 000000000..983b4044f
--- /dev/null
+++ b/testing/nfs-utils/rpc-statd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=NFSv2/3 Network Status Monitor Daemon
+After=rpcbind.service
+Requires=rpcbind.service
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-common.conf
+ExecStart=/usr/sbin/rpc.statd $STATD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/rpc-svcgssd.service b/testing/nfs-utils/rpc-svcgssd.service
new file mode 100644
index 000000000..8152e8338
--- /dev/null
+++ b/testing/nfs-utils/rpc-svcgssd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=RPC GSS-API server-side daemon
+After=rpcbind.service
+Requires=rpcbind.service
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-server.conf
+ExecStart=/usr/sbin/rpc.svcgssd $SVCGSSD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/start-statd.patch b/testing/nfs-utils/start-statd.patch
new file mode 100644
index 000000000..5d73b6e35
--- /dev/null
+++ b/testing/nfs-utils/start-statd.patch
@@ -0,0 +1,22 @@
+--- utils/statd/start-statd 2007-05-11 04:40:57.000000000 +0100
++++ utils/statd/start-statd.new 2007-09-21 17:11:34.000000000 +0100
+@@ -1,9 +1,16 @@
+-#!/bin/bash -p
++#!/bin/sh
++
++# Original script provided by the NFS project
++# Modified for Arch Linux by Tom Killian
++
+ # nfsmount calls this script when mounting a filesystem with locking
+ # enabled, but when statd does not seem to be running (based on
+ # /var/run/rpc.statd.pid).
+ # It should run statd with whatever flags are apropriate for this
+ # site.
+-PATH=/sbin:/usr/sbin
+-exec rpc.statd --no-notify
++
++# source application-specific settings
++[ -f /etc/conf.d/nfs-common.conf ] && . /etc/conf.d/nfs-common.conf
++
++exec /usr/sbin/rpc.statd $STATD_OPTS
+
diff --git a/testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount b/testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount
new file mode 100644
index 000000000..4bd440f24
--- /dev/null
+++ b/testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount
@@ -0,0 +1,7 @@
+[Unit]
+Description=RPC pipe filesystem
+
+[Mount]
+What=rpc_pipefs
+Where=/var/lib/nfs/rpc_pipefs
+Type=rpc_pipefs