From edec45419def1b81bd663a2859684ef55ba56269 Mon Sep 17 00:00:00 2001 From: Parabola Date: Mon, 28 May 2012 20:14:47 +0000 Subject: Mon May 28 20:14:39 UTC 2012 --- multilib-testing/gcc-multilib/PKGBUILD | 313 ------ .../gcc-multilib/gcc-4.7.0-cloog-0.17.patch | 24 - multilib-testing/gcc-multilib/gcc-ada.install | 20 - multilib-testing/gcc-multilib/gcc-fortran.install | 16 - multilib-testing/gcc-multilib/gcc-go.install | 20 - multilib-testing/gcc-multilib/gcc-libs.install | 16 - multilib-testing/gcc-multilib/gcc.install | 20 - .../gcc-multilib/gcc_pure64-multilib.patch | 22 - multilib-testing/lib32-cairo/PKGBUILD | 42 - .../lib32-cairo/cairo-1.10.0-buggy_gradients.patch | 13 - multilib-testing/lib32-cairo/git_fixes.patch | 1086 -------------------- multilib-testing/lib32-glib2/PKGBUILD | 40 - multilib-testing/lib32-libffi/PKGBUILD | 42 - multilib-testing/lib32-llvm/PKGBUILD | 96 -- .../lib32-llvm/cindexer-clang-path.patch | 10 - .../lib32-llvm/clang-plugin-loader-registry.patch | 11 - multilib-testing/lib32-llvm/clang-pure64.patch | 13 - multilib-testing/lib32-llvm/enable-lto.patch | 32 - .../lib32-llvm/fix-gold-lto-linking.patch | 11 - 19 files changed, 1847 deletions(-) delete mode 100644 multilib-testing/gcc-multilib/PKGBUILD delete mode 100644 multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch delete mode 100644 multilib-testing/gcc-multilib/gcc-ada.install delete mode 100644 multilib-testing/gcc-multilib/gcc-fortran.install delete mode 100644 multilib-testing/gcc-multilib/gcc-go.install delete mode 100644 multilib-testing/gcc-multilib/gcc-libs.install delete mode 100644 multilib-testing/gcc-multilib/gcc.install delete mode 100644 multilib-testing/gcc-multilib/gcc_pure64-multilib.patch delete mode 100644 multilib-testing/lib32-cairo/PKGBUILD delete mode 100644 multilib-testing/lib32-cairo/cairo-1.10.0-buggy_gradients.patch delete mode 100644 multilib-testing/lib32-cairo/git_fixes.patch delete mode 100644 multilib-testing/lib32-glib2/PKGBUILD delete mode 100644 multilib-testing/lib32-libffi/PKGBUILD delete mode 100644 multilib-testing/lib32-llvm/PKGBUILD delete mode 100644 multilib-testing/lib32-llvm/cindexer-clang-path.patch delete mode 100644 multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch delete mode 100644 multilib-testing/lib32-llvm/clang-pure64.patch delete mode 100644 multilib-testing/lib32-llvm/enable-lto.patch delete mode 100644 multilib-testing/lib32-llvm/fix-gold-lto-linking.patch (limited to 'multilib-testing') diff --git a/multilib-testing/gcc-multilib/PKGBUILD b/multilib-testing/gcc-multilib/PKGBUILD deleted file mode 100644 index 20d562fe2..000000000 --- a/multilib-testing/gcc-multilib/PKGBUILD +++ /dev/null @@ -1,313 +0,0 @@ -# $Id: PKGBUILD 70454 2012-05-07 19:37:47Z 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.7.0 -pkgrel=6 -_snapshot=4.7-20120505 -_libstdcppmanver=20120307 # Note: check source directory name when updating this -pkgdesc="The GNU Compiler Collection for multilib" -arch=('x86_64') -license=('GPL' 'LGPL' 'FDL' 'custom') -url="http://gcc.gnu.org" -makedepends=('binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib' - 'lib32-glibc>=2.14') -checkdepends=('dejagnu') -options=('!libtool' '!emptydirs') -source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 - ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 - ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 - gcc_pure64-multilib.patch - gcc-4.7.0-cloog-0.17.patch) -md5sums=('8e2df3b9a755c9262db0df019cc3542e' - '489d2f5311535800a120efd8d18db719' - 'ec24c32d3d1030c2bc8cb2ad2d1dc629' - '575f7d17b022e609447a590e481b18b5') - - -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 -p1 -i ${srcdir}/gcc_pure64-multilib.patch - - # compatibility with latest cloog - patch -p1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.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 \ - --disable-libstdcxx-pch --enable-libstdcxx-time \ - --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 \ - --with-linker-hash-style=gnu \ - --enable-multilib --disable-libssp \ - --disable-build-with-cxx --disable-build-poststage1-with-cxx \ - --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.15' "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 libitm; 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 -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec} - - # remove stuff in lib32-gcc-libs - rm -r ${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.15' "gcc-libs>=$pkgver") - - cd gcc-build - make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared - for lib in libmudflap libgomp libstdc++-v3/src libitm; 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 -r ${pkgdir}/usr/lib - rm -r ${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 - - make -j1 DESTDIR=${pkgdir} install - - install -d $pkgdir/usr/share/gdb/auto-load/usr/lib - mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.17-gdb.py - - # unfortunately it is much, much easier to install the lot and clean-up the mess... - 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} - rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{,32/}{libcaf_single,libgfortranbegin}.a - rm -r $pkgdir/usr/lib{,32}/go - rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.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 -s /usr/bin/cpp ${pkgdir}/lib/cpp - ln -s gcc ${pkgdir}/usr/bin/cc - - # POSIX conformance launcher scripts for c89 and c99 - cat > $pkgdir/usr/bin/c89 <<"EOF" -#!/bin/sh -fl="-std=c89" -for opt; do - case "$opt" in - -ansi|-std=c89|-std=iso9899:1990) fl="";; - -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 - exit 1;; - esac -done -exec gcc $fl ${1+"$@"} -EOF - - cat > $pkgdir/usr/bin/c99 <<"EOF" -#!/bin/sh -fl="-std=c99" -for opt; do - case "$opt" in - -std=c99|-std=iso9899:1999) fl="";; - -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 - exit 1;; - esac -done -exec gcc $fl ${1+"$@"} -EOF - - chmod 755 $pkgdir/usr/bin/c{8,9}9 - - # install the libstdc++ man pages - install -dm755 ${pkgdir}/usr/share/man/man3 - install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/ - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-multilib/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-fortran-multilib() -{ - pkgdesc="Fortran front-end for GCC for multilib" - depends=("gcc-multilib=$pkgver-$pkgrel") - provides=("gcc-fortran=$pkgver-$pkgrel") - conflicts=('gcc-fortran') - install=gcc-fortran.install - - cd gcc-build - make -j1 DESTDIR=${pkgdir} install-target-libquadmath - make -j1 DESTDIR=$pkgdir install-target-libgfortran - make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS - make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info} - install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951 - - # remove libraries included in gcc-libs - rm ${pkgdir}/usr/lib{,32}/lib{gfortran,quadmath}.so* - rm ${pkgdir}/usr/share/info/libquadmath.info - - ln -s gfortran ${pkgdir}/usr/bin/f95 - - # 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 - - ln -s gcc ${pkgdir}/usr/bin/gnatgcc - - # 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-4.7.0-cloog-0.17.patch b/multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch deleted file mode 100644 index c7146fa04..000000000 --- a/multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur gcc-4.6-20120120-orig/configure gcc-4.6-20120120/configure ---- gcc-4.6-20120120-orig/configure 2011-12-18 20:03:44.000000000 +1000 -+++ gcc-4.6-20120120/configure 2012-02-03 17:55:14.885990135 +1000 -@@ -6049,8 +6049,8 @@ - LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}" - - if test "${cloog_org}" = yes ; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.16.1 of CLooG" >&5 --$as_echo_n "checking for version 0.16.1 of CLooG... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.17 of CLooG" >&5 -+$as_echo_n "checking for version 0.17 of CLooG... " >&6; } - if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then : - $as_echo_n "(cached) " >&6 - else -@@ -6061,8 +6061,7 @@ - main () - { - #if CLOOG_VERSION_MAJOR != 0 \ -- || CLOOG_VERSION_MINOR != 16 \ -- || CLOOG_VERSION_REVISION < 1 -+ || CLOOG_VERSION_MINOR != 17 - choke me - #endif - ; diff --git a/multilib-testing/gcc-multilib/gcc-ada.install b/multilib-testing/gcc-multilib/gcc-ada.install deleted file mode 100644 index df0553a4f..000000000 --- a/multilib-testing/gcc-multilib/gcc-ada.install +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index b15d89a97..000000000 --- a/multilib-testing/gcc-multilib/gcc-fortran.install +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 7dc50dee5..000000000 --- a/multilib-testing/gcc-multilib/gcc-go.install +++ /dev/null @@ -1,20 +0,0 @@ -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-libs.install b/multilib-testing/gcc-multilib/gcc-libs.install deleted file mode 100644 index 23553b8f0..000000000 --- a/multilib-testing/gcc-multilib/gcc-libs.install +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 3407a5e1f..000000000 --- a/multilib-testing/gcc-multilib/gcc.install +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index b5576ae0e..000000000 --- a/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -u -r gcc-4.7.0/gcc/config/i386/linux64.h gcc-4.7.0-pure64/gcc/config/i386/linux64.h ---- gcc-4.7.0/gcc/config/i386/linux64.h 2011-07-07 17:38:34.000000000 +0200 -+++ gcc-4.7.0-pure64/gcc/config/i386/linux64.h 2012-03-24 11:52:58.926204014 +0100 -@@ -29,5 +29,5 @@ - #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" - - #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" - #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -diff -u -r gcc-4.7.0/gcc/config/i386/t-linux64 gcc-4.7.0-pure64/gcc/config/i386/t-linux64 ---- gcc-4.7.0/gcc/config/i386/t-linux64 2011-11-02 16:23:48.000000000 +0100 -+++ gcc-4.7.0-pure64/gcc/config/i386/t-linux64 2012-03-24 11:52:44.119651885 +0100 -@@ -34,6 +34,6 @@ - comma=, - MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) - MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) --MULTILIB_OSDIRNAMES = m64=../lib64 --MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) -+MULTILIB_OSDIRNAMES = m64=../lib -+MULTILIB_OSDIRNAMES+= m32=../lib32 - MULTILIB_OSDIRNAMES+= mx32=../libx32 diff --git a/multilib-testing/lib32-cairo/PKGBUILD b/multilib-testing/lib32-cairo/PKGBUILD deleted file mode 100644 index ce8092b83..000000000 --- a/multilib-testing/lib32-cairo/PKGBUILD +++ /dev/null @@ -1,42 +0,0 @@ -# $Id: PKGBUILD 69357 2012-04-14 13:01:09Z bluewind $ -# Maintainer: Ionut Biru - -_pkgbasename=cairo -pkgname=lib32-$_pkgbasename -pkgver=1.12.0 -pkgrel=1 -pkgdesc="Cairo vector graphics library (32-bit)" -arch=('x86_64') -url="http://cairographics.org/" -license=('LGPL' 'MPL') -depends=('lib32-libpng' 'lib32-libxrender' 'lib32-fontconfig' - 'lib32-pixman' 'lib32-glib2' ${_pkgbasename}) -makedepends=('gcc-multilib') -source=(http://cairographics.org/releases/${_pkgbasename}-${pkgver}.tar.gz - cairo-1.10.0-buggy_gradients.patch - git_fixes.patch) -md5sums=('e6c85575ba7094f88b637bdfd835a751' - '9b323790dab003e228c6955633cb888e' - 'ce32ba4639d910bce7159c9a67ff2355') - -build() { - export CC="gcc -m32" - export CXX="g++ -m32" - export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - - cd "${srcdir}/${_pkgbasename}-${pkgver}" - - patch -Np1 -i ${srcdir}/git_fixes.patch - autoreconf -vfi - - ./configure --prefix=/usr --libdir=/usr/lib32 \ - --sysconfdir=/etc --localstatedir=/var \ - --disable-static --enable-tee --disable-xlib-xcb - make -} - -package() { - cd "${srcdir}/${_pkgbasename}-${pkgver}" - make DESTDIR="${pkgdir}" install - rm -rf "${pkgdir}"/usr/{include,share,bin} -} diff --git a/multilib-testing/lib32-cairo/cairo-1.10.0-buggy_gradients.patch b/multilib-testing/lib32-cairo/cairo-1.10.0-buggy_gradients.patch deleted file mode 100644 index 368e356d3..000000000 --- a/multilib-testing/lib32-cairo/cairo-1.10.0-buggy_gradients.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/cairo-xlib-display.c.ubuntu 2010-08-04 11:57:49.000000000 +0200 -+++ b/src/cairo-xlib-display.c 2010-08-04 11:58:28.000000000 +0200 -@@ -353,11 +353,7 @@ - /* Prior to Render 0.10, there is no protocol support for gradients and - * we call function stubs instead, which would silently consume the drawing. - */ --#if RENDER_MAJOR == 0 && RENDER_MINOR < 10 - display->buggy_gradients = TRUE; --#else -- display->buggy_gradients = FALSE; --#endif - display->buggy_pad_reflect = FALSE; - display->buggy_repeat = FALSE; diff --git a/multilib-testing/lib32-cairo/git_fixes.patch b/multilib-testing/lib32-cairo/git_fixes.patch deleted file mode 100644 index 6ad8979eb..000000000 --- a/multilib-testing/lib32-cairo/git_fixes.patch +++ /dev/null @@ -1,1086 +0,0 @@ -From ede11b2954db19e3ca9d31cef7d04a7bf0e42ddc Mon Sep 17 00:00:00 2001 -From: Behdad Esfahbod -Date: Sun, 25 Mar 2012 18:37:14 +0000 -Subject: Fix math in comments - ---- -diff --git a/src/cairo-arc.c b/src/cairo-arc.c -index dc07fee..6977e88 100644 ---- a/src/cairo-arc.c -+++ b/src/cairo-arc.c -@@ -139,7 +139,7 @@ _arc_segments_needed (double angle, - - From that paper, a very practical value of h is: - -- h = 4/3 * tan(angle/4) -+ h = 4/3 * R * tan(angle/4) - - This value does not give the spline with minimal error, but it does - provide a very good approximation, (6th-order convergence), and the --- -cgit v0.9.0.2-2-gbebe -From fba21ef2a4c4eb343668267fda713aedbb6af2a4 Mon Sep 17 00:00:00 2001 -From: Henry (Yu) Song -Date: Tue, 27 Mar 2012 21:25:37 +0000 -Subject: gl: use font's antialias option to check whether it needs mask - -There is need to loop over number of glyphs to check wether the glyph -image is a ARGB32 as the font's antialias option can be used for checking. -If antialias is SUBPIXEL or BEST, the glyph surface will be ARGB32, -otherwise it will be A8 format. Therefore we will only be using -component-alpha at SUBPIXEL (or better) font quality and only then need -a mask for multiple pass glyph composition. ---- -diff --git a/src/cairo-gl-glyphs.c b/src/cairo-gl-glyphs.c -index 832956f..9756ea4 100644 ---- a/src/cairo-gl-glyphs.c -+++ b/src/cairo-gl-glyphs.c -@@ -427,23 +427,15 @@ _cairo_gl_composite_glyphs (void *_dst, - - TRACE ((stderr, "%s\n", __FUNCTION__)); - -- /* If any of the glyphs are component alpha, we have to go through a mask, -- * since only _cairo_gl_surface_composite() currently supports component -- * alpha. -+ /* If any of the glyphs require component alpha, we have to go through -+ * a mask, since only _cairo_gl_surface_composite() currently supports -+ * component alpha. - */ -- if (!dst->base.is_clear && ! info->use_mask && op != CAIRO_OPERATOR_OVER) { -- for (i = 0; i < info->num_glyphs; i++) { -- cairo_scaled_glyph_t *scaled_glyph; -- -- if (_cairo_scaled_glyph_lookup (info->font, info->glyphs[i].index, -- CAIRO_SCALED_GLYPH_INFO_SURFACE, -- &scaled_glyph) == CAIRO_INT_STATUS_SUCCESS && -- scaled_glyph->surface->format == CAIRO_FORMAT_ARGB32) -- { -- info->use_mask = TRUE; -- break; -- } -- } -+ if (!dst->base.is_clear && ! info->use_mask && op != CAIRO_OPERATOR_OVER && -+ (info->font->options.antialias == CAIRO_ANTIALIAS_SUBPIXEL || -+ info->font->options.antialias == CAIRO_ANTIALIAS_BEST)) -+ { -+ info->use_mask = TRUE; - } - - if (info->use_mask) { --- -cgit v0.9.0.2-2-gbebe -From d304f0e57be8036719c3709e2419487326369105 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Wed, 28 Mar 2012 23:32:36 +0000 -Subject: composite-rectangles: Trim extents for SOURCE and CLEAR to the mask - -The SOURCE and CLEAR are the odd pair in Cairo's range of operators that -are bound by the shape/mask, but are unbound by the source. This -regularly leads to bugs as only track the bound/unbound rectangles and -confuse the meaning when bound only by the mask. - -What is required is that the unbound extents in this case is only -trimmed by the mask (the bounded extents are still the intersection of -all). - -Fixes bug-source-cu - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-composite-rectangles.c b/src/cairo-composite-rectangles.c -index 106571e..8c5cd5a 100644 ---- a/src/cairo-composite-rectangles.c -+++ b/src/cairo-composite-rectangles.c -@@ -147,8 +147,12 @@ _cairo_composite_rectangles_intersect (cairo_composite_rectangles_t *extents, - if (! ret && extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK) - return CAIRO_INT_STATUS_NOTHING_TO_DO; - -- if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) -+ if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) { - extents->unbounded = extents->bounded; -+ } else if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK) { -+ if (!_cairo_rectangle_intersect (&extents->unbounded, &extents->mask)) -+ return CAIRO_INT_STATUS_NOTHING_TO_DO; -+ } - - extents->clip = _cairo_clip_reduce_for_composite (clip, extents); - if (_cairo_clip_is_all_clipped (extents->clip)) -@@ -199,8 +203,12 @@ _cairo_composite_rectangles_intersect_source_extents (cairo_composite_rectangles - rect.height == extents->bounded.height) - return CAIRO_INT_STATUS_SUCCESS; - -- if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) -+ if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) { - extents->unbounded = extents->bounded; -+ } else if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK) { -+ if (!_cairo_rectangle_intersect (&extents->unbounded, &extents->mask)) -+ return CAIRO_INT_STATUS_NOTHING_TO_DO; -+ } - - clip = extents->clip; - extents->clip = _cairo_clip_reduce_for_composite (clip, extents); -@@ -253,8 +261,12 @@ _cairo_composite_rectangles_intersect_mask_extents (cairo_composite_rectangles_t - mask.height == extents->bounded.height) - return CAIRO_INT_STATUS_SUCCESS; - -- if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) -+ if (extents->is_bounded == (CAIRO_OPERATOR_BOUND_BY_MASK | CAIRO_OPERATOR_BOUND_BY_SOURCE)) { - extents->unbounded = extents->bounded; -+ } else if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK) { -+ if (!_cairo_rectangle_intersect (&extents->unbounded, &extents->mask)) -+ return CAIRO_INT_STATUS_NOTHING_TO_DO; -+ } - - clip = extents->clip; - extents->clip = _cairo_clip_reduce_for_composite (clip, extents); --- -cgit v0.9.0.2-2-gbebe -From af6e084dd78fcbb8ecce46c57f655f5e24343b8c Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Thu, 29 Mar 2012 13:48:24 +0000 -Subject: cairoint: Mark PDF surface as requiring the deflate stream output - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairoint.h b/src/cairoint.h -index 9a8003e..9f20d51 100644 ---- a/src/cairoint.h -+++ b/src/cairoint.h -@@ -73,7 +73,10 @@ - #include "cairo-compiler-private.h" - #include "cairo-error-private.h" - --#if CAIRO_HAS_PS_SURFACE || CAIRO_HAS_SCRIPT_SURFACE || CAIRO_HAS_XML_SURFACE -+#if CAIRO_HAS_PDF_SURFACE || \ -+ CAIRO_HAS_PS_SURFACE || \ -+ CAIRO_HAS_SCRIPT_SURFACE || \ -+ CAIRO_HAS_XML_SURFACE - #define CAIRO_HAS_DEFLATE_STREAM 1 - #endif - -@@ -84,7 +87,9 @@ - #define CAIRO_HAS_FONT_SUBSET 1 - #endif - --#if CAIRO_HAS_PS_SURFACE || CAIRO_HAS_PDF_SURFACE || CAIRO_HAS_FONT_SUBSET -+#if CAIRO_HAS_PS_SURFACE || \ -+ CAIRO_HAS_PDF_SURFACE || \ -+ CAIRO_HAS_FONT_SUBSET - #define CAIRO_HAS_PDF_OPERATORS 1 - #endif - --- -cgit v0.9.0.2-2-gbebe -From a965b0f95fdeb567f7ccb51f7c8c47735a61e2d9 Mon Sep 17 00:00:00 2001 -From: Henry (Yu) Song -Date: Thu, 29 Mar 2012 01:08:51 +0000 -Subject: gl: fix y-axis origin when map_to_image() for non texture GL surface - -We need to fix y-axis origin when map a GL surface to image surface for -non-texture GL surface. - -Test cases: extended-blend-alpha-mask, extended-blend-mask. -Although the image outputs is not right, but the image on the first grid -(upper-left corner) is correct comparing to image output. ---- -diff --git a/src/cairo-gl-surface.c b/src/cairo-gl-surface.c -index 8bbf939..32ecf63 100644 ---- a/src/cairo-gl-surface.c -+++ b/src/cairo-gl-surface.c -@@ -985,6 +985,7 @@ _cairo_gl_surface_map_to_image (void *abstract_surface, - unsigned int cpp; - cairo_bool_t invert; - cairo_status_t status; -+ int y; - - /* Want to use a switch statement here but the compiler gets whiny. */ - if (surface->base.content == CAIRO_CONTENT_COLOR_ALPHA) { -@@ -1065,7 +1066,12 @@ _cairo_gl_surface_map_to_image (void *abstract_surface, - glPixelStorei (GL_PACK_ROW_LENGTH, image->stride / cpp); - if (invert) - glPixelStorei (GL_PACK_INVERT_MESA, 1); -- glReadPixels (extents->x, extents->y, -+ -+ y = extents->y; -+ if (! _cairo_gl_surface_is_texture (surface)) -+ y = surface->height - extents->y - extents->height; -+ -+ glReadPixels (extents->x, y, - extents->width, extents->height, - format, type, image->data); - if (invert) --- -cgit v0.9.0.2-2-gbebe -From c77112c5464d7ff21052527f82f4d729cc509291 Mon Sep 17 00:00:00 2001 -From: Uli Schlachter -Date: Mon, 02 Apr 2012 18:43:00 +0000 -Subject: xcb: Fix SHM in _get_image() - -Commit 2283ab9 introduced a logic error. Instead of falling back to the non-SHM -path when getting the image via SHM failed, we now did the fallback when getting -the image via SHM worked (which means that the SHM operation was a waste of -time). - -Signed-off-by: Uli Schlachter ---- -diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c -index fff4f52..6bedbda 100644 ---- a/src/cairo-xcb-surface.c -+++ b/src/cairo-xcb-surface.c -@@ -367,7 +367,7 @@ _get_image (cairo_xcb_surface_t *surface, - if (use_shm) { - image = _get_shm_image (surface, x, y, width, height); - if (image) { -- if (image->status) { -+ if (image->status == CAIRO_STATUS_SUCCESS) { - _cairo_xcb_connection_release (connection); - return image; - } --- -cgit v0.9.0.2-2-gbebe -From cc247c346b75353f16ab40ac74c54cdd9663d16b Mon Sep 17 00:00:00 2001 -From: Henry (Yu) Song -Date: Mon, 02 Apr 2012 21:29:47 +0000 -Subject: gl: Remove an unused variable - ---- -diff --git a/src/cairo-gl-gradient.c b/src/cairo-gl-gradient.c -index b364b92..ce7c0dd 100644 ---- a/src/cairo-gl-gradient.c -+++ b/src/cairo-gl-gradient.c -@@ -207,7 +207,6 @@ _cairo_gl_gradient_create (cairo_gl_context_t *ctx, - cairo_status_t status; - int tex_width; - void *data; -- cairo_gl_dispatch_t *dispatch = &ctx->dispatch; - - if ((unsigned int) ctx->max_texture_size / 2 <= n_stops) - return CAIRO_INT_STATUS_UNSUPPORTED; --- -cgit v0.9.0.2-2-gbebe -From 7a262fd398c8a1f3c9052e8d9ec459e27ff91b4d Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Wed, 04 Apr 2012 10:23:09 +0000 -Subject: fix bug in _cairo_image_analyze_color - ---- -diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c -index 8208a15..e860e1b 100644 ---- a/src/cairo-image-surface.c -+++ b/src/cairo-image-surface.c -@@ -1130,9 +1130,12 @@ _cairo_image_analyze_color (cairo_image_surface_t *image) - if (image->color != CAIRO_IMAGE_UNKNOWN_COLOR) - return image->color; - -- if (image->format == CAIRO_FORMAT_A1 || image->format == CAIRO_FORMAT_A8) -+ if (image->format == CAIRO_FORMAT_A1) - return image->color = CAIRO_IMAGE_IS_MONOCHROME; - -+ if (image->format == CAIRO_FORMAT_A8) -+ return image->color = CAIRO_IMAGE_IS_GRAYSCALE; -+ - if (image->format == CAIRO_FORMAT_ARGB32) { - image->color = CAIRO_IMAGE_IS_MONOCHROME; - for (y = 0; y < image->height; y++) { --- -cgit v0.9.0.2-2-gbebe -From 70b2856ed3d31b41e69b3d82fb9c5c11c2b3d3d4 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Thu, 05 Apr 2012 23:43:35 +0000 -Subject: type1-subset: use fallback font if glyph widths are calculated - -Bug 48349 has a pdf file with a Type 1 font where the glyph widths are -of the form: - -34 9302 19 div hsbw ---- -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index 607ac8e..ba1008a 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -751,6 +751,9 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - command = *p++; - switch (command) { - case TYPE1_CHARSTRING_COMMAND_HSBW: -+ if (! last_op_was_integer) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ - font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em; - font->build_stack.sp = 0; - last_op_was_integer = FALSE; -@@ -797,6 +800,9 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - break; - - case TYPE1_CHARSTRING_COMMAND_SBW: -+ if (! last_op_was_integer) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ - font->glyphs[glyph].width = font->build_stack.stack[2]/font->base.units_per_em; - font->build_stack.sp = 0; - last_op_was_integer = FALSE; --- -cgit v0.9.0.2-2-gbebe -From a6d955fcc46ae2da8d6f3b2cadeae64c03066461 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Thu, 05 Apr 2012 23:53:50 +0000 -Subject: fix indentation in cairo_type1_font_subset_parse_charstring - ---- -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index ba1008a..ddef8ae 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -1,3 +1,4 @@ -+/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */ - /* cairo - a vector graphics library with display and print output - * - * Copyright © 2006 Red Hat, Inc -@@ -750,86 +751,79 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - if (*p < 32) { - command = *p++; - switch (command) { -- case TYPE1_CHARSTRING_COMMAND_HSBW: -- if (! last_op_was_integer) -- return CAIRO_INT_STATUS_UNSUPPORTED; -+ case TYPE1_CHARSTRING_COMMAND_HSBW: -+ if (! last_op_was_integer) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ -+ font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em; -+ font->build_stack.sp = 0; -+ last_op_was_integer = FALSE; -+ break; -+ -+ case TYPE1_CHARSTRING_COMMAND_CALLSUBR: -+ if (font->subset_subrs && -+ last_op_was_integer && -+ font->build_stack.top_value >= 0 && -+ font->build_stack.top_value < font->num_subrs) -+ { -+ subr_num = font->build_stack.top_value; -+ font->subrs[subr_num].used = TRUE; -+ last_op_was_integer = FALSE; -+ status = cairo_type1_font_subset_parse_charstring (font, -+ glyph, -+ font->subrs[subr_num].subr_string, -+ font->subrs[subr_num].subr_length); -+ } else { -+ font->subset_subrs = FALSE; -+ } -+ break; -+ -+ case TYPE1_CHARSTRING_COMMAND_ESCAPE: -+ command = command << 8 | *p++; -+ switch (command) { -+ case TYPE1_CHARSTRING_COMMAND_SEAC: -+ /* The seac command takes five integer arguments. The -+ * last two are glyph indices into the PS standard -+ * encoding give the names of the glyphs that this -+ * glyph is composed from. All we need to do is to -+ * make sure those glyphs are present in the subset -+ * under their standard names. */ -+ status = use_standard_encoding_glyph (font, font->build_stack.stack[3]); -+ if (unlikely (status)) -+ return status; -+ -+ status = use_standard_encoding_glyph (font, font->build_stack.stack[4]); -+ if (unlikely (status)) -+ return status; - -- font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em; - font->build_stack.sp = 0; - last_op_was_integer = FALSE; - break; - -- case TYPE1_CHARSTRING_COMMAND_CALLSUBR: -- if (font->subset_subrs && -- last_op_was_integer && -- font->build_stack.top_value >= 0 && -- font->build_stack.top_value < font->num_subrs) -- { -- subr_num = font->build_stack.top_value; -- font->subrs[subr_num].used = TRUE; -- last_op_was_integer = FALSE; -- status = cairo_type1_font_subset_parse_charstring (font, -- glyph, -- font->subrs[subr_num].subr_string, -- font->subrs[subr_num].subr_length); -- } else { -- font->subset_subrs = FALSE; -- } -+ case TYPE1_CHARSTRING_COMMAND_SBW: -+ if (! last_op_was_integer) -+ return CAIRO_INT_STATUS_UNSUPPORTED; -+ -+ font->glyphs[glyph].width = font->build_stack.stack[2]/font->base.units_per_em; -+ font->build_stack.sp = 0; -+ last_op_was_integer = FALSE; - break; - -- case TYPE1_CHARSTRING_COMMAND_ESCAPE: -- command = command << 8 | *p++; -- switch (command) { -- case TYPE1_CHARSTRING_COMMAND_SEAC: -- /* The seac command takes five integer arguments. The -- * last two are glyph indices into the PS standard -- * encoding give the names of the glyphs that this -- * glyph is composed from. All we need to do is to -- * make sure those glyphs are present in the subset -- * under their standard names. */ -- status = use_standard_encoding_glyph (font, font->build_stack.stack[3]); -- if (unlikely (status)) -- return status; -- -- status = use_standard_encoding_glyph (font, font->build_stack.stack[4]); -- if (unlikely (status)) -- return status; -- -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; -- -- case TYPE1_CHARSTRING_COMMAND_SBW: -- if (! last_op_was_integer) -- return CAIRO_INT_STATUS_UNSUPPORTED; -- -- font->glyphs[glyph].width = font->build_stack.stack[2]/font->base.units_per_em; -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; -- -- case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR: -- for (i = 0; i < font->build_stack.sp; i++) -- font->ps_stack.other_subr_args[i] = font->build_stack.stack[i]; -- font->ps_stack.num_other_subr_args = font->build_stack.sp; -- font->ps_stack.cur_other_subr_arg = 0; -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; -- -- case TYPE1_CHARSTRING_COMMAND_POP: -- if (font->ps_stack.num_other_subr_args > font->ps_stack.cur_other_subr_arg) { -- font->build_stack.top_value = font->ps_stack.other_subr_args[font->ps_stack.cur_other_subr_arg++]; -- last_op_was_integer = TRUE; -- } else { -- font->subset_subrs = FALSE; -- } -- break; -- -- default: -- font->build_stack.sp = 0; -- last_op_was_integer = FALSE; -- break; -+ case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR: -+ for (i = 0; i < font->build_stack.sp; i++) -+ font->ps_stack.other_subr_args[i] = font->build_stack.stack[i]; -+ font->ps_stack.num_other_subr_args = font->build_stack.sp; -+ font->ps_stack.cur_other_subr_arg = 0; -+ font->build_stack.sp = 0; -+ last_op_was_integer = FALSE; -+ break; -+ -+ case TYPE1_CHARSTRING_COMMAND_POP: -+ if (font->ps_stack.num_other_subr_args > font->ps_stack.cur_other_subr_arg) { -+ font->build_stack.top_value = font->ps_stack.other_subr_args[font->ps_stack.cur_other_subr_arg++]; -+ last_op_was_integer = TRUE; -+ } else { -+ font->subset_subrs = FALSE; - } - break; - -@@ -837,6 +831,13 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font, - font->build_stack.sp = 0; - last_op_was_integer = FALSE; - break; -+ } -+ break; -+ -+ default: -+ font->build_stack.sp = 0; -+ last_op_was_integer = FALSE; -+ break; - } - } else { - /* integer argument */ --- -cgit v0.9.0.2-2-gbebe -From 8886220b5027296f5b3b95e9c2f93509108d3b9e Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Fri, 06 Apr 2012 00:13:53 +0000 -Subject: type1-subset: if font name is prefixed with a subset tag, strip it off - ---- -diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c -index ddef8ae..e507abe 100644 ---- a/src/cairo-type1-subset.c -+++ b/src/cairo-type1-subset.c -@@ -381,6 +381,7 @@ cairo_type1_font_subset_get_fontname (cairo_type1_font_subset_t *font) - { - const char *start, *end, *segment_end; - char *s; -+ int i; - - segment_end = font->header_segment + font->header_segment_size; - start = find_token (font->header_segment, segment_end, "/FontName"); -@@ -406,6 +407,16 @@ cairo_type1_font_subset_get_fontname (cairo_type1_font_subset_t *font) - return CAIRO_INT_STATUS_UNSUPPORTED; - } - -+ /* If font name is prefixed with a subset tag, strip it off. */ -+ if (strlen(start) > 7 && start[6] == '+') { -+ for (i = 0; i < 6; i++) { -+ if (start[i] < 'A' || start[i] > 'Z') -+ break; -+ } -+ if (i == 6) -+ start += 7; -+ } -+ - font->base.base_font = strdup (start); - free (s); - if (unlikely (font->base.base_font == NULL)) --- -cgit v0.9.0.2-2-gbebe -From 8657ca10e34b0034602680b4304d47ecf90ccbfd Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Fri, 06 Apr 2012 11:50:40 +0000 -Subject: fix _cairo_pattern_get_ink_extents to work with snapshot recording surfaces - -It had caused pdf bbox sizes to regress to page size bboxes. ---- -diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c -index 27ba004..5b3e177 100644 ---- a/src/cairo-pattern.c -+++ b/src/cairo-pattern.c -@@ -37,6 +37,7 @@ - #include "cairo-path-private.h" - #include "cairo-pattern-private.h" - #include "cairo-recording-surface-private.h" -+#include "cairo-surface-snapshot-private.h" - - #include - -@@ -3666,6 +3667,9 @@ _cairo_pattern_get_ink_extents (const cairo_pattern_t *pattern, - (const cairo_surface_pattern_t *) pattern; - cairo_surface_t *surface = surface_pattern->surface; - -+ if (_cairo_surface_is_snapshot (surface)) -+ surface = _cairo_surface_snapshot_get_target (surface); -+ - if (_cairo_surface_is_recording (surface)) { - cairo_matrix_t imatrix; - cairo_box_t box; --- -cgit v0.9.0.2-2-gbebe -From 6f28f0b33cb12f3b2dd48c87da0018bd00c17107 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Sun, 08 Apr 2012 10:28:59 +0000 -Subject: stroke: Fix misuse of half_line_x for vertical caps on dashes - -A typo using half_line_x instead of half_line_y when emitting dashed -segments of the rectilinear stroke. - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-path-stroke-boxes.c b/src/cairo-path-stroke-boxes.c -index 3e8c5a4..cc9dd19 100644 ---- a/src/cairo-path-stroke-boxes.c -+++ b/src/cairo-path-stroke-boxes.c -@@ -342,15 +342,15 @@ _cairo_rectilinear_stroker_emit_segments_dashed (cairo_rectilinear_stroker_t *st - box.p1.x = box.p2.x - half_line_x; - } - if (out_slope.dy >= 0) -- box.p1.y -= half_line_x; -+ box.p1.y -= half_line_y; - if (out_slope.dy <= 0) -- box.p2.y += half_line_x; -+ box.p2.y += half_line_y; - } else { - if (box.p1.y <= box.p2.y) { - box.p1.y = box.p2.y; -- box.p2.y += half_line_x; -+ box.p2.y += half_line_y; - } else { -- box.p1.y = box.p2.y - half_line_x; -+ box.p1.y = box.p2.y - half_line_y; - } - if (out_slope.dx >= 0) - box.p1.x -= half_line_x; --- -cgit v0.9.0.2-2-gbebe -From 113ec6bf0c8ed1ff12293d1ed2a2de9bd5b9904b Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Sun, 08 Apr 2012 16:58:13 +0000 -Subject: traps: Clip the trapezoid extents against the clip extents - -Just in case the clip polygon turns out to be much larger than the -operation extents (silly us for not reducing it correctly) and lead to -catastrophe, such as: - -Program received signal SIGSEGV, Segmentation fault. -pixman_fill_sse2 (bits=, stride=4, bpp=8, x=0, y=0, -width=3, height=-34811, data=0) at pixman-sse2.c:3369 -3369 *(uint16_t *)d = data; - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-traps-compositor.c b/src/cairo-traps-compositor.c -index 284a0be..c49e208 100644 ---- a/src/cairo-traps-compositor.c -+++ b/src/cairo-traps-compositor.c -@@ -218,8 +218,13 @@ combine_clip_as_traps (const cairo_traps_compositor_t *compositor, - _cairo_traps_fini (&traps); - cairo_surface_destroy (src); - -- if (status == CAIRO_INT_STATUS_SUCCESS && -- (fixup.width < extents->width || fixup.height < extents->height)) { -+ if (unlikely (status)) -+ return status; -+ -+ if (! _cairo_rectangle_intersect (&fixup, extents)) -+ return CAIRO_STATUS_SUCCESS; -+ -+ if (fixup.width < extents->width || fixup.height < extents->height) { - cairo_boxes_t clear; - - _cairo_boxes_init (&clear); --- -cgit v0.9.0.2-2-gbebe -From de61681574eb7d6e0e497ea7f25797e3d9b20ac4 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Mon, 09 Apr 2012 11:47:34 +0000 -Subject: build: Disable -Wset-but-unused-variable - -This is too noisy in the current build, and masking more important -warnings. - -Signed-off-by: Chris Wilson ---- -diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings -index 3eb0104..f1b17f4 100644 ---- a/build/configure.ac.warnings -+++ b/build/configure.ac.warnings -@@ -21,6 +21,9 @@ MAYBE_WARN="-Wall -Wextra \ - -Wno-missing-field-initializers -Wno-unused-parameter \ - -Wno-attributes -Wno-long-long -Winline" - -+# -Wunused-but-set-variable is too noisy at present -+NO_WARN="-Wno-unused-but-set-variable" -+ - dnl Sun Studio 12 likes to rag at us for abusing enums like - dnl having cairo_status_t variables hold cairo_int_status_t - dnl values. It's bad, we know. Now please be quiet. -@@ -34,6 +37,8 @@ MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common -flto" - dnl Also to turn various gcc/glibc-specific preprocessor checks - MAYBE_WARN="$MAYBE_WARN -Wp,-D_FORTIFY_SOURCE=2" - -+MAYBE_WARN="$MAYBE_WARN $NO_WARN" -+ - # invalidate cached value if MAYBE_WARN has changed - if test "x$cairo_cv_warn_maybe" != "x$MAYBE_WARN"; then - unset cairo_cv_warn_cflags --- -cgit v0.9.0.2-2-gbebe -From 7cb5053c0694992320b5f7ea3b91ea497431813b Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Mon, 09 Apr 2012 11:49:20 +0000 -Subject: analysis: Apply the integer translation to the bbox as well - -The bbox is used to compute the ink extents (and so the pattern extents -of a recording surface) and if given an integer translation we failed to -transform the bbox into the target space. - -Fixes mask (pdf). - -Signed-off-by: Chris Wilson ---- -diff --git a/src/cairo-analysis-surface.c b/src/cairo-analysis-surface.c -index b8abe02..8878f62 100644 ---- a/src/cairo-analysis-surface.c -+++ b/src/cairo-analysis-surface.c -@@ -220,6 +220,14 @@ _add_operation (cairo_analysis_surface_t *surface, - if (_cairo_matrix_is_integer_translation (&surface->ctm, &tx, &ty)) { - rect->x += tx; - rect->y += ty; -+ -+ tx = _cairo_fixed_from_int (tx); -+ bbox.p1.x += tx; -+ bbox.p2.x += tx; -+ -+ ty = _cairo_fixed_from_int (ty); -+ bbox.p1.y += ty; -+ bbox.p2.y += ty; - } else { - _cairo_matrix_transform_bounding_box_fixed (&surface->ctm, - &bbox, NULL); --- -cgit v0.9.0.2-2-gbebe -From 038e4991912656a3239ca82d60056ca129016ba6 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Mon, 09 Apr 2012 08:31:44 +0000 -Subject: pdf: avoid unnecessary use of patterns in mask groups - ---- -diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c -index 4930e72..78537ce 100644 ---- a/src/cairo-pdf-surface.c -+++ b/src/cairo-pdf-surface.c -@@ -5703,56 +5703,68 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, - if (unlikely (status)) - return status; - -- pattern_res.id = 0; -- gstate_res.id = 0; -- status = _cairo_pdf_surface_add_pdf_pattern (surface, group->mask, NULL, -- &pattern_res, &gstate_res); -- if (unlikely (status)) -- return status; -- -- if (gstate_res.id != 0) { -- smask_group = _cairo_pdf_surface_create_smask_group (surface, &group->extents); -- if (unlikely (smask_group == NULL)) -- return _cairo_error (CAIRO_STATUS_NO_MEMORY); -- -- smask_group->width = group->width; -- smask_group->height = group->height; -- smask_group->operation = PDF_PAINT; -- smask_group->source = cairo_pattern_reference (group->mask); -- smask_group->source_res = pattern_res; -- status = _cairo_pdf_surface_add_smask_group (surface, smask_group); -- if (unlikely (status)) { -- _cairo_pdf_smask_group_destroy (smask_group); -- return status; -- } -- -- status = _cairo_pdf_surface_add_smask (surface, gstate_res); -- if (unlikely (status)) -- return status; -- -- status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); -+ if (_can_paint_pattern (group->mask)) { -+ _cairo_output_stream_printf (surface->output, "q\n"); -+ status = _cairo_pdf_surface_paint_pattern (surface, -+ group->mask, -+ &group->extents, -+ FALSE); - if (unlikely (status)) - return status; - -- _cairo_output_stream_printf (surface->output, -- "q /s%d gs /x%d Do Q\n", -- gstate_res.id, -- smask_group->group_res.id); -+ _cairo_output_stream_printf (surface->output, "Q\n"); - } else { -- status = _cairo_pdf_surface_select_pattern (surface, group->mask, pattern_res, FALSE); -+ pattern_res.id = 0; -+ gstate_res.id = 0; -+ status = _cairo_pdf_surface_add_pdf_pattern (surface, group->mask, NULL, -+ &pattern_res, &gstate_res); - if (unlikely (status)) - return status; - -- _cairo_output_stream_printf (surface->output, -- "%f %f %f %f re f\n", -- bbox.p1.x, -- bbox.p1.y, -- bbox.p2.x - bbox.p1.x, -- bbox.p2.y - bbox.p1.y); -+ if (gstate_res.id != 0) { -+ smask_group = _cairo_pdf_surface_create_smask_group (surface, &group->extents); -+ if (unlikely (smask_group == NULL)) -+ return _cairo_error (CAIRO_STATUS_NO_MEMORY); - -- status = _cairo_pdf_surface_unselect_pattern (surface); -- if (unlikely (status)) -- return status; -+ smask_group->width = group->width; -+ smask_group->height = group->height; -+ smask_group->operation = PDF_PAINT; -+ smask_group->source = cairo_pattern_reference (group->mask); -+ smask_group->source_res = pattern_res; -+ status = _cairo_pdf_surface_add_smask_group (surface, smask_group); -+ if (unlikely (status)) { -+ _cairo_pdf_smask_group_destroy (smask_group); -+ return status; -+ } -+ -+ status = _cairo_pdf_surface_add_smask (surface, gstate_res); -+ if (unlikely (status)) -+ return status; -+ -+ status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); -+ if (unlikely (status)) -+ return status; -+ -+ _cairo_output_stream_printf (surface->output, -+ "q /s%d gs /x%d Do Q\n", -+ gstate_res.id, -+ smask_group->group_res.id); -+ } else { -+ status = _cairo_pdf_surface_select_pattern (surface, group->mask, pattern_res, FALSE); -+ if (unlikely (status)) -+ return status; -+ -+ _cairo_output_stream_printf (surface->output, -+ "%f %f %f %f re f\n", -+ bbox.p1.x, -+ bbox.p1.y, -+ bbox.p2.x - bbox.p1.x, -+ bbox.p2.y - bbox.p1.y); -+ -+ status = _cairo_pdf_surface_unselect_pattern (surface); -+ if (unlikely (status)) -+ return status; -+ } - } - - status = _cairo_pdf_surface_close_group (surface, &mask_group); -@@ -5764,54 +5776,66 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, - if (unlikely (status)) - return status; - -- pattern_res.id = 0; -- gstate_res.id = 0; -- status = _cairo_pdf_surface_add_pdf_pattern (surface, group->source, NULL, -- &pattern_res, &gstate_res); -- if (unlikely (status)) -- return status; -- -- if (gstate_res.id != 0) { -- smask_group = _cairo_pdf_surface_create_smask_group (surface, &group->extents); -- if (unlikely (smask_group == NULL)) -- return _cairo_error (CAIRO_STATUS_NO_MEMORY); -- -- smask_group->operation = PDF_PAINT; -- smask_group->source = cairo_pattern_reference (group->source); -- smask_group->source_res = pattern_res; -- status = _cairo_pdf_surface_add_smask_group (surface, smask_group); -- if (unlikely (status)) { -- _cairo_pdf_smask_group_destroy (smask_group); -- return status; -- } -- -- status = _cairo_pdf_surface_add_smask (surface, gstate_res); -- if (unlikely (status)) -- return status; -- -- status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); -+ if (_can_paint_pattern (group->source)) { -+ _cairo_output_stream_printf (surface->output, "q\n"); -+ status = _cairo_pdf_surface_paint_pattern (surface, -+ group->source, -+ &group->extents, -+ FALSE); - if (unlikely (status)) - return status; - -- _cairo_output_stream_printf (surface->output, -- "q /s%d gs /x%d Do Q\n", -- gstate_res.id, -- smask_group->group_res.id); -+ _cairo_output_stream_printf (surface->output, "Q\n"); - } else { -- status = _cairo_pdf_surface_select_pattern (surface, group->source, pattern_res, FALSE); -+ pattern_res.id = 0; -+ gstate_res.id = 0; -+ status = _cairo_pdf_surface_add_pdf_pattern (surface, group->source, NULL, -+ &pattern_res, &gstate_res); - if (unlikely (status)) - return status; - -- _cairo_output_stream_printf (surface->output, -- "%f %f %f %f re f\n", -- bbox.p1.x, -- bbox.p1.y, -- bbox.p2.x - bbox.p1.x, -- bbox.p2.y - bbox.p1.y); -+ if (gstate_res.id != 0) { -+ smask_group = _cairo_pdf_surface_create_smask_group (surface, &group->extents); -+ if (unlikely (smask_group == NULL)) -+ return _cairo_error (CAIRO_STATUS_NO_MEMORY); - -- status = _cairo_pdf_surface_unselect_pattern (surface); -- if (unlikely (status)) -- return status; -+ smask_group->operation = PDF_PAINT; -+ smask_group->source = cairo_pattern_reference (group->source); -+ smask_group->source_res = pattern_res; -+ status = _cairo_pdf_surface_add_smask_group (surface, smask_group); -+ if (unlikely (status)) { -+ _cairo_pdf_smask_group_destroy (smask_group); -+ return status; -+ } -+ -+ status = _cairo_pdf_surface_add_smask (surface, gstate_res); -+ if (unlikely (status)) -+ return status; -+ -+ status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); -+ if (unlikely (status)) -+ return status; -+ -+ _cairo_output_stream_printf (surface->output, -+ "q /s%d gs /x%d Do Q\n", -+ gstate_res.id, -+ smask_group->group_res.id); -+ } else { -+ status = _cairo_pdf_surface_select_pattern (surface, group->source, pattern_res, FALSE); -+ if (unlikely (status)) -+ return status; -+ -+ _cairo_output_stream_printf (surface->output, -+ "%f %f %f %f re f\n", -+ bbox.p1.x, -+ bbox.p1.y, -+ bbox.p2.x - bbox.p1.x, -+ bbox.p2.y - bbox.p1.y); -+ -+ status = _cairo_pdf_surface_unselect_pattern (surface); -+ if (unlikely (status)) -+ return status; -+ } - } - - status = _cairo_pdf_surface_close_group (surface, NULL); --- -cgit v0.9.0.2-2-gbebe -From 9fcbe25c2dcf831783bb0fd20af9754c0b5c409b Mon Sep 17 00:00:00 2001 -From: Maarten Bosmans -Date: Mon, 09 Apr 2012 19:33:50 +0000 -Subject: Protect code using dlfcn.h with CAIRO_HAS_DLSYM - ---- -diff --git a/configure.ac b/configure.ac -index cedfebe..5d2e6ec 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -52,6 +52,7 @@ AM_CONDITIONAL(CAIRO_HAS_DL, test "x$have_dl" = "xyes") - if test "x$have_dlsym" = "xyes"; then - AC_DEFINE([CAIRO_HAS_DLSYM], 1, [Define to 1 if dlsym is available]) - fi -+AM_CONDITIONAL(CAIRO_HAS_DLSYM, test "x$have_dlsym" = "xyes") - - dnl =========================================================================== - -diff --git a/util/Makefile.am b/util/Makefile.am -index f202f35..82d0a80 100644 ---- a/util/Makefile.am -+++ b/util/Makefile.am -@@ -12,20 +12,24 @@ endif - - if CAIRO_HAS_TRACE - SUBDIRS += cairo-trace -+if CAIRO_HAS_DLSYM - if CAIRO_HAS_SCRIPT_SURFACE - if CAIRO_HAS_TEE_SURFACE - SUBDIRS += cairo-fdr - endif - endif - endif -+endif - - if BUILD_SPHINX -+if CAIRO_HAS_DLSYM - if CAIRO_HAS_SCRIPT_SURFACE - if CAIRO_HAS_TEE_SURFACE - SUBDIRS += cairo-sphinx - endif - endif - endif -+endif - - AM_CPPFLAGS = -I$(top_srcdir)/src \ - -I$(top_builddir)/src \ --- -cgit v0.9.0.2-2-gbebe -From c7b86ab97be1d3d3ccf43b652832f148a2fcf290 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Tue, 10 Apr 2012 13:04:05 +0000 -Subject: any2ppm: fix missing enumeration warning - ---- -diff --git a/test/any2ppm.c b/test/any2ppm.c -index 6b61c47..2403347 100644 ---- a/test/any2ppm.c -+++ b/test/any2ppm.c -@@ -193,6 +193,7 @@ write_ppm (cairo_surface_t *surface, int fd) - break; - case CAIRO_FORMAT_A1: - case CAIRO_FORMAT_RGB16_565: -+ case CAIRO_FORMAT_RGB30: - case CAIRO_FORMAT_INVALID: - default: - return "unhandled image format"; --- -cgit v0.9.0.2-2-gbebe -From 09de481ce5f6ed1c38c0d5bf3af7c60642c4c947 Mon Sep 17 00:00:00 2001 -From: Gilles Espinasse -Date: Sat, 07 Apr 2012 21:09:51 +0000 -Subject: Cosmetic configure fix - -'how to allow undefined symbols in shared libraries' test should use CAIRO_CC_TRY_FLAG_SILENT or configure display is a bit out of order like this - -checking how to allow undefined symbols in shared libraries used by test suite... checking whether gcc supports -Wl,--allow-shlib-undefined... yes --Wl,--allow-shlib-undefined - -Signed-off-by: Gilles Espinasse -Signed-off-by: Uli Schlachter ---- -diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings -index f1b17f4..3b2c6f3 100644 ---- a/build/configure.ac.warnings -+++ b/build/configure.ac.warnings -@@ -89,7 +89,7 @@ AC_DEFINE_UNQUOTED([WARN_UNUSED_RESULT], [$cairo_cv_warn_unused_result], - - dnl check linker flags - AC_CACHE_CHECK([how to allow undefined symbols in shared libraries used by test suite], cairo_cv_test_undefined_ldflags, -- [CAIRO_CC_TRY_FLAG([-Wl,--allow-shlib-undefined], [], -+ [CAIRO_CC_TRY_FLAG_SILENT([-Wl,--allow-shlib-undefined], [], - [cairo_cv_test_undefined_ldflags="-Wl,--allow-shlib-undefined]")]) - CAIRO_TEST_UNDEFINED_LDFLAGS="$cairo_cv_test_undefined_ldflags" - AC_SUBST(CAIRO_TEST_UNDEFINED_LDFLAGS) --- -cgit v0.9.0.2-2-gbebe -From 07fc63676dfdaa57ed919ad7be8f59c97c615473 Mon Sep 17 00:00:00 2001 -From: Uli Schlachter -Date: Wed, 11 Apr 2012 19:37:55 +0000 -Subject: xlib: Disable fallback compositor with xlib-xcb - -When xlib-xcb is enabled, this is just dead code which is never used. Thus, this -shouldn't hurt. However, this does include cairo-xlib-private.h. Shouldn't be a -problem? Well, that header contains static inline functions which some compiler -on Solaris will emit even when they are unused. - -This brings us to the real problem: That static inline function refers to a -function which isn't compiled with xlib-xcb and thus linking fails with -undefined symbols. - -This can be reproduced with GCC by adding a call to -_cairo_xlib_screen_put_gc(NULL, NULL, 0, 0); to -_cairo_xlib_fallback_compositor_get. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48489 -Signed-off-by: Uli Schlachter ---- -diff --git a/src/cairo-xlib-fallback-compositor.c b/src/cairo-xlib-fallback-compositor.c -index 5391926..7d45cd1 100644 ---- a/src/cairo-xlib-fallback-compositor.c -+++ b/src/cairo-xlib-fallback-compositor.c -@@ -42,6 +42,8 @@ - - #include "cairoint.h" - -+#if !CAIRO_HAS_XLIB_XCB_FUNCTIONS -+ - #include "cairo-xlib-private.h" - - #include "cairo-compositor-private.h" -@@ -52,3 +54,5 @@ _cairo_xlib_fallback_compositor_get (void) - /* XXX Do something interesting here to mitigate fallbacks ala xcb */ - return &_cairo_fallback_compositor; - } -+ -+#endif /* !CAIRO_HAS_XLIB_XCB_FUNCTIONS */ --- -cgit v0.9.0.2-2-gbebe diff --git a/multilib-testing/lib32-glib2/PKGBUILD b/multilib-testing/lib32-glib2/PKGBUILD deleted file mode 100644 index 62772f665..000000000 --- a/multilib-testing/lib32-glib2/PKGBUILD +++ /dev/null @@ -1,40 +0,0 @@ -# $Id: PKGBUILD 69968 2012-04-27 12:03:19Z lcarlier $ -# Maintainer: Ionut Biru -# Contributor: Pierre Schmitz -# Contributor: Mikko Seppälä - -_pkgbasename=glib2 -pkgname=lib32-$_pkgbasename -pkgver=2.32.1 -pkgrel=3 -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.32/glib-${pkgver}.tar.xz) -sha256sums=('484d5b7fc09f3fa398355adaf74b369768f5859866c299f229c99721990f8398') - -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,lib32/gdbus-2.0} -} diff --git a/multilib-testing/lib32-libffi/PKGBUILD b/multilib-testing/lib32-libffi/PKGBUILD deleted file mode 100644 index f9d2cf31e..000000000 --- a/multilib-testing/lib32-libffi/PKGBUILD +++ /dev/null @@ -1,42 +0,0 @@ -# $Id: PKGBUILD 69958 2012-04-27 07:21:50Z lcarlier $ -# Maintainer: Jan de Groot - -pkgname=lib32-libffi -pkgver=3.0.11 -pkgrel=1 -pkgdesc="A portable, high level programming interface to various calling conventions (32 bits version)" -arch=('x86_64') -license=('MIT') -url="http://sourceware.org/libffi" -depends=('lib32-glibc') -checkdepends=('dejagnu') -options=('!libtool') -source=(ftp://sourceware.org/pub/libffi/libffi-${pkgver}.tar.gz) -md5sums=('f69b9693227d976835b4857b1ba7d0e3') - -build() { - cd "${srcdir}/libffi-${pkgver}" - - export CC="gcc -m32" - - ./configure --prefix=/usr \ - --libdir=/usr/lib32 --libexecdir=/usr/lib32 - - make -} - -check() { - cd "${srcdir}/libffi-${pkgver}" - - make check -} - -package() { - cd "${srcdir}/libffi-${pkgver}" - - make DESTDIR="${pkgdir}" install - - install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" - install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" - rm -r "${pkgdir}"/usr/share/{info,man} -} diff --git a/multilib-testing/lib32-llvm/PKGBUILD b/multilib-testing/lib32-llvm/PKGBUILD deleted file mode 100644 index 143037d3b..000000000 --- a/multilib-testing/lib32-llvm/PKGBUILD +++ /dev/null @@ -1,96 +0,0 @@ -# $Id: PKGBUILD 70100 2012-04-29 10:00:59Z lcarlier $ -# Maintainer: Evangelos Foutras -# Contributor: Jan "heftig" Steffens -# Contributor: Sebastian Nowicki -# Contributor: Devin Cofer -# Contributor: Tobias Kieslich -# Contributor: Geoffroy Carrier -# Contributor: Tomas Lindquist Olsen -# Contributor: Roberto Alsina -# Contributor: Gerardo Exequiel Pozzi - -pkgname=('lib32-llvm') -pkgver=3.0 -pkgrel=3 -arch=('x86_64') -url="http://llvm.org/" -license=('custom:University of Illinois/NCSA Open Source License') -makedepends=('lib32-libffi' 'python2' 'gcc-multilib') -source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.tar.gz) -sha256sums=('519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477') - -build() { - cd "$srcdir/llvm-$pkgver.src" - - export CC="gcc -m32" - export CXX="g++ -m32" - export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - - # Fix installation directories, ./configure doesn't seem to set them right - sed -i -e 's:\$(PROJ_prefix)/etc/llvm:/etc/llvm:' \ - -e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib32/llvm:' \ - -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \ - Makefile.config.in - - # Fix insecure rpath (http://bugs.archlinux.org/task/14017) - sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules - - # Apply strip option to configure - _optimized_switch="enable" - [[ $(check_option strip) == n ]] && _optimized_switch="disable" - - # Include location of libffi headers in CPPFLAGS - export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)" - - ./configure \ - --prefix=/usr \ - --libdir=/usr/lib32/llvm \ - --sysconfdir=/etc \ - --enable-shared \ - --enable-libffi \ - --enable-targets=all \ - --disable-expensive-checks \ - --disable-debug-runtime \ - --disable-assertions \ - --with-binutils-include=/usr/include \ - --with-cxx-include-arch=$CHOST \ - --$_optimized_switch-optimized - - make REQUIRES_RTTI=1 -} - -package() { - pkgdesc="Low Level Virtual Machine (32 bits version)" - depends=('perl' 'lib32-libffi' 'llvm') - - cd "$srcdir/llvm-$pkgver.src" - - # We move the clang directory out of the tree so it won't get installed and - # then we bring it back in for the clang package - # mv tools/clang "$srcdir" - # -j1 is due to race conditions during the installation of the OCaml bindings - make -j1 DESTDIR="$pkgdir" install - - # Fix permissions of static libs - chmod -x "$pkgdir"/usr/lib32/llvm/*.a - - # Fix libdir in llvm-config (http://bugs.archlinux.org/task/14487) - sed -i 's:ABS_RUN_DIR/lib:ABS_RUN_DIR/lib32/llvm:' "$pkgdir/usr/bin/llvm-config" - mv "$pkgdir/usr/bin/llvm-config" "$pkgdir/usr/lib32/llvm-config" - - # Get rid of example Hello transformation - rm "$pkgdir"/usr/lib32/llvm/*LLVMHello.* - - # Symlink the gold plugin where clang expects it - ln -s llvm/LLVMgold.so "$pkgdir/usr/lib32/LLVMgold.so" - - # Add ld.so.conf.d entry - install -d "$pkgdir/etc/ld.so.conf.d" - echo /usr/lib32/llvm >"$pkgdir/etc/ld.so.conf.d/llvm32.conf" - - install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" - - rm -r "$pkgdir"/usr/{bin,include,share/{doc,man}} - mkdir "$pkgdir"/usr/bin - mv "$pkgdir/usr/lib32/llvm-config" "$pkgdir/usr/bin/llvm-config32" -} diff --git a/multilib-testing/lib32-llvm/cindexer-clang-path.patch b/multilib-testing/lib32-llvm/cindexer-clang-path.patch deleted file mode 100644 index ddaab690e..000000000 --- a/multilib-testing/lib32-llvm/cindexer-clang-path.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- tools/libclang/CIndexer.cpp.orig 2011-04-07 13:08:24.000000000 +0300 -+++ tools/libclang/CIndexer.cpp 2011-04-07 13:11:52.224884642 +0300 -@@ -80,6 +80,7 @@ std::string CIndexer::getClangResourcesP - - // We now have the CIndex directory, locate clang relative to it. - LibClangPath.eraseComponent(); -+ LibClangPath.eraseComponent(); - #endif - - LibClangPath.appendComponent("clang"); diff --git a/multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch b/multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch deleted file mode 100644 index f46eb9fce..000000000 --- a/multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -upr llvm-2.7.orig/autoconf/ExportMap.map llvm-2.7/autoconf/ExportMap.map ---- llvm-2.7.orig/autoconf/ExportMap.map 2010-02-25 00:33:41.000000000 +0200 -+++ llvm-2.7/autoconf/ExportMap.map 2010-05-10 14:14:22.000000000 +0300 -@@ -2,6 +2,7 @@ - global: main; - __progname; - environ; -+ _ZN4llvm8RegistryIN5clang14FrontendActionENS_14RegistryTraitsIS2_EEE4HeadE; - - local: *; - }; diff --git a/multilib-testing/lib32-llvm/clang-pure64.patch b/multilib-testing/lib32-llvm/clang-pure64.patch deleted file mode 100644 index 9bbbfaa8b..000000000 --- a/multilib-testing/lib32-llvm/clang-pure64.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: lib/Driver/Tools.cpp -=================================================================== ---- lib/Driver/Tools.cpp (revision 123373) -+++ lib/Driver/Tools.cpp (working copy) -@@ -3306,7 +3306,7 @@ - else if (ToolChain.getArch() == llvm::Triple::ppc64) - CmdArgs.push_back("/lib64/ld64.so.1"); - else -- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); -+ CmdArgs.push_back("/lib/ld-linux-x86-64.so.2"); - } - - CmdArgs.push_back("-o"); diff --git a/multilib-testing/lib32-llvm/enable-lto.patch b/multilib-testing/lib32-llvm/enable-lto.patch deleted file mode 100644 index 3c8691b17..000000000 --- a/multilib-testing/lib32-llvm/enable-lto.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: lib/Driver/ToolChains.cpp -=================================================================== ---- lib/Driver/ToolChains.cpp (revision 123373) -+++ lib/Driver/ToolChains.cpp (working copy) -@@ -1398,7 +1398,7 @@ - PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + - GCCInstallation.getTriple() + "/bin").str()); - -- Linker = GetProgramPath("ld"); -+ Linker = GetProgramPath("ld.gold"); - - LinuxDistro Distro = DetectLinuxDistro(Arch); - -Index: lib/Driver/Tools.cpp -=================================================================== ---- lib/Driver/Tools.cpp (revision 123373) -+++ lib/Driver/Tools.cpp (working copy) -@@ -3412,11 +3412,11 @@ - } - } - -- if (Args.hasArg(options::OPT_use_gold_plugin)) { -+ // if (Args.hasArg(options::OPT_use_gold_plugin)) { - CmdArgs.push_back("-plugin"); -- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; -+ std::string Plugin = ToolChain.getDriver().Dir + "/../lib/llvm/LLVMgold.so"; - CmdArgs.push_back(Args.MakeArgString(Plugin)); -- } -+ // } - - C.addCommand(new Command(JA, *this, ToolChain.Linker.c_str(), CmdArgs)); - } diff --git a/multilib-testing/lib32-llvm/fix-gold-lto-linking.patch b/multilib-testing/lib32-llvm/fix-gold-lto-linking.patch deleted file mode 100644 index 84d166471..000000000 --- a/multilib-testing/lib32-llvm/fix-gold-lto-linking.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -upr llvm-3.0.src.orig/tools/gold/Makefile llvm-3.0.src/tools/gold/Makefile ---- llvm-3.0.src.orig/tools/gold/Makefile 2011-05-31 23:00:45.000000000 +0300 -+++ llvm-3.0.src/tools/gold/Makefile 2011-12-04 22:06:59.000000000 +0200 -@@ -26,6 +26,6 @@ LINK_COMPONENTS := support - # Because off_t is used in the public API, the largefile parts are required for - # ABI compatibility. - CXXFLAGS+=-I$(BINUTILS_INCDIR) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 --CXXFLAGS+=$(SharedLibDir)/$(SharedPrefix)LTO$(SHLIBEXT) -+CXXFLAGS+=-L $(SharedLibDir) -lLTO - - include $(LEVEL)/Makefile.common -- cgit v1.2.3-54-g00ecf