summaryrefslogtreecommitdiff
path: root/multilib-testing
diff options
context:
space:
mode:
Diffstat (limited to 'multilib-testing')
-rw-r--r--multilib-testing/gcc-multilib/PKGBUILD313
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch24
-rw-r--r--multilib-testing/gcc-multilib/gcc-ada.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc-fortran.install16
-rw-r--r--multilib-testing/gcc-multilib/gcc-go.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc-libs.install16
-rw-r--r--multilib-testing/gcc-multilib/gcc.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc_pure64-multilib.patch22
-rw-r--r--multilib-testing/lib32-cairo/PKGBUILD42
-rw-r--r--multilib-testing/lib32-cairo/cairo-1.10.0-buggy_gradients.patch13
-rw-r--r--multilib-testing/lib32-cairo/git_fixes.patch1086
-rw-r--r--multilib-testing/lib32-glib2/PKGBUILD40
-rw-r--r--multilib-testing/lib32-libffi/PKGBUILD42
-rw-r--r--multilib-testing/lib32-llvm/PKGBUILD96
-rw-r--r--multilib-testing/lib32-llvm/cindexer-clang-path.patch10
-rw-r--r--multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch11
-rw-r--r--multilib-testing/lib32-llvm/clang-pure64.patch13
-rw-r--r--multilib-testing/lib32-llvm/enable-lto.patch32
-rw-r--r--multilib-testing/lib32-llvm/fix-gold-lto-linking.patch11
19 files changed, 0 insertions, 1847 deletions
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 <jan.steffens@gmail.com>
-# Contributor: Allan McRae <allan@archlinux.org>
-
-# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-# NOTE: libtool requires rebuilt with each new gcc version
-
-pkgbase='gcc-multilib'
-pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib')
-pkgver=4.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 <ibiru@archlinux.org>
-
-_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 <behdad@behdad.org>
-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 <hsong@sisa.samsung.com>
-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 <chris@chris-wilson.co.uk>
-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 <chris@chris-wilson.co.uk>
----
-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 <chris@chris-wilson.co.uk>
-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 <chris@chris-wilson.co.uk>
----
-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 <hsong@sisa.samsung.com>
-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 <psychon@znc.in>
-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 <psychon@znc.in>
----
-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 <hsong@sisa.samsung.com>
-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 <ajohnson@redneon.com>
-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 <ajohnson@redneon.com>
-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 <ajohnson@redneon.com>
-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 <ajohnson@redneon.com>
-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 <ajohnson@redneon.com>
-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 <float.h>
-
-@@ -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 <chris@chris-wilson.co.uk>
-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 <chris@chris-wilson.co.uk>
----
-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 <chris@chris-wilson.co.uk>
-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=<optimized out>, 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 <chris@chris-wilson.co.uk>
----
-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 <chris@chris-wilson.co.uk>
-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 <chris@chris-wilson.co.uk>
----
-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 <chris@chris-wilson.co.uk>
-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 <chris@chris-wilson.co.uk>
----
-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 <ajohnson@redneon.com>
-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 <mkbosmans@gmail.com>
-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 <ajohnson@redneon.com>
-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 <g.esp@free.fr>
-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 <g.esp@free.fr>
-Signed-off-by: Uli Schlachter <psychon@znc.in>
----
-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 <psychon@znc.in>
-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 <psychon@znc.in>
----
-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 <ibiru@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-# Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi>
-
-_pkgbasename=glib2
-pkgname=lib32-$_pkgbasename
-pkgver=2.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 <jgc@archlinux.org>
-
-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 <foutrelis@gmail.com>
-# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
-# Contributor: Sebastian Nowicki <sebnow@gmail.com>
-# Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us>
-# Contributor: Tobias Kieslich <tobias@justdreams.de>
-# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
-# Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk>
-# Contributor: Roberto Alsina <ralsina@kde.org>
-# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-
-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