summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-11-17 23:14:48 +0000
committerroot <root@rshg054.dnsready.net>2011-11-17 23:14:48 +0000
commit029ccb02a25d48cdc39a7e749c17fa8bc9fb84e3 (patch)
tree908f9408ef6f7dbb40964c3d7000ff4668efe6af
parentb3531e5acd3f55613eddde5591eb2e880fa96ed8 (diff)
Thu Nov 17 23:14:48 UTC 2011
-rw-r--r--community-testing/qtcreator/PKGBUILD52
-rw-r--r--community-testing/qtcreator/qtcreator.desktop10
-rw-r--r--community-testing/qtcreator/qtcreator.install12
-rw-r--r--community/bwm-ng/PKGBUILD24
-rw-r--r--community/cdcover/PKGBUILD4
-rw-r--r--community/chmsee/PKGBUILD10
-rw-r--r--community/dosbox/PKGBUILD46
-rw-r--r--community/dosbox/dosbox.desktop10
-rw-r--r--community/dosbox/dosbox.pngbin0 -> 4691 bytes
-rw-r--r--community/dosbox/gcc46.patch12
-rw-r--r--community/icewm-utils/PKGBUILD9
-rw-r--r--community/kovpn/PKGBUILD15
-rw-r--r--community/ktechlab/PKGBUILD27
-rw-r--r--community/kydpdict/PKGBUILD4
-rw-r--r--community/leafnode/PKGBUILD4
-rw-r--r--community/libdnet/PKGBUILD4
-rw-r--r--community/librcc/PKGBUILD12
-rw-r--r--community/netsurf/PKGBUILD4
-rw-r--r--community/parrot/PKGBUILD6
-rw-r--r--community/pwmanager/PKGBUILD18
-rw-r--r--community/soundkonverter/PKGBUILD11
-rw-r--r--community/uptimed/PKGBUILD28
-rw-r--r--community/xfmedia/PKGBUILD4
-rw-r--r--community/xlockmore/PKGBUILD6
-rw-r--r--core/heirloom-mailx/PKGBUILD8
-rw-r--r--core/jfsutils/PKGBUILD30
-rw-r--r--core/rfkill/PKGBUILD4
-rw-r--r--core/syslog-ng/PKGBUILD12
-rw-r--r--extra/bind/PKGBUILD8
-rw-r--r--extra/gtk2/PKGBUILD29
-rw-r--r--extra/gtk2/revert-iconview.patch30
-rw-r--r--extra/libdvdcss/PKGBUILD9
-rw-r--r--extra/xf86-input-wacom/PKGBUILD14
-rw-r--r--testing/libffado/PKGBUILD11
-rw-r--r--testing/xorg-server/10-quirks.conf10
-rw-r--r--testing/xorg-server/PKGBUILD205
-rw-r--r--testing/xorg-server/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch31
-rw-r--r--testing/xorg-server/autoconfig-nvidia.patch29
-rw-r--r--testing/xorg-server/autoconfig-sis.patch19
-rw-r--r--testing/xorg-server/git-fixes.patch161
-rw-r--r--testing/xorg-server/revert-trapezoids.patch179
-rw-r--r--testing/xorg-server/xserver-1.11.2-record-crasher.patch241
-rw-r--r--testing/xorg-server/xvfb-run180
-rw-r--r--testing/xorg-server/xvfb-run.1282
44 files changed, 1673 insertions, 151 deletions
diff --git a/community-testing/qtcreator/PKGBUILD b/community-testing/qtcreator/PKGBUILD
new file mode 100644
index 000000000..1c0271947
--- /dev/null
+++ b/community-testing/qtcreator/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 58646 2011-11-17 02:49:13Z svenstaro $
+# Maintainer: Imanol Celaya <ornitorrincos@archlinux-es.org>
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Contributor: Dan Vratil <progdan@progdansoft.com>
+# Contributor: thotypous <matiasΘarchlinux-br·org>
+# Contributor: delor <bartekpiech gmail com>
+
+pkgname="qtcreator"
+pkgver=2.4.0rc
+_pkgver=2.4.0-rc
+pkgrel=1
+pkgdesc='Lightweight, cross-platform integrated development environment'
+arch=('i686' 'x86_64')
+url='http://qt.nokia.com/products/developer-tools'
+license=('LGPL')
+depends=('qt>=4.7.4')
+makedepends=('qt-private-headers>=4.7.4' 'git')
+options=('docs')
+install=qtcreator.install
+source=("http://get.qt.nokia.com/qtcreator/qt-creator-${_pkgver}-src.tar.gz"
+ 'qtcreator.desktop')
+md5sums=('1967144101796674ce6e994e66213f81'
+ 'f1f4680b9838ff0b8f4cf11eb850d662')
+
+build() {
+ cd ${srcdir}
+ [[ -d build ]] && rm -r build
+ mkdir build && cd build
+
+ qmake ${srcdir}/qt-creator-${_pkgver}-src/qtcreator.pro
+ make
+}
+
+package() {
+ optdepends=('qt-doc: for the integrated Qt documentation'
+ 'gdb: for the debugger'
+ 'cmake: for cmake project suppport'
+ 'openssh-askpass: for ssh support'
+ 'git: for git support'
+ 'mercurial: for mercurial support'
+ 'bzr: for bazaar support')
+
+ cd ${srcdir}/build
+
+ make INSTALL_ROOT="${pkgdir}/usr/" install
+
+ install -Dm644 ${srcdir}/qtcreator.desktop \
+ ${pkgdir}/usr/share/applications/qtcreator.desktop
+ install -Dm644 ${srcdir}/qt-creator-${_pkgver}-src/LGPL_EXCEPTION.TXT \
+ ${pkgdir}/usr/share/licenses/qtcreator/LGPL_EXCEPTION.TXT
+}
diff --git a/community-testing/qtcreator/qtcreator.desktop b/community-testing/qtcreator/qtcreator.desktop
new file mode 100644
index 000000000..0fd562bd9
--- /dev/null
+++ b/community-testing/qtcreator/qtcreator.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=/usr/bin/qtcreator
+Name=Qt-Creator
+GenericName=C++ IDE
+X-KDE-StartupNotify=true
+Icon=/usr/share/icons/hicolor/128x128/apps/qtcreator.png
+Terminal=false
+Type=Application
+Categories=Qt;Development
diff --git a/community-testing/qtcreator/qtcreator.install b/community-testing/qtcreator/qtcreator.install
new file mode 100644
index 000000000..4d4a283db
--- /dev/null
+++ b/community-testing/qtcreator/qtcreator.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/bwm-ng/PKGBUILD b/community/bwm-ng/PKGBUILD
index fca5ed161..8e1aee5ca 100644
--- a/community/bwm-ng/PKGBUILD
+++ b/community/bwm-ng/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 11336 2010-02-09 22:40:01Z dgriffiths $
+# $Id: PKGBUILD 58638 2011-11-16 22:54:07Z andrea $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Sven Kauber <celeon@gmail.com>
@@ -10,19 +10,21 @@ arch=(i686 x86_64)
url="http://www.gropp.org/"
license=('GPL')
depends=('ncurses')
-options=('!emptydirs')
-source=(http://www.gropp.org/bwm-ng/${pkgname}-${pkgver}.tar.gz)
+options=('!libtool')
+source=("http://www.gropp.org/bwm-ng/${pkgname}-${pkgver}.tar.gz")
md5sums=('d3a02484fb7946371bfb4e10927cebfb')
-build()
-{
+build() {
cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr --mandir=${pkgdir}/usr/share/man
- make || return 1
- make prefix=${pkgdir} install || return 1
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make prefix=${pkgdir} install
- mkdir -p ${pkgdir}/usr && \
- mv ${pkgdir}/bin ${pkgdir}/usr/ && \
- #mv ${pkgdir}/share ${pkgdir}/usr/ && \
- find ${pkgdir} -name '*.la' -exec rm {} \;
+ install -d ${pkgdir}/usr
+ mv ${pkgdir}/bin ${pkgdir}/usr/
+ #mv ${pkgdir}/share ${pkgdir}/usr/
}
diff --git a/community/cdcover/PKGBUILD b/community/cdcover/PKGBUILD
index 9c82180a0..8abe05627 100644
--- a/community/cdcover/PKGBUILD
+++ b/community/cdcover/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 26144 2010-09-13 19:36:37Z schuay $
+# $Id: PKGBUILD 58600 2011-11-16 15:26:59Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Roland Schaeuble <rschaeuble@gmx.ch>
@@ -10,7 +10,7 @@ arch=('i686' 'x86_64')
url="http://cdcover.sourceforge.net"
license=('GPL')
depends=('python2' 'tk')
-install=('cdcover.install')
+install='cdcover.install'
source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('ab54e927e1c2f9210062ae9425cea669')
diff --git a/community/chmsee/PKGBUILD b/community/chmsee/PKGBUILD
index a6c963e13..843123ca0 100644
--- a/community/chmsee/PKGBUILD
+++ b/community/chmsee/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id$
+# $Id: PKGBUILD 58590 2011-11-16 07:31:56Z lcarlier $
# Maintainer : Laurent Carlier <lordheavym@gmail.com>
# Contributor: dionydonny <dionydonny@gmail.com>
# Contributor: Ermanno <erm67@yahoo.it>
pkgname=chmsee
pkgver=1.99.05
-pkgrel=2
+pkgrel=3
arch=('i686' 'x86_64')
pkgdesc="A chm (MS HTML help file format) viewer based on xulrunner."
url="http://chmsee.googlecode.com/"
-license="GPL"
-depends=('xulrunner>=7.0' 'chmlib' 'desktop-file-utils')
+license=('GPL')
+depends=('xulrunner>=8.0' 'chmlib' 'desktop-file-utils')
makedepends=('python2')
source=(chmsee-$pkgver.tar.gz::https://github.com/jungleji/chmsee/tarball/v$pkgver
chmsee)
@@ -22,7 +22,7 @@ build() {
cd ${srcdir}/jungleji-chmsee-370f906/src
cp Makefile.arch Makefile
- sed -i -e 's/5.0/7.0/g' Makefile
+ sed -i -e 's/5.0/8.0/g' Makefile
make
}
diff --git a/community/dosbox/PKGBUILD b/community/dosbox/PKGBUILD
new file mode 100644
index 000000000..1f88ecec8
--- /dev/null
+++ b/community/dosbox/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 49481 2011-06-17 21:30:52Z jelle $
+# Maintainer :
+# Contribute : Jelle van der Waa <jelle@vdwaa.nl>
+# Contributor: James Rayner <james@archlinux.org>
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=dosbox
+pkgver=0.74
+pkgrel=2
+pkgdesc="An emulator with builtin DOS for running DOS Games"
+arch=('i686' 'x86_64')
+url="http://dosbox.sourceforge.net/"
+license=('GPL')
+depends=('sdl_net' 'zlib' 'sdl_sound' 'libgl' 'libpng' 'alsa-lib' 'gcc-libs')
+makedepends=('mesa')
+source=("http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz"
+ 'dosbox.png' 'dosbox.desktop' 'gcc46.patch')
+
+build(){
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np1 -i $srcdir/gcc46.patch
+ sed -i 's/png_check_sig/png_sig_cmp/' configure
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/dosbox
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
+
+ # install docs, make does not install them
+ install -d $pkgdir/usr/share/doc/$pkgname
+ install -Dm644 $srcdir/$pkgname-$pkgver/README $pkgdir/usr/share/doc/$pkgname/README
+ install -Dm644 $srcdir/$pkgname-$pkgver/docs/README.video $pkgdir/usr/share/doc/$pkgname/README.video
+
+ install -Dm644 ${srcdir}/${pkgname}.png \
+ ${pkgdir}/usr/share/pixmaps/${pkgname}.png
+ install -Dm644 ${srcdir}/${pkgname}.desktop \
+ ${pkgdir}/usr/share/applications/${pkgname}.desktop
+}
+md5sums=('b9b240fa87104421962d14eee71351e8'
+ '2aac25fc06979e375953fcc36824dc5e'
+ '85169ca599028bee8e29e0b3b7b34dd8'
+ '3fba2e3c7c43290319b2928f40ed30e5')
diff --git a/community/dosbox/dosbox.desktop b/community/dosbox/dosbox.desktop
new file mode 100644
index 000000000..dbaf05ced
--- /dev/null
+++ b/community/dosbox/dosbox.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=dosbox Emulator
+GenericName=Emulator
+Comment=An emulator to run old DOS games
+Icon=dosbox
+Exec=dosbox
+Terminal=false
+Categories=Emulator;Application;
diff --git a/community/dosbox/dosbox.png b/community/dosbox/dosbox.png
new file mode 100644
index 000000000..b8a917986
--- /dev/null
+++ b/community/dosbox/dosbox.png
Binary files differ
diff --git a/community/dosbox/gcc46.patch b/community/dosbox/gcc46.patch
new file mode 100644
index 000000000..eae9ae63e
--- /dev/null
+++ b/community/dosbox/gcc46.patch
@@ -0,0 +1,12 @@
+diff -aur dosbox-0.74/include/dos_inc.h dosbox-0.74.new//include/dos_inc.h
+--- dosbox-0.74/include/dos_inc.h 2010-05-10 17:43:54.000000000 +0000
++++ dosbox-0.74.new//include/dos_inc.h 2011-06-17 20:42:43.982548979 +0000
+@@ -28,6 +28,8 @@
+ #include "mem.h"
+ #endif
+
++#include <stddef.h> //for offsetof
++
+ #ifdef _MSC_VER
+ #pragma pack (1)
+ #endif
diff --git a/community/icewm-utils/PKGBUILD b/community/icewm-utils/PKGBUILD
index b31b6e324..aed8df1b0 100644
--- a/community/icewm-utils/PKGBUILD
+++ b/community/icewm-utils/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 27018 2010-09-16 17:37:18Z schuay $
+# $Id: PKGBUILD 58602 2011-11-16 15:27:25Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Dominika Solarz <dominikasolarz@gmail.com>
@@ -17,7 +17,7 @@ _iconcvtver=1.0
_rrunver=0.5
_mergeprefsver=0.5
-pkgrel=5
+pkgrel=6
pkgdesc="Suite of tools for IceWM"
arch=(i686 x86_64)
license=("GPL")
@@ -66,11 +66,10 @@ build() {
# python2 fix
for file in $(find . -name '*.py' -print); do
- sed -i 's_#!.*/usr/bin/python_#!/usr/bin/python2_' $file
- sed -i 's_#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ sed -i 's_#!.*/usr/bin/python$_#!/usr/bin/python2_' $file
+ sed -i 's_#!.*/usr/bin/env.*python$_#!/usr/bin/env python2_' $file
done
-
(cd icets-$_tsver && patch -p0 <$srcdir/icets-fix-icewmtray-crash.diff)
cd $srcdir/icemc-$_mcver
diff --git a/community/kovpn/PKGBUILD b/community/kovpn/PKGBUILD
index 17d94f120..f2023587c 100644
--- a/community/kovpn/PKGBUILD
+++ b/community/kovpn/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 9444 2010-01-25 14:13:42Z spupykin $
+# $Id: PKGBUILD 58625 2011-11-16 15:52:08Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Douglas Soares de Andrade <dsandrade@gmail.com>
pkgname=kovpn
pkgver=0.3pre7
_pkgver=0.3.pre7
-pkgrel=4
+pkgrel=5
pkgdesc="An OpenVPN client management interface for KDE"
arch=('i686' 'x86_64')
url="http://www.kde-apps.org/content/show.php?content=37043"
@@ -14,27 +14,28 @@ depends=('openvpn' 'kdelibs3' 'xdg-utils')
makedepends=('automake' 'autoconf')
options=('libtool')
install=kovpn.install
-source=("http://projects.fslab.de/projects/kovpn/chrome/site/kovpn-${_pkgver}.tar.bz2"
- "kovpn-disable-dcop.patch::http://bugs.archlinux.org/task/15464?getfile=4173"
+source=("https://projects.fslab.de/projects/kovpn/chrome/site/kovpn-${_pkgver}.tar.bz2"
+ "kovpn-disable-dcop.patch::https://bugs.archlinux.org/task/15464?getfile=4173"
'traywindow_x86_64.patch')
md5sums=('19b61cf9f84088baffbd5bb0a287422c'
'21171b74f76289daea1cc61eedaa4dba'
'bf6218bf2686b6fe41874d5df4e71d63')
build() {
- cd $startdir/src/$pkgname-$_pkgver
+ cd $srcdir/$pkgname-$_pkgver
+ unset LDFLAGS
. /etc/profile.d/qt3.sh
export PATH=$QTDIR/bin:$PATH
export QMAKESPEC=$QTDIR/mkspecs/linux-g++
patch -Np1 -i ../kovpn-disable-dcop.patch
- [ "$CARCH" = "x86_64" ] && patch -Np0 -i ../traywindow_x86_64.patch
+# [ "$CARCH" = "x86_64" ] && patch -Np0 -i ../traywindow_x86_64.patch
sed -i 's#automake\*1.10\*#automake*1.10* | automake*1.11*#' admin/cvs.sh
make -f admin/Makefile.common cvs
./configure --prefix=/opt/kde --without-arts --with-qt-dir=/opt/qt
make || return 1
- make prefix=$startdir/pkg/usr install
+ make prefix=$pkgdir/usr install
}
diff --git a/community/ktechlab/PKGBUILD b/community/ktechlab/PKGBUILD
index 96f6eb0e8..ac59910d6 100644
--- a/community/ktechlab/PKGBUILD
+++ b/community/ktechlab/PKGBUILD
@@ -1,21 +1,30 @@
-# $Id: PKGBUILD 5614 2009-11-12 14:06:56Z spupykin $
+# $Id: PKGBUILD 58604 2011-11-16 15:28:16Z spupykin $
# Maintainer: JJDaNiMoTh <jjdanimoth.aur@gmail.com>
+
pkgname=ktechlab
pkgver=0.3.7
-pkgrel=1
+pkgrel=3
pkgdesc="IDE for electronic circuits and microcontrollers"
arch=('i686' 'x86_64')
url="http://sourceforge.net/projects/ktechlab"
license=("GPL")
depends=('kdelibs3' 'gputils' 'gpsim')
-makedepends=()
-source=(http://downloads.sourceforge.net/sourceforge/ktechlab/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('8e778ef8ce6d0dd4539f5532c933f6bf')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ "$pkgname-gcc45.patch::http://patch-tracker.debian.org/patch/series/dl/ktechlab/0.3.7-10/40-gcc-4.5.patch")
+md5sums=('8e778ef8ce6d0dd4539f5532c933f6bf'
+ '126a04255a8288a7ee42fe47a81c0079')
build() {
- cd ${startdir}/src/${pkgname}-$pkgver
+ . /etc/profile.d/qt3.sh
+ cd "${srcdir}/${pkgname}-$pkgver"
+ patch -p1 <$srcdir/$pkgname-gcc45.patch
+ ./configure --prefix=/opt/kde \
+ --disable-debug \
+ --without-arts
+ make
+}
- ./configure --prefix=/opt/kde --disable-debug --without-arts
- make || return 1
- make DESTDIR=${startdir}/pkg install
+package() {
+ cd "${srcdir}/${pkgname}-$pkgver"
+ make DESTDIR="${pkgdir}" install
}
diff --git a/community/kydpdict/PKGBUILD b/community/kydpdict/PKGBUILD
index 9ca4c5aa5..a11873b14 100644
--- a/community/kydpdict/PKGBUILD
+++ b/community/kydpdict/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 23962 2010-08-18 13:20:20Z lcarlier $
+# $Id: PKGBUILD 58593 2011-11-16 14:44:57Z andrea $
# Contributor: Jaroslaw Swierczynski <swiergot@juvepoland.com>
pkgname=kydpdict
@@ -9,7 +9,7 @@ arch=('i686' 'x86_64')
url="http://ytm.bossstation.dnsalias.org/html/kydpdict.html"
license=('GPL')
depends=('qt3')
-install=(kydpdict.install)
+install=kydpdict.install
source=(http://ytm.bossstation.dnsalias.org/src/$pkgname-$pkgver.tar.bz2 \
$pkgname.png $pkgname.desktop)
md5sums=('bf8aa06d4a3bbe401d7972e01c07609d'
diff --git a/community/leafnode/PKGBUILD b/community/leafnode/PKGBUILD
index 0b96590ab..f9782f1fa 100644
--- a/community/leafnode/PKGBUILD
+++ b/community/leafnode/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 18744 2010-06-14 12:55:42Z spupykin $
+# $Id: PKGBUILD 58613 2011-11-16 15:33:07Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# You need an news user and group to build this package
@@ -10,7 +10,7 @@ arch=('i686' 'x86_64')
url="http://leafnode.sourceforge.net/"
depends=(pcre xinetd)
license=('GPL')
-install=(leafnode.install)
+install=leafnode.install
options=(!emptydirs)
backup=(etc/xinet.d/leafnode)
source=(http://downloads.sf.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
diff --git a/community/libdnet/PKGBUILD b/community/libdnet/PKGBUILD
index 70cf6e437..0e9854553 100644
--- a/community/libdnet/PKGBUILD
+++ b/community/libdnet/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 27071 2010-09-17 12:26:08Z schuay $
+# $Id: PKGBUILD 58611 2011-11-16 15:32:03Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: James Fryman <jfryman@gmail.com>
@@ -9,7 +9,7 @@ pkgdesc="A simplified, portable interface to several low-level networking routin
arch=(i686 x86_64)
makedepends=(python2)
optdepends=(python2)
-install=(libdnet.install)
+install=libdnet.install
license=("BSD")
url="http://code.google.com/p/libdnet/"
options=('!libtool')
diff --git a/community/librcc/PKGBUILD b/community/librcc/PKGBUILD
index ca2eb950c..c4eff2270 100644
--- a/community/librcc/PKGBUILD
+++ b/community/librcc/PKGBUILD
@@ -1,6 +1,5 @@
-# $Id: PKGBUILD 49369 2011-06-15 09:26:07Z spupykin $
+# $Id: PKGBUILD 58641 2011-11-16 23:02:02Z andrea $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=librcc
pkgver=0.2.6
@@ -12,10 +11,11 @@ license=('GPL')
depends=(aspell enca libxml2 db librcd)
makedepends=(patch gtk gtk2)
install=librcc.install
+options=('!libtool')
source=(http://downloads.sourceforge.net/rusxmms/${pkgname}-${pkgver}.tar.bz2
- librcc-strnlen.patch)
+ librcc-strnlen.patch)
md5sums=('9bbf248c7312c73c0b6ca19b9c5a2af1'
- '040313d1d8f166ccf2b128cea4c05f21')
+ '040313d1d8f166ccf2b128cea4c05f21')
build() {
cd ${startdir}/src/$pkgname-${pkgver}
@@ -32,10 +32,6 @@ package() {
make DESTDIR=$startdir/pkg install
- rm -f $startdir/pkg/usr/lib/*.la
- rm -f $startdir/pkg/usr/lib/rcc/engines/*.a
- rm -f $startdir/pkg/usr/lib/rcc/engines/*.la
-
make -C examples
make -C examples install DESTDIR=$startdir/pkg
rm -f $startdir/pkg/usr/bin/example*
diff --git a/community/netsurf/PKGBUILD b/community/netsurf/PKGBUILD
index 3b9e35c4f..bd4cac2fe 100644
--- a/community/netsurf/PKGBUILD
+++ b/community/netsurf/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 56237 2011-10-03 16:13:35Z arodseth $
+# $Id: PKGBUILD 58607 2011-11-16 15:29:25Z spupykin $
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
# Contributor: Georgij Kondratjev <smpuj@bk.ru>
@@ -14,7 +14,7 @@ depends=('libmng' 'curl' 'libglade' 'librsvg' 'desktop-file-utils' 'libnsbmp' 'l
makedepends=('re2c' 'lcms')
provides=('netsurf')
conflicts=('netsurf')
-install=("${pkgname}.install")
+install="${pkgname}.install"
source=("${pkgname}.desktop"
"${pkgname}.install"
"http://ubuntu.allmyapps.com/data/n/e/netsurf-netsurf-web-browser/icon_48x48_netsurf.png"
diff --git a/community/parrot/PKGBUILD b/community/parrot/PKGBUILD
index d608c5908..7c6f440b5 100644
--- a/community/parrot/PKGBUILD
+++ b/community/parrot/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 56087 2011-09-30 23:19:11Z spupykin $
+# $Id: PKGBUILD 58586 2011-11-16 05:16:04Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributer: mpie <michael.kyne-phillips1@ntlworld.com>
pkgname=parrot
-pkgver=3.8.0
+pkgver=3.10.0
_rel=devel
#_rel=stable
pkgrel=2
@@ -16,7 +16,7 @@ makedepends=('perl-json')
optdepends=('freeglut')
options=(!emptydirs !makeflags)
source=(ftp://ftp.parrot.org/pub/parrot/releases/${_rel}/$pkgver/parrot-$pkgver.tar.gz)
-md5sums=('72bac15a47f01bacef5ad28e45fe08b9')
+md5sums=('36a839beaef511f178b0607a03f1ff0f')
build() {
cd $srcdir/$pkgname-$pkgver
diff --git a/community/pwmanager/PKGBUILD b/community/pwmanager/PKGBUILD
index c94e9ba5b..c13ce266a 100644
--- a/community/pwmanager/PKGBUILD
+++ b/community/pwmanager/PKGBUILD
@@ -1,17 +1,18 @@
-# $Id: PKGBUILD 9064 2010-01-23 12:16:49Z foutrelis $
+# $Id: PKGBUILD 58627 2011-11-16 15:52:59Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
# Contributors: Pointer <pointer@linux-blog.de>, tmaynard <arch@toddmaynard.com>
pkgname=pwmanager
pkgver=1.2.4
-pkgrel=4
+pkgrel=5
pkgdesc="With PwManager you can easily manage your passwords"
arch=('i686' 'x86_64')
url="http://passwordmanager.sourceforge.net/"
license=('GPL')
depends=('kdelibs3')
-options=('libtool')
-source=(http://downloads.sourceforge.net/sourceforge/passwordmanager/$pkgname-$pkgver.tar.bz2 \
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/passwordmanager/$pkgname-$pkgver.tar.bz2
build-fix.patch)
md5sums=('e6f720af9b325bc0e7ea20c9c5e6039f'
'bcc412cb855cba4910e51920ae38a326')
@@ -19,14 +20,11 @@ md5sums=('e6f720af9b325bc0e7ea20c9c5e6039f'
build() {
. /etc/profile.d/qt3.sh
export PATH=$QTDIR/bin:$PATH
- cd $startdir/src/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$pkgver
patch -p1 <$srcdir/build-fix.patch
./configure --prefix=/opt/kde --without-arts
- make || return 1
- make DESTDIR=$startdir/pkg install
-
- # ugly libtool
- rm $startdir/pkg/opt/kde/lib/kde3/kded_pwmanager_kwalletemu.la
+ make
+ make DESTDIR=$pkgdir install
}
diff --git a/community/soundkonverter/PKGBUILD b/community/soundkonverter/PKGBUILD
index 16126aa59..2240b72f5 100644
--- a/community/soundkonverter/PKGBUILD
+++ b/community/soundkonverter/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 54953 2011-08-28 23:34:04Z andrea $
-# Maintainer: Eric Belanger <eric@archlinux.org>
+# $Id: PKGBUILD 58635 2011-11-16 22:07:30Z andrea $
# Maintainer: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: Darwin Bautista <djclue917@gmail.com>
pkgname=soundkonverter
-pkgver=1.0.0
+pkgver=1.2.0
pkgrel=1
pkgdesc="Front-end to various audio converters"
arch=('i686' 'x86_64')
@@ -23,10 +23,9 @@ optdepends=('cdrkit: cdda2wav backend'
'speex: speexenc, speexdec backends'
'vorbisgain: vorbisgain backend'
)
-options=('libtool')
install=$pkgname.install
-source=("https://api.opensuse.org/public/source/home:HessiJames/${pkgname}/"${pkgname}-"${pkgver}.tar.gz")
-md5sums=('fc8bab43a27c53e651907489f5ce5032')
+source=("https://gitorious.org/soundkonverter/soundkonverter/blobs/raw/180e777aa3d91456ac386868a1e324ca28649e2e/release/${pkgname}-${pkgver}.tar.gz")
+md5sums=('e4c4ccf1f7f93f758c3d440f67f61a64')
build() {
cd "${srcdir}"
diff --git a/community/uptimed/PKGBUILD b/community/uptimed/PKGBUILD
index 7b60c38b8..c157e645c 100644
--- a/community/uptimed/PKGBUILD
+++ b/community/uptimed/PKGBUILD
@@ -1,6 +1,6 @@
-# $Id: PKGBUILD 17435 2010-05-24 10:30:22Z spupykin $
+# $Id: PKGBUILD 58644 2011-11-16 23:03:01Z andrea $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Maintainer: Tom Killian <tomk@runbox.com>
+# Contributor: Tom Killian <tomk@runbox.com>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=uptimed
@@ -8,22 +8,23 @@ pkgver=0.3.16
pkgrel=3
pkgdesc="A system uptime record daemon"
arch=(i686 x86_64)
-install=$pkgname.install
url="http://podgorny.cz/uptimed/"
license=('GPL')
-depends=('glibc')
+depends=('glibc' 'bash')
backup=(etc/uptimed.conf)
+options=('!libtool')
+install=$pkgname.install
source=(http://podgorny.cz/$pkgname/releases/$pkgname-$pkgver.tar.bz2
- uptimed)
+ uptimed)
md5sums=('f87ec2cc39039239004afa542cf99c59'
'4ae90bee9fc78014a889a5072effb735')
build() {
- cd $startdir/src/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$pkgver
# Change log path to Arch standard
for M in `ls M*`; do
- sed -i "s|/var/spool/uptimed|$startdir/pkg/var/log/uptimed|" $M
+ sed -i "s|/var/spool/uptimed|$pkgdir/var/log/uptimed|" $M
done
sed -i 's|spool|log|' libuptimed/urec.h
@@ -31,12 +32,13 @@ build() {
libtoolize --force
./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
- make || return 1
- make prefix=$startdir/pkg/usr sysconfdir=$startdir/pkg/etc install
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make prefix=$pkgdir/usr sysconfdir=$pkgdir/etc install
- mv $startdir/pkg/etc/uptimed.conf-dist \
- $startdir/pkg/etc/uptimed.conf
- install -D ../uptimed $startdir/pkg/etc/rc.d/uptimed
- find $startdir/pkg -name '*.la' -exec rm {} \;
+ mv $pkgdir/etc/uptimed.conf-dist $pkgdir/etc/uptimed.conf
+ install -D $srcdir/uptimed $pkgdir/etc/rc.d/uptimed
}
diff --git a/community/xfmedia/PKGBUILD b/community/xfmedia/PKGBUILD
index 7c56c80fe..4401e1a9b 100644
--- a/community/xfmedia/PKGBUILD
+++ b/community/xfmedia/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 38810 2011-02-01 11:14:57Z spupykin $
+# $Id: PKGBUILD 58605 2011-11-16 15:28:21Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer : Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer : Tom Killian <tomk@runbox.com>
@@ -13,7 +13,7 @@ license=('GPL')
url="http://spuriousinterrupt.org/projects/xfmedia/"
depends=('xine-lib' 'taglib' 'exo' 'libxtst' 'libxss' 'libxfcegui4' 'dbus-glib')
makedepends=('intltool' 'libxt')
-install=(xfmedia.install)
+install=xfmedia.install
source=(http://spuriousinterrupt.org/files/$pkgname/$pkgname-$pkgver.tar.bz2
xfmedia-dbus-0.6-support.patch
xfmedia-empty-prev-next-fix.patch
diff --git a/community/xlockmore/PKGBUILD b/community/xlockmore/PKGBUILD
index b3c03b06d..f7b993837 100644
--- a/community/xlockmore/PKGBUILD
+++ b/community/xlockmore/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 55400 2011-09-11 21:18:11Z spupykin $
+# $Id: PKGBUILD 58588 2011-11-16 05:16:51Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: dorphell <dorphell@archlinux.org>
pkgname=xlockmore
-pkgver=5.34
+pkgver=5.35
pkgrel=1
pkgdesc="screen saver / locker for the X Window System"
arch=(i686 x86_64)
@@ -13,7 +13,7 @@ url="http://www.tux.org/~bagleyd/xlockmore.html"
options=('!makeflags')
source=(http://www.tux.org/~bagleyd/xlock/xlockmore-$pkgver/xlockmore-$pkgver.tar.bz2 \
LICENSE)
-md5sums=('ed464197e8684a243e56aab7919a52d8'
+md5sums=('fdd7b876aac46f9a86497858b70e17b2'
'a64afab4283f53972a6702c2e59850d7')
build() {
diff --git a/core/heirloom-mailx/PKGBUILD b/core/heirloom-mailx/PKGBUILD
index d5681bc24..f8c8129dc 100644
--- a/core/heirloom-mailx/PKGBUILD
+++ b/core/heirloom-mailx/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 132725 2011-07-25 13:08:32Z stephane $
+# $Id: PKGBUILD 142842 2011-11-16 20:25:47Z dan $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
-# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
+# Contributor: Sergej Pupykin <pupykin.s@arch@gmail.com>
+# Contributor: Andreas Wagner <Andreas.Wagner@em.uni-frankfurt.de>
pkgname=heirloom-mailx
pkgver=12.5
-pkgrel=2
+pkgrel=3
pkgdesc="A commandline utility for sending and receiving email"
arch=('i686' 'x86_64')
url="http://heirloom.sourceforge.net/mailx.html"
diff --git a/core/jfsutils/PKGBUILD b/core/jfsutils/PKGBUILD
index f0342bad0..fee4867a2 100644
--- a/core/jfsutils/PKGBUILD
+++ b/core/jfsutils/PKGBUILD
@@ -1,24 +1,30 @@
-# $Id: PKGBUILD 126948 2011-06-08 20:07:37Z tpowa $
+# $Id: PKGBUILD 142848 2011-11-17 00:38:27Z bisson $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+
pkgname=jfsutils
pkgver=1.1.15
-pkgrel=2
-pkgdesc="JFS filesystem utilities"
-arch=(i686 x86_64)
-url="http://jfs.sourceforge.net"
+pkgrel=3
+pkgdesc='JFS filesystem utilities'
+arch=('i686' 'x86_64')
+url='http://jfs.sourceforge.net'
license=('GPL')
groups=('base')
depends=('util-linux-ng')
-source=(http://jfs.sourceforge.net/project/pub/${pkgname}-${pkgver}.tar.gz)
-md5sums=('8809465cd48a202895bc2a12e1923b5d')
+source=("http://jfs.sourceforge.net/project/pub/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('291e8bd9d615cf3d27e4000117c81a3602484a50')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --sbindir=/sbin
- make
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --sbindir=/sbin
+ make
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
}
diff --git a/core/rfkill/PKGBUILD b/core/rfkill/PKGBUILD
index bf8259e65..95a615f00 100644
--- a/core/rfkill/PKGBUILD
+++ b/core/rfkill/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 109452 2011-02-09 18:22:15Z stephane $
+# $Id: PKGBUILD 142840 2011-11-16 20:25:37Z dan $
# Maintainer: Thomas Bächler <thomas@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=rfkill
pkgver=0.4
-pkgrel=2
+pkgrel=3
pkgdesc="A tool for enabling and disabling wireless devices"
arch=('i686' 'x86_64')
url="http://linuxwireless.org/en/users/Documentation/rfkill"
diff --git a/core/syslog-ng/PKGBUILD b/core/syslog-ng/PKGBUILD
index e27aaa126..5a4c97dfc 100644
--- a/core/syslog-ng/PKGBUILD
+++ b/core/syslog-ng/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 140503 2011-10-15 23:07:16Z dreisner $
+# $Id: PKGBUILD 142836 2011-11-16 14:19:52Z dreisner $
# Maintainer: Dave Reisner <dreisner@archlinux.org>
# Maintainer: Eric Bélanger <eric@archlinux.org>
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=syslog-ng
-pkgver=3.3.1
+pkgver=3.3.2
pkgrel=1
pkgdesc="Next-generation syslogd with advanced networking and filtering capabilities"
arch=('i686' 'x86_64')
@@ -22,13 +22,13 @@ source=("http://www.balabit.com/downloads/files/syslog-ng/sources/$pkgver/source
syslog-ng.conf
syslog-ng.logrotate
syslog-ng.rc)
-sha1sums=('f084d66754c7fa1eada56946f77ef3066faa27a1'
+sha1sums=('a7cfc987cdd584e357e253d2794bad1159776638'
'98074e0facfc6ef036202662cc86d04b38a2c142'
'ac997b25d7d8e69e66782d3771a0e12aff55ae7f'
'a6ad26912b5bcbe1b47b003309945d733613b98f')
build() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd "$pkgname-$pkgver"
./configure \
--prefix=/usr \
@@ -44,9 +44,7 @@ build() {
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
-
- make DESTDIR="$pkgdir" install
+ make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
install -dm755 "$pkgdir/var/lib/syslog-ng" "$pkgdir/etc/syslog-ng/patterndb.d"
install -Dm644 "$srcdir/syslog-ng.conf" "$pkgdir/etc/syslog-ng/syslog-ng.conf"
diff --git a/extra/bind/PKGBUILD b/extra/bind/PKGBUILD
index 0053d4c6e..b80c5a332 100644
--- a/extra/bind/PKGBUILD
+++ b/extra/bind/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 137100 2011-09-06 08:10:20Z bisson $
+# $Id: PKGBUILD 142846 2011-11-16 23:53:56Z ibiru $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
# Contributor: Mario Vazquez <mario_vazq@hotmail.com>
@@ -6,8 +6,8 @@
pkgname=bind
# Use a period and not a hyphen before the patch level for proper versioning.
-pkgver=9.8.1
-_pkgver=9.8.1
+pkgver=9.8.1.P1
+_pkgver=9.8.1-P1
pkgrel=1
pkgdesc='Berkeley Internet Name Daemon is the reference implementation of the DNS protocols'
@@ -26,7 +26,7 @@ source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"
'named.logrotate'
'localhost.zone'
'127.0.0.zone')
-sha1sums=('7e6ed6ebc896b1de33a9f440233066c60539de4c'
+sha1sums=('1cff6594aa185d84942edd2f3cc06dff9cebb04b'
'cbdecd1ea8e7b612b33b63d66bc57273795d1f54'
'b433ba99f23e3db305f8ce293fe4ce6d1b8d4cfb'
'18f477f510df31e6c6f547ee2d5fc46e973479bf'
diff --git a/extra/gtk2/PKGBUILD b/extra/gtk2/PKGBUILD
index 2de31d047..dc8cc3ea2 100644
--- a/extra/gtk2/PKGBUILD
+++ b/extra/gtk2/PKGBUILD
@@ -1,24 +1,27 @@
-# $Id: PKGBUILD 142534 2011-11-11 18:06:50Z ibiru $
+# $Id: PKGBUILD 142844 2011-11-16 23:13:07Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gtk2
pkgname=('gtk2' 'gtk-update-icon-cache')
pkgver=2.24.8
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.gtk.org/"
makedepends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage'
'shared-mime-info' 'cairo' 'libcups' 'gdk-pixbuf2' 'gobject-introspection')
options=('!libtool' '!docs')
license=('LGPL')
-source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${pkgver}.tar.xz
- xid-collision-debug.patch)
+source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-$pkgver.tar.xz
+ xid-collision-debug.patch
+ revert-iconview.patch)
sha256sums=('8a3b29f667933cf52eea2db7b066723edbc80443ca9c75b7cd7cbe8c8b90b93c'
- 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558')
+ 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558'
+ '517b3d0797b27324b8fa042ce4b653334ff3b55e48b921de3485505b9ca99fba')
build() {
- cd "${srcdir}/gtk+-${pkgver}"
- patch -Np1 -i "${srcdir}/xid-collision-debug.patch"
+ cd "$srcdir/gtk+-$pkgver"
+ patch -Np1 -i "$srcdir/xid-collision-debug.patch"
+ patch -Np1 -i "$srcdir/revert-iconview.patch"
CXX=/bin/false ./configure --prefix=/usr \
--sysconfdir=/etc \
@@ -37,19 +40,19 @@ package_gtk2() {
depends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'shared-mime-info' 'cairo' 'libcups' 'gtk-update-icon-cache')
backup=(etc/gtk-2.0/gtkrc)
- cd "${srcdir}/gtk+-${pkgver}"
+ cd "$srcdir/gtk+-$pkgver"
- make DESTDIR="${pkgdir}" install
+ make DESTDIR="$pkgdir" install
sed -i "s#env python#env python2#" $pkgdir/usr/bin/gtk-builder-convert
- echo 'gtk-fallback-icon-theme = "gnome"' > "${pkgdir}/etc/gtk-2.0/gtkrc"
+ echo 'gtk-fallback-icon-theme = "gnome"' > "$pkgdir/etc/gtk-2.0/gtkrc"
#split this out to use with gtk3 too
- rm ${pkgdir}/usr/bin/gtk-update-icon-cache
+ rm $pkgdir/usr/bin/gtk-update-icon-cache
}
package_gtk-update-icon-cache() {
pkgdesc="The GTK+ update icon cache tool"
depends=('gdk-pixbuf2')
- cd "${srcdir}/gtk+-${pkgver}/gtk"
+ cd "$srcdir/gtk+-$pkgver/gtk"
- install -D -m755 gtk-update-icon-cache ${pkgdir}/usr/bin/gtk-update-icon-cache
+ install -D -m755 gtk-update-icon-cache $pkgdir/usr/bin/gtk-update-icon-cache
}
diff --git a/extra/gtk2/revert-iconview.patch b/extra/gtk2/revert-iconview.patch
new file mode 100644
index 000000000..e16fc38e3
--- /dev/null
+++ b/extra/gtk2/revert-iconview.patch
@@ -0,0 +1,30 @@
+From 5c3bb1839cac52828756f9ddb98f49d586853991 Mon Sep 17 00:00:00 2001
+From: Cosimo Cecchi <cosimoc@gnome.org>
+Date: Wed, 16 Nov 2011 22:38:45 +0000
+Subject: Revert "iconview: layout items immediately when setting a GtkTreeModel"
+
+It makes GtkIconView segfault on GTK 2.24.
+
+gtk_icon_view_expose() calls gtk_icon_view_layout() first thing if
+there's a layout queued anyway, so we wouldn't end up in the same
+situation causing the crash the original patch is supposed to fix.
+
+This reverts commit 5a03f4a6a50237d86959f596dda143dfc2f040d1.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=663138
+---
+diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
+index 62877fa..54b3f3b 100644
+--- a/gtk/gtkiconview.c
++++ b/gtk/gtkiconview.c
+@@ -5423,7 +5423,7 @@ gtk_icon_view_set_model (GtkIconView *icon_view,
+
+ gtk_icon_view_build_items (icon_view);
+
+- gtk_icon_view_layout (icon_view);
++ gtk_icon_view_queue_layout (icon_view);
+ }
+
+ g_object_notify (G_OBJECT (icon_view), "model");
+--
+cgit v0.9.0.2
diff --git a/extra/libdvdcss/PKGBUILD b/extra/libdvdcss/PKGBUILD
index 6317b615b..8ab1a372a 100644
--- a/extra/libdvdcss/PKGBUILD
+++ b/extra/libdvdcss/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 102948 2010-12-13 12:51:30Z stephane $
+# $Id: PKGBUILD 142850 2011-11-17 01:39:31Z eric $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: arjan <arjan@archlinux.org>
# Contributor Sarah Hay <sarahhay@mb.sympatico.ca>
pkgname=libdvdcss
-pkgver=1.2.10
-pkgrel=2
+pkgver=1.2.11
+pkgrel=1
pkgdesc="A portable abstraction library for DVD decryption"
url="http://www.videolan.org/libdvdcss"
arch=('i686' 'x86_64')
@@ -13,8 +13,7 @@ license=('GPL')
depends=('glibc')
options=('!libtool')
source=(http://download.videolan.org/pub/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('7c933d011e34c218048d48f0c1a8b4ff56798dcd')
-
+sha512sums=('32dec992cf2f352a09c4edc39ea16101fc9005f3aecc43460aa1b5834c104d3f2c1efc81051339fa18fd4f33cfa949fd17ffe84414519a92b91d0d8a1ae4c467')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/xf86-input-wacom/PKGBUILD b/extra/xf86-input-wacom/PKGBUILD
index 47d75a2e2..4c4c8d244 100644
--- a/extra/xf86-input-wacom/PKGBUILD
+++ b/extra/xf86-input-wacom/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 140370 2011-10-11 21:30:03Z jgc $
+# $Id: PKGBUILD 142834 2011-11-16 13:12:15Z heftig $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: M Rawash <mrawash@gmail.com>
pkgname=xf86-input-wacom
-pkgver=0.11.1
-pkgrel=3
+pkgver=0.12.0
+pkgrel=1
pkgdesc="X.Org Wacom tablet driver"
arch=('i686' 'x86_64')
url="http://linuxwacom.sourceforge.net/"
license=('GPL')
backup=('etc/X11/xorg.conf.d/50-wacom.conf')
-depends=('libxi' 'libxrandr')
-makedepends=('xorg-server-devel>=1.10.99.902' 'libxext' 'libxi')
-conflicts=('xorg-server<1.10.99.902')
+depends=('libxi' 'libxrandr' 'libxinerama')
+makedepends=('xorg-server-devel>=1.11.0' 'libxext')
+conflicts=('xorg-server<1.11.0')
options=(!libtool)
source=(http://downloads.sourceforge.net/project/linuxwacom/${pkgname}/${pkgname}-${pkgver}.tar.bz2
70-wacom.rules)
-md5sums=('0aec4a338cc583ed497b6af68d6d80ab'
+md5sums=('e1c41d143d5040982ae050c7ef9039e3'
'10db4f8272286690255c1bcc18bfdd92')
build() {
diff --git a/testing/libffado/PKGBUILD b/testing/libffado/PKGBUILD
index 09386a73f..a73d9a212 100644
--- a/testing/libffado/PKGBUILD
+++ b/testing/libffado/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 140411 2011-10-13 03:56:02Z schiv $
-# Maintainer: Ray Rashif <schivmeister@gmail.com>
+# $Id: PKGBUILD 142838 2011-11-16 19:18:19Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: galiyosha@gmail.com
# Contributor: Jon Kristian Nilsen <jokr.nilsen@gmail.com>
pkgname=libffado
pkgver=2.0.1
-pkgrel=4
+pkgrel=5
pkgdesc="Driver for FireWire audio devices"
arch=('i686' 'x86_64')
url="http://www.ffado.org/"
@@ -13,7 +13,8 @@ license=('GPL')
depends=('libiec61883' 'libavc1394' 'libsigc++'
'libxml++' 'alsa-lib' 'dbus')
makedepends=('scons' 'python2-qt')
-optdepends=('python2-qt: mixer applet')
+optdepends=('python2: ffado-diag'
+ 'python2-qt: mixer applet')
provides=('ffado')
source=("http://www.ffado.org/files/$pkgname-$pkgver.tar.gz"
'60-ffado.rules')
@@ -43,7 +44,7 @@ build() {
package() {
cd "$srcdir/$pkgname-$pkgver"
- scons DESTDIR="$pkgdir/" WILL_DEAL_WITH_XDG_MYSELF="True" install
+ scons DESTDIR="$pkgdir" WILL_DEAL_WITH_XDG_MYSELF="True" install
# add audio device rules
# see https://bugs.archlinux.org/task/26342
diff --git a/testing/xorg-server/10-quirks.conf b/testing/xorg-server/10-quirks.conf
new file mode 100644
index 000000000..7afad22dc
--- /dev/null
+++ b/testing/xorg-server/10-quirks.conf
@@ -0,0 +1,10 @@
+# Collection of quirks and blacklist/whitelists for specific devices.
+
+
+# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
+# http://bugs.freedesktop.org/show_bug.cgi?id=22442
+Section "InputClass"
+ Identifier "ThinkPad HDAPS accelerometer blacklist"
+ MatchProduct "ThinkPad HDAPS accelerometer data"
+ Option "Ignore" "on"
+EndSection
diff --git a/testing/xorg-server/PKGBUILD b/testing/xorg-server/PKGBUILD
new file mode 100644
index 000000000..c2a5e2c4f
--- /dev/null
+++ b/testing/xorg-server/PKGBUILD
@@ -0,0 +1,205 @@
+# $Id: PKGBUILD 142829 2011-11-16 11:34:48Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=xorg-server
+pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel')
+pkgver=1.11.2
+pkgrel=2
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://xorg.freedesktop.org"
+makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'dri2proto' 'udev' 'libgcrypt')
+options=('!libtool')
+source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
+ autoconfig-nvidia.patch
+ autoconfig-sis.patch
+ revert-trapezoids.patch
+ git-fixes.patch
+ xserver-1.11.2-record-crasher.patch
+ Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch
+ xvfb-run
+ xvfb-run.1
+ 10-quirks.conf)
+md5sums=('8796fff441e5435ee36a72579008af24'
+ '6c7e87d63ac4b535e19a80c89d0cf091'
+ 'f8194638ca4872c2b0a67862a70bcebf'
+ 'f6c84f4936f8e00abdfbd9fb4eda83fb'
+ '6fb42ec979ecd6125b6599f54dc00d14'
+ '3f9de4dbfee2da90167192d8ca9eb2b4'
+ '47f9b979fe38043b42ff86eeee6fd0d0'
+ '52fd3effd80d7bc6c1660d4ecf23d31c'
+ '376c70308715cd2643f7bff936d9934b'
+ 'd4f7dfc6be4ef4e2c6dd7632a9d88abe')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ # Use nouveau/nv/nvidia drivers for nvidia devices
+ patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch"
+
+ # Use unofficial imedia SiS driver for supported SiS devices
+ patch -Np0 -i "${srcdir}/autoconfig-sis.patch"
+
+ # Revert commit that causes huge slowdowns with binary nVidia driver
+ patch -Np1 -i "${srcdir}/revert-trapezoids.patch"
+
+ # Add post-release patches from 1.11 branch
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+
+ # From Fedora.
+ # Upstream URL: http://patchwork.freedesktop.org/patch/7866/
+ patch -Np1 -i "${srcdir}/xserver-1.11.2-record-crasher.patch"
+
+ # From Fedora.
+ # Upstream URL: https://bugs.freedesktop.org/show_bug.cgi?id=42298
+ patch -Np1 -i "${srcdir}/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr \
+ --enable-ipv6 \
+ --enable-dri \
+ --enable-dmx \
+ --enable-xvfb \
+ --enable-xnest \
+ --enable-composite \
+ --enable-xcsecurity \
+ --enable-xorg \
+ --enable-xephyr \
+ --enable-glx-tls \
+ --enable-kdrive \
+ --enable-install-setuid \
+ --enable-config-udev \
+ --disable-config-dbus \
+ --enable-record \
+ --disable-xfbdev \
+ --disable-xfake \
+ --disable-static \
+ --sysconfdir=/etc/X11 \
+ --localstatedir=/var \
+ --with-xkb-path=/usr/share/X11/xkb \
+ --with-xkb-output=/var/lib/xkb \
+ --with-fontrootdir=/usr/share/fonts
+ make
+
+ # Disable subdirs for make install rule to make splitting easier
+ sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \
+ -e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \
+ -e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \
+ -e 's/^KDRIVE_SUBDIRS =.*/KDRIVE_SUBDIRS =/' \
+ -i hw/Makefile
+}
+
+package_xorg-server-common() {
+ pkgdesc="Xorg server common files"
+ depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common"
+
+ make -C xkb DESTDIR="${pkgdir}" install-data
+
+ install -m755 -d "${pkgdir}/usr/share/man/man1"
+ install -m644 man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
+
+ install -m755 -d "${pkgdir}/usr/lib/xorg"
+ install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
+}
+
+package_xorg-server() {
+ pkgdesc="Xorg X server"
+ depends=(libxdmcp libxfont udev libpciaccess libdrm pixman libgcrypt libxau xorg-server-common xf86-input-evdev)
+ backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf')
+ provides=('x-server')
+ groups=('xorg')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/etc/X11"
+ mv "${pkgdir}/usr/share/X11/xorg.conf.d" "${pkgdir}/etc/X11/"
+ install -m644 "${srcdir}/10-quirks.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
+
+ rmdir "${pkgdir}/usr/share/X11"
+
+ # Needed for non-mesa drivers, libgl will restore it
+ mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \
+ "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg"
+
+ rm -rf "${pkgdir}/var"
+
+ rm -f "${pkgdir}/usr/share/man/man1/Xserver.1"
+ rm -f "${pkgdir}/usr/lib/xorg/protocol.txt"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server/COPYING"
+
+ rm -rf "${pkgdir}/usr/lib/pkgconfig"
+ rm -rf "${pkgdir}/usr/include"
+ rm -rf "${pkgdir}/usr/share/aclocal"
+}
+
+package_xorg-server-xephyr() {
+ pkgdesc="A nested X server that runs as an X application"
+ depends=(libxfont libgl libgcrypt libxv pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/kdrive"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xephyr/COPYING"
+}
+
+package_xorg-server-xvfb() {
+ pkgdesc="Virtual framebuffer X server"
+ depends=(libxfont libxdmcp libxau libgcrypt pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/vfb"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
+ install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xvfb"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xvfb/COPYING"
+}
+
+package_xorg-server-xnest() {
+ pkgdesc="A nested X server that runs as an X application"
+ depends=(libxfont libxext libgcrypt pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/xnest"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xnest/COPYING"
+}
+
+package_xorg-server-xdmx() {
+ pkgdesc="Distributed Multihead X Server and utilities"
+ depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/dmx"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xdmx/COPYING"
+}
+
+package_xorg-server-devel() {
+ pkgdesc="Development files for the X.Org X server"
+ depends=(xproto randrproto renderproto xextproto inputproto kbproto fontsproto videoproto dri2proto xineramaproto xorg-util-macros pixman libpciaccess)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm -rf "${pkgdir}/usr/bin"
+ rm -rf "${pkgdir}/usr/share/man"
+ rm -rf "${pkgdir}/usr/share/doc"
+ rm -rf "${pkgdir}/usr/share/X11"
+ rm -rf "${pkgdir}/usr/lib/xorg"
+ rm -rf "${pkgdir}/var"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
+}
diff --git a/testing/xorg-server/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch b/testing/xorg-server/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch
new file mode 100644
index 000000000..8bddb2945
--- /dev/null
+++ b/testing/xorg-server/Xi-allow-passive-keygrabs-on-the-XIAll-Master-Device.patch
@@ -0,0 +1,31 @@
+From 97f2af5876dab0dfab06be735416f3fc950ed39e Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu, 27 Oct 2011 11:03:39 +1000
+Subject: [PATCH] Xi: allow passive keygrabs on the XIAll(Master)Devices fake
+ devices
+
+They don't have a KeyClassRec, but we must still allow passive grabs on
+them.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Tested-by: Bastien Nocera <hadess@hadess.net>
+---
+ Xi/exevents.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Xi/exevents.c b/Xi/exevents.c
+index 053c76f..edf2c39 100644
+--- a/Xi/exevents.c
++++ b/Xi/exevents.c
+@@ -1495,7 +1495,7 @@ GrabKey(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr modifier_device,
+ rc = CheckGrabValues(client, param);
+ if (rc != Success)
+ return rc;
+- if (k == NULL)
++ if ((dev->id != XIAllDevices && dev->id != XIAllMasterDevices) && k == NULL)
+ return BadMatch;
+ if (grabtype == GRABTYPE_XI)
+ {
+--
+1.7.7
+
diff --git a/testing/xorg-server/autoconfig-nvidia.patch b/testing/xorg-server/autoconfig-nvidia.patch
new file mode 100644
index 000000000..baa2eb601
--- /dev/null
+++ b/testing/xorg-server/autoconfig-nvidia.patch
@@ -0,0 +1,29 @@
+--- a/hw/xfree86/common/xf86pciBus.c
++++ b/hw/xfree86/common/xf86pciBus.c
+@@ -1123,7 +1123,25 @@ videoPtrToDriverList(struct pci_device *
+ break;
+ case 0x102b: driverList[0] = "mga"; break;
+ case 0x10c8: driverList[0] = "neomagic"; break;
+- case 0x10de: case 0x12d2: driverList[0] = "nv"; break;
++ case 0x10de: case 0x12d2:
++ switch (dev->device_id) {
++ /* NV1 */
++ case 0x0008:
++ case 0x0009:
++ driverList[0] = "vesa";
++ break;
++ /* NV3 */
++ case 0x0018:
++ case 0x0019:
++ driverList[0] = "nv";
++ break;
++ default:
++ driverList[0] = "nouveau";
++ driverList[1] = "nv";
++ driverList[2] = "nvidia";
++ break;
++ }
++ break;
+ case 0x1106: driverList[0] = "openchrome"; break;
+ case 0x1b36: driverList[0] = "qxl"; break;
+ case 0x1163: driverList[0] = "rendition"; break;
diff --git a/testing/xorg-server/autoconfig-sis.patch b/testing/xorg-server/autoconfig-sis.patch
new file mode 100644
index 000000000..d936efaaa
--- /dev/null
+++ b/testing/xorg-server/autoconfig-sis.patch
@@ -0,0 +1,19 @@
+--- hw/xfree86/common/xf86pciBus.c.orig 2011-09-24 10:53:45.421697668 +0000
++++ hw/xfree86/common/xf86pciBus.c 2011-09-24 10:55:56.416250708 +0000
+@@ -1140,7 +1140,15 @@
+ driverList[0] = "savage"; break;
+ }
+ break;
+- case 0x1039: driverList[0] = "sis"; break;
++ case 0x1039:
++ switch (dev->device_id)
++ {
++ case 0x6350: case 0x6351:
++ driverList[0] = "sisimedia"; driverList[1] = "sis"; break;
++ default:
++ driverList[0] = "sis"; break;
++ }
++ break;
+ case 0x126f: driverList[0] = "siliconmotion"; break;
+ case 0x121a:
+ if (dev->device_id < 0x0003)
diff --git a/testing/xorg-server/git-fixes.patch b/testing/xorg-server/git-fixes.patch
new file mode 100644
index 000000000..27da61eca
--- /dev/null
+++ b/testing/xorg-server/git-fixes.patch
@@ -0,0 +1,161 @@
+From 89626304ea1ad316c5b7145a40f09377148cff21 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Thu, 20 Oct 2011 13:43:01 +0000
+Subject: xf86Crtc: handle no outputs with no modes harder.
+
+If you started an X server with no connected outputs, we pick a default
+1024x768 mode, however if you then ran an xvidmode using app against that
+server it would segfault the server due to not finding any valid modes.
+
+This was due to the no output mode set code, only adding the modes to the
+scrn->modes once, when something called randr 1.2 xf86SetScrnInfoModes would
+get called and remove all the modes and we'd end up with 0.
+
+This change fixes xf86SetScrnInfoModes to always report a scrn mode of at
+least 1024x768, and pushes the initial configuration to just call it instead
+of setting up the mode itself.
+
+Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=746926
+
+I've seen other bugs like this on other distros so it might also actually fix them.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Reviewed-by: Keith Packard <keithp@keithp.com>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+(cherry picked from commit 17416e88dcfcc584fe5f87580d5d2b719b3521c3)
+---
+diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
+index d75cd77..8906806 100644
+--- a/hw/xfree86/modes/xf86Crtc.c
++++ b/hw/xfree86/modes/xf86Crtc.c
+@@ -1915,19 +1915,25 @@ xf86SetScrnInfoModes (ScrnInfoPtr scrn)
+ break;
+ }
+
+- if (scrn->modes != NULL) {
+- /* For some reason, scrn->modes is circular, unlike the other mode
+- * lists. How great is that?
+- */
+- for (last = scrn->modes; last && last->next; last = last->next)
+- ;
+- last->next = scrn->modes;
+- scrn->modes->prev = last;
+- if (mode) {
+- while (scrn->modes != mode)
+- scrn->modes = scrn->modes->next;
+- }
++ if (!scrn->modes) {
++ scrn->modes = xf86ModesAdd(scrn->modes,
++ xf86CVTMode(scrn->display->virtualX,
++ scrn->display->virtualY,
++ 60, 0, 0));
++ }
++
++ /* For some reason, scrn->modes is circular, unlike the other mode
++ * lists. How great is that?
++ */
++ for (last = scrn->modes; last && last->next; last = last->next)
++ ;
++ last->next = scrn->modes;
++ scrn->modes->prev = last;
++ if (mode) {
++ while (scrn->modes != mode)
++ scrn->modes = scrn->modes->next;
+ }
++
+ scrn->currentMode = scrn->modes;
+ #ifdef XFreeXDGA
+ if (scrn->pScreen)
+@@ -2529,16 +2535,7 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
+ width, height);
+ }
+
+- if (have_outputs) {
+- /* Mirror output modes to scrn mode list */
+- xf86SetScrnInfoModes (scrn);
+- } else {
+- /* Clear any existing modes from scrn->modes */
+- while (scrn->modes != NULL)
+- xf86DeleteMode(&scrn->modes, scrn->modes);
+- scrn->modes = xf86ModesAdd(scrn->modes,
+- xf86CVTMode(width, height, 60, 0, 0));
+- }
++ xf86SetScrnInfoModes (scrn);
+
+ success = TRUE;
+ bailout:
+--
+cgit v0.9.0.2-2-gbebe
+From 97f2ae60fc0cc755abd8b88df826fcb1a20464fe Mon Sep 17 00:00:00 2001
+From: Christopher Yeleighton <giecrilj@stegny.2a.pl>
+Date: Tue, 25 Oct 2011 01:47:06 +0000
+Subject: Bug 38420: Xvfb crashes in miInitVisuals() when started with depth=2
+
+https://bugs.freedesktop.org/show_bug.cgi?id=38420
+
+Exit with fatal error message, not segfault.
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+(cherry picked from commit 7d50211ab57a35910d79fc3f67ae89aff91fa995)
+---
+diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c
+index 31ed505..dce3f84 100644
+--- a/hw/vfb/InitOutput.c
++++ b/hw/vfb/InitOutput.c
+@@ -864,6 +864,8 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
+ (1 << DirectColor)),
+ 10, TrueColor, 0x3ff00000, 0x000ffc00, 0x000003ff);
+ break;
++ default:
++ return FALSE;
+ }
+
+ miSetPixmapDepths ();
+--
+cgit v0.9.0.2-2-gbebe
+From 34bb83b9df20ff63dbb147ed661f39efb8bae8e4 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 24 Oct 2011 02:00:32 +0000
+Subject: dix: block signals when closing all devices
+
+When closing down all devices, we manually unset master for all attached
+devices, but the device's sprite info still points to the master's sprite
+info. This leaves us a window where the master is freed already but the
+device isn't yet. A signal during that window causes dereference of the
+already freed spriteInfo in mieqEnqueue's EnqueueScreen macro.
+
+Simply block signals when removing all devices. It's not like we're really
+worrying about high-responsive input at this stage.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=737031
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Julien Cristau <jcristau@debian.org>
+(cherry picked from commit d7c44a7c9760449bef263413ad3b20f19b1dc95a)
+---
+diff --git a/dix/devices.c b/dix/devices.c
+index 0ccf252..cbdd4ea 100644
+--- a/dix/devices.c
++++ b/dix/devices.c
+@@ -982,6 +982,8 @@ CloseDownDevices(void)
+ {
+ DeviceIntPtr dev;
+
++ OsBlockSignals();
++
+ /* Float all SDs before closing them. Note that at this point resources
+ * (e.g. cursors) have been freed already, so we can't just call
+ * AttachDevice(NULL, dev, NULL). Instead, we have to forcibly set master
+@@ -1004,6 +1006,8 @@ CloseDownDevices(void)
+ inputInfo.keyboard = NULL;
+ inputInfo.pointer = NULL;
+ XkbDeleteRulesDflts();
++
++ OsReleaseSignals();
+ }
+
+ /**
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/testing/xorg-server/revert-trapezoids.patch b/testing/xorg-server/revert-trapezoids.patch
new file mode 100644
index 000000000..b9046c5cb
--- /dev/null
+++ b/testing/xorg-server/revert-trapezoids.patch
@@ -0,0 +1,179 @@
+diff -ru a/fb/fbpict.c b/fb/fbpict.c
+--- a/fb/fbpict.c 2011-08-01 01:44:24.000000000 +0200
++++ b/fb/fbpict.c 2011-10-05 22:45:29.000000000 +0200
+@@ -364,7 +364,7 @@
+ ps->Glyphs = miGlyphs;
+ ps->CompositeRects = miCompositeRects;
+ ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
+- ps->Trapezoids = fbTrapezoids;
++ ps->Trapezoids = miTrapezoids;
+ ps->AddTraps = fbAddTraps;
+ ps->AddTriangles = fbAddTriangles;
+ ps->Triangles = fbTriangles;
+diff -ru a/render/mipict.c b/render/mipict.c
+--- a/render/mipict.c 2011-04-04 05:19:50.000000000 +0200
++++ b/render/mipict.c 2011-10-05 22:02:53.000000000 +0200
+@@ -573,6 +573,67 @@
+ }
+ }
+
++void
++miTrapezoids (CARD8 op,
++ PicturePtr pSrc,
++ PicturePtr pDst,
++ PictFormatPtr maskFormat,
++ INT16 xSrc,
++ INT16 ySrc,
++ int ntrap,
++ xTrapezoid *traps)
++{
++ ScreenPtr pScreen = pDst->pDrawable->pScreen;
++ PictureScreenPtr ps = GetPictureScreen(pScreen);
++
++ /*
++ * Check for solid alpha add
++ */
++ if (op == PictOpAdd && miIsSolidAlpha (pSrc))
++ {
++ for (; ntrap; ntrap--, traps++)
++ (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0);
++ }
++ else if (maskFormat)
++ {
++ PicturePtr pPicture;
++ BoxRec bounds;
++ INT16 xDst, yDst;
++ INT16 xRel, yRel;
++
++ xDst = traps[0].left.p1.x >> 16;
++ yDst = traps[0].left.p1.y >> 16;
++
++ miTrapezoidBounds (ntrap, traps, &bounds);
++ if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2)
++ return;
++ pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
++ bounds.x2 - bounds.x1,
++ bounds.y2 - bounds.y1);
++ if (!pPicture)
++ return;
++ for (; ntrap; ntrap--, traps++)
++ (*ps->RasterizeTrapezoid) (pPicture, traps,
++ -bounds.x1, -bounds.y1);
++ xRel = bounds.x1 + xSrc - xDst;
++ yRel = bounds.y1 + ySrc - yDst;
++ CompositePicture (op, pSrc, pPicture, pDst,
++ xRel, yRel, 0, 0, bounds.x1, bounds.y1,
++ bounds.x2 - bounds.x1,
++ bounds.y2 - bounds.y1);
++ FreePicture (pPicture, 0);
++ }
++ else
++ {
++ if (pDst->polyEdge == PolyEdgeSharp)
++ maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++ else
++ maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++ for (; ntrap; ntrap--, traps++)
++ miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps);
++ }
++}
++
+ Bool
+ miPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+ {
+@@ -599,7 +660,7 @@
+ ps->Composite = 0; /* requires DDX support */
+ ps->Glyphs = miGlyphs;
+ ps->CompositeRects = miCompositeRects;
+- ps->Trapezoids = 0;
++ ps->Trapezoids = miTrapezoids;
+ ps->Triangles = 0;
+
+ ps->RasterizeTrapezoid = 0; /* requires DDX support */
+diff -ru a/render/mipict.h b/render/mipict.h
+--- a/render/mipict.h 2011-04-04 05:19:50.000000000 +0200
++++ b/render/mipict.h 2011-10-05 22:06:19.000000000 +0200
+@@ -129,6 +129,23 @@
+ CARD32 pixel,
+ xRenderColor *color);
+
++extern _X_EXPORT PicturePtr
++miCreateAlphaPicture (ScreenPtr pScreen,
++ PicturePtr pDst,
++ PictFormatPtr pPictFormat,
++ CARD16 width,
++ CARD16 height);
++
++extern _X_EXPORT void
++miTrapezoids (CARD8 op,
++ PicturePtr pSrc,
++ PicturePtr pDst,
++ PictFormatPtr maskFormat,
++ INT16 xSrc,
++ INT16 ySrc,
++ int ntrap,
++ xTrapezoid *traps);
++
+ extern _X_EXPORT Bool
+ miIsSolidAlpha (PicturePtr pSrc);
+
+diff -ru a/render/mitrap.c b/render/mitrap.c
+--- a/render/mitrap.c 2011-04-04 05:19:50.000000000 +0200
++++ b/render/mitrap.c 2011-10-05 22:05:29.000000000 +0200
+@@ -34,6 +34,55 @@
+ #include "picturestr.h"
+ #include "mipict.h"
+
++PicturePtr
++miCreateAlphaPicture (ScreenPtr pScreen,
++ PicturePtr pDst,
++ PictFormatPtr pPictFormat,
++ CARD16 width,
++ CARD16 height)
++{
++ PixmapPtr pPixmap;
++ PicturePtr pPicture;
++ GCPtr pGC;
++ int error;
++ xRectangle rect;
++
++ if (width > 32767 || height > 32767)
++ return 0;
++
++ if (!pPictFormat)
++ {
++ if (pDst->polyEdge == PolyEdgeSharp)
++ pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++ else
++ pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++ if (!pPictFormat)
++ return 0;
++ }
++
++ pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height,
++ pPictFormat->depth, 0);
++ if (!pPixmap)
++ return 0;
++ pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
++ if (!pGC)
++ {
++ (*pScreen->DestroyPixmap) (pPixmap);
++ return 0;
++ }
++ ValidateGC (&pPixmap->drawable, pGC);
++ rect.x = 0;
++ rect.y = 0;
++ rect.width = width;
++ rect.height = height;
++ (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect);
++ FreeScratchGC (pGC);
++ pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat,
++ 0, 0, serverClient, &error);
++ (*pScreen->DestroyPixmap) (pPixmap);
++ return pPicture;
++}
++
+ static xFixed
+ miLineFixedX (xLineFixed *l, xFixed y, Bool ceil)
+ {
+
diff --git a/testing/xorg-server/xserver-1.11.2-record-crasher.patch b/testing/xorg-server/xserver-1.11.2-record-crasher.patch
new file mode 100644
index 000000000..3af207bb9
--- /dev/null
+++ b/testing/xorg-server/xserver-1.11.2-record-crasher.patch
@@ -0,0 +1,241 @@
+From patchwork Tue Nov 8 18:22:13 2011
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+Subject: Save major/minor opcodes in ClientRec for RecordAReply
+Date: Tue, 08 Nov 2011 18:22:13 -0000
+From: Keith Packard <keithp@keithp.com>
+X-Patchwork-Id: 7866
+Message-Id: <1320776533-3120-1-git-send-email-keithp@keithp.com>
+To: xorg-devel@lists.freedesktop.org
+
+The record extension needs the major and minor opcodes in the reply
+hook, but the request buffer may have been freed by the time the hook
+is invoked. Saving the request major and minor codes as the request is
+executed avoids fetching from the defunct request buffer.
+
+This patch also eliminates the public MinorOpcodeOfRequest function,
+making it static to dispatch. Usages of that function have been
+replaced with direct access to the new ClientRec field.
+
+Signed-off-by: Keith Packard <keithp@keithp.com>
+Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi>
+
+---
+Here's what I was thinking of to fix this -- just record the major and
+minor opcodes of the request in the ClientRec during Dispatch and then
+using those fields in RecordAReply instead of fetching the discarded
+request buffer.
+
+This is entirely untested; I don't know how to make the old code break.
+
+ Xext/security.c | 4 +---
+ Xext/xselinux_hooks.c | 4 ++--
+ dix/dispatch.c | 31 ++++++++++++++++++++++---------
+ dix/extension.c | 14 --------------
+ include/dixstruct.h | 1 +
+ include/extension.h | 2 --
+ record/record.c | 8 +++-----
+ 7 files changed, 29 insertions(+), 35 deletions(-)
+
+[ fedora: technically this is an ABI breaker since it's changing ClientRec,
+ but hopefully not in a way that matters. If it does matter, easiest thing
+ to do is have Record add a hook for XaceHookDispatch. - ajax ]
+
+diff --git a/Xext/security.c b/Xext/security.c
+index 08d8158..b0d82ab 100644
+--- a/Xext/security.c
++++ b/Xext/security.c
+@@ -148,9 +148,7 @@ SecurityLabelInitial(void)
+ static _X_INLINE const char *
+ SecurityLookupRequestName(ClientPtr client)
+ {
+- int major = ((xReq *)client->requestBuffer)->reqType;
+- int minor = MinorOpcodeOfRequest(client);
+- return LookupRequestName(major, minor);
++ return LookupRequestName(client->majorOp, client->minorOp);
+ }
+
+
+diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c
+index f1d8e5d..0d4c9ab 100644
+--- a/Xext/xselinux_hooks.c
++++ b/Xext/xselinux_hooks.c
+@@ -263,8 +263,8 @@ SELinuxAudit(void *auditdata,
+ if (client) {
+ REQUEST(xReq);
+ if (stuff) {
+- major = stuff->reqType;
+- minor = MinorOpcodeOfRequest(client);
++ major = client->majorOp;
++ minor = client->minorOp;
+ }
+ }
+ if (audit->id)
+diff --git a/dix/dispatch.c b/dix/dispatch.c
+index 6e33615..3600acd 100644
+--- a/dix/dispatch.c
++++ b/dix/dispatch.c
+@@ -337,7 +337,20 @@ DisableLimitedSchedulingLatency(void)
+ SmartScheduleLatencyLimited = 0;
+ }
+
+-#define MAJOROP ((xReq *)client->requestBuffer)->reqType
++static inline unsigned short
++MinorOpcodeOfRequest(ClientPtr client)
++{
++ unsigned char major;
++ ExtensionEntry *ext;
++
++ major = ((xReq *)client->requestBuffer)->reqType;
++ if (major < EXTENSION_BASE)
++ return 0;
++ ext = GetExtensionEntry(major);
++ if (!ext)
++ return 0;
++ return ext->MinorOpcode (client);
++}
+
+ void
+ Dispatch(void)
+@@ -419,21 +432,23 @@ Dispatch(void)
+ }
+
+ client->sequence++;
++ client->majorOp = ((xReq *)client->requestBuffer)->reqType;
++ client->minorOp = MinorOpcodeOfRequest(client);
+ #ifdef XSERVER_DTRACE
+- XSERVER_REQUEST_START(LookupMajorName(MAJOROP), MAJOROP,
++ XSERVER_REQUEST_START(LookupMajorName(client->majorOp), client->majorOp,
+ ((xReq *)client->requestBuffer)->length,
+ client->index, client->requestBuffer);
+ #endif
+ if (result > (maxBigRequestSize << 2))
+ result = BadLength;
+ else {
+- result = XaceHookDispatch(client, MAJOROP);
++ result = XaceHookDispatch(client, client->majorOp);
+ if (result == Success)
+- result = (* client->requestVector[MAJOROP])(client);
++ result = (* client->requestVector[client->majorOp])(client);
+ XaceHookAuditEnd(client, result);
+ }
+ #ifdef XSERVER_DTRACE
+- XSERVER_REQUEST_DONE(LookupMajorName(MAJOROP), MAJOROP,
++ XSERVER_REQUEST_DONE(LookupMajorName(client->majorOp), client->majorOp,
+ client->sequence, client->index, result);
+ #endif
+
+@@ -444,8 +459,8 @@ Dispatch(void)
+ }
+ else if (result != Success)
+ {
+- SendErrorToClient(client, MAJOROP,
+- MinorOpcodeOfRequest(client),
++ SendErrorToClient(client, client->majorOp,
++ client->minorOp,
+ client->errorValue, result);
+ break;
+ }
+@@ -466,8 +481,6 @@ Dispatch(void)
+ SmartScheduleLatencyLimited = 0;
+ }
+
+-#undef MAJOROP
+-
+ static int VendorRelease = VENDOR_RELEASE;
+ static char *VendorString = VENDOR_NAME;
+
+diff --git a/dix/extension.c b/dix/extension.c
+index c7bbac5..b677cdb 100644
+--- a/dix/extension.c
++++ b/dix/extension.c
+@@ -228,20 +228,6 @@ StandardMinorOpcode(ClientPtr client)
+ return ((xReq *)client->requestBuffer)->data;
+ }
+
+-unsigned short
+-MinorOpcodeOfRequest(ClientPtr client)
+-{
+- unsigned char major;
+-
+- major = ((xReq *)client->requestBuffer)->reqType;
+- if (major < EXTENSION_BASE)
+- return 0;
+- major -= EXTENSION_BASE;
+- if (major >= NumExtensions)
+- return 0;
+- return (*extensions[major]->MinorOpcode)(client);
+-}
+-
+ void
+ CloseDownExtensions(void)
+ {
+diff --git a/include/dixstruct.h b/include/dixstruct.h
+index 6cc9614..0a85f40 100644
+--- a/include/dixstruct.h
++++ b/include/dixstruct.h
+@@ -122,6 +122,7 @@ typedef struct _Client {
+
+ DeviceIntPtr clientPtr;
+ ClientIdPtr clientIds;
++ unsigned short majorOp, minorOp;
+ } ClientRec;
+
+ /*
+diff --git a/include/extension.h b/include/extension.h
+index 29a11c3..9249951 100644
+--- a/include/extension.h
++++ b/include/extension.h
+@@ -52,8 +52,6 @@ _XFUNCPROTOBEGIN
+
+ extern _X_EXPORT unsigned short StandardMinorOpcode(ClientPtr /*client*/);
+
+-extern _X_EXPORT unsigned short MinorOpcodeOfRequest(ClientPtr /*client*/);
+-
+ extern _X_EXPORT Bool EnableDisableExtension(char *name, Bool enable);
+
+ extern _X_EXPORT void EnableDisableExtensionError(char *name, Bool enable);
+diff --git a/record/record.c b/record/record.c
+index 68311ac..4a0fe23 100644
+--- a/record/record.c
++++ b/record/record.c
+@@ -546,7 +546,7 @@ RecordARequest(ClientPtr client)
+ }
+ else /* extension, check minor opcode */
+ {
+- int minorop = MinorOpcodeOfRequest(client);
++ int minorop = client->minorOp;
+ int numMinOpInfo;
+ RecordMinorOpPtr pMinorOpInfo = pRCAP->pRequestMinOpInfo;
+
+@@ -603,12 +603,9 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
+ RecordContextPtr pContext;
+ RecordClientsAndProtocolPtr pRCAP;
+ int eci;
+- int majorop;
+ ReplyInfoRec *pri = (ReplyInfoRec *)calldata;
+ ClientPtr client = pri->client;
+- REQUEST(xReq);
+
+- majorop = stuff->reqType;
+ for (eci = 0; eci < numEnabledContexts; eci++)
+ {
+ pContext = ppAllContexts[eci];
+@@ -616,6 +613,7 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
+ NULL);
+ if (pRCAP)
+ {
++ int majorop = client->majorOp;
+ if (pContext->continuedReply)
+ {
+ RecordAProtocolElement(pContext, client, XRecordFromServer,
+@@ -635,7 +633,7 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
+ }
+ else /* extension, check minor opcode */
+ {
+- int minorop = MinorOpcodeOfRequest(client);
++ int minorop = client->minorOp;
+ int numMinOpInfo;
+ RecordMinorOpPtr pMinorOpInfo = pRCAP->pReplyMinOpInfo;
+ assert (pMinorOpInfo);
diff --git a/testing/xorg-server/xvfb-run b/testing/xorg-server/xvfb-run
new file mode 100644
index 000000000..4c2f4e0d3
--- /dev/null
+++ b/testing/xorg-server/xvfb-run
@@ -0,0 +1,180 @@
+#!/bin/sh
+
+# $Id: xvfb-run 2027 2004-11-16 14:54:16Z branden $
+
+# This script starts an instance of Xvfb, the "fake" X server, runs a command
+# with that server available, and kills the X server when done. The return
+# value of the command becomes the return value of this script.
+#
+# If anyone is using this to build a Debian package, make sure the package
+# Build-Depends on xvfb, xbase-clients, and xfonts-base.
+
+set -e
+
+PROGNAME=xvfb-run
+SERVERNUM=99
+AUTHFILE=
+ERRORFILE=/dev/null
+STARTWAIT=3
+XVFBARGS="-screen 0 640x480x8"
+LISTENTCP="-nolisten tcp"
+XAUTHPROTO=.
+
+# Query the terminal to establish a default number of columns to use for
+# displaying messages to the user. This is used only as a fallback in the event
+# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the
+# script is running, and this cannot, only being calculated once.)
+DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true
+if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then
+ DEFCOLUMNS=80
+fi
+
+# Display a message, wrapping lines at the terminal width.
+message () {
+ echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS}
+}
+
+# Display an error message.
+error () {
+ message "error: $*" >&2
+}
+
+# Display a usage message.
+usage () {
+ if [ -n "$*" ]; then
+ message "usage error: $*"
+ fi
+ cat <<EOF
+Usage: $PROGNAME [OPTION ...] COMMAND
+Run COMMAND (usually an X client) in a virtual X server environment.
+Options:
+-a --auto-servernum try to get a free server number, starting at
+ --server-num
+-e FILE --error-file=FILE file used to store xauth errors and Xvfb
+ output (default: $ERRORFILE)
+-f FILE --auth-file=FILE file used to store auth cookie
+ (default: ./.Xauthority)
+-h --help display this usage message and exit
+-n NUM --server-num=NUM server number to use (default: $SERVERNUM)
+-l --listen-tcp enable TCP port listening in the X server
+-p PROTO --xauth-protocol=PROTO X authority protocol name to use
+ (default: xauth command's default)
+-s ARGS --server-args=ARGS arguments (other than server number and
+ "-nolisten tcp") to pass to the Xvfb server
+ (default: "$XVFBARGS")
+-w DELAY --wait=DELAY delay in seconds to wait for Xvfb to start
+ before running COMMAND (default: $STARTWAIT)
+EOF
+}
+
+# Find a free server number by looking at .X*-lock files in /tmp.
+find_free_servernum() {
+ # Sadly, the "local" keyword is not POSIX. Leave the next line commented in
+ # the hope Debian Policy eventually changes to allow it in /bin/sh scripts
+ # anyway.
+ #local i
+
+ i=$SERVERNUM
+ while [ -f /tmp/.X$i-lock ]; do
+ i=$(($i + 1))
+ done
+ echo $i
+}
+
+# Clean up files
+clean_up() {
+ if [ -e "$AUTHFILE" ]; then
+ XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >>"$ERRORFILE" 2>&1
+ fi
+ if [ -n "$XVFB_RUN_TMPDIR" ]; then
+ if ! rm -r "$XVFB_RUN_TMPDIR"; then
+ error "problem while cleaning up temporary directory"
+ exit 5
+ fi
+ fi
+}
+
+# Parse the command line.
+ARGS=$(getopt --options +ae:f:hn:lp:s:w: \
+ --long auto-servernum,error-file:,auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \
+ --name "$PROGNAME" -- "$@")
+GETOPT_STATUS=$?
+
+if [ $GETOPT_STATUS -ne 0 ]; then
+ error "internal error; getopt exited with status $GETOPT_STATUS"
+ exit 6
+fi
+
+eval set -- "$ARGS"
+
+while :; do
+ case "$1" in
+ -a|--auto-servernum) SERVERNUM=$(find_free_servernum) ;;
+ -e|--error-file) ERRORFILE="$2"; shift ;;
+ -f|--auth-file) AUTHFILE="$2"; shift ;;
+ -h|--help) SHOWHELP="yes" ;;
+ -n|--server-num) SERVERNUM="$2"; shift ;;
+ -l|--listen-tcp) LISTENTCP="" ;;
+ -p|--xauth-protocol) XAUTHPROTO="$2"; shift ;;
+ -s|--server-args) XVFBARGS="$2"; shift ;;
+ -w|--wait) STARTWAIT="$2"; shift ;;
+ --) shift; break ;;
+ *) error "internal error; getopt permitted \"$1\" unexpectedly"
+ exit 6
+ ;;
+ esac
+ shift
+done
+
+if [ "$SHOWHELP" ]; then
+ usage
+ exit 0
+fi
+
+if [ -z "$*" ]; then
+ usage "need a command to run" >&2
+ exit 2
+fi
+
+if ! which xauth >/dev/null; then
+ error "xauth command not found"
+ exit 3
+fi
+
+# tidy up after ourselves
+trap clean_up EXIT
+
+# If the user did not specify an X authorization file to use, set up a temporary
+# directory to house one.
+if [ -z "$AUTHFILE" ]; then
+ XVFB_RUN_TMPDIR="$(mktemp -d -t $PROGNAME.XXXXXX)"
+ AUTHFILE="$XVFB_RUN_TMPDIR/Xauthority"
+fi
+
+# Start Xvfb.
+MCOOKIE=$(mcookie)
+XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1
+add :$SERVERNUM $XAUTHPROTO $MCOOKIE
+EOF
+XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \
+ 2>&1 &
+XVFBPID=$!
+sleep "$STARTWAIT"
+if ! kill -0 $XVFBPID 2>/dev/null; then
+ echo "Xvfb failed to start" >&2
+ exit 1
+fi
+
+# Start the command and save its exit status.
+set +e
+DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1
+RETVAL=$?
+set -e
+
+# Kill Xvfb now that the command has exited.
+kill $XVFBPID
+
+# Return the executed command's exit status.
+exit $RETVAL
+
+# vim:set ai et sts=4 sw=4 tw=80:
diff --git a/testing/xorg-server/xvfb-run.1 b/testing/xorg-server/xvfb-run.1
new file mode 100644
index 000000000..137d3a196
--- /dev/null
+++ b/testing/xorg-server/xvfb-run.1
@@ -0,0 +1,282 @@
+.\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $
+.\"
+.\" Copyright 1998-2004 Branden Robinson <branden@debian.org>.
+.\"
+.\" This is free software; you may redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2,
+.\" or (at your option) any later version.
+.\"
+.\" This is distributed in the hope that it will be useful, but
+.\" WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License with
+.\" the Debian operating system, in /usr/share/common-licenses/GPL; if
+.\" not, write to the Free Software Foundation, Inc., 59 Temple Place,
+.\" Suite 330, Boston, MA 02111-1307 USA
+.\"
+.\" We need the URL macro from groff's www macro package, but also want
+.\" things to work all right for people who don't have it. So we define
+.\" our own URL macro and let the www macro package override it if it's
+.\" available.
+.de URL
+\\$2 \(laURL: \\$1 \(ra\\$3
+..
+.if \n[.g] .mso www.tmac
+.TH xvfb\-run 1 "2004\-11\-12" "Debian Project"
+.SH NAME
+xvfb\-run \- run specified X client or command in a virtual X server environment
+.SH SYNOPSIS
+.B xvfb\-run
+[
+.I options
+]
+.I command
+.SH DESCRIPTION
+.B xvfb\-run
+is a wrapper for the
+.BR Xvfb (1x)
+command which simplifies the task of running commands (typically an X
+client, or a script containing a list of clients to be run) within a virtual
+X server environment.
+.PP
+.B xvfb\-run
+sets up an X authority file (or uses an existing user\-specified one),
+writes a cookie to it (see
+.BR xauth (1x))
+and then starts the
+.B Xvfb
+X server as a background process.
+The process ID of
+.B Xvfb
+is stored for later use.
+The specified
+.I command
+is then run using the X display corresponding to the
+.B Xvfb
+server
+just started and the X authority file created earlier.
+.PP
+When the
+.I command
+exits, its status is saved, the
+.B Xvfb
+server is killed (using the process ID stored earlier), the X authority
+cookie removed, and the authority file deleted (if the user did not specify
+one to use).
+.B xvfb\-run
+then exits with the exit status of
+.IR command .
+.PP
+.B xvfb\-run
+requires the
+.B xauth
+command to function.
+.SH OPTIONS
+.TP
+.B \-a\fR,\fB \-\-auto\-servernum
+Try to get a free server number, starting at 99, or the argument to
+.BR \-\-server\-num .
+.TP
+.BI \-e\ file \fR,\fB\ \-\-error\-file= file
+Store output from
+.B xauth
+and
+.B Xvfb
+in
+.IR file .
+The default is
+.IR /dev/null .
+.TP
+.BI \-f\ file \fR,\fB\ \-\-auth\-file= file
+Store X authentication data in
+.IR file .
+By default, a temporary directory called
+.IR xvfb\-run. PID
+(where PID is the process ID of
+.B xvfb\-run
+itself) is created in the directory specified by the environment variable
+.B TMPDIR
+(or
+.I /tmp
+if that variable is null or unset), and the
+.BR tempfile (1)
+command is used to create a file in that temporary directory called
+.IR Xauthority .
+.TP
+.B \-h\fR,\fB \-\-help
+Display a usage message and exit.
+.TP
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+Use
+.I servernumber
+as the server number (but see the
+.B \-a\fR,\fB \-\-auto\-servernum
+option above).
+The default is 99.
+.TP
+.B \-l\fR,\fB \-\-listen\-tcp
+Enable TCP port listening in the X server.
+For security reasons (to avoid denial\-of\-service attacks or exploits),
+TCP port listening is disabled by default.
+.TP
+.BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname
+Use
+.I protocolname
+as the X authority protocol to use.
+The default is \(oq.\(cq, which
+.B xauth
+interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1.
+.TP
+.BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments
+Pass
+.I arguments
+to the
+.B Xvfb
+server.
+Be careful to quote any whitespace characters that may occur within
+.I arguments
+to prevent them from regarded as separators for
+.BR xvfb\-run 's
+own arguments.
+Also, note that specification of \(oq\-nolisten tcp\(cq in
+.I arguments
+may override the function of
+.BR xvfb\-run 's
+own
+.B \-l\fR,\fB \-\-listen\-tcp
+option, and that specification of the server number (e.g., \(oq:1\(cq) may
+be ignored because of the way the X server parses its argument list.
+Use the
+.B xvfb\-run
+option
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+to achieve the latter function.
+The default is \(oq\-screen 0 640x480x8\(cq.
+.TP
+.BI \-w\ delay \fR,\fB\ \-\-wait= delay
+Wait
+.I delay
+seconds after launching
+.B Xvfb
+before attempting to start the specified command.
+The default is 3.
+.SH ENVIRONMENT
+.TP
+.B COLUMNS
+indicates the width of the terminal device in character cells.
+This value is used for formatting diagnostic messages.
+If not set, the terminal is queried using
+.BR stty (1)
+to determine its width.
+If that fails, a value of \(oq80\(cq is assumed.
+.TP
+.B TMPDIR
+specifies the directory in which to place
+.BR xvfb\-run 's
+temporary directory for storage of the X authority file; only used if the
+.B \-f
+or
+.B \-\-auth\-file
+options are not specified.
+.SH "OUTPUT FILES"
+.PP
+Unless the
+.B \-f
+or
+.B \-\-auth\-file
+options are specified, a temporary
+directory and file within it are created (and deleted) to store the X
+authority cookies used by the
+.B Xvfb
+server and client(s) run under it.
+See
+.BR tempfile (1).
+If \-f or \-\-auth\-file are used, then the specified X authority file is
+only written to, not created or deleted (though
+.B xauth
+creates an authority file itself if told to use use that does not already
+exist).
+.PP
+An error file with a user\-specified name is also created if the
+.B \-e
+or
+.B \-\-error\-file
+options are specifed; see above.
+.SH "EXIT STATUS"
+.B xvfb\-run
+uses its exit status as well as output to standard error to communicate
+diagnostics.
+The exit status of \(oq1\(cq is not used, and should be interpreted as failure
+of the specified command.
+.TP
+0
+.B xvfb\-run
+only uses this exit status if the
+.B \-h\fR,\fB \-\-help
+option is given.
+In all other situations, this may be interpreted as success of the specified
+command.
+.TP
+2
+No command to run was specified.
+.TP
+3
+The
+.B xauth
+command is not available.
+.TP
+4
+The temporary directory that was going to be used already exists; since
+.B xvfb\-run
+produces a uniquely named directory, this may indicate an attempt by another
+process on the system to exploit a temporary file race condition.
+.TP
+5
+A problem was encountered while cleaning up the temporary directory.
+.TP
+6
+A problem was encountered while using
+.BR getopt (1)
+to parse the command\-line arguments.
+.SH EXAMPLES
+.TP
+.B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo
+runs the
+.BR xlogo (1x)
+demonstration client inside the
+.B Xvfb
+X server on the first available server number greater than or equal to 1.
+.TP
+.B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces
+runs the
+.BR ico (1x)
+demonstration client (and passes it the
+.B \-faces
+argument) inside the
+.B Xvfb
+X server, configured with a root window of 1024 by 768 pixels and a color
+depth of 24 bits.
+.PP
+Note that the demo X clients used in the above examples will not exit on
+their own, so they will have to be killed before
+.B xvfb\-run
+will exit.
+.SH BUGS
+See
+.URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" .
+If you wish to report a bug in
+.BR xvfb\-run ,
+please use the
+.BR reportbug (1)
+command.
+.SH AUTHOR
+.B xfvb\-run
+was written by Branden Robinson and Jeff Licquia with sponsorship from
+Progeny Linux Systems.
+.SH "SEE ALSO"
+.BR Xvfb (1x),
+.BR xauth (1x)
+.\" vim:set et tw=80: