summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community-staging/perl-xml-libxslt/PKGBUILD30
-rw-r--r--community/aircrack-ng/ChangeLog4
-rw-r--r--community/aircrack-ng/PKGBUILD19
-rw-r--r--community/clementine/PKGBUILD4
-rw-r--r--community/collectd/PKGBUILD4
-rw-r--r--community/dante/PKGBUILD12
-rw-r--r--community/distcc/PKGBUILD4
-rw-r--r--community/ekg2/PKGBUILD4
-rw-r--r--community/flightgear/PKGBUILD14
-rw-r--r--community/freeradius/PKGBUILD4
-rw-r--r--community/freewrl/PKGBUILD20
-rw-r--r--community/gtk2hs-buildtools/PKGBUILD4
-rw-r--r--community/gtk2hs-cairo/PKGBUILD12
-rw-r--r--community/gtk2hs-glib/PKGBUILD12
-rw-r--r--community/gtk2hs-gtk/PKGBUILD12
-rw-r--r--community/gtk2hs-pango/PKGBUILD12
-rw-r--r--community/haskell-dbus/PKGBUILD6
-rw-r--r--community/haskell-hslogger/PKGBUILD13
-rw-r--r--community/kvirc/PKGBUILD8
-rw-r--r--community/luxrender/PKGBUILD20
-rw-r--r--community/mplayer2/PKGBUILD6
-rw-r--r--community/mupen64plus/PKGBUILD6
-rw-r--r--community/openscenegraph/PKGBUILD12
-rw-r--r--community/perl-berkeleydb/PKGBUILD4
-rw-r--r--community/perl-class-data-inheritable/PKGBUILD2
-rw-r--r--community/perl-class-factory-util/PKGBUILD2
-rw-r--r--community/perl-class-methodmaker/PKGBUILD10
-rw-r--r--community/perl-clone/PKGBUILD2
-rw-r--r--community/perl-crypt-blowfish/PKGBUILD4
-rw-r--r--community/perl-crypt-des/PKGBUILD2
-rw-r--r--community/perl-crypt-openssl-bignum/PKGBUILD4
-rw-r--r--community/perl-crypt-openssl-random/PKGBUILD4
-rw-r--r--community/perl-crypt-openssl-rsa/PKGBUILD4
-rw-r--r--community/perl-curses/PKGBUILD4
-rw-r--r--community/perl-data-structure-util/PKGBUILD4
-rw-r--r--community/perl-datetime-format-builder/PKGBUILD2
-rw-r--r--community/perl-datetime-format-mail/PKGBUILD13
-rw-r--r--community/perl-datetime/PKGBUILD4
-rw-r--r--community/perl-dbd-odbc/PKGBUILD28
-rw-r--r--community/perl-dbd-pg/PKGBUILD26
-rw-r--r--community/perl-dbd-sqlite2/PKGBUILD23
-rw-r--r--community/perl-dbd-sybase/PKGBUILD27
-rw-r--r--community/perl-digest-md5/PKGBUILD4
-rw-r--r--community/perl-fuse/PKGBUILD5
-rw-r--r--community/perl-gd/PKGBUILD15
-rw-r--r--community/perl-gnome2-wnck/PKGBUILD23
-rw-r--r--community/perl-gssapi/PKGBUILD21
-rw-r--r--community/perl-gstreamer-interfaces/PKGBUILD25
-rw-r--r--community/perl-gstreamer/PKGBUILD26
-rw-r--r--community/perl-gtk2-mozembed/PKGBUILD18
-rw-r--r--community/perl-gtk2-sexy/PKGBUILD20
-rw-r--r--community/perl-gtk2-trayicon/PKGBUILD27
-rw-r--r--community/perl-gtk2-webkit/PKGBUILD28
-rw-r--r--community/perl-html-strip/PKGBUILD8
-rw-r--r--community/perl-inline-java/PKGBUILD10
-rw-r--r--community/perl-io-tty/PKGBUILD15
-rw-r--r--community/perl-json-xs/PKGBUILD13
-rw-r--r--community/perl-libapreq2/PKGBUILD9
-rw-r--r--community/perl-linux-pid/PKGBUILD44
-rw-r--r--community/perl-list-moreutils/PKGBUILD2
-rw-r--r--community/perl-mail-box-parser-c/PKGBUILD23
-rw-r--r--community/perl-mail-transport-dbx/PKGBUILD23
-rw-r--r--community/perl-net-dbus/PKGBUILD22
-rw-r--r--community/perl-net-libidn/PKGBUILD23
-rw-r--r--community/perl-params-validate/PKGBUILD20
-rw-r--r--community/perl-string-crc32/PKGBUILD23
-rw-r--r--community/perl-text-charwidth/PKGBUILD23
-rw-r--r--community/perl-text-kakasi/PKGBUILD24
-rw-r--r--community/perl-tie-hash-indexed/PKGBUILD22
-rw-r--r--community/perl-tk-tablematrix/PKGBUILD24
-rw-r--r--community/perl-www-curl/PKGBUILD27
-rw-r--r--community/perl-xml-libxml/PKGBUILD14
-rw-r--r--community/perl-xml-libxslt/PKGBUILD12
-rw-r--r--community/perl-xmms/PKGBUILD4
-rw-r--r--community/pork/PKGBUILD15
-rw-r--r--community/python-gnutls/PKGBUILD8
-rw-r--r--community/qtfm/PKGBUILD4
-rw-r--r--community/root/PKGBUILD9
-rw-r--r--community/simgear/PKGBUILD10
-rw-r--r--community/sysstat/PKGBUILD15
-rw-r--r--community/tea/PKGBUILD10
-rw-r--r--community/virtualbox/PKGBUILD10
-rw-r--r--community/wml/PKGBUILD18
-rw-r--r--community/znc/PKGBUILD27
-rw-r--r--core/binutils/PKGBUILD22
-rw-r--r--core/gcc/PKGBUILD28
-rw-r--r--core/idnkit/PKGBUILD2
-rw-r--r--core/libtool/PKGBUILD10
-rw-r--r--core/libtool/libtool.install4
-rw-r--r--core/lvm2/PKGBUILD2
-rw-r--r--core/mkinitcpio-busybox/PKGBUILD13
-rw-r--r--core/module-init-tools/PKGBUILD26
-rw-r--r--core/module-init-tools/docfix.patch90
-rw-r--r--core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch83
-rw-r--r--core/perl/ChangeLog16
-rw-r--r--core/perl/PKGBUILD151
-rw-r--r--core/perl/perlbin.csh17
-rwxr-xr-xcore/perl/perlbin.sh15
-rw-r--r--core/readline/PKGBUILD6
-rw-r--r--core/readline/readline.install6
-rw-r--r--core/xfsprogs/PKGBUILD1
-rw-r--r--extra/amarok/PKGBUILD4
-rw-r--r--extra/botan/PKGBUILD11
-rw-r--r--extra/cairo-perl/PKGBUILD11
-rw-r--r--extra/claws-mail-extra-plugins/PKGBUILD4
-rw-r--r--extra/cpufrequtils/PKGBUILD18
-rw-r--r--extra/cpufrequtils/cpufrequtils-mips.patch18
-rw-r--r--extra/cups/PKGBUILD10
-rw-r--r--extra/curl/PKGBUILD2
-rw-r--r--extra/dvdrip/PKGBUILD15
-rw-r--r--extra/dvdrip/dvdrip.install12
-rw-r--r--extra/evince/PKGBUILD3
-rw-r--r--extra/evolution-data-server/PKGBUILD2
-rw-r--r--extra/ffcall/PKGBUILD3
-rw-r--r--extra/ffmpeg/PKGBUILD4
-rw-r--r--extra/ffmpeg/ffmpeg-loongson.patch1794
-rw-r--r--extra/frozen-bubble/PKGBUILD21
-rw-r--r--extra/gconf-perl/PKGBUILD15
-rw-r--r--extra/gdk-pixbuf2/PKGBUILD6
-rw-r--r--extra/git/PKGBUILD16
-rw-r--r--extra/glade-perl/PKGBUILD4
-rw-r--r--extra/glib-perl/PKGBUILD10
-rw-r--r--extra/gmime/PKGBUILD2
-rw-r--r--extra/gnome-perl/PKGBUILD4
-rw-r--r--extra/gnome-vfs-perl/PKGBUILD4
-rw-r--r--extra/gnomecanvas-perl/PKGBUILD4
-rw-r--r--extra/gnumeric/PKGBUILD4
-rw-r--r--extra/gptfdisk/PKGBUILD12
-rw-r--r--extra/graphviz/PKGBUILD4
-rw-r--r--extra/gstreamer0.10-good/PKGBUILD4
-rw-r--r--extra/gtk2-perl/PKGBUILD4
-rw-r--r--extra/imagemagick/PKGBUILD10
-rw-r--r--extra/irssi/PKGBUILD4
-rw-r--r--extra/jack/PKGBUILD12
-rw-r--r--extra/jack/jack.changelog2
-rw-r--r--extra/kdegraphics/PKGBUILD6
-rw-r--r--extra/koffice/PKGBUILD12
-rw-r--r--extra/krusader/PKGBUILD13
-rw-r--r--extra/lftp/PKGBUILD6
-rw-r--r--extra/libdbusmenu-qt/PKGBUILD6
-rw-r--r--extra/libmtp/PKGBUILD10
-rw-r--r--extra/libpeas/PKGBUILD2
-rw-r--r--extra/libproxy/PKGBUILD2
-rw-r--r--extra/libreoffice/0001-fix-configure-without-the-optional-translations-modu.patch31
-rw-r--r--extra/libreoffice/PKGBUILD76
-rw-r--r--extra/libvorbis/PKGBUILD8
-rw-r--r--extra/mediastreamer/PKGBUILD33
-rw-r--r--extra/mediastreamer/disable-v4l1.patch50
-rw-r--r--extra/mod_perl/PKGBUILD8
-rw-r--r--extra/neon/PKGBUILD7
-rw-r--r--extra/net-snmp/PKGBUILD7
-rw-r--r--extra/pango-perl/PKGBUILD4
-rw-r--r--extra/perl-alien-sdl/PKGBUILD6
-rw-r--r--extra/perl-bit-vector/PKGBUILD4
-rw-r--r--extra/perl-compress-bzip2/PKGBUILD6
-rw-r--r--extra/perl-crypt-ssleay/PKGBUILD4
-rw-r--r--extra/perl-dbd-mysql/PKGBUILD27
-rw-r--r--extra/perl-dbd-sqlite/PKGBUILD5
-rw-r--r--extra/perl-dbi/PKGBUILD4
-rw-r--r--extra/perl-digest-nilsimsa/PKGBUILD4
-rw-r--r--extra/perl-digest-sha1/PKGBUILD4
-rw-r--r--extra/perl-event/PKGBUILD10
-rw-r--r--extra/perl-fcgi/PKGBUILD18
-rw-r--r--extra/perl-html-parser/PKGBUILD4
-rw-r--r--extra/perl-libintl-perl/PKGBUILD4
-rw-r--r--extra/perl-locale-gettext/PKGBUILD4
-rw-r--r--extra/perl-net-dns/PKGBUILD4
-rw-r--r--extra/perl-net-ssleay/PKGBUILD4
-rw-r--r--extra/perl-net-upnp/PKGBUILD4
-rw-r--r--extra/perl-netaddr-ip/PKGBUILD4
-rw-r--r--extra/perl-sdl/PKGBUILD23
-rw-r--r--extra/perl-template-toolkit/PKGBUILD2
-rw-r--r--extra/perl-term-readkey/PKGBUILD4
-rw-r--r--extra/perl-text-iconv/PKGBUILD4
-rw-r--r--extra/perl-time-hires/PKGBUILD4
-rw-r--r--extra/perl-tk/PKGBUILD11
-rw-r--r--extra/perl-unicode-string/PKGBUILD4
-rw-r--r--extra/perl-xml-parser/PKGBUILD10
-rw-r--r--extra/perl-yaml-syck/PKGBUILD4
-rw-r--r--extra/pidgin/PKGBUILD4
-rw-r--r--extra/pixman/PKGBUILD10
-rw-r--r--extra/pixman/pixman-loongson2f.patch2745
-rw-r--r--extra/postgresql/PKGBUILD14
-rw-r--r--extra/postgresql/perl-5.14-fix.patch25
-rw-r--r--extra/pygobject/PKGBUILD7
-rw-r--r--extra/pygobject/fix-pycairo-capi-declaration.patch17
-rw-r--r--extra/razor/PKGBUILD17
-rw-r--r--extra/rdesktop/PKGBUILD12
-rw-r--r--extra/rdesktop/rdesktop-libao.patch20
-rw-r--r--extra/rhythmbox/PKGBUILD4
-rw-r--r--extra/rxvt-unicode/ChangeLog3
-rw-r--r--extra/rxvt-unicode/PKGBUILD4
-rw-r--r--extra/spamassassin/PKGBUILD29
-rw-r--r--extra/subversion/PKGBUILD9
-rw-r--r--extra/swt/PKGBUILD67
-rw-r--r--extra/totem/PKGBUILD4
-rw-r--r--extra/valgrind/PKGBUILD45
-rw-r--r--extra/vim/PKGBUILD6
-rw-r--r--extra/vlc/PKGBUILD14
-rw-r--r--extra/vlc/vlc-1.1.10-libavformat.patch29
-rw-r--r--extra/weechat/PKGBUILD4
-rw-r--r--extra/x264/PKGBUILD4
-rw-r--r--extra/xorg-iceauth/PKGBUILD2
-rw-r--r--extra/xulrunner/PKGBUILD25
-rw-r--r--extra/zziplib/PKGBUILD2
-rw-r--r--libre/ffmpeg-libre/PKGBUILD6
-rw-r--r--libre/icecat/PKGBUILD3
-rw-r--r--libre/kernel26-libre/PKGBUILD87
-rw-r--r--libre/libretools/PKGBUILD2
-rw-r--r--staging/apr-util/PKGBUILD28
-rw-r--r--staging/evolution-data-server/PKGBUILD29
-rw-r--r--staging/evolution-exchange/PKGBUILD33
-rw-r--r--staging/evolution-exchange/evolution-exchange.install17
-rw-r--r--staging/mod_perl/PKGBUILD27
-rw-r--r--staging/subversion/PKGBUILD98
-rw-r--r--staging/subversion/subversion.rpath.fix.patch10
-rw-r--r--staging/subversion/subversion.suppress.deprecation.warnings.patch22
-rw-r--r--staging/subversion/svn11
-rw-r--r--staging/subversion/svnmerge.py2370
-rwxr-xr-xstaging/subversion/svnserve42
-rw-r--r--staging/subversion/svnserve.conf7
-rw-r--r--testing/binutils/PKGBUILD14
-rw-r--r--testing/cronie/PKGBUILD12
-rw-r--r--testing/imagemagick/PKGBUILD81
-rw-r--r--testing/llvm/PKGBUILD231
-rw-r--r--testing/llvm/bug-9869-operator-h-c++0x.patch57
-rw-r--r--testing/llvm/cindexer-clang-path.patch10
-rw-r--r--testing/llvm/clang-plugin-loader-registry.patch11
-rw-r--r--testing/llvm/clang-pure64.patch38
-rw-r--r--testing/llvm/clang-toolchains-gcc-versions.patch12
-rw-r--r--testing/llvm/enable-lto.patch36
-rw-r--r--testing/pidgin/PKGBUILD110
-rw-r--r--testing/readline/PKGBUILD61
-rw-r--r--testing/readline/inputrc36
-rw-r--r--testing/readline/readline.install17
-rw-r--r--testing/spamassassin/PKGBUILD54
-rw-r--r--testing/sqlite3/PKGBUILD75
-rw-r--r--testing/sqlite3/license.txt33
-rw-r--r--testing/syslog-ng/PKGBUILD65
-rw-r--r--testing/syslog-ng/cap_syslog.patch101
-rw-r--r--testing/syslog-ng/non-blocking-systemd-fds.patch32
-rw-r--r--testing/syslog-ng/syslog-ng.conf92
-rw-r--r--testing/syslog-ng/syslog-ng.logrotate7
-rwxr-xr-xtesting/syslog-ng/syslog-ng.rc63
244 files changed, 10020 insertions, 1288 deletions
diff --git a/community-staging/perl-xml-libxslt/PKGBUILD b/community-staging/perl-xml-libxslt/PKGBUILD
new file mode 100644
index 000000000..708898b9e
--- /dev/null
+++ b/community-staging/perl-xml-libxslt/PKGBUILD
@@ -0,0 +1,30 @@
+# Id:$
+# Maintainer: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-xml-libxslt
+pkgver=1.70
+pkgrel=6
+pkgdesc="Interface to the gnome libxslt library "
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/XML-LibXSLT"
+license=('GPL')
+depends=('perl-xml-libxml' 'libxslt')
+source=(http://www.cpan.org/authors/id/P/PA/PAJAS/XML-LibXSLT-$pkgver.tar.gz)
+md5sums=('c63a7913999de076e5c911810f69b392')
+
+build() {
+ cd $srcdir/XML-LibXSLT-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check () {
+ cd $srcdir/XML-LibXSLT-$pkgver
+ make test
+}
+
+package() {
+ cd $srcdir/XML-LibXSLT-$pkgver
+ make install DESTDIR=$pkgdir
+}
+
diff --git a/community/aircrack-ng/ChangeLog b/community/aircrack-ng/ChangeLog
index f65ab984b..a8feddaab 100644
--- a/community/aircrack-ng/ChangeLog
+++ b/community/aircrack-ng/ChangeLog
@@ -1,3 +1,7 @@
+2011-06-28 Brad Fanella
+
+ * Fix FS#24880
+
2011-06-15 Brad Fanella
* Fix FS#24633
diff --git a/community/aircrack-ng/PKGBUILD b/community/aircrack-ng/PKGBUILD
index 8c08b7a8a..27f257e5c 100644
--- a/community/aircrack-ng/PKGBUILD
+++ b/community/aircrack-ng/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 49442 2011-06-16 05:26:13Z bfanella $
+# $Id: PKGBUILD 50616 2011-06-29 02:16:27Z bfanella $
# Maintainer: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Daenyth <Daenyth+Arch [at] gmail [dot] com>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
@@ -7,19 +7,17 @@
pkgbase=aircrack-ng
pkgname=(aircrack-ng aircrack-ng-scripts)
pkgver=1.1
-pkgrel=6
+pkgrel=7
arch=('i686' 'x86_64')
url="http://www.aircrack-ng.org"
license=('GPL2')
source=("http://download.aircrack-ng.org/${pkgname}-${pkgver}.tar.gz")
md5sums=('f7a24ed8fad122c4187d06bfd6f998b4')
-depends=('openssl' 'sqlite3' 'iw')
-
+depends=('openssl' 'sqlite3' 'iw' 'net-tools')
build() {
cd ${srcdir}/${pkgbase}-${pkgver}
make SQLITE=true unstable=true
-
}
package_aircrack-ng() {
@@ -31,18 +29,16 @@ package_aircrack-ng() {
### Remove installed scripts/corresponding man pages (installed in aircrack-ng-scripts) ###
# Scripts
- rm ${pkgdir}/usr/sbin/airmon-ng
rm ${pkgdir}/usr/sbin/airdriver-ng
rm ${pkgdir}/usr/sbin/airodump-ng-oui-update
# Man pages
mkdir -p ${srcdir}/tmp/
- mv ${pkgdir}/usr/share/man/man1/airmon-ng.1 ${srcdir}/tmp/
mv ${pkgdir}/usr/share/man/man1/airdriver-ng.1 ${srcdir}/tmp/
}
package_aircrack-ng-scripts() {
pkgdesc="Included scripts for a key cracker for the 802.11 WEP and WPA-PSK protocols"
- depends=('python2' 'graphviz' 'pylorcon' 'net-tools')
+ depends=('python2' 'graphviz' 'pylorcon')
cd ${srcdir}/aircrack-ng-${pkgver}/scripts
mkdir -p ${pkgdir}/usr/share/man/man1/ \
@@ -86,13 +82,6 @@ package_aircrack-ng-scripts() {
sed s/python/python2/ -i airgraph-ng/dump-join.py
install -Dm644 airgraph-ng/dump-join.py ${pkgdir}/usr/sbin/dump-join.py
chmod +x ${pkgdir}/usr/sbin/dump-join.py
-
- ### AIRMON-NG ###
- # Man page
- mv ${srcdir}/tmp/airmon-ng.1 ${pkgdir}/usr/share/man/man1/
- # Script
- install -Dm644 airmon-ng ${pkgdir}/usr/sbin/
- chmod +x ${pkgdir}/usr/sbin/airmon-ng
### AIRODUMP-NG-OUI-UPDATE ###
# Script
diff --git a/community/clementine/PKGBUILD b/community/clementine/PKGBUILD
index c53ec3d23..c1f015aa3 100644
--- a/community/clementine/PKGBUILD
+++ b/community/clementine/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 48537 2011-06-01 16:56:54Z stephane $
+# $Id: PKGBUILD 49329 2011-06-14 11:51:15Z stephane $
#Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
#Contributor: BlackEagle < ike DOT devolder AT gmail DOT com >
#Contributor: Dany Martineau <dany.luc.martineau@gmail.com>
pkgname=clementine
pkgver=0.7.1
-pkgrel=5
+pkgrel=6
pkgdesc="A music player and library organizer"
url="http://www.clementine-player.org/"
license=('GPL')
diff --git a/community/collectd/PKGBUILD b/community/collectd/PKGBUILD
index 13e30b18f..e320b2c6b 100644
--- a/community/collectd/PKGBUILD
+++ b/community/collectd/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 49776 2011-06-21 04:55:41Z foutrelis $
+# $Id: PKGBUILD 49792 2011-06-21 05:03:51Z foutrelis $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Gerhard Brauer <gerhard.brauer@web.de>
pkgname=collectd
pkgver=5.0.0
-pkgrel=5
+pkgrel=6
pkgdesc='Daemon which collects system performance statistics periodically'
arch=('i686' 'x86_64' 'mips64el')
url='http://collectd.org/'
diff --git a/community/dante/PKGBUILD b/community/dante/PKGBUILD
index 2d5ec3718..aed04d82a 100644
--- a/community/dante/PKGBUILD
+++ b/community/dante/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 42958 2011-03-22 21:15:35Z spupykin $
+# $Id: PKGBUILD 50232 2011-06-27 10:23:04Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Guillem Rieu <guillemr@gmx.net>
pkgname=dante
-pkgver=1.2.3
+pkgver=1.3.1
pkgrel=1
pkgdesc="SOCKS v4 and v5 compatible proxy server and client"
url="http://www.inet.no/dante"
@@ -12,10 +12,10 @@ license=('custom')
depends=('tcp_wrappers' 'pam')
backup=('etc/socks.conf'
'etc/sockd.conf')
-options=(!libtool)
+options=('!libtool')
source=(ftp://ftp.inet.no/pub/socks/${pkgname}-${pkgver}.tar.gz
sockd.rc)
-md5sums=('b2874e53f5d8fe418cd40cb829536669'
+md5sums=('19b8a15860ce6b9e96453ddd7f1cbfe2'
'5110dfd78a2b38fff27a886ee88b58a6')
build() {
@@ -23,6 +23,10 @@ build() {
[ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr --sysconfdir=/etc
make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
# Config files
diff --git a/community/distcc/PKGBUILD b/community/distcc/PKGBUILD
index 8023fb7eb..84006587b 100644
--- a/community/distcc/PKGBUILD
+++ b/community/distcc/PKGBUILD
@@ -4,13 +4,13 @@
pkgname=distcc
pkgver=3.1
-pkgrel=4.1
+pkgrel=5
pkgdesc="A distributed C, C++, Obj C compiler"
arch=('i686' 'x86_64' 'mips64el')
url="http://code.google.com/p/distcc/"
license=('GPL')
depends=('gcc' 'popt')
-makedepends=('gtk2' 'pkgconfig')
+makedepends=('pkgconfig' 'python2')
optdepends=('gtk2: for distccmon-gnome')
backup=(etc/conf.d/distccd)
source=(http://distcc.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2
diff --git a/community/ekg2/PKGBUILD b/community/ekg2/PKGBUILD
index 2a73ed8ee..99ec94c1b 100644
--- a/community/ekg2/PKGBUILD
+++ b/community/ekg2/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 39770 2011-02-16 12:06:58Z mherych $
+# $Id: PKGBUILD 47741 2011-05-25 05:00:38Z svenstaro $
# Maintainer: Mateusz Herych <heniekk@gmail.com>
pkgname=ekg2
pkgver=0.3.0
-pkgrel=1
+pkgrel=2
pkgdesc="ncurses based Jabber, Gadu-Gadu, Tlen and IRC client"
arch=('i686' 'x86_64' 'mips64el')
url="http://ekg2.org/"
diff --git a/community/flightgear/PKGBUILD b/community/flightgear/PKGBUILD
index 15f14e98e..bfdb31285 100644
--- a/community/flightgear/PKGBUILD
+++ b/community/flightgear/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 15899 2010-04-17 20:43:27Z spupykin $
+# $Id: PKGBUILD 50330 2011-06-28 12:02:03Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: William Rea <sillywilly@gmail.com>
# Contributor: Hans Janssen <hans@janserv.xs4all.nl>
pkgname=flightgear
pkgver=2.0.0
-pkgrel=2
+pkgrel=3
pkgdesc="An open-source, multi-platform flight simulator"
arch=(i686 x86_64 'mips64el')
depends=('simgear' 'libxmu' 'libxi' 'zlib' 'flightgear-data' 'openscenegraph' 'subversion')
@@ -13,14 +13,18 @@ makedepends=('boost')
license=("GPL")
url="http://www.flightgear.org"
options=('!makeflags')
-source=(ftp://ftp.ibiblio.org/pub/mirrors/flightgear/ftp/Source/FlightGear-$pkgver.tar.gz)
+#source=(ftp://ftp.ibiblio.org/pub/mirrors/flightgear/ftp/Source/FlightGear-$pkgver.tar.gz)
+source=(http://ftp.linux.kiev.ua/pub/fgfs/Source/FlightGear-$pkgver.tar.gz)
md5sums=('549aa45171480082f5b6e5e8d5ce8930')
build() {
cd $startdir/src/FlightGear-$pkgver
-
[ $NOEXTRACT -eq 1 ] || find -name \*.c\* -exec sed -i '1,2i#include <stdio.h>' {} \;
[ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr
- make || return 1
+ make
+}
+
+package() {
+ cd $startdir/src/FlightGear-$pkgver
make DESTDIR=$startdir/pkg install
}
diff --git a/community/freeradius/PKGBUILD b/community/freeradius/PKGBUILD
index ebcdb045d..bd2c102c0 100644
--- a/community/freeradius/PKGBUILD
+++ b/community/freeradius/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 45793 2011-04-29 10:36:54Z spupykin $
+# $Id: PKGBUILD 47452 2011-05-23 15:07:24Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jason R Begley (jayray@digitalgoat.com>
pkgname=freeradius
pkgver=2.1.10
-pkgrel=6
+pkgrel=7
pkgdesc="The premier open source RADIUS server"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.freeradius.org/"
diff --git a/community/freewrl/PKGBUILD b/community/freewrl/PKGBUILD
index 64c134ddb..04a93ff55 100644
--- a/community/freewrl/PKGBUILD
+++ b/community/freewrl/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 41793 2011-03-08 22:30:52Z spupykin $
+# $Id: PKGBUILD 50322 2011-06-28 10:28:21Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=freewrl
pkgver=1.22.10
-pkgrel=3
+pkgrel=5
pkgdesc="VRML viewer"
arch=('i686' 'x86_64' 'mips64el')
url="http://freewrl.sourceforge.net/"
license=('GPL')
-depends=('java-runtime' 'libxaw' 'glew' 'freeglut' 'xulrunner' 'curl' 'freetype2'
- 'imlib2' 'sox' 'unzip' 'imagemagick' 'libxml2' 'ttf-bitstream-vera' 'lesstif')
-makedepends=('java-environment' 'xulrunner')
+depends=('java-runtime' 'libxaw' 'glew' 'freeglut' 'curl' 'freetype2' 'imlib2' 'sox'
+ 'unzip' 'imagemagick' 'libxml2' 'ttf-bitstream-vera' 'lesstif' 'spidermonkey')
+makedepends=('java-environment')
options=(!libtool)
source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
build-fix.patch)
@@ -22,9 +22,17 @@ build() {
. /etc/profile.d/openjdk6.sh
cd $srcdir/$pkgname-$pkgver
patch -p1 <$srcdir/build-fix.patch
+ export JAVASCRIPT_ENGINE_CFLAGS="-I/usr/include/js -DXP_UNIX -DJS_THREADSAFE $(pkg-config --cflags nspr)"
+ export JAVASCRIPT_ENGINE_LIBS="$(pkg-config --libs nspr) -ljs"
./configure \
--prefix=/usr --with-fontsdir=/usr/share/fonts/TTF --enable-libeai \
- --enable-libcurl --with-expat=/usr --with-target=motif
+ --enable-libcurl --with-expat=/usr --with-target=x11 --disable-plugin \
+ --disable-mozilla-js --disable-xulrunner-js --disable-firefox-js \
+ --disable-seamonkey-js
make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir install
}
diff --git a/community/gtk2hs-buildtools/PKGBUILD b/community/gtk2hs-buildtools/PKGBUILD
index d1562e87d..901d1a25b 100644
--- a/community/gtk2hs-buildtools/PKGBUILD
+++ b/community/gtk2hs-buildtools/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 42769 2011-03-20 18:36:16Z spupykin $
+# $Id: PKGBUILD 50208 2011-06-26 20:13:31Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=gtk2hs-buildtools
pkgver=0.12.0
-pkgrel=2
+pkgrel=3
pkgdesc="Tools to build the Gtk2Hs suite of User Interface libraries."
url="http://hackage.haskell.org/package/gtk2hs-buildtools"
license=('GPL2')
diff --git a/community/gtk2hs-cairo/PKGBUILD b/community/gtk2hs-cairo/PKGBUILD
index 196110c6e..cb3fc256b 100644
--- a/community/gtk2hs-cairo/PKGBUILD
+++ b/community/gtk2hs-cairo/PKGBUILD
@@ -1,14 +1,15 @@
-# $Id: PKGBUILD 41273 2011-03-04 22:51:09Z remy $
+# $Id: PKGBUILD 50211 2011-06-26 20:14:36Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
_hkgname=cairo
pkgname=gtk2hs-cairo
pkgver=0.12.0
-pkgrel=3.1
+pkgrel=4
pkgdesc="Binding to the cairo library for Gtk2Hs."
url="http://hackage.haskell.org/package/cairo"
license=('LGPL2.1')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc=7.0.2' 'cairo' 'haskell-mtl=2.0.1.0')
+arch=('i686' 'x86_64')
+depends=('ghc' 'cairo' 'haskell-mtl=2.0.1.0')
makedepends=(gtk2hs-buildtools)
options=('strip')
install=${pkgname}.install
@@ -28,6 +29,9 @@ build() {
}
package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" 'cairo' 'haskell-mtl=2.0.1.0')
+
cd ${srcdir}/${_hkgname}-${pkgver}
install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
diff --git a/community/gtk2hs-glib/PKGBUILD b/community/gtk2hs-glib/PKGBUILD
index e1d5d5c47..e15d65554 100644
--- a/community/gtk2hs-glib/PKGBUILD
+++ b/community/gtk2hs-glib/PKGBUILD
@@ -1,14 +1,15 @@
-# $Id: PKGBUILD 41258 2011-03-04 22:36:45Z remy $
+# $Id: PKGBUILD 50214 2011-06-26 20:15:38Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
_hkgname=glib
pkgname=gtk2hs-glib
pkgver=0.12.0
-pkgrel=2.1
+pkgrel=3
pkgdesc="Binding to the GLIB library for Gtk2Hs."
url="http://hackage.haskell.org/package/glib"
license=('LGPL2.1')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc=7.0.2' 'glib2')
+arch=('i686' 'x86_64')
+depends=('ghc' 'glib2')
makedepends=('gtk2hs-buildtools=0.12.0')
options=('strip')
install=gtk2hs-glib.install
@@ -28,6 +29,9 @@ build() {
}
package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" "glib2")
+
cd ${srcdir}/${_hkgname}-${pkgver}
install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
diff --git a/community/gtk2hs-gtk/PKGBUILD b/community/gtk2hs-gtk/PKGBUILD
index 5a4261709..0ce59b9b6 100644
--- a/community/gtk2hs-gtk/PKGBUILD
+++ b/community/gtk2hs-gtk/PKGBUILD
@@ -1,14 +1,15 @@
-# $Id: PKGBUILD 41300 2011-03-05 00:05:06Z remy $
+# $Id: PKGBUILD 50218 2011-06-26 20:25:06Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
_hkgname=gtk
pkgname=gtk2hs-gtk
pkgver=0.12.0
-pkgrel=3.1
+pkgrel=4
pkgdesc="Binding to the gtk library for Gtk2Hs."
url="http://hackage.haskell.org/package/gtk"
license=('LGPL2.1')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc=7.0.2' 'gtk2' 'gtk2hs-pango=0.12.0' 'haskell-mtl=2.0.1.0')
+arch=('i686' 'x86_64')
+depends=('ghc' 'gtk2' 'gtk2hs-pango=0.12.0' 'haskell-mtl=2.0.1.0')
makedepends=('gtk2hs-buildtools=0.12.0')
options=('strip')
install=gtk2hs-gtk.install
@@ -28,6 +29,9 @@ build() {
}
package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" 'gtk2' 'gtk2hs-pango=0.12.0' 'haskell-mtl=2.0.1.0')
+
cd ${srcdir}/${_hkgname}-${pkgver}
install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
diff --git a/community/gtk2hs-pango/PKGBUILD b/community/gtk2hs-pango/PKGBUILD
index 76bb1b244..603918954 100644
--- a/community/gtk2hs-pango/PKGBUILD
+++ b/community/gtk2hs-pango/PKGBUILD
@@ -1,14 +1,15 @@
-# $Id: PKGBUILD 41288 2011-03-04 23:27:16Z remy $
+# $Id: PKGBUILD 50217 2011-06-26 20:24:03Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
_hkgname=pango
pkgname=gtk2hs-pango
pkgver=0.12.0
-pkgrel=3.1
+pkgrel=4
pkgdesc="Binding to the pango library for Gtk2Hs."
url="http://hackage.haskell.org/package/pango"
license=('LGPL2.1')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc=7.0.2' 'pango' 'gtk2hs-glib' 'gtk2hs-cairo')
+arch=('i686' 'x86_64')
+depends=('ghc' 'pango' 'gtk2hs-glib' 'gtk2hs-cairo')
makedepends=('gtk2hs-buildtools=0.12.0')
options=('strip')
source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
@@ -28,6 +29,9 @@ build() {
}
package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" 'pango' 'gtk2hs-glib' 'gtk2hs-cairo')
+
cd ${srcdir}/${_hkgname}-${pkgver}
install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
diff --git a/community/haskell-dbus/PKGBUILD b/community/haskell-dbus/PKGBUILD
index 6d8e3fa1d..316df37f3 100644
--- a/community/haskell-dbus/PKGBUILD
+++ b/community/haskell-dbus/PKGBUILD
@@ -5,12 +5,12 @@
_hkgname=DBus
pkgname=haskell-dbus
pkgver=0.4
-pkgrel=3.1
+pkgrel=1
pkgdesc="DBus bindings"
url="http://hackage.haskell.org/package/DBus"
license=('custom:BSD3')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc=7.0.2' 'sh')
+arch=('i686' 'x86_64')
+depends=('ghc=7.0.3' 'sh')
options=('strip')
source=(http://hackage.haskell.org/packages/archive/DBus/0.4/DBus-0.4.tar.gz
dbus-0.4.patch)
diff --git a/community/haskell-hslogger/PKGBUILD b/community/haskell-hslogger/PKGBUILD
index d95b2c18c..040763b2d 100644
--- a/community/haskell-hslogger/PKGBUILD
+++ b/community/haskell-hslogger/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 46145 2011-05-04 08:33:47Z spupykin $
+# $Id: PKGBUILD 50273 2011-06-27 12:56:55Z vegai $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Arch Haskell Team <arch-haskell@haskell.org>
_hkgname=hslogger
pkgname=haskell-hslogger
pkgver=1.1.0
-pkgrel=4
+pkgrel=6
pkgdesc="Versatile logging framework"
url="http://hackage.haskell.org/package/${_hkgname}"
license=('LGPL')
-arch=('i686' 'x86_64' 'mips64el')
-depends=('ghc=7.0.2' 'haskell-mtl=2.0.1.0' 'haskell-network=2.3.0.2')
+arch=('i686' 'x86_64')
+depends=('ghc=7.0.3-2' 'haskell-mtl=2.0.1.0' 'haskell-network=2.3.0.2')
options=('strip')
install=${pkgname}.install
source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
@@ -18,7 +18,7 @@ md5sums=('8039e079338dae19e1273bbd73332014')
build() {
cd ${srcdir}/${_hkgname}-${pkgver}
- runhaskell Setup configure --prefix=/usr --docdir=/usr/share/doc/${pkgname} -O \
+ runhaskell Setup configure -p --prefix=/usr --docdir=/usr/share/doc/${pkgname} -O \
--enable-split-objs --enable-shared --libsubdir=\$compiler/site-local/\$pkgid \
--enable-library-profiling
runhaskell Setup build
@@ -29,6 +29,9 @@ build() {
}
package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" 'haskell-mtl=2.0.1.0' 'haskell-network=2.3.0.2')
+
cd ${srcdir}/${_hkgname}-${pkgver}
install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
diff --git a/community/kvirc/PKGBUILD b/community/kvirc/PKGBUILD
index f0c65ebd2..a53dbed2c 100644
--- a/community/kvirc/PKGBUILD
+++ b/community/kvirc/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 42779 2011-03-20 20:19:44Z spupykin $
+# $Id: PKGBUILD 47455 2011-05-23 15:33:39Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=kvirc
pkgver=4.0.4
-pkgrel=1
+pkgrel=2
pkgdesc="Qt-based IRC client"
url="http://www.kvirc.net"
depends=('python2' 'esound' 'qt' 'libxss')
optdepends=('esound: needed for snd plugin')
-arch=(i686 x86_64 'mips64el')
-makedepends=()
+arch=(i686 x86_64)
+makedepends=('cmake')
license=('GPL')
options=("!libtool")
install=kvirc.install
diff --git a/community/luxrender/PKGBUILD b/community/luxrender/PKGBUILD
index 04fe13491..4a8581982 100644
--- a/community/luxrender/PKGBUILD
+++ b/community/luxrender/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 49263 2011-06-13 14:27:33Z icelaya $
+# $Id: PKGBUILD 50301 2011-06-28 07:26:18Z stativ $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Initial contributor: flixie <69one@gmx.net>
# Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org>
@@ -7,7 +7,7 @@ pkgver=0.8
_pkgver=45d3e13eb94c
_luxblend=9cb3fcee0be8
_blender=2.57
-pkgrel=3
+pkgrel=4
pkgdesc="Rendering system for physically correct, unbiased image synthesis"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.luxrender.net/"
@@ -15,13 +15,13 @@ license=('GPL')
depends=('boost-libs' 'freeimage' 'openexr')
optdepends=('blender: Blender exporter' 'qt: Qt GUI')
makedepends=('cmake' 'boost' 'qt' 'luxrays' 'python')
-source=(https://bitbucket.org/luxrender/lux/get/$_pkgver.tar.bz2 \
- https://bitbucket.org/luxrender/luxblend25/get/$_luxblend.tar.bz2)
-md5sums=('0f2d856385db72131f51e44a7ee527fa'
- '0c3c8d9efba76133f8c687b5dd2bca8a')
+source=(http://src.luxrender.net/lux/archive/$_pkgver.tar.bz2 \
+ http://src.luxrender.net/luxblend25/archive/$_luxblend.tar.bz2)
+md5sums=('ad8d2ede00aa244cad884d9696ff5fbb'
+ '29c34f97791db3af1b827d9e9a1b3d79')
build() {
- cd "$srcdir"/luxrender-lux-$_pkgver
+ cd "$srcdir"/lux-$_pkgver
sed -i 's/FIND_PACKAGE(Boost 1.43 COMPONENTS python REQUIRED)/FIND_PACKAGE(Boost 1.43 COMPONENTS python3 REQUIRED)/' CMakeLists.txt
@@ -36,7 +36,7 @@ build() {
}
package() {
- cd "$srcdir"/luxrender-lux-$_pkgver
+ cd "$srcdir"/lux-$_pkgver
make DESTDIR="$pkgdir" install
# fix library path on x86_64
@@ -44,9 +44,9 @@ package() {
# install blender exporter
install -d -m755 "$pkgdir"/usr/share/blender/$_blender/scripts/addons
- cp -a "$srcdir"/luxrender-luxblend25-$_luxblend/src/luxrender \
+ cp -a "$srcdir"/luxblend25-$_luxblend/src/luxrender \
"$pkgdir"/usr/share/blender/$_blender/scripts/addons
- cp -a "$srcdir"/luxrender-lux-$_pkgver/pylux.so "$pkgdir"/usr/share/blender/$_blender/scripts/addons/luxrender/
+ cp -a "$srcdir"/lux-$_pkgver/pylux.so "$pkgdir"/usr/share/blender/$_blender/scripts/addons/luxrender/
}
# vim:set ts=2 sw=2 et:
diff --git a/community/mplayer2/PKGBUILD b/community/mplayer2/PKGBUILD
index 828951df8..267dbcdda 100644
--- a/community/mplayer2/PKGBUILD
+++ b/community/mplayer2/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 46583 2011-05-09 18:34:40Z stephane $
+# $Id: PKGBUILD 50268 2011-06-27 12:26:44Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Bartek Piotrowski <barthalion@gmail.com>
pkgname=mplayer2
pkgver=2.0
-pkgrel=12
+pkgrel=13
pkgdesc="A movie player"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.mplayer2.org/"
depends=('libgl' 'libvdpau' 'ffmpeg' 'libdvdcss' 'libdvdread' 'libdvdnav' 'libxvmc' 'libass' 'fontconfig' 'freetype2'
'ttf-dejavu' 'sdl' 'aalib' 'libcaca' 'faad2' 'libpulse' 'jack' 'ncurses' 'libxxf86vm' 'cdparanoia' 'libmad'
- 'a52dec' 'libdca' 'libxxf86dga' 'libxss' 'mpg123')
+ 'a52dec' 'libdca' 'libxxf86dga' 'libxss' 'mpg123' 'ladspa')
makedepends=('live-media' 'mesa' 'unzip' 'yasm')
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
provides=('mplayer')
diff --git a/community/mupen64plus/PKGBUILD b/community/mupen64plus/PKGBUILD
index 5b3dca8af..a2f86d0f8 100644
--- a/community/mupen64plus/PKGBUILD
+++ b/community/mupen64plus/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 35335 2010-12-18 23:49:02Z svenstaro $
+# $Id: PKGBUILD 50291 2011-06-27 20:35:36Z jelle $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: Laurent Carlier <lordheavym@gmail.com>
@@ -7,7 +7,7 @@
pkgname=mupen64plus
pkgver=1.99.4
-pkgrel=1
+pkgrel=2
pkgdesc='Nintendo64 Emulator'
arch=('i686' 'x86_64' 'mips64el')
url='http://code.google.com/p/mupen64plus/'
@@ -26,7 +26,7 @@ package() {
cd mupen64plus-bundle-src-$pkgver
# set LDCONFIG since we are using fakeroot and scripts run root commands by checking the uid
- ./m64p_install.sh DESTDIR="$pkgdir" PREFIX='/usr' MANDIR='/usr/share/man' LDCONFIG='true'
+ ./m64p_install.sh DESTDIR="$pkgdir" PREFIX='/usr' MANDIR='/usr/share/man/man6' LDCONFIG='true'
}
# vim: ts=2:sw=2:et
diff --git a/community/openscenegraph/PKGBUILD b/community/openscenegraph/PKGBUILD
index 52e6d413e..00f4ad0df 100644
--- a/community/openscenegraph/PKGBUILD
+++ b/community/openscenegraph/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 47048 2011-05-14 19:07:46Z tdziedzic $
+# $Id: PKGBUILD 50319 2011-06-28 10:21:19Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Hans Janssen <janserv@gmail.com>
# Contributor: my64 <packages@obordes.com>
# Contributor: Colin Pitrat <colin.pitrat@gmail.com>
pkgname=openscenegraph
-pkgver=2.8.4
+pkgver=2.8.5
pkgrel=1
pkgdesc="An Open Source, high performance real-time graphics toolkit"
arch=('i686' 'x86_64' 'mips64el')
@@ -17,22 +17,18 @@ optdepends=('libvncserver' 'gdal' 'openexr' 'poppler-glib')
conflicts=('openthreads')
provides=('openthreads')
source=(http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-$pkgver/source/OpenSceneGraph-$pkgver.zip)
-md5sums=('283215b4040f7c5b85d30862a8eba97c')
+md5sums=('de844947d410726ba50ed07eb6319e6f')
build() {
cd OpenSceneGraph-$pkgver
-
[ $NOEXTRACT -eq 1 ] || cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
-
+ sed -i 's|#include <curl/types.h>|//#include <curl/types.h>|' src/osgPlugins/curl/ReaderWriterCURL.cpp
make
}
package() {
cd OpenSceneGraph-$pkgver
-
make DESTDIR="$pkgdir" install
-
install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-
[ -d "$pkgdir/usr/lib64" ] && mv "$pkgdir/usr/lib64" "$pkgdir/usr/lib" || true
}
diff --git a/community/perl-berkeleydb/PKGBUILD b/community/perl-berkeleydb/PKGBUILD
index fbfb60f96..78261c442 100644
--- a/community/perl-berkeleydb/PKGBUILD
+++ b/community/perl-berkeleydb/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 39597 2011-02-12 08:57:25Z spupykin $
+# $Id: PKGBUILD 47458 2011-05-23 15:36:16Z tdziedzic $
# 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.43
-pkgrel=4
+pkgrel=5
pkgdesc="Interface to Berkeley DB version 2, 3 or 4"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/BerkeleyDB/"
diff --git a/community/perl-class-data-inheritable/PKGBUILD b/community/perl-class-data-inheritable/PKGBUILD
index 48adc8814..31173e5b0 100644
--- a/community/perl-class-data-inheritable/PKGBUILD
+++ b/community/perl-class-data-inheritable/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=perl-class-data-inheritable
pkgver=0.08
-pkgrel=3
+pkgrel=4
pkgdesc="Inheritable, overridable class data "
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Class-Data-Inheritable"
diff --git a/community/perl-class-factory-util/PKGBUILD b/community/perl-class-factory-util/PKGBUILD
index c9123ad86..e42ba31e7 100644
--- a/community/perl-class-factory-util/PKGBUILD
+++ b/community/perl-class-factory-util/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=perl-class-factory-util
_realname=Class-Factory-Util
pkgver=1.7
-pkgrel=2
+pkgrel=3
pkgdesc="Provide utility methods for factory classes"
arch=(i686 x86_64 'mips64el')
license=('GPL' 'Artistic')
diff --git a/community/perl-class-methodmaker/PKGBUILD b/community/perl-class-methodmaker/PKGBUILD
index a88d50d45..def16e65f 100644
--- a/community/perl-class-methodmaker/PKGBUILD
+++ b/community/perl-class-methodmaker/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 35577 2010-12-21 22:43:37Z tdziedzic $
+# $Id: PKGBUILD 47471 2011-05-23 15:46:41Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-class-methodmaker
-pkgver=2.15
-pkgrel=3
+pkgver=2.18
+pkgrel=4
pkgdesc="Create generic class methods"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Class-MethodMaker"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-$pkgver.tar.gz)
-md5sums=('7af92ddaee49815ade7c5886b74d5e64')
+source=("http://search.cpan.org/CPAN/authors/id/S/SC/SCHWIGON/Class-MethodMaker-${pkgver}.tar.gz")
+md5sums=('99435d78e0a1754b102fe39597c6c3df')
build() {
cd $srcdir/Class-MethodMaker-$pkgver
diff --git a/community/perl-clone/PKGBUILD b/community/perl-clone/PKGBUILD
index 1febf5f2b..a2ae2b1a7 100644
--- a/community/perl-clone/PKGBUILD
+++ b/community/perl-clone/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=perl-clone
pkgver=0.31
-pkgrel=2
+pkgrel=3
pkgdesc='Recursive copy of nested objects.'
arch=('i686' 'x86_64' 'mips64el')
url='http://search.cpan.org/~RDF/Clone'
diff --git a/community/perl-crypt-blowfish/PKGBUILD b/community/perl-crypt-blowfish/PKGBUILD
index 10017599e..a45d200e7 100644
--- a/community/perl-crypt-blowfish/PKGBUILD
+++ b/community/perl-crypt-blowfish/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 35583 2010-12-21 22:46:05Z tdziedzic $
+# $Id: PKGBUILD 47477 2011-05-23 15:51:28Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-crypt-blowfish
pkgver=2.12
-pkgrel=2
+pkgrel=3
pkgdesc="Perl/CPAN Module Crypt::Blowfish : XSbased implementation of Blowfish"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/Crypt-Blowfish"
diff --git a/community/perl-crypt-des/PKGBUILD b/community/perl-crypt-des/PKGBUILD
index 3606d1a5c..43982fb94 100644
--- a/community/perl-crypt-des/PKGBUILD
+++ b/community/perl-crypt-des/PKGBUILD
@@ -1,7 +1,7 @@
#Contributor: Pete Morris <pete dot morris at gmail dot com>
pkgname=perl-crypt-des
pkgver=2.05
-pkgrel=2
+pkgrel=3
pkgdesc="Perl DES encryption module"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/~dparis/Crypt-DES"
diff --git a/community/perl-crypt-openssl-bignum/PKGBUILD b/community/perl-crypt-openssl-bignum/PKGBUILD
index 0251cb4d0..721249b20 100644
--- a/community/perl-crypt-openssl-bignum/PKGBUILD
+++ b/community/perl-crypt-openssl-bignum/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 35589 2010-12-21 22:48:24Z tdziedzic $
+# $Id: PKGBUILD 47483 2011-05-23 15:54:16Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-crypt-openssl-bignum
pkgver=0.04
-pkgrel=4
+pkgrel=5
pkgdesc="OpenSSL's multiprecision integer arithmetic "
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Crypt-OpenSSL-Bignum"
diff --git a/community/perl-crypt-openssl-random/PKGBUILD b/community/perl-crypt-openssl-random/PKGBUILD
index 65c9723e6..d66f44187 100644
--- a/community/perl-crypt-openssl-random/PKGBUILD
+++ b/community/perl-crypt-openssl-random/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 35592 2010-12-21 22:49:23Z tdziedzic $
+# $Id: PKGBUILD 47486 2011-05-23 15:55:23Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-crypt-openssl-random
pkgver=0.04
-pkgrel=4
+pkgrel=5
pkgdesc="Interface to OpenSSL PRNG methods"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Crypt-OpenSSL-Random"
diff --git a/community/perl-crypt-openssl-rsa/PKGBUILD b/community/perl-crypt-openssl-rsa/PKGBUILD
index 1c87fdf8d..dc94b2d54 100644
--- a/community/perl-crypt-openssl-rsa/PKGBUILD
+++ b/community/perl-crypt-openssl-rsa/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 35595 2010-12-21 22:50:52Z tdziedzic $
+# $Id: PKGBUILD 47489 2011-05-23 15:56:48Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-crypt-openssl-rsa
pkgver=0.26
-pkgrel=3
+pkgrel=4
pkgdesc="Interface to OpenSSL RSA methods"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Crypt-OpenSSL-RSA"
diff --git a/community/perl-curses/PKGBUILD b/community/perl-curses/PKGBUILD
index 593a1d670..fb82f9368 100644
--- a/community/perl-curses/PKGBUILD
+++ b/community/perl-curses/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 35598 2010-12-21 22:52:51Z tdziedzic $
+# $Id: PKGBUILD 47492 2011-05-23 15:58:40Z tdziedzic $
# 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=2
+pkgrel=3
pkgdesc="Character screen handling and windowing"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Curses"
diff --git a/community/perl-data-structure-util/PKGBUILD b/community/perl-data-structure-util/PKGBUILD
index d1975eea5..840da26ba 100644
--- a/community/perl-data-structure-util/PKGBUILD
+++ b/community/perl-data-structure-util/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 35601 2010-12-21 22:53:40Z tdziedzic $
+# $Id: PKGBUILD 47495 2011-05-23 16:00:16Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-data-structure-util
pkgver=0.15
-pkgrel=3
+pkgrel=4
pkgdesc="Perl/CPAN Module Data::Structure::Util"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/Data-Structure-Util"
diff --git a/community/perl-datetime-format-builder/PKGBUILD b/community/perl-datetime-format-builder/PKGBUILD
index 27ebf73b1..940d700a3 100644
--- a/community/perl-datetime-format-builder/PKGBUILD
+++ b/community/perl-datetime-format-builder/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=perl-datetime-format-builder
pkgver=0.8000
-pkgrel=4
+pkgrel=5
pkgdesc="Create DateTime parser classes and objects"
arch=('i686' 'x86_64' 'mips64el')
license=('PerlArtistic' 'GPL')
diff --git a/community/perl-datetime-format-mail/PKGBUILD b/community/perl-datetime-format-mail/PKGBUILD
index 9793fdcbb..c2e9758d1 100644
--- a/community/perl-datetime-format-mail/PKGBUILD
+++ b/community/perl-datetime-format-mail/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=perl-datetime-format-mail
pkgver=0.3001
-pkgrel=5
+pkgrel=7
pkgdesc="Convert between DateTime and RFC2822/822 formats "
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/DateTime-Format-Mail"
@@ -14,10 +14,13 @@ source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Mail-$pkgver
md5sums=('15e36249e866463bd0237262a8e43b16')
build() {
- cd $startdir/src/DateTime-Format-Mail-$pkgver
+ cd $srcdir/DateTime-Format-Mail-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$startdir/pkg
- find $startdir/pkg -name '.packlist' -delete
- find $startdir/pkg -name '*.pod' -delete
+}
+package() {
+ cd $srcdir/DateTime-Format-Mail-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
}
diff --git a/community/perl-datetime/PKGBUILD b/community/perl-datetime/PKGBUILD
index b843c710b..0cb94b8dc 100644
--- a/community/perl-datetime/PKGBUILD
+++ b/community/perl-datetime/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 47204 2011-05-18 20:20:25Z jelle $
+# $Id: PKGBUILD 47498 2011-05-23 16:01:46Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-datetime
pkgver=0.70
-pkgrel=1
+pkgrel=2
pkgdesc="A complete, easy to use date and time object"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/DateTime"
diff --git a/community/perl-dbd-odbc/PKGBUILD b/community/perl-dbd-odbc/PKGBUILD
index aa9065117..f277fb388 100644
--- a/community/perl-dbd-odbc/PKGBUILD
+++ b/community/perl-dbd-odbc/PKGBUILD
@@ -1,25 +1,33 @@
-# $Id: PKGBUILD 35616 2010-12-21 22:59:14Z tdziedzic $
+# $Id: PKGBUILD 47750 2011-05-25 13:23:38Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-dbd-odbc
-pkgver=1.24
-pkgrel=2
+pkgver=1.29
+pkgrel=1
pkgdesc="ODBC Driver for DBI"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/DBD-ODBC/"
license=('GPL' 'PerlArtistic')
-depends=('perl-dbi>=1.52' 'perl>=5.10.0' 'unixodbc')
+depends=('perl-dbi' 'perl' 'unixodbc')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/M/MJ/MJEVANS/DBD-ODBC-$pkgver.tar.gz)
-md5sums=('2abf660489f4649725f47bd0e7507137')
+source=("http://search.cpan.org/CPAN/authors/id/M/MJ/MJEVANS/DBD-ODBC-${pkgver}.tar.gz")
+md5sums=('66fee532cab75a1e5ffa81dfd26b2367')
build() {
- cd $srcdir/DBD-ODBC-$pkgver
+ cd DBD-ODBC-${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
+}
+
+package() {
+ cd DBD-ODBC-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-dbd-pg/PKGBUILD b/community/perl-dbd-pg/PKGBUILD
index d71ec3d29..d2e9c663b 100644
--- a/community/perl-dbd-pg/PKGBUILD
+++ b/community/perl-dbd-pg/PKGBUILD
@@ -1,24 +1,32 @@
-# $Id: PKGBUILD 35619 2010-12-21 23:00:16Z tdziedzic $
+# $Id: PKGBUILD 47753 2011-05-25 13:27:50Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-dbd-pg
-pkgver=2.17.2
-pkgrel=2
+pkgver=2.18.1
+pkgrel=1
pkgdesc="Postgres Driver for DBI"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/DBD-Pg"
license=('GPL' 'PerlArtistic')
depends=('perl-dbi>=1.52' 'postgresql-libs')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-$pkgver.tar.gz)
-md5sums=('2cd63605a9420a63c780f627420a359a')
+source=("http://www.cpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-${pkgver}.tar.gz")
+md5sums=('1f4a837b3d79789ad6854443fce7a901')
build() {
- cd $srcdir/DBD-Pg-$pkgver
+ cd DBD-Pg-${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
+}
+
+package() {
+ cd DBD-Pg-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-dbd-sqlite2/PKGBUILD b/community/perl-dbd-sqlite2/PKGBUILD
index e62487bde..35e26ee90 100644
--- a/community/perl-dbd-sqlite2/PKGBUILD
+++ b/community/perl-dbd-sqlite2/PKGBUILD
@@ -1,24 +1,31 @@
-# $Id: PKGBUILD 35622 2010-12-21 23:01:28Z tdziedzic $
+# $Id: PKGBUILD 47756 2011-05-25 13:30:12Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-dbd-sqlite2
pkgver=0.33
-pkgrel=6
+pkgrel=7
pkgdesc="Perl/CPAN Module DBD::SQLite2"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/DBD-SQLite2"
license=("GPL" "PerlArtistic")
-makedepends=("perl-dbi")
depends=("perl-dbi")
-source=("http://www.cpan.org/authors/id/M/MS/MSERGEANT/DBD-SQLite2-$pkgver.tar.gz")
+source=("http://www.cpan.org/authors/id/M/MS/MSERGEANT/DBD-SQLite2-${pkgver}.tar.gz")
md5sums=('babd83fd5eb9ba7560ad4bab4c76c0eb')
build() {
- cd $srcdir/DBD-SQLite2-$pkgver
+ cd DBD-SQLite2-${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
+}
+
+package() {
+ cd DBD-SQLite2-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-dbd-sybase/PKGBUILD b/community/perl-dbd-sybase/PKGBUILD
index c1e1196c7..39ffc195a 100644
--- a/community/perl-dbd-sybase/PKGBUILD
+++ b/community/perl-dbd-sybase/PKGBUILD
@@ -1,24 +1,33 @@
-# $Id: PKGBUILD 35625 2010-12-21 23:02:34Z tdziedzic $
+# $Id: PKGBUILD 47759 2011-05-25 13:32:36Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-dbd-sybase
-pkgver=1.10
-pkgrel=2
+pkgver=1.12
+pkgrel=1
pkgdesc="Sybase Driver for DBI"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/DBD-Sybase/"
license=('GPL' 'PerlArtistic')
depends=('perl-dbi>=1.52' 'perl>=5.10.0' 'freetds')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/M/ME/MEWP/DBD-Sybase-$pkgver.tar.gz)
-md5sums=('86668c8f626f5aa33620b2746c4dbcf1')
+source=("http://search.cpan.org/CPAN/authors/id/M/ME/MEWP/DBD-Sybase-${pkgver}.tar.gz")
+md5sums=('fc01efe30102e801f6fdc1c96352fcde')
build() {
- cd $srcdir/DBD-Sybase-$pkgver
+ cd $srcdir/DBD-Sybase-${pkgver}
+
export SYBASE=/usr
+
echo -e "\n\n\n\n\n\n" | 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
+}
+
+package() {
+ cd $srcdir/DBD-Sybase-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-digest-md5/PKGBUILD b/community/perl-digest-md5/PKGBUILD
index 6ca71610c..55b57db22 100644
--- a/community/perl-digest-md5/PKGBUILD
+++ b/community/perl-digest-md5/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 48551 2011-06-01 19:52:59Z spupykin $
+# $Id: PKGBUILD 48561 2011-06-02 06:48:37Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Ashok `ScriptDevil` Gautham <ScriptDevil@gmail.com>
pkgname=perl-digest-md5
pkgver=2.51
-pkgrel=1
+pkgrel=2
pkgdesc="Digest::MD5::Perl - Perl implementation of Ron Rivests MD5 Algorithm"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Digest-MD5"
diff --git a/community/perl-fuse/PKGBUILD b/community/perl-fuse/PKGBUILD
index c6faeacf7..f9738fcd0 100644
--- a/community/perl-fuse/PKGBUILD
+++ b/community/perl-fuse/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 46387 2011-05-06 21:11:28Z spupykin $
+# $Id: PKGBUILD 47546 2011-05-23 19:23:45Z jelle $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Tom K <tomk@runbox.com>
pkgname=perl-fuse
pkgver=0.11
-pkgrel=1
+pkgrel=2
pkgdesc="write filesystems in Perl using FUSE"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Fuse"
@@ -12,6 +12,7 @@ depends=('perl' 'fuse')
license=('GPL')
source=(http://www.cpan.org/authors/id/D/DP/DPAVLIN/Fuse-$pkgver.tar.gz)
md5sums=('4b4cb2399dc409015779af0940513c97')
+options=('!emptydirs')
build() {
cd $srcdir/Fuse-$pkgver
diff --git a/community/perl-gd/PKGBUILD b/community/perl-gd/PKGBUILD
index 0fdf62c37..c982b2dd1 100644
--- a/community/perl-gd/PKGBUILD
+++ b/community/perl-gd/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=perl-gd
pkgver=2.44
-pkgrel=3
+pkgrel=4
pkgdesc="Interface to Gd Graphics Library"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/GD"
@@ -14,15 +14,16 @@ source=(http://www.cpan.org/authors/id/L/LD/LDS/GD-$pkgver.tar.gz)
md5sums=('9b9a4d78a5af0616a96264b0aa354859')
build() {
- cd $startdir/src/GD-$pkgver
+ cd $srcdir/GD-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$startdir/pkg
-
+}
+package() {
+ cd $srcdir/GD-$pkgver
+ make install DESTDIR=$pkgdir
install -D -m0644 GD/Group.pm $pkgdir/usr/lib/perl5/vendor_perl/GD/Group.pm
-
- find $startdir/pkg -name '.packlist' -delete
- find $startdir/pkg -name '*.pod' -delete
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
}
diff --git a/community/perl-gnome2-wnck/PKGBUILD b/community/perl-gnome2-wnck/PKGBUILD
index e640ed0ca..6dea6c1e1 100644
--- a/community/perl-gnome2-wnck/PKGBUILD
+++ b/community/perl-gnome2-wnck/PKGBUILD
@@ -1,23 +1,32 @@
-# $Id: PKGBUILD 35646 2010-12-21 23:11:34Z tdziedzic $
+# $Id: PKGBUILD 47727 2011-05-25 02:44:57Z tdziedzic $
# Maintainer Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
pkgname=perl-gnome2-wnck
pkgver=0.16
-pkgrel=2
+pkgrel=4
pkgdesc="Perl interface to the Window Navigator Construction Kit"
arch=('i686' 'x86_64' 'mips64el')
license=("GPL" "Artistic")
url="http://search.cpan.org/dist/Gnome2-Wnck"
depends=('perl' 'perl-extutils-depends' 'perl-extutils-pkgconfig' 'gnome-perl' 'libwnck')
-source=(http://search.cpan.org/CPAN/authors/id/T/TS/TSCH/Gnome2-Wnck-$pkgver.tar.gz)
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/T/TS/TSCH/Gnome2-Wnck-${pkgver}.tar.gz")
md5sums=('439f4569ffd7af96ef1d3feaab23760e')
build() {
- cd $startdir/src/Gnome2-Wnck-$pkgver
+ cd Gnome2-Wnck-${pkgver}
+
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
make
- make install DESTDIR=$startdir/pkg
- find $startdir/pkg -name '.packlist' -delete
- find $startdir/pkg -name '*.pod' -delete
+}
+
+package() {
+ cd Gnome2-Wnck-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-gssapi/PKGBUILD b/community/perl-gssapi/PKGBUILD
index e89e53e59..85dac1dc7 100644
--- a/community/perl-gssapi/PKGBUILD
+++ b/community/perl-gssapi/PKGBUILD
@@ -1,27 +1,32 @@
-# $Id: PKGBUILD 45801 2011-04-29 10:49:42Z spupykin $
+# $Id: PKGBUILD 47705 2011-05-25 02:18:24Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-gssapi
pkgver=0.28
-pkgrel=3
+pkgrel=4
pkgdesc="Perl/CPAN Module GSSAPI"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/GSSAPI"
license=("GPL" "PerlArtistic")
depends=('krb5')
-source=("http://www.cpan.org/authors/id/A/AG/AGROLMS/GSSAPI-$pkgver.tar.gz")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/A/AG/AGROLMS/GSSAPI-${pkgver}.tar.gz")
md5sums=('65f00a0749212af064289c8a05e59b3f')
build() {
- cd $srcdir/GSSAPI-$pkgver
+ cd GSSAPI-${pkgver}
+
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
make
}
package() {
- cd $srcdir/GSSAPI-$pkgver
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd GSSAPI-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-gstreamer-interfaces/PKGBUILD b/community/perl-gstreamer-interfaces/PKGBUILD
index 5d1cee613..fc1e2f160 100644
--- a/community/perl-gstreamer-interfaces/PKGBUILD
+++ b/community/perl-gstreamer-interfaces/PKGBUILD
@@ -1,25 +1,32 @@
-# $Id: PKGBUILD 35658 2010-12-21 23:15:57Z tdziedzic $
+# $Id: PKGBUILD 47709 2011-05-25 02:21:42Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Corrado Primier <bardo@aur.archlinux.org>
pkgname=perl-gstreamer-interfaces
pkgver=0.06
-pkgrel=2
+pkgrel=3
pkgdesc="GStreamer::Interfaces"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/GStreamer-Interfaces"
license=('GPL' 'PerlArtistic')
-depends=('glib-perl>=1.180' 'gstreamer0.10-base' 'perl-extutils-pkgconfig>=1.07'
- 'perl-gstreamer>=0.06' 'perl-extutils-depends>=0.205')
+depends=('glib-perl' 'gstreamer0.10-base' 'perl-extutils-pkgconfig' 'perl-gstreamer' 'perl-extutils-depends')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/T/TS/TSCH/GStreamer-Interfaces-$pkgver.tar.gz)
+source=("http://www.cpan.org/authors/id/T/TS/TSCH/GStreamer-Interfaces-${pkgver}.tar.gz")
md5sums=('aa9583a484fa6829935b360887ecda45')
build() {
- cd $srcdir/GStreamer-Interfaces-$pkgver
+ cd GStreamer-Interfaces-${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
+}
+
+package() {
+ cd GStreamer-Interfaces-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-gstreamer/PKGBUILD b/community/perl-gstreamer/PKGBUILD
index b1aa8c117..4273c6903 100644
--- a/community/perl-gstreamer/PKGBUILD
+++ b/community/perl-gstreamer/PKGBUILD
@@ -1,24 +1,32 @@
-# $Id: PKGBUILD 35655 2010-12-21 23:14:54Z tdziedzic $
+# $Id: PKGBUILD 47702 2011-05-25 01:05:10Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
pkgname=perl-gstreamer
-pkgver=0.15
-pkgrel=4
+pkgver=0.16
+pkgrel=1
pkgdesc="Interface to the GStreamer library"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/GStreamer"
license=('GPL' 'PerlArtistic')
depends=('glib-perl>=1.180' 'gstreamer0.10' 'perl-extutils-pkgconfig>=1.07' 'perl-extutils-depends>=0.205')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/T/TS/TSCH/GStreamer-$pkgver.tar.gz)
-md5sums=('a01261f5a1012f4d6763e3721f1c9de7')
+source=("http://www.cpan.org/authors/id/T/TS/TSCH/GStreamer-${pkgver}.tar.gz")
+md5sums=('e2d51158f3c671c0e4c11a82c9171b2b')
build() {
- cd $srcdir/GStreamer-$pkgver
+ cd GStreamer-${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
+}
+
+package() {
+ cd GStreamer-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-gtk2-mozembed/PKGBUILD b/community/perl-gtk2-mozembed/PKGBUILD
index 63f1f4702..556db8447 100644
--- a/community/perl-gtk2-mozembed/PKGBUILD
+++ b/community/perl-gtk2-mozembed/PKGBUILD
@@ -1,32 +1,32 @@
-# $Id: PKGBUILD 42141 2011-03-13 22:19:27Z spupykin $
+# $Id: PKGBUILD 47713 2011-05-25 02:25:45Z tdziedzic $
# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
# Maintainer: Corrado Primier <bardo@aur.archlinux.org>
pkgname=perl-gtk2-mozembed
-pkgver=0.08
-pkgrel=4
+pkgver=0.09
+pkgrel=1
pkgdesc="Interface to the Mozilla embedding widget"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Gtk2-MozEmbed"
license=('GPL' 'PerlArtistic')
depends=('perl-extutils-pkgconfig>=1.03' 'gtk2-perl>=1.081' 'perl-extutils-depends>=0.20' 'xulrunner>1.9')
options=('!emptydirs')
-source=("http://www.cpan.org/authors/id/T/TS/TSCH/Gtk2-MozEmbed-${pkgver}.tar.gz"
- 'missing-pixbuf.patch')
-md5sums=('ddafafa0e2684050a5d8b9f2c15f6dca'
- '82313ca5da7dafdae0a8890f031d07f9')
+source=("http://www.cpan.org/authors/id/T/TS/TSCH/Gtk2-MozEmbed-${pkgver}.tar.gz")
+md5sums=('8c391fbe1ebf23a0af22d5ad3b571f19')
build() {
- # fix https://rt.cpan.org/Public/Bug/Display.html?id=61063
- patch -Np0 -i ${srcdir}/missing-pixbuf.patch
cd Gtk2-MozEmbed-${pkgver}
+
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
make
}
package() {
cd Gtk2-MozEmbed-${pkgver}
+
make install DESTDIR=${pkgdir}
+
find ${pkgdir} -name '.packlist' -delete
find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-gtk2-sexy/PKGBUILD b/community/perl-gtk2-sexy/PKGBUILD
index 087aba9e2..f0f3c21e8 100644
--- a/community/perl-gtk2-sexy/PKGBUILD
+++ b/community/perl-gtk2-sexy/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 36684 2011-01-06 04:50:07Z angvp $
+# $Id: PKGBUILD 47716 2011-05-25 02:28:38Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Charles Mauch <cmauch@gmail.com>
# Creator: Florian Ragwitz <http://search.cpan.org/~/>
pkgname=perl-gtk2-sexy
pkgver=0.05
-pkgrel=4
+pkgrel=5
pkgdesc="Perl/CPAN Module Gtk2::Sexy"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Gtk2-Sexy"
@@ -13,18 +13,22 @@ license=('GPL' 'PerlArtistic')
depends=('gtk2' 'libsexy')
makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends' 'gtk2-perl')
options=(docs !emptydirs)
-source=("http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-Sexy-$pkgver.tar.gz")
+source=("http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-Sexy-${pkgver}.tar.gz")
md5sums=('3e291808250d7b956ba8443013a1b461')
build() {
- cd $srcdir/Gtk2-Sexy-$pkgver
+ cd Gtk2-Sexy-${pkgver}
+
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
make
}
package() {
- cd $srcdir/Gtk2-Sexy-$pkgver
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd Gtk2-Sexy-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-gtk2-trayicon/PKGBUILD b/community/perl-gtk2-trayicon/PKGBUILD
index d4023688f..a4cdb9e76 100644
--- a/community/perl-gtk2-trayicon/PKGBUILD
+++ b/community/perl-gtk2-trayicon/PKGBUILD
@@ -1,24 +1,33 @@
-# $Id: PKGBUILD 35661 2010-12-21 23:29:25Z tdziedzic $
+# $Id: PKGBUILD 47733 2011-05-25 02:54:41Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Tom K <tomk@runbox.com>
pkgname=perl-gtk2-trayicon
pkgver=0.06
-pkgrel=6
+pkgrel=7
pkgdesc="Perl interface to the EggTrayIcon library"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://search.cpan.org/dist/TrayIcon.html"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Gtk2-TrayIcon/"
depends=('gtk2-perl')
makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends')
license=("GPL")
-source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/Gtk2-TrayIcon-$pkgver.tar.gz)
+options=('!emptydirs')
+source=("http://downloads.sourceforge.net/sourceforge/gtk2-perl/Gtk2-TrayIcon-${pkgver}.tar.gz")
md5sums=('522c328f14681a25d76eeaf317e05049')
build() {
- cd $srcdir/Gtk2-TrayIcon-$pkgver
+ cd Gtk2-TrayIcon-${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
+}
+
+package() {
+ cd Gtk2-TrayIcon-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-gtk2-webkit/PKGBUILD b/community/perl-gtk2-webkit/PKGBUILD
index 362605884..ebc9e352c 100644
--- a/community/perl-gtk2-webkit/PKGBUILD
+++ b/community/perl-gtk2-webkit/PKGBUILD
@@ -1,24 +1,32 @@
-# $Id: PKGBUILD 44460 2011-04-07 16:27:39Z spupykin $
+# $Id: PKGBUILD 47720 2011-05-25 02:33:54Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
pkgname=perl-gtk2-webkit
-pkgver=0.08
-pkgrel=3
+pkgver=0.09
+pkgrel=1
pkgdesc="Gtk2::WebKit"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Gtk2-WebKit"
license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0' 'gtk2-perl' 'libwebkit' 'perl-extutils-depends' 'perl-extutils-pkgconfig')
+depends=('perl' 'gtk2-perl' 'libwebkit' 'perl-extutils-depends' 'perl-extutils-pkgconfig')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-WebKit-$pkgver.tar.gz)
-md5sums=('5dc7e0ea470754f6e24e40e54da942ee')
+source=(http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-WebKit-${pkgver}.tar.gz)
+md5sums=('e696fc2b15d6189370e19bce9a9e56f3')
build() {
- cd $srcdir/Gtk2-WebKit-$pkgver
+ cd Gtk2-WebKit-${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
+}
+
+package() {
+ cd Gtk2-WebKit-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-html-strip/PKGBUILD b/community/perl-html-strip/PKGBUILD
index c54e0f250..3177e4998 100644
--- a/community/perl-html-strip/PKGBUILD
+++ b/community/perl-html-strip/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 35667 2010-12-21 23:32:23Z tdziedzic $
+# $Id: PKGBUILD 47534 2011-05-23 18:42:18Z jelle $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-html-strip
pkgver=1.06
-pkgrel=5
+pkgrel=6
pkgdesc="Perl/CPAN Module HTML::Strip"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/~kilinrax/HTML-Strip/"
@@ -12,11 +12,15 @@ 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/perl-inline-java/PKGBUILD b/community/perl-inline-java/PKGBUILD
index 3d41840f6..af57cf739 100644
--- a/community/perl-inline-java/PKGBUILD
+++ b/community/perl-inline-java/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 36952 2011-01-10 21:37:18Z spupykin $
+# $Id: PKGBUILD 47531 2011-05-23 18:37:03Z jelle $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Wael Nasreddine <gandalf@siemens-mobiles.org>
pkgname=perl-inline-java
pkgver=0.53
-pkgrel=1
+pkgrel=2
pkgdesc="The Inline::Java module allows you to put Java source code directly inline in a Perl script or module."
arch=('i686' 'x86_64' 'mips64el')
depends=('perl' 'perl-inline' 'java-runtime')
@@ -13,12 +13,16 @@ 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
- yes | PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor J2SDK=$J2SDKDIR
+ 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/perl-io-tty/PKGBUILD b/community/perl-io-tty/PKGBUILD
index ebb1306e4..53a039d70 100644
--- a/community/perl-io-tty/PKGBUILD
+++ b/community/perl-io-tty/PKGBUILD
@@ -3,19 +3,24 @@
pkgname=perl-io-tty
_realname=IO-Tty
pkgver=1.08
-pkgrel=3
+pkgrel=4
pkgdesc="Provide an interface to TTYs and PTYs"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/IO-Tty/"
license=("GPL" "PerlArtistic")
+depends=('glibc')
source=("http://www.cpan.org/authors/id/R/RG/RGIERSIG/${_realname}-$pkgver.tar.gz")
md5sums=('e99d819a6f8c11ae105b770cc508a4fc')
+options=('!emptydirs')
build() {
- cd $startdir/src/${_realname}-$pkgver
+ cd $srcdir/${_realname}-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$startdir/pkg
- find $startdir/pkg -name '.packlist' -delete
- find $startdir/pkg -name '*.pod' -delete
+}
+package(){
+ cd $srcdir/${_realname}-$pkgver
+ make install DESTDIR=$pkgdir
+ find $pkgdir -name '.packlist' -delete
+ find $pkgdir -name '*.pod' -delete
}
diff --git a/community/perl-json-xs/PKGBUILD b/community/perl-json-xs/PKGBUILD
index 922f67461..7c278daa4 100644
--- a/community/perl-json-xs/PKGBUILD
+++ b/community/perl-json-xs/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: PKGBUILD 35682 2010-12-21 23:39:21Z tdziedzic $
+# $Id: PKGBUILD 47516 2011-05-23 18:15:13Z jelle $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Tor Krill <tor@krill.nu>
pkgname=perl-json-xs
pkgver=2.3
-pkgrel=2
+pkgrel=3
pkgdesc="JSON::XS - JSON serialising/deserialising, done correctly and fast"
url="http://search.cpan.org/dist/JSON-XS/"
license=("GPL")
arch=('i686' 'x86_64' 'mips64el')
depends=('perl' 'perl-common-sense')
-options=('!emptydirs' 'force')
-LC_NUMERIC=C
-provides=("$pkgname=`printf %.4f $pkgver`")
+options=('!emptydirs')
source=(http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/JSON-XS-$pkgver.tar.gz)
md5sums=('4dc2a968e41f8cf330d46be12f221a12')
build() {
cd $srcdir/JSON-XS-$pkgver
- eval `perl -V:archname`
+# 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 && \
diff --git a/community/perl-libapreq2/PKGBUILD b/community/perl-libapreq2/PKGBUILD
index 66cfb9882..c499f0940 100644
--- a/community/perl-libapreq2/PKGBUILD
+++ b/community/perl-libapreq2/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 35685 2010-12-21 23:43:49Z tdziedzic $
+# $Id: PKGBUILD 47519 2011-05-23 18:19:22Z jelle $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Tom K <tomk@runbox.com>
pkgname=perl-libapreq2
pkgver=2.12
-pkgrel=7
+pkgrel=8
pkgdesc="A safe, standards-compliant, high-performance library used for parsing HTTP cookies, query-strings and POST data."
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/libapreq2"
@@ -24,10 +24,11 @@ build() {
sed -i 's#-ldb-4.8#-ldb-5.1#' 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/perl-linux-pid/PKGBUILD b/community/perl-linux-pid/PKGBUILD
new file mode 100644
index 000000000..f50e9a06a
--- /dev/null
+++ b/community/perl-linux-pid/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 50357 2011-06-28 18:54:54Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Generator : CPANPLUS::Dist::Arch 1.12
+
+pkgname='perl-linux-pid'
+pkgver='0.04'
+pkgrel='1'
+pkgdesc="Interface to Linux getpp?id functions"
+arch=('i686' 'x86_64')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+url='http://search.cpan.org/dist/Linux-Pid'
+source=('http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/Linux-Pid-0.04.tar.gz')
+md5sums=('130c4d299f827abf1f2285fddf03fccb')
+_distdir="${srcdir}/Linux-Pid-0.04"
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$_distdir"
+ make install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
diff --git a/community/perl-list-moreutils/PKGBUILD b/community/perl-list-moreutils/PKGBUILD
index 5d9e645cd..a23aa1c88 100644
--- a/community/perl-list-moreutils/PKGBUILD
+++ b/community/perl-list-moreutils/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=perl-list-moreutils
_cpanname=List-MoreUtils
pkgver=0.22
-pkgrel=5
+pkgrel=6
pkgdesc="Provide the stuff missing in List::Util"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/List-MoreUtils"
diff --git a/community/perl-mail-box-parser-c/PKGBUILD b/community/perl-mail-box-parser-c/PKGBUILD
index b7ab1f97c..0b498a844 100644
--- a/community/perl-mail-box-parser-c/PKGBUILD
+++ b/community/perl-mail-box-parser-c/PKGBUILD
@@ -1,22 +1,31 @@
-# $Id: PKGBUILD 35688 2010-12-22 01:20:44Z tdziedzic $
+# $Id: PKGBUILD 47593 2011-05-23 20:41:57Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-mail-box-parser-c
pkgver=3.006
-pkgrel=5
+pkgrel=6
pkgdesc="Perl/CPAN Module Mail::Box::Parser::C : extends MailBox with the speed of C"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/Mail-Box-Parser-C"
license=("GPL" "PerlArtistic")
-source=("http://www.cpan.org/authors/id/M/MA/MARKOV/Mail-Box-Parser-C-$pkgver.tar.gz")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/M/MA/MARKOV/Mail-Box-Parser-C-${pkgver}.tar.gz")
md5sums=('3dfb3e2729597ae33114250cbce1b884')
build() {
- cd $srcdir/Mail-Box-Parser-C-$pkgver
+ cd Mail-Box-Parser-C-${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
+}
+
+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/perl-mail-transport-dbx/PKGBUILD b/community/perl-mail-transport-dbx/PKGBUILD
index 09891450d..c9995475f 100644
--- a/community/perl-mail-transport-dbx/PKGBUILD
+++ b/community/perl-mail-transport-dbx/PKGBUILD
@@ -1,22 +1,31 @@
-# $Id: PKGBUILD 35691 2010-12-22 01:21:45Z tdziedzic $
+# $Id: PKGBUILD 47596 2011-05-23 20:45:10Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-mail-transport-dbx
pkgver=0.07
-pkgrel=5
+pkgrel=6
pkgdesc="Perl/CPAN Module Mail::Transport::Dbx : Parse Outlook Express mailboxes"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/Mail-Transport-Dbx"
license=("GPL" "PerlArtistic")
-source=("http://www.cpan.org/authors/id/V/VP/VPARSEVAL/Mail-Transport-Dbx-$pkgver.tar.gz")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/V/VP/VPARSEVAL/Mail-Transport-Dbx-${pkgver}.tar.gz")
md5sums=('4dcf5346a67c0a7f861cb2bb51a7d14e')
build() {
- cd $srcdir/Mail-Transport-Dbx-$pkgver
+ cd Mail-Transport-Dbx-${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
+}
+
+package() {
+ cd Mail-Transport-Dbx-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-net-dbus/PKGBUILD b/community/perl-net-dbus/PKGBUILD
index 2627cec38..75363cb98 100644
--- a/community/perl-net-dbus/PKGBUILD
+++ b/community/perl-net-dbus/PKGBUILD
@@ -1,24 +1,32 @@
-# $Id: PKGBUILD 35694 2010-12-22 01:22:55Z tdziedzic $
+# $Id: PKGBUILD 47599 2011-05-23 20:48:03Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Francois Charette <firmicus@gmx.net>
pkgname=perl-net-dbus
pkgver=0.33.6
-pkgrel=5
+pkgrel=6
pkgdesc="Binding for DBus messaging protocol"
arch=('i686' 'x86_64' 'mips64el')
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)
+source=("http://www.cpan.org/authors/id/D/DA/DANBERR/Net-DBus-${pkgver}.tar.gz")
md5sums=('a1dbce89b1b839fd0e46d74067ae2e35')
build() {
- cd $srcdir/Net-DBus-$pkgver
+ cd Net-DBus-${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
+}
+
+package() {
+ cd Net-DBus-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-net-libidn/PKGBUILD b/community/perl-net-libidn/PKGBUILD
index 480513985..313cd913d 100644
--- a/community/perl-net-libidn/PKGBUILD
+++ b/community/perl-net-libidn/PKGBUILD
@@ -1,22 +1,31 @@
-# $Id: PKGBUILD 35697 2010-12-22 01:23:45Z tdziedzic $
+# $Id: PKGBUILD 47590 2011-05-23 20:30:08Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-net-libidn
pkgver=0.12
-pkgrel=3
+pkgrel=4
pkgdesc="Perl/CPAN Module Net::LibIDN"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/Net-LibIDN/"
license=("GPL" "PerlArtistic")
depends=(perl libidn)
-source=("http://search.cpan.org/CPAN/authors/id/T/TH/THOR/Net-LibIDN-$pkgver.tar.gz")
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/T/TH/THOR/Net-LibIDN-${pkgver}.tar.gz")
md5sums=('c3e4de2065009d67bcb1df0afb473e12')
build() {
- cd $srcdir/Net-LibIDN-$pkgver
+ cd Net-LibIDN-${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
+}
+
+package() {
+ cd Net-LibIDN-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-params-validate/PKGBUILD b/community/perl-params-validate/PKGBUILD
index bb201a4a4..6f8974d00 100644
--- a/community/perl-params-validate/PKGBUILD
+++ b/community/perl-params-validate/PKGBUILD
@@ -3,24 +3,28 @@
pkgname=perl-params-validate
pkgver=0.98
-pkgrel=1
+pkgrel=2
pkgdesc="Validate sub params against a spec"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Params-Validate"
license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0')
+depends=('perl')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/Params-Validate-$pkgver.tar.gz)
+source=("http://www.cpan.org/authors/id/D/DR/DROLSKY/Params-Validate-${pkgver}.tar.gz")
md5sums=('6dacb26b1bdb6338b6eed45cd86958bb')
build() {
- cd $startdir/src/Params-Validate-$pkgver
+ cd Params-Validate-${pkgver}
+
perl ./Build.PL --installdirs=vendor
+
./Build
}
package(){
- cd $startdir/src/Params-Validate-$pkgver
- ./Build install --destdir=$pkgdir
- find $startdir/pkg -name '.packlist' -delete
- find $startdir/pkg -name '*.pod' -delete
+ cd Params-Validate-${pkgver}
+
+ ./Build install --destdir=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-string-crc32/PKGBUILD b/community/perl-string-crc32/PKGBUILD
index 706c4ece2..9c3f6ee44 100644
--- a/community/perl-string-crc32/PKGBUILD
+++ b/community/perl-string-crc32/PKGBUILD
@@ -1,22 +1,31 @@
-# $Id: PKGBUILD 35703 2010-12-22 01:25:32Z tdziedzic $
+# $Id: PKGBUILD 47584 2011-05-23 20:23:28Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-string-crc32
pkgver=1.4
-pkgrel=5
+pkgrel=6
pkgdesc="Perl/CPAN Module String::CRC32 : ZMODEMlike CRC32 generation"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/String-CRC32"
license=("GPL" "PerlArtistic")
-source=("http://www.cpan.org/authors/id/S/SO/SOENKE/String-CRC32-$pkgver.tar.gz")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/S/SO/SOENKE/String-CRC32-${pkgver}.tar.gz")
md5sums=('9b241bc4a482a3aa59fbb1429bc30546')
build() {
- cd $srcdir/String-CRC32-$pkgver
+ cd String-CRC32-${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
+}
+
+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/perl-text-charwidth/PKGBUILD b/community/perl-text-charwidth/PKGBUILD
index 85af5dcf3..580f8b640 100644
--- a/community/perl-text-charwidth/PKGBUILD
+++ b/community/perl-text-charwidth/PKGBUILD
@@ -1,22 +1,31 @@
-# $Id: PKGBUILD 35706 2010-12-22 01:26:17Z tdziedzic $
+# $Id: PKGBUILD 47581 2011-05-23 20:20:00Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-text-charwidth
pkgver=0.04
-pkgrel=5
+pkgrel=6
pkgdesc="Perl/CPAN Module Text::CharWidth"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/Text-CharWidth"
license=("GPL" "PerlArtistic")
-source=("http://www.cpan.org/authors/id/K/KU/KUBOTA/Text-CharWidth-$pkgver.tar.gz")
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/K/KU/KUBOTA/Text-CharWidth-${pkgver}.tar.gz")
md5sums=('37a723df0580c0758c0ee67b37336c15')
build() {
- cd $srcdir/Text-CharWidth-$pkgver
+ cd Text-CharWidth-${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
+}
+
+package() {
+ cd Text-CharWidth-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-text-kakasi/PKGBUILD b/community/perl-text-kakasi/PKGBUILD
index a485090fd..21e704403 100644
--- a/community/perl-text-kakasi/PKGBUILD
+++ b/community/perl-text-kakasi/PKGBUILD
@@ -1,25 +1,33 @@
-# $Id: PKGBUILD 35709 2010-12-22 01:27:08Z tdziedzic $
+# $Id: PKGBUILD 47575 2011-05-23 20:14:17Z tdziedzic $
# 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=6
+pkgrel=7
pkgdesc="Perl frontend to kakasi"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Text-Kakasi"
license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0' 'kakasi')
+depends=('perl' 'kakasi')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DA/DANKOGAI/Text-Kakasi-$pkgver.tar.gz)
+source=("http://www.cpan.org/authors/id/D/DA/DANKOGAI/Text-Kakasi-${pkgver}.tar.gz")
md5sums=('5a9e381cb93edfd707124a63c60f96b1')
build() {
- cd $srcdir/Text-Kakasi-$pkgver
+ cd Text-Kakasi-${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
+}
+
+package() {
+ cd Text-Kakasi-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-tie-hash-indexed/PKGBUILD b/community/perl-tie-hash-indexed/PKGBUILD
index 978c1e77b..be3eaab4d 100644
--- a/community/perl-tie-hash-indexed/PKGBUILD
+++ b/community/perl-tie-hash-indexed/PKGBUILD
@@ -1,24 +1,32 @@
-# $Id: PKGBUILD 35712 2010-12-22 01:27:48Z tdziedzic $
+# $Id: PKGBUILD 47578 2011-05-23 20:16:48Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Francois Charette <firmicus@gmx.net>
pkgname=perl-tie-hash-indexed
pkgver=0.05
-pkgrel=5
+pkgrel=6
pkgdesc="Ordered hashes for Perl"
arch=('i686' 'x86_64' 'mips64el')
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)
+source=(http://www.cpan.org/authors/id/M/MH/MHX/Tie-Hash-Indexed-${pkgver}.tar.gz)
md5sums=('41e2d013df8cfafdd239bc65bbada014')
build() {
- cd $srcdir/Tie-Hash-Indexed-$pkgver
+ cd Tie-Hash-Indexed-${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
+}
+
+package() {
+ cd Tie-Hash-Indexed-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-tk-tablematrix/PKGBUILD b/community/perl-tk-tablematrix/PKGBUILD
index 129de9963..3d66d05a7 100644
--- a/community/perl-tk-tablematrix/PKGBUILD
+++ b/community/perl-tk-tablematrix/PKGBUILD
@@ -1,25 +1,33 @@
-# $Id: PKGBUILD 35715 2010-12-22 01:29:04Z tdziedzic $
+# $Id: PKGBUILD 47698 2011-05-24 20:28:40Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-tk-tablematrix
pkgver=1.23
-pkgrel=6
+pkgrel=7
pkgdesc="Display data in TableSpreadsheet format"
arch=("i686" "x86_64" 'mips64el')
url="http://search.cpan.org/dist/Tk-TableMatrix"
license=("GPL" "PerlArtistic")
depends=('perl-tk')
options=('!emptydirs')
-source=("http://www.cpan.org/authors/id/C/CE/CERNEY/Tk-TableMatrix-$pkgver.tar.gz")
+source=("http://www.cpan.org/authors/id/C/CE/CERNEY/Tk-TableMatrix-${pkgver}.tar.gz")
md5sums=('6b7653d129bf1a8327054a88b58d6364')
build() {
- cd $srcdir/Tk-TableMatrix-$pkgver
+ cd Tk-TableMatrix-${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
- rm -f $pkgdir/usr/lib/perl5/vendor_perl/auto/Tk/pTk/extralibs.ld
+}
+
+package() {
+ cd Tk-TableMatrix-${pkgver}
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
+
+ rm -f ${pkgdir}/usr/lib/perl5/vendor_perl/auto/Tk/pTk/extralibs.ld
}
diff --git a/community/perl-www-curl/PKGBUILD b/community/perl-www-curl/PKGBUILD
index ebfab1005..66468ec54 100644
--- a/community/perl-www-curl/PKGBUILD
+++ b/community/perl-www-curl/PKGBUILD
@@ -1,23 +1,32 @@
-# $Id: PKGBUILD 35718 2010-12-22 01:29:59Z tdziedzic $
+# $Id: PKGBUILD 47564 2011-05-23 19:59:27Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-www-curl
-pkgver=4.12
-pkgrel=2
+pkgver=4.15
+pkgrel=1
pkgdesc="Perl/CPAN Module WWW::Curl"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/WWW-Curl/"
license=("GPL" "PerlArtistic")
depends=("curl")
-source=("http://search.cpan.org/CPAN/authors/id/S/SZ/SZBALINT/WWW-Curl-$pkgver.tar.gz")
-md5sums=('b7f0eaf81b118d9a9b4e94b40aa40543')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/S/SZ/SZBALINT/WWW-Curl-${pkgver}.tar.gz")
+md5sums=('31c0b8c7e5e2d26bcc8213d702186d5f')
build() {
- cd $srcdir/WWW-Curl-$pkgver
+ cd WWW-Curl-${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
+}
+
+package() {
+ cd WWW-Curl-${pkgver}
+
+ make install DESTDIR=${pkgdir}
+
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name '*.pod' -delete
}
diff --git a/community/perl-xml-libxml/PKGBUILD b/community/perl-xml-libxml/PKGBUILD
index 41b3c887f..c73eca15d 100644
--- a/community/perl-xml-libxml/PKGBUILD
+++ b/community/perl-xml-libxml/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=perl-xml-libxml
pkgver=1.70
-pkgrel=3
+pkgrel=4
pkgdesc="Interface to the libxml library"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/XML-LibXML"
@@ -12,19 +12,21 @@ provides=('perl-libxml' 'perl-xml-libxml-common')
replaces=('perl-libxml' 'perl-xml-libxml-common')
conflicts=('perl-libxml' 'perl-xml-libxml-common')
install=perl-xml-libxml.install
-options=('!emptydirs')
source=(http://www.cpan.org/authors/id/P/PA/PAJAS/XML-LibXML-$pkgver.tar.gz)
md5sums=('33d4294f708e20c298cfe534d1166844')
build() {
- cd $srcdir/XML-LibXML-$pkgver
+ cd $srcdir/XML-LibXML-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
+check() {
+ cd $srcdir/XML-LibXML-$pkgver
+ make test
+}
+
package() {
- cd $srcdir/XML-LibXML-$pkgver
+ cd $srcdir/XML-LibXML-$pkgver
make pure_install doc_install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
}
diff --git a/community/perl-xml-libxslt/PKGBUILD b/community/perl-xml-libxslt/PKGBUILD
index ef92a7ac5..2c9aa87f8 100644
--- a/community/perl-xml-libxslt/PKGBUILD
+++ b/community/perl-xml-libxslt/PKGBUILD
@@ -3,14 +3,14 @@
pkgname=perl-xml-libxslt
pkgver=1.70
-pkgrel=4
+pkgrel=5
pkgdesc="Interface to the gnome libxslt library "
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/XML-LibXSLT"
license=('GPL')
depends=('perl-xml-libxml' 'libxslt')
-options=('!emptydirs')
source=(http://www.cpan.org/authors/id/P/PA/PAJAS/XML-LibXSLT-$pkgver.tar.gz)
+md5sums=('c63a7913999de076e5c911810f69b392')
build() {
cd $srcdir/XML-LibXSLT-$pkgver
@@ -18,11 +18,13 @@ build() {
make
}
+check () {
+ cd $srcdir/XML-LibXSLT-$pkgver
+ make test
+}
+
package() {
cd $srcdir/XML-LibXSLT-$pkgver
make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
}
-md5sums=('c63a7913999de076e5c911810f69b392')
diff --git a/community/perl-xmms/PKGBUILD b/community/perl-xmms/PKGBUILD
index 22e873998..4490b6b3a 100644
--- a/community/perl-xmms/PKGBUILD
+++ b/community/perl-xmms/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 35727 2010-12-22 01:34:30Z tdziedzic $
+# $Id: PKGBUILD 47561 2011-05-23 19:55:02Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Georg Grabler <ggrabler@gmail.com>
pkgname=perl-xmms
pkgver=0.12
-pkgrel=5
+pkgrel=6
pkgdesc="Bundle::Xmms - Bundle for xmms remote control shell"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/~dougm/Xmms-Perl/"
diff --git a/community/pork/PKGBUILD b/community/pork/PKGBUILD
index 74924e477..91e4b4fcf 100644
--- a/community/pork/PKGBUILD
+++ b/community/pork/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 24954 2010-08-29 19:25:12Z jlichtblau $
+# $Id: PKGBUILD 47556 2011-05-23 19:46:39Z tdziedzic $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=pork
pkgver=0.99.8.1
-pkgrel=3
+pkgrel=4
pkgdesc="Console-based AOL Instant Messenger & IRC client"
arch=('i686' 'x86_64' 'mips64el')
url="http://dev.ojnk.net/"
@@ -14,13 +14,16 @@ source=(http://downloads.sourceforge.net/sourceforge/ojnk/$pkgname-$pkgver.tar.g
md5sums=('0c720db7e4e843aeee0fa53ade7cdffd')
build() {
- cd ${srcdir}/$pkgname-$pkgver
- ./configure --prefix=/usr
+ cd $pkgname-$pkgver
+
+ ./configure \
+ --prefix=/usr
+
make
}
package() {
- cd ${srcdir}/$pkgname-$pkgver
+ cd $pkgname-$pkgver
make DESTDIR=${pkgdir} install
-} \ No newline at end of file
+}
diff --git a/community/python-gnutls/PKGBUILD b/community/python-gnutls/PKGBUILD
index ccf7cf14f..f762ea7d9 100644
--- a/community/python-gnutls/PKGBUILD
+++ b/community/python-gnutls/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 26275 2010-09-14 14:29:54Z schuay $
+# $Id: PKGBUILD 50350 2011-06-28 14:23:59Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Hugo Doria <hugo@archlinux.org>
# Contributor: N3RD3X <n3rd3x@linuxmail.org>
pkgname=python-gnutls
-pkgver=1.2.0
-pkgrel=2
+pkgver=1.2.1
+pkgrel=1
pkgdesc="Python wrapper for the GNUTLS library"
arch=('i686' 'x86_64' 'mips64el')
url="http://cheeseshop.python.org/pypi/python-gnutls"
depends=('python2' 'gnutls')
license=('LGPL')
source=(http://pypi.python.org/packages/source/p/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('18a7b92abdc1598b916d7ff5019b72bf')
+md5sums=('b02d29b47830bbd8aec0b13206c2800e')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/community/qtfm/PKGBUILD b/community/qtfm/PKGBUILD
index 2dc9dbede..bfe9d2175 100644
--- a/community/qtfm/PKGBUILD
+++ b/community/qtfm/PKGBUILD
@@ -2,7 +2,7 @@
# Contributor: Wittfella <wittfella@wittfella.com>
pkgname=qtfm
-pkgver=4.9
+pkgver=5.0
pkgrel=1
pkgdesc="A lightweight file manager"
arch=('i686' 'x86_64' 'mips64el')
@@ -10,7 +10,7 @@ url="http://www.qtfm.org"
license=('GPL')
depends=('qt')
source=(http://www.qtfm.org/$pkgname-$pkgver.tar.gz)
-md5sums=('09e4e09f4d18c9967e65249f8b509522')
+md5sums=('ad8e6d2d1533b2b1327cda557251a35d')
build() {
cd "$startdir/src/$pkgname-$pkgver"
diff --git a/community/root/PKGBUILD b/community/root/PKGBUILD
index 833eb0211..4e8feebc8 100644
--- a/community/root/PKGBUILD
+++ b/community/root/PKGBUILD
@@ -2,8 +2,8 @@
# Contributor: Sebastian Voecking <voeck@web.de>
pkgname=root
-pkgver=5.28.00d
-pkgrel=2
+pkgver=5.28.00e
+pkgrel=1
pkgdesc='C++ data analysis framework and interpreter from CERN.'
arch=('i686' 'x86_64' 'mips64el')
url='http://root.cern.ch'
@@ -17,7 +17,7 @@ source=("ftp://root.cern.ch/root/root_v${pkgver}.source.tar.gz"
'rootd'
'root.desktop'
'root.xml')
-md5sums=('53505fcb256df38526d446916e6efc15'
+md5sums=('e023538c046ebdde7f93284b5f6511e2'
'0e883ad44f99da9bc7c23bc102800b62'
'efd06bfa230cc2194b38e0c8939e72af'
'ac61b17395d75a2705fefa2ef841a6bf'
@@ -58,9 +58,6 @@ build() {
# move from aur
#--disable-builtin-afterimage \
- #--with-python-incdir=/usr/include/python2.7/Python.h \
- #--with-python-libdir=/usr/lib/libpython2.7.so
-
make
}
diff --git a/community/simgear/PKGBUILD b/community/simgear/PKGBUILD
index 5d128c96f..2b688116e 100644
--- a/community/simgear/PKGBUILD
+++ b/community/simgear/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 15902 2010-04-17 20:44:11Z spupykin $
+# $Id: PKGBUILD 50327 2011-06-28 11:35:39Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: William Rea <sillywilly@gmail.com>
# Contributor: Hans Janssen <hans@janserv.xs4all.nl>
pkgname=simgear
pkgver=2.0.0
-pkgrel=2
+pkgrel=3
pkgdesc="A set of open-source libraries designed to be used as building blocks for quickly assembling 3d simulations, games, and visualization applications."
arch=(i686 x86_64 'mips64el')
depends=('glut' 'freealut' 'plib' 'openscenegraph')
@@ -19,6 +19,10 @@ md5sums=('414bea545ea1e8ce17e4aa0809159cec')
build() {
cd $startdir/src/SimGear-$pkgver
./configure --prefix=/usr
- make || return 1
+ make
+}
+
+package() {
+ cd $startdir/src/SimGear-$pkgver
make DESTDIR=$startdir/pkg install
}
diff --git a/community/sysstat/PKGBUILD b/community/sysstat/PKGBUILD
index c8ad2ff61..6b564dbd1 100644
--- a/community/sysstat/PKGBUILD
+++ b/community/sysstat/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 44500 2011-04-07 20:45:19Z spupykin $
+# $Id: PKGBUILD 50309 2011-06-28 09:32:14Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Martin Devera <devik@cdi.cz>
pkgname=sysstat
-pkgver=10.0.0
-pkgrel=2
+pkgver=10.0.1
+pkgrel=1
pkgdesc="a collection of performance monitoring tools (iostat,isag,mpstat,pidstat,sadf,sar)"
arch=('i686' 'x86_64' 'mips64el')
url="http://pagesperso-orange.fr/sebastien.godard/"
@@ -15,23 +15,24 @@ optdepends=('tk: to use isag'
options=(zipman)
source=(http://pagesperso-orange.fr/sebastien.godard/$pkgname-$pkgver.tar.gz
sysstat)
-md5sums=('accc17cc1fa855be6b27def77dd92a0d'
+md5sums=('a8b12230452dc0e0b6cae5fd5ec3c579'
'ad46159609a2c13b4a46b506ff847bf6')
build() {
cd $srcdir/$pkgname-$pkgver
-
./configure --prefix=/usr \
--mandir=/usr/share/man \
--enable-install-isag \
--disable-man-group
make
- make DESTDIR=$pkgdir install
+}
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
install -D -m 644 sysstat.sysconfig $pkgdir/etc/sysstat/sysstat
install -D -m 744 cron/sysstat.cron.hourly $pkgdir/etc/cron.hourly/sysstat
install -D -m 744 cron/sysstat.cron.daily $pkgdir/etc/cron.daily/sysstat
install -D -m 755 $srcdir/sysstat $pkgdir/etc/rc.d/sysstat
-
chown -R root:root $pkgdir
}
diff --git a/community/tea/PKGBUILD b/community/tea/PKGBUILD
index c6378a352..87106c1a9 100644
--- a/community/tea/PKGBUILD
+++ b/community/tea/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 48620 2011-06-03 13:51:59Z ibiru $
+# $Id: PKGBUILD 50314 2011-06-28 09:33:06Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Roman Kyrylych <roman@archlinux.org>
@@ -6,8 +6,8 @@
# Contributor: Zsolt Varadi <sysop_xxl@fibermail.hu>
pkgname=tea
-pkgver=29.0.3
-pkgrel=2
+pkgver=30.0.0
+pkgrel=1
pkgdesc="A QT-based text editor for Linux and *BSD. With an ultimate small size TEA provides you hundreds of functions."
arch=('i686' 'x86_64' 'mips64el')
url="http://tea-editor.sourceforge.net/"
@@ -16,12 +16,11 @@ depends=('qt' 'aspell' 'hunspell')
install=tea.install
source=(http://downloads.sourceforge.net/tea-editor/${pkgname}-${pkgver}.tar.bz2
tea.desktop)
-md5sums=('1c900e7f57a0fe72fb4cc481450a5b32'
+md5sums=('07508b4972403fc7c3a72169700e6157'
'377ace3363124f4c086de0babb820761')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
-
qmake PREFIX=/usr/bin
make
}
@@ -29,7 +28,6 @@ build() {
package(){
cd "${srcdir}/${pkgname}-${pkgver}"
make INSTALL_ROOT="${pkgdir}" install
-
install -Dm644 "${srcdir}/tea.desktop" "${pkgdir}/usr/share/applications/tea.desktop"
install -Dm644 icons/tea_icon_v2.png "${pkgdir}/usr/share/pixmaps/tea.png"
}
diff --git a/community/virtualbox/PKGBUILD b/community/virtualbox/PKGBUILD
index f8331eaea..8756295d8 100644
--- a/community/virtualbox/PKGBUILD
+++ b/community/virtualbox/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 49114 2011-06-11 08:28:49Z ibiru $
+# $Id: PKGBUILD 50284 2011-06-27 19:43:47Z ibiru $
#Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgbase=virtualbox
pkgname=('virtualbox' 'virtualbox-guest-additions' 'virtualbox-guest-modules' 'virtualbox-sdk')
-pkgver=4.0.8
-pkgrel=4
+pkgver=4.0.10
+pkgrel=1
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL' 'custom')
@@ -204,8 +204,8 @@ package_virtualbox-guest-modules(){
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-guest-modules.install"
}
-md5sums=('a3e81289f2357fcf4bbe3e77805f38b6'
- '39712ccbc16b04c1cda209ae16446bf2'
+md5sums=('956af570597850ab4d3275b54bbed049'
+ '75cdbfe8621be72b67666187c5acf172'
'44efb3c4be214daa453a317d527f1f30'
'32a232b43852b9a08cb11a7bcd64b347'
'5f85710e0b8606de967716ded7b2d351'
diff --git a/community/wml/PKGBUILD b/community/wml/PKGBUILD
index af9337299..b08069bb4 100644
--- a/community/wml/PKGBUILD
+++ b/community/wml/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: PKGBUILD 30972 2010-10-24 14:22:26Z ibiru $
+# $Id: PKGBUILD 47762 2011-05-25 13:41:49Z tdziedzic $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=wml
pkgver=2.0.11
-pkgrel=5
+pkgrel=6
pkgdesc="The Website Meta Language"
arch=('i686' 'x86_64' 'mips64el')
url="http://thewml.org/"
license=('GPL')
-depends=('perl' 'libpng' 'gdbm' 'db>=4.8.24' 'ncurses')
+depends=('perl' 'libpng' 'gdbm' 'db' 'ncurses')
makedepends=('lynx')
source=("http://thewml.org/distrib/${pkgname}-${pkgver}.tar.gz")
md5sums=('a26feebf4e59e9a6940f54c69dde05b5')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
# missing Perl modules fix
sed -i 's/PREFIX=$(libdir)\/perl/DESTDIR=\.\.\/\.\.\/\.\.\/\.\.\/pkg\/ PREFIX=$(libdir)\/perl/' wml_common/Makefile.in
sed -i 's/$(MAKE) pure_perl_install $(MM_INSTALL_OPTS)/$(MAKE) pure_perl_install/' wml_common/Makefile.in
unset LDFLAGS
- ./configure --prefix=/usr
+ ./configure \
+ --prefix=/usr
# compile fixhack
sed -i 's#/usr/lib/perl5/core_perl/auto/DynaLoader/DynaLoader.a##' wml_backend/p3_eperl/Makefile
@@ -28,8 +29,13 @@ build() {
sed -i 's|strip $dsttmp|#strip $dsttmp|' etc/shtool
mkdir -p ${pkgdir}/usr/bin ${pkgdir}/usr/lib/wml/exec ${pkgdir}/usr/man/man{1,3,7} ${pkgdir}/usr/man/cat{1,7}
-# make clean || return 1
+# make clean
make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
make prefix=${pkgdir}/usr install
[ -d ${pkgdir}/usr/man ] && mkdir -p ${pkgdir}/usr/share && mv ${pkgdir}/usr/man ${pkgdir}/usr/share
diff --git a/community/znc/PKGBUILD b/community/znc/PKGBUILD
index 05ae2d741..64523d90d 100644
--- a/community/znc/PKGBUILD
+++ b/community/znc/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 44397 2011-04-07 02:06:55Z kchen $
+# $Id: PKGBUILD 47765 2011-05-25 13:51:21Z tdziedzic $
# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
# Contributor: mickael9 <mickael9 at gmail dot com>
pkgname=znc
pkgver=0.098
-pkgrel=2
+pkgrel=3
pkgdesc='An IRC bouncer with modules & scripts support'
url='http://en.znc.in/wiki/index.php/ZNC'
license=('GPL2')
@@ -13,21 +13,28 @@ arch=('i686' 'x86_64' 'mips64el')
depends=('c-ares' 'gcc-libs' 'openssl')
makedepends=('swig' 'tcl' 'python' 'perl' 'cyrus-sasl')
optdepends=('tcl: modtcl module'
- 'python: modpython module'
- 'perl: modperl module'
- 'cyrus-sasl: saslauth module')
+ 'python: modpython module'
+ 'perl: modperl module'
+ 'cyrus-sasl: saslauth module')
-md5sums=('38eec4f1911a68b4d2fc704170e7cbf6')
-source=("http://znc.in/releases/$pkgname-$pkgver.tar.gz")
+source=("http://znc.in/releases/znc-${pkgver}.tar.gz")
+md5sums=('5667b4acb1f01309d6eded77abac700c')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd znc-${pkgver}
+
./configure --prefix=/usr \
--enable-sasl \
--enable-tcl \
--enable-python \
--enable-perl \
--enable-extra
- make; make DESTDIR="$pkgdir" install
+
+ make
+}
+
+package() {
+ cd znc-${pkgver}
+
+ make DESTDIR=${pkgdir} install
}
-md5sums=('5667b4acb1f01309d6eded77abac700c')
diff --git a/core/binutils/PKGBUILD b/core/binutils/PKGBUILD
index bc2ef6e31..53302b45a 100644
--- a/core/binutils/PKGBUILD
+++ b/core/binutils/PKGBUILD
@@ -1,25 +1,23 @@
-# $Id: PKGBUILD 126772 2011-06-07 07:37:01Z allan $
+# $Id: PKGBUILD 129398 2011-06-27 11:06:48Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
-pkgver=2.21
-pkgrel=9
-_date=20110605
+pkgver=2.21.1
+pkgrel=1
+_date=20110627
pkgdesc="A set of programs to assemble and manipulate binary and object files"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/binutils/"
license=('GPL')
groups=('base')
depends=('glibc>=2.14' 'zlib')
-makedepends=('dejagnu')
+checkdepends=('dejagnu')
options=('!libtool' '!distcc' '!ccache')
install=binutils.install
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2
- binutils-2.21-strip-segfault.patch)
-md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec'
- '98e8dfaf1c0ededa586823ebfb27825a')
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
+md5sums=('2face559e80d649ba148e42bb2d1fb0f')
mksource() {
mkdir ${pkgname}-${_date}
@@ -32,10 +30,6 @@ mksource() {
}
build() {
- cd ${srcdir}/binutils
- # http://sourceware.org/bugzilla/show_bug.cgi?id=12632
- patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch
-
cd ${srcdir}
mkdir binutils-build && cd binutils-build
@@ -47,7 +41,7 @@ build() {
--enable-plugins --enable-threads \
--enable-shared $CONFIGFLAG
- # This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
+ # check the host environment and makes sure all the necessary tools are available
make configure-host
make tooldir=${pkgdir}/usr
diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD
index 82019ab6e..1f3862e21 100644
--- a/core/gcc/PKGBUILD
+++ b/core/gcc/PKGBUILD
@@ -1,26 +1,31 @@
-# $Id: PKGBUILD 126776 2011-06-07 08:00:51Z allan $
+# $Id: PKGBUILD 129471 2011-06-28 04:17:45Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
# NOTE: libtool requires rebuilt with each new gcc version
-pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc')
-pkgver=4.6.0
-pkgrel=7
-_snapshot=4.6-20110603
+pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go')
+pkgver=4.6.1
+pkgrel=1
+#_snapshot=4.6-20110603
_libstdcppmanver=20110201 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://gcc.gnu.org"
-makedepends=('binutils>=2.21-9' 'libmpc' 'cloog' 'ppl' 'dejagnu')
+makedepends=('binutils>=2.21-9' 'libmpc' 'cloog' 'ppl' 'gcc-ada')
+checkdepends=('dejagnu')
options=('!libtool' '!emptydirs')
-source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
- ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
+ #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
gcc_pure64.patch
gcc_mips64el_lib.patch
gcc-hash-style-both.patch)
+md5sums=('c57a9170c677bf795bdc04ed796ca491'
+ '1e9fd2eaf0ee47ea64e82c48998f1999'
+ '4030ee1c08dd1e843c0225b772360e76'
+ '4df25b623799b148a0703eaeec8fdf3f')
if [ -n "${_snapshot}" ]; then
_basedir="${srcdir}/gcc-${_snapshot}"
@@ -82,7 +87,7 @@ package_gcc-libs()
{
pkgdesc="Runtime libraries shipped by GCC"
groups=('base')
- depends=('glibc>=2.13')
+ depends=('glibc>=2.14')
install=gcc-libs.install
cd gcc-build
@@ -111,7 +116,7 @@ package_gcc-libs()
package_gcc()
{
pkgdesc="The GNU Compiler Collection - C and C++ frontends"
- depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.21-9' 'libmpc' 'cloog' 'ppl')
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.21.1' 'libmpc' 'cloog' 'ppl')
groups=('base-devel')
install=gcc.install
@@ -189,7 +194,8 @@ package_gcc-fortran()
install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
# remove libraries included in gcc-libs
- rm ${pkgdir}/usr/lib/libgfortran.so*
+ rm ${pkgdir}/usr/lib/lib{gfortran,quadmath}.so*
+ rm ${pkgdir}/usr/share/info/libquadmath.info
# Install Runtime Library Exception
install -Dm644 ${_basedir}/COPYING.RUNTIME \
diff --git a/core/idnkit/PKGBUILD b/core/idnkit/PKGBUILD
index 60b099f60..ad97b1283 100644
--- a/core/idnkit/PKGBUILD
+++ b/core/idnkit/PKGBUILD
@@ -17,6 +17,8 @@ backup=('etc/idnalias.conf' 'etc/idn.conf')
build() {
cd "${srcdir}/idnkit-${pkgver}-src"
./configure \
+ --host=$CHOST \
+ --build=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
diff --git a/core/libtool/PKGBUILD b/core/libtool/PKGBUILD
index ffc562974..68b6e938d 100644
--- a/core/libtool/PKGBUILD
+++ b/core/libtool/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 116987 2011-03-27 06:40:02Z allan $
+# $Id: PKGBUILD 129474 2011-06-28 04:34:20Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
@@ -6,12 +6,12 @@
pkgname=libtool
pkgver=2.4
-pkgrel=3
+pkgrel=4
pkgdesc="A generic library support script"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/libtool"
license=('GPL')
-depends=('sh' 'tar' 'texinfo')
+depends=('sh' 'tar' 'gcc=4.6.1')
groups=('base-devel')
options=('!libtool')
install=libtool.install
@@ -22,6 +22,10 @@ build() {
cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr
make
+}
+
+check() {
+ cd ${srcdir}/${pkgname}-${pkgver}
make check
}
diff --git a/core/libtool/libtool.install b/core/libtool/libtool.install
index 424c8cb88..73cf56422 100644
--- a/core/libtool/libtool.install
+++ b/core/libtool/libtool.install
@@ -1,4 +1,4 @@
-infodir=/usr/share/info
+infodir=usr/share/info
filelist=(libtool.info libtool.info-1 libtool.info-2)
post_install() {
@@ -18,5 +18,3 @@ pre_remove() {
install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
-
-# vim:set ts=2 sw=2 et:
diff --git a/core/lvm2/PKGBUILD b/core/lvm2/PKGBUILD
index 39e3b4561..9589fa588 100644
--- a/core/lvm2/PKGBUILD
+++ b/core/lvm2/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=('lvm2' 'device-mapper')
pkgver=2.02.85
_pkgverlvm=${pkgver}
pkgrel=2
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
url="http://sourceware.org/lvm2/"
license=('GPL2' 'LGPL2.1')
groups=('base')
diff --git a/core/mkinitcpio-busybox/PKGBUILD b/core/mkinitcpio-busybox/PKGBUILD
index 7b59c45c8..7458facf3 100644
--- a/core/mkinitcpio-busybox/PKGBUILD
+++ b/core/mkinitcpio-busybox/PKGBUILD
@@ -17,11 +17,14 @@ build() {
cd "${srcdir}/busybox-${pkgver}"
unset CFLAGS CXXFLAGS
- if [ ${CARCH} = "x86_64" ]; then
- sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=x86-64 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config
- else
- sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=i686 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config
- fi
+ case $CARCH in
+ x86_64)
+ sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=x86-64 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config ;;
+ i686)
+ sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=i686 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config ;;
+ mips64el)
+ sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-O2 -march=loongson2f -mabi=n32 -mplt -Wa,-mfix-loongson2f-nop -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config ;;
+ esac
make
}
diff --git a/core/module-init-tools/PKGBUILD b/core/module-init-tools/PKGBUILD
index 0b1f4e14c..d3299c964 100644
--- a/core/module-init-tools/PKGBUILD
+++ b/core/module-init-tools/PKGBUILD
@@ -1,27 +1,30 @@
-# $Id: PKGBUILD 126053 2011-06-01 05:32:56Z andyrtr $
+# $Id: PKGBUILD 128937 2011-06-25 14:35:00Z dreisner $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=module-init-tools
-pkgver=3.13
+pkgver=3.16
pkgrel=1
pkgdesc="utilities needed by Linux systems for managing loadable kernel modules"
arch=('i686' 'x86_64' 'mips64el')
url="http://kerneltools.org"
license=('GPL')
depends=('glibc')
+makedepends=('docbook2x')
backup=('etc/modprobe.d/modprobe.conf')
source=(http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-$pkgver.tar.bz2
- modprobe.conf)
-md5sums=('dc575e7df00d9f745bf23b32f927b7a6'
- '316f1bda4c21af02b30252eb014a0a55')
+ modprobe.conf
+ docfix.patch)
+md5sums=('bc44832c6e41707b8447e2847d2019f5'
+ '316f1bda4c21af02b30252eb014a0a55'
+ '4320d19902ded43bed55c804b065cdc7')
build() {
cd $srcdir/$pkgname-$pkgver
-
- # do not regenerate man pages
- touch *.{5,8}
-
+
+ # fix headers in SGML manpage sources and an XML typo
+ patch -Np0 < "$srcdir/docfix.patch"
+
./configure --prefix=/usr --exec-prefix=/ --enable-zlib
make
}
@@ -30,10 +33,7 @@ package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir install
-
+
# Install our custom (read: empty) modprobe.conf
install -Dm644 $srcdir/modprobe.conf $pkgdir/etc/modprobe.d/modprobe.conf
-
- # fix man page (FS#17559)
- sed -i "s#mod#man5/mod#" $pkgdir/usr/share/man/man5/modprobe.d.5
}
diff --git a/core/module-init-tools/docfix.patch b/core/module-init-tools/docfix.patch
new file mode 100644
index 000000000..0151ca3f1
--- /dev/null
+++ b/core/module-init-tools/docfix.patch
@@ -0,0 +1,90 @@
+--- doc/depmod.conf.sgml.orig 2011-06-25 10:07:15.897805024 -0400
++++ doc/depmod.conf.sgml 2011-06-25 10:07:48.810805020 -0400
+@@ -1,4 +1,5 @@
+-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+ <!ENTITY docbook "<productname>DocBook</productname>">
+ <!ENTITY sgml "<abbrev>SGML</abbrev>">
+--- doc/depmod.sgml.orig 2011-06-25 10:07:15.898805024 -0400
++++ doc/depmod.sgml 2011-06-25 10:07:56.636805021 -0400
+@@ -1,4 +1,5 @@
+-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+ <!ENTITY docbook "<productname>DocBook</productname>">
+ <!ENTITY sgml "<abbrev>SGML</abbrev>">
+@@ -52,7 +52,7 @@
+ <arg><option>-n</option></arg>
+ <arg><option>-v</option></arg>
+ <arg><option>-P <replaceable>prefix</replaceable></option></arg>
+- <arg><option>-w</option><arg>
++ <arg><option>-w</option></arg>
+ <arg><option><replaceable>version</replaceable></option></arg>
+ <arg rep='repeat'><option><replaceable>filename</replaceable></option></arg>
+ </cmdsynopsis>
+--- doc/insmod.sgml.orig 2011-06-25 10:07:15.899805024 -0400
++++ doc/insmod.sgml 2011-06-25 10:07:59.228805019 -0400
+@@ -1,4 +1,5 @@
+-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+ <!ENTITY docbook "<productname>DocBook</productname>">
+ <!ENTITY sgml "<abbrev>SGML</abbrev>">
+--- doc/lsmod.sgml.orig 2011-06-25 10:07:15.899805024 -0400
++++ doc/lsmod.sgml 2011-06-25 10:08:04.804805020 -0400
+@@ -1,4 +1,5 @@
+-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+ <!ENTITY docbook "<productname>DocBook</productname>">
+ <!ENTITY sgml "<abbrev>SGML</abbrev>">
+--- doc/modinfo.sgml.orig 2011-06-25 10:07:15.900805024 -0400
++++ doc/modinfo.sgml 2011-06-25 10:08:07.630805019 -0400
+@@ -1,4 +1,5 @@
+-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+ <!ENTITY docbook "<productname>DocBook</productname>">
+ <!ENTITY sgml "<abbrev>SGML</abbrev>">
+--- doc/modprobe.conf.sgml.orig 2011-06-25 10:07:15.901805024 -0400
++++ doc/modprobe.conf.sgml 2011-06-25 10:08:10.173805018 -0400
+@@ -1,4 +1,5 @@
+-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+ <!ENTITY docbook "<productname>DocBook</productname>">
+ <!ENTITY sgml "<abbrev>SGML</abbrev>">
+--- doc/modprobe.sgml.orig 2011-06-25 10:07:15.902805024 -0400
++++ doc/modprobe.sgml 2011-06-25 10:08:13.623805019 -0400
+@@ -1,4 +1,5 @@
+-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+ <!ENTITY docbook "<productname>DocBook</productname>">
+ <!ENTITY sgml "<abbrev>SGML</abbrev>">
+--- doc/modules.dep.sgml.orig 2011-06-25 10:07:15.903805024 -0400
++++ doc/modules.dep.sgml 2011-06-25 10:08:19.323805019 -0400
+@@ -1,4 +1,5 @@
+-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+ <!ENTITY docbook "<productname>DocBook</productname>">
+ <!ENTITY sgml "<abbrev>SGML</abbrev>">
+--- doc/rmmod.sgml.orig 2011-06-25 10:07:15.904805024 -0400
++++ doc/rmmod.sgml 2011-06-25 10:08:27.691805017 -0400
+@@ -1,4 +1,5 @@
+-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
+ <!ENTITY docbook "<productname>DocBook</productname>">
+ <!ENTITY sgml "<abbrev>SGML</abbrev>">
diff --git a/core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch b/core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
new file mode 100644
index 000000000..1404460df
--- /dev/null
+++ b/core/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/core/perl/ChangeLog b/core/perl/ChangeLog
index 2de069d5d..9add39e20 100644
--- a/core/perl/ChangeLog
+++ b/core/perl/ChangeLog
@@ -1,3 +1,19 @@
+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
diff --git a/core/perl/PKGBUILD b/core/perl/PKGBUILD
index d0a20a43d..6b24e8eb8 100644
--- a/core/perl/PKGBUILD
+++ b/core/perl/PKGBUILD
@@ -1,136 +1,28 @@
-# $Id: PKGBUILD 107935 2011-01-27 21:58:49Z angvp $
-# Maintainer: kevin <kevin.archlinux.org>
+# $Id: PKGBUILD 128400 2011-06-23 21:11:34Z angvp $
+# 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.12.3
+pkgver=5.14.1
pkgrel=1
pkgdesc="A highly capable, feature-rich programming language"
arch=(i686 x86_64 'mips64el')
license=('GPL' 'PerlArtistic')
url="http://www.perl.org"
groups=('base')
-depends=('gdbm' 'db>=4.8' 'coreutils' 'glibc' 'sh')
+depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh')
changelog=ChangeLog
-source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2 perlbin.sh fix-h2ph-and-tests.patch)
+source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
+perlbin.sh
+perlbin.csh
+0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch)
install=perl.install
-provides=(
-perl-archive-extract=0.38
-perl-archive-tar=1.54
-perl-attribute-handlers=0.87
-perl-autodie=2.06_01
-perl-autoloader=5.70
-perl-base=2.15
-perl-b-debug=1.12
-perl-bignum=0.23
-perl-b-lint=1.11_01
-perl-cgi=3.49
-perl-class-isa=0.36
-perl-compress-raw-bzip2=2.024
-perl-compress-raw-zlib=2.024
-perl-constant=1.20
-perl-cpan=1.94_56
-perl-cpanplus=0.90
-perl-cpanplus-dist-build=0.46
-perl-data-dumper=2.125
-perl-db_file=1.820
-perl-devel-dprof=20080331.00
-perl-devel-peek=1.04
-perl-devel-ppport=3.19
-perl-digest=1.16
-perl-digest-md5=2.39
-perl-digest-sha=5.47
-perl-encode=2.39
-perl-encoding-warnings=0.11
-perl-exporter=5.64_01
-perl-extutils-cbuilder=0.27
-perl-extutils-command=1.16
-perl-extutils-constant=0.22
-perl-extutils-embed=1.28
-perl-extutils-install=1.55
-perl-extutils-makemaker=6.56
-perl-extutils-manifest=1.57
-perl-extutils-parsexs=2.21
-perl-file-fetch=0.24
-perl-file-path=2.08_01
-perl-file-temp=0.22
-perl-filter=1.37
-perl-filter-simple=0.84
-perl-getopt-long=2.38
-perl-if=0.05
-perl-io=1.25_02
-perl-io-compress=2.024
-perlio-via-quotedprint=0.06
-perl-io-zlib=1.10
-perl-ipc-cmd=0.54
-perl-ipc-sysv=2.01
-perl-libnet=1.22
-perl-locale-codes=2.07
-perl-locale-maketext=1.14
-perl-locale-maketext-simple=0.21
-perl-log-message=0.02
-perl-log-message-simple=0.06
-perl-math-bigint=1.89_01
-perl-math-bigint-fastcalc=0.19
-perl-math-bigrat=0.24
-perl-math-complex=1.56
-perl-memoize=1.01_03
-perl-mime-base64=3.08
-perl-module-build=0.3603
-perl-module-corelist=2.29
-perl-module-load=0.16
-perl-module-load-conditional=0.34
-perl-module-loaded=0.06
-perl-module-pluggable=3.9
-perl-net-ping=2.36
-perl-next=0.64
-perl-object-accessor=0.36
-perl-package-constants=0.02
-perl-params-check=0.26
-perl-parent=0.223
-perl-parse-cpan-meta=1.40
-perl-pathtools=3.31
-perl-pod-escapes=1.04
-perl-pod-latex=0.58
-perl-podlators=2.3.1
-perl-pod-parser=1.37
-perl-pod-perldoc=3.15_02
-perl-pod-plainer=1.02
-perl-pod-simple=3.14
-perl-safe=2.27
-perl-scalar-list-utils=1.22
-perl-selfloader=1.17
-perl-shell=0.72_01
-perl-storable=2.22
-perl-switch=2.16
-perl-sys-syslog=0.27
-perl-term-ansicolor=2.02
-perl-term-cap=1.12
-perl-term-ui=0.20
-perl-test=1.25_02
-perl-test-harness=3.17
-perl-test-simple=0.94
-perl-text-balanced=2.02
-perl-text-parsewords=3.27
-perl-text-soundex=3.03_01
-perl-text-tabs+wraps=2009.0305
-perl-thread-queue=2.11
-perl-threads=1.75
-perl-thread-semaphore=2.09
-perl-threads-shared=1.32
-perl-tie-file=0.97_02
-perl-tie-refhash=1.38
-perl-time-hires=1.9719
-perl-time-local=1.1901_01
-perl-time-piece=1.15_01
-perl-unicode-collate=0.52_01
-perl-unicode-normalize=1.03
-perl-version=0.82
-perl-win32=0.39
-perl-win32api-file=0.1101
-perl-xsloader=0.10
-)
options=('!makeflags' '!purge')
+md5sums=('97cd306a2c22929cc141a09568f43bb0'
+ '5ed2542fdb9a60682f215bd33701e61a'
+ 'd76445605c49886c77734446247e439d'
+ 'c25d86206d649046538c3daab7874564')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -154,9 +46,9 @@ build() {
-Dsitescript=/usr/bin/site_perl \
-Dvendorscript=/usr/bin/vendor_perl \
-Dinc_version_list=none \
- -Dman1ext=1perl -Dman3ext=3perl ${arch_opts}
- #-Dotherlibdirs=/usr/lib/perl5/site_perl/5.10.1:/usr/share/perl5/site_perl/5.10.1:/usr/lib/perl5/current:/usr/lib/perl5/site_perl/current \
- patch -Np1 -i $srcdir/fix-h2ph-and-tests.patch
+ -Dman1ext=1perl -Dman3ext=3perl ${arch_opts} \
+ -Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}"
+ patch -Np1 -i $srcdir/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
make
}
package() {
@@ -183,9 +75,12 @@ package() {
-e "/{'buildflags'}/ s/'';/'installdirs=site';/" \
-i ${pkgdir}/usr/share/perl5/core_perl/CPANPLUS/Config.pm
- # Profile script so set paths to perl scripts.
+ # 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)
@@ -202,7 +97,7 @@ package() {
done
find $pkgdir/usr/lib -name *.pod -delete
find $pkgdir -name .packlist -delete
+ # Add /usr/lib/perl5/core_perl/CORE/ to standard library path (FS#24660)
+ install -dv ${pkgdir}/etc/ld.so.conf.d
+ echo "/usr/lib/perl5/core_perl/CORE" > ${pkgdir}/etc/ld.so.conf.d/perl.conf
}
-md5sums=('72f3f7e1c700e79bbf9d9279ca5b42d9'
- 'f86eb0dba1638ca6d1c8fff1b06c2a71'
- '294b5311cbfc50e7dcffbee85854da38')
diff --git a/core/perl/perlbin.csh b/core/perl/perlbin.csh
new file mode 100644
index 000000000..cc0d5d553
--- /dev/null
+++ b/core/perl/perlbin.csh
@@ -0,0 +1,17 @@
+# 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/core/perl/perlbin.sh b/core/perl/perlbin.sh
index 09811a8b4..20f830436 100755
--- a/core/perl/perlbin.sh
+++ b/core/perl/perlbin.sh
@@ -3,18 +3,13 @@
# 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/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/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
+[ -d /usr/bin/core_perl ] && PATH=$PATH:/usr/bin/core_perl
export PATH
diff --git a/core/readline/PKGBUILD b/core/readline/PKGBUILD
index ea85a190e..f44e6be37 100644
--- a/core/readline/PKGBUILD
+++ b/core/readline/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 111803 2011-03-01 02:29:23Z allan $
+# $Id: PKGBUILD 129370 2011-06-27 05:49:47Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
@@ -6,13 +6,15 @@ pkgname=readline
_basever=6.2
_patchlevel=001 #prepare for some patches
pkgver=$_basever.$_patchlevel
-pkgrel=1
+pkgrel=2
pkgdesc="GNU readline library"
arch=('i686' 'x86_64' 'mips64el')
url="http://tiswww.case.edu/php/chet/readline/rltop.html"
license=('GPL')
depends=('glibc' 'ncurses')
backup=('etc/inputrc')
+options=('!emptydirs')
+install=readline.install
source=(http://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz
inputrc)
if [ $_patchlevel -gt 00 ]; then
diff --git a/core/readline/readline.install b/core/readline/readline.install
index a8ffe80c6..06b646f23 100644
--- a/core/readline/readline.install
+++ b/core/readline/readline.install
@@ -1,17 +1,13 @@
infodir=usr/share/info
filelist=(history.info readline.info rluserman.info)
-post_install() {
+post_upgrade() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
-post_upgrade() {
- post_install $1
-}
-
pre_remove() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
diff --git a/core/xfsprogs/PKGBUILD b/core/xfsprogs/PKGBUILD
index 6751be9ec..9d01c2a9b 100644
--- a/core/xfsprogs/PKGBUILD
+++ b/core/xfsprogs/PKGBUILD
@@ -17,6 +17,7 @@ md5sums=('b1db37749e2b4149a0dd178abff956be')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
export OPTIMIZER="-march=${CARCH/_/-} -O1"
+ [ "$CARCH" = "mips64el" ] && export OPTIMIZER="-mabi=n32 -march=loongson2f -O1"
export DEBUG=-DNDEBUG
make
}
diff --git a/extra/amarok/PKGBUILD b/extra/amarok/PKGBUILD
index fe6d67a7f..987b412c3 100644
--- a/extra/amarok/PKGBUILD
+++ b/extra/amarok/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 122696 2011-05-06 06:26:05Z andrea $
+# $Id: PKGBUILD 129446 2011-06-27 20:27:37Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgname=amarok
replaces=('amarok-base' 'amarok-engine-xine' 'amarok-base-mysqlfree')
pkgver=2.4.1
-pkgrel=1
+pkgrel=3
pkgdesc="The powerful music player for KDE"
arch=("i686" "x86_64" 'mips64el')
url="http://amarok.kde.org"
diff --git a/extra/botan/PKGBUILD b/extra/botan/PKGBUILD
index 410f455fc..1623c55c4 100644
--- a/extra/botan/PKGBUILD
+++ b/extra/botan/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 98518 2010-11-10 20:05:00Z angvp $
+# $Id: PKGBUILD 128341 2011-06-23 05:31:14Z angvp $
# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor: d'Ronin <daronin@2600.com>
pkgname=botan
-pkgver=1.8.11
+pkgver=1.10.0
pkgrel=1
pkgdesc="BSD-licensed crypto library written in C++"
license=('BSD')
@@ -12,14 +12,17 @@ url="http://botan.randombit.net/"
depends=('gcc-libs' 'sh')
makedepends=('python2')
source=(http://files.randombit.net/botan/Botan-${pkgver}.tgz)
-options=('force')
-md5sums=('ccb2c3cb8a324214a89b45a03422870b')
+md5sums=('1f03a6a84f402a12e50665868dddae99')
build() {
cd ${srcdir}/Botan-${pkgver}
sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' configure.py
./configure.py --prefix=/usr
make
+}
+
+package() {
+ cd ${srcdir}/Botan-${pkgver}
make DESTDIR=${pkgdir}/usr install
}
diff --git a/extra/cairo-perl/PKGBUILD b/extra/cairo-perl/PKGBUILD
index dfad5c81d..8f260c3a8 100644
--- a/extra/cairo-perl/PKGBUILD
+++ b/extra/cairo-perl/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 104389 2011-01-02 04:22:32Z kevin $
+# $Id: PKGBUILD 124873 2011-05-24 21:13:32Z remy $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=cairo-perl
_realname=Cairo
pkgver=1.061
-pkgrel=3
+pkgrel=4
pkgdesc="Perl wrappers for cairo"
arch=(i686 x86_64 'mips64el')
license=('LGPL')
url="http://gtk2-perl.sourceforge.net/"
options=('!emptydirs')
-depends=('cairo>=1.8.10' 'perl>=5.12.1')
+depends=('cairo>=1.8.10' 'perl>=5.14')
makedepends=('perl-extutils-depends' 'perl-extutils-pkgconfig')
source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/${_realname}-${pkgver}.tar.gz)
md5sums=('08cd5e847f61858651fc4de769066e88')
@@ -21,6 +21,11 @@ build() {
make
}
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make test || true
+}
+
package() {
cd "${srcdir}/${_realname}-${pkgver}"
make DESTDIR="${pkgdir}" install
diff --git a/extra/claws-mail-extra-plugins/PKGBUILD b/extra/claws-mail-extra-plugins/PKGBUILD
index b1cd6cbc9..7d8ed522b 100644
--- a/extra/claws-mail-extra-plugins/PKGBUILD
+++ b/extra/claws-mail-extra-plugins/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 121174 2011-04-29 06:49:28Z andyrtr $
+# $Id: PKGBUILD 125144 2011-05-25 19:01:27Z foutrelis $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Mildred <mildred593 at online dot fr>
pkgname=claws-mail-extra-plugins
pkgver=3.7.9
-pkgrel=3
+pkgrel=4
pkgdesc="Extra plugins for claws-mail"
url="http://www.claws-mail.org/plugins.php?branch=EXT"
license=('GPL3')
diff --git a/extra/cpufrequtils/PKGBUILD b/extra/cpufrequtils/PKGBUILD
index 3a6d4abb8..21ffbe1cd 100644
--- a/extra/cpufrequtils/PKGBUILD
+++ b/extra/cpufrequtils/PKGBUILD
@@ -14,19 +14,23 @@ depends=('sysfsutils')
backup=('etc/conf.d/cpufreq')
source=(http://www.kernel.org/pub/linux/utils/kernel/cpufreq/${pkgname}-${pkgver}.tar.bz2
cpufreq.rcd
- cpufreq.confd)
-options=(!libtool)
+ cpufreq.confd
+ cpufrequtils-mips.patch)
+options=(!libtool !distcc)
md5sums=('c59b71c044d463896f3247e8dd83dd7e'
'7f2b5085df44d2df3e7c2d0b9f6dab08'
- 'baae1f2abffc6bef2bd32a8dd8263c09')
+ 'baae1f2abffc6bef2bd32a8dd8263c09'
+ 'edbe311e6813f3b395a08b7f174065c1')
build()
{
cd "${srcdir}/${pkgname}-${pkgver}"
- make -j1 || return 1
- make INSTALL="/bin/install -c" mandir=/usr/share/man DESTDIR="${pkgdir}" install || return 1
+ [ "$CARCH" = "mips64el" ] && patch -Np0 -i ${srcdir}/cpufrequtils-mips.patch
- install -D -m755 ${srcdir}/cpufreq.rcd "${pkgdir}/etc/rc.d/cpufreq" || return 1
- install -D -m644 ${srcdir}/cpufreq.confd "${pkgdir}/etc/conf.d/cpufreq" || return 1
+ make -j1
+ make INSTALL="/bin/install -c" mandir=/usr/share/man DESTDIR="${pkgdir}" install
+
+ install -D -m755 ${srcdir}/cpufreq.rcd "${pkgdir}/etc/rc.d/cpufreq"
+ install -D -m644 ${srcdir}/cpufreq.confd "${pkgdir}/etc/conf.d/cpufreq"
}
diff --git a/extra/cpufrequtils/cpufrequtils-mips.patch b/extra/cpufrequtils/cpufrequtils-mips.patch
new file mode 100644
index 000000000..cba8ab48b
--- /dev/null
+++ b/extra/cpufrequtils/cpufrequtils-mips.patch
@@ -0,0 +1,18 @@
+--- utils/aperf.c.orig 2010-07-18 01:38:02.000000000 +0800
++++ utils/aperf.c 2010-07-18 01:38:39.000000000 +0800
+@@ -68,11 +68,15 @@
+
+ static int cpu_has_effective_freq()
+ {
++#if defined(__i386__) || defined(__x86_64__)
+ /* largest base level */
+ if (cpuid_eax(0) < 6)
+ return 0;
+
+ return cpuid_ecx(6) & 0x1;
++#else
++ return 0;
++#endif
+ }
+
+ /*
diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD
index 686a8ae63..f8b644fa8 100644
--- a/extra/cups/PKGBUILD
+++ b/extra/cups/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 127716 2011-06-17 19:45:36Z andyrtr $
+# $Id: PKGBUILD 129509 2011-06-28 15:26:54Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase="cups"
pkgname=('libcups' 'cups')
-pkgver=1.4.6
-pkgrel=4
-arch=('i686' 'x86_64' 'mips64el')
+pkgver=1.4.7
+pkgrel=1
+arch=('i686' 'x86_64')
license=('GPL')
url="http://www.cups.org/"
makedepends=('libtiff>=3.9.2-2' 'libpng>=1.4.0' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'poppler>=0.12.3'
@@ -14,7 +14,7 @@ source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
cups-avahi.patch
cups cups.logrotate cups.pam)
#options=('!emptydirs')
-md5sums=('de8fb5a29c36554925c0c6a6e2c0dae1'
+md5sums=('1590033ab4c739b859aeb672fe849089'
'8ebd390197501ffd709f0ee546937fd5'
'9657daa21760bb0b5fa3d8b51d5e01a1'
'f861b18f4446c43918c8643dcbbd7f6d'
diff --git a/extra/curl/PKGBUILD b/extra/curl/PKGBUILD
index 1ee81f0e3..556c4076e 100644
--- a/extra/curl/PKGBUILD
+++ b/extra/curl/PKGBUILD
@@ -20,8 +20,6 @@ source=(http://curl.haxx.se/download/${pkgname}-${pkgver}.tar.bz2
[[ $CARCH == "x86_64" ]] && _curlbuild=curlbuild-64.h
[[ $CARCH == "i686" ]] && _curlbuild=curlbuild-32.h
[[ $CARCH == "mips64el" ]] && _curlbuild=curlbuild-32.h
-md5sums=('5f6d50c4d4ee38c57fe37e3cff75adbd'
- '751bd433ede935c8fae727377625a8ae')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/extra/dvdrip/PKGBUILD b/extra/dvdrip/PKGBUILD
index 41f6a3ab2..dae30451d 100644
--- a/extra/dvdrip/PKGBUILD
+++ b/extra/dvdrip/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 110171 2011-02-17 08:54:21Z giovanni $
+# $Id: PKGBUILD 126069 2011-06-01 10:23:05Z foutrelis $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Fredrik Hammar <Horney_C86@Hotmail.com>
pkgname=dvdrip
pkgver=0.98.11
-pkgrel=6
+pkgrel=8
pkgdesc="A Gtk frontend for transcode writen in Perl"
arch=('i686' 'x86_64' 'mips64el')
license=('custom')
@@ -16,26 +16,25 @@ optdepends=('ogmtools: for ogm/odd video creation'
'lsdvd: fast reading of DVD table')
source=(http://www.exit1.org/dvdrip/dist/${pkgname}-${pkgver}.tar.gz \
${pkgname}.desktop)
-options=(!emptydirs)
+options=('!emptydirs' '!makeflags')
md5sums=('6dfa4199d451757a37eea233a07da4c0'
'e91cf411928fd0500d07a0022b4ef546')
build() {
- export MAKEFLAGS="-j1"
cd "${srcdir}/${pkgname}-${pkgver}"
# install module in vendor directories.
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
- make install DESTDIR="${pkgdir}"
+ make install DESTDIR="${pkgdir}"
# remove perllocal.pod and .packlist
find ${pkgdir} -name perllocal.pod -delete
find ${pkgdir} -name .packlist -delete
- install -Dm644 ${srcdir}/${pkgname}.desktop "${pkgdir}/usr/share/applications/${pkgname}.desktop"
- install -Dm 644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm644 ${srcdir}/${pkgname}.desktop "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ install -Dm 644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/extra/dvdrip/dvdrip.install b/extra/dvdrip/dvdrip.install
index 4cd6160c4..e111ef946 100644
--- a/extra/dvdrip/dvdrip.install
+++ b/extra/dvdrip/dvdrip.install
@@ -1,19 +1,11 @@
-# this is the scrollkeeper handling sample file
-
post_install() {
- echo "update desktop mime database..."
update-desktop-database -q
}
post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- /bin/true
+ post_install
}
post_remove() {
- echo "update desktop mime database..."
- update-desktop-database -q
+ post_install
}
diff --git a/extra/evince/PKGBUILD b/extra/evince/PKGBUILD
index 1532bce40..eb5846789 100644
--- a/extra/evince/PKGBUILD
+++ b/extra/evince/PKGBUILD
@@ -23,6 +23,9 @@ sha256sums=('03abb74620caaa255f2d1369b684bbf8f62e15a4bf2d9f2a45f58e1789295a97'
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+# Build with -march=mips3
+ [ "$CARCH" = "mips64el" ] && CFLAGS="${CFLAGS/loongson2f/mips3}"
+
patch -Np1 -i "${srcdir}/introspection-fix.patch"
autoreconf -fi
diff --git a/extra/evolution-data-server/PKGBUILD b/extra/evolution-data-server/PKGBUILD
index 040385490..f4b528fbf 100644
--- a/extra/evolution-data-server/PKGBUILD
+++ b/extra/evolution-data-server/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=evolution-data-server
pkgver=3.0.2.1
pkgrel=1
pkgdesc="Central location for addressbook and calendar storage in the GNOME Desktop"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
depends=('libsoup' 'nss' 'libgnome-keyring' 'krb5' 'libgweather' 'libical' 'db' 'libgdata')
makedepends=('intltool' 'gperf' 'gobject-introspection')
options=('!libtool')
diff --git a/extra/ffcall/PKGBUILD b/extra/ffcall/PKGBUILD
index b235f7173..f51867990 100644
--- a/extra/ffcall/PKGBUILD
+++ b/extra/ffcall/PKGBUILD
@@ -20,6 +20,9 @@ build() {
[ "$CARCH" = "x86_64" ] && CONFIGFLAG="--with-pic"
patch -Np0 -i "$srcdir/mipsn32.patch"
./configure --prefix=/usr --mandir=/usr/share/man $CONFIGFLAG
+
+ patch -Np0 -i $srcdir/mipsn32.patch
+
make
}
diff --git a/extra/ffmpeg/PKGBUILD b/extra/ffmpeg/PKGBUILD
index 6509ac519..12b7e0d74 100644
--- a/extra/ffmpeg/PKGBUILD
+++ b/extra/ffmpeg/PKGBUILD
@@ -14,11 +14,12 @@ depends=('bzip2' 'lame' 'sdl' 'libvorbis' 'xvidcore' 'zlib' 'x264' 'libtheora' '
makedepends=('yasm' 'git')
#git clone git://git.videolan.org/ffmpeg.git
source=(ftp://ftp.archlinux.org/other/ffmpeg/${pkgname}-${pkgver}.tar.xz)
-md5sums=('ff3636c6601f68cdcc777fadaf0eba46')
build() {
cd "$srcdir/$pkgname"
+ [ "$CARCH" = "mips64el" ] && patch -Np1 -i $srcdir/ffmpeg-loongson.patch
+
./configure \
--prefix=/usr \
--enable-libmp3lame \
@@ -49,4 +50,3 @@ build() {
}
# vim:set ts=2 sw=2 et:
-md5sums=('6003afa1f87857db729d697e3ec1be36')
diff --git a/extra/ffmpeg/ffmpeg-loongson.patch b/extra/ffmpeg/ffmpeg-loongson.patch
new file mode 100644
index 000000000..501eafd15
--- /dev/null
+++ b/extra/ffmpeg/ffmpeg-loongson.patch
@@ -0,0 +1,1794 @@
+diff --git a/configure b/configure
+index 25e8cef..1d6c652 100755
+--- a/configure
++++ b/configure
+@@ -230,6 +230,7 @@ Advanced options (experts only):
+ --disable-armvfp disable ARM VFP optimizations
+ --disable-iwmmxt disable iwmmxt optimizations
+ --disable-mmi disable MMI optimizations
++ --disable-loongson2mmi disable LOONGSON2 Multi-Media Instructions usage"
+ --disable-neon disable neon optimizations
+ --disable-vis disable VIS optimizations
+ --disable-yasm disable use of yasm assembler
+@@ -995,6 +996,7 @@ ARCH_EXT_LIST='
+ armvfp
+ iwmmxt
+ mmi
++ loongson2mmi
+ mmx
+ mmx2
+ neon
+@@ -2862,6 +2864,7 @@ if enabled arm; then
+ fi
+ if enabled mips; then
+ echo "MMI enabled ${mmi-no}"
++ echo "LOONGSON2MMI enabled ${loongson2mmi-no}"
+ fi
+ if enabled ppc; then
+ echo "AltiVec enabled ${altivec-no}"
+diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
+index add4b10..8244e51 100644
+--- a/libavcodec/avcodec.h
++++ b/libavcodec/avcodec.h
+@@ -1586,6 +1586,8 @@ typedef struct AVCodecContext {
+ #define FF_IDCT_SIMPLENEON 22
+ #define FF_IDCT_SIMPLEALPHA 23
+ #define FF_IDCT_BINK 24
++#define FF_IDCT_LIBMPEG2LOONGSON2 25
++#define FF_IDCT_XVIDLOONGSON2 26
+
+ /**
+ * slice count
+diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
+index bbfdb6a..dfc3452 100644
+--- a/libavcodec/dsputil.c
++++ b/libavcodec/dsputil.c
+@@ -4525,6 +4525,7 @@ av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx)
+ if (HAVE_MMI) dsputil_init_mmi (c, avctx);
+ if (ARCH_SH4) dsputil_init_sh4 (c, avctx);
+ if (ARCH_BFIN) dsputil_init_bfin (c, avctx);
++ if (HAVE_LOONGSON2MMI) dsputil_init_loongson2(c, avctx);
+
+ for(i=0; i<64; i++){
+ if(!c->put_2tap_qpel_pixels_tab[0][i])
+diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
+index d1816e6..1a72ae9 100644
+--- a/libavcodec/dsputil.h
++++ b/libavcodec/dsputil.h
+@@ -636,6 +636,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx);
+ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx);
+ void dsputil_init_sh4(DSPContext* c, AVCodecContext *avctx);
+ void dsputil_init_vis(DSPContext* c, AVCodecContext *avctx);
++void dsputil_init_loongson2(DSPContext* c, AVCodecContext *avctx);
+
+ void ff_dsputil_init_dwt(DSPContext *c);
+ void ff_cavsdsp_init(DSPContext* c, AVCodecContext *avctx);
+diff --git a/libavcodec/loongson2/dsputil_loongson2.c b/libavcodec/loongson2/dsputil_loongson2.c
+new file mode 100644
+index 0000000..01bd3ac
+--- /dev/null
++++ b/libavcodec/loongson2/dsputil_loongson2.c
+@@ -0,0 +1,221 @@
++/*
++ * Copyright(C) 2006-2010 comcat <jiankemeng@gmail.com>
++ *
++ * Optimized for Loongson2 CPUs by comcat <jiankemeng@gmail.com>
++ *
++ */
++
++#include "dsputil_loongson2.h"
++#include "../simple_idct.h"
++#include "../mpegvideo.h"
++
++//extern void ff_idct_xvid_loongson2(short *block);
++
++extern void ff_loongson2_idct(DCTELEM *block);
++extern void ff_idct_xvid_loongson2(short *block);
++
++static void add_pixels_clamped_loongson2(const DCTELEM *block, uint8_t *restrict pixels, int line_size)
++{
++ const DCTELEM *p;
++ uint8_t *pix;
++ int i,j;
++ p = block;
++ pix = pixels;
++ i = 4;
++ j = line_size << 1;
++ __asm __volatile("xor $f14, $f14, $f14\n\t");
++ do {
++ __asm __volatile(
++// ".set mips3 \n\t"
++ "ldc1 $f0, 0(%2) \n\t"
++ "ldc1 $f2, 8(%2) \n\t"
++ "ldc1 $f4, 16(%2) \n\t"
++ "ldc1 $f6, 24(%2) \n\t"
++ "ldc1 $f8, %0 \n\t"
++ "ldc1 $f12, %1 \n\t"
++ "mov.d $f10, $f8 \n\t"
++
++ "punpcklbh $f8, $f8, $f14 \n\t"
++ "punpckhbh $f10, $f10, $f14\n\t"
++
++ "paddsh $f0, $f0, $f8 \n\t"
++ "paddsh $f2, $f2, $f10 \n\t"
++
++ "mov.d $f10, $f12 \n\t"
++
++ "punpcklbh $f12, $f12, $f14\n\t"
++ "punpckhbh $f10, $f10, $f14\n\t"
++
++ "paddsh $f4, $f4, $f12 \n\t"
++ "paddsh $f6, $f6, $f10 \n\t"
++
++ "packushb $f0, $f0, $f2 \n\t"
++ "packushb $f4, $f4, $f6 \n\t"
++
++ "sdc1 $f0, %0 \n\t"
++ "sdc1 $f4, %1 \n\t"
++// ".set mips2 \n\t"
++ :"+m"(*pix), "+m"(*(pix+line_size))
++ :"r"(p)
++ :"$f0","$f2","$f4","$f6","$f8","$f10","$f12","$f14","memory");
++ pix += j;
++ p += 16;
++ } while (--i);
++
++}
++
++static void put_pixels_clamped_loongson2(const DCTELEM *block, uint8_t *restrict pixels, int line_size)
++{
++ const DCTELEM *p;
++ uint8_t *pix;
++ int tmp = line_size * 3;
++ p = block;
++ pix = pixels;
++ __asm __volatile
++ (
++// ".set mips3 \n\t"
++ //"dadd $12, $0, $0\n\t"
++ //"dadd $13, $0, $0\n\t"
++ //"dadd $14, $0, $0\n\t"
++
++ "ldc1 $f0, 0(%3)\n\t"
++ "ldc1 $f2, 8(%3)\n\t"
++ "ldc1 $f4, 16(%3)\n\t"
++ "ldc1 $f6, 24(%3)\n\t"
++ "ldc1 $f8, 32(%3)\n\t"
++ "ldc1 $f10, 40(%3)\n\t"
++ "ldc1 $f16, 48(%3)\n\t"
++ "ldc1 $f18, 56(%3)\n\t"
++
++ "packushb $f0, $f0, $f2\n\t"
++ "packushb $f4, $f4, $f6\n\t"
++ "packushb $f8, $f8, $f10\n\t"
++ "packushb $f16, $f16, $f18\n\t"
++
++ "add $12, %0, %1\n\t"
++ "add $13, $12, %1\n\t"
++ "add $14, %0, %2\n\t"
++
++ "sdc1 $f0, 0(%0)\n\t"
++ "sdc1 $f4, 0($12)\n\t"
++ "sdc1 $f8, 0($13)\n\t"
++ "sdc1 $f16, 0($14)\n\t"
++// ".set mips2\n\t"
++ :
++ :"r" (pix), "r" (line_size), "r" (tmp), "r"(p)
++ :"$12","$13","$14","$f0","$f2","$f4","$f6","$f8","$f10","$16","$18"
++ );
++
++ pix += line_size*4;
++ p += 32;
++
++ __asm __volatile
++ (
++// ".set mips3 \n\t"
++
++ "dadd $12, $0, $0\n\t"
++ "dadd $13, $0, $0\n\t"
++ "dadd $14, $0, $0\n\t"
++ "lw $12, %3\n\t"
++
++ "ldc1 $f0, 0($12)\n\t"
++ "ldc1 $f2, 8($12)\n\t"
++ "ldc1 $f4, 16($12)\n\t"
++ "ldc1 $f6, 24($12)\n\t"
++ "ldc1 $f8, 32($12)\n\t"
++ "ldc1 $f10, 40($12)\n\t"
++ "ldc1 $f16, 48($12)\n\t"
++ "ldc1 $f18, 56($12)\n\t"
++
++ "packushb $f0, $f0, $f2\n\t"
++ "packushb $f4, $f4, $f6\n\t"
++ "packushb $f8, $f8, $f10\n\t"
++ "packushb $f16, $f16, $f18\n\t"
++
++ "add $12, %1, %0\n\t"
++ "add $13, $12, %1\n\t"
++ "add $15, %2, %0\n\t"
++
++ "sdc1 $f0, 0(%0)\n\t"
++ "sdc1 $f4, 0($12)\n\t"
++
++ "sdc1 $f8, 0($13)\n\t"
++ "sdc1 $f16, 0($15)\n\t"
++// ".set mips2\n\t"
++ :
++ :"r" (pix), "r" (line_size), "r" (tmp), "m"(p)
++ :"$12","$13","$15","$f0","$f2","$f4","$f6","$f8","$f10","$16","$18","memory"
++ );
++
++}
++
++/*
++void put_signed_pixels_clamped_loongson2(const DCTELEM *block, uint8_t *pixels, int line_size)
++{
++
++}
++
++
++void ff_loongson2_idct_put(uint8_t *dest, int line_size, DCTELEM *block)
++{
++ ff_loongson2_idct(block);
++ put_pixels_clamped_loongson2(block, dest, line_size);
++}
++
++void ff_loongson2_idct_add(uint8_t *dest, int line_size, DCTELEM *block)
++{
++ ff_loongson2_idct(block);
++ add_pixels_clamped_loongson2(block, dest, line_size);
++}*/
++
++static void ff_idct_xvid_loongson2_put(uint8_t *dest, int line_size, DCTELEM *block)
++{
++ ff_idct_xvid_loongson2(block);
++ put_pixels_clamped_loongson2(block, dest, line_size);
++}
++
++static void ff_idct_xvid_loongson2_add(uint8_t *dest, int line_size, DCTELEM *block)
++{
++ ff_idct_xvid_loongson2(block);
++ add_pixels_clamped_loongson2(block, dest, line_size);
++}
++
++void dsputil_init_loongson2(DSPContext *c, AVCodecContext *avctx)
++{
++
++ const int idct_algo = avctx->idct_algo;
++
++/*
++#ifdef CONFIG_ENCODERS
++ const int dct_algo = avctx->dct_algo;
++ if(dct_algo == FF_DCT_AUTO || dct_algo == FF_DCT_LOONGSON2)
++ c->fdct = ff_fdct_loongson2;
++#endif
++*/
++
++#if 0
++ if(avctx->lowres==0)
++ {
++ if(idct_algo == FF_IDCT_LIBMPEG2LOONGSON2)
++ {
++ c->idct_add = ff_loongson2_idct_add;
++ c->idct_put = ff_loongson2_idct_put;
++ c->idct = ff_loongson2_idct;
++ }
++ else if(idct_algo == FF_IDCT_XVIDLOONGSON2)
++ {
++#endif
++ c->idct_add = ff_idct_xvid_loongson2_add;
++ c->idct_put = ff_idct_xvid_loongson2_put;
++ c->idct = ff_idct_xvid_loongson2;
++ //}
++ //}
++
++ c->put_pixels_clamped = put_pixels_clamped_loongson2;
++ c->add_pixels_clamped = add_pixels_clamped_loongson2;
++
++#ifdef CONFIG_ENCODERS
++ dsputil_init_pix_loongson2(c, avctx);
++#endif
++
++}
+diff --git a/libavcodec/loongson2/dsputil_loongson2.d b/libavcodec/loongson2/dsputil_loongson2.d
+new file mode 100644
+index 0000000..808f0a3
+--- /dev/null
++++ b/libavcodec/loongson2/dsputil_loongson2.d
+@@ -0,0 +1,18 @@
++libavcodec/loongson2/dsputil_loongson2.o: \
++ libavcodec/loongson2/dsputil_loongson2.c \
++ libavcodec/loongson2/dsputil_loongson2.h libavcodec/dsputil.h \
++ libavutil/intreadwrite.h config.h libavutil/bswap.h \
++ libavutil/attributes.h libavutil/common.h libavutil/intmath.h \
++ libavutil/mem.h libavutil/internal.h libavutil/timer.h libavutil/libm.h \
++ libavutil/mips/intreadwrite.h libavcodec/avcodec.h libavutil/avutil.h \
++ libavutil/error.h libavutil/avutil.h libavutil/mathematics.h \
++ libavutil/rational.h libavutil/intfloat_readwrite.h libavutil/log.h \
++ libavutil/pixfmt.h libavutil/avconfig.h \
++ libavcodec/loongson2/../simple_idct.h libavcodec/loongson2/../dsputil.h \
++ libavcodec/loongson2/../mpegvideo.h libavcodec/loongson2/../get_bits.h \
++ libavutil/bswap.h libavutil/common.h libavutil/log.h \
++ libavcodec/loongson2/../mathops.h libavcodec/loongson2/../mips/mathops.h \
++ libavcodec/loongson2/../put_bits.h libavcodec/loongson2/../ratecontrol.h \
++ libavcodec/loongson2/../eval.h libavcodec/loongson2/../parser.h \
++ libavcodec/loongson2/../avcodec.h libavcodec/loongson2/../mpeg12data.h \
++ libavutil/rational.h libavcodec/loongson2/../rl.h
+diff --git a/libavcodec/loongson2/dsputil_loongson2.h b/libavcodec/loongson2/dsputil_loongson2.h
+new file mode 100644
+index 0000000..87c7bd9
+--- /dev/null
++++ b/libavcodec/loongson2/dsputil_loongson2.h
+@@ -0,0 +1,3 @@
++#include "libavcodec/dsputil.h"
++
++void dsputil_init_pix_loongson2(DSPContext* c, AVCodecContext *avctx);
+diff --git a/libavcodec/loongson2/dsputil_loongson2.o b/libavcodec/loongson2/dsputil_loongson2.o
+new file mode 100644
+index 0000000..fca0b55
+Binary files /dev/null and b/libavcodec/loongson2/dsputil_loongson2.o differ
+diff --git a/libavcodec/loongson2/idct_loongson2.c b/libavcodec/loongson2/idct_loongson2.c
+new file mode 100644
+index 0000000..539cab5
+--- /dev/null
++++ b/libavcodec/loongson2/idct_loongson2.c
+@@ -0,0 +1,336 @@
++/*
++ * Copyright (C) 2000-2003 Michel Lespinasse <walken@zoy.org>
++ * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
++ *
++ * Copyright (c) 2007-2010 comcat <jiankemeng@gmail.com>.
++ *
++ * Optimized for Loongson2 CPUs by comcat <jiankemeng@gmail.com>
++ *
++ * Based on i386
++ */
++
++#include "libavutil/common.h"
++#include "dsputil_loongson2.h"
++
++
++#define ATTR_ALIGN(align) __attribute__ ((__aligned__ (align)))
++
++
++#define ROW_SHIFT 11
++#define COL_SHIFT 6
++
++#define round(bias) ((int)(((bias)+0.5) * (1<<ROW_SHIFT)))
++#define rounder(bias) {round (bias), round (bias)}
++
++
++
++#define loongson2_table(c1,c2,c3,c4,c5,c6,c7) { c4,c2,-c4,-c2, \
++ c4,c6,c4,c6, \
++ c1,c3,-c1,-c5,\
++ c5,c7,c3,-c7, \
++ c4,-c6,c4,-c6, \
++ -c4,c2,c4,-c2, \
++ c5,-c1,c3,-c1, \
++ c7,c3,c7,-c5 }
++
++
++static inline void loongson2_row_head(int16_t * const row, const int offset,
++ const int16_t * const table)
++{
++ __asm__ volatile(
++// ".set\tmips3\n"
++ ".set noreorder\n"
++ "ldc1 $f6,%0\n"
++ "ldc1 $f14,%1\n"
++ "ldc1 $f2,%2\n"
++ "ldc1 $f8,%3\n"
++ "dli $12,%4\n"
++ "dmtc1 $12,$f16\n"
++ "mov.d $f4,$f6\n"
++ "mov.d $f10,$f14\n"
++ "pmaddhw $f2,$f2,$f4\n"
++ "pshufh $f6,$f6,$f16\n"
++ ".set reorder\n"
++// ".set\tmips0\n"
++ :
++ :"m"(*(row+offset)),"m"(*(row+offset+4)),"m"(*table),"m"(*(table+4)),"i"(0x4e)
++ :"$f2","$f4","$f6","$f8","$f10","$f14","$f16","$12"
++ );
++}
++
++
++static inline void loongson2_row(const int16_t * const table,
++ const int32_t * const rounder)
++{
++ __asm__ volatile (
++// ".set\tmips3\n"
++ ".set\tnoreorder\n"
++ "ldc1 $f0,%0\n"
++ "pmaddhw $f8,$f8,$f6\n"
++ "ldc1 $f16,%1\n"
++ "dli $13,%8\n"
++ "ldc1 $f20,%2\n"
++ "pmaddhw $f0,$f0,$f14\n"
++ "ldc1 $f22,%3\n"
++ "pmaddhw $f4,$f4,$f16\n"
++ "paddw $f2,$f2,$f22\n"
++ "ldc1 $f22,%4\n"
++ "dmtc1 $13,$f16\n"
++ "paddw $f2,$f2,$f8\n"
++ "pmaddhw $f14,$f14,$f22\n"
++ "mov.d $f8,$f2\n"
++ "pshufh $f10,$f10,$f16\n"
++ "ldc1 $f22,%3\n"
++ "pmaddhw $f20,$f20,$f10\n"
++ "ldc1 $f16,%5\n"
++ "paddw $f4,$f4,$f22\n"
++ "paddw $f0,$f0,$f20\n"
++ "dli $12,%6\n"
++ "pmaddhw $f6,$f6,$f16\n"
++ "psubw $f2,$f2,$f0\n"
++ "ldc1 $f16,%7\n"
++ "paddw $f0,$f0,$f8\n"
++ "paddw $f4,$f4,$f6\n"
++ "pmaddhw $f10,$f10,$f16\n"
++ "mov.d $f8,$f4\n"
++ "dmtc1 $12,$f16\n"
++ "paddw $f14,$f14,$f10\n"
++ "psraw $f2,$f2,$f16\n"
++ "psraw $f0,$f0,$f16\n"
++ "paddw $f4,$f4,$f14\n"
++ "psubw $f8,$f8,$f14\n"
++ ".set\treorder\n"
++// ".set\tmips0\n"
++ :
++ :"m"(*(table+8)),"m"(*(table+16)),"m"(*(table+12)),"m"(*rounder),"m"(*(table+24)),"m"(*(table+20)),"i"(ROW_SHIFT),"m"(*(table+16)),"i"(0x4e)
++ :"$f0","$f2","$f4","$f6","$f8","$f10","$f14","$f16","$f20","$f22","$12","$13","memory"
++ );
++}
++
++static inline void loongson2_row_tail(int16_t * const row, const int store)
++{
++ __asm__ volatile (
++// ".set\tmips3\n"
++ ".set\tnoreorder\n"
++ "dli $12,%2\n"
++ "dmtc1 $12,$f16\n"
++ "psraw $f4,$f4,$f16\n"
++ "psraw $f8,$f8,$f16\n"
++ "packsswh $f0,$f0,$f4\n"
++ "packsswh $f8,$f8,$f2\n"
++ "sdc1 $f0,%0\n"
++ "dli $13,%3\n"
++ "dmtc1 $13,$f22\n"
++ "pshufh $f8,$f8,$f22\n"
++ "sdc1 $f8,%1\n"
++ ".set\treorder\n"
++// ".set\tmips0\n"
++ :"=m"(*(row+store)),"=m"(*(row+store+4))
++ :"i"(ROW_SHIFT),"i"(0xb1)
++ :"$f0","$f2","$f4","$f6","$f8","$f16","$f22","$12","$13","memory"
++ );
++}
++
++static inline void loongson2_row_mid(int16_t * const row, const int store,
++ const int offset,
++ const int16_t * const table)
++{
++ __asm__ volatile (
++// ".set\tmips3\n"
++ ".set\tnoreorder\n"
++ "ldc1 $f6,%2\n"
++ "dli $12,%3\n"
++ "dmtc1 $12,$f16\n"
++ "psraw $f4,$f4,$f16\n"
++ "ldc1 $f14,%4\n"
++ "psraw $f8,$f8,$f16\n"
++ "packsswh $f0,$f0,$f4\n"
++ "mov.d $f10,$f14\n"
++ "packsswh $f8,$f8,$f2\n"
++ "mov.d $f4,$f6\n"
++ "sdc1 $f0,%0\n"
++ "dli $13,%5\n"
++ "dmtc1 $13,$f22\n"
++ "pshufh $f8,$f8,$f22\n"
++ "ldc1 $f2,%6\n"
++ "sdc1 $f8,%1\n"
++ "pmaddhw $f2,$f2,$f4\n"
++ "ldc1 $f8,%7\n"
++ "dli $12,%8\n"
++ "dmtc1 $12,$f16\n"
++ "pshufh $f6,$f6,$f16\n"
++ ".set\treorder\n"
++// ".set\tmips0\n"
++ :"=m"(*(row+store)),"=m"(*(row+store+4))
++ : "m"(*(row+offset)),"i"(ROW_SHIFT),"m"(*(row+offset+4)),"i"(0xb1),"m"(*table),"m"(*(table+4)),"i"(0x4e)
++ :"$f0","$f2","$f4","$f6","$f8","$f10","$14","$f16","$f22","$12","$13","memory"
++ );
++}
++
++static inline void idct_col(int16_t * const col, const int offset)
++{
++#define T1 13036
++#define T2 27146
++#define T3 43790
++#define C4 23170
++ static const short _T1[] ATTR_ALIGN(8) = {T1,T1,T1,T1};
++ static const short _T2[] ATTR_ALIGN(8) = {T2,T2,T2,T2};
++ static const short _T3[] ATTR_ALIGN(8) = {T3,T3,T3,T3};
++ static const short _C4[] ATTR_ALIGN(8) = {C4,C4,C4,C4};
++
++ __asm__ volatile (
++// ".set\tmips3\n"
++ ".set\tnoreorder\n"
++ "ldc1 $f4,%8\n"
++ "ldc1 $f0,%9\n"
++ "mov.d $f6,$f4\n"
++ "ldc1 $f8,%10\n"
++ "pmulhh $f4,$f4,$f0\n"
++ "ldc1 $f14,%11\n"
++ "pmulhh $f6,$f6,$f8\n"
++ "ldc1 $f10,%12\n"
++ "mov.d $f20,$f14\n"
++ "ldc1 $f2,%13\n"
++ "psubsh $f4,$f4,$f8\n"
++ "ldc1 $f8,%14\n"
++ "pmulhh $f14,$f14,$f2\n"
++ "paddsh $f0,$f0,$f6\n"
++ "pmulhh $f20,$f20,$f10\n"
++ "mov.d $f6,$f8\n"
++ "paddsh $f14,$f14,$f2\n"
++ "ldc1 $f16,%15\n"
++ "pmulhh $f8,$f8,$f16\n"
++ "paddsh $f20,$f20,$f10\n"
++ "psubsh $f14,$f14,$f10\n"
++ "paddsh $f20,$f20,$f2\n"
++ "ldc1 $f2,%16\n"
++ "mov.d $f10,$f4\n"
++ "pmulhh $f6,$f6,$f2\n"
++ "psubsh $f4,$f4,$f14\n"
++ "psubsh $f8,$f8,$f2\n"
++ "paddsh $f14,$f14,$f10\n"
++ "sdc1 $f4,%0\n"
++ "mov.d $f10,$f0\n"
++ "ldc1 $f22,%15\n"
++ "paddsh $f6,$f6,$f22\n"
++ "paddsh $f10,$f10,$f20\n"
++ "psubsh $f0,$f0,$f20\n"
++ "mov.d $f20,$f0\n"
++ "ldc1 $f2,%17\n"
++ "paddsh $f0,$f0,$f14\n"
++ "ldc1 $f4,%18\n"
++ "psubsh $f20,$f20,$f14\n"
++ "sdc1 $f10,%1\n"
++ "pmulhh $f0,$f0,$f4\n"
++ "mov.d $f10,$f8\n"
++ "pmulhh $f20,$f20,$f4\n"
++ "ldc1 $f14,%19\n"
++ "mov.d $f4,$f2\n"
++ "psubsh $f2,$f2,$f14\n"
++ "paddsh $f4,$f4,$f14\n"
++ "paddsh $f8,$f8,$f2\n"
++ "mov.d $f14,$f4\n"
++ "psubsh $f2,$f2,$f10\n"
++ "paddsh $f14,$f14,$f6\n"
++ "paddsh $f0,$f0,$f0\n"
++ "psubsh $f4,$f4,$f6\n"
++ "paddsh $f20,$f20,$f20\n"
++ "mov.d $f6,$f2\n"
++ "mov.d $f10,$f8\n"
++ "paddsh $f2,$f2,$f20\n"
++ "dli $12,%20\n"
++ "dmtc1 $12,$f16\n"
++ "psrah $f2,$f2,$f16\n"
++ "paddsh $f8,$f8,$f0\n"
++ "psrah $f8,$f8,$f16\n"
++ "psubsh $f10,$f10,$f0\n"
++ "ldc1 $f0,%12\n"
++ "psubsh $f6,$f6,$f20\n"
++ "psrah $f10,$f10,$f16\n"
++ "mov.d $f20,$f14\n"
++ "sdc1 $f8,%2\n"
++ "psrah $f6,$f6,$f16\n"
++ "sdc1 $f2,%3\n"
++ "paddsh $f14,$f14,$f0\n"
++ "ldc1 $f8,%13\n"
++ "psubsh $f20,$f20,$f0\n"
++ "psrah $f14,$f14,$f16\n"
++ "mov.d $f2,$f4\n"
++ "sdc1 $f6,%1\n"
++ "psubsh $f2,$f2,$f8\n"
++ "psrah $f20,$f20,$f16\n"
++ "paddsh $f8,$f8,$f4\n"
++ "sdc1 $f14,%4\n"
++ "psrah $f2,$f2,$f16\n"
++ "sdc1 $f10,%5\n"
++ "psrah $f8,$f8,$f16\n"
++ "sdc1 $f20,%6\n"
++ "sdc1 $f2,%7\n"
++ "sdc1 $f8,%0\n"
++ ".set\treorder\n"
++// ".set\tmips0\n"
++ :"=m"(*(col+offset+3*8)),"=m"(*(col+offset+5*8)),"=m"(*(col+offset+1*8)),"=m"(*(col+offset+2*8)),"=m"(*(col+offset+0*8)),"=m"(*(col+offset+6*8)),"=m"(*(col+offset+7*8)),"=m"(*(col+offset+4*8))
++ :"m"(*_T1),"m"(*(col+offset+1*8)),"m"(*(col+offset+7*8)),"m"(*_T3),"m"(*(col+offset+5*8)),"m"(*(col+offset+3*8)),"m"(*_T2),"m"(*(col+offset+2*8)),"m"(*(col+offset+6*8)),"m"(*(col+offset+0*8)),"m"(*_C4),"m"(*(col+offset+4*8)),"i"(COL_SHIFT)
++ :"$f0","$f2","$f4","$f6","$f8","$f10","$14","$f16","$20","$f22","$12","memory"
++ );
++}
++
++static const int32_t rounder0[] ATTR_ALIGN(8) =
++ rounder ((1 << (COL_SHIFT - 1)) - 0.5);
++static const int32_t rounder4[] ATTR_ALIGN(8) = rounder (0);
++static const int32_t rounder1[] ATTR_ALIGN(8) =
++ rounder (1.25683487303); /* C1*(C1/C4+C1+C7)/2 */
++static const int32_t rounder7[] ATTR_ALIGN(8) =
++ rounder (-0.25); /* C1*(C7/C4+C7-C1)/2 */
++static const int32_t rounder2[] ATTR_ALIGN(8) =
++ rounder (0.60355339059); /* C2 * (C6+C2)/2 */
++static const int32_t rounder6[] ATTR_ALIGN(8) =
++ rounder (-0.25); /* C2 * (C6-C2)/2 */
++static const int32_t rounder3[] ATTR_ALIGN(8) =
++ rounder (0.087788325588); /* C3*(-C3/C4+C3+C5)/2 */
++static const int32_t rounder5[] ATTR_ALIGN(8) =
++ rounder (-0.441341716183); /* C3*(-C5/C4+C5-C3)/2 */
++
++
++#undef COL_SHIFT
++#undef ROW_SHIFT
++
++
++#define declare_idct(idct,table,idct_row_head,idct_row,idct_row_tail,idct_row_mid) \
++inline void idct (int16_t * const block) \
++{ \
++ static const int16_t table04[] ATTR_ALIGN(16) = \
++ table (22725, 21407, 19266, 16384, 12873, 8867, 4520); \
++ static const int16_t table17[] ATTR_ALIGN(16) = \
++ table (31521, 29692, 26722, 22725, 17855, 12299, 6270); \
++ static const int16_t table26[] ATTR_ALIGN(16) = \
++ table (29692, 27969, 25172, 21407, 16819, 11585, 5906); \
++ static const int16_t table35[] ATTR_ALIGN(16) = \
++ table (26722, 25172, 22654, 19266, 15137, 10426, 5315); \
++ \
++ idct_row_head (block, 0*8, table04); \
++ idct_row (table04, rounder0); \
++ idct_row_mid (block, 0*8, 4*8, table04); \
++ idct_row (table04, rounder4); \
++ idct_row_mid (block, 4*8, 1*8, table17); \
++ idct_row (table17, rounder1); \
++ idct_row_mid (block, 1*8, 7*8, table17); \
++ idct_row (table17, rounder7); \
++ idct_row_mid (block, 7*8, 2*8, table26); \
++ idct_row (table26, rounder2); \
++ idct_row_mid (block, 2*8, 6*8, table26); \
++ idct_row (table26, rounder6); \
++ idct_row_mid (block, 6*8, 3*8, table35); \
++ idct_row (table35, rounder3); \
++ idct_row_mid (block, 3*8, 5*8, table35); \
++ idct_row (table35, rounder5); \
++ idct_row_tail (block, 5*8); \
++ \
++ idct_col (block, 0); \
++ idct_col (block, 4); \
++}
++
++void ff_loongson2_idct(DCTELEM *block);
++
++declare_idct (ff_loongson2_idct, loongson2_table,
++ loongson2_row_head, loongson2_row, loongson2_row_tail, loongson2_row_mid)
+diff --git a/libavcodec/loongson2/idct_loongson2_xvid.c b/libavcodec/loongson2/idct_loongson2_xvid.c
+new file mode 100644
+index 0000000..4a1ee1e
+--- /dev/null
++++ b/libavcodec/loongson2/idct_loongson2_xvid.c
+@@ -0,0 +1,301 @@
++/*
++ * XVID MPEG-4 VIDEO CODEC
++ *
++ * Copyright(C) 2006-2010 comcat <jiankemeng@gmail.com>
++ *
++ * Optimized for Loongson2 CPUs by comcat <jiankemeng@gmail.com>
++ *
++ * Based on i386
++ *
++ */
++
++
++#include <inttypes.h>
++#include "../avcodec.h"
++
++void ff_idct_xvid_loongson2(short *block);
++
++//=============================================================================
++// Macros and other preprocessor constants
++//=============================================================================
++
++#define BITS_INV_ACC 5 // 4 or 5 for IEEE
++#define SHIFT_INV_ROW (16 - BITS_INV_ACC) //11
++#define SHIFT_INV_COL (1 + BITS_INV_ACC) //6
++#define RND_INV_ROW (1024 * (6 - BITS_INV_ACC))
++#define RND_INV_COL (16 * (BITS_INV_ACC - 3))
++#define RND_INV_CORR (RND_INV_COL - 1)
++
++#define BITS_FRW_ACC 3 // 2 or 3 for accuracy
++#define SHIFT_FRW_COL BITS_FRW_ACC
++#define SHIFT_FRW_ROW (BITS_FRW_ACC + 17)
++#define RND_FRW_ROW (262144*(BITS_FRW_ACC - 1))
++
++
++//-----------------------------------------------------------------------------
++// Various memory constants (trigonometric values or rounding values)
++//-----------------------------------------------------------------------------
++
++static const int16_t tg_1_16[4*4] attribute_used __attribute__ ((aligned(8))) = {
++ 13036,13036,13036,13036, // tg * (2<<16) + 0.5
++ 27146,27146,27146,27146, // tg * (2<<16) + 0.5
++ -21746,-21746,-21746,-21746, // tg * (2<<16) + 0.5
++ 23170,23170,23170,23170}; // cos * (2<<15) + 0.5
++
++static const int32_t rounder_0[2*8] attribute_used __attribute__ ((aligned(8))) = {
++ 65536,65536,
++ 3597,3597,
++ 2260,2260,
++ 1203,1203,
++ 0,0,
++ 120,120,
++ 512,512,
++ 512,512};
++
++
++// Table for rows 0,4 - constants are multiplied by cos_4_16
++static const int16_t tab_i_04_mmx[32*4] attribute_used __attribute__ ((aligned(8))) = {
++ 16384,16384,16384,-16384, // movq-> w06 w04 w02 w00
++ 21407,8867,8867,-21407, // w07 w05 w03 w01
++ 16384,-16384,16384,16384, // w14 w12 w10 w08
++ -8867,21407,-21407,-8867, // w15 w13 w11 w09
++ 22725,12873,19266,-22725, // w22 w20 w18 w16
++ 19266,4520,-4520,-12873, // w23 w21 w19 w17
++ 12873,4520,4520,19266, // w30 w28 w26 w24
++ -22725,19266,-12873,-22725, // w31 w29 w27 w25
++// Table for rows 1,7 - constants are multiplied by cos_1_16
++ 22725,22725,22725,-22725, // movq-> w06 w04 w02 w00
++ 29692,12299,12299,-29692, // w07 w05 w03 w01
++ 22725,-22725,22725,22725, // w14 w12 w10 w08
++ -12299,29692,-29692,-12299, // w15 w13 w11 w09
++ 31521,17855,26722,-31521, // w22 w20 w18 w16
++ 26722,6270,-6270,-17855, // w23 w21 w19 w17
++ 17855,6270,6270,26722, // w30 w28 w26 w24
++ -31521,26722,-17855,-31521, // w31 w29 w27 w25
++// Table for rows 2,6 - constants are multiplied by cos_2_16
++ 21407,21407,21407,-21407, // movq-> w06 w04 w02 w00
++ 27969,11585,11585,-27969, // w07 w05 w03 w01
++ 21407,-21407,21407,21407, // w14 w12 w10 w08
++ -11585,27969,-27969,-11585, // w15 w13 w11 w09
++ 29692,16819,25172,-29692, // w22 w20 w18 w16
++ 25172,5906,-5906,-16819, // w23 w21 w19 w17
++ 16819,5906,5906,25172, // w30 w28 w26 w24
++ -29692,25172,-16819,-29692, // w31 w29 w27 w25
++// Table for rows 3,5 - constants are multiplied by cos_3_16
++ 19266,19266,19266,-19266, // movq-> w06 w04 w02 w00
++ 25172,10426,10426,-25172, // w07 w05 w03 w01
++ 19266,-19266,19266,19266, // w14 w12 w10 w08
++ -10426,25172,-25172,-10426, // w15 w13 w11 w09
++ 26722,15137,22654,-26722, // w22 w20 w18 w16
++ 22654,5315,-5315,-15137, // w23 w21 w19 w17
++ 15137,5315,5315,22654, // w30 w28 w26 w24
++ -26722,22654,-15137,-26722, // w31 w29 w27 w25
++};
++
++
++// %3 for rows 0,4 - constants are multiplied by cos_4_16
++static const int16_t tab_i_04_xmm[32*4] attribute_used __attribute__ ((aligned(8))) = {
++ 16384,21407,16384,8867, // movq-> w05 w04 w01 w00
++ 16384,8867,-16384,-21407, // w07 w06 w03 w02
++ 16384,-8867,16384,-21407, // w13 w12 w09 w08
++ -16384,21407,16384,-8867, // w15 w14 w11 w10
++ 22725,19266,19266,-4520, // w21 w20 w17 w16
++ 12873,4520,-22725,-12873, // w23 w22 w19 w18
++ 12873,-22725,4520,-12873, // w29 w28 w25 w24
++ 4520,19266,19266,-22725, // w31 w30 w27 w26
++// %3 for rows 1,7 - constants are multiplied by cos_1_16
++ 22725,29692,22725,12299, // movq-> w05 w04 w01 w00
++ 22725,12299,-22725,-29692, // w07 w06 w03 w02
++ 22725,-12299,22725,-29692, // w13 w12 w09 w08
++ -22725,29692,22725,-12299, // w15 w14 w11 w10
++ 31521,26722,26722,-6270, // w21 w20 w17 w16
++ 17855,6270,-31521,-17855, // w23 w22 w19 w18
++ 17855,-31521,6270,-17855, // w29 w28 w25 w24
++ 6270,26722,26722,-31521, // w31 w30 w27 w26
++// %3 for rows 2,6 - constants are multiplied by cos_2_16
++ 21407,27969,21407,11585, // movq-> w05 w04 w01 w00
++ 21407,11585,-21407,-27969, // w07 w06 w03 w02
++ 21407,-11585,21407,-27969, // w13 w12 w09 w08
++ -21407,27969,21407,-11585, // w15 w14 w11 w10
++ 29692,25172,25172,-5906, // w21 w20 w17 w16
++ 16819,5906,-29692,-16819, // w23 w22 w19 w18
++ 16819,-29692,5906,-16819, // w29 w28 w25 w24
++ 5906,25172,25172,-29692, // w31 w30 w27 w26
++// %3 for rows 3,5 - constants are multiplied by cos_3_16
++ 19266,25172,19266,10426, // movq-> w05 w04 w01 w00
++ 19266,10426,-19266,-25172, // w07 w06 w03 w02
++ 19266,-10426,19266,-25172, // w13 w12 w09 w08
++ -19266,25172,19266,-10426, // w15 w14 w11 w10
++ 26722,22654,22654,-5315, // w21 w20 w17 w16
++ 15137,5315,-26722,-15137, // w23 w22 w19 w18
++ 15137,-26722,5315,-15137, // w29 w28 w25 w24
++ 5315,22654,22654,-26722, // w31 w30 w27 w26
++};
++
++
++
++#define DCT_8_INV_ROW_LOONGSON2(A1,A2,A3,A4)\
++ "ldc1 $f0, " #A1 " \n\t"/* 0 ; x3 x2 x1 x0*/\
++ "ldc1 $f2, 8+" #A1 " \n\t"/* 1 ; x7 x6 x5 x4*/\
++ "mov.d $f4, $f0 \n\t"/* 2 ; x3 x2 x1 x0*/\
++ "ldc1 $f6, " #A3 " \n\t"/* 3 ; w05 w04 w01 w00*/\
++ "li $12, 0x88 \n\t"\
++ "dmtc1 $12, $f16 \n\t"\
++ "pshufh $f0, $f0, $f16 \n\t"/* x2 x0 x2 x0*/\
++ "ldc1 $f8, 8+" #A3 " \n\t"/* 4 ; w07 w06 w03 w02*/\
++ "mov.d $f10, $f2 \n\t"/* 5 ; x7 x6 x5 x4*/\
++ "pmaddhw $f6, $f6, $f0 \n\t"/* x2*w05+x0*w04 x2*w01+x0*w00*/\
++ "ldc1 $f12, 32+" #A3 " \n\t"/* 6 ; w21 w20 w17 w16*/\
++ "pshufh $f2, $f2, $f16 \n\t"/* x6 x4 x6 x4*/\
++ "pmaddhw $f8, $f8, $f2 \n\t"/* x6*w07+x4*w06 x6*w03+x4*w02*/\
++ "li $12, 0xdd \n\t"\
++ "dmtc1 $12, $f16 \n\t"\
++ "ldc1 $f14, 40+" #A3 " \n\t"/* 7 ; w23 w22 w19 w18*/\
++ "pshufh $f4, $f4, $f16 \n\t"/* x3 x1 x3 x1*/\
++ "pmaddhw $f12, $f12, $f4 \n\t"/* x3*w21+x1*w20 x3*w17+x1*w16*/\
++ "ldc1 $f18, " #A4 " \n\t" \
++ "ldc1 $f20, 16+" #A3 " \n\t" \
++ "ldc1 $f22, 24+" #A3 " \n\t" \
++ "ldc1 $f24, 48+" #A3 " \n\t" \
++ "ldc1 $f26, 56+" #A3 " \n\t" \
++ "pshufh $f10, $f10, $f16 \n\t"/* x7 x5 x7 x5*/\
++ "pmaddhw $f14, $f14, $f10 \n\t"/* x7*w23+x5*w22 x7*w19+x5*w18*/\
++ "paddw $f6, $f6, $f18 \n\t"/* +%4*/\
++ "pmaddhw $f0, $f0, $f20 \n\t"/* x2*w13+x0*w12 x2*w09+x0*w08*/\
++ "paddw $f6, $f6, $f8 \n\t"/* 4 ; a1=sum(even1) a0=sum(even0)*/\
++ "pmaddhw $f2, $f2, $f22 \n\t"/* x6*w15+x4*w14 x6*w11+x4*w10*/\
++ "mov.d $f8, $f6 \n\t"/* 4 ; a1 a0*/\
++ "li $12, 11 \n\t"\
++ "dmtc1 $12, $f16 \n\t"\
++ "pmaddhw $f4, $f4, $f24 \n\t"/* x3*w29+x1*w28 x3*w25+x1*w24*/\
++ "paddw $f12, $f12, $f14 \n\t"/* 7 ; b1=sum(odd1) b0=sum(odd0)*/\
++ "pmaddhw $f10, $f10, $f26 \n\t"/* x7*w31+x5*w30 x7*w27+x5*w26*/\
++ "paddw $f6, $f6, $f12 \n\t"/* a1+b1 a0+b0*/\
++ "paddw $f0, $f0, $f18 \n\t"/* +%4*/\
++ "psraw $f6, $f6, $f16 \n\t"/* y1=a1+b1 y0=a0+b0*/\
++ "paddw $f0, $f0, $f2 \n\t"/* 1 ; a3=sum(even3) a2=sum(even2)*/\
++ "psubw $f8, $f8, $f12 \n\t"/* 6 ; a1-b1 a0-b0*/\
++ "mov.d $f14, $f0 \n\t"/* 7 ; a3 a2*/\
++ "paddw $f4, $f4, $f10 \n\t"/* 5 ; b3=sum(odd3) b2=sum(odd2)*/\
++ "paddw $f0, $f0, $f4 \n\t"/* a3+b3 a2+b2*/\
++ "psraw $f8, $f8, $f16 \n\t"/* y6=a1-b1 y7=a0-b0*/\
++ "psubw $f14, $f14, $f4 \n\t"/* 2 ; a3-b3 a2-b2*/\
++ "psraw $f0, $f0, $f16 \n\t"/* y3=a3+b3 y2=a2+b2*/\
++ "psraw $f14, $f14, $f16 \n\t"/* y4=a3-b3 y5=a2-b2*/\
++ "li $12, 0xb1 \n\t"\
++ "dmtc1 $12, $f20 \n\t"\
++ "packsswh $f6, $f6, $f0 \n\t"/* 0 ; y3 y2 y1 y0*/\
++ "packsswh $f14, $f14, $f8 \n\t"/* 4 ; y6 y7 y4 y5*/\
++ "sdc1 $f6, " #A2 " \n\t"/* 3 ; save y3 y2 y1 y0*/\
++ "pshufh $f14, $f14, $f20 \n\t"/* y7 y6 y5 y4*/\
++ "sdc1 $f14, 8 +" #A2 " \n\t"/* 7 ; save y7 y6 y5 y4*/\
++
++
++#define DCT_8_INV_COL(A1,A2)\
++ "ldc1 $f0, 2*8(%3) \n\t"/* */\
++ "ldc1 $f6, 16*3+" #A1 " \n\t"/* x3 */\
++ "mov.d $f2, $f0 \n\t"/* tg_3_16*/\
++ "ldc1 $f10, 16*5+" #A1 " \n\t"/* x5 */\
++ "pmulhh $f0, $f0, $f6 \n\t"/* x3*(tg_3_16-1)*/\
++ "ldc1 $f8, (%3) \n\t"\
++ "pmulhh $f2, $f2, $f10 \n\t"/* x5*(tg_3_16-1)*/\
++ "ldc1 $f14, 16*7+" #A1 " \n\t"/* x7 */\
++ "mov.d $f4, $f8 \n\t"/* tg_1_16*/\
++ "ldc1 $f12, 16*1+" #A1 " \n\t"/* x1 */\
++ "pmulhh $f8, $f8, $f14 \n\t"/* x7*tg_1_16*/\
++ "paddsh $f0, $f0, $f6 \n\t"/* x3*tg_3_16*/\
++ "pmulhh $f4, $f4, $f12 \n\t"/* x1*tg_1_16*/\
++ "paddsh $f2, $f2, $f6 \n\t"/* x3+x5*(tg_3_16-1)*/\
++ "psubsh $f0, $f0, $f10 \n\t"/* x3*tg_3_16-x5 = tm35*/\
++ "ldc1 $f6, 3*8(%3) \n\t"\
++ "paddsh $f2, $f2, $f10 \n\t"/* x3+x5*tg_3_16 = tp35*/\
++ "paddsh $f8, $f8, $f12 \n\t"/* x1+tg_1_16*x7 = tp17*/\
++ "psubsh $f4, $f4, $f14 \n\t"/* x1*tg_1_16-x7 = tm17*/\
++ "mov.d $f10, $f8 \n\t"/* tp17*/\
++ "mov.d $f12, $f4 \n\t"/* tm17*/\
++ "paddsh $f10, $f10, $f2 \n\t"/* tp17+tp35 = b0*/\
++ "psubsh $f12, $f12, $f0 \n\t"/* tm17-tm35 = b3*/\
++ "psubsh $f8, $f8, $f2 \n\t"/* tp17-tp35 = t1*/\
++ "paddsh $f4, $f4, $f0 \n\t"/* tm17+tm35 = t2*/\
++ "ldc1 $f14, 1*8(%3) \n\t"\
++ "mov.d $f2, $f8 \n\t"/* t1*/\
++ "sdc1 $f10, 3*16+" #A2 " \n\t"/* save b0*/\
++ "paddsh $f2, $f2, $f4 \n\t"/* t1+t2*/\
++ "sdc1 $f12, 5*16+" #A2 " \n\t"/* save b3*/\
++ "psubsh $f8, $f8, $f4 \n\t"/* t1-t2*/\
++ "ldc1 $f10, 2*16+" #A1 " \n\t"\
++ "mov.d $f0, $f14 \n\t"/* tg_2_16*/\
++ "ldc1 $f12, 6*16+" #A1 " \n\t"\
++ "pmulhh $f0, $f0, $f10 \n\t"/* x2*tg_2_16*/\
++ "pmulhh $f14, $f14, $f12 \n\t"/* x6*tg_2_16*/\
++ "pmulhh $f2, $f2, $f6 \n\t"/* ocos_4_16*(t1+t2) = b1/2*/\
++ "ldc1 $f4, 0*16+" #A1 " \n\t"\
++ "pmulhh $f8, $f8, $f6 \n\t"/* ocos_4_16*(t1-t2) = b2/2*/\
++ "psubsh $f0, $f0, $f12 \n\t"/* t2*tg_2_16-x6 = tm26*/\
++ "mov.d $f6, $f4 \n\t"/* x0*/\
++ "ldc1 $f12, 4*16+" #A1 " \n\t"\
++ "paddsh $f14, $f14, $f10 \n\t"/* x2+x6*tg_2_16 = tp26*/\
++ "paddsh $f4, $f4, $f12 \n\t"/* x0+x4 = tp04*/\
++ "psubsh $f6, $f6, $f12 \n\t"/* x0-x4 = tm04*/\
++ "mov.d $f10, $f4 \n\t"/* tp04*/\
++ "mov.d $f12, $f6 \n\t"/* tm04*/\
++ "psubsh $f4, $f4, $f14 \n\t"/* tp04-tp26 = a3*/\
++ "paddsh $f6, $f6, $f0 \n\t"/* tm04+tm26 = a1*/\
++ "paddsh $f2, $f2, $f2 \n\t"/* b1*/\
++ "paddsh $f8, $f8, $f8 \n\t"/* b2*/\
++ "paddsh $f10, $f10, $f14 \n\t"/* tp04+tp26 = a0*/\
++ "psubsh $f12, $f12, $f0 \n\t"/* tm04-tm26 = a2*/\
++ "li $12, 6 \n\t"\
++ "dmtc1 $12, $f18 \n\t"\
++ "mov.d $f14, $f6 \n\t"/* a1*/\
++ "mov.d $f0, $f12 \n\t"/* a2*/\
++ "paddsh $f6, $f6, $f2 \n\t"/* a1+b1*/\
++ "paddsh $f12, $f12, $f8 \n\t"/* a2+b2*/\
++ "psrah $f6, $f6, $f18 \n\t"/* dst1*/\
++ "psubsh $f14, $f14, $f2 \n\t"/* a1-b1*/\
++ "psrah $f12, $f12, $f18 \n\t"/* dst2*/\
++ "psubsh $f0, $f0, $f8 \n\t"/* a2-b2*/\
++ "ldc1 $f2, 3*16+" #A2 " \n\t"/* load b0*/\
++ "psrah $f14, $f14, $f18 \n\t"/* dst6*/\
++ "mov.d $f8, $f10 \n\t"/* a0*/\
++ "psrah $f0, $f0, $f18 \n\t"/* dst5*/\
++ "sdc1 $f6, 1*16+" #A2 " \n\t"\
++ "paddsh $f10, $f10, $f2 \n\t"/* a0+b0*/\
++ "sdc1 $f12, 2*16+" #A2 " \n\t"\
++ "psubsh $f8, $f8, $f2 \n\t"/* a0-b0*/\
++ "ldc1 $f6, 5*16+" #A2 " \n\t"/* load b3*/\
++ "psrah $f10, $f10, $f18 \n\t"/* dst0*/\
++ "mov.d $f12, $f4 \n\t"/* a3*/\
++ "psrah $f8, $f8, $f18 \n\t"/* dst7*/\
++ "sdc1 $f0, 5*16+" #A2 " \n\t"\
++ "paddsh $f4, $f4, $f6 \n\t"/* a3+b3*/\
++ "sdc1 $f14, 6*16+" #A2 " \n\t"\
++ "psubsh $f12, $f12, $f6 \n\t"/* a3-b3*/\
++ "sdc1 $f10, 0*16+" #A2 " \n\t"\
++ "psrah $f4, $f4, $f18 \n\t"/* dst3*/\
++ "sdc1 $f8, 7*16+" #A2 " \n\t"\
++ "psrah $f12, $f12, $f18 \n\t"/* dst4*/\
++ "sdc1 $f4, 3*16+" #A2 " \n\t"\
++ "sdc1 $f12, 4*16+" #A2 " \n\t"
++
++
++
++void ff_idct_xvid_loongson2(short *block){
++ __asm__ volatile(
++ //# Process each row
++ DCT_8_INV_ROW_LOONGSON2(0*16(%0), 0*16(%0), 64*0(%2), 8*0(%1))
++ DCT_8_INV_ROW_LOONGSON2(1*16(%0), 1*16(%0), 64*1(%2), 8*1(%1))
++ DCT_8_INV_ROW_LOONGSON2(2*16(%0), 2*16(%0), 64*2(%2), 8*2(%1))
++ DCT_8_INV_ROW_LOONGSON2(3*16(%0), 3*16(%0), 64*3(%2), 8*3(%1))
++ DCT_8_INV_ROW_LOONGSON2(4*16(%0), 4*16(%0), 64*0(%2), 8*4(%1))
++ DCT_8_INV_ROW_LOONGSON2(5*16(%0), 5*16(%0), 64*3(%2), 8*5(%1))
++ DCT_8_INV_ROW_LOONGSON2(6*16(%0), 6*16(%0), 64*2(%2), 8*6(%1))
++ DCT_8_INV_ROW_LOONGSON2(7*16(%0), 7*16(%0), 64*1(%2), 8*7(%1))
++
++ //# Process the columns (4 at a time)
++ DCT_8_INV_COL(0(%0), 0(%0))
++ DCT_8_INV_COL(8(%0), 8(%0))
++ :
++ : "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16)
++ :"$f0","$f2","$f4","$f6","$f8","$f10","$f12","$f14","$f18","$f16","$20","$22","$24","$26");
++}
++
+diff --git a/libavcodec/loongson2/motion_est_loongson2.c b/libavcodec/loongson2/motion_est_loongson2.c
+new file mode 100644
+index 0000000..bb67290
+--- /dev/null
++++ b/libavcodec/loongson2/motion_est_loongson2.c
+@@ -0,0 +1,365 @@
++/*
++ * Loongson2E MMI optimized motion estimation
++ * Copyright (c) 2007 comcat <jiankemeng@gmail.com>.
++ *
++ * based on Michael Niedermayer <michaelni@gmx.at>
++ *
++ */
++
++#include "dsputil_loongson2.h"
++#include "../avcodec.h"
++
++static const __attribute__ ((aligned(8))) uint64_t round_tab[3]={
++ 0x0000000000000000ULL,
++ 0x0001000100010001ULL,
++ 0x0002000200020002ULL,
++};
++
++static attribute_used __attribute__ ((aligned(8))) uint64_t bone= 0x0101010101010101LL;
++
++static inline void sad8_1_loongson2(uint8_t *blk1, uint8_t *blk2, int stride, int h)
++{
++ long len= -(stride*h);
++ __asm__ volatile(
++
++// ".set mips3 \n\t"
++ ".align 4 \n\t"
++
++ "move $8, %0 \n\t"
++ "move $21, %1 \n\t"
++ "move $22, %2 \n\t"
++ "move $23, %3 \n\t"
++
++ "1: \n\t"
++
++ "add $9, $8, $21 \n\t"
++ "add $10, $8, $22 \n\t"
++
++ "uld $11, ($9) \n\t"
++ "dmtc1 $11, $f0 \n\t"
++
++ "uld $12, ($9) \n\t"
++ "dmtc1 $12, $f4 \n\t"
++
++ "pasubub $f10, $f0, $f4 \n\t"
++ "biadd $f0, $f10 \n\t"
++
++ "add $8, $8, $23 \n\t"
++
++ "add $9, $8, $21 \n\t"
++ "add $10, $8, $22 \n\t"
++
++ "uld $11, ($9) \n\t"
++ "dmtc1 $11, $f2 \n\t"
++
++ "uld $12, ($10) \n\t"
++ "dmtc1 $12, $f6 \n\t"
++
++ "pasubub $f16, $f2, $f6 \n\t"
++ "biadd $f6, $f16 \n\t"
++
++ "paddh $f0, $f0, $f6 \n\t"
++
++ "paddh $f12, $f12, $f0 \n\t"
++
++ "bltz $8, 1b \n\t"
++ "add $8, $8, $23 \n\t"
++
++ : "+r" (len)
++ : "r" (blk1 - len), "r" (blk2 - len), "r" ((long)stride)
++ : "$8", "$9", "$10", "$21", "$22", "$23", "$f0", "$f2", "$f4", "$f6", "$f10", "$f16"
++ );
++}
++
++static inline void sad8_2_loongson2(uint8_t *blk1a, uint8_t *blk1b, uint8_t *blk2, int stride, int h)
++{
++ long len= -(stride*h);
++ __asm__ volatile(
++
++// ".set mips3 \n\t"
++ ".align 4 \n\t"
++
++ "move $8, %0 \n\t"
++
++ "1: \n\t"
++ "add $9, $8, %1 \n\t"
++ "add $10, $8, %2 \n\t"
++ "add $11, $8, %3 \n\t"
++
++ "uld $12, ($9) \n\t"
++ "dmtc1 $12, $f0 \n\t"
++ "uld $13, ($10) \n\t"
++ "dmtc1 $13, $f4 \n\t"
++
++ "pavgb $f0, $f0, $f4 \n\t"
++
++ "uld $12, ($11) \n\t"
++ "dmtc1 $12, $f4 \n\t"
++
++ "pasubub $f10, $f0, $f4 \n\t"
++ "biadd $f0, $f10 \n\t"
++
++ "add $8, $8, %4 \n\t"
++
++ "add $9, $8, %1 \n\t"
++ "add $10, $8, %2 \n\t"
++ "add $11, $8, %3 \n\t"
++
++ "uld $12, ($9) \n\t"
++ "dmtc1 $12, $f2 \n\t"
++ "uld $13, ($10) \n\t"
++ "dmtc1 $13, $f6 \n\t"
++
++ "pavgb $f6, $f6, $f2 \n\t"
++
++ "uld $12, ($11) \n\t"
++ "dmtc1 $12, $f2 \n\t"
++
++ "pasubub $f16, $f6, $f2 \n\t"
++ "biadd $f6, $f16 \n\t"
++
++ "paddh $f0, $f0, $f6 \n\t"
++ "paddh $f12, $f12, $f0 \n\t"
++
++ "bltz $8, 1b \n\t"
++ "add $8, $8, %4 \n\t"
++ : "+r" (len)
++ : "r" (blk1a - len), "r" (blk1b -len), "r" (blk2 - len), "r" ((long)stride)
++ : "$8", "$9", "$10", "$11", "$12", "$13", "$f0", "$f2", "$f4", "$f6", "$f10", "$f16"
++ );
++}
++
++static inline void sad8_4_loongson2(uint8_t *blk1, uint8_t *blk2, int stride, int h)
++{
++ long len= -(stride*h);
++ __asm__ volatile(
++
++
++// ".set mips3 \n\t"
++ ".align 4 \n\t"
++
++ "ldc1 $f10, "MANGLE(bone)" \n\t"
++
++ "move $8, %0 \n\t"
++
++ "1: \n\t"
++ "add $9, $8, %1 \n\t"
++ "add $10, $8, %2 \n\t"
++ "add $11, $8, %3 \n\t"
++
++ "uld $12, ($9) \n\t"
++ "dmtc1 $12, $f0 \n\t"
++
++ "uld $13, ($10) \n\t"
++ "dmtc1 $13, $f4 \n\t"
++
++ "uld $12, 1($9) \n\t"
++ "dmtc1 $12, $f2 \n\t"
++
++ "uld $13, 1($10) \n\t"
++ "dmtc1 $13, $f6 \n\t"
++
++ "pavgb $f0, $f0, $f4 \n\t"
++ "pavgb $f6, $f6, $f2 \n\t"
++
++ "psubusb $f6, $f6, $f10 \n\t"
++ "pavgb $f0, $f0, $f6 \n\t"
++
++ "uld $13, 1($11) \n\t"
++ "dmtc1 $13, $f4 \n\t"
++
++ "pasubub $f16, $f0, $f4 \n\t"
++ "biadd $f0, $f16 \n\t"
++
++ "add $8, $8, %4 \n\t"
++
++ "add $9, $8, %1 \n\t"
++ "add $10, $8, %2 \n\t"
++ "add $11, $8, %3 \n\t"
++
++ "uld $12, ($9) \n\t"
++ "dmtc1 $12, $f2 \n\t"
++ "uld $13, ($10) \n\t"
++ "dmtc1 $12, $f6 \n\t"
++ "uld $12, 1($9) \n\t"
++ "dmtc1 $12, $f4 \n\t"
++ "uld $13, 1($10) \n\t"
++ "dmtc1 $12, $f8 \n\t"
++
++ "pavgb $f2, $f2, $f6 \n\t"
++ "pavgb $f4, $f4, $f8 \n\t"
++
++ "psubusb $f4, $f4, $f10 \n\t"
++ "pavgb $f4, $f4, $f2 \n\t"
++
++ "uld $13, ($11) \n\t"
++ "dmtc1 $13, $f2 \n\t"
++
++ "pasubub $f18, $f4, $f2 \n\t"
++ "biadd $f4, $f18 \n\t"
++
++ "paddh $f0, $f0, $f4 \n\t"
++ "paddh $f12, $f12, $f0 \n\t"
++
++ "bltz $8, 1b \n\t"
++ "add $8, $8, %4 \n\t"
++ : "+r" (len)
++ : "r" (blk1 - len), "r" (blk1 - len + stride), "r" (blk2 - len), "r" ((long)stride)
++ : "$8", "$9", "$10", "$11", "$12", "$13", "$f0", "$f2", "$f4", "$f6", "$f8", "$f10", "$f16", "$f18"
++ );
++}
++
++static inline int sum_loongson2(void)
++{
++ int ret;
++ __asm__ volatile(
++// ".set mips3 \n\t"
++
++ "dmfc1 %0, $f12 \n\t"
++ : "=r" (ret)
++ );
++ return ret;
++}
++
++
++static int sad8_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
++{
++ assert(h==8);
++ __asm__ volatile(
++// ".set mips3 \n\t"
++ "xor $f14, $f14, $f14 \n\t"
++ "xor $f12, $f12, $f12 \n\t"
++ :
++ );
++
++ sad8_1_loongson2(blk1, blk2, stride, 8);
++
++ return sum_loongson2();
++}
++
++static int sad8_x2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
++{
++ assert(h==8);
++ __asm__ volatile(
++// ".set mips3 \n\t"
++ "xor $f14, $f14, $f14 \n\t"
++ "xor $f12, $f12, $f12 \n\t"
++
++ "ldc1 $f10, %0 \n\t"
++ :: "m"(round_tab[1])
++ );
++
++ sad8_2_loongson2(blk1, blk1+1, blk2, stride, 8);
++
++ return sum_loongson2();
++}
++
++static int sad8_y2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
++{
++ assert(h==8);
++ __asm__ volatile(
++// ".set mips3 \n\t"
++ "xor $f14, $f14, $f14 \n\t"
++ "xor $f12, $f12, $f12 \n\t"
++
++ "ldc1 $f10, %0 \n\t"
++ :: "m"(round_tab[1])
++ );
++
++ sad8_2_loongson2(blk1, blk1+stride, blk2, stride, 8);
++
++ return sum_loongson2();
++}
++
++static int sad8_xy2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
++{
++ assert(h==8);
++ __asm__ volatile(
++// ".set mips3 \n\t"
++ "xor $f14, $f14, $f14 \n\t"
++ "xor $f12, $f12, $f12 \n\t"
++ "ldc1 $f10, %0 \n\t"
++ :: "m"(round_tab[2])
++ );
++
++ sad8_4_loongson2(blk1, blk2, stride, 8);
++
++ return sum_loongson2();
++}
++
++static int sad16_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
++{
++ __asm__ volatile(
++// ".set mips3 \n\t"
++ "xor $f14, $f14, $f14 \n\t"
++ "xor $f12, $f12, $f12 \n\t":);
++
++ sad8_1_loongson2(blk1 , blk2 , stride, h);
++ sad8_1_loongson2(blk1+8, blk2+8, stride, h);
++
++ return sum_loongson2();
++}
++
++static int sad16_x2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
++{
++ __asm__ volatile(
++// ".set mips3 \n\t"
++ "xor $f14, $f14, $f14 \n\t"
++ "xor $f12, $f12, $f12 \n\t"
++ "ldc1 $f10, %0 \n\t"
++ :: "m"(round_tab[1])
++ );
++
++ sad8_2_loongson2(blk1 , blk1+1, blk2 , stride, h);
++ sad8_2_loongson2(blk1+8, blk1+9, blk2+8, stride, h);
++
++ return sum_loongson2();
++}
++
++static int sad16_y2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
++{
++ __asm__ volatile(
++// ".set mips3 \n\t"
++ "xor $f14, $f14, $f14 \n\t"
++ "xor $f12, $f12, $f12 \n\t"
++ "ldc1 $f10, %0 \n\t"
++ :: "m"(round_tab[1])
++ );
++
++ sad8_2_loongson2(blk1 , blk1+stride, blk2 , stride, h);
++ sad8_2_loongson2(blk1+8, blk1+stride+8,blk2+8, stride, h);
++
++ return sum_loongson2();
++}
++
++static int sad16_xy2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h)
++{
++ __asm__ volatile(
++// ".set mips3 \n\t"
++ "xor $f14, $f14, $f14 \n\t"
++ "xor $f12, $f12, $f12 \n\t"
++ "ldc1 $f10, %0 \n\t"
++ :: "m"(round_tab[2])
++ );
++
++ sad8_4_loongson2(blk1 , blk2 , stride, h);
++ sad8_4_loongson2(blk1+8, blk2+8, stride, h);
++
++ return sum_loongson2();
++}
++
++
++void dsputil_init_pix_loongson2(DSPContext* c, AVCodecContext *avctx)
++{
++ c->pix_abs[0][0] = sad16_loongson2;
++ c->pix_abs[0][1] = sad16_x2_loongson2;
++ c->pix_abs[0][2] = sad16_y2_loongson2;
++ c->pix_abs[0][3] = sad16_xy2_loongson2;
++ c->pix_abs[1][0] = sad8_loongson2;
++ c->pix_abs[1][1] = sad8_x2_loongson2;
++ c->pix_abs[1][2] = sad8_y2_loongson2;
++ c->pix_abs[1][3] = sad8_xy2_loongson2;
++
++ c->sad[0]= sad16_loongson2;
++ c->sad[1]= sad8_loongson2;
++}
+diff --git a/libavcodec/loongson2/mpegvideo_loongson2.c b/libavcodec/loongson2/mpegvideo_loongson2.c
+new file mode 100644
+index 0000000..18d070a
+--- /dev/null
++++ b/libavcodec/loongson2/mpegvideo_loongson2.c
+@@ -0,0 +1,385 @@
++/*
++ * The simplest mpeg encoder (well, it was the simplest!)
++ * Copyright (c) 2007-2010 comcat <jiankemeng@gmail.com>.
++ *
++ * Optimized for Loongson2 CPUs by comcat <jiankemeng@gmail.com>
++ *
++ * Based on i386
++ */
++
++#include "dsputil_loongson2.h"
++#include "../mpegvideo.h"
++#include "../avcodec.h"
++
++extern uint8_t zigzag_direct_noperm[64];
++extern uint16_t inv_zigzag_direct16[64];
++
++static const unsigned long long int mm_wabs __attribute__ ((aligned(8))) = 0xffffffffffffffffULL;
++static const unsigned long long int mm_wone __attribute__ ((aligned(8))) = 0x0001000100010001ULL;
++
++
++static void dct_unquantize_h263_intra_loongson2(MpegEncContext *s,
++ DCTELEM *block, int n, int qscale)
++{
++ long level, qmul, qadd, nCoeffs;
++
++ qmul = qscale << 1;
++
++ assert(s->block_last_index[n]>=0 || s->h263_aic);
++ if (!s->h263_aic) {
++ if (n < 4)
++ level = block[0] * s->y_dc_scale;
++ else
++ level = block[0] * s->c_dc_scale;
++ qadd = (qscale - 1) | 1;
++ }else{
++ qadd = 0;
++ level= block[0];
++ }
++ if(s->ac_pred)
++ nCoeffs=63;
++ else
++ nCoeffs= s->inter_scantable.raster_end[ s->block_last_index[n] ];
++
++
++ __asm__ volatile(
++// ".set mips3 \n\t"
++
++ "xor $f12, $f12, $f12 \n\t"
++ "lwc1 $f12, %1 \n\t"
++
++ "xor $f10, $f10, $f10 \n\t"
++
++ "packsswh $f12, $f12, $f12 \n\t"
++
++ "lwc1 $f10, %2 \n\t"
++
++ "packsswh $f10, $f10, $f10 \n\t"
++
++ "packsswh $f12, $f12, $f12 \n\t"
++
++ "xor $f14, $f14, $f14 \n\t"
++
++ "packsswh $f10, $f10, $f10 \n\t"
++
++ "xor $f8, $f8, $f8 \n\t"
++
++ "psubh $f14, $f14, $f10 \n\t"
++
++
++ "1: \n\t"
++ "add $12, %0, %3 \n\t"
++
++ "ldc1 $f0, ($12) \n\t"
++
++ "ldc1 $f2, 8($12) \n\t"
++
++ "mov.d $f4, $f0 \n\t"
++ "mov.d $f6, $f2 \n\t"
++
++ "pmullh $f0, $f0, $f12 \n\t"
++ "pmullh $f2, $f2, $f12 \n\t"
++
++ "pcmpgth $f4, $f4, $f8 \n\t"
++ "pcmpgth $f6, $f6, $f8 \n\t"
++
++ "xor $f0, $f0, $f4 \n\t"
++ "xor $f2, $f2, $f6 \n\t"
++
++
++ "paddh $f0, $f0, $f14 \n\t"
++
++ "paddh $f2, $f2, $f14 \n\t"
++
++
++ "xor $f4, $f4, $f0 \n\t"
++
++ "xor $f6, $f6, $f2 \n\t"
++
++
++ "pcmpeqh $f0, $f0, $f14 \n\t"
++
++ "pcmpeqh $f2, $f2, $f14 \n\t"
++
++
++ "pandn $f0, $f0, $f4 \n\t"
++
++ "pandn $f2, $f2, $f6 \n\t"
++
++
++ "sdc1 $f0, ($12) \n\t"
++
++ "sdc1 $f2, 8($12) \n\t"
++
++
++ "addiu %3, %3, 16 \n\t"
++
++ "blez %3, 1b \n\t"
++ "nop \n\t"
++ ::"r" (block+nCoeffs), "m"(qmul), "m" (qadd), "r" (2*(-nCoeffs))
++ : "memory"
++ );
++ block[0]= level;
++}
++
++
++static void dct_unquantize_h263_inter_loongson2(MpegEncContext *s,
++ DCTELEM *block, int n, int qscale)
++{
++ long qmul, qadd, nCoeffs;
++
++ qmul = qscale << 1;
++ qadd = (qscale - 1) | 1;
++
++ assert(s->block_last_index[n]>=0 || s->h263_aic);
++
++ nCoeffs= s->inter_scantable.raster_end[ s->block_last_index[n] ];
++
++ __asm__ volatile(
++// ".set mips3 \n\t"
++
++ "xor $f12, $f12, $f12 \n\t"
++ "lwc1 $f12, %1 \n\t"
++
++ "xor $f10, $f10, $f10 \n\t"
++
++ "packsswh $f12, $f12, $f12 \n\t"
++
++ "lwc1 $f10, %2 \n\t"
++
++ "packsswh $f10, $f10, $f10 \n\t"
++
++ "xor $f14, $f14, $f14 \n\t"
++
++ "packsswh $f12, $f12, $f12 \n\t"
++
++ "packsswh $f10, $f10, $f10 \n\t"
++
++ "xor $f8, $f8, $f8 \n\t"
++
++ "psubh $f14, $f14, $f10 \n\t"
++
++
++ "1: \n\t"
++ "add $12, %0, %3 \n\t"
++
++ "ldc1 $f0, ($12) \n\t"
++
++ "ldc1 $f2, 8($12) \n\t"
++
++ "mov.d $f4, $f0 \n\t"
++ "mov.d $f6, $f2 \n\t"
++
++ "pmullh $f0, $f0, $f12 \n\t"
++
++ "pmullh $f2, $f2, $f12 \n\t"
++
++ "pcmpgth $f4, $f4, $f8 \n\t"
++
++ "pcmpgth $f6, $f6, $f8 \n\t"
++
++ "xor $f0, $f0, $f4 \n\t"
++
++ "xor $f2, $f2, $f6 \n\t"
++
++ "paddh $f0, $f0, $f14 \n\t"
++
++ "paddh $f2, $f2, $f14 \n\t"
++
++ "xor $f4, $f4, $f0 \n\t"
++
++ "xor $f6, $f6, $f2 \n\t"
++
++ "pcmpeqh $f0, $f0, $f14 \n\t"
++
++ "pcmpeqh $f2, $f2, $f14 \n\t"
++
++ "pandn $f0, $f0, $f4 \n\t"
++
++ "pandn $f2, $f2, $f6 \n\t"
++
++ "sdc1 $f0, ($12) \n\t"
++
++ "sdc1 $f2, 8($12) \n\t"
++
++
++ "addiu %3, %3, 16 \n\t"
++
++ "blez %3, 1b \n\t"
++ "nop \n\t"
++ ::"r" (block+nCoeffs), "m"(qmul), "m" (qadd), "r" (2*(-nCoeffs))
++ : "memory"
++ );
++}
++
++
++/* draw the edges of width 'w' of an image of size width, height
++ this mmx version can only handle w==8 || w==16 */
++
++static void draw_edges_loongson2(uint8_t *buf, int wrap, int width, int height, int w)
++{
++ uint8_t *ptr, *last_line;
++ int i;
++
++ last_line = buf + (height - 1) * wrap;
++
++ ptr = buf;
++ if(w==8)
++ {
++ __asm__ volatile(
++// ".set mips3 \n\t"
++
++ "move $9, %0 \n\t"
++
++ "1: \n\t"
++
++ "xor $f0, $f0, $f0 \n\t"
++ "lwc1 $f0, ($9) \n\t"
++
++ "punpcklbh $f0, $f0, $f0 \n\t"
++
++ "add $12, $9, %2 \n\t"
++
++ "punpcklhw $f0, $f0, $f0 \n\t"
++
++ "punpcklwd $f0, $f0, $f0 \n\t"
++
++ "ldc1 $f2, -8($12) \n\t"
++
++ "sdc1 $f0, -8($9) \n\t"
++
++ "punpckhbh $f2, $f2, $f2 \n\t"
++
++ "add $9, $9, %1 \n\t"
++
++ "punpckhhw $f2, $f2, $f2 \n\t"
++
++ "sub $13, $9, %3 \n\t"
++
++ "punpckhwd $f2, $f2, $f2 \n\t"
++
++ "bltz $13, 1b \n\t"
++
++ "sdc1 $f2, ($12) \n\t"
++
++ : "+r" (ptr)
++ : "r" ((long)wrap), "r" ((long)width), "r" (ptr + wrap*height)
++ : "$9", "$13", "$12", "$f2", "$f0"
++ );
++ }
++ else
++ {
++ __asm__ volatile(
++// ".set mips3 \n\t"
++
++ "move $8, %0 \n\t"
++
++ "1: \n\t"
++
++ "xor $f0, $f0, $f0 \n\t"
++ "lwc1 $f0, ($8) \n\t"
++
++ "punpcklbh $f0, $f0, $f0 \n\t"
++ "punpcklhw $f0, $f0, $f0 \n\t"
++ "punpcklwd $f0, $f0, $f0 \n\t"
++
++ "sdc1 $f0, -8($8) \n\t"
++ "sdc1 $f0, -16($8) \n\t"
++
++ "add $15, $8, %2 \n\t"
++ "ldc1 $f2, -8($15) \n\t"
++
++ "punpckhbh $f2, $f2, $f2 \n\t"
++ "punpckhhw $f2, $f2, $f2 \n\t"
++ "punpckhwd $f2, $f2, $f2 \n\t"
++
++ "sdc1 $f2, ($15) \n\t"
++ "sdc1 $f2, 8($15) \n\t"
++
++ "add $8, $8, %1 \n\t"
++
++ "sub $16, $8, %3 \n\t"
++ "bltz $16, 1b \n\t"
++ "nop \n\t"
++ : "+r" (ptr)
++ : "r" ((long)wrap), "r" ((long)width), "r" (ptr + wrap*height)
++ : "$8", "$15", "$16", "$f0", "$f2"
++ );
++ }
++
++ for(i=0;i<w;i+=4) {
++
++ ptr= buf - (i + 1) * wrap - w;
++ __asm__ volatile(
++// ".set mips3 \n\t"
++ "move $8, %0 \n\t"
++
++ "1: \n\t"
++
++ "add $9, $8, %1 \n\t"
++ "ldc1 $f0, ($9) \n\t"
++
++ "add $10, $8, %2 \n\t"
++ "add $11, $10, %2 \n\t"
++ "add $12, $8, %3 \n\t"
++
++ "sdc1 $f0, ($8) \n\t"
++ "sdc1 $f0, ($10) \n\t"
++ "sdc1 $f0, ($11) \n\t"
++ "sdc1 $f0, ($12) \n\t"
++
++ "addiu $8, $8, 8 \n\t"
++
++ "sub $13, $8, %4 \n\t"
++
++ "bltz $13, 1b \n\t"
++ "nop \n\t"
++
++ : "+r" (ptr)
++ : "r" (((long)buf - (long)ptr - w)), "r" ((long)-wrap), "r" ((long)-wrap*3), "r" (*(ptr+width+2*w))
++ : "$8", "$9", "$10", "$11", "$12", "$13", "$f0"
++ );
++
++ ptr= last_line + (i + 1) * wrap - w;
++
++ __asm__ volatile(
++// ".set mips3 \n\t"
++
++ "move $9, %0 \n\t"
++
++ "1: \n\t"
++
++ "add $10, $9, %1 \n\t"
++ "ldc1 $f0, ($10) \n\t"
++
++ "add $11, $9, %2 \n\t"
++ "add $12, $11, %2 \n\t"
++ "add $13, $9, %3 \n\t"
++
++ "sdc1 $f0, ($9) \n\t"
++ "sdc1 $f0, ($11) \n\t"
++ "sdc1 $f0, ($12) \n\t"
++ "sdc1 $f0, ($13) \n\t"
++
++ "addiu $9, $9, 8 \n\t"
++
++ "sub $14, $9, %4 \n\t"
++
++ "bltz $14, 1b \n\t"
++ "nop \n\t"
++ : "+r" (ptr)
++ : "r" ((long)last_line - (long)ptr - w), "r" ((long)wrap), "r" ((long)wrap*3), "r" (ptr+width+2*w)
++ : "$9", "$10", "$11", "$12", "$13", "$14", "$f0"
++
++ );
++ }
++}
++
++void MPV_common_init_loongson2(MpegEncContext *s)
++{
++ s->dct_unquantize_h263_intra = dct_unquantize_h263_intra_loongson2;
++ s->dct_unquantize_h263_inter = dct_unquantize_h263_inter_loongson2;
++
++// draw_edges = draw_edges_loongson2;
++
++}
+diff --git a/libavcodec/mips/Makefile b/libavcodec/mips/Makefile
+index 3f4da68..73e4d56 100644
+--- a/libavcodec/mips/Makefile
++++ b/libavcodec/mips/Makefile
+@@ -1,3 +1,9 @@
+ OBJS-$(HAVE_MMI) += ps2/dsputil_mmi.o \
+ ps2/idct_mmi.o \
+ ps2/mpegvideo_mmi.o \
++
++OBJS-$(HAVE_LOONGSON2MMI) += loongson2/idct_loongson2.o \
++ loongson2/dsputil_loongson2.o \
++ loongson2/idct_loongson2_xvid.o \
++ loongson2/mpegvideo_loongson2.o \
++ loongson2/motion_est_loongson2.o
+diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
+index b47ff9a..af92552 100644
+--- a/libavcodec/mpegvideo.c
++++ b/libavcodec/mpegvideo.c
+@@ -176,6 +176,9 @@ av_cold int ff_dct_common_init(MpegEncContext *s)
+ #elif ARCH_BFIN
+ MPV_common_init_bfin(s);
+ #endif
++#ifdef HAVE_LOONGSON2MMI
++ MPV_common_init_loongson2(s);
++#endif
+
+ /* load & permutate scantables
+ note: only wmv uses different ones
+diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
+index 5302be9..8d09906 100644
+--- a/libavcodec/mpegvideo.h
++++ b/libavcodec/mpegvideo.h
+@@ -689,6 +689,7 @@ int MPV_encode_picture(AVCodecContext *avctx, unsigned char *buf, int buf_size,
+ void MPV_common_init_mmx(MpegEncContext *s);
+ void MPV_common_init_axp(MpegEncContext *s);
+ void MPV_common_init_mlib(MpegEncContext *s);
++void MPV_common_init_loongson2(MpegEncContext *s);
+ void MPV_common_init_mmi(MpegEncContext *s);
+ void MPV_common_init_arm(MpegEncContext *s);
+ void MPV_common_init_altivec(MpegEncContext *s);
+diff --git a/libavcodec/options.c b/libavcodec/options.c
+index 7ca1062..c05b3f4 100644
+--- a/libavcodec/options.c.orig 2011-06-22 12:52:11.584428161 -0300
++++ b/libavcodec/options.c 2011-06-22 12:52:25.003143367 -0300
+@@ -219,6 +219,8 @@ static const AVOption options[]={
+ {"simple", NULL, 0, FF_OPT_TYPE_CONST, {.dbl = FF_IDCT_SIMPLE }, INT_MIN, INT_MAX, V|E|D, "idct"},
+ {"simplemmx", NULL, 0, FF_OPT_TYPE_CONST, {.dbl = FF_IDCT_SIMPLEMMX }, INT_MIN, INT_MAX, V|E|D, "idct"},
+ {"libmpeg2mmx", NULL, 0, FF_OPT_TYPE_CONST, {.dbl = FF_IDCT_LIBMPEG2MMX }, INT_MIN, INT_MAX, V|E|D, "idct"},
++{"libmpeg2loongson2", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_LIBMPEG2LOONGSON2, INT_MIN, INT_MAX, V|E|D, "idct"},
++{"xvidloongson2", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_XVIDLOONGSON2, INT_MIN, INT_MAX, V|E|D, "idct"},
+ {"ps2", NULL, 0, FF_OPT_TYPE_CONST, {.dbl = FF_IDCT_PS2 }, INT_MIN, INT_MAX, V|E|D, "idct"},
+ {"mlib", NULL, 0, FF_OPT_TYPE_CONST, {.dbl = FF_IDCT_MLIB }, INT_MIN, INT_MAX, V|E|D, "idct"},
+ {"arm", NULL, 0, FF_OPT_TYPE_CONST, {.dbl = FF_IDCT_ARM }, INT_MIN, INT_MAX, V|E|D, "idct"},
diff --git a/extra/frozen-bubble/PKGBUILD b/extra/frozen-bubble/PKGBUILD
index 602fef826..c3ce7383a 100644
--- a/extra/frozen-bubble/PKGBUILD
+++ b/extra/frozen-bubble/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 112696 2011-03-06 00:54:34Z heftig $
+# $Id: PKGBUILD 127529 2011-06-15 21:23:24Z remy $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Brandon Niemczyk <maccorin@cfl.rr.com>
@@ -6,7 +6,7 @@
pkgname=frozen-bubble
_pkgver=2.2.1-beta1
pkgver=${_pkgver/-/}
-pkgrel=1
+pkgrel=3
pkgdesc="A game in which you throw colorful bubbles and build groups to destroy the bubbles"
arch=(i686 x86_64 'mips64el')
url="http://www.frozen-bubble.org"
@@ -19,13 +19,22 @@ source=(http://www.frozen-bubble.org/data/$pkgname-$_pkgver.tar.bz2 \
md5sums=('825cc23ed806838b9d86de9982a5687a'
'01b10b77ba6ad856f5c199121c582272')
-package() {
+build() {
cd "$srcdir/$pkgname-$_pkgver"
+ unset CFLAGS
# install module in vendor directories
- perl Build.PL installdirs=vendor destdir="$pkgdir"
-
+ perl Build.PL installdirs=vendor
perl Build
- perl Build install
+}
+
+check() {
+ cd "$srcdir/$pkgname-$_pkgver"
+ perl Build test
+}
+
+package() {
+ cd "$srcdir/$pkgname-$_pkgver"
+ perl Build install destdir="$pkgdir"
install -D -m644 share/icons/frozen-bubble-icon-64x64.png "$pkgdir/usr/share/pixmaps/frozen-bubble.png"
install -D -m644 "$srcdir/frozen-bubble.desktop" "$pkgdir/usr/share/applications/frozen-bubble.desktop"
diff --git a/extra/gconf-perl/PKGBUILD b/extra/gconf-perl/PKGBUILD
index 45e3503e3..0091031e6 100644
--- a/extra/gconf-perl/PKGBUILD
+++ b/extra/gconf-perl/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 104906 2011-01-05 14:35:54Z jgc $
+# $Id: PKGBUILD 124841 2011-05-24 18:04:05Z remy $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gconf-perl
_realname=Gnome2-GConf
pkgver=1.044
-pkgrel=4
+pkgrel=5
pkgdesc="Gnome2-GConf perl bindings for gconf"
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
url="http://gtk2-perl.sourceforge.net/"
makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends')
-depends=('glib-perl' 'gconf' 'perl')
+depends=('glib-perl' 'gconf' 'perl>=5.14')
options=(!emptydirs)
source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/${_realname}-${pkgver}.tar.gz)
md5sums=('ea386003b18f067524833b0eeb271330')
@@ -19,5 +19,14 @@ build() {
cd "${srcdir}/${_realname}-${pkgver}"
perl Makefile.PL INSTALLDIRS=vendor
make
+}
+
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ dbus-launch --exit-with-session make test
+}
+
+package() {
+ cd "${srcdir}/${_realname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
diff --git a/extra/gdk-pixbuf2/PKGBUILD b/extra/gdk-pixbuf2/PKGBUILD
index bc6814ba9..24ec6ef79 100644
--- a/extra/gdk-pixbuf2/PKGBUILD
+++ b/extra/gdk-pixbuf2/PKGBUILD
@@ -1,7 +1,7 @@
-# $Id: PKGBUILD 127501 2011-06-15 15:14:38Z ibiru $
+# $Id: PKGBUILD 129483 2011-06-28 07:59:13Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=gdk-pixbuf2
-pkgver=2.23.4
+pkgver=2.23.5
pkgrel=1
pkgdesc="An image loading library for gtk2"
arch=('i686' 'x86_64' 'mips64el')
@@ -12,7 +12,7 @@ makedepends=('gtk-doc' 'gobject-introspection')
options=('!libtool')
install=gdk-pixbuf2.install
source=(http://download.gnome.org/sources/gdk-pixbuf/2.23/gdk-pixbuf-${pkgver}.tar.xz)
-sha256sums=('66140dda9fb51b3f3d3612db837e82dcdd830cd83809f1feb92154a146b486d7')
+sha256sums=('7a6c3550426f38f6b0eeeb49295654d9e706ce8f1786a4d0932f9d2c0d0bc500')
build() {
cd "${srcdir}/gdk-pixbuf-${pkgver}"
diff --git a/extra/git/PKGBUILD b/extra/git/PKGBUILD
index e67522047..adbbfaf7f 100644
--- a/extra/git/PKGBUILD
+++ b/extra/git/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 124414 2011-05-20 16:19:11Z dan $
+# $Id: PKGBUILD 129435 2011-06-27 17:14:23Z dan $
# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=git
-pkgver=1.7.5.2
+pkgver=1.7.6
pkgrel=1
pkgdesc="the fast distributed version control system"
arch=(i686 x86_64 'mips64el')
url="http://git-scm.com/"
license=('GPL2')
-depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.12.2')
+depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0')
makedepends=('python2' 'emacs')
optdepends=('tk: gitk and git gui'
'perl-libwww: git svn'
@@ -47,7 +47,7 @@ package() {
INSTALLDIRS=vendor DESTDIR="$pkgdir" install
# bash completion
- mkdir -p $pkgdir/etc/bash_completion.d/
+ mkdir -p "$pkgdir"/etc/bash_completion.d/
install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/etc/bash_completion.d/git
# more contrib stuff
cp -a ./contrib $pkgdir/usr/share/git/
@@ -75,11 +75,11 @@ package() {
install -D -m644 "$srcdir"/git-daemon.conf "$pkgdir"/etc/conf.d/git-daemon.conf
}
-md5sums=('f79ab8fe79b35346b499f131cbf381a4'
- '43fc5538f137231f5c96e7da5eb6c934'
+md5sums=('9e0a438eb71e89eedb61f89470ed32a0'
+ 'a017935cf9e90d9f056b6547c318fd15'
'8e2648910fd5dd4f1c41d3c7fa9e9156'
'2e42bf97779a1c6411d89043334c9e78')
-sha256sums=('65dbb9789a1ff8aa7e4f7e156b9ce36ef101810608ed55a297156348d70f9349'
- '8521210a77809d189a3fe72e2bd13df50ecf8ec58e7098ec1655dfdb4086b6ca'
+sha256sums=('778795cece63cd758192378f3a999870cea290181b3a4c9de573c77192561082'
+ 'a0ffd7e16997262ef741db5e2dd8eabf44b6767cf1a213753c7d8a268b4553ad'
'2e0a50bdaf8f387a499895e1c204bff78244eaa72b78187c8a84ef40c0b82598'
'e8bfe29d8393d2b87517c4dd56ea834b213aa00bf3d7fcde4ead3457cadbbc68')
diff --git a/extra/glade-perl/PKGBUILD b/extra/glade-perl/PKGBUILD
index f92684ba7..4388acfec 100644
--- a/extra/glade-perl/PKGBUILD
+++ b/extra/glade-perl/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 104918 2011-01-05 15:15:03Z jgc $
+# $Id: PKGBUILD 125153 2011-05-25 19:04:01Z foutrelis $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=glade-perl
_realname=Gtk2-GladeXML
pkgver=1.007
-pkgrel=3
+pkgrel=4
pkgdesc="Gtk2-GladeXML perl bindings for glade 2.x"
arch=(i686 x86_64 'mips64el')
license=('LGPL')
diff --git a/extra/glib-perl/PKGBUILD b/extra/glib-perl/PKGBUILD
index c16a137f2..afc112a00 100644
--- a/extra/glib-perl/PKGBUILD
+++ b/extra/glib-perl/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 104386 2011-01-02 04:08:45Z kevin $
+# $Id: PKGBUILD 124651 2011-05-23 19:33:30Z remy $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Sarah Hay <sarah@archlinux.org>
pkgname=glib-perl
_realname=Glib
pkgver=1.223
-pkgrel=2
+pkgrel=3
pkgdesc="Perl wrappers for glib 2.x, including GObject"
arch=(i686 x86_64 'mips64el')
license=('LGPL')
url="http://gtk2-perl.sourceforge.net/"
options=('!emptydirs')
-depends=('glib2>=2.24.1' 'perl>=5.12.1')
+depends=('glib2>=2.24.1' 'perl>=5.14')
makedepends=('perl-extutils-depends>=0.302' 'perl-extutils-pkgconfig>=1.12')
source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/${_realname}-${pkgver}.tar.gz)
md5sums=('cfdeaa8c95448f86c30b505e4701abf1')
@@ -20,6 +20,10 @@ build() {
cd "${srcdir}/${_realname}-${pkgver}"
perl Makefile.PL INSTALLDIRS=vendor
make
+}
+
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
make test
}
diff --git a/extra/gmime/PKGBUILD b/extra/gmime/PKGBUILD
index 31e6c58c5..4a88a260b 100644
--- a/extra/gmime/PKGBUILD
+++ b/extra/gmime/PKGBUILD
@@ -11,6 +11,8 @@ license=('GPL')
url="http://spruce.sourceforge.net/gmime/"
depends=('glib2' 'zlib')
makedepends=('gtk-sharp-2' 'pkgconfig')
+[ "$CARCH" = "mips64el" ] && \
+makedepends=('pkgconfig')
options=('!libtool')
source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
sha256sums=('c1044330652e7098b58e4b9c32202c5c99534da34aa260fc3b7cf8506cd56413')
diff --git a/extra/gnome-perl/PKGBUILD b/extra/gnome-perl/PKGBUILD
index bda7eb159..cf5d1a776 100644
--- a/extra/gnome-perl/PKGBUILD
+++ b/extra/gnome-perl/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 104940 2011-01-05 16:02:27Z jgc $
+# $Id: PKGBUILD 125159 2011-05-25 19:04:51Z foutrelis $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-perl
_realname=Gnome2
pkgver=1.042
-pkgrel=5
+pkgrel=6
pkgdesc="Perl bindings for libgnome"
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
diff --git a/extra/gnome-vfs-perl/PKGBUILD b/extra/gnome-vfs-perl/PKGBUILD
index d40dd62f4..885b50ad2 100644
--- a/extra/gnome-vfs-perl/PKGBUILD
+++ b/extra/gnome-vfs-perl/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 104927 2011-01-05 15:25:06Z jgc $
+# $Id: PKGBUILD 125162 2011-05-25 19:05:23Z foutrelis $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-vfs-perl
_realname=Gnome2-VFS
pkgver=1.081
-pkgrel=3
+pkgrel=4
pkgdesc="Gnome2-VFS perl bindings for gnome-vfs"
arch=(i686 x86_64 'mips64el')
license=('LGPL')
diff --git a/extra/gnomecanvas-perl/PKGBUILD b/extra/gnomecanvas-perl/PKGBUILD
index 626b18394..88516d278 100644
--- a/extra/gnomecanvas-perl/PKGBUILD
+++ b/extra/gnomecanvas-perl/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 104924 2011-01-05 15:20:58Z jgc $
+# $Id: PKGBUILD 125156 2011-05-25 19:04:24Z foutrelis $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnomecanvas-perl
_realname=Gnome2-Canvas
pkgver=1.002
-pkgrel=7
+pkgrel=8
pkgdesc="Gnome2-Canvas perl bindings for libgnomecanvas"
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
diff --git a/extra/gnumeric/PKGBUILD b/extra/gnumeric/PKGBUILD
index ab785b02e..0986173ff 100644
--- a/extra/gnumeric/PKGBUILD
+++ b/extra/gnumeric/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 124498 2011-05-22 15:36:35Z ibiru $
+# $Id: PKGBUILD 125165 2011-05-25 19:05:49Z foutrelis $
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: Kritoke <typeolinux@yahoo.com>
pkgname=gnumeric
pkgver=1.10.15
-pkgrel=1
+pkgrel=2
pkgdesc="A GNOME Spreadsheet Program"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnome.org/projects/gnumeric/"
diff --git a/extra/gptfdisk/PKGBUILD b/extra/gptfdisk/PKGBUILD
index c3e5215e6..e376be4fc 100644
--- a/extra/gptfdisk/PKGBUILD
+++ b/extra/gptfdisk/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 126131 2011-06-01 17:33:51Z foutrelis $
+# $Id: PKGBUILD 129374 2011-06-27 05:53:20Z foutrelis $
# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Hokum <hokum_at_mail_dot_ru>
pkgname=gptfdisk
-pkgver=0.7.1
-pkgrel=3
+pkgver=0.7.2
+pkgrel=1
pkgdesc="A text-mode partitioning tool that works on Globally Unique Identifier (GUID) Partition Table (GPT) disks"
arch=('i686' 'x86_64')
url="http://www.rodsbooks.com/gdisk/"
license=('GPL2')
depends=('gcc-libs' 'util-linux' 'popt' 'icu')
-provides=('gdisk')
+provides=("gdisk=$pkgver")
conflicts=('gdisk')
replaces=('gdisk')
-source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tgz)
-md5sums=('7c8d810df61e81c821bef399b832e89e')
+source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz)
+md5sums=('31deeb7acb5104d56ba2ddeafd907513')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/extra/graphviz/PKGBUILD b/extra/graphviz/PKGBUILD
index 35d7df78e..2af2c4c62 100644
--- a/extra/graphviz/PKGBUILD
+++ b/extra/graphviz/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 129240 2011-06-26 08:51:17Z bisson $
+# $Id: PKGBUILD 129245 2011-06-26 09:32:03Z 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=3
+pkgrel=4
pkgdesc='Graph visualization software'
url='http://www.graphviz.org/'
license=('custom:EPL')
diff --git a/extra/gstreamer0.10-good/PKGBUILD b/extra/gstreamer0.10-good/PKGBUILD
index 9b5ddb8ac..f8b0dfbf3 100644
--- a/extra/gstreamer0.10-good/PKGBUILD
+++ b/extra/gstreamer0.10-good/PKGBUILD
@@ -21,8 +21,8 @@ build() {
--disable-static --enable-experimental \
--disable-schemas-install \
--disable-hal \
- --with-package-name="GStreamer Good Plugins (Archlinux)" \
- --with-package-origin="http://www.archlinux.org/"
+ --with-package-name="GStreamer Good Plugins (Parabola)" \
+ --with-package-origin="https://parabolagnulinux.org/"
make
sed -e 's/gst sys ext/gst/' -i Makefile
diff --git a/extra/gtk2-perl/PKGBUILD b/extra/gtk2-perl/PKGBUILD
index 96c5bf83a..ba731572e 100644
--- a/extra/gtk2-perl/PKGBUILD
+++ b/extra/gtk2-perl/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 104912 2011-01-05 15:05:46Z jgc $
+# $Id: PKGBUILD 124902 2011-05-25 01:27:30Z foutrelis $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Sarah Hay <sarah@archlinux.org>
pkgname=gtk2-perl
_realname=Gtk2
pkgver=1.222
-pkgrel=2
+pkgrel=3
pkgdesc="Gtk2-Perl allows Perl developers to write GTK+ 2.x applications."
arch=(i686 x86_64 'mips64el')
license=('LGPL')
diff --git a/extra/imagemagick/PKGBUILD b/extra/imagemagick/PKGBUILD
index b5468a0c5..035cf0232 100644
--- a/extra/imagemagick/PKGBUILD
+++ b/extra/imagemagick/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 122661 2011-05-05 21:34:04Z eric $
+# $Id: PKGBUILD 127963 2011-06-20 08:24:42Z eric $
# Maintainer: Eric BĂ©langer <eric@archlinux.org>
pkgbase=imagemagick
pkgname=('imagemagick' 'imagemagick-doc')
-pkgver=6.6.9.8
+pkgver=6.7.0.8
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://www.imagemagick.org/"
@@ -13,9 +13,9 @@ depends=('libtool' 'lcms' 'libxt' 'gcc-libs' 'bzip2' 'xz' 'freetype2' 'fontconfi
makedepends=('ghostscript' 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper' 'libpng')
source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
perlmagick.rpath.patch)
-md5sums=('8cd5fe2bc5a29b38c24a6f9576518319'
+md5sums=('67d8631c20fc9a2409343c02b159407d'
'ff9974decbfe9846f8e347239d87e4eb')
-sha1sums=('f5fb5844934e23bffbd0ab2a36ea4914eab0dcd0'
+sha1sums=('03b8534d16aee3efc5496817f804d21964be79ad'
'23405f80904b1de94ebd7bd6fe2a332471b8c283')
build() {
@@ -25,7 +25,7 @@ build() {
autoreconf
patch -Np0 -i ../perlmagick.rpath.patch
- ./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
+ LIBS="$LIBS -L/usr/lib/perl5/core_perl/CORE -lperl" ./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
--enable-openmp --with-wmf --with-openexr --with-xml \
--with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
--with-perl --with-perl-options="INSTALLDIRS=vendor" \
diff --git a/extra/irssi/PKGBUILD b/extra/irssi/PKGBUILD
index 2d6fad73e..74702e9ad 100644
--- a/extra/irssi/PKGBUILD
+++ b/extra/irssi/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 102836 2010-12-12 08:15:33Z angvp $
+# $Id: PKGBUILD 125226 2011-05-25 19:11:10Z foutrelis $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Dan McGee <dan@archlinux.org>
pkgname=irssi
pkgver=0.8.15
-pkgrel=4
+pkgrel=5
pkgdesc="Modular text mode IRC client with Perl scripting"
arch=('i686' 'x86_64' 'mips64el')
url="http://irssi.org/"
diff --git a/extra/jack/PKGBUILD b/extra/jack/PKGBUILD
index b01ab7191..ea3fa63b9 100644
--- a/extra/jack/PKGBUILD
+++ b/extra/jack/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 125794 2011-05-29 20:29:19Z schiv $
+# $Id: PKGBUILD 129477 2011-06-28 06:24:10Z schiv $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: tobias <tobias@archlinux.net>
# Contributor: Robert Emil Berge <robert@rebi.no>
pkgname=jack
_longname=jack-audio-connection-kit
-pkgver=0.120.2
+pkgver=0.121.1
pkgrel=1
pkgdesc="A low-latency audio server"
arch=('i686' 'x86_64' 'mips64el')
@@ -13,13 +13,17 @@ license=('GPL' 'LGPL')
depends=('libsamplerate' 'readline')
makedepends=('doxygen' 'libffado')
optdepends=('libffado: FireWire support')
+[ "$CARCH" = "mips64el" ] && {
+makedepends=('doxygen')
+unset optdepends
+}
url="http://jackaudio.org/"
options=('!libtool')
provides=("$_longname=$pkgver")
replaces=("$_longname")
changelog=$pkgname.changelog
source=("http://jackaudio.org/downloads/$_longname-$pkgver.tar.gz")
-md5sums=('21f453676bfb9cb63a3df7e19546f0ed')
+md5sums=('a51005bfd6e993af8517e19e823cf3c6')
build() {
cd "$srcdir/$_longname-$pkgver"
@@ -32,7 +36,7 @@ build() {
package() {
cd "$srcdir/$_longname-$pkgver"
- make DESTDIR="$pkgdir/" install
+ make DESTDIR="$pkgdir" install
}
# vim:set ts=2 sw=2 et:
diff --git a/extra/jack/jack.changelog b/extra/jack/jack.changelog
index 4c3533694..47909c872 100644
--- a/extra/jack/jack.changelog
+++ b/extra/jack/jack.changelog
@@ -12,4 +12,4 @@
* jack.changelog :
Added this changelog.
- Only important things will be logged.
+ Only important changes will be logged.
diff --git a/extra/kdegraphics/PKGBUILD b/extra/kdegraphics/PKGBUILD
index e0f3951f8..9cbff59d8 100644
--- a/extra/kdegraphics/PKGBUILD
+++ b/extra/kdegraphics/PKGBUILD
@@ -21,6 +21,9 @@ groups=('kde' 'kdegraphics')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'qimageblitz' 'sane' 'lcms'
'libxxf86vm' 'poppler-qt' 'libspectre' 'chmlib' 'djvulibre'
'ebook-tools' 'kdebase-runtime')
+[ "$CARCH" = "mips64el" ] && makedepends=('pkgconfig' 'cmake' 'automoc4' 'qimageblitz' 'lcms'
+ 'libxxf86vm' 'poppler-qt' 'libspectre' 'djvulibre'
+ 'ebook-tools' 'kdebase-runtime')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
sha1sums=('c16dc9c55e7459418fa9887aa532ea0a269e7179')
@@ -136,6 +139,9 @@ package_kdegraphics-okular() {
pkgdesc='Document Viewer'
depends=('kdebase-runtime' 'qimageblitz' 'poppler-qt' 'chmlib' 'djvulibre'
'ebook-tools' 'libspectre')
+[ "$CARCH" = "mips64el" ] && \
+ depends=('kdebase-runtime' 'qimageblitz' 'poppler-qt' 'djvulibre'
+ 'ebook-tools' 'libspectre')
url="http://kde.org/applications/graphics/okular/"
install='kdegraphics.install'
cd $srcdir/build/okular
diff --git a/extra/koffice/PKGBUILD b/extra/koffice/PKGBUILD
index 1884dd92c..c13780881 100644
--- a/extra/koffice/PKGBUILD
+++ b/extra/koffice/PKGBUILD
@@ -38,18 +38,23 @@ pkgname=(
)
pkgver=2.3.3
pkgrel=4
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
url='http://koffice.kde.org'
license=('GPL' 'LGPL' 'FDL')
makedepends=('pkg-config' 'cmake' 'automoc4' 'boost' 'eigen' 'gsl' 'lcms'
'glew' 'qimageblitz' 'kdepimlibs' 'pstoedit' 'poppler-qt' 'libwpd'
'libwpg' 'opengtl' 'kdegraphics-libs')
+[ "$CARCH" = "mips64el" ] && \
+makedepends=('pkg-config' 'cmake' 'automoc4' 'boost' 'eigen' 'gsl' 'lcms'
+ 'glew' 'qimageblitz' 'kdepimlibs' 'pstoedit' 'poppler-qt' 'libwpd'
+ 'libwpg' 'kdegraphics-libs' 'libgsf')
groups=('koffice')
source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2"
'kde4-koffice-libwpg02.patch' 'gcc46.patch')
sha256sums=('31ba0d98c0d29c7b8ab97efdeb6c618b82177b2b0ec85da088178254da43c099'
'69106deb4081d71b5bd8f2e4f5af67ca689e4ce9f2bb49c11dbce5fb3409d612'
'e095c0b2bbedf41da6535a68b2275464dafd3f194566028d0135322f596e4739')
+options=(!distcc)
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
@@ -60,6 +65,7 @@ build() {
cd "${srcdir}"
mkdir build
cd build
+ CXX="g++" \
cmake ../${pkgbase}-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=ON \
@@ -216,6 +222,10 @@ package_koffice-krita(){
depends=('hicolor-icon-theme' 'glew' 'qimageblitz' 'koffice-libs' \
'koffice-templates' 'koffice-plugins' 'poppler-qt' 'shared-mime-info' \
'openexr' 'opengtl')
+[ "$CARCH" = "mips64el" ] && \
+ depends=('hicolor-icon-theme' 'glew' 'qimageblitz' 'koffice-libs' \
+ 'koffice-templates' 'koffice-plugins' 'poppler-qt' 'shared-mime-info' \
+ 'openexr')
optdepends=('koffice-filters: import/export filters')
install=krita.install
cd "${srcdir}/build/krita"
diff --git a/extra/krusader/PKGBUILD b/extra/krusader/PKGBUILD
index 863f4b7df..ebf3c861f 100644
--- a/extra/krusader/PKGBUILD
+++ b/extra/krusader/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 129354 2011-06-26 23:28:57Z eric $
+# $Id: PKGBUILD 129545 2011-06-28 19:04:18Z andrea $
# Maintainer:
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
@@ -7,16 +7,17 @@
pkgname=krusader
pkgver=2.4.0beta1
_pkgver=2.4.0-beta1
-pkgrel=1
+pkgrel=3
pkgdesc="An alternative file manager for KDE resembling Midnight Commander"
arch=('i686' 'x86_64' 'mips64el')
url="http://krusader.sourceforge.net/"
license=('GPL')
-depends=('kdebase-runtime')
-makedepends=('cmake' 'automoc4' 'docbook-xsl')
-optdepends=("kdebase-keditbookmarks: to edit bookmarks")
+depends=('kdebase-runtime' 'kdebase-lib')
+makedepends=('cmake' 'automoc4' 'docbook-xsl' 'kdeutils-ark')
+optdepends=("kdebase-keditbookmarks: to edit bookmarks"
+ "kdeutils-ark: extract archive with right-click")
install=krusader.install
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${_pkgver}.tar.bz2)
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${_pkgver}.tar.bz2")
md5sums=('d2340718d05d69e7f2a7f0846471ee12')
build() {
diff --git a/extra/lftp/PKGBUILD b/extra/lftp/PKGBUILD
index 312f139c6..eb01995ca 100644
--- a/extra/lftp/PKGBUILD
+++ b/extra/lftp/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 127768 2011-06-18 10:02:24Z andyrtr $
+# $Id: PKGBUILD 129514 2011-06-28 15:35:00Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
pkgname=lftp
-pkgver=4.3.0
+pkgver=4.3.1
pkgrel=1
pkgdesc="Sophisticated command line based FTP client"
arch=('i686' 'x86_64' 'mips64el')
@@ -14,7 +14,7 @@ makedepends=('autoconf')
url="http://lftp.yar.ru/"
backup=('etc/lftp.conf')
source=(http://ftp.yars.free.net/pub/source/lftp/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('3c6ff88f8c6e93ff90d8e3b054f3b086')
+md5sums=('ea45acfb47b5590d4675c50dc0c6e13c')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/extra/libdbusmenu-qt/PKGBUILD b/extra/libdbusmenu-qt/PKGBUILD
index 674648c88..e0aed1a88 100644
--- a/extra/libdbusmenu-qt/PKGBUILD
+++ b/extra/libdbusmenu-qt/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 122259 2011-05-03 14:55:26Z andrea $
+# $Id: PKGBUILD 129478 2011-06-28 07:38:29Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgname=libdbusmenu-qt
-pkgver=0.8.2
+pkgver=0.8.3
pkgrel=1
pkgdesc="A library that provides a Qt implementation of the DBusMenu spec"
arch=('i686' 'x86_64' 'mips64el')
@@ -11,7 +11,7 @@ license=('GPL')
depends=('qt')
makedepends=('cmake')
source=("http://launchpad.net/${pkgname}/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('88be2548e00acf988c66ed3a35844f64')
+md5sums=('8def56db4f58ca0a40d60807786f5912')
build() {
cd "${srcdir}"
diff --git a/extra/libmtp/PKGBUILD b/extra/libmtp/PKGBUILD
index 3b2fb76ce..78018661f 100644
--- a/extra/libmtp/PKGBUILD
+++ b/extra/libmtp/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 123216 2011-05-09 10:21:51Z jgc $
+# $Id: PKGBUILD 127351 2011-06-13 11:09:19Z stephane $
# Contributor: damir <damir@archlinux.org>
# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
pkgname=libmtp
-pkgver=1.0.6
+pkgver=1.1.0
pkgrel=1
pkgdesc="library implementation of the Media Transfer Protocol"
arch=("i686" "x86_64" 'mips64el')
@@ -13,17 +13,15 @@ depends=('libusb-compat')
makedepends=('doxygen')
options=('!libtool')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('7d3c624d768adba8537f8bc9c0a82cbf')
+md5sums=('fd7b293436528f4c780a9da6e5cc5398')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+ ./configure --prefix=/usr --with-udev-rules=52-libmtp.rules
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
-
- install -D -m0644 libmtp.rules "${pkgdir}/lib/udev/rules.d/52-libmtp.rules"
}
diff --git a/extra/libpeas/PKGBUILD b/extra/libpeas/PKGBUILD
index 3cacf3bba..8e190cea6 100644
--- a/extra/libpeas/PKGBUILD
+++ b/extra/libpeas/PKGBUILD
@@ -4,7 +4,7 @@ pkgname=libpeas
pkgver=1.0.0
pkgrel=1
pkgdesc="A GObject-based plugins engine"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
url="http://www.gtk.org/"
license=('GPL2')
depends=('gtk3' 'hicolor-icon-theme' 'pygobject' 'gobject-introspection')
diff --git a/extra/libproxy/PKGBUILD b/extra/libproxy/PKGBUILD
index 31118293d..6f1016fc8 100644
--- a/extra/libproxy/PKGBUILD
+++ b/extra/libproxy/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=libproxy
pkgver=0.4.6
-pkgrel=6
+pkgrel=7
pkgdesc="A library that provides automatic proxy configuration management"
arch=(i686 x86_64 'mips64el')
license=('LGPL')
diff --git a/extra/libreoffice/0001-fix-configure-without-the-optional-translations-modu.patch b/extra/libreoffice/0001-fix-configure-without-the-optional-translations-modu.patch
new file mode 100644
index 000000000..31ad95d36
--- /dev/null
+++ b/extra/libreoffice/0001-fix-configure-without-the-optional-translations-modu.patch
@@ -0,0 +1,31 @@
+From 900baff9ff400a6eba034089ed69362c2c2d61e4 Mon Sep 17 00:00:00 2001
+From: Petr Mladek <pmladek@suse.cz>
+Date: Wed, 22 Jun 2011 12:05:19 +0200
+Subject: [PATCH] fix configure without the optional translations module
+
+---
+ set_soenv.in | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/set_soenv.in b/set_soenv.in
+index f015bab..8e39314 100755
+--- a/set_soenv.in
++++ b/set_soenv.in
+@@ -1068,9 +1068,11 @@ $XCLASSPATH = '$JAVA_HOME'.$ds.'jre'.$LIB.$ds."rt.jar".$wps.'.';
+ $L10N_MODULE = PathFormat($SRC_ROOT."/translations");
+
+ # Check for poor help localizations, i.e. no help translation at all...
+-opendir(DIR,$L10N_MODULE . "/source");
+-@languages = readdir(DIR);
+-closedir(DIR);
++@languages=();
++if (opendir(DIR,$L10N_MODULE . "/source"))
++{ @languages = readdir(DIR);
++ closedir(DIR);
++}
+ $WITH_POOR_HELP_LOCALIZATIONS = "";
+
+ foreach $language (@languages)
+--
+1.7.3.4
+
diff --git a/extra/libreoffice/PKGBUILD b/extra/libreoffice/PKGBUILD
index a57b823ec..4ec3d5b00 100644
--- a/extra/libreoffice/PKGBUILD
+++ b/extra/libreoffice/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 126270 2011-06-03 14:47:40Z stephane $
+# $Id: PKGBUILD 129540 2011-06-28 18:38:58Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
pkgbase="libreoffice"
@@ -24,10 +24,10 @@ pkgname=('libreoffice' 'libreoffice-sdk'
'libreoffice-extension-validator'
'libreoffice-extension-watch-window'
'libreoffice-extension-wiki-publisher')
-_LOver=3.4.0.2
-pkgver=3.4.0
-pkgrel=2
-arch=('i686' 'x86_64' 'mips64el')
+_LOver=3.4.1.3
+pkgver=3.4.1
+pkgrel=1
+arch=('i686' 'x86_64')
#_LO_tree="3.4"
_OFFICEUPD="340"
license=('LGPL3')
@@ -90,11 +90,10 @@ source=(${_mirror}/${pkgbase}-{artwork,base,bootstrap,calc,components,extensions
http://ooo.itc.hu/oxygenoffice/download/libreoffice/9d60b6cfa3ef1926848710bbcd11115b-typo_0.4.2.oxt
http://ooo.itc.hu/oxygenoffice/download/libreoffice/dbaafd21de055e582d92d7d32fe9da13-gdocs_2.3.1.oxt
http://ooo.itc.hu/oxygenoffice/download/libreoffice/b7b2d0e04e142f26dd96119c80757d1f-oooblogger_0.1.oxt
- buildfix_i116795.diff
buildfix_boost.diff
buildfix_ct2n.diff
vbahelper.visibility.patch
- buildfix_bison25.diff)
+ 0001-fix-configure-without-the-optional-translations-modu.patch)
noextract=(185d60944ea767075d27247c3162b3bc-unowinreg.dll
b4cae0700aa1c2aef7eb7f345365e6f1-translate-toolkit-1.8.1.tar.bz2
7a0dcb3fe1e8c7229ab4fb868b7325e6-mdds_0.5.2.tar.bz2
@@ -133,25 +132,25 @@ noextract=(185d60944ea767075d27247c3162b3bc-unowinreg.dll
b7b2d0e04e142f26dd96119c80757d1f-oooblogger_0.1.oxt
90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2
f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2)
-md5sums=('7427ddd5ae63b6ee7aa868201dfbccaa'
- 'a78a8e08731213da02c65060cedc5589'
- '596da255e2728faccc8f2361171270ec'
- '8ed9803a34d13da1764e7523d550d6b0'
- '9be46d7c4bf3a60ee8dd0a5ef3638f82'
- 'b60db802866ab71c485de42e6382d1bb'
- '09e374cf3bd8f07a043883393012d69b'
- 'af9f25aa04dc4ef7b797f7bcc743877c'
- 'ad29de786d76d67759f9d2dd574b29be'
- 'ff13a8ac0ea324122b75773fd80a9245'
- '6eb8f53e01da7a945ee4cd42b7297732'
- '90df27d4cbf490668ce4f03ff7dba521'
- 'c0ea197183564c49306a1c79ca571e51'
- '91e69ed3c0be542fa7f69ca3da2d7808'
- 'a81c787b2e5469c2acc9f335b2c9e52f'
- 'ee1c78af6553657614b1a43adf4750ac'
- 'c970d6212618fc9b34526907eb030ce6'
- '6d25488c81af09d87015bf487243042f'
- '9a39234a49516b7035309e28dd4f0784'
+md5sums=('10b3212002688e7ce49a276c68352b50'
+ 'c6547ec8f971284ea1e58bb39375c500'
+ '26328364a0804dedab94818c15e76871'
+ 'd26c6ab53c9404e82e04ea366d4db261'
+ '132aa87f2f3e7fff62d7211a86b769f3'
+ '801c254c28402df0c5fb5e2615817a6d'
+ 'b94208fdae537f0b026ee26cede9a946'
+ '096e3071949d1eedf73faa13a2cf7b7e'
+ 'e27e715b08cc6a35988aaa6efab6cc7f'
+ 'e94d7adb79f38d3fd8119b712b04cc6e'
+ '1d2e7ca24b9fffafeaf236817fc8cbe9'
+ '69a9af6536607340a57b54b5562077f7'
+ '3b4e819497ba695f5c64a0107c2aac8d'
+ '5a7370a79e563f649f6bf506bc71928c'
+ 'c480ed571703e68d851fbbcd4aa520be'
+ '222cec135152c108068baa4e370a3f68'
+ '93524298efb472503b12ae47c95de399'
+ '5420c40473f8bf8e5b400dd8a1e54f02'
+ '1516196f023bb1ae55fd1773a8db9d16'
'1f24ab1d39f4a51faf22244c94a6203f'
'35c94d2df8893241173de1d16b6034c0'
'798b2ffdc8bcfe7bca2cf92b62caf685'
@@ -191,11 +190,10 @@ md5sums=('7427ddd5ae63b6ee7aa868201dfbccaa'
'9d60b6cfa3ef1926848710bbcd11115b'
'dbaafd21de055e582d92d7d32fe9da13'
'b7b2d0e04e142f26dd96119c80757d1f'
- '0520d63c946e272ed3bdfc863fbdc42e'
'bc228237108cab7745897a9f466b6d39'
'eee273f501ff45dc5f1365e78c6d57c0'
'43b145db28e6c0d73578ae6fd35e510d'
- '4fa96e04b41a6e86774e74a972024b3e')
+ 'f8a8fdcc58f50560fbc266e28efdbbfe')
build() {
@@ -219,11 +217,10 @@ build() {
cd ${srcdir}/build
# buildfixes & bugfixes
- patch -Np1 -i ${srcdir}/buildfix_i116795.diff
patch -Np1 -i ${srcdir}/buildfix_boost.diff
patch -Np1 -i ${srcdir}/buildfix_ct2n.diff
patch -Np0 -i ${srcdir}/vbahelper.visibility.patch
- patch -Np0 -i ${srcdir}/buildfix_bison25.diff
+ patch -Np1 -i ${srcdir}/0001-fix-configure-without-the-optional-translations-modu.patch
# unset C(XX)FLAGS
# http://www.openoffice.org/issues/show_bug.cgi?id=103205
@@ -461,14 +458,27 @@ package_libreoffice() {
package_libreoffice-sdk() {
pkgdesc="Software development kit for LibreOffice"
- depends=('libreoffice' 'gcc-libs' 'sh')
+ depends=('libreoffice' 'gcc-libs' 'sh' 'make' 'zip' 'gcc' 'java-environment')
cd ${srcdir}/sdk-install
cp -r * ${pkgdir}
cd ${pkgdir}/usr/lib/libreoffice/basis3.4/sdk
- mv setsdkenv_unix setsdkenv_unix.sh && chmod 755 setsdkenv_unix.sh
- rm -f ${pkgdir}/usr/lib/libreoffice/basis3.4/sdk/setsdkenv_unix.{csh,sh}.in
+ cp setsdkenv_unix setsdkenv_unix.sh && chmod 755 setsdkenv_unix{,.sh}
+
+ # fix ArchLinux LIbreOffice installation paths
+ sed -i -e "s,@OO_SDK_NAME@,libreoffice-sdk," \
+ -e "s,@OO_SDK_HOME@,/usr/lib/libreoffice/basis3.4/sdk," \
+ -e "s,@OFFICE_HOME@,/usr/lib/libreoffice," \
+ -e "s,@OFFICE_BASE_HOME@,/usr/lib/libreoffice/basis3.4," \
+ -e "s,@OO_SDK_URE_HOME@,/usr/lib/libreoffice/ure," \
+ -e "s,@OO_SDK_MAKE_HOME@,/usr/bin," \
+ -e "s,@OO_SDK_ZIP_HOME@,/usr/bin," \
+ -e "s,@OO_SDK_CPP_HOME@,/usr/bin," \
+ -e "s,@OO_SDK_CC_55_OR_HIGHER@,," \
+ -e "s,@OO_SDK_JAVA_HOME@,\$J2SDKDIR," \
+ -e "s,@OO_SDK_OUTPUT_DIR@,\$HOME," \
+ -e "s,@SDK_AUTO_DEPLOYMENT@,NO," setsdkenv_unix.{csh,sh}.in
#fix permissions
find examples -type f -exec chmod -x {} \;
}
diff --git a/extra/libvorbis/PKGBUILD b/extra/libvorbis/PKGBUILD
index ee072dd30..2c7b35a34 100644
--- a/extra/libvorbis/PKGBUILD
+++ b/extra/libvorbis/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=libvorbis
pkgver=1.3.2
-pkgrel=1
+pkgrel=2
pkgdesc="Vorbis codec library"
arch=('i686' 'x86_64' 'mips64el')
license=('custom')
@@ -18,7 +18,11 @@ md5sums=('c870b9bd5858a0ecb5275c14486d9554')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
#-march=i686 optimizes too much, strip it out
- CFLAGS=${CFLAGS/-march=$CARCH} ./configure --prefix=/usr --disable-static
+ if [ "$CARCH" = "mips64el" ]; then
+ CFLAGS=${CFLAGS/loongson2f/mips3} ./configure --prefix=/usr --disable-static
+ else
+ CFLAGS=${CFLAGS/-march=$CARCH} ./configure --prefix=/usr --disable-static
+ fi
make
}
diff --git a/extra/mediastreamer/PKGBUILD b/extra/mediastreamer/PKGBUILD
new file mode 100644
index 000000000..1a97bc8aa
--- /dev/null
+++ b/extra/mediastreamer/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 129367 2011-06-27 05:48:53Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: AdriĂ  Arrufat <swiftscythe@gmail.com>
+
+pkgname=mediastreamer
+pkgver=2.7.3
+pkgrel=3
+pkgdesc="A library written in C that allows you to create and run audio and video streams"
+arch=('i686' 'x86_64')
+url="http://www.linphone.org"
+license=('GPL')
+depends=('ortp' 'speex' 'v4l-utils' 'ffmpeg')
+makedepends=('cmake' 'automoc4')
+source=("http://download-mirror.savannah.gnu.org/releases/linphone/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ "disable-v4l1.patch")
+md5sums=('5213307f557d86aa648f1a53a885138c'
+ '7ee15689eed1adbdcf0ddab8fadca34a')
+options=('!libtool')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver/
+ patch -p2 -i "${srcdir}"/disable-v4l1.patch
+
+ ./configure --prefix=/usr \
+ --libexecdir=/usr/lib/mediastreamer/
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/extra/mediastreamer/disable-v4l1.patch b/extra/mediastreamer/disable-v4l1.patch
new file mode 100644
index 000000000..9f6cb84d4
--- /dev/null
+++ b/extra/mediastreamer/disable-v4l1.patch
@@ -0,0 +1,50 @@
+diff -wbBur linphone-3.4.3/mediastreamer2/src/Makefile.am linphone-3.4.3.my/mediastreamer2/src/Makefile.am
+--- linphone-3.4.3/mediastreamer2/src/Makefile.am 2011-02-09 08:43:11.000000000 +0000
++++ linphone-3.4.3.my/mediastreamer2/src/Makefile.am 2011-04-01 14:54:04.000000000 +0000
+@@ -117,7 +117,7 @@
+ endif
+
+ if BUILD_V4L
+-libmediastreamer_la_SOURCES+=msv4l.c msv4l2.c
++libmediastreamer_la_SOURCES+=msv4l2.c
+ endif
+
+ if BUILD_WIN32
+diff -wbBur linphone-3.4.3/mediastreamer2/src/Makefile.in linphone-3.4.3.my/mediastreamer2/src/Makefile.in
+--- linphone-3.4.3/mediastreamer2/src/Makefile.in 2011-03-28 18:34:07.000000000 +0000
++++ linphone-3.4.3.my/mediastreamer2/src/Makefile.in 2011-04-01 14:55:00.000000000 +0000
+@@ -54,7 +54,7 @@
+ @BUILD_MACAQSND_TRUE@am__append_12 = aqsnd.c
+ @BUILD_PULSEAUDIO_TRUE@am__append_13 = pulseaudio.c
+ @BUILD_MACOSX_TRUE@@BUILD_VIDEO_TRUE@am__append_14 = msv4m.m
+-@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__append_15 = msv4l.c msv4l2.c
++@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__append_15 = msv4l2.c
+ @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@am__append_16 = msdscap-mingw.cc drawdib-display.c
+ @BUILD_THEORA_TRUE@@BUILD_VIDEO_TRUE@am__append_17 = theora.c
+ @BUILD_FFMPEG_TRUE@@BUILD_VIDEO_TRUE@am__append_18 = videoenc.c \
+@@ -135,7 +135,7 @@
+ audiostream.c msspeex.c speexec.c gsm.c winsnd3.c \
+ msfileplayer_win.c msfilerec_win.c msfileplayer.c msfilerec.c \
+ msresample.c alsa.c oss.c arts.c pasnd.c macsnd.c msiounit.c \
+- aqsnd.c pulseaudio.c msv4m.m msv4l.c msv4l2.c msdscap-mingw.cc \
++ aqsnd.c pulseaudio.c msv4m.m msv4l2.c msdscap-mingw.cc \
+ drawdib-display.c theora.c videoenc.c videodec.c pixconv.c \
+ sizeconv.c nowebcam.c nowebcam.h swscale.h ffmpeg-priv.h \
+ h264dec.c jpegwriter.c videoout.c x11video.c rfc2429.h \
+@@ -156,7 +156,7 @@
+ @BUILD_MACAQSND_TRUE@am__objects_12 = aqsnd.lo
+ @BUILD_PULSEAUDIO_TRUE@am__objects_13 = pulseaudio.lo
+ @BUILD_MACOSX_TRUE@@BUILD_VIDEO_TRUE@am__objects_14 = msv4m.lo
+-@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__objects_15 = msv4l.lo msv4l2.lo
++@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__objects_15 = msv4l2.lo
+ @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@am__objects_16 = msdscap-mingw.lo \
+ @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@ drawdib-display.lo
+ @BUILD_THEORA_TRUE@@BUILD_VIDEO_TRUE@am__objects_17 = theora.lo
+@@ -600,7 +600,6 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mssndcard.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msspeex.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msticker.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4l.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4l2.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4m.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvideo.Plo@am__quote@
diff --git a/extra/mod_perl/PKGBUILD b/extra/mod_perl/PKGBUILD
index 126d47d41..cb74e10f6 100644
--- a/extra/mod_perl/PKGBUILD
+++ b/extra/mod_perl/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 119582 2011-04-12 15:02:19Z angvp $
+# $Id: PKGBUILD 129570 2011-06-28 22:45:51Z angvp $
# Maintainer: Firmicus <francois.archlinux.org>
# Contributor: Tom K <tomk@runbox.com>
pkgname=mod_perl
pkgver=2.0.5
-pkgrel=1
+pkgrel=6
pkgdesc="Apache module that embeds the Perl interpreter within the server"
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl=5.12.3' 'apache' 'db' 'apr-util')
+url="http://search.cpan.org/dist/${pkgname}/"
+depends=('perl' 'apache' 'db' 'apr-util' 'perl-linux-pid')
license=('APACHE')
arch=('i686' 'x86_64' 'mips64el')
options=(!emptydirs)
diff --git a/extra/neon/PKGBUILD b/extra/neon/PKGBUILD
index bcfd1aa15..bd8df5b44 100644
--- a/extra/neon/PKGBUILD
+++ b/extra/neon/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 124952 2011-05-25 12:20:04Z andrea $
+# $Id: PKGBUILD 129362 2011-06-27 05:41:06Z andrea $
# Maintainer:
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Contributor: Juergen Hoetzel <juergen@archlinux.org>
pkgname=neon
pkgver=0.29.6
-pkgrel=1
+pkgrel=2
pkgdesc="HTTP and WebDAV client library with a C interface"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL' 'LGPL')
@@ -24,6 +24,9 @@ build() {
--with-ssl=openssl \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
make
+
+ # fix invalid .so links in man pages (FS#24902)
+ sed -i '/^\.so/s|\.so \([^.]\+\)\.\([[:digit:]]\)|.so man\2/\1.\2|' doc/man/*
}
package() {
diff --git a/extra/net-snmp/PKGBUILD b/extra/net-snmp/PKGBUILD
index ff3994394..a765a3d05 100644
--- a/extra/net-snmp/PKGBUILD
+++ b/extra/net-snmp/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 112465 2011-03-05 03:33:40Z eric $
+# $Id: PKGBUILD 125239 2011-05-25 19:13:43Z foutrelis $
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
pkgname=net-snmp
pkgver=5.6.1
-pkgrel=1
+pkgrel=2
pkgdesc="A suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.net-snmp.org/"
@@ -18,7 +18,8 @@ provides=('ucd-snmp')
options=('!libtool' '!makeflags' '!emptydirs')
source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"
'snmpd.rc')
-md5sums=('b4e30ead5783b0bb1d280172c6095ea4' '9f0d13676ba1fae1eb7eb178edd85b43')
+md5sums=('b4e30ead5783b0bb1d280172c6095ea4'
+ '9f0d13676ba1fae1eb7eb178edd85b43')
sha1sums=('45bbf1295253d5379a5d1efd918593160387fd00' '2c679b564a2c319d9ce2714a9776aa0e6d89c60a')
build() {
diff --git a/extra/pango-perl/PKGBUILD b/extra/pango-perl/PKGBUILD
index f3703c36d..66abfb0c8 100644
--- a/extra/pango-perl/PKGBUILD
+++ b/extra/pango-perl/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 104909 2011-01-05 14:41:37Z jgc $
+# $Id: PKGBUILD 124899 2011-05-25 01:24:25Z foutrelis $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=pango-perl
_realname=Pango
pkgver=1.221
-pkgrel=3
+pkgrel=4
pkgdesc="Perl bindings for Pango"
arch=(i686 x86_64 'mips64el')
license=('LGPL')
diff --git a/extra/perl-alien-sdl/PKGBUILD b/extra/perl-alien-sdl/PKGBUILD
index ae6d4e5de..196c93a9c 100644
--- a/extra/perl-alien-sdl/PKGBUILD
+++ b/extra/perl-alien-sdl/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 112695 2011-03-06 00:40:04Z heftig $
+# $Id: PKGBUILD 124820 2011-05-24 15:44:07Z heftig $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
@@ -8,7 +8,7 @@
pkgname=perl-alien-sdl
_realname=Alien-SDL
-pkgver=1.425
+pkgver=1.426
pkgrel=1
pkgdesc="Building, finding and using SDL binaries"
arch=(i686 x86_64 'mips64el')
@@ -18,7 +18,7 @@ depends=(sdl=1.2.14 perl-file-sharedir perl-capture-tiny)
makedepends=(perl-file-which perl-text-patch)
options=(!emptydirs)
source=(http://search.cpan.org/CPAN/authors/id/F/FR/FROGGS/$_realname-$pkgver.tar.gz)
-md5sums=('c6adaa35ea0779740950de36c8a8ffe2')
+md5sums=('ab5e1167934418f4a7b3285a9d05c89b')
package() {
cd "$srcdir/$_realname-$pkgver"
diff --git a/extra/perl-bit-vector/PKGBUILD b/extra/perl-bit-vector/PKGBUILD
index 7a6f8c0e8..39a4cf8fa 100644
--- a/extra/perl-bit-vector/PKGBUILD
+++ b/extra/perl-bit-vector/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 100723 2010-11-25 17:21:16Z kevin $
+# $Id: PKGBUILD 125243 2011-05-25 19:15:01Z foutrelis $
# Maintainer: Kevin Piche <kevin@archlinux.org>
# Contributor: K. Piche <kpiche@rogers.com>
pkgname=perl-bit-vector
_cpanname=Bit-Vector
pkgver=7.1
-pkgrel=2
+pkgrel=3
pkgdesc='Efficient bit vector, set of integers and "big int" math library'
arch=(i686 x86_64 'mips64el')
license=('GPL' 'LGPL' 'PerlArtistic')
diff --git a/extra/perl-compress-bzip2/PKGBUILD b/extra/perl-compress-bzip2/PKGBUILD
index d73758aa2..04eb676bf 100644
--- a/extra/perl-compress-bzip2/PKGBUILD
+++ b/extra/perl-compress-bzip2/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 112695 2011-03-06 00:40:04Z heftig $
+# $Id: PKGBUILD 127799 2011-06-18 15:54:27Z ibiru $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
pkgname=perl-compress-bzip2
_realname=Compress-Bzip2
pkgver=2.09
-pkgrel=1
+pkgrel=3
pkgdesc="Interface to Bzip2 compression library"
arch=(i686 x86_64 'mips64el')
license=(GPL2)
depends=(perl bzip2)
-url='http://search.cpan.org/dist/$_realname'
+url="http://search.cpan.org/dist/$_realname"
options=('!emptydirs')
source=("http://search.cpan.org/CPAN/authors/id/A/AR/ARJAY/$_realname-$pkgver.tar.gz")
md5sums=('1699fde3e86f2a036f135ae606d456bf')
diff --git a/extra/perl-crypt-ssleay/PKGBUILD b/extra/perl-crypt-ssleay/PKGBUILD
index 8b707dbdb..9b055e50c 100644
--- a/extra/perl-crypt-ssleay/PKGBUILD
+++ b/extra/perl-crypt-ssleay/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 103974 2010-12-24 20:16:07Z kevin $
+# $Id: PKGBUILD 125246 2011-05-25 19:15:29Z foutrelis $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-crypt-ssleay
pkgver=0.58
-pkgrel=2
+pkgrel=3
pkgdesc="OpenSSL glue that provides LWP https support"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/Crypt-SSLeay"
diff --git a/extra/perl-dbd-mysql/PKGBUILD b/extra/perl-dbd-mysql/PKGBUILD
index b046d16ee..8c7987ea3 100644
--- a/extra/perl-dbd-mysql/PKGBUILD
+++ b/extra/perl-dbd-mysql/PKGBUILD
@@ -1,29 +1,44 @@
-# $Id: PKGBUILD 115053 2011-03-16 15:26:25Z andrea $
+# $Id: PKGBUILD 125309 2011-05-25 19:54:00Z remy $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Eric Johnson <eric@coding-zone.com>
pkgname=perl-dbd-mysql
_realname=DBD-mysql
-pkgver=4.018
-pkgrel=2
+pkgver=4.019
+pkgrel=1
pkgdesc="Perl/CPAN DBD::mysql module for interacting with MySQL via DBD"
arch=(i686 x86_64 'mips64el')
license=('GPL' 'PerlArtistic')
url="http://search.cpan.org/dist/${_realname}/"
-depends=('libmysqlclient' 'perl-dbi' 'perl>=5.10.0')
+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=('d1d4ee2f20910d6491d1b6216471b2f1')
+md5sums=('566d98ab8ffac9626a31f6f6d455558e')
build() {
cd ${srcdir}/${_realname}-${pkgver}
# install module in vendor directories.
- perl Makefile.PL INSTALLDIRS=vendor
+ 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/extra/perl-dbd-sqlite/PKGBUILD b/extra/perl-dbd-sqlite/PKGBUILD
index 6adfb29bf..b09ab358f 100644
--- a/extra/perl-dbd-sqlite/PKGBUILD
+++ b/extra/perl-dbd-sqlite/PKGBUILD
@@ -1,17 +1,16 @@
-# $Id: PKGBUILD 100851 2010-11-26 00:50:08Z kevin $
+# $Id: PKGBUILD 125249 2011-05-25 19:15:53Z foutrelis $
# Contributor: Tom Killian <tomk@runbox.com>
# Contributor: francois at archlinux dot org
pkgname=perl-dbd-sqlite
_cpanname=DBD-SQLite
pkgver=1.31
-pkgrel=1
+pkgrel=2
pkgdesc="Self-contained RDBMS in a DBI driver"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/${_cpanname}"
license=('GPL' 'PerlArtistic')
depends=('perl-dbi>=1.61' 'sqlite3')
-makedepends=('perl-pathtools>=0.82')
options=('!emptydirs')
source=(http://www.cpan.org/authors/id/A/AD/ADAMK/${_cpanname}-${pkgver}.tar.gz)
md5sums=('67b3575104efd606c8093bc416e3338d')
diff --git a/extra/perl-dbi/PKGBUILD b/extra/perl-dbi/PKGBUILD
index bee143850..71111f93a 100644
--- a/extra/perl-dbi/PKGBUILD
+++ b/extra/perl-dbi/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 105336 2011-01-07 21:29:30Z angvp $
+# $Id: PKGBUILD 124915 2011-05-25 07:47:08Z foutrelis $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Matt Thompson <mattt@defunct.ca>
pkgname=perl-dbi
_realname=DBI
pkgver=1.616
-pkgrel=1
+pkgrel=2
pkgdesc="Database independent interface for Perl"
arch=(i686 x86_64 'mips64el')
license=('GPL' 'PerlArtistic')
diff --git a/extra/perl-digest-nilsimsa/PKGBUILD b/extra/perl-digest-nilsimsa/PKGBUILD
index 3190d08be..93d9a56da 100644
--- a/extra/perl-digest-nilsimsa/PKGBUILD
+++ b/extra/perl-digest-nilsimsa/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 100551 2010-11-24 02:25:52Z kevin $
+# $Id: PKGBUILD 125252 2011-05-25 19:16:38Z foutrelis $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Manolis Tzanidakis
pkgname=perl-digest-nilsimsa
_realname=Digest-Nilsimsa
pkgver=0.06
-pkgrel=6
+pkgrel=7
pkgdesc="Perl version of Nilsimsa code."
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
diff --git a/extra/perl-digest-sha1/PKGBUILD b/extra/perl-digest-sha1/PKGBUILD
index 2804647eb..f6218022a 100644
--- a/extra/perl-digest-sha1/PKGBUILD
+++ b/extra/perl-digest-sha1/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 100547 2010-11-24 02:18:32Z kevin $
+# $Id: PKGBUILD 125255 2011-05-25 19:17:02Z foutrelis $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Manolis Tzanidakis
pkgname=perl-digest-sha1
_realname=Digest-SHA1
pkgver=2.13
-pkgrel=1
+pkgrel=2
pkgdesc="Perl interface to the SHA-1 Algorithm"
arch=(i686 x86_64 'mips64el')
license=('PerlArtistic')
diff --git a/extra/perl-event/PKGBUILD b/extra/perl-event/PKGBUILD
index 0913209d1..056a22ba8 100644
--- a/extra/perl-event/PKGBUILD
+++ b/extra/perl-event/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 100545 2010-11-24 01:37:38Z kevin $
+# $Id: PKGBUILD 125258 2011-05-25 19:17:24Z foutrelis $
# Maintainer: tobias <tobias@archlinux.org>
# Contributor: Tobias Kieslich <tobias@justdreams.de>
# Contributor: François Charette <francois.archlinux.org>
pkgname=perl-event
_srcname=Event
-pkgver=1.13
-pkgrel=3
+pkgver=1.17
+pkgrel=1
pkgdesc="Framework for GUI events"
arch=('i686' 'x86_64' 'mips64el')
license=('PerlArtistic' 'GPL')
url="http://search.cpan.org/dist/${_srcname}/"
-depends=('perl>=5.10.0')
+depends=('perl')
options=(!emptydirs)
source=(http://search.cpan.org/CPAN/authors/id/J/JP/JPRIT/${_srcname}-${pkgver}.tar.gz)
-md5sums=('88cf5bb6b4b06e016072a5ff2ff8fa1a')
+md5sums=('c58cdf7c56cd5f10a58b234d2c81295f')
build() {
cd "${srcdir}/${_srcname}-${pkgver}"
diff --git a/extra/perl-fcgi/PKGBUILD b/extra/perl-fcgi/PKGBUILD
index eaa521149..61784de7e 100644
--- a/extra/perl-fcgi/PKGBUILD
+++ b/extra/perl-fcgi/PKGBUILD
@@ -1,31 +1,31 @@
-# $Id: PKGBUILD 101395 2010-11-29 01:59:43Z kevin $
+# $Id: PKGBUILD 125303 2011-05-25 19:27:52Z remy $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-fcgi
-pkgver=0.71
-pkgrel=3
+pkgver=0.72
+pkgrel=1
pkgdesc="Fast CGI"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/FCGI"
license=('GPL' 'PerlArtistic')
-depends=('perl')
+depends=('perl>=5.14')
options=('!emptydirs')
source=(http://www.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-${pkgver}.tar.gz)
-md5sums=('26bc4ea53ccc9c9c16695e88e46a1cfb')
+md5sums=('7b793e177caa93d972c6fb7ebe7c7ae1')
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}"
-
- find ${pkgdir} -name '.packlist' -delete
- find ${pkgdir} -name '*.pod' -delete
}
diff --git a/extra/perl-html-parser/PKGBUILD b/extra/perl-html-parser/PKGBUILD
index b2dd0537e..6d43f820d 100644
--- a/extra/perl-html-parser/PKGBUILD
+++ b/extra/perl-html-parser/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 100913 2010-11-26 16:20:58Z kevin $
+# $Id: PKGBUILD 125261 2011-05-25 19:17:47Z foutrelis $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Manolis Tzanidakis
# Contributor: Firmicus <francois.archlinux.org>
@@ -6,7 +6,7 @@
pkgname=perl-html-parser
_realname=HTML-Parser
pkgver=3.68
-pkgrel=1
+pkgrel=2
pkgdesc="Perl HTML parser class"
arch=('i686' 'x86_64' 'mips64el')
license=('PerlArtistic')
diff --git a/extra/perl-libintl-perl/PKGBUILD b/extra/perl-libintl-perl/PKGBUILD
index ab08900f8..e7061cdba 100644
--- a/extra/perl-libintl-perl/PKGBUILD
+++ b/extra/perl-libintl-perl/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 100859 2010-11-26 01:58:35Z kevin $
+# $Id: PKGBUILD 125264 2011-05-25 19:18:10Z foutrelis $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Tobias Kieslich <tobias@justdreams.de>
pkgname=perl-libintl-perl
_realname=libintl-perl
pkgver=1.20
-pkgrel=2
+pkgrel=3
pkgdesc="Perl Module: Localization support"
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
diff --git a/extra/perl-locale-gettext/PKGBUILD b/extra/perl-locale-gettext/PKGBUILD
index 936edf055..7f320215a 100644
--- a/extra/perl-locale-gettext/PKGBUILD
+++ b/extra/perl-locale-gettext/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 103982 2010-12-24 20:55:26Z kevin $
+# $Id: PKGBUILD 125267 2011-05-25 19:18:48Z foutrelis $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Mark Rosenstand <mark@borkware.net>
# Contributor: Paul Mattal <paul@archlinux.org>
@@ -6,7 +6,7 @@
pkgname=perl-locale-gettext
_realname=gettext
pkgver=1.05
-pkgrel=6
+pkgrel=7
pkgdesc="Permits access from Perl to the gettext() family of functions"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL' 'PerlArtistic')
diff --git a/extra/perl-net-dns/PKGBUILD b/extra/perl-net-dns/PKGBUILD
index 686198068..b676b2524 100644
--- a/extra/perl-net-dns/PKGBUILD
+++ b/extra/perl-net-dns/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 100863 2010-11-26 02:27:59Z kevin $
+# $Id: PKGBUILD 125273 2011-05-25 19:19:34Z foutrelis $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Manolis Tzanidakis
pkgname=perl-net-dns
_realname=Net-DNS
pkgver=0.66
-pkgrel=3
+pkgrel=4
pkgdesc="Perl Module: Interface to the DNS resolver."
arch=(i686 x86_64 'mips64el')
license=('PerlArtistic')
diff --git a/extra/perl-net-ssleay/PKGBUILD b/extra/perl-net-ssleay/PKGBUILD
index 0a78499f8..39325115f 100644
--- a/extra/perl-net-ssleay/PKGBUILD
+++ b/extra/perl-net-ssleay/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 102842 2010-12-12 08:25:28Z angvp $
+# $Id: PKGBUILD 125276 2011-05-25 19:20:00Z foutrelis $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Manolis Tzanidakis
pkgname=perl-net-ssleay
_cpanname=Net-SSLeay
pkgver=1.36
-pkgrel=4
+pkgrel=5
pkgdesc="Perl extension for using OpenSSL"
arch=('i686' 'x86_64' 'mips64el')
license=('custom:BSD')
diff --git a/extra/perl-net-upnp/PKGBUILD b/extra/perl-net-upnp/PKGBUILD
index db2fb5ad0..e6187ebf1 100644
--- a/extra/perl-net-upnp/PKGBUILD
+++ b/extra/perl-net-upnp/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 102845 2010-12-12 08:32:04Z angvp $
+# $Id: PKGBUILD 125279 2011-05-25 19:20:27Z foutrelis $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Drew Gilbert <gilbert dot drew at gmail dot com>
pkgname=perl-net-upnp
pkgver=1.4.2
-pkgrel=2
+pkgrel=3
pkgdesc="Perl Module UPnP"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/~skonno/Net-UPnP-1.4.2/"
diff --git a/extra/perl-netaddr-ip/PKGBUILD b/extra/perl-netaddr-ip/PKGBUILD
index ea543e2c2..33fb57a58 100644
--- a/extra/perl-netaddr-ip/PKGBUILD
+++ b/extra/perl-netaddr-ip/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 100919 2010-11-26 17:02:08Z kevin $
+# $Id: PKGBUILD 125270 2011-05-25 19:19:11Z foutrelis $
# Maintainer: Dale Blount <dale@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Francois Charette <francois.archlinux.org>
@@ -6,7 +6,7 @@
pkgname=perl-netaddr-ip
_realname=NetAddr-IP
pkgver=4.037
-pkgrel=1
+pkgrel=2
pkgdesc="Perl module to manage IP addresses and subnets"
arch=(i686 x86_64 'mips64el')
license=('PerlArtistic' 'GPL')
diff --git a/extra/perl-sdl/PKGBUILD b/extra/perl-sdl/PKGBUILD
index eb1f7ed45..ba580e6ee 100644
--- a/extra/perl-sdl/PKGBUILD
+++ b/extra/perl-sdl/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 112695 2011-03-06 00:40:04Z heftig $
+# $Id: PKGBUILD 127524 2011-06-15 21:01:17Z remy $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
pkgname=perl-sdl
pkgver=2.531
-pkgrel=1
+pkgrel=3
pkgdesc="Simple DirectMedia Layer for Perl"
arch=(i686 x86_64 'mips64el')
license=(LGPL)
@@ -20,12 +20,21 @@ provides=("sdl_perl=$pkgver")
source=(http://search.cpan.org/CPAN/authors/id/G/GA/GARU/SDL-$pkgver.tar.gz)
md5sums=('ed39c87ae685d3a933705a2ea82a9e18')
-package() {
+build() {
cd "$srcdir/SDL-$pkgver"
-
+ # Perl selects the proper CFLAGS set for binary modules
+ unset CFLAGS
# install module in vendor directories
- perl Build.PL installdirs=vendor destdir="$pkgdir"
-
+ perl Build.PL installdirs=vendor
perl Build
- perl Build install
+}
+
+check() {
+ cd "$srcdir/SDL-$pkgver"
+ perl Build test || true
+}
+
+package() {
+ cd "$srcdir/SDL-$pkgver"
+ perl Build install destdir="$pkgdir"
}
diff --git a/extra/perl-template-toolkit/PKGBUILD b/extra/perl-template-toolkit/PKGBUILD
index d10158746..7e1d939cf 100644
--- a/extra/perl-template-toolkit/PKGBUILD
+++ b/extra/perl-template-toolkit/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=perl-template-toolkit
_realname=Template-Toolkit
pkgver=2.22
-pkgrel=3
+pkgrel=4
pkgdesc="Perl template processing system"
arch=(i686 x86_64 'mips64el')
license=('PerlArtistic')
diff --git a/extra/perl-term-readkey/PKGBUILD b/extra/perl-term-readkey/PKGBUILD
index 862c10d82..8b05c1357 100644
--- a/extra/perl-term-readkey/PKGBUILD
+++ b/extra/perl-term-readkey/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 100930 2010-11-26 17:19:14Z kevin $
+# $Id: PKGBUILD 125285 2011-05-25 19:22:27Z foutrelis $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Wael Nasreddine <gandalf@siemens-mobiles.org>
# Contributor: Francois Charette <francois.archlinux.org>
@@ -6,7 +6,7 @@
pkgname=perl-term-readkey
_realname=TermReadKey
pkgver=2.30.01
-pkgrel=3
+pkgrel=4
pkgdesc="Provides simple control over terminal driver modes"
arch=('i686' 'x86_64' 'mips64el')
license=('custom')
diff --git a/extra/perl-text-iconv/PKGBUILD b/extra/perl-text-iconv/PKGBUILD
index 5ceddd605..f53a5babb 100644
--- a/extra/perl-text-iconv/PKGBUILD
+++ b/extra/perl-text-iconv/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 100932 2010-11-26 17:44:01Z kevin $
+# $Id: PKGBUILD 125288 2011-05-25 19:22:57Z foutrelis $
# Maintainer:
# Contributor: Francois Charette <firmicus@gmx.net>
pkgname=perl-text-iconv
_realname=Text-Iconv
pkgver=1.7
-pkgrel=5
+pkgrel=6
pkgdesc="Interface to iconv codeset conversion"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/${_realname}/"
diff --git a/extra/perl-time-hires/PKGBUILD b/extra/perl-time-hires/PKGBUILD
index d3c6eedf5..196430b4c 100644
--- a/extra/perl-time-hires/PKGBUILD
+++ b/extra/perl-time-hires/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 102848 2010-12-12 08:36:02Z angvp $
+# $Id: PKGBUILD 125291 2011-05-25 19:23:52Z foutrelis $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: mezcal <fila at pruda dot com>
pkgname=perl-time-hires
pkgver=1.9721
-pkgrel=3
+pkgrel=4
pkgdesc="Perl module: high resolution time, sleep, and alarm"
arch=('i686' 'x86_64' 'mips64el')
license=('PerlArtistic')
diff --git a/extra/perl-tk/PKGBUILD b/extra/perl-tk/PKGBUILD
index b3ba41cd3..4fbeb965a 100644
--- a/extra/perl-tk/PKGBUILD
+++ b/extra/perl-tk/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 102852 2010-12-12 10:35:16Z remy $
+# $Id: PKGBUILD 124660 2011-05-23 20:07:22Z remy $
# Maintainer: François Charette <francois ατ archlinux δοτ org>
# Contributor: Jason Chu <jchu@xentac.net>
# Contributor: Juergen Hoetzel <juergen@archlinux.org>
@@ -6,7 +6,7 @@
pkgname=perl-tk
_cpanname=Tk
pkgver=804.029
-pkgrel=2
+pkgrel=3
pkgdesc="A graphical user interface toolkit for Perl"
arch=('i686' 'x86_64' 'mips64el')
url="http://search.cpan.org/dist/${_cpanname}"
@@ -27,11 +27,14 @@ build() {
make
}
+#check() {
+# cd $srcdir/${_cpanname}-$pkgver
+# make test
+#}
+
package() {
cd $srcdir/${_cpanname}-$pkgver
make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
# license
install -D -m644 pTk/license.terms \
diff --git a/extra/perl-unicode-string/PKGBUILD b/extra/perl-unicode-string/PKGBUILD
index 9c88efc40..d7589af10 100644
--- a/extra/perl-unicode-string/PKGBUILD
+++ b/extra/perl-unicode-string/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 101387 2010-11-29 01:27:16Z kevin $
+# $Id: PKGBUILD 125294 2011-05-25 19:24:14Z foutrelis $
# Maintainer: James Rayner <iphitus@gmail.com>
# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
pkgname=perl-unicode-string
_realname=Unicode-String
pkgver=2.09
-pkgrel=5
+pkgrel=6
pkgdesc="String of Unicode characters for perl (UCS2/UTF16)"
arch=('i686' 'x86_64' 'mips64el')
license=('PerlArtistic')
diff --git a/extra/perl-xml-parser/PKGBUILD b/extra/perl-xml-parser/PKGBUILD
index 0ecf23cb5..b059f5723 100644
--- a/extra/perl-xml-parser/PKGBUILD
+++ b/extra/perl-xml-parser/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 101389 2010-11-29 01:30:43Z kevin $
+# $Id: PKGBUILD 129383 2011-06-27 06:10:42Z andrea $
# Maintainer:
# Contributor: firmicus <francois@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
@@ -6,8 +6,8 @@
pkgname=perl-xml-parser
_realname=XML-Parser
-pkgver=2.40
-pkgrel=2
+pkgver=2.41
+pkgrel=1
pkgdesc="Expat-based XML parser module for perl"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL' 'PerlArtistic')
@@ -16,8 +16,8 @@ depends=('perl' 'expat')
replaces=('perlxml')
provides=("perlxml=${pkgver}")
options=('!emptydirs')
-source=("http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/${_realname}-${pkgver}.tar.gz")
-md5sums=('c66e9adba003d0667cc40115ccd837a5')
+source=("http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/${_realname}-${pkgver}.tar.gz")
+md5sums=('c320d2ffa459e6cdc6f9f59c1185855e')
build() {
cd "${srcdir}/${_realname}-${pkgver}"
diff --git a/extra/perl-yaml-syck/PKGBUILD b/extra/perl-yaml-syck/PKGBUILD
index ac6c8fc57..e772c2bbb 100644
--- a/extra/perl-yaml-syck/PKGBUILD
+++ b/extra/perl-yaml-syck/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 101391 2010-11-29 01:38:44Z kevin $
+# $Id: PKGBUILD 125297 2011-05-25 19:24:39Z foutrelis $
# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
# Maintainer: kevin <kevin@archlinux.org>
pkgname=perl-yaml-syck
_realname=YAML-Syck
pkgver=1.17
-pkgrel=1
+pkgrel=2
pkgdesc="Fast, lightweight YAML loader and dumper"
arch=('i686' 'x86_64' 'mips64el')
license=('custom')
diff --git a/extra/pidgin/PKGBUILD b/extra/pidgin/PKGBUILD
index 0d939ffd2..91e94bb66 100644
--- a/extra/pidgin/PKGBUILD
+++ b/extra/pidgin/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 128509 2011-06-24 07:30:26Z foutrelis $
+# $Id: PKGBUILD 128517 2011-06-24 07:46:40Z foutrelis $
# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
@@ -7,7 +7,7 @@
pkgname=('pidgin' 'libpurple' 'finch')
pkgver=2.9.0
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://pidgin.im/"
license=('GPL')
diff --git a/extra/pixman/PKGBUILD b/extra/pixman/PKGBUILD
index bf392b456..3c842ff4b 100644
--- a/extra/pixman/PKGBUILD
+++ b/extra/pixman/PKGBUILD
@@ -4,18 +4,22 @@
pkgname=pixman
pkgver=0.22.0
-pkgrel=1
+pkgrel=2
pkgdesc="Pixman library"
arch=(i686 x86_64 'mips64el')
url="http://xorg.freedesktop.org"
license=('custom')
depends=('glibc')
options=('!libtool')
-source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('d24ea233755d7dce9f0d93136ad99fba8d4e4fa0')
+source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2
+ pixman-loongson2f.patch)
+sha1sums=('d24ea233755d7dce9f0d93136ad99fba8d4e4fa0'
+ 'ce4d69ea341f21fdc30f6d401ee479cd3571dab3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ [ "$CARCH" = "mips64el" ] && patch -Np1 -i $srcdir/pixman-loongson2f.patch
+ autoreconf -i
./configure --prefix=/usr --disable-static
make
}
diff --git a/extra/pixman/pixman-loongson2f.patch b/extra/pixman/pixman-loongson2f.patch
new file mode 100644
index 000000000..15e01cb6b
--- /dev/null
+++ b/extra/pixman/pixman-loongson2f.patch
@@ -0,0 +1,2745 @@
+diff -urN pixman//configure.ac Pixman.Loongson//configure.ac
+--- pixman//configure.ac 2010-12-25 18:46:00.018699000 +0800
++++ Pixman.Loongson//configure.ac 2010-12-25 18:39:15.298778000 +0800
+@@ -264,6 +264,43 @@
+ ])
+
+ dnl ===========================================================================
++dnl Check for Loongson SIMD
++
++have_loongson_intrinsics=no
++AC_MSG_CHECKING(whether to use Loongson SIMD intrinsics)
++
++AC_COMPILE_IFELSE([
++#if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4))
++error "Need GCC >= 4.4 for Loongson SIMD compilation"
++#endif
++int main () {
++ /* Test with a loongson SIMD instruction. */
++ asm volatile ( ".set arch = loongson2f \n\t" "and \$f0, \$f0, \$f0 \n\t" : : : "cc", "memory" );
++ return 0;
++}], have_loongson_intrinsics=yes)
++
++
++AC_ARG_ENABLE(loongson,
++ [AC_HELP_STRING([--disable-loongson],
++ [disable Loongson fast paths])],
++ [enable_loongson=$enableval], [enable_loongson=auto])
++
++if test $enable_loongson = no ; then
++ have_loongson_intrinsics=disabled
++fi
++
++if test $have_loongson_intrinsics = yes ; then
++ AC_DEFINE(USE_LS, 1, [use Loongson compiler intrinsics])
++fi
++
++AC_MSG_RESULT($have_loongson_intrinsics)
++if test $enable_loongson = yes && test $have_loongson_intrinsics = no ; then
++ AC_MSG_ERROR([Loongson intrinsics not detected])
++fi
++
++AM_CONDITIONAL(USE_LS, test $have_loongson_intrinsics = yes)
++
++dnl ===========================================================================
+ dnl Check for MMX
+
+ if test "x$MMX_CFLAGS" = "x" ; then
+diff -urN pixman//pixman/Makefile.am Pixman.Loongson//pixman/Makefile.am
+--- pixman//pixman/Makefile.am 2010-12-25 18:46:00.025027000 +0800
++++ Pixman.Loongson//pixman/Makefile.am 2010-12-25 18:39:15.303599000 +0800
+@@ -55,6 +55,19 @@
+ pixman-combine.h.template solaris-hwcap.mapfile pixman-x64-mmx-emulation.h
+ CLEANFILES = pixman-combine32.c pixman-combine64.c pixman-combine32.h pixman-combine64.h
+
++# loongson code
++if USE_LS
++noinst_LTLIBRARIES += libpixman-ls.la
++libpixman_ls_la_SOURCES = \
++ pixman-ls.c
++libpixman_ls_la_CFLAGS = $(DEP_CFLAGS) $(LS_CFLAGS)
++libpixman_ls_la_LIBADD = $(DEP_LIBS)
++libpixman_1_la_LDFLAGS += $(LS_LDFLAGS)
++libpixman_1_la_LIBADD += libpixman-ls.la
++
++ASM_CFLAGS_ls=$(LS_CFLAGS)
++endif
++
+ # mmx code
+ if USE_MMX
+ noinst_LTLIBRARIES += libpixman-mmx.la
+diff -urN pixman//pixman/pixman-combine-ls.c Pixman.Loongson//pixman/pixman-combine-ls.c
+--- pixman//pixman/pixman-combine-ls.c 1970-01-01 08:00:00.000000000 +0800
++++ Pixman.Loongson//pixman/pixman-combine-ls.c 2010-12-25 18:39:15.344171000 +0800
+@@ -0,0 +1,911 @@
++static force_inline uint32_t
++combine (const uint32_t *src, const uint32_t *mask)
++{
++ uint32_t ssrc = *src;
++
++ if (mask)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f22)
++ load8888r(%0,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ store8888r($f8,%0)
++ :"+r"(ssrc):"r"(*mask):clobber
++ );
++ }
++ return ssrc;
++}
++
++static void
++ls_combine_saturate_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++ uint32_t s = combine (src, mask);
++ uint32_t d = *dest;
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f22)
++ load8888r(%0,$f20)
++ :"+r"(d):"r"(s):clobber
++ );
++
++ uint32_t sa = s >> 24;
++ uint32_t da = ~d >> 24;
++
++ if (sa > da)
++ {
++ uint32_t dds = DIV_UN8 (da, sa) << 24;
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f24)
++ pix_multiply($f22,$f24)
++ save_to($f22)
++ ::"r"(dds):clobber
++ );
++ }
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ pix_add($f20,$f22)
++ store8888r($f8,%0)
++ :"=r"(*dest)::clobber
++ );
++
++ ++src;
++ ++dest;
++ if (mask)
++ mask++;
++ }
++}
++static void
++ls_combine_out_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++ if (mask)
++ {
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ save_to ($f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f24)
++ negate($f24,$f24)
++ pix_multiply($f20,$f24)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++
++ mask++;
++ }else {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++
++
++ load8888r(%1,$f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f24)
++ negate($f24,$f24)
++ pix_multiply($f20,$f24)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src):clobber
++ );
++
++ }
++ ++dest;
++ ++src;
++ }
++}
++
++static void
++ls_combine_out_reverse_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++ if (mask)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ save_to ($f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f20)
++ negate($f20,$f20)
++ pix_multiply($f20,$f24)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++
++ mask++;
++ }else{
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++
++ load8888r(%1,$f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f20)
++ negate($f20,$f20)
++ pix_multiply($f20,$f24)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src):clobber
++ );
++ }
++ ++dest;
++ ++src;
++
++ }
++}
++
++static void
++ls_combine_out_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f26)
++ negate($f26,$f26)
++ pix_multiply($f20,$f22)
++ save_to($f20)
++ pix_multiply($f20,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++}
++
++static void
++ls_combine_out_reverse_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f28)
++ pix_multiply($f22,$f28)
++ save_to($f22)
++ negate($f22,$f22)
++ pix_multiply($f24,$f22)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++}
++
++
++static void
++ls_combine_atop_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++ if (mask)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ save_to ($f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f26)
++ expand_alpha($f24,$f28)
++ negate($f26,$f26)
++ pix_add_mul($f20,$f28,$f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++
++ mask++;
++ }else {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f26)
++ expand_alpha($f24,$f28)
++ negate($f26,$f26)
++ pix_add_mul($f20,$f28,$f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src):clobber
++ );
++ }
++ ++dest;
++ ++src;
++
++ }
++}
++
++static void
++ls_combine_atop_reverse_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end;
++
++ end = dest + width;
++
++ while (dest < end)
++ {
++ if (mask){
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ save_to ($f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f26)
++ expand_alpha($f24,$f28)
++ negate($f28,$f28)
++ pix_add_mul($f20,$f28,$f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ mask++;
++ }else{
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++
++ load8888r(%1,$f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f26)
++ expand_alpha($f24,$f28)
++ negate($f28,$f28)
++ pix_add_mul($f20,$f28,$f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src):clobber
++ );
++ }
++ ++dest;
++ ++src;
++ }
++}
++
++
++static void
++ls_combine_atop_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f26)
++ expand_alpha($f20,$f28)
++ pix_multiply($f20,$f22)
++ save_to($f20)
++ pix_multiply($f22,$f28)
++ save_to($f22)
++ negate($f22,$f22)
++ pix_add_mul($f24,$f22,$f20,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++}
++
++static void
++ls_combine_atop_reverse_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f26)
++ expand_alpha($f20,$f28)
++ pix_multiply($f20,$f22)
++ save_to($f20)
++ pix_multiply($f22,$f28)
++ save_to($f22)
++ negate($f26,$f26)
++ pix_add_mul($f24,$f22,$f20,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++}
++
++static void
++ls_combine_xor_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++ if (mask)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ save_to ($f20)
++
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f26)
++ expand_alpha($f24,$f28)
++ negate($f26,$f26)
++ negate($f28,$f28)
++ pix_add_mul($f20,$f28,$f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ mask++;
++ }else{
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f26)
++ expand_alpha($f24,$f28)
++ negate($f26,$f26)
++ negate($f28,$f28)
++ pix_add_mul($f20,$f28,$f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src):clobber
++ );
++ }
++ ++dest;
++ ++src;
++
++ }
++}
++
++static void
++ls_combine_xor_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f26)
++ expand_alpha($f20,$f28)
++ pix_multiply($f20,$f22)
++ save_to($f20)
++ pix_multiply($f22,$f28)
++ save_to($f22)
++ negate($f26,$f26)
++ negate($f22,$f22)
++ pix_add_mul($f24,$f22,$f20,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++}
++
++
++static void
++ls_combine_in_reverse_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++
++ if (mask)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ save_to ($f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f26)
++ pix_multiply($f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ mask++;
++ } else {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f26)
++ pix_multiply($f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src):clobber
++ );
++ }
++ ++dest;
++ ++src;
++ }
++}
++
++static void
++ls_combine_in_reverse_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ load8888r(%0,$f24)
++ expand_alpha($f20,$f20)
++ pix_multiply($f22,$f20)
++ save_to($f26)
++ pix_multiply($f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++}
++
++static void
++ls_combine_in_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++ if (mask)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ save_to ($f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f24)
++ pix_multiply($f20,$f24)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ mask++;
++ } else {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f24)
++ pix_multiply($f20,$f24)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src):clobber
++ );
++
++ }
++ ++dest;
++ ++src;
++ }
++}
++
++static void
++ls_combine_in_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ load8888r(%0,$f24)
++ expand_alpha($f24,$f24)
++ pix_multiply($f20,$f22)
++ save_to($f26)
++ pix_multiply($f26,$f24)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++ }
++static void
++ls_combine_src_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ pix_multiply($f20,$f22)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++mask;
++ ++dest;
++ }
++
++}
++
++
++static void
++ls_combine_over_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++
++ uint32_t ssrc = combine (src, mask);
++ uint32_t a = ssrc >> 24;
++
++ if (a == 0xff)
++ {
++ *dest = ssrc;
++ }
++ else if (ssrc)
++ {
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++
++ expand_alpha($f20,$f24)
++ load8888r(%0,$f26)
++ over($f20,$f24,$f26)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(ssrc):clobber
++ );
++ }
++
++ ++dest;
++ ++src;
++ if (mask)
++ ++mask;
++ }
++}
++
++static void
++ls_combine_over_reverse_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++ if (mask)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ save_to ($f20)
++
++ load8888r(%0,$f26)
++ expand_alpha($f26,$f28)
++ over($f26,$f28,$f20)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ mask++;
++ }else{
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++
++ load8888r(%0,$f26)
++ expand_alpha($f26,$f28)
++ over($f26,$f28,$f20)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src):clobber
++ );
++
++ }
++ ++dest;
++ ++src;
++ }
++}
++
++
++static void
++ls_combine_over_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f20)
++ load8888r(%1,$f22)
++ load8888r(%2,$f24)
++ expand_alpha($f22,$f26)
++ in_over($f22,$f26,$f24,$f20)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++
++}
++
++static void
++ls_combine_over_reverse_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f20)
++ load8888r(%1,$f22)
++ load8888r(%2,$f24)
++ in($f22,$f24)
++ save_to($f22)
++ expand_alpha($f20,$f28)
++ over($f20,$f28,$f22)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++
++}
++
++static void
++ls_combine_add_u (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = dest + width;
++
++ while (dest < end)
++ {
++
++ if (mask)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f22)
++ load8888r(%1,$f20)
++ expand_alpha($f22,$f22)
++ pix_multiply($f20,$f22)
++ save_to ($f20)
++
++ load8888r(%0,$f22)
++ pix_add($f20,$f22)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ mask++;
++ }else{
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++
++ load8888r(%0,$f22)
++ pix_add($f20,$f22)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src):clobber
++ );
++
++ }
++ ++dest;
++ ++src;
++ }
++}
++
++static void
++ls_combine_add_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ uint32_t * dest,
++ const uint32_t * src,
++ const uint32_t * mask,
++ int width)
++{
++ const uint32_t *end = src + width;
++
++ while (src < end)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f20)
++ load8888r(%1,$f22)
++ load8888r(%2,$f24)
++ pix_multiply($f22,$f24)
++ save_to($f22)
++ pix_add($f22,$f20)
++ store8888r($f8,%0)
++ :"+r"(*dest):"r"(*src),"r"(*mask):clobber
++ );
++ ++src;
++ ++dest;
++ ++mask;
++ }
++}
+diff -urN pixman//pixman/pixman-composite-ls.c Pixman.Loongson//pixman/pixman-composite-ls.c
+--- pixman//pixman/pixman-composite-ls.c 1970-01-01 08:00:00.000000000 +0800
++++ Pixman.Loongson//pixman/pixman-composite-ls.c 2010-12-25 18:39:15.356667000 +0800
+@@ -0,0 +1,967 @@
++static void
++ls_composite_over_x888_8_8888 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++
++ uint32_t *src, *src_line;
++ uint32_t *dst, *dst_line;
++ uint8_t *mask, *mask_line;
++ int src_stride, mask_stride, dst_stride;
++ uint32_t m;
++ uint32_t s, d;
++ int32_t w;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint32_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (mask_image, mask_x, mask_y, uint8_t, mask_stride, mask_line, 1);
++ PIXMAN_IMAGE_GET_LINE (src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
++
++ while (height--)
++ {
++ src = src_line;
++ src_line += src_stride;
++ dst = dst_line;
++ dst_line += dst_stride;
++ mask = mask_line;
++ mask_line += mask_stride;
++
++ w = width;
++ while (w--)
++ {
++ m = *mask++;
++ if (m)
++ {
++ s = *src | 0xff000000;
++
++ if (m == 0xff)
++ {
++ *dst = s;
++ }
++ else
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f20)
++ load8888r(%1,$f22)
++ load8888r(%2,$f24)
++ expand_alpha($f22,$f26)
++ expand_alpha_rev($f24,$f28)
++ in_over($f22,$f26,$f28,$f20)
++ store8888r($f8,%0)
++ :"+r"(*dst):"r"(s),"r"(m):clobber
++ );
++
++// __m64 sa = expand_alpha (s);
++// __m64 vm = expand_alpha_rev (to_m64 (m));
++// __m64 vdest = in_over (s, sa, vm, load8888 (*dst));
++// *dst = store8888 (vdest);
++
++ }
++ }
++ src++;
++ dst++;
++ }
++ }
++}
++
++
++
++
++
++static void
++ls_composite_over_8888_8888 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t *dst_line, *dst;
++ uint32_t *src_line, *src;
++ uint32_t s;
++ int dst_stride, src_stride;
++ uint8_t a;
++ int32_t w;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint32_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ src = src_line;
++ src_line += src_stride;
++ w = width;
++
++ while (w--)
++ {
++ s = *src;
++ a = s >> 24;
++
++ if (a == 0xff)
++ {
++ *dst = s;
++ }
++ else if (s)
++ {
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f24)
++ load8888r(%0,$f20)
++ expand_alpha($f24,$f26)
++ over($f24,$f26,$f20)
++ store8888r($f8,%0)
++ :"+r"(*dst):"r"(*src):clobber
++ );
++ }
++ dst++;
++ src++;
++
++ }
++ }
++}
++
++
++static void
++ls_composite_over_8888_n_8888 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t *dst_line, *dst;
++ uint32_t *src_line, *src;
++ uint32_t mask;
++ __m64 vmask;
++ int dst_stride, src_stride;
++ int32_t w;
++ __m64 srca;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint32_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
++
++ mask = _pixman_image_get_solid (mask_image, dst_image->bits.format);
++ mask = mask | mask >> 8 | mask >> 16 | mask >> 24;
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888(%1,$f24)
++ store64a($f24,%0)
++ :"=m"(vmask):"m"(mask):clobber
++ );
++
++ srca = ls_4x00ff;
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ src = src_line;
++ src_line += src_stride;
++ w = width;
++
++ while (w)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++ load8888r(%0,$f22)
++ expand_alpha($f20,$f28)
++ in_over($f20,$f28,$f24,$f22)
++ store8888r($f8,%0)
++ :"+r"(*dst):"r"(*src):clobber
++ );
++
++ w--;
++ dst++;
++ src++;
++ }
++ }
++}
++
++static void
++ls_composite_over_n_8888 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t src;
++ uint32_t *dst_line, *dst;
++ int32_t w;
++ int dst_stride;
++ __m64 vsrc, vsrca;
++
++ src = _pixman_image_get_solid (src_image, dst_image->bits.format);
++
++ if (src == 0)
++ return;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint32_t, dst_stride, dst_line, 1);
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f24)
++ store64($f24,%0)
++ expand_alpha($f24,$f26)
++ store64($f26,%1)
++ :"=m"(vsrc), "=m"(vsrca):"r"(src):clobber
++ );
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ w = width;
++
++ while (w)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f28)
++ over($f24,$f26,$f28)
++ store8888r($f8,%0)
++ :"+r"(*dst)::clobber
++ );
++
++ w--;
++ dst++;
++ }
++ }
++}
++
++static void
++ls_composite_over_n_8888_8888_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t src, srca;
++ uint32_t *dst_line;
++ uint32_t *mask_line;
++ int dst_stride, mask_stride;
++ __m64 vsrc, vsrca;
++
++ src = _pixman_image_get_solid (src_image, dst_image->bits.format);
++
++ srca = src >> 24;
++ if (src == 0)
++ return;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint32_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (mask_image, mask_x, mask_y, uint32_t, mask_stride, mask_line, 1);
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f24)
++ store64($f24,%0)
++ expand_alpha($f24,$f26)
++ store64($f26,%1)
++ :"=m"(vsrc), "=m"(vsrca):"r"(src):clobber
++ );
++
++ while (height--)
++ {
++ int twidth = width;
++ uint32_t *p = (uint32_t *)mask_line;
++ uint32_t *q = (uint32_t *)dst_line;
++
++ while (twidth)
++ {
++
++ if (*p)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f28)
++ load8888r(%1,$f20)
++ in_over($f24,$f26,$f20,$f28)
++ store8888r($f8,%0)
++ :"+r"(*q):"r"(*p):clobber
++ );
++ }
++ twidth--;
++ p++;
++ q++;
++ }
++
++ dst_line += dst_stride;
++ mask_line += mask_stride;
++ }
++}
++
++
++static void
++ls_composite_over_n_8_8888 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t src, srca;
++ uint32_t *dst_line, *dst;
++ uint8_t *mask_line, *mask;
++ int dst_stride, mask_stride;
++ int32_t w;
++ __m64 vsrc, vsrca;
++ uint64_t srcsrc;
++
++ src = _pixman_image_get_solid (src_image, dst_image->bits.format);
++
++ srca = src >> 24;
++ if (src == 0)
++ return;
++
++ srcsrc = (uint64_t)src << 32 | src;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint32_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (mask_image, mask_x, mask_y, uint8_t, mask_stride, mask_line, 1);
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f24)
++ store64a($f24,%0)
++ expand_alpha($f24,$f26)
++ store64a($f26,%1)
++ :"=m"(vsrc), "=m"(vsrca):"r"(src):clobber
++ );
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ mask = mask_line;
++ mask_line += mask_stride;
++ w = width;
++
++ while (w)
++ {
++ uint32_t m = *mask;
++
++ if (m)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f20)
++ load32r(%1,$f22)
++ expand_alpha_rev($f22,$f28)
++ in_over($f24,$f26,$f28,$f20)
++ store8888r($f8,%0)
++ :"+r"(*dst):"r"(m):clobber
++ );
++ }
++
++ w--;
++ mask++;
++ dst++;
++ }
++ }
++
++}
++
++static void
++ls_composite_over_x888_n_8888 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t *dst_line, *dst;
++ uint32_t *src_line, *src;
++ uint32_t mask;
++ __m64 vmask;
++ int dst_stride, src_stride;
++ int32_t w;
++ __m64 srca;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint32_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
++ mask = _pixman_image_get_solid (mask_image, dst_image->bits.format);
++
++ mask &= 0xff000000;
++ mask = mask | mask >> 8 | mask >> 16 | mask >> 24;
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f24)
++ store64a($f24,%0)
++ :"=m"(vmask):"r"(mask):clobber
++ );
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load64a(%1,$f26)
++ store64a($f26,%0)
++ :"=m"(srca):"m"(ls_4x00ff):clobber
++ );
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ src = src_line;
++ src_line += src_stride;
++ w = width;
++
++ while (w)
++ {
++ uint32_t src_tmp = *src | 0xff000000;
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++ load8888r(%0,$f22)
++ in_over($f20,$f26,$f24,$f22)
++ store8888r($f8,%0)
++ :"+r"(*dst):"r"(src_tmp):clobber
++ );
++
++ w--;
++ dst++;
++ src++;
++ }
++ }
++}
++
++
++static void
++ls_composite_over_8888_0565 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint16_t *dst_line, *dst;
++ uint32_t d;
++ uint32_t *src_line, *src, s;
++ uint8_t a;
++ int dst_stride, src_stride;
++ int32_t w;
++
++ PIXMAN_IMAGE_GET_LINE (src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint16_t, dst_stride, dst_line, 1);
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ src = src_line;
++ src_line += src_stride;
++ w = width;
++
++ while (w--)
++ {
++ s = *src++;
++ a = s >> 24;
++ if (s)
++ {
++ if (a == 0xff)
++ {
++ d = s;
++ }
++ else
++ {
++ d = *dst;
++ d = CONVERT_0565_TO_0888 (d);
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f24)
++ load8888r(%0,$f20)
++ expand_alpha($f24,$f26)
++ over($f24,$f26,$f20)
++ store8888r($f8,%0)
++ :"+r"(d):"r"(s):clobber
++ );
++
++
++ }
++ *dst = CONVERT_8888_TO_0565 (d);
++ }
++ dst++;
++ }
++ }
++}
++
++static void
++ls_composite_over_n_0565 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t src;
++ uint32_t d;
++ uint16_t *dst_line, *dst;
++ int32_t w;
++ int dst_stride;
++ __m64 vsrc, vsrca;
++
++ src = _pixman_image_get_solid (src_image, dst_image->bits.format);
++
++ if (src == 0)
++ return;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint16_t, dst_stride, dst_line, 1);
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f24)
++ store64a($f24,%0)
++ expand_alpha($f24,$f26)
++ store64a($f26,%1)
++ :"=m"(vsrc), "=m"(vsrca):"r"(src):clobber
++ );
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ w = width;
++
++ while (w)
++ {
++
++ d = *dst;
++ d = CONVERT_0565_TO_0888 (d);
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f20)
++
++ over($f24,$f26,$f20)
++ store8888r($f8,%0)
++ :"+r"(d)::clobber
++ );
++
++ *dst = CONVERT_8888_TO_0565 (d);
++
++ w--;
++ dst++;
++ }
++ }
++}
++
++static void
++ls_composite_over_n_8_0565 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t src, srca, m, d;
++ uint16_t *dst_line, *dst;
++ uint8_t *mask_line, *mask;
++ int dst_stride, mask_stride;
++ int32_t w;
++ __m64 vsrc, vsrca;
++
++ src = _pixman_image_get_solid (src_image, dst_image->bits.format);
++
++ srca = src >> 24;
++ if (src == 0)
++ return;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint16_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (mask_image, mask_x, mask_y, uint8_t, mask_stride, mask_line, 1);
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f24)
++ store64a($f24,%0)
++ expand_alpha($f24,$f26)
++ store64a($f26,%1)
++ :"=m"(vsrc), "=m"(vsrca):"r"(src):clobber
++ );
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ mask = mask_line;
++ mask_line += mask_stride;
++ w = width;
++
++ while (w)
++ {
++ m = *mask;
++ d = *dst;
++
++ if (m)
++ {
++
++ d = CONVERT_0565_TO_0888 (d);
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f20)
++ load32r(%1,$f22)
++ expand_alpha_rev($f22,$f28)
++ in_over($f24,$f26,$f28,$f20)
++ store8888r($f8,%0)
++ :"+r"(d):"r"(m):clobber
++ );
++
++ *dst = CONVERT_8888_TO_0565 (d);
++
++ }
++
++ w--;
++ mask++;
++ dst++;
++ }
++ }
++}
++
++static void
++ls_composite_over_n_8888_0565_ca (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t src, srca, m, d;
++ uint16_t *dst_line;
++ uint32_t *mask_line;
++ int dst_stride, mask_stride;
++ __m64 vsrc, vsrca;
++
++ src = _pixman_image_get_solid (src_image, dst_image->bits.format);
++
++ srca = src >> 24;
++ if (src == 0)
++ return;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint16_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (mask_image, mask_x, mask_y, uint32_t, mask_stride, mask_line, 1);
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f24)
++ store64a($f24,%0)
++ expand_alpha($f24,$f26)
++ store64a($f26,%1)
++ :"=m"(vsrc), "=m"(vsrca):"r"(src):clobber
++ );
++
++ while (height--)
++ {
++ int twidth = width;
++ uint32_t *p = (uint32_t *)mask_line;
++ uint16_t *q = (uint16_t *)dst_line;
++
++ while (twidth)
++ {
++
++ m = *(uint32_t *)p;
++ d = *q;
++
++ if (m)
++ {
++
++ d = CONVERT_0565_TO_0888 (d);
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%0,$f20)
++ load8888r(%1,$f22)
++ in_over($f24,$f26,$f22,$f20)
++ store8888r($f8,%0)
++ :"+r"(d):"r"(m):clobber
++ );
++
++ *q = CONVERT_8888_TO_0565 (d);
++
++ }
++
++ twidth--;
++ p++;
++ q++;
++ }
++
++ mask_line += mask_stride;
++ dst_line += dst_stride;
++ }
++}
++static void
++ls_composite_over_pixbuf_8888 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t *dst_line, *dst;
++ uint32_t *src_line, *src;
++ int dst_stride, src_stride;
++ int32_t w;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint32_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
++
++#if 0
++ /* FIXME */
++ assert (src_image->drawable == mask_image->drawable);
++#endif
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ src = src_line;
++ src_line += src_stride;
++ w = width;
++
++ while (w)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f22)
++ load8888r(%0,$f20)
++ over_rev_non_pre($f22,$f20)
++ store8888r($f8,%0)
++ :"+r"(*dst):"r"(*src):clobber
++ );
++
++ w--;
++ dst++;
++ src++;
++ }
++ }
++}
++static void
++ls_composite_over_pixbuf_0565 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint16_t *dst_line, *dst;
++ uint32_t *src_line, *src, d;
++ int dst_stride, src_stride;
++ int32_t w;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint16_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
++
++#if 0
++ /* FIXME */
++ assert (src_image->drawable == mask_image->drawable);
++#endif
++
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ src = src_line;
++ src_line += src_stride;
++ w = width;
++
++ while (w)
++ {
++
++ d = *dst;
++ d = CONVERT_0565_TO_0888 (d);
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%1,$f20)
++ load8888r(%0,$f24)
++ over_rev_non_pre($f20,$f24)
++ store8888r($f8,%0)
++ :"+r"(d):"r"(*src):clobber
++ );
++
++ *dst = CONVERT_8888_TO_0565 (d);
++
++ w--;
++ dst++;
++ src++;
++ }
++ }
++}
++
++static void
++ls_composite_src_n_8_8888 (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ uint32_t src, srca;
++ uint32_t *dst_line, *dst, m;
++ uint8_t *mask_line, *mask;
++ int dst_stride, mask_stride;
++ int32_t w;
++ __m64 vsrc, vsrca;
++ uint64_t srcsrc;
++
++ src = _pixman_image_get_solid (src_image, dst_image->bits.format);
++
++ srca = src >> 24;
++ if (src == 0)
++ {
++ pixman_fill_ls (dst_image->bits.bits, dst_image->bits.rowstride,
++ PIXMAN_FORMAT_BPP (dst_image->bits.format),
++ dest_x, dest_y, width, height, 0);
++ return;
++ }
++
++ srcsrc = (uint64_t)src << 32 | src;
++
++ PIXMAN_IMAGE_GET_LINE (dst_image, dest_x, dest_y, uint32_t, dst_stride, dst_line, 1);
++ PIXMAN_IMAGE_GET_LINE (mask_image, mask_x, mask_y, uint8_t, mask_stride, mask_line, 1);
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load8888r(%2,$f24)
++ store64a($f24,%0)
++ expand_alpha($f24,$f26)
++ store64a($f26,%1)
++ :"=m"(vsrc), "=m"(vsrca):"r"(src):clobber
++ );
++ while (height--)
++ {
++ dst = dst_line;
++ dst_line += dst_stride;
++ mask = mask_line;
++ mask_line += mask_stride;
++ w = width;
++
++ while (w)
++ {
++ m = *mask;
++
++ if (m)
++ {
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ load32r(%1,$f20)
++ expand_alpha_rev($f20,$f28)
++ in($f24,$f28)
++ store8888r($f8,%0)
++ :"=r"(*dst):"r"(m):clobber
++ );
++
++ }
++ else
++ {
++ *dst = 0;
++ }
++
++ w--;
++ mask++;
++ dst++;
++ }
++ }
++}
+diff -urN pixman//pixman/pixman-cpu.c Pixman.Loongson//pixman/pixman-cpu.c
+--- pixman//pixman/pixman-cpu.c 2010-12-25 18:46:00.073234000 +0800
++++ Pixman.Loongson//pixman/pixman-cpu.c 2010-12-25 18:39:15.360337000 +0800
+@@ -579,7 +579,9 @@
+ if (pixman_have_mmx ())
+ return _pixman_implementation_create_mmx ();
+ #endif
+-
++#ifdef USE_LS
++ return _pixman_implementation_create_ls ();
++#endif
+ #ifdef USE_ARM_NEON
+ if (pixman_have_arm_neon ())
+ return _pixman_implementation_create_arm_neon ();
+diff -urN pixman//pixman/pixman-ls.c Pixman.Loongson//pixman/pixman-ls.c
+--- pixman//pixman/pixman-ls.c 1970-01-01 08:00:00.000000000 +0800
++++ Pixman.Loongson//pixman/pixman-ls.c 2010-12-25 18:39:15.386759000 +0800
+@@ -0,0 +1,538 @@
++/*
++* Based on pixman-mmx.c
++* Implemented for loongson 2F only.
++* Free software based on GPL licence.
++* Copyright 2010 WG Ge.
++*/
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++#include <stdlib.h>
++#include <string.h>
++#include <math.h>
++#include <limits.h>
++#include <stdio.h>
++#include "pixman-private.h"
++#include "pixman-combine32.h"
++#include "primitive.h"
++
++#define __m64 __attribute__ ((aligned (8))) uint64_t
++#define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v
++#define DECLARE_ALIGNED_8(t, v, ...) DECLARE_ALIGNED(8, t, v)
++
++DECLARE_ALIGNED_8 (const uint64_t, ls_4x00ff ) = 0x00ff00ff00ff00ffULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_4x0080 ) = 0x0080008000800080ULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_565_rgb ) = 0x000001f0003f001fULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_565_unpack_multiplier ) = 0x0000008404100840ULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_565_r ) = 0x000000f800000000ULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_565_g ) = 0x0000000000fc0000ULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_565_b ) = 0x00000000000000f8ULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_mask_0 ) = 0xffffffffffff0000ULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_mask_1 ) = 0xffffffff0000ffffULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_mask_2 ) = 0xffff0000ffffffffULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_mask_3 ) = 0x0000ffffffffffffULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_full_alpha ) = 0x00ff000000000000ULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_ffff0000ffff0000 ) = 0xffff0000ffff0000ULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_0000ffff00000000 ) = 0x0000ffff00000000ULL;
++DECLARE_ALIGNED_8 (const uint64_t, ls_000000000000ffff ) = 0x000000000000ffffULL;
++
++
++pixman_bool_t
++pixman_fill_ls (uint32_t *bits,
++ int stride,
++ int bpp,
++ int x,
++ int y,
++ int width,
++ int height,
++ uint32_t xor)
++{
++ uint64_t fill;
++ uint32_t byte_width;
++ uint8_t *byte_line;
++
++
++
++ if (bpp != 16 && bpp != 32 && bpp != 8)
++ return FALSE;
++
++ if (bpp == 8)
++ {
++ stride = stride * (int) sizeof (uint32_t) / 1;
++ byte_line = (uint8_t *)(((uint8_t *)bits) + stride * y + x);
++ byte_width = width;
++ stride *= 1;
++ xor = (xor & 0xff) * 0x01010101;
++ }
++ else if (bpp == 16)
++ {
++ stride = stride * (int) sizeof (uint32_t) / 2;
++ byte_line = (uint8_t *)(((uint16_t *)bits) + stride * y + x);
++ byte_width = 2 * width;
++ stride *= 2;
++ xor = (xor & 0xffff) * 0x00010001;
++ }
++ else
++ {
++ stride = stride * (int) sizeof (uint32_t) / 4;
++ byte_line = (uint8_t *)(((uint32_t *)bits) + stride * y + x);
++ byte_width = 4 * width;
++ stride *= 4;
++ }
++
++ fill = ((uint64_t)xor << 32) | xor;
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ "ldc1 $f24, %0 \n\t"
++ ::"m"(fill):"$f24"
++ );
++ while (height--)
++ {
++ int w;
++ uint8_t *d = byte_line;
++
++ byte_line += stride;
++ w = byte_width;
++
++ while (w >= 1 && ((unsigned long)d & 1))
++ {
++ *(uint8_t *)d = (xor & 0xff);
++ w--;
++ d++;
++ }
++
++ while (w >= 2 && ((unsigned long)d & 3))
++ {
++ *(uint16_t *)d = xor;
++ w -= 2;
++ d += 2;
++ }
++
++ while (w >= 4 && ((unsigned long)d & 7))
++ {
++ *(uint32_t *)d = xor;
++
++ w -= 4;
++ d += 4;
++ }
++
++ while (w >= 64)
++ {
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ "dmfc1 $8, $f24 \n\t"
++ "sd $8 , (%0) \n\t"
++ "sd $8 , 8(%0) \n\t"
++ "sd $8 , 16(%0) \n\t"
++ "sd $8 , 24(%0) \n\t"
++ "sd $8 , 32(%0) \n\t"
++ "sd $8 , 40(%0) \n\t"
++ "sd $8 , 48(%0) \n\t"
++ "sd $8 , 56(%0) \n\t"
++ ::"r"(d):"$8","memory","$f24"
++ );
++ w -= 64;
++ d += 64;
++ }
++
++ while (w >= 4)
++ {
++ *(uint32_t *)d = xor;
++
++ w -= 4;
++ d += 4;
++ }
++ while (w >= 2)
++ {
++ *(uint16_t *)d = xor;
++ w -= 2;
++ d += 2;
++ }
++ while (w >= 1)
++ {
++ *(uint8_t *)d = (xor & 0xff);
++ w--;
++ d++;
++ }
++
++ }
++ return TRUE;
++}
++
++static pixman_bool_t
++pixman_blt_ls (uint32_t *src_bits,
++ uint32_t *dst_bits,
++ int src_stride,
++ int dst_stride,
++ int src_bpp,
++ int dst_bpp,
++ int src_x,
++ int src_y,
++ int dst_x,
++ int dst_y,
++ int width,
++ int height)
++{
++ uint8_t * src_bytes;
++ uint8_t * dst_bytes;
++ int byte_width;
++
++ if (src_bpp != dst_bpp)
++ return FALSE;
++
++ if (src_bpp == 16)
++ {
++ src_stride = src_stride * (int) sizeof (uint32_t) / 2;
++ dst_stride = dst_stride * (int) sizeof (uint32_t) / 2;
++ src_bytes = (uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x));
++ dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x));
++ byte_width = 2 * width;
++ src_stride *= 2;
++ dst_stride *= 2;
++ }
++ else if (src_bpp == 32)
++ {
++ src_stride = src_stride * (int) sizeof (uint32_t) / 4;
++ dst_stride = dst_stride * (int) sizeof (uint32_t) / 4;
++ src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x));
++ dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x));
++ byte_width = 4 * width;
++ src_stride *= 4;
++ dst_stride *= 4;
++ }
++ else
++ {
++ return FALSE;
++ }
++
++ while (height--)
++ {
++ int w;
++ uint8_t *s = src_bytes;
++ uint8_t *d = dst_bytes;
++ src_bytes += src_stride;
++ dst_bytes += dst_stride;
++ w = byte_width;
++
++ while (w >= 2 && ((unsigned long)d & 3))
++ {
++ *(uint16_t *)d = *(uint16_t *)s;
++ w -= 2;
++ s += 2;
++ d += 2;
++ }
++
++ while (w >= 4 && ((unsigned long)d & 7))
++ {
++ *(uint32_t *)d = *(uint32_t *)s;
++
++ w -= 4;
++ s += 4;
++ d += 4;
++ }
++ if ((unsigned long)s & 7)
++{
++ while (w >= 64)
++ {
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ "uld $8 , (%1) \n\t"
++ "uld $9 , 8(%1) \n\t"
++ "uld $10, 16(%1) \n\t"
++ "uld $11, 24(%1) \n\t"
++ "sd $8 , (%0) \n\t"
++ "sd $9 , 8(%0) \n\t"
++ "sd $10, 16(%0) \n\t"
++ "sd $11, 24(%0) \n\t"
++
++ "uld $8 , 32(%1) \n\t"
++ "uld $9 , 40(%1) \n\t"
++ "uld $10, 48(%1) \n\t"
++ "uld $11, 56(%1) \n\t"
++ "sd $8 , 32(%0) \n\t"
++ "sd $9 , 40(%0) \n\t"
++ "sd $10, 48(%0) \n\t"
++ "sd $11, 56(%0) \n\t"
++ ::"r"(d),"r"(s):"$8","$9","$10","$11","memory"
++ );
++ w -= 64;
++ s += 64;
++ d += 64;
++ }
++}
++else
++{
++ while (w >= 64)
++ {
++
++ __asm__ volatile (
++ ".set arch=loongson2f \n\t"
++ "ld $8 , (%1) \n\t"
++ "ld $9 , 8(%1) \n\t"
++ "ld $10, 16(%1) \n\t"
++ "ld $11, 24(%1) \n\t"
++ "sd $8 , (%0) \n\t"
++ "sd $9 , 8(%0) \n\t"
++ "sd $10, 16(%0) \n\t"
++ "sd $11, 24(%0) \n\t"
++
++ "ld $8 , 32(%1) \n\t"
++ "ld $9 , 40(%1) \n\t"
++ "ld $10, 48(%1) \n\t"
++ "ld $11, 56(%1) \n\t"
++ "sd $8 , 32(%0) \n\t"
++ "sd $9 , 40(%0) \n\t"
++ "sd $10, 48(%0) \n\t"
++ "sd $11, 56(%0) \n\t"
++ ::"r"(d),"r"(s):"$8","$9","$10","$11","memory"
++ );
++ w -= 64;
++ s += 64;
++ d += 64;
++ }
++}
++
++ while (w >= 4)
++ {
++ *(uint32_t *)d = *(uint32_t *)s;
++
++ w -= 4;
++ s += 4;
++ d += 4;
++ }
++ if (w >= 2)
++ {
++ *(uint16_t *)d = *(uint16_t *)s;
++ w -= 2;
++ s += 2;
++ d += 2;
++ }
++ }
++ return TRUE;
++}
++
++
++#include "pixman-composite-ls.c"
++#include "pixman-combine-ls.c"
++
++static pixman_bool_t
++ls_blt (pixman_implementation_t *imp,
++ uint32_t * src_bits,
++ uint32_t * dst_bits,
++ int src_stride,
++ int dst_stride,
++ int src_bpp,
++ int dst_bpp,
++ int src_x,
++ int src_y,
++ int dst_x,
++ int dst_y,
++ int width,
++ int height)
++{
++ if (!pixman_blt_ls (
++ src_bits, dst_bits, src_stride, dst_stride, src_bpp, dst_bpp,
++ src_x, src_y, dst_x, dst_y, width, height))
++ {
++ return _pixman_implementation_blt (
++ imp->delegate,
++ src_bits, dst_bits, src_stride, dst_stride, src_bpp, dst_bpp,
++ src_x, src_y, dst_x, dst_y, width, height);
++ }
++
++ return TRUE;
++}
++
++static pixman_bool_t
++ls_fill (pixman_implementation_t *imp,
++ uint32_t * bits,
++ int stride,
++ int bpp,
++ int x,
++ int y,
++ int width,
++ int height,
++ uint32_t xor)
++{
++ if (!pixman_fill_ls (bits, stride, bpp, x, y, width, height, xor))
++ {
++ return _pixman_implementation_fill (
++ imp->delegate, bits, stride, bpp, x, y, width, height, xor);
++ }
++
++ return TRUE;
++}
++
++static void
++ls_composite_copy_area (pixman_implementation_t *imp,
++ pixman_op_t op,
++ pixman_image_t * src_image,
++ pixman_image_t * mask_image,
++ pixman_image_t * dst_image,
++ int32_t src_x,
++ int32_t src_y,
++ int32_t mask_x,
++ int32_t mask_y,
++ int32_t dest_x,
++ int32_t dest_y,
++ int32_t width,
++ int32_t height)
++{
++ pixman_blt_ls (src_image->bits.bits,
++ dst_image->bits.bits,
++ src_image->bits.rowstride,
++ dst_image->bits.rowstride,
++ PIXMAN_FORMAT_BPP (src_image->bits.format),
++ PIXMAN_FORMAT_BPP (dst_image->bits.format),
++ src_x, src_y, dest_x, dest_y, width, height);
++}
++
++
++static const pixman_fast_path_t ls_fast_paths[] =
++{
++
++//these are implemented so far
++#if 1
++ PIXMAN_STD_FAST_PATH (OVER, x8r8g8b8, a8, x8r8g8b8, ls_composite_over_x888_8_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, x8r8g8b8, a8, a8r8g8b8, ls_composite_over_x888_8_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, x8b8g8r8, a8, x8b8g8r8, ls_composite_over_x888_8_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, x8b8g8r8, a8, a8b8g8r8, ls_composite_over_x888_8_8888 ),
++#endif
++
++#if 1
++//over_8888_0565 significant perf improvement, slight better L1, L2, 30% better RT
++ PIXMAN_STD_FAST_PATH (OVER, a8r8g8b8, null, r5g6b5, ls_composite_over_8888_0565 ),
++ PIXMAN_STD_FAST_PATH (OVER, a8b8g8r8, null, b5g6r5, ls_composite_over_8888_0565 ),
++ PIXMAN_STD_FAST_PATH (OVER, pixbuf, pixbuf, r5g6b5, ls_composite_over_pixbuf_0565 ),
++ PIXMAN_STD_FAST_PATH (OVER, rpixbuf, rpixbuf, b5g6r5, ls_composite_over_pixbuf_0565 ),
++
++//big improvement some closing 100%
++ PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8b8g8r8, b5g6r5, ls_composite_over_n_8888_0565_ca ),
++ PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8r8g8b8, r5g6b5, ls_composite_over_n_8888_0565_ca ),
++ PIXMAN_STD_FAST_PATH (OVER, solid, a8, r5g6b5, ls_composite_over_n_8_0565 ),
++ PIXMAN_STD_FAST_PATH (OVER, solid, a8, b5g6r5, ls_composite_over_n_8_0565 ),
++ PIXMAN_STD_FAST_PATH (OVER, solid, null, r5g6b5, ls_composite_over_n_0565 ),
++
++//ubalbe to bench with lowlevel bench, believe it is a gain in perf
++ PIXMAN_STD_FAST_PATH (OVER, x8r8g8b8, solid, a8r8g8b8, ls_composite_over_x888_n_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, x8r8g8b8, solid, x8r8g8b8, ls_composite_over_x888_n_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, x8b8g8r8, solid, a8b8g8r8, ls_composite_over_x888_n_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, x8b8g8r8, solid, x8b8g8r8, ls_composite_over_x888_n_8888 ),
++
++//performance regress 30% in L1,L2, but significant improvement in RT
++ PIXMAN_STD_FAST_PATH (OVER, a8b8g8r8, null, a8b8g8r8, ls_composite_over_8888_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, a8b8g8r8, null, x8b8g8r8, ls_composite_over_8888_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, a8r8g8b8, null, a8r8g8b8, ls_composite_over_8888_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, a8r8g8b8, null, x8r8g8b8, ls_composite_over_8888_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, pixbuf, pixbuf, a8r8g8b8, ls_composite_over_pixbuf_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, pixbuf, pixbuf, x8r8g8b8, ls_composite_over_pixbuf_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, rpixbuf, rpixbuf, a8b8g8r8, ls_composite_over_pixbuf_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, rpixbuf, rpixbuf, x8b8g8r8, ls_composite_over_pixbuf_8888 ),
++
++//same performance in L1,L2, but significant improvement in RT 30-40%
++ PIXMAN_STD_FAST_PATH (OVER, a8r8g8b8, solid, a8r8g8b8, ls_composite_over_8888_n_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, a8r8g8b8, solid, x8r8g8b8, ls_composite_over_8888_n_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, a8b8g8r8, solid, a8b8g8r8, ls_composite_over_8888_n_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, a8b8g8r8, solid, x8b8g8r8, ls_composite_over_8888_n_8888 ),
++
++//significant perf improvement 20%
++ PIXMAN_STD_FAST_PATH (OVER, solid, a8, a8r8g8b8, ls_composite_over_n_8_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, solid, a8, x8r8g8b8, ls_composite_over_n_8_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, solid, a8, a8b8g8r8, ls_composite_over_n_8_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, solid, a8, x8b8g8r8, ls_composite_over_n_8_8888 ),
++
++//3 times perf improvements
++ PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8r8g8b8, a8r8g8b8, ls_composite_over_n_8888_8888_ca ),
++ PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8r8g8b8, x8r8g8b8, ls_composite_over_n_8888_8888_ca ),
++ PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8b8g8r8, a8b8g8r8, ls_composite_over_n_8888_8888_ca ),
++ PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8b8g8r8, x8b8g8r8, ls_composite_over_n_8888_8888_ca ),
++
++//significant performance boost
++ PIXMAN_STD_FAST_PATH (OVER, solid, null, a8r8g8b8, ls_composite_over_n_8888 ),
++ PIXMAN_STD_FAST_PATH (OVER, solid, null, x8r8g8b8, ls_composite_over_n_8888 ),
++//simple add, expect better perf in generic code
++// PIXMAN_STD_FAST_PATH (ADD, a8r8g8b8, null, a8r8g8b8, ls_composite_add_8888_8888 ),
++// PIXMAN_STD_FAST_PATH (ADD, a8b8g8r8, null, a8b8g8r8, ls_composite_add_8888_8888 ),
++
++// FIXME: Copy memory are not better than geneic code
++#if 0
++ PIXMAN_STD_FAST_PATH (SRC, a8r8g8b8, null, a8r8g8b8, ls_composite_copy_area ),
++ PIXMAN_STD_FAST_PATH (SRC, a8b8g8r8, null, a8b8g8r8, ls_composite_copy_area ),
++ PIXMAN_STD_FAST_PATH (SRC, a8r8g8b8, null, x8r8g8b8, ls_composite_copy_area ),
++ PIXMAN_STD_FAST_PATH (SRC, a8b8g8r8, null, x8b8g8r8, ls_composite_copy_area ),
++ PIXMAN_STD_FAST_PATH (SRC, x8r8g8b8, null, x8r8g8b8, ls_composite_copy_area ),
++ PIXMAN_STD_FAST_PATH (SRC, x8b8g8r8, null, x8b8g8r8, ls_composite_copy_area ),
++ PIXMAN_STD_FAST_PATH (SRC, r5g6b5, null, r5g6b5, ls_composite_copy_area ),
++ PIXMAN_STD_FAST_PATH (SRC, b5g6r5, null, b5g6r5, ls_composite_copy_area ),
++ PIXMAN_STD_FAST_PATH (OVER, x8r8g8b8, null, x8r8g8b8, ls_composite_copy_area ),
++ PIXMAN_STD_FAST_PATH (OVER, x8b8g8r8, null, x8b8g8r8, ls_composite_copy_area ),
++#endif
++
++//significant improvement
++ PIXMAN_STD_FAST_PATH (SRC, solid, a8, a8r8g8b8, ls_composite_src_n_8_8888 ),
++ PIXMAN_STD_FAST_PATH (SRC, solid, a8, x8r8g8b8, ls_composite_src_n_8_8888 ),
++ PIXMAN_STD_FAST_PATH (SRC, solid, a8, a8b8g8r8, ls_composite_src_n_8_8888 ),
++ PIXMAN_STD_FAST_PATH (SRC, solid, a8, x8b8g8r8, ls_composite_src_n_8_8888 ),
++
++#endif
++
++//these are not yet implemented
++
++#if 0
++
++ PIXMAN_STD_FAST_PATH (ADD, a8, null, a8, ls_composite_add_8000_8000 ),
++ PIXMAN_STD_FAST_PATH (ADD, solid, a8, a8, ls_composite_add_n_8_8 ),
++ PIXMAN_STD_FAST_PATH (IN, a8, null, a8, ls_composite_in_8_8 ),
++ PIXMAN_STD_FAST_PATH (IN, solid, a8, a8, ls_composite_in_n_8_8 ),
++#endif
++
++
++ { PIXMAN_OP_NONE },
++};
++
++pixman_implementation_t *
++_pixman_implementation_create_ls (void)
++{
++ pixman_implementation_t *general = _pixman_implementation_create_fast_path ();
++ pixman_implementation_t *imp = _pixman_implementation_create (general, ls_fast_paths);
++
++//Turned on but unable to benchmark.
++#if 1
++ imp->combine_32[PIXMAN_OP_OVER] = ls_combine_over_u;
++ imp->combine_32[PIXMAN_OP_OVER_REVERSE] = ls_combine_over_reverse_u;
++ imp->combine_32[PIXMAN_OP_IN] = ls_combine_in_u;
++ imp->combine_32[PIXMAN_OP_IN_REVERSE] = ls_combine_in_reverse_u;
++ imp->combine_32[PIXMAN_OP_OUT] = ls_combine_out_u;
++ imp->combine_32[PIXMAN_OP_OUT_REVERSE] = ls_combine_out_reverse_u;
++ imp->combine_32[PIXMAN_OP_ATOP] = ls_combine_atop_u;
++ imp->combine_32[PIXMAN_OP_ATOP_REVERSE] = ls_combine_atop_reverse_u;
++ imp->combine_32[PIXMAN_OP_XOR] = ls_combine_xor_u;
++ imp->combine_32[PIXMAN_OP_ADD] = ls_combine_add_u;
++ imp->combine_32[PIXMAN_OP_SATURATE] = ls_combine_saturate_u;
++
++ imp->combine_32_ca[PIXMAN_OP_SRC] = ls_combine_src_ca;
++ imp->combine_32_ca[PIXMAN_OP_OVER] = ls_combine_over_ca;
++ imp->combine_32_ca[PIXMAN_OP_OVER_REVERSE] = ls_combine_over_reverse_ca;
++ imp->combine_32_ca[PIXMAN_OP_IN] = ls_combine_in_ca;
++ imp->combine_32_ca[PIXMAN_OP_IN_REVERSE] = ls_combine_in_reverse_ca;
++ imp->combine_32_ca[PIXMAN_OP_OUT] = ls_combine_out_ca;
++ imp->combine_32_ca[PIXMAN_OP_OUT_REVERSE] = ls_combine_out_reverse_ca;
++ imp->combine_32_ca[PIXMAN_OP_ATOP] = ls_combine_atop_ca;
++ imp->combine_32_ca[PIXMAN_OP_ATOP_REVERSE] = ls_combine_atop_reverse_ca;
++ imp->combine_32_ca[PIXMAN_OP_XOR] = ls_combine_xor_ca;
++ imp->combine_32_ca[PIXMAN_OP_ADD] = ls_combine_add_ca;
++#endif
++
++//FIXME blt and fill not shown better perf than geneic code
++#if 0
++ imp->blt = ls_blt;
++ imp->fill = ls_fill;
++#endif
++
++ return imp;
++}
++
+diff -urN pixman//pixman/pixman-private.h Pixman.Loongson//pixman/pixman-private.h
+--- pixman//pixman/pixman-private.h 2010-12-25 18:46:00.102841000 +0800
++++ Pixman.Loongson//pixman/pixman-private.h 2010-12-25 18:39:15.401808000 +0800
+@@ -493,6 +493,11 @@
+ pixman_implementation_t *
+ _pixman_implementation_create_fast_path (void);
+
++#ifdef USE_LS
++pixman_implementation_t *
++_pixman_implementation_create_ls (void);
++#endif
++
+ #ifdef USE_MMX
+ pixman_implementation_t *
+ _pixman_implementation_create_mmx (void);
+diff -urN pixman//pixman/primitive.h Pixman.Loongson//pixman/primitive.h
+--- pixman//pixman/primitive.h 1970-01-01 08:00:00.000000000 +0800
++++ Pixman.Loongson//pixman/primitive.h 2010-12-25 18:39:15.457084000 +0800
+@@ -0,0 +1,214 @@
++/*
++* MMX register usage protocal
++* return result: f8
++* tmp immediate f12
++* tmp register in primtive f14 f16 f18
++* tmp register in pixman f0,f4,f6,f10,f20,f22,
++* globals in function f24, f26, f28,f30
++* Exceptions for load and store:
++* load will specify dest FPR register
++* store will specify src FPR register
++* expand_alpha(_rev) implemented with GPR, dest FPR as the 2nd parameter
++*
++* Special alert: don't use return result $f8 as input, it might be overwritten
++*/
++
++
++/*primitive macros */
++
++#define clobber "$8","$9","$f0","$f2","$f8",\
++ "$f12","$f14","$f16","$f18","$f20",\
++ "$f22","$f24","$f26","$f28","$f30"
++
++#define DMTC1_IMM(regc1,imm) \
++ "dli $8, "#imm" \n\t" \
++ "dmtc1 $8, "#regc1" \n\t"
++
++#define MTC1_IMM(regc1,imm) \
++ "li $8, "#imm" \n\t" \
++ "dmtc1 $8, "#regc1" \n\t"
++
++
++#define save_to(reg1) "mov.d "#reg1", $f8 \n\t"
++#define zero(reg1) "xor "#reg1","#reg1","#reg1" \n\t"
++
++#define load32(sp,reg1) \
++ "ulw $8, "#sp" \n\t" \
++ "dmtc1 $8, "#reg1" \n\t"
++
++#define load32a(sp,reg1) \
++ "lw $8, "#sp" \n\t" \
++ "dmtc1 $8, "#reg1" \n\t"
++
++#define load32r(sp,reg1) \
++ "dmtc1 "#sp", "#reg1" \n\t"
++
++#define load64(sp,reg1) \
++ "uld $8, "#sp" \n\t" \
++ "dmtc1 $8, "#reg1" \n\t"
++
++#define load64a(sp,reg1) \
++ "ld $8, "#sp" \n\t" \
++ "dmtc1 $8, "#reg1" \n\t"
++
++
++#define store32(reg1,sp) \
++ "dmfc1 $8, "#reg1" \n\t" \
++ "usw $8, "#sp" \n\t"
++
++#define store32r(reg1,sp) \
++ "dmfc1 "#sp", "#reg1" \n\t"
++
++#define store32a(reg1,sp) \
++ "swc1 "#reg1", "#sp" \n\t"
++
++#define store64(reg1,sp) \
++ "dmfc1 $8, "#reg1" \n\t" \
++ "usd $8, "#sp" \n\t"
++
++#define store64a(reg1,sp) \
++ "sdc1 "#reg1", "#sp" \n\t"
++
++#define load8888(sp,reg1) \
++ load64(sp,reg1) \
++ "xor $f12, $f12, $f12 \n\t" \
++ "punpcklbh "#reg1", "#reg1", $f12 \n\t"
++
++#define load8888r(sp,reg1) \
++ load32r(sp,reg1) \
++ "xor $f12, $f12, $f12 \n\t" \
++ "punpcklbh "#reg1", "#reg1", $f12 \n\t"
++
++#define load8888a(sp,reg1) \
++ load64a(sp,reg1) \
++ "xor $f12, $f12, $f12 \n\t" \
++ "punpcklbh "#reg1", "#reg1", $f12 \n\t"
++
++#define load8888ah(sp,reg1) \
++ load64a(sp,reg1) \
++ "xor $f12, $f12, $f12 \n\t" \
++ "punpckhbh "#reg1", "#reg1", $f12 \n\t"
++
++#define store8888(reg1,sp) \
++ "xor $f12, $f12, $f12 \n\t" \
++ "packushb "#reg1", "#reg1", $f12 \n\t" \
++ store64(reg1,sp)
++
++#define store8888r(reg1,sp) \
++ "xor $f12, $f12, $f12 \n\t" \
++ "packushb "#reg1", "#reg1", $f12 \n\t" \
++ store32r(reg1,sp)
++
++#define store8888a(reg1,sp) \
++ "xor $f12, $f12, $f12 \n\t" \
++ "packushb "#reg1", "#reg1", $f12 \n\t" \
++ store64a(reg1,sp)
++
++#define pack8888(reg1,reg2) \
++ "packushb $f8, "#reg1","#reg2" \n\t"
++
++#define unpack8888(reg1,reg2) \
++ "punpcklbh $f8, "#reg1","#reg2" \n\t"
++
++
++#define negate(sreg,dreg) \
++ DMTC1_IMM($f12, 0x00ff00ff00ff00ff)\
++ "xor "#dreg", "#sreg", $f12 \n\t"
++
++#define pix_add(reg1,reg2) \
++ "paddusb $f8, "#reg1", "#reg2" \n\t"
++
++#define pix_multiply(reg1,reg2) \
++ "pmullh $f14, "#reg1", "#reg2" \n\t " \
++ DMTC1_IMM($f12, 0x0080008000800080) \
++ "paddush $f14, $f14, $f12 \n\t "\
++ MTC1_IMM($f12, 8) \
++ "psrlh $f16, $f14, $f12 \n\t" \
++ "paddush $f14, $f14, $f16 \n\t" \
++ "psrlh $f8, $f14, $f12 \n\t"
++
++#define pix_add_mul(reg1,reg2,reg3,reg4) \
++ pix_multiply(reg1,reg2) \
++ "mov.d $f18, $f8 \n\t" \
++ pix_multiply(reg3,reg4) \
++ pix_add($f18,$f8)
++
++#define expand_alpha(sreg,dreg) \
++ "dmfc1 $8, "#sreg" \n\t" \
++ "dsrl32 $8, $8, 16 \n\t" \
++ "dsll $9, $8, 16 \n\t" \
++ "or $8, $8, $9 \n\t" \
++ "dsll32 $9, $8, 0 \n\t" \
++ "or $8, $8, $9 \n\t" \
++ "dmtc1 $8, "#dreg" \n\t"
++
++#define expand_alpha_rev(sreg,dreg)\
++ "dmfc1 $8, "#sreg" \n\t" \
++ "dsll32 $8, $8, 16 \n\t" \
++ "dsrl32 $8, $8, 16 \n\t" \
++ "dsll $9, $8, 16 \n\t" \
++ "or $8, $8, $9 \n\t" \
++ "dsll32 $9, $8, 0 \n\t" \
++ "or $8, $8, $9 \n\t" \
++ "dmtc1 $8, "#dreg" \n\t"
++
++#define expand8888(reg1,pos) expand8888_##pos(reg1)
++
++#define expand8888_0(reg1) \
++ "xor $f12, $f12, $f12 \n\t" \
++ "punpcklbh $f8, "#reg1", $f12 \n\t"
++
++#define expand8888_1(reg1) \
++ "xor $f12, $f12, $f12 \n\t" \
++ "punpckhbh $f8, "#reg1", $f12 \n\t"
++
++#define expandx888(reg1,pos) \
++ expand8888(reg1,pos) \
++ DMTC1_IMM($f12, 0x00ff000000000000) \
++ "or $f8, $f8, $f12 \n\t"
++
++#define invert_colors(reg1) \
++ DMTC1_IMM($f12, 0xffff0000ffff0000) \
++ "and $f14, "#reg1", $f12 \n\t" \
++ DMTC1_IMM($f12, 0x000000000000ffff) \
++ "and $f16, "#reg1", $f12 \n\t" \
++ DMTC1_IMM($f12, 0x0000ffff00000000) \
++ "and $f18, "#reg1", $f12 \n\t" \
++ MTC1_IMM($f12, 32) \
++ "dsll $f16, $f16, $f12 \n\t" \
++ "dsrl $f18, $f18, $f12 \n\t" \
++ "or $f14, $f14, $f16 \n\t" \
++ "or $f8, $f14, $f18 \n\t"
++
++#define over(reg1,reg2,reg3) \
++ negate(reg2,$f8) \
++ pix_multiply(reg3, $f8)\
++ pix_add(reg1, $f8)
++
++
++#define over_rev_non_pre(reg1,reg2) \
++ expand_alpha(reg1,$f0) \
++ DMTC1_IMM($f12,0x00ff000000000000) \
++ "or $f2, $f0, $f12 \n\t" \
++ invert_colors(reg1) \
++ pix_multiply($f8,$f2) \
++ save_to($f2) \
++ over($f2, $f0, reg2)
++
++#define in(reg1,reg2) pix_multiply(reg1,reg2)
++
++#define in_over_full_src_alpha(reg1,reg2,reg3) \
++ DMTC1_IMM($f12,0x00ff000000000000) \
++ "or $f0, "#reg1", $f12 \n\t" \
++ in($f0,reg2) \
++ save_to($f0) \
++ over($f0,reg2,reg3)
++
++#define in_over(reg1,reg2,reg3,reg4) \
++ in(reg1,reg3) \
++ "mov.d $f0, $f8 \n\t" \
++ pix_multiply(reg2,reg3) \
++ "mov.d $f2, $f8 \n\t" \
++ over($f0,$f2,reg4)
++
++
diff --git a/extra/postgresql/PKGBUILD b/extra/postgresql/PKGBUILD
index e89eb4d9e..d5a887585 100644
--- a/extra/postgresql/PKGBUILD
+++ b/extra/postgresql/PKGBUILD
@@ -1,16 +1,17 @@
-# $Id: PKGBUILD 122182 2011-05-02 17:54:57Z dan $
+# $Id: PKGBUILD 125329 2011-05-25 22:33:15Z dan $
# Maintainer: Dan McGee <dan@archlinux.org>
pkgbase=postgresql
pkgname=('postgresql-libs' 'postgresql-docs' 'postgresql')
pkgver=9.0.4
-pkgrel=3
-arch=('i686' 'x86_64' 'mips64el')
+pkgrel=4
+arch=('i686' 'x86_64')
url="http://www.postgresql.org"
license=('custom:PostgreSQL')
makedepends=('libxml2' 'python2' 'perl')
source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 \
- postgresql postgresql.confd build.patch postgresql.pam postgresql.logrotate)
+ postgresql postgresql.confd build.patch postgresql.pam postgresql.logrotate
+ perl-5.14-fix.patch)
install=postgresql.install
build() {
@@ -18,6 +19,8 @@ build() {
# patch to remove regress/test make target (won't build with it present)
patch -Np1 -i ../build.patch
+ # fix for perl 5.14
+ patch -Np1 -i ../perl-5.14-fix.patch
# configure
./configure --prefix=/usr --mandir=/usr/share/man --with-libxml \
@@ -134,4 +137,5 @@ md5sums=('80390514d568a7af5ab61db1cda27e29'
'd63a05943cf0a2726aa2070f3033c569'
'4d74f4227dc5e12bf95b3490758d86c9'
'96f82c38f3f540b53f3e5144900acf17'
- 'd28e443f9f65a5712c52018b84e27137')
+ 'd28e443f9f65a5712c52018b84e27137'
+ '6606e4279d91fc617b5c4dae0d76c603')
diff --git a/extra/postgresql/perl-5.14-fix.patch b/extra/postgresql/perl-5.14-fix.patch
new file mode 100644
index 000000000..82ef7d688
--- /dev/null
+++ b/extra/postgresql/perl-5.14-fix.patch
@@ -0,0 +1,25 @@
+--- a/src/pl/plperl/plperl.c
++++ b/src/pl/plperl/plperl.c
+@@ -926,7 +926,7 @@ plperl_trusted_init(void)
+ if (!isGV_with_GP(sv) || !GvCV(sv))
+ continue;
+ SvREFCNT_dec(GvCV(sv)); /* free the CV */
+- GvCV(sv) = NULL; /* prevent call via GV */
++ GvCV_set(sv, NULL); /* prevent call via GV */
+ }
+ hv_clear(stash);
+
+--- a/src/pl/plperl/plperl.h
++++ b/src/pl/plperl/plperl.h
+@@ -49,6 +49,11 @@
+ (U32)HeKUTF8(he))
+ #endif
+
++/* supply GvCV_set if it's missing - ppport.h doesn't supply it, unfortunately */
++#ifndef GvCV_set
++#define GvCV_set(gv, cv) (GvCV(gv) = cv)
++#endif
++
+ /* declare routines from plperl.c for access by .xs files */
+ HV *plperl_spi_exec(char *, int);
+ void plperl_return_next(SV *);
diff --git a/extra/pygobject/PKGBUILD b/extra/pygobject/PKGBUILD
index 243834e80..8b5709cfb 100644
--- a/extra/pygobject/PKGBUILD
+++ b/extra/pygobject/PKGBUILD
@@ -9,13 +9,16 @@ arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
depends=('glib2' 'gobject-introspection')
makedepends=(python python2 python-cairo python2-cairo)
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver}.tar.bz2)
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver}.tar.bz2
+ fix-pycairo-capi-declaration.patch)
options=('!libtool')
url="http://www.pygtk.org/"
-sha256sums=('70e3a05dd5f688e68b5dafa2412cd4fdbc0af83792a5752ef6353c4accf2022c')
+sha256sums=('70e3a05dd5f688e68b5dafa2412cd4fdbc0af83792a5752ef6353c4accf2022c'
+ '3757565e6b6306f956d5ad2b414e5238144f3c67a76a5eec9f3b5fef70f08096')
build() {
cd "${srcdir}"
+ patch -Nup0 < "${srcdir}/fix-pycairo-capi-declaration.patch"
cp -a "${pkgbase}-${pkgver}" python2-build
mkdir devel
diff --git a/extra/pygobject/fix-pycairo-capi-declaration.patch b/extra/pygobject/fix-pycairo-capi-declaration.patch
new file mode 100644
index 000000000..1f0364c7a
--- /dev/null
+++ b/extra/pygobject/fix-pycairo-capi-declaration.patch
@@ -0,0 +1,17 @@
+--- pygobject-2.28.4.orig/gi/pygi-foreign-cairo.c 2011-04-18 17:36:47.000000000 +0200
++++ pygobject-2.28.4/gi/pygi-foreign-cairo.c 2011-06-21 20:05:11.015628222 +0200
+@@ -26,12 +26,12 @@
+
+ #if PY_VERSION_HEX < 0x03000000
+ #include <pycairo.h>
++static Pycairo_CAPI_t *Pycairo_CAPI;
+ #else
+ #include <pycairo/py3cairo.h>
++#define Pycairo_IMPORT import_cairo()
+ #endif
+
+-Pycairo_CAPI_t *Pycairo_CAPI;
+-
+ #include "pygi-foreign.h"
+
+ #include <pyglib-python-compat.h>
diff --git a/extra/razor/PKGBUILD b/extra/razor/PKGBUILD
index ae6a8c112..87905b577 100644
--- a/extra/razor/PKGBUILD
+++ b/extra/razor/PKGBUILD
@@ -1,21 +1,22 @@
-# $Id: PKGBUILD 101393 2010-11-29 01:47:33Z kevin $
-# Maintainer: Dale Blount <dale@archlinux.org>
+# $Id: PKGBUILD 124559 2011-05-22 23:44:08Z andrea $
+# Maintainer:
+# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Manolis Tzanidakis
pkgname=razor
pkgver=2.84
-pkgrel=4
-pkgdesc="A distributed, collaborative, spam detection and filtering network."
-arch=(i686 x86_64 'mips64el')
+pkgrel=5
+pkgdesc="A distributed, collaborative, spam detection and filtering network"
+arch=('i686' 'x86_64')
url="http://razor.sourceforge.net"
license=('PerlArtistic')
-depends=('glibc' 'perl-net-dns' 'perl-digest-sha1' 'perl-uri' 'perl-digest-nilsimsa' 'perl>=5.10.0')
-source=(http://downloads.sourceforge.net/sourceforge/razor/${pkgname}-agents-${pkgver}.tar.bz2)
+depends=('perl-net-dns' 'perl-digest-sha1' 'perl-uri' 'perl-digest-nilsimsa' 'perl>=5.14.0')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-agents-${pkgver}.tar.bz2)
md5sums=('8b9a11a6ce020383c32c45d1530d77c2')
options=(!emptydirs)
build() {
- cd ${srcdir}/${pkgname}-agents-${pkgver}
+ cd "${srcdir}"/${pkgname}-agents-${pkgver}
# skip install_razor_agents (we'll do the linking later)
# /bin/sed -i "s|install :: all pure_install doc_install install_razor_agents|install :: all pure_install doc_install|g" Makefile
diff --git a/extra/rdesktop/PKGBUILD b/extra/rdesktop/PKGBUILD
index 785fb5e04..9356ec06c 100644
--- a/extra/rdesktop/PKGBUILD
+++ b/extra/rdesktop/PKGBUILD
@@ -1,19 +1,20 @@
-# $Id: PKGBUILD 120030 2011-04-18 14:48:32Z andrea $
+# $Id: PKGBUILD 129462 2011-06-28 03:34:32Z heftig $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Dan McGee <dan@archlinux.org>
pkgname=rdesktop
pkgver=1.7.0
-pkgrel=1
+pkgrel=2
depends=('libx11' 'openssl' 'libao' 'libsamplerate')
pkgdesc="An open source client for Windows Remote Desktop Services"
url="http://www.rdesktop.org/"
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
- 'rdesktop-send_physical_buttons.diff')
+ 'rdesktop-send_physical_buttons.diff' 'rdesktop-libao.patch')
md5sums=('77fa93b21aa38837a85e81c00e757228'
- '880d3aeac67b901e6bf44d1323374768')
+ '880d3aeac67b901e6bf44d1323374768'
+ 'bd2c9bc68bddcc2652c668753d787df7')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -21,6 +22,9 @@ build() {
# FS#15113
patch -i ${srcdir}/rdesktop-send_physical_buttons.diff
+ # Fix libao segfault, from Fedora
+ patch -i ${srcdir}/rdesktop-libao.patch
+
./configure --prefix=/usr
make
}
diff --git a/extra/rdesktop/rdesktop-libao.patch b/extra/rdesktop/rdesktop-libao.patch
new file mode 100644
index 000000000..1f3dea9ed
--- /dev/null
+++ b/extra/rdesktop/rdesktop-libao.patch
@@ -0,0 +1,20 @@
+diff -up rdesktop-1.6.0/rdpsnd_libao.c.ao rdesktop-1.6.0/rdpsnd_libao.c
+--- rdesktop-1.6.0/rdpsnd_libao.c.ao 2007-10-30 14:57:30.000000000 +0100
++++ rdesktop-1.6.0/rdpsnd_libao.c 2010-12-02 21:22:39.000000000 +0100
+@@ -76,7 +76,7 @@ libao_open(void)
+ format.channels = 2;
+ format.rate = 44100;
+ format.byte_format = AO_FMT_NATIVE;
+-
++ format.matrix = NULL;
+
+ o_device = ao_open_live(default_driver, &format, NULL);
+ if (o_device == NULL)
+@@ -115,6 +115,7 @@ libao_set_format(RD_WAVEFORMATEX * pwfx)
+ format.channels = pwfx->nChannels;
+ format.rate = 44100;
+ format.byte_format = AO_FMT_NATIVE;
++ format.matrix = NULL;
+
+ if (o_device != NULL)
+ ao_close(o_device);
diff --git a/extra/rhythmbox/PKGBUILD b/extra/rhythmbox/PKGBUILD
index 14d252075..6fe4b4ed5 100644
--- a/extra/rhythmbox/PKGBUILD
+++ b/extra/rhythmbox/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 127104 2011-06-10 17:27:06Z ibiru $
+# $Id: PKGBUILD 127360 2011-06-13 15:53:46Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=rhythmbox
pkgver=2.90.1.git20110610
-pkgrel=1
+pkgrel=2
pkgdesc="An iTunes-like music player/libary"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
diff --git a/extra/rxvt-unicode/ChangeLog b/extra/rxvt-unicode/ChangeLog
index 6b3a80c20..d4275a700 100644
--- a/extra/rxvt-unicode/ChangeLog
+++ b/extra/rxvt-unicode/ChangeLog
@@ -1,2 +1,5 @@
+2011-05-22 Angel Velasquez <angvp@archlinux.org>
+ * Rebuilt against perl 5.14.0
+
2011-05-17 Angel Velasquez <angvp@archlinux.org>
* Removed not accepted upstream patch (closes FS#23324)
diff --git a/extra/rxvt-unicode/PKGBUILD b/extra/rxvt-unicode/PKGBUILD
index 86da1fd45..a3a121e0b 100644
--- a/extra/rxvt-unicode/PKGBUILD
+++ b/extra/rxvt-unicode/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 124251 2011-05-18 04:52:29Z angvp $
+# $Id: PKGBUILD 124538 2011-05-22 21:23:30Z angvp $
# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Contributor: tobias <tobias@archlinux.org>
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
pkgname=rxvt-unicode
pkgver=9.11
-pkgrel=2
+pkgrel=4
pkgdesc="An unicode enabled rxvt-clone terminal emulator (urxvt)"
arch=('i686' 'x86_64' 'mips64el')
url="http://software.schmorp.de/pkg/rxvt-unicode.html"
diff --git a/extra/spamassassin/PKGBUILD b/extra/spamassassin/PKGBUILD
index 7d57f3f46..ee4d4c060 100644
--- a/extra/spamassassin/PKGBUILD
+++ b/extra/spamassassin/PKGBUILD
@@ -1,22 +1,23 @@
-# $Id: PKGBUILD 106385 2011-01-16 17:09:43Z angvp $
+# $Id: PKGBUILD 129532 2011-06-28 18:19:06Z angvp $
# Maintainer: Dale Blount <dale@archlinux.org>
# Contributor: Manolis Tzanidakis
-
pkgname=spamassassin
-pkgver=3.3.1
-pkgrel=4
+pkgver=3.3.2
+pkgrel=2
pkgdesc="A mail filter to identify spam."
arch=(i686 x86_64 'mips64el')
license=(APACHE)
url="http://spamassassin.apache.org"
-depends=('perl>=5.12.2' 'perl-net-dns' 'perl-uri' 'perl-html-parser' \
+depends=('perl>=5.14' 'perl-net-dns' 'perl-uri' 'perl-html-parser' \
'perl-digest-sha1' 'perl-io-socket-ssl' 'openssl' \
- 'perl-libwww' 'perl-io-zlib' 'perl-mail-spf' \
- 'perl-archive-tar' 'zlib' 're2c')
+ 'perl-libwww' 'perl-mail-spf' \
+ 'zlib' 're2c')
+ # perl-archive-tar perl-io-zlib)
makedepends=('razor' 'perl-dbi')
optdepends=('razor: to identify collaborately-flagged spam'
- 'gnupg: gpg support, without this use --nogpg flag for sa-update'
- 're2c: regexp compiler, for compiling rules with sa-compile')
+ 'gnupg: gpg support, without this use --nogpg flag for sa-update'
+ 're2c: regexp compiler, for compiling rules with sa-compile'
+ 'perl-mail-dkim: DomainKeys Identified Mail (DKIM) checking')
backup=(etc/conf.d/spamd etc/mail/spamassassin/local.cf \
etc/mail/spamassassin/init.pre \
etc/mail/spamassassin/v310.pre \
@@ -26,7 +27,7 @@ install=${pkgname}.install
options=(!emptydirs)
source=(http://mirrors.devlib.org/apache/${pkgname}/source/Mail-SpamAssassin-${pkgver}.tar.gz \
spamd.conf.d spamd)
-md5sums=('5a93f81fda315411560ff5da099382d2'
+md5sums=('d1d62cc5c6eac57e88c4006d9633b81e'
'af501c6b0bb937a2775b747cc4b6d150'
'0534d3071a526a27ddc2b297afa03b04')
@@ -39,12 +40,14 @@ build() {
/usr/bin/make
}
+check() {
+ cd ${srcdir}/Mail-SpamAssassin-${pkgver}
+ /usr/bin/make test || true
+}
+
package() {
cd ${srcdir}/Mail-SpamAssassin-${pkgver}
/usr/bin/make DESTDIR=${pkgdir} install
- # remove perllocal.pod and .packlist
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
/bin/install -D -m644 ${srcdir}/spamd.conf.d ${pkgdir}/etc/conf.d/spamd
/bin/install -D -m755 ${srcdir}/spamd ${pkgdir}/etc/rc.d/spamd
diff --git a/extra/subversion/PKGBUILD b/extra/subversion/PKGBUILD
index 98b02299e..b1bedaf9e 100644
--- a/extra/subversion/PKGBUILD
+++ b/extra/subversion/PKGBUILD
@@ -1,14 +1,17 @@
-# $Id: PKGBUILD 126235 2011-06-02 19:57:23Z stephane $
+# $Id: PKGBUILD 127222 2011-06-11 09:32:25Z andrea $
# Maintainer: Paul Mattal <paul@archlinux.org>
# Contributor: Jason Chu <jason@archlinux.org>
pkgname=subversion
pkgver=1.6.17
-pkgrel=2
+pkgrel=4
pkgdesc="Replacement for CVS, another versioning system (SVN)"
arch=('i686' 'x86_64' 'mips64el')
license=('apache' 'bsd')
-depends=('neon' 'apr-util')
+depends=('neon' 'apr-util' 'sqlite3')
+makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' 'ruby' 'java-runtime'
+ 'autoconf' 'db' 'e2fsprogs' 'libgnome-keyring' 'kdelibs')
+[ "$CARCH" = "mips64el" ] && \
makedepends=('krb5' 'apache' 'python2' 'perl' 'swig'
'autoconf' 'sqlite3' 'db' 'e2fsprogs' 'libgnome-keyring') #'java-runtime' 'kdelibs' 'ruby'
source=(http://subversion.tigris.org/downloads/$pkgname-$pkgver.tar.bz2
diff --git a/extra/swt/PKGBUILD b/extra/swt/PKGBUILD
index c72418dfe..747013569 100644
--- a/extra/swt/PKGBUILD
+++ b/extra/swt/PKGBUILD
@@ -1,33 +1,35 @@
-# $Id: PKGBUILD 90058 2010-09-06 21:07:12Z guillaume $
+# $Id: PKGBUILD 129501 2011-06-28 14:09:34Z guillaume $
# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
pkgname=swt
-pkgver=3.6
-pkgrel=2
+pkgver=3.7
+pkgrel=1
pkgdesc="An open source widget toolkit for Java"
-_date=201006080911
-arch=(i686 x86_64 'mips64el')
+_date=201106131736
+arch=(i686 x86_64)
url="http://www.eclipse.org/swt/"
license=('EPL')
depends=('java-runtime>=6' 'gtk2>=2.20.1' 'libxtst')
-optdepends=('libgnomeui' 'xulrunner' 'mesa')
-makedepends=('openjdk6' 'libxtst' 'mesa' 'libgnomeui' 'xulrunner>=1.9.1' 'unzip' 'pkgconfig' 'apache-ant')
+#optdepends=('libgnomeui' 'xulrunner' 'mesa')
+#makedepends=('openjdk6' 'libxtst' 'mesa' 'libgnomeui' 'xulrunner>=1.9.1' 'unzip' 'pkgconfig' 'apache-ant')
+optdepends=('libgnomeui' 'mesa')
+makedepends=('openjdk6' 'libxtst' 'mesa' 'libgnomeui' 'unzip' 'pkgconfig' 'apache-ant')
source=(http://download.eclipse.org/eclipse/downloads/drops/R-${pkgver}-${_date}/swt-${pkgver}-gtk-linux-x86.zip
http://download.eclipse.org/eclipse/downloads/drops/R-${pkgver}-${_date}/swt-${pkgver}-gtk-linux-x86_64.zip
build-swt.xml)
-md5sums=('514206a4b9e27ac66cb7876157c3e74f'
- '244f63edc7e609c7ac7f4bd1d7e0298a'
+md5sums=('21d084526f5df4e02900b2ce4ae8b5d1'
+ '60f11408bc8db299c5406a904a665a5e'
'f5e548bc26a0f1f3c18131be76face40')
if [ "${CARCH}" = "i686" ]; then
source=(http://download.eclipse.org/eclipse/downloads/drops/R-${pkgver}-${_date}/swt-${pkgver}-gtk-linux-x86.zip
build-swt.xml)
noextract=(swt-${pkgver}-gtk-linux-x86.zip)
- md5sums=('514206a4b9e27ac66cb7876157c3e74f'
+ md5sums=('21d084526f5df4e02900b2ce4ae8b5d1'
'f5e548bc26a0f1f3c18131be76face40')
fi
if [ "${CARCH}" = "x86_64" ]; then
source=(http://download.eclipse.org/eclipse/downloads/drops/R-${pkgver}-${_date}/swt-${pkgver}-gtk-linux-x86_64.zip
build-swt.xml)
- md5sums=('244f63edc7e609c7ac7f4bd1d7e0298a'
+ md5sums=('60f11408bc8db299c5406a904a665a5e'
'f5e548bc26a0f1f3c18131be76face40')
noextract=(swt-${pkgver}-gtk-linux-x86_64.zip)
fi
@@ -41,32 +43,39 @@ build() {
rm -rf about_files
mkdir src
mv org src/
- cp build-swt.xml build.xml || return 1
+ cp build-swt.xml build.xml
- [ "${CARCH}" = "x86_64" ] && export SWT_PTR_CFLAGS=-DSWT_PTR_SIZE_64
+ [ "${CARCH}" = "x86_64" ] && export SWT_PTR_CFLAGS=-DJNI64
- make -f make_linux.mak make_awt || return 1
- make -f make_linux.mak make_swt || return 1
- make -f make_linux.mak make_atk || return 1
- make -f make_linux.mak make_gnome || return 1
- export MOZILLA_INCLUDES="`pkg-config --cflags libxul`"
- export MOZILLA_LIBS="-Wl,-R`pkg-config libxul --variable=libdir` `pkg-config libxul --libs`"
- export XULRUNNER_INCLUDES="${MOZILLA_INCLUDES}"
- export XULRUNNER_LIBS="${MOZILLA_LIBS}"
- make -f make_linux.mak make_mozilla || return 1
- make -f make_linux.mak make_xulrunner || return 1
+ make -f make_linux.mak make_awt
+ make -f make_linux.mak make_swt
+ make -f make_linux.mak make_atk
+ make -f make_linux.mak make_gnome
+# "XULRunner >= 2.0 is not currently supported"
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=327696
+#
+# export MOZILLA_INCLUDES="`pkg-config --cflags libxul`"
+# export MOZILLA_LIBS="-Wl,-R`pkg-config libxul --variable=libdir` `pkg-config libxul --libs`"
+# export XULRUNNER_INCLUDES="${MOZILLA_INCLUDES}"
+# export XULRUNNER_LIBS="${MOZILLA_LIBS}"
+# make -f make_linux.mak make_mozilla
+# make -f make_linux.mak make_xulrunner
- make -f make_linux.mak make_cairo || return 1
- make -f make_linux.mak make_glx || return 1
+ make -f make_linux.mak make_cairo
+ make -f make_linux.mak make_glx
- ant compile || return 1
+ ant compile
+}
+
+package() {
+ cd "${srcdir}"
cp version.txt build/version.txt
cp src/org/eclipse/swt/internal/SWTMessages.properties build/org/eclipse/swt/internal/
- ant jar || return 1
+ ant jar
install -m755 -d "${pkgdir}/usr/share/java"
install -m755 -d "${pkgdir}/usr/lib"
- install -m644 swt.jar "${pkgdir}/usr/share/java/" || return 1
- install -m755 *.so "${pkgdir}/usr/lib/" || return 1
+ install -m644 swt.jar "${pkgdir}/usr/share/java/"
+ install -m755 *.so "${pkgdir}/usr/lib/"
}
diff --git a/extra/totem/PKGBUILD b/extra/totem/PKGBUILD
index 273588614..45297ffc3 100644
--- a/extra/totem/PKGBUILD
+++ b/extra/totem/PKGBUILD
@@ -11,6 +11,10 @@ license=('GPL2' 'custom')
makedepends=('intltool' 'gnome-doc-utils' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'totem-plparser'
'libpeas' 'pygobject' 'pygobject-devel' 'nautilus' 'libxxf86vm' 'libxtst' 'desktop-file-utils' 'iso-codes' 'libgdata'
'xulrunner' 'lirc-utils' 'libepc' 'bluez' 'vala')
+[ "$CARCH" = "mips64el" ] && \
+makedepends=('intltool' 'gnome-doc-utils' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'totem-plparser'
+ 'libpeas' 'pygobject' 'pygobject-devel' 'nautilus' 'libxxf86vm' 'libxtst' 'desktop-file-utils' 'iso-codes' 'libgdata'
+ 'xulrunner' 'libepc' 'bluez' 'vala')
options=('!libtool' '!emptydirs')
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver}.tar.bz2
fix_crash.patch)
diff --git a/extra/valgrind/PKGBUILD b/extra/valgrind/PKGBUILD
deleted file mode 100644
index a181f374c..000000000
--- a/extra/valgrind/PKGBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# $Id: PKGBUILD 126782 2011-06-07 10:02:00Z allan $
-# Maintainer: Dan McGee <dan@archlinux.org>
-# Maintainer: Allan McRae <allan@archlinux.org>
-
-pkgname=valgrind
-pkgver=3.6.1
-pkgrel=2
-pkgdesc="A tool to help find memory-management problems in programs"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://valgrind.org/"
-depends=('glibc>=2.14' 'glibc<2.15' 'perl')
-makedepends=('gdb')
-options=('!emptydirs')
-source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2
- valgrind-3.6.1-glibc-2.14.patch
- glibc-patch-version.patch)
-md5sums=('2c3aa122498baecc9d69194057ca88f5'
- '560032ce5d27ef0c7c1af32c3fd45833'
- 'b657f0ebdde3d9aefc9fd16f9e653702')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
- # make sure our CFLAGS are respected
- sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in
-
- # glibc-2.14 compatibility
- patch -Np1 -i ${srcdir}/valgrind-3.6.1-glibc-2.14.patch
-
- # prevent need to rebuild with glibc patch level version bumps
- patch -Np1 -i ${srcdir}/glibc-patch-version.patch
-
- if [ "${CARCH}" = "x86_64" ]; then
- ./configure --prefix=/usr --mandir=/usr/share/man --enable-only64bit
- else
- ./configure --prefix=/usr --mandir=/usr/share/man
- fi
- make
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
-}
diff --git a/extra/vim/PKGBUILD b/extra/vim/PKGBUILD
index 7d4f5d5fc..013def142 100644
--- a/extra/vim/PKGBUILD
+++ b/extra/vim/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 123129 2011-05-08 21:00:10Z heftig $
+# $Id: PKGBUILD 125313 2011-05-25 20:09:55Z heftig $
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Maintainer: tobias [ tobias at archlinux org ]
# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
@@ -6,9 +6,9 @@
pkgbase=vim
pkgname=(vim gvim vim-runtime)
_topver=7.3
-_patchlevel=177
+_patchlevel=206
pkgver=${_topver}.${_patchlevel}
-__hgrev=60890b26cb17
+__hgrev=e9538cfd0d9c
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
license=('custom:vim')
diff --git a/extra/vlc/PKGBUILD b/extra/vlc/PKGBUILD
index 95361e280..c861b3ac6 100644
--- a/extra/vlc/PKGBUILD
+++ b/extra/vlc/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 127816 2011-06-18 16:12:17Z ibiru $
+# $Id: PKGBUILD 129407 2011-06-27 11:36:20Z stephane $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor: Martin Sandsmark <martin.sandsmark@kde.org>
pkgname=vlc
pkgver=1.1.10
-pkgrel=4
+pkgrel=5
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
arch=('i686' 'x86_64')
url="http://www.videolan.org/vlc/"
@@ -34,13 +34,19 @@ conflicts=('vlc-plugin')
replaces=('vlc-plugin')
options=('!libtool')
install=vlc.install
-source=("http://download.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('066cb94b1e3aa848d828121354d6be4d')
+source=("http://download.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2"
+ vlc-1.1.10-libavformat.patch)
+md5sums=('066cb94b1e3aa848d828121354d6be4d'
+ '9b82571a594e08e67fbae9c96c3f3ed7')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
sed -i -e 's:truetype/freefont:TTF:g' modules/misc/freetype.c
+
+ # FS#24872
+ patch -Np1 -i ../vlc-1.1.10-libavformat.patch
+
./configure --prefix=/usr \
--disable-rpath \
--enable-faad \
diff --git a/extra/vlc/vlc-1.1.10-libavformat.patch b/extra/vlc/vlc-1.1.10-libavformat.patch
new file mode 100644
index 000000000..4bec72334
--- /dev/null
+++ b/extra/vlc/vlc-1.1.10-libavformat.patch
@@ -0,0 +1,29 @@
+From 21260bbb732d9de5540f809e1a54bde740f12a95 Mon Sep 17 00:00:00 2001
+From: Laurent Aimar <fenrir@videolan.org>
+Date: Tue, 7 Jun 2011 00:43:56 +0200
+Subject: [PATCH] Fix ByteIOContext init on recent libavformat
+
+Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+(cherry picked from commit 4fc3bd15a3844e41a75760fa8e100feecea969a5)
+
+Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+---
+ modules/demux/avformat/demux.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/modules/demux/avformat/demux.c b/modules/demux/avformat/demux.c
+index fbb0b28..bd7c166 100644
+--- a/modules/demux/avformat/demux.c
++++ b/modules/demux/avformat/demux.c
+@@ -210,6 +210,9 @@ int OpenDemux( vlc_object_t *p_this )
+ */
+ p_sys->url.is_streamed = 1;
+ p_sys->io.is_streamed = 1;
++#if defined(AVIO_SEEKABLE_NORMAL)
++ p_sys->io.seekable = 0;
++#endif
+ }
+
+
+--
+1.7.2.5
diff --git a/extra/weechat/PKGBUILD b/extra/weechat/PKGBUILD
index 066ecc416..09f86fbfd 100644
--- a/extra/weechat/PKGBUILD
+++ b/extra/weechat/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 124014 2011-05-15 23:09:30Z giovanni $
+# $Id: PKGBUILD 125306 2011-05-25 19:29:12Z foutrelis $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: lucke <lucke at o2 dot pl>
pkgname=weechat
pkgver=0.3.5
-pkgrel=1
+pkgrel=2
pkgdesc="Fast, light and extensible IRC client (curses UI)"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.weechat.org/"
diff --git a/extra/x264/PKGBUILD b/extra/x264/PKGBUILD
index 7e167e54e..29de1fd05 100644
--- a/extra/x264/PKGBUILD
+++ b/extra/x264/PKGBUILD
@@ -18,7 +18,9 @@ md5sums=('928717aa2f0c7ca91e589d6b60e688f1')
build() {
cd "$srcdir/$pkgname-snapshot-$pkgver-2245"
- ./configure --enable-shared
+ [ "$CARCH" = "mips64el" ] && extra="--enable-pic"
+
+ ./configure --enable-shared $extra
make
make DESTDIR="$pkgdir" \
diff --git a/extra/xorg-iceauth/PKGBUILD b/extra/xorg-iceauth/PKGBUILD
index 9063e3a4d..8af9aa2b0 100644
--- a/extra/xorg-iceauth/PKGBUILD
+++ b/extra/xorg-iceauth/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-iceauth
pkgver=1.0.5
pkgrel=1
pkgdesc="ICE authority file utility"
-arch=(i686 x86_64)
+arch=(i686 x86_64 'mips64el')
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libice')
diff --git a/extra/xulrunner/PKGBUILD b/extra/xulrunner/PKGBUILD
index ea0ea5c34..1f3cd5e44 100644
--- a/extra/xulrunner/PKGBUILD
+++ b/extra/xulrunner/PKGBUILD
@@ -22,24 +22,24 @@ options=('!emptydirs')
replaces=('xulrunner-oss')
build() {
cd "${srcdir}/icecat-${_ffoxver}/"
- cp "${srcdir}/mozconfig" .mozconfig
+ cp "${srcdir}/mozconfig" .mozconfig
#fix libdir/sdkdir - fedora
- patch -Np1 -i "${srcdir}/mozilla-pkgconfig.patch"
+ patch -Np1 -i "${srcdir}/mozilla-pkgconfig.patch"
#Force installation to the same path for every version
- patch -Np1 -i "${srcdir}/xulrunner-version.patch"
+ patch -Np1 -i "${srcdir}/xulrunner-version.patch"
#https://bugzilla.mozilla.org/show_bug.cgi?id=620931
- patch -Np1 -i "${srcdir}/xulrunner-omnijar.patch"
+ patch -Np1 -i "${srcdir}/xulrunner-omnijar.patch"
#https://bugzilla.mozilla.org/show_bug.cgi?id=494163
- patch -Np1 -i "${srcdir}/port_gnomevfs_to_gio.patch"
+ patch -Np1 -i "${srcdir}/port_gnomevfs_to_gio.patch"
- [[ "$CARCH" == "mips64el" ]] && {
- echo "ac_add_options --disable-ipc" >> .mozconfig
- patch -Np0 -i "${srcdir}/mips.patch"
- }
+ [[ "$CARCH" == "mips64el" ]] && {
+ echo "ac_add_options --disable-ipc" >> .mozconfig
+ patch -Np0 -i "${srcdir}/mips.patch"
+ }
unset CFLAGS
unset CXXFLAGS
@@ -62,10 +62,3 @@ package() {
install -d ${pkgdir}/etc/ld.so.conf.d
echo "/usr/lib/xulrunner-2.0" > ${pkgdir}/etc/ld.so.conf.d/xulrunner.conf
}
-md5sums=('1b4d44ee5badc28fd332cba564ecde0a'
- '2358a2ddd35bcdd62ff42442dfe548d9'
- '639ea80e823543dd415b90c0ee804186'
- 'a0236f6c3e55f60b7888d8cf137ff209'
- 'f8b64cf798636a9c1e4e10c08de0b859'
- '42f83468b296452fb754a81a4317ca64'
- '0e970ff5600246e953f527813883e744')
diff --git a/extra/zziplib/PKGBUILD b/extra/zziplib/PKGBUILD
index 4783fc5ee..73d728632 100644
--- a/extra/zziplib/PKGBUILD
+++ b/extra/zziplib/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=zziplib
pkgver=0.13.60
pkgrel=1
pkgdesc="A lightweight library that offers the ability to easily extract data from files archived in a single zip file"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
url="http://zziplib.sourceforge.net"
license=('LGPL' 'MPL')
depends=('zlib')
diff --git a/libre/ffmpeg-libre/PKGBUILD b/libre/ffmpeg-libre/PKGBUILD
index 41c332dca..40bd3a579 100644
--- a/libre/ffmpeg-libre/PKGBUILD
+++ b/libre/ffmpeg-libre/PKGBUILD
@@ -14,8 +14,10 @@ license=('GPL')
depends=('bzip2' 'lame' 'sdl' 'libvorbis' 'xvidcore' 'zlib' 'x264' 'libtheora' 'opencore-amr' 'alsa-lib' 'libvdpau' 'libxfixes' 'schroedinger' 'libvpx' 'libva' 'openjpeg')
makedepends=('yasm' 'git')
#git clone git://git.videolan.org/ffmpeg.git
-source=(ftp://ftp.archlinux.org/other/ffmpeg/ffmpeg-${pkgver}.tar.xz)
-md5sums=('dd682a876a496b9f9ae8afb3b3b70389')
+source=(ftp://ftp.archlinux.org/other/ffmpeg/ffmpeg-${pkgver}.tar.xz
+ ffmpeg-loongson.patch)
+md5sums=('dd682a876a496b9f9ae8afb3b3b70389'
+ 'a178dab43d73388543689df4828fb2d2')
#source=(http://ffmpeg.org/releases//releases/ffmpeg-${pkgver}.tar.bz2)
provides=("ffmpeg=$pkgver")
conflicts=('ffmpeg')
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD
index 89f6755fb..b18691b41 100644
--- a/libre/icecat/PKGBUILD
+++ b/libre/icecat/PKGBUILD
@@ -65,6 +65,9 @@ build() {
msg2 "Starting build..."
cp "${srcdir}/mozconfig" .mozconfig
+
+ [ "$CARCH" = "mips64el" ] && echo "ac_add_options --disable-ipc" >> .mozconfig
+
unset CFLAGS
unset CXXFLAGS
diff --git a/libre/kernel26-libre/PKGBUILD b/libre/kernel26-libre/PKGBUILD
index e7b832957..55890ba16 100644
--- a/libre/kernel26-libre/PKGBUILD
+++ b/libre/kernel26-libre/PKGBUILD
@@ -6,21 +6,34 @@ pkgname=('kernel26-libre' 'kernel26-libre-headers' 'kernel26-libre-docs') # Buil
_kernelname=${pkgname#kernel26-libre}
_basekernel=2.6.39
-pkgver=${_basekernel}.1
-pkgrel=1
+pkgver=${_basekernel}.2
+pkgrel=2
makedepends=('xmlto' 'docbook-xsl')
-_patchname="patch-${pkgver}-${pkgrel}-LIBRE"
-arch=(i686 x86_64 'mips64el')
+#_patchname="patch-${pkgver}-${pkgrel}-LIBRE"
+_patchname="patch-2.6.39.1-1-LIBRE"
+arch=(i686 x86_64 mips64el)
license=('GPL2')
url="http://linux-libre.fsfla.org/"
options=(!strip)
source=(http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-libre/linux-${pkgver}-libre.tar.bz2
+ http://linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${pkgver}-libre-lemote_0lxo_mipsel.tar.bz2
http://repo.parabolagnulinux.org/other/kernel26/${_patchname}.bz2
# the main kernel config files
config.i686 config.x86_64
# standard config files for mkinitcpio ramdisk
kernel26.preset
+ Kbuild
+ Kbuild.platforms
kernel26.install)
+md5sums=('4ddca7df15f92537b1914ab115cb4f8b'
+ 'cff48db79d27731e46af0653788a186d'
+ '252cbddfd9a8bb97181c087fdd5e2377'
+ 'd5c6c675662d98011513f6cbc81d66db'
+ '00e8553b44dac65fc093db60a1cde842'
+ '25584700a0a679542929c4bed31433b6'
+ '2967cecc3af9f954ccc822fd63dca6ff'
+ '8267264d9a8966e57fdacd1fa1fc65c4'
+ 'fdfed5e8b46f289617ee6def01978090')
build() {
cd ${srcdir}/linux-$pkgver
@@ -29,13 +42,17 @@ build() {
patch -Np1 -i ${srcdir}/${_patchname}
if [ "$CARCH" == "mips64el" ]; then
- sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile
+# Fix for lxo-config.patch Makefile
+ sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =.${pkgver##*.}-libre|" Makefile
+
msg2 "Adding loongson-community patches"
patch -Np1 -i ${srcdir}/$pkgver-*-loongson-community.patch
+# This is the config file
patch -Np0 -i ${srcdir}/lxo-config.patch
-# ensure N32
- sed -i "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" ./.config
+ sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-LIBRE\"|g" ./.config
+ sed -i "s|CONFIG_LOGO_LIBRE_CLUT224=.*|CONFIG_LOGO_LIBRE_CLUT224=y|g" ./.config
+ sed -i "s|CONFIG_LOGO_LINUX_CLUT224=.*|CONFIG_LOGO_LINUX_CLUT224=|g" ./.config
# build with -Wno-error
cp --remove-destination ${srcdir}/Kbuild arch/mips/
@@ -55,6 +72,7 @@ build() {
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
fi
# get kernel version
+ make oldconfig # using old config from previous kernel version
make prepare
# load configuration
# Configure the kernel. Replace the line below with one of your choice.
@@ -69,9 +87,13 @@ build() {
#msg "Stopping build"
#return 1
####################
- yes "" | make config
# build!
- make ${MAKEFLAGS} bzImage modules
+ #yes "" | make config
+ if [ "$CARCH" == "mips64el" ]; then
+ make ${MAKEFLAGS} vmlinuz modules
+ else
+ make ${MAKEFLAGS} bzImage modules
+ fi
}
package_kernel26-libre() {
@@ -93,13 +115,20 @@ package_kernel26-libre() {
optdepends=('crda: to set the correct wireless channels of your country')
KARCH=x86
+ [[ $CARCH = "mips64el" ]] && KARCH=mips
cd ${srcdir}/linux-$pkgver
# get kernel version
_kernver="$(make kernelrelease)"
mkdir -p ${pkgdir}/{lib/modules,lib/firmware,boot}
make INSTALL_MOD_PATH=${pkgdir} modules_install
cp System.map ${pkgdir}/boot/System.map26${_kernelname}
- cp arch/$KARCH/boot/bzImage ${pkgdir}/boot/vmlinuz26${_kernelname}
+
+ if [ "$CARCH" == "mips64el" ]; then
+ cp vmlinuz ${pkgdir}/boot/vmlinuz26${_kernelname}
+ else
+ cp arch/$KARCH/boot/bzImage ${pkgdir}/boot/vmlinuz26${_kernelname}
+ install -m644 -D vmlinux.32 ${pkgdir}/usr/src/linux-${_kernver}/vmlinux32
+ fi
# # add vmlinux
install -m644 -D vmlinux ${pkgdir}/usr/src/linux-${_kernver}/vmlinux
@@ -131,6 +160,9 @@ package_kernel26-libre-headers() {
replaces=('kernel26-headers')
conflicts=('kernel26-headers')
KARCH=x86
+ [[ $CARCH = "mips64el" ]] && KARCH=mips
+ cd ${srcdir}/linux-$pkgver
+ _kernver="$(make kernelrelease)"
mkdir -p ${pkgdir}/lib/modules/${_kernver}
cd ${pkgdir}/lib/modules/${_kernver}
ln -sf ../../../usr/src/linux-${_kernver} build
@@ -149,8 +181,13 @@ package_kernel26-libre-headers() {
done
# copy arch includes for external modules
- mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
- cp -a arch/x86/include ${pkgdir}/usr/src/linux-${_kernver}/arch/x86/
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH
+ cp -a arch/$KARCH/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
+ if [ "$CARCH" = "mips64el" ]; then
+ cp -a arch/$KARCH/Kbuild ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
+ cp -a arch/$KARCH/loongson ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
+ cp -a $srcdir/Kbuild.platforms ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
+ fi
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers ${pkgdir}/usr/src/linux-${_kernver}
@@ -174,6 +211,10 @@ package_kernel26-libre-headers() {
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
done
+ if [ "$CARCH" != "mips64el" ]; then
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/staging/usbvideo/
+ cp -a drivers/staging/usbvideo/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/staging/usbvideo/
+ fi
# add docbook makefile
install -D -m644 Documentation/DocBook/Makefile \
${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
@@ -194,8 +235,10 @@ package_kernel26-libre-headers() {
# add dvb headers for external modules
# in reference to:
# http://bugs.archlinux.org/task/11194
- mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
- cp include/config/dvb/*.h ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
+ if [ "$CARCH" != "mips64el" ]; then
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
+ cp include/config/dvb/*.h ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
+ fi
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
# in reference to:
# http://bugs.archlinux.org/task/13146
@@ -235,7 +278,13 @@ package_kernel26-libre-headers() {
esac
done
# remove unneeded architectures
- rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+ rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+ if [ "$CARCH" = "mips64el" ]; then
+ rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
+ else
+ rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/mips
+ fi
+
}
package_kernel26-libre-docs() {
@@ -246,15 +295,9 @@ conflicts=('kernel26-docs')
cd ${srcdir}/linux-$pkgver
mkdir -p $pkgdir/usr/src/linux-$_kernver
-mv Documentation $pkgdir/usr/src/linux-$_kernver
+cp -r Documentation $pkgdir/usr/src/linux-$_kernver/
find $pkgdir -type f -exec chmod 444 {} \;
find $pkgdir -type d -exec chmod 755 {} \;
# remove a file already in kernel26 package
rm -f $pkgdir/usr/src/linux-$_kernver/Documentation/DocBook/Makefile
}
-md5sums=('923210b0c4190733bf314e48f588c112'
- '252cbddfd9a8bb97181c087fdd5e2377'
- 'd5c6c675662d98011513f6cbc81d66db'
- '00e8553b44dac65fc093db60a1cde842'
- '25584700a0a679542929c4bed31433b6'
- 'fdfed5e8b46f289617ee6def01978090')
diff --git a/libre/libretools/PKGBUILD b/libre/libretools/PKGBUILD
index 7c2406ef5..8e9612d73 100644
--- a/libre/libretools/PKGBUILD
+++ b/libre/libretools/PKGBUILD
@@ -78,4 +78,4 @@ package_libretools-pr() {
install -d ${pkgdir}/usr/bin
install -m755 ${_gitname}/prfullpkg ${pkgdir}/usr/bin
install -m755 ${_gitname}/prmipsrelease ${pkgdir}/usr/bin
-} \ No newline at end of file
+}
diff --git a/staging/apr-util/PKGBUILD b/staging/apr-util/PKGBUILD
new file mode 100644
index 000000000..5cdab4d99
--- /dev/null
+++ b/staging/apr-util/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 129453 2011-06-28 01:17:42Z stephane $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=apr-util
+pkgver=1.3.12
+pkgrel=2
+pkgdesc="The Apache Portable Runtime"
+arch=('i686' 'x86_64')
+url="http://apr.apache.org/"
+depends=('apr' 'gdbm' 'expat' 'db' 'libldap' 'unixodbc')
+options=('!libtool')
+license=('APACHE')
+source=("http://www.apache.org/dist/apr/apr-util-${pkgver}.tar.bz2")
+md5sums=('0f671b037ca62751a8a7005578085560')
+
+build() {
+ cd "${srcdir}/apr-util-${pkgver}"
+ ./configure --prefix=/usr --with-apr=/usr \
+ --without-pgsql --without-mysql --without-sqlite2 --without-sqlite3 \
+ --with-berkeley-db=/usr --with-gdbm=/usr --with-ldap
+ make
+}
+
+package() {
+ cd "${srcdir}/apr-util-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/evolution-data-server/PKGBUILD b/staging/evolution-data-server/PKGBUILD
new file mode 100644
index 000000000..d7303a1eb
--- /dev/null
+++ b/staging/evolution-data-server/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 129456 2011-06-28 01:27:57Z stephane $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=evolution-data-server
+pkgver=3.0.2.1
+pkgrel=2
+pkgdesc="Central location for addressbook and calendar storage in the GNOME Desktop"
+arch=('i686' 'x86_64')
+depends=('libsoup' 'nss' 'libgnome-keyring' 'krb5' 'libgweather' 'libical' 'db' 'libgdata')
+makedepends=('intltool' 'gperf' 'gobject-introspection')
+options=('!libtool')
+url="http://www.gnome.org"
+license=('GPL')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/3.0/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('1b14c57a835745ee2c0141a76a07d44688dfb2d758bf3b818fe1860b59451f9b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --with-openldap=yes \
+ --libexecdir=/usr/lib/evolution-data-server \
+ --with-krb5=/usr --with-libdb=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/evolution-exchange/PKGBUILD b/staging/evolution-exchange/PKGBUILD
new file mode 100644
index 000000000..a04bdc13b
--- /dev/null
+++ b/staging/evolution-exchange/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 129506 2011-06-28 14:23:10Z stephane $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=evolution-exchange
+pkgver=3.0.2
+pkgrel=2
+pkgdesc="Ximian Connector Exchange plugin for Evolution"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.ximian.com"
+depends=('evolution-data-server' 'gtkhtml4' 'gnome-desktop' 'libunique3')
+makedepends=('intltool' 'evolution')
+options=('!libtool' '!emptydirs')
+install=evolution-exchange.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('84f5c638aee1f6ed49de0d0f331d3b29907f7b211bd6c70f37698dedcd3e5f5a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib/evolution --disable-static \
+ --with-libdb=/usr --with-krb5=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain evolution-exchange-3.0 ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/staging/evolution-exchange/evolution-exchange.install b/staging/evolution-exchange/evolution-exchange.install
new file mode 100644
index 000000000..1179887f9
--- /dev/null
+++ b/staging/evolution-exchange/evolution-exchange.install
@@ -0,0 +1,17 @@
+pkgname=evolution-exchange
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
diff --git a/staging/mod_perl/PKGBUILD b/staging/mod_perl/PKGBUILD
new file mode 100644
index 000000000..9f3595deb
--- /dev/null
+++ b/staging/mod_perl/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 129799 2011-06-28 23:07:22Z angvp $
+# Maintainer: Firmicus <francois.archlinux.org>
+# Contributor: Tom K <tomk@runbox.com>
+
+pkgname=mod_perl
+pkgver=2.0.5
+pkgrel=7
+pkgdesc="Apache module that embeds the Perl interpreter within the server"
+url="http://search.cpan.org/dist/${pkgname}/"
+depends=('perl' 'apache' 'db' 'apr-util' 'perl-linux-pid')
+license=('APACHE')
+arch=('i686' 'x86_64')
+options=(!emptydirs)
+source=(http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/${pkgname}-${pkgver}.tar.gz)
+md5sums=('03d01d135a122bd8cebd0cd5b185d674')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ # install module in vendor directories.
+ perl Makefile.PL INSTALLDIRS=vendor MP_APXS=/usr/sbin/apxs
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/staging/subversion/PKGBUILD b/staging/subversion/PKGBUILD
new file mode 100644
index 000000000..44c626813
--- /dev/null
+++ b/staging/subversion/PKGBUILD
@@ -0,0 +1,98 @@
+# $Id: PKGBUILD 129526 2011-06-28 16:08:03Z stephane $
+# Maintainer: Paul Mattal <paul@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
+
+pkgname=subversion
+pkgver=1.6.17
+pkgrel=5
+pkgdesc="Replacement for CVS, another versioning system (SVN)"
+arch=('i686' 'x86_64')
+license=('apache' 'bsd')
+depends=('neon' 'apr-util' 'sqlite3')
+makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' 'ruby' 'java-runtime'
+ 'autoconf' 'db' 'e2fsprogs' 'libgnome-keyring' 'kdelibs')
+source=(http://subversion.tigris.org/downloads/$pkgname-$pkgver.tar.bz2
+ svnserve svn svnserve.conf svnmerge.py
+ subversion.rpath.fix.patch
+ subversion.suppress.deprecation.warnings.patch)
+
+backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve')
+url="http://subversion.apache.org/"
+provides=('svn')
+options=('!makeflags' '!libtool')
+optdepends=('libgnome-keyring' 'kdeutils-kwallet' 'bash-completion: for svn bash completion')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ export PYTHON=/usr/bin/python2
+
+ # apply patches
+ patch -Np0 -i ../subversion.rpath.fix.patch
+ patch -Np1 -i ../subversion.suppress.deprecation.warnings.patch
+
+ # configure
+ autoreconf
+ ./configure --prefix=/usr --with-apr=/usr --with-apr-util=/usr \
+ --with-zlib=/usr --with-neon=/usr --with-apxs \
+ --with-sqlite=/usr --with-berkeley-db=:/usr/include/:/usr/lib:db-5.2 \
+ --enable-javahl --with-gnome-keyring --with-kwallet
+
+ # build
+ (make external-all && make LT_LDFLAGS="-L$Fdestdir/usr/lib" local-all )
+}
+
+#check() {
+# cd "${srcdir}/${pkgname}-${pkgver}"
+# export LANG=C LC_ALL=C
+# make check check-swig-pl check-swig-py CLEANUP=yes
+#}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # install
+ export LD_LIBRARY_PATH=${pkgdir}/usr/lib:$LD_LIBRARY_PATH
+ make DESTDIR=${pkgdir} install
+
+ make DESTDIR=${pkgdir} swig-py
+ make install-swig-py DESTDIR=${pkgdir}
+
+ install -d ${pkgdir}/usr/lib/python2.7
+ mv ${pkgdir}/usr/lib/svn-python/ ${pkgdir}/usr/lib/python2.7/site-packages
+
+ install -d ${pkgdir}/usr/share/subversion
+ install -d -m 755 tools/hook-scripts ${pkgdir}/usr/share/subversion/
+ rm -f ${pkgdir}/usr/share/subversion/hook-scripts/*.in
+
+ make DESTDIR=${pkgdir} swig-pl
+ make install-swig-pl DESTDIR=${pkgdir} INSTALLDIRS=vendor
+ rm -f ${pkgdir}/usr/lib/perl5/vendor_perl/auto/SVN/_Core/.packlist
+ rm -rf ${pkgdir}/usr/lib/perl5/core_perl
+
+ make DESTDIR=${pkgdir} swig-rb
+ make install-swig-rb DESTDIR=${pkgdir}
+
+ make DESTDIR=${pkgdir} javahl
+ make DESTDIR=${pkgdir} install-javahl
+
+ install -d ${pkgdir}/etc/{rc.d,xinetd.d,conf.d}
+
+ install -m 755 ${srcdir}/svnserve ${pkgdir}/etc/rc.d
+ install -m 644 ${srcdir}/svn ${pkgdir}/etc/xinetd.d
+ install -m 644 ${srcdir}/svnserve.conf ${pkgdir}/etc/conf.d/svnserve
+ install -m 755 ${srcdir}/svnmerge.py ${pkgdir}/usr/bin/svnmerge
+ install -D -m 644 ${srcdir}/subversion-$pkgver/COPYING \
+ ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+
+ # bash completion
+ install -Dm 644 ${srcdir}/${pkgname}-${pkgver}/tools/client-side/bash_completion \
+ ${pkgdir}/etc/bash_completion.d/subversion
+}
+md5sums=('81e5dc5beee4b3fc025ac70c0b6caa14'
+ 'a2b029e8385007ffb99b437b30521c90'
+ 'a0db6dd43af33952739b6ec089852630'
+ 'c459e299192552f61578f3438abf0664'
+ 'a6371baeda7e224504629ecdda2749b4'
+ '6b4340ba9d8845cd8497e013ae01be3f'
+ '1166f3b7413d7e7450299b3525680bbe')
diff --git a/staging/subversion/subversion.rpath.fix.patch b/staging/subversion/subversion.rpath.fix.patch
new file mode 100644
index 000000000..ba6ee9e4e
--- /dev/null
+++ b/staging/subversion/subversion.rpath.fix.patch
@@ -0,0 +1,10 @@
+--- Makefile.in.orig 2009-02-16 14:10:48.000000000 -0200
++++ Makefile.in 2009-06-04 00:56:29.000000000 -0300
+@@ -678,6 +678,7 @@
+
+ $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
+ cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL
++ cd $(SWIG_PL_DIR)/native; sed -i 's|LD_RUN_PATH|DIE_RPATH_DIE|g' Makefile{,.{client,delta,fs,ra,repos,wc}}
+
+ swig-pl_DEPS = autogen-swig-pl libsvn_swig_perl \
+ $(SWIG_PL_DIR)/native/Makefile
diff --git a/staging/subversion/subversion.suppress.deprecation.warnings.patch b/staging/subversion/subversion.suppress.deprecation.warnings.patch
new file mode 100644
index 000000000..94ce89b18
--- /dev/null
+++ b/staging/subversion/subversion.suppress.deprecation.warnings.patch
@@ -0,0 +1,22 @@
+diff -urN subversion-1.6.9/subversion/bindings/swig/python/svn/core.py subversion-1.6.9-fixed/subversion/bindings/swig/python/svn/core.py
+--- subversion-1.6.9/subversion/bindings/swig/python/svn/core.py 2009-02-13 11:22:26.000000000 -0500
++++ subversion-1.6.9-fixed/subversion/bindings/swig/python/svn/core.py 2010-02-08 07:46:29.000000000 -0500
+@@ -19,6 +19,7 @@
+ from libsvn.core import *
+ import libsvn.core as _libsvncore
+ import atexit as _atexit
++import warnings
+
+ class SubversionException(Exception):
+ def __init__(self, message=None, apr_err=None, child=None,
+@@ -44,7 +45,9 @@
+ Exception.__init__(self, *args)
+
+ self.apr_err = apr_err
+- self.message = message
++ with warnings.catch_warnings():
++ warnings.simplefilter("ignore", DeprecationWarning)
++ self.message = message
+ self.child = child
+ self.file = file
+ self.line = line
diff --git a/staging/subversion/svn b/staging/subversion/svn
new file mode 100644
index 000000000..8988aaf63
--- /dev/null
+++ b/staging/subversion/svn
@@ -0,0 +1,11 @@
+service svn
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/bin/svnserve
+ server_args = -i
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/staging/subversion/svnmerge.py b/staging/subversion/svnmerge.py
new file mode 100644
index 000000000..d8931648f
--- /dev/null
+++ b/staging/subversion/svnmerge.py
@@ -0,0 +1,2370 @@
+#!/usr/bin/env python2
+# -*- coding: utf-8 -*-
+# Copyright (c) 2005, Giovanni Bajo
+# Copyright (c) 2004-2005, Awarix, Inc.
+# All rights reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+#
+# Author: Archie Cobbs <archie at awarix dot com>
+# Rewritten in Python by: Giovanni Bajo <rasky at develer dot com>
+#
+# Acknowledgments:
+# John Belmonte <john at neggie dot net> - metadata and usability
+# improvements
+# Blair Zajac <blair at orcaware dot com> - random improvements
+# Raman Gupta <rocketraman at fastmail dot fm> - bidirectional and transitive
+# merging support
+# Dustin J. Mitchell <dustin at zmanda dot com> - support for multiple
+# location identifier formats
+#
+# $HeadURL$
+# $LastChangedDate$
+# $LastChangedBy$
+# $LastChangedRevision$
+#
+# Requisites:
+# svnmerge.py has been tested with all SVN major versions since 1.1 (both
+# client and server). It is unknown if it works with previous versions.
+#
+# Differences from svnmerge.sh:
+# - More portable: tested as working in FreeBSD and OS/2.
+# - Add double-verbose mode, which shows every svn command executed (-v -v).
+# - "svnmerge avail" now only shows commits in source, not also commits in
+# other parts of the repository.
+# - Add "svnmerge block" to flag some revisions as blocked, so that
+# they will not show up anymore in the available list. Added also
+# the complementary "svnmerge unblock".
+# - "svnmerge avail" has grown two new options:
+# -B to display a list of the blocked revisions
+# -A to display both the blocked and the available revisions.
+# - Improved generated commit message to make it machine parsable even when
+# merging commits which are themselves merges.
+# - Add --force option to skip working copy check
+# - Add --record-only option to "svnmerge merge" to avoid performing
+# an actual merge, yet record that a merge happened.
+# - Can use a variety of location-identifier formats
+#
+# TODO:
+# - Add "svnmerge avail -R": show logs in reverse order
+#
+# Information for Hackers:
+#
+# Identifiers for branches:
+# A branch is identified in three ways within this source:
+# - as a working copy (variable name usually includes 'dir')
+# - as a fully qualified URL
+# - as a path identifier (an opaque string indicating a particular path
+# in a particular repository; variable name includes 'pathid')
+# A "target" is generally user-specified, and may be a working copy or
+# a URL.
+
+import sys, os, getopt, re, types, tempfile, time, locale
+from bisect import bisect
+from xml.dom import pulldom
+
+NAME = "svnmerge"
+if not hasattr(sys, "version_info") or sys.version_info < (2, 0):
+ error("requires Python 2.0 or newer")
+
+# Set up the separator used to separate individual log messages from
+# each revision merged into the target location. Also, create a
+# regular expression that will find this same separator in already
+# committed log messages, so that the separator used for this run of
+# svnmerge.py will have one more LOG_SEPARATOR appended to the longest
+# separator found in all the commits.
+LOG_SEPARATOR = 8 * '.'
+LOG_SEPARATOR_RE = re.compile('^((%s)+)' % re.escape(LOG_SEPARATOR),
+ re.MULTILINE)
+
+# Each line of the embedded log messages will be prefixed by LOG_LINE_PREFIX.
+LOG_LINE_PREFIX = 2 * ' '
+
+# Set python to the default locale as per environment settings, same as svn
+# TODO we should really parse config and if log-encoding is specified, set
+# the locale to match that encoding
+locale.setlocale(locale.LC_ALL, '')
+
+# We want the svn output (such as svn info) to be non-localized
+# Using LC_MESSAGES should not affect localized output of svn log, for example
+if os.environ.has_key("LC_ALL"):
+ del os.environ["LC_ALL"]
+os.environ["LC_MESSAGES"] = "C"
+
+###############################################################################
+# Support for older Python versions
+###############################################################################
+
+# True/False constants are Python 2.2+
+try:
+ True, False
+except NameError:
+ True, False = 1, 0
+
+def lstrip(s, ch):
+ """Replacement for str.lstrip (support for arbitrary chars to strip was
+ added in Python 2.2.2)."""
+ i = 0
+ try:
+ while s[i] == ch:
+ i = i+1
+ return s[i:]
+ except IndexError:
+ return ""
+
+def rstrip(s, ch):
+ """Replacement for str.rstrip (support for arbitrary chars to strip was
+ added in Python 2.2.2)."""
+ try:
+ if s[-1] != ch:
+ return s
+ i = -2
+ while s[i] == ch:
+ i = i-1
+ return s[:i+1]
+ except IndexError:
+ return ""
+
+def strip(s, ch):
+ """Replacement for str.strip (support for arbitrary chars to strip was
+ added in Python 2.2.2)."""
+ return lstrip(rstrip(s, ch), ch)
+
+def rsplit(s, sep, maxsplits=0):
+ """Like str.rsplit, which is Python 2.4+ only."""
+ L = s.split(sep)
+ if not 0 < maxsplits <= len(L):
+ return L
+ return [sep.join(L[0:-maxsplits])] + L[-maxsplits:]
+
+###############################################################################
+
+def kwextract(s):
+ """Extract info from a svn keyword string."""
+ try:
+ return strip(s, "$").strip().split(": ")[1]
+ except IndexError:
+ return "<unknown>"
+
+__revision__ = kwextract('$Rev$')
+__date__ = kwextract('$Date$')
+
+# Additional options, not (yet?) mapped to command line flags
+default_opts = {
+ "svn": "svn",
+ "prop": NAME + "-integrated",
+ "block-prop": NAME + "-blocked",
+ "commit-verbose": True,
+ "verbose": 0,
+}
+logs = {}
+
+def console_width():
+ """Get the width of the console screen (if any)."""
+ try:
+ return int(os.environ["COLUMNS"])
+ except (KeyError, ValueError):
+ pass
+
+ try:
+ # Call the Windows API (requires ctypes library)
+ from ctypes import windll, create_string_buffer
+ h = windll.kernel32.GetStdHandle(-11)
+ csbi = create_string_buffer(22)
+ res = windll.kernel32.GetConsoleScreenBufferInfo(h, csbi)
+ if res:
+ import struct
+ (bufx, bufy,
+ curx, cury, wattr,
+ left, top, right, bottom,
+ maxx, maxy) = struct.unpack("hhhhHhhhhhh", csbi.raw)
+ return right - left + 1
+ except ImportError:
+ pass
+
+ # Parse the output of stty -a
+ if os.isatty(1):
+ out = os.popen("stty -a").read()
+ m = re.search(r"columns (\d+);", out)
+ if m:
+ return int(m.group(1))
+
+ # sensible default
+ return 80
+
+def error(s):
+ """Subroutine to output an error and bail."""
+ print >> sys.stderr, "%s: %s" % (NAME, s)
+ sys.exit(1)
+
+def report(s):
+ """Subroutine to output progress message, unless in quiet mode."""
+ if opts["verbose"]:
+ print "%s: %s" % (NAME, s)
+
+def prefix_lines(prefix, lines):
+ """Given a string representing one or more lines of text, insert the
+ specified prefix at the beginning of each line, and return the result.
+ The input must be terminated by a newline."""
+ assert lines[-1] == "\n"
+ return prefix + lines[:-1].replace("\n", "\n"+prefix) + "\n"
+
+def recode_stdout_to_file(s):
+ if locale.getdefaultlocale()[1] is None or not hasattr(sys.stdout, "encoding") \
+ or sys.stdout.encoding is None:
+ return s
+ u = s.decode(sys.stdout.encoding)
+ return u.encode(locale.getdefaultlocale()[1])
+
+class LaunchError(Exception):
+ """Signal a failure in execution of an external command. Parameters are the
+ exit code of the process, the original command line, and the output of the
+ command."""
+
+try:
+ """Launch a sub-process. Return its output (both stdout and stderr),
+ optionally split by lines (if split_lines is True). Raise a LaunchError
+ exception if the exit code of the process is non-zero (failure).
+
+ This function has two implementations, one based on subprocess (preferred),
+ and one based on popen (for compatibility).
+ """
+ import subprocess
+ import shlex
+
+ def launch(cmd, split_lines=True):
+ # Requiring python 2.4 or higher, on some platforms we get
+ # much faster performance from the subprocess module (where python
+ # doesn't try to close an exhorbitant number of file descriptors)
+ stdout = ""
+ stderr = ""
+ try:
+ if os.name == 'nt':
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, \
+ close_fds=False, stderr=subprocess.PIPE)
+ else:
+ # Use shlex to break up the parameters intelligently,
+ # respecting quotes. shlex can't handle unicode.
+ args = shlex.split(cmd.encode('ascii'))
+ p = subprocess.Popen(args, stdout=subprocess.PIPE, \
+ close_fds=False, stderr=subprocess.PIPE)
+ stdoutAndErr = p.communicate()
+ stdout = stdoutAndErr[0]
+ stderr = stdoutAndErr[1]
+ except OSError, inst:
+ # Using 1 as failure code; should get actual number somehow? For
+ # examples see svnmerge_test.py's TestCase_launch.test_failure and
+ # TestCase_launch.test_failurecode.
+ raise LaunchError(1, cmd, stdout + " " + stderr + ": " + str(inst))
+
+ if p.returncode == 0:
+ if split_lines:
+ # Setting keepends=True for compatibility with previous logic
+ # (where file.readlines() preserves newlines)
+ return stdout.splitlines(True)
+ else:
+ return stdout
+ else:
+ raise LaunchError(p.returncode, cmd, stdout + stderr)
+except ImportError:
+ # support versions of python before 2.4 (slower on some systems)
+ def launch(cmd, split_lines=True):
+ if os.name not in ['nt', 'os2']:
+ import popen2
+ p = popen2.Popen4(cmd)
+ p.tochild.close()
+ if split_lines:
+ out = p.fromchild.readlines()
+ else:
+ out = p.fromchild.read()
+ ret = p.wait()
+ if ret == 0:
+ ret = None
+ else:
+ ret >>= 8
+ else:
+ i,k = os.popen4(cmd)
+ i.close()
+ if split_lines:
+ out = k.readlines()
+ else:
+ out = k.read()
+ ret = k.close()
+
+ if ret is None:
+ return out
+ raise LaunchError(ret, cmd, out)
+
+def launchsvn(s, show=False, pretend=False, **kwargs):
+ """Launch SVN and grab its output."""
+ username = password = configdir = ""
+ if opts.get("username", None):
+ username = "--username=" + opts["username"]
+ if opts.get("password", None):
+ password = "--password=" + opts["password"]
+ if opts.get("config-dir", None):
+ configdir = "--config-dir=" + opts["config-dir"]
+ cmd = ' '.join(filter(None, [opts["svn"], "--non-interactive",
+ username, password, configdir, s]))
+ if show or opts["verbose"] >= 2:
+ print cmd
+ if pretend:
+ return None
+ return launch(cmd, **kwargs)
+
+def svn_command(s):
+ """Do (or pretend to do) an SVN command."""
+ out = launchsvn(s, show=opts["show-changes"] or opts["dry-run"],
+ pretend=opts["dry-run"],
+ split_lines=False)
+ if not opts["dry-run"]:
+ print out
+
+def check_dir_clean(dir):
+ """Check the current status of dir for local mods."""
+ if opts["force"]:
+ report('skipping status check because of --force')
+ return
+ report('checking status of "%s"' % dir)
+
+ # Checking with -q does not show unversioned files or external
+ # directories. Though it displays a debug message for external
+ # directories, after a blank line. So, practically, the first line
+ # matters: if it's non-empty there is a modification.
+ out = launchsvn("status -q %s" % dir)
+ if out and out[0].strip():
+ error('"%s" has local modifications; it must be clean' % dir)
+
+class PathIdentifier:
+ """Abstraction for a path identifier, so that we can start talking
+ about it before we know the form that it takes in the properties (its
+ external_form). Objects are referenced in the class variable 'locobjs',
+ keyed by all known forms."""
+
+ # a map of UUID (or None) to repository root URL.
+ repo_hints = {}
+
+ # a map from any known string form to the corresponding PathIdentifier
+ locobjs = {}
+
+ def __init__(self, repo_relative_path, uuid=None, url=None, external_form=None):
+ self.repo_relative_path = repo_relative_path
+ self.uuid = uuid
+ self.url = url
+ self.external_form = external_form
+
+ def __repr__(self):
+ return "<PathIdentifier " + ', '.join('%s=%r' % i for i in self.__dict__.items()) + '>'
+
+ def __str__(self):
+ """Return a printable string representation"""
+ if self.external_form:
+ return self.external_form
+ if self.url:
+ return self.format('url')
+ if self.uuid:
+ return self.format('uuid')
+ return self.format('path')
+
+ def from_pathid(pathid_str):
+ """convert pathid_str to a PathIdentifier"""
+ if not PathIdentifier.locobjs.has_key(pathid_str):
+ if is_url(pathid_str):
+ # we can determine every form; PathIdentifier.hint knows how to do that
+ PathIdentifier.hint(pathid_str)
+ elif pathid_str[:7] == 'uuid://':
+ mo = re.match('uuid://([^/]*)(.*)', pathid_str)
+ if not mo:
+ error("Invalid path identifier '%s'" % pathid_str)
+ uuid, repo_relative_path = mo.groups()
+ pathid = PathIdentifier(repo_relative_path, uuid=uuid)
+ # we can cache this by uuid:// pathid and by repo-relative path
+ PathIdentifier.locobjs[pathid_str] = PathIdentifier.locobjs[repo_relative_path] = pathid
+ elif pathid_str and pathid_str[0] == '/':
+ # strip any trailing slashes
+ pathid_str = pathid_str.rstrip('/')
+ pathid = PathIdentifier(repo_relative_path=pathid_str)
+ # we can only cache this by repo-relative path
+ PathIdentifier.locobjs[pathid_str] = pathid
+ else:
+ error("Invalid path identifier '%s'" % pathid_str)
+ return PathIdentifier.locobjs[pathid_str]
+ from_pathid = staticmethod(from_pathid)
+
+ def from_target(target):
+ """Convert a target (either a working copy path or an URL) into a
+ path identifier."""
+ # prime the cache first if we don't know about this target yet
+ if not PathIdentifier.locobjs.has_key(target):
+ PathIdentifier.hint(target)
+
+ try:
+ return PathIdentifier.locobjs[target]
+ except KeyError:
+ error("Could not recognize path identifier '%s'" % target)
+ from_target = staticmethod(from_target)
+
+ def hint(target):
+ """Cache some information about target, as it may be referenced by
+ repo-relative path in subversion properties; the cache can help to
+ expand such a relative path to a full path identifier."""
+ if PathIdentifier.locobjs.has_key(target): return
+ if not is_url(target) and not is_wc(target): return
+
+ url = target_to_url(target)
+
+ root = get_repo_root(url)
+ assert root[-1] != "/"
+ assert url[:len(root)] == root, "url=%r, root=%r" % (url, root)
+ repo_relative_path = url[len(root):]
+
+ try:
+ uuid = get_svninfo(target)['Repository UUID']
+ uuid_pathid = 'uuid://%s%s' % (uuid, repo_relative_path)
+ except KeyError:
+ uuid = None
+ uuid_pathid = None
+
+ locobj = PathIdentifier.locobjs.get(url) or \
+ (uuid_pathid and PathIdentifier.locobjs.get(uuid_pathid))
+ if not locobj:
+ locobj = PathIdentifier(repo_relative_path, uuid=uuid, url=url)
+
+ PathIdentifier.repo_hints[uuid] = root # (uuid may be None)
+
+ PathIdentifier.locobjs[target] = locobj
+ PathIdentifier.locobjs[url] = locobj
+ if uuid_pathid:
+ PathIdentifier.locobjs[uuid_pathid] = locobj
+ if not PathIdentifier.locobjs.has_key(repo_relative_path):
+ PathIdentifier.locobjs[repo_relative_path] = locobj
+ hint = staticmethod(hint)
+
+ def format(self, fmt):
+ if fmt == 'path':
+ return self.repo_relative_path
+ elif fmt == 'uuid':
+ return "uuid://%s%s" % (self.uuid, self.repo_relative_path)
+ elif fmt == 'url':
+ return self.url
+ else:
+ error("Unkonwn path type '%s'" % fmt)
+
+ def match_substring(self, str):
+ """Test whether str is a substring of any representation of this
+ PathIdentifier."""
+ if self.repo_relative_path.find(str) >= 0:
+ return True
+
+ if self.uuid:
+ if ("uuid://%s%s" % (self.uuid, self.repo_relative_path)).find(str) >= 0:
+ return True
+
+ if self.url:
+ if (self.url + self.repo_relative_path).find(str) >= 0:
+ return True
+
+ return False
+
+ def get_url(self):
+ """Convert a pathid into a URL. If this is not possible, error out."""
+ if self.url:
+ return self.url
+ # if we have a uuid and happen to know the URL for it, use that
+ elif self.uuid and PathIdentifier.repo_hints.has_key(self.uuid):
+ self.url = PathIdentifier.repo_hints[self.uuid] + self.repo_relative_path
+ PathIdentifier.locobjs[self.url] = self
+ return self.url
+ # if we've only seen one rep, use that (a guess, but an educated one)
+ elif not self.uuid and len(PathIdentifier.repo_hints) == 1:
+ uuid, root = PathIdentifier.repo_hints.items()[0]
+ if uuid:
+ self.uuid = uuid
+ PathIdentifier.locobjs['uuid://%s%s' % (uuid, self.repo_relative_path)] = self
+ self.url = root + self.repo_relative_path
+ PathIdentifier.locobjs[self.url] = self
+ report("Guessing that '%s' refers to '%s'" % (self, self.url))
+ return self.url
+ else:
+ error("Cannot determine URL for '%s'; " % self +
+ "Explicit source argument (-S/--source) required.\n")
+
+class RevisionLog:
+ """
+ A log of the revisions which affected a given URL between two
+ revisions.
+ """
+
+ def __init__(self, url, begin, end, find_propchanges=False):
+ """
+ Create a new RevisionLog object, which stores, in self.revs, a list
+ of the revisions which affected the specified URL between begin and
+ end. If find_propchanges is True, self.propchange_revs will contain a
+ list of the revisions which changed properties directly on the
+ specified URL. URL must be the URL for a directory in the repository.
+ """
+ self.url = url
+
+ # Setup the log options (--quiet, so we don't show log messages)
+ log_opts = '--xml --quiet -r%s:%s "%s"' % (begin, end, url)
+ if find_propchanges:
+ # The --verbose flag lets us grab merge tracking information
+ # by looking at propchanges
+ log_opts = "--verbose " + log_opts
+
+ # Read the log to look for revision numbers and merge-tracking info
+ self.revs = []
+ self.propchange_revs = []
+ repos_pathid = PathIdentifier.from_target(url)
+ for chg in SvnLogParser(launchsvn("log %s" % log_opts,
+ split_lines=False)):
+ self.revs.append(chg.revision())
+ for p in chg.paths():
+ if p.action() == 'M' and p.pathid() == repos_pathid.repo_relative_path:
+ self.propchange_revs.append(chg.revision())
+
+ # Save the range of the log
+ self.begin = int(begin)
+ if end == "HEAD":
+ # If end is not provided, we do not know which is the latest
+ # revision in the repository. So we set 'end' to the latest
+ # known revision.
+ self.end = self.revs[-1]
+ else:
+ self.end = int(end)
+
+ self._merges = None
+ self._blocks = None
+
+ def merge_metadata(self):
+ """
+ Return a VersionedProperty object, with a cached view of the merge
+ metadata in the range of this log.
+ """
+
+ # Load merge metadata if necessary
+ if not self._merges:
+ self._merges = VersionedProperty(self.url, opts["prop"])
+ self._merges.load(self)
+
+ return self._merges
+
+ def block_metadata(self):
+ if not self._blocks:
+ self._blocks = VersionedProperty(self.url, opts["block-prop"])
+ self._blocks.load(self)
+
+ return self._blocks
+
+
+class VersionedProperty:
+ """
+ A read-only, cached view of a versioned property.
+
+ self.revs contains a list of the revisions in which the property changes.
+ self.values stores the new values at each corresponding revision. If the
+ value of the property is unknown, it is set to None.
+
+ Initially, we set self.revs to [0] and self.values to [None]. This
+ indicates that, as of revision zero, we know nothing about the value of
+ the property.
+
+ Later, if you run self.load(log), we cache the value of this property over
+ the entire range of the log by noting each revision in which the property
+ was changed. At the end of the range of the log, we invalidate our cache
+ by adding the value "None" to our cache for any revisions which fall out
+ of the range of our log.
+
+ Once self.revs and self.values are filled, we can find the value of the
+ property at any arbitrary revision using a binary search on self.revs.
+ Once we find the last revision during which the property was changed,
+ we can lookup the associated value in self.values. (If the associated
+ value is None, the associated value was not cached and we have to do
+ a full propget.)
+
+ An example: We know that the 'svnmerge' property was added in r10, and
+ changed in r21. We gathered log info up until r40.
+
+ revs = [0, 10, 21, 40]
+ values = [None, "val1", "val2", None]
+
+ What these values say:
+ - From r0 to r9, we know nothing about the property.
+ - In r10, the property was set to "val1". This property stayed the same
+ until r21, when it was changed to "val2".
+ - We don't know what happened after r40.
+ """
+
+ def __init__(self, url, name):
+ """View the history of a versioned property at URL with name"""
+ self.url = url
+ self.name = name
+
+ # We know nothing about the value of the property. Setup revs
+ # and values to indicate as such.
+ self.revs = [0]
+ self.values = [None]
+
+ # We don't have any revisions cached
+ self._initial_value = None
+ self._changed_revs = []
+ self._changed_values = []
+
+ def load(self, log):
+ """
+ Load the history of property changes from the specified
+ RevisionLog object.
+ """
+
+ # Get the property value before the range of the log
+ if log.begin > 1:
+ self.revs.append(log.begin-1)
+ try:
+ self._initial_value = self.raw_get(log.begin-1)
+ except LaunchError:
+ # The specified URL might not exist before the
+ # range of the log. If so, we can safely assume
+ # that the property was empty at that time.
+ self._initial_value = { }
+ self.values.append(self._initial_value)
+ else:
+ self._initial_value = { }
+ self.values[0] = self._initial_value
+
+ # Cache the property values in the log range
+ old_value = self._initial_value
+ for rev in log.propchange_revs:
+ new_value = self.raw_get(rev)
+ if new_value != old_value:
+ self._changed_revs.append(rev)
+ self._changed_values.append(new_value)
+ self.revs.append(rev)
+ self.values.append(new_value)
+ old_value = new_value
+
+ # Indicate that we know nothing about the value of the property
+ # after the range of the log.
+ if log.revs:
+ self.revs.append(log.end+1)
+ self.values.append(None)
+
+ def raw_get(self, rev=None):
+ """
+ Get the property at revision REV. If rev is not specified, get
+ the property at revision HEAD.
+ """
+ return get_revlist_prop(self.url, self.name, rev)
+
+ def get(self, rev=None):
+ """
+ Get the property at revision REV. If rev is not specified, get
+ the property at revision HEAD.
+ """
+
+ if rev is not None:
+
+ # Find the index using a binary search
+ i = bisect(self.revs, rev) - 1
+
+ # Return the value of the property, if it was cached
+ if self.values[i] is not None:
+ return self.values[i]
+
+ # Get the current value of the property
+ return self.raw_get(rev)
+
+ def changed_revs(self, key=None):
+ """
+ Get a list of the revisions in which the specified dictionary
+ key was changed in this property. If key is not specified,
+ return a list of revisions in which any key was changed.
+ """
+ if key is None:
+ return self._changed_revs
+ else:
+ changed_revs = []
+ old_val = self._initial_value
+ for rev, val in zip(self._changed_revs, self._changed_values):
+ if val.get(key) != old_val.get(key):
+ changed_revs.append(rev)
+ old_val = val
+ return changed_revs
+
+ def initialized_revs(self):
+ """
+ Get a list of the revisions in which keys were added or
+ removed in this property.
+ """
+ initialized_revs = []
+ old_len = len(self._initial_value)
+ for rev, val in zip(self._changed_revs, self._changed_values):
+ if len(val) != old_len:
+ initialized_revs.append(rev)
+ old_len = len(val)
+ return initialized_revs
+
+class RevisionSet:
+ """
+ A set of revisions, held in dictionary form for easy manipulation. If we
+ were to rewrite this script for Python 2.3+, we would subclass this from
+ set (or UserSet). As this class does not include branch
+ information, it's assumed that one instance will be used per
+ branch.
+ """
+ def __init__(self, parm):
+ """Constructs a RevisionSet from a string in property form, or from
+ a dictionary whose keys are the revisions. Raises ValueError if the
+ input string is invalid."""
+
+ self._revs = {}
+
+ revision_range_split_re = re.compile('[-:]')
+
+ if isinstance(parm, types.DictType):
+ self._revs = parm.copy()
+ elif isinstance(parm, types.ListType):
+ for R in parm:
+ self._revs[int(R)] = 1
+ else:
+ parm = parm.strip()
+ if parm:
+ for R in parm.split(","):
+ rev_or_revs = re.split(revision_range_split_re, R)
+ if len(rev_or_revs) == 1:
+ self._revs[int(rev_or_revs[0])] = 1
+ elif len(rev_or_revs) == 2:
+ for rev in range(int(rev_or_revs[0]),
+ int(rev_or_revs[1])+1):
+ self._revs[rev] = 1
+ else:
+ raise ValueError, 'Ill formatted revision range: ' + R
+
+ def sorted(self):
+ revnums = self._revs.keys()
+ revnums.sort()
+ return revnums
+
+ def normalized(self):
+ """Returns a normalized version of the revision set, which is an
+ ordered list of couples (start,end), with the minimum number of
+ intervals."""
+ revnums = self.sorted()
+ revnums.reverse()
+ ret = []
+ while revnums:
+ s = e = revnums.pop()
+ while revnums and revnums[-1] in (e, e+1):
+ e = revnums.pop()
+ ret.append((s, e))
+ return ret
+
+ def __str__(self):
+ """Convert the revision set to a string, using its normalized form."""
+ L = []
+ for s,e in self.normalized():
+ if s == e:
+ L.append(str(s))
+ else:
+ L.append(str(s) + "-" + str(e))
+ return ",".join(L)
+
+ def __contains__(self, rev):
+ return self._revs.has_key(rev)
+
+ def __sub__(self, rs):
+ """Compute subtraction as in sets."""
+ revs = {}
+ for r in self._revs.keys():
+ if r not in rs:
+ revs[r] = 1
+ return RevisionSet(revs)
+
+ def __and__(self, rs):
+ """Compute intersections as in sets."""
+ revs = {}
+ for r in self._revs.keys():
+ if r in rs:
+ revs[r] = 1
+ return RevisionSet(revs)
+
+ def __nonzero__(self):
+ return len(self._revs) != 0
+
+ def __len__(self):
+ """Return the number of revisions in the set."""
+ return len(self._revs)
+
+ def __iter__(self):
+ return iter(self.sorted())
+
+ def __or__(self, rs):
+ """Compute set union."""
+ revs = self._revs.copy()
+ revs.update(rs._revs)
+ return RevisionSet(revs)
+
+def merge_props_to_revision_set(merge_props, pathid):
+ """A converter which returns a RevisionSet instance containing the
+ revisions from PATH as known to BRANCH_PROPS. BRANCH_PROPS is a
+ dictionary of pathid -> revision set branch integration information
+ (as returned by get_merge_props())."""
+ if not merge_props.has_key(pathid):
+ error('no integration info available for path "%s"' % pathid)
+ return RevisionSet(merge_props[pathid])
+
+def dict_from_revlist_prop(propvalue):
+ """Given a property value as a string containing per-source revision
+ lists, return a dictionary whose key is a source path identifier
+ and whose value is the revisions for that source."""
+ prop = {}
+
+ # Multiple sources are separated by any whitespace.
+ for L in propvalue.split():
+ # We use rsplit to play safe and allow colons in pathids.
+ pathid_str, revs = rsplit(L.strip(), ":", 1)
+
+ pathid = PathIdentifier.from_pathid(pathid_str)
+
+ # cache the "external" form we saw
+ pathid.external_form = pathid_str
+
+ prop[pathid] = revs
+ return prop
+
+def get_revlist_prop(url_or_dir, propname, rev=None):
+ """Given a repository URL or working copy path and a property
+ name, extract the values of the property which store per-source
+ revision lists and return a dictionary whose key is a source path
+ identifier, and whose value is the revisions for that source."""
+
+ # Note that propget does not return an error if the property does
+ # not exist, it simply does not output anything. So we do not need
+ # to check for LaunchError here.
+ args = '--strict "%s" "%s"' % (propname, url_or_dir)
+ if rev:
+ args = '-r %s %s' % (rev, args)
+ out = launchsvn('propget %s' % args, split_lines=False)
+
+ return dict_from_revlist_prop(out)
+
+def get_merge_props(dir):
+ """Extract the merged revisions."""
+ return get_revlist_prop(dir, opts["prop"])
+
+def get_block_props(dir):
+ """Extract the blocked revisions."""
+ return get_revlist_prop(dir, opts["block-prop"])
+
+def get_blocked_revs(dir, source_pathid):
+ p = get_block_props(dir)
+ if p.has_key(source_pathid):
+ return RevisionSet(p[source_pathid])
+ return RevisionSet("")
+
+def format_merge_props(props, sep=" "):
+ """Formats the hash PROPS as a string suitable for use as a
+ Subversion property value."""
+ assert sep in ["\t", "\n", " "] # must be a whitespace
+ props = props.items()
+ props.sort()
+ L = []
+ for h, r in props:
+ L.append("%s:%s" % (h, r))
+ return sep.join(L)
+
+def _run_propset(dir, prop, value):
+ """Set the property 'prop' of directory 'dir' to value 'value'. We go
+ through a temporary file to not run into command line length limits."""
+ try:
+ fd, fname = tempfile.mkstemp()
+ f = os.fdopen(fd, "wb")
+ except AttributeError:
+ # Fallback for Python <= 2.3 which does not have mkstemp (mktemp
+ # suffers from race conditions. Not that we care...)
+ fname = tempfile.mktemp()
+ f = open(fname, "wb")
+
+ try:
+ f.write(value)
+ f.close()
+ report("property data written to temp file: %s" % value)
+ svn_command('propset "%s" -F "%s" "%s"' % (prop, fname, dir))
+ finally:
+ os.remove(fname)
+
+def set_props(dir, name, props):
+ props = format_merge_props(props)
+ if props:
+ _run_propset(dir, name, props)
+ else:
+ # Check if NAME exists on DIR before trying to delete it.
+ # As of 1.6 propdel no longer supports deleting a
+ # non-existent property.
+ out = launchsvn('propget "%s" "%s"' % (name, dir))
+ if out:
+ svn_command('propdel "%s" "%s"' % (name, dir))
+
+def set_merge_props(dir, props):
+ set_props(dir, opts["prop"], props)
+
+def set_block_props(dir, props):
+ set_props(dir, opts["block-prop"], props)
+
+def set_blocked_revs(dir, source_pathid, revs):
+ props = get_block_props(dir)
+ if revs:
+ props[source_pathid] = str(revs)
+ elif props.has_key(source_pathid):
+ del props[source_pathid]
+ set_block_props(dir, props)
+
+def is_url(url):
+ """Check if url looks like a valid url."""
+ return re.search(r"^[a-zA-Z][-+\.\w]*://[^\s]+$", url) is not None and url[:4] != 'uuid'
+
+def check_url(url):
+ """Similar to is_url, but actually invoke get_svninfo to find out"""
+ return get_svninfo(url) != {}
+
+def is_pathid(pathid):
+ return isinstance(pathid, PathIdentifier)
+
+def is_wc(dir):
+ """Check if a directory is a working copy."""
+ return os.path.isdir(os.path.join(dir, ".svn")) or \
+ os.path.isdir(os.path.join(dir, "_svn"))
+
+_cache_svninfo = {}
+def get_svninfo(target):
+ """Extract the subversion information for a target (through 'svn info').
+ This function uses an internal cache to let clients query information
+ many times."""
+ if _cache_svninfo.has_key(target):
+ return _cache_svninfo[target]
+ info = {}
+ for L in launchsvn('info "%s"' % target):
+ L = L.strip()
+ if not L:
+ continue
+ key, value = L.split(": ", 1)
+ info[key] = value.strip()
+ _cache_svninfo[target] = info
+ return info
+
+def target_to_url(target):
+ """Convert working copy path or repos URL to a repos URL."""
+ if is_wc(target):
+ info = get_svninfo(target)
+ return info["URL"]
+ return target
+
+_cache_reporoot = {}
+def get_repo_root(target):
+ """Compute the root repos URL given a working-copy path, or a URL."""
+ # Try using "svn info WCDIR". This works only on SVN clients >= 1.3
+ if not is_url(target):
+ try:
+ info = get_svninfo(target)
+ root = info["Repository Root"]
+ _cache_reporoot[root] = None
+ return root
+ except KeyError:
+ pass
+ url = target_to_url(target)
+ assert url[-1] != '/'
+ else:
+ url = target
+
+ # Go through the cache of the repository roots. This avoids extra
+ # server round-trips if we are asking the root of different URLs
+ # in the same repository (the cache in get_svninfo() cannot detect
+ # that of course and would issue a remote command).
+ assert is_url(url)
+ for r in _cache_reporoot:
+ if url.startswith(r):
+ return r
+
+ # Try using "svn info URL". This works only on SVN clients >= 1.2
+ try:
+ info = get_svninfo(url)
+ # info may be {}, in which case we'll see KeyError here
+ root = info["Repository Root"]
+ _cache_reporoot[root] = None
+ return root
+ except (KeyError, LaunchError):
+ pass
+
+ # Constrained to older svn clients, we are stuck with this ugly
+ # trial-and-error implementation. It could be made faster with a
+ # binary search.
+ while url:
+ temp = os.path.dirname(url)
+ try:
+ launchsvn('proplist "%s"' % temp)
+ except LaunchError:
+ _cache_reporoot[url] = None
+ return rstrip(url, "/")
+ url = temp
+
+ error("svn repos root of %s not found" % target)
+
+class SvnLogParser:
+ """
+ Parse the "svn log", going through the XML output and using pulldom (which
+ would even allow streaming the command output).
+ """
+ def __init__(self, xml):
+ self._events = pulldom.parseString(xml)
+ def __getitem__(self, idx):
+ for event, node in self._events:
+ if event == pulldom.START_ELEMENT and node.tagName == "logentry":
+ self._events.expandNode(node)
+ return self.SvnLogRevision(node)
+ raise IndexError, "Could not find 'logentry' tag in xml"
+
+ class SvnLogRevision:
+ def __init__(self, xmlnode):
+ self.n = xmlnode
+ def revision(self):
+ return int(self.n.getAttribute("revision"))
+ def author(self):
+ return self.n.getElementsByTagName("author")[0].firstChild.data
+ def paths(self):
+ return [self.SvnLogPath(n)
+ for n in self.n.getElementsByTagName("path")]
+
+ class SvnLogPath:
+ def __init__(self, xmlnode):
+ self.n = xmlnode
+ def action(self):
+ return self.n.getAttribute("action")
+ def pathid(self):
+ return self.n.firstChild.data
+ def copyfrom_rev(self):
+ try: return self.n.getAttribute("copyfrom-rev")
+ except KeyError: return None
+ def copyfrom_pathid(self):
+ try: return self.n.getAttribute("copyfrom-path")
+ except KeyError: return None
+
+def get_copyfrom(target):
+ """Get copyfrom info for a given target (it represents the
+ repository-relative path from where it was branched). NOTE:
+ repos root has no copyfrom info. In this case None is returned.
+
+ Returns the:
+ - source file or directory from which the copy was made
+ - revision from which that source was copied
+ - revision in which the copy was committed
+ """
+ repos_path = PathIdentifier.from_target(target).repo_relative_path
+ for chg in SvnLogParser(launchsvn('log -v --xml --stop-on-copy "%s"'
+ % target, split_lines=False)):
+ for p in chg.paths():
+ if p.action() == 'A' and p.pathid() == repos_path:
+ # These values will be None if the corresponding elements are
+ # not found in the log.
+ return p.copyfrom_pathid(), p.copyfrom_rev(), chg.revision()
+ return None,None,None
+
+def get_latest_rev(url):
+ """Get the latest revision of the repository of which URL is part."""
+ try:
+ info = get_svninfo(url)
+ if not info.has_key("Revision"):
+ error("Not a valid URL: %s" % url)
+ return info["Revision"]
+ except LaunchError:
+ # Alternative method for latest revision checking (for svn < 1.2)
+ report('checking latest revision of "%s"' % url)
+ L = launchsvn('proplist --revprop -r HEAD "%s"' % opts["source-url"])[0]
+ rev = re.search("revision (\d+)", L).group(1)
+ report('latest revision of "%s" is %s' % (url, rev))
+ return rev
+
+def get_created_rev(url):
+ """Lookup the revision at which the path identified by the
+ provided URL was first created."""
+ oldest_rev = -1
+ report('determining oldest revision for URL "%s"' % url)
+ ### TODO: Refactor this to use a modified RevisionLog class.
+ lines = None
+ cmd = "log -r1:HEAD --stop-on-copy -q " + url
+ try:
+ lines = launchsvn(cmd + " --limit=1")
+ except LaunchError:
+ # Assume that --limit isn't supported by the installed 'svn'.
+ lines = launchsvn(cmd)
+ if lines and len(lines) > 1:
+ i = lines[1].find(" ")
+ if i != -1:
+ oldest_rev = int(lines[1][1:i])
+ if oldest_rev == -1:
+ error('unable to determine oldest revision for URL "%s"' % url)
+ return oldest_rev
+
+def get_commit_log(url, revnum):
+ """Return the log message for a specific integer revision
+ number."""
+ out = launchsvn("log --incremental -r%d %s" % (revnum, url))
+ return recode_stdout_to_file("".join(out[1:]))
+
+def construct_merged_log_message(url, revnums):
+ """Return a commit log message containing all the commit messages
+ in the specified revisions at the given URL. The separator used
+ in this log message is determined by searching for the longest
+ svnmerge separator existing in the commit log messages and
+ extending it by one more separator. This results in a new commit
+ log message that is clearer in describing merges that contain
+ other merges. Trailing newlines are removed from the embedded
+ log messages."""
+ messages = ['']
+ longest_sep = ''
+ for r in revnums.sorted():
+ message = get_commit_log(url, r)
+ if message:
+ message = re.sub(r'(\r\n|\r|\n)', "\n", message)
+ message = rstrip(message, "\n") + "\n"
+ messages.append(prefix_lines(LOG_LINE_PREFIX, message))
+ for match in LOG_SEPARATOR_RE.findall(message):
+ sep = match[1]
+ if len(sep) > len(longest_sep):
+ longest_sep = sep
+
+ longest_sep += LOG_SEPARATOR + "\n"
+ messages.append('')
+ return longest_sep.join(messages)
+
+def get_default_source(branch_target, branch_props):
+ """Return the default source for branch_target (given its branch_props).
+ Error out if there is ambiguity."""
+ if not branch_props:
+ error("no integration info available")
+
+ props = branch_props.copy()
+ pathid = PathIdentifier.from_target(branch_target)
+
+ # To make bidirectional merges easier, find the target's
+ # repository local path so it can be removed from the list of
+ # possible integration sources.
+ if props.has_key(pathid):
+ del props[pathid]
+
+ if len(props) > 1:
+ err_msg = "multiple sources found. "
+ err_msg += "Explicit source argument (-S/--source) required.\n"
+ err_msg += "The merge sources available are:"
+ for prop in props:
+ err_msg += "\n " + str(prop)
+ error(err_msg)
+
+ return props.keys()[0]
+
+def should_find_reflected(branch_dir):
+ should_find_reflected = opts["bidirectional"]
+
+ # If the source has integration info for the target, set find_reflected
+ # even if --bidirectional wasn't specified
+ if not should_find_reflected:
+ source_props = get_merge_props(opts["source-url"])
+ should_find_reflected = source_props.has_key(PathIdentifier.from_target(branch_dir))
+
+ return should_find_reflected
+
+def analyze_revs(target_pathid, url, begin=1, end=None,
+ find_reflected=False):
+ """For the source of the merges in the source URL being merged into
+ target_pathid, analyze the revisions in the interval begin-end (which
+ defaults to 1-HEAD), to find out which revisions are changes in
+ the url, which are changes elsewhere (so-called 'phantom'
+ revisions), optionally which are reflected changes (to avoid
+ conflicts that can occur when doing bidirectional merging between
+ branches), and which revisions initialize merge tracking against other
+ branches. Return a tuple of four RevisionSet's:
+ (real_revs, phantom_revs, reflected_revs, initialized_revs).
+
+ NOTE: To maximize speed, if "end" is not provided, the function is
+ not able to find phantom revisions following the last real
+ revision in the URL.
+ """
+
+ begin = str(begin)
+ if end is None:
+ end = "HEAD"
+ else:
+ end = str(end)
+ if long(begin) > long(end):
+ return RevisionSet(""), RevisionSet(""), \
+ RevisionSet(""), RevisionSet("")
+
+ logs[url] = RevisionLog(url, begin, end, find_reflected)
+ revs = RevisionSet(logs[url].revs)
+
+ if end == "HEAD":
+ # If end is not provided, we do not know which is the latest revision
+ # in the repository. So return the phantom revision set only up to
+ # the latest known revision.
+ end = str(list(revs)[-1])
+
+ phantom_revs = RevisionSet("%s-%s" % (begin, end)) - revs
+
+ if find_reflected:
+ reflected_revs = logs[url].merge_metadata().changed_revs(target_pathid)
+ reflected_revs += logs[url].block_metadata().changed_revs(target_pathid)
+ else:
+ reflected_revs = []
+
+ initialized_revs = RevisionSet(logs[url].merge_metadata().initialized_revs())
+ reflected_revs = RevisionSet(reflected_revs)
+
+ return revs, phantom_revs, reflected_revs, initialized_revs
+
+def analyze_source_revs(branch_target, source_url, **kwargs):
+ """For the given branch and source, extract the real and phantom
+ source revisions."""
+ branch_url = target_to_url(branch_target)
+ branch_pathid = PathIdentifier.from_target(branch_target)
+
+ # Extract the latest repository revision from the URL of the branch
+ # directory (which is already cached at this point).
+ end_rev = get_latest_rev(source_url)
+
+ # Calculate the base of analysis. If there is a "1-XX" interval in the
+ # merged_revs, we do not need to check those.
+ base = 1
+ r = opts["merged-revs"].normalized()
+ if r and r[0][0] == 1:
+ base = r[0][1] + 1
+
+ # See if the user filtered the revision set. If so, we are not
+ # interested in something outside that range.
+ if opts["revision"]:
+ revs = RevisionSet(opts["revision"]).sorted()
+ if base < revs[0]:
+ base = revs[0]
+ if end_rev > revs[-1]:
+ end_rev = revs[-1]
+
+ return analyze_revs(branch_pathid, source_url, base, end_rev, **kwargs)
+
+def minimal_merge_intervals(revs, phantom_revs):
+ """Produce the smallest number of intervals suitable for merging. revs
+ is the RevisionSet which we want to merge, and phantom_revs are phantom
+ revisions which can be used to concatenate intervals, thus minimizing the
+ number of operations."""
+ revnums = revs.normalized()
+ ret = []
+
+ cur = revnums.pop()
+ while revnums:
+ next = revnums.pop()
+ assert next[1] < cur[0] # otherwise it is not ordered
+ assert cur[0] - next[1] > 1 # otherwise it is not normalized
+ for i in range(next[1]+1, cur[0]):
+ if i not in phantom_revs:
+ ret.append(cur)
+ cur = next
+ break
+ else:
+ cur = (next[0], cur[1])
+
+ ret.append(cur)
+ ret.reverse()
+ return ret
+
+def display_revisions(revs, display_style, revisions_msg, source_url):
+ """Show REVS as dictated by DISPLAY_STYLE, either numerically, in
+ log format, or as diffs. When displaying revisions numerically,
+ prefix output with REVISIONS_MSG when in verbose mode. Otherwise,
+ request logs or diffs using SOURCE_URL."""
+ if display_style == "revisions":
+ if revs:
+ report(revisions_msg)
+ print revs
+ elif display_style == "logs":
+ for start,end in revs.normalized():
+ svn_command('log --incremental -v -r %d:%d %s' % \
+ (start, end, source_url))
+ elif display_style in ("diffs", "summarize"):
+ if display_style == 'summarize':
+ summarize = '--summarize '
+ else:
+ summarize = ''
+
+ for start, end in revs.normalized():
+ print
+ if start == end:
+ print "%s: changes in revision %d follow" % (NAME, start)
+ else:
+ print "%s: changes in revisions %d-%d follow" % (NAME,
+ start, end)
+ print
+
+ # Note: the starting revision number to 'svn diff' is
+ # NOT inclusive so we have to subtract one from ${START}.
+ svn_command("diff -r %d:%d %s %s" % (start - 1, end, summarize,
+ source_url))
+ else:
+ assert False, "unhandled display style: %s" % display_style
+
+def action_init(target_dir, target_props):
+ """Initialize for merges."""
+ # Check that directory is ready for being modified
+ check_dir_clean(target_dir)
+
+ target_pathid = PathIdentifier.from_target(target_dir)
+ source_pathid = opts['source-pathid']
+ if source_pathid == target_pathid:
+ error("cannot init integration source path '%s'\nIts path identifier does not "
+ "differ from the path identifier of the current directory, '%s'."
+ % (source_pathid, target_pathid))
+
+ source_url = opts['source-url']
+
+ # If the user hasn't specified the revisions to use, see if the
+ # "source" is a copy from the current tree and if so, we can use
+ # the version data obtained from it.
+ revision_range = opts["revision"]
+ if not revision_range:
+ # If source was originally copied from target, and we are merging
+ # changes from source to target (the copy target is the merge source,
+ # and the copy source is the merge target), then we want to mark as
+ # integrated up to the rev in which the copy was committed which
+ # created the merge source:
+ cf_source, cf_rev, copy_committed_in_rev = get_copyfrom(source_url)
+
+ cf_pathid = None
+ if cf_source:
+ cf_url = get_repo_root(source_url) + cf_source
+ if is_url(cf_url) and check_url(cf_url):
+ cf_pathid = PathIdentifier.from_target(cf_url)
+
+ if target_pathid == cf_pathid:
+ report('the source "%s" was copied from "%s" in rev %s and committed in rev %s' %
+ (source_url, target_dir, cf_rev, copy_committed_in_rev))
+ revision_range = "1-" + str(copy_committed_in_rev)
+
+ if not revision_range:
+ # If the reverse is true: copy source is the merge source, and
+ # the copy target is the merge target, then we want to mark as
+ # integrated up to the specific rev of the merge target from
+ # which the merge source was copied. (Longer discussion at:
+ # http://subversion.tigris.org/issues/show_bug.cgi?id=2810 )
+ cf_source, cf_rev, copy_committed_in_rev = get_copyfrom(target_dir)
+
+ cf_pathid = None
+ if cf_source:
+ cf_url = get_repo_root(target_dir) + cf_source
+ if is_url(cf_url) and check_url(cf_url):
+ cf_pathid = PathIdentifier.from_target(cf_url)
+
+ source_pathid = PathIdentifier.from_target(source_url)
+ if source_pathid == cf_pathid:
+ report('the target "%s" was copied the source "%s" in rev %s and committed in rev %s' %
+ (target_dir, source_url, cf_rev, copy_committed_in_rev))
+ revision_range = "1-" + cf_rev
+
+ # When neither the merge source nor target is a copy of the other, and
+ # the user did not specify a revision range, then choose a default which is
+ # the current revision; saying, in effect, "everything has been merged, so
+ # mark as integrated up to the latest rev on source url).
+ if not revision_range:
+ revision_range = "1-" + get_latest_rev(source_url)
+
+ revs = RevisionSet(revision_range)
+
+ report('marking "%s" as already containing revisions "%s" of "%s"' %
+ (target_dir, revs, source_url))
+
+ revs = str(revs)
+ # If the local svnmerge-integrated property already has an entry
+ # for the source-pathid, simply error out.
+ if not opts["force"] and target_props.has_key(source_pathid):
+ error('Repository-relative path %s has already been initialized at %s\n'
+ 'Use --force to re-initialize' % (source_pathid, target_dir))
+ # set the pathid's external_form based on the user's options
+ source_pathid.external_form = source_pathid.format(opts['location-type'])
+
+ revs = str(revs)
+ target_props[source_pathid] = revs
+
+ # Set property
+ set_merge_props(target_dir, target_props)
+
+ # Write out commit message if desired
+ if opts["commit-file"]:
+ f = open(opts["commit-file"], "w")
+ print >>f, 'Initialized merge tracking via "%s" with revisions "%s" from ' \
+ % (NAME, revs)
+ print >>f, '%s' % source_url
+ f.close()
+ report('wrote commit message to "%s"' % opts["commit-file"])
+
+def action_avail(branch_dir, branch_props):
+ """Show commits available for merges."""
+ source_revs, phantom_revs, reflected_revs, initialized_revs = \
+ analyze_source_revs(branch_dir, opts["source-url"],
+ find_reflected=
+ should_find_reflected(branch_dir))
+ report('skipping phantom revisions: %s' % phantom_revs)
+ if reflected_revs:
+ report('skipping reflected revisions: %s' % reflected_revs)
+ report('skipping initialized revisions: %s' % initialized_revs)
+
+ blocked_revs = get_blocked_revs(branch_dir, opts["source-pathid"])
+ avail_revs = source_revs - opts["merged-revs"] - blocked_revs - \
+ reflected_revs - initialized_revs
+
+ # Compose the set of revisions to show
+ revs = RevisionSet("")
+ report_msg = "revisions available to be merged are:"
+ if "avail" in opts["avail-showwhat"]:
+ revs |= avail_revs
+ if "blocked" in opts["avail-showwhat"]:
+ revs |= blocked_revs
+ report_msg = "revisions blocked are:"
+
+ # Limit to revisions specified by -r (if any)
+ if opts["revision"]:
+ revs = revs & RevisionSet(opts["revision"])
+
+ display_revisions(revs, opts["avail-display"],
+ report_msg,
+ opts["source-url"])
+
+def action_integrated(branch_dir, branch_props):
+ """Show change sets already merged. This set of revisions is
+ calculated from taking svnmerge-integrated property from the
+ branch, and subtracting any revision older than the branch
+ creation revision."""
+ # Extract the integration info for the branch_dir
+ branch_props = get_merge_props(branch_dir)
+ revs = merge_props_to_revision_set(branch_props, opts["source-pathid"])
+
+ # Lookup the oldest revision on the branch path.
+ oldest_src_rev = get_created_rev(opts["source-url"])
+
+ # Subtract any revisions which pre-date the branch.
+ report("subtracting revisions which pre-date the source URL (%d)" %
+ oldest_src_rev)
+ revs = revs - RevisionSet(range(1, oldest_src_rev))
+
+ # Limit to revisions specified by -r (if any)
+ if opts["revision"]:
+ revs = revs & RevisionSet(opts["revision"])
+
+ display_revisions(revs, opts["integrated-display"],
+ "revisions already integrated are:", opts["source-url"])
+
+def action_merge(branch_dir, branch_props):
+ """Record merge meta data, and do the actual merge (if not
+ requested otherwise via --record-only)."""
+ # Check branch directory is ready for being modified
+ check_dir_clean(branch_dir)
+
+ source_revs, phantom_revs, reflected_revs, initialized_revs = \
+ analyze_source_revs(branch_dir, opts["source-url"],
+ find_reflected=
+ should_find_reflected(branch_dir))
+
+ if opts["revision"]:
+ revs = RevisionSet(opts["revision"])
+ else:
+ revs = source_revs
+
+ blocked_revs = get_blocked_revs(branch_dir, opts["source-pathid"])
+ merged_revs = opts["merged-revs"]
+
+ # Show what we're doing
+ if opts["verbose"]: # just to avoid useless calculations
+ if merged_revs & revs:
+ report('"%s" already contains revisions %s' % (branch_dir,
+ merged_revs & revs))
+ if phantom_revs:
+ report('memorizing phantom revision(s): %s' % phantom_revs)
+ if reflected_revs:
+ report('memorizing reflected revision(s): %s' % reflected_revs)
+ if blocked_revs & revs:
+ report('skipping blocked revisions(s): %s' % (blocked_revs & revs))
+ if initialized_revs:
+ report('skipping initialized revision(s): %s' % initialized_revs)
+
+ # Compute final merge set.
+ revs = revs - merged_revs - blocked_revs - reflected_revs - \
+ phantom_revs - initialized_revs
+ if not revs:
+ report('no revisions to merge, exiting')
+ return
+
+ # When manually marking revisions as merged, we only update the
+ # integration meta data, and don't perform an actual merge.
+ record_only = opts["record-only"]
+
+ if record_only:
+ report('recording merge of revision(s) %s from "%s"' %
+ (revs, opts["source-url"]))
+ else:
+ report('merging in revision(s) %s from "%s"' %
+ (revs, opts["source-url"]))
+
+ # Do the merge(s). Note: the starting revision number to 'svn merge'
+ # is NOT inclusive so we have to subtract one from start.
+ # We try to keep the number of merge operations as low as possible,
+ # because it is faster and reduces the number of conflicts.
+ old_block_props = get_block_props(branch_dir)
+ merge_metadata = logs[opts["source-url"]].merge_metadata()
+ block_metadata = logs[opts["source-url"]].block_metadata()
+ for start,end in minimal_merge_intervals(revs, phantom_revs):
+ if not record_only:
+ # Preset merge/blocked properties to the source value at
+ # the start rev to avoid spurious property conflicts
+ set_merge_props(branch_dir, merge_metadata.get(start - 1))
+ set_block_props(branch_dir, block_metadata.get(start - 1))
+ # Do the merge
+ svn_command("merge --force -r %d:%d %s %s" % \
+ (start - 1, end, opts["source-url"], branch_dir))
+ # TODO: to support graph merging, add logic to merge the property
+ # meta-data manually
+
+ # Update the set of merged revisions.
+ merged_revs = merged_revs | revs | reflected_revs | phantom_revs | initialized_revs
+ branch_props[opts["source-pathid"]] = str(merged_revs)
+ set_merge_props(branch_dir, branch_props)
+ # Reset the blocked revs
+ set_block_props(branch_dir, old_block_props)
+
+ # Write out commit message if desired
+ if opts["commit-file"]:
+ f = open(opts["commit-file"], "w")
+ if record_only:
+ print >>f, 'Recorded merge of revisions %s via %s from ' % \
+ (revs, NAME)
+ else:
+ print >>f, 'Merged revisions %s via %s from ' % \
+ (revs, NAME)
+ print >>f, '%s' % opts["source-url"]
+ if opts["commit-verbose"]:
+ print >>f
+ print >>f, construct_merged_log_message(opts["source-url"], revs),
+
+ f.close()
+ report('wrote commit message to "%s"' % opts["commit-file"])
+
+def action_block(branch_dir, branch_props):
+ """Block revisions."""
+ # Check branch directory is ready for being modified
+ check_dir_clean(branch_dir)
+
+ source_revs, phantom_revs, reflected_revs, initialized_revs = \
+ analyze_source_revs(branch_dir, opts["source-url"])
+ revs_to_block = source_revs - opts["merged-revs"]
+
+ # Limit to revisions specified by -r (if any)
+ if opts["revision"]:
+ revs_to_block = RevisionSet(opts["revision"]) & revs_to_block
+
+ if not revs_to_block:
+ error('no available revisions to block')
+
+ # Change blocked information
+ blocked_revs = get_blocked_revs(branch_dir, opts["source-pathid"])
+ blocked_revs = blocked_revs | revs_to_block
+ set_blocked_revs(branch_dir, opts["source-pathid"], blocked_revs)
+
+ # Write out commit message if desired
+ if opts["commit-file"]:
+ f = open(opts["commit-file"], "w")
+ print >>f, 'Blocked revisions %s via %s' % (revs_to_block, NAME)
+ if opts["commit-verbose"]:
+ print >>f
+ print >>f, construct_merged_log_message(opts["source-url"],
+ revs_to_block),
+
+ f.close()
+ report('wrote commit message to "%s"' % opts["commit-file"])
+
+def action_unblock(branch_dir, branch_props):
+ """Unblock revisions."""
+ # Check branch directory is ready for being modified
+ check_dir_clean(branch_dir)
+
+ blocked_revs = get_blocked_revs(branch_dir, opts["source-pathid"])
+ revs_to_unblock = blocked_revs
+
+ # Limit to revisions specified by -r (if any)
+ if opts["revision"]:
+ revs_to_unblock = revs_to_unblock & RevisionSet(opts["revision"])
+
+ if not revs_to_unblock:
+ error('no available revisions to unblock')
+
+ # Change blocked information
+ blocked_revs = blocked_revs - revs_to_unblock
+ set_blocked_revs(branch_dir, opts["source-pathid"], blocked_revs)
+
+ # Write out commit message if desired
+ if opts["commit-file"]:
+ f = open(opts["commit-file"], "w")
+ print >>f, 'Unblocked revisions %s via %s' % (revs_to_unblock, NAME)
+ if opts["commit-verbose"]:
+ print >>f
+ print >>f, construct_merged_log_message(opts["source-url"],
+ revs_to_unblock),
+ f.close()
+ report('wrote commit message to "%s"' % opts["commit-file"])
+
+def action_rollback(branch_dir, branch_props):
+ """Rollback previously integrated revisions."""
+
+ # Make sure the revision arguments are present
+ if not opts["revision"]:
+ error("The '-r' option is mandatory for rollback")
+
+ # Check branch directory is ready for being modified
+ check_dir_clean(branch_dir)
+
+ # Extract the integration info for the branch_dir
+ branch_props = get_merge_props(branch_dir)
+ # Get the list of all revisions already merged into this source-pathid.
+ merged_revs = merge_props_to_revision_set(branch_props,
+ opts["source-pathid"])
+
+ # At which revision was the src created?
+ oldest_src_rev = get_created_rev(opts["source-url"])
+ src_pre_exist_range = RevisionSet("1-%d" % oldest_src_rev)
+
+ # Limit to revisions specified by -r (if any)
+ revs = merged_revs & RevisionSet(opts["revision"])
+
+ # make sure there's some revision to rollback
+ if not revs:
+ report("Nothing to rollback in revision range r%s" % opts["revision"])
+ return
+
+ # If even one specified revision lies outside the lifetime of the
+ # merge source, error out.
+ if revs & src_pre_exist_range:
+ err_str = "Specified revision range falls out of the rollback range.\n"
+ err_str += "%s was created at r%d" % (opts["source-pathid"],
+ oldest_src_rev)
+ error(err_str)
+
+ record_only = opts["record-only"]
+
+ if record_only:
+ report('recording rollback of revision(s) %s from "%s"' %
+ (revs, opts["source-url"]))
+ else:
+ report('rollback of revision(s) %s from "%s"' %
+ (revs, opts["source-url"]))
+
+ # Do the reverse merge(s). Note: the starting revision number
+ # to 'svn merge' is NOT inclusive so we have to subtract one from start.
+ # We try to keep the number of merge operations as low as possible,
+ # because it is faster and reduces the number of conflicts.
+ rollback_intervals = minimal_merge_intervals(revs, [])
+ # rollback in the reverse order of merge
+ rollback_intervals.reverse()
+ for start, end in rollback_intervals:
+ if not record_only:
+ # Do the merge
+ svn_command("merge --force -r %d:%d %s %s" % \
+ (end, start - 1, opts["source-url"], branch_dir))
+
+ # Write out commit message if desired
+ # calculate the phantom revs first
+ if opts["commit-file"]:
+ f = open(opts["commit-file"], "w")
+ if record_only:
+ print >>f, 'Recorded rollback of revisions %s via %s from ' % \
+ (revs , NAME)
+ else:
+ print >>f, 'Rolled back revisions %s via %s from ' % \
+ (revs , NAME)
+ print >>f, '%s' % opts["source-url"]
+
+ f.close()
+ report('wrote commit message to "%s"' % opts["commit-file"])
+
+ # Update the set of merged revisions.
+ merged_revs = merged_revs - revs
+ branch_props[opts["source-pathid"]] = str(merged_revs)
+ set_merge_props(branch_dir, branch_props)
+
+def action_uninit(branch_dir, branch_props):
+ """Uninit SOURCE URL."""
+ # Check branch directory is ready for being modified
+ check_dir_clean(branch_dir)
+
+ # If the source-pathid does not have an entry in the svnmerge-integrated
+ # property, simply error out.
+ if not branch_props.has_key(opts["source-pathid"]):
+ error('Repository-relative path "%s" does not contain merge '
+ 'tracking information for "%s"' \
+ % (opts["source-pathid"], branch_dir))
+
+ del branch_props[opts["source-pathid"]]
+
+ # Set merge property with the selected source deleted
+ set_merge_props(branch_dir, branch_props)
+
+ # Set blocked revisions for the selected source to None
+ set_blocked_revs(branch_dir, opts["source-pathid"], None)
+
+ # Write out commit message if desired
+ if opts["commit-file"]:
+ f = open(opts["commit-file"], "w")
+ print >>f, 'Removed merge tracking for "%s" for ' % NAME
+ print >>f, '%s' % opts["source-url"]
+ f.close()
+ report('wrote commit message to "%s"' % opts["commit-file"])
+
+###############################################################################
+# Command line parsing -- options and commands management
+###############################################################################
+
+class OptBase:
+ def __init__(self, *args, **kwargs):
+ self.help = kwargs["help"]
+ del kwargs["help"]
+ self.lflags = []
+ self.sflags = []
+ for a in args:
+ if a.startswith("--"): self.lflags.append(a)
+ elif a.startswith("-"): self.sflags.append(a)
+ else:
+ raise TypeError, "invalid flag name: %s" % a
+ if kwargs.has_key("dest"):
+ self.dest = kwargs["dest"]
+ del kwargs["dest"]
+ else:
+ if not self.lflags:
+ raise TypeError, "cannot deduce dest name without long options"
+ self.dest = self.lflags[0][2:]
+ if kwargs:
+ raise TypeError, "invalid keyword arguments: %r" % kwargs.keys()
+ def repr_flags(self):
+ f = self.sflags + self.lflags
+ r = f[0]
+ for fl in f[1:]:
+ r += " [%s]" % fl
+ return r
+
+class Option(OptBase):
+ def __init__(self, *args, **kwargs):
+ self.default = kwargs.setdefault("default", 0)
+ del kwargs["default"]
+ self.value = kwargs.setdefault("value", None)
+ del kwargs["value"]
+ OptBase.__init__(self, *args, **kwargs)
+ def apply(self, state, value):
+ assert value == ""
+ if self.value is not None:
+ state[self.dest] = self.value
+ else:
+ state[self.dest] += 1
+
+class OptionArg(OptBase):
+ def __init__(self, *args, **kwargs):
+ self.default = kwargs["default"]
+ del kwargs["default"]
+ self.metavar = kwargs.setdefault("metavar", None)
+ del kwargs["metavar"]
+ OptBase.__init__(self, *args, **kwargs)
+
+ if self.metavar is None:
+ if self.dest is not None:
+ self.metavar = self.dest.upper()
+ else:
+ self.metavar = "arg"
+ if self.default:
+ self.help += " (default: %s)" % self.default
+ def apply(self, state, value):
+ assert value is not None
+ state[self.dest] = value
+ def repr_flags(self):
+ r = OptBase.repr_flags(self)
+ return r + " " + self.metavar
+
+class CommandOpts:
+ class Cmd:
+ def __init__(self, *args):
+ self.name, self.func, self.usage, self.help, self.opts = args
+ def short_help(self):
+ return self.help.split(".")[0]
+ def __str__(self):
+ return self.name
+ def __call__(self, *args, **kwargs):
+ return self.func(*args, **kwargs)
+
+ def __init__(self, global_opts, common_opts, command_table, version=None):
+ self.progname = NAME
+ self.version = version.replace("%prog", self.progname)
+ self.cwidth = console_width() - 2
+ self.ctable = command_table.copy()
+ self.gopts = global_opts[:]
+ self.copts = common_opts[:]
+ self._add_builtins()
+ for k in self.ctable.keys():
+ cmd = self.Cmd(k, *self.ctable[k])
+ opts = []
+ for o in cmd.opts:
+ if isinstance(o, types.StringType) or \
+ isinstance(o, types.UnicodeType):
+ o = self._find_common(o)
+ opts.append(o)
+ cmd.opts = opts
+ self.ctable[k] = cmd
+
+ def _add_builtins(self):
+ self.gopts.append(
+ Option("-h", "--help", help="show help for this command and exit"))
+ if self.version is not None:
+ self.gopts.append(
+ Option("-V", "--version", help="show version info and exit"))
+ self.ctable["help"] = (self._cmd_help,
+ "help [COMMAND]",
+ "Display help for a specific command. If COMMAND is omitted, "
+ "display brief command description.",
+ [])
+
+ def _cmd_help(self, cmd=None, *args):
+ if args:
+ self.error("wrong number of arguments", "help")
+ if cmd is not None:
+ cmd = self._command(cmd)
+ self.print_command_help(cmd)
+ else:
+ self.print_command_list()
+
+ def _paragraph(self, text, width=78):
+ chunks = re.split("\s+", text.strip())
+ chunks.reverse()
+ lines = []
+ while chunks:
+ L = chunks.pop()
+ while chunks and len(L) + len(chunks[-1]) + 1 <= width:
+ L += " " + chunks.pop()
+ lines.append(L)
+ return lines
+
+ def _paragraphs(self, text, *args, **kwargs):
+ pars = text.split("\n\n")
+ lines = self._paragraph(pars[0], *args, **kwargs)
+ for p in pars[1:]:
+ lines.append("")
+ lines.extend(self._paragraph(p, *args, **kwargs))
+ return lines
+
+ def _print_wrapped(self, text, indent=0):
+ text = self._paragraphs(text, self.cwidth - indent)
+ print text.pop(0)
+ for t in text:
+ print " " * indent + t
+
+ def _find_common(self, fl):
+ for o in self.copts:
+ if fl in o.lflags+o.sflags:
+ return o
+ assert False, fl
+
+ def _compute_flags(self, opts, check_conflicts=True):
+ back = {}
+ sfl = ""
+ lfl = []
+ for o in opts:
+ sapp = lapp = ""
+ if isinstance(o, OptionArg):
+ sapp, lapp = ":", "="
+ for s in o.sflags:
+ if check_conflicts and back.has_key(s):
+ raise RuntimeError, "option conflict: %s" % s
+ back[s] = o
+ sfl += s[1:] + sapp
+ for l in o.lflags:
+ if check_conflicts and back.has_key(l):
+ raise RuntimeError, "option conflict: %s" % l
+ back[l] = o
+ lfl.append(l[2:] + lapp)
+ return sfl, lfl, back
+
+ def _extract_command(self, args):
+ """
+ Try to extract the command name from the argument list. This is
+ non-trivial because we want to allow command-specific options even
+ before the command itself.
+ """
+ opts = self.gopts[:]
+ for cmd in self.ctable.values():
+ opts.extend(cmd.opts)
+ sfl, lfl, _ = self._compute_flags(opts, check_conflicts=False)
+
+ lopts,largs = getopt.getopt(args, sfl, lfl)
+ if not largs:
+ return None
+ return self._command(largs[0])
+
+ def _fancy_getopt(self, args, opts, state=None):
+ if state is None:
+ state= {}
+ for o in opts:
+ if not state.has_key(o.dest):
+ state[o.dest] = o.default
+
+ sfl, lfl, back = self._compute_flags(opts)
+ try:
+ lopts,args = getopt.gnu_getopt(args, sfl, lfl)
+ except AttributeError:
+ # Before Python 2.3, there was no gnu_getopt support.
+ # So we can't parse intermixed positional arguments
+ # and options.
+ lopts,args = getopt.getopt(args, sfl, lfl)
+
+ for o,v in lopts:
+ back[o].apply(state, v)
+ return state, args
+
+ def _command(self, cmd):
+ if not self.ctable.has_key(cmd):
+ self.error("unknown command: '%s'" % cmd)
+ return self.ctable[cmd]
+
+ def parse(self, args):
+ if not args:
+ self.print_small_help()
+ sys.exit(0)
+
+ cmd = None
+ try:
+ cmd = self._extract_command(args)
+ opts = self.gopts[:]
+ if cmd:
+ opts.extend(cmd.opts)
+ args.remove(cmd.name)
+ state, args = self._fancy_getopt(args, opts)
+ except getopt.GetoptError, e:
+ self.error(e, cmd)
+
+ # Handle builtins
+ if self.version is not None and state["version"]:
+ self.print_version()
+ sys.exit(0)
+ if state["help"]: # special case for --help
+ if cmd:
+ self.print_command_help(cmd)
+ sys.exit(0)
+ cmd = self.ctable["help"]
+ else:
+ if cmd is None:
+ self.error("command argument required")
+ if str(cmd) == "help":
+ cmd(*args)
+ sys.exit(0)
+ return cmd, args, state
+
+ def error(self, s, cmd=None):
+ print >>sys.stderr, "%s: %s" % (self.progname, s)
+ if cmd is not None:
+ self.print_command_help(cmd)
+ else:
+ self.print_small_help()
+ sys.exit(1)
+ def print_small_help(self):
+ print "Type '%s help' for usage" % self.progname
+ def print_usage_line(self):
+ print "usage: %s <subcommand> [options...] [args...]\n" % self.progname
+ def print_command_list(self):
+ print "Available commands (use '%s help COMMAND' for more details):\n" \
+ % self.progname
+ cmds = self.ctable.keys()
+ cmds.sort()
+ indent = max(map(len, cmds))
+ for c in cmds:
+ h = self.ctable[c].short_help()
+ print " %-*s " % (indent, c),
+ self._print_wrapped(h, indent+6)
+ def print_command_help(self, cmd):
+ cmd = self.ctable[str(cmd)]
+ print 'usage: %s %s\n' % (self.progname, cmd.usage)
+ self._print_wrapped(cmd.help)
+ def print_opts(opts, self=self):
+ if not opts: return
+ flags = [o.repr_flags() for o in opts]
+ indent = max(map(len, flags))
+ for f,o in zip(flags, opts):
+ print " %-*s :" % (indent, f),
+ self._print_wrapped(o.help, indent+5)
+ print '\nCommand options:'
+ print_opts(cmd.opts)
+ print '\nGlobal options:'
+ print_opts(self.gopts)
+
+ def print_version(self):
+ print self.version
+
+###############################################################################
+# Options and Commands description
+###############################################################################
+
+global_opts = [
+ Option("-F", "--force",
+ help="force operation even if the working copy is not clean, or "
+ "there are pending updates"),
+ Option("-n", "--dry-run",
+ help="don't actually change anything, just pretend; "
+ "implies --show-changes"),
+ Option("-s", "--show-changes",
+ help="show subversion commands that make changes"),
+ Option("-v", "--verbose",
+ help="verbose mode: output more information about progress"),
+ OptionArg("-u", "--username",
+ default=None,
+ help="invoke subversion commands with the supplied username"),
+ OptionArg("-p", "--password",
+ default=None,
+ help="invoke subversion commands with the supplied password"),
+ OptionArg("-c", "--config-dir", metavar="DIR",
+ default=None,
+ help="cause subversion commands to consult runtime config directory DIR"),
+]
+
+common_opts = [
+ Option("-b", "--bidirectional",
+ value=True,
+ default=False,
+ help="remove reflected and initialized revisions from merge candidates. "
+ "Not required but may be specified to speed things up slightly"),
+ OptionArg("-f", "--commit-file", metavar="FILE",
+ default="svnmerge-commit-message.txt",
+ help="set the name of the file where the suggested log message "
+ "is written to"),
+ Option("-M", "--record-only",
+ value=True,
+ default=False,
+ help="do not perform an actual merge of the changes, yet record "
+ "that a merge happened"),
+ OptionArg("-r", "--revision",
+ metavar="REVLIST",
+ default="",
+ help="specify a revision list, consisting of revision numbers "
+ 'and ranges separated by commas, e.g., "534,537-539,540"'),
+ OptionArg("-S", "--source", "--head",
+ default=None,
+ help="specify a merge source for this branch. It can be either "
+ "a working directory path, a full URL, or an unambiguous "
+ "substring of one of the locations for which merge tracking was "
+ "already initialized. Needed only to disambiguate in case of "
+ "multiple merge sources"),
+]
+
+command_table = {
+ "init": (action_init,
+ "init [OPTION...] [SOURCE]",
+ """Initialize merge tracking from SOURCE on the current working
+ directory.
+
+ If SOURCE is specified, all the revisions in SOURCE are marked as already
+ merged; if this is not correct, you can use --revision to specify the
+ exact list of already-merged revisions.
+
+ If SOURCE is omitted, then it is computed from the "svn cp" history of the
+ current working directory (searching back for the branch point); in this
+ case, %s assumes that no revision has been integrated yet since
+ the branch point (unless you teach it with --revision).""" % NAME,
+ [
+ "-f", "-r", # import common opts
+ OptionArg("-L", "--location-type",
+ dest="location-type",
+ default="path",
+ help="Use this type of location identifier in the new " +
+ "Subversion properties; 'uuid', 'url', or 'path' " +
+ "(default)"),
+ ]),
+
+ "avail": (action_avail,
+ "avail [OPTION...] [PATH]",
+ """Show unmerged revisions available for PATH as a revision list.
+ If --revision is given, the revisions shown will be limited to those
+ also specified in the option.
+
+ When svnmerge is used to bidirectionally merge changes between a
+ branch and its source, it is necessary to not merge the same changes
+ forth and back: e.g., if you committed a merge of a certain
+ revision of the branch into the source, you do not want that commit
+ to appear as available to merged into the branch (as the code
+ originated in the branch itself!). svnmerge will automatically
+ exclude these so-called "reflected" revisions.""",
+ [
+ Option("-A", "--all",
+ dest="avail-showwhat",
+ value=["blocked", "avail"],
+ default=["avail"],
+ help="show both available and blocked revisions (aka ignore "
+ "blocked revisions)"),
+ "-b",
+ Option("-B", "--blocked",
+ dest="avail-showwhat",
+ value=["blocked"],
+ help="show the blocked revision list (see '%s block')" % NAME),
+ Option("-d", "--diff",
+ dest="avail-display",
+ value="diffs",
+ default="revisions",
+ help="show corresponding diff instead of revision list"),
+ Option("--summarize",
+ dest="avail-display",
+ value="summarize",
+ help="show summarized diff instead of revision list"),
+ Option("-l", "--log",
+ dest="avail-display",
+ value="logs",
+ help="show corresponding log history instead of revision list"),
+ "-r",
+ "-S",
+ ]),
+
+ "integrated": (action_integrated,
+ "integrated [OPTION...] [PATH]",
+ """Show merged revisions available for PATH as a revision list.
+ If --revision is given, the revisions shown will be limited to
+ those also specified in the option.""",
+ [
+ Option("-d", "--diff",
+ dest="integrated-display",
+ value="diffs",
+ default="revisions",
+ help="show corresponding diff instead of revision list"),
+ Option("-l", "--log",
+ dest="integrated-display",
+ value="logs",
+ help="show corresponding log history instead of revision list"),
+ "-r",
+ "-S",
+ ]),
+
+ "rollback": (action_rollback,
+ "rollback [OPTION...] [PATH]",
+ """Rollback previously merged in revisions from PATH. The
+ --revision option is mandatory, and specifies which revisions
+ will be rolled back. Only the previously integrated merges
+ will be rolled back.
+
+ When manually rolling back changes, --record-only can be used to
+ instruct %s that a manual rollback of a certain revision
+ already happened, so that it can record it and offer that
+ revision for merge henceforth.""" % (NAME),
+ [
+ "-f", "-r", "-S", "-M", # import common opts
+ ]),
+
+ "merge": (action_merge,
+ "merge [OPTION...] [PATH]",
+ """Merge in revisions into PATH from its source. If --revision is omitted,
+ all the available revisions will be merged. In any case, already merged-in
+ revisions will NOT be merged again.
+
+ When svnmerge is used to bidirectionally merge changes between a
+ branch and its source, it is necessary to not merge the same changes
+ forth and back: e.g., if you committed a merge of a certain
+ revision of the branch into the source, you do not want that commit
+ to appear as available to merged into the branch (as the code
+ originated in the branch itself!). svnmerge will automatically
+ exclude these so-called "reflected" revisions.
+
+ When manually merging changes across branches, --record-only can
+ be used to instruct %s that a manual merge of a certain revision
+ already happened, so that it can record it and not offer that
+ revision for merge anymore. Conversely, when there are revisions
+ which should not be merged, use '%s block'.""" % (NAME, NAME),
+ [
+ "-b", "-f", "-r", "-S", "-M", # import common opts
+ ]),
+
+ "block": (action_block,
+ "block [OPTION...] [PATH]",
+ """Block revisions within PATH so that they disappear from the available
+ list. This is useful to hide revisions which will not be integrated.
+ If --revision is omitted, it defaults to all the available revisions.
+
+ Do not use this option to hide revisions that were manually merged
+ into the branch. Instead, use '%s merge --record-only', which
+ records that a merge happened (as opposed to a merge which should
+ not happen).""" % NAME,
+ [
+ "-f", "-r", "-S", # import common opts
+ ]),
+
+ "unblock": (action_unblock,
+ "unblock [OPTION...] [PATH]",
+ """Revert the effect of '%s block'. If --revision is omitted, all the
+ blocked revisions are unblocked""" % NAME,
+ [
+ "-f", "-r", "-S", # import common opts
+ ]),
+
+ "uninit": (action_uninit,
+ "uninit [OPTION...] [PATH]",
+ """Remove merge tracking information from PATH. It cleans any kind of merge
+ tracking information (including the list of blocked revisions). If there
+ are multiple sources, use --source to indicate which source you want to
+ forget about.""",
+ [
+ "-f", "-S", # import common opts
+ ]),
+}
+
+
+def main(args):
+ global opts
+
+ # Initialize default options
+ opts = default_opts.copy()
+ logs.clear()
+
+ optsparser = CommandOpts(global_opts, common_opts, command_table,
+ version="%%prog r%s\n modified: %s\n\n"
+ "Copyright (C) 2004,2005 Awarix Inc.\n"
+ "Copyright (C) 2005, Giovanni Bajo"
+ % (__revision__, __date__))
+
+ cmd, args, state = optsparser.parse(args)
+ opts.update(state)
+
+ source = opts.get("source", None)
+ branch_dir = "."
+
+ if str(cmd) == "init":
+ if len(args) == 1:
+ source = args[0]
+ elif len(args) > 1:
+ optsparser.error("wrong number of parameters", cmd)
+ elif str(cmd) in command_table.keys():
+ if len(args) == 1:
+ branch_dir = args[0]
+ elif len(args) > 1:
+ optsparser.error("wrong number of parameters", cmd)
+ else:
+ assert False, "command not handled: %s" % cmd
+
+ # Validate branch_dir
+ if not is_wc(branch_dir):
+ if str(cmd) == "avail":
+ info = None
+ # it should be noted here that svn info does not error exit
+ # if an invalid target is specified to it (as is
+ # intuitive). so the try, except code is not absolutely
+ # necessary. but, I retain it to indicate the intuitive
+ # handling.
+ try:
+ info = get_svninfo(branch_dir)
+ except LaunchError:
+ pass
+ # test that we definitely targeted a subversion directory,
+ # mirroring the purpose of the earlier is_wc() call
+ if info is None or not info.has_key("Node Kind") or info["Node Kind"] != "directory":
+ error('"%s" is neither a valid URL, nor a working directory' % branch_dir)
+ else:
+ error('"%s" is not a subversion working directory' % branch_dir)
+
+ # give out some hints as to potential pathids
+ PathIdentifier.hint(branch_dir)
+ if source: PathIdentifier.hint(source)
+
+ # Extract the integration info for the branch_dir
+ branch_props = get_merge_props(branch_dir)
+
+ # Calculate source_url and source_path
+ report("calculate source path for the branch")
+ if not source:
+ if str(cmd) == "init":
+ cf_source, cf_rev, copy_committed_in_rev = get_copyfrom(branch_dir)
+ if not cf_source:
+ error('no copyfrom info available. '
+ 'Explicit source argument (-S/--source) required.')
+ opts["source-url"] = get_repo_root(branch_dir) + cf_source
+ opts["source-pathid"] = PathIdentifier.from_target(opts["source-url"])
+
+ if not opts["revision"]:
+ opts["revision"] = "1-" + cf_rev
+ else:
+ opts["source-pathid"] = get_default_source(branch_dir, branch_props)
+ opts["source-url"] = opts["source-pathid"].get_url()
+
+ assert is_pathid(opts["source-pathid"])
+ assert is_url(opts["source-url"])
+ else:
+ # The source was given as a command line argument and is stored in
+ # SOURCE. Ensure that the specified source does not end in a /,
+ # otherwise it's easy to have the same source path listed more
+ # than once in the integrated version properties, with and without
+ # trailing /'s.
+ source = rstrip(source, "/")
+ if not is_wc(source) and not is_url(source):
+ # Check if it is a substring of a pathid recorded
+ # within the branch properties.
+ found = []
+ for pathid in branch_props.keys():
+ if pathid.match_substring(source):
+ found.append(pathid)
+ if len(found) == 1:
+ # (assumes pathid is a repository-relative-path)
+ source_pathid = found[0]
+ source = source_pathid.get_url()
+ else:
+ error('"%s" is neither a valid URL, nor an unambiguous '
+ 'substring of a repository path, nor a working directory'
+ % source)
+ else:
+ source_pathid = PathIdentifier.from_target(source)
+
+ source_pathid = PathIdentifier.from_target(source)
+ if str(cmd) == "init" and \
+ source_pathid == PathIdentifier.from_target("."):
+ error("cannot init integration source path '%s'\n"
+ "Its repository-relative path must differ from the "
+ "repository-relative path of the current directory."
+ % source_pathid)
+ opts["source-pathid"] = source_pathid
+ opts["source-url"] = target_to_url(source)
+
+ # Sanity check source_url
+ assert is_url(opts["source-url"])
+ # SVN does not support non-normalized URL (and we should not
+ # have created them)
+ assert opts["source-url"].find("/..") < 0
+
+ report('source is "%s"' % opts["source-url"])
+
+ # Get previously merged revisions (except when command is init)
+ if str(cmd) != "init":
+ opts["merged-revs"] = merge_props_to_revision_set(branch_props,
+ opts["source-pathid"])
+
+ # Perform the action
+ cmd(branch_dir, branch_props)
+
+
+if __name__ == "__main__":
+ try:
+ main(sys.argv[1:])
+ except LaunchError, (ret, cmd, out):
+ err_msg = "command execution failed (exit code: %d)\n" % ret
+ err_msg += cmd + "\n"
+ err_msg += "".join(out)
+ error(err_msg)
+ except KeyboardInterrupt:
+ # Avoid traceback on CTRL+C
+ print "aborted by user"
+ sys.exit(1)
diff --git a/staging/subversion/svnserve b/staging/subversion/svnserve
new file mode 100755
index 000000000..670fee742
--- /dev/null
+++ b/staging/subversion/svnserve
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/svnserve
+
+PID=`pidof -o %PPID /usr/bin/svnserve`
+case "$1" in
+ start)
+ stat_busy "Starting svnserve"
+ if [ -z "$PID" ]; then
+ if [ -n "$SVNSERVE_USER" ]; then
+ su -s '/bin/sh' $SVNSERVE_USER -c "/usr/bin/svnserve -d $SVNSERVE_ARGS" &
+ else
+ /usr/bin/svnserve -d $SVNSERVE_ARGS &
+ fi
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon svnserve
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping svnserve"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon svnserve
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/staging/subversion/svnserve.conf b/staging/subversion/svnserve.conf
new file mode 100644
index 000000000..37fb7ea10
--- /dev/null
+++ b/staging/subversion/svnserve.conf
@@ -0,0 +1,7 @@
+#
+# Parameters to be passed to svnserve
+#
+#SVNSERVE_ARGS="-r /path/to/some/repos"
+SVNSERVE_ARGS=""
+
+#SVNSERVE_USER="svn"
diff --git a/testing/binutils/PKGBUILD b/testing/binutils/PKGBUILD
index bcfd44008..790948675 100644
--- a/testing/binutils/PKGBUILD
+++ b/testing/binutils/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 126772 2011-06-07 07:37:01Z allan $
+# $Id: PKGBUILD 129398 2011-06-27 11:06:48Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
-pkgver=2.21
-pkgrel=9
-_date=20110605
+pkgver=2.21.1
+pkgrel=1
+_date=20110627
pkgdesc="A set of programs to assemble and manipulate binary and object files"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/binutils/"
license=('GPL')
groups=('base')
depends=('glibc>=2.14' 'zlib')
-makedepends=('dejagnu')
+checkdepends=('dejagnu')
options=('!libtool' '!distcc' '!ccache')
install=binutils.install
source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
-md5sums=('a2e7784d5d66c1d692a0a1fa248ea66c')
+md5sums=('2face559e80d649ba148e42bb2d1fb0f')
mksource() {
mkdir ${pkgname}-${_date}
@@ -40,7 +40,7 @@ build() {
--enable-plugins --enable-threads \
--enable-shared $CONFIGFLAG
- # This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
+ # check the host environment and makes sure all the necessary tools are available
make configure-host
make tooldir=${pkgdir}/usr
diff --git a/testing/cronie/PKGBUILD b/testing/cronie/PKGBUILD
index a455e705b..795884823 100644
--- a/testing/cronie/PKGBUILD
+++ b/testing/cronie/PKGBUILD
@@ -2,8 +2,8 @@
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
pkgname='cronie'
-pkgver=1.4.7
-pkgrel=9
+pkgver=1.4.8
+pkgrel=1
pkgdesc='Daemon that runs specified programs at scheduled times and related tools'
url='https://fedorahosted.org/cronie/'
license=('custom:BSD')
@@ -13,17 +13,14 @@ optdepends=('smtp-server: sending cron job output via email')
source=("https://fedorahosted.org/releases/c/r/${pkgname}/${pkgname}-${pkgver}.tar.gz"
'cron.deny'
- 'crontab'
'pam.d'
'rc.d')
-sha1sums=('c6644ba0e58bcb14e0bb3f925e3e8cc3f0d47a7f'
+sha1sums=('1d2ce3a6ca2a6f96ff31921e4060be3199dc10f3'
'0f279b8fb820340267d578dc85511c980715f91e'
- '4059bc4ccb75f08b0d4970940799e5d9722b339f'
'5eff7fb31f6bc0a924243ff046704726cf20c221'
'c08c040ed5cb12bc4fd15639a5242d31ec247ef5')
-backup=('etc/crontab'
- 'etc/anacrontab'
+backup=('etc/anacrontab'
'etc/conf.d/crond'
'etc/pam.d/crond'
'etc/cron.deny')
@@ -57,7 +54,6 @@ package() {
install -Dm755 ../rc.d "${pkgdir}"/etc/rc.d/crond
install -Dm644 ../pam.d "${pkgdir}"/etc/pam.d/crond
- install -Dm644 ../crontab "${pkgdir}"/etc/crontab
install -Dm644 ../cron.deny "${pkgdir}"/etc/cron.deny
install -Dm644 crond.sysconfig "${pkgdir}"/etc/conf.d/crond
install -Dm644 contrib/0hourly "${pkgdir}"/etc/cron.d/0hourly
diff --git a/testing/imagemagick/PKGBUILD b/testing/imagemagick/PKGBUILD
deleted file mode 100644
index 558bd5fde..000000000
--- a/testing/imagemagick/PKGBUILD
+++ /dev/null
@@ -1,81 +0,0 @@
-# $Id: PKGBUILD 127963 2011-06-20 08:24:42Z eric $
-# Maintainer: Eric BĂ©langer <eric@archlinux.org>
-
-pkgbase=imagemagick
-pkgname=('imagemagick' 'imagemagick-doc')
-pkgver=6.7.0.8
-pkgrel=1
-arch=('i686' 'x86_64')
-url="http://www.imagemagick.org/"
-license=('custom')
-depends=('libtool' 'lcms' 'libxt' 'gcc-libs' 'bzip2' 'xz' 'freetype2' 'fontconfig' \
- 'libxext' 'libjpeg-turbo')
-makedepends=('ghostscript' 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper' 'libpng')
-source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
- perlmagick.rpath.patch)
-md5sums=('67d8631c20fc9a2409343c02b159407d'
- 'ff9974decbfe9846f8e347239d87e4eb')
-sha1sums=('03b8534d16aee3efc5496817f804d21964be79ad'
- '23405f80904b1de94ebd7bd6fe2a332471b8c283')
-
-build() {
- cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
-
- sed '/AC_PATH_XTRA/d' -i configure.ac
- autoreconf
- patch -Np0 -i ../perlmagick.rpath.patch
-
- LIBS="$LIBS -L/usr/lib/perl5/core_perl/CORE -lperl" ./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
- --enable-openmp --with-wmf --with-openexr --with-xml \
- --with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
- --with-perl --with-perl-options="INSTALLDIRS=vendor" \
- --without-gvc --without-djvu --without-autotrace --with-jp2 \
- --without-jbig --without-fpx --without-dps --without-fftw
- make
-}
-
-package_imagemagick() {
- pkgdesc="An image viewing/manipulation program"
- 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/sRGB.icm'
- 'etc/ImageMagick/thresholds.xml'
- 'etc/ImageMagick/type.xml'
- 'etc/ImageMagick/type-dejavu.xml'
- 'etc/ImageMagick/type-ghostscript.xml'
- 'etc/ImageMagick/type-windows.xml')
- options=('!makeflags' '!docs' 'libtool')
-
- 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)"
- depends=()
- options=('!makeflags')
-
- 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/testing/llvm/PKGBUILD b/testing/llvm/PKGBUILD
new file mode 100644
index 000000000..3aeb30afa
--- /dev/null
+++ b/testing/llvm/PKGBUILD
@@ -0,0 +1,231 @@
+# $Id: PKGBUILD 129537 2011-06-28 18:36:08Z foutrelis $
+# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Sebastian Nowicki <sebnow@gmail.com>
+# Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
+
+pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer')
+pkgver=2.9
+_gcc_ver=4.6.1
+pkgrel=6
+arch=('i686' 'x86_64')
+url="http://llvm.org/"
+license=('custom:University of Illinois/NCSA Open Source License')
+makedepends=('gcc-libs' 'libffi' 'python2' 'ocaml' "gcc=$_gcc_ver")
+source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.tgz
+ http://llvm.org/releases/$pkgver/clang-$pkgver.tgz
+ ftp://ftp.archlinux.org/other/community/clang/gcc-headers-4.5.2.tar.xz
+ clang-plugin-loader-registry.patch
+ cindexer-clang-path.patch
+ clang-toolchains-gcc-versions.patch
+ clang-pure64.patch
+ enable-lto.patch
+ bug-9869-operator-h-c++0x.patch)
+md5sums=('793138412d2af2c7c7f54615f8943771'
+ '634de18d04b7a4ded19ec4c17d23cfca'
+ '70e23a3dc2b38ecb2bb4d2c48f47295d'
+ '02c23b4aaca3445b8bf39fddb2f9906e'
+ '87a7162dbe99e9ffce6c40bd09f5f4f0'
+ '016d70145d52255c9a46fedde51634e2'
+ '225ee6b531f8327f34f344a18cb4ec81'
+ '8f7582d7440e4a8342c3aea9ec714fb4'
+ '047cac563a557463d7ec6bd87d953f5e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # 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" tools/clang
+
+ # Fix symbolic links from OCaml bindings to LLVM libraries
+ sed -i 's:\$(PROJ_libdir):/usr/lib/llvm:' bindings/ocaml/Makefile.ocaml
+
+ # 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)/lib/llvm:' \
+ -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
+ Makefile.config.in
+
+ # 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"
+
+ # Add GCC 4.6.1 to GccVersions (FS#23631)
+ patch -d tools/clang -Np1 -i "$srcdir/clang-toolchains-gcc-versions.patch"
+
+ if [[ $CARCH == x86_64 ]]; then
+ # Adjust lib paths
+ patch -d tools/clang -Np0 -i "$srcdir/clang-pure64.patch"
+ fi
+
+ # Make -flto work
+ # Use gold instead of default linker, and always use the plugin
+ patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch"
+
+ # Fix upstream bug #9869:
+ # Operator.h incompatibility with GCC 4.6 in C++0x mode
+ patch -Np2 -i "$srcdir/bug-9869-operator-h-c++0x.patch"
+
+ # Apply strip option to configure
+ _optimized_switch="enable"
+ [[ $(check_option strip) == n ]] && _optimized_switch="disable"
+
+ # Include location of libffi headers in CPPFLAGS
+ export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)"
+
+ # TODO: Uncomment when clang works with GCC 4.6+
+ #_cxx_headers="/usr/include/c++/$_gcc_ver"
+ #if [[ ! -d $_cxx_headers ]]; then
+ # error "Couldn't find the C++ headers, PKGBUILD needs fixing!"
+ # return 1
+ #fi
+ _cxx_headers="/usr/include/c++/clang-$pkgver"
+
+ _32bit_headers=""
+ if [[ $CARCH == x86_64 ]]; then
+ # Important for multilib
+ _32bit_headers="32"
+ fi
+
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib/llvm \
+ --sysconfdir=/etc \
+ --enable-shared \
+ --enable-libffi \
+ --enable-targets=all \
+ --disable-expensive-checks \
+ --disable-debug-runtime \
+ --disable-assertions \
+ --with-binutils-include=/usr/include \
+ --with-cxx-include-root=$_cxx_headers \
+ --with-cxx-include-arch=$CHOST \
+ --with-cxx-include-32bit-dir=$_32bit_headers \
+ --$_optimized_switch-optimized
+
+ make REQUIRES_RTTI=1
+}
+
+package_llvm() {
+ pkgdesc="Low Level Virtual Machine"
+ depends=('perl' 'libffi')
+
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # We move the clang directory out of the tree so it won't get installed and
+ # then we bring it back in for the clang package
+ mv tools/clang "$srcdir"
+ # -j1 is due to race conditions during the installation of the OCaml bindings
+ make -j1 DESTDIR="$pkgdir" install
+ mv "$srcdir/clang" tools
+
+ # OCaml bindings go to a separate package
+ rm -rf "$srcdir"/{ocaml,ocamldoc}
+ mv "$pkgdir"/usr/{lib/ocaml,share/doc/llvm/ocamldoc} "$srcdir"
+
+ # Remove duplicate files installed by the OCaml bindings
+ rm "$pkgdir"/usr/{lib/llvm/libllvm*,share/doc/llvm/ocamldoc.tar.gz}
+
+ # 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.*
+
+ # Symlink the gold plugin where clang expects it
+ ln -s llvm/LLVMgold.so "$pkgdir/usr/lib/LLVMgold.so"
+
+ # Add ld.so.conf.d entry
+ install -d "$pkgdir/etc/ld.so.conf.d"
+ echo /usr/lib/llvm >"$pkgdir/etc/ld.so.conf.d/llvm.conf"
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_llvm-ocaml() {
+ pkgdesc="OCaml bindings for LLVM"
+ depends=("llvm=$pkgver-$pkgrel" 'ocaml')
+
+ cd "$srcdir/llvm-$pkgver"
+
+ install -d "$pkgdir"/{usr/lib,usr/share/doc/llvm}
+ cp -r "$srcdir/ocaml" "$pkgdir/usr/lib"
+ cp -r "$srcdir/ocamldoc" "$pkgdir/usr/share/doc/llvm"
+
+ # Remove execute bit from static libraries
+ chmod -x "$pkgdir"/usr/lib/ocaml/libllvm*.a
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/llvm-ocaml/LICENSE"
+}
+
+package_clang() {
+ pkgdesc="C language family frontend for LLVM"
+ url="http://clang.llvm.org/"
+ # It looks like clang still needs GCC to assemble and link object files
+ # See http://old.nabble.com/%22clang--v%22-shows-a-GCC-call-td28378453.html
+ depends=("llvm=$pkgver-$pkgrel" "gcc=$_gcc_ver")
+
+ # Fix installation path for clang docs
+ sed -i 's:$(PROJ_prefix)/share/doc/llvm:$(PROJ_prefix)/share/doc/clang:' \
+ "$srcdir/llvm-$pkgver/Makefile.config"
+
+ cd "$srcdir/llvm-$pkgver/tools/clang"
+ make DESTDIR="$pkgdir" install
+
+ # Fix permissions of static libs
+ chmod -x "$pkgdir"/usr/lib/llvm/*.a
+
+ # Revert the path change in case we want to do a repackage later
+ sed -i 's:$(PROJ_prefix)/share/doc/clang:$(PROJ_prefix)/share/doc/llvm:' \
+ "$srcdir/llvm-$pkgver/Makefile.config"
+
+ # Install old libstdc++ headers. Contains combined headers from
+ # gcc 4.5.2-6-i686 and gcc-multilib-4.5.2-6-x86_64
+ install -d "$pkgdir/usr/include/c++"
+ cp -rd "$srcdir/gcc-headers-4.5.2" "$pkgdir/usr/include/c++/clang-$pkgver"
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang/LICENSE"
+}
+
+package_clang-analyzer() {
+ pkgdesc="A source code analysis framework"
+ url="http://clang-analyzer.llvm.org/"
+ depends=("clang=$pkgver-$pkgrel" 'python2')
+
+ cd "$srcdir/llvm-$pkgver/tools/clang"
+
+ install -d "$pkgdir"/usr/{bin,lib/clang-analyzer}
+ for _tool in scan-{build,view}; do
+ cp -r tools/$_tool "$pkgdir/usr/lib/clang-analyzer/"
+ ln -s /usr/lib/clang-analyzer/$_tool/$_tool "$pkgdir/usr/bin/"
+ done
+
+ # Use Python 2
+ sed -i 's/env python$/\02/' \
+ "$pkgdir/usr/lib/clang-analyzer/scan-view/scan-view" \
+ "$pkgdir/usr/lib/clang-analyzer/scan-build/set-xcode-analyzer"
+
+ # Compile Python scripts
+ python2 -m compileall "$pkgdir/usr/lib/clang-analyzer"
+ python2 -O -m compileall "$pkgdir/usr/lib/clang-analyzer"
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang-analyzer/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/testing/llvm/bug-9869-operator-h-c++0x.patch b/testing/llvm/bug-9869-operator-h-c++0x.patch
new file mode 100644
index 000000000..b95d7d772
--- /dev/null
+++ b/testing/llvm/bug-9869-operator-h-c++0x.patch
@@ -0,0 +1,57 @@
+--- llvm/trunk/include/llvm/Operator.h 2011/02/07 16:40:21 125006
++++ llvm/trunk/include/llvm/Operator.h 2011/05/08 01:59:22 131062
+@@ -186,28 +186,46 @@
+ };
+
+ class AddOperator
+- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {};
++ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {
++ ~AddOperator(); // DO NOT IMPLEMENT
++};
+ class SubOperator
+- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {};
++ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {
++ ~SubOperator(); // DO NOT IMPLEMENT
++};
+ class MulOperator
+- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {};
++ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {
++ ~MulOperator(); // DO NOT IMPLEMENT
++};
+ class ShlOperator
+- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {};
++ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {
++ ~ShlOperator(); // DO NOT IMPLEMENT
++};
+
+
+ class SDivOperator
+- : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {};
++ : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {
++ ~SDivOperator(); // DO NOT IMPLEMENT
++};
+ class UDivOperator
+- : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {};
++ : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {
++ ~UDivOperator(); // DO NOT IMPLEMENT
++};
+ class AShrOperator
+- : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {};
++ : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {
++ ~AShrOperator(); // DO NOT IMPLEMENT
++};
+ class LShrOperator
+- : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {};
++ : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {
++ ~LShrOperator(); // DO NOT IMPLEMENT
++};
+
+
+
+ class GEPOperator
+ : public ConcreteOperator<Operator, Instruction::GetElementPtr> {
++ ~GEPOperator(); // DO NOT IMPLEMENT
++
+ enum {
+ IsInBounds = (1 << 0)
+ };
diff --git a/testing/llvm/cindexer-clang-path.patch b/testing/llvm/cindexer-clang-path.patch
new file mode 100644
index 000000000..ddaab690e
--- /dev/null
+++ b/testing/llvm/cindexer-clang-path.patch
@@ -0,0 +1,10 @@
+--- tools/libclang/CIndexer.cpp.orig 2011-04-07 13:08:24.000000000 +0300
++++ tools/libclang/CIndexer.cpp 2011-04-07 13:11:52.224884642 +0300
+@@ -80,6 +80,7 @@ std::string CIndexer::getClangResourcesP
+
+ // We now have the CIndex directory, locate clang relative to it.
+ LibClangPath.eraseComponent();
++ LibClangPath.eraseComponent();
+ #endif
+
+ LibClangPath.appendComponent("clang");
diff --git a/testing/llvm/clang-plugin-loader-registry.patch b/testing/llvm/clang-plugin-loader-registry.patch
new file mode 100644
index 000000000..f46eb9fce
--- /dev/null
+++ b/testing/llvm/clang-plugin-loader-registry.patch
@@ -0,0 +1,11 @@
+diff -upr llvm-2.7.orig/autoconf/ExportMap.map llvm-2.7/autoconf/ExportMap.map
+--- llvm-2.7.orig/autoconf/ExportMap.map 2010-02-25 00:33:41.000000000 +0200
++++ llvm-2.7/autoconf/ExportMap.map 2010-05-10 14:14:22.000000000 +0300
+@@ -2,6 +2,7 @@
+ global: main;
+ __progname;
+ environ;
++ _ZN4llvm8RegistryIN5clang14FrontendActionENS_14RegistryTraitsIS2_EEE4HeadE;
+
+ local: *;
+ };
diff --git a/testing/llvm/clang-pure64.patch b/testing/llvm/clang-pure64.patch
new file mode 100644
index 000000000..da6178519
--- /dev/null
+++ b/testing/llvm/clang-pure64.patch
@@ -0,0 +1,38 @@
+Index: lib/Driver/Tools.cpp
+===================================================================
+--- lib/Driver/Tools.cpp (revision 123373)
++++ lib/Driver/Tools.cpp (working copy)
+@@ -3306,7 +3306,7 @@
+ else if (ToolChain.getArch() == llvm::Triple::arm)
+ CmdArgs.push_back("/lib/ld-linux.so.3");
+ else
+- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
++ CmdArgs.push_back("/lib/ld-linux-x86-64.so.2");
+ }
+
+ CmdArgs.push_back("-o");
+Index: lib/Driver/ToolChains.cpp
+===================================================================
+--- lib/Driver/ToolChains.cpp (revision 123373)
++++ lib/Driver/ToolChains.cpp (working copy)
+@@ -1317,18 +1317,10 @@
+ if (Arch == llvm::Triple::x86)
+ Suffix64 = "/64";
+
+- std::string Lib32 = "lib";
+-
+- bool Exists;
+- if (!llvm::sys::fs::exists("/lib32", Exists) && Exists)
+- Lib32 = "lib32";
+-
++ std::string Lib32 = "lib32";
+ std::string Lib64 = "lib";
+- bool Symlink;
+- if (!llvm::sys::fs::exists("/lib64", Exists) && Exists &&
+- (llvm::sys::fs::is_symlink("/lib64", Symlink) || !Symlink))
+- Lib64 = "lib64";
+
++ bool Exists;
+ std::string GccTriple = "";
+ if (Arch == llvm::Triple::arm) {
+ if (!llvm::sys::fs::exists("/usr/lib/gcc/arm-linux-gnueabi", Exists) &&
diff --git a/testing/llvm/clang-toolchains-gcc-versions.patch b/testing/llvm/clang-toolchains-gcc-versions.patch
new file mode 100644
index 000000000..7e0083791
--- /dev/null
+++ b/testing/llvm/clang-toolchains-gcc-versions.patch
@@ -0,0 +1,12 @@
+diff -upr clang-2.9.orig/lib/Driver/ToolChains.cpp clang-2.9/lib/Driver/ToolChains.cpp
+--- clang-2.9.orig/lib/Driver/ToolChains.cpp 2011-03-21 23:29:27.000000000 +0200
++++ clang-2.9/lib/Driver/ToolChains.cpp 2011-04-08 00:03:34.000000000 +0300
+@@ -1449,7 +1449,7 @@ Linux::Linux(const HostInfo &Host, const
+ GccTriple = "i586-suse-linux";
+ }
+
+- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
++ const char* GccVersions[] = {"4.6.1", "4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
+ "4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2",
+ "4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1",
+ "4.2"};
diff --git a/testing/llvm/enable-lto.patch b/testing/llvm/enable-lto.patch
new file mode 100644
index 000000000..40d93104a
--- /dev/null
+++ b/testing/llvm/enable-lto.patch
@@ -0,0 +1,36 @@
+Index: lib/Driver/ToolChains.cpp
+===================================================================
+--- lib/Driver/ToolChains.cpp (revision 123373)
++++ lib/Driver/ToolChains.cpp (working copy)
+@@ -1398,11 +1398,11 @@
+ Lib = Lib64;
+ }
+
+- llvm::sys::Path LinkerPath(Base + "/../../../../" + GccTriple + "/bin/ld");
++ llvm::sys::Path LinkerPath(Base + "/../../../../" + GccTriple + "/bin/ld.gold");
+ if (!llvm::sys::fs::exists(LinkerPath.str(), Exists) && Exists)
+ Linker = LinkerPath.str();
+ else
+- Linker = GetProgramPath("ld");
++ Linker = GetProgramPath("ld.gold");
+
+ LinuxDistro Distro = DetectLinuxDistro(Arch);
+
+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)) {
+ CmdArgs.push_back("-plugin");
+ std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
+ CmdArgs.push_back(Args.MakeArgString(Plugin));
+- }
++ // }
+
+ C.addCommand(new Command(JA, *this, ToolChain.Linker.c_str(), CmdArgs));
+ }
diff --git a/testing/pidgin/PKGBUILD b/testing/pidgin/PKGBUILD
deleted file mode 100644
index 91e94bb66..000000000
--- a/testing/pidgin/PKGBUILD
+++ /dev/null
@@ -1,110 +0,0 @@
-# $Id: PKGBUILD 128517 2011-06-24 07:46:40Z foutrelis $
-# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
-# Contributor: Ionut Biru <ibiru@archlinux.org>
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Alexander Fehr <pizzapunk gmail com>
-# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>
-
-pkgname=('pidgin' 'libpurple' 'finch')
-pkgver=2.9.0
-pkgrel=2
-arch=('i686' 'x86_64')
-url="http://pidgin.im/"
-license=('GPL')
-makedepends=('startup-notification' 'gtkspell' 'libxss' 'nss' 'libsasl' 'libsm'
- 'python2' 'hicolor-icon-theme' 'silc-toolkit' 'gstreamer0.10'
- 'farsight2' 'avahi' 'tk' 'ca-certificates' 'intltool'
- 'networkmanager')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2
- nm09-more.patch)
-md5sums=('2cd285c7a40f93b7a51bfe733971d3a6'
- 'a673659d86c7a65aa710f7c8c7feda82')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
-
- # Further fixes for NetworkManager 0.9
- # (http://developer.pidgin.im/ticket/13859)
- patch -Np1 -i "$srcdir/nm09-more.patch"
-
- # Use Python 2
- sed -i 's/env python$/\02/' */plugins/*.py \
- libpurple/purple-{remote,notifications-example,url-handler}
-
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --disable-schemas-install \
- --disable-meanwhile \
- --disable-gnutls \
- --enable-cyrus-sasl \
- --disable-doxygen \
- --enable-nm \
- --with-python=/usr/bin/python2 \
- --with-system-ssl-certs=/etc/ssl/certs
- make
-}
-
-package_pidgin(){
- pkgdesc="Multi-protocol instant messaging client"
- depends=("libpurple=$pkgver-$pkgrel" 'startup-notification' 'gtkspell'
- 'libxss' 'libsm' 'gstreamer0.10' 'hicolor-icon-theme')
- optdepends=('aspell: for spelling correction'
- 'ca-certificates: SSL CA certificates'
- 'gstreamer0.10-good-plugins: video and voice support'
- 'tk: Tcl/Tk scripting support')
- install=pidgin.install
-
- cd "$srcdir/pidgin-$pkgver"
-
- # For linking
- make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES
-
- make -C pidgin DESTDIR="$pkgdir" install
- make -C doc DESTDIR="$pkgdir" install
-
- # Remove files that are packaged in libpurle
- make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES
-
- install -Dm644 pidgin.desktop "$pkgdir"/usr/share/applications/pidgin.desktop
-
- rm "$pkgdir/usr/share/man/man1/finch.1"
-}
-
-package_libpurple(){
- pkgdesc="IM library extracted from Pidgin"
- depends=('farsight2' 'libsasl' 'dbus-glib' 'silc-toolkit' 'nss'
- 'cyrus-sasl-plugins')
- optdepends=('avahi: Bonjour protocol support'
- 'dbus-python: for purple-remote and purple-url-handler')
-
- cd "$srcdir/pidgin-$pkgver"
-
- for _dir in libpurple share/sounds share/ca-certs m4macros po; do
- make -C "$_dir" DESTDIR="$pkgdir" install
- done
-}
-
-package_finch(){
- pkgdesc="A ncurses-based messaging client"
- depends=("libpurple=$pkgver-$pkgrel" 'python2' 'gstreamer0.10')
- optdepends=('avahi: Bonjour protocol support'
- 'ca-certificates: SSL CA certificates'
- 'tk: Tcl/Tk scripting support')
-
- cd "$srcdir/pidgin-$pkgver"
-
- # For linking
- make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES
-
- make -C finch DESTDIR="$pkgdir" install
- make -C doc DESTDIR="$pkgdir" install
-
- # Remove files that are packaged in libpurle
- make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES
-
- rm "$pkgdir"/usr/share/man/man1/pidgin.1
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/testing/readline/PKGBUILD b/testing/readline/PKGBUILD
new file mode 100644
index 000000000..765b76685
--- /dev/null
+++ b/testing/readline/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 129370 2011-06-27 05:49:47Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=readline
+_basever=6.2
+_patchlevel=001 #prepare for some patches
+pkgver=$_basever.$_patchlevel
+pkgrel=2
+pkgdesc="GNU readline library"
+arch=('i686' 'x86_64')
+url="http://tiswww.case.edu/php/chet/readline/rltop.html"
+license=('GPL')
+depends=('glibc' 'ncurses')
+backup=('etc/inputrc')
+options=('!emptydirs')
+install=readline.install
+source=(http://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz
+ inputrc)
+if [ $_patchlevel -gt 00 ]; then
+ for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
+ source=(${source[@]} http://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//./}-$(printf "%03d" $p))
+ done
+fi
+md5sums=('67948acb2ca081f23359d0256e9a271c'
+ '58d54966c1191db45973cb3191ac621a'
+ '83287d52a482f790dfb30ec0a8746669')
+
+build() {
+ cd ${srcdir}/${pkgname}-$_basever
+ for p in ../readline${_basever//./}-*; do
+ [ -e "$p" ] || continue
+ msg "applying patch ${p}"
+ patch -Np0 -i ${p}
+ done
+
+ # Remove RPATH from shared objects (FS#14366)
+ sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf
+
+ # build with -fPIC for x86_64 (FS#15634)
+ [ $CARCH == "x86_64" ] && CFLAGS="$CFLAGS -fPIC"
+
+ ./configure --prefix=/usr --libdir=/lib
+ make SHLIB_LIBS=-lncurses
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-$_basever
+ make DESTDIR=${pkgdir} install
+
+ install -Dm644 ${srcdir}/inputrc ${pkgdir}/etc/inputrc
+
+ # FHS recommends only shared libs in /lib
+ install -dm755 $pkgdir/usr/lib
+ mv $pkgdir/lib/*.a $pkgdir/usr/lib
+
+ # to make the linker find the shared lib and fix compile issues
+ cd ${pkgdir}/usr/lib
+ ln -sv /lib/libreadline.so .
+ ln -sv /lib/libhistory.so .
+}
diff --git a/testing/readline/inputrc b/testing/readline/inputrc
new file mode 100644
index 000000000..fd13a673b
--- /dev/null
+++ b/testing/readline/inputrc
@@ -0,0 +1,36 @@
+# do not bell on tab-completion
+#set bell-style none
+
+set meta-flag on
+set input-meta on
+set convert-meta off
+set output-meta on
+
+$if mode=emacs
+
+# for linux console and RH/Debian xterm
+"\e[1~": beginning-of-line
+"\e[4~": end-of-line
+"\e[5~": beginning-of-history
+"\e[6~": end-of-history
+"\e[7~": beginning-of-line
+"\e[3~": delete-char
+"\e[2~": quoted-insert
+"\e[5C": forward-word
+"\e[5D": backward-word
+"\e\e[C": forward-word
+"\e\e[D": backward-word
+"\e[1;5C": forward-word
+"\e[1;5D": backward-word
+
+# for rxvt
+"\e[8~": end-of-line
+
+# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
+"\eOH": beginning-of-line
+"\eOF": end-of-line
+
+# for freebsd console
+"\e[H": beginning-of-line
+"\e[F": end-of-line
+$endif
diff --git a/testing/readline/readline.install b/testing/readline/readline.install
new file mode 100644
index 000000000..06b646f23
--- /dev/null
+++ b/testing/readline/readline.install
@@ -0,0 +1,17 @@
+infodir=usr/share/info
+filelist=(history.info readline.info rluserman.info)
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
diff --git a/testing/spamassassin/PKGBUILD b/testing/spamassassin/PKGBUILD
deleted file mode 100644
index c84fcb803..000000000
--- a/testing/spamassassin/PKGBUILD
+++ /dev/null
@@ -1,54 +0,0 @@
-# $Id: PKGBUILD 128413 2011-06-23 22:14:04Z angvp $
-# Maintainer: Dale Blount <dale@archlinux.org>
-# Contributor: Manolis Tzanidakis
-pkgname=spamassassin
-pkgver=3.3.2
-pkgrel=1
-pkgdesc="A mail filter to identify spam."
-arch=(i686 x86_64)
-license=(APACHE)
-url="http://spamassassin.apache.org"
-depends=('perl>=5.14' 'perl-net-dns' 'perl-uri' 'perl-html-parser' \
- 'perl-digest-sha1' 'perl-io-socket-ssl' 'openssl' \
- 'perl-libwww' 'perl-mail-spf' \
- 'zlib' 're2c')
- # perl-archive-tar perl-io-zlib)
-makedepends=('razor' 'perl-dbi')
-optdepends=('razor: to identify collaborately-flagged spam'
- 'gnupg: gpg support, without this use --nogpg flag for sa-update'
- 're2c: regexp compiler, for compiling rules with sa-compile'
- 'dkim: DomainKeys Identified Mail (DKIM) checking')
-backup=(etc/conf.d/spamd etc/mail/spamassassin/local.cf \
- etc/mail/spamassassin/init.pre \
- etc/mail/spamassassin/v310.pre \
- etc/mail/spamassassin/v312.pre \
- etc/mail/spamassassin/v320.pre)
-install=${pkgname}.install
-options=(!emptydirs)
-source=(http://mirrors.devlib.org/apache/${pkgname}/source/Mail-SpamAssassin-${pkgver}.tar.gz \
- spamd.conf.d spamd)
-md5sums=('d1d62cc5c6eac57e88c4006d9633b81e'
- 'af501c6b0bb937a2775b747cc4b6d150'
- '0534d3071a526a27ddc2b297afa03b04')
-
-build() {
- cd ${srcdir}/Mail-SpamAssassin-${pkgver}
-
- # install module in vendor directories.
- PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL INSTALLDIRS=vendor \
- CONTACT_ADDRESS=root@localhost ENABLE_SSL=yes PERL_TAINT=no
- /usr/bin/make
-}
-
-check() {
- cd ${srcdir}/Mail-SpamAssassin-${pkgver}
- /usr/bin/make test || true
-}
-
-package() {
- cd ${srcdir}/Mail-SpamAssassin-${pkgver}
- /usr/bin/make DESTDIR=${pkgdir} install
-
- /bin/install -D -m644 ${srcdir}/spamd.conf.d ${pkgdir}/etc/conf.d/spamd
- /bin/install -D -m755 ${srcdir}/spamd ${pkgdir}/etc/rc.d/spamd
-}
diff --git a/testing/sqlite3/PKGBUILD b/testing/sqlite3/PKGBUILD
new file mode 100644
index 000000000..78e063ee7
--- /dev/null
+++ b/testing/sqlite3/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 129519 2011-06-28 15:50:46Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgbase="sqlite3"
+pkgname=('sqlite3' 'sqlite3-tcl' 'sqlite3-doc')
+_amalgamationver=3070700
+_amalgamationver2=${_amalgamationver/00/}
+_docver=${_amalgamationver} #3070700
+pkgver=${_amalgamationver2//0/.}
+pkgrel=1
+pkgdesc="A C library that implements an SQL database engine"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://www.sqlite.org/"
+makedepends=('tcl' 'readline>=6.0.00')
+source=( # tarball containing the amalgamation for SQLite 3.7.5 together with a configure script and makefile for building it; includes now also the Tcl Extension Architecture (TEA)
+ http://www.sqlite.org/sqlite-autoconf-$_amalgamationver.tar.gz
+ #http://www.sqlite.org/sqlite-doc-${_amalgamationver}.zip
+ http://www.sqlite.org/sqlite-doc-${_docver}.zip
+ license.txt)
+options=('!libtool' '!emptydirs')
+md5sums=('a98df57053adf4c132b6b7ab59e9f333'
+ '91a9a3327b46d6d0a1341e9c95cba1e9'
+ 'c1cdbc5544034d9012e421e75a5e4890')
+
+build() {
+ export CFLAGS="$CFLAGS -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_SECURE_DELETE"
+
+ # build sqlite
+ cd "$srcdir"/sqlite-autoconf-$_amalgamationver
+ ./configure --prefix=/usr \
+ --disable-static
+ make
+
+ # build the tcl extension
+ cd "$srcdir"/sqlite-autoconf-$_amalgamationver/tea
+ ./configure --prefix=/usr \
+ --with-system-sqlite
+ make
+
+}
+
+package_sqlite3() {
+
+ pkgdesc="A C library that implements an SQL database engine"
+ depends=('readline>=6.0.00')
+ conflicts=('sqlite')
+ replaces=('sqlite')
+
+ cd ${srcdir}/sqlite-autoconf-$_amalgamationver
+ make DESTDIR=${pkgdir} install
+
+ # license
+ install -D -m644 ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/${pkgname}/license.txt
+}
+
+package_sqlite3-tcl() {
+
+ pkgdesc="sqlite3 Tcl Extension Architecture (TEA)"
+ depends=('sqlite3>=3.7.5')
+
+ cd ${srcdir}/sqlite-autoconf-$_amalgamationver/tea
+ make DESTDIR=${pkgdir} install
+}
+
+package_sqlite3-doc() {
+ pkgdesc="most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation"
+ #arch=('any') - not yet supported
+
+ #cd ${srcdir}/sqlite-doc-${_amalgamationver}
+ cd ${srcdir}/sqlite-doc-${_docver}
+ mkdir -p ${pkgdir}/usr/share/doc/${pkgbase}
+ cp -R * ${pkgdir}/usr/share/doc/${pkgbase}/
+}
diff --git a/testing/sqlite3/license.txt b/testing/sqlite3/license.txt
new file mode 100644
index 000000000..118c5d5e6
--- /dev/null
+++ b/testing/sqlite3/license.txt
@@ -0,0 +1,33 @@
+SQLite Copyright
+SQLite is in the
+Public Domain
+
+
+All of the deliverable code in SQLite has been dedicated to the public domain by the authors. All code authors, and representatives of the companies they work for, have signed affidavits dedicating their contributions to the public domain and originals of those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
+
+The previous paragraph applies to the deliverable code in SQLite - those parts of the SQLite library that you actually bundle and ship with a larger application. Portions of the documentation and some code used as part of the build process might fall under other licenses. The details here are unclear. We do not worry about the licensing of the documentation and build code so much because none of these things are part of the core deliverable SQLite library.
+
+All of the deliverable code in SQLite has been written from scratch. No code has been taken from other projects or from the open internet. Every line of code can be traced back to its original author, and all of those authors have public domain dedications on file. So the SQLite code base is clean and is uncontaminated with licensed code from other projects.
+Obtaining An Explicit License To Use SQLite
+
+Even though SQLite is in the public domain and does not require a license, some users want to obtain a license anyway. Some reasons for obtaining a license include:
+You are using SQLite in a jurisdiction that does not recognize the public domain.
+You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the public domain.
+You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite.
+Your legal department tells you that you have to purchase a license.
+
+If you feel like you really have to purchase a license for SQLite, Hwaci, the company that employs the architect and principal developers of SQLite, will sell you one.
+Contributed Code
+
+In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement:
+The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law.
+
+We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to:
+Hwaci
+6200 Maple Cove Lane
+Charlotte, NC 28269
+USA
+
+A template copyright release is available in PDF or HTML. You can use this release to make future changes.
+
+see http://www.sqlite.org/copyright.html \ No newline at end of file
diff --git a/testing/syslog-ng/PKGBUILD b/testing/syslog-ng/PKGBUILD
new file mode 100644
index 000000000..c54007652
--- /dev/null
+++ b/testing/syslog-ng/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 129498 2011-06-28 13:40:42Z dreisner $
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Maintainer: Eric BĂ©langer <eric@archlinux.org>
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+
+pkgname=syslog-ng
+pkgver=3.2.4
+pkgrel=2
+pkgdesc="Next-generation syslogd with advanced networking and filtering capabilities"
+arch=('i686' 'x86_64')
+license=('GPL2')
+groups=('base')
+url="http://www.balabit.com/network-security/syslog-ng/"
+depends=('glib2' 'eventlog' 'tcp_wrappers' 'openssl' 'libcap' 'awk')
+makedepends=('flex' 'pkg-config')
+optdepends=('logrotate: for rotating log files')
+provides=('logger')
+options=('!libtool')
+backup=('etc/syslog-ng/modules.conf' 'etc/syslog-ng/scl.conf' \
+ 'etc/syslog-ng/syslog-ng.conf' 'etc/logrotate.d/syslog-ng')
+source=(http://www.balabit.com/downloads/files/syslog-ng/sources/${pkgver}/source/${pkgname}_${pkgver}.tar.gz
+ non-blocking-systemd-fds.patch
+ syslog-ng.conf syslog-ng.logrotate syslog-ng.rc cap_syslog.patch)
+md5sums=('5995f7dad0053a478b60a63f6f754203'
+ '25e43afe51eb2223c25168e3c3e7aaf6'
+ '344dddfff946300f5576b13a7e8ea19f'
+ '735636090be4582885974542d2a75855'
+ '8b4441343d859c2f01c2cf799a7e6f98'
+ '46e5dcff71f820d497898331a3f608fe')
+sha1sums=('ff732f7223bd2bd0424d4b9028b523cf62133af1'
+ '73b83deae9a8b945dfb13adf331e6bf6f119b83e'
+ 'b9eb8c61f7cccda543fc5c97fe1d40a8d15e713f'
+ 'ac997b25d7d8e69e66782d3771a0e12aff55ae7f'
+ '4481819762fd1b6f25903016a8878e63c0058fcb'
+ 'f093a09626a528d23f0f2aeece018cab15a735a9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # fix #22555 for kernels >=2.6.38
+ patch -p1 -i ../cap_syslog.patch
+
+ # fix systemd blocking FD bug
+ # https://bugzilla.balabit.com/show_bug.cgi?id=125
+ patch -Np1 < "$srcdir/non-blocking-systemd-fds.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc/syslog-ng \
+ --libexecdir=/usr/lib --localstatedir=/var/lib/syslog-ng \
+ --enable-tcp-wrapper \
+ --with-pidfile-dir=/var/run \
+ --disable-spoof-source \
+ --enable-systemd
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -dm755 "${pkgdir}/var/lib/syslog-ng" "${pkgdir}/etc/syslog-ng/patterndb.d"
+ install -Dm644 "${srcdir}/syslog-ng.conf" "${pkgdir}/etc/syslog-ng/syslog-ng.conf"
+ install -Dm644 "${srcdir}/syslog-ng.logrotate" "${pkgdir}/etc/logrotate.d/syslog-ng"
+ install -Dm755 "${srcdir}/syslog-ng.rc" "${pkgdir}/etc/rc.d/syslog-ng"
+ install -Dm644 "doc/examples/syslog-ng.service" "$pkgdir/lib/systemd/system/syslog-ng.service"
+}
diff --git a/testing/syslog-ng/cap_syslog.patch b/testing/syslog-ng/cap_syslog.patch
new file mode 100644
index 000000000..b6e6db6e4
--- /dev/null
+++ b/testing/syslog-ng/cap_syslog.patch
@@ -0,0 +1,101 @@
+diff --git a/lib/gprocess.h b/lib/gprocess.h
+index cda35b0..5c449f7 100644
+--- a/lib/gprocess.h
++++ b/lib/gprocess.h
+@@ -28,9 +28,14 @@
+ #include "syslog-ng.h"
+
+ #include <sys/types.h>
++#include <sys/utsname.h>
+
+ #if ENABLE_LINUX_CAPS
+ # include <sys/capability.h>
++#
++# ifndef CAP_SYSLOG
++# define CAP_SYSLOG 34
++# endif
+ #endif
+
+ typedef enum
+@@ -78,5 +83,8 @@ void g_process_finish(void);
+
+ void g_process_add_option_group(GOptionContext *ctx);
+
++extern int kernel_version;
++extern void get_kernel_version(void);
++#define LINUX_VERSION(x,y,z) (0x10000*(x) + 0x100*(y) + z)
+
+ #endif
+diff --git a/modules/affile/affile.c b/modules/affile/affile.c
+index e145324..886fa72 100644
+--- a/modules/affile/affile.c
++++ b/modules/affile/affile.c
+@@ -59,7 +59,12 @@ affile_open_file(gchar *name, gint flags,
+ if (privileged)
+ {
+ g_process_cap_modify(CAP_DAC_READ_SEARCH, TRUE);
+- g_process_cap_modify(CAP_SYS_ADMIN, TRUE);
++ if (!kernel_version)
++ get_kernel_version();
++ if (kernel_version < LINUX_VERSION(2, 6, 38))
++ g_process_cap_modify(CAP_SYS_ADMIN, TRUE);
++ else
++ g_process_cap_modify(CAP_SYSLOG, TRUE);
+ }
+ else
+ {
+diff --git a/syslog-ng/main.c b/syslog-ng/main.c
+index 9880c1f..ee5031b 100644
+--- a/syslog-ng/main.c
++++ b/syslog-ng/main.c
+@@ -67,6 +67,7 @@ static gboolean syntax_only = FALSE;
+ static gboolean display_version = FALSE;
+ static gchar *ctlfilename = PATH_CONTROL_SOCKET;
+ static gchar *preprocess_into = NULL;
++int kernel_version;
+
+ static volatile sig_atomic_t sig_hup_received = FALSE;
+ static volatile sig_atomic_t sig_term_received = FALSE;
+@@ -363,6 +364,20 @@ version(void)
+ ON_OFF_STR(ENABLE_PACCT_MODULE));
+ }
+
++void
++get_kernel_version(void) {
++ static struct utsname uts;
++ int x = 0, y = 0, z = 0;
++
++ if (uname(&uts) == -1) {
++ fprintf(stderr, "Unable to retrieve kernel version.\n");
++ exit(1);
++ }
++
++ sscanf(uts.release, "%d.%d.%d", &x, &y, &z);
++ kernel_version = LINUX_VERSION(x, y, z);
++}
++
+ int
+ main(int argc, char *argv[])
+ {
+@@ -379,9 +394,20 @@ main(int argc, char *argv[])
+ * indicate readability. Enabling/disabling cap_sys_admin on every poll
+ * invocation seems to be too expensive. So I enable it for now. */
+
+- g_process_set_caps("cap_net_bind_service,cap_net_broadcast,cap_net_raw,"
++ if (!kernel_version)
++ get_kernel_version();
++ if (kernel_version < LINUX_VERSION(2, 6, 34))
++ g_process_set_caps("cap_net_bind_service,cap_net_broadcast,cap_net_raw,"
+ "cap_dac_read_search,cap_dac_override,cap_chown,cap_fowner=p "
+ "cap_sys_admin=ep");
++ else if (kernel_version < LINUX_VERSION(2, 6, 38))
++ g_process_set_caps("cap_net_bind_service,cap_net_broadcast,cap_net_raw,"
++ "cap_dac_read_search,cap_dac_override,cap_chown,cap_fowner,"
++ "cap_sys_admin=p");
++ else
++ g_process_set_caps("cap_net_bind_service,cap_net_broadcast,cap_net_raw,"
++ "cap_dac_read_search,cap_dac_override,cap_chown,cap_fowner,"
++ "cap_syslog=p");
+ ctx = g_option_context_new("syslog-ng");
+ g_process_add_option_group(ctx);
+ msg_add_option_group(ctx);
diff --git a/testing/syslog-ng/non-blocking-systemd-fds.patch b/testing/syslog-ng/non-blocking-systemd-fds.patch
new file mode 100644
index 000000000..bd056088b
--- /dev/null
+++ b/testing/syslog-ng/non-blocking-systemd-fds.patch
@@ -0,0 +1,32 @@
+From 2f214c4f87d944aa28d53e331a67b1fd88d9840f Mon Sep 17 00:00:00 2001
+From: Balazs Scheidler <bazsi@balabit.hu>
+Date: Wed, 22 Jun 2011 12:50:53 +0200
+Subject: [PATCH] systemd: make sure the acquired fd is in non-blocking mode
+
+The fd acquired from systemd is in blocking mode, and syslog-ng
+didn't explicitly set it to non-blocking, causing syslog-ng
+to stall. This patch changes that, explicitly enables
+O_NONBLOCK and O_CLOEXEC on systemd acquired fds.
+
+Reported-By: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
+---
+ modules/afsocket/afunix.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/modules/afsocket/afunix.c b/modules/afsocket/afunix.c
+index cd9c205..9a4e37b 100644
+--- a/modules/afsocket/afunix.c
++++ b/modules/afsocket/afunix.c
+@@ -108,6 +108,8 @@ afunix_sd_acquire_socket(AFSocketSourceDriver *s, gint *result_fd)
+
+ if (*result_fd != -1)
+ {
++ g_fd_set_nonblock(*result_fd, TRUE);
++ g_fd_set_cloexec(*result_fd, TRUE);
+ msg_verbose("Acquired systemd socket",
+ evt_tag_str("filename", self->filename),
+ evt_tag_int("systemd-sock-fd", *result_fd),
+--
+1.7.5.4
+
diff --git a/testing/syslog-ng/syslog-ng.conf b/testing/syslog-ng/syslog-ng.conf
new file mode 100644
index 000000000..6e3362681
--- /dev/null
+++ b/testing/syslog-ng/syslog-ng.conf
@@ -0,0 +1,92 @@
+@version: 3.2
+#
+# /etc/syslog-ng/syslog-ng.conf
+#
+
+options {
+ stats_freq (0);
+ flush_lines (0);
+ time_reopen (10);
+ log_fifo_size (1000);
+ long_hostnames(off);
+ use_dns (no);
+ use_fqdn (no);
+ create_dirs (no);
+ keep_hostname (yes);
+ perm(0640);
+ group("log");
+};
+
+source src {
+ unix-dgram("/dev/log");
+ internal();
+ file("/proc/kmsg");
+};
+
+destination d_authlog { file("/var/log/auth.log"); };
+destination d_syslog { file("/var/log/syslog.log"); };
+destination d_cron { file("/var/log/crond.log"); };
+destination d_daemon { file("/var/log/daemon.log"); };
+destination d_kernel { file("/var/log/kernel.log"); };
+destination d_lpr { file("/var/log/lpr.log"); };
+destination d_user { file("/var/log/user.log"); };
+destination d_uucp { file("/var/log/uucp.log"); };
+destination d_mail { file("/var/log/mail.log"); };
+destination d_news { file("/var/log/news.log"); };
+destination d_ppp { file("/var/log/ppp.log"); };
+destination d_debug { file("/var/log/debug.log"); };
+destination d_messages { file("/var/log/messages.log"); };
+destination d_errors { file("/var/log/errors.log"); };
+destination d_everything { file("/var/log/everything.log"); };
+destination d_iptables { file("/var/log/iptables.log"); };
+destination d_acpid { file("/var/log/acpid.log"); };
+destination d_console { usertty("root"); };
+
+# Log everything to tty12
+destination console_all { file("/dev/tty12"); };
+
+filter f_auth { facility(auth); };
+filter f_authpriv { facility(auth, authpriv); };
+filter f_syslog { program(syslog-ng); };
+filter f_cron { facility(cron); };
+filter f_daemon { facility(daemon); };
+filter f_kernel { facility(kern) and not filter(f_iptables); };
+filter f_lpr { facility(lpr); };
+filter f_mail { facility(mail); };
+filter f_news { facility(news); };
+filter f_user { facility(user); };
+filter f_uucp { facility(uucp); };
+filter f_ppp { facility(local2); };
+filter f_debug { not facility(auth, authpriv, news, mail); };
+filter f_messages { level(info..warn) and not facility(auth, authpriv, mail, news, cron) and not program(syslog-ng) and not filter(f_iptables); };
+filter f_everything { level(debug..emerg) and not facility(auth, authpriv); };
+filter f_emergency { level(emerg); };
+filter f_info { level(info); };
+filter f_notice { level(notice); };
+filter f_warn { level(warn); };
+filter f_crit { level(crit); };
+filter f_err { level(err); };
+filter f_iptables { match("IN=" value("MESSAGE")) and match("OUT=" value("MESSAGE")); };
+filter f_acpid { program("acpid"); };
+
+log { source(src); filter(f_acpid); destination(d_acpid); };
+log { source(src); filter(f_authpriv); destination(d_authlog); };
+log { source(src); filter(f_syslog); destination(d_syslog); };
+log { source(src); filter(f_cron); destination(d_cron); };
+log { source(src); filter(f_daemon); destination(d_daemon); };
+log { source(src); filter(f_kernel); destination(d_kernel); };
+log { source(src); filter(f_lpr); destination(d_lpr); };
+log { source(src); filter(f_mail); destination(d_mail); };
+log { source(src); filter(f_news); destination(d_news); };
+log { source(src); filter(f_ppp); destination(d_ppp); };
+log { source(src); filter(f_user); destination(d_user); };
+log { source(src); filter(f_uucp); destination(d_uucp); };
+#log { source(src); filter(f_debug); destination(d_debug); };
+log { source(src); filter(f_messages); destination(d_messages); };
+log { source(src); filter(f_err); destination(d_errors); };
+log { source(src); filter(f_emergency); destination(d_console); };
+log { source(src); filter(f_everything); destination(d_everything); };
+log { source(src); filter(f_iptables); destination(d_iptables); };
+
+# Log everything to tty12
+#log { source(src); destination(console_all); };
diff --git a/testing/syslog-ng/syslog-ng.logrotate b/testing/syslog-ng/syslog-ng.logrotate
new file mode 100644
index 000000000..e0e6929f2
--- /dev/null
+++ b/testing/syslog-ng/syslog-ng.logrotate
@@ -0,0 +1,7 @@
+/var/log/messages.log /var/log/auth.log /var/log/mail.log /var/log/kernel.log /var/log/errors.log /var/log/daemon.log /var/log/user.log /var/log/iptables.log /var/log/everything.log /var/log/syslog.log /var/log/acpid.log /var/log/crond.log /var/log/lpr.log /var/log/uucp.log /var/log/news.log /var/log/ppp.log /var/log/debug.log {
+ missingok
+ sharedscripts
+ postrotate
+ /bin/kill -HUP `cat /var/run/syslog-ng.pid 2>/dev/null` 2> /dev/null || true
+ endscript
+}
diff --git a/testing/syslog-ng/syslog-ng.rc b/testing/syslog-ng/syslog-ng.rc
new file mode 100755
index 000000000..bb5320b2c
--- /dev/null
+++ b/testing/syslog-ng/syslog-ng.rc
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+checkconfig() {
+ syslog-ng -s -f /etc/syslog-ng/syslog-ng.conf
+ if [ $? -gt 0 ]; then
+ stat_busy "Configuration error. Please fix your config file (/etc/syslog-ng/syslog-ng.conf)."
+ stat_fail
+ exit 0
+ fi
+}
+
+PID=`pidof -o %PPID /usr/sbin/syslog-ng`
+case "$1" in
+ start)
+ stat_busy "Starting Syslog-NG"
+ checkconfig
+ [ -z "$PID" ] && /usr/sbin/syslog-ng
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon syslog-ng
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Syslog-NG"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /var/run/syslog-ng.pid
+# Removing stale syslog-ng.persist file. Its new location, as of 2.0.6-1, is /var/lib/syslog-ng/
+ rm -f /var/syslog-ng.persist
+ rm_daemon syslog-ng
+ stat_done
+ fi
+ ;;
+ reload)
+ stat_busy "Reloading Syslog-NG configuration and re-opening log files"
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ checkconfig
+ kill -HUP $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|reload}"
+esac
+exit 0