summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/bird/PKGBUILD75
-rw-r--r--community/bird/bird.conf3
-rw-r--r--community/bird/bird.rc34
-rw-r--r--community/bird/bird.service10
-rw-r--r--community/bird/bird6.service10
-rw-r--r--community/calibre/PKGBUILD6
-rw-r--r--community/cclive/PKGBUILD4
-rw-r--r--community/conntrack-tools/PKGBUILD25
-rw-r--r--community/conntrack-tools/conntrackd.conf3
-rw-r--r--community/conntrack-tools/conntrackd.rc34
-rw-r--r--community/encfs/PKGBUILD4
-rw-r--r--community/fatrat/PKGBUILD4
-rw-r--r--community/glob2/PKGBUILD8
-rw-r--r--community/glom/PKGBUILD6
-rw-r--r--community/gnash/PKGBUILD4
-rw-r--r--community/gpsdrive/PKGBUILD6
-rw-r--r--community/gummi/PKGBUILD6
-rw-r--r--community/libvirt/PKGBUILD6
-rwxr-xr-xcommunity/libvirt/libvirtd-guests.rc.d2
-rw-r--r--community/lightspark/PKGBUILD2
-rw-r--r--community/luxrays/PKGBUILD16
-rw-r--r--community/luxrays/luxrays_opencl1.2_use_deprecated.diff12
-rw-r--r--community/luxrender/PKGBUILD4
-rw-r--r--community/makedev/PKGBUILD26
-rw-r--r--community/mapnik/PKGBUILD4
-rw-r--r--community/mongodb/PKGBUILD22
-rw-r--r--community/mygui/PKGBUILD4
-rw-r--r--community/performous/PKGBUILD11
-rw-r--r--community/pingus/PKGBUILD8
-rw-r--r--community/pion-net/PKGBUILD4
-rw-r--r--community/pokerth/PKGBUILD6
-rw-r--r--community/python-pymongo/PKGBUILD10
-rw-r--r--community/qbittorrent/PKGBUILD4
-rw-r--r--community/quvi/PKGBUILD9
-rw-r--r--community/root/PKGBUILD12
-rw-r--r--community/schroot/PKGBUILD4
-rw-r--r--community/smc/PKGBUILD4
-rw-r--r--community/spring/PKGBUILD24
-rw-r--r--community/springlobby/PKGBUILD4
-rw-r--r--community/sslh/PKGBUILD14
-rw-r--r--community/sslh/sslh.conf3
-rw-r--r--community/sslh/sslh.rc34
-rw-r--r--community/tagpy/PKGBUILD4
-rw-r--r--community/tcc/ChangeLog3
-rw-r--r--community/tcc/PKGBUILD46
-rw-r--r--community/twinkle/PKGBUILD4
-rw-r--r--community/wine/PKGBUILD7
-rw-r--r--community/wt/PKGBUILD24
-rw-r--r--extra/akonadi/PKGBUILD4
-rw-r--r--extra/avogadro/PKGBUILD32
-rw-r--r--extra/avogadro/avogadro.install11
-rw-r--r--extra/avogadro/fix-boost.patch33
-rw-r--r--extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch778
-rw-r--r--extra/boost/BOOST_FOREACH.patch60
-rw-r--r--extra/boost/PKGBUILD19
-rw-r--r--extra/ekiga/PKGBUILD4
-rw-r--r--extra/ethtool/PKGBUILD22
-rw-r--r--extra/hugin/PKGBUILD4
-rw-r--r--extra/kdeedu-kig/PKGBUILD4
-rw-r--r--extra/liborigin2/PKGBUILD13
-rw-r--r--extra/libpst/PKGBUILD4
-rw-r--r--extra/libtorrent-rasterbar/PKGBUILD17
-rw-r--r--extra/lyx/PKGBUILD18
-rw-r--r--extra/mkvtoolnix/PKGBUILD28
-rw-r--r--extra/rxvt-unicode/ChangeLog3
-rw-r--r--extra/rxvt-unicode/PKGBUILD8
-rw-r--r--extra/source-highlight/PKGBUILD4
-rw-r--r--extra/thinkfinger/PKGBUILD27
-rw-r--r--extra/thinkfinger/gcc46.patch22
-rw-r--r--extra/wesnoth/PKGBUILD35
-rw-r--r--extra/wesnoth/wesnoth.tmpfiles.conf1
-rw-r--r--extra/xine-ui/PKGBUILD27
-rw-r--r--multilib-testing/binutils-multilib/PKGBUILD75
-rw-r--r--multilib-testing/binutils-multilib/binutils.install17
-rw-r--r--multilib-testing/gcc-multilib/PKGBUILD303
-rw-r--r--multilib-testing/gcc-multilib/gcc-ada.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc-fortran.install16
-rw-r--r--multilib-testing/gcc-multilib/gcc-go.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc-hash-style-both.patch122
-rw-r--r--multilib-testing/gcc-multilib/gcc-libs.install16
-rw-r--r--multilib-testing/gcc-multilib/gcc.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc_pure64.patch26
-rw-r--r--multilib-testing/lib32-glibc/PKGBUILD167
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch42
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch13
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch11
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch26
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.13-futex.patch31
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch132
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch26
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch28
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.14-revert-4768ae77.patch37
-rw-r--r--multilib-testing/lib32-glibc/glibc-__i686.patch13
-rw-r--r--multilib-testing/lib32-glibc/lib32-glibc.conf2
-rw-r--r--multilib/dev86/PKGBUILD48
-rw-r--r--multilib/dev86/dev86-0.16.17-fortify.patch43
-rw-r--r--multilib/dev86/dev86-pic.patch20
-rw-r--r--multilib/lib32-gettext/PKGBUILD38
-rw-r--r--testing/binutils/PKGBUILD82
-rw-r--r--testing/binutils/binutils.install17
-rw-r--r--testing/gcc/PKGBUILD254
-rw-r--r--testing/gcc/gcc-ada.install20
-rw-r--r--testing/gcc/gcc-fortran.install16
-rw-r--r--testing/gcc/gcc-go.install20
-rw-r--r--testing/gcc/gcc-hash-style-both.patch122
-rw-r--r--testing/gcc/gcc-libs.install16
-rw-r--r--testing/gcc/gcc.install20
-rw-r--r--testing/gcc/gcc_pure64.patch26
-rw-r--r--testing/glibc/PKGBUILD204
-rw-r--r--testing/glibc/glibc-2.10-bz4781.patch42
-rw-r--r--testing/glibc/glibc-2.10-dont-build-timezone.patch13
-rw-r--r--testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch11
-rw-r--r--testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch26
-rw-r--r--testing/glibc/glibc-2.13-futex.patch31
-rw-r--r--testing/glibc/glibc-2.14-libdl-crash.patch132
-rw-r--r--testing/glibc/glibc-2.14-reexport-rpc-interface.patch26
-rw-r--r--testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch28
-rw-r--r--testing/glibc/glibc-2.14-revert-4768ae77.patch37
-rw-r--r--testing/glibc/glibc-__i686.patch13
-rw-r--r--testing/glibc/glibc.install20
-rwxr-xr-xtesting/glibc/locale-gen42
-rw-r--r--testing/glibc/locale.gen.txt23
-rwxr-xr-xtesting/glibc/nscd40
-rw-r--r--testing/linux-api-headers/PKGBUILD42
-rw-r--r--~mtjm/h-client/PKGBUILD4
125 files changed, 4173 insertions, 223 deletions
diff --git a/community/bird/PKGBUILD b/community/bird/PKGBUILD
new file mode 100644
index 000000000..95c6821cc
--- /dev/null
+++ b/community/bird/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id$
+# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net>
+
+pkgbase=bird
+pkgname=('bird' 'bird6')
+pkgver=1.3.4
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://bird.network.cz/'
+license=('GPL2')
+depends=('readline' 'ncurses')
+source=("ftp://bird.network.cz/pub/bird/${pkgname}-${pkgver}.tar.gz"
+ 'bird.rc'
+ 'bird.conf'
+ 'bird.service'
+ 'bird6.service')
+md5sums=('20f5aa9d3f853d2c922438dc9d922ecc'
+ 'e5ef4a753623e15e9daacb0874747bfb'
+ 'fbd56e7ce085107e6b6c5600f4f1a4b8'
+ 'e82a0519dca0b289685fda44787f5911'
+ 'c32e7f6cf1be6ed6f9aa98feea25176d')
+
+build() {
+ # different directory to build seprate version of bird
+ cp -a ${pkgbase}-${pkgver} ${pkgbase}6-${pkgver}
+
+ # build classic bird
+ cd ${pkgbase}-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+
+ # build ipv6 bird
+ cd "$srcdir/${pkgbase}6-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-ipv6
+ make
+}
+
+package_bird () {
+ pkgdesc='RIP, OSPFv2 and BGP daemon'
+ backup=('etc/bird.conf')
+
+ # iniscripts files
+ install -D -m 755 bird.rc "${pkgdir}/etc/rc.d/bird"
+ install -D -m 644 bird.conf "${pkgdir}/etc/conf.d/bird"
+ # systemd file
+ install -D -m 644 bird.service "${pkgdir}/lib/systemd/system/bird.service"
+
+ cd ${pkgname}-${pkgver}
+ make prefix="${pkgdir}/usr" sysconfdir="${pkgdir}/etc" localstatedir="${pkgdir}/var" install
+ make docdir="${pkgdir}/usr/share/doc/${pkgname}" install-docs
+
+ # no /var inside pkg
+ rm -r "$pkgdir/var"
+}
+
+package_bird6 () {
+ pkgdesc='RIP, OSPFv3, RADV and BGP daemon (ipv6 version)'
+ backup=('etc/bird6.conf')
+
+ # iniscripts files
+ install -D -m 755 bird.rc "${pkgdir}/etc/rc.d/bird6"
+ install -D -m 644 bird.conf "${pkgdir}/etc/conf.d/bird6"
+ sed -ri 's/bird/bird6/' "${pkgdir}/etc/rc.d/bird6"
+ # systemd config file
+ install -D -m 644 bird6.service "${pkgdir}/lib/systemd/system/bird6.service"
+
+ cd ${pkgname}-${pkgver}
+ make prefix="${pkgdir}/usr" sysconfdir="${pkgdir}/etc" localstatedir="${pkgdir}/var" install
+ make docdir="${pkgdir}/usr/share/doc/${pkgname}" install-docs
+
+ # no /var inside pkg
+ rm -r "$pkgdir/var"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/bird/bird.conf b/community/bird/bird.conf
new file mode 100644
index 000000000..1730475a7
--- /dev/null
+++ b/community/bird/bird.conf
@@ -0,0 +1,3 @@
+# vim:set ts=2 sw=2 ft=sh noet:
+
+DAMEON_OPTIONS='-u noboby -g nobody'
diff --git a/community/bird/bird.rc b/community/bird/bird.rc
new file mode 100644
index 000000000..85b816e3e
--- /dev/null
+++ b/community/bird/bird.rc
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/${0##*/}
+
+NAME=bird
+DAEMON=/usr/sbin/bird
+PID=$(pidof -o %PPID $DAEMON)
+
+case "$1" in
+ start)
+ stat_busy "Starting $NAME daemon"
+ [[ ! $PID ]] && $DAEMON $DAEMON_OPTIONS && add_daemon $NAME && stat_done && exit 0
+ stat_fail
+ ;;
+ stop)
+ stat_busy "Stopping $NAME daemon"
+ [[ $PID ]] && kill $PID &> /dev/null && rm_daemon $NAME && stat_done && exit 0
+ stat_fail
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ exit 0
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|stop|restart}" >&2
+ ;;
+esac
+
+exit 1
+
+# vim:set ts=2 sw=2 ft=sh noet:
diff --git a/community/bird/bird.service b/community/bird/bird.service
new file mode 100644
index 000000000..ebdcd6078
--- /dev/null
+++ b/community/bird/bird.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=BIRD routing daemon
+
+[Service]
+ExecStart=/usr/sbin/bird
+ExecReload=/bin/sh -c "echo configure | /usr/sbin/birdc"
+ExecStop=/bin/sh -c "echo down | /usr/sbin/birdc"
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/bird/bird6.service b/community/bird/bird6.service
new file mode 100644
index 000000000..e4b824ee2
--- /dev/null
+++ b/community/bird/bird6.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=BIRD6 routing daemon
+
+[Service]
+ExecStart=/usr/sbin/bird6
+ExecReload=/bin/sh -c "echo configure | /usr/sbin/birdc6"
+ExecStop=/bin/sh -c "echo down | /usr/sbin/birdc6"
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/calibre/PKGBUILD b/community/calibre/PKGBUILD
index 3835da84a..65e10d605 100644
--- a/community/calibre/PKGBUILD
+++ b/community/calibre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 59472 2011-11-26 10:23:12Z giovanni $
+# $Id: PKGBUILD 59984 2011-12-02 22:33:05Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Petrov Roman <nwhisper@gmail.com>
# Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com>
pkgname=calibre
-pkgver=0.8.28
+pkgver=0.8.29
pkgrel=1
pkgdesc="Ebook management application"
arch=('i686' 'x86_64' 'mips64el')
@@ -21,7 +21,7 @@ install=calibre.install
source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
'desktop_integration.patch'
'calibre-mount-helper')
-md5sums=('08aa2568300e8781824c62de7c23faae'
+md5sums=('e51c2b889e0bdfc217000ebba93af8a7'
'253ce4fe5d01f8ff76b63cd3825755ea'
'675cd87d41342119827ef706055491e7')
diff --git a/community/cclive/PKGBUILD b/community/cclive/PKGBUILD
index f84a0aa74..68ae47376 100644
--- a/community/cclive/PKGBUILD
+++ b/community/cclive/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 57078 2011-10-20 17:07:27Z lfleischer $
+# $Id: PKGBUILD 59926 2011-12-02 20:58:05Z ibiru $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: joyfulgirl@archlinux.us
# Contributor: nathan owe ndowens04 at gmail dot com
pkgname=cclive
pkgver=0.7.7
-pkgrel=1
+pkgrel=2
pkgdesc='Commandline downloader for popular video websites.'
arch=('i686' 'x86_64' 'mips64el')
url='http://cclive.sourceforge.net/'
diff --git a/community/conntrack-tools/PKGBUILD b/community/conntrack-tools/PKGBUILD
index a70a1663f..6a850f19c 100644
--- a/community/conntrack-tools/PKGBUILD
+++ b/community/conntrack-tools/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 59559 2011-11-28 03:06:32Z seblu $
+# $Id: PKGBUILD 60002 2011-12-03 04:09:30Z seblu $
# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net>
# Contributor: Valere Monseur <valere_monseur@hotmail.com>
# Contributor: Alessandro Sagratini <ale_sagra@hotmail.com>
@@ -6,14 +6,18 @@
pkgname=conntrack-tools
pkgver=1.0.0
-pkgrel=1
-pkgdesc="Userspace tools to interact with the Netfilter's Connection Tracking System"
+pkgrel=2
+pkgdesc='Userspace tools to interact with the Netfilter connection tracking system'
arch=('i686' 'x86_64')
url='http://www.netfilter.org/projects/conntrack-tools'
license=('GPL2')
depends=('libnetfilter_conntrack')
-source=(http://www.netfilter.org/projects/${pkgname}/files/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('5add24d4761baf17af630d5627a71752')
+source=("http://www.netfilter.org/projects/${pkgname}/files/${pkgname}-${pkgver}.tar.bz2"
+ 'conntrackd.rc'
+ 'conntrackd.conf')
+md5sums=('5add24d4761baf17af630d5627a71752'
+ '619ab1e15837436b47cbdc739d69ee78'
+ '728570bd7a13263606d97f6cc7f2d095')
build() {
cd ${pkgname}-${pkgver}
@@ -22,13 +26,16 @@ build() {
}
package() {
- cd ${pkgname}-${pkgver}
+ # initscripts scripts
+ install -D -m 755 conntrackd.rc "$pkgdir/etc/rc.d/conntrackd"
+ install -D -m 644 conntrackd.conf "$pkgdir/etc/conf.d/conntrackd"
+
+ # install configuration directories
+ install -d "${pkgdir}/etc/conntrackd"
# install binaries
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
-
- # install directories
- install -d "${pkgdir}/etc/conntrackd"
}
# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/conntrack-tools/conntrackd.conf b/community/conntrack-tools/conntrackd.conf
new file mode 100644
index 000000000..910bb6eda
--- /dev/null
+++ b/community/conntrack-tools/conntrackd.conf
@@ -0,0 +1,3 @@
+# vim:set ts=2 sw=2 ft=sh noet:
+
+DAMEON_OPTIONS='-d'
diff --git a/community/conntrack-tools/conntrackd.rc b/community/conntrack-tools/conntrackd.rc
new file mode 100644
index 000000000..ba1c7ef49
--- /dev/null
+++ b/community/conntrack-tools/conntrackd.rc
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/${0##*/}
+
+NAME=conntrackd
+DAEMON=/usr/sbin/conntrackd
+PID=$(pidof -o %PPID $DAEMON)
+
+case "$1" in
+ start)
+ stat_busy "Starting $NAME daemon"
+ [[ ! $PID ]] && $DAEMON $DAEMON_OPTIONS && add_daemon $NAME && stat_done && exit 0
+ stat_fail
+ ;;
+ stop)
+ stat_busy "Stopping $NAME daemon"
+ [[ $PID ]] && kill $PID &> /dev/null && rm_daemon $NAME && stat_done && exit 0
+ stat_fail
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ exit 0
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|stop|restart}" >&2
+ ;;
+esac
+
+exit 1
+
+# vim:set ts=2 sw=2 ft=sh noet:
diff --git a/community/encfs/PKGBUILD b/community/encfs/PKGBUILD
index ca88d1188..402c2e4ea 100644
--- a/community/encfs/PKGBUILD
+++ b/community/encfs/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 52537 2011-07-26 04:21:21Z svenstaro $
+# $Id: PKGBUILD 59928 2011-12-02 20:58:12Z ibiru $
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
# Contributor: Sven Kauber, <celeon@gmail.com>
@@ -6,7 +6,7 @@
pkgname=encfs
pkgver=1.7.4
-pkgrel=5
+pkgrel=6
pkgdesc='Encrypted filesystem in user-space'
arch=('i686' 'x86_64' 'mips64el')
url='http://www.arg0.net/encfs'
diff --git a/community/fatrat/PKGBUILD b/community/fatrat/PKGBUILD
index d41524bf7..33b203aeb 100644
--- a/community/fatrat/PKGBUILD
+++ b/community/fatrat/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 58520 2011-11-13 15:38:01Z andrea $
+# $Id: PKGBUILD 59930 2011-12-02 20:58:17Z ibiru $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=fatrat
pkgver=1.2.0_beta1
-pkgrel=1
+pkgrel=2
pkgdesc="QT4 based download manager with support for HTTP, FTP, SFTP, BitTorrent, rapidshare and more"
arch=('i686' 'x86_64' 'mips64el')
url="http://fatrat.dolezel.info/"
diff --git a/community/glob2/PKGBUILD b/community/glob2/PKGBUILD
index b6b9aba01..7e64bd13d 100644
--- a/community/glob2/PKGBUILD
+++ b/community/glob2/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 52543 2011-07-26 04:33:02Z svenstaro $
+# $Id: PKGBUILD 59934 2011-12-02 20:58:35Z ibiru $
# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
pkgname=glob2
pkgver=0.9.4.4
-pkgrel=9
+pkgrel=10
pkgdesc="RTS game which minimizes micro-management by automatically assigning tasks to units"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.globulation2.org/"
license=('GPL3')
-depends=('boost-libs' 'sdl_net' 'sdl_image' 'sdl_ttf' 'libvorbis' 'speex' 'mesa' \
+depends=('boost-libs' 'sdl_net' 'sdl_image' 'sdl_ttf' 'libvorbis' 'speex' 'mesa'
'fribidi' 'desktop-file-utils')
makedepends=('scons' 'boost')
install=glob2.install
-source=(http://dl.sv.nongnu.org/releases/${pkgname}/0.9.4/${pkgname}-${pkgver}.tar.gz \
+source=(http://dl.sv.nongnu.org/releases/${pkgname}/0.9.4/${pkgname}-${pkgver}.tar.gz
glob2-0.9.4.1-gcc44.patch)
md5sums=('94c527325f355a29a2807f8f18a6e6a8' 'b13cb1f73ece23bfc6413773678d583e')
sha1sums=('14aa8d840ef5f95a9af591789082fe2322fa8cad' '3e5ae81d85a727387a7049c3a0dfb3db930391b3')
diff --git a/community/glom/PKGBUILD b/community/glom/PKGBUILD
index e29d3315e..b30e99470 100644
--- a/community/glom/PKGBUILD
+++ b/community/glom/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 59046 2011-11-20 23:01:47Z heftig $
+# $Id: PKGBUILD 59936 2011-12-02 20:58:42Z ibiru $
# Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com>
# Contributor: William Rea <sillywilly@gmail.com>
# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
pkgname=glom
-pkgver=1.20.0
+pkgver=1.20.1
pkgrel=1
pkgdesc="An easy-to-use database designer and user interface"
arch=('i686' 'x86_64' 'mips64el')
@@ -15,7 +15,7 @@ makedepends=('intltool' 'gnome-doc-utils' 'python-sphinx' 'boost')
options=('!libtool')
install=$pkgname.install
source=(http://ftp.gnome.org/pub/GNOME/sources/glom/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('047ce7bd6e5a0214f6f49cad15cc0ee1d2e8eeb61462e094328ed32676c15e5b')
+sha256sums=('c76edc09d767eb2de8673fa8bb1cebbf8863fb3c8eb365e4a42fc430730f68d5')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/gnash/PKGBUILD b/community/gnash/PKGBUILD
index 889ef3ce5..cf68b044b 100644
--- a/community/gnash/PKGBUILD
+++ b/community/gnash/PKGBUILD
@@ -4,8 +4,8 @@
pkgbase=gnash
pkgname=(gnash-common gnash-gtk)
pkgver=0.8.9
-pkgrel=6
-arch=(i686 x86_64 'mips64el')
+pkgrel=7
+arch=(i686 x86_64 mips64el)
url="http://www.gnu.org/software/gnash/"
license=(GPL3)
makedepends=(curl giflib libldap sdl agg libjpeg libpng libtool
diff --git a/community/gpsdrive/PKGBUILD b/community/gpsdrive/PKGBUILD
index 23ec7eec9..3cf91b2a1 100644
--- a/community/gpsdrive/PKGBUILD
+++ b/community/gpsdrive/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 52604 2011-07-26 10:16:12Z jelle $
+# $Id: PKGBUILD 59940 2011-12-02 20:59:00Z ibiru $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Maintainer: damir <damir@archlinux.org>
pkgname=gpsdrive
pkgver=2.11
-pkgrel=9
+pkgrel=11
pkgdesc="A car (bike, ship, plane) navigation system"
arch=("i686" "x86_64" 'mips64el')
url="http://www.gpsdrive.de/"
@@ -41,8 +41,8 @@ build() {
export CFLAGS=-I/usr/include/gdk-pixbuf-2.0/
export CPPFLAGS=-I/usr/include/gdk-pixbuf-2.0/
export CXXFLAGS=-I/usr/include/gdk-pixbuf-2.0/
-
export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
+ unset LDFLAGS
# see DefineOptions.cmake for a list of common options and defaults
# cmake -L for a more in-depth listing
diff --git a/community/gummi/PKGBUILD b/community/gummi/PKGBUILD
index 01f064d67..e62b110a6 100644
--- a/community/gummi/PKGBUILD
+++ b/community/gummi/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: soeren <nonick@posteo.de>
pkgname=gummi
-pkgver=0.6.0
+pkgver=0.6.1
pkgrel=1
pkgdesc='Simple LaTex editor for GTK users'
arch=('i686' 'x86_64' 'mips64el')
@@ -11,8 +11,8 @@ url='http://gummi.midnightcoding.org/'
license=('MIT')
depends=('texlive-core' 'gtkspell' 'gtksourceview2' 'poppler-glib')
makedepends=('glib2' 'gtk2' 'pango' 'poppler' 'intltool')
-source=("http://dev.midnightcoding.org/redmine/attachments/download/212/gummi-0.6.0.tar.gz")
-md5sums=('45c727b815460e108a4442db27edd385')
+source=("http://dev.midnightcoding.org/redmine/attachments/download/217/gummi-0.6.1.tar.gz")
+md5sums=('f9a257a4cec208642028ccde6b6514e0')
build() {
cd ${pkgname}-${pkgver}
diff --git a/community/libvirt/PKGBUILD b/community/libvirt/PKGBUILD
index 13090b7bd..456b1e692 100644
--- a/community/libvirt/PKGBUILD
+++ b/community/libvirt/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 58183 2011-11-08 12:06:30Z spupykin $
+# $Id: PKGBUILD 59898 2011-12-02 09:11:25Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jonathan Wiersma <archaur at jonw dot org>
pkgname=libvirt
pkgver=0.9.7
-pkgrel=1
+pkgrel=2
pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)"
arch=('i686' 'x86_64' 'mips64el')
url="http://libvirt.org/"
@@ -39,7 +39,7 @@ source=("http://libvirt.org/sources/$pkgname-$pkgver.tar.gz"
md5sums=('4308b3f4d23f5b0c5196260a9a22a38b'
'c43244c40a0437038c82089618e7beaa'
'3ed0e24f5b5e25bf553f5427d64915e6'
- '6f36bf189ef0e5847038787d13535420'
+ '737ec24aa56871fbabfa892789457db4'
'bc2971dacdbac967fc3474e50affc345'
'b0be50eb9dfe4d133decf23b60880f7d'
'db95aecdf2ccf3693fef5821cdcb7eba'
diff --git a/community/libvirt/libvirtd-guests.rc.d b/community/libvirt/libvirtd-guests.rc.d
index a97a8d9d1..b4331964a 100755
--- a/community/libvirt/libvirtd-guests.rc.d
+++ b/community/libvirt/libvirtd-guests.rc.d
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
. /etc/conf.d/libvirtd-guests
. /etc/rc.conf
diff --git a/community/lightspark/PKGBUILD b/community/lightspark/PKGBUILD
index 523a163d1..2ffa1c59a 100644
--- a/community/lightspark/PKGBUILD
+++ b/community/lightspark/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=lightspark
pkgver=0.5.3
-pkgrel=1
+pkgrel=2
pkgdesc='An alternative Flash Player for Linux.'
arch=('i686' 'x86_64' 'mips64el')
url='http://lightspark.sourceforge.net'
diff --git a/community/luxrays/PKGBUILD b/community/luxrays/PKGBUILD
index fa6b8d01b..59844fd42 100644
--- a/community/luxrays/PKGBUILD
+++ b/community/luxrays/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 57940 2011-11-04 18:08:34Z stativ $
+# $Id: PKGBUILD 59944 2011-12-02 20:59:16Z ibiru $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=luxrays
pkgver=0.8
_pkgver=ed424ec77571
-pkgrel=6
+pkgrel=7
epoch=0
pkgdesc="Accelerate the ray intersection process by using GPUs"
arch=('i686' 'x86_64' 'mips64el')
@@ -11,12 +11,20 @@ url="http://www.luxrender.net/"
license=('GPL')
depends=('freeimage' 'freeglut' 'glew' 'libcl')
makedepends=('cmake' 'boost' 'opencl-headers')
-source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2)
-md5sums=('2ac9c588675c5971c57f473ef10ac67d')
+source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2 \
+ luxrays_opencl1.2_use_deprecated.diff)
+md5sums=('2ac9c588675c5971c57f473ef10ac67d'
+ '27b3eb7c6332aa7f040cc4ca94dc3df6')
build() {
cd "$srcdir/luxrender-$pkgname-$_pkgver"
+ # fix the build with opencl-headers 1.2
+ # they doesn't support OpenCL 1.1, so we have to use this ugly hack of using deprecated API
+ patch -Np1 < "$srcdir/luxrays_opencl1.2_use_deprecated.diff"
+ # fix the break caused by the change of the name of the namespace 'detail' to 'ipcdetail'
+ sed -i 's|::detail|::ipcdetail|' include/luxrays/utils/core/atomic.h
+
export CXXFLAGS="$CXXFLAGS -lpthread"
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_SKIP_RPATH=ON \
diff --git a/community/luxrays/luxrays_opencl1.2_use_deprecated.diff b/community/luxrays/luxrays_opencl1.2_use_deprecated.diff
new file mode 100644
index 000000000..0876628d7
--- /dev/null
+++ b/community/luxrays/luxrays_opencl1.2_use_deprecated.diff
@@ -0,0 +1,12 @@
+diff -rup luxrender-luxrays-ed424ec77571.orig/include/luxrays/luxrays.h luxrender-luxrays-ed424ec77571/include/luxrays/luxrays.h
+--- luxrender-luxrays-ed424ec77571.orig/include/luxrays/luxrays.h 2011-04-24 17:43:08.000000000 +0200
++++ luxrender-luxrays-ed424ec77571/include/luxrays/luxrays.h 2011-11-26 11:38:00.336459874 +0100
+@@ -30,6 +30,8 @@
+
+ #define __CL_ENABLE_EXCEPTIONS
+
++#define CL_USE_DEPRECATED_OPENCL_1_1_APIS
++
+ #if defined(__APPLE__)
+ #include <OpenCL/cl.hpp>
+ #else
diff --git a/community/luxrender/PKGBUILD b/community/luxrender/PKGBUILD
index 46af29ad7..cb4b88df1 100644
--- a/community/luxrender/PKGBUILD
+++ b/community/luxrender/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 57947 2011-11-04 18:37:21Z stativ $
+# $Id: PKGBUILD 59946 2011-12-02 20:59:23Z ibiru $
# 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.60
-pkgrel=9
+pkgrel=10
pkgdesc="Rendering system for physically correct, unbiased image synthesis"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.luxrender.net/"
diff --git a/community/makedev/PKGBUILD b/community/makedev/PKGBUILD
new file mode 100644
index 000000000..bb21237d9
--- /dev/null
+++ b/community/makedev/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net>
+# Contributor: Jonathan Liu <net147@gmail.com>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=makedev
+pkgver=3.23_1
+pkgrel=1
+pkgdesc='The ubiquitous script to create static device nodes'
+arch=('i686' 'x86_64')
+license=('GPL2')
+url='http://people.redhat.com/nalin/MAKEDEV/'
+source=("http://people.redhat.com/nalin/MAKEDEV/MAKEDEV-${pkgver//_/-}.tar.gz")
+md5sums=('554faf6cbc9a84e4bd58ccfa32d74e2f')
+
+build() {
+ cd ${pkgname^^*}-${pkgver/_*}
+ make
+}
+
+package() {
+ cd ${pkgname^^*}-${pkgver/_*}
+ make DESTDIR="${pkgdir}" devdir=/usr/sbin makedevdir=/usr/sbin install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/mapnik/PKGBUILD b/community/mapnik/PKGBUILD
index 1ac199155..fc7444c49 100644
--- a/community/mapnik/PKGBUILD
+++ b/community/mapnik/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 52462 2011-07-25 20:12:25Z jelle $
+# $Id: PKGBUILD 59948 2011-12-02 20:59:31Z ibiru $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: David Dent <thewinch@gmail.com>
# Contributor: orbisvicis <orbisvicis@gmail.com>
pkgname=mapnik
pkgver=0.7.1
-pkgrel=11
+pkgrel=12
pkgdesc="Free Toolkit for developing mapping applications. Above all Mapnik is about rendering beautiful maps."
arch=('i686' 'x86_64' 'mips64el')
url="http://mapnik.org/"
diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD
index 9956f2ab1..8a48efd84 100644
--- a/community/mongodb/PKGBUILD
+++ b/community/mongodb/PKGBUILD
@@ -4,13 +4,14 @@
pkgname=mongodb
pkgver=2.0.1
-pkgrel=2
+pkgrel=3
pkgdesc='A high-performance, open source, schema-free document-oriented database.'
arch=('i686' 'x86_64' 'mips64el')
url='http://www.mongodb.org'
license=('AGPL3')
depends=('boost-libs')
makedepends=('scons' 'boost')
+#checkdepends=('python2-pymongo')
optdepends=('libpcap: needed for mongosniff')
backup=('etc/mongodb.conf')
install="mongodb.install"
@@ -26,12 +27,31 @@ build() {
cd mongodb-src-r${pkgver}
+ # fix python name for smoke tests
+ sed \
+ -e 's/python/&2/' \
+ -i SConstruct
+
scons \
all \
--full
}
+<<COMMENT
+check() {
+ export SCONSFLAGS="$MAKEFLAGS"
+
+ cd mongodb-src-r${pkgver}
+
+ scons \
+ smokeAll \
+ --smokedbprefix=${srcdir}
+}
+COMMENT
+
package() {
+ export SCONSFLAGS="$MAKEFLAGS"
+
cd mongodb-src-r${pkgver}
scons \
diff --git a/community/mygui/PKGBUILD b/community/mygui/PKGBUILD
index d15a5b7e9..1e4e2374a 100644
--- a/community/mygui/PKGBUILD
+++ b/community/mygui/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 58226 2011-11-09 02:09:13Z svenstaro $
+# $Id: PKGBUILD 59978 2011-12-02 21:01:43Z ibiru $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Andrew Belitsky <belitsky.a@gmail.com>
pkgbase=mygui
pkgname=('mygui' 'mygui-docs')
pkgver=3.2.0rc1
-pkgrel=9
+pkgrel=10
pkgdesc="A multilayer and overlappable GUI System for OGRE"
arch=('i686' 'x86_64' 'mips64el')
url="http://mygui.info/"
diff --git a/community/performous/PKGBUILD b/community/performous/PKGBUILD
index c4c9e2f5c..03f87e9e6 100644
--- a/community/performous/PKGBUILD
+++ b/community/performous/PKGBUILD
@@ -1,17 +1,18 @@
-# $Id: PKGBUILD 58417 2011-11-12 17:18:28Z ibiru $
+# $Id: PKGBUILD 59954 2011-12-02 20:59:56Z ibiru $
# Maintainer : Laurent Carlier <lordheavym@gmail.com>
# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
pkgname=performous
pkgver=0.6.1
-pkgrel=10
+pkgrel=11
pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"'
arch=('i686' 'x86_64' 'mips64el')
url="http://performous.org/"
license=('GPL')
-depends=('boost-libs>=1.47' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' \
- 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo')
-makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.47')
+depends=('boost-libs>=1.48' 'imagemagick' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' 'opencv' 'librsvg')
+#depends=('boost-libs>=1.48' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' \
+# 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo')
+makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.48')
optdepends=('performous-freesongs: free songs for performous')
source=(http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/Performous-$pkgver-Source.tar.bz2
boost-filesystem-v3.patch
diff --git a/community/pingus/PKGBUILD b/community/pingus/PKGBUILD
index 7b331d3c7..887484957 100644
--- a/community/pingus/PKGBUILD
+++ b/community/pingus/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 57378 2011-10-26 15:40:42Z lcarlier $
+# $Id: PKGBUILD 59956 2011-12-02 21:00:04Z ibiru $
# Maintainer: Eric Belanger <eric@archlinux.org>
pkgname=pingus
pkgver=0.7.5
-pkgrel=1
+pkgrel=2
pkgdesc="A Lemmings clone, i.e. a level-based puzzle game."
arch=('i686' 'x86_64' 'mips64el')
url="http://pingus.seul.org"
license=('GPL')
-depends=('gcc-libs' 'sdl_image' 'sdl_mixer' 'libgl' 'boost-libs>=1.47')
-makedepends=('scons' 'boost>=1.47' 'mesa')
+depends=('sdl_image' 'sdl_mixer' 'libgl' 'boost-libs>=1.48')
+makedepends=('scons' 'boost>=1.48' 'mesa')
source=(http://pingus.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2 pingus.desktop)
md5sums=('68e0bd1327e0eedcaab64d64528540ba'
'9eec34047bdcff49e08f41e81764e20c')
diff --git a/community/pion-net/PKGBUILD b/community/pion-net/PKGBUILD
index 22669236d..c47091deb 100644
--- a/community/pion-net/PKGBUILD
+++ b/community/pion-net/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 59342 2011-11-23 19:04:28Z stativ $
+# $Id: PKGBUILD 59958 2011-12-02 21:00:12Z ibiru $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Contributor: David Watzke <david@watzke.cz>
pkgname=pion-net
pkgver=4.0.7
-pkgrel=1
+pkgrel=2
pkgdesc="A C++ development library for implementing lightweight HTTP interfaces"
url="http://www.pion.org/projects/pion-network-library"
arch=('i686' 'x86_64')
diff --git a/community/pokerth/PKGBUILD b/community/pokerth/PKGBUILD
index 6020707ed..ba4dca3e6 100644
--- a/community/pokerth/PKGBUILD
+++ b/community/pokerth/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 52482 2011-07-25 20:51:19Z jelle $
+# $Id: PKGBUILD 59960 2011-12-02 21:00:17Z ibiru $
# Maintainer: Mateusz Herych <heniekk@gmail.com>
# Contributor: Vasco Costa <vasco.costa@meiodigital.com>
pkgname=pokerth
_realname=PokerTH
pkgver=0.8.3
-pkgrel=5
+pkgrel=6
pkgdesc="Poker game written in C++/QT4"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.pokerth.net/"
@@ -13,7 +13,7 @@ license=('GPL' 'custom')
depends=('curl' 'boost-libs>=1.43.0' 'gsasl' 'gnutls' 'qt' 'sdl_mixer')
makedepends=('boost')
source=(http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-src.tar.bz2)
-md5sums=('adbe56ad5f547eb255dad91de564bf1c')
+md5sums=('adbe56ad5f547eb255dad91de564bf1c')
build() {
cd $_realname-$pkgver-src
diff --git a/community/python-pymongo/PKGBUILD b/community/python-pymongo/PKGBUILD
index 37fce2792..299e07aa5 100644
--- a/community/python-pymongo/PKGBUILD
+++ b/community/python-pymongo/PKGBUILD
@@ -1,18 +1,20 @@
-# Maintainer: Thomas S Hatch <thatch45@gmail.com>
+# $Id: PKGBUILD 59902 2011-12-02 11:04:21Z andrea $
+# Maintainer:
+# Contributor: Thomas S Hatch <thatch45@gmail.com>
pkgname=python-pymongo
pkgver=1.9b1
-pkgrel=1
+pkgrel=2
pkgdesc="Python driver for MongoDB"
license=("APACHE")
url="http://pypi.python.org/pypi/pymongo/"
+arch=('i686' 'x86_64' 'mips64el')
depends=('python')
makedepends=('python-distribute')
source=(http://pypi.python.org/packages/source/p/pymongo3/pymongo3-$pkgver.tar.gz)
-arch=('i686' 'x86_64' 'mips64el')
md5sums=('6c65dcad8674f37ffc8bc3d6e1fd4155')
package() {
cd $srcdir/pymongo3-$pkgver
- python setup.py install --root=$pkgdir --optimize=1
+ LANG=en_US.UTF8 python setup.py install --root=$pkgdir --optimize=1
}
diff --git a/community/qbittorrent/PKGBUILD b/community/qbittorrent/PKGBUILD
index b846555a9..52dfc21e9 100644
--- a/community/qbittorrent/PKGBUILD
+++ b/community/qbittorrent/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 58528 2011-11-13 15:59:35Z andrea $
+# $Id: PKGBUILD 59962 2011-12-02 21:00:24Z ibiru $
# Maintainer: Thomas Dziedzic < gostrc at gmail >
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
pkgname=qbittorrent
pkgver=2.9.2
-pkgrel=3
+pkgrel=5
pkgdesc="A bittorrent client written in C++ / Qt4 using the good libtorrent library"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.qbittorrent.org/"
diff --git a/community/quvi/PKGBUILD b/community/quvi/PKGBUILD
index 26a78deb0..5f2bedaa8 100644
--- a/community/quvi/PKGBUILD
+++ b/community/quvi/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 57074 2011-10-20 16:44:35Z lfleischer $
+# $Id: PKGBUILD 59896 2011-12-02 07:00:15Z lfleischer $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: joyfulgirl@archlinux.us
pkgname=quvi
-pkgver=0.4.0
+pkgver=0.4.1
pkgrel=1
pkgdesc='Command-line tool for parsing video download links.'
arch=('i686' 'x86_64' 'mips64el')
@@ -11,8 +11,9 @@ url='http://quvi.sourceforge.net/'
license=('LGPL')
depends=('libquvi')
options=('!libtool')
-source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-md5sums=('302652f7e3d97051d7250e3a7bc04250')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig})
+md5sums=('0975e3d8cdf570d2143c49c249e698c5'
+ '53e2e206c17cb6a38c8c6b7b427b8b4a')
build() {
cd "${pkgname}-${pkgver}"
diff --git a/community/root/PKGBUILD b/community/root/PKGBUILD
index 36b1ae172..ed1105ab3 100644
--- a/community/root/PKGBUILD
+++ b/community/root/PKGBUILD
@@ -2,7 +2,7 @@
# Contributor: Sebastian Voecking <voeck@web.de>
pkgname=root
-pkgver=5.30.05
+pkgver=5.32.00
pkgrel=1
pkgdesc='C++ data analysis framework and interpreter from CERN.'
arch=('i686' 'x86_64' 'mips64el')
@@ -12,11 +12,12 @@ depends=('avahi' 'desktop-file-utils' 'ftgl' 'giflib' 'glew' 'graphviz' 'gsl' 'l
'libxft' 'postgresql-libs' 'python2' 'unixodbc' 'shared-mime-info' 'xmlrpc-c' 'xorg-fonts-75dpi' 'mesa' 'gcc-fortran' 'hicolor-icon-theme')
makedepends=('fftw')
install='root.install'
+options=('!emptydirs')
source=("ftp://root.cern.ch/root/root_v${pkgver}.source.tar.gz"
'root.sh'
'rootd'
'root.xml')
-md5sums=('195de7e75fcd6c260d4f78ba943d48df'
+md5sums=('1c30e4e6eeae62ff1ad5118cd1309679'
'0e883ad44f99da9bc7c23bc102800b62'
'efd06bfa230cc2194b38e0c8939e72af'
'e2cf69b204192b5889ceb5b4dedc66f7')
@@ -31,7 +32,9 @@ build() {
fi
# python2 switch
- find . -type f -exec sed -i -e 's/python -O/python2 -O/g' -e 's/python -c/python2 -c/g' {} \;
+ find . -type f -exec sed -i -e 's_#!/usr/bin/env python_&2_' \
+ -e 's/python -O/python2 -O/g' \
+ -e 's/python -c/python2 -c/g' {} \;
sed \
-e 's/python 2/python2 2/g' \
-i configure
@@ -58,8 +61,7 @@ build() {
--enable-roofit \
--enable-python \
--with-python-incdir=/usr/include/python2.7 \
- --with-python-libdir=/usr/lib \
- --enable-explicitlink
+ --with-python-libdir=/usr/lib
# move from aur
#--disable-builtin-afterimage \
diff --git a/community/schroot/PKGBUILD b/community/schroot/PKGBUILD
index b4522db37..a2ae0f37e 100644
--- a/community/schroot/PKGBUILD
+++ b/community/schroot/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 59179 2011-11-21 13:59:03Z spupykin $
+# $Id: PKGBUILD 59964 2011-12-02 21:00:43Z ibiru $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
pkgname=schroot
pkgver=1.4.23
-pkgrel=2
+pkgrel=3
pkgdesc="Allows users to execute shell commands under different root filesystems. (Successor to dchroot)."
url="http://packages.qa.debian.org/s/schroot.html"
license=('GPL3')
diff --git a/community/smc/PKGBUILD b/community/smc/PKGBUILD
index a78f04172..7e0222034 100644
--- a/community/smc/PKGBUILD
+++ b/community/smc/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 52531 2011-07-26 04:15:24Z svenstaro $
+# $Id: PKGBUILD 59966 2011-12-02 21:00:57Z ibiru $
# Maintainer:
# Contributor: Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Kritoke <typeolinux@yahoo.com>
pkgname=smc
pkgver=1.9
-pkgrel=12
+pkgrel=13
pkgdesc="Secret Maryo Chronicles"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.secretmaryo.org/"
diff --git a/community/spring/PKGBUILD b/community/spring/PKGBUILD
index 93d546244..2256dffb3 100644
--- a/community/spring/PKGBUILD
+++ b/community/spring/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 58224 2011-11-09 01:31:15Z svenstaro $
+# $Id: PKGBUILD 59968 2011-12-02 21:01:02Z ibiru $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Arkham <arkham at archlinux dot us>
# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
pkgname=spring
-pkgver=0.83.0
-_pkgver=83.0
+pkgver=0.84.0
+_pkgver=84.0
pkgrel=1
pkgdesc='A free 3D real-time-strategy (RTS) game engine'
arch=('i686' 'x86_64' 'mips64el')
@@ -16,13 +16,27 @@ makedepends=('boost' 'cmake' 'zip' 'lzma-utils' 'p7zip' 'python2')
optdepends=('python2: python-based bots'
'java-runtime: java-based bots')
source=(http://downloads.sourceforge.net/sourceforge/springrts/${pkgname}_${_pkgver}_src.tar.lzma)
-md5sums=('05f1c625f2dd81b0d7f30269435ab2f7')
+md5sums=('2aae395c055adceec5326fb3faec92ba')
build() {
bsdtar -xf ${pkgname}_${_pkgver}_src.tar.lzma
cd spring_${_pkgver}
-
+
+ sed -i "s/FE_DFL_ENV/FE_DFL_ENV_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp rts/lib/streflop/SMath.cpp
+ sed -i "s/FE_INVALID/FE_INVALID_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_DENORMAL/FE_DENORMAL_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_DIVBYZERO/FE_DIVBYZERO_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_OVERFLOW/FE_OVERFLOW_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_UNDERFLOW/FE_UNDERFLOW_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_INEXACT/FE_INEXACT_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_ALL_EXCEPT/FE_ALL_EXCEPT_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_DOWNWARD/FE_DOWNWARD_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_TONEAREST/FE_TONEAREST_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_TOWARDZERO/FE_TOWARDZERO_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/FE_UPWARD/FE_UPWARD_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+ sed -i "s/feclearexcept/feclearexcept_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp
+
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr \
-DDATADIR=share/spring
diff --git a/community/springlobby/PKGBUILD b/community/springlobby/PKGBUILD
index 7e7177ef7..cf40a1438 100644
--- a/community/springlobby/PKGBUILD
+++ b/community/springlobby/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 55636 2011-09-17 00:06:15Z svenstaro $
+# $Id: PKGBUILD 59970 2011-12-02 21:01:10Z ibiru $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: DuGi <dugi@irc.pl>
pkgname=springlobby
pkgver=0.139
-pkgrel=1
+pkgrel=3
pkgdesc="A free cross-platform lobby client for the Spring RTS project."
arch=('i686' 'x86_64' 'mips64el')
url="http://springlobby.info/"
diff --git a/community/sslh/PKGBUILD b/community/sslh/PKGBUILD
index 1a3c77533..55a3b9402 100644
--- a/community/sslh/PKGBUILD
+++ b/community/sslh/PKGBUILD
@@ -5,18 +5,18 @@
pkgname=sslh
pkgver=1.10
-pkgrel=3
+pkgrel=4
pkgdesc='SSL/SSH/OpenVPN/XMPP/tinc port multiplexer'
arch=('i686' 'x86_64')
url='http://www.rutschle.net/tech/sslh.shtml'
license=('GPL2')
backup=('etc/conf.d/sslh')
source=("http://www.rutschle.net/tech/${pkgname}-${pkgver}.tar.gz"
- 'rc.sslh'
- 'conf.sslh')
+ 'sslh.rc'
+ 'sslh.conf')
md5sums=('bc34e9a4770d634633e70589c72708cc'
- '1ad105ad572284fa137d06ae8d1f16fc'
- 'e9b05de9d626803e35f46bdd1e968421')
+ '42f3cda8f18abdf5edcd762e6dcda5d7'
+ '8275b5dd363891139398be1d0e92dd57')
build() {
cd $pkgname-$pkgver
@@ -27,8 +27,8 @@ build() {
}
package() {
- install -D -m 755 rc.sslh "${pkgdir}/etc/rc.d/sslh"
- install -D -m 644 conf.sslh "${pkgdir}/etc/conf.d/sslh"
+ install -D -m 755 sslh.rc "${pkgdir}/etc/rc.d/sslh"
+ install -D -m 644 sslh.conf "${pkgdir}/etc/conf.d/sslh"
cd $pkgname-$pkgver
make PREFIX="$pkgdir/usr" install
}
diff --git a/community/sslh/sslh.conf b/community/sslh/sslh.conf
new file mode 100644
index 000000000..2c4e676a8
--- /dev/null
+++ b/community/sslh/sslh.conf
@@ -0,0 +1,3 @@
+# vim:set ts=2 sw=2 ft=sh noet:
+
+DAMEON_OPTIONS='-p 192.168.0.1:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 -u nobody -P /var/lock/sslh.lock'
diff --git a/community/sslh/sslh.rc b/community/sslh/sslh.rc
new file mode 100644
index 000000000..1532b8c10
--- /dev/null
+++ b/community/sslh/sslh.rc
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/${0##*/}
+
+NAME=sslh
+DAEMON=/usr/sbin/sslh
+PID=$(pidof -o %PPID $DAEMON)
+
+case "$1" in
+ start)
+ stat_busy "Starting $NAME daemon"
+ [[ ! $PID ]] && $DAEMON $DAEMON_OPTIONS && add_daemon $NAME && stat_done && exit 0
+ stat_fail
+ ;;
+ stop)
+ stat_busy "Stopping $NAME daemon"
+ [[ $PID ]] && kill $PID &> /dev/null && rm_daemon $NAME && stat_done && exit 0
+ stat_fail
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ exit 0
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|stop|restart}" >&2
+ ;;
+esac
+
+exit 1
+
+# vim:set ts=2 sw=2 ft=sh noet:
diff --git a/community/tagpy/PKGBUILD b/community/tagpy/PKGBUILD
index c6871ac03..b2751c52d 100644
--- a/community/tagpy/PKGBUILD
+++ b/community/tagpy/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 52446 2011-07-25 19:31:48Z jelle $
+# $Id: PKGBUILD 59972 2011-12-02 21:01:17Z ibiru $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Callan Barrett <wizzomafizzo@gmail.com>
# Contributor: Scott Horowitz <stonecrest@gmail.com>
pkgname=tagpy
pkgver=0.94.8
-pkgrel=5
+pkgrel=6
pkgdesc="Python bindings for TagLib"
arch=('i686' 'x86_64' 'mips64el')
url="http://pypi.python.org/pypi/tagpy"
diff --git a/community/tcc/ChangeLog b/community/tcc/ChangeLog
new file mode 100644
index 000000000..460adba69
--- /dev/null
+++ b/community/tcc/ChangeLog
@@ -0,0 +1,3 @@
+0.9.25-2:
+
+ + Added libtcc.so as well, for dynamic code.
diff --git a/community/tcc/PKGBUILD b/community/tcc/PKGBUILD
new file mode 100644
index 000000000..c5cc9d845
--- /dev/null
+++ b/community/tcc/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 59917 2002-02-02 03:01:25Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : Gergely Imreh <imrehgATgmailDOTcom>
+# Contributor : dschauer <dschauerATgmailDOTcom>
+# Contributor : Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor : Jeremy Cowgar <jeremy@cowgar.com>
+
+pkgname=tcc
+pkgver=0.9.25
+pkgrel=2
+pkgdesc="Tiny C Compiler"
+arch=('i686' 'x86_64')
+url="http://bellard.org/tcc/"
+license=('LGPL')
+makedepends=('gcc')
+options=('docs')
+source=(http://download.savannah.nongnu.org/releases/tinycc/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('991c2a1986cce15f03ca6ddc86ea5f43')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # sed fixes from Gentoo ebuild, cheers!
+ # Don't strip
+ sed -i -e 's|$(INSTALL) -s|$(INSTALL)|' Makefile
+
+ # Fix examples
+ sed -i -e '1{
+ i#! /usr/bin/tcc -run
+ /^#!/d
+ }' examples/ex*.c
+ sed -i -e '1s/$/ -lX11/' examples/ex4.c
+
+ ./configure --prefix=/usr
+ make
+ make tccdir=${pkgdir}/usr/lib/tcc libdir=${pkgdir}/usr/lib \
+ mandir=${pkgdir}/usr/share/man bindir=${pkgdir}/usr/bin \
+ includedir=${pkgdir}/usr/include \
+ docdir=${pkgdir}/usr/share/doc/tcc \
+ install
+
+ make clean
+ make CFLAGS="-fPIC" libtcc.o
+ ld -shared -soname libtcc.so -o libtcc.so libtcc.o
+ install -D -m 755 libtcc.so "${pkgdir}/usr/lib/libtcc.so"
+}
diff --git a/community/twinkle/PKGBUILD b/community/twinkle/PKGBUILD
index 0032df664..850dad358 100644
--- a/community/twinkle/PKGBUILD
+++ b/community/twinkle/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 52444 2011-07-25 19:31:08Z jelle $
+# $Id: PKGBUILD 59974 2011-12-02 21:01:27Z ibiru $
# Maintainer:
# Contributor: Jeff Mickey <jeff@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
@@ -6,7 +6,7 @@
pkgname=twinkle
pkgver=1.4.2
-pkgrel=11
+pkgrel=12
pkgdesc="A softphone for voice over IP and instant messaging communications using the SIP protocol"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.twinklephone.com/"
diff --git a/community/wine/PKGBUILD b/community/wine/PKGBUILD
index 8a8198de4..004bb7207 100644
--- a/community/wine/PKGBUILD
+++ b/community/wine/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 58857 2011-11-19 02:52:24Z svenstaro $
+# $Id: PKGBUILD 59923 2011-12-02 20:03:51Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Eduardo Romero <eduardo@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=wine
-pkgver=1.3.33
+pkgver=1.3.34
pkgrel=1
_pkgbasever=${pkgver/rc/-rc}
source=(http://ibiblio.org/pub/linux/system/emulators/$pkgname/$pkgname-$_pkgbasever.tar.bz2)
-md5sums=('24807ef7d9a5e8c2635541880672db7b')
+md5sums=('ae7be1767e95e27360fc86f573649c19')
pkgdesc="A compatibility layer for running Windows programs"
url="http://www.winehq.com"
@@ -26,6 +26,7 @@ depends=(
libxrandr lib32-libxrandr
libxdamage lib32-libxdamage
libxi lib32-libxi
+ gettext lib32-gettext
desktop-file-utils
)
diff --git a/community/wt/PKGBUILD b/community/wt/PKGBUILD
index f08388ac8..f1c44480e 100644
--- a/community/wt/PKGBUILD
+++ b/community/wt/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 56173 2011-10-02 20:43:18Z spupykin $
+# $Id: PKGBUILD 59976 2011-12-02 21:01:36Z ibiru $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Denis Martinez <deuns.martinez@gmail.com>
pkgname=wt
-pkgver=3.1.11
+pkgver=3.2.0
pkgrel=1
pkgdesc="a C++ library and application server for developing and deploying web applications"
arch=('i686' 'x86_64' 'mips64el')
@@ -13,18 +13,18 @@ depends=('boost-libs>=1.36')
makedepends=('boost>=1.36' 'cmake>=2.8'
'postgresql-libs' 'zlib' 'fcgi' 'sqlite3' 'libharu' 'graphicsmagick' 'pango' 'mysql++' 'qt')
optdepends=('openssl: for SSL support in built-in webserver'
- 'zlib: for compression in HTTP protocol'
- 'fcgi: for FastCGI support'
- 'postgresql-libs: for PostgreSQL Dbo support'
- 'sqlite3: for Sqlite3 Dbo support'
- 'libharu: for PDF generation (WPdfImage)'
- 'graphicsmagick: for raster image support (WRasterImage)'
- 'pango: for advanced font rendering (WRasterImage)'
- 'mysql++: for the hangman example'
- 'qt: for the Wt/Qt interopability example (wtwithqt)')
+ 'zlib: for compression in HTTP protocol'
+ 'fcgi: for FastCGI support'
+ 'postgresql-libs: for PostgreSQL Dbo support'
+ 'sqlite3: for Sqlite3 Dbo support'
+ 'libharu: for PDF generation (WPdfImage)'
+ 'graphicsmagick: for raster image support (WRasterImage)'
+ 'pango: for advanced font rendering (WRasterImage)'
+ 'mysql++: for the hangman example'
+ 'qt: for the Wt/Qt interopability example (wtwithqt)')
backup=('etc/wt/wt_config.xml')
source=(http://downloads.sourceforge.net/witty/$pkgname-${pkgver}.tar.gz)
-md5sums=('0e1701db78a899d1f7e943098678cc7a')
+md5sums=('82ff039bccf7a941b37142c9d3fc7f32')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/extra/akonadi/PKGBUILD b/extra/akonadi/PKGBUILD
index 79118b7e5..ad192cfb9 100644
--- a/extra/akonadi/PKGBUILD
+++ b/extra/akonadi/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 139641 2011-10-04 06:53:59Z andrea $
+# $Id: PKGBUILD 144041 2011-12-02 20:54:07Z ibiru $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=akonadi
pkgver=1.6.2
-pkgrel=1
+pkgrel=2
pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data"
arch=('i686' 'x86_64' 'mips64el')
url='http://pim.kde.org/akonadi'
diff --git a/extra/avogadro/PKGBUILD b/extra/avogadro/PKGBUILD
index a30a4355e..aad64d103 100644
--- a/extra/avogadro/PKGBUILD
+++ b/extra/avogadro/PKGBUILD
@@ -1,30 +1,42 @@
-# $Id: PKGBUILD 132785 2011-07-26 07:29:20Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# $Id: PKGBUILD 144043 2011-12-02 20:54:10Z ibiru $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Nick B <Shirakawasuna at gmail _dot_com>
pkgname=avogadro
pkgver=1.0.3
-pkgrel=3
+pkgrel=4
pkgdesc="An advanced molecular editor based on Qt"
arch=('i686' 'x86_64' 'mips64el')
url="http://avogadro.openmolecules.net/wiki/Main_Page"
license=('GPL2')
-depends=('eigen' 'openbabel' 'python2-pyqt' 'boost-libs' 'glew' 'python2-numpy')
+depends=('eigen2' 'openbabel' 'python2-pyqt' 'boost-libs' 'glew' 'python2-numpy')
makedepends=('cmake' 'boost')
-source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('92c2702c1980f70fb6d87a1a58147911')
+install=avogadro.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'replace-qt4_automoc-with-qt4_wrap_cpp.patch'
+ 'fix-boost.patch')
+md5sums=('92c2702c1980f70fb6d87a1a58147911'
+ 'aec516daab066c15326a9681f8f15abc'
+ '46282e4709429447e44a0a54d51ad2ec')
build() {
- cd ${srcdir}
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}"/replace-qt4_automoc-with-qt4_wrap_cpp.patch
+ patch -p1 -i "${srcdir}"/fix-boost.patch
+
+ cd "${srcdir}"
mkdir build
cd build
cmake ../${pkgname}-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+ -DQT_MKSPECS_RELATIVE=share/qt/mkspecs
make
}
package() {
- cd ${srcdir}/build
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
}
diff --git a/extra/avogadro/avogadro.install b/extra/avogadro/avogadro.install
new file mode 100644
index 000000000..2eaa60550
--- /dev/null
+++ b/extra/avogadro/avogadro.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/extra/avogadro/fix-boost.patch b/extra/avogadro/fix-boost.patch
new file mode 100644
index 000000000..8fb53ef12
--- /dev/null
+++ b/extra/avogadro/fix-boost.patch
@@ -0,0 +1,33 @@
+--- avogadro-1.0.3/libavogadro/src/CMakeLists.txt~ 2011-11-29 18:33:01.777291627 +0000
++++ avogadro-1.0.3/libavogadro/src/CMakeLists.txt 2011-11-29 18:33:23.480814612 +0000
+@@ -149,7 +149,7 @@
+ endforeach(P_ITEM ${PYTHON_SRCS})
+ endif(NOT ENABLE_PYTHON OR NOT ALL_PYTHON_FOUND)
+
+-QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS})
++QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
+
+ # you have to add link_directories before you add the target
+ if(ENABLE_PYTHON AND ALL_PYTHON_FOUND)
+--- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt~ 2011-11-29 18:37:15.449506548 +0000
++++ avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt 2011-11-29 18:37:52.729831744 +0000
+@@ -11,7 +11,7 @@
+ # use all cpp files in this directory
+ FILE(GLOB wrapper_SRCS "*.cpp")
+
+-QT4_WRAP_CPP(MOC_SRCS moleculelist.h)
++QT4_WRAP_CPP(MOC_SRCS moleculelist.h OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
+
+ ADD_LIBRARY(python-module MODULE ${wrapper_SRCS} ${MOC_SRCS})
+ SET_TARGET_PROPERTIES(python-module PROPERTIES OUTPUT_NAME Avogadro)
+--- avogadro-1.0.3/libavogadro/CMakeLists.txt~ 2011-11-29 19:41:34.066938217 +0000
++++ avogadro-1.0.3/libavogadro/CMakeLists.txt 2011-11-29 19:42:53.084320315 +0000
+@@ -18,7 +18,7 @@
+ # Assume all MOC stuff is in the headers, replace .cpp and use qt4_wrap_cpp
+ # We should probably scan the header to verify the Q_OBJECT macro is used
+ string(REPLACE ".cpp" ".h" hdr_list "${src_list}")
+- qt4_wrap_cpp(moc_files ${hdr_list})
++ qt4_wrap_cpp(moc_files ${hdr_list} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
+ # Now sort out the ui and qrc files, process them as appropriate
+ set(ui_plugin_files)
+ set(qrc_plugin_files)
diff --git a/extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch b/extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch
new file mode 100644
index 000000000..11f58a505
--- /dev/null
+++ b/extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch
@@ -0,0 +1,778 @@
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/CMakeLists.txt avogadro-1.0.3-edit/libavogadro/src/CMakeLists.txt
+--- avogadro-1.0.3/libavogadro/src/CMakeLists.txt 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/CMakeLists.txt 2011-11-29 18:49:58.520790652 +0100
+@@ -75,6 +75,42 @@
+ zmatrix.h
+ )
+
++SET(libavogadro_MOC_HDRS
++ animation.h
++ atom.h
++ bond.h
++ color.h
++ colorbutton.h
++ colors/elementcolor.h
++ cube.h
++ elementdetail_p.h
++ elementtranslator.h
++ engine.h
++ engines/bsdyengine.h
++ extension.h
++ fragment.h
++ glwidget.h
++ mesh.h
++ molecule.h
++ moleculefile.h
++ moleculefile_p.h
++ periodictablescene_p.h
++ periodictableview.h
++ plotwidget.h
++ plugin.h
++ pluginmanager.h
++ primitive.h
++ protein.h
++ pythonengine_p.h
++ pythonerror.h
++ pythonextension_p.h
++ pythontool_p.h
++ residue.h
++ tool.h
++ toolgroup.h
++ zmatrix.h
++)
++
+ set(libavogadro_SRCS ${libavogadro_SRCS} ${libavogadro_UIS})
+ # Also add in the qtiocompressor class
+ #set(libavogadro_SRCS ${libavogadro_SRCS} ../qtiocompressor/qtiocompressor.cpp)
+@@ -113,7 +148,7 @@
+ endforeach(P_ITEM ${PYTHON_SRCS})
+ endif(NOT ENABLE_PYTHON OR NOT ALL_PYTHON_FOUND)
+
+-qt4_automoc(${libavogadro_SRCS})
++QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS})
+
+ # you have to add link_directories before you add the target
+ if(ENABLE_PYTHON AND ALL_PYTHON_FOUND)
+@@ -149,7 +184,7 @@
+ COMMAND ${CMAKE_COMMAND} -E ${header_cmd} "${from}" "${to}")
+ endforeach(headerFile ${libavogadro_HDRS})
+
+-add_library(avogadro SHARED ${libavogadro_SRCS} ${libavogadro_QM} ${pythontool_RC_SRCS})
++add_library(avogadro SHARED ${libavogadro_SRCS} ${libavogadro_MOC_SRCS} ${libavogadro_QM} ${pythontool_RC_SRCS})
+ set_target_properties(avogadro
+ PROPERTIES VERSION ${Avogadro_VERSION_FULL} SOVERSION 1 )
+ target_link_libraries(avogadro ${AVO_LINK_LIBRARIES})
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/animation.cpp avogadro-1.0.3-edit/libavogadro/src/animation.cpp
+--- avogadro-1.0.3/libavogadro/src/animation.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/animation.cpp 2011-11-29 18:48:47.967839537 +0100
+@@ -224,5 +224,3 @@
+ }
+
+ } // end namespace Avogadro
+-
+-#include "animation.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/atom.cpp avogadro-1.0.3-edit/libavogadro/src/atom.cpp
+--- avogadro-1.0.3/libavogadro/src/atom.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/atom.cpp 2011-11-29 18:48:39.561218412 +0100
+@@ -293,5 +293,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "atom.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/bond.cpp avogadro-1.0.3-edit/libavogadro/src/bond.cpp
+--- avogadro-1.0.3/libavogadro/src/bond.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/bond.cpp 2011-11-29 18:49:00.067773985 +0100
+@@ -166,5 +166,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "bond.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/color.cpp avogadro-1.0.3-edit/libavogadro/src/color.cpp
+--- avogadro-1.0.3/libavogadro/src/color.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/color.cpp 2011-11-29 18:49:05.207746140 +0100
+@@ -152,5 +152,3 @@
+ return "Generic Color";
+ }
+ }
+-
+-#include "color.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/colorbutton.cpp avogadro-1.0.3-edit/libavogadro/src/colorbutton.cpp
+--- avogadro-1.0.3/libavogadro/src/colorbutton.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/colorbutton.cpp 2011-11-29 18:49:11.987709410 +0100
+@@ -94,5 +94,3 @@
+ }
+
+ } // end namespace
+-
+-#include "colorbutton.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/colors/elementcolor.cpp avogadro-1.0.3-edit/libavogadro/src/colors/elementcolor.cpp
+--- avogadro-1.0.3/libavogadro/src/colors/elementcolor.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/colors/elementcolor.cpp 2011-11-29 18:50:11.077389292 +0100
+@@ -63,7 +63,5 @@
+
+ }
+
+-#include "elementcolor.moc"
+ //this is a static color plugin...
+ //Q_EXPORT_PLUGIN2(elementcolor, Avogadro::ElementColorFactory)
+-
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/cube.cpp avogadro-1.0.3-edit/libavogadro/src/cube.cpp
+--- avogadro-1.0.3/libavogadro/src/cube.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/cube.cpp 2011-11-29 18:50:26.357306516 +0100
+@@ -322,5 +322,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "cube.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/elementdetail_p.cpp avogadro-1.0.3-edit/libavogadro/src/elementdetail_p.cpp
+--- avogadro-1.0.3/libavogadro/src/elementdetail_p.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/elementdetail_p.cpp 2011-11-29 18:50:37.680578505 +0100
+@@ -132,5 +132,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "elementdetail_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/elementtranslator.cpp avogadro-1.0.3-edit/libavogadro/src/elementtranslator.cpp
+--- avogadro-1.0.3/libavogadro/src/elementtranslator.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/elementtranslator.cpp 2011-11-29 18:50:48.160521729 +0100
+@@ -401,5 +401,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "elementtranslator.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/engine.cpp avogadro-1.0.3-edit/libavogadro/src/engine.cpp
+--- avogadro-1.0.3/libavogadro/src/engine.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/engine.cpp 2011-11-29 18:50:54.397154610 +0100
+@@ -377,5 +377,3 @@
+ return m_molecule->bonds();
+ }
+ }
+-
+-#include "engine.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/engines/bsdyengine.cpp avogadro-1.0.3-edit/libavogadro/src/engines/bsdyengine.cpp
+--- avogadro-1.0.3/libavogadro/src/engines/bsdyengine.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/engines/bsdyengine.cpp 2011-11-29 18:51:18.733689435 +0100
+@@ -442,7 +442,5 @@
+ }
+
+ }
+-
+-#include "bsdyengine.moc"
+ // This is a static engine...
+ // Q_EXPORT_PLUGIN2( bsdyengine, Avogadro::BSDYEngineFactory )
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/extension.cpp avogadro-1.0.3-edit/libavogadro/src/extension.cpp
+--- avogadro-1.0.3/libavogadro/src/extension.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/extension.cpp 2011-11-29 18:51:56.360152261 +0100
+@@ -80,5 +80,3 @@
+ }
+
+ }
+-
+-#include "extension.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/fragment.cpp avogadro-1.0.3-edit/libavogadro/src/fragment.cpp
+--- avogadro-1.0.3/libavogadro/src/fragment.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/fragment.cpp 2011-11-29 18:52:01.906788880 +0100
+@@ -82,5 +82,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "fragment.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/glwidget.cpp avogadro-1.0.3-edit/libavogadro/src/glwidget.cpp
+--- avogadro-1.0.3/libavogadro/src/glwidget.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/glwidget.cpp 2011-11-29 18:52:14.346721486 +0100
+@@ -1966,5 +1966,3 @@
+ d->updateCache = true;
+ }
+ }
+-
+-#include "glwidget.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/mesh.cpp avogadro-1.0.3-edit/libavogadro/src/mesh.cpp
+--- avogadro-1.0.3/libavogadro/src/mesh.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/mesh.cpp 2011-11-29 18:52:23.033341093 +0100
+@@ -231,5 +231,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "mesh.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/molecule.cpp avogadro-1.0.3-edit/libavogadro/src/molecule.cpp
+--- avogadro-1.0.3/libavogadro/src/molecule.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/molecule.cpp 2011-11-29 18:52:33.573283993 +0100
+@@ -1575,5 +1575,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "molecule.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/moleculefile.cpp avogadro-1.0.3-edit/libavogadro/src/moleculefile.cpp
+--- avogadro-1.0.3/libavogadro/src/moleculefile.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/moleculefile.cpp 2011-11-29 18:56:26.728687548 +0100
+@@ -22,23 +22,14 @@
+ 02110-1301, USA.
+ **********************************************************************/
+
+-#include "moleculefile.h"
++#include "moleculefile_p.h"
+
+ #include <avogadro/molecule.h>
+
+-#include <QFile>
+ #include <QFileInfo>
+-#include <QStringList>
+-#include <QThread>
+ #include <QDebug>
+ #include <QPointer>
+
+-#include <openbabel/mol.h>
+-#include <openbabel/obconversion.h>
+-
+-// Included in obconversion.h
+-//#include <iostream>
+-
+ namespace Avogadro {
+
+ using OpenBabel::OBConversion;
+@@ -578,164 +569,6 @@
+ return false;
+ }
+
+- class ReadFileThread : public QThread
+- {
+- // Q_OBJECT
+-
+- public:
+- ReadFileThread(MoleculeFile *moleculeFile) : m_moleculeFile(moleculeFile)
+- {
+- }
+-
+- void addConformer(const OpenBabel::OBMol &conformer)
+- {
+- unsigned int numAtoms = conformer.NumAtoms();
+- std::vector<Eigen::Vector3d> *coords = new std::vector<Eigen::Vector3d>(numAtoms);
+- for (unsigned int i = 0; i < numAtoms; ++i)
+- coords->push_back(Eigen::Vector3d(conformer.GetAtom(i+1)->GetVector().AsArray()));
+- m_moleculeFile->m_conformers.push_back(coords);
+- }
+-
+- void detectConformers(unsigned int c, const OpenBabel::OBMol &first, const OpenBabel::OBMol &current)
+- {
+- if (!c) {
+- // this is the first molecule read
+- m_moleculeFile->setConformerFile(true);
+- addConformer(current);
+- return;
+- }
+-
+- if (!m_moleculeFile->isConformerFile())
+- return;
+-
+- // as long as we are not sure if this really is a
+- // conformer/trajectory file, add the conformers
+- addConformer(current);
+-
+- // performance: check only certain molecule 1-10,20,50
+- switch (c) {
+- case 1:
+- case 2:
+- case 3:
+- case 4:
+- case 5:
+- case 6:
+- case 7:
+- case 8:
+- case 9:
+- case 10:
+- case 20:
+- case 50:
+- break;
+- default:
+- return;
+- }
+-
+- if (first.NumAtoms() != current.NumAtoms()) {
+- m_moleculeFile->setConformerFile(false);
+- m_moleculeFile->m_conformers.clear();
+- return;
+- }
+-
+- for (unsigned int i = 0; i < first.NumAtoms(); ++i) {
+- OpenBabel::OBAtom *firstAtom = first.GetAtom(i+1);
+- OpenBabel::OBAtom *currentAtom = current.GetAtom(i+1);
+- if (firstAtom->GetAtomicNum() != currentAtom->GetAtomicNum()) {
+- m_moleculeFile->setConformerFile(false);
+- m_moleculeFile->m_conformers.clear();
+- return;
+- }
+- }
+- }
+-
+- void run()
+- {
+- // Check that the file can be read from disk
+- if (!MoleculeFile::canOpen(m_moleculeFile->m_fileName, QFile::ReadOnly | QFile::Text)) {
+- // Cannot read the file
+- m_moleculeFile->m_error.append(QObject::tr("File %1 cannot be opened for reading.")
+- .arg(m_moleculeFile->m_fileName));
+- return;
+- }
+-
+- // Construct the OpenBabel objects, set the file type
+- OpenBabel::OBConversion conv;
+- OpenBabel::OBFormat *inFormat;
+- if (!m_moleculeFile->m_fileType.isEmpty() && !conv.SetInFormat(m_moleculeFile->m_fileType.toAscii().data())) {
+- // Input format not supported
+- m_moleculeFile->m_error.append(
+- QObject::tr("File type '%1' is not supported for reading.").arg(m_moleculeFile->m_fileType));
+- return;
+- } else {
+- inFormat = conv.FormatFromExt(m_moleculeFile->m_fileName.toAscii().data());
+- if (!inFormat || !conv.SetInFormat(inFormat)) {
+- // Input format not supported
+- m_moleculeFile->m_error.append(QObject::tr("File type for file '%1' is not supported for reading.")
+- .arg(m_moleculeFile->m_fileName));
+- return;
+- }
+- }
+-
+- // set any options
+- if (!m_moleculeFile->m_fileOptions.isEmpty()) {
+- foreach(const QString &option,
+- m_moleculeFile->m_fileOptions.split('\n', QString::SkipEmptyParts)) {
+- conv.AddOption(option.toAscii().data(), OBConversion::INOPTIONS);
+- }
+- }
+-
+- // Now attempt to read the molecule in
+- ifstream ifs;
+- ifs.open(m_moleculeFile->m_fileName.toLocal8Bit()); // This handles utf8 file names etc
+- if (!ifs) // Should not happen, already checked file could be opened
+- return;
+-
+- // read all molecules
+- OpenBabel::OBMol firstOBMol, currentOBMol;
+- unsigned int c = 0;
+- conv.SetInStream(&ifs);
+- m_moleculeFile->streamposRef().push_back(ifs.tellg());
+- while (ifs.good() && conv.Read(&currentOBMol)) {
+- if (!c)
+- firstOBMol = currentOBMol;
+-
+- if (c > 20 && !m_moleculeFile->isConformerFile())
+- m_moleculeFile->setFirstReady(true);
+-
+- // detect conformer/trajectory files
+- detectConformers(c, firstOBMol, currentOBMol);
+- // store information about molecule
+- m_moleculeFile->streamposRef().push_back(ifs.tellg());
+- m_moleculeFile->titlesRef().append(currentOBMol.GetTitle());
+- // increment count
+- ++c;
+- }
+- m_moleculeFile->streamposRef().pop_back();
+-
+- // signle molecule files are not conformer files
+- if (c == 1) {
+- m_moleculeFile->setConformerFile(false);
+- m_moleculeFile->m_conformers.clear();
+- }
+-
+- // check for empty titles
+- for (int i = 0; i < m_moleculeFile->titlesRef().size(); ++i) {
+- if (!m_moleculeFile->titlesRef()[i].isEmpty())
+- continue;
+-
+- QString title;
+- if (m_moleculeFile->isConformerFile())
+- title = tr("Conformer %1").arg(i+1);
+- else
+- title = tr("Molecule %1").arg(i+1);
+-
+- m_moleculeFile->titlesRef()[i] = title;
+- }
+- }
+-
+- MoleculeFile *m_moleculeFile;
+- }; // end ReadFileThread class
+-
+ MoleculeFile* MoleculeFile::readFile(const QString &fileName,
+ const QString &fileType, const QString &fileOptions, bool wait)
+ {
+@@ -794,6 +627,3 @@
+ }
+
+ } // end namespace Avogadro
+-
+-#include "moleculefile.moc"
+-
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/moleculefile_p.h avogadro-1.0.3-edit/libavogadro/src/moleculefile_p.h
+--- avogadro-1.0.3/libavogadro/src/moleculefile_p.h 1970-01-01 01:00:00.000000000 +0100
++++ avogadro-1.0.3-edit/libavogadro/src/moleculefile_p.h 2011-11-29 18:57:43.108273764 +0100
+@@ -0,0 +1,202 @@
++/**********************************************************************
++ MoleculeFile - Class representing molecule file.
++
++ Copyright (C) 2009 Marcus Hanwell, Tim Vandermeersch
++
++ This file is part of the Avogadro molecular editor project.
++ For more information, see <http://avogadro.openmolecules.net/>
++
++ Avogadro 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.
++
++ Avogadro 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.
++ **********************************************************************/
++
++#ifndef MOLECULEFILE_P_H
++#define MOLECULEFILE_P_H
++
++#include "moleculefile.h"
++
++#include <openbabel/mol.h>
++#include <openbabel/obconversion.h>
++
++#include <QFile>
++#include <QStringList>
++#include <QThread>
++
++namespace Avogadro {
++
++ using OpenBabel::OBConversion;
++ using std::ifstream;
++
++class ReadFileThread : public QThread
++{
++ Q_OBJECT
++
++ public:
++ ReadFileThread(MoleculeFile *moleculeFile) : m_moleculeFile(moleculeFile)
++ {
++ }
++
++ void addConformer(const OpenBabel::OBMol &conformer)
++ {
++ unsigned int numAtoms = conformer.NumAtoms();
++ std::vector<Eigen::Vector3d> *coords = new std::vector<Eigen::Vector3d>(numAtoms);
++ for (unsigned int i = 0; i < numAtoms; ++i)
++ coords->push_back(Eigen::Vector3d(conformer.GetAtom(i+1)->GetVector().AsArray()));
++ m_moleculeFile->m_conformers.push_back(coords);
++ }
++
++ void detectConformers(unsigned int c, const OpenBabel::OBMol &first, const OpenBabel::OBMol &current)
++ {
++ if (!c) {
++ // this is the first molecule read
++ m_moleculeFile->setConformerFile(true);
++ addConformer(current);
++ return;
++ }
++
++ if (!m_moleculeFile->isConformerFile())
++ return;
++
++ // as long as we are not sure if this really is a
++ // conformer/trajectory file, add the conformers
++ addConformer(current);
++
++ // performance: check only certain molecule 1-10,20,50
++ switch (c) {
++ case 1:
++ case 2:
++ case 3:
++ case 4:
++ case 5:
++ case 6:
++ case 7:
++ case 8:
++ case 9:
++ case 10:
++ case 20:
++ case 50:
++ break;
++ default:
++ return;
++ }
++
++ if (first.NumAtoms() != current.NumAtoms()) {
++ m_moleculeFile->setConformerFile(false);
++ m_moleculeFile->m_conformers.clear();
++ return;
++ }
++
++ for (unsigned int i = 0; i < first.NumAtoms(); ++i) {
++ OpenBabel::OBAtom *firstAtom = first.GetAtom(i+1);
++ OpenBabel::OBAtom *currentAtom = current.GetAtom(i+1);
++ if (firstAtom->GetAtomicNum() != currentAtom->GetAtomicNum()) {
++ m_moleculeFile->setConformerFile(false);
++ m_moleculeFile->m_conformers.clear();
++ return;
++ }
++ }
++ }
++
++ void run()
++ {
++ // Check that the file can be read from disk
++ if (!MoleculeFile::canOpen(m_moleculeFile->m_fileName, QFile::ReadOnly | QFile::Text)) {
++ // Cannot read the file
++ m_moleculeFile->m_error.append(QObject::tr("File %1 cannot be opened for reading.")
++ .arg(m_moleculeFile->m_fileName));
++ return;
++ }
++
++ // Construct the OpenBabel objects, set the file type
++ OpenBabel::OBConversion conv;
++ OpenBabel::OBFormat *inFormat;
++ if (!m_moleculeFile->m_fileType.isEmpty() && !conv.SetInFormat(m_moleculeFile->m_fileType.toAscii().data())) {
++ // Input format not supported
++ m_moleculeFile->m_error.append(
++ QObject::tr("File type '%1' is not supported for reading.").arg(m_moleculeFile->m_fileType));
++ return;
++ } else {
++ inFormat = conv.FormatFromExt(m_moleculeFile->m_fileName.toAscii().data());
++ if (!inFormat || !conv.SetInFormat(inFormat)) {
++ // Input format not supported
++ m_moleculeFile->m_error.append(QObject::tr("File type for file '%1' is not supported for reading.")
++ .arg(m_moleculeFile->m_fileName));
++ return;
++ }
++ }
++
++ // set any options
++ if (!m_moleculeFile->m_fileOptions.isEmpty()) {
++ foreach(const QString &option,
++ m_moleculeFile->m_fileOptions.split('\n', QString::SkipEmptyParts)) {
++ conv.AddOption(option.toAscii().data(), OBConversion::INOPTIONS);
++ }
++ }
++
++ // Now attempt to read the molecule in
++ ifstream ifs;
++ ifs.open(m_moleculeFile->m_fileName.toLocal8Bit()); // This handles utf8 file names etc
++ if (!ifs) // Should not happen, already checked file could be opened
++ return;
++
++ // read all molecules
++ OpenBabel::OBMol firstOBMol, currentOBMol;
++ unsigned int c = 0;
++ conv.SetInStream(&ifs);
++ m_moleculeFile->streamposRef().push_back(ifs.tellg());
++ while (ifs.good() && conv.Read(&currentOBMol)) {
++ if (!c)
++ firstOBMol = currentOBMol;
++
++ if (c > 20 && !m_moleculeFile->isConformerFile())
++ m_moleculeFile->setFirstReady(true);
++
++ // detect conformer/trajectory files
++ detectConformers(c, firstOBMol, currentOBMol);
++ // store information about molecule
++ m_moleculeFile->streamposRef().push_back(ifs.tellg());
++ m_moleculeFile->titlesRef().append(currentOBMol.GetTitle());
++ // increment count
++ ++c;
++ }
++ m_moleculeFile->streamposRef().pop_back();
++
++ // signle molecule files are not conformer files
++ if (c == 1) {
++ m_moleculeFile->setConformerFile(false);
++ m_moleculeFile->m_conformers.clear();
++ }
++
++ // check for empty titles
++ for (int i = 0; i < m_moleculeFile->titlesRef().size(); ++i) {
++ if (!m_moleculeFile->titlesRef()[i].isEmpty())
++ continue;
++
++ QString title;
++ if (m_moleculeFile->isConformerFile())
++ title = tr("Conformer %1").arg(i+1);
++ else
++ title = tr("Molecule %1").arg(i+1);
++
++ m_moleculeFile->titlesRef()[i] = title;
++ }
++ }
++
++ MoleculeFile *m_moleculeFile;
++};
++
++} // end namespace Avogadro
++
++#endif // MOLECULEFILE_P_H
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/periodictablescene_p.cpp avogadro-1.0.3-edit/libavogadro/src/periodictablescene_p.cpp
+--- avogadro-1.0.3/libavogadro/src/periodictablescene_p.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/periodictablescene_p.cpp 2011-11-29 18:52:50.259860261 +0100
+@@ -213,5 +213,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "periodictablescene_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/periodictableview.cpp avogadro-1.0.3-edit/libavogadro/src/periodictableview.cpp
+--- avogadro-1.0.3/libavogadro/src/periodictableview.cpp 2011-11-29 19:30:25.130970122 +0000
++++ avogadro-1.0.3-edit/libavogadro/src/periodictableview.cpp 2011-11-29 18:52:50.259860261 +0100
+@@ -69,4 +69,3 @@
+
+ } // End namespace Avogadro
+
+-#include "periodictableview.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/plotwidget.cpp avogadro-1.0.3-edit/libavogadro/src/plotwidget.cpp
+--- avogadro-1.0.3/libavogadro/src/plotwidget.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/plotwidget.cpp 2011-11-29 18:53:09.389756626 +0100
+@@ -27,7 +27,6 @@
+ **********************************************************************/
+
+ #include "plotwidget.h"
+-#include "plotwidget.moc"
+
+ #include <math.h>
+ #include <QDebug>
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/plugin.cpp avogadro-1.0.3-edit/libavogadro/src/plugin.cpp
+--- avogadro-1.0.3/libavogadro/src/plugin.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/plugin.cpp 2011-11-29 18:53:16.016387394 +0100
+@@ -65,5 +65,3 @@
+ }
+
+ } // end namespace Avogadro
+-
+-#include "plugin.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pluginmanager.cpp avogadro-1.0.3-edit/libavogadro/src/pluginmanager.cpp
+--- avogadro-1.0.3/libavogadro/src/pluginmanager.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/pluginmanager.cpp 2011-11-29 18:53:23.569679807 +0100
+@@ -784,5 +784,3 @@
+ }
+
+ }
+-
+-#include "pluginmanager.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/primitive.cpp avogadro-1.0.3-edit/libavogadro/src/primitive.cpp
+--- avogadro-1.0.3/libavogadro/src/primitive.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/primitive.cpp 2011-11-29 18:53:29.139649631 +0100
+@@ -77,5 +77,3 @@
+ }
+
+ }
+-
+-#include "primitive.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/protein.cpp avogadro-1.0.3-edit/libavogadro/src/protein.cpp
+--- avogadro-1.0.3/libavogadro/src/protein.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/protein.cpp 2011-11-29 18:53:37.952935219 +0100
+@@ -978,5 +978,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+-#include "protein.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt avogadro-1.0.3-edit/libavogadro/src/python/CMakeLists.txt
+--- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/python/CMakeLists.txt 2011-11-29 18:58:02.354836165 +0100
+@@ -11,9 +11,9 @@
+ # use all cpp files in this directory
+ FILE(GLOB wrapper_SRCS "*.cpp")
+
+-qt4_automoc(moleculelist.cpp)
++QT4_WRAP_CPP(MOC_SRCS moleculelist.h)
+
+-ADD_LIBRARY(python-module MODULE ${wrapper_SRCS})
++ADD_LIBRARY(python-module MODULE ${wrapper_SRCS} ${MOC_SRCS})
+ SET_TARGET_PROPERTIES(python-module PROPERTIES OUTPUT_NAME Avogadro)
+ SET_TARGET_PROPERTIES(python-module PROPERTIES PREFIX "")
+ if (WIN32)
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/python/moleculelist.cpp avogadro-1.0.3-edit/libavogadro/src/python/moleculelist.cpp
+--- avogadro-1.0.3/libavogadro/src/python/moleculelist.cpp 2011-11-29 19:26:07.562214311 +0100
++++ avogadro-1.0.3-edit/libavogadro/src/python/moleculelist.cpp 2011-11-29 19:26:14.538843182 +0100
+@@ -70,4 +70,3 @@
+
+ }
+
+-#include "moleculelist.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonengine_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythonengine_p.cpp
+--- avogadro-1.0.3/libavogadro/src/pythonengine_p.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/pythonengine_p.cpp 2011-11-29 18:53:45.492894371 +0100
+@@ -289,5 +289,3 @@
+
+
+ }
+-
+-#include "pythonengine_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonerror.cpp avogadro-1.0.3-edit/libavogadro/src/pythonerror.cpp
+--- avogadro-1.0.3/libavogadro/src/pythonerror.cpp 2011-11-29 19:24:26.949426045 +0100
++++ avogadro-1.0.3-edit/libavogadro/src/pythonerror.cpp 2011-11-29 19:24:41.176015640 +0100
+@@ -112,4 +112,3 @@
+
+ } // namespace
+
+-#include "pythonerror.moc"
+
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonextension_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythonextension_p.cpp
+--- avogadro-1.0.3/libavogadro/src/pythonextension_p.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/pythonextension_p.cpp 2011-11-29 18:53:54.082847836 +0100
+@@ -340,5 +340,3 @@
+ }
+
+ }
+-
+-#include "pythonextension_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythontool_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythontool_p.cpp
+--- avogadro-1.0.3/libavogadro/src/pythontool_p.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/pythontool_p.cpp 2011-11-29 18:54:02.269470152 +0100
+@@ -344,5 +344,3 @@
+ }
+
+ }
+-
+-#include "pythontool_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/residue.cpp avogadro-1.0.3-edit/libavogadro/src/residue.cpp
+--- avogadro-1.0.3/libavogadro/src/residue.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/residue.cpp 2011-11-29 18:54:14.316071557 +0100
+@@ -160,6 +160,3 @@
+ }
+
+ } // End namespace Avogadro
+-
+- #include "residue.moc"
+-
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/tool.cpp avogadro-1.0.3-edit/libavogadro/src/tool.cpp
+--- avogadro-1.0.3/libavogadro/src/tool.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/tool.cpp 2011-11-29 18:55:05.515794184 +0100
+@@ -117,5 +117,3 @@
+ }
+
+ } // end namespace Avogadro
+-
+-#include "tool.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/toolgroup.cpp avogadro-1.0.3-edit/libavogadro/src/toolgroup.cpp
+--- avogadro-1.0.3/libavogadro/src/toolgroup.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/toolgroup.cpp 2011-11-29 18:55:11.699094018 +0100
+@@ -206,5 +206,3 @@
+ }
+
+ } // end namespace Avogadro
+-
+-#include "toolgroup.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/zmatrix.cpp avogadro-1.0.3-edit/libavogadro/src/zmatrix.cpp
+--- avogadro-1.0.3/libavogadro/src/zmatrix.cpp 2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/zmatrix.cpp 2011-11-29 18:55:17.209064168 +0100
+@@ -149,5 +149,3 @@
+
+
+ } // End namespace Avogadro
+-
+-#include "zmatrix.moc"
diff --git a/extra/boost/BOOST_FOREACH.patch b/extra/boost/BOOST_FOREACH.patch
new file mode 100644
index 000000000..12cf08800
--- /dev/null
+++ b/extra/boost/BOOST_FOREACH.patch
@@ -0,0 +1,60 @@
+Index: /trunk/boost/foreach_fwd.hpp
+===================================================================
+--- /trunk/boost/foreach_fwd.hpp (revision 62661)
++++ /trunk/boost/foreach_fwd.hpp (revision 75540)
+@@ -15,4 +15,6 @@
+ #define BOOST_FOREACH_FWD_HPP
+
++#include <utility> // for std::pair
++
+ // This must be at global scope, hence the uglified name
+ enum boost_foreach_argument_dependent_lookup_hack
+@@ -26,4 +28,7 @@
+ namespace foreach
+ {
++ template<typename T>
++ std::pair<T, T> in_range(T begin, T end);
++
+ ///////////////////////////////////////////////////////////////////////////////
+ // boost::foreach::tag
+@@ -47,4 +52,22 @@
+ } // namespace foreach
+
++// Workaround for unfortunate https://svn.boost.org/trac/boost/ticket/6131
++namespace BOOST_FOREACH
++{
++ using foreach::in_range;
++ using foreach::tag;
++
++ template<typename T>
++ struct is_lightweight_proxy
++ : foreach::is_lightweight_proxy<T>
++ {};
++
++ template<typename T>
++ struct is_noncopyable
++ : foreach::is_noncopyable<T>
++ {};
++
++} // namespace BOOST_FOREACH
++
+ } // namespace boost
+
+Index: /trunk/boost/foreach.hpp
+===================================================================
+--- /trunk/boost/foreach.hpp (revision 75077)
++++ /trunk/boost/foreach.hpp (revision 75540)
+@@ -166,5 +166,5 @@
+ // at the global namespace for your type.
+ template<typename T>
+-inline boost::foreach::is_lightweight_proxy<T> *
++inline boost::BOOST_FOREACH::is_lightweight_proxy<T> *
+ boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
+
+@@ -191,5 +191,5 @@
+ // at the global namespace for your type.
+ template<typename T>
+-inline boost::foreach::is_noncopyable<T> *
++inline boost::BOOST_FOREACH::is_noncopyable<T> *
+ boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
+
diff --git a/extra/boost/PKGBUILD b/extra/boost/PKGBUILD
index 67219aee0..d55e68456 100644
--- a/extra/boost/PKGBUILD
+++ b/extra/boost/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 141623 2011-10-31 21:27:41Z ibiru $
+# $Id: PKGBUILD 144045 2011-12-02 20:54:13Z ibiru $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Kritoke <kritoke@gamebox.net>
@@ -6,17 +6,19 @@
pkgbase=boost
pkgname=('boost-libs' 'boost')
-pkgver=1.47.0
+pkgver=1.48.0
_boostver=${pkgver//./_}
pkgrel=3
arch=('i686' 'x86_64' 'mips64el')
url="http://www.boost.org/"
makedepends=('icu' 'python' 'python2' 'bzip2' 'zlib' 'openmpi')
source=(http://downloads.sourceforge.net/${pkgbase}/${pkgbase}_${_boostver}.tar.gz
- exceptions.patch)
+ exceptions.patch
+ BOOST_FOREACH.patch)
license=('custom')
-md5sums=('ff180a5276bec773a7625cac7e2288e8'
- '9b44c28b36303152050c8c82469569c5')
+md5sums=('313a11e97eb56eb7efd18325354631be'
+ '9b44c28b36303152050c8c82469569c5'
+ '2db6098a1a39bced4c6162eb46418320')
_stagedir="${srcdir}/stagedir"
@@ -27,9 +29,12 @@ build() {
echo "using python : 3.2 : /usr/bin/python : /usr/include/python3.2mu : /usr/lib ;" >> build/v2/user-config.jam
echo "using mpi ;" >> build/v2/user-config.jam
- # http://web.archiveorange.com/archive/v/Q0J4VE5bwsy3zxRXqUgd
cd "${srcdir}"/${pkgbase}_${_boostver}
- patch -p0 -i "${srcdir}"/exceptions.patch
+ # https://svn.boost.org/trac/boost/ticket/5731
+ patch -p0 -i "${srcdir}/exceptions.patch"
+ # https://svn.boost.org/trac/boost/ticket/6131
+ patch -p2 -i "${srcdir}/BOOST_FOREACH.patch"
+
# build bjam
cd "${srcdir}/${pkgbase}_${_boostver}/tools/build/v2/engine"
diff --git a/extra/ekiga/PKGBUILD b/extra/ekiga/PKGBUILD
index eea93da40..ceb8b10c5 100644
--- a/extra/ekiga/PKGBUILD
+++ b/extra/ekiga/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 136102 2011-08-23 01:57:57Z heftig $
+# $Id: PKGBUILD 144047 2011-12-02 20:54:17Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Tom K <tomk@runbox.com>
pkgname=ekiga
pkgver=3.3.2
-pkgrel=1
+pkgrel=2
pkgdesc="VOIP/Videoconferencing app with full SIP and H.323 support (GnomeMeeting expanded and renamed)"
url="http://www.ekiga.org"
license=(GPL)
diff --git a/extra/ethtool/PKGBUILD b/extra/ethtool/PKGBUILD
index 100333d7c..b6634892e 100644
--- a/extra/ethtool/PKGBUILD
+++ b/extra/ethtool/PKGBUILD
@@ -1,8 +1,10 @@
-# $Id: PKGBUILD 134800 2011-08-07 20:06:54Z ibiru $
-# Maintainer: Paul Mattal <paul@archlinux.org>
-# Contributer: Martin Kemp <mdkemp@elys.com>
+# $Id: PKGBUILD 144039 2011-12-02 20:49:22Z ibiru $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Paul Mattal <paul@archlinux.org>
+# Contributor: Martin Kemp <mdkemp@elys.com>
+
pkgname=ethtool
-pkgver=3.0
+pkgver=3.1
pkgrel=1
epoch=1
pkgdesc="Utility for controlling network drivers and hardware"
@@ -10,16 +12,18 @@ arch=('i686' 'x86_64' 'mips64el')
url="http://www.kernel.org/pub/software/network/ethtool/"
license=('GPL')
depends=('glibc')
-source=(http://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.bz2)
-md5sums=('cb129398cbbf39859901b55ecac101da')
+#source=(http://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.bz2)
+source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz)
+
+md5sums=('83a538a864b50549b7e4c79e7dd69849')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr --mandir=/usr/share/man
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
}
diff --git a/extra/hugin/PKGBUILD b/extra/hugin/PKGBUILD
index 9c5c23fd4..6b06a1d1c 100644
--- a/extra/hugin/PKGBUILD
+++ b/extra/hugin/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 139887 2011-10-05 19:06:49Z andrea $
+# $Id: PKGBUILD 144049 2011-12-02 20:54:20Z ibiru $
# Maintainer: Tobias Kieslich <tobias@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Dominik Ryba <domryba@post.pl>
pkgname=hugin
pkgver=2011.2.0
-pkgrel=1
+pkgrel=2
pkgdesc="A frontend to the panorama-tools"
arch=('i686' 'x86_64' 'mips64el')
url="http://hugin.sourceforge.net/"
diff --git a/extra/kdeedu-kig/PKGBUILD b/extra/kdeedu-kig/PKGBUILD
index 815d268e2..e2a5ad425 100644
--- a/extra/kdeedu-kig/PKGBUILD
+++ b/extra/kdeedu-kig/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 143501 2011-11-25 08:27:09Z andrea $
+# $Id: PKGBUILD 144051 2011-12-02 20:54:24Z ibiru $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgname=kdeedu-kig
pkgver=4.7.3
-pkgrel=1
+pkgrel=2
pkgdesc="Interactive Geometry"
url="http://kde.org/applications/education/kig/"
arch=('i686' 'x86_64' 'mips64el')
diff --git a/extra/liborigin2/PKGBUILD b/extra/liborigin2/PKGBUILD
index b107ffa9a..ce429f367 100644
--- a/extra/liborigin2/PKGBUILD
+++ b/extra/liborigin2/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 132812 2011-07-26 11:18:58Z ibiru $
+# $Id: PKGBUILD 144053 2011-12-02 20:54:26Z ibiru $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgbase=liborigin2
pkgname=('liborigin2' 'liborigin2-docs')
pkgver=20100913
-pkgrel=5
+pkgrel=6
arch=('i686' 'x86_64' 'mips64el')
url="http://soft.proindependent.com/liborigin2/"
license=('GPL3')
@@ -15,10 +15,9 @@ provides=('liborigin')
source=(http://download.berlios.de/qtiplot/${pkgbase}-13092010.zip
liborigin.pro.archlinux
http://tree.phi-sci.com/tree.hh)
-md5sums=('e2b41c4d8a1e2d357dd2b5b331d31375' '2b19f7a4bd120f6d689edc327468e48e'\
- 'd24a1c3bdd811354ea7f5885d86ddacb')
-sha1sums=('3f17d5a8c484ddb864a29a91a94d677b0b3b18d7' '1664b00929d6fba6e5ebcf7cb422e1da1b3897a5'\
- 'd10344d969e0b892c21e1bd5bd3541d838526b24')
+md5sums=('e2b41c4d8a1e2d357dd2b5b331d31375'
+ '2b19f7a4bd120f6d689edc327468e48e'
+ '966ef25cb42d192a694a71eedf484c1c')
build() {
cd "${srcdir}/${pkgbase}"
@@ -35,7 +34,7 @@ build() {
package_liborigin2() {
pkgdesc="A library for reading OriginLab OPJ project files"
- depends=('gcc-libs' 'boost-libs')
+ depends=('boost-libs')
cd "${srcdir}/${pkgbase}"
diff --git a/extra/libpst/PKGBUILD b/extra/libpst/PKGBUILD
index 10ccfe074..b9d706267 100644
--- a/extra/libpst/PKGBUILD
+++ b/extra/libpst/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 132809 2011-07-26 11:04:44Z ibiru $
+# $Id: PKGBUILD 144055 2011-12-02 20:54:29Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=libpst
pkgname=('libpst' 'libpst-docs')
pkgver=0.6.53
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64' 'mips64el')
url="http://www.five-ten-sg.com/libpst/"
license=('GPL')
diff --git a/extra/libtorrent-rasterbar/PKGBUILD b/extra/libtorrent-rasterbar/PKGBUILD
index fe7c8f49d..7974c9390 100644
--- a/extra/libtorrent-rasterbar/PKGBUILD
+++ b/extra/libtorrent-rasterbar/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 140204 2011-10-09 10:15:48Z ibiru $
+# $Id: PKGBUILD 144057 2011-12-02 20:54:34Z ibiru $
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
pkgname=libtorrent-rasterbar
-pkgver=0.15.8
+pkgver=0.15.9
pkgrel=1
pkgdesc="A C++ library that aims to be a good alternative to all the other bittorrent implementations around"
url="http://www.rasterbar.com/products/libtorrent/"
@@ -11,17 +11,18 @@ arch=('i686' 'x86_64' 'mips64el')
license=('custom')
depends=('boost-libs' 'python2')
makedepends=('boost')
-source=(http://libtorrent.googlecode.com/files/${pkgname}-${pkgver}.tar.gz)
-sha1sums=('9e21ebfa6fba19b237754a10ae9b8007781c48f0')
+options=('!libtool' '!emptydirs')
+source=(http://libtorrent.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+sha1sums=('d86eb9d4452d07715a355d3a67312f162d6eff3a')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr --enable-python-binding
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- install -D COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -D COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/extra/lyx/PKGBUILD b/extra/lyx/PKGBUILD
index e3c91ccb8..c81995711 100644
--- a/extra/lyx/PKGBUILD
+++ b/extra/lyx/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 137636 2011-09-10 09:15:43Z ronald $
+# $Id: PKGBUILD 144059 2011-12-02 20:54:39Z ibiru $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Jason Chu <jason@archlinux.org>
pkgname=lyx
pkgver=2.0.1
-pkgrel=2
-pkgdesc="An advanced open-source document processor."
+pkgrel=3
+pkgdesc="An advanced open-source document processor"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.lyx.org"
depends=('qt' 'texlive-core' 'python2' 'perl' 'imagemagick' 'enchant' 'boost-libs' 'libmythes')
makedepends=('boost')
license=('GPL')
-source=(ftp://ftp.lip6.fr/pub/lyx/stable/2.0.x/$pkgname-$pkgver.tar.xz \
+source=(ftp://ftp.lip6.fr/pub/lyx/stable/2.0.x/$pkgname-$pkgver.tar.xz
lyx.desktop lyxrc.dist)
backup=('etc/lyx/lyxrc.dist')
install=lyx.install
@@ -36,10 +36,12 @@ package() {
make DESTDIR="${pkgdir}" install
# install desktop entry
- install -Dm644 "${srcdir}/lyx.desktop" "${pkgdir}/usr/share/applications/lyx.desktop"
+ install -Dm644 "${srcdir}/lyx.desktop" \
+ "${pkgdir}/usr/share/applications/lyx.desktop"
+ install -Dm644 "lib/images/lyx.png" \
+ "${pkgdir}/usr/share/pixmaps/lyx.png"
# install default config file
- install -Dm644 ${srcdir}/lyxrc.dist ${pkgdir}/etc/lyx/lyxrc.dist
- ln -sf /etc/lyx/lyxrc.dist ${pkgdir}/usr/share/lyx/lyxrc.dist
+ install -Dm644 "${srcdir}/lyxrc.dist" "${pkgdir}/etc/lyx/lyxrc.dist"
+ ln -sf /etc/lyx/lyxrc.dist "${pkgdir}/usr/share/lyx/lyxrc.dist"
}
-
diff --git a/extra/mkvtoolnix/PKGBUILD b/extra/mkvtoolnix/PKGBUILD
index 1d1ff869f..c45eb034c 100644
--- a/extra/mkvtoolnix/PKGBUILD
+++ b/extra/mkvtoolnix/PKGBUILD
@@ -1,17 +1,18 @@
-# $Id: PKGBUILD 141066 2011-10-23 00:15:19Z giovanni $
+# $Id: PKGBUILD 144061 2011-12-02 20:54:42Z ibiru $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: xduugu <xduugu@gmx.com>
pkgbase=mkvtoolnix
pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gtk')
-pkgver=5.0.1
-pkgrel=4
+pkgver=5.1.0
+pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
url="http://www.bunkus.org/videotools/mkvtoolnix/index.html"
-makedepends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk'\
+makedepends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk'
'boost-libs' 'lzo2' 'xdg-utils' 'boost' 'ruby')
source=("http://www.bunkus.org/videotools/${pkgbase}/sources/${pkgbase}-${pkgver}.tar.bz2")
-md5sums=('93fbbe946de6013eca699c0c2a93a4e9')
+md5sums=('fed878893a7f292969e8bd81c7ab9209')
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
@@ -20,12 +21,19 @@ build() {
sed -i -e '/curl/d' configure.in
export CURL_CFLAGS="" CURL_LIBS=""
- export CFLAGS="${CFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
- export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
+ export CFLAGS="${CFLAGS} -DBOOST_FILESYSTEM_VERSION=3"
+ export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=3"
autoreconf
./configure --prefix=/usr \
+ --with-boost-libdir=/usr/lib \
+ --disable-gui
+ rake
+
+ mv src/mkvinfo{,-cli}
+
+ ./configure --prefix=/usr \
--with-boost-libdir=/usr/lib
rake
}
@@ -40,6 +48,9 @@ package_mkvtoolnix-cli() {
cd "${srcdir}/${pkgbase}-${pkgver}"
rake DESTDIR="${pkgdir}" install
+ rm -rf "${pkgdir}"/usr/bin/mkvinfo
+ install -Dm755 src/mkvinfo-cli "${pkgdir}"/usr/bin/mkvinfo
+
rm -rf "${pkgdir}"/usr/bin/mmg
rm -rf "${pkgdir}"/usr/share/man/ja/man1/mmg.1
rm -rf "${pkgdir}"/usr/share/man/man1/mmg.1
@@ -59,6 +70,9 @@ package_mkvtoolnix-gtk() {
rake DESTDIR="${pkgdir}" install
rm -rf "${pkgdir}"/usr/bin/mkv*
+ install -Dm755 src/mkvinfo "${pkgdir}"/usr/bin/mkvinfo-gtk
+ sed -ri 's/^(Exec=mkvinfo)/\1-gtk/' "${pkgdir}"/usr/share/applications/mkvinfo.desktop
+
rm -rf "${pkgdir}"/usr/share/doc
rm -rf "${pkgdir}"/usr/share/locale
rm -rf "${pkgdir}"/usr/share/man/ja/man1/mkv*
diff --git a/extra/rxvt-unicode/ChangeLog b/extra/rxvt-unicode/ChangeLog
index d4275a700..a374f7b27 100644
--- a/extra/rxvt-unicode/ChangeLog
+++ b/extra/rxvt-unicode/ChangeLog
@@ -1,3 +1,6 @@
+2011-12-02 Angel Velasquez <angvp@archlinux.org>
+ * Moved perl from optdepend to depend (closes FS#25782)
+
2011-05-22 Angel Velasquez <angvp@archlinux.org>
* Rebuilt against perl 5.14.0
diff --git a/extra/rxvt-unicode/PKGBUILD b/extra/rxvt-unicode/PKGBUILD
index 919693667..ef8c89f59 100644
--- a/extra/rxvt-unicode/PKGBUILD
+++ b/extra/rxvt-unicode/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 129923 2011-06-29 23:05:47Z stephane $
+# $Id: PKGBUILD 144079 2011-12-03 04:45:00Z angvp $
# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Contributor: tobias <tobias@archlinux.org>
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
pkgname=rxvt-unicode
pkgver=9.12
-pkgrel=1
+pkgrel=2
pkgdesc="An unicode enabled rxvt-clone terminal emulator (urxvt)"
arch=('i686' 'x86_64' 'mips64el')
url="http://software.schmorp.de/pkg/rxvt-unicode.html"
license=('GPL')
-depends=('gcc-libs' 'libxft' 'gdk-pixbuf2')
-optdepends=('perl: lots of utilities' 'gtk2-perl: to use the urxvt-tabbed')
+depends=('gcc-libs' 'libxft' 'gdk-pixbuf2' 'perl')
+optdepends=('gtk2-perl: to use the urxvt-tabbed')
changelog=ChangeLog
source=(http://dist.schmorp.de/rxvt-unicode/${pkgname}-${pkgver}.tar.bz2 \
${pkgname}.desktop)
diff --git a/extra/source-highlight/PKGBUILD b/extra/source-highlight/PKGBUILD
index a40896dd4..333ad967f 100644
--- a/extra/source-highlight/PKGBUILD
+++ b/extra/source-highlight/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 136931 2011-09-03 00:12:21Z giovanni $
+# $Id: PKGBUILD 144063 2011-12-02 20:54:47Z ibiru $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=source-highlight
pkgver=3.1.5
-pkgrel=1
+pkgrel=2
pkgdesc="Convert source code to syntax highlighted document"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/src-highlite/"
diff --git a/extra/thinkfinger/PKGBUILD b/extra/thinkfinger/PKGBUILD
index f9cfe45e5..2ef0460bf 100644
--- a/extra/thinkfinger/PKGBUILD
+++ b/extra/thinkfinger/PKGBUILD
@@ -1,27 +1,35 @@
-# $Id: PKGBUILD 101457 2010-11-29 10:02:41Z allan $
-# Maintainer: François Charette <francois.archlinux.org>
+# $Id: PKGBUILD 144027 2011-12-02 07:42:30Z andrea $
+# Maintainer:
+# Contributor: François Charette <francois.archlinux.org>
# Contributor: Damir Perisa <damir.archlinux.org>
# Contributor: Björn Martensen <bjoern.martensen@gmail.com>
pkgname=thinkfinger
pkgver=0.3
-pkgrel=4
-pkgdesc="ThinkFinger is a driver for the SGS Thomson Microelectronics fingerprint reader found in most IBM/Lenovo ThinkPads"
+pkgrel=5
+pkgdesc="A driver for the SGS Thomson Microelectronics fingerprint reader found in most IBM/Lenovo ThinkPads"
url="http://thinkfinger.sourceforge.net/"
arch=('i686' 'x86_64' 'mips64el')
license=("GPL")
depends=('pam' 'libusb-compat')
install=thinkfinger.install
-options=('!libtool')
-source=(http://downloads.sourceforge.net/thinkfinger/$pkgname-$pkgver.tar.gz thinkfinger-uinput-hack.patch)
+options=('!libtool' 'emptydirs')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+ 'thinkfinger-uinput-hack.patch'
+ 'gcc46.patch')
md5sums=('588565233bcbea5ff0a7f5314361c380'
- '71dc334282d19e6db4f6254542ba563c')
+ '71dc334282d19e6db4f6254542ba563c'
+ '93c80f342329a5bd40f5f324fe670225')
build() {
cd $srcdir/$pkgname-$pkgver
+
# Patch from Ubuntu: see http://bugs.archlinux.org/task/12580
- patch -p0 < ../thinkfinger-uinput-hack.patch
- ./configure --prefix=/usr \
+ patch -p0 -i "${srcdir}"/thinkfinger-uinput-hack.patch
+
+ patch -p1 -i "${srcdir}"/gcc46.patch
+
+ ./configure --prefix=/usr \
--with-securedir=/lib/security \
--with-birdir=/etc/pam_thinkfinger
make
@@ -35,4 +43,3 @@ package() {
make DESTDIR=$pkgdir install
}
-
diff --git a/extra/thinkfinger/gcc46.patch b/extra/thinkfinger/gcc46.patch
new file mode 100644
index 000000000..24e4b534f
--- /dev/null
+++ b/extra/thinkfinger/gcc46.patch
@@ -0,0 +1,22 @@
+--- a/pam/Makefile.am
++++ b/pam/Makefile.am
+@@ -8,7 +8,7 @@ pam_thinkfinger_so_SOURCES = pam_thinkfinger-compat.c pam_thinkfinger-compat.h p
+ else
+ pam_thinkfinger_so_SOURCES = pam_thinkfinger-uinput.c pam_thinkfinger-uinput.h pam_thinkfinger.c
+ endif
+-pam_thinkfinger_so_LDFLAGS = -shared --strip-all -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed
++pam_thinkfinger_so_LDFLAGS = -shared -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed
+ pam_thinkfinger_so_CFLAGS = $(CFLAGS)
+ pam_thinkfinger_so_LDADD = $(top_builddir)/libthinkfinger/libthinkfinger.la $(PAM_LIBS) $(PTHREAD_LIBS)
+
+--- a/pam/Makefile.in
++++ b/pam/Makefile.in
+@@ -201,7 +201,7 @@ pamdir = $(SECUREDIR)
+ INCLUDES = -I$(top_srcdir)/libthinkfinger
+ @HAVE_OLD_PAM_FALSE@pam_thinkfinger_so_SOURCES = pam_thinkfinger-uinput.c pam_thinkfinger-uinput.h pam_thinkfinger.c
+ @HAVE_OLD_PAM_TRUE@pam_thinkfinger_so_SOURCES = pam_thinkfinger-compat.c pam_thinkfinger-compat.h pam_thinkfinger-uinput.c pam_thinkfinger-uinput.h pam_thinkfinger.c
+-pam_thinkfinger_so_LDFLAGS = -shared --strip-all -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed
++pam_thinkfinger_so_LDFLAGS = -shared -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed
+ pam_thinkfinger_so_CFLAGS = $(CFLAGS)
+ pam_thinkfinger_so_LDADD = $(top_builddir)/libthinkfinger/libthinkfinger.la $(PAM_LIBS) $(PTHREAD_LIBS)
+ all: all-am
diff --git a/extra/wesnoth/PKGBUILD b/extra/wesnoth/PKGBUILD
index 9a2ef8d08..ed809500d 100644
--- a/extra/wesnoth/PKGBUILD
+++ b/extra/wesnoth/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 132797 2011-07-26 09:16:15Z ibiru $
+# $Id: PKGBUILD 144065 2011-12-02 20:54:51Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Jacobo Arvelo <unix4all@ya.com>
@@ -6,7 +6,7 @@
pkgname=wesnoth
pkgver=1.8.6
-pkgrel=2
+pkgrel=3
pkgdesc="A turn-based strategy game on a fantasy world"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
@@ -14,18 +14,33 @@ url="http://www.wesnoth.org/"
depends=('sdl_ttf' 'sdl_net' 'sdl_mixer' 'sdl_image' 'fribidi' 'boost-libs' 'pango' 'lua' "wesnoth-data=${pkgver}" 'dbus-core')
makedepends=('boost')
install=wesnoth.install
-source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+options=(!emptydirs)
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
wesnoth-libpng-1.4.0.patch
- wesnoth-1.8.6-boost-foreach.patch)
+ wesnoth-1.8.6-boost-foreach.patch
+ wesnoth.tmpfiles.conf)
md5sums=('f1c3179869b01b61e253e74aeb241034'
'ca7412ffc4682ef55ddf82d56b0e2f08'
- 'dc414ab7e1334941548e9db6db9c2460')
+ 'dc414ab7e1334941548e9db6db9c2460'
+ 'b8122f5054e3895c9c054e87460869dc')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/wesnoth-libpng-1.4.0.patch"
- patch -Np1 -i "${srcdir}/wesnoth-1.8.6-boost-foreach.patch"
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/wesnoth-libpng-1.4.0.patch"
+ patch -Np1 -i "$srcdir/wesnoth-1.8.6-boost-foreach.patch"
./autogen.sh
- ./configure --prefix=/usr --localstatedir=/var --enable-tools --enable-editor --enable-server
- make DESTDIR="${pkgdir}" install-exec
+ ./configure --prefix=/usr --localstatedir=/var --enable-tools \
+ --enable-editor --enable-server --with-fifodir=/run/wesnothd
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install-exec
+ install -dm755 "$pkgdir/usr/lib/tmpfiles.d/"
+ install -m644 "$srcdir/wesnoth.tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/wesnoth.conf"
+
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wesnoth_addon_manager"
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wmlindent"
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wmlscope"
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wmllint"
}
diff --git a/extra/wesnoth/wesnoth.tmpfiles.conf b/extra/wesnoth/wesnoth.tmpfiles.conf
new file mode 100644
index 000000000..3ec0f6013
--- /dev/null
+++ b/extra/wesnoth/wesnoth.tmpfiles.conf
@@ -0,0 +1 @@
+D /run/wesnothd 0700 root root -
diff --git a/extra/xine-ui/PKGBUILD b/extra/xine-ui/PKGBUILD
index f22c7665c..0ff24e168 100644
--- a/extra/xine-ui/PKGBUILD
+++ b/extra/xine-ui/PKGBUILD
@@ -1,27 +1,27 @@
-# $Id: PKGBUILD 118860 2011-04-09 04:40:36Z eric $
+# $Id: PKGBUILD 144037 2011-12-02 17:33:46Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=xine-ui
pkgver=0.99.6
-pkgrel=2
+pkgrel=3
pkgdesc="A free video player for Unix"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
url="http://www.xine-project.org"
-depends=('xine-lib' 'curl' 'libxtst' 'libxinerama' 'libxv' 'libpng' 'libxft'
- 'libxxf86vm' 'readline' 'xdg-utils' 'shared-mime-info' 'hicolor-icon-theme'
- 'desktop-file-utils' 'lirc-utils')
+depends=('xine-lib' 'curl' 'libxtst' 'libpng' 'libxft' 'libxxf86vm'
+ 'xdg-utils' 'shared-mime-info' 'hicolor-icon-theme'
+ 'desktop-file-utils' 'lirc-utils')
makedepends=('libxt')
-options=('!emptydirs' '!strip')
+options=('!strip')
install=xine-ui.install
source=(http://downloads.sourceforge.net/xine/${pkgname}-${pkgver}.tar.xz
lirc-check-a89347673097.patch lirc-makefile-a68dd15ff7ae.patch
fix_lirc.diff xine-ui-xdg.diff)
-md5sums=('d468b4e7fe39ff19888261e1da9be914'
- '4f06f63f5fd55b08a648e5d63f881898'
- '9f5acaf14f3945aa2ce428631d09cd47'
- '0174bd096756b9c6f47e9b8b5ff6e145'
- '5972b4061acf3b553760de9ae2178d38')
+sha1sums=('abbdb331898c14025ee6b132f63ab7d3c1b5b31e'
+ 'b2df43ede3a9d1a34b80139704a4cbbc7295c584'
+ '8bbd39f61de7b6991385457a4944b8ea104da88b'
+ '2361df9ddad59c426b0f863414c6d527b463a38a'
+ '9c70c6543dae6815710b239b4638ffe3843bac86')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -29,6 +29,7 @@ build() {
patch -p1 < "${srcdir}/lirc-makefile-a68dd15ff7ae.patch"
patch -p1 < "${srcdir}/fix_lirc.diff"
patch -p1 < "${srcdir}/xine-ui-xdg.diff"
+ sed -i '/\#include <curl\/types.h>/d' src/xitk/download.c
autoconf
./configure --prefix=/usr --mandir=/usr/share/man \
--with-x --enable-lirc --without-aalib --enable-debug
@@ -37,7 +38,5 @@ build() {
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- install -d "${pkgdir}/usr/share/applications"
- mv "${pkgdir}/usr/share/xine/desktop/xine.desktop" "${pkgdir}/usr/share/applications"
+ make DESTDIR="${pkgdir}" desktopdir=/usr/share/applications install
}
diff --git a/multilib-testing/binutils-multilib/PKGBUILD b/multilib-testing/binutils-multilib/PKGBUILD
new file mode 100644
index 000000000..5cef1fa67
--- /dev/null
+++ b/multilib-testing/binutils-multilib/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 59997 2011-12-03 03:15:32Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=binutils-multilib
+pkgver=2.22
+pkgrel=1
+_date=20111201
+pkgdesc="A set of programs to assemble and manipulate binary and object files for multilib"
+arch=('x86_64')
+url="http://www.gnu.org/software/binutils/"
+license=('GPL')
+groups=('multilib-devel')
+provides=("binutils=$pkgver-$pkgrel")
+conflicts=('binutils')
+depends=('glibc>=2.14' 'zlib')
+makedepends=('dejagnu' 'gcc-multilib') # Make sure we compile this with gcc-multilib
+options=('!libtool' '!distcc' '!ccache')
+install=binutils.install
+source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2)
+md5sums=('77c15027ac112c65fd5f73ca91b0651c')
+
+build() {
+ cd ${srcdir}
+ mkdir binutils-build && cd binutils-build
+
+ ${srcdir}/binutils/configure --prefix=/usr \
+ --enable-ld=default --enable-gold \
+ --enable-plugins --enable-threads \
+ --enable-shared \
+ --enable-64-bit-bfd --enable-multilib
+
+ # check the host environment and makes sure all the necessary tools are available
+ make configure-host
+
+ make tooldir=${pkgdir}/usr
+}
+
+check() {
+ cd ${srcdir}/binutils-build
+
+ # do not abort on errors - manually check log files
+ make -k -j1 check || true
+}
+
+package() {
+ cd ${srcdir}/binutils-build
+ make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
+
+ # Add some useful headers
+ install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include
+ install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include
+
+ # Rebuild libiberty.a with -fPIC
+ make -C libiberty clean
+ make CFLAGS="$CFLAGS -fPIC" -C libiberty
+ install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib
+
+ # Rebuild libbfd.a with -fPIC
+ make -C bfd clean
+ # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
+ make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd
+ install -m644 bfd/libbfd.a ${pkgdir}/usr/lib
+
+ # Remove Windows/Novell specific man pages
+ rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
+
+ # Remove these symlinks, they are not ABI stable.
+ # Programs should compile static to the .a file.
+ rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
+ echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so
+ echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so
+}
diff --git a/multilib-testing/binutils-multilib/binutils.install b/multilib-testing/binutils-multilib/binutils.install
new file mode 100644
index 000000000..8bf9f3a47
--- /dev/null
+++ b/multilib-testing/binutils-multilib/binutils.install
@@ -0,0 +1,17 @@
+infodir=usr/share/info
+filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.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/multilib-testing/gcc-multilib/PKGBUILD b/multilib-testing/gcc-multilib/PKGBUILD
new file mode 100644
index 000000000..2ce757d3f
--- /dev/null
+++ b/multilib-testing/gcc-multilib/PKGBUILD
@@ -0,0 +1,303 @@
+# $Id: PKGBUILD 59998 2011-12-03 03:38:14Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: 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
+
+pkgbase='gcc-multilib'
+pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib')
+pkgver=4.6.2
+pkgrel=2
+_snapshot=4.6-20111125
+_libstdcppmanver=20110814 # Note: check source directory name when updating this
+pkgdesc="The GNU Compiler Collection for multilib"
+arch=('x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+makedepends=('binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib'
+ 'lib32-glibc>=2.14')
+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
+ ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
+ gcc_pure64.patch
+ gcc-hash-style-both.patch)
+md5sums=('922b0ee688669c188d237bbd21d42d07'
+ 'ce920d2550ff7e042b9f091d27764d8f'
+ '4030ee1c08dd1e843c0225b772360e76'
+ '4df25b623799b148a0703eaeec8fdf3f')
+
+if [ -n "${_snapshot}" ]; then
+ _basedir="${srcdir}/gcc-${_snapshot}"
+else
+ _basedir="${srcdir}/gcc-${pkgver}"
+fi
+
+build() {
+ cd ${_basedir}
+
+ # Do not install libiberty
+ sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ patch -Np1 -i ${srcdir}/gcc_pure64.patch
+ patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ cd ${srcdir}
+ mkdir gcc-build && cd gcc-build
+
+ ${_basedir}/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
+ --enable-shared --enable-threads=posix \
+ --with-system-zlib --enable-__cxa_atexit \
+ --disable-libunwind-exceptions --enable-clocale=gnu \
+ --enable-gnu-unique-object --enable-linker-build-id \
+ --with-ppl --enable-cloog-backend=isl \
+ --enable-lto --enable-gold --enable-ld=default \
+ --enable-plugin --with-plugin-ld=ld.gold \
+ --enable-multilib --disable-libssp --disable-libstdcxx-pch \
+ --enable-checking=release
+ make
+}
+
+check() {
+ cd gcc-build
+
+ # increase stack size to prevent test failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
+ ulimit -s 32768
+
+ # do not abort on error as some are "expected"
+ make -k check || true
+ ${_basedir}/contrib/test_summary
+}
+
+package_gcc-libs-multilib()
+{
+ pkgdesc="Runtime libraries shipped by GCC for multilib"
+ depends=('glibc>=2.14' "lib32-gcc-libs=$pkgver-$pkgrel")
+ provides=("gcc-libs=$pkgver-$pkgrel")
+ conflicts=('gcc-libs')
+ install=gcc-libs.install
+
+ cd gcc-build
+ make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ for lib in libmudflap libgomp libstdc++-v3/src; do
+ make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+ make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+ make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info
+
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=${pkgdir} install-target-libgfortran
+ make -j1 DESTDIR=${pkgdir} install-target-libobjc
+
+ # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
+ rm -rf ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
+
+ # remove stuff in lib32-gcc-libs
+ rm -rf ${pkgdir}/usr/lib32
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-libs-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_lib32-gcc-libs()
+{
+ pkgdesc="Runtime libraries shipped by GCC (32-bit)"
+ depends=('lib32-glibc>=2.14' "gcc-libs>=$pkgver")
+
+ cd gcc-build
+ make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared
+ for lib in libmudflap libgomp libstdc++-v3/src; do
+ make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=${pkgdir} install-target-libgfortran
+ make -j1 DESTDIR=${pkgdir} install-target-libobjc
+
+ # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
+ rm ${pkgdir}/usr/lib32/libgfortran.spec
+
+ # remove stuff in gcc-libs-multilib
+ rm -rf ${pkgdir}/usr/lib
+ rm -rf ${pkgdir}/usr/share/info
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-multilib()
+{
+ pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib"
+ depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl')
+ groups=('multilib-devel')
+ provides=("gcc=$pkgver-$pkgrel")
+ conflicts=('gcc')
+ install=gcc.install
+
+ cd gcc-build
+
+ # unfortunately it is much, much easier to install the lot and clean-up the mess...
+ make -j1 DESTDIR=${pkgdir} install
+ rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*}
+ rm $pkgdir/usr/lib{,32}/*.so*
+ rm $pkgdir/usr/lib{,32}/lib{ffi,gfortran,go{,begin},objc,quadmath}.a
+ rm $pkgdir/usr/lib{,32}/libgfortran.spec
+ rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{{,32/}ada{include,lib},finclude,include/objc}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1,{,32/}libgfortranbegin.a}
+ rm -r $pkgdir/usr/lib{,32}/go
+ rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath}.info
+ rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
+ rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1
+ rm $pkgdir/usr/share/man/man3/ffi*
+
+ # many packages require these symlinks
+ install -dm755 ${pkgdir}/lib
+ ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp
+ ln -sf gcc ${pkgdir}/usr/bin/cc
+ ln -sf g++ ${pkgdir}/usr/bin/c++
+
+ # install gengtype for plugin support
+ install -m755 gcc/build/gengtype $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/
+ install -m644 gcc/gtype.state $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/
+
+ # POSIX conformance launcher scripts for c89 and c99
+ cat > $pkgdir/usr/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ cat > $pkgdir/usr/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ chmod 755 $pkgdir/usr/bin/c{8,9}9
+
+ # install the libstdc++ man pages
+ install -dm755 ${pkgdir}/usr/share/man/man3
+ install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-fortran-multilib()
+{
+ pkgdesc="Fortran front-end for GCC for multilib"
+ depends=("gcc-multilib=$pkgver-$pkgrel")
+ provides=("gcc-fortran=$pkgver-$pkgrel")
+ conflicts=('gcc-fortran')
+ install=gcc-fortran.install
+
+ cd gcc-build
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=$pkgdir install-target-libgfortran
+ make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
+
+ # remove libraries included in gcc-libs
+ rm ${pkgdir}/usr/lib{,32}/lib{gfortran,quadmath}.so*
+ rm ${pkgdir}/usr/share/info/libquadmath.info
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-fortran-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-objc-multilib()
+{
+ pkgdesc="Objective-C front-end for GCC for multilib"
+ depends=("gcc-multilib=$pkgver-$pkgrel")
+ provides=("gcc-objc=$pkgver-$pkgrel")
+ conflicts=('gcc-objc')
+
+ cd gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libobjc
+ install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+ install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+
+ # remove libraries included in gcc-libs
+ rm ${pkgdir}/usr/lib{,32}/libobjc.so*
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-objc-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-ada-multilib()
+{
+ pkgdesc="Ada front-end for GCC (GNAT) for multilib"
+ depends=("gcc-multilib=$pkgver-$pkgrel")
+ provides=("gcc-ada=$pkgver-$pkgrel")
+ conflicts=('gcc-ada')
+ install=gcc-ada.install
+
+ cd gcc-build/gcc
+ make -j1 DESTDIR=$pkgdir ada.install-{common,info}
+ install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
+
+ cd ../$CHOST/32/libada
+ make -j1 DESTDIR=${pkgdir} INSTALL="install" \
+ INSTALL_DATA="install -m644" install-gnatlib
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-ada-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-go-multilib()
+{
+ pkgdesc="Go front-end for GCC for multilib"
+ depends=("gcc-multilib=$pkgver-$pkgrel")
+ provides=("gcc-go=$pkgver-$pkgrel")
+ conflicts=('gcc-go')
+ install=gcc-go.install
+
+ cd gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libgo
+ make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
+ install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION
+}
diff --git a/multilib-testing/gcc-multilib/gcc-ada.install b/multilib-testing/gcc-multilib/gcc-ada.install
new file mode 100644
index 000000000..df0553a4f
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc-ada.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
+
+post_install() {
+ [ -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
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/multilib-testing/gcc-multilib/gcc-fortran.install b/multilib-testing/gcc-multilib/gcc-fortran.install
new file mode 100644
index 000000000..b15d89a97
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc-fortran.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+file="gfortran.info"
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
diff --git a/multilib-testing/gcc-multilib/gcc-go.install b/multilib-testing/gcc-multilib/gcc-go.install
new file mode 100644
index 000000000..7dc50dee5
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc-go.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gccgo.info)
+
+post_install() {
+ [ -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
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/multilib-testing/gcc-multilib/gcc-hash-style-both.patch b/multilib-testing/gcc-multilib/gcc-hash-style-both.patch
new file mode 100644
index 000000000..8b59f4535
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc-hash-style-both.patch
@@ -0,0 +1,122 @@
+--- gcc/config/alpha/linux-elf.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/alpha/linux-elf.h 2011-03-11 10:01:47.770000457 +1000
+@@ -41,7 +41,7 @@
+
+ #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
+
+-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+--- gcc/config/i386/linux64.h.orig 2011-03-03 08:35:36.000000000 +1000
++++ gcc/config/i386/linux64.h 2011-03-11 10:01:47.770000457 +1000
+@@ -78,7 +78,7 @@
+ %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/i386/linux.h.orig 2011-01-15 04:45:06.000000000 +1000
++++ gcc/config/i386/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -104,7 +104,7 @@
+ { "dynamic_linker", LINUX_DYNAMIC_LINKER }
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
++#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+--- gcc/config/ia64/linux.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/ia64/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -64,7 +64,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "\
++#define LINK_SPEC "--hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/rs6000/linux64.h.orig 2011-02-11 03:30:10.000000000 +1000
++++ gcc/config/rs6000/linux64.h 2011-03-11 10:03:34.280000457 +1000
+@@ -389,11 +389,11 @@
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
+
+
+-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}"
+
+-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}"
+
+--- gcc/config/rs6000/sysv4.h.orig 2011-01-28 04:36:03.000000000 +1000
++++ gcc/config/rs6000/sysv4.h 2011-03-11 10:01:47.773333792 +1000
+@@ -830,7 +830,7 @@
+ #define LINUX_DYNAMIC_LINKER \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER "}}"
+
+--- gcc/config/s390/linux.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/s390/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -77,7 +77,7 @@
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{static:-static} \
+--- gcc/config/sparc/linux64.h.orig 2011-02-17 23:57:21.000000000 +1000
++++ gcc/config/sparc/linux64.h 2011-03-11 10:01:47.770000457 +1000
+@@ -113,7 +113,7 @@
+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
+ { "link_arch", LINK_ARCH_SPEC },
+
+-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+@@ -121,7 +121,7 @@
+ %{static:-static}} \
+ "
+
+-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+@@ -193,7 +193,7 @@
+ #else /* !SPARC_BI_ARCH */
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+--- gcc/config/sparc/linux.h.orig 2011-01-27 06:30:12.000000000 +1000
++++ gcc/config/sparc/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -74,7 +74,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!static: \
diff --git a/multilib-testing/gcc-multilib/gcc-libs.install b/multilib-testing/gcc-multilib/gcc-libs.install
new file mode 100644
index 000000000..23553b8f0
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc-libs.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+filelist=(libgomp.info libquadmath.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/multilib-testing/gcc-multilib/gcc.install b/multilib-testing/gcc-multilib/gcc.install
new file mode 100644
index 000000000..3407a5e1f
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
+
+post_install() {
+ [ -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
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/multilib-testing/gcc-multilib/gcc_pure64.patch b/multilib-testing/gcc-multilib/gcc_pure64.patch
new file mode 100644
index 000000000..8c0baf8e2
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc_pure64.patch
@@ -0,0 +1,26 @@
+diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h
+--- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400
+@@ -49,8 +49,8 @@
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
+diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64
+--- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400
+@@ -6,7 +6,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib ../lib32
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
diff --git a/multilib-testing/lib32-glibc/PKGBUILD b/multilib-testing/lib32-glibc/PKGBUILD
new file mode 100644
index 000000000..61b3494d5
--- /dev/null
+++ b/multilib-testing/lib32-glibc/PKGBUILD
@@ -0,0 +1,167 @@
+# $Id: PKGBUILD 59996 2011-12-03 03:13:45Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: valgrind requires rebuild with each new glibc version
+
+_pkgbasename=glibc
+pkgname=lib32-$_pkgbasename
+pkgver=2.14.1
+pkgrel=2
+_glibcdate=20111025
+pkgdesc="GNU C Library for multilib"
+arch=('x86_64')
+url="http://www.gnu.org/software/libc"
+license=('GPL' 'LGPL')
+depends=("glibc>=$pkgver")
+makedepends=('gcc-multilib>=4.6')
+options=('!strip' '!emptydirs')
+source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcdate}.tar.xz
+ glibc-2.10-dont-build-timezone.patch
+ glibc-2.10-bz4781.patch
+ glibc-__i686.patch
+ glibc-2.12.1-static-shared-getpagesize.patch
+ glibc-2.12.2-ignore-origin-of-privileged-program.patch
+ glibc-2.13-futex.patch
+ glibc-2.14-libdl-crash.patch
+ glibc-2.14-revert-4768ae77.patch
+ glibc-2.14-reexport-rpc-interface.patch
+ glibc-2.14-reinstall-nis-rpc-headers.patch
+ lib32-glibc.conf)
+md5sums=('c52a15134dfa9f2c94f2ccd4cb155cf1'
+ '4dadb9203b69a3210d53514bb46f41c3'
+ '0c5540efc51c0b93996c51b57a8540ae'
+ '40cd342e21f71f5e49e32622b25acc52'
+ 'a3ac6f318d680347bb6e2805d42b73b2'
+ 'b042647ea7d6f22ad319e12e796bd13e'
+ '7d0154b7e17ea218c9fa953599d24cc4'
+ '6970bcfeb3bf88913436d5112d16f588'
+ '7da8c554a3b591c7401d7023b1928afc'
+ 'c5de2a946215d647c8af5432ec4b0da0'
+ '55febbb72139ac7b65757df085024b83'
+ 'a8f4549c716cd37244fbf1ed059497f8')
+
+build() {
+ cd ${srcdir}/glibc
+
+ # timezone data is in separate package (tzdata)
+ patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch
+
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781
+ patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch
+
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411
+ # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html
+ patch -Np1 -i ${srcdir}/glibc-__i686.patch
+
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=11929
+ # using Fedora "fix" as patch in that bug report causes breakages...
+ patch -Np1 -i ${srcdir}/glibc-2.12.1-static-shared-getpagesize.patch
+
+ # http://www.exploit-db.com/exploits/15274/
+ # http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch
+
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=12403
+ patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch
+
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (only fedora branch...)
+ # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html
+ patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch
+
+ # Revert commit causing issues with crappy DNS servers...
+ # Will be removed when workaround becomes annoying to maintain - USE A BETTER DNS SERVER!
+ # Note that both these patches do not fix the issue completely:
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=13013
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-revert-4768ae77.patch
+
+ # re-export RPC interface until libtirpc is ready as a replacement
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch
+
+ cd ${srcdir}
+ mkdir glibc-build
+ cd glibc-build
+
+ export CC="gcc -m32"
+
+ # Hack to fix NPTL issues with Xen, only required on 32bit platforms
+ export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
+
+ echo "slibdir=/lib32" >> configparms
+
+ # remove hardening options from CFLAGS for building libraries
+ CFLAGS=${CFLAGS/-fstack-protector/}
+ CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/}
+
+ ${srcdir}/glibc/configure --prefix=/usr \
+ --libdir=/usr/lib32 --libexecdir=/usr/lib32 \
+ --with-headers=/usr/include \
+ --enable-add-ons=nptl,libidn \
+ --enable-kernel=2.6.27 \
+ --with-tls --with-__thread \
+ --enable-bind-now --without-gd \
+ --without-cvs --disable-profile \
+ --enable-multi-arch i686-unknown-linux-gnu
+
+ # build libraries with hardening disabled
+ echo "build-programs=no" >> configparms
+ make
+
+ # re-enable hardening for programs
+ sed -i "s#=no#=yes#" configparms
+ echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms
+ echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms
+ make
+
+ # remove harding in preparation to run test-suite
+ sed -i '2,4d' configparms
+}
+
+check() {
+ cd ${srcdir}/glibc-build
+
+ # some errors are expected - manually check log files
+ make -k check || true
+}
+
+package() {
+ cd ${srcdir}/glibc-build
+ make install_root=${pkgdir} install
+
+ rm -rf ${pkgdir}/{etc,sbin,usr/{bin,sbin,share}}
+
+ # We need one 32 bit specific header file
+ find ${pkgdir}/usr/include -type f -not -name stubs-32.h -delete
+
+ # manually strip files as stripping libpthread-*.so and libthread_db.so
+ # with the default $STRIP_SHARED breaks gdb and stripping ld-*.so breaks
+ # valgrind on x86_64
+
+ cd $pkgdir
+ strip $STRIP_BINARIES usr/lib32/getconf/*
+
+ strip $STRIP_STATIC usr/lib32/*.a \
+ lib32/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so
+
+ strip $STRIP_SHARED lib32/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \
+ lib32/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \
+ lib32/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \
+ lib32/{libmemusage,libpcprofile,libSegFault}.so \
+ usr/lib32/{pt_chown,{audit,gconv}/*.so}
+
+ # Dynamic linker
+ mkdir ${pkgdir}/lib
+ ln -s ../lib32/ld-linux.so.2 ${pkgdir}/lib/
+
+ # Add lib32 paths to the default library search path
+ install -Dm644 "$srcdir/lib32-glibc.conf" "$pkgdir/etc/ld.so.conf.d/lib32-glibc.conf"
+
+ # Symlink /usr/lib32/locale to /usr/lib/locale
+ ln -s ../lib/locale "$pkgdir/usr/lib32/locale"
+}
diff --git a/multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch b/multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch
new file mode 100644
index 000000000..cf1a97a18
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch
@@ -0,0 +1,42 @@
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -120,9 +120,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (eip);
+ /* Note: %esi is zero. */
+ movl %esi,%ebp /* terminate the stack frame */
+ #ifdef RESET_PID
+@@ -155,7 +152,6 @@
+ jmp L(haspid)
+ .previous
+ #endif
+- cfi_endproc;
+
+ cfi_startproc
+ PSEUDO_END (BP_SYM (__clone))
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -89,9 +89,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (rip);
+ /* Clear the frame pointer. The ABI suggests this be done, to mark
+ the outermost frame obviously. */
+ xorl %ebp, %ebp
+@@ -116,7 +113,6 @@
+ /* Call exit with return value from function call. */
+ movq %rax, %rdi
+ call HIDDEN_JUMPTARGET (_exit)
+- cfi_endproc;
+
+ cfi_startproc;
+ PSEUDO_END (BP_SYM (__clone))
diff --git a/multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch b/multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch
new file mode 100644
index 000000000..d3abeff17
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch
@@ -0,0 +1,13 @@
+timezone data has been split into the package sys-libs/timezone-data
+
+--- glibc-2.4/Makeconfig
++++ glibc-2.4/Makeconfig
+@@ -931,7 +931,7 @@
+ stdlib stdio-common libio malloc string wcsmbs time dirent \
+ grp pwd posix io termios resource misc socket sysvipc gmon \
+ gnulib iconv iconvdata wctype manual shadow gshadow po argp \
+- crypt nss localedata timezone rt conform debug \
++ crypt nss localedata rt conform debug \
+ $(add-on-subdirs) $(dlfcn) $(binfmt-subdir)
+
+ ifndef avoid-generated
diff --git a/multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch b/multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch
new file mode 100644
index 000000000..e84754279
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch
@@ -0,0 +1,11 @@
+--- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/getpagesize.c
++++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/getpagesize.c
+@@ -28,7 +28,7 @@
+ int
+ __getpagesize ()
+ {
+-#ifdef __ASSUME_AT_PAGESIZE
++#if 0 && defined __ASSUME_AT_PAGESIZE
+ assert (GLRO(dl_pagesize) != 0);
+ return GLRO(dl_pagesize);
+ #else
diff --git a/multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch b/multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch
new file mode 100644
index 000000000..ce089b49c
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch
@@ -0,0 +1,26 @@
+From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@redhat.com>
+Date: Thu, 9 Dec 2010 15:00:59 +0100
+Subject: [PATCH 1/1] Ignore origin of privileged program
+
+---
+ ChangeLog | 5 +++++
+ elf/dl-object.c | 3 +++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/elf/dl-object.c b/elf/dl-object.c
+index 22a1635..7674d49 100644
+--- a/elf/dl-object.c
++++ b/elf/dl-object.c
+@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type,
+ out:
+ new->l_origin = origin;
+ }
++ else if (INTUSE(__libc_enable_secure) && type == lt_executable)
++ /* The origin of a privileged program cannot be trusted. */
++ new->l_origin = (char *) -1;
+
+ return new;
+ }
+--
+1.7.2
diff --git a/multilib-testing/lib32-glibc/glibc-2.13-futex.patch b/multilib-testing/lib32-glibc/glibc-2.13-futex.patch
new file mode 100644
index 000000000..9b9c3ac45
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.13-futex.patch
@@ -0,0 +1,31 @@
+--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
+@@ -210,7 +210,7 @@ pthread_rwlock_timedrdlock:
+ cfi_restore(%r12)
+ retq
+
+-#ifdef __ASSUME_PRIVATE_FUTEX
++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME
+ cfi_adjust_cfa_offset(16)
+ cfi_rel_offset(%r12, 8)
+ cfi_rel_offset(%r13, 0)
+--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
+@@ -192,7 +192,7 @@ pthread_rwlock_timedwrlock:
+
+ 7: movq %rdx, %rax
+
+-#ifndef __ASSUME_PRIVATE_FUTEX
++#ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+ addq $16, %rsp
+ cfi_adjust_cfa_offset(-16)
+ popq %r14
+@@ -207,7 +207,7 @@ pthread_rwlock_timedwrlock:
+ cfi_restore(%r12)
+ retq
+
+-#ifdef __ASSUME_PRIVATE_FUTEX
++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME
+ cfi_adjust_cfa_offset(16)
+ cfi_rel_offset(%r12, 8)
+ cfi_rel_offset(%r13, 0)
diff --git a/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch b/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch
new file mode 100644
index 000000000..6c9d2718e
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch
@@ -0,0 +1,132 @@
+diff --git a/elf/dl-close.c b/elf/dl-close.c
+index 73b2a2f..9bd91e3 100644
+--- a/elf/dl-close.c
++++ b/elf/dl-close.c
+@@ -1,5 +1,5 @@
+ /* Close a shared object opened by `_dl_open'.
+- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map)
+ if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
+ || dl_close_state != not_pending)
+ {
+- if (map->l_direct_opencount == 0)
+- {
+- if (map->l_type == lt_loaded)
+- dl_close_state = rerun;
+- else if (map->l_type == lt_library)
+- {
+- struct link_map **oldp = map->l_initfini;
+- map->l_initfini = map->l_orig_initfini;
+- _dl_scope_free (oldp);
+- }
+- }
++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
++ dl_close_state = rerun;
+
+ /* There are still references to this object. Do nothing more. */
+ if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
+diff --git a/elf/dl-deps.c b/elf/dl-deps.c
+index 9e30594..3890d00 100644
+--- a/elf/dl-deps.c
++++ b/elf/dl-deps.c
+@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map,
+ nneeded * sizeof needed[0]);
+ atomic_write_barrier ();
+ l->l_initfini = l_initfini;
++ l->l_free_initfini = 1;
+ }
+
+ /* If we have no auxiliary objects just go on to the next map. */
+@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING"));
+ l_initfini[nlist] = NULL;
+ atomic_write_barrier ();
+ map->l_initfini = l_initfini;
++ map->l_free_initfini = 1;
+ if (l_reldeps != NULL)
+ {
+ atomic_write_barrier ();
+@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING"));
+ _dl_scope_free (old_l_reldeps);
+ }
+ if (old_l_initfini != NULL)
+- map->l_orig_initfini = old_l_initfini;
++ _dl_scope_free (old_l_initfini);
+
+diff --git a/elf/dl-libc.c b/elf/dl-libc.c
+index 7be9483..a13fce3 100644
+--- a/elf/dl-libc.c
++++ b/elf/dl-libc.c
+@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem)
+
+ for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns)
+ {
+- /* Remove all additional names added to the objects. */
+ for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next)
+ {
+ struct libname_list *lnp = l->l_libname->next;
+
+ l->l_libname->next = NULL;
+
++ /* Remove all additional names added to the objects. */
+ while (lnp != NULL)
+ {
+ struct libname_list *old = lnp;
+@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem)
+ if (! old->dont_free)
+ free (old);
+ }
++
++ /* Free the initfini dependency list. */
++ if (l->l_free_initfini)
++ free (l->l_initfini);
+ }
+
+ if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
+diff --git a/elf/rtld.c b/elf/rtld.c
+index 4a9109e..617e30e 100644
+--- a/elf/rtld.c
++++ b/elf/rtld.c
+@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
+ lnp->dont_free = 1;
+ lnp = lnp->next;
+ }
++ l->l_free_initfini = 0;
+
+ if (l != &GL(dl_rtld_map))
+ _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
+diff --git a/include/link.h b/include/link.h
+index e877104..051b99a 100644
+--- a/include/link.h
++++ b/include/link.h
+@@ -1,6 +1,6 @@
+ /* Data structure for communication from the run-time dynamic linker for
+ loaded ELF shared objects.
+- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -192,6 +192,9 @@ struct link_map
+ during LD_TRACE_PRELINKING=1
+ contains any DT_SYMBOLIC
+ libraries. */
++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
++ freed, ie. not allocated with
++ the dummy malloc in ld.so. */
+
+ /* Collected information about own RPATH directories. */
+ struct r_search_path_struct l_rpath_dirs;
+@@ -240,9 +243,6 @@ struct link_map
+
+ /* List of object in order of the init and fini calls. */
+ struct link_map **l_initfini;
+- /* The init and fini list generated at startup, saved when the
+- object is also loaded dynamically. */
+- struct link_map **l_orig_initfini;
+
+ /* List of the dependencies introduced through symbol binding. */
+ struct link_map_reldeps
diff --git a/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch b/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch
new file mode 100644
index 000000000..e2beea881
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch
@@ -0,0 +1,26 @@
+diff --git a/include/libc-symbols.h b/include/libc-symbols.h
+index 67e1ca2..5e7cca5 100644
+--- a/include/libc-symbols.h
++++ b/include/libc-symbols.h
+@@ -635,7 +635,7 @@ for linking")
+ # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
+ # define libc_hidden_def(name) hidden_def (name)
+ # define libc_hidden_weak(name) hidden_weak (name)
+-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
++# define libc_hidden_nolink(name, version) hidden_def (name)
+ # define libc_hidden_ver(local, name) hidden_ver (local, name)
+ # define libc_hidden_data_def(name) hidden_data_def (name)
+ # define libc_hidden_data_weak(name) hidden_data_weak (name)
+diff --git a/sunrpc/Makefile b/sunrpc/Makefile
+index 5134ce9..40c73d1 100644
+--- a/sunrpc/Makefile
++++ b/sunrpc/Makefile
+@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
+ des_crypt.h)
+ headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
+ $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
+-headers = rpc/netdb.h
++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
+ install-others = $(inst_sysconfdir)/rpc
+ generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
+ $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
diff --git a/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
new file mode 100644
index 000000000..eb0fd822d
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
@@ -0,0 +1,28 @@
+From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@redhat.com>
+Date: Tue, 17 May 2011 17:42:30 +0200
+Subject: [PATCH] Reinstall NIS RPC headers
+
+---
+ nis/Makefile | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nis/Makefile b/nis/Makefile
+index b5c9609..d2934d9 100644
+--- a/nis/Makefile
++++ b/nis/Makefile
+@@ -23,9 +23,9 @@ subdir := nis
+
+ aux := nis_hash
+
++headers := $(wildcard rpcsvc/*.[hx])
+ distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
+- nisplus-parser.h nis_xdr.h nss \
+- $(wildcard rpcsvc/*.[hx])
++ nisplus-parser.h nis_xdr.h nss
+
+ # These are the databases available for the nis (and perhaps later nisplus)
+ # service. This must be a superset of the services in nss.
+--
+1.7.5.4
+
diff --git a/multilib-testing/lib32-glibc/glibc-2.14-revert-4768ae77.patch b/multilib-testing/lib32-glibc/glibc-2.14-revert-4768ae77.patch
new file mode 100644
index 000000000..11f087cb7
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.14-revert-4768ae77.patch
@@ -0,0 +1,37 @@
+diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c
+--- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000
++++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000
+@@ -549,7 +549,7 @@
+ ns, ansp, ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || *resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ } else {
+ /* Use datagrams. */
+@@ -559,7 +559,7 @@
+ ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || *resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ if (v_circuit)
+ // XXX Check whether both requests failed or
+@@ -1275,14 +1275,10 @@
+ (*thisresplenp > *thisanssizp)
+ ? *thisanssizp : *thisresplenp);
+
+- if (recvresp1 || (buf2 != NULL && recvresp2)) {
+- *resplen2 = 0;
++ if (recvresp1 || (buf2 != NULL && recvresp2))
+ return resplen;
+- }
+ if (buf2 != NULL)
+ {
+- /* No data from the first reply. */
+- resplen = 0;
+ /* We are waiting for a possible second reply. */
+ if (hp->id == anhp->id)
+ recvresp1 = 1;
diff --git a/multilib-testing/lib32-glibc/glibc-__i686.patch b/multilib-testing/lib32-glibc/glibc-__i686.patch
new file mode 100644
index 000000000..28d5dd424
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-__i686.patch
@@ -0,0 +1,13 @@
+diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile
+--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000
++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000
+@@ -1,6 +1,7 @@
+ # The mpn functions need a #define for asm syntax flavor.
+-# Every i386 port in use uses gas syntax (I think).
+-asm-CPPFLAGS += -DGAS_SYNTAX
++# Every i386 port in use uses gas syntax (I think). Don't replace
++# __i686 in __i686.get_pc_thunk.bx.
++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686
+
+ # The i386 `long double' is a distinct type we support.
+ long-double-fcts = yes
diff --git a/multilib-testing/lib32-glibc/lib32-glibc.conf b/multilib-testing/lib32-glibc/lib32-glibc.conf
new file mode 100644
index 000000000..a1c8c4199
--- /dev/null
+++ b/multilib-testing/lib32-glibc/lib32-glibc.conf
@@ -0,0 +1,2 @@
+/lib32
+/usr/lib32
diff --git a/multilib/dev86/PKGBUILD b/multilib/dev86/PKGBUILD
new file mode 100644
index 000000000..634592a08
--- /dev/null
+++ b/multilib/dev86/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 59310 2011-11-23 10:19:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+# Contributor: Suat SARIALP <muhendis.suat@gmail.com>
+
+pkgname=dev86
+pkgver=0.16.18
+pkgrel=2
+pkgdesc="Simple C compiler to generate 8086 code"
+arch=('i686' 'x86_64')
+url="http://www.debath.co.uk/dev86/"
+license=(GPL)
+[ "${CARCH}" == "x86_64" ] && depends=('lib32-glibc')
+makedepends=('bin86')
+options=('!libtool' '!strip' '!makeflags')
+source=(http://www.debath.co.uk/dev86/Dev86src-$pkgver.tar.gz
+ dev86-pic.patch
+ dev86-0.16.17-fortify.patch)
+md5sums=('f2e06b547397383b2b2650b9c4fd9bab'
+ '1b750c5561a4bde5f83f65e5827feb73'
+ '07238f9203c6528ea1e34198e771ea12')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np0 -i $srcdir/dev86-pic.patch
+ patch -Np1 -i $srcdir/dev86-0.16.17-fortify.patch
+ if [ "${CARCH}" = "x86_64" ]; then
+ # x86_64 fix
+ sed -i.orig -e 's,alt-libs elksemu,alt-libs,' \
+ -e 's,install-lib install-emu,install-lib,' \
+ $srcdir/$pkgname-$pkgver/makefile.in
+ sed -i -e "s/-O2 -g/-O2 -g -m32/" makefile.in
+ sed -i 's|^LDFLAGS.*=$|LDFLAGS=-m32|' makefile.in
+ fi
+
+ unset CFLAGS
+ unset LDFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+
+ make PREFIX=/usr DIST="$pkgdir"
+ make install-all DIST="$pkgdir"
+ mkdir -p $pkgdir/usr/share
+ mv $pkgdir/usr/man $pkgdir/usr/share
+ # remove all the stuff supplied by bin86
+ rm $pkgdir/usr/bin/{as,ld,nm,objdump,size}86
+ rm $pkgdir/usr/share/man/man1/{as,ld}86.1
+}
diff --git a/multilib/dev86/dev86-0.16.17-fortify.patch b/multilib/dev86/dev86-0.16.17-fortify.patch
new file mode 100644
index 000000000..715d0c4ca
--- /dev/null
+++ b/multilib/dev86/dev86-0.16.17-fortify.patch
@@ -0,0 +1,43 @@
+--- dev86-0.16.17/bcc/bcc.c
++++ dev86-0.16.17/bcc/bcc.c
+@@ -19,6 +19,7 @@
+ #ifdef __STDC__
+ #include <stdlib.h>
+ #ifndef MSDOS
++#include <limits.h>
+ #include <unistd.h>
+ #endif
+ #else
+@@ -596,12 +597,17 @@
+ }
+ }
+
+-void
+-command_reset()
+-{
+ #ifndef MAXPATHLEN
++#ifdef PATH_MAX
++#define MAXPATHLEN PATH_MAX
++#else
+ #define MAXPATHLEN 1024
+ #endif
++#endif
++
++void
++command_reset()
++{
+ char buf[MAXPATHLEN];
+ char ** prefix;
+ char * saved_cmd;
+@@ -1308,11 +1314,7 @@
+
+ for(d=s=ptr; d && *s; s=d)
+ {
+-#ifdef MAXPATHLEN
+ char buf[MAXPATHLEN];
+-#else
+- char buf[1024];
+-#endif
+
+ free(temp);
+ d=strchr(s, ':');
diff --git a/multilib/dev86/dev86-pic.patch b/multilib/dev86/dev86-pic.patch
new file mode 100644
index 000000000..439c2648b
--- /dev/null
+++ b/multilib/dev86/dev86-pic.patch
@@ -0,0 +1,20 @@
+--- elksemu/elks.c.orig 2005-11-04 01:35:37.000000000 +0100
++++ elksemu/elks.c 2005-11-04 01:45:28.000000000 +0100
+@@ -129,8 +129,17 @@
+ static inline int vm86_mine(struct vm86_struct* v86)
+ {
+ int __res;
++#ifndef __PIC__
+ __asm__ __volatile__("int $0x80\n"
+ :"=a" (__res):"a" ((int)OLD_SYS_vm86), "b" ((int)v86));
++#else
++ __asm__ __volatile__(
++ "movl %%ebx,%%ecx\n\t"
++ "movl %2,%%ebx\n\t"
++ "int $0x80\n\t"
++ "movl %%ecx,%%ebx\n\t"
++ :"=a" (__res):"a" ((int)OLD_SYS_vm86), "r" ((int)v86) : "ecx");
++#endif
+ return __res;
+ }
+ #endif
diff --git a/multilib/lib32-gettext/PKGBUILD b/multilib/lib32-gettext/PKGBUILD
new file mode 100644
index 000000000..94f9b4aa5
--- /dev/null
+++ b/multilib/lib32-gettext/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Contributor: Joakim Hernberg <jhernberg at alchemy dot lu>
+_pkgbasename=gettext
+pkgname=lib32-$_pkgbasename
+pkgver=0.18.1.1
+pkgrel=2
+pkgdesc="GNU internationalization library (32-bit)"
+arch=('x86_64')
+url="http://www.gnu.org/software/gettext/"
+license=('GPL')
+depends=('lib32-acl' $_pkgbasename)
+makedepends=(gcc-multilib)
+optdepends=('cvs: for autopoint tool')
+options=(!libtool !docs)
+source=(ftp://ftp.gnu.org/pub/gnu/gettext/${_pkgbasename}-${pkgver}.tar.gz)
+md5sums=('3dd55b952826d2b32f51308f2f91aa89')
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ sed -i -e 's/libexpat.so.0/libexpat.so.1/' gettext-tools/src/x-glade.c
+ ./configure --prefix=/usr --enable-csharp --libdir=/usr/lib32
+ make
+}
+
+#check() {
+# cd "${srcdir}/${pkgname}-${pkgver}"
+# make check
+#}
+
+package() {
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ rm -rf "${pkgdir}"/usr/{bin,include,share}
+}
diff --git a/testing/binutils/PKGBUILD b/testing/binutils/PKGBUILD
new file mode 100644
index 000000000..adaf7563c
--- /dev/null
+++ b/testing/binutils/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 144069 2011-12-02 21:03:50Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=binutils
+pkgver=2.22
+pkgrel=1
+_date=20111201
+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')
+depends=('glibc>=2.14' 'zlib')
+checkdepends=('dejagnu')
+options=('!libtool' '!distcc' '!ccache')
+install=binutils.install
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
+md5sums=('77c15027ac112c65fd5f73ca91b0651c')
+
+mksource() {
+ mkdir ${pkgname}-${_date}
+ cd ${pkgname}-${_date}
+ export _TAG=binutils-2_22-branch
+ export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src'
+ cvs -z9 co -r $_TAG binutils || return 1
+ mv src binutils
+ tar -cvjf ../binutils-${pkgver}_${_date}.tar.bz2 binutils/*
+}
+
+build() {
+ cd ${srcdir}
+ mkdir binutils-build && cd binutils-build
+
+ [[ $CARCH == "x86_64" ]] && CONFIGFLAG="--enable-64-bit-bfd --disable-multilib"
+
+ ${srcdir}/binutils/configure --prefix=/usr \
+ --enable-ld=default --enable-gold \
+ --enable-plugins --enable-threads \
+ --enable-shared $CONFIGFLAG
+
+ # check the host environment and makes sure all the necessary tools are available
+ make configure-host
+
+ make tooldir=${pkgdir}/usr
+}
+
+check() {
+ cd ${srcdir}/binutils-build
+
+ # do not abort on errors - manually check log files
+ make -k -j1 check || true
+}
+
+package() {
+ cd ${srcdir}/binutils-build
+ make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
+
+ # Add some useful headers
+ install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include
+ install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include
+
+ # Rebuild libiberty.a with -fPIC
+ make -C libiberty clean
+ make CFLAGS="$CFLAGS -fPIC" -C libiberty
+ install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib
+
+ # Rebuild libbfd.a with -fPIC
+ make -C bfd clean
+ # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
+ make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd
+ install -m644 bfd/libbfd.a ${pkgdir}/usr/lib
+
+ # Remove Windows/Novell specific man pages
+ rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
+
+ # Remove these symlinks, they are not ABI stable.
+ # Programs should compile static to the .a file.
+ rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
+ echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so
+ echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so
+}
diff --git a/testing/binutils/binutils.install b/testing/binutils/binutils.install
new file mode 100644
index 000000000..8bf9f3a47
--- /dev/null
+++ b/testing/binutils/binutils.install
@@ -0,0 +1,17 @@
+infodir=usr/share/info
+filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.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/gcc/PKGBUILD b/testing/gcc/PKGBUILD
new file mode 100644
index 000000000..4c4cec15d
--- /dev/null
+++ b/testing/gcc/PKGBUILD
@@ -0,0 +1,254 @@
+# $Id: PKGBUILD 144071 2011-12-02 21:13:00Z 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' 'gcc-ada' 'gcc-go')
+pkgver=4.6.2
+pkgrel=2
+_snapshot=4.6-20111125
+_libstdcppmanver=20110814 # Note: check source directory name when updating this
+pkgdesc="The GNU Compiler Collection"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+makedepends=('binutils>=2.22' '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
+ ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
+ gcc_pure64.patch
+ gcc-hash-style-both.patch)
+md5sums=('922b0ee688669c188d237bbd21d42d07'
+ 'ce920d2550ff7e042b9f091d27764d8f'
+ '4030ee1c08dd1e843c0225b772360e76'
+ '4df25b623799b148a0703eaeec8fdf3f')
+
+if [ -n "${_snapshot}" ]; then
+ _basedir="${srcdir}/gcc-${_snapshot}"
+else
+ _basedir="${srcdir}/gcc-${pkgver}"
+fi
+
+build() {
+ cd ${_basedir}
+
+ # Do not install libiberty
+ sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ patch -Np1 -i ${srcdir}/gcc_pure64.patch
+ fi
+ patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ cd ${srcdir}
+ mkdir gcc-build && cd gcc-build
+
+ ${_basedir}/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
+ --enable-shared --enable-threads=posix \
+ --with-system-zlib --enable-__cxa_atexit \
+ --disable-libunwind-exceptions --enable-clocale=gnu \
+ --enable-gnu-unique-object --enable-linker-build-id \
+ --with-ppl --enable-cloog-backend=isl \
+ --enable-lto --enable-gold --enable-ld=default \
+ --enable-plugin --with-plugin-ld=ld.gold \
+ --disable-multilib --disable-libssp --disable-libstdcxx-pch \
+ --enable-checking=release
+ make
+}
+
+check() {
+ cd gcc-build
+
+ # increase stack size to prevent test failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
+ ulimit -s 32768
+
+ # do not abort on error as some are "expected"
+ make -k check || true
+ ${_basedir}/contrib/test_summary
+}
+
+package_gcc-libs()
+{
+ pkgdesc="Runtime libraries shipped by GCC"
+ groups=('base')
+ depends=('glibc>=2.14')
+ install=gcc-libs.install
+
+ cd gcc-build
+ make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ for lib in libmudflap libgomp libstdc++-v3/src; do
+ make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+ make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+ make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info
+
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=${pkgdir} install-target-libgfortran
+ make -j1 DESTDIR=${pkgdir} install-target-libobjc
+
+ # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
+ rm -rf ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc()
+{
+ pkgdesc="The GNU Compiler Collection - C and C++ frontends"
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.22' 'libmpc' 'cloog' 'ppl')
+ groups=('base-devel')
+ install=gcc.install
+
+ cd gcc-build
+
+ # unfortunately it is much, much easier to install the lot and clean-up the mess...
+ make -j1 DESTDIR=${pkgdir} install
+ rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*}
+ rm $pkgdir/usr/lib/*.so*
+ rm $pkgdir/usr/lib/lib{ffi,gfortran,go{,begin},objc,quadmath}.a
+ rm $pkgdir/usr/lib/libgfortran.spec
+ rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1,libgfortranbegin.a}
+ rm -r $pkgdir/usr/lib/go
+ rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath}.info
+ rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
+ rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1
+ rm $pkgdir/usr/share/man/man3/ffi*
+
+ # many packages require these symlinks
+ install -dm755 ${pkgdir}/lib
+ ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp
+ ln -sf gcc ${pkgdir}/usr/bin/cc
+ ln -sf g++ ${pkgdir}/usr/bin/c++
+
+ # install gengtype for plugin support
+ install -m755 gcc/build/gengtype $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/
+ install -m644 gcc/gtype.state $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/
+
+ # POSIX conformance launcher scripts for c89 and c99
+ cat > $pkgdir/usr/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ cat > $pkgdir/usr/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ chmod 755 $pkgdir/usr/bin/c{8,9}9
+
+ # install the libstdc++ man pages
+ install -dm755 ${pkgdir}/usr/share/man/man3
+ install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-fortran()
+{
+ pkgdesc="Fortran front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-fortran.install
+
+ cd gcc-build
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=$pkgdir install-target-libgfortran
+ make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
+
+ # remove libraries included in gcc-libs
+ rm ${pkgdir}/usr/lib/lib{gfortran,quadmath}.so*
+ rm ${pkgdir}/usr/share/info/libquadmath.info
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-fortran/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-objc()
+{
+ pkgdesc="Objective-C front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+
+ cd gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libobjc
+ install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+ install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+
+ # remove libraries included in gcc-libs
+ rm ${pkgdir}/usr/lib/libobjc.so*
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-ada()
+{
+ pkgdesc="Ada front-end for GCC (GNAT)"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-ada.install
+
+ cd gcc-build/gcc
+ make -j1 DESTDIR=$pkgdir ada.install-{common,info}
+ install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-go()
+{
+ pkgdesc="Go front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-go.install
+
+ cd gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libgo
+ make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
+ install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION
+}
diff --git a/testing/gcc/gcc-ada.install b/testing/gcc/gcc-ada.install
new file mode 100644
index 000000000..df0553a4f
--- /dev/null
+++ b/testing/gcc/gcc-ada.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
+
+post_install() {
+ [ -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
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc-fortran.install b/testing/gcc/gcc-fortran.install
new file mode 100644
index 000000000..b15d89a97
--- /dev/null
+++ b/testing/gcc/gcc-fortran.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+file="gfortran.info"
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
diff --git a/testing/gcc/gcc-go.install b/testing/gcc/gcc-go.install
new file mode 100644
index 000000000..7dc50dee5
--- /dev/null
+++ b/testing/gcc/gcc-go.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gccgo.info)
+
+post_install() {
+ [ -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
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc-hash-style-both.patch b/testing/gcc/gcc-hash-style-both.patch
new file mode 100644
index 000000000..8b59f4535
--- /dev/null
+++ b/testing/gcc/gcc-hash-style-both.patch
@@ -0,0 +1,122 @@
+--- gcc/config/alpha/linux-elf.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/alpha/linux-elf.h 2011-03-11 10:01:47.770000457 +1000
+@@ -41,7 +41,7 @@
+
+ #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
+
+-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+--- gcc/config/i386/linux64.h.orig 2011-03-03 08:35:36.000000000 +1000
++++ gcc/config/i386/linux64.h 2011-03-11 10:01:47.770000457 +1000
+@@ -78,7 +78,7 @@
+ %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/i386/linux.h.orig 2011-01-15 04:45:06.000000000 +1000
++++ gcc/config/i386/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -104,7 +104,7 @@
+ { "dynamic_linker", LINUX_DYNAMIC_LINKER }
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
++#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+--- gcc/config/ia64/linux.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/ia64/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -64,7 +64,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "\
++#define LINK_SPEC "--hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/rs6000/linux64.h.orig 2011-02-11 03:30:10.000000000 +1000
++++ gcc/config/rs6000/linux64.h 2011-03-11 10:03:34.280000457 +1000
+@@ -389,11 +389,11 @@
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
+
+
+-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}"
+
+-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}"
+
+--- gcc/config/rs6000/sysv4.h.orig 2011-01-28 04:36:03.000000000 +1000
++++ gcc/config/rs6000/sysv4.h 2011-03-11 10:01:47.773333792 +1000
+@@ -830,7 +830,7 @@
+ #define LINUX_DYNAMIC_LINKER \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER "}}"
+
+--- gcc/config/s390/linux.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/s390/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -77,7 +77,7 @@
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{static:-static} \
+--- gcc/config/sparc/linux64.h.orig 2011-02-17 23:57:21.000000000 +1000
++++ gcc/config/sparc/linux64.h 2011-03-11 10:01:47.770000457 +1000
+@@ -113,7 +113,7 @@
+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
+ { "link_arch", LINK_ARCH_SPEC },
+
+-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+@@ -121,7 +121,7 @@
+ %{static:-static}} \
+ "
+
+-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+@@ -193,7 +193,7 @@
+ #else /* !SPARC_BI_ARCH */
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+--- gcc/config/sparc/linux.h.orig 2011-01-27 06:30:12.000000000 +1000
++++ gcc/config/sparc/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -74,7 +74,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!static: \
diff --git a/testing/gcc/gcc-libs.install b/testing/gcc/gcc-libs.install
new file mode 100644
index 000000000..23553b8f0
--- /dev/null
+++ b/testing/gcc/gcc-libs.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+filelist=(libgomp.info libquadmath.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/gcc/gcc.install b/testing/gcc/gcc.install
new file mode 100644
index 000000000..3407a5e1f
--- /dev/null
+++ b/testing/gcc/gcc.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
+
+post_install() {
+ [ -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
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc_pure64.patch b/testing/gcc/gcc_pure64.patch
new file mode 100644
index 000000000..8c0baf8e2
--- /dev/null
+++ b/testing/gcc/gcc_pure64.patch
@@ -0,0 +1,26 @@
+diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h
+--- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400
+@@ -49,8 +49,8 @@
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
+diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64
+--- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400
+@@ -6,7 +6,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib ../lib32
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
diff --git a/testing/glibc/PKGBUILD b/testing/glibc/PKGBUILD
new file mode 100644
index 000000000..4e0c2d26e
--- /dev/null
+++ b/testing/glibc/PKGBUILD
@@ -0,0 +1,204 @@
+# $Id: PKGBUILD 144073 2011-12-02 21:32:48Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: valgrind requires rebuilt with each major glibc version
+
+pkgname=glibc
+pkgver=2.14.1
+pkgrel=2
+_glibcdate=20111025
+pkgdesc="GNU C Library"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libc"
+license=('GPL' 'LGPL')
+groups=('base')
+depends=('linux-api-headers>=3.1' 'tzdata')
+makedepends=('gcc>=4.6')
+backup=(etc/gai.conf
+ etc/locale.gen
+ etc/nscd.conf)
+options=('!strip')
+install=glibc.install
+source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.xz
+ glibc-2.10-dont-build-timezone.patch
+ glibc-2.10-bz4781.patch
+ glibc-__i686.patch
+ glibc-2.12.1-static-shared-getpagesize.patch
+ glibc-2.12.2-ignore-origin-of-privileged-program.patch
+ glibc-2.13-futex.patch
+ glibc-2.14-libdl-crash.patch
+ glibc-2.14-revert-4768ae77.patch
+ glibc-2.14-reexport-rpc-interface.patch
+ glibc-2.14-reinstall-nis-rpc-headers.patch
+ nscd
+ locale.gen.txt
+ locale-gen)
+md5sums=('c52a15134dfa9f2c94f2ccd4cb155cf1'
+ '4dadb9203b69a3210d53514bb46f41c3'
+ '0c5540efc51c0b93996c51b57a8540ae'
+ '40cd342e21f71f5e49e32622b25acc52'
+ 'a3ac6f318d680347bb6e2805d42b73b2'
+ 'b042647ea7d6f22ad319e12e796bd13e'
+ '7d0154b7e17ea218c9fa953599d24cc4'
+ '6970bcfeb3bf88913436d5112d16f588'
+ '7da8c554a3b591c7401d7023b1928afc'
+ 'c5de2a946215d647c8af5432ec4b0da0'
+ '55febbb72139ac7b65757df085024b83'
+ 'b587ee3a70c9b3713099295609afde49'
+ '07ac979b6ab5eeb778d55f041529d623'
+ '476e9113489f93b348b21e144b6a8fcf')
+
+
+mksource() {
+ git clone git://sourceware.org/git/glibc.git
+ pushd glibc
+ git checkout -b glibc-2.14-arch origin/release/2.14/master
+ popd
+ tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/*
+}
+
+build() {
+ cd ${srcdir}/glibc
+
+ # timezone data is in separate package (tzdata)
+ patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch
+
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781
+ patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch
+
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411
+ # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html
+ patch -Np1 -i ${srcdir}/glibc-__i686.patch
+
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=11929
+ # using Fedora "fix" as patch in that bug report causes breakages...
+ patch -Np1 -i ${srcdir}/glibc-2.12.1-static-shared-getpagesize.patch
+
+ # http://www.exploit-db.com/exploits/15274/
+ # http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch
+
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=12403
+ patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch
+
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (only fedora branch...)
+ # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html
+ patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch
+
+ # Revert commit causing issues with crappy DNS servers...
+ # Will be removed when workaround becomes annoying to maintain - USE A BETTER DNS SERVER!
+ # Note that both these patches do not fix the issue completely:
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=13013
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-revert-4768ae77.patch
+
+ # re-export RPC interface until libtirpc is ready as a replacement
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch
+
+ install -dm755 ${pkgdir}/etc
+ touch ${pkgdir}/etc/ld.so.conf
+
+ cd ${srcdir}
+ mkdir glibc-build
+ cd glibc-build
+
+ if [[ ${CARCH} = "i686" ]]; then
+ # Hack to fix NPTL issues with Xen, only required on 32bit platforms
+ export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
+ fi
+
+ echo "slibdir=/lib" >> configparms
+
+ # remove hardening options from CFLAGS for building libraries
+ CFLAGS=${CFLAGS/-fstack-protector/}
+ CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/}
+
+ ${srcdir}/glibc/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --with-headers=/usr/include \
+ --enable-add-ons=nptl,libidn \
+ --enable-kernel=2.6.27 \
+ --with-tls --with-__thread \
+ --enable-bind-now --without-gd \
+ --without-cvs --disable-profile \
+ --enable-multi-arch
+
+ # build libraries with hardening disabled
+ echo "build-programs=no" >> configparms
+ make
+
+ # re-enable hardening for programs
+ sed -i "s#=no#=yes#" configparms
+ echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms
+ echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms
+ make
+
+ # remove harding in preparation to run test-suite
+ sed -i '2,4d' configparms
+}
+
+check() {
+ cd ${srcdir}/glibc-build
+
+ # some errors are expected - manually check log files
+ make -k check || true
+}
+
+package() {
+ cd ${srcdir}/glibc-build
+ make install_root=${pkgdir} install
+
+ rm -f ${pkgdir}/etc/ld.so.{cache,conf}
+
+ install -dm755 ${pkgdir}/etc/rc.d
+ install -dm755 ${pkgdir}/usr/sbin
+ install -dm755 ${pkgdir}/usr/lib/locale
+ install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
+ install -m755 ${srcdir}/nscd ${pkgdir}/etc/rc.d/nscd
+ install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin
+ install -m644 ${srcdir}/glibc/posix/gai.conf ${pkgdir}/etc/gai.conf
+
+ sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf
+
+ # create /etc/locale.gen
+ install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen
+ sed -i "s|/| |g" ${srcdir}/glibc/localedata/SUPPORTED
+ sed -i 's|\\| |g' ${srcdir}/glibc/localedata/SUPPORTED
+ sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/glibc/localedata/SUPPORTED
+ cat ${srcdir}/glibc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
+ sed -i "s|^|#|g" ${pkgdir}/etc/locale.gen
+
+ if [[ ${CARCH} = "x86_64" ]]; then
+ # fix for the linker
+ sed -i '/RTLDLIST/s%lib64%lib%' ${pkgdir}/usr/bin/ldd
+ # Comply with multilib binaries, they look for the linker in /lib64
+ mkdir ${pkgdir}/lib64
+ cd ${pkgdir}/lib64
+ ln -v -s ../lib/ld* .
+ fi
+
+ # manually strip files as stripping libpthread-*.so and libthread_db.so
+ # with the default $STRIP_SHARED breaks gdb and stripping ld-*.so breaks
+ # valgrind on x86_64
+
+ cd $pkgdir
+ strip $STRIP_BINARIES sbin/{ldconfig,sln} \
+ usr/bin/{gencat,getconf,getent,iconv,locale} \
+ usr/bin/{localedef,pcprofiledump,rpcgen,sprof} \
+ usr/lib/getconf/* \
+ usr/sbin/{iconvconfig,nscd}
+ [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4
+
+ strip $STRIP_STATIC usr/lib/*.a \
+ lib/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so
+
+ strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \
+ lib/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \
+ lib/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \
+ lib/{libmemusage,libpcprofile,libSegFault}.so \
+ usr/lib/{pt_chown,{audit,gconv}/*.so}
+}
diff --git a/testing/glibc/glibc-2.10-bz4781.patch b/testing/glibc/glibc-2.10-bz4781.patch
new file mode 100644
index 000000000..cf1a97a18
--- /dev/null
+++ b/testing/glibc/glibc-2.10-bz4781.patch
@@ -0,0 +1,42 @@
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -120,9 +120,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (eip);
+ /* Note: %esi is zero. */
+ movl %esi,%ebp /* terminate the stack frame */
+ #ifdef RESET_PID
+@@ -155,7 +152,6 @@
+ jmp L(haspid)
+ .previous
+ #endif
+- cfi_endproc;
+
+ cfi_startproc
+ PSEUDO_END (BP_SYM (__clone))
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -89,9 +89,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (rip);
+ /* Clear the frame pointer. The ABI suggests this be done, to mark
+ the outermost frame obviously. */
+ xorl %ebp, %ebp
+@@ -116,7 +113,6 @@
+ /* Call exit with return value from function call. */
+ movq %rax, %rdi
+ call HIDDEN_JUMPTARGET (_exit)
+- cfi_endproc;
+
+ cfi_startproc;
+ PSEUDO_END (BP_SYM (__clone))
diff --git a/testing/glibc/glibc-2.10-dont-build-timezone.patch b/testing/glibc/glibc-2.10-dont-build-timezone.patch
new file mode 100644
index 000000000..d3abeff17
--- /dev/null
+++ b/testing/glibc/glibc-2.10-dont-build-timezone.patch
@@ -0,0 +1,13 @@
+timezone data has been split into the package sys-libs/timezone-data
+
+--- glibc-2.4/Makeconfig
++++ glibc-2.4/Makeconfig
+@@ -931,7 +931,7 @@
+ stdlib stdio-common libio malloc string wcsmbs time dirent \
+ grp pwd posix io termios resource misc socket sysvipc gmon \
+ gnulib iconv iconvdata wctype manual shadow gshadow po argp \
+- crypt nss localedata timezone rt conform debug \
++ crypt nss localedata rt conform debug \
+ $(add-on-subdirs) $(dlfcn) $(binfmt-subdir)
+
+ ifndef avoid-generated
diff --git a/testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch b/testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch
new file mode 100644
index 000000000..e84754279
--- /dev/null
+++ b/testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch
@@ -0,0 +1,11 @@
+--- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/getpagesize.c
++++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/getpagesize.c
+@@ -28,7 +28,7 @@
+ int
+ __getpagesize ()
+ {
+-#ifdef __ASSUME_AT_PAGESIZE
++#if 0 && defined __ASSUME_AT_PAGESIZE
+ assert (GLRO(dl_pagesize) != 0);
+ return GLRO(dl_pagesize);
+ #else
diff --git a/testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch b/testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch
new file mode 100644
index 000000000..ce089b49c
--- /dev/null
+++ b/testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch
@@ -0,0 +1,26 @@
+From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@redhat.com>
+Date: Thu, 9 Dec 2010 15:00:59 +0100
+Subject: [PATCH 1/1] Ignore origin of privileged program
+
+---
+ ChangeLog | 5 +++++
+ elf/dl-object.c | 3 +++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/elf/dl-object.c b/elf/dl-object.c
+index 22a1635..7674d49 100644
+--- a/elf/dl-object.c
++++ b/elf/dl-object.c
+@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type,
+ out:
+ new->l_origin = origin;
+ }
++ else if (INTUSE(__libc_enable_secure) && type == lt_executable)
++ /* The origin of a privileged program cannot be trusted. */
++ new->l_origin = (char *) -1;
+
+ return new;
+ }
+--
+1.7.2
diff --git a/testing/glibc/glibc-2.13-futex.patch b/testing/glibc/glibc-2.13-futex.patch
new file mode 100644
index 000000000..9b9c3ac45
--- /dev/null
+++ b/testing/glibc/glibc-2.13-futex.patch
@@ -0,0 +1,31 @@
+--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
+@@ -210,7 +210,7 @@ pthread_rwlock_timedrdlock:
+ cfi_restore(%r12)
+ retq
+
+-#ifdef __ASSUME_PRIVATE_FUTEX
++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME
+ cfi_adjust_cfa_offset(16)
+ cfi_rel_offset(%r12, 8)
+ cfi_rel_offset(%r13, 0)
+--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
+@@ -192,7 +192,7 @@ pthread_rwlock_timedwrlock:
+
+ 7: movq %rdx, %rax
+
+-#ifndef __ASSUME_PRIVATE_FUTEX
++#ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+ addq $16, %rsp
+ cfi_adjust_cfa_offset(-16)
+ popq %r14
+@@ -207,7 +207,7 @@ pthread_rwlock_timedwrlock:
+ cfi_restore(%r12)
+ retq
+
+-#ifdef __ASSUME_PRIVATE_FUTEX
++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME
+ cfi_adjust_cfa_offset(16)
+ cfi_rel_offset(%r12, 8)
+ cfi_rel_offset(%r13, 0)
diff --git a/testing/glibc/glibc-2.14-libdl-crash.patch b/testing/glibc/glibc-2.14-libdl-crash.patch
new file mode 100644
index 000000000..6c9d2718e
--- /dev/null
+++ b/testing/glibc/glibc-2.14-libdl-crash.patch
@@ -0,0 +1,132 @@
+diff --git a/elf/dl-close.c b/elf/dl-close.c
+index 73b2a2f..9bd91e3 100644
+--- a/elf/dl-close.c
++++ b/elf/dl-close.c
+@@ -1,5 +1,5 @@
+ /* Close a shared object opened by `_dl_open'.
+- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map)
+ if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
+ || dl_close_state != not_pending)
+ {
+- if (map->l_direct_opencount == 0)
+- {
+- if (map->l_type == lt_loaded)
+- dl_close_state = rerun;
+- else if (map->l_type == lt_library)
+- {
+- struct link_map **oldp = map->l_initfini;
+- map->l_initfini = map->l_orig_initfini;
+- _dl_scope_free (oldp);
+- }
+- }
++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
++ dl_close_state = rerun;
+
+ /* There are still references to this object. Do nothing more. */
+ if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
+diff --git a/elf/dl-deps.c b/elf/dl-deps.c
+index 9e30594..3890d00 100644
+--- a/elf/dl-deps.c
++++ b/elf/dl-deps.c
+@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map,
+ nneeded * sizeof needed[0]);
+ atomic_write_barrier ();
+ l->l_initfini = l_initfini;
++ l->l_free_initfini = 1;
+ }
+
+ /* If we have no auxiliary objects just go on to the next map. */
+@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING"));
+ l_initfini[nlist] = NULL;
+ atomic_write_barrier ();
+ map->l_initfini = l_initfini;
++ map->l_free_initfini = 1;
+ if (l_reldeps != NULL)
+ {
+ atomic_write_barrier ();
+@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING"));
+ _dl_scope_free (old_l_reldeps);
+ }
+ if (old_l_initfini != NULL)
+- map->l_orig_initfini = old_l_initfini;
++ _dl_scope_free (old_l_initfini);
+
+diff --git a/elf/dl-libc.c b/elf/dl-libc.c
+index 7be9483..a13fce3 100644
+--- a/elf/dl-libc.c
++++ b/elf/dl-libc.c
+@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem)
+
+ for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns)
+ {
+- /* Remove all additional names added to the objects. */
+ for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next)
+ {
+ struct libname_list *lnp = l->l_libname->next;
+
+ l->l_libname->next = NULL;
+
++ /* Remove all additional names added to the objects. */
+ while (lnp != NULL)
+ {
+ struct libname_list *old = lnp;
+@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem)
+ if (! old->dont_free)
+ free (old);
+ }
++
++ /* Free the initfini dependency list. */
++ if (l->l_free_initfini)
++ free (l->l_initfini);
+ }
+
+ if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
+diff --git a/elf/rtld.c b/elf/rtld.c
+index 4a9109e..617e30e 100644
+--- a/elf/rtld.c
++++ b/elf/rtld.c
+@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
+ lnp->dont_free = 1;
+ lnp = lnp->next;
+ }
++ l->l_free_initfini = 0;
+
+ if (l != &GL(dl_rtld_map))
+ _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
+diff --git a/include/link.h b/include/link.h
+index e877104..051b99a 100644
+--- a/include/link.h
++++ b/include/link.h
+@@ -1,6 +1,6 @@
+ /* Data structure for communication from the run-time dynamic linker for
+ loaded ELF shared objects.
+- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -192,6 +192,9 @@ struct link_map
+ during LD_TRACE_PRELINKING=1
+ contains any DT_SYMBOLIC
+ libraries. */
++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
++ freed, ie. not allocated with
++ the dummy malloc in ld.so. */
+
+ /* Collected information about own RPATH directories. */
+ struct r_search_path_struct l_rpath_dirs;
+@@ -240,9 +243,6 @@ struct link_map
+
+ /* List of object in order of the init and fini calls. */
+ struct link_map **l_initfini;
+- /* The init and fini list generated at startup, saved when the
+- object is also loaded dynamically. */
+- struct link_map **l_orig_initfini;
+
+ /* List of the dependencies introduced through symbol binding. */
+ struct link_map_reldeps
diff --git a/testing/glibc/glibc-2.14-reexport-rpc-interface.patch b/testing/glibc/glibc-2.14-reexport-rpc-interface.patch
new file mode 100644
index 000000000..e2beea881
--- /dev/null
+++ b/testing/glibc/glibc-2.14-reexport-rpc-interface.patch
@@ -0,0 +1,26 @@
+diff --git a/include/libc-symbols.h b/include/libc-symbols.h
+index 67e1ca2..5e7cca5 100644
+--- a/include/libc-symbols.h
++++ b/include/libc-symbols.h
+@@ -635,7 +635,7 @@ for linking")
+ # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
+ # define libc_hidden_def(name) hidden_def (name)
+ # define libc_hidden_weak(name) hidden_weak (name)
+-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
++# define libc_hidden_nolink(name, version) hidden_def (name)
+ # define libc_hidden_ver(local, name) hidden_ver (local, name)
+ # define libc_hidden_data_def(name) hidden_data_def (name)
+ # define libc_hidden_data_weak(name) hidden_data_weak (name)
+diff --git a/sunrpc/Makefile b/sunrpc/Makefile
+index 5134ce9..40c73d1 100644
+--- a/sunrpc/Makefile
++++ b/sunrpc/Makefile
+@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
+ des_crypt.h)
+ headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
+ $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
+-headers = rpc/netdb.h
++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
+ install-others = $(inst_sysconfdir)/rpc
+ generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
+ $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
diff --git a/testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
new file mode 100644
index 000000000..eb0fd822d
--- /dev/null
+++ b/testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
@@ -0,0 +1,28 @@
+From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@redhat.com>
+Date: Tue, 17 May 2011 17:42:30 +0200
+Subject: [PATCH] Reinstall NIS RPC headers
+
+---
+ nis/Makefile | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nis/Makefile b/nis/Makefile
+index b5c9609..d2934d9 100644
+--- a/nis/Makefile
++++ b/nis/Makefile
+@@ -23,9 +23,9 @@ subdir := nis
+
+ aux := nis_hash
+
++headers := $(wildcard rpcsvc/*.[hx])
+ distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
+- nisplus-parser.h nis_xdr.h nss \
+- $(wildcard rpcsvc/*.[hx])
++ nisplus-parser.h nis_xdr.h nss
+
+ # These are the databases available for the nis (and perhaps later nisplus)
+ # service. This must be a superset of the services in nss.
+--
+1.7.5.4
+
diff --git a/testing/glibc/glibc-2.14-revert-4768ae77.patch b/testing/glibc/glibc-2.14-revert-4768ae77.patch
new file mode 100644
index 000000000..11f087cb7
--- /dev/null
+++ b/testing/glibc/glibc-2.14-revert-4768ae77.patch
@@ -0,0 +1,37 @@
+diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c
+--- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000
++++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000
+@@ -549,7 +549,7 @@
+ ns, ansp, ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || *resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ } else {
+ /* Use datagrams. */
+@@ -559,7 +559,7 @@
+ ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || *resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ if (v_circuit)
+ // XXX Check whether both requests failed or
+@@ -1275,14 +1275,10 @@
+ (*thisresplenp > *thisanssizp)
+ ? *thisanssizp : *thisresplenp);
+
+- if (recvresp1 || (buf2 != NULL && recvresp2)) {
+- *resplen2 = 0;
++ if (recvresp1 || (buf2 != NULL && recvresp2))
+ return resplen;
+- }
+ if (buf2 != NULL)
+ {
+- /* No data from the first reply. */
+- resplen = 0;
+ /* We are waiting for a possible second reply. */
+ if (hp->id == anhp->id)
+ recvresp1 = 1;
diff --git a/testing/glibc/glibc-__i686.patch b/testing/glibc/glibc-__i686.patch
new file mode 100644
index 000000000..28d5dd424
--- /dev/null
+++ b/testing/glibc/glibc-__i686.patch
@@ -0,0 +1,13 @@
+diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile
+--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000
++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000
+@@ -1,6 +1,7 @@
+ # The mpn functions need a #define for asm syntax flavor.
+-# Every i386 port in use uses gas syntax (I think).
+-asm-CPPFLAGS += -DGAS_SYNTAX
++# Every i386 port in use uses gas syntax (I think). Don't replace
++# __i686 in __i686.get_pc_thunk.bx.
++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686
+
+ # The i386 `long double' is a distinct type we support.
+ long-double-fcts = yes
diff --git a/testing/glibc/glibc.install b/testing/glibc/glibc.install
new file mode 100644
index 000000000..7f85ade96
--- /dev/null
+++ b/testing/glibc/glibc.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11})
+
+post_upgrade() {
+ sbin/ldconfig -r .
+ [ -x sbin/init ] && sbin/init u
+ usr/sbin/locale-gen
+
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ usr/bin/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
+ usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/glibc/locale-gen b/testing/glibc/locale-gen
new file mode 100755
index 000000000..5aff344c4
--- /dev/null
+++ b/testing/glibc/locale-gen
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+set -e
+
+LOCALEGEN=/etc/locale.gen
+LOCALES=/usr/share/i18n/locales
+if [ -n "$POSIXLY_CORRECT" ]; then
+ unset POSIXLY_CORRECT
+fi
+
+
+[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0;
+
+# Remove all old locale dir and locale-archive before generating new
+# locale data.
+rm -rf /usr/lib/locale/* || true
+
+umask 022
+
+is_entry_ok() {
+ if [ -n "$locale" -a -n "$charset" ] ; then
+ true
+ else
+ echo "error: Bad entry '$locale $charset'"
+ false
+ fi
+}
+
+echo "Generating locales..."
+while read locale charset; do \
+ case $locale in \#*) continue;; "") continue;; esac; \
+ is_entry_ok || continue
+ echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \
+ echo -n ".$charset"; \
+ echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \
+ echo -n '...'; \
+ if [ -f $LOCALES/$locale ]; then input=$locale; else \
+ input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \
+ localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \
+ echo ' done'; \
+done < $LOCALEGEN
+echo "Generation complete."
diff --git a/testing/glibc/locale.gen.txt b/testing/glibc/locale.gen.txt
new file mode 100644
index 000000000..ccdd81734
--- /dev/null
+++ b/testing/glibc/locale.gen.txt
@@ -0,0 +1,23 @@
+# Configuration file for locale-gen
+#
+# lists of locales that are to be generated by the locale-gen command.
+#
+# Each line is of the form:
+#
+# <locale> <charset>
+#
+# where <locale> is one of the locales given in /usr/share/i18n/locales
+# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
+#
+# Examples:
+# en_US ISO-8859-1
+# en_US.UTF-8 UTF-8
+# de_DE ISO-8859-1
+# de_DE@euro ISO-8859-15
+#
+# The locale-gen command will generate all the locales,
+# placing them in /usr/lib/locale.
+#
+# A list of supported locales is included in this file.
+# Uncomment the ones you need.
+#
diff --git a/testing/glibc/nscd b/testing/glibc/nscd
new file mode 100755
index 000000000..8b14f2a3f
--- /dev/null
+++ b/testing/glibc/nscd
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/nscd`
+case "$1" in
+ start)
+ stat_busy "Starting nscd"
+ # create necessary directories if they don't already exist
+ mkdir -p /var/run/nscd /var/db/nscd 2>/dev/null
+ # remove stale files
+ rm -f /var/db/nscd/* /var/run/nscd/* 2>/dev/null
+ [ -z "$PID" ] && /usr/sbin/nscd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon nscd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping nscd"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon nscd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/linux-api-headers/PKGBUILD b/testing/linux-api-headers/PKGBUILD
new file mode 100644
index 000000000..7cb4c6034
--- /dev/null
+++ b/testing/linux-api-headers/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 144067 2011-12-02 21:02:11Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=linux-api-headers
+pkgver=3.1.4
+_basever=3.1
+pkgrel=1
+pkgdesc="Kernel headers sanitized for use in userspace"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libc"
+license=('GPL2')
+provides=("kernel-headers=${pkgver}")
+conflicts=('kernel-headers')
+replaces=('kernel-headers')
+source=(http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_basever}.tar.xz
+ http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz)
+# NOTE: signatures are not automatically verified by makepkg
+ #http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_basever}.tar.sign
+ #http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.sign
+md5sums=('edbdc798f23ae0f8045c82f6fa22c536'
+ 'ffb768bb3c42c94876f3f84aa6f779e5')
+
+build() {
+ cd ${srcdir}/linux-${_basever}
+ [[ $pkgver != $_basever ]] && patch -Np1 -i ${srcdir}/patch-${pkgver}
+
+ make mrproper
+ make headers_check
+}
+
+package() {
+ cd ${srcdir}/linux-${_basever}
+ make INSTALL_HDR_PATH=${pkgdir}/usr headers_install
+
+ # use headers from libdrm
+ rm -rf ${pkgdir}/usr/include/drm
+
+ # clean-up unnecessary files generated during install
+ find ${pkgdir} -name .install -or -name ..install.cmd | xargs rm -f
+}
diff --git a/~mtjm/h-client/PKGBUILD b/~mtjm/h-client/PKGBUILD
index a92c2eb6d..4df7f5f28 100644
--- a/~mtjm/h-client/PKGBUILD
+++ b/~mtjm/h-client/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Michał Masłowski <mtjm@mtjm.eu>
pkgname=h-client
-_pkgver=0.0a0.dev-r50
+_pkgver=0.0a0.dev-r80
pkgver=${_pkgver/-/.}
pkgrel=1
pkgdesc="A client for an h-source server (such as http://www.h-node.com)"
@@ -12,7 +12,7 @@ depends=('python2' 'python2-distribute' 'python-pycurl' 'pygtk')
options=(!emptydirs)
# Official source is in SVN, this is made by "python2 setup.py sdist".
source=("http://mtjm.eu/releases/hclient-${_pkgver}.tar.gz")
-sha512sums=('fa9c494d32d900bf34d9af1a68e79abbffb29380fbc1812290130e4183b496c1c29f09da216ada7898d69c8ecda58621862507672193cc4fd14ce942dfb7c986')
+sha512sums=('d148084be40aa741f012ba49285ea428b4d6c032a015f732e1a7987f8125acd04a033df97e4536cc9587a3535f701305e4d44f641479e99d0e49a0da652abf2a')
check() {
cd "$srcdir/hclient-${_pkgver}"