summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community-testing/homebank/PKGBUILD29
-rw-r--r--community-testing/homebank/homebank.install13
-rw-r--r--community-testing/kmymoney/PKGBUILD46
-rw-r--r--community-testing/kmymoney/kmymoney.changelog29
-rw-r--r--community-testing/kmymoney/kmymoney.install13
-rw-r--r--community-testing/skrooge/PKGBUILD33
-rw-r--r--community-testing/skrooge/skrooge.changelog11
-rw-r--r--community-testing/skrooge/skrooge.install14
-rw-r--r--community/gambas3/PKGBUILD5
-rw-r--r--community/mariadb/PKGBUILD6
-rw-r--r--community/mariadb/mariadb.install11
-rw-r--r--community/parole/PKGBUILD12
-rw-r--r--community/pigeonhole/PKGBUILD4
-rw-r--r--community/qtcreator/PKGBUILD22
-rw-r--r--community/qtcreator/fix-glsl-shit.patch2376
-rw-r--r--community/qtcurve-kde4/PKGBUILD8
-rw-r--r--community/snort/PKGBUILD8
-rw-r--r--community/wvstreams/PKGBUILD14
-rw-r--r--community/wvstreams/openssl-buildfix.patch14
-rw-r--r--community/wvstreams/wvstreams-4.6.1-gcc47.patch10
-rw-r--r--extra/cups/PKGBUILD12
-rw-r--r--extra/cups/cups.install5
-rw-r--r--extra/cups/usb-backend-reset-after-job-only-for-specific-devices.patch74
-rw-r--r--extra/llvm/PKGBUILD10
-rw-r--r--extra/llvm/llvm-3.1-fix-debug-line-info.patch65
-rw-r--r--extra/valgrind/PKGBUILD18
-rw-r--r--extra/wget/PKGBUILD45
-rw-r--r--extra/wget/wget.install20
-rw-r--r--extra/xf86-video-intel/PKGBUILD13
-rw-r--r--libre/linux-libre-lts/PKGBUILD108
-rw-r--r--libre/linux-libre-lts/linux-libre-lts.install2
-rw-r--r--libre/linux-libre/PKGBUILD124
-rw-r--r--libre/linux-libre/linux-libre.install2
-rw-r--r--testing/gnucash/PKGBUILD38
-rw-r--r--testing/gnucash/gnucash.install34
-rw-r--r--testing/libofx/PKGBUILD44
-rw-r--r--testing/libofx/libofx-gcc47.patch11
-rw-r--r--testing/systemd/0001-shutdown-recursively-mark-root-as-private-before-piv.patch31
-rw-r--r--testing/systemd/0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch73
-rw-r--r--testing/systemd/PKGBUILD16
40 files changed, 3269 insertions, 154 deletions
diff --git a/community-testing/homebank/PKGBUILD b/community-testing/homebank/PKGBUILD
new file mode 100644
index 000000000..3ddacc089
--- /dev/null
+++ b/community-testing/homebank/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 74951 2012-08-10 05:04:47Z ebelanger $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=homebank
+pkgver=4.4
+pkgrel=3
+pkgdesc="Free, easy, personal accounting for everyone"
+arch=('i686' 'x86_64')
+url="http://homebank.free.fr/"
+license=('GPL')
+depends=('desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'libofx' 'librsvg' 'perlxml' 'shared-mime-info')
+makedepends=('intltool')
+install=$pkgname.install
+source=(http://homebank.free.fr/public/$pkgname-$pkgver.tar.gz)
+sha256sums=('13b89373575e3ac229d2683aa7296778ad7cdae1a7a019c9124a1d5b23dce7d2')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community-testing/homebank/homebank.install b/community-testing/homebank/homebank.install
new file mode 100644
index 000000000..3c862f44b
--- /dev/null
+++ b/community-testing/homebank/homebank.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+ update-mime-database usr/share/mime
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community-testing/kmymoney/PKGBUILD b/community-testing/kmymoney/PKGBUILD
new file mode 100644
index 000000000..537bb2420
--- /dev/null
+++ b/community-testing/kmymoney/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 74952 2012-08-10 05:04:54Z ebelanger $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Vamp898 <vamp898@web.de>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Todd Maynard <arch@toddmaynard.com>
+
+pkgname=kmymoney
+pkgver=4.6.2
+pkgrel=2
+pkgdesc="Personal finance manager for KDE which operates similarly to MS-Money or Quicken"
+arch=('i686' 'x86_64')
+url="http://kmymoney2.sourceforge.net/"
+license=('GPL')
+depends=('kdebase-workspace' 'shared-mime-info' 'aqbanking' 'libofx' 'libalkimia' 'boost-libs')
+makedepends=('cmake' 'automoc4' 'docbook-xml' 'docbook-xsl' 'boost')
+replaces=('kmymoney2')
+install=$pkgname.install
+changelog=$pkgname.changelog
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/project/kmymoney2/KMyMoney-KDE4/$pkgver/$pkgname-$pkgver.tar.bz2
+qt4.8.patch::https://projects.kde.org/projects/extragear/office/kmymoney/repository/revisions/c736b6f08e77df72d58c5b836b7b04f6098737df/diff/libkdchart/src/KDChartBackgroundAttributes.cpp?format=diff)
+sha256sums=('add8acba2f0d4c212ac1c7fbbdad2fd43a24caceed586b13d90dcd2a20a12b75'
+ '7612b490400dbd4f80ff27bd328f8603a22279c81bb3004e53f48545dbd359ae')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Qt 4.8 fix - fixed upstream
+ patch -Np1 -i ../qt4.8.patch
+
+ mkdir build
+ cd build
+
+ cmake ../ \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_SKIP_RPATH=YES
+ make VERBOSE=1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/build"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community-testing/kmymoney/kmymoney.changelog b/community-testing/kmymoney/kmymoney.changelog
new file mode 100644
index 000000000..6943a0716
--- /dev/null
+++ b/community-testing/kmymoney/kmymoney.changelog
@@ -0,0 +1,29 @@
+2012-08-09 Eric Belanger <eric@archlinux.org>
+ * kmymoney 4.6.2-2
+ * Rebuild against libofx 0.9.5
+
+2011-02-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kmymoney 4.5.3
+
+2010-12-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kmymoney 4.5.2
+
+2010-10-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kmymoney 4.5.1
+ * Added aqbanking dependency
+
+2010-08-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 4.5
+ * Package renamed to 'kmymoney'
+
+2010-05-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.5
+
+2010-04-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.4
+
+2010-04-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#18974 broken OFX imported fixed in 1.0.3-2
+
+2010-03-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 1.0.3
diff --git a/community-testing/kmymoney/kmymoney.install b/community-testing/kmymoney/kmymoney.install
new file mode 100644
index 000000000..f7f5bd0bf
--- /dev/null
+++ b/community-testing/kmymoney/kmymoney.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-mime-database usr/share/mime &> /dev/null
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-testing/skrooge/PKGBUILD b/community-testing/skrooge/PKGBUILD
new file mode 100644
index 000000000..6f324c2b3
--- /dev/null
+++ b/community-testing/skrooge/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 74953 2012-08-10 05:05:01Z ebelanger $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Ray Rashif <schiv@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: neuromante <lorenzo.nizzi.grifi@gmail.com>
+
+pkgname=skrooge
+pkgver=1.3.0
+pkgrel=2
+pkgdesc="A personal finances manager for KDE"
+arch=('i686' 'x86_64')
+url="http://skrooge.org/"
+license=('GPL')
+depends=('kdebase-runtime' 'libofx' 'qca-ossl')
+makedepends=('cmake' 'automoc4' 'docbook-xsl')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://skrooge.org/files/$pkgname-$pkgver.tar.bz2)
+sha256sums=('7f8ec247084a005b743bb080ded5724f6c1ee3644c135e12002c80df93fddfe9')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
+
+ make
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community-testing/skrooge/skrooge.changelog b/community-testing/skrooge/skrooge.changelog
new file mode 100644
index 000000000..ffc491ba5
--- /dev/null
+++ b/community-testing/skrooge/skrooge.changelog
@@ -0,0 +1,11 @@
+2012-08-09 Eric Belanger <eric@archlinux.org>
+ * skrooge 1.3.0-2 Rebuild against libofx 0.9.5
+
+2012-05-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.3.0-1
+
+2012-02-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.2.0-1
+
+2011-11-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * skrooge 1.1.1-1
diff --git a/community-testing/skrooge/skrooge.install b/community-testing/skrooge/skrooge.install
new file mode 100644
index 000000000..050474c59
--- /dev/null
+++ b/community-testing/skrooge/skrooge.install
@@ -0,0 +1,14 @@
+post_install() {
+ update-mime-database usr/share/mime &> /dev/null
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+ kbuildsycoca4 &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/gambas3/PKGBUILD b/community/gambas3/PKGBUILD
index cad3c7ac7..fc6401272 100644
--- a/community/gambas3/PKGBUILD
+++ b/community/gambas3/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 74616 2012-07-31 19:56:01Z ebelanger $
+# $Id: PKGBUILD 74975 2012-08-10 23:14:23Z lcarlier $
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Contributor : sebikul <sebikul@gmail.com>
@@ -15,7 +15,7 @@ pkgname=('gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gamba
'gambas3-gb-signal' 'gambas3-gb-v4l' 'gambas3-gb-vb' 'gambas3-gb-xml' 'gambas3-gb-xml-html' 'gambas3-gb-xml-rpc'
'gambas3-gb-xml-xslt' 'gambas3-gb-web')
pkgver=3.2.1
-pkgrel=3
+pkgrel=4
pkgdesc="A free development environment based on a Basic interpreter."
arch=('i686' 'x86_64')
url="http://gambas.sourceforge.net/"
@@ -48,6 +48,7 @@ package_gambas3-runtime() {
pkgdesc="Runtime environment"
conflicts=('gambas3-gb-gui')
replaces=('gambas3-gb-gui')
+ provides=("gambas3-gb-gui=${pkgver}")
install=gambas3-runtime.install
cd ${srcdir}/${pkgbase}-${pkgver}/main/gbc
diff --git a/community/mariadb/PKGBUILD b/community/mariadb/PKGBUILD
index c464a1a9b..5016dbbd4 100644
--- a/community/mariadb/PKGBUILD
+++ b/community/mariadb/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 74694 2012-08-02 08:13:12Z bpiotrowski $
+# $Id: PKGBUILD 74962 2012-08-10 10:08:18Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
pkgbase=mariadb
pkgname=('libmariadbclient' 'mariadb-clients' 'mariadb')
pkgver=5.5.25
-pkgrel=3
+pkgrel=4
arch=('i686' 'x86_64')
license=('GPL')
url="http://mariadb.org/"
@@ -136,3 +136,5 @@ package_mariadb() {
install -dm700 "${pkgdir}"/var/lib/mysql
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mariadb/mariadb.install b/community/mariadb/mariadb.install
index 9a4479215..c9cc75b47 100644
--- a/community/mariadb/mariadb.install
+++ b/community/mariadb/mariadb.install
@@ -1,7 +1,7 @@
post_install(){
groupadd -g 89 mysql &>/dev/null
useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
- usr/bin/mysql_install_db --user=mysql --basedir=/usr
+ /usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
chown -R mysql:mysql var/lib/mysql &>/dev/null
}
@@ -14,6 +14,13 @@ post_upgrade(){
echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it."
echo " >> "
fi
+
+ if [ "$(vercmp $2 5.5.25-4)" -lt 0 ] && [ -d /data ]; then
+ for x in /data/*; do
+ cp -r $x /var/lib/mysql/
+ done
+ rm -rf /data
+ fi
}
post_remove(){
@@ -24,3 +31,5 @@ post_remove(){
groupdel mysql
fi
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/parole/PKGBUILD b/community/parole/PKGBUILD
index e2215d8f2..0a76172f3 100644
--- a/community/parole/PKGBUILD
+++ b/community/parole/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 70116 2012-04-30 04:19:56Z foutrelis $
+# $Id: PKGBUILD 74960 2012-08-10 09:27:53Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: TDY <tdy@gmx.com>
pkgname=parole
-pkgver=0.2.0.6
-pkgrel=2
+pkgver=0.3.0
+pkgrel=1
pkgdesc="A modern media player based on the GStreamer framework"
arch=('i686' 'x86_64')
url="http://goodies.xfce.org/projects/applications/parole/"
license=('GPL')
depends=('gstreamer0.10-base>=0.10.11' 'hicolor-icon-theme' 'libnotify>=0.4.1'
- 'libxfcegui4>=4.6.0' 'taglib>=1.4' 'desktop-file-utils')
+ 'libxfce4ui>=4.7.0' 'taglib>=1.4' 'desktop-file-utils')
makedepends=('pkgconfig>=0.9.0' 'xfce4-dev-tools')
optdepends=('xulrunner>=1.9.1: browser plugin')
conflicts=('parole-media-player-git')
options=('!libtool')
install=parole.install
-source=(http://archive.xfce.org/src/apps/$pkgname/${pkgver%.*.*}/$pkgname-$pkgver.tar.bz2)
-md5sums=('5d7e5ab7535bdf89508a8d7e551f9187')
+source=(http://archive.xfce.org/src/apps/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
+md5sums=('869b1c1f3a02d46ab17755d043b3e719')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/pigeonhole/PKGBUILD b/community/pigeonhole/PKGBUILD
index 669e9689c..eba6ef3f7 100644
--- a/community/pigeonhole/PKGBUILD
+++ b/community/pigeonhole/PKGBUILD
@@ -4,12 +4,12 @@
# This must be built against the version of dovecot being used,
# else mail delivery will fail.
# Specify the version of dovecot to be used here:
-_dcpkgver=2.1.8
+_dcpkgver=2.1.9
# Make sure to bump pkgrel if changing this.
pkgname=pigeonhole
pkgver=0.3.1
-pkgrel=2
+pkgrel=3
pkgdesc="Fully rewritten Sieve implementation for Dovecot v2.1"
arch=('i686' 'x86_64')
url="http://pigeonhole.dovecot.org/"
diff --git a/community/qtcreator/PKGBUILD b/community/qtcreator/PKGBUILD
index 67145e813..cdadfb2c4 100644
--- a/community/qtcreator/PKGBUILD
+++ b/community/qtcreator/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 74355 2012-07-25 15:34:15Z svenstaro $
+# $Id: PKGBUILD 74977 2012-08-10 23:21:48Z svenstaro $
# Maintainer: Imanol Celaya <ornitorrincos@archlinux-es.org>
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
@@ -7,15 +7,15 @@
# Contributor: delor <bartekpiech gmail com>
pkgname="qtcreator"
-pkgver=2.5.1
-_pkgver=2.5.1
+pkgver=2.5.2
+_pkgver=2.5.2
pkgrel=1
pkgdesc='Lightweight, cross-platform integrated development environment'
arch=('i686' 'x86_64')
url='http://qt.nokia.com/products/developer-tools'
license=('LGPL')
-depends=('qt>=4.8.0')
-makedepends=('qt-private-headers>=4.8.0' 'git')
+depends=('qt')
+makedepends=('qt-private-headers' 'git')
options=('docs')
optdepends=('qt-doc: for the integrated Qt documentation'
'gdb: for the debugger'
@@ -27,12 +27,16 @@ optdepends=('qt-doc: for the integrated Qt documentation'
'valgrind: for analyze support')
install=qtcreator.install
source=("http://get.qt.nokia.com/qtcreator/qt-creator-${_pkgver}-src.tar.gz"
- 'qtcreator.desktop')
-md5sums=('321e6ee4640cee8177cbb302fde2ce84'
- 'f1f4680b9838ff0b8f4cf11eb850d662')
-
+ 'qtcreator.desktop'
+ 'fix-glsl-shit.patch')
+md5sums=('4a9c09cdf4609753283c31451c84ceb8'
+ 'f1f4680b9838ff0b8f4cf11eb850d662'
+ '7453f6aabe2d61754490a874a26c087b')
+
build() {
cd ${srcdir}
+
+ patch -Np1 -d $srcdir/qt-creator-$_pkgver-src < $srcdir/fix-glsl-shit.patch
[[ -d build ]] && rm -r build
mkdir build && cd build
diff --git a/community/qtcreator/fix-glsl-shit.patch b/community/qtcreator/fix-glsl-shit.patch
new file mode 100644
index 000000000..4b5e504e1
--- /dev/null
+++ b/community/qtcreator/fix-glsl-shit.patch
@@ -0,0 +1,2376 @@
+From e91045469d59c35607faa344bcfba2b2c566da51 Mon Sep 17 00:00:00 2001
+From: Christian Kamm <christian.d.kamm@nokia.com>
+Date: Mon, 6 Aug 2012 11:29:55 +0200
+Subject: [PATCH] GLSL: Fix recovery token order to avoid infinite loop.
+
+The case 'a = b ? ;' recovered with T_NUMBER, T_COMMA, T_NUMBER, ...
+
+Task-number: QTCREATORBUG-7517
+Change-Id: I3546266b21d11ce08e4af1331be94a78d3b24c19
+Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
+---
+ src/libs/glsl/glsl.g | 4 +-
+ src/libs/glsl/glslparser.cpp | 638 +++++++++++++++++++++---------------------
+ src/libs/glsl/glslparser.h | 2 +-
+ 3 files changed, 322 insertions(+), 322 deletions(-)
+
+diff --git a/src/libs/glsl/glsl.g b/src/libs/glsl/glsl.g
+index 67f564c..3c6ae7c 100644
+--- a/src/libs/glsl/glsl.g
++++ b/src/libs/glsl/glsl.g
+@@ -456,7 +456,7 @@ private:
+ #include <iostream>
+ #include <cstdio>
+ #include <cassert>
+-#include <QtCore/QDebug>
++#include <QDebug>
+
+ using namespace GLSL;
+
+@@ -591,7 +591,7 @@ AST *Parser::parse(int startToken)
+
+ static int tks[] = {
+ T_RIGHT_BRACE, T_RIGHT_PAREN, T_RIGHT_BRACKET,
+- T_SEMICOLON, T_COMMA, T_COLON,
++ T_SEMICOLON, T_COLON, T_COMMA,
+ T_NUMBER, T_TYPE_NAME, T_IDENTIFIER,
+ T_LEFT_BRACE, T_LEFT_PAREN, T_LEFT_BRACKET,
+ T_WHILE,
+diff --git a/src/libs/glsl/glslparser.cpp b/src/libs/glsl/glslparser.cpp
+index cf4bbe4..d82096b 100644
+--- a/src/libs/glsl/glslparser.cpp
++++ b/src/libs/glsl/glslparser.cpp
+@@ -1,5 +1,5 @@
+
+-#line 427 "./glsl.g"
++#line 423 "./glsl.g"
+
+ /**************************************************************************
+ **
+@@ -171,7 +171,7 @@ AST *Parser::parse(int startToken)
+
+ static int tks[] = {
+ T_RIGHT_BRACE, T_RIGHT_PAREN, T_RIGHT_BRACKET,
+- T_SEMICOLON, T_COMMA, T_COLON,
++ T_SEMICOLON, T_COLON, T_COMMA,
+ T_NUMBER, T_TYPE_NAME, T_IDENTIFIER,
+ T_LEFT_BRACE, T_LEFT_PAREN, T_LEFT_BRACKET,
+ T_WHILE,
+@@ -215,137 +215,137 @@ AST *Parser::parse(int startToken)
+ return 0;
+ }
+
+-#line 647 "./glsl.g"
++#line 641 "./glsl.g"
+
+ void Parser::reduce(int ruleno)
+ {
+ switch(ruleno) {
+
+-#line 656 "./glsl.g"
++#line 650 "./glsl.g"
+
+ case 0: {
+ ast(1) = makeAstNode<IdentifierExpressionAST>(string(1));
+ } break;
+
+-#line 663 "./glsl.g"
++#line 657 "./glsl.g"
+
+ case 1: {
+ ast(1) = makeAstNode<LiteralExpressionAST>(string(1));
+ } break;
+
+-#line 670 "./glsl.g"
++#line 664 "./glsl.g"
+
+ case 2: {
+ ast(1) = makeAstNode<LiteralExpressionAST>(_engine->identifier("true", 4));
+ } break;
+
+-#line 677 "./glsl.g"
++#line 671 "./glsl.g"
+
+ case 3: {
+ ast(1) = makeAstNode<LiteralExpressionAST>(_engine->identifier("false", 5));
+ } break;
+
+-#line 684 "./glsl.g"
++#line 678 "./glsl.g"
+
+ case 4: {
+ // nothing to do.
+ } break;
+
+-#line 691 "./glsl.g"
++#line 685 "./glsl.g"
+
+ case 5: {
+ ast(1) = ast(2);
+ } break;
+
+-#line 698 "./glsl.g"
++#line 692 "./glsl.g"
+
+ case 6: {
+ // nothing to do.
+ } break;
+
+-#line 705 "./glsl.g"
++#line 699 "./glsl.g"
+
+ case 7: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_ArrayAccess, expression(1), expression(3));
+ } break;
+
+-#line 712 "./glsl.g"
++#line 706 "./glsl.g"
+
+ case 8: {
+ // nothing to do.
+ } break;
+
+-#line 719 "./glsl.g"
++#line 713 "./glsl.g"
+
+ case 9: {
+ ast(1) = makeAstNode<MemberAccessExpressionAST>(expression(1), string(3));
+ } break;
+
+-#line 726 "./glsl.g"
++#line 720 "./glsl.g"
+
+ case 10: {
+ ast(1) = makeAstNode<UnaryExpressionAST>(AST::Kind_PostIncrement, expression(1));
+ } break;
+
+-#line 733 "./glsl.g"
++#line 727 "./glsl.g"
+
+ case 11: {
+ ast(1) = makeAstNode<UnaryExpressionAST>(AST::Kind_PostDecrement, expression(1));
+ } break;
+
+-#line 740 "./glsl.g"
++#line 734 "./glsl.g"
+
+ case 12: {
+ // nothing to do.
+ } break;
+
+-#line 747 "./glsl.g"
++#line 741 "./glsl.g"
+
+ case 13: {
+ // nothing to do.
+ } break;
+
+-#line 754 "./glsl.g"
++#line 748 "./glsl.g"
+
+ case 14: {
+ ast(1) = makeAstNode<FunctionCallExpressionAST>
+ (sym(1).function.id, sym(1).function.arguments);
+ } break;
+
+-#line 762 "./glsl.g"
++#line 756 "./glsl.g"
+
+ case 15: {
+ ast(1) = makeAstNode<FunctionCallExpressionAST>
+ (expression(1), sym(3).function.id, sym(3).function.arguments);
+ } break;
+
+-#line 770 "./glsl.g"
++#line 764 "./glsl.g"
+
+ case 16: {
+ // nothing to do.
+ } break;
+
+-#line 777 "./glsl.g"
++#line 771 "./glsl.g"
+
+ case 17: {
+ // nothing to do.
+ } break;
+
+-#line 784 "./glsl.g"
++#line 778 "./glsl.g"
+
+ case 18: {
+ sym(1).function.id = sym(1).function_identifier;
+ sym(1).function.arguments = 0;
+ } break;
+
+-#line 792 "./glsl.g"
++#line 786 "./glsl.g"
+
+ case 19: {
+ sym(1).function.id = sym(1).function_identifier;
+ sym(1).function.arguments = 0;
+ } break;
+
+-#line 800 "./glsl.g"
++#line 794 "./glsl.g"
+
+ case 20: {
+ sym(1).function.id = sym(1).function_identifier;
+@@ -353,7 +353,7 @@ case 20: {
+ makeAstNode< List<ExpressionAST *> >(expression(2));
+ } break;
+
+-#line 809 "./glsl.g"
++#line 803 "./glsl.g"
+
+ case 21: {
+ sym(1).function.arguments =
+@@ -361,379 +361,379 @@ case 21: {
+ (sym(1).function.arguments, expression(3));
+ } break;
+
+-#line 818 "./glsl.g"
++#line 812 "./glsl.g"
+
+ case 22: {
+ // nothing to do.
+ } break;
+
+-#line 825 "./glsl.g"
++#line 819 "./glsl.g"
+
+ case 23: {
+ ast(1) = makeAstNode<FunctionIdentifierAST>(type(1));
+ } break;
+
+-#line 832 "./glsl.g"
++#line 826 "./glsl.g"
+
+ case 24: {
+ ast(1) = makeAstNode<FunctionIdentifierAST>(string(1));
+ } break;
+
+-#line 839 "./glsl.g"
++#line 833 "./glsl.g"
+
+ case 25: {
+ // nothing to do.
+ } break;
+
+-#line 846 "./glsl.g"
++#line 840 "./glsl.g"
+
+ case 26: {
+ ast(1) = makeAstNode<UnaryExpressionAST>(AST::Kind_PreIncrement, expression(2));
+ } break;
+
+-#line 853 "./glsl.g"
++#line 847 "./glsl.g"
+
+ case 27: {
+ ast(1) = makeAstNode<UnaryExpressionAST>(AST::Kind_PreDecrement, expression(2));
+ } break;
+
+-#line 860 "./glsl.g"
++#line 854 "./glsl.g"
+
+ case 28: {
+ ast(1) = makeAstNode<UnaryExpressionAST>(sym(1).kind, expression(2));
+ } break;
+
+-#line 867 "./glsl.g"
++#line 861 "./glsl.g"
+
+ case 29: {
+ sym(1).kind = AST::Kind_UnaryPlus;
+ } break;
+
+-#line 874 "./glsl.g"
++#line 868 "./glsl.g"
+
+ case 30: {
+ sym(1).kind = AST::Kind_UnaryMinus;
+ } break;
+
+-#line 881 "./glsl.g"
++#line 875 "./glsl.g"
+
+ case 31: {
+ sym(1).kind = AST::Kind_LogicalNot;
+ } break;
+
+-#line 888 "./glsl.g"
++#line 882 "./glsl.g"
+
+ case 32: {
+ sym(1).kind = AST::Kind_BitwiseNot;
+ } break;
+
+-#line 895 "./glsl.g"
++#line 889 "./glsl.g"
+
+ case 33: {
+ // nothing to do.
+ } break;
+
+-#line 902 "./glsl.g"
++#line 896 "./glsl.g"
+
+ case 34: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Multiply, expression(1), expression(3));
+ } break;
+
+-#line 909 "./glsl.g"
++#line 903 "./glsl.g"
+
+ case 35: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Divide, expression(1), expression(3));
+ } break;
+
+-#line 916 "./glsl.g"
++#line 910 "./glsl.g"
+
+ case 36: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Modulus, expression(1), expression(3));
+ } break;
+
+-#line 923 "./glsl.g"
++#line 917 "./glsl.g"
+
+ case 37: {
+ // nothing to do.
+ } break;
+
+-#line 930 "./glsl.g"
++#line 924 "./glsl.g"
+
+ case 38: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Plus, expression(1), expression(3));
+ } break;
+
+-#line 937 "./glsl.g"
++#line 931 "./glsl.g"
+
+ case 39: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Minus, expression(1), expression(3));
+ } break;
+
+-#line 944 "./glsl.g"
++#line 938 "./glsl.g"
+
+ case 40: {
+ // nothing to do.
+ } break;
+
+-#line 951 "./glsl.g"
++#line 945 "./glsl.g"
+
+ case 41: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_ShiftLeft, expression(1), expression(3));
+ } break;
+
+-#line 958 "./glsl.g"
++#line 952 "./glsl.g"
+
+ case 42: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_ShiftRight, expression(1), expression(3));
+ } break;
+
+-#line 965 "./glsl.g"
++#line 959 "./glsl.g"
+
+ case 43: {
+ // nothing to do.
+ } break;
+
+-#line 972 "./glsl.g"
++#line 966 "./glsl.g"
+
+ case 44: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LessThan, expression(1), expression(3));
+ } break;
+
+-#line 979 "./glsl.g"
++#line 973 "./glsl.g"
+
+ case 45: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_GreaterThan, expression(1), expression(3));
+ } break;
+
+-#line 986 "./glsl.g"
++#line 980 "./glsl.g"
+
+ case 46: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LessEqual, expression(1), expression(3));
+ } break;
+
+-#line 993 "./glsl.g"
++#line 987 "./glsl.g"
+
+ case 47: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_GreaterEqual, expression(1), expression(3));
+ } break;
+
+-#line 1000 "./glsl.g"
++#line 994 "./glsl.g"
+
+ case 48: {
+ // nothing to do.
+ } break;
+
+-#line 1007 "./glsl.g"
++#line 1001 "./glsl.g"
+
+ case 49: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Equal, expression(1), expression(3));
+ } break;
+
+-#line 1014 "./glsl.g"
++#line 1008 "./glsl.g"
+
+ case 50: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_NotEqual, expression(1), expression(3));
+ } break;
+
+-#line 1021 "./glsl.g"
++#line 1015 "./glsl.g"
+
+ case 51: {
+ // nothing to do.
+ } break;
+
+-#line 1028 "./glsl.g"
++#line 1022 "./glsl.g"
+
+ case 52: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_BitwiseAnd, expression(1), expression(3));
+ } break;
+
+-#line 1035 "./glsl.g"
++#line 1029 "./glsl.g"
+
+ case 53: {
+ // nothing to do.
+ } break;
+
+-#line 1042 "./glsl.g"
++#line 1036 "./glsl.g"
+
+ case 54: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_BitwiseXor, expression(1), expression(3));
+ } break;
+
+-#line 1049 "./glsl.g"
++#line 1043 "./glsl.g"
+
+ case 55: {
+ // nothing to do.
+ } break;
+
+-#line 1056 "./glsl.g"
++#line 1050 "./glsl.g"
+
+ case 56: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_BitwiseOr, expression(1), expression(3));
+ } break;
+
+-#line 1063 "./glsl.g"
++#line 1057 "./glsl.g"
+
+ case 57: {
+ // nothing to do.
+ } break;
+
+-#line 1070 "./glsl.g"
++#line 1064 "./glsl.g"
+
+ case 58: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LogicalAnd, expression(1), expression(3));
+ } break;
+
+-#line 1077 "./glsl.g"
++#line 1071 "./glsl.g"
+
+ case 59: {
+ // nothing to do.
+ } break;
+
+-#line 1084 "./glsl.g"
++#line 1078 "./glsl.g"
+
+ case 60: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LogicalXor, expression(1), expression(3));
+ } break;
+
+-#line 1091 "./glsl.g"
++#line 1085 "./glsl.g"
+
+ case 61: {
+ // nothing to do.
+ } break;
+
+-#line 1098 "./glsl.g"
++#line 1092 "./glsl.g"
+
+ case 62: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_LogicalOr, expression(1), expression(3));
+ } break;
+
+-#line 1105 "./glsl.g"
++#line 1099 "./glsl.g"
+
+ case 63: {
+ // nothing to do.
+ } break;
+
+-#line 1112 "./glsl.g"
++#line 1106 "./glsl.g"
+
+ case 64: {
+ ast(1) = makeAstNode<TernaryExpressionAST>(AST::Kind_Conditional, expression(1), expression(3), expression(5));
+ } break;
+
+-#line 1119 "./glsl.g"
++#line 1113 "./glsl.g"
+
+ case 65: {
+ // nothing to do.
+ } break;
+
+-#line 1126 "./glsl.g"
++#line 1120 "./glsl.g"
+
+ case 66: {
+ ast(1) = makeAstNode<AssignmentExpressionAST>(sym(2).kind, expression(1), expression(3));
+ } break;
+
+-#line 1133 "./glsl.g"
++#line 1127 "./glsl.g"
+
+ case 67: {
+ sym(1).kind = AST::Kind_Assign;
+ } break;
+
+-#line 1140 "./glsl.g"
++#line 1134 "./glsl.g"
+
+ case 68: {
+ sym(1).kind = AST::Kind_AssignMultiply;
+ } break;
+
+-#line 1147 "./glsl.g"
++#line 1141 "./glsl.g"
+
+ case 69: {
+ sym(1).kind = AST::Kind_AssignDivide;
+ } break;
+
+-#line 1154 "./glsl.g"
++#line 1148 "./glsl.g"
+
+ case 70: {
+ sym(1).kind = AST::Kind_AssignModulus;
+ } break;
+
+-#line 1161 "./glsl.g"
++#line 1155 "./glsl.g"
+
+ case 71: {
+ sym(1).kind = AST::Kind_AssignPlus;
+ } break;
+
+-#line 1168 "./glsl.g"
++#line 1162 "./glsl.g"
+
+ case 72: {
+ sym(1).kind = AST::Kind_AssignMinus;
+ } break;
+
+-#line 1175 "./glsl.g"
++#line 1169 "./glsl.g"
+
+ case 73: {
+ sym(1).kind = AST::Kind_AssignShiftLeft;
+ } break;
+
+-#line 1182 "./glsl.g"
++#line 1176 "./glsl.g"
+
+ case 74: {
+ sym(1).kind = AST::Kind_AssignShiftRight;
+ } break;
+
+-#line 1189 "./glsl.g"
++#line 1183 "./glsl.g"
+
+ case 75: {
+ sym(1).kind = AST::Kind_AssignAnd;
+ } break;
+
+-#line 1196 "./glsl.g"
++#line 1190 "./glsl.g"
+
+ case 76: {
+ sym(1).kind = AST::Kind_AssignXor;
+ } break;
+
+-#line 1203 "./glsl.g"
++#line 1197 "./glsl.g"
+
+ case 77: {
+ sym(1).kind = AST::Kind_AssignOr;
+ } break;
+
+-#line 1210 "./glsl.g"
++#line 1204 "./glsl.g"
+
+ case 78: {
+ // nothing to do.
+ } break;
+
+-#line 1217 "./glsl.g"
++#line 1211 "./glsl.g"
+
+ case 79: {
+ ast(1) = makeAstNode<BinaryExpressionAST>(AST::Kind_Comma, expression(1), expression(3));
+ } break;
+
+-#line 1224 "./glsl.g"
++#line 1218 "./glsl.g"
+
+ case 80: {
+ // nothing to do.
+ } break;
+
+-#line 1231 "./glsl.g"
++#line 1225 "./glsl.g"
+
+ case 81: {
+ // nothing to do.
+ } break;
+
+-#line 1238 "./glsl.g"
++#line 1232 "./glsl.g"
+
+ case 82: {
+ ast(1) = makeAstNode<InitDeclarationAST>(sym(1).declaration_list);
+ } break;
+
+-#line 1245 "./glsl.g"
++#line 1239 "./glsl.g"
+
+ case 83: {
+ ast(1) = makeAstNode<PrecisionDeclarationAST>(sym(2).precision, type(3));
+ } break;
+
+-#line 1252 "./glsl.g"
++#line 1246 "./glsl.g"
+
+ case 84: {
+ if (sym(1).type_qualifier.qualifier != QualifiedTypeAST::Struct) {
+@@ -743,7 +743,7 @@ case 84: {
+ ast(1) = makeAstNode<TypeDeclarationAST>(type);
+ } break;
+
+-#line 1263 "./glsl.g"
++#line 1257 "./glsl.g"
+
+ case 85: {
+ if ((sym(1).type_qualifier.qualifier & QualifiedTypeAST::Struct) == 0) {
+@@ -761,7 +761,7 @@ case 85: {
+ makeAstNode<VariableDeclarationAST>(qualtype, string(6)));
+ } break;
+
+-#line 1282 "./glsl.g"
++#line 1276 "./glsl.g"
+
+ case 86: {
+ if ((sym(1).type_qualifier.qualifier & QualifiedTypeAST::Struct) == 0) {
+@@ -780,7 +780,7 @@ case 86: {
+ (makeAstNode<ArrayTypeAST>(qualtype), string(6)));
+ } break;
+
+-#line 1302 "./glsl.g"
++#line 1296 "./glsl.g"
+
+ case 87: {
+ if ((sym(1).type_qualifier.qualifier & QualifiedTypeAST::Struct) == 0) {
+@@ -799,7 +799,7 @@ case 87: {
+ (makeAstNode<ArrayTypeAST>(qualtype, expression(8)), string(6)));
+ } break;
+
+-#line 1322 "./glsl.g"
++#line 1316 "./glsl.g"
+
+ case 88: {
+ TypeAST *type = makeAstNode<QualifiedTypeAST>
+@@ -808,59 +808,59 @@ case 88: {
+ ast(1) = makeAstNode<TypeDeclarationAST>(type);
+ } break;
+
+-#line 1332 "./glsl.g"
++#line 1326 "./glsl.g"
+
+ case 89: {
+ function(1)->finishParams();
+ } break;
+
+-#line 1339 "./glsl.g"
++#line 1333 "./glsl.g"
+
+ case 90: {
+ // nothing to do.
+ } break;
+
+-#line 1346 "./glsl.g"
++#line 1340 "./glsl.g"
+
+ case 91: {
+ // nothing to do.
+ } break;
+
+-#line 1353 "./glsl.g"
++#line 1347 "./glsl.g"
+
+ case 92: {
+ function(1)->params = makeAstNode< List<ParameterDeclarationAST *> >
+ (sym(2).param_declaration);
+ } break;
+
+-#line 1361 "./glsl.g"
++#line 1355 "./glsl.g"
+
+ case 93: {
+ function(1)->params = makeAstNode< List<ParameterDeclarationAST *> >
+ (function(1)->params, sym(3).param_declaration);
+ } break;
+
+-#line 1369 "./glsl.g"
++#line 1363 "./glsl.g"
+
+ case 94: {
+ function(1) = makeAstNode<FunctionDeclarationAST>(type(1), string(2));
+ } break;
+
+-#line 1376 "./glsl.g"
++#line 1370 "./glsl.g"
+
+ case 95: {
+ sym(1).param_declarator.type = type(1);
+ sym(1).param_declarator.name = string(2);
+ } break;
+
+-#line 1384 "./glsl.g"
++#line 1378 "./glsl.g"
+
+ case 96: {
+ sym(1).param_declarator.type = makeAstNode<ArrayTypeAST>(type(1), expression(4));
+ sym(1).param_declarator.name = string(2);
+ } break;
+
+-#line 1392 "./glsl.g"
++#line 1386 "./glsl.g"
+
+ case 97: {
+ ast(1) = makeAstNode<ParameterDeclarationAST>
+@@ -871,7 +871,7 @@ case 97: {
+ sym(3).param_declarator.name);
+ } break;
+
+-#line 1404 "./glsl.g"
++#line 1398 "./glsl.g"
+
+ case 98: {
+ ast(1) = makeAstNode<ParameterDeclarationAST>
+@@ -880,7 +880,7 @@ case 98: {
+ sym(2).param_declarator.name);
+ } break;
+
+-#line 1414 "./glsl.g"
++#line 1408 "./glsl.g"
+
+ case 99: {
+ ast(1) = makeAstNode<ParameterDeclarationAST>
+@@ -890,7 +890,7 @@ case 99: {
+ (const QString *)0);
+ } break;
+
+-#line 1425 "./glsl.g"
++#line 1419 "./glsl.g"
+
+ case 100: {
+ ast(1) = makeAstNode<ParameterDeclarationAST>
+@@ -898,44 +898,44 @@ case 100: {
+ (const QString *)0);
+ } break;
+
+-#line 1434 "./glsl.g"
++#line 1428 "./glsl.g"
+
+ case 101: {
+ sym(1).qualifier = ParameterDeclarationAST::In;
+ } break;
+
+-#line 1441 "./glsl.g"
++#line 1435 "./glsl.g"
+
+ case 102: {
+ sym(1).qualifier = ParameterDeclarationAST::In;
+ } break;
+
+-#line 1448 "./glsl.g"
++#line 1442 "./glsl.g"
+
+ case 103: {
+ sym(1).qualifier = ParameterDeclarationAST::Out;
+ } break;
+
+-#line 1455 "./glsl.g"
++#line 1449 "./glsl.g"
+
+ case 104: {
+ sym(1).qualifier = ParameterDeclarationAST::InOut;
+ } break;
+
+-#line 1462 "./glsl.g"
++#line 1456 "./glsl.g"
+
+ case 105: {
+ // nothing to do.
+ } break;
+
+-#line 1469 "./glsl.g"
++#line 1463 "./glsl.g"
+
+ case 106: {
+ sym(1).declaration_list = makeAstNode< List<DeclarationAST *> >
+ (sym(1).declaration);
+ } break;
+
+-#line 1477 "./glsl.g"
++#line 1471 "./glsl.g"
+
+ case 107: {
+ TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list);
+@@ -944,7 +944,7 @@ case 107: {
+ (sym(1).declaration_list, decl);
+ } break;
+
+-#line 1487 "./glsl.g"
++#line 1481 "./glsl.g"
+
+ case 108: {
+ TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list);
+@@ -954,7 +954,7 @@ case 108: {
+ (sym(1).declaration_list, decl);
+ } break;
+
+-#line 1498 "./glsl.g"
++#line 1492 "./glsl.g"
+
+ case 109: {
+ TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list);
+@@ -964,7 +964,7 @@ case 109: {
+ (sym(1).declaration_list, decl);
+ } break;
+
+-#line 1509 "./glsl.g"
++#line 1503 "./glsl.g"
+
+ case 110: {
+ TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list);
+@@ -975,7 +975,7 @@ case 110: {
+ (sym(1).declaration_list, decl);
+ } break;
+
+-#line 1521 "./glsl.g"
++#line 1515 "./glsl.g"
+
+ case 111: {
+ TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list);
+@@ -986,7 +986,7 @@ case 111: {
+ (sym(1).declaration_list, decl);
+ } break;
+
+-#line 1533 "./glsl.g"
++#line 1527 "./glsl.g"
+
+ case 112: {
+ TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list);
+@@ -996,40 +996,40 @@ case 112: {
+ (sym(1).declaration_list, decl);
+ } break;
+
+-#line 1544 "./glsl.g"
++#line 1538 "./glsl.g"
+
+ case 113: {
+ ast(1) = makeAstNode<TypeDeclarationAST>(type(1));
+ } break;
+
+-#line 1551 "./glsl.g"
++#line 1545 "./glsl.g"
+
+ case 114: {
+ ast(1) = makeAstNode<VariableDeclarationAST>(type(1), string(2));
+ } break;
+
+-#line 1558 "./glsl.g"
++#line 1552 "./glsl.g"
+
+ case 115: {
+ ast(1) = makeAstNode<VariableDeclarationAST>
+ (makeAstNode<ArrayTypeAST>(type(1)), string(2));
+ } break;
+
+-#line 1566 "./glsl.g"
++#line 1560 "./glsl.g"
+
+ case 116: {
+ ast(1) = makeAstNode<VariableDeclarationAST>
+ (makeAstNode<ArrayTypeAST>(type(1), expression(4)), string(2));
+ } break;
+
+-#line 1574 "./glsl.g"
++#line 1568 "./glsl.g"
+
+ case 117: {
+ ast(1) = makeAstNode<VariableDeclarationAST>
+ (makeAstNode<ArrayTypeAST>(type(1)), string(2), expression(6));
+ } break;
+
+-#line 1582 "./glsl.g"
++#line 1576 "./glsl.g"
+
+ case 118: {
+ ast(1) = makeAstNode<VariableDeclarationAST>
+@@ -1037,26 +1037,26 @@ case 118: {
+ string(2), expression(7));
+ } break;
+
+-#line 1591 "./glsl.g"
++#line 1585 "./glsl.g"
+
+ case 119: {
+ ast(1) = makeAstNode<VariableDeclarationAST>
+ (type(1), string(2), expression(4));
+ } break;
+
+-#line 1599 "./glsl.g"
++#line 1593 "./glsl.g"
+
+ case 120: {
+ ast(1) = makeAstNode<InvariantDeclarationAST>(string(2));
+ } break;
+
+-#line 1606 "./glsl.g"
++#line 1600 "./glsl.g"
+
+ case 121: {
+ ast(1) = makeAstNode<QualifiedTypeAST>(0, type(1), (List<LayoutQualifierAST *> *)0);
+ } break;
+
+-#line 1613 "./glsl.g"
++#line 1607 "./glsl.g"
+
+ case 122: {
+ ast(1) = makeAstNode<QualifiedTypeAST>
+@@ -1064,207 +1064,207 @@ case 122: {
+ sym(1).type_qualifier.layout_list);
+ } break;
+
+-#line 1622 "./glsl.g"
++#line 1616 "./glsl.g"
+
+ case 123: {
+ sym(1).qualifier = QualifiedTypeAST::Invariant;
+ } break;
+
+-#line 1629 "./glsl.g"
++#line 1623 "./glsl.g"
+
+ case 124: {
+ sym(1).qualifier = QualifiedTypeAST::Smooth;
+ } break;
+
+-#line 1636 "./glsl.g"
++#line 1630 "./glsl.g"
+
+ case 125: {
+ sym(1).qualifier = QualifiedTypeAST::Flat;
+ } break;
+
+-#line 1643 "./glsl.g"
++#line 1637 "./glsl.g"
+
+ case 126: {
+ sym(1).qualifier = QualifiedTypeAST::NoPerspective;
+ } break;
+
+-#line 1650 "./glsl.g"
++#line 1644 "./glsl.g"
+
+ case 127: {
+ sym(1) = sym(3);
+ } break;
+
+-#line 1657 "./glsl.g"
++#line 1651 "./glsl.g"
+
+ case 128: {
+ sym(1).layout_list = makeAstNode< List<LayoutQualifierAST *> >(sym(1).layout);
+ } break;
+
+-#line 1664 "./glsl.g"
++#line 1658 "./glsl.g"
+
+ case 129: {
+ sym(1).layout_list = makeAstNode< List<LayoutQualifierAST *> >(sym(1).layout_list, sym(3).layout);
+ } break;
+
+-#line 1671 "./glsl.g"
++#line 1665 "./glsl.g"
+
+ case 130: {
+ sym(1).layout = makeAstNode<LayoutQualifierAST>(string(1), (const QString *)0);
+ } break;
+
+-#line 1678 "./glsl.g"
++#line 1672 "./glsl.g"
+
+ case 131: {
+ sym(1).layout = makeAstNode<LayoutQualifierAST>(string(1), string(3));
+ } break;
+
+-#line 1685 "./glsl.g"
++#line 1679 "./glsl.g"
+
+ case 132: {
+ sym(1).qualifier = QualifiedTypeAST::Const;
+ } break;
+
+-#line 1692 "./glsl.g"
++#line 1686 "./glsl.g"
+
+ case 133: {
+ sym(1).type_qualifier.qualifier = sym(1).qualifier;
+ sym(1).type_qualifier.layout_list = 0;
+ } break;
+
+-#line 1700 "./glsl.g"
++#line 1694 "./glsl.g"
+
+ case 134: {
+ sym(1).type_qualifier.layout_list = sym(1).layout_list;
+ sym(1).type_qualifier.qualifier = 0;
+ } break;
+
+-#line 1708 "./glsl.g"
++#line 1702 "./glsl.g"
+
+ case 135: {
+ sym(1).type_qualifier.layout_list = sym(1).layout_list;
+ sym(1).type_qualifier.qualifier = sym(2).qualifier;
+ } break;
+
+-#line 1716 "./glsl.g"
++#line 1710 "./glsl.g"
+
+ case 136: {
+ sym(1).type_qualifier.qualifier = sym(1).qualifier | sym(2).qualifier;
+ sym(1).type_qualifier.layout_list = 0;
+ } break;
+
+-#line 1724 "./glsl.g"
++#line 1718 "./glsl.g"
+
+ case 137: {
+ sym(1).type_qualifier.qualifier = sym(1).qualifier;
+ sym(1).type_qualifier.layout_list = 0;
+ } break;
+
+-#line 1732 "./glsl.g"
++#line 1726 "./glsl.g"
+
+ case 138: {
+ sym(1).type_qualifier.qualifier = sym(1).qualifier | sym(2).qualifier;
+ sym(1).type_qualifier.layout_list = 0;
+ } break;
+
+-#line 1740 "./glsl.g"
++#line 1734 "./glsl.g"
+
+ case 139: {
+ sym(1).type_qualifier.qualifier = sym(1).qualifier | sym(2).qualifier | sym(3).qualifier;
+ sym(1).type_qualifier.layout_list = 0;
+ } break;
+
+-#line 1748 "./glsl.g"
++#line 1742 "./glsl.g"
+
+ case 140: {
+ sym(1).type_qualifier.qualifier = QualifiedTypeAST::Invariant;
+ sym(1).type_qualifier.layout_list = 0;
+ } break;
+
+-#line 1756 "./glsl.g"
++#line 1750 "./glsl.g"
+
+ case 141: {
+ sym(1).qualifier = QualifiedTypeAST::Const;
+ } break;
+
+-#line 1763 "./glsl.g"
++#line 1757 "./glsl.g"
+
+ case 142: {
+ sym(1).qualifier = QualifiedTypeAST::Attribute;
+ } break;
+
+-#line 1770 "./glsl.g"
++#line 1764 "./glsl.g"
+
+ case 143: {
+ sym(1).qualifier = QualifiedTypeAST::Varying;
+ } break;
+
+-#line 1777 "./glsl.g"
++#line 1771 "./glsl.g"
+
+ case 144: {
+ sym(1).qualifier = QualifiedTypeAST::CentroidVarying;
+ } break;
+
+-#line 1784 "./glsl.g"
++#line 1778 "./glsl.g"
+
+ case 145: {
+ sym(1).qualifier = QualifiedTypeAST::In;
+ } break;
+
+-#line 1791 "./glsl.g"
++#line 1785 "./glsl.g"
+
+ case 146: {
+ sym(1).qualifier = QualifiedTypeAST::Out;
+ } break;
+
+-#line 1798 "./glsl.g"
++#line 1792 "./glsl.g"
+
+ case 147: {
+ sym(1).qualifier = QualifiedTypeAST::CentroidIn;
+ } break;
+
+-#line 1805 "./glsl.g"
++#line 1799 "./glsl.g"
+
+ case 148: {
+ sym(1).qualifier = QualifiedTypeAST::CentroidOut;
+ } break;
+
+-#line 1812 "./glsl.g"
++#line 1806 "./glsl.g"
+
+ case 149: {
+ sym(1).qualifier = QualifiedTypeAST::PatchIn;
+ } break;
+
+-#line 1819 "./glsl.g"
++#line 1813 "./glsl.g"
+
+ case 150: {
+ sym(1).qualifier = QualifiedTypeAST::PatchOut;
+ } break;
+
+-#line 1826 "./glsl.g"
++#line 1820 "./glsl.g"
+
+ case 151: {
+ sym(1).qualifier = QualifiedTypeAST::SampleIn;
+ } break;
+
+-#line 1833 "./glsl.g"
++#line 1827 "./glsl.g"
+
+ case 152: {
+ sym(1).qualifier = QualifiedTypeAST::SampleOut;
+ } break;
+
+-#line 1840 "./glsl.g"
++#line 1834 "./glsl.g"
+
+ case 153: {
+ sym(1).qualifier = QualifiedTypeAST::Uniform;
+ } break;
+
+-#line 1847 "./glsl.g"
++#line 1841 "./glsl.g"
+
+ case 154: {
+ // nothing to do.
+ } break;
+
+-#line 1854 "./glsl.g"
++#line 1848 "./glsl.g"
+
+ case 155: {
+ if (!type(2)->setPrecision(sym(1).precision)) {
+@@ -1273,595 +1273,595 @@ case 155: {
+ ast(1) = type(2);
+ } break;
+
+-#line 1864 "./glsl.g"
++#line 1858 "./glsl.g"
+
+ case 156: {
+ // nothing to do.
+ } break;
+
+-#line 1871 "./glsl.g"
++#line 1865 "./glsl.g"
+
+ case 157: {
+ ast(1) = makeAstNode<ArrayTypeAST>(type(1));
+ } break;
+
+-#line 1878 "./glsl.g"
++#line 1872 "./glsl.g"
+
+ case 158: {
+ ast(1) = makeAstNode<ArrayTypeAST>(type(1), expression(3));
+ } break;
+
+-#line 1885 "./glsl.g"
++#line 1879 "./glsl.g"
+
+ case 159: {
+ ast(1) = makeBasicType(T_VOID);
+ } break;
+
+-#line 1892 "./glsl.g"
++#line 1886 "./glsl.g"
+
+ case 160: {
+ ast(1) = makeBasicType(T_FLOAT);
+ } break;
+
+-#line 1899 "./glsl.g"
++#line 1893 "./glsl.g"
+
+ case 161: {
+ ast(1) = makeBasicType(T_DOUBLE);
+ } break;
+
+-#line 1906 "./glsl.g"
++#line 1900 "./glsl.g"
+
+ case 162: {
+ ast(1) = makeBasicType(T_INT);
+ } break;
+
+-#line 1913 "./glsl.g"
++#line 1907 "./glsl.g"
+
+ case 163: {
+ ast(1) = makeBasicType(T_UINT);
+ } break;
+
+-#line 1920 "./glsl.g"
++#line 1914 "./glsl.g"
+
+ case 164: {
+ ast(1) = makeBasicType(T_BOOL);
+ } break;
+
+-#line 1927 "./glsl.g"
++#line 1921 "./glsl.g"
+
+ case 165: {
+ ast(1) = makeBasicType(T_VEC2);
+ } break;
+
+-#line 1934 "./glsl.g"
++#line 1928 "./glsl.g"
+
+ case 166: {
+ ast(1) = makeBasicType(T_VEC3);
+ } break;
+
+-#line 1941 "./glsl.g"
++#line 1935 "./glsl.g"
+
+ case 167: {
+ ast(1) = makeBasicType(T_VEC4);
+ } break;
+
+-#line 1948 "./glsl.g"
++#line 1942 "./glsl.g"
+
+ case 168: {
+ ast(1) = makeBasicType(T_DVEC2);
+ } break;
+
+-#line 1955 "./glsl.g"
++#line 1949 "./glsl.g"
+
+ case 169: {
+ ast(1) = makeBasicType(T_DVEC3);
+ } break;
+
+-#line 1962 "./glsl.g"
++#line 1956 "./glsl.g"
+
+ case 170: {
+ ast(1) = makeBasicType(T_DVEC4);
+ } break;
+
+-#line 1969 "./glsl.g"
++#line 1963 "./glsl.g"
+
+ case 171: {
+ ast(1) = makeBasicType(T_BVEC2);
+ } break;
+
+-#line 1976 "./glsl.g"
++#line 1970 "./glsl.g"
+
+ case 172: {
+ ast(1) = makeBasicType(T_BVEC3);
+ } break;
+
+-#line 1983 "./glsl.g"
++#line 1977 "./glsl.g"
+
+ case 173: {
+ ast(1) = makeBasicType(T_BVEC4);
+ } break;
+
+-#line 1990 "./glsl.g"
++#line 1984 "./glsl.g"
+
+ case 174: {
+ ast(1) = makeBasicType(T_IVEC2);
+ } break;
+
+-#line 1997 "./glsl.g"
++#line 1991 "./glsl.g"
+
+ case 175: {
+ ast(1) = makeBasicType(T_IVEC3);
+ } break;
+
+-#line 2004 "./glsl.g"
++#line 1998 "./glsl.g"
+
+ case 176: {
+ ast(1) = makeBasicType(T_IVEC4);
+ } break;
+
+-#line 2011 "./glsl.g"
++#line 2005 "./glsl.g"
+
+ case 177: {
+ ast(1) = makeBasicType(T_UVEC2);
+ } break;
+
+-#line 2018 "./glsl.g"
++#line 2012 "./glsl.g"
+
+ case 178: {
+ ast(1) = makeBasicType(T_UVEC3);
+ } break;
+
+-#line 2025 "./glsl.g"
++#line 2019 "./glsl.g"
+
+ case 179: {
+ ast(1) = makeBasicType(T_UVEC4);
+ } break;
+
+-#line 2032 "./glsl.g"
++#line 2026 "./glsl.g"
+
+ case 180: {
+ ast(1) = makeBasicType(T_MAT2);
+ } break;
+
+-#line 2039 "./glsl.g"
++#line 2033 "./glsl.g"
+
+ case 181: {
+ ast(1) = makeBasicType(T_MAT3);
+ } break;
+
+-#line 2046 "./glsl.g"
++#line 2040 "./glsl.g"
+
+ case 182: {
+ ast(1) = makeBasicType(T_MAT4);
+ } break;
+
+-#line 2053 "./glsl.g"
++#line 2047 "./glsl.g"
+
+ case 183: {
+ ast(1) = makeBasicType(T_MAT2);
+ } break;
+
+-#line 2060 "./glsl.g"
++#line 2054 "./glsl.g"
+
+ case 184: {
+ ast(1) = makeBasicType(T_MAT2X3);
+ } break;
+
+-#line 2067 "./glsl.g"
++#line 2061 "./glsl.g"
+
+ case 185: {
+ ast(1) = makeBasicType(T_MAT2X4);
+ } break;
+
+-#line 2074 "./glsl.g"
++#line 2068 "./glsl.g"
+
+ case 186: {
+ ast(1) = makeBasicType(T_MAT3X2);
+ } break;
+
+-#line 2081 "./glsl.g"
++#line 2075 "./glsl.g"
+
+ case 187: {
+ ast(1) = makeBasicType(T_MAT3);
+ } break;
+
+-#line 2088 "./glsl.g"
++#line 2082 "./glsl.g"
+
+ case 188: {
+ ast(1) = makeBasicType(T_MAT3X4);
+ } break;
+
+-#line 2095 "./glsl.g"
++#line 2089 "./glsl.g"
+
+ case 189: {
+ ast(1) = makeBasicType(T_MAT4X2);
+ } break;
+
+-#line 2102 "./glsl.g"
++#line 2096 "./glsl.g"
+
+ case 190: {
+ ast(1) = makeBasicType(T_MAT4X3);
+ } break;
+
+-#line 2109 "./glsl.g"
++#line 2103 "./glsl.g"
+
+ case 191: {
+ ast(1) = makeBasicType(T_MAT4);
+ } break;
+
+-#line 2116 "./glsl.g"
++#line 2110 "./glsl.g"
+
+ case 192: {
+ ast(1) = makeBasicType(T_DMAT2);
+ } break;
+
+-#line 2123 "./glsl.g"
++#line 2117 "./glsl.g"
+
+ case 193: {
+ ast(1) = makeBasicType(T_DMAT3);
+ } break;
+
+-#line 2130 "./glsl.g"
++#line 2124 "./glsl.g"
+
+ case 194: {
+ ast(1) = makeBasicType(T_DMAT4);
+ } break;
+
+-#line 2137 "./glsl.g"
++#line 2131 "./glsl.g"
+
+ case 195: {
+ ast(1) = makeBasicType(T_DMAT2);
+ } break;
+
+-#line 2144 "./glsl.g"
++#line 2138 "./glsl.g"
+
+ case 196: {
+ ast(1) = makeBasicType(T_DMAT2X3);
+ } break;
+
+-#line 2151 "./glsl.g"
++#line 2145 "./glsl.g"
+
+ case 197: {
+ ast(1) = makeBasicType(T_DMAT2X4);
+ } break;
+
+-#line 2158 "./glsl.g"
++#line 2152 "./glsl.g"
+
+ case 198: {
+ ast(1) = makeBasicType(T_DMAT3X2);
+ } break;
+
+-#line 2165 "./glsl.g"
++#line 2159 "./glsl.g"
+
+ case 199: {
+ ast(1) = makeBasicType(T_DMAT3);
+ } break;
+
+-#line 2172 "./glsl.g"
++#line 2166 "./glsl.g"
+
+ case 200: {
+ ast(1) = makeBasicType(T_DMAT3X4);
+ } break;
+
+-#line 2179 "./glsl.g"
++#line 2173 "./glsl.g"
+
+ case 201: {
+ ast(1) = makeBasicType(T_DMAT4X2);
+ } break;
+
+-#line 2186 "./glsl.g"
++#line 2180 "./glsl.g"
+
+ case 202: {
+ ast(1) = makeBasicType(T_DMAT4X3);
+ } break;
+
+-#line 2193 "./glsl.g"
++#line 2187 "./glsl.g"
+
+ case 203: {
+ ast(1) = makeBasicType(T_DMAT4);
+ } break;
+
+-#line 2200 "./glsl.g"
++#line 2194 "./glsl.g"
+
+ case 204: {
+ ast(1) = makeBasicType(T_SAMPLER1D);
+ } break;
+
+-#line 2207 "./glsl.g"
++#line 2201 "./glsl.g"
+
+ case 205: {
+ ast(1) = makeBasicType(T_SAMPLER2D);
+ } break;
+
+-#line 2214 "./glsl.g"
++#line 2208 "./glsl.g"
+
+ case 206: {
+ ast(1) = makeBasicType(T_SAMPLER3D);
+ } break;
+
+-#line 2221 "./glsl.g"
++#line 2215 "./glsl.g"
+
+ case 207: {
+ ast(1) = makeBasicType(T_SAMPLERCUBE);
+ } break;
+
+-#line 2228 "./glsl.g"
++#line 2222 "./glsl.g"
+
+ case 208: {
+ ast(1) = makeBasicType(T_SAMPLER1DSHADOW);
+ } break;
+
+-#line 2235 "./glsl.g"
++#line 2229 "./glsl.g"
+
+ case 209: {
+ ast(1) = makeBasicType(T_SAMPLER2DSHADOW);
+ } break;
+
+-#line 2242 "./glsl.g"
++#line 2236 "./glsl.g"
+
+ case 210: {
+ ast(1) = makeBasicType(T_SAMPLERCUBESHADOW);
+ } break;
+
+-#line 2249 "./glsl.g"
++#line 2243 "./glsl.g"
+
+ case 211: {
+ ast(1) = makeBasicType(T_SAMPLER1DARRAY);
+ } break;
+
+-#line 2256 "./glsl.g"
++#line 2250 "./glsl.g"
+
+ case 212: {
+ ast(1) = makeBasicType(T_SAMPLER2DARRAY);
+ } break;
+
+-#line 2263 "./glsl.g"
++#line 2257 "./glsl.g"
+
+ case 213: {
+ ast(1) = makeBasicType(T_SAMPLER1DARRAYSHADOW);
+ } break;
+
+-#line 2270 "./glsl.g"
++#line 2264 "./glsl.g"
+
+ case 214: {
+ ast(1) = makeBasicType(T_SAMPLER2DARRAYSHADOW);
+ } break;
+
+-#line 2277 "./glsl.g"
++#line 2271 "./glsl.g"
+
+ case 215: {
+ ast(1) = makeBasicType(T_SAMPLERCUBEARRAY);
+ } break;
+
+-#line 2284 "./glsl.g"
++#line 2278 "./glsl.g"
+
+ case 216: {
+ ast(1) = makeBasicType(T_SAMPLERCUBEARRAYSHADOW);
+ } break;
+
+-#line 2291 "./glsl.g"
++#line 2285 "./glsl.g"
+
+ case 217: {
+ ast(1) = makeBasicType(T_ISAMPLER1D);
+ } break;
+
+-#line 2298 "./glsl.g"
++#line 2292 "./glsl.g"
+
+ case 218: {
+ ast(1) = makeBasicType(T_ISAMPLER2D);
+ } break;
+
+-#line 2305 "./glsl.g"
++#line 2299 "./glsl.g"
+
+ case 219: {
+ ast(1) = makeBasicType(T_ISAMPLER3D);
+ } break;
+
+-#line 2312 "./glsl.g"
++#line 2306 "./glsl.g"
+
+ case 220: {
+ ast(1) = makeBasicType(T_ISAMPLERCUBE);
+ } break;
+
+-#line 2319 "./glsl.g"
++#line 2313 "./glsl.g"
+
+ case 221: {
+ ast(1) = makeBasicType(T_ISAMPLER1DARRAY);
+ } break;
+
+-#line 2326 "./glsl.g"
++#line 2320 "./glsl.g"
+
+ case 222: {
+ ast(1) = makeBasicType(T_ISAMPLER2DARRAY);
+ } break;
+
+-#line 2333 "./glsl.g"
++#line 2327 "./glsl.g"
+
+ case 223: {
+ ast(1) = makeBasicType(T_ISAMPLERCUBEARRAY);
+ } break;
+
+-#line 2340 "./glsl.g"
++#line 2334 "./glsl.g"
+
+ case 224: {
+ ast(1) = makeBasicType(T_USAMPLER1D);
+ } break;
+
+-#line 2347 "./glsl.g"
++#line 2341 "./glsl.g"
+
+ case 225: {
+ ast(1) = makeBasicType(T_USAMPLER2D);
+ } break;
+
+-#line 2354 "./glsl.g"
++#line 2348 "./glsl.g"
+
+ case 226: {
+ ast(1) = makeBasicType(T_USAMPLER3D);
+ } break;
+
+-#line 2361 "./glsl.g"
++#line 2355 "./glsl.g"
+
+ case 227: {
+ ast(1) = makeBasicType(T_USAMPLERCUBE);
+ } break;
+
+-#line 2368 "./glsl.g"
++#line 2362 "./glsl.g"
+
+ case 228: {
+ ast(1) = makeBasicType(T_USAMPLER1DARRAY);
+ } break;
+
+-#line 2375 "./glsl.g"
++#line 2369 "./glsl.g"
+
+ case 229: {
+ ast(1) = makeBasicType(T_USAMPLER2DARRAY);
+ } break;
+
+-#line 2382 "./glsl.g"
++#line 2376 "./glsl.g"
+
+ case 230: {
+ ast(1) = makeBasicType(T_USAMPLERCUBEARRAY);
+ } break;
+
+-#line 2389 "./glsl.g"
++#line 2383 "./glsl.g"
+
+ case 231: {
+ ast(1) = makeBasicType(T_SAMPLER2DRECT);
+ } break;
+
+-#line 2396 "./glsl.g"
++#line 2390 "./glsl.g"
+
+ case 232: {
+ ast(1) = makeBasicType(T_SAMPLER2DRECTSHADOW);
+ } break;
+
+-#line 2403 "./glsl.g"
++#line 2397 "./glsl.g"
+
+ case 233: {
+ ast(1) = makeBasicType(T_ISAMPLER2DRECT);
+ } break;
+
+-#line 2410 "./glsl.g"
++#line 2404 "./glsl.g"
+
+ case 234: {
+ ast(1) = makeBasicType(T_USAMPLER2DRECT);
+ } break;
+
+-#line 2417 "./glsl.g"
++#line 2411 "./glsl.g"
+
+ case 235: {
+ ast(1) = makeBasicType(T_SAMPLERBUFFER);
+ } break;
+
+-#line 2424 "./glsl.g"
++#line 2418 "./glsl.g"
+
+ case 236: {
+ ast(1) = makeBasicType(T_ISAMPLERBUFFER);
+ } break;
+
+-#line 2431 "./glsl.g"
++#line 2425 "./glsl.g"
+
+ case 237: {
+ ast(1) = makeBasicType(T_USAMPLERBUFFER);
+ } break;
+
+-#line 2438 "./glsl.g"
++#line 2432 "./glsl.g"
+
+ case 238: {
+ ast(1) = makeBasicType(T_SAMPLER2DMS);
+ } break;
+
+-#line 2445 "./glsl.g"
++#line 2439 "./glsl.g"
+
+ case 239: {
+ ast(1) = makeBasicType(T_ISAMPLER2DMS);
+ } break;
+
+-#line 2452 "./glsl.g"
++#line 2446 "./glsl.g"
+
+ case 240: {
+ ast(1) = makeBasicType(T_USAMPLER2DMS);
+ } break;
+
+-#line 2459 "./glsl.g"
++#line 2453 "./glsl.g"
+
+ case 241: {
+ ast(1) = makeBasicType(T_SAMPLER2DMSARRAY);
+ } break;
+
+-#line 2466 "./glsl.g"
++#line 2460 "./glsl.g"
+
+ case 242: {
+ ast(1) = makeBasicType(T_ISAMPLER2DMSARRAY);
+ } break;
+
+-#line 2473 "./glsl.g"
++#line 2467 "./glsl.g"
+
+ case 243: {
+ ast(1) = makeBasicType(T_USAMPLER2DMSARRAY);
+ } break;
+
+-#line 2480 "./glsl.g"
++#line 2474 "./glsl.g"
+
+ case 244: {
+ // nothing to do.
+ } break;
+
+-#line 2487 "./glsl.g"
++#line 2481 "./glsl.g"
+
+ case 245: {
+ ast(1) = makeAstNode<NamedTypeAST>(string(1));
+ } break;
+
+-#line 2494 "./glsl.g"
++#line 2488 "./glsl.g"
+
+ case 246: {
+ sym(1).precision = TypeAST::Highp;
+ } break;
+
+-#line 2501 "./glsl.g"
++#line 2495 "./glsl.g"
+
+ case 247: {
+ sym(1).precision = TypeAST::Mediump;
+ } break;
+
+-#line 2508 "./glsl.g"
++#line 2502 "./glsl.g"
+
+ case 248: {
+ sym(1).precision = TypeAST::Lowp;
+ } break;
+
+-#line 2515 "./glsl.g"
++#line 2509 "./glsl.g"
+
+ case 249: {
+ ast(1) = makeAstNode<StructTypeAST>(string(2), sym(4).field_list);
+ } break;
+
+-#line 2522 "./glsl.g"
++#line 2516 "./glsl.g"
+
+ case 250: {
+ ast(1) = makeAstNode<StructTypeAST>(sym(3).field_list);
+ } break;
+
+-#line 2529 "./glsl.g"
++#line 2523 "./glsl.g"
+
+ case 251: {
+ // nothing to do.
+ } break;
+
+-#line 2536 "./glsl.g"
++#line 2530 "./glsl.g"
+
+ case 252: {
+ sym(1).field_list = appendLists(sym(1).field_list, sym(2).field_list);
+ } break;
+
+-#line 2543 "./glsl.g"
++#line 2537 "./glsl.g"
+
+ case 253: {
+ sym(1).field_list = StructTypeAST::fixInnerTypes(type(1), sym(2).field_list);
+ } break;
+
+-#line 2550 "./glsl.g"
++#line 2544 "./glsl.g"
+
+ case 254: {
+ sym(1).field_list = StructTypeAST::fixInnerTypes
+@@ -1870,106 +1870,106 @@ case 254: {
+ sym(1).type_qualifier.layout_list), sym(3).field_list);
+ } break;
+
+-#line 2560 "./glsl.g"
++#line 2554 "./glsl.g"
+
+ case 255: {
+ // nothing to do.
+ sym(1).field_list = makeAstNode< List<StructTypeAST::Field *> >(sym(1).field);
+ } break;
+
+-#line 2568 "./glsl.g"
++#line 2562 "./glsl.g"
+
+ case 256: {
+ sym(1).field_list = makeAstNode< List<StructTypeAST::Field *> >(sym(1).field_list, sym(3).field);
+ } break;
+
+-#line 2575 "./glsl.g"
++#line 2569 "./glsl.g"
+
+ case 257: {
+ sym(1).field = makeAstNode<StructTypeAST::Field>(string(1));
+ } break;
+
+-#line 2582 "./glsl.g"
++#line 2576 "./glsl.g"
+
+ case 258: {
+ sym(1).field = makeAstNode<StructTypeAST::Field>
+ (string(1), makeAstNode<ArrayTypeAST>((TypeAST *)0));
+ } break;
+
+-#line 2590 "./glsl.g"
++#line 2584 "./glsl.g"
+
+ case 259: {
+ sym(1).field = makeAstNode<StructTypeAST::Field>
+ (string(1), makeAstNode<ArrayTypeAST>((TypeAST *)0, expression(3)));
+ } break;
+
+-#line 2598 "./glsl.g"
++#line 2592 "./glsl.g"
+
+ case 260: {
+ // nothing to do.
+ } break;
+
+-#line 2605 "./glsl.g"
++#line 2599 "./glsl.g"
+
+ case 261: {
+ ast(1) = makeAstNode<DeclarationStatementAST>(sym(1).declaration);
+ } break;
+
+-#line 2612 "./glsl.g"
++#line 2606 "./glsl.g"
+
+ case 262: {
+ // nothing to do.
+ } break;
+
+-#line 2619 "./glsl.g"
++#line 2613 "./glsl.g"
+
+ case 263: {
+ // nothing to do.
+ } break;
+
+-#line 2626 "./glsl.g"
++#line 2620 "./glsl.g"
+
+ case 264: {
+ // nothing to do.
+ } break;
+
+-#line 2633 "./glsl.g"
++#line 2627 "./glsl.g"
+
+ case 265: {
+ // nothing to do.
+ } break;
+
+-#line 2640 "./glsl.g"
++#line 2634 "./glsl.g"
+
+ case 266: {
+ // nothing to do.
+ } break;
+
+-#line 2647 "./glsl.g"
++#line 2641 "./glsl.g"
+
+ case 267: {
+ // nothing to do.
+ } break;
+
+-#line 2654 "./glsl.g"
++#line 2648 "./glsl.g"
+
+ case 268: {
+ // nothing to do.
+ } break;
+
+-#line 2661 "./glsl.g"
++#line 2655 "./glsl.g"
+
+ case 269: {
+ // nothing to do.
+ } break;
+
+-#line 2668 "./glsl.g"
++#line 2662 "./glsl.g"
+
+ case 270: {
+ // nothing to do.
+ } break;
+
+-#line 2675 "./glsl.g"
++#line 2669 "./glsl.g"
+
+ case 271: {
+ CompoundStatementAST *stmt = makeAstNode<CompoundStatementAST>();
+@@ -1978,7 +1978,7 @@ case 271: {
+ ast(1) = stmt;
+ } break;
+
+-#line 2685 "./glsl.g"
++#line 2679 "./glsl.g"
+
+ case 272: {
+ CompoundStatementAST *stmt = makeAstNode<CompoundStatementAST>(sym(2).statement_list);
+@@ -1987,19 +1987,19 @@ case 272: {
+ ast(1) = stmt;
+ } break;
+
+-#line 2695 "./glsl.g"
++#line 2689 "./glsl.g"
+
+ case 273: {
+ // nothing to do.
+ } break;
+
+-#line 2702 "./glsl.g"
++#line 2696 "./glsl.g"
+
+ case 274: {
+ // nothing to do.
+ } break;
+
+-#line 2709 "./glsl.g"
++#line 2703 "./glsl.g"
+
+ case 275: {
+ CompoundStatementAST *stmt = makeAstNode<CompoundStatementAST>();
+@@ -2008,7 +2008,7 @@ case 275: {
+ ast(1) = stmt;
+ } break;
+
+-#line 2719 "./glsl.g"
++#line 2713 "./glsl.g"
+
+ case 276: {
+ CompoundStatementAST *stmt = makeAstNode<CompoundStatementAST>(sym(2).statement_list);
+@@ -2017,186 +2017,186 @@ case 276: {
+ ast(1) = stmt;
+ } break;
+
+-#line 2729 "./glsl.g"
++#line 2723 "./glsl.g"
+
+ case 277: {
+ sym(1).statement_list = makeAstNode< List<StatementAST *> >(sym(1).statement);
+ } break;
+
+-#line 2736 "./glsl.g"
++#line 2730 "./glsl.g"
+
+ case 278: {
+ sym(1).statement_list = makeAstNode< List<StatementAST *> >(sym(1).statement_list, sym(2).statement);
+ } break;
+
+-#line 2743 "./glsl.g"
++#line 2737 "./glsl.g"
+
+ case 279: {
+ ast(1) = makeAstNode<CompoundStatementAST>(); // Empty statement
+ } break;
+
+-#line 2750 "./glsl.g"
++#line 2744 "./glsl.g"
+
+ case 280: {
+ ast(1) = makeAstNode<ExpressionStatementAST>(expression(1));
+ } break;
+
+-#line 2757 "./glsl.g"
++#line 2751 "./glsl.g"
+
+ case 281: {
+ ast(1) = makeAstNode<IfStatementAST>(expression(3), sym(5).ifstmt.thenClause, sym(5).ifstmt.elseClause);
+ } break;
+
+-#line 2764 "./glsl.g"
++#line 2758 "./glsl.g"
+
+ case 282: {
+ sym(1).ifstmt.thenClause = statement(1);
+ sym(1).ifstmt.elseClause = statement(3);
+ } break;
+
+-#line 2772 "./glsl.g"
++#line 2766 "./glsl.g"
+
+ case 283: {
+ sym(1).ifstmt.thenClause = statement(1);
+ sym(1).ifstmt.elseClause = 0;
+ } break;
+
+-#line 2780 "./glsl.g"
++#line 2774 "./glsl.g"
+
+ case 284: {
+ // nothing to do.
+ } break;
+
+-#line 2787 "./glsl.g"
++#line 2781 "./glsl.g"
+
+ case 285: {
+ ast(1) = makeAstNode<DeclarationExpressionAST>
+ (type(1), string(2), expression(4));
+ } break;
+
+-#line 2795 "./glsl.g"
++#line 2789 "./glsl.g"
+
+ case 286: {
+ ast(1) = makeAstNode<SwitchStatementAST>(expression(3), statement(6));
+ } break;
+
+-#line 2802 "./glsl.g"
++#line 2796 "./glsl.g"
+
+ case 287: {
+ ast(1) = makeAstNode<CompoundStatementAST>();
+ } break;
+
+-#line 2809 "./glsl.g"
++#line 2803 "./glsl.g"
+
+ case 288: {
+ ast(1) = makeAstNode<CompoundStatementAST>(sym(1).statement_list);
+ } break;
+
+-#line 2816 "./glsl.g"
++#line 2810 "./glsl.g"
+
+ case 289: {
+ ast(1) = makeAstNode<CaseLabelStatementAST>(expression(2));
+ } break;
+
+-#line 2823 "./glsl.g"
++#line 2817 "./glsl.g"
+
+ case 290: {
+ ast(1) = makeAstNode<CaseLabelStatementAST>();
+ } break;
+
+-#line 2830 "./glsl.g"
++#line 2824 "./glsl.g"
+
+ case 291: {
+ ast(1) = makeAstNode<WhileStatementAST>(expression(3), statement(5));
+ } break;
+
+-#line 2837 "./glsl.g"
++#line 2831 "./glsl.g"
+
+ case 292: {
+ ast(1) = makeAstNode<DoStatementAST>(statement(2), expression(5));
+ } break;
+
+-#line 2844 "./glsl.g"
++#line 2838 "./glsl.g"
+
+ case 293: {
+ ast(1) = makeAstNode<ForStatementAST>(statement(3), sym(4).forstmt.condition, sym(4).forstmt.increment, statement(6));
+ } break;
+
+-#line 2851 "./glsl.g"
++#line 2845 "./glsl.g"
+
+ case 294: {
+ // nothing to do.
+ } break;
+
+-#line 2858 "./glsl.g"
++#line 2852 "./glsl.g"
+
+ case 295: {
+ // nothing to do.
+ } break;
+
+-#line 2865 "./glsl.g"
++#line 2859 "./glsl.g"
+
+ case 296: {
+ // nothing to do.
+ } break;
+
+-#line 2872 "./glsl.g"
++#line 2866 "./glsl.g"
+
+ case 297: {
+ // nothing to do.
+ } break;
+
+-#line 2879 "./glsl.g"
++#line 2873 "./glsl.g"
+
+ case 298: {
+ sym(1).forstmt.condition = expression(1);
+ sym(1).forstmt.increment = 0;
+ } break;
+
+-#line 2887 "./glsl.g"
++#line 2881 "./glsl.g"
+
+ case 299: {
+ sym(1).forstmt.condition = expression(1);
+ sym(1).forstmt.increment = expression(3);
+ } break;
+
+-#line 2895 "./glsl.g"
++#line 2889 "./glsl.g"
+
+ case 300: {
+ ast(1) = makeAstNode<JumpStatementAST>(AST::Kind_Continue);
+ } break;
+
+-#line 2902 "./glsl.g"
++#line 2896 "./glsl.g"
+
+ case 301: {
+ ast(1) = makeAstNode<JumpStatementAST>(AST::Kind_Break);
+ } break;
+
+-#line 2909 "./glsl.g"
++#line 2903 "./glsl.g"
+
+ case 302: {
+ ast(1) = makeAstNode<ReturnStatementAST>();
+ } break;
+
+-#line 2916 "./glsl.g"
++#line 2910 "./glsl.g"
+
+ case 303: {
+ ast(1) = makeAstNode<ReturnStatementAST>(expression(2));
+ } break;
+
+-#line 2923 "./glsl.g"
++#line 2917 "./glsl.g"
+
+ case 304: {
+ ast(1) = makeAstNode<JumpStatementAST>(AST::Kind_Discard);
+ } break;
+
+-#line 2930 "./glsl.g"
++#line 2924 "./glsl.g"
+
+ case 305: {
+ ast(1) = makeAstNode<TranslationUnitAST>(sym(1).declaration_list);
+ } break;
+
+-#line 2937 "./glsl.g"
++#line 2931 "./glsl.g"
+
+ case 306: {
+ if (sym(1).declaration) {
+@@ -2207,7 +2207,7 @@ case 306: {
+ }
+ } break;
+
+-#line 2949 "./glsl.g"
++#line 2943 "./glsl.g"
+
+ case 307: {
+ if (sym(1).declaration_list && sym(2).declaration) {
+@@ -2223,49 +2223,49 @@ case 307: {
+ }
+ } break;
+
+-#line 2966 "./glsl.g"
++#line 2960 "./glsl.g"
+
+ case 308: {
+ // nothing to do.
+ } break;
+
+-#line 2973 "./glsl.g"
++#line 2967 "./glsl.g"
+
+ case 309: {
+ // nothing to do.
+ } break;
+
+-#line 2980 "./glsl.g"
++#line 2974 "./glsl.g"
+
+ case 310: {
+ ast(1) = 0;
+ } break;
+
+-#line 2987 "./glsl.g"
++#line 2981 "./glsl.g"
+
+ case 311: {
+ function(1)->body = statement(2);
+ } break;
+
+-#line 2994 "./glsl.g"
++#line 2988 "./glsl.g"
+
+ case 312: {
+ ast(1) = 0;
+ } break;
+
+-#line 3002 "./glsl.g"
++#line 2996 "./glsl.g"
+
+ case 313: {
+ ast(1) = ast(2);
+ } break;
+
+-#line 3009 "./glsl.g"
++#line 3003 "./glsl.g"
+
+ case 314: {
+ ast(1) = ast(2);
+ } break;
+
+-#line 3015 "./glsl.g"
++#line 3009 "./glsl.g"
+
+ } // end switch
+ } // end Parser::reduce()
+diff --git a/src/libs/glsl/glslparser.h b/src/libs/glsl/glslparser.h
+index 7bf70e2..bab2616 100644
+--- a/src/libs/glsl/glslparser.h
++++ b/src/libs/glsl/glslparser.h
+@@ -1,5 +1,5 @@
+
+-#line 217 "./glsl.g"
++#line 215 "./glsl.g"
+
+ /**************************************************************************
+ **
+--
+1.7.10
+
diff --git a/community/qtcurve-kde4/PKGBUILD b/community/qtcurve-kde4/PKGBUILD
index 8178fc277..f1c83453a 100644
--- a/community/qtcurve-kde4/PKGBUILD
+++ b/community/qtcurve-kde4/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 74842 2012-08-06 23:10:17Z andrea $
+# $Id: PKGBUILD 74971 2012-08-10 22:17:48Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=qtcurve-kde4
-pkgver=1.8.13
-pkgrel=3
+pkgver=1.8.14
+pkgrel=1
arch=('i686' 'x86_64')
groups=('qtcurve')
license=('GPL')
@@ -16,7 +16,7 @@ makedepends=('cmake' 'automoc4')
source=("http://craigd.wikispaces.com/file/view/QtCurve-KDE4-${pkgver}.tar.bz2"
'bypass-kde-config.patch'
'fix-kwin_decoration-macro.patch')
-md5sums=('94ba22bc487a18f585249c2967878189'
+md5sums=('b4d7924806058f39e842ce7ffe47a4f8'
'3f6681147cc361bd2bfd4d7477f2a8d0'
'7366e45ef9f24f53a36f87a539a937d6')
diff --git a/community/snort/PKGBUILD b/community/snort/PKGBUILD
index b9e7c2162..bd67007ca 100644
--- a/community/snort/PKGBUILD
+++ b/community/snort/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 74195 2012-07-22 19:47:59Z lfleischer $
+# $Id: PKGBUILD 74966 2012-08-10 17:25:48Z lfleischer $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: Hugo Doria <hugo@archlinux.org>
# Contributor: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com>
@@ -6,7 +6,7 @@
# Contributor: Gregor Ibic <gregor.ibic@intelicom.si>
pkgname=snort
-pkgver=2.9.3
+pkgver=2.9.3.1
pkgrel=1
pkgdesc='A lightweight network intrusion detection system.'
arch=('i686' 'x86_64')
@@ -24,8 +24,8 @@ install='snort.install'
source=("http://www.snort.org/dl/snort-current/${pkgname}-${pkgver}.tar.gz"{,.sig}
'snort'
'snort.conf.d')
-md5sums=('e128f5d5d14dad335dc0c549c7fe2e98'
- '8f8689efad6338ca76c344366c97d4ea'
+md5sums=('b2102605a7ca023ad6a2429821061c29'
+ '2ae6566c4fbf40a863e9550f3a85340a'
'361b8b9e40b9af0164f6b3e3da2e8277'
'b4fb8a68490589cd34df93de7609bfac')
diff --git a/community/wvstreams/PKGBUILD b/community/wvstreams/PKGBUILD
index fb668c1d2..9b68ab184 100644
--- a/community/wvstreams/PKGBUILD
+++ b/community/wvstreams/PKGBUILD
@@ -1,25 +1,31 @@
-# $Id: PKGBUILD 59490 2011-11-26 18:58:32Z bluewind $
+# $Id: PKGBUILD 74964 2012-08-10 12:12:57Z bluewind $
# Maintainer:
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
pkgname=wvstreams
pkgver=4.6.1
-pkgrel=3
+pkgrel=4
pkgdesc="A network programming library written in C++"
arch=('i686' 'x86_64')
url="http://alumnit.ca/wiki/?page=WvStreams"
license=('LGPL')
depends=('zlib' 'pam' 'xplc' 'openssl' 'readline')
source=(http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz
-wvstreams-4.6.1-glibc212.patch)
+wvstreams-4.6.1-glibc212.patch wvstreams-4.6.1-gcc47.patch openssl-buildfix.patch)
md5sums=('2760dac31a43d452a19a3147bfde571c'
- '5f6e24864209055239cb4e7c9bbd4a41')
+ '5f6e24864209055239cb4e7c9bbd4a41'
+ '918be13d35205385a39077403ce36388'
+ 'df423c68134a09439b3961c34635e0b4')
options=('!makeflags')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
+
patch -p0 -i "$srcdir/wvstreams-4.6.1-glibc212.patch"
+ patch -p1 -i "$srcdir/wvstreams-4.6.1-gcc47.patch"
+ patch -p1 -i "$srcdir/openssl-buildfix.patch"
+
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
diff --git a/community/wvstreams/openssl-buildfix.patch b/community/wvstreams/openssl-buildfix.patch
new file mode 100644
index 000000000..1b0445d9e
--- /dev/null
+++ b/community/wvstreams/openssl-buildfix.patch
@@ -0,0 +1,14 @@
+--- wvstreams-4.6.1/crypto/wvx509.cc 2008-10-23 22:23:49.000000000 +0200
++++ wvstreams-4.6.1-1/crypto/wvx509.cc 2010-01-27 11:09:06.000000000 +0100
+@@ -1157,7 +1157,11 @@
+
+ if (ext)
+ {
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ const X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
++#else
+ X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
++#endif
+ if (!method)
+ {
+ WvDynBuf buf; \ No newline at end of file
diff --git a/community/wvstreams/wvstreams-4.6.1-gcc47.patch b/community/wvstreams/wvstreams-4.6.1-gcc47.patch
new file mode 100644
index 000000000..3d6704832
--- /dev/null
+++ b/community/wvstreams/wvstreams-4.6.1-gcc47.patch
@@ -0,0 +1,10 @@
+--- wvstreams-4.6.1-dist/include/wvuid.h 2012-01-05 10:18:58.713661236 +0100
++++ wvstreams-4.6.1/include/wvuid.h 2012-01-05 10:27:42.198435328 +0100
+@@ -7,6 +7,7 @@
+ #ifndef __WVUID_H
+ #define __WVUID_H
+
++#include <unistd.h>
+ #include "wvstring.h"
+
+ #if WIN32
diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD
index e6c6d07d3..6c7780b1d 100644
--- a/extra/cups/PKGBUILD
+++ b/extra/cups/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 164782 2012-08-05 08:32:04Z andyrtr $
+# $Id: PKGBUILD 165095 2012-08-10 13:32:19Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase="cups"
pkgname=('libcups' 'cups')
pkgver=1.6.1
-pkgrel=2
+pkgrel=3
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.cups.org/"
@@ -18,7 +18,8 @@ source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
cups cups.logrotate cups.pam
cupsd-conf-remove-obsolete-browse-directives.patch
avahi-missing-in-conditionals.patch
- recognize-remote-cups-queue-via-dnssd-uri.patch)
+ recognize-remote-cups-queue-via-dnssd-uri.patch
+ usb-backend-reset-after-job-only-for-specific-devices.patch)
#options=('!emptydirs')
md5sums=('87ade07e3d1efd03c9c3add949cf9c00'
'9b8467a1e51d360096b70e2c3c081e6c'
@@ -30,7 +31,8 @@ md5sums=('87ade07e3d1efd03c9c3add949cf9c00'
'96f82c38f3f540b53f3e5144900acf17'
'6bef262b5081051e88cd2ae94fed1867'
'9c91b1319f4b20dc323986cb4abbe806'
- 'dcef8dd5614461166cada8a706eebb49')
+ 'dcef8dd5614461166cada8a706eebb49'
+ '0779ef8ba1d724ebb3b9bf360deba52b')
build() {
cd ${srcdir}/${pkgbase}-${pkgver}
@@ -54,6 +56,8 @@ build() {
patch -Np1 -i ${srcdir}/avahi-missing-in-conditionals.patch
# http://www.cups.org/str.php?L4158 - DNS-SD-based print queues pointing to CUPS server are not considered remote printers with driver on server
patch -Np1 -i ${srcdir}/recognize-remote-cups-queue-via-dnssd-uri.patch
+ # http://cups.org/str.php?L4155 / https://bugs.archlinux.org/task/30965
+ patch -Np0 -i ${srcdir}/usb-backend-reset-after-job-only-for-specific-devices.patch
# Rebuild configure script for not zipping man-pages.
aclocal -I config-scripts
diff --git a/extra/cups/cups.install b/extra/cups/cups.install
index cea52282e..fc015f951 100644
--- a/extra/cups/cups.install
+++ b/extra/cups/cups.install
@@ -24,6 +24,11 @@ post_upgrade() {
echo "* check your config with cupsd -t"
echo " and fix all Browsing related settings"
fi
+ if [ "`vercmp $2 1.6.1-3`" -lt 0 ]; then
+ # important upgrade notice
+ echo "> It's now safe to load usblp kernel module."
+ echo "> There's no more need to blacklist it."
+ fi
}
post_remove() {
diff --git a/extra/cups/usb-backend-reset-after-job-only-for-specific-devices.patch b/extra/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
new file mode 100644
index 000000000..dcf91c833
--- /dev/null
+++ b/extra/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
@@ -0,0 +1,74 @@
+--- backend/usb-libusb.c.orig 2012-07-16 19:10:55.000000000 +0200
++++ backend/usb-libusb.c 2012-08-06 11:01:58.034150159 +0200
+@@ -70,7 +70,7 @@
+ read_endp, /* Read endpoint */
+ protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */
+ usblp_attached, /* "usblp" kernel module attached? */
+- opened_for_job; /* Set to 1 by print_device() */
++ reset_after_job; /* Set to 1 by print_device() */
+ unsigned int quirks; /* Quirks flags */
+ struct libusb_device_handle *handle; /* Open handle to device */
+ } usb_printer_t;
+@@ -122,6 +122,8 @@
+ #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */
+ #define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific
+ Class or SubClass */
++#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset
++ for clean-up */
+ #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach
+ the usblp kernel module */
+
+@@ -147,9 +149,11 @@
+ { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
+ Printer M129C */
+ { 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
+- USBLP_QUIRK_NO_REATTACH },
++ USBLP_QUIRK_NO_REATTACH |
++ USBLP_QUIRK_RESET },
+ /* Prolific Technology, Inc. PL2305 Parallel Port
+ (USB -> Parallel adapter) */
++ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices */
+ { 0, 0 }
+ };
+
+@@ -256,7 +260,12 @@
+ }
+
+ g.print_fd = print_fd;
+- g.printer->opened_for_job = 1;
++
++ /*
++ * Some devices need a reset after finishing a job, these devices are
++ * marked with the USBLP_QUIRK_RESET quirk.
++ */
++ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0);
+
+ /*
+ * If we are printing data from a print driver on stdin, ignore SIGTERM
+@@ -772,7 +781,7 @@
+ * Reset the device to clean up after the job
+ */
+
+- if (printer->opened_for_job == 1)
++ if (printer->reset_after_job == 1)
+ {
+ if ((errcode = libusb_reset_device(printer->handle)) < 0)
+ fprintf(stderr,
+@@ -1288,7 +1297,7 @@
+ }
+
+ printer->usblp_attached = 0;
+- printer->opened_for_job = 0;
++ printer->reset_after_job = 0;
+
+ if (verbose)
+ fputs("STATE: +connecting-to-device\n", stderr);
+@@ -1586,7 +1595,7 @@
+ for (i = 0; quirk_printers[i].vendorId; i++)
+ {
+ if (vendor == quirk_printers[i].vendorId &&
+- product == quirk_printers[i].productId)
++ (product == 0x0000 || product == quirk_printers[i].productId))
+ return quirk_printers[i].quirks;
+ }
+ return 0;
diff --git a/extra/llvm/PKGBUILD b/extra/llvm/PKGBUILD
index c9fa442c7..61a5227e5 100644
--- a/extra/llvm/PKGBUILD
+++ b/extra/llvm/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 163974 2012-07-23 03:57:55Z foutrelis $
+# $Id: PKGBUILD 165098 2012-08-10 21:21:52Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Sebastian Nowicki <sebnow@gmail.com>
@@ -11,7 +11,7 @@
pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer')
pkgver=3.1
-pkgrel=3
+pkgrel=4
arch=('i686' 'x86_64')
url="http://llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
@@ -24,6 +24,7 @@ source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.src.tar.gz
cindexer-clang-path.patch
clang-pure64.patch
enable-lto.patch
+ llvm-3.1-fix-debug-line-info.patch
clang-3.1-fix-libprofile_rt.a-location.patch)
sha256sums=('1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab'
'ff63e215dcd3e2838ffdea38502f8d35bab17e487f3c3799579961e452d5a786'
@@ -33,6 +34,7 @@ sha256sums=('1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab'
'3074df5322900e087377a8e03a02115463ccc0011c25917c2f06df11facd9b92'
'288a82fbff17bc554f5863734246500e637882af33ee8511019d5e0d6cd20524'
'f7145e203ffb4ce2c01976027f7840a9520e5341a9945f2459b6b11e5422d5b7'
+ 'db1f1aadebbc4c4232bdad49fb9b7dc61eac727085c63154b870fa9ce64fd18d'
'0d32ad283566357ca1bfbeb4cbe6b0b961943b79d3d718ed0435101c05629137')
build() {
@@ -79,6 +81,10 @@ build() {
patch -d tools/clang -Np1 -i \
"$srcdir/clang-3.1-fix-libprofile_rt.a-location.patch"
+ # Fix FS#31098: LLVM 3.1 produces invalid debug information
+ # http://llvm.org/bugs/show_bug.cgi?id=13211
+ patch -Np1 -i "$srcdir/llvm-3.1-fix-debug-line-info.patch"
+
# Apply strip option to configure
_optimized_switch="enable"
[[ $(check_option strip) == n ]] && _optimized_switch="disable"
diff --git a/extra/llvm/llvm-3.1-fix-debug-line-info.patch b/extra/llvm/llvm-3.1-fix-debug-line-info.patch
new file mode 100644
index 000000000..de2d46b61
--- /dev/null
+++ b/extra/llvm/llvm-3.1-fix-debug-line-info.patch
@@ -0,0 +1,65 @@
+From 737fdba46f2b2b7d39bc728d15ea2334c44779e0 Mon Sep 17 00:00:00 2001
+From: Ben Longbons <b.r.longbons@gmail.com>
+Date: Fri, 29 Jun 2012 12:58:34 -0700
+Subject: [PATCH] Revert "Patch to set is_stmt a little better for prologue
+ lines in a function."
+
+This meants that the debugger could find meaningful line information.
+
+This reverts commit 60b35f408bc3194e7ea4e96367c0b42dc5e7f850.
+---
+ lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 7 ++-----
+ test/DebugInfo/X86/ending-run.ll | 6 ++----
+ 2 files changed, 4 insertions(+), 9 deletions(-)
+
+diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+index 3e79a6d..24aedfb 100644
+--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
++++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+@@ -1093,15 +1093,12 @@ void DwarfDebug::beginInstruction(const MachineInstr *MI) {
+ if (!MI->isDebugValue()) {
+ DebugLoc DL = MI->getDebugLoc();
+ if (DL != PrevInstLoc && (!DL.isUnknown() || UnknownLocations)) {
+- unsigned Flags = 0;
++ unsigned Flags = DWARF2_FLAG_IS_STMT;
+ PrevInstLoc = DL;
+ if (DL == PrologEndLoc) {
+ Flags |= DWARF2_FLAG_PROLOGUE_END;
+ PrologEndLoc = DebugLoc();
+ }
+- if (PrologEndLoc.isUnknown())
+- Flags |= DWARF2_FLAG_IS_STMT;
+-
+ if (!DL.isUnknown()) {
+ const MDNode *Scope = DL.getScope(Asm->MF->getFunction()->getContext());
+ recordSourceLine(DL.getLine(), DL.getCol(), Scope, Flags);
+@@ -1382,7 +1379,7 @@ void DwarfDebug::beginFunction(const MachineFunction *MF) {
+ MF->getFunction()->getContext());
+ recordSourceLine(FnStartDL.getLine(), FnStartDL.getCol(),
+ FnStartDL.getScope(MF->getFunction()->getContext()),
+- 0);
++ DWARF2_FLAG_IS_STMT);
+ }
+ }
+
+diff --git a/test/DebugInfo/X86/ending-run.ll b/test/DebugInfo/X86/ending-run.ll
+index 6935c47..0cd3de1 100644
+--- a/test/DebugInfo/X86/ending-run.ll
++++ b/test/DebugInfo/X86/ending-run.ll
+@@ -1,11 +1,9 @@
+ ; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
+ ; RUN: llvm-dwarfdump %t | FileCheck %s
+
+-; Check that the line table starts at 7, not 4, but that the first
+-; statement isn't until line 8.
++; Check that the line table starts at 7, not 4.
+
+-; CHECK-NOT: 0x0000000000000000 7 0 1 0 is_stmt
+-; CHECK: 0x0000000000000000 7 0 1 0
++; CHECK: 0x0000000000000000 7 0 1 0 is_stmt
+ ; CHECK: 0x0000000000000004 8 18 1 0 is_stmt prologue_end
+
+ define i32 @callee(i32 %x) nounwind uwtable ssp {
+--
+1.7.10
+
diff --git a/extra/valgrind/PKGBUILD b/extra/valgrind/PKGBUILD
index ad9b7dc46..0d702e470 100644
--- a/extra/valgrind/PKGBUILD
+++ b/extra/valgrind/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 164063 2012-07-26 04:17:07Z allan $
+# $Id: PKGBUILD 165089 2012-08-10 08:30:57Z allan $
# Maintainer: Dan McGee <dan@archlinux.org>
# Maintainer: Allan McRae <allan@archlinux.org>
pkgname=valgrind
-pkgver=3.7.0
-pkgrel=4
+pkgver=3.8.0
+pkgrel=1
pkgdesc="A tool to help find memory-management problems in programs"
arch=('i686' 'x86_64')
license=('GPL')
@@ -12,24 +12,18 @@ url="http://valgrind.org/"
depends=('glibc>=2.16' 'glibc<2.17' 'perl')
makedepends=('gdb')
options=('!emptydirs')
-source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2
- valgrind-3.7.0-glibc-2.16.patch
- valgrind-3.7.0-supp.patch)
-md5sums=('a855fda56edf05614f099dca316d1775'
- '8362c9c10b8d7d08d1be628a717cfba7'
- '6cf8d3ace0cdc4c7fd69d61ca0692577')
+source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('ec04dfd1256307432b2a7b520398c526')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
-
- patch -Np1 -i ${srcdir}/valgrind-3.7.0-glibc-2.16.patch
- patch -Np1 -i ${srcdir}/valgrind-3.7.0-supp.patch
if [ "${CARCH}" = "x86_64" ]; then
./configure --prefix=/usr --mandir=/usr/share/man --enable-only64bit
else
./configure --prefix=/usr --mandir=/usr/share/man
fi
+
make
}
diff --git a/extra/wget/PKGBUILD b/extra/wget/PKGBUILD
new file mode 100644
index 000000000..87f617417
--- /dev/null
+++ b/extra/wget/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 165091 2012-08-10 09:03:30Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=wget
+pkgver=1.14
+pkgrel=1
+pkgdesc="A network utility to retrieve files from the Web"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/wget/wget.html"
+license=('GPL3')
+depends=('glibc' 'openssl')
+optdepends=('ca-certificates: HTTPS downloads')
+backup=('etc/wgetrc')
+install=wget.install
+source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig})
+md5sums=('316f6f59292c9098ad81fd54f658c579'
+ '3e121933d69f32fa58776bff76bcebd0')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Note : We do not build with --enable-nls, because there is a bug in wget causing
+ # international domain names to be not properly converted to punycode if
+ # the current locale is a UTF-8 one
+ # See : http://lists.gnu.org/archive/html/bug-wget/2011-02/msg00026.html
+
+ ./configure -with-ssl=openssl --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ cat >> "$pkgdir/etc/wgetrc" <<EOF
+
+# default root certs location
+ca_certificate=/etc/ssl/certs/ca-certificates.crt
+EOF
+
+ # remove IRI option from wgetrc as it does not work (see above)
+ sed -i '118,120d' $pkgdir/etc/wgetrc
+
+}
diff --git a/extra/wget/wget.install b/extra/wget/wget.install
new file mode 100644
index 000000000..8eb6a2c3f
--- /dev/null
+++ b/extra/wget/wget.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(wget.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD
index caade620d..7bfb6ed50 100644
--- a/extra/xf86-video-intel/PKGBUILD
+++ b/extra/xf86-video-intel/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 164223 2012-07-27 19:15:17Z andyrtr $
+# $Id: PKGBUILD 165096 2012-08-10 18:33:15Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-intel
-pkgver=2.20.2
-pkgrel=2
+pkgver=2.20.3
+pkgrel=1
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
@@ -17,14 +17,11 @@ provides=('xf86-video-intel-uxa' 'xf86-video-intel-sna')
conflicts=('xf86-video-intel-sna' 'xf86-video-intel-uxa' 'xorg-server<1.12.0' 'xf86-video-i810' 'xf86-video-intel-legacy')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2
- fix_gen4.diff)
-sha256sums=('4c30cce0b5f7b427d76898c439f2c9fd31a8b45babd8ef82ec4c0004ae0a26a9'
- '0c5b98e4980c8108aee12b1e46a78c23029034439dcd277f8ae1264ca3fff8a4')
+source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('effca1382e595cc071b109818150db229ffb54f92769e4758398abbe69acb92c')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i ${srcdir}/fix_gen4.diff
./configure --prefix=/usr \
--enable-dri
make
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD
index 086113552..065ca3fc0 100644
--- a/libre/linux-libre-lts/PKGBUILD
+++ b/libre/linux-libre-lts/PKGBUILD
@@ -4,15 +4,13 @@
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
-pkgbase=linux-libre-lts
-pkgname=('linux-libre-lts' 'linux-libre-lts-headers') # Build stock -LIBRE-LTS kernel
-# pkgname=linux-custom # Build kernel with a different name
-_kernelname=-LIBRE-LTS
+pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel
+#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.0
-_sublevel=39
+_sublevel=40
pkgver=${_basekernel}.${_sublevel}
-_lxopkgver=${_basekernel}.39 # nearly always the same as pkgver
pkgrel=1
+_lxopkgver=${_basekernel}.39 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -23,7 +21,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
# the main kernel config files
'config.i686' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
- "${pkgname}.preset"
+ "${pkgbase}.preset"
'Kbuild'
'Kbuild.platforms'
'boot-logo.patch'
@@ -31,8 +29,11 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'i915-fix-ghost-tv-output.patch'
'ext4-options.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
+
+_kernelname=${pkgbase#linux-libre}
+_localversionname=-LIBRE-LTS
md5sums=('5f64180fe7df4e574dac5911b78f5067'
- '9259948f76db87052be56da4c525d07a'
+ '4c42d5680df7921c20dda6f5fa44b275'
'5e3362ef81c99563852f1b7a8c5b5837'
'3d078c10d51f9c2f4d0ec6be531caf1d'
'c072b17032e80debc6a8626299245d46'
@@ -92,7 +93,7 @@ build() {
sed -ri -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
-e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
-e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \
- -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" \
+ -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_localversionname}\"|g" \
-e "s;(CONFIG_USB(_COMMON|_EHCI_HCD|_OHCI_HCD|_STORAGE.*|_UAS)?)=.*;\1=y;g" \
./.config
else
@@ -100,7 +101,8 @@ build() {
fi
if [ "${_kernelname}" != "" ]; then
- sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
+ sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_localversionname}\"|g" ./.config
+ sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config
fi
# set extraversion to pkgrel
@@ -120,15 +122,22 @@ build() {
#make oldconfig # using old config from previous kernel version
# ... or manually edit .config
+ # rewrite configuration
+ yes "" | make config >/dev/null
+
+ # save configuration for later reuse
+ if [ "${CARCH}" = "x86_64" ]; then
+ cat .config > "${startdir}/config.x86_64.last"
+ else
+ cat .config > "${startdir}/config.i686.last"
+ fi
+
####################
# stop here
# this is useful to configure the kernel
- #msg "Stopping build"
- #return 1
+ #msg "Stopping build"; return 1
####################
- yes "" | make config
-
# build!
if [ "$CARCH" == "mips64el" ]; then
# The build system passes it directly to linker, disable to avoid
@@ -136,21 +145,22 @@ build() {
export LDFLAGS=""
# bzImage is arch-specific and not supported on mips; vmlinux is
# useful for oprofile.
- make ${MAKEFLAGS} vmlinux vmlinuz modules
+ make ${MAKEFLAGS} LOCALVERSION= vmlinux vmlinuz modules
else
- make ${MAKEFLAGS} bzImage modules
+ make ${MAKEFLAGS} LOCALVERSION= bzImage modules
fi
}
-package_linux-libre-lts() {
- pkgdesc="The Linux-libre Kernel and modules - stable longtime supported kernel package suitable for servers"
+_package() {
+ pkgdesc="The ${pkgbase} kernel and modules - stable longtime supported kernel package suitable for servers"
+ [ "${pkgbase}" = "linux-libre" ] && groups=('base')
depends=('coreutils' 'kmod')
optdepends=('crda: to set the correct wireless channels of your country')
- provides=('kernel26-lts' "linux-lts=$pkgver")
- conflicts=('kernel26-lts' 'kernel26-libre-lts' 'linux-lts')
- replaces=('kernel26-lts' 'kernel26-libre-lts' 'linux-lts')
- backup=("etc/mkinitcpio.d/${pkgname}.preset")
- install=${pkgname}.install
+ provides=("kernel26${_kernelname}=${pkgver}" "linux${_kernelname}=${pkgver}")
+ conflicts=("kernel26${_kernelname}" "kernel26-libre${_kernelname}" "linux${_kernelname}")
+ replaces=("kernel26${_kernelname}" "kernel26-libre${_kernelname}" "linux${_kernelname}")
+ backup=("etc/mkinitcpio.d/${pkgbase}.preset")
+ install=${pkgbase}.install
if [ "$CARCH" = "mips64el" ]; then
optdepends+=('mkinitcpio: to make the initramfs (needs reinstall of this package)')
conflicts+=('mkinitcpio<0.7')
@@ -164,35 +174,42 @@ package_linux-libre-lts() {
[ $CARCH = "mips64el" ] && KARCH=mips
# get kernel version
- _kernver="$(make kernelrelease)"
+ _kernver="$(make LOCALVERSION= kernelrelease)"
+ _basekernel=${_kernver%%-*}
+ _basekernel=${_basekernel%.*}
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
- make INSTALL_MOD_PATH="${pkgdir}" modules_install
+ make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install
if [ "$CARCH" == "mips64el" ]; then
- cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgname}"
- cp vmlinux "${pkgdir}/boot/vmlinux-${pkgname}"
+ cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgbase}"
+ cp vmlinux "${pkgdir}/boot/vmlinux-${pkgbase}"
else
- cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgname}"
+ cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgbase}"
fi
# add vmlinux
install -D -m644 vmlinux "${pkgdir}/usr/src/linux-${_kernver}/vmlinux"
# install fallback mkinitcpio.conf file and preset file for kernel
- install -D -m644 "${srcdir}/${pkgname}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
+ install -D -m644 "${srcdir}/${pkgbase}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
# set correct depmod command for install
sed \
- -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \
- -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \
- -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \
- -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
+ -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" \
+ -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" \
+ -i "${startdir}/${pkgbase}.install"
+ sed \
+ -e "1s|'linux*.*'|'${pkgbase}'|" \
+ -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgbase}\"|" \
+ -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \
+ -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \
+ -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
# mkinitcpio 0.7 relies on bzImage to find the kernel version
if [ "$CARCH" == "mips64el" ]; then
- sed -e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|g" \
- -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
+ sed -e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|" \
+ -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
fi
# remove build and source links
@@ -214,11 +231,11 @@ package_linux-libre-lts() {
depmod -b "$pkgdir" -F System.map "$_kernver"
}
-package_linux-libre-lts-headers() {
- pkgdesc="Header files and scripts for building modules for linux-libre-lts longtime supported kernel"
- provides=('kernel26-lts-headers' "linux-lts-headers=${pkgver}")
- conflicts=('kernel26-lts-headers' 'kernel26-libre-lts-headers' 'linux-lts-headers')
- replaces=('kernel26-lts-headers' 'kernel26-libre-lts-headers' 'linux-lts-headers')
+_package-headers() {
+ pkgdesc="Header files and scripts for building modules for ${pkgbase} kernel"
+ provides=("kernel26${_kernelname}-headers=${pkgver}" "linux${_kernelname}-headers=${pkgver}")
+ conflicts=("kernel26${_kernelname}-headers" "kernel26-libre${_kernelname}-headers" "linux${_kernelname}-headers")
+ replaces=("kernel26${_kernelname}-headers" "kernel26-libre${_kernelname}-headers" "linux${_kernelname}-headers")
KARCH=x86
[ $CARCH = "mips64el" ] && KARCH=mips
@@ -226,7 +243,7 @@ package_linux-libre-lts-headers() {
# In case of repackaging this is empty
if [ -z "${_kernver}" ]; then
cd "${srcdir}/linux-${_basekernel}"
- _kernver="$(make kernelrelease)"
+ _kernver="$(make LOCALVERSION= kernelrelease)"
fi
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
@@ -364,3 +381,12 @@ package_linux-libre-lts-headers() {
rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/mips
fi
}
+
+pkgname=("${pkgbase}" "${pkgbase}-headers")
+for _p in ${pkgname[@]}; do
+ eval "package_${_p}() {
+ _package${_p#${pkgbase}}
+ }"
+done
+
+# vim:set ts=8 sts=2 sw=2 et:
diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install
index 6f7899fe6..58b0a302a 100644
--- a/libre/linux-libre-lts/linux-libre-lts.install
+++ b/libre/linux-libre-lts/linux-libre-lts.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-lts
-KERNEL_VERSION=3.0.39-1-LIBRE-LTS
+KERNEL_VERSION=3.0.40-1-LIBRE-LTS
# set a sane PATH to ensure that critical utils like depmod will be found
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD
index d676ff269..e48f7395b 100644
--- a/libre/linux-libre/PKGBUILD
+++ b/libre/linux-libre/PKGBUILD
@@ -7,34 +7,35 @@
# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
-pkgbase=linux-libre
-pkgname=('linux-libre' 'linux-libre-headers' 'linux-libre-docs') # Build stock -LIBRE kernel
-# pkgname=linux-custom # Build kernel with a different name
-_kernelname=-LIBRE
+pkgbase=linux-libre # Build stock -LIBRE kernel
+#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.5
-#_sublevel=6
-#pkgver=${_basekernel}.${_sublevel}
-pkgver=${_basekernel}
+_sublevel=1
+pkgver=${_basekernel}.${_sublevel}
+pkgrel=1
_lxopkgver=${_basekernel}.0 # nearly always the same as pkgver
-pkgrel=2
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl')
options=('!strip')
source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz"
- #"http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz"
+ "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz"
# the main kernel config files
'config.i686' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
- "${pkgname}.preset"
+ "${pkgbase}.preset"
'Kbuild'
'Kbuild.platforms'
'boot-logo.patch'
'change-default-console-loglevel.patch'
'avmfritz-only-few-bytes-are-transfered-on-a-conn.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
+
+_kernelname=${pkgbase#linux-libre}
+_localversionname=-LIBRE
md5sums=('2407fc9563a74acaf38aa0c06516eb1c'
+ '67b650dd355fbca16035510df063420b'
'7f0b7950bc9d2a20cdb6b850e6e4eb5a'
'a796ea383eb136cb38fab0a52b6d2f52'
'e49ac236dfeef709f91a3d993ea7b62c'
@@ -67,6 +68,7 @@ build() {
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
# fix avmfritz capi20 functionallity
+ # will be added to 3.5.2
# https://bugzilla.kernel.org/show_bug.cgi?id=45271
patch -Np1 -i "${srcdir}/avmfritz-only-few-bytes-are-transfered-on-a-conn.patch"
@@ -85,7 +87,7 @@ build() {
sed -ri -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
-e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
-e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \
- -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" \
+ -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_localversionname}\"|g" \
-e "s;(CONFIG_USB(_COMMON|_EHCI_HCD|_OHCI_HCD|_STORAGE.*|_UAS)?)=.*;\1=y;g" \
./.config
else
@@ -93,7 +95,8 @@ build() {
fi
if [ "${_kernelname}" != "" ]; then
- sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
+ sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_localversionname}\"|g" ./.config
+ sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config
fi
# set extraversion to pkgrel
@@ -113,15 +116,22 @@ build() {
#make oldconfig # using old config from previous kernel version
# ... or manually edit .config
+ # rewrite configuration
+ yes "" | make config >/dev/null
+
+ # save configuration for later reuse
+ if [ "${CARCH}" = "x86_64" ]; then
+ cat .config > "${startdir}/config.x86_64.last"
+ else
+ cat .config > "${startdir}/config.i686.last"
+ fi
+
####################
# stop here
# this is useful to configure the kernel
- #msg "Stopping build"
- #return 1
+ #msg "Stopping build"; return 1
####################
- yes "" | make config
-
# build!
if [ "$CARCH" == "mips64el" ]; then
# The build system passes it directly to linker, disable to avoid
@@ -129,22 +139,22 @@ build() {
export LDFLAGS=""
# bzImage is arch-specific and not supported on mips; vmlinux is
# useful for oprofile.
- make ${MAKEFLAGS} vmlinux vmlinuz modules
+ make ${MAKEFLAGS} LOCALVERSION= vmlinux vmlinuz modules
else
- make ${MAKEFLAGS} bzImage modules
+ make ${MAKEFLAGS} LOCALVERSION= bzImage modules
fi
}
-package_linux-libre() {
- pkgdesc="The Linux-libre Kernel and modules"
- groups=('base')
+_package() {
+ pkgdesc="The ${pkgbase} kernel and modules"
+ [ "${pkgbase}" = "linux-libre" ] && groups=('base')
depends=('coreutils' 'kmod')
optdepends=('crda: to set the correct wireless channels of your country')
- provides=('kernel26' "linux=$pkgver")
- conflicts=('kernel26' 'kernel26-libre' 'linux')
- replaces=('kernel26' 'kernel26-libre' 'linux')
- backup=("etc/mkinitcpio.d/${pkgname}.preset")
- install=${pkgname}.install
+ provides=("kernel26${_kernelname}=${pkgver}" "linux${_kernelname}=${pkgver}")
+ conflicts=("kernel26${_kernelname}" "kernel26-libre${_kernelname}" "linux${_kernelname}")
+ replaces=("kernel26${_kernelname}" "kernel26-libre${_kernelname}" "linux${_kernelname}")
+ backup=("etc/mkinitcpio.d/${pkgbase}.preset")
+ install=${pkgbase}.install
if [ "$CARCH" = "mips64el" ]; then
optdepends+=('mkinitcpio: to make the initramfs (needs reinstall of this package)')
conflicts+=('mkinitcpio<0.7')
@@ -158,35 +168,42 @@ package_linux-libre() {
[ $CARCH = "mips64el" ] && KARCH=mips
# get kernel version
- _kernver="$(make kernelrelease)"
+ _kernver="$(make LOCALVERSION= kernelrelease)"
+ _basekernel=${_kernver%%-*}
+ _basekernel=${_basekernel%.*}
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
- make INSTALL_MOD_PATH="${pkgdir}" modules_install
+ make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install
if [ "$CARCH" == "mips64el" ]; then
- cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgname}"
- cp vmlinux "${pkgdir}/boot/vmlinux-${pkgname}"
+ cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgbase}"
+ cp vmlinux "${pkgdir}/boot/vmlinux-${pkgbase}"
else
- cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgname}"
+ cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgbase}"
fi
# add vmlinux
install -D -m644 vmlinux "${pkgdir}/usr/src/linux-${_kernver}/vmlinux"
# install fallback mkinitcpio.conf file and preset file for kernel
- install -D -m644 "${srcdir}/${pkgname}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
+ install -D -m644 "${srcdir}/${pkgbase}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
# set correct depmod command for install
sed \
- -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \
- -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \
- -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \
- -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
+ -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" \
+ -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" \
+ -i "${startdir}/${pkgbase}.install"
+ sed \
+ -e "1s|'linux*.*'|'${pkgbase}'|" \
+ -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgbase}\"|" \
+ -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \
+ -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \
+ -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
# mkinitcpio 0.7 relies on bzImage to find the kernel version
if [ "$CARCH" == "mips64el" ]; then
- sed -e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|g" \
- -i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
+ sed -e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|" \
+ -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
fi
# remove build and source links
@@ -208,11 +225,11 @@ package_linux-libre() {
depmod -b "$pkgdir" -F System.map "$_kernver"
}
-package_linux-libre-headers() {
- pkgdesc="Header files and scripts for building modules for linux-libre kernel"
- provides=('kernel26-headers' "linux-headers=${pkgver}")
- conflicts=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers')
- replaces=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers')
+_package-headers() {
+ pkgdesc="Header files and scripts for building modules for ${pkgbase} kernel"
+ provides=("kernel26${_kernelname}-headers=${pkgver}" "linux${_kernelname}-headers=${pkgver}")
+ conflicts=("kernel26${_kernelname}-headers" "kernel26-libre${_kernelname}-headers" "linux${_kernelname}-headers")
+ replaces=("kernel26${_kernelname}-headers" "kernel26-libre${_kernelname}-headers" "linux${_kernelname}-headers")
KARCH=x86
[ $CARCH = "mips64el" ] && KARCH=mips
@@ -220,7 +237,7 @@ package_linux-libre-headers() {
# In case of repackaging this is empty
if [ -z "${_kernver}" ]; then
cd "${srcdir}/linux-${_basekernel}"
- _kernver="$(make kernelrelease)"
+ _kernver="$(make LOCALVERSION= kernelrelease)"
fi
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
@@ -359,11 +376,11 @@ package_linux-libre-headers() {
fi
}
-package_linux-libre-docs() {
- pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux-libre kernel."
- provides=('kernel26-docs' "linux-docs=$pkgver")
- conflicts=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs')
- replaces=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs')
+_package-docs() {
+ pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase} kernel"
+ provides=("kernel26${_kernelname}-docs=${pkgver}" "linux${_kernelname}-docs=${pkgver}")
+ conflicts=("kernel26${_kernelname}-docs" "kernel26-libre${_kernelname}-docs" "linux${_kernelname}-docs")
+ replaces=("kernel26${_kernelname}-docs" "kernel26-libre${_kernelname}-docs" "linux${_kernelname}-docs")
cd "${srcdir}/linux-${_basekernel}"
@@ -375,3 +392,12 @@ package_linux-libre-docs() {
# remove a file already in linux package
rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
}
+
+pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs")
+for _p in ${pkgname[@]}; do
+ eval "package_${_p}() {
+ _package${_p#${pkgbase}}
+ }"
+done
+
+# vim:set ts=8 sts=2 sw=2 et:
diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install
index 5f1005477..9d56698c6 100644
--- a/libre/linux-libre/linux-libre.install
+++ b/libre/linux-libre/linux-libre.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=3.5.0-2-LIBRE
+KERNEL_VERSION=3.5.1-1-LIBRE
# set a sane PATH to ensure that critical utils like depmod will be found
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
diff --git a/testing/gnucash/PKGBUILD b/testing/gnucash/PKGBUILD
new file mode 100644
index 000000000..23745c948
--- /dev/null
+++ b/testing/gnucash/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 165082 2012-08-10 05:02:38Z eric $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Contributor: Mark Schneider <queueRAM@gmail.com>
+
+pkgname=gnucash
+pkgver=2.4.11
+pkgrel=1
+pkgdesc="A personal and small-business financial-accounting application"
+arch=('i686' 'x86_64')
+url="http://www.gnucash.org"
+license=("GPL")
+depends=('gtkhtml' 'slib' 'goffice' 'libgnomeui' 'libdbi-drivers' 'aqbanking' 'desktop-file-utils')
+makedepends=('intltool')
+optdepends=('evince: for print preview'
+ 'perl-finance-quote: for stock information lookups'
+ 'perl-date-manip: for stock information lookups')
+options=('!libtool' '!makeflags' '!emptydirs')
+install=gnucash.install
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('c157ad7ea0960c71966f5071acd9018580ece538')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc \
+ --libexecdir=/usr/lib --disable-schemas-install --enable-ofx --enable-aqbanking
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+ cd src/doc/design
+ make DESTDIR="${pkgdir}" install-info
+
+ install -dm755 "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnucash "${pkgdir}"/etc/gconf/schemas/*.schemas
+ rm -f "${pkgdir}"/etc/gconf/schemas/*.schemas
+}
diff --git a/testing/gnucash/gnucash.install b/testing/gnucash/gnucash.install
new file mode 100644
index 000000000..d6a48c31b
--- /dev/null
+++ b/testing/gnucash/gnucash.install
@@ -0,0 +1,34 @@
+pkgname=gnucash
+info_dir=usr/share/info
+info_files=(gnucash-design.info)
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+ [ -x usr/bin/install-info ] || return 0
+ for f in ${info_files[@]}; do
+ usr/bin/install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+ [ -x usr/bin/install-info ] || return 0
+ for f in ${info_files[@]}; do
+ usr/bin/install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/testing/libofx/PKGBUILD b/testing/libofx/PKGBUILD
new file mode 100644
index 000000000..218fa0cd3
--- /dev/null
+++ b/testing/libofx/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 165083 2012-08-10 05:02:43Z eric $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+
+pkgbase=libofx
+pkgname=('libofx' 'libofx-doc')
+pkgver=0.9.5
+pkgrel=1
+pkgdesc="API for the OFX banking standard"
+arch=('i686' 'x86_64')
+url="http://libofx.sourceforge.net"
+license=('GPL')
+depends=('opensp' 'curl' 'libxml++')
+checkdepends=('gnupg')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz libofx-gcc47.patch)
+sha1sums=('7e5245d68a0f3f7efad2fd809b2afbbff6ba0e73'
+ '6c327e24543cb8ba901bfb204343a85c68264654')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver"
+ patch -p1 -i "$srcdir/libofx-gcc47.patch"
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgbase-$pkgver"
+ make check
+}
+
+package_libofx() {
+ options=('!libtool' '!docs')
+
+ cd "$srcdir/$pkgbase-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+package_libofx-doc() {
+ pkgdesc="Documention of the OFX banking standard API"
+ depends=()
+
+ cd "$srcdir/$pkgbase-$pkgver"
+ make DESTDIR="$pkgdir" install-docDATA
+ make -C doc DESTDIR="$pkgdir" install
+}
diff --git a/testing/libofx/libofx-gcc47.patch b/testing/libofx/libofx-gcc47.patch
new file mode 100644
index 000000000..899fe09e0
--- /dev/null
+++ b/testing/libofx/libofx-gcc47.patch
@@ -0,0 +1,11 @@
+diff -Nru libofx-0.9.4/debian/patches/fix-ftbfs-gcc4.7.diff libofx-0.9.4/debian/patches/fix-ftbfs-gcc4.7.diff
+--- libofx-0.9.4.orig/ofxconnect/ofxpartner.cpp 2011-03-30 22:30:50.000000000 +0000
++++ libofx-0.9.4/ofxconnect/ofxpartner.cpp 2012-04-17 06:08:38.711940892 +0000
+@@ -37,6 +37,7 @@
+ #include <vector>
+ #include <algorithm>
+ #include <string.h>
++#include <unistd.h>
+
+ using std::string;
+ using std::vector;
diff --git a/testing/systemd/0001-shutdown-recursively-mark-root-as-private-before-piv.patch b/testing/systemd/0001-shutdown-recursively-mark-root-as-private-before-piv.patch
new file mode 100644
index 000000000..5c6085c95
--- /dev/null
+++ b/testing/systemd/0001-shutdown-recursively-mark-root-as-private-before-piv.patch
@@ -0,0 +1,31 @@
+From 4bfa638d43c05e8db052cd55818765bb3575a405 Mon Sep 17 00:00:00 2001
+From: Dave Reisner <dreisner@archlinux.org>
+Date: Fri, 10 Aug 2012 11:02:03 -0400
+Subject: [PATCH] shutdown: recursively mark root as private before pivot
+
+Because root is now recursively marked as shared on bootup, we need to
+recursively mark root as private. This prevents a pivot_root failure on
+shutdown:
+
+ Cannot finalize remaining file systems and devices, giving up.
+ pivot failed: Invalid argument
+---
+ src/core/shutdown.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/shutdown.c b/src/core/shutdown.c
+index 105a604..0b7cbd8 100644
+--- a/src/core/shutdown.c
++++ b/src/core/shutdown.c
+@@ -109,7 +109,7 @@ static int pivot_to_new_root(void) {
+ It works for pivot_root, but the ref count for the root device
+ is not decreasing :-/
+ */
+- if (mount(NULL, "/", NULL, MS_PRIVATE, NULL) < 0) {
++ if (mount(NULL, "/", NULL, MS_REC|MS_PRIVATE, NULL) < 0) {
+ log_error("Failed to make \"/\" private mount %m");
+ return -errno;
+ }
+--
+1.7.11.4
+
diff --git a/testing/systemd/0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch b/testing/systemd/0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch
new file mode 100644
index 000000000..3aec94edc
--- /dev/null
+++ b/testing/systemd/0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch
@@ -0,0 +1,73 @@
+From c516c8d17f77a1c761447f4c40c8dfffeda2e06d Mon Sep 17 00:00:00 2001
+From: Simon Peeters <peeters.simon@gmail.com>
+Date: Fri, 10 Aug 2012 17:32:19 +0200
+Subject: [PATCH] systemctl: fix issue with systemctl daemon-reexec
+
+---
+ src/shared/dbus-common.c | 3 ++-
+ src/systemctl/systemctl.c | 11 ++++++++---
+ 2 files changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/src/shared/dbus-common.c b/src/shared/dbus-common.c
+index 7f0dce5..da2dc2e 100644
+--- a/src/shared/dbus-common.c
++++ b/src/shared/dbus-common.c
+@@ -1287,7 +1287,8 @@ int bus_method_call_with_reply(DBusConnection *bus,
+ reply = dbus_connection_send_with_reply_and_block(bus, m, -1, &error);
+ dbus_message_unref(m);
+ if (!reply) {
+- log_error("Failed to issue method call: %s", bus_error_message(&error));
++ if (!return_error)
++ log_error("Failed to issue method call: %s", bus_error_message(&error));
+ if (bus_error_is_no_service(&error))
+ r = -ENOENT;
+ else if (dbus_error_has_name(&error, DBUS_ERROR_ACCESS_DENIED))
+diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
+index 2e0aaaa..13e0f91 100644
+--- a/src/systemctl/systemctl.c
++++ b/src/systemctl/systemctl.c
+@@ -1537,11 +1537,12 @@ static int start_unit_one(
+ DBUS_TYPE_INVALID);
+ free(n);
+ if (r) {
+- if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL ) {
++ if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL )
+ /* There's always a fallback possible for
+ * legacy actions. */
+ r = -EADDRNOTAVAIL;
+- }
++ else
++ log_error("Failed to issue method call: %s", bus_error_message(error));
+ goto finish;
+ }
+
+@@ -3143,6 +3144,7 @@ finish:
+ static int daemon_reload(DBusConnection *bus, char **args) {
+ int r;
+ const char *method;
++ DBusError error;
+
+ if (arg_action == ACTION_RELOAD)
+ method = "Reload";
+@@ -3171,7 +3173,7 @@ static int daemon_reload(DBusConnection *bus, char **args) {
+ "org.freedesktop.systemd1.Manager",
+ method,
+ NULL,
+- NULL,
++ &error,
+ DBUS_TYPE_INVALID);
+
+ if (r == -ENOENT && arg_action != ACTION_SYSTEMCTL)
+@@ -3182,6 +3184,9 @@ static int daemon_reload(DBusConnection *bus, char **args) {
+ /* On reexecution, we expect a disconnect, not
+ * a reply */
+ r = 0;
++ else if (r)
++ log_error("Failed to issue method call: %s", bus_error_message(&error));
++ dbus_error_free(&error);
+
+ return r;
+ }
+--
+1.7.11.4
+
diff --git a/testing/systemd/PKGBUILD b/testing/systemd/PKGBUILD
index 482d2e8bb..b20882fd5 100644
--- a/testing/systemd/PKGBUILD
+++ b/testing/systemd/PKGBUILD
@@ -4,7 +4,7 @@
pkgbase=systemd
pkgname=('systemd' 'libsystemd' 'systemd-tools' 'systemd-sysvcompat')
pkgver=188
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.freedesktop.org/wiki/Software/systemd"
license=('GPL2' 'LGPL2.1' 'MIT')
@@ -17,6 +17,8 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
'initcpio-install-timestamp'
'0001-Reinstate-TIMEOUT-handling.patch'
'locale.sh'
+ 0001-shutdown-recursively-mark-root-as-private-before-piv.patch
+ 0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch
'use-split-usr-path.patch')
md5sums=('d89b42699695554949d072ef46c0dfc9'
'e99e9189aa2f6084ac28b8ddf605aeb8'
@@ -24,6 +26,8 @@ md5sums=('d89b42699695554949d072ef46c0dfc9'
'df69615503ad293c9ddf9d8b7755282d'
'5543be25f205f853a21fa5ee68e03f0d'
'f15956945052bb911e5df81cf5e7e5dc'
+ '49d145ef3ca299025c085555314212b6'
+ 'bccb994f4cfbd251b6c34d7d90a6ba0f'
'482dba45a783f06c2239f1355f4ce72f')
build() {
@@ -31,7 +35,15 @@ build() {
# still waiting on ipw2x00 to get fixed...
patch -Np1 <"$srcdir/0001-Reinstate-TIMEOUT-handling.patch"
- patch -Np1 < "$srcdir/use-split-usr-path.patch"
+ patch -Np1 <"$srcdir/use-split-usr-path.patch"
+
+ # http://bugs.archlinux.org/task/31089
+ # upstream c516c8d17f77a1c761447f4c40c8dfffeda2e06d
+ patch -Np1 <"$srcdir/0001-systemctl-fix-issue-with-systemctl-daemon-reexec.patch"
+
+ # http://bugs.archlinux.org/task/31092
+ # upstream 4bfa638d43c05e8db052cd55818765bb3575a405
+ patch -Np1 <"$srcdir/0001-shutdown-recursively-mark-root-as-private-before-piv.patch"
./configure \
--libexecdir=/usr/lib \