summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/chmsee/PKGBUILD8
-rw-r--r--community/drumkv1/PKGBUILD41
-rw-r--r--community/drumkv1/drumkv1.install13
-rw-r--r--community/ffms2/PKGBUILD23
-rwxr-xr-xcommunity/geary/PKGBUILD18
-rw-r--r--community/iasl/PKGBUILD12
-rw-r--r--community/libvdpau-va-gl/PKGBUILD6
-rw-r--r--community/minetest/PKGBUILD10
-rw-r--r--community/ninja/PKGBUILD48
-rw-r--r--community/openttd/PKGBUILD6
-rw-r--r--community/samplv1/PKGBUILD41
-rw-r--r--community/samplv1/samplv1.install13
-rw-r--r--community/synthv1/PKGBUILD41
-rw-r--r--community/synthv1/synthv1.install13
-rw-r--r--extra/hwloc/PKGBUILD8
-rw-r--r--extra/perl-dbd-sqlite/PKGBUILD6
-rw-r--r--extra/xf86-video-intel/PKGBUILD16
-rw-r--r--extra/xf86-video-intel/git_fixes.diff327
-rw-r--r--extra/xf86-video-intel/sna-avoid-discarding-damage.patch103
19 files changed, 378 insertions, 375 deletions
diff --git a/community/chmsee/PKGBUILD b/community/chmsee/PKGBUILD
index 96236dd59..cb7d6f40e 100644
--- a/community/chmsee/PKGBUILD
+++ b/community/chmsee/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 106444 2014-03-03 14:17:49Z lcarlier $
+# $Id: PKGBUILD 108848 2014-04-05 05:53:40Z lcarlier $
# Maintainer : Laurent Carlier <lordheavym@gmail.com>
# Contributor: dionydonny <dionydonny@gmail.com>
# Contributor: Ermanno <erm67@yahoo.it>
pkgname=chmsee
pkgver=2.0.2
-pkgrel=3
+pkgrel=4
arch=('i686' 'x86_64')
pkgdesc="A chm (MS HTML help file format) viewer based on xulrunner."
url="http://chmsee.googlecode.com/"
license=('GPL')
-depends=('xulrunner>21.0' 'xulrunner<28.0' 'chmlib' 'desktop-file-utils')
+depends=('xulrunner>21.0' 'xulrunner<29.0' 'chmlib' 'desktop-file-utils')
makedepends=('python2')
source=(https://chmsee.googlecode.com/files/$pkgname-$pkgver.tar.gz
chmsee)
@@ -20,7 +20,7 @@ md5sums=('c6a6ce009395c72ecf0530500ecda37c'
prepare() {
cd $pkgname-$pkgver
- sed -i -e 's/^\(MaxVersion=\).*/\127.*/' application.ini
+ sed -i -e 's/^\(MaxVersion=\).*/\128.*/' application.ini
}
build() {
diff --git a/community/drumkv1/PKGBUILD b/community/drumkv1/PKGBUILD
new file mode 100644
index 000000000..8decc5f2d
--- /dev/null
+++ b/community/drumkv1/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id$
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+pkgname=drumkv1
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="An old-school drum-kit sampler"
+arch=(i686 x86_64)
+url="http://$pkgname.sourceforge.net/$pkgname-index.html"
+license=('GPL')
+groups=('lv2-plugins')
+depends=('jack' 'liblo' 'lv2' 'qt5-base'
+ 'desktop-file-utils' 'hicolor-icon-theme' 'shared-mime-info')
+install="$pkgname.install"
+source=("http://download.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('d2be11a7c06d62ad789bc4bf7884e1eb')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # x86_64 lib path fix
+ sed -i "s/lib64/lib/" src/src_lv2{,ui}.pro
+
+ # i686 -reduce-relocations
+ if [[ $CARCH = i686 ]]; then
+ export CXXFLAGS+=" -fPIE"
+ fi
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/drumkv1/drumkv1.install b/community/drumkv1/drumkv1.install
new file mode 100644
index 000000000..ec1a84bbb
--- /dev/null
+++ b/community/drumkv1/drumkv1.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ update-mime-database usr/share/mime
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/ffms2/PKGBUILD b/community/ffms2/PKGBUILD
index 9223888cc..21cb225b1 100644
--- a/community/ffms2/PKGBUILD
+++ b/community/ffms2/PKGBUILD
@@ -1,27 +1,34 @@
-# $Id: PKGBUILD 105637 2014-02-12 15:41:55Z alucryd $$
+# $Id: PKGBUILD 108861 2014-04-05 13:39:12Z alucryd $$
# Maintainer: Maxime Gauduin <alucryd@gmail.com>
pkgname=ffms2
-pkgver=2.19
-pkgrel=2
+pkgver=2.19.r81.047b479
+pkgrel=1
pkgdesc='A libav/ffmpeg based source library and Avisynth plugin for easy frame accurate access'
arch=('i686' 'x86_64')
url='https://github.com/FFMS/ffms2'
license=('GPL')
depends=('ffmpeg')
+makedepends=('git')
provides=('vapoursynth-plugin-ffms2')
-source=("https://github.com/FFMS/ffms2/archive/${pkgver}.tar.gz")
-sha256sums=('6f1379514f03a14092fdfc9941960a9b86f5b78d86f9e000eeddf3bf50d42811')
+source=("git+https://github.com/FFMS/ffms2.git")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd ${pkgname}
+
+ printf "%s" "$(git describe --tags | sed 's/-/.r/; s/-g/./')"
+}
build() {
- cd ${pkgname}-${pkgver}
+ cd ${pkgname}
- ./configure --prefix='/usr' --enable-shared --disable-static --enable-avresample
+ ./autogen.sh --prefix='/usr' --enable-shared --disable-static --enable-avresample
make
}
package() {
- cd ${pkgname}-${pkgver}
+ cd ${pkgname}
make DESTDIR="${pkgdir}" install
diff --git a/community/geary/PKGBUILD b/community/geary/PKGBUILD
index 501602da5..a0e6f12fe 100755
--- a/community/geary/PKGBUILD
+++ b/community/geary/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 107709 2014-03-18 17:01:32Z flexiondotorg $
+# $Id: PKGBUILD 108852 2014-04-05 12:09:16Z alucryd $
# Maintainer: Maxime Gauduin <alucryd@gmail.com>
# Contributor : sebikul <sebikul@gmail.com>
# Contributor : Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
pkgname=geary
pkgver=0.6.0
-pkgrel=1
+pkgrel=2
pkgdesc='A lightweight email client for the GNOME desktop'
arch=('i686' 'x86_64')
url='http://www.yorba.org/projects/geary/'
license=('GPL3')
-depends=('desktop-file-utils' 'gmime' 'libcanberra' 'libgee' 'libnotify' 'libsecret' 'webkitgtk')
+depends=('gnome-keyring' 'gmime' 'libcanberra' 'libgee' 'libnotify' 'webkitgtk')
makedepends=('cmake' 'gnome-doc-utils' 'gobject-introspection' 'intltool' 'vala')
install="${pkgname}.install"
source=("https://download.gnome.org/sources/${pkgname}/${pkgver%.?}/${pkgname}-${pkgver}.tar.xz")
@@ -18,13 +18,19 @@ sha256sums=('44ad1dc2c81c50006c751f8e72aa817f07002188da4c29e158060524a1962715')
build() {
cd ${pkgname}-${pkgver}
- ./configure \
- --prefix=/usr
+
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build && cd build
+
+ cmake .. -DCMAKE_BUILD_TYPE='Release' -DCMAKE_INSTALL_PREFIX='/usr' -D{DESKTOP_UPDATE,GSETTINGS_COMPILE{,_IN_PLACE},ICON_UPDATE}='FALSE'
make
}
package() {
- cd ${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}/build
+
make DESTDIR="${pkgdir}" install
}
diff --git a/community/iasl/PKGBUILD b/community/iasl/PKGBUILD
index 474085f09..ad5583f12 100644
--- a/community/iasl/PKGBUILD
+++ b/community/iasl/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 104510 2014-01-22 06:49:46Z lcarlier $
+# $Id: PKGBUILD 108836 2014-04-05 03:36:38Z lcarlier $
# Maintainer : Laurent Carlier <lordheavym@gmail.com>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Alessio 'mOlOk' Bolognino <themolok@gmail.com>
pkgname=iasl
-pkgver=20140114
+pkgver=20140325
pkgrel=1
pkgdesc="Intel ACPI Source Language compiler"
arch=('i686' 'x86_64')
@@ -16,7 +16,7 @@ options=('!makeflags')
#install=iasl.install
source=(http://acpica.org/sites/acpica/files/acpica-unix-${pkgver}.tar.gz
LICENSE)
-md5sums=('77d5aaa723b98314dae80cac1b33514d'
+md5sums=('08c2ee7ba766c76c9be379d121878cd8'
'8615526144f69ea4e870d9bc37df9b29')
build() {
@@ -26,12 +26,6 @@ build() {
make clean
make
-
-# if [[ $CARCH == i686 ]]; then
-# make BITS=32
-# else
-# make BITS=64
-# fi
}
package() {
diff --git a/community/libvdpau-va-gl/PKGBUILD b/community/libvdpau-va-gl/PKGBUILD
index 2207c9e66..1c7c1fce6 100644
--- a/community/libvdpau-va-gl/PKGBUILD
+++ b/community/libvdpau-va-gl/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 106487 2014-03-04 13:51:46Z bpiotrowski $
+# $Id: PKGBUILD 108863 2014-04-05 16:08:43Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Behem0th <grantipak@gmail.com>
pkgname=libvdpau-va-gl
-pkgver=0.3.3
+pkgver=0.3.4
pkgrel=1
pkgdesc='VDPAU driver with OpenGL/VAAPI backend'
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ license=('LGPL3')
depends=('libvdpau' 'libva' 'libgl' 'ffmpeg' 'glu')
makedepends=('cmake')
source=($url/archive/v$pkgver.tar.gz)
-md5sums=('bb999d94c3e8116ef05a431a7e775c00')
+md5sums=('09ceb2f75eafccc9b002d35ede0de6a5')
build() {
cd $pkgname-$pkgver
diff --git a/community/minetest/PKGBUILD b/community/minetest/PKGBUILD
index f5a6bea71..23c4d03c2 100644
--- a/community/minetest/PKGBUILD
+++ b/community/minetest/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 104382 2014-01-19 17:35:53Z bgyorgy $
+# $Id: PKGBUILD 108846 2014-04-05 05:27:19Z lcarlier $
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Contributor: Konsta Kokkinen <kray@tsundere.fi>
pkgname=minetest
pkgver=0.4.9
-pkgrel=2
+pkgrel=3
pkgdesc='An Infiniminer/Minecraft inspired game'
arch=('i686' 'x86_64')
url='http://minetest.net/'
license=('GPL')
-depends=('sqlite' 'openal' 'libvorbis' 'curl' 'irrlicht' 'hicolor-icon-theme')
+depends=('sqlite' 'leveldb' 'openal' 'libvorbis' 'curl' 'irrlicht' 'hicolor-icon-theme')
makedepends=('cmake')
install=minetest.install
source=(${pkgname}-${pkgver}.tar.gz::https://github.com/minetest/${pkgname}/tarball/${pkgver}
@@ -29,7 +29,9 @@ prepare() {
build() {
cd "$srcdir"/minetest-minetest-*
- cmake . -DCMAKE_INSTALL_PREFIX=/usr
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr \
+ -DENABLE_GETTEXT=on \
+ -DENABLE_LEVELDB=on
make
}
diff --git a/community/ninja/PKGBUILD b/community/ninja/PKGBUILD
new file mode 100644
index 000000000..c9cd5a61e
--- /dev/null
+++ b/community/ninja/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 108867 2014-04-05 22:02:16Z anatolik $
+# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com>
+# Contributor: Filip Brcic <brcha@gna.org>
+# Contributor: Mika Fischer <mika.fischer@zoopnet.de>
+# Contributor: Gergely Imreh <imrehgATgmailDOTcom>
+
+pkgname=ninja
+pkgver=1.4.0
+pkgrel=1
+pkgdesc='Small build system with a focus on speed'
+arch=(i686 x86_64)
+url='http://martine.github.io/ninja/'
+license=(Apache)
+depends=(gcc-libs)
+makedepends=(asciidoc python2 re2c python2 emacs-nox)
+checkdepends=(gtest)
+source=(https://github.com/martine/ninja/archive/v$pkgver.zip)
+sha1sums=('5de3dcd1564056f4f350d99f950f581214893a05')
+
+build() {
+ cd ninja-$pkgver
+
+ python2 ./bootstrap.py
+ emacs -Q --batch -f batch-byte-compile misc/ninja-mode.el
+ asciidoc doc/manual.asciidoc
+}
+
+check() {
+ cd ninja-$pkgver
+
+ python2 ./configure.py --with-gtest=/usr/src/gtest
+ ./ninja ninja_test
+ ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
+}
+
+package() {
+ cd ninja-$pkgver
+
+ install -m755 -D ninja "$pkgdir/usr/bin/ninja"
+ install -m644 -D doc/manual.asciidoc "$pkgdir/usr/share/doc/ninja/manual.asciidoc"
+ install -m644 -D doc/manual.html "$pkgdir/usr/share/doc/ninja/manual.html"
+
+ install -m644 -D misc/ninja-mode.el "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.el"
+ install -m644 -D misc/ninja-mode.elc "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.elc"
+
+ install -m644 -D misc/bash-completion "$pkgdir/usr/share/bash-completion/completions/ninja"
+ install -m644 -D misc/zsh-completion "$pkgdir/usr/share/zsh/site-functions/_ninja"
+}
diff --git a/community/openttd/PKGBUILD b/community/openttd/PKGBUILD
index bcfb893a7..d37a08ce5 100644
--- a/community/openttd/PKGBUILD
+++ b/community/openttd/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 102297 2013-12-07 12:05:54Z lcarlier $
+# $Id: PKGBUILD 108838 2014-04-05 04:20:00Z lcarlier $
# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
pkgname=openttd
-pkgver=1.3.3
+pkgver=1.4.0
pkgrel=1
pkgdesc='An engine for running Transport Tycoon Deluxe.'
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ install=openttd.install
optdepends=('openttd-opengfx: free graphics'
'openttd-opensfx: free soundset')
source=("http://binaries.openttd.org/releases/${pkgver}/${pkgname}-${pkgver}-source.tar.xz")
-sha256sums=('6991ed2c0170481800c3a92a1b43546821a658de91d3ac7efe868588387eca5d')
+sha256sums=('d85bcb89d499a177a904f627ce407a086db8b26bc9a021030ee7f5534fbe0955')
package() {
cd ${pkgname}-${pkgver}
diff --git a/community/samplv1/PKGBUILD b/community/samplv1/PKGBUILD
new file mode 100644
index 000000000..8e9ae518c
--- /dev/null
+++ b/community/samplv1/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id$
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+pkgname=samplv1
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="Polyphonic sampler synthesizer with stereo fx"
+arch=(i686 x86_64)
+url="http://$pkgname.sourceforge.net/$pkgname-index.html"
+license=('GPL')
+groups=('lv2-plugins')
+depends=('jack' 'liblo' 'lv2' 'qt5-base'
+ 'desktop-file-utils' 'hicolor-icon-theme' 'shared-mime-info')
+install="$pkgname.install"
+source=("http://download.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('dbd306fa2aeb1ac005a7467028b9c779')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # x86_64 lib path fix
+ sed -i "s/lib64/lib/" src/src_lv2{,ui}.pro
+
+ # i686 -reduce-relocations
+ if [[ $CARCH = i686 ]]; then
+ export CXXFLAGS+=" -fPIE"
+ fi
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/samplv1/samplv1.install b/community/samplv1/samplv1.install
new file mode 100644
index 000000000..ec1a84bbb
--- /dev/null
+++ b/community/samplv1/samplv1.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ update-mime-database usr/share/mime
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/synthv1/PKGBUILD b/community/synthv1/PKGBUILD
new file mode 100644
index 000000000..b79f71ec6
--- /dev/null
+++ b/community/synthv1/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id$
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+pkgname=synthv1
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="An old-school all-digital 4-oscillator subtractive polyphonic synthesizer with stereo fx"
+arch=(i686 x86_64)
+url="http://$pkgname.sourceforge.net/$pkgname-index.html"
+license=('GPL')
+groups=('lv2-plugins')
+depends=('jack' 'liblo' 'lv2' 'qt5-base'
+ 'desktop-file-utils' 'hicolor-icon-theme' 'shared-mime-info')
+install="$pkgname.install"
+source=("http://download.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('f32510e1f5065f574970b13035d9ff57')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # x86_64 lib path fix
+ sed -i "s/lib64/lib/" src/src_lv2{,ui}.pro
+
+ # i686 -reduce-relocations
+ if [[ $CARCH = i686 ]]; then
+ export CXXFLAGS+=" -fPIE"
+ fi
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/synthv1/synthv1.install b/community/synthv1/synthv1.install
new file mode 100644
index 000000000..ec1a84bbb
--- /dev/null
+++ b/community/synthv1/synthv1.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ update-mime-database usr/share/mime
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/extra/hwloc/PKGBUILD b/extra/hwloc/PKGBUILD
index d6e7ea7bd..9f52a5ae2 100644
--- a/extra/hwloc/PKGBUILD
+++ b/extra/hwloc/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 208140 2014-03-18 07:41:23Z eric $
+# $Id: PKGBUILD 209842 2014-04-05 18:40:31Z eric $
# Maintainer : Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Sylvain HENRY <hsyl20@yahoo.fr>
# Contributor: Hervé YVIQUEL <elldekaa@gmail.com>
pkgname=hwloc
-pkgver=1.8.1
+pkgver=1.9
pkgrel=1
pkgdesc="Portable Hardware Locality is a portable abstraction of hierarchical architectures"
arch=('i686' 'x86_64')
@@ -12,8 +12,8 @@ url="http://www.open-mpi.org/projects/hwloc/"
license=('BSD')
depends=('sh' 'pciutils' 'cairo' 'libxml2')
options=('!docs')
-source=(http://www.open-mpi.org/software/hwloc/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('fe465bc02da7b4a96b362ea73bdc0b8e4cf80040')
+source=(http://www.open-mpi.org/software/hwloc/v${pkgver}/downloads/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('99646446502e0f9952170bf1082be63361d99b6d')
build() {
cd ${pkgname}-${pkgver}
diff --git a/extra/perl-dbd-sqlite/PKGBUILD b/extra/perl-dbd-sqlite/PKGBUILD
index 70f9ee742..4ebb56f6d 100644
--- a/extra/perl-dbd-sqlite/PKGBUILD
+++ b/extra/perl-dbd-sqlite/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 192099 2013-08-05 20:52:00Z eric $
+# $Id: PKGBUILD 209840 2014-04-05 17:56:16Z eric $
# Maintainer:
pkgname=perl-dbd-sqlite
-pkgver=1.40
+pkgver=1.42
pkgrel=1
pkgdesc="Self-contained RDBMS in a DBI driver"
arch=('i686' 'x86_64')
@@ -11,7 +11,7 @@ license=('GPL' 'PerlArtistic')
depends=('perl-dbi' 'sqlite')
options=('!emptydirs')
source=(http://www.cpan.org/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${pkgver}.tar.gz)
-md5sums=('b9876882186499583428b14cf5c0e29c')
+md5sums=('86cfaf477cb9ddc39508f74f4268fc79')
build() {
cd DBD-SQLite-${pkgver}
diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD
index cea87f2d6..a72065549 100644
--- a/extra/xf86-video-intel/PKGBUILD
+++ b/extra/xf86-video-intel/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 208571 2014-03-24 15:08:58Z andyrtr $
+# $Id: PKGBUILD 209836 2014-04-05 17:16:44Z lcarlier $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-intel
pkgver=2.99.911
-pkgrel=1
+pkgrel=2
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
@@ -23,8 +23,16 @@ provides=('xf86-video-intel-uxa' 'xf86-video-intel-sna')
conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16'
'xf86-video-intel-sna' 'xf86-video-intel-uxa' 'xf86-video-i810' 'xf86-video-intel-legacy')
groups=('xorg-drivers' 'xorg')
-source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('4e7a68491bcc4d49912c5ec3ee688badce3f929ce1b7618ede9d8001827270d6')
+source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ sna-avoid-discarding-damage.patch)
+sha256sums=('4e7a68491bcc4d49912c5ec3ee688badce3f929ce1b7618ede9d8001827270d6'
+ '122637d66a70d40b098b0bb732000c8227ea1dd155af0c71f605f87934822dcb')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ # Fix FS#39747 (merged upstream)
+ patch -Np1 -i ../sna-avoid-discarding-damage.patch
+}
build() {
cd ${pkgname}-${pkgver}
diff --git a/extra/xf86-video-intel/git_fixes.diff b/extra/xf86-video-intel/git_fixes.diff
deleted file mode 100644
index dfc33928f..000000000
--- a/extra/xf86-video-intel/git_fixes.diff
+++ /dev/null
@@ -1,327 +0,0 @@
-From 699b4fd3139d1d6d02911d6c8f193ead3445f613 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sat, 01 Feb 2014 20:13:53 +0000
-Subject: sna: Undo region translation before returning
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
----
-diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
-index aecae51..d654660 100644
---- a/src/sna/sna_accel.c
-+++ b/src/sna/sna_accel.c
-@@ -2433,6 +2433,9 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
- sna_damage_add(&priv->cpu_damage, region);
- discard_gpu = false;
- }
-+
-+ if (dx | dy)
-+ RegionTranslate(region, -dx, -dy);
- } else
- sna_pixmap_free_cpu(sna, priv, false);
- }
---
-cgit v0.9.0.2-2-gbebe
-From 26613b046012f0ad968a15ab6bdfa8f6a6652e77 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sat, 01 Feb 2014 21:37:41 +0000
-Subject: sna: Allow more inplace promotions of CPU to GPU bo
-
-If the CPU bo is wholly damaged, then it makes an ideal candidate for
-simply converting into the GPU bo.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
----
-diff --git a/src/sna/kgem.c b/src/sna/kgem.c
-index f7404df..788b710 100644
---- a/src/sna/kgem.c
-+++ b/src/sna/kgem.c
-@@ -6743,14 +6743,19 @@ kgem_replace_bo(struct kgem *kgem,
- return dst;
- }
-
--bool kgem_bo_convert_to_gpu(struct kgem *kgem, struct kgem_bo *bo)
-+bool kgem_bo_convert_to_gpu(struct kgem *kgem,
-+ struct kgem_bo *bo,
-+ unsigned flags)
- {
-- DBG(("%s: converting handle=%d from CPU to GPU\n", __FUNCTION__, bo->handle));
-+ DBG(("%s: converting handle=%d from CPU to GPU, flags=%x\n", __FUNCTION__, bo->handle));
- assert(bo->tiling == I915_TILING_NONE);
-
- if (kgem->has_llc)
- return true;
-
-+ if (flags & MOVE_ASYNC_HINT && __kgem_bo_is_busy(kgem, bo))
-+ return false;
-+
- assert(bo->snoop);
-
- kgem_bo_submit(kgem, bo);
-diff --git a/src/sna/kgem.h b/src/sna/kgem.h
-index f670b60..4c4996f 100644
---- a/src/sna/kgem.h
-+++ b/src/sna/kgem.h
-@@ -301,7 +301,9 @@ struct kgem_bo *kgem_create_cpu_2d(struct kgem *kgem,
- int bpp,
- uint32_t flags);
-
--bool kgem_bo_convert_to_gpu(struct kgem *kgem, struct kgem_bo *bo);
-+bool kgem_bo_convert_to_gpu(struct kgem *kgem,
-+ struct kgem_bo *bo,
-+ unsigned flags);
-
- uint32_t kgem_bo_get_binding(struct kgem_bo *bo, uint32_t format);
- void kgem_bo_set_binding(struct kgem_bo *bo, uint32_t format, uint16_t offset);
-diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
-index d654660..9d7dec4 100644
---- a/src/sna/sna_accel.c
-+++ b/src/sna/sna_accel.c
-@@ -3868,7 +3868,7 @@ sna_pixmap_move_to_gpu(PixmapPtr pixmap, unsigned flags)
-
- if (tiling == I915_TILING_NONE &&
- priv->cpu_bo && !priv->shm &&
-- kgem_bo_convert_to_gpu(&sna->kgem, priv->cpu_bo)) {
-+ kgem_bo_convert_to_gpu(&sna->kgem, priv->cpu_bo, flags)) {
- assert(!priv->mapped);
- assert(!IS_STATIC_PTR(priv->ptr));
- #ifdef DEBUG_MEMORY
-@@ -3933,6 +3933,28 @@ sna_pixmap_move_to_gpu(PixmapPtr pixmap, unsigned flags)
- if (priv->cpu_damage == NULL)
- goto done;
-
-+ if (DAMAGE_IS_ALL(priv->cpu_damage) &&
-+ priv->gpu_bo->tiling == I915_TILING_NONE &&
-+ priv->cpu_bo && !priv->shm &&
-+ kgem_bo_convert_to_gpu(&sna->kgem, priv->cpu_bo, flags)) {
-+ assert(!priv->mapped);
-+ assert(!IS_STATIC_PTR(priv->ptr));
-+#ifdef DEBUG_MEMORY
-+ sna->debug_memory.cpu_bo_allocs--;
-+ sna->debug_memory.cpu_bo_bytes -= kgem_bo_size(priv->cpu_bo);
-+#endif
-+ sna_pixmap_free_gpu(sna, priv);
-+ priv->gpu_bo = priv->cpu_bo;
-+ priv->cpu_bo = NULL;
-+ priv->ptr = NULL;
-+ pixmap->devPrivate.ptr = NULL;
-+ sna_damage_all(&priv->gpu_damage,
-+ pixmap->drawable.width,
-+ pixmap->drawable.height);
-+ sna_damage_destroy(&priv->cpu_damage);
-+ goto done;
-+ }
-+
- if (priv->shm) {
- assert(!priv->flush);
- sna_add_flush_pixmap(sna, priv, priv->cpu_bo);
---
-cgit v0.9.0.2-2-gbebe
-From ed8d4f0ce3bff662d02063528df64d478ac0dc00 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sat, 01 Feb 2014 21:38:47 +0000
-Subject: sna: Skip discarding CPU bo when using as a render target
-
-The issue with unwanted serialisation does not affect the async
-move-to-cpu of a render target.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
----
-diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
-index 9d7dec4..4221a55 100644
---- a/src/sna/sna_accel.c
-+++ b/src/sna/sna_accel.c
-@@ -2420,19 +2420,45 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
-
- sna_damage_destroy(&priv->gpu_damage);
-
-- if ((flags & MOVE_READ) == 0 &&
-+ if ((flags & (MOVE_READ | MOVE_ASYNC_HINT)) == 0 &&
- priv->cpu_bo && !priv->cpu_bo->flush &&
- __kgem_bo_is_busy(&sna->kgem, priv->cpu_bo)) {
-+ DBG(("%s: active CPU bo replacing\n", __FUNCTION__));
-+ assert(!priv->shm);
-+ assert(!IS_STATIC_PTR(priv->ptr));
-+
- if (!region_subsumes_pixmap(region, pixmap)) {
-+ DBG(("%s: partial replacement\n", __FUNCTION__));
- if (get_drawable_deltas(drawable, pixmap, &dx, &dy))
- RegionTranslate(region, dx, dy);
-
-- sna_damage_subtract(&priv->cpu_damage, region);
-- if (sna_pixmap_move_to_gpu(pixmap, MOVE_READ | MOVE_ASYNC_HINT)) {
-- sna_pixmap_free_cpu(sna, priv, false);
-- sna_damage_add(&priv->cpu_damage, region);
-- discard_gpu = false;
-+ if (sna->kgem.has_llc &&
-+ sna_pixmap_choose_tiling(pixmap,
-+ DEFAULT_TILING) == I915_TILING_NONE) {
-+#ifdef DEBUG_MEMORY
-+ sna->debug_memory.cpu_bo_allocs--;
-+ sna->debug_memory.cpu_bo_bytes -= kgem_bo_size(priv->cpu_bo);
-+#endif
-+ DBG(("%s: promoting CPU bo to GPU bo\n", __FUNCTION__));
-+ sna_pixmap_free_gpu(sna, priv);
-+ priv->gpu_bo = priv->cpu_bo;
-+ priv->cpu_bo = NULL;
-+ priv->ptr = NULL;
-+ pixmap->devPrivate.ptr = NULL;
-+
-+ sna_damage_destroy(&priv->cpu_damage);
-+ } else {
-+ DBG(("%s: pushing surrounding damage to GPU bo\n", __FUNCTION__));
-+ sna_damage_subtract(&priv->cpu_damage, region);
-+ assert(priv->cpu_damage);
-+ if (sna_pixmap_move_to_gpu(pixmap, MOVE_READ | MOVE_ASYNC_HINT)) {
-+ sna_pixmap_free_cpu(sna, priv, false);
-+ if (priv->flush)
-+ sna_add_flush_pixmap(sna, priv, priv->gpu_bo);
-+ discard_gpu = false;
-+ }
- }
-+ sna_damage_add(&priv->cpu_damage, region);
-
- if (dx | dy)
- RegionTranslate(region, -dx, -dy);
---
-cgit v0.9.0.2-2-gbebe
-From 8b0748c57ee4c38ea98c4b6ca18cb2b99f8f9ed4 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sat, 01 Feb 2014 21:54:43 +0000
-Subject: sna: Add some more DBG for choosing render targets
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
----
-diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
-index 08c9f78..aadc6f7 100644
---- a/src/sna/gen6_render.c
-+++ b/src/sna/gen6_render.c
-@@ -1831,6 +1831,8 @@ gen6_composite_set_target(struct sna *sna,
- BoxRec box;
- unsigned int hint;
-
-+ DBG(("%s: (%d, %d)x(%d, %d), partial?=%d\n", __FUNCTION__, x, y, w, h));
-+
- op->dst.pixmap = get_drawable_pixmap(dst->pDrawable);
- op->dst.format = dst->format;
- op->dst.width = op->dst.pixmap->drawable.width;
-diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
-index 1574813..a90bd15 100644
---- a/src/sna/gen7_render.c
-+++ b/src/sna/gen7_render.c
-@@ -2111,6 +2111,8 @@ gen7_composite_set_target(struct sna *sna,
- BoxRec box;
- unsigned int hint;
-
-+ DBG(("%s: (%d, %d)x(%d, %d), partial?=%d\n", __FUNCTION__, x, y, w, h));
-+
- op->dst.pixmap = get_drawable_pixmap(dst->pDrawable);
- op->dst.format = dst->format;
- op->dst.width = op->dst.pixmap->drawable.width;
-diff --git a/src/sna/gen8_render.c b/src/sna/gen8_render.c
-index 5c718bc..c096db1 100644
---- a/src/sna/gen8_render.c
-+++ b/src/sna/gen8_render.c
-@@ -1862,6 +1862,8 @@ gen8_composite_set_target(struct sna *sna,
- BoxRec box;
- unsigned int hint;
-
-+ DBG(("%s: (%d, %d)x(%d, %d), partial?=%d\n", __FUNCTION__, x, y, w, h));
-+
- op->dst.pixmap = get_drawable_pixmap(dst->pDrawable);
- op->dst.format = dst->format;
- op->dst.width = op->dst.pixmap->drawable.width;
---
-cgit v0.9.0.2-2-gbebe
-From 853588ad5be9407d2123f6055458ca84e72b8eb9 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sat, 01 Feb 2014 21:55:09 +0000
-Subject: sna: If IGNORE_CPU is not set we must mark the move as MOVE_READ
-
-Logic reversal in discarding CPU damage. An old bug revealed by the more
-aggressive attempts to discard CPU damage.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
----
-diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
-index 4221a55..acf4849 100644
---- a/src/sna/sna_accel.c
-+++ b/src/sna/sna_accel.c
-@@ -3689,7 +3689,7 @@ cpu_fail:
- goto cpu_fail;
-
- if (!sna_drawable_move_region_to_cpu(&pixmap->drawable, &region,
-- (flags & IGNORE_CPU ? MOVE_READ : 0) | MOVE_WRITE | MOVE_ASYNC_HINT)) {
-+ (flags & IGNORE_CPU ? 0 : MOVE_READ) | MOVE_WRITE | MOVE_ASYNC_HINT)) {
- DBG(("%s: failed to move-to-cpu, fallback\n", __FUNCTION__));
- goto cpu_fail;
- }
---
-cgit v0.9.0.2-2-gbebe
-From 7f08250a8960f90f6bd34de8c4a17870703bfa60 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sun, 02 Feb 2014 03:52:11 +0000
-Subject: sna: Reconstruct damage for the partially replaced discarded CPU bo
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
----
-diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
-index acf4849..d31fa22 100644
---- a/src/sna/sna_accel.c
-+++ b/src/sna/sna_accel.c
-@@ -2432,7 +2432,7 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
- if (get_drawable_deltas(drawable, pixmap, &dx, &dy))
- RegionTranslate(region, dx, dy);
-
-- if (sna->kgem.has_llc &&
-+ if (sna->kgem.has_llc && !priv->pinned &&
- sna_pixmap_choose_tiling(pixmap,
- DEFAULT_TILING) == I915_TILING_NONE) {
- #ifdef DEBUG_MEMORY
-@@ -2440,13 +2440,17 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
- sna->debug_memory.cpu_bo_bytes -= kgem_bo_size(priv->cpu_bo);
- #endif
- DBG(("%s: promoting CPU bo to GPU bo\n", __FUNCTION__));
-- sna_pixmap_free_gpu(sna, priv);
-+ if (priv->gpu_bo)
-+ sna_pixmap_free_gpu(sna, priv);
- priv->gpu_bo = priv->cpu_bo;
- priv->cpu_bo = NULL;
- priv->ptr = NULL;
- pixmap->devPrivate.ptr = NULL;
-
-- sna_damage_destroy(&priv->cpu_damage);
-+ priv->gpu_damage = priv->cpu_damage;
-+ priv->cpu_damage = NULL;
-+
-+ discard_gpu = false;
- } else {
- DBG(("%s: pushing surrounding damage to GPU bo\n", __FUNCTION__));
- sna_damage_subtract(&priv->cpu_damage, region);
-@@ -2456,6 +2460,12 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
- if (priv->flush)
- sna_add_flush_pixmap(sna, priv, priv->gpu_bo);
- discard_gpu = false;
-+
-+ assert(priv->cpu_damage == NULL);
-+ sna_damage_all(&priv->gpu_damage,
-+ pixmap->drawable.width,
-+ pixmap->drawable.height);
-+ sna_damage_subtract(&priv->gpu_damage, region);
- }
- }
- sna_damage_add(&priv->cpu_damage, region);
-@@ -3959,9 +3969,9 @@ sna_pixmap_move_to_gpu(PixmapPtr pixmap, unsigned flags)
- if (priv->cpu_damage == NULL)
- goto done;
-
-- if (DAMAGE_IS_ALL(priv->cpu_damage) &&
-+ if (DAMAGE_IS_ALL(priv->cpu_damage) && priv->cpu_bo &&
-+ !priv->pinned && !priv->shm &&
- priv->gpu_bo->tiling == I915_TILING_NONE &&
-- priv->cpu_bo && !priv->shm &&
- kgem_bo_convert_to_gpu(&sna->kgem, priv->cpu_bo, flags)) {
- assert(!priv->mapped);
- assert(!IS_STATIC_PTR(priv->ptr));
---
-cgit v0.9.0.2-2-gbebe
-
diff --git a/extra/xf86-video-intel/sna-avoid-discarding-damage.patch b/extra/xf86-video-intel/sna-avoid-discarding-damage.patch
new file mode 100644
index 000000000..8e97ee591
--- /dev/null
+++ b/extra/xf86-video-intel/sna-avoid-discarding-damage.patch
@@ -0,0 +1,103 @@
+From 3310ee89c1f1a663de5f5b12b8125809a213996f Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sat, 05 Apr 2014 11:18:31 +0000
+Subject: sna: Avoid discarding damage when applying WHOLE hint to pixmap migration
+
+Once again, we must be careful when promoting from a region to whole
+pixmap migration that we do not discard required damage.
+
+Fixes regression from
+commit 27ac9f574f65cbd535751c925e9b2e2d7c8a6b3a [2.99.911]
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu Feb 27 08:33:52 2014 +0000
+
+ sna: Avoid promoting region-to-whole migration and discarding damage
+
+Reported-by: gedgon@gmail.com
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77063
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
+index 0116d54..71ba34d 100644
+--- a/src/sna/sna_accel.c
++++ b/src/sna/sna_accel.c
+@@ -2500,7 +2500,10 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
+ flags |= MOVE_INPLACE_HINT;
+ }
+
+- if (flags & MOVE_WHOLE_HINT && priv->gpu_damage == NULL)
++ if ((flags & (MOVE_WHOLE_HINT | MOVE_READ)) == (MOVE_WHOLE_HINT | MOVE_READ))
++ return _sna_pixmap_move_to_cpu(pixmap, flags);
++
++ if (flags & MOVE_WHOLE_HINT && priv->gpu_damage == NULL && priv->cpu_damage == NULL)
+ return _sna_pixmap_move_to_cpu(pixmap, flags);
+
+ if (priv->gpu_damage == NULL &&
+@@ -2527,22 +2530,18 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
+ return _sna_pixmap_move_to_cpu(pixmap, flags);
+ }
+
+- if ((flags & MOVE_READ) == 0 &&
+- priv->gpu_damage &&
+- region_subsumes_damage(region, priv->gpu_damage)) {
+- DBG(("%s: region [(%d, %d), (%d, %d)] subsumes damage [(%d,%d), (%d, %d)]\n",
++ if (flags & MOVE_WHOLE_HINT) {
++ DBG(("%s: region (%d, %d), (%d, %d) marked with WHOLE hint, pixmap %dx%d\n",
+ __FUNCTION__,
+ region->extents.x1,
+ region->extents.y1,
+ region->extents.x2,
+ region->extents.y2,
+- priv->gpu_damage->extents.x1,
+- priv->gpu_damage->extents.y1,
+- priv->gpu_damage->extents.x2,
+- priv->gpu_damage->extents.y2));
++ pixmap->drawable.width,
++ pixmap->drawable.height));
+ if (dx | dy)
+ RegionTranslate(region, -dx, -dy);
+- return _sna_pixmap_move_to_cpu(pixmap, flags);
++ return _sna_pixmap_move_to_cpu(pixmap, flags | MOVE_READ);
+ }
+
+ if (priv->move_to_gpu && !priv->move_to_gpu(sna, priv, MOVE_READ)) {
+@@ -4471,17 +4470,19 @@ try_upload_tiled_x(PixmapPtr pixmap, RegionRec *region,
+ if (wedged(sna))
+ return false;
+
+- DBG(("%s: bo? %d, can map? %d\n", __FUNCTION__,
+- priv->gpu_bo != NULL,
+- priv->gpu_bo ? kgem_bo_can_map__cpu(&sna->kgem, priv->gpu_bo, true) : 0));
+-
+ replaces = region->data == NULL &&
+ w >= pixmap->drawable.width &&
+ h >= pixmap->drawable.height;
+
++ DBG(("%s: bo? %d, can map? %d, replaces? %d\n", __FUNCTION__,
++ priv->gpu_bo != NULL,
++ priv->gpu_bo ? kgem_bo_can_map__cpu(&sna->kgem, priv->gpu_bo, true) : 0,
++ replaces));
++
+ if (priv->gpu_bo && (replaces || priv->gpu_bo->proxy)) {
+ DBG(("%s: discarding cached upload proxy\n", __FUNCTION__));
+ sna_pixmap_free_gpu(sna, priv);
++ replaces = true; /* Mark it all GPU damaged afterwards */
+ }
+ assert(priv->gpu_bo == NULL || priv->gpu_bo->proxy == NULL);
+
+@@ -4616,8 +4617,11 @@ sna_put_zpixmap_blt(DrawablePtr drawable, GCPtr gc, RegionPtr region,
+ return true;
+
+ hint = MOVE_WRITE;
+- if (w == pixmap->drawable.width && h*stride > 4096)
++ if (w == pixmap->drawable.width && (h+1)*stride > 65536) {
++ DBG(("%s: large upload (%d bytes), marking WHOLE_HINT\n",
++ __FUNCTION__, h*stride));
+ hint |= MOVE_WHOLE_HINT;
++ }
+
+ if (!sna_drawable_move_region_to_cpu(&pixmap->drawable, region, hint))
+ return false;
+--
+cgit v0.9.0.2-2-gbebe
+