summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rw-r--r--extra/avidemux/PKGBUILD8
-rw-r--r--extra/avidemux/PKGBUILD.WIP4
-rw-r--r--extra/ffmpeg-compat/PKGBUILD6
-rw-r--r--extra/ffmpeg/PKGBUILD16
-rw-r--r--extra/fontconfig/PKGBUILD6
-rw-r--r--extra/gnucash/PKGBUILD8
-rw-r--r--extra/gst-plugins-ugly/PKGBUILD4
-rw-r--r--extra/gstreamer0.10-ugly/PKGBUILD4
-rw-r--r--extra/java7-openjdk/PKGBUILD80
-rw-r--r--extra/libevdev/PKGBUILD6
-rw-r--r--extra/nss/PKGBUILD14
-rw-r--r--extra/nss/add_spi+cacert_ca_certs.patch624
-rw-r--r--extra/opal/PKGBUILD4
-rw-r--r--extra/pyopenssl/PKGBUILD46
-rw-r--r--extra/pyqt4/PKGBUILD4
-rw-r--r--extra/pyqt5/PKGBUILD4
-rw-r--r--extra/qtcreator/PKGBUILD2
-rw-r--r--extra/vlc/PKGBUILD20
-rw-r--r--extra/x264/PKGBUILD22
-rw-r--r--extra/xf86-video-vmware/PKGBUILD18
-rw-r--r--extra/xf86-video-vmware/xatracker-v2-fixes.patch1583
21 files changed, 112 insertions, 2371 deletions
diff --git a/extra/avidemux/PKGBUILD b/extra/avidemux/PKGBUILD
index b2307f90c..96a06197c 100644
--- a/extra/avidemux/PKGBUILD
+++ b/extra/avidemux/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 199867 2013-11-17 12:54:00Z bpiotrowski $
+# $Id: PKGBUILD 208904 2014-03-28 15:46:18Z bpiotrowski $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgbase=avidemux
pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt')
pkgver=2.5.6
-pkgrel=8
+pkgrel=9
arch=('i686' 'x86_64')
license=('GPL')
url="http://fixounet.free.fr/avidemux/"
-makedepends=('cmake' 'libxslt' 'gtk2' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv' \
- 'alsa-lib' 'lame' 'xvidcore' 'faad2' 'faac' 'x264' 'libsamplerate' \
+makedepends=('cmake' 'libxslt' 'gtk2' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv'
+ 'alsa-lib' 'lame' 'xvidcore' 'faad2' 'faac' 'x264' 'libsamplerate'
'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse' 'libva')
options=('!makeflags' '!emptydirs')
source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz)
diff --git a/extra/avidemux/PKGBUILD.WIP b/extra/avidemux/PKGBUILD.WIP
index ae2cd51ef..62cb00296 100644
--- a/extra/avidemux/PKGBUILD.WIP
+++ b/extra/avidemux/PKGBUILD.WIP
@@ -3,7 +3,7 @@
pkgbase=avidemux
pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt')
-pkgver=2.6.6
+pkgver=2.6.8
pkgrel=1
arch=('i686' 'x86_64')
license=('GPL2')
@@ -14,7 +14,7 @@ makedepends=('cmake' 'libxslt' 'gtk3' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv' \
'libvdpau' 'libdca' 'fribidi' 'glu')
options=('!makeflags' '!emptydirs')
source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz)
-sha1sums=('83ebf551746aac251d6e69feac5858cd0a307743')
+sha1sums=('50f3dfe270e6272fce46d725b198b9d0dd95664b')
#source=(http://www.avidemux.org/nightly/snapshot/source_r8810.tar.gz)
#sha1sums=('8c27d54e2b0655a8b8a3adfde1c0308ffedfec0c')
diff --git a/extra/ffmpeg-compat/PKGBUILD b/extra/ffmpeg-compat/PKGBUILD
index 1327fd0a7..c350ff2d9 100644
--- a/extra/ffmpeg-compat/PKGBUILD
+++ b/extra/ffmpeg-compat/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 208330 2014-03-22 14:26:01Z bpiotrowski $
+# $Id: PKGBUILD 208906 2014-03-28 15:46:20Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
@@ -7,7 +7,7 @@
pkgname=ffmpeg-compat
pkgver=0.10.12
-pkgrel=1
+pkgrel=2
epoch=1
pkgdesc='Complete and free Internet live audio and video broadcasting solution'
arch=('i686' 'x86_64')
@@ -78,5 +78,3 @@ package() {
install -dm755 "$pkgdir"/etc/ld.so.conf.d/
echo -e '/usr/lib/\n/usr/lib/ffmpeg-compat/' > "$pkgdir"/etc/ld.so.conf.d/$pkgname.conf
}
-
-# vim:set ts=2 sw=2 et:
diff --git a/extra/ffmpeg/PKGBUILD b/extra/ffmpeg/PKGBUILD
index 59fe84bd5..d334d5934 100644
--- a/extra/ffmpeg/PKGBUILD
+++ b/extra/ffmpeg/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: PKGBUILD 206354 2014-02-24 10:37:56Z bpiotrowski $
+# $Id: PKGBUILD 208905 2014-03-28 15:46:19Z bpiotrowski $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=ffmpeg
-pkgver=2.1.4
-pkgrel=1
+pkgver=2.2
+pkgrel=2
epoch=1
pkgdesc='Complete and free Internet live audio and video broadcasting solution'
arch=('i686' 'x86_64')
url='http://ffmpeg.org/'
license=('GPL')
depends=(
- 'alsa-lib' 'bzip2' 'fontconfig' 'gnutls' 'gsm' 'lame' 'libass'
+ 'alsa-lib' 'bzip2' 'fontconfig' 'gnutls' 'gsm' 'lame' 'libass' 'libvdpau'
'libbluray' 'libmodplug' 'libpulse' 'libtheora' 'libva' 'libvorbis' 'libvpx'
'opencore-amr' 'openjpeg' 'opus' 'rtmpdump' 'schroedinger' 'sdl' 'speex'
- 'v4l-utils' 'x264' 'xvidcore' 'zlib'
+ 'v4l-utils' 'x264' 'xvidcore' 'zlib' 'x265'
)
makedepends=('libvdpau' 'yasm')
-source=(http://ffmpeg.org/releases/$pkgname-$pkgver.tar.bz2)
-md5sums=('dedc28003a77c69432c42ab16e5f6982')
+source=(http://ffmpeg.org/releases/$pkgname-$pkgver.tar.bz2{,.asc})
+md5sums=('744febca199548c9393b1f1ed05ccdd8'
+ 'SKIP')
build() {
cd $pkgname-$pkgver
@@ -53,6 +54,7 @@ build() {
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
+ --enable-libx265 \
--enable-libxvid \
--enable-pic \
--enable-postproc \
diff --git a/extra/fontconfig/PKGBUILD b/extra/fontconfig/PKGBUILD
index 9d6cd0028..4008467f6 100644
--- a/extra/fontconfig/PKGBUILD
+++ b/extra/fontconfig/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 197955 2013-10-30 11:54:17Z allan $
+# $Id: PKGBUILD 208900 2014-03-28 15:18:07Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=fontconfig
-pkgver=2.11.0
+pkgver=2.11.1
pkgrel=1
pkgdesc="A library for configuring and customizing font access"
arch=(i686 x86_64)
@@ -11,7 +11,7 @@ license=('custom')
depends=('expat' 'freetype2')
install=fontconfig.install
source=(http://www.fontconfig.org/release/$pkgname-$pkgver.tar.bz2)
-sha256sums=('cb0e0ef6f03bc8568e95653840bb07d5859dc89d7ce2cade9d94fcccf8c1a467')
+sha256sums=('dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99')
# a nice page to test font matching:
# http://zipcon.net/~swhite/docs/computers/browsers/fonttest.html
diff --git a/extra/gnucash/PKGBUILD b/extra/gnucash/PKGBUILD
index 2f5e9a004..e8efea16e 100644
--- a/extra/gnucash/PKGBUILD
+++ b/extra/gnucash/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 206564 2014-03-01 15:20:03Z bpiotrowski $
+# $Id: PKGBUILD 208932 2014-03-28 21:01:27Z juergen $
# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Mark Schneider <queueRAM@gmail.com>
pkgname=gnucash
-pkgver=2.6.1
+pkgver=2.6.2
pkgrel=1
pkgdesc="A personal and small-business financial-accounting application"
arch=('i686' 'x86_64')
url="http://www.gnucash.org"
license=("GPL")
-depends=('slib' 'goffice0.8' 'libgnomeui' 'libdbi-drivers' 'aqbanking' 'desktop-file-utils' 'webkitgtk2')
+depends=('slib' 'goffice0.8' 'libdbi-drivers' 'aqbanking' 'desktop-file-utils' 'webkitgtk2')
makedepends=('intltool')
optdepends=('evince: for print preview'
'perl-finance-quote: for stock information lookups'
@@ -17,7 +17,7 @@ optdepends=('evince: for print preview'
options=('!makeflags' '!emptydirs')
install=gnucash.install
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('726ee08e95206ec3746a92efaa5281f27d6eacc8')
+sha1sums=('26712924e4730285197a708dd6a2f608c092d230')
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/gst-plugins-ugly/PKGBUILD b/extra/gst-plugins-ugly/PKGBUILD
index 976397684..b1f34b353 100644
--- a/extra/gst-plugins-ugly/PKGBUILD
+++ b/extra/gst-plugins-ugly/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 205818 2014-02-10 13:12:59Z heftig $
+# $Id: PKGBUILD 208907 2014-03-28 15:46:20Z bpiotrowski $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gst-plugins-ugly
pkgver=1.2.3
-pkgrel=1
+pkgrel=2
pkgdesc="GStreamer Multimedia Framework Ugly Plugins"
arch=('i686' 'x86_64')
license=('LGPL')
diff --git a/extra/gstreamer0.10-ugly/PKGBUILD b/extra/gstreamer0.10-ugly/PKGBUILD
index c471673b9..8287e5170 100644
--- a/extra/gstreamer0.10-ugly/PKGBUILD
+++ b/extra/gstreamer0.10-ugly/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 204421 2014-01-19 16:28:54Z bpiotrowski $
+# $Id: PKGBUILD 208908 2014-03-28 15:46:21Z bpiotrowski $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gstreamer0.10-ugly
pkgname=('gstreamer0.10-ugly' 'gstreamer0.10-ugly-plugins')
pkgver=0.10.19
-pkgrel=9
+pkgrel=10
arch=('i686' 'x86_64')
license=('LGPL')
makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr' 'gtk-doc' 'git')
diff --git a/extra/java7-openjdk/PKGBUILD b/extra/java7-openjdk/PKGBUILD
index 9cc2085df..4dbfe7020 100644
--- a/extra/java7-openjdk/PKGBUILD
+++ b/extra/java7-openjdk/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 204857 2014-01-29 14:49:34Z guillaume $
+# $Id: PKGBUILD 208914 2014-03-28 15:50:12Z guillaume $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
@@ -6,19 +6,19 @@
pkgname=('jre7-openjdk-headless' 'jre7-openjdk' 'jdk7-openjdk' 'openjdk7-src' 'openjdk7-doc')
pkgbase=java7-openjdk
_java_ver=7
-_icedtea_ver=2.4.5
+_icedtea_ver=2.4.6
# check "${srcdir}/icedtea-${_icedtea_ver}"/Makefile.am
_JDK_UPDATE_VERSION=51
-_CORBA_CHANGESET=3594dbde270d
-_JAXP_CHANGESET=8fe156ad49e2
-_JAXWS_CHANGESET=32ea8b1ed91a
-_JDK_CHANGESET=9db88c18e114
-_LANGTOOLS_CHANGESET=dabd37b7e295
-_OPENJDK_CHANGESET=410eb7fef869
+_CORBA_CHANGESET=48ef1bb6d120
+_JAXP_CHANGESET=e0ba4b9a8b91
+_JAXWS_CHANGESET=4bd947cd146b
+_JDK_CHANGESET=b5282042aae0
+_LANGTOOLS_CHANGESET=06eeb77dac24
+_OPENJDK_CHANGESET=b028e58c1b77
-_HOTSPOT_CHANGESET=2cb58882dac3 # see "${srcdir}/icedtea-${_icedtea_ver}"/hotspot.map
+_HOTSPOT_CHANGESET=172674e0ab65 # see "${srcdir}/icedtea-${_icedtea_ver}"/hotspot.map
_bootstrap=0 # 0/1 for quick build or full bootstrap
@@ -30,18 +30,18 @@ license=('custom')
options=('!emptydirs')
makedepends=('jdk7-openjdk' 'libxp' 'libxslt'
'alsa-lib' 'apache-ant>=1.8.1' 'giflib' 'libpng>=1.5.7' 'gtk2'
- 'java-rhino' 'libpulse>=0.9.11' 'zip' 'unzip' 'cpio' 'fastjar' 'wget')
-[ "$_bootstrap" = "1" ] && makedepends=(${makedepends[@]} 'eclipse-ecj')
+ 'java-rhino' 'libpulse>=0.9.11' 'zip' 'unzip' 'cpio' 'fastjar' 'wget'
+ 'eclipse-ecj')
_url=http://icedtea.classpath.org/hg/release/icedtea7-forest-${_icedtea_ver:0:3}
source=(http://icedtea.classpath.org/download/source/icedtea-${_icedtea_ver}.tar.gz
- ${_url}/archive/${_OPENJDK_CHANGESET}.tar.gz # openjdk.tar.gz
- ${_url}/corba/archive/${_CORBA_CHANGESET}.tar.gz # corba.tar.gz
- ${_url}/jaxp/archive/${_JAXP_CHANGESET}.tar.gz # jaxp.tar.gz
- ${_url}/jaxws/archive/${_JAXWS_CHANGESET}.tar.gz # jaxws.tar.gz
- ${_url}/jdk/archive/${_JDK_CHANGESET}.tar.gz # jdk.tar.gz
- ${_url}/langtools/archive/${_LANGTOOLS_CHANGESET}.tar.gz # langtools.tar.gz
- ${_url}/hotspot/archive/${_HOTSPOT_CHANGESET}.tar.gz # hotspot.tar.gz
+ openjdk-${_OPENJDK_CHANGESET}.tar.gz::${_url}/archive/${_OPENJDK_CHANGESET}.tar.gz
+ corba-${_CORBA_CHANGESET}.tar.gz::${_url}/corba/archive/${_CORBA_CHANGESET}.tar.gz
+ jaxp-${_JAXP_CHANGESET}.tar.gz::${_url}/jaxp/archive/${_JAXP_CHANGESET}.tar.gz
+ jaxws-${_JAXWS_CHANGESET}.tar.gz::${_url}/jaxws/archive/${_JAXWS_CHANGESET}.tar.gz
+ jdk-${_JDK_CHANGESET}.tar.gz::${_url}/jdk/archive/${_JDK_CHANGESET}.tar.gz
+ langtools-${_LANGTOOLS_CHANGESET}.tar.gz::${_url}/langtools/archive/${_LANGTOOLS_CHANGESET}.tar.gz
+ hotspot-${_HOTSPOT_CHANGESET}.tar.gz::${_url}/hotspot/archive/${_HOTSPOT_CHANGESET}.tar.gz
fontconfig-paths.diff
openjdk7_nonreparenting-wm.diff
jdk7-openjdk.profile
@@ -49,14 +49,14 @@ source=(http://icedtea.classpath.org/download/source/icedtea-${_icedtea_ver}.tar
jre7-openjdk.profile
jre7-openjdk.profile.csh)
-sha256sums=('10c08eeffaa0602b23cb957a2595a2ad3ab474cbe47b12743bbdd79037d5883d'
- '2de151c7275d91ef082e63fcc0957c5f9290404ec6e20ecfa1e752e16bfab707'
- 'd1f97e143fe94ae3a56b45bb5a90f8ab10ec2be4ff770a788f0a1ac677e27a7d'
- '0a2a40186cedfbeb8f87b0bc86bea2830943943081d4289fc74f7a783b2e1af3'
- '08a169b6b02883759ec7a412aa91aa3e37480761cb50b95d092dbcdb2fc9a3d0'
- '285e5b8ccbb29f3f9f9ea9ea7856d1ed97465c57d091fbcd9b2e55a1ffbb543e'
- '86cb370ce2084c4b699d8c002ebe6c026e86206ffa82a2f3d7906aadb94ed79f'
- 'd8c1681ae76e660c1888065933cedbbc1309869c7a2fb98f07c424716d5ebaf9'
+sha256sums=('1f2ea0a29d946b0e8dd8f74c485adc41c02710e88c17ef827b635e1e4215ad33'
+ 'e6be030ac5934781d9682dc3108980fa7d2330c32da3cea4ae74df11fbaa92f2'
+ '2fcfe699797154da8b4ba5242e32468b2f3f42a0cb17039915bfb1f84887a5b6'
+ 'e7014057721b8392676bd24760c3f7b3dd40548abb3c8dfbe8df2fa04d7c1fca'
+ '17ed5278872ad0c9ec3a849caf1480e5942b714e35c9a4a949d09daac4b34c5a'
+ 'ab9b0e973625604b12a2f027cb2a6f9bc5160ef7df55408da6ca8a9c3aaed2d5'
+ 'a67e62618c70ef9190b2aef2b49be9d79624be9363bda258828b17494e092477'
+ '2aadfe9b1848a619bd2d35f802b3e71ef5286e7822f9e7b02ce2539ca817d9b0'
'9ad943ceb3dbcdf45d72974fc3667886a7ed65c69ab9abc17be5412827551a7f'
'56b919ababb13bd6afdcdaceb112b529b6e82539255f2dae9a7e5eb91645164b'
'bd55299e08e6f8e61ba5baad0990170891801a29a1e8137e502b5e8a10fc37ea'
@@ -64,13 +64,13 @@ sha256sums=('10c08eeffaa0602b23cb957a2595a2ad3ab474cbe47b12743bbdd79037d5883d'
'b7c045b08ad55a9f79390c104fa846d0e7dbb49fccffb2fab2a3824b6b19c9c8'
'89d99d8ac269ca66e2e279aff652d5aac938a35faec93cd8cff8f048052bd3ce')
-noextract=("${_OPENJDK_CHANGESET}.tar.gz"
- "${_CORBA_CHANGESET}.tar.gz"
- "${_JAXP_CHANGESET}.tar.gz"
- "${_JAXWS_CHANGESET}.tar.gz"
- "${_JDK_CHANGESET}.tar.gz"
- "${_LANGTOOLS_CHANGESET}.tar.gz"
- "${_HOTSPOT_CHANGESET}.tar.gz")
+noextract=("openjdk-${_OPENJDK_CHANGESET}.tar.gz"
+ "corba-${_CORBA_CHANGESET}.tar.gz"
+ "jaxp-${_JAXP_CHANGESET}.tar.gz"
+ "jaxws-${_JAXWS_CHANGESET}.tar.gz"
+ "jdk-${_JDK_CHANGESET}.tar.gz"
+ "langtools-${_LANGTOOLS_CHANGESET}.tar.gz"
+ "hotspot-${_HOTSPOT_CHANGESET}.tar.gz")
_jvmdir=/usr/lib/jvm/java-7-openjdk
@@ -102,13 +102,13 @@ build() {
--disable-downloading --disable-Werror \
--with-pkgversion="ArchLinux build ${pkgver}-${pkgrel}-${CARCH}" \
--with-jdk-home=${JAVA_HOME} \
- --with-openjdk-src-zip=${srcdir}/${_OPENJDK_CHANGESET}.tar.gz \
- --with-hotspot-src-zip=${srcdir}/${_HOTSPOT_CHANGESET}.tar.gz \
- --with-corba-src-zip=${srcdir}/${_CORBA_CHANGESET}.tar.gz \
- --with-jaxp-src-zip=${srcdir}/${_JAXP_CHANGESET}.tar.gz \
- --with-jaxws-src-zip=${srcdir}/${_JAXWS_CHANGESET}.tar.gz \
- --with-jdk-src-zip=${srcdir}/${_JDK_CHANGESET}.tar.gz \
- --with-langtools-src-zip=${srcdir}/${_LANGTOOLS_CHANGESET}.tar.gz \
+ --with-openjdk-src-zip=${srcdir}/openjdk-${_OPENJDK_CHANGESET}.tar.gz \
+ --with-hotspot-src-zip=${srcdir}/hotspot-${_HOTSPOT_CHANGESET}.tar.gz \
+ --with-corba-src-zip=${srcdir}/corba-${_CORBA_CHANGESET}.tar.gz \
+ --with-jaxp-src-zip=${srcdir}/jaxp-${_JAXP_CHANGESET}.tar.gz \
+ --with-jaxws-src-zip=${srcdir}/jaxws-${_JAXWS_CHANGESET}.tar.gz \
+ --with-jdk-src-zip=${srcdir}/jdk-${_JDK_CHANGESET}.tar.gz \
+ --with-langtools-src-zip=${srcdir}/langtools-${_LANGTOOLS_CHANGESET}.tar.gz \
--enable-pulse-java \
--enable-nss \
--with-rhino \
diff --git a/extra/libevdev/PKGBUILD b/extra/libevdev/PKGBUILD
index e417072a7..dfb2f649d 100644
--- a/extra/libevdev/PKGBUILD
+++ b/extra/libevdev/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 207500 2014-03-11 15:47:57Z andyrtr $
+# $Id: PKGBUILD 208899 2014-03-28 15:18:06Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=libevdev
-pkgver=1.0.1
+pkgver=1.1
pkgrel=1
pkgdesc="Wrapper library for evdev devices"
arch=(i686 x86_64)
@@ -11,7 +11,7 @@ license=(custom:X11)
depends=('glibc')
makedepends=('python')
source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz)
-sha256sums=('a2b6f6a5f898099df816e3e30f53f4b23c2f05ab240737cbdc111874a0922913')
+sha256sums=('3b0cf29342c7beaae47c0fc5eaff434cc821b64af68367908d0c306c2284ce04')
build() {
cd $pkgname-$pkgver
diff --git a/extra/nss/PKGBUILD b/extra/nss/PKGBUILD
index 7c7c78356..c28b21493 100644
--- a/extra/nss/PKGBUILD
+++ b/extra/nss/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 208549 2014-03-24 13:25:04Z anatolik $
+# $Id: PKGBUILD 208903 2014-03-28 15:28:03Z pierre $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=nss
pkgver=3.15.5
-pkgrel=1
+pkgrel=2
pkgdesc="Mozilla Network Security Services"
arch=(i686 x86_64)
url="http://www.mozilla.org/projects/security/pki/nss/"
@@ -15,21 +15,15 @@ options=('!strip' '!makeflags' 'staticlibs')
source=(ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_${pkgver//./_}_RTM/src/${pkgname}-${pkgver}.tar.gz
nss.pc.in
nss-config.in
- ssl-renegotiate-transitional.patch
- add_spi+cacert_ca_certs.patch)
+ ssl-renegotiate-transitional.patch)
sha1sums=('c8d34a33cf5782d35df1aa78cdb38707d7bfc5fe'
'aa5b2c0aa38d3c1066d511336cf28d1333e3aebd'
'cb744cc3e56b604e4754bc3c7d9f25bb9a0a136c'
- '8a964a744ba098711b80c0d279a2993524e8eb92'
- 'be6ef0f124f188ebb76f4d83e13466bdcfb27dd3')
+ '8a964a744ba098711b80c0d279a2993524e8eb92')
prepare() {
cd $pkgname-$pkgver
- # Add CAcert and spi-inc.org CA certificates.
- # See http://wiki.cacert.org/NSSLib for how to generate
- patch -Np1 -i ../add_spi+cacert_ca_certs.patch
-
# Adds transitional SSL renegotiate support - patch from Debian
patch -Np3 -i ../ssl-renegotiate-transitional.patch
diff --git a/extra/nss/add_spi+cacert_ca_certs.patch b/extra/nss/add_spi+cacert_ca_certs.patch
deleted file mode 100644
index 14c65e0a4..000000000
--- a/extra/nss/add_spi+cacert_ca_certs.patch
+++ /dev/null
@@ -1,624 +0,0 @@
---- security/nss/lib/ckfw/builtins/certdata.txt.orig 2012-08-19 16:22:51.726895174 +0200
-+++ security/nss/lib/ckfw/builtins/certdata.txt 2012-08-19 17:40:41.233306703 +0200
-@@ -24454,3 +24454,621 @@
- CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
- CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
- CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-+
-+#
-+# Certificate "CAcert.org Class 1 Root CA"
-+#
-+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Serial Number: 0 (0x0)
-+# Subject: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Not Valid Before: Sun Mar 30 12:29:49 2003
-+# Not Valid After : Tue Mar 29 12:29:49 2033
-+# Fingerprint (MD5): A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B
-+# Fingerprint (SHA1): 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33
-+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "CAcert.org Class 1 Root CA"
-+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-+CKA_SUBJECT MULTILINE_OCTAL
-+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
-+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
-+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
-+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
-+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
-+\100\143\141\143\145\162\164\056\157\162\147
-+END
-+CKA_ID UTF8 "0"
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
-+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
-+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
-+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
-+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
-+\100\143\141\143\145\162\164\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\001\000
-+END
-+CKA_VALUE MULTILINE_OCTAL
-+\060\202\007\075\060\202\005\045\240\003\002\001\002\002\001\000
-+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
-+\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157\164
-+\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150\164
-+\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164\056
-+\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103\101
-+\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101\165
-+\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206\110
-+\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164\100
-+\143\141\143\145\162\164\056\157\162\147\060\036\027\015\060\063
-+\060\063\063\060\061\062\062\071\064\071\132\027\015\063\063\060
-+\063\062\071\061\062\062\071\064\071\132\060\171\061\020\060\016
-+\006\003\125\004\012\023\007\122\157\157\164\040\103\101\061\036
-+\060\034\006\003\125\004\013\023\025\150\164\164\160\072\057\057
-+\167\167\167\056\143\141\143\145\162\164\056\157\162\147\061\042
-+\060\040\006\003\125\004\003\023\031\103\101\040\103\145\162\164
-+\040\123\151\147\156\151\156\147\040\101\165\164\150\157\162\151
-+\164\171\061\041\060\037\006\011\052\206\110\206\367\015\001\011
-+\001\026\022\163\165\160\160\157\162\164\100\143\141\143\145\162
-+\164\056\157\162\147\060\202\002\042\060\015\006\011\052\206\110
-+\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002
-+\012\002\202\002\001\000\316\042\300\342\106\175\354\066\050\007
-+\120\226\362\240\063\100\214\113\361\073\146\077\061\345\153\002
-+\066\333\326\174\366\361\210\217\116\167\066\005\101\225\371\011
-+\360\022\317\106\206\163\140\267\156\176\350\300\130\144\256\315
-+\260\255\105\027\014\143\372\147\012\350\326\322\277\076\347\230
-+\304\360\114\372\340\003\273\065\135\154\041\336\236\040\331\272
-+\315\146\062\067\162\372\367\010\365\307\315\130\311\216\347\016
-+\136\352\076\376\034\241\024\012\025\154\206\204\133\144\146\052
-+\172\251\113\123\171\365\210\242\173\356\057\012\141\053\215\262
-+\176\115\126\245\023\354\352\332\222\236\254\104\101\036\130\140
-+\145\005\146\370\300\104\275\313\224\367\102\176\013\367\145\150
-+\230\121\005\360\363\005\221\004\035\033\027\202\354\310\127\273
-+\303\153\172\210\361\260\162\314\045\133\040\221\354\026\002\022
-+\217\062\351\027\030\110\320\307\005\056\002\060\102\270\045\234
-+\005\153\077\252\072\247\353\123\110\367\350\322\266\007\230\334
-+\033\306\064\177\177\311\034\202\172\005\130\053\010\133\363\070
-+\242\253\027\135\146\311\230\327\236\020\213\242\322\335\164\232
-+\367\161\014\162\140\337\315\157\230\063\235\226\064\166\076\044
-+\172\222\260\016\225\036\157\346\240\105\070\107\252\327\101\355
-+\112\267\022\366\327\033\203\212\017\056\330\011\266\131\327\252
-+\004\377\322\223\175\150\056\335\213\113\253\130\272\057\215\352
-+\225\247\240\303\124\211\245\373\333\213\121\042\235\262\303\276
-+\021\276\054\221\206\213\226\170\255\040\323\212\057\032\077\306
-+\320\121\145\207\041\261\031\001\145\177\105\034\207\365\174\320
-+\101\114\117\051\230\041\375\063\037\165\014\004\121\372\031\167
-+\333\324\024\034\356\201\303\035\365\230\267\151\006\221\042\335
-+\000\120\314\201\061\254\022\007\173\070\332\150\133\346\053\324
-+\176\311\137\255\350\353\162\114\363\001\345\113\040\277\232\246
-+\127\312\221\000\001\213\241\165\041\067\265\143\015\147\076\106
-+\117\160\040\147\316\305\326\131\333\002\340\360\322\313\315\272
-+\142\267\220\101\350\335\040\344\051\274\144\051\102\310\042\334
-+\170\232\377\103\354\230\033\011\121\113\132\132\302\161\361\304
-+\313\163\251\345\241\013\002\003\001\000\001\243\202\001\316\060
-+\202\001\312\060\035\006\003\125\035\016\004\026\004\024\026\265
-+\062\033\324\307\363\340\346\216\363\275\322\260\072\356\262\071
-+\030\321\060\201\243\006\003\125\035\043\004\201\233\060\201\230
-+\200\024\026\265\062\033\324\307\363\340\346\216\363\275\322\260
-+\072\356\262\071\030\321\241\175\244\173\060\171\061\020\060\016
-+\006\003\125\004\012\023\007\122\157\157\164\040\103\101\061\036
-+\060\034\006\003\125\004\013\023\025\150\164\164\160\072\057\057
-+\167\167\167\056\143\141\143\145\162\164\056\157\162\147\061\042
-+\060\040\006\003\125\004\003\023\031\103\101\040\103\145\162\164
-+\040\123\151\147\156\151\156\147\040\101\165\164\150\157\162\151
-+\164\171\061\041\060\037\006\011\052\206\110\206\367\015\001\011
-+\001\026\022\163\165\160\160\157\162\164\100\143\141\143\145\162
-+\164\056\157\162\147\202\001\000\060\017\006\003\125\035\023\001
-+\001\377\004\005\060\003\001\001\377\060\062\006\003\125\035\037
-+\004\053\060\051\060\047\240\045\240\043\206\041\150\164\164\160
-+\163\072\057\057\167\167\167\056\143\141\143\145\162\164\056\157
-+\162\147\057\162\145\166\157\153\145\056\143\162\154\060\060\006
-+\011\140\206\110\001\206\370\102\001\004\004\043\026\041\150\164
-+\164\160\163\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\057\162\145\166\157\153\145\056\143\162\154\060
-+\064\006\011\140\206\110\001\206\370\102\001\010\004\047\026\045
-+\150\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162
-+\164\056\157\162\147\057\151\156\144\145\170\056\160\150\160\077
-+\151\144\075\061\060\060\126\006\011\140\206\110\001\206\370\102
-+\001\015\004\111\026\107\124\157\040\147\145\164\040\171\157\165
-+\162\040\157\167\156\040\143\145\162\164\151\146\151\143\141\164
-+\145\040\146\157\162\040\106\122\105\105\040\150\145\141\144\040
-+\157\166\145\162\040\164\157\040\150\164\164\160\072\057\057\167
-+\167\167\056\143\141\143\145\162\164\056\157\162\147\060\015\006
-+\011\052\206\110\206\367\015\001\001\004\005\000\003\202\002\001
-+\000\050\307\356\234\202\002\272\134\200\022\312\065\012\035\201
-+\157\211\152\231\314\362\150\017\177\247\341\215\130\225\076\275
-+\362\006\303\220\132\254\265\140\366\231\103\001\243\210\160\234
-+\235\142\235\244\207\257\147\130\015\060\066\073\346\255\110\323
-+\313\164\002\206\161\076\342\053\003\150\361\064\142\100\106\073
-+\123\352\050\364\254\373\146\225\123\212\115\135\375\073\331\140
-+\327\312\171\151\073\261\145\222\246\306\201\202\134\234\315\353
-+\115\001\212\245\337\021\125\252\025\312\037\067\300\202\230\160
-+\141\333\152\174\226\243\216\056\124\076\117\041\251\220\357\334
-+\202\277\334\350\105\255\115\220\163\010\074\224\145\260\004\231
-+\166\177\342\274\302\152\025\252\227\004\067\044\330\036\224\116
-+\155\016\121\276\326\304\217\312\226\155\367\103\337\350\060\145
-+\047\073\173\273\103\103\143\304\103\367\262\354\150\314\341\031
-+\216\042\373\230\341\173\132\076\001\067\073\213\010\260\242\363
-+\225\116\032\313\233\315\232\261\333\262\160\360\055\112\333\330
-+\260\343\157\105\110\063\022\377\376\074\062\052\124\367\304\367
-+\212\360\210\043\302\107\376\144\172\161\300\321\036\246\143\260
-+\007\176\244\057\323\001\217\334\237\053\266\306\010\251\017\223
-+\110\045\374\022\375\237\102\334\363\304\076\366\127\260\327\335
-+\151\321\006\167\064\012\113\322\312\240\377\034\306\214\311\026
-+\276\304\314\062\067\150\163\137\010\373\121\367\111\123\066\005
-+\012\225\002\114\362\171\032\020\366\330\072\165\234\363\035\361
-+\242\015\160\147\206\033\263\026\365\057\345\244\353\171\206\371
-+\075\013\302\163\013\245\231\254\157\374\147\270\345\057\013\246
-+\030\044\215\173\321\110\065\051\030\100\254\223\140\341\226\206
-+\120\264\172\131\330\217\041\013\237\317\202\221\306\073\277\153
-+\334\007\221\271\227\126\043\252\266\154\224\306\110\006\074\344
-+\316\116\252\344\366\057\011\334\123\157\056\374\164\353\072\143
-+\231\302\246\254\211\274\247\262\104\240\015\212\020\343\154\362
-+\044\313\372\233\237\160\107\056\336\024\213\324\262\040\011\226
-+\242\144\361\044\034\334\241\065\234\025\262\324\274\125\056\175
-+\006\365\234\016\125\364\132\326\223\332\166\255\045\163\114\305
-+\103
-+END
-+
-+# Trust for "CAcert.org Class 1 Root CA"
-+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Serial Number: 0 (0x0)
-+# Subject: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Not Valid Before: Sun Mar 30 12:29:49 2003
-+# Not Valid After : Tue Mar 29 12:29:49 2033
-+# Fingerprint (MD5): A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B
-+# Fingerprint (SHA1): 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33
-+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "CAcert.org Class 1 Root CA"
-+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-+\023\134\354\066\364\234\270\351\073\032\262\160\315\200\210\106
-+\166\316\217\063
-+END
-+CKA_CERT_MD5_HASH MULTILINE_OCTAL
-+\246\033\067\136\071\015\234\066\124\356\275\040\061\106\037\153
-+END
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
-+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
-+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
-+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
-+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
-+\100\143\141\143\145\162\164\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\001\000
-+END
-+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-+
-+#
-+# Certificate "CAcert.org Class 3 Root CA"
-+#
-+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Serial Number: 672138 (0xa418a)
-+# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc.
-+# Not Valid Before: Mon May 23 17:48:02 2011
-+# Not Valid After : Thu May 20 17:48:02 2021
-+# Fingerprint (MD5): F7:25:12:82:4E:67:B5:D0:8D:92:B7:7C:0B:86:7A:42
-+# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE
-+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "CAcert.org Class 3 Root CA"
-+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-+CKA_SUBJECT MULTILINE_OCTAL
-+\060\124\061\024\060\022\006\003\125\004\012\023\013\103\101\143
-+\145\162\164\040\111\156\143\056\061\036\060\034\006\003\125\004
-+\013\023\025\150\164\164\160\072\057\057\167\167\167\056\103\101
-+\143\145\162\164\056\157\162\147\061\034\060\032\006\003\125\004
-+\003\023\023\103\101\143\145\162\164\040\103\154\141\163\163\040
-+\063\040\122\157\157\164
-+END
-+CKA_ID UTF8 "0"
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
-+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
-+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
-+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
-+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
-+\100\143\141\143\145\162\164\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\003\012\101\212
-+END
-+CKA_VALUE MULTILINE_OCTAL
-+\060\202\007\131\060\202\005\101\240\003\002\001\002\002\003\012
-+\101\212\060\015\006\011\052\206\110\206\367\015\001\001\013\005
-+\000\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157
-+\157\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025
-+\150\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162
-+\164\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031
-+\103\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040
-+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052
-+\206\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162
-+\164\100\143\141\143\145\162\164\056\157\162\147\060\036\027\015
-+\061\061\060\065\062\063\061\067\064\070\060\062\132\027\015\062
-+\061\060\065\062\060\061\067\064\070\060\062\132\060\124\061\024
-+\060\022\006\003\125\004\012\023\013\103\101\143\145\162\164\040
-+\111\156\143\056\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\103\101\143\145\162\164
-+\056\157\162\147\061\034\060\032\006\003\125\004\003\023\023\103
-+\101\143\145\162\164\040\103\154\141\163\163\040\063\040\122\157
-+\157\164\060\202\002\042\060\015\006\011\052\206\110\206\367\015
-+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
-+\002\001\000\253\111\065\021\110\174\322\046\176\123\224\317\103
-+\251\335\050\327\102\052\213\363\207\170\031\130\174\017\236\332
-+\211\175\341\373\353\162\220\015\164\241\226\144\253\237\240\044
-+\231\163\332\342\125\166\307\027\173\365\004\254\106\270\303\276
-+\177\144\215\020\154\044\363\141\234\300\362\220\372\121\346\365
-+\151\001\143\303\017\126\342\112\102\317\342\104\214\045\050\250
-+\305\171\011\175\106\271\212\363\351\363\064\051\010\105\344\034
-+\237\313\224\004\034\201\250\024\263\230\145\304\103\354\116\202
-+\215\011\321\275\252\133\215\222\320\354\336\220\305\177\012\302
-+\343\353\346\061\132\136\164\076\227\063\131\350\303\003\075\140
-+\063\277\367\321\157\107\304\315\356\142\203\122\156\056\010\232
-+\244\331\025\030\221\246\205\222\107\260\256\110\353\155\267\041
-+\354\205\032\150\162\065\253\377\360\020\135\300\364\224\247\152
-+\325\073\222\176\114\220\005\176\223\301\054\213\244\216\142\164
-+\025\161\156\013\161\003\352\257\025\070\232\324\322\005\162\157
-+\214\371\053\353\132\162\045\371\071\106\343\162\033\076\004\303
-+\144\047\042\020\052\212\117\130\247\003\255\276\264\056\023\355
-+\135\252\110\327\325\175\324\052\173\134\372\106\004\120\344\314
-+\016\102\133\214\355\333\362\317\374\226\223\340\333\021\066\124
-+\142\064\070\217\014\140\233\073\227\126\070\255\363\322\133\213
-+\240\133\352\116\226\270\174\327\325\240\206\160\100\323\221\051
-+\267\242\074\255\365\214\273\317\032\222\212\344\064\173\300\330
-+\154\137\351\012\302\303\247\040\232\132\337\054\135\122\134\272
-+\107\325\233\357\044\050\160\070\040\057\325\177\051\300\262\101
-+\003\150\222\314\340\234\314\227\113\105\357\072\020\012\253\160
-+\072\230\225\160\255\065\261\352\205\053\244\034\200\041\061\251
-+\256\140\172\200\046\110\000\270\001\300\223\143\125\042\221\074
-+\126\347\257\333\072\045\363\217\061\124\352\046\213\201\131\371
-+\241\321\123\021\305\173\235\003\366\164\021\340\155\261\054\077
-+\054\206\221\231\161\232\246\167\213\064\140\321\024\264\054\254
-+\235\257\214\020\323\237\304\152\370\157\023\374\163\131\367\146
-+\102\164\036\212\343\370\334\322\157\230\234\313\107\230\225\100
-+\005\373\351\002\003\001\000\001\243\202\002\015\060\202\002\011
-+\060\035\006\003\125\035\016\004\026\004\024\165\250\161\140\114
-+\210\023\360\170\331\211\167\265\155\305\211\337\274\261\172\060
-+\201\243\006\003\125\035\043\004\201\233\060\201\230\200\024\026
-+\265\062\033\324\307\363\340\346\216\363\275\322\260\072\356\262
-+\071\030\321\241\175\244\173\060\171\061\020\060\016\006\003\125
-+\004\012\023\007\122\157\157\164\040\103\101\061\036\060\034\006
-+\003\125\004\013\023\025\150\164\164\160\072\057\057\167\167\167
-+\056\143\141\143\145\162\164\056\157\162\147\061\042\060\040\006
-+\003\125\004\003\023\031\103\101\040\103\145\162\164\040\123\151
-+\147\156\151\156\147\040\101\165\164\150\157\162\151\164\171\061
-+\041\060\037\006\011\052\206\110\206\367\015\001\011\001\026\022
-+\163\165\160\160\157\162\164\100\143\141\143\145\162\164\056\157
-+\162\147\202\001\000\060\017\006\003\125\035\023\001\001\377\004
-+\005\060\003\001\001\377\060\135\006\010\053\006\001\005\005\007
-+\001\001\004\121\060\117\060\043\006\010\053\006\001\005\005\007
-+\060\001\206\027\150\164\164\160\072\057\057\157\143\163\160\056
-+\103\101\143\145\162\164\056\157\162\147\057\060\050\006\010\053
-+\006\001\005\005\007\060\002\206\034\150\164\164\160\072\057\057
-+\167\167\167\056\103\101\143\145\162\164\056\157\162\147\057\143
-+\141\056\143\162\164\060\112\006\003\125\035\040\004\103\060\101
-+\060\077\006\010\053\006\001\004\001\201\220\112\060\063\060\061
-+\006\010\053\006\001\005\005\007\002\001\026\045\150\164\164\160
-+\072\057\057\167\167\167\056\103\101\143\145\162\164\056\157\162
-+\147\057\151\156\144\145\170\056\160\150\160\077\151\144\075\061
-+\060\060\064\006\011\140\206\110\001\206\370\102\001\010\004\047
-+\026\045\150\164\164\160\072\057\057\167\167\167\056\103\101\143
-+\145\162\164\056\157\162\147\057\151\156\144\145\170\056\160\150
-+\160\077\151\144\075\061\060\060\120\006\011\140\206\110\001\206
-+\370\102\001\015\004\103\026\101\124\157\040\147\145\164\040\171
-+\157\165\162\040\157\167\156\040\143\145\162\164\151\146\151\143
-+\141\164\145\040\146\157\162\040\106\122\105\105\054\040\147\157
-+\040\164\157\040\150\164\164\160\072\057\057\167\167\167\056\103
-+\101\143\145\162\164\056\157\162\147\060\015\006\011\052\206\110
-+\206\367\015\001\001\013\005\000\003\202\002\001\000\051\050\205
-+\256\104\251\271\257\244\171\023\360\250\243\053\227\140\363\134
-+\356\343\057\301\366\342\146\240\021\256\066\067\072\166\025\004
-+\123\352\102\365\371\352\300\025\330\246\202\331\344\141\256\162
-+\013\051\134\220\103\350\101\262\341\167\333\002\023\104\170\107
-+\125\257\130\374\314\230\366\105\271\321\040\370\330\041\007\376
-+\155\252\163\324\263\306\007\351\011\205\314\073\362\266\276\054
-+\034\045\325\161\214\071\265\056\352\276\030\201\272\260\223\270
-+\017\343\346\327\046\214\061\132\162\003\204\122\346\246\365\063
-+\042\105\012\310\013\015\212\270\066\157\220\011\241\253\275\327
-+\325\116\056\161\242\324\256\372\247\124\053\353\065\215\132\267
-+\124\210\057\356\164\237\355\110\026\312\015\110\320\224\323\254
-+\244\242\366\044\337\222\343\275\353\103\100\221\156\034\030\216
-+\126\264\202\022\363\251\223\237\324\274\234\255\234\165\356\132
-+\227\033\225\347\164\055\034\017\260\054\227\237\373\251\063\071
-+\172\347\003\072\222\216\042\366\214\015\344\331\176\015\166\030
-+\367\001\371\357\226\226\242\125\163\300\074\161\264\035\032\126
-+\103\267\303\012\215\162\374\342\020\011\013\101\316\214\224\240
-+\371\003\375\161\163\113\212\127\063\345\216\164\176\025\001\000
-+\346\314\112\034\347\177\225\031\055\305\245\014\213\273\265\355
-+\205\263\134\323\337\270\271\362\312\307\015\001\024\254\160\130
-+\305\214\215\063\324\235\146\243\032\120\225\043\374\110\340\006
-+\103\022\331\315\247\206\071\057\066\162\243\200\020\344\341\363
-+\321\313\133\032\300\344\200\232\174\023\163\006\117\333\243\153
-+\044\012\272\263\034\274\112\170\273\345\343\165\070\245\110\247
-+\242\036\257\166\324\136\367\070\206\126\132\211\316\326\303\247
-+\171\262\122\240\306\361\205\264\045\214\362\077\226\263\020\331
-+\215\154\127\073\237\157\206\072\030\202\042\066\310\260\221\070
-+\333\052\241\223\252\204\077\365\047\145\256\163\325\310\325\323
-+\167\352\113\235\307\101\273\307\300\343\240\077\344\175\244\215
-+\163\346\022\113\337\241\163\163\163\072\200\350\325\313\216\057
-+\313\352\023\247\326\101\213\254\372\074\211\327\044\365\116\264
-+\340\141\222\267\363\067\230\304\276\226\243\267\212
-+END
-+
-+# Trust for "CAcert.org Class 3 Root CA"
-+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
-+# Serial Number: 672138 (0xa418a)
-+# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc.
-+# Not Valid Before: Mon May 23 17:48:02 2011
-+# Not Valid After : Thu May 20 17:48:02 2021
-+# Fingerprint (MD5): F7:25:12:82:4E:67:B5:D0:8D:92:B7:7C:0B:86:7A:42
-+# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE
-+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "CAcert.org Class 3 Root CA"
-+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-+\255\174\077\144\374\104\071\376\364\351\013\350\364\174\154\372
-+\212\255\375\316
-+END
-+CKA_CERT_MD5_HASH MULTILINE_OCTAL
-+\367\045\022\202\116\147\265\320\215\222\267\174\013\206\172\102
-+END
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
-+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
-+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
-+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
-+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
-+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
-+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
-+\100\143\141\143\145\162\164\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\003\012\101\212
-+END
-+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-+
-+#
-+# Certificate "Software in the Public Interest"
-+#
-+# Issuer: E=hostmaster@spi-inc.org,CN=Certificate Authority,OU=hostmaster,O=Software in the Public Interest,L=Indianapolis,ST=Indiana,C=US
-+# Serial Number:00:e8:8e:b6:c9:f8:2a:14:28
-+# Subject: E=hostmaster@spi-inc.org,CN=Certificate Authority,OU=hostmaster,O=Software in the Public Interest,L=Indianapolis,ST=Indiana,C=US
-+# Not Valid Before: Tue May 13 08:07:56 2008
-+# Not Valid After : Fri May 11 08:07:56 2018
-+# Fingerprint (MD5): 2A:47:9F:60:BB:83:74:6F:01:03:D7:0B:0D:F6:0D:78
-+# Fingerprint (SHA1): AF:70:88:43:83:82:02:15:CD:61:C6:BC:EC:FD:37:24:A9:90:43:1C
-+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "Software in the Public Interest"
-+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-+CKA_SUBJECT MULTILINE_OCTAL
-+\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123
-+\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141
-+\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144
-+\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125
-+\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040
-+\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162
-+\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157
-+\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004
-+\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101
-+\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206
-+\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163
-+\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147
-+END
-+CKA_ID UTF8 "0"
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123
-+\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141
-+\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144
-+\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125
-+\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040
-+\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162
-+\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157
-+\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004
-+\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101
-+\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206
-+\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163
-+\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\011\000\350\216\266\311\370\052\024\050
-+END
-+CKA_VALUE MULTILINE_OCTAL
-+\060\202\010\016\060\202\005\366\240\003\002\001\002\002\011\000
-+\350\216\266\311\370\052\024\050\060\015\006\011\052\206\110\206
-+\367\015\001\001\005\005\000\060\201\274\061\013\060\011\006\003
-+\125\004\006\023\002\125\123\061\020\060\016\006\003\125\004\010
-+\023\007\111\156\144\151\141\156\141\061\025\060\023\006\003\125
-+\004\007\023\014\111\156\144\151\141\156\141\160\157\154\151\163
-+\061\050\060\046\006\003\125\004\012\023\037\123\157\146\164\167
-+\141\162\145\040\151\156\040\164\150\145\040\120\165\142\154\151
-+\143\040\111\156\164\145\162\145\163\164\061\023\060\021\006\003
-+\125\004\013\023\012\150\157\163\164\155\141\163\164\145\162\061
-+\036\060\034\006\003\125\004\003\023\025\103\145\162\164\151\146
-+\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061
-+\045\060\043\006\011\052\206\110\206\367\015\001\011\001\026\026
-+\150\157\163\164\155\141\163\164\145\162\100\163\160\151\055\151
-+\156\143\056\157\162\147\060\036\027\015\060\070\060\065\061\063
-+\060\070\060\067\065\066\132\027\015\061\070\060\065\061\061\060
-+\070\060\067\065\066\132\060\201\274\061\013\060\011\006\003\125
-+\004\006\023\002\125\123\061\020\060\016\006\003\125\004\010\023
-+\007\111\156\144\151\141\156\141\061\025\060\023\006\003\125\004
-+\007\023\014\111\156\144\151\141\156\141\160\157\154\151\163\061
-+\050\060\046\006\003\125\004\012\023\037\123\157\146\164\167\141
-+\162\145\040\151\156\040\164\150\145\040\120\165\142\154\151\143
-+\040\111\156\164\145\162\145\163\164\061\023\060\021\006\003\125
-+\004\013\023\012\150\157\163\164\155\141\163\164\145\162\061\036
-+\060\034\006\003\125\004\003\023\025\103\145\162\164\151\146\151
-+\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061\045
-+\060\043\006\011\052\206\110\206\367\015\001\011\001\026\026\150
-+\157\163\164\155\141\163\164\145\162\100\163\160\151\055\151\156
-+\143\056\157\162\147\060\202\002\042\060\015\006\011\052\206\110
-+\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002
-+\012\002\202\002\001\000\334\066\346\107\102\302\304\121\165\051
-+\207\100\303\330\216\041\006\322\030\116\353\357\040\275\220\074
-+\205\020\023\214\051\133\224\143\366\364\055\361\006\102\221\271
-+\031\304\102\151\010\277\213\066\105\352\050\005\063\111\110\240
-+\047\103\223\065\212\101\330\170\263\360\357\263\156\055\335\321
-+\313\175\352\364\165\046\323\076\220\072\356\327\347\054\004\265
-+\174\341\365\174\305\116\357\167\275\134\242\223\063\222\316\175
-+\201\110\317\153\265\042\054\010\203\375\323\325\317\073\055\375
-+\265\111\220\133\366\255\115\023\312\336\323\246\235\123\121\161
-+\143\106\370\112\026\134\230\356\055\155\232\026\241\166\220\342
-+\140\103\231\326\211\326\154\056\172\230\262\013\003\054\343\172
-+\117\307\335\343\314\343\112\152\215\171\122\372\364\301\257\056
-+\217\052\010\313\033\051\202\222\162\103\274\316\210\251\252\247
-+\212\121\103\125\205\232\067\003\170\223\310\360\275\264\101\310
-+\007\102\232\313\065\227\172\212\201\145\336\035\124\010\001\361
-+\144\134\267\027\032\121\274\036\303\131\207\166\030\026\230\356
-+\277\366\147\201\213\006\065\305\113\155\131\031\307\322\306\110
-+\276\156\024\050\203\112\020\234\033\365\157\274\251\216\365\151
-+\376\262\301\125\314\347\024\311\371\133\024\123\121\007\352\316
-+\075\344\117\050\037\074\141\011\327\063\322\156\247\156\324\307
-+\023\011\157\153\135\024\356\235\211\033\245\152\362\366\370\320
-+\162\216\352\162\037\057\064\152\051\012\305\012\354\034\100\205
-+\022\367\246\245\323\117\255\300\205\214\114\174\163\040\314\123
-+\030\361\262\130\114\001\365\277\352\144\325\134\071\305\316\154
-+\314\123\132\126\272\101\017\045\337\153\120\266\307\212\240\275
-+\002\302\305\073\125\245\262\144\042\204\121\050\126\256\061\356
-+\136\373\013\026\115\106\005\221\200\104\355\254\155\360\127\250
-+\372\353\141\110\240\313\033\263\037\216\315\305\041\167\003\204
-+\036\374\254\243\103\010\143\214\355\371\047\357\264\260\135\147
-+\326\117\355\320\213\076\135\133\311\221\275\226\002\204\075\305
-+\115\274\102\077\164\375\074\135\254\134\110\066\136\207\061\057
-+\030\154\304\150\356\241\213\311\131\320\030\343\000\200\263\124
-+\047\056\231\360\025\123\002\003\001\000\001\243\202\002\017\060
-+\202\002\013\060\035\006\003\125\035\016\004\026\004\024\064\161
-+\321\070\327\025\066\203\107\153\327\067\144\102\073\216\215\122
-+\235\253\060\201\361\006\003\125\035\043\004\201\351\060\201\346
-+\200\024\064\161\321\070\327\025\066\203\107\153\327\067\144\102
-+\073\216\215\122\235\253\241\201\302\244\201\277\060\201\274\061
-+\013\060\011\006\003\125\004\006\023\002\125\123\061\020\060\016
-+\006\003\125\004\010\023\007\111\156\144\151\141\156\141\061\025
-+\060\023\006\003\125\004\007\023\014\111\156\144\151\141\156\141
-+\160\157\154\151\163\061\050\060\046\006\003\125\004\012\023\037
-+\123\157\146\164\167\141\162\145\040\151\156\040\164\150\145\040
-+\120\165\142\154\151\143\040\111\156\164\145\162\145\163\164\061
-+\023\060\021\006\003\125\004\013\023\012\150\157\163\164\155\141
-+\163\164\145\162\061\036\060\034\006\003\125\004\003\023\025\103
-+\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
-+\162\151\164\171\061\045\060\043\006\011\052\206\110\206\367\015
-+\001\011\001\026\026\150\157\163\164\155\141\163\164\145\162\100
-+\163\160\151\055\151\156\143\056\157\162\147\202\011\000\350\216
-+\266\311\370\052\024\050\060\017\006\003\125\035\023\001\001\377
-+\004\005\060\003\001\001\377\060\021\006\011\140\206\110\001\206
-+\370\102\001\001\004\004\003\002\000\007\060\011\006\003\125\035
-+\022\004\002\060\000\060\056\006\011\140\206\110\001\206\370\102
-+\001\015\004\041\026\037\123\157\146\164\167\141\162\145\040\151
-+\156\040\164\150\145\040\120\165\142\154\151\143\040\111\156\164
-+\145\162\145\163\164\060\060\006\011\140\206\110\001\206\370\102
-+\001\004\004\043\026\041\150\164\164\160\163\072\057\057\143\141
-+\056\163\160\151\055\151\156\143\056\157\162\147\057\143\141\055
-+\143\162\154\056\160\145\155\060\062\006\011\140\206\110\001\206
-+\370\102\001\003\004\045\026\043\150\164\164\160\163\072\057\057
-+\143\141\056\163\160\151\055\151\156\143\056\157\162\147\057\143
-+\145\162\164\055\143\162\154\056\160\145\155\060\041\006\003\125
-+\035\021\004\032\060\030\201\026\150\157\163\164\155\141\163\164
-+\145\162\100\163\160\151\055\151\156\143\056\157\162\147\060\016
-+\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\015
-+\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002
-+\001\000\264\315\275\340\271\352\262\003\053\176\062\351\336\162
-+\077\311\113\202\136\235\342\257\125\011\242\014\124\350\317\030
-+\074\050\040\035\251\273\003\002\057\122\071\042\371\027\317\255
-+\147\220\263\003\177\330\025\343\153\176\273\233\126\001\257\065
-+\324\332\271\307\147\027\233\324\325\016\067\263\040\101\056\014
-+\001\304\133\371\145\076\302\141\350\322\360\152\225\160\303\306
-+\157\325\065\244\254\131\162\341\211\337\241\240\235\044\275\051
-+\171\351\141\052\331\323\036\311\106\244\010\170\101\222\162\017
-+\253\024\165\355\011\360\242\360\134\357\303\012\142\040\267\302
-+\050\146\256\114\057\056\217\105\143\046\226\360\356\061\346\213
-+\125\233\252\072\371\202\071\035\210\074\342\007\165\032\341\017
-+\261\060\274\161\062\322\072\376\372\241\211\363\103\054\326\162
-+\304\171\247\025\110\005\300\330\055\162\002\343\313\075\026\152
-+\272\311\270\021\020\342\111\205\314\226\107\140\005\045\056\357
-+\165\131\063\365\107\031\026\357\332\154\137\007\310\246\120\266
-+\035\313\146\064\045\374\146\203\353\305\266\060\101\370\106\104
-+\142\250\301\014\124\346\352\114\132\050\346\256\306\267\376\177
-+\073\226\250\056\356\307\150\076\335\000\075\051\257\052\143\253
-+\137\356\111\052\055\305\334\373\321\306\323\321\227\126\122\206
-+\266\224\353\324\140\121\267\374\036\233\314\002\233\324\037\217
-+\371\112\217\266\056\050\073\027\314\305\246\005\343\322\323\265
-+\306\003\311\341\110\102\233\313\077\344\027\340\376\015\001\225
-+\011\272\270\015\161\344\011\160\167\102\330\115\341\102\251\140
-+\203\327\027\211\103\322\324\335\247\030\266\253\324\044\045\207
-+\265\324\342\374\056\042\151\275\255\150\054\377\162\265\230\252
-+\006\234\347\052\152\270\241\223\166\316\260\363\177\234\341\340
-+\117\270\330\206\106\245\063\002\054\045\141\067\052\222\310\254
-+\201\164\150\143\207\063\166\275\005\177\136\325\325\002\155\275
-+\257\377\052\132\252\111\354\230\171\107\123\221\366\016\064\132
-+\311\245\306\353\262\343\305\254\266\240\160\065\273\310\121\151
-+\320\362\265\242\062\156\274\077\240\067\071\174\161\066\246\005
-+\337\014\022\344\026\247\305\326\313\143\243\225\160\077\346\004
-+\243\140
-+END
-+
-+# Trust for "Software in the Public Interest"
-+# Issuer: E=hostmaster@spi-inc.org,CN=Certificate Authority,OU=hostmaster,O=Software in the Public Interest,L=Indianapolis,ST=Indiana,C=US
-+# Serial Number:00:e8:8e:b6:c9:f8:2a:14:28
-+# Subject: E=hostmaster@spi-inc.org,CN=Certificate Authority,OU=hostmaster,O=Software in the Public Interest,L=Indianapolis,ST=Indiana,C=US
-+# Not Valid Before: Tue May 13 08:07:56 2008
-+# Not Valid After : Fri May 11 08:07:56 2018
-+# Fingerprint (MD5): 2A:47:9F:60:BB:83:74:6F:01:03:D7:0B:0D:F6:0D:78
-+# Fingerprint (SHA1): AF:70:88:43:83:82:02:15:CD:61:C6:BC:EC:FD:37:24:A9:90:43:1C
-+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-+CKA_TOKEN CK_BBOOL CK_TRUE
-+CKA_PRIVATE CK_BBOOL CK_FALSE
-+CKA_MODIFIABLE CK_BBOOL CK_FALSE
-+CKA_LABEL UTF8 "Software in the Public Interest"
-+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-+\257\160\210\103\203\202\002\025\315\141\306\274\354\375\067\044
-+\251\220\103\034
-+END
-+CKA_CERT_MD5_HASH MULTILINE_OCTAL
-+\052\107\237\140\273\203\164\157\001\003\327\013\015\366\015\170
-+END
-+CKA_ISSUER MULTILINE_OCTAL
-+\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123
-+\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141
-+\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144
-+\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125
-+\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040
-+\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162
-+\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157
-+\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004
-+\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101
-+\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206
-+\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163
-+\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147
-+END
-+CKA_SERIAL_NUMBER MULTILINE_OCTAL
-+\002\011\000\350\216\266\311\370\052\024\050
-+END
-+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
diff --git a/extra/opal/PKGBUILD b/extra/opal/PKGBUILD
index cfc2ccb1e..1f35718a4 100644
--- a/extra/opal/PKGBUILD
+++ b/extra/opal/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 199861 2013-11-17 12:53:54Z bpiotrowski $
+# $Id: PKGBUILD 208910 2014-03-28 15:46:23Z bpiotrowski $
# Maintainer: Jan de Groot <jan@archlinux.org>
# Contributor: Tom K <tomk@runbox.com>
pkgname=opal
pkgver=3.10.11
-pkgrel=2
+pkgrel=3
pkgdesc="Open Phone Abstraction Library"
arch=(i686 x86_64)
url="http://www.opalvoip.org"
diff --git a/extra/pyopenssl/PKGBUILD b/extra/pyopenssl/PKGBUILD
deleted file mode 100644
index eb7b239f0..000000000
--- a/extra/pyopenssl/PKGBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# $Id: PKGBUILD 207738 2014-03-14 03:59:15Z fyan $
-# Maintainer : Ionut Biru<ibiru@archlinux.org>
-# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
-
-pkgbase=pyopenssl
-pkgname=('python-pyopenssl' 'python2-pyopenssl')
-pkgver=0.14
-pkgrel=2
-arch=('i686' 'x86_64')
-url="http://pypi.python.org/pypi/pyOpenSSL"
-license=('LGPL2.1')
-makedepends=('python-setuptools' 'python2-setuptools' 'openssl' 'python-six' 'python2-six' 'python-cryptography' 'python2-cryptography')
-source=(http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${pkgver}.tar.gz)
-md5sums=('8579ff3a1d858858acfba5f046a4ddf7')
-
-build() {
- cd "${srcdir}"
- cp -a "pyOpenSSL-${pkgver}"{,-python2}
-
- #build python 3 module
- cd "pyOpenSSL-${pkgver}"
- python setup.py build
-
- #build python 2 module
- cd ../"pyOpenSSL-${pkgver}-python2"
- python2 setup.py build
-}
-
-package_python-pyopenssl(){
- pkgdesc="Python3 wrapper module around the OpenSSL library"
- depends=('python>=3.3' 'openssl' 'python-six' 'python-cryptography')
- replaces=('pyopenssl')
- provides=('pyopenssl')
- conflicts=('pyopenssl')
-
- cd "${srcdir}/pyOpenSSL-${pkgver}"
- python setup.py install --root "${pkgdir}" --optimize=1
-}
-
-package_python2-pyopenssl(){
- pkgdesc="Python2 wrapper module around the OpenSSL library"
- depends=('python2>=2.7' 'openssl' 'python2-six' 'python2-cryptography')
-
- cd "${srcdir}/pyOpenSSL-${pkgver}-python2"
- python2 setup.py install --root "${pkgdir}" --optimize=1
-}
diff --git a/extra/pyqt4/PKGBUILD b/extra/pyqt4/PKGBUILD
index 8409ba099..a859d46b4 100644
--- a/extra/pyqt4/PKGBUILD
+++ b/extra/pyqt4/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 208833 2014-03-27 14:43:20Z fyan $
+# $Id: PKGBUILD 208888 2014-03-28 06:10:07Z fyan $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net>
@@ -6,7 +6,7 @@
pkgbase=pyqt4
pkgname=('pyqt4-common' 'python-pyqt4' 'python2-pyqt4')
pkgver=4.10.4
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url='http://www.riverbankcomputing.com/software/pyqt/intro'
license=('GPL')
diff --git a/extra/pyqt5/PKGBUILD b/extra/pyqt5/PKGBUILD
index 4c3a95083..dbfe4e387 100644
--- a/extra/pyqt5/PKGBUILD
+++ b/extra/pyqt5/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 208834 2014-03-27 14:43:21Z fyan $
+# $Id: PKGBUILD 208890 2014-03-28 06:38:37Z fyan $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Yichao Yu <yyc1992@gmail.com>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
@@ -8,7 +8,7 @@ pkgbase=pyqt5
pkgname=pyqt5
pkgname=('pyqt5-common' 'python-pyqt5' 'python2-pyqt5')
pkgver=5.2.1
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://riverbankcomputing.co.uk/software/pyqt/intro"
license=('GPL')
diff --git a/extra/qtcreator/PKGBUILD b/extra/qtcreator/PKGBUILD
index 4275ce363..7a76041ab 100644
--- a/extra/qtcreator/PKGBUILD
+++ b/extra/qtcreator/PKGBUILD
@@ -9,7 +9,7 @@
pkgname=qtcreator
pkgver=3.1.0beta1
_pkgver=v3.1.0-beta1
-pkgrel=2
+pkgrel=3
pkgdesc='Lightweight, cross-platform integrated development environment'
arch=('i686' 'x86_64')
url='http://qt-project.org'
diff --git a/extra/vlc/PKGBUILD b/extra/vlc/PKGBUILD
index 633d468ec..8ee414778 100644
--- a/extra/vlc/PKGBUILD
+++ b/extra/vlc/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 206249 2014-02-22 18:40:57Z giovanni $
+# $Id: PKGBUILD 208911 2014-03-28 15:46:24Z bpiotrowski $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor: Martin Sandsmark <martin.sandsmark@kde.org>
pkgname=vlc
pkgver=2.1.4
-pkgrel=1
+pkgrel=2
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
arch=('i686' 'x86_64')
url="http://www.videolan.org/vlc/"
license=('LGPL2.1' 'GPL2')
-depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'qt4' 'libproxy'
- 'sdl_image' 'libdvdnav' 'libtiger' 'lua' 'libmatroska'
- 'zvbi' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp'
- 'libshout' 'libmad' 'libmpeg2' 'xcb-util-keysyms' 'libtar'
+depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'qt4' 'libproxy'
+ 'sdl_image' 'libdvdnav' 'libtiger' 'lua' 'libmatroska'
+ 'zvbi' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp'
+ 'libshout' 'libmad' 'libmpeg2' 'xcb-util-keysyms' 'libtar'
'libxinerama')
makedepends=('live-media' 'libnotify' 'libbluray' 'flac' 'kdelibs'
- 'libdc1394' 'libavc1394' 'lirc-utils' 'libcaca'
- 'librsvg' 'portaudio' 'libgme' 'xosd' 'projectm'
- 'twolame' 'aalib' 'libmtp' 'libdvdcss' 'gnome-vfs'
+ 'libdc1394' 'libavc1394' 'lirc-utils' 'libcaca'
+ 'librsvg' 'portaudio' 'libgme' 'xosd' 'projectm'
+ 'twolame' 'aalib' 'libmtp' 'libdvdcss' 'gnome-vfs'
'libgoom2' 'vcdimager' 'opus' 'libssh2' 'mesa')
optdepends=('avahi: for service discovery using bonjour protocol'
'libnotify: for notification plugin'
@@ -73,7 +73,7 @@ prepare() {
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- CFLAGS+="-I/usr/include/samba-4.0" CPPFLAGS+="-I/usr/include/samba-4.0" \
+ CFLAGS+=" -I/usr/include/samba-4.0" CPPFLAGS+=" -I/usr/include/samba-4.0" \
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-rpath \
diff --git a/extra/x264/PKGBUILD b/extra/x264/PKGBUILD
index 6f6b9ff5c..fe2a489d1 100644
--- a/extra/x264/PKGBUILD
+++ b/extra/x264/PKGBUILD
@@ -1,21 +1,30 @@
-# $Id: PKGBUILD 201499 2013-12-13 07:56:25Z bpiotrowski $
+# $Id: PKGBUILD 208912 2014-03-28 15:46:25Z bpiotrowski $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
-# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: damir <damir@archlinux.org>
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=x264
-pkgver=20131030
-pkgrel=2
+pkgver=142.20140311
+pkgrel=1
+epoch=1
pkgdesc='Library for encoding H264/AVC video streams'
arch=('i686' 'x86_64')
url='http://www.videolan.org/developers/x264.html'
license=('GPL')
depends=('glibc')
makedepends=('yasm' 'git')
-source=(git://git.videolan.org/x264.git#commit=c628e3bac)
+source=(git://git.videolan.org/x264.git#commit=aff928d2)
md5sums=('SKIP')
+pkgver() {
+ cd $pkgname
+ local _ver=$(grep '#define X264_BUILD' x264.h | cut -d' ' -f3)
+ local _date=$(git log -1 --format="%cd" --date=short | tr -d -)
+
+ echo ${_ver}.${_date}
+}
+
build() {
cd $pkgname
@@ -27,6 +36,5 @@ build() {
}
package() {
- cd $pkgname
- make DESTDIR="$pkgdir" install
+ make -C $pkgname DESTDIR="$pkgdir" install
}
diff --git a/extra/xf86-video-vmware/PKGBUILD b/extra/xf86-video-vmware/PKGBUILD
index 8b9cabb55..08a9379b0 100644
--- a/extra/xf86-video-vmware/PKGBUILD
+++ b/extra/xf86-video-vmware/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 203644 2014-01-13 17:13:31Z andyrtr $
+# $Id: PKGBUILD 208918 2014-03-28 17:31:38Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-vmware
-pkgver=13.0.1
-pkgrel=3
+pkgver=13.0.2
+pkgrel=1
pkgdesc="X.org vmware video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
@@ -13,16 +13,8 @@ makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15')
conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16')
groups=('xorg-drivers' 'xorg')
options=('!emptydirs')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- xatracker-v2-fixes.patch)
-sha256sums=('802dda415c22412edad6c3df44fe18a06e91d0f8456d9a58bac0d340fdf8fe3d'
- '7ab392cbc6258dc36df14ef60072c655d850bcfb6885111b41bcfe25dc1faacc')
-
-prepare() {
- cd ${pkgname}-${pkgver}
- # grab from upstream git repo, needed for mesa>10.0
- patch -Np1 -i ../xatracker-v2-fixes.patch
-}
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('c8ba3d2cead3620dba2cbf5defb7f1759b2b96f4fe209f4bf6976832b6763c54')
build() {
cd ${pkgname}-${pkgver}
diff --git a/extra/xf86-video-vmware/xatracker-v2-fixes.patch b/extra/xf86-video-vmware/xatracker-v2-fixes.patch
deleted file mode 100644
index 9b8ed54a5..000000000
--- a/extra/xf86-video-vmware/xatracker-v2-fixes.patch
+++ /dev/null
@@ -1,1583 +0,0 @@
-From 0945bea5fc32eacb7bf42639efbd45dcd43e7ab5 Mon Sep 17 00:00:00 2001
-From: Rob Clark <robdclark@gmail.com>
-Date: Mon, 10 Jun 2013 13:31:31 -0400
-Subject: [PATCH 01/11] vmwgfx: update for XA API changes
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
----
- configure.ac | 2 +-
- vmwgfx/vmwgfx_dri2.c | 5 +++--
- vmwgfx/vmwgfx_driver.c | 3 ++-
- vmwgfx/vmwgfx_saa.c | 20 ++++++++++++++------
- vmwgfx/vmwgfx_tex_video.c | 5 +++--
- 5 files changed, 23 insertions(+), 12 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0631bcc..dccfb27 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -118,7 +118,7 @@ if test x$BUILD_VMWGFX = xyes; then
- PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no])
- fi
- if test x$BUILD_VMWGFX = xyes; then
-- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],[],[BUILD_VMWGFX=no])
-+ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 2.0.0],[],[BUILD_VMWGFX=no])
- fi
-
- DRIVER_NAME=vmware
-diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c
-index 7de0772..2f007f0 100644
---- a/vmwgfx/vmwgfx_dri2.c
-+++ b/vmwgfx/vmwgfx_dri2.c
-@@ -201,7 +201,8 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for
- }
-
- private->srf = srf;
-- if (xa_surface_handle(srf, &buffer->name, &buffer->pitch) != 0)
-+ if (xa_surface_handle(srf, xa_handle_type_shared,
-+ &buffer->name, &buffer->pitch) != 0)
- return FALSE;
-
- buffer->cpp = xa_format_depth(xa_surface_format(srf)) / 8;
-@@ -222,7 +223,7 @@ dri2_do_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buffer)
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(private->pPixmap);
-
- if (--private->refcount == 0 && srf) {
-- xa_surface_destroy(srf);
-+ xa_surface_unref(srf);
- }
-
- /*
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index 7863ba2..3002285 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -617,7 +617,8 @@ vmwgfx_scanout_present(ScreenPtr pScreen, int drm_fd,
- return FALSE;
- }
-
-- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0) {
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0) {
- LogMessage(X_ERROR, "Could not get present surface handle.\n");
- return FALSE;
- }
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 63df3a1..ed3c1ee 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -140,7 +140,7 @@ vmwgfx_pixmap_free_storage(struct vmwgfx_saa_pixmap *vpix)
- vpix->malloc = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_SURFACE) && vpix->hw) {
-- xa_surface_destroy(vpix->hw);
-+ xa_surface_unref(vpix->hw);
- vpix->hw = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_GMR) && vpix->gmr) {
-@@ -286,7 +286,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- if (vpix->gmr && vsaa->can_optimize_dma) {
- uint32_t handle, dummy;
-
-- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0)
- goto out_err;
- if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle,
- to_hw) != 0)
-@@ -305,6 +306,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- (int) to_hw,
- (struct xa_box *) REGION_RECTS(reg),
- REGION_NUM_RECTS(reg));
-+ if (to_hw)
-+ xa_context_flush(vsaa->xa_ctx);
- if (vpix->gmr)
- vmwgfx_dmabuf_unmap(vpix->gmr);
- if (ret)
-@@ -441,7 +444,7 @@ vmwgfx_hw_kill(struct vmwgfx_saa *vsaa,
- &spix->dirty_hw))
- return FALSE;
-
-- xa_surface_destroy(vpix->hw);
-+ xa_surface_unref(vpix->hw);
- vpix->hw = NULL;
-
- /*
-@@ -683,7 +686,8 @@ vmwgfx_present_prepare(struct vmwgfx_saa *vsaa,
-
- (void) pScreen;
- if (src_vpix == dst_vpix || !src_vpix->hw ||
-- xa_surface_handle(src_vpix->hw, &vsaa->src_handle, &dummy) != 0)
-+ xa_surface_handle(src_vpix->hw, xa_handle_type_shared,
-+ &vsaa->src_handle, &dummy) != 0)
- return FALSE;
-
- REGION_NULL(pScreen, &vsaa->present_region);
-@@ -784,7 +788,7 @@ vmwgfx_create_hw(struct vmwgfx_saa *vsaa,
- return TRUE;
-
- out_no_damage:
-- xa_surface_destroy(hw);
-+ xa_surface_unref(hw);
- return FALSE;
- }
-
-@@ -929,6 +933,7 @@ vmwgfx_copy_prepare(struct saa_driver *driver,
-
- if (!vmwgfx_hw_validate(src_pixmap, src_reg)) {
- xa_copy_done(vsaa->xa_ctx);
-+ xa_context_flush(vsaa->xa_ctx);
- return FALSE;
- }
-
-@@ -1029,6 +1034,7 @@ vmwgfx_copy_done(struct saa_driver *driver)
- return;
- }
- xa_copy_done(vsaa->xa_ctx);
-+ xa_context_flush(vsaa->xa_ctx);
- }
-
- static Bool
-@@ -1175,6 +1181,7 @@ vmwgfx_composite_done(struct saa_driver *driver)
- struct vmwgfx_saa *vsaa = to_vmwgfx_saa(driver);
-
- xa_composite_done(vsaa->xa_ctx);
-+ xa_context_flush(vsaa->xa_ctx);
- }
-
- static void
-@@ -1436,7 +1443,8 @@ vmwgfx_scanout_ref(struct vmwgfx_screen_entry *entry)
- */
- if (!vmwgfx_hw_accel_validate(pixmap, 0, XA_FLAG_SCANOUT, 0, NULL))
- goto out_err;
-- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0)
- goto out_err;
- depth = xa_format_depth(xa_surface_format(vpix->hw));
-
-diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
-index 449266b..2971ed7 100644
---- a/vmwgfx/vmwgfx_tex_video.c
-+++ b/vmwgfx/vmwgfx_tex_video.c
-@@ -199,7 +199,7 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown)
-
- for (i=0; i<3; ++i) {
- if (priv->yuv[i]) {
-- xa_surface_destroy(priv->yuv[i]);
-+ xa_surface_unref(priv->yuv[i]);
- priv->yuv[i] = NULL;
- }
- for (j=0; j<2; ++j) {
-@@ -539,7 +539,8 @@ copy_packed_data(ScrnInfoPtr pScrn,
- REGION_RESET(pScrn->pScreen, &reg, &box);
- }
-
-- if (xa_surface_handle(srf, &handle, &stride) != 0) {
-+ if (xa_surface_handle(srf, xa_handle_type_shared,
-+ &handle, &stride) != 0) {
- ret = BadAlloc;
- break;
- }
---
-1.8.5.1
-
-
-From 835ce4698f916ba080f4132988fd4caf898e0b1e Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Thu, 26 Sep 2013 01:25:33 -0700
-Subject: [PATCH 02/11] vmwgfx: Avoid HW operations when not master
-
-Note that for DRI2, a dri2_copy_region becomes a NOP when not master.
-Additionally, all dri2 operations that lead to a potential kernel
-access will return FALSE.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_dri2.c | 13 +++++++++++++
- vmwgfx/vmwgfx_driver.c | 3 +++
- vmwgfx/vmwgfx_saa.c | 44 +++++++++++++++++++++++++++++++++++++++++++-
- vmwgfx/vmwgfx_saa.h | 8 ++++++++
- vmwgfx/vmwgfx_saa_priv.h | 2 ++
- vmwgfx/vmwgfx_xa_surface.c | 6 ++++++
- 6 files changed, 75 insertions(+), 1 deletion(-)
-
-diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c
-index 2f007f0..57f2d9d 100644
---- a/vmwgfx/vmwgfx_dri2.c
-+++ b/vmwgfx/vmwgfx_dri2.c
-@@ -138,6 +138,8 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for
- return TRUE;
- case DRI2BufferStencil:
- case DRI2BufferDepthStencil:
-+ if (!pScrn->vtSema)
-+ return FALSE;
-
- depth = (format) ? vmwgfx_zs_format_to_depth(format) : 32;
-
-@@ -155,6 +157,9 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for
-
- break;
- case DRI2BufferDepth:
-+ if (!pScrn->vtSema)
-+ return FALSE;
-+
- depth = (format) ? vmwgfx_z_format_to_depth(format) :
- pDraw->bitsPerPixel;
-
-@@ -291,6 +296,14 @@ dri2_copy_region(DrawablePtr pDraw, RegionPtr pRegion,
- DrawablePtr dst_draw;
- RegionPtr myClip;
- GCPtr gc;
-+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
-+
-+ /*
-+ * This is a fragile protection against HW operations when not master.
-+ * Needs to be blocked higher up in the dri2 code.
-+ */
-+ if (!pScrn->vtSema)
-+ return;
-
- /*
- * In driCreateBuffers we dewrap windows into the
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index 3002285..eeaea4b 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -1116,6 +1116,7 @@ drv_leave_vt(VT_FUNC_ARGS_DECL)
-
- vmwgfx_cursor_bypass(ms->fd, 0, 0);
- vmwgfx_disable_scanout(pScrn);
-+ vmwgfx_saa_drop_master(pScrn->pScreen);
-
- if (drmDropMaster(ms->fd))
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-@@ -1136,6 +1137,8 @@ drv_enter_vt(VT_FUNC_ARGS_DECL)
- if (!drv_set_master(pScrn))
- return FALSE;
-
-+ vmwgfx_saa_set_master(pScrn->pScreen);
-+
- if (!xf86SetDesiredModes(pScrn))
- return FALSE;
-
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index ed3c1ee..5534ca3 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -423,6 +423,7 @@ vmwgfx_create_pixmap(struct saa_driver *driver, struct saa_pixmap *spix,
-
- WSBMINITLISTHEAD(&vpix->sync_x_head);
- WSBMINITLISTHEAD(&vpix->scanout_list);
-+ WSBMINITLISTHEAD(&vpix->pixmap_list);
-
- return TRUE;
- }
-@@ -499,6 +500,7 @@ vmwgfx_destroy_pixmap(struct saa_driver *driver, PixmapPtr pixmap)
- */
-
- vmwgfx_pixmap_remove_present(vpix);
-+ WSBMLISTDELINIT(&vpix->pixmap_list);
- WSBMLISTDELINIT(&vpix->sync_x_head);
-
- if (vpix->hw_is_dri2_fronts)
-@@ -627,6 +629,8 @@ vmwgfx_modify_pixmap_header (PixmapPtr pixmap, int w, int h, int depth,
- int bpp, int devkind, void *pixdata)
- {
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(pixmap);
-+ ScreenPtr pScreen = pixmap->drawable.pScreen;
-+ struct vmwgfx_saa *vsaa = to_vmwgfx_saa(saa_get_driver(pScreen));
- unsigned int old_height;
- unsigned int old_width;
- unsigned int old_pitch;
-@@ -670,6 +674,8 @@ vmwgfx_modify_pixmap_header (PixmapPtr pixmap, int w, int h, int depth,
-
- vmwgfx_pix_resize(pixmap, old_pitch, old_height, old_width);
- vmwgfx_pixmap_free_storage(vpix);
-+ WSBMLISTADDTAIL(&vpix->pixmap_list, &vsaa->pixmaps);
-+
- return TRUE;
-
- out_no_modify:
-@@ -860,7 +866,7 @@ vmwgfx_copy_prepare(struct saa_driver *driver,
- Bool has_valid_hw;
-
- if (!vsaa->xat || !SAA_PM_IS_SOLID(&dst_pixmap->drawable, plane_mask) ||
-- alu != GXcopy)
-+ alu != GXcopy || !vsaa->is_master)
- return FALSE;
-
- src_vpix = vmwgfx_saa_pixmap(src_pixmap);
-@@ -1057,6 +1063,9 @@ vmwgfx_composite_prepare(struct saa_driver *driver, CARD8 op,
- RegionRec empty;
- struct xa_composite *xa_comp;
-
-+ if (!vsaa->is_master)
-+ return FALSE;
-+
- REGION_NULL(pScreen, &empty);
-
- /*
-@@ -1367,7 +1376,9 @@ vmwgfx_saa_init(ScreenPtr pScreen, int drm_fd, struct xa_tracker *xat,
- vsaa->use_present_opt = direct_presents;
- vsaa->only_hw_presents = only_hw_presents;
- vsaa->rendercheck = rendercheck;
-+ vsaa->is_master = TRUE;
- WSBMINITLISTHEAD(&vsaa->sync_x_list);
-+ WSBMINITLISTHEAD(&vsaa->pixmaps);
-
- vsaa->driver = vmwgfx_saa_driver;
- vsaa->vcomp = vmwgfx_alloc_composite();
-@@ -1518,3 +1529,34 @@ vmwgfx_scanout_unref(struct vmwgfx_screen_entry *entry)
- entry->pixmap = NULL;
- pixmap->drawable.pScreen->DestroyPixmap(pixmap);
- }
-+
-+void
-+vmwgfx_saa_set_master(ScreenPtr pScreen)
-+{
-+ struct vmwgfx_saa *vsaa = to_vmwgfx_saa(saa_get_driver(pScreen));
-+
-+ vsaa->is_master = TRUE;
-+}
-+
-+void
-+vmwgfx_saa_drop_master(ScreenPtr pScreen)
-+{
-+ struct vmwgfx_saa *vsaa = to_vmwgfx_saa(saa_get_driver(pScreen));
-+ struct _WsbmListHead *list;
-+ struct vmwgfx_saa_pixmap *vpix;
-+ struct saa_pixmap *spix;
-+
-+ WSBMLISTFOREACH(list, &vsaa->pixmaps) {
-+ vpix = WSBMLISTENTRY(list, struct vmwgfx_saa_pixmap, pixmap_list);
-+ spix = &vpix->base;
-+
-+ if (!vpix->hw)
-+ continue;
-+
-+ (void) vmwgfx_download_from_hw(&vsaa->driver, spix->pixmap,
-+ &spix->dirty_hw);
-+ REGION_EMPTY(draw->pScreen, &spix->dirty_hw);
-+ }
-+
-+ vsaa->is_master = FALSE;
-+}
-diff --git a/vmwgfx/vmwgfx_saa.h b/vmwgfx/vmwgfx_saa.h
-index bb8ec96..d8aa3d3 100644
---- a/vmwgfx/vmwgfx_saa.h
-+++ b/vmwgfx/vmwgfx_saa.h
-@@ -54,6 +54,7 @@ struct vmwgfx_saa_pixmap {
- int hw_is_dri2_fronts;
- struct _WsbmListHead sync_x_head;
- struct _WsbmListHead scanout_list;
-+ struct _WsbmListHead pixmap_list;
-
- uint32_t xa_flags;
- uint32_t staging_add_flags;
-@@ -107,4 +108,11 @@ Bool
- vmwgfx_hw_accel_validate(PixmapPtr pixmap, unsigned int depth,
- uint32_t add_flags, uint32_t remove_flags,
- RegionPtr region);
-+
-+void
-+vmwgfx_saa_set_master(ScreenPtr pScreen);
-+
-+void
-+vmwgfx_saa_drop_master(ScreenPtr pScreen);
-+
- #endif
-diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h
-index 5f46dee..16583b0 100644
---- a/vmwgfx/vmwgfx_saa_priv.h
-+++ b/vmwgfx/vmwgfx_saa_priv.h
-@@ -54,8 +54,10 @@ struct vmwgfx_saa {
- Bool use_present_opt;
- Bool only_hw_presents;
- Bool rendercheck;
-+ Bool is_master;
- void (*present_flush) (ScreenPtr pScreen);
- struct _WsbmListHead sync_x_list;
-+ struct _WsbmListHead pixmaps;
- struct vmwgfx_composite *vcomp;
- };
-
-diff --git a/vmwgfx/vmwgfx_xa_surface.c b/vmwgfx/vmwgfx_xa_surface.c
-index 8b30e45..2f23c57 100644
---- a/vmwgfx/vmwgfx_xa_surface.c
-+++ b/vmwgfx/vmwgfx_xa_surface.c
-@@ -362,6 +362,12 @@ vmwgfx_hw_accel_validate(PixmapPtr pixmap, unsigned int depth,
- Bool
- vmwgfx_hw_dri2_validate(PixmapPtr pixmap, unsigned int depth)
- {
-+ struct vmwgfx_saa *vsaa =
-+ to_vmwgfx_saa(saa_get_driver(pixmap->drawable.pScreen));
-+
-+ if (!vsaa->is_master)
-+ return FALSE;
-+
- return (vmwgfx_hw_dri2_stage(pixmap, depth) &&
- vmwgfx_hw_commit(pixmap) &&
- vmwgfx_hw_validate(pixmap, NULL));
---
-1.8.5.1
-
-
-From 7192acf9f0bf8e7176ab0b803b861a858623f709 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Wed, 19 Sep 2012 20:36:57 +0200
-Subject: [PATCH 03/11] vmwgfx: Implement textured video completely on top of
- XA.
-
-Remove device-specific hacks. This may increase resource usage a little
-on old hardware revisions, but we don't need separate code paths on
-different hardware revisions.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Zack Rusin <zackr@vmware.com>
----
- vmwgfx/vmwgfx_tex_video.c | 109 ++++++----------------------------------------
- 1 file changed, 14 insertions(+), 95 deletions(-)
-
-diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
-index 2971ed7..a0a4f4a 100644
---- a/vmwgfx/vmwgfx_tex_video.c
-+++ b/vmwgfx/vmwgfx_tex_video.c
-@@ -111,8 +111,7 @@ struct xorg_xv_port_priv {
- int hue;
-
- int current_set;
-- struct vmwgfx_dmabuf *bounce[2][3];
-- struct xa_surface *yuv[3];
-+ struct xa_surface *yuv[2][3];
-
- int drm_fd;
-
-@@ -198,14 +197,10 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown)
- priv->fence = NULL;
-
- for (i=0; i<3; ++i) {
-- if (priv->yuv[i]) {
-- xa_surface_unref(priv->yuv[i]);
-- priv->yuv[i] = NULL;
-- }
- for (j=0; j<2; ++j) {
-- if (priv->bounce[j][i]) {
-- vmwgfx_dmabuf_destroy(priv->bounce[j][i]);
-- priv->bounce[0][i] = NULL;
-+ if (priv->yuv[i]) {
-+ xa_surface_unref(priv->yuv[j][i]);
-+ priv->yuv[j][i] = NULL;
- }
- }
- }
-@@ -297,11 +292,9 @@ static int
- check_yuv_surfaces(struct xorg_xv_port_priv *priv, int id,
- int width, int height)
- {
-- struct xa_surface **yuv = priv->yuv;
-- struct vmwgfx_dmabuf **bounce = priv->bounce[priv->current_set];
-+ struct xa_surface **yuv = priv->yuv[priv->current_set];
- int ret = 0;
- int i;
-- size_t size;
-
- for (i=0; i<3; ++i) {
-
-@@ -334,19 +327,6 @@ check_yuv_surfaces(struct xorg_xv_port_priv *priv, int id,
- if (ret || !yuv[i])
- return BadAlloc;
-
-- size = width * height;
--
-- if (bounce[i] && (bounce[i]->size < size ||
-- bounce[i]->size > 2*size)) {
-- vmwgfx_dmabuf_destroy(bounce[i]);
-- bounce[i] = NULL;
-- }
--
-- if (!bounce[i]) {
-- bounce[i] = vmwgfx_dmabuf_alloc(priv->drm_fd, size);
-- if (!bounce[i])
-- return BadAlloc;
-- }
- }
- return Success;
- }
-@@ -413,28 +393,20 @@ copy_packed_data(ScrnInfoPtr pScrn,
- unsigned short w, unsigned short h)
- {
- int i;
-- struct vmwgfx_dmabuf **bounce = port->bounce[port->current_set];
-+ struct xa_surface **yuv = port->yuv[port->current_set];
- char *ymap, *vmap, *umap;
- unsigned char y1, y2, u, v;
- int yidx, uidx, vidx;
- int y_array_size = w * h;
- int ret = BadAlloc;
-
-- /*
-- * Here, we could use xa_surface_[map|unmap], but given the size of
-- * the yuv textures, that could stress the xa tracker dma buffer pool,
-- * particularaly with multiple videos rendering simultaneously.
-- *
-- * Instead, cheat and allocate vmwgfx dma buffers directly.
-- */
--
-- ymap = (char *)vmwgfx_dmabuf_map(bounce[0]);
-+ ymap = xa_surface_map(port->r, yuv[0], XA_MAP_WRITE);
- if (!ymap)
- return BadAlloc;
-- umap = (char *)vmwgfx_dmabuf_map(bounce[1]);
-+ umap = xa_surface_map(port->r, yuv[1], XA_MAP_WRITE);
- if (!umap)
- goto out_no_umap;
-- vmap = (char *)vmwgfx_dmabuf_map(bounce[2]);
-+ vmap = xa_surface_map(port->r, yuv[2], XA_MAP_WRITE);
- if (!vmap)
- goto out_no_vmap;
-
-@@ -493,65 +465,11 @@ copy_packed_data(ScrnInfoPtr pScrn,
- }
-
- ret = Success;
-- vmwgfx_dmabuf_unmap(bounce[2]);
-+ xa_surface_unmap(yuv[2]);
- out_no_vmap:
-- vmwgfx_dmabuf_unmap(bounce[1]);
-+ xa_surface_unmap(yuv[1]);
- out_no_umap:
-- vmwgfx_dmabuf_unmap(bounce[0]);
--
-- if (ret == Success) {
-- struct xa_surface *srf;
-- struct vmwgfx_dmabuf *buf;
-- uint32_t handle;
-- unsigned int stride;
-- BoxRec box;
-- RegionRec reg;
--
-- box.x1 = 0;
-- box.x2 = w;
-- box.y1 = 0;
-- box.y2 = h;
--
-- REGION_INIT(pScrn->pScreen, &reg, &box, 1);
--
-- for (i=0; i<3; ++i) {
-- srf = port->yuv[i];
-- buf = bounce[i];
--
-- if (i == 1) {
-- switch(id) {
-- case FOURCC_YV12:
-- h /= 2;
-- /* Fall through */
-- case FOURCC_YUY2:
-- case FOURCC_UYVY:
-- w /= 2;
-- break;
-- default:
-- break;
-- }
--
-- box.x1 = 0;
-- box.x2 = w;
-- box.y1 = 0;
-- box.y2 = h;
--
-- REGION_RESET(pScrn->pScreen, &reg, &box);
-- }
--
-- if (xa_surface_handle(srf, xa_handle_type_shared,
-- &handle, &stride) != 0) {
-- ret = BadAlloc;
-- break;
-- }
--
-- if (vmwgfx_dma(0, 0, &reg, buf, w, handle, 1) != 0) {
-- ret = BadAlloc;
-- break;
-- }
-- }
-- REGION_UNINIT(pScrn->pScreen, &reg);
-- }
-+ xa_surface_unmap(yuv[0]);
-
- return ret;
- }
-@@ -610,7 +528,8 @@ display_video(ScreenPtr pScreen, struct xorg_xv_port_priv *pPriv, int id,
- (struct xa_box *)REGION_RECTS(dstRegion),
- REGION_NUM_RECTS(dstRegion),
- pPriv->cm,
-- vpix->hw, pPriv->yuv);
-+ vpix->hw,
-+ pPriv->yuv[pPriv->current_set ]);
-
- saa_pixmap_dirty(pPixmap, TRUE, dstRegion);
- DamageRegionProcessPending(&pPixmap->drawable);
---
-1.8.5.1
-
-
-From 45b2457516a9db4bd1d60fbb24a1efbe2d9dd932 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Wed, 19 Sep 2012 21:50:40 +0200
-Subject: [PATCH 04/11] vmwgfx: Get rid of device-specific DMA code
-
-It's rarely used and things seem to work well enough on top of XA.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Zack Rusin <zackr@vmware.com>
----
- vmwgfx/vmwgfx_drmi.c | 103 -----------------------------------------------
- vmwgfx/vmwgfx_drmi.h | 5 ---
- vmwgfx/vmwgfx_saa.c | 53 ++++++++++++------------
- vmwgfx/vmwgfx_saa_priv.h | 1 -
- 4 files changed, 26 insertions(+), 136 deletions(-)
-
-diff --git a/vmwgfx/vmwgfx_drmi.c b/vmwgfx/vmwgfx_drmi.c
-index 496a16b..1e23f4a 100644
---- a/vmwgfx/vmwgfx_drmi.c
-+++ b/vmwgfx/vmwgfx_drmi.c
-@@ -284,109 +284,6 @@ vmwgfx_dmabuf_destroy(struct vmwgfx_dmabuf *buf)
- }
-
- int
--vmwgfx_dma(unsigned int host_x, unsigned int host_y,
-- RegionPtr region, struct vmwgfx_dmabuf *buf,
-- uint32_t buf_pitch, uint32_t surface_handle, int to_surface)
--{
-- BoxPtr clips = REGION_RECTS(region);
-- unsigned int num_clips = REGION_NUM_RECTS(region);
-- struct drm_vmw_execbuf_arg arg;
-- struct drm_vmw_fence_rep rep;
-- int ret;
-- unsigned int size;
-- unsigned i;
-- SVGA3dCopyBox *cb;
-- SVGA3dCmdSurfaceDMASuffix *suffix;
-- SVGA3dCmdSurfaceDMA *body;
-- struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf);
--
-- struct {
-- SVGA3dCmdHeader header;
-- SVGA3dCmdSurfaceDMA body;
-- SVGA3dCopyBox cb;
-- } *cmd;
--
-- if (num_clips == 0)
-- return 0;
--
-- size = sizeof(*cmd) + (num_clips - 1) * sizeof(cmd->cb) +
-- sizeof(*suffix);
-- cmd = malloc(size);
-- if (!cmd)
-- return -1;
--
-- cmd->header.id = SVGA_3D_CMD_SURFACE_DMA;
-- cmd->header.size = sizeof(cmd->body) + num_clips * sizeof(cmd->cb) +
-- sizeof(*suffix);
-- cb = &cmd->cb;
--
-- suffix = (SVGA3dCmdSurfaceDMASuffix *) &cb[num_clips];
-- suffix->suffixSize = sizeof(*suffix);
-- suffix->maximumOffset = (uint32_t) -1;
-- suffix->flags.discard = 0;
-- suffix->flags.unsynchronized = 0;
-- suffix->flags.reserved = 0;
--
-- body = &cmd->body;
-- body->guest.ptr.gmrId = buf->gmr_id;
-- body->guest.ptr.offset = buf->gmr_offset;
-- body->guest.pitch = buf_pitch;
-- body->host.sid = surface_handle;
-- body->host.face = 0;
-- body->host.mipmap = 0;
--
-- body->transfer = (to_surface ? SVGA3D_WRITE_HOST_VRAM :
-- SVGA3D_READ_HOST_VRAM);
--
--
-- for (i=0; i < num_clips; i++, cb++, clips++) {
-- cb->x = (uint16_t) clips->x1 + host_x;
-- cb->y = (uint16_t) clips->y1 + host_y;
-- cb->z = 0;
-- cb->srcx = (uint16_t) clips->x1;
-- cb->srcy = (uint16_t) clips->y1;
-- cb->srcz = 0;
-- cb->w = (uint16_t) (clips->x2 - clips->x1);
-- cb->h = (uint16_t) (clips->y2 - clips->y1);
-- cb->d = 1;
--#if 0
-- LogMessage(X_INFO, "DMA! x: %u y: %u srcx: %u srcy: %u w: %u h: %u %s\n",
-- cb->x, cb->y, cb->srcx, cb->srcy, cb->w, cb->h,
-- to_surface ? "to" : "from");
--#endif
--
-- }
--
-- memset(&arg, 0, sizeof(arg));
-- memset(&rep, 0, sizeof(rep));
--
-- rep.error = -EFAULT;
-- arg.fence_rep = ((to_surface) ? 0UL : (unsigned long)&rep);
-- arg.commands = (unsigned long)cmd;
-- arg.command_size = size;
-- arg.throttle_us = 0;
-- arg.version = DRM_VMW_EXECBUF_VERSION;
--
-- ret = drmCommandWrite(ibuf->drm_fd, DRM_VMW_EXECBUF, &arg, sizeof(arg));
-- if (ret) {
-- LogMessage(X_ERROR, "DMA error %s.\n", strerror(-ret));
-- }
--
-- free(cmd);
--
-- if (rep.error == 0) {
-- ret = vmwgfx_fence_wait(ibuf->drm_fd, rep.handle, TRUE);
-- if (ret) {
-- LogMessage(X_ERROR, "DMA from host fence wait error %s.\n",
-- strerror(-ret));
-- vmwgfx_fence_unref(ibuf->drm_fd, rep.handle);
-- }
-- }
--
-- return 0;
--}
--
--int
- vmwgfx_get_param(int drm_fd, uint32_t param, uint64_t *out)
- {
- struct drm_vmw_getparam_arg gp_arg;
-diff --git a/vmwgfx/vmwgfx_drmi.h b/vmwgfx/vmwgfx_drmi.h
-index 2435009..fff728a 100644
---- a/vmwgfx/vmwgfx_drmi.h
-+++ b/vmwgfx/vmwgfx_drmi.h
-@@ -60,11 +60,6 @@ extern void
- vmwgfx_dmabuf_unmap(struct vmwgfx_dmabuf *buf);
-
- extern int
--vmwgfx_dma(unsigned int host_x, unsigned int host_y,
-- RegionPtr region, struct vmwgfx_dmabuf *buf,
-- uint32_t buf_pitch, uint32_t surface_handle, int to_surface);
--
--extern int
- vmwgfx_num_streams(int drm_fd, uint32_t *ntot, uint32_t *nfree);
-
- extern int
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 5534ca3..fd80682 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -279,40 +279,40 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- Bool to_hw)
- {
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(pixmap);
-+ void *data = vpix->malloc;
-+ int ret;
-
- if (!vpix->hw || (!vpix->gmr && !vpix->malloc))
- return TRUE;
-
-- if (vpix->gmr && vsaa->can_optimize_dma) {
-- uint32_t handle, dummy;
-
-- if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-- &handle, &dummy) != 0)
-- goto out_err;
-- if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle,
-- to_hw) != 0)
-+ if (vpix->gmr) {
-+ data = vmwgfx_dmabuf_map(vpix->gmr);
-+ if (!data)
- goto out_err;
-- } else {
-- void *data = vpix->malloc;
-- int ret;
-+ }
-
-- if (vpix->gmr) {
-- data = vmwgfx_dmabuf_map(vpix->gmr);
-- if (!data)
-- goto out_err;
-- }
-+ ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-+ (int) to_hw,
-+ (struct xa_box *) REGION_RECTS(reg),
-+ REGION_NUM_RECTS(reg));
-+ if (vpix->gmr)
-+ vmwgfx_dmabuf_unmap(vpix->gmr);
-+
-+ if (ret)
-+ goto out_err;
-+
-+ ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-+ (int) to_hw,
-+ (struct xa_box *) REGION_RECTS(reg),
-+ REGION_NUM_RECTS(reg));
-+ if (to_hw)
-+ xa_context_flush(vsaa->xa_ctx);
-+ if (vpix->gmr)
-+ vmwgfx_dmabuf_unmap(vpix->gmr);
-+ if (ret)
-+ goto out_err;
-
-- ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-- (int) to_hw,
-- (struct xa_box *) REGION_RECTS(reg),
-- REGION_NUM_RECTS(reg));
-- if (to_hw)
-- xa_context_flush(vsaa->xa_ctx);
-- if (vpix->gmr)
-- vmwgfx_dmabuf_unmap(vpix->gmr);
-- if (ret)
-- goto out_err;
-- }
- return TRUE;
- out_err:
- LogMessage(X_ERROR, "DMA %s surface failed.\n",
-@@ -1372,7 +1372,6 @@ vmwgfx_saa_init(ScreenPtr pScreen, int drm_fd, struct xa_tracker *xat,
- vsaa->xa_ctx = xa_context_default(xat);
- vsaa->drm_fd = drm_fd;
- vsaa->present_flush = present_flush;
-- vsaa->can_optimize_dma = FALSE;
- vsaa->use_present_opt = direct_presents;
- vsaa->only_hw_presents = only_hw_presents;
- vsaa->rendercheck = rendercheck;
-diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h
-index 16583b0..f5f45ba 100644
---- a/vmwgfx/vmwgfx_saa_priv.h
-+++ b/vmwgfx/vmwgfx_saa_priv.h
-@@ -50,7 +50,6 @@ struct vmwgfx_saa {
- int ydiff;
- RegionRec present_region;
- uint32_t src_handle;
-- Bool can_optimize_dma;
- Bool use_present_opt;
- Bool only_hw_presents;
- Bool rendercheck;
---
-1.8.5.1
-
-
-From e26dec8f5278df74a102493bf6d2d8444dab5d6d Mon Sep 17 00:00:00 2001
-From: Gaetan Nadon <memsize@videotron.ca>
-Date: Mon, 28 Oct 2013 18:21:29 -0400
-Subject: [PATCH 05/11] vmwgfx: handle changes of DamageUnregister API in
- 1.14.99.2
-
-Fix is inspired from the intel driver.
-
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
-Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_saa.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index fd80682..346e7f4 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -26,6 +26,7 @@
- */
-
- #include <xorg-server.h>
-+#include <xorgVersion.h>
- #include <mi.h>
- #include <fb.h>
- #include <xf86drmMode.h>
-@@ -76,7 +77,12 @@ vmwgfx_pixmap_remove_damage(PixmapPtr pixmap)
- if (!spix->damage || vpix->hw || vpix->gmr || vpix->malloc)
- return;
-
-+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
-+ DamageUnregister(spix->damage);
-+#else
- DamageUnregister(&pixmap->drawable, spix->damage);
-+#endif
-+
- DamageDestroy(spix->damage);
- spix->damage = NULL;
- }
---
-1.8.5.1
-
-
-From 7ac45326eccbf3bea9a4a8f95b9662a36ab58eb0 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Thu, 28 Nov 2013 02:02:20 -0800
-Subject: [PATCH 06/11] vmwgfx: Fix some compilation warnings and indentations
-
-Most of the compilation warnings we're seeing are due to bad xorg headers,
-but fix the ones we can fix in the driver. Some indentation fixes as well.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- src/vmware_bootstrap.c | 2 --
- src/vmwarevideo.c | 4 ++--
- vmwgfx/vmwgfx_driver.c | 1 -
- vmwgfx/vmwgfx_output.c | 2 +-
- vmwgfx/vmwgfx_overlay.c | 4 ++--
- vmwgfx/vmwgfx_tex_video.c | 26 +++++++++++++-------------
- 6 files changed, 18 insertions(+), 21 deletions(-)
-
-diff --git a/src/vmware_bootstrap.c b/src/vmware_bootstrap.c
-index ea5be19..bb58325 100644
---- a/src/vmware_bootstrap.c
-+++ b/src/vmware_bootstrap.c
-@@ -256,7 +256,6 @@ VMwarePciProbe (DriverPtr drv,
- intptr_t match_data)
- {
- ScrnInfoPtr scrn = NULL;
-- EntityInfoPtr entity;
-
- scrn = xf86ConfigPciEntity(scrn, 0, entity_num, VMWAREPciChipsets,
- NULL, NULL, NULL, NULL, NULL);
-@@ -267,7 +266,6 @@ VMwarePciProbe (DriverPtr drv,
- scrn->Probe = NULL;
- }
-
-- entity = xf86GetEntityInfo(entity_num);
- switch (DEVICE_ID(device)) {
- case PCI_DEVICE_ID_VMWARE_SVGA2:
- case PCI_DEVICE_ID_VMWARE_SVGA:
-diff --git a/src/vmwarevideo.c b/src/vmwarevideo.c
-index 745c71f..8d7d171 100644
---- a/src/vmwarevideo.c
-+++ b/src/vmwarevideo.c
-@@ -82,7 +82,7 @@
- #define VMWARE_VID_MAX_HEIGHT 2048
-
- #define VMWARE_VID_NUM_ENCODINGS 1
--static XF86VideoEncodingRec vmwareVideoEncodings[] =
-+static const XF86VideoEncodingRec vmwareVideoEncodings[] =
- {
- {
- 0,
-@@ -108,7 +108,7 @@ static XF86ImageRec vmwareVideoImages[] =
- };
-
- #define VMWARE_VID_NUM_ATTRIBUTES 2
--static XF86AttributeRec vmwareVideoAttributes[] =
-+static const XF86AttributeRec vmwareVideoAttributes[] =
- {
- {
- XvGettable | XvSettable,
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index eeaea4b..bfc07f8 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -658,7 +658,6 @@ void xorg_flush(ScreenPtr pScreen)
- if (crtc->enabled) {
- pixmap = crtc_get_scanout(crtc);
- if (pixmap) {
-- unsigned int j;
-
- /*
- * Remove duplicates.
-diff --git a/vmwgfx/vmwgfx_output.c b/vmwgfx/vmwgfx_output.c
-index 4f52f1d..f9e4263 100644
---- a/vmwgfx/vmwgfx_output.c
-+++ b/vmwgfx/vmwgfx_output.c
-@@ -60,7 +60,7 @@ struct output_private
- Bool is_implicit;
- };
-
--static char *output_enum_list[] = {
-+static const char *output_enum_list[] = {
- "Unknown",
- "VGA",
- "DVI",
-diff --git a/vmwgfx/vmwgfx_overlay.c b/vmwgfx/vmwgfx_overlay.c
-index 6624a10..986dd06 100644
---- a/vmwgfx/vmwgfx_overlay.c
-+++ b/vmwgfx/vmwgfx_overlay.c
-@@ -84,7 +84,7 @@ typedef uint8_t uint8;
- #define VMWARE_VID_MAX_HEIGHT 2048
-
- #define VMWARE_VID_NUM_ENCODINGS 1
--static XF86VideoEncodingRec vmwareVideoEncodings[] =
-+static const XF86VideoEncodingRec vmwareVideoEncodings[] =
- {
- {
- 0,
-@@ -110,7 +110,7 @@ static XF86ImageRec vmwareVideoImages[] =
- };
-
- #define VMWARE_VID_NUM_ATTRIBUTES 2
--static XF86AttributeRec vmwareVideoAttributes[] =
-+static const XF86AttributeRec vmwareVideoAttributes[] =
- {
- {
- XvGettable | XvSettable,
-diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
-index a0a4f4a..3ba40ef 100644
---- a/vmwgfx/vmwgfx_tex_video.c
-+++ b/vmwgfx/vmwgfx_tex_video.c
-@@ -70,11 +70,11 @@ static const float bt_709[] = {
- static Atom xvBrightness, xvContrast, xvSaturation, xvHue;
-
- #define NUM_TEXTURED_ATTRIBUTES 4
--static XF86AttributeRec TexturedAttributes[NUM_TEXTURED_ATTRIBUTES] = {
-- {XvSettable | XvGettable, -1000, 1000, "XV_BRIGHTNESS"},
-- {XvSettable | XvGettable, -1000, 1000, "XV_CONTRAST"},
-- {XvSettable | XvGettable, -1000, 1000, "XV_SATURATION"},
-- {XvSettable | XvGettable, -1000, 1000, "XV_HUE"}
-+static const XF86AttributeRec TexturedAttributes[NUM_TEXTURED_ATTRIBUTES] = {
-+ {XvSettable | XvGettable, -1000, 1000, "XV_BRIGHTNESS"},
-+ {XvSettable | XvGettable, -1000, 1000, "XV_CONTRAST"},
-+ {XvSettable | XvGettable, -1000, 1000, "XV_SATURATION"},
-+ {XvSettable | XvGettable, -1000, 1000, "XV_HUE"}
- };
-
- #define NUM_FORMATS 3
-@@ -82,7 +82,7 @@ static XF86VideoFormatRec Formats[NUM_FORMATS] = {
- {15, TrueColor}, {16, TrueColor}, {24, TrueColor}
- };
-
--static XF86VideoEncodingRec DummyEncoding[1] = {
-+static const XF86VideoEncodingRec DummyEncoding[1] = {
- {
- 0,
- "XV_IMAGE",
-@@ -416,16 +416,16 @@ copy_packed_data(ScrnInfoPtr pScrn,
- switch (id) {
- case FOURCC_YV12: {
- int pitches[3], offsets[3];
-- unsigned char *y, *u, *v;
-+ unsigned char *yp, *up, *vp;
- query_image_attributes(pScrn, FOURCC_YV12,
- &w, &h, pitches, offsets);
-
-- y = buf + offsets[0];
-- v = buf + offsets[1];
-- u = buf + offsets[2];
-- memcpy(ymap, y, w*h);
-- memcpy(vmap, v, w*h/4);
-- memcpy(umap, u, w*h/4);
-+ yp = buf + offsets[0];
-+ vp = buf + offsets[1];
-+ up = buf + offsets[2];
-+ memcpy(ymap, yp, w*h);
-+ memcpy(vmap, vp, w*h/4);
-+ memcpy(umap, up, w*h/4);
- break;
- }
- case FOURCC_UYVY:
---
-1.8.5.1
-
-
-From a40cbd7b4fa19219849b4b0a48f07538772c3e22 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Thu, 5 Dec 2013 02:58:47 -0800
-Subject: [PATCH 07/11] vmwgfx: Support also XA version 1 v2
-
-We need to support also XA version 1, since we want to be backwards
-compatible with older mesa releases.
-Unfortunately, the intended way of detecting XA major version at
-compile-time was broken on mesa 10 so we need a workaround that tests
-for XA version 2 at config time.
-
-v2: Update the test for XA version 2.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- configure.ac | 10 +++++++++-
- vmwgfx/vmwgfx_dri2.c | 5 ++---
- vmwgfx/vmwgfx_driver.c | 3 +--
- vmwgfx/vmwgfx_saa.c | 12 +++++-------
- vmwgfx/vmwgfx_saa.h | 12 ++++++++++++
- vmwgfx/vmwgfx_tex_video.c | 2 +-
- 6 files changed, 30 insertions(+), 14 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index dccfb27..123356c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -118,7 +118,15 @@ if test x$BUILD_VMWGFX = xyes; then
- PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no])
- fi
- if test x$BUILD_VMWGFX = xyes; then
-- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 2.0.0],[],[BUILD_VMWGFX=no])
-+#
-+# Early versions of mesa 10 forgot to bump the XA major version number in
-+# the xa_tracker.h header
-+#
-+ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],
-+ [PKG_CHECK_EXISTS([xatracker = 2.0.0],
-+ [AC_DEFINE([HAVE_XA_2], 1,
-+ [Has version 2 of XA])])],
-+ [],[BUILD_VMWGFX=no])
- fi
-
- DRIVER_NAME=vmware
-diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c
-index 57f2d9d..4c74a6b 100644
---- a/vmwgfx/vmwgfx_dri2.c
-+++ b/vmwgfx/vmwgfx_dri2.c
-@@ -206,8 +206,7 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for
- }
-
- private->srf = srf;
-- if (xa_surface_handle(srf, xa_handle_type_shared,
-- &buffer->name, &buffer->pitch) != 0)
-+ if (_xa_surface_handle(srf, &buffer->name, &buffer->pitch) != 0)
- return FALSE;
-
- buffer->cpp = xa_format_depth(xa_surface_format(srf)) / 8;
-@@ -228,7 +227,7 @@ dri2_do_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buffer)
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(private->pPixmap);
-
- if (--private->refcount == 0 && srf) {
-- xa_surface_unref(srf);
-+ xa_surface_destroy(srf);
- }
-
- /*
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index bfc07f8..6301c29 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -617,8 +617,7 @@ vmwgfx_scanout_present(ScreenPtr pScreen, int drm_fd,
- return FALSE;
- }
-
-- if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-- &handle, &dummy) != 0) {
-+ if (_xa_surface_handle(vpix->hw, &handle, &dummy) != 0) {
- LogMessage(X_ERROR, "Could not get present surface handle.\n");
- return FALSE;
- }
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 346e7f4..1459933 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -146,7 +146,7 @@ vmwgfx_pixmap_free_storage(struct vmwgfx_saa_pixmap *vpix)
- vpix->malloc = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_SURFACE) && vpix->hw) {
-- xa_surface_unref(vpix->hw);
-+ xa_surface_destroy(vpix->hw);
- vpix->hw = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_GMR) && vpix->gmr) {
-@@ -451,7 +451,7 @@ vmwgfx_hw_kill(struct vmwgfx_saa *vsaa,
- &spix->dirty_hw))
- return FALSE;
-
-- xa_surface_unref(vpix->hw);
-+ xa_surface_destroy(vpix->hw);
- vpix->hw = NULL;
-
- /*
-@@ -698,8 +698,7 @@ vmwgfx_present_prepare(struct vmwgfx_saa *vsaa,
-
- (void) pScreen;
- if (src_vpix == dst_vpix || !src_vpix->hw ||
-- xa_surface_handle(src_vpix->hw, xa_handle_type_shared,
-- &vsaa->src_handle, &dummy) != 0)
-+ _xa_surface_handle(src_vpix->hw, &vsaa->src_handle, &dummy) != 0)
- return FALSE;
-
- REGION_NULL(pScreen, &vsaa->present_region);
-@@ -800,7 +799,7 @@ vmwgfx_create_hw(struct vmwgfx_saa *vsaa,
- return TRUE;
-
- out_no_damage:
-- xa_surface_unref(hw);
-+ xa_surface_destroy(hw);
- return FALSE;
- }
-
-@@ -1459,8 +1458,7 @@ vmwgfx_scanout_ref(struct vmwgfx_screen_entry *entry)
- */
- if (!vmwgfx_hw_accel_validate(pixmap, 0, XA_FLAG_SCANOUT, 0, NULL))
- goto out_err;
-- if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-- &handle, &dummy) != 0)
-+ if (_xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
- goto out_err;
- depth = xa_format_depth(xa_surface_format(vpix->hw));
-
-diff --git a/vmwgfx/vmwgfx_saa.h b/vmwgfx/vmwgfx_saa.h
-index d8aa3d3..5e1f40c 100644
---- a/vmwgfx/vmwgfx_saa.h
-+++ b/vmwgfx/vmwgfx_saa.h
-@@ -115,4 +115,16 @@ vmwgfx_saa_set_master(ScreenPtr pScreen);
- void
- vmwgfx_saa_drop_master(ScreenPtr pScreen);
-
-+#if (XA_TRACKER_VERSION_MAJOR <= 1) && !defined(HAVE_XA_2)
-+
-+#define _xa_surface_handle(_a, _b, _c) xa_surface_handle(_a, _b, _c)
-+#define xa_context_flush(_a)
-+
-+#else
-+
-+#define xa_surface_destroy(_a) xa_surface_unref(_a)
-+#define _xa_surface_handle(_a, _b, _c) \
-+ xa_surface_handle(_a, xa_handle_type_shared, _b, _c)
-+
-+#endif /* (XA_TRACKER_VERSION_MAJOR <= 1) */
- #endif
-diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
-index 3ba40ef..9fd8f22 100644
---- a/vmwgfx/vmwgfx_tex_video.c
-+++ b/vmwgfx/vmwgfx_tex_video.c
-@@ -199,7 +199,7 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown)
- for (i=0; i<3; ++i) {
- for (j=0; j<2; ++j) {
- if (priv->yuv[i]) {
-- xa_surface_unref(priv->yuv[j][i]);
-+ xa_surface_destroy(priv->yuv[j][i]);
- priv->yuv[j][i] = NULL;
- }
- }
---
-1.8.5.1
-
-
-From c36cbcefb8526944141eb431e1e736dc4485a36e Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Mon, 9 Dec 2013 00:19:55 -0800
-Subject: [PATCH 08/11] vmwgfx: Remove stray 1
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_saa.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 1459933..28819c1 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -1230,7 +1230,7 @@ vmwgfx_operation_complete(struct saa_driver *driver,
- */
-
- if (vpix->hw && vpix->hw_is_dri2_fronts) {
-- if (1 && pScrn->vtSema &&
-+ if (pScrn->vtSema &&
- vmwgfx_upload_to_hw(driver, pixmap, &spix->dirty_shadow)) {
-
- REGION_EMPTY(vsaa->pScreen, &spix->dirty_shadow);
---
-1.8.5.1
-
-
-From 4af6062ce281a7f4aaa50985fe757e9569208ee1 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Wed, 11 Dec 2013 04:59:49 -0800
-Subject: [PATCH 09/11] Revert "vmwgfx: Get rid of device-specific DMA code"
-
-This reverts commit 45b2457516a9db4bd1d60fbb24a1efbe2d9dd932.
-
-Reverting this because using direct DMA for shared pixmaps should
-boost performance. It should be usable both in a composited environment
-and when running hosted. Need to retest the DMA flaws I saw before disabling
-this code.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_drmi.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++
- vmwgfx/vmwgfx_drmi.h | 5 +++
- vmwgfx/vmwgfx_saa.c | 53 ++++++++++++------------
- vmwgfx/vmwgfx_saa_priv.h | 1 +
- 4 files changed, 136 insertions(+), 26 deletions(-)
-
-diff --git a/vmwgfx/vmwgfx_drmi.c b/vmwgfx/vmwgfx_drmi.c
-index 1e23f4a..496a16b 100644
---- a/vmwgfx/vmwgfx_drmi.c
-+++ b/vmwgfx/vmwgfx_drmi.c
-@@ -284,6 +284,109 @@ vmwgfx_dmabuf_destroy(struct vmwgfx_dmabuf *buf)
- }
-
- int
-+vmwgfx_dma(unsigned int host_x, unsigned int host_y,
-+ RegionPtr region, struct vmwgfx_dmabuf *buf,
-+ uint32_t buf_pitch, uint32_t surface_handle, int to_surface)
-+{
-+ BoxPtr clips = REGION_RECTS(region);
-+ unsigned int num_clips = REGION_NUM_RECTS(region);
-+ struct drm_vmw_execbuf_arg arg;
-+ struct drm_vmw_fence_rep rep;
-+ int ret;
-+ unsigned int size;
-+ unsigned i;
-+ SVGA3dCopyBox *cb;
-+ SVGA3dCmdSurfaceDMASuffix *suffix;
-+ SVGA3dCmdSurfaceDMA *body;
-+ struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf);
-+
-+ struct {
-+ SVGA3dCmdHeader header;
-+ SVGA3dCmdSurfaceDMA body;
-+ SVGA3dCopyBox cb;
-+ } *cmd;
-+
-+ if (num_clips == 0)
-+ return 0;
-+
-+ size = sizeof(*cmd) + (num_clips - 1) * sizeof(cmd->cb) +
-+ sizeof(*suffix);
-+ cmd = malloc(size);
-+ if (!cmd)
-+ return -1;
-+
-+ cmd->header.id = SVGA_3D_CMD_SURFACE_DMA;
-+ cmd->header.size = sizeof(cmd->body) + num_clips * sizeof(cmd->cb) +
-+ sizeof(*suffix);
-+ cb = &cmd->cb;
-+
-+ suffix = (SVGA3dCmdSurfaceDMASuffix *) &cb[num_clips];
-+ suffix->suffixSize = sizeof(*suffix);
-+ suffix->maximumOffset = (uint32_t) -1;
-+ suffix->flags.discard = 0;
-+ suffix->flags.unsynchronized = 0;
-+ suffix->flags.reserved = 0;
-+
-+ body = &cmd->body;
-+ body->guest.ptr.gmrId = buf->gmr_id;
-+ body->guest.ptr.offset = buf->gmr_offset;
-+ body->guest.pitch = buf_pitch;
-+ body->host.sid = surface_handle;
-+ body->host.face = 0;
-+ body->host.mipmap = 0;
-+
-+ body->transfer = (to_surface ? SVGA3D_WRITE_HOST_VRAM :
-+ SVGA3D_READ_HOST_VRAM);
-+
-+
-+ for (i=0; i < num_clips; i++, cb++, clips++) {
-+ cb->x = (uint16_t) clips->x1 + host_x;
-+ cb->y = (uint16_t) clips->y1 + host_y;
-+ cb->z = 0;
-+ cb->srcx = (uint16_t) clips->x1;
-+ cb->srcy = (uint16_t) clips->y1;
-+ cb->srcz = 0;
-+ cb->w = (uint16_t) (clips->x2 - clips->x1);
-+ cb->h = (uint16_t) (clips->y2 - clips->y1);
-+ cb->d = 1;
-+#if 0
-+ LogMessage(X_INFO, "DMA! x: %u y: %u srcx: %u srcy: %u w: %u h: %u %s\n",
-+ cb->x, cb->y, cb->srcx, cb->srcy, cb->w, cb->h,
-+ to_surface ? "to" : "from");
-+#endif
-+
-+ }
-+
-+ memset(&arg, 0, sizeof(arg));
-+ memset(&rep, 0, sizeof(rep));
-+
-+ rep.error = -EFAULT;
-+ arg.fence_rep = ((to_surface) ? 0UL : (unsigned long)&rep);
-+ arg.commands = (unsigned long)cmd;
-+ arg.command_size = size;
-+ arg.throttle_us = 0;
-+ arg.version = DRM_VMW_EXECBUF_VERSION;
-+
-+ ret = drmCommandWrite(ibuf->drm_fd, DRM_VMW_EXECBUF, &arg, sizeof(arg));
-+ if (ret) {
-+ LogMessage(X_ERROR, "DMA error %s.\n", strerror(-ret));
-+ }
-+
-+ free(cmd);
-+
-+ if (rep.error == 0) {
-+ ret = vmwgfx_fence_wait(ibuf->drm_fd, rep.handle, TRUE);
-+ if (ret) {
-+ LogMessage(X_ERROR, "DMA from host fence wait error %s.\n",
-+ strerror(-ret));
-+ vmwgfx_fence_unref(ibuf->drm_fd, rep.handle);
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+int
- vmwgfx_get_param(int drm_fd, uint32_t param, uint64_t *out)
- {
- struct drm_vmw_getparam_arg gp_arg;
-diff --git a/vmwgfx/vmwgfx_drmi.h b/vmwgfx/vmwgfx_drmi.h
-index fff728a..2435009 100644
---- a/vmwgfx/vmwgfx_drmi.h
-+++ b/vmwgfx/vmwgfx_drmi.h
-@@ -60,6 +60,11 @@ extern void
- vmwgfx_dmabuf_unmap(struct vmwgfx_dmabuf *buf);
-
- extern int
-+vmwgfx_dma(unsigned int host_x, unsigned int host_y,
-+ RegionPtr region, struct vmwgfx_dmabuf *buf,
-+ uint32_t buf_pitch, uint32_t surface_handle, int to_surface);
-+
-+extern int
- vmwgfx_num_streams(int drm_fd, uint32_t *ntot, uint32_t *nfree);
-
- extern int
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 28819c1..96275a5 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -285,40 +285,40 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- Bool to_hw)
- {
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(pixmap);
-- void *data = vpix->malloc;
-- int ret;
-
- if (!vpix->hw || (!vpix->gmr && !vpix->malloc))
- return TRUE;
-
-+ if (vpix->gmr && vsaa->can_optimize_dma) {
-+ uint32_t handle, dummy;
-
-- if (vpix->gmr) {
-- data = vmwgfx_dmabuf_map(vpix->gmr);
-- if (!data)
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0)
- goto out_err;
-- }
--
-- ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-- (int) to_hw,
-- (struct xa_box *) REGION_RECTS(reg),
-- REGION_NUM_RECTS(reg));
-- if (vpix->gmr)
-- vmwgfx_dmabuf_unmap(vpix->gmr);
--
-- if (ret)
-- goto out_err;
-+ if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle,
-+ to_hw) != 0)
-+ goto out_err;
-+ } else {
-+ void *data = vpix->malloc;
-+ int ret;
-
-- ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-- (int) to_hw,
-- (struct xa_box *) REGION_RECTS(reg),
-- REGION_NUM_RECTS(reg));
-- if (to_hw)
-- xa_context_flush(vsaa->xa_ctx);
-- if (vpix->gmr)
-- vmwgfx_dmabuf_unmap(vpix->gmr);
-- if (ret)
-- goto out_err;
-+ if (vpix->gmr) {
-+ data = vmwgfx_dmabuf_map(vpix->gmr);
-+ if (!data)
-+ goto out_err;
-+ }
-
-+ ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-+ (int) to_hw,
-+ (struct xa_box *) REGION_RECTS(reg),
-+ REGION_NUM_RECTS(reg));
-+ if (to_hw)
-+ xa_context_flush(vsaa->xa_ctx);
-+ if (vpix->gmr)
-+ vmwgfx_dmabuf_unmap(vpix->gmr);
-+ if (ret)
-+ goto out_err;
-+ }
- return TRUE;
- out_err:
- LogMessage(X_ERROR, "DMA %s surface failed.\n",
-@@ -1377,6 +1377,7 @@ vmwgfx_saa_init(ScreenPtr pScreen, int drm_fd, struct xa_tracker *xat,
- vsaa->xa_ctx = xa_context_default(xat);
- vsaa->drm_fd = drm_fd;
- vsaa->present_flush = present_flush;
-+ vsaa->can_optimize_dma = FALSE;
- vsaa->use_present_opt = direct_presents;
- vsaa->only_hw_presents = only_hw_presents;
- vsaa->rendercheck = rendercheck;
-diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h
-index f5f45ba..16583b0 100644
---- a/vmwgfx/vmwgfx_saa_priv.h
-+++ b/vmwgfx/vmwgfx_saa_priv.h
-@@ -50,6 +50,7 @@ struct vmwgfx_saa {
- int ydiff;
- RegionRec present_region;
- uint32_t src_handle;
-+ Bool can_optimize_dma;
- Bool use_present_opt;
- Bool only_hw_presents;
- Bool rendercheck;
---
-1.8.5.1
-
-
-From 93228f3dd3355a25583d22dbb96791678b93be3e Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Wed, 11 Dec 2013 06:54:02 -0800
-Subject: [PATCH 10/11] vmwgfx: Really allow XA version 2.
-
-When XA starts to correctly advertise version 2, we didn't allow it.
-Fix this.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_driver.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index 6301c29..4e28097 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -79,7 +79,7 @@ typedef uint8_t uint8;
-
- #define XA_VERSION_MINOR_REQUIRED 0
- #define XA_VERSION_MAJOR_REQUIRED 1
--#define XA_VERSION_MAJOR_COMPAT 1
-+#define XA_VERSION_MAJOR_COMPAT 2
-
- #define DRM_VERSION_MAJOR_REQUIRED 2
- #define DRM_VERSION_MINOR_REQUIRED 3
---
-1.8.5.1
-
-
-From f45a551e9b70ccec8f92df02747d4e2af299cf8c Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Mon, 16 Dec 2013 10:38:21 +0100
-Subject: [PATCH 11/11] vmwgfx: Fix compile breakage on XA version 1.
-
-A recent revert brought back code that assumed XA version 2.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: trivial
----
- vmwgfx/vmwgfx_saa.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 96275a5..e76bd09 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -292,8 +292,7 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- if (vpix->gmr && vsaa->can_optimize_dma) {
- uint32_t handle, dummy;
-
-- if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-- &handle, &dummy) != 0)
-+ if (_xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
- goto out_err;
- if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle,
- to_hw) != 0)
---
-1.8.5.1
-