summaryrefslogtreecommitdiff
path: root/staging
diff options
context:
space:
mode:
Diffstat (limited to 'staging')
-rw-r--r--staging/arora/PKGBUILD28
-rw-r--r--staging/arora/install12
-rw-r--r--staging/freetds/PKGBUILD28
-rw-r--r--staging/php/PKGBUILD365
-rw-r--r--staging/php/apache.conf13
-rw-r--r--staging/php/logrotate.d.php-fpm6
-rw-r--r--staging/php/php-fpm.conf.in.patch80
-rw-r--r--staging/php/php.ini.patch126
-rw-r--r--staging/php/rc.d.php-fpm158
-rw-r--r--staging/pyqt/PKGBUILD79
-rw-r--r--staging/qt/PKGBUILD127
-rw-r--r--staging/qt/assistant.desktop9
-rw-r--r--staging/qt/designer.desktop11
-rw-r--r--staging/qt/linguist.desktop10
-rw-r--r--staging/qt/qt.install12
-rw-r--r--staging/qt/qtconfig.desktop10
-rw-r--r--staging/qt3/PKGBUILD133
-rw-r--r--staging/qt3/eastern_asian_languagues.diff39
-rw-r--r--staging/qt3/gcc-4.6.patch33
-rw-r--r--staging/qt3/mysql.patch47
-rw-r--r--staging/qt3/qt-copy-kde-patches.tar.bz2bin0 -> 31498 bytes
-rw-r--r--staging/qt3/qt-font-default-subst.diff77
-rw-r--r--staging/qt3/qt-odbc.patch19
-rw-r--r--staging/qt3/qt-patches.tar.bz2bin0 -> 3708 bytes
-rw-r--r--staging/qt3/qt.install12
-rw-r--r--staging/qt3/qt.profile4
-rw-r--r--staging/qt3/qt3-png14.patch33
-rw-r--r--staging/qt3/utf8-bug-qt3.diff101
-rw-r--r--staging/qtwebkit/PKGBUILD38
-rw-r--r--staging/qtwebkit/python2-path.patch29
-rw-r--r--staging/redland/PKGBUILD79
-rw-r--r--staging/redland/rpath.diff11
-rw-r--r--staging/unixodbc/PKGBUILD28
33 files changed, 1757 insertions, 0 deletions
diff --git a/staging/arora/PKGBUILD b/staging/arora/PKGBUILD
new file mode 100644
index 000000000..6ca245e39
--- /dev/null
+++ b/staging/arora/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 145108 2011-12-17 04:20:31Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=arora
+pkgver=0.11.0
+pkgrel=3
+pkgdesc='Lightweight cross-platform Web browser'
+url='http://www.arora-browser.org/'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('qtwebkit' 'desktop-file-utils')
+source=("http://${pkgname}.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('480cfd7482cccbb7ece866fa10afe9acace29b31')
+
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ qmake PREFIX='/usr' 'CONFIG-=debug' -r
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make INSTALL_ROOT="${pkgdir}" install
+}
diff --git a/staging/arora/install b/staging/arora/install
new file mode 100644
index 000000000..6c87527e2
--- /dev/null
+++ b/staging/arora/install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/staging/freetds/PKGBUILD b/staging/freetds/PKGBUILD
new file mode 100644
index 000000000..c91427f2c
--- /dev/null
+++ b/staging/freetds/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 11362 2010-02-09 23:57:26Z dgriffiths $
+# Contributor: Aaron Malone <aaron@munge.net>
+
+pkgname=freetds
+pkgver=0.91
+pkgrel=2
+pkgdesc='Library for accessing Sybase and MS SQL Server databases'
+url='http://www.freetds.org'
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('unixodbc')
+options=('!libtool')
+backup=('etc/freetds/freetds.conf'
+ 'etc/freetds/locales.conf'
+ 'etc/freetds/pool.conf')
+source=("ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/${pkgname}-${pkgver}.tar.gz")
+md5sums=('b14db5823980a32f0643d1a84d3ec3ad')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc/freetds --mandir=/usr/share/man --enable-msdblib --with-tdsver=7.0
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/php/PKGBUILD b/staging/php/PKGBUILD
new file mode 100644
index 000000000..43a5a069b
--- /dev/null
+++ b/staging/php/PKGBUILD
@@ -0,0 +1,365 @@
+# $Id: PKGBUILD 145096 2011-12-16 21:32:24Z pierre $
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+
+pkgbase=php
+pkgname=('php'
+ 'php-cgi'
+ 'php-apache'
+ 'php-fpm'
+ 'php-embed'
+ 'php-pear'
+ 'php-enchant'
+ 'php-gd'
+ 'php-intl'
+ 'php-ldap'
+ 'php-mcrypt'
+ 'php-mssql'
+ 'php-odbc'
+ 'php-pgsql'
+ 'php-pspell'
+ 'php-snmp'
+ 'php-sqlite'
+ 'php-tidy'
+ 'php-xsl')
+pkgver=5.3.8
+_suhosinver=5.3.7-0.9.10
+pkgrel=6
+arch=('i686' 'x86_64')
+license=('PHP')
+url='http://www.php.net'
+makedepends=('apache' 'imap' 'postgresql-libs' 'libldap' 'postfix'
+ 'sqlite3' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds'
+ 'libmcrypt' 'tidyhtml' 'aspell' 'libltdl' 'libpng' 'libjpeg' 'icu'
+ 'curl' 'libxslt' 'openssl' 'bzip2' 'db' 'gmp' 'freetype2')
+source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.bz2"
+ "http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz"
+ "http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz.sig"
+ 'php.ini.patch' 'apache.conf' 'rc.d.php-fpm' 'php-fpm.conf.in.patch'
+ 'logrotate.d.php-fpm')
+md5sums=('704cd414a0565d905e1074ffdc1fadfb'
+ '08582e502fed8221c6577042ca45ddb8'
+ '5bf4473f658404aa9a97bf026ecef8e9'
+ '65606c606df97a0760dfe5aaf9893afc'
+ 'dec2cbaad64e3abf4f0ec70e1de4e8e9'
+ 'b01be5f816988fcee7e78225836e5e27'
+ '09005dabd90c48ddd392b3dbf05f8a82'
+ '07c4e412909ac65a44ec90e7a2c4bade')
+
+build() {
+ phpconfig="--srcdir=../${pkgbase}-${pkgver} \
+ --prefix=/usr \
+ --sysconfdir=/etc/php \
+ --localstatedir=/var \
+ --with-layout=GNU \
+ --with-config-file-path=/etc/php \
+ --with-config-file-scan-dir=/etc/php/conf.d \
+ --enable-inline-optimization \
+ --disable-debug \
+ --disable-rpath \
+ --disable-static \
+ --enable-shared \
+ --mandir=/usr/share/man \
+ --without-pear \
+ "
+
+ phpextensions="--enable-bcmath=shared \
+ --enable-calendar=shared \
+ --enable-dba=shared \
+ --enable-exif=shared \
+ --enable-ftp=shared \
+ --enable-gd-native-ttf \
+ --enable-intl=shared \
+ --enable-json=shared \
+ --enable-mbregex \
+ --enable-mbstring \
+ --enable-pdo \
+ --enable-phar=shared \
+ --enable-posix=shared \
+ --enable-session \
+ --enable-shmop=shared \
+ --enable-soap=shared \
+ --enable-sockets=shared \
+ --enable-sqlite-utf8 \
+ --enable-sysvmsg=shared \
+ --enable-sysvsem=shared \
+ --enable-sysvshm=shared \
+ --enable-xml \
+ --enable-zip=shared \
+ --with-bz2=shared \
+ --with-curl=shared \
+ --with-db4=/usr \
+ --with-enchant=shared,/usr \
+ --with-freetype-dir=shared,/usr \
+ --with-gd=shared \
+ --with-gdbm=shared \
+ --with-gettext=shared \
+ --with-gmp=shared \
+ --with-iconv=shared \
+ --with-icu-dir=/usr \
+ --with-imap-ssl=shared \
+ --with-imap=shared \
+ --with-jpeg-dir=shared,/usr \
+ --with-ldap=shared \
+ --with-ldap-sasl \
+ --with-mcrypt=shared \
+ --with-mhash \
+ --with-mssql=shared \
+ --with-mysql-sock=/var/run/mysqld/mysqld.sock \
+ --with-mysql=shared,mysqlnd \
+ --with-mysqli=shared,mysqlnd \
+ --with-openssl=shared \
+ --with-pcre-regex=/usr \
+ --with-pdo-mysql=shared,mysqlnd \
+ --with-pdo-odbc=shared,unixODBC,/usr \
+ --with-pdo-pgsql=shared \
+ --with-pdo-sqlite=shared,/usr \
+ --with-pgsql=shared \
+ --with-png-dir=shared,/usr \
+ --with-pspell=shared \
+ --with-regex=php \
+ --with-snmp=shared \
+ --with-sqlite3=shared,/usr \
+ --with-sqlite=shared \
+ --with-tidy=shared \
+ --with-unixODBC=shared,/usr \
+ --with-xmlrpc=shared \
+ --with-xsl=shared \
+ --with-zlib \
+ --without-db2 \
+ --without-db3 \
+ "
+
+ EXTENSION_DIR=/usr/lib/php/modules
+ export EXTENSION_DIR
+ PEAR_INSTALLDIR=/usr/share/pear
+ export PEAR_INSTALLDIR
+
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
+ # apply suhosin patch
+ patch -p1 -i ${srcdir}/suhosin-patch-${_suhosinver}.patch
+
+ # adjust paths
+ patch -p0 -i ${srcdir}/php.ini.patch
+ patch -p0 -i ${srcdir}/php-fpm.conf.in.patch
+
+ # php
+ mkdir ${srcdir}/build-php
+ cd ${srcdir}/build-php
+ ln -s ../${pkgbase}-${pkgver}/configure
+ ./configure ${phpconfig} \
+ --disable-cgi \
+ --with-readline \
+ --enable-pcntl \
+ ${phpextensions}
+ make
+
+ # cgi and fcgi
+ # reuse the previous run; this will save us a lot of time
+ cp -a ${srcdir}/build-php ${srcdir}/build-cgi
+ cd ${srcdir}/build-cgi
+ ./configure ${phpconfig} \
+ --disable-cli \
+ --enable-cgi \
+ ${phpextensions}
+ make
+
+ # apache
+ cp -a ${srcdir}/build-php ${srcdir}/build-apache
+ cd ${srcdir}/build-apache
+ ./configure ${phpconfig} \
+ --disable-cli \
+ --with-apxs2 \
+ ${phpextensions}
+ make
+
+ # fpm
+ cp -a ${srcdir}/build-php ${srcdir}/build-fpm
+ cd ${srcdir}/build-fpm
+ ./configure ${phpconfig} \
+ --disable-cli \
+ --enable-fpm \
+ --with-fpm-user=http \
+ --with-fpm-group=http \
+ ${phpextensions}
+ make
+
+ # embed
+ cp -a ${srcdir}/build-php ${srcdir}/build-embed
+ cd ${srcdir}/build-embed
+ ./configure ${phpconfig} \
+ --disable-cli \
+ --enable-embed=shared \
+ ${phpextensions}
+ make
+
+ # pear
+ cp -a ${srcdir}/build-php ${srcdir}/build-pear
+ cd ${srcdir}/build-pear
+ ./configure ${phpconfig} \
+ --disable-cgi \
+ --with-readline \
+ --enable-pcntl \
+ --with-pear \
+ ${phpextensions}
+ make
+}
+
+# check() {
+# cd ${srcdir}/build-php
+# make test
+# }
+
+package_php() {
+ pkgdesc='An HTML-embedded scripting language'
+ depends=('pcre' 'libxml2' 'bzip2' 'curl')
+ replaces=('php-fileinfo' 'php-gmp' 'php-curl')
+ provides=('php-fileinfo' 'php-gmp' 'php-curl')
+ conflicts=('php-fileinfo' 'php-gmp' 'php-curl')
+ backup=('etc/php/php.ini')
+
+ cd ${srcdir}/build-php
+ make -j1 INSTALL_ROOT=${pkgdir} install
+ install -d -m755 ${pkgdir}/usr/share/pear
+ # install php.ini
+ install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/php/php.ini
+ install -d -m755 ${pkgdir}/etc/php/conf.d/
+
+ # remove static modules
+ rm -f ${pkgdir}/usr/lib/php/modules/*.a
+ # remove modules provided by sub packages
+ rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
+ # remove empty directory
+ rmdir ${pkgdir}/usr/include/php/include
+}
+
+package_php-cgi() {
+ pkgdesc='CGI and FCGI SAPI for PHP'
+ depends=('php')
+
+ install -D -m755 ${srcdir}/build-cgi/sapi/cgi/php-cgi ${pkgdir}/usr/bin/php-cgi
+}
+
+package_php-apache() {
+ pkgdesc='Apache SAPI for PHP'
+ depends=('php' 'apache')
+ backup=('etc/httpd/conf/extra/php5_module.conf')
+
+ install -D -m755 ${srcdir}/build-apache/libs/libphp5.so ${pkgdir}/usr/lib/httpd/modules/libphp5.so
+ install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php5_module.conf
+}
+
+package_php-fpm() {
+ pkgdesc='FastCGI Process Manager for PHP'
+ depends=('php')
+ backup=('etc/php/php-fpm.conf')
+
+ install -D -m755 ${srcdir}/build-fpm/sapi/fpm/php-fpm ${pkgdir}/usr/sbin/php-fpm
+ install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.8 ${pkgdir}/usr/share/man/man8/php-fpm.8
+ install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.conf ${pkgdir}/etc/php/php-fpm.conf
+ install -D -m755 ${srcdir}/rc.d.php-fpm ${pkgdir}/etc/rc.d/php-fpm
+ install -D -m644 ${srcdir}/logrotate.d.php-fpm ${pkgdir}/etc/logrotate.d/php-fpm
+ install -d -m755 ${pkgdir}/etc/php/fpm.d
+}
+
+package_php-embed() {
+ pkgdesc='Embed SAPI for PHP'
+ depends=('php')
+
+ install -D -m755 ${srcdir}/build-embed/libs/libphp5.so ${pkgdir}/usr/lib/libphp5.so
+ install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/sapi/embed/php_embed.h ${pkgdir}/usr/include/php/sapi/embed/php_embed.h
+}
+
+package_php-pear() {
+ pkgdesc='PHP Extension and Application Repository'
+ depends=('php')
+ backup=('etc/php/pear.conf')
+
+ cd ${srcdir}/build-pear
+ make -j1 install-pear INSTALL_ROOT=${pkgdir}
+ local i
+ while read i; do
+ [ ! -e "$i" ] || rm -rf "$i"
+ done < <(find ${pkgdir} -name '.*')
+}
+
+package_php-enchant() {
+ depends=('php' 'enchant')
+ pkgdesc='enchant module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so
+}
+
+package_php-gd() {
+ depends=('php' 'libpng' 'libjpeg' 'freetype2')
+ pkgdesc='gd module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so
+}
+
+package_php-intl() {
+ depends=('php' 'icu')
+ pkgdesc='intl module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so
+}
+
+package_php-ldap() {
+ depends=('php' 'libldap')
+ pkgdesc='ldap module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/ldap.so ${pkgdir}/usr/lib/php/modules/ldap.so
+}
+
+package_php-mcrypt() {
+ depends=('php' 'libmcrypt' 'libltdl')
+ pkgdesc='mcrypt module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/mcrypt.so ${pkgdir}/usr/lib/php/modules/mcrypt.so
+}
+
+package_php-mssql() {
+ depends=('php' 'freetds')
+ pkgdesc='mssql module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/mssql.so ${pkgdir}/usr/lib/php/modules/mssql.so
+}
+
+package_php-odbc() {
+ depends=('php' 'unixodbc')
+ pkgdesc='ODBC modules for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so
+ install -D -m755 ${srcdir}/build-php/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so
+}
+
+package_php-pgsql() {
+ depends=('php' 'postgresql-libs')
+ pkgdesc='PostgreSQL modules for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so
+ install -D -m755 ${srcdir}/build-php/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so
+}
+
+package_php-pspell() {
+ depends=('php' 'aspell')
+ pkgdesc='pspell module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so
+}
+
+package_php-snmp() {
+ depends=('php' 'net-snmp')
+ pkgdesc='snmp module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so
+}
+
+package_php-sqlite() {
+ depends=('php' 'sqlite3')
+ pkgdesc='sqlite3 module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so
+ install -D -m755 ${srcdir}/build-php/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so
+}
+
+package_php-tidy() {
+ depends=('php' 'tidyhtml')
+ pkgdesc='tidy module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so
+}
+
+package_php-xsl() {
+ depends=('php' 'libxslt')
+ pkgdesc='xsl module for PHP'
+ install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
+}
diff --git a/staging/php/apache.conf b/staging/php/apache.conf
new file mode 100644
index 000000000..c3ca0aad5
--- /dev/null
+++ b/staging/php/apache.conf
@@ -0,0 +1,13 @@
+# Required modules: dir_module, php5_module
+
+<IfModule dir_module>
+ <IfModule php5_module>
+ DirectoryIndex index.php index.html
+ <FilesMatch "\.php$">
+ SetHandler application/x-httpd-php
+ </FilesMatch>
+ <FilesMatch "\.phps$">
+ SetHandler application/x-httpd-php-source
+ </FilesMatch>
+ </IfModule>
+</IfModule>
diff --git a/staging/php/logrotate.d.php-fpm b/staging/php/logrotate.d.php-fpm
new file mode 100644
index 000000000..7a1ba2597
--- /dev/null
+++ b/staging/php/logrotate.d.php-fpm
@@ -0,0 +1,6 @@
+/var/log/php-fpm.log {
+ missingok
+ postrotate
+ /etc/rc.d/php-fpm logrotate >/dev/null || true
+ endscript
+}
diff --git a/staging/php/php-fpm.conf.in.patch b/staging/php/php-fpm.conf.in.patch
new file mode 100644
index 000000000..b4dd32f96
--- /dev/null
+++ b/staging/php/php-fpm.conf.in.patch
@@ -0,0 +1,80 @@
+--- sapi/fpm/php-fpm.conf.in 2011-07-04 23:22:56.000000000 +0200
++++ sapi/fpm/php-fpm.conf.in 2011-08-12 16:56:23.686606725 +0200
+@@ -12,7 +12,7 @@
+ ; Relative path can also be used. They will be prefixed by:
+ ; - the global prefix if it's been set (-p arguement)
+ ; - @prefix@ otherwise
+-;include=etc/fpm.d/*.conf
++;include=/etc/php/fpm.d/*.conf
+
+ ;;;;;;;;;;;;;;;;;;
+ ; Global Options ;
+@@ -22,7 +22,7 @@
+ ; Pid file
+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
+ ; Default Value: none
+-;pid = run/php-fpm.pid
++pid = run/php-fpm/php-fpm.pid
+
+ ; Error log file
+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
+@@ -102,7 +102,8 @@
+ ; specific port;
+ ; '/path/to/unix/socket' - to listen on a unix socket.
+ ; Note: This value is mandatory.
+-listen = 127.0.0.1:9000
++;listen = 127.0.0.1:9000
++listen = /var/run/php-fpm/php-fpm.sock
+
+ ; Set listen(2) backlog. A value of '-1' means unlimited.
+ ; Default Value: 128 (-1 on FreeBSD and OpenBSD)
+@@ -121,9 +122,9 @@
+ ; BSD-derived systems allow connections regardless of permissions.
+ ; Default Values: user and group are set as the running user
+ ; mode is set to 0666
+-;listen.owner = @php_fpm_user@
+-;listen.group = @php_fpm_group@
+-;listen.mode = 0666
++listen.owner = @php_fpm_user@
++listen.group = @php_fpm_group@
++listen.mode = 0660
+
+ ; Unix user/group of processes
+ ; Note: The user is mandatory. If the group is not set, the default user's group
+@@ -163,23 +164,23 @@
+ ; The number of child processes created on startup.
+ ; Note: Used only when pm is set to 'dynamic'
+ ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
+-;pm.start_servers = 20
++pm.start_servers = 20
+
+ ; The desired minimum number of idle server processes.
+ ; Note: Used only when pm is set to 'dynamic'
+ ; Note: Mandatory when pm is set to 'dynamic'
+-;pm.min_spare_servers = 5
++pm.min_spare_servers = 5
+
+ ; The desired maximum number of idle server processes.
+ ; Note: Used only when pm is set to 'dynamic'
+ ; Note: Mandatory when pm is set to 'dynamic'
+-;pm.max_spare_servers = 35
++pm.max_spare_servers = 35
+
+ ; The number of requests each child process should execute before respawning.
+ ; This can be useful to work around memory leaks in 3rd party libraries. For
+ ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
+ ; Default Value: 0
+-;pm.max_requests = 500
++pm.max_requests = 500
+
+ ; The URI to view the FPM status page. If this value is not set, no URI will be
+ ; recognized as a status page. By default, the status page shows the following
+@@ -333,7 +334,7 @@
+ ; Chdir to this directory at the start.
+ ; Note: relative path can be used.
+ ; Default Value: current directory or / when chroot
+-;chdir = /var/www
++;chdir = /srv/http
+
+ ; Redirect worker stdout and stderr into main error log. If not set, stdout and
+ ; stderr will be redirected to /dev/null according to FastCGI specs.
diff --git a/staging/php/php.ini.patch b/staging/php/php.ini.patch
new file mode 100644
index 000000000..46c842921
--- /dev/null
+++ b/staging/php/php.ini.patch
@@ -0,0 +1,126 @@
+--- php.ini-production 2011-02-09 01:25:44.000000000 +0100
++++ php.ini-production 2011-03-19 11:11:44.496987763 +0100
+@@ -376,7 +376,7 @@
+ ; or per-virtualhost web server configuration file. This directive is
+ ; *NOT* affected by whether Safe Mode is turned On or Off.
+ ; http://php.net/open-basedir
+-;open_basedir =
++open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/
+
+ ; This directive allows you to disable certain functions for security reasons.
+ ; It receives a comma-delimited list of function names. This directive is
+@@ -781,7 +781,7 @@
+ ;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ ; UNIX: "/path1:/path2"
+-;include_path = ".:/php/includes"
++include_path = ".:/usr/share/pear"
+ ;
+ ; Windows: "\path1;\path2"
+ ;include_path = ".;c:\php\includes"
+@@ -804,7 +804,7 @@
+
+ ; Directory in which the loadable extensions (modules) reside.
+ ; http://php.net/extension-dir
+-; extension_dir = "./"
++extension_dir = "/usr/lib/php/modules/"
+ ; On windows:
+ ; extension_dir = "ext"
+
+@@ -938,53 +938,49 @@
+ ; If you only provide the name of the extension, PHP will look for it in its
+ ; default extension directory.
+ ;
+-; Windows Extensions
+-; Note that ODBC support is built in, so no dll is needed for it.
+-; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
+-; extension folders as well as the separate PECL DLL download (PHP 5).
+-; Be sure to appropriately set the extension_dir directive.
+-;
+-;extension=php_bz2.dll
+-;extension=php_curl.dll
+-;extension=php_fileinfo.dll
+-;extension=php_gd2.dll
+-;extension=php_gettext.dll
+-;extension=php_gmp.dll
+-;extension=php_intl.dll
+-;extension=php_imap.dll
+-;extension=php_interbase.dll
+-;extension=php_ldap.dll
+-;extension=php_mbstring.dll
+-;extension=php_exif.dll ; Must be after mbstring as it depends on it
+-;extension=php_mysql.dll
+-;extension=php_mysqli.dll
+-;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
+-;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client
+-;extension=php_openssl.dll
+-;extension=php_pdo_firebird.dll
+-;extension=php_pdo_mssql.dll
+-;extension=php_pdo_mysql.dll
+-;extension=php_pdo_oci.dll
+-;extension=php_pdo_odbc.dll
+-;extension=php_pdo_pgsql.dll
+-;extension=php_pdo_sqlite.dll
+-;extension=php_pgsql.dll
+-;extension=php_pspell.dll
+-;extension=php_shmop.dll
+-
+-; The MIBS data available in the PHP distribution must be installed.
+-; See http://www.php.net/manual/en/snmp.installation.php
+-;extension=php_snmp.dll
+-
+-;extension=php_soap.dll
+-;extension=php_sockets.dll
+-;extension=php_sqlite.dll
+-;extension=php_sqlite3.dll
+-;extension=php_sybase_ct.dll
+-;extension=php_tidy.dll
+-;extension=php_xmlrpc.dll
+-;extension=php_xsl.dll
+-;extension=php_zip.dll
++;extension=bcmath.so
++;extension=bz2.so
++;extension=calendar.so
++extension=curl.so
++;extension=dba.so
++;extension=enchant.so
++;extension=exif.so
++;extension=ftp.so
++;extension=gd.so
++extension=gettext.so
++;extension=gmp.so
++;extension=iconv.so
++;extension=imap.so
++;extension=intl.so
++extension=json.so
++;extension=ldap.so
++;extension=mcrypt.so
++;extension=mssql.so
++;extension=mysqli.so
++;extension=mysql.so
++;extension=odbc.so
++;extension=openssl.so
++;extension=pdo_mysql.so
++;extension=pdo_odbc.so
++;extension=pdo_pgsql.so
++;extension=pdo_sqlite.so
++;extension=pgsql.so
++;extension=phar.so
++;extension=posix.so
++;extension=pspell.so
++;extension=shmop.so
++;extension=snmp.so
++;extension=soap.so
++;extension=sockets.so
++;extension=sqlite3.so
++;extension=sqlite.so
++;extension=sysvmsg.so
++;extension=sysvsem.so
++;extension=sysvshm.so
++;extension=tidy.so
++;extension=xmlrpc.so
++;extension=xsl.so
++;extension=zip.so
+
+ ;;;;;;;;;;;;;;;;;;;
+ ; Module Settings ;
diff --git a/staging/php/rc.d.php-fpm b/staging/php/rc.d.php-fpm
new file mode 100644
index 000000000..54bcf4d5b
--- /dev/null
+++ b/staging/php/rc.d.php-fpm
@@ -0,0 +1,158 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+
+wait_for_pid () {
+ try=0
+ while test $try -lt 35 ; do
+ case "$1" in
+ 'created')
+ if [ -f "$2" ] ; then
+ try=''
+ break
+ fi
+ ;;
+ 'removed')
+ if [ ! -f "$2" ] ; then
+ try=''
+ break
+ fi
+ ;;
+ esac
+
+ stat_append '.'
+ try=`expr $try + 1`
+ sleep 1
+ done
+}
+
+test_config() {
+ stat_busy 'Checking configuration'
+ if [ $(id -u) -ne 0 ]; then
+ stat_append '(This script must be run as root)'
+ stat_die
+ fi
+
+ if [ ! -r /etc/php/php-fpm.conf ]; then
+ stat_append '(/etc/php/php-fpm.conf not found)'
+ stat_die
+ fi
+
+ local test=$(/usr/sbin/php-fpm -t 2>&1)
+ if [ $? -gt 0 ]; then
+ stat_append '(error in /etc/php/php-fpm.conf)'
+ stat_die
+ elif echo $test | grep -qi 'error'; then
+ stat_append '(error in /etc/php/php.ini)'
+ stat_die
+ fi
+
+ [ -d /var/run/php-fpm ] || install -d -m755 /var/run/php-fpm
+
+ stat_done
+}
+
+case "$1" in
+ start)
+ test_config
+ stat_busy 'Starting php-fpm'
+
+ /usr/sbin/php-fpm
+
+ if [ "$?" != 0 ] ; then
+ stat_fail
+ exit 1
+ fi
+
+ wait_for_pid created /var/run/php-fpm/php-fpm.pid
+
+ if [ -n "$try" ] ; then
+ stat_fail
+ exit 1
+ else
+ add_daemon php-fpm
+ stat_done
+ fi
+ ;;
+
+ stop)
+ test_config
+ stat_busy 'Gracefully shutting down php-fpm'
+
+ if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then
+ stat_fail
+ exit 1
+ fi
+
+ kill -QUIT `cat /var/run/php-fpm/php-fpm.pid`
+
+ wait_for_pid removed /var/run/php-fpm.pid
+
+ if [ -n "$try" ] ; then
+ stat_fail
+ exit 1
+ else
+ rm_daemon php-fpm
+ stat_done
+ fi
+ ;;
+
+ force-quit)
+ stat_busy 'Terminating php-fpm'
+
+ if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then
+ stat_fail
+ exit 1
+ fi
+
+ kill -TERM `cat /var/run/php-fpm/php-fpm.pid`
+
+ wait_for_pid removed /var/run/php-fpm/php-fpm.pid
+
+ if [ -n "$try" ] ; then
+ stat_fail
+ exit 1
+ else
+ rm_daemon php-fpm
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+
+ reload)
+ test_config
+ stat_busy 'Reload service php-fpm'
+
+ if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then
+ stat_fail
+ exit 1
+ fi
+
+ kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`
+ stat_done
+ ;;
+
+ logrotate)
+ stat_busy 'Reopen php-fpm log'
+
+ if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then
+ stat_fail
+ exit 1
+ fi
+
+ kill -USR1 `cat /var/run/php-fpm/php-fpm.pid`
+ stat_done
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|force-quit|restart|reload|logrotate}"
+ exit 1
+ ;;
+
+esac
diff --git a/staging/pyqt/PKGBUILD b/staging/pyqt/PKGBUILD
new file mode 100644
index 000000000..2f25ac7ed
--- /dev/null
+++ b/staging/pyqt/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 145129 2011-12-17 09:34:44Z andrea $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net>
+
+pkgbase=pyqt
+pkgname=('pyqt' 'python2-pyqt')
+pkgver=4.8.6
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://riverbankcomputing.co.uk/software/pyqt/intro"
+license=('GPL')
+makedepends=('qt' 'python-sip' 'dbus-python' 'python2-sip' 'phonon'
+ 'python-opengl' 'qt-assistant-compat' 'qtwebkit')
+source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz")
+md5sums=('9bfd7b08b8e438b83cc50d5c58191f97')
+
+build() {
+ cd "${srcdir}"
+ cp -r PyQt-x11-gpl-${pkgver} Py2Qt-x11-gpl-${pkgver}
+
+ cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
+ python configure.py \
+ --confirm-license \
+ --qsci-api
+
+ # Thanks Gerardo for the rpath fix
+ find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
+
+ make
+
+ ### Python2 version ###
+ cd "${srcdir}/Py2Qt-x11-gpl-${pkgver}"
+ python2 configure.py \
+ --confirm-license \
+ -v /usr/share/sip \
+ --qsci-api
+
+ # Thanks Gerardo for the rpath fix
+ find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
+
+ make
+}
+
+package_pyqt(){
+ pkgdesc="A set of Python 3.x bindings for the Qt toolkit"
+ depends=('qtwebkit' 'python-sip')
+ optdepends=('phonon: enable audio and video in PyQt applications'
+ 'qscintilla: QScintilla API'
+ 'qt-assistant-compat: add PyQt online help in Qt Assistant')
+ replaces=('python-qt')
+ provides=('python-qt')
+
+ cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
+ # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
+ make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
+}
+
+package_python2-pyqt(){
+ pkgdesc="A set of Python 2.x bindings for the Qt toolkit"
+ depends=('pyqt' 'python2-sip' 'dbus-python')
+ optdepends=('phonon: enable audio and video in PyQt applications'
+ 'python-opengl: enable OpenGL 3D graphics in PyQt applications'
+ 'qscintilla: QScintilla API'
+ 'qt-assistant-compat: add PyQt online help in Qt Assistant')
+ replaces=('python2-qt')
+ provides=('python2-qt')
+ options=('!emptydirs')
+
+ cd "${srcdir}/Py2Qt-x11-gpl-${pkgver}"
+ # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
+ make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
+
+ # Provided by pyqt
+ rm ${pkgdir}/usr/bin/{pylupdate4,pyrcc4,pyuic4}
+ rm ${pkgdir}/usr/lib/qt/plugins/designer/libpythonplugin.so
+ rm ${pkgdir}/usr/share/qt/qsci/api/python/PyQt4.api
+}
diff --git a/staging/qt/PKGBUILD b/staging/qt/PKGBUILD
new file mode 100644
index 000000000..095469bd0
--- /dev/null
+++ b/staging/qt/PKGBUILD
@@ -0,0 +1,127 @@
+# $Id: PKGBUILD 145101 2011-12-17 02:20:56Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgbase=qt
+pkgname=('qt' 'qt-private-headers')
+pkgver=4.8.0
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL')
+makedepends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus'
+ 'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
+ 'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils' 'mesa' 'postgresql-libs'
+ 'mysql' 'unixodbc' 'cups' 'gtk2')
+options=('!libtool')
+_pkgfqn="${pkgbase}-everywhere-opensource-src-${pkgver}"
+source=("http://get.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz"
+ 'assistant.desktop' 'designer.desktop' 'linguist.desktop'
+ 'qtconfig.desktop')
+md5sums=('e8a5fdbeba2927c948d9f477a6abe904'
+ 'fc211414130ab2764132e7370f8e5caa'
+ '85179f5e0437514f8639957e1d8baf62'
+ 'f11852b97583610f3dbb669ebc3e21bc'
+ '6b771c8a81dd90b45e8a79afa0e5bbfd')
+
+build() {
+ cd "${srcdir}"/${_pkgfqn}
+
+ export QT4DIR="${srcdir}"/${_pkgfqn}
+ export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
+
+ sed -i "s|-O2|${CXXFLAGS}|" mkspecs/common/g++-base.conf
+ sed -i "/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g" mkspecs/common/gcc-base-unix.conf
+ sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g" mkspecs/common/gcc-base.conf
+
+ ./configure -confirm-license -opensource \
+ -prefix /usr \
+ -docdir /usr/share/doc/qt \
+ -plugindir /usr/lib/qt/plugins \
+ -importdir /usr/lib/qt/imports \
+ -datadir /usr/share/qt \
+ -translationdir /usr/share/qt/translations \
+ -sysconfdir /etc \
+ -examplesdir /usr/share/doc/qt/examples \
+ -demosdir /usr/share/doc/qt/demos \
+ -plugin-sql-{psql,mysql,sqlite,odbc} \
+ -system-sqlite \
+ -no-phonon \
+ -no-phonon-backend \
+ -no-webkit \
+ -no-declarative-debug \
+ -graphicssystem raster \
+ -openssl-linked \
+ -nomake demos \
+ -nomake examples \
+ -nomake docs \
+ -silent \
+ -no-rpath \
+ -optimized-qmake \
+ -reduce-relocations \
+ -dbus-linked \
+ -no-openvg
+ make
+}
+
+package_qt() {
+ pkgdesc='A cross-platform application and UI framework'
+ depends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus'
+ 'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
+ 'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils')
+ optdepends=('postgresql-libs: PostgreSQL driver'
+ 'libmysqlclient: MySQL driver'
+ 'unixodbc: ODBC driver'
+ 'libxinerama: Xinerama support'
+ 'libxcursor: Xcursor support'
+ 'libxfixes: Xfixes support')
+ install='qt.install'
+
+ cd "${srcdir}"/${_pkgfqn}
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # install missing icons and desktop files
+ for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
+ size=$(echo $(basename ${icon}) | cut -d- -f2)
+ install -p -D -m644 ${icon} \
+ "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png"
+ done
+ install -p -D -m644 src/gui/dialogs/images/qtlogo-64.png \
+ "${pkgdir}/usr/share/icons/hicolor/64x64/apps/qtlogo.png"
+ install -p -D -m644 tools/assistant/tools/assistant/images/assistant.png \
+ "${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png"
+ install -p -D -m644 tools/designer/src/designer/images/designer.png \
+ "${pkgdir}/usr/share/icons/hicolor/128x128/apps/designer.png"
+ install -d "${pkgdir}/usr/share/applications"
+ install -m644 "${srcdir}"/{linguist,designer,assistant,qtconfig}.desktop \
+ "${pkgdir}/usr/share/applications/"
+
+ # install license addition
+ install -D -m644 LGPL_EXCEPTION.txt \
+ ${pkgdir}/usr/share/licenses/qt/LGPL_EXCEPTION.txt
+
+ # Fix wrong path in pkgconfig files
+ find "${pkgdir}/usr/lib/pkgconfig" -type f -name '*.pc' \
+ -exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \;
+
+ # Fix wrong path in prl files
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
+}
+
+package_qt-private-headers(){
+ pkgdesc="Qt private headers for development"
+ depends=("qt=${pkgver}")
+
+ install -d "${pkgdir}"/usr/include/{QtCore,QtDeclarative,QtGui,QtScript}
+ install -d "${pkgdir}"/usr/src/{corelib,declarative,gui,script}
+
+ for i in QtCore QtDeclarative QtGui QtScript; do
+ cp -r "${srcdir}"/${_pkgfqn}/include/${i}/private/ \
+ "${pkgdir}"/usr/include/${i}/
+ done
+
+ for i in corelib declarative gui script; do
+ cp -r "${srcdir}"/${_pkgfqn}/src/${i} "${pkgdir}"/usr/src/
+ done
+}
diff --git a/staging/qt/assistant.desktop b/staging/qt/assistant.desktop
new file mode 100644
index 000000000..a9e98c44b
--- /dev/null
+++ b/staging/qt/assistant.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt Assistant
+Comment=Shows Qt documentation and examples
+Exec=/usr/bin/assistant
+Icon=assistant
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;Documentation;
diff --git a/staging/qt/designer.desktop b/staging/qt/designer.desktop
new file mode 100644
index 000000000..9b7b6e9aa
--- /dev/null
+++ b/staging/qt/designer.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Qt Designer
+GenericName=Interface Designer
+Comment=Design GUIs for Qt applications
+Exec=/usr/bin/designer
+Icon=designer
+MimeType=application/x-designer;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
diff --git a/staging/qt/linguist.desktop b/staging/qt/linguist.desktop
new file mode 100644
index 000000000..8cbe86599
--- /dev/null
+++ b/staging/qt/linguist.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Qt Linguist
+Comment=Add translations to Qt applications
+Exec=/usr/bin/linguist
+Icon=linguist
+MimeType=text/vnd.trolltech.linguist;application/x-linguist;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
diff --git a/staging/qt/qt.install b/staging/qt/qt.install
new file mode 100644
index 000000000..5495fb1b5
--- /dev/null
+++ b/staging/qt/qt.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/staging/qt/qtconfig.desktop b/staging/qt/qtconfig.desktop
new file mode 100644
index 000000000..46dcf9e3d
--- /dev/null
+++ b/staging/qt/qtconfig.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Qt Config
+Comment=Configure Qt behavior, styles, fonts
+Exec=/usr/bin/qtconfig
+Icon=qtlogo
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Settings;
+NoDisplay=true
diff --git a/staging/qt3/PKGBUILD b/staging/qt3/PKGBUILD
new file mode 100644
index 000000000..a10f5f15f
--- /dev/null
+++ b/staging/qt3/PKGBUILD
@@ -0,0 +1,133 @@
+# $Id: PKGBUILD 145099 2011-12-17 01:36:17Z eric $
+# Maintainer: Eric BĂ©langer <eric@archlinux.org>
+
+pkgname=qt3
+pkgver=3.3.8
+pkgrel=21
+pkgdesc="The QT3 gui toolkit"
+arch=('i686' 'x86_64')
+url="http://www.trolltech.com/products/qt/index.html"
+license=('GPL')
+depends=('libpng' 'libxmu' 'libxcursor' 'libxinerama' 'mesa' 'libxft'
+ 'libxrandr' 'libmng')
+makedepends=('mysql' 'postgresql' 'unixodbc' 'sqlite3')
+optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc')
+options=('!libtool')
+install=qt.install
+source=(ftp://ftp.trolltech.com/qt/source/qt-x11-free-${pkgver}.tar.bz2
+ qt.profile qt3-png14.patch qt-copy-kde-patches.tar.bz2
+ qt-patches.tar.bz2 utf8-bug-qt3.diff qt-font-default-subst.diff
+ mysql.patch eastern_asian_languagues.diff qt-odbc.patch gcc-4.6.patch)
+sha1sums=('91b192cb8e80679607d24ae35d6e20ed68d149d7'
+ 'd2e257a9011208b2cb81b9cf47915b9a2f9dab83'
+ 'c8ea644266f4d6d6be9adf894f03138b8eca3fc2'
+ '9cb2e5bec782069692ee337cfa171539d9d73753'
+ '116afa0e737bdf27ea27f9b3653aeb56db9ec151'
+ 'ca5ecb29c7f1c826d48703339a3371038e306bb7'
+ 'd928ff55adb52c4bab2fb268df022651551cd70c'
+ 'bb6aad81cce143c23ff7840b1d79f6b2007a0c04'
+ '40c7b8f06a21f809ddeb8b5560e9da63ccac6a17'
+ '1346320614f6f86fbeb10b9fbad721dea29f5b61'
+ 'd9b83b8f6f9c8bd98d290dc1d0e9913a00b62c3f')
+
+# qt-copy-kde-patches come from http://websvn.kde.org/trunk/qt-copy/patches/
+# other qt-patches come from fedora and gentoo
+
+build() {
+ unset QMAKESPEC
+ export QTDIR="${srcdir}"/qt-x11-free-${pkgver}
+ export PATH=${QTDIR}/bin:${PATH}
+ export LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH}
+ export QMAKESPEC=$QTDIR/mkspecs/linux-g++
+ cd "${srcdir}"/qt-x11-free-${pkgver}
+ # apply qt patches from kde.org
+ for i in ../qt-copy-kde-patches/*; do
+ patch -Np0 -i $i
+ done
+ # apply other qt patches and one security fix from debian/gentoo
+ for i in ../qt-patches/*; do
+ patch -Np1 -i $i
+ done
+ # fix utf8 bug
+ patch -p0 -i "${srcdir}"/utf8-bug-qt3.diff
+ # fix asia fonts
+ patch -p0 -i "${srcdir}"/qt-font-default-subst.diff
+ # fix segfaults on exit when using mysql DB driver
+ patch -p0 -i "${srcdir}"/mysql.patch
+ # fix CJK font/chars select error (FS#11245)
+ patch -p1 -i "${srcdir}"/eastern_asian_languagues.diff
+ # fix build problem against new unixODBC
+ patch -p1 -i "${srcdir}"/qt-odbc.patch
+ # fix build with gcc 4.6.0
+ patch -p1 -i "${srcdir}"/gcc-4.6.patch
+
+ patch -p0 -i "${srcdir}"/qt3-png14.patch
+ # start compiling qt
+ sed -i 's|-cp -P -f|-cp -L -f|' qmake/Makefile.unix
+ rm -rf doc/html examples tutorial
+ sed -i "s|sub-tutorial sub-examples||" Makefile
+ sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++/qmake.conf
+ sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-32/qmake.conf
+ sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-64/qmake.conf
+ sed -i "s|-I. |$CXXFLAGS -I. |" qmake/Makefile.unix
+ sed -i "s|read acceptance|acceptance=yes|" configure
+
+ # remove unwanted mkspecs
+ rm -rf mkspecs/{*aix*,*bsd*,cygwin*,dgux*,darwin*,hpux*,hurd*,irix*,lynxos*,macx*,qnx*,reliant*,sco*,solaris*,tru64*,unixware*,win32*}
+
+ if [ "$CARCH" = "x86_64" ]; then
+ export ARCH="-64"
+ else unset ARCH
+ fi
+
+ ./configure -prefix /opt/qt \
+ -platform linux-g++$ARCH \
+ -system-zlib \
+ -qt-gif \
+ -release \
+ -shared \
+ -sm \
+ -nis \
+ -thread \
+ -stl \
+ -system-lib{png,jpeg,mng} \
+ -no-g++-exceptions \
+ -plugin-sql-{mysql,psql,sqlite,odbc}
+
+ # fix /opt/qt/lib path
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/src/Makefile
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/designer/designer/Makefile
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/designer/editor/Makefile
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/assistant/lib/Makefile
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/designer/uilib/Makefile
+
+ cd "${srcdir}"/qt-x11-free-${pkgver}
+ make -C qmake
+ cd "${srcdir}"/qt-x11-free-${pkgver}/plugins/src/sqldrivers/mysql
+ "${srcdir}"/qt-x11-free-${pkgver}/bin/qmake -o Makefile "INCPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro
+ cd "${srcdir}"/qt-x11-free-${pkgver}/plugins/src/sqldrivers/psql
+ "${srcdir}"/qt-x11-free-${pkgver}/bin/qmake -o Makefile "INCPATH+=/usr/src/include /usr/include/postgresql/server" "LIBS+=-L/usr/lib -lpq" psql.pro
+
+ cd "${srcdir}"/qt-x11-free-${pkgver}
+ # fix the broken makefiles
+ #sed -i 's|[[:space:]]*strip.*doc/html.*$|#|g' src/Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}"/qt-x11-free-${pkgver}
+ make INSTALL_ROOT="${pkgdir}" install
+ rm -rf "${pkgdir}"/opt/qt/{phrasebooks,templates,translations}
+ sed -i "s|-L${srcdir}/qt-x11-free-${pkgver}/lib ||g" "${pkgdir}"/opt/qt/lib/*.prl
+ install -D -m755 qmake/qmake "${pkgdir}"/opt/qt/bin/qmake
+ install -D -m755 "${srcdir}"/qt.profile "${pkgdir}"/etc/profile.d/qt3.sh
+ ln -sf /opt/qt/bin/qtconfig "${pkgdir}"/opt/qt/bin/qt3config
+ rm -f "${pkgdir}"/opt/qt/mkspecs/linux-g++$ARCH/linux-g++$ARCH
+
+ # install man pages
+ install -d -m755 "${pkgdir}"/opt/qt/man
+ cp -r "${srcdir}"/qt-x11-free-${pkgver}/doc/man/{man1,man3} "${pkgdir}"/opt/qt/man/
+
+ install -d -m755 "${pkgdir}"/etc/ld.so.conf.d/
+ echo '/opt/qt/lib' > "${pkgdir}"/etc/ld.so.conf.d/qt3.conf
+}
diff --git a/staging/qt3/eastern_asian_languagues.diff b/staging/qt3/eastern_asian_languagues.diff
new file mode 100644
index 000000000..7c25eef7d
--- /dev/null
+++ b/staging/qt3/eastern_asian_languagues.diff
@@ -0,0 +1,39 @@
+--- qt-x11-free-3.3.8b/src/kernel/qfontdatabase.cpp 2008-01-15 21:09:13.000000000 +0200
++++ qt-x11-free-3.3.8b/src/kernel/qfontdatabase.cpp 2008-03-10 11:34:22.000000000 +0200
+@@ -966,20 +966,22 @@
+
+ #ifdef Q_WS_X11
+ if (script == QFont::Han) {
+- // modify script according to locale
+- static QFont::Script defaultHan = QFont::UnknownScript;
+- if (defaultHan == QFont::UnknownScript) {
+- QCString locale = setlocale(LC_ALL, NULL);
+- if (locale.contains("ko"))
+- defaultHan = QFont::Han_Korean;
+- else if (locale.contains("zh_TW") || locale.contains("zh_HK"))
+- defaultHan = QFont::Han_TraditionalChinese;
+- else if (locale.contains("zh"))
+- defaultHan = QFont::Han_SimplifiedChinese;
+- else
+- defaultHan = QFont::Han_Japanese;
+- }
+- script = defaultHan;
++ // modify script according to locale
++ static QFont::Script defaultHan;
++ QCString locale = setlocale(LC_ALL, NULL);
++
++ if (locale.contains("ko"))
++ defaultHan = QFont::Han_Korean;
++ else if (locale.contains("zh_TW") || locale.contains("zh_HK"))
++ defaultHan = QFont::Han_TraditionalChinese;
++ else if (locale.contains("zh"))
++ defaultHan = QFont::Han_SimplifiedChinese;
++ else if (locale.contains("ja"))
++ defaultHan = QFont::Han_Japanese;
++ else
++ defaultHan = QFont::Han; // don't change
++
++ script = defaultHan;
+ }
+ #endif
+
diff --git a/staging/qt3/gcc-4.6.patch b/staging/qt3/gcc-4.6.patch
new file mode 100644
index 000000000..bcbffcea6
--- /dev/null
+++ b/staging/qt3/gcc-4.6.patch
@@ -0,0 +1,33 @@
+diff -up qt-x11-free-3.3.8b/src/tools/qmap.h.cstddef qt-x11-free-3.3.8b/src/tools/qmap.h
+--- qt-x11-free-3.3.8b/src/tools/qmap.h.cstddef 2008-01-15 13:09:13.000000000 -0600
++++ qt-x11-free-3.3.8b/src/tools/qmap.h 2011-01-30 21:14:29.275088725 -0600
+@@ -49,6 +49,7 @@
+ #include "qvaluelist.h"
+ #endif // QT_H
+
++#include <cstddef>
+ #ifndef QT_NO_STL
+ #include <iterator>
+ #include <map>
+diff -up qt-x11-free-3.3.8b/src/tools/qvaluelist.h.cstddef qt-x11-free-3.3.8b/src/tools/qvaluelist.h
+--- qt-x11-free-3.3.8b/src/tools/qvaluelist.h.cstddef 2008-01-15 13:09:13.000000000 -0600
++++ qt-x11-free-3.3.8b/src/tools/qvaluelist.h 2011-01-30 21:14:01.765846592 -0600
+@@ -47,6 +47,7 @@
+ #include "qdatastream.h"
+ #endif // QT_H
+
++#include <cstddef>
+ #ifndef QT_NO_STL
+ #include <iterator>
+ #include <list>
+diff -up qt-x11-free-3.3.8b/src/tools/qvaluevector.h.cstddef qt-x11-free-3.3.8b/src/tools/qvaluevector.h
+--- qt-x11-free-3.3.8b/src/tools/qvaluevector.h.cstddef 2008-01-15 13:09:13.000000000 -0600
++++ qt-x11-free-3.3.8b/src/tools/qvaluevector.h 2011-01-30 21:14:01.765846592 -0600
+@@ -45,6 +45,7 @@
+ #include "qdatastream.h"
+ #endif // QT_H
+
++#include <cstddef>
+ #ifndef QT_NO_STL
+ #include <vector>
+ #endif
diff --git a/staging/qt3/mysql.patch b/staging/qt3/mysql.patch
new file mode 100644
index 000000000..5f61edc67
--- /dev/null
+++ b/staging/qt3/mysql.patch
@@ -0,0 +1,47 @@
+--- src/sql/drivers/mysql/qsql_mysql.cpp
++++ src/sql/drivers/mysql/qsql_mysql.cpp
+@@ -37,7 +37,6 @@
+ #include "qsql_mysql.h"
+ #include <private/qsqlextension_p.h>
+
+-#include <qapplication.h>
+ #include <qdatetime.h>
+ #include <qvaluevector.h>
+ #include <qsqlrecord.h>
+@@ -341,14 +340,6 @@ int QMYSQLResult::numRowsAffected()
+ }
+
+ /////////////////////////////////////////////////////////
+-static void qServerEnd()
+-{
+-#ifndef Q_NO_MYSQL_EMBEDDED
+-# if MYSQL_VERSION_ID >= 40000
+- mysql_server_end();
+-# endif // MYSQL_VERSION_ID
+-#endif // Q_NO_MYSQL_EMBEDDED
+-}
+
+ static void qServerInit()
+ {
+@@ -366,9 +357,7 @@ static void qServerInit()
+ qWarning( "QMYSQLDriver::qServerInit: unable to start server." );
+ # endif
+ }
+- qAddPostRoutine(qServerEnd);
+ init = TRUE;
+-
+ # endif // MYSQL_VERSION_ID
+ #endif // Q_NO_MYSQL_EMBEDDED
+ }
+@@ -411,6 +400,11 @@ QMYSQLDriver::~QMYSQLDriver()
+ QSqlOpenExtension *ext = qSqlOpenExtDict()->take( this );
+ delete ext;
+ }
++#ifndef Q_NO_MYSQL_EMBEDDED
++# if MYSQL_VERSION_ID > 40000
++ mysql_server_end();
++# endif
++#endif
+ }
+
+ bool QMYSQLDriver::hasFeature( DriverFeature f ) const
diff --git a/staging/qt3/qt-copy-kde-patches.tar.bz2 b/staging/qt3/qt-copy-kde-patches.tar.bz2
new file mode 100644
index 000000000..19d899963
--- /dev/null
+++ b/staging/qt3/qt-copy-kde-patches.tar.bz2
Binary files differ
diff --git a/staging/qt3/qt-font-default-subst.diff b/staging/qt3/qt-font-default-subst.diff
new file mode 100644
index 000000000..3e286f74e
--- /dev/null
+++ b/staging/qt3/qt-font-default-subst.diff
@@ -0,0 +1,77 @@
+--- src/kernel/qfontdatabase_x11.cpp
++++ src/kernel/qfontdatabase_x11.cpp
+@@ -1589,15 +1589,6 @@ QFontEngine *loadEngine( QFont::Script s
+ if (script == QFont::Latin)
+ // add Euro character
+ FcCharSetAddChar(cs, 0x20ac);
+- if (script == QFont::Han_SimplifiedChinese)
+- FcCharSetAddChar(cs, 0x3400);
+- if (script == QFont::Han_TraditionalChinese){
+- FcCharSetAddChar(cs, 0x3435);
+- FcCharSetAddChar(cs, 0xE000);
+- FcCharSetAddChar(cs, 0xF6B1);
+- }
+- if (script == QFont::MiscellaneousSymbols)
+- FcCharSetAddChar(cs, 0x2714);
+ FcPatternAddCharSet(pattern, FC_CHARSET, cs);
+ FcCharSetDestroy(cs);
+ }
+@@ -1813,7 +1804,11 @@ static QFontEngine *loadFontConfigFont(c
+ FcPatternPrint(pattern);
+ #endif
+
++ // XftFontMatch calls the right ConfigSubstitute variants, but as we use
++ // FcFontMatch/Sort here we have to do it manually.
+ FcConfigSubstitute(0, pattern, FcMatchPattern);
++ XftDefaultSubstitute(QPaintDevice::x11AppDisplay(), QPaintDevice::x11AppScreen(), pattern);
++
+ // qDebug("1: pattern contains:");
+ // FcPatternPrint(pattern);
+
+@@ -1847,10 +1842,6 @@ static QFontEngine *loadFontConfigFont(c
+ value.u.s = (const FcChar8 *)cs.data();
+ FcPatternAddWeak(pattern, FC_FAMILY, value, FcTrue);
+ }
+-#ifdef FONT_MATCH_DEBUG
+- printf("final pattern contains:\n");
+- FcPatternPrint(pattern);
+-#endif
+ }
+
+ if (script != QFont::Unicode) {
+@@ -1860,19 +1851,15 @@ static QFontEngine *loadFontConfigFont(c
+ if (script == QFont::Latin)
+ // add Euro character
+ FcCharSetAddChar(cs, 0x20ac);
+- if (script == QFont::Han_SimplifiedChinese)
+- FcCharSetAddChar(cs, 0x3400);
+- if (script == QFont::Han_TraditionalChinese) {
+- FcCharSetAddChar(cs, 0x3435);
+- FcCharSetAddChar(cs, 0xE000);
+- FcCharSetAddChar(cs, 0xF6B1);
+- }
+- if (script == QFont::MiscellaneousSymbols)
+- FcCharSetAddChar(cs, 0x2714);
+ FcPatternAddCharSet(pattern, FC_CHARSET, cs);
+ FcCharSetDestroy(cs);
+ }
+
++#ifdef FONT_MATCH_DEBUG
++ printf("final pattern contains:\n");
++ FcPatternPrint(pattern);
++#endif
++
+ QFontEngine *fe = 0;
+
+ for( int jj = (FcGetVersion() >= 20392 ? 0 : 1); jj < 2; ++jj ) {
+--- src/kernel/qfontdatabase.cpp
++++ src/kernel/qfontdatabase.cpp
+@@ -554,7 +554,7 @@ static const unsigned short sample_chars
+ // GeometricSymbols,
+ { 0x2500, 0x0 },
+ // MiscellaneousSymbols,
+- { 0x2640, 0x0 },
++ { 0x2640, 0x2714, 0x0 },
+ // EnclosedAndSquare,
+ { 0x2460, 0x0 },
+ // Braille,
diff --git a/staging/qt3/qt-odbc.patch b/staging/qt3/qt-odbc.patch
new file mode 100644
index 000000000..6f21e3cf1
--- /dev/null
+++ b/staging/qt3/qt-odbc.patch
@@ -0,0 +1,19 @@
+diff -up qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp.orig qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp
+--- qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp.orig 2009-02-24 11:32:27.000000000 +0100
++++ qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp 2009-02-24 11:33:43.000000000 +0100
+@@ -57,13 +57,13 @@
+ #endif
+
+ // newer platform SDKs use SQLLEN instead of SQLINTEGER
+-#ifdef SQLLEN
++#if defined(SQLLEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define QSQLLEN SQLLEN
+ #else
+ # define QSQLLEN SQLINTEGER
+ #endif
+
+-#ifdef SQLULEN
++#if defined(SQLULEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define QSQLULEN SQLULEN
+ #else
+ # define QSQLULEN SQLUINTEGER
diff --git a/staging/qt3/qt-patches.tar.bz2 b/staging/qt3/qt-patches.tar.bz2
new file mode 100644
index 000000000..3f4aee171
--- /dev/null
+++ b/staging/qt3/qt-patches.tar.bz2
Binary files differ
diff --git a/staging/qt3/qt.install b/staging/qt3/qt.install
new file mode 100644
index 000000000..6d042daae
--- /dev/null
+++ b/staging/qt3/qt.install
@@ -0,0 +1,12 @@
+post_install() {
+ post_remove
+}
+
+post_upgrade() {
+ post_remove
+}
+
+post_remove() {
+ # this can be removed in future versions
+ sed -e '/\/opt\/qt\/lib/d' -i etc/ld.so.conf
+}
diff --git a/staging/qt3/qt.profile b/staging/qt3/qt.profile
new file mode 100644
index 000000000..ed4d232ae
--- /dev/null
+++ b/staging/qt3/qt.profile
@@ -0,0 +1,4 @@
+export QTDIR=/opt/qt
+export QT_XFT=true
+export PATH=$PATH:$QTDIR/bin
+export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig
diff --git a/staging/qt3/qt3-png14.patch b/staging/qt3/qt3-png14.patch
new file mode 100644
index 000000000..e8a194529
--- /dev/null
+++ b/staging/qt3/qt3-png14.patch
@@ -0,0 +1,33 @@
+--- src/kernel/qpngio.cpp.orig 2010-01-16 22:02:41.000000000 +0100
++++ src/kernel/qpngio.cpp 2010-01-16 22:03:56.000000000 +0100
+@@ -159,7 +159,7 @@
+ image.setColor( i, qRgba(c,c,c,0xff) );
+ }
+ if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
+- const int g = info_ptr->trans_values.gray;
++ const int g = info_ptr->trans_color.gray;
+ if (g < ncols) {
+ image.setAlphaBuffer(TRUE);
+ image.setColor(g, image.color(g) & RGB_MASK);
+@@ -187,7 +187,7 @@
+ info_ptr->palette[i].red,
+ info_ptr->palette[i].green,
+ info_ptr->palette[i].blue,
+- info_ptr->trans[i]
++ info_ptr->trans_alpha[i]
+ )
+ );
+ i++;
+@@ -321,9 +321,9 @@
+ png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)
+ if (image.depth()==32 && png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
+ QRgb trans = 0xFF000000 | qRgb(
+- (info_ptr->trans_values.red << 8 >> bit_depth)&0xff,
+- (info_ptr->trans_values.green << 8 >> bit_depth)&0xff,
+- (info_ptr->trans_values.blue << 8 >> bit_depth)&0xff);
++ (info_ptr->trans_color.red << 8 >> bit_depth)&0xff,
++ (info_ptr->trans_color.green << 8 >> bit_depth)&0xff,
++ (info_ptr->trans_color.blue << 8 >> bit_depth)&0xff);
+ for (uint y=0; y<height; y++) {
+ for (uint x=0; x<info_ptr->width; x++) {
+ if (((uint**)jt)[y][x] == trans) {
diff --git a/staging/qt3/utf8-bug-qt3.diff b/staging/qt3/utf8-bug-qt3.diff
new file mode 100644
index 000000000..43e84a99f
--- /dev/null
+++ b/staging/qt3/utf8-bug-qt3.diff
@@ -0,0 +1,101 @@
+--- src/codecs/qutfcodec.cpp
++++ src/codecs/qutfcodec.cpp
+@@ -154,6 +154,7 @@
+
+ class QUtf8Decoder : public QTextDecoder {
+ uint uc;
++ uint min_uc;
+ int need;
+ bool headerDone;
+ public:
+@@ -167,8 +168,9 @@
+ result.setLength( len ); // worst case
+ QChar *qch = (QChar *)result.unicode();
+ uchar ch;
++ int error = -1;
+ for (int i=0; i<len; i++) {
+- ch = *chars++;
++ ch = chars[i];
+ if (need) {
+ if ( (ch&0xc0) == 0x80 ) {
+ uc = (uc << 6) | (ch & 0x3f);
+@@ -182,6 +184,8 @@
+ *qch++ = QChar(high);
+ *qch++ = QChar(low);
+ headerDone = TRUE;
++ } else if ((uc < min_uc) || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
++ *qch++ = QChar::replacement;
+ } else {
+ if (headerDone || QChar(uc) != QChar::byteOrderMark)
+ *qch++ = uc;
+@@ -190,6 +194,7 @@
+ }
+ } else {
+ // error
++ i = error;
+ *qch++ = QChar::replacement;
+ need = 0;
+ }
+@@ -200,12 +205,21 @@
+ } else if ((ch & 0xe0) == 0xc0) {
+ uc = ch & 0x1f;
+ need = 1;
++ error = i;
++ min_uc = 0x80;
+ } else if ((ch & 0xf0) == 0xe0) {
+ uc = ch & 0x0f;
+ need = 2;
++ error = i;
++ min_uc = 0x800;
+ } else if ((ch&0xf8) == 0xf0) {
+ uc = ch & 0x07;
+ need = 3;
++ error = i;
++ min_uc = 0x10000;
++ } else {
++ // error
++ *qch++ = QChar::replacement;
+ }
+ }
+ }
+--- src/tools/qstring.cpp
++++ src/tools/qstring.cpp
+@@ -5805,6 +5805,7 @@
+ result.setLength( len ); // worst case
+ QChar *qch = (QChar *)result.unicode();
+ uint uc = 0;
++ uint min_uc = 0;
+ int need = 0;
+ int error = -1;
+ uchar ch;
+@@ -5822,6 +5823,12 @@
+ unsigned short low = uc%0x400 + 0xdc00;
+ *qch++ = QChar(high);
+ *qch++ = QChar(low);
++ } else if (uc < min_uc || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
++ // overlong seqence, UTF16 surrogate or BOM
++ i = error;
++ qch = addOne(qch, result);
++ *qch++ = QChar(0xdbff);
++ *qch++ = QChar(0xde00+((uchar)utf8[i]));
+ } else {
+ *qch++ = uc;
+ }
+@@ -5844,14 +5851,17 @@
+ uc = ch & 0x1f;
+ need = 1;
+ error = i;
++ min_uc = 0x80;
+ } else if ((ch & 0xf0) == 0xe0) {
+ uc = ch & 0x0f;
+ need = 2;
+ error = i;
++ min_uc = 0x800;
+ } else if ((ch&0xf8) == 0xf0) {
+ uc = ch & 0x07;
+ need = 3;
+ error = i;
++ min_uc = 0x10000;
+ } else {
+ // Error
+ qch = addOne(qch, result);
diff --git a/staging/qtwebkit/PKGBUILD b/staging/qtwebkit/PKGBUILD
new file mode 100644
index 000000000..53666ea00
--- /dev/null
+++ b/staging/qtwebkit/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 145102 2011-12-17 02:25:25Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qtwebkit
+pkgver=2.2.0
+pkgrel=3
+arch=('i686' 'x86_64')
+url='http://trac.webkit.org/wiki/QtWebKit'
+pkgdesc='An open source web browser engine (Qt port)'
+license=('LGPL2.1' 'GPL3')
+depends=('qt' 'gperf' 'bison' 'phonon' 'gstreamer0.10-base')
+makedepends=('python2' 'mesa' 'chrpath')
+conflicts=('qt<4.8')
+source=("http://get.qt.nokia.com/${pkgname}/QtWebKit-${pkgver}.tar.gz"
+ 'python2-path.patch')
+sha1sums=('3582f3a8b593140af004a19479f5ec19693b3df7'
+ 'b0ef3d5596171e3900a685df9bcfac3068ad6330')
+
+build() {
+ cd "${srcdir}"/QtWebKit-${pkgver}
+
+ patch -p1 -i "${srcdir}"/python2-path.patch
+
+ cd Tools/Scripts
+ ./build-webkit --qt \
+ --prefix=/usr \
+ --makeargs="${MAKEFLAGS}" \
+ --release \
+ --3d-canvas
+}
+
+package() {
+ cd "${srcdir}"/QtWebKit-${pkgver}
+ make INSTALL_ROOT="${pkgdir}" -C WebKitBuild/Release install
+
+ # Fix RPATH
+ chrpath -r /usr/lib/ "${pkgdir}"/usr/lib/qt/imports/QtWebKit/libqmlwebkitplugin.so
+}
diff --git a/staging/qtwebkit/python2-path.patch b/staging/qtwebkit/python2-path.patch
new file mode 100644
index 000000000..2e270e6fc
--- /dev/null
+++ b/staging/qtwebkit/python2-path.patch
@@ -0,0 +1,29 @@
+--- QtWebKit-2.2.0/Source/JavaScriptCore/DerivedSources.pro~ 2011-10-20 22:39:56.044519075 +0000
++++ QtWebKit-2.2.0/Source/JavaScriptCore/DerivedSources.pro 2011-10-20 22:41:21.302047082 +0000
+@@ -88,5 +88,5 @@
+ retgen.output = $$JSC_GENERATED_SOURCES_DIR/RegExpJitTables.h
+ retgen.wkScript = $$PWD/create_regex_tables
+ retgen.input = retgen.wkScript
+-retgen.commands = python $$retgen.wkScript > ${QMAKE_FILE_OUT}
++retgen.commands = python2 $$retgen.wkScript > ${QMAKE_FILE_OUT}
+ addExtraCompiler(retgen)
+--- QtWebKit-2.2.0/Source/WebCore/CodeGenerators.pri~ 2011-10-20 22:44:23.827225580 +0000
++++ QtWebKit-2.2.0/Source/WebCore/CodeGenerators.pri 2011-10-20 22:44:38.550707819 +0000
+@@ -640,7 +640,7 @@
+ inspectorJSON.output = $${WC_GENERATED_SOURCES_DIR}/Inspector.idl
+ inspectorJSON.input = INSPECTOR_JSON
+ inspectorJSON.wkScript = $$PWD/inspector/generate-inspector-idl
+-inspectorJSON.commands = python $$inspectorJSON.wkScript -o $${WC_GENERATED_SOURCES_DIR}/Inspector.idl $$PWD/inspector/Inspector.json
++inspectorJSON.commands = python2 $$inspectorJSON.wkScript -o $${WC_GENERATED_SOURCES_DIR}/Inspector.idl $$PWD/inspector/Inspector.json
+ inspectorJSON.depends = $$PWD/inspector/generate-inspector-idl
+ inspectorJSON.wkAddOutputToSources = false
+ addExtraCompiler(inspectorJSON)
+@@ -723,7 +723,7 @@
+ entities.output = $${WC_GENERATED_SOURCES_DIR}/HTMLEntityTable.cpp
+ entities.input = HTML_ENTITIES
+ entities.wkScript = $$PWD/html/parser/create-html-entity-table
+-entities.commands = python $$entities.wkScript -o $${WC_GENERATED_SOURCES_DIR}/HTMLEntityTable.cpp $$HTML_ENTITIES
++entities.commands = python2 $$entities.wkScript -o $${WC_GENERATED_SOURCES_DIR}/HTMLEntityTable.cpp $$HTML_ENTITIES
+ entities.clean = ${QMAKE_FILE_OUT}
+ entities.depends = $$PWD/html/parser/create-html-entity-table
+ addExtraCompiler(entities)
diff --git a/staging/redland/PKGBUILD b/staging/redland/PKGBUILD
new file mode 100644
index 000000000..cd9465524
--- /dev/null
+++ b/staging/redland/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 145106 2011-12-17 03:32:44Z eric $
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Contributor: Francois Charette <francois.archlinux.org>
+
+pkgbase=redland
+epoch=1
+pkgname=('redland' 'redland-storage-mysql' 'redland-storage-postgresql' 'redland-storage-virtuoso' 'redland-storage-sqlite')
+pkgver=1.0.15
+pkgrel=2
+url="http://librdf.org/"
+license=("GPL")
+arch=('i686' 'x86_64')
+makedepends=('rasqal>=0.9.26' 'raptor>=2.0.6' 'db>=5.2' 'postgresql-libs' 'libmysqlclient' 'unixodbc' 'sqlite3')
+options=('!libtool')
+source=(http://download.librdf.org/source/$pkgname-$pkgver.tar.gz{,.asc}
+ rpath.diff)
+sha1sums=('e93d6fafaeebdf9f15a1044be6f4a88270f007af'
+ '3aeef38a7247ae33db6a0a19511ef4132240164b'
+ 'f5db05c925b6bcd6402d5abd75c648b137f069c7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --enable-release \
+ --disable-static \
+ --with-raptor=system \
+ --with-rasqal=system \
+ --with-sqlite=3
+
+ # nuke rpath
+ patch -Np0 -i "${srcdir}/rpath.diff"
+
+ make
+}
+
+package_redland() {
+ pkgdesc="Library that provides a high-level interface to RDF data"
+ depends=('rasqal>=0.9.26' 'raptor>=2.0.6' 'libltdl')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ rm -rf "${pkgdir}/usr/lib/redland"
+}
+
+package_redland-storage-mysql() {
+ pkgdesc="MySQL storage support for Redland"
+ depends=('redland' 'libmysqlclient')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ install -dm755 "${pkgdir}/usr/lib/redland"
+ install -m755 src/.libs/librdf_storage_mysql.so "${pkgdir}/usr/lib/redland/librdf_storage_mysql.so"
+}
+
+package_redland-storage-postgresql() {
+ pkgdesc="PostgreSQL storage support for Redland"
+ depends=('redland' 'postgresql-libs')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ install -dm755 "${pkgdir}/usr/lib/redland"
+ install -m755 src/.libs/librdf_storage_postgresql.so "${pkgdir}/usr/lib/redland/"
+}
+
+package_redland-storage-virtuoso() {
+ pkgdesc="Virtuoso storage support for Redland"
+ depends=('redland' 'unixodbc' 'db')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ install -dm755 "${pkgdir}/usr/lib/redland"
+ install -m755 src/.libs/librdf_storage_virtuoso.so "${pkgdir}/usr/lib/redland/"
+}
+
+package_redland-storage-sqlite() {
+ pkgdesc="SQLite storage support for Redland"
+ depends=('redland' 'sqlite3' 'db')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ install -dm755 "${pkgdir}/usr/lib/redland"
+ install -m755 src/.libs/librdf_storage_sqlite.so "${pkgdir}/usr/lib/redland/"
+}
diff --git a/staging/redland/rpath.diff b/staging/redland/rpath.diff
new file mode 100644
index 000000000..831bc80ed
--- /dev/null
+++ b/staging/redland/rpath.diff
@@ -0,0 +1,11 @@
+--- libtool 2011-02-20 10:46:47.000000000 +0100
++++ libtool.new 2011-02-20 10:52:58.285764909 +0100
+@@ -324,7 +324,7 @@
+
+ # Flag to hardcode $libdir into a binary during linking.
+ # This must work even if $libdir does not exist
+-hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
++hardcode_libdir_flag_spec=" "
+
+ # If ld is used when linking, flag to hardcode $libdir into a binary
+ # during linking. This must work even if $libdir does not exist.
diff --git a/staging/unixodbc/PKGBUILD b/staging/unixodbc/PKGBUILD
new file mode 100644
index 000000000..263c8725b
--- /dev/null
+++ b/staging/unixodbc/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 145094 2011-12-16 20:06:58Z andyrtr $
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=unixodbc
+pkgver=2.3.1
+pkgrel=1
+pkgdesc="ODBC is an open specification for providing application developers with a predictable API with which to access Data Sources"
+arch=('i686' 'x86_64')
+license=('GPL2' 'LGPL2.1')
+url="http://www.unixodbc.org/"
+backup=('etc/odbc.ini' 'etc/odbcinst.ini')
+depends=('readline' 'libltdl')
+options=('!libtool')
+source=("http://www.unixodbc.org/unixODBC-$pkgver.tar.gz")
+md5sums=('86788d4006620fa1f171c13d07fdcaab')
+
+build() {
+ cd ${srcdir}/unixODBC-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd ${srcdir}/unixODBC-${pkgver}
+ make DESTDIR=${pkgdir} install
+}