diff options
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 } |