summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-01-16 23:15:11 +0000
committerroot <root@rshg054.dnsready.net>2012-01-16 23:15:11 +0000
commit08a16f35d70b750b4db213a4bfcbacf5b3be4d74 (patch)
tree90c7b6f80849c63a69d3c46d0f04fe23ebf0c099
parent0b31296d95d2e0f18abf69f30d0946e3a1f35672 (diff)
Mon Jan 16 23:15:10 UTC 2012
-rw-r--r--community-testing/dbmail/PKGBUILD51
-rw-r--r--community-testing/dbmail/dbmail-2.2.10-pam-support.patch251
-rw-r--r--community-testing/dbmail/dbmail.conf.d9
-rw-r--r--community-testing/dbmail/dbmail.rc.d41
-rw-r--r--community-testing/libzdb/PKGBUILD21
-rw-r--r--community-testing/lilypond/PKGBUILD43
-rw-r--r--community-testing/lilypond/lilypond.install48
-rw-r--r--community-testing/lilypond/texlive-workaround.patch88
-rw-r--r--community/dmd/PKGBUILD89
-rw-r--r--community/ghemical/PKGBUILD6
-rw-r--r--community/libcgns/PKGBUILD6
-rw-r--r--community/megaglest/PKGBUILD18
-rw-r--r--community/springlobby/PKGBUILD9
-rw-r--r--community/springlobby/springlobby.install11
-rw-r--r--community/xmonad/PKGBUILD5
-rw-r--r--extra/dhcp/PKGBUILD8
-rw-r--r--extra/gcin/PKGBUILD6
-rw-r--r--extra/qemu-kvm/PKGBUILD21
-rw-r--r--extra/rhythmbox/PKGBUILD20
-rw-r--r--extra/uim/PKGBUILD6
-rw-r--r--extra/vim/PKGBUILD26
-rw-r--r--multilib-testing/binutils-multilib/PKGBUILD79
-rw-r--r--multilib-testing/binutils-multilib/binutils.install17
-rw-r--r--multilib-testing/chuck/PKGBUILD41
-rw-r--r--multilib-testing/dev86/PKGBUILD52
-rw-r--r--multilib-testing/dev86/dev86-0.16.17-fortify.patch43
-rw-r--r--multilib-testing/dev86/dev86-pic.patch20
-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-multilib.patch24
-rw-r--r--multilib-testing/jack2-multilib/40-hpet-permissions.rules2
-rw-r--r--multilib-testing/jack2-multilib/99-audio.conf2
-rw-r--r--multilib-testing/jack2-multilib/PKGBUILD143
-rw-r--r--multilib-testing/lib32-gdk-pixbuf2/PKGBUILD45
-rw-r--r--multilib-testing/lib32-gdk-pixbuf2/gdk-pixbuf2.install11
-rw-r--r--multilib-testing/lib32-glib2/PKGBUILD40
-rw-r--r--multilib-testing/lib32-glibc/PKGBUILD176
-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.2-ignore-origin-of-privileged-program.patch26
-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-2.15-lddebug-scopes.patch27
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-math64crash.patch184
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch229
-rw-r--r--multilib-testing/lib32-glibc/glibc-__i686.patch13
-rw-r--r--multilib-testing/lib32-glibc/lib32-glibc.conf1
-rw-r--r--multilib-testing/lib32-gtk2/PKGBUILD57
-rw-r--r--multilib-testing/lib32-gtk2/gtk-modules-32.patch12
-rw-r--r--multilib-testing/lib32-gtk2/gtk2.install16
-rw-r--r--multilib-testing/lib32-gtk2/xid-collision-debug.patch15
-rw-r--r--multilib-testing/lib32-pango/PKGBUILD44
-rw-r--r--multilib-testing/lib32-pango/pango-modules-conffile.patch20
-rw-r--r--multilib-testing/lib32-pango/pango.install21
-rw-r--r--multilib-testing/libtool-multilib/PKGBUILD73
-rw-r--r--multilib-testing/libtool-multilib/libtool.install22
-rw-r--r--multilib-testing/nspluginwrapper/PKGBUILD51
-rw-r--r--multilib-testing/nspluginwrapper/fix_missing_lib.patch11
-rw-r--r--multilib-testing/nspluginwrapper/install5
-rw-r--r--multilib-testing/q4wine/PKGBUILD31
-rw-r--r--multilib-testing/q4wine/q4wine.desktop18
-rw-r--r--multilib-testing/wine/PKGBUILD145
-rw-r--r--multilib-testing/wine/wine.install12
-rw-r--r--testing/btrfs-progs/PKGBUILD6
-rw-r--r--testing/e2fsprogs/MIT-LICENSE25
-rw-r--r--testing/e2fsprogs/PKGBUILD47
-rw-r--r--testing/e2fsprogs/e2fsprogs.install20
-rw-r--r--testing/e2fsprogs/mke2fs.conf26
-rw-r--r--testing/fontforge/PKGBUILD40
-rw-r--r--testing/systemd/PKGBUILD7
-rw-r--r--testing/systemd/systemd.install16
78 files changed, 3388 insertions, 105 deletions
diff --git a/community-testing/dbmail/PKGBUILD b/community-testing/dbmail/PKGBUILD
new file mode 100644
index 000000000..e7fd4b3ad
--- /dev/null
+++ b/community-testing/dbmail/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 62080 2012-01-15 19:14:39Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sebastian Faltoni <sebastian.faltoni@gmail.com>
+
+pkgname=dbmail
+pkgver=3.0.0_rc3
+pkgrel=1
+pkgdesc="Fast and scalable sql based mail services"
+arch=('i686' 'x86_64')
+depends=('gmime' 'libzdb' 'mhash' 'libevent')
+makedepends=('asciidoc' 'xmlto' 'docbook-xsl' 'docbook-xml' 'postgresql-libs>=8.4.1'
+ 'sqlite3' 'libmysqlclient' 'libldap>=2.4.18' 'libsieve')
+optdepends=('postgresql-libs: for PostgreSQL storage backend'
+ 'sqlite3: for SQLite storage backend'
+ 'libmysqlclient: for MySQL storage backend'
+ 'libldap: for LDAP authentication'
+ 'libsieve: for dbmail-sieve')
+url="http://www.dbmail.org"
+license=('GPL')
+options=('!libtool' 'zipman')
+backup=(etc/conf.d/dbmail)
+conflicts=('dbmail')
+provides=('dbmail')
+source=(http://www.dbmail.org/download/3.0/dbmail-${pkgver/_/-}.tar.gz
+ dbmail.conf.d
+ dbmail.rc.d)
+md5sums=('52c3b9aad310efc90a6a2fff0552f73e'
+ 'e7f72bc360decdb2475266391ad12329'
+ '099225611da20ec194c092ac9befc33c')
+
+build() {
+ cd $srcdir/dbmail-${pkgver/_/-}/
+
+ [ -f Makefile ] || ./configure --prefix=/usr \
+ --with-mysql --with-pgsql --with-sqlite --with-ldap --with-sieve
+ make
+}
+
+package() {
+ cd $srcdir/dbmail-${pkgver/_/-}/
+ make DESTDIR=$pkgdir install
+ (cd man && make && make install DESTDIR=$pkgdir)
+
+ mkdir $pkgdir/etc
+ install -Dm644 dbmail.conf $pkgdir/etc/dbmail.conf.sample
+ install -Dm644 ../dbmail.conf.d $pkgdir/etc/conf.d/dbmail
+ install -Dm755 ../dbmail.rc.d $pkgdir/etc/rc.d/dbmail
+ mkdir $pkgdir/usr/share/dbmail
+ cp -r sql/* $pkgdir/usr/share/dbmail/
+ cp dbmail.schema $pkgdir/usr/share/dbmail/
+}
diff --git a/community-testing/dbmail/dbmail-2.2.10-pam-support.patch b/community-testing/dbmail/dbmail-2.2.10-pam-support.patch
new file mode 100644
index 000000000..805a7f609
--- /dev/null
+++ b/community-testing/dbmail/dbmail-2.2.10-pam-support.patch
@@ -0,0 +1,251 @@
+diff -wbBur dbmail-2.2.10/configure.in dbmail-2.2.10.pam/configure.in
+--- dbmail-2.2.10/configure.in 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/configure.in 2008-09-18 16:43:04.000000000 +0400
+@@ -78,6 +78,13 @@
+
+ AC_SUBST(CRYPTLIB)
+
++dnl Check for PAM
++AC_SUBST(PAMLIBS,"")
++AC_CHECK_HEADERS(security/pam_appl.h,
++ [AC_CHECK_LIB(pam,pam_start,
++ [AC_DEFINE(HAVE_PAM,1,[Define if you have PAN including devel headers])
++ PAMLIBS="-lpam"],,)])
++
+ AC_SUBST(MYSQLLIB)
+ AC_SUBST(MYSQLALIB)
+ AC_SUBST(MYSQLLTLIB)
+diff -wbBur dbmail-2.2.10/dbmail-user.c dbmail-2.2.10.pam/dbmail-user.c
+--- dbmail-2.2.10/dbmail-user.c 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/dbmail-user.c 2008-09-18 16:43:04.000000000 +0400
+@@ -157,7 +157,7 @@
+ "md5", "md5-raw", "md5sum", "md5sum-raw",
+ "md5-hash", "md5-hash-raw", "md5-digest", "md5-digest-raw",
+ "md5-base64", "md5-base64-raw", "md5base64", "md5base64-raw",
+- "shadow", "", NULL
++ "shadow", "pam", "", NULL
+ };
+
+ /* These must correspond to the easy text names. */
+@@ -166,7 +166,7 @@
+ MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW,
+ MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW,
+ MD5_BASE64, MD5_BASE64_RAW, MD5_BASE64, MD5_BASE64_RAW,
+- SHADOW, PLAINTEXT, PWTYPE_NULL
++ SHADOW, PWTYPE_PAM, PLAINTEXT, PWTYPE_NULL
+ };
+
+ memset(pw, 0, 50);
+@@ -251,6 +251,12 @@
+ *enctype = "crypt";
+ }
+ break;
++#ifdef HAVE_PAM
++ case PWTYPE_PAM:
++ null_strncpy(pw, passwd, 49);
++ *enctype = "pam";
++ break;
++#endif
+ default:
+ qerrorf("Error: password type not supported [%s].\n",
+ passwdtype);
+diff -wbBur dbmail-2.2.10/dbmail-user.h dbmail-2.2.10.pam/dbmail-user.h
+--- dbmail-2.2.10/dbmail-user.h 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/dbmail-user.h 2008-09-18 16:43:04.000000000 +0400
+@@ -34,7 +34,7 @@
+ typedef enum {
+ PLAINTEXT = 0, PLAINTEXT_RAW, CRYPT, CRYPT_RAW,
+ MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW,
+- MD5_BASE64, MD5_BASE64_RAW, SHADOW, PWTYPE_NULL
++ MD5_BASE64, MD5_BASE64_RAW, SHADOW, PWTYPE_PAM, PWTYPE_NULL
+ } pwtype_t;
+
+ int mkpassword(const char * const user, const char * const passwd,
+diff -wbBur dbmail-2.2.10/modules/authsql.c dbmail-2.2.10.pam/modules/authsql.c
+--- dbmail-2.2.10/modules/authsql.c 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/modules/authsql.c 2008-09-18 16:43:04.000000000 +0400
+@@ -27,6 +27,19 @@
+ #include "dbmail.h"
+ #define THIS_MODULE "auth"
+
++#ifdef HAVE_PAM
++#include <security/pam_appl.h>
++
++#ifndef DEFAULT_DBMAIL_PAM_SERVICE
++#define DEFAULT_DBMAIL_PAM_SERVICE "dbmail"
++#endif
++
++#ifndef DEFAULT_DBMAIL_PAM_TTL
++#define DEFAULT_DBMAIL_PAM_TTL 60
++#endif
++
++#endif
++
+ extern db_param_t _db_params;
+ #define DBPFX _db_params.pfx
+
+@@ -49,17 +62,80 @@
+ */
+ static int __auth_query(const char *thequery);
+
++#ifdef HAVE_PAM
++
++static char *pam_password = NULL; /* Workaround for Solaris 2.6 brokenness */
++static pam_handle_t *pamh = NULL;
++static int pam_ttl = DEFAULT_DBMAIL_PAM_TTL;
++static char *pam_service = DEFAULT_DBMAIL_PAM_SERVICE;
++static time_t pamh_created = 0;
++/*
++ * A simple "conversation" function returning the supplied password.
++ * Has a bit to much error control, but this is my first PAM application
++ * so I'd rather check everything than make any mistakes. The function
++ * expects a single converstation message of type PAM_PROMPT_ECHO_OFF.
++ */
++static int
++password_conversation(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr)
++{
++ if (num_msg != 1 || msg[0]->msg_style != PAM_PROMPT_ECHO_OFF) {
++ TRACE(TRACE_ERROR, "Unexpected PAM converstaion '%d/%s'", msg[0]->msg_style, msg[0]->msg);
++ return PAM_CONV_ERR;
++ }
++ if (!appdata_ptr) {
++ /* Workaround for Solaris 2.6 where the PAM library is broken
++ * and does not pass appdata_ptr to the conversation routine
++ */
++ appdata_ptr = pam_password;
++ }
++ if (!appdata_ptr) {
++ TRACE(TRACE_ERROR, "ERROR: No password available to password_converstation!");
++ return PAM_CONV_ERR;
++ }
++ *resp = calloc(num_msg, sizeof(struct pam_response));
++ if (!*resp) {
++ TRACE(TRACE_ERROR, "Out of memory!");
++ return PAM_CONV_ERR;
++ }
++ (*resp)[0].resp = strdup((char *) appdata_ptr);
++ (*resp)[0].resp_retcode = 0;
++
++ return ((*resp)[0].resp ? PAM_SUCCESS : PAM_CONV_ERR);
++}
++
++static struct pam_conv conv =
++{
++ &password_conversation,
++ NULL
++};
++
++#endif
++
++
+ int auth_connect()
+ {
+ /* this function is only called after a connection has been made
+ * if, in the future this is not the case, db.h should export a
+ * function that enables checking for the database connection
+ */
++#ifdef HAVE_PAM
++
++#endif
+ return 0;
+ }
+
+ int auth_disconnect()
+ {
++#ifdef HAVE_PAM
++ int retval=PAM_SUCCESS;
++ if (pamh) {
++ retval = pam_end(pamh, retval);
++ if (retval != PAM_SUCCESS) {
++ pamh = NULL;
++ TRACE(TRACE_ERROR, "failed to release PAM authenticator");
++ }
++ }
++#endif
+ return 0;
+ }
+
+@@ -458,7 +534,71 @@
+ is_validated = (strncmp(md5str, query_result, 32) == 0) ? 1 : 0;
+ g_free(md5str);
+ }
++#ifdef HAVE_PAM
++ else if (strcasecmp(query_result, "pam") == 0) {
++ int retval=0;
++ TRACE(TRACE_DEBUG, "validating using pam for user [%s] pass:[%s]",real_username,password);
++ conv.appdata_ptr = (char *) password;
++ pam_password= password;
++ if (pam_ttl == 0) {
++ /* Create PAM connection */
++ retval = pam_start(pam_service, real_username, &conv, &pamh);
++ if (retval != PAM_SUCCESS) {
++ TRACE(TRACE_ERROR, "failed to create PAM authenticator");
++ goto pam_error;
++ }
++ } else if (!pamh || (time(NULL) - pamh_created) >= pam_ttl || pamh_created > time(NULL)) {
++ /* Close previous PAM connection */
++ if (pamh) {
++ retval = pam_end(pamh, retval);
++ if (retval != PAM_SUCCESS) {
++ TRACE(TRACE_WARNING, "failed to release PAM authenticator");
++ }
++ pamh = NULL;
++ }
++ /* Initialize persistent PAM connection */
++ retval = pam_start(pam_service, "dbmail@", &conv, &pamh);
++ if (retval != PAM_SUCCESS) {
++ TRACE(TRACE_ERROR, "failed to create PAM authenticator");
++ goto pam_error;
++ }
++ pamh_created = time(NULL);
++ }
++ retval = PAM_SUCCESS;
++ if (pam_ttl != 0) {
++ if (retval == PAM_SUCCESS)
++ retval = pam_set_item(pamh, PAM_USER, real_username);
++ if (retval == PAM_SUCCESS)
++ retval = pam_set_item(pamh, PAM_CONV, &conv);
++ }
++ if (retval == PAM_SUCCESS)
++ retval = pam_authenticate(pamh, 0);
++ if (retval == PAM_SUCCESS ) //&& !no_acct_mgmt
++ retval = pam_acct_mgmt(pamh, 0);
++ if (retval == PAM_SUCCESS) {
++ is_validated=1;
++ } else {
++pam_error:
++ is_validated=0;
++ }
++ /* cleanup */
++ retval = PAM_SUCCESS;
++#ifdef PAM_AUTHTOK
++ if (pam_ttl != 0) {
++ if (retval == PAM_SUCCESS)
++ retval = pam_set_item(pamh, PAM_AUTHTOK, NULL);
++ }
++#endif
++ if (pam_ttl == 0 || retval != PAM_SUCCESS) {
++ retval = pam_end(pamh, retval);
++ if (retval != PAM_SUCCESS) {
++ TRACE(TRACE_WARNING, "failed to release PAM authenticator\n");
++ }
++ pamh = NULL;
++ }
+
++ }
++#endif
+ if (is_validated) {
+ db_user_log_login(*user_idnr);
+ } else {
+diff -wbBur dbmail-2.2.10/modules/Makefile.am dbmail-2.2.10.pam/modules/Makefile.am
+--- dbmail-2.2.10/modules/Makefile.am 2008-03-24 17:49:33.000000000 +0300
++++ dbmail-2.2.10.pam/modules/Makefile.am 2008-09-18 16:44:53.000000000 +0400
+@@ -60,7 +60,7 @@
+
+ # This one is always built.
+ libauth_sql_la_SOURCES = authsql.c
+-libauth_sql_la_LIBADD = @CRYPTLIB@
++libauth_sql_la_LIBADD = @CRYPTLIB@ @PAMLIBS@
+
+ if LDAP
+ libauth_ldap_la_SOURCES = authldap.c
diff --git a/community-testing/dbmail/dbmail.conf.d b/community-testing/dbmail/dbmail.conf.d
new file mode 100644
index 000000000..73309a4a2
--- /dev/null
+++ b/community-testing/dbmail/dbmail.conf.d
@@ -0,0 +1,9 @@
+# Parameters to be passed to dbmail
+#
+#
+# Select the service you want started with dbmail
+#
+# Available options :
+# dbmail-imapd dbmail-pop3d dbmail-lmtpd dbmail-timsieved
+#
+DBMAIL_DAEMONS="dbmail-imapd"
diff --git a/community-testing/dbmail/dbmail.rc.d b/community-testing/dbmail/dbmail.rc.d
new file mode 100644
index 000000000..92c34e5d2
--- /dev/null
+++ b/community-testing/dbmail/dbmail.rc.d
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+[ -f /etc/conf.d/dbmail ] && . /etc/conf.d/dbmail
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ for daemon in $DBMAIL_DAEMONS; do
+ stat_busy "Starting DbMail ${daemon}"
+ /usr/sbin/${daemon}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ done
+ add_daemon dbmail
+ ;;
+ stop)
+ for daemon in $DBMAIL_DAEMONS; do
+ stat_busy "Stopping DbMail ${daemon}"
+ pid=$(cat /var/run/${daemon}.pid)
+ kill $pid
+ sleep 4
+ stat_done
+ done
+ rm_daemon dbmail
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ ;;
+esac
+
+exit 0
diff --git a/community-testing/libzdb/PKGBUILD b/community-testing/libzdb/PKGBUILD
new file mode 100644
index 000000000..9e03c87cf
--- /dev/null
+++ b/community-testing/libzdb/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 62082 2012-01-15 19:15:26Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=libzdb
+pkgver=2.10
+pkgrel=1
+pkgdesc="Zild Database Library"
+arch=(i686 x86_64)
+url="http://www.tildeslash.com/libzdb/"
+license=('GPL')
+depends=('postgresql-libs' 'sqlite3' 'libmysqlclient')
+options=(!libtool)
+source=(http://www.tildeslash.com/libzdb/dist/libzdb-$pkgver.tar.gz)
+md5sums=('fdc04b4b7f33cdcdfc6b559ba9965825')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/community-testing/lilypond/PKGBUILD b/community-testing/lilypond/PKGBUILD
new file mode 100644
index 000000000..5742b97cd
--- /dev/null
+++ b/community-testing/lilypond/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 62073 2012-01-15 17:13:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Geoffroy Carrier <geoffroy@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Robert Emil Berge <filoktetes@linuxophic.org>
+
+pkgname=lilypond
+pkgver=2.14.2
+pkgrel=4
+pkgdesc="An automated music engraving system"
+arch=('i686' 'x86_64')
+url="http://lilypond.org"
+license=('GPL')
+depends=('guile' 'python2' 'texlive-core' 'ghostscript' 'pango' 'fontconfig')
+makedepends=('flex' 'bison' 'gettext' 'mftrace' 'texinfo' 'fontforge' 't1utils'
+ 'gsfonts' 'texi2html')
+options=('emptydirs')
+install=lilypond.install
+source=(http://download.linuxaudio.org/lilypond/sources/v2.14/$pkgname-$pkgver.tar.gz
+ texlive-workaround.patch)
+md5sums=('4053a19e03181021893981280feb9aaa'
+ 'ff32863f3eed67ac744e50bc4fc67a87')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # python2 fix
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+
+ rm -rf python/out/
+ patch -p1 <$srcdir/texlive-workaround.patch
+
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community-testing/lilypond/lilypond.install b/community-testing/lilypond/lilypond.install
new file mode 100644
index 000000000..934e7b435
--- /dev/null
+++ b/community-testing/lilypond/lilypond.install
@@ -0,0 +1,48 @@
+infodir=usr/share/info
+filelist=(music-glossary.info
+ lilypond-web.info
+ lilypond-contributor.info
+ lilypond-contributor.info-1
+ lilypond-contributor.info-2
+ lilypond-internals.info-1
+ lilypond-internals.info-2
+ lilypond-internals.info-3
+ lilypond-internals.info-4
+ lilypond-internals.info-5
+ lilypond-notation.info-1
+ lilypond-notation.info-2
+ lilypond-notation.info-3
+ lilypond-notation.info-4
+ lilypond-notation.info-5
+ lilypond-notation.info-6
+ lilypond-usage.info
+ lilypond-learning.info
+ lilypond-web.info-1
+ lilypond-web.info-2
+ lilypond-internals.info
+ lilypond-essay.info
+ lilypond-notation.info
+ lilypond-learning.info-1
+ lilypond-learning.info-2
+ lilypond-extending.info
+ lilypond-changes.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
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/lilypond/texlive-workaround.patch b/community-testing/lilypond/texlive-workaround.patch
new file mode 100644
index 000000000..1eb262863
--- /dev/null
+++ b/community-testing/lilypond/texlive-workaround.patch
@@ -0,0 +1,88 @@
+diff --git a/mf/feta-autometric.mf b/mf/feta-autometric.mf
+index d5cbb7f..b25c4bc 100644
+--- a/mf/feta-autometric.mf
++++ b/mf/feta-autometric.mf
+@@ -149,7 +149,6 @@ def set_char_box (expr b_sharp, w_sharp, d_sharp, h_sharp) =
+ & to_bp (w) & " "
+ & to_bp (h);
+ special "% MF2PT1: font_size " & decimal designsize;
+- special "% MF2PT1: font_slant " & decimal font_slant_;
+
+ for fvar = "font_identifier",
+ "font_coding_scheme",
+@@ -175,9 +174,6 @@ def set_char_box (expr b_sharp, w_sharp, d_sharp, h_sharp) =
+ fi;
+ endfor;
+
+- special "% MF2PT1: font_fixed_pitch "
+- & (if font_fixed_pitch_: "1" else: "0" fi);
+-
+ % this must come after the `font_size' special
+ special "% MF2PT1: charwd " & decimal charwd;
+ fi;
+diff --git a/mf/mf2pt1.mp b/mf/mf2pt1.mp
+index a8b45aa..c935628 100644
+--- a/mf/mf2pt1.mp
++++ b/mf/mf2pt1.mp
+@@ -61,7 +61,6 @@ def beginchar(expr c,w_sharp,h_sharp,d_sharp) =
+ def to_bp (expr num) = decimal (ceiling (num*bp_per_pixel)) enddef;
+ special "% MF2PT1: glyph_dimensions 0 " & to_bp (-d) & " " & to_bp(w) & " " & to_bp(h);
+ special "% MF2PT1: font_size " & decimal designsize;
+- special "% MF2PT1: font_slant " & decimal font_slant_;
+ special "% MF2PT1: charwd " & decimal charwd; % Must come after the |font_size| |special|
+ for fvar = "font_identifier", "font_coding_scheme", "font_version",
+ "font_comment", "font_family", "font_weight", "font_unique_id",
+@@ -76,8 +75,6 @@ def beginchar(expr c,w_sharp,h_sharp,d_sharp) =
+ scantokens ("decimal " & fvar & "_");
+ fi;
+ endfor;
+- special "% MF2PT1: font_fixed_pitch " &
+- (if font_fixed_pitch_: "1" else: "0" fi);
+ enddef;
+
+
+@@ -91,19 +88,6 @@ enddef;
+
+
+ %% \begin{explaincode}
+-%% Store the value of \mfcomment
+-% |font_slant_|, so we can recall it at each |beginchar|.
+-%% \end{explaincode}
+-
+-font_slant_ := 0;
+-
+-def font_slant expr x =
+- font_slant_ := x;
+- fontdimen 1: x
+-enddef;
+-
+-
+-%% \begin{explaincode}
+ %% Redefine \mfcomment
+ % |bpppix_|, the number of ``big'' points per pixel. \mfcomment
+ % This in turn redefines |mm|, |in|, |pt|, and other derived units.
+@@ -141,11 +125,6 @@ forsuffixes fvar = font_underline_position, font_underline_thickness:
+ scantokens ("def " & str fvar & " expr x = " & str fvar & "_ := x enddef;");
+ endfor;
+
+-boolean font_fixed_pitch_;
+-font_fixed_pitch_ := false;
+-def font_fixed_pitch expr x = font_fixed_pitch_ := x enddef;
+-
+-
+ %% \begin{explaincode}
+ %% We'd like to be able to use calligraphic pens. Normally, MetaPost's
+ %% output routine does all the work for us of converting these to filled
+diff --git a/scripts/build/mf2pt1.pl b/scripts/build/mf2pt1.pl
+index 95df0f8..20f410b 100644
+--- a/scripts/build/mf2pt1.pl
++++ b/scripts/build/mf2pt1.pl
+@@ -427,7 +427,7 @@ ENDHEADER
+ sub get_bboxes ($)
+ {
+ execute_command 1, ("mpost", "-mem=mf2pt1", "-progname=mpost",
+- "\\mode:=localfont; mag:=$mag; bpppix $bpppix; input $mffile");
++ "\\mode:=localfont; mag:=$mag; bpppix:=$bpppix; input $mffile");
+ opendir (CURDIR, ".") || die "${progname}: $! ($filedir)\n";
+ @charfiles = sort
+ { ($a=~ /\.(\d+)$/)[0] <=> ($b=~ /\.(\d+)$/)[0] }
diff --git a/community/dmd/PKGBUILD b/community/dmd/PKGBUILD
index 43ecb19f7..8738d72cf 100644
--- a/community/dmd/PKGBUILD
+++ b/community/dmd/PKGBUILD
@@ -1,44 +1,67 @@
-# $Id: PKGBUILD 61677 2012-01-06 12:49:05Z cbrannon $
-# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
+# $Id: PKGBUILD 62087 2012-01-15 20:40:34Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Anders Bergh <anders1@gmail.com>
# Contributor: Alexander Fehr <pizzapunk gmail com>
-pkgname=dmd
-pkgver=1.072
+pkgname=('dmd' 'libphobos')
+pkgbase=dmd
+pkgver=2.057
pkgrel=1
-pkgdesc="The Digital Mars D compiler."
-arch=('i686' x86_64)
-url="http://www.digitalmars.com/d/1.0/"
+pkgdesc="The Digital Mars D compiler"
+arch=('i686' 'x86_64')
+url="http://www.digitalmars.com/d/2.0/"
source=(http://ftp.digitalmars.com/$pkgname.$pkgver.zip)
-install='dmd.install'
-provides=('d-compiler')
license=('custom')
-options=('!strip')
-depends=(gcc-libs)
-optdepends=('libphobos: D standard runtime library'
- 'libtango: Alternative runtime library')
+md5sums=('531c4b60eb002ea8abbe5c80b2eb677d')
-[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
+[[ $CARCH == "x86_64" ]] && _archbits="64"
+[[ $CARCH == "i686" ]] && _archbits="32"
build() {
- # Copy the license.
- install -Dm644 "$srcdir/dmd/license.txt" "$pkgdir/usr/share/licenses/dmd/LICENSE" || return 1
-
- if [ $CARCH == x86_64 ]; then
- cd "$srcdir/dmd/linux/bin64"
- else
- cd "$srcdir/dmd/linux/bin32"
- fi
- install -dm755 "$pkgdir/usr/bin"
- install -m755 dmd rdmd dumpobj obj2asm "$pkgdir/usr/bin"
-
- for x in "$srcdir"/dmd/man/man1/*.1; do
- install -Dm644 "$x" "$pkgdir/usr/share/man/man1/$(basename "$x")" || return 1
- done
-
- for x in "$srcdir"/dmd/man/man1/*.5; do
- install -Dm644 "$x" "$pkgdir/usr/share/man/man5/$(basename "$x")" || return 1
- done
+ cd $srcdir/dmd2/src/
+
+ cd dmd
+ make -f posix.mak MODEL=$_archbits
+
+ cd ../druntime
+ make -f posix.mak MODEL=$_archbits DMD=../dmd/dmd
+
+ cd ../phobos
+ make -f posix.mak MODEL=$_archbits DMD=../dmd/dmd
+}
+
+package_dmd() {
+ depends=('libphobos' 'gcc-libs')
+
+ install -Dm755 $srcdir/dmd2/src/dmd/dmd $pkgdir/usr/bin/dmd
+
+ mkdir -p $pkgdir/etc
+ echo -e "[Environment]\nDFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-lrt" > $pkgdir/etc/dmd.conf
+
+ install -Dm644 $srcdir/dmd2/man/man1/dmd.1 $pkgdir/usr/share/man/man1/dmd.1
+ install -Dm644 $srcdir/dmd2/man/man1/dmd.conf.5 $pkgdir/usr/share/man/man5/dmd.conf.5
+
+ install -Dm644 $srcdir/dmd2/license.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE
+
+ mkdir -p $pkgdir/usr/share/d/samples/
+ cp -r $srcdir/dmd2/samples/d/* $pkgdir/usr/share/d/samples/
+}
+
+package_libphobos() {
+ install -Dm644 $srcdir/dmd2/src/druntime/lib/libdruntime.a $pkgdir/usr/lib/libdruntime.a
+ install -Dm644 $srcdir/dmd2/src/phobos/generated/linux/release/$_archbits/libphobos2.a $pkgdir/usr/lib/libphobos2.a
+
+ mkdir -p $pkgdir/usr/include/d
+ cp -r $srcdir/dmd2/src/phobos/{*.d,etc,std} $pkgdir/usr/include/d
+
+ mkdir -p $pkgdir/usr/include/d/druntime
+ cp -r $srcdir/dmd2/src/druntime/import $pkgdir/usr/include/d/druntime
+
+ mkdir -p $pkgdir/usr/share/doc/d/
+ cp -r $srcdir/dmd2/html $pkgdir/usr/share/doc/d/
+
+ install -Dm644 $srcdir/dmd2/src/druntime/LICENSE_1_0.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-druntime
+ install -Dm644 $srcdir/dmd2/src/phobos/phoboslicense.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-phobos
}
-md5sums=('d5489b94f06c7ca2f4b5de62f7e6815a')
diff --git a/community/ghemical/PKGBUILD b/community/ghemical/PKGBUILD
index 69485ad02..a4dc7cb38 100644
--- a/community/ghemical/PKGBUILD
+++ b/community/ghemical/PKGBUILD
@@ -3,12 +3,12 @@
pkgname=ghemical
pkgver=3.0.0
-pkgrel=1
+pkgrel=2
pkgdesc="Computational chemistry package."
license=("GPL")
arch=(i686 x86_64)
url="http://bioinformatics.org/ghemical/ghemical/"
-depends=('libghemical>=3.0' 'liboglappth>=1.0' 'mesa' 'libglade' 'libxmu' 'ttf-dejavu' 'gtkglext' 'openbabel')
+depends=('libghemical>=3.0' 'liboglappth>=1.0' 'libglade' 'gtkglext' 'openbabel')
makedepends=('pkgconfig' 'intltool>=0.40.0' 'gettext')
source=(http://bioinformatics.org/ghemical/download/release20111012/${pkgname}-${pkgver}.tar.gz ghemical.desktop)
md5sums=('becf98626f0eba73f7f042bc92aa60ac'
@@ -17,6 +17,8 @@ md5sums=('becf98626f0eba73f7f042bc92aa60ac'
build() {
cd -- "$srcdir/$pkgname-$pkgver/"
./configure --prefix=/usr
+ # Some users have reported crashes due to the courier font.
+ sed -i 's/courier 12/monospace/g' ./src/*.cpp
make
}
diff --git a/community/libcgns/PKGBUILD b/community/libcgns/PKGBUILD
index 3ed223977..4338d5222 100644
--- a/community/libcgns/PKGBUILD
+++ b/community/libcgns/PKGBUILD
@@ -3,9 +3,9 @@
pkgname=libcgns
_basever=3.1.3
-_relver=3
+_relver=4
pkgver=${_basever}.${_relver}
-pkgrel=2
+pkgrel=1
pkgdesc='General purpose library for the storage and retrieval of computational fluid dynamics analysis data by CGNS standard'
arch=('i686' 'x86_64')
url='http://www.cgns.org'
@@ -13,7 +13,7 @@ license=('custom')
conflicts=('libcgns2')
makedepends=('cmake')
source=("http://downloads.sourceforge.net/project/cgns/cgnslib_${_basever:0:3}/cgnslib_${_basever}-${_relver}.tar.gz")
-md5sums=('8d19e0c69779d7ea74b1731e09a96b9d')
+md5sums=('442bba32b576f3429cbd086af43fd4ae')
# need to tell cmake when to build 64bit version
[[ "$CARCH" == "i686" ]] && _64bits=OFF
diff --git a/community/megaglest/PKGBUILD b/community/megaglest/PKGBUILD
index b6369088f..3fbd4d977 100644
--- a/community/megaglest/PKGBUILD
+++ b/community/megaglest/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 60139 2011-12-05 22:27:28Z svenstaro $
+# $Id: PKGBUILD 62066 2012-01-15 14:56:57Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Larry Hajali <larryhaja [at] gmail [dot] com>
pkgname=megaglest
-pkgver=3.6.0.1
-_pkgver=3.6.0
+pkgver=3.6.0.2
pkgrel=1
pkgdesc="Fork of Glest, a 3D real-time strategy game in a fantastic world."
arch=('i686' 'x86_64')
url="http://sourceforge.net/projects/megaglest/"
license=('GPL3')
-depends=('curl' 'megaglest-data' 'xerces-c' 'sdl' 'libvorbis' 'openal' 'mesa' 'lua' 'icu' 'ftgl' 'glew')
-makedepends=('ftjam' 'p7zip' 'wxgtk' 'cmake')
-source=("http://downloads.sourceforge.net/project/${pkgname}/current_release/${pkgname}-source-${pkgver}.tar.xz")
-md5sums=('099a35b97e101aa2b8facf144a5d96c8')
+depends=('curl' 'megaglest-data' 'xerces-c' 'sdl' 'libvorbis' 'openal' 'libgl' 'lua' 'icu' 'ftgl' 'glew'
+ 'libircclient' 'miniupnpc' 'wxgtk')
+makedepends=('ftjam' 'cmake' 'mesa')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-source-${pkgver}.tar.xz")
+md5sums=('9d840a04b41aef2cba503de7bf433b8d')
build() {
- cd "${srcdir}"/"${pkgname}"-"${_pkgver}"/
+ cd "${srcdir}"/"${pkgname}"-"${pkgver}"/
[[ -d build ]] && rm -r build
mkdir build && cd build
@@ -28,7 +28,7 @@ build() {
}
package() {
- cd "${srcdir}"/"${pkgname}"-"${_pkgver}"/
+ cd "${srcdir}"/"${pkgname}"-"${pkgver}"/
cd build
make DESTDIR="$pkgdir" install
diff --git a/community/springlobby/PKGBUILD b/community/springlobby/PKGBUILD
index d6764e3f1..01eedb6c2 100644
--- a/community/springlobby/PKGBUILD
+++ b/community/springlobby/PKGBUILD
@@ -1,21 +1,22 @@
-# $Id: PKGBUILD 61573 2012-01-03 13:42:06Z svenstaro $
+# $Id: PKGBUILD 62116 2012-01-16 02:08:51Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: DuGi <dugi@irc.pl>
pkgname=springlobby
-pkgver=0.140
+pkgver=0.141
pkgrel=1
pkgdesc="A free cross-platform lobby client for the Spring RTS project."
arch=('i686' 'x86_64')
url="http://springlobby.info/"
license=('GPL2')
-depends=('wxgtk' 'curl' 'libtorrent-rasterbar' 'boost-libs')
+depends=('hicolor-icon-theme' 'wxgtk' 'curl' 'libtorrent-rasterbar' 'boost-libs')
optdepends=('sdl' 'sdl_sound' 'sdl_mixer')
makedepends=('boost' 'asio' 'cmake')
+install=springlobby.install
source=(http://www.springlobby.info/tarballs/${pkgname}-${pkgver}.tar.bz2
springlobby.desktop
springlobby.png)
-md5sums=('e43fe2f9f1c002669d37e10b0fb2a2f5'
+md5sums=('a7e5a9b031a1e72a1df59575289fed3f'
'45f8b59d033931d02e734fe3bd7777dd'
'1f388187539aeb0358b51995e26ed890')
diff --git a/community/springlobby/springlobby.install b/community/springlobby/springlobby.install
new file mode 100644
index 000000000..1a05f573e
--- /dev/null
+++ b/community/springlobby/springlobby.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/xmonad/PKGBUILD b/community/xmonad/PKGBUILD
index 7748b9fcd..fdf5a8987 100644
--- a/community/xmonad/PKGBUILD
+++ b/community/xmonad/PKGBUILD
@@ -1,16 +1,17 @@
-# $Id: PKGBUILD 60796 2011-12-18 11:10:08Z jelle $
+# $Id: PKGBUILD 62068 2012-01-15 15:18:39Z jelle $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
# Contributor: shild <shildv@gmail.com>
pkgname=xmonad
pkgver=0.10
-pkgrel=1
+pkgrel=2
pkgdesc="A lightweight X11 tiled window manager written in Haskell"
arch=('i686' 'x86_64')
url="http://xmonad.org/"
license=('BSD')
depends=('ghc=7.0.3' 'gmp' 'haskell-x11=1.5.0.1' 'sh' 'haskell-mtl=2.0.1.0' 'haskell-utf8-string=0.3.6')
+optdepends=('xorg-xmessage: for displaying visual error messages')
install='xmonad.install'
source=(http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz
xmonad.desktop
diff --git a/extra/dhcp/PKGBUILD b/extra/dhcp/PKGBUILD
index 3af4f8303..4233cd589 100644
--- a/extra/dhcp/PKGBUILD
+++ b/extra/dhcp/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 145313 2011-12-21 18:57:01Z daniel $
+# $Id: PKGBUILD 146655 2012-01-15 12:58:26Z daniel $
# Maintainer: Daniel Isenmann <daniel @archlinux.org>
pkgbase=dhcp
@@ -6,9 +6,9 @@ pkgname=('dhcp' 'dhclient')
# separate patch levels with a period to maintain proper versioning.
pkgver=4.2.3.2
-_pkgver=4.2.3-P1
+_pkgver=4.2.3-P2
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
license=('custom:isc-dhcp')
url="https://www.isc.org/software/dhcp"
@@ -16,7 +16,7 @@ source=(ftp://ftp.isc.org/isc/${pkgbase}/${_pkgver}/${pkgbase}-${_pkgver}.tar.gz
dhcp4 dhcp6 dhcp
dhcp-4.1.1-missing-ipv6-not-fatal.patch
dhclient-script-pathFixes.patch)
-md5sums=('04599f1557a5cafd10d7745267a68c8b'
+md5sums=('14f57fd580d01633d0fad4809007a801'
'c49b1497837ba56c54e401a66e1bab9b'
'12c2f3ae47ed23eb698eb7f1bfd80f20'
'8f357e46e1efcbb746f38737a3f977a2'
diff --git a/extra/gcin/PKGBUILD b/extra/gcin/PKGBUILD
index 72aa5ebb6..d64e4b75b 100644
--- a/extra/gcin/PKGBUILD
+++ b/extra/gcin/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 146056 2012-01-04 19:11:47Z bisson $
+# $Id: PKGBUILD 146643 2012-01-15 09:45:20Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgname=gcin
-pkgver=2.7.0
+pkgver=2.7.1
pkgrel=1
pkgdesc='Input method server supporting various input methods'
url='http://hyperrate.com/dir.php?eid=67'
@@ -18,7 +18,7 @@ optdepends=('qt: support for qt4 input method'
'libchewing: support for chewing input method')
source=("http://www.csie.nctu.edu.tw/~cp76/gcin/download/${pkgname}-${pkgver}.tar.xz"
'qt4-lib64.patch')
-sha1sums=('ff52b67a9456e1afe18c9c86a8f84c9dc16b9414'
+sha1sums=('16e549f5e602c7834dcc35875e375f1e660a627d'
'3d1b769dcd8820c8351f239ec32ee5bcd9d98b70')
install=install
diff --git a/extra/qemu-kvm/PKGBUILD b/extra/qemu-kvm/PKGBUILD
index e934f7b2f..f1d7baaae 100644
--- a/extra/qemu-kvm/PKGBUILD
+++ b/extra/qemu-kvm/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 145070 2011-12-16 11:39:16Z tpowa $
+# $Id: PKGBUILD 146639 2012-01-15 08:31:08Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=qemu-kvm
pkgver=1.0
-pkgrel=1
+pkgrel=2
pkgdesc="Latest KVM QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation."
arch=(i686 x86_64)
license=('GPL2' 'LGPL2.1')
url="http://www.linux-kvm.org"
depends=('libjpeg' 'libpng' 'libsasl' 'curl' 'sdl' 'alsa-lib' 'nss' 'glib2' 'gnutls>=2.4.1' 'bluez' 'vde2' 'util-linux-ng' 'libpulse')
-makedepends=('texi2html' 'perl' 'python2')
+makedepends=('git' 'iasl' 'texi2html' 'perl' 'python2')
backup=('etc/qemu/target-x86_64.conf')
install=qemu-kvm.install
conflicts=('qemu')
@@ -29,11 +29,26 @@ build()
--audio-card-list=ac97,sb16,es1370,hda \
--enable-docs
make
+
+ # Use latest seabios version
+ # https://bugs.archlinux.org/task/27616
+ cd ${srcdir}/
+ git clone git://git.seabios.org/seabios.git
+ cd seabios
+ find 'tools/' 'contrib' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+ make clean
+ make
}
+
package()
{
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
+
+ # Use latest seabios version
+ # https://bugs.archlinux.org/task/27616
+ cp ${srcdir}/seabios/out/bios.bin ${pkgdir}/usr/share/qemu/bios.bin
+
# symbolic link for backwards compatibility
ln -s qemu-system-x86_64 ${pkgdir}/usr/bin/qemu-kvm
# symbolic link for to qemu binary for emulator apps
diff --git a/extra/rhythmbox/PKGBUILD b/extra/rhythmbox/PKGBUILD
index d97e0dd38..35eb90993 100644
--- a/extra/rhythmbox/PKGBUILD
+++ b/extra/rhythmbox/PKGBUILD
@@ -1,32 +1,28 @@
-# $Id: PKGBUILD 145457 2011-12-22 17:55:49Z ibiru $
+# $Id: PKGBUILD 146665 2012-01-15 21:21:39Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=rhythmbox
-pkgver=2.90.1.git20111222
+pkgver=2.95
pkgrel=1
pkgdesc="An iTunes-like music playback and management application"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.rhythmbox.org"
-depends=('libgpod' 'gvfs-afc' 'totem-plparser' 'libmusicbrainz3' 'libmtp' 'lirc-utils' 'libwebkit3' 'libdmapsharing' 'media-player-info' 'python2-gobject'
- 'python-gnomekeyring' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'json-glib' 'desktop-file-utils' 'libpeas' 'python2-mako' 'grilo' 'dconf' 'libnotify')
-makedepends=('pkgconfig' 'gnome-doc-utils>=0.20.1' 'intltool' 'brasero' 'gnome-common' 'gtk-doc' 'gobject-introspection')
+depends=('clutter' 'clutter-gtk' 'clutter-gst' 'dconf' 'desktop-file-utils' 'grilo' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'gvfs-afc' 'json-glib' 'libdmapsharing' 'libgpod' 'libmtp' 'libmusicbrainz3'
+ 'libnotify' 'libpeas' 'libwebkit3' 'lirc-utils' 'media-player-info' 'mx' 'python2-gobject' 'python2-mako' 'totem-plparser')
+makedepends=('gnome-doc-utils' 'intltool' 'brasero' 'gobject-introspection')
optdepends=('gstreamer0.10-ugly-plugins: Extra media codecs'
'gstreamer0.10-bad-plugins: Extra media codecs'
'gstreamer0.10-ffmpeg: Extra media codecs'
'brasero: cd burning')
-options=('!libtool' '!emptydirs' '!strip')
+options=('!libtool' '!emptydirs')
install=rhythmbox.install
-#source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.13/${pkgname}-${pkgver}.tar.bz2)
-source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.xz)
-sha256sums=('06cb3dda1871060c192e32c7f8237c046d120946a3647ebe2041695bce90a839')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz)
+sha256sums=('12cab95c89514b5c01a2daf9d6bdf74c8652b35e49625e2906d51b487bc68c06')
build() {
cd "$srcdir/$pkgname-$pkgver"
- export CFLAGS="$CFLAGS -g -O1"
- export CXXFLAGS="$CXXFLAGS -g -O1"
- PYTHON=/usr/bin/python2 ./autogen.sh
PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
--libexecdir=/usr/lib/rhythmbox \
--localstatedir=/var --disable-static \
diff --git a/extra/uim/PKGBUILD b/extra/uim/PKGBUILD
index b7782644e..01142b16b 100644
--- a/extra/uim/PKGBUILD
+++ b/extra/uim/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 133084 2011-07-27 18:50:53Z bisson $
+# $Id: PKGBUILD 146641 2012-01-15 08:38:24Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgname=uim
-pkgver=1.7.1
+pkgver=1.7.2
pkgrel=1
pkgdesc='Multilingual input method library'
arch=('i686' 'x86_64')
@@ -17,7 +17,7 @@ optdepends=('qt: immodule and helper applications'
'gnome-panel: gnome applet indicator')
options=('!libtool')
source=("http://uim.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2")
-sha1sums=('9001955f9efbd3cf23c9ad62c027f44060553fa8')
+sha1sums=('4982178aca6ee1ae775fc2a9b4bbb7a66e97cbd4')
install=install
diff --git a/extra/vim/PKGBUILD b/extra/vim/PKGBUILD
index fae945242..236d8ba93 100644
--- a/extra/vim/PKGBUILD
+++ b/extra/vim/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 143639 2011-11-27 23:44:53Z eric $
+# $Id: PKGBUILD 146636 2012-01-15 06:31:34Z eric $
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Maintainer: tobias [ tobias at archlinux org ]
# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
@@ -6,24 +6,24 @@
pkgbase=vim
pkgname=('vim' 'gvim' 'vim-runtime')
_topver=7.3
-_patchlevel=353
-__hgrev=379a6398d462
+_patchlevel=401
+__hgrev=0dabc2ce136c
_versiondir="vim${_topver//./}"
pkgver=${_topver}.${_patchlevel}
-pkgrel=2
+pkgrel=1
arch=('i686' 'x86_64')
license=('custom:vim')
url="http://www.vim.org"
-makedepends=('gpm' 'python2' 'python' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua')
-source=(ftp://ftp.archlinux.org/other/vim/${pkgname}-${pkgver}.tar.xz
+makedepends=('gpm' 'python2' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua')
+source=(ftp://ftp.archlinux.org/other/vim/${pkgname}-${pkgver}.tar.xz{,.sig}
pythoncomplete.vim::http://www.vim.org/scripts/download_script.php\?src_id=10872
- vimrc archlinux.vim gvim.desktop urxvt-mouse.diff)
-sha1sums=('1713682c077d26ec3d3e8d0d18bad88a2a447fd5'
+ vimrc archlinux.vim gvim.desktop)
+sha1sums=('99498cb48c0c720ae9972a6cd33d4926bdf733b7'
+ '72e9e1eff158e8acceeeb96279085214cbefb3ac'
'4d9dcfb32874aa5467e6f06e418aeb4e675daaf2'
'3494baf53a63581ba69f86a81293640ff681c5c5'
'25dd3c2ce436e73a367c8f73b68f7f6889682437'
- '4a579cf66590d711f49c5dfb4a25e5df116ff7ba'
- '54d8edec6a450a529ba11bab45c5685b1e7c2e84')
+ '4a579cf66590d711f49c5dfb4a25e5df116ff7ba')
# source PKGBUILD && mksource
mksource() {
@@ -53,8 +53,6 @@ mksource() {
build() {
cd "${srcdir}"
- (cd ${pkgname}-${pkgver}; patch -p1 -i ../urxvt-mouse.diff)
-
cp -a ${pkgname}-${pkgver} vim-build
# define the place for the global (g)vimrc file (set to /etc/vimrc)
@@ -87,7 +85,7 @@ build() {
--enable-gpm --enable-acl --with-x=yes \
--enable-gui=gtk2 --enable-multibyte --enable-cscope \
--enable-netbeans --enable-perlinterp --enable-pythoninterp \
- --enable-python3interp --enable-rubyinterp --enable-luainterp
+ --disable-python3interp --enable-rubyinterp --enable-luainterp
make
}
@@ -122,7 +120,7 @@ package_vim() {
package_gvim() {
pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI)'
depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'ruby' 'libxt'
- 'desktop-file-utils' 'gtk2' 'lua')
+ 'desktop-file-utils' 'gtk2' 'lua' 'python2')
provides=("vim=${pkgver}-${pkgrel}")
conflicts=('vim')
install=gvim.install
diff --git a/multilib-testing/binutils-multilib/PKGBUILD b/multilib-testing/binutils-multilib/PKGBUILD
new file mode 100644
index 000000000..6888c5181
--- /dev/null
+++ b/multilib-testing/binutils-multilib/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 62099 2012-01-16 01:54:07Z 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=4.1
+_date=20111227
+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=('c2377089c15bb1a1bfaeca8d0e59dd4d')
+
+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
+
+ # Rebuild libiberty.a with -fPIC
+ cp -a libiberty libiberty-pic
+ make -C libiberty-pic clean
+ make CFLAGS="$CFLAGS -fPIC" -C libiberty-pic
+
+ # Rebuild libbfd.a with -fPIC
+ # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
+ cp -a bfd bfd-pic
+ make -C bfd-pic clean
+ make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd-pic
+}
+
+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
+
+ # install libraries rebuilt with -fPIC
+ install -m644 libiberty-pic/libiberty.a ${pkgdir}/usr/lib
+ install -m644 bfd-pic/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/chuck/PKGBUILD b/multilib-testing/chuck/PKGBUILD
new file mode 100644
index 000000000..2250f2e39
--- /dev/null
+++ b/multilib-testing/chuck/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 62100 2012-01-16 01:54:11Z heftig $
+# Maintainer: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: tardo <tardo@nagi-fanboi.net>
+
+pkgname=chuck
+pkgver=1.2.1.3
+pkgrel=5.1
+pkgdesc="Concurrent, on-the-fly audio programming language."
+arch=('i686' 'x86_64')
+url="http://chuck.cs.princeton.edu/"
+license=('GPL')
+depends=('gcc-libs' 'libsndfile' 'alsa-lib')
+makedepends=('bison' 'flex')
+source=(http://chuck.cs.princeton.edu/release/files/$pkgname-$pkgver.tgz)
+md5sums=('ac8459b4067c2491fbdeb61d122a5985')
+
+if [[ $CARCH == x86_64 ]]; then
+ depends=('lib32-gcc-libs' 'lib32-libsndfile' 'lib32-alsa-lib')
+ makedepends+=('gcc-multilib')
+fi
+
+build() {
+ if [[ $CARCH == x86_64 ]]; then
+ export CC='gcc -m32'
+ export CXX='g++ -m32'
+ export PKG_CONFIG_PATH=/usr/lib32/pkgconfig
+ fi
+
+ cd $srcdir/$pkgname-$pkgver/src
+ CFLAGS="$CFLAGS -fno-strict-aliasing"
+
+ # This can be linux-alsa linux-jack linux-oss osx win32
+ make linux-alsa
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver/src
+ install -D -m 755 chuck $pkgdir/usr/bin/chuck
+}
diff --git a/multilib-testing/dev86/PKGBUILD b/multilib-testing/dev86/PKGBUILD
new file mode 100644
index 000000000..bde7ba3be
--- /dev/null
+++ b/multilib-testing/dev86/PKGBUILD
@@ -0,0 +1,52 @@
+# $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=3
+pkgdesc="Simple C compiler to generate 8086 code"
+arch=('i686' 'x86_64')
+url="http://www.debath.co.uk/dev86/"
+license=(GPL)
+if [ "${CARCH}" == "x86_64" ]; then
+ depends=('lib32-glibc')
+ makedepends=('bin86' 'gcc-multilib')
+else
+ makedepends=('bin86')
+fi
+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-testing/dev86/dev86-0.16.17-fortify.patch b/multilib-testing/dev86/dev86-0.16.17-fortify.patch
new file mode 100644
index 000000000..715d0c4ca
--- /dev/null
+++ b/multilib-testing/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-testing/dev86/dev86-pic.patch b/multilib-testing/dev86/dev86-pic.patch
new file mode 100644
index 000000000..439c2648b
--- /dev/null
+++ b/multilib-testing/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-testing/gcc-multilib/PKGBUILD b/multilib-testing/gcc-multilib/PKGBUILD
new file mode 100644
index 000000000..1db3a2749
--- /dev/null
+++ b/multilib-testing/gcc-multilib/PKGBUILD
@@ -0,0 +1,303 @@
+# $Id: PKGBUILD 62102 2012-01-16 01:54:25Z 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=5.1
+_snapshot=4.6-20111223
+_libstdcppmanver=20111215
+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++-man.${_libstdcppmanver}.tar.bz2
+ gcc_pure64-multilib.patch
+ gcc-hash-style-both.patch)
+md5sums=('4755b9f6ac0abecbaa2097ed9738406a'
+ '450772ce32daed97d7383199f8797f33'
+ '7da5b7ab75b3c29993f953b18bc38579'
+ '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-multilib.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 --with-fpmath=sse
+ 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}/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-multilib.patch b/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch
new file mode 100644
index 000000000..73df6b873
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch
@@ -0,0 +1,24 @@
+diff -u -r gcc-4.6-20111223/gcc/config/i386/linux64.h gcc-4.6-20111223-pure64/gcc/config/i386/linux64.h
+--- gcc-4.6-20111223/gcc/config/i386/linux64.h 2011-09-08 11:12:35.000000000 +0200
++++ gcc-4.6-20111223-pure64/gcc/config/i386/linux64.h 2012-01-14 19:52:33.688573352 +0100
+@@ -63,7 +63,7 @@
+ done. */
+
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+
+ #if TARGET_64BIT_DEFAULT
+ #define SPEC_32 "m32"
+diff -u -r gcc-4.6-20111223/gcc/config/i386/t-linux64 gcc-4.6-20111223-pure64/gcc/config/i386/t-linux64
+--- gcc-4.6-20111223/gcc/config/i386/t-linux64 2009-04-21 21:03:23.000000000 +0200
++++ gcc-4.6-20111223-pure64/gcc/config/i386/t-linux64 2012-01-14 19:50:27.346242617 +0100
+@@ -25,7 +25,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/jack2-multilib/40-hpet-permissions.rules b/multilib-testing/jack2-multilib/40-hpet-permissions.rules
new file mode 100644
index 000000000..7af3780f9
--- /dev/null
+++ b/multilib-testing/jack2-multilib/40-hpet-permissions.rules
@@ -0,0 +1,2 @@
+KERNEL=="rtc0", GROUP="audio"
+KERNEL=="hpet", GROUP="audio"
diff --git a/multilib-testing/jack2-multilib/99-audio.conf b/multilib-testing/jack2-multilib/99-audio.conf
new file mode 100644
index 000000000..eb76ef920
--- /dev/null
+++ b/multilib-testing/jack2-multilib/99-audio.conf
@@ -0,0 +1,2 @@
+@audio - rtprio 99
+@audio - memlock unlimited
diff --git a/multilib-testing/jack2-multilib/PKGBUILD b/multilib-testing/jack2-multilib/PKGBUILD
new file mode 100644
index 000000000..6c45b64d6
--- /dev/null
+++ b/multilib-testing/jack2-multilib/PKGBUILD
@@ -0,0 +1,143 @@
+# $Id: PKGBUILD 52694 2011-07-27 17:23:48Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+
+# This one is in response to a need for an equivalent to lib32-jack for
+# jack2. A lib32-jack2 would require much patching and invading the pure
+# jack2 package, and what's more, the buildsystem provides a flag just to
+# build a hybrid jack2 in full. As such, we have opted to provide multilib
+# users with a replacement package instead of the usual lib32 add-on.
+#
+# See http://mailman.archlinux.org/pipermail/arch-multilib/2011-December/000251.html
+
+pkgbase=jack2-multilib
+pkgname=('jack2-multilib' 'jack2-dbus-multilib')
+#pkgname= # single build (overrides split)
+_tarname=jack
+pkgver=1.9.8
+pkgrel=1
+arch=('x86_64')
+url="http://jackaudio.org/"
+backup=(etc/security/limits.d/99-audio.conf)
+license=('GPL')
+makedepends=('python2' 'doxygen' 'libffado'
+ 'libsamplerate' 'lib32-dbus-core' 'lib32-celt'
+ 'gcc-multilib')
+source=("http://www.grame.fr/~letz/$_tarname-$pkgver.tgz"
+ '99-audio.conf'
+ '40-hpet-permissions.rules')
+md5sums=('1dd2ff054cab79dfc11d134756f27165'
+ 'ae65b7c9ebe0fff6c918ba9d97ae342d'
+ '471aad533ff56c5d3cbbf65ce32cadef')
+
+_pyfix() {
+ sed -i 's:bin/env python:bin/env python2:' \
+ "$pkgdir/usr/bin/jack_control"
+}
+
+_wafconf() {
+ python2 waf configure --prefix=/usr \
+ --alsa \
+ --firewire \
+ --mixed \
+ --doxygen $@
+}
+
+_isbuild() {
+ printf "%s\n" ${pkgname[@]} | grep -qx $1
+}
+
+_mklinks() {
+ ln -s /usr/lib32/libjack.so.0.1.0 "$pkgdir/usr/lib32/libjack.so.0"
+ ln -s /usr/lib32/libjack.so.0 "$pkgdir/usr/lib32/libjack.so"
+}
+
+build() {
+ cd "$srcdir/$_tarname-$pkgver"
+
+ export LINKFLAGS="$LDFLAGS"
+
+ # fix doxygen building
+ sed -i 's:build/default/html:html:' $_tarname-$pkgver/wscript
+
+ # we may do 2 different builds
+ cp -r $_tarname-$pkgver $_tarname-dbus-$pkgver
+
+ # mixed dbus/classic build
+ if _isbuild jack2-multilib; then
+ cd $_tarname-$pkgver
+ msg2 "Running Mixed D-Bus/Classic build"
+ _wafconf --classic --dbus
+ python2 waf build $MAKEFLAGS
+ cd ..
+ fi
+
+ # dbus-ONLY build
+ if _isbuild jack2-dbus-multilib; then
+ cd $_tarname-dbus-$pkgver
+ msg2 "Running D-Bus-only build"
+ _wafconf --dbus
+ python2 waf build $MAKEFLAGS
+ cd ..
+ fi
+}
+
+package_jack2-multilib() {
+ ! _isbuild jack2-multilib && return 0
+
+ pkgdesc="The next-generation JACK with SMP support & mixed mode"
+ depends=('libsamplerate' 'lib32-celt' 'lib32-gcc-libs')
+ optdepends=('libffado: FireWire support'
+ 'lib32-dbus-core: jackdbus'
+ 'python2: jack_control')
+ conflicts=('jack' 'jack2' 'lib32-jack')
+ provides=('jack' 'jackmp' 'jackdmp' 'jackdbus'
+ 'jack2' 'lib32-jack' 'lib32-jack2')
+
+ cd "$srcdir/$_tarname-$pkgver/$_tarname-$pkgver"
+
+ python2 waf install --destdir="$pkgdir"
+
+ # fix for major python transition
+ _pyfix
+
+ # configure realtime access/scheduling
+ # see https://bugs.archlinux.org/task/26343
+ install -Dm644 "$srcdir/99-audio.conf" \
+ "$pkgdir/etc/security/limits.d/99-audio.conf"
+
+ install -Dm644 "$srcdir/40-hpet-permissions.rules" \
+ "$pkgdir/lib/udev/rules.d/40-hpet-permissions.rules"
+
+ # should be done by upstream
+ # see http://trac.jackaudio.org/ticket/200
+ _mklinks
+}
+
+package_jack2-dbus-multilib() {
+ ! _isbuild jack2-dbus-multilib && return 0
+
+ pkgdesc="The next-generation JACK with SMP support & mixed mode (for D-BUS interaction only)"
+ depends=('libsamplerate' 'lib32-celt' 'lib32-dbus-core' 'lib32-gcc-libs')
+ optdepends=('libffado: FireWire support'
+ 'python2: jack_control')
+ conflicts=('jack' 'jack2' 'lib32-jack' 'jack2-multilib')
+ provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus'
+ 'jack2-dbus' 'jack2-multilib' 'lib32-jack' 'lib32-jack2')
+
+ cd "$srcdir/$_tarname-$pkgver/$_tarname-dbus-$pkgver"
+
+ python2 waf install --destdir="$pkgdir"
+
+ _pyfix
+
+ install -Dm644 "$srcdir/99-audio.conf" \
+ "$pkgdir/etc/security/limits.d/99-audio.conf"
+
+ install -Dm644 "$srcdir/40-hpet-permissions.rules" \
+ "$pkgdir/lib/udev/rules.d/40-hpet-permissions.rules"
+
+ _mklinks
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/multilib-testing/lib32-gdk-pixbuf2/PKGBUILD b/multilib-testing/lib32-gdk-pixbuf2/PKGBUILD
new file mode 100644
index 000000000..eef9aca26
--- /dev/null
+++ b/multilib-testing/lib32-gdk-pixbuf2/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 91063 2010-09-21 19:21:24Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+_pkgbasename=gdk-pixbuf2
+pkgname=lib32-$_pkgbasename
+pkgver=2.24.1
+pkgrel=1
+pkgdesc="An image loading library (32-bit)"
+arch=('x86_64')
+url="http://www.gtk.org/"
+license=('GPL2')
+depends=(lib32-glib2 lib32-libpng lib32-libtiff lib32-libjpeg lib32-libx11
+ $_pkgbasename)
+makedepends=(gcc-multilib)
+options=('!libtool' '!docs')
+install=gdk-pixbuf2.install
+source=(http://download.gnome.org/sources/gdk-pixbuf/2.24/gdk-pixbuf-${pkgver}.tar.xz)
+sha256sums=('da7a3f00db360913716368e19e336402755cafa93769f3cfa28a969303e4bee1')
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd "${srcdir}/gdk-pixbuf-${pkgver}"
+
+ ./configure --prefix=/usr --libdir=/usr/lib32 \
+ --without-libjasper \
+ --with-x11 \
+ --with-included-loaders=png
+ make
+}
+
+package() {
+ cd "${srcdir}/gdk-pixbuf-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ rm -rf "${pkgdir}"/etc
+ rm -rf "${pkgdir}"/usr/{include,share}
+
+ cd "${pkgdir}"/usr/bin
+ mv gdk-pixbuf-query-loaders gdk-pixbuf-query-loaders-32
+ rm gdk-pixbuf-csource
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/multilib-testing/lib32-gdk-pixbuf2/gdk-pixbuf2.install b/multilib-testing/lib32-gdk-pixbuf2/gdk-pixbuf2.install
new file mode 100644
index 000000000..92d58ef04
--- /dev/null
+++ b/multilib-testing/lib32-gdk-pixbuf2/gdk-pixbuf2.install
@@ -0,0 +1,11 @@
+post_install() {
+ usr/bin/gdk-pixbuf-query-loaders-32 --update-cache
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ rm -f usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders/loaders.cache
+}
diff --git a/multilib-testing/lib32-glib2/PKGBUILD b/multilib-testing/lib32-glib2/PKGBUILD
new file mode 100644
index 000000000..3dce5033d
--- /dev/null
+++ b/multilib-testing/lib32-glib2/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 62105 2012-01-16 01:54:43Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi>
+
+_pkgbasename=glib2
+pkgname=lib32-$_pkgbasename
+pkgver=2.30.2
+pkgrel=2
+pkgdesc="Common C routines used by GTK+ 2.4 and other libs (32-bit)"
+url="http://www.gtk.org/"
+arch=('x86_64')
+license=('LGPL')
+depends=('lib32-pcre' 'lib32-zlib' 'lib32-dbus-core' lib32-libffi $_pkgbasename)
+makedepends=('gcc-multilib' python2)
+options=('!libtool' '!docs')
+source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.30/glib-${pkgver}.tar.xz)
+sha256sums=('f0e91e6333321ddb48fa12b5c66f56c3d5f05325748c66dd2e9016c278ff8e82')
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd "${srcdir}/glib-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib32 \
+ --enable-static --enable-shared --with-pcre=system --disable-fam
+ make
+}
+
+package() {
+ cd "${srcdir}/glib-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ rm -rf "${pkgdir}"/{etc,usr/{share,include}}
+
+ cd "${pkgdir}"/usr/bin
+ mv gio-querymodules gio-querymodules-32
+ rm -f gdbus glib* gobject-query gsettings gtester*
+ rm -rf "$pkgdir"/usr/{bin/gdbus-codegen,lib32/gdbus-2.0}
+}
diff --git a/multilib-testing/lib32-glibc/PKGBUILD b/multilib-testing/lib32-glibc/PKGBUILD
new file mode 100644
index 000000000..b537d6891
--- /dev/null
+++ b/multilib-testing/lib32-glibc/PKGBUILD
@@ -0,0 +1,176 @@
+# $Id: PKGBUILD 62106 2012-01-16 01:54:58Z 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 rebuilt with each major glibc version
+
+_pkgbasename=glibc
+pkgname=lib32-$_pkgbasename
+pkgver=2.15
+pkgrel=3.1
+_glibcdate=20111227
+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.2-ignore-origin-of-privileged-program.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
+ glibc-2.15-lddebug-scopes.patch
+ glibc-2.15-revert-c5a0802a.patch
+ glibc-2.15-math64crash.patch
+ lib32-glibc.conf)
+md5sums=('6ffdf5832192b92f98bdd125317c0dfc'
+ '4dadb9203b69a3210d53514bb46f41c3'
+ '0c5540efc51c0b93996c51b57a8540ae'
+ '40cd342e21f71f5e49e32622b25acc52'
+ 'b042647ea7d6f22ad319e12e796bd13e'
+ '6970bcfeb3bf88913436d5112d16f588'
+ '7da8c554a3b591c7401d7023b1928afc'
+ 'c5de2a946215d647c8af5432ec4b0da0'
+ '55febbb72139ac7b65757df085024b83'
+ '3c219ddfb619b6df903cac4cc42c611d'
+ '7ae3e426251ae33e73dbad71f9c91378'
+ 'dc7550e659ddd685bd78a930d15a01f2'
+ '6e052f1cb693d5d3203f50f9d4e8c33b')
+
+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://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/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 appear not to 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
+
+ # propriety nvidia crash - https://bugzilla.redhat.com/show_bug.cgi?id=737223
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=0c95ab64 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.15-lddebug-scopes.patch
+
+ # revert commit c5a0802a - causes various hangs
+ # https://bugzilla.redhat.com/show_bug.cgi?id=769421
+ patch -Np1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch
+
+ # revert optimized math routines that can cause crashes (FS#27736, FS#27743)
+ # obviously not a real fix...
+ patch -Np1 -i ${srcdir}/glibc-2.15-math64crash.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=/usr/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},var}
+
+ # We need one 32 bit specific header file
+ find ${pkgdir}/usr/include -type f -not -name stubs-32.h -delete
+
+ # Do not strip the following files for improved debugging support
+ # ("improved" as in not breaking gdb and valgrind...):
+ # ld-${pkgver}.so
+ # libc-${pkgver}.so
+ # libpthread-${pkgver}.so
+ # libthread_db-1.0.so
+
+ cd $pkgdir
+ strip $STRIP_BINARIES usr/lib32/getconf/*
+
+ strip $STRIP_STATIC usr/lib32/*.a
+
+ strip $STRIP_SHARED usr/lib32/{libanl,libBrokenLocale,libcidn,libcrypt}-${pkgver}.so \
+ usr/lib32/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-${pkgver}.so \
+ usr/lib32/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \
+ usr/lib32/{libmemusage,libpcprofile,libSegFault}.so \
+ usr/lib32/{pt_chown,{audit,gconv}/*.so}
+
+ # Dynamic linker
+ mkdir ${pkgdir}/lib
+ ln -s ../usr/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.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.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-2.15-lddebug-scopes.patch b/multilib-testing/lib32-glibc/glibc-2.15-lddebug-scopes.patch
new file mode 100644
index 000000000..808cf8d7c
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.15-lddebug-scopes.patch
@@ -0,0 +1,27 @@
+From 0c95ab64cb4ec0d22bb222647d9d20c7b4903e38 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@redhat.com>
+Date: Fri, 7 Oct 2011 09:31:27 +0200
+Subject: [PATCH] Horrible workaround for horribly broken software
+
+---
+ elf/rtld.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/elf/rtld.c b/elf/rtld.c
+index 978c609..8422b9f 100644
+--- a/elf/rtld.c
++++ b/elf/rtld.c
+@@ -1393,7 +1393,9 @@ of this helper program; chances are you did not intend to run this program.\n\
+ char *copy = malloc (len);
+ if (copy == NULL)
+ _dl_fatal_printf ("out of memory\n");
+- l->l_libname->name = l->l_name = memcpy (copy, dsoname, len);
++ l->l_libname->name = memcpy (copy, dsoname, len);
++ if (GLRO(dl_debug_mask))
++ l->l_name = copy;
+ }
+
+ /* Add the vDSO to the object list. */
+--
+1.7.3.4
+
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-math64crash.patch b/multilib-testing/lib32-glibc/glibc-2.15-math64crash.patch
new file mode 100644
index 000000000..d315bf266
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.15-math64crash.patch
@@ -0,0 +1,184 @@
+diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile
+index be68903..a032da8 100644
+--- a/sysdeps/x86_64/fpu/multiarch/Makefile
++++ b/sysdeps/x86_64/fpu/multiarch/Makefile
+@@ -1,5 +1,5 @@
+ ifeq ($(subdir),math)
+-libm-sysdep_routines += s_floor-c s_ceil-c s_floorf-c s_ceilf-c \
++libm-sysdep_routines += s_floorf-c s_ceilf-c \
+ s_rint-c s_rintf-c s_nearbyint-c s_nearbyintf-c
+
+ ifeq ($(have-mfma4),yes)
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c b/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c
+deleted file mode 100644
+index 6a5ea3f..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c
++++ /dev/null
+@@ -1,2 +0,0 @@
+-#define __ceil __ceil_c
+-#include <sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c>
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil.S b/sysdeps/x86_64/fpu/multiarch/s_ceil.S
+deleted file mode 100644
+index d0f8da3..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_ceil.S
++++ /dev/null
+@@ -1,40 +0,0 @@
+-/* Copyright (C) 2011 Free Software Foundation, Inc.
+- This file is part of the GNU C Library.
+- Contributed by Ulrich Drepper <drepper@gmail.come>, 2011.
+-
+- The GNU C Library is free software; you can redistribute it and/or
+- modify it under the terms of the GNU Lesser General Public
+- License as published by the Free Software Foundation; either
+- version 2.1 of the License, or (at your option) any later version.
+-
+- The GNU C Library 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
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; if not, write to the Free
+- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+- 02111-1307 USA. */
+-
+-#include <machine/asm.h>
+-#include <init-arch.h>
+-
+-
+-ENTRY(__ceil)
+- .type __ceil, @gnu_indirect_function
+- call __get_cpu_features@plt
+- movq %rax, %rdx
+- leaq __ceil_sse41(%rip), %rax
+- testl $bit_SSE4_1, CPUID_OFFSET+index_SSE4_1(%rdx)
+- jnz 2f
+- leaq __ceil_c(%rip), %rax
+-2: ret
+-END(__ceil)
+-weak_alias (__ceil, ceil)
+-
+-
+-ENTRY(__ceil_sse41)
+- roundsd $2, %xmm0, %xmm0
+- ret
+-END(__ceil_sse41)
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor-c.c b/sysdeps/x86_64/fpu/multiarch/s_floor-c.c
+deleted file mode 100644
+index 68733b6..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_floor-c.c
++++ /dev/null
+@@ -1,3 +0,0 @@
+-#undef __floor
+-#define __floor __floor_c
+-#include <sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c>
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor.S b/sysdeps/x86_64/fpu/multiarch/s_floor.S
+deleted file mode 100644
+index 514ea95..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_floor.S
++++ /dev/null
+@@ -1,40 +0,0 @@
+-/* Copyright (C) 2011 Free Software Foundation, Inc.
+- This file is part of the GNU C Library.
+- Contributed by Ulrich Drepper <drepper@gmail.come>, 2011.
+-
+- The GNU C Library is free software; you can redistribute it and/or
+- modify it under the terms of the GNU Lesser General Public
+- License as published by the Free Software Foundation; either
+- version 2.1 of the License, or (at your option) any later version.
+-
+- The GNU C Library 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
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; if not, write to the Free
+- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+- 02111-1307 USA. */
+-
+-#include <machine/asm.h>
+-#include <init-arch.h>
+-
+-
+-ENTRY(__floor)
+- .type __floor, @gnu_indirect_function
+- call __get_cpu_features@plt
+- movq %rax, %rdx
+- leaq __floor_sse41(%rip), %rax
+- testl $bit_SSE4_1, CPUID_OFFSET+index_SSE4_1(%rdx)
+- jnz 2f
+- leaq __floor_c(%rip), %rax
+-2: ret
+-END(__floor)
+-weak_alias (__floor, floor)
+-
+-
+-ENTRY(__floor_sse41)
+- roundsd $1, %xmm0, %xmm0
+- ret
+-END(__floor_sse41)
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_sin.c b/sysdeps/x86_64/fpu/multiarch/s_sin.c
+deleted file mode 100644
+index 1ba9dbc..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_sin.c
++++ /dev/null
+@@ -1,31 +0,0 @@
+-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
+-# include <init-arch.h>
+-# include <math.h>
+-# undef NAN
+-
+-extern double __cos_sse2 (double);
+-extern double __sin_sse2 (double);
+-extern double __cos_avx (double);
+-extern double __sin_avx (double);
+-# ifdef HAVE_FMA4_SUPPORT
+-extern double __cos_fma4 (double);
+-extern double __sin_fma4 (double);
+-# else
+-# undef HAS_FMA4
+-# define HAS_FMA4 0
+-# define __cos_fma4 ((void *) 0)
+-# define __sin_fma4 ((void *) 0)
+-# endif
+-
+-libm_ifunc (__cos, HAS_FMA4 ? __cos_fma4 : HAS_AVX ? __cos_avx : __cos_sse2);
+-weak_alias (__cos, cos)
+-
+-libm_ifunc (__sin, HAS_FMA4 ? __sin_fma4 : HAS_AVX ? __sin_avx : __sin_sse2);
+-weak_alias (__sin, sin)
+-
+-# define __cos __cos_sse2
+-# define __sin __sin_sse2
+-#endif
+-
+-
+-#include <sysdeps/ieee754/dbl-64/s_sin.c>
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_tan.c b/sysdeps/x86_64/fpu/multiarch/s_tan.c
+deleted file mode 100644
+index 8f6601e..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_tan.c
++++ /dev/null
+@@ -1,21 +0,0 @@
+-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
+-# include <init-arch.h>
+-# include <math.h>
+-
+-extern double __tan_sse2 (double);
+-extern double __tan_avx (double);
+-# ifdef HAVE_FMA4_SUPPORT
+-extern double __tan_fma4 (double);
+-# else
+-# undef HAS_FMA4
+-# define HAS_FMA4 0
+-# define __tan_fma4 ((void *) 0)
+-# endif
+-
+-libm_ifunc (tan, HAS_FMA4 ? __tan_fma4 : HAS_AVX ? __tan_avx : __tan_sse2);
+-
+-# define tan __tan_sse2
+-#endif
+-
+-
+-#include <sysdeps/ieee754/dbl-64/s_tan.c>
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch b/multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch
new file mode 100644
index 000000000..f532b95e8
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch
@@ -0,0 +1,229 @@
+diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
+--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:12.937212834 +0000
++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:42.104222278 +0000
+@@ -137,7 +137,6 @@ __pthread_cond_wait:
+ cmpl $PI_BIT, %eax
+ jne 18f
+
+-90:
+ movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx
+ movl %ebp, %edx
+ xorl %esi, %esi
+@@ -151,9 +150,6 @@ __pthread_cond_wait:
+ sete 16(%esp)
+ je 19f
+
+- cmpl $-EAGAIN, %eax
+- je 91f
+-
+ /* Normal and PI futexes dont mix. Use normal futex functions only
+ if the kernel does not support the PI futex functions. */
+ cmpl $-ENOSYS, %eax
+@@ -398,78 +394,6 @@ __pthread_cond_wait:
+ #endif
+ call __lll_unlock_wake
+ jmp 11b
+-
+-91:
+-.LcleanupSTART2:
+- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
+- call it again. */
+-
+- /* Get internal lock. */
+- movl $1, %edx
+- xorl %eax, %eax
+- LOCK
+-#if cond_lock == 0
+- cmpxchgl %edx, (%ebx)
+-#else
+- cmpxchgl %edx, cond_lock(%ebx)
+-#endif
+- jz 92f
+-
+-#if cond_lock == 0
+- movl %ebx, %edx
+-#else
+- leal cond_lock(%ebx), %edx
+-#endif
+-#if (LLL_SHARED-LLL_PRIVATE) > 255
+- xorl %ecx, %ecx
+-#endif
+- cmpl $-1, dep_mutex(%ebx)
+- setne %cl
+- subl $1, %ecx
+- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
+-#if LLL_PRIVATE != 0
+- addl $LLL_PRIVATE, %ecx
+-#endif
+- call __lll_lock_wait
+-
+-92:
+- /* Increment the cond_futex value again, so it can be used as a new
+- expected value. */
+- addl $1, cond_futex(%ebx)
+- movl cond_futex(%ebx), %ebp
+-
+- /* Unlock. */
+- LOCK
+-#if cond_lock == 0
+- subl $1, (%ebx)
+-#else
+- subl $1, cond_lock(%ebx)
+-#endif
+- je 93f
+-#if cond_lock == 0
+- movl %ebx, %eax
+-#else
+- leal cond_lock(%ebx), %eax
+-#endif
+-#if (LLL_SHARED-LLL_PRIVATE) > 255
+- xorl %ecx, %ecx
+-#endif
+- cmpl $-1, dep_mutex(%ebx)
+- setne %cl
+- subl $1, %ecx
+- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
+-#if LLL_PRIVATE != 0
+- addl $LLL_PRIVATE, %ecx
+-#endif
+- call __lll_unlock_wake
+-
+-93:
+- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
+- xorl %ecx, %ecx
+- movl dep_mutex(%ebx), %edi
+- jmp 90b
+-.LcleanupEND2:
+-
+ .size __pthread_cond_wait, .-__pthread_cond_wait
+ versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
+ GLIBC_2_3_2)
+@@ -642,10 +566,6 @@ __condvar_w_cleanup:
+ .long .LcleanupEND-.Lsub_cond_futex
+ .long __condvar_w_cleanup-.LSTARTCODE
+ .uleb128 0
+- .long .LcleanupSTART2-.LSTARTCODE
+- .long .LcleanupEND2-.LcleanupSTART2
+- .long __condvar_w_cleanup-.LSTARTCODE
+- .uleb128 0
+ .long .LcallUR-.LSTARTCODE
+ .long .LENDCODE-.LcallUR
+ .long 0
+Only in b/nptl/sysdeps/unix/sysv/linux/i386/i486: pthread_cond_wait.S.orig
+diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:04:12.941212837 +0000
++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:05:05.155229737 +0000
+@@ -23,7 +23,6 @@
+ #include <lowlevelcond.h>
+ #include <tcb-offsets.h>
+ #include <pthread-pi-defines.h>
+-#include <pthread-errnos.h>
+
+ #include <kernel-features.h>
+
+@@ -137,14 +136,11 @@ __pthread_cond_wait:
+ cmpl $PI_BIT, %eax
+ jne 61f
+
+-90:
+ movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi
+ movl $SYS_futex, %eax
+ syscall
+
+ movl $1, %r8d
+- cmpq $-EAGAIN, %rax
+- je 91f
+ #ifdef __ASSUME_REQUEUE_PI
+ jmp 62f
+ #else
+@@ -331,70 +327,6 @@ __pthread_cond_wait:
+
+ 13: movq %r10, %rax
+ jmp 14b
+-
+-91:
+-.LcleanupSTART2:
+- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
+- call it again. */
+- movq 8(%rsp), %rdi
+-
+- /* Get internal lock. */
+- movl $1, %esi
+- xorl %eax, %eax
+- LOCK
+-#if cond_lock == 0
+- cmpxchgl %esi, (%rdi)
+-#else
+- cmpxchgl %esi, cond_lock(%rdi)
+-#endif
+- jz 92f
+-
+-#if cond_lock != 0
+- addq $cond_lock, %rdi
+-#endif
+- cmpq $-1, dep_mutex-cond_lock(%rdi)
+- movl $LLL_PRIVATE, %eax
+- movl $LLL_SHARED, %esi
+- cmovne %eax, %esi
+- callq __lll_lock_wait
+-#if cond_lock != 0
+- subq $cond_lock, %rdi
+-#endif
+-92:
+- /* Increment the cond_futex value again, so it can be used as a new
+- expected value. */
+- incl cond_futex(%rdi)
+- movl cond_futex(%rdi), %edx
+-
+- /* Release internal lock. */
+- LOCK
+-#if cond_lock == 0
+- decl (%rdi)
+-#else
+- decl cond_lock(%rdi)
+-#endif
+- jz 93f
+-
+-#if cond_lock != 0
+- addq $cond_lock, %rdi
+-#endif
+- cmpq $-1, dep_mutex-cond_lock(%rdi)
+- movl $LLL_PRIVATE, %eax
+- movl $LLL_SHARED, %esi
+- cmovne %eax, %esi
+- /* The call preserves %rdx. */
+- callq __lll_unlock_wake
+-#if cond_lock != 0
+- subq $cond_lock, %rdi
+-#endif
+-93:
+- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
+- xorq %r10, %r10
+- movq dep_mutex(%rdi), %r8
+- leaq cond_futex(%rdi), %rdi
+- jmp 90b
+-.LcleanupEND2:
+-
+ .size __pthread_cond_wait, .-__pthread_cond_wait
+ versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
+ GLIBC_2_3_2)
+@@ -547,15 +479,11 @@ __condvar_cleanup1:
+ .uleb128 .LcleanupSTART-.LSTARTCODE
+ .uleb128 .LcleanupEND-.LcleanupSTART
+ .uleb128 __condvar_cleanup1-.LSTARTCODE
+- .uleb128 0
+- .uleb128 .LcleanupSTART2-.LSTARTCODE
+- .uleb128 .LcleanupEND2-.LcleanupSTART2
+- .uleb128 __condvar_cleanup1-.LSTARTCODE
+- .uleb128 0
++ .uleb128 0
+ .uleb128 .LcallUR-.LSTARTCODE
+ .uleb128 .LENDCODE-.LcallUR
+ .uleb128 0
+- .uleb128 0
++ .uleb128 0
+ .Lcstend:
+
+
+Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.orig
+Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.rej
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..9b08c3f43
--- /dev/null
+++ b/multilib-testing/lib32-glibc/lib32-glibc.conf
@@ -0,0 +1 @@
+/usr/lib32
diff --git a/multilib-testing/lib32-gtk2/PKGBUILD b/multilib-testing/lib32-gtk2/PKGBUILD
new file mode 100644
index 000000000..c941bab84
--- /dev/null
+++ b/multilib-testing/lib32-gtk2/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 62107 2012-01-16 01:55:04Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi>
+
+_pkgbasename=gtk2
+pkgname=lib32-$_pkgbasename
+pkgver=2.24.8
+pkgrel=2
+pkgdesc="The GTK+ Toolkit (v2) (32-bit)"
+arch=('x86_64')
+url="http://www.gtk.org/"
+install=gtk2.install
+depends=(lib32-{'atk>=1.30.0','pango>=1.28.0','cairo>=1.10.0','gdk-pixbuf2>=2.22.1'}
+ lib32-lib{'cups>=1.4.4',xcursor,'xrandr>=1.3','xi>=1.3',xinerama,xcomposite,xdamage}
+ $_pkgbasename)
+makedepends=('pkgconfig' 'gcc-multilib')
+options=('!libtool' '!docs')
+license=('LGPL')
+source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${pkgver}.tar.xz
+ xid-collision-debug.patch
+ gtk-modules-32.patch)
+sha256sums=('8a3b29f667933cf52eea2db7b066723edbc80443ca9c75b7cd7cbe8c8b90b93c'
+ 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558'
+ '2effb13404442ae266d4c663347e88cd1ca19e9a83b452da1743bac16af9c7b0')
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd "${srcdir}/gtk+-${pkgver}"
+ patch -Np1 -i "${srcdir}/xid-collision-debug.patch"
+ patch -p1 -i ${srcdir}/gtk-modules-32.patch
+
+ CXX=/bin/false ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libdir=/usr/lib32 \
+ --with-xinput=yes
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package() {
+ cd "${srcdir}/gtk+-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ rm -rf "${pkgdir}"/etc
+ rm -rf "${pkgdir}"/usr/{include,share}
+
+ cd "${pkgdir}"/usr/bin
+ mv gtk-query-immodules-2.0 gtk-query-immodules-2.0-32
+ rm -f gtk-builder-convert gtk-demo gtk-update-icon-cache
+}
diff --git a/multilib-testing/lib32-gtk2/gtk-modules-32.patch b/multilib-testing/lib32-gtk2/gtk-modules-32.patch
new file mode 100644
index 000000000..a2530c3bf
--- /dev/null
+++ b/multilib-testing/lib32-gtk2/gtk-modules-32.patch
@@ -0,0 +1,12 @@
+diff -ur gtk+-2.20.1/gtk/gtkrc.c gtk+-2.20.1-32/gtk/gtkrc.c
+--- gtk+-2.20.1/gtk/gtkrc.c 2010-05-03 01:28:21.000000000 +0200
++++ gtk+-2.20.1-32/gtk/gtkrc.c 2010-08-26 07:22:42.316920033 +0200
+@@ -450,7 +450,7 @@
+ if (im_module_file)
+ result = g_strdup (im_module_file);
+ else
+- result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
++ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules-32", NULL);
+ }
+
+ return result;
diff --git a/multilib-testing/lib32-gtk2/gtk2.install b/multilib-testing/lib32-gtk2/gtk2.install
new file mode 100644
index 000000000..49f86f550
--- /dev/null
+++ b/multilib-testing/lib32-gtk2/gtk2.install
@@ -0,0 +1,16 @@
+post_install() {
+ GTK_PATH=/usr/lib32/gtk-2.0 usr/bin/gtk-query-immodules-2.0-32 > etc/gtk-2.0/gtk.immodules-32
+}
+
+pre_upgrade() {
+ pre_remove
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ rm -f etc/gtk-2.0/gtk.immodules-32 &>/dev/null
+ rm -f etc/gtk-2.0/gdk-pixbuf.loaders-32 &>/dev/null
+}
diff --git a/multilib-testing/lib32-gtk2/xid-collision-debug.patch b/multilib-testing/lib32-gtk2/xid-collision-debug.patch
new file mode 100644
index 000000000..d61238c3b
--- /dev/null
+++ b/multilib-testing/lib32-gtk2/xid-collision-debug.patch
@@ -0,0 +1,15 @@
+--- gtk+-2.18.3/gdk/x11/gdkxid.c 2009-06-19 04:59:18.000000000 +0200
++++ gtk+-2.18.3/gdk/x11/gdkxid.c.new 2009-07-22 11:30:12.000000000 +0200
+@@ -56,10 +56,10 @@
+ if (!display_x11->xid_ht)
+ display_x11->xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash,
+ (GEqualFunc) gdk_xid_equal);
+-
++/*
+ if (g_hash_table_lookup (display_x11->xid_ht, xid))
+ g_warning ("XID collision, trouble ahead");
+-
++*/
+ g_hash_table_insert (display_x11->xid_ht, xid, data);
+ }
+
diff --git a/multilib-testing/lib32-pango/PKGBUILD b/multilib-testing/lib32-pango/PKGBUILD
new file mode 100644
index 000000000..e0c677b12
--- /dev/null
+++ b/multilib-testing/lib32-pango/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 62109 2012-01-16 01:55:13Z heftig $
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi>
+# Maintainer: Biru Ionut <ionut@archlinux.ro>
+_pkgbasename=pango
+pkgname=lib32-$_pkgbasename
+pkgver=1.29.4
+pkgrel=2
+pkgdesc="A library for layout and rendering of text (32-bit)"
+arch=('x86_64')
+license=('LGPL')
+depends=('lib32-glib2>=2.25.15' 'lib32-cairo>=1.10.0' 'lib32-libxft>=2.1.14'
+ 'lib32-freetype2>=2.4.2' $_pkgbasename)
+makedepends=("gcc-multilib")
+options=('!libtool' '!emptydirs')
+install=pango.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${_pkgbasename}/1.29/${_pkgbasename}-${pkgver}.tar.xz
+ pango-modules-conffile.patch)
+url="http://www.pango.org/"
+sha256sums=('7ae8d1953e6098a2706df58c1f84555c06ace7006bb34c0e54ab9acd98c1127f'
+ '4a178b60dd420ae53baeabbecfaaeca4070a4b777b2b3f36d137cd70b5a270c3')
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ patch -p0 < ${srcdir}/pango-modules-conffile.patch
+ # No libthai support yet
+ ./configure --prefix=/usr --libdir=/usr/lib32 --sysconfdir=/etc \
+ --localstatedir=/var --with-included-modules=basic-fc \
+ --with-dynamic-modules=arabic-fc,arabic-lang,basic-fc,basic-win32,basic-x,basic-atsui,hangul-fc,hebrew-fc,indic-fc,indic-lang,khmer-fc,syriac-fc,tibetan-fc \
+ --disable-introspection
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ rm -rf "$pkgdir"/etc
+ rm -rf "$pkgdir"/usr/{bin/pango-view,share,include}
+ mv "$pkgdir"/usr/bin/pango-querymodules "$pkgdir"/usr/bin/pango-querymodules-32
+}
diff --git a/multilib-testing/lib32-pango/pango-modules-conffile.patch b/multilib-testing/lib32-pango/pango-modules-conffile.patch
new file mode 100644
index 000000000..a959cf1c8
--- /dev/null
+++ b/multilib-testing/lib32-pango/pango-modules-conffile.patch
@@ -0,0 +1,20 @@
+--- pango/modules.c.orig 2010-08-26 06:45:49.329259966 +0200
++++ pango/modules.c 2010-08-26 06:46:13.786685177 +0200
+@@ -529,7 +529,7 @@
+
+ if (!file_str)
+ file_str = g_build_filename (pango_get_sysconf_subdirectory (),
+- "pango.modules",
++ "pango.modules-32",
+ NULL);
+
+ files = pango_split_file_list (file_str);
+@@ -640,7 +640,7 @@
+ if (!no_module_warning)
+ {
+ gchar *filename = g_build_filename (pango_get_sysconf_subdirectory (),
+- "pango.modules",
++ "pango.modules-32",
+ NULL);
+ g_critical ("No modules found:\n"
+ "No builtin or dynamically loaded modules were found.\n"
diff --git a/multilib-testing/lib32-pango/pango.install b/multilib-testing/lib32-pango/pango.install
new file mode 100644
index 000000000..173b6820f
--- /dev/null
+++ b/multilib-testing/lib32-pango/pango.install
@@ -0,0 +1,21 @@
+# arg 1: the new package version
+post_install() {
+ # we need to ldconfig first, in case xfree86's libs aren't
+ # in ld.so.cache yet
+ sbin/ldconfig -r .
+ usr/bin/pango-querymodules-32 >etc/pango/pango.modules-32
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ -f etc/pango/pango.modules-32 ]; then
+ rm etc/pango/pango.modules-32
+ fi
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ rm etc/pango/pango.modules-32
+}
diff --git a/multilib-testing/libtool-multilib/PKGBUILD b/multilib-testing/libtool-multilib/PKGBUILD
new file mode 100644
index 000000000..54b26abc4
--- /dev/null
+++ b/multilib-testing/libtool-multilib/PKGBUILD
@@ -0,0 +1,73 @@
+# $Id: PKGBUILD 62110 2012-01-16 01:55:19Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+# NOTE: requires rebuild with each new gcc version
+
+pkgbase=libtool-multilib
+pkgname=(libtool-multilib lib32-libltdl)
+pkgver=2.4.2
+pkgrel=2.1
+pkgdesc="A generic library support script for multilib"
+arch=('x86_64')
+url="http://www.gnu.org/software/libtool"
+license=('GPL')
+_gccver=4.6.2
+makedepends=("gcc-multilib=$_gccver")
+options=('!libtool')
+source=(ftp://ftp.gnu.org/pub/gnu/libtool/libtool-${pkgver}.tar.xz{,.sig})
+md5sums=('2ec8997e0c07249eb4cbd072417d70fe'
+ '1e6ba57420c82c663c85e745d11c7eed')
+
+build() {
+ cd "$srcdir"
+
+ rm -rf libtool-64 libtool-32
+ mv libtool-$pkgver libtool-64
+ cp -a libtool-64 libtool-32
+
+ msg2 "Building libtool-64..."
+ cd "$srcdir/libtool-64"
+ ./configure --prefix=/usr
+ make
+
+ msg2 "Building libtool-32..."
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+
+ cd "$srcdir/libtool-32"
+ ./configure --prefix=/usr --libdir=/usr/lib32
+ make
+}
+
+check() {
+ cd "$srcdir/libtool-64"
+ make check
+ cd "$srcdir/libtool-32"
+ make check
+}
+
+package_libtool-multilib() {
+ depends=('sh' "libltdl=$pkgver" 'tar' "gcc-multilib=$_gccver" "lib32-libltdl=$pkgver")
+ groups=('multilib-devel')
+ install=libtool.install
+ provides=("libtool=$pkgver-$pkgrel")
+ conflicts=(libtool)
+
+ cd "$srcdir/libtool-64"
+ make DESTDIR=${pkgdir} install-binSCRIPTS install-man install-info \
+ install-data-local
+ rm -rf ${pkgdir}/usr/share/libtool/libltdl/
+}
+
+package_lib32-libltdl() {
+ pkgdesc="A system independent dlopen wrapper for GNU libtool (32-bit)"
+ depends=(lib32-glibc libltdl)
+ replaces=(lib32-libtool)
+ provides=("lib32-libtool=$pkgver-$pkgrel")
+ conflicts=(lib32-libtool)
+
+ cd "$srcdir/libtool-32"
+ make DESTDIR="$pkgdir" install-libLTLIBRARIES
+}
diff --git a/multilib-testing/libtool-multilib/libtool.install b/multilib-testing/libtool-multilib/libtool.install
new file mode 100644
index 000000000..424c8cb88
--- /dev/null
+++ b/multilib-testing/libtool-multilib/libtool.install
@@ -0,0 +1,22 @@
+infodir=/usr/share/info
+filelist=(libtool.info libtool.info-1 libtool.info-2)
+
+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
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/multilib-testing/nspluginwrapper/PKGBUILD b/multilib-testing/nspluginwrapper/PKGBUILD
new file mode 100644
index 000000000..7e88d8712
--- /dev/null
+++ b/multilib-testing/nspluginwrapper/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 62111 2012-01-16 01:55:23Z heftig $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+pkgname=nspluginwrapper
+pkgver=1.4.4
+pkgrel=2.1
+pkgdesc="Cross-platform NPAPI compatible plugin viewer"
+arch=('i686' 'x86_64')
+url="http://nspluginwrapper.davidben.net/"
+license=('GPL')
+depends=(
+ 'curl'
+ 'libxt' 'lib32-libxt'
+ 'gcc-libs' 'lib32-gcc-libs'
+ 'gtk2' 'lib32-gtk2'
+)
+makedepends=('gcc-multilib')
+install="install"
+source=(http://nspluginwrapper.davidben.net/download/$pkgname-$pkgver.tar.gz
+ 'fix_missing_lib.patch')
+md5sums=('36f3e290fc4ce56f65ee695078961188'
+ 'd40ad2f55d9989e04e3ef0cf4326b1df')
+
+if [[ $CARCH == i686 ]]; then
+ # Strip lib32 etc. on i686
+ depends=(${depends[@]/*32-*/})
+ makedepends=(${makedepends[@]/*32-*/})
+ makedepends=(${makedepends[@]/*-multilib*/})
+ optdepends=(${optdepends[@]/*32-*/})
+fi
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -p0 -i "$srcdir/fix_missing_lib.patch"
+
+ configure_args=""
+ if [[ $CARCH == x86_64 ]]; then
+ configure_args="$configure_args --with-lib32=lib32 --with-lib64=lib"
+ fi
+
+ ./configure $configure_args
+ make -j1
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make -j1 DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/multilib-testing/nspluginwrapper/fix_missing_lib.patch b/multilib-testing/nspluginwrapper/fix_missing_lib.patch
new file mode 100644
index 000000000..f239053f1
--- /dev/null
+++ b/multilib-testing/nspluginwrapper/fix_missing_lib.patch
@@ -0,0 +1,11 @@
+--- Makefile 2012-01-15 13:25:28.922775770 +0100
++++ Makefile.new 2012-01-15 13:25:09.185815643 +0100
+@@ -142,7 +142,7 @@
+ npplayer_LDFLAGS = $(LDFLAGS)
+ npplayer_LDFLAGS += $(libpthread_LDFLAGS)
+ npplayer_LIBS = $(GTK_LIBS) $(GLIB_LIBS) $(CURL_LIBS) $(X_LIBS)
+-npplayer_LIBS += $(libpthread_LIBS) $(libsocket_LIBS)
++npplayer_LIBS += $(libpthread_LIBS) $(libsocket_LIBS) -ldl
+
+ libnoxshm_LIBRARY = libnoxshm.so
+ libnoxshm_RAWSRCS = libnoxshm.c
diff --git a/multilib-testing/nspluginwrapper/install b/multilib-testing/nspluginwrapper/install
new file mode 100644
index 000000000..78e196fdb
--- /dev/null
+++ b/multilib-testing/nspluginwrapper/install
@@ -0,0 +1,5 @@
+post_upgrade() {
+ for i in `nspluginwrapper -l | grep -v "^ "`; do
+ /usr/bin/nspluginwrapper -u "$i"
+ done
+}
diff --git a/multilib-testing/q4wine/PKGBUILD b/multilib-testing/q4wine/PKGBUILD
new file mode 100644
index 000000000..6bcafffa1
--- /dev/null
+++ b/multilib-testing/q4wine/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 62112 2012-01-16 01:55:29Z heftig $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Chris Giles <Chris.G.27 (at) Gmail.com>
+
+pkgname=q4wine
+pkgver=0.121
+pkgrel=3
+pkgdesc="A Qt4 GUI for Wine"
+arch=("i686" "x86_64")
+url="http://sourceforge.net/projects/${pkgname}/"
+license=("GPL3")
+depends=("qt" "wine" "sqlite3" "which" "icoutils")
+makedepends=("cmake")
+optdepends=("winetricks" "fuseiso")
+options=('!emptydirs')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver/_/-}.tar.bz2)
+md5sums=('2de5de62f57ba6b26247198df339d81a')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver/_/-}
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWITH_WINETRIKS=ON \
+ -DLIBS_ENTRY_PATH=/usr/lib/$pkgname .
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver/_/-}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/multilib-testing/q4wine/q4wine.desktop b/multilib-testing/q4wine/q4wine.desktop
new file mode 100644
index 000000000..2b1415848
--- /dev/null
+++ b/multilib-testing/q4wine/q4wine.desktop
@@ -0,0 +1,18 @@
+[Desktop Entry]
+Name=Q4Wine
+GenericName=A Qt4 GUI for Wine
+Comment=A Qt4 GUI for Wine
+#Version=0.1
+Type=Application
+Categories=KDE;Qt;Settings
+Terminal=false
+Encoding=UTF-8
+Icon=wine
+Exec=q4wine
+#ServiceTypes=inode/directory
+#Actions=Create;
+#X-KDE-Submenu=
+#X-KDE-Priority=TopLevel
+#X-KDE-Icon=tgz
+X-KDE-StartupNotify=true
+#X-DCOP-ServiceType=Unique
diff --git a/multilib-testing/wine/PKGBUILD b/multilib-testing/wine/PKGBUILD
new file mode 100644
index 000000000..ef3a5008f
--- /dev/null
+++ b/multilib-testing/wine/PKGBUILD
@@ -0,0 +1,145 @@
+# $Id: PKGBUILD 62113 2012-01-16 01:55:33Z heftig $
+# 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.37
+pkgrel=1.1
+
+_pkgbasever=${pkgver/rc/-rc}
+
+source=(http://ibiblio.org/pub/linux/system/emulators/$pkgname/$pkgname-$_pkgbasever.tar.bz2)
+md5sums=('4bf25be22c130765283d9953d03b65c4')
+
+pkgdesc="A compatibility layer for running Windows programs"
+url="http://www.winehq.com"
+arch=(i686 x86_64)
+license=(LGPL)
+install=wine.install
+
+depends=(
+ fontconfig lib32-fontconfig
+ mesa lib32-mesa
+ libxcursor lib32-libxcursor
+ libxrandr lib32-libxrandr
+ libxdamage lib32-libxdamage
+ libxi lib32-libxi
+ gettext lib32-gettext
+ desktop-file-utils
+)
+
+makedepends=(autoconf ncurses bison perl fontforge flex prelink
+ 'gcc>=4.5.0-2' 'gcc-multilib>=4.5.0-2'
+ giflib lib32-giflib
+ libpng lib32-libpng
+ libxinerama lib32-libxinerama
+ libxcomposite lib32-libxcomposite
+ libxmu lib32-libxmu
+ libxxf86vm lib32-libxxf86vm
+ libxml2 lib32-libxml2
+ libldap lib32-libldap
+ lcms lib32-lcms
+ mpg123 lib32-mpg123
+ openal lib32-openal
+ v4l-utils lib32-v4l-utils
+ alsa-lib lib32-alsa-lib
+ oss
+)
+
+optdepends=(
+ giflib lib32-giflib
+ libpng lib32-libpng
+ libldap lib32-libldap
+ lcms lib32-lcms
+ libxml2 lib32-libxml2
+ mpg123 lib32-mpg123
+ openal lib32-openal
+ v4l-utils lib32-v4l-utils
+ libpulse lib32-libpulse
+ alsa-plugins lib32-alsa-plugins
+ alsa-lib lib32-alsa-lib
+ oss cups
+)
+
+if [[ $CARCH == i686 ]]; then
+ # Strip lib32 etc. on i686
+ depends=(${depends[@]/*32-*/})
+ makedepends=(${makedepends[@]/*32-*/})
+ makedepends=(${makedepends[@]/*-multilib*/})
+ optdepends=(${optdepends[@]/*32-*/})
+else
+ provides=("bin32-wine=$pkgver" "wine-wow64=$pkgver")
+ conflicts=('bin32-wine' 'wine-wow64')
+ replaces=('bin32-wine')
+fi
+
+build() {
+ cd "$srcdir"
+
+ # Allow ccache to work
+ mv $pkgname-$_pkgbasever $pkgname
+
+ # Get rid of old build dirs
+ rm -rf $pkgname-{32,64}-build
+ mkdir $pkgname-32-build
+
+ # These additional CFLAGS solve FS#27662
+ export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0"
+ export CXXFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0"
+
+ if [[ $CARCH == x86_64 ]]; then
+ msg2 "Building Wine-64..."
+
+ mkdir $pkgname-64-build
+ cd "$srcdir/$pkgname-64-build"
+ ../$pkgname/configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib \
+ --with-x \
+ --enable-win64
+
+ make
+
+ _wine32opts=(
+ --libdir=/usr/lib32
+ --with-wine64="$srcdir/$pkgname-64-build"
+ )
+
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+ fi
+
+ msg2 "Building Wine-32..."
+ cd "$srcdir/$pkgname-32-build"
+ ../$pkgname/configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-x \
+ "${_wine32opts[@]}"
+
+ # These additional CFLAGS solve FS#27560
+ make CFLAGS+="-mstackrealign" CXXFLAGS+="-mstackrealign"
+}
+
+package() {
+ msg2 "Packaging Wine-32..."
+ cd "$srcdir/$pkgname-32-build"
+
+ if [[ $CARCH == i686 ]]; then
+ make prefix="$pkgdir/usr" install
+ else
+ make prefix="$pkgdir/usr" \
+ libdir="$pkgdir/usr/lib32" \
+ dlldir="$pkgdir/usr/lib32/wine" install
+
+ msg2 "Packaging Wine-64..."
+ cd "$srcdir/$pkgname-64-build"
+ make prefix="$pkgdir/usr" \
+ libdir="$pkgdir/usr/lib" \
+ dlldir="$pkgdir/usr/lib/wine" install
+ fi
+}
+
+# vim:set ts=8 sts=2 sw=2 et:
diff --git a/multilib-testing/wine/wine.install b/multilib-testing/wine/wine.install
new file mode 100644
index 000000000..0548b7ffd
--- /dev/null
+++ b/multilib-testing/wine/wine.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ #echo "This wine package is wow64 enabled. This means it can run 32bit/64bit Windows apps on x86_64."
+ #echo "If you are on x86_64, the default WINEARCH will be win64."
+ #echo "This will cause a lot of Windows applications to malfunction even if they usually work in wine."
+ #echo "Please create your ~/.wine with 'WINEARCH=win32 winecfg' if you are unsure and on x86_64."
+ #echo "See the Arch wiki on wine for more information."
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/testing/btrfs-progs/PKGBUILD b/testing/btrfs-progs/PKGBUILD
index 17bf249d7..6c96cea06 100644
--- a/testing/btrfs-progs/PKGBUILD
+++ b/testing/btrfs-progs/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 146398 2012-01-10 16:04:17Z tomegun $
+# $Id: PKGBUILD 146653 2012-01-15 12:27:09Z tpowa $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=btrfs-progs
pkgver=0.19.20120110
-pkgrel=1
+pkgrel=2
pkgdesc="btrfs filesystem utilities"
arch=(i686 x86_64)
depends=('glibc' 'e2fsprogs')
@@ -25,5 +25,7 @@ package() {
# fix manpage
mkdir -p $pkgdir/usr/share/
mv $pkgdir/usr/man $pkgdir/usr/share/man
+ mkdir -p ${pkgdir}/sbin
+ ln -sf /usr/bin/btrfs ${pkgdir}/sbin/btrfs
}
md5sums=('a3f6fbeb166f8e6b5c06833888d4ecf2')
diff --git a/testing/e2fsprogs/MIT-LICENSE b/testing/e2fsprogs/MIT-LICENSE
new file mode 100644
index 000000000..d849b28f2
--- /dev/null
+++ b/testing/e2fsprogs/MIT-LICENSE
@@ -0,0 +1,25 @@
+Copyright (c) 2003-2007 Theodore Ts'o <tytso@mit.edu>
+Copyright (c) 1997-2003 Yann Dirson <dirson@debian.org>
+Copyright (c) 2001 Alcove <http://www.alcove.com/>
+Copyright (c) 1997 Klee Dienes
+Copyright (c) 1995-1996 Michael Nonweiler <mrn20@cam.ac.uk>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject
+to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/testing/e2fsprogs/PKGBUILD b/testing/e2fsprogs/PKGBUILD
new file mode 100644
index 000000000..1f1973390
--- /dev/null
+++ b/testing/e2fsprogs/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 146651 2012-01-15 11:45:33Z ronald $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=e2fsprogs
+pkgver=1.42
+pkgrel=1
+pkgdesc="Ext2/3/4 filesystem utilities"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'MIT')
+url="http://e2fsprogs.sourceforge.net"
+groups=('base')
+depends=('sh' 'util-linux-ng')
+makedepends=('bc')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'MIT-LICENSE')
+backup=('etc/mke2fs.conf')
+install=${pkgname}.install
+sha1sums=('e69bc63bc319e4d1e4242cc278bfd442a60646e6'
+ 'f4a0d5b0cdb980e3fedd6f5e7dde0b0ffb7bbdfb')
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Remove unnecessary init.d directory
+ sed -i '/init\.d/s|^|#|' misc/Makefile.in
+
+ ./configure --prefix=/usr --with-root-prefix="" --enable-elf-shlibs \
+ --disable-fsck --disable-uuidd \
+ --disable-libuuid --disable-libblkid
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install install-libs
+
+ sed -i -e 's/^AWK=.*/AWK=awk/' "${pkgdir}/usr/bin/compile_et"
+
+ # remove references to build directory
+ sed -i -e 's#^SS_DIR=.*#SS_DIR="/usr/share/ss"#' "${pkgdir}/usr/bin/mk_cmds"
+ sed -i -e 's#^ET_DIR=.*#ET_DIR="/usr/share/et"#' "${pkgdir}/usr/bin/compile_et"
+
+ # install MIT license
+ install -Dm644 "${srcdir}/MIT-LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/MIT-LICENSE"
+}
diff --git a/testing/e2fsprogs/e2fsprogs.install b/testing/e2fsprogs/e2fsprogs.install
new file mode 100644
index 000000000..1a7fe20d7
--- /dev/null
+++ b/testing/e2fsprogs/e2fsprogs.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(libext2fs.info.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $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 $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/e2fsprogs/mke2fs.conf b/testing/e2fsprogs/mke2fs.conf
new file mode 100644
index 000000000..92464e3b4
--- /dev/null
+++ b/testing/e2fsprogs/mke2fs.conf
@@ -0,0 +1,26 @@
+[defaults]
+ base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
+ blocksize = 4096
+ inode_size = 128
+ inode_ratio = 16384
+
+[fs_types]
+ small = {
+ blocksize = 1024
+ inode_size = 128
+ inode_ratio = 4096
+ }
+ floppy = {
+ blocksize = 1024
+ inode_size = 128
+ inode_ratio = 8192
+ }
+ news = {
+ inode_ratio = 4096
+ }
+ largefile = {
+ inode_ratio = 1048576
+ }
+ largefile4 = {
+ inode_ratio = 4194304
+ }
diff --git a/testing/fontforge/PKGBUILD b/testing/fontforge/PKGBUILD
new file mode 100644
index 000000000..aa91464c1
--- /dev/null
+++ b/testing/fontforge/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 146646 2012-01-15 10:19:07Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=fontforge
+pkgver=20111214
+pkgrel=3
+pkgdesc='Outline and bitmap font editor'
+arch=('i686' 'x86_64')
+url='http://fontforge.sourceforge.net/'
+license=('BSD')
+depends=('libxkbui' 'libxi' 'libxml2' 'pango' 'giflib' 'libtiff' 'python2' 'libspiro')
+options=('!libtool' '!makeflags')
+source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz")
+sha1sums=('55c3f00c0b486492ba071fc479e1feb426562e2b')
+
+# git clone git://fontforge.git.sourceforge.net/gitroot/fontforge/fontforge; cd fontforge; git archive --prefix=${pkgname}-${pkgver}/ master | xz > ../${pkgname}-${pkgver}.tar.xz
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's/python /python2 /g' Makefile.dynamic.in
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --enable-type3 \
+ --enable-devicetables \
+ --enable-double \
+ --with-regular-link \
+ --with-python=python2 \
+ --enable-pyextension \
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/testing/systemd/PKGBUILD b/testing/systemd/PKGBUILD
index 1dea4b12a..f1cfcbd5f 100644
--- a/testing/systemd/PKGBUILD
+++ b/testing/systemd/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 146631 2012-01-14 21:33:48Z dreisner $
+# $Id: PKGBUILD 146660 2012-01-15 17:04:30Z dreisner $
# Maintainer: Dave Reisner <dreisner@archlinux.org>
pkgname=systemd
pkgver=38
-pkgrel=2
+pkgrel=3
pkgdesc="Session and Startup manager"
arch=('i686' 'x86_64')
url="http://www.freedesktop.org/wiki/Software/systemd"
@@ -51,7 +51,8 @@ build() {
--libexecdir=/usr/lib \
--libdir=/usr/lib \
--localstatedir=/var \
- --with-rootprefix=
+ --with-rootprefix= \
+ --with-rootlibdir=/lib
make
diff --git a/testing/systemd/systemd.install b/testing/systemd/systemd.install
index 04b29688a..4850c879e 100644
--- a/testing/systemd/systemd.install
+++ b/testing/systemd/systemd.install
@@ -1,8 +1,8 @@
#!/bin/sh
checkgroups() {
- if ! usr/bin/getent group lock >/dev/null; then
- usr/sbin/groupadd -g 54 lock
+ if ! getent group lock >/dev/null; then
+ sbin/groupadd -g 54 lock
fi
}
@@ -14,7 +14,7 @@ post_install() {
checkgroups
if [ ! -f etc/machine-id ]; then
- bin/systemd-machine-id-setup
+ systemd-machine-id-setup
fi
echo "systemd has been installed to /bin/systemd. Please ensure you append"
@@ -25,11 +25,11 @@ post_upgrade() {
checkgroups
if [ ! -f etc/machine-id ]; then
- bin/systemd-machine-id-setup
+ systemd-machine-id-setup
fi
if sd_booted; then
- bin/systemctl daemon-reexec >/dev/null
+ systemctl daemon-reexec >/dev/null
fi
newpkgver=${1%-*}
@@ -39,14 +39,14 @@ post_upgrade() {
if [ "$newpkgver" -ge 31 ] && [ "$oldpkgver" -lt 31 ]; then
# but only if systemd is running
if sd_booted; then
- bin/systemctl try-restart systemd-logind.service
+ systemctl try-restart systemd-logind.service
fi
fi
}
post_remove() {
- if usr/bin/getent group lock >/dev/null; then
- usr/sbin/groupdel lock
+ if getent group lock >/dev/null; then
+ groupdel lock
fi
}