From 08a16f35d70b750b4db213a4bfcbacf5b3be4d74 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 16 Jan 2012 23:15:11 +0000 Subject: Mon Jan 16 23:15:10 UTC 2012 --- multilib-testing/binutils-multilib/PKGBUILD | 79 ++++++ .../binutils-multilib/binutils.install | 17 ++ multilib-testing/chuck/PKGBUILD | 41 +++ multilib-testing/dev86/PKGBUILD | 52 ++++ multilib-testing/dev86/dev86-0.16.17-fortify.patch | 43 +++ multilib-testing/dev86/dev86-pic.patch | 20 ++ multilib-testing/gcc-multilib/PKGBUILD | 303 +++++++++++++++++++++ multilib-testing/gcc-multilib/gcc-ada.install | 20 ++ multilib-testing/gcc-multilib/gcc-fortran.install | 16 ++ multilib-testing/gcc-multilib/gcc-go.install | 20 ++ .../gcc-multilib/gcc-hash-style-both.patch | 122 +++++++++ multilib-testing/gcc-multilib/gcc-libs.install | 16 ++ multilib-testing/gcc-multilib/gcc.install | 20 ++ .../gcc-multilib/gcc_pure64-multilib.patch | 24 ++ .../jack2-multilib/40-hpet-permissions.rules | 2 + multilib-testing/jack2-multilib/99-audio.conf | 2 + multilib-testing/jack2-multilib/PKGBUILD | 143 ++++++++++ multilib-testing/lib32-gdk-pixbuf2/PKGBUILD | 45 +++ .../lib32-gdk-pixbuf2/gdk-pixbuf2.install | 11 + multilib-testing/lib32-glib2/PKGBUILD | 40 +++ multilib-testing/lib32-glibc/PKGBUILD | 176 ++++++++++++ .../lib32-glibc/glibc-2.10-bz4781.patch | 42 +++ .../glibc-2.10-dont-build-timezone.patch | 13 + ....12.2-ignore-origin-of-privileged-program.patch | 26 ++ .../lib32-glibc/glibc-2.14-libdl-crash.patch | 132 +++++++++ .../glibc-2.14-reexport-rpc-interface.patch | 26 ++ .../glibc-2.14-reinstall-nis-rpc-headers.patch | 28 ++ .../lib32-glibc/glibc-2.14-revert-4768ae77.patch | 37 +++ .../lib32-glibc/glibc-2.15-lddebug-scopes.patch | 27 ++ .../lib32-glibc/glibc-2.15-math64crash.patch | 184 +++++++++++++ .../lib32-glibc/glibc-2.15-revert-c5a0802a.patch | 229 ++++++++++++++++ multilib-testing/lib32-glibc/glibc-__i686.patch | 13 + multilib-testing/lib32-glibc/lib32-glibc.conf | 1 + multilib-testing/lib32-gtk2/PKGBUILD | 57 ++++ multilib-testing/lib32-gtk2/gtk-modules-32.patch | 12 + multilib-testing/lib32-gtk2/gtk2.install | 16 ++ .../lib32-gtk2/xid-collision-debug.patch | 15 + multilib-testing/lib32-pango/PKGBUILD | 44 +++ .../lib32-pango/pango-modules-conffile.patch | 20 ++ multilib-testing/lib32-pango/pango.install | 21 ++ multilib-testing/libtool-multilib/PKGBUILD | 73 +++++ multilib-testing/libtool-multilib/libtool.install | 22 ++ multilib-testing/nspluginwrapper/PKGBUILD | 51 ++++ .../nspluginwrapper/fix_missing_lib.patch | 11 + multilib-testing/nspluginwrapper/install | 5 + multilib-testing/q4wine/PKGBUILD | 31 +++ multilib-testing/q4wine/q4wine.desktop | 18 ++ multilib-testing/wine/PKGBUILD | 145 ++++++++++ multilib-testing/wine/wine.install | 12 + 49 files changed, 2523 insertions(+) create mode 100644 multilib-testing/binutils-multilib/PKGBUILD create mode 100644 multilib-testing/binutils-multilib/binutils.install create mode 100644 multilib-testing/chuck/PKGBUILD create mode 100644 multilib-testing/dev86/PKGBUILD create mode 100644 multilib-testing/dev86/dev86-0.16.17-fortify.patch create mode 100644 multilib-testing/dev86/dev86-pic.patch create mode 100644 multilib-testing/gcc-multilib/PKGBUILD create mode 100644 multilib-testing/gcc-multilib/gcc-ada.install create mode 100644 multilib-testing/gcc-multilib/gcc-fortran.install create mode 100644 multilib-testing/gcc-multilib/gcc-go.install create mode 100644 multilib-testing/gcc-multilib/gcc-hash-style-both.patch create mode 100644 multilib-testing/gcc-multilib/gcc-libs.install create mode 100644 multilib-testing/gcc-multilib/gcc.install create mode 100644 multilib-testing/gcc-multilib/gcc_pure64-multilib.patch create mode 100644 multilib-testing/jack2-multilib/40-hpet-permissions.rules create mode 100644 multilib-testing/jack2-multilib/99-audio.conf create mode 100644 multilib-testing/jack2-multilib/PKGBUILD create mode 100644 multilib-testing/lib32-gdk-pixbuf2/PKGBUILD create mode 100644 multilib-testing/lib32-gdk-pixbuf2/gdk-pixbuf2.install create mode 100644 multilib-testing/lib32-glib2/PKGBUILD create mode 100644 multilib-testing/lib32-glibc/PKGBUILD create mode 100644 multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.14-revert-4768ae77.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.15-lddebug-scopes.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.15-math64crash.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch create mode 100644 multilib-testing/lib32-glibc/glibc-__i686.patch create mode 100644 multilib-testing/lib32-glibc/lib32-glibc.conf create mode 100644 multilib-testing/lib32-gtk2/PKGBUILD create mode 100644 multilib-testing/lib32-gtk2/gtk-modules-32.patch create mode 100644 multilib-testing/lib32-gtk2/gtk2.install create mode 100644 multilib-testing/lib32-gtk2/xid-collision-debug.patch create mode 100644 multilib-testing/lib32-pango/PKGBUILD create mode 100644 multilib-testing/lib32-pango/pango-modules-conffile.patch create mode 100644 multilib-testing/lib32-pango/pango.install create mode 100644 multilib-testing/libtool-multilib/PKGBUILD create mode 100644 multilib-testing/libtool-multilib/libtool.install create mode 100644 multilib-testing/nspluginwrapper/PKGBUILD create mode 100644 multilib-testing/nspluginwrapper/fix_missing_lib.patch create mode 100644 multilib-testing/nspluginwrapper/install create mode 100644 multilib-testing/q4wine/PKGBUILD create mode 100644 multilib-testing/q4wine/q4wine.desktop create mode 100644 multilib-testing/wine/PKGBUILD create mode 100644 multilib-testing/wine/wine.install (limited to 'multilib-testing') 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 +# Contributor: Allan McRae + +# 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 +# Contributor: SpepS +# Contributor: Jeff Mickey +# Contributor: tardo + +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 +# Maintainer: Alessio 'mOLOk' Bolognino +# Contributor: Suat SARIALP + +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 + #ifndef MSDOS ++#include + #include + #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 +# Contributor: Allan McRae + +# 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 +# Contributor: SpepS + +# 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 +_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 +# Contributor: Pierre Schmitz +# Contributor: Mikko Seppälä + +_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 +# Contributor: Jan de Groot +# Contributor: Allan McRae + +# 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 +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 +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 +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 +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 , 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 +-#include +- +- +-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 +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 , 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 +-#include +- +- +-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 +-# include +-# 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 +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 +-# include +- +-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 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 + #include + #include +-#include + + #include + +@@ -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 +# Contributor: Mikko Seppälä + +_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 +# Contributor: Mikko Seppälä +# Maintainer: Biru Ionut +_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 +# Contributor: Allan McRae +# Contributor: judd + +# 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 +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 +# Contributor: Chris Giles + +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 +# Contributor: Jan "heftig" Steffens +# Contributor: Eduardo Romero +# Contributor: Giovanni Scafora + +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 +} -- cgit v1.2.3-54-g00ecf From 3e2075427791725d8e6a007feba107d94c017caf Mon Sep 17 00:00:00 2001 From: root Date: Wed, 18 Jan 2012 23:14:59 +0000 Subject: Wed Jan 18 23:14:59 UTC 2012 --- community/cdfs/PKGBUILD | 4 +- community/cdfs/cdfs.install | 9 +- community/converseen/PKGBUILD | 8 +- community/minidlna/PKGBUILD | 6 +- community/minidlna/minidlna.rc | 51 +- community/open-vm-tools-modules/PKGBUILD | 5 +- .../open-vm-tools-modules.install | 13 +- community/quagga/PKGBUILD | 4 +- community/quagga/quagga.install | 20 +- extra/audacity/PKGBUILD | 8 +- extra/audacity/audacity-1.3.13-ffmpeg.patch | 568 +++++++++++++++------ extra/colord/PKGBUILD | 13 +- extra/oxygen-gtk2/PKGBUILD | 32 ++ extra/oxygen-gtk3/PKGBUILD | 29 ++ extra/perl-dbd-mysql/PKGBUILD | 4 +- extra/wipe/PKGBUILD | 28 +- extra/xf86-input-wacom/PKGBUILD | 8 +- multilib-testing/lib32-libxcb/PKGBUILD | 41 ++ .../lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch | 12 + testing/libxcb/PKGBUILD | 32 ++ testing/libxcb/libxcb-1.1-no-pthread-stubs.patch | 12 + testing/sqlite3/PKGBUILD | 88 ++++ testing/sqlite3/license.txt | 33 ++ 23 files changed, 788 insertions(+), 240 deletions(-) create mode 100644 extra/oxygen-gtk2/PKGBUILD create mode 100644 extra/oxygen-gtk3/PKGBUILD create mode 100644 multilib-testing/lib32-libxcb/PKGBUILD create mode 100644 multilib-testing/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch create mode 100644 testing/libxcb/PKGBUILD create mode 100644 testing/libxcb/libxcb-1.1-no-pthread-stubs.patch create mode 100644 testing/sqlite3/PKGBUILD create mode 100644 testing/sqlite3/license.txt (limited to 'multilib-testing') diff --git a/community/cdfs/PKGBUILD b/community/cdfs/PKGBUILD index aa7b0a90d..b8797505e 100644 --- a/community/cdfs/PKGBUILD +++ b/community/cdfs/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 58212 2011-11-08 22:41:05Z ibiru $ +# $Id: PKGBUILD 62176 2012-01-17 14:45:33Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: J. Santiago Hirschfeld pkgname=cdfs pkgver=2.6.27 -pkgrel=17 +pkgrel=18 pkgdesc="File system module that 'exports' all tracks and boot images on a CD as normal files." arch=(i686 x86_64) url="http://www.elis.UGent.be/~ronsse/cdfs/" diff --git a/community/cdfs/cdfs.install b/community/cdfs/cdfs.install index 3693d60ed..d20b4c664 100644 --- a/community/cdfs/cdfs.install +++ b/community/cdfs/cdfs.install @@ -1,11 +1,14 @@ post_install() { - /sbin/depmod -a + EXTRAMODULES='extramodules-3.1-ARCH' + depmod $(cat /lib/modules/$EXTRAMODULES/version) } post_upgrade() { - /sbin/depmod -a + EXTRAMODULES='extramodules-3.1-ARCH' + depmod $(cat /lib/modules/$EXTRAMODULES/version) } post_remove() { - /sbin/depmod -a + EXTRAMODULES='extramodules-3.1-ARCH' + depmod $(cat /lib/modules/$EXTRAMODULES/version) } diff --git a/community/converseen/PKGBUILD b/community/converseen/PKGBUILD index bb0935d2c..be3e3c257 100644 --- a/community/converseen/PKGBUILD +++ b/community/converseen/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 61388 2011-12-30 00:12:01Z giovanni $ +# $Id: PKGBUILD 62171 2012-01-17 08:26:12Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: archtux pkgname=converseen -pkgver=0.4.7 -pkgrel=2 +pkgver=0.4.8 +pkgrel=1 pkgdesc="The batch image converter and resizer" arch=('i686' 'x86_64') url="http://converseen.sourceforge.net/" @@ -13,7 +13,7 @@ depends=('imagemagick' 'qt' 'libwmf' 'openexr') makedepends=('cmake') install=converseen.install source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2") -md5sums=('d21cb571b268ddf4bcdc395d01c0dc49') +md5sums=('65cdb89445a3063b9c8362b411d3e3ef') build() { cd "${srcdir}" diff --git a/community/minidlna/PKGBUILD b/community/minidlna/PKGBUILD index a346dceac..f504cd36b 100644 --- a/community/minidlna/PKGBUILD +++ b/community/minidlna/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 58407 2011-11-12 17:17:53Z ibiru $ +# $Id: PKGBUILD 62167 2012-01-17 08:00:28Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer:Biginoz < biginoz AT free point fr> # Contributor: Ignacio Galmarino @@ -6,7 +6,7 @@ pkgname=minidlna pkgver=1.0.22 -pkgrel=4 +pkgrel=5 pkgdesc="A DLNA/UPnP-AV Media server (aka ReadyDLNA)" arch=('i686' 'x86_64') url="http://sourceforge.net/projects/minidlna/" @@ -19,7 +19,7 @@ changelog=changelog source=(http://downloads.sourceforge.net/minidlna/minidlna_${pkgver}_src.tar.gz minidlna.rc) md5sums=('3de2f6b54f43bb998dfad3c8fa75cef3' - '8b064a6c344a3ad8029e2619dfe07b77') + 'b64b8b749f1c23b3f1a2ee6d6ded07fd') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/minidlna/minidlna.rc b/community/minidlna/minidlna.rc index df44a549f..6e6f88f35 100755 --- a/community/minidlna/minidlna.rc +++ b/community/minidlna/minidlna.rc @@ -2,46 +2,65 @@ . /etc/rc.conf . /etc/rc.d/functions -. /etc/minidlna.conf . /etc/conf.d/minidlna -PID=`pidof -o %PPID /usr/sbin/minidlna` +daemon_name=minidlna + +get_pid() { + pidof -o %PPID /usr/sbin/minidlna +} case "$1" in start) stat_busy "Starting minidlna" - [ -z "$PID" ] && su -s /bin/sh -l -c /usr/sbin/minidlna - $MINIDLNA_USER - if [ $? -gt 0 ]; then - stat_fail + PID=$(get_pid) + if [[ -z "$PID" ]]; then + rm -f /var/run/$daemon_name.pid + touch /var/run/$daemon_name.pid && chown $MINIDLNA_USER:$MINIDLNA_USER /var/run/$daemon_name.pid + su -s /bin/sh -l -c /usr/sbin/minidlna - $MINIDLNA_USER + if [[ $? -gt 0 ]]; then + stat_fail + exit 1 + else + add_daemon $daemon_name + stat_done + fi else - add_daemon minidlna - stat_done + stat_fail + exit 1 fi ;; + stop) stat_busy "Stopping minidlna" - [ ! -z "$PID" ] && kill $PID &> /dev/null + PID=$(get_pid) + [[ -n $PID ]] && kill $PID &> /dev/null if [ $? -gt 0 ]; then stat_fail + exit 1 else + rm -f /var/run/$daemon_name.pid &> /dev/null rm_daemon minidlna stat_done fi ;; + clean) - $0 stop - sleep 1 - stat_busy "Cleaning minidlna cache" - [ -z $db_dir ] || rm -r $db_dir/* - stat_done - sleep 1 - $0 start - ;; + $0 stop + sleep 1 + stat_busy "Cleaning minidlna cache" + [ -z $db_dir ] || rm -r $db_dir/* + stat_done + sleep 1 + $0 start + ;; + restart) $0 stop sleep 1 $0 start ;; + *) echo "usage: $0 {start|stop|restart|clean}" esac diff --git a/community/open-vm-tools-modules/PKGBUILD b/community/open-vm-tools-modules/PKGBUILD index 09c8dee1f..4807e3623 100644 --- a/community/open-vm-tools-modules/PKGBUILD +++ b/community/open-vm-tools-modules/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 61571 2012-01-03 12:07:32Z spupykin $ +# $Id: PKGBUILD 62178 2012-01-17 14:46:25Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: Krzysztof Raczkowski pkgname=open-vm-tools-modules pkgver=2011.12.20 _pkgsubver=562307 -pkgrel=1 +pkgrel=2 pkgdesc="kernel modules for the open source implementation of VMware Tools" arch=('i686' 'x86_64') url="http://open-vm-tools.sourceforge.net/" @@ -43,7 +43,6 @@ package() { for MOD in `find -type f -name '*.ko'`; do install -Dm644 $MOD $pkgdir/lib/modules/extramodules-3.${_kernver}-ARCH/ done - sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='$KERNEL_VERSION'/" $startdir/$pkgname.install gzip $pkgdir/lib/modules/extramodules-3.${_kernver}-ARCH/*.ko install -D -m 644 ${srcdir}/modprobe.conf ${pkgdir}/etc/modprobe.d/${pkgname}.conf diff --git a/community/open-vm-tools-modules/open-vm-tools-modules.install b/community/open-vm-tools-modules/open-vm-tools-modules.install index 187dfb1bb..ba2f9ddc2 100644 --- a/community/open-vm-tools-modules/open-vm-tools-modules.install +++ b/community/open-vm-tools-modules/open-vm-tools-modules.install @@ -1,8 +1,6 @@ -KERNEL_VERSION='3.1.0-4-ARCH' - post_install() { - depmod -a -v $KERNEL_VERSION > /dev/null 2>&1 - + EXTRAMODULES='extramodules-3.1-ARCH' + depmod $(cat /lib/modules/$EXTRAMODULES/version) echo ">>> Enabling vmxnet driver in /etc/modprobe.d/open-vm-tools-modules.conf" echo ">>> (this will disable pcnet32 driver)" echo ">>>" @@ -12,12 +10,13 @@ post_install() { } post_upgrade() { - depmod -a -v $KERNEL_VERSION > /dev/null 2>&1 + EXTRAMODULES='extramodules-3.1-ARCH' + depmod $(cat /lib/modules/$EXTRAMODULES/version) } post_remove() { - depmod -a -v $KERNEL_VERSION > /dev/null 2>&1 - + EXTRAMODULES='extramodules-3.1-ARCH' + depmod $(cat /lib/modules/$EXTRAMODULES/version) echo ">>>" echo ">>> Remember to un-blacklist pcnet32 driver" echo ">>>" diff --git a/community/quagga/PKGBUILD b/community/quagga/PKGBUILD index 2b9f4ec71..fdd3acd26 100644 --- a/community/quagga/PKGBUILD +++ b/community/quagga/PKGBUILD @@ -1,9 +1,9 @@ # $Id$ -# Maintainer: Sebastien Luttringer +# Maintainer: Sébastien Luttringer pkgname=quagga pkgver=0.99.20 -pkgrel=1 +pkgrel=2 pkgdesc='BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite' arch=('i686' 'x86_64') url='http://www.quagga.net' diff --git a/community/quagga/quagga.install b/community/quagga/quagga.install index 058f4f1d7..c5d88b976 100644 --- a/community/quagga/quagga.install +++ b/community/quagga/quagga.install @@ -1,22 +1,36 @@ +infodir=/usr/share/info +filelist=(quagga.info quagga.info-1 quagga.info-2) + post_install() { groupadd -r quagga useradd -MNr -s /bin/false -d /run/quagga -g quagga quagga && passwd -l quagga &>/dev/null install -d -m 750 -o quagga -g quagga /{run,etc,var/log}/quagga - : + post_upgrade +} + +post_upgrade() { + if [[ -x /usr/bin/install-info ]]; then + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done + fi } pre_remove() { for d in zebra ripd ripngd bgpd ospfd ospf6d isisd; do /etc/rc.d/$d stop &>/dev/null done - : + if [[ -x /usr/bin/install-info ]]; then + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done + fi } post_remove() { userdel quagga &>/dev/null groupdel quagga &>/dev/null rmdir /{etc,var/log}/quagga - : } # vim: ft=sh ts=2 sw=2 et: diff --git a/extra/audacity/PKGBUILD b/extra/audacity/PKGBUILD index d4415aee5..1f03ee557 100644 --- a/extra/audacity/PKGBUILD +++ b/extra/audacity/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 144994 2011-12-13 19:14:03Z eric $ +# $Id: PKGBUILD 146761 2012-01-17 05:11:17Z eric $ # Maintainer: Eric Bélanger pkgname=audacity pkgver=1.3.14 -pkgrel=1 +pkgrel=2 pkgdesc="A program that lets you manipulate digital audio waveforms" arch=('i686' 'x86_64') url="http://audacity.sourceforge.net/" @@ -15,11 +15,11 @@ install=audacity.install source=(http://audacity.googlecode.com/files/${pkgname}-minsrc-${pkgver}-beta.tar.bz2 \ audacity-1.3.13-ffmpeg.patch) sha1sums=('a0fb22a0cfbb8a72abac8bbc01b3ad8b0bb7e11e' - '26c2ad8e611705b2762a318e66312169f59cc218') + '67f209d362ece6961b154a7c62e23ac856c2fa94') build() { cd "${srcdir}/${pkgname}-src-${pkgver}-beta" - patch -p1 -i "${srcdir}/audacity-1.3.13-ffmpeg.patch" + patch -p0 -i "${srcdir}/audacity-1.3.13-ffmpeg.patch" WX_CONFIG=/usr/bin/wx-config ./configure --prefix=/usr \ --with-portaudio --with-libsamplerate \ --without-libresample --with-libmad \ diff --git a/extra/audacity/audacity-1.3.13-ffmpeg.patch b/extra/audacity/audacity-1.3.13-ffmpeg.patch index 675470913..e76d2422b 100644 --- a/extra/audacity/audacity-1.3.13-ffmpeg.patch +++ b/extra/audacity/audacity-1.3.13-ffmpeg.patch @@ -1,164 +1,404 @@ ---- audacity-src-1.3.13-beta.orig/src/export/ExportFFmpeg.cpp -+++ audacity-src-1.3.13-beta/src/export/ExportFFmpeg.cpp -@@ -352,7 +352,7 @@ - avcodec_get_context_defaults(mEncAudioCodecCtx); - - mEncAudioCodecCtx->codec_id = ExportFFmpegOptions::fmts[mSubFormat].codecid; -- mEncAudioCodecCtx->codec_type = CODEC_TYPE_AUDIO; -+ mEncAudioCodecCtx->codec_type = AVMEDIA_TYPE_AUDIO; - mEncAudioCodecCtx->codec_tag = av_codec_get_tag((const AVCodecTag **)mEncFormatCtx->oformat->codec_tag,mEncAudioCodecCtx->codec_id); - mSampleRate = (int)project->GetRate(); - mEncAudioCodecCtx->global_quality = -99999; //quality mode is off by default; -@@ -403,7 +403,6 @@ - mEncAudioCodecCtx->flags2 = 0; - if (gPrefs->Read(wxT("/FileFormats/FFmpegBitReservoir"),true)) mEncAudioCodecCtx->flags2 |= CODEC_FLAG2_BIT_RESERVOIR; - if (gPrefs->Read(wxT("/FileFormats/FFmpegVariableBlockLen"),true)) mEncAudioCodecCtx->flags2 |= 0x0004; //WMA only? -- mEncAudioCodecCtx->use_lpc = gPrefs->Read(wxT("/FileFormats/FFmpegUseLPC"),true); - mEncAudioCodecCtx->compression_level = gPrefs->Read(wxT("/FileFormats/FFmpegCompLevel"),-1); - mEncAudioCodecCtx->frame_size = gPrefs->Read(wxT("/FileFormats/FFmpegFrameSize"),(long)0); - mEncAudioCodecCtx->lpc_coeff_precision = gPrefs->Read(wxT("/FileFormats/FFmpegLPCCoefPrec"),(long)0); -@@ -569,7 +569,7 @@ - pkt.stream_index = mEncAudioStream->index; - pkt.data = mEncAudioEncodedBuf; - pkt.size = nEncodedBytes; -- pkt.flags |= PKT_FLAG_KEY; -+ pkt.flags |= AV_PKT_FLAG_KEY; - - // Set presentation time of frame (currently in the codec's timebase) in the stream timebase. - if(mEncAudioCodecCtx->coded_frame && mEncAudioCodecCtx->coded_frame->pts != int64_t(AV_NOPTS_VALUE)) -@@ -656,7 +656,7 @@ - - pkt.stream_index = mEncAudioStream->index; - pkt.data = mEncAudioEncodedBuf; -- pkt.flags |= PKT_FLAG_KEY; -+ pkt.flags |= AV_PKT_FLAG_KEY; - - // Write the encoded audio frame to the output file. - if ((ret = av_interleaved_write_frame(mEncFormatCtx, &pkt)) != 0) ---- audacity-src-1.3.13-beta.orig/src/export/ExportFFmpegDialogs.cpp -+++ audacity-src-1.3.13-beta/src/export/ExportFFmpegDialogs.cpp -@@ -1288,7 +1288,7 @@ - while ((codec = av_codec_next(codec))) - { - // We're only interested in audio and only in encoders -- if (codec->type == CODEC_TYPE_AUDIO && codec->encode) -+ if (codec->type == AVMEDIA_TYPE_AUDIO && codec->encode) - { - mCodecNames.Add(wxString::FromUTF8(codec->name)); - mCodecLongNames.Add(wxString::Format(wxT("%s - %s"),mCodecNames.Last().c_str(),wxString::FromUTF8(codec->long_name).c_str())); -@@ -1528,7 +1528,7 @@ - // Find the codec, that is claimed to be compatible - AVCodec *codec = avcodec_find_encoder(CompatibilityList[i].codec); - // If it exists, is audio and has encoder -- if (codec != NULL && (codec->type == CODEC_TYPE_AUDIO) && codec->encode) -+ if (codec != NULL && (codec->type == AVMEDIA_TYPE_AUDIO) && codec->encode) - { - // If it was selected - remember it's new index - if ((id >= 0) && codec->id == id) index = mShownCodecNames.GetCount(); -@@ -1543,7 +1543,7 @@ - AVCodec *codec = NULL; - while ((codec = av_codec_next(codec))) - { -- if (codec->type == CODEC_TYPE_AUDIO && codec->encode) -+ if (codec->type == AVMEDIA_TYPE_AUDIO && codec->encode) - { - if (mShownCodecNames.Index(wxString::FromUTF8(codec->name)) < 0) - { -@@ -1563,7 +1563,7 @@ - if (format != NULL) - { - AVCodec *codec = avcodec_find_encoder(format->audio_codec); -- if (codec != NULL && (codec->type == CODEC_TYPE_AUDIO) && codec->encode) -+ if (codec != NULL && (codec->type == AVMEDIA_TYPE_AUDIO) && codec->encode) - { - if ((id >= 0) && codec->id == id) index = mShownCodecNames.GetCount(); - mShownCodecNames.Add(wxString::FromUTF8(codec->name)); ---- audacity-src-1.3.13-beta.orig/src/FFmpeg.cpp -+++ audacity-src-1.3.13-beta/src/FFmpeg.cpp -@@ -316,7 +316,7 @@ - pd.buf_size = 0; - pd.buf = (unsigned char *) av_malloc(PROBE_BUF_MAX + AVPROBE_PADDING_SIZE); - if (pd.buf == NULL) { -- err = AVERROR_NOMEM; -+ err = AVERROR(ENOMEM); - goto fail; - } - -@@ -381,7 +381,7 @@ - - // Didn't find a suitable format, so bail - if (!fmt) { -- err = AVERROR_NOFMT; -+ err = AVERROR(EILSEQ); - goto fail; - } - -@@ -855,7 +855,6 @@ - FFMPEG_INITDYN(codec, avcodec_find_decoder); - FFMPEG_INITDYN(codec, avcodec_get_context_defaults); - FFMPEG_INITDYN(codec, avcodec_open); -- FFMPEG_INITDYN(codec, avcodec_decode_audio2); - FFMPEG_INITDYN(codec, avcodec_decode_audio3); - FFMPEG_INITDYN(codec, avcodec_encode_audio); - FFMPEG_INITDYN(codec, avcodec_close); ---- audacity-src-1.3.13-beta.orig/src/FFmpeg.h -+++ audacity-src-1.3.13-beta/src/FFmpeg.h -@@ -559,7 +559,11 @@ - FFMPEG_FUNCTION_WITH_RETURN( - void*, - av_fast_realloc, -+#if LIBAVUTIL_VERSION_MAJOR < 51 - (void *ptr, unsigned int *size, unsigned int min_size), -+#else -+ (void *ptr, unsigned int *size, size_t min_size), -+#endif - (ptr, size, min_size) - ); - FFMPEG_FUNCTION_WITH_RETURN( -@@ -747,7 +751,11 @@ - FFMPEG_FUNCTION_WITH_RETURN( - void*, - av_malloc, -+#if LIBAVUTIL_VERSION_MAJOR < 51 - (unsigned int size), -+#else -+ (size_t size), -+#endif - (size) - ); - FFMPEG_FUNCTION_NO_RETURN( ---- audacity-src-1.3.13-beta.orig/src/import/ImportFFmpeg.cpp -+++ audacity-src-1.3.13-beta/src/import/ImportFFmpeg.cpp -@@ -416,7 +416,7 @@ - // Fill the stream contexts - for (unsigned int i = 0; i < mFormatContext->nb_streams; i++) - { -- if (mFormatContext->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO) -+ if (mFormatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) - { - //Create a context - streamContext *sc = new streamContext; ---- audacity-src-1.3.13-beta.orig/src/ondemand/ODDecodeFFmpegTask.cpp -+++ audacity-src-1.3.13-beta/src/ondemand/ODDecodeFFmpegTask.cpp -@@ -156,7 +156,7 @@ - //test the audio stream(s) - for (unsigned int i = 0; i < ic->nb_streams; i++) - { -- if (ic->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO) -+ if (ic->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) - { - audioStreamExists = true; - st = ic->streams[i]; -@@ -573,10 +573,10 @@ - } - } - -- // avcodec_decode_audio2() expects the size of the output buffer as the 3rd parameter but -+ // avcodec_decode_audio3() expects the size of the output buffer as the 3rd parameter but - // also returns the number of bytes it decoded in the same parameter. - sc->m_decodedAudioSamplesValidSiz = sc->m_decodedAudioSamplesSiz; -- nBytesDecoded = avcodec_decode_audio2(sc->m_codecCtx, -+ nBytesDecoded = avcodec_decode_audio3(sc->m_codecCtx, - sc->m_decodedAudioSamples, // out - &sc->m_decodedAudioSamplesValidSiz, // in/out - pDecode, nDecodeSiz); // in +Index: src/FFmpeg.h +=================================================================== +--- src/FFmpeg.h (revision 11286) ++++ src/FFmpeg.h (working copy) +@@ -47,6 +47,21 @@ + #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52, 94, 1) + #define AVSampleFormat SampleFormat + #endif ++ ++ #if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(52, 120, 0) ++ #define CodecType AVMediaType ++ #define CODEC_TYPE_UNKNOWN AVMEDIA_TYPE_UNKNOWN ++ #define CODEC_TYPE_VIDEO AVMEDIA_TYPE_VIDEO ++ #define CODEC_TYPE_AUDIO AVMEDIA_TYPE_AUDIO ++ #define CODEC_TYPE_DATA AVMEDIA_TYPE_DATA ++ #define CODEC_TYPE_SUBTITLE AVMEDIA_TYPE_SUBTITLE ++ #define CODEC_TYPE_ATTACHMENT AVMEDIA_TYPE_ATTACHMENT ++ #define CODEC_TYPE_NB AVMEDIA_TYPE_NB ++ #endif ++ ++ #ifndef PKT_FLAG_KEY ++ #define PKT_FLAG_KEY AV_PKT_FLAG_KEY ++ #endif + } + #endif + +@@ -505,20 +520,23 @@ + (AVCodecContext *avctx, AVCodec *codec), + (avctx, codec); + ); ++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(52, 25, 0) + FFMPEG_FUNCTION_WITH_RETURN( + int, ++ avcodec_decode_audio3, ++ (AVCodecContext *avctx, int16_t *samples, int *frame_size_ptr, AVPacket *avpkt), ++ (avctx, samples, frame_size_ptr, avpkt) ++ ); ++#else ++ FFMPEG_FUNCTION_WITH_RETURN( ++ int, + avcodec_decode_audio2, + (AVCodecContext *avctx, int16_t *samples, int *frame_size_ptr, const uint8_t *buf, int buf_size), + (avctx, samples, frame_size_ptr, buf, buf_size) + ); ++#endif + FFMPEG_FUNCTION_WITH_RETURN( + int, +- avcodec_decode_audio3, +- (AVCodecContext *avctx, int16_t *samples, int *frame_size_ptr, AVPacket *avpkt), +- (avctx, samples, frame_size_ptr, avpkt) +- ); +- FFMPEG_FUNCTION_WITH_RETURN( +- int, + avcodec_encode_audio, + (AVCodecContext *avctx, uint8_t *buf, int buf_size, const short *samples), + (avctx, buf, buf_size, samples) +@@ -556,13 +574,22 @@ + (void), + () + ); ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(53, 0, 0) + FFMPEG_FUNCTION_WITH_RETURN( + void*, + av_fast_realloc, + (void *ptr, unsigned int *size, unsigned int min_size), + (ptr, size, min_size) + ); ++#else + FFMPEG_FUNCTION_WITH_RETURN( ++ void*, ++ av_fast_realloc, ++ (void *ptr, unsigned int *size, size_t min_size), ++ (ptr, size, min_size) ++ ); ++#endif ++ FFMPEG_FUNCTION_WITH_RETURN( + int, + av_open_input_stream, + (AVFormatContext **ic_ptr, AVIOContext *pb, const char *filename, AVInputFormat *fmt, AVFormatParameters *ap), +@@ -744,12 +771,21 @@ + (AVFifoBuffer *f), + (f) + ); ++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51, 0, 0) + FFMPEG_FUNCTION_WITH_RETURN( + void*, + av_malloc, + (unsigned int size), + (size) + ); ++#else ++ FFMPEG_FUNCTION_WITH_RETURN( ++ void*, ++ av_malloc, ++ (size_t size), ++ (size) ++ ); ++#endif + FFMPEG_FUNCTION_NO_RETURN( + av_freep, + (void *ptr), +@@ -761,11 +797,16 @@ + (int64_t a, AVRational bq, AVRational cq), + (a, bq, cq) + ); ++ ++#if LIBAVFORMAT_VERSION_INT > AV_VERSION_INT(52, 31, 0) + FFMPEG_FUNCTION_NO_RETURN( + av_free_packet, + (AVPacket *pkt), + (pkt) + ); ++#endif ++ ++#if LIBAVUTIL_VERSION_INT > AV_VERSION_INT(49, 15, 0) + FFMPEG_FUNCTION_WITH_RETURN( + AVFifoBuffer*, + av_fifo_alloc, +@@ -778,8 +819,22 @@ + (AVFifoBuffer *f, void *buf, int buf_size, void (*func)(void*, void*, int)), + (f, buf, buf_size, func) + ); ++#else + FFMPEG_FUNCTION_WITH_RETURN( + int, ++ av_fifo_init, ++ (AVFifoBuffer *f, unsigned int size), ++ (f, size) ++ ); ++ FFMPEG_FUNCTION_WITH_RETURN( ++ int, ++ av_fifo_generic_read, ++ (AVFifoBuffer *f, int buf_size, void (*func)(void*, void*, int), void* dest), ++ (f, buf_size, func, dest) ++ ); ++#endif ++ FFMPEG_FUNCTION_WITH_RETURN( ++ int, + av_fifo_realloc2, + (AVFifoBuffer *f, unsigned int size), + (f, size) +Index: src/FFmpeg.cpp +=================================================================== +--- src/FFmpeg.cpp (revision 11286) ++++ src/FFmpeg.cpp (working copy) +@@ -186,9 +186,15 @@ + return AVERROR(ENOMEM); + } + +- if (flags & URL_RDWR) { ++ // LLL: These really should be logical AND tests, but on 2011/04/28, the URL_ open flags ++ // changed in the FFmpeg source to values that were not compatible with previous ++ // values. ++ // ++ // Since Audacity doesn't use any other open flags (there aren't any others defined ++ // anyway), making equality tests works for older and new FFmpeg headers. ++ if (flags == URL_RDWR) { + mode = wxFile::read_write; +- } else if (flags & URL_WRONLY) { ++ } else if (flags == URL_WRONLY) { + mode = wxFile::write; + } else { + mode = wxFile::read; +@@ -222,6 +228,10 @@ + { + wxSeekMode mode = wxFromStart; + ++#if !defined(AVSEEK_FORCE) ++#define AVSEEK_FORCE 0 ++#endif ++ + switch (whence & ~AVSEEK_FORCE) + { + case (SEEK_SET): +@@ -316,7 +326,7 @@ + pd.buf_size = 0; + pd.buf = (unsigned char *) av_malloc(PROBE_BUF_MAX + AVPROBE_PADDING_SIZE); + if (pd.buf == NULL) { +- err = AVERROR_NOMEM; ++ err = AVERROR(ENOMEM); + goto fail; + } + +@@ -381,7 +391,7 @@ + + // Didn't find a suitable format, so bail + if (!fmt) { +- err = AVERROR_NOFMT; ++ err = AVERROR(EILSEQ); + goto fail; + } + +@@ -847,39 +857,53 @@ + FFMPEG_INITALT(avformat, av_guess_format, guess_format); + FFMPEG_INITALT(avformat, av_match_ext, match_ext); + +- FFMPEG_INITDYN(codec, av_init_packet); +- FFMPEG_INITDYN(codec, av_free_packet); +- FFMPEG_INITDYN(codec, avcodec_init); +- FFMPEG_INITDYN(codec, avcodec_find_encoder); +- FFMPEG_INITDYN(codec, avcodec_find_encoder_by_name); +- FFMPEG_INITDYN(codec, avcodec_find_decoder); +- FFMPEG_INITDYN(codec, avcodec_get_context_defaults); +- FFMPEG_INITDYN(codec, avcodec_open); +- FFMPEG_INITDYN(codec, avcodec_decode_audio2); +- FFMPEG_INITDYN(codec, avcodec_decode_audio3); +- FFMPEG_INITDYN(codec, avcodec_encode_audio); +- FFMPEG_INITDYN(codec, avcodec_close); +- FFMPEG_INITDYN(codec, avcodec_register_all); +- FFMPEG_INITDYN(codec, avcodec_version); +- FFMPEG_INITDYN(codec, av_fast_realloc); +- FFMPEG_INITDYN(codec, av_codec_next); +- FFMPEG_INITDYN(codec, av_get_bits_per_sample_format); ++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(52, 58, 0) ++ FFMPEG_INITDYN(avcodec, av_init_packet); ++#else ++ FFMPEG_INITDYN(avformat, av_init_packet); ++#endif + ++#if LIBAVFORMAT_VERSION_INT > AV_VERSION_INT(52, 31, 0) ++ FFMPEG_INITDYN(avcodec, av_free_packet); ++#endif ++ FFMPEG_INITDYN(avcodec, avcodec_init); ++ FFMPEG_INITDYN(avcodec, avcodec_find_encoder); ++ FFMPEG_INITDYN(avcodec, avcodec_find_encoder_by_name); ++ FFMPEG_INITDYN(avcodec, avcodec_find_decoder); ++ FFMPEG_INITDYN(avcodec, avcodec_get_context_defaults); ++ FFMPEG_INITDYN(avcodec, avcodec_open); ++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(52, 25, 0) ++ FFMPEG_INITDYN(avcodec, avcodec_decode_audio3); ++#else ++ FFMPEG_INITDYN(avcodec, avcodec_decode_audio2); ++#endif ++ FFMPEG_INITDYN(avcodec, avcodec_encode_audio); ++ FFMPEG_INITDYN(avcodec, avcodec_close); ++ FFMPEG_INITDYN(avcodec, avcodec_register_all); ++ FFMPEG_INITDYN(avcodec, avcodec_version); ++ FFMPEG_INITDYN(avcodec, av_fast_realloc); ++ FFMPEG_INITDYN(avcodec, av_codec_next); ++ FFMPEG_INITDYN(avcodec, av_get_bits_per_sample_format); ++ + FFMPEG_INITALT(avcodec, av_get_bits_per_sample_fmt, av_get_bits_per_sample_format); + +- FFMPEG_INITDYN(util, av_free); +- FFMPEG_INITDYN(util, av_log_set_callback); +- FFMPEG_INITDYN(util, av_log_default_callback); +- FFMPEG_INITDYN(util, av_fifo_alloc); +- FFMPEG_INITDYN(util, av_fifo_generic_read); +- FFMPEG_INITDYN(util, av_fifo_realloc2); +- FFMPEG_INITDYN(util, av_fifo_free); +- FFMPEG_INITDYN(util, av_fifo_size); +- FFMPEG_INITDYN(util, av_malloc); +- FFMPEG_INITDYN(util, av_fifo_generic_write); +- FFMPEG_INITDYN(util, av_freep); +- FFMPEG_INITDYN(util, av_rescale_q); +- FFMPEG_INITDYN(util, avutil_version); ++ FFMPEG_INITDYN(avutil, av_free); ++ FFMPEG_INITDYN(avutil, av_log_set_callback); ++ FFMPEG_INITDYN(avutil, av_log_default_callback); ++#if LIBAVUTIL_VERSION_INT > AV_VERSION_INT(49, 15, 0) ++ FFMPEG_INITDYN(avutil, av_fifo_alloc); ++#else ++ FFMPEG_INITDYN(avutil, av_fifo_init); ++#endif ++ FFMPEG_INITDYN(avutil, av_fifo_generic_read); ++ FFMPEG_INITDYN(avutil, av_fifo_realloc2); ++ FFMPEG_INITDYN(avutil, av_fifo_free); ++ FFMPEG_INITDYN(avutil, av_fifo_size); ++ FFMPEG_INITDYN(avutil, av_malloc); ++ FFMPEG_INITDYN(avutil, av_fifo_generic_write); ++ FFMPEG_INITDYN(avutil, av_freep); ++ FFMPEG_INITDYN(avutil, av_rescale_q); ++ FFMPEG_INITDYN(avutil, avutil_version); + + //FFmpeg initialization + wxLogMessage(wxT("All symbols loaded successfully. Initializing the library.")); +Index: src/import/ImportFFmpeg.cpp +=================================================================== +--- src/import/ImportFFmpeg.cpp (revision 11286) ++++ src/import/ImportFFmpeg.cpp (working copy) +@@ -808,9 +808,12 @@ + } + } + ++ ++ sc->m_decodedAudioSamplesValidSiz = sc->m_decodedAudioSamplesSiz; ++ ++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(52, 25, 0) + // avcodec_decode_audio3() expects the size of the output buffer as the 3rd parameter but + // also returns the number of bytes it decoded in the same parameter. +- sc->m_decodedAudioSamplesValidSiz = sc->m_decodedAudioSamplesSiz; + AVPacket avpkt; + av_init_packet(&avpkt); + avpkt.data = pDecode; +@@ -820,7 +823,16 @@ + (int16_t *)sc->m_decodedAudioSamples, // out + &sc->m_decodedAudioSamplesValidSiz, // in/out + &avpkt); // in +- ++#else ++ // avcodec_decode_audio2() expects the size of the output buffer as the 3rd parameter but ++ // also returns the number of bytes it decoded in the same parameter. ++ nBytesDecoded = ++ avcodec_decode_audio2(sc->m_codecCtx, ++ (int16_t *) sc->m_decodedAudioSamples, // out ++ &sc->m_decodedAudioSamplesValidSiz, // in/out ++ pDecode, // in ++ nDecodeSiz); // in ++#endif + if (nBytesDecoded < 0) + { + // Decoding failed. Don't stop. +Index: src/export/ExportFFmpeg.cpp +=================================================================== +--- src/export/ExportFFmpeg.cpp (revision 11286) ++++ src/export/ExportFFmpeg.cpp (working copy) +@@ -154,6 +154,10 @@ + AVFifoBuffer * mEncAudioFifo; // FIFO to write incoming audio samples into + uint8_t * mEncAudioFifoOutBuf; // buffer to read _out_ of the FIFO into + ++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(50, 0, 0) ++ AVFifoBuffer mEncAudioFifoBuffer; // FIFO to write incoming audio samples into ++#endif ++ + wxString mName; + + int mSubFormat; +@@ -174,6 +178,11 @@ + #define MAX_AUDIO_PACKET_SIZE (128 * 1024) + mEncAudioEncodedBufSiz = 4*MAX_AUDIO_PACKET_SIZE; + mEncAudioFifoOutBuf = NULL; // buffer to read _out_ of the FIFO into ++ ++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(50, 0, 0) ++ mEncAudioFifo = &mEncAudioFifoBuffer; ++#endif ++ + mSampleRate = 0; + mSupportsUTF8 = true; + +@@ -350,7 +359,6 @@ + mEncAudioCodecCtx = mEncAudioStream->codec; + + avcodec_get_context_defaults(mEncAudioCodecCtx); +- + mEncAudioCodecCtx->codec_id = ExportFFmpegOptions::fmts[mSubFormat].codecid; + mEncAudioCodecCtx->codec_type = CODEC_TYPE_AUDIO; + mEncAudioCodecCtx->codec_tag = av_codec_get_tag((const AVCodecTag **)mEncFormatCtx->oformat->codec_tag,mEncAudioCodecCtx->codec_id); +@@ -403,7 +411,9 @@ + mEncAudioCodecCtx->flags2 = 0; + if (gPrefs->Read(wxT("/FileFormats/FFmpegBitReservoir"),true)) mEncAudioCodecCtx->flags2 |= CODEC_FLAG2_BIT_RESERVOIR; + if (gPrefs->Read(wxT("/FileFormats/FFmpegVariableBlockLen"),true)) mEncAudioCodecCtx->flags2 |= 0x0004; //WMA only? ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(53, 0, 0) + mEncAudioCodecCtx->use_lpc = gPrefs->Read(wxT("/FileFormats/FFmpegUseLPC"),true); ++#endif + mEncAudioCodecCtx->compression_level = gPrefs->Read(wxT("/FileFormats/FFmpegCompLevel"),-1); + mEncAudioCodecCtx->frame_size = gPrefs->Read(wxT("/FileFormats/FFmpegFrameSize"),(long)0); + mEncAudioCodecCtx->lpc_coeff_precision = gPrefs->Read(wxT("/FileFormats/FFmpegLPCCoefPrec"),(long)0); +@@ -487,7 +497,11 @@ + // The encoder may require a minimum number of raw audio samples for each encoding but we can't + // guarantee we'll get this minimum each time an audio frame is decoded from the input file so + // we use a FIFO to store up incoming raw samples until we have enough for one call to the codec. ++#if LIBAVUTIL_VERSION_INT > AV_VERSION_INT(49, 15, 0) + mEncAudioFifo = av_fifo_alloc(1024); ++#else ++ av_fifo_init(mEncAudioFifo, 1024); ++#endif + + // Allocate a buffer to read OUT of the FIFO into. The FIFO maintains its own buffer internally. + if ((mEncAudioFifoOutBuf = (uint8_t*)av_malloc(2*MAX_AUDIO_PACKET_SIZE)) == NULL) +@@ -544,7 +558,11 @@ + nFifoBytes, mEncAudioCodecCtx->frame_size); + + // Pull the bytes out from the FIFO and feed them to the encoder. ++#if LIBAVUTIL_VERSION_INT > AV_VERSION_INT(49, 15, 0) + if (av_fifo_generic_read(mEncAudioFifo, mEncAudioFifoOutBuf, nFifoBytes, NULL) == 0) ++#else ++ if (av_fifo_generic_read(mEncAudioFifo, nFifoBytes, NULL, mEncAudioFifoOutBuf) == 0) ++#endif + { + if (mEncAudioCodecCtx->frame_size != 1) + nEncodedBytes = avcodec_encode_audio(mEncAudioCodecCtx, mEncAudioEncodedBuf, mEncAudioEncodedBufSiz, (int16_t*)mEncAudioFifoOutBuf); +@@ -609,7 +627,10 @@ + av_free(mEncAudioFifoOutBuf); + + av_fifo_free(mEncAudioFifo); ++ ++#if LIBAVUTIL_VERSION_INT > AV_VERSION_INT(49, 15, 0) + mEncAudioFifo = NULL; ++#endif + + return true; + } +@@ -635,7 +656,11 @@ + // Read raw audio samples out of the FIFO in nAudioFrameSizeOut byte-sized groups to encode. + while ((ret = av_fifo_size(mEncAudioFifo)) >= nAudioFrameSizeOut) + { ++#if LIBAVUTIL_VERSION_INT > AV_VERSION_INT(49, 15, 0) + ret = av_fifo_generic_read(mEncAudioFifo, mEncAudioFifoOutBuf, nAudioFrameSizeOut, NULL); ++#else ++ ret = av_fifo_generic_read(mEncAudioFifo, nAudioFrameSizeOut, NULL, mEncAudioFifoOutBuf); ++#endif + + av_init_packet(&pkt); + diff --git a/extra/colord/PKGBUILD b/extra/colord/PKGBUILD index b158cec54..873778ad0 100644 --- a/extra/colord/PKGBUILD +++ b/extra/colord/PKGBUILD @@ -1,25 +1,22 @@ -# $Id: PKGBUILD 144475 2011-12-06 14:25:28Z ibiru $ +# $Id: PKGBUILD 146778 2012-01-17 13:36:48Z ibiru $ # Maintainer: Jan "heftig" Steffens # Contributor: Ionut Biru pkgname=colord -pkgver=0.1.15 -pkgrel=3 +pkgver=0.1.16 +pkgrel=1 pkgdesc="Color daemon" arch=('i686' 'x86_64') url="http://www.freedesktop.org/software/colord" license=('GPL2') depends=('lcms2' 'libgusb' 'polkit' 'sane' 'shared-color-profiles' 'sqlite3' 'udev') makedepends=('intltool' 'gobject-introspection' 'vala' 'docbook2x') -source=($url/releases/$pkgname-$pkgver.tar.xz - scan_only_color_profile_dir.patch) +source=($url/releases/$pkgname-$pkgver.tar.xz) options=('!libtool') -sha1sums=('e83a68add3fac9c677829925794ee353743dc9c8' - 'b4b8ea1008ecfdc1084ec69d647127587a2a87f7') +sha1sums=('bd2fbad0043d2c1f55ab7ff8cb5e261b684e699c') build() { cd "$srcdir/$pkgname-$pkgver" - patch -Np1 -i "$srcdir/scan_only_color_profile_dir.patch" ./configure --prefix=/usr \ --sysconfdir=/etc --libexecdir=/usr/lib/colord \ --localstatedir=/var --disable-static diff --git a/extra/oxygen-gtk2/PKGBUILD b/extra/oxygen-gtk2/PKGBUILD new file mode 100644 index 000000000..45abe2ae6 --- /dev/null +++ b/extra/oxygen-gtk2/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 146767 2012-01-17 08:05:03Z andrea $ +# Maintainer: Andrea Scarpino +# Contributor: birdflesh + +pkgname=oxygen-gtk2 +pkgver=1.2.0 +pkgrel=1 +pkgdesc="Port of the default KDE widget theme (Oxygen) to GTK2" +arch=('i686' 'x86_64') +url='https://projects.kde.org/projects/playground/artwork/oxygen-gtk/' +license=('LGPL') +depends=('gtk2' 'dbus-glib') +conflicts=('oxygen-gtk') +replaces=('oxygen-gtk') +makedepends=('cmake') +source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +md5sums=('975dfef679436c849a649c9d5d9ae0d3') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/extra/oxygen-gtk3/PKGBUILD b/extra/oxygen-gtk3/PKGBUILD new file mode 100644 index 000000000..ef62d5108 --- /dev/null +++ b/extra/oxygen-gtk3/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 146769 2012-01-17 08:13:40Z andrea $ +# Maintainer: Andrea Scarpino + +pkgname=oxygen-gtk3 +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Port of the default KDE widget theme (Oxygen) to GTK3" +arch=('i686' 'x86_64') +url='https://projects.kde.org/projects/playground/artwork/oxygen-gtk/' +license=('LGPL') +depends=('gtk3' 'dbus-glib') +makedepends=('cmake') +source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +md5sums=('029571469ea3436d47cdac20b2069fed') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/extra/perl-dbd-mysql/PKGBUILD b/extra/perl-dbd-mysql/PKGBUILD index 25c82c7e0..5127dcbf7 100644 --- a/extra/perl-dbd-mysql/PKGBUILD +++ b/extra/perl-dbd-mysql/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 143774 2011-11-29 02:55:27Z kevin $ +# $Id: PKGBUILD 146787 2012-01-18 02:09:02Z allan $ # Maintainer: kevin # Contributor: Eric Johnson pkgname=perl-dbd-mysql _realname=DBD-mysql pkgver=4.020 -pkgrel=1 +pkgrel=2 pkgdesc="Perl/CPAN DBD::mysql module for interacting with MySQL via DBD" arch=(i686 x86_64) license=('GPL' 'PerlArtistic') diff --git a/extra/wipe/PKGBUILD b/extra/wipe/PKGBUILD index 95767e587..b876b0dca 100644 --- a/extra/wipe/PKGBUILD +++ b/extra/wipe/PKGBUILD @@ -1,28 +1,26 @@ -# $Id: PKGBUILD 103446 2010-12-19 16:53:45Z andrea $ -# Maintainer: +# $Id: PKGBUILD 146765 2012-01-17 07:13:10Z bisson $ +# Maintainer: Gaetan Bisson # Contributor: Andrea Scarpino # Contributor: Jason Chu # Contributor: Tom Newsom pkgname=wipe pkgver=2.3.1 -pkgrel=1 -pkgdesc="A file and block device wiping utility - a secure rm" -arch=('i686' 'x86_64') -url="http://wipe.sourceforge.net/" +pkgrel=2 +pkgdesc='Secure file wiping utility' +url='http://wipe.sourceforge.net/' license=('GPL') -depends=('glibc') -source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2) -md5sums=('3aed00711e0490edbec115bc283b8544') +arch=('i686' 'x86_64') +source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('72aa8bcbeb54deb676ae08af78401132860703de') build() { - cd $srcdir/$pkgname-$pkgver - ./configure --prefix=/usr \ - --mandir=/usr/share/man - make + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --mandir=/usr/share/man + make } package() { - cd $srcdir/$pkgname-$pkgver - make prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man install + cd "${srcdir}/${pkgname}-${pkgver}" + make prefix="${pkgdir}"/usr mandir="${pkgdir}"/usr/share/man install } diff --git a/extra/xf86-input-wacom/PKGBUILD b/extra/xf86-input-wacom/PKGBUILD index 4c4c8d244..559e63924 100644 --- a/extra/xf86-input-wacom/PKGBUILD +++ b/extra/xf86-input-wacom/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 142834 2011-11-16 13:12:15Z heftig $ -# Maintainer: Jan "heftig" Steffens +# $Id: PKGBUILD 146763 2012-01-17 05:32:23Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) # Contributor: Jan de Groot # Contributor: M Rawash pkgname=xf86-input-wacom -pkgver=0.12.0 +pkgver=0.13.0 pkgrel=1 pkgdesc="X.Org Wacom tablet driver" arch=('i686' 'x86_64') @@ -17,7 +17,7 @@ conflicts=('xorg-server<1.11.0') options=(!libtool) source=(http://downloads.sourceforge.net/project/linuxwacom/${pkgname}/${pkgname}-${pkgver}.tar.bz2 70-wacom.rules) -md5sums=('e1c41d143d5040982ae050c7ef9039e3' +md5sums=('4a426535989e84c4161e3607ea851654' '10db4f8272286690255c1bcc18bfdd92') build() { diff --git a/multilib-testing/lib32-libxcb/PKGBUILD b/multilib-testing/lib32-libxcb/PKGBUILD new file mode 100644 index 000000000..42d8435a5 --- /dev/null +++ b/multilib-testing/lib32-libxcb/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 62186 2012-01-17 19:44:58Z bluewind $ +# Maintainer: Alexander Baldeck +# Contributor: Jan de Groot +_pkgbasename=libxcb +pkgname=lib32-$_pkgbasename +pkgver=1.8 +pkgrel=1 +pkgdesc="X11 client-side library (32-bit)" +arch=(x86_64) +url="http://xcb.freedesktop.org/" +depends=('xcb-proto>=1.7' 'lib32-libxdmcp' 'lib32-libxau' + $_pkgbasename) +makedepends=('pkgconfig' 'libxslt' 'python2' 'gcc-multilib' + 'autoconf') +options=('!libtool') +license=('custom') +source=(${url}/dist/${_pkgbasename}-${pkgver}.tar.bz2 + libxcb-1.1-no-pthread-stubs.patch) +sha1sums=('18b76759d5bbb863777f37bf3aec23ebaa31d5be' + '3455e84642283bc91c8313af319002a20bbcbdf4') + +build() { + cd "${srcdir}/${_pkgbasename}-${pkgver}" + patch -Np1 -i "${srcdir}/libxcb-1.1-no-pthread-stubs.patch" + + export CC="gcc -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + PYTHON=/usr/bin/python2 ./autogen.sh --prefix=/usr --enable-xinput --libdir=/usr/lib32 + make +} + +package() { + cd "${srcdir}/${_pkgbasename}-${pkgver}" + make DESTDIR="${pkgdir}" install + + rm -rf "${pkgdir}"/usr/{include,share} + + mkdir -p "$pkgdir/usr/share/licenses" + ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/multilib-testing/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch b/multilib-testing/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch new file mode 100644 index 000000000..f17de1b1d --- /dev/null +++ b/multilib-testing/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch @@ -0,0 +1,12 @@ +diff -up libxcb-1.1/configure.ac.pthread-stubs libxcb-1.1/configure.ac +--- libxcb-1.1/configure.ac.pthread-stubs 2007-11-04 18:17:11.000000000 -0500 ++++ libxcb-1.1/configure.ac 2007-11-12 10:27:06.000000000 -0500 +@@ -31,7 +31,7 @@ AC_SUBST(HTML_CHECK_RESULT) + + # Checks for pkg-config packages + PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.6) +-NEEDED="pthread-stubs xau >= 0.99.2" ++NEEDED="xau >= 0.99.2" + PKG_CHECK_MODULES(NEEDED, $NEEDED) + + have_xdmcp="no" diff --git a/testing/libxcb/PKGBUILD b/testing/libxcb/PKGBUILD new file mode 100644 index 000000000..f973a828a --- /dev/null +++ b/testing/libxcb/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 146773 2012-01-17 13:02:00Z ibiru $ +# Maintainer: Jan de Groot +# Contributor: Alexander Baldeck + +pkgname=libxcb +pkgver=1.8 +pkgrel=1 +pkgdesc="X11 client-side library" +arch=(i686 x86_64) +url="http://xcb.freedesktop.org/" +depends=('xcb-proto>=1.7' 'libxdmcp' 'libxau') +makedepends=('pkgconfig' 'libxslt' 'python2') +options=('!libtool') +license=('custom') +source=($url/dist/$pkgname-$pkgver.tar.bz2 + libxcb-1.1-no-pthread-stubs.patch) +sha1sums=('18b76759d5bbb863777f37bf3aec23ebaa31d5be' + '3455e84642283bc91c8313af319002a20bbcbdf4') + +build() { + cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -i "$srcdir/libxcb-1.1-no-pthread-stubs.patch" + PYTHON=/usr/bin/python2 ./autogen.sh --prefix=/usr --enable-xinput + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -m755 -d "$pkgdir/usr/share/licenses/$pkgname" + install -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/testing/libxcb/libxcb-1.1-no-pthread-stubs.patch b/testing/libxcb/libxcb-1.1-no-pthread-stubs.patch new file mode 100644 index 000000000..f17de1b1d --- /dev/null +++ b/testing/libxcb/libxcb-1.1-no-pthread-stubs.patch @@ -0,0 +1,12 @@ +diff -up libxcb-1.1/configure.ac.pthread-stubs libxcb-1.1/configure.ac +--- libxcb-1.1/configure.ac.pthread-stubs 2007-11-04 18:17:11.000000000 -0500 ++++ libxcb-1.1/configure.ac 2007-11-12 10:27:06.000000000 -0500 +@@ -31,7 +31,7 @@ AC_SUBST(HTML_CHECK_RESULT) + + # Checks for pkg-config packages + PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.6) +-NEEDED="pthread-stubs xau >= 0.99.2" ++NEEDED="xau >= 0.99.2" + PKG_CHECK_MODULES(NEEDED, $NEEDED) + + have_xdmcp="no" diff --git a/testing/sqlite3/PKGBUILD b/testing/sqlite3/PKGBUILD new file mode 100644 index 000000000..7c8032fc7 --- /dev/null +++ b/testing/sqlite3/PKGBUILD @@ -0,0 +1,88 @@ +# $Id: PKGBUILD 146781 2012-01-17 16:20:13Z andyrtr $ +# Maintainer: Andreas Radke +# Contributor: Tom Newsom + +pkgbase="sqlite3" +pkgname=('sqlite3' 'sqlite3-tcl' 'sqlite3-doc') +_amalgamationver=3071000 +_amalgamationver2=${_amalgamationver/00/} +_docver=${_amalgamationver} #3070700 +#pkgver=${_amalgamationver2//0/.} +pkgver=3.7.10 +pkgrel=1 +pkgdesc="A C library that implements an SQL database engine" +arch=('i686' 'x86_64') +license=('custom') +url="http://www.sqlite.org/" +makedepends=('tcl' 'readline>=6.0.00') +source=( # tarball containing the amalgamation for SQLite 3.7.5 together with a configure script and makefile for building it; includes now also the Tcl Extension Architecture (TEA) + http://www.sqlite.org/sqlite-autoconf-$_amalgamationver.tar.gz + #http://www.sqlite.org/sqlite-doc-${_amalgamationver}.zip + http://www.sqlite.org/sqlite-doc-${_docver}.zip + license.txt) +options=('!libtool' '!emptydirs') +md5sums=('9ed2ca93577b58cfa0d01f64b9312ab9' + 'd4c8070ea2cec54b77002c265e680b0f' + 'c1cdbc5544034d9012e421e75a5e4890') + +build() { + export CFLAGS="$CFLAGS -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_SECURE_DELETE" + + # build sqlite + cd "$srcdir"/sqlite-autoconf-$_amalgamationver + ./configure --prefix=/usr \ + --disable-static + make + + # build the tcl extension + cd "$srcdir"/sqlite-autoconf-$_amalgamationver/tea + ./configure --prefix=/usr \ + --with-system-sqlite + make + +} + +package_sqlite3() { + + pkgdesc="A C library that implements an SQL database engine" + depends=('readline>=6.0.00') + conflicts=('sqlite') + replaces=('sqlite') + + cd ${srcdir}/sqlite-autoconf-$_amalgamationver + make DESTDIR=${pkgdir} install + + # license + install -D -m644 ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/${pkgname}/license.txt +} + +package_sqlite3-tcl() { + + pkgdesc="sqlite3 Tcl Extension Architecture (TEA)" + depends=('sqlite3>=3.7.5') + + cd ${srcdir}/sqlite-autoconf-$_amalgamationver/tea + make DESTDIR=${pkgdir} install +} + +package_sqlite3-doc() { + pkgdesc="most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation" + #arch=('any') - not yet supported + + #cd ${srcdir}/sqlite-doc-${_amalgamationver} + cd ${srcdir}/sqlite-doc-${_docver} + mkdir -p ${pkgdir}/usr/share/doc/${pkgbase} + cp -R * ${pkgdir}/usr/share/doc/${pkgbase}/ + + # fix permissions and remove obsolete files; https://bugs.archlinux.org/task/24605 + find ${pkgdir} -type f -perm 755 -exec ls -lha {} \; + find ${pkgdir} -type f -perm 755 -exec chmod 644 {} \; + + find ${pkgdir} -type f -name '*~' -exec ls -lha {} \; + find ${pkgdir} -type d -name '*~' -exec ls -lha {} \; + find ${pkgdir} -name '*~' -exec rm -f {} \; + + find ${pkgdir} -type f -name '.~*' -exec ls -lha {} \; # /build/pkg/sqlite3-doc/usr/share/doc/sqlite3/images/fileformat/.~lock.indexpage.odg# + find ${pkgdir} -type d -name '.~*' -exec ls -lha {} \; + find ${pkgdir} -name '.~*' -exec rm -f {} \; +} diff --git a/testing/sqlite3/license.txt b/testing/sqlite3/license.txt new file mode 100644 index 000000000..118c5d5e6 --- /dev/null +++ b/testing/sqlite3/license.txt @@ -0,0 +1,33 @@ +SQLite Copyright +SQLite is in the +Public Domain + + +All of the deliverable code in SQLite has been dedicated to the public domain by the authors. All code authors, and representatives of the companies they work for, have signed affidavits dedicating their contributions to the public domain and originals of those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. + +The previous paragraph applies to the deliverable code in SQLite - those parts of the SQLite library that you actually bundle and ship with a larger application. Portions of the documentation and some code used as part of the build process might fall under other licenses. The details here are unclear. We do not worry about the licensing of the documentation and build code so much because none of these things are part of the core deliverable SQLite library. + +All of the deliverable code in SQLite has been written from scratch. No code has been taken from other projects or from the open internet. Every line of code can be traced back to its original author, and all of those authors have public domain dedications on file. So the SQLite code base is clean and is uncontaminated with licensed code from other projects. +Obtaining An Explicit License To Use SQLite + +Even though SQLite is in the public domain and does not require a license, some users want to obtain a license anyway. Some reasons for obtaining a license include: +You are using SQLite in a jurisdiction that does not recognize the public domain. +You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the public domain. +You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite. +Your legal department tells you that you have to purchase a license. + +If you feel like you really have to purchase a license for SQLite, Hwaci, the company that employs the architect and principal developers of SQLite, will sell you one. +Contributed Code + +In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement: +The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law. + +We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to: +Hwaci +6200 Maple Cove Lane +Charlotte, NC 28269 +USA + +A template copyright release is available in PDF or HTML. You can use this release to make future changes. + +see http://www.sqlite.org/copyright.html \ No newline at end of file -- cgit v1.2.3-54-g00ecf