diff options
Diffstat (limited to 'extra')
-rw-r--r-- | extra/avidemux/PKGBUILD | 8 | ||||
-rw-r--r-- | extra/avidemux/PKGBUILD.WIP | 4 | ||||
-rw-r--r-- | extra/ffmpeg-compat/PKGBUILD | 6 | ||||
-rw-r--r-- | extra/ffmpeg/PKGBUILD | 16 | ||||
-rw-r--r-- | extra/fontconfig/PKGBUILD | 6 | ||||
-rw-r--r-- | extra/gnucash/PKGBUILD | 8 | ||||
-rw-r--r-- | extra/gst-plugins-ugly/PKGBUILD | 4 | ||||
-rw-r--r-- | extra/gstreamer0.10-ugly/PKGBUILD | 4 | ||||
-rw-r--r-- | extra/java7-openjdk/PKGBUILD | 80 | ||||
-rw-r--r-- | extra/libevdev/PKGBUILD | 6 | ||||
-rw-r--r-- | extra/nss/PKGBUILD | 14 | ||||
-rw-r--r-- | extra/nss/add_spi+cacert_ca_certs.patch | 624 | ||||
-rw-r--r-- | extra/opal/PKGBUILD | 4 | ||||
-rw-r--r-- | extra/pyopenssl/PKGBUILD | 46 | ||||
-rw-r--r-- | extra/pyqt4/PKGBUILD | 4 | ||||
-rw-r--r-- | extra/pyqt5/PKGBUILD | 4 | ||||
-rw-r--r-- | extra/qtcreator/PKGBUILD | 2 | ||||
-rw-r--r-- | extra/vlc/PKGBUILD | 20 | ||||
-rw-r--r-- | extra/x264/PKGBUILD | 22 | ||||
-rw-r--r-- | extra/xf86-video-vmware/PKGBUILD | 18 | ||||
-rw-r--r-- | extra/xf86-video-vmware/xatracker-v2-fixes.patch | 1583 |
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, ®, &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, ®, &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, ®, &box); -- } -- -- if (xa_surface_handle(srf, xa_handle_type_shared, -- &handle, &stride) != 0) { -- ret = BadAlloc; -- break; -- } -- -- if (vmwgfx_dma(0, 0, ®, buf, w, handle, 1) != 0) { -- ret = BadAlloc; -- break; -- } -- } -- REGION_UNINIT(pScrn->pScreen, ®); -- } -+ 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 - |