diff options
61 files changed, 1820 insertions, 1960 deletions
diff --git a/community/avant-window-navigator/688_687.diff b/community/avant-window-navigator/688_687.diff new file mode 100644 index 000000000..34c5b8fa4 --- /dev/null +++ b/community/avant-window-navigator/688_687.diff @@ -0,0 +1,23 @@ +=== modified file 'libawn/awn-applet-simple.c' +--- libawn/awn-applet-simple.c 2010-01-10 14:43:43 +0000 ++++ libawn/awn-applet-simple.c 2010-04-11 21:08:28 +0000 +@@ -393,16 +393,16 @@ + GStrv states, + GStrv icon_names) + { +- gchar *applet_name; ++ gchar *applet_name=NULL; + + g_return_if_fail (AWN_IS_APPLET_SIMPLE (applet)); +- g_return_if_fail (applet_name); + g_return_if_fail (states); + g_return_if_fail (icon_names); + + g_object_get (applet, + "canonical-name",&applet_name, + NULL); ++ g_return_if_fail (applet_name); + applet->priv->last_set_icon = ICON_THEMED_MANY; + awn_themed_icon_set_size (AWN_THEMED_ICON (applet->priv->icon), + awn_applet_get_size (AWN_APPLET (applet))); + diff --git a/community/avant-window-navigator/821_820.diff b/community/avant-window-navigator/821_820.diff new file mode 100644 index 000000000..bd8c5b279 --- /dev/null +++ b/community/avant-window-navigator/821_820.diff @@ -0,0 +1,96 @@ +=== modified file 'awn-settings/awnClass.py' +--- awn-settings/awnClass.py 2010-08-24 00:21:51 +0000 ++++ awn-settings/awnClass.py 2011-02-13 23:43:42 +0000 +@@ -53,9 +53,13 @@ + import tempfile + import dbus + +-from bzrlib import branch +-from bzrlib.builtins import cmd_branch, cmd_pull +-from bzrlib.plugins.launchpad.lp_directory import LaunchpadDirectory ++try: ++ from bzrlib import branch ++ from bzrlib.builtins import cmd_branch, cmd_pull ++ from bzrlib.plugins.launchpad.lp_directory import LaunchpadDirectory ++ support_bzr = True ++except: ++ support_bzr = False + + defs.i18nize(globals()) + +@@ -127,8 +131,11 @@ + path: a url from a branch + return: the http format of a lp: format, or the same url + ''' +- directory = LaunchpadDirectory() +- return directory._resolve(path).replace("bzr+ssh","http") ++ if support_bzr == True: ++ directory = LaunchpadDirectory() ++ return directory._resolve(path).replace("bzr+ssh","http") ++ else: ++ return path + + def read_list(self, file_path): + ''' Read a flat file and return the content in a list +@@ -148,34 +155,44 @@ + path: the path of the branch + bzr_dir: the location of the futur tree. + ''' +- if os.path.exists(path): +- print ("Error, the path already exist") ++ if support_bzr == False: ++ print (_("Bzr support is not enable, try to install bzr")) + else: +- try: +- bzr_branch = cmd_branch() +- status = StringIO() +- status = bzr_branch._setup_outf() +- bzr_branch.run(from_location=self.lp_path_normalize(bzr_dir), to_location=path) +- except socket.gaierror: +- print 'Socket error, could not create branch.' ++ if os.path.exists(path): ++ print (_("Error, the path already exist")) ++ else: ++ try: ++ bzr_branch = cmd_branch() ++ status = StringIO() ++ status = bzr_branch._setup_outf() ++ bzr_branch.run(from_location=self.lp_path_normalize(bzr_dir), to_location=path) ++ except socket.gaierror: ++ print (_('Socket error, could not create branch.')) + + def update_branch(self, path): + ''' Update a local branch + path: Location of the branch + Return the output of the command + ''' +- bzr_pull = cmd_pull() +- status = StringIO() +- status = bzr_pull._setup_outf() +- bzr_pull.run(directory=path) ++ if support_bzr == False: ++ print (_("Bzr support is not enable, try to install bzr")) ++ else: ++ bzr_pull = cmd_pull() ++ status = StringIO() ++ status = bzr_pull._setup_outf() ++ bzr_pull.run(directory=path) + + def get_revision_from_path(self, path): + ''' Return the last revision number of the branch + specify with path parameter + ''' +- tree = branch.Branch.open(path) +- revision_number, revision_id = tree.last_revision_info() +- return revision_number ++ if support_bzr == False: ++ print (_("Bzr support is not enable, try to install bzr")) ++ return 0 ++ else: ++ tree = branch.Branch.open(path) ++ revision_number, revision_id = tree.last_revision_info() ++ return revision_number + + #Sources.list + def dict_from_sources_list(self, config=defs.HOME_CONFIG_DIR): + diff --git a/community/avant-window-navigator/824_823.diff b/community/avant-window-navigator/824_823.diff new file mode 100644 index 000000000..290b4ad6d --- /dev/null +++ b/community/avant-window-navigator/824_823.diff @@ -0,0 +1,40 @@ +=== modified file 'applets/taskmanager/task-manager.c' +--- applets/taskmanager/task-manager.c 2011-01-15 16:44:44 +0000 ++++ applets/taskmanager/task-manager.c 2011-03-12 21:42:33 +0000 +@@ -1611,11 +1611,6 @@ + g_debug ("%s: Window opened: %s",__func__,wnck_window_get_name (window)); + g_debug ("xid = %lu, pid = %d",wnck_window_get_xid (window),wnck_window_get_pid (window)); + #endif +- /* +- for some reason the skip tasklist property for the taskmanager toggles briefly +- off and on in certain circumstances. Nip this in the bud. +- TODO: Investigate wth this is happening... it bothers me. +- */ + // if ( wnck_window_get_pid (window) == getpid() || + if ( g_strcmp0 (wnck_window_get_name (window),"awn-applet")==0 ) + { +@@ -1626,11 +1621,6 @@ + */ + g_signal_connect (window, "state-changed", G_CALLBACK (on_window_state_changed), manager); + +- if (wnck_window_is_skip_tasklist (window)) +- { +- return; +- } +- + g_signal_connect (window, "state-changed", + G_CALLBACK (check_attention_requested), manager); + +@@ -1798,6 +1787,11 @@ + g_return_if_fail (TASK_IS_MANAGER (manager)); + g_return_if_fail (WNCK_IS_WINDOW (window)); + ++ if (wnck_window_is_skip_tasklist(window)) ++ { ++ return; ++ } ++ + _wnck_get_wmclass (wnck_window_get_xid (window), + &res_name, &class_name); + if (get_special_wait_from_window_data (res_name, + diff --git a/community/avant-window-navigator/PKGBUILD b/community/avant-window-navigator/PKGBUILD new file mode 100644 index 000000000..8f8562a69 --- /dev/null +++ b/community/avant-window-navigator/PKGBUILD @@ -0,0 +1,67 @@ +# $Id: PKGBUILD 79700 2012-11-11 10:30:00Z bgyorgy $ +# Maintainer: Balló György <ballogyor+arch at gmail dot com> +# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> +# Contributor: Timm Preetz <timm@preetz.us> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=avant-window-navigator +pkgver=0.4.0 +pkgrel=13 +pkgdesc="Fully customisable dock-like window navigator for GNOME" +arch=('i686' 'x86_64') +url="https://launchpad.net/awn" +license=('GPL') +depends=('libdesktop-agnostic' 'libwnck' 'libgtop' 'gconf' 'python2-dbus' 'pygtk' 'python2-xdg' 'hicolor-icon-theme' 'xdg-utils') +makedepends=('gtk-doc' 'vala' 'intltool') +options=('!libtool') +install=$pkgname.install +source=(http://launchpad.net/awn/0.4/$pkgver/+download/$pkgname-$pkgver.tar.gz + 688_687.diff + 821_820.diff + 824_823.diff) +md5sums=('03654b45dd95cbb83fa7e112bd00523c' + '6b05ccb539f811729820d5545eb50d6e' + '2cc0ecf9fccb6e559a98003715ebf6df' + 'd068c19503b7be1868bcce5dab003628') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + # Fix uninitialised pointer + # https://bugs.launchpad.net/awn/+bug/562499 + patch -Np0 -i "$srcdir/688_687.diff" + + # Remove bzr dependency + # https://bugs.launchpad.net/awn/+bug/707863 + patch -Np0 -i "$srcdir/821_820.diff" + + # Hide windows with skip taskbar state + # https://bugs.launchpad.net/awn/+bug/707863 + patch -Np0 -i "$srcdir/824_823.diff" + + # Python2 fix + sed -i 's@^#!.*python$@#!/usr/bin/python2@' awn-settings/{awnSettings.py.in,awnSettingsHelper.py} + sed -i 's/with ("python"/with ("python2"/' applet-activation/main.c + + autoreconf -fi + ./configure --prefix=/usr --sysconfdir=/etc \ + --disable-static \ + PYTHON=/usr/bin/python2 + make +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + + make check +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install + + install -m755 -d "$pkgdir/usr/share/gconf/schemas" + gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/awn.schemas" "$pkgdir"/etc/gconf/schemas/*.schemas + rm -r "$pkgdir/etc" +} diff --git a/community/avant-window-navigator/avant-window-navigator.install b/community/avant-window-navigator/avant-window-navigator.install new file mode 100644 index 000000000..f5473a092 --- /dev/null +++ b/community/avant-window-navigator/avant-window-navigator.install @@ -0,0 +1,22 @@ +pkgname=awn + +post_install() { + gconfpkg --install $pkgname + xdg-icon-resource forceupdate +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + gconfpkg --uninstall $pkgname +} + +post_remove() { + xdg-icon-resource forceupdate +} diff --git a/community/dbmail/PKGBUILD b/community/dbmail/PKGBUILD index 353e234cd..aab40ea7e 100644 --- a/community/dbmail/PKGBUILD +++ b/community/dbmail/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 79626 2012-11-09 09:24:51Z spupykin $ +# $Id: PKGBUILD 79734 2012-11-11 19:36:41Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Sebastian Faltoni <sebastian.faltoni@gmail.com> pkgname=dbmail pkgver=3.0.2 -pkgrel=6 +pkgrel=7 pkgdesc="Fast and scalable sql based mail services" arch=('i686' 'x86_64' 'mips64el') depends=('gmime24' 'libzdb' 'mhash' 'libevent') @@ -22,6 +22,7 @@ backup=(etc/conf.d/dbmail) source=(http://www.dbmail.org/download/3.0/dbmail-${pkgver/_/-}.tar.gz dbmail.conf.d dbmail.rc.d + dbmail.tmpfiles dbmail-imapd.service dbmail-lmtpd.service dbmail-pop3d.service @@ -29,6 +30,7 @@ source=(http://www.dbmail.org/download/3.0/dbmail-${pkgver/_/-}.tar.gz md5sums=('eb32235abffdf967253ee9d004e0e4a9' 'e7f72bc360decdb2475266391ad12329' '30774513fb016b9da08e9cf6f2a0b8e7' + 'c4b5793c5422b62a675d4c66ff7e9300' '84efa46eaac66057c4eb131d9bc27fa8' '19560277f6a56d1f3f2fdb02315dcf0f' '89a0f793737eaf36291409f8c840891e' @@ -58,4 +60,5 @@ package() { install -Dm0644 $srcdir/dbmail-lmtpd.service $pkgdir/usr/lib/systemd/system/dbmail-lmtpd.service install -Dm0644 $srcdir/dbmail-pop3d.service $pkgdir/usr/lib/systemd/system/dbmail-pop3d.service install -Dm0644 $srcdir/dbmail-timsieved.service $pkgdir/usr/lib/systemd/system/dbmail-timsieved.service + install -Dm0644 $srcdir/dbmail.tmpfiles $pkgdir/usr/lib/tmpfiles.d/dbmail.conf } diff --git a/community/dbmail/dbmail.tmpfiles b/community/dbmail/dbmail.tmpfiles new file mode 100644 index 000000000..4b97c91f5 --- /dev/null +++ b/community/dbmail/dbmail.tmpfiles @@ -0,0 +1 @@ +d /run/dbmail 0755 nobody nobody - diff --git a/community/dcron/PKGBUILD b/community/dcron/PKGBUILD index 6d9107715..03c03a08c 100644 --- a/community/dcron/PKGBUILD +++ b/community/dcron/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 72785 2012-06-22 12:49:56Z dreisner $ +# $Id: PKGBUILD 79754 2012-11-11 21:14:11Z spupykin $ # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: Paul Mattal <paul.archlinux.org> pkgname=dcron pkgver=4.5 -pkgrel=3 +pkgrel=4 pkgdesc="dillon's lightweight cron daemon" arch=('i686' 'x86_64' 'mips64el') license=('GPL') @@ -18,7 +18,7 @@ install=$pkgname.install source=(http://www.jimpryor.net/linux/releases/${pkgname}-${pkgver}.tar.gz service) md5sums=('078833f3281f96944fc30392b1888326' - '5a68a7aee883738e7f7f8549481bb297') + 'e43c3d758384ac644f5e19f460ab5f46') build() { cd "$srcdir/${pkgname}-${pkgver}" diff --git a/community/dcron/service b/community/dcron/service index 59fc64b80..47265791e 100644 --- a/community/dcron/service +++ b/community/dcron/service @@ -5,6 +5,7 @@ Description=Periodic Command Scheduler Type=forking EnvironmentFile=/etc/conf.d/crond ExecStart=/usr/sbin/crond $CROND_ARGS +Restart=always [Install] WantedBy=multi-user.target diff --git a/community/fcitx-anthy/PKGBUILD b/community/fcitx-anthy/PKGBUILD new file mode 100644 index 000000000..0adcca773 --- /dev/null +++ b/community/fcitx-anthy/PKGBUILD @@ -0,0 +1,32 @@ +# $Id$ +# Maintainer: Felix Yan <felixonmars@gmail.com> +# Contributor: lh <jason52lh@gmail.com> + +pkgname=fcitx-anthy +pkgver=0.1.1 +pkgrel=1 +pkgdesc="Fcitx Wrapper for anthy." +arch=('i686' 'x86_64') +url="http://code.google.com/p/fcitx" +license=('GPL') +depends=('fcitx>=4.2.5' 'anthy') +makedepends=('cmake' 'intltool') +source=("http://fcitx.googlecode.com/files/${pkgname}-${pkgver}.tar.xz") +install='fcitx-anthy.install' + +build(){ + cd "$srcdir"/${pkgname}-${pkgver} + + rm -rf build + mkdir build + cd build + + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. + make +} + +package() { + cd "$srcdir"/${pkgname}-${pkgver}/build + make DESTDIR=${pkgdir} install +} +md5sums=('651e9a21e5203c14ca0968c63a820157') diff --git a/community/fcitx-anthy/fcitx-anthy.install b/community/fcitx-anthy/fcitx-anthy.install new file mode 100644 index 000000000..c0797237a --- /dev/null +++ b/community/fcitx-anthy/fcitx-anthy.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/community/fcitx-chewing/PKGBUILD b/community/fcitx-chewing/PKGBUILD new file mode 100644 index 000000000..bb6154d8a --- /dev/null +++ b/community/fcitx-chewing/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 79762 2012-11-12 02:32:12Z fyan $ +# Maintainer: Felix Yan <felixonmars@gmail.com> + +pkgname=fcitx-chewing +pkgver=0.1.3 +pkgrel=1 +pkgdesc="Fcitx Wrapper for chewing" +arch=('i686' 'x86_64') +url="https://github.com/fcitx/fcitx-chewing" +license=('GPL') +depends=('libchewing' 'fcitx>=4.2.6') +makedepends=('cmake' 'intltool') +source=(http://fcitx.googlecode.com/files/${pkgname}-${pkgver}.tar.xz) + +build() { + cd "$srcdir"/${pkgname}-${pkgver} + rm -rf build + mkdir build + cd build + + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. + make +} + +package() { + cd "$srcdir"/${pkgname}-${pkgver}/build + make DESTDIR="$pkgdir" install +} +md5sums=('052e3f146b6e2805918c008005fc9591') diff --git a/community/fcitx-sunpinyin/PKGBUILD b/community/fcitx-sunpinyin/PKGBUILD new file mode 100644 index 000000000..bc69e7750 --- /dev/null +++ b/community/fcitx-sunpinyin/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 79725 2012-11-11 15:48:16Z fyan $ +# Maintainer: Felix Yan <felixonmars@gmail.com> + +pkgname=fcitx-sunpinyin +pkgver=0.3.9 +pkgrel=1 +pkgdesc="Fcitx Wrapper for sunpinyin." +arch=('i686' 'x86_64') +url="http://code.google.com/p/fcitx" +license=('GPL') +install='fcitx-sunpinyin.install' +depends=('fcitx>=4.2.5' 'sunpinyin>2.0.3') +makedepends=('cmake' 'intltool') +source=(http://fcitx.googlecode.com/files/${pkgname}-${pkgver}.tar.xz) +md5sums=('de221daa7b3790b22f5a95d7091d0e38') + +build() { + cd "$srcdir/${pkgname}-${pkgver}" + + rm -rf build + mkdir build + cd build + + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. + make +} + +package() { + cd "$srcdir/${pkgname}-${pkgver}/build" + make DESTDIR="${pkgdir}" install +} diff --git a/community/fcitx-sunpinyin/fcitx-sunpinyin.install b/community/fcitx-sunpinyin/fcitx-sunpinyin.install new file mode 100644 index 000000000..c0797237a --- /dev/null +++ b/community/fcitx-sunpinyin/fcitx-sunpinyin.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/community/gtkdatabox/PKGBUILD b/community/gtkdatabox/PKGBUILD index ffe6c1074..d6ddf73e1 100644 --- a/community/gtkdatabox/PKGBUILD +++ b/community/gtkdatabox/PKGBUILD @@ -1,24 +1,28 @@ -# $Id: PKGBUILD 73537 2012-07-09 10:13:52Z spupykin $ +# $Id: PKGBUILD 79742 2012-11-11 19:42:10Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: William Rea <sillywilly@gmail.com> pkgname=gtkdatabox -pkgver=0.9.1.3 +pkgver=0.9.2.0 pkgrel=1 pkgdesc="A widget for the Gtk+ library designed to display large amounts of numerical data" -arch=(i686 x86_64 'mips64el') -url="http://www.eudoxos.net/gtk/gtkdatabox" -options=('!libtool') +arch=(i686 x86_64 mips64el) +url="http://sourceforge.net/projects/gtkdatabox/" license=("LGPL") -depends=('gtk2') -#source=(http://www.eudoxos.net/gtk/gtkdatabox/download/gtkdatabox-$pkgver.tar.gz) +depends=('gtk2' 'libglade') +makedepends=('gtk-doc') +options=('!libtool' 'docs') source=(http://downloads.sourceforge.net/project/gtkdatabox/gtkdatabox/$pkgver/gtkdatabox-$pkgver.tar.gz) -md5sums=('60a3eebd61a4ca36879d7e60d1aca727') +md5sums=('99c1fe9a918ee94e2b6f967cd22a6f5b') build() { cd $srcdir/gtkdatabox-$pkgver - find -name 'Makefile*' -type f -exec sed -i 's#.*DISABLE_DEPRECATED\\#\\#' {} \; - LDFLAGS=-lm ./configure --prefix=/usr + export LDFLAGS=-lm + ./configure --prefix=/usr \ + --enable-gtk-doc \ + --enable-gtk-doc-html \ + --enable-gtk-doc-pdf \ + --enable-libglade make make DESTDIR=$pkgdir install } diff --git a/community/ibus-sunpinyin/PKGBUILD b/community/ibus-sunpinyin/PKGBUILD index 059a7a78b..d15c4ae9c 100644 --- a/community/ibus-sunpinyin/PKGBUILD +++ b/community/ibus-sunpinyin/PKGBUILD @@ -1,32 +1,52 @@ -# $Id: PKGBUILD 79175 2012-10-31 06:11:42Z ebelanger $ -# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> +# $Id: PKGBUILD 79729 2012-11-11 16:11:46Z fyan $ +# Maintainer: Felix Yan <felixonmars@gmail.com> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=ibus-sunpinyin -pkgver=2.0.3 -pkgrel=3 -pkgdesc='The SunPinYin Engine for IBus Input Framework. SunPinYin is a Statistical Language Model based pinyin IME by Sun.' +pkgver=2.0.3.20121107 +_commit=cf3fe3d7aa5bb7aa6aa5b870a759af468b6d5b2b +pkgrel=2 +pkgdesc="IBus Wrapper for sunpinyin." arch=('i686' 'x86_64' 'mips64el') -url='http://sunpinyin.googlecode.com' +url="http://sunpinyin.googlecode.com" license=('LGPL') -depends=('ibus' 'sunpinyin') -makedepends=('scons') -source=("http://sunpinyin.googlecode.com/files/ibus-sunpinyin-${pkgver}.tar.gz") -md5sums=('e678b2e1ac70c325cfc64c02fef7041f') +depends=('sunpinyin>2.0.3' 'ibus') +makedepends=('git' 'scons') + +__gitroot=git://github.com/sunpinyin/sunpinyin.git +__gitname=sunpinyin build() { - cd "${srcdir}/ibus-sunpinyin-${pkgver}" + cd "$srcdir" + msg "Connecting to GIT server...." + + if [ -d $__gitname ] ; then + cd $__gitname && git pull origin + msg "The local files are updated." + else + git clone $__gitroot + fi + + msg "GIT checkout done or server timeout" + msg "Starting make..." - sed -i 's/python/&2/' setup/ibus-setup-sunpinyin.in + rm -rf "$srcdir/$__gitname-build" + git clone "$srcdir/$__gitname" "$srcdir/$__gitname-build" + cd "$srcdir/$__gitname-build" + git checkout "$_commit" + cd "$srcdir/$__gitname-build/wrapper/ibus" + sed -i -e "s|python|python2|" setup/ibus-setup-sunpinyin.in + scons \ --prefix=/usr } package() { - cd "${srcdir}/ibus-sunpinyin-${pkgver}" + cd "$srcdir/$__gitname-build/wrapper/ibus" scons \ --prefix=/usr \ - --install-sandbox="${pkgdir}" \ + --install-sandbox="$pkgdir" \ install } diff --git a/community/ibus-table/PKGBUILD b/community/ibus-table/PKGBUILD index c7a05272b..404d48e59 100644 --- a/community/ibus-table/PKGBUILD +++ b/community/ibus-table/PKGBUILD @@ -1,10 +1,11 @@ -# $Id: PKGBUILD 56830 2011-10-14 06:44:36Z ebelanger $ +# $Id: PKGBUILD 79721 2012-11-11 15:10:35Z fyan $ +# Maintainer: Felix Yan <felixonmars@gmail.com> # Contributor: coderoar <coderoar@gmail.com> # Contributor: leemars <leemars@gmail.com> -# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=ibus-table -pkgver=1.3.9.20110827 +pkgver=1.4.99.20121112 pkgrel=1 pkgdesc='The IM Engine framework for table-based input methods, such as ZhengMa, WuBi, ErBi, CangJie and so on.' arch=('i686' 'x86_64' 'mips64el') @@ -12,7 +13,6 @@ url="http://code.google.com/p/ibus/" license=('LGPL') depends=('python2-pyenchant' 'ibus' 'aspell-en') source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz") -md5sums=('251e2c8ace8ed265d780b30755afc163') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -32,3 +32,4 @@ package() { make DESTDIR="${pkgdir}" install } +md5sums=('85c3a57bcbb052d3222c5b6d07e0e565') diff --git a/community/knemo/PKGBUILD b/community/knemo/PKGBUILD index 6289a0d67..cf19be57b 100644 --- a/community/knemo/PKGBUILD +++ b/community/knemo/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 79245 2012-11-01 17:28:21Z lcarlier $ +# $Id: PKGBUILD 79688 2012-11-11 05:39:50Z lcarlier $ # Maintainer: Laurent Carlier <lordheavym@gmail.com> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Stefano Zamprogno <stefano dot zamprogno at gmail dot com> pkgname=knemo -pkgver=0.7.4 +pkgver=0.7.5 pkgrel=1 pkgdesc="The KDE Network Monitor" arch=('i686' 'x86_64' 'mips64el') @@ -16,7 +16,7 @@ makedepends=('cmake' 'automoc4') install=${pkgname}.install options=('libtool') source=("http://www.kde-apps.org/CONTENT/content-files/12956-${pkgname}-${pkgver}.tar.bz2") -md5sums=('e6e9aeef6e0fcd934abe000090771fd9') +md5sums=('fc316e8492d97ffc00fc2e2c6caf136d') build() { cd ${srcdir} diff --git a/community/libdesktop-agnostic/PKGBUILD b/community/libdesktop-agnostic/PKGBUILD new file mode 100644 index 000000000..e6848d808 --- /dev/null +++ b/community/libdesktop-agnostic/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 79732 2012-11-11 19:02:50Z bgyorgy $ +# Maintainer: Balló György <ballogyor+arch at gmail dot com> +# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=libdesktop-agnostic +pkgver=0.3.92 +pkgrel=5 +pkgdesc="Provides an extensible config API, a unified virtual fs API, and a desktop item editor for GLib-based projects" +arch=('i686' 'x86_64') +url="https://launchpad.net/libdesktop-agnostic" +license=('GPL' 'LGPL') +depends=('pygtk') +makedepends=('intltool' 'vala' 'gconf' 'gobject-introspection') +optdepends=('gconf: gconf configuration backend') +options=('!libtool') +backup=(etc/xdg/libdesktop-agnostic/desktop-agnostic.ini) +source=(https://launchpad.net/$pkgname/0.4/$pkgver/+download/$pkgname-$pkgver.tar.gz) +md5sums=('42374d226a21d57637f97173f6b105a1') + +build() { + cd "$srcdir/$pkgname-$pkgver" + export PYTHON=/usr/bin/python2 + + python2 ./waf configure --prefix=/usr --sysconfdir=/etc \ + --config-backends=gconf,keyfile \ + --vfs-backends=gio \ + --desktop-entry-backends=gio,glib + python2 ./waf +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + python2 ./waf install --destdir="$pkgdir" +} diff --git a/community/pdns/PKGBUILD b/community/pdns/PKGBUILD index ebfcc7fd2..1f2e15ba5 100644 --- a/community/pdns/PKGBUILD +++ b/community/pdns/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 79608 2012-11-08 22:00:36Z arodseth $ +# $Id: PKGBUILD 79756 2012-11-12 00:04:11Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=pdns pkgver=3.1 -pkgrel=1 +pkgrel=2 pkgdesc="Modern, advanced and high performance authoritative-only nameserver" arch=('x86_64' 'i686') url='http://www.powerdns.com/' license=('GPL') -depends=('gcc-libs' 'zlib' 'postgresql-libs' 'libmysqlclient' 'sqlite' 'libldap' 'lua' 'boost-libs') +depends=('gcc-libs' 'zlib' 'postgresql-libs' 'libmysqlclient' 'sqlite' 'libldap' 'lua' 'boost-libs' 'openmpi' 'hwloc') makedepends=('boost') provides=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql') replaces=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql') @@ -24,7 +24,7 @@ source=("http://downloads.powerdns.com/releases/$pkgname-$pkgver.tar.gz" sha256sums=('1400f7bd659207c0b1f4b8296092e559a7b7bf6a2434951970217d9af06922a1' '2a60c4407bcfe19026ae77d3e3b7b477d5a0c6323c0bc78892e9d907003b442a' '0457ffa2baa40518a03393e4f76964d9452c16aebbcb925582814f88367d62c2' - 'e3de30584436a063cdff4b4ca77044da06a0737fc333847b3da89370cf763c0c') + '91c8889f41fe9d6bc9478c3ad53a10f6725e36e10f05e8e9257f9d35c9e2bab6') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/pdns/pdns.conf b/community/pdns/pdns.conf index 1bf24e73f..fba6617a6 100644 --- a/community/pdns/pdns.conf +++ b/community/pdns/pdns.conf @@ -279,12 +279,3 @@ webserver=no # # webserver-print-arguments=no -################################# -# wildcard-url Process URL and MBOXFW records -# -# wildcard-url=no - -################################# -# wildcards Honor wildcards in the database -# -wildcards=yes diff --git a/community/puzzles/PKGBUILD b/community/puzzles/PKGBUILD index 8dc7976e6..7a7e9896e 100644 --- a/community/puzzles/PKGBUILD +++ b/community/puzzles/PKGBUILD @@ -3,7 +3,7 @@ # Maintainer: schuay <jakob.gruber@gmail.com> pkgname=puzzles -pkgver=9682 +pkgver=9694 pkgrel=1 pkgdesc="Simon Tatham's Portable Puzzle Collection" arch=('i686' 'x86_64' 'mips64el') @@ -38,4 +38,4 @@ package() { mv ${pkgdir}/usr/bin/blackbox ${pkgdir}/usr/bin/puzzles-blackbox } -md5sums=('2a592b4c43d24504be327367008807f7') +md5sums=('f5e7b7b2a1bab3c939bb03e4ff8201c1') diff --git a/community/radeontool/PKGBUILD b/community/radeontool/PKGBUILD index f30ae7313..4842a5ea7 100644 --- a/community/radeontool/PKGBUILD +++ b/community/radeontool/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 64970 2012-02-19 08:18:34Z lcarlier $ +# $Id: PKGBUILD 79686 2012-11-11 05:31:16Z lcarlier $ # Maintainer : Laurent Carlier <lordheavym AT gmail DOT com> pkgname=radeontool -pkgver=1.6.2 -pkgrel=2 +pkgver=1.6.3 +pkgrel=1 pkgdesc="Lowlevel tools to tweak register and dump state on radeon GPUs" url="http://airlied.livejournal.com/" arch=('i686' 'x86_64' 'mips64el') @@ -11,7 +11,7 @@ license=('ZLIB') source=(http://people.freedesktop.org/~airlied/radeontool/${pkgname}-${pkgver}.tar.gz license.txt) depends=('libpciaccess') -md5sums=('535cf712cd609c361291dd59ca2664aa' +md5sums=('e4bd75da852840a02cb2290804abd717' 'cc74a55d8e998ca9a2537a0ab78bc582') build() { diff --git a/community/shotwell/PKGBUILD b/community/shotwell/PKGBUILD index 8ae26b341..031e9bc08 100644 --- a/community/shotwell/PKGBUILD +++ b/community/shotwell/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 79217 2012-11-01 09:41:09Z spupykin $ +# $Id: PKGBUILD 79739 2012-11-11 19:39:26Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com> pkgname=shotwell pkgver=0.13.1 -pkgrel=2 +pkgrel=3 pkgdesc="A digital photo organizer designed for the GNOME desktop environment" arch=('i686' 'x86_64' 'mips64el') url="http://yorba.org/shotwell/" license=('LGPL2.1') depends=('libgee' 'libunique3' 'libwebkit3' 'libgexiv2' 'libraw' 'rest' 'desktop-file-utils' 'dconf' 'hicolor-icon-theme' 'json-glib' - 'gstreamer0.10-base-plugins') + 'gstreamer0.10-base-plugins' 'libgphoto2') makedepends=('intltool' 'vala>=0.17.2') install=shotwell.install source=("http://yorba.org/download/shotwell/0.13/shotwell-${pkgver}.tar.xz" diff --git a/community/sunpinyin/PKGBUILD b/community/sunpinyin/PKGBUILD index 02e4e25dc..ca1ba26bc 100644 --- a/community/sunpinyin/PKGBUILD +++ b/community/sunpinyin/PKGBUILD @@ -1,15 +1,16 @@ -# $Id: PKGBUILD 79672 2012-11-11 01:07:47Z fyan $ +# $Id: PKGBUILD 79715 2012-11-11 14:12:03Z fyan $ # Maintainer: Felix Yan <felixonmars@gmail.com> # Contributor: Thomas Dziedzic < gostrc at gmail > -pkgname=('sunpinyin' 'sunpinyin-data') -pkgbase=sunpinyin +pkgname=sunpinyin pkgver=2.0.3.20121107 _commit=cf3fe3d7aa5bb7aa6aa5b870a759af468b6d5b2b pkgrel=1 arch=('i686' 'x86_64' 'mips64el') -url="http://sunpinyin.googlecode.com" +pkgdesc="Statistical Language Model based pinyin IME by Sun" license=('LGPL' 'APACHE') +url="http://sunpinyin.googlecode.com" +depends=('sqlite' 'make' 'gcc-libs') makedepends=('git' 'scons' 'intltool') source=('http://open-gram.googlecode.com/files/lm_sc.t3g.arpa-20121025.tar.bz2' 'http://open-gram.googlecode.com/files/dict.utf8-20120830.tar.bz2') @@ -53,23 +54,14 @@ build() { make } -package_sunpinyin() { - pkgdesc="Statistical Language Model based pinyin IME by Sun" - depends=('sqlite' 'make' 'gcc-libs' "sunpinyin-data") - arch=('i686' 'x86_64') +package() { cd "$srcdir/$__gitname-build" scons \ --prefix=/usr \ --install-sandbox="$pkgdir" \ install -} -package_sunpinyin-data() { - pkgver=2.0.3.20121025 - pkgdesc="Statistical Language Model based pinyin IME by Sun - Data files" - depends=("sunpinyin") - arch=('any') cd "$srcdir/$__gitname-build/raw" make DESTDIR="$pkgdir" install } diff --git a/core/iputils/PKGBUILD b/core/iputils/PKGBUILD index 457144791..663a739b6 100644 --- a/core/iputils/PKGBUILD +++ b/core/iputils/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 170249 2012-11-06 11:26:55Z stephane $ +# $Id: PKGBUILD 170801 2012-11-11 22:35:51Z stephane $ # Maintainer: Stéphane Gaudreault <stephane@archlinux.org> # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Aaron Griffin <aaron@archlinux.org> pkgname=iputils -pkgver=20121011 -pkgrel=2 +pkgver=20121106 +pkgrel=1 pkgdesc="IP Configuration Utilities (and Ping)" arch=('i686' 'x86_64' 'mips64el') license=('GPL') @@ -18,13 +18,10 @@ conflicts=('netkit-base' 'arping' 'netkit-tftpd') replaces=('netkit-base') backup=(etc/xinetd.d/tftp) install=${pkgname}.install -source=(http://www.skbuff.net/${pkgname}/${pkgname}-s${pkgver}.tar.bz2 tftp.xinetd - iputils-20101006-ping-integer-overflow.patch - iputils-20121011-flood.patch) -sha1sums=('3e85179746fd93000d6267bd55addfe97f321ba7' - 'fc2ae26f5609725e3f4aeaf4ab82dfa6d2e378fd' - 'ec78574d798b53e4f8bdd37e42514fc17ed71667' - '2343edf0dce28030e43305cefedd60806bb58eae') +source=(http://www.skbuff.net/${pkgname}/${pkgname}-s${pkgver}.tar.bz2 + tftp.xinetd) +sha1sums=('9570832f3945bb5f0e89f5837facc8fdca3b7769' + 'fc2ae26f5609725e3f4aeaf4ab82dfa6d2e378fd') build() { cd "${srcdir}/${pkgname}-s${pkgver}" @@ -32,12 +29,6 @@ build() { # Use our CFLAGS sed -i -e "/^CCOPT=/s|-O2|${CFLAGS}|" Makefile - # FS#28897 - patch -Np1 -i ../iputils-20101006-ping-integer-overflow.patch - - # FS#32306 - patch -Np1 -i ../iputils-20121011-flood.patch - make cd doc @@ -72,5 +63,3 @@ package() { install -dm755 "${pkgdir}"/etc/xinetd.d/ install -m644 "${srcdir}"/tftp.xinetd "${pkgdir}"/etc/xinetd.d/tftp } - -# vim:set ts=2 sw=2 et: diff --git a/extra/cairo/PKGBUILD b/extra/cairo/PKGBUILD index fc6acc042..be3763e1e 100644 --- a/extra/cairo/PKGBUILD +++ b/extra/cairo/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 170234 2012-11-05 16:24:33Z andyrtr $ +# $Id: PKGBUILD 170782 2012-11-11 10:23:13Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Brice Carpentier <brice@daknet.org> pkgname=cairo pkgver=1.12.8 -pkgrel=1 +pkgrel=2 pkgdesc="Cairo vector graphics library" arch=(i686 x86_64 'mips64el') license=('LGPL' 'MPL') url="http://cairographics.org/" -depends=('libpng' 'libxrender' 'libxext' 'fontconfig' 'pixman' 'glib2' 'sh') -makedepends=('librsvg' 'poppler-glib' 'libspectre' 'gtk-doc') # 'libdrm') +depends=('libpng' 'libxrender' 'libxext' 'fontconfig' 'pixman>=0.28.0' 'glib2' 'sh') +makedepends=('librsvg' 'poppler-glib' 'libspectre' 'gtk-doc' 'valgrind') # 'libdrm') optdepends=('xcb-util: for XCB backend') # really needed? provides=('cairo-xcb') replaces=('cairo-xcb') diff --git a/extra/datefudge/PKGBUILD b/extra/datefudge/PKGBUILD new file mode 100644 index 000000000..1cf348382 --- /dev/null +++ b/extra/datefudge/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 170796 2012-11-11 16:17:27Z andyrtr $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Dan Serban (dserban01 => gmail) + +pkgname=datefudge +pkgver=1.17 +pkgrel=1 +pkgdesc="A program (and preload library) to fake system date" +arch=('i686' 'x86_64') +url="http://packages.qa.debian.org/d/datefudge.html" +license=('GPL2') +depends=('sh') +source=(http://ftp.de.debian.org/debian/pool/main/d/$pkgname/${pkgname}_${pkgver}.tar.gz) +md5sums=('d306e183ea3fdbde088ebd523f6387c5') + +build() { + cd "$srcdir/$pkgname-$pkgver" + #./configure --prefix=/usr + make +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + make test +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install +} diff --git a/extra/evolution-data-server/PKGBUILD b/extra/evolution-data-server/PKGBUILD index 6b3d8c95b..d7c535073 100644 --- a/extra/evolution-data-server/PKGBUILD +++ b/extra/evolution-data-server/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 169869 2012-10-30 22:25:17Z heftig $ +# $Id: PKGBUILD 170810 2012-11-12 02:17:49Z heftig $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=evolution-data-server -pkgver=3.6.1 +pkgver=3.6.2 pkgrel=1 pkgdesc="Centralized access to appointments and contacts" arch=('i686' 'x86_64' 'mips64el') @@ -13,7 +13,7 @@ install=$pkgname.install url="http://www.gnome.org" license=('GPL') source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('637fcb6a83601af2968ca0b600958da8b0f25444224edc5fae41dea995924150') +sha256sums=('bc94d8b9f1a6fb81a630cf38abec303b87a87ce2fd880f9519c23e5de2ce88f0') build() { cd "$pkgname-$pkgver" diff --git a/extra/evolution-ews/PKGBUILD b/extra/evolution-ews/PKGBUILD index f774a47a8..c4b80b6c1 100644 --- a/extra/evolution-ews/PKGBUILD +++ b/extra/evolution-ews/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 169870 2012-10-30 22:25:20Z heftig $ +# $Id: PKGBUILD 170812 2012-11-12 02:30:11Z heftig $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=evolution-ews -pkgver=3.6.0 +pkgver=3.6.1 pkgrel=1 pkgdesc="MS Exchange integration through Exchange Web Services" arch=('i686' 'x86_64' 'mips64el') @@ -12,7 +12,7 @@ depends=('evolution-data-server' 'gtkhtml4' 'gnome-desktop') makedepends=('intltool' 'evolution') options=('!libtool' '!emptydirs') source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('a1d40971f47bfd947349f48a86f8a5ec7252db41b9b0d19204b4e28f2408a96a') +sha256sums=('77931879da57a0721fb3bdc383eab961bf1f20040f309b7be329f19488e5f836') build() { cd $pkgname-$pkgver diff --git a/extra/evolution/PKGBUILD b/extra/evolution/PKGBUILD index 4408865ef..bd19a8cfe 100644 --- a/extra/evolution/PKGBUILD +++ b/extra/evolution/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 169868 2012-10-30 22:25:13Z heftig $ +# $Id: PKGBUILD 170811 2012-11-12 02:28:56Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=evolution -pkgver=3.6.1 +pkgver=3.6.2 pkgrel=1 pkgdesc="Manage your email, contacts and schedule" arch=('i686' 'x86_64' 'mips64el') @@ -17,7 +17,7 @@ options=('!libtool' '!emptydirs') install=evolution.install url=http://www.gnome.org/projects/evolution/ source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) -sha256sums=('7aa0730d6815cc44dbde75b4464697dd9d51584f48e9e03e86c2e5ca5a97a521') +sha256sums=('40b326c63abc33ccc1393c9e3b60c747234ab14a46fc4690255b523942ea8983') build() { cd $pkgname-$pkgver diff --git a/extra/gtkhtml4/PKGBUILD b/extra/gtkhtml4/PKGBUILD index e2b00fe33..ba439dd43 100644 --- a/extra/gtkhtml4/PKGBUILD +++ b/extra/gtkhtml4/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 169937 2012-10-30 22:45:50Z heftig $ +# $Id: PKGBUILD 170809 2012-11-12 02:14:23Z heftig $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gtkhtml4 _pkgbasename=gtkhtml -pkgver=4.6.0 +pkgver=4.6.1 pkgrel=1 pkgdesc="A lightweight HTML renderer/editor widget for GTK3" arch=(i686 x86_64 'mips64el') @@ -13,7 +13,7 @@ makedepends=('intltool') url="http://www.gnome.org" options=('!libtool') source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgbasename/${pkgver%.*}/$_pkgbasename-$pkgver.tar.xz) -sha256sums=('129023d83d5e53f22c7b103ed8668204f78c23837955905315dc95b48618c29e') +sha256sums=('36670a268f3fd437ddb8c4e7f127d6fb0c09a6fe23a431bede0fc3213c75db98') build() { cd "$_pkgbasename-$pkgver" diff --git a/extra/kdebindings-smokekde/PKGBUILD b/extra/kdebindings-smokekde/PKGBUILD index b1fdca5f5..f215922fb 100644 --- a/extra/kdebindings-smokekde/PKGBUILD +++ b/extra/kdebindings-smokekde/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 170590 2012-11-09 08:25:42Z andrea $ +# $Id: PKGBUILD 170779 2012-11-11 09:42:05Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-smokekde @@ -11,7 +11,8 @@ license=('GPL' 'LGPL' 'FDL') groups=('kdebindings') depends=('kdebindings-smokeqt') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' - 'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate') + 'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate' + 'mesa') optdepends=('kdesdk-kate: Kate bindings' 'kdegraphics-okular: Okular bindings') conflicts=('kdebindings-smoke') diff --git a/extra/kdebindings-smokeqt/PKGBUILD b/extra/kdebindings-smokeqt/PKGBUILD index 6cc7a054b..8b7d8aa8e 100644 --- a/extra/kdebindings-smokeqt/PKGBUILD +++ b/extra/kdebindings-smokeqt/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 170587 2012-11-09 08:25:28Z andrea $ +# $Id: PKGBUILD 170776 2012-11-11 09:41:01Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdebindings-smokeqt @@ -10,7 +10,7 @@ arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'FDL') groups=('kdebindings') depends=('kdebindings-smokegen' 'qimageblitz' 'qscintilla') -makedepends=('cmake' 'automoc4') +makedepends=('cmake' 'automoc4' 'mesa') conflicts=('kdebindings-smoke') source=("http://download.kde.org/stable/${pkgver}/src/smokeqt-${pkgver}.tar.xz") sha1sums=('08ffb9d5bfe8c624f1da28b49f26dfa746fc8bcf') diff --git a/extra/kdeedu-kstars/PKGBUILD b/extra/kdeedu-kstars/PKGBUILD index e8bf03a7b..31206022c 100644 --- a/extra/kdeedu-kstars/PKGBUILD +++ b/extra/kdeedu-kstars/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 170631 2012-11-09 08:28:12Z andrea $ +# $Id: PKGBUILD 170773 2012-11-11 09:39:58Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-kstars @@ -10,7 +10,7 @@ arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdeedu') depends=('kdebase-runtime' 'libindi') -makedepends=('cmake' 'automoc4' 'eigen') +makedepends=('cmake' 'automoc4' 'eigen' 'mesa') install=${pkgname}.install source=("http://download.kde.org/stable/${pkgver}/src/kstars-${pkgver}.tar.xz") sha1sums=('35f88135c42483144d17013c520243e7a77bde95') diff --git a/extra/libdrm/PKGBUILD b/extra/libdrm/PKGBUILD index 1b2ec8cfd..7912597db 100644 --- a/extra/libdrm/PKGBUILD +++ b/extra/libdrm/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 165816 2012-08-30 20:33:39Z andyrtr $ +# $Id: PKGBUILD 170783 2012-11-11 10:23:15Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libdrm -pkgver=2.4.39 +pkgver=2.4.40 pkgrel=1 pkgdesc="Userspace interface to kernel DRM services" arch=(i686 x86_64 'mips64el') @@ -16,8 +16,8 @@ url="http://dri.freedesktop.org/" source=(http://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2 no-pthread-stubs.patch COPYING) -sha256sums=('386b17388980504bca16ede81ceed4c77b12c3488f46ecb7f4d48e48512a733d' - '66fb39be073c634abc7c2af238535a63b2a03990888eb8cc5ea79fa3ef083930' +sha256sums=('48c14e4600ea0fde522292893eb4055d2f6d86a69d093d379c827deaccffaa1f' + '3915aaff4d5b0ed523c3144911e7f79ee812dece0e3933c13a88dddcf5912ded' '9631d4f694952e3e6ae5a05534c2e93e994e47d3413677a3a00e45c8cef6db93') build() { @@ -28,7 +28,8 @@ build() { autoreconf --force --install ./configure --prefix=/usr \ --enable-udev \ - --enable-vmwgfx-experimental-api + --enable-omap-experimental-api \ + --enable-exynos-experimental-api make } diff --git a/extra/libdrm/no-pthread-stubs.patch b/extra/libdrm/no-pthread-stubs.patch index a8de91d9d..3b05ce18d 100644 --- a/extra/libdrm/no-pthread-stubs.patch +++ b/extra/libdrm/no-pthread-stubs.patch @@ -68,3 +68,37 @@ diff -Nur libdrm-2.4.34.orig/radeon/Makefile.am libdrm-2.4.34/radeon/Makefile.am libdrm_radeon_la_SOURCES = \ radeon_bo_gem.c \ +--- libdrm-2.4.40/omap/Makefile.am 2012-06-14 23:32:50.000000000 +0200 ++++ libdrm-2.4.40/omap/Makefile.am 2012-11-06 19:24:44.183224706 +0100 +@@ -2,13 +2,12 @@ + $(WARN_CFLAGS) \ + -I$(top_srcdir) \ + -I$(top_srcdir)/omap \ +- $(PTHREADSTUBS_CFLAGS) \ + -I$(top_srcdir)/include/drm + + libdrm_omap_la_LTLIBRARIES = libdrm_omap.la + libdrm_omap_ladir = $(libdir) + libdrm_omap_la_LDFLAGS = -version-number 1:0:0 -no-undefined +-libdrm_omap_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ ++libdrm_omap_la_LIBADD = ../libdrm.la + + libdrm_omap_la_SOURCES = omap_drm.c + +--- libdrm-2.4.40/exynos/Makefile.am 2012-06-14 23:32:50.000000000 +0200 ++++ libdrm-2.4.40/exynos/Makefile.am 2012-11-06 19:26:01.975323106 +0100 +@@ -2,13 +2,12 @@ + $(WARN_CFLAGS) \ + -I$(top_srcdir) \ + -I$(top_srcdir)/exynos \ +- $(PTHREADSTUBS_CFLAGS) \ + -I$(top_srcdir)/include/drm + + libdrm_exynos_la_LTLIBRARIES = libdrm_exynos.la + libdrm_exynos_ladir = $(libdir) + libdrm_exynos_la_LDFLAGS = -version-number 1:0:0 -no-undefined +-libdrm_exynos_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ ++libdrm_exynos_la_LIBADD = ../libdrm.la + + libdrm_exynos_la_SOURCES = exynos_drm.c + diff --git a/extra/live-media/PKGBUILD b/extra/live-media/PKGBUILD index 63d15a658..e5c6ae1f1 100644 --- a/extra/live-media/PKGBUILD +++ b/extra/live-media/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 170369 2012-11-06 17:42:18Z giovanni $ +# $Id: PKGBUILD 170798 2012-11-11 16:22:13Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Gilles CHAUVIN <gcnweb@gmail.com> pkgname=live-media -pkgver=2012.11.05 +pkgver=2012.11.08 pkgrel=1 pkgdesc="A set of C++ libraries for multimedia streaming" arch=('i686' 'x86_64' 'mips64el') @@ -11,7 +11,7 @@ license=('LGPL') url="http://live555.com/liveMedia" depends=('gcc-libs') source=("http://live555.com/liveMedia/public/live.${pkgver}.tar.gz") -md5sums=('0618f2a0b0f60131b616b03cf3b4d5ce') +md5sums=('d4a873052b13e77e80a8d267176da661') build() { cd ${srcdir}/live diff --git a/extra/ltrace/PKGBUILD b/extra/ltrace/PKGBUILD index 27d3518ac..2ef4a55b6 100644 --- a/extra/ltrace/PKGBUILD +++ b/extra/ltrace/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 146208 2012-01-06 03:36:04Z foutrelis $ +# $Id: PKGBUILD 170791 2012-11-11 15:22:36Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Aaron Griffin <aaron@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=ltrace -pkgver=0.6.0 +pkgver=0.7.0 pkgrel=1 pkgdesc="Tracks runtime library calls in dynamically linked programs" arch=('i686' 'x86_64' 'mips64el') @@ -12,18 +12,12 @@ url="http://ltrace.alioth.debian.org/" license=('GPL') depends=('elfutils') backup=('etc/ltrace.conf') -source=(http://dev.archlinux.org/~foutrelis/sources/ltrace/$pkgname-$pkgver.tar.xz - fix-crash-on-int3-after-symcall.patch) -sha256sums=('13e4a66aa1f2ad23fd4ddd7faa79c52a68f210155eeb6490ce421f2a07fa0706' - 'ef2c33c94b5cbfc552e5e734ac5627918ace918f48db5d3f29f1c0dcb1732d04') +source=(https://alioth.debian.org/frs/download.php/3822/$pkgname-$pkgver.tar.bz2) +sha256sums=('5438ce286f072f0e0448db046657466f9bd142600013329063aecf7cf809fd10') build() { cd "$srcdir/$pkgname-$pkgver" - # Fix FS#27250: SIGSEGV due to int3 right after a call instruction - patch -Np1 -i "$srcdir/fix-crash-on-int3-after-symcall.patch" - - ./autogen.sh ./configure \ --prefix=/usr \ --sysconfdir=/etc @@ -34,6 +28,10 @@ package(){ cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install + + # ltrace.conf.5 needs to be installed to man5 (fixed in upstream git repo) + install -d "$pkgdir/usr/share/man/man5" + mv "$pkgdir/usr/share/man/man"{1/ltrace.conf.1,5/ltrace.conf.5} } # vim:set ts=2 sw=2 et: diff --git a/extra/php-xcache/PKGBUILD b/extra/php-xcache/PKGBUILD index bd4bb1472..6d7f6800b 100644 --- a/extra/php-xcache/PKGBUILD +++ b/extra/php-xcache/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 163591 2012-07-16 07:46:41Z pierre $ +# $Id: PKGBUILD 170770 2012-11-11 06:21:29Z pierre $ # Maintainer: Pierre Schmitz <pierre@archlinux.de> pkgname=php-xcache -pkgver=2.0.1 -pkgrel=1 +pkgver=3.0.0 +pkgrel=2 arch=('i686' 'x86_64' 'mips64el') pkgdesc='A PHP opcode cacher' url='http://xcache.lighttpd.net/' @@ -12,8 +12,8 @@ license=('custom') source=("http://xcache.lighttpd.net/pub/Releases/${pkgver}/xcache-${pkgver}.tar.bz2" 'xcache.ini') backup=('etc/php/conf.d/xcache.ini') -md5sums=('d3bc9645dc1b084c1eb45cfc4d8e9ccc' - 'bba7ead3e592a7980aa91a8600973587') +md5sums=('63be7c8b14ffc01babe5378111f13228' + '8fd9ce537ada9463c4b0c042243158c0') build() { cd $srcdir/xcache-$pkgver @@ -34,7 +34,7 @@ package() { install -Dm644 $srcdir/xcache.ini $pkgdir/etc/php/conf.d/xcache.ini install -dm755 $pkgdir/usr/share/php-xcache/admin - install -m644 admin/* $pkgdir/usr/share/php-xcache/admin/ + cp -r htdocs/* $pkgdir/usr/share/php-xcache/admin/ install -Dm644 COPYING $pkgdir/usr/share/licenses/php-xcache/COPYING } diff --git a/extra/php-xcache/xcache.ini b/extra/php-xcache/xcache.ini index c2677a5ca..b814dbce1 100644 --- a/extra/php-xcache/xcache.ini +++ b/extra/php-xcache/xcache.ini @@ -1,3 +1,3 @@ -;zend_extension=/usr/lib/php/modules/xcache.so +;extension=xcache.so xcache.size=64M xcache.var_size=64M diff --git a/extra/pixman/PKGBUILD b/extra/pixman/PKGBUILD index 58782f157..0d5263c1e 100644 --- a/extra/pixman/PKGBUILD +++ b/extra/pixman/PKGBUILD @@ -1,9 +1,10 @@ -# $Id: PKGBUILD 162772 2012-06-30 07:29:52Z andyrtr $ +# $Id: PKGBUILD 170784 2012-11-11 10:23:18Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> +# Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=pixman -pkgver=0.26.2 +pkgver=0.28.0 pkgrel=1 pkgdesc="The pixel-manipulation library for X and cairo" arch=(i686 x86_64 'mips64el') @@ -12,7 +13,7 @@ license=('custom') depends=('glibc') options=('!libtool') source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('1daf014714cc29147726abada12359345d156705') +sha1sums=('cfc7a18a8811bf4ff0890f547c315bda8097f6ad') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/sdl_mixer/PKGBUILD b/extra/sdl_mixer/PKGBUILD index afa2e2091..56fb59859 100644 --- a/extra/sdl_mixer/PKGBUILD +++ b/extra/sdl_mixer/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 146688 2012-01-16 11:35:40Z heftig $ +# $Id: PKGBUILD 170804 2012-11-12 02:00:36Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> @@ -6,7 +6,7 @@ pkgname=sdl_mixer pkgver=1.2.12 -pkgrel=1.1 +pkgrel=3 pkgdesc="A simple multi-channel audio mixer" arch=('i686' 'x86_64' 'mips64el') url="http://www.libsdl.org/projects/SDL_mixer/" @@ -15,12 +15,22 @@ depends=('sdl>=1.2.12' 'libvorbis' 'libmikmod' 'smpeg') makedepends=('fluidsynth') optdepends=('fluidsynth: MIDI software synth, replaces built-in timidity') options=('!libtool') -source=(http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-$pkgver.tar.gz) -md5sums=('e03ff73d77a55e3572ad0217131dc4a1') +source=(http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-$pkgver.tar.gz + mikmod1.patch mikmod2.patch fluidsynth-volume.patch double-free-crash.patch) +md5sums=('e03ff73d77a55e3572ad0217131dc4a1' + '95a6d58686fe3017d58c39e3e1dd40f7' + 'd823994c3961f2ff48644478f27a27d1' + 'eed8b61defde36ac2077ef96d868ea3e' + '4b4835c63297f016a198cacb7dd68ec1') build() { cd "$srcdir/SDL_mixer-$pkgver" + patch -Np1 -i ../mikmod1.patch + patch -Np1 -i ../mikmod2.patch + patch -Np1 -i ../fluidsynth-volume.patch + patch -Np1 -i ../double-free-crash.patch + sed -e "/CONFIG_FILE_ETC/s|/etc/timidity.cfg|/etc/timidity++/timidity.cfg|" \ -e "/DEFAULT_PATH/s|/etc/timidity|/etc/timidity++|" \ -e "/DEFAULT_PATH2/s|/usr/local/lib/timidity|/usr/lib/timidity|" \ diff --git a/extra/sdl_mixer/double-free-crash.patch b/extra/sdl_mixer/double-free-crash.patch new file mode 100644 index 000000000..6f4e6a1ee --- /dev/null +++ b/extra/sdl_mixer/double-free-crash.patch @@ -0,0 +1,32 @@ + +# HG changeset patch +# User Sam Lantinga <slouken@libsdl.org> +# Date 1329087437 18000 +# Node ID 2d713670db9b832b0c5aa700824900bc1fc3c3cd +# Parent df72f22b4b411ad4b08f924329678aabd5ac97d6 +Fixed 1418 - crash on double free if loading WAV file failed + +diff -r df72f22b4b41 -r 2d713670db9b mixer.c +--- a/mixer.c Mon Jan 30 21:41:45 2012 -0500 ++++ b/mixer.c Sun Feb 12 17:57:17 2012 -0500 +@@ -610,13 +610,15 @@ + break; + default: + SDL_SetError("Unrecognized sound file type"); +- return(0); ++ if ( freesrc ) { ++ SDL_RWclose(src); ++ } ++ loaded = NULL; ++ break; + } + if ( !loaded ) { ++ /* The individual loaders have closed src if needed */ + SDL_free(chunk); +- if ( freesrc ) { +- SDL_RWclose(src); +- } + return(NULL); + } + + diff --git a/extra/sdl_mixer/fluidsynth-volume.patch b/extra/sdl_mixer/fluidsynth-volume.patch new file mode 100644 index 000000000..cf346ed02 --- /dev/null +++ b/extra/sdl_mixer/fluidsynth-volume.patch @@ -0,0 +1,23 @@ + +# HG changeset patch +# User James Le Cuirot <chewi@aura-online.co.uk> +# Date 1330896767 0 +# Node ID c92001a2c18f628698c58aa4e05a7335d10d0e9e +# Parent 2d713670db9b832b0c5aa700824900bc1fc3c3cd +Raise the maximum FluidSynth gain from 0.8 to 1.2 because apparently the former is too quiet in some cases. + +diff -r 2d713670db9b -r c92001a2c18f fluidsynth.c +--- a/fluidsynth.c Sun Feb 12 17:57:17 2012 -0500 ++++ b/fluidsynth.c Sun Mar 04 21:32:47 2012 +0000 +@@ -176,8 +176,8 @@ + + void fluidsynth_setvolume(FluidSynthMidiSong *song, int volume) + { +- /* FluidSynth's default is 0.2. Make 0.8 the maximum. */ +- fluidsynth.fluid_synth_set_gain(song->synth, (float) (volume * 0.00625)); ++ /* FluidSynth's default is 0.2. Make 1.2 the maximum. */ ++ fluidsynth.fluid_synth_set_gain(song->synth, (float) (volume * 1.2 / MIX_MAX_VOLUME)); + } + + int fluidsynth_playsome(FluidSynthMidiSong *song, void *dest, int dest_len) + diff --git a/extra/sdl_mixer/mikmod1.patch b/extra/sdl_mixer/mikmod1.patch new file mode 100644 index 000000000..b3bb829d2 --- /dev/null +++ b/extra/sdl_mixer/mikmod1.patch @@ -0,0 +1,67 @@ + +# HG changeset patch +# User Sam Lantinga <slouken@libsdl.org> +# Date 1342998807 25200 +# Node ID 56cad6484b04f83c8d42428c755a046678506436 +# Parent c92001a2c18f628698c58aa4e05a7335d10d0e9e +Paul P Komkoff Jr fixed malloc/free mismatch in the MikMod driver + +diff -r c92001a2c18f -r 56cad6484b04 CHANGES +--- a/CHANGES Sun Mar 04 21:32:47 2012 +0000 ++++ b/CHANGES Sun Jul 22 16:13:27 2012 -0700 +@@ -1,3 +1,7 @@ ++1.2.13: ++Paul P Komkoff Jr - Sun Jul 22 16:12:28 PDT 2012 ++ * Fixed malloc/free mismatch in the MikMod driver ++ + 1.2.12: + Sam Lantinga - Sat Jan 14 22:00:29 2012 -0500 + * Fixed seek offset with SMPEG (was relative, should be absolute) +diff -r c92001a2c18f -r 56cad6484b04 dynamic_mod.c +--- a/dynamic_mod.c Sun Mar 04 21:32:47 2012 +0000 ++++ b/dynamic_mod.c Sun Jul 22 16:13:27 2012 -0700 +@@ -93,6 +93,13 @@ + SDL_UnloadObject(mikmod.handle); + return -1; + } ++ mikmod.MikMod_free = ++ (void (*)(void*)) ++ SDL_LoadFunction(mikmod.handle, "MikMod_free"); ++ if ( mikmod.MikMod_free == NULL ) { ++ SDL_UnloadObject(mikmod.handle); ++ return -1; ++ } + mikmod.Player_Active = + (BOOL (*)(void)) + SDL_LoadFunction(mikmod.handle, "Player_Active"); +diff -r c92001a2c18f -r 56cad6484b04 dynamic_mod.h +--- a/dynamic_mod.h Sun Mar 04 21:32:47 2012 +0000 ++++ b/dynamic_mod.h Sun Jul 22 16:13:27 2012 -0700 +@@ -35,6 +35,7 @@ + void (*MikMod_RegisterDriver)(struct MDRIVER*); + int* MikMod_errno; + char* (*MikMod_strerror)(int); ++ void (*MikMod_free)(void*); + BOOL (*Player_Active)(void); + void (*Player_Free)(MODULE*); + MODULE* (*Player_LoadGeneric)(MREADER*,int,BOOL); +diff -r c92001a2c18f -r 56cad6484b04 music_mod.c +--- a/music_mod.c Sun Mar 04 21:32:47 2012 +0000 ++++ b/music_mod.c Sun Jul 22 16:13:27 2012 -0700 +@@ -109,13 +109,13 @@ + + list = mikmod.MikMod_InfoDriver(); + if ( list ) +- free(list); ++ mikmod.MikMod_free(list); + else + mikmod.MikMod_RegisterDriver(mikmod.drv_nos); + + list = mikmod.MikMod_InfoLoader(); + if ( list ) +- free(list); ++ mikmod.MikMod_free(list); + else + mikmod.MikMod_RegisterAllLoaders(); + + diff --git a/extra/sdl_mixer/mikmod2.patch b/extra/sdl_mixer/mikmod2.patch new file mode 100644 index 000000000..6e89ca82a --- /dev/null +++ b/extra/sdl_mixer/mikmod2.patch @@ -0,0 +1,35 @@ + +# HG changeset patch +# User Sam Lantinga <slouken@libsdl.org> +# Date 1343000017 25200 +# Node ID 2ebb0d016f277f7f643d8a66ed0e1099e10d1fba +# Parent 56cad6484b04f83c8d42428c755a046678506436 +Fixed normal linking with libmikmod and linking with earlier versions of libmikmod. + +diff -r 56cad6484b04 -r 2ebb0d016f27 dynamic_mod.c +--- a/dynamic_mod.c Sun Jul 22 16:13:27 2012 -0700 ++++ b/dynamic_mod.c Sun Jul 22 16:33:37 2012 -0700 +@@ -97,8 +97,8 @@ + (void (*)(void*)) + SDL_LoadFunction(mikmod.handle, "MikMod_free"); + if ( mikmod.MikMod_free == NULL ) { +- SDL_UnloadObject(mikmod.handle); +- return -1; ++ /* libmikmod 3.1 and earlier doesn't have it */ ++ mikmod.MikMod_free = free; + } + mikmod.Player_Active = + (BOOL (*)(void)) +@@ -246,6 +246,11 @@ + mikmod.MikMod_RegisterDriver = MikMod_RegisterDriver; + mikmod.MikMod_errno = &MikMod_errno; + mikmod.MikMod_strerror = MikMod_strerror; ++#if LIBMIKMOD_VERSION < ((3<<16)|(2<<8)) ++ mikmod.MikMod_free = free; ++#else ++ mikmod.MikMod_free = MikMod_free; ++#endif + mikmod.Player_Active = Player_Active; + mikmod.Player_Free = Player_Free; + mikmod.Player_LoadGeneric = Player_LoadGeneric; + diff --git a/extra/weechat/PKGBUILD b/extra/weechat/PKGBUILD index 3dff9dc7a..f3795255d 100644 --- a/extra/weechat/PKGBUILD +++ b/extra/weechat/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 167283 2012-09-30 00:48:04Z giovanni $ +# $Id: PKGBUILD 170788 2012-11-11 10:32:52Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: lucke <lucke at o2 dot pl> pkgname=weechat -pkgver=0.3.9 +pkgver=0.3.9.1 pkgrel=1 pkgdesc="Fast, light and extensible IRC client (curses UI)" arch=('i686' 'x86_64' 'mips64el') @@ -14,7 +14,7 @@ makedepends=('cmake' 'pkgconfig' 'perl' 'python2' 'lua' 'tcl' 'ruby' 'aspell') optdepends=('perl' 'python2' 'lua' 'tcl' 'ruby' 'aspell') options=('!libtool') source=("http://www.weechat.org/files/src/${pkgname}-${pkgver}.tar.bz2") -md5sums=('e981a357378e6ea97c91d8cb6a023da6') +md5sums=('d26ddba44715da27c9df51ac87e8ce5b') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/xf86-video-ati/PKGBUILD b/extra/xf86-video-ati/PKGBUILD index 16003d403..40f66e595 100644 --- a/extra/xf86-video-ati/PKGBUILD +++ b/extra/xf86-video-ati/PKGBUILD @@ -1,30 +1,25 @@ -# $Id: PKGBUILD 168567 2012-10-13 11:44:18Z andyrtr $ +# $Id: PKGBUILD 170785 2012-11-11 10:23:19Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-video-ati -pkgver=6.14.6 +pkgver=7.0.0 epoch=1 -pkgrel=2 +pkgrel=1 pkgdesc="X.org ati video driver" arch=('i686' 'x86_64') url="http://xorg.freedesktop.org/" license=('custom') -depends=('libdrm>=2.4.37' 'systemd-tools' 'ati-dri') +depends=('libdrm>=2.4.40' 'systemd-tools' 'ati-dri') makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=13' 'resourceproto' 'scrnsaverproto') conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERSION>=14') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('aa5286b3e4f0187d7df14785c06dd800255d9405205dbf061da5d77df86bec36') +sha256sums=('c0acc81386425651aae5dfe02d89f935bb63b2a62104da0d88deac3c773ea10e') build() { cd ${srcdir}/${pkgname}-${pkgver} - - # fix build now that XAA isn't available in new Xorg - http://bugs.gentoo.org/show_bug.cgi?id=428094 - sed -i '/USE_XAA, 1/d' configure.ac - autoreconf -vfi - ./configure --prefix=/usr make } diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD index 9fa7af6e5..0e11f6ff3 100644 --- a/extra/xorg-server/PKGBUILD +++ b/extra/xorg-server/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 169364 2012-10-20 06:35:05Z andyrtr $ +# $Id: PKGBUILD 170786 2012-11-11 10:23:23Z andyrtr $ # 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.13.0 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64' 'mips64el') license=('custom') url="http://xorg.freedesktop.org" @@ -21,7 +21,8 @@ source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 xvfb-run.1 10-quirks.conf loongson.patch - 0001-dix-fix-zaphod-screen-scrossing-54654.patch) + git-fixes.patch + use-pixman-glyph-cache.patch) sha256sums=('548b91cb01087ad4f892428e7ac4955251cf12393e86c70420436b33848ef28a' '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162' 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84' @@ -29,11 +30,18 @@ sha256sums=('548b91cb01087ad4f892428e7ac4955251cf12393e86c70420436b33848ef28a' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166' '966b8c509006e3b7e6ac951c93a760ecbb2cb2ad7a5807fb919f0c4ee5e079a5' - '23861814b4283ca3fe43aae6e88ee82bcbae5713bf88eabeaef7beb94efe9707') + 'd49e534b77ead809eb873a1a86cd47c791a8ddd10557bfa635197bba6bc00b71' + '7c1dacd30c46b01424c7c75974285cd348dafd0327eb3f211cbe446ad90dd308') build() { cd "${srcdir}/${pkgbase}-${pkgver}" + # Apply upstream fixes from server-1.13 branch + patch -Np1 -i "${srcdir}/git-fixes.patch" + + # Use pixman 0.28.0 glyph cache - backported from git master + patch -Np1 -i "${srcdir}/use-pixman-glyph-cache.patch" + # Use nouveau/nv/nvidia drivers for nvidia devices patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch" @@ -43,41 +51,16 @@ build() { # Based on http://lists.freedesktop.org/archives/xorg-devel/2011-October/026249.html patch -Np1 -i "${srcdir}/loongson.patch" - # https://bugs.archlinux.org/task/31959 / https://bugs.freedesktop.org/show_bug.cgi?id=54654 - patch -Np1 -i ${srcdir}/0001-dix-fix-zaphod-screen-scrossing-54654.patch - autoreconf -fi + if [ "$CARCH" = "mips64el" ]; then - ./configure --prefix=/usr \ - --enable-ipv6 \ - --disable-dri \ - --disable-dri2 \ - --enable-dmx \ - --enable-xvfb \ - --enable-xnest \ - --enable-composite \ - --enable-xcsecurity \ - --enable-xorg \ - --enable-xephyr \ - --disable-glx \ - --disable-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 + extra="--disable-dri --disable-dri2 --disable-glx --disable-glx-tls" else + extra="--enable-dri --enable-glx-tls" + fi + ./configure --prefix=/usr \ --enable-ipv6 \ - --enable-dri \ --enable-dmx \ --enable-xvfb \ --enable-xnest \ @@ -85,7 +68,6 @@ build() { --enable-xcsecurity \ --enable-xorg \ --enable-xephyr \ - --enable-glx-tls \ --enable-kdrive \ --enable-kdrive-evdev \ --enable-kdrive-kbd \ @@ -101,8 +83,8 @@ build() { --localstatedir=/var \ --with-xkb-path=/usr/share/X11/xkb \ --with-xkb-output=/var/lib/xkb \ - --with-fontrootdir=/usr/share/fonts - fi + --with-fontrootdir=/usr/share/fonts \ + $extra make # Disable subdirs for make install rule to make splitting easier @@ -132,7 +114,7 @@ package_xorg-server-common() { package_xorg-server() { pkgdesc="Xorg X server" - depends=(libxdmcp libxfont libpciaccess libdrm pixman libgcrypt libxau xorg-server-common xf86-input-evdev) + depends=(libxdmcp libxfont libpciaccess libdrm 'pixman>=0.28.0' 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') # see xorg-server-1.13.0/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on provides=('X-ABI-VIDEODRV_VERSION=13' 'X-ABI-XINPUT_VERSION=18' 'X-ABI-EXTENSION_VERSION=7.0' 'x-server') @@ -169,7 +151,7 @@ package_xorg-server() { package_xorg-server-xephyr() { pkgdesc="A nested X server that runs as an X application" - depends=(libxfont libgl libgcrypt libxv pixman xorg-server-common) + depends=(libxfont libgl libgcrypt libxv 'pixman>=0.28.0' xorg-server-common) cd "${srcdir}/${pkgbase}-${pkgver}/hw/kdrive" make DESTDIR="${pkgdir}" install @@ -180,7 +162,7 @@ package_xorg-server-xephyr() { package_xorg-server-xvfb() { pkgdesc="Virtual framebuffer X server" - depends=(libxfont libxdmcp libxau libgcrypt pixman xorg-server-common) + depends=(libxfont libxdmcp libxau libgcrypt 'pixman>=0.28.0' xorg-server-common) cd "${srcdir}/${pkgbase}-${pkgver}/hw/vfb" make DESTDIR="${pkgdir}" install @@ -194,7 +176,7 @@ package_xorg-server-xvfb() { package_xorg-server-xnest() { pkgdesc="A nested X server that runs as an X application" - depends=(libxfont libxext libgcrypt pixman xorg-server-common) + depends=(libxfont libxext libgcrypt 'pixman>=0.28.0' xorg-server-common) cd "${srcdir}/${pkgbase}-${pkgver}/hw/xnest" make DESTDIR="${pkgdir}" install @@ -205,7 +187,7 @@ package_xorg-server-xnest() { package_xorg-server-xdmx() { pkgdesc="Distributed Multihead X Server and utilities" - depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes pixman xorg-server-common) + depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes 'pixman>=0.28.0' xorg-server-common) cd "${srcdir}/${pkgbase}-${pkgver}/hw/dmx" make DESTDIR="${pkgdir}" install @@ -220,6 +202,8 @@ package_xorg-server-devel() { xproto randrproto renderproto xextproto inputproto kbproto fontsproto pixman videoproto xf86driproto glproto mesa xineramaproto libpciaccess + # see FS#32146 + resourceproto scrnsaverproto # not technically required but almost every Xorg pkg needs it to build xorg-util-macros) [ "$CARCH" = "mips64el" ] || depends+=('dri2proto') @@ -237,24 +221,3 @@ package_xorg-server-devel() { install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel" ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING" } -md5sums=('7297e025f442904768c360fcbaedbc1f' - 'ea4852dedbb89550f6bc113ca66348a2' - '4f3bc572ad32e6ed22efc38d2a5e429a' - '52fd3effd80d7bc6c1660d4ecf23d31c' - '376c70308715cd2643f7bff936d9934b' - 'd4f7dfc6be4ef4e2c6dd7632a9d88abe' - 'd335870a88231cdbdd2919dd4ca76a1f') -md5sums=('f87d830aa69885275e26dd6327d76a44' - 'ea4852dedbb89550f6bc113ca66348a2' - '4f3bc572ad32e6ed22efc38d2a5e429a' - '52fd3effd80d7bc6c1660d4ecf23d31c' - '376c70308715cd2643f7bff936d9934b' - 'd4f7dfc6be4ef4e2c6dd7632a9d88abe' - 'd335870a88231cdbdd2919dd4ca76a1f') -sha256sums=('8ac07c35306ba3fb3c0972722dd4e919303039eca1d40ac7862560e0b2c94cf7' - '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162' - 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84' - 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' - '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' - '94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166' - '966b8c509006e3b7e6ac951c93a760ecbb2cb2ad7a5807fb919f0c4ee5e079a5') diff --git a/extra/xorg-server/git-fixes.patch b/extra/xorg-server/git-fixes.patch index f6ca2426b..d1817c00f 100644 --- a/extra/xorg-server/git-fixes.patch +++ b/extra/xorg-server/git-fixes.patch @@ -1,1717 +1,643 @@ -From b5bf0ac5405eab77f26bb2f8726644232af17178 Mon Sep 17 00:00:00 2001 -From: Keith Packard <keithp@keithp.com> -Date: Wed, 11 Apr 2012 16:28:21 +0000 -Subject: hw/xfree86: Spurious ');' in xf86vmode.c messed up indentation badly - -Inside the unfinished XF86VIDMODE_EVENTS #ifdef block the -function definition for xf86VidModeNotifyEvent had an extra ');' -before the prototype argument declarations. This was harmless for the -compiler as the code never gets used, but completely messed up the -file re-indentation. This patch removes the spurious characters in -preparation for re-indenting the file. - -Signed-off-by: Keith Packard <keithp@keithp.com> -(cherry picked from commit 592bd0ae2b60cd6f6afd3efc40f5f659b12900b4) ---- -diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c -index 6e2a8e9..9f64f8e 100644 ---- a/hw/xfree86/dixmods/extmod/xf86vmode.c -+++ b/hw/xfree86/dixmods/extmod/xf86vmode.c -@@ -75,7 +75,7 @@ static unsigned char XF86VidModeReqCode = 0; - #ifdef XF86VIDMODE_EVENTS - static int XF86VidModeEventBase = 0; - --static void SXF86VidModeNotifyEvent(); -+static void SXF86VidModeNotifyEvent( - xXF86VidModeNotifyEvent * /* from */ , xXF86VidModeNotifyEvent * /* to */ - ); - --- -cgit v0.9.0.2-2-gbebe -From 3ad72a80088fe3236f38bd0696b04f399e24fe3d Mon Sep 17 00:00:00 2001 -From: Keith Packard <keithp@keithp.com> -Date: Wed, 11 Apr 2012 16:33:54 +0000 -Subject: hw/xfree86: Re-indent xf86vmode.c - -This is the result of re-running the 'x-indent.sh' script over -xf86vmode.c to clean up the disaster caused by broken syntax in the -file. - -Signed-off-by: Keith Packard <keithp@keithp.com> -(cherry picked from commit 9779b904c7c0b49c74054c22c420012c40595cdc) ---- -diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c -index 9f64f8e..68c4b58 100644 ---- a/hw/xfree86/dixmods/extmod/xf86vmode.c -+++ b/hw/xfree86/dixmods/extmod/xf86vmode.c -@@ -75,8 +75,7 @@ static unsigned char XF86VidModeReqCode = 0; - #ifdef XF86VIDMODE_EVENTS - static int XF86VidModeEventBase = 0; - --static void SXF86VidModeNotifyEvent( --xXF86VidModeNotifyEvent * /* from */ , xXF86VidModeNotifyEvent * /* to */ -+static void SXF86VidModeNotifyEvent(xXF86VidModeNotifyEvent * /* from */ , xXF86VidModeNotifyEvent * /* to */ - ); - - static RESTYPE EventType; /* resource type for event masks */ -@@ -117,20 +116,22 @@ static DevPrivateKeyRec ScreenPrivateKeyRec; - #define DEBUG_P(x) /**/ - #endif - static int -- ClientMajorVersion(ClientPtr client) { -+ClientMajorVersion(ClientPtr client) -+{ - VidModePrivPtr pPriv; - -- pPriv = VM_GETPRIV(client); -+ pPriv = VM_GETPRIV(client); - if (!pPriv) -- return 0; -+ return 0; +diff --git a/Xi/exevents.c b/Xi/exevents.c +index 494d07e..106da3a 100644 +--- a/Xi/exevents.c ++++ b/Xi/exevents.c +@@ -949,8 +949,6 @@ UpdateDeviceState(DeviceIntPtr device, DeviceEvent *event) + + if (!(event->flags & TOUCH_POINTER_EMULATED)) + return DONT_PROCESS; +- if (!(event->flags & TOUCH_END)) +- return DONT_PROCESS; + + DecreaseButtonCount(device, key, &t->buttonsDown, &t->motionMask, + &t->state); +@@ -1561,6 +1559,7 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev) + uint32_t touchid; + int type = ev->any.type; + int emulate_pointer = ! !(ev->device_event.flags & TOUCH_POINTER_EMULATED); ++ DeviceIntPtr kbd; + + if (!t) + return; +@@ -1570,9 +1569,6 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev) else -- return pPriv->major; -+ return pPriv->major; - } -+ - #ifdef XF86VIDMODE_EVENTS - static void -- CheckScreenPrivate(pScreen) -+CheckScreenPrivate(pScreen) - ScreenPtr -- pScreen; -+ pScreen; - { - SetupScreen(pScreen); + touchid = ev->device_event.touchid; -@@ -142,9 +143,10 @@ ScreenPtr +- if (emulate_pointer) +- UpdateDeviceState(dev, &ev->device_event); +- + if (type == ET_TouchBegin) { + ti = TouchBeginTouch(dev, ev->device_event.sourceid, touchid, + emulate_pointer); +@@ -1619,9 +1615,14 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev) + * events which _only_ emulate motion just work normally */ + if (emulate_pointer && ev->any.type != ET_TouchUpdate) + DeliverEmulatedMotionEvent(dev, ti, ev); ++ + if (emulate_pointer && IsMaster(dev)) + CheckMotion(&ev->device_event, dev); + ++ kbd = GetMaster(dev, KEYBOARD_OR_FLOAT); ++ event_set_state(NULL, kbd, &ev->device_event); ++ ev->device_event.corestate = event_get_corestate(NULL, kbd); ++ + /* Make sure we have a valid window trace for event delivery; must be + * called after event type mutation. Touch end events are always processed + * in order to end touch records. */ +@@ -1643,6 +1644,9 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev) + if (ev->any.type == ET_TouchEnd) + TouchEndTouch(dev, ti); } - } - --static XF86VidModeScreenPrivatePtr MakeScreenPrivate(pScreen) -+static XF86VidModeScreenPrivatePtr -+MakeScreenPrivate(pScreen) - ScreenPtr -- pScreen; -+ pScreen; - { - SetupScreen(pScreen); - -@@ -160,18 +162,22 @@ ScreenPtr - } - - static unsigned long -- getEventMask(ScreenPtr pScreen, ClientPtr client) { -+getEventMask(ScreenPtr pScreen, ClientPtr client) -+{ - SetupScreen(pScreen); - XF86VidModeEventPtr pEv; - - if (!pPriv) -- return 0; -+ return 0; - for (pEv = pPriv->events; pEv; pEv = pEv->next) - if (pEv->client == client) - return pEv->mask; -- return 0; --} static Bool -- setEventMask(ScreenPtr pScreen, ClientPtr client, unsigned long mask) { -+ return 0; -+} + -+static Bool -+setEventMask(ScreenPtr pScreen, ClientPtr client, unsigned long mask) -+{ - SetupScreen(pScreen); - XF86VidModeEventPtr pEv, *pPrev; - -@@ -181,7 +187,8 @@ static unsigned long - pPriv = MakeScreenPrivate(pScreen); - if (!pPriv) - return FALSE; -- } for (pPrev = &pPriv->events; pEv = *pPrev; pPrev = &pEv->next) -+ } -+ for (pPrev = &pPriv->events; pEv = *pPrev; pPrev = &pEv->next) - if (pEv->client == client) - break; - if (mask == 0) { -@@ -208,38 +215,43 @@ static unsigned long - } - - static int -- XF86VidModeFreeEvents(pointer value, XID id) { -+XF86VidModeFreeEvents(pointer value, XID id) -+{ - XF86VidModeEventPtr pOld = (XF86VidModeEventPtr) value; - ScreenPtr pScreen = pOld->screen; -- SetupScreen(pScreen); -+ -+ SetupScreen(pScreen); - XF86VidModeEventPtr pEv, *pPrev; - - if (!pPriv) -- return TRUE; -+ return TRUE; - for (pPrev = &pPriv->events; pEv = *pPrev; pPrev = &pEv->next) - if (pEv == pOld) - break; - if (!pEv) -- return TRUE; -+ return TRUE; - *pPrev = pEv->next; -- free(pEv); -- CheckScreenPrivate(pScreen); -- return TRUE; --} static void -- SendXF86VidModeNotify(ScreenPtr pScreen, int state, Bool forced) { -+ free(pEv); -+ CheckScreenPrivate(pScreen); -+ return TRUE; -+} -+ -+static void -+SendXF86VidModeNotify(ScreenPtr pScreen, int state, Bool forced) -+{ - XF86VidModeScreenPrivatePtr pPriv; - XF86VidModeEventPtr pEv; - unsigned long mask; - xXF86VidModeNotifyEvent ev; - int kind; - -- UpdateCurrentTimeIf(); -- mask = XF86VidModeNotifyMask; -- pScreen = screenInfo.screens[pScreen->myNum]; -- pPriv = GetScreenPrivate(pScreen); -+ UpdateCurrentTimeIf(); -+ mask = XF86VidModeNotifyMask; -+ pScreen = screenInfo.screens[pScreen->myNum]; -+ pPriv = GetScreenPrivate(pScreen); - if (!pPriv) -- return; -- kind = XF86VidModeModeChange; -+ return; -+ kind = XF86VidModeModeChange; - for (pEv = pPriv->events; pEv; pEv = pEv->next) { - if (!(pEv->mask & mask)) - continue; -@@ -251,8 +263,10 @@ static int - ev.forced = forced; - WriteEventsToClient(pEv->client, 1, (xEvent *) &ev); - }} static void -- SXF86VidModeNotifyEvent(xXF86VidModeNotifyEvent * from, -- xXF86VidModeNotifyEvent * to) { -+ -+SXF86VidModeNotifyEvent(xXF86VidModeNotifyEvent * from, -+ xXF86VidModeNotifyEvent * to) -+{ - to->type = from->type; - to->state = from->state; - cpswaps(from->sequenceNumber, to->sequenceNumber); -@@ -264,29 +278,31 @@ static int - #endif - - static int -- ProcXF86VidModeQueryVersion(ClientPtr client) { -+ProcXF86VidModeQueryVersion(ClientPtr client) -+{ - xXF86VidModeQueryVersionReply rep; - -- DEBUG_P("XF86VidModeQueryVersion"); -+ DEBUG_P("XF86VidModeQueryVersion"); - -- REQUEST_SIZE_MATCH(xXF86VidModeQueryVersionReq); -- rep.type = X_Reply; -- rep.length = 0; -- rep.sequenceNumber = client->sequence; -- rep.majorVersion = SERVER_XF86VIDMODE_MAJOR_VERSION; -- rep.minorVersion = SERVER_XF86VIDMODE_MINOR_VERSION; -+ REQUEST_SIZE_MATCH(xXF86VidModeQueryVersionReq); -+ rep.type = X_Reply; -+ rep.length = 0; -+ rep.sequenceNumber = client->sequence; -+ rep.majorVersion = SERVER_XF86VIDMODE_MAJOR_VERSION; -+ rep.minorVersion = SERVER_XF86VIDMODE_MINOR_VERSION; - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swaps(&rep.majorVersion); - swaps(&rep.minorVersion); -- } WriteToClient(client, sizeof(xXF86VidModeQueryVersionReply), -- (char *) &rep); -+ } -+ WriteToClient(client, sizeof(xXF86VidModeQueryVersionReply), (char *) &rep); - return Success; ++ if (emulate_pointer) ++ UpdateDeviceState(dev, &ev->device_event); } - static int -- ProcXF86VidModeGetModeLine(ClientPtr client) { -+ProcXF86VidModeGetModeLine(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetModeLineReq); - xXF86VidModeGetModeLineReply rep; - xXF86OldVidModeGetModeLineReply oldrep; -@@ -294,11 +310,11 @@ static int - int dotClock; - int ver; - -- DEBUG_P("XF86VidModeGetModeline"); -+ DEBUG_P("XF86VidModeGetModeline"); - -- ver = ClientMajorVersion(client); -- REQUEST_SIZE_MATCH(xXF86VidModeGetModeLineReq); -- rep.type = X_Reply; -+ ver = ClientMajorVersion(client); -+ REQUEST_SIZE_MATCH(xXF86VidModeGetModeLineReq); -+ rep.type = X_Reply; - if (ver < 2) { - rep.length = bytes_to_int32(SIZEOF(xXF86OldVidModeGetModeLineReply) - - SIZEOF(xGenericReply)); -@@ -386,7 +402,8 @@ static int - } - - static int -- ProcXF86VidModeGetAllModeLines(ClientPtr client) { -+ProcXF86VidModeGetAllModeLines(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetAllModeLinesReq); - xXF86VidModeGetAllModeLinesReply rep; - xXF86VidModeModeInfo mdinf; -@@ -395,38 +412,39 @@ static int - int modecount, dotClock; - int ver; - -- DEBUG_P("XF86VidModeGetAllModelines"); -+ DEBUG_P("XF86VidModeGetAllModelines"); - -- REQUEST_SIZE_MATCH(xXF86VidModeGetAllModeLinesReq); -+ REQUEST_SIZE_MATCH(xXF86VidModeGetAllModeLinesReq); - - if (stuff->screen >= screenInfo.numScreens) -- return BadValue; -+ return BadValue; - -- ver = ClientMajorVersion(client); -+ ver = ClientMajorVersion(client); - -- modecount = VidModeGetNumOfModes(stuff->screen); -+ modecount = VidModeGetNumOfModes(stuff->screen); - if (modecount < 1) -- return VidModeErrorBase + XF86VidModeExtensionDisabled; -+ return VidModeErrorBase + XF86VidModeExtensionDisabled; - - if (!VidModeGetFirstModeline(stuff->screen, &mode, &dotClock)) -- return BadValue; -+ return BadValue; - -- rep.type = X_Reply; -- rep.length = SIZEOF(xXF86VidModeGetAllModeLinesReply) - -+ rep.type = X_Reply; -+ rep.length = SIZEOF(xXF86VidModeGetAllModeLinesReply) - - SIZEOF(xGenericReply); - if (ver < 2) -- rep.length += modecount * sizeof(xXF86OldVidModeModeInfo); -+ rep.length += modecount * sizeof(xXF86OldVidModeModeInfo); - else -- rep.length += modecount * sizeof(xXF86VidModeModeInfo); -- rep.length >>= 2; -- rep.sequenceNumber = client->sequence; -- rep.modecount = modecount; -+ rep.length += modecount * sizeof(xXF86VidModeModeInfo); -+ rep.length >>= 2; -+ rep.sequenceNumber = client->sequence; -+ rep.modecount = modecount; - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swapl(&rep.modecount); -- } WriteToClient(client, sizeof(xXF86VidModeGetAllModeLinesReply), -- (char *) &rep); -+ } -+ WriteToClient(client, sizeof(xXF86VidModeGetAllModeLinesReply), -+ (char *) &rep); - - do { - mdinf.dotclock = dotClock; -@@ -492,7 +510,8 @@ static int - && VidModeGetModeValue(mode, VIDMODE_FLAGS) == stuff->flags ) - - static int -- ProcXF86VidModeAddModeLine(ClientPtr client) { -+ProcXF86VidModeAddModeLine(ClientPtr client) -+{ - REQUEST(xXF86VidModeAddModeLineReq); - xXF86OldVidModeAddModeLineReq *oldstuff = - (xXF86OldVidModeAddModeLineReq *) client->requestBuffer; -@@ -502,9 +521,9 @@ static int - int dotClock; - int ver; - -- DEBUG_P("XF86VidModeAddModeline"); -+ DEBUG_P("XF86VidModeAddModeline"); - -- ver = ClientMajorVersion(client); -+ ver = ClientMajorVersion(client); - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -533,7 +552,8 @@ static int - stuff->after_vsyncend = oldstuff->after_vsyncend; - stuff->after_vtotal = oldstuff->after_vtotal; - stuff->after_flags = oldstuff->after_flags; -- } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { -+ } -+ if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { - ErrorF("AddModeLine - scrn: %d clock: %ld\n", - (int) stuff->screen, (unsigned long) stuff->dotclock); - ErrorF("AddModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n", -@@ -654,7 +674,8 @@ static int - } - - static int -- ProcXF86VidModeDeleteModeLine(ClientPtr client) { -+ProcXF86VidModeDeleteModeLine(ClientPtr client) -+{ - REQUEST(xXF86VidModeDeleteModeLineReq); - xXF86OldVidModeDeleteModeLineReq *oldstuff = - (xXF86OldVidModeDeleteModeLineReq *) client->requestBuffer; -@@ -663,9 +684,9 @@ static int - int len, dotClock; - int ver; - -- DEBUG_P("XF86VidModeDeleteModeline"); -+ DEBUG_P("XF86VidModeDeleteModeline"); - -- ver = ClientMajorVersion(client); -+ ver = ClientMajorVersion(client); - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -683,7 +704,8 @@ static int - stuff->vtotal = oldstuff->vtotal; - stuff->flags = oldstuff->flags; - stuff->privsize = oldstuff->privsize; -- } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { -+ } -+ if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { - ErrorF("DeleteModeLine - scrn: %d clock: %ld\n", - (int) stuff->screen, (unsigned long) stuff->dotclock); - ErrorF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", -@@ -777,7 +799,8 @@ static int - } - - static int -- ProcXF86VidModeModModeLine(ClientPtr client) { -+ProcXF86VidModeModModeLine(ClientPtr client) -+{ - REQUEST(xXF86VidModeModModeLineReq); - xXF86OldVidModeModModeLineReq *oldstuff = - (xXF86OldVidModeModModeLineReq *) client->requestBuffer; -@@ -786,9 +809,9 @@ static int - int len, dotClock; - int ver; - -- DEBUG_P("XF86VidModeModModeline"); -+ DEBUG_P("XF86VidModeModModeline"); - -- ver = ClientMajorVersion(client); -+ ver = ClientMajorVersion(client); - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -805,7 +828,8 @@ static int - stuff->vtotal = oldstuff->vtotal; - stuff->flags = oldstuff->flags; - stuff->privsize = oldstuff->privsize; -- } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { -+ } -+ if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { - ErrorF("ModModeLine - scrn: %d hdsp: %d hbeg: %d hend: %d httl: %d\n", - (int) stuff->screen, stuff->hdisplay, stuff->hsyncstart, - stuff->hsyncend, stuff->htotal); -@@ -903,7 +927,8 @@ static int - } - - static int -- ProcXF86VidModeValidateModeLine(ClientPtr client) { -+ProcXF86VidModeValidateModeLine(ClientPtr client) -+{ - REQUEST(xXF86VidModeValidateModeLineReq); - xXF86OldVidModeValidateModeLineReq *oldstuff = - (xXF86OldVidModeValidateModeLineReq *) client->requestBuffer; -@@ -913,9 +938,9 @@ static int - int len, status, dotClock; - int ver; - -- DEBUG_P("XF86VidModeValidateModeline"); -+ DEBUG_P("XF86VidModeValidateModeline"); - -- ver = ClientMajorVersion(client); -+ ver = ClientMajorVersion(client); - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -933,7 +958,8 @@ static int - stuff->vtotal = oldstuff->vtotal; - stuff->flags = oldstuff->flags; - stuff->privsize = oldstuff->privsize; -- } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { -+ } -+ if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { - ErrorF("ValidateModeLine - scrn: %d clock: %ld\n", - (int) stuff->screen, (unsigned long) stuff->dotclock); - ErrorF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", -@@ -1022,7 +1048,8 @@ static int - } - - static int -- ProcXF86VidModeSwitchMode(ClientPtr client) { -+ProcXF86VidModeSwitchMode(ClientPtr client) -+{ - REQUEST(xXF86VidModeSwitchModeReq); - - DEBUG_P("XF86VidModeSwitchMode"); -@@ -1035,8 +1062,11 @@ static int - VidModeZoomViewport(stuff->screen, (short) stuff->zoom); - - return Success; --} static int -- ProcXF86VidModeSwitchToMode(ClientPtr client) { -+} -+ -+static int -+ProcXF86VidModeSwitchToMode(ClientPtr client) -+{ - REQUEST(xXF86VidModeSwitchToModeReq); - xXF86OldVidModeSwitchToModeReq *oldstuff = - (xXF86OldVidModeSwitchToModeReq *) client->requestBuffer; -@@ -1045,9 +1075,9 @@ static int - int len, dotClock; - int ver; - -- DEBUG_P("XF86VidModeSwitchToMode"); -+ DEBUG_P("XF86VidModeSwitchToMode"); + /** +@@ -1864,6 +1868,11 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev, + goto out; + } -- ver = ClientMajorVersion(client); -+ ver = ClientMajorVersion(client); - if (ver < 2) { - /* convert from old format */ - stuff = &newstuff; -@@ -1065,7 +1095,8 @@ static int - stuff->vtotal = oldstuff->vtotal; - stuff->flags = oldstuff->flags; - stuff->privsize = oldstuff->privsize; -- } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { ++ if (listener->state == LISTENER_AWAITING_BEGIN) { ++ listener->state = LISTENER_HAS_END; ++ goto out; + } -+ if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) { - ErrorF("SwitchToMode - scrn: %d clock: %ld\n", - (int) stuff->screen, (unsigned long) stuff->dotclock); - ErrorF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", -@@ -1138,7 +1169,8 @@ static int - } - - static int -- ProcXF86VidModeLockModeSwitch(ClientPtr client) { -+ProcXF86VidModeLockModeSwitch(ClientPtr client) -+{ - REQUEST(xXF86VidModeLockModeSwitchReq); - - REQUEST_SIZE_MATCH(xXF86VidModeLockModeSwitchReq); -@@ -1152,53 +1184,57 @@ static int - return VidModeErrorBase + XF86VidModeZoomLocked; - - return Success; --} static int -- ProcXF86VidModeGetMonitor(ClientPtr client) { -+} + -+static int -+ProcXF86VidModeGetMonitor(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetMonitorReq); - xXF86VidModeGetMonitorReply rep; - CARD32 *hsyncdata, *vsyncdata; - int i, nHsync, nVrefresh; - pointer monitor; - -- DEBUG_P("XF86VidModeGetMonitor"); -+ DEBUG_P("XF86VidModeGetMonitor"); - -- REQUEST_SIZE_MATCH(xXF86VidModeGetMonitorReq); -+ REQUEST_SIZE_MATCH(xXF86VidModeGetMonitorReq); - - if (stuff->screen >= screenInfo.numScreens) -- return BadValue; -+ return BadValue; - - if (!VidModeGetMonitor(stuff->screen, &monitor)) -- return BadValue; -+ return BadValue; - -- nHsync = VidModeGetMonitorValue(monitor, VIDMODE_MON_NHSYNC, 0).i; -- nVrefresh = VidModeGetMonitorValue(monitor, VIDMODE_MON_NVREFRESH, 0).i; -+ nHsync = VidModeGetMonitorValue(monitor, VIDMODE_MON_NHSYNC, 0).i; -+ nVrefresh = VidModeGetMonitorValue(monitor, VIDMODE_MON_NVREFRESH, 0).i; + /* Event in response to reject */ + if (ev->device_event.flags & TOUCH_REJECT) { + if (listener->state != LISTENER_HAS_END) +diff --git a/Xi/xiselectev.c b/Xi/xiselectev.c +index 0e45cb8..ab1b624 100644 +--- a/Xi/xiselectev.c ++++ b/Xi/xiselectev.c +@@ -180,8 +180,13 @@ ProcXISelectEvents(ClientPtr client) + if (CLIENT_ID(iclient->resource) == client->index) + continue; + +- dixLookupDevice(&tmp, evmask->deviceid, serverClient, +- DixReadAccess); ++ if (evmask->deviceid == XIAllDevices) ++ tmp = inputInfo.all_devices; ++ else if (evmask->deviceid == XIAllMasterDevices) ++ tmp = inputInfo.all_master_devices; ++ else ++ dixLookupDevice(&tmp, evmask->deviceid, serverClient, ++ DixReadAccess); + if (!tmp) + return BadImplementation; /* this shouldn't happen */ + +diff --git a/config/udev.c b/config/udev.c +index c2d00bb..454838f 100644 +--- a/config/udev.c ++++ b/config/udev.c +@@ -300,9 +300,15 @@ wakeup_handler(pointer data, int err, pointer read_mask) + return; + action = udev_device_get_action(udev_device); + if (action) { +- if (!strcmp(action, "add") || !strcmp(action, "change")) { ++ if (!strcmp(action, "add")) { + device_removed(udev_device); + device_added(udev_device); ++ } else if (!strcmp(action, "change")) { ++ /* ignore change for the drm devices */ ++ if (strcmp(udev_device_get_subsystem(udev_device), "drm")) { ++ device_removed(udev_device); ++ device_added(udev_device); ++ } + } + else if (!strcmp(action, "remove")) + device_removed(udev_device); +diff --git a/dix/devices.c b/dix/devices.c +index 9cf04ed..fd4916a 100644 +--- a/dix/devices.c ++++ b/dix/devices.c +@@ -306,6 +306,9 @@ AddInputDevice(ClientPtr client, DeviceProc deviceProc, Bool autoStart) + /* unity matrix */ + memset(transform, 0, sizeof(transform)); + transform[0] = transform[4] = transform[8] = 1.0f; ++ dev->transform.m[0][0] = 1.0; ++ dev->transform.m[1][1] = 1.0; ++ dev->transform.m[2][2] = 1.0; + + XIChangeDeviceProperty(dev, XIGetKnownProperty(XI_PROP_TRANSFORM), + XIGetKnownProperty(XATOM_FLOAT), 32, +@@ -440,6 +443,7 @@ DisableDevice(DeviceIntPtr dev, BOOL sendevent) + if (*prev != dev) + return FALSE; -- rep.type = X_Reply; -+ rep.type = X_Reply; - if ((char *) (VidModeGetMonitorValue(monitor, VIDMODE_MON_VENDOR, 0)).ptr) -- rep.vendorLength = strlen((char *) (VidModeGetMonitorValue(monitor, -- VIDMODE_MON_VENDOR, -- 0)).ptr); -+ rep.vendorLength = strlen((char *) (VidModeGetMonitorValue(monitor, -+ VIDMODE_MON_VENDOR, -+ 0)).ptr); ++ TouchEndPhysicallyActiveTouches(dev); + ReleaseButtonsAndKeys(dev); + SyncRemoveDeviceIdleTime(dev->idle_counter); + dev->idle_counter = NULL; +diff --git a/dix/events.c b/dix/events.c +index 3b40446..ddb5b34 100644 +--- a/dix/events.c ++++ b/dix/events.c +@@ -1555,11 +1555,13 @@ ActivateKeyboardGrab(DeviceIntPtr keybd, GrabPtr grab, TimeStamp time, + WindowPtr oldWin; + + /* slave devices need to float for the duration of the grab. */ +- if (grab->grabtype == XI2 && ++ if (grab->grabtype == XI2 && keybd->enabled && + !(passive & ImplicitGrabMask) && !IsMaster(keybd)) + DetachFromMaster(keybd); + +- if (grabinfo->grab) ++ if (!keybd->enabled) ++ oldWin = NULL; ++ else if (grabinfo->grab) + oldWin = grabinfo->grab->window; + else if (keybd->focus) + oldWin = keybd->focus->win; +@@ -1569,7 +1571,8 @@ ActivateKeyboardGrab(DeviceIntPtr keybd, GrabPtr grab, TimeStamp time, + oldWin = keybd->focus->win; + if (keybd->valuator) + keybd->valuator->motionHintWindow = NullWindow; +- DoFocusEvents(keybd, oldWin, grab->window, NotifyGrab); ++ if (oldWin) ++ DoFocusEvents(keybd, oldWin, grab->window, NotifyGrab); + if (syncEvents.playingEvents) + grabinfo->grabTime = syncEvents.time; else -- rep.vendorLength = 0; -+ rep.vendorLength = 0; - if ((char *) (VidModeGetMonitorValue(monitor, VIDMODE_MON_MODEL, 0)).ptr) -- rep.modelLength = strlen((char *) (VidModeGetMonitorValue(monitor, -- VIDMODE_MON_MODEL, -- 0)).ptr); -+ rep.modelLength = strlen((char *) (VidModeGetMonitorValue(monitor, -+ VIDMODE_MON_MODEL, -+ 0)).ptr); - else -- rep.modelLength = 0; -- rep.length = -+ rep.modelLength = 0; -+ rep.length = - bytes_to_int32(SIZEOF(xXF86VidModeGetMonitorReply) - - SIZEOF(xGenericReply) + (nHsync + - nVrefresh) * sizeof(CARD32) + - pad_to_int32(rep.vendorLength) + - pad_to_int32(rep.modelLength)); -- rep.sequenceNumber = client->sequence; -- rep.nhsync = nHsync; -- rep.nvsync = nVrefresh; -- hsyncdata = malloc(nHsync * sizeof(CARD32)); -+ rep.sequenceNumber = client->sequence; -+ rep.nhsync = nHsync; -+ rep.nvsync = nVrefresh; -+ hsyncdata = malloc(nHsync * sizeof(CARD32)); - if (!hsyncdata) { - return BadAlloc; -- } vsyncdata = malloc(nVrefresh * sizeof(CARD32)); -+ } -+ vsyncdata = malloc(nVrefresh * sizeof(CARD32)); - - if (!vsyncdata) { - free(hsyncdata); -@@ -1208,19 +1244,18 @@ static int - for (i = 0; i < nHsync; i++) { - hsyncdata[i] = (unsigned short) (VidModeGetMonitorValue(monitor, - VIDMODE_MON_HSYNC_LO, -- i)). -- f | (unsigned -- short) (VidModeGetMonitorValue(monitor, VIDMODE_MON_HSYNC_HI, -- i)).f << 16; -+ i)).f | -+ (unsigned -+ short) (VidModeGetMonitorValue(monitor, VIDMODE_MON_HSYNC_HI, -+ i)).f << 16; - } - for (i = 0; i < nVrefresh; i++) { - vsyncdata[i] = (unsigned short) (VidModeGetMonitorValue(monitor, - VIDMODE_MON_VREFRESH_LO, -- i)). -- f | (unsigned -- short) (VidModeGetMonitorValue(monitor, -- VIDMODE_MON_VREFRESH_HI, -- i)).f << 16; -+ i)).f | -+ (unsigned -+ short) (VidModeGetMonitorValue(monitor, VIDMODE_MON_VREFRESH_HI, -+ i)).f << 16; +@@ -1590,13 +1593,10 @@ DeactivateKeyboardGrab(DeviceIntPtr keybd) + { + GrabPtr grab = keybd->deviceGrab.grab; + DeviceIntPtr dev; +- WindowPtr focusWin = keybd->focus ? keybd->focus->win +- : keybd->spriteInfo->sprite->win; ++ WindowPtr focusWin; + Bool wasImplicit = (keybd->deviceGrab.fromPassiveGrab && + keybd->deviceGrab.implicitGrab); + +- if (focusWin == FollowKeyboardWin) +- focusWin = inputInfo.keyboard->focus->win; + if (keybd->valuator) + keybd->valuator->motionHintWindow = NullWindow; + keybd->deviceGrab.grab = NullGrab; +@@ -1607,6 +1607,17 @@ DeactivateKeyboardGrab(DeviceIntPtr keybd) + if (dev->deviceGrab.sync.other == grab) + dev->deviceGrab.sync.other = NullGrab; } - - if (client->swapped) { -@@ -1249,38 +1284,40 @@ static int - } - - static int -- ProcXF86VidModeGetViewPort(ClientPtr client) { -+ProcXF86VidModeGetViewPort(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetViewPortReq); - xXF86VidModeGetViewPortReply rep; - int x, y; - -- DEBUG_P("XF86VidModeGetViewPort"); -+ DEBUG_P("XF86VidModeGetViewPort"); - -- REQUEST_SIZE_MATCH(xXF86VidModeGetViewPortReq); -+ REQUEST_SIZE_MATCH(xXF86VidModeGetViewPortReq); - - if (stuff->screen >= screenInfo.numScreens) -- return BadValue; -+ return BadValue; - -- rep.type = X_Reply; -- rep.length = 0; -- rep.sequenceNumber = client->sequence; -+ rep.type = X_Reply; -+ rep.length = 0; -+ rep.sequenceNumber = client->sequence; - -- VidModeGetViewPort(stuff->screen, &x, &y); -- rep.x = x; -- rep.y = y; -+ VidModeGetViewPort(stuff->screen, &x, &y); -+ rep.x = x; -+ rep.y = y; - - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swapl(&rep.x); - swapl(&rep.y); -- } WriteToClient(client, SIZEOF(xXF86VidModeGetViewPortReply), -- (char *) &rep); -+ } -+ WriteToClient(client, SIZEOF(xXF86VidModeGetViewPortReply), (char *) &rep); - return Success; - } - - static int -- ProcXF86VidModeSetViewPort(ClientPtr client) { -+ProcXF86VidModeSetViewPort(ClientPtr client) -+{ - REQUEST(xXF86VidModeSetViewPortReq); - - DEBUG_P("XF86VidModeSetViewPort"); -@@ -1294,8 +1331,11 @@ static int - return BadValue; - - return Success; --} static int -- ProcXF86VidModeGetDotClocks(ClientPtr client) { -+} + -+static int -+ProcXF86VidModeGetDotClocks(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetDotClocksReq); - xXF86VidModeGetDotClocksReply rep; - int n; -@@ -1304,31 +1344,33 @@ static int - int *Clocks = NULL; - Bool ClockProg; - -- DEBUG_P("XF86VidModeGetDotClocks"); -+ DEBUG_P("XF86VidModeGetDotClocks"); - -- REQUEST_SIZE_MATCH(xXF86VidModeGetDotClocksReq); -+ REQUEST_SIZE_MATCH(xXF86VidModeGetDotClocksReq); - - if (stuff->screen >= screenInfo.numScreens) -- return BadValue; -+ return BadValue; - -- numClocks = VidModeGetNumOfClocks(stuff->screen, &ClockProg); -+ numClocks = VidModeGetNumOfClocks(stuff->screen, &ClockProg); - -- rep.type = X_Reply; -- rep.length = bytes_to_int32(SIZEOF(xXF86VidModeGetDotClocksReply) -- - SIZEOF(xGenericReply) + numClocks); -- rep.sequenceNumber = client->sequence; -- rep.clocks = numClocks; -- rep.maxclocks = MAXCLOCKS; -- rep.flags = 0; -+ rep.type = X_Reply; -+ rep.length = bytes_to_int32(SIZEOF(xXF86VidModeGetDotClocksReply) -+ - SIZEOF(xGenericReply) + numClocks); -+ rep.sequenceNumber = client->sequence; -+ rep.clocks = numClocks; -+ rep.maxclocks = MAXCLOCKS; -+ rep.flags = 0; - - if (!ClockProg) { - Clocks = malloc(numClocks * sizeof(int)); - if (!Clocks) -- return BadValue; -+ return BadValue; - if (!VidModeGetClocks(stuff->screen, Clocks)) { - free(Clocks); - return BadValue; -- }} if (ClockProg) { -+ } -+ } -+ if (ClockProg) { - rep.flags |= CLKFLAG_PROGRAMABLE; - } - if (client->swapped) { -@@ -1356,7 +1398,8 @@ static int - } - - static int -- ProcXF86VidModeSetGamma(ClientPtr client) { -+ProcXF86VidModeSetGamma(ClientPtr client) -+{ - REQUEST(xXF86VidModeSetGammaReq); - - DEBUG_P("XF86VidModeSetGamma"); -@@ -1372,79 +1415,89 @@ static int - return BadValue; - - return Success; --} static int -- ProcXF86VidModeGetGamma(ClientPtr client) { -+} ++ if (keybd->focus) ++ focusWin = keybd->focus->win; ++ else if (keybd->spriteInfo->sprite) ++ focusWin = keybd->spriteInfo->sprite->win; ++ else ++ focusWin = NullWindow; + -+static int -+ProcXF86VidModeGetGamma(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetGammaReq); - xXF86VidModeGetGammaReply rep; - float red, green, blue; - -- DEBUG_P("XF86VidModeGetGamma"); -+ DEBUG_P("XF86VidModeGetGamma"); ++ if (focusWin == FollowKeyboardWin) ++ focusWin = inputInfo.keyboard->focus->win; ++ + DoFocusEvents(keybd, grab->window, focusWin, NotifyUngrab); -- REQUEST_SIZE_MATCH(xXF86VidModeGetGammaReq); -+ REQUEST_SIZE_MATCH(xXF86VidModeGetGammaReq); + if (!wasImplicit && grab->grabtype == XI2) +diff --git a/dix/getevents.c b/dix/getevents.c +index 4e62507..8b4379d 100644 +--- a/dix/getevents.c ++++ b/dix/getevents.c +@@ -896,9 +896,9 @@ scale_to_desktop(DeviceIntPtr dev, ValuatorMask *mask, + + /* scale x&y to desktop coordinates */ + *screenx = rescaleValuatorAxis(x, dev->valuator->axes + 0, NULL, +- screenInfo.x, screenInfo.width); ++ screenInfo.x, screenInfo.width - 1); + *screeny = rescaleValuatorAxis(y, dev->valuator->axes + 1, NULL, +- screenInfo.y, screenInfo.height); ++ screenInfo.y, screenInfo.height - 1); + + *devx = x; + *devy = y; +@@ -1400,8 +1400,9 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, + coordinates were. + */ + if (flags & POINTER_SCREEN) { +- screenx = sx; +- screeny = sy; ++ scr = miPointerGetScreen(pDev); ++ screenx = sx + scr->x; ++ screeny = sy + scr->y; + } - if (stuff->screen >= screenInfo.numScreens) -- return BadValue; -+ return BadValue; + scr = positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative, +diff --git a/dix/touch.c b/dix/touch.c +index 497ad7d..5f77be5 100644 +--- a/dix/touch.c ++++ b/dix/touch.c +@@ -572,8 +572,8 @@ TouchBuildSprite(DeviceIntPtr sourcedev, TouchPointInfoPtr ti, + return FALSE; -- rep.type = X_Reply; -- rep.length = 0; -- rep.sequenceNumber = client->sequence; -+ rep.type = X_Reply; -+ rep.length = 0; -+ rep.sequenceNumber = client->sequence; - if (!VidModeGetGamma(stuff->screen, &red, &green, &blue)) -- return BadValue; -- rep.red = (CARD32) (red * 10000.); -- rep.green = (CARD32) (green * 10000.); -- rep.blue = (CARD32) (blue * 10000.); -+ return BadValue; -+ rep.red = (CARD32) (red * 10000.); -+ rep.green = (CARD32) (green * 10000.); -+ rep.blue = (CARD32) (blue * 10000.); - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swapl(&rep.red); - swapl(&rep.green); - swapl(&rep.blue); -- } WriteToClient(client, sizeof(xXF86VidModeGetGammaReply), (char *) &rep); -+ } -+ WriteToClient(client, sizeof(xXF86VidModeGetGammaReply), (char *) &rep); + /* Mark which grabs/event selections we're delivering to: max one grab per +- * window plus the bottom-most event selection. */ +- ti->listeners = calloc(sprite->spriteTraceGood + 1, sizeof(*ti->listeners)); ++ * window plus the bottom-most event selection, plus any active grab. */ ++ ti->listeners = calloc(sprite->spriteTraceGood + 2, sizeof(*ti->listeners)); + if (!ti->listeners) { + sprite->spriteTraceGood = 0; + return FALSE; +@@ -1029,3 +1029,31 @@ TouchAcceptReject(ClientPtr client, DeviceIntPtr dev, int mode, - return Success; + return TouchListenerAcceptReject(dev, ti, i, mode); } - - static int -- ProcXF86VidModeSetGammaRamp(ClientPtr client) { -+ProcXF86VidModeSetGammaRamp(ClientPtr client) ++ ++/** ++ * End physically active touches for a device. ++ */ ++void ++TouchEndPhysicallyActiveTouches(DeviceIntPtr dev) +{ - CARD16 *r, *g, *b; - int length; -- REQUEST(xXF86VidModeSetGammaRampReq); ++ InternalEvent *eventlist = InitEventList(GetMaximumEventsNum()); ++ int i; + -+ REQUEST(xXF86VidModeSetGammaRampReq); - - if (stuff->screen >= screenInfo.numScreens) -- return BadValue; -+ return BadValue; - - if (stuff->size != VidModeGetGammaRampSize(stuff->screen)) -- return BadValue; -+ return BadValue; - -- length = (stuff->size + 1) & ~1; -+ length = (stuff->size + 1) & ~1; - -- REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length * 6); -+ REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length * 6); - -- r = (CARD16 *) &stuff[1]; -- g = r + length; -- b = g + length; -+ r = (CARD16 *) &stuff[1]; -+ g = r + length; -+ b = g + length; - - if (!VidModeSetGammaRamp(stuff->screen, stuff->size, r, g, b)) -- return BadValue; -+ return BadValue; - -- return Success; --} static int -- ProcXF86VidModeGetGammaRamp(ClientPtr client) { -+ return Success; -+} ++ OsBlockSignals(); ++ mieqProcessInputEvents(); ++ for (i = 0; i < dev->last.num_touches; i++) { ++ DDXTouchPointInfoPtr ddxti = dev->last.touches + i; + -+static int -+ProcXF86VidModeGetGammaRamp(ClientPtr client) -+{ - CARD16 *ramp = NULL; - int length; - size_t ramplen = 0; - xXF86VidModeGetGammaRampReply rep; -- REQUEST(xXF86VidModeGetGammaRampReq); ++ if (ddxti->active) { ++ int j; ++ int nevents = GetTouchEvents(eventlist, dev, ddxti->ddx_id, ++ XI_TouchEnd, 0, NULL); + -+ REQUEST(xXF86VidModeGetGammaRampReq); - - if (stuff->screen >= screenInfo.numScreens) -- return BadValue; -+ return BadValue; - - if (stuff->size != VidModeGetGammaRampSize(stuff->screen)) -- return BadValue; -+ return BadValue; - -- REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampReq); -+ REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampReq); - -- length = (stuff->size + 1) & ~1; -+ length = (stuff->size + 1) & ~1; - - if (stuff->size) { - ramplen = length * 3 * sizeof(CARD16); -@@ -1455,7 +1508,9 @@ static int - ramp, ramp + length, ramp + (length * 2))) { - free(ramp); - return BadValue; -- }} rep.type = X_Reply; ++ for (j = 0; j < nevents; j++) ++ mieqProcessDeviceEvent(dev, eventlist + j, NULL); + } + } -+ rep.type = X_Reply; - rep.length = (length >> 1) * 3; - rep.sequenceNumber = client->sequence; - rep.size = stuff->size; -@@ -1476,47 +1531,53 @@ static int - } - - static int -- ProcXF86VidModeGetGammaRampSize(ClientPtr client) { -+ProcXF86VidModeGetGammaRampSize(ClientPtr client) -+{ - xXF86VidModeGetGammaRampSizeReply rep; -- REQUEST(xXF86VidModeGetGammaRampSizeReq); ++ OsReleaseSignals(); + -+ REQUEST(xXF86VidModeGetGammaRampSizeReq); - - if (stuff->screen >= screenInfo.numScreens) -- return BadValue; -+ return BadValue; - -- REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampSizeReq); -+ REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampSizeReq); - -- rep.type = X_Reply; -- rep.length = 0; -- rep.sequenceNumber = client->sequence; -- rep.size = VidModeGetGammaRampSize(stuff->screen); -+ rep.type = X_Reply; -+ rep.length = 0; -+ rep.sequenceNumber = client->sequence; -+ rep.size = VidModeGetGammaRampSize(stuff->screen); - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swaps(&rep.size); -- } WriteToClient(client, sizeof(xXF86VidModeGetGammaRampSizeReply), -- (char *) &rep); -+ } -+ WriteToClient(client, sizeof(xXF86VidModeGetGammaRampSizeReply), -+ (char *) &rep); - - return Success; - } - - static int -- ProcXF86VidModeGetPermissions(ClientPtr client) { -+ProcXF86VidModeGetPermissions(ClientPtr client) -+{ - xXF86VidModeGetPermissionsReply rep; -- REQUEST(xXF86VidModeGetPermissionsReq); ++ FreeEventList(eventlist, GetMaximumEventsNum()); ++} +diff --git a/exa/exa_priv.h b/exa/exa_priv.h +index ea7e7fa..2e4759d 100644 +--- a/exa/exa_priv.h ++++ b/exa/exa_priv.h +@@ -209,6 +209,7 @@ typedef struct { + RegionRec srcReg; + RegionRec maskReg; + PixmapPtr srcPix; ++ PixmapPtr maskPix; + + DevPrivateKeyRec pixmapPrivateKeyRec; + DevPrivateKeyRec gcPrivateKeyRec; +diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c +index 5716138..b0a0011 100644 +--- a/exa/exa_unaccel.c ++++ b/exa/exa_unaccel.c +@@ -442,6 +442,13 @@ ExaSrcValidate(DrawablePtr pDrawable, + RegionPtr dst; + int xoff, yoff; + ++ if (pExaScr->srcPix == pPix) ++ dst = &pExaScr->srcReg; ++ else if (pExaScr->maskPix == pPix) ++ dst = &pExaScr->maskReg; ++ else ++ return; + -+ REQUEST(xXF86VidModeGetPermissionsReq); + exaGetDrawableDeltas(pDrawable, pPix, &xoff, &yoff); - if (stuff->screen >= screenInfo.numScreens) -- return BadValue; -+ return BadValue; + box.x1 = x + xoff; +@@ -449,8 +456,6 @@ ExaSrcValidate(DrawablePtr pDrawable, + box.x2 = box.x1 + width; + box.y2 = box.y1 + height; -- REQUEST_SIZE_MATCH(xXF86VidModeGetPermissionsReq); -+ REQUEST_SIZE_MATCH(xXF86VidModeGetPermissionsReq); - -- rep.type = X_Reply; -- rep.length = 0; -- rep.sequenceNumber = client->sequence; -- rep.permissions = XF86VM_READ_PERMISSION; -+ rep.type = X_Reply; -+ rep.length = 0; -+ rep.sequenceNumber = client->sequence; -+ rep.permissions = XF86VM_READ_PERMISSION; - if (xf86GetVidModeEnabled() && - (xf86GetVidModeAllowNonLocal() || LocalClient(client))) { - rep.permissions |= XF86VM_WRITE_PERMISSION; -- } if (client->swapped) { -+ } -+ if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swapl(&rep.permissions); -@@ -1528,21 +1589,23 @@ static int - } - - static int -- ProcXF86VidModeSetClientVersion(ClientPtr client) { -+ProcXF86VidModeSetClientVersion(ClientPtr client) -+{ - REQUEST(xXF86VidModeSetClientVersionReq); - - VidModePrivPtr pPriv; - -- DEBUG_P("XF86VidModeSetClientVersion"); -+ DEBUG_P("XF86VidModeSetClientVersion"); - -- REQUEST_SIZE_MATCH(xXF86VidModeSetClientVersionReq); -+ REQUEST_SIZE_MATCH(xXF86VidModeSetClientVersionReq); - - if ((pPriv = VM_GETPRIV(client)) == NULL) { - pPriv = malloc(sizeof(VidModePrivRec)); - if (!pPriv) - return BadAlloc; - VM_SETPRIV(client, pPriv); -- } pPriv->major = stuff->major; -+ } -+ pPriv->major = stuff->major; - - pPriv->minor = stuff->minor; - -@@ -1550,85 +1613,103 @@ static int - } +- dst = (pExaScr->srcPix == pPix) ? &pExaScr->srcReg : &pExaScr->maskReg; +- + RegionInit(®, &box, 1); + RegionUnion(dst, dst, ®); + RegionUninit(®); +@@ -495,16 +500,19 @@ ExaPrepareCompositeReg(ScreenPtr pScreen, + if (pSrc != pDst) + RegionTranslate(pSrc->pCompositeClip, + -pSrc->pDrawable->x, -pSrc->pDrawable->y); +- } ++ } else ++ pExaScr->srcPix = NULL; + + if (pMask && pMask->pDrawable) { + pMaskPix = exaGetDrawablePixmap(pMask->pDrawable); + RegionNull(&pExaScr->maskReg); + maskReg = &pExaScr->maskReg; ++ pExaScr->maskPix = pMaskPix; + if (pMask != pDst && pMask != pSrc) + RegionTranslate(pMask->pCompositeClip, + -pMask->pDrawable->x, -pMask->pDrawable->y); +- } ++ } else ++ pExaScr->maskPix = NULL; + + RegionTranslate(pDst->pCompositeClip, + -pDst->pDrawable->x, -pDst->pDrawable->y); +diff --git a/hw/xfree86/common/Makefile.am b/hw/xfree86/common/Makefile.am +index f8fcde9..532d87b 100644 +--- a/hw/xfree86/common/Makefile.am ++++ b/hw/xfree86/common/Makefile.am +@@ -15,6 +15,7 @@ XVSDKINCS = xf86xv.h xf86xvmc.h xf86xvpriv.h + endif + + if XF86VIDMODE ++XF86VMODESOURCES = xf86vmode.c + XF86VMODE_SDK = vidmodeproc.h + endif + +@@ -47,7 +48,7 @@ libcommon_la_SOURCES = xf86Configure.c xf86Bus.c xf86Config.c \ + xf86VidMode.c xf86fbman.c xf86cmap.c \ + xf86Helper.c xf86PM.c xf86Xinput.c xisb.c \ + xf86Mode.c xorgHelper.c xf86Extensions.h \ +- xf86Extensions.c xf86vmode.c \ ++ xf86Extensions.c $(XF86VMODESOURCES) \ + $(XVSOURCES) $(BUSSOURCES) $(RANDRSOURCES) + nodist_libcommon_la_SOURCES = xf86DefModeSet.c xf86Build.h + libcommon_la_LIBADD = $(top_builddir)/config/libconfig.la +diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h +index bb2903d..74da438 100644 +--- a/hw/xfree86/common/xf86.h ++++ b/hw/xfree86/common/xf86.h +@@ -468,4 +468,8 @@ extern _X_EXPORT ScreenPtr xf86ScrnToScreen(ScrnInfoPtr pScrn); + /* flags passed to xf86 allocate screen */ + #define XF86_ALLOCATE_GPU_SCREEN 1 + ++/* Update the internal total dimensions of all ScreenRecs together */ ++extern _X_EXPORT void ++xf86UpdateDesktopDimensions(void); ++ + #endif /* _XF86_H */ +diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c +index 6de8409..4ffbf7e 100644 +--- a/hw/xfree86/common/xf86Bus.c ++++ b/hw/xfree86/common/xf86Bus.c +@@ -81,6 +81,8 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only) + if (drv->platformProbe != NULL) { + foundScreen = xf86platformProbeDev(drv); + } ++ if (ServerIsNotSeat0()) ++ return foundScreen; + #endif - static int -- ProcXF86VidModeDispatch(ClientPtr client) { -+ProcXF86VidModeDispatch(ClientPtr client) -+{ - REQUEST(xReq); - switch (stuff->data) { - case X_XF86VidModeQueryVersion: - return ProcXF86VidModeQueryVersion(client); -- case X_XF86VidModeGetModeLine:return ProcXF86VidModeGetModeLine(client); -- case X_XF86VidModeGetMonitor:return ProcXF86VidModeGetMonitor(client); -- case X_XF86VidModeGetAllModeLines:return -- ProcXF86VidModeGetAllModeLines(client); -- case X_XF86VidModeValidateModeLine:return -- ProcXF86VidModeValidateModeLine(client); -- case X_XF86VidModeGetViewPort:return ProcXF86VidModeGetViewPort(client); -- case X_XF86VidModeGetDotClocks:return -- ProcXF86VidModeGetDotClocks(client); -- case X_XF86VidModeSetClientVersion:return -- ProcXF86VidModeSetClientVersion(client); -- case X_XF86VidModeGetGamma:return ProcXF86VidModeGetGamma(client); -- case X_XF86VidModeGetGammaRamp:return -- ProcXF86VidModeGetGammaRamp(client); -- case X_XF86VidModeGetGammaRampSize:return -- ProcXF86VidModeGetGammaRampSize(client); -- case X_XF86VidModeGetPermissions:return -- ProcXF86VidModeGetPermissions(client); -- default:if (!xf86GetVidModeEnabled()) -+ case X_XF86VidModeGetModeLine: -+ return ProcXF86VidModeGetModeLine(client); -+ case X_XF86VidModeGetMonitor: -+ return ProcXF86VidModeGetMonitor(client); -+ case X_XF86VidModeGetAllModeLines: -+ return ProcXF86VidModeGetAllModeLines(client); -+ case X_XF86VidModeValidateModeLine: -+ return ProcXF86VidModeValidateModeLine(client); -+ case X_XF86VidModeGetViewPort: -+ return ProcXF86VidModeGetViewPort(client); -+ case X_XF86VidModeGetDotClocks: -+ return ProcXF86VidModeGetDotClocks(client); -+ case X_XF86VidModeSetClientVersion: -+ return ProcXF86VidModeSetClientVersion(client); -+ case X_XF86VidModeGetGamma: -+ return ProcXF86VidModeGetGamma(client); -+ case X_XF86VidModeGetGammaRamp: -+ return ProcXF86VidModeGetGammaRamp(client); -+ case X_XF86VidModeGetGammaRampSize: -+ return ProcXF86VidModeGetGammaRampSize(client); -+ case X_XF86VidModeGetPermissions: -+ return ProcXF86VidModeGetPermissions(client); -+ default: -+ if (!xf86GetVidModeEnabled()) - return VidModeErrorBase + XF86VidModeExtensionDisabled; - if (xf86GetVidModeAllowNonLocal() || LocalClient(client)) { - switch (stuff->data) { - case X_XF86VidModeAddModeLine: - return ProcXF86VidModeAddModeLine(client); -- case X_XF86VidModeDeleteModeLine:return -- ProcXF86VidModeDeleteModeLine(client); -- case X_XF86VidModeModModeLine:return -- ProcXF86VidModeModModeLine(client); -- case X_XF86VidModeSwitchMode:return -- ProcXF86VidModeSwitchMode(client); -- case X_XF86VidModeSwitchToMode:return -- ProcXF86VidModeSwitchToMode(client); -- case X_XF86VidModeLockModeSwitch:return -- ProcXF86VidModeLockModeSwitch(client); -- case X_XF86VidModeSetViewPort:return -- ProcXF86VidModeSetViewPort(client); -- case X_XF86VidModeSetGamma:return -- ProcXF86VidModeSetGamma(client); -- case X_XF86VidModeSetGammaRamp:return -- ProcXF86VidModeSetGammaRamp(client); -- default:return BadRequest; -- }} -+ case X_XF86VidModeDeleteModeLine: -+ return ProcXF86VidModeDeleteModeLine(client); -+ case X_XF86VidModeModModeLine: -+ return ProcXF86VidModeModModeLine(client); -+ case X_XF86VidModeSwitchMode: -+ return ProcXF86VidModeSwitchMode(client); -+ case X_XF86VidModeSwitchToMode: -+ return ProcXF86VidModeSwitchToMode(client); -+ case X_XF86VidModeLockModeSwitch: -+ return ProcXF86VidModeLockModeSwitch(client); -+ case X_XF86VidModeSetViewPort: -+ return ProcXF86VidModeSetViewPort(client); -+ case X_XF86VidModeSetGamma: -+ return ProcXF86VidModeSetGamma(client); -+ case X_XF86VidModeSetGammaRamp: -+ return ProcXF86VidModeSetGammaRamp(client); -+ default: -+ return BadRequest; -+ } -+ } - else -- return VidModeErrorBase + XF86VidModeClientNotLocal; -+ return VidModeErrorBase + XF86VidModeClientNotLocal; + #ifdef XSERVER_LIBPCIACCESS +@@ -214,6 +216,8 @@ xf86BusProbe(void) + { + #ifdef XSERVER_PLATFORM_BUS + xf86platformProbe(); ++ if (ServerIsNotSeat0()) ++ return; + #endif + #ifdef XSERVER_LIBPCIACCESS + xf86PciProbe(); +diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c +index f681a85..721159d 100644 +--- a/hw/xfree86/common/xf86Helper.c ++++ b/hw/xfree86/common/xf86Helper.c +@@ -1898,3 +1898,9 @@ xf86ScrnToScreen(ScrnInfoPtr pScrn) + return screenInfo.screens[pScrn->scrnIndex]; } } - - static int -- SProcXF86VidModeQueryVersion(ClientPtr client) { -+SProcXF86VidModeQueryVersion(ClientPtr client) -+{ - REQUEST(xXF86VidModeQueryVersionReq); - swaps(&stuff->length); - return ProcXF86VidModeQueryVersion(client); --} static int -- SProcXF86VidModeGetModeLine(ClientPtr client) { -+} + -+static int -+SProcXF86VidModeGetModeLine(ClientPtr client) ++void ++xf86UpdateDesktopDimensions(void) +{ - REQUEST(xXF86VidModeGetModeLineReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeGetModeLineReq); - swaps(&stuff->screen); - return ProcXF86VidModeGetModeLine(client); --} static int -- SProcXF86VidModeGetAllModeLines(ClientPtr client) { ++ update_desktop_dimensions(); +} -+ -+static int -+SProcXF86VidModeGetAllModeLines(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetAllModeLinesReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeGetAllModeLinesReq); - swaps(&stuff->screen); - return ProcXF86VidModeGetAllModeLines(client); --} static int -- SProcXF86VidModeAddModeLine(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeAddModeLine(ClientPtr client) -+{ - xXF86OldVidModeAddModeLineReq *oldstuff = - (xXF86OldVidModeAddModeLineReq *) client->requestBuffer; - int ver; - -- REQUEST(xXF86VidModeAddModeLineReq); -- ver = ClientMajorVersion(client); -+ REQUEST(xXF86VidModeAddModeLineReq); -+ ver = ClientMajorVersion(client); - if (ver < 2) { - swaps(&oldstuff->length); - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq); -@@ -1666,13 +1747,14 @@ static int - } - - static int -- SProcXF86VidModeDeleteModeLine(ClientPtr client) { -+SProcXF86VidModeDeleteModeLine(ClientPtr client) -+{ - xXF86OldVidModeDeleteModeLineReq *oldstuff = - (xXF86OldVidModeDeleteModeLineReq *) client->requestBuffer; - int ver; - -- REQUEST(xXF86VidModeDeleteModeLineReq); -- ver = ClientMajorVersion(client); -+ REQUEST(xXF86VidModeDeleteModeLineReq); -+ ver = ClientMajorVersion(client); - if (ver < 2) { - swaps(&oldstuff->length); - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq); -@@ -1710,13 +1792,14 @@ static int - } - - static int -- SProcXF86VidModeModModeLine(ClientPtr client) { -+SProcXF86VidModeModModeLine(ClientPtr client) -+{ - xXF86OldVidModeModModeLineReq *oldstuff = - (xXF86OldVidModeModModeLineReq *) client->requestBuffer; - int ver; - -- REQUEST(xXF86VidModeModModeLineReq); -- ver = ClientMajorVersion(client); -+ REQUEST(xXF86VidModeModModeLineReq); -+ ver = ClientMajorVersion(client); - if (ver < 2) { - swaps(&oldstuff->length); - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq); -@@ -1754,13 +1837,14 @@ static int - } +diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h +index 83f9790..f58b87e 100644 +--- a/hw/xfree86/common/xf86Module.h ++++ b/hw/xfree86/common/xf86Module.h +@@ -80,7 +80,7 @@ typedef enum { + * mask is 0xFFFF0000. + */ + #define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4) +-#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(13, 0) ++#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(13, 1) + #define ABI_XINPUT_VERSION SET_ABI_VERSION(18, 0) + #define ABI_EXTENSION_VERSION SET_ABI_VERSION(7, 0) + #define ABI_FONT_VERSION SET_ABI_VERSION(0, 6) +diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c +index 24b9473..0525e39 100644 +--- a/hw/xfree86/common/xf86platformBus.c ++++ b/hw/xfree86/common/xf86platformBus.c +@@ -213,11 +213,12 @@ xf86platformProbe(void) + int i; + Bool pci = TRUE; - static int -- SProcXF86VidModeValidateModeLine(ClientPtr client) { -+SProcXF86VidModeValidateModeLine(ClientPtr client) -+{ - xXF86OldVidModeValidateModeLineReq *oldstuff = - (xXF86OldVidModeValidateModeLineReq *) client->requestBuffer; - int ver; ++ config_odev_probe(xf86PlatformDeviceProbe); ++ + if (!xf86scanpci()) { + pci = FALSE; + } -- REQUEST(xXF86VidModeValidateModeLineReq); -- ver = ClientMajorVersion(client); -+ REQUEST(xXF86VidModeValidateModeLineReq); -+ ver = ClientMajorVersion(client); - if (ver < 2) { - swaps(&oldstuff->length); - REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq); -@@ -1798,44 +1882,60 @@ static int +- config_odev_probe(&xf86PlatformDeviceProbe); + for (i = 0; i < xf86_num_platform_devices; i++) { + char *busid = xf86_get_platform_attrib(i, ODEV_ATTRIB_BUSID); + +@@ -358,6 +359,9 @@ xf86platformProbeDev(DriverPtr drvp) + break; + } + else { ++ /* for non-seat0 servers assume first device is the master */ ++ if (ServerIsNotSeat0()) ++ break; + if (xf86_platform_devices[j].pdev) { + if (xf86IsPrimaryPlatform(&xf86_platform_devices[j])) + break; +diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c +index 23f589c..40963c3 100644 +--- a/hw/xfree86/dri2/dri2.c ++++ b/hw/xfree86/dri2/dri2.c +@@ -766,6 +766,44 @@ static inline PixmapPtr GetDrawablePixmap(DrawablePtr drawable) + } } - static int -- SProcXF86VidModeSwitchMode(ClientPtr client) { -+SProcXF86VidModeSwitchMode(ClientPtr client) -+{ - REQUEST(xXF86VidModeSwitchModeReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeSwitchModeReq); - swaps(&stuff->screen); - swaps(&stuff->zoom); - return ProcXF86VidModeSwitchMode(client); --} static int -- SProcXF86VidModeSwitchToMode(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeSwitchToMode(ClientPtr client) -+{ - REQUEST(xXF86VidModeSwitchToModeReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeSwitchToModeReq); - swapl(&stuff->screen); - return ProcXF86VidModeSwitchToMode(client); --} static int -- SProcXF86VidModeLockModeSwitch(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeLockModeSwitch(ClientPtr client) -+{ - REQUEST(xXF86VidModeLockModeSwitchReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeLockModeSwitchReq); - swaps(&stuff->screen); - swaps(&stuff->lock); - return ProcXF86VidModeLockModeSwitch(client); --} static int -- SProcXF86VidModeGetMonitor(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeGetMonitor(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetMonitorReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeGetMonitorReq); - swaps(&stuff->screen); - return ProcXF86VidModeGetMonitor(client); --} static int -- SProcXF86VidModeGetViewPort(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeGetViewPort(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetViewPortReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeGetViewPortReq); - swaps(&stuff->screen); - return ProcXF86VidModeGetViewPort(client); --} static int -- SProcXF86VidModeSetViewPort(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeSetViewPort(ClientPtr client) -+{ - REQUEST(xXF86VidModeSetViewPortReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeSetViewPortReq); -@@ -1843,23 +1943,32 @@ static int - swapl(&stuff->x); - swapl(&stuff->y); - return ProcXF86VidModeSetViewPort(client); --} static int -- SProcXF86VidModeGetDotClocks(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeGetDotClocks(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetDotClocksReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeGetDotClocksReq); - swaps(&stuff->screen); - return ProcXF86VidModeGetDotClocks(client); --} static int -- SProcXF86VidModeSetClientVersion(ClientPtr client) { -+} -+ ++/* ++ * A TraverseTree callback to invalidate all windows using the same ++ * pixmap ++ */ +static int -+SProcXF86VidModeSetClientVersion(ClientPtr client) ++DRI2InvalidateWalk(WindowPtr pWin, pointer data) +{ - REQUEST(xXF86VidModeSetClientVersionReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeSetClientVersionReq); - swaps(&stuff->major); - swaps(&stuff->minor); - return ProcXF86VidModeSetClientVersion(client); --} static int -- SProcXF86VidModeSetGamma(ClientPtr client) { ++ if (pWin->drawable.pScreen->GetWindowPixmap(pWin) != data) ++ return WT_DONTWALKCHILDREN; ++ DRI2InvalidateDrawable(&pWin->drawable); ++ return WT_WALKCHILDREN; +} + -+static int -+SProcXF86VidModeSetGamma(ClientPtr client) -+{ - REQUEST(xXF86VidModeSetGammaReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeSetGammaReq); -@@ -1868,120 +1977,145 @@ static int - swapl(&stuff->green); - swapl(&stuff->blue); - return ProcXF86VidModeSetGamma(client); --} static int -- SProcXF86VidModeGetGamma(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeGetGamma(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetGammaReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeGetGammaReq); - swaps(&stuff->screen); - return ProcXF86VidModeGetGamma(client); --} static int -- SProcXF86VidModeSetGammaRamp(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeSetGammaRamp(ClientPtr client) -+{ - int length; -- REQUEST(xXF86VidModeSetGammaRampReq); -- swaps(&stuff->length); -- REQUEST_AT_LEAST_SIZE(xXF86VidModeSetGammaRampReq); -- swaps(&stuff->size); -- swaps(&stuff->screen); -- length = ((stuff->size + 1) & ~1) * 6; -- REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length); -- SwapRestS(stuff); -- return ProcXF86VidModeSetGammaRamp(client); --} static int -- SProcXF86VidModeGetGammaRamp(ClientPtr client) { -+ -+ REQUEST(xXF86VidModeSetGammaRampReq); -+ swaps(&stuff->length); -+ REQUEST_AT_LEAST_SIZE(xXF86VidModeSetGammaRampReq); -+ swaps(&stuff->size); -+ swaps(&stuff->screen); -+ length = ((stuff->size + 1) & ~1) * 6; -+ REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length); -+ SwapRestS(stuff); -+ return ProcXF86VidModeSetGammaRamp(client); -+} -+ -+static int -+SProcXF86VidModeGetGammaRamp(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetGammaRampReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampReq); - swaps(&stuff->size); - swaps(&stuff->screen); - return ProcXF86VidModeGetGammaRamp(client); --} static int -- SProcXF86VidModeGetGammaRampSize(ClientPtr client) { -+} -+ -+static int -+SProcXF86VidModeGetGammaRampSize(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetGammaRampSizeReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampSizeReq); - swaps(&stuff->screen); - return ProcXF86VidModeGetGammaRampSize(client); --} static int -- SProcXF86VidModeGetPermissions(ClientPtr client) { ++static void ++DRI2InvalidateDrawableAll(DrawablePtr pDraw) ++{ ++ if (pDraw->type == DRAWABLE_WINDOW) { ++ WindowPtr pWin = (WindowPtr) pDraw; ++ PixmapPtr pPixmap = pDraw->pScreen->GetWindowPixmap(pWin); ++ ++ /* ++ * Find the top-most window using this pixmap ++ */ ++ while (pWin->parent && ++ pDraw->pScreen->GetWindowPixmap(pWin->parent) == pPixmap) ++ pWin = pWin->parent; ++ ++ /* ++ * Walk the sub-tree to invalidate all of the ++ * windows using the same pixmap ++ */ ++ TraverseTree(pWin, DRI2InvalidateWalk, pPixmap); ++ DRI2InvalidateDrawable(&pPixmap->drawable); ++ } ++ else ++ DRI2InvalidateDrawable(pDraw); +} + -+static int -+SProcXF86VidModeGetPermissions(ClientPtr client) -+{ - REQUEST(xXF86VidModeGetPermissionsReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXF86VidModeGetPermissionsReq); - swaps(&stuff->screen); - return ProcXF86VidModeGetPermissions(client); --} static int -- SProcXF86VidModeDispatch(ClientPtr client) { -+} + DrawablePtr DRI2UpdatePrime(DrawablePtr pDraw, DRI2BufferPtr pDest) + { + DRI2DrawablePtr pPriv = DRI2GetDrawable(pDraw); +@@ -831,6 +869,8 @@ DrawablePtr DRI2UpdatePrime(DrawablePtr pDraw, DRI2BufferPtr pDest) + spix->screen_x = mpix->screen_x; + spix->screen_y = mpix->screen_y; + #endif + -+static int -+SProcXF86VidModeDispatch(ClientPtr client) -+{ - REQUEST(xReq); - switch (stuff->data) { - case X_XF86VidModeQueryVersion: - return SProcXF86VidModeQueryVersion(client); -- case X_XF86VidModeGetModeLine:return -- SProcXF86VidModeGetModeLine(client); -- case X_XF86VidModeGetMonitor:return SProcXF86VidModeGetMonitor(client); -- case X_XF86VidModeGetAllModeLines:return -- SProcXF86VidModeGetAllModeLines(client); -- case X_XF86VidModeGetViewPort:return -- SProcXF86VidModeGetViewPort(client); -- case X_XF86VidModeValidateModeLine:return -- SProcXF86VidModeValidateModeLine(client); -- case X_XF86VidModeGetDotClocks:return -- SProcXF86VidModeGetDotClocks(client); -- case X_XF86VidModeSetClientVersion:return -- SProcXF86VidModeSetClientVersion(client); -- case X_XF86VidModeGetGamma:return SProcXF86VidModeGetGamma(client); -- case X_XF86VidModeGetGammaRamp:return -- SProcXF86VidModeGetGammaRamp(client); -- case X_XF86VidModeGetGammaRampSize:return -- SProcXF86VidModeGetGammaRampSize(client); -- case X_XF86VidModeGetPermissions:return -- SProcXF86VidModeGetPermissions(client); -- default:if (!xf86GetVidModeEnabled()) -+ case X_XF86VidModeGetModeLine: -+ return SProcXF86VidModeGetModeLine(client); -+ case X_XF86VidModeGetMonitor: -+ return SProcXF86VidModeGetMonitor(client); -+ case X_XF86VidModeGetAllModeLines: -+ return SProcXF86VidModeGetAllModeLines(client); -+ case X_XF86VidModeGetViewPort: -+ return SProcXF86VidModeGetViewPort(client); -+ case X_XF86VidModeValidateModeLine: -+ return SProcXF86VidModeValidateModeLine(client); -+ case X_XF86VidModeGetDotClocks: -+ return SProcXF86VidModeGetDotClocks(client); -+ case X_XF86VidModeSetClientVersion: -+ return SProcXF86VidModeSetClientVersion(client); -+ case X_XF86VidModeGetGamma: -+ return SProcXF86VidModeGetGamma(client); -+ case X_XF86VidModeGetGammaRamp: -+ return SProcXF86VidModeGetGammaRamp(client); -+ case X_XF86VidModeGetGammaRampSize: -+ return SProcXF86VidModeGetGammaRampSize(client); -+ case X_XF86VidModeGetPermissions: -+ return SProcXF86VidModeGetPermissions(client); -+ default: -+ if (!xf86GetVidModeEnabled()) - return VidModeErrorBase + XF86VidModeExtensionDisabled; - if (xf86GetVidModeAllowNonLocal() || LocalClient(client)) { - switch (stuff->data) { - case X_XF86VidModeAddModeLine: - return SProcXF86VidModeAddModeLine(client); -- case X_XF86VidModeDeleteModeLine:return -- SProcXF86VidModeDeleteModeLine(client); -- case X_XF86VidModeModModeLine:return -- SProcXF86VidModeModModeLine(client); -- case X_XF86VidModeSwitchMode:return -- SProcXF86VidModeSwitchMode(client); -- case X_XF86VidModeSwitchToMode:return -- SProcXF86VidModeSwitchToMode(client); -- case X_XF86VidModeLockModeSwitch:return -- SProcXF86VidModeLockModeSwitch(client); -- case X_XF86VidModeSetViewPort:return -- SProcXF86VidModeSetViewPort(client); -- case X_XF86VidModeSetGamma:return -- SProcXF86VidModeSetGamma(client); -- case X_XF86VidModeSetGammaRamp:return -- SProcXF86VidModeSetGammaRamp(client); -- default:return BadRequest; -- }} -+ case X_XF86VidModeDeleteModeLine: -+ return SProcXF86VidModeDeleteModeLine(client); -+ case X_XF86VidModeModModeLine: -+ return SProcXF86VidModeModModeLine(client); -+ case X_XF86VidModeSwitchMode: -+ return SProcXF86VidModeSwitchMode(client); -+ case X_XF86VidModeSwitchToMode: -+ return SProcXF86VidModeSwitchToMode(client); -+ case X_XF86VidModeLockModeSwitch: -+ return SProcXF86VidModeLockModeSwitch(client); -+ case X_XF86VidModeSetViewPort: -+ return SProcXF86VidModeSetViewPort(client); -+ case X_XF86VidModeSetGamma: -+ return SProcXF86VidModeSetGamma(client); -+ case X_XF86VidModeSetGammaRamp: -+ return SProcXF86VidModeSetGammaRamp(client); -+ default: -+ return BadRequest; -+ } -+ } - else -- return VidModeErrorBase + XF86VidModeClientNotLocal; -+ return VidModeErrorBase + XF86VidModeClientNotLocal; - } ++ DRI2InvalidateDrawableAll(pDraw); + return &spix->drawable; } - void -- XFree86VidModeExtensionInit(void) { -+XFree86VidModeExtensionInit(void) -+{ - ExtensionEntry *extEntry; - ScreenPtr pScreen; - int i; - Bool enabled = FALSE; - -- DEBUG_P("XFree86VidModeExtensionInit"); -+ DEBUG_P("XFree86VidModeExtensionInit"); - - if (!dixRegisterPrivateKey(&VidModeClientPrivateKeyRec, PRIVATE_CLIENT, 0)) -- return; -+ return; - #ifdef XF86VIDMODE_EVENTS - if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0)) -- return; -+ return; - #endif - - #ifdef XF86VIDMODE_EVENTS -- EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent"); -+ EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent"); - #endif - - for (i = 0; i < screenInfo.numScreens; i++) { -@@ -1990,8 +2124,8 @@ void - enabled = TRUE; - } - /* This means that the DDX doesn't want the vidmode extension enabled */ -- if (!enabled) -- return; -+ if (!enabled) -+ return; - - if ( - #ifdef XF86VIDMODE_EVENTS --- -cgit v0.9.0.2-2-gbebe -From 15607cf2dc87405606b20113011f1ebd97637d32 Mon Sep 17 00:00:00 2001 -From: Daniel Kurtz <djkurtz@chromium.org> -Date: Thu, 12 Apr 2012 00:11:10 +0000 -Subject: dix: don't BUG_WARN for button events from button-only device - -Events from button-only devices still need coordinates, and they get them -from scale_to_desktop(). Therefore, a dev without valuators is not a bug. -However, a dev with valuators, but less than two of them still is a bug. - -This was noticed when unplugging a "Creative Technology SB Arena Headset", -which has some BTNs and some KEYs, but no REL or ABS valuators. -It emits [BTN_3] = 0 on unplug, which would trigger the BUG_WARN. - -Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> -Reviewed-by: Chase Douglas <chase.douglas@canonical.com> -Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> -(cherry picked from commit c5a45b0f7658c77725adce2b64a0fbd62f208328) ---- -diff --git a/dix/getevents.c b/dix/getevents.c -index 4e0af45..9dc9617 100644 ---- a/dix/getevents.c -+++ b/dix/getevents.c -@@ -842,7 +842,7 @@ scale_to_desktop(DeviceIntPtr dev, ValuatorMask *mask, - ScreenPtr scr = miPointerGetScreen(dev); - double x, y; +@@ -1048,18 +1088,7 @@ DRI2WaitSwap(ClientPtr client, DrawablePtr pDrawable) + return FALSE; + } -- BUG_WARN(!dev->valuator || dev->valuator->numAxes < 2); -+ BUG_WARN(dev->valuator && dev->valuator->numAxes < 2); - if (!dev->valuator || dev->valuator->numAxes < 2) { - /* if we have no axes, last.valuators must be in screen coords - * anyway */ --- -cgit v0.9.0.2-2-gbebe -From f8d2ca759ad37d5e99d462f21a2259ce17bb1a00 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutterer@who-t.net> -Date: Wed, 18 Apr 2012 05:56:37 +0000 -Subject: dix: indentation fix - -Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> -(cherry picked from commit ebf214876a4885a98ded4f5525925b69005fae05) ---- -diff --git a/dix/dispatch.c b/dix/dispatch.c -index 9a2e22f..d971805 100644 ---- a/dix/dispatch.c -+++ b/dix/dispatch.c -@@ -416,8 +416,8 @@ Dispatch(void) - if (XSERVER_REQUEST_START_ENABLED()) - XSERVER_REQUEST_START(LookupMajorName(client->majorOp), - client->majorOp, -- ((xReq *) client->requestBuffer)-> -- length, client->index, -+ ((xReq *) client->requestBuffer)->length, -+ client->index, - client->requestBuffer); - #endif - if (result > (maxBigRequestSize << 2)) --- -cgit v0.9.0.2-2-gbebe -From f012f0c48dedba4df69cc1a1ecdf8ee5d37daca9 Mon Sep 17 00:00:00 2001 -From: Michal Suchanek <hramrach@gmail.com> -Date: Thu, 26 Apr 2012 13:11:20 +0000 -Subject: dmx: Annotate dmxlog.c with _X_ATTRIBUTE_PRINTF and _X_NORETURN - -and fix resulting printf warning in dmxLogVisual - -Signed-off-by: Michal Suchanek <hramrach@gmail.com> -Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> -Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> -(cherry picked from commit d662fa2450856777b59c4b62b912395a8bfd52fd) ---- -diff --git a/hw/dmx/dmxlog.c b/hw/dmx/dmxlog.c -index b56bb93..151f672 100644 ---- a/hw/dmx/dmxlog.c -+++ b/hw/dmx/dmxlog.c -@@ -86,6 +86,8 @@ ErrorF(const char *format, ...) +-/* +- * A TraverseTree callback to invalidate all windows using the same +- * pixmap +- */ +-static int +-DRI2InvalidateWalk(WindowPtr pWin, pointer data) +-{ +- if (pWin->drawable.pScreen->GetWindowPixmap(pWin) != data) +- return WT_DONTWALKCHILDREN; +- DRI2InvalidateDrawable(&pWin->drawable); +- return WT_WALKCHILDREN; +-} ++ + + int + DRI2SwapBuffers(ClientPtr client, DrawablePtr pDraw, CARD64 target_msc, +@@ -1162,26 +1191,7 @@ DRI2SwapBuffers(ClientPtr client, DrawablePtr pDraw, CARD64 target_msc, + */ + *swap_target = pPriv->swap_count + pPriv->swapsPending; + +- if (pDraw->type == DRAWABLE_WINDOW) { +- WindowPtr pWin = (WindowPtr) pDraw; +- PixmapPtr pPixmap = pScreen->GetWindowPixmap(pWin); +- +- /* +- * Find the top-most window using this pixmap +- */ +- while (pWin->parent && +- pScreen->GetWindowPixmap(pWin->parent) == pPixmap) +- pWin = pWin->parent; +- +- /* +- * Walk the sub-tree to invalidate all of the +- * windows using the same pixmap +- */ +- TraverseTree(pWin, DRI2InvalidateWalk, pPixmap); +- DRI2InvalidateDrawable(&pPixmap->drawable); +- } +- else +- DRI2InvalidateDrawable(pDraw); ++ DRI2InvalidateDrawableAll(pDraw); - /** Provide an VFatalError function when used stand-alone. */ - static void -+VFatalError(const char *format, va_list args) _X_ATTRIBUTE_PRINTF(1, 0) _X_NORETURN; -+static void - VFatalError(const char *format, va_list args) - { - vfprintf(stderr, format, args); /* RATS: We assume the format string -@@ -104,7 +106,9 @@ VErrorF(const char *format, va_list args) + return Success; } - #else - /** This function was removed between XFree86 4.3.0 and XFree86 4.4.0. */ --extern void AbortServer(void); -+extern void AbortServer(void) _X_NORETURN; -+static void -+VFatalError(const char *format, va_list args) _X_ATTRIBUTE_PRINTF(1, 0) _X_NORETURN; - static void - VFatalError(const char *format, va_list args) - { -@@ -166,6 +170,8 @@ dmxHeader(dmxLogLevel logLevel, DMXInputInfo * dmxInput, - /* Prints the error message with the appropriate low-level X output - * routine. */ - static void -+dmxMessage(dmxLogLevel logLevel, const char *format, va_list args) _X_ATTRIBUTE_PRINTF(2, 0); -+static void - dmxMessage(dmxLogLevel logLevel, const char *format, va_list args) - { - if (logLevel == dmxFatal || logLevel >= dmxCurrentLogLevel) { -@@ -303,10 +309,11 @@ dmxLogVisual(DMXScreenInfo * dmxScreen, XVisualInfo * vi, int defaultVisual) - class = "DirectColor"; - break; - } -+#define VisualLogFormat "0x%02lx %s %2db %db/rgb %3d 0x%04lx 0x%04lx 0x%04lx%s\n" +diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c +index 37cd8b3..1cf0f02 100644 +--- a/hw/xwin/InitOutput.c ++++ b/hw/xwin/InitOutput.c +@@ -164,7 +164,7 @@ void XwinExtensionInit(void) + int i; - if (dmxScreen) { - dmxLogOutput(dmxScreen, -- "0x%02x %s %2db %db/rgb %3d 0x%04x 0x%04x 0x%04x%s\n", -+ VisualLogFormat, - vi->visualid, class, vi->depth, vi->bits_per_rgb, - vi->colormap_size, - vi->red_mask, vi->green_mask, vi->blue_mask, -@@ -314,7 +321,7 @@ dmxLogVisual(DMXScreenInfo * dmxScreen, XVisualInfo * vi, int defaultVisual) + #ifdef XWIN_GLX_WINDOWS +- if ((g_fNativeGl) && (serverGeneration == 1)) { ++ if (g_fNativeGl) { + /* install the native GL provider */ + glxWinPushNativeProvider(); } - else { - dmxLog(dmxInfo, -- " 0x%02x %s %2db %db/rgb %3d 0x%04x 0x%04x 0x%04x%s\n", -+ " " VisualLogFormat, - vi->visualid, class, vi->depth, vi->bits_per_rgb, - vi->colormap_size, - vi->red_mask, vi->green_mask, vi->blue_mask, -diff --git a/hw/dmx/dmxlog.h b/hw/dmx/dmxlog.h -index 4d4cd26..162484b 100644 ---- a/hw/dmx/dmxlog.h -+++ b/hw/dmx/dmxlog.h -@@ -55,18 +55,23 @@ typedef enum { - /* Logging functions used by Xserver/hw/dmx routines. */ - extern dmxLogLevel dmxSetLogLevel(dmxLogLevel newLevel); - extern dmxLogLevel dmxGetLogLevel(void); --extern void dmxLog(dmxLogLevel logLevel, const char *format, ...); --extern void dmxLogCont(dmxLogLevel logLevel, const char *format, ...); -+extern void dmxLog(dmxLogLevel logLevel, const char *format, -+ ...) _X_ATTRIBUTE_PRINTF(2, 3); -+extern void dmxLogCont(dmxLogLevel logLevel, const char *format, -+ ...) _X_ATTRIBUTE_PRINTF(2, 3); - extern const char *dmxEventName(int type); - - #ifndef DMX_LOG_STANDALONE --extern void dmxLogOutput(DMXScreenInfo * dmxScreen, const char *format, ...); -+extern void dmxLogOutput(DMXScreenInfo * dmxScreen, const char *format, -+ ...) _X_ATTRIBUTE_PRINTF(2, 3); - extern void dmxLogOutputCont(DMXScreenInfo * dmxScreen, const char *format, -- ...); -+ ...) _X_ATTRIBUTE_PRINTF(2, 3); - extern void dmxLogOutputWarning(DMXScreenInfo * dmxScreen, const char *format, -- ...); --extern void dmxLogInput(DMXInputInfo * dmxInput, const char *format, ...); --extern void dmxLogInputCont(DMXInputInfo * dmxInput, const char *format, ...); -+ ...) _X_ATTRIBUTE_PRINTF(2, 3); -+extern void dmxLogInput(DMXInputInfo * dmxInput, const char *format, -+ ...) _X_ATTRIBUTE_PRINTF(2, 3); -+extern void dmxLogInputCont(DMXInputInfo * dmxInput, const char *format, -+ ...) _X_ATTRIBUTE_PRINTF(2, 3); - extern void dmxLogArgs(dmxLogLevel logLevel, int argc, char **argv); - extern void dmxLogVisual(DMXScreenInfo * dmxScreen, XVisualInfo * vi, - int defaultVisual); --- -cgit v0.9.0.2-2-gbebe -From 58dfb13953af71021317b9d85230b1163198f031 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Thu, 10 May 2012 07:53:20 +0000 -Subject: Revert "dix: when disabling a device, release all buttons and keys" - -This reverts commit 90299556db24543bb7365e8c2897deca3aa219e7. - -The commit being reverted triggered a segfault on server shutdown when a -device posts raw events after the root windows are forced to NULL. - -https://lists.debian.org/debian-x/2012/05/msg00240.html - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- -diff --git a/dix/devices.c b/dix/devices.c -index d0e99bd..0125504 100644 ---- a/dix/devices.c -+++ b/dix/devices.c -@@ -432,8 +432,6 @@ DisableDevice(DeviceIntPtr dev, BOOL sendevent) - if (*prev != dev) - return FALSE; +@@ -901,7 +901,8 @@ InitOutput(ScreenInfo * screenInfo, int argc, char *argv[]) + { + int i; -- ReleaseButtonsAndKeys(dev); -- - /* float attached devices */ - if (IsMaster(dev)) { - for (other = inputInfo.devices; other; other = other->next) { --- -cgit v0.9.0.2-2-gbebe +- XwinExtensionInit(); ++ if (serverGeneration == 1) ++ XwinExtensionInit(); + + /* Log the command line */ + winLogCommandLine(argc, argv); +diff --git a/hw/xwin/Makefile.am b/hw/xwin/Makefile.am +index 4c2f04e..33729a9 100644 +--- a/hw/xwin/Makefile.am ++++ b/hw/xwin/Makefile.am +@@ -109,13 +109,16 @@ SRCS = InitInput.c \ + winclipboard.h \ + winconfig.h \ + win.h \ ++ winglobals.h \ + winkeybd.h \ + winkeynames.h \ + winlayouts.h \ + winmessages.h \ ++ winmonitors.h \ + winmsg.h \ + winms.h \ + winmultiwindowclass.h \ ++ winmultiwindowicons.h \ + winprefs.h \ + winresource.h \ + winwindow.h \ +diff --git a/hw/xwin/glx/Makefile.am b/hw/xwin/glx/Makefile.am +index 7222a9f..59f6879 100644 +--- a/hw/xwin/glx/Makefile.am ++++ b/hw/xwin/glx/Makefile.am +@@ -6,7 +6,8 @@ libXwinGLX_la_SOURCES = \ + glwindows.h \ + glwrap.c \ + indirect.c \ +- wgl_ext_api.c ++ wgl_ext_api.c \ ++ wgl_ext_api.h + + if XWIN_MULTIWINDOW + DEFS_MULTIWINDOW = -DXWIN_MULTIWINDOW +diff --git a/include/input.h b/include/input.h +index 5747f3c..f8459b8 100644 +--- a/include/input.h ++++ b/include/input.h +@@ -579,6 +579,7 @@ extern int TouchListenerAcceptReject(DeviceIntPtr dev, TouchPointInfoPtr ti, + int listener, int mode); + extern int TouchAcceptReject(ClientPtr client, DeviceIntPtr dev, int mode, + uint32_t touchid, Window grab_window, XID *error); ++extern void TouchEndPhysicallyActiveTouches(DeviceIntPtr dev); + + /* misc event helpers */ + extern Mask GetEventMask(DeviceIntPtr dev, xEvent *ev, InputClientsPtr clients); +diff --git a/man/Xserver.man b/man/Xserver.man +index 8d243d6..b103551 100644 +--- a/man/Xserver.man ++++ b/man/Xserver.man +@@ -130,7 +130,7 @@ causes the server to generate a core dump on fatal errors. + .B \-displayfd \fIfd\fP + specifies a file descriptor in the launching process. Rather than specify + a display number, the X server will attempt to listen on successively higher +-display numbers, and upon finding a free one, will write the port number back ++display numbers, and upon finding a free one, will write the display number back + on this file descriptor as a newline-terminated string. The \-pn option is + ignored when using \-displayfd. + .TP 8 +diff --git a/xkb/xkbAccessX.c b/xkb/xkbAccessX.c +index 082c0db..c1af32e 100644 +--- a/xkb/xkbAccessX.c ++++ b/xkb/xkbAccessX.c +@@ -709,7 +709,7 @@ ProcessPointerEvent(InternalEvent *ev, DeviceIntPtr mouse) + xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(mouse); + DeviceEvent *event = &ev->device_event; + +- dev = IsFloating(mouse) ? mouse : GetMaster(mouse, MASTER_KEYBOARD); ++ dev = (IsMaster(mouse) || IsFloating(mouse)) ? mouse : GetMaster(mouse, MASTER_KEYBOARD); + + if (dev && dev->key) { + xkbi = dev->key->xkbInfo; diff --git a/extra/xorg-server/use-pixman-glyph-cache.patch b/extra/xorg-server/use-pixman-glyph-cache.patch new file mode 100644 index 000000000..c1cd90d3a --- /dev/null +++ b/extra/xorg-server/use-pixman-glyph-cache.patch @@ -0,0 +1,270 @@ +From 9cbcb5bd6a5360a128d15b77a02d8d3351f74366 Mon Sep 17 00:00:00 2001 +From: Søren Sandmann Pedersen <ssp@redhat.com> +Date: Wed, 30 May 2012 09:19:08 +0000 +Subject: Use new pixman_glyph_cache_t API that will be in pixman 0.28.0 + +This new API allows glyphs to be cached in a data structure in pixman, +and entire glyph strings to be composited in one go. + +Also bump pixman dependency to 0.27.2. + +Results from the cairo peformance test suite running against Xvfb with +a screen size of 1680x1050@32bpp: + +Speedups +======== + xlib firefox-talos-gfx 12416.63 -> 3603.93 3.45x speedup +██▌ + xlib xfce4-terminal-a1 1727.57 -> 1048.85: 1.65x speedup +▋ + xlib evolution 1370.49 -> 869.34: 1.58x speedup +▋ + xlib gnome-terminal-vim 1832.83 -> 1251.94: 1.46x speedup +▌ + xlib poppler 1519.70 -> 1204.05: 1.26x speedup +▎ + xlib firefox-planet-gnome 6982.55 -> 5598.16: 1.25x speedup +▎ + xlib ocitysmap 1142.77 -> 1071.53: 1.07x speedup +▏ + +No slowdowns were reported. + +Results of x11perf -aa10text: + +Before: + + 8000000 reps @ 0.0007 msec (1450000.0/sec) + 8000000 reps @ 0.0007 msec (1460000.0/sec) + 8000000 reps @ 0.0007 msec (1460000.0/sec) + 8000000 reps @ 0.0007 msec (1470000.0/sec) + 8000000 reps @ 0.0007 msec (1480000.0/sec) + 40000000 trep @ 0.0007 msec (1460000.0/sec) + +After: + + 32000000 reps @ 0.0002 msec (4910000.0/sec) + 32000000 reps @ 0.0002 msec (4830000.0/sec) + 32000000 reps @ 0.0002 msec (4890000.0/sec) + 32000000 reps @ 0.0002 msec (4830000.0/sec) + 32000000 reps @ 0.0002 msec (4900000.0/sec) + 160000000 trep @ 0.0002 msec (4870000.0/sec) + +Version 2: Destroy the glyph cache at server regen time + +Acked-by: Aaron Plattner <aplattner@nvidia.com> +Reviewed-by: Keith Packard <keithp@keithp.com> +Signed-off-by: Soren Sandmann <ssp@redhat.com> +--- +diff --git a/configure.ac b/configure.ac +index e686614..b6ed92c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -811,7 +811,7 @@ LIBPCIACCESS="pciaccess >= 0.12.901" + LIBUDEV="libudev >= 143" + LIBSELINUX="libselinux >= 2.0.86" + LIBDBUS="dbus-1 >= 1.0" +-LIBPIXMAN="pixman-1 >= 0.21.8" ++LIBPIXMAN="pixman-1 >= 0.27.2" + + dnl Pixman is always required, but we separate it out so we can link + dnl specific modules against it +diff --git a/fb/fb.h b/fb/fb.h +index 75596c5..b869d12 100644 +--- a/fb/fb.h ++++ b/fb/fb.h +@@ -1344,6 +1344,9 @@ extern _X_EXPORT void + extern _X_EXPORT Bool + fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats); + ++extern _X_EXPORT void ++fbDestroyGlyphCache(void); ++ + /* + * fbpixmap.c + */ +diff --git a/fb/fbpict.c b/fb/fbpict.c +index 097a1a6..2804ff4 100644 +--- a/fb/fbpict.c ++++ b/fb/fbpict.c +@@ -70,6 +70,156 @@ fbComposite(CARD8 op, + free_pixman_pict(pDst, dest); + } + ++static pixman_glyph_cache_t *glyphCache; ++ ++void ++fbDestroyGlyphCache(void) ++{ ++ if (glyphCache) ++ { ++ pixman_glyph_cache_destroy (glyphCache); ++ glyphCache = NULL; ++ } ++} ++ ++static void ++fbUnrealizeGlyph(ScreenPtr pScreen, ++ GlyphPtr pGlyph) ++{ ++ if (glyphCache) ++ pixman_glyph_cache_remove (glyphCache, pGlyph, NULL); ++} ++ ++static void ++fbGlyphs(CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pDst, ++ PictFormatPtr maskFormat, ++ INT16 xSrc, ++ INT16 ySrc, int nlist, ++ GlyphListPtr list, ++ GlyphPtr *glyphs) ++{ ++#define N_STACK_GLYPHS 512 ++ ScreenPtr pScreen = pDst->pDrawable->pScreen; ++ pixman_glyph_t stack_glyphs[N_STACK_GLYPHS]; ++ pixman_glyph_t *pglyphs = stack_glyphs; ++ pixman_image_t *srcImage, *dstImage; ++ int srcXoff, srcYoff, dstXoff, dstYoff; ++ GlyphPtr glyph; ++ int n_glyphs; ++ int x, y; ++ int i, n; ++ int xDst = list->xOff, yDst = list->yOff; ++ ++ miCompositeSourceValidate(pSrc); ++ ++ n_glyphs = 0; ++ for (i = 0; i < nlist; ++i) ++ n_glyphs += list[i].len; ++ ++ if (!glyphCache) ++ glyphCache = pixman_glyph_cache_create(); ++ ++ pixman_glyph_cache_freeze (glyphCache); ++ ++ if (n_glyphs > N_STACK_GLYPHS) { ++ if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t)))) ++ goto out; ++ } ++ ++ i = 0; ++ x = y = 0; ++ while (nlist--) { ++ x += list->xOff; ++ y += list->yOff; ++ n = list->len; ++ while (n--) { ++ const void *g; ++ ++ glyph = *glyphs++; ++ ++ if (!(g = pixman_glyph_cache_lookup (glyphCache, glyph, NULL))) { ++ pixman_image_t *glyphImage; ++ PicturePtr pPicture; ++ int xoff, yoff; ++ ++ pPicture = GetGlyphPicture(glyph, pScreen); ++ if (!pPicture) { ++ n_glyphs--; ++ goto next; ++ } ++ ++ if (!(glyphImage = image_from_pict(pPicture, FALSE, &xoff, &yoff))) ++ goto out; ++ ++ g = pixman_glyph_cache_insert(glyphCache, glyph, NULL, ++ glyph->info.x, ++ glyph->info.y, ++ glyphImage); ++ ++ free_pixman_pict(pPicture, glyphImage); ++ ++ if (!g) ++ goto out; ++ } ++ ++ pglyphs[i].x = x; ++ pglyphs[i].y = y; ++ pglyphs[i].glyph = g; ++ i++; ++ ++ next: ++ x += glyph->info.xOff; ++ y += glyph->info.yOff; ++ } ++ list++; ++ } ++ ++ if (!(srcImage = image_from_pict(pSrc, FALSE, &srcXoff, &srcYoff))) ++ goto out; ++ ++ if (!(dstImage = image_from_pict(pDst, TRUE, &dstXoff, &dstYoff))) ++ goto out_free_src; ++ ++ if (maskFormat) { ++ pixman_format_code_t format; ++ pixman_box32_t extents; ++ int x, y; ++ ++ format = maskFormat->format | (maskFormat->depth << 24); ++ ++ pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents); ++ ++ x = extents.x1; ++ y = extents.y1; ++ ++ pixman_composite_glyphs(op, srcImage, dstImage, format, ++ xSrc + srcXoff + xDst, ySrc + srcYoff + yDst, ++ x, y, ++ x + dstXoff, y + dstYoff, ++ extents.x2 - extents.x1, ++ extents.y2 - extents.y1, ++ glyphCache, n_glyphs, pglyphs); ++ } ++ else { ++ pixman_composite_glyphs_no_mask(op, srcImage, dstImage, ++ xSrc + srcXoff - xDst, ySrc + srcYoff - yDst, ++ dstXoff, dstYoff, ++ glyphCache, n_glyphs, pglyphs); ++ } ++ ++ free_pixman_pict(pDst, dstImage); ++ ++out_free_src: ++ free_pixman_pict(pSrc, srcImage); ++ ++out: ++ pixman_glyph_cache_thaw(glyphCache); ++ if (pglyphs != stack_glyphs) ++ free(pglyphs); ++} ++ + static pixman_image_t * + create_solid_fill_image(PicturePtr pict) + { +@@ -357,7 +507,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats) + return FALSE; + ps = GetPictureScreen(pScreen); + ps->Composite = fbComposite; +- ps->Glyphs = miGlyphs; ++ ps->Glyphs = fbGlyphs; ++ ps->UnrealizeGlyph = fbUnrealizeGlyph; + ps->CompositeRects = miCompositeRects; + ps->RasterizeTrapezoid = fbRasterizeTrapezoid; + ps->Trapezoids = fbTrapezoids; +diff --git a/fb/fbscreen.c b/fb/fbscreen.c +index 7c7d656..f9080a4 100644 +--- a/fb/fbscreen.c ++++ b/fb/fbscreen.c +@@ -32,6 +32,7 @@ fbCloseScreen(ScreenPtr pScreen) + int d; + DepthPtr depths = pScreen->allowedDepths; + ++ fbDestroyGlyphCache(); + for (d = 0; d < pScreen->numDepths; d++) + free(depths[d].vids); + free(depths); +-- +cgit v0.9.0.2-2-gbebe diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD index 95fc48059..ee79de1f4 100644 --- a/libre/iceweasel-libre/PKGBUILD +++ b/libre/iceweasel-libre/PKGBUILD @@ -99,6 +99,17 @@ build() { cat "$srcdir/mozconfig.pgo" >> .mozconfig fi +# From js on abslibre-mips64el.git + if [ "$CARCH" = "mips64el" ]; then + msg "Force disabling JIT." + sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \ + js/src/assembler/wtf/Platform.h + sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.{in,ref} + + echo "ac_add_options --disable-methodjit" >> .mozconfig + echo "ac_add_options --disable-tracejit" >> .mozconfig + fi + # Fix PRE_RELEASE_SUFFIX sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ browser/base/Makefile.in diff --git a/libre/ogre-libre/PKGBUILD b/libre/ogre-libre/PKGBUILD index 673ee8435..cef33ae90 100644 --- a/libre/ogre-libre/PKGBUILD +++ b/libre/ogre-libre/PKGBUILD @@ -7,9 +7,13 @@ pkgname=( ogre-libre #ogre-docs ) +pkgflag=( + -libre + -docs +) pkgver=1.8.1 -pkgrel=2 -pkgdesc='A scene-oriented, flexible 3D engine written in C++, without nonfree nvidia-cg-toolkit support' +pkgrel=3 +pkgdesc='A scene-oriented, flexible 3D engine written in C++, without nonfree nvidia-cg-toolkit support, nonfree fonts and arts' arch=( i686 x86_64 @@ -17,25 +21,28 @@ arch=( ) url="http://www.${pkgbase}3d.org" license=( - 'custom:MIT' + 'MIT:(software)' + 'cc by-sa:(sinbad character)' ) depends=( boost-libs freeimage freetype2 + glu libxaw libxrandr - zziplib ois - glu + zziplib ) makedepends=( boost cmake doxygen graphviz - ttf-dejavu + intel-tbb mesa + #poco + ttf-dejavu ) install=$pkgbase.install source=( @@ -52,58 +59,106 @@ build() { [[ -d build ]] && rm -rf build mkdir build && cd build - # generate CMake Makefile cmake .. \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -D${pkgbase^^}_INSTALL_PLUGINS_HEADERS=TRUE \ - -D${pkgbase^^}_INSTALL_SAMPLES=TRUE \ - -D${pkgbase^^}_INSTALL_DOCS=TRUE \ - -D${pkgbase^^}_INSTALL_MEDIA=TRUE \ - -D${pkgbase^^}_INSTALL_SAMPLES_SOURCE=TRUE \ - -DCMAKE_BUILD_TYPE=Release # set =Debug for debugging version - - # compile - make + -DCMAKE_BUILD_TYPE=Release\ + -DCMAKE_INSTALL_PREFIX=/usr\ + -DCPACK_PACKAGE_DESCRIPTION_SUMMARY='Libre 3D Graphics Engine'\ + -D${pkgbase^^}_BUILD_COMPONENT_PAGING=TRUE\ + -D${pkgbase^^}_BUILD_COMPONENT_PROPERTY=TRUE\ + -D${pkgbase^^}_BUILD_COMPONENT_RTSHADERSYSTEM=TRUE\ + -D${pkgbase^^}_BUILD_COMPONENT_TERRAIN=TRUE\ + -D${pkgbase^^}_BUILD_PLATFORM_APPLE_IOS=FALSE\ + -D${pkgbase^^}_BUILD_PLUGIN_BSP=TRUE\ + -D${pkgbase^^}_BUILD_PLUGIN_CG=FALSE\ + -D${pkgbase^^}_BUILD_PLUGIN_OCTREE=TRUE\ + -D${pkgbase^^}_BUILD_PLUGIN_PCZ=TRUE\ + -D${pkgbase^^}_BUILD_PLUGIN_PFX=TRUE\ + -D${pkgbase^^}_BUILD_RENDERSYSTEM_D3D9=FALSE\ + -D${pkgbase^^}_BUILD_RENDERSYSTEM_D3D11=FALSE\ + -D${pkgbase^^}_BUILD_RENDERSYSTEM_GL=TRUE\ + -D${pkgbase^^}_BUILD_RENDERSYSTEM_GLES=FALSE\ + -D${pkgbase^^}_BUILD_RENDERSYSTEM_GLES2=FALSE\ + -D${pkgbase^^}_BUILD_SAMPLES=TRUE\ + -D${pkgbase^^}_BUILD_TESTS=FALSE\ + -D${pkgbase^^}_BUILD_TOOLS=TRUE\ + -D${pkgbase^^}_CONFIG_ENABLE_DDS=TRUE\ + -D${pkgbase^^}_CONFIG_ENABLE_FREEIMAGE=TRUE\ + -D${pkgbase^^}_CONFIG_ENABLE_GLES2_CG_SUPPORT=FALSE\ + -D${pkgbase^^}_CONFIG_ENABLE_GLES2_GLSL_OPTIMISER=FALSE\ + -D${pkgbase^^}_CONFIG_ENABLE_PVRTC=TRUE\ + -D${pkgbase^^}_CONFIG_ENABLE_VIEWPORT_ORIENTATIONMODE=TRUE\ + -D${pkgbase^^}_CONFIG_ENABLE_ZIP=TRUE\ + -D${pkgbase^^}_CONFIG_NEW_COMPILERS=TRUE\ + -D${pkgbase^^}_INSTALL_DOCS=TRUE\ + -D${pkgbase^^}_INSTALL_SAMPLES=TRUE\ + -D${pkgbase^^}_INSTALL_SAMPLES_SOURCE=TRUE\ + -D${pkgbase^^}_INSTALL_TOOLS=TRUE\ + -D${pkgbase^^}_LIB_DIRECTORY=lib\ + -D${pkgbase^^}_PROFILING=TRUE\ + -D${pkgbase^^}_USE_BOOST=TRUE + make V=0 # generate docs if [[ $(which dot) && $(which doxygen) ]]; then - make doc + make V=0 doc fi } package_ogre-libre() { optdepends=( - 'cppunit: unit testing' 'intel-tbb: better threading support' - 'poco: portability' + #'poco: portability' "boost: for developing using $pkgbase" - "$pkgbase-docs: documentation" + "$pkgbase${pkgflag[1]}: documentation" ) provides=( $pkgbase=$pkgver ) conflicts=( - $pkgbase + $pkgbase ) replaces=( - $pkgbase + $pkgbase ) cd $srcdir/${pkgbase}_src_v${pkgver//./-}/build - # install the bugger make DESTDIR=$pkgdir install - # fix up samples - install -dm775 -o root -g users $pkgdir/opt/${pkgbase^^}/samples - mv $pkgdir/usr/share/${pkgbase^^}/*.cfg $pkgdir/opt/${pkgbase^^}/samples - mv $pkgdir/usr/bin/SampleBrowser $pkgdir/opt/${pkgbase^^}/samples + # fix samplebrowser name + mv $pkgdir/usr/bin/SampleBrowser $pkgdir/usr/bin/${pkgbase^}SampleBrowser + + ## LIBRE PATCH ## + # drop cg shaders, hlsl shaders, unusable headers, unusable samples, nonfree fonts and nonfree arts + rm -fv $pkgdir/usr/include/${pkgbase^^}/RTShaderSystem/${pkgbase^}Shader{CG,HLSL}Program{Processor,Writer}.h + rm -fv $pkgdir/usr/lib/${pkgbase^^}/Samples/Sample_{BSP,CelShading,Dot3Bump,Fresnel,SSAO}.so + rm -fvr $pkgdir/usr/share/${pkgbase^^}/Samples/{BSP,CelShading,Dot3Bump,Fresnel,SSAO} + rm -fvr $pkgdir/usr/share/${pkgbase^^}/media/materials/textures/nvidia + rm -fv $pkgdir/usr/share/${pkgbase^^}/media/packs/{chiropteraDM.{pk3,txt},cubemapsJS.zip} + rm -fvr $pkgdir/usr/share/${pkgbase^^}/media/fonts + sed -i -e ' + /BSP/d + /CelShading/d + /Dot3Bump/d + /Fresnel/d + /SSAO/d + ' $pkgdir/usr/share/${pkgbase^^}/samples.cfg + sed -i -e ' + /Direct3D9/d + /Direct3D11/d + /CgProgramManager/d + ' $pkgdir/usr/share/${pkgbase^^}/plugins.cfg + sed -i -e ' + /cubemapsJS/d + /fonts/d + /nvidia/d + ' $pkgdir/usr/share/${pkgbase^^}/resources.cfg + find $pkgdir -type f -name *.cg -delete + find $pkgdir -type f -name *.hlsl -delete + rm -fvr $pkgdir/usr/share/${pkgbase^^}/Samples/Browser/Android + rm -fvr $pkgdir/usr/share/${pkgbase^^}/Samples/Browser/include/SampleBrowser_{NaCl,OSX,iOS}.h + rm -fvr $pkgdir/usr/share/${pkgbase^^}/Samples/Browser/src/FileSystemLayerImpl_{{Android,NaCl,OSX,WIN32}.cpp,iOS.mm} - # make sample launcher - echo '#!/bin/bash' > $pkgdir/usr/bin/${pkgbase^}SampleBrowser - echo 'cd /opt/${pkgbase^^}/samples && ./SampleBrowser' >> $pkgdir/usr/bin/${pkgbase^}SampleBrowser - chmod +x $pkgdir/usr/bin/${pkgbase^}SampleBrowser - # install license install -Dm644 ../Docs/License.html $pkgdir/usr/share/licenses/$pkgbase/license.html diff --git a/libre/ogre-libre/ogre.install b/libre/ogre-libre/ogre.install index 5db668d9e..c05ad1ed3 100644 --- a/libre/ogre-libre/ogre.install +++ b/libre/ogre-libre/ogre.install @@ -1,4 +1,3 @@ post_install() { - echo "To view the OGRE samples just run OgreSampleBrowser or launch" - echo "it directly in /opt/OGRE/samples/" + echo "To view the OGRE samples just run OgreSampleBrowser" } diff --git a/libre/psutils-libre/PKGBUILD b/libre/psutils-libre/PKGBUILD index 25e88f492..3679222b1 100644 --- a/libre/psutils-libre/PKGBUILD +++ b/libre/psutils-libre/PKGBUILD @@ -7,12 +7,12 @@ _pkgname=psutils pkgname=psutils-libre pkgver=1.17 -pkgrel=3 +pkgrel=3.1 arch=('i686' 'x86_64' 'mips64el') pkgdesc="A set of postscript utilities" url="http://www.tardis.ed.ac.uk/~ajcd/psutils/index.html" license=('custom') -depends=('glibc' 'gnu-ghostscript') +depends=('glibc' 'ghostscript') provides=('psutils-lprng' 'psutils') replaces=('psutils-lprng' 'psutils') conflicts=('psutils-lprng' 'psutils') diff --git a/pcr/mednafen-wip/PKGBUILD b/pcr/mednafen-wip/PKGBUILD index 2abee7f46..c3e5d6137 100755 --- a/pcr/mednafen-wip/PKGBUILD +++ b/pcr/mednafen-wip/PKGBUILD @@ -8,7 +8,7 @@ pkgbase=mednafen pkgname=mednafen-wip pkgver=0.9.26 _pkgver=422 -pkgrel=1 +pkgrel=2 pkgdesc='A command-line multi-system gaming emulator, WIP version' url="http://$pkgbase.sourceforge.net/" license=( @@ -20,7 +20,7 @@ arch=( mips64el ) depends=( - jack2 + jack 'libcdio>=0.83' sdl-libre ) diff --git a/pcr/minidjvu/PKGBUILD b/pcr/minidjvu/PKGBUILD index 168f035cc..700f3c1f6 100644 --- a/pcr/minidjvu/PKGBUILD +++ b/pcr/minidjvu/PKGBUILD @@ -4,7 +4,7 @@ pkgname=minidjvu pkgver=0.8 pkgrel=3 pkgdesc="Highly efficient DjVu encoder for black-and-white images" -arch=('i686' 'x86_64') +arch=('i686' 'x86_64' 'mips64el') url="http://minidjvu.sourceforge.net/" license=('GPL') depends=("libtiff") diff --git a/social/netatalk/PKGBUILD b/social/netatalk/PKGBUILD index 61ac16c5c..44394b460 100644 --- a/social/netatalk/PKGBUILD +++ b/social/netatalk/PKGBUILD @@ -7,7 +7,7 @@ pkgname=netatalk pkgver=3.0.1 -pkgrel=1 +pkgrel=3 pkgdesc='Open Source AFP fileserver' arch=('i686' 'x86_64' 'mips64el') url='http://netatalk.sourceforge.net' @@ -17,42 +17,36 @@ backup=('etc/afp.conf') options=('!libtool') install=$pkgname.install changelog=$pkgname.changelog -source=(netatalk.rc http://iweb.dl.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2) -md5sums=('5e92015b0d9ac77af4b598cca6cb435c' - '62eb034011bb60b0bfd95072af3693dc') +source=(http://iweb.dl.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2) +md5sums=('b4f5c932b2ca99f5292bd6b6d69b3ebc') build() { - cd $pkgname-$pkgver + cd $pkgname-$pkgver # TODO what does this fix? - msg2 'Fixing...' - sed -i 's/x"linux/x"generic/' macros/netatalk.m4 - - autoreconf - -# disable bundled libevent - echo -e "all:\ninstall:" >libevent/Makefile - - CFLAGS="-Wno-unused-result" \ - LIBS=-levent \ - ./configure --prefix=/usr \ - --disable-static \ - --localstatedir=/etc \ - --sysconfdir=/etc \ - --disable-bundled-libevent \ - --with-cracklib \ - --with-cnid-cdb-backend \ - --enable-pgp-uam \ - --with-init-style=systemd - - make + msg2 'Fixing...' + sed -i 's/x"linux/x"generic/' macros/netatalk.m4 + sed -i 's:/lib:/usr/lib:' distrib/initscripts/Makefile.{am,in} + + autoreconf + + CFLAGS="-Wno-unused-result" \ + ./configure --prefix=/usr \ + --disable-static \ + --localstatedir=/var/state \ + --sysconfdir=/etc \ + --with-init-style=systemd \ + --with-cracklib \ + --with-cnid-cdb-backend \ + --enable-pgp-uam \ + --without-libevent-header \ + --without-libevent-lib + + sed -i -e s/-Ino// -e s/-Lno// etc/netatalk/Makefile + make } package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install + cd $pkgname-$pkgver - msg2 'Copying initscripts...' - install -D -m755 "$srcdir"/netatalk.rc "$pkgdir"/etc/rc.d/netatalk + make DESTDIR="$pkgdir" install } -md5sums=('5e92015b0d9ac77af4b598cca6cb435c' - 'b4f5c932b2ca99f5292bd6b6d69b3ebc') diff --git a/social/netatalk/netatalk.changelog b/social/netatalk/netatalk.changelog index b577562d4..b1ada018b 100644 --- a/social/netatalk/netatalk.changelog +++ b/social/netatalk/netatalk.changelog @@ -1,3 +1,21 @@ +2012-10-08 SJ_UnderWater + + * 3.0.1-3 : + moved systemd from /etc + better rc.d install test + +2012-10-05 SJ_UnderWater + + * 3.0.1-2 : + removed rc.d references + +2012-10-04 SJ_UnderWater + + * 3.0.1-1 : + new version + moved to systemd + moved state to /var/db + 2012-07-14 SJ_UnderWater * 3.0-3 : diff --git a/social/netatalk/netatalk.install b/social/netatalk/netatalk.install index a385add10..629586531 100644 --- a/social/netatalk/netatalk.install +++ b/social/netatalk/netatalk.install @@ -2,11 +2,11 @@ post_install() { post_upgrade } post_upgrade() { - if [ "`grep -E '(cnid|atalkd|afpd)' /etc/rc.conf`" ];then + if [ -f /etc/rc.conf ] && [ "`grep -E '(cnid|atalkd|afpd)' /etc/rc.conf`" ];then echo '>>> Detected old netatalk daemon entries in'; echo '>>> /etc/rc.conf, please replace these with'; echo '>>> "netatalk" before restarting!'; - else echo '>>> Add "netatalk" to your DAEMONS list in /etc/rc.conf';fi + else echo '>>> Add "netatalk" to your DAEMONS list';fi echo '>>>'; if [ -f /etc/avahi/services/adisk.service ] || [ -f /etc/avahi/services/afpd.service ];then @@ -18,6 +18,3 @@ post_upgrade() { echo '>>> Found *.conf in /opt/netatalk, please'; echo '>>> migrate these to /etc/netatalk before restarting';fi } -pre_remove() { - rc.d stop netatalk -} |