diff options
author | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2012-04-21 16:19:09 -0300 |
---|---|---|
committer | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2012-04-21 16:19:09 -0300 |
commit | 6cfdf260dd579c730267c9588c695313279d3fab (patch) | |
tree | 059f1f461cbe4a4ea8b8d1296411f7393cfb4de5 /extra | |
parent | 6a9002279308864d7a5be176049268c45d87d201 (diff) | |
parent | 1bfe053fe69237a0413f791c7af5515f25264eee (diff) |
Merge branch 'master' of ssh://gparabola/abslibre-mips64el
Diffstat (limited to 'extra')
47 files changed, 1568 insertions, 218 deletions
diff --git a/extra/avahi/PKGBUILD b/extra/avahi/PKGBUILD index 1c1b4c30b..0b6b85c53 100644 --- a/extra/avahi/PKGBUILD +++ b/extra/avahi/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 155887 2012-04-08 22:28:42Z bisson $ +# $Id: PKGBUILD 156451 2012-04-18 12:14:05Z bisson $ # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=avahi pkgver=0.6.31 -pkgrel=2 +pkgrel=3 pkgdesc='Multicast/unicast DNS-SD framework' url='http://www.avahi.org/' license=('LGPL') @@ -36,7 +36,6 @@ sha1sums=('7e05bd78572c9088b03b1207a0ad5aba38490684' conflicts=('howl' 'mdnsresponder') provides=('howl' 'mdnsresponder') -replaces=('howl' 'mdnsresponder') install=install diff --git a/extra/cabal-install/PKGBUILD b/extra/cabal-install/PKGBUILD index 01aeeea8e..0dc8c8e87 100644 --- a/extra/cabal-install/PKGBUILD +++ b/extra/cabal-install/PKGBUILD @@ -3,29 +3,31 @@ # Contributor: Arch Haskell Team <arch-haskell@haskell.org> pkgname=cabal-install -pkgver=0.10.4 -pkgrel=3 +pkgver=0.14.0 +pkgrel=1 pkgdesc="The command-line interface for Cabal and Hackage." url="http://hackage.haskell.org/package/cabal-install" license=('custom:BSD3') arch=('i686' 'x86_64' 'mips64el') makedepends=('haskell-http=4000.2.2-1' 'haskell-zlib=0.5.3.3-3' 'haskell-mtl=2.0.1.0-4' 'haskell-network=2.3.0.11-1' 'haskell-random=1.0.1.1-1') depends=('ghc' 'gmp' 'zlib') -#source=(http://hackage.haskell.org/packages/archive/cabal-install/$pkgver/cabal-install-$pkgver.tar.gz) -# switch back to regular cabal-install once it gets updated... -source=("http://hackage.haskell.org/packages/archive/cabal-install-ghc74/${pkgver}/cabal-install-ghc74-${pkgver}.tar.gz") -md5sums=('49b3301cc80775ebf19fe9d949f15df5') +source=(http://hackage.haskell.org/packages/archive/cabal-install/$pkgver/cabal-install-$pkgver.tar.gz) +md5sums=('638514bd1a5792d75866481852148ae5') build() { - cd cabal-install-ghc74-${pkgver} + cd cabal-install-${pkgver} runhaskell Setup configure --enable-shared --enable-split-objs --enable-executable-stripping --prefix=/usr runhaskell Setup build } package() { - cd cabal-install-ghc74-${pkgver} + cd cabal-install-${pkgver} runhaskell Setup copy --destdir=$pkgdir - #install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE + + # rm license installed to wrong location + rm -rf ${pkgdir}/usr/share/doc + + install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE # add bash completion install -d ${pkgdir}/usr/share/bash-completion/completions diff --git a/extra/crypto++/PKGBUILD b/extra/crypto++/PKGBUILD index 198137f1f..aefbae61b 100644 --- a/extra/crypto++/PKGBUILD +++ b/extra/crypto++/PKGBUILD @@ -27,15 +27,13 @@ md5sums=('96cbeba0907562b077e26bcffb483828' build() { cd ${srcdir} -# cp "${srcdir}/GNUmakefile.parabola" GNUmakefile -# make -f GNUmakefile - # Fix gcc 4.7 build patch -Np1 -i "${srcdir}/gcc4.7.patch" - sed -i -e 's/^CXXFLAGS/#CXXFLAGS/' GNUmakefile - export CXXFLAGS="${CXXFLAGS} -DNDEBUG -fPIC" - make -f GNUmakefile + # The upstream build system expects this file to be modified + # to e.g. use system CFLAGS or use features of modern linkers. + cp "${srcdir}/GNUmakefile.parabola" GNUmakefile + make -f GNUmakefile make libcryptopp.so } diff --git a/extra/efibootmgr/PKGBUILD b/extra/efibootmgr/PKGBUILD index d1a44c69e..0fd7bb248 100755 --- a/extra/efibootmgr/PKGBUILD +++ b/extra/efibootmgr/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 149530 2012-02-08 11:51:04Z tpowa $ +# $Id: PKGBUILD 156423 2012-04-18 07:53:47Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor : Murtuza Akhtari <inxsible at gmail dot com> # Contributor: Keshav P R <skodabenz at rocketmail dot com> pkgname=efibootmgr pkgver=0.5.4 -pkgrel=2 +pkgrel=3 pkgdesc="Tool to modify UEFI Firmware Boot Manager Variables." arch=('i686' 'x86_64') url="http://linux.dell.com/efibootmgr/" @@ -49,4 +49,4 @@ package() { } md5sums=('cfcf24752d6461b73f7ba964bbf73169' '29730052de0d6911457a26011f8ddb6e' - 'd31f3c378cf8aac57b71620340c68b24') + 'b99b8f79842b96c241a0b0fcfb75c778') diff --git a/extra/efibootmgr/efibootmgr_default_to_grub2.patch b/extra/efibootmgr/efibootmgr_default_to_grub2.patch index 1a1b3c69f..35207298f 100755 --- a/extra/efibootmgr/efibootmgr_default_to_grub2.patch +++ b/extra/efibootmgr/efibootmgr_default_to_grub2.patch @@ -7,7 +7,7 @@ index 199af39..3826e03 100644 - This must tie the EFI_DEVICE_PATH to /boot/efi/elilo.efi -+ This must tie the EFI_DEVICE_PATH to /boot/efi/EFI/grub/grub.efi ++ This must tie the EFI_DEVICE_PATH to /boot/efi/EFI/arch_grub/grubx64.efi The EFI_DEVICE_PATH will look something like: ACPI device path, length 12 bytes Hardware Device Path, PCI, length 6 bytes @@ -26,8 +26,8 @@ index 199af39..3826e03 100644 printf("\t-i | --iface name create a netboot entry for the named interface\n"); - printf("\t-l | --loader name (defaults to \\elilo.efi)\n"); - printf("\t-L | --label label Boot manager display label (defaults to \"Linux\")\n"); -+ printf("\t-l | --loader name (defaults to \\EFI\\grub\\grub.efi)\n"); -+ printf("\t-L | --label label Boot manager display label (defaults to \"GRUB2\")\n"); ++ printf("\t-l | --loader name (defaults to \\EFI\\arch_grub\\grubx64.efi)\n"); ++ printf("\t-L | --label label Boot manager display label (defaults to \"Arch Linux (GRUB2)\")\n"); printf("\t-n | --bootnext XXXX set BootNext to XXXX (hex)\n"); printf("\t-N | --delete-bootnext delete BootNext\n"); printf("\t-o | --bootorder XXXX,YYYY,ZZZZ,... explicitly set BootOrder (hex)\n"); @@ -37,8 +37,9 @@ index 199af39..3826e03 100644 opts.edd10_devicenum = 0x80; - opts.loader = "\\elilo.efi"; - opts.label = "Linux"; -+ opts.loader = "\\EFI\\grub\\grub.efi"; -+ opts.label = "GRUB2"; ++ opts.loader = "\\EFI\\arch_grub\\grubx64.efi"; ++ opts.label = "Arch Linux (GRUB2)"; opts.disk = "/dev/sda"; opts.iface = NULL; opts.part = 1; + diff --git a/extra/freeciv/PKGBUILD b/extra/freeciv/PKGBUILD index d284831b3..08a0e8859 100644 --- a/extra/freeciv/PKGBUILD +++ b/extra/freeciv/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 143020 2011-11-21 02:06:36Z eric $ +# $Id: PKGBUILD 156372 2012-04-17 18:59:36Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=freeciv -pkgver=2.3.1 +pkgver=2.3.2 pkgrel=1 pkgdesc="A multiuser clone of the famous Microprose game of Civilization" arch=('i686' 'x86_64' 'mips64el') @@ -12,11 +12,11 @@ depends=('gtk2' 'sdl_mixer' 'hicolor-icon-theme') options=('!libtool') install=freeciv.install source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('9d9ee9f48f4c945fc6525139d340443d5a25aac4') +sha1sums=('e6267b5e0483cf9c29d01793d2f9433e73d62191') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --enable-client=gtk --enable-shared + ./configure --prefix=/usr --enable-client=gtk2 --enable-shared --without-ggz-client make } diff --git a/extra/ftgl/PKGBUILD b/extra/ftgl/PKGBUILD index 840803673..cff2cff4e 100644 --- a/extra/ftgl/PKGBUILD +++ b/extra/ftgl/PKGBUILD @@ -19,6 +19,10 @@ md5sums=('c7879018cde844059495b3029b0b6503') build() { cd "$srcdir/$pkgname-${_pkgver/-/~}" + + # Fix some missing libraries. Should be done in a different way. + sed -ri 's/.*_LDADD = .*/& $(GLUT_LIBS) $(GL_LIBS) -lm/' demo/Makefile.in + ./configure --prefix=/usr --with-pic make } diff --git a/extra/gnome-keyring-sharp/PKGBUILD b/extra/gnome-keyring-sharp/PKGBUILD index 734c0e2fe..37bd25238 100644 --- a/extra/gnome-keyring-sharp/PKGBUILD +++ b/extra/gnome-keyring-sharp/PKGBUILD @@ -1,14 +1,13 @@ -# $Id: PKGBUILD 150836 2012-02-23 12:21:20Z ibiru $ +# $Id: PKGBUILD 156470 2012-04-18 17:42:37Z daniel $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gnome-keyring-sharp pkgver=1.0.2 -pkgrel=3 +pkgrel=4 pkgdesc="A fully managed implementation of libgnome-keyring" arch=('i686' 'x86_64') url="http://www.mono-project.com/Libraries" license=('custom') -depends=('ndesk-dbus>=0.4' 'libgnome-keyring') -makedepends=('gtk-sharp-2') +depends=('libgnome-keyring' 'gtk-sharp-2') source=(http://www.go-mono.com/archive/${pkgname}/${pkgname}-${pkgver}.tar.gz) options=('!makeflags' '!libtool') md5sums=('f9a48319f3fe6123017b000d714d68b1') diff --git a/extra/gphoto2/PKGBUILD b/extra/gphoto2/PKGBUILD index 08b389fa0..a4f102a5f 100644 --- a/extra/gphoto2/PKGBUILD +++ b/extra/gphoto2/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 145713 2011-12-28 15:08:15Z jgc $ +# $Id: PKGBUILD 156272 2012-04-16 14:41:22Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Eduardo Romero <eduardo@archlinux.org> # Contributor: Jason Chu <jason@archlinux.org> pkgname=gphoto2 -pkgver=2.4.11 +pkgver=2.4.14 pkgrel=1 pkgdesc="A digital camera download and access program." arch=(i686 x86_64 'mips64el') url="http://www.gphoto.org" license=('GPL' 'LGPL') -depends=('libgphoto2>=2.4.11' 'popt' 'aalib' 'readline') +depends=('libgphoto2>=2.4.14' 'popt' 'readline') source=(http://downloads.sourceforge.net/gphoto/${pkgname}-${pkgver}.tar.bz2) -md5sums=('2635075f702b40eb2e95a80658bd4773') +md5sums=('60fd6e44d89592f6172227be67227636') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/imagemagick/PKGBUILD b/extra/imagemagick/PKGBUILD index 911ba9b54..3003bdf52 100644 --- a/extra/imagemagick/PKGBUILD +++ b/extra/imagemagick/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 154479 2012-03-29 01:47:21Z eric $ +# $Id: PKGBUILD 156324 2012-04-17 04:29:39Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgbase=imagemagick pkgname=('imagemagick' 'imagemagick-doc') -pkgver=6.7.6.2 +pkgver=6.7.6.5 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') url="http://www.imagemagick.org/" @@ -12,7 +12,7 @@ makedepends=('libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'ghostscript' \ 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper') source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \ perlmagick.rpath.patch) -sha1sums=('5411be21304520ae6a24d3f3e6d5c60eabdd57af' +sha1sums=('ecb6d2614ca8f44c1857ff28a88feb083403f7be' '23405f80904b1de94ebd7bd6fe2a332471b8c283') build() { diff --git a/extra/kdevelop-php/PKGBUILD b/extra/kdevelop-php/PKGBUILD index 0ada5f186..24397a3af 100644 --- a/extra/kdevelop-php/PKGBUILD +++ b/extra/kdevelop-php/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 153918 2012-03-20 14:06:28Z andrea $ +# $Id: PKGBUILD 156483 2012-04-19 10:23:39Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdevelop-php -pkgver=1.3.0 -_pkgver=4.3.0 +pkgver=1.3.1 +_pkgver=4.3.1 pkgrel=1 pkgdesc="PHP language and documentation plugin for KDevelop/Quanta" arch=('i686' 'x86_64' 'mips64el') @@ -14,8 +14,8 @@ makedepends=('cmake' 'automoc4') replaces=('kdevelop-php-docs') conflicts=('kdevelop-php-docs') source=(http://download.kde.org/stable/kdevelop/${_pkgver}/src/${pkgname}-{,docs-}${pkgver}.tar.bz2) -sha1sums=('8ae280cf5085c473b6b95b3683629b49d19dfe12' - '398001b7d192af4c71bddb246dfd59d61db02618') +sha1sums=('c5d31de0bf0ae4b242b6265851807e5b44606525' + '2b5c3dd2b26196a83bc95cfe8ee595e160f595f0') build() { cd "${srcdir}" diff --git a/extra/kdevelop/PKGBUILD b/extra/kdevelop/PKGBUILD index 2672dd3ee..ac6ba550d 100644 --- a/extra/kdevelop/PKGBUILD +++ b/extra/kdevelop/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 153916 2012-03-20 14:05:01Z andrea $ +# $Id: PKGBUILD 156481 2012-04-19 10:22:57Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> pkgname=kdevelop -pkgver=4.3.0 +pkgver=4.3.1 pkgrel=1 pkgdesc="A C/C++ development environment for KDE" arch=('i686' 'x86_64' 'mips64el') url="http://www.kdevelop.org/" license=('GPL') -depends=('kdebase-workspace' 'kdevplatform' 'kdesdk-okteta' 'kdebase-kwrite') +depends=('kdebase-workspace' 'kdevplatform' 'kdesdk-okteta' 'kdebase-katepart') makedepends=('cmake' 'automoc4') install="${pkgname}.install" source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('06a91f9ae0fc15bcec12a92bd9c30a7517b3b8e0') +sha1sums=('99596bf333bf5a62547f3dc0800674db146eb401') build() { cd "${srcdir}" diff --git a/extra/kdevplatform/PKGBUILD b/extra/kdevplatform/PKGBUILD index 9035fb008..6b81170cb 100644 --- a/extra/kdevplatform/PKGBUILD +++ b/extra/kdevplatform/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 153914 2012-03-20 14:01:46Z andrea $ +# $Id: PKGBUILD 156479 2012-04-19 10:22:22Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> pkgname=kdevplatform -pkgver=1.3.0 -_pkgver=4.3.0 +pkgver=1.3.1 +_pkgver=4.3.1 pkgrel=1 pkgdesc="A C/C++ development platform for KDE" arch=('i686' 'x86_64' 'mips64el') @@ -15,7 +15,7 @@ optdepends=("kdesdk-kompare: difference checking") makedepends=('cmake' 'automoc4' 'boost') install=${pkgname}.install source=("http://download.kde.org/stable/kdevelop/${_pkgver}/src/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('990ec335418445ae11b8ee11aa9a25729994de59') +sha1sums=('bba0cefdac6de83c8d3354534a94e8500dccda37') build() { cd "${srcdir}" diff --git a/extra/libdbusmenu-qt/PKGBUILD b/extra/libdbusmenu-qt/PKGBUILD index f31ab3657..d2279c606 100644 --- a/extra/libdbusmenu-qt/PKGBUILD +++ b/extra/libdbusmenu-qt/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 145876 2012-01-03 14:27:41Z andrea $ +# $Id: PKGBUILD 156245 2012-04-16 13:16:43Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=libdbusmenu-qt -pkgver=0.9.0 -pkgrel=2 +pkgver=0.9.2 +pkgrel=1 pkgdesc="A library that provides a Qt implementation of the DBusMenu spec" arch=('i686' 'x86_64' 'mips64el') url="https://launchpad.net/libdbusmenu-qt" @@ -11,7 +11,7 @@ license=('GPL') depends=('qt') makedepends=('cmake' 'doxygen' 'qjson') source=("http://launchpad.net/${pkgname}/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.bz2") -md5sums=('cc6b7b551377e2a07f6fa5afef0d29ff') +md5sums=('9a49484927669cd2ec91b3bf9ba8b79e') build() { cd "${srcdir}" diff --git a/extra/libgda/PKGBUILD b/extra/libgda/PKGBUILD index 145f1465c..4fcbe3c0e 100644 --- a/extra/libgda/PKGBUILD +++ b/extra/libgda/PKGBUILD @@ -12,7 +12,8 @@ depends=('gtksourceview3' 'libxslt' 'json-glib' 'db' 'ncurses' 'libsoup' 'libmysqlclient' 'postgresql-libs' 'python2' 'libgnome-keyring' 'hicolor-icon-theme' 'desktop-file-utils' 'graphviz' 'gdk-pixbuf2' 'iso-codes' 'openssl' 'libgcrypt' 'libldap') -makedepends=('intltool' 'gobject-introspection' 'openjdk6' 'gtk-doc' 'vala') +makedepends=('intltool' 'gobject-introspection' 'gtk-doc' 'vala') +[ "$CARCH" != "mips64el" ] && makedepends+=('openjdk6') options=('!libtool') url="http://www.gnome-db.org" install=libgda.install diff --git a/extra/libgphoto2/PKGBUILD b/extra/libgphoto2/PKGBUILD index 7c2ec9fbb..9319b51aa 100644 --- a/extra/libgphoto2/PKGBUILD +++ b/extra/libgphoto2/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 156010 2012-04-11 12:37:00Z tomegun $ +# $Id: PKGBUILD 156270 2012-04-16 14:30:06Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Tom Gundersen <teg@jklm.no> # Contributor: Eduardo Romero <eduardo@archlinux.org> # Contributor: Damir Perisa <damir.perisa@bluewin.ch> pkgname=libgphoto2 -pkgver=2.4.13 -pkgrel=2 +pkgver=2.4.14 +pkgrel=1 pkgdesc="The core library of gphoto2, designed to allow access to digital camera by external programs." arch=(i686 x86_64 'mips64el') url="http://www.gphoto.org" @@ -15,6 +15,7 @@ depends=('libexif' 'libjpeg>=8' 'gd' 'libltdl' 'libusb-compat' 'libusb') install=libgphoto2.install options=('libtool') source=(http://downloads.sourceforge.net/gphoto/${pkgname}-${pkgver}.tar.gz) +md5sums=('492bec63dd610906c3a28030be77e650') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -34,10 +35,9 @@ package() { install -m755 -d "${pkgdir}/usr/lib/udev/rules.d" LD_LIBRARY_PATH="${pkgdir}/usr/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" \ CAMLIBS="${pkgdir}/usr/lib/libgphoto2/${pkgver}" \ - "${pkgdir}/usr/lib/libgphoto2/print-camera-list" udev-rules version 136 > \ + "${pkgdir}/usr/lib/libgphoto2/print-camera-list" udev-rules version 175 > \ "${pkgdir}/usr/lib/udev/rules.d/40-gphoto.rules" # Remove recursive symlink rm -f "${pkgdir}/usr/include/gphoto2/gphoto2" } -md5sums=('7d8a1d3ae02069af381f07a0bb4bfc15') diff --git a/extra/libmp3splt/PKGBUILD b/extra/libmp3splt/PKGBUILD index cbbfc73de..e05ad6885 100644 --- a/extra/libmp3splt/PKGBUILD +++ b/extra/libmp3splt/PKGBUILD @@ -9,7 +9,7 @@ arch=('i686' 'x86_64' 'mips64el') url="http://mp3splt.sourceforge.net" license=('GPL') depends=('libmad' 'libvorbis' 'libid3tag' 'pcre' 'libltdl') -makedepends=('libtool') +makedepends=('libtool' 'git') options=('!libtool') source=("http://downloads.sourceforge.net/sourceforge/mp3splt/$pkgname-$pkgver.tar.gz") md5sums=('62025951f483334f14f1b9be58162094') diff --git a/extra/libmsn/PKGBUILD b/extra/libmsn/PKGBUILD index 5d2d00ee5..0fc891526 100644 --- a/extra/libmsn/PKGBUILD +++ b/extra/libmsn/PKGBUILD @@ -12,11 +12,15 @@ arch=('i686' 'x86_64' 'mips64el') license=('GPL2') depends=('openssl') makedepends=('cmake') -source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2") -md5sums=('38e46e589720eefd71f92b6b76993bf0') +source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2" + "gcc47.patch") +md5sums=('38e46e589720eefd71f92b6b76993bf0' + '23bbcfa0170aa1df8387ff6419057d7c') build() { - cd "${srcdir}" + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/gcc47.patch" + cd .. mkdir build cd build cmake ../${pkgname}-${pkgver} \ diff --git a/extra/libmsn/gcc47.patch b/extra/libmsn/gcc47.patch new file mode 100644 index 000000000..d8e128913 --- /dev/null +++ b/extra/libmsn/gcc47.patch @@ -0,0 +1,11 @@ +diff -ru libmsn-4.2.1.orig/msn/util.cpp libmsn-4.2.1/msn/util.cpp +--- libmsn-4.2.1.orig/msn/util.cpp 2012-04-18 19:02:12.447876971 +0200 ++++ libmsn-4.2.1/msn/util.cpp 2012-04-18 19:02:36.460762835 +0200 +@@ -30,6 +30,7 @@ + #include <openssl/rand.h> + #include <cstring> + #include <sys/timeb.h> ++#include <unistd.h> + #include "md5.h" + #include "libsiren/siren7.h" + diff --git a/extra/libofa/PKGBUILD b/extra/libofa/PKGBUILD index 0a6ad5c85..e1c7ef90b 100644 --- a/extra/libofa/PKGBUILD +++ b/extra/libofa/PKGBUILD @@ -16,11 +16,13 @@ source=("http://musicip-libofa.googlecode.com/files/$pkgname-$pkgver.tar.gz" 'gcc-4.patch' 'gcc4.3.patch' 'gcc4.5.patch' + 'gcc47.patch' 'libofa-0.9.3-curl-7.21.patch') md5sums=('51507d2c4b432bd2755f48d58471696e' 'a6f78b90bd0f4354d022a71c3e58ef6c' 'dd57db13770b8f8d196e8a3d3a50e713' 'c245363368d0e6fa2b4676364b81b74f' + '5b571a09118131d7f7c8b84617efba71' '2e1579d74613cfbb1799d0ab5f1a4cba') build() { @@ -28,6 +30,7 @@ build() { patch -p0 -i ${srcdir}/gcc-4.patch patch -p1 -i ${srcdir}/gcc4.3.patch patch -p1 -i ${srcdir}/gcc4.5.patch + patch -p1 -i ${srcdir}/gcc47.patch patch -p1 -i ${srcdir}/libofa-0.9.3-curl-7.21.patch ./configure --prefix=/usr make diff --git a/extra/libofa/gcc47.patch b/extra/libofa/gcc47.patch new file mode 100644 index 000000000..eb4b4ca20 --- /dev/null +++ b/extra/libofa/gcc47.patch @@ -0,0 +1,22 @@ +diff -ru libofa-0.9.3.orig/examples/uselame.cpp libofa-0.9.3/examples/uselame.cpp +--- libofa-0.9.3.orig/examples/uselame.cpp 2012-04-18 19:32:44.176037357 +0200 ++++ libofa-0.9.3/examples/uselame.cpp 2012-04-18 19:33:03.052805199 +0200 +@@ -12,6 +12,7 @@ + #else + #include <sys/wait.h> + #endif ++#include <unistd.h> + + AudioData *loadWaveFile(char *file); + +diff -ru libofa-0.9.3.orig/examples/wavefile.cpp libofa-0.9.3/examples/wavefile.cpp +--- libofa-0.9.3.orig/examples/wavefile.cpp 2012-04-18 19:32:44.176037357 +0200 ++++ libofa-0.9.3/examples/wavefile.cpp 2012-04-18 19:37:38.123467239 +0200 +@@ -11,6 +11,7 @@ + #include "io.h" + #endif + #include <fcntl.h> ++#include <unistd.h> + + static bool readBytes(int fd, unsigned char *buf, int size) { + int ct = 0; diff --git a/extra/libthai/PKGBUILD b/extra/libthai/PKGBUILD index cf684ed66..bb96277ef 100644 --- a/extra/libthai/PKGBUILD +++ b/extra/libthai/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 142250 2011-11-07 09:20:43Z jgc $ +# $Id: PKGBUILD 156262 2012-04-16 13:46:17Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Chaiwat Suttipongsakul <cwt114@gmail.com> pkgname=libthai -pkgver=0.1.16 +pkgver=0.1.17 pkgrel=1 pkgdesc="Thai language support routines" url="http://linux.thai.net/projects/libthai" @@ -13,7 +13,7 @@ depends=('libdatrie') makedepends=('pkgconfig') options=('!libtool' '!emptydirs') source=(http://linux.thai.net/pub/thailinux/software/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('631ae09f531db6c94aedcc7ce226d6a5') +md5sums=('d94ddbf5e5a09a911c459f0a4ad1c041') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/link-grammar/PKGBUILD b/extra/link-grammar/PKGBUILD index 410fd6601..e0e2ba520 100644 --- a/extra/link-grammar/PKGBUILD +++ b/extra/link-grammar/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 143897 2011-11-30 19:52:19Z giovanni $ +# $Id: PKGBUILD 156475 2012-04-19 09:19:16Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=link-grammar -pkgver=4.7.4 -pkgrel=2 +pkgver=4.7.5 +pkgrel=1 pkgdesc="A Grammar Checking library" arch=('i686' 'x86_64' 'mips64el') url="http://www.abisource.com/downloads/link-grammar/" @@ -12,7 +12,7 @@ license=('BSD') depends=('glibc') options=('!libtool' '!makeflags') source=("http://www.abisource.com/downloads/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz") -md5sums=('e90e702a953641713a1292db20677bd2') +md5sums=('598e531d8f213e0a2b211631e5c7e5bb') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/live-media/PKGBUILD b/extra/live-media/PKGBUILD index 9a03cf8e0..b3b1cfdc7 100644 --- a/extra/live-media/PKGBUILD +++ b/extra/live-media/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 155693 2012-04-05 06:04:51Z giovanni $ +# $Id: PKGBUILD 156477 2012-04-19 09:35:14Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Gilles CHAUVIN <gcnweb@gmail.com> pkgname=live-media -pkgver=2012.04.04 +pkgver=2012.04.18 pkgrel=1 pkgdesc="A set of C++ libraries for multimedia streaming" arch=('i686' 'x86_64' 'mips64el') @@ -11,7 +11,7 @@ license=('LGPL') url="http://live555.com/liveMedia" depends=('gcc-libs') source=("http://live555.com/liveMedia/public/live.${pkgver}.tar.gz") -md5sums=('25ad098a6e4a2e329ca6295a9ba27074') +md5sums=('52248a7081e2989777258df4e37be966') build() { cd ${srcdir}/live @@ -28,7 +28,7 @@ build() { package() { cd ${srcdir}/live - for dir in BasicUsageEnvironment UsageEnvironment groupsock liveMedia; do + for dir in BasicUsageEnvironment groupsock liveMedia UsageEnvironment; do install -dm755 ${pkgdir}/usr/{bin,lib,include/${dir}} install -m644 ${dir}/*.a "${pkgdir}/usr/lib" install -m644 ${dir}/include/*.h* "${pkgdir}/usr/include/${dir}" diff --git a/extra/llvm/PKGBUILD b/extra/llvm/PKGBUILD index 49238012b..262416a74 100644 --- a/extra/llvm/PKGBUILD +++ b/extra/llvm/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 156067 2012-04-12 16:34:12Z foutrelis $ +# $Id: PKGBUILD 156168 2012-04-15 04:29:31Z heftig $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Sebastian Nowicki <sebnow@gmail.com> @@ -11,7 +11,7 @@ pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer') pkgver=3.0 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64' 'mips64el') url="http://llvm.org/" license=('custom:University of Illinois/NCSA Open Source License') diff --git a/extra/lua/PKGBUILD b/extra/lua/PKGBUILD index 2b567ab04..1c3d9ee33 100644 --- a/extra/lua/PKGBUILD +++ b/extra/lua/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 153491 2012-03-14 23:43:56Z eric $ +# $Id: PKGBUILD 156332 2012-04-17 10:35:09Z bluewind $ # Maintainer: Juergen Hoetzel <juergen@archlinux.org> # Contributor: Damir Perisa <damir.perisa@bluewin.ch> pkgname=lua pkgver=5.1.5 -pkgrel=1 +pkgrel=2 pkgdesc="A powerful light-weight programming language designed for extending applications" arch=('i686' 'x86_64' 'mips64el') url="http://www.lua.org/" @@ -14,7 +14,7 @@ options=('!makeflags' '!emptydirs') source=(http://www.lua.org/ftp/${pkgname}-${pkgver}.tar.gz lua-arch.patch lua-5.1-cflags.diff) md5sums=('2e115fe26e435e33b0d5c022e4490567' - '6c5953f63904bf20a0183cdab05b80de' + 'fa25feb70ef9fec975b1c20da5098b3c' '249582bf1fd861ccf492d2c35a9fe732') build() { @@ -23,14 +23,14 @@ build() { patch -p1 -i "${srcdir}/lua-5.1-cflags.diff" export CFLAGS="$CFLAGS -fPIC" - make INSTALL_DATA="cp -d" TO_LIB="liblua.a liblua.so liblua.so.5.1" LUA_SO=liblua.so \ + make INSTALL_DATA="cp -d" TO_LIB="liblua.a liblua.so liblua.so.5.1" \ INSTALL_TOP="${pkgdir}/usr" INSTALL_MAN="${pkgdir}/usr/share/man/man1" \ linux } package() { cd "${srcdir}/${pkgname}-${pkgver}" - make INSTALL_DATA="cp -d" TO_LIB="liblua.a liblua.so liblua.so.5.1" LUA_SO=liblua.so \ + make INSTALL_DATA="cp -d" TO_LIB="liblua.a liblua.so liblua.so.5.1 liblua.so.$pkgver" \ INSTALL_TOP="${pkgdir}/usr" INSTALL_MAN="${pkgdir}/usr/share/man/man1" \ install install -D -m644 etc/lua.pc "${pkgdir}/usr/lib/pkgconfig/lua.pc" diff --git a/extra/lua/lua-arch.patch b/extra/lua/lua-arch.patch index cc1f3ce1b..d8650c3a2 100644 --- a/extra/lua/lua-arch.patch +++ b/extra/lua/lua-arch.patch @@ -1,8 +1,7 @@ -diff -ur lua-5.1.orig/etc/lua.pc lua-5.1/etc/lua.pc ---- lua-5.1.orig/etc/lua.pc 2006-03-21 11:51:53.000000000 +0100 -+++ lua-5.1/etc/lua.pc 2006-03-21 11:52:05.000000000 +0100 -@@ -6,7 +6,7 @@ - V= 5.1 +diff -ur lua-5.1.4/etc/lua.pc lua-5.1.4-new/etc/lua.pc +--- lua-5.1.4/etc/lua.pc 2008-08-08 14:46:11.000000000 +0200 ++++ lua-5.1.4-new/etc/lua.pc 2012-02-23 18:25:34.000000000 +0100 +@@ -8,6 +8,6 @@ # grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' -prefix= /usr/local @@ -10,11 +9,23 @@ diff -ur lua-5.1.orig/etc/lua.pc lua-5.1/etc/lua.pc INSTALL_BIN= ${prefix}/bin INSTALL_INC= ${prefix}/include INSTALL_LIB= ${prefix}/lib -diff -ur lua-5.1.orig/src/Makefile lua-5.1/src/Makefile ---- lua-5.1.orig/src/Makefile 2006-03-21 11:51:53.000000000 +0100 -+++ lua-5.1/src/Makefile 2006-03-21 11:52:09.000000000 +0100 +diff -ur lua-5.1.4/src/luaconf.h lua-5.1.4-new/src/luaconf.h +--- lua-5.1.4/src/luaconf.h 2008-02-11 17:25:08.000000000 +0100 ++++ lua-5.1.4-new/src/luaconf.h 2012-02-23 18:25:34.000000000 +0100 +@@ -94,7 +94,7 @@ + ".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll" + + #else +-#define LUA_ROOT "/usr/local/" ++#define LUA_ROOT "/usr/" + #define LUA_LDIR LUA_ROOT "share/lua/5.1/" + #define LUA_CDIR LUA_ROOT "lib/lua/5.1/" + #define LUA_PATH_DEFAULT \ +diff -ur lua-5.1.4/src/Makefile lua-5.1.4-new/src/Makefile +--- lua-5.1.4/src/Makefile 2008-01-19 20:37:58.000000000 +0100 ++++ lua-5.1.4-new/src/Makefile 2012-02-23 18:26:43.000000000 +0100 @@ -23,6 +23,7 @@ - PLATS= aix ansi bsd generic linux macosx mingw posix solaris + PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris LUA_A= liblua.a +LUA_SO= liblua.so @@ -30,26 +41,26 @@ diff -ur lua-5.1.orig/src/Makefile lua-5.1/src/Makefile ALL_A= $(LUA_A) default: $(PLAT) -@@ -51,6 +52,10 @@ +@@ -51,6 +52,11 @@ $(AR) $@ $? $(RANLIB) $@ +$(LUA_SO): $(CORE_O) $(LIB_O) -+ $(CC) -shared -ldl -Wl,-soname,liblua.so -o $@.5.1 $? -lm $(MYLDFLAGS) -+ ln -s $@.5.1 $@ ++ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO) + $(LUA_T): $(LUA_O) $(LUA_A) $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) -diff -ur lua-5.1.orig/src/luaconf.h lua-5.1/src/luaconf.h ---- lua-5.1.orig/src/luaconf.h 2006-03-21 11:51:53.000000000 +0100 -+++ lua-5.1/src/luaconf.h 2006-03-21 11:52:05.000000000 +0100 -@@ -82,7 +82,7 @@ - ".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll" +--- lua-5.1.4/Makefile 2008-08-12 02:40:48.000000000 +0200 ++++ lua-5.1.4-new/Makefile 2012-02-23 19:06:32.000000000 +0100 +@@ -53,7 +53,7 @@ + all: $(PLAT) - #else --#define LUA_ROOT "/usr/local/" -+#define LUA_ROOT "/usr/" - #define LUA_LDIR LUA_ROOT "share/lua/5.1/" - #define LUA_CDIR LUA_ROOT "lib/lua/5.1/" - #define LUA_PATH_DEFAULT \ + $(PLATS) clean: +- cd src && $(MAKE) $@ ++ cd src && $(MAKE) $@ V=$(V) R=$(R) + + test: dummy + src/lua test/hello.lua diff --git a/extra/mpg123/PKGBUILD b/extra/mpg123/PKGBUILD index 34064fd85..5571989e1 100644 --- a/extra/mpg123/PKGBUILD +++ b/extra/mpg123/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 154304 2012-03-26 01:26:00Z eric $ +# $Id: PKGBUILD 156357 2012-04-17 16:57:42Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=mpg123 -pkgver=1.13.7 +pkgver=1.13.8 pkgrel=1 pkgdesc="A console based real time MPEG Audio Player for Layer 1, 2 and 3" arch=('i686' 'x86_64' 'mips64el') @@ -17,8 +17,8 @@ conflicts=('mpg321') provides=('mpg321') options=('!libtool') source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig}) -sha1sums=('33b71c932b87004f3c8fed527b1f9a4b5f4337b2' - '6f7593c0c14647c61cd57d1a03fe89eb6528aebe') +sha1sums=('ae6fe5f60502fb694527113dd7508ce042b7256b' + '6895e5e3120579418007d705836ae1d3b786e771') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/nss/PKGBUILD b/extra/nss/PKGBUILD index 40a85f63a..60f14d42f 100644 --- a/extra/nss/PKGBUILD +++ b/extra/nss/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 151553 2012-02-27 17:17:02Z ibiru $ +# $Id: PKGBUILD 156228 2012-04-16 12:08:26Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=nss -pkgver=3.13.3 +pkgver=3.13.4 pkgrel=1 pkgdesc="Mozilla Network Security Services" arch=(i686 x86_64 'mips64el') @@ -18,7 +18,7 @@ source=(ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_${pkgver//./_}_RTM/s nss-config.in add_spi+cacert_ca_certs.patch ssl-renegotiate-transitional.patch) -sha1sums=('6b8b92d3de893ae67dc04ce9a14ab5c9495dd4a6' +sha1sums=('c5a829c3bd56aa743457faf21469065f87c2db75' 'c8fcdb153af9d39689243119adb475905a657284' 'aa5b2c0aa38d3c1066d511336cf28d1333e3aebd' 'cb744cc3e56b604e4754bc3c7d9f25bb9a0a136c' diff --git a/extra/openjpeg/PKGBUILD b/extra/openjpeg/PKGBUILD index 0b30d5fc8..8e6838aff 100644 --- a/extra/openjpeg/PKGBUILD +++ b/extra/openjpeg/PKGBUILD @@ -1,35 +1,29 @@ -# $Id: PKGBUILD 137660 2011-09-10 10:58:56Z pierre $ +# $Id: PKGBUILD 156266 2012-04-16 14:12:28Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=openjpeg -pkgver=1.4 -_pkgver=v1_4 -_revision=r697 +pkgver=1.5.0 pkgrel=1 pkgdesc="An open source JPEG 2000 codec" arch=(i686 x86_64 'mips64el') license=('BSD') url="http://www.openjpeg.org" depends=('zlib') -source=(http://openjpeg.googlecode.com/files/openjpeg_${_pkgver}_sources_${_revision}.tgz - openjpeg-1.4-autoconf.patch) -md5sums=('7870bb84e810dec63fcf3b712ebb93db' - '46d1d26b59ce546444f3fe8d7c685775') - -options=('!makeflags' '!libtool') +options=('!libtool') +source=(http://openjpeg.googlecode.com/files/openjpeg-${pkgver}.tar.gz) +sha1sums=('dce705ae45f137e4698a8cf39d1fbf22bc434fa8') build() { - cd "${srcdir}/${pkgname}_${_pkgver}_sources_${_revision}" - patch -Np1 -i ${srcdir}/openjpeg-1.4-autoconf.patch + cd "${srcdir}/${pkgname}-${pkgver}" # make sure we use system libs - rm -rf libs + rm -rf thirtparty ./configure --prefix=/usr \ - --disable-static + --disable-static --disable-silent-rules make } package() { - cd "${srcdir}/${pkgname}_${_pkgver}_sources_${_revision}" + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/openjpeg" install -m644 LICENSE "${pkgdir}/usr/share/licenses/openjpeg/LICENSE" diff --git a/extra/python/PKGBUILD b/extra/python/PKGBUILD index 0588647ac..0b5a21ac3 100644 --- a/extra/python/PKGBUILD +++ b/extra/python/PKGBUILD @@ -1,29 +1,25 @@ -# $Id: PKGBUILD 143818 2011-11-29 13:33:44Z stephane $ +# $Id: PKGBUILD 156459 2012-04-18 12:20:59Z stephane $ # Maintainer: Stéphane Gaudreault <stephane@archlinux.org> -# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Allan McRae <allan@archlinux.org> # Contributor: Jason Chu <jason@archlinux.org> pkgname=python -pkgver=3.2.2 -pkgrel=2 -pkgrel=1 #holdver +pkgver=3.2.3 +pkgrel=1 _pybasever=3.2 pkgdesc="Next generation of the python high-level scripting language" arch=('i686' 'x86_64' 'mips64el') license=('custom') url="http://www.python.org/" depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib') -makedepends=('tk' 'sqlite3' 'valgrind') -[ "$CARCH" = "mips64el" ] && \ -makedepends=('tk' 'sqlite3') -optdepends=('tk: for tkinter' 'sqlite3') +makedepends=('tk' 'sqlite') +[ "$CARCH" != "mips64el" ] && makedepends+=('valgrind') +optdepends=('tk: for tkinter' 'sqlite') provides=('python3') replaces=('python3') options=('!makeflags') -source=(http://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz - gdbm-magic-values.patch) -sha1sums=('5e654dbd48476193ccdef4d604ed4f45b48c6769' - '43bfbe3e23360f412b95cb284ff29b2cbe338be9') +source=(http://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz) +sha1sums=('3d607dbcfdf100dd659978195ccf3ade9d221823') build() { cd "${srcdir}/Python-${pkgver}" @@ -31,10 +27,6 @@ build() { # FS#23997 sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py - # gdbm has new magic that whichdb does not recognize - # http://bugs.python.org/issue13007 - patch -Np1 -i ../gdbm-magic-values.patch - # Ensure that we are using the system copy of various libraries (expat, zlib and libffi), # rather than copies shipped in the tarball rm -r Modules/expat @@ -42,29 +34,21 @@ build() { rm -r Modules/_ctypes/{darwin,libffi}* - if [ "$CARCH" = "mips64el" ]; then - ./configure --prefix=/usr \ - --enable-shared \ - --with-threads \ - --with-computed-gotos \ - --enable-ipv6 \ - --without-valgrind \ - --with-wide-unicode \ - --with-system-expat \ - --with-dbmliborder=gdbm:ndbm \ - --with-system-ffi + if [ "$CARCH" != "mips64el" ]; then + extraconf=--with-valgrind else + extraconf="" + fi ./configure --prefix=/usr \ --enable-shared \ --with-threads \ --with-computed-gotos \ --enable-ipv6 \ - --with-valgrind \ --with-wide-unicode \ --with-system-expat \ --with-dbmliborder=gdbm:ndbm \ - --with-system-ffi - fi + --with-system-ffi \ + $extraconf make } @@ -72,7 +56,8 @@ build() { check() { cd "${srcdir}/Python-${pkgver}" LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \ - "${srcdir}/Python-${pkgver}/python" -m test.regrtest -x test_distutils test_site test_uuid + "${srcdir}/Python-${pkgver}/python" -m test.regrtest -x test_distutils test_site \ + test_urllib test_uuid test_pydoc } package() { diff --git a/extra/qrencode/PKGBUILD b/extra/qrencode/PKGBUILD index e5c5209e9..4e22f0e37 100644 --- a/extra/qrencode/PKGBUILD +++ b/extra/qrencode/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 155309 2012-04-01 16:17:46Z bluewind $ +# $Id: PKGBUILD 156492 2012-04-19 15:59:03Z bluewind $ # Maintainer: Florian Pritz< flo@xinu.at> # Contributor: Dany Martineau <dany.luc.martineau@gmail.com> pkgname=qrencode -pkgver=3.3.0 +pkgver=3.3.1 pkgrel=1 pkgdesc="C library for encoding data in a QR Code symbol." arch=(i686 x86_64 mips64el) @@ -13,7 +13,7 @@ url="http://megaui.net/fukuchi/works/qrencode/index.en.html" license=('GPL') options=(!libtool) source=(http://megaui.net/fukuchi/works/${pkgname}/${pkgname}-${pkgver}.tar.bz2) -md5sums=('b7531107ffd8e4f9ce262e87893b01ca') +md5sums=('14920ba9d0515bddcaebfbd728229c5d') build() { cd "${srcdir}/$pkgname-$pkgver" diff --git a/extra/scim/PKGBUILD b/extra/scim/PKGBUILD index e8a4224f7..5d56274ae 100644 --- a/extra/scim/PKGBUILD +++ b/extra/scim/PKGBUILD @@ -1,34 +1,41 @@ -# $Id: PKGBUILD 137306 2011-09-06 22:52:36Z bisson $ +# $Id: PKGBUILD 156513 2012-04-20 01:11:09Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: damir <damir@archlinux.org> # Contributor: Gan Lu <rhythm.gan@gmail.com> pkgname=scim -pkgver=1.4.11 -pkgrel=2 +pkgver=1.4.12 +pkgrel=1 pkgdesc='Input method user interface and development platform' url='http://www.scim-im.org/projects/scim' -license=('GPL') -arch=('i686' 'x86_64' 'mips64el') +license=('LGPL') options=('!libtool') +arch=('i686' 'x86_64' 'mips64el') makedepends=('intltool') -depends=('gtk2' 'libtool') +depends=('libltdl' 'gtk2') backup=('etc/scim/config' 'etc/scim/global') -source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz") -sha1sums=('e202e42df52f5c9a88f6ae4d4ce04f94bc22e27c') +source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz" + 'ftp://ftp.archlinux.org/other/scim/scim-docs-20120420.tar.xz') +sha1sums=('948180ec0af18e435a95edbdb840cf41f3b24d32' + 'b2cccb43673e1760abf6825768bc4354a981a0ad') + +# Docs tarball temporarily generated with: +# svn co https://scim.svn.sourceforge.net/svnroot/scim/scim/trunk/docs docs install=install build() { cd "${srcdir}/${pkgname}-${pkgver}" + mv ../docs . ./bootstrap + sed 's/\$nls_cv_use_gnu_gettext/yes/' -i configure + ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ - --with-gnu-ld \ - --with-x \ + --with-gtk-version=2 # still a couple issues with 3 make } diff --git a/extra/scim/install b/extra/scim/install index 405061cb4..c05312bfd 100644 --- a/extra/scim/install +++ b/extra/scim/install @@ -1,7 +1,5 @@ post_install() { - echo -n 'updating gtk.immodules... ' /usr/bin/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules - echo 'done.' } post_upgrade() { diff --git a/extra/sox/PKGBUILD b/extra/sox/PKGBUILD index 8f8f8bbbf..241dee6e1 100644 --- a/extra/sox/PKGBUILD +++ b/extra/sox/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 149755 2012-02-10 04:38:45Z eric $ +# $Id: PKGBUILD 156376 2012-04-17 19:41:18Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=sox -pkgver=14.3.2 -pkgrel=6 +pkgver=14.4.0 +pkgrel=1 pkgdesc="The Swiss Army knife of sound processing tools" arch=('i686' 'x86_64' 'mips64el') url="http://sox.sourceforge.net/" @@ -17,14 +17,11 @@ optdepends=('libao: for ao plugin' 'wavpack: for wavpack plugin' 'libpulse: for pulse plugin') options=('!libtool') -source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2 - sox-14.3.2-ffmpeg.patch) -sha1sums=('026636c90d7accba76225a2821aaa2ffa6fe41a3' - '86caa6aa86a0bf7a048522114d4efd11acbbda70') +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('12dfc57e503ed4e18cedcac292cdae7982281978') build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -p1 -i "${srcdir}/sox-14.3.2-ffmpeg.patch" sed -i 's|man1/sox.1 soxeffect.7|man1/sox.1.gz soxeffect.7.gz|' Makefile.in ./configure --prefix=/usr --sysconfdir=/etc \ --with-dyn-default --with-distro="Arch Linux" diff --git a/extra/subversion/PKGBUILD b/extra/subversion/PKGBUILD index d9c01b475..5a3ba5468 100644 --- a/extra/subversion/PKGBUILD +++ b/extra/subversion/PKGBUILD @@ -1,16 +1,17 @@ -# $Id: PKGBUILD 153509 2012-03-15 09:58:34Z stephane $ -# Maintainer: Paul Mattal <paul@archlinux.org> +# $Id: PKGBUILD 156457 2012-04-18 12:20:57Z stephane $ +# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# Contributor: Paul Mattal <paul@archlinux.org> # Contributor: Jason Chu <jason@archlinux.org> pkgname=subversion pkgver=1.7.4 -pkgrel=1 +pkgrel=3 pkgdesc="A Modern Concurrent Version Control System" arch=('i686' 'x86_64' 'mips64el') license=('APACHE') -depends=('neon' 'apr-util' 'sqlite3' 'file') +depends=('neon' 'apr-util' 'sqlite' 'file') optdepends=('libgnome-keyring' 'kdeutils-kwallet' 'bash-completion: for svn bash completion' \ - 'python2: for some hook scripts' 'ruby: for some hook scripts') + 'python2: for some hook scripts' 'ruby: for some hook scripts' 'java-environment') makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' 'java-runtime' 'java-environment' 'autoconf' 'db' 'e2fsprogs' 'libgnome-keyring' 'kdelibs') [ "$CARCH" = "mips64el" ] && \ @@ -19,7 +20,7 @@ makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve') url="http://subversion.apache.org/" provides=('svn') -options=('!makeflags' '!libtool') +options=('!makeflags' '!libtool' '!emptydirs') source=(http://apache.mirror.rafal.ca/subversion/$pkgname-$pkgver.tar.bz2{,.asc} svnserve svn svnserve.conf subversion.rpath.fix.patch) sha1sums=('57a3cd351c1dbedddd020e7a1952df6cd2674527' @@ -65,7 +66,7 @@ build() { package() { cd "${srcdir}/${pkgname}-${pkgver}" - export LD_LIBRARY_PATH="${pkgdir}"/usr/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH="${pkgdir}"/usr/lib:${LD_LIBRARY_PATH} make DESTDIR="${pkgdir}" INSTALLDIRS=vendor \ swig_pydir=/usr/lib/python2.7/site-packages/libsvn \ swig_pydir_extra=/usr/lib/python2.7/site-packages/svn \ @@ -82,7 +83,10 @@ package() { install -D -m 644 "${srcdir}"/svn "${pkgdir}"/etc/xinetd.d/svn install -D -m 644 "${srcdir}"/svnserve.conf "${pkgdir}"/etc/conf.d/svnserve - # bash completion install -Dm 644 tools/client-side/bash_completion \ - "${pkgdir}"/etc/bash_completion.d/subversion + "${pkgdir}"/usr/share/bash-completion/completions/subversion + for i in svn svnadmin svndumpfilter svnlook svnsync svnversion; do + ln -sf subversion "${pkgdir}"/usr/share/bash-completion/completions/${i} + done + } diff --git a/extra/tomcat-native/PKGBUILD b/extra/tomcat-native/PKGBUILD index 9e7ac5f54..37869770f 100644 --- a/extra/tomcat-native/PKGBUILD +++ b/extra/tomcat-native/PKGBUILD @@ -2,16 +2,16 @@ # Contributor: Vitaliy Berdinskikh ur6lad[at]i.ua pkgname=tomcat-native -pkgver=1.1.22 +pkgver=1.1.23 pkgrel=1 pkgdesc="The Apache Tomcat Native Library" arch=('i686' 'x86_64' 'mips64el') url="http://tomcat.apache.org/" -license="Apache" +license=("Apache") depends=('apr' 'openssl') makedepends=('java-environment') source=(http://www.apache.org/dist/tomcat/tomcat-connectors/native/${pkgver}/source/${pkgname}-${pkgver}-src.tar.gz) -md5sums=('44d764f8d99d0454c7337ba9701558ee') +md5sums=('f2a55b5a19adbe491edc98e0c11d9028') build() { cd "${srcdir}/tomcat-native-${pkgver}-src/jni/native" diff --git a/extra/vim/PKGBUILD b/extra/vim/PKGBUILD index 428a9a9ef..1af7ebff8 100644 --- a/extra/vim/PKGBUILD +++ b/extra/vim/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 155972 2012-04-10 13:26:02Z tdziedzic $ +# $Id: PKGBUILD 156508 2012-04-20 01:03:19Z tdziedzic $ # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Maintainer: tobias [ tobias at archlinux org ] # Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> @@ -10,7 +10,7 @@ _patchlevel=495 __hgrev=a104dae7f903 _versiondir="vim${_topver//./}" pkgver=${_topver}.${_patchlevel} -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64' 'mips64el') license=('custom:vim') url="http://www.vim.org" @@ -82,7 +82,7 @@ build() { cd "${srcdir}"/gvim-build ./configure --prefix=/usr --localstatedir=/var/lib/vim \ - --with-features=big --with-compiledby=ArchLinux \ + --with-features=big --with-compiledby=Parabola \ --enable-gpm --enable-acl --with-x=yes \ --enable-gui=gtk2 --enable-multibyte --enable-cscope \ --enable-netbeans --enable-perlinterp --enable-pythoninterp \ @@ -91,6 +91,18 @@ build() { make } +check() { + # disable tests because they seem to freeze + + cd "${srcdir}"/vim-build + + #make test + + cd "${srcdir}"/gvim-build + + #make test +} + package_vim() { pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm') diff --git a/extra/wireshark/PKGBUILD b/extra/wireshark/PKGBUILD index 61b170148..cc46ffee0 100644 --- a/extra/wireshark/PKGBUILD +++ b/extra/wireshark/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 154405 2012-03-27 21:06:46Z guillaume $ -# Maintainer: Guillaume ALAUX <guillaume at alaux dot net> +# $Id: PKGBUILD 156497 2012-04-19 21:01:40Z guillaume $ +# Maintainer: Guillaume ALAUX <guillaume@archlinux.org> # Contributor: Florian Pritz <bluewind at jabber dot ccc dot de> -pkgname=(wireshark-cli wireshark-gtk) +pkgname=('wireshark-cli' 'wireshark-gtk' 'wireshark-dev') pkgbase=wireshark -pkgver=1.6.6 +pkgver=1.6.7 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('GPL2') @@ -11,7 +11,7 @@ makedepends=('bison' 'flex' 'gtk2' 'krb5' 'libcap' 'libpcap' 'bash' 'gnutls' 'li url="http://www.wireshark.org/" options=(!libtool) source=(http://www.wireshark.org/download/src/${pkgbase}-${pkgver}.tar.bz2) -md5sums=('61145ccd7684b3cfb159fc902fedfecf') +md5sums=('7e39f1c0ea4abd8bffa5122df800ca5d') build() { cd "${srcdir}/${pkgbase}-${pkgver}" @@ -55,3 +55,17 @@ package_wireshark-gtk() { done install -Dm644 wireshark.desktop "${pkgdir}/usr/share/applications/wireshark.desktop" } + +package_wireshark-dev() { + pkgdesc="A free network protocol analyzer for Unix/Linux and Windows - header files" + depends=('wireshark-cli') + + cd "${srcdir}/${pkgbase}-${pkgver}" + + install -dm755 ${pkgdir}/usr/include/${pkgbase}/{epan/{crypt,dfilter,dissectors,ftypes},wiretap,wsutil} + + install -m644 color.h config.h register.h "${pkgdir}/usr/include/${pkgbase}" + for d in epan epan/crypt epan/dfilter epan/dissectors epan/ftypes wiretap wsutil; do + install -m644 ${d}/*.h ${pkgdir}/usr/include/${pkgbase}/${d} + done +} diff --git a/extra/xf86-input-synaptics/PKGBUILD b/extra/xf86-input-synaptics/PKGBUILD index 49f9f0e2b..b0f6e1b72 100644 --- a/extra/xf86-input-synaptics/PKGBUILD +++ b/extra/xf86-input-synaptics/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 154164 2012-03-23 20:26:10Z andyrtr $ +# $Id: PKGBUILD 156284 2012-04-16 15:22:10Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Thomas Bächler <thomas@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-input-synaptics -pkgver=1.5.99.902 +pkgver=1.5.99.903 pkgrel=1 pkgdesc="Synaptics driver for notebook touchpads" arch=('i686' 'x86_64' 'mips64el') @@ -22,7 +22,7 @@ options=(!libtool) backup=('etc/X11/xorg.conf.d/10-synaptics.conf') source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 10-synaptics.conf) -sha1sums=('2170854823caf39f15f47329514fdbe620e31e96' +sha1sums=('adb8e28a8aced2ff660a4058d35b8656ffdf46ce' '68e1f4ef5e1038231d210eb422fa4d18c5922f0f') build() { diff --git a/extra/xf86-video-intel/0001-uxa-gen3-Remove-special-casing-of-solid-pictures.patch b/extra/xf86-video-intel/0001-uxa-gen3-Remove-special-casing-of-solid-pictures.patch new file mode 100644 index 000000000..5c3b1d7d6 --- /dev/null +++ b/extra/xf86-video-intel/0001-uxa-gen3-Remove-special-casing-of-solid-pictures.patch @@ -0,0 +1,533 @@ +From fbee314a4194671bfc6dfaa90141498a2f45de4e Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon, 27 Feb 2012 16:29:38 +0000 +Subject: [PATCH 1/5] uxa/gen3: Remove special casing of solid pictures + +Fixes use of alpha-groups and opacity masks in cairo. + +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +--- + src/i915_render.c | 366 ++++++++++++++++++----------------------------------- + 1 file changed, 122 insertions(+), 244 deletions(-) + +diff --git a/src/i915_render.c b/src/i915_render.c +index 87d2336..6210035 100644 +--- a/src/i915_render.c ++++ b/src/i915_render.c +@@ -257,11 +257,8 @@ i915_check_composite_texture(ScreenPtr screen, PicturePtr picture) + return FALSE; + } + +- if (picture->pSourcePict) { +- SourcePict *source = picture->pSourcePict; +- if (source->type == SourcePictTypeSolidFill) +- return TRUE; +- } ++ if (picture->pSourcePict) ++ return FALSE; + + if (picture->pDrawable) { + int w, h, i; +@@ -387,23 +384,6 @@ static Bool i915_texture_setup(PicturePtr picture, PixmapPtr pixmap, int unit) + } + + static void +-i915_emit_composite_primitive_constant(intel_screen_private *intel, +- int srcX, int srcY, +- int maskX, int maskY, +- int dstX, int dstY, +- int w, int h) +-{ +- OUT_VERTEX(dstX + w); +- OUT_VERTEX(dstY + h); +- +- OUT_VERTEX(dstX); +- OUT_VERTEX(dstY + h); +- +- OUT_VERTEX(dstX); +- OUT_VERTEX(dstY); +-} +- +-static void + i915_emit_composite_primitive_identity_source(intel_screen_private *intel, + int srcX, int srcY, + int maskX, int maskY, +@@ -470,29 +450,6 @@ i915_emit_composite_primitive_affine_source(intel_screen_private *intel, + } + + static void +-i915_emit_composite_primitive_constant_identity_mask(intel_screen_private *intel, +- int srcX, int srcY, +- int maskX, int maskY, +- int dstX, int dstY, +- int w, int h) +-{ +- OUT_VERTEX(dstX + w); +- OUT_VERTEX(dstY + h); +- OUT_VERTEX((maskX + w) * intel->scale_units[0][0]); +- OUT_VERTEX((maskY + h) * intel->scale_units[0][1]); +- +- OUT_VERTEX(dstX); +- OUT_VERTEX(dstY + h); +- OUT_VERTEX(maskX * intel->scale_units[0][0]); +- OUT_VERTEX((maskY + h) * intel->scale_units[0][1]); +- +- OUT_VERTEX(dstX); +- OUT_VERTEX(dstY); +- OUT_VERTEX(maskX * intel->scale_units[0][0]); +- OUT_VERTEX(maskY * intel->scale_units[0][1]); +-} +- +-static void + i915_emit_composite_primitive_identity_source_mask(intel_screen_private *intel, + int srcX, int srcY, + int maskX, int maskY, +@@ -536,63 +493,61 @@ i915_emit_composite_primitive(intel_screen_private *intel, + + per_vertex = 2; /* dest x/y */ + +- if (! intel->render_source_is_solid) { +- src_unit = tex_unit++; +- +- is_affine_src = intel_transform_is_affine(intel->transform[src_unit]); +- if (is_affine_src) { +- if (!intel_get_transformed_coordinates(srcX, srcY, +- intel-> +- transform[src_unit], +- &src_x[0], +- &src_y[0])) +- return; +- +- if (!intel_get_transformed_coordinates(srcX, srcY + h, +- intel-> +- transform[src_unit], +- &src_x[1], +- &src_y[1])) +- return; +- +- if (!intel_get_transformed_coordinates(srcX + w, srcY + h, +- intel-> +- transform[src_unit], +- &src_x[2], +- &src_y[2])) +- return; +- +- per_vertex += 2; /* src x/y */ +- } else { +- if (!intel_get_transformed_coordinates_3d(srcX, srcY, +- intel-> +- transform[src_unit], +- &src_x[0], +- &src_y[0], +- &src_w[0])) +- return; +- +- if (!intel_get_transformed_coordinates_3d(srcX, srcY + h, +- intel-> +- transform[src_unit], +- &src_x[1], +- &src_y[1], +- &src_w[1])) +- return; +- +- if (!intel_get_transformed_coordinates_3d(srcX + w, srcY + h, +- intel-> +- transform[src_unit], +- &src_x[2], +- &src_y[2], +- &src_w[2])) +- return; +- +- per_vertex += 4; /* src x/y/z/w */ +- } ++ src_unit = tex_unit++; ++ ++ is_affine_src = intel_transform_is_affine(intel->transform[src_unit]); ++ if (is_affine_src) { ++ if (!intel_get_transformed_coordinates(srcX, srcY, ++ intel-> ++ transform[src_unit], ++ &src_x[0], ++ &src_y[0])) ++ return; ++ ++ if (!intel_get_transformed_coordinates(srcX, srcY + h, ++ intel-> ++ transform[src_unit], ++ &src_x[1], ++ &src_y[1])) ++ return; ++ ++ if (!intel_get_transformed_coordinates(srcX + w, srcY + h, ++ intel-> ++ transform[src_unit], ++ &src_x[2], ++ &src_y[2])) ++ return; ++ ++ per_vertex += 2; /* src x/y */ ++ } else { ++ if (!intel_get_transformed_coordinates_3d(srcX, srcY, ++ intel-> ++ transform[src_unit], ++ &src_x[0], ++ &src_y[0], ++ &src_w[0])) ++ return; ++ ++ if (!intel_get_transformed_coordinates_3d(srcX, srcY + h, ++ intel-> ++ transform[src_unit], ++ &src_x[1], ++ &src_y[1], ++ &src_w[1])) ++ return; ++ ++ if (!intel_get_transformed_coordinates_3d(srcX + w, srcY + h, ++ intel-> ++ transform[src_unit], ++ &src_x[2], ++ &src_y[2], ++ &src_w[2])) ++ return; ++ ++ per_vertex += 4; /* src x/y/z/w */ + } + +- if (intel->render_mask && ! intel->render_mask_is_solid) { ++ if (intel->render_mask) { + mask_unit = tex_unit++; + + is_affine_mask = intel_transform_is_affine(intel->transform[mask_unit]); +@@ -650,15 +605,13 @@ i915_emit_composite_primitive(intel_screen_private *intel, + + OUT_VERTEX(dstX + w); + OUT_VERTEX(dstY + h); +- if (! intel->render_source_is_solid) { +- OUT_VERTEX(src_x[2] * intel->scale_units[src_unit][0]); +- OUT_VERTEX(src_y[2] * intel->scale_units[src_unit][1]); +- if (!is_affine_src) { ++ OUT_VERTEX(src_x[2] * intel->scale_units[src_unit][0]); ++ OUT_VERTEX(src_y[2] * intel->scale_units[src_unit][1]); ++ if (!is_affine_src) { + OUT_VERTEX(0.0); + OUT_VERTEX(src_w[2]); +- } + } +- if (intel->render_mask && ! intel->render_mask_is_solid) { ++ if (intel->render_mask) { + OUT_VERTEX(mask_x[2] * intel->scale_units[mask_unit][0]); + OUT_VERTEX(mask_y[2] * intel->scale_units[mask_unit][1]); + if (!is_affine_mask) { +@@ -669,15 +622,13 @@ i915_emit_composite_primitive(intel_screen_private *intel, + + OUT_VERTEX(dstX); + OUT_VERTEX(dstY + h); +- if (! intel->render_source_is_solid) { +- OUT_VERTEX(src_x[1] * intel->scale_units[src_unit][0]); +- OUT_VERTEX(src_y[1] * intel->scale_units[src_unit][1]); +- if (!is_affine_src) { ++ OUT_VERTEX(src_x[1] * intel->scale_units[src_unit][0]); ++ OUT_VERTEX(src_y[1] * intel->scale_units[src_unit][1]); ++ if (!is_affine_src) { + OUT_VERTEX(0.0); + OUT_VERTEX(src_w[1]); +- } + } +- if (intel->render_mask && ! intel->render_mask_is_solid) { ++ if (intel->render_mask) { + OUT_VERTEX(mask_x[1] * intel->scale_units[mask_unit][0]); + OUT_VERTEX(mask_y[1] * intel->scale_units[mask_unit][1]); + if (!is_affine_mask) { +@@ -688,15 +639,13 @@ i915_emit_composite_primitive(intel_screen_private *intel, + + OUT_VERTEX(dstX); + OUT_VERTEX(dstY); +- if (! intel->render_source_is_solid) { +- OUT_VERTEX(src_x[0] * intel->scale_units[src_unit][0]); +- OUT_VERTEX(src_y[0] * intel->scale_units[src_unit][1]); +- if (!is_affine_src) { ++ OUT_VERTEX(src_x[0] * intel->scale_units[src_unit][0]); ++ OUT_VERTEX(src_y[0] * intel->scale_units[src_unit][1]); ++ if (!is_affine_src) { + OUT_VERTEX(0.0); + OUT_VERTEX(src_w[0]); +- } + } +- if (intel->render_mask && ! intel->render_mask_is_solid) { ++ if (intel->render_mask) { + OUT_VERTEX(mask_x[0] * intel->scale_units[mask_unit][0]); + OUT_VERTEX(mask_y[0] * intel->scale_units[mask_unit][1]); + if (!is_affine_mask) { +@@ -729,29 +678,11 @@ i915_prepare_composite(int op, PicturePtr source_picture, + intel->render_dest_picture = dest_picture; + intel->render_dest = dest; + +- intel->render_source_is_solid = FALSE; +- if (source_picture->pSourcePict) { +- SourcePict *source = source_picture->pSourcePict; +- if (source->type == SourcePictTypeSolidFill) { +- intel->render_source_is_solid = TRUE; +- intel->render_source_solid = source->solidFill.color; +- } +- } +- if (!intel->render_source_is_solid && !intel_check_pitch_3d(source)) ++ if (!intel_check_pitch_3d(source)) + return FALSE; + +- intel->render_mask_is_solid = FALSE; +- if (mask) { +- if (mask_picture->pSourcePict) { +- SourcePict *source = mask_picture->pSourcePict; +- if (source->type == SourcePictTypeSolidFill) { +- intel->render_mask_is_solid = TRUE; +- intel->render_mask_solid = source->solidFill.color; +- } +- } +- if (!intel->render_mask_is_solid && !intel_check_pitch_3d(mask)) +- return FALSE; +- } ++ if (mask && !intel_check_pitch_3d(mask)) ++ return FALSE; + + if (!intel_check_pitch_3d(dest)) + return FALSE; +@@ -787,31 +718,27 @@ i915_prepare_composite(int op, PicturePtr source_picture, + intel->scale_units[1][1] = -1; + + floats_per_vertex = 2; /* dest x/y */ +- if (! intel->render_source_is_solid) { +- if (!i915_texture_setup(source_picture, source, tex_unit++)) { +- intel_debug_fallback(scrn, "fail to setup src texture\n"); +- return FALSE; +- } +- +- if (intel_transform_is_affine(source_picture->transform)) +- floats_per_vertex += 2; /* src x/y */ +- else +- floats_per_vertex += 4; /* src x/y/z/w */ ++ if (!i915_texture_setup(source_picture, source, tex_unit++)) { ++ intel_debug_fallback(scrn, "fail to setup src texture\n"); ++ return FALSE; + } + +- if (mask != NULL) { +- if (! intel->render_mask_is_solid) { +- if (!i915_texture_setup(mask_picture, mask, tex_unit++)) { +- intel_debug_fallback(scrn, +- "fail to setup mask texture\n"); +- return FALSE; +- } ++ if (intel_transform_is_affine(source_picture->transform)) ++ floats_per_vertex += 2; /* src x/y */ ++ else ++ floats_per_vertex += 4; /* src x/y/z/w */ + +- if (intel_transform_is_affine(mask_picture->transform)) +- floats_per_vertex += 2; /* mask x/y */ +- else +- floats_per_vertex += 4; /* mask x/y/z/w */ ++ if (mask != NULL) { ++ if (!i915_texture_setup(mask_picture, mask, tex_unit++)) { ++ intel_debug_fallback(scrn, ++ "fail to setup mask texture\n"); ++ return FALSE; + } ++ ++ if (intel_transform_is_affine(mask_picture->transform)) ++ floats_per_vertex += 2; /* mask x/y */ ++ else ++ floats_per_vertex += 4; /* mask x/y/z/w */ + } + + intel->i915_render_state.op = op; +@@ -827,17 +754,13 @@ i915_prepare_composite(int op, PicturePtr source_picture, + + intel->prim_emit = i915_emit_composite_primitive; + if (!mask) { +- if (intel->render_source_is_solid) +- intel->prim_emit = i915_emit_composite_primitive_constant; +- else if (intel->transform[0] == NULL) ++ if (intel->transform[0] == NULL) + intel->prim_emit = i915_emit_composite_primitive_identity_source; + else if (intel_transform_is_affine(intel->transform[0])) + intel->prim_emit = i915_emit_composite_primitive_affine_source; + } else { + if (intel->transform[0] == NULL) { +- if (intel->render_source_is_solid) +- intel->prim_emit = i915_emit_composite_primitive_constant_identity_mask; +- else if (intel->transform[1] == NULL) ++ if (intel->transform[1] == NULL) + intel->prim_emit = i915_emit_composite_primitive_identity_source_mask; + } + } +@@ -856,39 +779,25 @@ i915_composite_emit_shader(intel_screen_private *intel, CARD8 op) + PicturePtr mask_picture = intel->render_mask_picture; + PixmapPtr mask = intel->render_mask; + int src_reg, mask_reg; +- Bool is_solid_src, is_solid_mask; + Bool dest_is_alpha = PIXMAN_FORMAT_RGB(intel->render_dest_picture->format) == 0; +- int tex_unit, t; + FS_LOCALS(); + +- is_solid_src = intel->render_source_is_solid; +- is_solid_mask = intel->render_mask_is_solid; +- + FS_BEGIN(); + + /* Declare the registers necessary for our program. */ +- t = 0; +- if (is_solid_src) { +- i915_fs_dcl(FS_T8); +- src_reg = FS_T8; +- } else { +- i915_fs_dcl(FS_T0); +- i915_fs_dcl(FS_S0); +- t++; +- } ++ i915_fs_dcl(FS_T0); ++ i915_fs_dcl(FS_S0); + if (!mask) { + /* No mask, so load directly to output color */ +- if (! is_solid_src) { +- if (dest_is_alpha) +- src_reg = FS_R0; +- else +- src_reg = FS_OC; ++ if (dest_is_alpha) ++ src_reg = FS_R0; ++ else ++ src_reg = FS_OC; + +- if (intel_transform_is_affine(intel->transform[0])) +- i915_fs_texld(src_reg, FS_S0, FS_T0); +- else +- i915_fs_texldp(src_reg, FS_S0, FS_T0); +- } ++ if (intel_transform_is_affine(intel->transform[0])) ++ i915_fs_texld(src_reg, FS_S0, FS_T0); ++ else ++ i915_fs_texldp(src_reg, FS_S0, FS_T0); + + if (src_reg != FS_OC) { + if (dest_is_alpha) +@@ -897,35 +806,24 @@ i915_composite_emit_shader(intel_screen_private *intel, CARD8 op) + i915_fs_mov(FS_OC, i915_fs_operand_reg(src_reg)); + } + } else { +- if (is_solid_mask) { +- i915_fs_dcl(FS_T9); +- mask_reg = FS_T9; +- } else { +- i915_fs_dcl(FS_T0 + t); +- i915_fs_dcl(FS_S0 + t); +- } ++ i915_fs_dcl(FS_T1); ++ i915_fs_dcl(FS_S1); + +- tex_unit = 0; +- if (! is_solid_src) { +- /* Load the source_picture texel */ +- if (intel_transform_is_affine(intel->transform[tex_unit])) +- i915_fs_texld(FS_R0, FS_S0, FS_T0); +- else +- i915_fs_texldp(FS_R0, FS_S0, FS_T0); ++ /* Load the source_picture texel */ ++ if (intel_transform_is_affine(intel->transform[0])) ++ i915_fs_texld(FS_R0, FS_S0, FS_T0); ++ else ++ i915_fs_texldp(FS_R0, FS_S0, FS_T0); + +- src_reg = FS_R0; +- tex_unit++; +- } ++ src_reg = FS_R0; + +- if (! is_solid_mask) { +- /* Load the mask_picture texel */ +- if (intel_transform_is_affine(intel->transform[tex_unit])) +- i915_fs_texld(FS_R1, FS_S0 + t, FS_T0 + t); +- else +- i915_fs_texldp(FS_R1, FS_S0 + t, FS_T0 + t); ++ /* Load the mask_picture texel */ ++ if (intel_transform_is_affine(intel->transform[1])) ++ i915_fs_texld(FS_R1, FS_S1, FS_T1); ++ else ++ i915_fs_texldp(FS_R1, FS_S1, FS_T1); + +- mask_reg = FS_R1; +- } ++ mask_reg = FS_R1; + + if (dest_is_alpha) { + i915_fs_mul(FS_OC, +@@ -972,7 +870,6 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn) + PicturePtr dest_picture = intel->render_dest_picture; + PixmapPtr mask = intel->render_mask; + PixmapPtr dest = intel->render_dest; +- Bool is_solid_src, is_solid_mask; + int tex_count, t; + + intel->needs_render_state_emit = FALSE; +@@ -980,12 +877,7 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn) + IntelEmitInvarientState(scrn); + intel->last_3d = LAST_3D_RENDER; + +- is_solid_src = intel->render_source_is_solid; +- is_solid_mask = intel->render_mask_is_solid; +- +- tex_count = 0; +- tex_count += ! is_solid_src; +- tex_count += mask && ! is_solid_mask; ++ tex_count = 1 + (mask != NULL); + + assert(intel->in_batch_atomic); + +@@ -1007,15 +899,6 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn) + } + } + +- if (is_solid_src) { +- OUT_BATCH (_3DSTATE_DFLT_DIFFUSE_CMD); +- OUT_BATCH (intel->render_source_solid); +- } +- if (mask && is_solid_mask) { +- OUT_BATCH (_3DSTATE_DFLT_SPEC_CMD); +- OUT_BATCH (intel->render_mask_solid); +- } +- + /* BUF_INFO is an implicit flush, so avoid if the target has not changed. + * XXX However for reasons unfathomed, correct rendering in KDE requires + * at least a MI_FLUSH | INHIBIT_RENDER_CACHE_FLUSH here. +@@ -1058,20 +941,15 @@ static void i915_emit_composite_setup(ScrnInfoPtr scrn) + uint32_t ss2; + + ss2 = ~0; +- t = 0; +- if (! is_solid_src) { +- ss2 &= ~S2_TEXCOORD_FMT(t, TEXCOORDFMT_NOT_PRESENT); +- ss2 |= S2_TEXCOORD_FMT(t, +- intel_transform_is_affine(intel->transform[t]) ? +- TEXCOORDFMT_2D : TEXCOORDFMT_4D); +- t++; +- } +- if (mask && ! is_solid_mask) { +- ss2 &= ~S2_TEXCOORD_FMT(t, TEXCOORDFMT_NOT_PRESENT); +- ss2 |= S2_TEXCOORD_FMT(t, +- intel_transform_is_affine(intel->transform[t]) ? ++ ss2 &= ~S2_TEXCOORD_FMT(0, TEXCOORDFMT_NOT_PRESENT); ++ ss2 |= S2_TEXCOORD_FMT(0, ++ intel_transform_is_affine(intel->transform[0]) ? ++ TEXCOORDFMT_2D : TEXCOORDFMT_4D); ++ if (mask) { ++ ss2 &= ~S2_TEXCOORD_FMT(1, TEXCOORDFMT_NOT_PRESENT); ++ ss2 |= S2_TEXCOORD_FMT(1, ++ intel_transform_is_affine(intel->transform[1]) ? + TEXCOORDFMT_2D : TEXCOORDFMT_4D); +- t++; + } + + if (intel->needs_render_ca_pass) { +-- +1.7.10 + diff --git a/extra/xf86-video-intel/0002-uxa-Defer-the-call-to-EnterVT-till-after-outputs-are.patch b/extra/xf86-video-intel/0002-uxa-Defer-the-call-to-EnterVT-till-after-outputs-are.patch new file mode 100644 index 000000000..89f43459d --- /dev/null +++ b/extra/xf86-video-intel/0002-uxa-Defer-the-call-to-EnterVT-till-after-outputs-are.patch @@ -0,0 +1,50 @@ +From fd25a4586b0667b1591d85b23daaa99464e9b0d8 Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon, 19 Mar 2012 15:51:43 +0000 +Subject: [PATCH 2/5] uxa: Defer the call to EnterVT till after outputs are + initialised + +We need to do this apparently or else we never perform the VT switch. +However, we can not do it too early, especially not before we have +finished intialising the outputs. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47395 +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +--- + src/intel_driver.c | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +diff --git a/src/intel_driver.c b/src/intel_driver.c +index e2e43fa..ff29754 100644 +--- a/src/intel_driver.c ++++ b/src/intel_driver.c +@@ -1013,13 +1013,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) + "Hardware cursor initialization failed\n"); + } + +- /* Must force it before EnterVT, so we are in control of VT and +- * later memory should be bound when allocating, e.g rotate_mem */ +- scrn->vtSema = TRUE; +- +- if (!I830EnterVT(scrnIndex, 0)) +- return FALSE; +- + intel->BlockHandler = screen->BlockHandler; + screen->BlockHandler = I830BlockHandler; + +@@ -1092,7 +1085,11 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) + I830UeventInit(scrn); + #endif + +- return TRUE; ++ /* Must force it before EnterVT, so we are in control of VT and ++ * later memory should be bound when allocating, e.g rotate_mem */ ++ scrn->vtSema = TRUE; ++ ++ return I830EnterVT(scrnIndex, 0); + } + + static void i830AdjustFrame(int scrnIndex, int x, int y, int flags) +-- +1.7.10 + diff --git a/extra/xf86-video-intel/0003-uxa-Remove-hook-for-CompositeRectangles.patch b/extra/xf86-video-intel/0003-uxa-Remove-hook-for-CompositeRectangles.patch new file mode 100644 index 000000000..c1c4d55e8 --- /dev/null +++ b/extra/xf86-video-intel/0003-uxa-Remove-hook-for-CompositeRectangles.patch @@ -0,0 +1,255 @@ +From b669f171adece9df7f0c340c664b70e94118a55e Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri, 23 Mar 2012 14:56:06 +0000 +Subject: [PATCH 3/5] uxa: Remove hook for CompositeRectangles + +It was broken and not flushing damage correctly. With the +improvements made to the kernel, it is no longer a significant advantage +per se and not worth its additional complexity. + +Reported-by: Tilman Sauerbeck <tilman@code-monkey.de> +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32547 +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +--- + uxa/uxa-priv.h | 1 - + uxa/uxa-render.c | 189 ------------------------------------------------------ + uxa/uxa.c | 4 -- + 3 files changed, 194 deletions(-) + +diff --git a/uxa/uxa-priv.h b/uxa/uxa-priv.h +index 0de45f5..b24ec4f 100644 +--- a/uxa/uxa-priv.h ++++ b/uxa/uxa-priv.h +@@ -123,7 +123,6 @@ typedef struct { + BitmapToRegionProcPtr SavedBitmapToRegion; + #ifdef RENDER + CompositeProcPtr SavedComposite; +- CompositeRectsProcPtr SavedCompositeRects; + TrianglesProcPtr SavedTriangles; + GlyphsProcPtr SavedGlyphs; + TrapezoidsProcPtr SavedTrapezoids; +diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c +index 877b286..1e88c5d 100644 +--- a/uxa/uxa-render.c ++++ b/uxa/uxa-render.c +@@ -947,195 +947,6 @@ uxa_acquire_mask(ScreenPtr screen, + out_x, out_y); + } + +-static Bool +-_pixman_region_init_rectangles(pixman_region16_t *region, +- int num_rects, +- xRectangle *rects, +- int tx, int ty) +-{ +- pixman_box16_t stack_boxes[64], *boxes = stack_boxes; +- pixman_bool_t ret; +- int i; +- +- if (num_rects > sizeof(stack_boxes) / sizeof(stack_boxes[0])) { +- boxes = malloc(sizeof(pixman_box16_t) * num_rects); +- if (boxes == NULL) +- return FALSE; +- } +- +- for (i = 0; i < num_rects; i++) { +- boxes[i].x1 = rects[i].x + tx; +- boxes[i].y1 = rects[i].y + ty; +- boxes[i].x2 = rects[i].x + tx + rects[i].width; +- boxes[i].y2 = rects[i].y + ty + rects[i].height; +- } +- +- ret = pixman_region_init_rects(region, boxes, num_rects); +- +- if (boxes != stack_boxes) +- free(boxes); +- +- return ret; +-} +- +-void +-uxa_solid_rects (CARD8 op, +- PicturePtr dst, +- xRenderColor *color, +- int num_rects, +- xRectangle *rects) +-{ +- ScreenPtr screen = dst->pDrawable->pScreen; +- uxa_screen_t *uxa_screen = uxa_get_screen(screen); +- PixmapPtr dst_pixmap, src_pixmap = NULL; +- pixman_region16_t region; +- pixman_box16_t *boxes, *extents; +- PicturePtr src; +- int dst_x, dst_y; +- int num_boxes; +- +- if (!pixman_region_not_empty(dst->pCompositeClip)) +- return; +- +- if (uxa_screen->info->flags & UXA_USE_GLAMOR) { +- int ok; +- +- uxa_picture_prepare_access(dst, UXA_GLAMOR_ACCESS_RW); +- ok = glamor_composite_rects_nf(op, dst, color, +- num_rects, rects); +- uxa_picture_finish_access(dst, UXA_GLAMOR_ACCESS_RW); +- +- if (!ok) +- goto fallback; +- +- return; +- } +- +- if (dst->alphaMap) +- goto fallback; +- +- dst_pixmap = uxa_get_offscreen_pixmap(dst->pDrawable, &dst_x, &dst_y); +- if (!dst_pixmap) +- goto fallback; +- +- if (!_pixman_region_init_rectangles(®ion, +- num_rects, rects, +- dst->pDrawable->x, dst->pDrawable->y)) +- goto fallback; +- +- if (!pixman_region_intersect(®ion, ®ion, dst->pCompositeClip)) { +- pixman_region_fini(®ion); +- return; +- } +- +- pixman_region_translate(®ion, dst_x, dst_y); +- boxes = pixman_region_rectangles(®ion, &num_boxes); +- extents = pixman_region_extents (®ion); +- +- if (op == PictOpClear) +- color->red = color->green = color->blue = color->alpha = 0; +- if (color->alpha >= 0xff00 && op == PictOpOver) { +- color->alpha = 0xffff; +- op = PictOpSrc; +- } +- +- /* Using GEM, the relocation costs outweigh the advantages of the blitter */ +- if (num_boxes == 1 && (op == PictOpSrc || op == PictOpClear)) { +- CARD32 pixel; +- +-try_solid: +- if (uxa_screen->info->check_solid && +- !uxa_screen->info->check_solid(&dst_pixmap->drawable, GXcopy, FB_ALLONES)) +- goto err_region; +- +- if (!uxa_get_pixel_from_rgba(&pixel, +- color->red, +- color->green, +- color->blue, +- color->alpha, +- dst->format)) +- goto err_region; +- +- if (!uxa_screen->info->prepare_solid(dst_pixmap, GXcopy, FB_ALLONES, pixel)) +- goto err_region; +- +- while (num_boxes--) { +- uxa_screen->info->solid(dst_pixmap, +- boxes->x1, boxes->y1, +- boxes->x2, boxes->y2); +- boxes++; +- } +- +- uxa_screen->info->done_solid(dst_pixmap); +- } else { +- int error; +- +- src = CreateSolidPicture(0, color, &error); +- if (!src) +- goto err_region; +- +- if (!uxa_screen->info->check_composite(op, src, NULL, dst, +- extents->x2 - extents->x1, +- extents->y2 - extents->y1)) { +- if (op == PictOpSrc || op == PictOpClear) { +- FreePicture(src, 0); +- goto try_solid; +- } +- +- goto err_src; +- } +- +- if (!uxa_screen->info->check_composite_texture || +- !uxa_screen->info->check_composite_texture(screen, src)) { +- PicturePtr solid; +- int src_off_x, src_off_y; +- +- solid = uxa_acquire_solid(screen, src->pSourcePict); +- if (!solid) +- goto err_src; +- FreePicture(src, 0); +- +- src = solid; +- src_pixmap = uxa_get_offscreen_pixmap(src->pDrawable, +- &src_off_x, &src_off_y); +- if (!src_pixmap) +- goto err_src; +- } +- +- if (!uxa_screen->info->prepare_composite(op, src, NULL, dst, src_pixmap, NULL, dst_pixmap)) +- goto err_src; +- +- while (num_boxes--) { +- uxa_screen->info->composite(dst_pixmap, +- 0, 0, 0, 0, +- boxes->x1, +- boxes->y1, +- boxes->x2 - boxes->x1, +- boxes->y2 - boxes->y1); +- boxes++; +- } +- +- uxa_screen->info->done_composite(dst_pixmap); +- FreePicture(src, 0); +- } +- +- /* XXX xserver-1.8: CompositeRects is not tracked by Damage, so we must +- * manually append the damaged regions ourselves. +- */ +- pixman_region_translate(®ion, -dst_x, -dst_y); +- DamageRegionAppend(dst->pDrawable, ®ion); +- +- pixman_region_fini(®ion); +- return; +- +-err_src: +- FreePicture(src, 0); +-err_region: +- pixman_region_fini(®ion); +-fallback: +- uxa_screen->SavedCompositeRects(op, dst, color, num_rects, rects); +-} +- + static int + uxa_try_driver_composite(CARD8 op, + PicturePtr pSrc, +diff --git a/uxa/uxa.c b/uxa/uxa.c +index eb2ae03..b4a1da6 100644 +--- a/uxa/uxa.c ++++ b/uxa/uxa.c +@@ -407,7 +407,6 @@ static Bool uxa_close_screen(int i, ScreenPtr pScreen) + #ifdef RENDER + if (ps) { + ps->Composite = uxa_screen->SavedComposite; +- ps->CompositeRects = uxa_screen->SavedCompositeRects; + ps->Glyphs = uxa_screen->SavedGlyphs; + ps->Trapezoids = uxa_screen->SavedTrapezoids; + ps->AddTraps = uxa_screen->SavedAddTraps; +@@ -536,9 +535,6 @@ Bool uxa_driver_init(ScreenPtr screen, uxa_driver_t * uxa_driver) + uxa_screen->SavedComposite = ps->Composite; + ps->Composite = uxa_composite; + +- uxa_screen->SavedCompositeRects = ps->CompositeRects; +- ps->CompositeRects = uxa_solid_rects; +- + uxa_screen->SavedGlyphs = ps->Glyphs; + ps->Glyphs = uxa_glyphs; + +-- +1.7.10 + diff --git a/extra/xf86-video-intel/0004-uxa-Remove-broken-render-glyphs-to-dst.patch b/extra/xf86-video-intel/0004-uxa-Remove-broken-render-glyphs-to-dst.patch new file mode 100644 index 000000000..3bf15c1a1 --- /dev/null +++ b/extra/xf86-video-intel/0004-uxa-Remove-broken-render-glyphs-to-dst.patch @@ -0,0 +1,391 @@ +From 1aee0af6d8296c108b6b4eb1bcf583aae385d22d Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Fri, 30 Mar 2012 12:47:21 +0100 +Subject: [PATCH 4/5] uxa: Remove broken render glyphs-to-dst + +Reported-by: Vincent Untz <vuntz@gnome.org> +Reported-by: Robert Bradford <robert.bradford@intel.com> +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48045 +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +--- + uxa/uxa-glyphs.c | 330 +++--------------------------------------------------- + 1 file changed, 17 insertions(+), 313 deletions(-) + +diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c +index 6172f2f..b754f4e 100644 +--- a/uxa/uxa-glyphs.c ++++ b/uxa/uxa-glyphs.c +@@ -663,190 +663,6 @@ uxa_glyph_cache(ScreenPtr screen, GlyphPtr glyph, int *out_x, int *out_y) + return cache->picture; + } + +-static int +-uxa_glyphs_to_dst(CARD8 op, +- PicturePtr pSrc, +- PicturePtr pDst, +- INT16 src_x, INT16 src_y, +- INT16 xDst, INT16 yDst, +- int nlist, GlyphListPtr list, GlyphPtr * glyphs, +- BoxPtr extents) +-{ +- ScreenPtr screen = pDst->pDrawable->pScreen; +- uxa_screen_t *uxa_screen = uxa_get_screen(screen); +- PixmapPtr src_pixmap, dst_pixmap; +- PicturePtr localSrc, glyph_atlas; +- int x, y, n; +- BoxRec box; +- +- if (uxa_screen->info->check_composite_texture && +- uxa_screen->info->check_composite_texture(screen, pSrc)) { +- if (pSrc->pDrawable) { +- int src_off_x, src_off_y; +- +- src_pixmap = uxa_get_offscreen_pixmap(pSrc->pDrawable, &src_off_x, &src_off_y); +- if (src_pixmap == NULL) +- return -1; +- +- src_x += pSrc->pDrawable->x + src_off_x; +- src_y += pSrc->pDrawable->y + src_off_y; +- } else { +- src_pixmap = NULL; +- } +- localSrc = pSrc; +- } else { +- int width, height; +- +- if (extents == NULL) { +- uxa_glyph_extents(nlist, list, glyphs, &box); +- extents = &box; +- } +- +- width = extents->x2 - extents->x1; +- height = extents->y2 - extents->y1; +- if (width == 0 || height == 0) +- return 0; +- +- if (pSrc->pDrawable) { +- int src_off_x, src_off_y; +- +- src_off_x = extents->x1 - xDst; +- src_off_y = extents->y1 - yDst; +- localSrc = uxa_acquire_drawable(screen, pSrc, +- src_x + src_off_x, src_y + src_off_y, +- width, height, +- &src_x, &src_y); +- if (uxa_screen->info->check_composite_texture && +- !uxa_screen->info->check_composite_texture(screen, localSrc)) { +- if (localSrc != pSrc) +- FreePicture(localSrc, 0); +- return -1; +- } +- +- src_pixmap = uxa_get_offscreen_pixmap(localSrc->pDrawable, &src_off_x, &src_off_y); +- if (src_pixmap == NULL) { +- if (localSrc != pSrc) +- FreePicture(localSrc, 0); +- return -1; +- } +- +- src_x += localSrc->pDrawable->x + src_off_x; +- src_y += localSrc->pDrawable->y + src_off_y; +- } else { +- localSrc = uxa_acquire_pattern(screen, pSrc, +- PICT_a8r8g8b8, x, y, width, height); +- if (!localSrc) +- return 1; +- +- src_pixmap = uxa_get_drawable_pixmap(localSrc->pDrawable); +- if (src_pixmap == NULL) { +- FreePicture(localSrc, 0); +- return -1; +- } +- +- src_x = src_y = 0; +- } +- } +- +- dst_pixmap = uxa_get_offscreen_pixmap(pDst->pDrawable, &x, &y); +- x += xDst + pDst->pDrawable->x - list->xOff; +- y += yDst + pDst->pDrawable->y - list->yOff; +- +- glyph_atlas = NULL; +- while (nlist--) { +- x += list->xOff; +- y += list->yOff; +- n = list->len; +- while (n--) { +- GlyphPtr glyph = *glyphs++; +- PicturePtr this_atlas; +- int mask_x, mask_y, nrect; +- struct uxa_glyph *priv; +- BoxPtr rects; +- +- if (glyph->info.width == 0 || glyph->info.height == 0) +- goto next_glyph; +- +- priv = uxa_glyph_get_private(glyph); +- if (priv != NULL) { +- mask_x = priv->x; +- mask_y = priv->y; +- this_atlas = priv->cache->picture; +- } else { +- if (glyph_atlas) { +- uxa_screen->info->done_composite(dst_pixmap); +- glyph_atlas = NULL; +- } +- this_atlas = uxa_glyph_cache(screen, glyph, &mask_x, &mask_y); +- if (this_atlas == NULL) { +- /* no cache for this glyph */ +- this_atlas = GlyphPicture(glyph)[screen->myNum]; +- mask_x = mask_y = 0; +- } +- } +- +- if (this_atlas != glyph_atlas) { +- PixmapPtr mask_pixmap; +- +- if (glyph_atlas) +- uxa_screen->info->done_composite(dst_pixmap); +- +- mask_pixmap = +- uxa_get_drawable_pixmap(this_atlas->pDrawable); +- if (!uxa_pixmap_is_offscreen(mask_pixmap) || +- !uxa_screen->info->prepare_composite(op, +- localSrc, this_atlas, pDst, +- src_pixmap, mask_pixmap, dst_pixmap)) +- return -1; +- +- glyph_atlas = this_atlas; +- } +- +- rects = REGION_RECTS(pDst->pCompositeClip); +- nrect = REGION_NUM_RECTS(pDst->pCompositeClip); +- while (nrect--) { +- int x1 = x - glyph->info.x, dx = 0; +- int y1 = y - glyph->info.y, dy = 0; +- int x2 = x1 + glyph->info.width; +- int y2 = y1 + glyph->info.height; +- +- if (rects->y1 >= y2) +- break; +- +- if (x1 < rects->x1) +- dx = rects->x1 - x1, x1 = rects->x1; +- if (x2 > rects->x2) +- x2 = rects->x2; +- if (y1 < rects->y1) +- dy = rects->y1 - y1, y1 = rects->y1; +- if (y2 > rects->y2) +- y2 = rects->y2; +- +- if (x1 < x2 && y1 < y2) { +- uxa_screen->info->composite(dst_pixmap, +- x1 + src_x, y1 + src_y, +- dx + mask_x, dy + mask_y, +- x1, y1, +- x2 - x1, y2 - y1); +- } +- rects++; +- } +- +-next_glyph: +- x += glyph->info.xOff; +- y += glyph->info.yOff; +- } +- list++; +- } +- if (glyph_atlas) +- uxa_screen->info->done_composite(dst_pixmap); +- +- if (localSrc != pSrc) +- FreePicture(localSrc, 0); +- +- return 0; +-} +- + static void + uxa_clear_pixmap(ScreenPtr screen, + uxa_screen_t *uxa_screen, +@@ -894,37 +710,30 @@ uxa_glyphs_via_mask(CARD8 op, + PicturePtr pDst, + PictFormatPtr maskFormat, + INT16 xSrc, INT16 ySrc, +- INT16 xDst, INT16 yDst, +- int nlist, GlyphListPtr list, GlyphPtr * glyphs, +- BoxPtr extents) ++ int nlist, GlyphListPtr list, GlyphPtr * glyphs) + { + ScreenPtr screen = pDst->pDrawable->pScreen; + uxa_screen_t *uxa_screen = uxa_get_screen(screen); + CARD32 component_alpha; + PixmapPtr pixmap; + PicturePtr glyph_atlas, mask; ++ int xDst = list->xOff, yDst = list->yOff; + int x, y, width, height; + int dst_off_x, dst_off_y; + int n, error; + BoxRec box; + +- if (!extents) { +- uxa_glyph_extents(nlist, list, glyphs, &box); ++ uxa_glyph_extents(nlist, list, glyphs, &box); ++ if (box.x2 <= box.x1 || box.y2 <= box.y1) ++ return 0; + +- if (box.x2 <= box.x1 || box.y2 <= box.y1) +- return 0; ++ dst_off_x = box.x1; ++ dst_off_y = box.y1; + +- extents = &box; +- dst_off_x = box.x1; +- dst_off_y = box.y1; +- } else { +- dst_off_x = dst_off_y = 0; +- } +- +- width = extents->x2 - extents->x1; +- height = extents->y2 - extents->y1; +- x = -extents->x1; +- y = -extents->y1; ++ width = box.x2 - box.x1; ++ height = box.y2 - box.y1; ++ x = -box.x1; ++ y = -box.y1; + + if (maskFormat->depth == 1) { + PictFormatPtr a8Format = +@@ -1061,11 +870,6 @@ uxa_glyphs(CARD8 op, + { + ScreenPtr screen = pDst->pDrawable->pScreen; + uxa_screen_t *uxa_screen = uxa_get_screen(screen); +- int xDst = list->xOff, yDst = list->yOff; +- BoxRec extents = { 0, 0, 0, 0 }; +- Bool have_extents = FALSE; +- int width, height, ret; +- PicturePtr localDst = pDst; + + if (uxa_screen->info->flags & UXA_USE_GLAMOR) { + int ok; +@@ -1128,112 +932,12 @@ fallback: + } + } + +- if (!maskFormat && +- uxa_screen->info->check_composite_target && +- !uxa_screen->info->check_composite_target(uxa_get_drawable_pixmap(pDst->pDrawable))) { +- int depth = pDst->pDrawable->depth; +- PixmapPtr pixmap; +- int x, y, error; +- GCPtr gc; +- +- pixmap = uxa_get_drawable_pixmap(pDst->pDrawable); +- if (uxa_screen->info->check_copy && +- !uxa_screen->info->check_copy(pixmap, pixmap, GXcopy, FB_ALLONES)) +- goto fallback; +- +- uxa_glyph_extents(nlist, list, glyphs, &extents); +- +- /* clip against dst bounds */ +- if (extents.x1 < 0) +- extents.x1 = 0; +- if (extents.y1 < 0) +- extents.y1 = 0; +- if (extents.x2 > pDst->pDrawable->width) +- extents.x2 = pDst->pDrawable->width; +- if (extents.y2 > pDst->pDrawable->height) +- extents.y2 = pDst->pDrawable->height; +- +- if (extents.x2 <= extents.x1 || extents.y2 <= extents.y1) +- return; +- width = extents.x2 - extents.x1; +- height = extents.y2 - extents.y1; +- x = -extents.x1; +- y = -extents.y1; +- have_extents = TRUE; +- +- xDst += x; +- yDst += y; +- +- pixmap = screen->CreatePixmap(screen, +- width, height, depth, +- CREATE_PIXMAP_USAGE_SCRATCH); +- if (!pixmap) +- return; +- +- if (!uxa_pixmap_is_offscreen(pixmap)) { +- screen->DestroyPixmap(pixmap); +- goto fallback; +- } +- +- gc = GetScratchGC(depth, screen); +- if (!gc) { +- screen->DestroyPixmap(pixmap); +- return; +- } +- +- ValidateGC(&pixmap->drawable, gc); +- gc->ops->CopyArea(pDst->pDrawable, &pixmap->drawable, gc, +- extents.x1, extents.y1, +- width, height, +- 0, 0); +- FreeScratchGC(gc); +- +- localDst = CreatePicture(0, &pixmap->drawable, +- PictureMatchFormat(screen, depth, pDst->format), +- 0, 0, serverClient, &error); +- screen->DestroyPixmap(pixmap); +- +- if (!localDst) +- return; +- +- ValidatePicture(localDst); +- } +- +- if (maskFormat) { +- ret = uxa_glyphs_via_mask(op, +- pSrc, localDst, maskFormat, +- xSrc, ySrc, +- xDst, yDst, +- nlist, list, glyphs, +- have_extents ? &extents : NULL); +- } else { +- ret = uxa_glyphs_to_dst(op, +- pSrc, localDst, +- xSrc, ySrc, +- xDst, yDst, +- nlist, list, glyphs, +- have_extents ? &extents : NULL); +- } +- if (ret) { +- if (localDst != pDst) +- FreePicture(localDst, 0); +- ++ if (!maskFormat) + goto fallback; +- } + +- if (localDst != pDst) { +- GCPtr gc; +- +- gc = GetScratchGC(pDst->pDrawable->depth, screen); +- if (gc) { +- ValidateGC(pDst->pDrawable, gc); +- gc->ops->CopyArea(localDst->pDrawable, pDst->pDrawable, gc, +- 0, 0, +- width, height, +- extents.x1, extents.y1); +- FreeScratchGC(gc); +- } +- +- FreePicture(localDst, 0); +- } ++ if (uxa_glyphs_via_mask(op, ++ pSrc, pDst, maskFormat, ++ xSrc, ySrc, ++ nlist, list, glyphs)) ++ goto fallback; + } +-- +1.7.10 + diff --git a/extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch b/extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch new file mode 100644 index 000000000..865679078 --- /dev/null +++ b/extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch @@ -0,0 +1,40 @@ +From af5c698fd43308c3b799783b662b9cd871f90a62 Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat, 14 Apr 2012 19:03:25 +0100 +Subject: [PATCH 5/5] uxa: Fix leak of glyph mask for unhandled glyph + composition + +==1401== 7,344 bytes in 34 blocks are possibly lost in loss record 570 of 587 +==1401== at 0x4027034: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==1401== by 0x8BE5150: drm_intel_gem_bo_alloc_internal (intel_bufmgr_gem.c:689) +==1401== by 0x899FC04: intel_uxa_create_pixmap (intel_uxa.c:1077) +==1401== by 0x89C2C41: uxa_glyphs (uxa-glyphs.c:254) +==1401== by 0x21F05E: damageGlyphs (damage.c:647) +==1401== by 0x218E06: ProcRenderCompositeGlyphs (render.c:1434) +==1401== by 0x15AA40: Dispatch (dispatch.c:439) +==1401== by 0x1499E9: main (main.c:287) + +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +--- + uxa/uxa-glyphs.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c +index b754f4e..921b99c 100644 +--- a/uxa/uxa-glyphs.c ++++ b/uxa/uxa-glyphs.c +@@ -812,8 +812,10 @@ uxa_glyphs_via_mask(CARD8 op, + if (!uxa_pixmap_is_offscreen(src_pixmap) || + !uxa_screen->info->prepare_composite(PictOpAdd, + this_atlas, NULL, mask, +- src_pixmap, NULL, pixmap)) ++ src_pixmap, NULL, pixmap)) { ++ FreePicture(mask, 0); + return -1; ++ } + + glyph_atlas = this_atlas; + } +-- +1.7.10 + diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD index ca1e15eb0..ad44b5329 100644 --- a/extra/xf86-video-intel/PKGBUILD +++ b/extra/xf86-video-intel/PKGBUILD @@ -1,23 +1,38 @@ -# $Id: PKGBUILD 153342 2012-03-12 20:53:36Z andyrtr $ +# $Id: PKGBUILD 156183 2012-04-15 12:22:45Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-intel pkgver=2.18.0 -pkgrel=1 +pkgrel=3 pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('intel-dri' 'libxvmc' 'libpciaccess' 'libdrm' 'xcb-util>=0.3.8' 'libxfixes' 'udev') -makedepends=('xorg-server-devel>=1.11.99.903' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'libxrender') -conflicts=('xorg-server<1.11.99.903' 'xf86-video-i810' 'xf86-video-intel-legacy') +makedepends=('xorg-server-devel>=1.12.0' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'libxrender') +conflicts=('xorg-server<1.12.0' 'xf86-video-i810' 'xf86-video-intel-legacy') options=('!libtool') groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('77fae98e73414140bf214dca5da32bcf079c4463') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + 0001-uxa-gen3-Remove-special-casing-of-solid-pictures.patch + 0002-uxa-Defer-the-call-to-EnterVT-till-after-outputs-are.patch + 0003-uxa-Remove-hook-for-CompositeRectangles.patch + 0004-uxa-Remove-broken-render-glyphs-to-dst.patch + 0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch) +sha1sums=('77fae98e73414140bf214dca5da32bcf079c4463' + '8b46a5120c8c0b94fcd75801e5ce91d6baccd1ac' + 'd959c66ab40f521bfe4df66b6f43c98b13f59283' + '5525715f1bbf80edfc34d55946b0528f6b8dbf75' + '3e54a4b3911e004d29b6a8e07adb7c16eba5bc4f' + '32e2e5a53926ce29290bf6454e7dcdbd18e91d5e') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/0001-uxa-gen3-Remove-special-casing-of-solid-pictures.patch" + patch -Np1 -i "${srcdir}/0002-uxa-Defer-the-call-to-EnterVT-till-after-outputs-are.patch" + patch -Np1 -i "${srcdir}/0003-uxa-Remove-hook-for-CompositeRectangles.patch" + patch -Np1 -i "${srcdir}/0004-uxa-Remove-broken-render-glyphs-to-dst.patch" + patch -Np1 -i "${srcdir}/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch" ./configure --prefix=/usr --enable-dri make } diff --git a/extra/xorg-xinput/PKGBUILD b/extra/xorg-xinput/PKGBUILD index 86769d838..5e794b340 100644 --- a/extra/xorg-xinput/PKGBUILD +++ b/extra/xorg-xinput/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 153392 2012-03-12 20:55:45Z andyrtr $ +# $Id: PKGBUILD 156282 2012-04-16 15:19:19Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xorg-xinput -pkgver=1.5.99.1 +pkgver=1.5.99.901 pkgrel=1 pkgdesc="Small commandline tool to configure devices" arch=(i686 x86_64 'mips64el') @@ -12,7 +12,7 @@ depends=('libx11' 'libxi>=1.5.99.2' 'xorg-xrandr' 'libxinerama') makedepends=('xorg-util-macros' 'inputproto') groups=('xorg-apps' 'xorg') source=(http://xorg.freedesktop.org/archive/individual/app/xinput-${pkgver}.tar.bz2) -sha1sums=('f979d9a4005d71db7e58064dff6ca6738bd9a345') +sha1sums=('bc99cddeac306a23ad96f35d8ff3314d7e45d460') build() { cd "${srcdir}/xinput-${pkgver}" |