diff options
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 \ |