From a45aa8f19ea32f45610dafabfc06c8b7d1ed5cfe Mon Sep 17 00:00:00 2001 From: root Date: Sun, 15 May 2011 22:39:31 +0000 Subject: Sun May 15 22:39:30 UTC 2011 --- extra/bftpd/PKGBUILD | 52 +++++++++++++++++++++++++-------------- extra/bftpd/bftpd.xinetd | 11 +++++++++ extra/ecasound/PKGBUILD | 7 +++--- extra/ecasound/ecasound.changelog | 5 ++++ extra/gnutls/PKGBUILD | 8 +++--- extra/ypbind-mt/PKGBUILD | 9 ++++--- extra/ypserv/PKGBUILD | 6 ++--- 7 files changed, 64 insertions(+), 34 deletions(-) create mode 100644 extra/bftpd/bftpd.xinetd (limited to 'extra') diff --git a/extra/bftpd/PKGBUILD b/extra/bftpd/PKGBUILD index fb9c4aa1a..c8356dcbe 100644 --- a/extra/bftpd/PKGBUILD +++ b/extra/bftpd/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 95186 2010-10-16 23:03:07Z thomas $ +# $Id: PKGBUILD 123903 2011-05-14 09:54:29Z thomas $ # Maintainer: Thomas Baechler pkgname=bftpd -pkgver=3.1 +pkgver=3.4 pkgrel=1 pkgdesc="Small, easy-to-configure FTP server" arch=(i686 x86_64) @@ -10,30 +10,44 @@ url="http://bftpd.sourceforge.net/" license=('GPL') depends=('glibc' 'pam') install=bftpd.install -backup=(etc/bftpd.conf etc/logrotate.d/bftpd etc/pam.d/bftpd) +backup=(etc/bftpd.conf + etc/logrotate.d/bftpd + etc/pam.d/bftpd + etc/xinetd.d/bftpd) source=(http://downloads.sourceforge.net/sourceforge/bftpd/bftpd-$pkgver.tar.gz - bftpd.rc bftpd.logrotate bftpd.pam) -md5sums=('1aeda6f3da2b10dcf5dca1b1d8466c48' + bftpd.rc + bftpd.logrotate + bftpd.pam + bftpd.xinetd) +md5sums=('dcee04b5fad8c918e86c49712424fcdd' '56a1bf7738a6db2b2cff89e611f4f11a' '853680dad0df39d0b4d2fb43d4be430a' - '96f82c38f3f540b53f3e5144900acf17') + '96f82c38f3f540b53f3e5144900acf17' + 'ff70fd962666f4d74749a1c68167a966') build() { - cd ${srcdir}/$pkgname + cd "${srcdir}"/$pkgname + # The bftpd author keeps screwing up the release tarballs + rm -f config.{cache,status} ./configure --prefix=/usr --enable-pam --mandir=/usr/share/man - make || return 1 + make } package() { - cd ${srcdir}/$pkgname - install -d -m755 ${pkgdir}/usr/{sbin,share/man/man8} - install -d -m755 ${pkgdir}/var/run/bftpd - install -d -m755 ${pkgdir}/var/log - install -D -m644 ${srcdir}/bftpd.logrotate ${pkgdir}/etc/logrotate.d/bftpd || return 1 - install -D -m755 ${srcdir}/bftpd.rc ${pkgdir}/etc/rc.d/bftpd || return 1 - make DESTDIR=${pkgdir} install || return 1 - rm -f ${pkgdir}/var/log/bftpd.log - rmdir ${pkgdir}/var/log - mkdir -p ${pkgdir}/etc/pam.d - cp ${srcdir}/bftpd.pam ${pkgdir}/etc/pam.d/bftpd || return 1 + cd "${srcdir}"/$pkgname + install -d -m755 "${pkgdir}"/usr/{sbin,share/man/man8} + install -d -m755 "${pkgdir}"/var/log + install -D -m644 "${srcdir}"/bftpd.logrotate "${pkgdir}"/etc/logrotate.d/bftpd + install -D -m755 "${srcdir}"/bftpd.rc "${pkgdir}"/etc/rc.d/bftpd + make DESTDIR="${pkgdir}" install + # Remove log file and /var/run from the package + rm -f "${pkgdir}"/var/log/bftpd.log + rmdir "${pkgdir}"/var/{run/bftpd,run,log,} + # Install PAM file + mkdir -p "${pkgdir}"/etc/pam.d + cp "${srcdir}"/bftpd.pam "${pkgdir}"/etc/pam.d/bftpd + # Install xinetd file + install -D -m644 "${srcdir}"/bftpd.xinetd "${pkgdir}"/etc/xinetd.d/bftpd + # Fix default in config file + sed 's|#ROOTDIR="/path/for/anonymous/user"|# bftpd interprets ROOTDIR="%h" (the default), as ROOTDIR="/" for the anonymous user, override it\n ROOTDIR="/srv/ftp"|' -i "${pkgdir}"/etc/bftpd.conf } diff --git a/extra/bftpd/bftpd.xinetd b/extra/bftpd/bftpd.xinetd new file mode 100644 index 000000000..68c931243 --- /dev/null +++ b/extra/bftpd/bftpd.xinetd @@ -0,0 +1,11 @@ +service ftp +{ + socket_type = stream + wait = no + user = root + server = /usr/sbin/bftpd + server_args = -i + log_on_success += HOST DURATION + log_on_failure += HOST + disable = yes +} diff --git a/extra/ecasound/PKGBUILD b/extra/ecasound/PKGBUILD index 3bbab7309..2b7c0b06a 100644 --- a/extra/ecasound/PKGBUILD +++ b/extra/ecasound/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 88360 2010-08-23 02:57:44Z schiv $ +# $Id: PKGBUILD 123924 2011-05-14 11:30:01Z schiv $ # Maintainer: Ray Rashif # Contributor: Eric Belanger # Contributor: Tom Newsom pkgname=ecasound -pkgver=2.7.2 +pkgver=2.8.0 pkgrel=1 pkgdesc="A software package designed for multitrack audio processing" arch=('i686' 'x86_64') @@ -25,8 +25,7 @@ optdepends=('python2: ecamonitor, ECI API' options=('!libtool') changelog=$pkgname.changelog source=(http://ecasound.seul.org/download/$pkgname-$pkgver.tar.gz) -md5sums=('40498ceed9cc7622ee969c427f13921c') -sha1sums=('6d5236155e1a1f9a9bc9e63f989baebfb1645a49') +md5sums=('8072340f6cd72fdea05d7efa625b78c5') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/extra/ecasound/ecasound.changelog b/extra/ecasound/ecasound.changelog index cfa010ca5..a735f70c1 100644 --- a/extra/ecasound/ecasound.changelog +++ b/extra/ecasound/ecasound.changelog @@ -1,3 +1,8 @@ +2011-05-14 Ray Rashif + + * ecasound 2.8.0 + * upstream release + 2010-08-22 Ray Rashif * ecasound 2.7.2-1 diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD index 2cacbe71d..14d2ba1b4 100644 --- a/extra/gnutls/PKGBUILD +++ b/extra/gnutls/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 123031 2011-05-07 16:07:34Z andyrtr $ +# $Id: PKGBUILD 123950 2011-05-14 15:29:59Z andyrtr $ # Maintainer: Jan de Groot pkgname=gnutls -pkgver=2.12.4 +pkgver=2.12.5 pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer" arch=('i686' 'x86_64') @@ -10,9 +10,9 @@ license=('GPL3' 'LGPL') url="http://www.gnu.org/software/gnutls/" install=gnutls.install options=('!libtool' '!zipman') -depends=('gcc-libs>=4.4.3' 'libtasn1>=2.5' 'readline>=6.0' 'zlib' 'libgcrypt>=1.4.5') +depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'libgcrypt') source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.bz2) -md5sums=('3e17fc8cb1cf8272067f6b66baf02810') +md5sums=('2d0bd5ae11534074fcd78da6ea384e64') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/ypbind-mt/PKGBUILD b/extra/ypbind-mt/PKGBUILD index 7aba3d55e..ddb807725 100644 --- a/extra/ypbind-mt/PKGBUILD +++ b/extra/ypbind-mt/PKGBUILD @@ -1,9 +1,10 @@ -# $Id: PKGBUILD 91694 2010-09-27 17:40:26Z bisson $ -# Maintainer: judd +# $Id: PKGBUILD 123631 2011-05-11 23:05:30Z bisson $ +# Maintainer: Gaetan Bisson +# Contributor: judd # Contributor: Tom Newsom pkgname=ypbind-mt -pkgver=1.32 +pkgver=1.33 pkgrel=1 pkgdesc='Linux NIS daemon' arch=('i686' 'x86_64') @@ -14,7 +15,7 @@ backup=('etc/yp.conf' 'etc/conf.d/ypbind') source=("ftp://ftp.kernel.org/pub/linux/utils/net/NIS/$pkgname-$pkgver.tar.gz" 'ypbind.conf' 'ypbind') -sha1sums=('136d1cb1499d32d01f7efa216352911980a7dda8' +sha1sums=('49f578d15aa5d4f4130a2e96cd9c0e519263fc88' '07dee386d001fb9e9e6b76dda8af5b2092e5a4a2' '66f6ea2f622e0724e6017bf835d4f7f4a5bf9534') diff --git a/extra/ypserv/PKGBUILD b/extra/ypserv/PKGBUILD index 87d04a212..4c6e2333b 100644 --- a/extra/ypserv/PKGBUILD +++ b/extra/ypserv/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 91699 2010-09-27 17:41:23Z bisson $ +# $Id: PKGBUILD 123628 2011-05-11 23:04:51Z bisson $ # Maintainer: judd # Contributor: Tom Newsom pkgname=ypserv -pkgver=2.24 +pkgver=2.25 pkgrel=1 pkgdesc='Linux NIS Server' arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ backup=('etc/ypserv.conf' 'etc/netgroup' 'var/yp/securenets') source=("ftp://ftp.kernel.org/pub/linux/utils/net/NIS/$pkgname-$pkgver.tar.gz" \ 'yppasswd' 'ypserv') -sha1sums=('3ae53fe5e047b3bf6a1e407424311ec6e806a95d' +sha1sums=('ab997022d25b6374ae21d39f7ff564be028d8736' '96192b628afe36709496e4801d016c4bff343f0e' 'b625381bfa6cf62345377a7df30b8f45935206c5') -- cgit v1.2.3-54-g00ecf From 2f0d12506e7145c0fe4c056e4fbcda1e724dda95 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 16 May 2011 22:43:10 +0000 Subject: Mon May 16 22:43:24 UTC 2011 --- .../0001-autofs-5.0.5-include-krb5-library.patch | 206 ++++++++++++++ ....0.5-remove-ERR_remove_state-openssl-call.patch | 59 ++++ community/autofs/PKGBUILD | 11 +- community/minbif/PKGBUILD | 6 +- community/mplayer2/PKGBUILD | 59 ++++ community/mplayer2/mplayer2-remove-mp3lib.patch | 297 +++++++++++++++++++++ core/keyutils/PKGBUILD | 24 ++ extra/bind/PKGBUILD | 20 +- extra/glsof/PKGBUILD | 34 +-- extra/postfix/PKGBUILD | 16 +- extra/telepathy-idle/PKGBUILD | 12 +- extra/weechat/PKGBUILD | 12 +- kde-unstable/kdepim-runtime/PKGBUILD | 10 +- kde-unstable/kdepim/PKGBUILD | 160 +++++------ testing/acpid/PKGBUILD | 42 +++ testing/acpid/acpid | 37 +++ testing/acpid/acpid.conf.d | 5 + testing/acpid/anything | 3 + testing/acpid/handler.sh | 65 +++++ testing/archboot/PKGBUILD | 13 +- testing/file/PKGBUILD | 6 +- testing/file/file-5.07-zip-detect.patch | 21 +- testing/kbd/PKGBUILD | 44 +++ testing/kbd/fix-es.po.patch | 11 + testing/php-apc/PKGBUILD | 30 +++ 25 files changed, 1049 insertions(+), 154 deletions(-) create mode 100644 community/autofs/0001-autofs-5.0.5-include-krb5-library.patch create mode 100644 community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch create mode 100644 community/mplayer2/PKGBUILD create mode 100644 community/mplayer2/mplayer2-remove-mp3lib.patch create mode 100644 core/keyutils/PKGBUILD create mode 100644 testing/acpid/PKGBUILD create mode 100644 testing/acpid/acpid create mode 100644 testing/acpid/acpid.conf.d create mode 100644 testing/acpid/anything create mode 100644 testing/acpid/handler.sh create mode 100644 testing/kbd/PKGBUILD create mode 100644 testing/kbd/fix-es.po.patch create mode 100644 testing/php-apc/PKGBUILD (limited to 'extra') diff --git a/community/autofs/0001-autofs-5.0.5-include-krb5-library.patch b/community/autofs/0001-autofs-5.0.5-include-krb5-library.patch new file mode 100644 index 000000000..572ca97fd --- /dev/null +++ b/community/autofs/0001-autofs-5.0.5-include-krb5-library.patch @@ -0,0 +1,206 @@ +From e467755fac27630730be25c4b41e5d0cfcd89c67 Mon Sep 17 00:00:00 2001 +From: Ian Kent +Date: Tue, 10 Aug 2010 15:48:21 +0800 +Subject: [PATCH 1/2] autofs-5.0.5 - include krb5 library + +Since the Cyrus SASL module calls Kerberos directly we should be +linking against the Kerberos librarys. +--- + Makefile.conf.in | 2 + + aclocal.m4 | 19 +++++++++++++++ + configure | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++- + configure.in | 5 +++- + modules/Makefile | 4 +- + 5 files changed, 93 insertions(+), 4 deletions(-) + +diff --git a/Makefile.conf.in b/Makefile.conf.in +index f0287c3..a9bcf8c 100644 +--- a/Makefile.conf.in ++++ b/Makefile.conf.in +@@ -31,6 +31,8 @@ XML_FLAGS = @XML_FLAGS@ + SASL = @HAVE_SASL@ + LIBSASL= @LIBSASL@ + SASL_FLAGS = @SASL_FLAGS@ ++KRB5_LIBS=@KRB5_LIBS@ ++KRB5_FLAGS=@KRB5_FLAGS@ + + # NIS+ support: yes (1) no (0) + NISPLUS = @HAVE_NISPLUS@ +diff --git a/aclocal.m4 b/aclocal.m4 +index e7f1a30..750a159 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -215,6 +215,25 @@ else + fi]) + + dnl -------------------------------------------------------------------------- ++dnl AF_CHECK_KRB5 ++dnl ++dnl Check for Kerberos 5 ++dnl -------------------------------------------------------------------------- ++AC_DEFUN([AF_CHECK_KRB5], ++[AC_PATH_PROGS(KRB5_CONFIG, krb5-config, no) ++AC_MSG_CHECKING(for Kerberos library) ++if test "$KRB5_CONFIG" = "no" ++then ++ AC_MSG_RESULT(no) ++ HAVE_KRB5=0 ++else ++ AC_MSG_RESULT(yes) ++ HAVE_KRB5=1 ++ KRB5_LIBS=`$KRB5_CONFIG --libs` ++ KRB5_FLAGS=`$KRB5_CONFIG --cflags` ++fi]) ++ ++dnl -------------------------------------------------------------------------- + dnl AF_CHECK_LIBHESIOD + dnl + dnl Check for lib hesiod +diff --git a/configure b/configure +index 159f25f..500411c 100755 +--- a/configure ++++ b/configure +@@ -640,6 +640,8 @@ ac_subst_vars='LTLIBOBJS + LIBOBJS + DAEMON_LDFLAGS + DAEMON_CFLAGS ++KRB5_FLAGS ++KRB5_LIBS + LIBSASL + HAVE_SASL + SASL_FLAGS +@@ -657,6 +659,7 @@ LIBHESIOD + HAVE_HESIOD + LIBRESOLV + LIBNSL ++KRB5_CONFIG + XML_CONFIG + PATH_RPCGEN + RPCGEN +@@ -3723,7 +3726,7 @@ $as_echo "no" >&6; } + fi + fi + +-# LDAP SASL auth need libxml ++# LDAP SASL auth needs libxml and Kerberos + for ac_prog in xml2-config + do + # Extract the first word of "$ac_prog", so it can be a program name with args. +@@ -3801,6 +3804,66 @@ _ACEOF + fi + fi + fi ++for ac_prog in krb5-config ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if test "${ac_cv_path_KRB5_CONFIG+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++else ++ case $KRB5_CONFIG in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_KRB5_CONFIG="$KRB5_CONFIG" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_path_KRB5_CONFIG="$as_dir/$ac_word$ac_exec_ext" ++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++fi ++KRB5_CONFIG=$ac_cv_path_KRB5_CONFIG ++if test -n "$KRB5_CONFIG"; then ++ { $as_echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5 ++$as_echo "$KRB5_CONFIG" >&6; } ++else ++ { $as_echo "$as_me:$LINENO: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -n "$KRB5_CONFIG" && break ++done ++test -n "$KRB5_CONFIG" || KRB5_CONFIG="no" ++ ++{ $as_echo "$as_me:$LINENO: checking for Kerberos library" >&5 ++$as_echo_n "checking for Kerberos library... " >&6; } ++if test "$KRB5_CONFIG" = "no" ++then ++ { $as_echo "$as_me:$LINENO: result: no" >&5 ++$as_echo "no" >&6; } ++ HAVE_KRB5=0 ++else ++ { $as_echo "$as_me:$LINENO: result: yes" >&5 ++$as_echo "yes" >&6; } ++ HAVE_KRB5=1 ++ KRB5_LIBS=`$KRB5_CONFIG --libs` ++ KRB5_FLAGS=`$KRB5_CONFIG --cflags` ++fi + + # + # glibc/libc 6 new libraries +@@ -5178,6 +5241,8 @@ fi + + + ++ ++ + LDFLAGS="${AF_tmp_ldflags}" + + # +diff --git a/configure.in b/configure.in +index f649a58..70b45e8 100644 +--- a/configure.in ++++ b/configure.in +@@ -144,8 +144,9 @@ AF_CHECK_PROG(RPCGEN, rpcgen, , $searchpath) + # + AF_SLOPPY_MOUNT() + +-# LDAP SASL auth need libxml ++# LDAP SASL auth needs libxml and Kerberos + AF_CHECK_LIBXML() ++AF_CHECK_KRB5() + + # + # glibc/libc 6 new libraries +@@ -274,6 +275,8 @@ AC_SUBST(XML_LIBS) + AC_SUBST(SASL_FLAGS) + AC_SUBST(HAVE_SASL) + AC_SUBST(LIBSASL) ++AC_SUBST(KRB5_LIBS) ++AC_SUBST(KRB5_FLAGS) + LDFLAGS="${AF_tmp_ldflags}" + + # +diff --git a/modules/Makefile b/modules/Makefile +index 13b3bd8..2389196 100644 +--- a/modules/Makefile ++++ b/modules/Makefile +@@ -42,8 +42,8 @@ ifeq ($(LDAP), 1) + MODS += lookup_ldap.so + ifeq ($(SASL), 1) + SASL_OBJ = cyrus-sasl.o +- LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) -DLDAP_THREAD_SAFE +- LIBLDAP += $(LIBSASL) $(XML_LIBS) ++ LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) $(KRB5_FLAGS) -DLDAP_THREAD_SAFE ++ LIBLDAP += $(LIBSASL) $(XML_LIBS) $(KRB5_LIBS) + endif + endif + +-- +1.7.5.1 + diff --git a/community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch b/community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch new file mode 100644 index 000000000..e4e480e82 --- /dev/null +++ b/community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch @@ -0,0 +1,59 @@ +From 205c305922cdbded91ff8fadbaad7959bdb497bc Mon Sep 17 00:00:00 2001 +From: Ian Kent +Date: Wed, 11 Aug 2010 09:33:09 +0800 +Subject: [PATCH 2/2] autofs-5.0.5 - remove ERR_remove_state() openssl call + +autofs should never have had to use ERR_remove_state() so remove that call. + +Lukas: Resolve a conflict in "CHANGELOG" that occured due to cherry +picking Kerberos related patches from the 5.0.6 development branch. + +Conflicts: + + CHANGELOG + +Signed-off-by: Lukas Fleischer +--- + CHANGELOG | 4 ++++ + modules/lookup_ldap.c | 12 +----------- + 2 files changed, 5 insertions(+), 11 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index e734cb3..1a20a81 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -1,3 +1,7 @@ ++??/??/20?? autofs-5.0.6 ++----------------------- ++- remove ERR_remove_state() openssl call. ++ + 03/09/2009 autofs-5.0.5 + ----------------------- + - fix dumb libxml2 check +diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c +index 2ecf5fe..1221c2c 100644 +--- a/modules/lookup_ldap.c ++++ b/modules/lookup_ldap.c +@@ -168,18 +168,8 @@ int unbind_ldap_connection(unsigned logopt, LDAP *ldap, struct lookup_context *c + int rv; + + #ifdef WITH_SASL +- /* +- * The OpenSSL library can't handle having its message and error +- * string database loaded multiple times and segfaults if the +- * TLS environment is not reset at the right times. As there +- * is no ldap_stop_tls call in the openldap library we have +- * to do the job ourselves, here and in lookup_done when the +- * module is closed. +- */ +- if (ctxt->use_tls == LDAP_TLS_RELEASE) { +- ERR_remove_state(0); ++ if (ctxt->use_tls == LDAP_TLS_RELEASE) + ctxt->use_tls = LDAP_TLS_INIT; +- } + autofs_sasl_unbind(ctxt); + #endif + +-- +1.7.5.1 + diff --git a/community/autofs/PKGBUILD b/community/autofs/PKGBUILD index 11ac57ec1..6516f9736 100644 --- a/community/autofs/PKGBUILD +++ b/community/autofs/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 46345 2011-05-05 11:57:37Z spupykin $ +# $Id: PKGBUILD 47057 2011-05-15 17:16:45Z lfleischer $ # Maintainer: Lukas Fleischer # Contributor: Andrea Scarpino # Contributor: Dale Blount @@ -6,7 +6,7 @@ pkgname=autofs pkgver=5.0.5 -pkgrel=6 +pkgrel=7 pkgdesc='A kernel-based automounter for Linux.' arch=('i686' 'x86_64') url='http://freshmeat.net/projects/autofs' @@ -18,11 +18,15 @@ backup=('etc/autofs/auto.master' options=(!makeflags) install='autofs.install' source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.bz2" + "0001-${pkgname}-5.0.5-include-krb5-library.patch" + "0002-${pkgname}-5.0.5-remove-ERR_remove_state-openssl-call.patch" 'autofs' 'autofs.conf.d' 'auto.master' 'auto.misc') md5sums=('a1d262cb6ebef0c2dd0fe22232fb3d5a' + '478737b8e3e79365a0e183aa95aab307' + 'e347999e5dffe142e7e57b067d3d9e9f' 'e307bf6d2638e46eeb916cf42fe029b2' '47f597c870410055e0fdb66103daf928' 'a6cefb591e77b31b79dbb7243646c96b' @@ -34,6 +38,9 @@ build() { sed -i "s:SUBDIRS = lib daemon modules man samples:SUBDIRS = lib daemon modules man:" \ Makefile.rules + patch -p1 -i "../0001-${pkgname}-5.0.5-include-krb5-library.patch" + patch -p1 -i "../0002-${pkgname}-5.0.5-remove-ERR_remove_state-openssl-call.patch" + ./configure --prefix=/usr --sysconfdir=/etc/autofs --with-mapdir=/etc/autofs --without-hesiod \ --enable-ignore-busy make diff --git a/community/minbif/PKGBUILD b/community/minbif/PKGBUILD index 091830228..2aee17a20 100644 --- a/community/minbif/PKGBUILD +++ b/community/minbif/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 44211 2011-04-04 13:30:46Z lfleischer $ +# $Id: PKGBUILD 47062 2011-05-15 17:37:33Z lfleischer $ # Maintainer: Lukas Fleischer # Contributor: AkiraYB pkgname=minbif pkgver=1.0.4 -pkgrel=2 +pkgrel=3 pkgdesc='An IRC gateway to IM networks that uses libpurple.' arch=('i686' 'x86_64') url='http://minbif.im/' @@ -24,7 +24,7 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" make PREFIX=/usr CONF_PREFIX=/etc/minbif ENABLE_MINBIF=ON ENABLE_IMLIB=ON ENABLE_CACA=ON \ - ENABLE_VIDEO=ON ENABLE_PLUGIN=OFF ENABLE_PAM=ON ENABLE_TLS=ON DEBUG=OFF + ENABLE_VIDEO=OFF ENABLE_PLUGIN=OFF ENABLE_PAM=ON ENABLE_TLS=ON DEBUG=OFF } package() { diff --git a/community/mplayer2/PKGBUILD b/community/mplayer2/PKGBUILD new file mode 100644 index 000000000..828951df8 --- /dev/null +++ b/community/mplayer2/PKGBUILD @@ -0,0 +1,59 @@ +# $Id: PKGBUILD 46583 2011-05-09 18:34:40Z stephane $ +# Maintainer: Stéphane Gaudreault +# Contributor: Bartek Piotrowski + +pkgname=mplayer2 +pkgver=2.0 +pkgrel=12 +pkgdesc="A movie player" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.mplayer2.org/" +depends=('libgl' 'libvdpau' 'ffmpeg' 'libdvdcss' 'libdvdread' 'libdvdnav' 'libxvmc' 'libass' 'fontconfig' 'freetype2' + 'ttf-dejavu' 'sdl' 'aalib' 'libcaca' 'faad2' 'libpulse' 'jack' 'ncurses' 'libxxf86vm' 'cdparanoia' 'libmad' + 'a52dec' 'libdca' 'libxxf86dga' 'libxss' 'mpg123') +makedepends=('live-media' 'mesa' 'unzip' 'yasm') +backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf') +provides=('mplayer') +conflicts=('mplayer') +source=(http://ftp.mplayer2.org/pub/release/${pkgname}-${pkgver/_/-}.tar.xz + mplayer2-remove-mp3lib.patch) +sha1sums=('0df8d4e5484128b7b28029273b7704ab5d5419bc' + 'c55128a99406a5e01ab077555b7b24aa7b54110c') +options=('!emptydirs') + +build() { + # Custom CFLAGS break the mplayer build + unset CFLAGS LDFLAGS + + cd "${srcdir}/${pkgname}-${pkgver}" + + # Drop internal mp3lib (FS#24149) + # Default decoder for mp3 will be mpg123 + rm -fr mp3lib + patch -Np1 -i ../mplayer2-remove-mp3lib.patch + + ./configure --prefix=/usr \ + --enable-runtime-cpudetection \ + --disable-arts \ + --disable-speex \ + --disable-openal \ + --disable-libdv \ + --disable-musepack \ + --disable-esd \ + --disable-mga \ + --enable-xvmc \ + --language=all \ + --enable-translation \ + --confdir=/etc/mplayer + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + install -Dm644 etc/{codecs.conf,input.conf,example.conf} "${pkgdir}"/etc/mplayer/ + install -dm755 "${pkgdir}"/usr/share/mplayer/ + ln -s /usr/share/fonts/TTF/DejaVuSans.ttf "${pkgdir}"/usr/share/mplayer/subfont.ttf +} diff --git a/community/mplayer2/mplayer2-remove-mp3lib.patch b/community/mplayer2/mplayer2-remove-mp3lib.patch new file mode 100644 index 000000000..057a91295 --- /dev/null +++ b/community/mplayer2/mplayer2-remove-mp3lib.patch @@ -0,0 +1,297 @@ +diff -Naur mplayer2-2.0.ori/configure mplayer2-2.0/configure +--- mplayer2-2.0.ori/configure 2011-03-24 17:40:29.000000000 -0400 ++++ mplayer2-2.0/configure 2011-05-09 14:11:10.717630210 -0400 +@@ -376,7 +376,6 @@ + --disable-mad disable libmad (MPEG audio) support [autodetect] + --enable-xmms enable XMMS input plugin support [disabled] + --enable-libdca enable libdca support [autodetect] +- --disable-mp3lib disable builtin mp3lib [autodetect] + --disable-liba52 disable liba52 [autodetect] + --enable-musepack enable libmpcdec support (deprecated, libavcodec + Musepack decoder is preferred) [disabled] +@@ -610,7 +609,6 @@ + _speex=auto + _theora=auto + _mpg123=auto +-_mp3lib=auto + _liba52=auto + _libdca=auto + _faad=auto +@@ -965,8 +963,6 @@ + --disable-theora) _theora=no ;; + --enable-mpg123) _mpg123=yes ;; + --disable-mpg123) _mpg123=no ;; +- --enable-mp3lib) _mp3lib=yes ;; +- --disable-mp3lib) _mp3lib=no ;; + --enable-liba52) _liba52=yes ;; + --disable-liba52) _liba52=no ;; + --enable-libdca) _libdca=yes ;; +@@ -5731,19 +5727,6 @@ + fi + echores "$_theora" + +-echocheck "mp3lib support" +-if test "$_mp3lib" = auto ; then +- test "$cc_vendor" = intel && test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib=no || _mp3lib=yes +-fi +-if test "$_mp3lib" = yes ; then +- def_mp3lib='#define CONFIG_MP3LIB 1' +- codecmodules="mp3lib(internal) $codecmodules" +-else +- def_mp3lib='#undef CONFIG_MP3LIB' +- nocodecmodules="mp3lib(internal) $nocodecmodules" +-fi +-echores "$_mp3lib" +- + # Any version of libmpg123 shall be fine. + echocheck "mpg123 support" + def_mpg123='#undef CONFIG_MPG123' +@@ -6823,7 +6806,6 @@ + MD5SUM = $_md5sum + MGA = $_mga + MNG = $_mng +-MP3LIB = $_mp3lib + MPG123 = $_mpg123 + MUSEPACK = $_musepack + NAS = $_nas +@@ -7084,7 +7066,6 @@ + $def_libdca + $def_libdv + $def_mad +-$def_mp3lib + $def_mpg123 + $def_musepack + $def_speex +diff -Naur mplayer2-2.0.ori/etc/codecs.conf mplayer2-2.0/etc/codecs.conf +--- mplayer2-2.0.ori/etc/codecs.conf 2011-03-24 17:40:29.000000000 -0400 ++++ mplayer2-2.0/etc/codecs.conf 2011-05-09 14:11:10.717630210 -0400 +@@ -4220,23 +4220,6 @@ + driver ffmpeg + dll "sonic" + +-audiocodec mp3 +- ; this is preferred over ffmp2/ffmp3 since it is faster due to using +- ; floating point and there are even broken mkv files where the audio +- ; needs to be parsed, making this codec work more reliably +- info "mp3lib MPEG layer-2, layer-3" +- status working +- comment "Optimized to MMX/SSE/3Dnow!" +- format 0x50 ; layer-1 && layer-2 +- format 0x55 ; layer-3 +- format 0x5500736d ; "ms\0\x55" older mp3 fcc (MOV files) +- format 0x5000736d ; "ms\0\x50" older mp2 fcc (MOV files) +- format 0x55005354 ; broken file +- fourcc ".mp3" ; CBR/VBR MP3 (MOV files) +- fourcc "MP3 " ; used in .nsv files +- fourcc "LAME" ; used in mythtv .nuv files +- driver mp3lib +- + audiocodec mpg123 + ; this is preferred over ffmp2/ffmp3 since it is faster, generally + info "MPEG 1.0/2.0/2.5 layers I, II, III" +diff -Naur mplayer2-2.0.ori/libmpcodecs/ad.c mplayer2-2.0/libmpcodecs/ad.c +--- mplayer2-2.0.ori/libmpcodecs/ad.c 2011-03-24 17:40:29.000000000 -0400 ++++ mplayer2-2.0/libmpcodecs/ad.c 2011-05-09 14:11:10.717630210 -0400 +@@ -32,7 +32,6 @@ + /* Missed vorbis, mad, dshow */ + + extern const ad_functions_t mpcodecs_ad_mpg123; +-extern const ad_functions_t mpcodecs_ad_mp3lib; + extern const ad_functions_t mpcodecs_ad_ffmpeg; + extern const ad_functions_t mpcodecs_ad_liba52; + extern const ad_functions_t mpcodecs_ad_hwac3; +@@ -63,9 +62,6 @@ + #ifdef CONFIG_MPG123 + &mpcodecs_ad_mpg123, + #endif +-#ifdef CONFIG_MP3LIB +- &mpcodecs_ad_mp3lib, +-#endif + #ifdef CONFIG_LIBA52 + &mpcodecs_ad_liba52, + #endif +diff -Naur mplayer2-2.0.ori/libmpcodecs/ad_mp3lib.c mplayer2-2.0/libmpcodecs/ad_mp3lib.c +--- mplayer2-2.0.ori/libmpcodecs/ad_mp3lib.c 2011-03-24 17:40:29.000000000 -0400 ++++ mplayer2-2.0/libmpcodecs/ad_mp3lib.c 2011-05-09 14:11:10.717630210 -0400 +@@ -1,100 +0,0 @@ +-/* +- * This file is part of MPlayer. +- * +- * MPlayer is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * MPlayer is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License along +- * with MPlayer; if not, write to the Free Software Foundation, Inc., +- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +- */ +- +-#include +-#include +-#include +- +-#include "config.h" +- +-#include "ad_internal.h" +-#include "ad_mp3lib.h" +- +-static const ad_info_t info = +-{ +- "MPEG layer-2, layer-3", +- "mp3lib", +- "Nick Kurshev", +- "mpg123", +- "Optimized to MMX/SSE/3Dnow!" +-}; +- +-LIBAD_EXTERN(mp3lib) +- +-#include "mp3lib/mp3.h" +- +-extern int fakemono; +- +-static sh_audio_t* dec_audio_sh=NULL; +- +-// MP3 decoder buffer callback: +-int mplayer_audio_read(char *buf,int size){ +- return demux_read_data(dec_audio_sh->ds,buf,size); +-} +- +-static int preinit(sh_audio_t *sh) +-{ +- sh->audio_out_minsize=32*36*2*2; //4608; +- return 1; +-} +- +-static int init(sh_audio_t *sh) +-{ +- // MPEG Audio: +- dec_audio_sh=sh; // save sh_audio for the callback: +-// MP3_Init(fakemono,mplayer_accel,&mplayer_audio_read); // TODO!!! +-#ifdef CONFIG_FAKE_MONO +- MP3_Init(fakemono); +-#else +- MP3_Init(); +-#endif +- MP3_samplerate=MP3_channels=0; +- sh->a_buffer_len=MP3_DecodeFrame(sh->a_buffer,-1); +- if(!sh->a_buffer_len) return 0; // unsupported layer/format +- sh->channels=2; // hack +- sh->samplesize=2; +- sh->samplerate=MP3_samplerate; +- sh->i_bps=MP3_bitrate*(1000/8); +- MP3_PrintHeader(); +- return 1; +-} +- +-static void uninit(sh_audio_t *sh) +-{ +-} +- +-static int control(sh_audio_t *sh,int cmd,void* arg, ...) +-{ +- switch(cmd) +- { +- case ADCTRL_RESYNC_STREAM: +- MP3_DecodeFrame(NULL,-2); // resync +- MP3_DecodeFrame(NULL,-2); // resync +- MP3_DecodeFrame(NULL,-2); // resync +- return CONTROL_TRUE; +- case ADCTRL_SKIP_FRAME: +- MP3_DecodeFrame(NULL,-2); // skip MPEG frame +- return CONTROL_TRUE; +- } +- return CONTROL_UNKNOWN; +-} +- +-static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen) +-{ +- return MP3_DecodeFrame(buf,-1); +-} +diff -Naur mplayer2-2.0.ori/libmpcodecs/ad_mp3lib.h mplayer2-2.0/libmpcodecs/ad_mp3lib.h +--- mplayer2-2.0.ori/libmpcodecs/ad_mp3lib.h 2011-03-24 17:40:29.000000000 -0400 ++++ mplayer2-2.0/libmpcodecs/ad_mp3lib.h 2011-05-09 14:11:10.717630210 -0400 +@@ -1,24 +0,0 @@ +-/* +- * This file is part of MPlayer. +- * +- * MPlayer is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * MPlayer is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License along +- * with MPlayer; if not, write to the Free Software Foundation, Inc., +- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +- */ +- +-#ifndef MPLAYER_AD_MP3LIB_H +-#define MPLAYER_AD_MP3LIB_H +- +-int mplayer_audio_read(char *buf, int size); +- +-#endif /* MPLAYER_AD_MP3LIB_H */ +diff -Naur mplayer2-2.0.ori/Makefile mplayer2-2.0/Makefile +--- mplayer2-2.0.ori/Makefile 2011-03-24 17:40:29.000000000 -0400 ++++ mplayer2-2.0/Makefile 2011-05-09 14:11:10.714296876 -0400 +@@ -122,21 +122,6 @@ + SRCS_COMMON-$(MNG) += libmpdemux/demux_mng.c + SRCS_COMMON-$(MPG123) += libmpcodecs/ad_mpg123.c + +-SRCS_MP3LIB-X86-$(HAVE_AMD3DNOW) += mp3lib/dct36_3dnow.c \ +- mp3lib/dct64_3dnow.c +-SRCS_MP3LIB-X86-$(HAVE_AMD3DNOWEXT) += mp3lib/dct36_k7.c \ +- mp3lib/dct64_k7.c +-SRCS_MP3LIB-X86-$(HAVE_MMX) += mp3lib/dct64_mmx.c +-SRCS_MP3LIB-$(ARCH_X86_32) += mp3lib/decode_i586.c \ +- $(SRCS_MP3LIB-X86-yes) +-SRCS_MP3LIB-$(HAVE_ALTIVEC) += mp3lib/dct64_altivec.c +-SRCS_MP3LIB-$(HAVE_MMX) += mp3lib/decode_mmx.c +-SRCS_MP3LIB-$(HAVE_SSE) += mp3lib/dct64_sse.c +-SRCS_MP3LIB += mp3lib/sr1.c \ +- $(SRCS_MP3LIB-yes) +-SRCS_COMMON-$(MP3LIB) += libmpcodecs/ad_mp3lib.c \ +- $(SRCS_MP3LIB) +- + SRCS_COMMON-$(MUSEPACK) += libmpcodecs/ad_mpc.c \ + libmpdemux/demux_mpc.c + SRCS_COMMON-$(NATIVE_RTSP) += stream/stream_rtsp.c \ +@@ -578,7 +563,6 @@ + loader/dshow \ + loader/dmo \ + loader/wine \ +- mp3lib \ + osdep \ + stream \ + stream/freesdp \ +@@ -675,8 +659,6 @@ + #loader/%: CFLAGS += -Ddbg_printf=__vprintf -DTRACE=__vprintf -DDETAILED_OUT + loader/win32%: CFLAGS += $(CFLAGS_STACKREALIGN) + +-mp3lib/decode_i586%: CFLAGS += -fomit-frame-pointer +- + stream/stream_dvdnav%: CFLAGS := $(CFLAGS_LIBDVDNAV) $(CFLAGS) + + +@@ -767,9 +749,7 @@ + loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF): CFLAGS += -g + loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF): $(LOADER_TEST_OBJS) + +-mp3lib/test$(EXESUF) mp3lib/test2$(EXESUF): $(SRCS_MP3LIB:.c=.o) libvo/aclib.o cpudetect.o $(TEST_OBJS) +- +-TESTS = codecs2html codec-cfg-test libvo/aspecttest mp3lib/test mp3lib/test2 ++TESTS = codecs2html codec-cfg-test libvo/aspecttest + + ifdef ARCH_X86 + TESTS += loader/qtx/list loader/qtx/qtxload diff --git a/core/keyutils/PKGBUILD b/core/keyutils/PKGBUILD new file mode 100644 index 000000000..8e1810f9f --- /dev/null +++ b/core/keyutils/PKGBUILD @@ -0,0 +1,24 @@ +# $Id: PKGBUILD 116950 2011-03-26 15:07:29Z tpowa $ +# Maintainer: Tobias Powalowski +pkgname=keyutils +pkgver=1.4 +pkgrel=1 +pkgdesc="Linux Key Management Utilities" +arch=(i686 x86_64) +url="http://www.kernel.org" +license=('GPL2' 'LGPL2.1') +depends=('glibc' 'sh') +backup=(etc/request-key.conf) +source=(http://people.redhat.com/~dhowells/$pkgname/$pkgname-$pkgver.tar.bz2) + +build() { + cd "$srcdir/$pkgname-$pkgver" + sed -i -e '/CFLAGS/s|:= -g -O2|+=|' Makefile + make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} +md5sums=('e168c1bdaf5aa93c2cbf8a5e7f8ef27b') diff --git a/extra/bind/PKGBUILD b/extra/bind/PKGBUILD index b559d2c54..371393099 100644 --- a/extra/bind/PKGBUILD +++ b/extra/bind/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 122962 2011-05-07 14:45:29Z bisson $ +# $Id: PKGBUILD 123947 2011-05-14 15:17:07Z bisson $ # Maintainer: Gaetan Bisson # Contributor: judd # Contributor: Mario Vazquez @@ -8,7 +8,7 @@ pkgname=bind # Use a period and not a hyphen before the patch level for proper versioning. pkgver=9.8.0.P1 _pkgver=9.8.0-P1 -pkgrel=1 +pkgrel=2 pkgdesc='Berkeley Internet Name Daemon (BIND) is the reference implementation of the Domain Name System (DNS) protocols' arch=('i686' 'x86_64') @@ -19,7 +19,7 @@ backup=('etc/logrotate.d/named' 'etc/conf.d/named' 'etc/named.conf' 'etc/rndc.key') -depends=('openssl' 'libxml2') +depends=('openssl' 'krb5' 'libxml2') options=('!makeflags' '!libtool') source=("http://ftp.isc.org/isc/bind9/${_pkgver}/${pkgname}-${_pkgver}.tar.gz" 'ftp://ftp.rs.internic.net/domain/db.cache' @@ -51,9 +51,17 @@ build() { patch -p1 -i "${srcdir}"/notools.patch ./configure \ - --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --with-libtool --enable-static=no --disable-linux-caps \ - --with-openssl=yes --with-libxml2=yes + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static \ + --disable-linux-caps \ + --with-openssl \ + --with-gssapi \ + --with-libxml2 \ + --with-libtool \ + --with-dlz-dlopen \ + make } diff --git a/extra/glsof/PKGBUILD b/extra/glsof/PKGBUILD index b3edbdf36..72ce404fc 100644 --- a/extra/glsof/PKGBUILD +++ b/extra/glsof/PKGBUILD @@ -1,38 +1,38 @@ -# $Id: PKGBUILD 123056 2011-05-07 20:58:12Z eric $ +# $Id: PKGBUILD 124019 2011-05-16 00:31:31Z eric $ # Maintainer: Eric Bélanger pkgname=glsof -pkgver=1.0.0 +pkgver=1.5 +_fmver=1.5 +_qver=1.0.0 pkgrel=1 pkgdesc="Two separate GUI utilities (Queries and Filemonitor) to the lsof command line utility" arch=('i686' 'x86_64') url="http://glsof.sourceforge.net/" license=('GPL3') -depends=('java-runtime' 'lsof') +depends=('sh' 'java-runtime' 'lsof') +source=(http://downloads.sourceforge.net/sourceforge/glsof/filemonitor-${_fmver}.tar.gz) if [ "$CARCH" = "i686" ]; then - source=(http://downloads.sourceforge.net/sourceforge/glsof/filemonitor-${pkgver}/filemonitor_linux32.tar.gz \ - http://downloads.sourceforge.net/sourceforge/glsof/queries-${pkgver}/queries_linux32.tar.gz \ + source=(${source[@]} http://downloads.sourceforge.net/sourceforge/glsof/queries-${_qver}/queries_linux32.tar.gz \ glsof-filemonitor glsof-queries) - md5sums=('7a541ee8c432b78f9bfd36dd1707fb8d' - '895bcec79edea97ebde36d7f5eaa3ee9' - '7e43c1120e15e65bd1a12d6f188be4a0' - '980da4b39e1e3f4fbed08018dfd3be7b') + md5sums=('6ca86f9f356e9cba02e4f0861eb1c464' + '895bcec79edea97ebde36d7f5eaa3ee9' + '7e43c1120e15e65bd1a12d6f188be4a0' + '980da4b39e1e3f4fbed08018dfd3be7b') elif [ "$CARCH" = "x86_64" ]; then - source=(http://downloads.sourceforge.net/sourceforge/glsof/filemonitor-${pkgver}/filemonitor_linux64.tar.gz \ - http://downloads.sourceforge.net/sourceforge/glsof/queries-${pkgver}/queries_linux64.tar.gz \ + source=(${source[@]} http://downloads.sourceforge.net/sourceforge/glsof/queries-${_qver}/queries_linux64.tar.gz \ glsof-filemonitor glsof-queries) - md5sums=('9a6043b0b90fbc6de4db36967647dab0' - 'ed96ee2105428aa8b038f5fe13b8cd1d' - '7e43c1120e15e65bd1a12d6f188be4a0' - '980da4b39e1e3f4fbed08018dfd3be7b') + md5sums=('6ca86f9f356e9cba02e4f0861eb1c464' + 'ed96ee2105428aa8b038f5fe13b8cd1d' + '7e43c1120e15e65bd1a12d6f188be4a0' + '980da4b39e1e3f4fbed08018dfd3be7b') fi package() { cd "${srcdir}" install -D -m755 glsof-filemonitor "${pkgdir}/usr/bin/glsof-filemonitor" install -D -m755 glsof-queries "${pkgdir}/usr/bin/glsof-queries" - install -D -m644 filemonitor_linux??/filemonitor.jar "${pkgdir}/usr/share/java/glsof/filemonitor.jar" - install -D -m644 filemonitor_linux??/filemonitor.pdf "${pkgdir}/usr/share/doc/glsof/filemonitor.pdf" + install -D -m644 filemonitor/filemonitor.jar "${pkgdir}/usr/share/java/glsof/filemonitor.jar" install -D -m644 queries_linux??/queries.jar "${pkgdir}/usr/share/java/glsof/queries.jar" install -D -m644 queries_linux??/queries.pdf "${pkgdir}/usr/share/doc/glsof/queries.pdf" } diff --git a/extra/postfix/PKGBUILD b/extra/postfix/PKGBUILD index 667c3f6dc..6843a2881 100644 --- a/extra/postfix/PKGBUILD +++ b/extra/postfix/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 123242 2011-05-09 13:33:46Z bisson $ +# $Id: PKGBUILD 123813 2011-05-13 12:45:42Z bisson $ # Contributor: Jeff Brodnax # Maintainer: Gaetan Bisson # Maintainer: Paul Mattal pkgname=postfix pkgver=2.8.3 -pkgrel=1 +pkgrel=2 pkgdesc='Secure, fast, easy to administer drop in replacement for Sendmail (MTA)' url='http://www.postfix.org/' arch=('i686' 'x86_64') @@ -28,23 +28,23 @@ install=install build() { cd "${srcdir}/${pkgname}-${pkgver}" - make makefiles CCARGS=' \ - -DUSE_SASL_AUTH -I/usr/include/sasl \ - -DUSE_CYRUS_SASL \ + make makefiles DEBUG='' CCARGS=' \ + -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl \ -DHAS_LDAP \ -DUSE_TLS \ -DHAS_MYSQL -I/usr/include/mysql \ -DHAS_PGSQL -I/usr/include/postgresql \ -DHAS_SQLITE \ ' AUXLIBS=' \ - -lsasl2 -lssl -lcrypto \ + -lsasl2 \ -lldap -llber \ + -lssl -lcrypto \ -lmysqlclient -lz -lm \ -lpq \ -lsqlite3 -lpthread \ - ' + ' OPT="${CFLAGS} ${LDFLAGS}" - make OPT="${CFLAGS}" + make } package() { diff --git a/extra/telepathy-idle/PKGBUILD b/extra/telepathy-idle/PKGBUILD index 2a177d64d..769dd0f00 100644 --- a/extra/telepathy-idle/PKGBUILD +++ b/extra/telepathy-idle/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 120807 2011-04-26 15:59:24Z ibiru $ +# $Id: PKGBUILD 123992 2011-05-15 17:48:59Z ibiru $ # Maintainer: Ionut Biru # Contributor: Bjorn Lindeijer # Contributor: Samuel Mendes pkgname=telepathy-idle -pkgver=0.1.9 +pkgver=0.1.10 pkgrel=1 pkgdesc="An IRC connection manager for Telepathy" arch=('i686' 'x86_64') @@ -13,15 +13,11 @@ license=('LGPL') depends=('telepathy-glib' 'openssl') makedepends=('libxslt' 'python2') install=telepathy-idle.install -source=(http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz - python27.patch) -md5sums=('423f2cc0481bdb32facb850eaf586ff2' - '03661efde8f768417e224720e1346d7b') +source=(http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz) +md5sums=('570a431e3e28ca6ebf3f0c84198f0b9a') build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/python27.patch" - autoreconf -fi ./configure --prefix=/usr \ --libexecdir=/usr/lib/telepathy make diff --git a/extra/weechat/PKGBUILD b/extra/weechat/PKGBUILD index bb3be2eb4..d3c7b0fd5 100644 --- a/extra/weechat/PKGBUILD +++ b/extra/weechat/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 106274 2011-01-16 13:41:19Z giovanni $ +# $Id: PKGBUILD 124014 2011-05-15 23:09:30Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: lucke pkgname=weechat -pkgver=0.3.4 +pkgver=0.3.5 pkgrel=1 pkgdesc="Fast, light and extensible IRC client (curses UI)" arch=('i686' 'x86_64') @@ -13,8 +13,8 @@ depends=('gnutls') makedepends=('cmake' 'pkgconfig' 'perl' 'python2' 'lua' 'tcl' 'ruby' 'aspell') optdepends=('perl' 'python2' 'lua' 'tcl' 'ruby' 'aspell') options=('!libtool') -source=(http://www.weechat.org/files/src/${pkgname}-${pkgver}.tar.bz2) -md5sums=('79207fea567548462fe36397e633d287') +source=("http://www.weechat.org/files/src/${pkgname}-${pkgver}.tar.bz2") +md5sums=('0d2a089bfbfa550e0c65618a171fb3c4') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -23,11 +23,11 @@ build() { cd build cmake .. -DPREFIX=/usr \ -DPYTHON_EXECUTABLE=/usr/bin/python2 \ - -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so || return 1 + -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so } package() { cd "${srcdir}/${pkgname}-${pkgver}/build" - make DESTDIR="${pkgdir}/" install || return 1 + make DESTDIR="${pkgdir}/" install } diff --git a/kde-unstable/kdepim-runtime/PKGBUILD b/kde-unstable/kdepim-runtime/PKGBUILD index f220bf14d..c367ccfc8 100644 --- a/kde-unstable/kdepim-runtime/PKGBUILD +++ b/kde-unstable/kdepim-runtime/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: Pierre Schmitz pkgname=kdepim-runtime -pkgver=4.5.95 +pkgver=4.5.96 pkgrel=1 pkgdesc='KDE PIM Runtime Environment' arch=('i686' 'x86_64') @@ -15,12 +15,12 @@ install=${pkgname}.install #source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") source=("http://download.kde.org/unstable/kdepim/${pkgver}/${pkgname}-${pkgver}.tar.bz2" 'disable-l10n.patch') -sha1sums=('0607224f725ee161d16d41a44bd02bacb8245434' +sha1sums=('fd1cf58d5b62c647a7920dfc1d79126843750b1e' '991d81435205185dcb2285a6e728f7756ae92b0d') build() { cd "${srcdir}"/${pkgname}-${pkgver} - patch -Np0 -i ${srcdir}/disable-l10n.patch + patch -Np0 -i "${srcdir}"/disable-l10n.patch cd "${srcdir}" mkdir build @@ -33,6 +33,6 @@ build() { } package() { - cd $srcdir/build - make DESTDIR=$pkgdir install + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install } diff --git a/kde-unstable/kdepim/PKGBUILD b/kde-unstable/kdepim/PKGBUILD index 908acca52..53c4696c0 100644 --- a/kde-unstable/kdepim/PKGBUILD +++ b/kde-unstable/kdepim/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 121977 2011-05-01 00:22:38Z andrea $ +# $Id: PKGBUILD 123823 2011-05-13 18:23:10Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -20,7 +20,7 @@ pkgname=('kdepim-akonadiconsole' 'kdepim-ktimetracker' 'kdepim-libkdepim' 'kdepim-wizards') -pkgver=4.5.95 +pkgver=4.5.96 pkgrel=1 arch=('i686' 'x86_64') url='http://pim.kde.org' @@ -31,7 +31,7 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss' #source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2") source=("http://download.kde.org/unstable/${pkgbase}/${pkgver}/${pkgbase}-${pkgver}.tar.bz2" 'disable-l10n.patch') -sha1sums=('5227ac466247f043643bb9eaa7568e8b936edafe' +sha1sums=('f425f143fe3381be2bb018bab92d89fd112595f0' '25e36f160ced051268e59fad6ed2de33a9c7657a') build() { @@ -52,10 +52,10 @@ build() { package_kdepim-akonadiconsole() { pkgdesc='Akonadi Management and Debugging Console' depends=('kdepim-libkdepim') - url='http://pim.kde.org' + url='http://pim.kde.org' install='kdepim.install' - cd $srcdir/build/akonadiconsole - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/akonadiconsole + make DESTDIR="${pkgdir}" install } package_kdepim-akregator() { @@ -63,12 +63,12 @@ package_kdepim-akregator() { depends=('kdepim-libkdepim') url="http://kde.org/applications/internet/akregator/" install='kdepim.install' - cd $srcdir/build/akregator - make DESTDIR=$pkgdir install - cd $srcdir/build/doc/akregator - make DESTDIR=$pkgdir install - cd $srcdir/build/kontact/plugins/akregator - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/akregator + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/akregator + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/akregator + make DESTDIR="${pkgdir}" install } package_kdepim-blogilo() { @@ -78,19 +78,19 @@ package_kdepim-blogilo() { replaces=('blogilo') conflicts=('blogilo') install='kdepim.install' - cd $srcdir/build/blogilo - make DESTDIR=$pkgdir install - cd $srcdir/build/doc/blogilo - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/blogilo + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/blogilo + make DESTDIR="${pkgdir}" install } package_kdepim-console() { pkgdesc='Command line tool for accessing calendar files' depends=('kdepim-runtime') - url='http://pim.kde.org' + url='http://pim.kde.org' install='kdepim.install' - cd $srcdir/build/console - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/console + make DESTDIR="${pkgdir}" install } package_kdepim-kaddressbook() { @@ -98,12 +98,12 @@ package_kdepim-kaddressbook() { depends=('kdepim-libkdepim') url="http://kde.org/applications/office/kaddressbook/" install='kdepim.install' - cd $srcdir/build/kaddressbook - make DESTDIR=$pkgdir install - cd $srcdir/build/kontact/plugins/kaddressbook - make DESTDIR=$pkgdir install - cd $srcdir/build/plugins/kaddressbook - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/kaddressbook + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/kaddressbook + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/plugins/kaddressbook + make DESTDIR="${pkgdir}" install } package_kdepim-kalarm() { @@ -111,10 +111,10 @@ package_kdepim-kalarm() { depends=('kdepim-libkdepim') url="http://kde.org/applications/utilities/kalarm/" install='kdepim.install' - cd $srcdir/build/kalarm - make DESTDIR=$pkgdir install - cd $srcdir/build/doc/kalarm - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/kalarm + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/kalarm + make DESTDIR="${pkgdir}" install } package_kdepim-kjots() { @@ -122,22 +122,22 @@ package_kdepim-kjots() { depends=('kdepim-libkdepim') url="http://kde.org/applications/utilities/kjots/" install='kdepim.install' - cd $srcdir/build/kjots - make DESTDIR=$pkgdir install - cd $srcdir/build/doc/kjots - make DESTDIR=$pkgdir install - cd $srcdir/build/kontact/plugins/kjots - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/kjots + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/kjots + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/kjots + make DESTDIR="${pkgdir}" install } package_kdepim-kleopatra() { pkgdesc='Certificate Manager and Unified Crypto GUI' depends=('kdepim-libkdepim') url="http://kde.org/applications/utilities/kleopatra/" - cd $srcdir/build/kleopatra - make DESTDIR=$pkgdir install - cd $srcdir/build/doc/kleopatra - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/kleopatra + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/kleopatra + make DESTDIR="${pkgdir}" install } package_kdepim-kmail() { @@ -149,11 +149,11 @@ package_kdepim-kmail() { 'kdepim-mimelib' 'kdepim-plugins') replaces=('kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve' 'kdepim-mimelib' 'kdepim-plugins') - optdepends=('cyrus-sasl-plugins: CRAM-MD5 authentication') + optdepends=('cyrus-sasl-plugins: CRAM-MD5 authentication') for i in kmail doc/kmail kmailcvt ksendemail libksieve mailcommon \ - nepomuk_email_feeder ontologies templateparser kontact/plugins/kmail; do - cd $srcdir/build/${i} - make DESTDIR=$pkgdir install + nepomuk_email_feeder ontologies templateparser kontact/plugins/kmail; do + cd "${srcdir}"/build/${i} + make DESTDIR="${pkgdir}" install done } @@ -162,12 +162,12 @@ package_kdepim-knode() { depends=('kdepim-libkdepim') url="http://kde.org/applications/internet/knode/" install='kdepim.install' - cd $srcdir/build/knode - make DESTDIR=$pkgdir install - cd $srcdir/build/doc/knode - make DESTDIR=$pkgdir install - cd $srcdir/build/kontact/plugins/knode - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/knode + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/knode + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/knode + make DESTDIR="${pkgdir}" install } package_kdepim-knotes() { @@ -175,12 +175,12 @@ package_kdepim-knotes() { depends=('kdepim-libkdepim') url="http://kde.org/applications/utilities/knotes/" install='kdepim.install' - cd $srcdir/build/knotes - make DESTDIR=$pkgdir install - cd $srcdir/build/doc/knotes - make DESTDIR=$pkgdir install - cd $srcdir/build/kontact/plugins/knotes - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/knotes + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/knotes + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/knotes + make DESTDIR="${pkgdir}" install } package_kdepim-kontact() { @@ -192,8 +192,8 @@ package_kdepim-kontact() { replaces=('kdepim-kontactinterfaces') for i in kontact/src doc/kontact \ kontact/plugins/summary kontact/plugins/specialdates; do - cd $srcdir/build/${i} - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/${i} + make DESTDIR="${pkgdir}" install done } @@ -202,20 +202,20 @@ package_kdepim-korganizer() { depends=('kdepim-libkdepim') url="http://kde.org/applications/office/korganizer" install='kdepim.install' - cd $srcdir/build/korganizer - make DESTDIR=$pkgdir install - cd $srcdir/build/doc/korganizer - make DESTDIR=$pkgdir install - cd $srcdir/build/kontact/plugins/korganizer - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/korganizer + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/korganizer + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/korganizer + make DESTDIR="${pkgdir}" install } package_kdepim-kresources() { pkgdesc='KDE PIM resources' depends=('kdepim-libkdepim') - url='http://pim.kde.org' - cd $srcdir/build/kresources - make DESTDIR=$pkgdir install + url='http://pim.kde.org' + cd "${srcdir}"/build/kresources + make DESTDIR="${pkgdir}" install } package_kdepim-ktimetracker() { @@ -223,36 +223,36 @@ package_kdepim-ktimetracker() { depends=('kdepim-kresources') url="http://kde.org/applications/utilities/ktimetracker/" install='kdepim.install' - cd $srcdir/build/ktimetracker - make DESTDIR=$pkgdir install - cd $srcdir/build/doc/ktimetracker - make DESTDIR=$pkgdir install - cd $srcdir/build/kontact/plugins/ktimetracker - make DESTDIR=$pkgdir install + cd "${srcdir}"/build/ktimetracker + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/doc/ktimetracker + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/kontact/plugins/ktimetracker + make DESTDIR="${pkgdir}" install } package_kdepim-libkdepim() { pkgdesc='Library for KDE PIM' groups=() depends=('kde-agent' 'kdepim-runtime') - url='http://pim.kde.org' + url='http://pim.kde.org' conflicts=('kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp' 'kdepim-strigi-analyzer' 'kdepim-akonadi') replaces=('kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp' 'kdepim-strigi-analyzer' 'kdepim-akonadi') for i in akonadi_next calendarsupport calendarviews incidenceeditor-ng \ kdgantt2 libkdepim libkdepimdbusinterfaces libkleo libkpgp \ - messagecomposer messagecore messagelist messageviewer icons \ - strigi-analyzer plugins/messageviewer plugins/ktexteditor; do - cd $srcdir/build/${i} - make DESTDIR=$pkgdir install + messagecomposer messagecore messagelist messageviewer icons \ + strigi-analyzer plugins/messageviewer plugins/ktexteditor; do + cd "${srcdir}"/build/${i} + make DESTDIR="${pkgdir}" install done } package_kdepim-wizards() { pkgdesc='KDE Groupware Wizard' depends=('kdepim-kresources') - url='http://pim.kde.org' - cd $srcdir/build/wizards - make DESTDIR=$pkgdir install + url='http://pim.kde.org' + cd "${srcdir}"/build/wizards + make DESTDIR="${pkgdir}" install } diff --git a/testing/acpid/PKGBUILD b/testing/acpid/PKGBUILD new file mode 100644 index 000000000..a8bfa9018 --- /dev/null +++ b/testing/acpid/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 123979 2011-05-15 11:10:08Z andrea $ +# Maintainer: +# Contributor: xduugu +# Contributor: Manolis Tzanidakis +# Contributor: Jonathan Schmidt /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon acpid + stat_done + fi + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/acpid/acpid.conf.d b/testing/acpid/acpid.conf.d new file mode 100644 index 000000000..b60103a2d --- /dev/null +++ b/testing/acpid/acpid.conf.d @@ -0,0 +1,5 @@ +# +# Arguments to be passed to the acpid daemon +# + +ACPID_ARGS="" diff --git a/testing/acpid/anything b/testing/acpid/anything new file mode 100644 index 000000000..d1828989b --- /dev/null +++ b/testing/acpid/anything @@ -0,0 +1,3 @@ +# Pass all events to our one handler script +event=.* +action=/etc/acpi/handler.sh %e diff --git a/testing/acpid/handler.sh b/testing/acpid/handler.sh new file mode 100644 index 000000000..518a62dea --- /dev/null +++ b/testing/acpid/handler.sh @@ -0,0 +1,65 @@ +#!/bin/sh +# Default acpi script that takes an entry for all actions + +# NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to +# modify it to not use /sys + +minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq` +maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` +setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed" + +set $* + +case "$1" in + button/power) + #echo "PowerButton pressed!">/dev/tty5 + case "$2" in + PWRF) logger "PowerButton pressed: $2" ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + button/sleep) + case "$2" in + SLPB) echo -n mem >/sys/power/state ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + ac_adapter) + case "$2" in + AC|ACAD|ADP0) + case "$4" in + 00000000) + echo -n $minspeed >$setspeed + #/etc/laptop-mode/laptop-mode start + ;; + 00000001) + echo -n $maxspeed >$setspeed + #/etc/laptop-mode/laptop-mode stop + ;; + esac + ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + battery) + case "$2" in + BAT0) + case "$4" in + 00000000) #echo "offline" >/dev/tty5 + ;; + 00000001) #echo "online" >/dev/tty5 + ;; + esac + ;; + CPU0) + ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + button/lid) + #echo "LID switched!">/dev/tty5 + ;; + *) + logger "ACPI group/action undefined: $1 / $2" + ;; +esac diff --git a/testing/archboot/PKGBUILD b/testing/archboot/PKGBUILD index 2c8035c77..d59222745 100644 --- a/testing/archboot/PKGBUILD +++ b/testing/archboot/PKGBUILD @@ -1,18 +1,19 @@ -# $Id: PKGBUILD 110605 2011-02-20 16:37:56Z tpowa $ +# $Id: PKGBUILD 124008 2011-05-15 21:19:33Z tpowa $ # Maintainer : Tobias Powalowski pkgname=archboot -pkgver=2011.02 -pkgrel=2 +pkgver=2011.05 +pkgrel=1 pkgdesc="Advanced, modular arch boot/install image creation utility" arch=(i686 x86_64) license=('GPL') url="http://www.archlinux.org/" -depends=('mkinitcpio>=0.6.8-1' 'mksyslinux>=2010.08-1' 'mkpxelinux>=2010.08-1' 'mkisolinux>=2010.08-1' 'initscripts>=2011.02.1-1' 'subversion>=1.6.15-1' 'wget>=1.12-4' 'bash>=4.2-1' 'coreutils>=8.10-1' 'cryptsetup>=1.2.0-1' 'dialog>=1.1_20110118-1' 'e2fsprogs>=1.41.14-1' 'findutils>=4.4.2-3' 'gawk>=3.1.8-2' 'grep>=2.7-1' 'iputils>=20101006-1' 'jfsutils>=1.1.14-2' 'less>=436-2' 'lvm2>=2.02.84-1' 'mdadm>=3.1.4-1' 'module-init-tools>=3.12-2' 'nano>=2.2.6-1' 'ncurses>=5.7-4' 'net-tools>=1.60-14' 'gnu-netcat>=0.7.1-3' 'ntfsprogs>=2.0.0-4' 'pcmciautils>=017-1' 'procps>=3.2.8-3' 'psmisc>=22.13-1' 'reiserfsprogs>=3.6.21-3' 'sed>=4.2.1-3' 'snarf>=7.0-4' 'syslog-ng>=3.2.2-1' 'sysvinit>=2.88-2' 'tar>=1.25-1' 'util-linux-ng>=2.18-4' 'which>=2.20-4' 'kbd>=1.15.2-1' 'wireless_tools>=29-4' 'xfsprogs>=3.1.4-1' 'dnsutils>=9.7.2.P3-1' 'hdparm>=9.36-1' 'memtest86+>=4.20-1' 'inetutils>=1.8-2' 'openssh>=5.8p1-1' 'hwdetect>=2010.08-1' 'shadow>=4.1.4.2-4' 'bridge-utils>=1.4-3' 'ifenslave>=1.1.0-6' 'cpufrequtils>=008-1' 'links>=2.3pre1-1' 'tcp_wrappers>=7.6-12' 'dosfstools>=3.0.10-1' 'glibc>=2.13-4' 'linux-api-headers>=2.6.37-1' 'kernel26>=2.6.37.1-1' 'kernel26-lts>=2.6.32.29-2' 'xinetd>=2.3.14-6' 'kexec-tools>=2.0.2-3' 'ppp>=2.4.5-2' 'rp-pppoe>=3.10-5' 'lilo>=23.1-2' 'iptables>=1.4.10-1' 'capi4k-utils>=050718-7' 'isdn4k-utils>=3.2p1-6' 'ntfs-3g>=2011.1.15-1' 'pciutils>=3.1.7-3' 'usbutils>=001-2' 'vpnc>=0.5.3-3' 'openvpn>=2.1.4-1' 'b43-fwcutter>=013-2' 'wpa_supplicant>=0.7.3-1' 'rsync>=3.0.7-2' 'gzip>=1.4-2' 'libarchive>=2.8.4-2' 'device-mapper>=2.02.84-1' 'screen>=4.0.3-10' 'elfutils>=0.151-1' 'pam>=1.1.3-1' 'cracklib>=2.8.18-1' 'nfs-utils>=1.2.2-6' 'nfsidmap>=0.24-1' 'readline>=6.2-1' 'acl>=2.2.49-2' 'attr>=2.4.44-2' 'pcre>=8.12-1' 'cpio>=2.11-2' 'fuse>=2.8.5-1' 'libusb>=1.0.8-1' 'vim>=7.3.125-1' 'lzo2>=2.04-1' 'libsasl>=2.1.23-5' 'libldap>=2.4.24-1' 'gpm>=1.20.6-6' 'libevent>=2.0.10-1' 'gcc-libs>=4.5.2-6' 'sdparm>=1.06-1' 'licenses>=2.6-1' 'pptpclient>=1.7.2-3' 'ndiswrapper>=1.56-7' 'ndiswrapper-utils>=1.56-2' 'zd1211-firmware>=1.4-4' 'ipw2100-fw>=1.3-5' 'ipw2200-fw>=3.1-3' 'smbclient>=3.5.6-1' 'bittorrent>=5.2.2-4' 'dhcpcd>=5.2.10-1' 'openssl>=1.0.0.d-1' 'git>=1.7.4.1-1' 'dmraid>=1.0.0.rc16+CVS-2' 'linux-atm>=2.5.1-2' 'netcfg>=2.5.4-1' 'tiacx>=20080210-19' 'tiacx-firmware>=2-3' 'parted>=2.3-1' 'tzdata>=2011b-1' 'ntp>=4.2.6.p3-1' 'libgcrypt>=1.4.6-1' 'iw>=0.9.20-1' 'crda>=1.1.1-1' 'libnl>=1.1-2' 'iproute2>=2.6.37-1' 'wireless-regdb>=2010.11.24-1' 'v86d>=0.1.9-11' 'dhclient>=4.2.0.2-1' 'syslinux>=4.03-2' 'mtools>=4.0.15-1' 'fsarchiver>=0.6.12-1' 'xz>=5.0.1-1' 'libtirpc>=0.2.1-2' 'librpcsecgss>=0.19-4' 'rpcbind>=0.2.0-3' 'testdisk>=6.11.3-3' 'wipe>=2.3.1-1' 'clamav>=0.97-1' 'ddrescue>=1.14-1' 'udev>=166-2' 'ifplugd>=0.28-7' 'wpa_actiond>=1.1-1' 'nouveau-firmware>=20091212-4' 'rfkill>=0.4-2' 'libgssglue>=0.1-3' 'mkinitcpio-nfs-utils>=0.2-1' 'gdisk>=0.6.14-1' 'nilfs-utils>=2.0.21-1' 'btrfs-progs-unstable>=0.19.20101006-1' 'ndiswrapper-lts>=1.56-3' 'nouveau-drm-lts>=0.0.16_20100313-4' 'linux-firmware>=20110201-1' 'iana-etc>=2.30-1' 'libusb-compat>=0.1.3-1') +depends=('mkinitcpio>=0.6.12-1' 'mksyslinux>=2010.08-1' 'mkpxelinux>=2010.08-1' 'mkisolinux>=2010.08-1' 'initscripts>=2011.05.2-1' 'subversion>=1.6.15-2' 'wget>=1.12-7' 'bash>=4.2.010-1' 'coreutils>=8.12-1' 'cryptsetup>=1.3.0-1' 'dialog>=1.1_20110302-1' 'e2fsprogs>=1.41.14-1' 'findutils>=4.4.2-3' 'gawk>=3.1.8-2' 'grep>=2.7-1' 'iputils>=20101006-1' 'jfsutils>=1.1.14-2' 'less>=443-1' 'lvm2>=2.02.85-1' 'mdadm>=3.2.1-3' 'module-init-tools>=3.12-2' 'nano>=2.2.6-1' 'ncurses>=5.9-1' 'net-tools>=1.60-14' 'gnu-netcat>=0.7.1-3' 'ntfsprogs>=2011.4.12-1' 'pcmciautils>=017-2' 'procps>=3.2.8-3' 'psmisc>=22.13-1' 'reiserfsprogs>=3.6.21-3' 'sed>=4.2.1-3' 'snarf>=7.0-4' 'syslog-ng>=3.2.4-1' 'sysvinit>=2.88-2' 'tar>=1.26-1' 'util-linux>=2.19.1-2' 'which>=2.20-4' 'kbd>=1.15.3-1' 'wireless_tools>=29-4' 'xfsprogs>=3.1.5-1' 'dnsutils>=9.8.0.P1-1' 'hdparm>=9.37-1' 'memtest86+>=4.20-1' 'inetutils>=1.8-2' 'openssh>=5.8p2-6' 'hwdetect>=2011.03-1' 'shadow>=4.1.4.3-1' 'bridge-utils>=1.4-4' 'ifenslave>=1.1.0-6' 'cpufrequtils>=008-1' 'links>=2.3pre1-1' 'tcp_wrappers>=7.6-12' 'dosfstools>=3.0.11-1' 'glibc>=2.13-5' 'linux-api-headers>=2.6.38.1-1' 'kernel26>=2.6.38.6-2' 'kernel26-lts>=2.6.32.40-1' 'xinetd>=2.3.14-6' 'kexec-tools>=2.0.2-3' 'ppp>=2.4.5-2' 'rp-pppoe>=3.10-6' 'lilo>=23.2-1' 'iptables>=1.4.10-1' 'capi4k-utils>=050718-7' 'isdn4k-utils>=3.2p1-6' 'ntfs-3g>=2011.4.12-1' 'pciutils>=3.1.7-4' 'usbutils>=002-3' 'vpnc>=0.5.3-3' 'openvpn>=2.2.0-1' 'b43-fwcutter>=014-1' 'wpa_supplicant>=0.7.3-3' 'rsync>=3.0.8-1' 'gzip>=1.4-2' 'libarchive>=2.8.4-2' 'device-mapper>=2.02.85-1' 'screen>=4.0.3-11' 'elfutils>=0.152-1' 'pam>=1.1.3-1' 'cracklib>=2.8.18-1' 'nfs-utils>=1.2.3-2' 'nfsidmap>=0.24-2' 'readline>=6.2.001-1' 'acl>=2.2.51-1' 'attr>=2.4.46-1' 'pcre>=8.12-1' 'cpio>=2.11-2' 'fuse>=2.8.5-1' 'libusb>=1.0.8-1' 'vim>=7.3.177-1' 'lzo2>=2.05-1' 'libsasl>=2.1.23-5' 'libldap>=2.4.24-1' 'gpm>=1.20.6-6' 'libevent>=2.0.11-1' 'gcc-libs>=4.6.0-5' 'sdparm>=1.06-1' 'licenses>=2.8-1' 'pptpclient>=1.7.2-3' 'ndiswrapper>=1.56-9' 'ndiswrapper-utils>=1.56-2' 'zd1211-firmware>=1.4-4' 'ipw2100-fw>=1.3-5' 'ipw2200-fw>=3.1-3' 'smbclient>=3.5.8-3' 'bittorrent>=5.2.2-4' 'dhcpcd>=5.2.12-1' 'openssl>=1.0.0.d-1' 'git>=1.7.5.1-1' 'dmraid>=1.0.0.rc16.3-1' 'linux-atm>=2.5.1-2' 'netcfg>=2.5.4-1' 'tiacx>=20080210-21' 'tiacx-firmware>=2-3' 'parted>=2.3-1' 'tzdata>=2011g-1' 'ntp>=4.2.6.p3-3' 'libgcrypt>=1.4.6-3' 'iw>=0.9.22-1' 'crda>=1.1.1-3' 'libnl>=1.1-2' 'iproute2>=2.6.38-2' 'wireless-regdb>=2010.11.24-1' 'v86d>=0.1.10-1' 'dhclient>=4.2.1.1-1' 'syslinux>=4.04-1' 'mtools>=4.0.16-1' 'fsarchiver>=0.6.12-1' 'xz>=5.0.2-1' 'libtirpc>=0.2.1-3' 'librpcsecgss>=0.19-5' 'rpcbind>=0.2.0-3' 'testdisk>=6.12-1' 'wipe>=2.3.1-1' 'ddrescue>=1.14-1' 'udev>=168-1' 'ifplugd>=0.28-7' 'wpa_actiond>=1.1-2' 'nouveau-firmware>=20091212-4' 'rfkill>=0.4-2' 'libgssglue>=0.1-4' 'mkinitcpio-nfs-utils>=0.2-1' 'gptfdisk>=0.7.1-1' 'nilfs-utils>=2.0.23-1' 'btrfs-progs-unstable>=0.19.20101006-1' 'ndiswrapper-lts>=1.56-5' 'nouveau-drm-lts>=0.0.16_20100313-5' 'linux-firmware>=20110512-2' 'iana-etc>=2.30-1' 'libusb-compat>=0.1.3-1' 'eject>=2.1.5-5' 'keyutils>=1.4-1') optdepends=('grub2-bios: for grub2 support' - 'grub2-efi-i386:for grub2 support' + 'grub2-efi-i386: for grub2 support' 'grub2-efi-x86_64: for grub2 support' 'efibootmgr: for grub2 support' + 'clamav: for clamav support' ) source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver-$pkgrel.tar.bz2 vmware-detect.c) backup=('etc/archboot/allinone.conf' @@ -44,5 +45,5 @@ build() gcc -o vmware-detect vmware-detect.c install -D -m 755 vmware-detect $startdir/pkg/usr/bin/vmware-detect } -md5sums=('608c6e8f30c159f345c08eee6842f17c' +md5sums=('5ea2090ddc56a6b4716961f53584328a' '7e2b03463747cb22ab388e79a09fa0cb') diff --git a/testing/file/PKGBUILD b/testing/file/PKGBUILD index 609b27e47..9869a976c 100644 --- a/testing/file/PKGBUILD +++ b/testing/file/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 123900 2011-05-14 09:18:32Z tpowa $ +# $Id: PKGBUILD 123963 2011-05-15 08:19:29Z tpowa $ # Maintainer: Allan McRae # Contributor: Andreas Radke pkgname=file pkgver=5.07 -pkgrel=2 +pkgrel=3 pkgdesc="File type identification utility" arch=('i686' 'x86_64') license=('custom') @@ -17,7 +17,7 @@ source=(ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz file-5.07-zip-detect.patch) md5sums=('b8d1f9a8a644067bd0a703cebf3f4858' '385f020467debd98bd2d8df6143f93d0' - 'fe52877b2a812b5a1e6276f4c55003cc') + 'bcbf2e152f38003a2736298bbd0f37f8') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/testing/file/file-5.07-zip-detect.patch b/testing/file/file-5.07-zip-detect.patch index accaf8385..3e8f128d8 100644 --- a/testing/file/file-5.07-zip-detect.patch +++ b/testing/file/file-5.07-zip-detect.patch @@ -1,12 +1,13 @@ ---- file-5.07-orig/magic/Magdir/archive 2011-05-14 04:28:25.918516697 +0300 -+++ file-5.07/magic/Magdir/archive 2011-05-14 04:29:14.351587647 +0300 -@@ -565,6 +565,9 @@ - 0 string PK\x07\x08PK\x03\x04 Zip multi-volume archive data, at least PKZIP v2.50 to extract - !:mime application/zip +--- file-5.07/magic/Magdir/archive.old 2011-04-23 17:02:48.000000000 +0200 ++++ file-5.07/magic/Magdir/archive 2011-05-15 10:14:44.509271579 +0200 +@@ -654,6 +654,10 @@ + >>>>78 string -template Template + !:mime application/vnd.oasis.opendocument.image-template -+# Zip archiver (Archlinux bugfix: detect generic zip archives) -+0 string PK\003\004 Zip archive data ++>26 byte x Zip archive data + - # Zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) - 0 string PK\003\004 - ++ ++ + # StarView Metafile + # From Pierre Ducroquet + 0 string VCLMTF StarView MetaFile diff --git a/testing/kbd/PKGBUILD b/testing/kbd/PKGBUILD new file mode 100644 index 000000000..c1643ec9a --- /dev/null +++ b/testing/kbd/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 123997 2011-05-15 19:12:02Z tpowa $ +# Maintainer: Tobias Powalowski + +pkgname=kbd +pkgver=1.15.3 +pkgrel=1 +pkgdesc="Keytable files and keyboard utilities" +arch=('i686' 'x86_64') +url="ftp://ftp.altlinux.org/pub/people/legion/kbd/" +license=('GPL') +depends=('glibc') +source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/${pkgname}-${pkgver}.tar.gz + fix-es.po.patch) +md5sums=('8143e179a0f3c25646ce5085e8777200') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + patch -Np1 -i ../fix-es.po.patch + # rename keymap files with the same names + # this is needed because when only name of keymap is specified + # loadkeys loads the first keymap it can find, which is bad (see FS#13837) + # this should be removed when upstream adopts the change + mv data/keymaps/i386/qwertz/cz{,-qwertz}.map + mv data/keymaps/i386/olpc/es{,-olpc}.map + mv data/keymaps/i386/olpc/pt{,-olpc}.map + mv data/keymaps/i386/dvorak/no{,-dvorak}.map + mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map + + ./configure --prefix=/usr --datadir=/usr/share/kbd --mandir=/usr/share/man + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes DESTDIR=${pkgdir} install + + # this is needed because initscripts call /bin/loadkeys + # remove this when next versions of kbd + # and initscripts with /usr/bin/loadkeys usage will be released + mkdir ${pkgdir}/bin + ln -s /usr/bin/loadkeys ${pkgdir}/bin/loadkeys +} +md5sums=('8143e179a0f3c25646ce5085e8777200' + '4ded3edb50fb7a3277bae6a870cee812') diff --git a/testing/kbd/fix-es.po.patch b/testing/kbd/fix-es.po.patch new file mode 100644 index 000000000..578f0a7b7 --- /dev/null +++ b/testing/kbd/fix-es.po.patch @@ -0,0 +1,11 @@ +--- kbd-1.15.3/po/es.old 2011-05-14 23:12:49.000000000 +0200 ++++ kbd-1.15.3/po/es.po 2011-05-15 21:07:02.120669404 +0200 +@@ -1363,7 +1363,7 @@ + #: src/setfont.c:682 + #, c-format + msgid "Saved %d-char %dx%d font file on %s\n" +-msgstr "Se ha guardado el fichero de tipos %2$dx%3$d de %1$d caracteres en %s\n" ++msgstr "Se ha guardado el fichero de tipos %dx%d de %d caracteres en %s\n" + + #: src/setkeycodes.c:21 + #, c-format diff --git a/testing/php-apc/PKGBUILD b/testing/php-apc/PKGBUILD new file mode 100644 index 000000000..06eb95726 --- /dev/null +++ b/testing/php-apc/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 123989 2011-05-15 16:00:20Z pierre $ +# Maintainer: Pierre Schmitz + +pkgname=php-apc +pkgver=3.1.9 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='A free, open, and robust framework for caching and optimizing PHP intermediate code' +url='http://pecl.php.net/package/APC' +depends=('php') +license="PHP" +source=("http://pecl.php.net/get/APC-${pkgver}.tgz") +backup=('etc/php/conf.d/apc.ini') +md5sums=('a2cf7fbf6f3a87f190d897a53260ddaa') + +build() { + cd $srcdir/APC-$pkgver + phpize + ./configure --prefix=/usr + make +} + +package() { + cd $srcdir/APC-$pkgver + make INSTALL_ROOT=$pkgdir install + echo ';extension=apc.so' > apc.ini + install -D -m644 apc.ini $pkgdir/etc/php/conf.d/apc.ini + install -D -m644 apc.php $pkgdir/usr/share/php-apc/apc.php + install -D -m644 INSTALL $pkgdir/usr/share/doc/php-apc/install.txt +} -- cgit v1.2.3-54-g00ecf From 4a67ab8a761f1d0ef59988a513f9f2163f94a869 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 17 May 2011 22:43:03 +0000 Subject: Tue May 17 22:43:03 UTC 2011 --- community/libosip2/PKGBUILD | 10 +-- community/mypaint/PKGBUILD | 5 +- community/mypaint/mypaint.install | 13 ++++ community/nethogs/PKGBUILD | 28 +++++++ community/nethogs/gcc44.patch | 11 +++ core/binutils/PKGBUILD | 14 +++- core/binutils/binutils-2.21-strip-segfault.patch | 96 ++++++++++++++++++++++++ core/gcc/PKGBUILD | 20 ++--- core/gmp/PKGBUILD | 12 ++- core/gmp/gmp.install | 2 +- core/kbd/PKGBUILD | 19 +++-- core/kbd/fix-es.po.patch | 11 +++ core/util-linux/PKGBUILD | 12 ++- core/util-linux/mount-segfault-2.19.1.patch | 84 +++++++++++++++++++++ extra/amule/PKGBUILD | 6 +- extra/arj/PKGBUILD | 45 +++++------ extra/cairomm/PKGBUILD | 6 +- extra/cvsps/PKGBUILD | 21 ++++-- extra/fam/PKGBUILD | 43 ++++++----- extra/fam/fam | 2 +- extra/farsight2/PKGBUILD | 11 +-- extra/gptfdisk/PKGBUILD | 39 +++++----- extra/gstreamer0.10-base/PKGBUILD | 12 +-- extra/gstreamer0.10-good/PKGBUILD | 13 ++-- extra/gstreamer0.10-ugly/PKGBUILD | 12 +-- extra/gstreamer0.10/PKGBUILD | 10 +-- extra/liblqr/PKGBUILD | 18 +++-- extra/nss-mdns/PKGBUILD | 24 +++--- extra/nss-mdns/nss-mdns.install | 4 - extra/php-apc/PKGBUILD | 6 +- extra/poppler/PKGBUILD | 14 ++-- extra/telepathy-farsight/PKGBUILD | 8 +- extra/telepathy-glib/PKGBUILD | 6 +- extra/wvdial/PKGBUILD | 26 ++++--- multilib-testing/lib32-libffi/PKGBUILD | 29 +++++++ multilib/nspluginwrapper/PKGBUILD | 9 ++- multilib/nspluginwrapper/install | 5 ++ testing/bison/ChangeLog | 19 +++++ testing/bison/PKGBUILD | 32 ++++++++ testing/bison/bison.install | 16 ++++ testing/grep/PKGBUILD | 33 ++++++++ testing/grep/grep.install | 21 ++++++ testing/pixman/PKGBUILD | 33 ++++++++ 43 files changed, 665 insertions(+), 195 deletions(-) create mode 100644 community/mypaint/mypaint.install create mode 100644 community/nethogs/PKGBUILD create mode 100644 community/nethogs/gcc44.patch create mode 100644 core/binutils/binutils-2.21-strip-segfault.patch create mode 100644 core/kbd/fix-es.po.patch create mode 100644 core/util-linux/mount-segfault-2.19.1.patch create mode 100644 multilib-testing/lib32-libffi/PKGBUILD create mode 100644 multilib/nspluginwrapper/install create mode 100644 testing/bison/ChangeLog create mode 100644 testing/bison/PKGBUILD create mode 100644 testing/bison/bison.install create mode 100644 testing/grep/PKGBUILD create mode 100644 testing/grep/grep.install create mode 100644 testing/pixman/PKGBUILD (limited to 'extra') diff --git a/community/libosip2/PKGBUILD b/community/libosip2/PKGBUILD index fc59520bf..3e33d2ddb 100644 --- a/community/libosip2/PKGBUILD +++ b/community/libosip2/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 19146 2010-06-21 08:41:34Z spupykin $ +# $Id: PKGBUILD 47083 2011-05-16 14:18:27Z jelle $ # Maintainer: Sergej Pupykin # Contributor: Michal Hybner pkgname=libosip2 -pkgver=3.3.0 -pkgrel=2 +pkgver=3.5.0 +pkgrel=1 pkgdesc="oSIP is an implementation of SIP" arch=('i686' 'x86_64') url="http://www.gnu.org/software/osip/" @@ -12,7 +12,7 @@ license=('LGPL') depends=(glibc) options=(!emptydirs !libtool) source=(http://ftp.gnu.org/gnu/osip/libosip2-${pkgver/_/-}.tar.gz) -md5sums=('81493bb4d4ae6d55b71a0d4369339125') +md5sums=('7691546f6b3349d10007fc1aaff0f4e0') build() { cd $srcdir/libosip2-${pkgver/_/-}/ @@ -39,6 +39,6 @@ diff -wbBur libosip2-3.1.0/src/osip2/port_sema.c libosip2-3.1.0.my/src/osip2/por EOF ./configure --prefix=/usr --disable-semaphore --enable-sysv - make || return 1 + make make DESTDIR=$pkgdir install } diff --git a/community/mypaint/PKGBUILD b/community/mypaint/PKGBUILD index e4e86f510..0b64702d3 100644 --- a/community/mypaint/PKGBUILD +++ b/community/mypaint/PKGBUILD @@ -1,16 +1,17 @@ -# $Id: PKGBUILD 41759 2011-03-08 20:17:20Z spupykin $ +# $Id: PKGBUILD 47074 2011-05-16 14:01:24Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: Jon Nordby pkgname=mypaint pkgver=0.9.1 -pkgrel=1 +pkgrel=2 pkgdesc="A fast and easy painting application for digital painters, with brush dynamics" arch=('i686' 'x86_64') url="http://mypaint.intilinux.com/" license=('GPL' 'LGPL') depends=('pygtk' 'python-numpy' 'protobuf-python' 'python2') makedepends=('scons>=0.97' 'swig>=1.3.39') +install=mypaint.install source=(http://download.gna.org/$pkgname/$pkgname-$pkgver.tar.bz2) md5sums=('6249a16359a438d6dc658f5765b35515') diff --git a/community/mypaint/mypaint.install b/community/mypaint/mypaint.install new file mode 100644 index 000000000..5f0358791 --- /dev/null +++ b/community/mypaint/mypaint.install @@ -0,0 +1,13 @@ +post_install() { + [ -x `which update-mime-database` ] && update-mime-database usr/share/mime + [ -x `which gtk-update-icon-cache` ] && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + /bin/true +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/community/nethogs/PKGBUILD b/community/nethogs/PKGBUILD new file mode 100644 index 000000000..b07aa4762 --- /dev/null +++ b/community/nethogs/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Kyle Keen +# Contributor: ViNS +# Contributor: Daenyth +pkgname=nethogs +pkgver=0.7.0 +pkgrel=3 +pkgdesc="A net top tool which displays traffic used per process instead of per IP or interface" +url="http://nethogs.sourceforge.net" +license=(GPL) +depends=(libpcap ncurses gcc-libs) +arch=(i686 x86_64) +source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz gcc44.patch) +md5sums=('e5f04071571e469e14c89f637cfa34a2' + '62eb824fbbadd1c60d0749593c16d293') + +build() { + cd "$srcdir/$pkgname" + + sed -i '/sbin :=/ s/sbin/bin/g' Makefile + + # Patch the code to work with gcc 4.4 + patch -Np1 -i "$srcdir/gcc44.patch" + + make + install -d "$pkgdir/usr/{bin,share/man/man8}" + make DESTDIR="$pkgdir/usr" install +} +# vim:set ts=2 sw=2 et: diff --git a/community/nethogs/gcc44.patch b/community/nethogs/gcc44.patch new file mode 100644 index 000000000..7fedbf978 --- /dev/null +++ b/community/nethogs/gcc44.patch @@ -0,0 +1,11 @@ +diff -ruN nethogs-old/conninode.cpp nethogs/conninode.cpp +--- nethogs-old/conninode.cpp 2009-05-17 09:05:32.000000000 -0400 ++++ nethogs/conninode.cpp 2009-05-17 09:06:47.000000000 -0400 +@@ -1,6 +1,7 @@ + #include + #include + #include ++#include + + #include "nethogs.h" + #include "conninode.h" diff --git a/core/binutils/PKGBUILD b/core/binutils/PKGBUILD index 40416653c..0d1d6a0bc 100644 --- a/core/binutils/PKGBUILD +++ b/core/binutils/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 121290 2011-04-30 08:22:29Z allan $ +# $Id: PKGBUILD 123424 2011-05-11 10:41:25Z allan $ # Maintainer: Allan McRae # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=binutils pkgver=2.21 -pkgrel=7 +pkgrel=8 _date=20110430 pkgdesc="A set of programs to assemble and manipulate binary and object files" arch=('i686' 'x86_64') @@ -16,8 +16,10 @@ depends=('glibc>=2.13' 'zlib') makedepends=('dejagnu') options=('!libtool' '!distcc' '!ccache') install=binutils.install -source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2) -md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec') +source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2 + binutils-2.21-strip-segfault.patch) +md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec' + '98e8dfaf1c0ededa586823ebfb27825a') mksource() { mkdir ${pkgname}-${_date} @@ -30,6 +32,10 @@ mksource() { } build() { + cd ${srcdir}/binutils + # http://sourceware.org/bugzilla/show_bug.cgi?id=12632 + patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch + cd ${srcdir} mkdir binutils-build && cd binutils-build diff --git a/core/binutils/binutils-2.21-strip-segfault.patch b/core/binutils/binutils-2.21-strip-segfault.patch new file mode 100644 index 000000000..0133d879b --- /dev/null +++ b/core/binutils/binutils-2.21-strip-segfault.patch @@ -0,0 +1,96 @@ +diff --git a/binutils/objcopy.c b/binutils/objcopy.c +index 15c4f95..b64f3d0 100644 +--- a/binutils/objcopy.c ++++ b/binutils/objcopy.c +@@ -1,6 +1,6 @@ + /* objcopy.c -- copy object file from input to output, optionally massaging it. + Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 ++ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + Free Software Foundation, Inc. + + This file is part of GNU Binutils. +@@ -2024,6 +2024,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, + struct stat buf; + int stat_status = 0; + bfd_boolean del = TRUE; ++ bfd_boolean ok_object; + + /* Create an output file for this member. */ + output_name = concat (dir, "/", +@@ -2061,44 +2062,42 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, + l->obfd = NULL; + list = l; + +- if (bfd_check_format (this_element, bfd_object)) ++ ok_object = bfd_check_format (this_element, bfd_object); ++ if (!ok_object) ++ bfd_nonfatal_message (NULL, this_element, NULL, ++ _("Unable to recognise the format of file")); ++ ++ /* PR binutils/3110: Cope with archives ++ containing multiple target types. */ ++ if (force_output_target || !ok_object) ++ output_bfd = bfd_openw (output_name, output_target); ++ else ++ output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); ++ ++ if (output_bfd == NULL) + { +- /* PR binutils/3110: Cope with archives +- containing multiple target types. */ +- if (force_output_target) +- output_bfd = bfd_openw (output_name, output_target); +- else +- output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); ++ bfd_nonfatal_message (output_name, NULL, NULL, NULL); ++ status = 1; ++ return; ++ } ++ ++ if (ok_object) ++ { ++ del = !copy_object (this_element, output_bfd, input_arch); + +- if (output_bfd == NULL) ++ if (del && bfd_get_arch (this_element) == bfd_arch_unknown) ++ /* Try again as an unknown object file. */ ++ ok_object = FALSE; ++ else if (!bfd_close (output_bfd)) + { + bfd_nonfatal_message (output_name, NULL, NULL, NULL); ++ /* Error in new object file. Don't change archive. */ + status = 1; +- return; + } +- +- del = ! copy_object (this_element, output_bfd, input_arch); +- +- if (! del +- || bfd_get_arch (this_element) != bfd_arch_unknown) +- { +- if (!bfd_close (output_bfd)) +- { +- bfd_nonfatal_message (output_name, NULL, NULL, NULL); +- /* Error in new object file. Don't change archive. */ +- status = 1; +- } +- } +- else +- goto copy_unknown_element; + } +- else +- { +- bfd_nonfatal_message (NULL, this_element, NULL, +- _("Unable to recognise the format of file")); + +- output_bfd = bfd_openw (output_name, output_target); +-copy_unknown_element: ++ if (!ok_object) ++ { + del = !copy_unknown_object (this_element, output_bfd); + if (!bfd_close_all_done (output_bfd)) + { +-- +1.6.5.GIT + diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index 939c84053..fb8985344 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 121304 2011-04-30 13:23:58Z allan $ +# $Id: PKGBUILD 123891 2011-05-14 08:26:23Z allan $ # Maintainer: Allan McRae # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,8 +6,8 @@ pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go') pkgver=4.6.0 -pkgrel=4 -_snapshot=4.6-20110429 +pkgrel=5 +_snapshot=4.6-20110513 _libstdcppmanver=20110201 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection" arch=('i686' 'x86_64') @@ -20,13 +20,13 @@ source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran, ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 gcc_pure64.patch gcc-hash-style-both.patch) -md5sums=('fa586a5634ae3b462c5fb2d55160b14f' - '2591b1fad977f7bd6136c9ac1298ef04' - '366f93c1867f35c8860b42965efde955' - '21779792ef7e0ed7abef611160b0099c' - 'cf518c56b968925a2eca3aa2b4cdbd7b' - 'f66ef8597b99961eda7573df505ea354' - '3d89dd233ceb6a837d14ee6b940a43ed' +md5sums=('2be769db16ac02f30fb62423b4c50145' + 'a310d230945f4b3093dd3ca72839c649' + '361a10c5a5545c80fd271b18036dd00c' + 'f7db2f6ed34398361de62cb6b8eb53d2' + '9b69c1d8874e8496c1965ee3e32eaa6d' + '248e53b461078bf1c89528fb8e4ba051' + 'e15a01b0d02ff12e975e4c2649e71e55' '1e9fd2eaf0ee47ea64e82c48998f1999' '4030ee1c08dd1e843c0225b772360e76' '4df25b623799b148a0703eaeec8fdf3f') diff --git a/core/gmp/PKGBUILD b/core/gmp/PKGBUILD index 234f18ad8..6092809d9 100644 --- a/core/gmp/PKGBUILD +++ b/core/gmp/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 105599 2011-01-10 18:34:30Z stephane $ +# $Id: PKGBUILD 123886 2011-05-14 03:40:36Z allan $ # Maintainer: Allan McRae # Maintainer: Jan de Groot pkgname=gmp -pkgver=5.0.1 -pkgrel=2 +pkgver=5.0.2 +pkgrel=1 pkgdesc="A free library for arbitrary precision arithmetic" arch=('i686' 'x86_64') url="http://gmplib.org/" @@ -13,7 +13,7 @@ license=('LGPL3') options=(!libtool) install=gmp.install source=(ftp://ftp.gnu.org/gnu/gmp/gmp-${pkgver}.tar.bz2) -md5sums=('6bac6df75c192a13419dfd71d19240a7') +md5sums=('0bbaedc82fb30315b06b1588b9077cd3') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -22,6 +22,10 @@ build() { --prefix=/usr --infodir=/usr/share/info \ --enable-cxx make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" make check } diff --git a/core/gmp/gmp.install b/core/gmp/gmp.install index 1c31ab365..cad3354f9 100644 --- a/core/gmp/gmp.install +++ b/core/gmp/gmp.install @@ -1,4 +1,4 @@ -info_dir=/usr/share/info +info_dir=usr/share/info info_files=(gmp.info gmp.info-1 gmp.info-2) post_install() { diff --git a/core/kbd/PKGBUILD b/core/kbd/PKGBUILD index c3be3a65b..c1643ec9a 100644 --- a/core/kbd/PKGBUILD +++ b/core/kbd/PKGBUILD @@ -1,20 +1,21 @@ -# $Id: PKGBUILD 82650 2010-06-15 05:16:19Z allan $ +# $Id: PKGBUILD 123997 2011-05-15 19:12:02Z tpowa $ # Maintainer: Tobias Powalowski pkgname=kbd -pkgver=1.15.2 +pkgver=1.15.3 pkgrel=1 pkgdesc="Keytable files and keyboard utilities" arch=('i686' 'x86_64') url="ftp://ftp.altlinux.org/pub/people/legion/kbd/" license=('GPL') depends=('glibc') -source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/${pkgname}-${pkgver}.tar.gz) -md5sums=('77d0b51454522bc6c170bbdc6e31202a') +source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/${pkgname}-${pkgver}.tar.gz + fix-es.po.patch) +md5sums=('8143e179a0f3c25646ce5085e8777200') build() { cd ${srcdir}/${pkgname}-${pkgver} - + patch -Np1 -i ../fix-es.po.patch # rename keymap files with the same names # this is needed because when only name of keymap is specified # loadkeys loads the first keymap it can find, which is bad (see FS#13837) @@ -26,7 +27,11 @@ build() { mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map ./configure --prefix=/usr --datadir=/usr/share/kbd --mandir=/usr/share/man - make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes || return 1 + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes DESTDIR=${pkgdir} install # this is needed because initscripts call /bin/loadkeys @@ -35,3 +40,5 @@ build() { mkdir ${pkgdir}/bin ln -s /usr/bin/loadkeys ${pkgdir}/bin/loadkeys } +md5sums=('8143e179a0f3c25646ce5085e8777200' + '4ded3edb50fb7a3277bae6a870cee812') diff --git a/core/kbd/fix-es.po.patch b/core/kbd/fix-es.po.patch new file mode 100644 index 000000000..578f0a7b7 --- /dev/null +++ b/core/kbd/fix-es.po.patch @@ -0,0 +1,11 @@ +--- kbd-1.15.3/po/es.old 2011-05-14 23:12:49.000000000 +0200 ++++ kbd-1.15.3/po/es.po 2011-05-15 21:07:02.120669404 +0200 +@@ -1363,7 +1363,7 @@ + #: src/setfont.c:682 + #, c-format + msgid "Saved %d-char %dx%d font file on %s\n" +-msgstr "Se ha guardado el fichero de tipos %2$dx%3$d de %1$d caracteres en %s\n" ++msgstr "Se ha guardado el fichero de tipos %dx%d de %d caracteres en %s\n" + + #: src/setkeycodes.c:21 + #, c-format diff --git a/core/util-linux/PKGBUILD b/core/util-linux/PKGBUILD index 13140997a..877e0135a 100644 --- a/core/util-linux/PKGBUILD +++ b/core/util-linux/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 123152 2011-05-09 00:21:36Z allan $ +# $Id: PKGBUILD 123897 2011-05-14 09:14:06Z tpowa $ # Maintainer: # Contributor: judd pkgname=util-linux pkgver=2.19.1 -pkgrel=1 +pkgrel=2 pkgdesc="Miscellaneous system utilities for Linux" url="http://userweb.kernel.org/~kzak/util-linux-ng/" arch=('i686' 'x86_64') @@ -15,12 +15,16 @@ conflicts=('linux32' 'util-linux-ng' 'e2fsprogs<1.41.8-2') provides=('linux32' "util-linux-ng=${pkgver}") license=('GPL2') options=('!libtool') -source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.19/${pkgname}-${pkgver}.tar.bz2) +source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.19/${pkgname}-${pkgver}.tar.bz2 + mount-segfault-2.19.1.patch) optdepends=('perl: for chkdupexe support') -md5sums=('3eab06f05163dfa65479c44e5231932c') +md5sums=('3eab06f05163dfa65479c44e5231932c' + '3247b52f0e4b8044f23f2f7218e2fdea') build() { cd "${srcdir}/${pkgname}-${pkgver}" + # fix https://bugs.archlinux.org/task/24261 + patch -Np1 -i ../mount-segfault-2.19.1.patch # hardware clock sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i hwclock/hwclock.c ./configure --enable-arch --enable-write --enable-raw --disable-wall --enable-partx diff --git a/core/util-linux/mount-segfault-2.19.1.patch b/core/util-linux/mount-segfault-2.19.1.patch new file mode 100644 index 000000000..7bcb3bc05 --- /dev/null +++ b/core/util-linux/mount-segfault-2.19.1.patch @@ -0,0 +1,84 @@ +From f53edda83ebcfd7015c3f35196d6cbd7bc2d8369 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 11 May 2011 16:57:27 +0200 +Subject: [PATCH] mount: -a segfaults when 4th field is omitted (mount + options) + + # echo 'tmpd /tmp/x tmpfs' >> /etc/fstab + # mkdir /tmp/x + # mount -a + segfault + +Reported-by: Mike Frysinger +Signed-off-by: Karel Zak +--- + mount/mount.c | 8 +++++--- + mount/mount_mntent.c | 5 +++-- + mount/sundries.c | 2 ++ + 3 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/mount/mount.c b/mount/mount.c +index ba71149..29963c2 100644 +--- a/mount/mount.c ++++ b/mount/mount.c +@@ -1163,7 +1163,9 @@ is_mounted_same_loopfile(const char *node0, const char *loopfile, unsigned long + res = loopfile_used_with((char *) mnt->m.mnt_fsname, + loopfile, offset); + +- else if ((p = strstr(mnt->m.mnt_opts, "loop="))) { ++ else if (mnt->m.mnt_opts && ++ (p = strstr(mnt->m.mnt_opts, "loop="))) ++ { + char *dev = xstrdup(p+5); + if ((p = strchr(dev, ','))) + *p = '\0'; +@@ -2052,8 +2054,8 @@ is_fstab_entry_mounted(struct mntentchn *mc, int verbose) + goto yes; + + /* extra care for loop devices */ +- if ((strstr(mc->m.mnt_opts, "loop=") || +- (stat(mc->m.mnt_fsname, &st) == 0 && S_ISREG(st.st_mode)))) { ++ if ((mc->m.mnt_opts && strstr(mc->m.mnt_opts, "loop=")) || ++ (stat(mc->m.mnt_fsname, &st) == 0 && S_ISREG(st.st_mode))) { + + char *p = get_option_value(mc->m.mnt_opts, "offset="); + uintmax_t offset = 0; +diff --git a/mount/mount_mntent.c b/mount/mount_mntent.c +index d90def3..f42c0ad 100644 +--- a/mount/mount_mntent.c ++++ b/mount/mount_mntent.c +@@ -70,7 +70,7 @@ my_addmntent (mntFILE *mfp, struct my_mntent *mnt) { + m1 = mangle(mnt->mnt_fsname); + m2 = mangle(mnt->mnt_dir); + m3 = mangle(mnt->mnt_type); +- m4 = mangle(mnt->mnt_opts); ++ m4 = mnt->mnt_opts ? mangle(mnt->mnt_opts) : "rw"; + + res = fprintf (mfp->mntent_fp, "%s %s %s %s %d %d\n", + m1, m2, m3, m4, mnt->mnt_freq, mnt->mnt_passno); +@@ -78,7 +78,8 @@ my_addmntent (mntFILE *mfp, struct my_mntent *mnt) { + free(m1); + free(m2); + free(m3); +- free(m4); ++ if (mnt->mnt_opts) ++ free(m4); + return (res < 0) ? 1 : 0; + } + +diff --git a/mount/sundries.c b/mount/sundries.c +index ae4501a..2dec37f 100644 +--- a/mount/sundries.c ++++ b/mount/sundries.c +@@ -217,6 +217,8 @@ matching_opts (const char *options, const char *test_opts) { + + if (test_opts == NULL) + return 1; ++ if (options == NULL) ++ options = ""; + + len = strlen(test_opts); + q = alloca(len+1); +-- +1.7.5.1 + diff --git a/extra/amule/PKGBUILD b/extra/amule/PKGBUILD index 724a4f824..cb362d105 100644 --- a/extra/amule/PKGBUILD +++ b/extra/amule/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 123337 2011-05-10 13:19:54Z giovanni $ +# $Id: PKGBUILD 124068 2011-05-16 14:49:29Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: Henrik Ronellenfitsch # Contributor: Alessio Sergi # Contributor: Dario 'Dax' Vilardi pkgname=amule -pkgver=10552 +pkgver=10561 pkgrel=1 pkgdesc="An eMule-like client for ed2k p2p network" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ url="http://www.amule.org" license=('GPL') depends=('wxgtk' 'gd' 'geoip' 'libupnp' 'crypto++' 'libsm') source=("http://amule.sourceforge.net/tarballs/aMule-SVN-r${pkgver}.tar.bz2") -md5sums=('b3685a792e92c2900dbb3eaeba7cc65d') +md5sums=('1f8957c35e8bd2496aa83b5ba318f9bd') build() { cd "${srcdir}/aMule-SVN-r${pkgver}" diff --git a/extra/arj/PKGBUILD b/extra/arj/PKGBUILD index 34012adae..7c2b457ca 100644 --- a/extra/arj/PKGBUILD +++ b/extra/arj/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 49803 2009-08-16 14:37:35Z jgc $ -# Maintainer: Travis Willard +# $Id: PKGBUILD 124090 2011-05-16 15:11:39Z andrea $ +# Maintainer: +# Contributor: Travis Willard # Contributor: Gergely Tamas pkgname=arj pkgver=3.10.22 -pkgrel=5 +pkgrel=6 pkgdesc="Free and portable clone of the ARJ archiver" url="http://arj.sourceforge.net/" arch=('i686' 'x86_64') license=('GPL') +options=('!makeflags') depends=('glibc') -makedepends=('autoconf') -options=(!makeflags) -source=(http://downloads.sourceforge.net/sourceforge/arj/$pkgname-$pkgver.tar.gz +source=("http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz" 001_arches_align.patch 002_no_remove_static_const.patch 003_64_bit_clean.patch @@ -22,33 +22,28 @@ md5sums=('f263bf3cf6d42a8b7e85b4fb514336d3' '395dfa8cc500ffae648777f8f241be88' '56b3cf96ec485b0d824761457417fcc0' '4630a7254dfc6c8d8c7e696aa4a58f4a') -sha1sums=('e8470f480e9eee14906e5485a8898e5c24738c8b' - '7f8904f8c89bacbbeec8c431d627efbb8da2f259' - '919a3c02a1e039803502c21175d69f7703d13026' - 'd506338e34b40ef5cac6ec14c858fd651a354aaf' - '4c9481a4b196c4f56fb44fcd3b9362222d6cbe58') build() { cd "${srcdir}/${pkgname}-${pkgver}" # Add gentoo patches - patch -Np1 -i "${srcdir}/001_arches_align.patch" || return 1 - patch -Np1 -i "${srcdir}/002_no_remove_static_const.patch" || return 1 - patch -Np1 -i "${srcdir}/003_64_bit_clean.patch" || return 1 - patch -Np1 -i "${srcdir}/arj-3.10.22-custom-printf.patch" || return 1 + patch -p1 -i "${srcdir}/001_arches_align.patch" + patch -p1 -i "${srcdir}/002_no_remove_static_const.patch" + patch -p1 -i "${srcdir}/003_64_bit_clean.patch" + patch -p1 -i "${srcdir}/arj-3.10.22-custom-printf.patch" - # Build! cd gnu - aclocal || return 1 - autoconf || return 1 + aclocal + autoconf rm -f config.{guess,sub} - _autover=$(automake --version | head -n1 | awk '{ print $4 }') - cp /usr/share/automake-${_autover}/config.{guess,sub} . || return 1 - ./configure --prefix=/usr || return 1 + cp /usr/share/automake-1.11/config.{guess,sub} . + ./configure --prefix=/usr cd .. - make prepare || return 1 - make || return 1 + make prepare + make +} - # Install! - make DESTDIR="${pkgdir}" install || return 1 +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/extra/cairomm/PKGBUILD b/extra/cairomm/PKGBUILD index 0acf34868..8bd23555e 100644 --- a/extra/cairomm/PKGBUILD +++ b/extra/cairomm/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 109789 2011-02-12 19:30:52Z ibiru $ +# $Id: PKGBUILD 124057 2011-05-16 10:35:03Z jgc $ # Maintainer: Kevin # Contributor: criminy pkgname=cairomm -pkgver=1.9.8 +pkgver=1.10.0 pkgrel=1 pkgdesc="C++ bindings to Cairo vector graphics library" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('cairo' 'libsigc++') makedepends=('pkgconfig') source=(http://www.cairographics.org/releases/${pkgname}-${pkgver}.tar.gz) options=('!libtool' '!emptydirs') -md5sums=('6d5ce1138dbb09c58038ab6f766d5e88') +sha1sums=('f08bf8a331067f0d1e876523f07238fba6b26b99') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/cvsps/PKGBUILD b/extra/cvsps/PKGBUILD index 317e30290..5caa4b2f1 100644 --- a/extra/cvsps/PKGBUILD +++ b/extra/cvsps/PKGBUILD @@ -1,19 +1,24 @@ -# $Id: PKGBUILD 49847 2009-08-16 18:36:23Z jgc $ -# Maintainer: Jeff 'codemac' Mickey +# $Id: PKGBUILD 124095 2011-05-16 15:14:02Z andrea $ +# Maintainer: +# Contributor: Jeff 'codemac' Mickey pkgname=cvsps pkgver=2.1 -pkgrel=2 -pkgdesc="Generating 'patchset' information from a CVS repository." +pkgrel=3 +pkgdesc="Generating 'patchset' information from a CVS repository" url="http://www.cobite.com/cvsps/" license=('GPL') -arch=('x86_64' 'i686') +arch=('i686' 'x86_64') depends=('zlib') -source=(http://www.cobite.com/${pkgname}/${pkgname}-${pkgver}.tar.gz) +source=("http://www.cobite.com/${pkgname}/${pkgname}-${pkgver}.tar.gz") md5sums=('bde2110ed9f5d14de8f8cb04e9d596fe') build() { cd "${srcdir}/${pkgname}-${pkgver}" - make prefix=/usr || return 1 - make prefix="${pkgdir}/usr" install || return 1 + make prefix=/usr +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make prefix="${pkgdir}/usr" install } diff --git a/extra/fam/PKGBUILD b/extra/fam/PKGBUILD index 83615cc69..1b4bf6abe 100644 --- a/extra/fam/PKGBUILD +++ b/extra/fam/PKGBUILD @@ -1,16 +1,17 @@ -# $Id: PKGBUILD 42581 2009-06-16 05:20:11Z tpowa $ -# Maintainer: Allan McRae +# $Id: PKGBUILD 124073 2011-05-16 14:51:09Z andrea $ +# Maintainer: +# Contributor: Allan McRae # Contributor: Tom Newsom pkgname=fam pkgver=2.7.0 -pkgrel=14 +pkgrel=15 pkgdesc="File Alteration Monitor" arch=('i686' 'x86_64') license=('LGPL' 'GPL') depends=('rpcbind' 'gcc-libs' 'bash') url="http://oss.sgi.com/projects/fam/" -backup=(etc/fam/fam.conf) +backup=('etc/fam/fam.conf') options=('!makeflags') # Don't !libtool source=(ftp://oss.sgi.com/projects/fam/download/stable/${pkgname}-${pkgver}.tar.gz fam-2.7.0-dnotify.patch @@ -23,25 +24,29 @@ md5sums=('1bf3ae6c0c58d3201afc97c6a4834e39' '47b41e0b0498793af004696a096d7da1' '2638b8ffacb9f03b6e438e08ea7b290a' 'fc0cabc0ac4f819680401eb3090c29c9' - '0b4dd9894ccc03f57787f9dfc0a7bd6f') + '92a37f9eb6ad0e60ded9c70e9ad93a88') build() { - cd ${srcdir}/${pkgname}-${pkgver} - patch -Np1 -i ${srcdir}/fam-2.7.0-dnotify.patch || return 1 - patch -Np1 -i ${srcdir}/fam-2.7.0-largefiles.patch || return 1 - patch -Np0 -i ${srcdir}/fam-2.7.0-limits.patch || return 1 - patch -Np1 -i ${srcdir}/fam-2.7.0-buildfixes.patch || return 1 + cd "${srcdir}"/${pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/fam-2.7.0-dnotify.patch + patch -p1 -i "${srcdir}"/fam-2.7.0-largefiles.patch + patch -p0 -i "${srcdir}"/fam-2.7.0-limits.patch + patch -p1 -i "${srcdir}"/fam-2.7.0-buildfixes.patch - chmod 755 configure || return 1 + chmod 755 configure - autoheader || return 1 - aclocal || return 1 - automake -a -c || return 1 - autoconf || return 1 - libtoolize --copy --force || return 1 + autoheader + aclocal + automake -a -c + autoconf + libtoolize --copy --force ./configure --prefix=/usr --sysconfdir=/etc/fam - make || return 1 - make DESTDIR=${pkgdir} install - install -D -m755 ../fam ${pkgdir}/etc/rc.d/fam + make +} + +package() { + cd "${srcdir}"/${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -D -m755 "${srcdir}"/fam "${pkgdir}"/etc/rc.d/fam } diff --git a/extra/fam/fam b/extra/fam/fam index 53dd2a4a6..5fc54a6df 100755 --- a/extra/fam/fam +++ b/extra/fam/fam @@ -9,7 +9,7 @@ case "$1" in #Check for running portmap, start when not running ck_daemon rpcbind && /etc/rc.d/rpcbind start stat_busy "Starting File Alteration Monitor" - if [ ! -f /var/run/daemons/rpcbind ]; then + if ck_daemon rpcbind; then stat_fail echo "ERROR: rpcbind is not running" exit 1 diff --git a/extra/farsight2/PKGBUILD b/extra/farsight2/PKGBUILD index 1ec025127..e25c5dd47 100644 --- a/extra/farsight2/PKGBUILD +++ b/extra/farsight2/PKGBUILD @@ -1,24 +1,21 @@ -# $Id: PKGBUILD 111877 2011-03-01 15:02:05Z ibiru $ +# $Id: PKGBUILD 124105 2011-05-16 15:51:02Z ibiru $ # Maintainer: Ionut Biru # Contributor: William Díaz pkgname=farsight2 -pkgver=0.0.26 +pkgver=0.0.28 pkgrel=1 pkgdesc="Audio/Video conference software for Instant Messengers" arch=('i686' 'x86_64') url="http://farsight.freedesktop.org" license=('LGPL') -depends=('libnice' 'gstreamer0.10-base-plugins' 'gstreamer0.10-python' 'python2' 'pygobject') -optdepends=('gstreamer0.10-good-plugins: for RTP plugin' - 'gstreamer0.10-bad-plugins: for RTP plugin') +depends=('libnice' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'gstreamer0.10-bad-plugins' 'gstreamer0.10-python' 'pygobject') options=('!libtool' '!emptydirs') source=(http://farsight.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('7756d910687dd2abd455fd68e83f125c') +md5sums=('38767e775067270754a32aaf8e3a7db1') build() { cd "${srcdir}/${pkgname}-${pkgver}" - sed -i -e 's#python-config#python2-config#' python/Makefile.in ./configure --prefix=/usr \ --with-package-name='Arch Linux farsight2 package' \ --with-package-origin='http://archlinux.org' \ diff --git a/extra/gptfdisk/PKGBUILD b/extra/gptfdisk/PKGBUILD index 9da2ea890..e5f2470f3 100644 --- a/extra/gptfdisk/PKGBUILD +++ b/extra/gptfdisk/PKGBUILD @@ -1,30 +1,35 @@ -# $Id: PKGBUILD 116996 2011-03-27 12:25:01Z tpowa $ -# Maintainer: Tobias Powalowski +# Contributor: Tobias Powalowski # Contributor: Hokum + pkgname=gptfdisk pkgver=0.7.1 -pkgrel=1 -pkgdesc="A text-mode partitioning tool that works on Globally Unique Identifier (GUID) Partition Table (GPT) disks." +pkgrel=2 +pkgdesc="A text-mode partitioning tool that works on Globally Unique Identifier (GUID) Partition Table (GPT) disks" arch=('i686' 'x86_64') -url="http://www.rodsbooks.com/gdisk" +url="http://www.rodsbooks.com/gdisk/" +license=('GPL2') depends=('gcc-libs' 'util-linux' 'popt' 'icu') +provides=('gdisk') +conflicts=('gdisk') replaces=('gdisk') -license=('GPL2') -source=(http://www.rodsbooks.com/gdisk/$pkgname-$pkgver.tgz) +source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tgz) +md5sums=('7c8d810df61e81c821bef399b832e89e') build() { - cd $srcdir/$pkgname-$pkgver + cd "$srcdir/$pkgname-$pkgver" + make } package () { - cd $srcdir/$pkgname-$pkgver - install -D -m755 gdisk $pkgdir/sbin/gdisk - install -D -m755 sgdisk $pkgdir/sbin/sgdisk - install -D -m755 fixparts $pkgdir/sbin/fixparts - install -D -m644 gdisk.8 $pkgdir/usr/share/man/man8/gdisk.8 - install -D -m644 sgdisk.8 $pkgdir/usr/share/man/man8/sgdisk.8 - install -D -m644 README $pkgdir/usr/share/gdisk/README - install -D -m644 NEWS pkgdir/usr/share/gdisk/NEWS + cd "$srcdir/$pkgname-$pkgver" + + install -d "$pkgdir"/{sbin,usr/share/{man/man8,gdisk}} + install -t "$pkgdir/sbin" gdisk sgdisk fixparts + install -m644 -t "$pkgdir/usr/share/man/man8" {gdisk,sgdisk}.8 + install -m644 -t "$pkgdir/usr/share/gdisk" README NEWS } -md5sums=('7c8d810df61e81c821bef399b832e89e') + +# vim:set ts=2 sw=2 et: diff --git a/extra/gstreamer0.10-base/PKGBUILD b/extra/gstreamer0.10-base/PKGBUILD index ff6f6b65a..f1bb35503 100644 --- a/extra/gstreamer0.10-base/PKGBUILD +++ b/extra/gstreamer0.10-base/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 117562 2011-04-04 10:54:18Z jgc $ +# $Id: PKGBUILD 124029 2011-05-16 08:07:30Z jgc $ # Maintainer: Jan de Groot pkgbase=('gstreamer0.10-base') pkgname=('gstreamer0.10-base' 'gstreamer0.10-base-plugins') -pkgver=0.10.32 -pkgrel=4 +pkgver=0.10.34 +pkgrel=1 arch=('i686' 'x86_64') license=('LGPL') -makedepends=('pkgconfig' 'gstreamer0.10>=0.10.32' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'udev' 'gobject-introspection') +makedepends=('pkgconfig' 'gstreamer0.10>=0.10.34' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection') options=(!libtool !emptydirs) url="http://gstreamer.freedesktop.org/" source=(${url}/src/gst-plugins-base/gst-plugins-base-${pkgver}.tar.bz2) -md5sums=('2920af2b3162f3d9fbaa7fabc8ed4d38') +sha256sums=('7f347a60cd4317c7ea44c23e52d6e6233d2fa278b3fe3df7cbefe2bc2e253989') build() { cd "${srcdir}/gst-plugins-base-${pkgver}" @@ -28,7 +28,7 @@ build() { package_gstreamer0.10-base() { pkgdesc="GStreamer Multimedia Framework Base plugin libraries" - depends=('gstreamer0.10>=0.10.32' 'orc' 'libxv' 'udev') + depends=('gstreamer0.10>=0.10.34' 'orc' 'libxv') cd "${srcdir}/gst-plugins-base-${pkgver}" make DESTDIR="${pkgdir}" install diff --git a/extra/gstreamer0.10-good/PKGBUILD b/extra/gstreamer0.10-good/PKGBUILD index 5b28aef7c..98528c8c1 100644 --- a/extra/gstreamer0.10-good/PKGBUILD +++ b/extra/gstreamer0.10-good/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 119465 2011-04-11 17:28:14Z jgc $ +# $Id: PKGBUILD 124034 2011-05-16 08:41:06Z jgc $ # Maintainer: Jan de Groot pkgbase=gstreamer0.10-good pkgname=('gstreamer0.10-good' 'gstreamer0.10-good-plugins') -pkgver=0.10.28 +pkgver=0.10.29 pkgrel=1 arch=('i686' 'x86_64') license=('LGPL') -makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base>=0.10.32' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'esound' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'libpulse' 'jack') +makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'esound' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'libpulse' 'jack' 'udev') url="http://gstreamer.freedesktop.org/" options=(!libtool !emptydirs) source=(${url}/src/gst-plugins-good/gst-plugins-good-${pkgver}.tar.bz2) -md5sums=('6ef1588921f59d85c44ee2e49a3c97a0') +sha256sums=('466a64dcb580d4feef701abfc90656abb3558a2e3fc1e40e43977034bebc354c') build() { cd "${srcdir}/gst-plugins-good-${pkgver}" @@ -29,9 +29,8 @@ build() { } package_gstreamer0.10-good() { - depends=('gstreamer0.10-base>=0.10.32' 'bzip2') + depends=('gstreamer0.10-base>=0.10.34' 'bzip2') pkgdesc="GStreamer Multimedia Framework Good plugin libraries" - conflicts=('gstreamer0.10-bad<=0.10.17') cd "${srcdir}/gst-plugins-good-${pkgver}" make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install @@ -39,7 +38,7 @@ package_gstreamer0.10-good() { } package_gstreamer0.10-good-plugins() { - depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'esound' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'jack' 'libpulse') + depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'esound' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'jack' 'libpulse' 'udev') pkgdesc="GStreamer Multimedia Framework Good Plugins (gst-plugins-good)" groups=('gstreamer0.10-plugins') replaces=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-soup' 'gstreamer0.10-pulse') diff --git a/extra/gstreamer0.10-ugly/PKGBUILD b/extra/gstreamer0.10-ugly/PKGBUILD index ad3fe3b57..4ab9fea99 100644 --- a/extra/gstreamer0.10-ugly/PKGBUILD +++ b/extra/gstreamer0.10-ugly/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 117108 2011-03-28 19:26:10Z ibiru $ +# $Id: PKGBUILD 124039 2011-05-16 08:56:43Z jgc $ # Maintainer: Jan de Groot pkgbase=gstreamer0.10-ugly pkgname=('gstreamer0.10-ugly' 'gstreamer0.10-ugly-plugins') -pkgver=0.10.17 -pkgrel=2 +pkgver=0.10.18 +pkgrel=1 arch=('i686' 'x86_64') license=('LGPL') -makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.32' 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libid3tag' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr') +makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libid3tag' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr') url="http://gstreamer.freedesktop.org/" options=(!libtool) source=(${url}/src/gst-plugins-ugly/gst-plugins-ugly-${pkgver}.tar.bz2) -md5sums=('504ed6508c3a8f035a2002ed69d68506') +md5sums=('04a7009a4efea2844075949c111f5e4d') build() { cd "${srcdir}/gst-plugins-ugly-${pkgver}" @@ -25,7 +25,7 @@ build() { package_gstreamer0.10-ugly() { pkgdesc="GStreamer Multimedia Framework Ugly plugin libraries" - depends=('gstreamer0.10-base>=0.10.32') + depends=('gstreamer0.10-base>=0.10.34') cd "${srcdir}/gst-plugins-ugly-${pkgver}" make DESTDIR="${pkgdir}" install diff --git a/extra/gstreamer0.10/PKGBUILD b/extra/gstreamer0.10/PKGBUILD index b02a3633d..89219d5bc 100644 --- a/extra/gstreamer0.10/PKGBUILD +++ b/extra/gstreamer0.10/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 109030 2011-02-05 14:26:26Z andyrtr $ +# $Id: PKGBUILD 124024 2011-05-16 07:21:10Z jgc $ # Maintainer: Jan de Groot pkgname=gstreamer0.10 -pkgver=0.10.32 +pkgver=0.10.34 pkgrel=1 pkgdesc="GStreamer Multimedia Framework" arch=('i686' 'x86_64') license=('LGPL') url="http://gstreamer.freedesktop.org/" -depends=('libxml2>=2.7.8' 'glib2>=2.24.1') -optdepends=('sh: for feedback script') +depends=('libxml2' 'glib2') +optdepends=('sh: feedback script') makedepends=('intltool' 'pkgconfig' 'gtk-doc' 'gobject-introspection') options=('!libtool') source=(${url}/src/gstreamer/gstreamer-${pkgver}.tar.bz2) -md5sums=('442bc3d37b8511a73379143e7531d726') +sha256sums=('85348f70dc4b70ad1beb05c9a59a64175c5058f4ee5273f89230a3c1d11b26a3') build() { cd "${srcdir}/gstreamer-${pkgver}" diff --git a/extra/liblqr/PKGBUILD b/extra/liblqr/PKGBUILD index 58ebf907a..67f9170d6 100644 --- a/extra/liblqr/PKGBUILD +++ b/extra/liblqr/PKGBUILD @@ -1,22 +1,26 @@ -# $Id: PKGBUILD 49462 2009-08-08 15:03:23Z tpowa $ +# $Id: PKGBUILD 124082 2011-05-16 15:00:24Z andrea $ # Maintainer: Tobias Powalowski pkgname=liblqr pkgver=0.4.1 -pkgrel=1 +pkgrel=2 pkgdesc="A seam-carving C/C++ library called Liquid Rescale" arch=('i686' 'x86_64') url="http://liblqr.wikidot.com/" license=('GPL') -depends=('glibc' 'glib2') +depends=('glib2') makedepends=('pkgconfig') -options=('!libtool') -source=(http://liblqr.wikidot.com/local--files/en:download-page/$pkgname-1-$pkgver.tar.bz2) +options=('!libtool' '!emptydirs') +source=("http://liblqr.wikidot.com/local--files/en:download-page/$pkgname-1-$pkgver.tar.bz2") build() { cd "$srcdir/$pkgname-1-$pkgver" ./configure --prefix=/usr - make || return 1 - make DESTDIR="$pkgdir/" install || return 1 + make +} + +package() { + cd "$srcdir/$pkgname-1-$pkgver" + make DESTDIR="$pkgdir/" install } md5sums=('0e24ed3c9fcdcb111062640764d7b87a') diff --git a/extra/nss-mdns/PKGBUILD b/extra/nss-mdns/PKGBUILD index 6fe8d5653..643dac89f 100644 --- a/extra/nss-mdns/PKGBUILD +++ b/extra/nss-mdns/PKGBUILD @@ -1,30 +1,34 @@ -# $Id: PKGBUILD 56016 2009-10-17 23:24:29Z giovanni $ +# $Id: PKGBUILD 124100 2011-05-16 15:17:50Z andrea $ +# Maintainer: # Contributor: Travis Willard pkgname=nss-mdns pkgver=0.10 -pkgrel=2 +pkgrel=3 pkgdesc="glibc plugin providing host name resolution via mDNS" arch=('i686' 'x86_64') url="http://0pointer.de/lennart/projects/nss-mdns/" -license=('lgpl') +license=('LGPL') depends=('glibc') makedepends=('pkgconfig') backup=('etc/mdns.allow') install=nss-mdns.install -source=(http://0pointer.de/lennart/projects/${pkgname}/${pkgname}-${pkgver}.tar.gz - mdns.allow) +source=("http://0pointer.de/lennart/projects/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'mdns.allow') md5sums=('03938f17646efbb50aa70ba5f99f51d7' '904abb492fb1f56722826c0c3a997bf0') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}"/${pkgname}-${pkgver} ./configure --prefix=/ \ --disable-lynx \ --enable-avahi - make || return 1 - make DESTDIR=${pkgdir} install - mkdir -p ${startdir}/pkg/etc - install -m644 ../mdns.allow ${startdir}/pkg/etc/mdns.allow + make +} + +package() { + cd "${srcdir}"/${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm644 "${srcdir}"/mdns.allow "${pkgdir}"/etc/mdns.allow } diff --git a/extra/nss-mdns/nss-mdns.install b/extra/nss-mdns/nss-mdns.install index ed0fd0c24..85e4d269a 100644 --- a/extra/nss-mdns/nss-mdns.install +++ b/extra/nss-mdns/nss-mdns.install @@ -18,7 +18,3 @@ EOM post_install } - -op=$1 -shift -$op $* diff --git a/extra/php-apc/PKGBUILD b/extra/php-apc/PKGBUILD index b13f84bc4..06eb95726 100644 --- a/extra/php-apc/PKGBUILD +++ b/extra/php-apc/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 122195 2011-05-02 19:06:00Z pierre $ +# $Id: PKGBUILD 123989 2011-05-15 16:00:20Z pierre $ # Maintainer: Pierre Schmitz pkgname=php-apc -pkgver=3.1.8 +pkgver=3.1.9 pkgrel=1 arch=('i686' 'x86_64') pkgdesc='A free, open, and robust framework for caching and optimizing PHP intermediate code' @@ -11,7 +11,7 @@ depends=('php') license="PHP" source=("http://pecl.php.net/get/APC-${pkgver}.tgz") backup=('etc/php/conf.d/apc.ini') -md5sums=('bb1147933a61aa70ceffe53cc6f2920f') +md5sums=('a2cf7fbf6f3a87f190d897a53260ddaa') build() { cd $srcdir/APC-$pkgver diff --git a/extra/poppler/PKGBUILD b/extra/poppler/PKGBUILD index e08295597..fcbe92107 100644 --- a/extra/poppler/PKGBUILD +++ b/extra/poppler/PKGBUILD @@ -1,20 +1,20 @@ -# $Id: PKGBUILD 117503 2011-04-04 08:59:49Z jgc $ +# $Id: PKGBUILD 124052 2011-05-16 10:27:13Z jgc $ # Maintainer: Jan de Groot pkgbase=poppler pkgname=('poppler' 'poppler-glib' 'poppler-qt') -pkgver=0.16.4 +pkgver=0.16.5 pkgrel=1 arch=(i686 x86_64) license=('GPL') makedepends=('libjpeg' 'gcc-libs' 'cairo' 'libxml2' 'fontconfig' 'openjpeg' 'gtk2' 'qt' 'pkgconfig' 'lcms' 'gobject-introspection') options=('!libtool') url="http://poppler.freedesktop.org/" -source=(http://poppler.freedesktop.org/${pkgname}-${pkgver}.tar.gz) -md5sums=('2b996ca77dad04b422f67238daab48e7') +source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.gz) +md5sums=('2b6e0c26b77a943df3b9bb02d67ca236') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/${pkgbase}-${pkgver}" sed -i -e '/AC_PATH_XTRA/d' configure.ac autoreconf ./configure --prefix=/usr --sysconfdir=/etc \ @@ -25,8 +25,6 @@ build() { --enable-poppler-qt4 \ --enable-poppler-glib make - sed -e 's/^glib_subdir =.*/glib_subdir =/' \ - -e 's/^qt4_subdir =.*/qt4_subdir =/' -i Makefile } package_poppler() { @@ -35,6 +33,8 @@ package_poppler() { conflicts=("poppler-qt3<${pkgver}") cd "${srcdir}/${pkgbase}-${pkgver}" + sed -e 's/^glib_subdir =.*/glib_subdir =/' \ + -e 's/^qt4_subdir =.*/qt4_subdir =/' -i Makefile make DESTDIR="${pkgdir}" install rm -f "${pkgdir}"/usr/lib/pkgconfig/poppler-{glib,qt4}.pc diff --git a/extra/telepathy-farsight/PKGBUILD b/extra/telepathy-farsight/PKGBUILD index c324c9e43..07affddf2 100644 --- a/extra/telepathy-farsight/PKGBUILD +++ b/extra/telepathy-farsight/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 120813 2011-04-26 16:12:15Z ibiru $ +# $Id: PKGBUILD 124113 2011-05-16 16:15:50Z ibiru $ # Maintainer: Ionut Biru # Contributor: Ju Liu # Contributor: Denis Zawada pkgname=telepathy-farsight -pkgver=0.0.17 +pkgver=0.0.18 pkgrel=1 pkgdesc="A telepathy-backend to use stream engine." arch=('i686' 'x86_64') url="http://telepathy.freedesktop.org" license=('GPL') -depends=('telepathy-glib' 'farsight2' 'gstreamer0.10-base') +depends=('telepathy-glib' 'farsight2') makedepends=('libxslt' 'python2') options=('!libtool') source=(http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('f98377802d38333924f6f1a955a2d42a') +md5sums=('984be4153c635ca1b2010de27d74eff4') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/telepathy-glib/PKGBUILD b/extra/telepathy-glib/PKGBUILD index 1fc08ac55..2feeea9b5 100644 --- a/extra/telepathy-glib/PKGBUILD +++ b/extra/telepathy-glib/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 120253 2011-04-21 18:20:55Z ibiru $ +# $Id: PKGBUILD 124130 2011-05-16 17:05:51Z ibiru $ # Maintainer: Ionut Biru # Contributor: Kessia 'even' Pinheiro pkgname=telepathy-glib -pkgver=0.14.5 +pkgver=0.14.6 pkgrel=1 pkgdesc="GLib bindings for the Telepathy D-Bus protocol" arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ options=('!libtool' '!emptydirs') depends=('dbus-glib') makedepends=('libxslt' 'vala' 'gobject-introspection') source=("http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz") -md5sums=('2911d33b45744cdc41774c91f6b837c2') +md5sums=('ab8cf90283ef3382de1d20d87c9d970a') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/wvdial/PKGBUILD b/extra/wvdial/PKGBUILD index 91026ced8..916a2c514 100644 --- a/extra/wvdial/PKGBUILD +++ b/extra/wvdial/PKGBUILD @@ -1,24 +1,30 @@ -# $Id: PKGBUILD 57749 2009-11-01 22:53:25Z giovanni $ -# Maintainer: Andrea Scarpino +# $Id: PKGBUILD 123798 2011-05-13 06:53:04Z andrea $ +# Maintainer: +# Contributor: Andrea Scarpino # Contributor: dorphell # Contributor: Judd Vinet pkgname=wvdial pkgver=1.61 -pkgrel=2 +pkgrel=3 pkgdesc="A dialer program to connect to the Internet" url="http://alumnit.ca/wiki/index.php?page=WvDial" arch=('i686' 'x86_64') license=('custom') -depends=('wvstreams>=4.6.1' 'ppp') -source=(http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz) +depends=('wvstreams' 'ppp' 'gcc-libs') +makedepends=('lockdev') +options=('!makeflags' '!buildflags') +source=("http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz") md5sums=('acd3b2050c9b65fff2aecda6576ee7bc') build() { - unset LDFLAGS - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}"/${pkgname}-${pkgver} ./configure - make || return 1 - make prefix=${pkgdir}/usr PPPDIR=${pkgdir}/etc/ppp/peers install || return 1 - install -Dm644 COPYING.LIB ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + make LOCKDEV="-llockdev" +} + +package() { + cd "${srcdir}"/${pkgname}-${pkgver} + make prefix="${pkgdir}"/usr PPPDIR="${pkgdir}"/etc/ppp/peers install + install -Dm644 COPYING.LIB "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE } diff --git a/multilib-testing/lib32-libffi/PKGBUILD b/multilib-testing/lib32-libffi/PKGBUILD new file mode 100644 index 000000000..3e7409124 --- /dev/null +++ b/multilib-testing/lib32-libffi/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 47107 2011-05-16 19:59:16Z lcarlier $ +# Maintainer: Jan de Groot + +pkgname=lib32-libffi +pkgver=3.0.9 +pkgrel=1 +pkgdesc="A portable, high level programming interface to various calling conventions (32 bits version)." +arch=('x86_64') +license=('MIT') +url="http://sourceware.org/libffi" +depends=('lib32-glibc') +options=('!libtool') +source=(ftp://sourceware.org/pub/libffi/libffi-${pkgver}.tar.gz) +md5sums=('1f300a7a7f975d4046f51c3022fa5ff1') + +build() { + cd "${srcdir}/libffi-${pkgver}" + + export CC="gcc -m32" + + ./configure --prefix=/usr \ + --libdir=/usr/lib32 --libexecdir=/usr/lib32 + make + + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" + rm -r "${pkgdir}"/usr/share/{info,man} +} diff --git a/multilib/nspluginwrapper/PKGBUILD b/multilib/nspluginwrapper/PKGBUILD index d35da9633..c037f2d98 100644 --- a/multilib/nspluginwrapper/PKGBUILD +++ b/multilib/nspluginwrapper/PKGBUILD @@ -1,17 +1,18 @@ -# $Id: PKGBUILD 46102 2011-05-03 15:47:24Z bluewind $ +# $Id: PKGBUILD 47097 2011-05-16 17:45:22Z bluewind $ # Maintainer: Thomas Bächler pkgname=nspluginwrapper -pkgver=1.3.2 +pkgver=1.4.0 pkgrel=1 pkgdesc="Cross-platform NPAPI compatible plugin viewer" arch=('x86_64') -url="http://freshmeat.net/projects/nspluginwrapper/" +url="http://nspluginwrapper.davidben.net/" license=('GPL') depends=('curl' 'lib32-libxt' 'lib32-gcc-libs' 'gtk2' 'lib32-gtk2') makedepends=('gcc-multilib') +install="install" source=(http://web.mit.edu/davidben/Public/$pkgname/$pkgname-$pkgver.tar.gz nspluginwrapper-native-windows.patch) -sha256sums=('f3a40d160601520d36b6f5c342e1e9751b2bdc70dff5e2e880e1d18ed8830201' +sha256sums=('39b9034dc840ac6a21701406d96449e578b787aad7f6a09d97113776cf8251b3' '3796b66f53448f4668e70aec97a3d74db2b2fcd308b36f87373405547cae38b1') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/multilib/nspluginwrapper/install b/multilib/nspluginwrapper/install new file mode 100644 index 000000000..ac2fc27b7 --- /dev/null +++ b/multilib/nspluginwrapper/install @@ -0,0 +1,5 @@ +post_upgrade() { + for i in /usr/lib32/mozilla/plugins/*; do + /usr/bin/nspluginwrapper -i "$i" + done +} diff --git a/testing/bison/ChangeLog b/testing/bison/ChangeLog new file mode 100644 index 000000000..5bb22be1d --- /dev/null +++ b/testing/bison/ChangeLog @@ -0,0 +1,19 @@ +2010-03-25 Eric Belanger + + * bison 2.4.2-1 + * Upstream update + * Removed texinfo dependency in install scriptlet + * Updated license + * Added sh depends + +2008-12-11 Eric Belanger + + * bison 2.4.1-1 + * Upstream update + +2008-11-08 Eric Belanger + + * bison 2.4-1 + * Upstream update + * Added info file support + * Added ChangeLog diff --git a/testing/bison/PKGBUILD b/testing/bison/PKGBUILD new file mode 100644 index 000000000..ebf2c0fc5 --- /dev/null +++ b/testing/bison/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 124065 2011-05-16 12:02:28Z allan $ +# Maintainer: Allan McRae +# Contributor: Eric Belanger + +pkgname=bison +pkgver=2.5 +pkgrel=1 +pkgdesc="The GNU general-purpose parser generator" +arch=('i686' 'x86_64') +license=('GPL3') +url="http://www.gnu.org/software/bison/bison.html" +depends=('glibc' 'm4' 'sh') +groups=('base-devel') +install=bison.install +source=(ftp://ftp.gnu.org/gnu/bison/${pkgname}-${pkgver}.tar.bz2) +md5sums=('9dba20116b13fc61a0846b0058fbe004') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --datadir=/usr/share + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/bison/bison.install b/testing/bison/bison.install new file mode 100644 index 000000000..0081a194f --- /dev/null +++ b/testing/bison/bison.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +file=bison.info.gz + +post_install() { + [ -x usr/bin/install-info ] || return 0 + install-info $infodir/$file $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + install-info --delete $infodir/$file $infodir/dir 2> /dev/null +} diff --git a/testing/grep/PKGBUILD b/testing/grep/PKGBUILD new file mode 100644 index 000000000..d2b07cf23 --- /dev/null +++ b/testing/grep/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 124062 2011-05-16 11:49:29Z allan $ +# Maintainer: Allan McRae +# Contributor: judd + +pkgname=grep +pkgver=2.8 +pkgrel=1 +pkgdesc="A string search utility" +arch=('i686' 'x86_64') +license=('GPL3') +url="http://www.gnu.org/software/grep/grep.html" +groups=('base') +depends=('glibc' 'pcre' 'sh') +makedepends=('texinfo') +install=${pkgname}.install +source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz) +md5sums=('b59003c42b330bdabd417e00d07102da') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr --bindir=/bin --without-included-regex + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/grep/grep.install b/testing/grep/grep.install new file mode 100644 index 000000000..7cd31301f --- /dev/null +++ b/testing/grep/grep.install @@ -0,0 +1,21 @@ +infodir=usr/share/info +filelist=(grep.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $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.gz $infodir/dir 2> /dev/null + done +} + diff --git a/testing/pixman/PKGBUILD b/testing/pixman/PKGBUILD new file mode 100644 index 000000000..bbc0360f6 --- /dev/null +++ b/testing/pixman/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 124049 2011-05-16 10:05:58Z jgc $ +# Maintainer: Jan de Groot +# Contributor: Alexander Baldeck + +pkgname=pixman +pkgver=0.22.0 +pkgrel=1 +pkgdesc="Pixman library" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org" +license=('custom') +depends=('glibc') +options=('!libtool') +source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('d24ea233755d7dce9f0d93136ad99fba8d4e4fa0') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} -- cgit v1.2.3-54-g00ecf From 82b609ecce972e236c2ce887ecd55ec30e2874a7 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 18 May 2011 22:46:11 +0000 Subject: Wed May 18 22:46:11 UTC 2011 --- community/chmsee/PKGBUILD | 8 +- community/deadbeef/PKGBUILD | 15 +- community/eterm/PKGBUILD | 10 +- community/libexosip2/PKGBUILD | 11 +- community/linphone/PKGBUILD | 9 +- community/paraview/PKGBUILD | 10 +- community/root/PKGBUILD | 4 +- community/virtualbox/PKGBUILD | 17 ++- core/acl/PKGBUILD | 17 +-- core/attr/PKGBUILD | 39 +++--- core/cryptsetup/PKGBUILD | 6 +- core/libgssglue/PKGBUILD | 6 +- core/libgssglue/gssapi_mech.conf | 4 +- ...Be-quiet-on-removing-cache-on-read-only-fs.diff | 17 +++ core/lvm2/PKGBUILD | 20 ++- core/lvm2/lvm2_hook | 1 + core/lzo2/PKGBUILD | 6 +- core/udev/01-settle.patch | 68 +++++++++ core/udev/02-settle.patch | 29 ++++ core/udev/PKGBUILD | 23 ++-- extra/farsight2/PKGBUILD | 7 +- extra/libvncserver/PKGBUILD | 6 +- extra/midori/PKGBUILD | 6 +- extra/qemu-kvm/PKGBUILD | 14 +- extra/qemu/PKGBUILD | 17 ++- extra/transmission/PKGBUILD | 14 +- extra/transmission/transmission-qt.install | 11 ++ extra/transmission/transmissiond | 11 +- extra/uim/PKGBUILD | 27 ++-- extra/uim/install | 10 +- libre/initscripts/PKGBUILD | 10 +- libre/pacman/PKGBUILD | 71 ++++++++++ libre/pacman/makepkg.conf | 114 +++++++++++++++ libre/pacman/pacman.conf | 86 ++++++++++++ libre/pacman/pacman.conf.x86_64 | 95 +++++++++++++ libre/pacman/pacman.install | 62 +++++++++ libre/pacman/rePKGBUILD | 48 +++++++ multilib-testing/lib32-llvm/PKGBUILD | 153 +++++++++++++++++++++ .../lib32-llvm/cindexer-clang-path.patch | 10 ++ .../lib32-llvm/clang-plugin-loader-registry.patch | 11 ++ multilib-testing/lib32-llvm/clang-pure64.patch | 38 +++++ .../lib32-llvm/clang-toolchains-gcc-versions.patch | 12 ++ multilib-testing/lib32-llvm/enable-lto.patch | 36 +++++ multilib-testing/lib32-mesa/PKGBUILD | 28 ++-- multilib/binutils-multilib/PKGBUILD | 14 +- .../binutils-2.21-strip-segfault.patch | 96 +++++++++++++ multilib/gcc-multilib/PKGBUILD | 20 +-- multilib/nspluginwrapper/PKGBUILD | 6 +- testing/acpid/PKGBUILD | 5 +- testing/archboot/PKGBUILD | 6 +- testing/vigra/PKGBUILD | 36 +++++ testing/vigra/vigra-1.7.1.gcc460.patch | 33 +++++ 52 files changed, 1259 insertions(+), 174 deletions(-) create mode 100644 core/lvm2/Be-quiet-on-removing-cache-on-read-only-fs.diff create mode 100644 core/udev/01-settle.patch create mode 100644 core/udev/02-settle.patch create mode 100644 extra/transmission/transmission-qt.install create mode 100644 libre/pacman/PKGBUILD create mode 100644 libre/pacman/makepkg.conf create mode 100644 libre/pacman/pacman.conf create mode 100644 libre/pacman/pacman.conf.x86_64 create mode 100644 libre/pacman/pacman.install create mode 100644 libre/pacman/rePKGBUILD create mode 100644 multilib-testing/lib32-llvm/PKGBUILD create mode 100644 multilib-testing/lib32-llvm/cindexer-clang-path.patch create mode 100644 multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch create mode 100644 multilib-testing/lib32-llvm/clang-pure64.patch create mode 100644 multilib-testing/lib32-llvm/clang-toolchains-gcc-versions.patch create mode 100644 multilib-testing/lib32-llvm/enable-lto.patch create mode 100644 multilib/binutils-multilib/binutils-2.21-strip-segfault.patch create mode 100644 testing/vigra/PKGBUILD create mode 100644 testing/vigra/vigra-1.7.1.gcc460.patch (limited to 'extra') diff --git a/community/chmsee/PKGBUILD b/community/chmsee/PKGBUILD index c23b703de..aeb5968f6 100644 --- a/community/chmsee/PKGBUILD +++ b/community/chmsee/PKGBUILD @@ -4,16 +4,16 @@ # Contributor: Ermanno pkgname=chmsee -pkgver=1.3.0 -pkgrel=2 +pkgver=1.3.1.1 +pkgrel=1 arch=('i686' 'x86_64') pkgdesc="A chm (MS HTML help file format) viewer based on xulrunner." url="http://chmsee.googlecode.com/" license="GPL" -depends=('xulrunner' 'libglade' 'chmlib') +depends=('xulrunner>=2.0' 'libglade' 'chmlib') makedepends=('intltool' 'cmake') source=(http://chmsee.googlecode.com/files/$pkgname-$pkgver.tar.gz) -md5sums=('5ba68ccee32ba782486badc025842ccf') +md5sums=('7c226e6f518284a040ad3b9433d5e218') build() { cd ${srcdir}/$pkgname-$pkgver diff --git a/community/deadbeef/PKGBUILD b/community/deadbeef/PKGBUILD index 3d2e3a876..489dcbaa8 100644 --- a/community/deadbeef/PKGBUILD +++ b/community/deadbeef/PKGBUILD @@ -1,16 +1,17 @@ -# $Id: PKGBUILD 36041 2010-12-25 20:18:47Z lfleischer $ +# $Id: PKGBUILD 47144 2011-05-17 17:39:51Z lfleischer $ # Maintainer: Lukas Fleischer # Contributor: Alexey Yakovenko pkgname=deadbeef -pkgver=0.4.4 -pkgrel=2 +pkgver=0.5.0 +pkgrel=1 pkgdesc='An audio player for GNU/Linux based on GTK2.' arch=('i686' 'x86_64') url='http://deadbeef.sourceforge.net' license=('GPL2') -depends=('gtk2' 'libsamplerate' 'alsa-lib') -makedepends=('gtk2' 'libsamplerate' 'libvorbis' 'libmad' 'flac' 'curl' 'alsa-lib' 'wavpack' 'libsndfile' 'libcdio' 'libcddb' 'ffmpeg' 'libx11' 'faad2' 'zlib' 'intltool' 'pkgconfig' 'libpulse') +depends=('gtk2' 'libsamplerate' 'alsa-lib' 'hicolor-icon-theme' 'desktop-file-utils') +makedepends=('libvorbis' 'libmad' 'flac' 'curl' 'wavpack' 'libsndfile' 'libcdio' 'libcddb' 'ffmpeg' + 'libx11' 'faad2' 'zlib' 'intltool' 'pkgconfig' 'libpulse' 'libzip') optdepends=('libvorbis: for Ogg Vorbis playback' 'libmad: for MP1/MP2/MP3 playback' 'flac: for FLAC playback' @@ -28,12 +29,12 @@ optdepends=('libvorbis: for Ogg Vorbis playback' options=('!libtool') install='deadbeef.install' source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}-${pkgver}.tar.bz2") -md5sums=('546e63d456d6a5625461019b15501e38') +md5sums=('cf45af00c34f855db87a1056d6e2f1af') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr + ./configure --prefix=/usr --disable-converter make } diff --git a/community/eterm/PKGBUILD b/community/eterm/PKGBUILD index d2c6d7dd6..cfb3d5613 100644 --- a/community/eterm/PKGBUILD +++ b/community/eterm/PKGBUILD @@ -1,10 +1,11 @@ # Contributor: Andrea Scarpino # Contributor: Adam 'battlemidget' Stokes -# Maintainer: Daniel J Griffiths +# Contributor: Daniel J Griffiths +# Maintainer: Brad Fanella pkgname=eterm -pkgver=0.9.5 -pkgrel=4 +pkgver=0.9.6 +pkgrel=1 pkgdesc="A vt102 terminal emulator intended as a replacement for xterm." arch=('i686' 'x86_64') url="http://www.eterm.org/" @@ -12,7 +13,7 @@ license=('custom') depends=('freetype2>=2.3.5' 'libast>=0.7' 'libxmu' 'libxres') options=('!libtool') source=(http://www.eterm.org/download/Eterm-${pkgver}.tar.gz) -md5sums=('87220a61f763d111a4f5fc88ef9e50f1') +md5sums=('90e424584c22d4050496874d14f78bb1') build() { cd ${srcdir}/Eterm-${pkgver} @@ -32,3 +33,4 @@ package() { install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE } + diff --git a/community/libexosip2/PKGBUILD b/community/libexosip2/PKGBUILD index 6b6ef848e..bdf6bd5c1 100644 --- a/community/libexosip2/PKGBUILD +++ b/community/libexosip2/PKGBUILD @@ -1,22 +1,25 @@ -# $Id: PKGBUILD 29647 2010-10-18 08:56:03Z spupykin $ +# $Id: PKGBUILD 47119 2011-05-17 07:23:32Z andrea $ # Maintainer: Sergej Pupykin # Contributor: Darwin Bautista pkgname=libexosip2 -pkgver=3.3.0 +pkgver=3.5.0 pkgrel=1 pkgdesc="A library that hides the complexity of using SIP for multimedia session establishement" arch=('i686' 'x86_64') url="http://savannah.nongnu.org/projects/exosip/" license=('GPL') -depends=('libosip2>=3.1.0' 'openssl') +depends=('libosip2>=3.5.0' 'openssl') options=(!libtool) source=(http://download.savannah.nongnu.org/releases/exosip/libeXosip2-${pkgver/_/-}.tar.gz) -md5sums=('a2739067b51c1e417c5aef9606b285b2') +md5sums=('51e85725571870614e448f63c33c8996') build() { cd "$srcdir/libeXosip2-${pkgver/_/-}" ./configure --prefix=/usr make +} +package() { + cd "$srcdir/libeXosip2-${pkgver/_/-}" make DESTDIR="$pkgdir" install } diff --git a/community/linphone/PKGBUILD b/community/linphone/PKGBUILD index 904afdb94..03ba4d40c 100644 --- a/community/linphone/PKGBUILD +++ b/community/linphone/PKGBUILD @@ -1,11 +1,10 @@ -# $Id: PKGBUILD 43994 2011-04-01 15:09:07Z spupykin $ +# $Id: PKGBUILD 47124 2011-05-17 07:27:45Z andrea $ # Maintainer: Sergej Pupykin -# Maintainer: Darwin Bautista # Contributor: Darwin Bautista pkgname=linphone pkgver=3.4.3 -pkgrel=2 +pkgrel=3 pkgdesc="A Voice-over-IP phone" arch=('i686' 'x86_64') url="http://www.linphone.org/index.php/eng" @@ -30,5 +29,9 @@ build() { --libexecdir=/usr/lib/$pkgname \ --enable-external-mediastreamer --enable-external-ortp make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install } diff --git a/community/paraview/PKGBUILD b/community/paraview/PKGBUILD index e28da76c2..7a9008e74 100644 --- a/community/paraview/PKGBUILD +++ b/community/paraview/PKGBUILD @@ -3,8 +3,8 @@ # Contributor: Simon Zilliken pkgname=paraview -pkgver=3.10.0 -pkgrel=2 +pkgver=3.10.1 +pkgrel=1 pkgdesc='Parallel Visualization Application using VTK.' arch=('i686' 'x86_64') url='http://www.paraview.org' @@ -15,7 +15,7 @@ source=("http://paraview.org/files/v${pkgver:0:4}/ParaView-${pkgver}.tar.gz" "${pkgname}.profile" "${pkgname}.png" "${pkgname}.desktop") -md5sums=('5369f05667f1ad8aaca7a879208aeb3c' +md5sums=('d8a9d4a997a720589ffd57568bcdd449' '534ef49689a7f630c98380f5ab4bf915' 'db623002bc71a257ddfdd0c9c7b14c3f' '4e4b7172ed18171c37446fd7c4f1e8f5') @@ -23,6 +23,10 @@ md5sums=('5369f05667f1ad8aaca7a879208aeb3c' build() { cd ParaView-${pkgver} + sed -i '20 i#include ' VTK/Utilities/vtkmetaio/metaUtils.cxx + sed -i 's/stddef.h/cstddef/' VTK/Wrapping/Python/vtkPythonUtil.cxx + sed -i '36 i#include ' VTK/Wrapping/Python/PyVTKObject.cxx + # Paraview wants to be built out of source mkdir -p build cd build diff --git a/community/root/PKGBUILD b/community/root/PKGBUILD index 4dc83e425..2345ec8c1 100644 --- a/community/root/PKGBUILD +++ b/community/root/PKGBUILD @@ -2,7 +2,7 @@ # Contributor: Sebastian Voecking pkgname=root -pkgver=5.28.00c +pkgver=5.28.00d pkgrel=1 pkgdesc='C++ data analysis framework and interpreter from CERN.' arch=('i686' 'x86_64') @@ -17,7 +17,7 @@ source=("ftp://root.cern.ch/root/root_v${pkgver}.source.tar.gz" 'rootd' 'root.desktop' 'root.xml') -md5sums=('0e997f14cb1c671987e1780d2b6375f8' +md5sums=('53505fcb256df38526d446916e6efc15' '0e883ad44f99da9bc7c23bc102800b62' 'efd06bfa230cc2194b38e0c8939e72af' 'ac61b17395d75a2705fefa2ef841a6bf' diff --git a/community/virtualbox/PKGBUILD b/community/virtualbox/PKGBUILD index d73767ffb..de3b09e1e 100644 --- a/community/virtualbox/PKGBUILD +++ b/community/virtualbox/PKGBUILD @@ -1,21 +1,21 @@ -# $Id: PKGBUILD 45439 2011-04-21 19:40:11Z ibiru $ +# $Id: PKGBUILD 47152 2011-05-17 18:01:10Z ibiru $ #Maintainer: Ionut Biru pkgbase=virtualbox pkgname=('virtualbox' 'virtualbox-guest-additions' 'virtualbox-guest-modules' 'virtualbox-sdk') -pkgver=4.0.6 +pkgver=4.0.8 pkgrel=1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libxcursor' 'qt' 'libidl2' 'sdl_ttf' 'alsa-lib' 'libpulse' 'libxtst' -'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'kernel26-headers>=2.6.38' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'jdk' 'gsoap' 'vde2' +'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'kernel26-headers>=2.6.38' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'jdk' 'gsoap' 'vde2' 'xorg-server-devel' 'xf86driproto' 'libxcomposite') [[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 http://download.virtualbox.org/virtualbox/${pkgver}/UserManual.pdf virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch 10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxdrv.sh - 18-system-xorg.patch gcc46.patch) + 18-system-xorg.patch) _kernver=2.6.38-ARCH build() { @@ -25,7 +25,6 @@ build() { patch -Np1 -i "$srcdir/virtualbox-4-mkisofs-check.patch" patch -Np1 -i "$srcdir/vboxdrv-reference.patch" patch -Np1 -i "$srcdir/18-system-xorg.patch" - patch -Np1 -i "$srcdir/gcc46.patch" cp "$srcdir/LocalConfig.kmk" . @@ -171,6 +170,7 @@ package_virtualbox-guest-additions(){ install -d "$pkgdir/usr/lib/xorg/modules/dri" install -m755 VBoxOGL*.so "$pkgdir/usr/lib" ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so" + ln -s /usr/lib/xorg/modules/dri "$pkgdir/usr/lib/dri" install -m755 -D pam_vbox.so "$pkgdir/lib/security/pam_vbox.so" } @@ -203,8 +203,8 @@ package_virtualbox-guest-modules(){ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-guest-modules.install" } -md5sums=('cf274f0585c35c5c137e2bd9b48b462a' - '7d3ee86e998fa24b07a157add9fb7766' +md5sums=('a3e81289f2357fcf4bbe3e77805f38b6' + '39712ccbc16b04c1cda209ae16446bf2' '44efb3c4be214daa453a317d527f1f30' '32a232b43852b9a08cb11a7bcd64b347' '5f85710e0b8606de967716ded7b2d351' @@ -212,5 +212,4 @@ md5sums=('cf274f0585c35c5c137e2bd9b48b462a' '9bde5b7dfba5abcd49768052c5409800' 'c1a07f044c476a190af8486fe78bee0f' '47da2e88de582bb2bab14580a3aa47b1' - '8a22b33c9dfaf8fb79bb2d26304e650b' - 'a28b48ff01149acbca4bbe6a676a06da') + '8a22b33c9dfaf8fb79bb2d26304e650b') diff --git a/core/acl/PKGBUILD b/core/acl/PKGBUILD index bfee4e73f..e177e74f5 100644 --- a/core/acl/PKGBUILD +++ b/core/acl/PKGBUILD @@ -1,22 +1,22 @@ -# $Id: PKGBUILD 105458 2011-01-09 04:03:58Z stephane $ +# $Id: PKGBUILD 123916 2011-05-14 10:31:07Z thomas $ # Maintainer: Thomas Bächler pkgname=acl -pkgver=2.2.49 -pkgrel=2 +pkgver=2.2.51 +pkgrel=1 pkgdesc="Access control list utilities, libraries and headers" arch=('i686' 'x86_64') url="http://savannah.nongnu.org/projects/acl" license=('LGPL') -depends=('attr>=2.4.41') +depends=('attr>=2.4.46') replaces=('xfsacl') provides=('xfsacl') conflicts=('xfsacl') options=('!libtool') -source=(http://mirrors.zerg.biz/nongnu/${pkgname}/${pkgname}-${pkgver}.src.tar.gz) -sha256sums=('b9c7f4752e4ef4930a62fa5aa0d7efe1cba2b5a3a2d6ee2b45c0a70c72b7e5d5') +source=(http://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.src.tar.gz) +sha256sums=('06854521cf5d396801af7e54b9636680edf8064355e51c07657ec7442a185225') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}"/${pkgname}-${pkgver} export INSTALL_USER=root INSTALL_GROUP=root ./configure --prefix=/usr --libdir=/lib --libexecdir=/usr/lib @@ -28,6 +28,7 @@ package() { make DIST_ROOT="${pkgdir}" install install-lib install-dev - rm ${pkgdir}/lib/libacl.a + # tidy up + rm -f ${pkgdir}/lib/libacl.a chmod 0755 ${pkgdir}/lib/libacl.so.*.*.* } diff --git a/core/attr/PKGBUILD b/core/attr/PKGBUILD index f8b942259..30f3ad81a 100644 --- a/core/attr/PKGBUILD +++ b/core/attr/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 115738 2011-03-20 22:30:28Z allan $ +# $Id: PKGBUILD 123916 2011-05-14 10:31:07Z thomas $ # Maintainer: Thomas Bächler pkgname=attr -pkgver=2.4.44 -pkgrel=3 +pkgver=2.4.46 +pkgrel=1 pkgdesc="Extended attribute support library for ACL support" arch=('i686' 'x86_64') -url="http://oss.sgi.com/projects/xfs/" +url="http://savannah.nongnu.org/projects/attr" license=('LGPL') depends=('glibc') makedepends=('gettext') @@ -13,32 +13,25 @@ replaces=('xfsattr') provides=('xfsattr') conflicts=('xfsattr') options=('!libtool') -source=(ftp://ftp.archlinux.org/other/attr/attr-${pkgver}.src.tar.gz) -sha256sums=('e01fa00686072a02dddf994e6217be950f51c1dc0852ad2e210c48b6e8de793a') +source=(http://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.src.tar.gz) +sha256sums=('dcd69bdca7ff166bc45141eddbcf21967999a6b66b0544be12a1cc2fd6340e1f') build() { - cd $srcdir/attr-$pkgver + cd "${srcdir}"/${pkgname}-${pkgver} - # prevent binaries being owned by nobody:nobody - sed -i 's#-o $(PKG_USER) -g $(PKG_GROUP)##' include/buildmacros - - autoconf - ./configure --prefix=/usr - sed -i -e 's/man2//g' man/Makefile + export INSTALL_USER=root INSTALL_GROUP=root + ./configure --prefix=/usr --libdir=/lib --libexecdir=/usr/lib make } package() { - cd $srcdir/attr-$pkgver - make prefix=${pkgdir}/usr install install-lib install-dev - - # tidy up - cd "${pkgdir}" + cd "${srcdir}"/${pkgname}-${pkgver} - install -dm755 lib - mv -v usr/lib/libattr.so* lib/ - ln -sv ../../lib/libattr.so.1 usr/lib/libattr.so + make DIST_ROOT="${pkgdir}" install install-lib install-dev - mv -v usr/libexec/libattr.{a,la} usr/lib/ - rm -rvf usr/libexec + # tidy up + rm -f "${pkgdir}"/lib/libattr.a + chmod 0755 "${pkgdir}"/lib/libattr.so.*.*.* + # remove conflicting manpages + rm -rf "${pkgdir}"/usr/share/man/man2 } diff --git a/core/cryptsetup/PKGBUILD b/core/cryptsetup/PKGBUILD index 67006a82a..0da5b0175 100644 --- a/core/cryptsetup/PKGBUILD +++ b/core/cryptsetup/PKGBUILD @@ -1,7 +1,7 @@ -# $Id: PKGBUILD 103928 2010-12-23 22:10:05Z thomas $ +# $Id: PKGBUILD 123894 2011-05-14 09:00:27Z thomas $ # Maintainer: Thomas Bächler pkgname=cryptsetup -pkgver=1.2.0 +pkgver=1.3.0 pkgrel=1 pkgdesc="Userspace setup tool for transparent encryption of block devices using the Linux 2.6 cryptoapi" arch=(i686 x86_64) @@ -14,7 +14,7 @@ options=('!libtool' '!emptydirs') source=(http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2 encrypt_hook encrypt_install) -sha256sums=('411129817ff29e6a957bcbdcd9a2c4c953c1539acd8af912c383262ba901b5ea' +sha256sums=('c675059a25061851dcaf9732a2118d75585097c8fbb3985026526988e8d76394' '64601eae6fbf3e3afceccec5877557aa208a82497c33cc94ad0a686b4022b5dc' '8e4920bb4b5ce96508aa0c42b9b07326b70daf630519f1aa1d8082bca709c12a') diff --git a/core/libgssglue/PKGBUILD b/core/libgssglue/PKGBUILD index 85ed0d2e0..493598561 100644 --- a/core/libgssglue/PKGBUILD +++ b/core/libgssglue/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 102146 2010-12-06 09:49:56Z allan $ +# $Id: PKGBUILD 123644 2011-05-12 06:23:26Z tpowa $ # Maintainer: Tobias Powalowski pkgname=libgssglue pkgver=0.1 -pkgrel=3 +pkgrel=4 pkgdesc="Exports a gssapi interface which calls other random gssapi libraries" arch=('i686' 'x86_64') url="http://www.citi.umich.edu/projects/nfsv4/linux/" @@ -15,7 +15,7 @@ options=('!libtool') source=(http://www.citi.umich.edu/projects/nfsv4/linux/$pkgname/$pkgname-$pkgver.tar.gz gssapi_mech.conf) md5sums=('ce1b4c758e6de01b712d154c5c97e540' - '234b9cca75a33af98eda3f1683756879') + '080be866717e4e06fa6f7d6f43cb395a') build() { cd "$srcdir"/$pkgname-$pkgver diff --git a/core/libgssglue/gssapi_mech.conf b/core/libgssglue/gssapi_mech.conf index f71aca08e..9a832ee1b 100644 --- a/core/libgssglue/gssapi_mech.conf +++ b/core/libgssglue/gssapi_mech.conf @@ -15,8 +15,8 @@ # library initialization function # ================================ ========================== # The MIT K5 gssapi library, use special function for initialization. -#/usr/lib/libgssapi_krb5.so mechglue_internal_krb5_init -/usr/lib/libgssapi.so mechglue_internal_krb5_init +/usr/lib/libgssapi_krb5.so mechglue_internal_krb5_init +#/usr/lib/libgssapi.so mechglue_internal_krb5_init # # The SPKM3 gssapi library function. Use the function spkm3_gss_initialize. # /usr/local/gss_mechs/spkm/spkm3/libgssapi_spkm3.so spkm3_gss_initialize diff --git a/core/lvm2/Be-quiet-on-removing-cache-on-read-only-fs.diff b/core/lvm2/Be-quiet-on-removing-cache-on-read-only-fs.diff new file mode 100644 index 000000000..e75499e8e --- /dev/null +++ b/core/lvm2/Be-quiet-on-removing-cache-on-read-only-fs.diff @@ -0,0 +1,17 @@ +Do not issue an error message when unable to remove .cache on read-only fs. +=================================================================== +RCS file: /cvs/lvm2/LVM2/lib/filters/filter-persistent.c,v +retrieving revision 1.49 +retrieving revision 1.50 +diff -u -r1.49 -r1.50 +--- LVM2/lib/filters/filter-persistent.c 2011/04/22 12:05:33 1.49 ++++ LVM2/lib/filters/filter-persistent.c 2011/05/12 12:42:48 1.50 +@@ -108,7 +108,7 @@ + log_very_verbose("Obtaining device list from " + "udev. Removing obolete %s.", + pf->file); +- if (unlink(pf->file) < 0) ++ if (unlink(pf->file) < 0 && errno != EROFS) + log_sys_error("unlink", pf->file); + } + return 1; diff --git a/core/lvm2/PKGBUILD b/core/lvm2/PKGBUILD index 3a946ff04..e7129b765 100644 --- a/core/lvm2/PKGBUILD +++ b/core/lvm2/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 109502 2011-02-10 10:44:18Z eric $ +# $Id: PKGBUILD 123786 2011-05-13 00:53:49Z eric $ # Maintainer: Eric Bélanger # Maintainer: Thomas Bächler pkgbase=lvm2 pkgname=('lvm2' 'device-mapper') -pkgver=2.02.84 +pkgver=2.02.85 _pkgverlvm=${pkgver} pkgrel=1 arch=('i686' 'x86_64') @@ -14,15 +14,21 @@ groups=('base') conflicts=('mkinitcpio<0.5.99') source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz lvm2_install - lvm2_hook) -md5sums=('8b4e0897ee48f02c0dff11940e44e23b' 'e29bc80d636ed17b617d9b384a5f3aa0'\ - '7103e3fef1180478811ac4e32aec540d') -sha1sums=('6d92f4474f93c7d3824a0eb3469c7e4f9ef8f1d4' '662fc54ce291fd79bd09701e4c3e10854f325282'\ - '769767d84c73674cbb68c765460e57c428c314a0') + lvm2_hook + Be-quiet-on-removing-cache-on-read-only-fs.diff) +md5sums=('91785ca438e5ce679dd3a386b183d552' + 'e29bc80d636ed17b617d9b384a5f3aa0' + 'cf05f2c7281e24269ea9dcc6b4e106ba' + '6db89da27928d2415a8e26cd0a842712') +sha1sums=('43ba2a3be84b2e897ae6b47b0b0be7e212216be7' + '662fc54ce291fd79bd09701e4c3e10854f325282' + '1cd20e8fbad6fd7d5c0f54e831fbf58ae564b440' + '6d7dd04be291d7537235704c816a701fd5beacc0') build() { cd "${srcdir}/LVM2.${_pkgverlvm}" sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh + patch -p1 -i ../Be-quiet-on-removing-cache-on-read-only-fs.diff unset LDFLAGS ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \ --includedir=/usr/include --with-usrlibdir=/usr/lib \ diff --git a/core/lvm2/lvm2_hook b/core/lvm2/lvm2_hook index d6d1c1f94..86d2ea582 100644 --- a/core/lvm2/lvm2_hook +++ b/core/lvm2/lvm2_hook @@ -18,6 +18,7 @@ run_hook () [ "${quiet}" = "y" ] && LVMQUIET=">/dev/null" msg "Activating logical volumes..." + [ -d /etc/lvm ] && /sbin/lvm vgscan --sysinit eval /sbin/lvm vgchange --sysinit -a y $LVMQUIET fi } diff --git a/core/lzo2/PKGBUILD b/core/lzo2/PKGBUILD index 4f2889baf..b9aa75ad5 100644 --- a/core/lzo2/PKGBUILD +++ b/core/lzo2/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 100405 2010-11-23 12:35:30Z stephane $ +# $Id: PKGBUILD 122309 2011-05-03 18:52:51Z tpowa $ # Contributor: Low Kian Seong # Maintainer: dorphell pkgname=lzo2 -pkgver=2.04 +pkgver=2.05 pkgrel=1 pkgdesc="Portable lossless data compression library" arch=('i686' 'x86_64') @@ -11,7 +11,7 @@ license=('GPL') depends=('glibc') source=(http://www.oberhumer.com/opensource/lzo/download/lzo-${pkgver}.tar.gz) options=(!libtool) -sha1sums=('f5bf5c7ae4116e60513e5788d156ef78946677e7') +md5sums=('c67cda5fa191bab761c7cb06fe091e36') build() { cd "${srcdir}/lzo-${pkgver}" diff --git a/core/udev/01-settle.patch b/core/udev/01-settle.patch new file mode 100644 index 000000000..88e23d2a2 --- /dev/null +++ b/core/udev/01-settle.patch @@ -0,0 +1,68 @@ +From 2738ec2cf721db0c0deac2ba0abdc73cf7739e9f Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Mon, 16 May 2011 13:17:48 +0200 +Subject: [PATCH 1/7] udevd: create queue file before daemonizing to reliably + block 'settle' + +--- + udev/udevd.c | 22 ++++++++++++---------- + 1 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/udev/udevd.c b/udev/udevd.c +index be4b071..258d787 100644 +--- a/udev/udevd.c ++++ b/udev/udevd.c +@@ -1408,6 +1408,13 @@ int main(int argc, char *argv[]) + + udev_monitor_set_receive_buffer_size(monitor, 128*1024*1024); + ++ /* create queue file before signalling 'ready', to make sure we block 'settle' */ ++ udev_queue_export = udev_queue_export_new(udev); ++ if (udev_queue_export == NULL) { ++ err(udev, "error creating queue file\n"); ++ goto exit; ++ } ++ + if (daemonize) { + pid_t pid; + int fd; +@@ -1421,8 +1428,8 @@ int main(int argc, char *argv[]) + rc = 4; + goto exit; + default: +- rc = 0; +- goto exit; ++ rc = EXIT_SUCCESS; ++ goto exit_keep_queue; + } + + setsid(); +@@ -1521,12 +1528,6 @@ int main(int argc, char *argv[]) + goto exit; + } + +- udev_queue_export = udev_queue_export_new(udev); +- if (udev_queue_export == NULL) { +- err(udev, "error creating queue file\n"); +- goto exit; +- } +- + memset(&ep_ctrl, 0, sizeof(struct epoll_event)); + ep_ctrl.events = EPOLLIN; + ep_ctrl.data.fd = fd_ctrl; +@@ -1708,9 +1709,10 @@ int main(int argc, char *argv[]) + } + } + +- udev_queue_export_cleanup(udev_queue_export); +- rc = 0; ++ rc = EXIT_SUCCESS; + exit: ++ udev_queue_export_cleanup(udev_queue_export); ++exit_keep_queue: + if (fd_ep >= 0) + close(fd_ep); + worker_list_cleanup(udev); +-- +1.7.5.1 + diff --git a/core/udev/02-settle.patch b/core/udev/02-settle.patch new file mode 100644 index 000000000..4bcb7fdde --- /dev/null +++ b/core/udev/02-settle.patch @@ -0,0 +1,29 @@ +From 12f79fb0b9c919787d8a7d4307895d3d6b4b029b Mon Sep 17 00:00:00 2001 +From: Nix +Date: Mon, 16 May 2011 22:51:38 +0200 +Subject: [PATCH 7/7] libudev: queue - accept NULL passed into + udev_queue_export_cleanup() + +--- + libudev/libudev-queue-private.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/libudev/libudev-queue-private.c b/libudev/libudev-queue-private.c +index 0dcf9b0..6e13d8a 100644 +--- a/libudev/libudev-queue-private.c ++++ b/libudev/libudev-queue-private.c +@@ -104,9 +104,10 @@ void udev_queue_export_cleanup(struct udev_queue_export *udev_queue_export) + { + char filename[UTIL_PATH_SIZE]; + ++ if (udev_queue_export == NULL) ++ return; + util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev_queue_export->udev), "/queue.tmp", NULL); + unlink(filename); +- + util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev_queue_export->udev), "/queue.bin", NULL); + unlink(filename); + } +-- +1.7.5.1 + diff --git a/core/udev/PKGBUILD b/core/udev/PKGBUILD index 44c2cf9d7..d596361c9 100644 --- a/core/udev/PKGBUILD +++ b/core/udev/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 123587 2011-05-11 16:38:57Z tomegun $ +# $Id: PKGBUILD 124183 2011-05-17 13:17:56Z tomegun $ # Maintainer: Aaron Griffin # Maintainer: Tobias Powalowski # Maintainer: Thomas Bächler @@ -7,7 +7,7 @@ pkgbase="udev" pkgname=('udev' 'udev-compat') pkgver=168 -pkgrel=1 +pkgrel=2 arch=(i686 x86_64) url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" license=('GPL') @@ -19,10 +19,15 @@ source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.ta 80-drivers.rules 81-arch.rules load-modules.sh - cdsymlinks.sh) + cdsymlinks.sh + 01-settle.patch + 02-settle.patch) build() { cd $srcdir/$pkgbase-$pkgver + # fix https://bugs.archlinux.org/task/24288 + patch -Np1 -i ../01-settle.patch + patch -Np1 -i ../02-settle.patch ./configure --sysconfdir=/etc --with-rootlibdir=/lib --libexecdir=/lib/udev\ --sbindir=/sbin --with-systemdsystemunitdir=/lib/systemd/system make @@ -109,8 +114,10 @@ package_udev-compat() { install -d -m755 ${pkgdir}/lib/${pkgbase}/rules.d install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules } -md5sums=('4a466078532ab5dd5c35acc3ea2ec9a1' - '4427855146513a4703ab5c7eb8a0156e' - 'f17c99779173ddc79f866cf3a5de5e68' - 'f91fddc67609b45b244a624977c4247b' - '2e808ee78d237c478b57af2a68d43769') +sha256sums=('9ddc43173cf7b397c8cc01d26d644932ff2c2259b3a5eea7be90db96a28080e2' + '0cb99cc7cea92238dd6b19a4c104c3b9e9f744c6b9d6b4382c7cd22be18c98f9' + '377c13f20de32776107dddc8324f599f31320e8dd1185e3282856aee5cb08499' + 'c6b41afb24e8f496064d8baad844697a6515cea1b7e0389054cd8a2053477377' + 'cc0d281926bf2f1ac816c0060a2afc59444ddf0f8dab6e2d9924a2a7c8de4a13' + '70d2fd079901bf9940c4811ec91634da0d8b3425ebcdbffeba5a73cb616be650' + 'fe9d1aafb1a620108790d82960577de4eb757450c35a146475aed3f5e9356f1a') diff --git a/extra/farsight2/PKGBUILD b/extra/farsight2/PKGBUILD index e25c5dd47..7051b8d7d 100644 --- a/extra/farsight2/PKGBUILD +++ b/extra/farsight2/PKGBUILD @@ -1,15 +1,16 @@ -# $Id: PKGBUILD 124105 2011-05-16 15:51:02Z ibiru $ +# $Id: PKGBUILD 124193 2011-05-17 15:41:27Z ibiru $ # Maintainer: Ionut Biru # Contributor: William Díaz pkgname=farsight2 pkgver=0.0.28 -pkgrel=1 +pkgrel=2 pkgdesc="Audio/Video conference software for Instant Messengers" arch=('i686' 'x86_64') url="http://farsight.freedesktop.org" license=('LGPL') -depends=('libnice' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'gstreamer0.10-bad-plugins' 'gstreamer0.10-python' 'pygobject') +depends=('libnice' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good' 'gstreamer0.10-bad' 'gstreamer0.10-python' 'pygobject') +optdepends=('gstreamer0.10-ugly-plugins: h264 codec') options=('!libtool' '!emptydirs') source=(http://farsight.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz) md5sums=('38767e775067270754a32aaf8e3a7db1') diff --git a/extra/libvncserver/PKGBUILD b/extra/libvncserver/PKGBUILD index a2d9302ee..72fa515e3 100644 --- a/extra/libvncserver/PKGBUILD +++ b/extra/libvncserver/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 120955 2011-04-27 19:24:20Z andrea $ +# $Id: PKGBUILD 124232 2011-05-17 19:20:06Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Tobias Powalowski pkgname=libvncserver pkgver=0.9.8 -pkgrel=1 +pkgrel=2 pkgdesc="A cross-platform C libraries that allow you to easily implement VNC server" arch=('i686' 'x86_64') url="http://libvncserver.sourceforge.net/" license=('GPL') -depends=('libjpeg' 'zlib') +depends=('libjpeg' 'zlib' 'gnutls') options=('!libtool') source=("http://downloads.sourceforge.net/${pkgname}/LibVNCServer-${pkgver}.tar.gz") md5sums=('dda9e75a1d5d7c37bb57d90ead7b32b3') diff --git a/extra/midori/PKGBUILD b/extra/midori/PKGBUILD index 356bda657..1c245bb45 100644 --- a/extra/midori/PKGBUILD +++ b/extra/midori/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 122421 2011-05-04 06:44:02Z andyrtr $ +# $Id: PKGBUILD 124201 2011-05-17 17:28:05Z andyrtr $ # Maintainer: Andreas Radke # Contributor: rabyte # Contributor: Johannes Krampf pkgname=midori #_gitdate=20090306 -pkgver=0.3.5 #_git${_gitdate} +pkgver=0.3.6 #_git${_gitdate} pkgrel=1 pkgdesc="A lightweight web browser based on Gtk WebKit" arch=('i686' 'x86_64') @@ -18,7 +18,7 @@ optdepends=('vala: for use in extensions') source=(http://archive.xfce.org/src/apps/$pkgname/0.3/$pkgname-$pkgver.tar.bz2 #midori-${_gitdate}.tar.bz2 ) -md5sums=('f92f0f11276d63150fd321dc08d575fb') +md5sums=('c4cb0686601b1c470c317de3d3f8e8fd') # source PKGBUILD && mksource mksource() { diff --git a/extra/qemu-kvm/PKGBUILD b/extra/qemu-kvm/PKGBUILD index 04e93f2f9..8e1165edc 100644 --- a/extra/qemu-kvm/PKGBUILD +++ b/extra/qemu-kvm/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 110855 2011-02-22 19:17:39Z tpowa $ +# $Id: PKGBUILD 124173 2011-05-17 12:44:55Z tpowa $ # Maintainer: Tobias Powalowski pkgname=qemu-kvm pkgver=0.14.0 -pkgrel=1 +pkgrel=2 pkgdesc="Latest KVM QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation." arch=(i686 x86_64) license=('GPL2' 'LGPL2.1') @@ -16,6 +16,7 @@ provides=('qemu') replaces=('kvm') source=(http://downloads.sourceforge.net/kvm/${pkgname}-${pkgver}.tar.gz 65-kvm.rules) +options=(!strip) build() { @@ -24,7 +25,7 @@ build() ./configure --prefix=/usr \ --sysconfdir=/etc \ --audio-drv-list=alsa,sdl,oss,esd \ - --audio-card-list=ac97,sb16,es1370,adlib \ + --audio-card-list=ac97,sb16,es1370,hda \ --enable-docs make } @@ -44,6 +45,13 @@ package() # install udev rules install -D -m644 ${srcdir}/65-kvm.rules \ ${pkgdir}/lib/udev/rules.d/65-kvm.rules + # strip scripts directory + find ${pkgdir}/usr/bin -type f -perm -u+w 2>/dev/null | while read binary ; do + case "$(file -bi "$binary")" in + *application/x-executable*) # Binaries + /usr/bin/strip $STRIP_BINARIES "$binary";; + esac + done } md5sums=('4ea6f412d85a826e0b0690f5c4c59f13' 'b316a066d2f1bb57d8f5b7ea1d0d1caf') diff --git a/extra/qemu/PKGBUILD b/extra/qemu/PKGBUILD index 12baed1c6..c1ed81cf3 100644 --- a/extra/qemu/PKGBUILD +++ b/extra/qemu/PKGBUILD @@ -1,7 +1,7 @@ -# $Id: PKGBUILD 110725 2011-02-21 20:11:19Z tpowa $ +# $Id: PKGBUILD 124178 2011-05-17 13:06:59Z tpowa $ # Maintainer: Tobias Powalowski pkgname=qemu -pkgver=0.14.0 +pkgver=0.14.1 pkgrel=1 pkgdesc="QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation." arch=('i686' 'x86_64') @@ -13,13 +13,14 @@ backup=('etc/qemu/target-x86_64.conf') install=qemu.install source=(http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.gz 65-kvm.rules) +options=(!strip) build() { cd ${srcdir}/${pkgname}-${pkgver} sed -i -e 's/lib64/lib/g' x86_64.ld ./configure --prefix=/usr --sysconfdir=/etc --audio-drv-list=oss,alsa,sdl,esd \ - --audio-card-list=ac97,sb16,es1370,adlib \ + --audio-card-list=ac97,sb16,es1370,hda \ --enable-docs \ --kerneldir="/usr/src/linux-$(uname -r)" make @@ -30,6 +31,14 @@ package() { make DESTDIR=${pkgdir} install install -D -m644 ${srcdir}/65-kvm.rules \ ${pkgdir}/lib/udev/rules.d/65-kvm.rules + # strip scripts directory + find ${pkgdir}/usr/src/linux-${_kernver}/scripts -type f -perm -u+w 2>/dev/null | while read binary ; do + case "$(file -bi "$binary")" in + *application/x-executable*) # Binaries + /usr/bin/strip $STRIP_BINARIES "$binary";; + esac + done + } -md5sums=('f9d145d5c09de9f0984ffe9bd1229970' +md5sums=('b6c713a8db638e173af53a62d5178640' 'b316a066d2f1bb57d8f5b7ea1d0d1caf') diff --git a/extra/transmission/PKGBUILD b/extra/transmission/PKGBUILD index 03f967d13..60dcbc981 100644 --- a/extra/transmission/PKGBUILD +++ b/extra/transmission/PKGBUILD @@ -1,20 +1,19 @@ -# $Id: PKGBUILD 115693 2011-03-19 13:02:20Z ibiru $ +# $Id: PKGBUILD 124188 2011-05-17 15:28:51Z ibiru $ # Maintainer : Ionut Biru pkgbase=transmission pkgname=('transmission-cli' 'transmission-gtk' 'transmission-qt') -pkgver=2.22 -pkgrel=3 +pkgver=2.30 +pkgrel=1 arch=('i686' 'x86_64') url="http://www.transmissionbt.com/" license=('MIT') -makedepends=('intltool' 'curl' 'libnotify' 'desktop-file-utils' 'qt' 'libevent' 'libcanberra' 'dbus-glib') +makedepends=('gtk2' 'intltool' 'curl' 'libnotify' 'desktop-file-utils' 'qt' 'libevent' 'libcanberra' 'dbus-glib') source=(http://mirrors.m0k.org/transmission/files/${pkgbase}-${pkgver}.tar.bz2 transmissiond transmissiond.conf) -md5sums=('6499986bf769276310b00bda1090090d' - '50b7c17300bc8b38f44fb6f681ba05d0' +md5sums=('d812539eb6e8547614ab7d0d5c6496a8' + '08875299e3fbb68fc546c1f350ac1f06' 'be39806c35b7544856fa4070b00fc960') - build() { cd "${srcdir}/${pkgbase}-${pkgver}" @@ -63,6 +62,7 @@ package_transmission-qt() { pkgdesc="Fast, easy, and free BitTorrent client (Qt GUI)" depends=('curl' 'qt' 'libevent') optdepends=('transmission-cli: daemon and web support') + install=transmission-qt.install cd "${srcdir}/${pkgbase}-${pkgver}" diff --git a/extra/transmission/transmission-qt.install b/extra/transmission/transmission-qt.install new file mode 100644 index 000000000..e111ef946 --- /dev/null +++ b/extra/transmission/transmission-qt.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/extra/transmission/transmissiond b/extra/transmission/transmissiond index ff83bd331..1b4b4dc0e 100644 --- a/extra/transmission/transmissiond +++ b/extra/transmission/transmissiond @@ -31,7 +31,16 @@ case "$1" in while [ ! -z "$PID" -a -d "/proc/$PID" ]; do sleep 1; done $0 start ;; + reload) + stat_busy "Reloading config" + [ ! -z "$PID" ] && kill -HUP $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + stat_done + fi + ;; *) - echo "usage: $0 {start|stop|restart}" + echo "usage: $0 {start|stop|restart|reload}" esac exit 0 diff --git a/extra/uim/PKGBUILD b/extra/uim/PKGBUILD index fb26f8a91..67055a5d1 100644 --- a/extra/uim/PKGBUILD +++ b/extra/uim/PKGBUILD @@ -1,32 +1,29 @@ -# $Id: PKGBUILD 109572 2011-02-10 20:32:59Z bisson $ -# Maintainer: damir +# $Id: PKGBUILD 124164 2011-05-17 08:27:15Z bisson $ +# Maintainer: Gaetan Bisson +# Contributor: damir pkgname=uim -pkgver=1.6.1 -pkgrel=2 +pkgver=1.7.0 +pkgrel=1 pkgdesc='Multilingual input method library' arch=('i686' 'x86_64') url='http://code.google.com/p/uim/' -license=('custom') +license=('custom:BSD') depends=('gtk2' 'libxft' 'libedit' 'anthy' 'm17n-lib') makedepends=('intltool' 'gettext' 'gnome-panel') optdepends=('gnome-panel: gnome applet indicator') options=('!libtool') -source=("http://uim.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2" - 'home.patch') -sha1sums=('412bb2df6041185084e2f64fb73357389bf992b5' - 'dbcf90f3ea246c5723d715e0935072baa9364cd2') +source=("http://uim.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('b79ed80c2557e804e6d3d2771a213a29cd932a73') install=install build() { cd "${srcdir}/${pkgname}-${pkgver}" - - # UIM's Makefile needs to write in $HOME - patch -p0 < ../home.patch; export HOME="`pwd`" - - ./configure --prefix=/usr --libexecdir=/usr/lib/uim \ - --with-anthy-utf8 + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib/uim \ + --with-anthy-utf8 make } diff --git a/extra/uim/install b/extra/uim/install index ffed34d01..a2d5e00e6 100644 --- a/extra/uim/install +++ b/extra/uim/install @@ -1,13 +1,13 @@ post_install() { - echo -n "updating gtk.immodules... " - usr/bin/gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules - echo "done." + echo -n "updating gtk.immodules... " + usr/bin/gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules + echo "done." } post_upgrade() { - post_install + post_install } post_remove() { - post_install + post_install } diff --git a/libre/initscripts/PKGBUILD b/libre/initscripts/PKGBUILD index 0d7c0b367..63a7c1545 100644 --- a/libre/initscripts/PKGBUILD +++ b/libre/initscripts/PKGBUILD @@ -5,7 +5,7 @@ # Maintainer (Parabola): Nicolas Reynolds pkgname=initscripts -pkgver=2011.04.1 +pkgver=2011.05.2 pkgrel=1.1 pkgdesc="System initialization/bootup scripts (Parabola branding)" arch=('i686' 'x86_64') @@ -13,19 +13,19 @@ url="http://parabolagnulinux.org" license=('GPL2') groups=('base') backup=(etc/inittab etc/rc.conf etc/rc.local etc/rc.local.shutdown etc/conf.d/wireless) -depends=('bash' 'grep' 'coreutils' 'udev' +depends=('bash' 'grep' 'coreutils' 'udev>=167' 'net-tools' 'ncurses' 'kbd' 'findutils' 'sysvinit') optdepends=('bridge-utils: Network bridging support' 'dhcpcd: DHCP network configuration' 'wireless_tools: Wireless networking') install=initscripts.install -source=("http://projects.parabolagnulinux.org/initscripts.git/snapshot/initscripts-${pkgver}.tar.bz2" +source=("https://projects.parabolagnulinux.org/initscripts.git/snapshot/initscripts-${pkgver}.tar.bz2" 'wireless.conf.d') -md5sums=('9c9cca84f5601700f3f1d0303aa1e058' +md5sums=('f807b43a4dd43a6cf562f10651577ad2' '027576534885b8d5dded9be546057b12') package() { cd ${srcdir}/${pkgname}-${pkgver} - DESTDIR=${pkgdir} ./install.sh + make DESTDIR=${pkgdir} install install -D -m644 ${srcdir}/wireless.conf.d ${pkgdir}/etc/conf.d/wireless } diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD new file mode 100644 index 000000000..dfdc56f09 --- /dev/null +++ b/libre/pacman/PKGBUILD @@ -0,0 +1,71 @@ +# $Id: PKGBUILD 120035 2011-04-18 16:49:22Z dan $ +# Maintainer: Dan McGee + +pkgname=pacman +pkgver=3.5.2 +pkgrel=1.1 +pkgdesc="A library-based package manager with dependency support" +arch=('i686' 'x86_64') +url="http://www.archlinux.org/pacman/" +license=('GPL') +groups=('base') +depends=('bash' 'libarchive>=2.8.4' 'libfetch>=2.28' 'pacman-mirrorlist') +optdepends=('fakeroot: for makepkg usage as normal user' + 'curl: for rankmirrors usage') +backup=(etc/pacman.conf etc/makepkg.conf) +install=pacman.install +options=(!libtool) +source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz + pacman.conf + pacman.conf.x86_64 + makepkg.conf) +md5sums=('b4f1fdbc17100923071ebe8fe9377be5' + 'c7e6dbee04b7c492febea4366519b91d' + '8809642ed398d2b9b98c5974b8b5e348' + 'a8684989d3dfad5a6e1bcf95af3e571b') + +# keep an upgrade path for older installations +PKGEXT='.pkg.tar.gz' + +build() { + cd $srcdir/$pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --enable-doc + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install + + # install Arch specific stuff + mkdir -p $pkgdir/etc + case "$CARCH" in + i686) + install -m644 $srcdir/pacman.conf $pkgdir/etc/pacman.conf + mycarch="i686" + mychost="i686-pc-linux-gnu" + myflags="-march=i686 " + ;; + x86_64) + install -m644 $srcdir/pacman.conf.x86_64 $pkgdir/etc/pacman.conf + mycarch="x86_64" + mychost="x86_64-unknown-linux-gnu" + myflags="-march=x86-64 " + ;; + esac + install -m644 $srcdir/makepkg.conf $pkgdir/etc/ + # set things correctly in the default conf file + sed -i $pkgdir/etc/makepkg.conf \ + -e "s|@CARCH[@]|$mycarch|g" \ + -e "s|@CHOST[@]|$mychost|g" \ + -e "s|@CARCHFLAGS[@]|$myflags|g" + + # install completion files + mkdir -p $pkgdir/etc/bash_completion.d/ + install -m644 contrib/bash_completion $pkgdir/etc/bash_completion.d/pacman + mkdir -p $pkgdir/usr/share/zsh/site-functions/ + install -m644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman +} + +# vim: set ts=2 sw=2 et: diff --git a/libre/pacman/makepkg.conf b/libre/pacman/makepkg.conf new file mode 100644 index 000000000..a655e935f --- /dev/null +++ b/libre/pacman/makepkg.conf @@ -0,0 +1,114 @@ +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u' + 'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u' + 'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u' + 'rsync::/usr/bin/rsync -z %u %o' + 'scp::/usr/bin/scp -C %u %o') + +# Other common tools: +# /usr/bin/snarf +# /usr/bin/lftpget -c +# /usr/bin/curl + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="@CARCH@" +CHOST="@CHOST@" + +#-- Exclusive: will only run on @CARCH@ +# -march (or -mcpu) builds exclusively for an architecture +# -mtune optimizes for an architecture, but builds for whole processor family +CFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe" +CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe" +LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed" +#-- Make Flags: change this for DistCC/SMP systems +#MAKEFLAGS="-j2" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# Defaults: BUILDENV=(fakeroot !distcc color !ccache check) +# A negated environment option will do the opposite of the comments below. +# +#-- fakeroot: Allow building packages as a non-root user +#-- distcc: Use the Distributed C/C++/ObjC compiler +#-- color: Colorize output messages +#-- ccache: Use ccache to cache compilation +#-- check: Run the check() function if present in the PKGBUILD +# +BUILDENV=(fakeroot !distcc color !ccache check) +# +#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, +#-- specify a space-delimited list of hosts running in the DistCC cluster. +#DISTCC_HOSTS="" + +######################################################################### +# GLOBAL PACKAGE OPTIONS +# These are default values for the options=() settings +######################################################################### +# +# Default: OPTIONS=(strip docs libtool emptydirs zipman purge) +# A negated option will do the opposite of the comments below. +# +#-- strip: Strip symbols from binaries/libraries +#-- docs: Save doc directories specified by DOC_DIRS +#-- libtool: Leave libtool (.la) files in packages +#-- emptydirs: Leave empty directories in packages +#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip +#-- purge: Remove files specified by PURGE_TARGETS +# +OPTIONS=(strip docs libtool emptydirs zipman purge) + +#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 +INTEGRITY_CHECK=(md5) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" +#-- Manual (man and info) directories to compress (if zipman is specified) +MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) +#-- Doc directories to remove (if !docs is specified) +DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) +#-- Files to be removed from all packages (if purge is specified) +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) + +######################################################################### +# PACKAGE OUTPUT +######################################################################### +# +# Default: put built package and cached source in build directory +# +#-- Destination: specify a fixed directory where all packages will be placed +#PKGDEST=/home/packages +#-- Source cache: specify a fixed directory where source files will be cached +#SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages +#-- Packager: name/email of the person or organization building packages +#PACKAGER="John Doe " + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +# WARNING: Do NOT modify these variables unless you know what you are +# doing. +# +PKGEXT='.pkg.tar.xz' +SRCEXT='.src.tar.gz' + +# vim: set ft=sh ts=2 sw=2 et: diff --git a/libre/pacman/pacman.conf b/libre/pacman/pacman.conf new file mode 100644 index 000000000..675956d3d --- /dev/null +++ b/libre/pacman/pacman.conf @@ -0,0 +1,86 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +HoldPkg = pacman glibc +# If upgrades are available for these packages they will be asked for first +SyncFirst = pacman +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#XferCommand = /usr/bin/curl -C - -f %u > %o +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options (all disabled by default) +#UseSyslog +#ShowSize +#UseDelta +#TotalDownload +#CheckSpace + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[libre-testing] +#Include = /etc/pacman.d/mirrorlist + +[libre] +Include = /etc/pacman.d/mirrorlist + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#Server = file:///home/custompkgs + diff --git a/libre/pacman/pacman.conf.x86_64 b/libre/pacman/pacman.conf.x86_64 new file mode 100644 index 000000000..ed460dd8b --- /dev/null +++ b/libre/pacman/pacman.conf.x86_64 @@ -0,0 +1,95 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +HoldPkg = pacman glibc +# If upgrades are available for these packages they will be asked for first +SyncFirst = pacman +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#XferCommand = /usr/bin/curl -C - -f %u > %o +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options (all disabled by default) +#UseSyslog +#ShowSize +#UseDelta +#TotalDownload +#CheckSpace + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[libre-testing] +#Include = /etc/pacman.d/mirrorlist + +[libre] +Include = /etc/pacman.d/mirrorlist + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +#[multilib] +#Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#Server = file:///home/custompkgs + diff --git a/libre/pacman/pacman.install b/libre/pacman/pacman.install new file mode 100644 index 000000000..0e598bb4b --- /dev/null +++ b/libre/pacman/pacman.install @@ -0,0 +1,62 @@ +#!/bin/sh +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + # one time stuff for md5sum issue with older pacman versions + if [ "$(vercmp $2 3.0.2)" -lt 0 ]; then + _resetbackups + fi + if [ "$(vercmp $2 3.5.0)" -lt 0 ]; then + _warnupgrade + fi +} + +_warnupgrade() { + echo ">>> The pacman database format has changed as of pacman 3.5.0." + echo ">>> You will need to run \`pacman-db-upgrade\` as root." + echo ">>>" +} + +_resetbackups() { + echo ">>> Performing one-time reset of NoUpgrade md5sums. After this reset" + echo ">>> you are able to remove all NoUpgrade lines of already protected" + echo ">>> files from pacman.conf." + echo ">>>" + + # path variables + pacconf="/etc/pacman.conf" + dbpath="/var/lib/pacman/local" + + # get a list of NoUpgrade files from the user's pacman.conf + echo ">>> Retrieving pacman.conf NoUpgrade list..." + config=$(grep "^NoUpgrade" $pacconf | cut -d'=' -f2) + # add the standard list of files, even if they are already above + config="$config \ + etc/passwd etc/group etc/shadow etc/sudoers \ + etc/fstab etc/raidtab etc/ld.so.conf \ + etc/rc.conf etc/rc.local \ + etc/modprobe.conf etc/modules.conf \ + etc/lilo.conf boot/grub/menu.lst" + + # blank md5sum for use in sed expression + zeroes='00000000000000000000000000000000' + + for file in $config; do + echo ">>> -> finding owner of /$file..." + line=$(LC_ALL=C LANG=C pacman -Qo /$file 2>/dev/null) + # if file is owned by a package, go find its incorrectly stored sum + if [ ! -z "$line" ]; then + # get the name and version of the package owning file + name=$(echo $line | awk '{print $5}') + version=$(echo $line | awk '{print $6}') + # set the path to the backup array holding the md5sum + path="$dbpath/$name-$version/files" + # run a sed on the path to reset the line containing $file + # NOTE: literal tab characters in sed expression after $file + echo ">>> -> resetting sum of /$file..." + sed -i "s#$file [0-9a-fA-F]*#$file $zeroes#" $path + else + echo ">>> -> $file is unowned." + fi + done +} diff --git a/libre/pacman/rePKGBUILD b/libre/pacman/rePKGBUILD new file mode 100644 index 000000000..09e0f4b3e --- /dev/null +++ b/libre/pacman/rePKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 120035 2011-04-18 16:49:22Z dan $ +# Maintainer: Dan McGee + +CARCH=x86_64 +pkgname=pacman +pkgver=3.5.2 +pkgrel=1.1 +_pkgrel=1 +pkgdesc="A library-based package manager with dependency support" +arch=('i686' 'x86_64') +url="http://www.archlinux.org/pacman/" +license=('GPL') +groups=('base') +depends=('bash' 'libarchive>=2.8.4' 'libfetch>=2.28' 'pacman-mirrorlist') +optdepends=('fakeroot: for makepkg usage as normal user' + 'curl: for rankmirrors usage') +backup=(etc/pacman.conf etc/makepkg.conf) +install=pacman.install +options=(!libtool !strip) +source=(http://repo.parabolagnulinux.org/core/os/$CARCH/$pkgname-$pkgver-$_pkgrel-$CARCH.pkg.tar.gz + pacman.conf + pacman.conf.x86_64 + makepkg.conf) + +# keep an upgrade path for older installations +PKGEXT='.pkg.tar.gz' + +build() { + cd "${srcdir}/" + rm .{INSTALL,PKGINFO} $pkgname-$pkgver-$_pkgrel-$CARCH.pkg.tar.gz + +} + +package() { + cp -a ./* ${pkgdir} + rm $pkgdir/etc/pacman.conf + + case "$CARCH" in + i686) + install -m644 $srcdir/pacman.conf $pkgdir/etc/pacman.conf + ;; + x86_64) + install -m644 $srcdir/pacman.conf.x86_64 $pkgdir/etc/pacman.conf + ;; + esac +} + +# vim: set ts=2 sw=2 et: diff --git a/multilib-testing/lib32-llvm/PKGBUILD b/multilib-testing/lib32-llvm/PKGBUILD new file mode 100644 index 000000000..ff7f4f050 --- /dev/null +++ b/multilib-testing/lib32-llvm/PKGBUILD @@ -0,0 +1,153 @@ +# $Id: PKGBUILD 47129 2011-05-17 14:00:02Z lcarlier $ +# Maintainer: Evangelos Foutras +# Contributor: Jan "heftig" Steffens +# Contributor: Sebastian Nowicki +# Contributor: Devin Cofer +# Contributor: Tobias Kieslich +# Contributor: Geoffroy Carrier +# Contributor: Tomas Lindquist Olsen +# Contributor: Roberto Alsina +# Contributor: Gerardo Exequiel Pozzi + +pkgname=('lib32-llvm') +pkgver=2.9 +_gcc_ver=4.6.0 +pkgrel=1 +arch=('x86_64') +url="http://llvm.org/" +license=('custom:University of Illinois/NCSA Open Source License') +makedepends=('gcc-libs-multilib' 'lib32-libffi' 'python2' "gcc-multilib=$_gcc_ver") +source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.tgz + http://llvm.org/releases/$pkgver/clang-$pkgver.tgz + ftp://ftp.archlinux.org/other/community/clang/gcc-headers-4.5.2.tar.xz + clang-plugin-loader-registry.patch + cindexer-clang-path.patch + clang-toolchains-gcc-versions.patch + clang-pure64.patch + enable-lto.patch) +md5sums=('793138412d2af2c7c7f54615f8943771' + '634de18d04b7a4ded19ec4c17d23cfca' + '70e23a3dc2b38ecb2bb4d2c48f47295d' + '02c23b4aaca3445b8bf39fddb2f9906e' + '87a7162dbe99e9ffce6c40bd09f5f4f0' + '8da236120a9a287a977b575b8b905c93' + '225ee6b531f8327f34f344a18cb4ec81' + '8f7582d7440e4a8342c3aea9ec714fb4') + +build() { + cd "$srcdir/llvm-$pkgver" + + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + # Fix symbolic links from OCaml bindings to LLVM libraries + sed -i 's:\$(PROJ_libdir):/usr/lib/llvm:' bindings/ocaml/Makefile.ocaml + + # Fix installation directories, ./configure doesn't seem to set them right + sed -i -e 's:\$(PROJ_prefix)/etc/llvm:/etc/llvm:' \ + -e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib32/llvm:' \ + -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \ + Makefile.config.in + + # Fix insecure rpath (http://bugs.archlinux.org/task/14017) + sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules + + # Get the correct list of symbols to export + # See http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-April/008559.html + patch -Np1 -i "$srcdir/clang-plugin-loader-registry.patch" + + # Fix clang path in CIndexer.cpp (https://bugs.archlinux.org/task/22799) + #patch -d tools/clang -Np0 -i "$srcdir/cindexer-clang-path.patch" + + # Add GCC 4.6.0 to GccVersions (FS#23631) + #patch -d tools/clang -Np1 -i "$srcdir/clang-toolchains-gcc-versions.patch" + + # Adjust lib paths + #patch -d tools/clang -Np0 -i "$srcdir/clang-pure64.patch" + + # Make -flto work + # Use gold instead of default linker, and always use the plugin + #patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch" + + # Apply strip option to configure + _optimized_switch="enable" + [[ $(check_option strip) == n ]] && _optimized_switch="disable" + + # Include location of libffi headers in CPPFLAGS + export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)" + + # TODO: Uncomment when clang works with GCC 4.6+ + #_cxx_headers="/usr/include/c++/$_gcc_ver" + #if [[ ! -d $_cxx_headers ]]; then + # error "Couldn't find the C++ headers, PKGBUILD needs fixing!" + # return 1 + #fi + _cxx_headers="/usr/include/c++/clang-$pkgver" + + _32bit_headers="" + if [[ $CARCH == x86_64 ]]; then + # Important for multilib + _32bit_headers="32" + fi + + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib32/llvm \ + --sysconfdir=/etc \ + --enable-shared \ + --enable-libffi \ + --enable-targets=all \ + --disable-expensive-checks \ + --disable-debug-runtime \ + --disable-assertions \ + --with-binutils-include=/usr/include \ + --with-cxx-include-root=$_cxx_headers \ + --with-cxx-include-arch=$CHOST \ + --with-cxx-include-32bit-dir=$_32bit_headers \ + --$_optimized_switch-optimized + + make REQUIRES_RTTI=1 +} + +package() { + pkgdesc="Low Level Virtual Machine (32 bits version)" + depends=('perl' 'lib32-libffi' 'llvm') + + cd "$srcdir/llvm-$pkgver" + + # We move the clang directory out of the tree so it won't get installed and + # then we bring it back in for the clang package + # mv tools/clang "$srcdir" + # -j1 is due to race conditions during the installation of the OCaml bindings + make -j1 DESTDIR="$pkgdir" install + # mv "$srcdir/clang" tools + + # OCaml bindings go to a separate package + # rm -rf "$srcdir"/{ocaml,ocamldoc} + # mv "$pkgdir"/usr/{lib/ocaml,share/doc/llvm/ocamldoc} "$srcdir" + + # Remove duplicate files installed by the OCaml bindings + # rm "$pkgdir"/usr/{lib/llvm/libllvm*,share/doc/llvm/ocamldoc.tar.gz} + + # Fix permissions of static libs + chmod -x "$pkgdir"/usr/lib32/llvm/*.a + + # Fix libdir in llvm-config (http://bugs.archlinux.org/task/14487) + #sed -i 's:\(ABS_RUN_DIR/lib\):\1/llvm:' "$pkgdir/usr/bin/llvm-config" + sed -i 's:ABS_RUN_DIR/lib:ABS_RUN_DIR/llvm:' "$pkgdir/usr/bin/llvm-config" + mv "$pkgdir/usr/bin/llvm-config" "$pkgdir/usr/lib32/llvm/llvm-config" + # Get rid of example Hello transformation + rm "$pkgdir"/usr/lib32/llvm/*LLVMHello.* + + # Symlink the gold plugin where clang expects it + ln -s llvm/LLVMgold.so "$pkgdir/usr/lib32/LLVMgold.so" + + # Add ld.so.conf.d entry + install -d "$pkgdir/etc/ld.so.conf.d" + echo /usr/lib32/llvm >"$pkgdir/etc/ld.so.conf.d/llvm32.conf" + + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + rm -r "$pkgdir"/usr/{bin,include,share/{doc,man}} +} diff --git a/multilib-testing/lib32-llvm/cindexer-clang-path.patch b/multilib-testing/lib32-llvm/cindexer-clang-path.patch new file mode 100644 index 000000000..ddaab690e --- /dev/null +++ b/multilib-testing/lib32-llvm/cindexer-clang-path.patch @@ -0,0 +1,10 @@ +--- tools/libclang/CIndexer.cpp.orig 2011-04-07 13:08:24.000000000 +0300 ++++ tools/libclang/CIndexer.cpp 2011-04-07 13:11:52.224884642 +0300 +@@ -80,6 +80,7 @@ std::string CIndexer::getClangResourcesP + + // We now have the CIndex directory, locate clang relative to it. + LibClangPath.eraseComponent(); ++ LibClangPath.eraseComponent(); + #endif + + LibClangPath.appendComponent("clang"); diff --git a/multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch b/multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch new file mode 100644 index 000000000..f46eb9fce --- /dev/null +++ b/multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch @@ -0,0 +1,11 @@ +diff -upr llvm-2.7.orig/autoconf/ExportMap.map llvm-2.7/autoconf/ExportMap.map +--- llvm-2.7.orig/autoconf/ExportMap.map 2010-02-25 00:33:41.000000000 +0200 ++++ llvm-2.7/autoconf/ExportMap.map 2010-05-10 14:14:22.000000000 +0300 +@@ -2,6 +2,7 @@ + global: main; + __progname; + environ; ++ _ZN4llvm8RegistryIN5clang14FrontendActionENS_14RegistryTraitsIS2_EEE4HeadE; + + local: *; + }; diff --git a/multilib-testing/lib32-llvm/clang-pure64.patch b/multilib-testing/lib32-llvm/clang-pure64.patch new file mode 100644 index 000000000..da6178519 --- /dev/null +++ b/multilib-testing/lib32-llvm/clang-pure64.patch @@ -0,0 +1,38 @@ +Index: lib/Driver/Tools.cpp +=================================================================== +--- lib/Driver/Tools.cpp (revision 123373) ++++ lib/Driver/Tools.cpp (working copy) +@@ -3306,7 +3306,7 @@ + else if (ToolChain.getArch() == llvm::Triple::arm) + CmdArgs.push_back("/lib/ld-linux.so.3"); + else +- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); ++ CmdArgs.push_back("/lib/ld-linux-x86-64.so.2"); + } + + CmdArgs.push_back("-o"); +Index: lib/Driver/ToolChains.cpp +=================================================================== +--- lib/Driver/ToolChains.cpp (revision 123373) ++++ lib/Driver/ToolChains.cpp (working copy) +@@ -1317,18 +1317,10 @@ + if (Arch == llvm::Triple::x86) + Suffix64 = "/64"; + +- std::string Lib32 = "lib"; +- +- bool Exists; +- if (!llvm::sys::fs::exists("/lib32", Exists) && Exists) +- Lib32 = "lib32"; +- ++ std::string Lib32 = "lib32"; + std::string Lib64 = "lib"; +- bool Symlink; +- if (!llvm::sys::fs::exists("/lib64", Exists) && Exists && +- (llvm::sys::fs::is_symlink("/lib64", Symlink) || !Symlink)) +- Lib64 = "lib64"; + ++ bool Exists; + std::string GccTriple = ""; + if (Arch == llvm::Triple::arm) { + if (!llvm::sys::fs::exists("/usr/lib/gcc/arm-linux-gnueabi", Exists) && diff --git a/multilib-testing/lib32-llvm/clang-toolchains-gcc-versions.patch b/multilib-testing/lib32-llvm/clang-toolchains-gcc-versions.patch new file mode 100644 index 000000000..2e527300d --- /dev/null +++ b/multilib-testing/lib32-llvm/clang-toolchains-gcc-versions.patch @@ -0,0 +1,12 @@ +diff -upr clang-2.9.orig/lib/Driver/ToolChains.cpp clang-2.9/lib/Driver/ToolChains.cpp +--- clang-2.9.orig/lib/Driver/ToolChains.cpp 2011-03-21 23:29:27.000000000 +0200 ++++ clang-2.9/lib/Driver/ToolChains.cpp 2011-04-08 00:03:34.000000000 +0300 +@@ -1449,7 +1449,7 @@ Linux::Linux(const HostInfo &Host, const + GccTriple = "i586-suse-linux"; + } + +- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4", ++ const char* GccVersions[] = {"4.6.0", "4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4", + "4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2", + "4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1", + "4.2"}; diff --git a/multilib-testing/lib32-llvm/enable-lto.patch b/multilib-testing/lib32-llvm/enable-lto.patch new file mode 100644 index 000000000..40d93104a --- /dev/null +++ b/multilib-testing/lib32-llvm/enable-lto.patch @@ -0,0 +1,36 @@ +Index: lib/Driver/ToolChains.cpp +=================================================================== +--- lib/Driver/ToolChains.cpp (revision 123373) ++++ lib/Driver/ToolChains.cpp (working copy) +@@ -1398,11 +1398,11 @@ + Lib = Lib64; + } + +- llvm::sys::Path LinkerPath(Base + "/../../../../" + GccTriple + "/bin/ld"); ++ llvm::sys::Path LinkerPath(Base + "/../../../../" + GccTriple + "/bin/ld.gold"); + if (!llvm::sys::fs::exists(LinkerPath.str(), Exists) && Exists) + Linker = LinkerPath.str(); + else +- Linker = GetProgramPath("ld"); ++ Linker = GetProgramPath("ld.gold"); + + LinuxDistro Distro = DetectLinuxDistro(Arch); + +Index: lib/Driver/Tools.cpp +=================================================================== +--- lib/Driver/Tools.cpp (revision 123373) ++++ lib/Driver/Tools.cpp (working copy) +@@ -3412,11 +3412,11 @@ + } + } + +- if (Args.hasArg(options::OPT_use_gold_plugin)) { ++ // if (Args.hasArg(options::OPT_use_gold_plugin)) { + CmdArgs.push_back("-plugin"); + std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; + CmdArgs.push_back(Args.MakeArgString(Plugin)); +- } ++ // } + + C.addCommand(new Command(JA, *this, ToolChain.Linker.c_str(), CmdArgs)); + } diff --git a/multilib-testing/lib32-mesa/PKGBUILD b/multilib-testing/lib32-mesa/PKGBUILD index 5bc9b7c23..da624adfc 100644 --- a/multilib-testing/lib32-mesa/PKGBUILD +++ b/multilib-testing/lib32-mesa/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 45021 2011-04-14 09:13:42Z lcarlier $ +# $Id: PKGBUILD 47149 2011-05-17 17:48:52Z lcarlier $ # Contributor: Jan de Groot # Contributor: Andreas Radke @@ -10,7 +10,7 @@ _git=true #_git=false if [ "${_git}" = "true" ]; then - pkgver=7.10.99.git20110412 + pkgver=7.10.99.git20110429 else pkgver=7.10.2 fi @@ -18,13 +18,13 @@ fi pkgrel=1 arch=(x86_64) makedepends=('glproto>=1.4.12' 'pkgconfig' 'lib32-libdrm>=2.4.25' 'lib32-libxxf86vm>=1.1.1' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libx11>=1.4.3' 'lib32-libxt>=1.1.1' -'lib32-gcc-libs>=4.5' 'dri2proto=2.3' 'python2' 'libxml2' 'gcc-multilib' imake 'lib32-udev') +'lib32-gcc-libs>=4.5' 'dri2proto=2.3' 'python2' 'libxml2' 'gcc-multilib' imake 'lib32-udev' 'lib32-llvm') url="http://mesa3d.sourceforge.net" license=('custom') if [ "${_git}" = "true" ]; then - # mesa git shot from 7.11 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f05751aa2af1a8ec83c2d110385aab1b7e735238 - source=('ftp://ftp.archlinux.org/other/mesa/mesa-f05751aa2af1a8ec83c2d110385aab1b7e735238.tar.bz2') - md5sums=('56d8862d1155f7e8054f9aa7f93ebebc') + # mesa git shot from 7.11 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?id=608a4a17feea9fba2812d4e5c01dd6dbadc5d6e0 + source=('ftp://ftp.archlinux.org/other/mesa/mesa-608a4a17feea9fba2812d4e5c01dd6dbadc5d6e0.tar.bz2') + md5sums=('8d1a895110a6d3b7c51b3521f794bae2') else source=("ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2" nouveau-fix-header.patch) md5sums=('f5de82852f1243f42cc004039e10b771' '67c87b77cc2236b52a3b47dad3fbb5d4') @@ -37,6 +37,10 @@ build() { if [ "${_git}" = "true" ]; then cd ${srcdir}/mesa-* + # for our llvm-config for 32 bit :( + export PATH="/usr/lib32/llvm:$PATH" + # fix linking with llvmpipe driver + sed -i -e 's:LD=g++:LD=g++ -m32:' src/gallium/drivers/llvmpipe/Makefile autoreconf -vfi else cd "${srcdir}/Mesa-${pkgver}" @@ -49,21 +53,26 @@ build() { if [ "${_git}" = "true" ]; then ./autogen.sh --prefix=/usr \ --with-dri-driverdir=/usr/lib32/xorg/modules/dri \ - --enable-gallium-radeon \ + --enable-gallium-r300 \ --enable-gallium-r600 \ --enable-gallium-nouveau \ + --enable-gallium-llvm \ + --enable-gallium-egl \ --enable-gallium-swrast \ --enable-glx-tls \ --with-driver=dri \ --enable-xcb \ - --with-state-trackers=dri,glx \ + --with-state-trackers=dri,glx,egl \ --disable-glut \ --enable-gles1 \ --enable-gles2 \ --enable-egl \ - --disable-gallium-egl \ --enable-32-bit \ --libdir=/usr/lib32 + # --enable-gallium-svga \ + # --enable-texture-float (enable floating-point textures and renderbuffers) - http://www.phoronix.com/scan.php?page=news_item&px=OTMzMg + # The source code to implement ARB_texture_float extension is included and can be toggled on at compile time only by those who purchased a license from SGI, or are in a country where the patent does not apply. + # --enable-shared-dricore - http://bugs.gentoo.org/show_bug.cgi?id=357177 else ./configure --prefix=/usr \ --with-dri-driverdir=/usr/lib32/xorg/modules/dri \ @@ -141,6 +150,7 @@ package_lib32-libegl() { if [ "${_git}" = "true" ]; then cd ${srcdir}/mesa-* + make -C src/gallium/targets/egl DESTDIR="${pkgdir}" install else cd "${srcdir}/Mesa-${pkgver}" fi diff --git a/multilib/binutils-multilib/PKGBUILD b/multilib/binutils-multilib/PKGBUILD index d561a25da..78be6ccc6 100644 --- a/multilib/binutils-multilib/PKGBUILD +++ b/multilib/binutils-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 46021 2011-05-02 00:26:22Z heftig $ +# $Id: PKGBUILD 46786 2011-05-11 15:43:26Z heftig $ # Maintainer: Jan "heftig" Steffens # Contributor: Allan McRae @@ -6,7 +6,7 @@ pkgname=binutils-multilib pkgver=2.21 -pkgrel=7 +pkgrel=8 _date=20110430 pkgdesc="A set of programs to assemble and manipulate binary and object files for multilib" arch=('x86_64') @@ -19,10 +19,16 @@ depends=('glibc>=2.13' 'zlib') makedepends=('dejagnu' 'gcc-multilib') # Make sure we compile this with gcc-multilib options=('!libtool' '!distcc' '!ccache') install=binutils.install -source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2) -md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec') +source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2 + binutils-2.21-strip-segfault.patch) +md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec' + '98e8dfaf1c0ededa586823ebfb27825a') build() { + cd ${srcdir}/binutils + # http://sourceware.org/bugzilla/show_bug.cgi?id=12632 + patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch + cd ${srcdir} mkdir binutils-build && cd binutils-build diff --git a/multilib/binutils-multilib/binutils-2.21-strip-segfault.patch b/multilib/binutils-multilib/binutils-2.21-strip-segfault.patch new file mode 100644 index 000000000..0133d879b --- /dev/null +++ b/multilib/binutils-multilib/binutils-2.21-strip-segfault.patch @@ -0,0 +1,96 @@ +diff --git a/binutils/objcopy.c b/binutils/objcopy.c +index 15c4f95..b64f3d0 100644 +--- a/binutils/objcopy.c ++++ b/binutils/objcopy.c +@@ -1,6 +1,6 @@ + /* objcopy.c -- copy object file from input to output, optionally massaging it. + Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 ++ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + Free Software Foundation, Inc. + + This file is part of GNU Binutils. +@@ -2024,6 +2024,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, + struct stat buf; + int stat_status = 0; + bfd_boolean del = TRUE; ++ bfd_boolean ok_object; + + /* Create an output file for this member. */ + output_name = concat (dir, "/", +@@ -2061,44 +2062,42 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, + l->obfd = NULL; + list = l; + +- if (bfd_check_format (this_element, bfd_object)) ++ ok_object = bfd_check_format (this_element, bfd_object); ++ if (!ok_object) ++ bfd_nonfatal_message (NULL, this_element, NULL, ++ _("Unable to recognise the format of file")); ++ ++ /* PR binutils/3110: Cope with archives ++ containing multiple target types. */ ++ if (force_output_target || !ok_object) ++ output_bfd = bfd_openw (output_name, output_target); ++ else ++ output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); ++ ++ if (output_bfd == NULL) + { +- /* PR binutils/3110: Cope with archives +- containing multiple target types. */ +- if (force_output_target) +- output_bfd = bfd_openw (output_name, output_target); +- else +- output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); ++ bfd_nonfatal_message (output_name, NULL, NULL, NULL); ++ status = 1; ++ return; ++ } ++ ++ if (ok_object) ++ { ++ del = !copy_object (this_element, output_bfd, input_arch); + +- if (output_bfd == NULL) ++ if (del && bfd_get_arch (this_element) == bfd_arch_unknown) ++ /* Try again as an unknown object file. */ ++ ok_object = FALSE; ++ else if (!bfd_close (output_bfd)) + { + bfd_nonfatal_message (output_name, NULL, NULL, NULL); ++ /* Error in new object file. Don't change archive. */ + status = 1; +- return; + } +- +- del = ! copy_object (this_element, output_bfd, input_arch); +- +- if (! del +- || bfd_get_arch (this_element) != bfd_arch_unknown) +- { +- if (!bfd_close (output_bfd)) +- { +- bfd_nonfatal_message (output_name, NULL, NULL, NULL); +- /* Error in new object file. Don't change archive. */ +- status = 1; +- } +- } +- else +- goto copy_unknown_element; + } +- else +- { +- bfd_nonfatal_message (NULL, this_element, NULL, +- _("Unable to recognise the format of file")); + +- output_bfd = bfd_openw (output_name, output_target); +-copy_unknown_element: ++ if (!ok_object) ++ { + del = !copy_unknown_object (this_element, output_bfd); + if (!bfd_close_all_done (output_bfd)) + { +-- +1.6.5.GIT + diff --git a/multilib/gcc-multilib/PKGBUILD b/multilib/gcc-multilib/PKGBUILD index 4a5a69628..98dcef2a4 100644 --- a/multilib/gcc-multilib/PKGBUILD +++ b/multilib/gcc-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 46019 2011-05-02 00:10:26Z heftig $ +# $Id: PKGBUILD 47043 2011-05-14 11:08:03Z heftig $ # Maintainer: Jan "heftig" Steffens # Contributor: Allan McRae @@ -8,8 +8,8 @@ pkgbase='gcc-multilib' pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib') pkgver=4.6.0 -pkgrel=4 -_snapshot=4.6-20110429 +pkgrel=5 +_snapshot=4.6-20110513 _libstdcppmanver=20110201 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection for multilib" arch=('x86_64') @@ -23,13 +23,13 @@ source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran, ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 gcc_pure64.patch gcc-hash-style-both.patch) -md5sums=('fa586a5634ae3b462c5fb2d55160b14f' - '2591b1fad977f7bd6136c9ac1298ef04' - '366f93c1867f35c8860b42965efde955' - '21779792ef7e0ed7abef611160b0099c' - 'cf518c56b968925a2eca3aa2b4cdbd7b' - 'f66ef8597b99961eda7573df505ea354' - '3d89dd233ceb6a837d14ee6b940a43ed' +md5sums=('2be769db16ac02f30fb62423b4c50145' + 'a310d230945f4b3093dd3ca72839c649' + '361a10c5a5545c80fd271b18036dd00c' + 'f7db2f6ed34398361de62cb6b8eb53d2' + '9b69c1d8874e8496c1965ee3e32eaa6d' + '248e53b461078bf1c89528fb8e4ba051' + 'e15a01b0d02ff12e975e4c2649e71e55' '1e9fd2eaf0ee47ea64e82c48998f1999' '22cec272f9cc2801d3cd348feaca888b' '4df25b623799b148a0703eaeec8fdf3f') diff --git a/multilib/nspluginwrapper/PKGBUILD b/multilib/nspluginwrapper/PKGBUILD index c037f2d98..b81bee1e0 100644 --- a/multilib/nspluginwrapper/PKGBUILD +++ b/multilib/nspluginwrapper/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 47097 2011-05-16 17:45:22Z bluewind $ +# $Id: PKGBUILD 47136 2011-05-17 17:28:43Z bluewind $ # Maintainer: Thomas Bächler pkgname=nspluginwrapper pkgver=1.4.0 -pkgrel=1 +pkgrel=2 pkgdesc="Cross-platform NPAPI compatible plugin viewer" arch=('x86_64') url="http://nspluginwrapper.davidben.net/" @@ -28,8 +28,6 @@ package() { cd "$srcdir/$pkgname-$pkgver" make -j1 DESTDIR="$pkgdir/" install - mkdir -p "$pkgdir"/usr/lib/mozilla/plugins/ - ln -s /usr/lib/nspluginwrapper/x86_64/linux/npwrapper.so "$pkgdir"/usr/lib/mozilla/plugins/ } # vim:set ts=2 sw=2 et: diff --git a/testing/acpid/PKGBUILD b/testing/acpid/PKGBUILD index a8bfa9018..28d94a296 100644 --- a/testing/acpid/PKGBUILD +++ b/testing/acpid/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 123979 2011-05-15 11:10:08Z andrea $ +# $Id: PKGBUILD 124204 2011-05-17 17:28:41Z andrea $ # Maintainer: # Contributor: xduugu # Contributor: Manolis Tzanidakis @@ -6,7 +6,7 @@ pkgname=acpid pkgver=2.0.9 -pkgrel=2 +pkgrel=3 pkgdesc="A daemon for delivering ACPI power management events with netlink support" arch=('i686' 'x86_64') url="http://tedfelix.com/linux/acpid-netlink.html" @@ -17,6 +17,7 @@ source=("http://www.tedfelix.com/linux/$pkgname-$pkgver.tar.gz" 'anything' 'handler.sh' 'acpid.conf.d') +replaces=('acpid2') backup=('etc/acpi/handler.sh' 'etc/acpi/events/anything' 'etc/conf.d/acpid') build() { diff --git a/testing/archboot/PKGBUILD b/testing/archboot/PKGBUILD index d59222745..9f2ddcd51 100644 --- a/testing/archboot/PKGBUILD +++ b/testing/archboot/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 124008 2011-05-15 21:19:33Z tpowa $ +# $Id: PKGBUILD 124155 2011-05-17 06:46:14Z tpowa $ # Maintainer : Tobias Powalowski pkgname=archboot pkgver=2011.05 -pkgrel=1 +pkgrel=2 pkgdesc="Advanced, modular arch boot/install image creation utility" arch=(i686 x86_64) license=('GPL') @@ -45,5 +45,5 @@ build() gcc -o vmware-detect vmware-detect.c install -D -m 755 vmware-detect $startdir/pkg/usr/bin/vmware-detect } -md5sums=('5ea2090ddc56a6b4716961f53584328a' +md5sums=('e6d26e24c7491a3203421bd14e570c04' '7e2b03463747cb22ab388e79a09fa0cb') diff --git a/testing/vigra/PKGBUILD b/testing/vigra/PKGBUILD new file mode 100644 index 000000000..400bd5898 --- /dev/null +++ b/testing/vigra/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 124225 2011-05-17 18:01:10Z andyrtr $ +# Maintainer: AndyRTR +# Contributor: Lukas Jirkovsky + +pkgname=vigra +pkgver=1.7.1 +pkgrel=1 +pkgdesc="Computer vision library" +arch=('i686' 'x86_64') +url="http://hci.iwr.uni-heidelberg.de/vigra/" +license=('custom:MIT') +depends=('libpng' 'libtiff' 'gcc-libs' 'sh' 'hdf5' 'fftw') +makedepends=('cmake' 'python-nose' 'doxygen' 'python-sphinx' 'boost' 'python-numpy') +optdepends=('python2: for python bindings' + 'boost-libs: for python bindings') +options=('!libtool') +source=(http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/${pkgname}-${pkgver}-src.tar.gz + vigra-1.7.1.gcc460.patch) +md5sums=('2bde208e0fd7626770169dd4fa097282' + '25ef8bc26bc38ee67e5b512d2acd0166') + +build() { + cd "${srcdir}"/${pkgname}-${pkgver} + patch -Np1 -i ${srcdir}/vigra-1.7.1.gcc460.patch + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_VIGRANUMPY=1 \ + -DDOCINSTALL=share/doc + make +} + +package() { + cd "${srcdir}"/${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + # license + install -D -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/testing/vigra/vigra-1.7.1.gcc460.patch b/testing/vigra/vigra-1.7.1.gcc460.patch new file mode 100644 index 000000000..46f194dbc --- /dev/null +++ b/testing/vigra/vigra-1.7.1.gcc460.patch @@ -0,0 +1,33 @@ +diff -baur vigra-1.7.1.old/include/vigra/random_forest.hxx vigra-1.7.1/include/vigra/random_forest.hxx +--- vigra-1.7.1.old/include/vigra/random_forest.hxx 2010-12-03 17:40:34.000000000 +0000 ++++ vigra-1.7.1/include/vigra/random_forest.hxx 2011-01-28 00:16:32.000000000 +0000 +@@ -43,6 +43,7 @@ + #include + #include + #include ++#include + #include "mathutil.hxx" + #include "array_vector.hxx" + #include "sized_int.hxx" +diff -baur vigra-1.7.1.old/include/vigra/sifImport.hxx vigra-1.7.1/include/vigra/sifImport.hxx +--- vigra-1.7.1.old/include/vigra/sifImport.hxx 2010-12-03 17:40:34.000000000 +0000 ++++ vigra-1.7.1/include/vigra/sifImport.hxx 2011-01-28 00:23:31.000000000 +0000 +@@ -57,6 +57,7 @@ + #include + #include + #include ++#include + #include "vigra/multi_array.hxx" + + namespace vigra { +diff -baur vigra-1.7.1.old/include/vigra/multi_iterator.hxx vigra-1.7.1/include/vigra/multi_iterator.hxx +--- vigra-1.7.1.old/include/vigra/multi_iterator.hxx 2010-12-03 17:40:34.000000000 +0000 ++++ vigra-1.7.1/include/vigra/multi_iterator.hxx 2011-01-28 00:23:31.000000000 +0000 +@@ -41,6 +41,7 @@ + #define VIGRA_MULTI_ITERATOR_HXX + + #include ++#include + #include "tinyvector.hxx" + #include "iteratortags.hxx" + -- cgit v1.2.3-54-g00ecf From b8ea4461e461f0e1782e28b5810eb811423afa79 Mon Sep 17 00:00:00 2001 From: Parabola Date: Thu, 19 May 2011 16:52:00 +0000 Subject: Thu May 19 16:52:00 UTC 2011 --- community-staging/gimmie/ChangeLog | 2 - community-staging/gimmie/PKGBUILD | 44 - community-staging/gimmie/gimmie.install | 22 - community-testing/arch/PKGBUILD | 27 - community-testing/autofs/PKGBUILD | 51 - community-testing/autofs/auto.master | 6 - community-testing/autofs/auto.misc | 7 - community-testing/autofs/autofs | 50 - community-testing/autofs/autofs.conf.d | 4 - community-testing/autofs/autofs.install | 4 - community-testing/autofs/heimdal.patch | 44 - community-testing/cadaver/ChangeLog | 3 - community-testing/cadaver/PKGBUILD | 25 - community-testing/calibre/PKGBUILD | 66 - community-testing/calibre/calibre.install | 12 - .../calibre/desktop_integration.patch | 70 - community-testing/freeradius/PKGBUILD | 44 - community-testing/freeradius/freeradius.install | 22 - community-testing/freeradius/krb5-build-fix.patch | 21 - community-testing/freeradius/radiusd | 43 - community-testing/freerdp/PKGBUILD | 30 - community-testing/freerdp/freerdp.changelog | 2 - community-testing/gsasl/PKGBUILD | 27 - community-testing/ipsec-tools/PKGBUILD | 35 - community-testing/ipsec-tools/ipsec.rc | 35 - community-testing/ipsec-tools/racoon.rc | 35 - community-testing/pam-krb5/PKGBUILD | 28 - community-testing/perl-gssapi/PKGBUILD | 27 - community-testing/pgadmin3/ChangeLog | 28 - community-testing/pgadmin3/PKGBUILD | 41 - community-testing/pgadmin3/pgadmin3.desktop | 10 - community-testing/python-cherrypy/837.2049.patch | 554 - community-testing/python-cherrypy/ChangeLog | 26 - community-testing/python-cherrypy/PKGBUILD | 24 - community-testing/python-cherrypy/license | 25 - community-testing/python2-cherrypy/837.2049.patch | 554 - community-testing/python2-cherrypy/ChangeLog | 26 - community-testing/python2-cherrypy/PKGBUILD | 25 - community-testing/python2-cherrypy/license | 25 - community-testing/splix/PKGBUILD | 34 - community-testing/splix/splix.install | 19 - community/autofs/heimdal.patch | 44 - community/docky/bzr-1798.diff | 170 - community/openscenegraph/build-fix.diff | 137 - community/virtualbox/gcc46.patch | 15 - core/heimdal/001_all_heimdal-no_libedit.patch | 10 - core/heimdal/002_all_heimal-fPIC.patch | 12 - core/heimdal/003_all_heimdal-rxapps.patch | 22 - core/heimdal/005_all_heimdal-suid_fix.patch | 20 - core/heimdal/012_all_heimdal-berkdb.patch | 124 - core/heimdal/013_all_heimdal-pthread-lib.patch | 11 - core/heimdal/014_all_heimdal-path.patch | 50 - core/heimdal/PKGBUILD | 113 - core/heimdal/heimdal-kdc.rc | 40 - core/heimdal/heimdal.install | 20 - core/heimdal/kadmind.rc | 40 - core/heimdal/kpasswd.rc | 40 - core/pacman/PKGBUILD | 71 - core/pacman/makepkg.conf | 114 - core/pacman/pacman.conf | 80 - core/pacman/pacman.conf.x86_64 | 89 - core/pacman/pacman.install | 62 - extra/apache-ant/PKGBUILD | 51 - extra/apache-ant/ant_diagnostics.patch | 23 - extra/apache-ant/apache-ant.sh | 3 - extra/aria2/PKGBUILD | 27 - extra/bs/PKGBUILD | 26 - extra/dosbox/PKGBUILD | 37 - extra/dosbox/dosbox.desktop | 10 - extra/dosbox/dosbox.png | Bin 4691 -> 0 bytes extra/ettercap-gtk/PKGBUILD | 44 - extra/ettercap-gtk/ettercap.desktop | 6 - extra/ettercap-gtk/fix-segmentation-fault.patch | 19 - extra/gqmpeg/PKGBUILD | 21 - extra/gtk-theme-switch2/PKGBUILD | 31 - extra/icecast/PKGBUILD | 54 - extra/icecast/icecast.logrotate | 8 - extra/icecast/icecastd | 66 - extra/icecast/start-by-nobody.patch | 15 - extra/keyutils/PKGBUILD | 24 - extra/kismet/kismet-2008-05-R1-infinite-loop.diff | 20 - extra/kismet/kismet-build.patch | 11 - extra/kmldonkey/PKGBUILD | 33 - extra/kmldonkey/kmldonkey.install | 11 - extra/kmplayer/PKGBUILD | 31 - extra/kmplayer/kmplayer.install | 11 - extra/libbtctl/PKGBUILD | 24 - extra/libx86/PKGBUILD | 36 - extra/libx86/libx86-ifmask.patch | 21 - extra/mc/PKGBUILD | 50 - extra/monotone/PKGBUILD | 30 - extra/monotone/monotone.install | 29 - extra/nbsmtp/PKGBUILD | 22 - extra/nbsmtp/build.patch | 15 - extra/nickle/PKGBUILD | 22 - extra/nppangband/Makefile.std | 375 - extra/nppangband/PKGBUILD | 41 - extra/numlockx/PKGBUILD | 33 - extra/oxygen-icons/PKGBUILD | 38 - extra/python-gtkglext/PKGBUILD | 21 - extra/sharutils/sharutils.install | 20 - extra/speedcrunch/PKGBUILD | 25 - extra/telepathy-idle/python27.patch | 21 - extra/uim/home.patch | 24 - extra/vbetool/PKGBUILD | 28 - extra/xchat-gnome/PKGBUILD | 50 - extra/xchat-gnome/gtk2-2.20.patch | 137 - .../xchat-gnome-0.26.1-deprecated-symbol.patch | 22 - extra/xchat-gnome/xchat-gnome.install | 24 - extra/xscreensaver/ChangeLog | 46 - multilib-testing/binutils-multilib/PKGBUILD | 81 - .../binutils-2.21-strip-segfault.patch | 96 - .../binutils-multilib/binutils.install | 17 - multilib-testing/gcc-multilib/PKGBUILD | 305 - multilib-testing/gcc-multilib/gcc-ada.install | 20 - multilib-testing/gcc-multilib/gcc-fortran.install | 16 - multilib-testing/gcc-multilib/gcc-go.install | 20 - .../gcc-multilib/gcc-hash-style-both.patch | 122 - multilib-testing/gcc-multilib/gcc-libs.install | 16 - multilib-testing/gcc-multilib/gcc.install | 20 - multilib-testing/gcc-multilib/gcc_pure64.patch | 24 - testing/acl/PKGBUILD | 34 - testing/alpine/2.00-lpam.patch | 13 - testing/alpine/CVE-2008-5514.patch | 20 - testing/alpine/PKGBUILD | 44 - testing/anjuta/PKGBUILD | 35 - testing/anjuta/anjuta.install | 21 - testing/attr/PKGBUILD | 37 - testing/bind/127.0.0.zone | 11 - testing/bind/ChangeLog | 15 - testing/bind/PKGBUILD | 88 - testing/bind/install | 21 - testing/bind/localhost.zone | 10 - testing/bind/named | 48 - testing/bind/named.conf | 64 - testing/bind/named.conf.d | 4 - testing/bind/named.logrotate | 6 - testing/bind/notools.patch | 11 - testing/bind/so_bsdcompat.patch | 13 - testing/binutils/PKGBUILD | 89 - .../binutils/binutils-2.21-strip-segfault.patch | 96 - testing/binutils/binutils.install | 17 - testing/cifs-utils/PKGBUILD | 26 - testing/cryptsetup/PKGBUILD | 36 - testing/cryptsetup/encrypt_hook | 131 - testing/cryptsetup/encrypt_install | 26 - testing/cups/PKGBUILD | 110 - testing/cups/cups | 38 - testing/cups/cups-avahi.patch | 1089 -- testing/cups/cups.install | 15 - testing/cups/cups.logrotate | 8 - testing/cups/cups.pam | 3 - testing/cvs/PKGBUILD | 39 - testing/cvs/cvs-1.11.23-cve-2010-3846.patch | 167 - testing/cvs/cvs-1.11.23-getline64.patch | 34 - testing/cvs/cvs.install | 20 - testing/cyrus-sasl-plugins/PKGBUILD | 52 - .../cyrus-sasl-2.1.22-gcc44.patch | 24 - .../cyrus-sasl-2.1.23-db5-fix.patch | 23 - testing/cyrus-sasl/PKGBUILD | 53 - testing/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch | 24 - testing/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch | 21 - testing/cyrus-sasl/saslauthd | 50 - testing/cyrus-sasl/saslauthd.conf.d | 1 - testing/dbus-core/PKGBUILD | 55 - testing/dbus-core/dbus | 57 - testing/dbus-core/dbus.install | 24 - testing/dbus/30-dbus | 9 - testing/dbus/PKGBUILD | 37 - testing/dovecot/PKGBUILD | 74 - testing/dovecot/dovecot.install | 57 - testing/dovecot/dovecot.sh | 36 - testing/evolution-data-server/PKGBUILD | 29 - testing/evolution-exchange/PKGBUILD | 33 - .../evolution-exchange/evolution-exchange.install | 17 - testing/gcc/PKGBUILD | 255 - testing/gcc/gcc-ada.install | 20 - testing/gcc/gcc-fortran.install | 16 - testing/gcc/gcc-go.install | 20 - testing/gcc/gcc-hash-style-both.patch | 122 - testing/gcc/gcc-libs.install | 16 - testing/gcc/gcc.install | 20 - testing/gcc/gcc_pure64.patch | 26 - testing/gmp/PKGBUILD | 35 - testing/gmp/gmp.install | 20 - testing/gnome-control-center/PKGBUILD | 34 - .../gnome-control-center.install | 19 - testing/gnome-settings-daemon/PKGBUILD | 33 - .../gnome-settings-daemon.install | 18 - testing/gnome-vfs/PKGBUILD | 45 - testing/gnome-vfs/gnome-vfs.install | 17 - testing/gnome-vfs/gnutls-config.patch | 25 - testing/gtk2/PKGBUILD | 50 - testing/gtk2/gtk2.install | 16 - testing/gtk2/xid-collision-debug.patch | 15 - testing/gtk3/PKGBUILD | 36 - testing/gtk3/gtk3.install | 15 - testing/gtk3/settings.ini | 2 - testing/gutenprint/PKGBUILD | 39 - testing/gutenprint/gutenprint.install | 9 - testing/kbd/PKGBUILD | 44 - testing/kbd/fix-es.po.patch | 11 - testing/kdelibs/PKGBUILD | 62 - testing/kdelibs/abs-syntax-highlight.patch | 12 - testing/kdelibs/archlinux-menu.patch | 22 - testing/kdelibs/kde-applications-menu.patch | 22 - testing/kdelibs/kdelibs.install | 12 - testing/kismet/PKGBUILD | 59 - testing/kismet/kismet.changelog | 26 - testing/kismet/kismet.install | 34 - testing/krb5/PKGBUILD | 64 - testing/krb5/kadmind.rc | 40 - testing/krb5/krb5-kdc.rc | 40 - testing/libgnomecups/PKGBUILD | 31 - .../libgnomecups_0.2.3-ignore-ipp-not-found.patch | 11 - testing/libgnomeprint/PKGBUILD | 28 - testing/libgssglue/PKGBUILD | 34 - testing/libgssglue/gssapi_mech.conf | 22 - testing/librpcsecgss/PKGBUILD | 27 - .../librpcsecgss/librpcsecgss-0.18-heimdal.patch | 33 - testing/libtirpc/PKGBUILD | 32 - testing/libtirpc/libtirpc-0.2.1-fortify.patch | 18 - ...Be-quiet-on-removing-cache-on-read-only-fs.diff | 17 - testing/lvm2/PKGBUILD | 67 - testing/lvm2/lvm2_hook | 24 - testing/lvm2/lvm2_install | 29 - testing/lzo2/PKGBUILD | 36 - testing/mutt/PKGBUILD | 47 - testing/mutt/install | 8 - testing/neon/PKGBUILD | 29 - testing/nfs-utils/PKGBUILD | 69 - testing/nfs-utils/exports | 15 - testing/nfs-utils/idmapd.conf | 14 - testing/nfs-utils/nfs-common | 319 - testing/nfs-utils/nfs-common.conf | 40 - testing/nfs-utils/nfs-server | 303 - testing/nfs-utils/nfs-server.conf | 29 - .../nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch | 138 - testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch | 39 - testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch | 15 - .../nfs-utils-1.1.6-heimdal_functions.patch | 69 - .../nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch | 57 - testing/nfs-utils/nfs-utils.install | 32 - testing/nfs-utils/start-statd.patch | 22 - testing/nss_ldap/PKGBUILD | 33 - testing/openssh/PKGBUILD | 56 - testing/openssh/sshd | 48 - testing/openssh/sshd.confd | 4 - testing/openssh/sshd.pam | 10 - testing/php-apc/PKGBUILD | 30 - testing/postfix/PKGBUILD | 64 - testing/postfix/aliases.patch | 18 - testing/postfix/install | 35 - testing/postfix/rc.d | 37 - testing/samba/PKGBUILD | 139 - testing/samba/fix-ipv6-mount.patch | 11 - testing/samba/samba | 54 - testing/samba/samba.conf.d | 7 - testing/samba/samba.logrotate | 9 - testing/samba/samba.pam | 3 - testing/samba/swat.xinetd | 10 - testing/subversion/PKGBUILD | 92 - testing/subversion/subversion.rpath.fix.patch | 10 - .../subversion.suppress.deprecation.warnings.patch | 22 - testing/subversion/svn | 11 - testing/subversion/svnmerge.py | 2370 --- testing/subversion/svnserve | 42 - testing/subversion/svnserve.conf | 7 - testing/syslog-ng/PKGBUILD | 52 - testing/syslog-ng/cap_syslog.patch | 101 - testing/syslog-ng/syslog-ng.conf | 92 - testing/syslog-ng/syslog-ng.logrotate | 7 - testing/syslog-ng/syslog-ng.rc | 63 - testing/udev/80-drivers.rules | 14 - testing/udev/81-arch.rules | 138 - testing/udev/PKGBUILD | 116 - testing/udev/cdsymlinks.sh | 44 - testing/udev/load-modules.sh | 80 - testing/udev/udev.install | 38 - testing/usbutils/PKGBUILD | 40 - testing/usbutils/fix-python2.patch | 17 - testing/usbutils/usb.ids-2011.04.14 | 16374 ------------------- testing/util-linux/PKGBUILD | 38 - testing/util-linux/mount-segfault-2.19.1.patch | 84 - testing/wireshark/PKGBUILD | 54 - testing/wireshark/wireshark-gtk.install | 11 - testing/wireshark/wireshark.install | 18 - testing/xfprint/PKGBUILD | 35 - testing/xfprint/xfprint-manager-fix.diff | 29 - testing/xfprint/xfprint.install | 11 - testing/ypbind-mt/PKGBUILD | 35 - testing/ypbind-mt/ypbind | 36 - testing/ypbind-mt/ypbind.conf | 4 - testing/ypserv/PKGBUILD | 36 - testing/ypserv/yppasswd | 34 - testing/ypserv/ypserv | 34 - 296 files changed, 32831 deletions(-) delete mode 100644 community-staging/gimmie/ChangeLog delete mode 100644 community-staging/gimmie/PKGBUILD delete mode 100644 community-staging/gimmie/gimmie.install delete mode 100644 community-testing/arch/PKGBUILD delete mode 100644 community-testing/autofs/PKGBUILD delete mode 100644 community-testing/autofs/auto.master delete mode 100644 community-testing/autofs/auto.misc delete mode 100644 community-testing/autofs/autofs delete mode 100644 community-testing/autofs/autofs.conf.d delete mode 100644 community-testing/autofs/autofs.install delete mode 100644 community-testing/autofs/heimdal.patch delete mode 100644 community-testing/cadaver/ChangeLog delete mode 100644 community-testing/cadaver/PKGBUILD delete mode 100644 community-testing/calibre/PKGBUILD delete mode 100644 community-testing/calibre/calibre.install delete mode 100644 community-testing/calibre/desktop_integration.patch delete mode 100644 community-testing/freeradius/PKGBUILD delete mode 100644 community-testing/freeradius/freeradius.install delete mode 100644 community-testing/freeradius/krb5-build-fix.patch delete mode 100755 community-testing/freeradius/radiusd delete mode 100644 community-testing/freerdp/PKGBUILD delete mode 100644 community-testing/freerdp/freerdp.changelog delete mode 100644 community-testing/gsasl/PKGBUILD delete mode 100644 community-testing/ipsec-tools/PKGBUILD delete mode 100755 community-testing/ipsec-tools/ipsec.rc delete mode 100755 community-testing/ipsec-tools/racoon.rc delete mode 100644 community-testing/pam-krb5/PKGBUILD delete mode 100644 community-testing/perl-gssapi/PKGBUILD delete mode 100644 community-testing/pgadmin3/ChangeLog delete mode 100644 community-testing/pgadmin3/PKGBUILD delete mode 100644 community-testing/pgadmin3/pgadmin3.desktop delete mode 100644 community-testing/python-cherrypy/837.2049.patch delete mode 100644 community-testing/python-cherrypy/ChangeLog delete mode 100644 community-testing/python-cherrypy/PKGBUILD delete mode 100644 community-testing/python-cherrypy/license delete mode 100644 community-testing/python2-cherrypy/837.2049.patch delete mode 100644 community-testing/python2-cherrypy/ChangeLog delete mode 100644 community-testing/python2-cherrypy/PKGBUILD delete mode 100644 community-testing/python2-cherrypy/license delete mode 100644 community-testing/splix/PKGBUILD delete mode 100644 community-testing/splix/splix.install delete mode 100644 community/autofs/heimdal.patch delete mode 100644 community/docky/bzr-1798.diff delete mode 100644 community/openscenegraph/build-fix.diff delete mode 100644 community/virtualbox/gcc46.patch delete mode 100644 core/heimdal/001_all_heimdal-no_libedit.patch delete mode 100644 core/heimdal/002_all_heimal-fPIC.patch delete mode 100644 core/heimdal/003_all_heimdal-rxapps.patch delete mode 100644 core/heimdal/005_all_heimdal-suid_fix.patch delete mode 100644 core/heimdal/012_all_heimdal-berkdb.patch delete mode 100644 core/heimdal/013_all_heimdal-pthread-lib.patch delete mode 100644 core/heimdal/014_all_heimdal-path.patch delete mode 100644 core/heimdal/PKGBUILD delete mode 100644 core/heimdal/heimdal-kdc.rc delete mode 100644 core/heimdal/heimdal.install delete mode 100644 core/heimdal/kadmind.rc delete mode 100644 core/heimdal/kpasswd.rc delete mode 100644 core/pacman/PKGBUILD delete mode 100644 core/pacman/makepkg.conf delete mode 100644 core/pacman/pacman.conf delete mode 100644 core/pacman/pacman.conf.x86_64 delete mode 100644 core/pacman/pacman.install delete mode 100644 extra/apache-ant/PKGBUILD delete mode 100644 extra/apache-ant/ant_diagnostics.patch delete mode 100644 extra/apache-ant/apache-ant.sh delete mode 100644 extra/aria2/PKGBUILD delete mode 100644 extra/bs/PKGBUILD delete mode 100644 extra/dosbox/PKGBUILD delete mode 100644 extra/dosbox/dosbox.desktop delete mode 100644 extra/dosbox/dosbox.png delete mode 100644 extra/ettercap-gtk/PKGBUILD delete mode 100644 extra/ettercap-gtk/ettercap.desktop delete mode 100644 extra/ettercap-gtk/fix-segmentation-fault.patch delete mode 100644 extra/gqmpeg/PKGBUILD delete mode 100644 extra/gtk-theme-switch2/PKGBUILD delete mode 100644 extra/icecast/PKGBUILD delete mode 100644 extra/icecast/icecast.logrotate delete mode 100644 extra/icecast/icecastd delete mode 100644 extra/icecast/start-by-nobody.patch delete mode 100644 extra/keyutils/PKGBUILD delete mode 100644 extra/kismet/kismet-2008-05-R1-infinite-loop.diff delete mode 100644 extra/kismet/kismet-build.patch delete mode 100644 extra/kmldonkey/PKGBUILD delete mode 100644 extra/kmldonkey/kmldonkey.install delete mode 100644 extra/kmplayer/PKGBUILD delete mode 100644 extra/kmplayer/kmplayer.install delete mode 100644 extra/libbtctl/PKGBUILD delete mode 100644 extra/libx86/PKGBUILD delete mode 100644 extra/libx86/libx86-ifmask.patch delete mode 100644 extra/mc/PKGBUILD delete mode 100644 extra/monotone/PKGBUILD delete mode 100644 extra/monotone/monotone.install delete mode 100644 extra/nbsmtp/PKGBUILD delete mode 100644 extra/nbsmtp/build.patch delete mode 100644 extra/nickle/PKGBUILD delete mode 100755 extra/nppangband/Makefile.std delete mode 100644 extra/nppangband/PKGBUILD delete mode 100644 extra/numlockx/PKGBUILD delete mode 100644 extra/oxygen-icons/PKGBUILD delete mode 100644 extra/python-gtkglext/PKGBUILD delete mode 100644 extra/sharutils/sharutils.install delete mode 100644 extra/speedcrunch/PKGBUILD delete mode 100644 extra/telepathy-idle/python27.patch delete mode 100644 extra/uim/home.patch delete mode 100644 extra/vbetool/PKGBUILD delete mode 100644 extra/xchat-gnome/PKGBUILD delete mode 100644 extra/xchat-gnome/gtk2-2.20.patch delete mode 100644 extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch delete mode 100644 extra/xchat-gnome/xchat-gnome.install delete mode 100644 extra/xscreensaver/ChangeLog delete mode 100644 multilib-testing/binutils-multilib/PKGBUILD delete mode 100644 multilib-testing/binutils-multilib/binutils-2.21-strip-segfault.patch delete mode 100644 multilib-testing/binutils-multilib/binutils.install delete mode 100644 multilib-testing/gcc-multilib/PKGBUILD delete mode 100644 multilib-testing/gcc-multilib/gcc-ada.install delete mode 100644 multilib-testing/gcc-multilib/gcc-fortran.install delete mode 100644 multilib-testing/gcc-multilib/gcc-go.install delete mode 100644 multilib-testing/gcc-multilib/gcc-hash-style-both.patch delete mode 100644 multilib-testing/gcc-multilib/gcc-libs.install delete mode 100644 multilib-testing/gcc-multilib/gcc.install delete mode 100644 multilib-testing/gcc-multilib/gcc_pure64.patch delete mode 100644 testing/acl/PKGBUILD delete mode 100644 testing/alpine/2.00-lpam.patch delete mode 100644 testing/alpine/CVE-2008-5514.patch delete mode 100644 testing/alpine/PKGBUILD delete mode 100644 testing/anjuta/PKGBUILD delete mode 100644 testing/anjuta/anjuta.install delete mode 100644 testing/attr/PKGBUILD delete mode 100644 testing/bind/127.0.0.zone delete mode 100644 testing/bind/ChangeLog delete mode 100644 testing/bind/PKGBUILD delete mode 100644 testing/bind/install delete mode 100644 testing/bind/localhost.zone delete mode 100755 testing/bind/named delete mode 100644 testing/bind/named.conf delete mode 100644 testing/bind/named.conf.d delete mode 100644 testing/bind/named.logrotate delete mode 100644 testing/bind/notools.patch delete mode 100644 testing/bind/so_bsdcompat.patch delete mode 100644 testing/binutils/PKGBUILD delete mode 100644 testing/binutils/binutils-2.21-strip-segfault.patch delete mode 100644 testing/binutils/binutils.install delete mode 100644 testing/cifs-utils/PKGBUILD delete mode 100644 testing/cryptsetup/PKGBUILD delete mode 100644 testing/cryptsetup/encrypt_hook delete mode 100644 testing/cryptsetup/encrypt_install delete mode 100644 testing/cups/PKGBUILD delete mode 100755 testing/cups/cups delete mode 100644 testing/cups/cups-avahi.patch delete mode 100644 testing/cups/cups.install delete mode 100644 testing/cups/cups.logrotate delete mode 100644 testing/cups/cups.pam delete mode 100644 testing/cvs/PKGBUILD delete mode 100644 testing/cvs/cvs-1.11.23-cve-2010-3846.patch delete mode 100644 testing/cvs/cvs-1.11.23-getline64.patch delete mode 100644 testing/cvs/cvs.install delete mode 100644 testing/cyrus-sasl-plugins/PKGBUILD delete mode 100644 testing/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch delete mode 100644 testing/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch delete mode 100644 testing/cyrus-sasl/PKGBUILD delete mode 100644 testing/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch delete mode 100644 testing/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch delete mode 100644 testing/cyrus-sasl/saslauthd delete mode 100644 testing/cyrus-sasl/saslauthd.conf.d delete mode 100644 testing/dbus-core/PKGBUILD delete mode 100644 testing/dbus-core/dbus delete mode 100644 testing/dbus-core/dbus.install delete mode 100644 testing/dbus/30-dbus delete mode 100644 testing/dbus/PKGBUILD delete mode 100644 testing/dovecot/PKGBUILD delete mode 100644 testing/dovecot/dovecot.install delete mode 100755 testing/dovecot/dovecot.sh delete mode 100644 testing/evolution-data-server/PKGBUILD delete mode 100644 testing/evolution-exchange/PKGBUILD delete mode 100644 testing/evolution-exchange/evolution-exchange.install delete mode 100644 testing/gcc/PKGBUILD delete mode 100644 testing/gcc/gcc-ada.install delete mode 100644 testing/gcc/gcc-fortran.install delete mode 100644 testing/gcc/gcc-go.install delete mode 100644 testing/gcc/gcc-hash-style-both.patch delete mode 100644 testing/gcc/gcc-libs.install delete mode 100644 testing/gcc/gcc.install delete mode 100644 testing/gcc/gcc_pure64.patch delete mode 100644 testing/gmp/PKGBUILD delete mode 100644 testing/gmp/gmp.install delete mode 100644 testing/gnome-control-center/PKGBUILD delete mode 100644 testing/gnome-control-center/gnome-control-center.install delete mode 100644 testing/gnome-settings-daemon/PKGBUILD delete mode 100644 testing/gnome-settings-daemon/gnome-settings-daemon.install delete mode 100644 testing/gnome-vfs/PKGBUILD delete mode 100644 testing/gnome-vfs/gnome-vfs.install delete mode 100644 testing/gnome-vfs/gnutls-config.patch delete mode 100644 testing/gtk2/PKGBUILD delete mode 100644 testing/gtk2/gtk2.install delete mode 100644 testing/gtk2/xid-collision-debug.patch delete mode 100644 testing/gtk3/PKGBUILD delete mode 100644 testing/gtk3/gtk3.install delete mode 100644 testing/gtk3/settings.ini delete mode 100644 testing/gutenprint/PKGBUILD delete mode 100644 testing/gutenprint/gutenprint.install delete mode 100644 testing/kbd/PKGBUILD delete mode 100644 testing/kbd/fix-es.po.patch delete mode 100644 testing/kdelibs/PKGBUILD delete mode 100644 testing/kdelibs/abs-syntax-highlight.patch delete mode 100644 testing/kdelibs/archlinux-menu.patch delete mode 100644 testing/kdelibs/kde-applications-menu.patch delete mode 100644 testing/kdelibs/kdelibs.install delete mode 100644 testing/kismet/PKGBUILD delete mode 100644 testing/kismet/kismet.changelog delete mode 100644 testing/kismet/kismet.install delete mode 100644 testing/krb5/PKGBUILD delete mode 100644 testing/krb5/kadmind.rc delete mode 100644 testing/krb5/krb5-kdc.rc delete mode 100644 testing/libgnomecups/PKGBUILD delete mode 100644 testing/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch delete mode 100644 testing/libgnomeprint/PKGBUILD delete mode 100644 testing/libgssglue/PKGBUILD delete mode 100644 testing/libgssglue/gssapi_mech.conf delete mode 100644 testing/librpcsecgss/PKGBUILD delete mode 100644 testing/librpcsecgss/librpcsecgss-0.18-heimdal.patch delete mode 100644 testing/libtirpc/PKGBUILD delete mode 100644 testing/libtirpc/libtirpc-0.2.1-fortify.patch delete mode 100644 testing/lvm2/Be-quiet-on-removing-cache-on-read-only-fs.diff delete mode 100644 testing/lvm2/PKGBUILD delete mode 100644 testing/lvm2/lvm2_hook delete mode 100644 testing/lvm2/lvm2_install delete mode 100644 testing/lzo2/PKGBUILD delete mode 100644 testing/mutt/PKGBUILD delete mode 100644 testing/mutt/install delete mode 100644 testing/neon/PKGBUILD delete mode 100644 testing/nfs-utils/PKGBUILD delete mode 100644 testing/nfs-utils/exports delete mode 100644 testing/nfs-utils/idmapd.conf delete mode 100644 testing/nfs-utils/nfs-common delete mode 100644 testing/nfs-utils/nfs-common.conf delete mode 100644 testing/nfs-utils/nfs-server delete mode 100644 testing/nfs-utils/nfs-server.conf delete mode 100644 testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch delete mode 100644 testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch delete mode 100644 testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch delete mode 100644 testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch delete mode 100644 testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch delete mode 100644 testing/nfs-utils/nfs-utils.install delete mode 100644 testing/nfs-utils/start-statd.patch delete mode 100644 testing/nss_ldap/PKGBUILD delete mode 100644 testing/openssh/PKGBUILD delete mode 100755 testing/openssh/sshd delete mode 100644 testing/openssh/sshd.confd delete mode 100644 testing/openssh/sshd.pam delete mode 100644 testing/php-apc/PKGBUILD delete mode 100644 testing/postfix/PKGBUILD delete mode 100644 testing/postfix/aliases.patch delete mode 100644 testing/postfix/install delete mode 100755 testing/postfix/rc.d delete mode 100644 testing/samba/PKGBUILD delete mode 100644 testing/samba/fix-ipv6-mount.patch delete mode 100755 testing/samba/samba delete mode 100644 testing/samba/samba.conf.d delete mode 100644 testing/samba/samba.logrotate delete mode 100644 testing/samba/samba.pam delete mode 100644 testing/samba/swat.xinetd delete mode 100644 testing/subversion/PKGBUILD delete mode 100644 testing/subversion/subversion.rpath.fix.patch delete mode 100644 testing/subversion/subversion.suppress.deprecation.warnings.patch delete mode 100644 testing/subversion/svn delete mode 100644 testing/subversion/svnmerge.py delete mode 100755 testing/subversion/svnserve delete mode 100644 testing/subversion/svnserve.conf delete mode 100644 testing/syslog-ng/PKGBUILD delete mode 100644 testing/syslog-ng/cap_syslog.patch delete mode 100644 testing/syslog-ng/syslog-ng.conf delete mode 100644 testing/syslog-ng/syslog-ng.logrotate delete mode 100755 testing/syslog-ng/syslog-ng.rc delete mode 100644 testing/udev/80-drivers.rules delete mode 100644 testing/udev/81-arch.rules delete mode 100644 testing/udev/PKGBUILD delete mode 100755 testing/udev/cdsymlinks.sh delete mode 100755 testing/udev/load-modules.sh delete mode 100644 testing/udev/udev.install delete mode 100644 testing/usbutils/PKGBUILD delete mode 100644 testing/usbutils/fix-python2.patch delete mode 100644 testing/usbutils/usb.ids-2011.04.14 delete mode 100644 testing/util-linux/PKGBUILD delete mode 100644 testing/util-linux/mount-segfault-2.19.1.patch delete mode 100644 testing/wireshark/PKGBUILD delete mode 100644 testing/wireshark/wireshark-gtk.install delete mode 100644 testing/wireshark/wireshark.install delete mode 100644 testing/xfprint/PKGBUILD delete mode 100644 testing/xfprint/xfprint-manager-fix.diff delete mode 100644 testing/xfprint/xfprint.install delete mode 100644 testing/ypbind-mt/PKGBUILD delete mode 100755 testing/ypbind-mt/ypbind delete mode 100644 testing/ypbind-mt/ypbind.conf delete mode 100644 testing/ypserv/PKGBUILD delete mode 100755 testing/ypserv/yppasswd delete mode 100755 testing/ypserv/ypserv (limited to 'extra') diff --git a/community-staging/gimmie/ChangeLog b/community-staging/gimmie/ChangeLog deleted file mode 100644 index 7fd5bbf99..000000000 --- a/community-staging/gimmie/ChangeLog +++ /dev/null @@ -1,2 +0,0 @@ -2007-06-26 tardo -* Built for x86_64 diff --git a/community-staging/gimmie/PKGBUILD b/community-staging/gimmie/PKGBUILD deleted file mode 100644 index 601d39576..000000000 --- a/community-staging/gimmie/PKGBUILD +++ /dev/null @@ -1,44 +0,0 @@ -# $Id: PKGBUILD 44484 2011-04-07 20:23:57Z spupykin $ -# Maintainer: Sergej Pupykin -# Contributor: György Balló - -pkgname=gimmie -pkgver=0.2.8 -pkgrel=16 -pkgdesc="desktop organizer which allows interaction with applications, contacts, documents, etc" -arch=('i686' 'x86_64') -url="http://beatniksoftware.com/gimmie/" -license=('LGPL') -depends=('libgnomecups' 'dbus-python' 'python2-gconf' 'python-gnomeapplet' - 'python-gnomedesktop' 'python2-libgnome' 'python-wnck' 'pyxdg' - 'hicolor-icon-theme' 'xdg-utils') -makedepends=('findutils' 'perlxml' 'krb5') -options=(!libtool) -install=$pkgname.install -source=(http://www.beatniksoftware.com/gimmie/releases/$pkgname-$pkgver.tar.gz) -md5sums=('721b8ec80f0247e1281aeb4aa5614c2f') - -build() { - cd "$srcdir/$pkgname-$pkgver" - sed -i 's@^#!.*python$@#!/usr/bin/python2@' gimmie/gimmie_{threads,bar}.py - - export CFLAGS="$CFLAGS `pkg-config --cflags glib-2.0`" - export LDFLAGS="$LDFLAGS `pkg-config --libs glib-2.0`" - - export CFLAGS="$CFLAGS `pkg-config --cflags gtk+-2.0`" - export LDFLAGS="$LDFLAGS `pkg-config --libs gtk+-2.0`" - - export CFLAGS="$CFLAGS `pkg-config --cflags pygtk-2.0`" - export LDFLAGS="$LDFLAGS `pkg-config --libs pygtk-2.0`" - - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir="/usr/lib/$pkgname" \ - --disable-static --disable-schemas-install \ - --with-gconf-schema-file-dir=/usr/share/gconf/schemas \ - PYTHON=/usr/bin/python2 - make -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir/" install -} diff --git a/community-staging/gimmie/gimmie.install b/community-staging/gimmie/gimmie.install deleted file mode 100644 index 015be0a4d..000000000 --- a/community-staging/gimmie/gimmie.install +++ /dev/null @@ -1,22 +0,0 @@ -pkgname=gimmie - -post_install() { - gconfpkg --install $pkgname - xdg-icon-resource forceupdate -} - -pre_upgrade() { - pre_remove $1 -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - gconfpkg --uninstall $pkgname -} - -post_remove() { - xdg-icon-resource forceupdate -} diff --git a/community-testing/arch/PKGBUILD b/community-testing/arch/PKGBUILD deleted file mode 100644 index 2be3a270a..000000000 --- a/community-testing/arch/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# $Id: PKGBUILD 46342 2011-05-05 11:48:15Z spupykin $ -# Maintainer: Judd Vinet - -pkgname='arch' -pkgver=1.3.5 -pkgrel=8 -pkgdesc="a modern and remarkable revision control system" -arch=('i686' 'x86_64') -license=('GPL') -url="http://regexps.srparish.net/www/#Gnu-arch" -depends=('zlib' 'expat' 'krb5') -options=('!makeflags') -source=(ftp://ftp.gnu.org/gnu/gnu-arch/tla-$pkgver.tar.gz) -md5sums=('db31ee89bc4788eef1eba1cee6c176ef') - -build() { - cd "${srcdir}/tla-$pkgver/src" - mkdir =build - cd =build - ../configure --prefix /usr - make -} - -package() { - cd "${srcdir}/tla-$pkgver/src/=build" - make prefix="${pkgdir}/usr" install -} diff --git a/community-testing/autofs/PKGBUILD b/community-testing/autofs/PKGBUILD deleted file mode 100644 index 11ac57ec1..000000000 --- a/community-testing/autofs/PKGBUILD +++ /dev/null @@ -1,51 +0,0 @@ -# $Id: PKGBUILD 46345 2011-05-05 11:57:37Z spupykin $ -# Maintainer: Lukas Fleischer -# Contributor: Andrea Scarpino -# Contributor: Dale Blount -# Contributor: Manolis Tzanidakis - -pkgname=autofs -pkgver=5.0.5 -pkgrel=6 -pkgdesc='A kernel-based automounter for Linux.' -arch=('i686' 'x86_64') -url='http://freshmeat.net/projects/autofs' -license=('GPL2') -depends=('libldap' 'libxml2' 'krb5') -backup=('etc/autofs/auto.master' - 'etc/autofs/auto.misc' - 'etc/conf.d/autofs') -options=(!makeflags) -install='autofs.install' -source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.bz2" - 'autofs' - 'autofs.conf.d' - 'auto.master' - 'auto.misc') -md5sums=('a1d262cb6ebef0c2dd0fe22232fb3d5a' - 'e307bf6d2638e46eeb916cf42fe029b2' - '47f597c870410055e0fdb66103daf928' - 'a6cefb591e77b31b79dbb7243646c96b' - 'd8a15ec9186c5c0b36e5cea1e2739e8a') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - sed -i "s:SUBDIRS = lib daemon modules man samples:SUBDIRS = lib daemon modules man:" \ - Makefile.rules - - ./configure --prefix=/usr --sysconfdir=/etc/autofs --with-mapdir=/etc/autofs --without-hesiod \ - --enable-ignore-busy - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make INSTALLROOT="${pkgdir}" install - - install -Dm0644 "${srcdir}/auto.master" "${pkgdir}/etc/autofs/auto.master" - install -Dm0644 "${srcdir}/auto.misc" "${pkgdir}/etc/autofs/auto.misc" - install -Dm0755 "${srcdir}/autofs" "${pkgdir}/etc/rc.d/autofs" - install -Dm0644 "${srcdir}/autofs.conf.d" "${pkgdir}/etc/conf.d/autofs" -} diff --git a/community-testing/autofs/auto.master b/community-testing/autofs/auto.master deleted file mode 100644 index be4ea73ae..000000000 --- a/community-testing/autofs/auto.master +++ /dev/null @@ -1,6 +0,0 @@ -# Sample auto.master file -# Format of this file: -# mountpoint map options -# For details of the format look at autofs(5). - -#/media /etc/autofs/auto.media diff --git a/community-testing/autofs/auto.misc b/community-testing/autofs/auto.misc deleted file mode 100644 index 569156626..000000000 --- a/community-testing/autofs/auto.misc +++ /dev/null @@ -1,7 +0,0 @@ -# This is an automounter map and it has the following format -# key [ -mount-options-separated-by-comma ] location -# Details may be found in the autofs(5) manpage - -cdrom -fstype=iso9660,ro,nodev,nosuid :/dev/cdrom -floppy -fstype=auto,async,nodev,nosuid,umask=000 :/dev/fl -usbstick -fstype=auto,async,nodev,nosuid,umask=000 :/dev/sda1 diff --git a/community-testing/autofs/autofs b/community-testing/autofs/autofs deleted file mode 100644 index 08bd3e133..000000000 --- a/community-testing/autofs/autofs +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -daemon_name=autofs - -. /etc/rc.conf -. /etc/rc.d/functions - -# source application-specific settings -[ -f /etc/conf.d/autofs ] && . /etc/conf.d/autofs - -if [ ! -z "$TIMEOUT" ]; then - daemonoptions="--timeout=$TIMEOUT $daemonoptions" -fi - -PID=`cat /var/run/autofs-running 2> /dev/null` -case "$1" in - start) - stat_busy "Starting $daemon_name daemon" - [ -z "$PID" ] && /usr/sbin/automount $daemonoptions &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon $daemon_name - stat_done - fi - ;; - stop) - stat_busy "Stopping $daemon_name daemon" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon $daemon_name - stat_done - fi - ;; - restart) - stat_busy "Restarting $daemon_name daemon" - $0 stop - sleep 1 - $0 start - ;; - status) - stat_busy "Checking $daemon_name status"; - ck_status $daemon_name - ;; - *) - echo "usage: $0 {start|stop|restart|status}" -esac -exit 0 diff --git a/community-testing/autofs/autofs.conf.d b/community-testing/autofs/autofs.conf.d deleted file mode 100644 index bc82491e7..000000000 --- a/community-testing/autofs/autofs.conf.d +++ /dev/null @@ -1,4 +0,0 @@ -#localoptions='rsize=8192,wsize=8192' - -# e.g. --timeout=60 -daemonoptions='' diff --git a/community-testing/autofs/autofs.install b/community-testing/autofs/autofs.install deleted file mode 100644 index 34ae75f1e..000000000 --- a/community-testing/autofs/autofs.install +++ /dev/null @@ -1,4 +0,0 @@ -post_install(){ - echo "> In autofs5 --ghost option isn't valid. In order to start autofs you" - echo "> must remove that option from your /etc/conf.d/autofs." -} diff --git a/community-testing/autofs/heimdal.patch b/community-testing/autofs/heimdal.patch deleted file mode 100644 index 4aa321834..000000000 --- a/community-testing/autofs/heimdal.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- autofs-5.0.5/modules/cyrus-sasl.c~ 2010-03-03 01:38:41.582901786 +0100 -+++ autofs-5.0.5/modules/cyrus-sasl.c 2010-03-03 01:41:32.313704755 +0100 -@@ -66,6 +66,15 @@ - #endif - #endif - -+/** -+ * The type of a principal is different for MIT Krb5 and Heimdal. -+ * These macros are provided by Heimdal, and introduced here for MIT. -+ */ -+#ifndef krb5_realm_length -+#define krb5_realm_length(r) ((r).length) -+#define krb5_realm_data(r) ((r).data) -+#endif -+ - /* - * Once a krb5 credentials cache is setup, we need to set the KRB5CCNAME - * environment variable so that the library knows where to find it. -@@ -452,11 +452,11 @@ - - /* setup a principal for the ticket granting service */ - ret = krb5_build_principal_ext(ctxt->krb5ctxt, &tgs_princ, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data, -+ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), -+ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), - strlen(KRB5_TGS_NAME), KRB5_TGS_NAME, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data, -+ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), -+ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), - 0); - if (ret) { - error(logopt, ---- autofs-5.0.5/modules/Makefile~ 2010-03-03 01:42:18.532868539 +0100 -+++ autofs-5.0.5/modules/Makefile 2010-03-03 01:42:35.360367371 +0100 -@@ -43,7 +43,7 @@ - ifeq ($(SASL), 1) - SASL_OBJ = cyrus-sasl.o - LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) -DLDAP_THREAD_SAFE -- LIBLDAP += $(LIBSASL) $(XML_LIBS) -+ LIBLDAP += $(LIBSASL) $(XML_LIBS) -lkrb5 - endif - endif \ No newline at end of file diff --git a/community-testing/cadaver/ChangeLog b/community-testing/cadaver/ChangeLog deleted file mode 100644 index d22a5592c..000000000 --- a/community-testing/cadaver/ChangeLog +++ /dev/null @@ -1,3 +0,0 @@ -2007-07-02 tardo -* Built for x86_64 - diff --git a/community-testing/cadaver/PKGBUILD b/community-testing/cadaver/PKGBUILD deleted file mode 100644 index ec11fd70f..000000000 --- a/community-testing/cadaver/PKGBUILD +++ /dev/null @@ -1,25 +0,0 @@ -# $Id: PKGBUILD 46500 2011-05-07 23:09:15Z stephane $ -# Maintainer: Sergej Pupykin -# Maintainer: William Rea - -pkgname=cadaver -pkgver=0.23.3 -pkgrel=2 -pkgdesc="Command-line WebDAV client for Unix" -arch=('i686' 'x86_64') -url="http://www.webdav.org/cadaver" -license=('GPL') -depends=('neon') -source=(http://www.webdav.org/cadaver/cadaver-$pkgver.tar.gz) -md5sums=('502ecd601e467f8b16056d2acca39a6f') - -build() { - cd $srcdir/cadaver-$pkgver - ./configure --prefix=/usr - make -} - -package() { - cd $srcdir/cadaver-$pkgver - make prefix=$pkgdir/usr install -} diff --git a/community-testing/calibre/PKGBUILD b/community-testing/calibre/PKGBUILD deleted file mode 100644 index e6f9c227c..000000000 --- a/community-testing/calibre/PKGBUILD +++ /dev/null @@ -1,66 +0,0 @@ -# $Id: PKGBUILD 46560 2011-05-09 06:22:55Z andrea $ -# Maintainer: Giovanni Scafora -# Contributor: Petrov Roman -# Contributor: Andrea Fagiani - -pkgname=calibre -pkgver=0.7.59 -pkgrel=3 -pkgdesc="Ebook management application" -arch=('i686' 'x86_64') -url="http://calibre-ebook.com/" -license=('GPL3') -depends=('python-dateutil' 'python2-cssutils' 'python-pypdf' 'python2-cherrypy' - 'python-mechanize' 'podofo' 'libwmf' 'python-beautifulsoup' - 'imagemagick' 'poppler-qt' 'chmlib' 'python-lxml' 'libusb' - 'python-imaging' 'desktop-file-utils' 'shared-mime-info' - 'python-dnspython' 'unrar' 'python2-pyqt' 'icu') -makedepends=('python2-pycountry') -optdepends=('ipython: to use calibre-debug') -install=calibre.install -source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz - desktop_integration.patch) -md5sums=('78ebed5248758b9be1d135ae018b8dfe' - 'bcc538a3b004429bf8f5a0ac1d89a37f') - -build() { - cd "${srcdir}/${pkgname}" - - rm -rf src/{cherrypy,pyPdf} - sed -i -e "s/ldflags = shlex.split(ldflags)/ldflags = shlex.split(ldflags) + ['-fPIC']/" setup/extensions.py - sed -i -e 's:\(#!/usr/bin/env[ ]\+python$\|#!/usr/bin/python$\):\12:g' \ - $(find . -regex ".*.py\|.*.recipe") - - python2 setup.py build - python2 setup.py resources - python2 setup.py translations -} - -package() { - cd "${srcdir}/${pkgname}" - - patch -Np1 -i "${srcdir}/desktop_integration.patch" - - # More on desktop integration (e.g. enforce arch defaults) - sed -i -e "/self.create_uninstaller()/,/os.rmdir(config_dir)/d" \ - -e "s|self.opts.staging_sharedir, 'man/man1'|self.opts.staging_root, 'usr/share/man/man1'|" \ - -e "s|manpath, prog+'.1'+__appname__+'.bz2'|manpath, prog+'.1'+'.bz2'|" \ - -e "s|old_udev = '/etc|old_udev = '${pkgdir}/etc|" \ - -e "s/^Name=calibre/Name=Calibre/g" src/calibre/linux.py - - # Fix the environment module location - sed -i -e "s|(prefix=.*)|(prefix='$pkgdir/usr')|g" setup/install.py - - install -d "${pkgdir}/usr/lib/python2.7/site-packages" - python2 setup.py install --root="${pkgdir}" --prefix=/usr \ - --staging-bindir="${pkgdir}/usr/bin" \ - --staging-libdir="${pkgdir}/usr/lib" \ - --staging-sharedir="${pkgdir}/usr/share" - - find "${pkgdir}" -type d -empty -delete - - # Decompress the man pages so makepkg will do it for us. - for decom in "${pkgdir}"/usr/share/man/man1/*.bz2; do - bzip2 -d "${decom}" - done -} diff --git a/community-testing/calibre/calibre.install b/community-testing/calibre/calibre.install deleted file mode 100644 index 6210bd0ab..000000000 --- a/community-testing/calibre/calibre.install +++ /dev/null @@ -1,12 +0,0 @@ -post_install() { - update-desktop-database -q - update-mime-database usr/share/mime &> /dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/community-testing/calibre/desktop_integration.patch b/community-testing/calibre/desktop_integration.patch deleted file mode 100644 index fa58443ed..000000000 --- a/community-testing/calibre/desktop_integration.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff -rupN calibre.orig//src/calibre/linux.py calibre/src/calibre/linux.py ---- calibre.orig//src/calibre/linux.py 2010-09-17 22:38:02.000000000 +0200 -+++ calibre/src/calibre/linux.py 2010-09-19 15:50:15.029705851 +0200 -@@ -334,52 +323,39 @@ class PostInstall: - - with TemporaryDirectory() as tdir: - with CurrentDir(tdir): -- render_img('mimetypes/lrf.png', 'calibre-lrf.png') -- check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True) -- self.icon_resources.append(('mimetypes', 'application-lrf', '128')) -- check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True) -- self.icon_resources.append(('mimetypes', 'application-lrs', -- '128')) -- render_img('lt.png', 'calibre-gui.png') -- check_call('xdg-icon-resource install --noupdate --size 128 calibre-gui.png calibre-gui', shell=True) -- self.icon_resources.append(('apps', 'calibre-gui', '128')) -- render_img('viewer.png', 'calibre-viewer.png') -- check_call('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True) -- self.icon_resources.append(('apps', 'calibre-viewer', '128')) -+ dir = os.path.join(self.opts.staging_sharedir,'../pixmaps') -+ os.mkdir(dir) -+ render_img('mimetypes/lrf.png', os.path.join(dir,'calibre-lrf.png')) -+ render_img('lt.png', os.path.join(dir, 'calibre-gui.png')) -+ render_img('viewer.png', os.path.join(dir, 'calibre-viewer.png')) - - mimetypes = set([]) - for x in all_input_formats(): - mt = guess_type('dummy.'+x)[0] -- if mt and 'chemical' not in mt: -+ if mt and 'chemical' not in mt and 'text' not in mt and 'pdf' not in mt and 'xhtml' not in mt: - mimetypes.add(mt) - - def write_mimetypes(f): - f.write('MimeType=%s;\n'%';'.join(mimetypes)) - -- f = open('calibre-lrfviewer.desktop', 'wb') -+ dir = os.path.join(self.opts.staging_sharedir,'../applications') -+ os.mkdir(dir) -+ f = open(os.path.join(dir, 'calibre-lrfviewer.desktop'), 'wb') - f.write(VIEWER) - f.close() -- f = open('calibre-ebook-viewer.desktop', 'wb') -+ f = open(os.path.join(dir, 'calibre-ebook-viewer.desktop'), 'wb') - f.write(EVIEWER) - write_mimetypes(f) - f.close() -- f = open('calibre-gui.desktop', 'wb') -+ f = open(os.path.join(dir, 'calibre-gui.desktop'), 'wb') - f.write(GUI) - write_mimetypes(f) - f.close() -- des = ('calibre-gui.desktop', 'calibre-lrfviewer.desktop', -- 'calibre-ebook-viewer.desktop') -- for x in des: -- cmd = ['xdg-desktop-menu', 'install', './'+x] -- if x != des[-1]: -- cmd.insert(2, '--noupdate') -- check_call(' '.join(cmd), shell=True) -- self.menu_resources.append(x) -- f = open('calibre-mimetypes', 'wb') -+ dir = os.path.join(self.opts.staging_sharedir,'../mime/packages/') -+ os.makedirs(dir) -+ f = open(os.path.join(dir, 'calibre.xml'), 'wb') - f.write(MIME) - f.close() -- self.mime_resources.append('calibre-mimetypes') -- check_call('xdg-mime install ./calibre-mimetypes', shell=True) - except Exception: - if self.opts.fatal_errors: - raise diff --git a/community-testing/freeradius/PKGBUILD b/community-testing/freeradius/PKGBUILD deleted file mode 100644 index 3727a8cb3..000000000 --- a/community-testing/freeradius/PKGBUILD +++ /dev/null @@ -1,44 +0,0 @@ -# $Id: PKGBUILD 45793 2011-04-29 10:36:54Z spupykin $ -# Maintainer: Sergej Pupykin -# Contributor: Jason R Begley (jayray@digitalgoat.com> - -pkgname=freeradius -pkgver=2.1.10 -pkgrel=6 -pkgdesc="The premier open source RADIUS server" -arch=('i686' 'x86_64') -url="http://www.freeradius.org/" -license=("GPL") -depends=('openssl' 'krb5' 'pth' 'libldap>=2.4.18' 'net-snmp' 'pam' \ - 'postgresql-libs>=9.0.3' 'libtool' 'libmysqlclient' 'gdbm' 'shadow') -optdepends=('libpcap' 'unixodbc' 'python2') -options=('!libtool' 'emptydirs' '!makeflags') -install=$pkgname.install -source=(ftp://ftp.freeradius.org/pub/radius/freeradius-server-$pkgver.tar.bz2 \ - radiusd - krb5-build-fix.patch) -md5sums=('8ea2bd39460a06212decf2c14fdf3fb8' - 'f1a6530b1b69d2fa793aa45b2de379bb' - 'c6a61de7576933f59154a53bfc12a2d2') - -build() { - cd $srcdir/freeradius-server-$pkgver - export CFLAGS="$CFLAGS -fno-strict-aliasing" - sed -i 's/ -DKRB5_DEPRECATED//' src/modules/rlm_krb5/Makefile.in - patch -p1 <$srcdir/krb5-build-fix.patch - ./configure --with-system-libtool --with-system-libltdl \ - --prefix=/usr --enable-heimdal-krb5 \ - --localstatedir=/var \ - --sysconfdir=/etc \ - --libdir=/usr/lib/freeradius - make -} - -package() { - cd $srcdir/freeradius-server-$pkgver - make install R=$pkgdir - install -D -m755 ../radiusd $pkgdir/etc/rc.d/radiusd - chmod o+r $pkgdir/etc/raddb/* - mv $pkgdir/etc/raddb $pkgdir/etc/raddb.default - rm -rf $pkgdir/var/run -} diff --git a/community-testing/freeradius/freeradius.install b/community-testing/freeradius/freeradius.install deleted file mode 100644 index e50aa403d..000000000 --- a/community-testing/freeradius/freeradius.install +++ /dev/null @@ -1,22 +0,0 @@ -post_install() { - groupadd radiusd - useradd -m -d /var/lib/radiusd -g radiusd -s /bin/false radiusd - - touch /var/log/radius/radius.log - chown -R radiusd.radiusd /var/log/radius/radius.log - - [ -d /etc/raddb ] || cp -a /etc/raddb.default /etc/raddb - - /bin/true -} - -pre_remove() { - /etc/rc.d/radiusd stop - /bin/true -} - -post_remove() { - userdel radiusd - groupdel radiusd - /bin/true -} diff --git a/community-testing/freeradius/krb5-build-fix.patch b/community-testing/freeradius/krb5-build-fix.patch deleted file mode 100644 index 11dae7090..000000000 --- a/community-testing/freeradius/krb5-build-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -wbBur freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c ---- freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c 2010-09-28 11:03:56.000000000 +0000 -+++ freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c 2011-04-29 09:26:10.000000000 +0000 -@@ -375,7 +375,7 @@ - * Heimdal krb5 verification - */ - radlog(L_AUTH, "rlm_krb5: Parsed name is: %s@%s\n", -- *userP->name.name_string.val, -+ "-" /* *userP->name.name_string.val*/, - userP->realm); - - krb5_cc_default(context, &id); -@@ -390,7 +390,7 @@ - - radlog(L_AUTH, "rlm_krb5: failed verify_user: %s (%s@%s )", - error_message(ret), -- *userP->name.name_string.val, -+ "-" /* *userP->name.name_string.val */, - userP->realm); - - return RLM_MODULE_REJECT; diff --git a/community-testing/freeradius/radiusd b/community-testing/freeradius/radiusd deleted file mode 100755 index bf872b6f2..000000000 --- a/community-testing/freeradius/radiusd +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/radiusd` -case "$1" in - start) - stat_busy "Starting radiusd Server" - - [ -d /var/run/radiusd ] || mkdir -p /var/run/radiusd - [ -f /var/run/radiusd/radiusd.pid ] || touch /var/run/radiusd/radiusd.pid - chown -R radiusd.radiusd /var/run/radiusd - - [ -z "$PID" ] && /usr/sbin/radiusd - if [ $? -gt 0 ]; then - stat_fail - else - echo $PID > /var/run/radiusd.pid - add_daemon radiusd - stat_done - fi - ;; - stop) - stat_busy "Stopping radiusd Server" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm /var/run/radiusd.pid - rm_daemon radiusd - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/community-testing/freerdp/PKGBUILD b/community-testing/freerdp/PKGBUILD deleted file mode 100644 index f845453fe..000000000 --- a/community-testing/freerdp/PKGBUILD +++ /dev/null @@ -1,30 +0,0 @@ -# $Id: PKGBUILD 45796 2011-04-29 10:42:30Z spupykin $ -# Maintainer: Sergej Pupykin -# Contributor: Stijn Segers - -pkgname=freerdp -pkgver=0.8.2 -pkgrel=2 -pkgdesc="Free RDP client" -arch=('i686' 'x86_64') -url="http://freerdp.sourceforge.net" -license=('GPL') -depends=('openssl' 'libxcursor' 'libcups' 'alsa-lib') -makedepends=('krb5') -conflicts=('freerdp-git') -changelog=${pkgname}.changelog -options=('!libtool') -source=(http://downloads.sourceforge.net/project/freerdp/${pkgver%.*}/${pkgname}-${pkgver}.tar.gz) -md5sums=('cde590336292c977dfc1b4b7badf24d2') - -build() { - cd `find ${srcdir}/ -type d -name freerdp-\*` - [ -x configure ] || sh ./autogen.sh - ./configure --prefix=/usr - make -} - -package() { - cd `find ${srcdir}/ -type d -name freerdp-\*` - make DESTDIR="${pkgdir}" install -} diff --git a/community-testing/freerdp/freerdp.changelog b/community-testing/freerdp/freerdp.changelog deleted file mode 100644 index d47f165c3..000000000 --- a/community-testing/freerdp/freerdp.changelog +++ /dev/null @@ -1,2 +0,0 @@ -0.7.1-1 to 0.7.1-2 -* Added x86_64 to supported architectures (tested by figue). diff --git a/community-testing/gsasl/PKGBUILD b/community-testing/gsasl/PKGBUILD deleted file mode 100644 index 01c39c725..000000000 --- a/community-testing/gsasl/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# $Id: PKGBUILD 45799 2011-04-29 10:48:15Z spupykin $ -# Maintainer: Sergej Pupykin -# Contributor: Orivej Desh -# Maintainer: Orivej Desh - -pkgname=gsasl -pkgver=1.5.4 -pkgrel=2 -pkgdesc="Simple Authentication and Security Layer framework and a few common SASL mechanisms" -arch=("i686" "x86_64") -url="http://josefsson.org/gsasl/" -license=("GPL") -depends=('gnutls' 'libidn' 'krb5') -source=("ftp://alpha.gnu.org/gnu/gsasl/$pkgname-$pkgver.tar.gz") -md5sums=('44cf5073a6ee2d77d526605bd6ab3904') - -build() { - cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr - make -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir" install - rm "$pkgdir/usr/share/info/dir" "$pkgdir/usr/lib/libgsasl.la" -} diff --git a/community-testing/ipsec-tools/PKGBUILD b/community-testing/ipsec-tools/PKGBUILD deleted file mode 100644 index 77a72f6df..000000000 --- a/community-testing/ipsec-tools/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ -# $Id: PKGBUILD 45815 2011-04-29 12:08:18Z spupykin $ -# Maintainer: Sergej Pupykin -# Contributor: Allan Henriksen - -pkgname=ipsec-tools -pkgver=0.8.0 -pkgrel=2 -pkgdesc="KAME IPSec tools ported to Linux" -arch=('i686' 'x86_64') -url="http://ipsec-tools.sourceforge.net/" -depends=('readline' 'openssl' 'krb5') -license=('GPL') -options=('!makeflags' '!libtool') -source=(http://downloads.sourceforge.net/sourceforge/ipsec-tools/$pkgname-$pkgver.tar.bz2 - racoon.rc - ipsec.rc) -md5sums=('b79aae3055a51f8de5c0f1b8ca6cf619' - '416b8e362d86987b8c55f7153cdafbeb' - '90d0810267cbd847383ae3101699b192') - -build() { - cd $srcdir/$pkgname-$pkgver - sed -i 's#-Werror##' configure - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --enable-security-context=no --enable-hybrid --enable-dpd --enable-natt \ - --enable-adminport --enable-gssapi - make -} - -package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install - install -Dm0755 $srcdir/racoon.rc $pkgdir/etc/rc.d/racoon - install -Dm0755 $srcdir/ipsec.rc $pkgdir/etc/rc.d/ipsec -} diff --git a/community-testing/ipsec-tools/ipsec.rc b/community-testing/ipsec-tools/ipsec.rc deleted file mode 100755 index cff472c59..000000000 --- a/community-testing/ipsec-tools/ipsec.rc +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -case "$1" in - start) - stat_busy "Loading IPSec Security Policy Database..." - /usr/sbin/setkey -f /etc/ipsec.conf &>/dev/null - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon ipsec - stat_done - fi - ;; - stop) - stat_busy "Unloading IPSec Security Policy Database..." - /usr/sbin/setkey -F -P - /usr/sbin/setkey -F - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon ipsec - stat_done - fi - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/community-testing/ipsec-tools/racoon.rc b/community-testing/ipsec-tools/racoon.rc deleted file mode 100755 index 1a67dcac5..000000000 --- a/community-testing/ipsec-tools/racoon.rc +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/racoon` -case "$1" in - start) - stat_busy "Starting Racoon IPSec daemon" - [ -z "$PID" ] && /usr/sbin/racoon - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon racoon - stat_done - fi - ;; - stop) - stat_busy "Stopping Racoon IPSec daemon" - [ ! -z "$PID" ] && kill $PID &>/dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon racoon - stat_done - fi - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/community-testing/pam-krb5/PKGBUILD b/community-testing/pam-krb5/PKGBUILD deleted file mode 100644 index 5c9798514..000000000 --- a/community-testing/pam-krb5/PKGBUILD +++ /dev/null @@ -1,28 +0,0 @@ -# $Id: PKGBUILD 46339 2011-05-05 11:43:20Z spupykin $ -# Maintainer: Kaiting Chen -# Contributor: Ryan Corder - -pkgname=pam-krb5 -pkgver=4.4 -pkgrel=2 -pkgdesc='A PAM module providing Kerberos v5 support.' -arch=('i686' 'x86_64') -url='http://www.eyrie.org/~eagle/software/pam-krb5/' -license=('custom') -options=('!libtool') -depends=('krb5' 'pam') -source=("http://archives.eyrie.org/software/kerberos/$pkgname-$pkgver.tar.gz") -md5sums=('a3f9a414fef102cd815a763c965b315c') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr \ - --enable-reduced-depends - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR=$pkgdir install - install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE -} diff --git a/community-testing/perl-gssapi/PKGBUILD b/community-testing/perl-gssapi/PKGBUILD deleted file mode 100644 index ec1e50684..000000000 --- a/community-testing/perl-gssapi/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# $Id: PKGBUILD 45801 2011-04-29 10:49:42Z spupykin $ -# Maintainer: Sergej Pupykin -# Maintainer: Charles Mauch - -pkgname=perl-gssapi -pkgver=0.28 -pkgrel=3 -pkgdesc="Perl/CPAN Module GSSAPI" -arch=("i686" "x86_64") -url="http://search.cpan.org/dist/GSSAPI" -license=("GPL" "PerlArtistic") -depends=('krb5') -source=("http://www.cpan.org/authors/id/A/AG/AGROLMS/GSSAPI-$pkgver.tar.gz") -md5sums=('65f00a0749212af064289c8a05e59b3f') - -build() { - cd $srcdir/GSSAPI-$pkgver - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor - make -} - -package() { - cd $srcdir/GSSAPI-$pkgver - make install DESTDIR=$pkgdir - find $pkgdir -name '.packlist' -delete - find $pkgdir -name '*.pod' -delete -} diff --git a/community-testing/pgadmin3/ChangeLog b/community-testing/pgadmin3/ChangeLog deleted file mode 100644 index 76de01d7d..000000000 --- a/community-testing/pgadmin3/ChangeLog +++ /dev/null @@ -1,28 +0,0 @@ -2008-08-21 Douglas Soares de Andrade - - * Updated for i686: 1.8.5 - -2008-06-24 Douglas Soares de Andrade - - * Updated for i686 - 1.8.4 - -2008-02-21 Douglas Soares de Andrade - - * Updated for i686 - 1.8.2 - -2008-01-05 Douglas Soares de Andrade - - * Updated for x86_64 - 1.8.1 - * Updated for i686 - 1.8.1 - -2007-10-28 Douglas Soares de Andrade - - * Updated version - -2007-10-11 Douglas Soares de Andrade - - * Updated version - -2007-06-28 tardo - - * Built for x86_64 diff --git a/community-testing/pgadmin3/PKGBUILD b/community-testing/pgadmin3/PKGBUILD deleted file mode 100644 index 117eb7521..000000000 --- a/community-testing/pgadmin3/PKGBUILD +++ /dev/null @@ -1,41 +0,0 @@ -# $Id: PKGBUILD 46331 2011-05-05 10:45:23Z spupykin $ -# Maintainer: Sergej Pupykin -# Maintainer: Douglas Soares de Andrade -# Contributor: Benjamin Andresen -# Contributor: bekks - -pkgname=pgadmin3 -pkgver=1.12.3 -_realver=1.12.3 -pkgrel=1 -pkgdesc="A comprehensive design and management interface for PostgreSQL database" -arch=('i686' 'x86_64') -url="http://www.pgadmin.org" -license=('custom') -depends=('wxgtk' 'postgresql-libs>=8.4.1' 'libxslt') -makedepends=('libpqxx' 'krb5') -source=(ftp://ftp.de.postgresql.org/pub/packages/databases/PostgreSQL/pgadmin3/release/v${_realver}/src/pgadmin3-${_realver}.tar.gz - pgadmin3.desktop) -md5sums=('0ff7a970a14757ee951a4e8b1a246a70' - 'd07ba4df54baead30b66d19d7450bcad') - -build() { - cd $srcdir/pgadmin3-${_realver} - unset LDFLAGS - [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr - make -} - -package() { - cd $srcdir/pgadmin3-${_realver} - make DESTDIR=$pkgdir/ install - - install -D -m 644 i18n/$pkgname.lng $pkgdir/usr/share/pgadmin3/i18n - install -D -m 644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE - - mkdir -p $pkgdir/usr/share/pgadmin3/pixmaps/ - mkdir -p $pkgdir/usr/share/applications/ - - install -D -m 644 pgadmin/include/images/pgAdmin3.ico $pkgdir/usr/share/pgadmin3/pixmaps/pgAdmin3.ico - install -D -m 644 $srcdir/pgadmin3.desktop $pkgdir/usr/share/applications/ -} diff --git a/community-testing/pgadmin3/pgadmin3.desktop b/community-testing/pgadmin3/pgadmin3.desktop deleted file mode 100644 index 2e0864f60..000000000 --- a/community-testing/pgadmin3/pgadmin3.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=pgadmin3 -Comment=A comprehensive design and management interface for PostgreSQL database -Exec=pgadmin3 -Terminal=false -Type=Application -StartupNotify=true -Icon=/usr/share/pgadmin3/pixmaps/pgAdmin3.ico -Categories=Application;Development; diff --git a/community-testing/python-cherrypy/837.2049.patch b/community-testing/python-cherrypy/837.2049.patch deleted file mode 100644 index 20cc0dd36..000000000 --- a/community-testing/python-cherrypy/837.2049.patch +++ /dev/null @@ -1,554 +0,0 @@ -Index: cherrypy/test/test_tools.py -=================================================================== ---- cherrypy/test/test_tools.py (revision 2049) -+++ cherrypy/test/test_tools.py (working copy) -@@ -3,6 +3,7 @@ - import gzip - import StringIO - import sys -+from httplib import IncompleteRead - import time - timeout = 0.2 - -@@ -272,8 +273,12 @@ - # Because this error is raised after the response body has - # started, and because it's chunked output, an error is raised by - # the HTTP client when it encounters incomplete output. -- self.assertRaises(ValueError, self.getPage, -- "/demo/errinstream?id=5") -+ if sys.version_info[:2] >= (2, 6): -+ self.assertRaises(IncompleteRead, self.getPage, -+ "/demo/errinstream?id=5") -+ else: -+ self.assertRaises(ValueError, self.getPage, -+ "/demo/errinstream?id=5") - # If this fails, then on_end_request isn't being called at all. - time.sleep(0.1) - self.getPage("/demo/ended/5") -Index: cherrypy/test/webtest.py -=================================================================== ---- cherrypy/test/webtest.py (revision 2049) -+++ cherrypy/test/webtest.py (working copy) -@@ -491,7 +491,7 @@ - # IN6ADDR_ANY, which should respond on localhost. - host = "::1" - conn = http_conn(host, port) -- -+ - conn._http_vsn_str = protocol - conn._http_vsn = int("".join([x for x in protocol if x.isdigit()])) - -Index: cherrypy/test/test_encoding.py -=================================================================== ---- cherrypy/test/test_encoding.py (revision 2049) -+++ cherrypy/test/test_encoding.py (working copy) -@@ -1,7 +1,9 @@ - from cherrypy.test import test - test.prefer_parent_path() - -+import sys - import gzip, StringIO -+from httplib import IncompleteRead - import cherrypy - europoundUnicode = u'\x80\xa3' - europoundUtf8 = u'\x80\xa3'.encode('utf-8') -@@ -160,10 +162,13 @@ - else: - # The wsgiserver will simply stop sending data, and the HTTP client - # will error due to an incomplete chunk-encoded stream. -- self.assertRaises(ValueError, self.getPage, '/gzip/noshow_stream', -- headers=[("Accept-Encoding", "gzip")]) -+ if sys.version_info[:2] >= (2, 6): -+ self.assertRaises(IncompleteRead, self.getPage, '/gzip/noshow_stream', -+ headers=[("Accept-Encoding", "gzip")]) -+ else: -+ self.assertRaises(ValueError, self.getPage, '/gzip/noshow_stream', -+ headers=[("Accept-Encoding", "gzip")]) - -- - if __name__ == "__main__": - setup_server() - helper.testmain() -Index: cherrypy/test/test_core.py -=================================================================== ---- cherrypy/test/test_core.py (revision 2049) -+++ cherrypy/test/test_core.py (working copy) -@@ -7,6 +7,7 @@ - localDir = os.path.dirname(__file__) - import sys - import types -+from httplib import IncompleteRead - - import cherrypy - from cherrypy import _cptools, tools -@@ -760,8 +761,12 @@ - else: - # Under HTTP/1.1, the chunked transfer-coding is used. - # The HTTP client will choke when the output is incomplete. -- self.assertRaises(ValueError, self.getPage, -- "/error/page_streamed") -+ if sys.version_info[:2] >= (2, 6): -+ self.assertRaises(IncompleteRead, self.getPage, -+ "/error/page_streamed") -+ else: -+ self.assertRaises(ValueError, self.getPage, -+ "/error/page_streamed") - - # No traceback should be present - self.getPage("/error/cause_err_in_finalize") -Index: cherrypy/wsgiserver/__init__.py -=================================================================== ---- cherrypy/wsgiserver/__init__.py (revision 2049) -+++ cherrypy/wsgiserver/__init__.py (working copy) -@@ -713,148 +713,325 @@ - """Exception raised when the SSL implementation signals a fatal alert.""" - pass - -+if sys.version_info[:2] >= (2, 6) or sys.version_info[:3] >= (2, 5, 2): -+ class CP_fileobject(socket._fileobject): -+ """Faux file object attached to a socket object.""" - --class CP_fileobject(socket._fileobject): -- """Faux file object attached to a socket object.""" -- -- def sendall(self, data): -- """Sendall for non-blocking sockets.""" -- while data: -- try: -- bytes_sent = self.send(data) -- data = data[bytes_sent:] -- except socket.error, e: -- if e.args[0] not in socket_errors_nonblocking: -- raise -- -- def send(self, data): -- return self._sock.send(data) -- -- def flush(self): -- if self._wbuf: -- buffer = "".join(self._wbuf) -- self._wbuf = [] -- self.sendall(buffer) -- -- def recv(self, size): -- while True: -- try: -- return self._sock.recv(size) -- except socket.error, e: -- if e.args[0] not in socket_errors_nonblocking: -- raise -- -- def read(self, size=-1): -- if size < 0: -- # Read until EOF -- buffers = [self._rbuf] -- self._rbuf = "" -- if self._rbufsize <= 1: -- recv_size = self.default_bufsize -+ def sendall(self, data): -+ """Sendall for non-blocking sockets.""" -+ while data: -+ try: -+ bytes_sent = self.send(data) -+ data = data[bytes_sent:] -+ except socket.error, e: -+ if e.args[0] not in socket_errors_nonblocking: -+ raise -+ -+ def send(self, data): -+ return self._sock.send(data) -+ -+ def flush(self): -+ if self._wbuf: -+ buffer = "".join(self._wbuf) -+ self._wbuf = [] -+ self.sendall(buffer) -+ -+ def recv(self, size): -+ while True: -+ try: -+ return self._sock.recv(size) -+ except socket.error, e: -+ if e.args[0] not in socket_errors_nonblocking: -+ raise -+ -+ def read(self, size=-1): -+ # Use max, disallow tiny reads in a loop as they are very inefficient. -+ # We never leave read() with any leftover data from a new recv() call -+ # in our internal buffer. -+ rbufsize = max(self._rbufsize, self.default_bufsize) -+ # Our use of StringIO rather than lists of string objects returned by -+ # recv() minimizes memory usage and fragmentation that occurs when -+ # rbufsize is large compared to the typical return value of recv(). -+ buf = self._rbuf -+ buf.seek(0, 2) # seek end -+ if size < 0: -+ # Read until EOF -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ while True: -+ data = self.recv(rbufsize) -+ if not data: -+ break -+ buf.write(data) -+ return buf.getvalue() - else: -- recv_size = self._rbufsize -- -+ # Read until size bytes or EOF seen, whichever comes first -+ buf_len = buf.tell() -+ if buf_len >= size: -+ # Already have size bytes in our buffer? Extract and return. -+ buf.seek(0) -+ rv = buf.read(size) -+ self._rbuf = StringIO.StringIO() -+ self._rbuf.write(buf.read()) -+ return rv -+ -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ while True: -+ left = size - buf_len -+ # recv() will malloc the amount of memory given as its -+ # parameter even though it often returns much less data -+ # than that. The returned data string is short lived -+ # as we copy it into a StringIO and free it. This avoids -+ # fragmentation issues on many platforms. -+ data = self.recv(left) -+ if not data: -+ break -+ n = len(data) -+ if n == size and not buf_len: -+ # Shortcut. Avoid buffer data copies when: -+ # - We have no data in our buffer. -+ # AND -+ # - Our call to recv returned exactly the -+ # number of bytes we were asked to read. -+ return data -+ if n == left: -+ buf.write(data) -+ del data # explicit free -+ break -+ assert n <= left, "recv(%d) returned %d bytes" % (left, n) -+ buf.write(data) -+ buf_len += n -+ del data # explicit free -+ #assert buf_len == buf.tell() -+ return buf.getvalue() -+ -+ def readline(self, size=-1): -+ buf = self._rbuf -+ buf.seek(0, 2) # seek end -+ if buf.tell() > 0: -+ # check if we already have it in our buffer -+ buf.seek(0) -+ bline = buf.readline(size) -+ if bline.endswith('\n') or len(bline) == size: -+ self._rbuf = StringIO.StringIO() -+ self._rbuf.write(buf.read()) -+ return bline -+ del bline -+ if size < 0: -+ # Read until \n or EOF, whichever comes first -+ if self._rbufsize <= 1: -+ # Speed up unbuffered case -+ buf.seek(0) -+ buffers = [buf.read()] -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ data = None -+ recv = self.recv -+ while data != "\n": -+ data = recv(1) -+ if not data: -+ break -+ buffers.append(data) -+ return "".join(buffers) -+ -+ buf.seek(0, 2) # seek end -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ while True: -+ data = self.recv(self._rbufsize) -+ if not data: -+ break -+ nl = data.find('\n') -+ if nl >= 0: -+ nl += 1 -+ buf.write(data[:nl]) -+ self._rbuf.write(data[nl:]) -+ del data -+ break -+ buf.write(data) -+ return buf.getvalue() -+ else: -+ # Read until size bytes or \n or EOF seen, whichever comes first -+ buf.seek(0, 2) # seek end -+ buf_len = buf.tell() -+ if buf_len >= size: -+ buf.seek(0) -+ rv = buf.read(size) -+ self._rbuf = StringIO.StringIO() -+ self._rbuf.write(buf.read()) -+ return rv -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ while True: -+ data = self.recv(self._rbufsize) -+ if not data: -+ break -+ left = size - buf_len -+ # did we just receive a newline? -+ nl = data.find('\n', 0, left) -+ if nl >= 0: -+ nl += 1 -+ # save the excess data to _rbuf -+ self._rbuf.write(data[nl:]) -+ if buf_len: -+ buf.write(data[:nl]) -+ break -+ else: -+ # Shortcut. Avoid data copy through buf when returning -+ # a substring of our first recv(). -+ return data[:nl] -+ n = len(data) -+ if n == size and not buf_len: -+ # Shortcut. Avoid data copy through buf when -+ # returning exactly all of our first recv(). -+ return data -+ if n >= left: -+ buf.write(data[:left]) -+ self._rbuf.write(data[left:]) -+ break -+ buf.write(data) -+ buf_len += n -+ #assert buf_len == buf.tell() -+ return buf.getvalue() -+ -+else: -+ class CP_fileobject(socket._fileobject): -+ """Faux file object attached to a socket object.""" -+ -+ def sendall(self, data): -+ """Sendall for non-blocking sockets.""" -+ while data: -+ try: -+ bytes_sent = self.send(data) -+ data = data[bytes_sent:] -+ except socket.error, e: -+ if e.args[0] not in socket_errors_nonblocking: -+ raise -+ -+ def send(self, data): -+ return self._sock.send(data) -+ -+ def flush(self): -+ if self._wbuf: -+ buffer = "".join(self._wbuf) -+ self._wbuf = [] -+ self.sendall(buffer) -+ -+ def recv(self, size): - while True: -- data = self.recv(recv_size) -- if not data: -- break -- buffers.append(data) -- return "".join(buffers) -- else: -- # Read until size bytes or EOF seen, whichever comes first -- data = self._rbuf -- buf_len = len(data) -- if buf_len >= size: -- self._rbuf = data[size:] -- return data[:size] -- buffers = [] -- if data: -- buffers.append(data) -- self._rbuf = "" -- while True: -- left = size - buf_len -- recv_size = max(self._rbufsize, left) -- data = self.recv(recv_size) -- if not data: -- break -- buffers.append(data) -- n = len(data) -- if n >= left: -- self._rbuf = data[left:] -- buffers[-1] = data[:left] -- break -- buf_len += n -- return "".join(buffers) -+ try: -+ return self._sock.recv(size) -+ except socket.error, e: -+ if e.args[0] not in socket_errors_nonblocking: -+ raise - -- def readline(self, size=-1): -- data = self._rbuf -- if size < 0: -- # Read until \n or EOF, whichever comes first -- if self._rbufsize <= 1: -- # Speed up unbuffered case -- assert data == "" -+ def read(self, size=-1): -+ if size < 0: -+ # Read until EOF -+ buffers = [self._rbuf] -+ self._rbuf = "" -+ if self._rbufsize <= 1: -+ recv_size = self.default_bufsize -+ else: -+ recv_size = self._rbufsize -+ -+ while True: -+ data = self.recv(recv_size) -+ if not data: -+ break -+ buffers.append(data) -+ return "".join(buffers) -+ else: -+ # Read until size bytes or EOF seen, whichever comes first -+ data = self._rbuf -+ buf_len = len(data) -+ if buf_len >= size: -+ self._rbuf = data[size:] -+ return data[:size] - buffers = [] -- while data != "\n": -- data = self.recv(1) -+ if data: -+ buffers.append(data) -+ self._rbuf = "" -+ while True: -+ left = size - buf_len -+ recv_size = max(self._rbufsize, left) -+ data = self.recv(recv_size) - if not data: - break - buffers.append(data) -+ n = len(data) -+ if n >= left: -+ self._rbuf = data[left:] -+ buffers[-1] = data[:left] -+ break -+ buf_len += n - return "".join(buffers) -- nl = data.find('\n') -- if nl >= 0: -- nl += 1 -- self._rbuf = data[nl:] -- return data[:nl] -- buffers = [] -- if data: -- buffers.append(data) -- self._rbuf = "" -- while True: -- data = self.recv(self._rbufsize) -- if not data: -- break -- buffers.append(data) -+ -+ def readline(self, size=-1): -+ data = self._rbuf -+ if size < 0: -+ # Read until \n or EOF, whichever comes first -+ if self._rbufsize <= 1: -+ # Speed up unbuffered case -+ assert data == "" -+ buffers = [] -+ while data != "\n": -+ data = self.recv(1) -+ if not data: -+ break -+ buffers.append(data) -+ return "".join(buffers) - nl = data.find('\n') - if nl >= 0: - nl += 1 - self._rbuf = data[nl:] -- buffers[-1] = data[:nl] -- break -- return "".join(buffers) -- else: -- # Read until size bytes or \n or EOF seen, whichever comes first -- nl = data.find('\n', 0, size) -- if nl >= 0: -- nl += 1 -- self._rbuf = data[nl:] -- return data[:nl] -- buf_len = len(data) -- if buf_len >= size: -- self._rbuf = data[size:] -- return data[:size] -- buffers = [] -- if data: -- buffers.append(data) -- self._rbuf = "" -- while True: -- data = self.recv(self._rbufsize) -- if not data: -- break -- buffers.append(data) -- left = size - buf_len -- nl = data.find('\n', 0, left) -+ return data[:nl] -+ buffers = [] -+ if data: -+ buffers.append(data) -+ self._rbuf = "" -+ while True: -+ data = self.recv(self._rbufsize) -+ if not data: -+ break -+ buffers.append(data) -+ nl = data.find('\n') -+ if nl >= 0: -+ nl += 1 -+ self._rbuf = data[nl:] -+ buffers[-1] = data[:nl] -+ break -+ return "".join(buffers) -+ else: -+ # Read until size bytes or \n or EOF seen, whichever comes first -+ nl = data.find('\n', 0, size) - if nl >= 0: - nl += 1 - self._rbuf = data[nl:] -- buffers[-1] = data[:nl] -- break -- n = len(data) -- if n >= left: -- self._rbuf = data[left:] -- buffers[-1] = data[:left] -- break -- buf_len += n -- return "".join(buffers) -+ return data[:nl] -+ buf_len = len(data) -+ if buf_len >= size: -+ self._rbuf = data[size:] -+ return data[:size] -+ buffers = [] -+ if data: -+ buffers.append(data) -+ self._rbuf = "" -+ while True: -+ data = self.recv(self._rbufsize) -+ if not data: -+ break -+ buffers.append(data) -+ left = size - buf_len -+ nl = data.find('\n', 0, left) -+ if nl >= 0: -+ nl += 1 -+ self._rbuf = data[nl:] -+ buffers[-1] = data[:nl] -+ break -+ n = len(data) -+ if n >= left: -+ self._rbuf = data[left:] -+ buffers[-1] = data[:left] -+ break -+ buf_len += n -+ return "".join(buffers) - - - class SSL_fileobject(CP_fileobject): diff --git a/community-testing/python-cherrypy/ChangeLog b/community-testing/python-cherrypy/ChangeLog deleted file mode 100644 index 90276417c..000000000 --- a/community-testing/python-cherrypy/ChangeLog +++ /dev/null @@ -1,26 +0,0 @@ - -2009-04-15 Douglas Soares de Andrade - - * Updated for i686: 3.1.2 - -2008-12-14 Douglas Soares de Andrade - - * Updated for i686: 3.1.1 - -2008-11-04 Douglas Soares de Andrade - - * Updated for python 2.6 - * Thanks to David Moore - -2008-07-09 Mateusz Herych - - * Updating for x86_64: 3.1.0 - -2008-07-09 Douglas Soares de Andrade - - * Updating for i686: 3.1.0 - -2008-02-28 Douglas Soares de Andrade - - * Updating in i686: 3.0.3 - diff --git a/community-testing/python-cherrypy/PKGBUILD b/community-testing/python-cherrypy/PKGBUILD deleted file mode 100644 index 75af39b55..000000000 --- a/community-testing/python-cherrypy/PKGBUILD +++ /dev/null @@ -1,24 +0,0 @@ -# $Id: PKGBUILD 45860 2011-04-30 05:41:24Z kchen $ -# Maintainer: Angel Velasquez -# Contributor: Kaiting Chen -# Contributor: Douglas Soares de Andrade -# Contributor: Armando M. Baratti -# Contributor: Florian Richter -pkgname=python-cherrypy -pkgver=3.2.0 -pkgrel=1 -pkgdesc="A pythonic, object-oriented web development framework" -arch=('i686' 'x86_64') -url="http://www.cherrypy.org" -license=('BSD') -depends=('python3') -source=(http://download.cherrypy.org/cherrypy/$pkgver/CherryPy-$pkgver.tar.gz - license) -md5sums=('e5c1322bf5ce962c16283ab7a6dcca3f' - '22365dc6b0e6835b53da009aa36af017') - -build() { - cd $srcdir/CherryPy-$pkgver - python ./setup.py install --root=$pkgdir - install -D -m644 $srcdir/license $pkgdir/usr/share/licenses/$pkgname/license -} diff --git a/community-testing/python-cherrypy/license b/community-testing/python-cherrypy/license deleted file mode 100644 index 32e9cf6bd..000000000 --- a/community-testing/python-cherrypy/license +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2004, CherryPy Team (team@cherrypy.org) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the CherryPy Team nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/community-testing/python2-cherrypy/837.2049.patch b/community-testing/python2-cherrypy/837.2049.patch deleted file mode 100644 index 20cc0dd36..000000000 --- a/community-testing/python2-cherrypy/837.2049.patch +++ /dev/null @@ -1,554 +0,0 @@ -Index: cherrypy/test/test_tools.py -=================================================================== ---- cherrypy/test/test_tools.py (revision 2049) -+++ cherrypy/test/test_tools.py (working copy) -@@ -3,6 +3,7 @@ - import gzip - import StringIO - import sys -+from httplib import IncompleteRead - import time - timeout = 0.2 - -@@ -272,8 +273,12 @@ - # Because this error is raised after the response body has - # started, and because it's chunked output, an error is raised by - # the HTTP client when it encounters incomplete output. -- self.assertRaises(ValueError, self.getPage, -- "/demo/errinstream?id=5") -+ if sys.version_info[:2] >= (2, 6): -+ self.assertRaises(IncompleteRead, self.getPage, -+ "/demo/errinstream?id=5") -+ else: -+ self.assertRaises(ValueError, self.getPage, -+ "/demo/errinstream?id=5") - # If this fails, then on_end_request isn't being called at all. - time.sleep(0.1) - self.getPage("/demo/ended/5") -Index: cherrypy/test/webtest.py -=================================================================== ---- cherrypy/test/webtest.py (revision 2049) -+++ cherrypy/test/webtest.py (working copy) -@@ -491,7 +491,7 @@ - # IN6ADDR_ANY, which should respond on localhost. - host = "::1" - conn = http_conn(host, port) -- -+ - conn._http_vsn_str = protocol - conn._http_vsn = int("".join([x for x in protocol if x.isdigit()])) - -Index: cherrypy/test/test_encoding.py -=================================================================== ---- cherrypy/test/test_encoding.py (revision 2049) -+++ cherrypy/test/test_encoding.py (working copy) -@@ -1,7 +1,9 @@ - from cherrypy.test import test - test.prefer_parent_path() - -+import sys - import gzip, StringIO -+from httplib import IncompleteRead - import cherrypy - europoundUnicode = u'\x80\xa3' - europoundUtf8 = u'\x80\xa3'.encode('utf-8') -@@ -160,10 +162,13 @@ - else: - # The wsgiserver will simply stop sending data, and the HTTP client - # will error due to an incomplete chunk-encoded stream. -- self.assertRaises(ValueError, self.getPage, '/gzip/noshow_stream', -- headers=[("Accept-Encoding", "gzip")]) -+ if sys.version_info[:2] >= (2, 6): -+ self.assertRaises(IncompleteRead, self.getPage, '/gzip/noshow_stream', -+ headers=[("Accept-Encoding", "gzip")]) -+ else: -+ self.assertRaises(ValueError, self.getPage, '/gzip/noshow_stream', -+ headers=[("Accept-Encoding", "gzip")]) - -- - if __name__ == "__main__": - setup_server() - helper.testmain() -Index: cherrypy/test/test_core.py -=================================================================== ---- cherrypy/test/test_core.py (revision 2049) -+++ cherrypy/test/test_core.py (working copy) -@@ -7,6 +7,7 @@ - localDir = os.path.dirname(__file__) - import sys - import types -+from httplib import IncompleteRead - - import cherrypy - from cherrypy import _cptools, tools -@@ -760,8 +761,12 @@ - else: - # Under HTTP/1.1, the chunked transfer-coding is used. - # The HTTP client will choke when the output is incomplete. -- self.assertRaises(ValueError, self.getPage, -- "/error/page_streamed") -+ if sys.version_info[:2] >= (2, 6): -+ self.assertRaises(IncompleteRead, self.getPage, -+ "/error/page_streamed") -+ else: -+ self.assertRaises(ValueError, self.getPage, -+ "/error/page_streamed") - - # No traceback should be present - self.getPage("/error/cause_err_in_finalize") -Index: cherrypy/wsgiserver/__init__.py -=================================================================== ---- cherrypy/wsgiserver/__init__.py (revision 2049) -+++ cherrypy/wsgiserver/__init__.py (working copy) -@@ -713,148 +713,325 @@ - """Exception raised when the SSL implementation signals a fatal alert.""" - pass - -+if sys.version_info[:2] >= (2, 6) or sys.version_info[:3] >= (2, 5, 2): -+ class CP_fileobject(socket._fileobject): -+ """Faux file object attached to a socket object.""" - --class CP_fileobject(socket._fileobject): -- """Faux file object attached to a socket object.""" -- -- def sendall(self, data): -- """Sendall for non-blocking sockets.""" -- while data: -- try: -- bytes_sent = self.send(data) -- data = data[bytes_sent:] -- except socket.error, e: -- if e.args[0] not in socket_errors_nonblocking: -- raise -- -- def send(self, data): -- return self._sock.send(data) -- -- def flush(self): -- if self._wbuf: -- buffer = "".join(self._wbuf) -- self._wbuf = [] -- self.sendall(buffer) -- -- def recv(self, size): -- while True: -- try: -- return self._sock.recv(size) -- except socket.error, e: -- if e.args[0] not in socket_errors_nonblocking: -- raise -- -- def read(self, size=-1): -- if size < 0: -- # Read until EOF -- buffers = [self._rbuf] -- self._rbuf = "" -- if self._rbufsize <= 1: -- recv_size = self.default_bufsize -+ def sendall(self, data): -+ """Sendall for non-blocking sockets.""" -+ while data: -+ try: -+ bytes_sent = self.send(data) -+ data = data[bytes_sent:] -+ except socket.error, e: -+ if e.args[0] not in socket_errors_nonblocking: -+ raise -+ -+ def send(self, data): -+ return self._sock.send(data) -+ -+ def flush(self): -+ if self._wbuf: -+ buffer = "".join(self._wbuf) -+ self._wbuf = [] -+ self.sendall(buffer) -+ -+ def recv(self, size): -+ while True: -+ try: -+ return self._sock.recv(size) -+ except socket.error, e: -+ if e.args[0] not in socket_errors_nonblocking: -+ raise -+ -+ def read(self, size=-1): -+ # Use max, disallow tiny reads in a loop as they are very inefficient. -+ # We never leave read() with any leftover data from a new recv() call -+ # in our internal buffer. -+ rbufsize = max(self._rbufsize, self.default_bufsize) -+ # Our use of StringIO rather than lists of string objects returned by -+ # recv() minimizes memory usage and fragmentation that occurs when -+ # rbufsize is large compared to the typical return value of recv(). -+ buf = self._rbuf -+ buf.seek(0, 2) # seek end -+ if size < 0: -+ # Read until EOF -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ while True: -+ data = self.recv(rbufsize) -+ if not data: -+ break -+ buf.write(data) -+ return buf.getvalue() - else: -- recv_size = self._rbufsize -- -+ # Read until size bytes or EOF seen, whichever comes first -+ buf_len = buf.tell() -+ if buf_len >= size: -+ # Already have size bytes in our buffer? Extract and return. -+ buf.seek(0) -+ rv = buf.read(size) -+ self._rbuf = StringIO.StringIO() -+ self._rbuf.write(buf.read()) -+ return rv -+ -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ while True: -+ left = size - buf_len -+ # recv() will malloc the amount of memory given as its -+ # parameter even though it often returns much less data -+ # than that. The returned data string is short lived -+ # as we copy it into a StringIO and free it. This avoids -+ # fragmentation issues on many platforms. -+ data = self.recv(left) -+ if not data: -+ break -+ n = len(data) -+ if n == size and not buf_len: -+ # Shortcut. Avoid buffer data copies when: -+ # - We have no data in our buffer. -+ # AND -+ # - Our call to recv returned exactly the -+ # number of bytes we were asked to read. -+ return data -+ if n == left: -+ buf.write(data) -+ del data # explicit free -+ break -+ assert n <= left, "recv(%d) returned %d bytes" % (left, n) -+ buf.write(data) -+ buf_len += n -+ del data # explicit free -+ #assert buf_len == buf.tell() -+ return buf.getvalue() -+ -+ def readline(self, size=-1): -+ buf = self._rbuf -+ buf.seek(0, 2) # seek end -+ if buf.tell() > 0: -+ # check if we already have it in our buffer -+ buf.seek(0) -+ bline = buf.readline(size) -+ if bline.endswith('\n') or len(bline) == size: -+ self._rbuf = StringIO.StringIO() -+ self._rbuf.write(buf.read()) -+ return bline -+ del bline -+ if size < 0: -+ # Read until \n or EOF, whichever comes first -+ if self._rbufsize <= 1: -+ # Speed up unbuffered case -+ buf.seek(0) -+ buffers = [buf.read()] -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ data = None -+ recv = self.recv -+ while data != "\n": -+ data = recv(1) -+ if not data: -+ break -+ buffers.append(data) -+ return "".join(buffers) -+ -+ buf.seek(0, 2) # seek end -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ while True: -+ data = self.recv(self._rbufsize) -+ if not data: -+ break -+ nl = data.find('\n') -+ if nl >= 0: -+ nl += 1 -+ buf.write(data[:nl]) -+ self._rbuf.write(data[nl:]) -+ del data -+ break -+ buf.write(data) -+ return buf.getvalue() -+ else: -+ # Read until size bytes or \n or EOF seen, whichever comes first -+ buf.seek(0, 2) # seek end -+ buf_len = buf.tell() -+ if buf_len >= size: -+ buf.seek(0) -+ rv = buf.read(size) -+ self._rbuf = StringIO.StringIO() -+ self._rbuf.write(buf.read()) -+ return rv -+ self._rbuf = StringIO.StringIO() # reset _rbuf. we consume it via buf. -+ while True: -+ data = self.recv(self._rbufsize) -+ if not data: -+ break -+ left = size - buf_len -+ # did we just receive a newline? -+ nl = data.find('\n', 0, left) -+ if nl >= 0: -+ nl += 1 -+ # save the excess data to _rbuf -+ self._rbuf.write(data[nl:]) -+ if buf_len: -+ buf.write(data[:nl]) -+ break -+ else: -+ # Shortcut. Avoid data copy through buf when returning -+ # a substring of our first recv(). -+ return data[:nl] -+ n = len(data) -+ if n == size and not buf_len: -+ # Shortcut. Avoid data copy through buf when -+ # returning exactly all of our first recv(). -+ return data -+ if n >= left: -+ buf.write(data[:left]) -+ self._rbuf.write(data[left:]) -+ break -+ buf.write(data) -+ buf_len += n -+ #assert buf_len == buf.tell() -+ return buf.getvalue() -+ -+else: -+ class CP_fileobject(socket._fileobject): -+ """Faux file object attached to a socket object.""" -+ -+ def sendall(self, data): -+ """Sendall for non-blocking sockets.""" -+ while data: -+ try: -+ bytes_sent = self.send(data) -+ data = data[bytes_sent:] -+ except socket.error, e: -+ if e.args[0] not in socket_errors_nonblocking: -+ raise -+ -+ def send(self, data): -+ return self._sock.send(data) -+ -+ def flush(self): -+ if self._wbuf: -+ buffer = "".join(self._wbuf) -+ self._wbuf = [] -+ self.sendall(buffer) -+ -+ def recv(self, size): - while True: -- data = self.recv(recv_size) -- if not data: -- break -- buffers.append(data) -- return "".join(buffers) -- else: -- # Read until size bytes or EOF seen, whichever comes first -- data = self._rbuf -- buf_len = len(data) -- if buf_len >= size: -- self._rbuf = data[size:] -- return data[:size] -- buffers = [] -- if data: -- buffers.append(data) -- self._rbuf = "" -- while True: -- left = size - buf_len -- recv_size = max(self._rbufsize, left) -- data = self.recv(recv_size) -- if not data: -- break -- buffers.append(data) -- n = len(data) -- if n >= left: -- self._rbuf = data[left:] -- buffers[-1] = data[:left] -- break -- buf_len += n -- return "".join(buffers) -+ try: -+ return self._sock.recv(size) -+ except socket.error, e: -+ if e.args[0] not in socket_errors_nonblocking: -+ raise - -- def readline(self, size=-1): -- data = self._rbuf -- if size < 0: -- # Read until \n or EOF, whichever comes first -- if self._rbufsize <= 1: -- # Speed up unbuffered case -- assert data == "" -+ def read(self, size=-1): -+ if size < 0: -+ # Read until EOF -+ buffers = [self._rbuf] -+ self._rbuf = "" -+ if self._rbufsize <= 1: -+ recv_size = self.default_bufsize -+ else: -+ recv_size = self._rbufsize -+ -+ while True: -+ data = self.recv(recv_size) -+ if not data: -+ break -+ buffers.append(data) -+ return "".join(buffers) -+ else: -+ # Read until size bytes or EOF seen, whichever comes first -+ data = self._rbuf -+ buf_len = len(data) -+ if buf_len >= size: -+ self._rbuf = data[size:] -+ return data[:size] - buffers = [] -- while data != "\n": -- data = self.recv(1) -+ if data: -+ buffers.append(data) -+ self._rbuf = "" -+ while True: -+ left = size - buf_len -+ recv_size = max(self._rbufsize, left) -+ data = self.recv(recv_size) - if not data: - break - buffers.append(data) -+ n = len(data) -+ if n >= left: -+ self._rbuf = data[left:] -+ buffers[-1] = data[:left] -+ break -+ buf_len += n - return "".join(buffers) -- nl = data.find('\n') -- if nl >= 0: -- nl += 1 -- self._rbuf = data[nl:] -- return data[:nl] -- buffers = [] -- if data: -- buffers.append(data) -- self._rbuf = "" -- while True: -- data = self.recv(self._rbufsize) -- if not data: -- break -- buffers.append(data) -+ -+ def readline(self, size=-1): -+ data = self._rbuf -+ if size < 0: -+ # Read until \n or EOF, whichever comes first -+ if self._rbufsize <= 1: -+ # Speed up unbuffered case -+ assert data == "" -+ buffers = [] -+ while data != "\n": -+ data = self.recv(1) -+ if not data: -+ break -+ buffers.append(data) -+ return "".join(buffers) - nl = data.find('\n') - if nl >= 0: - nl += 1 - self._rbuf = data[nl:] -- buffers[-1] = data[:nl] -- break -- return "".join(buffers) -- else: -- # Read until size bytes or \n or EOF seen, whichever comes first -- nl = data.find('\n', 0, size) -- if nl >= 0: -- nl += 1 -- self._rbuf = data[nl:] -- return data[:nl] -- buf_len = len(data) -- if buf_len >= size: -- self._rbuf = data[size:] -- return data[:size] -- buffers = [] -- if data: -- buffers.append(data) -- self._rbuf = "" -- while True: -- data = self.recv(self._rbufsize) -- if not data: -- break -- buffers.append(data) -- left = size - buf_len -- nl = data.find('\n', 0, left) -+ return data[:nl] -+ buffers = [] -+ if data: -+ buffers.append(data) -+ self._rbuf = "" -+ while True: -+ data = self.recv(self._rbufsize) -+ if not data: -+ break -+ buffers.append(data) -+ nl = data.find('\n') -+ if nl >= 0: -+ nl += 1 -+ self._rbuf = data[nl:] -+ buffers[-1] = data[:nl] -+ break -+ return "".join(buffers) -+ else: -+ # Read until size bytes or \n or EOF seen, whichever comes first -+ nl = data.find('\n', 0, size) - if nl >= 0: - nl += 1 - self._rbuf = data[nl:] -- buffers[-1] = data[:nl] -- break -- n = len(data) -- if n >= left: -- self._rbuf = data[left:] -- buffers[-1] = data[:left] -- break -- buf_len += n -- return "".join(buffers) -+ return data[:nl] -+ buf_len = len(data) -+ if buf_len >= size: -+ self._rbuf = data[size:] -+ return data[:size] -+ buffers = [] -+ if data: -+ buffers.append(data) -+ self._rbuf = "" -+ while True: -+ data = self.recv(self._rbufsize) -+ if not data: -+ break -+ buffers.append(data) -+ left = size - buf_len -+ nl = data.find('\n', 0, left) -+ if nl >= 0: -+ nl += 1 -+ self._rbuf = data[nl:] -+ buffers[-1] = data[:nl] -+ break -+ n = len(data) -+ if n >= left: -+ self._rbuf = data[left:] -+ buffers[-1] = data[:left] -+ break -+ buf_len += n -+ return "".join(buffers) - - - class SSL_fileobject(CP_fileobject): diff --git a/community-testing/python2-cherrypy/ChangeLog b/community-testing/python2-cherrypy/ChangeLog deleted file mode 100644 index 90276417c..000000000 --- a/community-testing/python2-cherrypy/ChangeLog +++ /dev/null @@ -1,26 +0,0 @@ - -2009-04-15 Douglas Soares de Andrade - - * Updated for i686: 3.1.2 - -2008-12-14 Douglas Soares de Andrade - - * Updated for i686: 3.1.1 - -2008-11-04 Douglas Soares de Andrade - - * Updated for python 2.6 - * Thanks to David Moore - -2008-07-09 Mateusz Herych - - * Updating for x86_64: 3.1.0 - -2008-07-09 Douglas Soares de Andrade - - * Updating for i686: 3.1.0 - -2008-02-28 Douglas Soares de Andrade - - * Updating in i686: 3.0.3 - diff --git a/community-testing/python2-cherrypy/PKGBUILD b/community-testing/python2-cherrypy/PKGBUILD deleted file mode 100644 index 98665d8eb..000000000 --- a/community-testing/python2-cherrypy/PKGBUILD +++ /dev/null @@ -1,25 +0,0 @@ -# $Id: PKGBUILD 45860 2011-04-30 05:41:24Z kchen $ -# Maintainer: Angel Velasquez -# Contributor: Kaiting Chen -# Contributor: Douglas Soares de Andrade -# Contributor: Armando M. Baratti -# Contributor: Florian Richter -pkgname=python2-cherrypy -pkgver=3.2.0 -pkgrel=1 -pkgdesc="A pythonic, object-oriented web development framework" -arch=('i686' 'x86_64') -url="http://www.cherrypy.org" -license=('BSD') -replaces=('cherrypy') -depends=('python2') -source=(http://download.cherrypy.org/cherrypy/$pkgver/CherryPy-$pkgver.tar.gz - license) -md5sums=('e5c1322bf5ce962c16283ab7a6dcca3f' - '22365dc6b0e6835b53da009aa36af017') - -build() { - cd $srcdir/CherryPy-$pkgver - python2 ./setup.py install --root=$pkgdir - install -D -m644 $srcdir/license $pkgdir/usr/share/licenses/$pkgname/license -} diff --git a/community-testing/python2-cherrypy/license b/community-testing/python2-cherrypy/license deleted file mode 100644 index 32e9cf6bd..000000000 --- a/community-testing/python2-cherrypy/license +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2004, CherryPy Team (team@cherrypy.org) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the CherryPy Team nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/community-testing/splix/PKGBUILD b/community-testing/splix/PKGBUILD deleted file mode 100644 index 9b8061ad5..000000000 --- a/community-testing/splix/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# $Id: PKGBUILD 45807 2011-04-29 11:10:15Z spupykin $ -# Maintainer: Sergej Pupykin -# Maintainer: Angel 'angvp' Velasquez -# Contributor: Francis Carroll (franciscarroll at gmail dot com) - -pkgname=splix -pkgver=2.0.0 -pkgrel=9 -pkgdesc="CUPS drivers for SPL (Samsung Printer Language) printers" -arch=('i686' 'x86_64') -url="http://splix.ap2c.org/" -license=('GPL') -depends=('libcups' 'gcc-libs' 'ghostscript>=9.02') -makedepends=('libcups' 'jbigkit' 'krb5') -install=splix.install -source=(http://downloads.sourceforge.net/splix/$pkgname-$pkgver.tar.bz2) -md5sums=('f3aa735c22a926818b3d8b26c9964186') - -build() { - cd "$srcdir/$pkgname-$pkgver" - - sed -i 's#const PPDFile::Value::Value #const PPDFile::Value #' src/ppdfile.cpp - - make PSTORASTER=gstoraster -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - - install -d "$pkgdir/usr/lib/cups/filter" - install -d "$pkgdir/usr/share/cups/model/samsung" - - make DESTDIR="$pkgdir" install -} diff --git a/community-testing/splix/splix.install b/community-testing/splix/splix.install deleted file mode 100644 index ee1eb78a3..000000000 --- a/community-testing/splix/splix.install +++ /dev/null @@ -1,19 +0,0 @@ -post_install() { - cat <krb5ctxt, &tgs_princ, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data, -+ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), -+ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), - strlen(KRB5_TGS_NAME), KRB5_TGS_NAME, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data, -+ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), -+ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), - 0); - if (ret) { - error(logopt, ---- autofs-5.0.5/modules/Makefile~ 2010-03-03 01:42:18.532868539 +0100 -+++ autofs-5.0.5/modules/Makefile 2010-03-03 01:42:35.360367371 +0100 -@@ -43,7 +43,7 @@ - ifeq ($(SASL), 1) - SASL_OBJ = cyrus-sasl.o - LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) -DLDAP_THREAD_SAFE -- LIBLDAP += $(LIBSASL) $(XML_LIBS) -+ LIBLDAP += $(LIBSASL) $(XML_LIBS) -lkrb5 - endif - endif \ No newline at end of file diff --git a/community/docky/bzr-1798.diff b/community/docky/bzr-1798.diff deleted file mode 100644 index 4fcfb9fa2..000000000 --- a/community/docky/bzr-1798.diff +++ /dev/null @@ -1,170 +0,0 @@ -=== modified file 'Docky.CairoHelper/Docky.CairoHelper/DockySurface.cs' ---- Docky.CairoHelper/Docky.CairoHelper/DockySurface.cs 2010-12-29 15:35:31 +0000 -+++ Docky.CairoHelper/Docky.CairoHelper/DockySurface.cs 2011-03-13 17:16:18 +0000 -@@ -150,7 +150,7 @@ - { - DockySurface result = new DockySurface (area.Width, area.Height, this); - -- Internal.Show (result.Context, 0 - area.X, 0 - area.Y); -+ Internal.Show (result.Context, -area.X, -area.Y); - - return result; - } - -=== modified file 'Docky.Items/Docky.Painters/PagingDockPainter.cs' ---- Docky.Items/Docky.Painters/PagingDockPainter.cs 2011-01-26 04:43:08 +0000 -+++ Docky.Items/Docky.Painters/PagingDockPainter.cs 2011-03-13 17:16:18 +0000 -@@ -117,7 +117,7 @@ - ShowBuffer (surface, LastPage, offset); - } else { - ShowBuffer (surface, Page, Allocation.Width - offset); -- ShowBuffer (surface, LastPage, 0 - offset); -+ ShowBuffer (surface, LastPage, -offset); - } - - // fade out the edges during a slide - -=== modified file 'Docky/Docky/CairoHelper/DockySurface_Extensions.cs' ---- Docky/Docky/CairoHelper/DockySurface_Extensions.cs 2010-12-29 08:12:28 +0000 -+++ Docky/Docky/CairoHelper/DockySurface_Extensions.cs 2011-03-13 17:16:18 +0000 -@@ -44,15 +44,15 @@ - double cos, sin; - cos = Math.Cos (rotation); - sin = Math.Sin (rotation); -- Matrix m = new Matrix (cos, sin, 0 - sin, cos, point.X, point.Y); -+ Matrix m = new Matrix (cos, sin, -sin, cos, point.X, point.Y); - cr.Transform (m); - - if (zoom != 1) - cr.Scale (zoom, zoom); - - cr.SetSource (self.Internal, -- 0 - self.Width / 2, -- 0 - self.Height / 2); -+ -self.Width / 2, -+ -self.Height / 2); - - cr.PaintWithAlpha (opacity); - -@@ -85,7 +85,7 @@ - double cos, sin; - cos = Math.Cos (rotation); - sin = Math.Sin (rotation); -- Matrix m = new Matrix (cos, sin, 0 - sin, cos, point.X, point.Y); -+ Matrix m = new Matrix (cos, sin, -sin, cos, point.X, point.Y); - cr.Transform (m); - - if (zoom != 1) -@@ -97,8 +97,8 @@ - cr.Scale (1, -1); - - cr.SetSource (self.Internal, -- 0 - self.Width / 2, -- 0 - self.Height / 2); -+ -self.Width / 2, -+ -self.Height / 2); - - cr.PaintWithAlpha (opacity * .3); - - -=== modified file 'Docky/Docky/Interface/DockWindow.cs' ---- Docky/Docky/Interface/DockWindow.cs 2011-03-03 08:59:59 +0000 -+++ Docky/Docky/Interface/DockWindow.cs 2011-03-13 17:16:18 +0000 -@@ -2749,10 +2749,10 @@ - } else { - switch (Position) { - case DockPosition.Top: -- cr.SetSource (main_buffer.Internal, 0, 0 - HideOffset * ZoomedDockHeight); -+ cr.SetSource (main_buffer.Internal, 0, -HideOffset * ZoomedDockHeight); - break; - case DockPosition.Left: -- cr.SetSource (main_buffer.Internal, 0 - HideOffset * ZoomedDockHeight, 0); -+ cr.SetSource (main_buffer.Internal, -HideOffset * ZoomedDockHeight, 0); - break; - case DockPosition.Right: - cr.SetSource (main_buffer.Internal, HideOffset * ZoomedDockHeight, 0); - -=== modified file 'Docky/Docky/Menus/DockMenu.cs' ---- Docky/Docky/Menus/DockMenu.cs 2010-10-15 15:32:36 +0000 -+++ Docky/Docky/Menus/DockMenu.cs 2011-03-13 17:16:18 +0000 -@@ -543,15 +543,15 @@ - switch (Orientation) { - case DockPosition.Top: - cr.Scale (1, -1); -- cr.Translate (0, 0 - background_buffer.Height); -+ cr.Translate (0, -background_buffer.Height); - break; - case DockPosition.Left: - cr.Rotate (Math.PI * .5); -- cr.Translate (0, 0 - background_buffer.Height); -+ cr.Translate (0, -background_buffer.Height); - break; - case DockPosition.Right: - cr.Rotate (Math.PI * -0.5); -- cr.Translate (0 - background_buffer.Width, 0); -+ cr.Translate (-background_buffer.Width, 0); - break; - } - - -=== modified file 'StandardPlugins/Clock/src/ClockDockItem.cs' ---- StandardPlugins/Clock/src/ClockDockItem.cs 2010-11-21 22:19:54 +0000 -+++ StandardPlugins/Clock/src/ClockDockItem.cs 2011-03-13 17:16:18 +0000 -@@ -388,20 +388,20 @@ - double minuteRotation = 2 * Math.PI * (DateTime.Now.Minute / 60.0) + Math.PI; - cr.Rotate (minuteRotation); - cr.MoveTo (0, radius - radius * .35); -- cr.LineTo (0, 0 - radius * .15); -+ cr.LineTo (0, -radius * .15); - cr.Stroke (); -- cr.Rotate (0 - minuteRotation); -+ cr.Rotate (-minuteRotation); - - cr.Color = new Cairo.Color (0, 0, 0); - double hourRotation = 2 * Math.PI * (DateTime.Now.Hour / (ShowMilitary ? 24.0 : 12.0)) + - Math.PI + (Math.PI / (ShowMilitary ? 12.0 : 6.0)) * DateTime.Now.Minute / 60.0; - cr.Rotate (hourRotation); - cr.MoveTo (0, radius - radius * .5); -- cr.LineTo (0, 0 - radius * .15); -+ cr.LineTo (0, -radius * .15); - cr.Stroke (); -- cr.Rotate (0 - hourRotation); -+ cr.Rotate (-hourRotation); - -- cr.Translate (0 - center, 0 - center); -+ cr.Translate (-center, -center); - - RenderFileOntoContext (cr, System.IO.Path.Combine (ThemePath, "clock-glass.svg"), radius * 2); - RenderFileOntoContext (cr, System.IO.Path.Combine (ThemePath, "clock-frame.svg"), radius * 2); - -=== modified file 'Docky/Docky/ConfigurationWindow.cs' ---- Docky/Docky/ConfigurationWindow.cs 2011-02-05 08:06:51 +0000 -+++ Docky/Docky/ConfigurationWindow.cs 2011-03-15 07:48:42 +0000 -@@ -94,9 +94,10 @@ - this.SetCompositeColormap (); - Stick (); - -- // why 1? because Compiz sucks... thats why! -- Move (0, 1); -- SetSizeRequest (Screen.Width, Screen.Height - 1); -+ // make the window extend off screen in all directions -+ // to work around problems with struts -+ Move (-50, -50); -+ SetSizeRequest (Screen.Width + 100, Screen.Height + 100); - } - - void HandleRealized (object sender, EventArgs e) - -=== modified file 'Docky/Docky/Interface/DockDragTracker.cs' ---- Docky/Docky/Interface/DockDragTracker.cs 2011-03-10 10:48:09 +0000 -+++ Docky/Docky/Interface/DockDragTracker.cs 2011-03-15 07:49:42 +0000 -@@ -539,7 +539,7 @@ - EnableDragTo (); - } else if ((Owner.CursorTracker.Modifier & ModifierType.Button1Mask) == ModifierType.Button1Mask) { - Gdk.Window bestProxy = BestProxyWindow (); -- if (proxy_window != bestProxy) { -+ if (bestProxy != null && proxy_window != bestProxy) { - proxy_window = bestProxy; - Gtk.Drag.DestSetProxy (Owner, proxy_window, DragProtocol.Xdnd, true); - } - diff --git a/community/openscenegraph/build-fix.diff b/community/openscenegraph/build-fix.diff deleted file mode 100644 index 7e9fb0baa..000000000 --- a/community/openscenegraph/build-fix.diff +++ /dev/null @@ -1,137 +0,0 @@ -diff -wbBur OpenSceneGraph-2.8.3/include/osg/AudioStream OpenSceneGraph-2.8.3.my/include/osg/AudioStream ---- OpenSceneGraph-2.8.3/include/osg/AudioStream 2010-03-19 09:14:12.000000000 +0000 -+++ OpenSceneGraph-2.8.3.my/include/osg/AudioStream 2011-02-01 10:50:20.000000000 +0000 -@@ -68,7 +68,7 @@ - virtual int audioFrequency() const = 0; - virtual int audioNbChannels() const = 0; - -- enum SampleFormat -+ enum XSampleFormat - { - SAMPLE_FORMAT_U8, - SAMPLE_FORMAT_S16, -@@ -76,8 +76,7 @@ - SAMPLE_FORMAT_S32, - SAMPLE_FORMAT_F32 - }; -- -- virtual SampleFormat audioSampleFormat() const = 0; -+ virtual XSampleFormat audioSampleFormat() const = 0; - }; - - } // namespace -diff -wbBur OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegAudioStream.cpp OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegAudioStream.cpp ---- OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegAudioStream.cpp 2010-03-19 08:48:34.000000000 +0000 -+++ OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegAudioStream.cpp 2011-02-01 10:52:42.000000000 +0000 -@@ -1,3 +1,10 @@ -+#include -+ -+# if __WORDSIZE == 64 -+# define UINT64_C(c) c ## UL -+# else -+# define UINT64_C(c) c ## ULL -+# endif - - #include "FFmpegAudioStream.hpp" - -@@ -66,7 +71,7 @@ - - - --osg::AudioStream::SampleFormat FFmpegAudioStream::audioSampleFormat() const -+osg::AudioStream::XSampleFormat FFmpegAudioStream::audioSampleFormat() const - { - return m_decoder->audio_decoder().sampleFormat(); - } -diff -wbBur OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegAudioStream.hpp OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegAudioStream.hpp ---- OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegAudioStream.hpp 2010-03-19 08:48:36.000000000 +0000 -+++ OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegAudioStream.hpp 2011-02-01 10:52:33.000000000 +0000 -@@ -23,7 +23,7 @@ - - int audioFrequency() const; - int audioNbChannels() const; -- osg::AudioStream::SampleFormat audioSampleFormat() const; -+ osg::AudioStream::XSampleFormat audioSampleFormat() const; - - double duration() const; - -diff -wbBur OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp ---- OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2010-03-19 09:14:34.000000000 +0000 -+++ OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2011-02-01 10:52:12.000000000 +0000 -@@ -80,7 +79,7 @@ - - m_frequency = m_context->sample_rate; - m_nb_channels = m_context->channels; -- m_sample_format = osg::AudioStream::SampleFormat(m_context->sample_fmt); -+ m_sample_format = osg::AudioStream::XSampleFormat(m_context->sample_fmt); - - // Check stream sanity - if (m_context->codec_id == CODEC_ID_NONE) -diff -wbBur OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp ---- OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp 2010-03-19 09:14:18.000000000 +0000 -+++ OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp 2011-02-01 10:51:34.000000000 +0000 -@@ -13,8 +13,7 @@ - - #include "BoundedMessageQueue.hpp" - -- -- -+#include - - namespace osgFFmpeg { - -@@ -45,7 +42,7 @@ - bool validContext() const; - int frequency() const; - int nbChannels() const; -- osg::AudioStream::SampleFormat sampleFormat() const; -+ osg::AudioStream::XSampleFormat sampleFormat() const; - - private: - -@@ -71,7 +68,7 @@ - - int m_frequency; - int m_nb_channels; -- osg::AudioStream::SampleFormat m_sample_format; -+ osg::AudioStream::XSampleFormat m_sample_format; - - SinkPtr m_audio_sink; - -@@ -104,7 +101,7 @@ - } - - --inline osg::AudioStream::SampleFormat FFmpegDecoderAudio::sampleFormat() const -+inline osg::AudioStream::XSampleFormat FFmpegDecoderAudio::sampleFormat() const - { - return m_sample_format; - } -diff -wbBur OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp ---- OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp 2010-03-19 09:14:18.000000000 +0000 -+++ OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp 2011-01-31 18:04:48.000000000 +0000 -@@ -1,3 +1,10 @@ -+#include -+ -+# if __WORDSIZE == 64 -+# define UINT64_C(c) c ## UL -+# else -+# define UINT64_C(c) c ## ULL -+# endif - - #include "FFmpegImageStream.hpp" - #include "FFmpegAudioStream.hpp" -diff -wbBur OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp ---- OpenSceneGraph-2.8.3/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp 2010-03-19 09:04:40.000000000 +0000 -+++ OpenSceneGraph-2.8.3.my/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp 2011-01-31 17:52:59.000000000 +0000 -@@ -1,3 +1,10 @@ -+#include -+ -+# if __WORDSIZE == 64 -+# define UINT64_C(c) c ## UL -+# else -+# define UINT64_C(c) c ## ULL -+# endif - /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield - * - * This library is open source and may be redistributed and/or modified under diff --git a/community/virtualbox/gcc46.patch b/community/virtualbox/gcc46.patch deleted file mode 100644 index 9786a7287..000000000 --- a/community/virtualbox/gcc46.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -Nur VirtualBox-4.0.6_OSE.orig//configure VirtualBox-4.0.6_OSE/configure ---- VirtualBox-4.0.6_OSE.orig//configure 2011-04-21 03:29:30.000000000 -0700 -+++ VirtualBox-4.0.6_OSE/configure 2011-04-21 11:42:57.517216676 -0700 -@@ -412,9 +412,9 @@ - elif [ $cc_maj -lt 3 \ - -o \( $cc_maj -eq 3 -a $cc_min -lt 2 \) \ - -o \( $cc_maj -eq 4 -a $cc_min -lt 1 -a "$OS" != "darwin" \) \ -- -o \( $cc_maj -eq 4 -a $cc_min -gt 5 \) \ -+ -o \( $cc_maj -eq 4 -a $cc_min -gt 6 \) \ - -o $cc_maj -gt 4 ]; then -- log_failure "gcc version $cc_ver found, expected gcc 3.x with x>1 or gcc 4.x with 01 or gcc 4.x with 0 diff --git a/core/heimdal/002_all_heimal-fPIC.patch b/core/heimdal/002_all_heimal-fPIC.patch deleted file mode 100644 index c67dbae76..000000000 --- a/core/heimdal/002_all_heimal-fPIC.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- lib/editline/Makefile.am 2005-06-16 18:28:44.000000000 +0200 -+++ lib/editline/Makefile.am 2005-06-27 23:21:02.000000000 +0200 -@@ -41,6 +41,9 @@ - - EXTRA_DIST = $(man_MANS) - -+$(libeditline_la_OBJECTS): %.lo: %.c -+ $(LTCOMPILE) -fPIC -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< -+ - snprintf.c: - $(LN_S) $(srcdir)/../roken/snprintf.c . - strdup.c: diff --git a/core/heimdal/003_all_heimdal-rxapps.patch b/core/heimdal/003_all_heimdal-rxapps.patch deleted file mode 100644 index 40fc05f08..000000000 --- a/core/heimdal/003_all_heimdal-rxapps.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- appl/kx/rxtelnet.in 2005-06-16 18:29:10.000000000 +0200 -+++ appl/kx/rxtelnet.in 2005-06-27 23:21:34.000000000 +0200 -@@ -2,7 +2,7 @@ - # $Id: rxtelnet.in,v 1.31 2004/03/07 17:22:06 lha Exp $ - # - usage="Usage: $0 [-l username] [-k] [-fF] [-t args_to_telnet] [-x args_to_xterm] [-K args_to_kx] [-w term_emulator] [-b telnet_binary] [-n] [-v] [-h | --help] [--version] host [port]" --binary=telnet -+binary=ktelnet - term= - kx_args=-P - while true ---- appl/kx/rxterm.in 2005-06-16 18:29:10.000000000 +0200 -+++ appl/kx/rxterm.in 2005-06-27 23:21:55.000000000 +0200 -@@ -2,7 +2,7 @@ - # $Id: rxterm.in,v 1.23 2002/03/18 17:37:34 joda Exp $ - # - usage="Usage: $0 [-l username] [-k] [-f] [-r rsh_args] [-x xterm_args] [-K kx_args] [-w term_emulator] [-b rsh_binary][-v] [-h | --help] [--version] host" --binary=rsh -+binary=krsh - term=xterm - while true - do diff --git a/core/heimdal/005_all_heimdal-suid_fix.patch b/core/heimdal/005_all_heimdal-suid_fix.patch deleted file mode 100644 index 35a9ed9f6..000000000 --- a/core/heimdal/005_all_heimdal-suid_fix.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- appl/su/Makefile.am 2005-06-16 18:27:46.000000000 +0200 -+++ appl/su/Makefile.am 2005-06-27 23:25:21.000000000 +0200 -@@ -7,6 +7,7 @@ - bin_PROGRAMS = su - bin_SUIDS = su - su_SOURCES = su.c supaths.h -+su_LDFLAGS = -Wl,-z,now - man_MANS = su.1 - - LDADD = $(LIB_kafs) \ ---- appl/otp/Makefile.am 2005-06-16 18:28:46.000000000 +0200 -+++ appl/otp/Makefile.am 2005-06-27 23:25:40.000000000 +0200 -@@ -8,6 +8,7 @@ - bin_SUIDS = otp - otp_SOURCES = otp.c otp_locl.h - otpprint_SOURCES = otpprint.c otp_locl.h -+otp_LDFLAGS = -Wl,-z,now - - man_MANS = otp.1 otpprint.1 - diff --git a/core/heimdal/012_all_heimdal-berkdb.patch b/core/heimdal/012_all_heimdal-berkdb.patch deleted file mode 100644 index 46762c220..000000000 --- a/core/heimdal/012_all_heimdal-berkdb.patch +++ /dev/null @@ -1,124 +0,0 @@ -Binary files heimdal-0.7-old/cf/.find-func-no-libs2.m4.swp and heimdal-0.7/cf/.find-func-no-libs2.m4.swp differ -Index: heimdal/cf/db.m4 -=================================================================== ---- heimdal.orig/cf/db.m4 -+++ heimdal/cf/db.m4 -@@ -18,24 +18,13 @@ db_type=unknown - - if test "$enable_berkeley_db" != no; then - -- AC_CHECK_HEADERS([ \ -- db4/db.h \ -- db3/db.h \ -- db.h \ -- db_185.h \ -- ]) -+ AC_CHECK_HEADERS([db.h]) - - dnl db_create is used by db3 and db4 - -- AC_FIND_FUNC_NO_LIBS(db_create, db4 db3 db, [ -+ AC_FIND_FUNC_NO_LIBS(db_create, db, [ - #include -- #ifdef HAVE_DB4_DB_H -- #include -- #elif defined(HAVE_DB3_DB_H) -- #include -- #else - #include -- #endif - ],[NULL, NULL, 0]) - - if test "$ac_cv_func_db_create" = "yes"; then -@@ -50,17 +39,9 @@ dnl db_create is used by db3 and db4 - - dnl dbopen is used by db1/db2 - -- AC_FIND_FUNC_NO_LIBS(dbopen, db2 db, [ -+ AC_FIND_FUNC_NO_LIBS(dbopen, db, [ - #include -- #if defined(HAVE_DB2_DB_H) -- #include -- #elif defined(HAVE_DB_185_H) -- #include -- #elif defined(HAVE_DB_H) - #include -- #else -- #error no db.h -- #endif - ],[NULL, 0, 0, 0, NULL]) - - if test "$ac_cv_func_dbopen" = "yes"; then -Index: heimdal/lib/hdb/db.c -=================================================================== ---- heimdal.orig/lib/hdb/db.c -+++ heimdal/lib/hdb/db.c -@@ -37,11 +37,7 @@ RCSID("$Id: db.c 20215 2007-02-09 21:59: - - #if HAVE_DB1 - --#if defined(HAVE_DB_185_H) --#include --#elif defined(HAVE_DB_H) - #include --#endif - - static krb5_error_code - DB_close(krb5_context context, HDB *db) -Index: heimdal/lib/hdb/db3.c -=================================================================== ---- heimdal.orig/lib/hdb/db3.c -+++ heimdal/lib/hdb/db3.c -@@ -37,13 +37,7 @@ RCSID("$Id: db3.c 21610 2007-07-17 07:10 - - #if HAVE_DB3 - --#ifdef HAVE_DB4_DB_H --#include --#elif defined(HAVE_DB3_DB_H) --#include --#else - #include --#endif - - static krb5_error_code - DB_close(krb5_context context, HDB *db) -Index: heimdal/lib/roken/getcap.c -=================================================================== ---- heimdal.orig/lib/roken/getcap.c -+++ heimdal/lib/roken/getcap.c -@@ -38,11 +38,13 @@ - #include "roken.h" - RCSID("$Id: getcap.c 16561 2006-01-13 14:25:32Z lha $"); - -+#if defined(HAVE_DBOPEN) && defined(HAVE_DB_H) -+#define USE_DB -+#endif -+ - #include - #include --#if defined(HAVE_DB_185_H) --#include --#elif defined(HAVE_DB_H) -+#ifdef USE_DB - #include - #endif - #include -Index: heimdal/lib/roken/ndbm_wrap.c -=================================================================== ---- heimdal.orig/lib/roken/ndbm_wrap.c -+++ heimdal/lib/roken/ndbm_wrap.c -@@ -37,13 +37,7 @@ RCSID("$Id: ndbm_wrap.c 21634 2007-07-17 - #endif - - #include "ndbm_wrap.h" --#if defined(HAVE_DB4_DB_H) --#include --#elif defined(HAVE_DB3_DB_H) --#include --#else - #include --#endif - - #include - #include diff --git a/core/heimdal/013_all_heimdal-pthread-lib.patch b/core/heimdal/013_all_heimdal-pthread-lib.patch deleted file mode 100644 index 19f879407..000000000 --- a/core/heimdal/013_all_heimdal-pthread-lib.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- heimdal-0.7.1/cf/pthreads.m4.old 2005-09-09 12:12:28.000000000 +0000 -+++ heimdal-0.7.1/cf/pthreads.m4 2005-09-17 22:23:23.000000000 +0000 -@@ -32,7 +32,7 @@ - 2.*) - native_pthread_support=yes - PTHREADS_CFLAGS=-pthread -- PTHREADS_LIBS=-pthread -+ PTHREADS_LIBS=-lpthread - ;; - esac - ;; diff --git a/core/heimdal/014_all_heimdal-path.patch b/core/heimdal/014_all_heimdal-path.patch deleted file mode 100644 index 36a86f1f9..000000000 --- a/core/heimdal/014_all_heimdal-path.patch +++ /dev/null @@ -1,50 +0,0 @@ ---- appl/rcp/rcp.c.old 2006-05-03 13:31:59.398493625 +0200 -+++ appl/rcp/rcp.c 2006-05-03 13:32:04.494485981 +0200 -@@ -34,7 +34,7 @@ - #include "rcp_locl.h" - #include - --#define RSH_PROGRAM "rsh" -+#define RSH_PROGRAM "krsh" - - struct passwd *pwd; - uid_t userid; ---- appl/rcp/rcp_locl.h.old 2006-05-03 02:30:31.602025409 +0200 -+++ appl/rcp/rcp_locl.h 2006-05-03 02:30:35.886018983 +0200 -@@ -64,4 +64,4 @@ - #define _PATH_CP "/bin/cp" - #endif - #undef _PATH_RSH --#define _PATH_RSH BINDIR "/rsh" -+#define _PATH_RSH BINDIR "/krsh" ---- appl/telnet/telnetd/telnetd.h.old 2006-05-03 02:23:14.582680939 +0200 -+++ appl/telnet/telnetd/telnetd.h 2006-05-03 02:23:23.746667193 +0200 -@@ -192,7 +192,7 @@ - #endif - - #undef _PATH_LOGIN --#define _PATH_LOGIN BINDIR "/login" -+#define _PATH_LOGIN BINDIR "/klogin" - - /* fallbacks */ - ---- appl/login/shadow.c.old 2006-05-05 06:31:29.517138115 +0200 -+++ appl/login/shadow.c 2006-05-05 06:32:26.433052741 +0200 -@@ -38,7 +38,7 @@ - #ifdef HAVE_SHADOW_H - - #ifndef _PATH_CHPASS --#define _PATH_CHPASS "/usr/bin/passwd" -+#define _PATH_CHPASS "/usr/bin/kpasswd" - #endif - - static int -@@ -52,7 +52,7 @@ - printf("fork /bin/passwd"); - exit(1); - case 0: -- execlp(_PATH_CHPASS, "passwd", who->pw_name, (char *) 0); -+ execlp(_PATH_CHPASS, "kpasswd", who->pw_name, (char *) 0); - exit(1); - default: - waitpid(pid, &status, 0); diff --git a/core/heimdal/PKGBUILD b/core/heimdal/PKGBUILD deleted file mode 100644 index 55f7acf34..000000000 --- a/core/heimdal/PKGBUILD +++ /dev/null @@ -1,113 +0,0 @@ -# $Id: PKGBUILD 101969 2010-12-03 09:59:28Z allan $ -# Maintainer: Allan McRae -# Contributor: Jan de Groot - -# -### Attention: remove old pkg before building - it links against itself! ### -# - -pkgname=heimdal -pkgver=1.3.3 -pkgrel=4 -pkgdesc="Implementation of Kerberos V5 libraries" -arch=('i686' 'x86_64') -url="http://www.h5l.org/" -license=('custom') -depends=('db' 'openssl' 'sqlite3' 'e2fsprogs' 'libldap') -backup=(etc/krb5.conf) -options=('!libtool' '!emptydirs') -install=heimdal.install -source=(http://www.h5l.org/dist/src/${pkgname}-${pkgver}.tar.gz - 001_all_heimdal-no_libedit.patch - 002_all_heimal-fPIC.patch - 003_all_heimdal-rxapps.patch - 005_all_heimdal-suid_fix.patch - 012_all_heimdal-berkdb.patch - 013_all_heimdal-pthread-lib.patch - 014_all_heimdal-path.patch - heimdal-kdc.rc - kadmind.rc - kpasswd.rc) -md5sums=('963c09f1b14c41660be70b55fae9f163' - '98e28f11f906c967aac22d6184102c9e' - '6d5571bdedba2e2423b90bccdbac2c0a' - '2feec3924ee5230b54175b4d4000c872' - '45aeb207f360f9f4e9e0fabc8bfeecbc' - '56f5d10d0ec40f2fda82ef144ffac1e0' - '1b8665b771c4eb6b56ea8582c96e56e3' - '8208ae8c0b6ff5ab4f64af1693e9e396' - 'e59650992b9541a30dfce727a194f6e0' - '1f2f86a67bbfddb7af581d35fdca9627' - 'f8f1eca95b9d3f2b4ebf2417b71b81cf') - -build() { - cd ${srcdir}/heimdal-${pkgver} - patch -Np0 -i ${srcdir}/001_all_heimdal-no_libedit.patch - patch -Np0 -i ${srcdir}/002_all_heimal-fPIC.patch - patch -Np0 -i ${srcdir}/003_all_heimdal-rxapps.patch - patch -Np0 -i ${srcdir}/005_all_heimdal-suid_fix.patch - patch -Np1 -i ${srcdir}/012_all_heimdal-berkdb.patch - patch -Np1 -i ${srcdir}/013_all_heimdal-pthread-lib.patch - patch -Np0 -i ${srcdir}/014_all_heimdal-path.patch - - sed -i -e 's|var/heimdal|var/lib/heimdal|g' configure.in \ - doc/setup.texi doc/heimdal.info kadmin/kadmind.8 kdc/kdc.8 \ - lib/hdb/hdb.h lib/krb5/krb5.conf.5 lib/krb5/krb5.conf.cat5 - - sed -i 's|$(LIB_NDBM)|$(LIB_NDBM) $(LIB_db_create)|' lib/otp/Makefile.am - - libtoolize --force - aclocal -I cf - autoconf - automake - - ./configure --prefix=/usr --enable-shared=yes --without-x \ - --sysconfdir=/etc --mandir=/usr/share/man \ - --datadir=/var/lib/heimdal \ - --localstatedir=/var/lib/heimdal \ - --with-openssl=/usr \ - --with-readline-lib=/usr/lib \ - --with-readline-include=/usr/include/readline \ - --with-sqlite3-lib=/usr/lib \ - --with-sqlite3-include=/usr/include \ - --with-openldap=/usr \ - --libexecdir=/usr/sbin - - make -} - -package() { - cd ${srcdir}/heimdal-${pkgver} - make DESTDIR=${pkgdir} install - - # Rename daemons and their manpages - for i in telnetd ftpd rshd; do - mv ${pkgdir}/usr/share/man/man8/{,k}${i}.8 - mv ${pkgdir}/usr/sbin/{,k}${i} - done - - # Rename clients and their manpages - for i in rcp rsh telnet ftp su login; do - if [ -f ${pkgdir}/usr/share/man/man1/${i}.1 ]; then - mv ${pkgdir}/usr/share/man/man1/{,k}${i}.1 - fi - mv ${pkgdir}/usr/bin/{,k}${i} - done - rm -rf ${pkgdir}/usr/share/man/cat{1,3,5,8} - - # Arch could be a KDC too - install -d ${pkgdir}/etc/rc.d - install -m644 ${srcdir}/heimdal-${pkgver}/krb5.conf ${pkgdir}/etc/ - for i in heimdal-kdc kadmind kpasswd; do - install -m755 ${srcdir}/${i}.rc ${pkgdir}/etc/rc.d/${i} - done - - # Remove conflicts - rm ${pkgdir}/usr/share/man/man5/ftpusers.5* # man-pages - rm ${pkgdir}/usr/share/man/man3/{DES,DH,EVP,OpenSSL,RAND,RSA}* # openssl (a bit overzealous...) - rm ${pkgdir}/usr/share/man/man3/os.3* # erlang - - # Install the license - install -Dm644 ${srcdir}/${pkgname}-${pkgver}/LICENSE \ - ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE -} diff --git a/core/heimdal/heimdal-kdc.rc b/core/heimdal/heimdal-kdc.rc deleted file mode 100644 index b2a3b5fcf..000000000 --- a/core/heimdal/heimdal-kdc.rc +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# general config -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/kdc` -case "$1" in - start) - stat_busy "Starting heimdal kdc" - if [ -z "$PID" ]; then - /usr/sbin/kdc --detach - fi - if [ ! -z "$PID" -o $? -gt 0 ]; then - stat_fail - else - add_daemon heimdal-kdc - stat_done - fi - ;; - stop) - stat_busy "Stopping heimdal kdc" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon heimdal-kdc - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" - ;; -esac -exit 0 diff --git a/core/heimdal/heimdal.install b/core/heimdal/heimdal.install deleted file mode 100644 index b4fd19000..000000000 --- a/core/heimdal/heimdal.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=usr/share/info -filelist=(heimdal hx509) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.info.gz $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.info.gz $infodir/dir 2> /dev/null - done -} diff --git a/core/heimdal/kadmind.rc b/core/heimdal/kadmind.rc deleted file mode 100644 index 0f3b8c7c4..000000000 --- a/core/heimdal/kadmind.rc +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# general config -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/kadmind` -case "$1" in - start) - stat_busy "Starting heimdal admin server" - if [ -z "$PID" ]; then - /usr/sbin/kadmind & - fi - if [ ! -z "$PID" -o $? -gt 0 ]; then - stat_fail - else - add_daemon kadmind - stat_done - fi - ;; - stop) - stat_busy "Stopping heimdal admin server" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon kadmind - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" - ;; -esac -exit 0 diff --git a/core/heimdal/kpasswd.rc b/core/heimdal/kpasswd.rc deleted file mode 100644 index 3697322b9..000000000 --- a/core/heimdal/kpasswd.rc +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# general config -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/kpasswdd` -case "$1" in - start) - stat_busy "Starting heimdal kpasswdd" - if [ -z "$PID" ]; then - /usr/sbin/kpasswdd & - fi - if [ ! -z "$PID" -o $? -gt 0 ]; then - stat_fail - else - add_daemon kpasswd - stat_done - fi - ;; - stop) - stat_busy "Stopping heimdal kpasswdd" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon kpasswd - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" - ;; -esac -exit 0 diff --git a/core/pacman/PKGBUILD b/core/pacman/PKGBUILD deleted file mode 100644 index 6edea83d1..000000000 --- a/core/pacman/PKGBUILD +++ /dev/null @@ -1,71 +0,0 @@ -# $Id: PKGBUILD 120035 2011-04-18 16:49:22Z dan $ -# Maintainer: Dan McGee - -pkgname=pacman -pkgver=3.5.2 -pkgrel=1 -pkgdesc="A library-based package manager with dependency support" -arch=('i686' 'x86_64') -url="http://www.archlinux.org/pacman/" -license=('GPL') -groups=('base') -depends=('bash' 'libarchive>=2.8.4' 'libfetch>=2.28' 'pacman-mirrorlist') -optdepends=('fakeroot: for makepkg usage as normal user' - 'curl: for rankmirrors usage') -backup=(etc/pacman.conf etc/makepkg.conf) -install=pacman.install -options=(!libtool) -source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz - pacman.conf - pacman.conf.x86_64 - makepkg.conf) -md5sums=('b4f1fdbc17100923071ebe8fe9377be5' - 'e99eb721b6b704f68c5f47468507c102' - 'f8b939d9b2beb79a0436961a2d707d7c' - 'a8684989d3dfad5a6e1bcf95af3e571b') - -# keep an upgrade path for older installations -PKGEXT='.pkg.tar.gz' - -build() { - cd $srcdir/$pkgname-$pkgver - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --enable-doc - make -} - -package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install - - # install Arch specific stuff - mkdir -p $pkgdir/etc - case "$CARCH" in - i686) - install -m644 $srcdir/pacman.conf $pkgdir/etc/pacman.conf - mycarch="i686" - mychost="i686-pc-linux-gnu" - myflags="-march=i686 " - ;; - x86_64) - install -m644 $srcdir/pacman.conf.x86_64 $pkgdir/etc/pacman.conf - mycarch="x86_64" - mychost="x86_64-unknown-linux-gnu" - myflags="-march=x86-64 " - ;; - esac - install -m644 $srcdir/makepkg.conf $pkgdir/etc/ - # set things correctly in the default conf file - sed -i $pkgdir/etc/makepkg.conf \ - -e "s|@CARCH[@]|$mycarch|g" \ - -e "s|@CHOST[@]|$mychost|g" \ - -e "s|@CARCHFLAGS[@]|$myflags|g" - - # install completion files - mkdir -p $pkgdir/etc/bash_completion.d/ - install -m644 contrib/bash_completion $pkgdir/etc/bash_completion.d/pacman - mkdir -p $pkgdir/usr/share/zsh/site-functions/ - install -m644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman -} - -# vim: set ts=2 sw=2 et: diff --git a/core/pacman/makepkg.conf b/core/pacman/makepkg.conf deleted file mode 100644 index a655e935f..000000000 --- a/core/pacman/makepkg.conf +++ /dev/null @@ -1,114 +0,0 @@ -# -# /etc/makepkg.conf -# - -######################################################################### -# SOURCE ACQUISITION -######################################################################### -# -#-- The download utilities that makepkg should use to acquire sources -# Format: 'protocol::agent' -DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u' - 'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u' - 'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u' - 'rsync::/usr/bin/rsync -z %u %o' - 'scp::/usr/bin/scp -C %u %o') - -# Other common tools: -# /usr/bin/snarf -# /usr/bin/lftpget -c -# /usr/bin/curl - -######################################################################### -# ARCHITECTURE, COMPILE FLAGS -######################################################################### -# -CARCH="@CARCH@" -CHOST="@CHOST@" - -#-- Exclusive: will only run on @CARCH@ -# -march (or -mcpu) builds exclusively for an architecture -# -mtune optimizes for an architecture, but builds for whole processor family -CFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe" -CXXFLAGS="@CARCHFLAGS@-mtune=generic -O2 -pipe" -LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed" -#-- Make Flags: change this for DistCC/SMP systems -#MAKEFLAGS="-j2" - -######################################################################### -# BUILD ENVIRONMENT -######################################################################### -# -# Defaults: BUILDENV=(fakeroot !distcc color !ccache check) -# A negated environment option will do the opposite of the comments below. -# -#-- fakeroot: Allow building packages as a non-root user -#-- distcc: Use the Distributed C/C++/ObjC compiler -#-- color: Colorize output messages -#-- ccache: Use ccache to cache compilation -#-- check: Run the check() function if present in the PKGBUILD -# -BUILDENV=(fakeroot !distcc color !ccache check) -# -#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, -#-- specify a space-delimited list of hosts running in the DistCC cluster. -#DISTCC_HOSTS="" - -######################################################################### -# GLOBAL PACKAGE OPTIONS -# These are default values for the options=() settings -######################################################################### -# -# Default: OPTIONS=(strip docs libtool emptydirs zipman purge) -# A negated option will do the opposite of the comments below. -# -#-- strip: Strip symbols from binaries/libraries -#-- docs: Save doc directories specified by DOC_DIRS -#-- libtool: Leave libtool (.la) files in packages -#-- emptydirs: Leave empty directories in packages -#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip -#-- purge: Remove files specified by PURGE_TARGETS -# -OPTIONS=(strip docs libtool emptydirs zipman purge) - -#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 -INTEGRITY_CHECK=(md5) -#-- Options to be used when stripping binaries. See `man strip' for details. -STRIP_BINARIES="--strip-all" -#-- Options to be used when stripping shared libraries. See `man strip' for details. -STRIP_SHARED="--strip-unneeded" -#-- Options to be used when stripping static libraries. See `man strip' for details. -STRIP_STATIC="--strip-debug" -#-- Manual (man and info) directories to compress (if zipman is specified) -MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) -#-- Doc directories to remove (if !docs is specified) -DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) -#-- Files to be removed from all packages (if purge is specified) -PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) - -######################################################################### -# PACKAGE OUTPUT -######################################################################### -# -# Default: put built package and cached source in build directory -# -#-- Destination: specify a fixed directory where all packages will be placed -#PKGDEST=/home/packages -#-- Source cache: specify a fixed directory where source files will be cached -#SRCDEST=/home/sources -#-- Source packages: specify a fixed directory where all src packages will be placed -#SRCPKGDEST=/home/srcpackages -#-- Packager: name/email of the person or organization building packages -#PACKAGER="John Doe " - -######################################################################### -# EXTENSION DEFAULTS -######################################################################### -# -# WARNING: Do NOT modify these variables unless you know what you are -# doing. -# -PKGEXT='.pkg.tar.xz' -SRCEXT='.src.tar.gz' - -# vim: set ft=sh ts=2 sw=2 et: diff --git a/core/pacman/pacman.conf b/core/pacman/pacman.conf deleted file mode 100644 index 206ab23b4..000000000 --- a/core/pacman/pacman.conf +++ /dev/null @@ -1,80 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -HoldPkg = pacman glibc -# If upgrades are available for these packages they will be asked for first -SyncFirst = pacman -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#XferCommand = /usr/bin/curl -C - -f %u > %o -#CleanMethod = KeepInstalled -Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options (all disabled by default) -#UseSyslog -#ShowSize -#UseDelta -#TotalDownload -#CheckSpace - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -#[testing] -#Include = /etc/pacman.d/mirrorlist - -[core] -Include = /etc/pacman.d/mirrorlist - -[extra] -Include = /etc/pacman.d/mirrorlist - -#[community-testing] -#Include = /etc/pacman.d/mirrorlist - -[community] -Include = /etc/pacman.d/mirrorlist - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#Server = file:///home/custompkgs - diff --git a/core/pacman/pacman.conf.x86_64 b/core/pacman/pacman.conf.x86_64 deleted file mode 100644 index 6f0423647..000000000 --- a/core/pacman/pacman.conf.x86_64 +++ /dev/null @@ -1,89 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -HoldPkg = pacman glibc -# If upgrades are available for these packages they will be asked for first -SyncFirst = pacman -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#XferCommand = /usr/bin/curl -C - -f %u > %o -#CleanMethod = KeepInstalled -Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options (all disabled by default) -#UseSyslog -#ShowSize -#UseDelta -#TotalDownload -#CheckSpace - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -#[testing] -#Include = /etc/pacman.d/mirrorlist - -[core] -Include = /etc/pacman.d/mirrorlist - -[extra] -Include = /etc/pacman.d/mirrorlist - -#[community-testing] -#Include = /etc/pacman.d/mirrorlist - -[community] -Include = /etc/pacman.d/mirrorlist - -# If you want to run 32 bit applications on your x86_64 system, -# enable the multilib repositories as required here. - -#[multilib-testing] -#Include = /etc/pacman.d/mirrorlist - -#[multilib] -#Include = /etc/pacman.d/mirrorlist - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#Server = file:///home/custompkgs - diff --git a/core/pacman/pacman.install b/core/pacman/pacman.install deleted file mode 100644 index 0e598bb4b..000000000 --- a/core/pacman/pacman.install +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - # one time stuff for md5sum issue with older pacman versions - if [ "$(vercmp $2 3.0.2)" -lt 0 ]; then - _resetbackups - fi - if [ "$(vercmp $2 3.5.0)" -lt 0 ]; then - _warnupgrade - fi -} - -_warnupgrade() { - echo ">>> The pacman database format has changed as of pacman 3.5.0." - echo ">>> You will need to run \`pacman-db-upgrade\` as root." - echo ">>>" -} - -_resetbackups() { - echo ">>> Performing one-time reset of NoUpgrade md5sums. After this reset" - echo ">>> you are able to remove all NoUpgrade lines of already protected" - echo ">>> files from pacman.conf." - echo ">>>" - - # path variables - pacconf="/etc/pacman.conf" - dbpath="/var/lib/pacman/local" - - # get a list of NoUpgrade files from the user's pacman.conf - echo ">>> Retrieving pacman.conf NoUpgrade list..." - config=$(grep "^NoUpgrade" $pacconf | cut -d'=' -f2) - # add the standard list of files, even if they are already above - config="$config \ - etc/passwd etc/group etc/shadow etc/sudoers \ - etc/fstab etc/raidtab etc/ld.so.conf \ - etc/rc.conf etc/rc.local \ - etc/modprobe.conf etc/modules.conf \ - etc/lilo.conf boot/grub/menu.lst" - - # blank md5sum for use in sed expression - zeroes='00000000000000000000000000000000' - - for file in $config; do - echo ">>> -> finding owner of /$file..." - line=$(LC_ALL=C LANG=C pacman -Qo /$file 2>/dev/null) - # if file is owned by a package, go find its incorrectly stored sum - if [ ! -z "$line" ]; then - # get the name and version of the package owning file - name=$(echo $line | awk '{print $5}') - version=$(echo $line | awk '{print $6}') - # set the path to the backup array holding the md5sum - path="$dbpath/$name-$version/files" - # run a sed on the path to reset the line containing $file - # NOTE: literal tab characters in sed expression after $file - echo ">>> -> resetting sum of /$file..." - sed -i "s#$file [0-9a-fA-F]*#$file $zeroes#" $path - else - echo ">>> -> $file is unowned." - fi - done -} diff --git a/extra/apache-ant/PKGBUILD b/extra/apache-ant/PKGBUILD deleted file mode 100644 index 7eec5c172..000000000 --- a/extra/apache-ant/PKGBUILD +++ /dev/null @@ -1,51 +0,0 @@ -# $Id: PKGBUILD 107828 2011-01-27 04:37:07Z paul $ -# Contributor: Andrew Wright -# Maintainer: Paul Mattal - -pkgname=apache-ant -pkgver=1.8.2 -pkgrel=1 -pkgdesc="A java-based build tool." -arch=('i686' 'x86_64') -license=('APACHE') -url="http://ant.apache.org/" -depends=('java-runtime') -optdepends=('junit: to jave junit on the classpath in javac tasks') -source=(http://archive.apache.org/dist/ant/binaries/${pkgname}-${pkgver}-bin.tar.bz2 - ${pkgname}.sh - ant_diagnostics.patch) -md5sums=('9e9ae9fc7352960191489a1286fb0928' - '593ee6ebd9b8ec321534a028e686880f' - 'cbaab423be40a6e63f0fde901b91eb50') - -build() { - # install profile.d script - install -dm755 ${pkgdir}/etc/profile.d || return 1 - install -m755 ${srcdir}/${pkgname}.sh ${pkgdir}/etc/profile.d/ || return 1 - - # Get the ANT_HOME env var - source ${srcdir}/${pkgname}.sh || return 1 - - cd ${srcdir}/${pkgname}-${pkgver} - install -dm755 ${pkgdir}/${ANT_HOME}/{bin,lib} || return 1 - - install -m644 ./lib/*.jar ${pkgdir}/${ANT_HOME}/lib || return 1 - cp -Rp ./etc ${pkgdir}/${ANT_HOME} || return 1 - - # Do not copy Windows .bat/.cmd files - find ./bin -type f -a ! -name \*.bat -a ! -name \*.cmd \ - -exec install -m755 {} ${pkgdir}/${ANT_HOME}/bin \; || return 1 - - # symlink to junit so it's on the javac build path for ant - # matches behavior on ubuntu 9 and makes sense for compatibility - # http://bugs.archlinux.org/task/15229 - cd $startdir/pkg/usr/share/java/apache-ant/lib || return 1 - ln -s ../../junit.jar . || return 1 - cd - || return 1 - - # The license says the NOTICE file should be redistributed for derivative - # works, so lets supply it. - install -dm755 ${pkgdir}/usr/share/licenses/${pkgname} || return 1 - install -m644 LICENSE NOTICE ${pkgdir}/usr/share/licenses/${pkgname} || return 1 -} - diff --git a/extra/apache-ant/ant_diagnostics.patch b/extra/apache-ant/ant_diagnostics.patch deleted file mode 100644 index 38148b45c..000000000 --- a/extra/apache-ant/ant_diagnostics.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/src/main/org/apache/tools/ant/Diagnostics.java -+++ b/src/main/org/apache/tools/ant/Diagnostics.java -@@ -179,7 +179,10 @@ - * @param clazz the class to get the information from. - * @since Ant 1.8.0 - */ -- private static URL getClassLocation(Class clazz) { -+ private static URL getClassLocation(Class clazz) { -+ if (clazz.getProtectionDomain().getCodeSource() == null) { -+ return null; -+ } - return clazz.getProtectionDomain().getCodeSource().getLocation(); - } - -@@ -241,7 +244,7 @@ - } - Transformer transformer = null; - try { -- transformer = transformerFactory.newTransformer(); -+ transformer = transformerFactory.newTransformer(); - } catch (Exception e) { - // ignore - ignoreThrowable(e); diff --git a/extra/apache-ant/apache-ant.sh b/extra/apache-ant/apache-ant.sh deleted file mode 100644 index ab602fb28..000000000 --- a/extra/apache-ant/apache-ant.sh +++ /dev/null @@ -1,3 +0,0 @@ -export ANT_HOME=/usr/share/java/apache-ant -export PATH=$PATH:$ANT_HOME/bin - diff --git a/extra/aria2/PKGBUILD b/extra/aria2/PKGBUILD deleted file mode 100644 index ebf763ca5..000000000 --- a/extra/aria2/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# $Id: PKGBUILD 117352 2011-03-31 07:19:05Z eric $ -# Maintainer: Angel Velasquez -# Contributor: Alexander Fehr -# Contributor: Daniel J Griffiths - -pkgname=aria2 -pkgver=1.11.1 -pkgrel=1 -pkgdesc="Download utility that supports HTTP(S), FTP, BitTorrent, and Metalink" -arch=('i686' 'x86_64') -url="http://aria2.sourceforge.net/" -license=('GPL') -depends=('gnutls' 'libxml2' 'sqlite3' 'c-ares' 'ca-certificates') -source=(http://downloads.sourceforge.net/aria2/aria2-${pkgver}.tar.bz2) -md5sums=('da785645a6d92450b0a54f384202ba6b') -sha1sums=('b3b37cc7363305d55e86dcd74a73dc493ecfa530') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install -} diff --git a/extra/bs/PKGBUILD b/extra/bs/PKGBUILD deleted file mode 100644 index e15c29aca..000000000 --- a/extra/bs/PKGBUILD +++ /dev/null @@ -1,26 +0,0 @@ -# $Id: PKGBUILD 69354 2010-02-20 11:19:53Z allan $ -# Maintainer: -# Contributor damir - -pkgname=bs -pkgver=2.7 -pkgrel=2 -pkgdesc="The classic game of Battleships against the computer. Ncurses." -arch=('i686' 'x86_64') -url="http://www.catb.org/~esr/bs/" -license=('GPL2') -depends=('ncurses') -source=($url/$pkgname-$pkgver.tar.gz) -md5sums=('5786c6006e503d100e65139dadb5d5a7') - -build() { - cd $srcdir/$pkgname-$pkgver - ./configure --prefix=/usr - make || return 1 -} - -package() { - cd $srcdir/$pkgname-$pkgver - install -Dm755 bs $pkgdir/usr/bin/bs - install -Dm644 bs.6 $pkgdir/usr/share/man/man6/bs.6 -} diff --git a/extra/dosbox/PKGBUILD b/extra/dosbox/PKGBUILD deleted file mode 100644 index e4d4be918..000000000 --- a/extra/dosbox/PKGBUILD +++ /dev/null @@ -1,37 +0,0 @@ -# $Id: PKGBUILD 80630 2010-05-20 16:06:03Z ibiru $ -# Maintainer : -# Contributor: James Rayner -# Contributor: Ben - -pkgname=dosbox -pkgver=0.74 -pkgrel=1 -pkgdesc="An emulator with builtin DOS for running DOS Games" -arch=('i686' 'x86_64') -url="http://dosbox.sourceforge.net/" -license=('GPL') -depends=('sdl_net' 'sdl_sound' 'libgl' 'libpng' 'alsa-lib' 'gcc-libs') -makedepends=('mesa') -source=("http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz" - 'dosbox.png' 'dosbox.desktop') -md5sums=('b9b240fa87104421962d14eee71351e8' - '2aac25fc06979e375953fcc36824dc5e' - '85169ca599028bee8e29e0b3b7b34dd8') - -build(){ - cd ${srcdir}/${pkgname}-${pkgver} - sed -i 's/png_check_sig/png_sig_cmp/' configure || return 1 - ./configure --prefix=/usr \ - --sysconfdir=/etc/dosbox || return 1 - make || return 1 -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install || return 1 - - install -Dm644 ${srcdir}/${pkgname}.png \ - ${pkgdir}/usr/share/pixmaps/${pkgname}.png || return 1 - install -Dm644 ${srcdir}/${pkgname}.desktop \ - ${pkgdir}/usr/share/applications/${pkgname}.desktop || return 1 -} diff --git a/extra/dosbox/dosbox.desktop b/extra/dosbox/dosbox.desktop deleted file mode 100644 index dbaf05ced..000000000 --- a/extra/dosbox/dosbox.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Type=Application -Encoding=UTF-8 -Name=dosbox Emulator -GenericName=Emulator -Comment=An emulator to run old DOS games -Icon=dosbox -Exec=dosbox -Terminal=false -Categories=Emulator;Application; diff --git a/extra/dosbox/dosbox.png b/extra/dosbox/dosbox.png deleted file mode 100644 index b8a917986..000000000 Binary files a/extra/dosbox/dosbox.png and /dev/null differ diff --git a/extra/ettercap-gtk/PKGBUILD b/extra/ettercap-gtk/PKGBUILD deleted file mode 100644 index 90a910423..000000000 --- a/extra/ettercap-gtk/PKGBUILD +++ /dev/null @@ -1,44 +0,0 @@ -# $Id: PKGBUILD 103538 2010-12-21 10:37:25Z andrea $ -# Maintainer: Hugo Doria -# Contributor: Tom Newsom - -pkgname=ettercap-gtk -pkgver=NG_0.7.3 -_origname=ettercap -_origver=NG-0.7.3 -pkgrel=8 -pkgdesc="A network sniffer/interceptor/logger for ethernet LANs - GTK" -arch=('i686' 'x86_64') -url="http://ettercap.sourceforge.net/" -license=('GPL') -depends=('ettercap' 'gtk2' 'libtool') -makedepends=('libnet') -options=('!libtool') -source=(http://downloads.sourceforge.net/${_origname}/${_origname}-${_origver}.tar.gz - 'ettercap.desktop' - 'fix-segmentation-fault.patch') -md5sums=('28fb15cd024162c55249888fe1b97820' - '6ef18fdd114297d4ed9e5104d309f071' - 'e9cc99f13fd23edaba6cddffc4d0ef34') - -build() { - cd ${srcdir}/${_origname}-${_origver} - unset LDFLAGS - - # FS#21628 - patch -Np1 -i ${srcdir}/fix-segmentation-fault.patch - - libtoolize --force --copy - aclocal - autoconf - ./configure --prefix=/usr --sysconfdir=/etc --enable-plugins - sed -i 's/LTDL_SHLIB_EXT/\".so\"/' src/ec_plugins.c - make -} - -package() { - install -Dm755 ${srcdir}/${_origname}-${_origver}/src/ettercap \ - ${pkgdir}/usr/bin/ettercap-gtk - install -Dm644 ${srcdir}/ettercap.desktop \ - ${pkgdir}/usr/share/applications/ettercap.desktop -} diff --git a/extra/ettercap-gtk/ettercap.desktop b/extra/ettercap-gtk/ettercap.desktop deleted file mode 100644 index 1ac24e381..000000000 --- a/extra/ettercap-gtk/ettercap.desktop +++ /dev/null @@ -1,6 +0,0 @@ -[Desktop Entry] -Name=Ettercap GTK -Exec=/usr/bin/ettercap-gtk --gtk -Terminal=false -Type=Application -Categories=Network;System;Security;GTK; diff --git a/extra/ettercap-gtk/fix-segmentation-fault.patch b/extra/ettercap-gtk/fix-segmentation-fault.patch deleted file mode 100644 index 3f0c7bf79..000000000 --- a/extra/ettercap-gtk/fix-segmentation-fault.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit 8cdf08d401d368d5678f9d9c2cf36ddbdef03aec -Author: Timothy Redaelli -Date: Tue Jun 23 09:16:27 2009 +0000 - - Fix a crash in 64 bit CPUs - -diff --git a/src/protocols/ec_tcp.c b/src/protocols/ec_tcp.c -index ea0c997..be8f3e0 100644 ---- a/src/protocols/ec_tcp.c -+++ b/src/protocols/ec_tcp.c -@@ -116,7 +116,7 @@ FUNC_DECODER(decode_tcp) - tcp = (struct tcp_header *)DECODE_DATA; - - opt_start = (u_char *)(tcp + 1); -- opt_end = (u_char *)((int)tcp + tcp->off * 4); -+ opt_end = (u_char *)(tcp + tcp->off * 4); - - DECODED_LEN = (u_int32)(tcp->off * 4); - diff --git a/extra/gqmpeg/PKGBUILD b/extra/gqmpeg/PKGBUILD deleted file mode 100644 index c89d063ca..000000000 --- a/extra/gqmpeg/PKGBUILD +++ /dev/null @@ -1,21 +0,0 @@ -# $Id: PKGBUILD 64726 2010-01-22 01:20:44Z eric $ -# Maintainer: damir -# Contributor: Tom Newsom - -pkgname=gqmpeg -pkgver=0.91.1 -pkgrel=4 -pkgdesc="A frontend to mpg123 with extensive themeability and playlist support" -arch=('i686' 'x86_64') -url="http://gqmpeg.sourceforge.net/" -license=('GPL2') -depends=('bash' 'gtk2' 'imlib' 'mpg123') -source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz) -md5sums=('e22eda86fc3e59108c8d04abc37b3e56') - -build() { - cd $srcdir/$pkgname-$pkgver - ./configure --prefix=/usr --mandir=/usr/share/man - make || return 1 - make prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man install -} diff --git a/extra/gtk-theme-switch2/PKGBUILD b/extra/gtk-theme-switch2/PKGBUILD deleted file mode 100644 index 650dd50f7..000000000 --- a/extra/gtk-theme-switch2/PKGBUILD +++ /dev/null @@ -1,31 +0,0 @@ -# $Id: PKGBUILD 75632 2010-04-02 01:24:28Z dgriffiths $ -# Contributor: Eddie Lozon -# Contributor: Jason Chu -# Contributor: Thayer Williams -# Maintainer: Daniel J Griffiths - -pkgname=gtk-theme-switch2 -pkgver=2.1.0 -pkgrel=1 -pkgdesc="Gtk2 theme switcher" -url="http://muhri.net/nav.php3?node=gts" -arch=('i686' 'x86_64') -license=('GPL2') -depends=('gtk2') -source=(http://ftp.de.debian.org/debian/pool/main/g/gtk-theme-switch/gtk-theme-switch_${pkgver}.orig.tar.gz) -md5sums=('a9e7e62701cd4fba4d277dc210cd4317') - -build() { - cd ${srcdir}/gtk-theme-switch-${pkgver} - - make || return 1 -} - -package() { - cd ${srcdir}/gtk-theme-switch-${pkgver} - - install -Dm755 gtk-theme-switch2 \ - ${pkgdir}/usr/bin/gtk-theme-switch2 || return 1 - install -Dm644 gtk-theme-switch2.1 \ - ${pkgdir}/usr/share/man/man1/gtk-theme-switch2.1 || return 1 -} diff --git a/extra/icecast/PKGBUILD b/extra/icecast/PKGBUILD deleted file mode 100644 index f30833ed4..000000000 --- a/extra/icecast/PKGBUILD +++ /dev/null @@ -1,54 +0,0 @@ -# $Id: PKGBUILD 109082 2011-02-05 20:09:03Z andrea $ -# Maintainer: -# Contributor: Andrea Scarpino -# Contributor: Andreas Radke -# Contributor: Jason Chu - -pkgname=icecast -pkgver=2.3.2 -pkgrel=5 -pkgdesc="Streaming audio over the Internet" -arch=('i686' 'x86_64') -license=('GPL') -url="http://www.icecast.org/" -depends=('libxslt' 'libvorbis' 'curl' 'speex' 'libtheora') -backup=('etc/icecast.xml' - 'etc/logrotate.d/icecast') -source=("http://downloads.us.xiph.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz" - 'icecastd' 'icecast.logrotate' - 'start-by-nobody.patch') -md5sums=('ff516b3ccd2bcc31e68f460cd316093f' - 'e823c1fdb080aae3d0c54ef8be95f7cb' - '59c6552bcb1dd9fb542af8670dfabd3c' - 'd8e929d2214123a1954da4383bf16583') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - - patch -Np1 -i ${srcdir}/start-by-nobody.patch - - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var - make -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - - # install man-page - sed -i -e 's/icecast2/icecast/g' debian/icecast2.1 - install -Dm644 debian/icecast2.1 \ - ${pkgdir}/usr/share/man/man1/icecast.1 - - # init file - install -Dm755 ${srcdir}/icecastd \ - ${pkgdir}/etc/rc.d/icecast - # rotate the logs (taken from Fedora) - install -Dm644 ${srcdir}/icecast.logrotate \ - ${pkgdir}/etc/logrotate.d/icecast - - # install log dir - install -d -g99 -o99 ${pkgdir}/var/log/icecast -} diff --git a/extra/icecast/icecast.logrotate b/extra/icecast/icecast.logrotate deleted file mode 100644 index 0fb014c06..000000000 --- a/extra/icecast/icecast.logrotate +++ /dev/null @@ -1,8 +0,0 @@ -/var/log/icecast/*log { - missingok - notifempty - sharedscripts - postrotate - endscript -} - diff --git a/extra/icecast/icecastd b/extra/icecast/icecastd deleted file mode 100644 index e6c91b08c..000000000 --- a/extra/icecast/icecastd +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -timeo=30 - -getPID() { - pgrep -u nobody icecast 2>/dev/null -} - -case $1 in - start) - stat_busy "Starting Icecast Server" - if getPID >/dev/null; then - # already running - stat_fail - exit 1 - else - /usr/bin/icecast -b -c /etc/icecast.xml &>/dev/null - while (( timeo > 0 )); do - if getPID >/dev/null; then - add_daemon icecast - stat_done - exit 0 - fi - sleep 1 - (( timeo-- )) - done - stat_fail - exit 1 - fi - ;; - - stop) - stat_busy "Stopping Icecast Server" - if ! getPID >/dev/null; then - # not running - stat_done - exit 1 - fi - if ! kill $(getPID) &> /dev/null; then - stat_fail - exit 1 - fi - while (( timeo > 0 )); do - if getPID >/dev/null; then - rm_daemon icecast - stat_done - exit 0 - fi - sleep 1 - (( timeo-- )) - done - stat_fail - exit 1 - ;; - - restart) - $0 stop - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/extra/icecast/start-by-nobody.patch b/extra/icecast/start-by-nobody.patch deleted file mode 100644 index d218e5afe..000000000 --- a/extra/icecast/start-by-nobody.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- icecast-2.3.2/conf/icecast.xml.in~ 2010-11-12 16:47:54.750000918 +0100 -+++ icecast-2.3.2/conf/icecast.xml.in 2010-11-12 16:48:08.086667585 +0100 -@@ -164,11 +164,9 @@ - - - 0 -- - - diff --git a/extra/keyutils/PKGBUILD b/extra/keyutils/PKGBUILD deleted file mode 100644 index 8e1810f9f..000000000 --- a/extra/keyutils/PKGBUILD +++ /dev/null @@ -1,24 +0,0 @@ -# $Id: PKGBUILD 116950 2011-03-26 15:07:29Z tpowa $ -# Maintainer: Tobias Powalowski -pkgname=keyutils -pkgver=1.4 -pkgrel=1 -pkgdesc="Linux Key Management Utilities" -arch=(i686 x86_64) -url="http://www.kernel.org" -license=('GPL2' 'LGPL2.1') -depends=('glibc' 'sh') -backup=(etc/request-key.conf) -source=(http://people.redhat.com/~dhowells/$pkgname/$pkgname-$pkgver.tar.bz2) - -build() { - cd "$srcdir/$pkgname-$pkgver" - sed -i -e '/CFLAGS/s|:= -g -O2|+=|' Makefile - make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir" install -} -md5sums=('e168c1bdaf5aa93c2cbf8a5e7f8ef27b') diff --git a/extra/kismet/kismet-2008-05-R1-infinite-loop.diff b/extra/kismet/kismet-2008-05-R1-infinite-loop.diff deleted file mode 100644 index f8417943e..000000000 --- a/extra/kismet/kismet-2008-05-R1-infinite-loop.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- gpsmap.cc -+++ gpsmap.cc -@@ -874,7 +874,7 @@ - - // Break up the path to the gpsxml file and form a path based on that - unsigned int lastslash = 0; -- for (unsigned int x = origxmlfile.find('/'); x != string::npos; -+ for (string::size_type x = origxmlfile.find('/'); x != string::npos; - lastslash = x, x = origxmlfile.find('/', lastslash+1)) { - // We don't actually need to do anything... - } -@@ -882,7 +882,7 @@ - comp = origxmlfile.substr(0, lastslash); - - lastslash = 0; -- for (unsigned int x = orignetfile.find('/'); x != string::npos; -+ for (string::size_type x = orignetfile.find('/'); x != string::npos; - lastslash = x, x = orignetfile.find('/', lastslash+1)) { - // We don't actually need to do anything... - } diff --git a/extra/kismet/kismet-build.patch b/extra/kismet/kismet-build.patch deleted file mode 100644 index 9935ca4fa..000000000 --- a/extra/kismet/kismet-build.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- macaddr.h.orig 2009-07-08 02:29:38.000000000 -0400 -+++ macaddr.h 2009-07-08 02:37:54.000000000 -0400 -@@ -73,7 +73,7 @@ - longmac |= (uint64_t) bs_in[5] << ((MAC_LEN - 5 - 1) * 8); - - // If it has a mask component, get that -- char *in_mask = strchr(in, '/'); -+ const char *in_mask = strchr(in, '/'); - if (in_mask != NULL) { - longmask = 0; - diff --git a/extra/kmldonkey/PKGBUILD b/extra/kmldonkey/PKGBUILD deleted file mode 100644 index 234be2119..000000000 --- a/extra/kmldonkey/PKGBUILD +++ /dev/null @@ -1,33 +0,0 @@ -# $Id: PKGBUILD 104423 2011-01-02 13:07:17Z andrea $ -# Maintainer: -# Contributor: Andrea Scarpino -# Contributor: Pierre Schmitz - -pkgname=kmldonkey -pkgver=2.0.2 -_kdever=4.4.0 -pkgrel=5 -pkgdesc="An MLDonkey frontend for KDE" -arch=('i686' 'x86_64') -url='http://userbase.kde.org/KMLDonkey' -license=('GPL') -depends=('kdebase-workspace') -makedepends=('pkgconfig' 'cmake' 'automoc4' 'docbook-xsl') -install="${pkgname}.install" -source=("http://download.kde.org/stable/extragear/${pkgname}-${pkgver}-kde${_kdever}.tar.bz2") -md5sums=('40ae039dc01a45807111c2d0023eeaa6') - -build() { - cd ${srcdir} - mkdir build - cd build - cmake ../${pkgname}-${pkgver}-kde${_kdever} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr - make -} - -package() { - cd ${srcdir}/build - make DESTDIR=${pkgdir} install -} diff --git a/extra/kmldonkey/kmldonkey.install b/extra/kmldonkey/kmldonkey.install deleted file mode 100644 index e70c054ec..000000000 --- a/extra/kmldonkey/kmldonkey.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/extra/kmplayer/PKGBUILD b/extra/kmplayer/PKGBUILD deleted file mode 100644 index b288fed3a..000000000 --- a/extra/kmplayer/PKGBUILD +++ /dev/null @@ -1,31 +0,0 @@ -# $Id: PKGBUILD 94084 2010-10-04 12:47:37Z andrea $ -# Maintainer: Andrea Scarpino -# Contributor: damir - -pkgname=kmplayer -pkgver=0.11.2c -pkgrel=1 -pkgdesc="Video player plugin for Konqueror and basic MPlayer/Xine/ffmpeg/ffserver/VDR frontend for KDE" -arch=('i686' 'x86_64') -license=('GPL' 'LGPL' 'FDL') -url="http://kmplayer.kde.org" -depends=('kdebase-runtime' 'pango') -makedepends=('pkgconfig' 'cmake' 'automoc4' 'docbook-xsl') -install=${pkgname}.install -source=("http://kmplayer.kde.org/pkgs/$pkgname-$pkgver.tar.bz2") -md5sums=('7a1363dfaad0c7b563ecbd58f301e704') - -build() { - cd ${srcdir} - mkdir build - cd build - cmake ../${pkgname}-${pkgver} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr - make -} - -package() { - cd ${srcdir}/build - make DESTDIR=${pkgdir} install -} diff --git a/extra/kmplayer/kmplayer.install b/extra/kmplayer/kmplayer.install deleted file mode 100644 index e70c054ec..000000000 --- a/extra/kmplayer/kmplayer.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/extra/libbtctl/PKGBUILD b/extra/libbtctl/PKGBUILD deleted file mode 100644 index e81cb690e..000000000 --- a/extra/libbtctl/PKGBUILD +++ /dev/null @@ -1,24 +0,0 @@ -# $Id: PKGBUILD 59225 2009-11-21 15:31:57Z giovanni $ -# Maintainer: Geoffroy Carrier -# Contributor: Roman Kyrylych - -pkgname=libbtctl -pkgver=0.11.1 -pkgrel=1 -pkgdesc="GObject wrapper for Bluetooth functionality." -arch=('i686' 'x86_64') -url="http://www.usefulinc.com/software/gnome-bluetooth/" -license=('GPL' 'LGPL') -depends=('glib2' 'openobex' 'bluez') -makedepends=('intltool' 'python' 'gtk2') -options=('!libtool' '!makeflags') -source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.11/${pkgname}-${pkgver}.tar.bz2) -md5sums=('5b5ab9e71dd5428c4e5c45cbf581a384') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --disable-gtk-doc \ - --disable-mono --disable-static || return 1 - make || return 1 - make DESTDIR="${pkgdir}" install || return 1 -} diff --git a/extra/libx86/PKGBUILD b/extra/libx86/PKGBUILD deleted file mode 100644 index 79519598c..000000000 --- a/extra/libx86/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -# $Id: PKGBUILD 21343 2008-12-12 01:32:33Z eric $ -# Contributor: Eric Belanger -# Contributor: tardo -# Maintainer: Thayer Williams - -pkgname=libx86 -pkgver=1.1 -pkgrel=2 -pkgdesc="Provides an lrmi interface that works on x86, am64 and alpha" -arch=('i686' 'x86_64') -url="http://www.codon.org.uk/~mjg59/libx86/" -license=('custom') -depends=('glibc') -source=(http://www.codon.org.uk/~mjg59/libx86/downloads/libx86-$pkgver.tar.gz - libx86-ifmask.patch) -md5sums=('41bee1f8e22b82d82b5f7d7ba51abc2a' - '573897186eb8670d8d97c64ea7614001') - -build() { - cd $srcdir/$pkgname-$pkgver - - # lrmi.c patch courtesy of Gentoo - patch -Np0 -i $srcdir/libx86-ifmask.patch || return 1 - - # compensate for x86_64 - if [ "$CARCH" = "x86_64" ]; then - make BACKEND=x86emu || return 1 - else - make || return 1 - fi - - make DESTDIR=$pkgdir install || return 1 - chmod 644 $pkgdir/usr/lib/libx86.a || return 1 - - install -D -m 644 COPYRIGHT $pkgdir/usr/share/licenses/$pkgname/COPYRIGHT || return 1 -} diff --git a/extra/libx86/libx86-ifmask.patch b/extra/libx86/libx86-ifmask.patch deleted file mode 100644 index c99eeb819..000000000 --- a/extra/libx86/libx86-ifmask.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- lrmi.c.orig 2008-09-06 12:24:36.070136428 +0200 -+++ lrmi.c 2008-09-06 12:28:10.584287458 +0200 -@@ -55,6 +55,18 @@ OTHER DEALINGS IN THE SOFTWARE. - #include "x86-common.h" - - #if defined(__linux__) -+#ifndef TF_MASK -+#define TF_MASK X86_EFLAGS_TF -+#endif -+#ifndef IF_MASK -+#define IF_MASK X86_EFLAGS_IF -+#endif -+#ifndef IOPL_MASK -+#define IOPL_MASK X86_EFLAGS_IOPL -+#endif -+#ifndef VIF_MASK -+#define VIF_MASK X86_EFLAGS_VIF -+#endif - #define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK) - #elif defined(__NetBSD__) || defined(__FreeBSD__) - #define DEFAULT_VM86_FLAGS (PSL_I | PSL_IOPL) diff --git a/extra/mc/PKGBUILD b/extra/mc/PKGBUILD deleted file mode 100644 index e4baa655a..000000000 --- a/extra/mc/PKGBUILD +++ /dev/null @@ -1,50 +0,0 @@ -# $Id: PKGBUILD 119545 2011-04-12 03:04:01Z eric $ -# Maintainer: Daniel J Griffiths - -pkgname=mc -pkgver=4.7.5.2 -pkgrel=1 -pkgdesc="Midnight Commander is a text based filemanager/shell that emulates Norton Commander" -arch=('i686' 'x86_64') -url="http://www.ibiblio.org/mc/" -license=('GPL') -depends=('e2fsprogs' 'glib2' 'pcre' 'gpm' 'slang') -makedepends=('libxt' 'libx11') -optdepends=('p7zip: support for 7zip archives') -provides=('mcedit-pkgbuild-syntax') -conflicts=('mc-utf8') -replaces=('mc-utf8') -options=('!emptydirs' '!makeflags') -source=("http://www.midnight-commander.org/downloads/${pkgname}-${pkgver}.tar.bz2") -md5sums=('bdae966244496cd4f6d282d80c9cf3c6') -sha1sums=('08ffcc9fd19c7d8906a454c27b7074ca35bce14a') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - ./configure \ - --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man \ - --enable-background --enable-charset --enable-largefile \ - --with-edit --with-gpm-mouse --with-mmap --enable-vfs-smb \ - --with-screen=slang --with-subshell --with-vfs --with-x \ - --without-debug --without-gnome --without-included-gettext \ - --libexecdir=/usr/lib - - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make DESTDIR="${pkgdir}" install - - # Fix FS#15177 - sed 's|op_has_zipinfo = 0|op_has_zipinfo = 1|' \ - -i "${pkgdir}/usr/lib/mc/extfs.d/uzip" - - # Fix FS#18312 - rm "${pkgdir}/usr/lib/mc/extfs.d/u7z" - - sed 's#/usr/bin/env python#/usr/bin/python2#' \ - -i "${pkgdir}/usr/lib/mc/extfs.d/s3+" -} diff --git a/extra/monotone/PKGBUILD b/extra/monotone/PKGBUILD deleted file mode 100644 index b9fb095f9..000000000 --- a/extra/monotone/PKGBUILD +++ /dev/null @@ -1,30 +0,0 @@ -# $Id: PKGBUILD 119532 2011-04-11 21:19:22Z angvp $ -# Maintainer: Angel Velasquez -# Contributor: Douglas Soares de Andrade -# Contributor: Jeff 'codemac' Mickey -# Contributor: Dan McGee -pkgname=monotone -pkgver=1.0 -pkgrel=1 -pkgdesc="A modern distributed version control system, like hg, darcs, or git" -arch=('i686' 'x86_64') -url="http://www.monotone.ca" -license=('GPL') -depends=('botan' 'pcre' 'lua' 'sqlite3' 'libidn' 'zlib') -makedepends=('boost') -install=${pkgname}.install -source=(http://www.monotone.ca/downloads/${pkgver}/${pkgname}-${pkgver}.tar.bz2) -md5sums=('6a0b5d8560f08d76a950172f9ed0feff') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - MAKEFLAGS="-j1" make DESTDIR="${pkgdir}" install - install -Dm644 contrib/monotone.zsh_completion \ - "${pkgdir}/usr/share/zsh/site-functions/monotone" -} diff --git a/extra/monotone/monotone.install b/extra/monotone/monotone.install deleted file mode 100644 index 49a8651c0..000000000 --- a/extra/monotone/monotone.install +++ /dev/null @@ -1,29 +0,0 @@ -infodir=usr/share/info -filelist=(monotone.info.gz) - -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 - -# arg 1: the new package version -# arg 2: the old package version - if [ "$(vercmp $2 0.45)" -lt 0 ]; then - echo ">>> Your monotone databases will need updating for an internal format" - echo ">>> change. Please run the following command on each of your databases" - echo ">>> (after remembering to take a backup copy):" - echo ">>> $ mtn -d dbname.mtn db migrate" - fi -} - -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/nbsmtp/PKGBUILD b/extra/nbsmtp/PKGBUILD deleted file mode 100644 index 406caf487..000000000 --- a/extra/nbsmtp/PKGBUILD +++ /dev/null @@ -1,22 +0,0 @@ -# $Id: PKGBUILD 75557 2010-04-01 20:23:24Z giovanni $ -# Maintainer: dorphell -# Contributor: Sarah Hay - -pkgname=nbsmtp -pkgver=1.00 -pkgrel=3 -pkgdesc="No-Brainer SMTP client suitable to run in chroot jails, embeded systems, laptops, and workstations" -arch=(i686 x86_64) -url="http://nbsmtp.ferdyx.org/" -license=('GPL') -depends=('openssl') -source=(http://www.it.uc3m.es/~ferdy/nbsmtp/$pkgname-$pkgver.tar.bz2 build.patch) -md5sums=('0c6a200027a6f7f61f44b374261aa52f' '043236152fecb550d80ab3cd84711cd3') - -build() { - cd $srcdir/$pkgname-$pkgver - patch -Np0 -i ../build.patch || return 1 - ./configure --prefix=/usr --enable-ssl || return 1 - make || return 1 - make prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man install || return 1 -} diff --git a/extra/nbsmtp/build.patch b/extra/nbsmtp/build.patch deleted file mode 100644 index 325b16308..000000000 --- a/extra/nbsmtp/build.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- hmac_md5.c~ 2005-07-28 19:29:07.000000000 +0200 -+++ hmac_md5.c 2006-06-04 15:49:09.000000000 +0200 -@@ -4,10 +4,11 @@ - * - * Code taken from RFC2104. - */ -- -+#include - #include - #include - -+ - #include "hmac_md5.h" - - /** diff --git a/extra/nickle/PKGBUILD b/extra/nickle/PKGBUILD deleted file mode 100644 index 735648e07..000000000 --- a/extra/nickle/PKGBUILD +++ /dev/null @@ -1,22 +0,0 @@ -#$Id: $ -#Maintainer: Jan de Groot - -pkgname=nickle -pkgver=2.70 -pkgrel=1 -pkgdesc="A programming language based prototyping environment with powerful programming and scripting capabilities" -arch=('i686' 'x86_64') -url="http://nickle.org" -license=('custom') -depends=('readline') -source=(http://nickle.org/release/${pkgname}-${pkgver}.tar.gz) -md5sums=('fbb77ad1c6f80a9a67ae28a2a678ed67') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr - make - make DESTDIR="${pkgdir}" install - install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" - install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" -} diff --git a/extra/nppangband/Makefile.std b/extra/nppangband/Makefile.std deleted file mode 100755 index 5bebf01fa..000000000 --- a/extra/nppangband/Makefile.std +++ /dev/null @@ -1,375 +0,0 @@ -# File: Makefile.std - -# This is not a very "nice" Makefile, but it usually works. - -# -# Note that you may have to make modifications below according -# to your machine, available libraries, compilation options, -# and your "visual module" of choice. This Makefile is intended -# for use with Unix machines running X11, gtk, (n)curses, termcap, -# or VT100, Slang, Linux VCS or SVGA library, -# or possibly for "Atari" or "Amiga" computers with "Curses" ports, -# see below for more information. -# -# Note that "main-mac.c", the visual module for the Macintosh, -# must be compiled in a special way, see elsewhere. -# -# Note that "main-win.c", the visual module for Windows, -# must be compiled in a special way, see elsewhere. -# -# Note that "main-ibm.c", "main-dos.c", and "main-emx.c", -# the visual modules for various types of IBM-PC computers, -# must be compiled with special Makefiles, see elsewhere. -# -# Note that "main-ros.c", the visual module for RISC OS, -# must be compiled with "Makefile.ros", see elsewhere. -# -# Note that "main-ami.c", the visual module for the Amiga, -# must be compiled with "Makefile.ami", see elsewhere. -# -# If you are able to construct "main-xxx.c" and/or "Makefile.xxx" -# files for a currently unsupported system, please send them to -# Robert Ruehlmann < rr9@thangorodrim.net > for inclusion in future -# versions. -# -# This Makefile comes with "default" dependencies that may be obsolete. -# - - -# -# The "source" and "object" files. -# - -SRCS = \ - z-util.c z-virt.c z-form.c z-rand.c z-term.c \ - variable.c tables.c util.c cave.c \ - object1.c object2.c monster1.c monster2.c \ - xtra1.c xtra2.c spells1.c spells2.c \ - melee1.c melee2.c save.c effects.c feature.c files.c \ - cmd1.c cmd2.c cmd3.c cmd4.c cmd5.c cmd6.c \ - store.c birth.c load.c quest.c squelch.c \ - wizard1.c wizard2.c obj-info.c \ - generate.c dungeon.c init1.c init2.c randart.c \ - main-cap.c main-gcu.c main-x11.c main-xaw.c main.c \ - main-gtk.c main-lsl.c main-sla.c main-vcs.c main-xpj.c main-lfb.c \ - maid-x11.c \ - use-obj.c - -OBJS = \ - z-util.o z-virt.o z-form.o z-rand.o z-term.o \ - variable.o tables.o util.o cave.o \ - object1.o object2.o monster1.o monster2.o \ - xtra1.o xtra2.o spells1.o spells2.o \ - melee1.o melee2.o save.o effects.o feature.o files.o \ - cmd1.o cmd2.o cmd3.o cmd4.o cmd5.o cmd6.o \ - store.o birth.o load.o quest.o squelch.o \ - wizard1.o wizard2.o obj-info.o \ - generate.o dungeon.o init1.o init2.o randart.o \ - main-cap.o main-gcu.o main-x11.o main-xaw.o main.o \ - main-gtk.o main-lsl.o main-sla.o main-vcs.o main-xpj.o main-lfb.o \ - maid-x11.o \ - use-obj.o - - - -## -## Following are some "system" definitions -## -## No changes are needed to compile a version that will run on both -## X11 and Curses, in debugging mode, with maximal warnings, on many -## normal Unix machines of the Sun OS variety (non-solaris). -## -## To use an "alternative" definition, simply "modify" (or "replace") -## the definition below with one that you like. For example, you can -## change the compiler to "cc", or remove the "debugging" options, or -## remove the X11 or Curses support, etc, as desired. -## -## With X11, XAW or GTK, you can add -D"USE_XPJ" to CFLAGS to get the -## 3d-projection module "xpj". -## -## See also "config.h" and "h-config.h" for important information. -## -## Some "examples" are given below, they can be used by simply -## removing the FIRST column of "#" signs from the "block" of lines -## you wish to use, and commenting out "standard" block below. -## -## This is not intended to be a "good" Makefile, just a "simple" one. -## - - -# -# This is my compiler of choice, it seems to work most everywhere. -# -CC = gcc - - -# -# Standard version (see main-x11.c and main-gcu.c) -# -# This version supports both "X11" and "curses" in a single executable. -# -# You may have to add various X11 include/library directories to the -# "CFLAGS", if your machine places files in a weird location. -# -# You may be able to remove "-ltermcap" on some machines (ex: Solaris). -# -# You may have to replace "-lcurses" with "-lncurses" to use the -# "new curses" library instead of the "old curses" library, and -# you may have to add "-I/usr/include/ncurses" to the "CFLAGS". -# -# See "main-gcu.c" and "config.h" for some optional "curses" defines, -# including "USE_GETCH" and "USE_CURS_SET". Note that "config.h" will -# attempt to "guess" at many of these flags based on your system. -# -#CFLAGS = -Wall -O1 -pipe -g -D"USE_X11" -D"USE_GCU" -#LIBS = -lX11 -lcurses -ltermcap - - -## -## Variation -- Only support "main-x11.c" (not "main-gcu.c") -## -#CFLAGS = -Wall -O1 -pipe -g -D"USE_X11" -#LIBS = -lX11 - - -## -## Variation -- Only support "main-gcu.c" (not "main-x11.c") -## -#CFLAGS = -Wall -O1 -pipe -g -D"USE_GCU" -#LIBS = -lcurses -ltermcap - - -## -## Variation -- Use "main-xaw.c" instead of "main-x11.c" -## -#CFLAGS = -Wall -O1 -pipe -g -D"USE_XAW" -D"USE_GCU" -#LIBS = -lXaw -lXmu -lXt -lX11 -lcurses -ltermcap - - -## -## Variation -- Use "main-gtk.c" instead of "main-x11.c" -## Note: gtk-config adds GTK and X11 includes and libraries as appropriate. -## -#CFLAGS = -Wall -O `gtk-config --cflags` -g -D"USE_GTK" -D"USE_GCU" -#LIBS = `gtk-config --libs` -lcurses -ltermcap - - -## -## Variation -- Use "main-cap.c" instead of "main-gcu.c" -## -#CFLAGS = -Wall -O1 -pipe -g -D"USE_X11" -D"USE_CAP" -#LIBS = -lX11 -ltermcap - - -## -## Variation -- Only work on simple vt100 terminals -## -#CFLAGS = -Wall -O1 -pipe -g -D"USE_CAP" -D"USE_HARDCODE" - - -## -## Variation -- compile for Linux -## -## Allows the use of Angband in the console using ncurses, -## as well as under X11. -## -#CFLAGS = -I/usr/X11R6/include -I/usr/include/ncurses -Wall \ - # -O2 -fno-strength-reduce -D"HAVE_MKSTEMP" \ - # -D"USE_X11" -D"USE_GCU" -D"USE_NCURSES" -g -#LIBS = -L/usr/X11R6/lib -lXaw -lXext -lSM -lICE -lXmu -lXt -lX11 -lncurses - - -## -## Variation -- compile for Linux -## -## Allows the use of Angband in the console using curses. -## -#CFLAGS = -Wall -O2 -fno-strength-reduce -pipe -D"USE_GCU" -#LIBS = -lcurses - - -## -## Variation -- compile for Linux -## -## Allows the use of Angband in X11 using the Athena Widget set. -## -#CFLAGS = -Wall -O2 -fno-strength-reduce -pipe -g -D"USE_XAW" -#LIBS = -L/usr/X11R6/lib -lXaw -lXext -lSM -lICE -lXmu -lXt -lX11 - - -## -## Variation -- this might work better than the suggestion above -## -CFLAGS = -I/usr/include/ncurses \ - -Wall -O2 -fno-strength-reduce -fomit-frame-pointer \ - -D"USE_X11" -D"USE_GCU" \ - -D"USE_TPOSIX" -D"USE_CURS_SET" -LIBS = -lX11 -lncurses -LDFLAGS = -s - - -## -## Variation -- compile for Solaris -## -#CFLAGS = -Wall -O1 -pipe -g -D"USE_X11" -D"USE_GCU" -D"SOLARIS" -#LIBS = -lX11 -lsocket -lcurses - - -## -## Variation -- compile for SGI Indigo runnig Irix -## -#CFLAGS = -Wall -O1 -pipe -g -D"USE_X11" -D"USE_GCU" -D"SGI" -#LIBS = -lX11 -lcurses -ltermcap -lsun - - -## -## Variation -- compile for Dec ALPHA OSF/1 v2.0 -## -#CC = cc -##CFLAGS = -std -O -g3 -Olimit 4000 -D"USE_X11" -D"USE_GCU" -#CFLAGS = -std -g -D"USE_X11" -D"USE_GCU" -#LIBS = -lX11 -lcurses -ltermcap -lrpcsvc - - -## -## Variation -- compile for Interactive Unix (ISC) systems -## -#CFLAGS = -Wall -O1 -pipe -g -D"USE_X11" -D"USE_GCU" -D"ISC" -#LIBS = -lX11 -lcurses -lnsl_s -linet -lcposix - - -## -## Variation -- Support fat binaries under NEXTSTEP -## -#CFLAGS = -Wall -O1 -pipe -g -D"USE_GCU" -arch m68k -arch i386 -#LIBS = -lcurses -ltermcap - - -## -## Variation -- Support Linux + SVGA library -## -#CFLAGS = -Wall -O2 -fno-strength-reduce -D"USE_LSL" -#LIBS = -lz -lvgagl -lvga - - -## -## Variation -- Support Linux "vcs" (Virtual Console memory) module -## -#CFLAGS = -Wall -O2 -fno-strength-reduce -D"USE_VCS" -#LIBS = - - -## -## Variation -- Support S-Lang library -## -#CFLAGS = -Wall -O2 -fno-strength-reduce -D"USE_SLA" -I/usr/include/slang -#LIBS = -lslang - - -# -# Default target. -# -all: nppangband - - -# -# Install the game. -# - -install: nppangband - cp nppangband .. - - -# -# Build the "NPPAngband" program -# - -nppangband: $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) -o nppangband $(OBJS) $(LIBS) - - -# -# Clean up old junk -# - -clean: - -rm -f *.o nppangband - -# -# Generate dependencies automatically -# - -depend: - makedepend -D__MAKEDEPEND__ $(SRCS) - - -# -# Hack -- some file dependencies -# - -HDRS = \ - h-basic.h \ - h-define.h h-type.h h-system.h h-config.h - -INCS = \ - angband.h \ - config.h defines.h types.h externs.h \ - z-term.h z-rand.h z-util.h z-virt.h z-form.h $(HDRS) - - -birth.o: birth.c $(INCS) -cave.o: cave.c $(INCS) -cmd1.o: cmd1.c $(INCS) -cmd2.o: cmd2.c $(INCS) -cmd3.o: cmd3.c $(INCS) -cmd4.o: cmd4.c $(INCS) -cmd5.o: cmd5.c $(INCS) -cmd6.o: cmd6.c $(INCS) -dungeon.o: dungeon.c $(INCS) -effects.o: effects.c $(INCS) -feature.o: feature.c $(INCS) -files.o: files.c $(INCS) -generate.o: generate.c $(INCS) -init1.o: init1.c $(INCS) init.h -init2.o: init2.c $(INCS) init.h -load.o: load.c $(INCS) init.h -maid-x11.o: maid-x11.c $(INCS) maid-x11.h -main-cap.o: main-cap.c $(INCS) main.h -main-gcu.o: main-gcu.c $(INCS) main.h -main-gtk.o: main-gtk.c $(INCS) main.h maid-x11.h -main-lsl.o: main-lsl.c $(INCS) main.h -main-sla.o: main-sla.c $(INCS) main.h -main-vcs.o: main-vcs.c $(INCS) main.h -main-x11.o: main-x11.c $(INCS) main.h maid-x11.h -main-xaw.o: main-xaw.c $(INCS) main.h maid-x11.h -main-xpj.o: main-xpj.c $(INCS) main.h maid-x11.h -main-lfb.o: main-lfb.c $(INCS) main.h -main.o: main.c $(INCS) main.h -melee1.o: melee1.c $(INCS) -melee2.o: melee2.c $(INCS) -monster1.o: monster1.c $(INCS) -monster2.o: monster2.c $(INCS) -obj-info.o: obj-info.c $(INCS) -object1.o: object1.c $(INCS) -object2.o: object2.c $(INCS) -quest.o: quest.c $(INCS) -randart.o: randart.c $(INCS) init.h -save.o: save.c $(INCS) -spells1.o: spells1.c $(INCS) -spells2.o: spells2.c $(INCS) -squelch.o: squelch.c $(INCS) -store.o: store.c $(INCS) -tables.o: tables.c $(INCS) -use-obj.o: use-obj.c $(INCS) -util.o: util.c $(INCS) -variable.o: variable.c $(INCS) -wizard1.o: wizard1.c $(INCS) -wizard2.o: wizard2.c $(INCS) -xtra1.o: xtra1.c $(INCS) -xtra2.o: xtra2.c $(INCS) -z-form.o: z-form.c $(HDRS) z-form.h z-util.h z-virt.h -z-rand.o: z-rand.c $(HDRS) z-rand.h -z-term.o: z-term.c $(HDRS) z-term.h z-virt.h -z-util.o: z-util.c $(HDRS) z-util.h -z-virt.o: z-virt.c $(HDRS) z-virt.h z-util.h - diff --git a/extra/nppangband/PKGBUILD b/extra/nppangband/PKGBUILD deleted file mode 100644 index 988ddcf52..000000000 --- a/extra/nppangband/PKGBUILD +++ /dev/null @@ -1,41 +0,0 @@ -# $Id: PKGBUILD 58001 2009-11-03 08:18:40Z giovanni $ -# Maintainer: James Rayner - -pkgname=nppangband -pkgver=0.5.0.25 -pkgrel=1.1 -pkgdesc="A variant of Angband that attempts to take popular ideas from other variants" -url="http://www.assembla.com/wiki/show/NPPAngband" -depends=('ncurses' 'libx11') -makedepends=('libxaw' 'xorg-font-utils') -source=(http://www.assembla.com/spaces/NPPAngband/documents/dmfeFgWJir3PuseJe5afGb/download/npp050-rev25-src.zip) -license=('custom') -arch=('i686' 'x86_64') - -build() { - - cd $srcdir/npp050-rev25-src/src - sed 's@# define DEFAULT_PATH "./lib/"@# define DEFAULT_PATH "/usr/share/nppangband/"@' -i config.h - sed -i 's/-D"USE_LFB"//g' Makefile.std # Remove framebuffer support, does not compile, - make -f Makefile.std - - - # Fix fonts - cd ../lib/xtra/font/ - tr -d '\r' < compile_bdf_fonts.sh > compile_bdf_fonts2.sh # Convert line endings dos->unix - sed -i "s/\.bdf/\.bdf;/g" compile_bdf_fonts2.sh # fix syntax error, missing ;. - bash compile_bdf_fonts2.sh # no shebang, use bash explicitly - - # Install - cd $srcdir/npp050-rev25-src/ - mkdir -p $pkgdir/usr/bin $pkgdir/usr/share - cp -R lib $pkgdir/usr/share/nppangband/ - chmod -R 775 $pkgdir/usr/share/nppangband/ - chown -R root:games $pkgdir/usr/share/nppangband/ - install -m755 src/nppangband $pkgdir/usr/bin/nppangband - - # install custom license - install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING -} - -md5sums=('776d387ccbca31edf7eb30eb1402b0c9') diff --git a/extra/numlockx/PKGBUILD b/extra/numlockx/PKGBUILD deleted file mode 100644 index c30fdd0d6..000000000 --- a/extra/numlockx/PKGBUILD +++ /dev/null @@ -1,33 +0,0 @@ -# $Id: PKGBUILD 75639 2010-04-02 01:32:53Z dgriffiths $ -# Contributor: Tom Newsom -# Contributor: Travis Willard -# Contributor: Thayer Williams -# Maintainer: Daniel J Griffiths - -pkgname=numlockx -pkgver=1.2 -pkgrel=1 -pkgdesc="Turns on the numlock key in X11" -arch=('i686' 'x86_64') -license=('MIT') -url="http://ktown.kde.org/~seli/numlockx/" -depends=('libxtst') -source=(http://ktown.kde.org/~seli/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('be9109370447eae23f6f3f8527bb1a67') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - - ./configure --prefix=/usr x_includes=/usr/include/X11 \ - x_libraries=/usr/lib || return 1 - make || return 1 -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - - make prefix=${pkgdir}/usr install || return 1 - - # Install the custom MIT license - install -D LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1 -} diff --git a/extra/oxygen-icons/PKGBUILD b/extra/oxygen-icons/PKGBUILD deleted file mode 100644 index 1440c6446..000000000 --- a/extra/oxygen-icons/PKGBUILD +++ /dev/null @@ -1,38 +0,0 @@ -# $Id: PKGBUILD 121091 2011-04-29 00:27:25Z andrea $ -# Maintainer: Andrea Scarpino -# Contributor: Pierre Schmitz - -pkgbase=oxygen-icons -pkgname=('oxygen-icons' - 'oxygen-icons-svg') -pkgver=4.6.3 -pkgrel=1 -pkgdesc="The Oxygen Icon Theme" -arch=('any') -url='http://www.oxygen-icons.org/' -license=('LGPL') -makedepends=('pkgconfig' 'cmake' 'automoc4') -source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('9efaf92d516f716f3d36ff0e21c66384500e967d') - -build() { - cd $srcdir - mkdir build - cd build - cmake ../${pkgname}-${pkgver} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr - make -} - -package_oxygen-icons() { - cd $srcdir/build - make DESTDIR=$pkgdir install -} - -package_oxygen-icons-svg() { - pkgdesc="The Oxygen Icon Theme (Scalable Vector Graphics)" - cd $srcdir/${pkgbase}-${pkgver} - find scalable -type f ! -name '*.sh' -exec \ - install -D -m644 "{}" "${pkgdir}/usr/share/icons/oxygen/{}" \; -} diff --git a/extra/python-gtkglext/PKGBUILD b/extra/python-gtkglext/PKGBUILD deleted file mode 100644 index 883b8d92e..000000000 --- a/extra/python-gtkglext/PKGBUILD +++ /dev/null @@ -1,21 +0,0 @@ -# $Id: PKGBUILD 89694 2010-09-03 10:37:56Z remy $ -# Maintainer: simo -pkgname=python-gtkglext -pkgver=1.1.0 -pkgrel=4 -pkgdesc="Python language bindings for GtkGLExt" -arch=(i686 x86_64) -depends=('gtkglext' 'mesa' 'python-opengl' 'pygtk') -makedepends=('libxmu') -url="http://gtkglext.sourceforge.net/" -source=(http://downloads.sourceforge.net/gtkglext/pygtkglext-$pkgver.tar.bz2) -license="LGPL" -md5sums=('720b421d3b8514a40189b285dd91de57') - -build() { - cd $startdir/src/pygtkglext-$pkgver - ./configure --prefix=/usr - make || return 1 - make DESTDIR=$startdir/pkg install - find $startdir/pkg -name '*.la' -exec rm {} \; -} diff --git a/extra/sharutils/sharutils.install b/extra/sharutils/sharutils.install deleted file mode 100644 index e8d9f8c07..000000000 --- a/extra/sharutils/sharutils.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=/usr/share/info -filelist=(sharutils.info.gz) - -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 -} - -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/speedcrunch/PKGBUILD b/extra/speedcrunch/PKGBUILD deleted file mode 100644 index 5b78123d8..000000000 --- a/extra/speedcrunch/PKGBUILD +++ /dev/null @@ -1,25 +0,0 @@ -# $Id: PKGBUILD 67114 2010-02-03 16:04:47Z andrea $ -# Maintainer: -# Contributor: Ronald van Haren - -pkgname=speedcrunch -pkgver=0.10.1 -pkgrel=2 -pkgdesc="Simple but powerful calculator using Qt" -url="http://speedcrunch.org/" -arch=('i686' 'x86_64') -depends=('qt') -makedepends=('cmake') -license=('GPL2') -source=(http://speedcrunch.googlecode.com/files/$pkgname-$pkgver.tar.gz) -md5sums=('344ee1303b05502d28c58a2fff1ca6b2') - -build() { - cd $srcdir/$pkgname-$pkgver/src - cmake . -DCMAKE_INSTALL_PREFIX=/usr || return 1 - make || return 1 - - # fix make install issue - lrelease speedcrunch.pro - make DESTDIR=$pkgdir install -} diff --git a/extra/telepathy-idle/python27.patch b/extra/telepathy-idle/python27.patch deleted file mode 100644 index f8abffb57..000000000 --- a/extra/telepathy-idle/python27.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Nur telepathy-idle-0.1.7.orig/configure.ac telepathy-idle-0.1.7/configure.ac ---- telepathy-idle-0.1.7.orig/configure.ac 2010-12-07 03:52:29.000000000 -0800 -+++ telepathy-idle-0.1.7/configure.ac 2010-12-07 09:41:21.179715253 -0800 -@@ -103,7 +103,7 @@ - AC_MSG_ERROR([xsltproc (from the libxslt source package) is required]) - fi - PYTHON= --AC_CHECK_PROGS([PYTHON], [python2.3 python2.4 python2.5 python]) -+AC_CHECK_PROGS([PYTHON], [python2.3 python2.4 python2.5 python2.7 python]) - if test -z "$PYTHON"; then - AC_MSG_ERROR([Python is required to compile this package]) - fi -@@ -111,7 +111,7 @@ - - dnl check for a version of python that can run the twisted tests - AC_MSG_CHECKING([for Python with Twisted and IRC protocol support]) --for TEST_PYTHON in python2.5 python2.6 python; do -+for TEST_PYTHON in python2.5 python2.6 python2.7 python; do - if $TEST_PYTHON -c "from sys import version_info; import dbus, dbus.mainloop.glib; raise SystemExit(version_info < (2, 5, 0, 'final', 0))" >/dev/null 2>&1; then - if $TEST_PYTHON -c "import twisted.words.protocols.irc, twisted.internet.reactor" >/dev/null 2>&1; then - AM_CONDITIONAL([WANT_TWISTED_TESTS], true) diff --git a/extra/uim/home.patch b/extra/uim/home.patch deleted file mode 100644 index 5d171529d..000000000 --- a/extra/uim/home.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -aur uim/uim-helper.c uim/uim-helper.c ---- uim/uim-helper.c 2010-08-22 19:23:37.646666698 +0200 -+++ uim/uim-helper.c 2010-08-22 19:26:57.676666781 +0200 -@@ -178,7 +178,7 @@ - goto path_error; - } - -- if (strlcpy(helper_path, pw->pw_dir, len) >= (size_t)len) { -+ if (strlcpy(helper_path, getenv("HOME"), len) >= (size_t)len) { - endpwent(); - goto path_error; - } -diff -aur uim/uim-posix.c uim/uim-posix.c ---- uim/uim-posix.c 2010-08-22 19:23:37.650000031 +0200 -+++ uim/uim-posix.c 2010-08-22 19:26:40.096666322 +0200 -@@ -100,7 +100,7 @@ - home[0] = '\0'; - return UIM_FALSE; - } -- if (strlcpy(home, pw->pw_dir, len) >= (size_t)len) { -+ if (strlcpy(home, getenv("HOME"), len) >= (size_t)len) { - home[0] = '\0'; - endpwent(); - return UIM_FALSE; diff --git a/extra/vbetool/PKGBUILD b/extra/vbetool/PKGBUILD deleted file mode 100644 index 0122f4130..000000000 --- a/extra/vbetool/PKGBUILD +++ /dev/null @@ -1,28 +0,0 @@ -# $Id: PKGBUILD 19267 2008-11-18 03:22:15Z eric $ -# Contributor: Christian Storm -# Contributor: James Rayner -# Maintainer: Thayer Williams - -pkgname=vbetool -pkgver=1.1 -pkgrel=1 -pkgdesc="vbetool uses lrmi in order to run code from the video BIOS" -url="http://www.srcf.ucam.org/~mjg59/vbetool/" -license=('GPL2') -arch=('i686' 'x86_64') -depends=('zlib' 'libx86') -makedepends=('pciutils') -source=(http://www.codon.org.uk/~mjg59/vbetool/download/vbetool-${pkgver}.tar.gz) -md5sums=('ffb03b118867a02296d7449019ad8846') - -build() { - cd $srcdir/$pkgname-$pkgver - if [ "${CARCH}" = "x86_64" ]; then - ./configure --prefix=/usr --without-x86emu || return 1 - else - ./configure --prefix=/usr || return 1 - fi - make LIBS=-lpci || return 1 - make DESTDIR=$pkgdir install || return 1 -} - diff --git a/extra/xchat-gnome/PKGBUILD b/extra/xchat-gnome/PKGBUILD deleted file mode 100644 index 271b96631..000000000 --- a/extra/xchat-gnome/PKGBUILD +++ /dev/null @@ -1,50 +0,0 @@ -# $Id: PKGBUILD 112861 2011-03-07 10:29:01Z eric $ -# Maintainer: Allan McRae -# Contributor: Jan de Groot - -pkgname=xchat-gnome -pkgver=0.26.1 -pkgrel=5 -pkgdesc="GNOME frontend to the popular X-Chat IRC client." -arch=('i686' 'x86_64') -license=('GPL') -url="http://xchat-gnome.navi.cx/" -depends=('libgnomeui>=2.18.1-2' 'libsexy>=0.1.11' 'gconf>=2.18.0.1-4' - 'hicolor-icon-theme' 'desktop-file-utils' 'libcanberra' 'libsm') -makedepends=('gettext' 'perlxml' 'python2' 'tcl' 'libnotify' 'gnome-doc-utils>=0.10.3' - 'intltool' 'pkg-config') -optdepends=('libnotify: notifications' - 'python2: plugin' - 'tcl: plugin') -options=('!libtool') -install=xchat-gnome.install -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.26/${pkgname}-${pkgver}.tar.gz - gtk2-2.20.patch xchat-gnome-0.26.1-deprecated-symbol.patch) -md5sums=('e355d71d76cd97a0764e37bfacf09101' 'dafc2536a0c5ee3f8015af81fce69656'\ - 'f82417277f0b5e83334147c4bf63d531') -sha1sums=('303bfbf2f1bda83fbc4edab148df4764cb4b8998' 'f1bfc5af50be7c10a9db96be20185325636d8da9'\ - '9aa0abc4b7999e09cafdeb8da1ad4641552a421b') - -build() { - cd "$srcdir/${pkgname}-${pkgver}" - patch -Np1 -i "$srcdir/gtk2-2.20.patch" - patch -Np1 -i "$srcdir/xchat-gnome-0.26.1-deprecated-symbol.patch" - sed -i 's/notify_notification_new (summary, escaped, NULL, NULL);/notify_notification_new (summary, escaped, NULL);/' plugins/notify-osd/notify-osd.c - sed -i -e "s/ /\t/" src/common/dbus/Makefile.in - - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static \ - --enable-ipv6 --enable-shm \ - --disable-gtkfe --disable-scrollkeeper - make -} - -package() { - cd "$srcdir/${pkgname}-${pkgver}" - make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install - - install -d "$pkgdir/usr/share/gconf/schemas" - gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/${pkgname}.schemas" \ - "$pkgdir"/etc/gconf/schemas/*.schemas - rm -f "$pkgdir"/etc/gconf/schemas/*.schemas -} diff --git a/extra/xchat-gnome/gtk2-2.20.patch b/extra/xchat-gnome/gtk2-2.20.patch deleted file mode 100644 index 7a5dcedf2..000000000 --- a/extra/xchat-gnome/gtk2-2.20.patch +++ /dev/null @@ -1,137 +0,0 @@ -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/fe-gnome.c xchat-gnome-0.26.1/src/fe-gnome/fe-gnome.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/fe-gnome.c 2008-09-07 09:18:45.000000000 -0400 -+++ xchat-gnome-0.26.1/src/fe-gnome/fe-gnome.c 2010-03-28 16:16:52.181405173 -0400 -@@ -753,7 +753,7 @@ fe_gui_info (session * sess, int info_ty - { - switch (info_type) { - case 0: -- if (!GTK_WIDGET_VISIBLE (GTK_WINDOW (gui.main_window))) { -+ if (!gtk_widget_get_visible (GTK_WIDGET (gui.main_window))) { - return 2; - } - if (gtk_window_is_active (GTK_WINDOW (gui.main_window))) { -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/find-bar.c xchat-gnome-0.26.1/src/fe-gnome/find-bar.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/find-bar.c 2007-03-09 10:42:57.000000000 -0500 -+++ xchat-gnome-0.26.1/src/fe-gnome/find-bar.c 2010-03-28 16:26:24.300405158 -0400 -@@ -247,7 +247,7 @@ find_bar_close (FindBar *bar) - { - gint position; - -- if (!GTK_WIDGET_VISIBLE (bar)) { -+ if (!gtk_widget_get_visible (GTK_WIDGET (bar))) { - return; - } - -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/text-entry.c xchat-gnome-0.26.1/src/fe-gnome/text-entry.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/text-entry.c 2008-09-07 10:02:45.000000000 -0400 -+++ xchat-gnome-0.26.1/src/fe-gnome/text-entry.c 2010-03-28 16:39:48.755153605 -0400 -@@ -667,7 +667,7 @@ text_entry_set_current (TextEntry *entry - char *selection = NULL, *text = NULL; - int start, end; - -- g_return_if_fail (GTK_WIDGET_REALIZED (widget)); -+ g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (widget))); - - if (sess == priv->current) { - return; -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/userlist-gui.c xchat-gnome-0.26.1/src/fe-gnome/userlist-gui.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/userlist-gui.c 2008-10-13 17:02:16.000000000 -0400 -+++ xchat-gnome-0.26.1/src/fe-gnome/userlist-gui.c 2010-03-28 16:47:55.703154452 -0400 -@@ -261,12 +261,12 @@ userlist_gui_show (void) - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gui.userlist_toggle), TRUE); - -- if (!GTK_WIDGET_REALIZED (gui.userlist_window)) { -+ if (!gtk_widget_get_realized (GTK_WIDGET (gui.userlist_window))) { - gtk_widget_realize (gui.userlist_window); - } - gtk_widget_size_request (gui.userlist, &request); - -- if (GTK_WIDGET_REALIZED (gui.userlist_toggle)) -+ if (gtk_widget_get_realized (GTK_WIDGET (gui.userlist_toggle))) - anchor_widget = gui.userlist_toggle; - else - anchor_widget = gui.main_window; -diff -urp xchat-gnome-0.26.1.OLD/src/fe-gnome/xtext.c xchat-gnome-0.26.1/src/fe-gnome/xtext.c ---- xchat-gnome-0.26.1.OLD/src/fe-gnome/xtext.c 2009-01-16 08:17:31.000000000 -0500 -+++ xchat-gnome-0.26.1/src/fe-gnome/xtext.c 2010-03-28 16:57:17.441402617 -0400 -@@ -1086,7 +1086,7 @@ gtk_xtext_size_allocate (GtkWidget * wid - xtext->avoid_trans = FALSE; - - widget->allocation = *allocation; -- if (GTK_WIDGET_REALIZED (widget)) -+ if (gtk_widget_get_realized (GTK_WIDGET (widget))) - { - xtext->buffer->window_width = allocation->width; - xtext->buffer->window_height = allocation->height; -@@ -4113,7 +4113,7 @@ gtk_xtext_set_palette (GtkXText * xtext, - xtext->palette[i] = palette[i].pixel; - } - -- if (GTK_WIDGET_REALIZED (xtext)) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - { - xtext_set_fg (xtext, xtext->fgc, XTEXT_FG); - xtext_set_bg (xtext, xtext->fgc, XTEXT_BG); -@@ -4211,7 +4211,7 @@ gtk_xtext_set_font (GtkXText *xtext, cha - - gtk_xtext_fix_indent (xtext->buffer); - -- if (GTK_WIDGET_REALIZED (xtext)) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - gtk_xtext_recalc_widths (xtext->buffer, TRUE); - - return TRUE; -@@ -4248,7 +4248,7 @@ gtk_xtext_set_background (GtkXText * xte - if (trans) - { - xtext->shaded = shaded; -- if (GTK_WIDGET_REALIZED (xtext)) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - gtk_xtext_load_trans (xtext); - return; - } -@@ -4260,14 +4260,14 @@ gtk_xtext_set_background (GtkXText * xte - if (pixmap != 0) - { - g_object_ref (pixmap); -- if (GTK_WIDGET_REALIZED (xtext)) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - { - gdk_gc_set_tile (xtext->bgc, pixmap); - gdk_gc_set_ts_origin (xtext->bgc, 0, 0); - xtext->ts_x = xtext->ts_y = 0; - gdk_gc_set_fill (xtext->bgc, GDK_TILED); - } -- } else if (GTK_WIDGET_REALIZED (xtext)) -+ } else if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - { - g_object_unref (xtext->bgc); - val.subwindow_mode = GDK_INCLUDE_INFERIORS; -@@ -4516,7 +4516,7 @@ gtk_xtext_render_page (GtkXText * xtext) - int subline; - int startline = xtext->adj->value; - -- if(!GTK_WIDGET_REALIZED(xtext)) -+ if(!gtk_widget_get_realized (GTK_WIDGET (xtext))) - return; - - if (xtext->buffer->indent < MARGIN) -@@ -4636,7 +4636,7 @@ gtk_xtext_render_page (GtkXText * xtext) - void - gtk_xtext_refresh (GtkXText * xtext, int do_trans) - { -- if (GTK_WIDGET_REALIZED (GTK_WIDGET (xtext))) -+ if (gtk_widget_get_realized (GTK_WIDGET (xtext))) - { - #if defined(USE_XLIB) || defined(WIN32) - if (xtext->transparent && do_trans) -@@ -5204,7 +5204,7 @@ gtk_xtext_buffer_show (GtkXText *xtext, - xtext->io_tag = 0; - } - -- if (!GTK_WIDGET_REALIZED (GTK_WIDGET (xtext))) -+ if (!gtk_widget_get_realized (GTK_WIDGET (xtext))) - gtk_widget_realize (GTK_WIDGET (xtext)); - - gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &w, &h); diff --git a/extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch b/extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch deleted file mode 100644 index 5bf1e4ef5..000000000 --- a/extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 8d35b36baa8204b68c9520ec92327e34c1d7c580 Mon Sep 17 00:00:00 2001 -From: Ritesh Khadgaray -Date: Sun, 04 Jul 2010 09:52:07 +0000 -Subject: remove deprecated GTK+ symbols, GTK_WIDGET_SET_FLAGS. - ---- -diff --git a/src/fe-gnome/xtext.c b/src/fe-gnome/xtext.c -index 92562a3..51503f8 100644 ---- a/src/fe-gnome/xtext.c -+++ b/src/fe-gnome/xtext.c -@@ -963,7 +963,7 @@ gtk_xtext_realize (GtkWidget * widget) - GdkColor col; - GdkColormap *cmap; - -- GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); -+ gtk_widget_set_realized (widget, TRUE); - xtext = GTK_XTEXT (widget); - - attributes.x = widget->allocation.x; --- -cgit v0.8.3.1 - diff --git a/extra/xchat-gnome/xchat-gnome.install b/extra/xchat-gnome/xchat-gnome.install deleted file mode 100644 index b0816ece3..000000000 --- a/extra/xchat-gnome/xchat-gnome.install +++ /dev/null @@ -1,24 +0,0 @@ -pkgname=xchat-gnome - -post_install() { - usr/sbin/gconfpkg --install ${pkgname} - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor - update-desktop-database -q -} - -pre_upgrade() { - pre_remove $1 -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - usr/sbin/gconfpkg --uninstall ${pkgname} -} - -post_remove() { - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor - update-desktop-database -q -} diff --git a/extra/xscreensaver/ChangeLog b/extra/xscreensaver/ChangeLog deleted file mode 100644 index ea08818fc..000000000 --- a/extra/xscreensaver/ChangeLog +++ /dev/null @@ -1,46 +0,0 @@ -2010-09-26 Eric Belanger - - * xscreensaver 5.12-1 - * Upstream update - * Added libxxf86vm depends - -2010-05-17 Eric Belanger - - * xscreensaver 5.11-1 - * Upstream update - -2009-10-17 Eric Belanger - - * xscreensaver 5.10-2 - * Added support for electricsheep (close FS#16400) - -2009-09-09 Eric Belanger - - * xscreensaver 5.10-1 - * Upstream update - -2009-09-03 Eric Belanger - - * xscreensaver 5.09-1 - * Upstream update - -2009-01-02 Eric Belanger - - * xscreensaver 5.08-1 - * Upstream update - -2008-08-11 Eric Belanger - - * xscreensaver 5.07-1 - * Upstream update - -2008-07-18 Eric Belanger - - * xscreensaver 5.06-1 - * Upstream update - -2008-03-02 Eric Belanger - - * xscreensaver 5.05-1 - * Upstream update - * FHS man pages diff --git a/multilib-testing/binutils-multilib/PKGBUILD b/multilib-testing/binutils-multilib/PKGBUILD deleted file mode 100644 index 78be6ccc6..000000000 --- a/multilib-testing/binutils-multilib/PKGBUILD +++ /dev/null @@ -1,81 +0,0 @@ -# $Id: PKGBUILD 46786 2011-05-11 15:43:26Z heftig $ -# Maintainer: Jan "heftig" Steffens -# Contributor: Allan McRae - -# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc - -pkgname=binutils-multilib -pkgver=2.21 -pkgrel=8 -_date=20110430 -pkgdesc="A set of programs to assemble and manipulate binary and object files for multilib" -arch=('x86_64') -url="http://www.gnu.org/software/binutils/" -license=('GPL') -groups=('multilib-devel') -provides=("binutils=$pkgver-$pkgrel") -conflicts=('binutils') -depends=('glibc>=2.13' 'zlib') -makedepends=('dejagnu' 'gcc-multilib') # Make sure we compile this with gcc-multilib -options=('!libtool' '!distcc' '!ccache') -install=binutils.install -source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2 - binutils-2.21-strip-segfault.patch) -md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec' - '98e8dfaf1c0ededa586823ebfb27825a') - -build() { - cd ${srcdir}/binutils - # http://sourceware.org/bugzilla/show_bug.cgi?id=12632 - patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch - - cd ${srcdir} - mkdir binutils-build && cd binutils-build - - ${srcdir}/binutils/configure --prefix=/usr \ - --enable-ld=default --enable-gold \ - --enable-plugins --enable-threads \ - --enable-shared \ - --enable-64-bit-bfd --enable-multilib - - # This checks the host environment and makes sure all the necessary tools are available to compile Binutils. - make configure-host - - make tooldir=${pkgdir}/usr -} - -check() { - cd ${srcdir}/binutils-build - - # do not abort on errors - manually check log files - make -k -j1 check || true -} - -package() { - cd ${srcdir}/binutils-build - make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install - - # Add some useful headers - install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include - install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include - - # Rebuild libiberty.a with -fPIC - make -C libiberty clean - make CFLAGS="$CFLAGS -fPIC" -C libiberty - install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib - - # Rebuild libbfd.a with -fPIC - make -C bfd clean - # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API - make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd - install -m644 bfd/libbfd.a ${pkgdir}/usr/lib - - # Remove Windows/Novell specific man pages - rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}* - - # Remove these symlinks, they are not ABI stable. - # Programs should compile static to the .a file. - rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so - echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so - echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so -} diff --git a/multilib-testing/binutils-multilib/binutils-2.21-strip-segfault.patch b/multilib-testing/binutils-multilib/binutils-2.21-strip-segfault.patch deleted file mode 100644 index 0133d879b..000000000 --- a/multilib-testing/binutils-multilib/binutils-2.21-strip-segfault.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/binutils/objcopy.c b/binutils/objcopy.c -index 15c4f95..b64f3d0 100644 ---- a/binutils/objcopy.c -+++ b/binutils/objcopy.c -@@ -1,6 +1,6 @@ - /* objcopy.c -- copy object file from input to output, optionally massaging it. - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 - Free Software Foundation, Inc. - - This file is part of GNU Binutils. -@@ -2024,6 +2024,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, - struct stat buf; - int stat_status = 0; - bfd_boolean del = TRUE; -+ bfd_boolean ok_object; - - /* Create an output file for this member. */ - output_name = concat (dir, "/", -@@ -2061,44 +2062,42 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, - l->obfd = NULL; - list = l; - -- if (bfd_check_format (this_element, bfd_object)) -+ ok_object = bfd_check_format (this_element, bfd_object); -+ if (!ok_object) -+ bfd_nonfatal_message (NULL, this_element, NULL, -+ _("Unable to recognise the format of file")); -+ -+ /* PR binutils/3110: Cope with archives -+ containing multiple target types. */ -+ if (force_output_target || !ok_object) -+ output_bfd = bfd_openw (output_name, output_target); -+ else -+ output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); -+ -+ if (output_bfd == NULL) - { -- /* PR binutils/3110: Cope with archives -- containing multiple target types. */ -- if (force_output_target) -- output_bfd = bfd_openw (output_name, output_target); -- else -- output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); -+ bfd_nonfatal_message (output_name, NULL, NULL, NULL); -+ status = 1; -+ return; -+ } -+ -+ if (ok_object) -+ { -+ del = !copy_object (this_element, output_bfd, input_arch); - -- if (output_bfd == NULL) -+ if (del && bfd_get_arch (this_element) == bfd_arch_unknown) -+ /* Try again as an unknown object file. */ -+ ok_object = FALSE; -+ else if (!bfd_close (output_bfd)) - { - bfd_nonfatal_message (output_name, NULL, NULL, NULL); -+ /* Error in new object file. Don't change archive. */ - status = 1; -- return; - } -- -- del = ! copy_object (this_element, output_bfd, input_arch); -- -- if (! del -- || bfd_get_arch (this_element) != bfd_arch_unknown) -- { -- if (!bfd_close (output_bfd)) -- { -- bfd_nonfatal_message (output_name, NULL, NULL, NULL); -- /* Error in new object file. Don't change archive. */ -- status = 1; -- } -- } -- else -- goto copy_unknown_element; - } -- else -- { -- bfd_nonfatal_message (NULL, this_element, NULL, -- _("Unable to recognise the format of file")); - -- output_bfd = bfd_openw (output_name, output_target); --copy_unknown_element: -+ if (!ok_object) -+ { - del = !copy_unknown_object (this_element, output_bfd); - if (!bfd_close_all_done (output_bfd)) - { --- -1.6.5.GIT - diff --git a/multilib-testing/binutils-multilib/binutils.install b/multilib-testing/binutils-multilib/binutils.install deleted file mode 100644 index 8bf9f3a47..000000000 --- a/multilib-testing/binutils-multilib/binutils.install +++ /dev/null @@ -1,17 +0,0 @@ -infodir=usr/share/info -filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.info) - -post_upgrade() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - diff --git a/multilib-testing/gcc-multilib/PKGBUILD b/multilib-testing/gcc-multilib/PKGBUILD deleted file mode 100644 index 98dcef2a4..000000000 --- a/multilib-testing/gcc-multilib/PKGBUILD +++ /dev/null @@ -1,305 +0,0 @@ -# $Id: PKGBUILD 47043 2011-05-14 11:08:03Z heftig $ -# Maintainer: Jan "heftig" Steffens -# Contributor: Allan McRae - -# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc -# NOTE: libtool requires rebuilt with each new gcc version - -pkgbase='gcc-multilib' -pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib') -pkgver=4.6.0 -pkgrel=5 -_snapshot=4.6-20110513 -_libstdcppmanver=20110201 # Note: check source directory name when updating this -pkgdesc="The GNU Compiler Collection for multilib" -arch=('x86_64') -license=('GPL' 'LGPL' 'FDL' 'custom') -url="http://gcc.gnu.org" -makedepends=('binutils-multilib>=2.21' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib' 'dejagnu' - 'lib32-glibc>=2.12.1') -options=('!libtool' '!emptydirs') -source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc,ada,go,testsuite}-${pkgver}.tar.bz2 - ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc,ada,go,testsuite}-${_snapshot}.tar.bz2 - ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 - gcc_pure64.patch - gcc-hash-style-both.patch) -md5sums=('2be769db16ac02f30fb62423b4c50145' - 'a310d230945f4b3093dd3ca72839c649' - '361a10c5a5545c80fd271b18036dd00c' - 'f7db2f6ed34398361de62cb6b8eb53d2' - '9b69c1d8874e8496c1965ee3e32eaa6d' - '248e53b461078bf1c89528fb8e4ba051' - 'e15a01b0d02ff12e975e4c2649e71e55' - '1e9fd2eaf0ee47ea64e82c48998f1999' - '22cec272f9cc2801d3cd348feaca888b' - '4df25b623799b148a0703eaeec8fdf3f') - -if [ -n "${_snapshot}" ]; then - _basedir="${srcdir}/gcc-${_snapshot}" -else - _basedir="${srcdir}/gcc-${pkgver}" -fi - -build() { - cd ${_basedir} - - # Do not install libiberty - sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in - - # Do not run fixincludes - sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in - - patch -Np1 -i ${srcdir}/gcc_pure64.patch - patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch - - echo ${pkgver} > gcc/BASE-VER - - cd ${srcdir} - mkdir gcc-build && cd gcc-build - - ${_basedir}/configure --prefix=/usr \ - --libdir=/usr/lib --libexecdir=/usr/lib \ - --mandir=/usr/share/man --infodir=/usr/share/info \ - --with-bugurl=https://bugs.archlinux.org/ \ - --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \ - --enable-shared --enable-threads=posix \ - --with-system-zlib --enable-__cxa_atexit \ - --disable-libunwind-exceptions --enable-clocale=gnu \ - --enable-gnu-unique-object --enable-linker-build-id \ - --with-ppl --enable-cloog-backend=isl \ - --enable-lto --enable-gold --enable-ld=default \ - --enable-plugin --with-plugin-ld=ld.gold \ - --enable-multilib --disable-libstdcxx-pch \ - --enable-checking=release - make -} - -check() { - cd gcc-build - - # increase stack size to prevent test failures - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827 - ulimit -s 32768 - - # do not abort on error as some are "expected" - make -k check || true - ${_basedir}/contrib/test_summary -} - -package_gcc-libs-multilib() -{ - pkgdesc="Runtime libraries shipped by GCC for multilib" - depends=('glibc>=2.11.1-2' "lib32-gcc-libs=$pkgver-$pkgrel") - provides=("gcc-libs=$pkgver-$pkgrel") - conflicts=('gcc-libs') - install=gcc-libs.install - - cd gcc-build - make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared - for lib in libmudflap libgomp libssp libstdc++-v3/src; do - make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES - done - make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install - make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info - - make -j1 DESTDIR=${pkgdir} install-target-libquadmath - make -j1 DESTDIR=${pkgdir} install-target-libgfortran - make -j1 DESTDIR=${pkgdir} install-target-libobjc - - # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} - rm -rf ${pkgdir}/usr/lib/{gcc/,libgfortran.spec} - - # remove stuff in lib32-gcc-libs - rm -rf ${pkgdir}/usr/lib32 - - # remove static libraries - find ${pkgdir} -name *.a -delete - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-libs-multilib/RUNTIME.LIBRARY.EXCEPTION -} - -package_lib32-gcc-libs() -{ - pkgdesc="Runtime libraries shipped by GCC (32-bit)" - depends=('lib32-glibc>=2.12.1' "gcc-libs>=$pkgver") - - cd gcc-build - make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared - for lib in libmudflap libgomp libssp libstdc++-v3/src; do - make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES - done - - make -j1 DESTDIR=${pkgdir} install-target-libquadmath - make -j1 DESTDIR=${pkgdir} install-target-libgfortran - make -j1 DESTDIR=${pkgdir} install-target-libobjc - - # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} - rm ${pkgdir}/usr/lib32/libgfortran.spec - - # remove stuff in gcc-libs-multilib - rm -rf ${pkgdir}/usr/lib - rm -rf ${pkgdir}/usr/share/info - - # remove static libraries - find ${pkgdir} -name *.a -delete - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-multilib() -{ - pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib" - depends=('binutils-multilib>=2.21' 'libmpc>=0.8.1-2' 'cloog' 'ppl' - "gcc-libs-multilib=$pkgver-$pkgrel") - groups=('multilib-devel') - provides=("gcc=$pkgver-$pkgrel") - conflicts=('gcc') - install=gcc.install - - cd gcc-build - - # unfortunately it is much, much easier to install the lot and clean-up the mess... - make -j1 DESTDIR=${pkgdir} install - rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*} - rm $pkgdir/usr/lib{,32}/*.so* - rm $pkgdir/usr/lib{,32}/lib{ffi,gfortran,go{,begin},objc,quadmath}.a - rm $pkgdir/usr/lib{,32}/libgfortran.spec - rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{{,32/}ada{include,lib},finclude,include/objc} - rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h} - rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1,{,32/}libgfortranbegin.a} - rm -r $pkgdir/usr/lib{,32}/go - rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath}.info - rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo - rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1 - rm $pkgdir/usr/share/man/man3/ffi* - - # many packages require these symlinks - install -dm755 ${pkgdir}/lib - ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp - ln -sf gcc ${pkgdir}/usr/bin/cc - ln -sf g++ ${pkgdir}/usr/bin/c++ - - # POSIX conformance launcher scripts for c89 and c99 - cat > $pkgdir/usr/bin/c89 <<"EOF" -#!/bin/sh -fl="-std=c89" -for opt; do - case "$opt" in - -ansi|-std=c89|-std=iso9899:1990) fl="";; - -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 - exit 1;; - esac -done -exec gcc $fl ${1+"$@"} -EOF - - cat > $pkgdir/usr/bin/c99 <<"EOF" -#!/bin/sh -fl="-std=c99" -for opt; do - case "$opt" in - -std=c99|-std=iso9899:1999) fl="";; - -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 - exit 1;; - esac -done -exec gcc $fl ${1+"$@"} -EOF - - chmod 755 $pkgdir/usr/bin/c{8,9}9 - - # install the libstdc++ man pages - install -dm755 ${pkgdir}/usr/share/man/man3 - install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/ - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-multilib/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-fortran-multilib() -{ - pkgdesc="Fortran front-end for GCC for multilib" - depends=("gcc-multilib=$pkgver-$pkgrel") - provides=("gcc-fortran=$pkgver-$pkgrel") - conflicts=('gcc-fortran') - install=gcc-fortran.install - - cd gcc-build - make -j1 DESTDIR=${pkgdir} install-target-libquadmath - make -j1 DESTDIR=$pkgdir install-target-libgfortran - make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS - make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info} - install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951 - - # remove libraries included in gcc-libs - rm ${pkgdir}/usr/lib{,32}/lib{gfortran,quadmath}.so* - rm ${pkgdir}/usr/share/info/libquadmath.info - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-fortran-multilib/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-objc-multilib() -{ - pkgdesc="Objective-C front-end for GCC for multilib" - depends=("gcc-multilib=$pkgver-$pkgrel") - provides=("gcc-objc=$pkgver-$pkgrel") - conflicts=('gcc-objc') - - cd gcc-build - make -j1 DESTDIR=$pkgdir install-target-libobjc - install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ - install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ - - # remove libraries included in gcc-libs - rm ${pkgdir}/usr/lib{,32}/libobjc.so* - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-objc-multilib/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-ada-multilib() -{ - pkgdesc="Ada front-end for GCC (GNAT) for multilib" - depends=("gcc-multilib=$pkgver-$pkgrel") - provides=("gcc-ada=$pkgver-$pkgrel") - conflicts=('gcc-ada') - install=gcc-ada.install - - cd gcc-build/gcc - make -j1 DESTDIR=$pkgdir ada.install-{common,info} - install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver - - cd ../$CHOST/32/libada - make -j1 DESTDIR=${pkgdir} INSTALL="install" \ - INSTALL_DATA="install -m644" install-gnatlib - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-ada-multilib/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-go-multilib() -{ - pkgdesc="Go front-end for GCC for multilib" - depends=("gcc-multilib=$pkgver-$pkgrel") - provides=("gcc-go=$pkgver-$pkgrel") - conflicts=('gcc-go') - install=gcc-go.install - - cd gcc-build - make -j1 DESTDIR=$pkgdir install-target-libgo - make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info} - install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1 - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION -} diff --git a/multilib-testing/gcc-multilib/gcc-ada.install b/multilib-testing/gcc-multilib/gcc-ada.install deleted file mode 100644 index df0553a4f..000000000 --- a/multilib-testing/gcc-multilib/gcc-ada.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=usr/share/info -filelist=(gnat-style.info gnat_rm.info gnat_ugn.info) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $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.gz $infodir/dir 2> /dev/null - done -} diff --git a/multilib-testing/gcc-multilib/gcc-fortran.install b/multilib-testing/gcc-multilib/gcc-fortran.install deleted file mode 100644 index b15d89a97..000000000 --- a/multilib-testing/gcc-multilib/gcc-fortran.install +++ /dev/null @@ -1,16 +0,0 @@ -infodir=usr/share/info -file="gfortran.info" - -post_install() { - [ -x usr/bin/install-info ] || return 0 - install-info $infodir/$file.gz $infodir/dir 2> /dev/null -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null -} diff --git a/multilib-testing/gcc-multilib/gcc-go.install b/multilib-testing/gcc-multilib/gcc-go.install deleted file mode 100644 index 7dc50dee5..000000000 --- a/multilib-testing/gcc-multilib/gcc-go.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=usr/share/info -filelist=(gccgo.info) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $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.gz $infodir/dir 2> /dev/null - done -} diff --git a/multilib-testing/gcc-multilib/gcc-hash-style-both.patch b/multilib-testing/gcc-multilib/gcc-hash-style-both.patch deleted file mode 100644 index 8b59f4535..000000000 --- a/multilib-testing/gcc-multilib/gcc-hash-style-both.patch +++ /dev/null @@ -1,122 +0,0 @@ ---- gcc/config/alpha/linux-elf.h.orig 2010-12-09 23:27:07.000000000 +1000 -+++ gcc/config/alpha/linux-elf.h 2011-03-11 10:01:47.770000457 +1000 -@@ -41,7 +41,7 @@ - - #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER - --#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ -+#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \ - %{O*:-O3} %{!O*:-O1} \ - %{shared:-shared} \ - %{!shared: \ ---- gcc/config/i386/linux64.h.orig 2011-03-03 08:35:36.000000000 +1000 -+++ gcc/config/i386/linux64.h 2011-03-11 10:01:47.770000457 +1000 -@@ -78,7 +78,7 @@ - %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" - - #undef LINK_SPEC --#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \ -+#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \ - %{shared:-shared} \ - %{!shared: \ - %{!static: \ ---- gcc/config/i386/linux.h.orig 2011-01-15 04:45:06.000000000 +1000 -+++ gcc/config/i386/linux.h 2011-03-11 10:01:47.770000457 +1000 -@@ -104,7 +104,7 @@ - { "dynamic_linker", LINUX_DYNAMIC_LINKER } - - #undef LINK_SPEC --#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ -+#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ ---- gcc/config/ia64/linux.h.orig 2010-12-09 23:27:07.000000000 +1000 -+++ gcc/config/ia64/linux.h 2011-03-11 10:01:47.770000457 +1000 -@@ -64,7 +64,7 @@ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" - - #undef LINK_SPEC --#define LINK_SPEC "\ -+#define LINK_SPEC "--hash-style=both \ - %{shared:-shared} \ - %{!shared: \ - %{!static: \ ---- gcc/config/rs6000/linux64.h.orig 2011-02-11 03:30:10.000000000 +1000 -+++ gcc/config/rs6000/linux64.h 2011-03-11 10:03:34.280000457 +1000 -@@ -389,11 +389,11 @@ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) - - --#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \ -+#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ - -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}" - --#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \ -+#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ - -dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}" - ---- gcc/config/rs6000/sysv4.h.orig 2011-01-28 04:36:03.000000000 +1000 -+++ gcc/config/rs6000/sysv4.h 2011-03-11 10:01:47.773333792 +1000 -@@ -830,7 +830,7 @@ - #define LINUX_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) - --#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ -+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ - -dynamic-linker " LINUX_DYNAMIC_LINKER "}}" - ---- gcc/config/s390/linux.h.orig 2010-12-09 23:27:07.000000000 +1000 -+++ gcc/config/s390/linux.h 2011-03-11 10:01:47.770000457 +1000 -@@ -77,7 +77,7 @@ - - #undef LINK_SPEC - #define LINK_SPEC \ -- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ -+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \ - %{shared:-shared} \ - %{!shared: \ - %{static:-static} \ ---- gcc/config/sparc/linux64.h.orig 2011-02-17 23:57:21.000000000 +1000 -+++ gcc/config/sparc/linux64.h 2011-03-11 10:01:47.770000457 +1000 -@@ -113,7 +113,7 @@ - { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \ - { "link_arch", LINK_ARCH_SPEC }, - --#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \ -+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -121,7 +121,7 @@ - %{static:-static}} \ - " - --#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ -+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -193,7 +193,7 @@ - #else /* !SPARC_BI_ARCH */ - - #undef LINK_SPEC --#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ -+#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ ---- gcc/config/sparc/linux.h.orig 2011-01-27 06:30:12.000000000 +1000 -+++ gcc/config/sparc/linux.h 2011-03-11 10:01:47.770000457 +1000 -@@ -74,7 +74,7 @@ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - - #undef LINK_SPEC --#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ -+#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \ - %{!mno-relax:%{!r:-relax}} \ - %{!shared: \ - %{!static: \ diff --git a/multilib-testing/gcc-multilib/gcc-libs.install b/multilib-testing/gcc-multilib/gcc-libs.install deleted file mode 100644 index 23553b8f0..000000000 --- a/multilib-testing/gcc-multilib/gcc-libs.install +++ /dev/null @@ -1,16 +0,0 @@ -infodir=usr/share/info -filelist=(libgomp.info libquadmath.info) - -post_upgrade() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null - done -} diff --git a/multilib-testing/gcc-multilib/gcc.install b/multilib-testing/gcc-multilib/gcc.install deleted file mode 100644 index 3407a5e1f..000000000 --- a/multilib-testing/gcc-multilib/gcc.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=usr/share/info -filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $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.gz $infodir/dir 2> /dev/null - done -} diff --git a/multilib-testing/gcc-multilib/gcc_pure64.patch b/multilib-testing/gcc-multilib/gcc_pure64.patch deleted file mode 100644 index 8c6b08171..000000000 --- a/multilib-testing/gcc-multilib/gcc_pure64.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h ---- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400 -+++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400 -@@ -49,7 +49,7 @@ - done. */ - - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" -+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" - - #undef LINK_SPEC - #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \ -diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64 ---- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400 -+++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400 -@@ -6,7 +6,7 @@ - - MULTILIB_OPTIONS = m64/m32 - MULTILIB_DIRNAMES = 64 32 --MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) -+MULTILIB_OSDIRNAMES = ../lib ../lib32 - - LIBGCC = stmp-multilib - INSTALL_LIBGCC = install-multilib diff --git a/testing/acl/PKGBUILD b/testing/acl/PKGBUILD deleted file mode 100644 index e177e74f5..000000000 --- a/testing/acl/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# $Id: PKGBUILD 123916 2011-05-14 10:31:07Z thomas $ -# Maintainer: Thomas Bächler -pkgname=acl -pkgver=2.2.51 -pkgrel=1 -pkgdesc="Access control list utilities, libraries and headers" -arch=('i686' 'x86_64') -url="http://savannah.nongnu.org/projects/acl" -license=('LGPL') -depends=('attr>=2.4.46') -replaces=('xfsacl') -provides=('xfsacl') -conflicts=('xfsacl') -options=('!libtool') -source=(http://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.src.tar.gz) -sha256sums=('06854521cf5d396801af7e54b9636680edf8064355e51c07657ec7442a185225') - -build() { - cd "${srcdir}"/${pkgname}-${pkgver} - - export INSTALL_USER=root INSTALL_GROUP=root - ./configure --prefix=/usr --libdir=/lib --libexecdir=/usr/lib - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make DIST_ROOT="${pkgdir}" install install-lib install-dev - - # tidy up - rm -f ${pkgdir}/lib/libacl.a - chmod 0755 ${pkgdir}/lib/libacl.so.*.*.* -} diff --git a/testing/alpine/2.00-lpam.patch b/testing/alpine/2.00-lpam.patch deleted file mode 100644 index 69e66d7ef..000000000 --- a/testing/alpine/2.00-lpam.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- alpine-2.00.orig/alpine/Makefile.in -+++ alpine-2.00/alpine/Makefile.in -@@ -169,7 +169,7 @@ - LIBICONV = @LIBICONV@ - LIBINTL = @LIBINTL@ - LIBOBJS = @LIBOBJS@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lpam - LIBTOOL = @LIBTOOL@ - LN = @LN@ - LN_S = @LN_S@ - LTLIBICONV = @LTLIBICONV@ - LTLIBINTL = @LTLIBINTL@ diff --git a/testing/alpine/CVE-2008-5514.patch b/testing/alpine/CVE-2008-5514.patch deleted file mode 100644 index 594bea0b2..000000000 --- a/testing/alpine/CVE-2008-5514.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- alpine-2.00/imap/src/c-client/rfc822.c -+++ alpine-2.00/imap/src/c-client/rfc822.c -@@ -1351,6 +1351,7 @@ - - static long rfc822_output_char (RFC822BUFFER *buf,int c) - { -+ if ((buf->cur == buf->end) && !rfc822_output_flush (buf)) return NIL; - *buf->cur++ = c; /* add character, soutr buffer if full */ - return (buf->cur == buf->end) ? rfc822_output_flush (buf) : LONGT; - } -@@ -1374,7 +1375,8 @@ - len -= i; - } - /* soutr buffer now if full */ -- if (len && !rfc822_output_flush (buf)) return NIL; -+ if ((len || (buf->cur == buf->end)) && !rfc822_output_flush (buf)) -+ return NIL; - } - return LONGT; - } diff --git a/testing/alpine/PKGBUILD b/testing/alpine/PKGBUILD deleted file mode 100644 index 6b2f9ee73..000000000 --- a/testing/alpine/PKGBUILD +++ /dev/null @@ -1,44 +0,0 @@ -# $Id: PKGBUILD 121113 2011-04-29 02:56:31Z eric $ -# Maintainer: Eric Bélanger - -pkgname=alpine -pkgver=2.00 -pkgrel=13 -_patchlevel=79 -pkgdesc="The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages)" -arch=('i686' 'x86_64') -url="http://www.washington.edu/alpine/" -license=('APACHE') -depends=('libldap' 'krb5' 'gettext') -optdepends=('aspell: for spell-checking support') -provides=('pine') -conflicts=('pine') -replaces=('pine') -options=('!makeflags') -source=(ftp://ftp.cac.washington.edu/${pkgname}/${pkgname}.tar.bz2 \ - http://staff.washington.edu/chappa/alpine/patches/alpine-${pkgver}/all_${_patchlevel}.patch.gz \ - 2.00-lpam.patch CVE-2008-5514.patch) -md5sums=('84e44cbf71ed674800a5d57eed9c1c52' - 'd7dffd121c9a1cac4c458c0ff71df1ce' - 'cd3911c16fc6a072e853c0ccfc35857c' - '1b52a54a656979116c09fb1d948a4325') -sha1sums=('dcbd3c5419954f484ccf706feaba31ce48cdebc4' - 'd3acbf0e46c50feb2e822ef3bdc0a0f43c007294' - '1b39525f91ebd5a9de5a1e04f5554f6fa5f58ae3' - 'bc61d76a237ff42b00b3f60f2e6fc5c45e261dbb') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -p1 < ../all_${_patchlevel}.patch - patch -p1 < ../2.00-lpam.patch - patch -p1 < ../CVE-2008-5514.patch - ./configure --prefix=/usr --without-passfile --without-tcl \ - --disable-shared --with-system-pinerc=/etc/alpine.d/pine.conf \ - --with-system-fixed-pinerc=/etc/alpine.d/pine.conf.fixed - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install -} diff --git a/testing/anjuta/PKGBUILD b/testing/anjuta/PKGBUILD deleted file mode 100644 index 98a1c6730..000000000 --- a/testing/anjuta/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ -# $Id: PKGBUILD 122589 2011-05-04 18:41:26Z ibiru $ -# Maintainer: Andreas Radke -# Contributor: Harley Laue - -pkgname=anjuta -pkgver=3.0.1.0 -pkgrel=2 -pkgdesc="GNOME Integrated Development Environment (IDE)" -arch=('i686' 'x86_64') -license=('GPL') -depends=('vte3' 'gdl' 'autogen' 'devhelp' 'gtksourceview3' 'glade' 'libgda' - 'subversion' 'gnome-icon-theme' 'hicolor-icon-theme' 'vala' 'graphviz' - 'python2' 'shared-mime-info' 'desktop-file-utils') -makedepends=('gnome-doc-utils' 'intltool' 'gobject-introspection') -url="http://anjuta.sourceforge.net/" -install=anjuta.install -source=(ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*.*}/${pkgname}-${pkgver}.tar.bz2) -options=('!libtool' '!emptydirs') -sha256sums=('dbda189f453e0f9baecb35e85d59df92613668f7f4be08207d635cff3abb7261') - -build() { - cd "${srcdir}/anjuta-${pkgver}" - PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-scrollkeeper - make -} - -package(){ - cd "${srcdir}/anjuta-${pkgver}" - - make DESTDIR="${pkgdir}" install - - sed -i "1s|#!/usr/bin/python$|&2|" \ - $pkgdir/usr/share/anjuta/project/{pygtk,python}/src/main.py -} diff --git a/testing/anjuta/anjuta.install b/testing/anjuta/anjuta.install deleted file mode 100644 index c6fcfec11..000000000 --- a/testing/anjuta/anjuta.install +++ /dev/null @@ -1,21 +0,0 @@ -post_install() { - usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas - update-desktop-database -q - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor - gtk-update-icon-cache -q -t -f usr/share/icons/gnome - update-mime-database usr/share/mime > /dev/null -} - -pre_upgrade() { - if (( $(vercmp $2 2.90.0) < 0 )); then - usr/sbin/gconfpkg --uninstall anjuta - fi -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/testing/attr/PKGBUILD b/testing/attr/PKGBUILD deleted file mode 100644 index 30f3ad81a..000000000 --- a/testing/attr/PKGBUILD +++ /dev/null @@ -1,37 +0,0 @@ -# $Id: PKGBUILD 123916 2011-05-14 10:31:07Z thomas $ -# Maintainer: Thomas Bächler -pkgname=attr -pkgver=2.4.46 -pkgrel=1 -pkgdesc="Extended attribute support library for ACL support" -arch=('i686' 'x86_64') -url="http://savannah.nongnu.org/projects/attr" -license=('LGPL') -depends=('glibc') -makedepends=('gettext') -replaces=('xfsattr') -provides=('xfsattr') -conflicts=('xfsattr') -options=('!libtool') -source=(http://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.src.tar.gz) -sha256sums=('dcd69bdca7ff166bc45141eddbcf21967999a6b66b0544be12a1cc2fd6340e1f') - -build() { - cd "${srcdir}"/${pkgname}-${pkgver} - - export INSTALL_USER=root INSTALL_GROUP=root - ./configure --prefix=/usr --libdir=/lib --libexecdir=/usr/lib - make -} - -package() { - cd "${srcdir}"/${pkgname}-${pkgver} - - make DIST_ROOT="${pkgdir}" install install-lib install-dev - - # tidy up - rm -f "${pkgdir}"/lib/libattr.a - chmod 0755 "${pkgdir}"/lib/libattr.so.*.*.* - # remove conflicting manpages - rm -rf "${pkgdir}"/usr/share/man/man2 -} diff --git a/testing/bind/127.0.0.zone b/testing/bind/127.0.0.zone deleted file mode 100644 index 509c311f6..000000000 --- a/testing/bind/127.0.0.zone +++ /dev/null @@ -1,11 +0,0 @@ -$ORIGIN 0.0.127.in-addr.arpa. - -@ 1D IN SOA localhost. root.localhost. ( - 42 ; serial (yyyymmdd##) - 3H ; refresh - 15M ; retry - 1W ; expiry - 1D ) ; minimum ttl - - 1D IN NS localhost. -1 1D IN PTR localhost. diff --git a/testing/bind/ChangeLog b/testing/bind/ChangeLog deleted file mode 100644 index fac736994..000000000 --- a/testing/bind/ChangeLog +++ /dev/null @@ -1,15 +0,0 @@ - -2010-03-27 kevin - - * bind 9.7.0.P1-1 - - Patch addresses excessive query traffic generated when there is a break - in the DNSSEC trust chain as a result of a configuration error - -2010-01-22 kevin - - * bind 9.6.1.P3-1 - - Fix for CVE-2010-0097, VU#360341, BIND 9 DNSSEC validation code could - cause bogus NXDOMAIN responses - - Updated fix for CVE-2009-4022, VU#418861, BIND 9 Cache Update from - Additional Section - diff --git a/testing/bind/PKGBUILD b/testing/bind/PKGBUILD deleted file mode 100644 index 371393099..000000000 --- a/testing/bind/PKGBUILD +++ /dev/null @@ -1,88 +0,0 @@ -# $Id: PKGBUILD 123947 2011-05-14 15:17:07Z bisson $ -# Maintainer: Gaetan Bisson -# Contributor: judd -# Contributor: Mario Vazquez - -pkgname=bind - -# Use a period and not a hyphen before the patch level for proper versioning. -pkgver=9.8.0.P1 -_pkgver=9.8.0-P1 -pkgrel=2 - -pkgdesc='Berkeley Internet Name Daemon (BIND) is the reference implementation of the Domain Name System (DNS) protocols' -arch=('i686' 'x86_64') -url='http://www.isc.org/software/bind/' -license=('custom:ISC') -provides=('dns-server') -backup=('etc/logrotate.d/named' - 'etc/conf.d/named' - 'etc/named.conf' - 'etc/rndc.key') -depends=('openssl' 'krb5' 'libxml2') -options=('!makeflags' '!libtool') -source=("http://ftp.isc.org/isc/bind9/${_pkgver}/${pkgname}-${_pkgver}.tar.gz" - 'ftp://ftp.rs.internic.net/domain/db.cache' - 'so_bsdcompat.patch' - 'notools.patch' - 'named' - 'named.conf' - 'named.conf.d' - 'named.logrotate' - 'localhost.zone' - '127.0.0.zone') -sha1sums=('aa8f308f218e437ac4bad616e0ae83a9b9c40c29' - 'ee52947062c1582858187716b776afa3613608fb' - '2f737f4e81186447ac2ef370fa8dcea0b3abec31' - '5277cf4d6fbc5728c55b51c77c9347d28393fb7c' - '02b0e20a542663d27af4faa4d2e397ae2764276e' - '5ca7a5f2a132548a090a045a2df3acea6b35d9eb' - '7848edbfb9a848843f57c11c02b0289eefd42d00' - '9ffb5c3f72390a517aeae557e32349d5d278cb63' - '76a0d4cd1b913db177a5a375bebc47e5956866ec' - '53be0f1437ebe595240d8dbdd819939582b97fb9') - -install=install - -build() { - cd "${srcdir}/${pkgname}-${_pkgver}" - - patch -p1 -i "${srcdir}"/so_bsdcompat.patch - patch -p1 -i "${srcdir}"/notools.patch - - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --disable-static \ - --disable-linux-caps \ - --with-openssl \ - --with-gssapi \ - --with-libxml2 \ - --with-libtool \ - --with-dlz-dlopen \ - - make -} - -package() { - cd "${srcdir}/${pkgname}-${_pkgver}" - - make DESTDIR="${pkgdir}" install - - install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - - install -d "${pkgdir}"/usr/share/doc/bind - install ./doc/arm/*.html "${pkgdir}"/usr/share/doc/bind/ - - install -D -m755 ../named "${pkgdir}"/etc/rc.d/named - install -D -m644 ../named.conf.d "${pkgdir}"/etc/conf.d/named - install -D -m600 ../named.logrotate "${pkgdir}"/etc/logrotate.d/named - install -D -m640 -o 0 -g 40 ../named.conf "${pkgdir}"/etc/named.conf - - install -d -m750 -o 0 -g 40 "${pkgdir}"/var/named - install -d -m755 -o 40 -g 40 "${pkgdir}"/var/run/named - install -m640 -o 0 -g 40 ../db.cache "${pkgdir}"/var/named/root.hint - install -m640 -o 0 -g 40 ../127.0.0.zone "${pkgdir}"/var/named/ - install -m640 -o 0 -g 40 ../localhost.zone "${pkgdir}"/var/named/ -} diff --git a/testing/bind/install b/testing/bind/install deleted file mode 100644 index e3a1397cb..000000000 --- a/testing/bind/install +++ /dev/null @@ -1,21 +0,0 @@ -post_install() { - getent group named >/dev/null || groupadd -g 40 named - getent passwd named >/dev/null || useradd -u 40 -c "BIND DNS Server" -g named -d /var/named -s /bin/false named - passwd -l named &>/dev/null - - touch var/log/named.log - chown named:named var/log/named.log - - # create an rndc.key if it doesn't already exist - if [ ! -s etc/rndc.key ]; then - usr/sbin/rndc-confgen -r /dev/urandom -b 256 | head -n 5 >>etc/rndc.key - chown root:named etc/rndc.key - chmod 640 etc/rndc.key - fi -} - -pre_remove() { - getent passwd named &>/dev/null && userdel named >/dev/null - getent group named &>/dev/null && groupdel named >/dev/null - return 0 -} diff --git a/testing/bind/localhost.zone b/testing/bind/localhost.zone deleted file mode 100644 index e3ff9641c..000000000 --- a/testing/bind/localhost.zone +++ /dev/null @@ -1,10 +0,0 @@ -$ORIGIN localhost. -@ 1D IN SOA @ root ( - 42 ; serial (yyyymmdd##) - 3H ; refresh - 15M ; retry - 1W ; expiry - 1D ) ; minimum ttl - - 1D IN NS @ - 1D IN A 127.0.0.1 diff --git a/testing/bind/named b/testing/bind/named deleted file mode 100755 index 3be558f27..000000000 --- a/testing/bind/named +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -NAMED_ARGS= -[ -f /etc/conf.d/named ] && . /etc/conf.d/named - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/named` -case "$1" in - start) - stat_busy "Starting BIND" - [ -z "$PID" ] && /usr/sbin/named ${NAMED_ARGS} - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon named - stat_done - fi - ;; - stop) - stat_busy "Stopping BIND" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon named - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - reload) - stat_busy "Reloading BIND" - [ ! -z "$PID" ] && rndc reload &>/dev/null || kill -HUP $PID &>/dev/null - if [ $? -gt 0 ]; then - stat_fail - else - stat_done - fi - ;; - *) - echo "usage: $0 {start|stop|reload|restart}" -esac -exit 0 diff --git a/testing/bind/named.conf b/testing/bind/named.conf deleted file mode 100644 index 38fb12cbe..000000000 --- a/testing/bind/named.conf +++ /dev/null @@ -1,64 +0,0 @@ -// -// /etc/named.conf -// - -options { - directory "/var/named"; - pid-file "/var/run/named/named.pid"; - auth-nxdomain yes; - datasize default; -// Uncomment these to enable IPv6 connections support -// IPv4 will still work: -// listen-on-v6 { any; }; -// Add this for no IPv4: -// listen-on { none; }; - - // Default security settings. - allow-recursion { 127.0.0.1; }; - allow-transfer { none; }; - allow-update { none; }; - version none; - hostname none; - server-id none; -}; - -zone "localhost" IN { - type master; - file "localhost.zone"; - allow-transfer { any; }; -}; - -zone "0.0.127.in-addr.arpa" IN { - type master; - file "127.0.0.zone"; - allow-transfer { any; }; -}; - -zone "." IN { - type hint; - file "root.hint"; -}; - -//zone "example.org" IN { -// type slave; -// file "example.zone"; -// masters { -// 192.168.1.100; -// }; -// allow-query { any; }; -// allow-transfer { any; }; -//}; - -logging { - channel xfer-log { - file "/var/log/named.log"; - print-category yes; - print-severity yes; - print-time yes; - severity info; - }; - category xfer-in { xfer-log; }; - category xfer-out { xfer-log; }; - category notify { xfer-log; }; -}; - diff --git a/testing/bind/named.conf.d b/testing/bind/named.conf.d deleted file mode 100644 index aecbd2307..000000000 --- a/testing/bind/named.conf.d +++ /dev/null @@ -1,4 +0,0 @@ -# -# Parameters to be passed to BIND -# -NAMED_ARGS="-u named" diff --git a/testing/bind/named.logrotate b/testing/bind/named.logrotate deleted file mode 100644 index ef1a2d032..000000000 --- a/testing/bind/named.logrotate +++ /dev/null @@ -1,6 +0,0 @@ -/var/log/named.log { - missingok - postrotate - /bin/kill -HUP `cat /var/run/named/named.pid 2>/dev/null` 2>/dev/null || true - endscript -} diff --git a/testing/bind/notools.patch b/testing/bind/notools.patch deleted file mode 100644 index 2d16fdcd5..000000000 --- a/testing/bind/notools.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- bind-9.7.0/bin/Makefile.in.orig 2010-03-14 21:19:23.000000000 -0400 -+++ bind-9.7.0/bin/Makefile.in 2010-03-14 21:19:37.000000000 -0400 -@@ -19,7 +19,7 @@ - VPATH = @srcdir@ - top_srcdir = @top_srcdir@ - --SUBDIRS = named rndc dig dnssec tests tools nsupdate \ -+SUBDIRS = named rndc dnssec tests tools \ - check confgen @PKCS11_TOOLS@ - TARGETS = - diff --git a/testing/bind/so_bsdcompat.patch b/testing/bind/so_bsdcompat.patch deleted file mode 100644 index cae2b835c..000000000 --- a/testing/bind/so_bsdcompat.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -aur old/lib/isc/unix/socket.c new/lib/isc/unix/socket.c ---- old/lib/isc/unix/socket.c 2010-03-12 04:25:20.000000000 +0100 -+++ new/lib/isc/unix/socket.c 2011-01-22 21:07:52.410000038 +0100 -@@ -681,6 +681,8 @@ - isc_sockstatscounter_fdwatchrecvfail - }; - -+#undef SO_BSDCOMPAT -+ - static void - manager_log(isc__socketmgr_t *sockmgr, - isc_logcategory_t *category, isc_logmodule_t *module, int level, -Only in new/lib/isc/unix: socket.c.orig diff --git a/testing/binutils/PKGBUILD b/testing/binutils/PKGBUILD deleted file mode 100644 index 0d1d6a0bc..000000000 --- a/testing/binutils/PKGBUILD +++ /dev/null @@ -1,89 +0,0 @@ -# $Id: PKGBUILD 123424 2011-05-11 10:41:25Z allan $ -# Maintainer: Allan McRae - -# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc - -pkgname=binutils -pkgver=2.21 -pkgrel=8 -_date=20110430 -pkgdesc="A set of programs to assemble and manipulate binary and object files" -arch=('i686' 'x86_64') -url="http://www.gnu.org/software/binutils/" -license=('GPL') -groups=('base') -depends=('glibc>=2.13' 'zlib') -makedepends=('dejagnu') -options=('!libtool' '!distcc' '!ccache') -install=binutils.install -source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2 - binutils-2.21-strip-segfault.patch) -md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec' - '98e8dfaf1c0ededa586823ebfb27825a') - -mksource() { - mkdir ${pkgname}-${_date} - cd ${pkgname}-${_date} - export _TAG=binutils-2_21-branch - export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src' - cvs -z9 co -r $_TAG binutils || return 1 - mv src binutils - tar -cvjf ../binutils-${pkgver}_${_date}.tar.bz2 binutils/* -} - -build() { - cd ${srcdir}/binutils - # http://sourceware.org/bugzilla/show_bug.cgi?id=12632 - patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch - - cd ${srcdir} - mkdir binutils-build && cd binutils-build - - [[ $CARCH == "x86_64" ]] && CONFIGFLAG="--enable-64-bit-bfd --disable-multilib" - - ${srcdir}/binutils/configure --prefix=/usr \ - --enable-ld=default --enable-gold \ - --enable-plugins --enable-threads \ - --enable-shared $CONFIGFLAG - - # This checks the host environment and makes sure all the necessary tools are available to compile Binutils. - make configure-host - - make tooldir=${pkgdir}/usr -} - -check() { - cd ${srcdir}/binutils-build - - # do not abort on errors - manually check log files - make -k -j1 check || true -} - -package() { - cd ${srcdir}/binutils-build - make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install - - # Add some useful headers - install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include - install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include - - # Rebuild libiberty.a with -fPIC - make -C libiberty clean - make CFLAGS="$CFLAGS -fPIC" -C libiberty - install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib - - # Rebuild libbfd.a with -fPIC - make -C bfd clean - # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API - make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd - install -m644 bfd/libbfd.a ${pkgdir}/usr/lib - - # Remove Windows/Novell specific man pages - rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}* - - # Remove these symlinks, they are not ABI stable. - # Programs should compile static to the .a file. - rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so - echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so - echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so -} diff --git a/testing/binutils/binutils-2.21-strip-segfault.patch b/testing/binutils/binutils-2.21-strip-segfault.patch deleted file mode 100644 index 0133d879b..000000000 --- a/testing/binutils/binutils-2.21-strip-segfault.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/binutils/objcopy.c b/binutils/objcopy.c -index 15c4f95..b64f3d0 100644 ---- a/binutils/objcopy.c -+++ b/binutils/objcopy.c -@@ -1,6 +1,6 @@ - /* objcopy.c -- copy object file from input to output, optionally massaging it. - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 - Free Software Foundation, Inc. - - This file is part of GNU Binutils. -@@ -2024,6 +2024,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, - struct stat buf; - int stat_status = 0; - bfd_boolean del = TRUE; -+ bfd_boolean ok_object; - - /* Create an output file for this member. */ - output_name = concat (dir, "/", -@@ -2061,44 +2062,42 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, - l->obfd = NULL; - list = l; - -- if (bfd_check_format (this_element, bfd_object)) -+ ok_object = bfd_check_format (this_element, bfd_object); -+ if (!ok_object) -+ bfd_nonfatal_message (NULL, this_element, NULL, -+ _("Unable to recognise the format of file")); -+ -+ /* PR binutils/3110: Cope with archives -+ containing multiple target types. */ -+ if (force_output_target || !ok_object) -+ output_bfd = bfd_openw (output_name, output_target); -+ else -+ output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); -+ -+ if (output_bfd == NULL) - { -- /* PR binutils/3110: Cope with archives -- containing multiple target types. */ -- if (force_output_target) -- output_bfd = bfd_openw (output_name, output_target); -- else -- output_bfd = bfd_openw (output_name, bfd_get_target (this_element)); -+ bfd_nonfatal_message (output_name, NULL, NULL, NULL); -+ status = 1; -+ return; -+ } -+ -+ if (ok_object) -+ { -+ del = !copy_object (this_element, output_bfd, input_arch); - -- if (output_bfd == NULL) -+ if (del && bfd_get_arch (this_element) == bfd_arch_unknown) -+ /* Try again as an unknown object file. */ -+ ok_object = FALSE; -+ else if (!bfd_close (output_bfd)) - { - bfd_nonfatal_message (output_name, NULL, NULL, NULL); -+ /* Error in new object file. Don't change archive. */ - status = 1; -- return; - } -- -- del = ! copy_object (this_element, output_bfd, input_arch); -- -- if (! del -- || bfd_get_arch (this_element) != bfd_arch_unknown) -- { -- if (!bfd_close (output_bfd)) -- { -- bfd_nonfatal_message (output_name, NULL, NULL, NULL); -- /* Error in new object file. Don't change archive. */ -- status = 1; -- } -- } -- else -- goto copy_unknown_element; - } -- else -- { -- bfd_nonfatal_message (NULL, this_element, NULL, -- _("Unable to recognise the format of file")); - -- output_bfd = bfd_openw (output_name, output_target); --copy_unknown_element: -+ if (!ok_object) -+ { - del = !copy_unknown_object (this_element, output_bfd); - if (!bfd_close_all_done (output_bfd)) - { --- -1.6.5.GIT - diff --git a/testing/binutils/binutils.install b/testing/binutils/binutils.install deleted file mode 100644 index 8bf9f3a47..000000000 --- a/testing/binutils/binutils.install +++ /dev/null @@ -1,17 +0,0 @@ -infodir=usr/share/info -filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.info) - -post_upgrade() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - diff --git a/testing/cifs-utils/PKGBUILD b/testing/cifs-utils/PKGBUILD deleted file mode 100644 index 9c33cefba..000000000 --- a/testing/cifs-utils/PKGBUILD +++ /dev/null @@ -1,26 +0,0 @@ -# $Id: PKGBUILD 122574 2011-05-04 17:23:19Z ibiru $ -# Maintainer: Tobias Powalowski -pkgname=cifs-utils -pkgver=4.9 -pkgrel=3 -pkgdesc="CIFS filesystem user-space tools" -arch=(i686 x86_64) -url="http://wiki.samba.org/index.php/LinuxCIFS_utils" -license=('GPL') -depends=('libcap' 'keyutils' 'krb5' 'talloc') -source=(ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/$pkgname-$pkgver.tar.bz2) -md5sums=('908d904e6b9e58f09f530de151a88ef8') - -build() { - cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr - make -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir" install - rm -r $pkgdir/usr/bin - # set mount.cifs uid, to enable none root mounting form fstab - chmod +s $pkgdir/sbin/mount.cifs -} diff --git a/testing/cryptsetup/PKGBUILD b/testing/cryptsetup/PKGBUILD deleted file mode 100644 index 0da5b0175..000000000 --- a/testing/cryptsetup/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -# $Id: PKGBUILD 123894 2011-05-14 09:00:27Z thomas $ -# Maintainer: Thomas Bächler -pkgname=cryptsetup -pkgver=1.3.0 -pkgrel=1 -pkgdesc="Userspace setup tool for transparent encryption of block devices using the Linux 2.6 cryptoapi" -arch=(i686 x86_64) -license=('GPL') -url="http://code.google.com/p/cryptsetup/" -groups=('base') -depends=('device-mapper' 'libgcrypt' 'popt') -conflicts=('mkinitcpio<0.5.99') -options=('!libtool' '!emptydirs') -source=(http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2 - encrypt_hook - encrypt_install) -sha256sums=('c675059a25061851dcaf9732a2118d75585097c8fbb3985026526988e8d76394' - '64601eae6fbf3e3afceccec5877557aa208a82497c33cc94ad0a686b4022b5dc' - '8e4920bb4b5ce96508aa0c42b9b07326b70daf630519f1aa1d8082bca709c12a') - -build() { - cd $srcdir/$pkgname-${pkgver} - ./configure --prefix=/usr --disable-static --sbindir=/sbin --libdir=/lib - make -} - -package() { - cd $srcdir/$pkgname-${pkgver} - make DESTDIR=$pkgdir install - # install hook - install -D -m644 $srcdir/encrypt_hook $pkgdir/lib/initcpio/hooks/encrypt - install -D -m644 $srcdir/encrypt_install $pkgdir/lib/initcpio/install/encrypt - # Fix pkgconfig location - install -d -m755 $pkgdir/usr/lib - mv $pkgdir/lib/pkgconfig $pkgdir/usr/lib/ -} diff --git a/testing/cryptsetup/encrypt_hook b/testing/cryptsetup/encrypt_hook deleted file mode 100644 index e84bc6ed7..000000000 --- a/testing/cryptsetup/encrypt_hook +++ /dev/null @@ -1,131 +0,0 @@ -# vim: set ft=sh: -# TODO this one needs some work to work with lots of different -# encryption schemes -run_hook () -{ - /sbin/modprobe -a -q dm-crypt >/dev/null 2>&1 - if [ -e "/sys/class/misc/device-mapper" ]; then - if [ ! -e "/dev/mapper/control" ]; then - /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |') - fi - [ "${quiet}" = "y" ] && CSQUIET=">/dev/null" - - # Get keyfile if specified - ckeyfile="/crypto_keyfile.bin" - if [ "x${cryptkey}" != "x" ]; then - ckdev="$(echo "${cryptkey}" | cut -d: -f1)" - ckarg1="$(echo "${cryptkey}" | cut -d: -f2)" - ckarg2="$(echo "${cryptkey}" | cut -d: -f3)" - if poll_device "${ckdev}" ${rootdelay}; then - case ${ckarg1} in - *[!0-9]*) - # Use a file on the device - # ckarg1 is not numeric: ckarg1=filesystem, ckarg2=path - mkdir /ckey - mount -r -t ${ckarg1} ${ckdev} /ckey - dd if=/ckey/${ckarg2} of=${ckeyfile} >/dev/null 2>&1 - umount /ckey - ;; - *) - # Read raw data from the block device - # ckarg1 is numeric: ckarg1=offset, ckarg2=length - dd if=${ckdev} of=${ckeyfile} bs=1 skip=${ckarg1} count=${ckarg2} >/dev/null 2>&1 - ;; - esac - fi - [ ! -f ${ckeyfile} ] && echo "Keyfile could not be opened. Reverting to passphrase." - fi - - if [ -n "${cryptdevice}" ]; then - DEPRECATED_CRYPT=0 - cryptdev="$(echo "${cryptdevice}" | cut -d: -f1)" - cryptname="$(echo "${cryptdevice}" | cut -d: -f2)" - else - DEPRECATED_CRYPT=1 - cryptdev="${root}" - cryptname="root" - fi - - warn_deprecated() { - echo "The syntax 'root=${root}' where '${root}' is an encrypted volume is deprecated" - echo "Use 'cryptdevice=${root}:root root=/dev/mapper/root' instead." - } - - if poll_device "${cryptdev}" ${rootdelay}; then - if /sbin/cryptsetup isLuks ${cryptdev} >/dev/null 2>&1; then - [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated - dopassphrase=1 - # If keyfile exists, try to use that - if [ -f ${ckeyfile} ]; then - if eval /sbin/cryptsetup --key-file ${ckeyfile} luksOpen ${cryptdev} ${cryptname} ${CSQUIET}; then - dopassphrase=0 - else - echo "Invalid keyfile. Reverting to passphrase." - fi - fi - # Ask for a passphrase - if [ ${dopassphrase} -gt 0 ]; then - echo "" - echo "A password is required to access the ${cryptname} volume:" - - #loop until we get a real password - while ! eval /sbin/cryptsetup luksOpen ${cryptdev} ${cryptname} ${CSQUIET}; do - sleep 2; - done - fi - if [ -e "/dev/mapper/${cryptname}" ]; then - if [ ${DEPRECATED_CRYPT} -eq 1 ]; then - export root="/dev/mapper/root" - fi - else - err "Password succeeded, but ${cryptname} creation failed, aborting..." - exit 1 - fi - elif [ -n "${crypto}" ]; then - [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated - msg "Non-LUKS encrypted device found..." - if [ $# -ne 5 ]; then - err "Verify parameter format: crypto=hash:cipher:keysize:offset:skip" - err "Non-LUKS decryption not attempted..." - return 1 - fi - exe="/sbin/cryptsetup create ${cryptname} ${cryptdev}" - tmp=$(echo "${crypto}" | cut -d: -f1) - [ -n "${tmp}" ] && exe="${exe} --hash \"${tmp}\"" - tmp=$(echo "${crypto}" | cut -d: -f2) - [ -n "${tmp}" ] && exe="${exe} --cipher \"${tmp}\"" - tmp=$(echo "${crypto}" | cut -d: -f3) - [ -n "${tmp}" ] && exe="${exe} --key-size \"${tmp}\"" - tmp=$(echo "${crypto}" | cut -d: -f4) - [ -n "${tmp}" ] && exe="${exe} --offset \"${tmp}\"" - tmp=$(echo "${crypto}" | cut -d: -f5) - [ -n "${tmp}" ] && exe="${exe} --skip \"${tmp}\"" - if [ -f ${ckeyfile} ]; then - exe="${exe} --key-file ${ckeyfile}" - else - exe="${exe} --verify-passphrase" - echo "" - echo "A password is required to access the ${cryptname} volume:" - fi - eval "${exe} ${CSQUIET}" - - if [ $? -ne 0 ]; then - err "Non-LUKS device decryption failed. verify format: " - err " crypto=hash:cipher:keysize:offset:skip" - exit 1 - fi - if [ -e "/dev/mapper/${cryptname}" ]; then - if [ ${DEPRECATED_CRYPT} -eq 1 ]; then - export root="/dev/mapper/root" - fi - else - err "Password succeeded, but ${cryptname} creation failed, aborting..." - exit 1 - fi - else - err "Failed to open encryption mapping: The device ${cryptdev} is not a LUKS volume and the crypto= paramater was not specified." - fi - fi - rm -f ${ckeyfile} - fi -} diff --git a/testing/cryptsetup/encrypt_install b/testing/cryptsetup/encrypt_install deleted file mode 100644 index 9446e6864..000000000 --- a/testing/cryptsetup/encrypt_install +++ /dev/null @@ -1,26 +0,0 @@ -# vim: set ft=sh: - -install () -{ - if [ -z "${CRYPTO_MODULES}" ]; then - MODULES=" dm-crypt $(all_modules "/crypto/") " - else - MODULES=" dm-crypt ${CRYPTO_MODULES} " - fi - FILES="" - SCRIPT="encrypt" - add_dir "/dev/mapper" - [ -f "/sbin/cryptsetup" ] && add_binary "/sbin/cryptsetup" "/sbin/cryptsetup" - [ -f "/usr/sbin/cryptsetup" ] && add_binary "/usr/sbin/cryptsetup" "/sbin/cryptsetup" - add_binary "/sbin/dmsetup" - add_file "/lib/udev/rules.d/10-dm.rules" - add_file "/lib/udev/rules.d/13-dm-disk.rules" - add_file "/lib/udev/rules.d/95-dm-notify.rules" -} - -help () -{ -cat< - -pkgbase="cups" -pkgname=('libcups' 'cups') -pkgver=1.4.6 -pkgrel=2 -arch=('i686' 'x86_64') -license=('GPL') -url="http://www.cups.org/" -makedepends=('libtiff>=3.9.2-2' 'libpng>=1.4.0' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'poppler>=0.12.3' - 'xinetd' 'gzip' 'autoconf' 'php' 'libusb-compat' 'dbus-core' 'avahi' 'hicolor-icon-theme') -source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 - cups-avahi.patch - cups cups.logrotate cups.pam) -#options=('!emptydirs') -md5sums=('de8fb5a29c36554925c0c6a6e2c0dae1' - '8ebd390197501ffd709f0ee546937fd5' - '5c85b7d8d2ddd02c2c64955cebbf55ea' - 'f861b18f4446c43918c8643dcbbd7f6d' - '96f82c38f3f540b53f3e5144900acf17') - -# move client.conf man page for next update to the client pkg. - -build() { - cd ${srcdir}/${pkgbase}-${pkgver} - # Avahi support in the dnssd backend. patch from Fedora - patch -Np1 -i ${srcdir}/cups-avahi.patch || return 1 - - # Rebuild configure script for --enable-avahi. - aclocal -I config-scripts - autoconf -I config-scripts - - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --with-logdir=/var/log/cups -with-docdir=/usr/share/cups/doc \ - --with-cups-user=daemon --with-cups-group=lp --enable-pam=yes \ - --disable-ldap --libdir=/usr/lib --enable-raw-printing \ - --enable-dbus --with-dbusdir=/etc/dbus-1 --enable-ssl=yes --enable-gnutls --disable-threads --enable-avahi\ - --with-php=/usr/bin/php-cgi --with-pdftops=pdftops --with-optim="$CFLAGS" - make || return 1 -} - -package_libcups() { -pkgdesc="The CUPS Printing System - client libraries and headers" -depends=('gnutls>=2.8.3' 'libtiff>=3.9.2-2' 'libpng>=1.4.0' 'krb5' 'avahi') - - cd ${srcdir}/${pkgbase}-${pkgver} - make BUILDROOT=${pkgdir} install-headers install-libs || return 1 - # put this into the libs pkg to make other software find the libs(no pkg-config file included) - mkdir -p ${pkgdir}/usr/bin - install -m755 ${srcdir}/${pkgbase}-${pkgver}/cups-config ${pkgdir}/usr/bin/cups-config -} - -package_cups() { -pkgdesc="The CUPS Printing System - deamon package" -install=cups.install -backup=(etc/cups/cupsd.conf - etc/cups/mime.convs - etc/cups/mime.types - etc/cups/snmp.conf - etc/cups/printers.conf - etc/cups/classes.conf - etc/cups/client.conf - etc/cups/subscriptions.conf - etc/dbus-1/system.d/cups.conf - etc/logrotate.d/cups - etc/pam.d/cups - etc/xinetd.d/cups-lpd) -depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'xdg-utils' 'poppler>=0.12.3' 'libusb-compat' 'dbus-core' 'hicolor-icon-theme') -optdepends=('php: for included phpcups.so module') - - cd ${srcdir}/${pkgbase}-${pkgver} - make BUILDROOT=${pkgdir} install-data install-exec || return 1 - - # this one we ship in the libcups pkg - rm -f ${pkgdir}/usr/bin/cups-config - - # kill the sysv stuff - rm -rf ${pkgdir}/etc/rc*.d - rm -rf ${pkgdir}/etc/init.d - install -D -m755 ../cups ${pkgdir}/etc/rc.d/cups - install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups - install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups - - # fix perms on /var/spool and /etc - chmod 755 ${pkgdir}/var/spool - chmod 755 ${pkgdir}/etc - - # serial backend needs to run as root (http://bugs.archlinux.org/task/20396) - chmod 700 ${pkgdir}/usr/lib/cups/backend/serial - - # install ssl directory where to store the certs, solves some samba issues - install -dm700 -g lp ${pkgdir}/etc/cups/ssl - install -dm511 -g lp ${pkgdir}/var/run/cups/certs - - # install some more configuration files that will get filled by cupsd - touch ${pkgdir}/etc/cups/printers.conf - touch ${pkgdir}/etc/cups/classes.conf - touch ${pkgdir}/etc/cups/client.conf - echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf - echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf - touch ${pkgdir}/etc/cups/subscriptions.conf - chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,client.conf,subscriptions.conf} - - # fix .desktop file - sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop - - # compress some driver files, adopted from Fedora - find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f -} diff --git a/testing/cups/cups b/testing/cups/cups deleted file mode 100755 index 4afaf5a7c..000000000 --- a/testing/cups/cups +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/cupsd` -case "$1" in - start) - stat_busy "Starting CUPS Daemon" - [ -z "$PID" ] && /usr/sbin/cupsd - if [ $? -gt 0 ]; then - stat_fail - else - echo $(pidof -o %PPID -x /usr/sbin/cupsd) > /var/run/cups.pid - add_daemon cups - stat_done - fi - ;; - stop) - stat_busy "Stopping CUPS Daemon" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm /var/run/cups.pid - rm_daemon cups - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/testing/cups/cups-avahi.patch b/testing/cups/cups-avahi.patch deleted file mode 100644 index cf1056a75..000000000 --- a/testing/cups/cups-avahi.patch +++ /dev/null @@ -1,1089 +0,0 @@ -diff -up cups-1.4.5/backend/dnssd.c.avahi cups-1.4.5/backend/dnssd.c ---- cups-1.4.5/backend/dnssd.c.avahi 2009-08-08 00:27:12.000000000 +0200 -+++ cups-1.4.5/backend/dnssd.c 2010-11-12 13:13:31.000000000 +0100 -@@ -22,6 +22,7 @@ - * exec_backend() - Execute the backend that corresponds to the - * resolved service name. - * get_device() - Create or update a device. -+* find_device() - * query_callback() - Process query data. - * sigterm_handler() - Handle termination signals... - * unquote() - Unquote a name string. -@@ -33,7 +34,18 @@ - - #include "backend-private.h" - #include --#include -+#ifdef HAVE_DNSSD -+# include -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include -+# include -+# include -+# include -+# include -+# include -+#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX -+#endif /* HAVE_AVAHI */ - - - /* -@@ -52,7 +64,12 @@ typedef enum - - typedef struct - { -+#ifdef HAVE_DNSSD - DNSServiceRef ref; /* Service reference for resolve */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ int resolved; /* Did we resolve the device? */ -+#endif /* HAVE_AVAHI */ - char *name, /* Service name */ - *domain, /* Domain name */ - *fullName, /* Full name */ -@@ -64,6 +81,20 @@ typedef struct - sent; /* Did we list the device? */ - } cups_device_t; - -+typedef struct -+{ -+ char key[256]; -+ char value[256]; -+ -+#ifdef HAVE_DNSSD -+ const uint8_t *data; -+ const uint8_t *datanext; -+ const uint8_t *dataend; -+#else /* HAVE_AVAHI */ -+ AvahiStringList *txt; -+#endif /* HAVE_DNSSD */ -+} cups_txt_records_t; -+ - - /* - * Local globals... -@@ -77,6 +108,7 @@ static int job_canceled = 0; - * Local functions... - */ - -+#ifdef HAVE_DNSSD - static void browse_callback(DNSServiceRef sdRef, - DNSServiceFlags flags, - uint32_t interfaceIndex, -@@ -92,12 +124,6 @@ static void browse_local_callback(DNSSe - const char *regtype, - const char *replyDomain, - void *context); --static int compare_devices(cups_device_t *a, cups_device_t *b); --static void exec_backend(char **argv); --static cups_device_t *get_device(cups_array_t *devices, -- const char *serviceName, -- const char *regtype, -- const char *replyDomain); - static void query_callback(DNSServiceRef sdRef, - DNSServiceFlags flags, - uint32_t interfaceIndex, -@@ -106,9 +132,111 @@ static void query_callback(DNSServiceRe - uint16_t rrclass, uint16_t rdlen, - const void *rdata, uint32_t ttl, - void *context); -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+static void avahi_client_callback (AvahiClient *client, -+ AvahiClientState state, -+ void *context); -+static void avahi_browse_callback (AvahiServiceBrowser *browser, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiBrowserEvent event, -+ const char *serviceName, -+ const char *regtype, -+ const char *replyDomain, -+ AvahiLookupResultFlags flags, -+ void *context); -+#endif /* HAVE_AVAHI */ -+ -+static cups_device_t * find_device (cups_array_t *devices, -+ cups_txt_records_t *txt, -+ cups_device_t *dkey); -+static int compare_devices(cups_device_t *a, cups_device_t *b); -+static void exec_backend(char **argv); -+static cups_device_t *get_device(cups_array_t *devices, -+ const char *serviceName, -+ const char *regtype, -+ const char *replyDomain); - static void sigterm_handler(int sig); - static void unquote(char *dst, const char *src, size_t dstsize); - -+#ifdef HAVE_AVAHI -+static AvahiSimplePoll *simple_poll = NULL; -+static int avahi_got_callback; -+#endif /* HAVE_AVAHI */ -+ -+ -+/* -+ * cups_txt_records_t access functions -+ */ -+static cups_txt_records_t * -+next_txt_record (cups_txt_records_t *txt) -+{ -+#ifdef HAVE_DNSSD -+ txt->data = txt->datanext; -+#else /* HAVE_AVAHI */ -+ txt->txt = avahi_string_list_get_next (txt->txt); -+ if (txt->txt == NULL) -+ return NULL; -+#endif /* HAVE_DNSSD */ -+ -+ return txt; -+} -+ -+static int -+parse_txt_record_pair (cups_txt_records_t *txt) -+{ -+#ifdef HAVE_DNSSD -+ uint8_t datalen; -+ uint8_t *data = txt->data; -+ char *ptr; -+ -+ /* -+ * Read a key/value pair starting with an 8-bit length. Since the -+ * length is 8 bits and the size of the key/value buffers is 256, we -+ * don't need to check for overflow... -+ */ -+ -+ datalen = *data++; -+ if (!datalen || (data + datalen) >= txt->dataend) -+ return NULL; -+ txt->datanext = data + datalen; -+ -+ for (ptr = txt->key; data < txt->datanext && *data != '='; data ++) -+ *ptr++ = *data; -+ *ptr = '\0'; -+ -+ if (data < txt->datanext && *data == '=') -+ { -+ data++; -+ -+ if (data < datanext) -+ memcpy (txt->value, data, txt->datanext - data); -+ value[txt->datanext - data] = '\0'; -+ } -+ else -+ return 1; -+#else /* HAVE_AVAHI */ -+ char *key, *value; -+ size_t len; -+ avahi_string_list_get_pair (txt->txt, &key, &value, &len); -+ if (len > sizeof (txt->value) - 1) -+ len = sizeof (txt->value) - 1; -+ -+ memcpy (txt->value, value, len); -+ txt->value[len] = '\0'; -+ len = strlen (key); -+ if (len > sizeof (txt->key) - 1) -+ len = sizeof (txt->key) - 1; -+ -+ memcpy (txt->key, key, len); -+ txt->key[len] = '\0'; -+ avahi_free (key); -+ avahi_free (value); -+#endif /* HAVE_AVAHI */ -+ -+ return 0; -+} - - /* - * 'main()' - Browse for printers. -@@ -119,6 +247,13 @@ main(int argc, /* I - Number of comm - char *argv[]) /* I - Command-line arguments */ - { - const char *name; /* Backend name */ -+ cups_array_t *devices; /* Device array */ -+ cups_device_t *device; /* Current device */ -+ char uriName[1024]; /* Unquoted fullName for URI */ -+#ifdef HAVE_DNSSD -+ int fd; /* Main file descriptor */ -+ fd_set input; /* Input set for select() */ -+ struct timeval timeout; /* Timeout for select() */ - DNSServiceRef main_ref, /* Main service reference */ - fax_ipp_ref, /* IPP fax service reference */ - ipp_ref, /* IPP service reference */ -@@ -130,12 +265,11 @@ main(int argc, /* I - Number of comm - pdl_datastream_ref, /* AppSocket service reference */ - printer_ref, /* LPD service reference */ - riousbprint_ref; /* Remote IO service reference */ -- int fd; /* Main file descriptor */ -- fd_set input; /* Input set for select() */ -- struct timeval timeout; /* Timeout for select() */ -- cups_array_t *devices; /* Device array */ -- cups_device_t *device; /* Current device */ -- char uriName[1024]; /* Unquoted fullName for URI */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ AvahiClient *client; -+ int error; -+#endif /* HAVE_AVAHI */ - #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET) - struct sigaction action; /* Actions for POSIX signals */ - #endif /* HAVE_SIGACTION && !HAVE_SIGSET */ -@@ -194,6 +328,49 @@ main(int argc, /* I - Number of comm - * Browse for different kinds of printers... - */ - -+#ifdef HAVE_AVAHI -+ if ((simple_poll = avahi_simple_poll_new ()) == NULL) -+ { -+ perror ("ERROR: Unable to create avahi simple poll object"); -+ return (1); -+ } -+ -+ client = avahi_client_new (avahi_simple_poll_get (simple_poll), -+ 0, avahi_client_callback, NULL, &error); -+ if (!client) -+ { -+ perror ("ERROR: Unable to create avahi client"); -+ return (1); -+ } -+ -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_fax-ipp._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_ipp._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_ipp-tls._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_pdl-datastream._tcp", -+ NULL, 0, -+ avahi_browse_callback, -+ devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_printer._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_riousbprint._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+#endif /* HAVE_AVAHI */ -+#ifdef HAVE_DNSSD - if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError) - { - perror("ERROR: Unable to create service connection"); -@@ -245,6 +422,7 @@ main(int argc, /* I - Number of comm - riousbprint_ref = main_ref; - DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0, - "_riousbprint._tcp", NULL, browse_callback, devices); -+#endif /* HAVE_DNSSD */ - - /* - * Loop until we are killed... -@@ -252,6 +430,9 @@ main(int argc, /* I - Number of comm - - while (!job_canceled) - { -+ int announce = 0; -+ -+#ifdef HAVE_DNSSD - FD_ZERO(&input); - FD_SET(fd, &input); - -@@ -271,11 +452,35 @@ main(int argc, /* I - Number of comm - } - else - { -+ announce = 1; -+ } -+#else /* HAVE_AVAHI */ -+ int r; -+ avahi_got_callback = 0; -+ r = avahi_simple_poll_iterate (simple_poll, 1); -+ if (r != 0 && r != EINTR) -+ { -+ /* -+ * We've been told to exit the loop. Perhaps the connection to -+ * avahi failed. -+ */ -+ -+ break; -+ } -+ -+ if (avahi_got_callback) -+ announce = 1; -+#endif /* HAVE_DNSSD */ -+ -+ if (announce) -+ { - /* - * Announce any devices we've found... - */ - -+#ifdef HAVE_DNSSD - DNSServiceErrorType status; /* DNS query status */ -+#endif /* HAVE_DNSSD */ - cups_device_t *best; /* Best matching device */ - char device_uri[1024]; /* Device URI */ - int count; /* Number of queries */ -@@ -285,6 +490,7 @@ main(int argc, /* I - Number of comm - best = NULL, count = 0; - device; - device = (cups_device_t *)cupsArrayNext(devices)) -+#ifdef HAVE_DNSSD - if (!device->ref && !device->sent) - { - /* -@@ -313,14 +519,23 @@ main(int argc, /* I - Number of comm - count ++; - } - } -- else if (!device->sent) -+ else -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ if (!device->resolved) -+ continue; -+ else -+#endif /* HAVE_AVAHI */ -+ if (!device->sent) - { -+#ifdef HAVE_DNSSD - /* - * Got the TXT records, now report the device... - */ - - DNSServiceRefDeallocate(device->ref); - device->ref = 0; -+#endif /* HAVE_DNSSD */ - - if (!best) - best = device; -@@ -372,6 +587,7 @@ main(int argc, /* I - Number of comm - * 'browse_callback()' - Browse devices. - */ - -+#ifdef HAVE_DNSSD - static void - browse_callback( - DNSServiceRef sdRef, /* I - Service reference */ -@@ -405,12 +621,14 @@ browse_callback( - - get_device((cups_array_t *)context, serviceName, regtype, replyDomain); - } -+#endif /* HAVE_DNSSD */ - - - /* - * 'browse_local_callback()' - Browse local devices. - */ - -+#ifdef HAVE_DNSSD - static void - browse_local_callback( - DNSServiceRef sdRef, /* I - Service reference */ -@@ -456,6 +674,7 @@ browse_local_callback( - device->fullName); - device->sent = 1; - } -+#endif /* HAVE_DNSSD */ - - - /* -@@ -528,6 +747,32 @@ exec_backend(char **argv) /* I - Comman - exit(CUPS_BACKEND_STOP); - } - -+static int -+device_type (const char *regtype) -+{ -+#ifdef HAVE_AVAHI -+ if (!strcmp(regtype, "_ipp._tcp") || -+ !strcmp(regtype, "_ipp-tls._tcp")) -+ return (CUPS_DEVICE_IPP); -+ else if (!strcmp(regtype, "_fax-ipp._tcp")) -+ return (CUPS_DEVICE_FAX_IPP); -+ else if (!strcmp(regtype, "_printer._tcp")) -+ return (CUPS_DEVICE_PDL_DATASTREAM); -+#else -+ if (!strcmp(regtype, "_ipp._tcp.") || -+ !strcmp(regtype, "_ipp-tls._tcp.")) -+ return (CUPS_DEVICE_IPP); -+ else if (!strcmp(regtype, "_fax-ipp._tcp.")) -+ return (CUPS_DEVICE_FAX_IPP); -+ else if (!strcmp(regtype, "_printer._tcp.")) -+ return (CUPS_DEVICE_PRINTER); -+ else if (!strcmp(regtype, "_pdl-datastream._tcp.")) -+ return (CUPS_DEVICE_PDL_DATASTREAM); -+#endif /* HAVE_AVAHI */ -+ -+ return (CUPS_DEVICE_RIOUSBPRINT); -+} -+ - - /* - * 'get_device()' - Create or update a device. -@@ -550,18 +795,7 @@ get_device(cups_array_t *devices, /* I - - */ - - key.name = (char *)serviceName; -- -- if (!strcmp(regtype, "_ipp._tcp.") || -- !strcmp(regtype, "_ipp-tls._tcp.")) -- key.type = CUPS_DEVICE_IPP; -- else if (!strcmp(regtype, "_fax-ipp._tcp.")) -- key.type = CUPS_DEVICE_FAX_IPP; -- else if (!strcmp(regtype, "_printer._tcp.")) -- key.type = CUPS_DEVICE_PRINTER; -- else if (!strcmp(regtype, "_pdl-datastream._tcp.")) -- key.type = CUPS_DEVICE_PDL_DATASTREAM; -- else -- key.type = CUPS_DEVICE_RIOUSBPRINT; -+ key.type = device_type (regtype); - - for (device = cupsArrayFind(devices, &key); - device; -@@ -581,8 +815,14 @@ get_device(cups_array_t *devices, /* I - - free(device->domain); - device->domain = strdup(replyDomain); - -+#ifdef HAVE_DNSSD - DNSServiceConstructFullName(fullName, device->name, regtype, - replyDomain); -+#else /* HAVE_AVAHI */ -+ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, -+ serviceName, regtype, replyDomain); -+#endif /* HAVE_DNSSD */ -+ - free(device->fullName); - device->fullName = strdup(fullName); - } -@@ -602,6 +842,9 @@ get_device(cups_array_t *devices, /* I - - device->domain = strdup(replyDomain); - device->type = key.type; - device->priority = 50; -+#ifdef HAVE_AVAHI -+ device->resolved = 0; -+#endif /* HAVE_AVAHI */ - - cupsArrayAdd(devices, device); - -@@ -609,7 +852,13 @@ get_device(cups_array_t *devices, /* I - - * Set the "full name" of this service, which is used for queries... - */ - -+#ifdef HAVE_DNSSD - DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain); -+#else /* HAVE_AVAHI */ -+ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, -+ serviceName, regtype, replyDomain); -+#endif /* HAVE_DNSSD */ -+ - device->fullName = strdup(fullName); - - return (device); -@@ -620,6 +869,7 @@ get_device(cups_array_t *devices, /* I - - * 'query_callback()' - Process query data. - */ - -+#ifdef HAVE_DNSSD - static void - query_callback( - DNSServiceRef sdRef, /* I - Service reference */ -@@ -639,7 +889,7 @@ query_callback( - *ptr; /* Pointer into string */ - cups_device_t dkey, /* Search key */ - *device; /* Device */ -- -+ cups_txt_records_t txt; - - fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, " - "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", " -@@ -673,84 +923,212 @@ query_callback( - if ((ptr = strstr(name, "._")) != NULL) - *ptr = '\0'; - -- if (strstr(fullName, "_ipp._tcp.") || -- strstr(fullName, "_ipp-tls._tcp.")) -- dkey.type = CUPS_DEVICE_IPP; -- else if (strstr(fullName, "_fax-ipp._tcp.")) -- dkey.type = CUPS_DEVICE_FAX_IPP; -- else if (strstr(fullName, "_printer._tcp.")) -- dkey.type = CUPS_DEVICE_PRINTER; -- else if (strstr(fullName, "_pdl-datastream._tcp.")) -- dkey.type = CUPS_DEVICE_PDL_DATASTREAM; -+ dkey.type = device_type (fullName); -+ -+ txt.data = rdata; -+ txt.dataend = rdata + rdlen; -+ device = find_device ((cups_array_t *) context, &txt, &dkey); -+ if (!device) -+ fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); -+} -+#endif /* HAVE_DNSSD */ -+ -+#ifdef HAVE_AVAHI -+static void -+avahi_client_callback(AvahiClient *client, -+ AvahiClientState state, -+ void *context) -+{ -+ /* -+ * If the connection drops, quit. -+ */ -+ -+ if (state == AVAHI_CLIENT_FAILURE) -+ { -+ fprintf (stderr, "ERROR: Avahi connection failed\n"); -+ avahi_simple_poll_quit (simple_poll); -+ } -+} -+ -+static void -+avahi_query_callback(AvahiServiceResolver *resolver, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiResolverEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ const char *host_name, -+ const AvahiAddress *address, -+ uint16_t port, -+ AvahiStringList *txt, -+ AvahiLookupResultFlags flags, -+ void *context) -+{ -+ AvahiClient *client; -+ cups_device_t key, -+ *device; -+ char uqname[1024], -+ *ptr; -+ cups_txt_records_t txtr; -+ -+ client = avahi_service_resolver_get_client (resolver); -+ if (event != AVAHI_RESOLVER_FOUND) -+ { -+ if (event == AVAHI_RESOLVER_FAILURE) -+ { -+ fprintf (stderr, "ERROR: %s\n", -+ avahi_strerror (avahi_client_errno (client))); -+ } -+ -+ avahi_service_resolver_free (resolver); -+ return; -+ } -+ -+ /* -+ * Set search key for device. -+ */ -+ -+ key.name = uqname; -+ unquote (uqname, name, sizeof (uqname)); -+ if ((ptr = strstr(name, "._")) != NULL) -+ *ptr = '\0'; -+ -+ key.domain = (char *) domain; -+ key.type = device_type (type); -+ -+ /* -+ * Find the device and the the TXT information. -+ */ -+ -+ txtr.txt = txt; -+ device = find_device ((cups_array_t *) context, &txtr, &key); -+ if (device) -+ { -+ /* -+ * Let the main loop know to announce the device. -+ */ -+ -+ device->resolved = 1; -+ avahi_got_callback = 1; -+ } - else -- dkey.type = CUPS_DEVICE_RIOUSBPRINT; -+ fprintf (stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", name); -+ -+ avahi_service_resolver_free (resolver); -+} -+ -+static void -+avahi_browse_callback(AvahiServiceBrowser *browser, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiBrowserEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ AvahiLookupResultFlags flags, -+ void *context) -+{ -+ AvahiClient *client = avahi_service_browser_get_client (browser); -+ -+ switch (event) -+ { -+ case AVAHI_BROWSER_FAILURE: -+ fprintf (stderr, "ERROR: %s\n", -+ avahi_strerror (avahi_client_errno (client))); -+ avahi_simple_poll_quit (simple_poll); -+ return; -+ -+ case AVAHI_BROWSER_NEW: -+ /* -+ * This object is new on the network. -+ */ -+ -+ if (flags & AVAHI_LOOKUP_RESULT_LOCAL) -+ { -+ /* -+ * This comes from the local machine so ignore it. -+ */ -+ -+ fprintf (stderr, "DEBUG: ignoring local service %s\n", name); -+ } -+ else -+ { -+ /* -+ * Create a device entry for it if it doesn't yet exist. -+ */ -+ -+ get_device ((cups_array_t *)context, name, type, domain); -+ -+ /* -+ * Now look for a TXT entry. -+ */ -+ -+ if (avahi_service_resolver_new (client, interface, protocol, -+ name, type, domain, -+ AVAHI_PROTO_UNSPEC, 0, -+ avahi_query_callback, context) == NULL) -+ { -+ fprintf (stderr, "ERROR: failed to resolve service %s: %s\n", -+ name, avahi_strerror (avahi_client_errno (client))); -+ } -+ } -+ -+ break; - -- for (device = cupsArrayFind(devices, &dkey); -+ case AVAHI_BROWSER_REMOVE: -+ case AVAHI_BROWSER_ALL_FOR_NOW: -+ case AVAHI_BROWSER_CACHE_EXHAUSTED: -+ break; -+ } -+} -+#endif /* HAVE_AVAHI */ -+ -+static cups_device_t * -+find_device (cups_array_t *devices, -+ cups_txt_records_t *txt, -+ cups_device_t *dkey) -+{ -+ cups_device_t *device; -+ char *ptr; -+ -+ for (device = cupsArrayFind(devices, dkey); - device; - device = cupsArrayNext(devices)) - { -- if (strcasecmp(device->name, dkey.name) || -- strcasecmp(device->domain, dkey.domain)) -+ if (strcasecmp(device->name, dkey->name) || -+ strcasecmp(device->domain, dkey->domain)) - { - device = NULL; - break; - } -- else if (device->type == dkey.type) -+ else if (device->type == dkey->type) - { - /* - * Found it, pull out the priority and make and model from the TXT - * record and save it... - */ - -- const uint8_t *data, /* Pointer into data */ -- *datanext, /* Next key/value pair */ -- *dataend; /* End of entire TXT record */ -- uint8_t datalen; /* Length of current key/value pair */ -- char key[256], /* Key string */ -- value[256], /* Value string */ -- make_and_model[512], -+ char make_and_model[512], - /* Manufacturer and model */ - model[256], /* Model */ -- device_id[2048];/* 1284 device ID */ -- -+ device_id[2048]; /* 1284 device ID */ - - device_id[0] = '\0'; - make_and_model[0] = '\0'; - - strcpy(model, "Unknown"); - -- for (data = rdata, dataend = data + rdlen; -- data < dataend; -- data = datanext) -+ for (;;) - { -- /* -- * Read a key/value pair starting with an 8-bit length. Since the -- * length is 8 bits and the size of the key/value buffers is 256, we -- * don't need to check for overflow... -- */ -- -- datalen = *data++; -- -- if (!datalen || (data + datalen) >= dataend) -- break; -- -- datanext = data + datalen; -+ char *key; -+ char *value; - -- for (ptr = key; data < datanext && *data != '='; data ++) -- *ptr++ = *data; -- *ptr = '\0'; -- -- if (data < datanext && *data == '=') -- { -- data ++; -- -- if (data < datanext) -- memcpy(value, data, datanext - data); -- value[datanext - data] = '\0'; -- } -- else -- continue; -+ if (parse_txt_record_pair (txt)) -+ goto next; - -+ key = txt->key; -+ value = txt->value; - if (!strncasecmp(key, "usb_", 4)) - { - /* -@@ -805,6 +1183,10 @@ query_callback( - if (device->type == CUPS_DEVICE_PRINTER) - device->sent = 1; - } -+ -+ next: -+ if (next_txt_record (txt) == NULL) -+ break; - } - - if (device->device_id) -@@ -854,11 +1236,9 @@ query_callback( - } - } - -- if (!device) -- fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); -+ return device; - } - -- - /* - * 'sigterm_handler()' - Handle termination signals... - */ -diff -up cups-1.4.5/config.h.in.avahi cups-1.4.5/config.h.in ---- cups-1.4.5/config.h.in.avahi 2010-08-13 06:11:46.000000000 +0200 -+++ cups-1.4.5/config.h.in 2010-11-12 13:13:31.000000000 +0100 -@@ -344,6 +344,13 @@ - - - /* -+ * Do we have Avahi for DNS Service Discovery? -+ */ -+ -+#undef HAVE_AVAHI -+ -+ -+/* - * Do we have ? - */ - -diff -up cups-1.4.5/config-scripts/cups-dnssd.m4.avahi cups-1.4.5/config-scripts/cups-dnssd.m4 ---- cups-1.4.5/config-scripts/cups-dnssd.m4.avahi 2009-08-29 00:54:34.000000000 +0200 -+++ cups-1.4.5/config-scripts/cups-dnssd.m4 2010-11-12 13:13:31.000000000 +0100 -@@ -27,6 +27,21 @@ AC_ARG_WITH(dnssd-includes, [ --with-dn - DNSSDLIBS="" - DNSSD_BACKEND="" - -+AC_ARG_ENABLE(avahi, [ --enable-avahi turn on DNS Service Discovery support, default=no], -+ [if test x$enable_avahi = xyes; then -+ AC_MSG_CHECKING(for Avahi) -+ if $PKGCONFIG --exists avahi-client; then -+ AC_MSG_RESULT(yes) -+ CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`" -+ DNSSDLIBS="`$PKGCONFIG --libs avahi-client`" -+ DNSSD_BACKEND="dnssd" -+ AC_DEFINE(HAVE_AVAHI) -+ enable_dnssd=no -+ else -+ AC_MSG_RESULT(no) -+ fi -+ fi]) -+ - if test x$enable_dnssd != xno; then - AC_CHECK_HEADER(dns_sd.h, [ - case "$uname" in -diff -up cups-1.4.5/cups/http-support.c.avahi cups-1.4.5/cups/http-support.c ---- cups-1.4.5/cups/http-support.c.avahi 2010-10-02 00:40:38.000000000 +0200 -+++ cups-1.4.5/cups/http-support.c 2010-11-12 13:28:45.000000000 +0100 -@@ -55,6 +55,11 @@ - # include - # include - #endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include -+# include -+# include -+#endif /* HAVE_AVAHI */ - - - /* -@@ -121,6 +126,24 @@ static void resolve_callback(DNSService - void *context); - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+static void avahi_resolve_uri_client_cb(AvahiClient *client, -+ AvahiClientState state, -+ void *simple_poll); -+static void avahi_resolve_uri_resolver_cb(AvahiServiceResolver *resolver, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiResolverEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ const char *host_name, -+ const AvahiAddress *address, -+ uint16_t port, -+ AvahiStringList *txt, -+ AvahiLookupResultFlags flags, -+ void *context); -+#endif /* HAVE_AVAHI */ - - /* - * 'httpAssembleURI()' - Assemble a uniform resource identifier from its -@@ -1351,16 +1374,27 @@ _httpResolveURI( - - if (strstr(hostname, "._tcp")) - { -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ char *regtype, /* Pointer to type in hostname */ -+ *domain; /* Pointer to domain in hostname */ - #ifdef HAVE_DNSSD - DNSServiceRef ref, /* DNS-SD master service reference */ - domainref, /* DNS-SD service reference for domain */ - localref; /* DNS-SD service reference for .local */ - int domainsent = 0, /* Send the domain resolve? */ - offline = 0; /* offline-report state set? */ -- char *regtype, /* Pointer to type in hostname */ -- *domain; /* Pointer to domain in hostname */ - _http_uribuf_t uribuf; /* URI buffer */ - struct pollfd polldata; /* Polling data */ -+#else /* HAVE_AVAHI */ -+ AvahiSimplePoll *simple_poll; -+ AvahiClient *client; -+ int error; -+ struct -+ { -+ AvahiSimplePoll *poll; -+ _http_uribuf_t uribuf; -+ } user_data; -+#endif /* HAVE_DNSSD */ - - - if (logit) -@@ -1398,8 +1432,13 @@ _httpResolveURI( - if (domain) - *domain++ = '\0'; - -+#ifdef HAVE_DNSSD - uribuf.buffer = resolved_uri; - uribuf.bufsize = resolved_size; -+#else -+ user_data.uribuf.buffer = resolved_uri; -+ user_data.uribuf.bufsize = resolved_size; -+#endif - - resolved_uri[0] = '\0'; - -@@ -1414,6 +1453,7 @@ _httpResolveURI( - - uri = NULL; - -+#ifdef HAVE_DNSSD - if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError) - { - localref = ref; -@@ -1500,6 +1540,36 @@ _httpResolveURI( - - DNSServiceRefDeallocate(ref); - } -+#else /* HAVE_AVAHI */ -+ if ((simple_poll = avahi_simple_poll_new ()) != NULL) -+ { -+ if ((client = avahi_client_new (avahi_simple_poll_get (simple_poll), -+ 0, avahi_resolve_uri_client_cb, -+ &simple_poll, &error)) != NULL) -+ { -+ user_data.poll = simple_poll; -+ if (avahi_service_resolver_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, hostname, -+ regtype, domain, AVAHI_PROTO_UNSPEC, 0, -+ avahi_resolve_uri_resolver_cb, -+ &user_data) != NULL) -+ { -+ avahi_simple_poll_loop (simple_poll); -+ -+ /* -+ * Collect the result. -+ */ -+ -+ if (resolved_uri[0]) -+ uri = resolved_uri; -+ } -+ -+ avahi_client_free (client); -+ } -+ -+ avahi_simple_poll_free (simple_poll); -+ } -+#endif /* HAVE_DNSSD */ - - if (logit) - { -@@ -1511,13 +1581,13 @@ _httpResolveURI( - fputs("STATE: -connecting-to-device,offline-report\n", stderr); - } - --#else -+#else /* HAVE_DNSSD || HAVE_AVAHI */ - /* - * No DNS-SD support... - */ - - uri = NULL; --#endif /* HAVE_DNSSD */ -+#endif /* HAVE_DNSSD || HAVE_AVAHI */ - - if (logit && !uri) - _cupsLangPuts(stderr, _("Unable to find printer!\n")); -@@ -1722,6 +1792,105 @@ resolve_callback( - } - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+static void -+avahi_resolve_uri_client_cb (AvahiClient *client, -+ AvahiClientState state, -+ void *simple_poll) -+{ -+ DEBUG_printf(("avahi_resolve_uri_client_callback(client=%p, state=%d, " -+ "simple_poll=%p)\n", client, state, simple_poll)); -+ -+ /* -+ * If the connection drops, quit. -+ */ -+ -+ if (state == AVAHI_CLIENT_FAILURE) -+ avahi_simple_poll_quit (simple_poll); -+} -+ -+static void -+avahi_resolve_uri_resolver_cb (AvahiServiceResolver *resolver, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiResolverEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ const char *host_name, -+ const AvahiAddress *address, -+ uint16_t port, -+ AvahiStringList *txt, -+ AvahiLookupResultFlags flags, -+ void *context) -+{ -+ const char *scheme; /* URI scheme */ -+ char rp[256]; /* Remote printer */ -+ AvahiStringList *pair; -+ char *value; -+ size_t valueLen = 0; -+ char addr[AVAHI_ADDRESS_STR_MAX]; -+ struct -+ { -+ AvahiSimplePoll *poll; -+ _http_uribuf_t uribuf; -+ } *poll_uribuf = context; -+ -+ DEBUG_printf(("avahi_resolve_uri_resolver_callback(resolver=%p, " -+ "interface=%d, protocol=%d, event=%d, name=\"%s\", " -+ "type=\"%s\", domain=\"%s\", host_name=\"%s\", address=%p, " -+ "port=%d, txt=%p, flags=%d, context=%p)\n", -+ resolver, interface, protocol, event, name, type, domain, -+ host_name, address, port, txt, flags, context)); -+ -+ if (event != AVAHI_RESOLVER_FOUND) -+ { -+ avahi_service_resolver_free (resolver); -+ avahi_simple_poll_quit (poll_uribuf->poll); -+ return; -+ } -+ -+ /* -+ * Figure out the scheme from the full name... -+ */ -+ -+ if (strstr(type, "_ipp.")) -+ scheme = "ipp"; -+ else if (strstr(type, "_printer.")) -+ scheme = "lpd"; -+ else if (strstr(type, "_pdl-datastream.")) -+ scheme = "socket"; -+ else -+ scheme = "riousbprint"; -+ -+ /* -+ * Extract the "remote printer key from the TXT record... -+ */ -+ -+ if ((pair = avahi_string_list_find (txt, "rp")) != NULL) -+ { -+ avahi_string_list_get_pair (pair, NULL, &value, &valueLen); -+ rp[0] = '/'; -+ memcpy (rp + 1, value, valueLen); -+ rp[valueLen + 1] = '\0'; -+ } -+ else -+ rp[0] = '\0'; -+ -+ /* -+ * Assemble the final device URI... -+ */ -+ -+ avahi_address_snprint (addr, AVAHI_ADDRESS_STR_MAX, address); -+ httpAssembleURI(HTTP_URI_CODING_ALL, poll_uribuf->uribuf.buffer, -+ poll_uribuf->uribuf.bufsize, scheme, NULL, -+ addr, port, rp); -+ DEBUG_printf(("avahi_resolve_uri_resolver_callback: Resolved URI is \"%s\"\n", -+ poll_uribuf->uribuf.buffer)); -+ avahi_simple_poll_quit (poll_uribuf->poll); -+} -+#endif /* HAVE_AVAHI */ -+ - - /* - * End of "$Id: http-support.c 9322 2010-10-01 22:40:38Z mike $". diff --git a/testing/cups/cups.install b/testing/cups/cups.install deleted file mode 100644 index e92e17ed3..000000000 --- a/testing/cups/cups.install +++ /dev/null @@ -1,15 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor 2> /dev/null - echo ">> If you use an HTTPS connection to CUPS, the first time you access" - echo ">> the interface it may take a very long time before the site comes up." - echo ">> This is because the first request triggers the generation of the CUPS" - echo ">> SSL certificates which can be a very time-consuming job." -} - -post_upgrade() { - xdg-icon-resource forceupdate --theme hicolor 2> /dev/null -} - -post_remove() { - xdg-icon-resource forceupdate --theme hicolor 2> /dev/null -} diff --git a/testing/cups/cups.logrotate b/testing/cups/cups.logrotate deleted file mode 100644 index 9c49bbdaf..000000000 --- a/testing/cups/cups.logrotate +++ /dev/null @@ -1,8 +0,0 @@ -/var/log/cups/*log { - missingok - notifempty - delaycompress - postrotate - /bin/kill -HUP `cat /var/run/cups.pid 2>/dev/null` 2>/dev/null || true - endscript -} diff --git a/testing/cups/cups.pam b/testing/cups/cups.pam deleted file mode 100644 index 53724d1f8..000000000 --- a/testing/cups/cups.pam +++ /dev/null @@ -1,3 +0,0 @@ -auth required pam_unix.so -account required pam_unix.so -session required pam_unix.so diff --git a/testing/cvs/PKGBUILD b/testing/cvs/PKGBUILD deleted file mode 100644 index 76f71a2a1..000000000 --- a/testing/cvs/PKGBUILD +++ /dev/null @@ -1,39 +0,0 @@ -# $Id: PKGBUILD 121072 2011-04-28 22:54:58Z stephane $ -# Contributor: dorphell - -pkgname=cvs -pkgver=1.11.23 -pkgrel=7 -pkgdesc="Concurrent Versions System - a source control system" -arch=(i686 x86_64) -url="http://cvs.nongnu.org" -license=('GPL') -depends=('krb5') -optdepends=('openssh: for using cvs over ssh' 'inetutils: for using cvs over rsh') -install=cvs.install -source=(ftp://ftp.gnu.org/non-gnu/cvs/source/stable/${pkgver}/${pkgname}-${pkgver}.tar.bz2 - cvs-1.11.23-getline64.patch - cvs-1.11.23-cve-2010-3846.patch) -sha256sums=('400f51b59d85116e79b844f2d5dbbad4759442a789b401a94aa5052c3d7a4aa9' - '9126d7992ace943980ad8a10d5a09aeb6f1eeeb9b921fc796fe31de7b1c220cf' - 'c6506d0a5efc7b0cab6415f26e070ec214fb9781fac8d295506f4d0825431a8f') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - unset EDITOR VISUAL - - patch -Np1 -i ../cvs-1.11.23-getline64.patch - - # CVE-2010-3864, see https://www.redhat.com/security/data/cve/CVE-2010-3846.html - patch -Np1 -i ../cvs-1.11.23-cve-2010-3846.patch - - ./configure --prefix=/usr - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make DESTDIR="${pkgdir}" install - rm "${pkgdir}"/usr/share/info/dir -} diff --git a/testing/cvs/cvs-1.11.23-cve-2010-3846.patch b/testing/cvs/cvs-1.11.23-cve-2010-3846.patch deleted file mode 100644 index e1560cef8..000000000 --- a/testing/cvs/cvs-1.11.23-cve-2010-3846.patch +++ /dev/null @@ -1,167 +0,0 @@ -From b122edcb68ff05bb6eb22f6e50423e7f1050841b Mon Sep 17 00:00:00 2001 -From: Larry Jones -Date: Thu, 21 Oct 2010 10:08:16 +0200 -Subject: [PATCH] Fix for CVE-2010-3846 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Mallformed RCS revision (delete after the end of input file, or overlayed -deleted regions) screws output file image size computation. This leads to -write attempt after the allocated memory opening hiden memory corruption -driven by CVS server. - -Signed-off-by: Petr Písař ---- - src/rcs.c | 52 +++++++++++++++++++++++++++++----------------------- - 1 files changed, 29 insertions(+), 23 deletions(-) - -diff --git a/src/rcs.c b/src/rcs.c -index 7d0d078..2f88f85 100644 ---- a/src/rcs.c -+++ b/src/rcs.c -@@ -7128,7 +7128,7 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers) - struct deltafrag *dfhead; - struct deltafrag **dftail; - struct deltafrag *df; -- unsigned long numlines, lastmodline, offset; -+ unsigned long numlines, offset; - struct linevector lines; - int err; - -@@ -7202,12 +7202,12 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers) - - /* New temp data structure to hold new org before - copy back into original structure. */ -- lines.nlines = lines.lines_alloced = numlines; -+ lines.lines_alloced = numlines; - lines.vector = xmalloc (numlines * sizeof *lines.vector); - - /* We changed the list order to first to last -- so the - list never gets larger than the size numlines. */ -- lastmodline = 0; -+ lines.nlines = 0; - - /* offset created when adding/removing lines - between new and original structure */ -@@ -7216,25 +7216,24 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers) - for (df = dfhead; df != NULL; ) - { - unsigned int ln; -- unsigned long deltaend; -+ unsigned long newpos = df->pos - offset; - -- if (df->pos > orig_lines->nlines) -+ if (newpos < lines.nlines || newpos > numlines) - err = 1; - - /* On error, just free the rest of the list. */ - if (!err) - { -- /* Here we need to get to the line where the next insert will -+ /* Here we need to get to the line where the next change will - begin, which is DF->pos in ORIG_LINES. We will fill up to - DF->pos - OFFSET in LINES with original items. */ -- for (deltaend = df->pos - offset; -- lastmodline < deltaend; -- lastmodline++) -+ while (lines.nlines < newpos) - { - /* we need to copy from the orig structure into new one */ -- lines.vector[lastmodline] = -- orig_lines->vector[lastmodline + offset]; -- lines.vector[lastmodline]->refcount++; -+ lines.vector[lines.nlines] = -+ orig_lines->vector[lines.nlines + offset]; -+ lines.vector[lines.nlines]->refcount++; -+ lines.nlines++; - } - - switch (df->type) -@@ -7246,7 +7245,12 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers) - struct line *q; - int nextline_newline; - size_t nextline_len; -- -+ -+ if (newpos + df->nlines > numlines) -+ { -+ err = 1; -+ break; -+ } - textend = df->new_lines + df->len; - nextline_newline = 0; - nextline_text = df->new_lines; -@@ -7271,8 +7275,7 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers) - q->has_newline = nextline_newline; - q->refcount = 1; - memcpy (q->text, nextline_text, nextline_len); -- lines.vector[lastmodline++] = q; -- offset--; -+ lines.vector[lines.nlines++] = q; - - nextline_text = (char *)p + 1; - nextline_newline = 0; -@@ -7286,11 +7289,11 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers) - q->has_newline = nextline_newline; - q->refcount = 1; - memcpy (q->text, nextline_text, nextline_len); -- lines.vector[lastmodline++] = q; -+ lines.vector[lines.nlines++] = q; - - /* For each line we add the offset between the #'s - decreases. */ -- offset--; -+ offset -= df->nlines; - break; - } - -@@ -7301,7 +7304,9 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers) - if (df->pos + df->nlines > orig_lines->nlines) - err = 1; - else if (delvers) -+ { - for (ln = df->pos; ln < df->pos + df->nlines; ++ln) -+ { - if (orig_lines->vector[ln]->refcount > 1) - /* Annotate needs this but, since the original - * vector is disposed of before returning from -@@ -7309,6 +7314,8 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers) - * there are multiple references. - */ - orig_lines->vector[ln]->vers = delvers; -+ } -+ } - break; - } - } -@@ -7328,21 +7335,20 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers) - else - { - /* add the rest of the remaining lines to the data vector */ -- for (; lastmodline < numlines; lastmodline++) -+ while (lines.nlines < numlines) - { - /* we need to copy from the orig structure into new one */ -- lines.vector[lastmodline] = orig_lines->vector[lastmodline -+ lines.vector[lines.nlines] = orig_lines->vector[lines.nlines - + offset]; -- lines.vector[lastmodline]->refcount++; -+ lines.vector[lines.nlines]->refcount++; -+ lines.nlines++; - } - - /* Move the lines vector to the original structure for output, - * first deleting the old. - */ - linevector_free (orig_lines); -- orig_lines->vector = lines.vector; -- orig_lines->lines_alloced = numlines; -- orig_lines->nlines = lines.nlines; -+ *orig_lines = lines; - } - - return !err; --- -1.7.2.3 - diff --git a/testing/cvs/cvs-1.11.23-getline64.patch b/testing/cvs/cvs-1.11.23-getline64.patch deleted file mode 100644 index 99942e058..000000000 --- a/testing/cvs/cvs-1.11.23-getline64.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- cvs-1.11.23/lib/getline.c 2005-04-04 22:46:05.000000000 +0200 -+++ cvs-1.11.23/lib/getline.c.old 2008-06-03 19:06:25.000000000 +0200 -@@ -154,7 +154,7 @@ - return ret; - } - --int -+ssize_t - getline (lineptr, n, stream) - char **lineptr; - size_t *n; -@@ -163,7 +163,7 @@ - return getstr (lineptr, n, stream, '\n', 0, GETLINE_NO_LIMIT); - } - --int -+ssize_t - getline_safe (lineptr, n, stream, limit) - char **lineptr; - size_t *n; ---- cvs-1.11.23/lib/getline.h 2005-04-04 22:46:05.000000000 +0200 -+++ cvs-1.11.23/lib/getline.h.old 2008-06-03 19:06:27.000000000 +0200 -@@ -11,9 +11,9 @@ - - #define GETLINE_NO_LIMIT -1 - --int -+ssize_t - getline __PROTO ((char **_lineptr, size_t *_n, FILE *_stream)); --int -+ssize_t - getline_safe __PROTO ((char **_lineptr, size_t *_n, FILE *_stream, - int limit)); - int diff --git a/testing/cvs/cvs.install b/testing/cvs/cvs.install deleted file mode 100644 index f1cdd1f3e..000000000 --- a/testing/cvs/cvs.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=/usr/share/info -filelist=(cvs.info cvs-info-1 cvs-info-2 cvsclient.info) - -post_install() { - for file in ${filelist[@]}; do - install-info $infodir/$file $infodir/dir 2> /dev/null - done -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - for file in ${filelist[@]}; do - install-info --delete $infodir/$file $infodir/dir 2> /dev/null - done -} - -# vim:set ts=2 sw=2 et: diff --git a/testing/cyrus-sasl-plugins/PKGBUILD b/testing/cyrus-sasl-plugins/PKGBUILD deleted file mode 100644 index 5817bb657..000000000 --- a/testing/cyrus-sasl-plugins/PKGBUILD +++ /dev/null @@ -1,52 +0,0 @@ -# $Id: PKGBUILD 122144 2011-05-02 13:27:49Z stephane $ -# Maintainer: Jan de Groot - -pkgname=cyrus-sasl-plugins -pkgver=2.1.23 -pkgrel=5 -pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library" -arch=('i686' 'x86_64') -url="http://cyrusimap.web.cmu.edu/" -license=('custom') -depends=('postgresql-libs>=9.0.3' 'krb5' 'libldap>2.4' - 'libmysqlclient>=5.5.10') -source=(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-${pkgver}.tar.gz - cyrus-sasl-2.1.22-gcc44.patch - cyrus-sasl-2.1.23-db5-fix.patch) -md5sums=('2eb0e48106f0e9cd8001e654f267ecbc' - '5deb4d67b53ecba20c7887fc8fdebee1' - '3ae4347705141145f31cf786c38ea9ef') -options=('!libtool') - -build() { - cd ${srcdir}/cyrus-sasl-${pkgver} - patch -Np1 -i $srcdir/cyrus-sasl-2.1.22-gcc44.patch - # from http://bugs.gentoo.org/show_bug.cgi?id=319935 - patch -Np0 -i ${srcdir}/cyrus-sasl-2.1.23-db5-fix.patch - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --disable-login \ - --disable-plain \ - --enable-sql \ - --disable-sqlite \ - --enable-gssapi=/usr/include/gssapi \ - --with-mysql=/usr \ - --with-pgsql=/usr \ - --enable-postgresql \ - --enable-ldapdb \ - --with-ldap=/usr - cd sasldb - make - cd ../plugins - make -} - -package () { - cd ${srcdir}/cyrus-sasl-${pkgver}/plugins - make DESTDIR=${pkgdir} install - - install -Dm644 ../COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING - - rm -f ${pkgdir}/usr/lib/sasl2/libsasldb.* -} diff --git a/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch b/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch deleted file mode 100644 index e2621278b..000000000 --- a/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch +++ /dev/null @@ -1,24 +0,0 @@ -fix warnings with gcc-4.4 - -http://bugs.gentoo.org/248738 - ---- cyrus-sasl-2.1.22/plugins/digestmd5.c -+++ cyrus-sasl-2.1.22/plugins/digestmd5.c -@@ -2715,7 +2715,7 @@ static sasl_server_plug_t digestmd5_serv - "DIGEST-MD5", /* mech_name */ - #ifdef WITH_RC4 - 128, /* max_ssf */ --#elif WITH_DES -+#elif defined(WITH_DES) - 112, - #else - 1, -@@ -4034,7 +4034,7 @@ static sasl_client_plug_t digestmd5_clie - "DIGEST-MD5", - #ifdef WITH_RC4 /* mech_name */ - 128, /* max ssf */ --#elif WITH_DES -+#elif defined(WITH_DES) - 112, - #else - 1, diff --git a/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch b/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch deleted file mode 100644 index 2ccd6cdb3..000000000 --- a/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- sasldb/db_berkeley.c.orig 2010-10-04 21:11:15.044010468 -0400 -+++ sasldb/db_berkeley.c 2010-10-04 21:12:18.921998718 -0400 -@@ -100,7 +100,7 @@ - ret = db_create(mbdb, NULL, 0); - if (ret == 0 && *mbdb != NULL) - { --#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1 -+#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR == 5 - ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660); - #else - ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660); - ---- utils/dbconverter-2.c.orig 2010-10-04 21:23:39.778000256 -0400 -+++ utils/dbconverter-2.c 2010-10-04 21:24:50.384999893 -0400 -@@ -214,7 +214,7 @@ - ret = db_create(mbdb, NULL, 0); - if (ret == 0 && *mbdb != NULL) - { --#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1 -+#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR == 5 - ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664); - #else - ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, DB_CREATE, 0664); diff --git a/testing/cyrus-sasl/PKGBUILD b/testing/cyrus-sasl/PKGBUILD deleted file mode 100644 index 6d42f9f75..000000000 --- a/testing/cyrus-sasl/PKGBUILD +++ /dev/null @@ -1,53 +0,0 @@ -# $Id: PKGBUILD 122168 2011-05-02 15:13:37Z stephane $ -# Maintainer: Jan de Groot - -pkgname=cyrus-sasl -pkgver=2.1.23 -pkgrel=5 -pkgdesc="SASL authentication daemon" -arch=('i686' 'x86_64') -license=('custom') -url="http://asg.web.cmu.edu/cyrus/download/" -depends=('pam>=1.0.1-2' 'krb5' 'libldap' 'cyrus-sasl-plugins' 'db>=5.0') -replaces=(cyrus-sasl-mysql cyrus-sasl-pgsql) -conflicts=(cyrus-sasl-mysql cyrus-sasl-pgsql) -backup=(etc/conf.d/saslauthd) -source=(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${pkgname}-${pkgver}.tar.gz - saslauthd - saslauthd.conf.d - cyrus-sasl-2.1.23-gcc4.patch - cyrus-sasl-2.1.23+db-5.0.patch) -md5sums=('2eb0e48106f0e9cd8001e654f267ecbc' - '697dfb51206c398bc976ce9f4cffe72d' - '96d8a2f6189501f8044838e04d5cae7f' - '3a71688df7d5724cd55a8de17d74f34e' - '35c189c8e93ad37e3ae3c49386fdeb2c') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - # Fix building with db v5.x - patch -Np1 -i ../cyrus-sasl-2.1.23+db-5.0.patch - - # Fix error: #elif with no expression - patch -Np1 -i ../cyrus-sasl-2.1.23-gcc4.patch - - ./configure --prefix=/usr --mandir=/usr/share/man \ - --with-ldap=/usr --with-saslauthd=/var/run/saslauthd \ - --disable-krb4 --with-gss_impl=mit --disable-otp - cd saslauthd - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}/saslauthd" - make DESTDIR="${pkgdir}" install - make testsaslauthd - install -m755 testsaslauthd "${pkgdir}/usr/sbin" - - install -dm766 "${pkgdir}/var/run/saslauthd" - install -Dm755 "${srcdir}/saslauthd" "${pkgdir}/etc/rc.d/saslauthd" - install -Dm644 "${srcdir}/saslauthd.conf.d" "${pkgdir}/etc/conf.d/saslauthd" - - install -Dm644 ../COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl/COPYING" -} diff --git a/testing/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch deleted file mode 100644 index 62df3e67e..000000000 --- a/testing/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur cyrus-sasl-2.1.23.ori/sasldb/db_berkeley.c cyrus-sasl-2.1.23/sasldb/db_berkeley.c ---- cyrus-sasl-2.1.23.ori/sasldb/db_berkeley.c 2009-04-28 08:09:18.000000000 -0700 -+++ cyrus-sasl-2.1.23/sasldb/db_berkeley.c 2011-05-02 07:16:42.748675977 -0700 -@@ -100,7 +100,7 @@ - ret = db_create(mbdb, NULL, 0); - if (ret == 0 && *mbdb != NULL) - { --#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1 -+#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR >= 5 - ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660); - #else - ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660); -diff -Naur cyrus-sasl-2.1.23.ori/utils/dbconverter-2.c cyrus-sasl-2.1.23/utils/dbconverter-2.c ---- cyrus-sasl-2.1.23.ori/utils/dbconverter-2.c 2003-02-13 11:56:17.000000000 -0800 -+++ cyrus-sasl-2.1.23/utils/dbconverter-2.c 2011-05-02 07:16:42.748675977 -0700 -@@ -214,7 +214,7 @@ - ret = db_create(mbdb, NULL, 0); - if (ret == 0 && *mbdb != NULL) - { --#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1 -+#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR >= 5 - ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664); - #else - ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, DB_CREATE, 0664); diff --git a/testing/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch deleted file mode 100644 index 0d8627b1f..000000000 --- a/testing/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Naur cyrus-sasl-2.1.23.ori/plugins/digestmd5.c cyrus-sasl-2.1.23/plugins/digestmd5.c ---- cyrus-sasl-2.1.23.ori/plugins/digestmd5.c 2009-04-28 08:09:17.000000000 -0700 -+++ cyrus-sasl-2.1.23/plugins/digestmd5.c 2011-05-02 07:56:55.375403814 -0700 -@@ -2715,7 +2715,7 @@ - "DIGEST-MD5", /* mech_name */ - #ifdef WITH_RC4 - 128, /* max_ssf */ --#elif WITH_DES -+#elif defined(WITH_DES) - 112, - #else - 1, -@@ -4034,7 +4034,7 @@ - "DIGEST-MD5", - #ifdef WITH_RC4 /* mech_name */ - 128, /* max ssf */ --#elif WITH_DES -+#elif defined(WITH_DES) - 112, - #else - 1, diff --git a/testing/cyrus-sasl/saslauthd b/testing/cyrus-sasl/saslauthd deleted file mode 100644 index c470c801c..000000000 --- a/testing/cyrus-sasl/saslauthd +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -# source application-specific settings -[ -f /etc/conf.d/saslauthd ] && . /etc/conf.d/saslauthd - -. /etc/rc.conf -. /etc/rc.d/functions - -DAEMON_NAME="saslauthd" -SASLAUTHD_BIN=/usr/sbin/saslauthd -SASLAUTHD_PID=`pidof -o %PPID $SASLAUTHD_BIN` - -case "$1" in - start) - stat_busy "Starting $DAEMON_NAME" - [ -z "$SASLAUTHD_PID" ] && $SASLAUTHD_BIN $SASLAUTHD_OPTS - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - echo `pidof -o %PPID $SASLAUTHD_BIN` > /var/run/$DAEMON_NAME.pid - fi - add_daemon $DAEMON_NAME - stat_done - ;; - - stop) - stat_busy "Stopping $DAEMON_NAME" - [ ! -z "$SASLAUTHD_PID" ] && kill $SASLAUTHD_PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - rm /var/run/$DAEMON_NAME.pid &> /dev/null - fi - rm_daemon $DAEMON_NAME - stat_done - ;; - - restart) - $0 stop - sleep 1 - $0 start - ;; - - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 -# vim: ts=2 sw=2 et ft=sh diff --git a/testing/cyrus-sasl/saslauthd.conf.d b/testing/cyrus-sasl/saslauthd.conf.d deleted file mode 100644 index b42b5d0b0..000000000 --- a/testing/cyrus-sasl/saslauthd.conf.d +++ /dev/null @@ -1 +0,0 @@ -SASLAUTHD_OPTS="-m /var/run/saslauthd -a pam" diff --git a/testing/dbus-core/PKGBUILD b/testing/dbus-core/PKGBUILD deleted file mode 100644 index 110e42c14..000000000 --- a/testing/dbus-core/PKGBUILD +++ /dev/null @@ -1,55 +0,0 @@ -# $Id: PKGBUILD 123268 2011-05-09 14:39:58Z jgc $ -# Maintainer: Jan de Groot -# Contributor: Link Dupont -# -pkgname=dbus-core -pkgver=1.4.8 -pkgrel=1 -pkgdesc="Freedesktop.org message bus system" -url="http://www.freedesktop.org/Software/dbus" -arch=(i686 x86_64) -license=('GPL' 'custom') -depends=('expat>=2.0.1' 'coreutils' 'filesystem') -conflicts=('dbus<1.2.3-2') -options=(!libtool) -install=dbus.install -source=(http://dbus.freedesktop.org/releases/dbus/dbus-${pkgver}.tar.gz - dbus) -md5sums=('e30253e15f0f4e6c5ee9e6f0eba5046c' - '08f93dd19cffd1b45ab05c1fd4efb560') - -build() { - cd "${srcdir}/dbus-${pkgver}" - sed -i -e 's/#ifdef DBUS_BUILD_X11/#if 1/' dbus/dbus-sysdeps-unix.c - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \ - --with-system-pid-file=/var/run/dbus.pid \ - --enable-inotify --disable-dnotify \ - --disable-verbose-mode --disable-static \ - --disable-tests --disable-asserts --without-x \ - --with-systemdsystemunitdir=/lib/systemd/system - make - make DESTDIR="${pkgdir}" install - - rm -f "${pkgdir}/usr/bin/dbus-launch" - rm -f "${pkgdir}/usr/share/man/man1/dbus-launch.1" - - chown 81:81 "${pkgdir}/var/run/dbus" - - install -m755 -d "${pkgdir}/etc/rc.d" - install -m755 "${srcdir}/dbus" "${pkgdir}/etc/rc.d/" - - #Fix configuration file - sed -i -e 's|81|dbus|' "${pkgdir}/etc/dbus-1/system.conf" - - #install .keep files so pacman doesn't delete empty dirs - touch "${pkgdir}/usr/share/dbus-1/services/.keep" - touch "${pkgdir}/usr/share/dbus-1/system-services/.keep" - touch "${pkgdir}/etc/dbus-1/session.d/.keep" - touch "${pkgdir}/etc/dbus-1/system.d/.keep" - - rmdir "${pkgdir}/usr/lib/dbus-1.0/dbus-1" - - install -d -m755 "${pkgdir}/usr/share/licenses/dbus-core" - install -m644 COPYING "${pkgdir}/usr/share/licenses/dbus-core/" -} diff --git a/testing/dbus-core/dbus b/testing/dbus-core/dbus deleted file mode 100644 index 66b84cae0..000000000 --- a/testing/dbus-core/dbus +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -# general config -. /etc/rc.conf -. /etc/rc.d/functions - -case "$1" in - start) - stat_busy "Starting D-BUS system messagebus" - if [ ! -x /var/run/dbus ] ; then - install -m755 -g 81 -o 81 -d /var/run/dbus - fi - if [ -x /usr/bin/dbus-uuidgen ] ; then - /usr/bin/dbus-uuidgen --ensure - fi - - /usr/bin/dbus-daemon --system - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon dbus - stat_done - fi - ;; - stop) - stat_busy "Stopping D-BUS system messagebus" - [ -f /var/run/dbus.pid ] && kill `cat /var/run/dbus.pid` >/dev/null 2>&1 - if [ $? -gt 0 ]; then - stat_fail - else - rm -f /var/run/dbus.pid - rm_daemon dbus - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - reload) - stat_busy "Reloading D-BUS configuration" - [ -f /var/run/dbus.pid ] && /usr/bin/dbus-send \ - --system --type=method_call \ - --dest=org.freedesktop.DBus \ - / org.freedesktop.DBus.ReloadConfig - if [ $? -gt 0 ]; then - stat_fail - else - stat_done - fi - ;; - *) - echo "usage: $0 {start|stop|restart|reload}" - ;; -esac -exit 0 diff --git a/testing/dbus-core/dbus.install b/testing/dbus-core/dbus.install deleted file mode 100644 index 44f4475ee..000000000 --- a/testing/dbus-core/dbus.install +++ /dev/null @@ -1,24 +0,0 @@ -post_install() { - getent group dbus >/dev/null || usr/sbin/groupadd -g 81 dbus - getent passwd dbus >/dev/null || usr/sbin/useradd -c 'System message bus' -u 81 -g dbus -d '/' -s /bin/false dbus - usr/bin/passwd -l dbus &>/dev/null - dbus-uuidgen --ensure -} - -post_upgrade() { - post_install - - #Make sure new rc script can shutdown running dbus - if [ -f var/run/dbus/pid ]; then - mv var/run/dbus/pid var/run/dbus.pid - fi -} - -post_remove() { - if getent passwd dbus >/dev/null; then - usr/sbin/userdel dbus - fi - if getent group dbus >/dev/null; then - usr/sbin/groupdel dbus - fi -} diff --git a/testing/dbus/30-dbus b/testing/dbus/30-dbus deleted file mode 100644 index 603e92d3e..000000000 --- a/testing/dbus/30-dbus +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# launches a session dbus instance - -dbuslaunch="`which dbus-launch 2>/dev/null`" -if [ -n "$dbuslaunch" ] && [ -x "$dbuslaunch" ] && [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then - eval `$dbuslaunch --sh-syntax --exit-with-session` -fi - diff --git a/testing/dbus/PKGBUILD b/testing/dbus/PKGBUILD deleted file mode 100644 index 633b0b3d3..000000000 --- a/testing/dbus/PKGBUILD +++ /dev/null @@ -1,37 +0,0 @@ -# $Id: PKGBUILD 123271 2011-05-09 14:50:22Z jgc $ -# Maintainer: Jan de Groot -# Contributor: Link Dupont -# -pkgname=dbus -pkgver=1.4.8 -pkgrel=1 -pkgdesc="Freedesktop.org message bus system" -url="http://www.freedesktop.org/Software/dbus" -arch=(i686 x86_64) -license=('GPL' 'custom') -depends=("dbus-core>=${pkgver}" 'libx11') -source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz - 30-dbus) -md5sums=('e30253e15f0f4e6c5ee9e6f0eba5046c' - 'd14e59575f04e55d21a04907b6fd9f3c') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ECHO="echo" ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \ - --with-system-pid-file=/var/run/dbus.pid \ - --disable-verbose-mode --disable-static \ - --enable-inotify --disable-dnotify \ - --disable-tests --disable-asserts - make -C tools dbus-launch - install -m755 -d "${pkgdir}/usr/bin" - install -m755 -d "${pkgdir}/usr/share/man/man1" - install -m755 tools/dbus-launch "${pkgdir}/usr/bin/" - install -m644 doc/dbus-launch.1 "${pkgdir}/usr/share/man/man1/" - - install -m755 -d "${pkgdir}/etc/X11/xinit/xinitrc.d" - install -m755 "${srcdir}/30-dbus" "${pkgdir}/etc/X11/xinit/xinitrc.d/" - - install -d -m755 "${pkgdir}/usr/share/licenses/dbus" - install -m644 COPYING "${pkgdir}/usr/share/licenses/dbus/" -} diff --git a/testing/dovecot/PKGBUILD b/testing/dovecot/PKGBUILD deleted file mode 100644 index 7b9a0304c..000000000 --- a/testing/dovecot/PKGBUILD +++ /dev/null @@ -1,74 +0,0 @@ -# $Id: PKGBUILD 121982 2011-05-01 01:05:24Z stephane $ -# Contributor: Paul Mattal -# Contributor: Federico Quagliata (quaqo) -# Contributor: GARETTE Emmanuel -# Maintainer: Andreas Radke - -pkgname=dovecot -pkgver=2.0.12 -pkgrel=2 -pkgdesc="An IMAP and POP3 server written with security primarily in mind" -arch=('i686' 'x86_64') -url="http://dovecot.org/" -license=("LGPL") -depends=('krb5' 'openssl' 'sqlite3>=3.7.5' 'libmysqlclient>=5.5.10' - 'postgresql-libs>=9.0.3' 'bzip2' 'expat' 'curl') -makedepends=('pam>=1.1.1' 'libcap>=2.19' 'libldap>=2.4.22') -optdepends=('libldap: ldap plugin') -provides=('imap-server' 'pop3-server') -options=('!libtool') -backup=(etc/dovecot/dovecot.conf - etc/dovecot/conf.d/{10-auth,10-director,10-logging,10-mail,10-master,10-ssl}.conf - etc/dovecot/conf.d/{15-lda,20-imap,20-lmtp,20-pop3}.conf - etc/dovecot/conf.d/{90-acl,90-plugin,90-quota}.conf - etc/dovecot/conf.d/auth-{checkpassword,deny,ldap,master,passwdfile,sql,static,system,vpopmail}.conf.ext - etc/ssl/dovecot-openssl.cnf) -install=$pkgname.install -source=(http://dovecot.org/releases/2.0/${pkgname}-${pkgver}.tar.gz dovecot.sh) -md5sums=('689e1a8863d4fb2fd252e1a6121dd181' - 'd020d43eab4ded6fb379dadc570a9490') - -build() { - cd ${srcdir}/$pkgname-$pkgver - - # configure with openssl, mysql, and postgresql support - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libexecdir=/usr/lib --with-moduledir=/usr/lib/dovecot/modules \ - --disable-static \ - --with-nss \ - --with-pam \ - --with-mysql \ - --with-pgsql \ - --with-sqlite \ - --with-ssl=openssl --with-ssldir=/etc/dovecot/ssl \ - --with-gssapi \ - --with-ldap=plugin \ - --with-zlib --with-bzlib \ - --with-libcap \ - --with-solr \ - --with-docs - make -} - -package() { - cd ${srcdir}/$pkgname-$pkgver - make DESTDIR=${pkgdir} install - - # install the launch script - install -D -m755 ${srcdir}/$pkgname.sh ${pkgdir}/etc/rc.d/$pkgname - - # install example conf files and ssl.conf - install -d -m755 ${pkgdir}/etc/dovecot/conf.d - install -m 644 ${pkgdir}/usr/share/doc/dovecot/example-config/conf.d/*.conf ${pkgdir}/etc/dovecot/conf.d - install -m 644 ${pkgdir}/usr/share/doc/dovecot/example-config/conf.d/*.conf.ext ${pkgdir}/etc/dovecot/conf.d - install -m 644 ${pkgdir}/usr/share/doc/dovecot/example-config/dovecot.conf ${pkgdir}/etc/dovecot/ - install -d -m755 ${pkgdir}/etc/ssl - install -m 644 ${srcdir}/$pkgname-$pkgver/doc/dovecot-openssl.cnf ${pkgdir}/etc/ssl/ - - rm ${pkgdir}/etc/dovecot/README - - # install dovecot userdir - https://bugs.archlinux.org/task/20533 - install -d -m755 ${pkgdir}/var/run/dovecot/{login,empty} - chmod 755 ${pkgdir}/var/run/dovecot - chmod 750 ${pkgdir}/var/run/dovecot/login -} diff --git a/testing/dovecot/dovecot.install b/testing/dovecot/dovecot.install deleted file mode 100644 index 51d1509ee..000000000 --- a/testing/dovecot/dovecot.install +++ /dev/null @@ -1,57 +0,0 @@ -# arg 1: the new package version -post_install() { - - # Make sure the group and user "dovecot"+"dovenull exists on this system and have the correct values - - # dovecot - if grep -q "^dovecot:" /etc/group &> /dev/null ; then - groupmod -g 76 -n dovecot dovecot &> /dev/null - else - groupadd -g 76 dovecot &> /dev/null - fi - - if grep -q "^dovecot:" /etc/passwd 2> /dev/null ; then - usermod -s /sbin/nologin -c "Dovecot user" -d /var/run/dovecot/login -u 76 -g dovecot dovecot &> /dev/null - else - useradd -s /sbin/nologin -c "Dovecot user" -d /var/run/dovecot/login -u 76 -g dovecot -m -r dovecot &> /dev/null - fi - - # dovenull - if grep -q "^dovenull:" /etc/group &> /dev/null ; then - groupmod -g 74 -n dovenull dovenull &> /dev/null - else - groupadd -g 74 dovenull &> /dev/null - fi - - if grep -q "^dovenull:" /etc/passwd 2> /dev/null ; then - usermod -s /sbin/nologin -c "Dovecot user for completely untrustworthy processes" -d /var/run/dovecot/login -u 74 -g dovenull dovenull &> /dev/null - else - useradd -s /sbin/nologin -c "Dovecot user for completely untrustworthy processes" -d /var/run/dovecot/login -u 74 -g dovenull -m -r dovenull &> /dev/null - fi - - # harden some permissions - chgrp dovenull /var/run/dovecot/login -} - -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - post_install $1 - if [ "`vercmp $2 2.0.0`" -lt 0 ]; then - # important upgrade notice - echo "> IMPORTANT DOVECOT 2.0 UPGRADE NOTICE" - echo "> ------------------------------------" - echo "> see http://wiki2.dovecot.org/Upgrading/2.0" - echo "> make sure, you convert the dovecot.conf file" - fi - -} - -# arg 1: the old package version -pre_remove() { - userdel dovecot &> /dev/null - userdel dovenull &> /dev/null - groupdel dovecot &> /dev/null || /bin/true - groupdel dovenull &> /dev/null || /bin/true - rm -rf /var/run/dovecot/ &> /dev/null || /bin/true -} diff --git a/testing/dovecot/dovecot.sh b/testing/dovecot/dovecot.sh deleted file mode 100755 index b7555fe50..000000000 --- a/testing/dovecot/dovecot.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/dovecot` -case "$1" in - start) - stat_busy "Starting Dovecot" - [ -z "$PID" ] && /usr/sbin/dovecot - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon dovecot - stat_done - fi - ;; - stop) - stat_busy "Stopping Dovecot" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon dovecot - stat_done - fi - ;; - restart) - $0 stop - sleep 2 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/testing/evolution-data-server/PKGBUILD b/testing/evolution-data-server/PKGBUILD deleted file mode 100644 index 195be21c6..000000000 --- a/testing/evolution-data-server/PKGBUILD +++ /dev/null @@ -1,29 +0,0 @@ -# $Id: PKGBUILD 122571 2011-05-04 16:49:38Z ibiru $ -# Maintainer: Jan de Groot - -pkgname=evolution-data-server -pkgver=3.0.1 -pkgrel=2 -pkgdesc="Central location for addressbook and calendar storage in the GNOME Desktop" -arch=('i686' 'x86_64') -depends=('libsoup' 'nss' 'libgnome-keyring' 'krb5' 'libgweather' 'libical' 'db' 'libgdata') -makedepends=('intltool' 'gperf' 'gobject-introspection') -options=('!libtool') -url="http://www.gnome.org" -license=('GPL') -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/3.0/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('8592be94027a9848ac18670a0e86e48e857539cd2813eb345eda0ace19688dd0') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --with-openldap=yes \ - --libexecdir=/usr/lib/evolution-data-server \ - --with-krb5=/usr --with-libdb=/usr - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install -} diff --git a/testing/evolution-exchange/PKGBUILD b/testing/evolution-exchange/PKGBUILD deleted file mode 100644 index 963b54508..000000000 --- a/testing/evolution-exchange/PKGBUILD +++ /dev/null @@ -1,33 +0,0 @@ -# $Id: PKGBUILD 122586 2011-05-04 18:25:32Z ibiru $ -# Maintainer: Jan de Groot - -pkgname=evolution-exchange -pkgver=3.0.1 -pkgrel=2 -pkgdesc="Ximian Connector Exchange plugin for Evolution" -arch=('i686' 'x86_64') -license=('GPL') -url="http://www.ximian.com" -depends=('evolution-data-server' 'gtkhtml4' 'gnome-desktop' 'libunique3') -makedepends=('intltool' 'evolution') -options=('!libtool' '!emptydirs') -install=evolution-exchange.install -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('4c020f7946f534e3245806f29f48dbc9ccb98afdbc92d7bb5b14a5410668ad02') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libexecdir=/usr/lib/evolution --disable-static \ - --with-libdb=/usr --with-krb5=/usr - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install - - install -m755 -d "${pkgdir}/usr/share/gconf/schemas" - gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain evolution-exchange-3.0 ${pkgdir}/etc/gconf/schemas/*.schemas - rm -f ${pkgdir}/etc/gconf/schemas/*.schemas -} diff --git a/testing/evolution-exchange/evolution-exchange.install b/testing/evolution-exchange/evolution-exchange.install deleted file mode 100644 index 1179887f9..000000000 --- a/testing/evolution-exchange/evolution-exchange.install +++ /dev/null @@ -1,17 +0,0 @@ -pkgname=evolution-exchange - -post_install() { - usr/sbin/gconfpkg --install ${pkgname} -} - -pre_upgrade() { - pre_remove $1 -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - usr/sbin/gconfpkg --uninstall ${pkgname} -} diff --git a/testing/gcc/PKGBUILD b/testing/gcc/PKGBUILD deleted file mode 100644 index fb8985344..000000000 --- a/testing/gcc/PKGBUILD +++ /dev/null @@ -1,255 +0,0 @@ -# $Id: PKGBUILD 123891 2011-05-14 08:26:23Z allan $ -# Maintainer: Allan McRae - -# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc -# NOTE: libtool requires rebuilt with each new gcc version - -pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go') -pkgver=4.6.0 -pkgrel=5 -_snapshot=4.6-20110513 -_libstdcppmanver=20110201 # Note: check source directory name when updating this -pkgdesc="The GNU Compiler Collection" -arch=('i686' 'x86_64') -license=('GPL' 'LGPL' 'FDL' 'custom') -url="http://gcc.gnu.org" -makedepends=('binutils>=2.21' 'libmpc' 'cloog' 'ppl' 'gcc-ada' 'dejagnu') -options=('!libtool' '!emptydirs') -source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc,ada,go,testsuite}-${pkgver}.tar.bz2 - ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc,ada,go,testsuite}-${_snapshot}.tar.bz2 - ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 - gcc_pure64.patch - gcc-hash-style-both.patch) -md5sums=('2be769db16ac02f30fb62423b4c50145' - 'a310d230945f4b3093dd3ca72839c649' - '361a10c5a5545c80fd271b18036dd00c' - 'f7db2f6ed34398361de62cb6b8eb53d2' - '9b69c1d8874e8496c1965ee3e32eaa6d' - '248e53b461078bf1c89528fb8e4ba051' - 'e15a01b0d02ff12e975e4c2649e71e55' - '1e9fd2eaf0ee47ea64e82c48998f1999' - '4030ee1c08dd1e843c0225b772360e76' - '4df25b623799b148a0703eaeec8fdf3f') - -if [ -n "${_snapshot}" ]; then - _basedir="${srcdir}/gcc-${_snapshot}" -else - _basedir="${srcdir}/gcc-${pkgver}" -fi - -build() { - cd ${_basedir} - - # Do not install libiberty - sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in - - # Do not run fixincludes - sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in - - if [ "${CARCH}" = "x86_64" ]; then - patch -Np1 -i ${srcdir}/gcc_pure64.patch - fi - patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch - - echo ${pkgver} > gcc/BASE-VER - - cd ${srcdir} - mkdir gcc-build && cd gcc-build - - ${_basedir}/configure --prefix=/usr \ - --libdir=/usr/lib --libexecdir=/usr/lib \ - --mandir=/usr/share/man --infodir=/usr/share/info \ - --with-bugurl=https://bugs.archlinux.org/ \ - --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \ - --enable-shared --enable-threads=posix \ - --with-system-zlib --enable-__cxa_atexit \ - --disable-libunwind-exceptions --enable-clocale=gnu \ - --enable-gnu-unique-object --enable-linker-build-id \ - --with-ppl --enable-cloog-backend=isl \ - --enable-lto --enable-gold --enable-ld=default \ - --enable-plugin --with-plugin-ld=ld.gold \ - --disable-multilib --disable-libstdcxx-pch \ - --enable-checking=release - make -} - -check() { - cd gcc-build - - # increase stack size to prevent test failures - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827 - ulimit -s 32768 - - # do not abort on error as some are "expected" - make -k check || true - ${_basedir}/contrib/test_summary -} - -package_gcc-libs() -{ - pkgdesc="Runtime libraries shipped by GCC" - groups=('base') - depends=('glibc>=2.11.1-2') - install=gcc-libs.install - - cd gcc-build - make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared - for lib in libmudflap libgomp libssp libstdc++-v3/src; do - make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES - done - make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install - make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info - - make -j1 DESTDIR=${pkgdir} install-target-libquadmath - make -j1 DESTDIR=${pkgdir} install-target-libgfortran - make -j1 DESTDIR=${pkgdir} install-target-libobjc - - # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} - rm -rf ${pkgdir}/usr/lib/{gcc/,libgfortran.spec} - - # remove static libraries - find ${pkgdir} -name *.a -delete - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc() -{ - pkgdesc="The GNU Compiler Collection - C and C++ frontends" - depends=('binutils>=2.20.1' 'libmpc>=0.8.1-2' 'cloog' 'ppl') - groups=('base-devel') - install=gcc.install - - cd gcc-build - - # unfortunately it is much, much easier to install the lot and clean-up the mess... - make -j1 DESTDIR=${pkgdir} install - rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*} - rm $pkgdir/usr/lib/*.so* - rm $pkgdir/usr/lib/lib{ffi,gfortran,go{,begin},objc,quadmath}.a - rm $pkgdir/usr/lib/libgfortran.spec - rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc} - rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h} - rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1,libgfortranbegin.a} - rm -r $pkgdir/usr/lib/go - rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath}.info - rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo - rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1 - rm $pkgdir/usr/share/man/man3/ffi* - - # many packages require these symlinks - install -dm755 ${pkgdir}/lib - ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp - ln -sf gcc ${pkgdir}/usr/bin/cc - ln -sf g++ ${pkgdir}/usr/bin/c++ - - # POSIX conformance launcher scripts for c89 and c99 - cat > $pkgdir/usr/bin/c89 <<"EOF" -#!/bin/sh -fl="-std=c89" -for opt; do - case "$opt" in - -ansi|-std=c89|-std=iso9899:1990) fl="";; - -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 - exit 1;; - esac -done -exec gcc $fl ${1+"$@"} -EOF - - cat > $pkgdir/usr/bin/c99 <<"EOF" -#!/bin/sh -fl="-std=c99" -for opt; do - case "$opt" in - -std=c99|-std=iso9899:1999) fl="";; - -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 - exit 1;; - esac -done -exec gcc $fl ${1+"$@"} -EOF - - chmod 755 $pkgdir/usr/bin/c{8,9}9 - - # install the libstdc++ man pages - install -dm755 ${pkgdir}/usr/share/man/man3 - install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/ - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-fortran() -{ - pkgdesc="Fortran front-end for GCC" - depends=("gcc=$pkgver-$pkgrel") - install=gcc-fortran.install - - cd gcc-build - make -j1 DESTDIR=${pkgdir} install-target-libquadmath - make -j1 DESTDIR=$pkgdir install-target-libgfortran - make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS - make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info} - install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951 - - # remove libraries included in gcc-libs - rm ${pkgdir}/usr/lib/lib{gfortran,quadmath}.so* - rm ${pkgdir}/usr/share/info/libquadmath.info - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-fortran/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-objc() -{ - pkgdesc="Objective-C front-end for GCC" - depends=("gcc=$pkgver-$pkgrel") - - cd gcc-build - make -j1 DESTDIR=$pkgdir install-target-libobjc - install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ - install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ - - # remove libraries included in gcc-libs - rm ${pkgdir}/usr/lib/libobjc.so* - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-ada() -{ - pkgdesc="Ada front-end for GCC (GNAT)" - depends=("gcc=$pkgver-$pkgrel") - install=gcc-ada.install - - cd gcc-build/gcc - make -j1 DESTDIR=$pkgdir ada.install-{common,info} - install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc-go() -{ - pkgdesc="Go front-end for GCC" - depends=("gcc=$pkgver-$pkgrel") - install=gcc-go.install - - cd gcc-build - make -j1 DESTDIR=$pkgdir install-target-libgo - make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info} - install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1 - - # Install Runtime Library Exception - install -Dm644 ${_basedir}/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION -} diff --git a/testing/gcc/gcc-ada.install b/testing/gcc/gcc-ada.install deleted file mode 100644 index df0553a4f..000000000 --- a/testing/gcc/gcc-ada.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=usr/share/info -filelist=(gnat-style.info gnat_rm.info gnat_ugn.info) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $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.gz $infodir/dir 2> /dev/null - done -} diff --git a/testing/gcc/gcc-fortran.install b/testing/gcc/gcc-fortran.install deleted file mode 100644 index b15d89a97..000000000 --- a/testing/gcc/gcc-fortran.install +++ /dev/null @@ -1,16 +0,0 @@ -infodir=usr/share/info -file="gfortran.info" - -post_install() { - [ -x usr/bin/install-info ] || return 0 - install-info $infodir/$file.gz $infodir/dir 2> /dev/null -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null -} diff --git a/testing/gcc/gcc-go.install b/testing/gcc/gcc-go.install deleted file mode 100644 index 7dc50dee5..000000000 --- a/testing/gcc/gcc-go.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=usr/share/info -filelist=(gccgo.info) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $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.gz $infodir/dir 2> /dev/null - done -} diff --git a/testing/gcc/gcc-hash-style-both.patch b/testing/gcc/gcc-hash-style-both.patch deleted file mode 100644 index 8b59f4535..000000000 --- a/testing/gcc/gcc-hash-style-both.patch +++ /dev/null @@ -1,122 +0,0 @@ ---- gcc/config/alpha/linux-elf.h.orig 2010-12-09 23:27:07.000000000 +1000 -+++ gcc/config/alpha/linux-elf.h 2011-03-11 10:01:47.770000457 +1000 -@@ -41,7 +41,7 @@ - - #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER - --#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ -+#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \ - %{O*:-O3} %{!O*:-O1} \ - %{shared:-shared} \ - %{!shared: \ ---- gcc/config/i386/linux64.h.orig 2011-03-03 08:35:36.000000000 +1000 -+++ gcc/config/i386/linux64.h 2011-03-11 10:01:47.770000457 +1000 -@@ -78,7 +78,7 @@ - %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" - - #undef LINK_SPEC --#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \ -+#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \ - %{shared:-shared} \ - %{!shared: \ - %{!static: \ ---- gcc/config/i386/linux.h.orig 2011-01-15 04:45:06.000000000 +1000 -+++ gcc/config/i386/linux.h 2011-03-11 10:01:47.770000457 +1000 -@@ -104,7 +104,7 @@ - { "dynamic_linker", LINUX_DYNAMIC_LINKER } - - #undef LINK_SPEC --#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ -+#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ ---- gcc/config/ia64/linux.h.orig 2010-12-09 23:27:07.000000000 +1000 -+++ gcc/config/ia64/linux.h 2011-03-11 10:01:47.770000457 +1000 -@@ -64,7 +64,7 @@ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" - - #undef LINK_SPEC --#define LINK_SPEC "\ -+#define LINK_SPEC "--hash-style=both \ - %{shared:-shared} \ - %{!shared: \ - %{!static: \ ---- gcc/config/rs6000/linux64.h.orig 2011-02-11 03:30:10.000000000 +1000 -+++ gcc/config/rs6000/linux64.h 2011-03-11 10:03:34.280000457 +1000 -@@ -389,11 +389,11 @@ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) - - --#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \ -+#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ - -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}" - --#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \ -+#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ - -dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}" - ---- gcc/config/rs6000/sysv4.h.orig 2011-01-28 04:36:03.000000000 +1000 -+++ gcc/config/rs6000/sysv4.h 2011-03-11 10:01:47.773333792 +1000 -@@ -830,7 +830,7 @@ - #define LINUX_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) - --#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ -+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ - -dynamic-linker " LINUX_DYNAMIC_LINKER "}}" - ---- gcc/config/s390/linux.h.orig 2010-12-09 23:27:07.000000000 +1000 -+++ gcc/config/s390/linux.h 2011-03-11 10:01:47.770000457 +1000 -@@ -77,7 +77,7 @@ - - #undef LINK_SPEC - #define LINK_SPEC \ -- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ -+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \ - %{shared:-shared} \ - %{!shared: \ - %{static:-static} \ ---- gcc/config/sparc/linux64.h.orig 2011-02-17 23:57:21.000000000 +1000 -+++ gcc/config/sparc/linux64.h 2011-03-11 10:01:47.770000457 +1000 -@@ -113,7 +113,7 @@ - { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \ - { "link_arch", LINK_ARCH_SPEC }, - --#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \ -+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -121,7 +121,7 @@ - %{static:-static}} \ - " - --#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ -+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -193,7 +193,7 @@ - #else /* !SPARC_BI_ARCH */ - - #undef LINK_SPEC --#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ -+#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ ---- gcc/config/sparc/linux.h.orig 2011-01-27 06:30:12.000000000 +1000 -+++ gcc/config/sparc/linux.h 2011-03-11 10:01:47.770000457 +1000 -@@ -74,7 +74,7 @@ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - - #undef LINK_SPEC --#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ -+#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \ - %{!mno-relax:%{!r:-relax}} \ - %{!shared: \ - %{!static: \ diff --git a/testing/gcc/gcc-libs.install b/testing/gcc/gcc-libs.install deleted file mode 100644 index 23553b8f0..000000000 --- a/testing/gcc/gcc-libs.install +++ /dev/null @@ -1,16 +0,0 @@ -infodir=usr/share/info -filelist=(libgomp.info libquadmath.info) - -post_upgrade() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null - done -} diff --git a/testing/gcc/gcc.install b/testing/gcc/gcc.install deleted file mode 100644 index 3407a5e1f..000000000 --- a/testing/gcc/gcc.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=usr/share/info -filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $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.gz $infodir/dir 2> /dev/null - done -} diff --git a/testing/gcc/gcc_pure64.patch b/testing/gcc/gcc_pure64.patch deleted file mode 100644 index 8c0baf8e2..000000000 --- a/testing/gcc/gcc_pure64.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h ---- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400 -+++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400 -@@ -49,8 +49,8 @@ - When the -shared link option is used a final link is not being - done. */ - --#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" -+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" - - #undef LINK_SPEC - #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \ -diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64 ---- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400 -+++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400 -@@ -6,7 +6,7 @@ - - MULTILIB_OPTIONS = m64/m32 - MULTILIB_DIRNAMES = 64 32 --MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) -+MULTILIB_OSDIRNAMES = ../lib ../lib32 - - LIBGCC = stmp-multilib - INSTALL_LIBGCC = install-multilib diff --git a/testing/gmp/PKGBUILD b/testing/gmp/PKGBUILD deleted file mode 100644 index 6092809d9..000000000 --- a/testing/gmp/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ -# $Id: PKGBUILD 123886 2011-05-14 03:40:36Z allan $ -# Maintainer: Allan McRae -# Maintainer: Jan de Groot - -pkgname=gmp -pkgver=5.0.2 -pkgrel=1 -pkgdesc="A free library for arbitrary precision arithmetic" -arch=('i686' 'x86_64') -url="http://gmplib.org/" -depends=('gcc-libs' 'sh') -license=('LGPL3') -options=(!libtool) -install=gmp.install -source=(ftp://ftp.gnu.org/gnu/gmp/gmp-${pkgver}.tar.bz2) -md5sums=('0bbaedc82fb30315b06b1588b9077cd3') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - [ "${CARCH}" = "i686" ] && export ABI="32" - ./configure --build=${CHOST} \ - --prefix=/usr --infodir=/usr/share/info \ - --enable-cxx - make -} - -check() { - cd "${srcdir}/${pkgname}-${pkgver}" - make check -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install -} diff --git a/testing/gmp/gmp.install b/testing/gmp/gmp.install deleted file mode 100644 index cad3354f9..000000000 --- a/testing/gmp/gmp.install +++ /dev/null @@ -1,20 +0,0 @@ -info_dir=usr/share/info -info_files=(gmp.info gmp.info-1 gmp.info-2) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for f in ${info_files[@]}; do - install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null - done -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - for f in ${info_files[@]}; do - install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null - done -} diff --git a/testing/gnome-control-center/PKGBUILD b/testing/gnome-control-center/PKGBUILD deleted file mode 100644 index 1031b6b1d..000000000 --- a/testing/gnome-control-center/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# $Id: PKGBUILD 122550 2011-05-04 14:36:21Z stephane $ -# Maintainer: Jan de Groot - -pkgname=gnome-control-center -pkgver=3.0.1.1 -pkgrel=2 -pkgdesc="The Control Center for GNOME" -arch=('i686' 'x86_64') -depends=('gtk3' 'gsettings-desktop-schemas' 'gnome-menus' 'gnome-desktop' 'gnome-settings-daemon' 'upower' 'libgtop' 'cups-pk-helper' 'accountsservice' 'sound-theme-freedesktop' 'krb5') -optdepends=('mesa-demos: provides glxinfo for graphics information' - 'apg: adds password generation for user accounts') -makedepends=('gnome-doc-utils' 'intltool' 'networkmanager') -url="http://www.gnome.org" -groups=('gnome') -install=gnome-control-center.install -license=('GPL') -options=('!libtool' '!emptydirs') -source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/3.0/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('b191991d3932b363154e6cf2b5055bc711272065397daee2163b6fb04402ad79') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static \ - --disable-scrollkeeper --disable-update-mimedb - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make DESTDIR="${pkgdir}" install -} - diff --git a/testing/gnome-control-center/gnome-control-center.install b/testing/gnome-control-center/gnome-control-center.install deleted file mode 100644 index eb703319f..000000000 --- a/testing/gnome-control-center/gnome-control-center.install +++ /dev/null @@ -1,19 +0,0 @@ -pkgname=gnome-control-center - -post_install() { - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -pre_upgrade() { - if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then - usr/sbin/gconfpkg --uninstall ${pkgname} - fi -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/testing/gnome-settings-daemon/PKGBUILD b/testing/gnome-settings-daemon/PKGBUILD deleted file mode 100644 index 06f71588b..000000000 --- a/testing/gnome-settings-daemon/PKGBUILD +++ /dev/null @@ -1,33 +0,0 @@ -# $Id: PKGBUILD 122583 2011-05-04 18:20:31Z ibiru $ -# Maintainer: Jan de Groot - -pkgname=gnome-settings-daemon -pkgver=3.0.1 -pkgrel=2 -pkgdesc="The GNOME Settings daemon" -arch=('i686' 'x86_64') -license=('GPL') -depends=('libgnomekbd' 'gnome-desktop' 'libnotify' 'hicolor-icon-theme' - 'libcanberra-pulse' 'gsettings-desktop-schemas' 'nss' 'gconf' - 'dconf' 'pulseaudio' 'pulseaudio-alsa') -makedepends=('intltool' 'gtk-doc') -options=('!emptydirs' '!libtool') -install=gnome-settings-daemon.install -url="http://www.gnome.org" -groups=('gnome') -replaces=(gnome-settings-daemon-pulse) -conflicts=(gnome-settings-daemon-pulse) -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('51cdd0842b907e95c79d4e2b26f554e26fc626f7c2e6c3a14e3fc7954ca91117') - -build() { - cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libexecdir=/usr/bin --disable-static --enable-pulse - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install -} diff --git a/testing/gnome-settings-daemon/gnome-settings-daemon.install b/testing/gnome-settings-daemon/gnome-settings-daemon.install deleted file mode 100644 index 483fb9450..000000000 --- a/testing/gnome-settings-daemon/gnome-settings-daemon.install +++ /dev/null @@ -1,18 +0,0 @@ -post_install() { - usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -pre_upgrade() { - if (( $(vercmp $2 2.90.0) < 0 )); then - usr/sbin/gconfpkg --uninstall gnome-settings-daemon - fi -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/testing/gnome-vfs/PKGBUILD b/testing/gnome-vfs/PKGBUILD deleted file mode 100644 index 3474b4c22..000000000 --- a/testing/gnome-vfs/PKGBUILD +++ /dev/null @@ -1,45 +0,0 @@ -# $Id: PKGBUILD 122580 2011-05-04 18:07:34Z ibiru $ -# Maintainer: Jan de Groot - -pkgname=gnome-vfs -pkgver=2.24.4 -pkgrel=3 -pkgdesc="The GNOME Virtual File System" -arch=(i686 x86_64) -license=('LGPL') -depends=('fam' 'gconf' 'bzip2' 'avahi' 'smbclient' 'gnome-mime-data' 'krb5' 'gnutls') -makedepends=('pkgconfig' 'intltool' 'gtk-doc' 'gnome-common') -options=('!libtool' '!emptydirs') -url="http://www.gnome.org" -install=gnome-vfs.install -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.24/gnome-vfs-${pkgver}.tar.bz2 - gnutls-config.patch) -sha256sums=('62de64b5b804eb04104ff98fcd6a8b7276d510a49fbd9c0feb568f8996444faa' - '66c7cfb12995c0dd94a2caea95c7e3c55981993f05a79c585d60915ff131955d') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - #Fix build with new gnutls - patch -Np1 -i "${srcdir}/gnutls-config.patch" - libtoolize --force - gtkdocize - aclocal - autoconf - automake - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static \ - --libexecdir=/usr/lib/gnome-vfs-2.0 \ - --enable-samba --disable-hal \ - --enable-avahi --disable-howl \ - --disable-openssl --enable-gnutls - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install - - install -d -m755 "${pkgdir}/usr/share/gconf/schemas" - gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-vfs-2.0 ${pkgdir}/etc/gconf/schemas/*.schemas - rm -f ${pkgdir}/etc/gconf/schemas/*.schemas -} diff --git a/testing/gnome-vfs/gnome-vfs.install b/testing/gnome-vfs/gnome-vfs.install deleted file mode 100644 index 793a3e7ab..000000000 --- a/testing/gnome-vfs/gnome-vfs.install +++ /dev/null @@ -1,17 +0,0 @@ -pkgname=gnome-vfs - -post_install() { - usr/sbin/gconfpkg --install ${pkgname} -} - -pre_upgrade() { - pre_remove $1 -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - usr/sbin/gconfpkg --uninstall ${pkgname} -} diff --git a/testing/gnome-vfs/gnutls-config.patch b/testing/gnome-vfs/gnutls-config.patch deleted file mode 100644 index f6fa18b17..000000000 --- a/testing/gnome-vfs/gnutls-config.patch +++ /dev/null @@ -1,25 +0,0 @@ -# Allow gnome-vfs-2.24 to build with gnutls >= 2.7.0 -# Use pkg-config in place of gnutls own macro since it's not present anymore. ---- a/configure.in 2009-03-07 19:59:53.805507753 +0100 -+++ b/configure.in 2009-03-07 18:34:36.928169018 +0100 -@@ -686,14 +686,14 @@ - AC_MSG_ERROR([*** Can't use both openssl and gnutls at the same time. Please pick one only. ***]) - else - AC_CHECK_HEADER(gcrypt.h,, AC_MSG_ERROR([*** Need gcrypt.h to compile with GnuTLS support ***])) -- AM_PATH_LIBGNUTLS(1.0.0, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) -- have_ssl=true]) -+ PKG_CHECK_MODULES(LIBGNUTLS, gnutls >= 1.0.0, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) -+ have_ssl=true]) - - if test "x${LIBGNUTLS_LIBS}" = "x"; then -- AM_PATH_LIBGNUTLS(0.5.1, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) -- AC_DEFINE(GNUTLS_COMPAT, 1, [FIXME]) -- have_ssl=true], -- AC_MSG_ERROR([Unable to find GNUTLS])) -+ PKG_CHECK_MODULES(LIBGNUTLS, gnutls >= 0.5.1, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) -+ AC_DEFINE(GNUTLS_COMPAT, 1, [FIXME]) -+ have_ssl=true], -+ AC_MSG_ERROR([Unable to find GNUTLS])) - fi - fi - fi diff --git a/testing/gtk2/PKGBUILD b/testing/gtk2/PKGBUILD deleted file mode 100644 index e67d63520..000000000 --- a/testing/gtk2/PKGBUILD +++ /dev/null @@ -1,50 +0,0 @@ -# $Id: PKGBUILD 122323 2011-05-03 20:18:27Z stephane $ -# Maintainer: Jan de Groot - -pkgbase=gtk2 -pkgname=('gtk2' 'gtk-update-icon-cache') -pkgver=2.24.4 -pkgrel=2 -arch=('i686' 'x86_64') -url="http://www.gtk.org/" -makedepends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'krb5' 'gnutls' - 'shared-mime-info' 'cairo' 'libcups' 'gdk-pixbuf2' 'gobject-introspection') -options=('!libtool' '!docs') -license=('LGPL') -source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${pkgver}.tar.bz2 - xid-collision-debug.patch) -sha256sums=('7d3033ad83647079977466d3e8f1a7533f47abd5cc693f01b8797ff43dd407a5' - 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558') - -build() { - cd "${srcdir}/gtk+-${pkgver}" - patch -Np1 -i "${srcdir}/xid-collision-debug.patch" - - CXX=/bin/false ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --with-xinput=yes - make -} -package_gtk2() { - pkgdesc="The GTK+ Toolkit (v2)" - install=gtk2.install - depends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'krb5' 'gnutls' 'shared-mime-info' 'cairo' 'libcups' 'gtk-update-icon-cache') - backup=(etc/gtk-2.0/gtkrc) - - cd "${srcdir}/gtk+-${pkgver}" - - make DESTDIR="${pkgdir}" install - sed -i "s#env python#env python2#" $pkgdir/usr/bin/gtk-builder-convert - echo 'gtk-fallback-icon-theme = "gnome"' > "${pkgdir}/etc/gtk-2.0/gtkrc" - #split this out to use with gtk3 too - rm ${pkgdir}/usr/bin/gtk-update-icon-cache -} -package_gtk-update-icon-cache() { - pkgdesc="The GTK+ update icon cache tool" - depends=('gdk-pixbuf2') - - cd "${srcdir}/gtk+-${pkgver}/gtk" - - install -D -m755 gtk-update-icon-cache ${pkgdir}/usr/bin/gtk-update-icon-cache -} diff --git a/testing/gtk2/gtk2.install b/testing/gtk2/gtk2.install deleted file mode 100644 index 4e2b72f1b..000000000 --- a/testing/gtk2/gtk2.install +++ /dev/null @@ -1,16 +0,0 @@ -post_install() { - usr/bin/gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules -} - -pre_upgrade() { - pre_remove -} - -post_upgrade() { - post_install -} - -pre_remove() { - rm -f etc/gtk-2.0/gtk.immodules &>/dev/null - rm -f etc/gtk-2.0/gdk-pixbuf.loaders &>/dev/null -} diff --git a/testing/gtk2/xid-collision-debug.patch b/testing/gtk2/xid-collision-debug.patch deleted file mode 100644 index d61238c3b..000000000 --- a/testing/gtk2/xid-collision-debug.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- gtk+-2.18.3/gdk/x11/gdkxid.c 2009-06-19 04:59:18.000000000 +0200 -+++ gtk+-2.18.3/gdk/x11/gdkxid.c.new 2009-07-22 11:30:12.000000000 +0200 -@@ -56,10 +56,10 @@ - if (!display_x11->xid_ht) - display_x11->xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash, - (GEqualFunc) gdk_xid_equal); -- -+/* - if (g_hash_table_lookup (display_x11->xid_ht, xid)) - g_warning ("XID collision, trouble ahead"); -- -+*/ - g_hash_table_insert (display_x11->xid_ht, xid, data); - } - diff --git a/testing/gtk3/PKGBUILD b/testing/gtk3/PKGBUILD deleted file mode 100644 index 5550647fc..000000000 --- a/testing/gtk3/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -# $Id: PKGBUILD 122547 2011-05-04 14:30:27Z stephane $ -# Maintainer: Ionut Biru - -pkgname=gtk3 -pkgver=3.0.9 -pkgrel=2 -pkgdesc="The GTK+ Toolkit (v3)" -arch=('i686' 'x86_64') -url="http://www.gtk.org/" -install=gtk3.install -depends=('atk' 'cairo' 'gtk-update-icon-cache' 'gnutls' 'krb5' 'libcups' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'pango' 'shared-mime-info') -makedepends=('gobject-introspection') -options=('!libtool' '!docs') -backup=(etc/gtk-3.0/settings.ini) -license=('LGPL') -source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/3.0/gtk+-${pkgver}.tar.bz2 - settings.ini) -sha256sums=('88a9dda6f2a23155ac3d7aca6b414ca3b55e2817b46bcc87733f1a407e16678c' - 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621') - -build() { - cd "${srcdir}/gtk+-${pkgver}" - CXX=/bin/false ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --enable-gtk2-dependency \ - --disable-schemas-compile - make -} - -package() { - cd "${srcdir}/gtk+-${pkgver}" - make DESTDIR="${pkgdir}" install - - install -Dm644 "${srcdir}/settings.ini" "${pkgdir}/etc/gtk-3.0/settings.ini" -} diff --git a/testing/gtk3/gtk3.install b/testing/gtk3/gtk3.install deleted file mode 100644 index cd8965d1f..000000000 --- a/testing/gtk3/gtk3.install +++ /dev/null @@ -1,15 +0,0 @@ -post_install() { - usr/bin/gtk-query-immodules-3.0 --update-cache - usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas -} - -post_upgrade() { - post_install -} - -pre_remove() { - rm -f usr/lib/gtk-3.0/3.0.0/immodules.cache -} -post_remove() { - usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas -} diff --git a/testing/gtk3/settings.ini b/testing/gtk3/settings.ini deleted file mode 100644 index 039000d38..000000000 --- a/testing/gtk3/settings.ini +++ /dev/null @@ -1,2 +0,0 @@ -[Settings] -gtk-fallback-icon-theme = gnome diff --git a/testing/gutenprint/PKGBUILD b/testing/gutenprint/PKGBUILD deleted file mode 100644 index 602d12bb4..000000000 --- a/testing/gutenprint/PKGBUILD +++ /dev/null @@ -1,39 +0,0 @@ -# $Id: PKGBUILD 123069 2011-05-07 23:28:40Z stephane $ -# Maintainer: Andreas Radke - -pkgname=gutenprint -pkgver=5.2.7 -pkgrel=2 -pkgdesc="Top quality printer drivers for POSIX systems" -arch=('i686' 'x86_64') -license=('GPL') -install=gutenprint.install -depends=('readline' 'gnutls>=2.12.3') # needs to be checked. build log says -Lgnutls but namcap doesn't detect it -makedepends=('gimp>=2.6.11' 'gtk2>=2.24.4' 'cups>=1.4.6' 'foomatic-db-engine' 'ghostscript>=9.02') -optdepends=('cups: to use cups printer spooler(recommended)' - 'foomatic-db-engine: to use foomatic spooler' - 'ghostscript: adds postscript support for ijsgutenprint' - 'gimp: adds gutenprint plugin to gimp') -source=(http://downloads.sourceforge.net/gimp-print/$pkgname-$pkgver.tar.bz2) -url="http://gimp-print.sourceforge.net/" -replaces=('gimp-print') -options=('!libtool' '!emptydirs') -md5sums=('b19029972bf28f6efd693270daf8f5de') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr --disable-samples --with-cups --with-gimp2 \ - --disable-translated-cups-ppds --with-gimp2-as-gutenprint \ - --disable-libgutenprintui --enable-libgutenprintui2 --disable-gtktest \ - --enable-cups-ppds --enable-cups-ppds-at-top-level \ - --with-foomatic --with-foomatic3 --with-ghostscript \ - --disable-static --disable-static-genppd --with-ijs \ - --disable-globalized-cups-ppds - make -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install -} - diff --git a/testing/gutenprint/gutenprint.install b/testing/gutenprint/gutenprint.install deleted file mode 100644 index 05e8bec38..000000000 --- a/testing/gutenprint/gutenprint.install +++ /dev/null @@ -1,9 +0,0 @@ -post_install() { - echo ">>please run /usr/sbin/cups-genppdupdate" - echo ">>and restart cups deamon" -} - -post_upgrade() { - post_install -} - diff --git a/testing/kbd/PKGBUILD b/testing/kbd/PKGBUILD deleted file mode 100644 index c1643ec9a..000000000 --- a/testing/kbd/PKGBUILD +++ /dev/null @@ -1,44 +0,0 @@ -# $Id: PKGBUILD 123997 2011-05-15 19:12:02Z tpowa $ -# Maintainer: Tobias Powalowski - -pkgname=kbd -pkgver=1.15.3 -pkgrel=1 -pkgdesc="Keytable files and keyboard utilities" -arch=('i686' 'x86_64') -url="ftp://ftp.altlinux.org/pub/people/legion/kbd/" -license=('GPL') -depends=('glibc') -source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/${pkgname}-${pkgver}.tar.gz - fix-es.po.patch) -md5sums=('8143e179a0f3c25646ce5085e8777200') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - patch -Np1 -i ../fix-es.po.patch - # rename keymap files with the same names - # this is needed because when only name of keymap is specified - # loadkeys loads the first keymap it can find, which is bad (see FS#13837) - # this should be removed when upstream adopts the change - mv data/keymaps/i386/qwertz/cz{,-qwertz}.map - mv data/keymaps/i386/olpc/es{,-olpc}.map - mv data/keymaps/i386/olpc/pt{,-olpc}.map - mv data/keymaps/i386/dvorak/no{,-dvorak}.map - mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map - - ./configure --prefix=/usr --datadir=/usr/share/kbd --mandir=/usr/share/man - make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes DESTDIR=${pkgdir} install - - # this is needed because initscripts call /bin/loadkeys - # remove this when next versions of kbd - # and initscripts with /usr/bin/loadkeys usage will be released - mkdir ${pkgdir}/bin - ln -s /usr/bin/loadkeys ${pkgdir}/bin/loadkeys -} -md5sums=('8143e179a0f3c25646ce5085e8777200' - '4ded3edb50fb7a3277bae6a870cee812') diff --git a/testing/kbd/fix-es.po.patch b/testing/kbd/fix-es.po.patch deleted file mode 100644 index 578f0a7b7..000000000 --- a/testing/kbd/fix-es.po.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- kbd-1.15.3/po/es.old 2011-05-14 23:12:49.000000000 +0200 -+++ kbd-1.15.3/po/es.po 2011-05-15 21:07:02.120669404 +0200 -@@ -1363,7 +1363,7 @@ - #: src/setfont.c:682 - #, c-format - msgid "Saved %d-char %dx%d font file on %s\n" --msgstr "Se ha guardado el fichero de tipos %2$dx%3$d de %1$d caracteres en %s\n" -+msgstr "Se ha guardado el fichero de tipos %dx%d de %d caracteres en %s\n" - - #: src/setkeycodes.c:21 - #, c-format diff --git a/testing/kdelibs/PKGBUILD b/testing/kdelibs/PKGBUILD deleted file mode 100644 index 0f4a867d4..000000000 --- a/testing/kdelibs/PKGBUILD +++ /dev/null @@ -1,62 +0,0 @@ -# $Id: PKGBUILD 122843 2011-05-06 11:48:02Z andrea $ -# Maintainer: Andrea Scarpino - -pkgname=kdelibs -pkgver=4.6.3 -pkgrel=2 -pkgdesc="KDE Core Libraries" -arch=('i686' 'x86_64') -url='http://www.kde.org' -license=('GPL' 'LGPL' 'FDL') -depends=('strigi' 'attica' 'libxss' 'xz' 'openssl' 'soprano' 'krb5' - 'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt' 'grantlee' - 'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr' 'xdg-utils' - 'phonon' 'hicolor-icon-theme' 'upower' 'udisks' 'libxcursor' - 'docbook-xsl') -makedepends=('pkgconfig' 'cmake' 'automoc4' 'intltool' 'avahi' 'libgl' - 'hspell') -replaces=('arts' 'kdelibs-experimental') -install='kdelibs.install' -source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2" - 'kde-applications-menu.patch' 'archlinux-menu.patch' 'abs-syntax-highlight.patch') -sha1sums=('c7fb089c9d52a6b1d9188b9e788753373a3288e4' - '86ee8c8660f19de8141ac99cd6943964d97a1ed7' - '63a850ab4196b9d06934f2b4a13acd9f7739bc67' - 'd994f262356af5b9e4e9619646e471bd98c91efb') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - - # avoid file conflict with gnome-menu - patch -p1 -i $srcdir/kde-applications-menu.patch - # add Archlinux menu entry - patch -p1 -i $srcdir/archlinux-menu.patch - # add syntax highlightning for PKGBUILD and .install files - patch -p1 -i $srcdir/abs-syntax-highlight.patch - - cd ${srcdir} - mkdir build - cd build - cmake ../${pkgname}-${pkgver} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SKIP_RPATH=ON \ - -DKDE_DISTRIBUTION_TEXT='Arch Linux' \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DSYSCONF_INSTALL_DIR=/etc \ - -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \ - -DKDE_DEFAULT_HOME='.kde4' \ - -DWITH_FAM=OFF \ - -DKAUTH_BACKEND=PolkitQt-1 - make -} - -package() { - cd $srcdir/build - make DESTDIR=$pkgdir install - - # cert bundle seems to be hardcoded - # link it to the one from ca-certificates - rm -f $pkgdir/usr/share/apps/kssl/ca-bundle.crt - ln -sf /etc/ssl/certs/ca-certificates.crt $pkgdir/usr/share/apps/kssl/ca-bundle.crt -} diff --git a/testing/kdelibs/abs-syntax-highlight.patch b/testing/kdelibs/abs-syntax-highlight.patch deleted file mode 100644 index 477479a9b..000000000 --- a/testing/kdelibs/abs-syntax-highlight.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nura kdelibs-4.3.0.orig/kate/syntax/data/bash.xml kdelibs-4.3.0/kate/syntax/data/bash.xml ---- kdelibs-4.3.0.orig/kate/syntax/data/bash.xml 2009-04-15 12:26:37.000000000 +0200 -+++ kdelibs-4.3.0/kate/syntax/data/bash.xml 2009-07-30 13:24:01.000000000 +0200 -@@ -8,7 +8,7 @@ - - - ]> -- -+ - - if you are using LDAP services to provide lookup in sqwebmail or aliases + --> then you have to install: + libldap +EOM + # create the *.dat files + makealiases + makesmtpaccess +} + +pre_upgrade() { + pre_remove $1 +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 +} + + +pre_remove() { + # manual backup, since courier is always processing the whole directory + # - so it would process "system" AND "system.pacsave" -> bad + [ ! -d /etc/courier/_backup ] && mkdir /etc/courier/_backup + cp /etc/courier/aliases/system /etc/courier/_backup/aliases.system + cp /etc/courier/smtpaccess/default /etc/courier/_backup/smtpaccess.default + cat << EOM + --> the /etc/courier/aliase/system and the /etc/courier/smtpaccess/default + --> files have been backed up to /etc/courier/_backup since the *.pacsave + --> files cannot stay in place. Read about couriers alias handling from the + --> documentation! +EOM +} + +# arg 1: the old package version +post_remove() { + /bin/true +} + +op=$1 +shift + +$op $* diff --git a/community-staging/courier-mta/courier-mta.rc.d b/community-staging/courier-mta/courier-mta.rc.d new file mode 100644 index 000000000..6c5fbc914 --- /dev/null +++ b/community-staging/courier-mta/courier-mta.rc.d @@ -0,0 +1,60 @@ +#!/bin/bash + +# source application-specific settings +[ -f /etc/conf.d/courier-mta ] && . /etc/conf.d/courier-mta +[ -z $AUTO_AUTHDAEMON_LAG ] && AUTO_AUTHDAEMON_LAG=2 +[ -z $AUTO_AUTHDAEMON ] && AUTO_AUTHDAEMON="false" + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + + [ -d /var/run/courier ] || mkdir -p /var/run/courier + chown courier:courier /var/run/courier + + if [ "$AUTO_AUTHDAEMON" == "true" ]; then + /etc/rc.d/authdaemond start + sleep ${AUTO_AUTHDAEMON_LAG} + fi + if [ ! -f /var/run/daemons/authdaemond ]; then + echo "ERROR: authdaemond is not running" + stat_fail + exit 1 + fi + for daemon in $CI_DAEMONS; do + stat_busy "Starting Courier ${daemon}" + /usr/sbin/${daemon} start + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon $daemon + stat_done + fi + done + ;; + stop) + for daemon in $CI_DAEMONS; do + stat_busy "Stopping Courier ${daemon}" + /usr/sbin/${daemon} stop > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon $daemon + stat_done + fi + done + if [ "$AUTO_AUTHDAEMON" == "true" ]; then + /etc/rc.d/authdaemond stop + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-staging/courier-mta/courier-webmail-cleancache.cron.hourly b/community-staging/courier-mta/courier-webmail-cleancache.cron.hourly new file mode 100644 index 000000000..6c541321e --- /dev/null +++ b/community-staging/courier-mta/courier-webmail-cleancache.cron.hourly @@ -0,0 +1,6 @@ +#!/bin/sh + +# Cleans the cache of the sqwebmail server +if [ -x /usr/share/sqwebmail/cleancache.pl ]; then + su -c "/usr/share/sqwebmail/cleancache.pl" bin +fi diff --git a/community-staging/encfs/PKGBUILD b/community-staging/encfs/PKGBUILD new file mode 100644 index 000000000..9bc1ae9d9 --- /dev/null +++ b/community-staging/encfs/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 47658 2011-05-24 17:28:48Z jelle $ +# Contributor: Andrea Scarpino +# Contributor: Jaroslaw Swierczynski +# Contributor: Sven Kauber, +# Maintainer: Daniel J Griffiths + +pkgname=encfs +pkgver=1.7.4 +pkgrel=4 +pkgdesc='Encrypted filesystem in user-space' +arch=('i686' 'x86_64') +url='http://www.arg0.net/encfs' +license=('GPL') +depends=('rlog' 'openssl' 'fuse' 'boost-libs') +makedepends=('boost') +options=('!libtool') +source=("http://encfs.googlecode.com/files/${pkgname}-${pkgver}.tgz") +md5sums=('ac90cc10b2e9fc7e72765de88321d617') + +build(){ + cd ${pkgname}-${pkgver} + + ./configure \ + --prefix=/usr + + make +} + +package() { + cd ${pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install +} diff --git a/community-staging/fatrat/PKGBUILD b/community-staging/fatrat/PKGBUILD new file mode 100644 index 000000000..7411fcd43 --- /dev/null +++ b/community-staging/fatrat/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 47629 2011-05-24 14:03:19Z tdziedzic $ +# Maintainer: Lukas Jirkovsky +pkgname=fatrat +pkgver=1.1.3 +pkgrel=4 +pkgdesc="QT4 based download manager with support for HTTP, FTP, SFTP, BitTorrent, rapidshare and more" +arch=('i686' 'x86_64') +url="http://fatrat.dolezel.info/" +license=('GPL') +depends=('gloox' 'curl' 'qt' 'libtorrent-rasterbar') +optdepends=('geoip: GeoIP support') +makedepends=('asio' 'cmake') +source=(http://www.dolezel.info/download/data/fatrat/fatrat-$pkgver.tar.gz) +md5sums=('6d4a00cdd0b59a05b1521184508d4637') + +build() { + cd $pkgname-$pkgver + + export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2" + + cmake \ + -DWITH_EVERYTHING=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + . + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/community-staging/frogatto/PKGBUILD b/community-staging/frogatto/PKGBUILD new file mode 100644 index 000000000..fb3b6553d --- /dev/null +++ b/community-staging/frogatto/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 47675 2011-05-24 19:05:16Z svenstaro $ +# Maintainer: Sven-Hendrik Haase +# Contributor: Tom Wambold + +pkgname='frogatto' +arch=('i686' 'x86_64') +pkgver=1.1 +pkgrel=2 +pkgdesc="An old-school 2d platformer game, starring a certain quixotic frog" +url="http://www.frogatto.com" +license=('GPL') +depends=('libgl' 'mesa' 'glew' 'sdl' 'sdl_image' 'sdl_ttf' 'sdl_mixer' 'libpng' 'boost-libs' 'frogatto-data') +makedepends=('boost') +source=(http://www.frogatto.com/files/$pkgname-$pkgver.tar.bz2 + frogatto + frogatto.desktop) +md5sums=('8c01c8a1d7ecf820a682eb684d8bf739' + '9ed2c9ea59e95fe3c0b3ad49e58f8890' + 'e31563b04748a39292a59aaad633ff58') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + sed -i 's/ccache //g' Makefile + sed -i 's/-lprofiler//g' Makefile + sed -i 's/-lboost_regex-mt/-lboost_regex/g' Makefile + sed -i 's/-lboost_system-mt/-lboost_system/g' Makefile + sed -i 's/-lboost_thread-mt/-lboost_thread/g' Makefile + sed -i 's/-lboost_iostreams-mt/-lboost_iostreams/g' Makefile + make game server +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + install -D -m755 game $pkgdir/opt/frogatto/game + install -D -m755 server $pkgdir/opt/frogatto/server + + install -D -m644 LICENSE $pkgdir/usr/share/licenses/frogatto/LICENSE + + cd $srcdir + install -DT -m755 frogatto $pkgdir/usr/bin/frogatto + install -D -m644 frogatto.desktop $pkgdir/usr/share/applications/frogatto.desktop +} + +# vim:set ts=2 sw=2 et: diff --git a/community-staging/frogatto/frogatto b/community-staging/frogatto/frogatto new file mode 100644 index 000000000..0d741e0de --- /dev/null +++ b/community-staging/frogatto/frogatto @@ -0,0 +1,3 @@ +#!/bin/sh +cd /opt/frogatto +exec /opt/frogatto/game $* diff --git a/community-staging/frogatto/frogatto.desktop b/community-staging/frogatto/frogatto.desktop new file mode 100644 index 000000000..b0795467a --- /dev/null +++ b/community-staging/frogatto/frogatto.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Frogatto +GenericName=Old-school 2D platformer +Comment=Old-school 2D platformer +Exec=/usr/bin/frogatto +Terminal=false +MultipleArgs=false +Type=Application +Icon=/opt/frogatto/images/window-icon.png +Categories=Game;ArcadeGame diff --git a/community-staging/glob2/PKGBUILD b/community-staging/glob2/PKGBUILD new file mode 100644 index 000000000..94754172b --- /dev/null +++ b/community-staging/glob2/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 47655 2011-05-24 16:52:31Z schuay $ +# Contributor: Jaroslaw Swierczynski +# Contributor: Roman Kyrylych + +pkgname=glob2 +pkgver=0.9.4.4 +pkgrel=8 +pkgdesc="RTS game which minimizes micro-management by automatically assigning tasks to units" +arch=('i686' 'x86_64') +url="http://www.globulation2.org/" +license=('GPL3') +depends=('boost-libs' 'sdl_net' 'sdl_image' 'sdl_ttf' 'libvorbis' 'speex' 'mesa' \ + 'fribidi' 'desktop-file-utils') +makedepends=('scons' 'boost') +install=glob2.install +source=(http://dl.sv.nongnu.org/releases/${pkgname}/0.9.4/${pkgname}-${pkgver}.tar.gz \ + glob2-0.9.4.1-gcc44.patch) +md5sums=('94c527325f355a29a2807f8f18a6e6a8' 'b13cb1f73ece23bfc6413773678d583e') +sha1sums=('14aa8d840ef5f95a9af591789082fe2322fa8cad' '3e5ae81d85a727387a7049c3a0dfb3db930391b3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -Np0 -i "$srcdir/glob2-0.9.4.1-gcc44.patch" + scons BINDIR="${pkgdir}/usr/bin" INSTALLDIR="${pkgdir}/usr/share" +} + +package () { + cd "${srcdir}/${pkgname}-${pkgver}" + + scons install + find "${pkgdir}/usr/share" -type f -exec chmod 644 '{}' \; + install -Dm644 data/icons/glob2-icon-48x48.png "${pkgdir}/usr/share/pixmaps/glob2-icon-48x48.png" +} diff --git a/community-staging/glob2/glob2-0.9.4.1-gcc44.patch b/community-staging/glob2/glob2-0.9.4.1-gcc44.patch new file mode 100644 index 000000000..b425b25ec --- /dev/null +++ b/community-staging/glob2/glob2-0.9.4.1-gcc44.patch @@ -0,0 +1,87 @@ +diff -up libgag/include/StreamBackend.h.orig libgag/include/StreamBackend.h +--- libgag/include/StreamBackend.h.orig 2009-03-18 03:46:47.000000000 +0100 ++++ libgag/include/StreamBackend.h 2009-06-20 14:21:10.000000000 +0200 +@@ -43,7 +43,7 @@ namespace GAGCore + virtual void flush(void) = 0; + virtual void read(void *data, size_t size) = 0; + virtual void putc(int c) = 0; +- virtual int getc(void) = 0; ++ virtual int get_c(void) = 0; + virtual void seekFromStart(int displacement) = 0; + virtual void seekFromEnd(int displacement) = 0; + virtual void seekRelative(int displacement) = 0; +@@ -67,7 +67,7 @@ namespace GAGCore + virtual void flush(void) { assert(fp); fflush(fp); } + virtual void read(void *data, size_t size) { assert(fp); fread(data, size, 1, fp); } + virtual void putc(int c) { assert(fp); fputc(c, fp); } +- virtual int getc(void) { assert(fp); return fgetc(fp); } ++ virtual int get_c(void) { assert(fp); return fgetc(fp); } + virtual void seekFromStart(int displacement) { assert(fp); fseek(fp, displacement, SEEK_SET); } + virtual void seekFromEnd(int displacement) { assert(fp); fseek(fp, displacement, SEEK_END); } + virtual void seekRelative(int displacement) { assert(fp); fseek(fp, displacement, SEEK_CUR); } +@@ -92,7 +92,7 @@ namespace GAGCore + virtual void flush(void); + virtual void read(void *data, size_t size); + virtual void putc(int c); +- virtual int getc(void); ++ virtual int get_c(void); + virtual void seekFromStart(int displacement); + virtual void seekFromEnd(int displacement); + virtual void seekRelative(int displacement); +@@ -117,7 +117,7 @@ namespace GAGCore + virtual void flush(void) { } + virtual void read(void *data, size_t size); + virtual void putc(int c); +- virtual int getc(void); ++ virtual int get_c(void); + virtual void seekFromStart(int displacement); + virtual void seekFromEnd(int displacement); + virtual void seekRelative(int displacement); +diff -up libgag/src/StreamBackend.cpp.orig libgag/src/StreamBackend.cpp +--- libgag/src/StreamBackend.cpp.orig 2009-03-18 03:46:47.000000000 +0100 ++++ libgag/src/StreamBackend.cpp 2009-06-20 14:21:53.000000000 +0200 +@@ -75,9 +75,9 @@ namespace GAGCore + buffer->putc(c); + } + +- int ZLibStreamBackend::getc(void) ++ int ZLibStreamBackend::get_c(void) + { +- return buffer->getc(); ++ return buffer->get_c(); + } + + void ZLibStreamBackend::seekFromStart(int displacement) +@@ -147,7 +147,7 @@ namespace GAGCore + write(&ch, 1); + } + +- int MemoryStreamBackend::getc(void) ++ int MemoryStreamBackend::get_c(void) + { + Uint8 ch; + read(&ch, 1); +diff -up libgag/src/Stream.cpp.orig libgag/src/Stream.cpp +--- libgag/src/Stream.cpp.orig 2009-03-18 03:46:47.000000000 +0100 ++++ libgag/src/Stream.cpp 2009-06-20 14:21:35.000000000 +0200 +@@ -60,7 +60,7 @@ namespace GAGCore + std::string s; + while (1) + { +- int c = backend->getc(); ++ int c = backend->get_c(); + if(c=='\r') + continue; + if ((c >= 0) && (c != '\n')) +diff -up libgag/src/TextStream.cpp.orig libgag/src/TextStream.cpp +--- libgag/src/TextStream.cpp.orig 2009-03-18 03:46:47.000000000 +0100 ++++ libgag/src/TextStream.cpp 2009-06-20 14:21:22.000000000 +0200 +@@ -150,7 +150,7 @@ namespace GAGCore + + int nextChar(void) + { +- next = stream->getc(); ++ next = stream->get_c(); + if (next == '\n') + { + column = 0; diff --git a/community-staging/glob2/glob2.install b/community-staging/glob2/glob2.install new file mode 100644 index 000000000..7463b6e76 --- /dev/null +++ b/community-staging/glob2/glob2.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + update-desktop-database -q +} + diff --git a/community-staging/glom/PKGBUILD b/community-staging/glom/PKGBUILD new file mode 100644 index 000000000..e5251b1f4 --- /dev/null +++ b/community-staging/glom/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 47669 2011-05-24 17:51:15Z schuay $ +# Maintainer: Roman Kyrylych +# Contributor: William Rea +# Contributor: Jaroslav Lichtblau + +pkgname=glom +pkgver=1.16.1 +pkgrel=6 +pkgdesc="An easy-to-use database designer and user interface" +arch=('i686' 'x86_64') +url="http://www.glom.org/" +license=('GPL') +depends=('libgdamm' 'libxml++' 'gconfmm' 'pygtk' + 'python2-gda' 'libgtksourceviewmm2' 'goocanvasmm' 'libepc' + 'iso-codes' 'postgresql' 'hicolor-icon-theme' 'shared-mime-info' + 'gtkmm' 'boost-libs' 'gettext') +makedepends=('intltool' 'gnome-doc-utils' 'boost' 'python-sphinx' 'mm-common') +options=('!libtool') +install=$pkgname.install +source=(http://ftp.gnome.org/pub/GNOME/sources/glom/${pkgver%.*}/$pkgname-$pkgver.tar.bz2) +md5sums=('9ae56e0886f14a48cedaef9beb9c3cc9') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + # doctooldir is now owned by mm-common-util instead of glibmm + # the following sed line can be removed once (if) upstream provides a fixed + # configure script + sed -i 's%\(MMDOCTOOLDIR=`$PKG_CONFIG --variable=doctooldir \)glibmm-2.4%\1mm-common-util%' configure + + ./configure --prefix=/usr \ + --with-postgres-utils=/usr/bin \ + --disable-scrollkeeper \ + --disable-update-mime-database \ + --disable-static + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/community-staging/glom/glom.install b/community-staging/glom/glom.install new file mode 100644 index 000000000..1ad77f9aa --- /dev/null +++ b/community-staging/glom/glom.install @@ -0,0 +1,15 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q + update-mime-database usr/share/mime > /dev/null +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q + update-mime-database usr/share/mime > /dev/null +} diff --git a/community-staging/gnash/PKGBUILD b/community-staging/gnash/PKGBUILD new file mode 100644 index 000000000..f962211b1 --- /dev/null +++ b/community-staging/gnash/PKGBUILD @@ -0,0 +1,76 @@ +# $Id: PKGBUILD 82896 2010-06-18 18:30:20Z ibiru $ +# Maintainer: Jan "heftig" Steffens + +pkgbase=gnash +pkgname=(gnash-common gnash-gtk) +pkgver=0.8.9 +pkgrel=3 +arch=(i686 x86_64) +url="http://www.gnu.org/software/gnash/" +license=(GPL3) +makedepends=(curl giflib libldap sdl agg libjpeg libpng libtool + speex fontconfig libva ffmpeg libxinerama + gstreamer0.10-base gstreamer0.10-ffmpeg + gtk2 libldap xulrunner hicolor-icon-theme desktop-file-utils + pkgconfig boost) +options=(!libtool !emptydirs) +source=(http://ftp.gnu.org/gnu/gnash/${pkgver}/gnash-${pkgver}.tar.bz2) +md5sums=('5b2be6b04a1bcc5fb404cc377034499e') + +build() { + cd "$srcdir/gnash-$pkgver" + + # Version is now in version.h + sed -i 's/avcodec\.h/version.h/' macros/ffmpeg.m4 + ./autogen.sh + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-plugins-install=system \ + --with-npapi-plugindir=/usr/lib/mozilla/plugins \ + --enable-gui=sdl,gtk \ + --enable-renderer=agg \ + --enable-media=gst,ffmpeg \ + --enable-hwaccel=vaapi + + make +} + +package_gnash-common() { + pkgdesc="A GNU Flash movie player" + depends=(curl giflib libldap sdl agg libjpeg libpng libtool + speex fontconfig libva ffmpeg libxinerama + gstreamer0.10-base gstreamer0.10-ffmpeg + boost-libs) + backup=(etc/gnashrc) + + cd "$srcdir/gnash-$pkgver" + + make DESTDIR="$pkgdir" install + + # Split gnash-gtk + mkdir -p "$srcdir"/gtk/{bin,man1,share} + mv "$pkgdir"/usr/bin/{gtk-gnash,gnash-gtk-launcher} "$srcdir/gtk/bin/" + mv "$pkgdir"/usr/share/man/man1/{gtk-gnash,gnash-gtk-launcher}.1 "$srcdir/gtk/man1/" + mv "$pkgdir"/usr/share/{applications,icons} "$srcdir/gtk/share/" + mv "$pkgdir/etc/gnashpluginrc" "$srcdir/gtk/" +} + +package_gnash-gtk() { + pkgdesc="A GNU Flash movie player" + depends=("gnash-common=$pkgver" + gtk2 libldap hicolor-icon-theme desktop-file-utils) + install=gnash-gtk.install + backup=(etc/gnashpluginrc) + + cd "$srcdir/gnash-$pkgver" + + make DESTDIR="$pkgdir" install-plugin + + install -d "$pkgdir"/{etc,usr/{bin,share/man/man1}} + mv "$srcdir"/gtk/bin/* "$pkgdir/usr/bin/" + mv "$srcdir"/gtk/man1/* "$pkgdir/usr/share/man/man1/" + mv "$srcdir"/gtk/share/* "$pkgdir/usr/share/" + mv "$srcdir/gtk/gnashpluginrc" "$pkgdir/etc/" +} diff --git a/community-staging/gnash/gnash-gtk.install b/community-staging/gnash/gnash-gtk.install new file mode 100644 index 000000000..c317fbaca --- /dev/null +++ b/community-staging/gnash/gnash-gtk.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/community-staging/gpsdrive/PKGBUILD b/community-staging/gpsdrive/PKGBUILD new file mode 100644 index 000000000..d7fafb285 --- /dev/null +++ b/community-staging/gpsdrive/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 47650 2011-05-24 16:23:35Z jelle $ +# Maintainer: Sergej Pupykin +# Contributor: Tom Newsom +# Maintainer: damir + +pkgname=gpsdrive +pkgver=2.11 +pkgrel=8 +pkgdesc="A car (bike, ship, plane) navigation system" +arch=("i686" "x86_64") +url="http://www.gpsdrive.de/" +license=('GPL2') +depends=('gtk2' 'gpsd' 'libxml2' 'curl' 'python2' 'boost-libs' 'gdal' 'mapnik' 'postgresql-libs' 'openstreetmap-map-icons-svn' + 'perl-date-manip' 'perl-timedate' 'perl-dbi' 'perl-file-slurp' 'perl-www-mechanize' 'perl-libwww' 'perl-uri' + 'perl-text-query' 'perl-www-curl' 'perl-xml-parser' 'perl-xml-simple' 'perl-xml-twig' 'perl-xml-writer' + ) # already in core ('sqlite3') +makedepends=('cmake>=2.4.4' 'boost' 'cfitsio') +install="gpsdrive.install" +source=("http://www.gpsdrive.de/packages/${pkgname}-${pkgver}.tar.gz" + "gpsd-2.96.patch") +md5sums=('6eeeca8e5c647115bea836d1f8fb6e0c' + '5769e12c6d8932fb721212434c64f505') + +build() { + cd "$srcdir" + + # python2 fix + for file in $(find . -name '*.py' -print); do + sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' $file + sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file + done + + rm -rf build + mkdir build + cd build + + # fix the mapnik default values + sed -i 's|"/usr/lib/mapnik/0.7/input/"|"/usr/lib/mapnik/input/"|' "${srcdir}/gpsdrive-${pkgver}/src/gpsdrive_config.c" + sed -i 's|"/usr/share/fonts/truetype/ttf-dejavu/"|"/usr/share/fonts/TTF/"|' "${srcdir}/gpsdrive-${pkgver}/src/gpsdrive_config.c" + + export CFLAGS=-I/usr/include/gdk-pixbuf-2.0/ + export CPPFLAGS=-I/usr/include/gdk-pixbuf-2.0/ + export CXXFLAGS=-I/usr/include/gdk-pixbuf-2.0/ + + export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2" + + # see DefineOptions.cmake for a list of common options and defaults + # cmake -L for a more in-depth listing + cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="/usr" \ + -DWITH_SCRIPTS=ON \ + -DWITH_MAPNIK=ON \ + -DWITH_POSTGIS=ON \ + -DWITH_GDAL=ON \ + -DWITH_BASEMAPS=ON \ + -DWITH_FRIENDSD=ON \ + -DWITH_KISMET=ON \ + -DWITH_NAVIGATION=ON \ + -DWITH_SPEECH=OFF \ + -DWITH_DBUS=OFF \ + -DLIBGPS_OLD=OFF \ + "$srcdir/gpsdrive-$pkgver" + (cd "$srcdir/gpsdrive-$pkgver" && patch -p1 <$srcdir/gpsd-2.96.patch) + make +} + +package() { + cd "$srcdir/build" + make DESTDIR="$pkgdir" install +} diff --git a/community-staging/gpsdrive/gpsd-2.96.patch b/community-staging/gpsdrive/gpsd-2.96.patch new file mode 100644 index 000000000..bc6c7475f --- /dev/null +++ b/community-staging/gpsdrive/gpsd-2.96.patch @@ -0,0 +1,44 @@ +diff -wbBur gpsdrive-2.11/src/gps_handler.c gpsdrive-2.11.my/src/gps_handler.c +--- gpsdrive-2.11/src/gps_handler.c 2010-06-24 19:53:32.000000000 +0000 ++++ gpsdrive-2.11.my/src/gps_handler.c 2011-04-18 13:21:33.000000000 +0000 +@@ -264,7 +264,8 @@ + #define GPS_TIMER 500 + + static gint gps_timeout_source = 0; +-static struct gps_data_t *gpsdata; ++static struct gps_data_t __gd; ++static struct gps_data_t *gpsdata = &__gd; + + /* SYMBOLS USED IN LIBGPS: + * +@@ -410,9 +411,10 @@ + */ + gps_query (gpsdata, "oys\n"); + #else +- if (gps_waiting(gpsdata)) ++ if (gps_waiting(gpsdata, 1000000)) + { +- gps_poll (gpsdata); ++ gps_read (gpsdata); ++ gps_hook_cb(gpsdata, NULL); + } + #endif + +@@ -447,7 +449,7 @@ + } + + /* try to open connection */ +- gpsdata = gps_open (local_config.gpsd_server, local_config.gpsd_port); ++ gpsdata = gps_open (local_config.gpsd_server, local_config.gpsd_port, gpsdata) ? NULL : &__gd; + if (!gpsdata) + { + g_print ("Can't connect to gps daemon on %s:%s, disabling GPS support!\n", +@@ -466,7 +468,7 @@ + gps_sats = g_new (gps_satellite_struct, MAXCHANNELS); + + /* set hook function to handle gps data */ +- gps_set_raw_hook (gpsdata, (gpointer) gps_hook_cb); ++// gps_set_raw_hook (gpsdata, (gpointer) gps_hook_cb); + + #ifndef LIBGPS_OLD + /* enable watch mode to get data stream from gpsd */ diff --git a/community-staging/gpsdrive/gpsdrive.install b/community-staging/gpsdrive/gpsdrive.install new file mode 100644 index 000000000..8ea63912e --- /dev/null +++ b/community-staging/gpsdrive/gpsdrive.install @@ -0,0 +1,4 @@ +post_install() { + echo "Don't forget to generate geoinfo.db with geoinfo.pl script" + echo "Also you can check http://wiki.archlinux.org/index.php/GpsDrive" +} diff --git a/community-staging/lightspark/PKGBUILD b/community-staging/lightspark/PKGBUILD new file mode 100644 index 000000000..36d912b1e --- /dev/null +++ b/community-staging/lightspark/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: Jan "heftig" Steffens + +pkgname=lightspark +pkgver=0.4.7.1 +pkgrel=3 +pkgdesc='An alternative Flash Player for Linux.' +arch=('i686' 'x86_64') +url='http://lightspark.sourceforge.net' +license=('LGPL3') +conflicts=('lightspark-git') +depends=('mesa' 'ftgl' 'sdl' 'gtk2' 'curl' 'zlib' 'ffmpeg' 'glew' 'pcre' 'libpulse' 'libffi' 'boost-libs' 'glibmm' 'gtkglext' 'desktop-file-utils' 'libxml++' 'libxml2') +makedepends=('cmake' 'nasm' 'xulrunner' 'llvm' 'glproto' 'boost' 'pkgconfig' 'fontconfig') +optdepends=('gnash-gtk: fallback support') +install="${pkgname}.install" +source=("http://launchpad.net/${pkgname}/trunk/${pkgname}-${pkgver:0:5}/+download/${pkgname}-${pkgver}.tar.gz") +md5sums=('fee5cd52a8a23e858979a8f4ec778266') + +build() { + rm -rf build + mkdir build + cd build + + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCOMPILE_PLUGIN=1 \ + -DCMAKE_BUILD_TYPE=Release \ + -DGNASH_EXE_PATH=/usr/bin/gtk-gnash \ + ../${pkgname}-${pkgver} + + make +} + +package() { + cd build + + make DESTDIR=${pkgdir} install +} diff --git a/community-staging/lightspark/lightspark.install b/community-staging/lightspark/lightspark.install new file mode 100644 index 000000000..75e2b7b55 --- /dev/null +++ b/community-staging/lightspark/lightspark.install @@ -0,0 +1,13 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/community-staging/mapnik/PKGBUILD b/community-staging/mapnik/PKGBUILD new file mode 100644 index 000000000..bcfc24c68 --- /dev/null +++ b/community-staging/mapnik/PKGBUILD @@ -0,0 +1,52 @@ +# $Id: PKGBUILD 47631 2011-05-24 14:03:50Z jelle $ +# Maintainer: Sergej Pupykin +# Contributor: David Dent +# Contributor: orbisvicis + +pkgname=mapnik +pkgver=0.7.1 +pkgrel=9 +pkgdesc="Free Toolkit for developing mapping applications. Above all Mapnik is about rendering beautiful maps." +arch=('i686' 'x86_64') +url="http://mapnik.org/" +license=('LGPL') +depends=('boost-libs' 'icu' 'libpng' 'libjpeg' 'libtiff' 'freetype2' + 'libxml2' 'python2' 'proj' 'cairo' 'cairomm' 'pycairo' + 'postgresql-libs' 'postgis' 'gdal' 'curl' 'libtool') + # already in core ('zlib' 'sqlite3') +optdepends=('libxslt: Web Map Service' + 'python-lxml: Web Map Service' + 'python-imaging: Web Map Service' + 'python-nose: Web Map Service' + 'apache: Web Map Service' + 'mod_fastcgi: Web Map Service - or:' + 'mod_fcgid: Web Map Service - or:' + 'mod_wsgi: Web Map Service' + ) +makedepends=('scons' 'boost') # already in core ('pkg-config') +conflicts=('mapnik-svn') +install="mapnik.install" +source=("http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.bz2") +md5sums=('8f65fda2a792518d6f6be8a85f62fc73') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + #patch SConstruct so libs end up in /usr/lib not /usr/lib64 on X86_64 + sed -i -e "/LIBDIR_SCHEMA=/s/lib64/lib/" SConstruct + + sed -i 's/-ansi -Wall/-ansi -DBOOST_FILESYSTEM_VERSION=2 -Wall/' SConstruct + + scons configure \ + PREFIX="/usr" \ + INPUT_PLUGINS=all \ + DESTDIR="$pkgdir" + scons +} +package(){ + cd "$srcdir/$pkgname-$pkgver" + scons install + + # fix permissions on SCons-autogenerated files + chmod 644 "${pkgdir}/usr/lib/python2.7/site-packages/mapnik/paths.py" +} diff --git a/community-staging/mapnik/mapnik.install b/community-staging/mapnik/mapnik.install new file mode 100644 index 000000000..46f265d5b --- /dev/null +++ b/community-staging/mapnik/mapnik.install @@ -0,0 +1,11 @@ +post_install() { + /sbin/ldconfig +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/community-staging/mongodb/PKGBUILD b/community-staging/mongodb/PKGBUILD new file mode 100644 index 000000000..c3e44c8fa --- /dev/null +++ b/community-staging/mongodb/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: Mathias Stearn +# Contributor: Alec Thomas + +pkgname=mongodb +pkgver=1.8.1 +pkgrel=2 +pkgdesc='A high-performance, open source, schema-free document-oriented database.' +arch=('i686' 'x86_64') +url='http://www.mongodb.org' +license=('AGPL3') +depends=('boost-libs' 'spidermonkey' 'pcre') +makedepends=('scons' 'boost') +optdepends=('libpcap: needed for mongosniff') +backup=('etc/mongodb.conf') +install="mongodb.install" +source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz" + 'mongodb.rc' + 'mongodb.conf' + 'gcc46fixes.diff' + 'gcc46fixes2.diff') +md5sums=('e75a5cae641a53760df8cb866ad5d929' + '859f8f9bb32ef2bd21fec55ae9a87d0a' + '9e0ea3f96732bb7811f0b64dace56440' + 'e90c78350e25df2d24f98e4767677d4b' + '5097de6ce2c347c3703ab8cf5a611052') + +build() { + export SCONSFLAGS="$MAKEFLAGS" + + cd ${pkgname}-src-r${pkgver} + + patch -Np1 -i ${srcdir}/gcc46fixes.diff + patch -Np1 -i ${srcdir}/gcc46fixes2.diff + + # scons is "special" + sed -i 's/-Wall -Wsign-compare/& -DBOOST_FILESYSTEM_VERSION=2/' SConstruct + + scons \ + all \ + --full +} + +package() { + cd ${pkgname}-src-r${pkgver} + + scons \ + install \ + --full \ + --prefix=${pkgdir}/usr + + install -D -m755 ${srcdir}/mongodb.rc \ + ${pkgdir}/etc/rc.d/mongodb + install -D -m644 ${srcdir}/mongodb.conf \ + ${pkgdir}/etc/mongodb.conf + install -d -m700 ${pkgdir}/var/state/mongodb + + if [ -d ${pkgdir}/usr/lib64 ]; then + mv ${pkgdir}/usr/lib64 ${pkgdir}/usr/lib + fi +} diff --git a/community-staging/mongodb/gcc46fixes.diff b/community-staging/mongodb/gcc46fixes.diff new file mode 100644 index 000000000..487c88f16 --- /dev/null +++ b/community-staging/mongodb/gcc46fixes.diff @@ -0,0 +1,132 @@ +commit fa7cd65e480d80ba1cd196bdcec8f4714e361e8e +Author: Mathias Stearn +Date: Sun Apr 3 19:10:36 2011 -0400 + + g++ 4.6 compile (new -Wunused-but-set-variable warning) + +diff --git a/db/btree.cpp b/db/btree.cpp +index 2758f72..4162d6a 100644 +--- a/db/btree.cpp ++++ b/db/btree.cpp +@@ -1226,8 +1226,6 @@ namespace mongo { + out() << " " << thisLoc.toString() << ".insertHere " << key.toString() << '/' << recordLoc.toString() << ' ' + << lchild.toString() << ' ' << rchild.toString() << " keypos:" << keypos << endl; + +- DiskLoc oldLoc = thisLoc; +- + if ( !basicInsert(thisLoc, keypos, recordLoc, key, order) ) { + // If basicInsert() fails, the bucket will be packed as required by split(). + thisLoc.btreemod()->split(thisLoc, keypos, recordLoc, key, order, lchild, rchild, idx); +diff --git a/db/dbcommands.cpp b/db/dbcommands.cpp +index 2580f86..56c0fce 100644 +--- a/db/dbcommands.cpp ++++ b/db/dbcommands.cpp +@@ -1460,7 +1460,7 @@ namespace mongo { + uassert( 13049, "godinsert must specify a collection", !coll.empty() ); + string ns = dbname + "." + coll; + BSONObj obj = cmdObj[ "obj" ].embeddedObjectUserCheck(); +- DiskLoc loc = theDataFileMgr.insertWithObjMod( ns.c_str(), obj, true ); ++ theDataFileMgr.insertWithObjMod( ns.c_str(), obj, true ); + return true; + } + } cmdGodInsert; +diff --git a/db/index.cpp b/db/index.cpp +index c696e27..218ecb3 100644 +--- a/db/index.cpp ++++ b/db/index.cpp +@@ -127,7 +127,6 @@ namespace mongo { + void getIndexChanges(vector& v, NamespaceDetails& d, BSONObj newObj, BSONObj oldObj, bool &changedId) { + int z = d.nIndexesBeingBuilt(); + v.resize(z); +- NamespaceDetails::IndexIterator i = d.ii(); + for( int i = 0; i < z; i++ ) { + IndexDetails& idx = d.idx(i); + BSONObj idxKey = idx.info.obj().getObjectField("key"); // eg { ts : 1 } +diff --git a/db/update.cpp b/db/update.cpp +index e173902..85c3f9c 100644 +--- a/db/update.cpp ++++ b/db/update.cpp +@@ -992,7 +992,7 @@ namespace mongo { + BSONObj newObj = mss->createNewFromMods(); + checkTooLarge(newObj); + assert(nsdt); +- DiskLoc newLoc = theDataFileMgr.updateRecord(ns, d, nsdt, r, loc , newObj.objdata(), newObj.objsize(), debug); ++ theDataFileMgr.updateRecord(ns, d, nsdt, r, loc , newObj.objdata(), newObj.objsize(), debug); + } + + if ( logop ) { +diff --git a/dbtests/queryoptimizertests.cpp b/dbtests/queryoptimizertests.cpp +index acf9217..2d6f752 100644 +--- a/dbtests/queryoptimizertests.cpp ++++ b/dbtests/queryoptimizertests.cpp +@@ -1558,7 +1558,6 @@ namespace QueryOptimizerTests { + theDataFileMgr.insertWithObjMod( ns(), temp ); + } + BSONObj hint = fromjson( "{$hint:{a:1,b:1}}" ); +- BSONElement hintElt = hint.firstElement(); + auto_ptr< FieldRangeSet > frs( new FieldRangeSet( ns(), fromjson( "{a:5,b:{$in:[2,3,6,9,11]}}" ) ) ); + QueryPlan qp( nsd(), 1, *frs, *frs, fromjson( "{a:5,b:{$in:[2,3,6,9,11]}}" ), BSONObj() ); + boost::shared_ptr c = qp.newCursor(); +@@ -1581,7 +1580,6 @@ namespace QueryOptimizerTests { + theDataFileMgr.insertWithObjMod( ns(), temp ); + } + BSONObj hint = fromjson( "{$hint:{a:1,b:1}}" ); +- BSONElement hintElt = hint.firstElement(); + auto_ptr< FieldRangeSet > frs( new FieldRangeSet( ns(), fromjson( "{a:{$gte:5},b:{$in:[2,3,6,9,11]}}" ) ) ); + QueryPlan qp( nsd(), 1, *frs, *frs, fromjson( "{a:{$gte:5},b:{$in:[2,3,6,9,11]}}" ), BSONObj() ); + boost::shared_ptr c = qp.newCursor(); +diff --git a/shell/shell_utils.cpp b/shell/shell_utils.cpp +index 6c398ef..53484fd 100644 +--- a/shell/shell_utils.cpp ++++ b/shell/shell_utils.cpp +@@ -260,7 +260,7 @@ namespace mongo { + BSONElement e = oneArg(args); + bool found = false; + +- path root( args.firstElement().valuestrsafe() ); ++ path root( e.valuestrsafe() ); + if ( boost::filesystem::exists( root ) ) { + found = true; + boost::filesystem::remove_all( root ); +diff --git a/tools/tool.cpp b/tools/tool.cpp +index 92a4bd4..150481b 100644 +--- a/tools/tool.cpp ++++ b/tools/tool.cpp +@@ -413,14 +413,14 @@ namespace mongo { + ProgressMeter m( fileLength ); + + while ( read < fileLength ) { +- int readlen = fread(buf, 4, 1, file); ++ fread(buf, 4, 1, file); + int size = ((int*)buf)[0]; + if ( size >= BUF_SIZE ) { + cerr << "got an object of size: " << size << " terminating..." << endl; + } + uassert( 10264 , "invalid object size" , size < BUF_SIZE ); + +- readlen = fread(buf+4, size-4, 1, file); ++ fread(buf+4, size-4, 1, file); + + BSONObj o( buf ); + if ( _objcheck && ! o.valid() ) { +diff --git a/util/ramlog.h b/util/ramlog.h +index fc588e6..b2f3aa0 100644 +--- a/util/ramlog.h ++++ b/util/ramlog.h +@@ -108,7 +108,6 @@ namespace mongo { + vector v; + get( v ); + +- bool first = true; + s << "
\n";
+             for( int i = 0; i < (int)v.size(); i++ ) {
+                 assert( strlen(v[i]) > 20 );
+@@ -126,7 +125,7 @@ namespace mongo {
+                         stringstream r;
+                         if( nr == 1 ) r << "repeat last line";
+                         else r << "repeats last " << nr << " lines; ends " << string(v[last]+4,0,15);
+-                        first = false; s << html::a("", r.str(), clean(v,i,x.str()));
++                        s << html::a("", r.str(), clean(v,i,x.str()));
+                     }
+                     else s << x.str();
+                     s << '\n';
diff --git a/community-staging/mongodb/gcc46fixes2.diff b/community-staging/mongodb/gcc46fixes2.diff
new file mode 100644
index 000000000..17257b136
--- /dev/null
+++ b/community-staging/mongodb/gcc46fixes2.diff
@@ -0,0 +1,26 @@
+commit 5931bc0231c91ecdfc5dd313d8cce578eae426bb
+Author: Eliot Horowitz 
+Date:   Wed Mar 30 01:01:18 2011 -0400
+
+    remove unused variable
+
+diff --git a/db/commands.cpp b/db/commands.cpp
+index c301fb3..0bbd765 100644
+--- a/db/commands.cpp
++++ b/db/commands.cpp
+@@ -127,7 +127,6 @@ namespace mongo {
+         if ( strcmp(p, ".$cmd") != 0 ) return false;
+ 
+         bool ok = false;
+-        bool valid = false;
+ 
+         BSONElement e = jsobj.firstElement();
+         map::iterator i;
+@@ -138,7 +137,6 @@ namespace mongo {
+            migrated over to the command object format.
+            */
+         else if ( (i = _commands->find(e.fieldName())) != _commands->end() ) {
+-            valid = true;
+             string errmsg;
+             Command *c = i->second;
+             if ( c->adminOnly() && !startsWith(ns, "admin.") ) {
diff --git a/community-staging/mongodb/mongodb.conf b/community-staging/mongodb/mongodb.conf
new file mode 100644
index 000000000..60d73eae8
--- /dev/null
+++ b/community-staging/mongodb/mongodb.conf
@@ -0,0 +1,6 @@
+# See http://www.mongodb.org/display/DOCS/File+Based+Configuration for format details
+# Run mongod --help to see a list of options
+
+bind_ip = 127.0.0.1
+quiet = true
+dbpath = /var/state/mongodb
diff --git a/community-staging/mongodb/mongodb.install b/community-staging/mongodb/mongodb.install
new file mode 100755
index 000000000..152f36515
--- /dev/null
+++ b/community-staging/mongodb/mongodb.install
@@ -0,0 +1,31 @@
+# vim: syntax=sh
+
+show_msg(){
+    if [ "$(arch)" != "x86_64" ]
+    then
+        cat < /var/log/mongod 2>&1
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      add_daemon mongodb
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Stopping mongodb"
+    [ ! -z "$PID" ]  && kill $PID &> /dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon mongodb
+      while [ ! -z "$(pidof /usr/bin/mongod)" ]; do
+        sleep 1;
+      done
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    $0 start
+    ;;
+  *)
+    echo "usage: $0 {start|stop|restart}"  
+esac
+exit 0
diff --git a/community-staging/ogre/PKGBUILD b/community-staging/ogre/PKGBUILD
new file mode 100644
index 000000000..28e1c7066
--- /dev/null
+++ b/community-staging/ogre/PKGBUILD
@@ -0,0 +1,90 @@
+# $Id: PKGBUILD 47685 2011-05-24 19:41:50Z svenstaro $
+# Maintainer: Sven-Hendrik Haase 
+pkgbase=ogre
+pkgname=('ogre' 'ogre-docs')
+pkgver=1.7.3
+pkgrel=2
+pkgdesc="A scene-oriented, flexible 3D engine written in C++"
+arch=('i686' 'x86_64')
+url='http://www.ogre3d.org'
+license=('custom:MIT')
+depends=('boost-libs' 'freeimage' 'freetype2' 'libxaw' 'libxrandr' 
+         'nvidia-cg-toolkit' 'mesa' 'zziplib' 'ois')
+makedepends=('boost' 'cmake' 'doxygen' 'graphviz' 'ttf-dejavu')
+optdepends=('cppunit: unit testing'
+            'intel-tbb: better threading support'
+            'poco: portability'
+            'boost: for developing using ogre')
+install=ogre.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}_src_v${pkgver//./-}.tar.bz2")
+md5sums=('7a85d3b8f0d64debd186e48ebe9556aa')
+
+build() {
+  cd ${srcdir}/${pkgname}_src_v${pkgver//./-}
+
+  # get a clean build dir
+  [[ -d build ]] && rm -rf build
+	mkdir build
+	cd build
+
+  # generate CMake Makefile
+  cmake .. \
+ 	  -DCMAKE_INSTALL_PREFIX=/usr \
+	  -DOGRE_INSTALL_PLUGINS_HEADERS=TRUE \
+	  -DOGRE_INSTALL_SAMPLES=TRUE \
+	  -DOGRE_INSTALL_DOCS=TRUE \
+    -DOGRE_INSTALL_MEDIA=TRUE \
+	  -DOGRE_INSTALL_SAMPLES_SOURCE=TRUE \
+    -DCMAKE_BUILD_TYPE=Release # set =Debug for debugging version
+
+  # compile
+  make
+
+  # generate docs
+  if [[ $(which dot) && $(which doxygen) ]]; then
+    make doc
+  fi
+}
+
+package_ogre() {
+  optdepends=('ogre-docs: documentation')
+
+  cd ${srcdir}/${pkgname}_src_v${pkgver//./-}/build
+
+  # install the bugger
+  make DESTDIR=${pkgdir} install
+
+  # fix up samples
+  install -dm775 -o root -g users ${pkgdir}/opt/OGRE/samples/
+  mv ${pkgdir}/usr/share/OGRE/*.cfg ${pkgdir}/opt/OGRE/samples/
+  mv ${pkgdir}/usr/bin/SampleBrowser ${pkgdir}/opt/OGRE/samples/
+
+  # make sample launcher
+  echo "#!/bin/bash" > ${pkgdir}/usr/bin/OgreSampleBrowser
+  echo "cd /opt/OGRE/samples && ./SampleBrowser" >> ${pkgdir}/usr/bin/OgreSampleBrowser
+  chmod +x ${pkgdir}/usr/bin/OgreSampleBrowser
+  
+  # install license
+  install -Dm644 ../Docs/License.html ${pkgdir}/usr/share/licenses/${pkgname}/license.html
+
+  # move docs out of this package
+  mv ${pkgdir}/usr/share/OGRE/docs ${srcdir}/docs
+}
+
+package_ogre-docs() {
+  pkgdesc="Documentation for ogre"
+  depends=()
+
+  cd ${srcdir}/${pkgbase}_src_v${pkgver//./-}/build
+
+  # move docs into this package
+  install -dm755 ${pkgdir}/usr/share/doc
+  mv ${srcdir}/docs ${pkgdir}/usr/share/doc/OGRE/
+
+  # symlink for docs
+  install -dm755 ${pkgdir}/usr/share/OGRE/
+  cd ${pkgdir}/usr/share
+  ln -s doc/OGRE/ OGRE/docs
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-staging/ogre/ogre.install b/community-staging/ogre/ogre.install
new file mode 100644
index 000000000..5db668d9e
--- /dev/null
+++ b/community-staging/ogre/ogre.install
@@ -0,0 +1,4 @@
+post_install() {
+    echo "To view the OGRE samples just run OgreSampleBrowser or launch"
+    echo "it directly in /opt/OGRE/samples/"
+}
diff --git a/community-staging/performous/PKGBUILD b/community-staging/performous/PKGBUILD
new file mode 100644
index 000000000..16518d9c9
--- /dev/null
+++ b/community-staging/performous/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 47641 2011-05-24 14:35:06Z tdziedzic $
+# Maintainer : Laurent Carlier 
+# Contributor: Christoph Zeiler 
+
+pkgname=performous
+pkgver=0.6.1
+pkgrel=5
+pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"'
+arch=('i686' 'x86_64')
+url="http://performous.org/"
+license=('GPL')
+depends=('boost-libs>=1.46' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew' 'libxml++' 'portaudio' 'portmidi' \
+         'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo')
+makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.46')
+optdepends=('performous-freesongs: free songs for performous')
+source=(http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/Performous-$pkgver-Source.tar.bz2)
+md5sums=('451a759de77984b5a699e91107fe52e2')
+
+build() {
+  cd ${srcdir}/Performous-${pkgver}-Source
+
+  mkdir -p build
+  cd build
+
+  # fix config loading with libxml++
+  export LDFLAGS=${LDFLAGS/-Wl,--as-needed/}
+  # fix to built against boost 1.46
+  export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
+
+  cmake -DCMAKE_BUILD_TYPE=Release \
+	-DCMAKE_INSTALL_PREFIX=/usr ..
+
+  make
+}
+
+package() {
+  cd ${srcdir}/Performous-${pkgver}-Source/build
+
+  make DESTDIR="$pkgdir" install
+}
diff --git a/community-staging/perl-gnome2-wnck/PKGBUILD b/community-staging/perl-gnome2-wnck/PKGBUILD
new file mode 100644
index 000000000..25e0df822
--- /dev/null
+++ b/community-staging/perl-gnome2-wnck/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 47727 2011-05-25 02:44:57Z tdziedzic $
+# Maintainer Sergej Pupykin 
+# Contributor: Alessio 'mOLOk' Bolognino 
+
+pkgname=perl-gnome2-wnck
+pkgver=0.16
+pkgrel=4
+pkgdesc="Perl interface to the Window Navigator Construction Kit"
+arch=('i686' 'x86_64')
+license=("GPL" "Artistic")
+url="http://search.cpan.org/dist/Gnome2-Wnck"
+depends=('perl' 'perl-extutils-depends' 'perl-extutils-pkgconfig' 'gnome-perl' 'libwnck')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/T/TS/TSCH/Gnome2-Wnck-${pkgver}.tar.gz")
+md5sums=('439f4569ffd7af96ef1d3feaab23760e')
+
+build() {
+  cd Gnome2-Wnck-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd Gnome2-Wnck-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-gssapi/PKGBUILD b/community-staging/perl-gssapi/PKGBUILD
new file mode 100644
index 000000000..714407586
--- /dev/null
+++ b/community-staging/perl-gssapi/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 47705 2011-05-25 02:18:24Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Maintainer: Charles Mauch 
+
+pkgname=perl-gssapi
+pkgver=0.28
+pkgrel=4
+pkgdesc="Perl/CPAN Module GSSAPI"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/GSSAPI"
+license=("GPL" "PerlArtistic")
+depends=('krb5')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/A/AG/AGROLMS/GSSAPI-${pkgver}.tar.gz")
+md5sums=('65f00a0749212af064289c8a05e59b3f')
+
+build() {
+  cd GSSAPI-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd GSSAPI-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-gstreamer-interfaces/PKGBUILD b/community-staging/perl-gstreamer-interfaces/PKGBUILD
new file mode 100644
index 000000000..61a9b62e6
--- /dev/null
+++ b/community-staging/perl-gstreamer-interfaces/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 47709 2011-05-25 02:21:42Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Maintainer: Corrado Primier 
+
+pkgname=perl-gstreamer-interfaces
+pkgver=0.06
+pkgrel=3
+pkgdesc="GStreamer::Interfaces"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/GStreamer-Interfaces"
+license=('GPL' 'PerlArtistic')
+depends=('glib-perl' 'gstreamer0.10-base' 'perl-extutils-pkgconfig' 'perl-gstreamer' 'perl-extutils-depends')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/T/TS/TSCH/GStreamer-Interfaces-${pkgver}.tar.gz")
+md5sums=('aa9583a484fa6829935b360887ecda45')
+
+build() {
+  cd  GStreamer-Interfaces-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd  GStreamer-Interfaces-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-gstreamer/PKGBUILD b/community-staging/perl-gstreamer/PKGBUILD
new file mode 100644
index 000000000..84f62fa75
--- /dev/null
+++ b/community-staging/perl-gstreamer/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 47702 2011-05-25 01:05:10Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Contributor: Corrado Primier 
+
+pkgname=perl-gstreamer
+pkgver=0.16
+pkgrel=1
+pkgdesc="Interface to the GStreamer library"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/GStreamer"
+license=('GPL' 'PerlArtistic')
+depends=('glib-perl>=1.180' 'gstreamer0.10' 'perl-extutils-pkgconfig>=1.07' 'perl-extutils-depends>=0.205')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/T/TS/TSCH/GStreamer-${pkgver}.tar.gz")
+md5sums=('e2d51158f3c671c0e4c11a82c9171b2b')
+
+build() {
+  cd  GStreamer-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd  GStreamer-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-gtk2-mozembed/PKGBUILD b/community-staging/perl-gtk2-mozembed/PKGBUILD
new file mode 100644
index 000000000..bc2a503a0
--- /dev/null
+++ b/community-staging/perl-gtk2-mozembed/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 47713 2011-05-25 02:25:45Z tdziedzic $
+# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# Maintainer: Corrado Primier 
+
+pkgname=perl-gtk2-mozembed
+pkgver=0.09
+pkgrel=1
+pkgdesc="Interface to the Mozilla embedding widget"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Gtk2-MozEmbed"
+license=('GPL' 'PerlArtistic')
+depends=('perl-extutils-pkgconfig>=1.03' 'gtk2-perl>=1.081' 'perl-extutils-depends>=0.20' 'xulrunner>1.9')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/T/TS/TSCH/Gtk2-MozEmbed-${pkgver}.tar.gz")
+md5sums=('8c391fbe1ebf23a0af22d5ad3b571f19')
+
+build() {
+  cd  Gtk2-MozEmbed-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd  Gtk2-MozEmbed-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-gtk2-sexy/PKGBUILD b/community-staging/perl-gtk2-sexy/PKGBUILD
new file mode 100644
index 000000000..6b4789bd2
--- /dev/null
+++ b/community-staging/perl-gtk2-sexy/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 47716 2011-05-25 02:28:38Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Contributor: Charles Mauch 
+# Creator: Florian Ragwitz 
+
+pkgname=perl-gtk2-sexy
+pkgver=0.05
+pkgrel=5
+pkgdesc="Perl/CPAN Module Gtk2::Sexy"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Gtk2-Sexy"
+license=('GPL' 'PerlArtistic')
+depends=('gtk2' 'libsexy')
+makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends' 'gtk2-perl')
+options=(docs !emptydirs)
+source=("http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-Sexy-${pkgver}.tar.gz")
+md5sums=('3e291808250d7b956ba8443013a1b461')
+
+build() {
+  cd Gtk2-Sexy-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor 
+
+  make 
+}
+
+package() {
+  cd Gtk2-Sexy-${pkgver}
+
+  make install DESTDIR=${pkgdir} 
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-gtk2-trayicon/PKGBUILD b/community-staging/perl-gtk2-trayicon/PKGBUILD
new file mode 100644
index 000000000..a4cdb9e76
--- /dev/null
+++ b/community-staging/perl-gtk2-trayicon/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 47733 2011-05-25 02:54:41Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Maintainer: Tom K 
+
+pkgname=perl-gtk2-trayicon
+pkgver=0.06
+pkgrel=7
+pkgdesc="Perl interface to the EggTrayIcon library"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Gtk2-TrayIcon/"
+depends=('gtk2-perl')
+makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends')
+license=("GPL")
+options=('!emptydirs')
+source=("http://downloads.sourceforge.net/sourceforge/gtk2-perl/Gtk2-TrayIcon-${pkgver}.tar.gz")
+md5sums=('522c328f14681a25d76eeaf317e05049')
+
+build() {
+  cd  Gtk2-TrayIcon-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd  Gtk2-TrayIcon-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-gtk2-webkit/PKGBUILD b/community-staging/perl-gtk2-webkit/PKGBUILD
new file mode 100644
index 000000000..269e6080a
--- /dev/null
+++ b/community-staging/perl-gtk2-webkit/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 47720 2011-05-25 02:33:54Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Contributor: Corrado Primier 
+
+pkgname=perl-gtk2-webkit
+pkgver=0.09
+pkgrel=1
+pkgdesc="Gtk2::WebKit"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/Gtk2-WebKit"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'gtk2-perl' 'libwebkit' 'perl-extutils-depends' 'perl-extutils-pkgconfig')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/F/FL/FLORA/Gtk2-WebKit-${pkgver}.tar.gz)
+md5sums=('e696fc2b15d6189370e19bce9a9e56f3')
+
+build() {
+  cd Gtk2-WebKit-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd Gtk2-WebKit-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-tk-tablematrix/PKGBUILD b/community-staging/perl-tk-tablematrix/PKGBUILD
new file mode 100644
index 000000000..8f9dd8986
--- /dev/null
+++ b/community-staging/perl-tk-tablematrix/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 47698 2011-05-24 20:28:40Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Maintainer: Charles Mauch 
+
+pkgname=perl-tk-tablematrix
+pkgver=1.23
+pkgrel=7
+pkgdesc="Display data in TableSpreadsheet format"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/Tk-TableMatrix"
+license=("GPL" "PerlArtistic")
+depends=('perl-tk')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/C/CE/CERNEY/Tk-TableMatrix-${pkgver}.tar.gz")
+md5sums=('6b7653d129bf1a8327054a88b58d6364')
+
+build() {
+  cd Tk-TableMatrix-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd Tk-TableMatrix-${pkgver}
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+
+  rm -f ${pkgdir}/usr/lib/perl5/vendor_perl/auto/Tk/pTk/extralibs.ld
+}
diff --git a/community-staging/perl-xml-libxslt/PKGBUILD b/community-staging/perl-xml-libxslt/PKGBUILD
new file mode 100644
index 000000000..de58675ec
--- /dev/null
+++ b/community-staging/perl-xml-libxslt/PKGBUILD
@@ -0,0 +1,30 @@
+# Id:$
+# Maintainer: François Charette 
+
+pkgname=perl-xml-libxslt
+pkgver=1.70
+pkgrel=5
+pkgdesc="Interface to the gnome libxslt library "
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/XML-LibXSLT"
+license=('GPL')
+depends=('perl-xml-libxml' 'libxslt')
+source=(http://www.cpan.org/authors/id/P/PA/PAJAS/XML-LibXSLT-$pkgver.tar.gz) 
+md5sums=('c63a7913999de076e5c911810f69b392')
+
+build() {
+  cd  $srcdir/XML-LibXSLT-$pkgver
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+  make
+}
+
+check () {
+  cd  $srcdir/XML-LibXSLT-$pkgver
+  make test
+}
+
+package() {
+  cd  $srcdir/XML-LibXSLT-$pkgver
+  make install DESTDIR=$pkgdir
+}
+
diff --git a/community-staging/pingus/ChangeLog b/community-staging/pingus/ChangeLog
new file mode 100644
index 000000000..c182f92eb
--- /dev/null
+++ b/community-staging/pingus/ChangeLog
@@ -0,0 +1,21 @@
+2010-03-18  Jaroslav Lichtblau  
+
+        * pingus 0.7.2-8
+        * Rebuilt against boost 1.41.0
+
+2010-02-23  Eric Belanger  
+
+	* pingus 0.7.2-7
+	* Rebuilt against boost 1.42.0
+
+2010-01-20  Eric Belanger  
+
+	* pingus 0.7.2-6
+	* Rebuilt against libpng 1.4/libjpeg 8
+
+2009-07-13  Eric Belanger  
+
+	* pingus 0.7.2-2
+	* Rebuilt against boost 1.39
+	* Added gcc 4.4 patch
+	* Added ChangeLog
diff --git a/community-staging/pingus/PKGBUILD b/community-staging/pingus/PKGBUILD
new file mode 100644
index 000000000..bba3aea9e
--- /dev/null
+++ b/community-staging/pingus/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 47672 2011-05-24 18:43:41Z tdziedzic $
+# Maintainer: Eric Belanger 
+
+pkgname=pingus
+pkgver=0.7.3
+pkgrel=4
+pkgdesc="A Lemmings clone, i.e. a level-based puzzle game."
+arch=('i686' 'x86_64')
+url="http://pingus.seul.org"
+license=('GPL')
+depends=('gcc-libs' 'sdl_image' 'sdl_mixer' 'boost-libs>=1.46')
+makedepends=('scons' 'boost>=1.46')
+source=(http://pingus.seul.org/files/${pkgname}-${pkgver}.tar.bz2 pingus.desktop)
+md5sums=('7d1a0b0d658cc46dd09d6274f39acc7d'
+         'b94efaa6e2de959de7fdb50cfc7dbdea')
+sha1sums=('ca7fe5cea65fb3392d1e81056a879831925502f2'
+          'f35649f3b0b2bfcb01ce75085cf719dcaa609a54')
+
+build() {
+  cd ${pkgname}-${pkgver}
+
+  scons prefix=/usr
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+
+  ./install.sh "${pkgdir}/usr"
+
+  install -D -m644 "${srcdir}/pingus.desktop" "${pkgdir}/usr/share/applications/pingus.desktop"
+}
diff --git a/community-staging/pingus/pingus.desktop b/community-staging/pingus/pingus.desktop
new file mode 100644
index 000000000..158eaa820
--- /dev/null
+++ b/community-staging/pingus/pingus.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Pingus
+Comment=A free Lemmings[tm] clone
+Exec=pingus
+Terminal=false
+Type=Application
+Categories=Application;Game;LogicGame
+Icon=/usr/share/pingus/data/images/core/editor/actions.png
diff --git a/community-staging/pokerth/PKGBUILD b/community-staging/pokerth/PKGBUILD
new file mode 100644
index 000000000..040111905
--- /dev/null
+++ b/community-staging/pokerth/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 47635 2011-05-24 14:23:55Z tdziedzic $
+# Maintainer: Mateusz Herych 
+# Contributor: Vasco Costa 
+
+pkgname=pokerth
+_realname=PokerTH
+pkgver=0.8.3
+pkgrel=4
+pkgdesc="Poker game written in C++/QT4"
+arch=('i686' 'x86_64')
+url="http://www.pokerth.net/"
+license=('GPL' 'custom')
+depends=('curl' 'boost-libs>=1.43.0' 'gsasl' 'gnutls' 'qt' 'sdl_mixer')
+makedepends=('boost')
+source=(http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-src.tar.bz2)
+md5sums=('adbe56ad5f547eb255dad91de564bf1c')                                                                                                               
+
+build() {
+  cd $_realname-$pkgver-src
+
+  sed -i 's/QMAKE_CXXFLAGS += -std=gnu++0x/QMAKE_CXXFLAGS += -std=gnu++0x -DBOOST_FILESYSTEM_VERSION=2/' *.pro
+
+
+  # fix g++: error: unrecognized option '-no_dead_strip_inits_and_terms'
+  sed \
+    -e 's/QMAKE_LFLAGS += -no_dead_strip_inits_and_terms//' \
+    -i zlib_compress.pro pokerth_game.pro pokerth_server.pro
+
+  qmake $pkgname.pro
+
+  make
+}
+
+package() {
+  cd $_realname-$pkgver-src
+
+  make INSTALL_ROOT="$pkgdir" install
+
+  install -D $pkgname "$pkgdir/usr/bin/$pkgname"
+  install -D -m644 docs/pokerth.1 "$pkgdir/usr/share/man/man1/pokerth.1"
+
+  install -D -m644 data/data-copyright.txt "$pkgdir/usr/share/licenses/pokerth/data-copyright.txt"
+  rm -f "$pkgdir/usr/share/pokerth/data/data-copyright.txt"
+}
diff --git a/community-staging/qbittorrent/PKGBUILD b/community-staging/qbittorrent/PKGBUILD
new file mode 100644
index 000000000..ae549bae2
--- /dev/null
+++ b/community-staging/qbittorrent/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Maintainer: Daniel J Griffiths 
+# Contributor: Geoffroy Carrier 
+
+pkgname=qbittorrent
+pkgver=2.7.3
+pkgrel=2
+pkgdesc="A bittorrent client written in C++ / Qt4 using the good libtorrent library"
+arch=('i686' 'x86_64')
+url="http://www.qbittorrent.org/"
+license=('GPL')
+depends=('qt' 'libtorrent-rasterbar' 'xdg-utils')
+makedepends=('boost' 'geoip')
+optdepends=('python2: needed for search'
+            'geoip: improves peer country resolution')
+install='qbittorrent.install'
+source=("http://downloads.sourceforge.net/sourceforge/qbittorrent/${pkgname}-${pkgver}.tar.gz"
+        'python2.patch')
+md5sums=('ff1b294133f8dadc781c8f0df50d248d'
+         'db0d79fee8ce3470ad3741d36b02a94c')
+
+build() {
+  cd ${pkgname}-${pkgver}
+
+  sed -i \
+    -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+    -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+    $(find ./ -name '*.py')
+
+  patch -Np1 -i ${srcdir}/python2.patch
+
+  ./configure \
+    --prefix=/usr
+
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+
+  make INSTALL_ROOT=${pkgdir} install
+}
diff --git a/community-staging/qbittorrent/python2.patch b/community-staging/qbittorrent/python2.patch
new file mode 100644
index 000000000..24ab742db
--- /dev/null
+++ b/community-staging/qbittorrent/python2.patch
@@ -0,0 +1,33 @@
+diff -Nur qbittorrent-2.4.8.orig/src/searchengine/searchengine.cpp qbittorrent-2.4.8/src/searchengine.cpp
+--- qbittorrent-2.4.8.orig/src/searchengine/searchengine.cpp	2010-10-01 13:52:53.000000000 -0700
++++ qbittorrent-2.4.8/src/searchengine/searchengine.cpp	2010-10-25 01:20:20.046700620 -0700
+@@ -354,7 +354,7 @@
+   //on change le texte du label courrant
+   currentSearchTab->getCurrentLabel()->setText(tr("Results")+" (0):");
+   // Launch search
+-  searchProcess->start("python", params, QIODevice::ReadOnly);
++  searchProcess->start("python2", params, QIODevice::ReadOnly);
+   searchTimeout->start(180000); // 3min
+ }
+ 
+@@ -421,7 +421,7 @@
+     params << engine_url;
+     params << torrent_url;
+     // Launch search
+-    downloadProcess->start("python", params, QIODevice::ReadOnly);
++    downloadProcess->start("python2", params, QIODevice::ReadOnly);
+   }
+ }
+ 
+diff -Nur qbittorrent-2.4.8.orig/src/searchengine/supportedengines.h qbittorrent-2.4.8/src/supportedengines.h
+--- qbittorrent-2.4.8.orig/src/searchengine/supportedengines.h	2010-10-24 01:32:39.000000000 -0700
++++ qbittorrent-2.4.8/src/searchengine/supportedengines.h	2010-10-25 01:18:42.230032834 -0700
+@@ -144,7 +144,7 @@
+     QStringList params;
+     params << misc::searchEngineLocation()+QDir::separator()+"nova2.py";
+     params << "--capabilities";
+-    nova.start("python", params, QIODevice::ReadOnly);
++    nova.start("python2", params, QIODevice::ReadOnly);
+     nova.waitForStarted();
+     nova.waitForFinished();
+     QString capabilities = QString(nova.readAll());
diff --git a/community-staging/qbittorrent/qbittorrent.install b/community-staging/qbittorrent/qbittorrent.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/community-staging/qbittorrent/qbittorrent.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/community-staging/schroot/PKGBUILD b/community-staging/schroot/PKGBUILD
new file mode 100644
index 000000000..949227809
--- /dev/null
+++ b/community-staging/schroot/PKGBUILD
@@ -0,0 +1,71 @@
+# $Id: PKGBUILD 47626 2011-05-24 13:55:50Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Contributor: Andreas Wagner 
+
+pkgname=schroot
+pkgver=1.4.22
+pkgrel=1
+pkgdesc="Allows users to execute shell commands under different root filesystems. \
+	 (Successor to dchroot)."
+url="http://packages.qa.debian.org/s/schroot.html"
+license=('GPL3')
+depends=('pam' 'lockdev' 'boost' 'e2fsprogs')
+optdepends=('btrfs-progs-unstable' 'lvm2')
+arch=('i686' 'x86_64')
+conflicts=('dchroot')
+replaces=('dchroot')
+provides=('schroot' 'sbuild' 'dchroot')
+backup=('etc/schroot/schroot.conf'
+	'etc/schroot/script-arch32'
+	'etc/schroot/mount-arch32'
+	'etc/schroot/copyfiles-arch32')
+options=(!libtool)
+source=("http://ftp.debian.org/debian/pool/main/s/$pkgname/${pkgname}_${pkgver}.orig.tar.bz2"
+	'script-arch32'
+	'copyfiles-arch32'
+	'mount-arch32')
+md5sums=('0dde4c76b1623cc277d92f8dc06109d1'
+         '8e86445e188129232e1782d978dfc967'
+         'd4558d5691fbdaa46ce669e8f327133b'
+         'f0d5d5b5e34a860f6f90b5628c680f46')
+
+build() {
+  cd ${pkgname}-${pkgver}
+
+  export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
+
+  ./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc --localstatedir=/var \
+	--enable-dchroot --enable-lvm-snapshot --enable-btrfs-snapshot \
+	BTRFS=/sbin/btrfs \
+	BTRFSCTL=/sbin/btrfsctl \
+	LVCREATE=/sbin/lvcreate \
+	LVREMOVE=/sbin/lvremove
+# --enable-csbuild
+
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+
+  make DESTDIR=$pkgdir  install
+
+  install -m 644 ${srcdir}/script-arch32 ${pkgdir}/etc/schroot
+  install -m 644 ${srcdir}/mount-arch32 ${pkgdir}/etc/schroot
+  install -m 644 ${srcdir}/copyfiles-arch32 ${pkgdir}/etc/schroot
+  cat >> $pkgdir/etc/schroot/schroot.conf << EOF
+
+[Arch32]
+description=Arch32
+type=directory
+directory=/opt/arch32
+priority=1
+#users=username
+groups=users
+root-groups=root
+script-config=script-arch32
+personality=linux32
+aliases=32,default
+
+EOF
+}
diff --git a/community-staging/schroot/copyfiles-arch32 b/community-staging/schroot/copyfiles-arch32
new file mode 100644
index 000000000..7dd32b7d9
--- /dev/null
+++ b/community-staging/schroot/copyfiles-arch32
@@ -0,0 +1,8 @@
+/etc/group
+/etc/hosts
+/etc/passwd
+/etc/resolv.conf
+/etc/rc.conf
+/etc/localtime
+/etc/locale.gen
+/etc/profile.d/locale.sh
\ No newline at end of file
diff --git a/community-staging/schroot/mount-arch32 b/community-staging/schroot/mount-arch32
new file mode 100644
index 000000000..075d6e451
--- /dev/null
+++ b/community-staging/schroot/mount-arch32
@@ -0,0 +1,12 @@
+# mount.defaults: static file system information for chroots.
+# Note that the mount point will be prefixed by the chroot path
+# (CHROOT_PATH)
+#
+# 					
+proc		/proc		proc	defaults	0	0
+/dev		/dev		none	rw,bind		0	0
+#/dev/pts	/dev/pts	none	rw,bind		0	0
+tmpfs		/dev/shm	tmpfs	defaults	0	0
+/sys		/sys		none	rw,bind		0	0
+/tmp		/tmp		none	rw,bind		0	0
+/home		/home		none	rw,bind		0	0
diff --git a/community-staging/schroot/script-arch32 b/community-staging/schroot/script-arch32
new file mode 100644
index 000000000..fb87b4822
--- /dev/null
+++ b/community-staging/schroot/script-arch32
@@ -0,0 +1,15 @@
+# Default settings for chroot setup and exec scripts.
+# See schroot-script-config(5) for further details.
+
+# Filesystems to mount inside the chroot.
+FSTAB="/etc/schroot/mount-arch32"
+
+# Files to copy from the host system into the chroot.
+COPYFILES="/etc/schroot/copyfiles-arch32"
+
+# Is sbuild installed?
+if [ -x /usr/bin/sbuild ]; then
+  SBUILD="true"
+else
+  SBUILD="false"
+fi
diff --git a/community-staging/smc/PKGBUILD b/community-staging/smc/PKGBUILD
new file mode 100644
index 000000000..a3fe89406
--- /dev/null
+++ b/community-staging/smc/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 47652 2011-05-24 16:35:46Z schuay $
+# Maintainer:
+# Contributor: Juergen Hoetzel 
+# Contributor: Kritoke 
+
+pkgname=smc
+pkgver=1.9
+pkgrel=11
+pkgdesc="Secret Maryo Chronicles"
+arch=('i686' 'x86_64')
+url="http://www.secretmaryo.org/"
+license=('GPL3')
+depends=('sdl_image' 'sdl_ttf' 'sdl_mixer' 'cegui' 'boost-libs' 'smc-data')
+makedepends=('autoconf' 'automake' 'boost')
+source=(http://downloads.sourceforge.net/smclone/$pkgname-$pkgver.tar.bz2
+        smc-for-cegui-v0-7.diff
+        smc.desktop
+        smc.png)
+md5sums=('75ab7826303c49aec25b052a8b90287f'
+         '51dfea21b741ad19df14e738df52f1cf'
+         '80fe208132ff41dd7677a53ee429ecdb'
+         'efca7580e28748625eb676c9d24ee122')
+
+build() {
+  cd $srcdir/$pkgname-$pkgver
+
+  # to remove when smc will be compatible with cegui-0.7.x
+  patch -Np1 -i ${srcdir}/smc-for-cegui-v0-7.diff
+  # fix for boost-1.46
+  export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
+
+  ./autogen.sh
+  ./configure --prefix=/usr
+}
+
+package() {
+  cd $srcdir/$pkgname-$pkgver
+
+  make install DESTDIR=$pkgdir
+  # install some freedesktop.org compatibility
+  install -Dm644 $srcdir/$pkgname.desktop $pkgdir/usr/share/applications/$pkgname.desktop
+  install -Dm644 $srcdir/$pkgname.png $pkgdir/usr/share/pixmaps/$pkgname.png
+
+  rm -rf $pkgdir/usr/share/smc/
+}
diff --git a/community-staging/smc/smc-for-cegui-v0-7.diff b/community-staging/smc/smc-for-cegui-v0-7.diff
new file mode 100644
index 000000000..a99cbce6c
--- /dev/null
+++ b/community-staging/smc/smc-for-cegui-v0-7.diff
@@ -0,0 +1,437 @@
+diff -ur smc-1.9/configure.ac smc-1.9-b/configure.ac
+--- smc-1.9/configure.ac	2009-08-17 15:59:00.000000000 +0200
++++ smc-1.9-b/configure.ac	2011-01-19 00:43:37.809884881 +0100
+@@ -53,7 +53,7 @@
+ 	AC_MSG_ERROR([SDL_ttf library not found]))
+ 
+ # Check for the CEGUI library
+-PKG_CHECK_MODULES(CEGUI, CEGUI-OPENGL >= 0.5.0)
++PKG_CHECK_MODULES(CEGUI, CEGUI-OPENGL >= 0.7.0)
+ CPPFLAGS="$CPPFLAGS $CEGUI_CFLAGS"
+ LIBS="$LIBS $CEGUI_LIBS"
+ 
+diff -ur smc-1.9/src/core/editor.cpp smc-1.9-b/src/core/editor.cpp
+--- smc-1.9/src/core/editor.cpp	2009-08-13 17:11:42.000000000 +0200
++++ smc-1.9-b/src/core/editor.cpp	2011-01-19 00:44:46.734328121 +0100
+@@ -118,16 +118,10 @@
+ 	return tmp;
+ }
+ 
+-void cEditor_Item_Object :: draw( const CEGUI::Vector3 &position, float alpha, const CEGUI::Rect &clipper ) const
++void cEditor_Item_Object :: draw( CEGUI::GeometryBuffer &buffer, const CEGUI::Rect &targetRect, float alpha, const CEGUI::Rect *clipper ) const
+ {
+ 	// draw text
+-	list_text->draw( position, alpha, clipper );
+-}
+-
+-void cEditor_Item_Object :: draw( CEGUI::RenderCache &cache, const CEGUI::Rect &targetRect, float zBase, float alpha, const CEGUI::Rect *clipper ) const
+-{
+-	// draw text
+-	list_text->draw( cache, targetRect, zBase, alpha, clipper );
++	list_text->draw( buffer, targetRect, alpha, clipper );
+ }
+ 
+ void cEditor_Item_Object :: Draw_Image( void )
+@@ -533,12 +527,12 @@
+ 	if( editor_window->getXPosition().asRelative( 1 ) >= 0 )
+ 	{
+ 		// Listbox dimension
+-		float list_posy = listbox_items->getUnclippedPixelRect().d_top * global_downscaley;
+-		float list_height = listbox_items->getUnclippedPixelRect().getHeight() * global_downscaley;
++		float list_posy = listbox_items->getUnclippedOuterRect().d_top * global_downscaley;
++		float list_height = listbox_items->getUnclippedOuterRect().getHeight() * global_downscaley;
+ 		// Vertical ScrollBar Position
+ 		float scroll_pos = listbox_items->getVertScrollbar()->getScrollPosition() * global_downscaley;
+ 		// font height
+-		float font_height = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" )->getFontHeight() * global_downscaley;
++		float font_height = CEGUI::FontManager::getSingleton().get( "bluebold_medium" ).getFontHeight() * global_downscaley;
+ 
+ 		// draw items
+ 		for( unsigned int i = 0; i < listbox_items->getItemCount(); i++ )
+diff -ur smc-1.9/src/core/editor.h smc-1.9-b/src/core/editor.h
+--- smc-1.9/src/core/editor.h	2009-02-18 05:21:30.000000000 +0100
++++ smc-1.9-b/src/core/editor.h	2011-01-19 00:43:37.809884881 +0100
+@@ -62,8 +62,7 @@
+ 	*/
+ 	virtual	CEGUI::Size getPixelSize( void ) const;
+ 	// draw
+-	void draw( const CEGUI::Vector3 &position, float alpha, const CEGUI::Rect &clipper ) const;
+-	void draw( CEGUI::RenderCache &cache, const CEGUI::Rect &targetRect, float zBase, float alpha, const CEGUI::Rect *clipper) const;
++	void draw(CEGUI::GeometryBuffer& buffer, const CEGUI::Rect& targetRect, float alpha, const CEGUI::Rect* clipper) const;
+ 	// draw image
+ 	void Draw_Image( void );
+ 
+diff -ur smc-1.9/src/core/game_core.cpp smc-1.9-b/src/core/game_core.cpp
+--- smc-1.9/src/core/game_core.cpp	2009-08-16 18:44:42.000000000 +0200
++++ smc-1.9-b/src/core/game_core.cpp	2011-01-19 00:59:02.668958883 +0100
+@@ -265,7 +265,7 @@
+ 
+ 
+ 	// align text
+-	CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" );
++	CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( "bluebold_medium" );
+ 	// fixme : Can't handle multiple lines of text
+ 	float text_width = font->getTextExtent( text ) * global_downscalex;
+ 
+@@ -1182,7 +1182,7 @@
+ 	text_default->setText( gui_text );
+ 
+ 	// align text
+-	CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" );
++	CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( "bluebold_medium" );
+ 	float text_width = font->getTextExtent( gui_text ) * global_downscalex;
+ 
+ 	text_default->setWidth( CEGUI::UDim( 0, ( text_width + 15 ) * global_upscalex ) );
+@@ -1190,7 +1190,7 @@
+ 	text_default->moveToFront();
+ 
+ 	// set window height
+-	text_default->setHeight( CEGUI::UDim( 0, font->getFontHeight() * font->getFormattedLineCount( gui_text, text_default->getUnclippedInnerRect(), CEGUI::LeftAligned ) + ( 12 * global_upscaley ) ) );
++	text_default->setHeight( CEGUI::UDim( 0, font->getFontHeight() + ( 12 * global_upscaley ) ) );
+ 
+ 	while( draw )
+ 	{
+diff -ur smc-1.9/src/core/main.cpp smc-1.9-b/src/core/main.cpp
+--- smc-1.9/src/core/main.cpp	2009-05-12 10:36:04.000000000 +0200
++++ smc-1.9-b/src/core/main.cpp	2011-01-19 00:43:37.809884881 +0100
+@@ -444,13 +444,15 @@
+ 
+ 	if( pGuiSystem )
+ 	{
+-		delete pGuiSystem;
++		CEGUI::ResourceProvider* rp = pGuiSystem->getResourceProvider();
++		pGuiSystem->destroy();
+ 		pGuiSystem = NULL;
++		delete rp;
+ 	}
+ 
+ 	if( pGuiRenderer )
+ 	{
+-		delete pGuiRenderer;
++		pGuiRenderer->destroy( *pGuiRenderer );
+ 		pGuiRenderer = NULL;
+ 	}
+ 
+@@ -507,7 +509,7 @@
+ 		}
+ 		case SDL_VIDEORESIZE:
+ 		{
+-			pGuiRenderer->setDisplaySize( CEGUI::Size( static_cast(ev->resize.w), static_cast(ev->resize.h) ) );
++			pGuiSystem->notifyDisplaySizeChanged( CEGUI::Size( static_cast(ev->resize.w), static_cast(ev->resize.h) ) );
+ 			break;
+ 		}
+ 		case SDL_KEYDOWN:
+diff -ur smc-1.9/src/gui/hud.cpp smc-1.9-b/src/gui/hud.cpp
+--- smc-1.9/src/gui/hud.cpp	2009-05-01 15:00:16.000000000 +0200
++++ smc-1.9-b/src/gui/hud.cpp	2011-01-19 00:43:37.816550365 +0100
+@@ -946,7 +946,7 @@
+ 		m_text_debug_text->setVisible( 1 );
+ 
+ 		// update position
+-		CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" );
++		CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( "bluebold_medium" );
+ 		float text_width = font->getTextExtent( gui_text ) * global_downscalex;
+ 
+ 		if( text_width > 800.0f )
+diff -ur smc-1.9/src/input/mouse.cpp smc-1.9-b/src/input/mouse.cpp
+--- smc-1.9/src/input/mouse.cpp	2009-04-24 21:16:58.000000000 +0200
++++ smc-1.9-b/src/input/mouse.cpp	2011-01-19 00:43:37.813217623 +0100
+@@ -432,17 +432,12 @@
+ 
+ void cMouseCursor :: Render( void ) const
+ {
+-	if( !m_active )
+-	{
++	CEGUI::MouseCursor *mouse = CEGUI::MouseCursor::getSingletonPtr();
++
++	if ( m_active == mouse->isVisible() )
+ 		return;
+-	}
+ 
+-	// Render CEGUI Mouse
+-	pGuiRenderer->setQueueingEnabled( 0 );
+-	CEGUI::MouseCursor *mouse = CEGUI::MouseCursor::getSingletonPtr();
+-	mouse->setVisible( 1 );
+-	mouse->draw();
+-	mouse->setVisible( 0 );
++	mouse->setVisible( m_active );
+ }
+ 
+ void cMouseCursor :: Update_Position( void )
+diff -ur smc-1.9/src/level/level_settings.cpp smc-1.9-b/src/level/level_settings.cpp
+--- smc-1.9/src/level/level_settings.cpp	2009-08-07 03:04:28.000000000 +0200
++++ smc-1.9-b/src/level/level_settings.cpp	2011-01-19 01:06:59.064259070 +0100
+@@ -163,8 +163,8 @@
+ 	editbox->setText( int_to_string( bg_color_2.blue ).c_str() );
+ 	// preview window
+ 	CEGUI::Window *window_background_preview = CEGUI::WindowManager::getSingleton().getWindow( "window_background_preview" );
+-	background_preview->Set_Pos_X( window_background_preview->getUnclippedPixelRect().d_left * global_downscalex, 1 );
+-	background_preview->Set_Pos_Y( window_background_preview->getUnclippedPixelRect().d_top * global_downscaley, 1 );
++	background_preview->Set_Pos_X( window_background_preview->getUnclippedOuterRect().d_left * global_downscalex, 1 );
++	background_preview->Set_Pos_Y( window_background_preview->getUnclippedOuterRect().d_top * global_downscaley, 1 );
+ 
+ 	Update_BG_Colors( CEGUI::EventArgs() );
+ 
+@@ -555,8 +555,8 @@
+ 
+ 	// set default rect
+ 	CEGUI::Window *window_background_preview = CEGUI::WindowManager::getSingleton().getWindow( "window_background_preview" );
+-	background_preview->m_rect.m_w = window_background_preview->getUnclippedPixelRect().getWidth() * global_downscalex;
+-	background_preview->m_rect.m_h = window_background_preview->getUnclippedPixelRect().getHeight() * global_downscaley;
++	background_preview->m_rect.m_w = window_background_preview->getUnclippedOuterRect().getWidth() * global_downscalex;
++	background_preview->m_rect.m_h = window_background_preview->getUnclippedOuterRect().getHeight() * global_downscaley;
+ 
+ 	if( !File_Exists( filename ) )
+ 	{
+diff -ur smc-1.9/src/objects/sprite.cpp smc-1.9-b/src/objects/sprite.cpp
+--- smc-1.9/src/objects/sprite.cpp	2009-04-18 09:55:06.000000000 +0200
++++ smc-1.9-b/src/objects/sprite.cpp	2011-01-19 00:43:37.813217623 +0100
+@@ -1663,7 +1663,7 @@
+ 	window_name->setText( name );
+ 	window_name->setTooltipText( tooltip );
+ 	// get text width
+-	CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" );
++	CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( "bluebold_medium" );
+ 	float text_width = 12 + font->getTextExtent( name ) * global_downscalex;
+ 	// all names should have the same width
+ 	if( text_width > m_editor_window_name_width )
+diff -ur smc-1.9/src/video/video.cpp smc-1.9-b/src/video/video.cpp
+--- smc-1.9/src/video/video.cpp	2009-07-04 11:46:56.000000000 +0200
++++ smc-1.9-b/src/video/video.cpp	2011-01-19 01:22:45.338524592 +0100
+@@ -103,15 +103,15 @@
+ 
+ /* *** *** *** *** *** *** *** CEGUI renderer fake class *** *** *** *** *** *** *** *** *** *** */
+ 
+-cFake_Renderer :: cFake_Renderer( void )
+-{
+-	d_identifierString = "Fake Renderer";
+-}
++//cFake_Renderer :: cFake_Renderer( void )
++//{
++//	d_identifierString = "Fake Renderer";
++//}
+ 
+-cFake_Renderer :: ~cFake_Renderer( void )
+-{
++//cFake_Renderer :: ~cFake_Renderer( void )
++//{
+ 
+-}
++//}
+ 
+ /* *** *** *** *** *** *** *** Video class *** *** *** *** *** *** *** *** *** *** */
+ 
+@@ -158,7 +158,7 @@
+ 	std::string log_dump_dir = "/dev/null";
+ #endif
+ 	// create fake system and renderer
+-	pGuiSystem = new CEGUI::System( new cFake_Renderer(), rp, NULL, NULL, "", log_dump_dir );
++	pGuiSystem = &CEGUI::System::create( *new cFake_Renderer(), rp, NULL, NULL, NULL, "", log_dump_dir );
+ }
+ 
+ void cVideo :: Delete_CEGUI_Fake( void ) const
+@@ -166,7 +166,7 @@
+ 	CEGUI::ResourceProvider *rp = pGuiSystem->getResourceProvider();
+ 	CEGUI::Renderer *renderer = pGuiSystem->getRenderer();
+ 
+-	delete pGuiSystem;
++	pGuiSystem->destroy();
+ 	pGuiSystem = NULL;
+ 	delete renderer;
+ 	delete rp;
+@@ -177,7 +177,7 @@
+ 	// create renderer
+ 	try
+ 	{
+-		pGuiRenderer = new CEGUI::OpenGLRenderer( 0, screen->w, screen->h );
++		pGuiRenderer = &CEGUI::OpenGLRenderer::create( CEGUI::Size( screen->w, screen->h ) );
+ 	}
+ 	// catch CEGUI Exceptions
+ 	catch( CEGUI::Exception &ex )
+@@ -186,10 +186,10 @@
+ 		exit( EXIT_FAILURE );
+ 	}
+ 
+-	/* create Resource Provider
+-	 * no need to destroy it later since it is handled by the CEGUI renderer
+-	*/
+-	CEGUI::DefaultResourceProvider *rp = static_cast(pGuiRenderer->createResourceProvider());
++	pGuiRenderer->enableExtraStateSettings(true);
++
++	// create Resource Provider
++	CEGUI::DefaultResourceProvider *rp = new CEGUI::DefaultResourceProvider;
+ 
+ 	// set Resource Provider directories
+ 	rp->setResourceGroupDirectory( "schemes", DATA_DIR "/" GUI_SCHEME_DIR "/" );
+@@ -215,7 +215,7 @@
+ 	// create system
+ 	try
+ 	{
+-		pGuiSystem = new CEGUI::System( pGuiRenderer, rp, NULL, NULL, "", pResource_Manager->user_data_dir + "cegui.log" );
++		pGuiSystem = &CEGUI::System::create( *pGuiRenderer, rp, NULL, NULL, NULL, "", pResource_Manager->user_data_dir + "cegui.log" );
+ 	}
+ 	// catch CEGUI Exceptions
+ 	catch( CEGUI::Exception &ex )
+@@ -242,7 +242,7 @@
+ 	// load the scheme file, which auto-loads the imageset
+ 	try
+ 	{
+-		CEGUI::SchemeManager::getSingleton().loadScheme( "TaharezLook.scheme" );
++		CEGUI::SchemeManager::getSingleton().create( "TaharezLook.scheme" );
+ 	}
+ 	// catch CEGUI Exceptions
+ 	catch( CEGUI::Exception &ex )
+@@ -254,9 +254,7 @@
+ 	// default mouse cursor
+ 	pGuiSystem->setDefaultMouseCursor( "TaharezLook", "MouseArrow" );
+ 	// force new mouse image
+-	CEGUI::MouseCursor::getSingleton().setImage( &CEGUI::ImagesetManager::getSingleton().getImageset( "TaharezLook" )->getImage( "MouseArrow" ) );
+-	// hide CEGUI mouse always because we render it manually
+-	CEGUI::MouseCursor::getSingleton().hide();
++	CEGUI::MouseCursor::getSingleton().setImage( &CEGUI::ImagesetManager::getSingleton().get( "TaharezLook" ).getImage( "MouseArrow" ) );
+ 	// default tooltip
+ 	pGuiSystem->setDefaultTooltip( "TaharezLook/Tooltip" );
+ 	// create default root window
+@@ -553,7 +551,7 @@
+ 		pFont->Restore_Textures();
+ 
+ 		// send new size to CEGUI
+-		pGuiRenderer->setDisplaySize( CEGUI::Size( static_cast(screen_w), static_cast(screen_h) ) );
++		pGuiSystem->notifyDisplaySizeChanged( CEGUI::Size( static_cast(screen_w), static_cast(screen_h) ) );
+ 
+ 		// check if CEGUI is initialized
+ 		bool cegui_initialized = pGuiSystem->getGUISheet() != NULL;
+diff -ur smc-1.9/src/video/video.h smc-1.9-b/src/video/video.h
+--- smc-1.9/src/video/video.h	2009-07-04 10:49:50.000000000 +0200
++++ smc-1.9-b/src/video/video.h	2011-01-19 01:16:42.791283379 +0100
+@@ -23,7 +23,7 @@
+ #include "SDL_opengl.h"
+ // CEGUI
+ #include "CEGUI.h"
+-#include "RendererModules/OpenGLGUIRenderer/openglrenderer.h"
++#include 
+ 
+ namespace SMC
+ {
+@@ -129,31 +129,100 @@
+ 	EFFECT_IN_AMOUNT
+ };
+ 
+-/* *** *** *** *** *** *** *** CEGUI renderer fake class *** *** *** *** *** *** *** *** *** *** */
++/* *** *** *** *** *** *** *** CEGUI renderer fake classes *** *** *** *** *** *** *** *** *** *** */
++// CEGUI 0.7.x requires more 'fake' classes than the 0.6.x version did...
++class cFake_GeometryBuffer : public CEGUI::GeometryBuffer
++{
++	void draw() const {}
++	void setTranslation(const CEGUI::Vector3&) {}
++	void setRotation(const CEGUI::Vector3&) {}
++	void setPivot(const CEGUI::Vector3&) {}
++	void setClippingRegion(const CEGUI::Rect&) {}
++	void appendVertex(const CEGUI::Vertex&) {}
++	void appendGeometry(const CEGUI::Vertex* const, CEGUI::uint) {}
++	void setActiveTexture(CEGUI::Texture*) {}
++	void reset() {}
++	CEGUI::Texture* getActiveTexture() const { return 0; }
++	CEGUI::uint getVertexCount() const { return 0; }
++	CEGUI::uint getBatchCount() const { return 0; }
++	void setRenderEffect(CEGUI::RenderEffect*) {}
++	CEGUI::RenderEffect* getRenderEffect() { return 0; }
++};
+ 
+-class cFake_Renderer : public CEGUI::Renderer
++class cFake_Texture : public CEGUI::Texture
++{
++public:
++	cFake_Texture() :
++	  m_size(1, 1),
++	  m_scaling(1, 1) {}
++
++	const CEGUI::Size& getSize() const { return m_size; }
++	const CEGUI::Size& getOriginalDataSize() const { return m_size; }
++	const CEGUI::Vector2& getTexelScaling() const { return m_scaling; }
++	void loadFromFile(const CEGUI::String&, const CEGUI::String&) {}
++	void loadFromMemory(const void*, const CEGUI::Size&, CEGUI::Texture::PixelFormat) {}
++	void saveToMemory(void*) {}
++
++private:
++	CEGUI::Size m_size;
++	CEGUI::Vector2 m_scaling;
++};
++
++class cFake_RenderTarget : public CEGUI::RenderTarget
+ {
+ public:
+-	cFake_Renderer( void );
+-	virtual ~cFake_Renderer( void );
++	cFake_RenderTarget() : m_area(0, 0, 0, 0) {}
++	void draw(const CEGUI::GeometryBuffer&) {}
++	void draw(const CEGUI::RenderQueue&) {}
++	void setArea(const CEGUI::Rect&) {}
++	const CEGUI::Rect& getArea() const { return m_area; }
++	bool isImageryCache() const { return false; }
++	void activate() {}
++	void deactivate() {}
++	void unprojectPoint(const CEGUI::GeometryBuffer&, const CEGUI::Vector2&, CEGUI::Vector2&) const {}
++
++private:
++	CEGUI::Rect m_area;
++};
+ 
+-	virtual	void addQuad(const CEGUI::Rect& dest_rect, float z, const CEGUI::Texture* tex, const CEGUI::Rect& texture_rect, const CEGUI::ColourRect& colours, CEGUI::QuadSplitMode quad_split_mode) {};
+-	virtual	void doRender(void) {};
+-	virtual	void clearRenderList(void) {};
+-	virtual void setQueueingEnabled(bool setting) {};
+-	virtual	CEGUI::Texture *createTexture(void) { return NULL; };
+-	virtual	CEGUI::Texture *createTexture(const CEGUI::String& filename, const CEGUI::String& resourceGroup) { return NULL; };
+-	virtual	CEGUI::Texture *createTexture(float size) { return NULL; };
+-	virtual	void destroyTexture(CEGUI::Texture* texture) {};
+-	virtual void destroyAllTextures(void) {};
+-	virtual bool isQueueingEnabled(void) const { return 0; };
+-	virtual float getWidth(void) const { return 0; };
+-	virtual float getHeight(void) const { return 0; };
+-	virtual CEGUI::Size getSize(void) const { return CEGUI::Size();};
+-	virtual CEGUI::Rect getRect(void) const { return CEGUI::Rect();};
+-	virtual	unsigned int getMaxTextureSize(void) const { return 0; };
+-	virtual	unsigned int getHorzScreenDPI(void) const { return 0; };
+-	virtual	unsigned int getVertScreenDPI(void) const { return 0; };
++class cFake_Renderer : public CEGUI::Renderer
++{
++public:
++	cFake_Renderer( void ) :
++	  m_size(0, 0),
++	  m_dpi(0, 0),
++	  m_identifierString("Fake Renderer"),
++	  m_root(m_target) {}
++	~cFake_Renderer( void ) {}
++
++	CEGUI::RenderingRoot& getDefaultRenderingRoot() { return m_root; }
++	CEGUI::GeometryBuffer& createGeometryBuffer() { return m_geometry; }
++	void destroyGeometryBuffer(const CEGUI::GeometryBuffer&) {}
++	void destroyAllGeometryBuffers() {}
++	CEGUI::TextureTarget* createTextureTarget() { return 0; }
++	void destroyTextureTarget(CEGUI::TextureTarget*) {}
++	void destroyAllTextureTargets() {}
++	CEGUI::Texture& createTexture() { return m_texture; }
++	CEGUI::Texture& createTexture(const CEGUI::String&, const CEGUI::String&) { return m_texture; }
++	CEGUI::Texture& createTexture(const CEGUI::Size&) { return m_texture; }
++	void destroyTexture(CEGUI::Texture&) {}
++	void destroyAllTextures() {}
++	void beginRendering() {}
++	void endRendering() {}
++	void setDisplaySize(const CEGUI::Size&) {}
++	const CEGUI::Size& getDisplaySize() const { return m_size; }
++	const CEGUI::Vector2& getDisplayDPI() const {return m_dpi; }
++	CEGUI::uint getMaxTextureSize() const { return 0; }
++	const CEGUI::String& getIdentifierString() const { return m_identifierString; }
++
++private:
++	CEGUI::Size m_size;
++	CEGUI::Vector2 m_dpi;
++	CEGUI::String m_identifierString;
++	cFake_GeometryBuffer m_geometry;
++	cFake_Texture m_texture;
++	cFake_RenderTarget m_target;
++	CEGUI::RenderingRoot m_root;
+ };
+ 
+ /* *** *** *** *** *** *** *** Video class *** *** *** *** *** *** *** *** *** *** */
diff --git a/community-staging/smc/smc.desktop b/community-staging/smc/smc.desktop
new file mode 100644
index 000000000..6cfe5b018
--- /dev/null
+++ b/community-staging/smc/smc.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Secret Maryo Chronicles
+GenericName=Arcade Game
+Exec=smc
+Icon=smc.png
+Terminal=false
+Type=Application
+Categories=Game;ArcadeGame;KidsGame;
+StartupNotify=false
\ No newline at end of file
diff --git a/community-staging/smc/smc.png b/community-staging/smc/smc.png
new file mode 100644
index 000000000..f02af1bfc
Binary files /dev/null and b/community-staging/smc/smc.png differ
diff --git a/community-staging/spring/PKGBUILD b/community-staging/spring/PKGBUILD
new file mode 100644
index 000000000..aeac8eda8
--- /dev/null
+++ b/community-staging/spring/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 47695 2011-05-24 20:14:25Z svenstaro $
+# Maintainer: Sven-Hendrik Haase 
+# Contributor: Arkham 
+# Contributor: Christoph Zeiler 
+
+pkgname=spring
+pkgver=0.82.7.1
+pkgrel=2
+pkgdesc='A free 3D real-time-strategy (RTS) game engine'
+arch=('i686' 'x86_64')
+url="http://springrts.com/"
+license=('GPL')
+depends=('openal' 'glew' 'boost-libs' 'freetype2' 'devil' 'libvorbis')
+makedepends=('boost' 'cmake' 'zip' 'lzma-utils' 'p7zip' 'python' 'java-environment')
+optdepends=('python: python-based bots'
+            'java-runtime: java-based bots')
+source=(http://downloads.sourceforge.net/sourceforge/springrts/${pkgname}_${pkgver}_src.tar.lzma
+        gcc46.patch)
+md5sums=('378cf0b18a5dd5b840964e5945778503'
+         'e9586b611db1ed04fe4f0c5982fda7d2')
+
+build() {
+  bsdtar -xf ${pkgname}_${pkgver}_src.tar.lzma
+  
+  cd spring_$pkgver
+  
+  sed -i '1i\
+	  #include ' rts/lib/lobby/Connection.h
+  patch -Np1 < $srcdir/gcc46.patch
+  cmake	. \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+	-DDATADIR=share/spring
+  make
+}
+
+package() {
+  cd spring_$pkgver
+
+  make DESTDIR=$pkgdir install
+
+  install -d $pkgdir/etc/spring
+  echo '$HOME/.spring' > $pkgdir/etc/spring/datadir
+}
+
+# vim sw=2:ts=2 et:
diff --git a/community-staging/springlobby/PKGBUILD b/community-staging/springlobby/PKGBUILD
new file mode 100644
index 000000000..2ccb51e50
--- /dev/null
+++ b/community-staging/springlobby/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 47682 2011-05-24 19:40:45Z svenstaro $
+# Maintainer: Sven-Hendrik Haase 
+# Contributor: DuGi 
+
+pkgname=springlobby
+pkgver=0.131
+pkgrel=2
+pkgdesc="A free cross-platform lobby client for the Spring RTS project."
+arch=('i686' 'x86_64')
+url="http://springlobby.info/"
+license=('GPL2')
+depends=('wxgtk' 'curl' 'libtorrent-rasterbar' 'boost-libs')
+optdepends=('sdl' 'sdl_sound' 'sdl_mixer') 
+makedepends=('boost' 'asio' 'cmake')
+source=(http://www.springlobby.info/tarballs/${pkgname}-${pkgver}.tar.bz2 
+        springlobby.desktop
+        springlobby.png)
+md5sums=('ea25f376a3fc48e3f3ff4de6d6637b5d'
+         '45f8b59d033931d02e734fe3bd7777dd'
+         '1f388187539aeb0358b51995e26ed890')
+
+build() {
+  cd $srcdir/${pkgname}-$pkgver
+
+  export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
+  cp $srcdir/${pkgname}-$pkgver/tools/test-susynclib.awk $srcdir/${pkgname}-$pkgver/tools/test-susynclib.awk.bak
+  sed -e 's|/usr/bin/awk|/bin/awk|g' $srcdir/${pkgname}-$pkgver/tools/test-susynclib.awk.bak>$srcdir/${pkgname}-$pkgver/tools/test-susynclib.awk
+
+  sed -i 's/boost_system-mt/boost_system/g' $srcdir/$pkgname-$pkgver/CMakeLists.txt
+  cmake . \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DOPTION_SOUND=false
+  make 
+}
+
+package() {
+  cd $srcdir/${pkgname}-$pkgver
+
+  make DESTDIR=$pkgdir install
+  
+  install -m755 -d $pkgdir/usr/share/applications
+  install -m644 $srcdir/springlobby.desktop $pkgdir/usr/share/applications
+
+  install -m755 -d -p $pkgdir/usr/share/pixmaps
+  install -m644 $srcdir/springlobby.png $pkgdir/usr/share/pixmaps
+}
+
+# vim: sw=2:ts=2 et:
diff --git a/community-staging/springlobby/springlobby.desktop b/community-staging/springlobby/springlobby.desktop
new file mode 100644
index 000000000..1dce96b90
--- /dev/null
+++ b/community-staging/springlobby/springlobby.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=1.0
+Encoding=UTF-8
+Name=SpringLobby
+Comment=Lobby for Spring. An open source RTS with similar gameplay to TA
+Exec=springlobby
+Icon=springlobby.png
+Terminal=false
+Type=Application
+Categories=Application;Game;StrategyGame;
diff --git a/community-staging/springlobby/springlobby.png b/community-staging/springlobby/springlobby.png
new file mode 100644
index 000000000..89c7ab0ac
Binary files /dev/null and b/community-staging/springlobby/springlobby.png differ
diff --git a/community-staging/tagpy/PKGBUILD b/community-staging/tagpy/PKGBUILD
new file mode 100644
index 000000000..246a92e12
--- /dev/null
+++ b/community-staging/tagpy/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 47614 2011-05-24 13:24:59Z jelle $
+# Maintainer: Andrea Scarpino 
+# Contributor: Callan Barrett 
+# Contributor: Scott Horowitz 
+
+pkgname=tagpy
+pkgver=0.94.8
+pkgrel=4
+pkgdesc="Python bindings for TagLib"
+arch=('i686' 'x86_64')
+url="http://pypi.python.org/pypi/tagpy"
+license=('MIT')
+depends=('python2' 'taglib' 'boost-libs')
+makedepends=('python2-distribute' 'boost')
+source=("http://pypi.python.org/packages/source/t/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('6baff63318cf90b9bc5a2497a0597802')
+
+build() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+
+  sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+    $(find . -name '*.py') 
+ 
+  ./configure.py --taglib-lib-dir=/usr/lib/ \
+  	--taglib-inc-dir=/usr/include/taglib/ \
+	--boost-inc-dir=/usr/include/boost/ \
+	--boost-lib-dir=/usr/lib/ \
+	--boost-python-libname=boost_python
+  python2 setup.py build
+}
+
+package(){
+  cd ${srcdir}/${pkgname}-${pkgver}
+  python2 setup.py install --root="${pkgdir}" --optimize=1
+  install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community-staging/twinkle/PKGBUILD b/community-staging/twinkle/PKGBUILD
new file mode 100644
index 000000000..02e37d080
--- /dev/null
+++ b/community-staging/twinkle/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 47620 2011-05-24 13:41:29Z jelle $
+# Maintainer:
+# Contributor: Jeff Mickey 
+# Contributor: Alexander Baldeck 
+# Contributor: Federico Quagliata (quaqo) 
+
+pkgname=twinkle
+pkgver=1.4.2
+pkgrel=10
+pkgdesc="A softphone for voice over IP and instant messaging communications using the SIP protocol"
+arch=('i686' 'x86_64')
+url="http://www.twinklephone.com/"
+license=('GPL')
+depends=('file' 'speex' 'boost-libs' 'libsndfile' 'commoncpp2' 'libxml2' 'libx11'
+	'qt3' 'libzrtpcpp')
+makedepends=('pkg-config' 'boost')
+source=(http://www.xs4all.nl/~mfnboer/${pkgname}/download/${pkgname}-${pkgver}.tar.gz)
+md5sums=('d70c8972f296ffd998c7fb698774705b')
+
+build() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+  . /etc/profile.d/qt3.sh
+  ./configure --prefix=/usr \
+              --without-kde \
+	      --with-speex
+  make
+}
+
+package() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+  make DESTDIR=${pkgdir} install
+  install -D -m644 twinkle.desktop ${pkgdir}/usr/share/applications/twinkle.desktop
+}
diff --git a/community-staging/twinkle/twinkle.desktop b/community-staging/twinkle/twinkle.desktop
new file mode 100644
index 000000000..e85a32e51
--- /dev/null
+++ b/community-staging/twinkle/twinkle.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Twinkle
+Comment=A SIP softphone for Qt
+Icon=/usr/share/twinkle/twinkle48.png
+Exec=twinkle
+Terminal=false
+Type=Application
+Categories=Network;
+StartupNotify=false
diff --git a/community/luxrender/PKGBUILD b/community/luxrender/PKGBUILD
index 200e64475..d32a5be5b 100644
--- a/community/luxrender/PKGBUILD
+++ b/community/luxrender/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=luxrender
 pkgver=0.7.1
 _pkgver=9206b3ba7011
 _luxblend=f93faf8189c1
-pkgrel=4
+pkgrel=5
 pkgdesc="Rendering system for physically correct, unbiased image synthesis"
 arch=('i686' 'x86_64')
 url="http://www.luxrender.net/"
diff --git a/extra/at-spi2-atk/PKGBUILD b/extra/at-spi2-atk/PKGBUILD
index 493ed8cd4..9e67ecb21 100644
--- a/extra/at-spi2-atk/PKGBUILD
+++ b/extra/at-spi2-atk/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 120714 2011-04-26 05:27:06Z jgc $
+# $Id: PKGBUILD 124722 2011-05-24 07:05:08Z heftig $
 # Maintainer: Ionut Biru 
 
 pkgname=at-spi2-atk
-pkgver=2.0.1
+pkgver=2.0.2
 pkgrel=1
 pkgdesc="A GTK+ module that bridges ATK to D-Bus at-spi"
 arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ install=at-spi2-atk.install
 options=('!libtool')
 groups=('gnome')
 source=(http://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('d78a88067a53db479d3c7c1ce31f095b1d4962e44e653800a12599ade397dafc')
+sha256sums=('4b958d3701afd0c8f83ecf297750032f06a07491007d85173997ce7371688725')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/at-spi2-core/PKGBUILD b/extra/at-spi2-core/PKGBUILD
index 30d380643..4cda3965f 100644
--- a/extra/at-spi2-core/PKGBUILD
+++ b/extra/at-spi2-core/PKGBUILD
@@ -1,7 +1,7 @@
-# $Id: PKGBUILD 120767 2011-04-26 14:35:02Z ibiru $
+# $Id: PKGBUILD 124714 2011-05-24 07:02:56Z heftig $
 # Maintainer: Ionut Biru 
 pkgname=at-spi2-core
-pkgver=2.0.1
+pkgver=2.0.2
 pkgrel=1
 pkgdesc="Protocol definitions and daemon for D-Bus at-spi"
 arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ makedepends=('intltool' 'gobject-introspection')
 options=('!libtool')
 groups=('gnome')
 source=(http://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('f0880d816a554c0560e9f6aea786614e8ab439e17189d383a83ed7eebd9e328b')
+sha256sums=('15e13433d1923c96139c109568295313de636a83dbb3700c8467fcb9c5e4e6ce')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/bind/PKGBUILD b/extra/bind/PKGBUILD
index 371393099..5af689c41 100644
--- a/extra/bind/PKGBUILD
+++ b/extra/bind/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 123947 2011-05-14 15:17:07Z bisson $
+# $Id: PKGBUILD 124551 2011-05-22 22:52:52Z bisson $
 # Maintainer: Gaetan Bisson 
 # Contributor: judd 
 # Contributor: Mario Vazquez 
@@ -8,7 +8,7 @@ pkgname=bind
 # Use a period and not a hyphen before the patch level for proper versioning.
 pkgver=9.8.0.P1
 _pkgver=9.8.0-P1
-pkgrel=2
+pkgrel=3
 
 pkgdesc='Berkeley Internet Name Daemon (BIND) is the reference implementation of the Domain Name System (DNS) protocols'
 arch=('i686' 'x86_64')
@@ -17,12 +17,11 @@ license=('custom:ISC')
 provides=('dns-server')
 backup=('etc/logrotate.d/named'
         'etc/conf.d/named'
-        'etc/named.conf'
-        'etc/rndc.key')
+        'etc/named.conf')
 depends=('openssl' 'krb5' 'libxml2')
 options=('!makeflags' '!libtool')
 source=("http://ftp.isc.org/isc/bind9/${_pkgver}/${pkgname}-${_pkgver}.tar.gz"
-        'ftp://ftp.rs.internic.net/domain/db.cache'
+        'root.hint::ftp://ftp.rs.internic.net/domain/db.cache'
         'so_bsdcompat.patch'
         'notools.patch'
         'named'
@@ -35,7 +34,7 @@ sha1sums=('aa8f308f218e437ac4bad616e0ae83a9b9c40c29'
           'ee52947062c1582858187716b776afa3613608fb'
           '2f737f4e81186447ac2ef370fa8dcea0b3abec31'
           '5277cf4d6fbc5728c55b51c77c9347d28393fb7c'
-          '02b0e20a542663d27af4faa4d2e397ae2764276e'
+          '46232e9db243c6c05e170a1781d7a7f413be5d03'
           '5ca7a5f2a132548a090a045a2df3acea6b35d9eb'
           '7848edbfb9a848843f57c11c02b0289eefd42d00'
           '9ffb5c3f72390a517aeae557e32349d5d278cb63'
@@ -70,19 +69,18 @@ package() {
 
 	make DESTDIR="${pkgdir}" install
 
-	install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-
+	rmdir "${pkgdir}/var/run"
 	install -d "${pkgdir}"/usr/share/doc/bind
-	install ./doc/arm/*.html "${pkgdir}"/usr/share/doc/bind/
+	install doc/arm/*.html "${pkgdir}"/usr/share/doc/bind/
+	install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
 
 	install -D -m755 ../named "${pkgdir}"/etc/rc.d/named
 	install -D -m644 ../named.conf.d "${pkgdir}"/etc/conf.d/named
 	install -D -m600 ../named.logrotate "${pkgdir}"/etc/logrotate.d/named
-	install -D -m640 -o  0 -g 40 ../named.conf "${pkgdir}"/etc/named.conf
+	install -D -m640 -o 0 -g 40 ../named.conf "${pkgdir}"/etc/named.conf
 
-	install -d -m750 -o  0 -g 40 "${pkgdir}"/var/named
-	install -d -m755 -o 40 -g 40 "${pkgdir}"/var/run/named
-	install    -m640 -o  0 -g 40 ../db.cache "${pkgdir}"/var/named/root.hint
-	install    -m640 -o  0 -g 40 ../127.0.0.zone "${pkgdir}"/var/named/
-	install    -m640 -o  0 -g 40 ../localhost.zone "${pkgdir}"/var/named/
+	install -d -m750 -o 0 -g 40 "${pkgdir}"/var/named
+	install    -m640 -o 0 -g 40 ../root.hint "${pkgdir}"/var/named/
+	install    -m640 -o 0 -g 40 ../127.0.0.zone "${pkgdir}"/var/named/
+	install    -m640 -o 0 -g 40 ../localhost.zone "${pkgdir}"/var/named/
 }
diff --git a/extra/bind/named b/extra/bind/named
index 3be558f27..7907f9983 100755
--- a/extra/bind/named
+++ b/extra/bind/named
@@ -1,12 +1,16 @@
 #!/bin/bash
 
-NAMED_ARGS=
-[ -f /etc/conf.d/named ] && . /etc/conf.d/named
-
 . /etc/rc.conf
 . /etc/rc.d/functions
+. /etc/conf.d/named
+
+[[ -d /var/run/named ]] || mkdir -p /var/run/named
+chown named:named /var/run/named
+
+PIDFILE=/var/run/named/named.pid
+PID=$(cat $PIDFILE 2>/dev/null)
+readlink -q /proc/$PID/exe | grep -q '^/usr/sbin/named' || { PID=; rm $PIDFILE 2>/dev/null; }
 
-PID=`pidof -o %PPID /usr/sbin/named`
 case "$1" in
   start)
     stat_busy "Starting BIND"
diff --git a/extra/ecasound/PKGBUILD b/extra/ecasound/PKGBUILD
index 2b7c0b06a..185581224 100644
--- a/extra/ecasound/PKGBUILD
+++ b/extra/ecasound/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 123924 2011-05-14 11:30:01Z schiv $
+# $Id: PKGBUILD 124853 2011-05-24 19:44:26Z schiv $
 # Maintainer: Ray Rashif 
 # Contributor: Eric Belanger 
 # Contributor: Tom Newsom 
 
 pkgname=ecasound
-pkgver=2.8.0
+pkgver=2.8.1
 pkgrel=1
 pkgdesc="A software package designed for multitrack audio processing"
 arch=('i686' 'x86_64')
@@ -25,7 +25,7 @@ optdepends=('python2: ecamonitor, ECI API'
 options=('!libtool')
 changelog=$pkgname.changelog
 source=(http://ecasound.seul.org/download/$pkgname-$pkgver.tar.gz)
-md5sums=('8072340f6cd72fdea05d7efa625b78c5')
+md5sums=('d9ded0074a8eeb59dd507c248220d010')
 
 build() {
   cd "$srcdir/$pkgname-$pkgver"
diff --git a/extra/eog-plugins/PKGBUILD b/extra/eog-plugins/PKGBUILD
index d59b6c7f7..bef0d5518 100644
--- a/extra/eog-plugins/PKGBUILD
+++ b/extra/eog-plugins/PKGBUILD
@@ -1,14 +1,16 @@
-# $Id: PKGBUILD 120414 2011-04-23 21:13:06Z ibiru $
+# $Id: PKGBUILD 124756 2011-05-24 07:54:16Z heftig $
 # Maintainer: Jan "heftig" Steffens 
 pkgname=eog-plugins
 pkgver=3.0.0
-pkgrel=1
+pkgrel=2
 pkgdesc="Plugins for Eye of Gnome"
 arch=('i686' 'x86_64')
 url="http://www.gnome.org/"
 license=('GPL2')
 depends=('eog' 'libpeas' 'libchamplain' 'libexif')
 makedepends=('intltool')
+install=eog-plugins.install
+options=('!libtool')
 source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.bz2)
 sha256sums=('87cced9baf3c8ba84dcad95d774686694f5cb140a187a7bad3891bc50bc4c7bd')
 
diff --git a/extra/gcalctool/PKGBUILD b/extra/gcalctool/PKGBUILD
index 6c027742d..c4c19605c 100644
--- a/extra/gcalctool/PKGBUILD
+++ b/extra/gcalctool/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 120856 2011-04-26 21:28:12Z ibiru $
+# $Id: PKGBUILD 124701 2011-05-24 06:54:45Z heftig $
 # Maintainer: Jan de Groot 
 
 pkgname=gcalctool
-pkgver=6.0.1
+pkgver=6.0.2
 pkgrel=1
 pkgdesc="GNOME Scientific calculator"
 arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ options=(!emptydirs)
 url="http://www.gnome.org"
 install=gcalctool.install
 source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('be11a7c36a1ec20bd0b190e572aefedea13fb2cb8479b06673e182c7461cadfe')
+sha256sums=('63190fde1be5202ab43774785b5521d8f11592c6a9e125673028c5ac235c9316')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/gparted/PKGBUILD b/extra/gparted/PKGBUILD
index ca121a0f4..c4757a5df 100644
--- a/extra/gparted/PKGBUILD
+++ b/extra/gparted/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 124506 2011-05-22 17:04:27Z giovanni $
+# $Id: PKGBUILD 124848 2011-05-24 19:25:12Z giovanni $
 # Maintainer: Giovanni Scafora 
 # Contributor: Andrew Simmons 
 
 pkgname=gparted
-pkgver=0.8.0
-pkgrel=3
+pkgver=0.8.1
+pkgrel=1
 pkgdesc="A Partition Magic clone, frontend to GNU Parted"
 arch=('i686' 'x86_64')
 url="http://gparted.sourceforge.net"
@@ -21,7 +21,7 @@ optdepends=('e2fsprogs: for ext2/ext3 partitions'
             'gpart: for recovering corrupt partition tables')
 install=gparted.install
 source=(http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('29adfe33df34c03b7f800ce5374e957a')
+md5sums=('ba3a434a259ae2ddcfc7f7488ee648ef')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/kdebase-workspace/PKGBUILD b/extra/kdebase-workspace/PKGBUILD
index 8211dd1d7..0bc1f7a37 100644
--- a/extra/kdebase-workspace/PKGBUILD
+++ b/extra/kdebase-workspace/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 122250 2011-05-03 10:29:38Z andrea $
+# $Id: PKGBUILD 124831 2011-05-24 17:22:55Z andrea $
 # Maintainer: Andrea Scarpino 
 # Contributor: Pierre Schmitz 
 
 pkgname=kdebase-workspace
 pkgver=4.6.3
-pkgrel=1
+pkgrel=2
 pkgdesc="KDE Base Workspace"
 arch=('i686' 'x86_64')
 url='http://www.kde.org'
@@ -16,8 +16,7 @@ groups=('kde')
 depends=('kdepim-runtime' 'lm_sensors' 'libraw1394' 'qimageblitz' 'libqalculate'
          'polkit-kde' 'consolekit' 'xorg-xprop' 'libxdamage' 'libxklavier' 'libdmtx'
          'xorg-xsetroot' 'libxcomposite' 'libxinerama')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'networkmanager' 'bluez'
-             'python2' 'kdebindings-python')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdebindings-python')
 replaces=('kdmtheme' 'kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter')
 conflicts=('kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter')
 install="${pkgname}.install"
@@ -28,7 +27,8 @@ backup=('usr/share/config/kdm/kdmrc'
 options=('emptydirs')
 source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
         'kdm-zsh-profile.patch' 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam'
-        'fixpath.patch' 'terminate-server.patch' 'nm-09.patch')
+        'fixpath.patch' 'terminate-server.patch'
+        'fix-app-launch-in-plasmoid.patch')
 sha1sums=('50103b7752defbab08965b665fa95361bb5b3ff6'
           '8c2bdefb23a03b753b78d16944d03fa3939d2d99'
           '5db3a245201bd4a50e65aa2ef583cf5490e4f646'
@@ -37,14 +37,16 @@ sha1sums=('50103b7752defbab08965b665fa95361bb5b3ff6'
           '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
           'd7b5883f7e65c6839b1f65f94d58026673dd0226'
           'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee'
-          '91ed84f5bb99909cab1b5ca0779bbf5cf6c72d33')
+          'ca55cd0a25fd8cfb95fa3b1cdd373d496fd7312d')
 
 build() {
 	cd ${srcdir}/${pkgname}-${pkgver}
 	patch -p0 -i ${srcdir}/kdm-zsh-profile.patch
 	patch -p0 -i ${srcdir}/fixpath.patch
 	patch -p0 -i ${srcdir}/terminate-server.patch
-    patch -p1 -i ${srcdir}/nm-09.patch
+
+    # Already fixed upstream
+    patch -p1 -i ${srcdir}/fix-app-launch-in-plasmoid.patch
 
 	cd ${srcdir}
 	mkdir build
@@ -54,7 +56,8 @@ build() {
 		-DCMAKE_SKIP_RPATH=ON \
 		-DCMAKE_INSTALL_PREFIX=/usr \
 		-DWITH_Xmms=OFF \
-		-DWITH_Googlegadgets=OFF
+		-DWITH_Googlegadgets=OFF \
+        -DWITH_NetworkManager=OFF
 	make
 }
 
diff --git a/extra/kdebase-workspace/fix-app-launch-in-plasmoid.patch b/extra/kdebase-workspace/fix-app-launch-in-plasmoid.patch
new file mode 100644
index 000000000..fec667663
--- /dev/null
+++ b/extra/kdebase-workspace/fix-app-launch-in-plasmoid.patch
@@ -0,0 +1,22 @@
+commit 3f1dd3b94ab2b56abb43a51b7b78a9cd162325d0
+Author: Aaron Seigo 
+Date:   Fri May 6 22:51:50 2011 +0200
+
+    get rid of duplicate connect
+    
+    patch contributed by Luc Menut
+    BUG:262614
+    REVIEW:101284
+
+diff --git a/plasma/generic/containmentactions/applauncher/launch.cpp b/plasma/generic/containmentactions/applauncher/launch.cpp
+index cbc7175..bef53e5 100644
+--- a/plasma/generic/containmentactions/applauncher/launch.cpp
++++ b/plasma/generic/containmentactions/applauncher/launch.cpp
+@@ -36,7 +36,6 @@ AppLauncher::AppLauncher(QObject *parent, const QVariantList &args)
+ {
+     m_menu = new KMenu();
+     connect(m_menu, SIGNAL(triggered(QAction*)), this, SLOT(switchTo(QAction*)));
+-    connect(m_menu, SIGNAL(triggered(QAction*)), this, SLOT(switchTo(QAction*)));
+ 
+     m_action->setMenu(m_menu);
+ }
diff --git a/extra/kdelibs/PKGBUILD b/extra/kdelibs/PKGBUILD
index 0f4a867d4..006f488d8 100644
--- a/extra/kdelibs/PKGBUILD
+++ b/extra/kdelibs/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 122843 2011-05-06 11:48:02Z andrea $
+# $Id: PKGBUILD 124805 2011-05-24 14:15:20Z andrea $
 # Maintainer: Andrea Scarpino 
 
 pkgname=kdelibs
 pkgver=4.6.3
-pkgrel=2
+pkgrel=3
 pkgdesc="KDE Core Libraries"
 arch=('i686' 'x86_64')
 url='http://www.kde.org'
@@ -19,11 +19,13 @@ makedepends=('pkgconfig' 'cmake' 'automoc4' 'intltool' 'avahi' 'libgl'
 replaces=('arts' 'kdelibs-experimental')
 install='kdelibs.install'
 source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
-        'kde-applications-menu.patch' 'archlinux-menu.patch' 'abs-syntax-highlight.patch')
+        'kde-applications-menu.patch' 'archlinux-menu.patch'
+        'abs-syntax-highlight.patch' 'fix-double-POST-action.patch')
 sha1sums=('c7fb089c9d52a6b1d9188b9e788753373a3288e4'
           '86ee8c8660f19de8141ac99cd6943964d97a1ed7'
           '63a850ab4196b9d06934f2b4a13acd9f7739bc67'
-          'd994f262356af5b9e4e9619646e471bd98c91efb')
+          'd994f262356af5b9e4e9619646e471bd98c91efb'
+          'c8ef05943e71a28c4604217d31fc6ca83e48476c')
 
 build() {
        cd ${srcdir}/${pkgname}-${pkgver}
@@ -35,6 +37,9 @@ build() {
        # add syntax highlightning for PKGBUILD and .install files
        patch -p1 -i $srcdir/abs-syntax-highlight.patch
 
+       # Already fixed upstream
+       patch -p1 -i $srcdir/fix-double-POST-action.patch
+
        cd ${srcdir}
        mkdir build
        cd build
diff --git a/extra/kdelibs/fix-double-POST-action.patch b/extra/kdelibs/fix-double-POST-action.patch
new file mode 100644
index 000000000..2672d65db
--- /dev/null
+++ b/extra/kdelibs/fix-double-POST-action.patch
@@ -0,0 +1,27 @@
+commit 92db24adfa941003db1d885df01157056617f30b
+Author: Maks Orlovich 
+Date:   Sun May 8 14:39:03 2011 -0400
+
+    Fix the job-on-hold reuse logic, which caused the double-POST problem)
+    
+    adawit, could you please at least READ what you're backporting if you are
+    going to be this aggressive? Or better yet, please don't backport anything
+    that's not fixing a critical bug or is trivial, as per:
+    http://techbase.kde.org/Policies/Minor_Point_Release_Policy
+    
+    CCMAIL: adawit@kde.org
+    BUG: 272466
+
+diff --git a/kio/kio/scheduler.cpp b/kio/kio/scheduler.cpp
+index 55da053..9f5607e 100644
+--- a/kio/kio/scheduler.cpp
++++ b/kio/kio/scheduler.cpp
+@@ -1151,7 +1151,7 @@ Slave *SchedulerPrivate::heldSlaveForJob(SimpleJob *job)
+         bool canJobReuse = (cmd == CMD_GET || cmd == CMD_MULTI_GET);
+ 
+         if (KIO::TransferJob *tJob = qobject_cast(job)) {
+-            canJobReuse = cmd == (canJobReuse || cmd == CMD_SPECIAL);
++            canJobReuse = (canJobReuse || cmd == CMD_SPECIAL);
+             if (canJobReuse) {
+                 KIO::MetaData outgoing = tJob->outgoingMetaData();
+                 const QString resume = outgoing.value("resume");
diff --git a/extra/kdeplasma-applets-networkmanagement/PKGBUILD b/extra/kdeplasma-applets-networkmanagement/PKGBUILD
index f371a1859..a0628a309 100644
--- a/extra/kdeplasma-applets-networkmanagement/PKGBUILD
+++ b/extra/kdeplasma-applets-networkmanagement/PKGBUILD
@@ -4,8 +4,8 @@
 
 pkgname=kdeplasma-applets-networkmanagement
 epoch=1
-pkgver=git20110323
-_commit=986cae8974998213496a8678ad03523dba83e69d
+pkgver=git20110524
+_commit=f112886575a9c1fc8986f098db9ef84a6fb2e98e
 pkgrel=1
 pkgdesc="KDE control panel and widget network connections"
 arch=('i686' 'x86_64')
@@ -15,15 +15,10 @@ depends=('kdebase-workspace' 'networkmanager')
 makedepends=('cmake' 'python2' 'automoc4' 'mobile-broadband-provider-info')
 optdepends=('mobile-broadband-provider-info: allow to add new mobile connection')
 install=${pkgname}.install
-source=("${pkgname}-${pkgver}.tar.gz"::"http://quickgit.kde.org/?p=networkmanagement.git&a=snapshot&h=${_commit}"
-        'nm-09.patch')
-md5sums=('3dc3b2631e0d4e4f578ef20f7802bf04'
-         'b7ad3dac9a5022c99dfd2ad0dc8549cb')
+source=("${pkgname}-${pkgver}.tar.gz"::"http://quickgit.kde.org/?p=networkmanagement.git&a=snapshot&h=${_commit}")
+md5sums=('19d139aa4e80b5829b8a898b315a0a0a')
 
 build() {
-  cd "${srcdir}/networkmanagement"
-  patch -p1 -i "${srcdir}/nm-09.patch"
-
   cd "${srcdir}"
   mkdir build
   cd build
@@ -38,5 +33,3 @@ package() {
   cd ${srcdir}/build
   make DESTDIR=${pkgdir} install
 }
-md5sums=('8373cd729b12a821b28b483e3e9d253f'
-         'c46839bc0503f2dbec76282b8ab163bd')
diff --git a/extra/mkvtoolnix/PKGBUILD b/extra/mkvtoolnix/PKGBUILD
index f2f5025d5..f0d957de4 100644
--- a/extra/mkvtoolnix/PKGBUILD
+++ b/extra/mkvtoolnix/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id: PKGBUILD 120268 2011-04-21 21:31:35Z giovanni $
+# $Id: PKGBUILD 124863 2011-05-24 19:57:14Z giovanni $
 # Maintainer: Giovanni Scafora 
 # Contributor: 03/08/04 
 
 pkgname=mkvtoolnix
-pkgver=4.7.0
+pkgver=4.8.0
 pkgrel=1
 pkgdesc="Set of tools to create, edit and inspect Matroska files"
 arch=('i686' 'x86_64')
 license=('GPL')
 url="http://www.bunkus.org/videotools/mkvtoolnix/index.html"
-depends=('libmatroska' 'flac' 'libvorbis' 'file' 'boost-libs' 'lzo2' 'xdg-utils')
-makedepends=('wxgtk' 'boost' 'ruby')
-optdepends=('wxgtk: mkvmerge,mkvinfo and mmg GUI')
+depends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk' 'boost-libs' 'lzo2' 'xdg-utils')
+makedepends=('boost' 'ruby')
 install=mkvtoolnix.install
 source=("http://www.bunkus.org/videotools/${pkgname}/sources/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('68200debce9570fc14d934a3d6a750b5')
+md5sums=('47a730706f3da2bcf4ba62bba3a8f260')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/rosegarden/PKGBUILD b/extra/rosegarden/PKGBUILD
index 8362e9f18..e3227ab9d 100644
--- a/extra/rosegarden/PKGBUILD
+++ b/extra/rosegarden/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 109447 2011-02-09 17:52:06Z schiv $
-# Maintainer: Ray Rashif 
+# $Id: PKGBUILD 124858 2011-05-24 19:56:15Z schiv $
+# Maintainer: Ray Rashif 
 # Contributor: Giovanni Scafora 
 # Contributor: damir 
 # Contributor: Robert Emil Berge 
 
 pkgname=rosegarden
-pkgver=11.02
+pkgver=11.06
 pkgrel=1
 pkgdesc="MIDI/audio sequencer and notation editor"
 arch=('i686' 'x86_64')
@@ -24,7 +24,7 @@ optdepends=('lilypond: notation display'
                                      'dssi-vst: win32 VST support')
 install=$pkgname.install
 source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2)
-md5sums=('fca86bfd7351a16cc2b55a85d2c8a128')
+md5sums=('77ab43d06de53ace338843ff82e26288')
 
 build() {
   cd "$srcdir/$pkgname-$pkgver"
diff --git a/extra/startup-notification/PKGBUILD b/extra/startup-notification/PKGBUILD
index c3e5760a6..eac3df02e 100644
--- a/extra/startup-notification/PKGBUILD
+++ b/extra/startup-notification/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 111001 2011-02-23 15:59:58Z jgc $
+# $Id: PKGBUILD 124868 2011-05-24 20:23:38Z ibiru $
 # Maintainer: Jan de Groot 
 # Contributor: dorphell 
 
 pkgname=startup-notification
-pkgver=0.10
-pkgrel=2
+pkgver=0.12
+pkgrel=1
 pkgdesc="Monitor and display application startup"
 arch=(i686 x86_64)
 license=('LGPL')
@@ -12,13 +12,15 @@ depends=('libx11' 'xcb-util>=0.3.4')
 options=('!libtool')
 url="http://www.freedesktop.org"
 source=(http://www.freedesktop.org/software/startup-notification/releases/${pkgname}-${pkgver}.tar.gz)
-md5sums=('bca0ed1c74bc4e483ea2ed12a5717354')
+md5sums=('2cd77326d4dcaed9a5a23a1232fb38e9')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  sed -i -e '/AC_PATH_XTRA/d' configure.in
-  autoreconf --force --install
   ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc
   make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
   make DESTDIR="${pkgdir}" install
 }
diff --git a/extra/yelp/PKGBUILD b/extra/yelp/PKGBUILD
index 1fb51459d..ebffe3b7f 100644
--- a/extra/yelp/PKGBUILD
+++ b/extra/yelp/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 120703 2011-04-26 05:18:34Z jgc $
+# $Id: PKGBUILD 124709 2011-05-24 06:57:26Z heftig $
 # Maintainer: Jan de Groot 
 
 pkgname=yelp
-pkgver=3.0.2
+pkgver=3.0.3
 pkgrel=1
 pkgdesc="A help browser for GNOME"
 arch=('i686' 'x86_64')
@@ -15,7 +15,7 @@ options=('!emptydirs' '!libtool')
 url="http://www.gnome.org"
 install=yelp.install
 source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
-sha256sums=('6de6c45439b21a3042236d5d836de9dd44d59c2d4c324982c316b4b6834ce0a4')
+sha256sums=('938b50b63f2783d8f87ce2e6ebb622dcfc7cb2d81b39278d1298c5f3bdf236b9')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/staging/akonadi/PKGBUILD b/staging/akonadi/PKGBUILD
new file mode 100644
index 000000000..3e181dafa
--- /dev/null
+++ b/staging/akonadi/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 124793 2011-05-24 13:10:03Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgname=akonadi
+pkgver=1.5.3
+pkgrel=2
+pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data"
+arch=('i686' 'x86_64')
+url='http://pim.kde.org/akonadi'
+license=('LGPL')
+depends=('shared-mime-info' 'boost-libs' 'mysql' 'soprano')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost')
+install="${pkgname}.install"
+source=("http://download.akonadi-project.org/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('ad342acca61c2af27be4cce61b2d925a')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../${pkgname}-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE
+  make
+}
+
+package() {
+  cd "${srcdir}/build"
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/akonadi/akonadi.install b/staging/akonadi/akonadi.install
new file mode 100644
index 000000000..7c8a8bd2b
--- /dev/null
+++ b/staging/akonadi/akonadi.install
@@ -0,0 +1,11 @@
+post_install() {
+	update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/staging/avogadro/PKGBUILD b/staging/avogadro/PKGBUILD
new file mode 100644
index 000000000..6f1a6baf5
--- /dev/null
+++ b/staging/avogadro/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124796 2011-05-24 13:18:50Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Nick B 
+
+pkgname=avogadro
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="An advanced molecular editor based on Qt"
+arch=('i686' 'x86_64')
+url="http://avogadro.openmolecules.net/wiki/Main_Page"
+license=('GPL2')
+depends=('eigen' 'openbabel' 'python2-pyqt' 'boost-libs' 'glew' 'python2-numpy')
+makedepends=('cmake' 'boost')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('92c2702c1980f70fb6d87a1a58147911')
+
+build() {
+  cd ${srcdir}
+  mkdir build
+  cd build
+  cmake ../${pkgname}-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd ${srcdir}/build
+  make DESTDIR=${pkgdir} install
+}
diff --git a/staging/boost/4994-compile-fix-for-Python32-v2.patch b/staging/boost/4994-compile-fix-for-Python32-v2.patch
new file mode 100644
index 000000000..22613b3f2
--- /dev/null
+++ b/staging/boost/4994-compile-fix-for-Python32-v2.patch
@@ -0,0 +1,16 @@
+Index: libs/python/src/converter/builtin_converters.cpp
+===================================================================
+--- libs/python/src/converter/builtin_converters.cpp	(revision 67279)
++++ libs/python/src/converter/builtin_converters.cpp	(working copy)
+@@ -431,7 +431,11 @@
+           if (!result.empty())
+           {
+               int err = PyUnicode_AsWideChar(
++#if PY_VERSION_HEX >= 0x03020000
++                  intermediate
++#else
+                   (PyUnicodeObject *)intermediate
++#endif
+                 , &result[0]
+                 , result.size());
+ 
diff --git a/staging/boost/PKGBUILD b/staging/boost/PKGBUILD
new file mode 100644
index 000000000..d95541e63
--- /dev/null
+++ b/staging/boost/PKGBUILD
@@ -0,0 +1,112 @@
+# $Id: PKGBUILD 124783 2011-05-24 12:31:42Z ibiru $
+# Maintainer: kevin 
+# Contributor: Giovanni Scafora 
+# Contributor: Kritoke 
+# Contributor: Luca Roccia 
+
+pkgbase=boost
+pkgname=('boost-libs' 'boost')
+pkgver=1.46.1
+_boostver=${pkgver//./_}
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://www.boost.org/"
+makedepends=('icu' 'python' 'python2' 'bzip2' 'zlib' 'openmpi')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgbase}/${pkgbase}_${_boostver}.tar.gz
+        4994-compile-fix-for-Python32-v2.patch
+        boost-1.46.0-spirit.patch)
+license=('custom')
+md5sums=('341e5d993b19d099bf1a548495ea91ec'
+         'cb59e8adbf2a45ef9264a2f4ab92b849'
+         '9d6e2f13fef23bf27d7bdddc104e182a')
+
+_stagedir="${srcdir}/stagedir"
+
+build() {
+  # set python path for bjam
+  cd "${srcdir}/${pkgbase}_${_boostver}/tools"
+  echo "using python : 2.7 : /usr/bin/python2 ;" >> build/v2/user-config.jam
+  echo "using python : 3.2 : /usr/bin/python : /usr/include/python3.2mu : /usr/lib ;" >> build/v2/user-config.jam
+  echo "using mpi ;" >> build/v2/user-config.jam
+
+  # build bjam
+  cd "${srcdir}/${pkgbase}_${_boostver}/tools/build/v2/engine/src"
+  ./build.sh cc
+
+  _bindir="bin.linuxx86"
+  [ "${CARCH}" = "x86_64" ] && _bindir="bin.linuxx86_64"
+
+  install -d "${_stagedir}"/usr/bin
+  install ${_bindir}/bjam "${_stagedir}"/usr/bin/bjam
+
+  # build bcp
+  cd "${srcdir}/${pkgbase}_${_boostver}/tools/bcp"
+  ../build/v2/engine/src/${_bindir}/bjam --toolset=gcc
+  install -m755 "${srcdir}/${pkgbase}_${_boostver}/dist/bin/bcp" \
+                ${_stagedir}/usr/bin/bcp
+
+  # build libs
+  cd "${srcdir}/${pkgbase}_${_boostver}"
+  #python 3.2 support
+  #https://svn.boost.org/trac/boost/ticket/4994
+  patch -Np0 -i "${srcdir}/4994-compile-fix-for-Python32-v2.patch"
+  patch -Np0 -i "${srcdir}/boost-1.46.0-spirit.patch"
+
+  # default "minimal" install: "release link=shared,static
+  # runtime-link=shared threading=single,multi"
+  # --layout=tagged will add the "-mt" suffix for multithreaded libraries
+  # and installs includes in /usr/include/boost.
+  # --layout=system no longer adds the -mt suffix for multi-threaded libs.
+  # install to ${_stagedir} in preparation for split packaging
+
+  ./tools/build/v2/engine/src/${_bindir}/bjam \
+      release debug-symbols=off threading=multi \
+      runtime-link=shared link=shared,static \
+      cflags=-fno-strict-aliasing \
+      toolset=gcc \
+      --prefix="${_stagedir}" \
+      -sTOOLS=gcc \
+      --layout=system \
+      ${MAKEFLAGS} \
+      install
+
+  # pyste is unmaintained: http://www.boost.org/doc/libs/1_46_0/libs/python/doc/index.html
+  # build pyste
+  #cd "${srcdir}/${pkgbase}_${_boostver}/libs/python/pyste/install"
+  #python2 setup.py install --root=${_stagedir} --optimize=1
+}
+
+package_boost() {
+    pkgdesc="Free peer-reviewed portable C++ source libraries - Development"
+    depends=("boost-libs=${pkgver}")
+    optdepends=('python: for python bindings'
+                'python2: for python2 bindings')
+
+    install -d "${pkgdir}"/usr/{include,lib}
+    # headers/source files
+    cp -r "${_stagedir}"/include/ "${pkgdir}"/usr/
+
+    # static libs
+    cp -r "${_stagedir}"/lib/*.a "${pkgdir}"/usr/lib/
+
+    # utilities (bjam, bcp, pyste)
+    cp -r "${_stagedir}"/usr/* "${pkgdir}"/usr/
+
+    # license
+    install -D -m644 "${srcdir}/${pkgbase}_${_boostver}/LICENSE_1_0.txt" \
+        "${pkgdir}"/usr/share/licenses/boost/LICENSE_1_0.txt
+}
+
+package_boost-libs() {
+    pkgdesc="Free peer-reviewed portable C++ source libraries - Runtime"
+    depends=('gcc-libs' 'bzip2' 'zlib' 'icu')
+    optdepends=('openmpi: for mpi support')
+
+    install -d "${pkgdir}/usr/lib"
+    #shared libs
+    cp -r "${_stagedir}"/lib/*.so{,.*} "${pkgdir}/usr/lib/"
+
+    # license
+    install -D -m644 "${srcdir}/${pkgbase}_${_boostver}/LICENSE_1_0.txt" \
+        "${pkgdir}"/usr/share/licenses/boost-libs/LICENSE_1_0.txt
+}
diff --git a/staging/boost/boost-1.46.0-spirit.patch b/staging/boost/boost-1.46.0-spirit.patch
new file mode 100644
index 000000000..6fae331ee
--- /dev/null
+++ b/staging/boost/boost-1.46.0-spirit.patch
@@ -0,0 +1,59 @@
+Index: boost/spirit/home/qi/nonterminal/detail/parameterized.hpp
+===================================================================
+--- boost/spirit/home/qi/nonterminal/detail/parameterized.hpp	(revision 68724)
++++ boost/spirit/home/qi/nonterminal/detail/parameterized.hpp	(revision 68725)
+@@ -14,6 +14,7 @@
+ 
+ #include 
+ 
++#include 
+ #include 
+ 
+ namespace boost { namespace spirit { namespace qi
+@@ -59,4 +60,16 @@ namespace boost { namespace spirit { nam
+     };
+ }}}
+ 
++namespace boost { namespace spirit { namespace traits
++{
++    ///////////////////////////////////////////////////////////////////////////
++    template 
++    struct handles_container
++          , Attribute, Context, Iterator>
++      : handles_container::type
++        , Attribute, Context, Iterator> 
++    {};
++}}}
++
+ #endif
+Index: boost/spirit/home/karma/nonterminal/detail/parameterized.hpp
+===================================================================
+--- boost/spirit/home/karma/nonterminal/detail/parameterized.hpp	(revision 68724)
++++ boost/spirit/home/karma/nonterminal/detail/parameterized.hpp	(revision 68725)
+@@ -14,6 +14,7 @@
+ 
+ #include 
+ 
++#include 
+ #include 
+ 
+ namespace boost { namespace spirit { namespace karma
+@@ -60,4 +61,17 @@ namespace boost { namespace spirit { nam
+     };
+ }}}
+ 
++
++namespace boost { namespace spirit { namespace traits
++{
++    ///////////////////////////////////////////////////////////////////////////
++    template 
++    struct handles_container
++          , Attribute, Context, Iterator>
++      : handles_container::type
++        , Attribute, Context, Iterator> 
++    {};
++}}}
++
+ #endif
diff --git a/staging/cairo-perl/PKGBUILD b/staging/cairo-perl/PKGBUILD
new file mode 100644
index 000000000..b697e5e16
--- /dev/null
+++ b/staging/cairo-perl/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 124873 2011-05-24 21:13:32Z remy $
+# Maintainer: Jan de Groot 
+
+pkgname=cairo-perl
+_realname=Cairo
+pkgver=1.061
+pkgrel=4
+pkgdesc="Perl wrappers for cairo"
+arch=(i686 x86_64)
+license=('LGPL')
+url="http://gtk2-perl.sourceforge.net/"
+options=('!emptydirs')
+depends=('cairo>=1.8.10' 'perl>=5.14')
+makedepends=('perl-extutils-depends' 'perl-extutils-pkgconfig')
+source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/${_realname}-${pkgver}.tar.gz)
+md5sums=('08cd5e847f61858651fc4de769066e88')
+
+build() {
+  cd "${srcdir}/${_realname}-${pkgver}"
+  perl Makefile.PL INSTALLDIRS=vendor
+  make
+}
+
+check() {
+  cd "${srcdir}/${_realname}-${pkgver}"
+  make test || true
+}
+
+package() {
+  cd "${srcdir}/${_realname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/ekiga/PKGBUILD b/staging/ekiga/PKGBUILD
new file mode 100644
index 000000000..7d4d83910
--- /dev/null
+++ b/staging/ekiga/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 124817 2011-05-24 15:39:18Z heftig $
+# Maintainer: Jan de Groot 
+# Contributor: Tom K 
+
+pkgname=ekiga
+pkgver=3.3.0
+pkgrel=4
+pkgdesc="VOIP/Videoconferencing app with full SIP and H.323 support (GnomeMeeting expanded and renamed)"
+url="http://www.ekiga.org"
+license=(GPL)
+arch=(i686 x86_64)
+depends=('opal' 'boost-libs' 'libxv' 'libnotify' 'hicolor-icon-theme' 'avahi' 'gtk2' 'gconf')
+makedepends=('intltool' 'gnome-doc-utils' 'evolution-data-server' 'boost')
+optdepends=('evolution-data-server: Evolution integration')
+provides=('gnomemeeting')
+replaces=('gnomemeeting')
+options=(!emptydirs)
+groups=('gnome-extra')
+install=ekiga.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('3fb22704e44afebf4294632505fb7a13f3eccb152fcb5878e97aa556d9486d2c')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --disable-schemas-install \
+      --disable-scrollkeeper --enable-dbus
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install
+
+  install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+  gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain ekiga ${pkgdir}/etc/gconf/schemas/*.schemas
+  rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/staging/ekiga/ekiga.install b/staging/ekiga/ekiga.install
new file mode 100644
index 000000000..b1d76a4a3
--- /dev/null
+++ b/staging/ekiga/ekiga.install
@@ -0,0 +1,22 @@
+pkgname=ekiga
+
+post_install() {
+  usr/sbin/gconfpkg --install ${pkgname}
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+  pre_remove $1
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+  usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/staging/frozen-bubble/PKGBUILD b/staging/frozen-bubble/PKGBUILD
new file mode 100644
index 000000000..eac81509b
--- /dev/null
+++ b/staging/frozen-bubble/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 124828 2011-05-24 16:19:16Z heftig $
+# Maintainer: Jan "heftig" Steffens 
+# Contributor: Allan McRae 
+# Contributor: Brandon Niemczyk 
+
+pkgname=frozen-bubble
+_pkgver=2.2.1-beta1
+pkgver=${_pkgver/-/}
+pkgrel=2
+pkgdesc="A game in which you throw colorful bubbles and build groups to destroy the bubbles"
+arch=(i686 x86_64)
+url="http://www.frozen-bubble.org"
+license=(GPL2)
+depends=(perl-sdl perl-ipc-system-simple perl-compress-bzip2 perl-file-which)
+makedepends=(perl-file-slurp perl-locale-maketext-lexicon)
+options=('!emptydirs')
+source=(http://www.frozen-bubble.org/data/$pkgname-$_pkgver.tar.bz2 \
+        frozen-bubble.desktop)
+md5sums=('825cc23ed806838b9d86de9982a5687a'
+         '01b10b77ba6ad856f5c199121c582272')
+
+package() {
+  cd "$srcdir/$pkgname-$_pkgver"
+
+  # gcc bug?
+  CFLAGS+=" -Doff64_t=__off64_t"
+
+  # install module in vendor directories
+  perl Build.PL installdirs=vendor destdir="$pkgdir"
+
+  perl Build
+  perl Build install
+
+  install -D -m644 share/icons/frozen-bubble-icon-64x64.png "$pkgdir/usr/share/pixmaps/frozen-bubble.png"
+  install -D -m644 "$srcdir/frozen-bubble.desktop" "$pkgdir/usr/share/applications/frozen-bubble.desktop"
+}
diff --git a/staging/frozen-bubble/frozen-bubble.desktop b/staging/frozen-bubble/frozen-bubble.desktop
new file mode 100644
index 000000000..76a7bcd88
--- /dev/null
+++ b/staging/frozen-bubble/frozen-bubble.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Version=1.0
+Encoding=UTF-8
+Name=Frozen Bubble
+Icon=frozen-bubble.png
+Exec=/usr/bin/vendor_perl/frozen-bubble
+Terminal=false
+Categories=Game;
diff --git a/staging/gconf-perl/PKGBUILD b/staging/gconf-perl/PKGBUILD
new file mode 100644
index 000000000..e4f58af63
--- /dev/null
+++ b/staging/gconf-perl/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 124841 2011-05-24 18:04:05Z remy $
+# Maintainer: Jan de Groot 
+
+pkgname=gconf-perl
+_realname=Gnome2-GConf
+pkgver=1.044
+pkgrel=5
+pkgdesc="Gnome2-GConf perl bindings for gconf"
+arch=('i686' 'x86_64')
+license=('LGPL')
+url="http://gtk2-perl.sourceforge.net/"
+makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends')
+depends=('glib-perl' 'gconf' 'perl>=5.14')
+options=(!emptydirs)
+source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/${_realname}-${pkgver}.tar.gz)
+md5sums=('ea386003b18f067524833b0eeb271330')
+
+build() {
+  cd "${srcdir}/${_realname}-${pkgver}"
+  perl Makefile.PL INSTALLDIRS=vendor
+  make
+}
+
+check() {
+  cd "${srcdir}/${_realname}-${pkgver}"
+  dbus-launch --exit-with-session make test
+}
+
+package() {
+  cd "${srcdir}/${_realname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/gtk2-perl/PKGBUILD b/staging/gtk2-perl/PKGBUILD
new file mode 100644
index 000000000..215b21109
--- /dev/null
+++ b/staging/gtk2-perl/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 124902 2011-05-25 01:27:30Z foutrelis $
+# Maintainer: Jan de Groot 
+# Contributor: Sarah Hay 
+
+pkgname=gtk2-perl
+_realname=Gtk2
+pkgver=1.222
+pkgrel=3
+pkgdesc="Gtk2-Perl allows Perl developers to write GTK+ 2.x applications."
+arch=(i686 x86_64)
+license=('LGPL')
+url="http://gtk2-perl.sourceforge.net/"
+makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends')
+depends=('gtk2' 'pango-perl')
+options=('!emptydirs')
+source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/${_realname}-${pkgver}.tar.gz)
+md5sums=('8f8a170b33dc2cf4e69769e97c05185a')
+
+build() {
+  cd "${srcdir}/${_realname}-${pkgver}"
+  # install module in vendor directories.
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+  make
+  make install DESTDIR="${pkgdir}"
+}
diff --git a/staging/kdeedu/PKGBUILD b/staging/kdeedu/PKGBUILD
new file mode 100644
index 000000000..a5a24fb20
--- /dev/null
+++ b/staging/kdeedu/PKGBUILD
@@ -0,0 +1,280 @@
+# $Id: PKGBUILD 124802 2011-05-24 13:56:35Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdeedu
+pkgname=('kdeedu-blinken'
+         'kdeedu-cantor'
+         'kdeedu-data'
+         'kdeedu-kalgebra'
+         'kdeedu-kalzium'
+         'kdeedu-kanagram'
+         'kdeedu-kbruch'
+         'kdeedu-kgeography'
+         'kdeedu-khangman'
+         'kdeedu-kig'
+         'kdeedu-kiten'
+         'kdeedu-klettres'
+         'kdeedu-kmplot'
+         'kdeedu-kstars'
+         'kdeedu-ktouch'
+         'kdeedu-kturtle'
+         'kdeedu-kwordquiz'
+         'kdeedu-libkdeedu'
+         'kdeedu-marble'
+         'kdeedu-parley'
+         'kdeedu-rocs'
+         'kdeedu-step')
+pkgver=4.6.3
+pkgrel=2
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'ocaml' 'facile' 'cfitsio' 'gpsd'
+	'kdebase-runtime' 'libqalculate' 'gsl' 'boost' 'libindi' 'r' 'libspectre'
+	'python2' 'avogadro')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
+        'gpsd-2.96.patch')
+sha1sums=('4b27e6e1670760982dae13dc8c51c814c6853396'
+          'fd6b6b81945d951bb6ad0bb735df33c11bb2008e')
+
+build() {
+    cd ${srcdir}/${pkgbase}-${pkgver}
+    patch -Np1 -i ${srcdir}/gpsd-2.96.patch
+
+    cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../${pkgbase}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=OFF \
+		-DCMAKE_INSTALL_PREFIX=/usr
+	make
+}
+
+package_kdeedu-blinken() {
+	pkgdesc='A memory enhancement game'
+	depends=('kdebase-runtime' 'kdeedu-libkdeedu')
+	install='kdeedu.install'
+	cd $srcdir/build/blinken
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/blinken
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-cantor() {
+	pkgdesc='KDE Frontend to Mathematical Software'
+	depends=('kdeedu-libkdeedu' 'libspectre')
+	optdepends=('kdeedu-kalgebra: backend'
+		'maxima: backend'
+		'r: backend')
+	install='kdeedu.install'
+	cd $srcdir/build/cantor
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/cantor
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-data() {
+	pkgdesc='Data for KDE Educational Software'
+	groups=()
+	cd $srcdir/build/data
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kalgebra() {
+	pkgdesc='Math Expression Solver and Plotter'
+	depends=('kdebase-runtime')
+	install='kdeedu.install'
+	cd $srcdir/build/kalgebra
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kalgebra
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kalzium() {
+	pkgdesc='KDE Periodic Table of Elements'
+	depends=('kdebase-runtime'  'kdeedu-libkdeedu' 'avogadro')
+	install='kdeedu.install'
+	cd $srcdir/build/kalzium
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kalzium
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kanagram() {
+	pkgdesc='KDE Letter Order Game'
+	depends=('kdebase-runtime' 'kdeedu-libkdeedu' 'kdeedu-data')
+	install='kdeedu.install'
+	cd $srcdir/build/kanagram
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kanagram
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kbruch() {
+	pkgdesc='Practice exercises with fractions'
+	depends=('kdelibs' 'kdebase-runtime')
+	install='kdeedu.install'
+	cd $srcdir/build/kbruch
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kbruch
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kgeography() {
+	pkgdesc='A Geography Learning Program'
+	depends=('kdebase-runtime')
+	install='kdeedu.install'
+	cd $srcdir/build/kgeography
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kgeography
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-khangman() {
+	pkgdesc='KDE Hangman Game'
+	depends=('kdebase-runtime' 'kdeedu-libkdeedu' 'kdeedu-data')
+	install='kdeedu.install'
+	cd $srcdir/build/khangman
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/khangman
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kig() {
+	pkgdesc='Explore Geometric Constructions'
+	depends=('kdebase-runtime' 'boost-libs' 'python2')
+	install='kdeedu.install'
+	cd $srcdir/build/kig
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kig
+	make DESTDIR=$pkgdir install
+
+	# Use the python2 executable
+	sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' ${pkgdir}/usr/bin/pykig.py
+}
+
+package_kdeedu-kiten() {
+	pkgdesc='Japanese Reference and Study Tool'
+	depends=('kdebase-runtime')
+	install='kdeedu.install'
+	cd $srcdir/build/kiten
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kiten
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-klettres() {
+	pkgdesc='a KDE program to learn the alphabet'
+	depends=('kdebase-runtime')
+	install='kdeedu.install'
+	cd $srcdir/build/klettres
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/klettres
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kmplot() {
+	pkgdesc='Function Plotter'
+	depends=('kdebase-runtime')
+	install='kdeedu.install'
+	cd $srcdir/build/kmplot
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kmplot
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kstars() {
+	pkgdesc='Desktop Planetarium'
+	depends=('kdebase-runtime' 'libindi')
+	install='kdeedu.install'
+	cd $srcdir/build/kstars
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kstars
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-ktouch() {
+	pkgdesc='Touch Typing Tutor'
+	depends=('kdebase-runtime')
+	install='kdeedu.install'
+	cd $srcdir/build/ktouch
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/ktouch
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kturtle() {
+	pkgdesc='Educational Programming Environment'
+	depends=('kdebase-runtime')
+	install='kdeedu.install'
+	cd $srcdir/build/kturtle
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kturtle
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-kwordquiz() {
+	pkgdesc='A flashcard and vocabulary learning program'
+	depends=('kdebase-runtime' 'kdeedu-libkdeedu' 'kdeedu-data')
+	install='kdeedu.install'
+	cd $srcdir/build/kwordquiz
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kwordquiz
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-libkdeedu() {
+	pkgdesc='Support library for KDE Educational Software'
+	groups=()
+	depends=('kdelibs')
+	install='kdeedu.install'
+	cd $srcdir/build/libkdeedu
+	make DESTDIR=$pkgdir install
+	install -D -m644 $srcdir/${pkgbase}-${pkgver}/cmake/modules/FindKDEEdu.cmake \
+		$pkgdir/usr/share/apps/cmake/modules/FindKDEEdu.cmake
+}
+
+package_kdeedu-marble() {
+	pkgdesc='Desktop Globe'
+	depends=('kdebase-runtime' 'gpsd')
+	install='kdeedu.install'
+	cd $srcdir/build/marble
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/marble
+	make DESTDIR=$pkgdir install
+	install -D -m644 $srcdir/${pkgbase}-${pkgver}/cmake/modules/FindMarbleWidget.cmake \
+		$pkgdir/usr/share/apps/cmake/modules/FindMarbleWidget.cmake
+}
+
+package_kdeedu-parley() {
+	pkgdesc='Vocabulary Trainer'
+	depends=('kdebase-runtime' 'kdeedu-libkdeedu' 'kdeedu-data' 'kdebindings-python')
+	install='kdeedu.install'
+	cd $srcdir/build/parley
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/parley
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-rocs() {
+	pkgdesc='Graph Theory Tool for Professors and Students.'
+	depends=('kdebase-runtime' 'kdeedu-libkdeedu')
+	install='kdeedu.install'
+	cd $srcdir/build/rocs
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/rocs
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeedu-step() {
+	pkgdesc='Simulate physics experiments'
+	depends=('kdebase-runtime' 'gsl' 'libqalculate')
+	install='kdeedu.install'
+	cd $srcdir/build/step
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/step
+	make DESTDIR=$pkgdir install
+}
diff --git a/staging/kdeedu/gpsd-2.96.patch b/staging/kdeedu/gpsd-2.96.patch
new file mode 100644
index 000000000..ec515e99d
--- /dev/null
+++ b/staging/kdeedu/gpsd-2.96.patch
@@ -0,0 +1,43 @@
+Index: kdeedu-4.5.5/marble/src/plugins/positionprovider/gpsd/GpsdConnection.cpp
+===================================================================
+--- kdeedu-4.5.5.orig/marble/src/plugins/positionprovider/gpsd/GpsdConnection.cpp
++++ kdeedu-4.5.5/marble/src/plugins/positionprovider/gpsd/GpsdConnection.cpp
+@@ -18,6 +18,9 @@ using namespace Marble;
+ 
+ GpsdConnection::GpsdConnection( QObject* parent )
+     : QObject( parent ),
++#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
++      m_gpsd("localhost", DEFAULT_GPSD_PORT),
++#endif
+       m_timer( 0 )
+ {
+     connect( &m_timer, SIGNAL( timeout() ), this, SLOT( update() ) );
+@@ -26,7 +29,11 @@ GpsdConnection::GpsdConnection( QObject*
+ void GpsdConnection::initialize()
+ {
+     m_timer.stop();
++#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
++    gps_data_t* data;
++#else
+     gps_data_t* data = m_gpsd.open();
++#endif
+     if ( data ) {
+         m_status = PositionProviderStatusAcquiring;
+         emit statusChanged( m_status );
+@@ -73,8 +80,16 @@ void GpsdConnection::initialize()
+ void GpsdConnection::update()
+ {
+ #if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 3 ) && defined( PACKET_SET )
++#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
++    if ( m_gpsd.waiting(0) ) {
++#else
+     if ( m_gpsd.waiting() ) {
++#endif
++#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
++        gps_data_t* data = m_gpsd.read();
++#else
+         gps_data_t* data = m_gpsd.poll();
++#endif
+         if ( data && data->set & PACKET_SET ) {
+             emit gpsdInfo( *data );
+         }
diff --git a/staging/kdeedu/kdeedu.install b/staging/kdeedu/kdeedu.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/staging/kdeedu/kdeedu.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/staging/libtorrent-rasterbar/PKGBUILD b/staging/libtorrent-rasterbar/PKGBUILD
new file mode 100644
index 000000000..275c56431
--- /dev/null
+++ b/staging/libtorrent-rasterbar/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 124787 2011-05-24 12:59:08Z ibiru $
+# Maintainer : Ionut Biru 
+# Contributor: Hugo Doria 
+
+pkgname=libtorrent-rasterbar
+pkgver=0.15.6
+pkgrel=2
+pkgdesc="A C++ library that aims to be a good alternative to all the other bittorrent implementations around"
+url="http://www.rasterbar.com/products/libtorrent/"
+arch=('i686' 'x86_64')
+license=('custom')
+depends=('boost-libs' 'python2')
+makedepends=('boost')
+source=(http://libtorrent.googlecode.com/files/${pkgname}-${pkgver}.tar.gz)
+sha1sums=('e6f33b139933ec245e8850558efe52e88081fc6d')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  ./configure --prefix=/usr --enable-python-binding
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -D COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/staging/pango-perl/PKGBUILD b/staging/pango-perl/PKGBUILD
new file mode 100644
index 000000000..ad489dec4
--- /dev/null
+++ b/staging/pango-perl/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 124899 2011-05-25 01:24:25Z foutrelis $
+# Maintainer: Jan de Groot 
+
+pkgname=pango-perl
+_realname=Pango
+pkgver=1.221
+pkgrel=4
+pkgdesc="Perl bindings for Pango"
+arch=(i686 x86_64)
+license=('LGPL')
+url="http://gtk2-perl.sourceforge.net/"
+makedepends=('perl-extutils-pkgconfig' 'perl-extutils-depends')
+depends=('pango' 'glib-perl' 'cairo-perl')
+options=('!emptydirs')
+source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/${_realname}-${pkgver}.tar.gz)
+md5sums=('8d257209aa11bd6c3a2beb235c2f103f')
+
+build() {
+  cd "${srcdir}/${_realname}-${pkgver}"
+  # install module in vendor directories.
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+  make
+  make install DESTDIR="${pkgdir}"
+}
diff --git a/staging/perl-alien-sdl/PKGBUILD b/staging/perl-alien-sdl/PKGBUILD
new file mode 100644
index 000000000..25bd18eeb
--- /dev/null
+++ b/staging/perl-alien-sdl/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124820 2011-05-24 15:44:07Z heftig $
+# Maintainer: Jan "heftig" Steffens 
+# Contributor: Allan McRae 
+# Contributor: Sarah Hay 
+
+# This package must not by "any" arch.
+# Requires rebuild with every change to sdl-config
+
+pkgname=perl-alien-sdl
+_realname=Alien-SDL
+pkgver=1.426
+pkgrel=1
+pkgdesc="Building, finding and using SDL binaries"
+arch=(i686 x86_64)
+license=(PerlArtistic GPL)
+url="http://search.cpan.org/dist/Alien-SDL/"
+depends=(sdl=1.2.14 perl-file-sharedir perl-capture-tiny)
+makedepends=(perl-file-which perl-text-patch)
+options=(!emptydirs)
+source=(http://search.cpan.org/CPAN/authors/id/F/FR/FROGGS/$_realname-$pkgver.tar.gz)
+md5sums=('ab5e1167934418f4a7b3285a9d05c89b')
+
+package() {
+  cd "$srcdir/$_realname-$pkgver"
+
+  # install module in vendor directories
+  perl Build.PL installdirs=vendor destdir="$pkgdir" --with-sdl-config
+
+  perl Build
+  perl Build install
+}
diff --git a/staging/perl-sdl/PKGBUILD b/staging/perl-sdl/PKGBUILD
new file mode 100644
index 000000000..27ef6a6c2
--- /dev/null
+++ b/staging/perl-sdl/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124823 2011-05-24 15:53:48Z heftig $
+# Maintainer: Jan "heftig" Steffens 
+# Contributor: Allan McRae 
+# Contributor: Sarah Hay 
+
+pkgname=perl-sdl
+pkgver=2.531
+pkgrel=2
+pkgdesc="Simple DirectMedia Layer for Perl"
+arch=(i686 x86_64)
+license=(LGPL)
+url="http://sdl.perl.org"
+depends=(perl-alien-sdl perl-tie-simple
+         sdl_{net,ttf,image,mixer,gfx,pango} mesa smpeg)
+#makedepends=(perl-yaml)
+options=('!emptydirs')
+replaces=(sdl_perl)
+conflicts=(sdl_perl)
+provides=("sdl_perl=$pkgver")
+source=(http://search.cpan.org/CPAN/authors/id/G/GA/GARU/SDL-$pkgver.tar.gz)
+md5sums=('ed39c87ae685d3a933705a2ea82a9e18')
+
+package() {
+  cd "$srcdir/SDL-$pkgver"
+
+  # install module in vendor directories
+  perl Build.PL installdirs=vendor destdir="$pkgdir"
+
+  perl Build
+  perl Build install
+}
diff --git a/testing/eog/PKGBUILD b/testing/eog/PKGBUILD
new file mode 100644
index 000000000..872b9228a
--- /dev/null
+++ b/testing/eog/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 124886 2011-05-24 21:41:31Z ibiru $
+# Maintainer: Jan de Groot 
+
+pkgname=eog
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="Eye of Gnome: An image viewing and cataloging program"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gnome-desktop' 'libexif' 'lcms' 'desktop-file-utils' 'exempi'
+         'dbus-glib' 'libpeas' 'librsvg' 'gnome-icon-theme' 'dconf')
+makedepends=('gtk-doc' 'intltool')
+install=eog.install
+groups=('gnome-extra')
+options=('!emptydirs' '!libtool')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('96fa5af97baba0bce8dec376d7cd49512768505f473b11b2cf61881f6be8cb60')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --disable-scrollkeeper
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+
+  # remove it from Xfce menu that ships its own thingy
+  echo "NotShowIn=XFCE" >> ${pkgdir}/usr/share/applications/eog.desktop
+}
diff --git a/testing/eog/eog.install b/testing/eog/eog.install
new file mode 100644
index 000000000..284b24b18
--- /dev/null
+++ b/testing/eog/eog.install
@@ -0,0 +1,19 @@
+post_install() {
+  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  update-desktop-database -q
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+  if (( $(vercmp $2 2.90.0) < 0 )); then
+    usr/sbin/gconfpkg --uninstall eog
+  fi
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}
diff --git a/testing/evince/PKGBUILD b/testing/evince/PKGBUILD
new file mode 100644
index 000000000..ae1141789
--- /dev/null
+++ b/testing/evince/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 124739 2011-05-24 07:25:52Z ibiru $
+# Maintainer: Jan de Groot 
+
+pkgname=evince
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="Simply a document viewer"
+url="http://projects.gnome.org/evince/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gtk3' 'libspectre' 'gsfonts' 'poppler-glib' 'djvulibre' 'gnome-icon-theme'
+         't1lib' 'libgnome-keyring' 'desktop-file-utils' 'dconf' 'gsettings-desktop-schemas')
+makedepends=('gnome-doc-utils' 'nautilus' 'texlive-bin' 'intltool' 'gobject-introspection')
+optdepends=('texlive-bin: DVI support')
+groups=('gnome-extra')
+install=evince.install
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
+        introspection-fix.patch)
+sha256sums=('03abb74620caaa255f2d1369b684bbf8f62e15a4bf2d9f2a45f58e1789295a97'
+            '897b8c77c5cda31f4f8d860cd6a7ad8ad986dbf3cf26b56acf054cc650e94be1')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  patch -Np1 -i "${srcdir}/introspection-fix.patch"
+  autoreconf -fi
+
+  ./configure --prefix=/usr   --sysconfdir=/etc \
+      --localstatedir=/var    --libexecdir=/usr/lib/evince \
+      --disable-static        --enable-nautilus \
+      --enable-pdf            --enable-tiff \
+      --enable-djvu           --enable-dvi \
+      --enable-t1lib          --enable-comics \
+      --disable-scrollkeeper  --disable-schemas-compile \
+      --enable-introspection
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/evince/evince.install b/testing/evince/evince.install
new file mode 100644
index 000000000..9643a9ba0
--- /dev/null
+++ b/testing/evince/evince.install
@@ -0,0 +1,19 @@
+post_install() {
+  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  update-desktop-database -q
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+  if (( $(vercmp $2 2.90.0) < 0 )); then
+    usr/sbin/gconfpkg --uninstall evince
+  fi
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}
diff --git a/testing/evince/introspection-fix.patch b/testing/evince/introspection-fix.patch
new file mode 100644
index 000000000..6a64517bd
--- /dev/null
+++ b/testing/evince/introspection-fix.patch
@@ -0,0 +1,11 @@
+diff a/libview/Makefile.am b/libview/Makefile.am
+--- a/libview/Makefile.am
++++ b/libview/Makefile.am
+@@ -136,6 +136,7 @@ EvinceView-$(EV_API_VERSION).gir: libevview3.la Makefile $(INST_H_FILES) $(filte
+ 	--output $@ \
+ 	--pkg evince-document-$(EV_API_VERSION) \
+ 	--pkg evince-view-$(EV_API_VERSION) \
++	-L$(top_builddir)/libdocument/ \
+ 	-I$(top_srcdir) \
+ 	-I$(top_builddir) \
+ 	-DEVINCE_COMPILATION \
diff --git a/testing/file-roller/PKGBUILD b/testing/file-roller/PKGBUILD
new file mode 100644
index 000000000..5d7d1c2ec
--- /dev/null
+++ b/testing/file-roller/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 124730 2011-05-24 07:10:29Z ibiru $
+# Maintainer: Jan de Groot 
+
+pkgname=file-roller
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="Archive manipulator for GNOME"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'dconf' 'nautilus')
+makedepends=('intltool' 'gnome-doc-utils' 'pkg-config' 'nautilus' 'libsm')
+optdepends=('unrar: the RAR uncompression program'
+            'zip: creates PKZIP-compatible .zip files'
+            'unzip: unpacks .zip archives'
+            'p7zip: 7zip compression utility'
+            'xz: managing LZMA and XZ compressed files'
+            'arj: ARJ archiver'
+            'unace: extraction tool for the proprietary ace archive format')
+groups=('gnome-extra')
+options=('!libtool' '!emptydirs')
+install=file-roller.install
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('a612f05c44f82328175ddca1b4a1da214d9c305797370b78435f490b250af3d1')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  ./configure --prefix=/usr --sysconfdir=/etc \
+      --libexecdir=/usr/lib/file-roller \
+      --localstatedir=/var --disable-static \
+      --disable-scrollkeeper --disable-schemas-compile
+  make
+}
+
+package() {
+    cd "${srcdir}/${pkgname}-${pkgver}"
+    make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/file-roller/file-roller.install b/testing/file-roller/file-roller.install
new file mode 100644
index 000000000..10a148241
--- /dev/null
+++ b/testing/file-roller/file-roller.install
@@ -0,0 +1,22 @@
+pkgname=file-roller
+
+post_install() {
+    glib-compile-schemas usr/share/glib-2.0/schemas
+    update-desktop-database -q
+    gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+    if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+        usr/sbin/gconfpkg --uninstall ${pkgname}
+    fi
+}
+
+post_upgrade() {
+    post_install $1
+}
+
+
+post_remove() {
+    post_install $1
+}
diff --git a/testing/gnome-control-center/PKGBUILD b/testing/gnome-control-center/PKGBUILD
new file mode 100644
index 000000000..c75fc2c4a
--- /dev/null
+++ b/testing/gnome-control-center/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 124765 2011-05-24 09:14:06Z heftig $
+# Maintainer: Jan de Groot 
+
+pkgname=gnome-control-center
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="The Control Center for GNOME"
+arch=('i686' 'x86_64')
+depends=('gtk3' 'gsettings-desktop-schemas' 'gnome-menus' 'gnome-desktop' 'gnome-settings-daemon' 'upower' 'libgtop' 'cups-pk-helper' 'accountsservice' 'sound-theme-freedesktop' 'krb5')
+optdepends=('mesa-demos: provides glxinfo for graphics information'
+            'apg: adds password generation for user accounts')
+makedepends=('gnome-doc-utils' 'intltool' 'networkmanager')
+url="http://www.gnome.org"
+groups=('gnome')
+install=gnome-control-center.install
+license=('GPL')
+options=('!libtool' '!emptydirs')
+source=(http://download.gnome.org/sources/${pkgname}/3.0/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('477b09a060a75e3664bd9cc9aac6b780067e50198217e3e11dc64980e3414896')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --disable-static \
+      --disable-scrollkeeper --disable-update-mimedb
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  make DESTDIR="${pkgdir}" install
+}
+
diff --git a/testing/gnome-control-center/gnome-control-center.install b/testing/gnome-control-center/gnome-control-center.install
new file mode 100644
index 000000000..eb703319f
--- /dev/null
+++ b/testing/gnome-control-center/gnome-control-center.install
@@ -0,0 +1,19 @@
+pkgname=gnome-control-center
+
+post_install() {
+    gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+    if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+        usr/sbin/gconfpkg --uninstall ${pkgname}
+    fi
+}
+
+post_upgrade() {
+    post_install $1
+}
+
+post_remove() {
+    post_install $1
+}
diff --git a/testing/gnome-desktop/PKGBUILD b/testing/gnome-desktop/PKGBUILD
new file mode 100644
index 000000000..65002fb58
--- /dev/null
+++ b/testing/gnome-desktop/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124748 2011-05-24 07:38:40Z ibiru $
+# Maintainer:  Jan de Groot 
+
+pkgname=gnome-desktop
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="Library with common API for various GNOME modules"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL')
+depends=('gsettings-desktop-schemas' 'startup-notification' 'gtk3')
+makedepends=('gnome-doc-utils' 'intltool' 'gobject-introspection')
+url="http://www.gnome.org"
+groups=('gnome')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('0ac9b4a358c6d92d20283cf56a9817262ff3ce038013cbb5d98e4ab97aa2c9a3')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --disable-static \
+      --with-gnome-distributor="Arch Linux" \
+      --disable-scrollkeeper
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/gnome-panel/PKGBUILD b/testing/gnome-panel/PKGBUILD
new file mode 100644
index 000000000..2ecec8404
--- /dev/null
+++ b/testing/gnome-panel/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 124734 2011-05-24 07:14:49Z heftig $
+# Maintainer: Jan de Groot 
+
+pkgname=gnome-panel
+pkgver=3.0.2
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('GPL')
+pkgdesc="The GNOME Panel"
+url="http://www.gnome.org"
+depends=('gnome-menus' 'gnome-desktop' 'evolution-data-server' 'librsvg' 'libwnck3' 'libsm' 'dconf' 'telepathy-glib')
+makedepends=('gnome-doc-utils' 'intltool' 'gobject-introspection' 'networkmanager' 'libcanberra')
+install=gnome-panel.install
+groups=('gnome')
+replaces=('gnome-panel-bonobo')
+provides=("gnome-panel-bonobo=${pkgver}")
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('25db8ec026c4bf47f0ef5cc7e2712f2aad175bd7fb8e4952ef5f8b200f17f196')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --disable-static \
+      --libexecdir=/usr/lib/gnome-panel \
+      --disable-scrollkeeper \
+      --disable-schemas-compile
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+  install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+  gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-panel-3.0 ${pkgdir}/etc/gconf/schemas/*.schemas
+  rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/testing/gnome-panel/gnome-panel.install b/testing/gnome-panel/gnome-panel.install
new file mode 100644
index 000000000..e3175df5e
--- /dev/null
+++ b/testing/gnome-panel/gnome-panel.install
@@ -0,0 +1,24 @@
+pkgname=gnome-panel
+
+post_install() {
+  usr/sbin/gconfpkg --install ${pkgname}
+  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+  pre_remove
+}
+
+post_upgrade() {
+  post_install
+}
+
+pre_remove() {
+  usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/testing/gnome-session/PKGBUILD b/testing/gnome-session/PKGBUILD
new file mode 100644
index 000000000..aefd90ecd
--- /dev/null
+++ b/testing/gnome-session/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124745 2011-05-24 07:33:54Z ibiru $
+# Maintainer: Jan de Groot 
+
+pkgname=gnome-session
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="The GNOME Session Handler"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('upower' 'gtk3' 'gconf' 'startup-notification' 'hicolor-icon-theme' 'libxtst' 'polkit-gnome' 'libgl' 'librsvg'
+         'gsettings-desktop-schemas' 'consolekit' 'libsm' 'dconf')
+makedepends=('intltool' 'mesa' 'xtrans')
+options=('!emptydirs')
+install=gnome-session.install
+url="http://www.gnome.org"
+groups=('gnome')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('4801a0cfdf351a1184780cc1c2bdd5cea6cd1ad31505d5fa8de4e56aa766ab96')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --libexecdir=/usr/lib/gnome-session \
+      --disable-schemas-compile
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/gnome-session/gnome-session.install b/testing/gnome-session/gnome-session.install
new file mode 100644
index 000000000..74cf4ed22
--- /dev/null
+++ b/testing/gnome-session/gnome-session.install
@@ -0,0 +1,18 @@
+post_install() {
+  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+  if (( $(vercmp $2 2.91.91.3-3) < 0 )); then
+    usr/sbin/gconfpkg --uninstall gnome-session
+  fi
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}
diff --git a/testing/gnome-system-monitor/PKGBUILD b/testing/gnome-system-monitor/PKGBUILD
new file mode 100644
index 000000000..c25d0b22b
--- /dev/null
+++ b/testing/gnome-system-monitor/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 124753 2011-05-24 07:53:49Z ibiru $
+# Maintainer: Jan de Groot 
+
+pkgname=gnome-system-monitor
+pkgver=3.0.1
+pkgrel=1
+pkgdesc="A system monitor for GNOME"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('libwnck3' 'libgtop' 'gtkmm3' 'librsvg' 'gnome-icon-theme')
+makedepends=('pkgconfig' 'gnome-doc-utils' 'intltool')
+options=(!emptydirs)
+url="http://www.gnome.org"
+groups=('gnome-extra')
+install=gnome-system-monitor.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('0fe6a263875b23a35fd17d8952e666e17801cb68bb664d6ce8cabcfd9ac0f972')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --disable-scrollkeeper
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/gnome-system-monitor/gnome-system-monitor.install b/testing/gnome-system-monitor/gnome-system-monitor.install
new file mode 100644
index 000000000..e2957a570
--- /dev/null
+++ b/testing/gnome-system-monitor/gnome-system-monitor.install
@@ -0,0 +1,19 @@
+pkgname=gnome-system-monitor
+
+post_install() {
+    glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+pre_upgrade() {
+    if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+        usr/sbin/gconfpkg --uninstall ${pkgname}
+    fi
+}
+
+post_upgrade() {
+    post_install $1
+}
+
+post_remove() {
+    post_install $1
+}
diff --git a/testing/libgweather/01_gettext_not_xml.patch b/testing/libgweather/01_gettext_not_xml.patch
new file mode 100644
index 000000000..d5f57305e
--- /dev/null
+++ b/testing/libgweather/01_gettext_not_xml.patch
@@ -0,0 +1,527 @@
+only in patch2:
+unchanged:
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/configure.in libgweather-2.27.91.new/configure.in
+--- libgweather-2.27.91/configure.in	2009-08-25 23:56:58.000000000 +1000
++++ libgweather-2.27.91.new/configure.in	2009-08-26 11:54:52.000000000 +1000
+@@ -40,6 +40,10 @@
+ AM_MAINTAINER_MODE
+ GNOME_MAINTAINER_MODE_DEFINES
+ 
++dnl IT_PROG_INTLTOOL does this for us in the case of the po/ subdir, but we're on our own for po-locations
++AC_OUTPUT_COMMANDS([sed -e "/POTFILES =/r po/POTFILES" po-locations/Makefile.in > po-locations/Makefile])
++IT_PO_SUBDIR([po-locations])
++
+ IT_PROG_INTLTOOL([0.40.3])
+ PKG_PROG_PKG_CONFIG([0.19])
+ 
+@@ -50,13 +54,6 @@
+ AM_PROG_LIBTOOL
+ AC_PATH_PROG(GCONFTOOL, gconftool-2)
+ 
+-AC_ARG_ENABLE(all-translations-in-one-xml,
+-        [AC_HELP_STRING([--enable-all-translations-in-one-xml],
+-                        [Put all translations in a big Locations.xml file (slow to parse)])],
+-        [enable_big_xml=yes],
+-        [enable_big_xml=no])
+-AM_CONDITIONAL(USE_ONE_BIG_XML, test "x$enable_big_xml" = "xyes")
+-
+ AC_ARG_ENABLE(locations-compression,
+         [AC_HELP_STRING([--enable-locations-compression],
+                         [Compress Locations.xml files])],
+@@ -253,7 +250,7 @@
+ Makefile
+ doc/Makefile
+ po/Makefile.in
+-po-locations/Makefile
++po-locations/Makefile.in
+ libgweather/Makefile
+ libgweather/gweather.pc
+ libgweather/gweather-uninstalled.pc
+@@ -261,12 +258,6 @@
+ python/Makefile
+ ])
+ 
+-if test "x$enable_big_xml" = "xyes"; then
+-	LOCATIONS_XML_TRANSLATIONS="one big file"
+-else
+-	LOCATIONS_XML_TRANSLATIONS="one file per translation"
+-fi
+-
+ dnl ***************************************************************************
+ dnl *** Display Summary                                                     ***
+ dnl ***************************************************************************
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/data/Makefile.am libgweather-2.27.91.new/data/Makefile.am
+--- libgweather-2.27.91/data/Makefile.am	2009-07-22 03:01:11.000000000 +1000
++++ libgweather-2.27.91.new/data/Makefile.am	2009-08-26 11:57:46.000000000 +1000
+@@ -4,55 +4,23 @@
+ libgweatherlocationsdir = $(pkgdatadir)
+ libgweatherlocations_in_files = Locations.xml.in
+ 
+-if USE_ONE_BIG_XML
+-
+-LOCATIONS_STAMP = 
+-
+-libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml$(COMPRESS_EXT))
+-
+-%.xml$(COMPRESS_EXT): %.xml.in $(wildcard $(top_srcdir)/po-locations/*.po)
+-	$(AM_V_GEN)LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"` && \
+-	if test "x$(COMPRESS_EXT)" = "x.gz"; then				\
+-		gzip --force `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"`;	\
+-	fi
+-
+-else # USE_ONE_BIG_XML
+-
+ LOCATIONS_STAMP = stamp-Locations.xml
+ 
+-PO_LOCATIONS = $(shell if test -n "$(LINGUAS)"; then for lang in $(LINGUAS); do if test -f "$(top_srcdir)/po-locations/$$lang.po"; then echo "$(top_srcdir)/po-locations/$$lang.po "; fi; done; else for pofile in $(top_srcdir)/po-locations/*.po; do echo $$pofile; done; fi)
+-
+ # Helper variable
+-libgweatherlocations_data = $(libgweatherlocations_in_files:.xml.in=.xml)
+-
+-libgweatherlocations_DATA = $(shell echo $(PO_LOCATIONS) | sed "s|$(top_srcdir)/po-locations/|Locations.|g;s|\.po|.xml$(COMPRESS_EXT)|g") $(libgweatherlocations_data)$(COMPRESS_EXT)
++libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml)
+ 
+ # We need this step so that we merge all the make Locations.xy.xml destinations
+ # into one unique destination. This makes -j2 work. (Else, we end up with
+ # multiple and conflicting calls to intltool-merge)
+ $(libgweatherlocations_DATA): $(LOCATIONS_STAMP)
+ 
+-$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) $(PO_LOCATIONS) Makefile
+-	$(AM_V_at)LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< $(libgweatherlocations_data) && \
+-	for pofile in $(PO_LOCATIONS); do \
+-		locale=`echo $$pofile | sed "s;$(top_srcdir)/po-locations/\(.*\)\.po;\1;"`;	\
+-		xmllint --noblanks -o Locations.$$locale.xml $$locale/$(libgweatherlocations_data); \
+-		rm -f $$locale/$(libgweatherlocations_data);		\
+-		test -d $$locale && rmdir $$locale;			\
+-		if test "x$(COMPRESS_EXT)" = "x.gz"; then		\
+-			gzip --force Locations.$$locale.xml;		\
+-		fi;							\
+-	done &&								\
+-	xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_data) && \
+-	rm -f C/$(libgweatherlocations_data) &&				\
++$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) Makefile
++	LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache /dev/null $< $(libgweatherlocations_DATA)  && \
++	xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_DATA) && \
++	rm -f C/$(libgweatherlocations_DATA) &&				\
+ 	test -d C && rmdir C &&						\
+-	if test "x$(COMPRESS_EXT)" = "x.gz"; then			\
+-		gzip --force Locations.xml;				\
+-	fi &&								\
+ 	touch $@
+ 
+-endif # USE_ONE_BIG_XML
+-
+ check:
+ 	xmllint --valid --noout $(top_srcdir)/data/Locations.xml.in
+ 	$(srcdir)/check-timezones.sh $(srcdir)/Locations.xml.in
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/libgweather/gweather-location.c libgweather-2.27.91.new/libgweather/gweather-location.c
+--- libgweather-2.27.91/libgweather/gweather-location.c	2009-04-20 03:41:11.000000000 +1000
++++ libgweather-2.27.91.new/libgweather/gweather-location.c	2009-08-26 11:54:52.000000000 +1000
+@@ -22,11 +22,14 @@
+ #include 
+ #endif
+ 
++#include "config.h"
++
+ #include 
+ #include 
+ #include 
+ #include 
+ #include 
++#include 
+ 
+ #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
+ #include "gweather-location.h"
+@@ -184,10 +187,20 @@
+ 
+ 	tagname = (const char *) xmlTextReaderConstName (parser->xml);
+ 	if (!strcmp (tagname, "name") && !loc->name) {
+-	    value = gweather_parser_get_localized_value (parser);
++	    char *context = NULL;
++	    context = xmlTextReaderGetAttribute(parser->xml,"msgctxt"); 
++	   
++	    value = gweather_parser_get_value (parser);
+ 	    if (!value)
+ 		goto error_out;
+-	    loc->name = g_strdup (value);
++
++	    if (context != NULL) {
++	    	loc->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, value));
++	    	xmlFree (context);
++	    }
++	    else
++	    	loc->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",value));
++	    
+ 	    xmlFree (value);
+ 	    normalized = g_utf8_normalize (loc->name, -1, G_NORMALIZE_ALL);
+ 	    loc->sort_name = g_utf8_casefold (normalized, -1);
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/libgweather/gweather-timezone.c libgweather-2.27.91.new/libgweather/gweather-timezone.c
+--- libgweather-2.27.91/libgweather/gweather-timezone.c	2009-08-12 19:00:52.000000000 +1000
++++ libgweather-2.27.91.new/libgweather/gweather-timezone.c	2009-08-26 11:54:52.000000000 +1000
+@@ -23,6 +23,7 @@
+ #endif
+ 
+ #include 
++#include 
+ 
+ #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
+ #include "gweather-timezone.h"
+@@ -152,7 +153,7 @@
+ parse_timezone (GWeatherParser *parser)
+ {
+     GWeatherTimezone *zone = NULL;
+-    char *id = NULL, *name = NULL;
++    char *id = NULL, *name = NULL, *context = NULL;
+     int offset = 0, dst_offset = 0;
+     gboolean has_dst = FALSE;
+ 
+@@ -175,27 +176,34 @@
+ 		continue;
+ 	    }
+ 
+-	    if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name"))
+-		name = gweather_parser_get_localized_value (parser);
++	    if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name")) {
++		context = xmlTextReaderGetAttribute(parser->xml,"msgctxt"); 
++		name = gweather_parser_get_value (parser);
++	    }
+ 	    else {
+ 		if (xmlTextReaderNext (parser->xml) != 1)
+ 		    break;
+ 	    }
+ 	}
+     }
+-
++	    
+     if (parse_tzdata (id, parser->year_start, parser->year_end,
+ 		      &offset, &has_dst, &dst_offset)) {
+ 	zone = g_slice_new0 (GWeatherTimezone);
+ 	zone->ref_count = 1;
+ 	zone->id = g_strdup (id);
+-	zone->name = g_strdup (name);
++	if (context != NULL)
++		zone->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, name));
++	else
++		zone->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",name));
+ 	zone->offset = offset;
+ 	zone->has_dst = has_dst;
+ 	zone->dst_offset = dst_offset;
+     }
+ 
+     xmlFree (id);
++    if (context)
++    	xmlFree (context);
+     if (name)
+ 	xmlFree (name);
+ 
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/po-locations/LINGUAS libgweather-2.27.91.new/po-locations/LINGUAS
+--- libgweather-2.27.91/po-locations/LINGUAS	1970-01-01 10:00:00.000000000 +1000
++++ libgweather-2.27.91.new/po-locations/LINGUAS	2009-08-26 11:54:52.000000000 +1000
+@@ -0,0 +1,78 @@
++ang
++ar
++as
++az
++be
++be@latin
++bg
++bn_IN
++bn
++bs
++ca
++cs
++cy
++da
++de
++dz
++el
++en_CA
++en_GB
++es
++et
++eu
++fa
++fi
++fr
++ga
++gl
++gu
++he
++hi
++hr
++hu
++id
++it
++ja
++ka
++kn
++ko
++ku
++ky
++lt
++lv
++mai
++mg
++mk
++ml
++mn
++mr
++ms
++nb
++ne
++nl
++nn
++oc
++or
++pa
++pl
++pt_BR
++pt
++ro
++ru
++rw
++si
++sk
++sl
++sq
++sr@latin
++sr
++sv
++ta
++te
++th
++tr
++uk
++vi
++zh_CN
++zh_HK
++zh_TW
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/po-locations/Makefile.in.in libgweather-2.27.91.new/po-locations/Makefile.in.in
+--- libgweather-2.27.91/po-locations/Makefile.in.in	1970-01-01 10:00:00.000000000 +1000
++++ libgweather-2.27.91.new/po-locations/Makefile.in.in	2009-08-26 11:54:52.000000000 +1000
+@@ -0,0 +1,217 @@
++# Makefile for program source directory in GNU NLS utilities package.
++# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper 
++# Copyright (C) 2004-2008 Rodney Dawes 
++#
++# This file may be copied and used freely without restrictions.  It may
++# be used in projects which are not available under a GNU Public License,
++# but which still want to provide support for the GNU gettext functionality.
++#
++# - Modified by Owen Taylor  to use GETTEXT_PACKAGE
++#   instead of PACKAGE and to look for po2tbl in ./ not in intl/
++#
++# - Modified by jacob berkman  to install
++#   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
++#
++# - Modified by Rodney Dawes  for use with intltool
++#
++# We have the following line for use by intltoolize:
++# INTLTOOL_MAKEFILE
++
++GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-locations
++PACKAGE = @PACKAGE@
++VERSION = @VERSION@
++
++SHELL = /bin/sh
++
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++top_builddir = @top_builddir@
++VPATH = @srcdir@
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++datadir = @datadir@
++datarootdir = @datarootdir@
++libdir = @libdir@
++DATADIRNAME = @DATADIRNAME@
++itlocaledir = $(prefix)/$(DATADIRNAME)/locale
++subdir = po-locations
++install_sh = @install_sh@
++# Automake >= 1.8 provides @mkdir_p@.
++# Until it can be supposed, use the safe fallback:
++mkdir_p = $(install_sh) -d
++
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++
++GMSGFMT = @GMSGFMT@
++MSGFMT = @MSGFMT@
++XGETTEXT = @XGETTEXT@
++INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
++INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
++MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
++GENPOT   = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
++
++ALL_LINGUAS = @ALL_LINGUAS@
++
++PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
++
++USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi)
++
++USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
++
++POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
++
++DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES)
++EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
++
++POTFILES = \
++# This comment gets stripped out
++
++CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
++
++.SUFFIXES:
++.SUFFIXES: .po .pox .gmo .mo .msg .cat
++
++.po.pox:
++	$(MAKE) $(GETTEXT_PACKAGE).pot
++	$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
++
++.po.mo:
++	$(MSGFMT) -o $@ $<
++
++.po.gmo:
++	file=`echo $* | sed 's,.*/,,'`.gmo \
++	  && rm -f $$file && $(GMSGFMT) -o $$file $<
++
++.po.cat:
++	sed -f ../intl/po2msg.sed < $< > $*.msg \
++	  && rm -f $@ && gencat $@ $*.msg
++
++
++all: all-@USE_NLS@
++
++all-yes: $(CATALOGS)
++all-no:
++
++$(GETTEXT_PACKAGE).pot: $(POTFILES)
++	$(GENPOT)
++
++install: install-data
++install-data: install-data-@USE_NLS@
++install-data-no: all
++install-data-yes: all
++	linguas="$(USE_LINGUAS)"; \
++	for lang in $$linguas; do \
++	  dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
++	  $(mkdir_p) $$dir; \
++	  if test -r $$lang.gmo; then \
++	    $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++	    echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
++	  else \
++	    $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++	    echo "installing $(srcdir)/$$lang.gmo as" \
++		 "$$dir/$(GETTEXT_PACKAGE).mo"; \
++	  fi; \
++	  if test -r $$lang.gmo.m; then \
++	    $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
++	    echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
++	  else \
++	    if test -r $(srcdir)/$$lang.gmo.m ; then \
++	      $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
++		$$dir/$(GETTEXT_PACKAGE).mo.m; \
++	      echo "installing $(srcdir)/$$lang.gmo.m as" \
++		   "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
++	    else \
++	      true; \
++	    fi; \
++	  fi; \
++	done
++
++# Empty stubs to satisfy archaic automake needs
++dvi info tags TAGS ID:
++
++# Define this as empty until I found a useful application.
++install-exec installcheck:
++
++uninstall:
++	linguas="$(USE_LINGUAS)"; \
++	for lang in $$linguas; do \
++	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
++	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
++	done
++
++check: all $(GETTEXT_PACKAGE).pot
++	rm -f missing notexist
++	srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
++	if [ -r missing -o -r notexist ]; then \
++	  exit 1; \
++	fi
++
++mostlyclean:
++	rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
++	rm -f .intltool-merge-cache
++
++clean: mostlyclean
++
++distclean: clean
++	rm -f Makefile Makefile.in POTFILES stamp-it
++	rm -f *.mo *.msg *.cat *.cat.m *.gmo
++
++maintainer-clean: distclean
++	@echo "This command is intended for maintainers to use;"
++	@echo "it deletes files that may require special tools to rebuild."
++	rm -f Makefile.in.in
++
++distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
++dist distdir: $(DISTFILES)
++	dists="$(DISTFILES)"; \
++	extra_dists="$(EXTRA_DISTFILES)"; \
++	for file in $$extra_dists; do \
++	  test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
++	done; \
++	for file in $$dists; do \
++	  test -f $$file || file="$(srcdir)/$$file"; \
++	  ln $$file $(distdir) 2> /dev/null \
++	    || cp -p $$file $(distdir); \
++	done
++
++update-po: Makefile
++	$(MAKE) $(GETTEXT_PACKAGE).pot
++	tmpdir=`pwd`; \
++	linguas="$(USE_LINGUAS)"; \
++	for lang in $$linguas; do \
++	  echo "$$lang:"; \
++	  result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
++	  if $$result; then \
++	    if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
++	      rm -f $$tmpdir/$$lang.new.po; \
++            else \
++	      if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
++	        :; \
++	      else \
++	        echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
++	        rm -f $$tmpdir/$$lang.new.po; \
++	        exit 1; \
++	      fi; \
++	    fi; \
++	  else \
++	    echo "msgmerge for $$lang.gmo failed!"; \
++	    rm -f $$tmpdir/$$lang.new.po; \
++	  fi; \
++	done
++
++Makefile POTFILES: stamp-it
++	@if test ! -f $@; then \
++	  rm -f stamp-it; \
++	  $(MAKE) stamp-it; \
++	fi
++
++stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
++	cd $(top_builddir) \
++	  && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
++	       $(SHELL) ./config.status
++
++# Tell versions [3.59,3.63) of GNU make not to export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/po-locations/POTFILES.in libgweather-2.27.91.new/po-locations/POTFILES.in
+--- libgweather-2.27.91/po-locations/POTFILES.in	1970-01-01 10:00:00.000000000 +1000
++++ libgweather-2.27.91.new/po-locations/POTFILES.in	2009-08-26 11:54:52.000000000 +1000
+@@ -0,0 +1,4 @@
++# This list should contain *only* data/Locations.xml.in.
++# Everything else should be in POTFILES.skip.
++[encoding:UTF-8]
++data/Locations.xml.in
diff --git a/testing/libgweather/PKGBUILD b/testing/libgweather/PKGBUILD
new file mode 100644
index 000000000..f8c1e71c4
--- /dev/null
+++ b/testing/libgweather/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 124751 2011-05-24 07:48:30Z ibiru $
+# Maintainer: Jan de Groot  
+
+pkgname=libgweather
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="Provides access to weather information from the net"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('gconf' 'libsoup-gnome' 'gnome-icon-theme')
+makedepends=('pkgconfig' 'intltool' 'gtk-doc' 'gobject-introspection')
+options=('!libtool' '!emptydirs')
+url="http://www.gnome.org/"
+install=libgweather.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
+        gettext-not-xml.patch)
+sha256sums=('9041526fa0466b99dae5cf06c2cc70376f25531eec5d58b1e1378acfb302410c'
+            'f21d55ab7916a50cad10d1c0bb3785a262e8ad8f35b9fb4c02ae23f1b0783727')
+
+build() {
+    cd "${srcdir}/${pkgname}-${pkgver}"
+
+    patch -Np1 -i "${srcdir}/gettext-not-xml.patch"
+    gtkdocize
+    autoreconf -fi
+
+    ./configure --prefix=/usr --sysconfdir=/etc \
+        --localstatedir=/var --disable-static \
+        --enable-locations-compression
+    make
+}
+
+package() {
+    cd "${srcdir}/${pkgname}-${pkgver}"
+    make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+    install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+    gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain libgweather ${pkgdir}/etc/gconf/schemas/*.schemas
+    rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/testing/libgweather/gettext-not-xml.patch b/testing/libgweather/gettext-not-xml.patch
new file mode 100644
index 000000000..4fd2e3aa6
--- /dev/null
+++ b/testing/libgweather/gettext-not-xml.patch
@@ -0,0 +1,533 @@
+diff -up libgweather-2.91.0/configure.ac.gettext libgweather-2.91.0/configure.ac
+--- libgweather-2.91.0/configure.ac.gettext	2010-10-04 18:08:07.000000000 -0400
++++ libgweather-2.91.0/configure.ac	2011-01-30 13:51:19.615635059 -0500
+@@ -40,6 +40,10 @@ LIBXML_REQUIRED=2.6.0
+ AM_MAINTAINER_MODE
+ GNOME_MAINTAINER_MODE_DEFINES
+ 
++dnl IT_PROG_INTLTOOL does this for us in the case of the po/ subdir, but we're on our own for po-locations
++AC_OUTPUT_COMMANDS([sed -e "/POTFILES =/r po/POTFILES" po-locations/Makefile.in > po-locations/Makefile])
++IT_PO_SUBDIR([po-locations])
++
+ IT_PROG_INTLTOOL([0.40.3])
+ PKG_PROG_PKG_CONFIG([0.19])
+ 
+@@ -50,13 +54,6 @@ AC_STDC_HEADERS
+ AM_PROG_LIBTOOL
+ AC_PATH_PROG(GCONFTOOL, gconftool-2)
+ 
+-AC_ARG_ENABLE(all-translations-in-one-xml,
+-        [AC_HELP_STRING([--enable-all-translations-in-one-xml],
+-                        [Put all translations in a big Locations.xml file (slow to parse)])],
+-        [enable_big_xml=yes],
+-        [enable_big_xml=no])
+-AM_CONDITIONAL(USE_ONE_BIG_XML, test "x$enable_big_xml" = "xyes")
+-
+ AC_ARG_ENABLE(locations-compression,
+         [AC_HELP_STRING([--enable-locations-compression],
+                         [Compress Locations.xml files])],
+@@ -236,7 +233,7 @@ AC_OUTPUT([
+ Makefile
+ doc/Makefile
+ po/Makefile.in
+-po-locations/Makefile
++po-locations/Makefile.in
+ libgweather/Makefile
+ libgweather/gweather-3.0.pc
+ libgweather/gweather-3.0-uninstalled.pc
+@@ -244,12 +241,6 @@ data/Makefile
+ icons/Makefile
+ ])
+ 
+-if test "x$enable_big_xml" = "xyes"; then
+-	LOCATIONS_XML_TRANSLATIONS="one big file"
+-else
+-	LOCATIONS_XML_TRANSLATIONS="one file per translation"
+-fi
+-
+ dnl ***************************************************************************
+ dnl *** Display Summary                                                     ***
+ dnl ***************************************************************************
+@@ -260,6 +251,4 @@ libgweather-$VERSION configure summary:
+ 	Source code location:		${srcdir}
+ 	Compiler:			${CC}
+ 	Introspection support:          ${found_introspection}
+-	Locations.xml translations:	${LOCATIONS_XML_TRANSLATIONS}
+-	Locations.xml compression:	${enable_locations_compression}
+ " >&2
+diff -up libgweather-2.91.0/data/Makefile.am.gettext libgweather-2.91.0/data/Makefile.am
+--- libgweather-2.91.0/data/Makefile.am.gettext	2010-10-04 18:07:31.000000000 -0400
++++ libgweather-2.91.0/data/Makefile.am	2011-01-30 13:53:12.581466339 -0500
+@@ -4,55 +4,23 @@ libgweatherdtd_DATA = locations.dtd
+ libgweatherlocationsdir = $(pkgdatadir)
+ libgweatherlocations_in_files = Locations.xml.in
+ 
+-if USE_ONE_BIG_XML
+-
+-LOCATIONS_STAMP = 
+-
+-libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml$(COMPRESS_EXT))
+-
+-%.xml$(COMPRESS_EXT): %.xml.in $(wildcard $(top_srcdir)/po-locations/*.po)
+-	$(AM_V_GEN)LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"` && \
+-	if test "x$(COMPRESS_EXT)" = "x.gz"; then				\
+-		gzip --force `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"`;	\
+-	fi
+-
+-else # USE_ONE_BIG_XML
+-
+ LOCATIONS_STAMP = stamp-Locations.xml
+ 
+-PO_LOCATIONS = $(shell if test -n "$(LINGUAS)"; then for lang in $(LINGUAS); do if test -f "$(top_srcdir)/po-locations/$$lang.po"; then echo "$(top_srcdir)/po-locations/$$lang.po "; fi; done; else for pofile in $(top_srcdir)/po-locations/*.po; do echo $$pofile; done; fi)
+-
+ # Helper variable
+-libgweatherlocations_data = $(libgweatherlocations_in_files:.xml.in=.xml)
+-
+-libgweatherlocations_DATA = $(shell echo $(PO_LOCATIONS) | sed "s|$(top_srcdir)/po-locations/|Locations.|g;s|\.po|.xml$(COMPRESS_EXT)|g") $(libgweatherlocations_data)$(COMPRESS_EXT)
++libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml)
+ 
+ # We need this step so that we merge all the make Locations.xy.xml destinations
+ # into one unique destination. This makes -j2 work. (Else, we end up with
+ # multiple and conflicting calls to intltool-merge)
+ $(libgweatherlocations_DATA): $(LOCATIONS_STAMP)
+ 
+-$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) $(PO_LOCATIONS) Makefile
+-	$(AM_V_at)LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< $(libgweatherlocations_data) && \
+-	for pofile in $(PO_LOCATIONS); do \
+-		locale=`echo $$pofile | sed "s;$(top_srcdir)/po-locations/\(.*\)\.po;\1;"`;	\
+-		xmllint --noblanks -o Locations.$$locale.xml $$locale/$(libgweatherlocations_data); \
+-		rm -f $$locale/$(libgweatherlocations_data);		\
+-		test -d $$locale && rmdir $$locale;			\
+-		if test "x$(COMPRESS_EXT)" = "x.gz"; then		\
+-			gzip --force Locations.$$locale.xml;		\
+-		fi;							\
+-	done &&								\
+-	xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_data) && \
+-	rm -f C/$(libgweatherlocations_data) &&				\
+-	test -d C && rmdir C &&						\
+-	if test "x$(COMPRESS_EXT)" = "x.gz"; then			\
+-		gzip --force Locations.xml;				\
+-	fi &&								\
++$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) Makefile
++	LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache /dev/null $< $(libgweatherlocations_DATA)
++	xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_DATA)
++	rm -f C/$(libgweatherlocations_DATA)
++	test -d C && rmdir C
+ 	touch $@
+ 
+-endif # USE_ONE_BIG_XML
+-
+ ### Locations.xml.in rebuild
+ rebuild-locations: locationdb.sqlite update-locations.py
+ 	$(AM_V_GEN)($(srcdir)/update-locations.py > Locations.xml.in.new && mv Locations.xml.in.new Locations.xml.in) || rm -f Locations.xml.in.new
+diff -up libgweather-2.91.0/libgweather/gweather-location.c.gettext libgweather-2.91.0/libgweather/gweather-location.c
+--- libgweather-2.91.0/libgweather/gweather-location.c.gettext	2010-02-09 07:28:03.000000000 -0500
++++ libgweather-2.91.0/libgweather/gweather-location.c	2011-01-30 13:51:19.616635049 -0500
+@@ -22,11 +22,14 @@
+ #include 
+ #endif
+ 
++#include "config.h"
++
+ #include 
+ #include 
+ #include 
+ #include 
+ #include 
++#include 
+ 
+ #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
+ #include "gweather-location.h"
+@@ -184,10 +187,20 @@ location_new_from_xml (GWeatherParser *p
+ 
+ 	tagname = (const char *) xmlTextReaderConstName (parser->xml);
+ 	if (!strcmp (tagname, "name") && !loc->name) {
+-	    value = gweather_parser_get_localized_value (parser);
++	    char *context = NULL;
++	    context = xmlTextReaderGetAttribute(parser->xml,"msgctxt"); 
++	   
++	    value = gweather_parser_get_value (parser);
+ 	    if (!value)
+ 		goto error_out;
+-	    loc->name = g_strdup (value);
++
++	    if (context != NULL) {
++	    	loc->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, value));
++	    	xmlFree (context);
++	    }
++	    else
++	    	loc->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",value));
++	    
+ 	    xmlFree (value);
+ 	    normalized = g_utf8_normalize (loc->name, -1, G_NORMALIZE_ALL);
+ 	    loc->sort_name = g_utf8_casefold (normalized, -1);
+diff -up libgweather-2.91.0/libgweather/gweather-timezone.c.gettext libgweather-2.91.0/libgweather/gweather-timezone.c
+--- libgweather-2.91.0/libgweather/gweather-timezone.c.gettext	2010-02-09 07:28:03.000000000 -0500
++++ libgweather-2.91.0/libgweather/gweather-timezone.c	2011-01-30 13:51:19.617635039 -0500
+@@ -23,6 +23,7 @@
+ #endif
+ 
+ #include 
++#include 
+ 
+ #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
+ #include "gweather-timezone.h"
+@@ -152,7 +153,7 @@ static GWeatherTimezone *
+ parse_timezone (GWeatherParser *parser)
+ {
+     GWeatherTimezone *zone = NULL;
+-    char *id = NULL, *name = NULL;
++    char *id = NULL, *name = NULL, *context = NULL;
+     int offset = 0, dst_offset = 0;
+     gboolean has_dst = FALSE;
+ 
+@@ -175,27 +176,34 @@ parse_timezone (GWeatherParser *parser)
+ 		continue;
+ 	    }
+ 
+-	    if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name"))
+-		name = gweather_parser_get_localized_value (parser);
++	    if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name")) {
++		context = xmlTextReaderGetAttribute(parser->xml,"msgctxt"); 
++		name = gweather_parser_get_value (parser);
++	    }
+ 	    else {
+ 		if (xmlTextReaderNext (parser->xml) != 1)
+ 		    break;
+ 	    }
+ 	}
+     }
+-
++	    
+     if (parse_tzdata (id, parser->year_start, parser->year_end,
+ 		      &offset, &has_dst, &dst_offset)) {
+ 	zone = g_slice_new0 (GWeatherTimezone);
+ 	zone->ref_count = 1;
+ 	zone->id = g_strdup (id);
+-	zone->name = g_strdup (name);
++	if (context != NULL)
++		zone->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, name));
++	else
++		zone->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",name));
+ 	zone->offset = offset;
+ 	zone->has_dst = has_dst;
+ 	zone->dst_offset = dst_offset;
+     }
+ 
+     xmlFree (id);
++    if (context)
++    	xmlFree (context);
+     if (name)
+ 	xmlFree (name);
+ 
+diff -up libgweather-2.91.0/po-locations/LINGUAS.gettext libgweather-2.91.0/po-locations/LINGUAS
+--- libgweather-2.91.0/po-locations/LINGUAS.gettext	2011-01-30 13:51:19.617635039 -0500
++++ libgweather-2.91.0/po-locations/LINGUAS	2011-01-30 13:51:19.617635039 -0500
+@@ -0,0 +1,78 @@
++ang
++ar
++as
++az
++be
++be@latin
++bg
++bn_IN
++bn
++bs
++ca
++cs
++cy
++da
++de
++dz
++el
++en_CA
++en_GB
++es
++et
++eu
++fa
++fi
++fr
++ga
++gl
++gu
++he
++hi
++hr
++hu
++id
++it
++ja
++ka
++kn
++ko
++ku
++ky
++lt
++lv
++mai
++mg
++mk
++ml
++mn
++mr
++ms
++nb
++ne
++nl
++nn
++oc
++or
++pa
++pl
++pt_BR
++pt
++ro
++ru
++rw
++si
++sk
++sl
++sq
++sr@latin
++sr
++sv
++ta
++te
++th
++tr
++uk
++vi
++zh_CN
++zh_HK
++zh_TW
+diff -up libgweather-2.91.0/po-locations/Makefile.in.in.gettext libgweather-2.91.0/po-locations/Makefile.in.in
+--- libgweather-2.91.0/po-locations/Makefile.in.in.gettext	2011-01-30 13:51:19.618635028 -0500
++++ libgweather-2.91.0/po-locations/Makefile.in.in	2011-01-30 13:51:19.618635028 -0500
+@@ -0,0 +1,217 @@
++# Makefile for program source directory in GNU NLS utilities package.
++# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper 
++# Copyright (C) 2004-2008 Rodney Dawes 
++#
++# This file may be copied and used freely without restrictions.  It may
++# be used in projects which are not available under a GNU Public License,
++# but which still want to provide support for the GNU gettext functionality.
++#
++# - Modified by Owen Taylor  to use GETTEXT_PACKAGE
++#   instead of PACKAGE and to look for po2tbl in ./ not in intl/
++#
++# - Modified by jacob berkman  to install
++#   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
++#
++# - Modified by Rodney Dawes  for use with intltool
++#
++# We have the following line for use by intltoolize:
++# INTLTOOL_MAKEFILE
++
++GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-locations
++PACKAGE = @PACKAGE@
++VERSION = @VERSION@
++
++SHELL = /bin/sh
++
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++top_builddir = @top_builddir@
++VPATH = @srcdir@
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++datadir = @datadir@
++datarootdir = @datarootdir@
++libdir = @libdir@
++DATADIRNAME = @DATADIRNAME@
++itlocaledir = $(prefix)/$(DATADIRNAME)/locale
++subdir = po-locations
++install_sh = @install_sh@
++# Automake >= 1.8 provides @mkdir_p@.
++# Until it can be supposed, use the safe fallback:
++mkdir_p = $(install_sh) -d
++
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++
++GMSGFMT = @GMSGFMT@
++MSGFMT = @MSGFMT@
++XGETTEXT = @XGETTEXT@
++INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
++INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
++MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
++GENPOT   = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
++
++ALL_LINGUAS = @ALL_LINGUAS@
++
++PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
++
++USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi)
++
++USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
++
++POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
++
++DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES)
++EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
++
++POTFILES = \
++# This comment gets stripped out
++
++CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
++
++.SUFFIXES:
++.SUFFIXES: .po .pox .gmo .mo .msg .cat
++
++.po.pox:
++	$(MAKE) $(GETTEXT_PACKAGE).pot
++	$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
++
++.po.mo:
++	$(MSGFMT) -o $@ $<
++
++.po.gmo:
++	file=`echo $* | sed 's,.*/,,'`.gmo \
++	  && rm -f $$file && $(GMSGFMT) -o $$file $<
++
++.po.cat:
++	sed -f ../intl/po2msg.sed < $< > $*.msg \
++	  && rm -f $@ && gencat $@ $*.msg
++
++
++all: all-@USE_NLS@
++
++all-yes: $(CATALOGS)
++all-no:
++
++$(GETTEXT_PACKAGE).pot: $(POTFILES)
++	$(GENPOT)
++
++install: install-data
++install-data: install-data-@USE_NLS@
++install-data-no: all
++install-data-yes: all
++	linguas="$(USE_LINGUAS)"; \
++	for lang in $$linguas; do \
++	  dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
++	  $(mkdir_p) $$dir; \
++	  if test -r $$lang.gmo; then \
++	    $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++	    echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
++	  else \
++	    $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++	    echo "installing $(srcdir)/$$lang.gmo as" \
++		 "$$dir/$(GETTEXT_PACKAGE).mo"; \
++	  fi; \
++	  if test -r $$lang.gmo.m; then \
++	    $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
++	    echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
++	  else \
++	    if test -r $(srcdir)/$$lang.gmo.m ; then \
++	      $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
++		$$dir/$(GETTEXT_PACKAGE).mo.m; \
++	      echo "installing $(srcdir)/$$lang.gmo.m as" \
++		   "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
++	    else \
++	      true; \
++	    fi; \
++	  fi; \
++	done
++
++# Empty stubs to satisfy archaic automake needs
++dvi info tags TAGS ID:
++
++# Define this as empty until I found a useful application.
++install-exec installcheck:
++
++uninstall:
++	linguas="$(USE_LINGUAS)"; \
++	for lang in $$linguas; do \
++	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
++	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
++	done
++
++check: all $(GETTEXT_PACKAGE).pot
++	rm -f missing notexist
++	srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
++	if [ -r missing -o -r notexist ]; then \
++	  exit 1; \
++	fi
++
++mostlyclean:
++	rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
++	rm -f .intltool-merge-cache
++
++clean: mostlyclean
++
++distclean: clean
++	rm -f Makefile Makefile.in POTFILES stamp-it
++	rm -f *.mo *.msg *.cat *.cat.m *.gmo
++
++maintainer-clean: distclean
++	@echo "This command is intended for maintainers to use;"
++	@echo "it deletes files that may require special tools to rebuild."
++	rm -f Makefile.in.in
++
++distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
++dist distdir: $(DISTFILES)
++	dists="$(DISTFILES)"; \
++	extra_dists="$(EXTRA_DISTFILES)"; \
++	for file in $$extra_dists; do \
++	  test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
++	done; \
++	for file in $$dists; do \
++	  test -f $$file || file="$(srcdir)/$$file"; \
++	  ln $$file $(distdir) 2> /dev/null \
++	    || cp -p $$file $(distdir); \
++	done
++
++update-po: Makefile
++	$(MAKE) $(GETTEXT_PACKAGE).pot
++	tmpdir=`pwd`; \
++	linguas="$(USE_LINGUAS)"; \
++	for lang in $$linguas; do \
++	  echo "$$lang:"; \
++	  result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
++	  if $$result; then \
++	    if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
++	      rm -f $$tmpdir/$$lang.new.po; \
++            else \
++	      if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
++	        :; \
++	      else \
++	        echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
++	        rm -f $$tmpdir/$$lang.new.po; \
++	        exit 1; \
++	      fi; \
++	    fi; \
++	  else \
++	    echo "msgmerge for $$lang.gmo failed!"; \
++	    rm -f $$tmpdir/$$lang.new.po; \
++	  fi; \
++	done
++
++Makefile POTFILES: stamp-it
++	@if test ! -f $@; then \
++	  rm -f stamp-it; \
++	  $(MAKE) stamp-it; \
++	fi
++
++stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
++	cd $(top_builddir) \
++	  && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
++	       $(SHELL) ./config.status
++
++# Tell versions [3.59,3.63) of GNU make not to export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+diff -up libgweather-2.91.0/po-locations/POTFILES.in.gettext libgweather-2.91.0/po-locations/POTFILES.in
+--- libgweather-2.91.0/po-locations/POTFILES.in.gettext	2011-01-30 13:51:19.618635028 -0500
++++ libgweather-2.91.0/po-locations/POTFILES.in	2011-01-30 13:51:19.618635028 -0500
+@@ -0,0 +1,4 @@
++# This list should contain *only* data/Locations.xml.in.
++# Everything else should be in POTFILES.skip.
++[encoding:UTF-8]
++data/Locations.xml.in
diff --git a/testing/libgweather/libgweather.install b/testing/libgweather/libgweather.install
new file mode 100644
index 000000000..7062d4167
--- /dev/null
+++ b/testing/libgweather/libgweather.install
@@ -0,0 +1,22 @@
+pkgname=libgweather
+
+post_install() {
+  usr/sbin/gconfpkg --install ${pkgname}
+  gtk-update-icon-cache -q -t -f usr/share/icons/gnome
+}
+
+pre_upgrade() {
+  pre_remove $1
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+  usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+  gtk-update-icon-cache -q -t -f usr/share/icons/gnome
+}
diff --git a/testing/libwnck3/PKGBUILD b/testing/libwnck3/PKGBUILD
new file mode 100644
index 000000000..d37c740ec
--- /dev/null
+++ b/testing/libwnck3/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 124742 2011-05-24 07:31:15Z ibiru $
+# Maintainer: Ionut Biru 
+pkgname=libwnck3
+_pkgbasename=libwnck
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="Window Navigator Construction Kit (GTK+3)"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('gtk3' 'startup-notification' 'libxres')
+makedepends=('intltool' 'gobject-introspection')
+options=('!libtool')
+url="http://www.gnome.org/"
+source=(http://ftp.gnome.org/pub/gnome/sources/${_pkgbasename}/${pkgver%.*}/${_pkgbasename}-${pkgver}.tar.bz2)
+sha256sums=('4946b612c22d53238810d431f1b05c21f073f201edfd247ff74e2fa228618083')
+
+build() {
+    cd "${srcdir}/${_pkgbasename}-${pkgver}"
+    ./configure --prefix=/usr --sysconfdir=/etc \
+        --localstatedir=/var --disable-static
+    make
+}
+
+package() {
+    cd "${srcdir}/${_pkgbasename}-${pkgver}"
+    make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/nautilus/PKGBUILD b/testing/nautilus/PKGBUILD
new file mode 100644
index 000000000..3f1c44be4
--- /dev/null
+++ b/testing/nautilus/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 124892 2011-05-24 21:49:03Z ibiru $
+# Maintainer: Jan de Groot 
+
+pkgname=nautilus
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="The GNOME shell and file manager"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libexif' 'gnome-desktop' 'exempi' 'gtk3' 'hicolor-icon-theme' 'gvfs' 'desktop-file-utils' 'gsettings-desktop-schemas' 'shared-mime-info' 'gnome-icon-theme')
+makedepends=('intltool' 'gobject-introspection')
+replaces=('gnome-volume-manager')
+url="http://www.gnome.org"
+groups=('gnome')
+options=('!libtool' '!emptydirs')
+install=nautilus.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('6a4c6b75593f0e815763d0040878cd908da72318f18b05f33d24040e0d602b22')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --disable-static \
+      --libexecdir=/usr/lib/nautilus \
+      --disable-nst-extension \
+      --disable-update-mimedb \
+      --disable-packagekit \
+      --disable-schemas-compile
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/nautilus/nautilus.install b/testing/nautilus/nautilus.install
new file mode 100644
index 000000000..631e38649
--- /dev/null
+++ b/testing/nautilus/nautilus.install
@@ -0,0 +1,20 @@
+post_install() {
+  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  update-desktop-database -q
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+  update-mime-database usr/share/mime > /dev/null
+}
+
+pre_upgrade() {
+  if (( $(vercmp $2 2.90.0) < 0 )); then
+    usr/sbin/gconfpkg --uninstall nautilus
+  fi
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}
diff --git a/testing/pkg-config/PKGBUILD b/testing/pkg-config/PKGBUILD
new file mode 100644
index 000000000..95ed134c6
--- /dev/null
+++ b/testing/pkg-config/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 124806 2011-05-24 14:39:31Z stephane $
+# Maintainer: Allan McRae 
+# Committer: Judd Vinet 
+
+pkgname=pkg-config
+pkgver=0.26
+pkgrel=1
+pkgdesc="A system for managing library compile/link flags"
+arch=('i686' 'x86_64')
+url="http://pkgconfig.freedesktop.org/wiki/"
+license=('GPL')
+groups=('base-devel')
+depends=('glibc' 'popt' 'glib2')
+provides=("pkgconfig=${pkgver}")
+conflicts=('pkgconfig')
+replaces=('pkgconfig')
+source=(http://pkgconfig.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz)
+md5sums=('47525c26a9ba7ba14bf85e01509a7234')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  # Use system popt
+  ./configure --prefix=/usr --with-installed-popt 
+
+  make
+}
+
+check() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make check
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR=${pkgdir} install
+}
diff --git a/testing/pkg-config/autoconf-2.66.patch b/testing/pkg-config/autoconf-2.66.patch
new file mode 100644
index 000000000..14cabdf9f
--- /dev/null
+++ b/testing/pkg-config/autoconf-2.66.patch
@@ -0,0 +1,12 @@
+diff -Naur pkg-config-0.25-old//pkg.m4 pkg-config-0.25/pkg.m4
+--- pkg-config-0.25-old//pkg.m4	2009-12-07 06:39:02.000000000 +1000
++++ pkg-config-0.25/pkg.m4	2010-07-15 14:44:37.466942978 +1000
+@@ -135,7 +135,7 @@
+ Consider adjusting the PKG_CONFIG_PATH environment variable if you
+ installed software in a non-standard prefix.
+ 
+-_PKG_TEXT])dnl
++_PKG_TEXT])[]dnl
+         ])
+ elif test $pkg_failed = untried; then
+      	AC_MSG_RESULT([no])
diff --git a/testing/sudo/PKGBUILD b/testing/sudo/PKGBUILD
new file mode 100644
index 000000000..fee69d2c1
--- /dev/null
+++ b/testing/sudo/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 124889 2011-05-24 21:47:33Z eric $
+# Maintainer: Allan McRae 
+# Contributor: Tom Newsom 
+
+pkgname=sudo
+_ver=1.8.1p2
+pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
+pkgrel=1
+pkgdesc="Give certain users the ability to run some commands as root"
+arch=('i686' 'x86_64')
+url="http://www.sudo.ws/sudo/"
+license=('custom')
+depends=('glibc' 'pam')
+backup=('etc/sudoers' 'etc/pam.d/sudo')
+options=('!libtool' '!makeflags')
+source=(ftp://ftp.sudo.ws/pub/sudo/$pkgname-$_ver.tar.gz
+        sudo.pam)
+md5sums=('e8330f0e63b0ecb2e12b5c76922818cc'
+         '4e7ad4ec8f2fe6a40e12bcb2c0b256e3')
+
+build() {
+  cd "$srcdir/$pkgname-$_ver"
+
+  ./configure --prefix=/usr --with-pam --libexecdir=/usr/lib \
+    --with-env-editor --with-all-insults --with-logfac=auth
+  make
+}
+
+package() {
+  cd "$srcdir/$pkgname-$_ver"
+  install -dm755 "$pkgdir/var/lib"
+
+  make DESTDIR="$pkgdir" install
+  install -Dm644 "$srcdir/sudo.pam" "$pkgdir/etc/pam.d/sudo"
+
+  install -Dm644 doc/LICENSE "$pkgdir/usr/share/licenses/sudo/LICENSE"
+}
diff --git a/testing/sudo/sudo.pam b/testing/sudo/sudo.pam
new file mode 100644
index 000000000..4e586cd22
--- /dev/null
+++ b/testing/sudo/sudo.pam
@@ -0,0 +1,3 @@
+#%PAM-1.0
+auth		required	pam_unix.so
+auth		required	pam_nologin.so
-- 
cgit v1.2.3-54-g00ecf


From 956ae4eb53422c92f78d86d5511f25fbf6fa6497 Mon Sep 17 00:00:00 2001
From: root 
Date: Thu, 26 May 2011 22:47:02 +0000
Subject: Thu May 26 22:47:02 UTC 2011

---
 community-staging/cegui/PKGBUILD                   |    43 +
 community-staging/clementine/PKGBUILD              |    35 +
 .../clementine-0.7.1-fix-devicekit.patch           |    11 +
 community-staging/clementine/clementine.install    |    12 +
 community-staging/ekg2/PKGBUILD                    |    39 +
 community-staging/frogatto/PKGBUILD                |     4 +-
 community-staging/gource/PKGBUILD                  |    28 +
 community-staging/lightspark/PKGBUILD              |     2 +-
 community-staging/perl-dbd-odbc/PKGBUILD           |    33 +
 community-staging/perl-dbd-pg/PKGBUILD             |    32 +
 community-staging/perl-dbd-sqlite2/PKGBUILD        |    31 +
 community-staging/perl-dbd-sybase/PKGBUILD         |    33 +
 community-staging/root/PKGBUILD                    |    78 +
 community-staging/root/root.desktop                |    12 +
 community-staging/root/root.install                |    17 +
 community-staging/root/root.sh                     |     5 +
 community-staging/root/root.xml                    |    11 +
 community-staging/root/rootd                       |    37 +
 community-staging/sfml/PKGBUILD                    |    60 +
 community-staging/sfml/sfml.install                |     3 +
 community-staging/sfml/use-system-libs.patch       |    70 +
 community-staging/spring/PKGBUILD                  |     4 +-
 community-staging/spring/gcc46.patch               |    67 +
 community-staging/supertux/PKGBUILD                |    30 +
 community-staging/supertux/compile.patch           |    67 +
 community-staging/supertux/gcc44.patch             |    90 +
 community-staging/vdrift/PKGBUILD                  |    66 +
 community-staging/vdrift/vdrift.desktop            |    11 +
 community-staging/widelands/PKGBUILD               |    48 +
 .../widelands/widelands-build15-gcc-4.5-patch      |    51 +
 community-staging/widelands/widelands.desktop      |     8 +
 community-staging/widelands/widelands.png          |   Bin 0 -> 19494 bytes
 community-staging/widelands/widelands.sh           |     3 +
 community-staging/wml/PKGBUILD                     |    42 +
 community-staging/znc/PKGBUILD                     |    40 +
 community-testing/gitg/PKGBUILD                    |    33 +
 community-testing/gitg/gitg.install                |    17 +
 community/cclive/PKGBUILD                          |    14 +-
 community/cherokee/PKGBUILD                        |    21 +-
 community/encfs/PKGBUILD                           |     4 +-
 community/fatrat/PKGBUILD                          |    14 +-
 community/frogatto/PKGBUILD                        |     4 +-
 community/glob2/PKGBUILD                           |     8 +-
 community/glom/PKGBUILD                            |    16 +-
 community/gnash/PKGBUILD                           |     6 +-
 community/gpsdrive/PKGBUILD                        |     4 +-
 community/ibus-anthy/PKGBUILD                      |    23 +-
 community/john/PKGBUILD                            |    12 +-
 community/lightspark/PKGBUILD                      |     2 +-
 community/mapnik/PKGBUILD                          |     7 +-
 community/mongodb/PKGBUILD                         |    13 +-
 community/mongodb/gcc46fixes.diff                  |   132 +
 community/mongodb/gcc46fixes2.diff                 |    26 +
 community/ogre/PKGBUILD                            |     4 +-
 community/performous/PKGBUILD                      |     6 +-
 community/pingus/PKGBUILD                          |     9 +-
 community/pokerth/PKGBUILD                         |    15 +-
 community/qbittorrent/PKGBUILD                     |     2 +-
 community/schroot/PKGBUILD                         |    16 +-
 community/smc/PKGBUILD                             |     8 +-
 community/spring/PKGBUILD                          |    11 +-
 community/springlobby/PKGBUILD                     |     4 +-
 community/tagpy/PKGBUILD                           |     5 +-
 community/twinkle/PKGBUILD                         |     4 +-
 extra/akonadi/PKGBUILD                             |     4 +-
 extra/avogadro/PKGBUILD                            |     6 +-
 extra/boost/PKGBUILD                               |     8 +-
 extra/bzr/PKGBUILD                                 |    13 +-
 extra/claws-mail/PKGBUILD                          |    13 +-
 extra/claws-mail/claws-notify-crash.patch          |    18 +
 extra/ekiga/PKGBUILD                               |     4 +-
 extra/help2man/PKGBUILD                            |     7 +-
 extra/help2man/help2man.install                    |    18 +
 extra/hugin/PKGBUILD                               |    14 +-
 extra/hugin/hugin-gcc46.patch                      |    16 +
 extra/kdeedu/PKGBUILD                              |     5 +-
 extra/libftdi/PKGBUILD                             |    18 +-
 extra/liborigin2/PKGBUILD                          |     4 +-
 extra/libpst/PKGBUILD                              |     4 +-
 extra/libtorrent-rasterbar/PKGBUILD                |     4 +-
 extra/lyx/PKGBUILD                                 |    11 +-
 extra/mkvtoolnix/PKGBUILD                          |     4 +-
 extra/neon/PKGBUILD                                |    29 +-
 extra/pidgin/PKGBUILD                              |    24 +-
 extra/pidgin/nm09-more.patch                       |    49 +
 extra/pidgin/nm09-pidgin.patch                     |    38 +
 extra/source-highlight/PKGBUILD                    |     4 +-
 extra/vigra/PKGBUILD                               |    19 +-
 extra/vigra/vigra-1.7.1.gcc460.patch               |    33 +
 extra/wesnoth/PKGBUILD                             |     8 +-
 kde-unstable/akonadi/PKGBUILD                      |     4 +-
 kde-unstable/kdeaccessibility/PKGBUILD             |    83 +
 .../kdeaccessibility/kdeaccessibility.install      |    11 +
 kde-unstable/kdeadmin/PKGBUILD                     |    77 +
 kde-unstable/kdeadmin/kdeadmin.install             |    11 +
 kde-unstable/kdeadmin/syslog-path.patch            |    11 +
 kde-unstable/kdeartwork/PKGBUILD                   |   104 +
 kde-unstable/kdebase-konsole/PKGBUILD              |    30 +
 kde-unstable/kdebase-runtime/PKGBUILD              |    39 +
 .../kdebase-runtime/kdebase-runtime.install        |    12 +
 kde-unstable/kdebase-workspace/PKGBUILD            |    76 +
 kde-unstable/kdebase-workspace/fixpath.patch       |    34 +
 kde-unstable/kdebase-workspace/kde-np.pam          |     7 +
 kde-unstable/kdebase-workspace/kde.pam             |     7 +
 .../kdebase-workspace/kdebase-workspace.install    |    25 +
 kde-unstable/kdebase-workspace/kdm                 |    36 +
 .../kdebase-workspace/kdm-zsh-profile.patch        |    11 +
 kde-unstable/kdebase-workspace/kscreensaver.pam    |     1 +
 .../kdebase-workspace/terminate-server.patch       |    11 +
 kde-unstable/kdebase/PKGBUILD                      |   117 +
 kde-unstable/kdebase/kdebase.install               |    11 +
 kde-unstable/kdebindings-kimono/PKGBUILD           |    31 +
 kde-unstable/kdebindings-korundum/PKGBUILD         |    32 +
 kde-unstable/kdebindings-perlkde/PKGBUILD          |    31 +
 kde-unstable/kdebindings-perlqt/PKGBUILD           |    30 +
 kde-unstable/kdebindings-python/PKGBUILD           |    41 +
 kde-unstable/kdebindings-qtruby/PKGBUILD           |    31 +
 kde-unstable/kdebindings-qyoto/PKGBUILD            |    31 +
 kde-unstable/kdebindings-smokegen/PKGBUILD         |    30 +
 kde-unstable/kdebindings-smokekde/PKGBUILD         |    32 +
 kde-unstable/kdebindings-smokeqt/PKGBUILD          |    31 +
 kde-unstable/kdeedu-blinken/PKGBUILD               |    31 +
 kde-unstable/kdeedu-blinken/kdeedu-blinken.install |    11 +
 kde-unstable/kdeedu-cantor/PKGBUILD                |    31 +
 kde-unstable/kdeedu-cantor/kdeedu-cantor.install   |    12 +
 kde-unstable/kdeedu-kalgebra/PKGBUILD              |    31 +
 .../kdeedu-kalgebra/kdeedu-kalgebra.install        |    12 +
 kde-unstable/kdeedu-kalzium/PKGBUILD               |    31 +
 kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install |    11 +
 kde-unstable/kdeedu-kanagram/PKGBUILD              |    31 +
 .../kdeedu-kanagram/kdeedu-kanagram.install        |    11 +
 kde-unstable/kdeedu-kbruch/PKGBUILD                |    31 +
 kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install   |    11 +
 kde-unstable/kdeedu-kgeography/PKGBUILD            |    31 +
 .../kdeedu-kgeography/kdeedu-kgeography.install    |    11 +
 kde-unstable/kdeedu-khangman/PKGBUILD              |    31 +
 .../kdeedu-khangman/kdeedu-khangman.install        |    11 +
 kde-unstable/kdeedu-kig/PKGBUILD                   |    34 +
 kde-unstable/kdeedu-kig/kdeedu-kig.install         |    12 +
 kde-unstable/kdeedu-kiten/PKGBUILD                 |    31 +
 kde-unstable/kdeedu-kiten/kdeedu-kiten.install     |    11 +
 kde-unstable/kdeedu-klettres/PKGBUILD              |    31 +
 .../kdeedu-klettres/kdeedu-klettres.install        |    11 +
 kde-unstable/kdeedu-kmplot/PKGBUILD                |    31 +
 kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install   |    12 +
 kde-unstable/kdeedu-kstars/PKGBUILD                |    32 +
 kde-unstable/kdeedu-kstars/kdeedu-kstars.install   |    11 +
 kde-unstable/kdeedu-ktouch/PKGBUILD                |    31 +
 kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install   |    11 +
 kde-unstable/kdeedu-kturtle/PKGBUILD               |    31 +
 kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install |    11 +
 kde-unstable/kdeedu-kwordquiz/PKGBUILD             |    31 +
 .../kdeedu-kwordquiz/kdeedu-kwordquiz.install      |    12 +
 kde-unstable/kdeedu-marble/PKGBUILD                |    36 +
 kde-unstable/kdeedu-marble/gpsd-2.96.patch         |    41 +
 kde-unstable/kdeedu-marble/kdeedu-marble.install   |    12 +
 kde-unstable/kdeedu-parley/PKGBUILD                |    31 +
 kde-unstable/kdeedu-parley/kdeedu-parley.install   |    12 +
 kde-unstable/kdeedu-rocs/PKGBUILD                  |    30 +
 kde-unstable/kdeedu-step/PKGBUILD                  |    31 +
 kde-unstable/kdeedu-step/kdeedu-step.install       |    11 +
 kde-unstable/kdegames/PKGBUILD                     |   514 +
 kde-unstable/kdegames/kdegames-kbattleship.install |    24 +
 kde-unstable/kdegames/kdegames-kfourinline.install |    12 +
 kde-unstable/kdegames/kdegames-kigo.install        |    12 +
 kde-unstable/kdegames/kdegames-kolf.install        |    12 +
 kde-unstable/kdegames/kdegames-kreversi.install    |    22 +
 kde-unstable/kdegames/kdegames-kspaceduel.install  |    12 +
 kde-unstable/kdegames/kdegames-ksquares.install    |    22 +
 kde-unstable/kdegames/kdegames-ktuberling.install  |    12 +
 kde-unstable/kdegames/kdegames-lskat.install       |    12 +
 kde-unstable/kdegames/kdegames-palapeli.install    |    13 +
 kde-unstable/kdegames/kdegames.install             |    11 +
 kde-unstable/kdegraphics-gwenview/PKGBUILD         |    31 +
 .../kdegraphics-gwenview.install                   |    12 +
 kde-unstable/kdegraphics-kamera/PKGBUILD           |    30 +
 kde-unstable/kdegraphics-kcolorchooser/PKGBUILD    |    31 +
 .../kdegraphics-kcolorchooser.install              |    11 +
 kde-unstable/kdegraphics-kgamma/PKGBUILD           |    33 +
 kde-unstable/kdegraphics-kolourpaint/PKGBUILD      |    31 +
 .../kdegraphics-kolourpaint.install                |    12 +
 kde-unstable/kdegraphics-kruler/PKGBUILD           |    31 +
 .../kdegraphics-kruler/kdegraphics-kruler.install  |    12 +
 kde-unstable/kdegraphics-ksaneplugin/PKGBUILD      |    30 +
 kde-unstable/kdegraphics-ksnapshot/PKGBUILD        |    32 +
 .../kdegraphics-ksnapshot.install                  |    12 +
 kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD  |    30 +
 kde-unstable/kdegraphics-svgpart/PKGBUILD          |    30 +
 kde-unstable/kdegraphics-thumbnailers/PKGBUILD     |    30 +
 kde-unstable/kdegraphics/PKGBUILD                  |    39 +
 .../kdegraphics/kdegraphics-okular.install         |    12 +
 kde-unstable/kdelibs/PKGBUILD                      |    63 +
 kde-unstable/kdelibs/archlinux-menu.patch          |    22 +
 kde-unstable/kdelibs/kcalendarsystem-fixed.patch   | 18073 +++++++++++++++++++
 kde-unstable/kdelibs/kde-applications-menu.patch   |    22 +
 kde-unstable/kdelibs/kdelibs.install               |    13 +
 kde-unstable/kdemultimedia/PKGBUILD                |   109 +
 kde-unstable/kdemultimedia/kdemultimedia.install   |    11 +
 kde-unstable/kdemultimedia/mplayerthumbs.config    |     2 +
 kde-unstable/kdenetwork/PKGBUILD                   |   114 +
 kde-unstable/kdenetwork/kdenetwork.install         |    11 +
 kde-unstable/kdepim-runtime/PKGBUILD               |    12 +-
 kde-unstable/kdepim/PKGBUILD                       |    21 +-
 kde-unstable/kdepim/fix-console-build.patch        |    11 +
 kde-unstable/kdepimlibs/PKGBUILD                   |    32 +
 kde-unstable/kdepimlibs/kdepimlibs.install         |    11 +
 kde-unstable/kdeplasma-addons/PKGBUILD             |   603 +
 .../kdeplasma-addons-applets-lancelot.install      |    12 +
 .../kdeplasma-addons-applets.install               |    11 +
 kde-unstable/kdesdk-kate/PKGBUILD                  |    58 +
 kde-unstable/kdesdk-kate/kdebase-kwrite.install    |    12 +
 kde-unstable/kdesdk-kate/kdesdk-kate.install       |    12 +
 .../kdesdk-kate/pkgbuild-syntax-highlight.patch    |    11 +
 kde-unstable/kdesdk/PKGBUILD                       |   247 +
 kde-unstable/kdesdk/fix-python2-path.patch         |    64 +
 kde-unstable/kdesdk/kdesdk-okteta.install          |    12 +
 kde-unstable/kdesdk/kdesdk.install                 |    11 +
 kde-unstable/kdetoys/PKGBUILD                      |    56 +
 kde-unstable/kdetoys/kdetoys.install               |    11 +
 kde-unstable/kdeutils/PKGBUILD                     |   180 +
 kde-unstable/kdeutils/kdeutils.install             |    11 +
 kde-unstable/kdewebdev/PKGBUILD                    |    67 +
 kde-unstable/kdewebdev/kdewebdev.install           |    11 +
 kde-unstable/libkdcraw/PKGBUILD                    |    31 +
 kde-unstable/libkdcraw/libkdcraw.install           |    11 +
 kde-unstable/libkdeedu/PKGBUILD                    |    31 +
 kde-unstable/libkdeedu/libkdeedu.install           |    11 +
 kde-unstable/libkexiv2/PKGBUILD                    |    30 +
 kde-unstable/libkface/PKGBUILD                     |    30 +
 kde-unstable/libkipi/PKGBUILD                      |    31 +
 kde-unstable/libkipi/libkipi.install               |    11 +
 kde-unstable/libkmap/PKGBUILD                      |    30 +
 kde-unstable/libksane/PKGBUILD                     |    31 +
 kde-unstable/libksane/libksane.install             |    11 +
 kde-unstable/qt/PKGBUILD                           |   222 +
 kde-unstable/qt/assistant.desktop                  |     9 +
 kde-unstable/qt/designer.desktop                   |    11 +
 kde-unstable/qt/linguist.desktop                   |    10 +
 kde-unstable/qt/qt.install                         |    12 +
 kde-unstable/qt/qtbug-16292.patch                  |    62 +
 kde-unstable/qt/qtconfig.desktop                   |    10 +
 staging/claws-mail-extra-plugins/PKGBUILD          |    67 +
 ...laws-mail-notification-0.26-libnotify-0.7.patch |    25 +
 staging/dvdrip/PKGBUILD                            |    40 +
 staging/dvdrip/dvdrip.desktop                      |     8 +
 staging/dvdrip/dvdrip.install                      |    19 +
 staging/git/ChangeLog                              |    53 +
 staging/git/PKGBUILD                               |    85 +
 staging/git/git-daemon                             |    70 +
 staging/git/git-daemon.conf                        |     5 +
 staging/glade-perl/PKGBUILD                        |    23 +
 staging/glew/PKGBUILD                              |    29 +
 staging/gnome-perl/PKGBUILD                        |    23 +
 staging/gnome-vfs-perl/PKGBUILD                    |    23 +
 staging/gnomecanvas-perl/PKGBUILD                  |    23 +
 staging/gnumeric/PKGBUILD                          |    36 +
 staging/gnumeric/gnumeric.install                  |    26 +
 staging/hugin/PKGBUILD                             |    40 +
 staging/hugin/hugin-gcc46.patch                    |    16 +
 staging/hugin/hugin.install                        |    15 +
 staging/irssi/PKGBUILD                             |    29 +
 staging/libproxy/PKGBUILD                          |    41 +
 staging/mod_perl/PKGBUILD                          |    27 +
 staging/net-snmp/PKGBUILD                          |    43 +
 staging/net-snmp/libnl-2.patch                     |    67 +
 staging/net-snmp/snmpd.rc                          |    38 +
 staging/perl-bit-vector/PKGBUILD                   |    33 +
 staging/perl-crypt-ssleay/PKGBUILD                 |    31 +
 staging/perl-dbd-mysql/PKGBUILD                    |    49 +
 staging/perl-dbd-sqlite/PKGBUILD                   |    28 +
 staging/perl-dbi/PKGBUILD                          |    32 +
 staging/perl-digest-nilsimsa/PKGBUILD              |    35 +
 staging/perl-digest-sha1/PKGBUILD                  |    38 +
 staging/perl-event/PKGBUILD                        |    36 +
 staging/perl-fcgi/PKGBUILD                         |    31 +
 staging/perl-html-parser/PKGBUILD                  |    31 +
 staging/perl-libintl-perl/PKGBUILD                 |    33 +
 staging/perl-locale-gettext/PKGBUILD               |    38 +
 .../compatibility-with-POSIX-module.patch          |    10 +
 staging/perl-net-dns/PKGBUILD                      |    33 +
 staging/perl-net-ssleay/PKGBUILD                   |    33 +
 staging/perl-net-upnp/PKGBUILD                     |    27 +
 staging/perl-netaddr-ip/PKGBUILD                   |    34 +
 staging/perl-template-toolkit/PKGBUILD             |    32 +
 staging/perl-term-readkey/PKGBUILD                 |    36 +
 staging/perl-text-iconv/PKGBUILD                   |    28 +
 staging/perl-time-hires/PKGBUILD                   |    25 +
 staging/perl-unicode-string/PKGBUILD               |    33 +
 staging/perl-yaml-syck/PKGBUILD                    |    37 +
 staging/pidgin/PKGBUILD                            |    20 +-
 staging/pidgin/nm09-more.patch                     |    49 +
 staging/pidgin/nm09-pidgin.patch                   |    38 +
 staging/postgresql/PKGBUILD                        |   141 +
 staging/postgresql/build.patch                     |    11 +
 staging/postgresql/perl-5.14-fix.patch             |    25 +
 staging/postgresql/postgresql                      |    79 +
 staging/postgresql/postgresql.confd                |     5 +
 staging/postgresql/postgresql.install              |    22 +
 staging/postgresql/postgresql.logrotate            |     4 +
 staging/postgresql/postgresql.pam                  |     3 +
 staging/spamassassin/PKGBUILD                      |    54 +
 staging/spamassassin/spamassassin.install          |    25 +
 staging/spamassassin/spamd                         |    49 +
 staging/spamassassin/spamd.conf.d                  |     1 +
 staging/vim/PKGBUILD                               |   198 +
 staging/vim/archlinux.vim                          |    26 +
 staging/vim/gvim.desktop                           |    42 +
 staging/vim/gvim.install                           |    13 +
 staging/vim/vimrc                                  |    16 +
 staging/weechat/PKGBUILD                           |    33 +
 testing/gedit/PKGBUILD                             |    33 +
 testing/gedit/gedit.install                        |    18 +
 testing/gnome-shell/PKGBUILD                       |    50 +
 testing/gnome-shell/arch.patch                     |    12 +
 .../bluetoothstatus-always-update-devices.patch    |   132 +
 testing/gnome-shell/gnome-shell.install            |    22 +
 .../gnome-shell/shell-recorder-missing-XFree.patch |    22 +
 testing/gtksourceview3/PKGBUILD                    |    28 +
 testing/mutter/PKGBUILD                            |    36 +
 testing/mutter/mutter.install                      |    17 +
 testing/upower/PKGBUILD                            |    28 +
 testing/xf86-input-wacom/70-wacom.rules            |     8 +
 testing/xf86-input-wacom/PKGBUILD                  |    31 +
 323 files changed, 28188 insertions(+), 215 deletions(-)
 create mode 100644 community-staging/cegui/PKGBUILD
 create mode 100644 community-staging/clementine/PKGBUILD
 create mode 100644 community-staging/clementine/clementine-0.7.1-fix-devicekit.patch
 create mode 100644 community-staging/clementine/clementine.install
 create mode 100644 community-staging/ekg2/PKGBUILD
 create mode 100644 community-staging/gource/PKGBUILD
 create mode 100644 community-staging/perl-dbd-odbc/PKGBUILD
 create mode 100644 community-staging/perl-dbd-pg/PKGBUILD
 create mode 100644 community-staging/perl-dbd-sqlite2/PKGBUILD
 create mode 100644 community-staging/perl-dbd-sybase/PKGBUILD
 create mode 100644 community-staging/root/PKGBUILD
 create mode 100644 community-staging/root/root.desktop
 create mode 100644 community-staging/root/root.install
 create mode 100644 community-staging/root/root.sh
 create mode 100644 community-staging/root/root.xml
 create mode 100755 community-staging/root/rootd
 create mode 100644 community-staging/sfml/PKGBUILD
 create mode 100644 community-staging/sfml/sfml.install
 create mode 100644 community-staging/sfml/use-system-libs.patch
 create mode 100644 community-staging/spring/gcc46.patch
 create mode 100644 community-staging/supertux/PKGBUILD
 create mode 100644 community-staging/supertux/compile.patch
 create mode 100644 community-staging/supertux/gcc44.patch
 create mode 100644 community-staging/vdrift/PKGBUILD
 create mode 100644 community-staging/vdrift/vdrift.desktop
 create mode 100644 community-staging/widelands/PKGBUILD
 create mode 100644 community-staging/widelands/widelands-build15-gcc-4.5-patch
 create mode 100644 community-staging/widelands/widelands.desktop
 create mode 100644 community-staging/widelands/widelands.png
 create mode 100644 community-staging/widelands/widelands.sh
 create mode 100644 community-staging/wml/PKGBUILD
 create mode 100644 community-staging/znc/PKGBUILD
 create mode 100644 community-testing/gitg/PKGBUILD
 create mode 100644 community-testing/gitg/gitg.install
 create mode 100644 community/mongodb/gcc46fixes.diff
 create mode 100644 community/mongodb/gcc46fixes2.diff
 create mode 100644 extra/claws-mail/claws-notify-crash.patch
 create mode 100644 extra/help2man/help2man.install
 create mode 100644 extra/hugin/hugin-gcc46.patch
 create mode 100644 extra/pidgin/nm09-more.patch
 create mode 100644 extra/pidgin/nm09-pidgin.patch
 create mode 100644 extra/vigra/vigra-1.7.1.gcc460.patch
 create mode 100644 kde-unstable/kdeaccessibility/PKGBUILD
 create mode 100644 kde-unstable/kdeaccessibility/kdeaccessibility.install
 create mode 100644 kde-unstable/kdeadmin/PKGBUILD
 create mode 100644 kde-unstable/kdeadmin/kdeadmin.install
 create mode 100644 kde-unstable/kdeadmin/syslog-path.patch
 create mode 100644 kde-unstable/kdeartwork/PKGBUILD
 create mode 100644 kde-unstable/kdebase-konsole/PKGBUILD
 create mode 100644 kde-unstable/kdebase-runtime/PKGBUILD
 create mode 100644 kde-unstable/kdebase-runtime/kdebase-runtime.install
 create mode 100644 kde-unstable/kdebase-workspace/PKGBUILD
 create mode 100644 kde-unstable/kdebase-workspace/fixpath.patch
 create mode 100644 kde-unstable/kdebase-workspace/kde-np.pam
 create mode 100644 kde-unstable/kdebase-workspace/kde.pam
 create mode 100644 kde-unstable/kdebase-workspace/kdebase-workspace.install
 create mode 100644 kde-unstable/kdebase-workspace/kdm
 create mode 100644 kde-unstable/kdebase-workspace/kdm-zsh-profile.patch
 create mode 100644 kde-unstable/kdebase-workspace/kscreensaver.pam
 create mode 100644 kde-unstable/kdebase-workspace/terminate-server.patch
 create mode 100644 kde-unstable/kdebase/PKGBUILD
 create mode 100644 kde-unstable/kdebase/kdebase.install
 create mode 100644 kde-unstable/kdebindings-kimono/PKGBUILD
 create mode 100644 kde-unstable/kdebindings-korundum/PKGBUILD
 create mode 100644 kde-unstable/kdebindings-perlkde/PKGBUILD
 create mode 100644 kde-unstable/kdebindings-perlqt/PKGBUILD
 create mode 100644 kde-unstable/kdebindings-python/PKGBUILD
 create mode 100644 kde-unstable/kdebindings-qtruby/PKGBUILD
 create mode 100644 kde-unstable/kdebindings-qyoto/PKGBUILD
 create mode 100644 kde-unstable/kdebindings-smokegen/PKGBUILD
 create mode 100644 kde-unstable/kdebindings-smokekde/PKGBUILD
 create mode 100644 kde-unstable/kdebindings-smokeqt/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-blinken/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-blinken/kdeedu-blinken.install
 create mode 100644 kde-unstable/kdeedu-cantor/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-cantor/kdeedu-cantor.install
 create mode 100644 kde-unstable/kdeedu-kalgebra/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install
 create mode 100644 kde-unstable/kdeedu-kalzium/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install
 create mode 100644 kde-unstable/kdeedu-kanagram/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install
 create mode 100644 kde-unstable/kdeedu-kbruch/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install
 create mode 100644 kde-unstable/kdeedu-kgeography/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install
 create mode 100644 kde-unstable/kdeedu-khangman/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-khangman/kdeedu-khangman.install
 create mode 100644 kde-unstable/kdeedu-kig/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kig/kdeedu-kig.install
 create mode 100644 kde-unstable/kdeedu-kiten/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kiten/kdeedu-kiten.install
 create mode 100644 kde-unstable/kdeedu-klettres/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-klettres/kdeedu-klettres.install
 create mode 100644 kde-unstable/kdeedu-kmplot/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install
 create mode 100644 kde-unstable/kdeedu-kstars/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kstars/kdeedu-kstars.install
 create mode 100644 kde-unstable/kdeedu-ktouch/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install
 create mode 100644 kde-unstable/kdeedu-kturtle/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install
 create mode 100644 kde-unstable/kdeedu-kwordquiz/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install
 create mode 100644 kde-unstable/kdeedu-marble/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-marble/gpsd-2.96.patch
 create mode 100644 kde-unstable/kdeedu-marble/kdeedu-marble.install
 create mode 100644 kde-unstable/kdeedu-parley/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-parley/kdeedu-parley.install
 create mode 100644 kde-unstable/kdeedu-rocs/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-step/PKGBUILD
 create mode 100644 kde-unstable/kdeedu-step/kdeedu-step.install
 create mode 100644 kde-unstable/kdegames/PKGBUILD
 create mode 100644 kde-unstable/kdegames/kdegames-kbattleship.install
 create mode 100644 kde-unstable/kdegames/kdegames-kfourinline.install
 create mode 100644 kde-unstable/kdegames/kdegames-kigo.install
 create mode 100644 kde-unstable/kdegames/kdegames-kolf.install
 create mode 100644 kde-unstable/kdegames/kdegames-kreversi.install
 create mode 100644 kde-unstable/kdegames/kdegames-kspaceduel.install
 create mode 100644 kde-unstable/kdegames/kdegames-ksquares.install
 create mode 100644 kde-unstable/kdegames/kdegames-ktuberling.install
 create mode 100644 kde-unstable/kdegames/kdegames-lskat.install
 create mode 100644 kde-unstable/kdegames/kdegames-palapeli.install
 create mode 100644 kde-unstable/kdegames/kdegames.install
 create mode 100644 kde-unstable/kdegraphics-gwenview/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install
 create mode 100644 kde-unstable/kdegraphics-kamera/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-kcolorchooser/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install
 create mode 100644 kde-unstable/kdegraphics-kgamma/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-kolourpaint/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install
 create mode 100644 kde-unstable/kdegraphics-kruler/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install
 create mode 100644 kde-unstable/kdegraphics-ksaneplugin/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-ksnapshot/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install
 create mode 100644 kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-svgpart/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics-thumbnailers/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics/PKGBUILD
 create mode 100644 kde-unstable/kdegraphics/kdegraphics-okular.install
 create mode 100644 kde-unstable/kdelibs/PKGBUILD
 create mode 100644 kde-unstable/kdelibs/archlinux-menu.patch
 create mode 100644 kde-unstable/kdelibs/kcalendarsystem-fixed.patch
 create mode 100644 kde-unstable/kdelibs/kde-applications-menu.patch
 create mode 100644 kde-unstable/kdelibs/kdelibs.install
 create mode 100644 kde-unstable/kdemultimedia/PKGBUILD
 create mode 100644 kde-unstable/kdemultimedia/kdemultimedia.install
 create mode 100644 kde-unstable/kdemultimedia/mplayerthumbs.config
 create mode 100644 kde-unstable/kdenetwork/PKGBUILD
 create mode 100644 kde-unstable/kdenetwork/kdenetwork.install
 create mode 100644 kde-unstable/kdepim/fix-console-build.patch
 create mode 100644 kde-unstable/kdepimlibs/PKGBUILD
 create mode 100644 kde-unstable/kdepimlibs/kdepimlibs.install
 create mode 100644 kde-unstable/kdeplasma-addons/PKGBUILD
 create mode 100644 kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install
 create mode 100644 kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install
 create mode 100644 kde-unstable/kdesdk-kate/PKGBUILD
 create mode 100644 kde-unstable/kdesdk-kate/kdebase-kwrite.install
 create mode 100644 kde-unstable/kdesdk-kate/kdesdk-kate.install
 create mode 100644 kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch
 create mode 100644 kde-unstable/kdesdk/PKGBUILD
 create mode 100644 kde-unstable/kdesdk/fix-python2-path.patch
 create mode 100644 kde-unstable/kdesdk/kdesdk-okteta.install
 create mode 100644 kde-unstable/kdesdk/kdesdk.install
 create mode 100644 kde-unstable/kdetoys/PKGBUILD
 create mode 100644 kde-unstable/kdetoys/kdetoys.install
 create mode 100644 kde-unstable/kdeutils/PKGBUILD
 create mode 100644 kde-unstable/kdeutils/kdeutils.install
 create mode 100644 kde-unstable/kdewebdev/PKGBUILD
 create mode 100644 kde-unstable/kdewebdev/kdewebdev.install
 create mode 100644 kde-unstable/libkdcraw/PKGBUILD
 create mode 100644 kde-unstable/libkdcraw/libkdcraw.install
 create mode 100644 kde-unstable/libkdeedu/PKGBUILD
 create mode 100644 kde-unstable/libkdeedu/libkdeedu.install
 create mode 100644 kde-unstable/libkexiv2/PKGBUILD
 create mode 100644 kde-unstable/libkface/PKGBUILD
 create mode 100644 kde-unstable/libkipi/PKGBUILD
 create mode 100644 kde-unstable/libkipi/libkipi.install
 create mode 100644 kde-unstable/libkmap/PKGBUILD
 create mode 100644 kde-unstable/libksane/PKGBUILD
 create mode 100644 kde-unstable/libksane/libksane.install
 create mode 100644 kde-unstable/qt/PKGBUILD
 create mode 100644 kde-unstable/qt/assistant.desktop
 create mode 100644 kde-unstable/qt/designer.desktop
 create mode 100644 kde-unstable/qt/linguist.desktop
 create mode 100644 kde-unstable/qt/qt.install
 create mode 100644 kde-unstable/qt/qtbug-16292.patch
 create mode 100644 kde-unstable/qt/qtconfig.desktop
 create mode 100644 staging/claws-mail-extra-plugins/PKGBUILD
 create mode 100644 staging/claws-mail-extra-plugins/claws-mail-notification-0.26-libnotify-0.7.patch
 create mode 100644 staging/dvdrip/PKGBUILD
 create mode 100644 staging/dvdrip/dvdrip.desktop
 create mode 100644 staging/dvdrip/dvdrip.install
 create mode 100644 staging/git/ChangeLog
 create mode 100644 staging/git/PKGBUILD
 create mode 100644 staging/git/git-daemon
 create mode 100644 staging/git/git-daemon.conf
 create mode 100644 staging/glade-perl/PKGBUILD
 create mode 100644 staging/glew/PKGBUILD
 create mode 100644 staging/gnome-perl/PKGBUILD
 create mode 100644 staging/gnome-vfs-perl/PKGBUILD
 create mode 100644 staging/gnomecanvas-perl/PKGBUILD
 create mode 100644 staging/gnumeric/PKGBUILD
 create mode 100644 staging/gnumeric/gnumeric.install
 create mode 100644 staging/hugin/PKGBUILD
 create mode 100644 staging/hugin/hugin-gcc46.patch
 create mode 100644 staging/hugin/hugin.install
 create mode 100644 staging/irssi/PKGBUILD
 create mode 100644 staging/libproxy/PKGBUILD
 create mode 100644 staging/mod_perl/PKGBUILD
 create mode 100644 staging/net-snmp/PKGBUILD
 create mode 100644 staging/net-snmp/libnl-2.patch
 create mode 100644 staging/net-snmp/snmpd.rc
 create mode 100644 staging/perl-bit-vector/PKGBUILD
 create mode 100644 staging/perl-crypt-ssleay/PKGBUILD
 create mode 100644 staging/perl-dbd-mysql/PKGBUILD
 create mode 100644 staging/perl-dbd-sqlite/PKGBUILD
 create mode 100644 staging/perl-dbi/PKGBUILD
 create mode 100644 staging/perl-digest-nilsimsa/PKGBUILD
 create mode 100644 staging/perl-digest-sha1/PKGBUILD
 create mode 100644 staging/perl-event/PKGBUILD
 create mode 100644 staging/perl-fcgi/PKGBUILD
 create mode 100644 staging/perl-html-parser/PKGBUILD
 create mode 100644 staging/perl-libintl-perl/PKGBUILD
 create mode 100644 staging/perl-locale-gettext/PKGBUILD
 create mode 100644 staging/perl-locale-gettext/compatibility-with-POSIX-module.patch
 create mode 100644 staging/perl-net-dns/PKGBUILD
 create mode 100644 staging/perl-net-ssleay/PKGBUILD
 create mode 100644 staging/perl-net-upnp/PKGBUILD
 create mode 100644 staging/perl-netaddr-ip/PKGBUILD
 create mode 100644 staging/perl-template-toolkit/PKGBUILD
 create mode 100644 staging/perl-term-readkey/PKGBUILD
 create mode 100644 staging/perl-text-iconv/PKGBUILD
 create mode 100644 staging/perl-time-hires/PKGBUILD
 create mode 100644 staging/perl-unicode-string/PKGBUILD
 create mode 100644 staging/perl-yaml-syck/PKGBUILD
 create mode 100644 staging/pidgin/nm09-more.patch
 create mode 100644 staging/pidgin/nm09-pidgin.patch
 create mode 100644 staging/postgresql/PKGBUILD
 create mode 100644 staging/postgresql/build.patch
 create mode 100644 staging/postgresql/perl-5.14-fix.patch
 create mode 100755 staging/postgresql/postgresql
 create mode 100644 staging/postgresql/postgresql.confd
 create mode 100644 staging/postgresql/postgresql.install
 create mode 100644 staging/postgresql/postgresql.logrotate
 create mode 100644 staging/postgresql/postgresql.pam
 create mode 100644 staging/spamassassin/PKGBUILD
 create mode 100644 staging/spamassassin/spamassassin.install
 create mode 100644 staging/spamassassin/spamd
 create mode 100644 staging/spamassassin/spamd.conf.d
 create mode 100644 staging/vim/PKGBUILD
 create mode 100644 staging/vim/archlinux.vim
 create mode 100644 staging/vim/gvim.desktop
 create mode 100644 staging/vim/gvim.install
 create mode 100644 staging/vim/vimrc
 create mode 100644 staging/weechat/PKGBUILD
 create mode 100644 testing/gedit/PKGBUILD
 create mode 100644 testing/gedit/gedit.install
 create mode 100644 testing/gnome-shell/PKGBUILD
 create mode 100644 testing/gnome-shell/arch.patch
 create mode 100644 testing/gnome-shell/bluetoothstatus-always-update-devices.patch
 create mode 100644 testing/gnome-shell/gnome-shell.install
 create mode 100644 testing/gnome-shell/shell-recorder-missing-XFree.patch
 create mode 100644 testing/gtksourceview3/PKGBUILD
 create mode 100644 testing/mutter/PKGBUILD
 create mode 100644 testing/mutter/mutter.install
 create mode 100644 testing/upower/PKGBUILD
 create mode 100644 testing/xf86-input-wacom/70-wacom.rules
 create mode 100644 testing/xf86-input-wacom/PKGBUILD

(limited to 'extra')

diff --git a/community-staging/cegui/PKGBUILD b/community-staging/cegui/PKGBUILD
new file mode 100644
index 000000000..36ec36e3b
--- /dev/null
+++ b/community-staging/cegui/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 47894 2011-05-26 00:25:26Z svenstaro $
+# Maintainer: Sven-Hendrik Haase 
+# Contributor: Juergen Hoetzel  
+# Contributor: William Rea , 
+# Contributor: Bjorn Lindeijer 
+
+pkgname=cegui
+pkgver=0.7.5
+pkgrel=3
+pkgdesc="A free library providing windowing and widgets for graphics APIs/engines"
+arch=('i686' 'x86_64')
+url="http://crayzedsgui.sourceforge.net"
+#options=('!libtool')
+license=("MIT")
+depends=('pcre' 'glew' 'expat' 'freetype2' 'libxml2' 'devil' 'freeglut' 'lua' 'silly')
+makedepends=('python2' 'doxygen')
+source=(http://downloads.sourceforge.net/crayzedsgui/CEGUI-$pkgver.tar.gz)
+md5sums=('38c79d1fdfaaa10f481c99a2ac479516')
+
+build() {
+  cd $srcdir/CEGUI-${pkgver}
+
+  sed -i '1i#include ' cegui/include/CEGUIString.h
+  ./configure --prefix=/usr \
+    --sysconfdir=/etc \
+    --disable-xerces-c \
+    --enable-null-renderer
+
+  make
+}
+
+package() {
+  cd $srcdir/CEGUI-${pkgver}
+ 
+  make DESTDIR=${pkgdir} install
+
+  #build docs                                                                                                                                 
+  cd doc/doxygen && doxygen                                                                                                                   
+  cd .. && make DESTDIR=${pkgdir} install-html
+
+  install -Dm644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/community-staging/clementine/PKGBUILD b/community-staging/clementine/PKGBUILD
new file mode 100644
index 000000000..c276ec0d6
--- /dev/null
+++ b/community-staging/clementine/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 47879 2011-05-25 20:42:25Z stephane $
+#Maintainer: Stéphane Gaudreault 
+#Contributor: BlackEagle < ike DOT devolder AT gmail DOT com >
+#Contributor: Dany Martineau 
+
+pkgname=clementine
+pkgver=0.7.1
+pkgrel=4
+pkgdesc="A music player and library organizer"
+url="http://www.clementine-player.org/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gstreamer0.10' 'taglib' 'glew' 'liblastfm' 'libgpod' 'libmtp' 'libplist' 'hicolor-icon-theme' 'qt' 'libimobiledevice')
+makedepends=('cmake' 'boost')
+optdepends=('gstreamer0.10-base-plugins: for more open formats'
+            'gstreamer0.10-good-plugins: for use with "Good" plugin libraries'
+            'gstreamer0.10-bad-plugins: for use with "Bad" plugin libraries'
+            'gstreamer0.10-ugly-plugins: for use with "Ugly" plugin libraries')
+source=(http://clementine-player.googlecode.com/files/${pkgname}-${pkgver}.tar.gz
+        clementine-0.7.1-fix-devicekit.patch)
+sha1sums=('8b2025b8876f9f3fe33ef5001e0621f3a5d0f142'
+          'd595e2746949363680e0d64fe2fb97b524c8d27c')
+install=clementine.install
+
+build() {
+   cd "${srcdir}/${pkgname}-${pkgver}"
+   patch -Np1 -i ../clementine-0.7.1-fix-devicekit.patch
+   cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DSTATIC_SQLITE=0 -DENABLE_GIO=OFF
+   make
+}
+
+package() {
+   cd "${srcdir}/${pkgname}-${pkgver}"
+   make DESTDIR="${pkgdir}" install
+}
diff --git a/community-staging/clementine/clementine-0.7.1-fix-devicekit.patch b/community-staging/clementine/clementine-0.7.1-fix-devicekit.patch
new file mode 100644
index 000000000..797a2c864
--- /dev/null
+++ b/community-staging/clementine/clementine-0.7.1-fix-devicekit.patch
@@ -0,0 +1,11 @@
+diff -Naur clementine-0.7.1.ori/src/config.h.in clementine-0.7.1/src/config.h.in
+--- clementine-0.7.1.ori/src/config.h.in	2011-03-29 12:16:15.000000000 -0700
++++ clementine-0.7.1/src/config.h.in	2011-05-09 16:00:26.505080057 -0700
+@@ -29,6 +29,7 @@
+ #cmakedefine HAVE_STATIC_SQLITE
+ 
+ #cmakedefine HAVE_DBUS
++#cmakedefine HAVE_DEVICEKIT
+ #cmakedefine HAVE_GIO
+ #cmakedefine HAVE_IMOBILEDEVICE
+ #cmakedefine HAVE_LIBARCHIVE
diff --git a/community-staging/clementine/clementine.install b/community-staging/clementine/clementine.install
new file mode 100644
index 000000000..2d71a7563
--- /dev/null
+++ b/community-staging/clementine/clementine.install
@@ -0,0 +1,12 @@
+post_install() {
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+
+post_remove() {
+  post_install $1
+}
diff --git a/community-staging/ekg2/PKGBUILD b/community-staging/ekg2/PKGBUILD
new file mode 100644
index 000000000..77a930762
--- /dev/null
+++ b/community-staging/ekg2/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 47741 2011-05-25 05:00:38Z svenstaro $
+# Maintainer: Mateusz Herych 
+
+pkgname=ekg2
+pkgver=0.3.0
+pkgrel=2
+pkgdesc="ncurses based Jabber, Gadu-Gadu, Tlen and IRC client"
+arch=('i686' 'x86_64')
+url="http://ekg2.org/"
+license=('GPL')
+depends=('aspell' 'libjpeg' 'python2' 'libgadu' 'gnutls' 'gpm' 'libidn' 'giflib' 'gpgme')
+optdepends=( 'xosd: for xosd support'
+	         'sqlite3: sqlite support'
+			 'gtk2: gtk support')
+provides=('ekg2-unicode')
+source=(http://pl.ekg2.org/ekg2-$pkgver.tar.gz)
+md5sums=('652e492fcf72281a42c3e5960347516e')
+
+build() {
+  cd $srcdir/$pkgname-$pkgver
+  sed -i 's|ncursesw/ncurses.h|ncurses.h|g' configure plugins/ncurses/ecurses.h
+  ./configure --prefix=/usr \
+	--sysconfdir=/etc \
+  	--with-libgadu \
+  	--with-xosd \
+	--enable-unicode \
+	--enable-shared \
+	--without-gpg
+  make
+}
+
+package() {
+  cd $srcdir/$pkgname-$pkgver
+  make DESTDIR=$pkgdir install
+  rm -rf $pkgdir/usr/lib/perl5/core_perl/perllocal.pod
+  mv $pkgdir/usr/libexec/ioctld $pkgdir/usr/lib/ekg2/ioctld
+  rm -rf $pkgdir/usr/libexec
+  chmod -R 755 $pkgdir/usr/lib/perl5
+}
diff --git a/community-staging/frogatto/PKGBUILD b/community-staging/frogatto/PKGBUILD
index fb3b6553d..434ddd9fb 100644
--- a/community-staging/frogatto/PKGBUILD
+++ b/community-staging/frogatto/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 47675 2011-05-24 19:05:16Z svenstaro $
+# $Id: PKGBUILD 47897 2011-05-26 00:34:36Z svenstaro $
 # Maintainer: Sven-Hendrik Haase 
 # Contributor: Tom Wambold 
 
 pkgname='frogatto'
 arch=('i686' 'x86_64')
 pkgver=1.1
-pkgrel=2
+pkgrel=3
 pkgdesc="An old-school 2d platformer game, starring a certain quixotic frog"
 url="http://www.frogatto.com"
 license=('GPL')
diff --git a/community-staging/gource/PKGBUILD b/community-staging/gource/PKGBUILD
new file mode 100644
index 000000000..2c357a634
--- /dev/null
+++ b/community-staging/gource/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 47914 2011-05-26 01:27:25Z svenstaro $
+# Maintainer: Sven-Hendrik Haase 
+# Contributor: Jose Valecillos 
+# Contributor: Olivier Ramonat 
+pkgname=gource
+pkgver=0.34
+pkgrel=2
+pkgdesc="software version control visualization"
+license=(GPL3)
+arch=(i686 x86_64)
+url=http://code.google.com/p/gource/
+depends=('ftgl' 'sdl' 'sdl_image' 'pcre' 'glew')
+source=(http://gource.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+md5sums=('292a62d687874e871067e985d717d71a')
+
+build() {
+	cd "$srcdir/$pkgname-$pkgver"
+
+	./configure --prefix=/usr
+	make
+}
+
+package() {
+	cd "$srcdir/$pkgname-$pkgver"
+
+	make DESTDIR=$pkgdir install
+}
+# vim: ts=2:sw=2 et:
diff --git a/community-staging/lightspark/PKGBUILD b/community-staging/lightspark/PKGBUILD
index 36d912b1e..d1a23e996 100644
--- a/community-staging/lightspark/PKGBUILD
+++ b/community-staging/lightspark/PKGBUILD
@@ -3,7 +3,7 @@
 
 pkgname=lightspark
 pkgver=0.4.7.1
-pkgrel=3
+pkgrel=4
 pkgdesc='An alternative Flash Player for Linux.'
 arch=('i686' 'x86_64')
 url='http://lightspark.sourceforge.net'
diff --git a/community-staging/perl-dbd-odbc/PKGBUILD b/community-staging/perl-dbd-odbc/PKGBUILD
new file mode 100644
index 000000000..d787e37b5
--- /dev/null
+++ b/community-staging/perl-dbd-odbc/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 47750 2011-05-25 13:23:38Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# Contributor: François Charette 
+
+pkgname=perl-dbd-odbc
+pkgver=1.29
+pkgrel=1
+pkgdesc="ODBC Driver for DBI"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/DBD-ODBC/"
+license=('GPL' 'PerlArtistic')
+depends=('perl-dbi' 'perl' 'unixodbc')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/M/MJ/MJEVANS/DBD-ODBC-${pkgver}.tar.gz")
+md5sums=('66fee532cab75a1e5ffa81dfd26b2367')
+
+build() {
+  cd  DBD-ODBC-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd  DBD-ODBC-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-dbd-pg/PKGBUILD b/community-staging/perl-dbd-pg/PKGBUILD
new file mode 100644
index 000000000..7af282d37
--- /dev/null
+++ b/community-staging/perl-dbd-pg/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 47753 2011-05-25 13:27:50Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Contributor: François Charette 
+
+pkgname=perl-dbd-pg
+pkgver=2.18.1
+pkgrel=1
+pkgdesc="Postgres Driver for DBI"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/DBD-Pg"
+license=('GPL' 'PerlArtistic')
+depends=('perl-dbi>=1.52' 'postgresql-libs')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-${pkgver}.tar.gz")
+md5sums=('1f4a837b3d79789ad6854443fce7a901')
+
+build() {
+  cd  DBD-Pg-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd  DBD-Pg-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-dbd-sqlite2/PKGBUILD b/community-staging/perl-dbd-sqlite2/PKGBUILD
new file mode 100644
index 000000000..314f129d4
--- /dev/null
+++ b/community-staging/perl-dbd-sqlite2/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 47756 2011-05-25 13:30:12Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+# Maintainer: Charles Mauch 
+
+pkgname=perl-dbd-sqlite2
+pkgver=0.33
+pkgrel=7
+pkgdesc="Perl/CPAN Module DBD::SQLite2"
+arch=("i686" "x86_64")
+url="http://search.cpan.org/dist/DBD-SQLite2"
+license=("GPL" "PerlArtistic")
+depends=("perl-dbi")
+source=("http://www.cpan.org/authors/id/M/MS/MSERGEANT/DBD-SQLite2-${pkgver}.tar.gz")
+md5sums=('babd83fd5eb9ba7560ad4bab4c76c0eb')
+
+build() {
+  cd DBD-SQLite2-${pkgver}
+
+  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd DBD-SQLite2-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/perl-dbd-sybase/PKGBUILD b/community-staging/perl-dbd-sybase/PKGBUILD
new file mode 100644
index 000000000..a33488520
--- /dev/null
+++ b/community-staging/perl-dbd-sybase/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 47759 2011-05-25 13:32:36Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+
+pkgname=perl-dbd-sybase
+pkgver=1.12
+pkgrel=1
+pkgdesc="Sybase Driver for DBI"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/dist/DBD-Sybase/"
+license=('GPL' 'PerlArtistic')
+depends=('perl-dbi>=1.52' 'perl>=5.10.0' 'freetds')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/M/ME/MEWP/DBD-Sybase-${pkgver}.tar.gz")
+md5sums=('fc01efe30102e801f6fdc1c96352fcde')
+
+build() {
+  cd  $srcdir/DBD-Sybase-${pkgver}
+
+  export SYBASE=/usr
+
+  echo -e "\n\n\n\n\n\n" | PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+  make
+}
+
+package() {
+  cd  $srcdir/DBD-Sybase-${pkgver}
+
+  make install DESTDIR=${pkgdir}
+
+  find ${pkgdir} -name '.packlist' -delete
+  find ${pkgdir} -name '*.pod' -delete
+}
diff --git a/community-staging/root/PKGBUILD b/community-staging/root/PKGBUILD
new file mode 100644
index 000000000..4f46232cf
--- /dev/null
+++ b/community-staging/root/PKGBUILD
@@ -0,0 +1,78 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Sebastian Voecking 
+
+pkgname=root
+pkgver=5.28.00d
+pkgrel=2
+pkgdesc='C++ data analysis framework and interpreter from CERN.'
+arch=('i686' 'x86_64')
+url='http://root.cern.ch'
+license=('LGPL2.1')
+depends=('avahi' 'desktop-file-utils' 'ftgl' 'giflib' 'glew' 'graphviz' 'gsl' 'libldap' 'libmysqlclient'
+         'libxft' 'postgresql-libs' 'python2' 'unixodbc' 'shared-mime-info' 'xmlrpc-c' 'xorg-fonts-75dpi' 'mesa' 'gcc-fortran')
+makedepends=('fftw')
+install='root.install'
+source=("ftp://root.cern.ch/root/root_v${pkgver}.source.tar.gz"
+        'root.sh'
+        'rootd'
+        'root.desktop'
+        'root.xml')
+md5sums=('53505fcb256df38526d446916e6efc15'
+         '0e883ad44f99da9bc7c23bc102800b62'
+         'efd06bfa230cc2194b38e0c8939e72af'
+         'ac61b17395d75a2705fefa2ef841a6bf'
+         'e2cf69b204192b5889ceb5b4dedc66f7')
+
+build() {
+  cd ${pkgname}
+
+  if [ ${CARCH} == 'i686' ]; then
+    TARGET=linux;
+  else
+    TARGET=linuxx8664gcc;
+  fi
+
+  # python2 switch
+  find . -type f -exec sed -i -e 's/python -O/python2 -O/g' -e 's/python -c/python2 -c/g' {} \;
+  sed -i 's/python 2/python2 2/g' configure
+
+  ./configure \
+    ${TARGET} \
+    --prefix=/usr \
+    --disable-builtin-glew \
+    --disable-builtin-freetype \
+    --disable-builtin-ftgl \
+    --disable-builtin-pcre \
+    --disable-builtin-zlib \
+    --enable-gdml \
+    --enable-gsl-shared \
+    --enable-minuit2 \
+    --enable-soversion \
+    --enable-roofit \
+    --enable-python \
+    --with-python-incdir=/usr/include/python2.7 \
+    --with-python-libdir=/usr/lib
+    #--disable-krb5
+    # disable krb5 because of compile error
+
+    # move from aur
+    #--disable-builtin-afterimage \
+
+    #--with-python-incdir=/usr/include/python2.7/Python.h \
+    #--with-python-libdir=/usr/lib/libpython2.7.so
+
+  make
+}
+
+package() {
+  cd ${pkgname}
+
+  make DESTDIR=${pkgdir} install
+
+  install -D ${srcdir}/root.sh ${pkgdir}/etc/profile.d/root.sh
+  install -D ${srcdir}/rootd ${pkgdir}/etc/rc.d/rootd
+  install -D -m644 ${srcdir}/root.desktop ${pkgdir}/usr/share/applications/root.desktop
+  install -D -m644 ${srcdir}/root.xml ${pkgdir}/usr/share/mime/packages/root.xml
+
+  rm -rf ${pkgdir}/etc/root/daemons
+}
diff --git a/community-staging/root/root.desktop b/community-staging/root/root.desktop
new file mode 100644
index 000000000..ca382111c
--- /dev/null
+++ b/community-staging/root/root.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Exec=root
+Terminal=true
+Name=ROOT
+Name[de]=ROOT
+Comment=An object-oriented data analysis framework
+Comment[de]=Ein objektorientiertes Framework zur Datenanalyse
+StartupNotify=true
+MimeType=application/x-root;text/x-c++src
+Categories=Science;Development;Application;
diff --git a/community-staging/root/root.install b/community-staging/root/root.install
new file mode 100644
index 000000000..457af7314
--- /dev/null
+++ b/community-staging/root/root.install
@@ -0,0 +1,17 @@
+post_install() {
+  if ! [ `grep '/usr/lib/root' etc/ld.so.conf` ]; then
+    echo "/usr/lib/root" >> etc/ld.so.conf
+    sbin/ldconfig -r .
+  fi
+
+  update-desktop-database >/dev/null
+
+  update-mime-database /usr/share/mime >/dev/null
+}
+
+pre_remove() {
+  cat etc/ld.so.conf | grep -v '/usr/lib/root' >/tmp/.pacroot
+  mv /tmp/.pacroot etc/ld.so.conf
+  chmod 644 etc/ld.so.conf
+  sbin/ldconfig -r .
+}
diff --git a/community-staging/root/root.sh b/community-staging/root/root.sh
new file mode 100644
index 000000000..685e6036b
--- /dev/null
+++ b/community-staging/root/root.sh
@@ -0,0 +1,5 @@
+if [ $PYTHONPATH ]; then
+    export PYTHONPATH=$PYTHONPATH:/usr/lib/root;
+else
+    export PYTHONPATH=/usr/lib/root;
+fi
diff --git a/community-staging/root/root.xml b/community-staging/root/root.xml
new file mode 100644
index 000000000..af8dd69c5
--- /dev/null
+++ b/community-staging/root/root.xml
@@ -0,0 +1,11 @@
+
+
+  
+    ROOT file
+    ROOT-Datei
+    
+    
+      
+    
+  
+
diff --git a/community-staging/root/rootd b/community-staging/root/rootd
new file mode 100755
index 000000000..fb2c3388c
--- /dev/null
+++ b/community-staging/root/rootd
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/rootd`
+case "$1" in
+  start)
+  stat_busy "Starting ROOT file server daemon"
+    [ -z "$PID" ] && /usr/bin/rootd >>/var/log/root.log 2>&1
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      PID=`pidof -o %PPID /usr/sbin/rootd`
+      echo $PID >/var/run/rootd.pid
+      add_daemon rootd
+      stat_done
+    fi
+    ;;
+  stop)
+  stat_busy "Stopping ROOT file server daemon"
+    [ ! -z "$PID" ]  && kill $PID &>/dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon rootd
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    $0 start
+    ;;
+  *)
+    echo "usage: $0 {start|stop|restart}"  
+esac
+exit 0
diff --git a/community-staging/sfml/PKGBUILD b/community-staging/sfml/PKGBUILD
new file mode 100644
index 000000000..806e373d4
--- /dev/null
+++ b/community-staging/sfml/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 47923 2011-05-26 03:12:35Z svenstaro $
+# Maintainer: Sven-Hendrik Haase 
+# Contributor: Ondrej Martinak 
+
+pkgname=sfml
+
+_git=true
+
+if [[ "${_git}" = "true" ]]; then
+    pkgver=1.99.git20110526
+fi
+
+pkgrel=1
+pkgdesc='A simple, fast, cross-platform, and object-oriented multimedia API'
+arch=('i686' 'x86_64')
+url='http://www.sfml-dev.org/'
+license=('zlib')
+depends=('libsndfile' 'libxrandr' 'libjpeg' 'openal' 'glew' 'freetype2')
+makedepends=('git' 'mesa' 'cmake' 'doxygen')
+
+_gitroot='https://github.com/LaurentGomila/SFML.git'
+_gitname='SFML'
+
+build() {
+  cd "$srcdir"
+  msg "Connecting to GIT server...."
+
+  if [ -d $_gitname ] ; then
+    cd $_gitname && git pull origin
+    msg "The local files are updated."
+  else
+    git clone $_gitroot
+    cd $_gitname
+  fi
+
+  msg "GIT checkout done or server timeout"
+  msg "Starting make..."
+
+  rm -rf "$srcdir/$_gitname-build"
+  cp -r "$srcdir/$_gitname" "$srcdir/$_gitname-build"
+  cd "$srcdir/$_gitname-build"
+
+  mkdir build && cd build
+  cmake -DCMAKE_INSTALL_PREFIX=/usr .. \
+        -DBUILD_DOC=true \
+        -DBUILD_EXAMPLES=true
+  make
+  make doc
+}
+
+package() {
+  cd "$srcdir/$_gitname-build/build"
+  make DESTDIR="$pkgdir/" install
+
+  install -Dm644 ../license.txt \
+    ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+
+  make clean
+}
+
diff --git a/community-staging/sfml/sfml.install b/community-staging/sfml/sfml.install
new file mode 100644
index 000000000..9d18b5251
--- /dev/null
+++ b/community-staging/sfml/sfml.install
@@ -0,0 +1,3 @@
+post_install() {
+    echo "To view the SFML samples, go to /opt/SFML/samples/bin and run them individually"
+}
diff --git a/community-staging/sfml/use-system-libs.patch b/community-staging/sfml/use-system-libs.patch
new file mode 100644
index 000000000..5d3200225
--- /dev/null
+++ b/community-staging/sfml/use-system-libs.patch
@@ -0,0 +1,70 @@
+Only in SFML-1.6-old/lib: libsfml-graphics.so.1.6
+Binary files SFML-1.6-old/lib/libsfml-network.so.1.6 and SFML-1.6/lib/libsfml-network.so.1.6 differ
+Binary files SFML-1.6-old/lib/libsfml-system.so.1.6 and SFML-1.6/lib/libsfml-system.so.1.6 differ
+Binary files SFML-1.6-old/lib/libsfml-window.so.1.6 and SFML-1.6/lib/libsfml-window.so.1.6 differ
+diff -ur SFML-1.6-old/src/SFML/Graphics/ImageLoader.cpp SFML-1.6/src/SFML/Graphics/ImageLoader.cpp
+--- SFML-1.6-old/src/SFML/Graphics/ImageLoader.cpp	2010-01-27 15:00:05.000000000 +0100
++++ SFML-1.6/src/SFML/Graphics/ImageLoader.cpp	2010-08-16 12:27:33.983627625 +0200
+@@ -28,10 +28,10 @@
+ #include 
+ extern "C"
+ {
+-    #include 
+-    #include 
++    #include 
++    #include 
+ }
+-#include 
++#include 
+ #include 
+ #include 
+ 
+Only in SFML-1.6-old/src/SFML/Graphics: ImageLoader.cpp.rej
+diff -ur SFML-1.6-old/src/SFML/Graphics/Makefile SFML-1.6/src/SFML/Graphics/Makefile
+--- SFML-1.6-old/src/SFML/Graphics/Makefile	2010-01-27 15:00:05.000000000 +0100
++++ SFML-1.6/src/SFML/Graphics/Makefile	2010-08-16 12:25:13.663501212 +0200
+@@ -1,15 +1,5 @@
+ SRC     = $(wildcard *.cpp)
+-SRCGLEW = $(wildcard ./GLEW/*.c)
+-SRCJPEG = $(wildcard ./libjpeg/*.c)
+-SRCPNG  = $(wildcard ./libpng/*.c)
+-SRCSOIL = $(wildcard ./SOIL/*.c)
+-SRCZLIB = $(wildcard ./zlib/*.c)
+ OBJ     = $(SRC:.cpp=.o)
+-OBJGLEW = $(SRCGLEW:.c=.o)
+-OBJJPEG = $(SRCJPEG:.c=.o)
+-OBJPNG  = $(SRCPNG:.c=.o)
+-OBJSOIL = $(SRCSOIL:.c=.o)
+-OBJZLIB = $(SRCZLIB:.c=.o)
+ 
+ ifeq ($(STATIC), yes)
+     LIB     = libsfml-graphics-s.a
+@@ -23,22 +13,19 @@
+ 
+ all: $(LIB)
+ 
+-libsfml-graphics-s.a: $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
+-	$(AR) $(ARFLAGS) $(LIBNAME) $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
++libsfml-graphics-s.a: $(OBJ) 
++	$(AR) $(ARFLAGS) $(LIBNAME) $(OBJ) -static -lGLEW -ljpeg -lpng -lsoil -lz -lSOIL
+ 
+-libsfml-graphics.so: $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
+-	$(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB) -lfreetype -lX11 -lGL
++libsfml-graphics.so: $(OBJ) 
++	$(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(OBJ) -lGLEW -ljpeg -lpng -lSOIL -lz -lfreetype -lX11 -lGL
+ 
+ $(OBJ): %.o: %.cpp
+ 	$(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2
+ 
+-$(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB): %.o: %.c
+-	$(CC) -o $@ -c $< $(CFLAGSEXT) -DSTBI_FAILURE_USERMSG
+-
+ .PHONY: clean mrproper
+ 
+ clean:
+-	@rm -rf $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
++	@rm -rf $(OBJ)
+ 
+ mrproper: clean
+ 	@rm -rf $(LIBNAME)
+Only in SFML-1.6-old/src/SFML/Graphics: Makefile.rej
diff --git a/community-staging/spring/PKGBUILD b/community-staging/spring/PKGBUILD
index aeac8eda8..38ce61979 100644
--- a/community-staging/spring/PKGBUILD
+++ b/community-staging/spring/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 47695 2011-05-24 20:14:25Z svenstaro $
+# $Id: PKGBUILD 47908 2011-05-26 01:20:52Z svenstaro $
 # Maintainer: Sven-Hendrik Haase 
 # Contributor: Arkham 
 # Contributor: Christoph Zeiler 
 
 pkgname=spring
 pkgver=0.82.7.1
-pkgrel=2
+pkgrel=4
 pkgdesc='A free 3D real-time-strategy (RTS) game engine'
 arch=('i686' 'x86_64')
 url="http://springrts.com/"
diff --git a/community-staging/spring/gcc46.patch b/community-staging/spring/gcc46.patch
new file mode 100644
index 000000000..4f6865cac
--- /dev/null
+++ b/community-staging/spring/gcc46.patch
@@ -0,0 +1,67 @@
+From: Jan Dittberner 
+Subject: Patch for FTBFS with g++ 4.6.0
+Bug-Debian: http://bugs.debian.org/625097
+Bug: http://springrts.com/mantis/view.php?id=2415
+--- a/AI/Skirmish/E323AI/AAStar.h
++++ b/AI/Skirmish/E323AI/AAStar.h
+@@ -4,6 +4,7 @@
+ #include 
+ #include 
+ #include 
++#include  // for NULL
+ 
+ class AAStar {
+ 	public:
+--- a/rts/Rendering/ShadowHandler.cpp
++++ b/rts/Rendering/ShadowHandler.cpp
+@@ -318,6 +318,11 @@
+ 	xmid = 1.0f - (sqrt(fabs(x2)) / (sqrt(fabs(x2)) + sqrt(fabs(x1))));
+ 	ymid = 1.0f - (sqrt(fabs(y2)) / (sqrt(fabs(y2)) + sqrt(fabs(y1))));
+ 
++	shadowParams.x = xmid;
++	shadowParams.y = ymid;
++	shadowParams.z = p17;
++	shadowParams.w = p18;
++
+ 	shadowMatrix[ 0] =   cross1.x / maxLengthX;
+ 	shadowMatrix[ 4] =   cross1.y / maxLengthX;
+ 	shadowMatrix[ 8] =   cross1.z / maxLengthX;
+--- a/rts/Rendering/ShadowHandler.h
++++ b/rts/Rendering/ShadowHandler.h
+@@ -38,7 +38,7 @@
+ 	CMatrix44f shadowMatrix;
+ 	void CalcMinMaxView(void);
+ 
+-	const float4 GetShadowParams() const { return float4(xmid, ymid, p17, p18); }
++	const float4& GetShadowParams() const { return shadowParams; }
+ 
+ 	enum ShadowGenProgram {
+ 		SHADOWGEN_PROGRAM_MODEL      = 0,
+@@ -76,6 +76,7 @@
+ 	//! to write the (FBO) depth-buffer texture
+ 	std::vector shadowGenProgs;
+ 
++	float4 shadowParams;
+ 	float x1, x2, y1, y2;
+ 	float xmid, ymid;
+ 	float p17, p18;
+--- a/rts/Rendering/GLContext.cpp
++++ b/rts/Rendering/GLContext.cpp
+@@ -9,6 +9,7 @@
+ #include "GLContext.h"
+ 
+ #include 
++#include   // for NULL
+ 
+ 
+ using namespace std;
+--- a/rts/System/MemPool.h
++++ b/rts/System/MemPool.h
+@@ -4,6 +4,7 @@
+ #define _MEM_POOL_H_
+ 
+ #include 
++#include  // for NULL
+ 
+ const size_t MAX_MEM_SIZE=200;
+ 
diff --git a/community-staging/supertux/PKGBUILD b/community-staging/supertux/PKGBUILD
new file mode 100644
index 000000000..dbcd690af
--- /dev/null
+++ b/community-staging/supertux/PKGBUILD
@@ -0,0 +1,30 @@
+# Contributor: Jaroslaw Swierczynski 
+# Contributor: Eric Belanger 
+# Contributor: vande198
+# Maintainer: Daniel J Griffiths 
+
+pkgname=supertux
+pkgver=0.3.3
+pkgrel=3
+pkgdesc="A classic 2D jump'n run sidescroller game in a style similar to the original SuperMario games"
+arch=('i686' 'x86_64')
+url="http://super-tux.sourceforge.net/"
+license=('GPL')
+depends=('sdl_image' 'curl' 'physfs' 'openal' 'libvorbis' 'libgl' 'glew')
+makedepends=('cmake' 'boost')
+source=(http://download.berlios.de/supertux/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('f3f803e629ee51a9de0b366a036e393d')
+
+build() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+
+  sed -i '1i#include ' src/supertux/screen_manager.hpp
+  cmake -D CMAKE_INSTALL_PREFIX=/usr -D INSTALL_SUBDIR_BIN=bin .
+  make
+}
+
+package() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+
+  make DESTDIR=${pkgdir} install
+}
diff --git a/community-staging/supertux/compile.patch b/community-staging/supertux/compile.patch
new file mode 100644
index 000000000..05376fe91
--- /dev/null
+++ b/community-staging/supertux/compile.patch
@@ -0,0 +1,67 @@
+diff -ruN supertux-0.3.1.orig/src/console.hpp supertux-0.3.1/src/console.hpp
+--- supertux-0.3.1.orig/src/console.hpp	2008-01-03 21:59:27.000000000 +0100
++++ supertux-0.3.1/src/console.hpp	2008-08-23 11:57:47.000000000 +0200
+@@ -27,6 +27,8 @@
+ #include 
+ #include 
+ #include 
++#include 
++#include 
+ 
+ class Console;
+ class ConsoleStreamBuffer;
+diff -ruN supertux-0.3.1.orig/src/lisp/lexer.cpp supertux-0.3.1/src/lisp/lexer.cpp
+--- supertux-0.3.1.orig/src/lisp/lexer.cpp	2008-01-03 21:59:26.000000000 +0100
++++ supertux-0.3.1/src/lisp/lexer.cpp	2008-08-23 13:45:58.000000000 +0200
+@@ -21,6 +21,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ 
+ #include "lexer.hpp"
+ 
+diff -ruN supertux-0.3.1.orig/src/sprite/sprite_manager.hpp supertux-0.3.1/src/sprite/sprite_manager.hpp
+--- supertux-0.3.1.orig/src/sprite/sprite_manager.hpp	2008-01-03 21:59:26.000000000 +0100
++++ supertux-0.3.1/src/sprite/sprite_manager.hpp	2008-08-23 13:29:34.000000000 +0200
+@@ -21,6 +21,7 @@
+ #define SUPERTUX_SPRITE_MANAGER_H
+ 
+ #include 
++#include 
+ 
+ class SpriteData;
+ class Sprite;
+diff -ruN supertux-0.3.1.orig/src/textscroller.hpp supertux-0.3.1/src/textscroller.hpp
+--- supertux-0.3.1.orig/src/textscroller.hpp	2008-01-03 21:59:27.000000000 +0100
++++ supertux-0.3.1/src/textscroller.hpp	2008-08-23 13:34:35.000000000 +0200
+@@ -24,6 +24,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ 
+ #include "screen.hpp"
+ #include "math/vector.hpp"
+diff -ruN supertux-0.3.1.orig/src/title.cpp supertux-0.3.1/src/title.cpp
+--- supertux-0.3.1.orig/src/title.cpp	2008-01-03 21:59:28.000000000 +0100
++++ supertux-0.3.1/src/title.cpp	2008-08-23 12:05:19.000000000 +0200
+@@ -32,6 +32,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ 
+ #include "title.hpp"
+ #include "mainloop.hpp"
+diff -ruN supertux-0.3.1.orig/src/video/sdl_texture.hpp supertux-0.3.1/src/video/sdl_texture.hpp
+--- supertux-0.3.1.orig/src/video/sdl_texture.hpp	2008-01-03 21:59:22.000000000 +0100
++++ supertux-0.3.1/src/video/sdl_texture.hpp	2008-08-23 13:37:14.000000000 +0200
+@@ -23,6 +23,7 @@
+ #include 
+ 
+ #include 
++#include 
+ 
+ #include "texture.hpp"
+ #include "color.hpp"
diff --git a/community-staging/supertux/gcc44.patch b/community-staging/supertux/gcc44.patch
new file mode 100644
index 000000000..b58d9c29d
--- /dev/null
+++ b/community-staging/supertux/gcc44.patch
@@ -0,0 +1,90 @@
+diff -ruN supertux-0.3.1.orig/src/console.hpp supertux-0.3.1/src/console.hpp
+--- supertux-0.3.1.orig/src/console.hpp	2008-01-03 20:59:27.000000000 +0000
++++ supertux-0.3.1/src/console.hpp	2009-05-17 19:43:26.914307646 +0000
+@@ -27,6 +27,8 @@
+ #include 
+ #include 
+ #include 
++#include 
++#include 
+ 
+ class Console;
+ class ConsoleStreamBuffer;
+diff -ruN supertux-0.3.1.orig/src/lisp/lexer.cpp supertux-0.3.1/src/lisp/lexer.cpp
+--- supertux-0.3.1.orig/src/lisp/lexer.cpp	2008-01-03 20:59:26.000000000 +0000
++++ supertux-0.3.1/src/lisp/lexer.cpp	2009-05-17 19:43:27.037705317 +0000
+@@ -21,6 +21,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ 
+ #include "lexer.hpp"
+ 
+diff -ruN supertux-0.3.1.orig/src/lisp/lisp.cpp supertux-0.3.1/src/lisp/lisp.cpp
+--- supertux-0.3.1.orig/src/lisp/lisp.cpp	2008-01-03 20:59:26.000000000 +0000
++++ supertux-0.3.1/src/lisp/lisp.cpp	2009-05-17 19:44:29.305165638 +0000
+@@ -18,7 +18,7 @@
+ //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ 
+ #include 
+-
++#include 
+ #include "lisp.hpp"
+ 
+ namespace lisp
+diff -ruN supertux-0.3.1.orig/src/random_generator.cpp supertux-0.3.1/src/random_generator.cpp
+--- supertux-0.3.1.orig/src/random_generator.cpp	2008-01-03 20:59:27.000000000 +0000
++++ supertux-0.3.1/src/random_generator.cpp	2009-05-17 19:44:05.851002254 +0000
+@@ -39,6 +39,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ #include "random_generator.hpp"
+ 
+ RandomGenerator systemRandom;               // global random number generator
+diff -ruN supertux-0.3.1.orig/src/sprite/sprite_manager.hpp supertux-0.3.1/src/sprite/sprite_manager.hpp
+--- supertux-0.3.1.orig/src/sprite/sprite_manager.hpp	2008-01-03 20:59:26.000000000 +0000
++++ supertux-0.3.1/src/sprite/sprite_manager.hpp	2009-05-17 19:43:27.037705317 +0000
+@@ -21,6 +21,7 @@
+ #define SUPERTUX_SPRITE_MANAGER_H
+ 
+ #include 
++#include 
+ 
+ class SpriteData;
+ class Sprite;
+diff -ruN supertux-0.3.1.orig/src/textscroller.hpp supertux-0.3.1/src/textscroller.hpp
+--- supertux-0.3.1.orig/src/textscroller.hpp	2008-01-03 20:59:27.000000000 +0000
++++ supertux-0.3.1/src/textscroller.hpp	2009-05-17 19:43:27.037705317 +0000
+@@ -24,6 +24,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ 
+ #include "screen.hpp"
+ #include "math/vector.hpp"
+diff -ruN supertux-0.3.1.orig/src/title.cpp supertux-0.3.1/src/title.cpp
+--- supertux-0.3.1.orig/src/title.cpp	2008-01-03 20:59:28.000000000 +0000
++++ supertux-0.3.1/src/title.cpp	2009-05-17 19:43:27.041000359 +0000
+@@ -32,6 +32,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ 
+ #include "title.hpp"
+ #include "mainloop.hpp"
+diff -ruN supertux-0.3.1.orig/src/video/sdl_texture.hpp supertux-0.3.1/src/video/sdl_texture.hpp
+--- supertux-0.3.1.orig/src/video/sdl_texture.hpp	2008-01-03 20:59:22.000000000 +0000
++++ supertux-0.3.1/src/video/sdl_texture.hpp	2009-05-17 19:43:27.041000359 +0000
+@@ -23,6 +23,7 @@
+ #include 
+ 
+ #include 
++#include 
+ 
+ #include "texture.hpp"
+ #include "color.hpp"
diff --git a/community-staging/vdrift/PKGBUILD b/community-staging/vdrift/PKGBUILD
new file mode 100644
index 000000000..41dab8d90
--- /dev/null
+++ b/community-staging/vdrift/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 47904 2011-05-26 00:55:30Z svenstaro $
+# Maintainer: Sven-Hendrik Haase 
+# Contributor: Anton Bazhenov 
+# Contributor: Lone_Wolf lonewolf@xs4all.nl
+
+pkgname=vdrift
+pkgver=2010.06.30
+pkgrel=3
+pkgdesc="An open source driving simulation made with drift racing in mind"
+arch=('i686' 'x86_64')
+url="http://vdrift.net/"
+license=('GPL')
+depends=('sdl_gfx' 'sdl_image' 'glew' 'libvorbis' 'vdrift-data')
+makedepends=('scons' 'boost' 'asio')
+source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgname-${pkgver//./-}/$pkgname-${pkgver//./-}.tar.bz2
+        $pkgname.desktop)
+md5sums=('ddcaf90bb25f9ce9cc084d7f467d7b56'
+         '8bb429f37bcb4aed5e7ab1d80c5a4f93')
+
+build() {
+  cd "$srcdir"/$pkgname-${pkgver//./-}
+
+  # select arch
+  if [ `uname -m` = "x86_64" ]; then
+    _sconsarch="a64"
+  else
+    _sconsarch="686"
+  fi
+
+  # patch for crashing with bad drivers
+  sed -i 's/glGenerateMipmap/glGenerateMipmapEXT/g' src/texture.cpp
+
+  # build and install
+  scons \
+    "destdir"="$pkgdir" \
+    "arch"=$_sconsarch \
+    "release"=1 \
+    "force_feedback"=1 \
+    "prefix"=/usr \
+    "datadir"=share/$pkgname/data || return 1
+}
+
+package() {
+  cd "$srcdir"/$pkgname-${pkgver//./-}
+
+  scons install || return 1
+
+  # remove some unneeded files
+  find "$pkgdir"/usr/share/$pkgname -name SConscript -delete
+
+  # install icons
+  install -Dm644 data/textures/icons/$pkgname-16x16.png \
+    "$pkgdir"/usr/share/icons/hicolor/16x16/apps/$pkgname.png
+  install -Dm644 data/textures/icons/$pkgname-32x32.png \
+    "$pkgdir"/usr/share/icons/hicolor/32x32/apps/$pkgname.png
+  install -Dm644 data/textures/icons/$pkgname-64x64.png \
+    "$pkgdir"/usr/share/icons/hicolor/64x64/apps/$pkgname.png
+
+  # install .desktop file
+  install -Dm644 ../$pkgname.desktop \
+    "$pkgdir"/usr/share/applications/$pkgname.desktop
+
+  # delete installed data (will be provided by -data package)
+  rm -r "$pkgdir"/usr/share/$pkgname
+}
+# vim: sw=2:ts=2 et:
diff --git a/community-staging/vdrift/vdrift.desktop b/community-staging/vdrift/vdrift.desktop
new file mode 100644
index 000000000..7078f0d9c
--- /dev/null
+++ b/community-staging/vdrift/vdrift.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=VDrift
+Version=2009-06-15
+GenericName=Racing Simulation
+Comment=An open source driving simulation made with drift racing in mind
+Exec=vdrift
+Icon=vdrift.png
+Terminal=false
+Categories=Game;Simulation;
diff --git a/community-staging/widelands/PKGBUILD b/community-staging/widelands/PKGBUILD
new file mode 100644
index 000000000..e2a882999
--- /dev/null
+++ b/community-staging/widelands/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 47900 2011-05-26 00:39:20Z svenstaro $
+# Maintainer: Sven-Hendrik Haase 
+# Contributor: Arkham 
+# Contributor: Christoph Zeiler 
+
+pkgname=widelands
+pkgver=16
+_realver=build16
+pkgrel=2
+pkgdesc="A realtime strategy game with emphasis on economy and transport"
+arch=('i686' 'x86_64')
+url="http://widelands.org/"
+license=('GPL')
+depends=('sdl_mixer' 'sdl_image' 'sdl_net' 'sdl_ttf' 'sdl_gfx' 'ggz-client-libs' 'lua' 'glew' 'python2')
+makedepends=('cmake' 'boost')
+source=(http://launchpad.net/$pkgname/build16/$_realver/+download/$pkgname-$_realver-src.tar.bz2
+        $pkgname.desktop
+        $pkgname.png
+        $pkgname.sh)
+md5sums=('3d8c28e145b73c64d8ed1625319d25a2'
+         '15820bf099fd6f16251fe70a75c534bb'
+         '3dfda7e9ca76ca00dd98d745d0ceb328'
+         '7cae50aba5ed0cd2cfeea79124637b46')
+
+build() {
+    cd $srcdir/$pkgname-$_realver-src
+
+    mkdir -p build/compile && cd build/compile
+
+    cmake ../.. -DCMAKE_BUILD_TYPE=Release \
+        -DCMAKE_INSTALL_PREFIX=/usr \
+        -DWL_INSTALL_PREFIX=/usr \
+        -DWL_INSTALL_DATADIR=share/$pkgname \
+        -DWL_INSTALL_BINDIR=bin
+    make
+}
+
+package() {
+    cd $srcdir/$pkgname-$_realver-src/build/compile
+
+    make DESTDIR="$pkgdir" install
+
+    # Install bin, icon and desktop file
+    #install -Dm 755 src/$pkgname $pkgdir/usr/share/$pkgname/$pkgname
+    #install -Dm 755 $srcdir/$pkgname.sh $pkgdir/usr/bin/$pkgname
+    install -Dm644 $srcdir/$pkgname.png $pkgdir/usr/share/pixmaps/$pkgname.png
+    install -Dm644 $srcdir/$pkgname.desktop $pkgdir/usr/share/applications/$pkgname.desktop
+}
diff --git a/community-staging/widelands/widelands-build15-gcc-4.5-patch b/community-staging/widelands/widelands-build15-gcc-4.5-patch
new file mode 100644
index 000000000..6ba313358
--- /dev/null
+++ b/community-staging/widelands/widelands-build15-gcc-4.5-patch
@@ -0,0 +1,51 @@
+diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc
+--- widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc	2010-04-16 15:41:22.000000000 +0000
++++ widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc	2010-07-01 21:15:56.000000000 +0000
+@@ -113,7 +113,7 @@
+ 		 posx, posy, width, height,
+ 		 g_gr->get_picture(PicMod_UI, "pics/but1.png"),
+ 		 &Main_Menu_New_Map::button_clicked, *this, 4,
+-		 Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++		 Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+ 
+ 	posy += height + spacing + spacing + spacing;
+ 
+@@ -142,7 +142,7 @@
+ 		if (m_currentworld == m_worlds.size())
+ 			m_currentworld = 0;
+ 		m_world->set_title
+-			(Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name
++			(Widelands::World(m_worlds[m_currentworld].c_str()).get_name
+ 			 	());
+ 		break;
+ 	}
+diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc
+--- widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc	2010-04-16 15:41:22.000000000 +0000
++++ widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc	2010-07-01 21:17:39.000000000 +0000
+@@ -272,7 +272,7 @@
+ 		 posx, posy, width, height,
+ 		 g_gr->get_picture(PicMod_UI, "pics/but1.png"),
+ 		 &Main_Menu_New_Random_Map::button_clicked, *this, 8,
+-		 Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++		 Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+ 
+ 	posy += height + spacing + spacing + spacing;
+ 
+@@ -343,7 +343,7 @@
+ 		if (m_currentworld == m_worlds.size())
+ 			m_currentworld = 0;
+ 		m_world->set_title
+-			(Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++			(Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+ 		break;
+ 	case 9:
+ 		break;
+@@ -476,7 +476,7 @@
+ 			(strcmp(mapInfo.worldName.c_str(), m_worlds[m_currentworld].c_str()))
+ 			++m_currentworld;
+ 		m_world->set_title
+-			(Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++			(Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+ 
+ 		button_clicked(-1);  // Update other values in UI as well
+ 
diff --git a/community-staging/widelands/widelands.desktop b/community-staging/widelands/widelands.desktop
new file mode 100644
index 000000000..9715d816c
--- /dev/null
+++ b/community-staging/widelands/widelands.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Widelands
+GenericName=Widelands
+Comment=Realtime strategy game
+Icon=widelands
+Exec=widelands
+Type=Application
+Categories=Game;StrategyGame;
diff --git a/community-staging/widelands/widelands.png b/community-staging/widelands/widelands.png
new file mode 100644
index 000000000..c329cf667
Binary files /dev/null and b/community-staging/widelands/widelands.png differ
diff --git a/community-staging/widelands/widelands.sh b/community-staging/widelands/widelands.sh
new file mode 100644
index 000000000..0b21a1694
--- /dev/null
+++ b/community-staging/widelands/widelands.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd /usr/share/widelands
+./widelands $*
diff --git a/community-staging/wml/PKGBUILD b/community-staging/wml/PKGBUILD
new file mode 100644
index 000000000..2f7a3781f
--- /dev/null
+++ b/community-staging/wml/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 47762 2011-05-25 13:41:49Z tdziedzic $
+# Maintainer: Sergej Pupykin 
+
+pkgname=wml
+pkgver=2.0.11
+pkgrel=6
+pkgdesc="The Website Meta Language"
+arch=('i686' 'x86_64')
+url="http://thewml.org/"
+license=('GPL')
+depends=('perl' 'libpng' 'gdbm' 'db' 'ncurses')
+makedepends=('lynx')
+source=("http://thewml.org/distrib/${pkgname}-${pkgver}.tar.gz")
+md5sums=('a26feebf4e59e9a6940f54c69dde05b5')
+build() {
+  cd ${pkgname}-${pkgver}
+
+  # missing Perl modules fix
+  sed -i 's/PREFIX=$(libdir)\/perl/DESTDIR=\.\.\/\.\.\/\.\.\/\.\.\/pkg\/ PREFIX=$(libdir)\/perl/' wml_common/Makefile.in
+  sed -i 's/$(MAKE) pure_perl_install $(MM_INSTALL_OPTS)/$(MAKE) pure_perl_install/' wml_common/Makefile.in
+
+  unset LDFLAGS
+  ./configure \
+    --prefix=/usr
+
+  # compile fixhack
+  sed -i 's#/usr/lib/perl5/core_perl/auto/DynaLoader/DynaLoader.a##' wml_backend/p3_eperl/Makefile
+  sed -i 's/extern struct option options\[\]\;//' ${srcdir}/${pkgname}-${pkgver}/wml_backend/p3_eperl/eperl_proto.h
+  sed -i 's|strip $dsttmp|#strip $dsttmp|' etc/shtool
+  mkdir -p ${pkgdir}/usr/bin ${pkgdir}/usr/lib/wml/exec ${pkgdir}/usr/man/man{1,3,7} ${pkgdir}/usr/man/cat{1,7}
+
+#  make clean
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+
+  make prefix=${pkgdir}/usr install
+
+  [ -d ${pkgdir}/usr/man ] && mkdir -p ${pkgdir}/usr/share && mv ${pkgdir}/usr/man ${pkgdir}/usr/share
+}
diff --git a/community-staging/znc/PKGBUILD b/community-staging/znc/PKGBUILD
new file mode 100644
index 000000000..0bc108944
--- /dev/null
+++ b/community-staging/znc/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 47765 2011-05-25 13:51:21Z tdziedzic $
+# Maintainer: Kaiting Chen 
+# Contributor: mickael9 
+
+pkgname=znc
+pkgver=0.098
+pkgrel=3
+pkgdesc='An IRC bouncer with modules & scripts support'
+url='http://en.znc.in/wiki/index.php/ZNC'
+license=('GPL2')
+arch=('i686' 'x86_64')
+
+depends=('c-ares' 'gcc-libs' 'openssl')
+makedepends=('swig' 'tcl' 'python' 'perl' 'cyrus-sasl')
+optdepends=('tcl: modtcl module'
+            'python: modpython module'
+            'perl: modperl module'
+            'cyrus-sasl: saslauth module')
+
+source=("http://znc.in/releases/znc-${pkgver}.tar.gz")
+md5sums=('5667b4acb1f01309d6eded77abac700c')
+
+build() {
+  cd znc-${pkgver}
+
+  ./configure --prefix=/usr \
+    --enable-sasl \
+    --enable-tcl \
+    --enable-python \
+    --enable-perl \
+    --enable-extra
+
+  make
+}
+
+package() {
+  cd znc-${pkgver}
+
+  make DESTDIR=${pkgdir} install
+}
diff --git a/community-testing/gitg/PKGBUILD b/community-testing/gitg/PKGBUILD
new file mode 100644
index 000000000..19c71018e
--- /dev/null
+++ b/community-testing/gitg/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Brad Fanella 
+# Contributor: Blaž Tomžič 
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Christoph Zeiler 
+# Contributor: M Rawash 
+# Contributor: DonVla 
+
+pkgname=gitg
+pkgver=0.2.2
+pkgrel=1
+pkgdesc='A GIT repository viewer based on GTK+'
+arch=('i686' 'x86_64')
+url='http://trac.novowork.com/gitg/'
+license=('GPL')
+depends=('gconf' 'gtksourceview3' 'git' 'desktop-file-utils' 'gsettings-desktop-schemas')
+makedepends=('intltool')
+install="${pkgname}.install"
+source=("ftp://ftp.gnome.org/pub/GNOME/sources/gitg/0.2/${pkgname}-${pkgver}.tar.bz2")
+sha256sums=('cfa1b1d2bdd1211c09e00dca42130ea98e98fde576d85e18eabfde1802d0d04a')
+
+build() {
+  	cd ${pkgname}-${pkgver}
+
+  	./configure \
+    		--prefix=/usr
+  	make
+}
+
+package() {
+  	cd ${pkgname}-${pkgver}
+
+  	make DESTDIR=${pkgdir} install
+}
diff --git a/community-testing/gitg/gitg.install b/community-testing/gitg/gitg.install
new file mode 100644
index 000000000..787d6085e
--- /dev/null
+++ b/community-testing/gitg/gitg.install
@@ -0,0 +1,17 @@
+# Maintainer: Brad Fanella 
+# Contributor: DonVla 
+# gitg install file
+
+post_install() {
+	usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  	update-desktop-database -q
+}
+
+post_upgrade() {
+  	post_install $1
+}
+
+post_remove() {
+	usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+  	update-desktop-database -q
+}
diff --git a/community/cclive/PKGBUILD b/community/cclive/PKGBUILD
index 6e5c1766d..8b57f4af2 100644
--- a/community/cclive/PKGBUILD
+++ b/community/cclive/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 43777 2011-03-29 18:26:08Z lfleischer $
+# $Id: PKGBUILD 47638 2011-05-24 14:28:23Z tdziedzic $
 # Maintainer: Lukas Fleischer 
 # Contributor: joyfulgirl@archlinux.us
 # Contributor: nathan owe ndowens04 at gmail dot com
 
 pkgname=cclive
 pkgver=0.7.3.1
-pkgrel=2
+pkgrel=3
 pkgdesc='Commandline downloader for popular video websites.'
 arch=('i686' 'x86_64')
 url='http://cclive.sourceforge.net/'
@@ -16,11 +16,15 @@ source=("http://downloads.sourceforge.net/project/${pkgname}/0.7/${pkgname}-${pk
 md5sums=('de25297e9f34677d4d1920078d9cf254')
 
 build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  cmake -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr
+  cd ${pkgname}-${pkgver}
+
+  cmake \
+    -DCMAKE_BUILD_TYPE=debug \
+    -DCMAKE_INSTALL_PREFIX=/usr
 }
 
 package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+  cd ${pkgname}-${pkgver}
+
   make DESTDIR="${pkgdir}" install
 }
diff --git a/community/cherokee/PKGBUILD b/community/cherokee/PKGBUILD
index 0ee02bf51..dba1f7211 100644
--- a/community/cherokee/PKGBUILD
+++ b/community/cherokee/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 42879 2011-03-22 02:06:35Z foutrelis $
+# $Id: PKGBUILD 47874 2011-05-25 20:20:57Z foutrelis $
 # Maintainer: Evangelos Foutras 
 # Contributor: Link Dupont 
 
 pkgname=cherokee
-pkgver=1.2.2
-pkgrel=2
+pkgver=1.2.98
+pkgrel=1
 pkgdesc="A very fast, flexible and easy to configure Web Server"
 arch=('i686' 'x86_64')
 url="http://www.cherokee-project.com/"
@@ -25,7 +25,7 @@ options=('!libtool')
 source=(http://www.cherokee-project.com/download/1.2/$pkgver/cherokee-$pkgver.tar.gz
         cherokee.rc
         cherokee.logrotate)
-md5sums=('6450f0aa116966227c477a1930292e53'
+md5sums=('21b01e7d45c0e82ecc0c4257a9c27feb'
          'a2d2b69c6220fab57cda4f531b680f9f'
          '8d69341bd4002bffd69c6e82ff6c905f')
 
@@ -38,10 +38,15 @@ build() {
   # Use Python 2 in cherokee-admin
   sed -i 's/"python"/"python2"/' cherokee/main_admin.c
 
-  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
-              --with-wwwroot=/srv/http --disable-static \
-              --with-wwwuser=http --with-wwwgroup=http \
-              --enable-os-string="Arch Linux"
+  ./configure \
+    --prefix=/usr \
+    --sysconfdir=/etc \
+    --localstatedir=/var \
+    --disable-static \
+    --with-wwwroot=/srv/http \
+    --with-wwwuser=http \
+    --with-wwwgroup=http \
+    --enable-os-string="Arch Linux"
   make
 }
 
diff --git a/community/encfs/PKGBUILD b/community/encfs/PKGBUILD
index 48cde9db3..9bc1ae9d9 100644
--- a/community/encfs/PKGBUILD
+++ b/community/encfs/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 40979 2011-03-02 23:44:42Z tdziedzic $
+# $Id: PKGBUILD 47658 2011-05-24 17:28:48Z jelle $
 # Contributor: Andrea Scarpino 
 # Contributor: Jaroslaw Swierczynski 
 # Contributor: Sven Kauber, 
@@ -6,7 +6,7 @@
 
 pkgname=encfs
 pkgver=1.7.4
-pkgrel=3
+pkgrel=4
 pkgdesc='Encrypted filesystem in user-space'
 arch=('i686' 'x86_64')
 url='http://www.arg0.net/encfs'
diff --git a/community/fatrat/PKGBUILD b/community/fatrat/PKGBUILD
index 11a5cd076..7411fcd43 100644
--- a/community/fatrat/PKGBUILD
+++ b/community/fatrat/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 40982 2011-03-03 00:04:39Z tdziedzic $
+# $Id: PKGBUILD 47629 2011-05-24 14:03:19Z tdziedzic $
 # Maintainer: Lukas Jirkovsky 
 pkgname=fatrat
 pkgver=1.1.3
-pkgrel=3
+pkgrel=4
 pkgdesc="QT4 based download manager with support for HTTP, FTP, SFTP, BitTorrent, rapidshare and more"
 arch=('i686' 'x86_64')
 url="http://fatrat.dolezel.info/"
@@ -14,16 +14,20 @@ source=(http://www.dolezel.info/download/data/fatrat/fatrat-$pkgver.tar.gz)
 md5sums=('6d4a00cdd0b59a05b1521184508d4637')
 
 build() {
-  cd "$srcdir"/$pkgname-$pkgver
+  cd $pkgname-$pkgver
 
   export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
 
-  cmake -DWITH_EVERYTHING=ON -DCMAKE_INSTALL_PREFIX=/usr .
+  cmake \
+    -DWITH_EVERYTHING=ON \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    .
+
   make
 }
 
 package() {
-  cd "$srcdir"/$pkgname-$pkgver
+  cd $pkgname-$pkgver
   make DESTDIR="$pkgdir" install
 }
 
diff --git a/community/frogatto/PKGBUILD b/community/frogatto/PKGBUILD
index b4da0526c..fb3b6553d 100644
--- a/community/frogatto/PKGBUILD
+++ b/community/frogatto/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 46852 2011-05-12 23:55:35Z svenstaro $
+# $Id: PKGBUILD 47675 2011-05-24 19:05:16Z svenstaro $
 # Maintainer: Sven-Hendrik Haase 
 # Contributor: Tom Wambold 
 
 pkgname='frogatto'
 arch=('i686' 'x86_64')
 pkgver=1.1
-pkgrel=1
+pkgrel=2
 pkgdesc="An old-school 2d platformer game, starring a certain quixotic frog"
 url="http://www.frogatto.com"
 license=('GPL')
diff --git a/community/glob2/PKGBUILD b/community/glob2/PKGBUILD
index c6606dc2d..94754172b 100644
--- a/community/glob2/PKGBUILD
+++ b/community/glob2/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 40961 2011-03-02 21:23:41Z lcarlier $
+# $Id: PKGBUILD 47655 2011-05-24 16:52:31Z schuay $
 # Contributor: Jaroslaw Swierczynski 
 # Contributor: Roman Kyrylych 
 
 pkgname=glob2
 pkgver=0.9.4.4
-pkgrel=7
+pkgrel=8
 pkgdesc="RTS game which minimizes micro-management by automatically assigning tasks to units"
 arch=('i686' 'x86_64')
 url="http://www.globulation2.org/"
 license=('GPL3')
-depends=('boost-libs>=1.46' 'sdl_net' 'sdl_image' 'sdl_ttf' 'libvorbis' 'speex' 'mesa' \
+depends=('boost-libs' 'sdl_net' 'sdl_image' 'sdl_ttf' 'libvorbis' 'speex' 'mesa' \
          'fribidi' 'desktop-file-utils')
-makedepends=('scons' 'boost>=1.46')
+makedepends=('scons' 'boost')
 install=glob2.install
 source=(http://dl.sv.nongnu.org/releases/${pkgname}/0.9.4/${pkgname}-${pkgver}.tar.gz \
 	glob2-0.9.4.1-gcc44.patch)
diff --git a/community/glom/PKGBUILD b/community/glom/PKGBUILD
index e0e583718..e5251b1f4 100644
--- a/community/glom/PKGBUILD
+++ b/community/glom/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 41025 2011-03-03 06:39:10Z svenstaro $
+# $Id: PKGBUILD 47669 2011-05-24 17:51:15Z schuay $
 # Maintainer: Roman Kyrylych 
 # Contributor: William Rea 
 # Contributor: Jaroslav Lichtblau 
 
 pkgname=glom
 pkgver=1.16.1
-pkgrel=5
+pkgrel=6
 pkgdesc="An easy-to-use database designer and user interface"
 arch=('i686' 'x86_64')
 url="http://www.glom.org/"
 license=('GPL')
-depends=('libgdamm>=3.99.21' 'libxml++>=2.30.1' 'gconfmm>=2.28.2' 'pygtk'
+depends=('libgdamm' 'libxml++' 'gconfmm' 'pygtk'
          'python2-gda' 'libgtksourceviewmm2' 'goocanvasmm' 'libepc' 
          'iso-codes' 'postgresql' 'hicolor-icon-theme' 'shared-mime-info'
-         'gtkmm>=2.22.0' 'boost-libs>=1.45' 'gettext')
-makedepends=('intltool' 'gnome-doc-utils>=0.20.2' 'boost>=1.45' 'python-sphinx' 'glibmm-docs')
+         'gtkmm' 'boost-libs' 'gettext')
+makedepends=('intltool' 'gnome-doc-utils' 'boost' 'python-sphinx' 'mm-common')
 options=('!libtool')
 install=$pkgname.install
 source=(http://ftp.gnome.org/pub/GNOME/sources/glom/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
@@ -22,6 +22,12 @@ md5sums=('9ae56e0886f14a48cedaef9beb9c3cc9')
 
 build() {
   cd "$srcdir/$pkgname-$pkgver"
+
+  # doctooldir is now owned by mm-common-util instead of glibmm
+  # the following sed line can be removed once (if) upstream provides a fixed
+  # configure script
+  sed -i 's%\(MMDOCTOOLDIR=`$PKG_CONFIG --variable=doctooldir \)glibmm-2.4%\1mm-common-util%' configure
+
   ./configure --prefix=/usr \
     --with-postgres-utils=/usr/bin \
     --disable-scrollkeeper \
diff --git a/community/gnash/PKGBUILD b/community/gnash/PKGBUILD
index 58fb9a24a..f962211b1 100644
--- a/community/gnash/PKGBUILD
+++ b/community/gnash/PKGBUILD
@@ -4,7 +4,7 @@
 pkgbase=gnash
 pkgname=(gnash-common gnash-gtk)
 pkgver=0.8.9
-pkgrel=2
+pkgrel=3
 arch=(i686 x86_64)
 url="http://www.gnu.org/software/gnash/"
 license=(GPL3)
@@ -20,6 +20,10 @@ md5sums=('5b2be6b04a1bcc5fb404cc377034499e')
 build() {
   cd "$srcdir/gnash-$pkgver"
 
+  # Version is now in version.h
+  sed -i 's/avcodec\.h/version.h/' macros/ffmpeg.m4
+  ./autogen.sh
+
   ./configure \
     --prefix=/usr \
     --sysconfdir=/etc \
diff --git a/community/gpsdrive/PKGBUILD b/community/gpsdrive/PKGBUILD
index e95ef92be..d7fafb285 100644
--- a/community/gpsdrive/PKGBUILD
+++ b/community/gpsdrive/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 45236 2011-04-18 13:25:52Z spupykin $
+# $Id: PKGBUILD 47650 2011-05-24 16:23:35Z jelle $
 # Maintainer: Sergej Pupykin 
 # Contributor: Tom Newsom 
 # Maintainer: damir 
 
 pkgname=gpsdrive
 pkgver=2.11
-pkgrel=7
+pkgrel=8
 pkgdesc="A car (bike, ship, plane) navigation system"
 arch=("i686" "x86_64")
 url="http://www.gpsdrive.de/"
diff --git a/community/ibus-anthy/PKGBUILD b/community/ibus-anthy/PKGBUILD
index c907d99fd..e6bda9859 100644
--- a/community/ibus-anthy/PKGBUILD
+++ b/community/ibus-anthy/PKGBUILD
@@ -1,9 +1,10 @@
+# $Id: PKGBUILD 47888 2011-05-25 23:35:15Z ebelanger $
 # Contributor: Rainy 
 # Contributor: Lee.MaRS 
 # Maintainer: Daniel J Griffiths 
 
 pkgname=ibus-anthy
-pkgver=1.2.5
+pkgver=1.2.6
 pkgrel=1
 pkgdesc="Japanese input method Anthy IMEngine for IBus Framework"
 arch=('i686' 'x86_64')
@@ -11,28 +12,22 @@ license=('LGPL')
 url="http://ibus.googlecode.com"
 depends=('ibus' 'anthy' 'python2')
 makedepends=('swig' 'intltool')
-provides=('ibus-anthy')
 options=('!libtool')
-source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
-md5sums=('00b44c874616d797a0117d087cf33341')
+source=(http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz)
+md5sums=('894c7311f4d5c96b1fdb8b3795446ead')
 
 build() {
-  cd ${pkgname}-${pkgver}
-
-  # python2 fix
+  cd "${srcdir}/${pkgname}-${pkgver}"
+# python2 fix
   for file in setup/ibus-setup-anthy.in engine/ibus-engine-anthy.in; do
     sed -i 's_exec python_exec python2_' $file
   done
 
-  ./configure \
-    --prefix=/usr \
-    --libexec=/usr/lib/ibus
-
+  ./configure --prefix=/usr --libexec=/usr/lib/ibus
   make
 }
 
 package() {
-  cd ${pkgname}-${pkgver}
-
-  make DESTDIR=${pkgdir} install
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
 }
diff --git a/community/john/PKGBUILD b/community/john/PKGBUILD
index 16d1d2299..03d3c092b 100644
--- a/community/john/PKGBUILD
+++ b/community/john/PKGBUILD
@@ -5,8 +5,8 @@
 # Contributor: Michal Krenek 
 
 pkgname=john
-pkgver=1.7.6
-pkgrel=3
+pkgver=1.7.7
+pkgrel=1
 pkgdesc="John The Ripper - A fast password cracker. Additional patches (NTLM, MySQL, Kerberos V5, etc.) included."
 arch=('i686' 'x86_64')
 url="http://www.openwall.com/$pkgname/"
@@ -14,18 +14,18 @@ license=('GPL2' 'custom')
 depends=('openssl')
 backup=('etc/john/john.conf')
 source=(http://www.openwall.com/$pkgname/g/$pkgname-$pkgver.tar.bz2 
-	http://www.openwall.com/john/g/john-$pkgver-jumbo-12.diff.gz 
+	http://www.openwall.com/john/g/john-$pkgver-jumbo-1.diff.gz 
 	ftp://ftp.kfki.hu/pub/packages/security/ssh/ossh/libdes-4.04b.tar.gz
 	params.h.patch)
-md5sums=('321ac0793f1aa4f0603b33a393133756'
-         '405750a1d8f5c62d434e97cd2775843b'
+md5sums=('be316618de834a58573a21225d4a2674'
+         'ee776d17726e7c15e90f2cf7ca85492f'
          'c8d5c69f86c2eedb485583b0305284a1'
          'f69ed632eba8fb9e45847a4b4a323787')
 
 build() {
 	# jumbo patch
 	cd ${srcdir}/$pkgname-$pkgver
-	patch -p1 < ${srcdir}/$pkgname-$pkgver-jumbo-12.diff
+	patch -p1 < ${srcdir}/$pkgname-$pkgver-jumbo-1.diff
 	cd ${srcdir}/john-$pkgver/src/
 
 	# patch default params
diff --git a/community/lightspark/PKGBUILD b/community/lightspark/PKGBUILD
index 95b4ef31e..36d912b1e 100644
--- a/community/lightspark/PKGBUILD
+++ b/community/lightspark/PKGBUILD
@@ -3,7 +3,7 @@
 
 pkgname=lightspark
 pkgver=0.4.7.1
-pkgrel=2
+pkgrel=3
 pkgdesc='An alternative Flash Player for Linux.'
 arch=('i686' 'x86_64')
 url='http://lightspark.sourceforge.net'
diff --git a/community/mapnik/PKGBUILD b/community/mapnik/PKGBUILD
index 6dd50ad73..bcfc24c68 100644
--- a/community/mapnik/PKGBUILD
+++ b/community/mapnik/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 41028 2011-03-03 07:23:21Z tdziedzic $
+# $Id: PKGBUILD 47631 2011-05-24 14:03:50Z jelle $
 # Maintainer: Sergej Pupykin 
 # Contributor: David Dent 
 # Contributor: orbisvicis 
 
 pkgname=mapnik
 pkgver=0.7.1
-pkgrel=8
+pkgrel=9
 pkgdesc="Free Toolkit for developing mapping applications. Above all Mapnik is about rendering beautiful maps."
 arch=('i686' 'x86_64')
 url="http://mapnik.org/"
@@ -42,6 +42,9 @@ build() {
     INPUT_PLUGINS=all \
     DESTDIR="$pkgdir"
   scons
+}
+package(){
+  cd "$srcdir/$pkgname-$pkgver"
   scons install
 
   # fix permissions on SCons-autogenerated files
diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD
index ff18bc930..c3e44c8fa 100644
--- a/community/mongodb/PKGBUILD
+++ b/community/mongodb/PKGBUILD
@@ -4,7 +4,7 @@
 
 pkgname=mongodb
 pkgver=1.8.1
-pkgrel=1
+pkgrel=2
 pkgdesc='A high-performance, open source, schema-free document-oriented database.'
 arch=('i686' 'x86_64')
 url='http://www.mongodb.org'
@@ -16,16 +16,23 @@ backup=('etc/mongodb.conf')
 install="mongodb.install"
 source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz"
         'mongodb.rc'
-        'mongodb.conf')
+        'mongodb.conf'
+        'gcc46fixes.diff'
+        'gcc46fixes2.diff')
 md5sums=('e75a5cae641a53760df8cb866ad5d929'
          '859f8f9bb32ef2bd21fec55ae9a87d0a'
-         '9e0ea3f96732bb7811f0b64dace56440')
+         '9e0ea3f96732bb7811f0b64dace56440'
+         'e90c78350e25df2d24f98e4767677d4b'
+         '5097de6ce2c347c3703ab8cf5a611052')
 
 build() {
   export SCONSFLAGS="$MAKEFLAGS"
 
   cd ${pkgname}-src-r${pkgver}
 
+  patch -Np1 -i ${srcdir}/gcc46fixes.diff
+  patch -Np1 -i ${srcdir}/gcc46fixes2.diff
+
   # scons is "special"
   sed -i 's/-Wall -Wsign-compare/& -DBOOST_FILESYSTEM_VERSION=2/' SConstruct
 
diff --git a/community/mongodb/gcc46fixes.diff b/community/mongodb/gcc46fixes.diff
new file mode 100644
index 000000000..487c88f16
--- /dev/null
+++ b/community/mongodb/gcc46fixes.diff
@@ -0,0 +1,132 @@
+commit fa7cd65e480d80ba1cd196bdcec8f4714e361e8e
+Author: Mathias Stearn 
+Date:   Sun Apr 3 19:10:36 2011 -0400
+
+    g++ 4.6 compile (new -Wunused-but-set-variable warning)
+
+diff --git a/db/btree.cpp b/db/btree.cpp
+index 2758f72..4162d6a 100644
+--- a/db/btree.cpp
++++ b/db/btree.cpp
+@@ -1226,8 +1226,6 @@ namespace mongo {
+             out() << "   " << thisLoc.toString() << ".insertHere " << key.toString() << '/' << recordLoc.toString() << ' '
+                   << lchild.toString() << ' ' << rchild.toString() << " keypos:" << keypos << endl;
+ 
+-        DiskLoc oldLoc = thisLoc;
+-
+         if ( !basicInsert(thisLoc, keypos, recordLoc, key, order) ) {
+             // If basicInsert() fails, the bucket will be packed as required by split().
+             thisLoc.btreemod()->split(thisLoc, keypos, recordLoc, key, order, lchild, rchild, idx);
+diff --git a/db/dbcommands.cpp b/db/dbcommands.cpp
+index 2580f86..56c0fce 100644
+--- a/db/dbcommands.cpp
++++ b/db/dbcommands.cpp
+@@ -1460,7 +1460,7 @@ namespace mongo {
+             uassert( 13049, "godinsert must specify a collection", !coll.empty() );
+             string ns = dbname + "." + coll;
+             BSONObj obj = cmdObj[ "obj" ].embeddedObjectUserCheck();
+-            DiskLoc loc = theDataFileMgr.insertWithObjMod( ns.c_str(), obj, true );
++            theDataFileMgr.insertWithObjMod( ns.c_str(), obj, true );
+             return true;
+         }
+     } cmdGodInsert;
+diff --git a/db/index.cpp b/db/index.cpp
+index c696e27..218ecb3 100644
+--- a/db/index.cpp
++++ b/db/index.cpp
+@@ -127,7 +127,6 @@ namespace mongo {
+     void getIndexChanges(vector& v, NamespaceDetails& d, BSONObj newObj, BSONObj oldObj, bool &changedId) {
+         int z = d.nIndexesBeingBuilt();
+         v.resize(z);
+-        NamespaceDetails::IndexIterator i = d.ii();
+         for( int i = 0; i < z; i++ ) {
+             IndexDetails& idx = d.idx(i);
+             BSONObj idxKey = idx.info.obj().getObjectField("key"); // eg { ts : 1 }
+diff --git a/db/update.cpp b/db/update.cpp
+index e173902..85c3f9c 100644
+--- a/db/update.cpp
++++ b/db/update.cpp
+@@ -992,7 +992,7 @@ namespace mongo {
+                 BSONObj newObj = mss->createNewFromMods();
+                 checkTooLarge(newObj);
+                 assert(nsdt);
+-                DiskLoc newLoc = theDataFileMgr.updateRecord(ns, d, nsdt, r, loc , newObj.objdata(), newObj.objsize(), debug);
++                theDataFileMgr.updateRecord(ns, d, nsdt, r, loc , newObj.objdata(), newObj.objsize(), debug);
+             }
+ 
+             if ( logop ) {
+diff --git a/dbtests/queryoptimizertests.cpp b/dbtests/queryoptimizertests.cpp
+index acf9217..2d6f752 100644
+--- a/dbtests/queryoptimizertests.cpp
++++ b/dbtests/queryoptimizertests.cpp
+@@ -1558,7 +1558,6 @@ namespace QueryOptimizerTests {
+                     theDataFileMgr.insertWithObjMod( ns(), temp );
+                 }
+                 BSONObj hint = fromjson( "{$hint:{a:1,b:1}}" );
+-                BSONElement hintElt = hint.firstElement();
+                 auto_ptr< FieldRangeSet > frs( new FieldRangeSet( ns(), fromjson( "{a:5,b:{$in:[2,3,6,9,11]}}" ) ) );
+                 QueryPlan qp( nsd(), 1, *frs, *frs, fromjson( "{a:5,b:{$in:[2,3,6,9,11]}}" ), BSONObj() );
+                 boost::shared_ptr c = qp.newCursor();
+@@ -1581,7 +1580,6 @@ namespace QueryOptimizerTests {
+                     theDataFileMgr.insertWithObjMod( ns(), temp );
+                 }
+                 BSONObj hint = fromjson( "{$hint:{a:1,b:1}}" );
+-                BSONElement hintElt = hint.firstElement();
+                 auto_ptr< FieldRangeSet > frs( new FieldRangeSet( ns(), fromjson( "{a:{$gte:5},b:{$in:[2,3,6,9,11]}}" ) ) );
+                 QueryPlan qp( nsd(), 1, *frs, *frs, fromjson( "{a:{$gte:5},b:{$in:[2,3,6,9,11]}}" ), BSONObj() );
+                 boost::shared_ptr c = qp.newCursor();
+diff --git a/shell/shell_utils.cpp b/shell/shell_utils.cpp
+index 6c398ef..53484fd 100644
+--- a/shell/shell_utils.cpp
++++ b/shell/shell_utils.cpp
+@@ -260,7 +260,7 @@ namespace mongo {
+             BSONElement e = oneArg(args);
+             bool found = false;
+ 
+-            path root( args.firstElement().valuestrsafe() );
++            path root( e.valuestrsafe() );
+             if ( boost::filesystem::exists( root ) ) {
+                 found = true;
+                 boost::filesystem::remove_all( root );
+diff --git a/tools/tool.cpp b/tools/tool.cpp
+index 92a4bd4..150481b 100644
+--- a/tools/tool.cpp
++++ b/tools/tool.cpp
+@@ -413,14 +413,14 @@ namespace mongo {
+         ProgressMeter m( fileLength );
+ 
+         while ( read < fileLength ) {
+-            int readlen = fread(buf, 4, 1, file);
++            fread(buf, 4, 1, file);
+             int size = ((int*)buf)[0];
+             if ( size >= BUF_SIZE ) {
+                 cerr << "got an object of size: " << size << "  terminating..." << endl;
+             }
+             uassert( 10264 ,  "invalid object size" , size < BUF_SIZE );
+ 
+-            readlen = fread(buf+4, size-4, 1, file);
++            fread(buf+4, size-4, 1, file);
+ 
+             BSONObj o( buf );
+             if ( _objcheck && ! o.valid() ) {
+diff --git a/util/ramlog.h b/util/ramlog.h
+index fc588e6..b2f3aa0 100644
+--- a/util/ramlog.h
++++ b/util/ramlog.h
+@@ -108,7 +108,6 @@ namespace mongo {
+             vector v;
+             get( v );
+ 
+-            bool first = true;
+             s << "
\n";
+             for( int i = 0; i < (int)v.size(); i++ ) {
+                 assert( strlen(v[i]) > 20 );
+@@ -126,7 +125,7 @@ namespace mongo {
+                         stringstream r;
+                         if( nr == 1 ) r << "repeat last line";
+                         else r << "repeats last " << nr << " lines; ends " << string(v[last]+4,0,15);
+-                        first = false; s << html::a("", r.str(), clean(v,i,x.str()));
++                        s << html::a("", r.str(), clean(v,i,x.str()));
+                     }
+                     else s << x.str();
+                     s << '\n';
diff --git a/community/mongodb/gcc46fixes2.diff b/community/mongodb/gcc46fixes2.diff
new file mode 100644
index 000000000..17257b136
--- /dev/null
+++ b/community/mongodb/gcc46fixes2.diff
@@ -0,0 +1,26 @@
+commit 5931bc0231c91ecdfc5dd313d8cce578eae426bb
+Author: Eliot Horowitz 
+Date:   Wed Mar 30 01:01:18 2011 -0400
+
+    remove unused variable
+
+diff --git a/db/commands.cpp b/db/commands.cpp
+index c301fb3..0bbd765 100644
+--- a/db/commands.cpp
++++ b/db/commands.cpp
+@@ -127,7 +127,6 @@ namespace mongo {
+         if ( strcmp(p, ".$cmd") != 0 ) return false;
+ 
+         bool ok = false;
+-        bool valid = false;
+ 
+         BSONElement e = jsobj.firstElement();
+         map::iterator i;
+@@ -138,7 +137,6 @@ namespace mongo {
+            migrated over to the command object format.
+            */
+         else if ( (i = _commands->find(e.fieldName())) != _commands->end() ) {
+-            valid = true;
+             string errmsg;
+             Command *c = i->second;
+             if ( c->adminOnly() && !startsWith(ns, "admin.") ) {
diff --git a/community/ogre/PKGBUILD b/community/ogre/PKGBUILD
index 9efa8a699..28e1c7066 100644
--- a/community/ogre/PKGBUILD
+++ b/community/ogre/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 46578 2011-05-09 16:26:46Z svenstaro $
+# $Id: PKGBUILD 47685 2011-05-24 19:41:50Z svenstaro $
 # Maintainer: Sven-Hendrik Haase 
 pkgbase=ogre
 pkgname=('ogre' 'ogre-docs')
 pkgver=1.7.3
-pkgrel=1
+pkgrel=2
 pkgdesc="A scene-oriented, flexible 3D engine written in C++"
 arch=('i686' 'x86_64')
 url='http://www.ogre3d.org'
diff --git a/community/performous/PKGBUILD b/community/performous/PKGBUILD
index 3f839322c..16518d9c9 100644
--- a/community/performous/PKGBUILD
+++ b/community/performous/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 40964 2011-03-02 22:24:28Z lcarlier $
+# $Id: PKGBUILD 47641 2011-05-24 14:35:06Z tdziedzic $
 # Maintainer : Laurent Carlier 
 # Contributor: Christoph Zeiler 
 
 pkgname=performous
 pkgver=0.6.1
-pkgrel=4
+pkgrel=5
 pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"'
 arch=('i686' 'x86_64')
-url="http://$pkgname.org/"
+url="http://performous.org/"
 license=('GPL')
 depends=('boost-libs>=1.46' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew' 'libxml++' 'portaudio' 'portmidi' \
          'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo')
diff --git a/community/pingus/PKGBUILD b/community/pingus/PKGBUILD
index a0458f18a..bba3aea9e 100644
--- a/community/pingus/PKGBUILD
+++ b/community/pingus/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 40956 2011-03-02 21:08:01Z lcarlier $
+# $Id: PKGBUILD 47672 2011-05-24 18:43:41Z tdziedzic $
 # Maintainer: Eric Belanger 
 
 pkgname=pingus
 pkgver=0.7.3
-pkgrel=3
+pkgrel=4
 pkgdesc="A Lemmings clone, i.e. a level-based puzzle game."
 arch=('i686' 'x86_64')
 url="http://pingus.seul.org"
@@ -17,14 +17,15 @@ sha1sums=('ca7fe5cea65fb3392d1e81056a879831925502f2'
           'f35649f3b0b2bfcb01ce75085cf719dcaa609a54')
 
 build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+  cd ${pkgname}-${pkgver}
 
   scons prefix=/usr
 }
 
 package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+  cd ${pkgname}-${pkgver}
 
   ./install.sh "${pkgdir}/usr"
+
   install -D -m644 "${srcdir}/pingus.desktop" "${pkgdir}/usr/share/applications/pingus.desktop"
 }
diff --git a/community/pokerth/PKGBUILD b/community/pokerth/PKGBUILD
index c605b8ddc..040111905 100644
--- a/community/pokerth/PKGBUILD
+++ b/community/pokerth/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 45135 2011-04-17 08:17:41Z tdziedzic $
+# $Id: PKGBUILD 47635 2011-05-24 14:23:55Z tdziedzic $
 # Maintainer: Mateusz Herych 
 # Contributor: Vasco Costa 
 
 pkgname=pokerth
 _realname=PokerTH
 pkgver=0.8.3
-pkgrel=3
+pkgrel=4
 pkgdesc="Poker game written in C++/QT4"
 arch=('i686' 'x86_64')
 url="http://www.pokerth.net/"
@@ -16,16 +16,23 @@ source=(http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-
 md5sums=('adbe56ad5f547eb255dad91de564bf1c')                                                                                                               
 
 build() {
-  cd "$srcdir/$_realname-$pkgver-src"
+  cd $_realname-$pkgver-src
 
   sed -i 's/QMAKE_CXXFLAGS += -std=gnu++0x/QMAKE_CXXFLAGS += -std=gnu++0x -DBOOST_FILESYSTEM_VERSION=2/' *.pro
 
+
+  # fix g++: error: unrecognized option '-no_dead_strip_inits_and_terms'
+  sed \
+    -e 's/QMAKE_LFLAGS += -no_dead_strip_inits_and_terms//' \
+    -i zlib_compress.pro pokerth_game.pro pokerth_server.pro
+
   qmake $pkgname.pro
+
   make
 }
 
 package() {
-  cd "$srcdir/$_realname-$pkgver-src"
+  cd $_realname-$pkgver-src
 
   make INSTALL_ROOT="$pkgdir" install
 
diff --git a/community/qbittorrent/PKGBUILD b/community/qbittorrent/PKGBUILD
index 25d24c608..ae549bae2 100644
--- a/community/qbittorrent/PKGBUILD
+++ b/community/qbittorrent/PKGBUILD
@@ -4,7 +4,7 @@
 
 pkgname=qbittorrent
 pkgver=2.7.3
-pkgrel=1
+pkgrel=2
 pkgdesc="A bittorrent client written in C++ / Qt4 using the good libtorrent library"
 arch=('i686' 'x86_64')
 url="http://www.qbittorrent.org/"
diff --git a/community/schroot/PKGBUILD b/community/schroot/PKGBUILD
index 117a2ac93..949227809 100644
--- a/community/schroot/PKGBUILD
+++ b/community/schroot/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 43438 2011-03-26 08:44:13Z spupykin $
+# $Id: PKGBUILD 47626 2011-05-24 13:55:50Z tdziedzic $
 # Maintainer: Sergej Pupykin 
 # Contributor: Andreas Wagner 
 
 pkgname=schroot
-pkgver=1.4.21
+pkgver=1.4.22
 pkgrel=1
 pkgdesc="Allows users to execute shell commands under different root filesystems. \
 	 (Successor to dchroot)."
 url="http://packages.qa.debian.org/s/schroot.html"
 license=('GPL3')
-depends=('pam' 'lockdev' 'boost>=1.41' 'e2fsprogs')
+depends=('pam' 'lockdev' 'boost' 'e2fsprogs')
 optdepends=('btrfs-progs-unstable' 'lvm2')
 arch=('i686' 'x86_64')
 conflicts=('dchroot')
@@ -24,13 +24,13 @@ source=("http://ftp.debian.org/debian/pool/main/s/$pkgname/${pkgname}_${pkgver}.
 	'script-arch32'
 	'copyfiles-arch32'
 	'mount-arch32')
-md5sums=('fbbb65213e26a0a3e2e1bac04a24d20d'
+md5sums=('0dde4c76b1623cc277d92f8dc06109d1'
          '8e86445e188129232e1782d978dfc967'
          'd4558d5691fbdaa46ce669e8f327133b'
          'f0d5d5b5e34a860f6f90b5628c680f46')
 
 build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
+  cd ${pkgname}-${pkgver}
 
   export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
 
@@ -43,7 +43,13 @@ build() {
 # --enable-csbuild
 
   make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+
   make DESTDIR=$pkgdir  install
+
   install -m 644 ${srcdir}/script-arch32 ${pkgdir}/etc/schroot
   install -m 644 ${srcdir}/mount-arch32 ${pkgdir}/etc/schroot
   install -m 644 ${srcdir}/copyfiles-arch32 ${pkgdir}/etc/schroot
diff --git a/community/smc/PKGBUILD b/community/smc/PKGBUILD
index 05bdc6ea2..a3fe89406 100644
--- a/community/smc/PKGBUILD
+++ b/community/smc/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 40953 2011-03-02 21:01:34Z lcarlier $
+# $Id: PKGBUILD 47652 2011-05-24 16:35:46Z schuay $
 # Maintainer:
 # Contributor: Juergen Hoetzel 
 # Contributor: Kritoke 
 
 pkgname=smc
 pkgver=1.9
-pkgrel=10
+pkgrel=11
 pkgdesc="Secret Maryo Chronicles"
 arch=('i686' 'x86_64')
 url="http://www.secretmaryo.org/"
 license=('GPL3')
-depends=('sdl_image' 'sdl_ttf' 'sdl_mixer' 'cegui>=0.7' 'boost-libs>=1.46' 'smc-data')
-makedepends=('autoconf' 'automake' 'boost>=1.46')
+depends=('sdl_image' 'sdl_ttf' 'sdl_mixer' 'cegui' 'boost-libs' 'smc-data')
+makedepends=('autoconf' 'automake' 'boost')
 source=(http://downloads.sourceforge.net/smclone/$pkgname-$pkgver.tar.bz2
         smc-for-cegui-v0-7.diff
         smc.desktop
diff --git a/community/spring/PKGBUILD b/community/spring/PKGBUILD
index 26101bb64..5430aace6 100644
--- a/community/spring/PKGBUILD
+++ b/community/spring/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 41178 2011-03-04 19:28:06Z svenstaro $
+# $Id: PKGBUILD 47736 2011-05-25 04:13:58Z svenstaro $
 # Maintainer: Sven-Hendrik Haase 
 # Contributor: Arkham 
 # Contributor: Christoph Zeiler 
 
 pkgname=spring
 pkgver=0.82.7.1
-pkgrel=2
+pkgrel=3
 pkgdesc='A free 3D real-time-strategy (RTS) game engine'
 arch=('i686' 'x86_64')
 url="http://springrts.com/"
@@ -14,8 +14,10 @@ depends=('openal' 'glew' 'boost-libs' 'freetype2' 'devil' 'libvorbis')
 makedepends=('boost' 'cmake' 'zip' 'lzma-utils' 'p7zip' 'python' 'java-environment')
 optdepends=('python: python-based bots'
             'java-runtime: java-based bots')
-source=(http://downloads.sourceforge.net/sourceforge/springrts/${pkgname}_${pkgver}_src.tar.lzma)
-md5sums=('378cf0b18a5dd5b840964e5945778503')
+source=(http://downloads.sourceforge.net/sourceforge/springrts/${pkgname}_${pkgver}_src.tar.lzma
+        gcc46.patch)
+md5sums=('378cf0b18a5dd5b840964e5945778503'
+         'e9586b611db1ed04fe4f0c5982fda7d2')
 
 build() {
   bsdtar -xf ${pkgname}_${pkgver}_src.tar.lzma
@@ -24,6 +26,7 @@ build() {
   
   sed -i '1i\
 	  #include ' rts/lib/lobby/Connection.h
+  patch -Np1 < $srcdir/gcc46.patch
   cmake	. \
     -DCMAKE_INSTALL_PREFIX=/usr \
 	-DDATADIR=share/spring
diff --git a/community/springlobby/PKGBUILD b/community/springlobby/PKGBUILD
index 9aaa521f3..2ccb51e50 100644
--- a/community/springlobby/PKGBUILD
+++ b/community/springlobby/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 46590 2011-05-09 22:11:42Z svenstaro $
+# $Id: PKGBUILD 47682 2011-05-24 19:40:45Z svenstaro $
 # Maintainer: Sven-Hendrik Haase 
 # Contributor: DuGi 
 
 pkgname=springlobby
 pkgver=0.131
-pkgrel=1
+pkgrel=2
 pkgdesc="A free cross-platform lobby client for the Spring RTS project."
 arch=('i686' 'x86_64')
 url="http://springlobby.info/"
diff --git a/community/tagpy/PKGBUILD b/community/tagpy/PKGBUILD
index 95b9e5409..246a92e12 100644
--- a/community/tagpy/PKGBUILD
+++ b/community/tagpy/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 41005 2011-03-03 04:37:04Z tdziedzic $
+# $Id: PKGBUILD 47614 2011-05-24 13:24:59Z jelle $
 # Maintainer: Andrea Scarpino 
 # Contributor: Callan Barrett 
 # Contributor: Scott Horowitz 
 
 pkgname=tagpy
 pkgver=0.94.8
-pkgrel=3
+pkgrel=4
 pkgdesc="Python bindings for TagLib"
 arch=('i686' 'x86_64')
 url="http://pypi.python.org/pypi/tagpy"
@@ -32,6 +32,5 @@ build() {
 package(){
   cd ${srcdir}/${pkgname}-${pkgver}
   python2 setup.py install --root="${pkgdir}" --optimize=1
-
   install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
 }
diff --git a/community/twinkle/PKGBUILD b/community/twinkle/PKGBUILD
index 152d08e3d..02e37d080 100644
--- a/community/twinkle/PKGBUILD
+++ b/community/twinkle/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 47223 2011-05-19 07:52:09Z andrea $
+# $Id: PKGBUILD 47620 2011-05-24 13:41:29Z jelle $
 # Maintainer:
 # Contributor: Jeff Mickey 
 # Contributor: Alexander Baldeck 
@@ -6,7 +6,7 @@
 
 pkgname=twinkle
 pkgver=1.4.2
-pkgrel=9
+pkgrel=10
 pkgdesc="A softphone for voice over IP and instant messaging communications using the SIP protocol"
 arch=('i686' 'x86_64')
 url="http://www.twinklephone.com/"
diff --git a/extra/akonadi/PKGBUILD b/extra/akonadi/PKGBUILD
index 4cef1ed2b..3e181dafa 100644
--- a/extra/akonadi/PKGBUILD
+++ b/extra/akonadi/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 122924 2011-05-07 10:20:40Z andrea $
+# $Id: PKGBUILD 124793 2011-05-24 13:10:03Z andrea $
 # Maintainer: Andrea Scarpino 
 # Contributor: Pierre Schmitz 
 
 pkgname=akonadi
 pkgver=1.5.3
-pkgrel=1
+pkgrel=2
 pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data"
 arch=('i686' 'x86_64')
 url='http://pim.kde.org/akonadi'
diff --git a/extra/avogadro/PKGBUILD b/extra/avogadro/PKGBUILD
index 3e20b8186..6f1a6baf5 100644
--- a/extra/avogadro/PKGBUILD
+++ b/extra/avogadro/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 120742 2011-04-26 09:43:00Z andrea $
+# $Id: PKGBUILD 124796 2011-05-24 13:18:50Z andrea $
 # Maintainer: Andrea Scarpino 
 # Contributor: Nick B 
 
 pkgname=avogadro
 pkgver=1.0.3
-pkgrel=1
+pkgrel=2
 pkgdesc="An advanced molecular editor based on Qt"
 arch=('i686' 'x86_64')
 url="http://avogadro.openmolecules.net/wiki/Main_Page"
 license=('GPL2')
-depends=('eigen' 'openbabel' 'python2-qt' 'boost-libs' 'glew' 'python2-numpy')
+depends=('eigen' 'openbabel' 'python2-pyqt' 'boost-libs' 'glew' 'python2-numpy')
 makedepends=('cmake' 'boost')
 source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
 md5sums=('92c2702c1980f70fb6d87a1a58147911')
diff --git a/extra/boost/PKGBUILD b/extra/boost/PKGBUILD
index d4f0c9c78..d95541e63 100644
--- a/extra/boost/PKGBUILD
+++ b/extra/boost/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 114691 2011-03-15 13:50:13Z andrea $
+# $Id: PKGBUILD 124783 2011-05-24 12:31:42Z ibiru $
 # Maintainer: kevin 
 # Contributor: Giovanni Scafora 
 # Contributor: Kritoke 
@@ -6,9 +6,9 @@
 
 pkgbase=boost
 pkgname=('boost-libs' 'boost')
-pkgver=1.46.0
+pkgver=1.46.1
 _boostver=${pkgver//./_}
-pkgrel=4
+pkgrel=1
 arch=('i686' 'x86_64')
 url="http://www.boost.org/"
 makedepends=('icu' 'python' 'python2' 'bzip2' 'zlib' 'openmpi')
@@ -16,7 +16,7 @@ source=(http://downloads.sourceforge.net/sourceforge/${pkgbase}/${pkgbase}_${_bo
         4994-compile-fix-for-Python32-v2.patch
         boost-1.46.0-spirit.patch)
 license=('custom')
-md5sums=('820393d5746553c192db7b81ba0e53fe'
+md5sums=('341e5d993b19d099bf1a548495ea91ec'
          'cb59e8adbf2a45ef9264a2f4ab92b849'
          '9d6e2f13fef23bf27d7bdddc104e182a')
 
diff --git a/extra/bzr/PKGBUILD b/extra/bzr/PKGBUILD
index 849d9913b..7ae96eb77 100644
--- a/extra/bzr/PKGBUILD
+++ b/extra/bzr/PKGBUILD
@@ -1,19 +1,18 @@
-# $Id: PKGBUILD 119485 2011-04-11 18:46:01Z eric $
+# $Id: PKGBUILD 124960 2011-05-25 12:48:29Z andrea $
 # Maintainer :
 # Contributor: Hugo Doria 
 
 pkgname=bzr
-pkgver=2.3.1
+pkgver=2.3.3
 pkgrel=1
 pkgdesc="A decentralized revision control system (bazaar)"
 arch=('i686' 'x86_64')
-url="http://www.bazaar-vcs.org"
+url="http://bazaar.canonical.com/en/"
 license=('GPL')
 depends=('python2')
 optdepends=('python-paramiko: for sftp support')
-source=(http://launchpad.net/bzr/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz)
-md5sums=('1a4367ce59a2880f321ecb882e195856')
-sha1sums=('49b9dfb5a01ffd87a120f8a7abf4833a482ba245')
+source=("http://launchpad.net/${pkgname}/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz")
+md5sums=('a8ca30af0431c691ce7e71a74497e31d')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
@@ -23,7 +22,7 @@ build() {
 
 package() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  python2 setup.py install --prefix=/usr --root="${pkgdir}"
+  python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1
 
   # bash-completion
   install -D -m644 contrib/bash/bzr "${pkgdir}/etc/bash_completion.d/bzr"
diff --git a/extra/claws-mail/PKGBUILD b/extra/claws-mail/PKGBUILD
index 7e3760798..09a8564f2 100644
--- a/extra/claws-mail/PKGBUILD
+++ b/extra/claws-mail/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 121163 2011-04-29 06:26:08Z andyrtr $
+# $Id: PKGBUILD 124918 2011-05-25 08:15:13Z ibiru $
 # Maintainer: Andreas Radke 
 
 pkgname=claws-mail
 pkgver=3.7.9
-pkgrel=2
+pkgrel=3
 pkgdesc="A GTK+ based e-mail client."
 arch=('i686' 'x86_64')
 license=('GPL3')
@@ -20,12 +20,17 @@ replaces=('sylpheed-claws')
 provides=('claws')
 options=(!libtool)
 install=claws-mail.install
-source=(http://downloads.sourceforge.net/sourceforge/sylpheed-claws/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('2f9d2dcabf84e312cfeb56efa799b5b3')
+source=(http://downloads.sourceforge.net/sourceforge/sylpheed-claws/${pkgname}-${pkgver}.tar.bz2
+        claws-notify-crash.patch)
+md5sums=('2f9d2dcabf84e312cfeb56efa799b5b3'
+         '9a2903449f679344b5f5f51c91825b45')
 
 build() {
   cd ${srcdir}/${pkgname}-${pkgver}
+
+  patch -Np0 -i $srcdir/claws-notify-crash.patch
   sed -i 's@^#!.*python.*@#!/usr/bin/python2@' tools/*.py
+
   ./configure --prefix=/usr --disable-static \
     --enable-enchant \
     --enable-gnutls \
diff --git a/extra/claws-mail/claws-notify-crash.patch b/extra/claws-mail/claws-notify-crash.patch
new file mode 100644
index 000000000..e1d4eb686
--- /dev/null
+++ b/extra/claws-mail/claws-notify-crash.patch
@@ -0,0 +1,18 @@
+Index: src/main.c
+===================================================================
+RCS file: //claws/src/main.c,v
+retrieving revision 1.115.2.237
+retrieving revision 1.115.2.238
+diff -u -r1.115.2.237 -r1.115.2.238
+--- src/main.c	10 Apr 2011 17:19:04 -0000	1.115.2.237
++++ src/main.c	30 Apr 2011 19:27:15 -0000	1.115.2.238
+@@ -331,7 +331,7 @@
+ 		gtk_widget_show(hack);
+ 	}
+ 
+-	xdisplay = gdk_display_get_default();
++	xdisplay = GDK_DISPLAY_XDISPLAY(gdk_display_get_default());
+ 	sn_display = sn_display_new(xdisplay,
+ 				sn_error_trap_push,
+ 				sn_error_trap_pop);
+
diff --git a/extra/ekiga/PKGBUILD b/extra/ekiga/PKGBUILD
index 1b9b69283..7d4d83910 100644
--- a/extra/ekiga/PKGBUILD
+++ b/extra/ekiga/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 122127 2011-05-02 09:20:52Z heftig $
+# $Id: PKGBUILD 124817 2011-05-24 15:39:18Z heftig $
 # Maintainer: Jan de Groot 
 # Contributor: Tom K 
 
 pkgname=ekiga
 pkgver=3.3.0
-pkgrel=3
+pkgrel=4
 pkgdesc="VOIP/Videoconferencing app with full SIP and H.323 support (GnomeMeeting expanded and renamed)"
 url="http://www.ekiga.org"
 license=(GPL)
diff --git a/extra/help2man/PKGBUILD b/extra/help2man/PKGBUILD
index 171eb100d..ee5284faf 100644
--- a/extra/help2man/PKGBUILD
+++ b/extra/help2man/PKGBUILD
@@ -1,17 +1,18 @@
-# $Id: PKGBUILD 116002 2011-03-22 15:28:48Z giovanni $
+# $Id: PKGBUILD 124968 2011-05-25 13:58:20Z giovanni $
 # Maintainer: Giovanni Scafora 
 # Contributor: Paul Mattal 
 
 pkgname=help2man
-pkgver=1.39.2
+pkgver=1.39.4
 pkgrel=1
 pkgdesc="Conversion tool to create man files"
 arch=('i686' 'x86_64')
 url="http://www.gnu.org/software/help2man/"
 license=('GPL')
 depends=('perl-locale-gettext')
+install=help2man.install
 source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-md5sums=('36659da3ba7a9a51813e1c4848900a28')
+md5sums=('6b1160697451ba87067231d172285840')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/help2man/help2man.install b/extra/help2man/help2man.install
new file mode 100644
index 000000000..ab6585b91
--- /dev/null
+++ b/extra/help2man/help2man.install
@@ -0,0 +1,18 @@
+info_dir=/usr/share/info
+info_files=(help2man.info)
+
+post_install() {
+  for f in ${info_files[@]}; do
+    install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+  done
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+  for f in ${info_files[@]}; do
+    install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+  done
+}
diff --git a/extra/hugin/PKGBUILD b/extra/hugin/PKGBUILD
index 23aa5c7e8..736aeb71b 100644
--- a/extra/hugin/PKGBUILD
+++ b/extra/hugin/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 112014 2011-03-03 05:10:44Z eric $
+# $Id: PKGBUILD 124912 2011-05-25 06:37:46Z eric $
 # Maintainer: Tobias Kieslich 
 # Contributor: Giovanni Scafora 
 # Contributor: Dominik Ryba 
 
 pkgname=hugin
 pkgver=2010.4.0
-pkgrel=2
+pkgrel=3
 pkgdesc="A frontend to the panorama-tools"
 arch=('i686' 'x86_64')
 url="http://hugin.sourceforge.net/"
@@ -14,13 +14,15 @@ depends=('wxgtk' 'libpano13' 'boost-libs' 'enblend-enfuse' 'exiv2' 'openexr'
          'autopano-sift-c' 'lapack' 'desktop-file-utils' 'make' 'perl-exiftool')
 makedepends=('zip' 'cmake' 'boost')
 install=${pkgname}.install
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('bfd716655461987312b2f2f00c90dcc5')
-sha1sums=('47f25c0a8b97c27108e567bcd22203c87f268d07')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2 hugin-gcc46.patch)
+md5sums=('bfd716655461987312b2f2f00c90dcc5'
+         '4393c7b31da60f230c85e63a6a2e43a0')
+sha1sums=('47f25c0a8b97c27108e567bcd22203c87f268d07'
+          '52798a155a037f853f41402f797e8a4cb6bb3e07')
 
 build() {
   cd "${srcdir}"
-
+  (cd ${pkgname}-${pkgver}; patch -p1 -i ../hugin-gcc46.patch)
   mkdir build && cd build
 
   cmake "${srcdir}/${pkgname}-${pkgver}" \
diff --git a/extra/hugin/hugin-gcc46.patch b/extra/hugin/hugin-gcc46.patch
new file mode 100644
index 000000000..98a70ad50
--- /dev/null
+++ b/extra/hugin/hugin-gcc46.patch
@@ -0,0 +1,16 @@
+
+diff -r 0377a1af6110 -r 1fc6ad6e7c7a src/foreign/vigra/vigra/multi_iterator.hxx
+--- a/src/foreign/vigra/vigra/multi_iterator.hxx	Mon Jun 25 16:36:21 2007 +0000
++++ b/src/foreign/vigra/vigra/multi_iterator.hxx	Tue Jan 25 21:14:13 2011 +0000
+@@ -41,6 +41,7 @@
+ #define VIGRA_MULTI_ITERATOR_HXX
+ 
+ #include 
++#include 
+ #include "tinyvector.hxx"
+ #include "iteratortags.hxx"
+ 
+
+
+
+
diff --git a/extra/kdeedu/PKGBUILD b/extra/kdeedu/PKGBUILD
index a5770014e..a5a24fb20 100644
--- a/extra/kdeedu/PKGBUILD
+++ b/extra/kdeedu/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 122727 2011-05-06 08:29:55Z andrea $
+# $Id: PKGBUILD 124802 2011-05-24 13:56:35Z andrea $
 # Maintainer: Andrea Scarpino 
 # Contributor: Pierre Schmitz 
 
@@ -26,7 +26,7 @@ pkgname=('kdeedu-blinken'
          'kdeedu-rocs'
          'kdeedu-step')
 pkgver=4.6.3
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 url='http://www.kde.org'
 license=('GPL' 'LGPL' 'FDL')
@@ -46,7 +46,6 @@ build() {
     cd ${srcdir}
 	mkdir build
 	cd build
-	# rpath is needed for cantor to find R
 	cmake ../${pkgbase}-${pkgver} \
 		-DCMAKE_BUILD_TYPE=Release \
 		-DCMAKE_SKIP_RPATH=OFF \
diff --git a/extra/libftdi/PKGBUILD b/extra/libftdi/PKGBUILD
index 8d89b2f88..b43d6ab53 100644
--- a/extra/libftdi/PKGBUILD
+++ b/extra/libftdi/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 101400 2010-11-29 04:43:52Z allan $
+# $Id: PKGBUILD 125350 2011-05-26 02:17:50Z eric $
 # Contributor: Tobias Powalowski 
 
 pkgname=libftdi
-pkgver=0.18
-pkgrel=2
+pkgver=0.19
+pkgrel=1
 pkgdesc="A library to talk to FTDI chips"
-arch=("i686" "x86_64")
+arch=('i686' 'x86_64')
 url="http://www.intra2net.com/en/developer/libftdi/download.php"
-license=("GPL2" "LGPL2.1")
-depends=('libusb-compat')
-makedepends=("boost")
+license=('GPL2' 'LGPL2.1')
+depends=('libusb-compat' 'gcc-libs')
+makedepends=('boost')
 options=('!libtool')
 source=("http://www.intra2net.com/en/developer/libftdi/download/$pkgname-$pkgver.tar.gz")
-md5sums=('916f65fa68d154621fc0cf1f405f2726')
-sha1sums=('52401db0e7cb90a5d83f82c2859a4f8d44e52579')
+md5sums=('e6e25f33b4327b1b7aa1156947da45f3')
+sha1sums=('0f08caf8e754ace69cd682489fae3f7f09920fe1')
 
 build() {
   cd "$srcdir/$pkgname-$pkgver"
diff --git a/extra/liborigin2/PKGBUILD b/extra/liborigin2/PKGBUILD
index 1944f0fe8..9d29118a9 100644
--- a/extra/liborigin2/PKGBUILD
+++ b/extra/liborigin2/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 112096 2011-03-03 20:59:03Z eric $
+# $Id: PKGBUILD 124976 2011-05-25 14:38:34Z ibiru $
 # Maintainer: Ronald van Haren 
 # Contributor: damir 
 
 pkgbase=liborigin2
 pkgname=('liborigin2' 'liborigin2-docs')
 pkgver=20100913
-pkgrel=3
+pkgrel=4
 arch=('i686' 'x86_64')
 url="http://soft.proindependent.com/liborigin2/"
 license=('GPL3')
diff --git a/extra/libpst/PKGBUILD b/extra/libpst/PKGBUILD
index ea581fe03..614c58ea4 100644
--- a/extra/libpst/PKGBUILD
+++ b/extra/libpst/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 112025 2011-03-03 09:42:31Z eric $
+# $Id: PKGBUILD 124979 2011-05-25 14:53:00Z ibiru $
 # Maintainer: Jan de Groot 
 
 pkgbase=libpst
 pkgname=('libpst' 'libpst-docs')
 pkgver=0.6.49
-pkgrel=2
+pkgrel=3
 arch=('i686' 'x86_64')
 url="http://www.five-ten-sg.com/libpst/"
 license=('GPL')
diff --git a/extra/libtorrent-rasterbar/PKGBUILD b/extra/libtorrent-rasterbar/PKGBUILD
index 44968f451..275c56431 100644
--- a/extra/libtorrent-rasterbar/PKGBUILD
+++ b/extra/libtorrent-rasterbar/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 120130 2011-04-20 11:35:26Z ibiru $
+# $Id: PKGBUILD 124787 2011-05-24 12:59:08Z ibiru $
 # Maintainer : Ionut Biru 
 # Contributor: Hugo Doria 
 
 pkgname=libtorrent-rasterbar
 pkgver=0.15.6
-pkgrel=1
+pkgrel=2
 pkgdesc="A C++ library that aims to be a good alternative to all the other bittorrent implementations around"
 url="http://www.rasterbar.com/products/libtorrent/"
 arch=('i686' 'x86_64')
diff --git a/extra/lyx/PKGBUILD b/extra/lyx/PKGBUILD
index dec0a4419..ad728c47b 100644
--- a/extra/lyx/PKGBUILD
+++ b/extra/lyx/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 112021 2011-03-03 08:05:12Z eric $
+# $Id: PKGBUILD 124982 2011-05-25 15:39:01Z ibiru $
 # Maintainer: Ronald van Haren 
 # Contributor: Jason Chu 
 
 pkgname=lyx
-pkgver=1.6.9
-pkgrel=2
+pkgver=1.6.10
+pkgrel=1
 pkgdesc="An advanced open-source document processor."
 arch=('i686' 'x86_64')
 url="http://www.lyx.org"
@@ -12,14 +12,15 @@ depends=('qt' 'texlive-core' 'python2' 'perl' 'imagemagick' 'aspell' 'aiksaurus'
 makedepends=('boost')
 license=('GPL')
 source=(ftp://ftp.lyx.org/pub/lyx/stable/1.6.x/$pkgname-$pkgver.tar.bz2 \
-	lyx.desktop)
-sha1sums=('a1acacc8a26546542e32977ae222e811c98b1ca4'
+        lyx.desktop)
+sha1sums=('344e14897ea7d004bf181eac39355f1b08f0af83'
           'e207a0b14d58aeb7b83f8fc47ab2e668cbc66844')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   find . -type f -exec sed -i 's|#!.*python|#!/usr/bin/env python2|' {} +
   sed -i 's|"python|"python2|' lib/configure.py src/support/os.cpp
+  export CXXFLAGS="$CXXFLAGS -fpermissive"
   ./configure --prefix=/usr \
     --with-frontend=qt4 --without-included-boost
   make
diff --git a/extra/mkvtoolnix/PKGBUILD b/extra/mkvtoolnix/PKGBUILD
index f0d957de4..6b609da9d 100644
--- a/extra/mkvtoolnix/PKGBUILD
+++ b/extra/mkvtoolnix/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 124863 2011-05-24 19:57:14Z giovanni $
+# $Id: PKGBUILD 124985 2011-05-25 16:04:09Z ibiru $
 # Maintainer: Giovanni Scafora 
 # Contributor: 03/08/04 
 
 pkgname=mkvtoolnix
 pkgver=4.8.0
-pkgrel=1
+pkgrel=2
 pkgdesc="Set of tools to create, edit and inspect Matroska files"
 arch=('i686' 'x86_64')
 license=('GPL')
diff --git a/extra/neon/PKGBUILD b/extra/neon/PKGBUILD
index c0fe650cf..3e908b618 100644
--- a/extra/neon/PKGBUILD
+++ b/extra/neon/PKGBUILD
@@ -1,29 +1,32 @@
-# $Id: PKGBUILD 121086 2011-04-29 00:26:05Z stephane $
+# $Id: PKGBUILD 124952 2011-05-25 12:20:04Z andrea $
+# Maintainer:
 # Contributor: Tom Newsom 
-# Maintainer: Juergen Hoetzel 
+# Contributor: Juergen Hoetzel 
 
-# KEEP LIBTOOL FILES!
 pkgname=neon
-pkgver=0.29.3
-pkgrel=3
+pkgver=0.29.6
+pkgrel=1
 pkgdesc="HTTP and WebDAV client library with a C interface"
 arch=('i686' 'x86_64')
 license=('GPL' 'LGPL')
 depends=('krb5' 'expat' 'ca-certificates')
 url="http://www.webdav.org/neon/"
-source=("http://www.webdav.org/neon/${pkgname}-${pkgver}.tar.gz")
-md5sums=('ba1015b59c112d44d7797b62fe7bee51')
-options=('libtool')
+source=("http://www.webdav.org/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('591e0c82e6979e7e615211b386b8f6bc')
+options=('libtool') # FS#16067
 
 build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
+  cd "${srcdir}"/${pkgname}-${pkgver}
   ./configure --prefix=/usr \
-    --with-expat --enable-shared --disable-static \
-    --with-ssl=openssl --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
+    --with-expat \
+    --enable-shared \
+    --disable-static \
+    --with-ssl=openssl \
+    --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
   make
 }
 
 package() {
-  cd ${srcdir}/${pkgname}-${pkgver}
-  make DESTDIR=${pkgdir} install
+  cd "${srcdir}"/${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
 }
diff --git a/extra/pidgin/PKGBUILD b/extra/pidgin/PKGBUILD
index f58b92149..05883a1d8 100644
--- a/extra/pidgin/PKGBUILD
+++ b/extra/pidgin/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 123134 2011-05-08 21:15:31Z foutrelis $
+# $Id: PKGBUILD 124929 2011-05-25 09:33:46Z foutrelis $
 # Maintainer: Evangelos Foutras 
 # Contributor: Ionut Biru 
 # Contributor: Andrea Scarpino 
@@ -7,7 +7,7 @@
 
 pkgname=('pidgin' 'libpurple' 'finch')
 pkgver=2.7.11
-pkgrel=3
+pkgrel=5
 arch=('i686' 'x86_64')
 url="http://pidgin.im/"
 license=('GPL')
@@ -16,12 +16,22 @@ makedepends=('startup-notification' 'gtkspell' 'libxss' 'nss' 'libsasl' 'libsm'
              'farsight2' 'avahi' 'tk' 'ca-certificates' 'intltool'
              'networkmanager')
 options=('!libtool')
-source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2)
-md5sums=('07c2a2535b4d7436b5ec7685fe063fec')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2
+        nm09-pidgin.patch
+        nm09-more.patch)
+md5sums=('07c2a2535b4d7436b5ec7685fe063fec'
+         '744a21b4dbaf949dba7cd3b75b12b4fe'
+         'a673659d86c7a65aa710f7c8c7feda82')
 
 build() {
   cd "$srcdir/$pkgname-$pkgver"
 
+  # Update for NetworkManager 0.9 connection states
+  # (http://developer.pidgin.im/ticket/13505)
+  # (http://developer.pidgin.im/ticket/13859)
+  patch -Np1 -i "$srcdir/nm09-pidgin.patch"
+  patch -Np1 -i "$srcdir/nm09-more.patch"
+
   # Use Python 2
   sed -i 's/env python$/\02/' */plugins/*.py \
     libpurple/purple-{remote,notifications-example,url-handler}
@@ -51,7 +61,7 @@ package_pidgin(){
   install=pidgin.install
 
   cd "$srcdir/pidgin-$pkgver"
-  
+
   # For linking
   make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES
 
@@ -72,7 +82,7 @@ package_libpurple(){
            'cyrus-sasl-plugins')
   optdepends=('avahi: Bonjour protocol support'
               'dbus-python: for purple-remote and purple-url-handler')
-  
+
   cd "$srcdir/pidgin-$pkgver"
 
   for _dir in libpurple share/sounds share/ca-certs m4macros po; do
@@ -100,3 +110,5 @@ package_finch(){
 
   rm "$pkgdir"/usr/share/man/man1/pidgin.1
 }
+
+# vim:set ts=2 sw=2 et:
diff --git a/extra/pidgin/nm09-more.patch b/extra/pidgin/nm09-more.patch
new file mode 100644
index 000000000..8c708df9a
--- /dev/null
+++ b/extra/pidgin/nm09-more.patch
@@ -0,0 +1,49 @@
+diff -up pidgin-2.7.11/libpurple/network.c.nm09more pidgin-2.7.11/libpurple/network.c
+--- pidgin-2.7.11/libpurple/network.c.nm09more	2011-04-26 12:01:27.700085246 -0500
++++ pidgin-2.7.11/libpurple/network.c	2011-05-24 13:13:28.185165657 -0500
+@@ -833,8 +833,20 @@ purple_network_is_available(void)
+ 			purple_debug_warning("network", "NetworkManager not active. Assuming connection exists.\n");
+ 	}
+ 
+-	if (nm_state == NM_STATE_UNKNOWN || nm_state == NM_STATE_CONNECTED)
+-		return TRUE;
++	switch (nm_state)
++	{
++		case NM_STATE_UNKNOWN:
++#if NM_CHECK_VERSION(0,8,992)
++		case NM_STATE_CONNECTED_LOCAL:
++		case NM_STATE_CONNECTED_SITE:
++		case NM_STATE_CONNECTED_GLOBAL:
++#else
++		case NM_STATE_CONNECTED:
++#endif
++			return TRUE;
++		default:
++			break;
++	}
+ 
+ 	return FALSE;
+ 
+@@ -1170,9 +1182,14 @@ purple_network_init(void)
+ 		                                     NM_DBUS_SERVICE,
+ 		                                     NM_DBUS_PATH,
+ 		                                     NM_DBUS_INTERFACE);
++		/* NM 0.6 signal */
+ 		dbus_g_proxy_add_signal(nm_proxy, "StateChange", G_TYPE_UINT, G_TYPE_INVALID);
+ 		dbus_g_proxy_connect_signal(nm_proxy, "StateChange",
+ 		                            G_CALLBACK(nm_state_change_cb), NULL, NULL);
++		/* NM 0.7 and later signal */
++		dbus_g_proxy_add_signal(nm_proxy, "StateChanged", G_TYPE_UINT, G_TYPE_INVALID);
++		dbus_g_proxy_connect_signal(nm_proxy, "StateChanged",
++		                            G_CALLBACK(nm_state_change_cb), NULL, NULL);
+ 
+ 		dbus_proxy = dbus_g_proxy_new_for_name(nm_conn,
+ 		                                       DBUS_SERVICE_DBUS,
+@@ -1207,6 +1224,7 @@ purple_network_uninit(void)
+ #ifdef HAVE_NETWORKMANAGER
+ 	if (nm_proxy) {
+ 		dbus_g_proxy_disconnect_signal(nm_proxy, "StateChange", G_CALLBACK(nm_state_change_cb), NULL);
++		dbus_g_proxy_disconnect_signal(nm_proxy, "StateChanged", G_CALLBACK(nm_state_change_cb), NULL);
+ 		g_object_unref(G_OBJECT(nm_proxy));
+ 	}
+ 	if (dbus_proxy) {
diff --git a/extra/pidgin/nm09-pidgin.patch b/extra/pidgin/nm09-pidgin.patch
new file mode 100644
index 000000000..1c2471d1f
--- /dev/null
+++ b/extra/pidgin/nm09-pidgin.patch
@@ -0,0 +1,38 @@
+diff -up pidgin-2.7.10/libpurple/network.c.foo pidgin-2.7.10/libpurple/network.c
+--- pidgin-2.7.10/libpurple/network.c.foo	2011-03-10 02:21:43.920933267 -0600
++++ pidgin-2.7.10/libpurple/network.c	2011-03-10 02:23:11.466838793 -0600
+@@ -71,6 +71,10 @@
+ #include 
+ #include 
+ 
++#if !defined(NM_CHECK_VERSION)
++#define NM_CHECK_VERSION(x,y,z) 0
++#endif
++
+ static DBusGConnection *nm_conn = NULL;
+ static DBusGProxy *nm_proxy = NULL;
+ static DBusGProxy *dbus_proxy = NULL;
+@@ -863,7 +867,13 @@ nm_update_state(NMState state)
+ 
+ 	switch(state)
+ 	{
++#if NM_CHECK_VERSION(0,8,992)
++		case NM_STATE_CONNECTED_LOCAL:
++		case NM_STATE_CONNECTED_SITE:
++		case NM_STATE_CONNECTED_GLOBAL:
++#else
+ 		case NM_STATE_CONNECTED:
++#endif
+ 			/* Call res_init in case DNS servers have changed */
+ 			res_init();
+ 			/* update STUN IP in case we it changed (theoretically we could
+@@ -880,6 +890,9 @@ nm_update_state(NMState state)
+ 		case NM_STATE_ASLEEP:
+ 		case NM_STATE_CONNECTING:
+ 		case NM_STATE_DISCONNECTED:
++#if NM_CHECK_VERSION(0,8,992)
++		case NM_STATE_DISCONNECTING:
++#endif
+ 			if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
+ 				break;
+ 			if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
diff --git a/extra/source-highlight/PKGBUILD b/extra/source-highlight/PKGBUILD
index 4846c97f0..144077a2b 100644
--- a/extra/source-highlight/PKGBUILD
+++ b/extra/source-highlight/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 111993 2011-03-02 22:17:55Z ibiru $
+# $Id: PKGBUILD 124988 2011-05-25 16:07:54Z ibiru $
 # Maintainer: Giovanni Scafora 
 # Contributor: Douglas Soares de Andrade 
 
 pkgname=source-highlight
 pkgver=3.1.4
-pkgrel=2
+pkgrel=3
 pkgdesc="Convert source code to syntax highlighted document"
 arch=('i686' 'x86_64')
 url="http://www.gnu.org/software/src-highlite/"
diff --git a/extra/vigra/PKGBUILD b/extra/vigra/PKGBUILD
index 88bd5696b..0f4d40330 100644
--- a/extra/vigra/PKGBUILD
+++ b/extra/vigra/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 112123 2011-03-04 03:09:16Z eric $
+# $Id: PKGBUILD 124991 2011-05-25 16:14:08Z ibiru $
 # Maintainer: AndyRTR 
 # Contributor: Lukas Jirkovsky 
 
 pkgname=vigra
-pkgver=1.7.0
-pkgrel=6
+pkgver=1.7.1
+pkgrel=2
 pkgdesc="Computer vision library"
 arch=('i686' 'x86_64')
 url="http://hci.iwr.uni-heidelberg.de/vigra/"
@@ -14,13 +14,14 @@ makedepends=('cmake' 'python-nose' 'doxygen' 'python-sphinx' 'boost' 'python-num
 optdepends=('python2: for python bindings'
             'boost-libs: for python bindings')
 options=('!libtool')
-source=(http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/${pkgname}-${pkgver}-src.tar.gz libpng-1.4.patch)
-md5sums=('a40b3b013653f75dc84ba55b2df1fae2' 'db610e48558eb323490ad21d636bac76')
-sha1sums=('31875646cbb1928d93c96fc4da4fda31772cf8f6' '5f668c861f5fe927a4f51014afab94805db60c46')
+source=(http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/${pkgname}-${pkgver}-src.tar.gz
+	vigra-1.7.1.gcc460.patch)
+md5sums=('2bde208e0fd7626770169dd4fa097282'
+         '25ef8bc26bc38ee67e5b512d2acd0166')
 
 build() {
-  cd "${srcdir}"/${pkgname}-${pkgver}-src
-  patch -p1 < ../libpng-1.4.patch
+  cd "${srcdir}"/${pkgname}-${pkgver}
+  patch -Np1 -i ${srcdir}/vigra-1.7.1.gcc460.patch
   cmake -DCMAKE_INSTALL_PREFIX=/usr \
       -DWITH_VIGRANUMPY=1 \
       -DDOCINSTALL=share/doc 
@@ -28,7 +29,7 @@ build() {
 }
 
 package() {
-  cd "${srcdir}"/${pkgname}-${pkgver}-src
+  cd "${srcdir}"/${pkgname}-${pkgver}
   make DESTDIR="${pkgdir}" install
   # license
   install -D -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
diff --git a/extra/vigra/vigra-1.7.1.gcc460.patch b/extra/vigra/vigra-1.7.1.gcc460.patch
new file mode 100644
index 000000000..46f194dbc
--- /dev/null
+++ b/extra/vigra/vigra-1.7.1.gcc460.patch
@@ -0,0 +1,33 @@
+diff -baur vigra-1.7.1.old/include/vigra/random_forest.hxx vigra-1.7.1/include/vigra/random_forest.hxx
+--- vigra-1.7.1.old/include/vigra/random_forest.hxx	2010-12-03 17:40:34.000000000 +0000
++++ vigra-1.7.1/include/vigra/random_forest.hxx	2011-01-28 00:16:32.000000000 +0000
+@@ -43,6 +43,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ #include "mathutil.hxx"
+ #include "array_vector.hxx"
+ #include "sized_int.hxx"
+diff -baur vigra-1.7.1.old/include/vigra/sifImport.hxx vigra-1.7.1/include/vigra/sifImport.hxx
+--- vigra-1.7.1.old/include/vigra/sifImport.hxx	2010-12-03 17:40:34.000000000 +0000
++++ vigra-1.7.1/include/vigra/sifImport.hxx	2011-01-28 00:23:31.000000000 +0000
+@@ -57,6 +57,7 @@
+ #include 
+ #include 
+ #include  
++#include 
+ #include "vigra/multi_array.hxx"
+ 
+ namespace vigra {
+diff -baur vigra-1.7.1.old/include/vigra/multi_iterator.hxx vigra-1.7.1/include/vigra/multi_iterator.hxx
+--- vigra-1.7.1.old/include/vigra/multi_iterator.hxx	2010-12-03 17:40:34.000000000 +0000
++++ vigra-1.7.1/include/vigra/multi_iterator.hxx	2011-01-28 00:23:31.000000000 +0000
+@@ -41,6 +41,7 @@
+ #define VIGRA_MULTI_ITERATOR_HXX
+ 
+ #include 
++#include 
+ #include "tinyvector.hxx"
+ #include "iteratortags.hxx"
+ 
diff --git a/extra/wesnoth/PKGBUILD b/extra/wesnoth/PKGBUILD
index a60a35818..67a9f56de 100644
--- a/extra/wesnoth/PKGBUILD
+++ b/extra/wesnoth/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 112017 2011-03-03 06:20:54Z eric $
+# $Id: PKGBUILD 125126 2011-05-25 17:01:35Z ibiru $
 # Maintainer: Jan de Groot 
 # Contributor: Tobias Powalowski 
 # Contributor: Jacobo Arvelo 
 # Contributor: Douglas Soares de Andrade 
 
 pkgname=wesnoth
-pkgver=1.8.5
-pkgrel=3
+pkgver=1.8.6
+pkgrel=1
 pkgdesc="A turn-based strategy game on a fantasy world"
 arch=('i686' 'x86_64')
 license=('GPL')
@@ -16,7 +16,7 @@ makedepends=('boost')
 install=wesnoth.install
 source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2
         wesnoth-libpng-1.4.0.patch)
-md5sums=('a800285d1406690755dd0ea22b98b6df'
+md5sums=('f1c3179869b01b61e253e74aeb241034'
          'ca7412ffc4682ef55ddf82d56b0e2f08')
 
 build() {
diff --git a/kde-unstable/akonadi/PKGBUILD b/kde-unstable/akonadi/PKGBUILD
index 52f2939bd..c19e6d4ce 100644
--- a/kde-unstable/akonadi/PKGBUILD
+++ b/kde-unstable/akonadi/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 124449 2011-05-21 11:40:47Z andrea $
+# $Id: PKGBUILD 125234 2011-05-25 19:13:14Z andrea $
 # Maintainer: Andrea Scarpino 
 # Contributor: Pierre Schmitz 
 
 pkgname=akonadi
 pkgver=1.5.80
-pkgrel=1
+pkgrel=2
 pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data"
 arch=('i686' 'x86_64')
 url='http://pim.kde.org/akonadi'
diff --git a/kde-unstable/kdeaccessibility/PKGBUILD b/kde-unstable/kdeaccessibility/PKGBUILD
new file mode 100644
index 000000000..37fe2397e
--- /dev/null
+++ b/kde-unstable/kdeaccessibility/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 124844 2011-05-24 18:14:06Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdeaccessibility
+pkgname=('kdeaccessibility-jovie'
+         'kdeaccessibility-kaccessible'
+         'kdeaccessibility-kmag'
+         'kdeaccessibility-kmousetool'
+         'kdeaccessibility-kmouth')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://accessibility.kde.org'
+license=('GPL' 'FDL')
+groups=('kde' 'kdeaccessibility')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdelibs' 'speech-dispatcher')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
+sha1sums=('a8d4ca99dadc9439b6a1ee91645527f954665cb1')
+
+build() {
+	cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../${pkgbase}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+        -DWITH_Opentts=OFF
+	make
+}
+
+package_kdeaccessibility-jovie() {
+	pkgdesc='A text to speech application'
+	depends=('kdebase-runtime' 'speech-dispatcher')
+    replaces=('kdeaccessibility-kttsd')
+	install='kdeaccessibility.install'
+	cd $srcdir/build/jovie
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/jovie/doc
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeaccessibility-kaccessible() {
+    pkgdesc='Provides accessibility services like focus tracking and a screenreader'
+    depends=('kdebase-runtime' 'speech-dispatcher')
+	install='kdeaccessibility.install'
+    cd $srcdir/build/kaccessible
+    make DESTDIR=$pkgdir install
+}
+
+package_kdeaccessibility-kmag() {
+	pkgdesc='Screen Magnifier'
+	depends=('kdebase-runtime')
+	url="http://kde.org/applications/utilities/kmag/"
+	install='kdeaccessibility.install'
+	cd $srcdir/build/kmag
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/kmag/doc
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeaccessibility-kmousetool() {
+	pkgdesc='Clicks the mouse for you, reducing the effects of RSI'
+	depends=('kdebase-runtime')
+	url="http://kde.org/applications/utilities/kmousetool/"
+	install='kdeaccessibility.install'
+	cd $srcdir/build/kmousetool
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/kmousetool/doc
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeaccessibility-kmouth() {
+	pkgdesc='Speech Synthesizer Frontend'
+	depends=('kdebase-runtime')
+	url="http://kde.org/applications/utilities/kmouth/"
+	install='kdeaccessibility.install'
+	cd $srcdir/build/kmouth
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/kmouth/doc
+	make DESTDIR=$pkgdir install
+}
diff --git a/kde-unstable/kdeaccessibility/kdeaccessibility.install b/kde-unstable/kdeaccessibility/kdeaccessibility.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeaccessibility/kdeaccessibility.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeadmin/PKGBUILD b/kde-unstable/kdeadmin/PKGBUILD
new file mode 100644
index 000000000..ceac7ec49
--- /dev/null
+++ b/kde-unstable/kdeadmin/PKGBUILD
@@ -0,0 +1,77 @@
+# $Id: PKGBUILD 124778 2011-05-24 11:55:25Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdeadmin
+pkgname=('kdeadmin-kcron'
+         'kdeadmin-ksystemlog'
+         'kdeadmin-kuser'
+         'kdeadmin-system-config-printer-kde')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeadmin')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebindings-python'
+	         'system-config-printer-common')
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
+        'syslog-path.patch')
+sha1sums=('ceb0ccd2d24b64770f6ac7649d312937a09a17e2'
+          '20095ce6e0f3e5b6800a7c6e52de6fddba62c031')
+
+build() {
+	cd ${srcdir}/${pkgbase}-${pkgver}
+	patch -p1 -i ${srcdir}/syslog-path.patch
+
+	cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../${pkgbase}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+		-DBUILD_strigi-analyzer=OFF
+	make
+}
+
+package_kdeadmin-kcron() {
+	pkgdesc='Configure and schedule tasks'
+	depends=('kdelibs')
+	cd $srcdir/build/kcron
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kcron
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeadmin-ksystemlog() {
+	pkgdesc='System log viewer tool'
+	depends=('kdebase-runtime')
+	url="http://kde.org/applications/system/ksystemlog/"
+	cd $srcdir/build/ksystemlog
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/ksystemlog
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeadmin-kuser() {
+	pkgdesc='User Manager'
+	depends=('kdepim-runtime')
+	url="http://kde.org/applications/system/kuser/"
+	install='kdeadmin.install'
+	cd $srcdir/build/kuser
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kuser
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeadmin-system-config-printer-kde() {
+	pkgdesc='Configure local and remote Printers'
+	depends=('kdebindings-python' 'system-config-printer-common' 'python2-pyqt')
+	url="http://kde.org/applications/system/printerapplet/"
+	cd $srcdir/build/system-config-printer-kde
+	make DESTDIR=$pkgdir install
+
+    # Use the python2 executable
+    find ${pkgdir} -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
+}
diff --git a/kde-unstable/kdeadmin/kdeadmin.install b/kde-unstable/kdeadmin/kdeadmin.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeadmin/kdeadmin.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeadmin/syslog-path.patch b/kde-unstable/kdeadmin/syslog-path.patch
new file mode 100644
index 000000000..8a9142bf6
--- /dev/null
+++ b/kde-unstable/kdeadmin/syslog-path.patch
@@ -0,0 +1,11 @@
+--- kdeadmin-4.6.0/ksystemlog/src/modes/system/systemConfiguration.h~	2011-01-27 14:24:29.840000005 +0100
++++ kdeadmin-4.6.0/ksystemlog/src/modes/system/systemConfiguration.h	2011-01-27 14:24:53.803333335 +0100
+@@ -39,7 +39,7 @@
+ 		SystemConfiguration() :
+ 			GenericLogModeConfiguration(
+ 					QLatin1String( SYSTEM_LOG_MODE_ID ),
+-					QStringList() << QLatin1String( "/var/log/syslog" ),
++					QStringList() << QLatin1String( "/var/log/messages.log" ),
+ 					QList() << INFORMATION_LOG_LEVEL_ID
+ 			) {
+ 
diff --git a/kde-unstable/kdeartwork/PKGBUILD b/kde-unstable/kdeartwork/PKGBUILD
new file mode 100644
index 000000000..0118d8b45
--- /dev/null
+++ b/kde-unstable/kdeartwork/PKGBUILD
@@ -0,0 +1,104 @@
+# $Id: PKGBUILD 124845 2011-05-24 18:14:29Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdeartwork
+pkgname=('kdeartwork-aurorae'
+         'kdeartwork-colorschemes'
+         'kdeartwork-desktopthemes'
+         'kdeartwork-emoticons'
+         'kdeartwork-iconthemes'
+         'kdeartwork-kscreensaver'
+         'kdeartwork-sounds'
+         'kdeartwork-styles'
+         'kdeartwork-wallpapers'
+         'kdeartwork-weatherwallpapers')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeartwork')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'xscreensaver' 'eigen'
+	         'kdebase-workspace' 'libkexiv2')
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
+sha1sums=('70c5274f2c933b87c10a1ae53eb6971ae3887e87')
+
+build() {
+	cd $srcdir
+	mkdir build
+	cd build
+	cmake ../${pkgbase}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr
+	make
+}
+
+package_kdeartwork-aurorae() {
+	pkgdesc='An Aurorae theme based on the Oxygen plasma theme'
+	cd $srcdir/build/aurorae
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeartwork-colorschemes() {
+	pkgdesc='KDE color schemes'
+    replaces=('kdeaccessibility-colorschemes')
+	cd $srcdir/build/ColorSchemes
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeartwork-desktopthemes() {
+	pkgdesc='KDE desktop themes'
+	cd $srcdir/build/desktopthemes
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeartwork-emoticons() {
+	pkgdesc='KDE emoticons'
+	cd $srcdir/build/emoticons
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeartwork-iconthemes() {
+	pkgdesc='KDE icon themes'
+    replaces=('kdeaccessibility-iconthemes')
+	cd $srcdir/build/IconThemes
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeartwork-kscreensaver() {
+	pkgdesc='KDE screensaver'
+	depends=('kdebase-workspace' 'libkexiv2')
+	cd $srcdir/build/kscreensaver
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeartwork-sounds() {
+	pkgdesc='KDE sounds'
+	cd $srcdir/build/sounds
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeartwork-styles() {
+	pkgdesc='KDE styles'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/styles
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/kwin-styles
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeartwork-wallpapers() {
+	pkgdesc='KDE wallpapers'
+	cd $srcdir/build/wallpapers
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/HighResolutionWallpapers
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeartwork-weatherwallpapers() {
+	pkgdesc='KDE weather wallpapers'
+	cd $srcdir/build/WeatherWallpapers
+	make DESTDIR=$pkgdir install
+}
diff --git a/kde-unstable/kdebase-konsole/PKGBUILD b/kde-unstable/kdebase-konsole/PKGBUILD
new file mode 100644
index 000000000..105e3dc39
--- /dev/null
+++ b/kde-unstable/kdebase-konsole/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124800 2011-05-24 13:26:15Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebase-konsole
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://kde.org/applications/system/konsole/'
+pkgdesc="Terminal"
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebase')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+source=("http://download.kde.org/unstable/${pkgver}/src/konsole-${pkgver}.tar.bz2")
+sha1sums=('7e7b5a0b37ae4d22e51a61f70afccbba86a93921')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../konsole-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdebase-runtime/PKGBUILD b/kde-unstable/kdebase-runtime/PKGBUILD
new file mode 100644
index 000000000..41d9de7c2
--- /dev/null
+++ b/kde-unstable/kdebase-runtime/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 124658 2011-05-23 19:42:48Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgname=kdebase-runtime
+_pkgname=kde-runtime
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="KDE Base Runtime Environment"
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL')
+depends=('kdelibs' 'ntrack' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons'
+        'xorg-xauth' 'hicolor-icon-theme' 'libqzeitgeist')
+makedepends=('pkg-config' 'cmake' 'automoc4' 'kdepimlibs' 'openslp' 'xine-lib')
+optdepends=('htdig: to build the search index in khelpcenter'
+            'rarian: needed by khelpcenter'
+            'gdb: drkonq crash handler')
+install="${pkgname}.install"
+source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.bz2")
+sha1sums=('5d06c11f43beb21ebf6c47d2a7addcbe710e019e')
+
+build() {
+	cd "${srcdir}"
+	mkdir build
+	cd build
+	cmake ../${_pkgname}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr
+	make
+}
+
+package() {
+	cd "$srcdir/build"
+	make DESTDIR="$pkgdir" install
+	rm -f "${pkgdir}/usr/share/icons/hicolor/index.theme"
+	ln -sf /usr/lib/kde4/libexec/kdesu "${pkgdir}/usr/bin/"
+}
diff --git a/kde-unstable/kdebase-runtime/kdebase-runtime.install b/kde-unstable/kdebase-runtime/kdebase-runtime.install
new file mode 100644
index 000000000..3f06b8deb
--- /dev/null
+++ b/kde-unstable/kdebase-runtime/kdebase-runtime.install
@@ -0,0 +1,12 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+	update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdebase-workspace/PKGBUILD b/kde-unstable/kdebase-workspace/PKGBUILD
new file mode 100644
index 000000000..e1763778b
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/PKGBUILD
@@ -0,0 +1,76 @@
+# $Id: PKGBUILD 124944 2011-05-25 10:38:26Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgname=kdebase-workspace
+_pkgname=kde-workspace
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="KDE Base Workspace"
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde')
+# note on libxdamage:
+# 	not detected by namcap because libgl depends on it
+#	but nvidia providing libgl does not depend on libxdamage
+depends=('kdepim-runtime' 'lm_sensors' 'libraw1394'  'libqalculate' 'qimageblitz'
+         'polkit-kde' 'consolekit' 'xorg-xprop' 'libxdamage' 'libxklavier' 'libdmtx'
+         'xorg-xsetroot' 'libxcomposite' 'libxinerama' 'libgles' 'kde-wallpapers')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdebindings-python')
+replaces=('kdmtheme' 'kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter')
+conflicts=('kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter')
+install="${pkgname}.install"
+backup=('usr/share/config/kdm/kdmrc'
+        'etc/pam.d/kde'
+        'etc/pam.d/kde-np'
+        'etc/pam.d/kscreensaver')
+options=('emptydirs')
+source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.bz2"
+        'kdm-zsh-profile.patch' 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam'
+        'fixpath.patch' 'terminate-server.patch')
+sha1sums=('99bf68ee90c4cfa3568527a55c7c68d4247d9b13'
+          '8c2bdefb23a03b753b78d16944d03fa3939d2d99'
+          '5db3a245201bd4a50e65aa2ef583cf5490e4f646'
+          'f7b38af38549242a240f1a90ab9964ca8a366129'
+          '603cc79c4d2b4eae62bb5f244aeecb3a778b5516'
+          '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
+          'd7b5883f7e65c6839b1f65f94d58026673dd0226'
+          'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee')
+
+build() {
+	cd ${srcdir}/${_pkgname}-${pkgver}
+	patch -p0 -i ${srcdir}/kdm-zsh-profile.patch
+	patch -p0 -i ${srcdir}/fixpath.patch
+	patch -p0 -i ${srcdir}/terminate-server.patch
+
+	cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../${_pkgname}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+		-DWITH_Xmms=OFF \
+		-DWITH_Googlegadgets=OFF \
+		-DWITH_libgps=OFF \
+		-DWITH_Prison=OFF \
+        -DWITH_NetworkManager=OFF \
+		-DKWIN_MOBILE_EFFECTS=OFF
+	make
+}
+
+package() {
+	cd $srcdir/build
+	make DESTDIR=$pkgdir install
+
+	install -D -m755 ${srcdir}/kdm ${pkgdir}/etc/rc.d/kdm
+	install -D -m644 ${srcdir}/kde.pam ${pkgdir}/etc/pam.d/kde
+	install -D -m644 ${srcdir}/kde-np.pam ${pkgdir}/etc/pam.d/kde-np
+	install -D -m644 ${srcdir}/kscreensaver.pam ${pkgdir}/etc/pam.d/kscreensaver
+	install -d -m755 ${pkgdir}/usr/share/xsessions/
+	ln -sf /usr/share/apps/kdm/sessions/kde-plasma{,-safe}.desktop ${pkgdir}/usr/share/xsessions/
+	install -d -m755 ${pkgdir}/etc/kde/{env,shutdown}
+
+	install -d -g 135 -o 135 ${pkgdir}/var/lib/kdm
+}
diff --git a/kde-unstable/kdebase-workspace/fixpath.patch b/kde-unstable/kdebase-workspace/fixpath.patch
new file mode 100644
index 000000000..be2b8383e
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/fixpath.patch
@@ -0,0 +1,34 @@
+--- startkde.cmake.orig	2009-01-15 14:24:44.000000000 +0100
++++ startkde.cmake	2009-01-15 14:33:08.000000000 +0100
+@@ -34,22 +34,6 @@
+ MALLOC_CHECK_=2 
+ export MALLOC_CHECK_
+ 
+-# in case we have been started with full pathname spec without being in PATH
+-bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'`
+-if [ -n "$bindir" ]; then
+-  qbindir=`$bindir/kde4-config --qt-binaries`
+-  if [ -n "$qbindir" ]; then
+-    case $PATH in
+-      $qbindir|$qbindir:*|*:$qbindir|*:$qbindir:*) ;;
+-      *) PATH=$qbindir:$PATH; export PATH;;
+-    esac
+-  fi
+-  case $PATH in
+-    $bindir|$bindir:*|*:$bindir|*:$bindir:*) ;;
+-    *) PATH=$bindir:$PATH; export PATH;;
+-  esac
+-fi
+-
+ # Boot sequence:
+ #
+ # kdeinit is used to fork off processes which improves memory usage
+@@ -206,7 +190,7 @@
+ # For anything else (that doesn't set env vars, or that needs a window manager),
+ # better use the Autostart folder.
+ 
+-libpath=`kde4-config --path lib | tr : '\n'`
++libpath=`kde4-config --path lib | tr : '\n'`$(echo -e '\n/etc/kde/lib/')
+ 
+ for prefix in `echo "$libpath" | sed -n -e 's,/lib[^/]*/,/env/,p'`; do
+   for file in "$prefix"*.sh; do
diff --git a/kde-unstable/kdebase-workspace/kde-np.pam b/kde-unstable/kdebase-workspace/kde-np.pam
new file mode 100644
index 000000000..81eeef47b
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/kde-np.pam
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth		required	pam_nologin.so
+auth		required	pam_permit.so
+account		required	pam_unix.so
+password	required	pam_unix.so
+session		required	pam_unix.so
+session		required	pam_limits.so
\ No newline at end of file
diff --git a/kde-unstable/kdebase-workspace/kde.pam b/kde-unstable/kdebase-workspace/kde.pam
new file mode 100644
index 000000000..1a259390f
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/kde.pam
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth		required	pam_unix.so
+auth		required	pam_nologin.so
+account		required	pam_unix.so
+password	required	pam_unix.so
+session		required	pam_unix.so
+session		required	pam_limits.so
\ No newline at end of file
diff --git a/kde-unstable/kdebase-workspace/kdebase-workspace.install b/kde-unstable/kdebase-workspace/kdebase-workspace.install
new file mode 100644
index 000000000..f7d6d305b
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/kdebase-workspace.install
@@ -0,0 +1,25 @@
+post_install() {
+	groupadd -g 135 kdm &>/dev/null
+	useradd -u 135 -g kdm -d /var/lib/kdm -s /bin/false -r -M kdm &>/dev/null
+	chown -R 135:135 var/lib/kdm &>/dev/null
+	xdg-icon-resource forceupdate --theme hicolor &>/dev/null
+    update-desktop-database -q
+}
+
+post_upgrade() {
+	getent group kdm >/dev/null 2>&1 || groupadd -g 135 kdm &>/dev/null
+	getent passwd kdm >/dev/null 2>&1 || useradd -u 135 -g kdm -d /var/lib/kdm -s /bin/false -r -M kdm &>/dev/null
+	chown -R 135:135 var/lib/kdm &>/dev/null
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+    update-desktop-database -q
+}
+
+post_remove() {
+	if getent passwd kdm >/dev/null 2>&1; then
+	  userdel kdm
+	fi
+	if getent group kdm >/dev/null 2>&1; then
+	  groupdel kdm
+	fi
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
diff --git a/kde-unstable/kdebase-workspace/kdm b/kde-unstable/kdebase-workspace/kdm
new file mode 100644
index 000000000..799d58f4b
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/kdm
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=$(pidof -o %PPID /usr/bin/kdm)
+case "$1" in
+  start)
+    stat_busy "Starting KDE Desktop Manager"
+    [ -z "$PID" ] && /usr/bin/kdm &>/dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      add_daemon kdm
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Stopping KDE Desktop Manager"
+    [ ! -z "$PID" ]  && kill $PID &> /dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon kdm
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    sleep 3
+    $0 start
+    ;;
+  *)
+    echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/kde-unstable/kdebase-workspace/kdm-zsh-profile.patch b/kde-unstable/kdebase-workspace/kdm-zsh-profile.patch
new file mode 100644
index 000000000..779456b39
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/kdm-zsh-profile.patch
@@ -0,0 +1,11 @@
+--- kdm/kfrontend/genkdmconf.c	2008-02-13 09:40:49.000000000 +0000
++++ kdm/kfrontend/genkdmconf.c	2008-05-16 12:47:36.000000000 +0000
+@@ -662,7 +662,7 @@
+ "    [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc\n"
+ "    zhome=${ZDOTDIR:-$HOME}\n"
+ "    # zshenv is always sourced automatically.\n"
+-"    [ -f $zdir/zprofile ] && . $zdir/zprofile\n"
++"    [ -f /etc/profile ] && . /etc/profile\n"
+ "    [ -f $zhome/.zprofile ] && . $zhome/.zprofile\n"
+ "    [ -f $zdir/zlogin ] && . $zdir/zlogin\n"
+ "    [ -f $zhome/.zlogin ] && . $zhome/.zlogin\n"
diff --git a/kde-unstable/kdebase-workspace/kscreensaver.pam b/kde-unstable/kdebase-workspace/kscreensaver.pam
new file mode 100644
index 000000000..b4d80c21f
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/kscreensaver.pam
@@ -0,0 +1 @@
+auth		required	pam_unix_auth.so
diff --git a/kde-unstable/kdebase-workspace/terminate-server.patch b/kde-unstable/kdebase-workspace/terminate-server.patch
new file mode 100644
index 000000000..094591317
--- /dev/null
+++ b/kde-unstable/kdebase-workspace/terminate-server.patch
@@ -0,0 +1,11 @@
+--- kdm/config.def	2009-08-27 10:17:39.000000000 +0200
++++ kdm/config.def	2009-10-31 00:40:21.000000000 +0100
+@@ -1448,7 +1448,7 @@
+ 
+ Key: TerminateServer
+ Type: bool
+-Default: false
++Default: true
+ User: core
+ Instance: #:*/!
+ Merge: xdm
diff --git a/kde-unstable/kdebase/PKGBUILD b/kde-unstable/kdebase/PKGBUILD
new file mode 100644
index 000000000..da7098290
--- /dev/null
+++ b/kde-unstable/kdebase/PKGBUILD
@@ -0,0 +1,117 @@
+# $Id: PKGBUILD 124659 2011-05-23 19:43:17Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdebase
+pkgname=('kdebase-dolphin'
+         'kdebase-kdepasswd'
+         'kdebase-kdialog'
+         'kdebase-keditbookmarks'
+         'kdebase-kfind'
+         'kdebase-konq-plugins'
+         'kdebase-konqueror'
+         'kdebase-lib'
+         'kdebase-plasma')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebase')
+makedepends=('kdelibs' 'pkgconfig' 'cmake' 'automoc4' 'tidyhtml')
+source=("http://download.kde.org/unstable/${pkgver}/src/kde-baseapps-${pkgver}.tar.bz2")
+sha1sums=('f89b848791628d675e26dd7e703bd79834d1c951')
+
+build() {
+	cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../kde-baseapps-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr
+	make
+}
+
+package_kdebase-dolphin() {
+	pkgdesc='File Manager'
+	depends=('kdebase-runtime' 'kdebase-lib')
+	optdepends=('ruby: servicemenu installation')
+	url="http://kde.org/applications/system/dolphin/"
+	cd $srcdir/build/dolphin
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/dolphin
+	make DESTDIR=$pkgdir install
+}
+
+package_kdebase-kdepasswd() {
+	pkgdesc='Change Password'
+	depends=('kdebase-runtime' 'kdebase-lib')
+	cd $srcdir/build/kdepasswd
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kdepasswd
+	make DESTDIR=$pkgdir install
+}
+
+package_kdebase-kdialog() {
+	pkgdesc='A utility for displaying dialog boxes from shell scripts'
+	depends=('kdebase-runtime')
+	cd $srcdir/build/kdialog
+	make DESTDIR=$pkgdir install
+}
+
+package_kdebase-keditbookmarks() {
+	pkgdesc='Bookmark Organizer and Editor'
+	depends=('kdebase-runtime')
+	cd $srcdir/build/keditbookmarks
+	make DESTDIR=$pkgdir install
+}
+
+package_kdebase-kfind() {
+	pkgdesc='Find Files/Folders'
+	depends=('kdebase-runtime' 'kdebase-lib')
+	url="http://kde.org/applications/utilities/kfind/"
+	install='kdebase.install'
+	cd $srcdir/build/kfind
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kfind
+	make DESTDIR=$pkgdir install
+}
+
+package_kdebase-konq-plugins() {
+	pkgdesc='Extra plugins for Konqueror'
+	depends=('kdebase-konqueror')
+	replaces=('konq-plugins')
+	install='kdebase.install'
+	cd $srcdir/build/konq-plugins
+	make DESTDIR=$pkgdir install
+}
+
+package_kdebase-konqueror() {
+	pkgdesc='KDE File Manager & Web Browser'
+	depends=('kdebase-dolphin' 'kdebase-keditbookmarks')
+	optdepends=('kwebkitpart: to enable webkit engine')
+	url="http://kde.org/applications/internet/konqueror/"
+	install='kdebase.install'
+    conflicts=('kdebase-nsplugins')
+    replaces=('kdebase-nsplugins')
+    for i in konqueror doc/konqueror nsplugins; do
+        cd $srcdir/build/${i}
+        make DESTDIR=$pkgdir install
+    done
+}
+
+package_kdebase-lib() {
+	pkgdesc='KDE libraries for the basic desktop applications'
+	groups=()
+	depends=('kdelibs')
+	cd $srcdir/build/lib
+	make DESTDIR=$pkgdir install
+}
+
+package_kdebase-plasma() {
+	pkgdesc='Display the contents of folders (User´s home folder as default)'
+	depends=('kdebase-workspace' 'kdebase-lib')
+	cd $srcdir/build/plasma
+	make DESTDIR=$pkgdir install
+}
diff --git a/kde-unstable/kdebase/kdebase.install b/kde-unstable/kdebase/kdebase.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdebase/kdebase.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdebindings-kimono/PKGBUILD b/kde-unstable/kdebindings-kimono/PKGBUILD
new file mode 100644
index 000000000..0fa73a2b1
--- /dev/null
+++ b/kde-unstable/kdebindings-kimono/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124934 2011-05-25 09:35:20Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-kimono
+pkgver=4.6.80
+pkgrel=1
+pkgdesc=".NET/Mono bindings for the KDE libraries"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebindings')
+depends=('kdebindings-qyoto' 'kdebindings-smokekde')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' 'kdepimlibs')
+conflicts=('kdebindings-csharp')
+source=("http://download.kde.org/unstable/${pkgver}/src/kimono-${pkgver}.tar.bz2")
+sha1sums=('911dfbee3141ca0f72c13e15bafc549ccd9ab33a')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kimono-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdebindings-korundum/PKGBUILD b/kde-unstable/kdebindings-korundum/PKGBUILD
new file mode 100644
index 000000000..9c40054a2
--- /dev/null
+++ b/kde-unstable/kdebindings-korundum/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 124940 2011-05-25 09:48:53Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-korundum
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="KDE bindings for ruby"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebindings')
+depends=('kdebindings-qtruby' 'kdebindings-smokekde')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost'
+             'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate')
+conflicts=('kdebindings-ruby')
+source=("http://download.kde.org/unstable/${pkgver}/src/korundum-${pkgver}.tar.bz2")
+sha1sums=('30209e7e3d3dc54c7eb787d7e7bcc90735c5bc1a')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../korundum-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdebindings-perlkde/PKGBUILD b/kde-unstable/kdebindings-perlkde/PKGBUILD
new file mode 100644
index 000000000..4dfb0d07e
--- /dev/null
+++ b/kde-unstable/kdebindings-perlkde/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124941 2011-05-25 09:55:03Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-perlkde
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Perl bindings for the KDE libraries"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebindings')
+depends=('kdebindings-perlqt' 'kdebindings-smokekde')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'kdepimlibs'
+            'kdegraphics-okular' 'kdesdk-kate')
+source=("http://download.kde.org/unstable/${pkgver}/src/perlkde-${pkgver}.tar.bz2")
+sha1sums=('0d689b8ffcfaeb1f4e216f00f0ddacb5f59b9047')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../perlkde-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdebindings-perlqt/PKGBUILD b/kde-unstable/kdebindings-perlqt/PKGBUILD
new file mode 100644
index 000000000..a8268f3c5
--- /dev/null
+++ b/kde-unstable/kdebindings-perlqt/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124667 2011-05-23 20:36:47Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-perlqt
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Perl bindings for the Qt libraries"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebindings')
+depends=('kdebindings-smokeqt')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen')
+source=("http://download.kde.org/unstable/${pkgver}/src/perlqt-${pkgver}.tar.bz2")
+sha1sums=('aa6f72ff5eed3f178a1d7274e61c2c7ed81fd74e')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../perlqt-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdebindings-python/PKGBUILD b/kde-unstable/kdebindings-python/PKGBUILD
new file mode 100644
index 000000000..817ca914a
--- /dev/null
+++ b/kde-unstable/kdebindings-python/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 124775 2011-05-24 11:26:16Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-python
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="KDE bindings for python"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebindings')
+depends=('kdepim-runtime' 'python2-pyqt' 'qscintilla' 'boost-libs')
+makedepends=('cmake' 'automoc4' 'boost')
+source=("http://download.kde.org/unstable/${pkgver}/src/pykde4-${pkgver}.tar.bz2"
+        'fix-build.patch')
+sha1sums=('f45e40298046ecea382f9b85c34b3e21d856a9da'
+          '3d2329981ea571d38f0354c6d1300a2743a775db')
+
+build() {
+  cd "${srcdir}"/pykde4-${pkgver}
+  patch -p3 -i "${srcdir}"/fix-build.patch
+
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../pykde4-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DPYTHON_EXECUTABLE=/usr/bin/python2
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+
+  # Use the python2 executable
+  find "${pkgdir}" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
+}
+sha1sums=('f45e40298046ecea382f9b85c34b3e21d856a9da'
+          '4eb8917ad922819bbea038d79a9786cf5d0e2767')
diff --git a/kde-unstable/kdebindings-qtruby/PKGBUILD b/kde-unstable/kdebindings-qtruby/PKGBUILD
new file mode 100644
index 000000000..82fd53c1b
--- /dev/null
+++ b/kde-unstable/kdebindings-qtruby/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124815 2011-05-24 15:22:45Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-qtruby
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Qt bindings for ruby"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebindings')
+depends=('kdebindings-smokeqt' 'ruby')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen')
+conflicts=('kdebindings-ruby')
+source=("http://download.kde.org/unstable/${pkgver}/src/qtruby-${pkgver}.tar.bz2")
+sha1sums=('9b153784efb3187ca4f38a14355b8a5ce283316c')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../qtruby-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdebindings-qyoto/PKGBUILD b/kde-unstable/kdebindings-qyoto/PKGBUILD
new file mode 100644
index 000000000..d130b397d
--- /dev/null
+++ b/kde-unstable/kdebindings-qyoto/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124815 2011-05-24 15:22:45Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-qyoto
+pkgver=4.6.80
+pkgrel=1
+pkgdesc=".NET/Mono bindings for the Qt libraries"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebindings')
+depends=('kdebindings-smokeqt' 'mono')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen')
+conflicts=('kdebindings-csharp')
+source=("http://download.kde.org/unstable/${pkgver}/src/qyoto-${pkgver}.tar.bz2")
+sha1sums=('7f63ae1c1e30edf226ca8418d5fa78edaf42cb36')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../qyoto-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdebindings-smokegen/PKGBUILD b/kde-unstable/kdebindings-smokegen/PKGBUILD
new file mode 100644
index 000000000..ba2edc4f6
--- /dev/null
+++ b/kde-unstable/kdebindings-smokegen/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124815 2011-05-24 15:22:45Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-smokegen
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="A general purpose C++ parser with a plugin infrastructure"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+conflicts=('kdebindings-smoke')
+source=("http://download.kde.org/unstable/${pkgver}/src/smokegen-${pkgver}.tar.bz2")
+sha1sums=('ce860f4308df4cc91b1e49d0f1f5bca3805c4cf1')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../smokegen-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdebindings-smokekde/PKGBUILD b/kde-unstable/kdebindings-smokekde/PKGBUILD
new file mode 100644
index 000000000..6f9724353
--- /dev/null
+++ b/kde-unstable/kdebindings-smokekde/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 124928 2011-05-25 09:28:04Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-smokekde
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Language independent library for KDE bindings"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebindings')
+depends=('kdebindings-smokeqt')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost'
+             'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate')
+conflicts=('kdebindings-smoke')
+source=("http://download.kde.org/unstable/${pkgver}/src/smokekde-${pkgver}.tar.bz2")
+sha1sums=('9fd8cbac3f0affce6fa078b07ca418a5e0c79521')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../smokekde-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdebindings-smokeqt/PKGBUILD b/kde-unstable/kdebindings-smokeqt/PKGBUILD
new file mode 100644
index 000000000..c7bdbcbd1
--- /dev/null
+++ b/kde-unstable/kdebindings-smokeqt/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124815 2011-05-24 15:22:45Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdebindings-smokeqt
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Language independent library for Qt bindings"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebindings')
+depends=('kdebase-runtime' 'qimageblitz' 'qscintilla' 'qwt')
+makedepends=('cmake' 'automoc4' 'kdebindings-smokegen')
+conflicts=('kdebindings-smoke')
+source=("http://download.kde.org/unstable/${pkgver}/src/smokeqt-${pkgver}.tar.bz2")
+sha1sums=('872b77e7e445b7492a647e63e267677604d76a96')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../smokeqt-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-blinken/PKGBUILD b/kde-unstable/kdeedu-blinken/PKGBUILD
new file mode 100644
index 000000000..7ebd3c811
--- /dev/null
+++ b/kde-unstable/kdeedu-blinken/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-blinken
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Memory Enhancement Game"
+url="http://kde.org/applications/education/blinken/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/blinken-${pkgver}.tar.bz2")
+sha1sums=('847ee81d2a4f5f1acb4bf8c0835c2e8187a631ea')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../blinken-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-blinken/kdeedu-blinken.install b/kde-unstable/kdeedu-blinken/kdeedu-blinken.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-blinken/kdeedu-blinken.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-cantor/PKGBUILD b/kde-unstable/kdeedu-cantor/PKGBUILD
new file mode 100644
index 000000000..a82cacfaa
--- /dev/null
+++ b/kde-unstable/kdeedu-cantor/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-cantor
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="KDE Frontend to Mathematical Software"
+url="http://kde.org/applications/education/cantor/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'r' 'libspectre')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/cantor-${pkgver}.tar.bz2")
+sha1sums=('0c6ebd5e523bf5fdf01bbf654ce60a55fc72cbe2')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../cantor-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-cantor/kdeedu-cantor.install b/kde-unstable/kdeedu-cantor/kdeedu-cantor.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdeedu-cantor/kdeedu-cantor.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/kde-unstable/kdeedu-kalgebra/PKGBUILD b/kde-unstable/kdeedu-kalgebra/PKGBUILD
new file mode 100644
index 000000000..40b24830e
--- /dev/null
+++ b/kde-unstable/kdeedu-kalgebra/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kalgebra
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Graph Calculator"
+url="http://kde.org/applications/education/kalgebra/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'libkdeedu')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kalgebra-${pkgver}.tar.bz2")
+sha1sums=('d448a675782157d8c553db497e048231d6eb5f53')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kalgebra-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install b/kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdeedu-kalgebra/kdeedu-kalgebra.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/kde-unstable/kdeedu-kalzium/PKGBUILD b/kde-unstable/kdeedu-kalzium/PKGBUILD
new file mode 100644
index 000000000..8bc1d0c3c
--- /dev/null
+++ b/kde-unstable/kdeedu-kalzium/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kalzium
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Periodic Table of Elements"
+url="http://kde.org/applications/education/kalzium/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdelibs' 'avogadro' 'ocaml')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kalzium-${pkgver}.tar.bz2")
+sha1sums=('1ace4d42711904d9556efbe1ff89dc4c803887fe')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kalzium-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install b/kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-kalzium/kdeedu-kalzium.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-kanagram/PKGBUILD b/kde-unstable/kdeedu-kanagram/PKGBUILD
new file mode 100644
index 000000000..45a33746c
--- /dev/null
+++ b/kde-unstable/kdeedu-kanagram/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kanagram
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Letter Order Game"
+url="http://kde.org/applications/education/kanagram/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'libkdeedu')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kanagram-${pkgver}.tar.bz2")
+sha1sums=('b7075ffa2c366acecfce13b5bef9938c6317aefb')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kanagram-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install b/kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-kanagram/kdeedu-kanagram.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-kbruch/PKGBUILD b/kde-unstable/kdeedu-kbruch/PKGBUILD
new file mode 100644
index 000000000..9710c1df2
--- /dev/null
+++ b/kde-unstable/kdeedu-kbruch/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kbruch
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Exercise Fractions"
+url="http://kde.org/applications/education/kbruch/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kbruch-${pkgver}.tar.bz2")
+sha1sums=('205b7f2171e67b55fc1bbcd0844702daf9dcb4a6')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kbruch-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install b/kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-kbruch/kdeedu-kbruch.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-kgeography/PKGBUILD b/kde-unstable/kdeedu-kgeography/PKGBUILD
new file mode 100644
index 000000000..720c4027a
--- /dev/null
+++ b/kde-unstable/kdeedu-kgeography/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kgeography
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Geography Trainer"
+url="http://kde.org/applications/education/kgeography/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kgeography-${pkgver}.tar.bz2")
+sha1sums=('2d161ef150618780e6f2bcf3a8e19993a5c95fa6')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kgeography-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install b/kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-kgeography/kdeedu-kgeography.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-khangman/PKGBUILD b/kde-unstable/kdeedu-khangman/PKGBUILD
new file mode 100644
index 000000000..56df0fbce
--- /dev/null
+++ b/kde-unstable/kdeedu-khangman/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-khangman
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Hangman Game"
+url="http://kde.org/applications/education/khangman/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'libkdeedu')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/khangman-${pkgver}.tar.bz2")
+sha1sums=('a3e140a71c27400d49f75b862965123c1df6e992')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../khangman-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-khangman/kdeedu-khangman.install b/kde-unstable/kdeedu-khangman/kdeedu-khangman.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-khangman/kdeedu-khangman.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-kig/PKGBUILD b/kde-unstable/kdeedu-kig/PKGBUILD
new file mode 100644
index 000000000..ca6f92279
--- /dev/null
+++ b/kde-unstable/kdeedu-kig/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 125335 2011-05-25 23:12:03Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kig
+pkgver=4.6.80
+pkgrel=2
+pkgdesc="Interactive Geometry"
+url="http://kde.org/applications/education/kig/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kig-${pkgver}.tar.bz2")
+sha1sums=('d0b2ca69262b1e720be8ab2b6cfb9dd6b5a81371')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kig-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+
+  # Use the python2 executable
+  sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' "${pkgdir}"/usr/bin/pykig.py
+}
diff --git a/kde-unstable/kdeedu-kig/kdeedu-kig.install b/kde-unstable/kdeedu-kig/kdeedu-kig.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdeedu-kig/kdeedu-kig.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/kde-unstable/kdeedu-kiten/PKGBUILD b/kde-unstable/kdeedu-kiten/PKGBUILD
new file mode 100644
index 000000000..6ba5c4b19
--- /dev/null
+++ b/kde-unstable/kdeedu-kiten/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kiten
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Japanese Reference/Study Tool"
+url="http://kde.org/applications/education/kiten/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kiten-${pkgver}.tar.bz2")
+sha1sums=('a5120c87015e044b4313e889b80afd608341e414')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kiten-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kiten/kdeedu-kiten.install b/kde-unstable/kdeedu-kiten/kdeedu-kiten.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-kiten/kdeedu-kiten.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-klettres/PKGBUILD b/kde-unstable/kdeedu-klettres/PKGBUILD
new file mode 100644
index 000000000..70f5e54b4
--- /dev/null
+++ b/kde-unstable/kdeedu-klettres/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-klettres
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Learn The Alphabet"
+url="http://kde.org/applications/education/klettres/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/klettres-${pkgver}.tar.bz2")
+sha1sums=('395a1c700eaf1fee83216facbe5442162d383e64')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../klettres-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-klettres/kdeedu-klettres.install b/kde-unstable/kdeedu-klettres/kdeedu-klettres.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-klettres/kdeedu-klettres.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-kmplot/PKGBUILD b/kde-unstable/kdeedu-kmplot/PKGBUILD
new file mode 100644
index 000000000..8db40962f
--- /dev/null
+++ b/kde-unstable/kdeedu-kmplot/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kmplot
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Mathematical Function Plotter"
+url="http://kde.org/applications/education/kmplot/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kmplot-${pkgver}.tar.bz2")
+sha1sums=('be3593a33b05a59d82020d988804e82737abbc09')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kmplot-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install b/kde-unstable/kdeedu-kmplot/kdeedu-kmplot.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdeedu-kmplot/kdeedu-kmplot.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/kde-unstable/kdeedu-kstars/PKGBUILD b/kde-unstable/kdeedu-kstars/PKGBUILD
new file mode 100644
index 000000000..77306c68d
--- /dev/null
+++ b/kde-unstable/kdeedu-kstars/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kstars
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Desktop Planetarium"
+url="http://kde.org/applications/education/kstars/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'eigen' 'cfitsio' 'libindi')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kstars-${pkgver}.tar.bz2")
+sha1sums=('c74818da033d70200b873a954a2f05af3e03c610')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kstars-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DWITH_Xplanet=OFF
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kstars/kdeedu-kstars.install b/kde-unstable/kdeedu-kstars/kdeedu-kstars.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-kstars/kdeedu-kstars.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-ktouch/PKGBUILD b/kde-unstable/kdeedu-ktouch/PKGBUILD
new file mode 100644
index 000000000..0b8e706e9
--- /dev/null
+++ b/kde-unstable/kdeedu-ktouch/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-ktouch
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Touch Typing Tutor"
+url="http://kde.org/applications/education/ktouch/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/ktouch-${pkgver}.tar.bz2")
+sha1sums=('7e80926b1fe45d7af861891a140e843b27cbf171')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../ktouch-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install b/kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-ktouch/kdeedu-ktouch.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-kturtle/PKGBUILD b/kde-unstable/kdeedu-kturtle/PKGBUILD
new file mode 100644
index 000000000..dc60d6200
--- /dev/null
+++ b/kde-unstable/kdeedu-kturtle/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kturtle
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Educational Programming Environment"
+url="http://kde.org/applications/education/kturtle/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kturtle-${pkgver}.tar.bz2")
+sha1sums=('5aa67c458212315616a9c67e06a3e8a8a79ee302')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kturtle-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install b/kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-kturtle/kdeedu-kturtle.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdeedu-kwordquiz/PKGBUILD b/kde-unstable/kdeedu-kwordquiz/PKGBUILD
new file mode 100644
index 000000000..76696bc6d
--- /dev/null
+++ b/kde-unstable/kdeedu-kwordquiz/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-kwordquiz
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Flash Card Trainer"
+url="http://kde.org/applications/education/kwordquiz/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'libkdeedu')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kwordquiz-${pkgver}.tar.bz2")
+sha1sums=('44277946ffad538cd50690af9475e0520698bafb')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kwordquiz-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install b/kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdeedu-kwordquiz/kdeedu-kwordquiz.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/kde-unstable/kdeedu-marble/PKGBUILD b/kde-unstable/kdeedu-marble/PKGBUILD
new file mode 100644
index 000000000..39fe50f17
--- /dev/null
+++ b/kde-unstable/kdeedu-marble/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-marble
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Desktop Globe"
+url="http://kde.org/applications/education/marble/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'gpsd')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/marble-${pkgver}.tar.bz2"
+        'gpsd-2.96.patch')
+sha1sums=('4d7663909efe3b42006debd78f1217bb3dfffd88'
+          'f44dfd3bb384e631d59b93d7dda3413795da8183')
+
+build() {
+  cd "${srcdir}"/marble-${pkgver}
+  patch -p1 -i "${srcdir}"/gpsd-2.96.patch
+
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../marble-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-marble/gpsd-2.96.patch b/kde-unstable/kdeedu-marble/gpsd-2.96.patch
new file mode 100644
index 000000000..e27702181
--- /dev/null
+++ b/kde-unstable/kdeedu-marble/gpsd-2.96.patch
@@ -0,0 +1,41 @@
+--- marble-4.6.80/src/plugins/positionprovider/gpsd/GpsdConnection.cpp
++++ marble-4.6.80/src/plugins/positionprovider/gpsd/GpsdConnection.cpp
+@@ -18,6 +18,9 @@ using namespace Marble;
+ 
+ GpsdConnection::GpsdConnection( QObject* parent )
+     : QObject( parent ),
++#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
++      m_gpsd("localhost", DEFAULT_GPSD_PORT),
++#endif
+       m_timer( 0 )
+ {
+     connect( &m_timer, SIGNAL( timeout() ), this, SLOT( update() ) );
+@@ -26,7 +29,11 @@ GpsdConnection::GpsdConnection( QObject*
+ void GpsdConnection::initialize()
+ {
+     m_timer.stop();
++#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
++    gps_data_t* data;
++#else
+     gps_data_t* data = m_gpsd.open();
++#endif
+     if ( data ) {
+         m_status = PositionProviderStatusAcquiring;
+         emit statusChanged( m_status );
+@@ -73,8 +80,16 @@ void GpsdConnection::initialize()
+ void GpsdConnection::update()
+ {
+ #if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 3 ) && defined( PACKET_SET )
++#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
++    if ( m_gpsd.waiting(0) ) {
++#else
+     if ( m_gpsd.waiting() ) {
++#endif
++#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
++        gps_data_t* data = m_gpsd.read();
++#else
+         gps_data_t* data = m_gpsd.poll();
++#endif
+         if ( data && data->set & PACKET_SET ) {
+             emit gpsdInfo( *data );
+         }
diff --git a/kde-unstable/kdeedu-marble/kdeedu-marble.install b/kde-unstable/kdeedu-marble/kdeedu-marble.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdeedu-marble/kdeedu-marble.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/kde-unstable/kdeedu-parley/PKGBUILD b/kde-unstable/kdeedu-parley/PKGBUILD
new file mode 100644
index 000000000..7b27fa558
--- /dev/null
+++ b/kde-unstable/kdeedu-parley/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-parley
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Vocabulary Trainer"
+url="http://kde.org/applications/education/parley/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'libkdeedu')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/parley-${pkgver}.tar.bz2")
+sha1sums=('991f7aeee7849913a167d65b792791724bc5c1aa')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../parley-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-parley/kdeedu-parley.install b/kde-unstable/kdeedu-parley/kdeedu-parley.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdeedu-parley/kdeedu-parley.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/kde-unstable/kdeedu-rocs/PKGBUILD b/kde-unstable/kdeedu-rocs/PKGBUILD
new file mode 100644
index 000000000..1ab660c03
--- /dev/null
+++ b/kde-unstable/kdeedu-rocs/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-rocs
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Rocs Graph Theory"
+url="http://kde.org/applications/education/rocs/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'boost-libs')
+makedepends=('cmake' 'automoc4' 'boost')
+source=("http://download.kde.org/unstable/${pkgver}/src/rocs-${pkgver}.tar.bz2")
+sha1sums=('90ea18d54bc7dc6a87db72e34fb9131849300392')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../rocs-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-step/PKGBUILD b/kde-unstable/kdeedu-step/PKGBUILD
new file mode 100644
index 000000000..6b63198df
--- /dev/null
+++ b/kde-unstable/kdeedu-step/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124761 2011-05-24 08:01:51Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdeedu-step
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Interactive Physical Simulator"
+url="http://kde.org/applications/education/step/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeedu')
+depends=('kdebase-runtime' 'libqalculate' 'gsl' 'eigen')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/step-${pkgver}.tar.bz2")
+sha1sums=('a71d1ed2f92c9b881640b273adafa71240ca6e8a')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../step-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdeedu-step/kdeedu-step.install b/kde-unstable/kdeedu-step/kdeedu-step.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdeedu-step/kdeedu-step.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdegames/PKGBUILD b/kde-unstable/kdegames/PKGBUILD
new file mode 100644
index 000000000..bc3b1576a
--- /dev/null
+++ b/kde-unstable/kdegames/PKGBUILD
@@ -0,0 +1,514 @@
+# $Id: PKGBUILD 124786 2011-05-24 12:57:40Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdegames
+pkgname=('kdegames-bomber'
+         'kdegames-bovo'
+         'kdegames-granatier'
+         'kdegames-kajongg'
+         'kdegames-kapman'
+         'kdegames-katomic'
+         'kdegames-kbattleship'
+         'kdegames-kblackbox'
+         'kdegames-kblocks'
+         'kdegames-kbounce'
+         'kdegames-kbreakout'
+         'kdegames-kdiamond'
+         'kdegames-kfourinline'
+         'kdegames-kgoldrunner'
+         'kdegames-kigo'
+         'kdegames-killbots'
+         'kdegames-kiriki'
+         'kdegames-kjumpingcube'
+         'kdegames-klines'
+         'kdegames-klickety'
+         'kdegames-kmahjongg'
+         'kdegames-kmines'
+         'kdegames-knetwalk'
+         'kdegames-kolf'
+         'kdegames-kollision'
+         'kdegames-konquest'
+         'kdegames-kpatience'
+         'kdegames-kreversi'
+         'kdegames-kshisen'
+         'kdegames-ksirk'
+         'kdegames-kspaceduel'
+         'kdegames-ksquares'
+         'kdegames-ksudoku'
+         'kdegames-ktron'
+         'kdegames-ktuberling'
+         'kdegames-kubrick'
+         'kdegames-libkdegames'
+         'kdegames-libkmahjongg'
+         'kdegames-lskat'
+         'kdegames-palapeli')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdegames')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'ggz-client-libs' 'twisted'
+             'kdebindings-python' 'openal')
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
+sha1sums=('c9e21203e8f47e1748c309a4ff14c87953c43839')
+
+build() {
+	cd $srcdir
+	mkdir build
+	cd build
+	cmake ../${pkgbase}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr
+	make
+}
+
+package_kdegames-bomber() {
+	pkgdesc='Arcade Bombing Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/bomber/"
+	install='kdegames.install'
+	cd $srcdir/build/bomber
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/bomber
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-bovo() {
+	pkgdesc='Five-in-a-row Board Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/bovo/"
+	install='kdegames.install'
+	cd $srcdir/build/bovo
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/bovo
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-granatier() {
+	pkgdesc='Granatier'
+	depends=('kdebase-runtime' 'kdegames-libkdegames' 'openal')
+	url="http://kde.org/applications/games/granatier/"
+	install='kdegames.install'
+	cd $srcdir/build/granatier
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/granatier
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kajongg() {
+	pkgdesc='The ancient Chinese board game for 4 players'
+	depends=('kdegames-libkdegames' 'kdegames-libkmahjongg' 'kdebindings-python' 'twisted')
+	install='kdegames.install'
+	cd $srcdir/build/kajongg
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kajongg
+	make DESTDIR=$pkgdir install
+
+	# Use the python2 executable
+	find "${pkgdir}" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
+}
+
+package_kdegames-kapman() {
+	pkgdesc='Eat pills escaping ghosts'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kapman/"
+	install='kdegames.install'
+	cd $srcdir/build/kapman
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kapman
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-katomic() {
+	pkgdesc='Sokoban-like Logic Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/katomic/"
+	install='kdegames.install'
+	cd $srcdir/build/katomic
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/katomic
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kbattleship() {
+	pkgdesc='Battleship Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames' 'ggz-client-libs')
+	url="http://kde.org/applications/games/kbattleship/"
+	install='kdegames-kbattleship.install'
+	cd $srcdir/build/kbattleship
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kbattleship
+	make DESTDIR=$pkgdir install
+	install -D -m644 $srcdir/${pkgbase}-${pkgver}/kbattleship/src/module.dsc \
+		$pkgdir/usr/share/ggz/kbattleship.dsc
+}
+
+package_kdegames-kblackbox() {
+	pkgdesc='Blackbox Logic Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kblackbox/"
+	install='kdegames.install'
+	cd $srcdir/build/kblackbox
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kblackbox
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kblocks() {
+	pkgdesc='Falling Blocks Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kblocks/"
+	install='kdegames.install'
+	cd $srcdir/build/kblocks
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kblocks
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kbounce() {
+	pkgdesc='Ball Bouncing Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kbounce/"
+	install='kdegames.install'
+	cd $srcdir/build/kbounce
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kbounce
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kbreakout() {
+	pkgdesc='Breakout-like Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kbreakout/"
+	install='kdegames.install'
+	cd $srcdir/build/kbreakout
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kbreakout
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kdiamond() {
+	pkgdesc='Three-in-a-row game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kdiamond/"
+	install='kdegames.install'
+	cd $srcdir/build/kdiamond
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kdiamond
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kfourinline() {
+	pkgdesc='Four-in-a-row Board Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kfourinline/"
+	install='kdegames-kfourinline.install'
+	cd $srcdir/build/kfourinline
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kfourinline
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kgoldrunner() {
+	pkgdesc='A game of action and puzzle-solving'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kgoldrunner/"
+	install='kdegames.install'
+	cd $srcdir/build/kgoldrunner
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kgoldrunner
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kigo() {
+	pkgdesc='Go Board Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames' 'gnugo')
+	url="http://kde.org/applications/games/kigo/"
+	install='kdegames-kigo.install'
+	cd $srcdir/build/kigo
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kigo
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-killbots() {
+	pkgdesc='Killbots'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/killbots/"
+	install='kdegames.install'
+	cd $srcdir/build/killbots
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/killbots
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kiriki() {
+	pkgdesc='Yahtzee-like Dice Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kiriki/"
+	install='kdegames.install'
+	cd $srcdir/build/kiriki
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kiriki
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kjumpingcube() {
+	pkgdesc='Territory Capture Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kjumpingcube/"
+	install='kdegames.install'
+	cd $srcdir/build/kjumpingcube
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kjumpingcube
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-klickety() {
+	pkgdesc='Board Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	replaces=('kdegames-ksame')
+	conflicts=('kdegames-ksame')
+	url="http://kde.org/applications/games/ksame/"
+	install='kdegames.install'
+	cd $srcdir/build/klickety
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/klickety
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-klines() {
+	pkgdesc='Tactical Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/klines/"
+	install='kdegames.install'
+	cd $srcdir/build/klines
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/klines
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kmahjongg() {
+	pkgdesc='Mahjongg Solitaire'
+	depends=('kdebase-runtime' 'kdegames-libkdegames' 'kdegames-libkmahjongg')
+	url="http://kde.org/applications/games/kmahjongg/"
+	install='kdegames.install'
+	cd $srcdir/build/kmahjongg
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kmahjongg
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kmines() {
+	pkgdesc='Minesweeper-like Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kmines/"
+	install='kdegames.install'
+	cd $srcdir/build/kmines
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kmines
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-knetwalk() {
+	pkgdesc='Network Construction Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/knetwalk/"
+	install='kdegames.install'
+	cd $srcdir/build/knetwalk
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/knetwalk
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kolf() {
+	pkgdesc='Miniature Golf'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kolf/"
+	install='kdegames-kolf.install'
+	cd $srcdir/build/kolf
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kolf
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kollision() {
+	pkgdesc='A simple ball dodging game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kollision/"
+	install='kdegames.install'
+	cd $srcdir/build/kollision
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kollision
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-konquest() {
+	pkgdesc='Galactic Strategy Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/konquest/"
+	install='kdegames.install'
+	cd $srcdir/build/konquest
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/konquest
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kpatience() {
+	pkgdesc='Patience Card Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kpatience/"
+	install='kdegames.install'
+	replaces=('kdegames-kpat')
+	cd $srcdir/build/kpat
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kpat
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kreversi() {
+	pkgdesc='Reversi Board Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames' 'ggz-client-libs')
+	url="http://kde.org/applications/games/kreversi/"
+	install='kdegames-kreversi.install'
+	cd $srcdir/build/kreversi
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kreversi
+	make DESTDIR=$pkgdir install
+	install -D -m644 $srcdir/${pkgbase}-${pkgver}/kreversi/module.dsc \
+		$pkgdir/usr/share/ggz/kreversi.dsc
+}
+
+package_kdegames-kshisen() {
+	pkgdesc='Shisen-Sho Mahjongg-like Tile Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames' 'kdegames-libkmahjongg')
+	url="http://kde.org/applications/games/kshisen/"
+	install='kdegames.install'
+	cd $srcdir/build/kshisen
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kshisen
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-ksirk() {
+	pkgdesc='World Domination Strategy Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/ksirk/"
+	install='kdegames.install'
+	cd $srcdir/build/ksirk
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/ksirk
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kspaceduel() {
+	pkgdesc='Space Arcade Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kspaceduel/"
+	install='kdegames-kspaceduel.install'
+	cd $srcdir/build/kspaceduel
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kspaceduel
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-ksquares() {
+	pkgdesc='Connect the dots to create squares'
+	depends=('kdebase-runtime' 'kdegames-libkdegames' 'ggz-client-libs')
+	url="http://kde.org/applications/games/ksquares/"
+	install='kdegames-ksquares.install'
+	cd $srcdir/build/ksquares
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/ksquares
+	make DESTDIR=$pkgdir install
+	install -D -m644 $srcdir/${pkgbase}-${pkgver}/ksquares/src/module.dsc \
+		$pkgdir/usr/share/ggz/ksquares.dsc
+}
+
+package_kdegames-ksudoku() {
+	pkgdesc='KSudoku, Sudoku game & more for KDE'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/ksudoku/"
+	install='kdegames.install'
+	cd $srcdir/build/ksudoku
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/ksudoku
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-ktron() {
+	pkgdesc='Tron-like Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/ktron/"
+	install='kdegames.install'
+	cd $srcdir/build/ktron
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/ktron
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-ktuberling() {
+	pkgdesc='Picture Game for Children'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/ktuberling/"
+	install='kdegames-ktuberling.install'
+	cd $srcdir/build/ktuberling
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/ktuberling
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-kubrick() {
+	pkgdesc='A 3-D game based on Rubik´s Cube'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/kubrick/"
+	install='kdegames.install'
+	cd $srcdir/build/kubrick
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kubrick
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-libkdegames() {
+	pkgdesc='KDE game library'
+	groups=()
+	depends=('kdelibs')
+	cd $srcdir/build/libkdegames
+	make DESTDIR=$pkgdir install
+	for i in $srcdir/${pkgbase}-${pkgver}/cmake/modules/*.cmake; do
+		install -D -m644 $i $pkgdir/usr/share/apps/cmake/modules/$(basename $i)
+	done
+}
+
+package_kdegames-libkmahjongg() {
+	pkgdesc='Library used for loading and rendering of Mahjongg tilesets'
+	groups=()
+	depends=('kdelibs')
+	cd $srcdir/build/libkmahjongg
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-lskat() {
+	pkgdesc='Card Game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/lskat/"
+	install='kdegames-lskat.install'
+	cd $srcdir/build/lskat
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/lskat
+	make DESTDIR=$pkgdir install
+}
+
+package_kdegames-palapeli() {
+	pkgdesc='Jigsaw puzzle game'
+	depends=('kdebase-runtime' 'kdegames-libkdegames')
+	url="http://kde.org/applications/games/palapeli/"
+	install='kdegames-palapeli.install'
+	cd $srcdir/build/palapeli
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/palapeli
+	make DESTDIR=$pkgdir install
+}
diff --git a/kde-unstable/kdegames/kdegames-kbattleship.install b/kde-unstable/kdegames/kdegames-kbattleship.install
new file mode 100644
index 000000000..ac4516ed0
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-kbattleship.install
@@ -0,0 +1,24 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+    update-desktop-database -q
+	ggz-config -i -f -m usr/share/ggz/kbattleship.dsc >& /dev/null
+}
+
+pre_remove() {
+	if [ -f usr/share/ggz/kbattleship.dsc ]; then
+		ggz-config -r -m usr/share/ggz/kbattleship.dsc >& /dev/null
+	fi
+}
+
+pre_upgrade() {
+	pre_remove
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+    update-desktop-database -q
+}
diff --git a/kde-unstable/kdegames/kdegames-kfourinline.install b/kde-unstable/kdegames/kdegames-kfourinline.install
new file mode 100644
index 000000000..9b20edb30
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-kfourinline.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/kde-unstable/kdegames/kdegames-kigo.install b/kde-unstable/kdegames/kdegames-kigo.install
new file mode 100644
index 000000000..9b20edb30
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-kigo.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/kde-unstable/kdegames/kdegames-kolf.install b/kde-unstable/kdegames/kdegames-kolf.install
new file mode 100644
index 000000000..9b20edb30
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-kolf.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/kde-unstable/kdegames/kdegames-kreversi.install b/kde-unstable/kdegames/kdegames-kreversi.install
new file mode 100644
index 000000000..4623e6e49
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-kreversi.install
@@ -0,0 +1,22 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+	ggz-config -i -f -m usr/share/ggz/kreversi.dsc >& /dev/null
+}
+
+pre_remove() {
+	if [ -f usr/share/ggz/kreversi.dsc ]; then
+		ggz-config -r -m usr/share/ggz/kreversi.dsc >& /dev/null
+	fi
+}
+
+pre_upgrade() {
+	pre_remove
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
diff --git a/kde-unstable/kdegames/kdegames-kspaceduel.install b/kde-unstable/kdegames/kdegames-kspaceduel.install
new file mode 100644
index 000000000..9b20edb30
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-kspaceduel.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/kde-unstable/kdegames/kdegames-ksquares.install b/kde-unstable/kdegames/kdegames-ksquares.install
new file mode 100644
index 000000000..5a619897d
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-ksquares.install
@@ -0,0 +1,22 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+	ggz-config -i -f -m usr/share/ggz/ksquares.dsc >& /dev/null
+}
+
+pre_remove() {
+	if [ -f usr/share/ggz/ksquares.dsc ]; then
+		ggz-config -r -m usr/share/ggz/ksquares.dsc >& /dev/null
+	fi
+}
+
+pre_upgrade() {
+	pre_remove
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
diff --git a/kde-unstable/kdegames/kdegames-ktuberling.install b/kde-unstable/kdegames/kdegames-ktuberling.install
new file mode 100644
index 000000000..9b20edb30
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-ktuberling.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/kde-unstable/kdegames/kdegames-lskat.install b/kde-unstable/kdegames/kdegames-lskat.install
new file mode 100644
index 000000000..9b20edb30
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-lskat.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/kde-unstable/kdegames/kdegames-palapeli.install b/kde-unstable/kdegames/kdegames-palapeli.install
new file mode 100644
index 000000000..c77e68041
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames-palapeli.install
@@ -0,0 +1,13 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+	update-mime-database usr/share/mime &> /dev/null
+    update-desktop-database -q
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdegames/kdegames.install b/kde-unstable/kdegames/kdegames.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdegames/kdegames.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdegraphics-gwenview/PKGBUILD b/kde-unstable/kdegraphics-gwenview/PKGBUILD
new file mode 100644
index 000000000..c8528477b
--- /dev/null
+++ b/kde-unstable/kdegraphics-gwenview/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124674 2011-05-23 20:43:19Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-gwenview
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="A fast and easy to use image viewer for KDE"
+url="http://kde.org/applications/graphics/gwenview/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdegraphics')
+depends=('kdebase-lib' 'libkipi')
+makedepends=('cmake' 'automoc4')
+optdepends=('kipi-plugins')
+source=("http://download.kde.org/unstable/${pkgver}/src/gwenview-${pkgver}.tar.bz2")
+sha1sums=('41b93bdcab6ba169be4ed3fcfb481c6ae1161bd6')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../gwenview-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install b/kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdegraphics-gwenview/kdegraphics-gwenview.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/kde-unstable/kdegraphics-kamera/PKGBUILD b/kde-unstable/kdegraphics-kamera/PKGBUILD
new file mode 100644
index 000000000..17b0a9b3f
--- /dev/null
+++ b/kde-unstable/kdegraphics-kamera/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124674 2011-05-23 20:43:19Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-kamera
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Configure Kamera"
+url="http://kde.org/applications/graphics/kamera/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdegraphics')
+depends=('kdebase-runtime' 'gphoto2')
+makedepends=('cmake' 'automoc4')
+source=("http://download.kde.org/unstable/${pkgver}/src/kamera-${pkgver}.tar.bz2")
+sha1sums=('cba0e4ca19fe62a9cbfe7b2559e5364c16944901')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kamera-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD b/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD
new file mode 100644
index 000000000..ebad9e424
--- /dev/null
+++ b/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124674 2011-05-23 20:43:19Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-kcolorchooser
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Color Chooser"
+url="http://kde.org/applications/graphics/kcolorchooser/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdegraphics')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kcolorchooser-${pkgver}.tar.bz2")
+sha1sums=('99aad5ebb4b1d5d99426e8a33c2f15717cc4087e')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kcolorchooser-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install b/kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdegraphics-kcolorchooser/kdegraphics-kcolorchooser.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdegraphics-kgamma/PKGBUILD b/kde-unstable/kdegraphics-kgamma/PKGBUILD
new file mode 100644
index 000000000..18926be42
--- /dev/null
+++ b/kde-unstable/kdegraphics-kgamma/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 124788 2011-05-24 12:59:42Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-kgamma
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="A monitor calibration tool"
+url="http://kde.org/applications/graphics/kgamma/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdegraphics')
+# note on libxxf86vm:
+#       not detected by namcap because libgl depends on it
+#       but nvidia providing libgl does not depend on libxxf86vm
+depends=('kdebase-runtime' 'libxxf86vm')
+makedepends=('cmake' 'automoc4')
+source=("http://download.kde.org/unstable/${pkgver}/src/kgamma-${pkgver}.tar.bz2")
+sha1sums=('aac4e43df0095e0511bb27cc27a23b10847eb075')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kgamma-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-kolourpaint/PKGBUILD b/kde-unstable/kdegraphics-kolourpaint/PKGBUILD
new file mode 100644
index 000000000..c68c46c2d
--- /dev/null
+++ b/kde-unstable/kdegraphics-kolourpaint/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124674 2011-05-23 20:43:19Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-kolourpaint
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Paint Program"
+url="http://kde.org/applications/graphics/kolourpaint/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdegraphics')
+depends=('kdebase-runtime' 'qimageblitz')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kolourpaint-${pkgver}.tar.bz2")
+sha1sums=('c79fc3a31d61623a02e7c89ede19cbe7e49a8518')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kolourpaint-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install b/kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdegraphics-kolourpaint/kdegraphics-kolourpaint.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/kde-unstable/kdegraphics-kruler/PKGBUILD b/kde-unstable/kdegraphics-kruler/PKGBUILD
new file mode 100644
index 000000000..663888d54
--- /dev/null
+++ b/kde-unstable/kdegraphics-kruler/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 124674 2011-05-23 20:43:19Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-kruler
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Screen Ruler"
+url="http://kde.org/applications/graphics/kruler/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdegraphics')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/kruler-${pkgver}.tar.bz2")
+sha1sums=('b43fee1954baa7b84866a1cd5f15cbcff54d5e3d')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kruler-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install b/kde-unstable/kdegraphics-kruler/kdegraphics-kruler.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdegraphics-kruler/kdegraphics-kruler.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/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD b/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD
new file mode 100644
index 000000000..4dde21e03
--- /dev/null
+++ b/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124799 2011-05-24 13:21:06Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-ksaneplugin
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="A scan plugin that implements the scanning"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+depends=('libksane')
+makedepends=('cmake' 'automoc4')
+conflicts=('kdegraphics-libs')
+source=("http://download.kde.org/unstable/${pkgver}/src/ksaneplugin-${pkgver}.tar.bz2")
+sha1sums=('3caa70899ed3797c9739409d311779f39fa9eda7')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../ksaneplugin-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-ksnapshot/PKGBUILD b/kde-unstable/kdegraphics-ksnapshot/PKGBUILD
new file mode 100644
index 000000000..de10d1e5e
--- /dev/null
+++ b/kde-unstable/kdegraphics-ksnapshot/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 124674 2011-05-23 20:43:19Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-ksnapshot
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Screen Capture Program"
+url="http://kde.org/applications/graphics/ksnapshot/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdegraphics')
+depends=('kdelibs' 'libkipi')
+makedepends=('cmake' 'automoc4')
+optdepends=('kipi-plugins')
+install=${pkgname}.install
+source=("http://download.kde.org/unstable/${pkgver}/src/ksnapshot-${pkgver}.tar.bz2")
+sha1sums=('684be8b03920e4a92625337ff18a5b368482dd08')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../ksnapshot-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install b/kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdegraphics-ksnapshot/kdegraphics-ksnapshot.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/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD b/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD
new file mode 100644
index 000000000..4c027b673
--- /dev/null
+++ b/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124799 2011-05-24 13:21:06Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-strigi-analyzer
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Strigi analyzers for various graphics file formats"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+depends=('kdelibs')
+makedepends=('cmake' 'automoc4')
+conflicts=('kdegraphics-libs')
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
+sha1sums=('bc4c901bc4bc7080c91ed739d2480294d2fc5033')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../${pkgname}-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-svgpart/PKGBUILD b/kde-unstable/kdegraphics-svgpart/PKGBUILD
new file mode 100644
index 000000000..ce748bb92
--- /dev/null
+++ b/kde-unstable/kdegraphics-svgpart/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124799 2011-05-24 13:21:06Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-svgpart
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="A KPart for viewving SVGs"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+depends=('kdelibs')
+makedepends=('cmake' 'automoc4')
+conflicts=('kdegraphics-libs')
+source=("http://download.kde.org/unstable/${pkgver}/src/svgpart-${pkgver}.tar.bz2")
+sha1sums=('300fc6a062ea34e6131097ae9a59e8279f3c1193')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../svgpart-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics-thumbnailers/PKGBUILD b/kde-unstable/kdegraphics-thumbnailers/PKGBUILD
new file mode 100644
index 000000000..7a3e5b1a1
--- /dev/null
+++ b/kde-unstable/kdegraphics-thumbnailers/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 124799 2011-05-24 13:21:06Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdegraphics-thumbnailers
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="Thumbnailers for various graphics file formats"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+depends=('libkexiv2' 'libkdcraw')
+makedepends=('cmake' 'automoc4')
+conflicts=('kdegraphics-libs')
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
+sha1sums=('d350cb85ad8520be00f6ee1f05a393d777e0f021')
+
+build() {
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../${pkgname}-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdegraphics/PKGBUILD b/kde-unstable/kdegraphics/PKGBUILD
new file mode 100644
index 000000000..9aaa3cacf
--- /dev/null
+++ b/kde-unstable/kdegraphics/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 124827 2011-05-24 16:19:00Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdegraphics
+pkgname=('kdegraphics-okular')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdegraphics')
+makedepends=('kdelibs' 'pkgconfig' 'cmake' 'automoc4' 'qimageblitz' 'ebook-tools'
+             'poppler-qt' 'libspectre' 'chmlib' 'djvulibre')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
+sha1sums=('69f191663db147cf481edd9f528fcae50c1dc2c3')
+
+build() {
+	cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../${pkgbase}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr
+	make
+}
+
+package_kdegraphics-okular() {
+	pkgdesc='Document Viewer'
+	depends=('kdebase-runtime' 'qimageblitz' 'poppler-qt' 'chmlib' 'djvulibre'
+             'ebook-tools' 'libspectre')
+	url="http://kde.org/applications/graphics/okular/"
+	install='kdegraphics-okular.install'
+	cd $srcdir/build/okular
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/okular
+	make DESTDIR=$pkgdir install
+}
diff --git a/kde-unstable/kdegraphics/kdegraphics-okular.install b/kde-unstable/kdegraphics/kdegraphics-okular.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdegraphics/kdegraphics-okular.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/kde-unstable/kdelibs/PKGBUILD b/kde-unstable/kdelibs/PKGBUILD
new file mode 100644
index 000000000..8bfff6584
--- /dev/null
+++ b/kde-unstable/kdelibs/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 124924 2011-05-25 08:50:46Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgname=kdelibs
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="KDE Core Libraries"
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+depends=('strigi' 'attica' 'libxss' 'xz' 'openssl' 'soprano' 'krb5'
+        'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt' 'grantlee'
+        'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr' 'xdg-utils'
+        'phonon' 'hicolor-icon-theme' 'upower' 'udisks' 'libxcursor'
+        'docbook-xsl')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'intltool' 'avahi' 'libgl'
+        'hspell')
+replaces=('kdelibs-experimental')
+install='kdelibs.install'
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
+        'kde-applications-menu.patch' 'archlinux-menu.patch'
+        'kcalendarsystem-fixed.patch')
+sha1sums=('313e051b08762ec68d7d7aaceb5471ede2bf66ac'
+          '86ee8c8660f19de8141ac99cd6943964d97a1ed7'
+          '63a850ab4196b9d06934f2b4a13acd9f7739bc67'
+          '13cbb58347dc7103684bb002b8f636fc0fa9e738')
+
+build() {
+       cd ${srcdir}/${pkgname}-${pkgver}
+
+       # avoid file conflict with gnome-menu
+       patch -p1 -i $srcdir/kde-applications-menu.patch
+       # add Archlinux menu entry
+       patch -p1 -i $srcdir/archlinux-menu.patch
+
+       # Already fixed upstream
+       patch -p1 -i "${srcdir}"/kcalendarsystem-fixed.patch
+
+       cd ${srcdir}
+       mkdir build
+       cd build
+       cmake ../${pkgname}-${pkgver} \
+               -DCMAKE_BUILD_TYPE=Release \
+               -DCMAKE_SKIP_RPATH=ON \
+               -DKDE_DISTRIBUTION_TEXT='Arch Linux' \
+               -DCMAKE_INSTALL_PREFIX=/usr \
+               -DSYSCONF_INSTALL_DIR=/etc \
+               -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \
+               -DKDE_DEFAULT_HOME='.kde4' \
+               -DWITH_FAM=OFF
+       make
+}
+
+package() {
+       cd $srcdir/build
+       make DESTDIR=$pkgdir install
+
+       # cert bundle seems to be hardcoded
+       # link it to the one from ca-certificates
+       rm -f $pkgdir/usr/share/apps/kssl/ca-bundle.crt
+       ln -sf /etc/ssl/certs/ca-certificates.crt $pkgdir/usr/share/apps/kssl/ca-bundle.crt
+}
diff --git a/kde-unstable/kdelibs/archlinux-menu.patch b/kde-unstable/kdelibs/archlinux-menu.patch
new file mode 100644
index 000000000..546784fa2
--- /dev/null
+++ b/kde-unstable/kdelibs/archlinux-menu.patch
@@ -0,0 +1,22 @@
+--- kdelibs-4.3.98/kded/applications.menu	2010-01-31 19:28:11.000000000 +0000
++++ kdelibs-4.3.98/kded/applications.menu	2010-01-31 22:25:53.556043077 +0000
+@@ -16,11 +16,19 @@
+ 	
+ 	
+ 		
++		Arch Linux
+ 		Applications
+ 		
+ 	
+ 
+ 	
++		Arch Linux                                                                                                   
++		Archlinux.directory                                                                               
++		                                                                                                                
++			Archlinux                                                                                           
++		
++	
++	
+ 		Applications
+ 		kde-unknown.directory
+ 		
diff --git a/kde-unstable/kdelibs/kcalendarsystem-fixed.patch b/kde-unstable/kdelibs/kcalendarsystem-fixed.patch
new file mode 100644
index 000000000..d97a9b904
--- /dev/null
+++ b/kde-unstable/kdelibs/kcalendarsystem-fixed.patch
@@ -0,0 +1,18073 @@
+diff --git a/kdecore/date/kcalendarera.cpp b/kdecore/date/kcalendarera.cpp
+index d56c265..0a21e37 100644
+--- a/kdecore/date/kcalendarera.cpp
++++ b/kdecore/date/kcalendarera.cpp
+@@ -71,21 +71,21 @@ int KCalendarEra::direction() const
+     return m_direction;
+ }
+ 
+-bool KCalendarEra::isInEra( const QDate &date ) const
++bool KCalendarEra::isInEra(const QDate &date) const
+ {
+-    if ( m_endDate < m_startDate ) {
+-        return ( date >= m_endDate && date <= m_startDate );
++    if (m_endDate < m_startDate) {
++        return (date >= m_endDate && date <= m_startDate);
+     } else {
+-        return ( date >= m_startDate && date <= m_endDate );
++        return (date >= m_startDate && date <= m_endDate);
+     }
+ }
+ 
+-int KCalendarEra::yearInEra( int year ) const
++int KCalendarEra::yearInEra(int year) const
+ {
+-    return ( ( year - m_startYear ) * m_direction ) + m_offset;
++    return ((year - m_startYear) * m_direction) + m_offset;
+ }
+ 
+-int KCalendarEra::year( int yearInEra ) const
++int KCalendarEra::year(int yearInEra) const
+ {
+-    return ( ( yearInEra - m_offset ) / m_direction ) + m_startYear;
++    return ((yearInEra - m_offset) / m_direction) + m_startYear;
+ }
+diff --git a/kdecore/date/kcalendarera_p.h b/kdecore/date/kcalendarera_p.h
+index f1f05f7..d1564ea 100644
+--- a/kdecore/date/kcalendarera_p.h
++++ b/kdecore/date/kcalendarera_p.h
+@@ -56,9 +56,9 @@ public:
+     int direction() const;
+     int offset() const;
+ 
+-    bool isInEra( const QDate &date ) const;
+-    int yearInEra( int year ) const;
+-    int year( int yearInEra ) const;
++    bool isInEra(const QDate &date) const;
++    int yearInEra(int year) const;
++    int year(int yearInEra) const;
+ 
+ private:
+     friend class KCalendarSystemPrivate;
+diff --git a/kdecore/date/kcalendarsystem.cpp b/kdecore/date/kcalendarsystem.cpp
+index ccc02cd..77ef0e9 100644
+--- a/kdecore/date/kcalendarsystem.cpp
++++ b/kdecore/date/kcalendarsystem.cpp
+@@ -34,91 +34,92 @@
+ #include "kcalendarsystemcoptic_p.h"
+ #include "kcalendarsystemethiopian_p.h"
+ #include "kcalendarsystemgregorian_p.h"
+-#include "kcalendarsystemgregorianproleptic_p.h"
+ #include "kcalendarsystemhebrew_p.h"
+-#include "kcalendarsystemhijri_p.h"
+ #include "kcalendarsystemindiannational_p.h"
++#include "kcalendarsystemislamiccivil_p.h"
+ #include "kcalendarsystemjalali_p.h"
+ #include "kcalendarsystemjapanese_p.h"
+ #include "kcalendarsystemjulian_p.h"
+ #include "kcalendarsystemminguo_p.h"
++#include "kcalendarsystemqdate_p.h"
+ #include "kcalendarsystemthai_p.h"
+ 
+-KCalendarSystem *KCalendarSystem::create( const QString &calendarType, const KLocale *locale )
++KCalendarSystem *KCalendarSystem::create(const QString &calendarType, const KLocale *locale)
+ {
+-    return create( calendarSystemForCalendarType( calendarType ), locale );
++    return create(calendarSystem(calendarType), locale);
+ }
+ 
+-KCalendarSystem *KCalendarSystem::create( const QString &calendarType, KSharedConfig::Ptr config,
+-                                          const KLocale *locale )
++KCalendarSystem *KCalendarSystem::create(const QString &calendarType, KSharedConfig::Ptr config,
++                                         const KLocale *locale)
+ {
+-    return create( calendarSystemForCalendarType( calendarType ), config, locale );
++    return create(calendarSystem(calendarType), config, locale);
+ }
+ 
+ QStringList KCalendarSystem::calendarSystems()
+ {
+     QStringList lst;
+ 
+-    lst.append( QLatin1String("coptic") );
+-    lst.append( QLatin1String("ethiopian") );
+-    lst.append( QLatin1String("gregorian") );
+-    lst.append( QLatin1String("gregorian-proleptic") );
+-    lst.append( QLatin1String("hebrew") );
+-    lst.append( QLatin1String("hijri") );
+-    lst.append( QLatin1String("indian-national") );
+-    lst.append( QLatin1String("jalali") );
+-    lst.append( QLatin1String("japanese") );
+-    lst.append( QLatin1String("julian") );
+-    lst.append( QLatin1String("minguo") );
+-    lst.append( QLatin1String("thai") );
++    lst.append(QLatin1String("coptic"));
++    lst.append(QLatin1String("ethiopian"));
++    lst.append(QLatin1String("gregorian"));
++    lst.append(QLatin1String("gregorian-proleptic"));
++    lst.append(QLatin1String("hebrew"));
++    lst.append(QLatin1String("hijri"));
++    lst.append(QLatin1String("indian-national"));
++    lst.append(QLatin1String("jalali"));
++    lst.append(QLatin1String("japanese"));
++    lst.append(QLatin1String("julian"));
++    lst.append(QLatin1String("minguo"));
++    lst.append(QLatin1String("thai"));
+ 
+     return lst;
+ }
+ 
+-QString KCalendarSystem::calendarLabel( const QString &calendarType )
++QString KCalendarSystem::calendarLabel(const QString &calendarType)
+ {
+-    if ( calendarSystems().contains( calendarType ) ) {
+-        return KCalendarSystem::calendarLabel( KCalendarSystem::calendarSystemForCalendarType( calendarType ) );
++    if (calendarSystemsList().contains(calendarSystem(calendarType))) {
++        return KCalendarSystem::calendarLabel(KCalendarSystem::calendarSystem(calendarType));
+     } else {
+-        return ki18nc( "@item Calendar system", "Invalid Calendar Type" ).toString( KGlobal::locale() );
++        return ki18nc("@item Calendar system", "Invalid Calendar Type").toString(KGlobal::locale());
+     }
+ }
+ 
+-KCalendarSystem *KCalendarSystem::create( KLocale::CalendarSystem calendarSystem, const KLocale *locale )
++KCalendarSystem *KCalendarSystem::create(KLocale::CalendarSystem calendarSystem, const KLocale *locale)
+ {
+-    return create( calendarSystem, KSharedConfig::Ptr(), locale );
++    return create(calendarSystem, KSharedConfig::Ptr(), locale);
+ }
+ 
+-KCalendarSystem *KCalendarSystem::create( KLocale::CalendarSystem calendarSystem, KSharedConfig::Ptr config,
+-                                          const KLocale *locale )
++KCalendarSystem *KCalendarSystem::create(KLocale::CalendarSystem calendarSystem,
++                                         KSharedConfig::Ptr config,
++                                         const KLocale *locale)
+ {
+-    switch ( calendarSystem ) {
++    switch (calendarSystem) {
+     case KLocale::QDateCalendar:
+-        return new KCalendarSystemGregorian( config, locale );
++        return new KCalendarSystemQDate(config, locale);
+     case KLocale::CopticCalendar:
+-        return new KCalendarSystemCoptic( config, locale );
++        return new KCalendarSystemCoptic(config, locale);
+     case KLocale::EthiopianCalendar:
+-        return new KCalendarSystemEthiopian( config, locale );
++        return new KCalendarSystemEthiopian(config, locale);
+     case KLocale::GregorianCalendar:
+-        return new KCalendarSystemGregorianProleptic( config, locale );
++        return new KCalendarSystemGregorian(config, locale);
+     case KLocale::HebrewCalendar:
+-        return new KCalendarSystemHebrew( config, locale );
+-    case KLocale::IslamicCivilCalendar:
+-        return new KCalendarSystemHijri( config, locale );
++        return new KCalendarSystemHebrew(config, locale);
+     case KLocale::IndianNationalCalendar:
+-        return new KCalendarSystemIndianNational( config, locale );
++        return new KCalendarSystemIndianNational(config, locale);
++    case KLocale::IslamicCivilCalendar:
++        return new KCalendarSystemIslamicCivil(config, locale);
+     case KLocale::JalaliCalendar:
+-        return new KCalendarSystemJalali( config, locale );
++        return new KCalendarSystemJalali(config, locale);
+     case KLocale::JapaneseCalendar:
+-        return new KCalendarSystemJapanese( config, locale );
++        return new KCalendarSystemJapanese(config, locale);
+     case KLocale::JulianCalendar:
+-        return new KCalendarSystemJulian( config, locale );
++        return new KCalendarSystemJulian(config, locale);
+     case KLocale::MinguoCalendar:
+-        return new KCalendarSystemMinguo( config, locale );
++        return new KCalendarSystemMinguo(config, locale);
+     case KLocale::ThaiCalendar:
+-        return new KCalendarSystemThai( config, locale );
++        return new KCalendarSystemThai(config, locale);
+     default:
+-        return new KCalendarSystemGregorian( config, locale );
++        return new KCalendarSystemQDate(config, locale);
+     }
+ }
+ 
+@@ -126,90 +127,127 @@ QList KCalendarSystem::calendarSystemsList()
+ {
+     QList list;
+ 
+-    list.append( KLocale::QDateCalendar );
+-    list.append( KLocale::CopticCalendar );
+-    list.append( KLocale::EthiopianCalendar );
+-    list.append( KLocale::GregorianCalendar );
+-    list.append( KLocale::HebrewCalendar );
+-    list.append( KLocale::IslamicCivilCalendar );
+-    list.append( KLocale::IndianNationalCalendar );
+-    list.append( KLocale::JalaliCalendar );
+-    list.append( KLocale::JapaneseCalendar );
+-    list.append( KLocale::JulianCalendar );
+-    list.append( KLocale::MinguoCalendar );
+-    list.append( KLocale::ThaiCalendar );
++    list.append(KLocale::QDateCalendar);
++    list.append(KLocale::CopticCalendar);
++    list.append(KLocale::EthiopianCalendar);
++    list.append(KLocale::GregorianCalendar);
++    list.append(KLocale::HebrewCalendar);
++    list.append(KLocale::IslamicCivilCalendar);
++    list.append(KLocale::IndianNationalCalendar);
++    list.append(KLocale::JalaliCalendar);
++    list.append(KLocale::JapaneseCalendar);
++    list.append(KLocale::JulianCalendar);
++    list.append(KLocale::MinguoCalendar);
++    list.append(KLocale::ThaiCalendar);
+ 
+     return list;
+ }
+ 
+-QString KCalendarSystem::calendarLabel( KLocale::CalendarSystem calendarSystem, const KLocale *locale )
++QString KCalendarSystem::calendarLabel(KLocale::CalendarSystem calendarSystem, const KLocale *locale)
+ {
+-    switch ( calendarSystem ) {
++    switch (calendarSystem) {
+     case KLocale::QDateCalendar:
+-        return ki18nc( "@item Calendar system", "Gregorian" ).toString( locale );
++        return ki18nc("@item Calendar system", "Gregorian").toString(locale);
+     case KLocale::CopticCalendar:
+-        return ki18nc( "@item Calendar system", "Coptic" ).toString( locale );
++        return ki18nc("@item Calendar system", "Coptic").toString(locale);
+     case KLocale::EthiopianCalendar:
+-        return ki18nc( "@item Calendar system", "Ethiopian" ).toString( locale );
++        return ki18nc("@item Calendar system", "Ethiopian").toString(locale);
+     case KLocale::GregorianCalendar:
+-        return ki18nc( "@item Calendar system", "Gregorian (Proleptic)" ).toString( locale );
++        return ki18nc("@item Calendar system", "Gregorian (Proleptic)").toString(locale);
+     case KLocale::HebrewCalendar:
+-        return ki18nc( "@item Calendar system", "Hebrew" ).toString( locale );
++        return ki18nc("@item Calendar system", "Hebrew").toString(locale);
+     case KLocale::IslamicCivilCalendar:
+-        return ki18nc( "@item Calendar system", "Islamic / Hijri (Civil)" ).toString( locale );
++        return ki18nc("@item Calendar system", "Islamic / Hijri (Civil)").toString(locale);
+     case KLocale::IndianNationalCalendar:
+-        return ki18nc( "@item Calendar system", "Indian National" ).toString( locale );
++        return ki18nc("@item Calendar system", "Indian National").toString(locale);
+     case KLocale::JalaliCalendar:
+-        return ki18nc( "@item Calendar system", "Jalali" ).toString( locale );
++        return ki18nc("@item Calendar system", "Jalali").toString(locale);
+     case KLocale::JapaneseCalendar:
+-        return ki18nc( "@item Calendar system", "Japanese" ).toString( locale );
++        return ki18nc("@item Calendar system", "Japanese").toString(locale);
+     case KLocale::JulianCalendar:
+-        return ki18nc( "@item Calendar system", "Julian" ).toString( locale );
++        return ki18nc("@item Calendar system", "Julian").toString(locale);
+     case KLocale::MinguoCalendar:
+-        return ki18nc( "@item Calendar system", "Taiwanese" ).toString( locale );
++        return ki18nc("@item Calendar system", "Taiwanese").toString(locale);
+     case KLocale::ThaiCalendar:
+-        return ki18nc( "@item Calendar system", "Thai" ).toString( locale );
++        return ki18nc("@item Calendar system", "Thai").toString(locale);
+     }
+ 
+-    return ki18nc( "@item Calendar system", "Invalid Calendar Type" ).toString( locale );
++    return ki18nc("@item Calendar system", "Invalid Calendar Type").toString(locale);
+ }
+ 
+-KLocale::CalendarSystem KCalendarSystem::calendarSystemForCalendarType( const QString &calendarType )
++KLocale::CalendarSystem KCalendarSystem::calendarSystemForCalendarType(const QString &calendarType )
+ {
+-    if ( calendarType == QLatin1String( "coptic" ) ) {
++    return calendarSystem( calendarType );
++}
++
++KLocale::CalendarSystem KCalendarSystem::calendarSystem(const QString &calendarType )
++{
++    if (calendarType == QLatin1String("coptic")) {
+         return KLocale::CopticCalendar;
+-    } else if ( calendarType == QLatin1String( "ethiopian" ) ) {
++    } else if (calendarType == QLatin1String("ethiopian")) {
+         return KLocale::EthiopianCalendar;
+-    } else if ( calendarType == QLatin1String( "gregorian" ) ) {
++    } else if (calendarType == QLatin1String("gregorian")) {
+         return KLocale::QDateCalendar;
+-    } else if ( calendarType == QLatin1String( "gregorian-proleptic" ) ) {
++    } else if (calendarType == QLatin1String("gregorian-proleptic")) {
+         return KLocale::GregorianCalendar;
+-    } else if ( calendarType == QLatin1String( "hebrew" ) ) {
++    } else if (calendarType == QLatin1String("hebrew")) {
+         return KLocale::HebrewCalendar;
+-    } else if ( calendarType == QLatin1String( "hijri" ) ) {
++    } else if (calendarType == QLatin1String("hijri")) {
+         return KLocale::IslamicCivilCalendar;
+-    } else if ( calendarType == QLatin1String( "indian-national" ) ) {
++    } else if (calendarType == QLatin1String("indian-national")) {
+         return KLocale::IndianNationalCalendar;
+-    } else if ( calendarType == QLatin1String( "jalali" ) ) {
++    } else if (calendarType == QLatin1String("jalali")) {
+         return KLocale::JalaliCalendar;
+-    } else if ( calendarType == QLatin1String( "japanese" ) ) {
++    } else if (calendarType == QLatin1String("japanese")) {
+         return KLocale::JapaneseCalendar;
+-    } else if ( calendarType == QLatin1String( "julian" ) ) {
++    } else if (calendarType == QLatin1String("julian")) {
+         return KLocale::JulianCalendar;
+-    } else if ( calendarType == QLatin1String( "minguo" ) ) {
++    } else if (calendarType == QLatin1String("minguo")) {
+         return KLocale::MinguoCalendar;
+-    } else if ( calendarType == QLatin1String( "thai" ) ) {
++    } else if (calendarType == QLatin1String("thai")) {
+         return KLocale::ThaiCalendar;
+     } else {
+         return KLocale::QDateCalendar;
+     }
+ }
+ 
++QString KCalendarSystem::calendarType(KLocale::CalendarSystem calendarSystem)
++{
++    if (calendarSystem == KLocale::QDateCalendar) {
++        return QLatin1String("gregorian");
++    } else if (calendarSystem == KLocale::CopticCalendar) {
++        return QLatin1String("coptic");
++    } else if (calendarSystem == KLocale::EthiopianCalendar) {
++        return QLatin1String("ethiopian");
++    } else if (calendarSystem == KLocale::GregorianCalendar) {
++        return QLatin1String("gregorian-proleptic");
++    } else if (calendarSystem == KLocale::HebrewCalendar) {
++        return QLatin1String("hebrew");
++    } else if (calendarSystem == KLocale::IndianNationalCalendar) {
++        return QLatin1String("indian-national");
++    } else if (calendarSystem == KLocale::IslamicCivilCalendar) {
++        return QLatin1String("hijri");
++    } else if (calendarSystem == KLocale::JalaliCalendar) {
++        return QLatin1String("jalali");
++    } else if (calendarSystem == KLocale::JapaneseCalendar) {
++        return QLatin1String("japanese");
++    } else if (calendarSystem == KLocale::JulianCalendar) {
++        return QLatin1String("julian");
++    } else if (calendarSystem == KLocale::MinguoCalendar) {
++        return QLatin1String("minguo");
++    } else if (calendarSystem == KLocale::ThaiCalendar) {
++        return QLatin1String("thai");
++    } else {
++        return QLatin1String("gregorian");
++    }
++}
++
+ // Shared d pointer base class definitions
+ 
+-KCalendarSystemPrivate::KCalendarSystemPrivate( KCalendarSystem *q_ptr ): q( q_ptr ),
+-                                                                          m_eraList( 0 ),
+-                                                                          m_shortYearWindowStartYear( 2000 )
++KCalendarSystemPrivate::KCalendarSystemPrivate(KCalendarSystem *q_ptr)
++                      : q(q_ptr),
++                        m_eraList(0),
++                        m_shortYearWindowStartYear(2000)
+ {
+ }
+ 
+@@ -230,31 +268,31 @@ KLocale::CalendarSystem KCalendarSystemPrivate::calendarSystem() const
+ // This method MUST be re-implemented in any new Calendar System
+ void KCalendarSystemPrivate::loadDefaultEraList()
+ {
+-    addEra( '-', 1, q->epoch().addDays( -1 ), -1, q->earliestValidDate(), QLatin1String("Before KDE"), QLatin1String("BK"), QLatin1String("%Ey %EC") );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), QLatin1String("Anno KDE"), QLatin1String("AK"), QLatin1String("%Ey %EC") );
++    addEra('-', 1, q->epoch().addDays(-1), -1, q->earliestValidDate(), QLatin1String("Before KDE"), QLatin1String("BK"), QLatin1String("%Ey %EC"));
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), QLatin1String("Anno KDE"), QLatin1String("AK"), QLatin1String("%Ey %EC"));
+ }
+ 
+ // Dummy version using Gregorian as an example
+ // This method MUST be re-implemented in any new Calendar System
+-int KCalendarSystemPrivate::monthsInYear( int year ) const
++int KCalendarSystemPrivate::monthsInYear(int year) const
+ {
+-    Q_UNUSED( year )
++    Q_UNUSED(year)
+     return 12;
+ }
+ 
+ // Dummy version using Gregorian as an example
+ // This method MUST be re-implemented in any new Calendar System
+-int KCalendarSystemPrivate::daysInMonth( int year, int month ) const
++int KCalendarSystemPrivate::daysInMonth(int year, int month) const
+ {
+-    if ( month == 2 ) {
+-        if ( isLeapYear( year ) ) {
++    if (month == 2) {
++        if (isLeapYear(year)) {
+             return 29;
+         } else {
+             return 28;
+         }
+     }
+ 
+-    if ( month == 4 || month == 6 || month == 9 || month == 11 ) {
++    if (month == 4 || month == 6 || month == 9 || month == 11) {
+         return 30;
+     }
+ 
+@@ -263,9 +301,9 @@ int KCalendarSystemPrivate::daysInMonth( int year, int month ) const
+ 
+ // Dummy version using Gregorian as an example
+ // This method MUST be re-implemented in any new Calendar System
+-int KCalendarSystemPrivate::daysInYear( int year ) const
++int KCalendarSystemPrivate::daysInYear(int year) const
+ {
+-    if ( isLeapYear( year ) ) {
++    if (isLeapYear(year)) {
+         return 366;
+     } else {
+         return 365;
+@@ -281,16 +319,16 @@ int KCalendarSystemPrivate::daysInWeek() const
+ 
+ // Dummy version using Gregorian as an example
+ // This method MUST be re-implemented in any new Calendar System
+-bool KCalendarSystemPrivate::isLeapYear( int year ) const
++bool KCalendarSystemPrivate::isLeapYear(int year) const
+ {
+-    if ( year < 1 ) {
++    if (year < 1) {
+         year = year + 1;
+     }
+ 
+-    if ( year % 4 == 0 ) {
+-        if ( year % 100 != 0 ) {
++    if (year % 4 == 0) {
++        if (year % 100 != 0) {
+             return true;
+-        } else if ( year % 400 == 0 ) {
++        } else if (year % 400 == 0) {
+             return true;
+         }
+     }
+@@ -346,120 +384,120 @@ int KCalendarSystemPrivate::latestValidYear() const
+ 
+ // Dummy version
+ // This method MUST be re-implemented in any new Calendar System
+-QString KCalendarSystemPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
++QString KCalendarSystemPrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
+ {
+-    Q_UNUSED( month );
+-    Q_UNUSED( year );
+-    Q_UNUSED( format );
+-    Q_UNUSED( possessive );
++    Q_UNUSED(month);
++    Q_UNUSED(year);
++    Q_UNUSED(format);
++    Q_UNUSED(possessive);
+     return QString();
+ }
+ 
+ // Dummy version
+ // This method MUST be re-implemented in any new Calendar System
+-QString KCalendarSystemPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
++QString KCalendarSystemPrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
+ {
+-    Q_UNUSED( weekDay );
+-    Q_UNUSED( format );
++    Q_UNUSED(weekDay);
++    Q_UNUSED(format);
+     return QString();
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew.
+-int KCalendarSystemPrivate::week( const QDate &date, KLocale::WeekNumberSystem weekNumberSystem, int *yearNum ) const
++int KCalendarSystemPrivate::week(const QDate &date, KLocale::WeekNumberSystem weekNumberSystem, int *yearNum) const
+ {
+     int y, m, d;
+-    q->julianDayToDate( date.toJulianDay(), y, m, d );
++    q->julianDayToDate(date.toJulianDay(), y, m, d);
+ 
+-    switch ( weekNumberSystem ) {
++    switch (weekNumberSystem) {
+     case KLocale::IsoWeekNumber:
+-        return isoWeekNumber( date, yearNum );
++        return isoWeekNumber(date, yearNum);
+     case KLocale::FirstFullWeek:
+-        return regularWeekNumber( date, locale()->weekStartDay(), 0, yearNum );
++        return regularWeekNumber(date, locale()->weekStartDay(), 0, yearNum);
+     case KLocale::FirstPartialWeek:
+-        return regularWeekNumber( date, locale()->weekStartDay(), 1, yearNum );
++        return regularWeekNumber(date, locale()->weekStartDay(), 1, yearNum);
+     case KLocale::SimpleWeek:
+-        return simpleWeekNumber( date, yearNum );
++        return simpleWeekNumber(date, yearNum);
+     case KLocale::DefaultWeekNumber:
+     default:
+-        return week( date, locale()->weekNumberSystem(), yearNum );
++        return week(date, locale()->weekNumberSystem(), yearNum);
+     }
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew.
+-int KCalendarSystemPrivate::isoWeekNumber( const QDate &date, int *yearNum ) const
++int KCalendarSystemPrivate::isoWeekNumber(const QDate &date, int *yearNum) const
+ {
+     int y, m, d;
+-    q->julianDayToDate( date.toJulianDay(), y, m, d );
++    q->julianDayToDate(date.toJulianDay(), y, m, d);
+ 
+     QDate firstDayWeek1, lastDay;
+     int week;
+     int weekDay1, dayOfWeek1InYear;
+ 
+     // let's guess 1st day of 1st week
+-    firstDayWeek1 = firstDayOfYear( y );
+-    weekDay1 = dayOfWeek( firstDayWeek1 );
++    firstDayWeek1 = firstDayOfYear(y);
++    weekDay1 = dayOfWeek(firstDayWeek1);
+ 
+     // iso 8601: week 1  is the first containing thursday and week starts on monday
+-    if ( weekDay1 > 4 /*Thursday*/ ) {
+-        firstDayWeek1 = q->addDays( firstDayWeek1 , daysInWeek() - weekDay1 + 1 ); // next monday
++    if (weekDay1 > 4 /*Thursday*/) {
++        firstDayWeek1 = q->addDays(firstDayWeek1 , daysInWeek() - weekDay1 + 1);   // next monday
+     }
+ 
+-    dayOfWeek1InYear = dayOfYear( firstDayWeek1 );
++    dayOfWeek1InYear = dayOfYear(firstDayWeek1);
+ 
+     // our date in prev year's week
+-    if ( dayOfYear( date ) < dayOfWeek1InYear ) {
+-        if ( yearNum ) {
+-            *yearNum = addYears( y, - 1 );
++    if (dayOfYear(date) < dayOfWeek1InYear) {
++        if (yearNum) {
++            *yearNum = addYears(y, - 1);
+         }
+-        return isoWeeksInYear( addYears( y, - 1 ) );
++        return isoWeeksInYear(addYears(y, - 1));
+     }
+ 
+     // let's check if its last week belongs to next year
+-    lastDay = lastDayOfYear( y );
++    lastDay = lastDayOfYear(y);
+ 
+     // if our date is in last week && 1st week in next year has thursday
+-    if ( ( dayOfYear( date ) >= daysInYear( y ) - dayOfWeek( lastDay ) + 1 )
+-            && dayOfWeek( lastDay ) < 4 ) {
+-        if ( yearNum ) {
+-            * yearNum = addYears( y, 1 );
++    if ((dayOfYear(date) >= daysInYear(y) - dayOfWeek(lastDay) + 1)
++            && dayOfWeek(lastDay) < 4) {
++        if (yearNum) {
++            * yearNum = addYears(y, 1);
+         }
+         week = 1;
+     } else {
+         // To calculate properly the number of weeks from day a to x let's make a day 1 of week
+-        if( weekDay1 < 5 ) {
+-            firstDayWeek1 = q->addDays( firstDayWeek1, -( weekDay1 - 1 ) );
++        if (weekDay1 < 5) {
++            firstDayWeek1 = q->addDays(firstDayWeek1, -(weekDay1 - 1));
+         }
+ 
+-        if ( yearNum ) {
++        if (yearNum) {
+             * yearNum = y;
+         }
+ 
+-        week = firstDayWeek1.daysTo( date ) / daysInWeek() + 1;
++        week = firstDayWeek1.daysTo(date) / daysInWeek() + 1;
+     }
+ 
+     return week;
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew.
+-int KCalendarSystemPrivate::regularWeekNumber( const QDate &date, int weekStartDay, int firstWeekNumber, int *weekYear ) const
++int KCalendarSystemPrivate::regularWeekNumber(const QDate &date, int weekStartDay, int firstWeekNumber, int *weekYear) const
+ {
+     int y, m, d;
+-    q->julianDayToDate( date.toJulianDay(), y, m, d );
++    q->julianDayToDate(date.toJulianDay(), y, m, d);
+ 
+-    int firstWeekDayOffset = ( dayOfWeek( date ) - weekStartDay + daysInWeek() ) % daysInWeek();
+-    int dayInYear = date.toJulianDay() - firstDayOfYear( y ).toJulianDay(); // 0 indexed
+-    int week = ( ( dayInYear - firstWeekDayOffset + daysInWeek() ) / daysInWeek() );
++    int firstWeekDayOffset = (dayOfWeek(date) - weekStartDay + daysInWeek()) % daysInWeek();
++    int dayInYear = date.toJulianDay() - firstDayOfYear(y).toJulianDay();   // 0 indexed
++    int week = ((dayInYear - firstWeekDayOffset + daysInWeek()) / daysInWeek());
+ 
+-    if ( dayOfWeek( firstDayOfYear( y ) ) != weekStartDay ) {
++    if (dayOfWeek(firstDayOfYear(y)) != weekStartDay) {
+         week = week + firstWeekNumber;
+     }
+ 
+-    if ( week < 1 ) {
++    if (week < 1) {
+         y = y - 1;
+-        week = regularWeeksInYear( y, weekStartDay, firstWeekNumber );
++        week = regularWeeksInYear(y, weekStartDay, firstWeekNumber);
+     }
+ 
+-    if ( weekYear ) {
++    if (weekYear) {
+         *weekYear = y;
+     }
+ 
+@@ -467,67 +505,67 @@ int KCalendarSystemPrivate::regularWeekNumber( const QDate &date, int weekStartD
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew.
+-int KCalendarSystemPrivate::simpleWeekNumber( const QDate &date, int *yearNum ) const
++int KCalendarSystemPrivate::simpleWeekNumber(const QDate &date, int *yearNum) const
+ {
+     int y, m, d;
+-    q->julianDayToDate( date.toJulianDay(), y, m, d );
+-    if ( yearNum ) {
++    q->julianDayToDate(date.toJulianDay(), y, m, d);
++    if (yearNum) {
+         *yearNum = y;
+     }
+-    return ( ( date.toJulianDay() - firstDayOfYear( y ).toJulianDay() ) / daysInWeek() ) + 1;
++    return ((date.toJulianDay() - firstDayOfYear(y).toJulianDay()) / daysInWeek()) + 1;
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew.
+-int KCalendarSystemPrivate::weeksInYear( int year, KLocale::WeekNumberSystem weekNumberSystem ) const
++int KCalendarSystemPrivate::weeksInYear(int year, KLocale::WeekNumberSystem weekNumberSystem) const
+ {
+-    switch ( weekNumberSystem ) {
++    switch (weekNumberSystem) {
+     case KLocale::IsoWeekNumber:
+-        return isoWeeksInYear( year );
++        return isoWeeksInYear(year);
+     case KLocale::FirstFullWeek:
+-        return regularWeeksInYear( year, locale()->weekStartDay(), 0 );
++        return regularWeeksInYear(year, locale()->weekStartDay(), 0);
+     case KLocale::FirstPartialWeek:
+-        return regularWeeksInYear( year, locale()->weekStartDay(), 1 );
++        return regularWeeksInYear(year, locale()->weekStartDay(), 1);
+     case KLocale::SimpleWeek:
+-        return simpleWeeksInYear( year );
++        return simpleWeeksInYear(year);
+     case KLocale::DefaultWeekNumber:
+     default:
+-        return weeksInYear( year, locale()->weekNumberSystem() );
++        return weeksInYear(year, locale()->weekNumberSystem());
+     }
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew.
+-int KCalendarSystemPrivate::isoWeeksInYear( int year ) const
++int KCalendarSystemPrivate::isoWeeksInYear(int year) const
+ {
+-    QDate lastDayOfThisYear = lastDayOfYear( year );
++    QDate lastDayOfThisYear = lastDayOfYear(year);
+ 
+     int weekYear = year;
+-    int lastWeekInThisYear = isoWeekNumber( lastDayOfThisYear, &weekYear );
++    int lastWeekInThisYear = isoWeekNumber(lastDayOfThisYear, &weekYear);
+ 
+     // If error, or the last day of the year is in the first week of next year use the week before
+-    if ( lastWeekInThisYear < 1 || weekYear != year ) {
+-        lastWeekInThisYear = isoWeekNumber( q->addDays( lastDayOfThisYear, -7 ), &weekYear );
++    if (lastWeekInThisYear < 1 || weekYear != year) {
++        lastWeekInThisYear = isoWeekNumber(q->addDays(lastDayOfThisYear, -7), &weekYear);
+     }
+ 
+     return lastWeekInThisYear;
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew.
+-int KCalendarSystemPrivate::regularWeeksInYear( int year, int weekStartDay, int firstWeekNumber ) const
++int KCalendarSystemPrivate::regularWeeksInYear(int year, int weekStartDay, int firstWeekNumber) const
+ {
+-    return regularWeekNumber( lastDayOfYear( year ), weekStartDay, firstWeekNumber, 0 );
++    return regularWeekNumber(lastDayOfYear(year), weekStartDay, firstWeekNumber, 0);
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew.
+-int KCalendarSystemPrivate::simpleWeeksInYear( int year ) const
++int KCalendarSystemPrivate::simpleWeeksInYear(int year) const
+ {
+-    return simpleWeekNumber( lastDayOfYear( year ), 0 );
++    return simpleWeekNumber(lastDayOfYear(year), 0);
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew.
+ // Works for calendars with constant number of months, or where leap month is last month of year
+ // Will not work for Hebrew or others where leap month is inserted in middle of year
+-void KCalendarSystemPrivate::dateDifference( const QDate &fromDate, const QDate &toDate,
+-                                             int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction ) const
++void KCalendarSystemPrivate::dateDifference(const QDate &fromDate, const QDate &toDate,
++                                            int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction) const
+ {
+     // This could be optimised a little but is left in full as it's easier to understand
+     int dy = 0;
+@@ -535,171 +573,171 @@ void KCalendarSystemPrivate::dateDifference( const QDate &fromDate, const QDate
+     int dd = 0;
+     int dir = 1;
+ 
+-    if ( toDate < fromDate ) {
+-        dateDifference( toDate, fromDate, &dy, &dm, &dd, 0 );
++    if (toDate < fromDate) {
++        dateDifference(toDate, fromDate, &dy, &dm, &dd, 0);
+         dir = -1;
+-    } else if ( toDate > fromDate ) {
++    } else if (toDate > fromDate) {
+ 
+-        int fromYear = q->year( fromDate );
+-        int toYear = q->year( toDate );
+-        int fromMonth = q->month( fromDate );
+-        int toMonth = q->month( toDate );
+-        int fromDay = q->day( fromDate );
+-        int toDay = q->day( toDate );
++        int fromYear = q->year(fromDate);
++        int toYear = q->year(toDate);
++        int fromMonth = q->month(fromDate);
++        int toMonth = q->month(toDate);
++        int fromDay = q->day(fromDate);
++        int toDay = q->day(toDate);
+ 
+-        int monthsInPrevYear = monthsInYear( addYears( toYear, -1 ) );
+-        int daysInPrevMonth = q->daysInMonth( q->addMonths( toDate, -1 ) );
+-        int daysInFromMonth = daysInMonth( fromYear, fromMonth );
+-        int daysInToMonth = daysInMonth( toYear, toMonth );
++        int monthsInPrevYear = monthsInYear(addYears(toYear, -1));
++        int daysInPrevMonth = q->daysInMonth(q->addMonths(toDate, -1));
++        int daysInFromMonth = daysInMonth(fromYear, fromMonth);
++        int daysInToMonth = daysInMonth(toYear, toMonth);
+ 
+         // Calculate years difference
+-        if ( toYear == fromYear ) {
++        if (toYear == fromYear) {
+             dy = 0;
+-        } else if ( toMonth > fromMonth ) {
+-            dy = differenceYearNumbers( fromYear, toYear );
+-        } else if ( toMonth < fromMonth ) {
+-            dy = differenceYearNumbers( fromYear, toYear ) - 1;
++        } else if (toMonth > fromMonth) {
++            dy = differenceYearNumbers(fromYear, toYear);
++        } else if (toMonth < fromMonth) {
++            dy = differenceYearNumbers(fromYear, toYear) - 1;
+         } else { // toMonth == fromMonth
+             // Allow for last day of month to last day of month and leap days
+             // e.g. 2000-02-29 to 2001-02-28 is 1 year not 0 years
+-            if ( ( toDay >= fromDay ) || ( fromDay == daysInFromMonth && toDay == daysInToMonth ) ) {
+-                dy = differenceYearNumbers( fromYear, toYear );
++            if ((toDay >= fromDay) || (fromDay == daysInFromMonth && toDay == daysInToMonth)) {
++                dy = differenceYearNumbers(fromYear, toYear);
+             } else {
+-                dy = differenceYearNumbers( fromYear, toYear ) - 1;
++                dy = differenceYearNumbers(fromYear, toYear) - 1;
+             }
+         }
+ 
+         // Calculate months and days difference
+-        if ( toDay >= fromDay ) {
+-            dm = ( monthsInPrevYear + toMonth - fromMonth ) % monthsInPrevYear;
++        if (toDay >= fromDay) {
++            dm = (monthsInPrevYear + toMonth - fromMonth) % monthsInPrevYear;
+             dd = toDay - fromDay;
+         } else { // toDay < fromDay
+             // Allow for last day of month to last day of month and leap days
+             // e.g. 2010-03-31 to 2010-04-30 is 1 month
+             //      2000-02-29 to 2001-02-28 is 1 year
+             //      2000-02-29 to 2001-03-01 is 1 year 1 day
+-            int prevMonth = q->month( q->addMonths( toDate, -1 ) );
+-            if ( fromDay == daysInFromMonth && toDay == daysInToMonth ) {
+-                dm = ( monthsInPrevYear + toMonth - fromMonth ) % monthsInPrevYear;
++            int prevMonth = q->month(q->addMonths(toDate, -1));
++            if (fromDay == daysInFromMonth && toDay == daysInToMonth) {
++                dm = (monthsInPrevYear + toMonth - fromMonth) % monthsInPrevYear;
+                 dd = 0;
+-            } else if ( prevMonth == fromMonth && daysInPrevMonth < daysInFromMonth ) {
++            } else if (prevMonth == fromMonth && daysInPrevMonth < daysInFromMonth) {
+                 // Special case where fromDate = leap day and toDate in month following but non-leap year
+                 // e.g. 2000-02-29 to 2001-03-01 needs to use 29 to calculate day number not 28
+-                dm = ( monthsInPrevYear + toMonth - fromMonth - 1 ) % monthsInPrevYear;
+-                dd = ( daysInFromMonth + toDay - fromDay ) % daysInFromMonth;
++                dm = (monthsInPrevYear + toMonth - fromMonth - 1) % monthsInPrevYear;
++                dd = (daysInFromMonth + toDay - fromDay) % daysInFromMonth;
+             } else {
+-                dm = ( monthsInPrevYear + toMonth - fromMonth - 1 ) % monthsInPrevYear;
+-                dd = ( daysInPrevMonth + toDay - fromDay ) % daysInPrevMonth;
++                dm = (monthsInPrevYear + toMonth - fromMonth - 1) % monthsInPrevYear;
++                dd = (daysInPrevMonth + toDay - fromDay) % daysInPrevMonth;
+             }
+         }
+ 
+     }
+ 
+     // Only return values if we have a valid pointer
+-    if ( yearsDiff ) {
++    if (yearsDiff) {
+         *yearsDiff = dy;
+     }
+-    if ( monthsDiff ) {
++    if (monthsDiff) {
+         *monthsDiff = dm;
+     }
+-    if ( daysDiff ) {
++    if (daysDiff) {
+         *daysDiff = dd;
+     }
+-    if ( direction ) {
++    if (direction) {
+         *direction = dir;
+     }
+ }
+ 
+ // Reimplement if special maths handling required, e.g. Hebrew
+ // Allows for calendars with leap months at end of year but not during year
+-int KCalendarSystemPrivate::yearsDifference( const QDate &fromDate, const QDate &toDate ) const
++int KCalendarSystemPrivate::yearsDifference(const QDate &fromDate, const QDate &toDate) const
+ {
+     // This could be optimised a little but is left in full as it's easier to understand
+     // Alternatively could just call dateDifference(), but this is slightly more efficient
+ 
+-    if ( toDate < fromDate ) {
+-        return 0 - yearsDifference( toDate, fromDate );
++    if (toDate < fromDate) {
++        return 0 - yearsDifference(toDate, fromDate);
+     }
+ 
+-    if ( toDate == fromDate ) {
++    if (toDate == fromDate) {
+         return 0;
+     }
+ 
+-    int fromYear = q->year( fromDate );
+-    int toYear = q->year( toDate );
++    int fromYear = q->year(fromDate);
++    int toYear = q->year(toDate);
+ 
+-    if ( toYear == fromYear ) {
++    if (toYear == fromYear) {
+         return 0;
+     }
+ 
+-    int fromMonth = q->month( fromDate );
+-    int toMonth = q->month( toDate );
++    int fromMonth = q->month(fromDate);
++    int toMonth = q->month(toDate);
+ 
+-    if ( toMonth > fromMonth ) {
+-        return differenceYearNumbers( fromYear, toYear );
++    if (toMonth > fromMonth) {
++        return differenceYearNumbers(fromYear, toYear);
+     }
+ 
+-    if ( toMonth < fromMonth ) {
+-        return differenceYearNumbers( fromYear, toYear ) - 1;
++    if (toMonth < fromMonth) {
++        return differenceYearNumbers(fromYear, toYear) - 1;
+     }
+ 
+     // toMonth == fromMonth
+-    int fromDay = q->day( fromDate );
+-    int toDay = q->day( toDate );
++    int fromDay = q->day(fromDate);
++    int toDay = q->day(toDate);
+ 
+     // Adjust for month numbers in from and to year
+     // Allow for last day of month to last day of month and leap days
+     // e.g. 2000-02-29 to 2001-02-28 is 1 year not 0 years
+-    if ( ( toDay >= fromDay ) ||
+-         ( fromDay == daysInMonth( fromYear, fromMonth ) &&
+-           toDay == daysInMonth( toYear, toMonth ) ) ) {
+-        return differenceYearNumbers( fromYear, toYear );
++    if ((toDay >= fromDay) ||
++            (fromDay == daysInMonth(fromYear, fromMonth) &&
++             toDay == daysInMonth(toYear, toMonth))) {
++        return differenceYearNumbers(fromYear, toYear);
+     } else {
+-        return differenceYearNumbers( fromYear, toYear ) - 1;
++        return differenceYearNumbers(fromYear, toYear) - 1;
+     }
+ 
+ }
+ 
+ // Reimplement if special maths handling required, e.g. maybe Hebrew?
+ // Allows for calendars with leap months
+-int KCalendarSystemPrivate::monthsDifference( const QDate &fromDate, const QDate &toDate ) const
++int KCalendarSystemPrivate::monthsDifference(const QDate &fromDate, const QDate &toDate) const
+ {
+-    if ( toDate < fromDate ) {
+-        return 0 - monthsDifference( toDate, fromDate );
++    if (toDate < fromDate) {
++        return 0 - monthsDifference(toDate, fromDate);
+     }
+ 
+-    if ( toDate == fromDate ) {
++    if (toDate == fromDate) {
+         return 0;
+     }
+ 
+-    int fromYear = q->year( fromDate );
+-    int toYear = q->year( toDate );
+-    int fromMonth = q->month( fromDate );
+-    int toMonth = q->month( toDate );
+-    int fromDay = q->day( fromDate );
+-    int toDay = q->day( toDate );
++    int fromYear = q->year(fromDate);
++    int toYear = q->year(toDate);
++    int fromMonth = q->month(fromDate);
++    int toMonth = q->month(toDate);
++    int fromDay = q->day(fromDate);
++    int toDay = q->day(toDate);
+ 
+     int monthsInPreceedingYears;
+ 
+     // Calculate number of months in full years preceding toYear
+-    if ( toYear == fromYear ) {
++    if (toYear == fromYear) {
+         monthsInPreceedingYears = 0;
+-    } else if ( hasLeapMonths() ) {
++    } else if (hasLeapMonths()) {
+         monthsInPreceedingYears = 0;
+-        for ( int y = fromYear; y < toYear; y = addYears( y, 1 ) ) {
+-            monthsInPreceedingYears = monthsInPreceedingYears + monthsInYear( y );
++        for (int y = fromYear; y < toYear; y = addYears(y, 1)) {
++            monthsInPreceedingYears = monthsInPreceedingYears + monthsInYear(y);
+         }
+     } else {
+-        monthsInPreceedingYears = differenceYearNumbers( fromYear, toYear ) * monthsInYear( toYear );
++        monthsInPreceedingYears = differenceYearNumbers(fromYear, toYear) * monthsInYear(toYear);
+     }
+ 
+     // Adjust for months in from and to year
+     // Allow for last day of month to last day of month and leap days
+     // e.g. 2010-03-31 to 2010-04-30 is 1 month not 0 months
+     // also 2000-02-29 to 2001-02-28 is 12 months not 11 months
+-    if ( ( toDay >= fromDay ) ||
+-         ( fromDay == daysInMonth( fromYear, fromMonth ) &&
+-           toDay == daysInMonth( toYear, toMonth ) ) ) {
++    if ((toDay >= fromDay) ||
++            (fromDay == daysInMonth(fromYear, fromMonth) &&
++             toDay == daysInMonth(toYear, toMonth))) {
+         return monthsInPreceedingYears + toMonth - fromMonth;
+     } else {
+         return monthsInPreceedingYears + toMonth - fromMonth - 1;
+@@ -709,26 +747,26 @@ int KCalendarSystemPrivate::monthsDifference( const QDate &fromDate, const QDate
+ // Reimplement if special string to integer handling required, e.g. Hebrew.
+ // Peel a number off the front of a string which may have other trailing chars after the number
+ // Stop either at either maxLength, eos, or first non-digit char
+-int KCalendarSystemPrivate::integerFromString( const QString &string, int maxLength, int &readLength ) const
++int KCalendarSystemPrivate::integerFromString(const QString &string, int maxLength, int &readLength) const
+ {
+     int value = -1;
+     int position = 0;
+     readLength = 0;
+     bool ok = false;
+ 
+-    if ( maxLength < 0 ) {
++    if (maxLength < 0) {
+         maxLength = string.length();
+     }
+ 
+-    while ( position < string.length() &&
++    while (position < string.length() &&
+             position < maxLength &&
+-            string.at( position ).isDigit() ) {
++            string.at(position).isDigit()) {
+         position++;
+     }
+ 
+-    if ( position > 0 ) {
+-        value = string.left( position ).toInt( &ok );
+-        if ( ok ) {
++    if (position > 0) {
++        value = string.left(position).toInt(&ok);
++        if (ok) {
+             readLength = position;
+         } else {
+             value = -1;
+@@ -740,41 +778,41 @@ int KCalendarSystemPrivate::integerFromString( const QString &string, int maxLen
+ 
+ // Reimplement if special integer to string handling required, e.g. Hebrew.
+ // Utility to convert an integer into the correct display string form
+-QString KCalendarSystemPrivate::stringFromInteger( int number, int padWidth, QChar padChar ) const
++QString KCalendarSystemPrivate::stringFromInteger(int number, int padWidth, QChar padChar) const
+ {
+-    return stringFromInteger( number, padWidth, padChar, q->locale()->dateTimeDigitSet() );
++    return stringFromInteger(number, padWidth, padChar, q->locale()->dateTimeDigitSet());
+ }
+ 
+ // Reimplement if special integer to string handling required, e.g. Hebrew.
+ // Utility to convert an integer into the correct display string form
+-QString KCalendarSystemPrivate::stringFromInteger( int number, int padWidth, QChar padChar, KLocale::DigitSet digitSet ) const
++QString KCalendarSystemPrivate::stringFromInteger(int number, int padWidth, QChar padChar, KLocale::DigitSet digitSet) const
+ {
+-    if ( padChar == QLatin1Char('\0') || padWidth == 0 ) {
+-        return q->locale()->convertDigits( QString::number( number ), digitSet );
++    if (padChar == QLatin1Char('\0') || padWidth == 0) {
++        return q->locale()->convertDigits(QString::number(number), digitSet);
+     } else {
+-        return q->locale()->convertDigits( QString::number( number ).rightJustified( padWidth, padChar ), digitSet );
++        return q->locale()->convertDigits(QString::number(number).rightJustified(padWidth, padChar), digitSet);
+     }
+ }
+ 
+ // Allows us to set dates outside publically valid range, USE WITH CARE!!!!
+-bool KCalendarSystemPrivate::setAnyDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemPrivate::setAnyDate(QDate &date, int year, int month, int day) const
+ {
+     int jd;
+-    q->dateToJulianDay( year, month, day, jd );
+-    date = QDate::fromJulianDay( jd );
++    q->dateToJulianDay(year, month, day, jd);
++    date = QDate::fromJulianDay(jd);
+     return true;
+ }
+ 
+ // Utility to correctly add years to a year number because some systems such as
+ // Julian and Gregorian calendars don't have a year 0
+-int KCalendarSystemPrivate::addYears( int originalYear, int addYears ) const
++int KCalendarSystemPrivate::addYears(int originalYear, int addYears) const
+ {
+     int newYear = originalYear + addYears;
+ 
+-    if ( !hasYearZero() ) {
+-        if ( originalYear > 0 && newYear <= 0 ) {
++    if (!hasYearZero()) {
++        if (originalYear > 0 && newYear <= 0) {
+             newYear = newYear - 1;
+-        } else if ( originalYear < 0 && newYear >= 0 ) {
++        } else if (originalYear < 0 && newYear >= 0) {
+             newYear = newYear + 1;
+         }
+     }
+@@ -784,14 +822,14 @@ int KCalendarSystemPrivate::addYears( int originalYear, int addYears ) const
+ 
+ // Utility to correctly return number of years between two year numbers because some systems such as
+ // Julian and Gregorian calendars don't have a year 0
+-int KCalendarSystemPrivate::differenceYearNumbers( int fromYear, int toYear ) const
++int KCalendarSystemPrivate::differenceYearNumbers(int fromYear, int toYear) const
+ {
+     int dy = toYear - fromYear;
+ 
+-    if ( !hasYearZero() ) {
+-        if ( toYear > 0 && fromYear < 0 ) {
++    if (!hasYearZero()) {
++        if (toYear > 0 && fromYear < 0) {
+             dy = dy - 1;
+-        } else if ( toYear < 0 && fromYear > 0 ) {
++        } else if (toYear < 0 && fromYear > 0) {
+             dy = dy + 1;
+         }
+     }
+@@ -805,71 +843,71 @@ QDate KCalendarSystemPrivate::invalidDate() const
+     return QDate();
+ }
+ 
+-QString KCalendarSystemPrivate::simpleDateString( const QString &str ) const
++QString KCalendarSystemPrivate::simpleDateString(const QString &str) const
+ {
+     QString newStr;
+-    for ( int i = 0; i < str.length(); i++ ) {
+-        if ( str.at(i).isLetterOrNumber() ) {
+-            newStr.append( str.at(i) );
++    for (int i = 0; i < str.length(); i++) {
++        if (str.at(i).isLetterOrNumber()) {
++            newStr.append(str.at(i));
+         } else {
+-            newStr.append( QLatin1Char(' ') );
++            newStr.append(QLatin1Char(' '));
+         }
+     }
+     newStr.simplified();
+     return newStr;
+ }
+ 
+-int KCalendarSystemPrivate::dayOfYear( const QDate &date ) const
++int KCalendarSystemPrivate::dayOfYear(const QDate &date) const
+ {
+     int y, m, d, jdFirstDayOfYear;
+-    q->julianDayToDate( date.toJulianDay(), y, m, d );
+-    q->dateToJulianDay( y, 1, 1, jdFirstDayOfYear );
++    q->julianDayToDate(date.toJulianDay(), y, m, d);
++    q->dateToJulianDay(y, 1, 1, jdFirstDayOfYear);
+     //Take the jd of the given date, and subtract the jd of the first day of that year
+-    return ( date.toJulianDay() - jdFirstDayOfYear + 1 );
++    return (date.toJulianDay() - jdFirstDayOfYear + 1);
+ }
+ 
+-int KCalendarSystemPrivate::dayOfWeek( const QDate &date ) const
++int KCalendarSystemPrivate::dayOfWeek(const QDate &date) const
+ {
+     // Makes assumption that Julian Day 0 was day 1 of week
+     // This is true for Julian/Gregorian calendar with jd 0 being Monday
+     // We add 1 for ISO compliant numbering for 7 day week
+     // Assumes we've never skipped weekdays
+-    return ( ( date.toJulianDay() % daysInWeek() ) + 1 );
++    return ((date.toJulianDay() % daysInWeek()) + 1);
+ }
+ 
+-QDate KCalendarSystemPrivate::firstDayOfYear( int year ) const
++QDate KCalendarSystemPrivate::firstDayOfYear(int year) const
+ {
+     int jd;
+-    q->dateToJulianDay( year, 1, 1, jd );
+-    return QDate::fromJulianDay( jd );
++    q->dateToJulianDay(year, 1, 1, jd);
++    return QDate::fromJulianDay(jd);
+ }
+ 
+-QDate KCalendarSystemPrivate::lastDayOfYear( int year ) const
++QDate KCalendarSystemPrivate::lastDayOfYear(int year) const
+ {
+     int jd;
+-    q->dateToJulianDay( year, 1, 1, jd );
+-    jd = jd + daysInYear( year ) - 1;
+-    return QDate::fromJulianDay( jd );
++    q->dateToJulianDay(year, 1, 1, jd);
++    jd = jd + daysInYear(year) - 1;
++    return QDate::fromJulianDay(jd);
+ }
+ 
+-QDate KCalendarSystemPrivate::firstDayOfMonth( int year, int month ) const
++QDate KCalendarSystemPrivate::firstDayOfMonth(int year, int month) const
+ {
+     int jd;
+-    q->dateToJulianDay( year, month, 1, jd );
+-    return QDate::fromJulianDay( jd );
++    q->dateToJulianDay(year, month, 1, jd);
++    return QDate::fromJulianDay(jd);
+ }
+ 
+-QDate KCalendarSystemPrivate::lastDayOfMonth( int year, int month ) const
++QDate KCalendarSystemPrivate::lastDayOfMonth(int year, int month) const
+ {
+     int jd;
+-    q->dateToJulianDay( year, month, 1, jd );
+-    jd = jd + daysInMonth( year, month ) - 1;
+-    return QDate::fromJulianDay( jd );
++    q->dateToJulianDay(year, month, 1, jd);
++    jd = jd + daysInMonth(year, month) - 1;
++    return QDate::fromJulianDay(jd);
+ }
+ 
+ const KLocale * KCalendarSystemPrivate::locale() const
+ {
+-    if ( m_locale ) {
++    if (m_locale) {
+         return m_locale;
+     } else {
+         return KGlobal::locale();
+@@ -881,93 +919,93 @@ QList *KCalendarSystemPrivate::eraList() const
+     return m_eraList;
+ }
+ 
+-KCalendarEra KCalendarSystemPrivate::era( const QDate &eraDate ) const
++KCalendarEra KCalendarSystemPrivate::era(const QDate &eraDate) const
+ {
+-    for ( int i = m_eraList->count() -1; i >= 0; --i ) {
+-        if ( m_eraList->at( i ).isInEra( eraDate ) ) {
+-            return m_eraList->at( i );
++    for (int i = m_eraList->count() - 1; i >= 0; --i) {
++        if (m_eraList->at(i).isInEra(eraDate)) {
++            return m_eraList->at(i);
+         }
+     }
+     return KCalendarEra();
+ }
+ 
+-KCalendarEra KCalendarSystemPrivate::era( const QString &eraName, int yearInEra ) const
++KCalendarEra KCalendarSystemPrivate::era(const QString &eraName, int yearInEra) const
+ {
+-    Q_UNUSED( yearInEra )
++    Q_UNUSED(yearInEra)
+ 
+-    for ( int i = m_eraList->count() - 1; i >= 0; --i ) {
+-        KCalendarEra era = m_eraList->at( i );
+-        if ( era.name(KLocale::LongName).toLower() == eraName.toLower() ||
+-             era.name(KLocale::ShortName).toLower() == eraName.toLower() ) {
++    for (int i = m_eraList->count() - 1; i >= 0; --i) {
++        KCalendarEra era = m_eraList->at(i);
++        if (era.name(KLocale::LongName).toLower() == eraName.toLower() ||
++                era.name(KLocale::ShortName).toLower() == eraName.toLower()) {
+             return era;
+         }
+     }
+     return KCalendarEra();
+ }
+ 
+-void KCalendarSystemPrivate::loadEraList( const KConfigGroup & cg )
++void KCalendarSystemPrivate::loadEraList(const KConfigGroup & cg)
+ {
+     delete m_eraList;
+     m_eraList = new QList;
+     QString eraKey = QString::fromLatin1("Era1");
+     int i = 1;
+-    while ( cg.hasKey( eraKey ) ) {
+-        QString eraEntry = cg.readEntry( eraKey, QString() );
+-        if ( !eraEntry.isEmpty() ) {
++    while (cg.hasKey(eraKey)) {
++        QString eraEntry = cg.readEntry(eraKey, QString());
++        if (!eraEntry.isEmpty()) {
+             // Based on LC_TIME, but different!
+             // Includes long and short names, uses ISO fomat dates
+             // e.g. +:1:0001-01-01:9999-12-31:Anno Domini:AD:%EC %Ey
+-            QChar direction = eraEntry.section( QLatin1Char(':'), 0, 0 ).at( 0 );
++            QChar direction = eraEntry.section(QLatin1Char(':'), 0, 0).at(0);
+             QDate startDate, endDate;
+             int startYear;
+-            QString buffer = eraEntry.section( QLatin1Char(':'), 2, 2 );
+-            if ( buffer.isEmpty() ) {
+-                if ( direction == QLatin1Char('-') ) {
++            QString buffer = eraEntry.section(QLatin1Char(':'), 2, 2);
++            if (buffer.isEmpty()) {
++                if (direction == QLatin1Char('-')) {
+                     startDate = q->latestValidDate();
+                 } else {
+                     startDate = q->earliestValidDate();
+                 }
+             } else {
+-                startDate = q->readDate( buffer, KLocale::IsoFormat );
++                startDate = q->readDate(buffer, KLocale::IsoFormat);
+             }
+-            if ( q->isValid( startDate ) ) {
+-                startYear = q->year( startDate );
++            if (q->isValid(startDate)) {
++                startYear = q->year(startDate);
+             } else {
+-                startYear = eraEntry.section( QLatin1Char(':'), 1, 1 ).toInt(); //Use offset
++                startYear = eraEntry.section(QLatin1Char(':'), 1, 1).toInt();   //Use offset
+             }
+ 
+-            buffer = eraEntry.section( QLatin1Char(':'), 3, 3 );
+-            if ( buffer.isEmpty() ) {
+-                if ( direction == QLatin1Char('-') ) {
++            buffer = eraEntry.section(QLatin1Char(':'), 3, 3);
++            if (buffer.isEmpty()) {
++                if (direction == QLatin1Char('-')) {
+                     endDate = q->earliestValidDate();
+                 } else {
+                     endDate = q->latestValidDate();
+                 }
+             } else {
+-                endDate = q->readDate( buffer, KLocale::IsoFormat );
++                endDate = q->readDate(buffer, KLocale::IsoFormat);
+             }
+-            addEra( direction.toLatin1(), eraEntry.section( QLatin1Char(':'), 1, 1 ).toInt(),
+-                    startDate, startYear, endDate, eraEntry.section( QLatin1Char(':'), 4, 4 ),
+-                    eraEntry.section( QLatin1Char(':'), 5, 5 ), eraEntry.section( QLatin1Char(':'), 6 ) );
++            addEra(direction.toLatin1(), eraEntry.section(QLatin1Char(':'), 1, 1).toInt(),
++                   startDate, startYear, endDate, eraEntry.section(QLatin1Char(':'), 4, 4),
++                   eraEntry.section(QLatin1Char(':'), 5, 5), eraEntry.section(QLatin1Char(':'), 6));
+         }
+         ++i;
+         eraKey = QString::fromLatin1("Era%1").arg(i);
+     }
+ 
+-    if ( m_eraList->isEmpty() ) {
++    if (m_eraList->isEmpty()) {
+         loadDefaultEraList();
+     }
+ }
+ 
+-void KCalendarSystemPrivate::addEra( char direction, int offset,
+-                                     const QDate &startDate, int startYear, const QDate &endDate,
+-                                     const QString &name, const QString &shortName,
+-                                     const QString &format )
++void KCalendarSystemPrivate::addEra(char direction, int offset,
++                                    const QDate &startDate, int startYear, const QDate &endDate,
++                                    const QString &name, const QString &shortName,
++                                    const QString &format)
+ {
+     KCalendarEra newEra;
+ 
+     newEra.m_sequence = m_eraList->count() + 1;
+-    if ( direction == '-' ) {
++    if (direction == '-') {
+         newEra.m_direction = -1;
+     } else {
+         newEra.m_direction = 1;
+@@ -980,7 +1018,7 @@ void KCalendarSystemPrivate::addEra( char direction, int offset,
+     newEra.m_shortName = shortName;
+     newEra.m_format = format;
+ 
+-    m_eraList->append( newEra );
++    m_eraList->append(newEra);
+ }
+ 
+ int KCalendarSystemPrivate::shortYearWindowStartYear() const
+@@ -988,12 +1026,12 @@ int KCalendarSystemPrivate::shortYearWindowStartYear() const
+     return m_shortYearWindowStartYear;
+ }
+ 
+-int KCalendarSystemPrivate::applyShortYearWindow( int inputYear ) const
++int KCalendarSystemPrivate::applyShortYearWindow(int inputYear) const
+ {
+-    if ( inputYear >= 0 && inputYear <= 99 ) {
++    if (inputYear >= 0 && inputYear <= 99) {
+         int shortStartYear = m_shortYearWindowStartYear % 100;
+         int yearOffset = m_shortYearWindowStartYear - shortStartYear;
+-        if ( inputYear >= shortStartYear ) {
++        if (inputYear >= shortStartYear) {
+             return inputYear + yearOffset;
+         } else {
+             return inputYear + yearOffset + 100;
+@@ -1003,51 +1041,51 @@ int KCalendarSystemPrivate::applyShortYearWindow( int inputYear ) const
+     }
+ }
+ 
+-void KCalendarSystemPrivate::loadShortYearWindowStartYear( const KConfigGroup & cg )
++void KCalendarSystemPrivate::loadShortYearWindowStartYear(const KConfigGroup & cg)
+ {
+-    // Default to 2000 for backwards compatability
++    // Default to 2000 for backwards compatibility
+     // as that's the old readDate() default value
+     int startYear = 2000;
+-    if ( cg.exists() ) {
+-        startYear = cg.readEntry( "ShortYearWindowStartYear", 2000 );
++    if (cg.exists()) {
++        startYear = cg.readEntry("ShortYearWindowStartYear", 2000);
+     }
+     m_shortYearWindowStartYear = startYear;
+ }
+ 
+ KSharedConfig::Ptr KCalendarSystemPrivate::config()
+ {
+-    if ( m_config == KSharedConfig::Ptr() ) {
++    if (m_config == KSharedConfig::Ptr()) {
+         return KGlobal::config();
+     } else {
+         return m_config;
+     }
+ }
+ 
+-void KCalendarSystemPrivate::loadConfig( const QString & calendarType )
++void KCalendarSystemPrivate::loadConfig(const QString & calendarType)
+ {
+-    KConfigGroup localeGroup( config(), QString::fromLatin1( "Locale" ) );
+-    KConfigGroup calendarGroup = localeGroup.group( QString::fromLatin1( "KCalendarSystem %1" ).arg( calendarType ) );
+-    loadEraList( calendarGroup );
+-    loadShortYearWindowStartYear( calendarGroup );
++    KConfigGroup localeGroup(config(), QString::fromLatin1("Locale"));
++    KConfigGroup calendarGroup = localeGroup.group(QString::fromLatin1("KCalendarSystem %1").arg(calendarType));
++    loadEraList(calendarGroup);
++    loadShortYearWindowStartYear(calendarGroup);
+ }
+ 
+ 
+-KCalendarSystem::KCalendarSystem( const KLocale *locale )
+-               : d_ptr( new KCalendarSystemPrivate( this ) )
++KCalendarSystem::KCalendarSystem(const KLocale *locale)
++               : d_ptr(new KCalendarSystemPrivate(this))
+ {
+     d_ptr->m_config = KSharedConfig::Ptr();
+     d_ptr->m_locale = locale;
+ }
+ 
+-KCalendarSystem::KCalendarSystem( const KSharedConfig::Ptr config, const KLocale *locale )
+-               : d_ptr( new KCalendarSystemPrivate( this ) )
++KCalendarSystem::KCalendarSystem(const KSharedConfig::Ptr config, const KLocale *locale)
++               : d_ptr(new KCalendarSystemPrivate(this))
+ {
+     d_ptr->m_config = config;
+     d_ptr->m_locale = locale;
+ }
+ 
+-KCalendarSystem::KCalendarSystem( KCalendarSystemPrivate &dd, const KSharedConfig::Ptr config, const KLocale *locale )
+-               : d_ptr( &dd )
++KCalendarSystem::KCalendarSystem(KCalendarSystemPrivate &dd, const KSharedConfig::Ptr config, const KLocale *locale)
++               : d_ptr(&dd)
+ {
+     d_ptr->m_config = config;
+     d_ptr->m_locale = locale;
+@@ -1061,7 +1099,7 @@ KCalendarSystem::~KCalendarSystem()
+ // NOT VIRTUAL - If override needed use shared-d
+ KLocale::CalendarSystem KCalendarSystem::calendarSystem() const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+     return d->calendarSystem();
+ }
+@@ -1069,14 +1107,14 @@ KLocale::CalendarSystem KCalendarSystem::calendarSystem() const
+ // NOT VIRTUAL - If override needed use shared-d
+ QString KCalendarSystem::calendarLabel() const
+ {
+-    return KCalendarSystem::calendarLabel( calendarSystem() );
++    return KCalendarSystem::calendarLabel(calendarSystem());
+ }
+ 
+ // Dummy version using Gregorian as an example
+ // This method MUST be re-implemented in any new Calendar System
+ QDate KCalendarSystem::epoch() const
+ {
+-    return QDate::fromJulianDay( 38 );
++    return QDate::fromJulianDay(38);
+ }
+ 
+ QDate KCalendarSystem::earliestValidDate() const
+@@ -1089,23 +1127,23 @@ QDate KCalendarSystem::earliestValidDate() const
+ QDate KCalendarSystem::latestValidDate() const
+ {
+     // Default to Gregorian 9999-12-31
+-    return QDate::fromJulianDay( 5373484 );
++    return QDate::fromJulianDay(5373484);
+ }
+ 
+-bool KCalendarSystem::isValid( int year, int month, int day ) const
++bool KCalendarSystem::isValid(int year, int month, int day) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( year < d->earliestValidYear() || year > d->latestValidYear() ||
+-         ( !d->hasYearZero() && year == 0 ) ) {
++    if (year < d->earliestValidYear() || year > d->latestValidYear() ||
++            (!d->hasYearZero() && year == 0)) {
+         return false;
+     }
+ 
+-    if ( month < 1 || month > d->monthsInYear( year ) ) {
++    if (month < 1 || month > d->monthsInYear(year)) {
+         return false;
+     }
+ 
+-    if ( day < 1 || day > d->daysInMonth( year, month ) ) {
++    if (day < 1 || day > d->daysInMonth(year, month)) {
+         return false;
+     }
+ 
+@@ -1113,59 +1151,59 @@ bool KCalendarSystem::isValid( int year, int month, int day ) const
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-bool KCalendarSystem::isValid( int year, int dayOfYear ) const
++bool KCalendarSystem::isValid(int year, int dayOfYear) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    return ( isValid( year, 1, 1 ) && dayOfYear > 0 && dayOfYear <= d->daysInYear( year ) );
++    return (isValid(year, 1, 1) && dayOfYear > 0 && dayOfYear <= d->daysInYear(year));
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-bool KCalendarSystem::isValid( const QString &eraName, int yearInEra, int month, int day ) const
++bool KCalendarSystem::isValid(const QString &eraName, int yearInEra, int month, int day) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    KCalendarEra era = d->era( eraName, yearInEra );
+-    return ( era.isValid() && isValid( era.year( yearInEra ), month, day ) );
++    KCalendarEra era = d->era(eraName, yearInEra);
++    return (era.isValid() && isValid(era.year(yearInEra), month, day));
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-bool KCalendarSystem::isValidIsoWeekDate( int year, int isoWeekNumber, int dayOfIsoWeek ) const
++bool KCalendarSystem::isValidIsoWeekDate(int year, int isoWeekNumber, int dayOfIsoWeek) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+     //Tests Year value in standard YMD isValid()
+-    if ( !isValid( year, 1, 1 ) ) {
++    if (!isValid(year, 1, 1)) {
+         return false;
+     }
+ 
+     //Test Week Number falls in valid range for this year
+-    int weeksInThisYear = weeksInYear( year );
+-    if ( isoWeekNumber < 1 || isoWeekNumber  > weeksInThisYear ) {
++    int weeksInThisYear = weeksInYear(year);
++    if (isoWeekNumber < 1 || isoWeekNumber  > weeksInThisYear) {
+         return false;
+     }
+ 
+     //Test Day of Week Number falls in valid range
+-    if ( dayOfIsoWeek < 1 || dayOfIsoWeek > d->daysInWeek() ) {
++    if (dayOfIsoWeek < 1 || dayOfIsoWeek > d->daysInWeek()) {
+         return false;
+     }
+ 
+     //If not in earliest or latest years then all OK
+     //Otherwise need to check don't fall into previous or next year that would be invalid
+-    if ( year == d->earliestValidYear() && isoWeekNumber == 1 ) {
++    if (year == d->earliestValidYear() && isoWeekNumber == 1) {
+         //If firstDayOfYear falls on or before Thursday then firstDayOfYear falls in week 1 this
+         //year and if wanted dayOfIsoWeek falls before firstDayOfYear then falls in previous year
+         //and so in invalid year
+-        int dowFirstDay = dayOfWeek( d->firstDayOfYear( year ) );
+-        if ( dowFirstDay <= 4 && dayOfIsoWeek < dowFirstDay ) {
++        int dowFirstDay = dayOfWeek(d->firstDayOfYear(year));
++        if (dowFirstDay <= 4 && dayOfIsoWeek < dowFirstDay) {
+             return false;
+         }
+-    } else if ( year == d->latestValidYear() && isoWeekNumber == weeksInThisYear ) {
++    } else if (year == d->latestValidYear() && isoWeekNumber == weeksInThisYear) {
+         //If lastDayOfYear falls on or after Thursday then lastDayOfYear falls in last week this
+         //year and if wanted dayOfIsoWeek falls after lastDayOfYear then falls in next year
+         //and so in invalid year
+-        int dowLastDay = dayOfWeek( d->lastDayOfYear( year ) );
+-        if ( dowLastDay >= 4 && dayOfIsoWeek > dowLastDay ) {
++        int dowLastDay = dayOfWeek(d->lastDayOfYear(year));
++        if (dowLastDay >= 4 && dayOfIsoWeek > dowLastDay) {
+             return false;
+         }
+     }
+@@ -1173,26 +1211,26 @@ bool KCalendarSystem::isValidIsoWeekDate( int year, int isoWeekNumber, int dayOf
+     return true;
+ }
+ 
+-bool KCalendarSystem::isValid( const QDate &date ) const
++bool KCalendarSystem::isValid(const QDate &date) const
+ {
+-    if ( date.isNull() || date < earliestValidDate() || date > latestValidDate() ) {
++    if (date.isNull() || date < earliestValidDate() || date > latestValidDate()) {
+         return false;
+     }
+     return true;
+ }
+ 
+-bool KCalendarSystem::setDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystem::setDate(QDate &date, int year, int month, int day) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+     date = d->invalidDate();
+ 
+-    if ( isValid( year, month, day ) ) {
++    if (isValid(year, month, day)) {
+         int jd;
+-        dateToJulianDay( year, month, day, jd );
+-        QDate calcDate = QDate::fromJulianDay( jd );
++        dateToJulianDay(year, month, day, jd);
++        QDate calcDate = QDate::fromJulianDay(jd);
+ 
+-        if ( isValid( calcDate ) ) {
++        if (isValid(calcDate)) {
+             date = calcDate;
+             return true;
+         }
+@@ -1202,17 +1240,17 @@ bool KCalendarSystem::setDate( QDate &date, int year, int month, int day ) const
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-bool KCalendarSystem::setDate( QDate &date, int year, int dayOfYear ) const
++bool KCalendarSystem::setDate(QDate &date, int year, int dayOfYear) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+     date = d->invalidDate();
+ 
+-    if ( isValid( year, dayOfYear ) ) {
++    if (isValid(year, dayOfYear)) {
+         int jd;
+-        dateToJulianDay( year, 1, 1, jd );
+-        QDate calcDate = QDate::fromJulianDay( jd + dayOfYear - 1 );
+-        if ( isValid( calcDate ) ) {
++        dateToJulianDay(year, 1, 1, jd);
++        QDate calcDate = QDate::fromJulianDay(jd + dayOfYear - 1);
++        if (isValid(calcDate)) {
+             date = calcDate;
+             return true;
+         }
+@@ -1222,35 +1260,35 @@ bool KCalendarSystem::setDate( QDate &date, int year, int dayOfYear ) const
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-bool KCalendarSystem::setDate( QDate &date, QString eraName, int yearInEra, int month, int day ) const
++bool KCalendarSystem::setDate(QDate &date, QString eraName, int yearInEra, int month, int day) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    KCalendarEra era = d->era( eraName, yearInEra );
+-    return ( era.isValid() && setDate( date, era.year( yearInEra ), month, day ) );
++    KCalendarEra era = d->era(eraName, yearInEra);
++    return (era.isValid() && setDate(date, era.year(yearInEra), month, day));
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-bool KCalendarSystem::setDateIsoWeek( QDate &date, int year, int isoWeekNumber, int dayOfIsoWeek ) const
++bool KCalendarSystem::setDateIsoWeek(QDate &date, int year, int isoWeekNumber, int dayOfIsoWeek) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+     date = d->invalidDate();
+ 
+-    if ( isValidIsoWeekDate( year, isoWeekNumber, dayOfIsoWeek ) ) {
++    if (isValidIsoWeekDate(year, isoWeekNumber, dayOfIsoWeek)) {
+ 
+-        QDate calcDate = d->firstDayOfYear( year );
+-        int dowFirstDayOfYear = dayOfWeek( calcDate );
++        QDate calcDate = d->firstDayOfYear(year);
++        int dowFirstDayOfYear = dayOfWeek(calcDate);
+ 
+-        int daysToAdd = ( d->daysInWeek() * ( isoWeekNumber - 1 ) ) + dayOfIsoWeek;
++        int daysToAdd = (d->daysInWeek() * (isoWeekNumber - 1)) + dayOfIsoWeek;
+ 
+-        if ( dowFirstDayOfYear <= 4 ) {
+-            calcDate = calcDate.addDays( daysToAdd - dowFirstDayOfYear );
++        if (dowFirstDayOfYear <= 4) {
++            calcDate = calcDate.addDays(daysToAdd - dowFirstDayOfYear);
+         } else {
+-            calcDate = calcDate.addDays( daysInWeek( calcDate ) + daysToAdd - dowFirstDayOfYear );
++            calcDate = calcDate.addDays(daysInWeek(calcDate) + daysToAdd - dowFirstDayOfYear);
+         }
+ 
+-        if ( isValid( calcDate ) ) {
++        if (isValid(calcDate)) {
+             date = calcDate;
+             return true;
+         }
+@@ -1260,42 +1298,42 @@ bool KCalendarSystem::setDateIsoWeek( QDate &date, int year, int isoWeekNumber,
+ }
+ 
+ // Deprecated
+-bool KCalendarSystem::setYMD( QDate &date, int year, int month, int day ) const
++bool KCalendarSystem::setYMD(QDate &date, int year, int month, int day) const
+ {
+-    return setDate( date, year, month, day );
++    return setDate(date, year, month, day);
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-void KCalendarSystem::getDate( const QDate date, int *year, int *month, int *day ) const
++void KCalendarSystem::getDate(const QDate date, int *year, int *month, int *day) const
+ {
+     int y, m, d;
+ 
+-    if ( isValid( date ) ) {
+-        julianDayToDate( date.toJulianDay(), y, m, d );
++    if (isValid(date)) {
++        julianDayToDate(date.toJulianDay(), y, m, d);
+     } else {
+         y = 0;  // How do you denote invalid year when we support -ve years?
+         m = 0;
+         d = 0;
+     }
+ 
+-    if ( year ) {
++    if (year) {
+         *year = y;
+     }
+-    if ( month ) {
++    if (month) {
+         *month = m;
+     }
+-    if ( day ) {
++    if (day) {
+         *day = d;
+     }
+ 
+ }
+ 
+-int KCalendarSystem::year( const QDate &date ) const
++int KCalendarSystem::year(const QDate &date) const
+ {
+-    if ( isValid( date ) ) {
++    if (isValid(date)) {
+         int year, month, day;
+ 
+-        julianDayToDate( date.toJulianDay(), year, month, day );
++        julianDayToDate(date.toJulianDay(), year, month, day);
+ 
+         return year;
+     }
+@@ -1303,12 +1341,12 @@ int KCalendarSystem::year( const QDate &date ) const
+     return 0;  // How do you denote invalid year when we support -ve years?
+ }
+ 
+-int KCalendarSystem::month( const QDate &date ) const
++int KCalendarSystem::month(const QDate &date) const
+ {
+-    if ( isValid( date ) ) {
++    if (isValid(date)) {
+         int year, month, day;
+ 
+-        julianDayToDate( date.toJulianDay(), year, month, day );
++        julianDayToDate(date.toJulianDay(), year, month, day);
+ 
+         return month;
+     }
+@@ -1316,12 +1354,12 @@ int KCalendarSystem::month( const QDate &date ) const
+     return 0;
+ }
+ 
+-int KCalendarSystem::day( const QDate &date ) const
++int KCalendarSystem::day(const QDate &date) const
+ {
+-    if ( isValid( date ) ) {
++    if (isValid(date)) {
+         int year, month, day;
+ 
+-        julianDayToDate( date.toJulianDay(), year, month, day );
++        julianDayToDate(date.toJulianDay(), year, month, day);
+ 
+         return day;
+     }
+@@ -1330,15 +1368,15 @@ int KCalendarSystem::day( const QDate &date ) const
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::eraName( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::eraName(const QDate &date, StringFormat format) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        if ( format == LongFormat ) {
+-            return d->era( date ).name( KLocale::LongName );
++    if (isValid(date)) {
++        if (format == LongFormat) {
++            return d->era(date).name(KLocale::LongName);
+         } else {
+-            return d->era( date ).name( KLocale::ShortName );
++            return d->era(date).name(KLocale::ShortName);
+         }
+     }
+ 
+@@ -1346,25 +1384,25 @@ QString KCalendarSystem::eraName( const QDate &date, StringFormat format ) const
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::eraYear( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::eraYear(const QDate &date, StringFormat format) const
+ {
+-    Q_UNUSED( format )
+-    Q_D( const KCalendarSystem );
++    Q_UNUSED(format)
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return formatDate( date, d->era( date ).format() );
++    if (isValid(date)) {
++        return formatDate(date, d->era(date).format());
+     }
+ 
+     return QString();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-int KCalendarSystem::yearInEra( const QDate &date ) const
++int KCalendarSystem::yearInEra(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return d->era( date ).yearInEra( year( date ) );
++    if (isValid(date)) {
++        return d->era(date).yearInEra(year(date));
+     }
+ 
+     return -1;
+@@ -1373,48 +1411,48 @@ int KCalendarSystem::yearInEra( const QDate &date ) const
+ // NOT VIRTUAL - If override needed use shared-d
+ QList *KCalendarSystem::eraList() const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+     return d->eraList();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-KCalendarEra KCalendarSystem::era( const QDate &eraDate ) const
++KCalendarEra KCalendarSystem::era(const QDate &eraDate) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    return d->era( eraDate );
++    return d->era(eraDate);
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-KCalendarEra KCalendarSystem::era( const QString &eraName, int yearInEra ) const
++KCalendarEra KCalendarSystem::era(const QString &eraName, int yearInEra) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    return d->era( eraName, yearInEra );
++    return d->era(eraName, yearInEra);
+ }
+ 
+-QDate KCalendarSystem::addYears( const QDate &date, int numYears ) const
++QDate KCalendarSystem::addYears(const QDate &date, int numYears) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
++    if (isValid(date)) {
+ 
+         int originalYear, originalMonth, originalDay;
+-        julianDayToDate( date.toJulianDay(), originalYear, originalMonth, originalDay );
++        julianDayToDate(date.toJulianDay(), originalYear, originalMonth, originalDay);
+ 
+-        int newYear = d->addYears( originalYear, numYears );
++        int newYear = d->addYears(originalYear, numYears);
+         int newMonth = originalMonth;
+         int newDay = originalDay;
+ 
+         //Adjust day number if new month has fewer days than old month
+-        int daysInNewMonth = d->daysInMonth( newYear, newMonth );
+-        if ( daysInNewMonth < originalDay ) {
++        int daysInNewMonth = d->daysInMonth(newYear, newMonth);
++        if (daysInNewMonth < originalDay) {
+             newDay = daysInNewMonth;
+         }
+ 
+         QDate newDate;
+-        setDate( newDate, newYear, newMonth, newDay );
++        setDate(newDate, newYear, newMonth, newDay);
+         return newDate;
+ 
+     }
+@@ -1422,38 +1460,38 @@ QDate KCalendarSystem::addYears( const QDate &date, int numYears ) const
+     return d->invalidDate();
+ }
+ 
+-QDate KCalendarSystem::addMonths( const QDate &date, int numMonths ) const
++QDate KCalendarSystem::addMonths(const QDate &date, int numMonths) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
++    if (isValid(date)) {
+ 
+         int originalYear, originalMonth, originalDay;
+-        julianDayToDate( date.toJulianDay(), originalYear, originalMonth, originalDay );
++        julianDayToDate(date.toJulianDay(), originalYear, originalMonth, originalDay);
+ 
+-        int monthsInOriginalYear = d->monthsInYear( originalYear );
++        int monthsInOriginalYear = d->monthsInYear(originalYear);
+ 
+-        int newYear = d->addYears( originalYear, ( originalMonth + numMonths ) / monthsInOriginalYear );
+-        int newMonth = ( originalMonth + numMonths ) % monthsInOriginalYear;
++        int newYear = d->addYears(originalYear, (originalMonth + numMonths) / monthsInOriginalYear);
++        int newMonth = (originalMonth + numMonths) % monthsInOriginalYear;
+         int newDay = originalDay;
+ 
+-        if ( newMonth == 0 ) {
+-            newYear = d->addYears( newYear, - 1 );
++        if (newMonth == 0) {
++            newYear = d->addYears(newYear, - 1);
+             newMonth = monthsInOriginalYear;
+         }
+-        if ( newMonth < 0 ) {
+-            newYear = d->addYears( newYear, - 1 );
++        if (newMonth < 0) {
++            newYear = d->addYears(newYear, - 1);
+             newMonth = newMonth + monthsInOriginalYear;
+         }
+ 
+         //Adjust day number if new month has fewer days than old month
+-        int daysInNewMonth = d->daysInMonth( newYear, newMonth );
+-        if ( daysInNewMonth < originalDay ) {
++        int daysInNewMonth = d->daysInMonth(newYear, newMonth);
++        if (daysInNewMonth < originalDay) {
+             newDay = daysInNewMonth;
+         }
+ 
+         QDate newDate;
+-        setDate( newDate, newYear, newMonth, newDay );
++        setDate(newDate, newYear, newMonth, newDay);
+         return newDate;
+ 
+     }
+@@ -1461,15 +1499,15 @@ QDate KCalendarSystem::addMonths( const QDate &date, int numMonths ) const
+     return d->invalidDate();
+ }
+ 
+-QDate KCalendarSystem::addDays( const QDate &date, int numDays ) const
++QDate KCalendarSystem::addDays(const QDate &date, int numDays) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+     // QDate only holds a uint and has no boundary checking in addDays(), so we need to check
+-    if ( isValid( date ) && (long) date.toJulianDay() + (long) numDays > 0 ) {
++    if (isValid(date) && (long) date.toJulianDay() + (long) numDays > 0) {
+         // QDate adds straight to jd
+-        QDate temp = date.addDays( numDays );
+-        if ( isValid( temp ) ) {
++        QDate temp = date.addDays(numDays);
++        if (isValid(temp)) {
+             return temp;
+         }
+     }
+@@ -1478,519 +1516,517 @@ QDate KCalendarSystem::addDays( const QDate &date, int numDays ) const
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-void KCalendarSystem::dateDifference( const QDate &fromDate, const QDate &toDate,
+-                                             int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction ) const
++void KCalendarSystem::dateDifference(const QDate &fromDate, const QDate &toDate,
++                                     int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( fromDate ) && isValid( toDate ) ) {
+-        d->dateDifference( fromDate, toDate, yearsDiff, monthsDiff, daysDiff, direction );
++    if (isValid(fromDate) && isValid(toDate)) {
++        d->dateDifference(fromDate, toDate, yearsDiff, monthsDiff, daysDiff, direction);
+     }
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-int KCalendarSystem::yearsDifference( const QDate &fromDate, const QDate &toDate ) const
++int KCalendarSystem::yearsDifference(const QDate &fromDate, const QDate &toDate) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( fromDate ) && isValid( toDate ) ) {
+-        return d->yearsDifference( fromDate, toDate );
++    if (isValid(fromDate) && isValid(toDate)) {
++        return d->yearsDifference(fromDate, toDate);
+     }
+ 
+     return 0;
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-int KCalendarSystem::monthsDifference( const QDate &fromDate, const QDate &toDate ) const
++int KCalendarSystem::monthsDifference(const QDate &fromDate, const QDate &toDate) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( fromDate ) && isValid( toDate ) ) {
+-        return d->monthsDifference( fromDate, toDate );
++    if (isValid(fromDate) && isValid(toDate)) {
++        return d->monthsDifference(fromDate, toDate);
+     }
+ 
+     return 0;
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-int KCalendarSystem::daysDifference( const QDate &fromDate, const QDate &toDate ) const
++int KCalendarSystem::daysDifference(const QDate &fromDate, const QDate &toDate) const
+ {
+-    if ( isValid( fromDate ) && isValid( toDate ) ) {
++    if (isValid(fromDate) && isValid(toDate)) {
+         return toDate.toJulianDay() - fromDate.toJulianDay();
+     }
+ 
+     return 0;
+ }
+ 
+-int KCalendarSystem::monthsInYear( const QDate &date ) const
++int KCalendarSystem::monthsInYear(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return d->monthsInYear( year( date ) );
++    if (isValid(date)) {
++        return d->monthsInYear(year(date));
+     }
+ 
+     return -1;
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-int KCalendarSystem::monthsInYear( int year ) const
++int KCalendarSystem::monthsInYear(int year) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( year, 1, 1 ) ) {
+-        return d->monthsInYear( year );
++    if (isValid(year, 1, 1)) {
++        return d->monthsInYear(year);
+     }
+ 
+     return -1;
+ }
+ 
+-int KCalendarSystem::weeksInYear( const QDate &date ) const
++int KCalendarSystem::weeksInYear(const QDate &date) const
+ {
+-    if ( isValid( date ) ) {
+-        return weeksInYear( year( date ) );
+-    }
++    return weeksInYear(date, KLocale::DefaultWeekNumber);
++}
+ 
+-    return -1;
++int KCalendarSystem::weeksInYear(int year) const
++{
++    return weeksInYear(year, KLocale::DefaultWeekNumber);
+ }
+ 
+-int KCalendarSystem::weeksInYear( int year ) const
++// NOT VIRTUAL - Uses shared-d instead
++int KCalendarSystem::weeksInYear(const QDate &date, KLocale::WeekNumberSystem weekNumberSystem) const
+ {
+-    return weeksInYear( year, KLocale::DefaultWeekNumber );
++    Q_D(const KCalendarSystem);
++
++    if (isValid(date)) {
++        return d->weeksInYear(year(date), weekNumberSystem);
++    }
++
++    return -1;
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-int KCalendarSystem::weeksInYear( int year, KLocale::WeekNumberSystem weekNumberSystem ) const
++int KCalendarSystem::weeksInYear(int year, KLocale::WeekNumberSystem weekNumberSystem) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( year, 1, 1 ) ) {
+-        return d->weeksInYear( year, weekNumberSystem );
++    if (isValid(year, 1, 1)) {
++        return d->weeksInYear(year, weekNumberSystem);
+     }
+ 
+     return -1;
+ }
+ 
+-int KCalendarSystem::daysInYear( const QDate &date ) const
++int KCalendarSystem::daysInYear(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return d->daysInYear( year( date ) );
++    if (isValid(date)) {
++        return d->daysInYear(year(date));
+     }
+ 
+     return -1;
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-int KCalendarSystem::daysInYear( int year ) const
++int KCalendarSystem::daysInYear(int year) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( year, 1, 1 ) ) {
+-        return d->daysInYear( year );
++    if (isValid(year, 1, 1)) {
++        return d->daysInYear(year);
+     }
+ 
+     return -1;
+ }
+ 
+-int KCalendarSystem::daysInMonth( const QDate &date ) const
++int KCalendarSystem::daysInMonth(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
++    if (isValid(date)) {
+         int year, month;
+-        getDate( date, &year, &month, 0 );
+-        return d->daysInMonth( year, month );
++        getDate(date, &year, &month, 0);
++        return d->daysInMonth(year, month);
+     }
+ 
+     return -1;
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-int KCalendarSystem::daysInMonth( int year, int month ) const
++int KCalendarSystem::daysInMonth(int year, int month) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( year, 1, 1 ) ) {
+-        return d->daysInMonth( year, month );
++    if (isValid(year, 1, 1)) {
++        return d->daysInMonth(year, month);
+     }
+ 
+     return -1;
+ }
+ 
+-int KCalendarSystem::daysInWeek( const QDate &date ) const
++int KCalendarSystem::daysInWeek(const QDate &date) const
+ {
+-    Q_UNUSED( date )
+-    Q_D( const KCalendarSystem );
++    Q_UNUSED(date)
++    Q_D(const KCalendarSystem);
+     return d->daysInWeek();
+ }
+ 
+-int KCalendarSystem::dayOfYear( const QDate &date ) const
++int KCalendarSystem::dayOfYear(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return d->dayOfYear( date );
++    if (isValid(date)) {
++        return d->dayOfYear(date);
+     }
+ 
+     return -1;
+ }
+ 
+-int KCalendarSystem::dayOfWeek( const QDate &date ) const
++int KCalendarSystem::dayOfWeek(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return d->dayOfWeek( date );
++    if (isValid(date)) {
++        return d->dayOfWeek(date);
+     }
+ 
+     return -1;
+ }
+ 
+-int KCalendarSystem::weekNumber( const QDate &date, int *yearNum ) const
++int KCalendarSystem::weekNumber(const QDate &date, int *yearNum) const
+ {
+-    return week( date, KLocale::IsoWeekNumber, yearNum );
++    return week(date, KLocale::IsoWeekNumber, yearNum);
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-int KCalendarSystem::week( const QDate &date, int *yearNum ) const
++int KCalendarSystem::week(const QDate &date, int *yearNum) const
+ {
+-    return week( date, KLocale::DefaultWeekNumber, yearNum );
++    return week(date, KLocale::DefaultWeekNumber, yearNum);
+ }
+ 
+ // NOT VIRTUAL - Uses shared-d instead
+-int KCalendarSystem::week( const QDate &date, KLocale::WeekNumberSystem weekNumberSystem, int *yearNum ) const
++int KCalendarSystem::week(const QDate &date, KLocale::WeekNumberSystem weekNumberSystem, int *yearNum) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return d->week( date, weekNumberSystem, yearNum );
++    if (isValid(date)) {
++        return d->week(date, weekNumberSystem, yearNum);
+     }
+ 
+     return -1;
+ }
+ 
+-bool KCalendarSystem::isLeapYear( int year ) const
++bool KCalendarSystem::isLeapYear(int year) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( year, 1, 1 ) ) {
+-        return d->isLeapYear( year );
++    if (isValid(year, 1, 1)) {
++        return d->isLeapYear(year);
+     }
+ 
+     return false;
+ }
+ 
+-bool KCalendarSystem::isLeapYear( const QDate &date ) const
++bool KCalendarSystem::isLeapYear(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return d->isLeapYear( year( date ) );
++    if (isValid(date)) {
++        return d->isLeapYear(year(date));
+     }
+ 
+     return false;
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QDate KCalendarSystem::firstDayOfYear( int year ) const
++QDate KCalendarSystem::firstDayOfYear(int year) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( year, 1, 1 ) ) {
+-        return d->firstDayOfYear( year );
++    if (isValid(year, 1, 1)) {
++        return d->firstDayOfYear(year);
+     }
+ 
+     return QDate();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QDate KCalendarSystem::lastDayOfYear( int year ) const
++QDate KCalendarSystem::lastDayOfYear(int year) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( year, 1, 1 ) ) {
+-        return d->lastDayOfYear( year );
++    if (isValid(year, 1, 1)) {
++        return d->lastDayOfYear(year);
+     }
+ 
+     return QDate();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QDate KCalendarSystem::firstDayOfYear( const QDate &date ) const
++QDate KCalendarSystem::firstDayOfYear(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return d->firstDayOfYear( year( date ) );
++    if (isValid(date)) {
++        return d->firstDayOfYear(year(date));
+     }
+ 
+     return QDate();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QDate KCalendarSystem::lastDayOfYear( const QDate &date ) const
++QDate KCalendarSystem::lastDayOfYear(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
+-        return d->lastDayOfYear( year( date ) );
++    if (isValid(date)) {
++        return d->lastDayOfYear(year(date));
+     }
+ 
+     return QDate();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QDate KCalendarSystem::firstDayOfMonth( int year, int month ) const
++QDate KCalendarSystem::firstDayOfMonth(int year, int month) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( year, month, 1 ) ) {
+-        return d->firstDayOfMonth( year, month );
++    if (isValid(year, month, 1)) {
++        return d->firstDayOfMonth(year, month);
+     }
+ 
+     return QDate();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QDate KCalendarSystem::lastDayOfMonth( int year, int month ) const
++QDate KCalendarSystem::lastDayOfMonth(int year, int month) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( year, month, 1 ) ) {
+-        return d->lastDayOfMonth( year, month );
++    if (isValid(year, month, 1)) {
++        return d->lastDayOfMonth(year, month);
+     }
+ 
+     return QDate();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QDate KCalendarSystem::firstDayOfMonth( const QDate &date ) const
++QDate KCalendarSystem::firstDayOfMonth(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
++    if (isValid(date)) {
+         int year, month;
+-        getDate( date, &year, &month, 0 );
+-        return d->firstDayOfMonth( year, month );
++        getDate(date, &year, &month, 0);
++        return d->firstDayOfMonth(year, month);
+     }
+ 
+     return QDate();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QDate KCalendarSystem::lastDayOfMonth( const QDate &date ) const
++QDate KCalendarSystem::lastDayOfMonth(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( isValid( date ) ) {
++    if (isValid(date)) {
+         int year, month;
+-        getDate( date, &year, &month, 0 );
+-        return d->lastDayOfMonth( year, month );
++        getDate(date, &year, &month, 0);
++        return d->lastDayOfMonth(year, month);
+     }
+ 
+     return QDate();
+ }
+ 
+-QString KCalendarSystem::monthName( int month, int year, KCalendarSystem::MonthNameFormat format ) const
++QString KCalendarSystem::monthName(int month, int year, KCalendarSystem::MonthNameFormat format) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( !isValid( year, month, 1 ) ) {
++    if (!isValid(year, month, 1)) {
+         return QString();
+     }
+ 
+-    if ( format == KCalendarSystem::NarrowName ) {
+-        return d->monthName( month, year, KLocale::NarrowName, false );
++    if (format == KCalendarSystem::NarrowName) {
++        return d->monthName(month, year, KLocale::NarrowName, false);
+     }
+ 
+-    if ( format == KCalendarSystem::ShortNamePossessive ) {
+-        return d->monthName( month, year, KLocale::ShortName, true );
++    if (format == KCalendarSystem::ShortNamePossessive) {
++        return d->monthName(month, year, KLocale::ShortName, true);
+     }
+ 
+-    if ( format == KCalendarSystem::ShortName ) {
+-        return d->monthName( month, year, KLocale::ShortName, false );
++    if (format == KCalendarSystem::ShortName) {
++        return d->monthName(month, year, KLocale::ShortName, false);
+     }
+ 
+-    if ( format == KCalendarSystem::LongNamePossessive ) {
+-        return d->monthName( month, year, KLocale::LongName, true );
++    if (format == KCalendarSystem::LongNamePossessive) {
++        return d->monthName(month, year, KLocale::LongName, true);
+     }
+ 
+     // KCalendarSystem::LongName or any other
+-    return d->monthName( month, year, KLocale::LongName, false );
++    return d->monthName(month, year, KLocale::LongName, false);
+ }
+ 
+-QString KCalendarSystem::monthName( const QDate &date, MonthNameFormat format ) const
++QString KCalendarSystem::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    if ( isValid( date ) ) {
++    if (isValid(date)) {
+         int year, month;
+-        getDate( date, &year, &month, 0 );
+-        return monthName( month, year, format );
++        getDate(date, &year, &month, 0);
++        return monthName(month, year, format);
+     }
+ 
+     return QString();
+ }
+ 
+-QString KCalendarSystem::weekDayName( int weekDay, KCalendarSystem::WeekDayNameFormat format ) const
++QString KCalendarSystem::weekDayName(int weekDay, KCalendarSystem::WeekDayNameFormat format) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( weekDay < 1 || weekDay > d->daysInWeek() ) {
++    if (weekDay < 1 || weekDay > d->daysInWeek()) {
+         return QString();
+     }
+ 
+-    if ( format == KCalendarSystem::NarrowDayName ) {
+-        return d->weekDayName( weekDay, KLocale::NarrowName );
++    if (format == KCalendarSystem::NarrowDayName) {
++        return d->weekDayName(weekDay, KLocale::NarrowName);
+     }
+ 
+-    if ( format == KCalendarSystem::ShortDayName ) {
+-        return d->weekDayName( weekDay, KLocale::ShortName );
++    if (format == KCalendarSystem::ShortDayName) {
++        return d->weekDayName(weekDay, KLocale::ShortName);
+     }
+ 
+-    if ( format == KCalendarSystem::ShortDayName ) {
+-        return d->weekDayName( weekDay, KLocale::ShortName );
++    if (format == KCalendarSystem::ShortDayName) {
++        return d->weekDayName(weekDay, KLocale::ShortName);
+     }
+ 
+-    return d->weekDayName( weekDay, KLocale::LongName );
++    return d->weekDayName(weekDay, KLocale::LongName);
+ }
+ 
+-QString KCalendarSystem::weekDayName( const QDate &date, WeekDayNameFormat format ) const
++QString KCalendarSystem::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    if ( isValid( date ) ) {
+-        return weekDayName( dayOfWeek( date ), format );
++    if (isValid(date)) {
++        return weekDayName(dayOfWeek(date), format);
+     }
+ 
+     return QString();
+ }
+ 
+-QString KCalendarSystem::yearString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::yearString(const QDate &date, StringFormat format) const
+ {
+-    if ( format == ShortFormat ) {
+-        return formatDate( date, QLatin1String("%y") );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::Year, KLocale::ShortNumber);
+     } else {
+-        return formatDate( date, QLatin1String("%Y") );
++        return formatDate(date, KLocale::Year, KLocale::LongNumber);
+     }
+ }
+ 
+-QString KCalendarSystem::monthString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::monthString(const QDate &date, StringFormat format) const
+ {
+-    if ( format == ShortFormat ) {
+-        return formatDate( date, QLatin1String("%n") );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::Month, KLocale::ShortNumber);
+     } else {
+-        return formatDate( date, QLatin1String("%m") );
++        return formatDate(date, KLocale::Month, KLocale::LongNumber);
+     }
+ }
+ 
+-QString KCalendarSystem::dayString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::dayString(const QDate &date, StringFormat format) const
+ {
+-    if ( format == ShortFormat ) {
+-        return formatDate( date, QLatin1String("%e") );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::Day, KLocale::ShortNumber);
+     } else {
+-        return formatDate( date, QLatin1String("%d") );
++        return formatDate(date, KLocale::Day, KLocale::LongNumber);
+     }
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::yearInEraString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::yearInEraString(const QDate &date, StringFormat format) const
+ {
+-    if ( format == ShortFormat ) {
+-        return formatDate( date, QLatin1String("%Ey") );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::YearInEra, KLocale::ShortNumber);
+     } else {
+-        return formatDate( date, QLatin1String("%4Ey") );
++        return formatDate(date, KLocale::YearInEra, KLocale::LongNumber);
+     }
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::dayOfYearString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::dayOfYearString(const QDate &date, StringFormat format) const
+ {
+-    if ( format == ShortFormat ) {
+-        return formatDate( date, QLatin1String("%-j") );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::DayOfYear, KLocale::ShortNumber);
+     } else {
+-        return formatDate( date, QLatin1String("%j") );
++        return formatDate(date, KLocale::DayOfYear, KLocale::LongNumber);
+     }
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::dayOfWeekString( const QDate &date ) const
++QString KCalendarSystem::dayOfWeekString(const QDate &date) const
+ {
+-    return formatDate( date, QLatin1String("%-u") );
++    return formatDate(date, KLocale::DayOfWeek, KLocale::ShortNumber);
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::weekNumberString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::weekNumberString(const QDate &date, StringFormat format) const
+ {
+-    if ( format == ShortFormat ) {
+-        return formatDate( date, QLatin1String("%-V") );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::Week, KLocale::ShortNumber);
+     } else {
+-        return formatDate( date, QLatin1String("%V") );
++        return formatDate(date, KLocale::Week, KLocale::LongNumber);
+     }
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::monthsInYearString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::monthsInYearString(const QDate &date, StringFormat format) const
+ {
+-    Q_D( const KCalendarSystem );
+-
+-    if ( format == ShortFormat ) {
+-        return d->stringFromInteger( monthsInYear( date ), 0, QLatin1Char('0') );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::MonthsInYear, KLocale::ShortNumber);
+     } else {
+-        return d->stringFromInteger( monthsInYear( date ), 2, QLatin1Char('0') );
++        return formatDate(date, KLocale::MonthsInYear, KLocale::LongNumber);
+     }
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::weeksInYearString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::weeksInYearString(const QDate &date, StringFormat format) const
+ {
+-    Q_D( const KCalendarSystem );
+-
+-    if ( format == ShortFormat ) {
+-        return d->stringFromInteger( weeksInYear( date ), 0, QLatin1Char('0') );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::WeeksInYear, KLocale::ShortNumber);
+     } else {
+-        return d->stringFromInteger( weeksInYear( date ), 2, QLatin1Char('0') );
++        return formatDate(date, KLocale::WeeksInYear, KLocale::LongNumber);
+     }
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::daysInYearString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::daysInYearString(const QDate &date, StringFormat format) const
+ {
+-    Q_D( const KCalendarSystem );
+-
+-    if ( format == ShortFormat ) {
+-        return d->stringFromInteger( daysInYear( date ), 0, QLatin1Char('0') );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::DaysInYear, KLocale::ShortNumber);
+     } else {
+-        return d->stringFromInteger( daysInYear( date ), 3, QLatin1Char('0') );
++        return formatDate(date, KLocale::DaysInYear, KLocale::LongNumber);
+     }
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::daysInMonthString( const QDate &date, StringFormat format ) const
++QString KCalendarSystem::daysInMonthString(const QDate &date, StringFormat format) const
+ {
+-    Q_D( const KCalendarSystem );
+-
+-    if ( format == ShortFormat ) {
+-        return d->stringFromInteger( daysInMonth( date ), 0, QLatin1Char('0') );
++    if (format == ShortFormat) {
++        return formatDate(date, KLocale::DaysInMonth, KLocale::ShortNumber);
+     } else {
+-        return d->stringFromInteger( daysInMonth( date ), 2, QLatin1Char('0') );
++        return formatDate(date, KLocale::DaysInMonth, KLocale::LongNumber);
+     }
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::daysInWeekString( const QDate &date) const
++QString KCalendarSystem::daysInWeekString(const QDate &date) const
+ {
+-    Q_D( const KCalendarSystem );
+-    Q_UNUSED( date );
+-    return d->stringFromInteger( d->daysInWeek(), 0 );
++    return formatDate(date, KLocale::DaysInWeek, KLocale::ShortNumber);
+ }
+ 
+-int KCalendarSystem::yearStringToInteger( const QString &yearString, int &readLength ) const
++int KCalendarSystem::yearStringToInteger(const QString &yearString, int &readLength) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    QString minus = i18nc( "Negative symbol as used for year numbers, e.g. -5 = 5 BC", "-" );
+-    if ( yearString.startsWith( minus ) ) {
+-        int value = d->integerFromString( yearString.mid( minus.length() ), 4, readLength );
+-        if ( readLength > 0 && value >= 0 ) {
++    QString minus = i18nc("Negative symbol as used for year numbers, e.g. -5 = 5 BC", "-");
++    if (yearString.startsWith(minus)) {
++        int value = d->integerFromString(yearString.mid(minus.length()), 4, readLength);
++        if (readLength > 0 && value >= 0) {
+             readLength = readLength + minus.length();
+             return value * -1;
+         } else {
+@@ -1998,31 +2034,31 @@ int KCalendarSystem::yearStringToInteger( const QString &yearString, int &readLe
+         }
+     }
+ 
+-    return d->integerFromString( yearString, 4, readLength );
++    return d->integerFromString(yearString, 4, readLength);
+ }
+ 
+-int KCalendarSystem::monthStringToInteger( const QString &monthString, int &readLength ) const
++int KCalendarSystem::monthStringToInteger(const QString &monthString, int &readLength) const
+ {
+-    Q_D( const KCalendarSystem );
+-    return d->integerFromString( monthString, 2, readLength );
++    Q_D(const KCalendarSystem);
++    return d->integerFromString(monthString, 2, readLength);
+ }
+ 
+-int KCalendarSystem::dayStringToInteger( const QString &dayString, int &readLength ) const
++int KCalendarSystem::dayStringToInteger(const QString &dayString, int &readLength) const
+ {
+-    Q_D( const KCalendarSystem );
+-    return d->integerFromString( dayString, 2, readLength );
++    Q_D(const KCalendarSystem);
++    return d->integerFromString(dayString, 2, readLength);
+ }
+ 
+-QString KCalendarSystem::formatDate( const QDate &fromDate, KLocale::DateFormat toFormat ) const
++QString KCalendarSystem::formatDate(const QDate &fromDate, KLocale::DateFormat toFormat) const
+ {
+-    if ( !fromDate.isValid() ) {
++    if (!fromDate.isValid()) {
+         return QString();
+     }
+ 
+-    if ( toFormat == KLocale::FancyShortDate || toFormat == KLocale::FancyLongDate ) {
++    if (toFormat == KLocale::FancyShortDate || toFormat == KLocale::FancyLongDate) {
+         QDate now = KDateTime::currentLocalDate();
+-        int daysToNow = fromDate.daysTo( now );
+-        switch ( daysToNow ) {
++        int daysToNow = fromDate.daysTo(now);
++        switch (daysToNow) {
+         case 0:
+             return i18n("Today");
+         case 1:
+@@ -2032,47 +2068,47 @@ QString KCalendarSystem::formatDate( const QDate &fromDate, KLocale::DateFormat
+         case 4:
+         case 5:
+         case 6:
+-            return weekDayName( fromDate );
++            return weekDayName(fromDate);
+         default:
+             break;
+         }
+     }
+ 
+-    switch ( toFormat ) {
++    switch (toFormat) {
+     case KLocale::LongDate:
+     case KLocale::FancyLongDate:
+-        return formatDate( fromDate, locale()->dateFormat() );
++        return formatDate(fromDate, locale()->dateFormat());
+     case KLocale::IsoDate:
+-        return formatDate( fromDate, QLatin1String("%Y-%m-%d") );
++        return formatDate(fromDate, QLatin1String("%Y-%m-%d"));
+     case KLocale::IsoWeekDate:
+-        return formatDate( fromDate, QLatin1String("%Y-W%V-%u") );
++        return formatDate(fromDate, QLatin1String("%Y-W%V-%u"));
+     case KLocale::IsoOrdinalDate:
+-        return formatDate( fromDate, QLatin1String("%Y-%j") );
++        return formatDate(fromDate, QLatin1String("%Y-%j"));
+     case KLocale::ShortDate:
+     case KLocale::FancyShortDate:
+     default:
+-        return formatDate( fromDate, locale()->dateFormatShort() );
++        return formatDate(fromDate, locale()->dateFormatShort());
+     }
+ 
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::formatDate( const QDate &fromDate, const QString &toFormat,
+-                                     KLocale::DateTimeFormatStandard standard ) const
++QString KCalendarSystem::formatDate(const QDate &fromDate, const QString &toFormat,
++                                    KLocale::DateTimeFormatStandard standard) const
+ {
+-    return formatDate( fromDate, toFormat, locale()->dateTimeDigitSet(), standard );
++    return formatDate(fromDate, toFormat, locale()->dateTimeDigitSet(), standard);
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QString KCalendarSystem::formatDate( const QDate &fromDate, const QString &toFormat, KLocale::DigitSet digitSet,
+-                                     KLocale::DateTimeFormatStandard formatStandard ) const
++QString KCalendarSystem::formatDate(const QDate &fromDate, const QString &toFormat, KLocale::DigitSet digitSet,
++                                    KLocale::DateTimeFormatStandard formatStandard) const
+ {
+-    if ( !isValid( fromDate ) || toFormat.isEmpty() ) {
++    if (!isValid(fromDate) || toFormat.isEmpty()) {
+         return QString();
+     }
+ 
+     KDateTimeFormatter formatter;
+-    return formatter.formatDate( fromDate, toFormat, this, locale(), digitSet, formatStandard );
++    return formatter.formatDate(fromDate, toFormat, this, locale(), digitSet, formatStandard);
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+@@ -2080,25 +2116,24 @@ QString KCalendarSystem::formatDate(const QDate &date, KLocale::DateTimeComponen
+                                     KLocale::DateTimeComponentFormat format,
+                                     KLocale::WeekNumberSystem weekNumberSystem) const
+ {
+-    Q_D( const KCalendarSystem );
+-    Q_UNUSED( weekNumberSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    switch ( component ) {
++    switch (component) {
+     case KLocale::Year:
+     case KLocale::YearName:
+-        switch ( format ) {
++        switch (format) {
+         case KLocale::ShortName:
+         case KLocale::NarrowName:
+         case KLocale::ShortNumber:
+-            return yearString(date, KCalendarSystem::ShortFormat);
++            return formatDate(date, QLatin1String("%y"));
+         case KLocale::LongNumber:
+         case KLocale::LongName:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return yearString(date, KCalendarSystem::LongFormat);
++            return formatDate(date, QLatin1String("%Y"));
+         }
+     case KLocale::Month:
+-        switch ( format ) {
++        switch (format) {
+         case KLocale::LongName:
+             return monthName(date, KCalendarSystem::LongName);
+         case KLocale::ShortName:
+@@ -2106,14 +2141,14 @@ QString KCalendarSystem::formatDate(const QDate &date, KLocale::DateTimeComponen
+         case KLocale::NarrowName:
+             return monthName(date, KCalendarSystem::NarrowName);
+         case KLocale::LongNumber:
+-            return monthString(date, KCalendarSystem::LongFormat);
++            return formatDate(date, QLatin1String("%m"));
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return monthString(date, KCalendarSystem::ShortFormat);
++            return formatDate(date, QLatin1String("%n"));
+         }
+     case KLocale::MonthName:
+-        switch ( format ) {
++        switch (format) {
+         case KLocale::NarrowName:
+             return monthName(date, KCalendarSystem::NarrowName);
+         case KLocale::ShortName:
+@@ -2130,16 +2165,16 @@ QString KCalendarSystem::formatDate(const QDate &date, KLocale::DateTimeComponen
+         switch (format) {
+         case KLocale::LongNumber:
+         case KLocale::LongName:
+-            return dayString(date, KCalendarSystem::LongFormat);
++            return formatDate(date, QLatin1String("%d"));
+         case KLocale::ShortName:
+         case KLocale::NarrowName:
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return dayString(date, KCalendarSystem::ShortFormat);
++            return formatDate(date, QLatin1String("%e"));
+         }
+     case KLocale::JulianDay:
+-        return d->stringFromInteger( date.toJulianDay(), 0 );
++        return d->stringFromInteger(date.toJulianDay(), 0);
+     case KLocale::EraName:
+         switch (format) {
+         case KLocale::LongNumber:
+@@ -2168,26 +2203,26 @@ QString KCalendarSystem::formatDate(const QDate &date, KLocale::DateTimeComponen
+         switch (format) {
+         case KLocale::LongNumber:
+         case KLocale::LongName:
+-            return yearInEraString(date, KCalendarSystem::LongFormat);
++            return formatDate(date, QLatin1String("%4Ey"));
+         case KLocale::ShortName:
+         case KLocale::NarrowName:
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return yearInEraString(date, KCalendarSystem::ShortFormat);
++            return formatDate(date, QLatin1String("%Ey"));
+         }
+     case KLocale::DayOfYear:
+     case KLocale::DayOfYearName:
+         switch (format) {
+         case KLocale::LongNumber:
+         case KLocale::LongName:
+-            return dayOfYearString(date, KCalendarSystem::LongFormat);
++            return formatDate(date, QLatin1String("%j"));
+         case KLocale::ShortName:
+         case KLocale::NarrowName:
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return dayOfYearString(date, KCalendarSystem::ShortFormat);
++            return formatDate(date, QLatin1String("%-j"));
+         }
+     case KLocale::DayOfWeek:
+         switch (format) {
+@@ -2201,10 +2236,10 @@ QString KCalendarSystem::formatDate(const QDate &date, KLocale::DateTimeComponen
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return dayOfWeekString(date);
++            return formatDate(date, QLatin1String("%-u"));
+         }
+     case KLocale::DayOfWeekName:
+-        switch ( format ) {
++        switch (format) {
+         case KLocale::NarrowName:
+             return weekDayName(date, KCalendarSystem::NarrowDayName);
+         case KLocale::ShortName:
+@@ -2220,69 +2255,68 @@ QString KCalendarSystem::formatDate(const QDate &date, KLocale::DateTimeComponen
+         switch (format) {
+         case KLocale::LongNumber:
+         case KLocale::LongName:
+-            return weekNumberString(date, KCalendarSystem::LongFormat);
++            return d->stringFromInteger(week(date, weekNumberSystem, 0), 2, QLatin1Char('0'));
+         case KLocale::ShortName:
+         case KLocale::NarrowName:
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return weekNumberString(date, KCalendarSystem::ShortFormat);
++            return d->stringFromInteger(week(date, weekNumberSystem, 0), 0, QLatin1Char('0'));
+         }
+-    case KLocale::WeekYear:
+-    {
++    case KLocale::WeekYear: {
+         int weekYear;
+         QDate yearDate;
+-        weekNumber( date, &weekYear );
+-        setDate( yearDate, weekYear, 1, 1 );
+-        return formatDate( yearDate, KLocale::Year, format );
++        week(date, weekNumberSystem, &weekYear);
++        setDate(yearDate, weekYear, 1, 1);
++        return formatDate(yearDate, KLocale::Year, format);
+     }
+     case KLocale::MonthsInYear:
+         switch (format) {
+         case KLocale::LongNumber:
+         case KLocale::LongName:
+-            return monthsInYearString(date, KCalendarSystem::LongFormat);
++            return d->stringFromInteger(monthsInYear(date), 2, QLatin1Char('0'));
+         case KLocale::ShortName:
+         case KLocale::NarrowName:
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return monthsInYearString(date, KCalendarSystem::ShortFormat);
++            return d->stringFromInteger(monthsInYear(date), 0, QLatin1Char('0'));
+         }
+     case KLocale::WeeksInYear:
+         switch (format) {
+         case KLocale::LongNumber:
+         case KLocale::LongName:
+-            return weeksInYearString(date, KCalendarSystem::LongFormat);
++            return d->stringFromInteger(weeksInYear(date), 2, QLatin1Char('0'));
+         case KLocale::ShortName:
+         case KLocale::NarrowName:
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return weeksInYearString(date, KCalendarSystem::ShortFormat);
++            return d->stringFromInteger(weeksInYear(date), 0, QLatin1Char('0'));
+         }
+     case KLocale::DaysInYear:
+         switch (format) {
+         case KLocale::LongNumber:
+         case KLocale::LongName:
+-            return daysInYearString(date, KCalendarSystem::LongFormat);
++            return d->stringFromInteger(daysInYear(date), 3, QLatin1Char('0'));
+         case KLocale::ShortName:
+         case KLocale::NarrowName:
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return daysInYearString(date, KCalendarSystem::ShortFormat);
++            return d->stringFromInteger(daysInYear(date), 0, QLatin1Char('0'));
+         }
+     case KLocale::DaysInMonth:
+         switch (format) {
+         case KLocale::LongNumber:
+         case KLocale::LongName:
+-            return daysInMonthString(date, KCalendarSystem::LongFormat);
++            return d->stringFromInteger(daysInMonth(date), 2, QLatin1Char('0'));
+         case KLocale::ShortName:
+         case KLocale::NarrowName:
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return daysInMonthString(date, KCalendarSystem::ShortFormat);
++            return d->stringFromInteger(daysInMonth(date), 0, QLatin1Char('0'));
+         }
+     case KLocale::DaysInWeek:
+         switch (format) {
+@@ -2293,26 +2327,26 @@ QString KCalendarSystem::formatDate(const QDate &date, KLocale::DateTimeComponen
+         case KLocale::ShortNumber:
+         case KLocale::DefaultComponentFormat:
+         default:
+-            return daysInWeekString(date);
++            return d->stringFromInteger(d->daysInWeek(), 0);
+         }
+     default:
+         return QString();
+     }
+ }
+ 
+-QDate KCalendarSystem::readDate( const QString &str, bool *ok ) const
++QDate KCalendarSystem::readDate(const QString &str, bool *ok) const
+ {
+     //Try each standard format in turn, start with the locale ones,
+     //then the well defined standards
+-    QDate date = readDate( str, KLocale::ShortFormat, ok);
+-    if ( !isValid( date ) ) {
+-        date = readDate( str, KLocale::NormalFormat, ok);
+-        if ( !isValid( date )) {
+-            date = readDate( str, KLocale::IsoFormat, ok);
+-            if ( !isValid( date ) ) {
+-                date = readDate( str, KLocale::IsoWeekFormat, ok);
+-                if ( !isValid( date ) ) {
+-                    date = readDate( str, KLocale::IsoOrdinalFormat, ok);
++    QDate date = readDate(str, KLocale::ShortFormat, ok);
++    if (!isValid(date)) {
++        date = readDate(str, KLocale::NormalFormat, ok);
++        if (!isValid(date)) {
++            date = readDate(str, KLocale::IsoFormat, ok);
++            if (!isValid(date)) {
++                date = readDate(str, KLocale::IsoWeekFormat, ok);
++                if (!isValid(date)) {
++                    date = readDate(str, KLocale::IsoOrdinalFormat, ok);
+                 }
+             }
+         }
+@@ -2321,35 +2355,35 @@ QDate KCalendarSystem::readDate( const QString &str, bool *ok ) const
+     return date;
+ }
+ 
+-QDate KCalendarSystem::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
++QDate KCalendarSystem::readDate(const QString &str, KLocale::ReadDateFlags flags, bool *ok) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    if ( flags & KLocale::ShortFormat ) {
+-        return readDate( str, locale()->dateFormatShort(), ok );
+-    } else if ( flags & KLocale::NormalFormat ) {
+-        return readDate( str, locale()->dateFormat(), ok );
+-    } else if ( flags & KLocale::IsoFormat ) {
+-        return readDate( str, QLatin1String("%Y-%m-%d"), ok );
+-    } else if ( flags & KLocale::IsoWeekFormat ) {
+-        return readDate( str, QLatin1String("%Y-W%V-%u"), ok );
+-    } else if ( flags & KLocale::IsoOrdinalFormat ) {
+-        return readDate( str, QLatin1String("%Y-%j"), ok );
++    if (flags & KLocale::ShortFormat) {
++        return readDate(str, locale()->dateFormatShort(), ok);
++    } else if (flags & KLocale::NormalFormat) {
++        return readDate(str, locale()->dateFormat(), ok);
++    } else if (flags & KLocale::IsoFormat) {
++        return readDate(str, QLatin1String("%Y-%m-%d"), ok);
++    } else if (flags & KLocale::IsoWeekFormat) {
++        return readDate(str, QLatin1String("%Y-W%V-%u"), ok);
++    } else if (flags & KLocale::IsoOrdinalFormat) {
++        return readDate(str, QLatin1String("%Y-%j"), ok);
+     }
+     return d->invalidDate();
+ }
+ 
+-QDate KCalendarSystem::readDate( const QString &inputString, const QString &formatString, bool *ok ) const
++QDate KCalendarSystem::readDate(const QString &inputString, const QString &formatString, bool *ok) const
+ {
+-    return readDate( inputString, formatString, ok, KLocale::KdeFormat );
++    return readDate(inputString, formatString, ok, KLocale::KdeFormat);
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-QDate KCalendarSystem::readDate( const QString &inputString, const QString &formatString, bool *ok,
+-                                 KLocale::DateTimeFormatStandard formatStandard ) const
++QDate KCalendarSystem::readDate(const QString &inputString, const QString &formatString, bool *ok,
++                                KLocale::DateTimeFormatStandard formatStandard) const
+ {
+     KDateTimeParser parser;
+-    QDate resultDate = parser.parseDate( inputString, formatString, this, locale(), locale()->dateTimeDigitSet(), formatStandard );
++    QDate resultDate = parser.parseDate(inputString, formatString, this, locale(), locale()->dateTimeDigitSet(), formatStandard);
+     if (ok) {
+         *ok = resultDate.isValid();
+     }
+@@ -2359,17 +2393,17 @@ QDate KCalendarSystem::readDate( const QString &inputString, const QString &form
+ // NOT VIRTUAL - If override needed use shared-d
+ int KCalendarSystem::shortYearWindowStartYear() const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+     return d->shortYearWindowStartYear();
+ }
+ 
+ // NOT VIRTUAL - If override needed use shared-d
+-int KCalendarSystem::applyShortYearWindow( int inputYear ) const
++int KCalendarSystem::applyShortYearWindow(int inputYear) const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+-    return d->applyShortYearWindow( inputYear );
++    return d->applyShortYearWindow(inputYear);
+ }
+ 
+ int KCalendarSystem::weekStartDay() const
+@@ -2383,7 +2417,7 @@ int KCalendarSystem::weekStartDay() const
+ // instead be wrapped in validity checks, as sometimes we want this to work outside the public valid
+ // range, i.e. to allow us to internally set dates of 1/1/10000 which are not publically valid but
+ // are required for internal maths
+-bool KCalendarSystem::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystem::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+     // Formula from The Calendar FAQ by Claus Tondering
+     // http://www.tondering.dk/claus/cal/node3.html#SECTION003161000000000000000
+@@ -2391,18 +2425,18 @@ bool KCalendarSystem::julianDayToDate( int jd, int &year, int &month, int &day )
+     // the Boost licensed source code
+ 
+     int a = jd + 32044;
+-    int b = ( ( 4 * a ) + 3 ) / 146097;
+-    int c = a - ( ( 146097 * b ) / 4 );
+-    int d = ( ( 4 * c ) + 3 ) / 1461;
+-    int e = c - ( ( 1461 * d ) / 4 );
+-    int m = ( ( 5 * e ) + 2 ) / 153;
+-    day = e - ( ( (153 * m ) + 2 ) / 5 ) + 1;
+-    month = m + 3 - ( 12 * ( m / 10 ) );
+-    year = ( 100 * b ) + d - 4800 + ( m / 10 );
++    int b = ((4 * a) + 3) / 146097;
++    int c = a - ((146097 * b) / 4);
++    int d = ((4 * c) + 3) / 1461;
++    int e = c - ((1461 * d) / 4);
++    int m = ((5 * e) + 2) / 153;
++    day = e - (((153 * m) + 2) / 5) + 1;
++    month = m + 3 - (12 * (m / 10));
++    year = (100 * b) + d - 4800 + (m / 10);
+ 
+     // If year is -ve then is BC.  In Gregorian there is no year 0, but the maths
+     // is easier if we pretend there is, so internally year of 0 = 1BC = -1 outside
+-    if ( year < 1 ) {
++    if (year < 1) {
+         year = year - 1;
+     }
+ 
+@@ -2415,7 +2449,7 @@ bool KCalendarSystem::julianDayToDate( int jd, int &year, int &month, int &day )
+ // instead be wrapped in validity checks, as sometimes we want this to work outside the public valid
+ // range, i.e. to allow us to internally set dates of 1/1/10000 which are not publically valid but
+ // are required for internal maths
+-bool KCalendarSystem::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystem::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+     // Formula from The Calendar FAQ by Claus Tondering
+     // http://www.tondering.dk/claus/cal/node3.html#SECTION003161000000000000000
+@@ -2425,22 +2459,22 @@ bool KCalendarSystem::dateToJulianDay( int year, int month, int day, int &jd ) c
+     // If year is -ve then is BC.  In Gregorian there is no year 0, but the maths
+     // is easier if we pretend there is, so internally year of -1 = 1BC = 0 internally
+     int y;
+-    if ( year < 1 ) {
++    if (year < 1) {
+         y = year + 1;
+     } else {
+         y = year;
+     }
+ 
+-    int a = ( 14 - month ) / 12;
++    int a = (14 - month) / 12;
+     y = y + 4800 - a;
+-    int m = month + ( 12 * a ) - 3;
++    int m = month + (12 * a) - 3;
+ 
+     jd = day
+-         + ( ( ( 153 * m ) + 2 ) / 5 )
+-         + ( 365 * y )
+-         + ( y / 4 )
+-         - ( y / 100 )
+-         + ( y / 400 )
++         + (((153 * m) + 2) / 5)
++         + (365 * y)
++         + (y / 4)
++         - (y / 100)
++         + (y / 400)
+          - 32045;
+ 
+     return true;
+@@ -2448,25 +2482,25 @@ bool KCalendarSystem::dateToJulianDay( int year, int month, int day, int &jd ) c
+ 
+ const KLocale * KCalendarSystem::locale() const
+ {
+-    Q_D( const KCalendarSystem );
++    Q_D(const KCalendarSystem);
+ 
+     return d->locale();
+ }
+ 
+ // Deprecated
+-void KCalendarSystem::setMaxMonthsInYear( int maxMonths )
++void KCalendarSystem::setMaxMonthsInYear(int maxMonths)
+ {
+-    Q_UNUSED( maxMonths )
++    Q_UNUSED(maxMonths)
+ }
+ 
+ // Deprecated
+-void KCalendarSystem::setMaxDaysInWeek( int maxDays )
++void KCalendarSystem::setMaxDaysInWeek(int maxDays)
+ {
+-    Q_UNUSED( maxDays )
++    Q_UNUSED(maxDays)
+ }
+ 
+ // Deprecated
+-void KCalendarSystem::setHasYear0( bool hasYear0 )
++void KCalendarSystem::setHasYear0(bool hasYear0)
+ {
+-    Q_UNUSED( hasYear0 )
++    Q_UNUSED(hasYear0)
+ }
+diff --git a/kdecore/date/kcalendarsystem.h b/kdecore/date/kcalendarsystem.h
+index 318e2d3..4dfda62 100644
+--- a/kdecore/date/kcalendarsystem.h
++++ b/kdecore/date/kcalendarsystem.h
+@@ -45,28 +45,28 @@ public:
+      * Format for returned year number / month number / day number as string.
+      */
+     enum StringFormat {
+-         ShortFormat,      /**< Short string format, e.g. 2000 = "00" or 6 = "6" */
+-         LongFormat        /**< Long string format, e.g. 2000 = "2000" or 6 = "06" */
++        ShortFormat,      /**< Short string format, e.g. 2000 = "00" or 6 = "6" */
++        LongFormat        /**< Long string format, e.g. 2000 = "2000" or 6 = "06" */
+     };
+ 
+     /**
+      * Format for returned month / day name.
+      */
+     enum MonthNameFormat {
+-         ShortName,                /**< Short name format, e.g. "Dec" */
+-         LongName,                 /**< Long name format, e.g. "December" */
+-         ShortNamePossessive,      /**< Short name possessive format, e.g. "of Dec" */
+-         LongNamePossessive,       /**< Long name possessive format, e.g. "of December" */
+-         NarrowName                /**< Narrow name format, e.g. "D". @since 4.7 */
++        ShortName,                /**< Short name format, e.g. "Dec" */
++        LongName,                 /**< Long name format, e.g. "December" */
++        ShortNamePossessive,      /**< Short name possessive format, e.g. "of Dec" */
++        LongNamePossessive,       /**< Long name possessive format, e.g. "of December" */
++        NarrowName                /**< Narrow name format, e.g. "D". @since 4.7 */
+     };
+ 
+     /**
+      * Format for returned month / day name.
+      */
+     enum WeekDayNameFormat {
+-         ShortDayName,                /**< Short name format, e.g. "Fri" */
+-         LongDayName,                 /**< Long name format, e.g. "Friday" */
+-         NarrowDayName                /**< Narrow name format, e.g. "F". @since 4.7 */
++        ShortDayName,                /**< Short name format, e.g. "Fri" */
++        LongDayName,                 /**< Long name format, e.g. "Friday" */
++        NarrowDayName                /**< Narrow name format, e.g. "F". @since 4.7 */
+     };
+ 
+     //KDE5 remove
+@@ -80,8 +80,8 @@ public:
+      * @param locale locale to use for translations. The global locale is used if null.
+      * @return a KCalendarSystem object
+      */
+-    static KCalendarSystem *create( const QString & calType = QLatin1String( "gregorian" ),
+-                                     const KLocale * locale = 0 );
++    KDE_DEPRECATED static KCalendarSystem *create(const QString & calType = QLatin1String("gregorian"),
++                                                  const KLocale * locale = 0);
+ 
+     //KDE5 remove
+     /**
+@@ -98,8 +98,8 @@ public:
+      * @param locale locale to use for translations. The global locale is used if null.
+      * @return a KCalendarSystem object
+      */
+-    static KCalendarSystem *create( const QString & calType, KSharedConfig::Ptr config,
+-                                    const KLocale * locale = 0 );
++    KDE_DEPRECATED static KCalendarSystem *create(const QString & calType, KSharedConfig::Ptr config,
++                                                  const KLocale * locale = 0);
+ 
+     //KDE5 add default value to calendarSystem
+     /**
+@@ -111,8 +111,8 @@ public:
+      * @param locale locale to use for translations. The global locale is used if null.
+      * @return a KCalendarSystem object
+      */
+-    static KCalendarSystem *create( KLocale::CalendarSystem calendarSystem,
+-                                    const KLocale *locale = 0 );
++    static KCalendarSystem *create(KLocale::CalendarSystem calendarSystem,
++                                   const KLocale *locale = 0);
+ 
+     /**
+      * @since 4.6
+@@ -126,8 +126,8 @@ public:
+      * @param locale locale to use for translations. The global locale is used if null.
+      * @return a KCalendarSystem object
+      */
+-    static KCalendarSystem *create( KLocale::CalendarSystem calendarSystem, KSharedConfig::Ptr config,
+-                                    const KLocale *locale = 0 );
++    static KCalendarSystem *create(KLocale::CalendarSystem calendarSystem, KSharedConfig::Ptr config,
++                                   const KLocale *locale = 0);
+ 
+     //KDE5 remove
+     /**
+@@ -137,7 +137,7 @@ public:
+      *
+      * @return list of names
+      */
+-    static QStringList calendarSystems();
++    KDE_DEPRECATED static QStringList calendarSystems();
+ 
+     /**
+      * @since 4.6
+@@ -160,23 +160,25 @@ public:
+      *
+      * @return label for calendar
+      */
+-    static QString calendarLabel( const QString &calendarType );
++    KDE_DEPRECATED static QString calendarLabel(const QString &calendarType);
+ 
+     /**
+      * @since 4.6
+      *
+      * Returns a localized label to display for the required Calendar System type.
+      *
+-     * Use with calendarSystemsList() to populate selction lists of available
++     * Use with calendarSystemsList() to populate selection lists of available
+      * calendar systems.
+      *
+-     * @param calendarType the specific calendar type to return the label for
++     * @param calendarSystem the specific calendar type to return the label for
+      * @param locale the locale to use for the label, defaults to global
+      * @return label for calendar
+      */
+-    static QString calendarLabel( KLocale::CalendarSystem calendarSystem, const KLocale *locale = KGlobal::locale() );
++    static QString calendarLabel(KLocale::CalendarSystem calendarSystem, const KLocale *locale = KGlobal::locale());
+ 
++    //KDE5 Remove
+     /**
++     * @deprecated use calendarSystem(const QString &calendarType) instead
+      * @since 4.6
+      *
+      * Returns the Calendar System enum value for a given Calendar Type,
+@@ -185,14 +187,38 @@ public:
+      * @param calendarType the calendar type to convert
+      * @return calendar system for calendar type
+      */
+-    static KLocale::CalendarSystem calendarSystemForCalendarType( const QString &calendarType );
++    KDE_DEPRECATED static KLocale::CalendarSystem calendarSystemForCalendarType(const QString &calendarType);
++
++    //KDE5 Remove
++    /**
++     * @since 4.7
++     *
++     * Returns the Calendar System enum value for a given Calendar Type,
++     * e.g. KLocale::QDateCalendar for "gregorian"
++     *
++     * @param calendarType the calendar type to convert
++     * @return calendar system for calendar type
++     */
++    static KLocale::CalendarSystem calendarSystem(const QString &calendarType);
++
++    //KDE5 remove
++    /**
++     * @since 4.7
++     *
++     * Returns the deprecated Calendar Type for a given Calendar System enum value,
++     * e.g. "gregorian" for KLocale::QDateCalendar
++     *
++     * @param calendarSystem the calendar system to convert
++     * @return calendar type for calendar system
++     */
++    static QString calendarType(KLocale::CalendarSystem calendarSystem);
+ 
+     /**
+      * Constructor of abstract calendar class. This will be called by derived classes.
+      *
+      * @param locale locale to use for translations. The global locale is used if null.
+      */
+-    explicit KCalendarSystem( const KLocale *locale = 0 );
++    explicit KCalendarSystem(const KLocale *locale = 0);
+ 
+     /**
+      * Constructor of abstract calendar class. This will be called by derived classes.
+@@ -202,7 +228,7 @@ public:
+                      if null.
+      * @param locale locale to use for translations. The global locale is used if null.
+      */
+-    explicit KCalendarSystem( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystem(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+ 
+     /**
+      * Destructor.
+@@ -216,7 +242,7 @@ public:
+      *
+      * @return type of calendar system
+      */
+-    virtual QString calendarType() const = 0;
++    KDE_DEPRECATED virtual QString calendarType() const = 0;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -285,7 +311,7 @@ public:
+      * @param day the day portion of the date to check
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    virtual bool isValid( int year, int month, int day ) const = 0;
++    virtual bool isValid(int year, int month, int day) const = 0;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -297,7 +323,7 @@ public:
+      * @param dayOfYear the day of year portion of the date to check
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    bool isValid( int year, int dayOfYear ) const;
++    bool isValid(int year, int dayOfYear) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -305,13 +331,13 @@ public:
+      *
+      * Returns whether a given date is valid in this calendar system.
+      *
+-     * @param era the Era Name portion of the date to check
++     * @param eraName the Era Name portion of the date to check
+      * @param yearInEra the Year In Era portion of the date to check
+      * @param month the Month portion of the date to check
+      * @param day the Day portion of the date to check
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    bool isValid( const QString &eraName, int yearInEra, int month, int day ) const;
++    bool isValid(const QString &eraName, int yearInEra, int month, int day) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -324,7 +350,7 @@ public:
+      * @param dayOfIsoWeek the day of week portion of the date to check
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    bool isValidIsoWeekDate( int year, int isoWeekNumber, int dayOfIsoWeek ) const;
++    bool isValidIsoWeekDate(int year, int isoWeekNumber, int dayOfIsoWeek) const;
+ 
+     /**
+      * Returns whether a given date is valid in this calendar system.
+@@ -332,7 +358,7 @@ public:
+      * @param date the date to check
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+     /**
+      * Changes the date's year, month and day. The range of the year, month
+@@ -346,7 +372,7 @@ public:
+      * @param day day of month
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
++    virtual bool setDate(QDate &date, int year, int month, int day) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -359,7 +385,7 @@ public:
+      * @param dayOfYear day of year
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    bool setDate( QDate &date, int year, int dayOfYear ) const;
++    bool setDate(QDate &date, int year, int dayOfYear) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -369,12 +395,12 @@ public:
+      *
+      * @param date date to change
+      * @param eraName Era string
+-     * @param year Year In Era number
++     * @param yearInEra Year In Era number
+      * @param month Month number
+      * @param day Day Of Month number
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    bool setDate( QDate &date, QString eraName, int yearInEra, int month, int day ) const;
++    bool setDate(QDate &date, QString eraName, int yearInEra, int month, int day) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -388,14 +414,10 @@ public:
+      * @param dayOfIsoWeek day of week Mon..Sun (1..7)
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    bool setDateIsoWeek( QDate &date, int year, int isoWeekNumber, int dayOfIsoWeek ) const;
++    bool setDateIsoWeek(QDate &date, int year, int isoWeekNumber, int dayOfIsoWeek) const;
+ 
+     /**
+-     * @deprecated
+-     *
+-     * Use setDate instead
+-     *
+-     * @see KCalendarSystem::setDate
++     * @deprecated Use setDate() instead
+      *
+      * Some implementations reject year range 00 to 99, but extended date
+      * ranges now require these to be accepted.  Equivalent in QDate is
+@@ -410,7 +432,7 @@ public:
+      * @param d Day of month
+      * @return true if the date is valid; otherwise returns false.
+      */
+-    virtual bool setYMD( QDate &date, int y, int m, int d ) const;
++    KDE_DEPRECATED virtual bool setYMD(QDate &date, int y, int m, int d) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -423,7 +445,7 @@ public:
+      * @param month month number returned in this variable
+      * @param day day of month returned in this variable
+      */
+-    void getDate( const QDate date, int *year, int *month, int *day ) const;
++    void getDate(const QDate date, int *year, int *month, int *day) const;
+ 
+     /**
+      * Returns the year portion of a given date in the current calendar system
+@@ -431,7 +453,7 @@ public:
+      * @param date date to return year for
+      * @return year, 0 if input date is invalid
+      */
+-    virtual int year( const QDate &date ) const;
++    virtual int year(const QDate &date) const;
+ 
+     /**
+      * Returns the month portion of a given date in the current calendar system
+@@ -439,7 +461,7 @@ public:
+      * @param date date to return month for
+      * @return month of year, 0 if input date is invalid
+      */
+-    virtual int month( const QDate &date ) const;
++    virtual int month(const QDate &date) const;
+ 
+     /**
+      * Returns the day portion of a given date in the current calendar system
+@@ -447,7 +469,7 @@ public:
+      * @param date date to return day for
+      * @return day of the month, 0 if input date is invalid
+      */
+-    virtual int day( const QDate &date ) const;
++    virtual int day(const QDate &date) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -460,7 +482,7 @@ public:
+      * @param format format to return, either short or long
+      * @return era name, empty string if input date is invalid
+      */
+-    QString eraName( const QDate &date, StringFormat format = ShortFormat ) const;
++    QString eraName(const QDate &date, StringFormat format = ShortFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -473,7 +495,7 @@ public:
+      * @param format format to return, either short or long
+      * @return era name, empty string if input date is invalid
+      */
+-    QString eraYear( const QDate &date, StringFormat format = ShortFormat ) const;
++    QString eraYear(const QDate &date, StringFormat format = ShortFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -485,7 +507,7 @@ public:
+      * @param date date to return Year In Era for
+      * @return Year In Era, -1 if input date is invalid
+      */
+-    int yearInEra( const QDate &date ) const;
++    int yearInEra(const QDate &date) const;
+ 
+     /**
+      * Returns a QDate containing a date @p nyears years later.
+@@ -494,7 +516,7 @@ public:
+      * @param nyears The number of years to add
+      * @return The new date, null date if any errors
+      */
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
++    virtual QDate addYears(const QDate &date, int nyears) const;
+ 
+     /**
+      * Returns a QDate containing a date @p nmonths months later.
+@@ -503,7 +525,7 @@ public:
+      * @param nmonths number of months to add
+      * @return The new date, null date if any errors
+      */
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
++    virtual QDate addMonths(const QDate &date, int nmonths) const;
+ 
+     /**
+      * Returns a QDate containing a date @p ndays days later.
+@@ -512,7 +534,7 @@ public:
+      * @param ndays number of days to add
+      * @return The new date, null date if any errors
+      */
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
++    virtual QDate addDays(const QDate &date, int ndays) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -533,8 +555,8 @@ public:
+      * @param daysDiff Returns number of days difference
+      * @param direction Returns direction of difference, 1 if fromDate <= toDate, -1 otherwise
+      */
+-    void dateDifference( const QDate &fromDate, const QDate &toDate,
+-                         int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction ) const;
++    void dateDifference(const QDate &fromDate, const QDate &toDate,
++                        int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -547,7 +569,7 @@ public:
+     * @param toDate The date to end at
+     * @return The number of years difference
+     */
+-    int yearsDifference( const QDate &fromDate, const QDate &toDate ) const;
++    int yearsDifference(const QDate &fromDate, const QDate &toDate) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -562,7 +584,7 @@ public:
+      * @param toDate The date to end at
+      * @return The number of months difference
+      */
+-    int monthsDifference( const QDate &fromDate, const QDate &toDate ) const;
++    int monthsDifference(const QDate &fromDate, const QDate &toDate) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -573,7 +595,7 @@ public:
+      * @param toDate The date to end at
+      * @return The number of days difference
+      */
+-    int daysDifference( const QDate &fromDate, const QDate &toDate ) const;
++    int daysDifference(const QDate &fromDate, const QDate &toDate) const;
+ 
+     /**
+      * Returns number of months in the given year
+@@ -581,7 +603,7 @@ public:
+      * @param date the date to obtain year from
+      * @return number of months in the year, -1 if input date invalid
+      */
+-    virtual int monthsInYear( const QDate &date ) const;
++    virtual int monthsInYear(const QDate &date) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -592,7 +614,7 @@ public:
+      * @param year the required year
+      * @return number of months in the year, -1 if input date invalid
+      */
+-    int monthsInYear( int year ) const;
++    int monthsInYear(int year) const;
+ 
+     /**
+      * Returns the number of localized weeks in the given year.
+@@ -600,7 +622,7 @@ public:
+      * @param date the date to obtain year from
+      * @return number of weeks in the year, -1 if input date invalid
+      */
+-    virtual int weeksInYear( const QDate &date ) const;
++    virtual int weeksInYear(const QDate &date) const;
+ 
+     //KDE5 Merge with virtual weeksInYear with default
+     /**
+@@ -617,7 +639,7 @@ public:
+      * @param weekNumberSystem the week number system to use
+      * @return number of weeks in the year, -1 if  date invalid
+      */
+-    int weeksInYear( const QDate &date, KLocale::WeekNumberSystem weekNumberSystem ) const;
++    int weeksInYear(const QDate &date, KLocale::WeekNumberSystem weekNumberSystem) const;
+ 
+     /**
+      * Returns the number of localized weeks in the given year.
+@@ -625,7 +647,7 @@ public:
+      * @param year the year
+      * @return number of weeks in the year, -1 if input date invalid
+      */
+-    virtual int weeksInYear( int year ) const;
++    virtual int weeksInYear(int year) const;
+ 
+     //KDE5 Merge with virtual weeksInYear with default
+     /**
+@@ -642,7 +664,7 @@ public:
+      * @param weekNumberSystem the week number system to use
+      * @return number of weeks in the year, -1 if  date invalid
+      */
+-    int weeksInYear( int year, KLocale::WeekNumberSystem weekNumberSystem ) const;
++    int weeksInYear(int year, KLocale::WeekNumberSystem weekNumberSystem) const;
+ 
+     /**
+      * Returns the number of days in the given year.
+@@ -650,7 +672,7 @@ public:
+      * @param date the date to obtain year from
+      * @return number of days in year, -1 if input date invalid
+      */
+-    virtual int daysInYear( const QDate &date ) const;
++    virtual int daysInYear(const QDate &date) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -661,7 +683,7 @@ public:
+      * @param year the year
+      * @return number of days in year, -1 if input date invalid
+      */
+-    int daysInYear( int year ) const;
++    int daysInYear(int year) const;
+ 
+     /**
+      * Returns the number of days in the given month.
+@@ -669,7 +691,7 @@ public:
+      * @param date the date to obtain month from
+      * @return number of days in month, -1 if input date invalid
+      */
+-    virtual int daysInMonth( const QDate &date ) const;
++    virtual int daysInMonth(const QDate &date) const;
+ 
+     //KDE5 make virtual?
+     /**
+@@ -681,7 +703,7 @@ public:
+      * @param month the month
+      * @return number of days in month, -1 if input date invalid
+      */
+-    int daysInMonth( int year, int month ) const;
++    int daysInMonth(int year, int month) const;
+ 
+     /**
+      * Returns the number of days in the given week.
+@@ -689,7 +711,7 @@ public:
+      * @param date the date to obtain week from
+      * @return number of days in week, -1 if input date invalid
+      */
+-    virtual int daysInWeek( const QDate &date ) const;
++    virtual int daysInWeek(const QDate &date) const;
+ 
+     /**
+      * Returns the day number of year for the given date
+@@ -699,7 +721,7 @@ public:
+      * @param date the date to obtain day from
+      * @return day of year number, -1 if input date not valid
+      */
+-    virtual int dayOfYear( const QDate &date ) const;
++    virtual int dayOfYear(const QDate &date) const;
+ 
+     /**
+      * Returns the weekday number for the given date
+@@ -711,10 +733,10 @@ public:
+      * @param date the date to obtain day from
+      * @return day of week number, -1 if input date not valid
+      */
+-    virtual int dayOfWeek( const QDate &date ) const;
++    virtual int dayOfWeek(const QDate &date) const;
+ 
+     /**
+-     * @deprecated
++     * @deprecated use week() instead
+      *
+      * Returns the ISO week number for the given date.
+      *
+@@ -728,7 +750,7 @@ public:
+      * @param yearNum returns the year the date belongs to
+      * @return ISO week number, -1 if input date invalid
+      */
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
++    KDE_DEPRECATED virtual int weekNumber(const QDate &date, int *yearNum = 0) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -748,7 +770,7 @@ public:
+      * @param yearNum returns the year the date belongs to
+      * @return localized week number, -1 if input date invalid
+      */
+-    int week( const QDate &date, int *yearNum = 0 ) const;
++    int week(const QDate &date, int *yearNum = 0) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -771,7 +793,7 @@ public:
+      * @param yearNum returns the year the date belongs to
+      * @return week number, -1 if input date invalid
+      */
+-    int week( const QDate &date, KLocale::WeekNumberSystem weekNumberSystem, int *yearNum = 0) const;
++    int week(const QDate &date, KLocale::WeekNumberSystem weekNumberSystem, int *yearNum = 0) const;
+ 
+     /**
+      * Returns whether a given year is a leap year.
+@@ -782,7 +804,7 @@ public:
+      * @param year the year to check
+      * @return @c true if the year is a leap year, @c false otherwise
+      */
+-    virtual bool isLeapYear( int year ) const = 0;
++    virtual bool isLeapYear(int year) const = 0;
+ 
+     /**
+      * Returns whether a given date falls in a leap year.
+@@ -793,7 +815,7 @@ public:
+      * @param date the date to check
+      * @return @c true if the date falls in a leap year, @c false otherwise
+      */
+-    virtual bool isLeapYear( const QDate &date ) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -801,10 +823,10 @@ public:
+      *
+      * Returns a QDate containing the first day of the year
+      *
+-     * @param date The year to return the date for
++     * @param year The year to return the date for
+      * @return The first day of the year
+      */
+-    QDate firstDayOfYear( int year ) const;
++    QDate firstDayOfYear(int year) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -812,10 +834,10 @@ public:
+      *
+      * Returns a QDate containing the last day of the year
+      *
+-     * @param date The year to return the date for
++     * @param year The year to return the date for
+      * @return The last day of the year
+      */
+-    QDate lastDayOfYear( int year ) const;
++    QDate lastDayOfYear(int year) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -826,7 +848,7 @@ public:
+      * @param date The year to return the date for, defaults to today
+      * @return The first day of the year
+      */
+-    QDate firstDayOfYear( const QDate &date = QDate::currentDate() ) const;
++    QDate firstDayOfYear(const QDate &date = QDate::currentDate()) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -837,7 +859,7 @@ public:
+      * @param date The year to return the date for, defaults to today
+      * @return The last day of the year
+      */
+-    QDate lastDayOfYear( const QDate &date = QDate::currentDate() ) const;
++    QDate lastDayOfYear(const QDate &date = QDate::currentDate()) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -845,10 +867,11 @@ public:
+      *
+      * Returns a QDate containing the first day of the month
+      *
+-     * @param date The month to return the date for, defaults to today
++     * @param year The year to return the date for
++     * @param month The month to return the date for
+      * @return The first day of the month
+      */
+-    QDate firstDayOfMonth( int year, int month ) const;
++    QDate firstDayOfMonth(int year, int month) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -856,10 +879,11 @@ public:
+      *
+      * Returns a QDate containing the last day of the month
+      *
+-     * @param date The month to return the date for, defaults to today
++     * @param year The year to return the date for
++     * @param month The month to return the date for
+      * @return The last day of the month
+      */
+-    QDate lastDayOfMonth( int year, int month ) const;
++    QDate lastDayOfMonth(int year, int month) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -870,7 +894,7 @@ public:
+      * @param date The month to return the date for, defaults to today
+      * @return The first day of the month
+      */
+-    QDate firstDayOfMonth( const QDate &date = QDate::currentDate() ) const;
++    QDate firstDayOfMonth(const QDate &date = QDate::currentDate()) const;
+ 
+     //KDE5 Make virtual?
+     /**
+@@ -881,7 +905,7 @@ public:
+      * @param date The month to return the date for, defaults to today
+      * @return The last day of the month
+      */
+-    QDate lastDayOfMonth( const QDate &date = QDate::currentDate() ) const;
++    QDate lastDayOfMonth(const QDate &date = QDate::currentDate()) const;
+ 
+     /**
+      * Gets specific calendar type month name for a given month number
+@@ -892,7 +916,7 @@ public:
+      * @param format specifies whether the short month name or long month name should be used
+      * @return name of the month, empty string if any error
+      */
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const = 0;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const = 0;
+ 
+     /**
+      * Gets specific calendar type month name for a given date
+@@ -901,7 +925,7 @@ public:
+      * @param format specifies whether the short month name or long month name should be used
+      * @return name of the month, empty string if any error
+      */
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+     /**
+      * Gets specific calendar type week day name.
+@@ -911,7 +935,7 @@ public:
+      * @param format specifies whether the short month name or long month name should be used
+      * @return day name, empty string if any error
+      */
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const = 0;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const = 0;
+ 
+     /**
+      * Gets specific calendar type week day name.
+@@ -920,9 +944,11 @@ public:
+      * @param format specifies whether the short month name or long month name should be used
+      * @return day name, empty string if any error
+      */
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * Converts a date into a year literal
+      *
+      * @param date date to convert
+@@ -930,9 +956,11 @@ public:
+      * @return year literal of the date, empty string if any error
+      * @see year()
+      */
+-    virtual QString yearString( const QDate &date, StringFormat format = LongFormat ) const;
++    KDE_DEPRECATED virtual QString yearString(const QDate &date, StringFormat format = LongFormat) const;
+ 
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * Converts a date into a month literal
+      *
+      * @param pDate The date to convert
+@@ -940,9 +968,11 @@ public:
+      * @return The month literal of the date, empty string if any error
+      * @see month()
+      */
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
++    KDE_DEPRECATED virtual QString monthString(const QDate &pDate, StringFormat format = LongFormat) const;
+ 
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * Converts a date into a day literal
+      *
+      * @param pDate The date to convert
+@@ -950,10 +980,12 @@ public:
+      * @return The day literal of the date, empty string if any error
+      * @see day()
+      */
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
++    KDE_DEPRECATED virtual QString dayString(const QDate &pDate, StringFormat format = LongFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * @since 4.5
+      *
+      * Converts a date into a Year In Era literal
+@@ -962,10 +994,12 @@ public:
+      * @param format format to return, either short or long
+      * @return Year In Era literal of the date, empty string if any error
+      */
+-    QString yearInEraString( const QDate &date, StringFormat format = ShortFormat ) const;
++    KDE_DEPRECATED QString yearInEraString(const QDate &date, StringFormat format = ShortFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * @since 4.4
+      *
+      * Converts a date into a day of year literal
+@@ -975,10 +1009,12 @@ public:
+      * @return The day of year literal of the date, empty string if any error
+      * @see dayOfYear()
+      */
+-    QString dayOfYearString( const QDate &pDate, StringFormat format = LongFormat ) const;
++    KDE_DEPRECATED QString dayOfYearString(const QDate &pDate, StringFormat format = LongFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * @since 4.4
+      *
+      * Converts a date into a day of week literal
+@@ -987,10 +1023,12 @@ public:
+      * @return The day of week literal of the date, empty string if any error
+      * @see dayOfWeek()
+      */
+-    QString dayOfWeekString( const QDate &pDate ) const;
++    KDE_DEPRECATED QString dayOfWeekString(const QDate &pDate) const;
+ 
+     //KDE5 make virtual?
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * @since 4.4
+      *
+      * Converts a date into a week number literal
+@@ -1000,10 +1038,12 @@ public:
+      * @return The day literal of the date, empty string if any error
+      * @see weekNumber()
+      */
+-    QString weekNumberString( const QDate &pDate, StringFormat format = LongFormat ) const;
++    KDE_DEPRECATED QString weekNumberString(const QDate &pDate, StringFormat format = LongFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * @since 4.4
+      *
+      * Returns the months in year for a date as a numeric string
+@@ -1013,10 +1053,12 @@ public:
+      * @return The months in year literal of the date, empty string if any error
+      * @see monthsInYear()
+      */
+-    QString monthsInYearString( const QDate &pDate, StringFormat format = LongFormat ) const;
++    KDE_DEPRECATED QString monthsInYearString(const QDate &pDate, StringFormat format = LongFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * @since 4.4
+      *
+      * Returns the weeks in year for a date as a numeric string
+@@ -1026,10 +1068,12 @@ public:
+      * @return The weeks in year literal of the date, empty string if any error
+      * @see weeksInYear()
+      */
+-    QString weeksInYearString( const QDate &pDate, StringFormat format = LongFormat ) const;
++    KDE_DEPRECATED QString weeksInYearString(const QDate &pDate, StringFormat format = LongFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * @since 4.4
+      *
+      * Returns the days in year for a date as a numeric string
+@@ -1039,10 +1083,12 @@ public:
+      * @return The days in year literal of the date, empty string if any error
+      * @see daysInYear()
+      */
+-    QString daysInYearString( const QDate &pDate, StringFormat format = LongFormat ) const;
++    KDE_DEPRECATED QString daysInYearString(const QDate &pDate, StringFormat format = LongFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * @since 4.4
+      *
+      * Returns the days in month for a date as a numeric string
+@@ -1052,10 +1098,12 @@ public:
+      * @return The days in month literal of the date, empty string if any error
+      * @see daysInMonth()
+      */
+-    QString daysInMonthString( const QDate &pDate, StringFormat format = LongFormat ) const;
++    KDE_DEPRECATED QString daysInMonthString(const QDate &pDate, StringFormat format = LongFormat) const;
+ 
+     //KDE5 make virtual?
+     /**
++     * @deprecated use formatDate(QDate, KLocale::DateTimeComponant, KLocale::DateTimeComponentFormat)
++     *
+      * @since 4.4
+      *
+      * Returns the days in week for a date as a numeric string
+@@ -1064,11 +1112,11 @@ public:
+      * @return The days in week literal of the date, empty string if any error
+      * @see daysInWeek()
+      */
+-    QString daysInWeekString( const QDate &date ) const;
++    KDE_DEPRECATED QString daysInWeekString(const QDate &date) const;
+ 
+     //KDE5 make protected or remove?
+     /**
+-     * @deprecated
++     * @deprecated for internal use only
+      *
+      * Converts a year literal of a part of a string into a integer starting at the beginning of the string
+      *
+@@ -1076,11 +1124,11 @@ public:
+      * @param iLength The number of QChars used, and 0 if no valid symbols was found in the string
+      * @return An integer corresponding to the year
+      */
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
++    virtual int yearStringToInteger(const QString &sNum, int &iLength) const;
+ 
+     //KDE5 make protected or remove?
+     /**
+-     * @deprecated
++     * @deprecated for internal use only
+      *
+      * Converts a month literal of a part of a string into a integer starting at the beginning of the string
+      *
+@@ -1088,11 +1136,11 @@ public:
+      * @param iLength The number of QChars used, and 0 if no valid symbols was found in the string
+      * @return An integer corresponding to the month
+      */
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
++    virtual int monthStringToInteger(const QString &sNum, int &iLength) const;
+ 
+     //KDE5 make protected or remove?
+     /**
+-     * @deprecated
++     * @deprecated for internal use only
+      *
+      * Converts a day literal of a part of a string into a integer starting at the beginning of the string
+      *
+@@ -1100,7 +1148,7 @@ public:
+      * @param iLength The number of QChars used, and 0 if no valid symbols was found in the string
+      * @return An integer corresponding to the day
+      */
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
++    virtual int dayStringToInteger(const QString &sNum, int &iLength) const;
+ 
+     /**
+      * Returns a string formatted to the current locale's conventions
+@@ -1118,7 +1166,7 @@ public:
+      *
+      * @return The date as a string
+      */
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
++    virtual QString formatDate(const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate) const;
+ 
+     //KDE5 Make virtual
+     /**
+@@ -1237,8 +1285,8 @@ public:
+      *
+      * @return The date as a string
+      */
+-    QString formatDate( const QDate &fromDate, const QString &toFormat,
+-                        KLocale::DateTimeFormatStandard formatStandard = KLocale::KdeFormat ) const;
++    QString formatDate(const QDate &fromDate, const QString &toFormat,
++                       KLocale::DateTimeFormatStandard formatStandard = KLocale::KdeFormat) const;
+ 
+     //KDE5 Make virtual
+     /**
+@@ -1257,8 +1305,8 @@ public:
+      *
+      * @return The date as a string
+      */
+-    QString formatDate( const QDate &fromDate, const QString &toFormat, KLocale::DigitSet digitSet,
+-                        KLocale::DateTimeFormatStandard formatStandard = KLocale::KdeFormat ) const;
++    QString formatDate(const QDate &fromDate, const QString &toFormat, KLocale::DigitSet digitSet,
++                       KLocale::DateTimeFormatStandard formatStandard = KLocale::KdeFormat) const;
+ 
+     //KDE5 Make virtual
+     /**
+@@ -1299,7 +1347,7 @@ public:
+      *
+      * @return the string converted to a QDate
+      */
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
++    virtual QDate readDate(const QString &str, bool *ok = 0) const;
+ 
+     /**
+      * Converts a localized date string to a QDate.
+@@ -1319,7 +1367,7 @@ public:
+      *
+      * @return the string converted to a QDate
+      */
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
++    virtual QDate readDate(const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0) const;
+ 
+     /**
+      * Converts a localized date string to a QDate, using the specified @p format.
+@@ -1334,7 +1382,7 @@ public:
+      * @see formatDate
+      * @see KLocale::readDate
+      */
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
++    virtual QDate readDate(const QString &dateString, const QString &dateFormat, bool *ok = 0) const;
+ 
+     //KDE5 Make virtual
+     /**
+@@ -1396,8 +1444,8 @@ public:
+      * @see formatDate
+      * @see KLocale::readDate
+      */
+-    QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok,
+-                    KLocale::DateTimeFormatStandard formatStandard ) const;
++    QDate readDate(const QString &dateString, const QString &dateFormat, bool *ok,
++                   KLocale::DateTimeFormatStandard formatStandard) const;
+ 
+     //KDE5 Make virtual
+     /**
+@@ -1448,7 +1496,7 @@ public:
+      * @param inputYear the year number to apply the year window to
+      * @return the year number after applying the year window
+      */
+-    int applyShortYearWindow( int inputYear ) const;
++    int applyShortYearWindow(int inputYear) const;
+ 
+     /**
+      * Use this to determine which day is the first day of the week.
+@@ -1465,6 +1513,8 @@ public:
+     virtual int weekStartDay() const;
+ 
+     /**
++     * @deprecated use KLocale::weekDayOfPray() instead
++     *
+      * Returns the day of the week traditionally associated with religious
+      * observance for this calendar system.  Note this may not be accurate
+      * for the users locale, e.g. Gregorian calendar used in non-Christian
+@@ -1473,7 +1523,7 @@ public:
+      *
+      * @return day number (None = 0, Monday = 1, ..., Sunday = 7)
+      */
+-    virtual int weekDayOfPray() const = 0;
++    KDE_DEPRECATED virtual int weekDayOfPray() const = 0;
+ 
+     /**
+      * Returns whether the calendar is lunar based.
+@@ -1524,7 +1574,7 @@ protected:
+      * @param day day of month returned in this variable
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const = 0;
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const = 0;
+ 
+     /**
+      * Internal method to convert YMD values for this calendar system into a
+@@ -1542,7 +1592,7 @@ protected:
+      * @param jd Julian day number returned in this variable
+      * @return @c true if the date is valid, @c false otherwise
+      */
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const = 0;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const = 0;
+ 
+     /**
+      * Returns the locale used for translations and formats for this
+@@ -1569,25 +1619,25 @@ protected:
+     const KLocale *locale() const;
+ 
+     /**
+-     * @deprecated
++     * @deprecated for internal use only
+      *
+      * Sets the maximum number of months in a year
+      *
+      * Only for internal calendar system use
+      */
+-    void setMaxMonthsInYear( int maxMonths );
++    KDE_DEPRECATED void setMaxMonthsInYear(int maxMonths);
+ 
+     /**
+-     * @deprecated
++     * @deprecated for internal use only
+      *
+      * Sets the maximum number of days in a week
+      *
+      * Only for internal calendar system use
+      */
+-    void setMaxDaysInWeek( int maxDays );
++    KDE_DEPRECATED void setMaxDaysInWeek(int maxDays);
+ 
+     /**
+-     * @deprecated
++     * @deprecated for internal use only
+      *
+      * @since 4.4
+      *
+@@ -1595,7 +1645,7 @@ protected:
+      *
+      * Only for internal calendar system use
+      */
+-    void setHasYear0( bool hasYear0 );
++    KDE_DEPRECATED void setHasYear0(bool hasYear0);
+ 
+     /**
+      * Constructor of abstract calendar class. This will be called by derived classes.
+@@ -1606,36 +1656,38 @@ protected:
+                      if null.
+      * @param locale locale to use for translations. The global locale is used if null.
+      */
+-    KCalendarSystem( KCalendarSystemPrivate &dd,
+-                     const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                     const KLocale *locale = 0 );
++    KCalendarSystem(KCalendarSystemPrivate &dd,
++                    const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                    const KLocale *locale = 0);
+ 
+ private:
+     //Required for shared d-pointer as already private, remove in KDE5
+     friend class KCalendarSystemCoptic;
+     friend class KCalendarSystemEthiopian;
+     friend class KCalendarSystemGregorian;
+-    friend class KCalendarSystemGregorianProleptic;
+     friend class KCalendarSystemHebrew;
+-    friend class KCalendarSystemHijri;
+     friend class KCalendarSystemIndianNational;
++    friend class KCalendarSystemIslamicCivil;
+     friend class KCalendarSystemJalali;
+     friend class KCalendarSystemJapanese;
+     friend class KCalendarSystemJulian;
+     friend class KCalendarSystemMinguo;
++    friend class KCalendarSystemQDate;
+     friend class KCalendarSystemThai;
++    //Other friends that need access to protected/private functions
+     friend class KLocalizedDate;
+     friend class KLocalizedDatePrivate;
+     friend class KDateTimeParser;
++    friend class KDateTable;
+ 
+     // Era functions needed by friends, may be made public later if needed in KCM
+     QList *eraList() const;
+-    KCalendarEra era( const QDate &eraDate ) const;
+-    KCalendarEra era( const QString &eraName, int yearInEra ) const;
++    KCalendarEra era(const QDate &eraDate) const;
++    KCalendarEra era(const QString &eraName, int yearInEra) const;
+ 
+-    Q_DISABLE_COPY( KCalendarSystem )
++    Q_DISABLE_COPY(KCalendarSystem)
+     KCalendarSystemPrivate * const d_ptr; // KDE5 make protected
+-    Q_DECLARE_PRIVATE( KCalendarSystem )
++    Q_DECLARE_PRIVATE(KCalendarSystem)
+ };
+ 
+ #endif
+diff --git a/kdecore/date/kcalendarsystemcoptic.cpp b/kdecore/date/kcalendarsystemcoptic.cpp
+index d8ed426..25f4f0d 100644
+--- a/kdecore/date/kcalendarsystemcoptic.cpp
++++ b/kdecore/date/kcalendarsystemcoptic.cpp
+@@ -29,8 +29,8 @@
+ 
+ // Shared d pointer implementations
+ 
+-KCalendarSystemCopticPrivate::KCalendarSystemCopticPrivate( KCalendarSystemCoptic *q )
+-                             :KCalendarSystemPrivate( q )
++KCalendarSystemCopticPrivate::KCalendarSystemCopticPrivate(KCalendarSystemCoptic *q)
++                            : KCalendarSystemPrivate(q)
+ {
+ }
+ 
+@@ -47,22 +47,22 @@ void KCalendarSystemCopticPrivate::loadDefaultEraList()
+ {
+     QString name, shortName, format;
+     // AM for Anno Martyrum or "Year of the Martyrs"
+-    name = i18nc( "Calendar Era: Coptic Era of Martyrs, years > 0, LongFormat", "Anno Martyrum" );
+-    shortName = i18nc( "Calendar Era: Coptic Era of Martyrs, years > 0, ShortFormat", "AM" );
+-    format = i18nc( "(kdedt-format) Coptic, AM, full era year format used for %EY, e.g. 2000 AM", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
++    name = i18nc("Calendar Era: Coptic Era of Martyrs, years > 0, LongFormat", "Anno Martyrum");
++    shortName = i18nc("Calendar Era: Coptic Era of Martyrs, years > 0, ShortFormat", "AM");
++    format = i18nc("(kdedt-format) Coptic, AM, full era year format used for %EY, e.g. 2000 AM", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
+ }
+ 
+-int KCalendarSystemCopticPrivate::monthsInYear( int year ) const
++int KCalendarSystemCopticPrivate::monthsInYear(int year) const
+ {
+-    Q_UNUSED( year )
++    Q_UNUSED(year)
+     return 13;
+ }
+ 
+-int KCalendarSystemCopticPrivate::daysInMonth( int year, int month ) const
++int KCalendarSystemCopticPrivate::daysInMonth(int year, int month) const
+ {
+-    if ( month == 13 ) {
+-        if ( isLeapYear( year ) ) {
++    if (month == 13) {
++        if (isLeapYear(year)) {
+             return 6;
+         } else {
+             return 5;
+@@ -72,9 +72,9 @@ int KCalendarSystemCopticPrivate::daysInMonth( int year, int month ) const
+     return 30;
+ }
+ 
+-int KCalendarSystemCopticPrivate::daysInYear( int year ) const
++int KCalendarSystemCopticPrivate::daysInYear(int year) const
+ {
+-    if ( isLeapYear( year ) ) {
++    if (isLeapYear(year)) {
+         return 366;
+     } else {
+         return 365;
+@@ -86,16 +86,16 @@ int KCalendarSystemCopticPrivate::daysInWeek() const
+     return 7;
+ }
+ 
+-bool KCalendarSystemCopticPrivate::isLeapYear( int year ) const
++bool KCalendarSystemCopticPrivate::isLeapYear(int year) const
+ {
+     //Uses same rule as Julian but offset by 1 year with year 3 being first leap year
+-    if ( year < 1 ) {
++    if (year < 1) {
+         year = year + 2;
+     } else {
+         year = year + 1;
+     }
+ 
+-    if ( year % 4 == 0 ) {
++    if (year % 4 == 0) {
+         return true;
+     }
+     return false;
+@@ -156,170 +156,170 @@ int KCalendarSystemCopticPrivate::latestValidYear() const
+ //  * Mesore          Mesori           Mesorē          Mesra           Mesra
+ //  * Kouji nabot     Pi Kogi Enavot   Epagomenē                       Nasie
+ //  *
+-QString KCalendarSystemCopticPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
++QString KCalendarSystemCopticPrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
+ {
+-    Q_UNUSED( year );
++    Q_UNUSED(year);
+ 
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( month ) {
++    if (format == KLocale::NarrowName) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Coptic month 1 - KLocale::NarrowName",  "T" ).toString( locale() );
++            return ki18nc("Coptic month 1 - KLocale::NarrowName",  "T").toString(locale());
+         case 2:
+-            return ki18nc( "Coptic month 2 - KLocale::NarrowName",  "P" ).toString( locale() );
++            return ki18nc("Coptic month 2 - KLocale::NarrowName",  "P").toString(locale());
+         case 3:
+-            return ki18nc( "Coptic month 3 - KLocale::NarrowName",  "H" ).toString( locale() );
++            return ki18nc("Coptic month 3 - KLocale::NarrowName",  "H").toString(locale());
+         case 4:
+-            return ki18nc( "Coptic month 4 - KLocale::NarrowName",  "K" ).toString( locale() );
++            return ki18nc("Coptic month 4 - KLocale::NarrowName",  "K").toString(locale());
+         case 5:
+-            return ki18nc( "Coptic month 5 - KLocale::NarrowName",  "T" ).toString( locale() );
++            return ki18nc("Coptic month 5 - KLocale::NarrowName",  "T").toString(locale());
+         case 6:
+-            return ki18nc( "Coptic month 6 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Coptic month 6 - KLocale::NarrowName",  "M").toString(locale());
+         case 7:
+-            return ki18nc( "Coptic month 7 - KLocale::NarrowName",  "P" ).toString( locale() );
++            return ki18nc("Coptic month 7 - KLocale::NarrowName",  "P").toString(locale());
+         case 8:
+-            return ki18nc( "Coptic month 8 - KLocale::NarrowName",  "P" ).toString( locale() );
++            return ki18nc("Coptic month 8 - KLocale::NarrowName",  "P").toString(locale());
+         case 9:
+-            return ki18nc( "Coptic month 9 - KLocale::NarrowName",  "P" ).toString( locale() );
++            return ki18nc("Coptic month 9 - KLocale::NarrowName",  "P").toString(locale());
+         case 10:
+-            return ki18nc( "Coptic month 10 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Coptic month 10 - KLocale::NarrowName", "P").toString(locale());
+         case 11:
+-            return ki18nc( "Coptic month 11 - KLocale::NarrowName", "E" ).toString( locale() );
++            return ki18nc("Coptic month 11 - KLocale::NarrowName", "E").toString(locale());
+         case 12:
+-            return ki18nc( "Coptic month 12 - KLocale::NarrowName", "M" ).toString( locale() );
++            return ki18nc("Coptic month 12 - KLocale::NarrowName", "M").toString(locale());
+         case 13:
+-            return ki18nc( "Coptic month 13 - KLocale::NarrowName", "K" ).toString( locale() );
++            return ki18nc("Coptic month 13 - KLocale::NarrowName", "K").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Coptic month 1 - KLocale::ShortName Possessive",  "of Tho" ).toString( locale() );
++            return ki18nc("Coptic month 1 - KLocale::ShortName Possessive",  "of Tho").toString(locale());
+         case 2:
+-            return ki18nc( "Coptic month 2 - KLocale::ShortName Possessive",  "of Pao" ).toString( locale() );
++            return ki18nc("Coptic month 2 - KLocale::ShortName Possessive",  "of Pao").toString(locale());
+         case 3:
+-            return ki18nc( "Coptic month 3 - KLocale::ShortName Possessive",  "of Hat" ).toString( locale() );
++            return ki18nc("Coptic month 3 - KLocale::ShortName Possessive",  "of Hat").toString(locale());
+         case 4:
+-            return ki18nc( "Coptic month 4 - KLocale::ShortName Possessive",  "of Kia" ).toString( locale() );
++            return ki18nc("Coptic month 4 - KLocale::ShortName Possessive",  "of Kia").toString(locale());
+         case 5:
+-            return ki18nc( "Coptic month 5 - KLocale::ShortName Possessive",  "of Tob" ).toString( locale() );
++            return ki18nc("Coptic month 5 - KLocale::ShortName Possessive",  "of Tob").toString(locale());
+         case 6:
+-            return ki18nc( "Coptic month 6 - KLocale::ShortName Possessive",  "of Mes" ).toString( locale() );
++            return ki18nc("Coptic month 6 - KLocale::ShortName Possessive",  "of Mes").toString(locale());
+         case 7:
+-            return ki18nc( "Coptic month 7 - KLocale::ShortName Possessive",  "of Par" ).toString( locale() );
++            return ki18nc("Coptic month 7 - KLocale::ShortName Possessive",  "of Par").toString(locale());
+         case 8:
+-            return ki18nc( "Coptic month 8 - KLocale::ShortName Possessive",  "of Pam" ).toString( locale() );
++            return ki18nc("Coptic month 8 - KLocale::ShortName Possessive",  "of Pam").toString(locale());
+         case 9:
+-            return ki18nc( "Coptic month 9 - KLocale::ShortName Possessive",  "of Pas" ).toString( locale() );
++            return ki18nc("Coptic month 9 - KLocale::ShortName Possessive",  "of Pas").toString(locale());
+         case 10:
+-            return ki18nc( "Coptic month 10 - KLocale::ShortName Possessive", "of Pan" ).toString( locale() );
++            return ki18nc("Coptic month 10 - KLocale::ShortName Possessive", "of Pan").toString(locale());
+         case 11:
+-            return ki18nc( "Coptic month 11 - KLocale::ShortName Possessive", "of Epe" ).toString( locale() );
++            return ki18nc("Coptic month 11 - KLocale::ShortName Possessive", "of Epe").toString(locale());
+         case 12:
+-            return ki18nc( "Coptic month 12 - KLocale::ShortName Possessive", "of Meo" ).toString( locale() );
++            return ki18nc("Coptic month 12 - KLocale::ShortName Possessive", "of Meo").toString(locale());
+         case 13:
+-            return ki18nc( "Coptic month 13 - KLocale::ShortName Possessive", "of Kou" ).toString( locale() );
++            return ki18nc("Coptic month 13 - KLocale::ShortName Possessive", "of Kou").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && !possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && !possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Coptic month 1 - KLocale::ShortName",  "Tho" ).toString( locale() );
++            return ki18nc("Coptic month 1 - KLocale::ShortName",  "Tho").toString(locale());
+         case 2:
+-            return ki18nc( "Coptic month 2 - KLocale::ShortName",  "Pao" ).toString( locale() );
++            return ki18nc("Coptic month 2 - KLocale::ShortName",  "Pao").toString(locale());
+         case 3:
+-            return ki18nc( "Coptic month 3 - KLocale::ShortName",  "Hat" ).toString( locale() );
++            return ki18nc("Coptic month 3 - KLocale::ShortName",  "Hat").toString(locale());
+         case 4:
+-            return ki18nc( "Coptic month 4 - KLocale::ShortName",  "Kia" ).toString( locale() );
++            return ki18nc("Coptic month 4 - KLocale::ShortName",  "Kia").toString(locale());
+         case 5:
+-            return ki18nc( "Coptic month 5 - KLocale::ShortName",  "Tob" ).toString( locale() );
++            return ki18nc("Coptic month 5 - KLocale::ShortName",  "Tob").toString(locale());
+         case 6:
+-            return ki18nc( "Coptic month 6 - KLocale::ShortName",  "Mes" ).toString( locale() );
++            return ki18nc("Coptic month 6 - KLocale::ShortName",  "Mes").toString(locale());
+         case 7:
+-            return ki18nc( "Coptic month 7 - KLocale::ShortName",  "Par" ).toString( locale() );
++            return ki18nc("Coptic month 7 - KLocale::ShortName",  "Par").toString(locale());
+         case 8:
+-            return ki18nc( "Coptic month 8 - KLocale::ShortName",  "Pam" ).toString( locale() );
++            return ki18nc("Coptic month 8 - KLocale::ShortName",  "Pam").toString(locale());
+         case 9:
+-            return ki18nc( "Coptic month 9 - KLocale::ShortName",  "Pas" ).toString( locale() );
++            return ki18nc("Coptic month 9 - KLocale::ShortName",  "Pas").toString(locale());
+         case 10:
+-            return ki18nc( "Coptic month 10 - KLocale::ShortName", "Pan" ).toString( locale() );
++            return ki18nc("Coptic month 10 - KLocale::ShortName", "Pan").toString(locale());
+         case 11:
+-            return ki18nc( "Coptic month 11 - KLocale::ShortName", "Epe" ).toString( locale() );
++            return ki18nc("Coptic month 11 - KLocale::ShortName", "Epe").toString(locale());
+         case 12:
+-            return ki18nc( "Coptic month 12 - KLocale::ShortName", "Meo" ).toString( locale() );
++            return ki18nc("Coptic month 12 - KLocale::ShortName", "Meo").toString(locale());
+         case 13:
+-            return ki18nc( "Coptic month 12 - KLocale::ShortName", "Kou" ).toString( locale() );
++            return ki18nc("Coptic month 12 - KLocale::ShortName", "Kou").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::LongName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::LongName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Coptic month 1 - KLocale::LongName Possessive",  "of Thoout"      ).toString( locale() );
++            return ki18nc("Coptic month 1 - KLocale::LongName Possessive",  "of Thoout").toString(locale());
+         case 2:
+-            return ki18nc( "Coptic month 2 - KLocale::LongName Possessive",  "of Paope"       ).toString( locale() );
++            return ki18nc("Coptic month 2 - KLocale::LongName Possessive",  "of Paope").toString(locale());
+         case 3:
+-            return ki18nc( "Coptic month 3 - KLocale::LongName Possessive",  "of Hathor"      ).toString( locale() );
++            return ki18nc("Coptic month 3 - KLocale::LongName Possessive",  "of Hathor").toString(locale());
+         case 4:
+-            return ki18nc( "Coptic month 4 - KLocale::LongName Possessive",  "of Kiahk"       ).toString( locale() );
++            return ki18nc("Coptic month 4 - KLocale::LongName Possessive",  "of Kiahk").toString(locale());
+         case 5:
+-            return ki18nc( "Coptic month 5 - KLocale::LongName Possessive",  "of Tobe"        ).toString( locale() );
++            return ki18nc("Coptic month 5 - KLocale::LongName Possessive",  "of Tobe").toString(locale());
+         case 6:
+-            return ki18nc( "Coptic month 6 - KLocale::LongName Possessive",  "of Meshir"      ).toString( locale() );
++            return ki18nc("Coptic month 6 - KLocale::LongName Possessive",  "of Meshir").toString(locale());
+         case 7:
+-            return ki18nc( "Coptic month 7 - KLocale::LongName Possessive",  "of Paremhotep"  ).toString( locale() );
++            return ki18nc("Coptic month 7 - KLocale::LongName Possessive",  "of Paremhotep").toString(locale());
+         case 8:
+-            return ki18nc( "Coptic month 8 - KLocale::LongName Possessive",  "of Parmoute"    ).toString( locale() );
++            return ki18nc("Coptic month 8 - KLocale::LongName Possessive",  "of Parmoute").toString(locale());
+         case 9:
+-            return ki18nc( "Coptic month 9 - KLocale::LongName Possessive",  "of Pashons"     ).toString( locale() );
++            return ki18nc("Coptic month 9 - KLocale::LongName Possessive",  "of Pashons").toString(locale());
+         case 10:
+-            return ki18nc( "Coptic month 10 - KLocale::LongName Possessive", "of Paone"       ).toString( locale() );
++            return ki18nc("Coptic month 10 - KLocale::LongName Possessive", "of Paone").toString(locale());
+         case 11:
+-            return ki18nc( "Coptic month 11 - KLocale::LongName Possessive", "of Epep"        ).toString( locale() );
++            return ki18nc("Coptic month 11 - KLocale::LongName Possessive", "of Epep").toString(locale());
+         case 12:
+-            return ki18nc( "Coptic month 12 - KLocale::LongName Possessive", "of Mesore"      ).toString( locale() );
++            return ki18nc("Coptic month 12 - KLocale::LongName Possessive", "of Mesore").toString(locale());
+         case 13:
+-            return ki18nc( "Coptic month 12 - KLocale::LongName Possessive", "of Kouji nabot" ).toString( locale() );
++            return ki18nc("Coptic month 12 - KLocale::LongName Possessive", "of Kouji nabot").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+     // Default to LongName
+-    switch ( month ) {
++    switch (month) {
+     case 1:
+-        return ki18nc( "Coptic month 1 - KLocale::LongName",  "Thoout"      ).toString( locale() );
++        return ki18nc("Coptic month 1 - KLocale::LongName",  "Thoout").toString(locale());
+     case 2:
+-        return ki18nc( "Coptic month 2 - KLocale::LongName",  "Paope"       ).toString( locale() );
++        return ki18nc("Coptic month 2 - KLocale::LongName",  "Paope").toString(locale());
+     case 3:
+-        return ki18nc( "Coptic month 3 - KLocale::LongName",  "Hathor"      ).toString( locale() );
++        return ki18nc("Coptic month 3 - KLocale::LongName",  "Hathor").toString(locale());
+     case 4:
+-        return ki18nc( "Coptic month 4 - KLocale::LongName",  "Kiahk"       ).toString( locale() );
++        return ki18nc("Coptic month 4 - KLocale::LongName",  "Kiahk").toString(locale());
+     case 5:
+-        return ki18nc( "Coptic month 5 - KLocale::LongName",  "Tobe"        ).toString( locale() );
++        return ki18nc("Coptic month 5 - KLocale::LongName",  "Tobe").toString(locale());
+     case 6:
+-        return ki18nc( "Coptic month 6 - KLocale::LongName",  "Meshir"      ).toString( locale() );
++        return ki18nc("Coptic month 6 - KLocale::LongName",  "Meshir").toString(locale());
+     case 7:
+-        return ki18nc( "Coptic month 7 - KLocale::LongName",  "Paremhotep"  ).toString( locale() );
++        return ki18nc("Coptic month 7 - KLocale::LongName",  "Paremhotep").toString(locale());
+     case 8:
+-        return ki18nc( "Coptic month 8 - KLocale::LongName",  "Parmoute"    ).toString( locale() );
++        return ki18nc("Coptic month 8 - KLocale::LongName",  "Parmoute").toString(locale());
+     case 9:
+-        return ki18nc( "Coptic month 9 - KLocale::LongName",  "Pashons"     ).toString( locale() );
++        return ki18nc("Coptic month 9 - KLocale::LongName",  "Pashons").toString(locale());
+     case 10:
+-        return ki18nc( "Coptic month 10 - KLocale::LongName", "Paone"       ).toString( locale() );
++        return ki18nc("Coptic month 10 - KLocale::LongName", "Paone").toString(locale());
+     case 11:
+-        return ki18nc( "Coptic month 11 - KLocale::LongName", "Epep"        ).toString( locale() );
++        return ki18nc("Coptic month 11 - KLocale::LongName", "Epep").toString(locale());
+     case 12:
+-        return ki18nc( "Coptic month 12 - KLocale::LongName", "Mesore"      ).toString( locale() );
++        return ki18nc("Coptic month 12 - KLocale::LongName", "Mesore").toString(locale());
+     case 13:
+-        return ki18nc( "Coptic month 12 - KLocale::LongName", "Kouji nabot" ).toString( locale() );
++        return ki18nc("Coptic month 12 - KLocale::LongName", "Kouji nabot").toString(locale());
+     default:
+         return QString();
+     }
+@@ -327,115 +327,111 @@ QString KCalendarSystemCopticPrivate::monthName( int month, int year, KLocale::D
+ 
+ // Names taken from from the Sahidic dialect transliterations used in Dershowitz & Reingold which went out of use in the 11th centuary
+ // Boharic or Arabic transliterations would be preferred but none could be found
+-QString KCalendarSystemCopticPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
++QString KCalendarSystemCopticPrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
+ {
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::NarrowName) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Coptic weekday 1 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Coptic weekday 1 - KLocale::NarrowName", "P").toString(locale());
+         case 2:
+-            return ki18nc( "Coptic weekday 2 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Coptic weekday 2 - KLocale::NarrowName", "P").toString(locale());
+         case 3:
+-            return ki18nc( "Coptic weekday 3 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Coptic weekday 3 - KLocale::NarrowName", "P").toString(locale());
+         case 4:
+-            return ki18nc( "Coptic weekday 4 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Coptic weekday 4 - KLocale::NarrowName", "P").toString(locale());
+         case 5:
+-            return ki18nc( "Coptic weekday 5 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Coptic weekday 5 - KLocale::NarrowName", "P").toString(locale());
+         case 6:
+-            return ki18nc( "Coptic weekday 6 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Coptic weekday 6 - KLocale::NarrowName", "P").toString(locale());
+         case 7:
+-            return ki18nc( "Coptic weekday 7 - KLocale::NarrowName", "T" ).toString( locale() );
++            return ki18nc("Coptic weekday 7 - KLocale::NarrowName", "T").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName  || format == KLocale:: ShortNumber ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::ShortName  || format == KLocale:: ShortNumber) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Coptic weekday 1 - KLocale::ShortName", "Pes" ).toString( locale() );
++            return ki18nc("Coptic weekday 1 - KLocale::ShortName", "Pes").toString(locale());
+         case 2:
+-            return ki18nc( "Coptic weekday 2 - KLocale::ShortName", "Psh" ).toString( locale() );
++            return ki18nc("Coptic weekday 2 - KLocale::ShortName", "Psh").toString(locale());
+         case 3:
+-            return ki18nc( "Coptic weekday 3 - KLocale::ShortName", "Pef" ).toString( locale() );
++            return ki18nc("Coptic weekday 3 - KLocale::ShortName", "Pef").toString(locale());
+         case 4:
+-            return ki18nc( "Coptic weekday 4 - KLocale::ShortName", "Pti" ).toString( locale() );
++            return ki18nc("Coptic weekday 4 - KLocale::ShortName", "Pti").toString(locale());
+         case 5:
+-            return ki18nc( "Coptic weekday 5 - KLocale::ShortName", "Pso" ).toString( locale() );
++            return ki18nc("Coptic weekday 5 - KLocale::ShortName", "Pso").toString(locale());
+         case 6:
+-            return ki18nc( "Coptic weekday 6 - KLocale::ShortName", "Psa" ).toString( locale() );
++            return ki18nc("Coptic weekday 6 - KLocale::ShortName", "Psa").toString(locale());
+         case 7:
+-            return ki18nc( "Coptic weekday 7 - KLocale::ShortName", "Tky" ).toString( locale() );
++            return ki18nc("Coptic weekday 7 - KLocale::ShortName", "Tky").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    switch ( weekDay ) {
++    switch (weekDay) {
+     case 1:
+-        return ki18nc( "Coptic weekday 1 - KLocale::LongName", "Pesnau"    ).toString( locale() );
++        return ki18nc("Coptic weekday 1 - KLocale::LongName", "Pesnau").toString(locale());
+     case 2:
+-        return ki18nc( "Coptic weekday 2 - KLocale::LongName", "Pshoment"  ).toString( locale() );
++        return ki18nc("Coptic weekday 2 - KLocale::LongName", "Pshoment").toString(locale());
+     case 3:
+-        return ki18nc( "Coptic weekday 3 - KLocale::LongName", "Peftoou"   ).toString( locale() );
++        return ki18nc("Coptic weekday 3 - KLocale::LongName", "Peftoou").toString(locale());
+     case 4:
+-        return ki18nc( "Coptic weekday 4 - KLocale::LongName", "Ptiou"     ).toString( locale() );
++        return ki18nc("Coptic weekday 4 - KLocale::LongName", "Ptiou").toString(locale());
+     case 5:
+-        return ki18nc( "Coptic weekday 5 - KLocale::LongName", "Psoou"     ).toString( locale() );
++        return ki18nc("Coptic weekday 5 - KLocale::LongName", "Psoou").toString(locale());
+     case 6:
+-        return ki18nc( "Coptic weekday 6 - KLocale::LongName", "Psabbaton" ).toString( locale() );
++        return ki18nc("Coptic weekday 6 - KLocale::LongName", "Psabbaton").toString(locale());
+     case 7:
+-        return ki18nc( "Coptic weekday 7 - KLocale::LongName", "Tkyriakē"  ).toString( locale() );
++        return ki18nc("Coptic weekday 7 - KLocale::LongName", "Tkyriakē").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+ 
+-KCalendarSystemCoptic::KCalendarSystemCoptic( const KLocale *locale )
+-                     : KCalendarSystem( *new KCalendarSystemCopticPrivate( this ), KSharedConfig::Ptr(), locale ),
+-                       dont_use( 0 )
++KCalendarSystemCoptic::KCalendarSystemCoptic(const KLocale *locale)
++                     : KCalendarSystem(*new KCalendarSystemCopticPrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemCoptic::KCalendarSystemCoptic( const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystem( *new KCalendarSystemCopticPrivate( this ), config, locale ),
+-                       dont_use( 0 )
++KCalendarSystemCoptic::KCalendarSystemCoptic(const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystem(*new KCalendarSystemCopticPrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemCoptic::KCalendarSystemCoptic( KCalendarSystemCopticPrivate &dd,
+-                                              const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystem( dd, config, locale ),
+-                       dont_use( 0 )
++KCalendarSystemCoptic::KCalendarSystemCoptic(KCalendarSystemCopticPrivate &dd,
++                                             const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystem(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemCoptic::~KCalendarSystemCoptic()
+ {
+-    delete dont_use;
+ }
+ 
+ QString KCalendarSystemCoptic::calendarType() const
+ {
+-    return QLatin1String( "coptic" );
++    return QLatin1String("coptic");
+ }
+ 
+ QDate KCalendarSystemCoptic::epoch() const
+ {
+     //0001-01-01, no Year 0.
+     //0284-08-29 AD Julian
+-    return QDate::fromJulianDay( 1825030 );
++    return QDate::fromJulianDay(1825030);
+ }
+ 
+ QDate KCalendarSystemCoptic::earliestValidDate() const
+ {
+     //0001-01-01, no Year 0.
+     //0284-08-29 AD Julian
+-    return QDate::fromJulianDay( 1825030 );
++    return QDate::fromJulianDay(1825030);
+ }
+ 
+ QDate KCalendarSystemCoptic::latestValidDate() const
+@@ -443,188 +439,47 @@ QDate KCalendarSystemCoptic::latestValidDate() const
+     // Set to last day of year 9999 until confirm date formats & widgets support > 9999
+     //9999-12-30
+     //10283-08-29 AD Julian
+-    return QDate::fromJulianDay( 5477164 );
++    return QDate::fromJulianDay(5477164);
+ }
+ 
+-bool KCalendarSystemCoptic::isValid( int year, int month, int day ) const
++bool KCalendarSystemCoptic::isValid(int year, int month, int day) const
+ {
+-    return KCalendarSystem::isValid( year, month, day );
++    return KCalendarSystem::isValid(year, month, day);
+ }
+ 
+-bool KCalendarSystemCoptic::isValid( const QDate &date ) const
++bool KCalendarSystemCoptic::isValid(const QDate &date) const
+ {
+-    return KCalendarSystem::isValid( date );
++    return KCalendarSystem::isValid(date);
+ }
+ 
+-bool KCalendarSystemCoptic::setDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemCoptic::isLeapYear(int year) const
+ {
+-    return KCalendarSystem::setDate( date, year, month, day );
++    return KCalendarSystem::isLeapYear(year);
+ }
+ 
+-// Deprecated
+-bool KCalendarSystemCoptic::setYMD( QDate &date, int y, int m, int d ) const
++bool KCalendarSystemCoptic::isLeapYear(const QDate &date) const
+ {
+-    return KCalendarSystem::setDate( date, y, m, d );
++    return KCalendarSystem::isLeapYear(date);
+ }
+ 
+-int KCalendarSystemCoptic::year( const QDate &date ) const
++QString KCalendarSystemCoptic::monthName(int month, int year, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::year( date );
++    return KCalendarSystem::monthName(month, year, format);
+ }
+ 
+-int KCalendarSystemCoptic::month( const QDate &date ) const
++QString KCalendarSystemCoptic::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::month( date );
++    return KCalendarSystem::monthName(date, format);
+ }
+ 
+-int KCalendarSystemCoptic::day( const QDate &date ) const
++QString KCalendarSystemCoptic::weekDayName(int weekDay, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::day( date );
++    return KCalendarSystem::weekDayName(weekDay, format);
+ }
+ 
+-QDate KCalendarSystemCoptic::addYears( const QDate &date, int nyears ) const
++QString KCalendarSystemCoptic::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemCoptic::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystem::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemCoptic::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystem::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemCoptic::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::monthsInYear( date );
+-}
+-
+-int KCalendarSystemCoptic::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::weeksInYear( date );
+-}
+-
+-int KCalendarSystemCoptic::weeksInYear( int year ) const
+-{
+-    return KCalendarSystem::weeksInYear( year );
+-}
+-
+-int KCalendarSystemCoptic::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInYear( date );
+-}
+-
+-int KCalendarSystemCoptic::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInMonth( date );
+-}
+-
+-int KCalendarSystemCoptic::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInWeek( date );
+-}
+-
+-int KCalendarSystemCoptic::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfYear( date );
+-}
+-
+-int KCalendarSystemCoptic::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemCoptic::weekNumber( const QDate &date, int * yearNum ) const
+-{
+-    return KCalendarSystem::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemCoptic::isLeapYear( int year ) const
+-{
+-    return KCalendarSystem::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemCoptic::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemCoptic::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemCoptic::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( date, format );
+-}
+-
+-QString KCalendarSystemCoptic::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemCoptic::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemCoptic::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemCoptic::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemCoptic::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemCoptic::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemCoptic::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemCoptic::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemCoptic::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystem::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemCoptic::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemCoptic::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemCoptic::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemCoptic::weekStartDay() const
+-{
+-    return KCalendarSystem::weekStartDay();
++    return KCalendarSystem::weekDayName(date, format);
+ }
+ 
+ int KCalendarSystemCoptic::weekDayOfPray() const
+@@ -652,7 +507,7 @@ bool KCalendarSystemCoptic::isProleptic() const
+     return false;
+ }
+ 
+-bool KCalendarSystemCoptic::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemCoptic::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+     //The Coptic calendar has 12 months of 30 days, a 13th month of 5 or 6 days,
+     //and a leap year every 4th year without fail that falls on the last day of
+@@ -663,32 +518,32 @@ bool KCalendarSystemCoptic::julianDayToDate( int jd, int &year, int &month, int
+     //pattern of 365/365/365/366 with the leap day the very last day makes the maths easier.
+ 
+     //Day number in the fake epoch, 0 indexed
+-    int dayInEpoch = jd - ( epoch().toJulianDay() - 365 );
++    int dayInEpoch = jd - (epoch().toJulianDay() - 365);
+     //How many full 4 year leap cycles have been completed, 1461 = (365*3)+366
+     int leapCyclesCompleted = dayInEpoch / 1461;
+     //Which year are we in the current 4 year leap cycle, 0 indexed
+     //Need the qMin as day 366 of 4th year of cycle returns following year (max 3 as 0 index)
+-    int yearInCurrentLeapCycle = qMin( 3, ( dayInEpoch % 1461 ) / 365 );
++    int yearInCurrentLeapCycle = qMin(3, (dayInEpoch % 1461) / 365);
+     //Calculate the year
+-    year = ( leapCyclesCompleted * 4 ) + yearInCurrentLeapCycle;
++    year = (leapCyclesCompleted * 4) + yearInCurrentLeapCycle;
+     //Days since the fake epoch up to 1st day of this year
+-    int daysBeforeThisYear = ( year * 365 ) + ( year / 4 );
++    int daysBeforeThisYear = (year * 365) + (year / 4);
+     //Gives the day number in this year, 0 indexed
+     int dayOfThisYear = dayInEpoch -  daysBeforeThisYear;
+     //Then just calculate month and day from that based on regular 30 day months
+-    month = ( ( dayOfThisYear ) / 30 ) + 1;
+-    day = dayOfThisYear - ( ( month - 1 ) * 30 ) + 1;
++    month = ((dayOfThisYear) / 30) + 1;
++    day = dayOfThisYear - ((month - 1) * 30) + 1;
+ 
+     // If year is -ve then is BC.  In Coptic there is no year 0, but the maths
+     // is easier if we pretend there is, so internally year of 0 = 1BC = -1 outside
+-    if ( year < 1 ) {
++    if (year < 1) {
+         year = year - 1;
+     }
+ 
+     return true;
+ }
+ 
+-bool KCalendarSystemCoptic::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemCoptic::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+     //The Coptic calendar has 12 months of 30 days, a 13th month of 5 or 6 days,
+     //and a leap year every 4th year without fail that falls on the last day of
+@@ -699,17 +554,17 @@ bool KCalendarSystemCoptic::dateToJulianDay( int year, int month, int day, int &
+     // If year is -ve then is 'BC'.  In Coptic there is no year 0, but the maths
+     // is easier if we pretend there is, so internally year of -1 = 1BC = 0 internally
+     int y;
+-    if ( year < 1 ) {
++    if (year < 1) {
+         y = year + 1;
+     } else {
+         y = year;
+     }
+ 
+     jd = epoch().toJulianDay() - 1    // jd of day before Epoch
+-       + ( ( y - 1 ) * 365 )          // Add all normal days in years preceding
+-       + ( y / 4 )                    // Add all leap days in years preceding
+-       + ( ( month - 1 ) * 30 )       // Add days this year in months preceding
+-       + day;                         // Add days in this month
++         + ((y - 1) * 365)              // Add all normal days in years preceding
++         + (y / 4)                      // Add all leap days in years preceding
++         + ((month - 1) * 30)           // Add days this year in months preceding
++         + day;                         // Add days in this month
+ 
+     return true;
+ }
+diff --git a/kdecore/date/kcalendarsystemcoptic_p.h b/kdecore/date/kcalendarsystemcoptic_p.h
+index e62c0e2..d7498a4 100644
+--- a/kdecore/date/kcalendarsystemcoptic_p.h
++++ b/kdecore/date/kcalendarsystemcoptic_p.h
+@@ -37,8 +37,8 @@ class KCalendarSystemCopticPrivate;
+ class KCalendarSystemCoptic: public KCalendarSystem
+ {
+ public:
+-    explicit KCalendarSystemCoptic( const KLocale *locale = 0 );
+-    explicit KCalendarSystemCoptic( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystemCoptic(const KLocale *locale = 0);
++    explicit KCalendarSystemCoptic(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+     virtual ~KCalendarSystemCoptic();
+ 
+     virtual QString calendarType() const;
+@@ -46,58 +46,19 @@ public:
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -105,14 +66,13 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemCoptic( KCalendarSystemCopticPrivate &dd, const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                           const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemCoptic(KCalendarSystemCopticPrivate &dd, const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                          const KLocale *locale = 0);
+ 
+ private:
+-    Q_DECLARE_PRIVATE( KCalendarSystemCoptic )
+-    KCalendarSystemCopticPrivate * const dont_use; // KDE5 remove, use shared d
++    Q_DECLARE_PRIVATE(KCalendarSystemCoptic)
+ };
+ 
+ #endif // KCALENDARSYSTEMCOPTIC_H
+diff --git a/kdecore/date/kcalendarsystemcopticprivate_p.h b/kdecore/date/kcalendarsystemcopticprivate_p.h
+index e2a15ca..d30bd6a 100644
+--- a/kdecore/date/kcalendarsystemcopticprivate_p.h
++++ b/kdecore/date/kcalendarsystemcopticprivate_p.h
+@@ -25,26 +25,26 @@
+ class KCalendarSystemCopticPrivate : public KCalendarSystemPrivate
+ {
+ public:
+-    explicit KCalendarSystemCopticPrivate( KCalendarSystemCoptic *q );
++    explicit KCalendarSystemCopticPrivate(KCalendarSystemCoptic *q);
+ 
+     virtual ~KCalendarSystemCopticPrivate();
+ 
+     // Virtual methods each calendar system must re-implement
+     virtual KLocale::CalendarSystem calendarSystem() const;
+     virtual void loadDefaultEraList();
+-    virtual int monthsInYear( int year ) const;
+-    virtual int daysInMonth( int year, int month ) const;
+-    virtual int daysInYear( int year ) const;
++    virtual int monthsInYear(int year) const;
++    virtual int daysInMonth(int year, int month) const;
++    virtual int daysInYear(int year) const;
+     virtual int daysInWeek() const;
+-    virtual bool isLeapYear( int year ) const;
++    virtual bool isLeapYear(int year) const;
+     virtual bool hasLeapMonths() const;
+     virtual bool hasYearZero() const;
+     virtual int maxDaysInWeek() const;
+     virtual int maxMonthsInYear() const;
+     virtual int earliestValidYear() const;
+     virtual int latestValidYear() const;
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
+ };
+ 
+ #endif // KCALENDARSYSTEMCOPTICPRIVATE_H
+diff --git a/kdecore/date/kcalendarsystemethiopian.cpp b/kdecore/date/kcalendarsystemethiopian.cpp
+index 967c356..d337003 100644
+--- a/kdecore/date/kcalendarsystemethiopian.cpp
++++ b/kdecore/date/kcalendarsystemethiopian.cpp
+@@ -30,18 +30,16 @@
+ class KCalendarSystemEthiopianPrivate : public KCalendarSystemCopticPrivate
+ {
+ public:
+-    explicit KCalendarSystemEthiopianPrivate( KCalendarSystemEthiopian *q ) : KCalendarSystemCopticPrivate( q )
+-    {
++    explicit KCalendarSystemEthiopianPrivate(KCalendarSystemEthiopian *q) : KCalendarSystemCopticPrivate(q) {
+     }
+ 
+-    virtual ~KCalendarSystemEthiopianPrivate()
+-    {
++    virtual ~KCalendarSystemEthiopianPrivate() {
+     }
+ 
+     virtual KLocale::CalendarSystem calendarSystem() const;
+     virtual void loadDefaultEraList();
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
+ };
+ 
+ KLocale::CalendarSystem KCalendarSystemEthiopianPrivate::calendarSystem() const
+@@ -53,291 +51,287 @@ void KCalendarSystemEthiopianPrivate::loadDefaultEraList()
+ {
+     QString name, shortName, format;
+     // Incarnation Era, Amätä Mehrät, "Year of Mercy".
+-    name = i18nc( "Calendar Era: Ethiopian Incarnation Era, years > 0, LongFormat", "Amata Mehrat" );
+-    shortName = i18nc( "Calendar Era: Ethiopian Incarnation Era, years > 0, ShortFormat", "AM" );
+-    format = i18nc( "(kdedt-format) Ethiopian, AM, full era year format used for %EY, e.g. 2000 AM", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
++    name = i18nc("Calendar Era: Ethiopian Incarnation Era, years > 0, LongFormat", "Amata Mehrat");
++    shortName = i18nc("Calendar Era: Ethiopian Incarnation Era, years > 0, ShortFormat", "AM");
++    format = i18nc("(kdedt-format) Ethiopian, AM, full era year format used for %EY, e.g. 2000 AM", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
+ }
+ 
+ // Names taken from http://www.ethiopianembassy.at/dates_cycles.htm, alternative transliterations exist
+-QString KCalendarSystemEthiopianPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
++QString KCalendarSystemEthiopianPrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
+ {
+-    Q_UNUSED( year );
++    Q_UNUSED(year);
+ 
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( month ) {
++    if (format == KLocale::NarrowName) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Ethiopian month 1 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Ethiopian month 1 - KLocale::NarrowName",  "M").toString(locale());
+         case 2:
+-            return ki18nc( "Ethiopian month 2 - KLocale::NarrowName",  "T" ).toString( locale() );
++            return ki18nc("Ethiopian month 2 - KLocale::NarrowName",  "T").toString(locale());
+         case 3:
+-            return ki18nc( "Ethiopian month 3 - KLocale::NarrowName",  "H" ).toString( locale() );
++            return ki18nc("Ethiopian month 3 - KLocale::NarrowName",  "H").toString(locale());
+         case 4:
+-            return ki18nc( "Ethiopian month 4 - KLocale::NarrowName",  "T" ).toString( locale() );
++            return ki18nc("Ethiopian month 4 - KLocale::NarrowName",  "T").toString(locale());
+         case 5:
+-            return ki18nc( "Ethiopian month 5 - KLocale::NarrowName",  "T" ).toString( locale() );
++            return ki18nc("Ethiopian month 5 - KLocale::NarrowName",  "T").toString(locale());
+         case 6:
+-            return ki18nc( "Ethiopian month 6 - KLocale::NarrowName",  "Y" ).toString( locale() );
++            return ki18nc("Ethiopian month 6 - KLocale::NarrowName",  "Y").toString(locale());
+         case 7:
+-            return ki18nc( "Ethiopian month 7 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Ethiopian month 7 - KLocale::NarrowName",  "M").toString(locale());
+         case 8:
+-            return ki18nc( "Ethiopian month 8 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Ethiopian month 8 - KLocale::NarrowName",  "M").toString(locale());
+         case 9:
+-            return ki18nc( "Ethiopian month 9 - KLocale::NarrowName",  "G" ).toString( locale() );
++            return ki18nc("Ethiopian month 9 - KLocale::NarrowName",  "G").toString(locale());
+         case 10:
+-            return ki18nc( "Ethiopian month 10 - KLocale::NarrowName", "S" ).toString( locale() );
++            return ki18nc("Ethiopian month 10 - KLocale::NarrowName", "S").toString(locale());
+         case 11:
+-            return ki18nc( "Ethiopian month 11 - KLocale::NarrowName", "H" ).toString( locale() );
++            return ki18nc("Ethiopian month 11 - KLocale::NarrowName", "H").toString(locale());
+         case 12:
+-            return ki18nc( "Ethiopian month 12 - KLocale::NarrowName", "N" ).toString( locale() );
++            return ki18nc("Ethiopian month 12 - KLocale::NarrowName", "N").toString(locale());
+         case 13:
+-            return ki18nc( "Ethiopian month 13 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Ethiopian month 13 - KLocale::NarrowName", "P").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Ethiopian month 1 - KLocale::ShortName Possessive",  "of Mes" ).toString( locale() );
++            return ki18nc("Ethiopian month 1 - KLocale::ShortName Possessive",  "of Mes").toString(locale());
+         case 2:
+-            return ki18nc( "Ethiopian month 2 - KLocale::ShortName Possessive",  "of Teq" ).toString( locale() );
++            return ki18nc("Ethiopian month 2 - KLocale::ShortName Possessive",  "of Teq").toString(locale());
+         case 3:
+-            return ki18nc( "Ethiopian month 3 - KLocale::ShortName Possessive",  "of Hed" ).toString( locale() );
++            return ki18nc("Ethiopian month 3 - KLocale::ShortName Possessive",  "of Hed").toString(locale());
+         case 4:
+-            return ki18nc( "Ethiopian month 4 - KLocale::ShortName Possessive",  "of Tah" ).toString( locale() );
++            return ki18nc("Ethiopian month 4 - KLocale::ShortName Possessive",  "of Tah").toString(locale());
+         case 5:
+-            return ki18nc( "Ethiopian month 5 - KLocale::ShortName Possessive",  "of Ter" ).toString( locale() );
++            return ki18nc("Ethiopian month 5 - KLocale::ShortName Possessive",  "of Ter").toString(locale());
+         case 6:
+-            return ki18nc( "Ethiopian month 6 - KLocale::ShortName Possessive",  "of Yak" ).toString( locale() );
++            return ki18nc("Ethiopian month 6 - KLocale::ShortName Possessive",  "of Yak").toString(locale());
+         case 7:
+-            return ki18nc( "Ethiopian month 7 - KLocale::ShortName Possessive",  "of Mag" ).toString( locale() );
++            return ki18nc("Ethiopian month 7 - KLocale::ShortName Possessive",  "of Mag").toString(locale());
+         case 8:
+-            return ki18nc( "Ethiopian month 8 - KLocale::ShortName Possessive",  "of Miy" ).toString( locale() );
++            return ki18nc("Ethiopian month 8 - KLocale::ShortName Possessive",  "of Miy").toString(locale());
+         case 9:
+-            return ki18nc( "Ethiopian month 9 - KLocale::ShortName Possessive",  "of Gen" ).toString( locale() );
++            return ki18nc("Ethiopian month 9 - KLocale::ShortName Possessive",  "of Gen").toString(locale());
+         case 10:
+-            return ki18nc( "Ethiopian month 10 - KLocale::ShortName Possessive", "of Sen" ).toString( locale() );
++            return ki18nc("Ethiopian month 10 - KLocale::ShortName Possessive", "of Sen").toString(locale());
+         case 11:
+-            return ki18nc( "Ethiopian month 11 - KLocale::ShortName Possessive", "of Ham" ).toString( locale() );
++            return ki18nc("Ethiopian month 11 - KLocale::ShortName Possessive", "of Ham").toString(locale());
+         case 12:
+-            return ki18nc( "Ethiopian month 12 - KLocale::ShortName Possessive", "of Neh" ).toString( locale() );
++            return ki18nc("Ethiopian month 12 - KLocale::ShortName Possessive", "of Neh").toString(locale());
+         case 13:
+-            return ki18nc( "Ethiopian month 13 - KLocale::ShortName Possessive", "of Pag" ).toString( locale() );
++            return ki18nc("Ethiopian month 13 - KLocale::ShortName Possessive", "of Pag").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && !possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && !possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Ethiopian month 1 - KLocale::ShortName",  "Mes" ).toString( locale() );
++            return ki18nc("Ethiopian month 1 - KLocale::ShortName",  "Mes").toString(locale());
+         case 2:
+-            return ki18nc( "Ethiopian month 2 - KLocale::ShortName",  "Teq" ).toString( locale() );
++            return ki18nc("Ethiopian month 2 - KLocale::ShortName",  "Teq").toString(locale());
+         case 3:
+-            return ki18nc( "Ethiopian month 3 - KLocale::ShortName",  "Hed" ).toString( locale() );
++            return ki18nc("Ethiopian month 3 - KLocale::ShortName",  "Hed").toString(locale());
+         case 4:
+-            return ki18nc( "Ethiopian month 4 - KLocale::ShortName",  "Tah" ).toString( locale() );
++            return ki18nc("Ethiopian month 4 - KLocale::ShortName",  "Tah").toString(locale());
+         case 5:
+-            return ki18nc( "Ethiopian month 5 - KLocale::ShortName",  "Ter" ).toString( locale() );
++            return ki18nc("Ethiopian month 5 - KLocale::ShortName",  "Ter").toString(locale());
+         case 6:
+-            return ki18nc( "Ethiopian month 6 - KLocale::ShortName",  "Yak" ).toString( locale() );
++            return ki18nc("Ethiopian month 6 - KLocale::ShortName",  "Yak").toString(locale());
+         case 7:
+-            return ki18nc( "Ethiopian month 7 - KLocale::ShortName",  "Mag" ).toString( locale() );
++            return ki18nc("Ethiopian month 7 - KLocale::ShortName",  "Mag").toString(locale());
+         case 8:
+-            return ki18nc( "Ethiopian month 8 - KLocale::ShortName",  "Miy" ).toString( locale() );
++            return ki18nc("Ethiopian month 8 - KLocale::ShortName",  "Miy").toString(locale());
+         case 9:
+-            return ki18nc( "Ethiopian month 9 - KLocale::ShortName",  "Gen" ).toString( locale() );
++            return ki18nc("Ethiopian month 9 - KLocale::ShortName",  "Gen").toString(locale());
+         case 10:
+-            return ki18nc( "Ethiopian month 10 - KLocale::ShortName", "Sen" ).toString( locale() );
++            return ki18nc("Ethiopian month 10 - KLocale::ShortName", "Sen").toString(locale());
+         case 11:
+-            return ki18nc( "Ethiopian month 11 - KLocale::ShortName", "Ham" ).toString( locale() );
++            return ki18nc("Ethiopian month 11 - KLocale::ShortName", "Ham").toString(locale());
+         case 12:
+-            return ki18nc( "Ethiopian month 12 - KLocale::ShortName", "Neh" ).toString( locale() );
++            return ki18nc("Ethiopian month 12 - KLocale::ShortName", "Neh").toString(locale());
+         case 13:
+-            return ki18nc( "Ethiopian month 13 - KLocale::ShortName", "Pag" ).toString( locale() );
++            return ki18nc("Ethiopian month 13 - KLocale::ShortName", "Pag").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::LongName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::LongName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Ethiopian month 1 - KLocale::LongName Possessive",  "of Meskerem" ).toString( locale() );
++            return ki18nc("Ethiopian month 1 - KLocale::LongName Possessive",  "of Meskerem").toString(locale());
+         case 2:
+-            return ki18nc( "Ethiopian month 2 - KLocale::LongName Possessive",  "of Tequemt"  ).toString( locale() );
++            return ki18nc("Ethiopian month 2 - KLocale::LongName Possessive",  "of Tequemt").toString(locale());
+         case 3:
+-            return ki18nc( "Ethiopian month 3 - KLocale::LongName Possessive",  "of Hedar"    ).toString( locale() );
++            return ki18nc("Ethiopian month 3 - KLocale::LongName Possessive",  "of Hedar").toString(locale());
+         case 4:
+-            return ki18nc( "Ethiopian month 4 - KLocale::LongName Possessive",  "of Tahsas"   ).toString( locale() );
++            return ki18nc("Ethiopian month 4 - KLocale::LongName Possessive",  "of Tahsas").toString(locale());
+         case 5:
+-            return ki18nc( "Ethiopian month 5 - KLocale::LongName Possessive",  "of Ter"      ).toString( locale() );
++            return ki18nc("Ethiopian month 5 - KLocale::LongName Possessive",  "of Ter").toString(locale());
+         case 6:
+-            return ki18nc( "Ethiopian month 6 - KLocale::LongName Possessive",  "of Yakatit"  ).toString( locale() );
++            return ki18nc("Ethiopian month 6 - KLocale::LongName Possessive",  "of Yakatit").toString(locale());
+         case 7:
+-            return ki18nc( "Ethiopian month 7 - KLocale::LongName Possessive",  "of Magabit"  ).toString( locale() );
++            return ki18nc("Ethiopian month 7 - KLocale::LongName Possessive",  "of Magabit").toString(locale());
+         case 8:
+-            return ki18nc( "Ethiopian month 8 - KLocale::LongName Possessive",  "of Miyazya"  ).toString( locale() );
++            return ki18nc("Ethiopian month 8 - KLocale::LongName Possessive",  "of Miyazya").toString(locale());
+         case 9:
+-            return ki18nc( "Ethiopian month 9 - KLocale::LongName Possessive",  "of Genbot"   ).toString( locale() );
++            return ki18nc("Ethiopian month 9 - KLocale::LongName Possessive",  "of Genbot").toString(locale());
+         case 10:
+-            return ki18nc( "Ethiopian month 10 - KLocale::LongName Possessive", "of Sene"     ).toString( locale() );
++            return ki18nc("Ethiopian month 10 - KLocale::LongName Possessive", "of Sene").toString(locale());
+         case 11:
+-            return ki18nc( "Ethiopian month 11 - KLocale::LongName Possessive", "of Hamle"    ).toString( locale() );
++            return ki18nc("Ethiopian month 11 - KLocale::LongName Possessive", "of Hamle").toString(locale());
+         case 12:
+-            return ki18nc( "Ethiopian month 12 - KLocale::LongName Possessive", "of Nehase"   ).toString( locale() );
++            return ki18nc("Ethiopian month 12 - KLocale::LongName Possessive", "of Nehase").toString(locale());
+         case 13:
+-            return ki18nc( "Ethiopian month 13 - KLocale::LongName Possessive", "of Pagumen"  ).toString( locale() );
++            return ki18nc("Ethiopian month 13 - KLocale::LongName Possessive", "of Pagumen").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+     // Default to LongName
+-    switch ( month ) {
++    switch (month) {
+     case 1:
+-        return ki18nc( "Ethiopian month 1 - KLocale::LongName",  "Meskerem" ).toString( locale() );
++        return ki18nc("Ethiopian month 1 - KLocale::LongName",  "Meskerem").toString(locale());
+     case 2:
+-        return ki18nc( "Ethiopian month 2 - KLocale::LongName",  "Tequemt"  ).toString( locale() );
++        return ki18nc("Ethiopian month 2 - KLocale::LongName",  "Tequemt").toString(locale());
+     case 3:
+-        return ki18nc( "Ethiopian month 3 - KLocale::LongName",  "Hedar"    ).toString( locale() );
++        return ki18nc("Ethiopian month 3 - KLocale::LongName",  "Hedar").toString(locale());
+     case 4:
+-        return ki18nc( "Ethiopian month 4 - KLocale::LongName",  "Tahsas"   ).toString( locale() );
++        return ki18nc("Ethiopian month 4 - KLocale::LongName",  "Tahsas").toString(locale());
+     case 5:
+-        return ki18nc( "Ethiopian month 5 - KLocale::LongName",  "Ter"      ).toString( locale() );
++        return ki18nc("Ethiopian month 5 - KLocale::LongName",  "Ter").toString(locale());
+     case 6:
+-        return ki18nc( "Ethiopian month 6 - KLocale::LongName",  "Yakatit"  ).toString( locale() );
++        return ki18nc("Ethiopian month 6 - KLocale::LongName",  "Yakatit").toString(locale());
+     case 7:
+-        return ki18nc( "Ethiopian month 7 - KLocale::LongName",  "Magabit"  ).toString( locale() );
++        return ki18nc("Ethiopian month 7 - KLocale::LongName",  "Magabit").toString(locale());
+     case 8:
+-        return ki18nc( "Ethiopian month 8 - KLocale::LongName",  "Miyazya"  ).toString( locale() );
++        return ki18nc("Ethiopian month 8 - KLocale::LongName",  "Miyazya").toString(locale());
+     case 9:
+-        return ki18nc( "Ethiopian month 9 - KLocale::LongName",  "Genbot"   ).toString( locale() );
++        return ki18nc("Ethiopian month 9 - KLocale::LongName",  "Genbot").toString(locale());
+     case 10:
+-        return ki18nc( "Ethiopian month 10 - KLocale::LongName", "Sene"     ).toString( locale() );
++        return ki18nc("Ethiopian month 10 - KLocale::LongName", "Sene").toString(locale());
+     case 11:
+-        return ki18nc( "Ethiopian month 11 - KLocale::LongName", "Hamle"    ).toString( locale() );
++        return ki18nc("Ethiopian month 11 - KLocale::LongName", "Hamle").toString(locale());
+     case 12:
+-        return ki18nc( "Ethiopian month 12 - KLocale::LongName", "Nehase"   ).toString( locale() );
++        return ki18nc("Ethiopian month 12 - KLocale::LongName", "Nehase").toString(locale());
+     case 13:
+-        return ki18nc( "Ethiopian month 13 - KLocale::LongName", "Pagumen"  ).toString( locale() );
++        return ki18nc("Ethiopian month 13 - KLocale::LongName", "Pagumen").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+ // Names taken from http://www.ethiopianembassy.at/dates_cycles.htm, alternative transliterations exist
+-QString KCalendarSystemEthiopianPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
++QString KCalendarSystemEthiopianPrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
+ {
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::NarrowName) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Ethiopian weekday 1 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 1 - KLocale::NarrowName ", "S").toString(locale());
+         case 2:
+-            return ki18nc( "Ethiopian weekday 2 - KLocale::NarrowName ", "M" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 2 - KLocale::NarrowName ", "M").toString(locale());
+         case 3:
+-            return ki18nc( "Ethiopian weekday 3 - KLocale::NarrowName ", "R" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 3 - KLocale::NarrowName ", "R").toString(locale());
+         case 4:
+-            return ki18nc( "Ethiopian weekday 4 - KLocale::NarrowName ", "H" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 4 - KLocale::NarrowName ", "H").toString(locale());
+         case 5:
+-            return ki18nc( "Ethiopian weekday 5 - KLocale::NarrowName ", "A" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 5 - KLocale::NarrowName ", "A").toString(locale());
+         case 6:
+-            return ki18nc( "Ethiopian weekday 6 - KLocale::NarrowName ", "Q" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 6 - KLocale::NarrowName ", "Q").toString(locale());
+         case 7:
+-            return ki18nc( "Ethiopian weekday 7 - KLocale::NarrowName ", "E" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 7 - KLocale::NarrowName ", "E").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName  || format == KLocale:: ShortNumber ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::ShortName  || format == KLocale:: ShortNumber) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Ethiopian weekday 1 - KLocale::ShortName", "Seg" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 1 - KLocale::ShortName", "Seg").toString(locale());
+         case 2:
+-            return ki18nc( "Ethiopian weekday 2 - KLocale::ShortName", "Mak" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 2 - KLocale::ShortName", "Mak").toString(locale());
+         case 3:
+-            return ki18nc( "Ethiopian weekday 3 - KLocale::ShortName", "Rob" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 3 - KLocale::ShortName", "Rob").toString(locale());
+         case 4:
+-            return ki18nc( "Ethiopian weekday 4 - KLocale::ShortName", "Ham" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 4 - KLocale::ShortName", "Ham").toString(locale());
+         case 5:
+-            return ki18nc( "Ethiopian weekday 5 - KLocale::ShortName", "Arb" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 5 - KLocale::ShortName", "Arb").toString(locale());
+         case 6:
+-            return ki18nc( "Ethiopian weekday 6 - KLocale::ShortName", "Qed" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 6 - KLocale::ShortName", "Qed").toString(locale());
+         case 7:
+-            return ki18nc( "Ethiopian weekday 7 - KLocale::ShortName", "Ehu" ).toString( locale() );
++            return ki18nc("Ethiopian weekday 7 - KLocale::ShortName", "Ehu").toString(locale());
+         default: return QString();
+         }
+     }
+ 
+-    switch ( weekDay ) {
++    switch (weekDay) {
+     case 1:
+-        return ki18nc( "Ethiopian weekday 1 - KLocale::LongName", "Segno"    ).toString( locale() );
++        return ki18nc("Ethiopian weekday 1 - KLocale::LongName", "Segno").toString(locale());
+     case 2:
+-        return ki18nc( "Ethiopian weekday 2 - KLocale::LongName", "Maksegno" ).toString( locale() );
++        return ki18nc("Ethiopian weekday 2 - KLocale::LongName", "Maksegno").toString(locale());
+     case 3:
+-        return ki18nc( "Ethiopian weekday 3 - KLocale::LongName", "Rob"      ).toString( locale() );
++        return ki18nc("Ethiopian weekday 3 - KLocale::LongName", "Rob").toString(locale());
+     case 4:
+-        return ki18nc( "Ethiopian weekday 4 - KLocale::LongName", "Hamus"    ).toString( locale() );
++        return ki18nc("Ethiopian weekday 4 - KLocale::LongName", "Hamus").toString(locale());
+     case 5:
+-        return ki18nc( "Ethiopian weekday 5 - KLocale::LongName", "Arb"      ).toString( locale() );
++        return ki18nc("Ethiopian weekday 5 - KLocale::LongName", "Arb").toString(locale());
+     case 6:
+-        return ki18nc( "Ethiopian weekday 6 - KLocale::LongName", "Qedame"   ).toString( locale() );
++        return ki18nc("Ethiopian weekday 6 - KLocale::LongName", "Qedame").toString(locale());
+     case 7:
+-        return ki18nc( "Ethiopian weekday 7 - KLocale::LongName", "Ehud"     ).toString( locale() );
++        return ki18nc("Ethiopian weekday 7 - KLocale::LongName", "Ehud").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+ 
+-KCalendarSystemEthiopian::KCalendarSystemEthiopian( const KLocale *locale )
+-                        : KCalendarSystemCoptic( *new KCalendarSystemEthiopianPrivate( this ), KSharedConfig::Ptr(), locale ),
+-                          dont_use( 0 )
++KCalendarSystemEthiopian::KCalendarSystemEthiopian(const KLocale *locale)
++                        : KCalendarSystemCoptic(*new KCalendarSystemEthiopianPrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemEthiopian::KCalendarSystemEthiopian( const KSharedConfig::Ptr config, const KLocale *locale )
+-                        : KCalendarSystemCoptic( *new KCalendarSystemEthiopianPrivate( this ), config, locale ),
+-                          dont_use( 0 )
++KCalendarSystemEthiopian::KCalendarSystemEthiopian(const KSharedConfig::Ptr config, const KLocale *locale)
++                        : KCalendarSystemCoptic(*new KCalendarSystemEthiopianPrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemEthiopian::KCalendarSystemEthiopian( KCalendarSystemEthiopianPrivate &dd,
+-                                                    const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystemCoptic( dd, config, locale ),
+-                       dont_use( 0 )
++KCalendarSystemEthiopian::KCalendarSystemEthiopian(KCalendarSystemEthiopianPrivate &dd,
++                                                   const KSharedConfig::Ptr config, const KLocale *locale)
++                        : KCalendarSystemCoptic(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemEthiopian::~KCalendarSystemEthiopian()
+ {
+-    delete dont_use;
+ }
+ 
+ QString KCalendarSystemEthiopian::calendarType() const
+ {
+-    return QLatin1String( "ethiopian" );
++    return QLatin1String("ethiopian");
+ }
+ 
+ QDate KCalendarSystemEthiopian::epoch() const
+ {
+     //0001-01-01, no Year 0.
+     //0008-08-29 AD Julian
+-    return QDate::fromJulianDay( 1724221 );
++    return QDate::fromJulianDay(1724221);
+ }
+ 
+ QDate KCalendarSystemEthiopian::earliestValidDate() const
+ {
+     //0001-01-01, no Year 0.
+     //0008-08-29 AD Julian
+-    return QDate::fromJulianDay( 1724221 );
++    return QDate::fromJulianDay(1724221);
+ }
+ 
+ QDate KCalendarSystemEthiopian::latestValidDate() const
+@@ -345,188 +339,47 @@ QDate KCalendarSystemEthiopian::latestValidDate() const
+     // Set to last day of year 9999 until confirm date formats & widgets support > 9999
+     //9999-12-30
+     //100008-08-29 AD Julian
+-    return QDate::fromJulianDay( 5376721 );
++    return QDate::fromJulianDay(5376721);
+ }
+ 
+-bool KCalendarSystemEthiopian::isValid( int year, int month, int day ) const
++bool KCalendarSystemEthiopian::isValid(int year, int month, int day) const
+ {
+-    return KCalendarSystemCoptic::isValid( year, month, day );
++    return KCalendarSystemCoptic::isValid(year, month, day);
+ }
+ 
+-bool KCalendarSystemEthiopian::isValid( const QDate &date ) const
++bool KCalendarSystemEthiopian::isValid(const QDate &date) const
+ {
+-    return KCalendarSystemCoptic::isValid( date );
++    return KCalendarSystemCoptic::isValid(date);
+ }
+ 
+-bool KCalendarSystemEthiopian::setDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemEthiopian::isLeapYear(int year) const
+ {
+-    return KCalendarSystemCoptic::setDate( date, year, month, day );
++    return KCalendarSystemCoptic::isLeapYear(year);
+ }
+ 
+-// Deprecated
+-bool KCalendarSystemEthiopian::setYMD( QDate &date, int y, int m, int d ) const
++bool KCalendarSystemEthiopian::isLeapYear(const QDate &date) const
+ {
+-    return KCalendarSystemCoptic::setDate( date, y, m, d );
++    return KCalendarSystemCoptic::isLeapYear(date);
+ }
+ 
+-int KCalendarSystemEthiopian::year( const QDate &date ) const
++QString KCalendarSystemEthiopian::monthName(int month, int year, MonthNameFormat format) const
+ {
+-    return KCalendarSystemCoptic::year( date );
++    return KCalendarSystemCoptic::monthName(month, year, format);
+ }
+ 
+-int KCalendarSystemEthiopian::month( const QDate &date ) const
++QString KCalendarSystemEthiopian::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    return KCalendarSystemCoptic::month( date );
++    return KCalendarSystemCoptic::monthName(date, format);
+ }
+ 
+-int KCalendarSystemEthiopian::day( const QDate &date ) const
++QString KCalendarSystemEthiopian::weekDayName(int weekDay, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystemCoptic::day( date );
++    return KCalendarSystemCoptic::weekDayName(weekDay, format);
+ }
+ 
+-QDate KCalendarSystemEthiopian::addYears( const QDate &date, int nyears ) const
++QString KCalendarSystemEthiopian::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystemCoptic::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemEthiopian::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystemCoptic::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemEthiopian::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystemCoptic::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemEthiopian::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemCoptic::monthsInYear( date );
+-}
+-
+-int KCalendarSystemEthiopian::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemCoptic::weeksInYear( date );
+-}
+-
+-int KCalendarSystemEthiopian::weeksInYear( int year ) const
+-{
+-    return KCalendarSystemCoptic::weeksInYear( year );
+-}
+-
+-int KCalendarSystemEthiopian::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemCoptic::daysInYear( date );
+-}
+-
+-int KCalendarSystemEthiopian::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystemCoptic::daysInMonth( date );
+-}
+-
+-int KCalendarSystemEthiopian::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystemCoptic::daysInWeek( date );
+-}
+-
+-int KCalendarSystemEthiopian::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystemCoptic::dayOfYear( date );
+-}
+-
+-int KCalendarSystemEthiopian::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystemCoptic::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemEthiopian::weekNumber( const QDate &date, int * yearNum ) const
+-{
+-    return KCalendarSystemCoptic::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemEthiopian::isLeapYear( int year ) const
+-{
+-    return KCalendarSystemCoptic::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemEthiopian::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystemCoptic::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemEthiopian::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystemCoptic::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemEthiopian::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystemCoptic::monthName( date, format );
+-}
+-
+-QString KCalendarSystemEthiopian::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystemCoptic::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemEthiopian::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystemCoptic::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemEthiopian::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemCoptic::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemEthiopian::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemCoptic::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemEthiopian::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemCoptic::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemEthiopian::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemCoptic::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemEthiopian::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemCoptic::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemEthiopian::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemCoptic::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemEthiopian::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystemCoptic::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemEthiopian::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystemCoptic::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemEthiopian::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystemCoptic::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemEthiopian::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystemCoptic::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemEthiopian::weekStartDay() const
+-{
+-    return KCalendarSystemCoptic::weekStartDay();
++    return KCalendarSystemCoptic::weekDayName(date, format);
+ }
+ 
+ int KCalendarSystemEthiopian::weekDayOfPray() const
+@@ -554,12 +407,12 @@ bool KCalendarSystemEthiopian::isProleptic() const
+     return false;
+ }
+ 
+-bool KCalendarSystemEthiopian::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemEthiopian::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+-    return KCalendarSystemCoptic::julianDayToDate( jd, year, month, day );
++    return KCalendarSystemCoptic::julianDayToDate(jd, year, month, day);
+ }
+ 
+-bool KCalendarSystemEthiopian::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemEthiopian::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+-    return KCalendarSystemCoptic::dateToJulianDay( year, month, day, jd );
++    return KCalendarSystemCoptic::dateToJulianDay(year, month, day, jd);
+ }
+diff --git a/kdecore/date/kcalendarsystemethiopian_p.h b/kdecore/date/kcalendarsystemethiopian_p.h
+index 002c2c5..8394f07 100644
+--- a/kdecore/date/kcalendarsystemethiopian_p.h
++++ b/kdecore/date/kcalendarsystemethiopian_p.h
+@@ -38,8 +38,8 @@ class KCalendarSystemEthiopianPrivate;
+ class KCalendarSystemEthiopian: public KCalendarSystemCoptic
+ {
+ public:
+-    explicit KCalendarSystemEthiopian( const KLocale *locale = 0 );
+-    explicit KCalendarSystemEthiopian( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystemEthiopian(const KLocale *locale = 0);
++    explicit KCalendarSystemEthiopian(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+     virtual ~KCalendarSystemEthiopian();
+ 
+     virtual QString calendarType() const;
+@@ -47,58 +47,19 @@ public:
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -106,15 +67,14 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemEthiopian( KCalendarSystemEthiopianPrivate &dd,
+-                              const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                              const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemEthiopian(KCalendarSystemEthiopianPrivate &dd,
++                             const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                             const KLocale *locale = 0);
+ 
+ private:
+     Q_DECLARE_PRIVATE(KCalendarSystemEthiopian)
+-    KCalendarSystemEthiopianPrivate * const dont_use; // KDE5 remove, use shared d
+ };
+ 
+ #endif // KCALENDARSYSTEMETHIOPIAN_H
+diff --git a/kdecore/date/kcalendarsystemgregorian.cpp b/kdecore/date/kcalendarsystemgregorian.cpp
+index 26132dc..57ba552 100644
+--- a/kdecore/date/kcalendarsystemgregorian.cpp
++++ b/kdecore/date/kcalendarsystemgregorian.cpp
+@@ -1,7 +1,5 @@
+ /*
+-    Copyright (c) 2002 Carlos Moro 
+-    Copyright (c) 2002-2003 Hans Petter Bieker 
+-    Copyright 2007, 2010 John Layt 
++    Copyright 2009, 2010 John Layt 
+ 
+     This library is free software; you can redistribute it and/or
+     modify it under the terms of the GNU Library General Public
+@@ -22,7 +20,7 @@
+ // Derived gregorian kde calendar class
+ 
+ #include "kcalendarsystemgregorian_p.h"
+-#include "kcalendarsystemprivate_p.h"
++#include "kcalendarsystemgregorianprivate_p.h"
+ #include "kcalendarera_p.h"
+ 
+ #include "kdebug.h"
+@@ -33,39 +31,10 @@
+ #include 
+ #include 
+ 
+-class KCalendarSystemGregorianPrivate : public KCalendarSystemPrivate
+-{
+-public:
+-    explicit KCalendarSystemGregorianPrivate( KCalendarSystemGregorian *q );
+-
+-    virtual ~KCalendarSystemGregorianPrivate();
+-
+-    // Virtual methods each calendar system must re-implement
+-    virtual KLocale::CalendarSystem calendarSystem() const;
+-    virtual void loadDefaultEraList();
+-    virtual int monthsInYear( int year ) const;
+-    virtual int daysInMonth( int year, int month ) const;
+-    virtual int daysInYear( int year ) const;
+-    virtual int daysInWeek() const;
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool hasLeapMonths() const;
+-    virtual bool hasYearZero() const;
+-    virtual int maxDaysInWeek() const;
+-    virtual int maxMonthsInYear() const;
+-    virtual int earliestValidYear() const;
+-    virtual int latestValidYear() const;
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
+-
+-    bool m_useCommonEra;
+-};
+-
+-// Shared d pointer implementations
+-
+-KCalendarSystemGregorianPrivate::KCalendarSystemGregorianPrivate( KCalendarSystemGregorian *q )
+-                                :KCalendarSystemPrivate( q ),
+-                                 m_useCommonEra( false )
++// Shared d pointer base class definitions
+ 
++KCalendarSystemGregorianPrivate::KCalendarSystemGregorianPrivate(KCalendarSystemGregorian *q)
++                               : KCalendarSystemPrivate(q)
+ {
+ }
+ 
+@@ -75,54 +44,69 @@ KCalendarSystemGregorianPrivate::~KCalendarSystemGregorianPrivate()
+ 
+ KLocale::CalendarSystem KCalendarSystemGregorianPrivate::calendarSystem() const
+ {
+-    return KLocale::QDateCalendar;
++    return KLocale::GregorianCalendar;
+ }
+ 
++// Dummy version using Gregorian as an example
++// This method MUST be re-implemented in any new Calendar System
+ void KCalendarSystemGregorianPrivate::loadDefaultEraList()
+ {
+     QString name, shortName, format;
+ 
+-    KConfigGroup lcg( config(), QString::fromLatin1( "Locale" ) );
+-    KConfigGroup cg = lcg.group( QString::fromLatin1( "KCalendarSystem %1" ).arg( q->calendarType() ) );
+-    m_useCommonEra = cg.readEntry( "UseCommonEra", false );
++    KConfigGroup cg(config(), QString::fromLatin1("KCalendarSystem %1").arg(q->calendarType(q->calendarSystem())));
++    m_useCommonEra = cg.readEntry("UseCommonEra", false);
+ 
+-    if ( m_useCommonEra ) {
+-        name = i18nc( "Calendar Era: Gregorian Common Era, years < 0, LongFormat", "Before Common Era" );
+-        shortName = i18nc( "Calendar Era: Gregorian Common Era, years < 0, ShortFormat", "BCE" );
++    if (m_useCommonEra) {
++        name = i18nc("Calendar Era: Gregorian Common Era, years < 0, LongFormat", "Before Common Era");
++        shortName = i18nc("Calendar Era: Gregorian Common Era, years < 0, ShortFormat", "BCE");
+     } else {
+-        name = i18nc( "Calendar Era: Gregorian Christian Era, years < 0, LongFormat", "Before Christ" );
+-        shortName = i18nc( "Calendar Era: Gregorian Christian Era, years < 0, ShortFormat", "BC" );
++        name = i18nc("Calendar Era: Gregorian Christian Era, years < 0, LongFormat", "Before Christ");
++        shortName = i18nc("Calendar Era: Gregorian Christian Era, years < 0, ShortFormat", "BC");
+     }
+-    format = i18nc( "(kdedt-format) Gregorian, BC, full era year format used for %EY, e.g. 2000 BC", "%Ey %EC" );
+-    addEra( '-', 1, q->epoch().addDays( -1 ), -1, q->earliestValidDate(), name, shortName, format );
++    format = i18nc("(kdedt-format) Gregorian, BC, full era year format used for %EY, e.g. 2000 BC", "%Ey %EC");
++    addEra('-', 1, q->epoch().addDays(-1), -1, q->earliestValidDate(), name, shortName, format);
+ 
+-    if ( m_useCommonEra ) {
+-        name = i18nc( "Calendar Era: Gregorian Common Era, years > 0, LongFormat", "Common Era" );
+-        shortName = i18nc( "Calendar Era: Gregorian Common Era, years > 0, ShortFormat", "CE" );
++    if (m_useCommonEra) {
++        name = i18nc("Calendar Era: Gregorian Common Era, years > 0, LongFormat", "Common Era");
++        shortName = i18nc("Calendar Era: Gregorian Common Era, years > 0, ShortFormat", "CE");
+     } else {
+-        name = i18nc( "Calendar Era: Gregorian Christian Era, years > 0, LongFormat", "Anno Domini" );
+-        shortName = i18nc( "Calendar Era: Gregorian Christian Era, years > 0, ShortFormat", "AD" );
++        name = i18nc("Calendar Era: Gregorian Christian Era, years > 0, LongFormat", "Anno Domini");
++        shortName = i18nc("Calendar Era: Gregorian Christian Era, years > 0, ShortFormat", "AD");
+     }
+-    format = i18nc( "(kdedt-format) Gregorian, AD, full era year format used for %EY, e.g. 2000 AD", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
++    format = i18nc("(kdedt-format) Gregorian, AD, full era year format used for %EY, e.g. 2000 AD", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
+ }
+ 
+-int KCalendarSystemGregorianPrivate::monthsInYear( int year ) const
++int KCalendarSystemGregorianPrivate::monthsInYear(int year) const
+ {
+-    Q_UNUSED( year )
++    Q_UNUSED(year)
+     return 12;
+ }
+ 
+-int KCalendarSystemGregorianPrivate::daysInMonth( int year, int month ) const
++int KCalendarSystemGregorianPrivate::daysInMonth(int year, int month) const
+ {
+-    QDate tempDate( year, month, 1 );
+-    return tempDate.daysInMonth();
++    if (month == 2) {
++        if (isLeapYear(year)) {
++            return 29;
++        } else {
++            return 28;
++        }
++    }
++
++    if (month == 4 || month == 6 || month == 9 || month == 11) {
++        return 30;
++    }
++
++    return 31;
+ }
+ 
+-int KCalendarSystemGregorianPrivate::daysInYear( int year ) const
++int KCalendarSystemGregorianPrivate::daysInYear(int year) const
+ {
+-    QDate tempDate( year, 1, 1 );
+-    return tempDate.daysInYear();
++    if (isLeapYear(year)) {
++        return 366;
++    } else {
++        return 365;
++    }
+ }
+ 
+ int KCalendarSystemGregorianPrivate::daysInWeek() const
+@@ -130,9 +114,21 @@ int KCalendarSystemGregorianPrivate::daysInWeek() const
+     return 7;
+ }
+ 
+-bool KCalendarSystemGregorianPrivate::isLeapYear( int year ) const
++bool KCalendarSystemGregorianPrivate::isLeapYear(int year) const
+ {
+-    return QDate::isLeapYear( year );
++    if (!hasYearZero() && year < 1) {
++        year = year + 1;
++    }
++
++    if (year % 4 == 0) {
++        if (year % 100 != 0) {
++            return true;
++        } else if (year % 400 == 0) {
++            return true;
++        }
++    }
++
++    return false;
+ }
+ 
+ bool KCalendarSystemGregorianPrivate::hasLeapMonths() const
+@@ -157,7 +153,7 @@ int KCalendarSystemGregorianPrivate::maxMonthsInYear() const
+ 
+ int KCalendarSystemGregorianPrivate::earliestValidYear() const
+ {
+-    return -4712;
++    return -4713;
+ }
+ 
+ int KCalendarSystemGregorianPrivate::latestValidYear() const
+@@ -165,465 +161,321 @@ int KCalendarSystemGregorianPrivate::latestValidYear() const
+     return 9999;
+ }
+ 
+-QString KCalendarSystemGregorianPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
++QString KCalendarSystemGregorianPrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
+ {
+-    Q_UNUSED( year );
++    Q_UNUSED(year);
+ 
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( month ) {
++    if (format == KLocale::NarrowName) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Gregorian month 1 - KLocale::NarrowName",  "J" ).toString( locale() );
++            return ki18nc("Gregorian month 1 - KLocale::NarrowName",  "J").toString(locale());
+         case 2:
+-            return ki18nc( "Gregorian month 2 - KLocale::NarrowName",  "F" ).toString( locale() );
++            return ki18nc("Gregorian month 2 - KLocale::NarrowName",  "F").toString(locale());
+         case 3:
+-            return ki18nc( "Gregorian month 3 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Gregorian month 3 - KLocale::NarrowName",  "M").toString(locale());
+         case 4:
+-            return ki18nc( "Gregorian month 4 - KLocale::NarrowName",  "A" ).toString( locale() );
++            return ki18nc("Gregorian month 4 - KLocale::NarrowName",  "A").toString(locale());
+         case 5:
+-            return ki18nc( "Gregorian month 5 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Gregorian month 5 - KLocale::NarrowName",  "M").toString(locale());
+         case 6:
+-            return ki18nc( "Gregorian month 6 - KLocale::NarrowName",  "J" ).toString( locale() );
++            return ki18nc("Gregorian month 6 - KLocale::NarrowName",  "J").toString(locale());
+         case 7:
+-            return ki18nc( "Gregorian month 7 - KLocale::NarrowName",  "J" ).toString( locale() );
++            return ki18nc("Gregorian month 7 - KLocale::NarrowName",  "J").toString(locale());
+         case 8:
+-            return ki18nc( "Gregorian month 8 - KLocale::NarrowName",  "A" ).toString( locale() );
++            return ki18nc("Gregorian month 8 - KLocale::NarrowName",  "A").toString(locale());
+         case 9:
+-            return ki18nc( "Gregorian month 9 - KLocale::NarrowName",  "S" ).toString( locale() );
++            return ki18nc("Gregorian month 9 - KLocale::NarrowName",  "S").toString(locale());
+         case 10:
+-            return ki18nc( "Gregorian month 10 - KLocale::NarrowName", "O" ).toString( locale() );
++            return ki18nc("Gregorian month 10 - KLocale::NarrowName", "O").toString(locale());
+         case 11:
+-            return ki18nc( "Gregorian month 11 - KLocale::NarrowName", "N" ).toString( locale() );
++            return ki18nc("Gregorian month 11 - KLocale::NarrowName", "N").toString(locale());
+         case 12:
+-            return ki18nc( "Gregorian month 12 - KLocale::NarrowName", "D" ).toString( locale() );
++            return ki18nc("Gregorian month 12 - KLocale::NarrowName", "D").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Gregorian month 1 - KLocale::ShortName Possessive",  "of Jan" ).toString( locale() );
++            return ki18nc("Gregorian month 1 - KLocale::ShortName Possessive",  "of Jan").toString(locale());
+         case 2:
+-            return ki18nc( "Gregorian month 2 - KLocale::ShortName Possessive",  "of Feb" ).toString( locale() );
++            return ki18nc("Gregorian month 2 - KLocale::ShortName Possessive",  "of Feb").toString(locale());
+         case 3:
+-            return ki18nc( "Gregorian month 3 - KLocale::ShortName Possessive",  "of Mar" ).toString( locale() );
++            return ki18nc("Gregorian month 3 - KLocale::ShortName Possessive",  "of Mar").toString(locale());
+         case 4:
+-            return ki18nc( "Gregorian month 4 - KLocale::ShortName Possessive",  "of Apr" ).toString( locale() );
++            return ki18nc("Gregorian month 4 - KLocale::ShortName Possessive",  "of Apr").toString(locale());
+         case 5:
+-            return ki18nc( "Gregorian month 5 - KLocale::ShortName Possessive",  "of May" ).toString( locale() );
++            return ki18nc("Gregorian month 5 - KLocale::ShortName Possessive",  "of May").toString(locale());
+         case 6:
+-            return ki18nc( "Gregorian month 6 - KLocale::ShortName Possessive",  "of Jun" ).toString( locale() );
++            return ki18nc("Gregorian month 6 - KLocale::ShortName Possessive",  "of Jun").toString(locale());
+         case 7:
+-            return ki18nc( "Gregorian month 7 - KLocale::ShortName Possessive",  "of Jul" ).toString( locale() );
++            return ki18nc("Gregorian month 7 - KLocale::ShortName Possessive",  "of Jul").toString(locale());
+         case 8:
+-            return ki18nc( "Gregorian month 8 - KLocale::ShortName Possessive",  "of Aug" ).toString( locale() );
++            return ki18nc("Gregorian month 8 - KLocale::ShortName Possessive",  "of Aug").toString(locale());
+         case 9:
+-            return ki18nc( "Gregorian month 9 - KLocale::ShortName Possessive",  "of Sep" ).toString( locale() );
++            return ki18nc("Gregorian month 9 - KLocale::ShortName Possessive",  "of Sep").toString(locale());
+         case 10:
+-            return ki18nc( "Gregorian month 10 - KLocale::ShortName Possessive", "of Oct" ).toString( locale() );
++            return ki18nc("Gregorian month 10 - KLocale::ShortName Possessive", "of Oct").toString(locale());
+         case 11:
+-            return ki18nc( "Gregorian month 11 - KLocale::ShortName Possessive", "of Nov" ).toString( locale() );
++            return ki18nc("Gregorian month 11 - KLocale::ShortName Possessive", "of Nov").toString(locale());
+         case 12:
+-            return ki18nc( "Gregorian month 12 - KLocale::ShortName Possessive", "of Dec" ).toString( locale() );
++            return ki18nc("Gregorian month 12 - KLocale::ShortName Possessive", "of Dec").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && !possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && !possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Gregorian month 1 - KLocale::ShortName",  "Jan" ).toString( locale() );
++            return ki18nc("Gregorian month 1 - KLocale::ShortName",  "Jan").toString(locale());
+         case 2:
+-            return ki18nc( "Gregorian month 2 - KLocale::ShortName",  "Feb" ).toString( locale() );
++            return ki18nc("Gregorian month 2 - KLocale::ShortName",  "Feb").toString(locale());
+         case 3:
+-            return ki18nc( "Gregorian month 3 - KLocale::ShortName",  "Mar" ).toString( locale() );
++            return ki18nc("Gregorian month 3 - KLocale::ShortName",  "Mar").toString(locale());
+         case 4:
+-            return ki18nc( "Gregorian month 4 - KLocale::ShortName",  "Apr" ).toString( locale() );
++            return ki18nc("Gregorian month 4 - KLocale::ShortName",  "Apr").toString(locale());
+         case 5:
+-            return ki18nc( "Gregorian month 5 - KLocale::ShortName",  "May" ).toString( locale() );
++            return ki18nc("Gregorian month 5 - KLocale::ShortName",  "May").toString(locale());
+         case 6:
+-            return ki18nc( "Gregorian month 6 - KLocale::ShortName",  "Jun" ).toString( locale() );
++            return ki18nc("Gregorian month 6 - KLocale::ShortName",  "Jun").toString(locale());
+         case 7:
+-            return ki18nc( "Gregorian month 7 - KLocale::ShortName",  "Jul" ).toString( locale() );
++            return ki18nc("Gregorian month 7 - KLocale::ShortName",  "Jul").toString(locale());
+         case 8:
+-            return ki18nc( "Gregorian month 8 - KLocale::ShortName",  "Aug" ).toString( locale() );
++            return ki18nc("Gregorian month 8 - KLocale::ShortName",  "Aug").toString(locale());
+         case 9:
+-            return ki18nc( "Gregorian month 9 - KLocale::ShortName",  "Sep" ).toString( locale() );
++            return ki18nc("Gregorian month 9 - KLocale::ShortName",  "Sep").toString(locale());
+         case 10:
+-            return ki18nc( "Gregorian month 10 - KLocale::ShortName", "Oct" ).toString( locale() );
++            return ki18nc("Gregorian month 10 - KLocale::ShortName", "Oct").toString(locale());
+         case 11:
+-            return ki18nc( "Gregorian month 11 - KLocale::ShortName", "Nov" ).toString( locale() );
++            return ki18nc("Gregorian month 11 - KLocale::ShortName", "Nov").toString(locale());
+         case 12:
+-            return ki18nc( "Gregorian month 12 - KLocale::ShortName", "Dec" ).toString( locale() );
++            return ki18nc("Gregorian month 12 - KLocale::ShortName", "Dec").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::LongName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::LongName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Gregorian month 1 - KLocale::LongName Possessive",  "of January"   ).toString( locale() );
++            return ki18nc("Gregorian month 1 - KLocale::LongName Possessive",  "of January").toString(locale());
+         case 2:
+-            return ki18nc( "Gregorian month 2 - KLocale::LongName Possessive",  "of February"  ).toString( locale() );
++            return ki18nc("Gregorian month 2 - KLocale::LongName Possessive",  "of February").toString(locale());
+         case 3:
+-            return ki18nc( "Gregorian month 3 - KLocale::LongName Possessive",  "of March"     ).toString( locale() );
++            return ki18nc("Gregorian month 3 - KLocale::LongName Possessive",  "of March").toString(locale());
+         case 4:
+-            return ki18nc( "Gregorian month 4 - KLocale::LongName Possessive",  "of April"     ).toString( locale() );
++            return ki18nc("Gregorian month 4 - KLocale::LongName Possessive",  "of April").toString(locale());
+         case 5:
+-            return ki18nc( "Gregorian month 5 - KLocale::LongName Possessive",  "of May"       ).toString( locale() );
++            return ki18nc("Gregorian month 5 - KLocale::LongName Possessive",  "of May").toString(locale());
+         case 6:
+-            return ki18nc( "Gregorian month 6 - KLocale::LongName Possessive",  "of June"      ).toString( locale() );
++            return ki18nc("Gregorian month 6 - KLocale::LongName Possessive",  "of June").toString(locale());
+         case 7:
+-            return ki18nc( "Gregorian month 7 - KLocale::LongName Possessive",  "of July"      ).toString( locale() );
++            return ki18nc("Gregorian month 7 - KLocale::LongName Possessive",  "of July").toString(locale());
+         case 8:
+-            return ki18nc( "Gregorian month 8 - KLocale::LongName Possessive",  "of August"    ).toString( locale() );
++            return ki18nc("Gregorian month 8 - KLocale::LongName Possessive",  "of August").toString(locale());
+         case 9:
+-            return ki18nc( "Gregorian month 9 - KLocale::LongName Possessive",  "of September" ).toString( locale() );
++            return ki18nc("Gregorian month 9 - KLocale::LongName Possessive",  "of September").toString(locale());
+         case 10:
+-            return ki18nc( "Gregorian month 10 - KLocale::LongName Possessive", "of October"   ).toString( locale() );
++            return ki18nc("Gregorian month 10 - KLocale::LongName Possessive", "of October").toString(locale());
+         case 11:
+-            return ki18nc( "Gregorian month 11 - KLocale::LongName Possessive", "of November"  ).toString( locale() );
++            return ki18nc("Gregorian month 11 - KLocale::LongName Possessive", "of November").toString(locale());
+         case 12:
+-            return ki18nc( "Gregorian month 12 - KLocale::LongName Possessive", "of December"  ).toString( locale() );
++            return ki18nc("Gregorian month 12 - KLocale::LongName Possessive", "of December").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+     // Default to LongName
+-    switch ( month ) {
++    switch (month) {
+     case 1:
+-        return ki18nc( "Gregorian month 1 - KLocale::LongName",  "January"   ).toString( locale() );
++        return ki18nc("Gregorian month 1 - KLocale::LongName",  "January").toString(locale());
+     case 2:
+-        return ki18nc( "Gregorian month 2 - KLocale::LongName",  "February"  ).toString( locale() );
++        return ki18nc("Gregorian month 2 - KLocale::LongName",  "February").toString(locale());
+     case 3:
+-        return ki18nc( "Gregorian month 3 - KLocale::LongName",  "March"     ).toString( locale() );
++        return ki18nc("Gregorian month 3 - KLocale::LongName",  "March").toString(locale());
+     case 4:
+-        return ki18nc( "Gregorian month 4 - KLocale::LongName",  "April"     ).toString( locale() );
++        return ki18nc("Gregorian month 4 - KLocale::LongName",  "April").toString(locale());
+     case 5:
+-        return ki18nc( "Gregorian month 5 - KLocale::LongName",  "May"       ).toString( locale() );
++        return ki18nc("Gregorian month 5 - KLocale::LongName",  "May").toString(locale());
+     case 6:
+-        return ki18nc( "Gregorian month 6 - KLocale::LongName",  "June"      ).toString( locale() );
++        return ki18nc("Gregorian month 6 - KLocale::LongName",  "June").toString(locale());
+     case 7:
+-        return ki18nc( "Gregorian month 7 - KLocale::LongName",  "July"      ).toString( locale() );
++        return ki18nc("Gregorian month 7 - KLocale::LongName",  "July").toString(locale());
+     case 8:
+-        return ki18nc( "Gregorian month 8 - KLocale::LongName",  "August"    ).toString( locale() );
++        return ki18nc("Gregorian month 8 - KLocale::LongName",  "August").toString(locale());
+     case 9:
+-        return ki18nc( "Gregorian month 9 - KLocale::LongName",  "September" ).toString( locale() );
++        return ki18nc("Gregorian month 9 - KLocale::LongName",  "September").toString(locale());
+     case 10:
+-        return ki18nc( "Gregorian month 10 - KLocale::LongName", "October"   ).toString( locale() );
++        return ki18nc("Gregorian month 10 - KLocale::LongName", "October").toString(locale());
+     case 11:
+-        return ki18nc( "Gregorian month 11 - KLocale::LongName", "November"  ).toString( locale() );
++        return ki18nc("Gregorian month 11 - KLocale::LongName", "November").toString(locale());
+     case 12:
+-        return ki18nc( "Gregorian month 12 - KLocale::LongName", "December"  ).toString( locale() );
++        return ki18nc("Gregorian month 12 - KLocale::LongName", "December").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+-QString KCalendarSystemGregorianPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
++QString KCalendarSystemGregorianPrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
+ {
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::NarrowName) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Gregorian weekday 1 - KLocale::NarrowName ", "M" ).toString( locale() );
++            return ki18nc("Gregorian weekday 1 - KLocale::NarrowName ", "M").toString(locale());
+         case 2:
+-            return ki18nc( "Gregorian weekday 2 - KLocale::NarrowName ", "T" ).toString( locale() );
++            return ki18nc("Gregorian weekday 2 - KLocale::NarrowName ", "T").toString(locale());
+         case 3:
+-            return ki18nc( "Gregorian weekday 3 - KLocale::NarrowName ", "W" ).toString( locale() );
++            return ki18nc("Gregorian weekday 3 - KLocale::NarrowName ", "W").toString(locale());
+         case 4:
+-            return ki18nc( "Gregorian weekday 4 - KLocale::NarrowName ", "T" ).toString( locale() );
++            return ki18nc("Gregorian weekday 4 - KLocale::NarrowName ", "T").toString(locale());
+         case 5:
+-            return ki18nc( "Gregorian weekday 5 - KLocale::NarrowName ", "F" ).toString( locale() );
++            return ki18nc("Gregorian weekday 5 - KLocale::NarrowName ", "F").toString(locale());
+         case 6:
+-            return ki18nc( "Gregorian weekday 6 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Gregorian weekday 6 - KLocale::NarrowName ", "S").toString(locale());
+         case 7:
+-            return ki18nc( "Gregorian weekday 7 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Gregorian weekday 7 - KLocale::NarrowName ", "S").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName  || format == KLocale:: ShortNumber ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::ShortName  || format == KLocale:: ShortNumber) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Gregorian weekday 1 - KLocale::ShortName", "Mon" ).toString( locale() );
++            return ki18nc("Gregorian weekday 1 - KLocale::ShortName", "Mon").toString(locale());
+         case 2:
+-            return ki18nc( "Gregorian weekday 2 - KLocale::ShortName", "Tue" ).toString( locale() );
++            return ki18nc("Gregorian weekday 2 - KLocale::ShortName", "Tue").toString(locale());
+         case 3:
+-            return ki18nc( "Gregorian weekday 3 - KLocale::ShortName", "Wed" ).toString( locale() );
++            return ki18nc("Gregorian weekday 3 - KLocale::ShortName", "Wed").toString(locale());
+         case 4:
+-            return ki18nc( "Gregorian weekday 4 - KLocale::ShortName", "Thu" ).toString( locale() );
++            return ki18nc("Gregorian weekday 4 - KLocale::ShortName", "Thu").toString(locale());
+         case 5:
+-            return ki18nc( "Gregorian weekday 5 - KLocale::ShortName", "Fri" ).toString( locale() );
++            return ki18nc("Gregorian weekday 5 - KLocale::ShortName", "Fri").toString(locale());
+         case 6:
+-            return ki18nc( "Gregorian weekday 6 - KLocale::ShortName", "Sat" ).toString( locale() );
++            return ki18nc("Gregorian weekday 6 - KLocale::ShortName", "Sat").toString(locale());
+         case 7:
+-            return ki18nc( "Gregorian weekday 7 - KLocale::ShortName", "Sun" ).toString( locale() );
++            return ki18nc("Gregorian weekday 7 - KLocale::ShortName", "Sun").toString(locale());
+         default: return QString();
+         }
+     }
+ 
+-    switch ( weekDay ) {
++    switch (weekDay) {
+     case 1:
+-        return ki18nc( "Gregorian weekday 1 - KLocale::LongName", "Monday"    ).toString( locale() );
++        return ki18nc("Gregorian weekday 1 - KLocale::LongName", "Monday").toString(locale());
+     case 2:
+-        return ki18nc( "Gregorian weekday 2 - KLocale::LongName", "Tuesday"   ).toString( locale() );
++        return ki18nc("Gregorian weekday 2 - KLocale::LongName", "Tuesday").toString(locale());
+     case 3:
+-        return ki18nc( "Gregorian weekday 3 - KLocale::LongName", "Wednesday" ).toString( locale() );
++        return ki18nc("Gregorian weekday 3 - KLocale::LongName", "Wednesday").toString(locale());
+     case 4:
+-        return ki18nc( "Gregorian weekday 4 - KLocale::LongName", "Thursday"  ).toString( locale() );
++        return ki18nc("Gregorian weekday 4 - KLocale::LongName", "Thursday").toString(locale());
+     case 5:
+-        return ki18nc( "Gregorian weekday 5 - KLocale::LongName", "Friday"    ).toString( locale() );
++        return ki18nc("Gregorian weekday 5 - KLocale::LongName", "Friday").toString(locale());
+     case 6:
+-        return ki18nc( "Gregorian weekday 6 - KLocale::LongName", "Saturday"  ).toString( locale() );
++        return ki18nc("Gregorian weekday 6 - KLocale::LongName", "Saturday").toString(locale());
+     case 7:
+-        return ki18nc( "Gregorian weekday 7 - KLocale::LongName", "Sunday"    ).toString( locale() );
++        return ki18nc("Gregorian weekday 7 - KLocale::LongName", "Sunday").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+ 
+-KCalendarSystemGregorian::KCalendarSystemGregorian( const KLocale *locale )
+-                        : KCalendarSystem( *new KCalendarSystemGregorianPrivate( this ), KSharedConfig::Ptr(), locale ),
+-                          dont_use( 0 )
++KCalendarSystemGregorian::KCalendarSystemGregorian(const KLocale *locale)
++                        : KCalendarSystem(*new KCalendarSystemGregorianPrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemGregorian::KCalendarSystemGregorian( const KSharedConfig::Ptr config, const KLocale *locale )
+-                        : KCalendarSystem( *new KCalendarSystemGregorianPrivate( this ), config, locale ),
+-                          dont_use( 0 )
++KCalendarSystemGregorian::KCalendarSystemGregorian(const KSharedConfig::Ptr config,
++                                                                     const KLocale *locale)
++                        : KCalendarSystem(*new KCalendarSystemGregorianPrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemGregorian::KCalendarSystemGregorian( KCalendarSystemGregorianPrivate &dd, const KSharedConfig::Ptr config, const KLocale *locale )
+-                        : KCalendarSystem( dd, config, locale ),
+-                          dont_use( 0 )
++KCalendarSystemGregorian::KCalendarSystemGregorian(KCalendarSystemGregorianPrivate &dd,
++                                                                     const KSharedConfig::Ptr config,
++                                                                     const KLocale *locale)
++                        : KCalendarSystem(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemGregorian::~KCalendarSystemGregorian()
+ {
+-    delete dont_use;
+ }
+ 
+ QString KCalendarSystemGregorian::calendarType() const
+ {
+-    return QLatin1String( "gregorian" );
++    return QLatin1String("gregorian-proleptic");
+ }
+ 
+ QDate KCalendarSystemGregorian::epoch() const
+ {
+-    // 1 Jan 1 AD in Julian
+-    return QDate::fromJulianDay( 1721424 );
++    return QDate::fromJulianDay(1721426);
+ }
+ 
+ QDate KCalendarSystemGregorian::earliestValidDate() const
+ {
+-    // 1 Jan 4712 BC, no year zero, cant be 4713BC due to error in QDate that day 0 is not valid
+-    // and we really need the first in each year to be valid for the date maths
+-    return QDate::fromJulianDay( 366 );
++    // Gregorian 1 Jan 4713 BC, no year zero
++    return QDate::fromJulianDay(38);
+ }
+ 
+ QDate KCalendarSystemGregorian::latestValidDate() const
+ {
+-    // Set to last day of year 9999 until confirm date formats & widets support > 9999
++    // Set to last day of year 9999 until confirm date formats & widgets support > 9999
+     // In Gregorian this is 9999-12-31, which is  is jd 5373484
+     // Can't call setDate( 9999, 12, 31 ) as it creates circular reference!
+-    return QDate::fromJulianDay( 5373484 );
+-}
+-
+-bool KCalendarSystemGregorian::isValid( int year, int month, int day ) const
+-{
+-    // Limit to max year 9999 for now, QDate allows to be greater
+-    if ( year <= 9999 ) {
+-        return QDate::isValid( year, month, day );
+-    }
+-
+-    return false;
+-}
+-
+-bool KCalendarSystemGregorian::isValid( const QDate &date ) const
+-{
+-    return KCalendarSystem::isValid( date );
+-}
+-
+-bool KCalendarSystemGregorian::setDate( QDate &date, int year, int month, int day ) const
+-{
+-    return KCalendarSystem::setDate( date, year, month, day );
+-}
+-
+-// Deprecated
+-bool KCalendarSystemGregorian::setYMD( QDate &date, int y, int m, int d ) const
+-{
+-    return KCalendarSystem::setDate( date, y, m, d );
+-}
+-
+-int KCalendarSystemGregorian::year( const QDate &date ) const
+-{
+-    return date.year();
+-}
+-
+-int KCalendarSystemGregorian::month( const QDate &date ) const
+-{
+-    return date.month();
+-}
+-
+-int KCalendarSystemGregorian::day( const QDate &date ) const
+-{
+-    return date.day();
+-}
+-
+-QDate KCalendarSystemGregorian::addYears( const QDate &date, int nyears ) const
+-{
+-    return KCalendarSystem::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemGregorian::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystem::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemGregorian::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystem::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemGregorian::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::monthsInYear( date );
+-}
+-
+-int KCalendarSystemGregorian::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::weeksInYear( date );
+-}
+-
+-int KCalendarSystemGregorian::weeksInYear( int year ) const
+-{
+-    return KCalendarSystem::weeksInYear( year );
++    return QDate::fromJulianDay(5373484);
+ }
+ 
+-int KCalendarSystemGregorian::daysInYear( const QDate &date ) const
++bool KCalendarSystemGregorian::isValid(int year, int month, int day) const
+ {
+-    return date.daysInYear();
++    return KCalendarSystem::isValid(year, month, day);
+ }
+ 
+-int KCalendarSystemGregorian::daysInMonth( const QDate &date ) const
++bool KCalendarSystemGregorian::isValid(const QDate &date) const
+ {
+-    return date.daysInMonth();
++    return KCalendarSystem::isValid(date);
+ }
+ 
+-int KCalendarSystemGregorian::daysInWeek( const QDate &date ) const
++bool KCalendarSystemGregorian::isLeapYear(int year) const
+ {
+-    return KCalendarSystem::daysInWeek( date );
++    return KCalendarSystem::isLeapYear(year);
+ }
+ 
+-int KCalendarSystemGregorian::dayOfYear( const QDate &date ) const
++bool KCalendarSystemGregorian::isLeapYear(const QDate &date) const
+ {
+-    return date.dayOfYear();
++    return KCalendarSystem::isLeapYear(date);
+ }
+ 
+-int KCalendarSystemGregorian::dayOfWeek( const QDate &date ) const
++QString KCalendarSystemGregorian::monthName(int month, int year, MonthNameFormat format) const
+ {
+-    return date.dayOfWeek();
++    return KCalendarSystem::monthName(month, year, format);
+ }
+ 
+-int KCalendarSystemGregorian::weekNumber( const QDate &date, int * yearNum ) const
++QString KCalendarSystemGregorian::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::weekNumber( date, yearNum );
++    return KCalendarSystem::monthName(date, format);
+ }
+ 
+-bool KCalendarSystemGregorian::isLeapYear( int year ) const
++QString KCalendarSystemGregorian::weekDayName(int weekDay, WeekDayNameFormat format) const
+ {
+-    return QDate::isLeapYear( year );
++    return KCalendarSystem::weekDayName(weekDay, format);
+ }
+ 
+-bool KCalendarSystemGregorian::isLeapYear( const QDate &date ) const
++QString KCalendarSystemGregorian::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    return QDate::isLeapYear( date.year() );
++    return KCalendarSystem::weekDayName(date, format);
+ }
+ 
+-QString KCalendarSystemGregorian::monthName( int month, int year, MonthNameFormat format ) const
++int KCalendarSystemGregorian::yearStringToInteger(const QString &sNum, int &iLength) const
+ {
+-    return KCalendarSystem::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemGregorian::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( date, format );
+-}
+-
+-QString KCalendarSystemGregorian::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemGregorian::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemGregorian::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemGregorian::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemGregorian::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemGregorian::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemGregorian::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemGregorian::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemGregorian::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystem::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemGregorian::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemGregorian::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemGregorian::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemGregorian::weekStartDay() const
+-{
+-    return KCalendarSystem::weekStartDay();
++    return KCalendarSystem::yearStringToInteger(sNum, iLength);
+ }
+ 
+ int KCalendarSystemGregorian::weekDayOfPray() const
+@@ -648,24 +500,67 @@ bool KCalendarSystemGregorian::isSolar() const
+ 
+ bool KCalendarSystemGregorian::isProleptic() const
+ {
+-    return false;
++    return true;
+ }
+ 
+-bool KCalendarSystemGregorian::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemGregorian::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+-    QDate date = QDate::fromJulianDay( jd );
++    Q_D(const KCalendarSystemGregorian);
++
++    // Formula from The Calendar FAQ by Claus Tondering
++    // http://www.tondering.dk/claus/cal/node3.html#SECTION003161000000000000000
++    // NOTE: Coded from scratch from mathematical formulas, not copied from
++    // the Boost licensed source code
+ 
+-    date.getDate( &year, &month, &day );
++    int a = jd + 32044;
++    int b = ((4 * a) + 3) / 146097;
++    int c = a - ((146097 * b) / 4);
++    int dd = ((4 * c) + 3) / 1461;
++    int e = c - ((1461 * dd) / 4);
++    int m = ((5 * e) + 2) / 153;
++    day = e - (((153 * m) + 2) / 5) + 1;
++    month = m + 3 - (12 * (m / 10));
++    year = (100 * b) + dd - 4800 + (m / 10);
+ 
+-    return date.isValid();
++    // If year is -ve then is BC.  In Gregorian there is no year 0, but the maths
++    // is easier if we pretend there is, so internally year of 0 = 1BC = -1 outside
++    // Check for Year 0 support as some Gregorian based calendars do have it, e.g. Thai and ISO
++    if (!d->hasYearZero() && year < 1) {
++        year = year - 1;
++    }
++    return true;
+ }
+ 
+-bool KCalendarSystemGregorian::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemGregorian::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+-    QDate date;
++    Q_D(const KCalendarSystemGregorian);
++
++    // Formula from The Calendar FAQ by Claus Tondering
++    // http://www.tondering.dk/claus/cal/node3.html#SECTION003161000000000000000
++    // NOTE: Coded from scratch from mathematical formulas, not copied from
++    // the Boost licensed source code
+ 
+-    date.setDate( year, month, day );
+-    jd = date.toJulianDay();
++    // If year is -ve then is BC.  In Gregorian there is no year 0, but the maths
++    // is easier if we pretend there is, so internally year of -1 = 1BC = 0 internally
++    // Check for Year 0 support as some Gregorian based calendars do have it, e.g. Thai and ISO
++    int y;
++    if (!d->hasYearZero() && year < 1) {
++        y = year + 1;
++    } else {
++        y = year;
++    }
+ 
+-    return date.isValid();
++    int a = (14 - month) / 12;
++    y = y + 4800 - a;
++    int m = month + (12 * a) - 3;
++
++    jd = day
++         + (((153 * m) + 2) / 5)
++         + (365 * y)
++         + (y / 4)
++         - (y / 100)
++         + (y / 400)
++         - 32045;
++
++    return true;
+ }
+diff --git a/kdecore/date/kcalendarsystemgregorian_p.h b/kdecore/date/kcalendarsystemgregorian_p.h
+index 31f861b..c173ea9 100644
+--- a/kdecore/date/kcalendarsystemgregorian_p.h
++++ b/kdecore/date/kcalendarsystemgregorian_p.h
+@@ -1,7 +1,5 @@
+ /*
+-    Copyright (c) 2002 Carlos Moro 
+-    Copyright (c) 2002 Hans Petter Bieker 
+-    Copyright 2007, 2010 John Layt 
++    Copyright 2009, 2010 John Layt 
+ 
+     This library is free software; you can redistribute it and/or
+     modify it under the terms of the GNU Library General Public
+@@ -28,84 +26,46 @@ class KCalendarSystemGregorianPrivate;
+ 
+ /**
+  * @internal
+- * This is the Gregorian calendar implementation.
++ * This is the pure Gregorian calendar implementation.
+  *
+- * The Gregorian calendar is the most used calendar today. The first year in
+- * the calendar is set to the birth of Christ.
++ * Note: This is a proleptic version of the Gregorian calendar, it does not
++ * copy the QDate method of using the Julian Calendar for dates before 15
++ * October 1582.  This is the traditional proleptic Gregorian calendar
++ * that does not have a year 0, unlike the ISO version which does.
+  *
+- * WARNING: This is not a pure Gregorian calendar, it copies the QDate method
+- * of using the Julian Calendar for dates before 15 October 1582.
+- *
+- * @b license GNU-GPL v.2
++ * @b license GNU-LGPL v.2 or later
+  *
+  * @see KLocale,KCalendarSystem
+  *
+- * @author Carlos Moro 
++ * @author John Layt 
+  */
+ class KCalendarSystemGregorian: public KCalendarSystem
+ {
+ public:
+-    explicit KCalendarSystemGregorian ( const KLocale *locale = 0 );
+-    explicit KCalendarSystemGregorian( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
+-    virtual ~KCalendarSystemGregorian ();
++    explicit KCalendarSystemGregorian(const KLocale *locale = 0);
++    explicit KCalendarSystemGregorian(const KSharedConfig::Ptr config, const KLocale *locale = 0);
++    virtual ~KCalendarSystemGregorian();
+ 
+     virtual QString calendarType() const;
+ 
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
+-
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
+-
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
+-
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
+-
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
++    virtual int yearStringToInteger(const QString &sNum, int &iLength) const;
+ 
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -113,15 +73,15 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemGregorian( KCalendarSystemGregorianPrivate &dd,
+-                              const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                              const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemGregorian(KCalendarSystemGregorianPrivate &dd,
++                                      const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                                      const KLocale *locale = 0);
+ 
+ private:
+-    Q_DECLARE_PRIVATE( KCalendarSystemGregorian )
+-    KCalendarSystemGregorianPrivate * const dont_use; // KDE5 remove, use shared d
++    friend class KCalendarSystemIndianNational;  // To allow access to julianDayToDate() and dateToJulianDay()
++    Q_DECLARE_PRIVATE(KCalendarSystemGregorian)
+ };
+ 
+-#endif
++#endif // KCALENDARSYSTEMGREGORIAN_H
+diff --git a/kdecore/date/kcalendarsystemgregorianprivate_p.h b/kdecore/date/kcalendarsystemgregorianprivate_p.h
+new file mode 100644
+index 0000000..61d6646
+--- /dev/null
++++ b/kdecore/date/kcalendarsystemgregorianprivate_p.h
+@@ -0,0 +1,54 @@
++/*
++    Copyright 2009, 2010 John Layt 
++
++    This library is free software; you can redistribute it and/or
++    modify it under the terms of the GNU Library General Public
++    License as published by the Free Software Foundation; either
++    version 2 of the License, or (at your option) any later version.
++
++    This library is distributed in the hope that it will be useful,
++    but WITHOUT ANY WARRANTY; without even the implied warranty of
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++    Library General Public License for more details.
++
++    You should have received a copy of the GNU Library General Public License
++    along with this library; see the file COPYING.LIB.  If not, write to
++    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++    Boston, MA 02110-1301, USA.
++*/
++
++#ifndef KCALENDARSYSTEMGREGORIANPRIVATE_H
++#define KCALENDARSYSTEMGREGORIANPRIVATE_H
++
++// Derived gregorian kde calendar class
++
++#include "kcalendarsystemprivate_p.h"
++
++class KCalendarSystemGregorianPrivate : public KCalendarSystemPrivate
++{
++public:
++    explicit KCalendarSystemGregorianPrivate(KCalendarSystemGregorian *q);
++
++    virtual ~KCalendarSystemGregorianPrivate();
++
++    // Virtual methods each calendar system must re-implement
++    virtual KLocale::CalendarSystem calendarSystem() const;
++    virtual void loadDefaultEraList();
++    virtual int monthsInYear(int year) const;
++    virtual int daysInMonth(int year, int month) const;
++    virtual int daysInYear(int year) const;
++    virtual int daysInWeek() const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool hasLeapMonths() const;
++    virtual bool hasYearZero() const;
++    virtual int maxDaysInWeek() const;
++    virtual int maxMonthsInYear() const;
++    virtual int earliestValidYear() const;
++    virtual int latestValidYear() const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
++
++    bool m_useCommonEra;
++};
++
++#endif // KCALENDARSYSTEMGREGORIANPRIVATE_H
+diff --git a/kdecore/date/kcalendarsystemgregorianproleptic.cpp b/kdecore/date/kcalendarsystemgregorianproleptic.cpp
+deleted file mode 100644
+index 32ffeb4..0000000
+--- a/kdecore/date/kcalendarsystemgregorianproleptic.cpp
++++ /dev/null
+@@ -1,706 +0,0 @@
+-/*
+-    Copyright 2009, 2010 John Layt 
+-
+-    This library is free software; you can redistribute it and/or
+-    modify it under the terms of the GNU Library General Public
+-    License as published by the Free Software Foundation; either
+-    version 2 of the License, or (at your option) any later version.
+-
+-    This library is distributed in the hope that it will be useful,
+-    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-    Library General Public License for more details.
+-
+-    You should have received a copy of the GNU Library General Public License
+-    along with this library; see the file COPYING.LIB.  If not, write to
+-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-    Boston, MA 02110-1301, USA.
+-*/
+-
+-// Derived gregorian kde calendar class
+-
+-#include "kcalendarsystemgregorianproleptic_p.h"
+-#include "kcalendarsystemgregorianprolepticprivate_p.h"
+-#include "kcalendarera_p.h"
+-
+-#include "kdebug.h"
+-#include "klocale.h"
+-#include "kglobal.h"
+-#include "kconfiggroup.h"
+-
+-#include 
+-#include 
+-
+-// Shared d pointer base class definitions
+-
+-KCalendarSystemGregorianProlepticPrivate::KCalendarSystemGregorianProlepticPrivate( KCalendarSystemGregorianProleptic *q )
+-                                         :KCalendarSystemPrivate( q )
+-{
+-}
+-
+-KCalendarSystemGregorianProlepticPrivate::~KCalendarSystemGregorianProlepticPrivate()
+-{
+-}
+-
+-KLocale::CalendarSystem KCalendarSystemGregorianProlepticPrivate::calendarSystem() const
+-{
+-    return KLocale::GregorianCalendar;
+-}
+-
+-// Dummy version using Gregorian as an example
+-// This method MUST be re-implemented in any new Calendar System
+-void KCalendarSystemGregorianProlepticPrivate::loadDefaultEraList()
+-{
+-    QString name, shortName, format;
+-
+-    KConfigGroup cg( config(), QString::fromLatin1( "KCalendarSystem %1" ).arg( q->calendarType() ) );
+-    m_useCommonEra = cg.readEntry( "UseCommonEra", false );
+-
+-    if ( m_useCommonEra ) {
+-        name = i18nc( "Calendar Era: Gregorian Common Era, years < 0, LongFormat", "Before Common Era" );
+-        shortName = i18nc( "Calendar Era: Gregorian Common Era, years < 0, ShortFormat", "BCE" );
+-    } else {
+-        name = i18nc( "Calendar Era: Gregorian Christian Era, years < 0, LongFormat", "Before Christ" );
+-        shortName = i18nc( "Calendar Era: Gregorian Christian Era, years < 0, ShortFormat", "BC" );
+-    }
+-    format = i18nc( "(kdedt-format) Gregorian, BC, full era year format used for %EY, e.g. 2000 BC", "%Ey %EC" );
+-    addEra( '-', 1, q->epoch().addDays( -1 ), -1, q->earliestValidDate(), name, shortName, format );
+-
+-    if ( m_useCommonEra ) {
+-        name = i18nc( "Calendar Era: Gregorian Common Era, years > 0, LongFormat", "Common Era" );
+-        shortName = i18nc( "Calendar Era: Gregorian Common Era, years > 0, ShortFormat", "CE" );
+-    } else {
+-        name = i18nc( "Calendar Era: Gregorian Christian Era, years > 0, LongFormat", "Anno Domini" );
+-        shortName = i18nc( "Calendar Era: Gregorian Christian Era, years > 0, ShortFormat", "AD" );
+-    }
+-    format = i18nc( "(kdedt-format) Gregorian, AD, full era year format used for %EY, e.g. 2000 AD", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
+-}
+-
+-int KCalendarSystemGregorianProlepticPrivate::monthsInYear( int year ) const
+-{
+-    Q_UNUSED( year )
+-    return 12;
+-}
+-
+-int KCalendarSystemGregorianProlepticPrivate::daysInMonth( int year, int month ) const
+-{
+-    if ( month == 2 ) {
+-        if ( isLeapYear( year ) ) {
+-            return 29;
+-        } else {
+-            return 28;
+-        }
+-    }
+-
+-    if ( month == 4 || month == 6 || month == 9 || month == 11 ) {
+-        return 30;
+-    }
+-
+-    return 31;
+-}
+-
+-int KCalendarSystemGregorianProlepticPrivate::daysInYear( int year ) const
+-{
+-    if ( isLeapYear( year ) ) {
+-        return 366;
+-    } else {
+-        return 365;
+-    }
+-}
+-
+-int KCalendarSystemGregorianProlepticPrivate::daysInWeek() const
+-{
+-    return 7;
+-}
+-
+-bool KCalendarSystemGregorianProlepticPrivate::isLeapYear( int year ) const
+-{
+-    if ( !hasYearZero() && year < 1 ) {
+-        year = year + 1;
+-    }
+-
+-    if ( year % 4 == 0 ) {
+-        if ( year % 100 != 0 ) {
+-            return true;
+-        } else if ( year % 400 == 0 ) {
+-            return true;
+-        }
+-    }
+-
+-    return false;
+-}
+-
+-bool KCalendarSystemGregorianProlepticPrivate::hasLeapMonths() const
+-{
+-    return false;
+-}
+-
+-bool KCalendarSystemGregorianProlepticPrivate::hasYearZero() const
+-{
+-    return false;
+-}
+-
+-int KCalendarSystemGregorianProlepticPrivate::maxDaysInWeek() const
+-{
+-    return 7;
+-}
+-
+-int KCalendarSystemGregorianProlepticPrivate::maxMonthsInYear() const
+-{
+-    return 12;
+-}
+-
+-int KCalendarSystemGregorianProlepticPrivate::earliestValidYear() const
+-{
+-    return -4713;
+-}
+-
+-int KCalendarSystemGregorianProlepticPrivate::latestValidYear() const
+-{
+-    return 9999;
+-}
+-
+-QString KCalendarSystemGregorianProlepticPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
+-{
+-    Q_UNUSED( year );
+-
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( month ) {
+-        case 1:
+-            return ki18nc( "Gregorian month 1 - KLocale::NarrowName",  "J" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Gregorian month 2 - KLocale::NarrowName",  "F" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Gregorian month 3 - KLocale::NarrowName",  "M" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Gregorian month 4 - KLocale::NarrowName",  "A" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Gregorian month 5 - KLocale::NarrowName",  "M" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Gregorian month 6 - KLocale::NarrowName",  "J" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Gregorian month 7 - KLocale::NarrowName",  "J" ).toString( locale() );
+-        case 8:
+-            return ki18nc( "Gregorian month 8 - KLocale::NarrowName",  "A" ).toString( locale() );
+-        case 9:
+-            return ki18nc( "Gregorian month 9 - KLocale::NarrowName",  "S" ).toString( locale() );
+-        case 10:
+-            return ki18nc( "Gregorian month 10 - KLocale::NarrowName", "O" ).toString( locale() );
+-        case 11:
+-            return ki18nc( "Gregorian month 11 - KLocale::NarrowName", "N" ).toString( locale() );
+-        case 12:
+-            return ki18nc( "Gregorian month 12 - KLocale::NarrowName", "D" ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    if ( format == KLocale::ShortName && possessive ) {
+-        switch ( month ) {
+-        case 1:
+-            return ki18nc( "Gregorian month 1 - KLocale::ShortName Possessive",  "of Jan" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Gregorian month 2 - KLocale::ShortName Possessive",  "of Feb" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Gregorian month 3 - KLocale::ShortName Possessive",  "of Mar" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Gregorian month 4 - KLocale::ShortName Possessive",  "of Apr" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Gregorian month 5 - KLocale::ShortName Possessive",  "of May" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Gregorian month 6 - KLocale::ShortName Possessive",  "of Jun" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Gregorian month 7 - KLocale::ShortName Possessive",  "of Jul" ).toString( locale() );
+-        case 8:
+-            return ki18nc( "Gregorian month 8 - KLocale::ShortName Possessive",  "of Aug" ).toString( locale() );
+-        case 9:
+-            return ki18nc( "Gregorian month 9 - KLocale::ShortName Possessive",  "of Sep" ).toString( locale() );
+-        case 10:
+-            return ki18nc( "Gregorian month 10 - KLocale::ShortName Possessive", "of Oct" ).toString( locale() );
+-        case 11:
+-            return ki18nc( "Gregorian month 11 - KLocale::ShortName Possessive", "of Nov" ).toString( locale() );
+-        case 12:
+-            return ki18nc( "Gregorian month 12 - KLocale::ShortName Possessive", "of Dec" ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    if ( format == KLocale::ShortName && !possessive ) {
+-        switch ( month ) {
+-        case 1:
+-            return ki18nc( "Gregorian month 1 - KLocale::ShortName",  "Jan" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Gregorian month 2 - KLocale::ShortName",  "Feb" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Gregorian month 3 - KLocale::ShortName",  "Mar" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Gregorian month 4 - KLocale::ShortName",  "Apr" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Gregorian month 5 - KLocale::ShortName",  "May" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Gregorian month 6 - KLocale::ShortName",  "Jun" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Gregorian month 7 - KLocale::ShortName",  "Jul" ).toString( locale() );
+-        case 8:
+-            return ki18nc( "Gregorian month 8 - KLocale::ShortName",  "Aug" ).toString( locale() );
+-        case 9:
+-            return ki18nc( "Gregorian month 9 - KLocale::ShortName",  "Sep" ).toString( locale() );
+-        case 10:
+-            return ki18nc( "Gregorian month 10 - KLocale::ShortName", "Oct" ).toString( locale() );
+-        case 11:
+-            return ki18nc( "Gregorian month 11 - KLocale::ShortName", "Nov" ).toString( locale() );
+-        case 12:
+-            return ki18nc( "Gregorian month 12 - KLocale::ShortName", "Dec" ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    if ( format == KLocale::LongName && possessive ) {
+-        switch ( month ) {
+-        case 1:
+-            return ki18nc( "Gregorian month 1 - KLocale::LongName Possessive",  "of January"   ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Gregorian month 2 - KLocale::LongName Possessive",  "of February"  ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Gregorian month 3 - KLocale::LongName Possessive",  "of March"     ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Gregorian month 4 - KLocale::LongName Possessive",  "of April"     ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Gregorian month 5 - KLocale::LongName Possessive",  "of May"       ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Gregorian month 6 - KLocale::LongName Possessive",  "of June"      ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Gregorian month 7 - KLocale::LongName Possessive",  "of July"      ).toString( locale() );
+-        case 8:
+-            return ki18nc( "Gregorian month 8 - KLocale::LongName Possessive",  "of August"    ).toString( locale() );
+-        case 9:
+-            return ki18nc( "Gregorian month 9 - KLocale::LongName Possessive",  "of September" ).toString( locale() );
+-        case 10:
+-            return ki18nc( "Gregorian month 10 - KLocale::LongName Possessive", "of October"   ).toString( locale() );
+-        case 11:
+-            return ki18nc( "Gregorian month 11 - KLocale::LongName Possessive", "of November"  ).toString( locale() );
+-        case 12:
+-            return ki18nc( "Gregorian month 12 - KLocale::LongName Possessive", "of December"  ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    // Default to LongName
+-    switch ( month ) {
+-    case 1:
+-        return ki18nc( "Gregorian month 1 - KLocale::LongName",  "January"   ).toString( locale() );
+-    case 2:
+-        return ki18nc( "Gregorian month 2 - KLocale::LongName",  "February"  ).toString( locale() );
+-    case 3:
+-        return ki18nc( "Gregorian month 3 - KLocale::LongName",  "March"     ).toString( locale() );
+-    case 4:
+-        return ki18nc( "Gregorian month 4 - KLocale::LongName",  "April"     ).toString( locale() );
+-    case 5:
+-        return ki18nc( "Gregorian month 5 - KLocale::LongName",  "May"       ).toString( locale() );
+-    case 6:
+-        return ki18nc( "Gregorian month 6 - KLocale::LongName",  "June"      ).toString( locale() );
+-    case 7:
+-        return ki18nc( "Gregorian month 7 - KLocale::LongName",  "July"      ).toString( locale() );
+-    case 8:
+-        return ki18nc( "Gregorian month 8 - KLocale::LongName",  "August"    ).toString( locale() );
+-    case 9:
+-        return ki18nc( "Gregorian month 9 - KLocale::LongName",  "September" ).toString( locale() );
+-    case 10:
+-        return ki18nc( "Gregorian month 10 - KLocale::LongName", "October"   ).toString( locale() );
+-    case 11:
+-        return ki18nc( "Gregorian month 11 - KLocale::LongName", "November"  ).toString( locale() );
+-    case 12:
+-        return ki18nc( "Gregorian month 12 - KLocale::LongName", "December"  ).toString( locale() );
+-    default:
+-        return QString();
+-    }
+-}
+-
+-QString KCalendarSystemGregorianProlepticPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
+-{
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( weekDay ) {
+-        case 1:
+-            return ki18nc( "Gregorian weekday 1 - KLocale::NarrowName ", "M" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Gregorian weekday 2 - KLocale::NarrowName ", "T" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Gregorian weekday 3 - KLocale::NarrowName ", "W" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Gregorian weekday 4 - KLocale::NarrowName ", "T" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Gregorian weekday 5 - KLocale::NarrowName ", "F" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Gregorian weekday 6 - KLocale::NarrowName ", "S" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Gregorian weekday 7 - KLocale::NarrowName ", "S" ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    if ( format == KLocale::ShortName  || format == KLocale:: ShortNumber ) {
+-        switch ( weekDay ) {
+-        case 1:
+-            return ki18nc( "Gregorian weekday 1 - KLocale::ShortName", "Mon" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Gregorian weekday 2 - KLocale::ShortName", "Tue" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Gregorian weekday 3 - KLocale::ShortName", "Wed" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Gregorian weekday 4 - KLocale::ShortName", "Thu" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Gregorian weekday 5 - KLocale::ShortName", "Fri" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Gregorian weekday 6 - KLocale::ShortName", "Sat" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Gregorian weekday 7 - KLocale::ShortName", "Sun" ).toString( locale() );
+-        default: return QString();
+-        }
+-    }
+-
+-    switch ( weekDay ) {
+-    case 1:
+-        return ki18nc( "Gregorian weekday 1 - KLocale::LongName", "Monday"    ).toString( locale() );
+-    case 2:
+-        return ki18nc( "Gregorian weekday 2 - KLocale::LongName", "Tuesday"   ).toString( locale() );
+-    case 3:
+-        return ki18nc( "Gregorian weekday 3 - KLocale::LongName", "Wednesday" ).toString( locale() );
+-    case 4:
+-        return ki18nc( "Gregorian weekday 4 - KLocale::LongName", "Thursday"  ).toString( locale() );
+-    case 5:
+-        return ki18nc( "Gregorian weekday 5 - KLocale::LongName", "Friday"    ).toString( locale() );
+-    case 6:
+-        return ki18nc( "Gregorian weekday 6 - KLocale::LongName", "Saturday"  ).toString( locale() );
+-    case 7:
+-        return ki18nc( "Gregorian weekday 7 - KLocale::LongName", "Sunday"    ).toString( locale() );
+-    default:
+-        return QString();
+-    }
+-}
+-
+-
+-KCalendarSystemGregorianProleptic::KCalendarSystemGregorianProleptic( const KLocale *locale )
+-                                 : KCalendarSystem( *new KCalendarSystemGregorianProlepticPrivate( this ), KSharedConfig::Ptr(), locale ),
+-                                 dont_use( 0 )
+-{
+-    d_ptr->loadConfig( calendarType() );
+-}
+-
+-KCalendarSystemGregorianProleptic::KCalendarSystemGregorianProleptic( const KSharedConfig::Ptr config,
+-                                                                      const KLocale *locale )
+-                                 : KCalendarSystem( *new KCalendarSystemGregorianProlepticPrivate( this ), config, locale ),
+-                                   dont_use( 0 )
+-{
+-    d_ptr->loadConfig( calendarType() );
+-}
+-
+-KCalendarSystemGregorianProleptic::KCalendarSystemGregorianProleptic( KCalendarSystemGregorianProlepticPrivate &dd,
+-                                                                      const KSharedConfig::Ptr config,
+-                                                                      const KLocale *locale )
+-                                 : KCalendarSystem( dd, config, locale ),
+-                                   dont_use( 0 )
+-{
+-    d_ptr->loadConfig( calendarType() );
+-}
+-
+-KCalendarSystemGregorianProleptic::~KCalendarSystemGregorianProleptic()
+-{
+-    delete dont_use;
+-}
+-
+-QString KCalendarSystemGregorianProleptic::calendarType() const
+-{
+-    return QLatin1String( "gregorian-proleptic" );
+-}
+-
+-QDate KCalendarSystemGregorianProleptic::epoch() const
+-{
+-    return QDate::fromJulianDay( 1721426 );
+-}
+-
+-QDate KCalendarSystemGregorianProleptic::earliestValidDate() const
+-{
+-    // Gregorian 1 Jan 4713 BC, no year zero
+-    return QDate::fromJulianDay( 38 );
+-}
+-
+-QDate KCalendarSystemGregorianProleptic::latestValidDate() const
+-{
+-    // Set to last day of year 9999 until confirm date formats & widgets support > 9999
+-    // In Gregorian this is 9999-12-31, which is  is jd 5373484
+-    // Can't call setDate( 9999, 12, 31 ) as it creates circular reference!
+-    return QDate::fromJulianDay( 5373484 );
+-}
+-
+-bool KCalendarSystemGregorianProleptic::isValid( int year, int month, int day ) const
+-{
+-    return KCalendarSystem::isValid( year, month, day );
+-}
+-
+-bool KCalendarSystemGregorianProleptic::isValid( const QDate &date ) const
+-{
+-    return KCalendarSystem::isValid( date );
+-}
+-
+-bool KCalendarSystemGregorianProleptic::setDate( QDate &date, int year, int month, int day ) const
+-{
+-    return KCalendarSystem::setDate( date, year, month, day );
+-}
+-
+-// Deprecated
+-bool KCalendarSystemGregorianProleptic::setYMD( QDate &date, int year, int month, int day ) const
+-{
+-    return KCalendarSystem::setYMD( date, year, month, day );
+-}
+-
+-int KCalendarSystemGregorianProleptic::year( const QDate &date ) const
+-{
+-    return KCalendarSystem::year( date );
+-}
+-
+-int KCalendarSystemGregorianProleptic::month( const QDate &date ) const
+-{
+-    return KCalendarSystem::month( date );
+-}
+-
+-int KCalendarSystemGregorianProleptic::day( const QDate &date ) const
+-{
+-    return KCalendarSystem::day( date );
+-}
+-
+-QDate KCalendarSystemGregorianProleptic::addYears( const QDate &date, int nyears ) const
+-{
+-    return KCalendarSystem::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemGregorianProleptic::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystem::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemGregorianProleptic::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystem::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemGregorianProleptic::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::monthsInYear( date );
+-}
+-
+-int KCalendarSystemGregorianProleptic::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::weeksInYear( date );
+-}
+-
+-int KCalendarSystemGregorianProleptic::weeksInYear( int year ) const
+-{
+-    return KCalendarSystem::weeksInYear( year );
+-}
+-
+-int KCalendarSystemGregorianProleptic::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInYear( date );
+-}
+-
+-int KCalendarSystemGregorianProleptic::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInMonth( date );
+-}
+-
+-int KCalendarSystemGregorianProleptic::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInWeek( date );
+-}
+-
+-int KCalendarSystemGregorianProleptic::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfYear( date );
+-}
+-
+-int KCalendarSystemGregorianProleptic::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemGregorianProleptic::weekNumber( const QDate &date, int * yearNum ) const
+-{
+-    return KCalendarSystem::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemGregorianProleptic::isLeapYear( int year ) const
+-{
+-    return KCalendarSystem::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemGregorianProleptic::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemGregorianProleptic::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemGregorianProleptic::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( date, format );
+-}
+-
+-QString KCalendarSystemGregorianProleptic::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemGregorianProleptic::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemGregorianProleptic::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemGregorianProleptic::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemGregorianProleptic::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemGregorianProleptic::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemGregorianProleptic::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemGregorianProleptic::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemGregorianProleptic::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystem::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemGregorianProleptic::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemGregorianProleptic::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemGregorianProleptic::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemGregorianProleptic::weekStartDay() const
+-{
+-    return KCalendarSystem::weekStartDay();
+-}
+-
+-int KCalendarSystemGregorianProleptic::weekDayOfPray() const
+-{
+-    return 7; // sunday
+-}
+-
+-bool KCalendarSystemGregorianProleptic::isLunar() const
+-{
+-    return false;
+-}
+-
+-bool KCalendarSystemGregorianProleptic::isLunisolar() const
+-{
+-    return false;
+-}
+-
+-bool KCalendarSystemGregorianProleptic::isSolar() const
+-{
+-    return true;
+-}
+-
+-bool KCalendarSystemGregorianProleptic::isProleptic() const
+-{
+-    return true;
+-}
+-
+-bool KCalendarSystemGregorianProleptic::julianDayToDate( int jd, int &year, int &month, int &day ) const
+-{
+-    Q_D( const KCalendarSystemGregorianProleptic );
+-
+-    // Formula from The Calendar FAQ by Claus Tondering
+-    // http://www.tondering.dk/claus/cal/node3.html#SECTION003161000000000000000
+-    // NOTE: Coded from scratch from mathematical formulas, not copied from
+-    // the Boost licensed source code
+-
+-    int a = jd + 32044;
+-    int b = ( ( 4 * a ) + 3 ) / 146097;
+-    int c = a - ( ( 146097 * b ) / 4 );
+-    int dd = ( ( 4 * c ) + 3 ) / 1461;
+-    int e = c - ( ( 1461 * dd ) / 4 );
+-    int m = ( ( 5 * e ) + 2 ) / 153;
+-    day = e - ( ( (153 * m ) + 2 ) / 5 ) + 1;
+-    month = m + 3 - ( 12 * ( m / 10 ) );
+-    year = ( 100 * b ) + dd - 4800 + ( m / 10 );
+-
+-    // If year is -ve then is BC.  In Gregorian there is no year 0, but the maths
+-    // is easier if we pretend there is, so internally year of 0 = 1BC = -1 outside
+-    // Check for Year 0 support as some Gregorian based calendars do have it, e.g. Thai and ISO
+-    if ( !d->hasYearZero() && year < 1 ) {
+-        year = year - 1;
+-    }
+-    return true;
+-}
+-
+-bool KCalendarSystemGregorianProleptic::dateToJulianDay( int year, int month, int day, int &jd ) const
+-{
+-    Q_D( const KCalendarSystemGregorianProleptic );
+-
+-    // Formula from The Calendar FAQ by Claus Tondering
+-    // http://www.tondering.dk/claus/cal/node3.html#SECTION003161000000000000000
+-    // NOTE: Coded from scratch from mathematical formulas, not copied from
+-    // the Boost licensed source code
+-
+-    // If year is -ve then is BC.  In Gregorian there is no year 0, but the maths
+-    // is easier if we pretend there is, so internally year of -1 = 1BC = 0 internally
+-    // Check for Year 0 support as some Gregorian based calendars do have it, e.g. Thai and ISO
+-    int y;
+-    if ( !d->hasYearZero() && year < 1 ) {
+-        y = year + 1;
+-    } else {
+-        y = year;
+-    }
+-
+-    int a = ( 14 - month ) / 12;
+-    y = y + 4800 - a;
+-    int m = month + ( 12 * a ) - 3;
+-
+-    jd = day
+-         + ( ( ( 153 * m ) + 2 ) / 5 )
+-         + ( 365 * y )
+-         + ( y / 4 )
+-         - ( y / 100 )
+-         + ( y / 400 )
+-         - 32045;
+-
+-    return true;
+-}
+diff --git a/kdecore/date/kcalendarsystemgregorianproleptic_p.h b/kdecore/date/kcalendarsystemgregorianproleptic_p.h
+deleted file mode 100644
+index bbb2f2f..0000000
+--- a/kdecore/date/kcalendarsystemgregorianproleptic_p.h
++++ /dev/null
+@@ -1,125 +0,0 @@
+-/*
+-    Copyright 2009, 2010 John Layt 
+-
+-    This library is free software; you can redistribute it and/or
+-    modify it under the terms of the GNU Library General Public
+-    License as published by the Free Software Foundation; either
+-    version 2 of the License, or (at your option) any later version.
+-
+-    This library is distributed in the hope that it will be useful,
+-    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-    Library General Public License for more details.
+-
+-    You should have received a copy of the GNU Library General Public License
+-    along with this library; see the file COPYING.LIB.  If not, write to
+-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-    Boston, MA 02110-1301, USA.
+-*/
+-
+-#ifndef KCALENDARSYSTEMGREGORIANPROLEPTIC_H
+-#define KCALENDARSYSTEMGREGORIANPROLEPTIC_H
+-
+-#include "kcalendarsystem.h"
+-
+-class KCalendarSystemGregorianProlepticPrivate;
+-
+-/**
+- * @internal
+- * This is the pure Gregorian calendar implementation.
+- *
+- * Note: This is a proleptic version of the Gregorian calendar, it does not
+- * copy the QDate method of using the Julian Calendar for dates before 15
+- * October 1582.  This is the traditional proleptic Gregorian calendar
+- * that does not have a year 0, unlike the ISO version which does.
+- *
+- * @b license GNU-LGPL v.2 or later
+- *
+- * @see KLocale,KCalendarSystem
+- *
+- * @author John Layt 
+- */
+-class KCalendarSystemGregorianProleptic: public KCalendarSystem
+-{
+-public:
+-    explicit KCalendarSystemGregorianProleptic( const KLocale *locale = 0 );
+-    explicit KCalendarSystemGregorianProleptic( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
+-    virtual ~KCalendarSystemGregorianProleptic();
+-
+-    virtual QString calendarType() const;
+-
+-    virtual QDate epoch() const;
+-    virtual QDate earliestValidDate() const;
+-    virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
+-
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
+-
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
+-
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
+-
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
+-
+-    virtual bool isLunar() const;
+-    virtual bool isLunisolar() const;
+-    virtual bool isSolar() const;
+-    virtual bool isProleptic() const;
+-
+-protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemGregorianProleptic( KCalendarSystemGregorianProlepticPrivate &dd,
+-                                       const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                                       const KLocale *locale = 0 );
+-
+-private:
+-    friend class KCalendarSystemIndianNational;  // To allow access to julianDayToDate() and dateToJulianDay()
+-    Q_DECLARE_PRIVATE( KCalendarSystemGregorianProleptic )
+-    KCalendarSystemGregorianProlepticPrivate * const dont_use; // KDE5 remove, use shared d
+-};
+-
+-#endif // KCALENDARSYSTEMGREGORIANPROLEPTIC_H
+diff --git a/kdecore/date/kcalendarsystemgregorianprolepticprivate_p.h b/kdecore/date/kcalendarsystemgregorianprolepticprivate_p.h
+deleted file mode 100644
+index e463b92..0000000
+--- a/kdecore/date/kcalendarsystemgregorianprolepticprivate_p.h
++++ /dev/null
+@@ -1,54 +0,0 @@
+-/*
+-    Copyright 2009, 2010 John Layt 
+-
+-    This library is free software; you can redistribute it and/or
+-    modify it under the terms of the GNU Library General Public
+-    License as published by the Free Software Foundation; either
+-    version 2 of the License, or (at your option) any later version.
+-
+-    This library is distributed in the hope that it will be useful,
+-    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-    Library General Public License for more details.
+-
+-    You should have received a copy of the GNU Library General Public License
+-    along with this library; see the file COPYING.LIB.  If not, write to
+-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-    Boston, MA 02110-1301, USA.
+-*/
+-
+-#ifndef KCALENDARSYSTEMGREGORIANPROLEPTICPRIVATE_H
+-#define KCALENDARSYSTEMGREGORIANPROLEPTICPRIVATE_H
+-
+-// Derived gregorian kde calendar class
+-
+-#include "kcalendarsystemprivate_p.h"
+-
+-class KCalendarSystemGregorianProlepticPrivate : public KCalendarSystemPrivate
+-{
+-public:
+-    explicit KCalendarSystemGregorianProlepticPrivate( KCalendarSystemGregorianProleptic *q );
+-
+-    virtual ~KCalendarSystemGregorianProlepticPrivate();
+-
+-    // Virtual methods each calendar system must re-implement
+-    virtual KLocale::CalendarSystem calendarSystem() const;
+-    virtual void loadDefaultEraList();
+-    virtual int monthsInYear( int year ) const;
+-    virtual int daysInMonth( int year, int month ) const;
+-    virtual int daysInYear( int year ) const;
+-    virtual int daysInWeek() const;
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool hasLeapMonths() const;
+-    virtual bool hasYearZero() const;
+-    virtual int maxDaysInWeek() const;
+-    virtual int maxMonthsInYear() const;
+-    virtual int earliestValidYear() const;
+-    virtual int latestValidYear() const;
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
+-
+-    bool m_useCommonEra;
+-};
+-
+-#endif // KCALENDARSYSTEMGREGORIANPROLEPTICPRIVATE_H
+diff --git a/kdecore/date/kcalendarsystemhebrew.cpp b/kdecore/date/kcalendarsystemhebrew.cpp
+index b55c6ec..8620055 100644
+--- a/kdecore/date/kcalendarsystemhebrew.cpp
++++ b/kdecore/date/kcalendarsystemhebrew.cpp
+@@ -31,7 +31,7 @@
+ #include 
+ #include 
+ 
+-static int hebrewDaysElapsed( int y );
++static int hebrewDaysElapsed(int y);
+ 
+ class h_date
+ {
+@@ -46,26 +46,26 @@ public:
+ /*
+  * compute general date structure from hebrew date
+  */
+-static class h_date * hebrewToGregorian( int y, int m, int d )
++static class h_date * hebrewToGregorian(int y, int m, int d)
+ {
+     static class h_date h;
+     int s;
+ 
+     y -= 3744;
+-    s = hebrewDaysElapsed( y );
++    s = hebrewDaysElapsed(y);
+     d += s;
+-    s = hebrewDaysElapsed( y + 1 ) - s;    /* length of year */
++    s = hebrewDaysElapsed(y + 1) - s;      /* length of year */
+ 
+-    if ( s > 365 && m > 6 ) {
++    if (s > 365 && m > 6) {
+         --m;
+         d += 30;
+     }
+-    d += ( 59 * ( m - 1 ) + 1 ) / 2;  /* regular months */
++    d += (59 * (m - 1) + 1) / 2;      /* regular months */
+     /* special cases */
+-    if ( s % 10 > 4 && m > 2 ) {  /* long Heshvan */
++    if (s % 10 > 4 && m > 2) {    /* long Heshvan */
+         d++;
+     }
+-    if ( s % 10 < 4 && m > 3 ) {  /* short Kislev */
++    if (s % 10 < 4 && m > 3) {    /* short Kislev */
+         d--;
+     }
+     // ### HPB: Broken in leap years
+@@ -73,53 +73,53 @@ static class h_date * hebrewToGregorian( int y, int m, int d )
+     //  d += 30;
+     d -= 6002;
+ 
+-    y = ( d + 36525 ) * 4 / 146097 - 1;
+-    d -= y / 4 * 146097 + ( y % 4 ) * 36524;
++    y = (d + 36525) * 4 / 146097 - 1;
++    d -= y / 4 * 146097 + (y % 4) * 36524;
+     y *= 100;
+ 
+     /* compute year */
+-    s = ( d + 366 )*4 / 1461 - 1;
+-    d -= s / 4*1461 + ( s % 4 )*365;
++    s = (d + 366) * 4 / 1461 - 1;
++    d -= s / 4 * 1461 + (s % 4) * 365;
+     y += s;
+     /* compute month */
+-    m = ( d + 245 )*12 / 367 - 7;
+-    d -= m*367 / 12 - 30;
+-    if ( ++m >= 12 ) {
++    m = (d + 245) * 12 / 367 - 7;
++    d -= m * 367 / 12 - 30;
++    if (++m >= 12) {
+         m -= 12;
+         y++;
+     }
+     h.hd_day = d;
+     h.hd_mon = m;
+     h.hd_year = y;
+-    return( &h );
++    return(&h);
+ }
+ 
+ /*
+  * compute date structure from no. of days since 1 Tishrei 3744
+  */
+-static class h_date * gregorianToHebrew( int y, int m, int d )
++static class h_date * gregorianToHebrew(int y, int m, int d)
+ {
+     static class h_date h;
+     int s;
+ 
+-    if ( ( m -= 2 ) <= 0 ) {
++    if ((m -= 2) <= 0) {
+         m += 12;
+         y--;
+     }
+     /* no. of days, Julian calendar */
+-    d += 365*y + y / 4 + 367*m / 12 + 5968;
++    d += 365 * y + y / 4 + 367 * m / 12 + 5968;
+     /* Gregorian calendar */
+     d -= y / 100 - y / 400 - 2;
+-    h.hd_dw = ( d + 1 ) % 7;
++    h.hd_dw = (d + 1) % 7;
+ 
+     /* compute the year */
+     y += 16;
+-    s = hebrewDaysElapsed( y );
+-    m = hebrewDaysElapsed( y + 1 );
+-    while( d >= m ) {  /* computed year was underestimated */
++    s = hebrewDaysElapsed(y);
++    m = hebrewDaysElapsed(y + 1);
++    while (d >= m) {   /* computed year was underestimated */
+         s = m;
+         y++;
+-        m = hebrewDaysElapsed( y + 1 );
++        m = hebrewDaysElapsed(y + 1);
+     }
+     d -= s;
+     s = m - s;  /* size of current year */
+@@ -128,31 +128,31 @@ static class h_date * gregorianToHebrew( int y, int m, int d )
+     h.hd_flg = s % 10 - 4;
+ 
+     /* compute day and month */
+-    if ( d >= s - 236 ) {  /* last 8 months are regular */
++    if (d >= s - 236) {    /* last 8 months are regular */
+         d -= s - 236;
+         m = d * 2 / 59;
+-        d -= ( m * 59 + 1 ) / 2;
++        d -= (m * 59 + 1) / 2;
+         m += 4;
+-        if ( s > 365 && m <= 5 ) {  /* Adar of Meuberet */
++        if (s > 365 && m <= 5) {    /* Adar of Meuberet */
+             m += 8;
+         }
+     } else {
+         /* first 4 months have 117-119 days */
+         s = 114 + s % 10;
+         m = d * 4 / s;
+-        d -= ( m * s + 3 ) / 4;
++        d -= (m * s + 3) / 4;
+     }
+ 
+     h.hd_day = d;
+     h.hd_mon = m;
+     h.hd_year = y;
+-    return( &h );
++    return(&h);
+ }
+ 
+ /* constants, in 1/18th of minute */
+ static const int HOUR = 1080;
+-static const int DAY = 24*HOUR;
+-static const int WEEK = 7*DAY;
++static const int DAY = 24 * HOUR;
++static const int WEEK = 7 * DAY;
+ #define M(h,p) ((h)*HOUR+p)
+ #define MONTH (DAY+M(12,793))
+ 
+@@ -160,14 +160,14 @@ static const int WEEK = 7*DAY;
+  * @internal
+  * no. of days in y years
+  */
+-static int hebrewDaysElapsed( int y )
++static int hebrewDaysElapsed(int y)
+ {
+     int m, nm, dw, s, l;
+ 
+     l = y * 7 + 1;  // no. of leap months
+     m = y * 12 + l / 19;  // total no. of months
+     l %= 19;
+-    nm = m * MONTH + M( 1 + 6, 779 ); // molad new year 3744 (16BC) + 6 hours
++    nm = m * MONTH + M(1 + 6, 779);   // molad new year 3744 (16BC) + 6 hours
+     s = m * 28 + nm / DAY - 2;
+ 
+     nm %= WEEK;
+@@ -175,13 +175,13 @@ static int hebrewDaysElapsed( int y )
+     nm %= DAY;
+ 
+     // special cases of Molad Zaken
+-    if ( (l < 12 && dw == 3 && nm >= M( 9 + 6, 204 )) ||
+-            (l < 7 && dw == 2 && nm >= M( 15 + 6, 589 )) ) {
++    if ((l < 12 && dw == 3 && nm >= M(9 + 6, 204)) ||
++            (l < 7 && dw == 2 && nm >= M(15 + 6, 589))) {
+         s++, dw++;
+     }
+ 
+     /* ADU */
+-    if ( dw == 1 || dw == 4 || dw == 6 ) {
++    if (dw == 1 || dw == 4 || dw == 6) {
+         s++;
+     }
+     return s;
+@@ -191,44 +191,44 @@ static int hebrewDaysElapsed( int y )
+  * @internal
+  * true if long Cheshvan
+  */
+-static int long_cheshvan( int year )
++static int long_cheshvan(int year)
+ {
+     QDate first, last;
+     class h_date *gd;
+ 
+-    gd = hebrewToGregorian( year, 1, 1 );
+-    first.setYMD( gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1 );
++    gd = hebrewToGregorian(year, 1, 1);
++    first.setYMD(gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1);
+ 
+-    gd = hebrewToGregorian( year + 1, 1, 1 );
+-    last.setYMD( gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1 );
++    gd = hebrewToGregorian(year + 1, 1, 1);
++    last.setYMD(gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1);
+ 
+-    return ( first.daysTo( last ) % 10 == 5 );
++    return (first.daysTo(last) % 10 == 5);
+ }
+ 
+ /**
+  * @internal
+  * true if short Kislev
+  */
+-static int short_kislev( int year )
++static int short_kislev(int year)
+ {
+     QDate first, last;
+     class h_date * gd;
+ 
+-    gd = hebrewToGregorian( year, 1, 1 );
+-    first.setYMD( gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1 );
++    gd = hebrewToGregorian(year, 1, 1);
++    first.setYMD(gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1);
+ 
+-    gd = hebrewToGregorian( year + 1, 1, 1 );
+-    last.setYMD( gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1 );
++    gd = hebrewToGregorian(year + 1, 1, 1);
++    last.setYMD(gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1);
+ 
+-    return ( first.daysTo( last ) % 10 == 3 );
++    return (first.daysTo(last) % 10 == 3);
+ }
+ 
+ // Ok
+-static class h_date *toHebrew( const QDate &date )
++static class h_date *toHebrew(const QDate &date)
+ {
+     class h_date *sd;
+ 
+-    sd = gregorianToHebrew( date.year(), date.month(), date.day() );
++    sd = gregorianToHebrew(date.year(), date.month(), date.day());
+     ++sd->hd_mon;
+     ++sd->hd_day;
+ 
+@@ -238,38 +238,38 @@ static class h_date *toHebrew( const QDate &date )
+ class KCalendarSystemHebrewPrivate : public KCalendarSystemPrivate
+ {
+ public:
+-    explicit KCalendarSystemHebrewPrivate( KCalendarSystemHebrew *q );
++    explicit KCalendarSystemHebrewPrivate(KCalendarSystemHebrew *q);
+ 
+     virtual ~KCalendarSystemHebrewPrivate();
+ 
+     // Virtual methods each calendar system must re-implement
+     virtual KLocale::CalendarSystem calendarSystem() const;
+     virtual void loadDefaultEraList();
+-    virtual int monthsInYear( int year ) const;
+-    virtual int daysInMonth( int year, int month ) const;
+-    virtual int daysInYear( int year ) const;
++    virtual int monthsInYear(int year) const;
++    virtual int daysInMonth(int year, int month) const;
++    virtual int daysInYear(int year) const;
+     virtual int daysInWeek() const;
+-    virtual bool isLeapYear( int year ) const;
++    virtual bool isLeapYear(int year) const;
+     virtual bool hasLeapMonths() const;
+     virtual bool hasYearZero() const;
+     virtual int maxDaysInWeek() const;
+     virtual int maxMonthsInYear() const;
+     virtual int earliestValidYear() const;
+     virtual int latestValidYear() const;
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
+ 
+-    virtual int integerFromString( const QString &string, int maxLength, int &readLength ) const;
+-    virtual QString stringFromInteger( int number, int padWidth = 0, QChar padChar = QLatin1Char('0') ) const;
+-    virtual QString stringFromInteger( int number, int padWidth, QChar padChar, KLocale::DigitSet digitSet ) const;
++    virtual int integerFromString(const QString &string, int maxLength, int &readLength) const;
++    virtual QString stringFromInteger(int number, int padWidth = 0, QChar padChar = QLatin1Char('0')) const;
++    virtual QString stringFromInteger(int number, int padWidth, QChar padChar, KLocale::DigitSet digitSet) const;
+ 
+-    virtual int monthNumberToMonthIndex( int year, int month ) const;
++    virtual int monthNumberToMonthIndex(int year, int month) const;
+ };
+ 
+ // Shared d pointer base class definitions
+ 
+-KCalendarSystemHebrewPrivate::KCalendarSystemHebrewPrivate( KCalendarSystemHebrew *q )
+-                             :KCalendarSystemPrivate( q )
++KCalendarSystemHebrewPrivate::KCalendarSystemHebrewPrivate(KCalendarSystemHebrew *q)
++                            : KCalendarSystemPrivate(q)
+ {
+ }
+ 
+@@ -286,55 +286,55 @@ void KCalendarSystemHebrewPrivate::loadDefaultEraList()
+ {
+     QString name, shortName, format;
+     // Jewish Era, Anno Mundi, "Year of the World".
+-    name = i18nc( "Calendar Era: Hebrew Era, years > 0, LongFormat", "Anno Mundi" );
+-    shortName = i18nc( "Calendar Era: Hebrew Era, years > 0, ShortFormat", "AM" );
+-    format = i18nc( "(kdedt-format) Hebrew, AM, full era year format used for %EY, e.g. 2000 AM", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
++    name = i18nc("Calendar Era: Hebrew Era, years > 0, LongFormat", "Anno Mundi");
++    shortName = i18nc("Calendar Era: Hebrew Era, years > 0, ShortFormat", "AM");
++    format = i18nc("(kdedt-format) Hebrew, AM, full era year format used for %EY, e.g. 2000 AM", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
+ }
+ 
+-int KCalendarSystemHebrewPrivate::monthsInYear( int year ) const
++int KCalendarSystemHebrewPrivate::monthsInYear(int year) const
+ {
+-    if ( isLeapYear( year ) ) {
++    if (isLeapYear(year)) {
+         return 13;
+     } else {
+         return 12;
+     }
+ }
+ 
+-int KCalendarSystemHebrewPrivate::daysInMonth( int year, int month ) const
++int KCalendarSystemHebrewPrivate::daysInMonth(int year, int month) const
+ {
+-    int mi = monthNumberToMonthIndex( year, month );
++    int mi = monthNumberToMonthIndex(year, month);
+ 
+-    if ( mi == 2 && long_cheshvan( year ) ) {
++    if (mi == 2 && long_cheshvan(year)) {
+         return 30;
+     }
+ 
+-    if ( mi == 3 && short_kislev( year ) ) {
++    if (mi == 3 && short_kislev(year)) {
+         return 29;
+     }
+ 
+-    if ( mi % 2 == 0 ) {  // Even number months have 29 days
++    if (mi % 2 == 0) {    // Even number months have 29 days
+         return 29;
+     } else {  // Odd number months have 30 days
+         return 30;
+     }
+ }
+ 
+-int KCalendarSystemHebrewPrivate::daysInYear( int year ) const
++int KCalendarSystemHebrewPrivate::daysInYear(int year) const
+ {
+     int days;
+ 
+     // Get Regular year length
+-    if ( isLeapYear( year ) ) {  // Has 13 months
++    if (isLeapYear(year)) {      // Has 13 months
+         days = 384;
+     } else {  // Has 12 months
+         days = 354;
+     }
+ 
+     // Check if is Deficient or Abundant year
+-    if ( short_kislev( year ) ) { // Deficient
++    if (short_kislev(year)) {     // Deficient
+         days = days - 1;
+-    } else if ( long_cheshvan( year ) ) { // Abundant
++    } else if (long_cheshvan(year)) {     // Abundant
+         days = days + 1;
+     }
+ 
+@@ -346,9 +346,9 @@ int KCalendarSystemHebrewPrivate::daysInWeek() const
+     return 7;
+ }
+ 
+-bool KCalendarSystemHebrewPrivate::isLeapYear( int year ) const
++bool KCalendarSystemHebrewPrivate::isLeapYear(int year) const
+ {
+-    return ( ( ( ( 7 * year ) + 1 ) % 19 ) < 7 );
++    return ((((7 * year) + 1) % 19) < 7);
+ }
+ 
+ bool KCalendarSystemHebrewPrivate::hasLeapMonths() const
+@@ -381,9 +381,9 @@ int KCalendarSystemHebrewPrivate::latestValidYear() const
+     return 8119;
+ }
+ 
+-int KCalendarSystemHebrewPrivate::integerFromString( const QString &inputString, int maxLength, int &readLength ) const
++int KCalendarSystemHebrewPrivate::integerFromString(const QString &inputString, int maxLength, int &readLength) const
+ {
+-    if ( locale()->language() == QLatin1String("he") ) {
++    if (locale()->language() == QLatin1String("he")) {
+ 
+         // Hebrew numbers are composed of combinations of normal letters which have a numeric value.
+         // This is a non-positional system, the numeric values are simply added together, however
+@@ -420,18 +420,18 @@ int KCalendarSystemHebrewPrivate::integerFromString( const QString &inputString,
+         int result = 0;
+         int value = 0;
+ 
+-        for ( ; position < stringLength ; ++position ) {
++        for (; position < stringLength ; ++position) {
+ 
+             thisChar = string[position];
+ 
+-            if ( position + 1 < stringLength ) {
++            if (position + 1 < stringLength) {
+                 nextChar = string[position + 1];
+                 // Ignore any geresh or gershayim chars, we don't bother checking they are in the right place
+-                if ( nextChar == QLatin1Char('\'') ||  nextChar == QChar( 0x05F3 ) ||   // geresh
+-                     nextChar == QLatin1Char('\"') ||  nextChar == QChar( 0x05F4 ) ) {  // gershayim
+-                    string.remove( position + 1, 1 );
++                if (nextChar == QLatin1Char('\'') ||  nextChar == QChar(0x05F3) ||      // geresh
++                        nextChar == QLatin1Char('\"') ||  nextChar == QChar(0x05F4)) {     // gershayim
++                    string.remove(position + 1, 1);
+                     stringLength = string.length();
+-                    if ( position + 1 < stringLength ) {
++                    if (position + 1 < stringLength) {
+                         nextChar = string[position + 1];
+                     } else {
+                         nextChar = QChar();
+@@ -442,7 +442,7 @@ int KCalendarSystemHebrewPrivate::integerFromString( const QString &inputString,
+                 nextChar = QChar();
+             }
+ 
+-            if ( thisChar >= QChar( 0x05D0 ) && thisChar <= QChar( 0x05D7 ) ) {
++            if (thisChar >= QChar(0x05D0) && thisChar <= QChar(0x05D7)) {
+ 
+                 // If this char Alef to Het, 1 to 8, א to ח
+ 
+@@ -450,13 +450,13 @@ int KCalendarSystemHebrewPrivate::integerFromString( const QString &inputString,
+                 // then this char is a thousands digit
+                 // else this char is a ones digit
+ 
+-                if ( nextChar >= QChar( 0x05D0 ) && nextChar <= QChar( 0x05EA ) ) {
+-                    value = ( thisChar.unicode() - 0x05D0 + 1 ) * 1000;
++                if (nextChar >= QChar(0x05D0) && nextChar <= QChar(0x05EA)) {
++                    value = (thisChar.unicode() - 0x05D0 + 1) * 1000;
+                 } else {
+                     value = thisChar.unicode() - 0x05D0 + 1;
+                 }
+ 
+-            } else if ( thisChar == QChar( 0x05D8 ) ) {
++            } else if (thisChar == QChar(0x05D8)) {
+ 
+                 // If this char is Tet, 9, ט
+ 
+@@ -465,31 +465,31 @@ int KCalendarSystemHebrewPrivate::integerFromString( const QString &inputString,
+                 // and next char not 7 (Special case for 97 = 16)
+                 // then is a thousands digit else is 9
+ 
+-                if ( nextChar >= QChar( 0x05D0 ) && nextChar <= QChar( 0x05EA ) &&
+-                     nextChar != QChar( 0x05D5 ) && nextChar != QChar( 0x05D6 ) ) {
++                if (nextChar >= QChar(0x05D0) && nextChar <= QChar(0x05EA) &&
++                        nextChar != QChar(0x05D5) && nextChar != QChar(0x05D6)) {
+                     value = 9000;
+                 } else {
+                     value = 9;
+                 }
+ 
+-            } else if ( thisChar >= QChar( 0x05D9 ) && thisChar <= QChar( 0x05E6 ) ) {
++            } else if (thisChar >= QChar(0x05D9) && thisChar <= QChar(0x05E6)) {
+ 
+                 // If this char Yod to Tsadi, 10 to 90, י to צ
+ 
+                 // If next char is a tens or hundreds char then is an error
+                 // Else is a tens digit
+ 
+-                if ( nextChar >= QChar( 0x05D9 ) ) {
++                if (nextChar >= QChar(0x05D9)) {
+                     return -1;
+                 } else {
+                     value = decadeValues[thisChar.unicode() - 0x05D9];
+                 }
+ 
+-            } else if ( thisChar >= QChar( 0x05E7 ) && thisChar <= QChar( 0x05EA ) ) {
++            } else if (thisChar >= QChar(0x05E7) && thisChar <= QChar(0x05EA)) {
+ 
+                 // If this char Qof to Tav, 100 to 400, ק to ת, then is hundreds digit
+ 
+-                value = ( thisChar.unicode() - 0x05E7 + 1 ) * 100;
++                value = (thisChar.unicode() - 0x05E7 + 1) * 100;
+ 
+             } else {
+ 
+@@ -508,18 +508,18 @@ int KCalendarSystemHebrewPrivate::integerFromString( const QString &inputString,
+         return result;
+ 
+     } else {
+-        return KCalendarSystemPrivate::integerFromString( inputString, maxLength, readLength );
++        return KCalendarSystemPrivate::integerFromString(inputString, maxLength, readLength);
+     }
+ }
+ 
+-QString KCalendarSystemHebrewPrivate::stringFromInteger( int number, int padWidth, QChar padChar ) const
++QString KCalendarSystemHebrewPrivate::stringFromInteger(int number, int padWidth, QChar padChar) const
+ {
+-    return KCalendarSystemPrivate::stringFromInteger( number, padWidth, padChar );
++    return KCalendarSystemPrivate::stringFromInteger(number, padWidth, padChar);
+ }
+ 
+-QString KCalendarSystemHebrewPrivate::stringFromInteger( int number, int padWidth, QChar padChar, KLocale::DigitSet digitSet ) const
++QString KCalendarSystemHebrewPrivate::stringFromInteger(int number, int padWidth, QChar padChar, KLocale::DigitSet digitSet) const
+ {
+-    if ( locale()->language() == QLatin1String("he") ) {
++    if (locale()->language() == QLatin1String("he")) {
+ 
+         // Hebrew numbers are composed of combinations of normal letters which have a numeric value.
+         // This is a non-positional system, the numeric values are simply added together, however
+@@ -546,8 +546,8 @@ QString KCalendarSystemHebrewPrivate::stringFromInteger( int number, int padWidt
+         */
+ 
+         const QChar decade[] = {
+-        //  Tet = ט,    Yod = י,    Kaf = כ,    Lamed = ל,  Mem = מ
+-        //  Nun = נ,    Samekh = ס, Ayin = ע,   Pe = פ,     Tsadi = צ
++            //  Tet = ט,    Yod = י,    Kaf = כ,    Lamed = ל,  Mem = מ
++            //  Nun = נ,    Samekh = ס, Ayin = ע,   Pe = פ,     Tsadi = צ
+             0x05D8,     0x05D9,     0x05DB,     0x05DC,     0x05DE,
+             0x05E0,     0x05E1,     0x05E2,     0x05E4,     0x05E6
+         };
+@@ -555,15 +555,15 @@ QString KCalendarSystemHebrewPrivate::stringFromInteger( int number, int padWidt
+         QString result;
+ 
+         // We have no rules for coping with numbers outside this range
+-        if ( number < 1 || number > 9999 ) {
+-            return KCalendarSystemPrivate::stringFromInteger( number, padWidth, padChar, digitSet );
++        if (number < 1 || number > 9999) {
++            return KCalendarSystemPrivate::stringFromInteger(number, padWidth, padChar, digitSet);
+         }
+ 
+         // Translate the thousands digit, just uses letter for number 1..9 ( א to ט, Alef to Tet )
+         // Years 5001-5999 do not have the thousands by convention
+-        if ( number >= 1000 ) {
+-            if ( number <= 5000 || number >= 6000 ) {
+-                result += QChar( 0x05D0 - 1 + number / 1000 );  // Alef א to Tet ט
++        if (number >= 1000) {
++            if (number <= 5000 || number >= 6000) {
++                result += QChar(0x05D0 - 1 + number / 1000);    // Alef א to Tet ט
+             }
+             number %= 1000;
+         }
+@@ -571,28 +571,28 @@ QString KCalendarSystemHebrewPrivate::stringFromInteger( int number, int padWidt
+         // Translate the hundreds digit
+         // Use traditional method where we only have letters assigned values for 100, 200, 300 and 400
+         // so may need to repeat 400 twice to make up the required number
+-        if ( number >= 100 ) {
+-            while ( number >= 500 ) {
+-                result += QChar( 0x05EA );  // Tav = ת
++        if (number >= 100) {
++            while (number >= 500) {
++                result += QChar(0x05EA);    // Tav = ת
+                 number -= 400;
+             }
+-            result += QChar( 0x05E7 - 1 + number / 100 ); // Qof = ק to xxx
++            result += QChar(0x05E7 - 1 + number / 100);   // Qof = ק to xxx
+             number %= 100;
+         }
+ 
+         // Translate the tens digit
+         // The numbers 15 and 16 translate to letters that spell out the name of God which is
+         // forbidden, so require special treatment where 15 = 9 + 6 and 1 = 9 + 7.
+-        if ( number >= 10 ) {
+-            if ( number == 15 || number == 16 )
++        if (number >= 10) {
++            if (number == 15 || number == 16)
+                 number -= 9;
+             result += decade[number / 10];
+             number %= 10;
+         }
+ 
+         // Translate the ones digit, uses letter for number 1..9 ( א to ט, Alef to Tet )
+-        if ( number > 0 ) {
+-            result += QChar( 0x05D0 - 1 + number );  // Alef = א to xxx
++        if (number > 0) {
++            result += QChar(0x05D0 - 1 + number);    // Alef = א to xxx
+         }
+ 
+         // When used in a string with mixed names and numbers the numbers need special chars to
+@@ -601,27 +601,27 @@ QString KCalendarSystemHebrewPrivate::stringFromInteger( int number, int padWidt
+         // single quote for convenience.
+         // Multiple digit numbers have a gershayim symbol ? (Unicode = 0x05F4) as second-to-last
+         // char, but we use double quote for convenience.
+-        if ( result.length() == 1 ) {
++        if (result.length() == 1) {
+             result += QLatin1Char('\'');
+         } else {
+-            result.insert( result.length() - 1, QLatin1Char('\"') );
++            result.insert(result.length() - 1, QLatin1Char('\"'));
+         }
+ 
+         return result;
+ 
+     } else {
+-        return KCalendarSystemPrivate::stringFromInteger( number, padWidth, padChar, digitSet );
++        return KCalendarSystemPrivate::stringFromInteger(number, padWidth, padChar, digitSet);
+     }
+ }
+ 
+-int KCalendarSystemHebrewPrivate::monthNumberToMonthIndex( int year, int month ) const
++int KCalendarSystemHebrewPrivate::monthNumberToMonthIndex(int year, int month) const
+ {
+-    if ( isLeapYear( year ) ) {
+-        if ( month == 6 ) {
++    if (isLeapYear(year)) {
++        if (month == 6) {
+             return 13;        // Adar I
+-        } else if ( month == 7 ) {
++        } else if (month == 7) {
+             return 14;        // Adar II
+-        } else if ( month > 7 ) {
++        } else if (month > 7) {
+             return month - 1; // Because of Adar II
+         }
+     }
+@@ -629,181 +629,181 @@ int KCalendarSystemHebrewPrivate::monthNumberToMonthIndex( int year, int month )
+     return month;
+ }
+ 
+-QString KCalendarSystemHebrewPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
++QString KCalendarSystemHebrewPrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
+ {
+     // We must map month number to month index
+-    int monthIndex = monthNumberToMonthIndex( year, month );
++    int monthIndex = monthNumberToMonthIndex(year, month);
+ 
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( monthIndex ) {
++    if (format == KLocale::NarrowName) {
++        switch (monthIndex) {
+         case 1:
+-            return ki18nc( "Hebrew month 1 - KLocale::NarrowName",  "T" ).toString( locale() );
++            return ki18nc("Hebrew month 1 - KLocale::NarrowName",  "T").toString(locale());
+         case 2:
+-            return ki18nc( "Hebrew month 2 - KLocale::NarrowName",  "H" ).toString( locale() );
++            return ki18nc("Hebrew month 2 - KLocale::NarrowName",  "H").toString(locale());
+         case 3:
+-            return ki18nc( "Hebrew month 3 - KLocale::NarrowName",  "K" ).toString( locale() );
++            return ki18nc("Hebrew month 3 - KLocale::NarrowName",  "K").toString(locale());
+         case 4:
+-            return ki18nc( "Hebrew month 4 - KLocale::NarrowName",  "T" ).toString( locale() );
++            return ki18nc("Hebrew month 4 - KLocale::NarrowName",  "T").toString(locale());
+         case 5:
+-            return ki18nc( "Hebrew month 5 - KLocale::NarrowName",  "S" ).toString( locale() );
++            return ki18nc("Hebrew month 5 - KLocale::NarrowName",  "S").toString(locale());
+         case 6:
+-            return ki18nc( "Hebrew month 6 - KLocale::NarrowName",  "A" ).toString( locale() );
++            return ki18nc("Hebrew month 6 - KLocale::NarrowName",  "A").toString(locale());
+         case 7:
+-            return ki18nc( "Hebrew month 7 - KLocale::NarrowName",  "N" ).toString( locale() );
++            return ki18nc("Hebrew month 7 - KLocale::NarrowName",  "N").toString(locale());
+         case 8:
+-            return ki18nc( "Hebrew month 8 - KLocale::NarrowName",  "I" ).toString( locale() );
++            return ki18nc("Hebrew month 8 - KLocale::NarrowName",  "I").toString(locale());
+         case 9:
+-            return ki18nc( "Hebrew month 9 - KLocale::NarrowName",  "S" ).toString( locale() );
++            return ki18nc("Hebrew month 9 - KLocale::NarrowName",  "S").toString(locale());
+         case 10:
+-            return ki18nc( "Hebrew month 10 - KLocale::NarrowName", "T" ).toString( locale() );
++            return ki18nc("Hebrew month 10 - KLocale::NarrowName", "T").toString(locale());
+         case 11:
+-            return ki18nc( "Hebrew month 11 - KLocale::NarrowName", "A" ).toString( locale() );
++            return ki18nc("Hebrew month 11 - KLocale::NarrowName", "A").toString(locale());
+         case 12:
+-            return ki18nc( "Hebrew month 12 - KLocale::NarrowName", "E" ).toString( locale() );
++            return ki18nc("Hebrew month 12 - KLocale::NarrowName", "E").toString(locale());
+         case 13:
+-            return ki18nc( "Hebrew month 13 - KLocale::NarrowName", "A" ).toString( locale() );
++            return ki18nc("Hebrew month 13 - KLocale::NarrowName", "A").toString(locale());
+         case 14:
+-            return ki18nc( "Hebrew month 14 - KLocale::NarrowName", "A" ).toString( locale() );
++            return ki18nc("Hebrew month 14 - KLocale::NarrowName", "A").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && possessive ) {
+-        switch ( monthIndex ) {
++    if (format == KLocale::ShortName && possessive) {
++        switch (monthIndex) {
+         case 1:
+-            return ki18nc( "Hebrew month 1 - KLocale::ShortName Possessive",  "of Tis" ).toString( locale() );
++            return ki18nc("Hebrew month 1 - KLocale::ShortName Possessive",  "of Tis").toString(locale());
+         case 2:
+-            return ki18nc( "Hebrew month 2 - KLocale::ShortName Possessive",  "of Hes" ).toString( locale() );
++            return ki18nc("Hebrew month 2 - KLocale::ShortName Possessive",  "of Hes").toString(locale());
+         case 3:
+-            return ki18nc( "Hebrew month 3 - KLocale::ShortName Possessive",  "of Kis" ).toString( locale() );
++            return ki18nc("Hebrew month 3 - KLocale::ShortName Possessive",  "of Kis").toString(locale());
+         case 4:
+-            return ki18nc( "Hebrew month 4 - KLocale::ShortName Possessive",  "of Tev" ).toString( locale() );
++            return ki18nc("Hebrew month 4 - KLocale::ShortName Possessive",  "of Tev").toString(locale());
+         case 5:
+-            return ki18nc( "Hebrew month 5 - KLocale::ShortName Possessive",  "of Shv" ).toString( locale() );
++            return ki18nc("Hebrew month 5 - KLocale::ShortName Possessive",  "of Shv").toString(locale());
+         case 6:
+-            return ki18nc( "Hebrew month 6 - KLocale::ShortName Possessive",  "of Ada" ).toString( locale() );
++            return ki18nc("Hebrew month 6 - KLocale::ShortName Possessive",  "of Ada").toString(locale());
+         case 7:
+-            return ki18nc( "Hebrew month 7 - KLocale::ShortName Possessive",  "of Nis" ).toString( locale() );
++            return ki18nc("Hebrew month 7 - KLocale::ShortName Possessive",  "of Nis").toString(locale());
+         case 8:
+-            return ki18nc( "Hebrew month 8 - KLocale::ShortName Possessive",  "of Iya" ).toString( locale() );
++            return ki18nc("Hebrew month 8 - KLocale::ShortName Possessive",  "of Iya").toString(locale());
+         case 9:
+-            return ki18nc( "Hebrew month 9 - KLocale::ShortName Possessive",  "of Siv" ).toString( locale() );
++            return ki18nc("Hebrew month 9 - KLocale::ShortName Possessive",  "of Siv").toString(locale());
+         case 10:
+-            return ki18nc( "Hebrew month 10 - KLocale::ShortName Possessive", "of Tam" ).toString( locale() );
++            return ki18nc("Hebrew month 10 - KLocale::ShortName Possessive", "of Tam").toString(locale());
+         case 11:
+-            return ki18nc( "Hebrew month 11 - KLocale::ShortName Possessive", "of Av"  ).toString( locale() );
++            return ki18nc("Hebrew month 11 - KLocale::ShortName Possessive", "of Av").toString(locale());
+         case 12:
+-            return ki18nc( "Hebrew month 12 - KLocale::ShortName Possessive", "of Elu" ).toString( locale() );
++            return ki18nc("Hebrew month 12 - KLocale::ShortName Possessive", "of Elu").toString(locale());
+         case 13:
+-            return ki18nc( "Hebrew month 13 - KLocale::ShortName Possessive", "of Ad1" ).toString( locale() );
++            return ki18nc("Hebrew month 13 - KLocale::ShortName Possessive", "of Ad1").toString(locale());
+         case 14:
+-            return ki18nc( "Hebrew month 14 - KLocale::ShortName Possessive", "of Ad2" ).toString( locale() );
++            return ki18nc("Hebrew month 14 - KLocale::ShortName Possessive", "of Ad2").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && !possessive ) {
+-        switch ( monthIndex ) {
++    if (format == KLocale::ShortName && !possessive) {
++        switch (monthIndex) {
+         case 1:
+-            return ki18nc( "Hebrew month 1 - KLocale::ShortName",  "Tis" ).toString( locale() );
++            return ki18nc("Hebrew month 1 - KLocale::ShortName",  "Tis").toString(locale());
+         case 2:
+-            return ki18nc( "Hebrew month 2 - KLocale::ShortName",  "Hes" ).toString( locale() );
++            return ki18nc("Hebrew month 2 - KLocale::ShortName",  "Hes").toString(locale());
+         case 3:
+-            return ki18nc( "Hebrew month 3 - KLocale::ShortName",  "Kis" ).toString( locale() );
++            return ki18nc("Hebrew month 3 - KLocale::ShortName",  "Kis").toString(locale());
+         case 4:
+-            return ki18nc( "Hebrew month 4 - KLocale::ShortName",  "Tev" ).toString( locale() );
++            return ki18nc("Hebrew month 4 - KLocale::ShortName",  "Tev").toString(locale());
+         case 5:
+-            return ki18nc( "Hebrew month 5 - KLocale::ShortName",  "Shv" ).toString( locale() );
++            return ki18nc("Hebrew month 5 - KLocale::ShortName",  "Shv").toString(locale());
+         case 6:
+-            return ki18nc( "Hebrew month 6 - KLocale::ShortName",  "Ada" ).toString( locale() );
++            return ki18nc("Hebrew month 6 - KLocale::ShortName",  "Ada").toString(locale());
+         case 7:
+-            return ki18nc( "Hebrew month 7 - KLocale::ShortName",  "Nis" ).toString( locale() );
++            return ki18nc("Hebrew month 7 - KLocale::ShortName",  "Nis").toString(locale());
+         case 8:
+-            return ki18nc( "Hebrew month 8 - KLocale::ShortName",  "Iya" ).toString( locale() );
++            return ki18nc("Hebrew month 8 - KLocale::ShortName",  "Iya").toString(locale());
+         case 9:
+-            return ki18nc( "Hebrew month 9 - KLocale::ShortName",  "Siv" ).toString( locale() );
++            return ki18nc("Hebrew month 9 - KLocale::ShortName",  "Siv").toString(locale());
+         case 10:
+-            return ki18nc( "Hebrew month 10 - KLocale::ShortName", "Tam" ).toString( locale() );
++            return ki18nc("Hebrew month 10 - KLocale::ShortName", "Tam").toString(locale());
+         case 11:
+-            return ki18nc( "Hebrew month 11 - KLocale::ShortName", "Av"  ).toString( locale() );
++            return ki18nc("Hebrew month 11 - KLocale::ShortName", "Av").toString(locale());
+         case 12:
+-            return ki18nc( "Hebrew month 12 - KLocale::ShortName", "Elu" ).toString( locale() );
++            return ki18nc("Hebrew month 12 - KLocale::ShortName", "Elu").toString(locale());
+         case 13:
+-            return ki18nc( "Hebrew month 13 - KLocale::ShortName", "Ad1" ).toString( locale() );
++            return ki18nc("Hebrew month 13 - KLocale::ShortName", "Ad1").toString(locale());
+         case 14:
+-            return ki18nc( "Hebrew month 14 - KLocale::ShortName", "Ad2" ).toString( locale() );
++            return ki18nc("Hebrew month 14 - KLocale::ShortName", "Ad2").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::LongName && possessive ) {
+-        switch ( monthIndex ) {
++    if (format == KLocale::LongName && possessive) {
++        switch (monthIndex) {
+         case 1:
+-            return ki18nc( "Hebrew month 1 - KLocale::LongName Possessive",  "of Tishrey" ).toString( locale() );
++            return ki18nc("Hebrew month 1 - KLocale::LongName Possessive",  "of Tishrey").toString(locale());
+         case 2:
+-            return ki18nc( "Hebrew month 2 - KLocale::LongName Possessive",  "of Heshvan" ).toString( locale() );
++            return ki18nc("Hebrew month 2 - KLocale::LongName Possessive",  "of Heshvan").toString(locale());
+         case 3:
+-            return ki18nc( "Hebrew month 3 - KLocale::LongName Possessive",  "of Kislev"  ).toString( locale() );
++            return ki18nc("Hebrew month 3 - KLocale::LongName Possessive",  "of Kislev").toString(locale());
+         case 4:
+-            return ki18nc( "Hebrew month 4 - KLocale::LongName Possessive",  "of Tevet"   ).toString( locale() );
++            return ki18nc("Hebrew month 4 - KLocale::LongName Possessive",  "of Tevet").toString(locale());
+         case 5:
+-            return ki18nc( "Hebrew month 5 - KLocale::LongName Possessive",  "of Shvat"   ).toString( locale() );
++            return ki18nc("Hebrew month 5 - KLocale::LongName Possessive",  "of Shvat").toString(locale());
+         case 6:
+-            return ki18nc( "Hebrew month 6 - KLocale::LongName Possessive",  "of Adar"    ).toString( locale() );
++            return ki18nc("Hebrew month 6 - KLocale::LongName Possessive",  "of Adar").toString(locale());
+         case 7:
+-            return ki18nc( "Hebrew month 7 - KLocale::LongName Possessive",  "of Nisan"   ).toString( locale() );
++            return ki18nc("Hebrew month 7 - KLocale::LongName Possessive",  "of Nisan").toString(locale());
+         case 8:
+-            return ki18nc( "Hebrew month 8 - KLocale::LongName Possessive",  "of Iyar"    ).toString( locale() );
++            return ki18nc("Hebrew month 8 - KLocale::LongName Possessive",  "of Iyar").toString(locale());
+         case 9:
+-            return ki18nc( "Hebrew month 9 - KLocale::LongName Possessive",  "of Sivan"   ).toString( locale() );
++            return ki18nc("Hebrew month 9 - KLocale::LongName Possessive",  "of Sivan").toString(locale());
+         case 10:
+-            return ki18nc( "Hebrew month 10 - KLocale::LongName Possessive", "of Tamuz"   ).toString( locale() );
++            return ki18nc("Hebrew month 10 - KLocale::LongName Possessive", "of Tamuz").toString(locale());
+         case 11:
+-            return ki18nc( "Hebrew month 11 - KLocale::LongName Possessive", "of Av"      ).toString( locale() );
++            return ki18nc("Hebrew month 11 - KLocale::LongName Possessive", "of Av").toString(locale());
+         case 12:
+-            return ki18nc( "Hebrew month 12 - KLocale::LongName Possessive", "of Elul"    ).toString( locale() );
++            return ki18nc("Hebrew month 12 - KLocale::LongName Possessive", "of Elul").toString(locale());
+         case 13:
+-            return ki18nc( "Hebrew month 13 - KLocale::LongName Possessive", "of Adar I"  ).toString( locale() );
++            return ki18nc("Hebrew month 13 - KLocale::LongName Possessive", "of Adar I").toString(locale());
+         case 14:
+-            return ki18nc( "Hebrew month 14 - KLocale::LongName Possessive", "of Adar II" ).toString( locale() );
++            return ki18nc("Hebrew month 14 - KLocale::LongName Possessive", "of Adar II").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+     // Default to LongName
+-    switch ( monthIndex ) {
++    switch (monthIndex) {
+     case 1:
+-        return ki18nc( "Hebrew month 1 - KLocale::LongName",  "Tishrey" ).toString( locale() );
++        return ki18nc("Hebrew month 1 - KLocale::LongName",  "Tishrey").toString(locale());
+     case 2:
+-        return ki18nc( "Hebrew month 2 - KLocale::LongName",  "Heshvan" ).toString( locale() );
++        return ki18nc("Hebrew month 2 - KLocale::LongName",  "Heshvan").toString(locale());
+     case 3:
+-        return ki18nc( "Hebrew month 3 - KLocale::LongName",  "Kislev"  ).toString( locale() );
++        return ki18nc("Hebrew month 3 - KLocale::LongName",  "Kislev").toString(locale());
+     case 4:
+-        return ki18nc( "Hebrew month 4 - KLocale::LongName",  "Tevet"   ).toString( locale() );
++        return ki18nc("Hebrew month 4 - KLocale::LongName",  "Tevet").toString(locale());
+     case 5:
+-        return ki18nc( "Hebrew month 5 - KLocale::LongName",  "Shvat"   ).toString( locale() );
++        return ki18nc("Hebrew month 5 - KLocale::LongName",  "Shvat").toString(locale());
+     case 6:
+-        return ki18nc( "Hebrew month 6 - KLocale::LongName",  "Adar"    ).toString( locale() );
++        return ki18nc("Hebrew month 6 - KLocale::LongName",  "Adar").toString(locale());
+     case 7:
+-        return ki18nc( "Hebrew month 7 - KLocale::LongName",  "Nisan"   ).toString( locale() );
++        return ki18nc("Hebrew month 7 - KLocale::LongName",  "Nisan").toString(locale());
+     case 8:
+-        return ki18nc( "Hebrew month 8 - KLocale::LongName",  "Iyar"    ).toString( locale() );
++        return ki18nc("Hebrew month 8 - KLocale::LongName",  "Iyar").toString(locale());
+     case 9:
+-        return ki18nc( "Hebrew month 9 - KLocale::LongName",  "Sivan"   ).toString( locale() );
++        return ki18nc("Hebrew month 9 - KLocale::LongName",  "Sivan").toString(locale());
+     case 10:
+-        return ki18nc( "Hebrew month 10 - KLocale::LongName", "Tamuz"   ).toString( locale() );
++        return ki18nc("Hebrew month 10 - KLocale::LongName", "Tamuz").toString(locale());
+     case 11:
+-        return ki18nc( "Hebrew month 11 - KLocale::LongName", "Av"      ).toString( locale() );
++        return ki18nc("Hebrew month 11 - KLocale::LongName", "Av").toString(locale());
+     case 12:
+-        return ki18nc( "Hebrew month 12 - KLocale::LongName", "Elul"    ).toString( locale() );
++        return ki18nc("Hebrew month 12 - KLocale::LongName", "Elul").toString(locale());
+     case 13:
+-        return ki18nc( "Hebrew month 13 - KLocale::LongName", "Adar I"  ).toString( locale() );
++        return ki18nc("Hebrew month 13 - KLocale::LongName", "Adar I").toString(locale());
+     case 14:
+-        return ki18nc( "Hebrew month 14 - KLocale::LongName", "Adar II" ).toString( locale() );
++        return ki18nc("Hebrew month 14 - KLocale::LongName", "Adar II").toString(locale());
+     default:
+         return QString();
+     }
+@@ -812,106 +812,102 @@ QString KCalendarSystemHebrewPrivate::monthName( int month, int year, KLocale::D
+ // Use Western day names for now as that's what the old version did,
+ // but wouldn't it be better to use the right Hebrew names like Shabbat?
+ // Could make it switchable by adding new enums to WeekDayFormat, e.g. ShortNameWestern?
+-QString KCalendarSystemHebrewPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
++QString KCalendarSystemHebrewPrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
+ {
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::NarrowName) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Gregorian weekday 1 - KLocale::NarrowName ", "M" ).toString( locale() );
++            return ki18nc("Gregorian weekday 1 - KLocale::NarrowName ", "M").toString(locale());
+         case 2:
+-            return ki18nc( "Gregorian weekday 2 - KLocale::NarrowName ", "T" ).toString( locale() );
++            return ki18nc("Gregorian weekday 2 - KLocale::NarrowName ", "T").toString(locale());
+         case 3:
+-            return ki18nc( "Gregorian weekday 3 - KLocale::NarrowName ", "W" ).toString( locale() );
++            return ki18nc("Gregorian weekday 3 - KLocale::NarrowName ", "W").toString(locale());
+         case 4:
+-            return ki18nc( "Gregorian weekday 4 - KLocale::NarrowName ", "T" ).toString( locale() );
++            return ki18nc("Gregorian weekday 4 - KLocale::NarrowName ", "T").toString(locale());
+         case 5:
+-            return ki18nc( "Gregorian weekday 5 - KLocale::NarrowName ", "F" ).toString( locale() );
++            return ki18nc("Gregorian weekday 5 - KLocale::NarrowName ", "F").toString(locale());
+         case 6:
+-            return ki18nc( "Gregorian weekday 6 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Gregorian weekday 6 - KLocale::NarrowName ", "S").toString(locale());
+         case 7:
+-            return ki18nc( "Gregorian weekday 7 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Gregorian weekday 7 - KLocale::NarrowName ", "S").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName  || format == KLocale:: ShortNumber ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::ShortName  || format == KLocale:: ShortNumber) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Gregorian weekday 1 - KLocale::ShortName", "Mon" ).toString( locale() );
++            return ki18nc("Gregorian weekday 1 - KLocale::ShortName", "Mon").toString(locale());
+         case 2:
+-            return ki18nc( "Gregorian weekday 2 - KLocale::ShortName", "Tue" ).toString( locale() );
++            return ki18nc("Gregorian weekday 2 - KLocale::ShortName", "Tue").toString(locale());
+         case 3:
+-            return ki18nc( "Gregorian weekday 3 - KLocale::ShortName", "Wed" ).toString( locale() );
++            return ki18nc("Gregorian weekday 3 - KLocale::ShortName", "Wed").toString(locale());
+         case 4:
+-            return ki18nc( "Gregorian weekday 4 - KLocale::ShortName", "Thu" ).toString( locale() );
++            return ki18nc("Gregorian weekday 4 - KLocale::ShortName", "Thu").toString(locale());
+         case 5:
+-            return ki18nc( "Gregorian weekday 5 - KLocale::ShortName", "Fri" ).toString( locale() );
++            return ki18nc("Gregorian weekday 5 - KLocale::ShortName", "Fri").toString(locale());
+         case 6:
+-            return ki18nc( "Gregorian weekday 6 - KLocale::ShortName", "Sat" ).toString( locale() );
++            return ki18nc("Gregorian weekday 6 - KLocale::ShortName", "Sat").toString(locale());
+         case 7:
+-            return ki18nc( "Gregorian weekday 7 - KLocale::ShortName", "Sun" ).toString( locale() );
++            return ki18nc("Gregorian weekday 7 - KLocale::ShortName", "Sun").toString(locale());
+         default: return QString();
+         }
+     }
+ 
+-    switch ( weekDay ) {
++    switch (weekDay) {
+     case 1:
+-        return ki18nc( "Gregorian weekday 1 - KLocale::LongName", "Monday"    ).toString( locale() );
++        return ki18nc("Gregorian weekday 1 - KLocale::LongName", "Monday").toString(locale());
+     case 2:
+-        return ki18nc( "Gregorian weekday 2 - KLocale::LongName", "Tuesday"   ).toString( locale() );
++        return ki18nc("Gregorian weekday 2 - KLocale::LongName", "Tuesday").toString(locale());
+     case 3:
+-        return ki18nc( "Gregorian weekday 3 - KLocale::LongName", "Wednesday" ).toString( locale() );
++        return ki18nc("Gregorian weekday 3 - KLocale::LongName", "Wednesday").toString(locale());
+     case 4:
+-        return ki18nc( "Gregorian weekday 4 - KLocale::LongName", "Thursday"  ).toString( locale() );
++        return ki18nc("Gregorian weekday 4 - KLocale::LongName", "Thursday").toString(locale());
+     case 5:
+-        return ki18nc( "Gregorian weekday 5 - KLocale::LongName", "Friday"    ).toString( locale() );
++        return ki18nc("Gregorian weekday 5 - KLocale::LongName", "Friday").toString(locale());
+     case 6:
+-        return ki18nc( "Gregorian weekday 6 - KLocale::LongName", "Saturday"  ).toString( locale() );
++        return ki18nc("Gregorian weekday 6 - KLocale::LongName", "Saturday").toString(locale());
+     case 7:
+-        return ki18nc( "Gregorian weekday 7 - KLocale::LongName", "Sunday"    ).toString( locale() );
++        return ki18nc("Gregorian weekday 7 - KLocale::LongName", "Sunday").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+ 
+-KCalendarSystemHebrew::KCalendarSystemHebrew( const KLocale *locale )
+-                     : KCalendarSystem( *new KCalendarSystemHebrewPrivate( this ), KSharedConfig::Ptr(), locale ),
+-                       dont_use( 0 )
++KCalendarSystemHebrew::KCalendarSystemHebrew(const KLocale *locale)
++                     : KCalendarSystem(*new KCalendarSystemHebrewPrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemHebrew::KCalendarSystemHebrew( const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystem( *new KCalendarSystemHebrewPrivate( this ), config, locale ),
+-                       dont_use( 0 )
++KCalendarSystemHebrew::KCalendarSystemHebrew(const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystem(*new KCalendarSystemHebrewPrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemHebrew::KCalendarSystemHebrew( KCalendarSystemHebrewPrivate &dd,
+-                                              const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystem( dd, config, locale ),
+-                       dont_use( 0 )
++KCalendarSystemHebrew::KCalendarSystemHebrew(KCalendarSystemHebrewPrivate &dd,
++                                             const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystem(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemHebrew::~KCalendarSystemHebrew()
+ {
+-    delete dont_use;
+ }
+ 
+ QString KCalendarSystemHebrew::calendarType() const
+ {
+-    return QLatin1String( "hebrew" );
++    return QLatin1String("hebrew");
+ }
+ 
+ QDate KCalendarSystemHebrew::epoch() const
+ {
+     // Hebrew 0001-01-01 (Gregorian -3760-09-07, Julian -3761-10-07)
+-    return QDate::fromJulianDay( 347998 );
++    return QDate::fromJulianDay(347998);
+ }
+ 
+ QDate KCalendarSystemHebrew::earliestValidDate() const
+@@ -919,219 +915,88 @@ QDate KCalendarSystemHebrew::earliestValidDate() const
+     // Current formulas using direct Gregorian <-> Hebrew conversion using Qt
+     // will return invalid results prior to the Gregorian switchover in 1582
+     // Next valid Hebrew year starts 5344-01-01 (Gregorian 1583-09-17)
+-    return QDate::fromJulianDay( 2299498 );
++    return QDate::fromJulianDay(2299498);
+ }
+ 
+ QDate KCalendarSystemHebrew::latestValidDate() const
+ {
+     // Testing shows current formulas only work up to 8119-13-29 (Gregorian 4359-10-07)
+-    return QDate::fromJulianDay( 3313431 );
++    return QDate::fromJulianDay(3313431);
+ }
+ 
+-bool KCalendarSystemHebrew::isValid( int year, int month, int day ) const
++bool KCalendarSystemHebrew::isValid(int year, int month, int day) const
+ {
+-    return KCalendarSystem::isValid( year, month, day );
++    return KCalendarSystem::isValid(year, month, day);
+ }
+ 
+-bool KCalendarSystemHebrew::isValid( const QDate &date ) const
++bool KCalendarSystemHebrew::isValid(const QDate &date) const
+ {
+-    return KCalendarSystem::isValid( date );
++    return KCalendarSystem::isValid(date);
+ }
+ 
+-bool KCalendarSystemHebrew::setDate( QDate &date, int year, int month, int day ) const
++int KCalendarSystemHebrew::dayOfWeek(const QDate &date) const
+ {
+-    return KCalendarSystem::setDate( date, year, month, day );
+-}
+-
+-// Deprecated
+-bool KCalendarSystemHebrew::setYMD( QDate &date, int year, int month, int day ) const
+-{
+-    return KCalendarSystem::setYMD( date, year, month, day );
+-}
+-
+-int KCalendarSystemHebrew::year( const QDate &date ) const
+-{
+-    return KCalendarSystem::year( date );
+-}
+-
+-int KCalendarSystemHebrew::month( const QDate &date ) const
+-{
+-    return KCalendarSystem::month( date );
+-}
+-
+-int KCalendarSystemHebrew::day( const QDate &date ) const
+-{
+-    return KCalendarSystem::day( date );
+-}
+-
+-QDate KCalendarSystemHebrew::addYears( const QDate &date, int nyears ) const
+-{
+-    return KCalendarSystem::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemHebrew::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystem::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemHebrew::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystem::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemHebrew::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::monthsInYear( date );
+-}
+-
+-int KCalendarSystemHebrew::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::weeksInYear( date );
+-}
+-
+-int KCalendarSystemHebrew::weeksInYear( int year ) const
+-{
+-    return KCalendarSystem::weeksInYear( year );
+-}
+-
+-int KCalendarSystemHebrew::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInYear( date );
+-}
+-
+-int KCalendarSystemHebrew::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInMonth( date );
+-}
+-
+-int KCalendarSystemHebrew::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInWeek( date );
+-}
+-
+-int KCalendarSystemHebrew::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfYear( date );
+-}
+-
+-int KCalendarSystemHebrew::dayOfWeek( const QDate &date ) const
+-{
+-    class h_date * sd = toHebrew( date );
+-    if ( sd->hd_dw == 0 ) {
++    class h_date * sd = toHebrew(date);
++    if (sd->hd_dw == 0) {
+         return 7;
+     } else {
+-        return ( sd->hd_dw );
++        return (sd->hd_dw);
+     }
+ }
+ 
+-int KCalendarSystemHebrew::weekNumber( const QDate &date, int *yearNum ) const
+-{
+-    return KCalendarSystem::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemHebrew::isLeapYear( int year ) const
+-{
+-    return KCalendarSystem::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemHebrew::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemHebrew::monthName( int month, int year, MonthNameFormat format ) const
++bool KCalendarSystemHebrew::isLeapYear(int year) const
+ {
+-    return KCalendarSystem::monthName( month, year, format );
++    return KCalendarSystem::isLeapYear(year);
+ }
+ 
+-QString KCalendarSystemHebrew::monthName( const QDate &date, MonthNameFormat format ) const
++bool KCalendarSystemHebrew::isLeapYear(const QDate &date) const
+ {
+-    return KCalendarSystem::monthName( date, format );
++    return KCalendarSystem::isLeapYear(date);
+ }
+ 
+-QString KCalendarSystemHebrew::weekDayName( int weekDay, WeekDayNameFormat format ) const
++QString KCalendarSystemHebrew::monthName(int month, int year, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::weekDayName( weekDay, format );
++    return KCalendarSystem::monthName(month, year, format);
+ }
+ 
+-QString KCalendarSystemHebrew::weekDayName( const QDate &date, WeekDayNameFormat format ) const
++QString KCalendarSystemHebrew::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::weekDayName( date, format );
++    return KCalendarSystem::monthName(date, format);
+ }
+ 
+-QString KCalendarSystemHebrew::yearString( const QDate &date, StringFormat format ) const
++QString KCalendarSystemHebrew::weekDayName(int weekDay, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::yearString( date, format );
++    return KCalendarSystem::weekDayName(weekDay, format);
+ }
+ 
+-QString KCalendarSystemHebrew::monthString( const QDate &date, StringFormat format ) const
++QString KCalendarSystemHebrew::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::monthString( date, format );
++    return KCalendarSystem::weekDayName(date, format);
+ }
+ 
+-QString KCalendarSystemHebrew::dayString( const QDate &date, StringFormat format ) const
++int KCalendarSystemHebrew::yearStringToInteger(const QString &string, int &readLength) const
+ {
+-    return KCalendarSystem::dayString( date, format );
+-}
+-
+-int KCalendarSystemHebrew::yearStringToInteger( const QString &string, int &readLength ) const
+-{
+-    int result = KCalendarSystem::yearStringToInteger( string, readLength );
++    int result = KCalendarSystem::yearStringToInteger(string, readLength);
+ 
+     // Hebrew has no letter for 0, so 5 and 5000 are written the same
+     // Assume if less than 10 then we are in an exact multiple of 1000
+-    if ( result < 10 ) {
++    if (result < 10) {
+         result = result * 1000;
+     }
+ 
+     // Not good just assuming, make configurable
+-    if ( result < 1000 ) {
++    if (result < 1000) {
+         result += 5000; // assume we're in the 6th millenium (y6k bug)
+     }
+ 
+     return result;
+ }
+ 
+-int KCalendarSystemHebrew::monthStringToInteger( const QString &string, int &readLength ) const
+-{
+-    return KCalendarSystem::monthStringToInteger( string, readLength );
+-}
+-
+-int KCalendarSystemHebrew::dayStringToInteger( const QString &string, int &readLength ) const
+-{
+-    return KCalendarSystem::yearStringToInteger( string, readLength );
+-}
+-
+-QString KCalendarSystemHebrew::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystem::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemHebrew::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemHebrew::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemHebrew::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, flags, ok );
+-}
+-
+ int KCalendarSystemHebrew::weekDayOfPray() const
+ {
+     return 6; // Saturday
+ }
+ 
+-int KCalendarSystemHebrew::weekStartDay() const
+-{
+-    return KCalendarSystem::weekStartDay();
+-}
+-
+ bool KCalendarSystemHebrew::isLunar() const
+ {
+     return false;
+@@ -1152,19 +1017,19 @@ bool KCalendarSystemHebrew::isProleptic() const
+     return false;
+ }
+ 
+-bool KCalendarSystemHebrew::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemHebrew::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+-    class h_date * sd = toHebrew( QDate::fromJulianDay( jd ) );
++    class h_date * sd = toHebrew(QDate::fromJulianDay(jd));
+ 
+     year = sd->hd_year;
+ 
+     month = sd->hd_mon;
+-    if ( isLeapYear( sd->hd_year ) ) {
+-        if( month == 13 /*AdarI*/ ) {
++    if (isLeapYear(sd->hd_year)) {
++        if (month == 13 /*AdarI*/) {
+             month = 6;
+-        } else if( month == 14 /*AdarII*/ ) {
++        } else if (month == 14 /*AdarII*/) {
+             month = 7;
+-        } else if ( month > 6 && month < 13 ) {
++        } else if (month > 6 && month < 13) {
+             ++month;
+         }
+     }
+@@ -1174,11 +1039,11 @@ bool KCalendarSystemHebrew::julianDayToDate( int jd, int &year, int &month, int
+     return true;
+ }
+ 
+-bool KCalendarSystemHebrew::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemHebrew::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+-    class h_date * gd = hebrewToGregorian( year, month, day );
++    class h_date * gd = hebrewToGregorian(year, month, day);
+ 
+-    QDate tempDate( gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1 );
++    QDate tempDate(gd->hd_year, gd->hd_mon + 1, gd->hd_day + 1);
+ 
+     jd = tempDate.toJulianDay();
+ 
+diff --git a/kdecore/date/kcalendarsystemhebrew_p.h b/kdecore/date/kcalendarsystemhebrew_p.h
+index 72e82ec..3c3f7fb 100644
+--- a/kdecore/date/kcalendarsystemhebrew_p.h
++++ b/kdecore/date/kcalendarsystemhebrew_p.h
+@@ -41,8 +41,8 @@ class KCalendarSystemHebrewPrivate;
+ class KCalendarSystemHebrew : public KCalendarSystem
+ {
+ public:
+-    explicit KCalendarSystemHebrew( const KLocale * locale = 0 );
+-    explicit KCalendarSystemHebrew( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystemHebrew(const KLocale * locale = 0);
++    explicit KCalendarSystemHebrew(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+     virtual ~KCalendarSystemHebrew();
+ 
+     virtual QString calendarType() const;
+@@ -50,58 +50,23 @@ public:
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
++    virtual int dayOfWeek(const QDate &date) const;
+ 
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
++    virtual int yearStringToInteger(const QString &sNum, int &iLength) const;
+ 
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -109,15 +74,14 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemHebrew( KCalendarSystemHebrewPrivate &dd,
+-                           const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                           const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemHebrew(KCalendarSystemHebrewPrivate &dd,
++                          const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                          const KLocale *locale = 0);
+ 
+ private:
+-    Q_DECLARE_PRIVATE( KCalendarSystemHebrew )
+-    KCalendarSystemHebrewPrivate * const dont_use; // KDE5 remove, use shared d
++    Q_DECLARE_PRIVATE(KCalendarSystemHebrew)
+ };
+ 
+ #endif // KCALENDARSYSTEMHEBREW_H
+diff --git a/kdecore/date/kcalendarsystemhijri.cpp b/kdecore/date/kcalendarsystemhijri.cpp
+deleted file mode 100644
+index 2af04ea..0000000
+--- a/kdecore/date/kcalendarsystemhijri.cpp
++++ /dev/null
+@@ -1,741 +0,0 @@
+-/*
+-    Copyright (c) 2002-2003 Carlos Moro 
+-    Copyright (c) 2002-2003 Hans Petter Bieker 
+-    Copyright 2007, 2008, 2009, 2010 John Layt 
+-
+-    This library is free software; you can redistribute it and/or
+-    modify it under the terms of the GNU Library General Public
+-    License as published by the Free Software Foundation; either
+-    version 2 of the License, or (at your option) any later version.
+-
+-    This library is distributed in the hope that it will be useful,
+-    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-    Library General Public License for more details.
+-
+-    You should have received a copy of the GNU Library General Public License
+-    along with this library; see the file COPYING.LIB.  If not, write to
+-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-    Boston, MA 02110-1301, USA.
+-*/
+-
+-#include "kcalendarsystemhijri_p.h"
+-#include "kcalendarsystemprivate_p.h"
+-
+-#include 
+-
+-class KCalendarSystemHijriPrivate : public KCalendarSystemPrivate
+-{
+-public:
+-    explicit KCalendarSystemHijriPrivate( KCalendarSystemHijri *q );
+-
+-    virtual ~KCalendarSystemHijriPrivate();
+-
+-    // Virtual methods each calendar system must re-implement
+-    virtual KLocale::CalendarSystem calendarSystem() const;
+-    virtual void loadDefaultEraList();
+-    virtual int monthsInYear( int year ) const;
+-    virtual int daysInMonth( int year, int month ) const;
+-    virtual int daysInYear( int year ) const;
+-    virtual int daysInWeek() const;
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool hasLeapMonths() const;
+-    virtual bool hasYearZero() const;
+-    virtual int maxDaysInWeek() const;
+-    virtual int maxMonthsInYear() const;
+-    virtual int earliestValidYear() const;
+-    virtual int latestValidYear() const;
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
+-};
+-
+-// Shared d pointer base class definitions
+-
+-KCalendarSystemHijriPrivate::KCalendarSystemHijriPrivate( KCalendarSystemHijri *q )
+-                            :KCalendarSystemPrivate( q )
+-{
+-}
+-
+-KCalendarSystemHijriPrivate::~KCalendarSystemHijriPrivate()
+-{
+-}
+-
+-KLocale::CalendarSystem KCalendarSystemHijriPrivate::calendarSystem() const
+-{
+-    return KLocale::IslamicCivilCalendar;
+-}
+-
+-void KCalendarSystemHijriPrivate::loadDefaultEraList()
+-{
+-    QString name, shortName, format;
+-    // Islamic Era, Anno Hegirae, "Year of the Hijra".
+-    name = i18nc( "Calendar Era: Hijri Islamic Era, years > 0, LongFormat", "Anno Hegirae" );
+-    shortName = i18nc( "Calendar Era: Hijri Islamic Era, years > 0, ShortFormat", "AH" );
+-    format = i18nc( "(kdedt-format) Hijri, AH, full era year format used for %EY, e.g. 2000 AH", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
+-}
+-
+-int KCalendarSystemHijriPrivate::monthsInYear( int year ) const
+-{
+-    Q_UNUSED( year )
+-    return 12;
+-}
+-
+-int KCalendarSystemHijriPrivate::daysInMonth( int year, int month ) const
+-{
+-    if ( month == 12 && isLeapYear( year ) ) {
+-        return 30;
+-    }
+-
+-    if ( month % 2 == 0 ) { // Even number months have 29 days
+-        return 29;
+-    } else {  // Odd number months have 30 days
+-        return 30;
+-    }
+-}
+-
+-int KCalendarSystemHijriPrivate::daysInYear( int year ) const
+-{
+-    if ( isLeapYear( year ) ) {
+-        return 355;
+-    } else {
+-        return 354;
+-    }
+-}
+-
+-int KCalendarSystemHijriPrivate::daysInWeek() const
+-{
+-    return 7;
+-}
+-
+-bool KCalendarSystemHijriPrivate::isLeapYear( int year ) const
+-{
+-    // Years 2, 5, 7, 10, 13, 16, 18, 21, 24, 26, 29 of the 30 year cycle
+-
+-    /*
+-    The following C++ code is translated from the Lisp code
+-    in ``Calendrical Calculations'' by Nachum Dershowitz and
+-    Edward M. Reingold, Software---Practice & Experience,
+-    vol. 20, no. 9 (September, 1990), pp. 899--928.
+-
+-    This code is in the public domain, but any use of it
+-    should publically acknowledge its source.
+-    */
+-
+-    if ( ( ( ( 11 * year ) + 14 ) % 30 ) < 11 ) {
+-        return true;
+-    } else {
+-        return false;
+-    }
+-
+-    // The following variations will be implemented in separate classes in 4.5
+-    // May be cleaner to formally define using a case statement switch on (year % 30)
+-
+-    // Variation used by Bar Habraeus / Graves / Birashk / Some Microsoft products
+-    // Years 2, 5, 7, 10, 13, 15, 18, 21, 24, 26, 29 of the 30 year cycle
+-    // if ( ( ( ( 11 * year ) + 15 ) % 30 ) < 11 ) {
+-
+-    // Variation used by Bohras / Sahifa with epoch 15 July 622 jd = 1948440
+-    // Years 2, 5, 8, 10, 13, 16, 19, 21, 24, 27, 29 of the 30 year cycle
+-    // if ( ( ( ( 11 * year ) + 1 ) % 30 ) < 11 ) {
+-}
+-
+-bool KCalendarSystemHijriPrivate::hasLeapMonths() const
+-{
+-    return false;
+-}
+-
+-bool KCalendarSystemHijriPrivate::hasYearZero() const
+-{
+-    return false;
+-}
+-
+-int KCalendarSystemHijriPrivate::maxDaysInWeek() const
+-{
+-    return 7;
+-}
+-
+-int KCalendarSystemHijriPrivate::maxMonthsInYear() const
+-{
+-    return 12;
+-}
+-
+-int KCalendarSystemHijriPrivate::earliestValidYear() const
+-{
+-    return 1;
+-}
+-
+-int KCalendarSystemHijriPrivate::latestValidYear() const
+-{
+-    return 9999;
+-}
+-
+-QString KCalendarSystemHijriPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
+-{
+-    Q_UNUSED( year );
+-
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( month ) {
+-        case 1:
+-            return ki18nc( "Hijri month 1 - KLocale::NarrowName",  "M" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Hijri month 2 - KLocale::NarrowName",  "S" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Hijri month 3 - KLocale::NarrowName",  "A" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Hijri month 4 - KLocale::NarrowName",  "T" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Hijri month 5 - KLocale::NarrowName",  "A" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Hijri month 6 - KLocale::NarrowName",  "T" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Hijri month 7 - KLocale::NarrowName",  "R" ).toString( locale() );
+-        case 8:
+-            return ki18nc( "Hijri month 8 - KLocale::NarrowName",  "S" ).toString( locale() );
+-        case 9:
+-            return ki18nc( "Hijri month 9 - KLocale::NarrowName",  "R" ).toString( locale() );
+-        case 10:
+-            return ki18nc( "Hijri month 10 - KLocale::NarrowName", "S" ).toString( locale() );
+-        case 11:
+-            return ki18nc( "Hijri month 11 - KLocale::NarrowName", "Q" ).toString( locale() );
+-        case 12:
+-            return ki18nc( "Hijri month 12 - KLocale::NarrowName", "H" ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    if ( format == KLocale::ShortName && possessive ) {
+-        switch ( month ) {
+-        case 1:
+-            return ki18nc( "Hijri month 1 - KLocale::ShortName Possessive",  "of Muh" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Hijri month 2 - KLocale::ShortName Possessive",  "of Saf" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Hijri month 3 - KLocale::ShortName Possessive",  "of R.A" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Hijri month 4 - KLocale::ShortName Possessive",  "of R.T" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Hijri month 5 - KLocale::ShortName Possessive",  "of J.A" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Hijri month 6 - KLocale::ShortName Possessive",  "of J.T" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Hijri month 7 - KLocale::ShortName Possessive",  "of Raj" ).toString( locale() );
+-        case 8:
+-            return ki18nc( "Hijri month 8 - KLocale::ShortName Possessive",  "of Sha" ).toString( locale() );
+-        case 9:
+-            return ki18nc( "Hijri month 9 - KLocale::ShortName Possessive",  "of Ram" ).toString( locale() );
+-        case 10:
+-            return ki18nc( "Hijri month 10 - KLocale::ShortName Possessive", "of Shw" ).toString( locale() );
+-        case 11:
+-            return ki18nc( "Hijri month 11 - KLocale::ShortName Possessive", "of Qid" ).toString( locale() );
+-        case 12:
+-            return ki18nc( "Hijri month 12 - KLocale::ShortName Possessive", "of Hij" ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    if ( format == KLocale::ShortName && !possessive ) {
+-        switch ( month ) {
+-        case 1:
+-            return ki18nc( "Hijri month 1 - KLocale::ShortName",  "Muh" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Hijri month 2 - KLocale::ShortName",  "Saf" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Hijri month 3 - KLocale::ShortName",  "R.A" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Hijri month 4 - KLocale::ShortName",  "R.T" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Hijri month 5 - KLocale::ShortName",  "J.A" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Hijri month 6 - KLocale::ShortName",  "J.T" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Hijri month 7 - KLocale::ShortName",  "Raj" ).toString( locale() );
+-        case 8:
+-            return ki18nc( "Hijri month 8 - KLocale::ShortName",  "Sha" ).toString( locale() );
+-        case 9:
+-            return ki18nc( "Hijri month 9 - KLocale::ShortName",  "Ram" ).toString( locale() );
+-        case 10:
+-            return ki18nc( "Hijri month 10 - KLocale::ShortName", "Shw" ).toString( locale() );
+-        case 11:
+-            return ki18nc( "Hijri month 11 - KLocale::ShortName", "Qid" ).toString( locale() );
+-        case 12:
+-            return ki18nc( "Hijri month 12 - KLocale::ShortName", "Hij" ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    if ( format == KLocale::LongName && possessive ) {
+-        switch ( month ) {
+-        case 1:
+-            return ki18nc( "Hijri month 1 - KLocale::LongName Possessive",  "of Muharram"          ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Hijri month 2 - KLocale::LongName Possessive",  "of Safar"             ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Hijri month 3 - KLocale::LongName Possessive",  "of Rabi` al-Awal"     ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Hijri month 4 - KLocale::LongName Possessive",  "of Rabi` al-Thaani"   ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Hijri month 5 - KLocale::LongName Possessive",  "of Jumaada al-Awal"   ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Hijri month 6 - KLocale::LongName Possessive",  "of Jumaada al-Thaani" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Hijri month 7 - KLocale::LongName Possessive",  "of Rajab"             ).toString( locale() );
+-        case 8:
+-            return ki18nc( "Hijri month 8 - KLocale::LongName Possessive",  "of Sha`ban"           ).toString( locale() );
+-        case 9:
+-            return ki18nc( "Hijri month 9 - KLocale::LongName Possessive",  "of Ramadan"           ).toString( locale() );
+-        case 10:
+-            return ki18nc( "Hijri month 10 - KLocale::LongName Possessive", "of Shawwal"           ).toString( locale() );
+-        case 11:
+-            return ki18nc( "Hijri month 11 - KLocale::LongName Possessive", "of Thu al-Qi`dah"     ).toString( locale() );
+-        case 12:
+-            return ki18nc( "Hijri month 12 - KLocale::LongName Possessive", "of Thu al-Hijjah"     ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    // Default to LongName
+-    switch ( month ) {
+-    case 1:
+-        return ki18nc( "Hijri month 1 - KLocale::LongName",  "Muharram"           ).toString( locale() );
+-    case 2:
+-        return ki18nc( "Hijri month 2 - KLocale::LongName",  "Safar"              ).toString( locale() );
+-    case 3:
+-        return ki18nc( "Hijri month 3 - KLocale::LongName",  "Rabi` al-Awal"      ).toString( locale() );
+-    case 4:
+-        return ki18nc( "Hijri month 4 - KLocale::LongName",  "Rabi` al-Thaani"    ).toString( locale() );
+-    case 5:
+-        return ki18nc( "Hijri month 5 - KLocale::LongName",  "Jumaada al-Awal"    ).toString( locale() );
+-    case 6:
+-        return ki18nc( "Hijri month 6 - KLocale::LongName",  "Jumaada al-Thaani"  ).toString( locale() );
+-    case 7:
+-        return ki18nc( "Hijri month 7 - KLocale::LongName",  "Rajab"              ).toString( locale() );
+-    case 8:
+-        return ki18nc( "Hijri month 8 - KLocale::LongName",  "Sha`ban"            ).toString( locale() );
+-    case 9:
+-        return ki18nc( "Hijri month 9 - KLocale::LongName",  "Ramadan"            ).toString( locale() );
+-    case 10:
+-        return ki18nc( "Hijri month 10 - KLocale::LongName", "Shawwal"            ).toString( locale() );
+-    case 11:
+-        return ki18nc( "Hijri month 11 - KLocale::LongName", "Thu al-Qi`dah"      ).toString( locale() );
+-    case 12:
+-        return ki18nc( "Hijri month 12 - KLocale::LongName", "Thu al-Hijjah"      ).toString( locale() );
+-    default:
+-        return QString();
+-    }
+-}
+-
+-QString KCalendarSystemHijriPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
+-{
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( weekDay ) {
+-        case 1:
+-            return ki18nc( "Hijri weekday 1 - KLocale::NarrowName ", "I" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Hijri weekday 2 - KLocale::NarrowName ", "T" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Hijri weekday 3 - KLocale::NarrowName ", "A" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Hijri weekday 4 - KLocale::NarrowName ", "K" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Hijri weekday 5 - KLocale::NarrowName ", "J" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Hijri weekday 6 - KLocale::NarrowName ", "S" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Hijri weekday 7 - KLocale::NarrowName ", "A" ).toString( locale() );
+-        default:
+-            return QString();
+-        }
+-    }
+-
+-    if ( format == KLocale::ShortName  || format == KLocale:: ShortNumber ) {
+-        switch ( weekDay ) {
+-        case 1:
+-            return ki18nc( "Hijri weekday 1 - KLocale::ShortName", "Ith" ).toString( locale() );
+-        case 2:
+-            return ki18nc( "Hijri weekday 2 - KLocale::ShortName", "Thl" ).toString( locale() );
+-        case 3:
+-            return ki18nc( "Hijri weekday 3 - KLocale::ShortName", "Arb" ).toString( locale() );
+-        case 4:
+-            return ki18nc( "Hijri weekday 4 - KLocale::ShortName", "Kha" ).toString( locale() );
+-        case 5:
+-            return ki18nc( "Hijri weekday 5 - KLocale::ShortName", "Jum" ).toString( locale() );
+-        case 6:
+-            return ki18nc( "Hijri weekday 6 - KLocale::ShortName", "Sab" ).toString( locale() );
+-        case 7:
+-            return ki18nc( "Hijri weekday 7 - KLocale::ShortName", "Ahd" ).toString( locale() );
+-        default: return QString();
+-        }
+-    }
+-
+-    switch ( weekDay ) {
+-    case 1:
+-        return ki18nc( "Hijri weekday 1 - KLocale::LongName", "Yaum al-Ithnain" ).toString( locale() );
+-    case 2:
+-        return ki18nc( "Hijri weekday 2 - KLocale::LongName", "Yau al-Thulatha" ).toString( locale() );
+-    case 3:
+-        return ki18nc( "Hijri weekday 3 - KLocale::LongName", "Yaum al-Arbi'a"  ).toString( locale() );
+-    case 4:
+-        return ki18nc( "Hijri weekday 4 - KLocale::LongName", "Yaum al-Khamees" ).toString( locale() );
+-    case 5:
+-        return ki18nc( "Hijri weekday 5 - KLocale::LongName", "Yaum al-Jumma"   ).toString( locale() );
+-    case 6:
+-        return ki18nc( "Hijri weekday 6 - KLocale::LongName", "Yaum al-Sabt"    ).toString( locale() );
+-    case 7:
+-        return ki18nc( "Hijri weekday 7 - KLocale::LongName", "Yaum al-Ahad"    ).toString( locale() );
+-    default:
+-        return QString();
+-    }
+-}
+-
+-
+-KCalendarSystemHijri::KCalendarSystemHijri( const KLocale *locale )
+-                    : KCalendarSystem( *new KCalendarSystemHijriPrivate( this ), KSharedConfig::Ptr(), locale ),
+-                      dont_use( 0 )
+-{
+-    d_ptr->loadConfig( calendarType() );
+-}
+-
+-KCalendarSystemHijri::KCalendarSystemHijri( const KSharedConfig::Ptr config, const KLocale *locale )
+-                    : KCalendarSystem( *new KCalendarSystemHijriPrivate( this ), config, locale ),
+-                      dont_use( 0 )
+-{
+-    d_ptr->loadConfig( calendarType() );
+-}
+-
+-KCalendarSystemHijri::KCalendarSystemHijri( KCalendarSystemHijriPrivate &dd,
+-                                            const KSharedConfig::Ptr config, const KLocale *locale )
+-                    : KCalendarSystem( dd, config, locale ),
+-                      dont_use( 0 )
+-{
+-    d_ptr->loadConfig( calendarType() );
+-}
+-
+-KCalendarSystemHijri::~KCalendarSystemHijri()
+-{
+-    delete dont_use;
+-}
+-
+-QString KCalendarSystemHijri::calendarType() const
+-{
+-    return QLatin1String( "hijri" );
+-}
+-
+-QDate KCalendarSystemHijri::epoch() const
+-{
+-    // 16 July 622 in the Julian calendar
+-    return QDate::fromJulianDay( 1948440 );
+-}
+-
+-QDate KCalendarSystemHijri::earliestValidDate() const
+-{
+-    return epoch();
+-}
+-
+-QDate KCalendarSystemHijri::latestValidDate() const
+-{
+-    // Set to last day of year 9999
+-    // Last day of Hijri year 9999 is 9999-12-29
+-    return QDate::fromJulianDay( 5491751 );
+-}
+-
+-bool KCalendarSystemHijri::isValid( int year, int month, int day ) const
+-{
+-    return KCalendarSystem::isValid( year, month, day );
+-}
+-
+-bool KCalendarSystemHijri::isValid( const QDate &date ) const
+-{
+-    return KCalendarSystem::isValid( date );
+-}
+-
+-bool KCalendarSystemHijri::setDate( QDate &date, int year, int month, int day ) const
+-{
+-    return KCalendarSystem::setDate( date, year, month, day );
+-}
+-
+-// Deprecated
+-bool KCalendarSystemHijri::setYMD( QDate &date, int year, int month, int day ) const
+-{
+-    return KCalendarSystem::setYMD( date, year, month, day );
+-}
+-
+-int KCalendarSystemHijri::year( const QDate &date ) const
+-{
+-    return KCalendarSystem::year( date );
+-}
+-
+-int KCalendarSystemHijri::month( const QDate &date ) const
+-{
+-    return KCalendarSystem::month( date );
+-}
+-
+-int KCalendarSystemHijri::day( const QDate &date ) const
+-{
+-    return KCalendarSystem::day( date );
+-}
+-
+-QDate KCalendarSystemHijri::addYears( const QDate &date, int nyears ) const
+-{
+-    return KCalendarSystem::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemHijri::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystem::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemHijri::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystem::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemHijri::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::monthsInYear( date );
+-}
+-
+-int KCalendarSystemHijri::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::weeksInYear( date );
+-}
+-
+-int KCalendarSystemHijri::weeksInYear( int year ) const
+-{
+-    return KCalendarSystem::weeksInYear( year );
+-}
+-
+-int KCalendarSystemHijri::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInYear( date );
+-}
+-
+-int KCalendarSystemHijri::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInMonth( date );
+-}
+-
+-int KCalendarSystemHijri::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInWeek( date );
+-}
+-
+-int KCalendarSystemHijri::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfYear( date );
+-}
+-
+-int KCalendarSystemHijri::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemHijri::weekNumber( const QDate &date, int *yearNum ) const
+-{
+-    return KCalendarSystem::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemHijri::isLeapYear( int year ) const
+-{
+-    return KCalendarSystem::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemHijri::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemHijri::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemHijri::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( date, format );
+-}
+-
+-QString KCalendarSystemHijri::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemHijri::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemHijri::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemHijri::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemHijri::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemHijri::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemHijri::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemHijri::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemHijri::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystem::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemHijri::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemHijri::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemHijri::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemHijri::weekStartDay() const
+-{
+-    return KCalendarSystem::weekStartDay();
+-}
+-
+-int KCalendarSystemHijri::weekDayOfPray() const
+-{
+-    return 5; // Friday
+-}
+-
+-bool KCalendarSystemHijri::isLunar() const
+-{
+-    return true;
+-}
+-
+-bool KCalendarSystemHijri::isLunisolar() const
+-{
+-    return false;
+-}
+-
+-bool KCalendarSystemHijri::isSolar() const
+-{
+-    return false;
+-}
+-
+-bool KCalendarSystemHijri::isProleptic() const
+-{
+-    return false;
+-}
+-
+-bool KCalendarSystemHijri::julianDayToDate( int jd, int &year, int &month, int &day ) const
+-{
+-    Q_D( const KCalendarSystemHijri );
+-
+-    /*
+-    The following C++ code is translated from the Lisp code
+-    in ``Calendrical Calculations'' by Nachum Dershowitz and
+-    Edward M. Reingold, Software---Practice & Experience,
+-    vol. 20, no. 9 (September, 1990), pp. 899--928.
+-
+-    This code is in the public domain, but any use of it
+-    should publically acknowledge its source.
+-    */
+-
+-    // Search forward year by year from approximate year
+-    year = ( jd - epoch().toJulianDay() ) / 355;
+-    int testJd;
+-    dateToJulianDay( year, 12, d->daysInMonth( year, 12 ), testJd );
+-    while ( jd > testJd ) {
+-        year++;
+-        dateToJulianDay( year, 12, d->daysInMonth( year, 12 ), testJd );
+-    }
+-
+-    // Search forward month by month from Muharram
+-    month = 1;
+-    dateToJulianDay( year, month, d->daysInMonth( year, month ), testJd );
+-    while ( jd > testJd ) {
+-        month++;
+-        dateToJulianDay( year, month, d->daysInMonth( year, month ), testJd );
+-    }
+-
+-    dateToJulianDay( year, month, 1, testJd );
+-    day = jd - testJd + 1;
+-
+-    return true;
+-
+-    // Alternative implementations
+-
+-    // More recent editions of "Calendrical Calculations" by Dershowitz & Reingold have a more
+-    // efficient direct calculation without recusrion, but this cannot be used due to licensing
+-
+-    /*
+-    Formula from "Explanatory Supplement to the Astronomical Almanac" 2006, derived from Fliegel & Van Flandern 1968
+-    int L = jd - epoch().toJulianDay() + 10632;
+-    int N = ( L - 1 ) / 10631;
+-    L = L - 10631 * N + 354;
+-    int J = ( ( 10985 - L ) / 5316 ) x ( ( 50* L ) / 17719 ) + ( L / 5670 ) * ( ( 43 * L ) / 15238 );
+-    L = L - ( ( 30 - J ) / 15 ) * ( ( 17719 * J ) / 50 ) - ( J / 16 ) * ( ( 15238 * J ) / 43 ) + 29;
+-    year = ( 30 * N ) + J - 30;
+-    month = ( 24 * L ) / 709;
+-    day = L - ( ( 709 * month ) / 24 );
+-    */
+-
+-    /*
+-    Formula from Fourmilab website
+-    jd = Math.floor(jd) + 0.5;
+-    year = Math.floor(((30 * (jd - epoch().toJulianDay())) + 10646) / 10631);
+-    month = qMin(12, Math.ceil((jd - (29 + islamic_to_jd(year, 1, 1))) / 29.5) + 1);
+-    day = (jd - islamic_to_jd(year, month, 1)) + 1;
+-    */
+-}
+-
+-bool KCalendarSystemHijri::dateToJulianDay( int year, int month, int day, int &jd ) const
+-{
+-    /*
+-    The following C++ code is translated from the Lisp code
+-    in ``Calendrical Calculations'' by Nachum Dershowitz and
+-    Edward M. Reingold, Software---Practice & Experience,
+-    vol. 20, no. 9 (September, 1990), pp. 899--928.
+-
+-    This code is in the public domain, but any use of it
+-    should publically acknowledge its source.
+-    */
+-
+-    jd = epoch().toJulianDay() - 1 +   // days before start of calendar
+-         ( year - 1 ) * 354 +          // non-leap days in prior years
+-         ( 3 + ( 11 * year ) ) / 30 +  // leap days in prior years
+-         29 * ( month - 1 ) +          // days so far...
+-         month / 2          +          //            ...this year
+-         day;                          // days so far this month
+-
+-    return true;
+-
+-    // Alternative implementations
+-
+-    /*
+-    Formula from "Explanatory Supplement to the Astronomical Almanac" 2006, derived from Fliegel & Van Flandern 1968
+-    jd = ( 3 + ( 11 * year ) ) / 30 + 354 * year + 30 * month - ( month - 1 ) / 2 + day + epoch().toJulianDay() - 385;
+-    */
+-}
+diff --git a/kdecore/date/kcalendarsystemhijri_p.h b/kdecore/date/kcalendarsystemhijri_p.h
+deleted file mode 100644
+index 8204683..0000000
+--- a/kdecore/date/kcalendarsystemhijri_p.h
++++ /dev/null
+@@ -1,124 +0,0 @@
+-/*
+-    Copyright (c) 2002 Carlos Moro 
+-    Copyright (c) 2002-2003 Hans Petter Bieker 
+-    Copyright 2007, 2010 John Layt 
+-
+-    This library is free software; you can redistribute it and/or
+-    modify it under the terms of the GNU Library General Public
+-    License as published by the Free Software Foundation; either
+-    version 2 of the License, or (at your option) any later version.
+-
+-    This library is distributed in the hope that it will be useful,
+-    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-    Library General Public License for more details.
+-
+-    You should have received a copy of the GNU Library General Public License
+-    along with this library; see the file COPYING.LIB.  If not, write to
+-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-    Boston, MA 02110-1301, USA.
+-*/
+-
+-#ifndef KCALENDARSYSTEMHIJRI_H
+-#define KCALENDARSYSTEMHIJRI_H
+-
+-#include "kcalendarsystem.h"
+-
+-class KCalendarSystemHijriPrivate;
+-
+-/**
+- * @internal
+- * This is the Hijri calendar implementation.
+- *
+- * The Hijri calendar is the traditional Islamic calendar used in the Middle
+- * East.
+- *
+- * @b license GNU-LGPL v2+
+- *
+- * @see KLocale,KCalendarSystem
+- *
+- * @author Carlos Moro 
+- */
+-class KCalendarSystemHijri : public KCalendarSystem
+-{
+-public:
+-    explicit KCalendarSystemHijri( const KLocale *locale = 0 );
+-    explicit KCalendarSystemHijri( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
+-    virtual ~KCalendarSystemHijri();
+-
+-    virtual QString calendarType() const;
+-
+-    virtual QDate epoch() const;
+-    virtual QDate earliestValidDate() const;
+-    virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
+-
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
+-
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
+-
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
+-
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
+-
+-    virtual bool isLunar() const;
+-    virtual bool isLunisolar() const;
+-    virtual bool isSolar() const;
+-    virtual bool isProleptic() const;
+-
+-protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemHijri( KCalendarSystemHijriPrivate &dd,
+-                          const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                          const KLocale *locale = 0 );
+-
+-private:
+-    Q_DECLARE_PRIVATE( KCalendarSystemHijri )
+-    KCalendarSystemHijriPrivate * const dont_use; // KDE5 remove, use shared d
+-};
+-
+-#endif // KCALENDARSYSTEMHIJRI_H
+diff --git a/kdecore/date/kcalendarsystemindiannational.cpp b/kdecore/date/kcalendarsystemindiannational.cpp
+index 2bd3643..f5b79f2 100644
+--- a/kdecore/date/kcalendarsystemindiannational.cpp
++++ b/kdecore/date/kcalendarsystemindiannational.cpp
+@@ -29,32 +29,32 @@
+ class KCalendarSystemIndianNationalPrivate : public KCalendarSystemPrivate
+ {
+ public:
+-    explicit KCalendarSystemIndianNationalPrivate( KCalendarSystemIndianNational *q );
++    explicit KCalendarSystemIndianNationalPrivate(KCalendarSystemIndianNational *q);
+ 
+     virtual ~KCalendarSystemIndianNationalPrivate();
+ 
+     // Virtual methods each calendar system must re-implement
+     virtual KLocale::CalendarSystem calendarSystem() const;
+     virtual void loadDefaultEraList();
+-    virtual int monthsInYear( int year ) const;
+-    virtual int daysInMonth( int year, int month ) const;
+-    virtual int daysInYear( int year ) const;
++    virtual int monthsInYear(int year) const;
++    virtual int daysInMonth(int year, int month) const;
++    virtual int daysInYear(int year) const;
+     virtual int daysInWeek() const;
+-    virtual bool isLeapYear( int year ) const;
++    virtual bool isLeapYear(int year) const;
+     virtual bool hasLeapMonths() const;
+     virtual bool hasYearZero() const;
+     virtual int maxDaysInWeek() const;
+     virtual int maxMonthsInYear() const;
+     virtual int earliestValidYear() const;
+     virtual int latestValidYear() const;
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
+ };
+ 
+ // Shared d pointer base class definitions
+ 
+-KCalendarSystemIndianNationalPrivate::KCalendarSystemIndianNationalPrivate( KCalendarSystemIndianNational *q )
+-                                     :KCalendarSystemPrivate( q )
++KCalendarSystemIndianNationalPrivate::KCalendarSystemIndianNationalPrivate(KCalendarSystemIndianNational *q)
++                                    : KCalendarSystemPrivate(q)
+ {
+ }
+ 
+@@ -71,38 +71,38 @@ void KCalendarSystemIndianNationalPrivate::loadDefaultEraList()
+ {
+     QString name, shortName, format;
+     // Saka Era
+-    name = i18nc( "Calendar Era: Indian National Saka Era, years > 0, LongFormat", "Saka Era" );
+-    shortName = i18nc( "Calendar Era: Indian National Saka Era, years > 0, ShortFormat", "SE" );
+-    format = i18nc( "(kdedt-format) Indian National, SE, full era year format used for %EY, e.g. 2000 SE", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
++    name = i18nc("Calendar Era: Indian National Saka Era, years > 0, LongFormat", "Saka Era");
++    shortName = i18nc("Calendar Era: Indian National Saka Era, years > 0, ShortFormat", "SE");
++    format = i18nc("(kdedt-format) Indian National, SE, full era year format used for %EY, e.g. 2000 SE", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
+ }
+ 
+-int KCalendarSystemIndianNationalPrivate::monthsInYear( int year ) const
++int KCalendarSystemIndianNationalPrivate::monthsInYear(int year) const
+ {
+-    Q_UNUSED( year )
++    Q_UNUSED(year)
+     return 12;
+ }
+ 
+-int KCalendarSystemIndianNationalPrivate::daysInMonth( int year, int month ) const
++int KCalendarSystemIndianNationalPrivate::daysInMonth(int year, int month) const
+ {
+-    if ( month == 1 ) {
+-        if ( isLeapYear( year ) ) {
++    if (month == 1) {
++        if (isLeapYear(year)) {
+             return 31;
+         } else {
+             return 30;
+         }
+     }
+ 
+-    if ( month >= 2 && month <= 6  ) {
++    if (month >= 2 && month <= 6) {
+         return 31;
+     }
+ 
+     return 30;
+ }
+ 
+-int KCalendarSystemIndianNationalPrivate::daysInYear( int year ) const
++int KCalendarSystemIndianNationalPrivate::daysInYear(int year) const
+ {
+-    if ( isLeapYear( year ) ) {
++    if (isLeapYear(year)) {
+         return 366;
+     } else {
+         return 365;
+@@ -114,19 +114,19 @@ int KCalendarSystemIndianNationalPrivate::daysInWeek() const
+     return 7;
+ }
+ 
+-bool KCalendarSystemIndianNationalPrivate::isLeapYear( int year ) const
++bool KCalendarSystemIndianNationalPrivate::isLeapYear(int year) const
+ {
+     //Uses same rule as Gregorian, and is explicitly synchronized to Gregorian
+     //so add 78 years to get Gregorian year and apply Gregorian calculation
+     year = year + 78;
+-    if ( !hasYearZero() && year < 1 ) {
++    if (!hasYearZero() && year < 1) {
+         year = year + 1;
+     }
+ 
+-    if ( year % 4 == 0 ) {
+-        if ( year % 100 != 0 ) {
++    if (year % 4 == 0) {
++        if (year % 100 != 0) {
+             return true;
+-        } else if ( year % 400 == 0 ) {
++        } else if (year % 400 == 0) {
+             return true;
+         }
+     }
+@@ -164,267 +164,263 @@ int KCalendarSystemIndianNationalPrivate::latestValidYear() const
+     return 9999;
+ }
+ 
+-QString KCalendarSystemIndianNationalPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
++QString KCalendarSystemIndianNationalPrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
+ {
+-    Q_UNUSED( year );
++    Q_UNUSED(year);
+ 
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( month ) {
++    if (format == KLocale::NarrowName) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Indian National month 1 - KLocale::NarrowName",  "C" ).toString( locale() );
++            return ki18nc("Indian National month 1 - KLocale::NarrowName",  "C").toString(locale());
+         case 2:
+-            return ki18nc( "Indian National month 2 - KLocale::NarrowName",  "V" ).toString( locale() );
++            return ki18nc("Indian National month 2 - KLocale::NarrowName",  "V").toString(locale());
+         case 3:
+-            return ki18nc( "Indian National month 3 - KLocale::NarrowName",  "J" ).toString( locale() );
++            return ki18nc("Indian National month 3 - KLocale::NarrowName",  "J").toString(locale());
+         case 4:
+-            return ki18nc( "Indian National month 4 - KLocale::NarrowName",  "Ā" ).toString( locale() );
++            return ki18nc("Indian National month 4 - KLocale::NarrowName",  "Ā").toString(locale());
+         case 5:
+-            return ki18nc( "Indian National month 5 - KLocale::NarrowName",  "S" ).toString( locale() );
++            return ki18nc("Indian National month 5 - KLocale::NarrowName",  "S").toString(locale());
+         case 6:
+-            return ki18nc( "Indian National month 6 - KLocale::NarrowName",  "B" ).toString( locale() );
++            return ki18nc("Indian National month 6 - KLocale::NarrowName",  "B").toString(locale());
+         case 7:
+-            return ki18nc( "Indian National month 7 - KLocale::NarrowName",  "Ā" ).toString( locale() );
++            return ki18nc("Indian National month 7 - KLocale::NarrowName",  "Ā").toString(locale());
+         case 8:
+-            return ki18nc( "Indian National month 8 - KLocale::NarrowName",  "K" ).toString( locale() );
++            return ki18nc("Indian National month 8 - KLocale::NarrowName",  "K").toString(locale());
+         case 9:
+-            return ki18nc( "Indian National month 9 - KLocale::NarrowName",  "A" ).toString( locale() );
++            return ki18nc("Indian National month 9 - KLocale::NarrowName",  "A").toString(locale());
+         case 10:
+-            return ki18nc( "Indian National month 10 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Indian National month 10 - KLocale::NarrowName", "P").toString(locale());
+         case 11:
+-            return ki18nc( "Indian National month 11 - KLocale::NarrowName", "M" ).toString( locale() );
++            return ki18nc("Indian National month 11 - KLocale::NarrowName", "M").toString(locale());
+         case 12:
+-            return ki18nc( "Indian National month 12 - KLocale::NarrowName", "P" ).toString( locale() );
++            return ki18nc("Indian National month 12 - KLocale::NarrowName", "P").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Indian National month 1 - KLocale::ShortName Possessive",  "of Cha" ).toString( locale() );
++            return ki18nc("Indian National month 1 - KLocale::ShortName Possessive",  "of Cha").toString(locale());
+         case 2:
+-            return ki18nc( "Indian National month 2 - KLocale::ShortName Possessive",  "of Vai" ).toString( locale() );
++            return ki18nc("Indian National month 2 - KLocale::ShortName Possessive",  "of Vai").toString(locale());
+         case 3:
+-            return ki18nc( "Indian National month 3 - KLocale::ShortName Possessive",  "of Jya" ).toString( locale() );
++            return ki18nc("Indian National month 3 - KLocale::ShortName Possessive",  "of Jya").toString(locale());
+         case 4:
+-            return ki18nc( "Indian National month 4 - KLocale::ShortName Possessive",  "of Āsh" ).toString( locale() );
++            return ki18nc("Indian National month 4 - KLocale::ShortName Possessive",  "of Āsh").toString(locale());
+         case 5:
+-            return ki18nc( "Indian National month 5 - KLocale::ShortName Possessive",  "of Shr" ).toString( locale() );
++            return ki18nc("Indian National month 5 - KLocale::ShortName Possessive",  "of Shr").toString(locale());
+         case 6:
+-            return ki18nc( "Indian National month 6 - KLocale::ShortName Possessive",  "of Bhā" ).toString( locale() );
++            return ki18nc("Indian National month 6 - KLocale::ShortName Possessive",  "of Bhā").toString(locale());
+         case 7:
+-            return ki18nc( "Indian National month 7 - KLocale::ShortName Possessive",  "of Āsw" ).toString( locale() );
++            return ki18nc("Indian National month 7 - KLocale::ShortName Possessive",  "of Āsw").toString(locale());
+         case 8:
+-            return ki18nc( "Indian National month 8 - KLocale::ShortName Possessive",  "of Kār" ).toString( locale() );
++            return ki18nc("Indian National month 8 - KLocale::ShortName Possessive",  "of Kār").toString(locale());
+         case 9:
+-            return ki18nc( "Indian National month 9 - KLocale::ShortName Possessive",  "of Agr" ).toString( locale() );
++            return ki18nc("Indian National month 9 - KLocale::ShortName Possessive",  "of Agr").toString(locale());
+         case 10:
+-            return ki18nc( "Indian National month 10 - KLocale::ShortName Possessive", "of Pau" ).toString( locale() );
++            return ki18nc("Indian National month 10 - KLocale::ShortName Possessive", "of Pau").toString(locale());
+         case 11:
+-            return ki18nc( "Indian National month 11 - KLocale::ShortName Possessive", "of Māg" ).toString( locale() );
++            return ki18nc("Indian National month 11 - KLocale::ShortName Possessive", "of Māg").toString(locale());
+         case 12:
+-            return ki18nc( "Indian National month 12 - KLocale::ShortName Possessive", "of Phā" ).toString( locale() );
++            return ki18nc("Indian National month 12 - KLocale::ShortName Possessive", "of Phā").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && !possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && !possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Indian National month 1 - KLocale::ShortName",  "Cha" ).toString( locale() );
++            return ki18nc("Indian National month 1 - KLocale::ShortName",  "Cha").toString(locale());
+         case 2:
+-            return ki18nc( "Indian National month 2 - KLocale::ShortName",  "Vai" ).toString( locale() );
++            return ki18nc("Indian National month 2 - KLocale::ShortName",  "Vai").toString(locale());
+         case 3:
+-            return ki18nc( "Indian National month 3 - KLocale::ShortName",  "Jya" ).toString( locale() );
++            return ki18nc("Indian National month 3 - KLocale::ShortName",  "Jya").toString(locale());
+         case 4:
+-            return ki18nc( "Indian National month 4 - KLocale::ShortName",  "Āsh" ).toString( locale() );
++            return ki18nc("Indian National month 4 - KLocale::ShortName",  "Āsh").toString(locale());
+         case 5:
+-            return ki18nc( "Indian National month 5 - KLocale::ShortName",  "Shr" ).toString( locale() );
++            return ki18nc("Indian National month 5 - KLocale::ShortName",  "Shr").toString(locale());
+         case 6:
+-            return ki18nc( "Indian National month 6 - KLocale::ShortName",  "Bhā" ).toString( locale() );
++            return ki18nc("Indian National month 6 - KLocale::ShortName",  "Bhā").toString(locale());
+         case 7:
+-            return ki18nc( "Indian National month 7 - KLocale::ShortName",  "Āsw" ).toString( locale() );
++            return ki18nc("Indian National month 7 - KLocale::ShortName",  "Āsw").toString(locale());
+         case 8:
+-            return ki18nc( "Indian National month 8 - KLocale::ShortName",  "Kār" ).toString( locale() );
++            return ki18nc("Indian National month 8 - KLocale::ShortName",  "Kār").toString(locale());
+         case 9:
+-            return ki18nc( "Indian National month 9 - KLocale::ShortName",  "Agr" ).toString( locale() );
++            return ki18nc("Indian National month 9 - KLocale::ShortName",  "Agr").toString(locale());
+         case 10:
+-            return ki18nc( "Indian National month 10 - KLocale::ShortName", "Pau" ).toString( locale() );
++            return ki18nc("Indian National month 10 - KLocale::ShortName", "Pau").toString(locale());
+         case 11:
+-            return ki18nc( "Indian National month 11 - KLocale::ShortName", "Māg" ).toString( locale() );
++            return ki18nc("Indian National month 11 - KLocale::ShortName", "Māg").toString(locale());
+         case 12:
+-            return ki18nc( "Indian National month 12 - KLocale::ShortName", "Phā" ).toString( locale() );
++            return ki18nc("Indian National month 12 - KLocale::ShortName", "Phā").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::LongName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::LongName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Indian National month 1 - KLocale::LongName Possessive",  "of Chaitra"    ).toString( locale() );
++            return ki18nc("Indian National month 1 - KLocale::LongName Possessive",  "of Chaitra").toString(locale());
+         case 2:
+-            return ki18nc( "Indian National month 2 - KLocale::LongName Possessive",  "of Vaishākh"   ).toString( locale() );
++            return ki18nc("Indian National month 2 - KLocale::LongName Possessive",  "of Vaishākh").toString(locale());
+         case 3:
+-            return ki18nc( "Indian National month 3 - KLocale::LongName Possessive",  "of Jyaishtha"  ).toString( locale() );
++            return ki18nc("Indian National month 3 - KLocale::LongName Possessive",  "of Jyaishtha").toString(locale());
+         case 4:
+-            return ki18nc( "Indian National month 4 - KLocale::LongName Possessive",  "of Āshādha"    ).toString( locale() );
++            return ki18nc("Indian National month 4 - KLocale::LongName Possessive",  "of Āshādha").toString(locale());
+         case 5:
+-            return ki18nc( "Indian National month 5 - KLocale::LongName Possessive",  "of Shrāvana"   ).toString( locale() );
++            return ki18nc("Indian National month 5 - KLocale::LongName Possessive",  "of Shrāvana").toString(locale());
+         case 6:
+-            return ki18nc( "Indian National month 6 - KLocale::LongName Possessive",  "of Bhādrapad"  ).toString( locale() );
++            return ki18nc("Indian National month 6 - KLocale::LongName Possessive",  "of Bhādrapad").toString(locale());
+         case 7:
+-            return ki18nc( "Indian National month 7 - KLocale::LongName Possessive",  "of Āshwin"     ).toString( locale() );
++            return ki18nc("Indian National month 7 - KLocale::LongName Possessive",  "of Āshwin").toString(locale());
+         case 8:
+-            return ki18nc( "Indian National month 8 - KLocale::LongName Possessive",  "of Kārtik"     ).toString( locale() );
++            return ki18nc("Indian National month 8 - KLocale::LongName Possessive",  "of Kārtik").toString(locale());
+         case 9:
+-            return ki18nc( "Indian National month 9 - KLocale::LongName Possessive",  "of Agrahayana" ).toString( locale() );
++            return ki18nc("Indian National month 9 - KLocale::LongName Possessive",  "of Agrahayana").toString(locale());
+         case 10:
+-            return ki18nc( "Indian National month 10 - KLocale::LongName Possessive", "of Paush"      ).toString( locale() );
++            return ki18nc("Indian National month 10 - KLocale::LongName Possessive", "of Paush").toString(locale());
+         case 11:
+-            return ki18nc( "Indian National month 11 - KLocale::LongName Possessive", "of Māgh"       ).toString( locale() );
++            return ki18nc("Indian National month 11 - KLocale::LongName Possessive", "of Māgh").toString(locale());
+         case 12:
+-            return ki18nc( "Indian National month 12 - KLocale::LongName Possessive", "of Phālgun"    ).toString( locale() );
++            return ki18nc("Indian National month 12 - KLocale::LongName Possessive", "of Phālgun").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+     // Default to LongName
+-    switch ( month ) {
++    switch (month) {
+     case 1:
+-        return ki18nc( "Indian National month 1 - KLocale::LongName",  "Chaitra"    ).toString( locale() );
++        return ki18nc("Indian National month 1 - KLocale::LongName",  "Chaitra").toString(locale());
+     case 2:
+-        return ki18nc( "Indian National month 2 - KLocale::LongName",  "Vaishākh"   ).toString( locale() );
++        return ki18nc("Indian National month 2 - KLocale::LongName",  "Vaishākh").toString(locale());
+     case 3:
+-        return ki18nc( "Indian National month 3 - KLocale::LongName",  "Jyaishtha"  ).toString( locale() );
++        return ki18nc("Indian National month 3 - KLocale::LongName",  "Jyaishtha").toString(locale());
+     case 4:
+-        return ki18nc( "Indian National month 4 - KLocale::LongName",  "Āshādha"    ).toString( locale() );
++        return ki18nc("Indian National month 4 - KLocale::LongName",  "Āshādha").toString(locale());
+     case 5:
+-        return ki18nc( "Indian National month 5 - KLocale::LongName",  "Shrāvana"   ).toString( locale() );
++        return ki18nc("Indian National month 5 - KLocale::LongName",  "Shrāvana").toString(locale());
+     case 6:
+-        return ki18nc( "Indian National month 6 - KLocale::LongName",  "Bhādrapad"  ).toString( locale() );
++        return ki18nc("Indian National month 6 - KLocale::LongName",  "Bhādrapad").toString(locale());
+     case 7:
+-        return ki18nc( "Indian National month 7 - KLocale::LongName",  "Āshwin"     ).toString( locale() );
++        return ki18nc("Indian National month 7 - KLocale::LongName",  "Āshwin").toString(locale());
+     case 8:
+-        return ki18nc( "Indian National month 8 - KLocale::LongName",  "Kārtik"     ).toString( locale() );
++        return ki18nc("Indian National month 8 - KLocale::LongName",  "Kārtik").toString(locale());
+     case 9:
+-        return ki18nc( "Indian National month 9 - KLocale::LongName",  "Agrahayana" ).toString( locale() );
++        return ki18nc("Indian National month 9 - KLocale::LongName",  "Agrahayana").toString(locale());
+     case 10:
+-        return ki18nc( "Indian National month 10 - KLocale::LongName", "Paush"      ).toString( locale() );
++        return ki18nc("Indian National month 10 - KLocale::LongName", "Paush").toString(locale());
+     case 11:
+-        return ki18nc( "Indian National month 11 - KLocale::LongName", "Māgh"       ).toString( locale() );
++        return ki18nc("Indian National month 11 - KLocale::LongName", "Māgh").toString(locale());
+     case 12:
+-        return ki18nc( "Indian National month 12 - KLocale::LongName", "Phālgun"    ).toString( locale() );
++        return ki18nc("Indian National month 12 - KLocale::LongName", "Phālgun").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+-QString KCalendarSystemIndianNationalPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
++QString KCalendarSystemIndianNationalPrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
+ {
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::NarrowName) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Indian National weekday 1 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Indian National weekday 1 - KLocale::NarrowName ", "S").toString(locale());
+         case 2:
+-            return ki18nc( "Indian National weekday 2 - KLocale::NarrowName ", "M" ).toString( locale() );
++            return ki18nc("Indian National weekday 2 - KLocale::NarrowName ", "M").toString(locale());
+         case 3:
+-            return ki18nc( "Indian National weekday 3 - KLocale::NarrowName ", "B" ).toString( locale() );
++            return ki18nc("Indian National weekday 3 - KLocale::NarrowName ", "B").toString(locale());
+         case 4:
+-            return ki18nc( "Indian National weekday 4 - KLocale::NarrowName ", "G" ).toString( locale() );
++            return ki18nc("Indian National weekday 4 - KLocale::NarrowName ", "G").toString(locale());
+         case 5:
+-            return ki18nc( "Indian National weekday 5 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Indian National weekday 5 - KLocale::NarrowName ", "S").toString(locale());
+         case 6:
+-            return ki18nc( "Indian National weekday 6 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Indian National weekday 6 - KLocale::NarrowName ", "S").toString(locale());
+         case 7:
+-            return ki18nc( "Indian National weekday 7 - KLocale::NarrowName ", "R" ).toString( locale() );
++            return ki18nc("Indian National weekday 7 - KLocale::NarrowName ", "R").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName  || format == KLocale:: ShortNumber ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::ShortName  || format == KLocale:: ShortNumber) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Indian National weekday 1 - KLocale::ShortName", "Som" ).toString( locale() );
++            return ki18nc("Indian National weekday 1 - KLocale::ShortName", "Som").toString(locale());
+         case 2:
+-            return ki18nc( "Indian National weekday 2 - KLocale::ShortName", "Mañ" ).toString( locale() );
++            return ki18nc("Indian National weekday 2 - KLocale::ShortName", "Mañ").toString(locale());
+         case 3:
+-            return ki18nc( "Indian National weekday 3 - KLocale::ShortName", "Bud" ).toString( locale() );
++            return ki18nc("Indian National weekday 3 - KLocale::ShortName", "Bud").toString(locale());
+         case 4:
+-            return ki18nc( "Indian National weekday 4 - KLocale::ShortName", "Gur" ).toString( locale() );
++            return ki18nc("Indian National weekday 4 - KLocale::ShortName", "Gur").toString(locale());
+         case 5:
+-            return ki18nc( "Indian National weekday 5 - KLocale::ShortName", "Suk" ).toString( locale() );
++            return ki18nc("Indian National weekday 5 - KLocale::ShortName", "Suk").toString(locale());
+         case 6:
+-            return ki18nc( "Indian National weekday 6 - KLocale::ShortName", "San" ).toString( locale() );
++            return ki18nc("Indian National weekday 6 - KLocale::ShortName", "San").toString(locale());
+         case 7:
+-            return ki18nc( "Indian National weekday 7 - KLocale::ShortName", "Rav" ).toString( locale() );
++            return ki18nc("Indian National weekday 7 - KLocale::ShortName", "Rav").toString(locale());
+         default: return QString();
+         }
+     }
+ 
+-    switch ( weekDay ) {
++    switch (weekDay) {
+     case 1:
+-        return ki18nc( "Indian National weekday 1 - KLocale::LongName", "Somavãra"  ).toString( locale() );
++        return ki18nc("Indian National weekday 1 - KLocale::LongName", "Somavãra").toString(locale());
+     case 2:
+-        return ki18nc( "Indian National weekday 2 - KLocale::LongName", "Mañgalvã"  ).toString( locale() );
++        return ki18nc("Indian National weekday 2 - KLocale::LongName", "Mañgalvã").toString(locale());
+     case 3:
+-        return ki18nc( "Indian National weekday 3 - KLocale::LongName", "Budhavãra" ).toString( locale() );
++        return ki18nc("Indian National weekday 3 - KLocale::LongName", "Budhavãra").toString(locale());
+     case 4:
+-        return ki18nc( "Indian National weekday 4 - KLocale::LongName", "Guruvãra"  ).toString( locale() );
++        return ki18nc("Indian National weekday 4 - KLocale::LongName", "Guruvãra").toString(locale());
+     case 5:
+-        return ki18nc( "Indian National weekday 5 - KLocale::LongName", "Sukravãra" ).toString( locale() );
++        return ki18nc("Indian National weekday 5 - KLocale::LongName", "Sukravãra").toString(locale());
+     case 6:
+-        return ki18nc( "Indian National weekday 6 - KLocale::LongName", "Sanivãra"  ).toString( locale() );
++        return ki18nc("Indian National weekday 6 - KLocale::LongName", "Sanivãra").toString(locale());
+     case 7:
+-        return ki18nc( "Indian National weekday 7 - KLocale::LongName", "Raviãra"   ).toString( locale() );
++        return ki18nc("Indian National weekday 7 - KLocale::LongName", "Raviãra").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+ 
+-KCalendarSystemIndianNational::KCalendarSystemIndianNational( const KLocale *locale )
+-                             : KCalendarSystem( *new KCalendarSystemIndianNationalPrivate( this ), KSharedConfig::Ptr(), locale ),
+-                               dont_use( 0 )
++KCalendarSystemIndianNational::KCalendarSystemIndianNational(const KLocale *locale)
++                             : KCalendarSystem(*new KCalendarSystemIndianNationalPrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemIndianNational::KCalendarSystemIndianNational( const KSharedConfig::Ptr config, const KLocale *locale )
+-                             : KCalendarSystem( *new KCalendarSystemIndianNationalPrivate( this ), config, locale ),
+-                               dont_use( 0 )
++KCalendarSystemIndianNational::KCalendarSystemIndianNational(const KSharedConfig::Ptr config, const KLocale *locale)
++                             : KCalendarSystem(*new KCalendarSystemIndianNationalPrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemIndianNational::KCalendarSystemIndianNational( KCalendarSystemIndianNationalPrivate &dd,
+-                                                              const KSharedConfig::Ptr config,
+-                                                              const KLocale *locale )
+-                             : KCalendarSystem( dd, config, locale ),
+-                               dont_use( 0 )
++KCalendarSystemIndianNational::KCalendarSystemIndianNational(KCalendarSystemIndianNationalPrivate &dd,
++                                                             const KSharedConfig::Ptr config,
++                                                             const KLocale *locale)
++                             : KCalendarSystem(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemIndianNational::~KCalendarSystemIndianNational()
+ {
+-    delete dont_use;
+ }
+ 
+ QString KCalendarSystemIndianNational::calendarType() const
+ {
+-    return QLatin1String( "indian-national" );
++    return QLatin1String("indian-national");
+ }
+ 
+ QDate KCalendarSystemIndianNational::epoch() const
+ {
+     //0000-01-01, has Year 0.
+     //0078-03-22 AD Gregorian / 0078-03-24 AD Julian
+-    return QDate::fromJulianDay( 1749994 );
++    return QDate::fromJulianDay(1749994);
+ }
+ 
+ QDate KCalendarSystemIndianNational::earliestValidDate() const
+@@ -432,7 +428,7 @@ QDate KCalendarSystemIndianNational::earliestValidDate() const
+     //0000-01-01, has Year 0.
+     //0078-03-22 AD Gregorian / 0078-03-24 AD Julian
+     //Don't do proleptic yet, need to check
+-    return QDate::fromJulianDay( 1749630 );
++    return QDate::fromJulianDay(1749630);
+ }
+ 
+ QDate KCalendarSystemIndianNational::latestValidDate() const
+@@ -440,188 +436,47 @@ QDate KCalendarSystemIndianNational::latestValidDate() const
+     // Set to last day of year 9999 until confirm date formats & widgets support > 9999
+     //9999-12-30
+     //10078-03-21 AD Gregorian
+-    return QDate::fromJulianDay( 5402054 );
++    return QDate::fromJulianDay(5402054);
+ }
+ 
+-bool KCalendarSystemIndianNational::isValid( int year, int month, int day ) const
++bool KCalendarSystemIndianNational::isValid(int year, int month, int day) const
+ {
+-    return KCalendarSystem::isValid( year, month, day );
++    return KCalendarSystem::isValid(year, month, day);
+ }
+ 
+-bool KCalendarSystemIndianNational::isValid( const QDate &date ) const
++bool KCalendarSystemIndianNational::isValid(const QDate &date) const
+ {
+-    return KCalendarSystem::isValid( date );
++    return KCalendarSystem::isValid(date);
+ }
+ 
+-bool KCalendarSystemIndianNational::setDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemIndianNational::isLeapYear(int year) const
+ {
+-    return KCalendarSystem::setDate( date, year, month, day );
++    return KCalendarSystem::isLeapYear(year);
+ }
+ 
+-// Deprecated
+-bool KCalendarSystemIndianNational::setYMD( QDate &date, int y, int m, int d ) const
++bool KCalendarSystemIndianNational::isLeapYear(const QDate &date) const
+ {
+-    return KCalendarSystem::setDate( date, y, m, d );
++    return KCalendarSystem::isLeapYear(date);
+ }
+ 
+-int KCalendarSystemIndianNational::year( const QDate &date ) const
++QString KCalendarSystemIndianNational::monthName(int month, int year, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::year( date );
++    return KCalendarSystem::monthName(month, year, format);
+ }
+ 
+-int KCalendarSystemIndianNational::month( const QDate &date ) const
++QString KCalendarSystemIndianNational::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::month( date );
++    return KCalendarSystem::monthName(date, format);
+ }
+ 
+-int KCalendarSystemIndianNational::day( const QDate &date ) const
++QString KCalendarSystemIndianNational::weekDayName(int weekDay, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::day( date );
++    return KCalendarSystem::weekDayName(weekDay, format);
+ }
+ 
+-QDate KCalendarSystemIndianNational::addYears( const QDate &date, int nyears ) const
++QString KCalendarSystemIndianNational::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemIndianNational::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystem::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemIndianNational::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystem::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemIndianNational::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::monthsInYear( date );
+-}
+-
+-int KCalendarSystemIndianNational::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::weeksInYear( date );
+-}
+-
+-int KCalendarSystemIndianNational::weeksInYear( int year ) const
+-{
+-    return KCalendarSystem::weeksInYear( year );
+-}
+-
+-int KCalendarSystemIndianNational::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInYear( date );
+-}
+-
+-int KCalendarSystemIndianNational::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInMonth( date );
+-}
+-
+-int KCalendarSystemIndianNational::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInWeek( date );
+-}
+-
+-int KCalendarSystemIndianNational::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfYear( date );
+-}
+-
+-int KCalendarSystemIndianNational::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemIndianNational::weekNumber( const QDate &date, int * yearNum ) const
+-{
+-    return KCalendarSystem::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemIndianNational::isLeapYear( int year ) const
+-{
+-    return KCalendarSystem::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemIndianNational::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemIndianNational::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemIndianNational::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( date, format );
+-}
+-
+-QString KCalendarSystemIndianNational::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemIndianNational::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemIndianNational::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemIndianNational::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemIndianNational::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemIndianNational::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemIndianNational::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemIndianNational::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemIndianNational::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystem::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemIndianNational::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemIndianNational::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemIndianNational::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemIndianNational::weekStartDay() const
+-{
+-    return KCalendarSystem::weekStartDay();
++    return KCalendarSystem::weekDayName(date, format);
+ }
+ 
+ int KCalendarSystemIndianNational::weekDayOfPray() const
+@@ -649,22 +504,22 @@ bool KCalendarSystemIndianNational::isProleptic() const
+     return false;
+ }
+ 
+-bool KCalendarSystemIndianNational::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemIndianNational::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+     int L, N, I, J, D, M, Y;
+ 
+     // "Explanatory Supplement to the Astronomical Almanac" 2006 section 12.94 pp 605-606
+     // Originally from "Report of the Calendar Reform Committee" 1955
+     L = jd + 68518;
+-    N = ( 4 * L ) / 146097;
+-    L = L - ( 146097 * N + 3 ) / 4;
+-    I = ( 4000 * ( L + 1 ) ) / 1461001;
+-    L = L - ( 1461 * I ) / 4 + 1;
+-    J = ( ( L - 1 ) / 31 ) * ( 1 - L / 185 ) + ( L / 185 ) * ( ( L - 156 ) / 30 + 5 ) - L / 366;
+-    D = L - 31 * J + ( ( J + 2 ) / 8 ) * ( J - 5 );
++    N = (4 * L) / 146097;
++    L = L - (146097 * N + 3) / 4;
++    I = (4000 * (L + 1)) / 1461001;
++    L = L - (1461 * I) / 4 + 1;
++    J = ((L - 1) / 31) * (1 - L / 185) + (L / 185) * ((L - 156) / 30 + 5) - L / 366;
++    D = L - 31 * J + ((J + 2) / 8) * (J - 5);
+     L = J / 11;
+     M = J + 2 - 12 * L;
+-    Y = 100 * ( N - 49 ) + L + I - 78;
++    Y = 100 * (N - 49) + L + I - 78;
+ 
+     day = D;
+     month = M;
+@@ -673,7 +528,7 @@ bool KCalendarSystemIndianNational::julianDayToDate( int jd, int &year, int &mon
+     return true;
+ }
+ 
+-bool KCalendarSystemIndianNational::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemIndianNational::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+     int Y = year;
+     int M = month;
+@@ -682,11 +537,11 @@ bool KCalendarSystemIndianNational::dateToJulianDay( int year, int month, int da
+     // "Explanatory Supplement to the Astronomical Almanac" 2006 section 12.94 pp 605-606
+     // Originally from "Report of the Calendar Reform Committee" 1955
+     jd = 365 * Y
+-         + ( Y + 78 - 1 / M ) / 4
++         + (Y + 78 - 1 / M) / 4
+          + 31 * M
+-         - ( M + 9 ) / 11
+-         - ( M / 7 ) * ( M - 7 )
+-         - ( 3 * ( ( Y  + 78 - 1 / M ) / 100 + 1 ) ) / 4
++         - (M + 9) / 11
++         - (M / 7) * (M - 7)
++         - (3 * ((Y  + 78 - 1 / M) / 100 + 1)) / 4
+          + D
+          + 1749579;
+ 
+diff --git a/kdecore/date/kcalendarsystemindiannational_p.h b/kdecore/date/kcalendarsystemindiannational_p.h
+index 7399a39..0e8e036 100644
+--- a/kdecore/date/kcalendarsystemindiannational_p.h
++++ b/kdecore/date/kcalendarsystemindiannational_p.h
+@@ -41,8 +41,8 @@ class KCalendarSystemIndianNationalPrivate;
+ class KCalendarSystemIndianNational: public KCalendarSystem
+ {
+ public:
+-    explicit KCalendarSystemIndianNational( const KLocale *locale = 0 );
+-    explicit KCalendarSystemIndianNational( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystemIndianNational(const KLocale *locale = 0);
++    explicit KCalendarSystemIndianNational(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+     virtual ~KCalendarSystemIndianNational();
+ 
+     virtual QString calendarType() const;
+@@ -50,58 +50,19 @@ public:
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -109,15 +70,14 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemIndianNational( KCalendarSystemIndianNationalPrivate &dd,
+-                                   const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                                   const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemIndianNational(KCalendarSystemIndianNationalPrivate &dd,
++                                  const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                                  const KLocale *locale = 0);
+ 
+ private:
+-    Q_DECLARE_PRIVATE( KCalendarSystemIndianNational )
+-    KCalendarSystemIndianNationalPrivate * const dont_use; // KDE5 remove, use shared d
++    Q_DECLARE_PRIVATE(KCalendarSystemIndianNational)
+ };
+ 
+ #endif // KCALENDARSYSTEMINDIANNATIONAL_H
+diff --git a/kdecore/date/kcalendarsystemislamiccivil.cpp b/kdecore/date/kcalendarsystemislamiccivil.cpp
+new file mode 100644
+index 0000000..053ec55
+--- /dev/null
++++ b/kdecore/date/kcalendarsystemislamiccivil.cpp
+@@ -0,0 +1,596 @@
++/*
++    Copyright (c) 2002-2003 Carlos Moro 
++    Copyright (c) 2002-2003 Hans Petter Bieker 
++    Copyright 2007, 2008, 2009, 2010 John Layt 
++
++    This library is free software; you can redistribute it and/or
++    modify it under the terms of the GNU Library General Public
++    License as published by the Free Software Foundation; either
++    version 2 of the License, or (at your option) any later version.
++
++    This library is distributed in the hope that it will be useful,
++    but WITHOUT ANY WARRANTY; without even the implied warranty of
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++    Library General Public License for more details.
++
++    You should have received a copy of the GNU Library General Public License
++    along with this library; see the file COPYING.LIB.  If not, write to
++    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++    Boston, MA 02110-1301, USA.
++*/
++
++#include "kcalendarsystemislamiccivil_p.h"
++#include "kcalendarsystemprivate_p.h"
++
++#include 
++
++class KCalendarSystemIslamicCivilPrivate : public KCalendarSystemPrivate
++{
++public:
++    explicit KCalendarSystemIslamicCivilPrivate(KCalendarSystemIslamicCivil *q);
++
++    virtual ~KCalendarSystemIslamicCivilPrivate();
++
++    // Virtual methods each calendar system must re-implement
++    virtual KLocale::CalendarSystem calendarSystem() const;
++    virtual void loadDefaultEraList();
++    virtual int monthsInYear(int year) const;
++    virtual int daysInMonth(int year, int month) const;
++    virtual int daysInYear(int year) const;
++    virtual int daysInWeek() const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool hasLeapMonths() const;
++    virtual bool hasYearZero() const;
++    virtual int maxDaysInWeek() const;
++    virtual int maxMonthsInYear() const;
++    virtual int earliestValidYear() const;
++    virtual int latestValidYear() const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
++};
++
++// Shared d pointer base class definitions
++
++KCalendarSystemIslamicCivilPrivate::KCalendarSystemIslamicCivilPrivate(KCalendarSystemIslamicCivil *q)
++                                  : KCalendarSystemPrivate(q)
++{
++}
++
++KCalendarSystemIslamicCivilPrivate::~KCalendarSystemIslamicCivilPrivate()
++{
++}
++
++KLocale::CalendarSystem KCalendarSystemIslamicCivilPrivate::calendarSystem() const
++{
++    return KLocale::IslamicCivilCalendar;
++}
++
++void KCalendarSystemIslamicCivilPrivate::loadDefaultEraList()
++{
++    QString name, shortName, format;
++    // Islamic Era, Anno Hegirae, "Year of the Hijra".
++    name = i18nc("Calendar Era: Hijri Islamic Era, years > 0, LongFormat", "Anno Hegirae");
++    shortName = i18nc("Calendar Era: Hijri Islamic Era, years > 0, ShortFormat", "AH");
++    format = i18nc("(kdedt-format) Hijri, AH, full era year format used for %EY, e.g. 2000 AH", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
++}
++
++int KCalendarSystemIslamicCivilPrivate::monthsInYear(int year) const
++{
++    Q_UNUSED(year)
++    return 12;
++}
++
++int KCalendarSystemIslamicCivilPrivate::daysInMonth(int year, int month) const
++{
++    if (month == 12 && isLeapYear(year)) {
++        return 30;
++    }
++
++    if (month % 2 == 0) {   // Even number months have 29 days
++        return 29;
++    } else {  // Odd number months have 30 days
++        return 30;
++    }
++}
++
++int KCalendarSystemIslamicCivilPrivate::daysInYear(int year) const
++{
++    if (isLeapYear(year)) {
++        return 355;
++    } else {
++        return 354;
++    }
++}
++
++int KCalendarSystemIslamicCivilPrivate::daysInWeek() const
++{
++    return 7;
++}
++
++bool KCalendarSystemIslamicCivilPrivate::isLeapYear(int year) const
++{
++    // Years 2, 5, 7, 10, 13, 16, 18, 21, 24, 26, 29 of the 30 year cycle
++
++    /*
++    The following C++ code is translated from the Lisp code
++    in ``Calendrical Calculations'' by Nachum Dershowitz and
++    Edward M. Reingold, Software---Practice & Experience,
++    vol. 20, no. 9 (September, 1990), pp. 899--928.
++
++    This code is in the public domain, but any use of it
++    should publically acknowledge its source.
++    */
++
++    if ((((11 * year) + 14) % 30) < 11) {
++        return true;
++    } else {
++        return false;
++    }
++
++    // The following variations will be implemented in separate classes in 4.5
++    // May be cleaner to formally define using a case statement switch on (year % 30)
++
++    // Variation used by Bar Habraeus / Graves / Birashk / Some Microsoft products
++    // Years 2, 5, 7, 10, 13, 15, 18, 21, 24, 26, 29 of the 30 year cycle
++    // if ( ( ( ( 11 * year ) + 15 ) % 30 ) < 11 ) {
++
++    // Variation used by Bohras / Sahifa with epoch 15 July 622 jd = 1948440
++    // Years 2, 5, 8, 10, 13, 16, 19, 21, 24, 27, 29 of the 30 year cycle
++    // if ( ( ( ( 11 * year ) + 1 ) % 30 ) < 11 ) {
++}
++
++bool KCalendarSystemIslamicCivilPrivate::hasLeapMonths() const
++{
++    return false;
++}
++
++bool KCalendarSystemIslamicCivilPrivate::hasYearZero() const
++{
++    return false;
++}
++
++int KCalendarSystemIslamicCivilPrivate::maxDaysInWeek() const
++{
++    return 7;
++}
++
++int KCalendarSystemIslamicCivilPrivate::maxMonthsInYear() const
++{
++    return 12;
++}
++
++int KCalendarSystemIslamicCivilPrivate::earliestValidYear() const
++{
++    return 1;
++}
++
++int KCalendarSystemIslamicCivilPrivate::latestValidYear() const
++{
++    return 9999;
++}
++
++QString KCalendarSystemIslamicCivilPrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
++{
++    Q_UNUSED(year);
++
++    if (format == KLocale::NarrowName) {
++        switch (month) {
++        case 1:
++            return ki18nc("Hijri month 1 - KLocale::NarrowName",  "M").toString(locale());
++        case 2:
++            return ki18nc("Hijri month 2 - KLocale::NarrowName",  "S").toString(locale());
++        case 3:
++            return ki18nc("Hijri month 3 - KLocale::NarrowName",  "A").toString(locale());
++        case 4:
++            return ki18nc("Hijri month 4 - KLocale::NarrowName",  "T").toString(locale());
++        case 5:
++            return ki18nc("Hijri month 5 - KLocale::NarrowName",  "A").toString(locale());
++        case 6:
++            return ki18nc("Hijri month 6 - KLocale::NarrowName",  "T").toString(locale());
++        case 7:
++            return ki18nc("Hijri month 7 - KLocale::NarrowName",  "R").toString(locale());
++        case 8:
++            return ki18nc("Hijri month 8 - KLocale::NarrowName",  "S").toString(locale());
++        case 9:
++            return ki18nc("Hijri month 9 - KLocale::NarrowName",  "R").toString(locale());
++        case 10:
++            return ki18nc("Hijri month 10 - KLocale::NarrowName", "S").toString(locale());
++        case 11:
++            return ki18nc("Hijri month 11 - KLocale::NarrowName", "Q").toString(locale());
++        case 12:
++            return ki18nc("Hijri month 12 - KLocale::NarrowName", "H").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    if (format == KLocale::ShortName && possessive) {
++        switch (month) {
++        case 1:
++            return ki18nc("Hijri month 1 - KLocale::ShortName Possessive",  "of Muh").toString(locale());
++        case 2:
++            return ki18nc("Hijri month 2 - KLocale::ShortName Possessive",  "of Saf").toString(locale());
++        case 3:
++            return ki18nc("Hijri month 3 - KLocale::ShortName Possessive",  "of R.A").toString(locale());
++        case 4:
++            return ki18nc("Hijri month 4 - KLocale::ShortName Possessive",  "of R.T").toString(locale());
++        case 5:
++            return ki18nc("Hijri month 5 - KLocale::ShortName Possessive",  "of J.A").toString(locale());
++        case 6:
++            return ki18nc("Hijri month 6 - KLocale::ShortName Possessive",  "of J.T").toString(locale());
++        case 7:
++            return ki18nc("Hijri month 7 - KLocale::ShortName Possessive",  "of Raj").toString(locale());
++        case 8:
++            return ki18nc("Hijri month 8 - KLocale::ShortName Possessive",  "of Sha").toString(locale());
++        case 9:
++            return ki18nc("Hijri month 9 - KLocale::ShortName Possessive",  "of Ram").toString(locale());
++        case 10:
++            return ki18nc("Hijri month 10 - KLocale::ShortName Possessive", "of Shw").toString(locale());
++        case 11:
++            return ki18nc("Hijri month 11 - KLocale::ShortName Possessive", "of Qid").toString(locale());
++        case 12:
++            return ki18nc("Hijri month 12 - KLocale::ShortName Possessive", "of Hij").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    if (format == KLocale::ShortName && !possessive) {
++        switch (month) {
++        case 1:
++            return ki18nc("Hijri month 1 - KLocale::ShortName",  "Muh").toString(locale());
++        case 2:
++            return ki18nc("Hijri month 2 - KLocale::ShortName",  "Saf").toString(locale());
++        case 3:
++            return ki18nc("Hijri month 3 - KLocale::ShortName",  "R.A").toString(locale());
++        case 4:
++            return ki18nc("Hijri month 4 - KLocale::ShortName",  "R.T").toString(locale());
++        case 5:
++            return ki18nc("Hijri month 5 - KLocale::ShortName",  "J.A").toString(locale());
++        case 6:
++            return ki18nc("Hijri month 6 - KLocale::ShortName",  "J.T").toString(locale());
++        case 7:
++            return ki18nc("Hijri month 7 - KLocale::ShortName",  "Raj").toString(locale());
++        case 8:
++            return ki18nc("Hijri month 8 - KLocale::ShortName",  "Sha").toString(locale());
++        case 9:
++            return ki18nc("Hijri month 9 - KLocale::ShortName",  "Ram").toString(locale());
++        case 10:
++            return ki18nc("Hijri month 10 - KLocale::ShortName", "Shw").toString(locale());
++        case 11:
++            return ki18nc("Hijri month 11 - KLocale::ShortName", "Qid").toString(locale());
++        case 12:
++            return ki18nc("Hijri month 12 - KLocale::ShortName", "Hij").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    if (format == KLocale::LongName && possessive) {
++        switch (month) {
++        case 1:
++            return ki18nc("Hijri month 1 - KLocale::LongName Possessive",  "of Muharram").toString(locale());
++        case 2:
++            return ki18nc("Hijri month 2 - KLocale::LongName Possessive",  "of Safar").toString(locale());
++        case 3:
++            return ki18nc("Hijri month 3 - KLocale::LongName Possessive",  "of Rabi` al-Awal").toString(locale());
++        case 4:
++            return ki18nc("Hijri month 4 - KLocale::LongName Possessive",  "of Rabi` al-Thaani").toString(locale());
++        case 5:
++            return ki18nc("Hijri month 5 - KLocale::LongName Possessive",  "of Jumaada al-Awal").toString(locale());
++        case 6:
++            return ki18nc("Hijri month 6 - KLocale::LongName Possessive",  "of Jumaada al-Thaani").toString(locale());
++        case 7:
++            return ki18nc("Hijri month 7 - KLocale::LongName Possessive",  "of Rajab").toString(locale());
++        case 8:
++            return ki18nc("Hijri month 8 - KLocale::LongName Possessive",  "of Sha`ban").toString(locale());
++        case 9:
++            return ki18nc("Hijri month 9 - KLocale::LongName Possessive",  "of Ramadan").toString(locale());
++        case 10:
++            return ki18nc("Hijri month 10 - KLocale::LongName Possessive", "of Shawwal").toString(locale());
++        case 11:
++            return ki18nc("Hijri month 11 - KLocale::LongName Possessive", "of Thu al-Qi`dah").toString(locale());
++        case 12:
++            return ki18nc("Hijri month 12 - KLocale::LongName Possessive", "of Thu al-Hijjah").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    // Default to LongName
++    switch (month) {
++    case 1:
++        return ki18nc("Hijri month 1 - KLocale::LongName",  "Muharram").toString(locale());
++    case 2:
++        return ki18nc("Hijri month 2 - KLocale::LongName",  "Safar").toString(locale());
++    case 3:
++        return ki18nc("Hijri month 3 - KLocale::LongName",  "Rabi` al-Awal").toString(locale());
++    case 4:
++        return ki18nc("Hijri month 4 - KLocale::LongName",  "Rabi` al-Thaani").toString(locale());
++    case 5:
++        return ki18nc("Hijri month 5 - KLocale::LongName",  "Jumaada al-Awal").toString(locale());
++    case 6:
++        return ki18nc("Hijri month 6 - KLocale::LongName",  "Jumaada al-Thaani").toString(locale());
++    case 7:
++        return ki18nc("Hijri month 7 - KLocale::LongName",  "Rajab").toString(locale());
++    case 8:
++        return ki18nc("Hijri month 8 - KLocale::LongName",  "Sha`ban").toString(locale());
++    case 9:
++        return ki18nc("Hijri month 9 - KLocale::LongName",  "Ramadan").toString(locale());
++    case 10:
++        return ki18nc("Hijri month 10 - KLocale::LongName", "Shawwal").toString(locale());
++    case 11:
++        return ki18nc("Hijri month 11 - KLocale::LongName", "Thu al-Qi`dah").toString(locale());
++    case 12:
++        return ki18nc("Hijri month 12 - KLocale::LongName", "Thu al-Hijjah").toString(locale());
++    default:
++        return QString();
++    }
++}
++
++QString KCalendarSystemIslamicCivilPrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
++{
++    if (format == KLocale::NarrowName) {
++        switch (weekDay) {
++        case 1:
++            return ki18nc("Hijri weekday 1 - KLocale::NarrowName ", "I").toString(locale());
++        case 2:
++            return ki18nc("Hijri weekday 2 - KLocale::NarrowName ", "T").toString(locale());
++        case 3:
++            return ki18nc("Hijri weekday 3 - KLocale::NarrowName ", "A").toString(locale());
++        case 4:
++            return ki18nc("Hijri weekday 4 - KLocale::NarrowName ", "K").toString(locale());
++        case 5:
++            return ki18nc("Hijri weekday 5 - KLocale::NarrowName ", "J").toString(locale());
++        case 6:
++            return ki18nc("Hijri weekday 6 - KLocale::NarrowName ", "S").toString(locale());
++        case 7:
++            return ki18nc("Hijri weekday 7 - KLocale::NarrowName ", "A").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    if (format == KLocale::ShortName  || format == KLocale:: ShortNumber) {
++        switch (weekDay) {
++        case 1:
++            return ki18nc("Hijri weekday 1 - KLocale::ShortName", "Ith").toString(locale());
++        case 2:
++            return ki18nc("Hijri weekday 2 - KLocale::ShortName", "Thl").toString(locale());
++        case 3:
++            return ki18nc("Hijri weekday 3 - KLocale::ShortName", "Arb").toString(locale());
++        case 4:
++            return ki18nc("Hijri weekday 4 - KLocale::ShortName", "Kha").toString(locale());
++        case 5:
++            return ki18nc("Hijri weekday 5 - KLocale::ShortName", "Jum").toString(locale());
++        case 6:
++            return ki18nc("Hijri weekday 6 - KLocale::ShortName", "Sab").toString(locale());
++        case 7:
++            return ki18nc("Hijri weekday 7 - KLocale::ShortName", "Ahd").toString(locale());
++        default: return QString();
++        }
++    }
++
++    switch (weekDay) {
++    case 1:
++        return ki18nc("Hijri weekday 1 - KLocale::LongName", "Yaum al-Ithnain").toString(locale());
++    case 2:
++        return ki18nc("Hijri weekday 2 - KLocale::LongName", "Yau al-Thulatha").toString(locale());
++    case 3:
++        return ki18nc("Hijri weekday 3 - KLocale::LongName", "Yaum al-Arbi'a").toString(locale());
++    case 4:
++        return ki18nc("Hijri weekday 4 - KLocale::LongName", "Yaum al-Khamees").toString(locale());
++    case 5:
++        return ki18nc("Hijri weekday 5 - KLocale::LongName", "Yaum al-Jumma").toString(locale());
++    case 6:
++        return ki18nc("Hijri weekday 6 - KLocale::LongName", "Yaum al-Sabt").toString(locale());
++    case 7:
++        return ki18nc("Hijri weekday 7 - KLocale::LongName", "Yaum al-Ahad").toString(locale());
++    default:
++        return QString();
++    }
++}
++
++
++KCalendarSystemIslamicCivil::KCalendarSystemIslamicCivil(const KLocale *locale)
++                           : KCalendarSystem(*new KCalendarSystemIslamicCivilPrivate(this), KSharedConfig::Ptr(), locale)
++{
++    d_ptr->loadConfig(calendarType());
++}
++
++KCalendarSystemIslamicCivil::KCalendarSystemIslamicCivil(const KSharedConfig::Ptr config, const KLocale *locale)
++                           : KCalendarSystem(*new KCalendarSystemIslamicCivilPrivate(this), config, locale)
++{
++    d_ptr->loadConfig(calendarType());
++}
++
++KCalendarSystemIslamicCivil::KCalendarSystemIslamicCivil(KCalendarSystemIslamicCivilPrivate &dd,
++                                                         const KSharedConfig::Ptr config, const KLocale *locale)
++                           : KCalendarSystem(dd, config, locale)
++{
++    d_ptr->loadConfig(calendarType());
++}
++
++KCalendarSystemIslamicCivil::~KCalendarSystemIslamicCivil()
++{
++}
++
++QString KCalendarSystemIslamicCivil::calendarType() const
++{
++    return QLatin1String("hijri");
++}
++
++QDate KCalendarSystemIslamicCivil::epoch() const
++{
++    // 16 July 622 in the Julian calendar
++    return QDate::fromJulianDay(1948440);
++}
++
++QDate KCalendarSystemIslamicCivil::earliestValidDate() const
++{
++    return epoch();
++}
++
++QDate KCalendarSystemIslamicCivil::latestValidDate() const
++{
++    // Set to last day of year 9999
++    // Last day of Islamic Civil year 9999 is 9999-12-29
++    return QDate::fromJulianDay(5491751);
++}
++
++bool KCalendarSystemIslamicCivil::isValid(int year, int month, int day) const
++{
++    return KCalendarSystem::isValid(year, month, day);
++}
++
++bool KCalendarSystemIslamicCivil::isValid(const QDate &date) const
++{
++    return KCalendarSystem::isValid(date);
++}
++
++bool KCalendarSystemIslamicCivil::isLeapYear(int year) const
++{
++    return KCalendarSystem::isLeapYear(year);
++}
++
++bool KCalendarSystemIslamicCivil::isLeapYear(const QDate &date) const
++{
++    return KCalendarSystem::isLeapYear(date);
++}
++
++QString KCalendarSystemIslamicCivil::monthName(int month, int year, MonthNameFormat format) const
++{
++    return KCalendarSystem::monthName(month, year, format);
++}
++
++QString KCalendarSystemIslamicCivil::monthName(const QDate &date, MonthNameFormat format) const
++{
++    return KCalendarSystem::monthName(date, format);
++}
++
++QString KCalendarSystemIslamicCivil::weekDayName(int weekDay, WeekDayNameFormat format) const
++{
++    return KCalendarSystem::weekDayName(weekDay, format);
++}
++
++QString KCalendarSystemIslamicCivil::weekDayName(const QDate &date, WeekDayNameFormat format) const
++{
++    return KCalendarSystem::weekDayName(date, format);
++}
++
++int KCalendarSystemIslamicCivil::weekDayOfPray() const
++{
++    return 5; // Friday
++}
++
++bool KCalendarSystemIslamicCivil::isLunar() const
++{
++    return true;
++}
++
++bool KCalendarSystemIslamicCivil::isLunisolar() const
++{
++    return false;
++}
++
++bool KCalendarSystemIslamicCivil::isSolar() const
++{
++    return false;
++}
++
++bool KCalendarSystemIslamicCivil::isProleptic() const
++{
++    return false;
++}
++
++bool KCalendarSystemIslamicCivil::julianDayToDate(int jd, int &year, int &month, int &day) const
++{
++    Q_D(const KCalendarSystemIslamicCivil);
++
++    /*
++    The following C++ code is translated from the Lisp code
++    in ``Calendrical Calculations'' by Nachum Dershowitz and
++    Edward M. Reingold, Software---Practice & Experience,
++    vol. 20, no. 9 (September, 1990), pp. 899--928.
++
++    This code is in the public domain, but any use of it
++    should publically acknowledge its source.
++    */
++
++    // Search forward year by year from approximate year
++    year = (jd - epoch().toJulianDay()) / 355;
++    int testJd;
++    dateToJulianDay(year, 12, d->daysInMonth(year, 12), testJd);
++    while (jd > testJd) {
++        year++;
++        dateToJulianDay(year, 12, d->daysInMonth(year, 12), testJd);
++    }
++
++    // Search forward month by month from Muharram
++    month = 1;
++    dateToJulianDay(year, month, d->daysInMonth(year, month), testJd);
++    while (jd > testJd) {
++        month++;
++        dateToJulianDay(year, month, d->daysInMonth(year, month), testJd);
++    }
++
++    dateToJulianDay(year, month, 1, testJd);
++    day = jd - testJd + 1;
++
++    return true;
++
++    // Alternative implementations
++
++    // More recent editions of "Calendrical Calculations" by Dershowitz & Reingold have a more
++    // efficient direct calculation without recusrion, but this cannot be used due to licensing
++
++    /*
++    Formula from "Explanatory Supplement to the Astronomical Almanac" 2006, derived from Fliegel & Van Flandern 1968
++    int L = jd - epoch().toJulianDay() + 10632;
++    int N = ( L - 1 ) / 10631;
++    L = L - 10631 * N + 354;
++    int J = ( ( 10985 - L ) / 5316 ) x ( ( 50* L ) / 17719 ) + ( L / 5670 ) * ( ( 43 * L ) / 15238 );
++    L = L - ( ( 30 - J ) / 15 ) * ( ( 17719 * J ) / 50 ) - ( J / 16 ) * ( ( 15238 * J ) / 43 ) + 29;
++    year = ( 30 * N ) + J - 30;
++    month = ( 24 * L ) / 709;
++    day = L - ( ( 709 * month ) / 24 );
++    */
++
++    /*
++    Formula from Fourmilab website
++    jd = Math.floor(jd) + 0.5;
++    year = Math.floor(((30 * (jd - epoch().toJulianDay())) + 10646) / 10631);
++    month = qMin(12, Math.ceil((jd - (29 + islamic_to_jd(year, 1, 1))) / 29.5) + 1);
++    day = (jd - islamic_to_jd(year, month, 1)) + 1;
++    */
++}
++
++bool KCalendarSystemIslamicCivil::dateToJulianDay(int year, int month, int day, int &jd) const
++{
++    /*
++    The following C++ code is translated from the Lisp code
++    in ``Calendrical Calculations'' by Nachum Dershowitz and
++    Edward M. Reingold, Software---Practice & Experience,
++    vol. 20, no. 9 (September, 1990), pp. 899--928.
++
++    This code is in the public domain, but any use of it
++    should publically acknowledge its source.
++    */
++
++    jd = epoch().toJulianDay() - 1 +   // days before start of calendar
++         (year - 1) * 354 +            // non-leap days in prior years
++         (3 + (11 * year)) / 30 +      // leap days in prior years
++         29 * (month - 1) +            // days so far...
++         month / 2          +          //            ...this year
++         day;                          // days so far this month
++
++    return true;
++
++    // Alternative implementations
++
++    /*
++    Formula from "Explanatory Supplement to the Astronomical Almanac" 2006, derived from Fliegel & Van Flandern 1968
++    jd = ( 3 + ( 11 * year ) ) / 30 + 354 * year + 30 * month - ( month - 1 ) / 2 + day + epoch().toJulianDay() - 385;
++    */
++}
+diff --git a/kdecore/date/kcalendarsystemislamiccivil_p.h b/kdecore/date/kcalendarsystemislamiccivil_p.h
+new file mode 100644
+index 0000000..59629cc
+--- /dev/null
++++ b/kdecore/date/kcalendarsystemislamiccivil_p.h
+@@ -0,0 +1,85 @@
++/*
++    Copyright (c) 2002 Carlos Moro 
++    Copyright (c) 2002-2003 Hans Petter Bieker 
++    Copyright 2007, 2010 John Layt 
++
++    This library is free software; you can redistribute it and/or
++    modify it under the terms of the GNU Library General Public
++    License as published by the Free Software Foundation; either
++    version 2 of the License, or (at your option) any later version.
++
++    This library is distributed in the hope that it will be useful,
++    but WITHOUT ANY WARRANTY; without even the implied warranty of
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++    Library General Public License for more details.
++
++    You should have received a copy of the GNU Library General Public License
++    along with this library; see the file COPYING.LIB.  If not, write to
++    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++    Boston, MA 02110-1301, USA.
++*/
++
++#ifndef KCALENDARSYSTEMISLAMICCIVIL_H
++#define KCALENDARSYSTEMISLAMICCIVIL_H
++
++#include "kcalendarsystem.h"
++
++class KCalendarSystemIslamicCivilPrivate;
++
++/**
++ * @internal
++ * This is the Islamic Civil calendar implementation.
++ *
++ * The Islamic or Hijri calendar is the traditional calendar used in the Middle
++ * East.  This implementation is of the civil calculation that does not take
++ * observed sunset into account and so may vary from actual dates by 1-2 days.
++ *
++ * @b license GNU-LGPL v2+
++ *
++ * @see KLocale,KCalendarSystem
++ *
++ * @author Carlos Moro 
++ */
++class KCalendarSystemIslamicCivil : public KCalendarSystem
++{
++public:
++    explicit KCalendarSystemIslamicCivil(const KLocale *locale = 0);
++    explicit KCalendarSystemIslamicCivil(const KSharedConfig::Ptr config, const KLocale *locale = 0);
++    virtual ~KCalendarSystemIslamicCivil();
++
++    virtual QString calendarType() const;
++
++    virtual QDate epoch() const;
++    virtual QDate earliestValidDate() const;
++    virtual QDate latestValidDate() const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
++
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
++
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
++
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
++
++    virtual int weekDayOfPray() const;
++
++    virtual bool isLunar() const;
++    virtual bool isLunisolar() const;
++    virtual bool isSolar() const;
++    virtual bool isProleptic() const;
++
++protected:
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemIslamicCivil(KCalendarSystemIslamicCivilPrivate &dd,
++                         const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                         const KLocale *locale = 0);
++
++private:
++    Q_DECLARE_PRIVATE(KCalendarSystemIslamicCivil)
++};
++
++#endif // KCALENDARSYSTEMISLAMICCIVIL_H
+diff --git a/kdecore/date/kcalendarsystemjalali.cpp b/kdecore/date/kcalendarsystemjalali.cpp
+index 543ba5a..1aaa804 100644
+--- a/kdecore/date/kcalendarsystemjalali.cpp
++++ b/kdecore/date/kcalendarsystemjalali.cpp
+@@ -35,32 +35,32 @@
+ class KCalendarSystemJalaliPrivate : public KCalendarSystemPrivate
+ {
+ public:
+-    explicit KCalendarSystemJalaliPrivate( KCalendarSystemJalali *q );
++    explicit KCalendarSystemJalaliPrivate(KCalendarSystemJalali *q);
+ 
+     virtual ~KCalendarSystemJalaliPrivate();
+ 
+     // Virtual methods each calendar system must re-implement
+     virtual KLocale::CalendarSystem calendarSystem() const;
+     virtual void loadDefaultEraList();
+-    virtual int monthsInYear( int year ) const;
+-    virtual int daysInMonth( int year, int month ) const;
+-    virtual int daysInYear( int year ) const;
++    virtual int monthsInYear(int year) const;
++    virtual int daysInMonth(int year, int month) const;
++    virtual int daysInYear(int year) const;
+     virtual int daysInWeek() const;
+-    virtual bool isLeapYear( int year ) const;
++    virtual bool isLeapYear(int year) const;
+     virtual bool hasLeapMonths() const;
+     virtual bool hasYearZero() const;
+     virtual int maxDaysInWeek() const;
+     virtual int maxMonthsInYear() const;
+     virtual int earliestValidYear() const;
+     virtual int latestValidYear() const;
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
+ };
+ 
+ // Shared d pointer base class definitions
+ 
+-KCalendarSystemJalaliPrivate::KCalendarSystemJalaliPrivate( KCalendarSystemJalali *q )
+-                             :KCalendarSystemPrivate( q )
++KCalendarSystemJalaliPrivate::KCalendarSystemJalaliPrivate(KCalendarSystemJalali *q)
++                            : KCalendarSystemPrivate(q)
+ {
+ }
+ 
+@@ -77,38 +77,38 @@ void KCalendarSystemJalaliPrivate::loadDefaultEraList()
+ {
+     QString name, shortName, format;
+     // Islamic Era (Hijri), Anno Persico.
+-    name = i18nc( "Calendar Era: Jalali Islamic Era, years > 0, LongFormat", "Anno Persico" );
+-    shortName = i18nc( "Calendar Era: Jalali Islamic Era, years > 0, ShortFormat", "AP" );
+-    format = i18nc( "(kdedt-format) Jalali, AP, full era year format used for %EY, e.g. 2000 AP", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
++    name = i18nc("Calendar Era: Jalali Islamic Era, years > 0, LongFormat", "Anno Persico");
++    shortName = i18nc("Calendar Era: Jalali Islamic Era, years > 0, ShortFormat", "AP");
++    format = i18nc("(kdedt-format) Jalali, AP, full era year format used for %EY, e.g. 2000 AP", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
+ }
+ 
+-int KCalendarSystemJalaliPrivate::monthsInYear( int year ) const
++int KCalendarSystemJalaliPrivate::monthsInYear(int year) const
+ {
+-    Q_UNUSED( year )
++    Q_UNUSED(year)
+     return 12;
+ }
+ 
+-int KCalendarSystemJalaliPrivate::daysInMonth( int year, int month ) const
++int KCalendarSystemJalaliPrivate::daysInMonth(int year, int month) const
+ {
+-    if ( month == 12 ) {
+-        if ( isLeapYear( year ) ) {
++    if (month == 12) {
++        if (isLeapYear(year)) {
+             return 30;
+         } else {
+             return 29;
+         }
+     }
+ 
+-    if ( month <= 6  ) {
++    if (month <= 6) {
+         return 31;
+     }
+ 
+     return 30;
+ }
+ 
+-int KCalendarSystemJalaliPrivate::daysInYear( int year ) const
++int KCalendarSystemJalaliPrivate::daysInYear(int year) const
+ {
+-    if ( isLeapYear( year ) ) {
++    if (isLeapYear(year)) {
+         return 366;
+     } else {
+         return 365;
+@@ -120,26 +120,26 @@ int KCalendarSystemJalaliPrivate::daysInWeek() const
+     return 7;
+ }
+ 
+-bool KCalendarSystemJalaliPrivate::isLeapYear( int year ) const
++bool KCalendarSystemJalaliPrivate::isLeapYear(int year) const
+ {
+     // From formilab Public Domain code http://www.fourmilab.ch/documents/calendar/
+     // Use Birashk algorithm as it matches the to/from jd code below
+ 
+     // Birashk algorithm is incorrect in two years in period AP 1244 to 1531,
+     // 1403/1404 and 1436/1437, and so catch them here first
+-    if ( year == 1403 || year == 1436 ) {
++    if (year == 1403 || year == 1436) {
+         return true;
+-    } else if ( year == 1404 || year == 1437 ) {
++    } else if (year == 1404 || year == 1437) {
+         return false;
+     }
+ 
+-    if ( year >= 0 ) {
++    if (year >= 0) {
+         year = year - 474;
+     } else {
+         year = year - 473;
+     }
+ 
+-    if ( ( ( ( ( ( year % 2820 ) + 474 ) + 38 ) * 682 ) % 2816 ) < 682 ) {
++    if ((((((year % 2820) + 474) + 38) * 682) % 2816) < 682) {
+         return true;
+     } else {
+         return false;
+@@ -176,461 +176,315 @@ int KCalendarSystemJalaliPrivate::latestValidYear() const
+     return 1530;
+ }
+ 
+-QString KCalendarSystemJalaliPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
++QString KCalendarSystemJalaliPrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
+ {
+-    Q_UNUSED( year );
++    Q_UNUSED(year);
+ 
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( month ) {
++    if (format == KLocale::NarrowName) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Jalali month 1 - KLocale::NarrowName",  "F" ).toString( locale() );
++            return ki18nc("Jalali month 1 - KLocale::NarrowName",  "F").toString(locale());
+         case 2:
+-            return ki18nc( "Jalali month 2 - KLocale::NarrowName",  "O" ).toString( locale() );
++            return ki18nc("Jalali month 2 - KLocale::NarrowName",  "O").toString(locale());
+         case 3:
+-            return ki18nc( "Jalali month 3 - KLocale::NarrowName",  "K" ).toString( locale() );
++            return ki18nc("Jalali month 3 - KLocale::NarrowName",  "K").toString(locale());
+         case 4:
+-            return ki18nc( "Jalali month 4 - KLocale::NarrowName",  "T" ).toString( locale() );
++            return ki18nc("Jalali month 4 - KLocale::NarrowName",  "T").toString(locale());
+         case 5:
+-            return ki18nc( "Jalali month 5 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Jalali month 5 - KLocale::NarrowName",  "M").toString(locale());
+         case 6:
+-            return ki18nc( "Jalali month 6 - KLocale::NarrowName",  "S" ).toString( locale() );
++            return ki18nc("Jalali month 6 - KLocale::NarrowName",  "S").toString(locale());
+         case 7:
+-            return ki18nc( "Jalali month 7 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Jalali month 7 - KLocale::NarrowName",  "M").toString(locale());
+         case 8:
+-            return ki18nc( "Jalali month 8 - KLocale::NarrowName",  "A" ).toString( locale() );
++            return ki18nc("Jalali month 8 - KLocale::NarrowName",  "A").toString(locale());
+         case 9:
+-            return ki18nc( "Jalali month 9 - KLocale::NarrowName",  "A" ).toString( locale() );
++            return ki18nc("Jalali month 9 - KLocale::NarrowName",  "A").toString(locale());
+         case 10:
+-            return ki18nc( "Jalali month 10 - KLocale::NarrowName", "D" ).toString( locale() );
++            return ki18nc("Jalali month 10 - KLocale::NarrowName", "D").toString(locale());
+         case 11:
+-            return ki18nc( "Jalali month 11 - KLocale::NarrowName", "B" ).toString( locale() );
++            return ki18nc("Jalali month 11 - KLocale::NarrowName", "B").toString(locale());
+         case 12:
+-            return ki18nc( "Jalali month 12 - KLocale::NarrowName", "E" ).toString( locale() );
++            return ki18nc("Jalali month 12 - KLocale::NarrowName", "E").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Jalali month 1 - KLocale::ShortName Possessive",  "of Far" ).toString( locale() );
++            return ki18nc("Jalali month 1 - KLocale::ShortName Possessive",  "of Far").toString(locale());
+         case 2:
+-            return ki18nc( "Jalali month 2 - KLocale::ShortName Possessive",  "of Ord" ).toString( locale() );
++            return ki18nc("Jalali month 2 - KLocale::ShortName Possessive",  "of Ord").toString(locale());
+         case 3:
+-            return ki18nc( "Jalali month 3 - KLocale::ShortName Possessive",  "of Kho" ).toString( locale() );
++            return ki18nc("Jalali month 3 - KLocale::ShortName Possessive",  "of Kho").toString(locale());
+         case 4:
+-            return ki18nc( "Jalali month 4 - KLocale::ShortName Possessive",  "of Tir" ).toString( locale() );
++            return ki18nc("Jalali month 4 - KLocale::ShortName Possessive",  "of Tir").toString(locale());
+         case 5:
+-            return ki18nc( "Jalali month 5 - KLocale::ShortName Possessive",  "of Mor" ).toString( locale() );
++            return ki18nc("Jalali month 5 - KLocale::ShortName Possessive",  "of Mor").toString(locale());
+         case 6:
+-            return ki18nc( "Jalali month 6 - KLocale::ShortName Possessive",  "of Sha" ).toString( locale() );
++            return ki18nc("Jalali month 6 - KLocale::ShortName Possessive",  "of Sha").toString(locale());
+         case 7:
+-            return ki18nc( "Jalali month 7 - KLocale::ShortName Possessive",  "of Meh" ).toString( locale() );
++            return ki18nc("Jalali month 7 - KLocale::ShortName Possessive",  "of Meh").toString(locale());
+         case 8:
+-            return ki18nc( "Jalali month 8 - KLocale::ShortName Possessive",  "of Aba" ).toString( locale() );
++            return ki18nc("Jalali month 8 - KLocale::ShortName Possessive",  "of Aba").toString(locale());
+         case 9:
+-            return ki18nc( "Jalali month 9 - KLocale::ShortName Possessive",  "of Aza" ).toString( locale() );
++            return ki18nc("Jalali month 9 - KLocale::ShortName Possessive",  "of Aza").toString(locale());
+         case 10:
+-            return ki18nc( "Jalali month 10 - KLocale::ShortName Possessive", "of Dei" ).toString( locale() );
++            return ki18nc("Jalali month 10 - KLocale::ShortName Possessive", "of Dei").toString(locale());
+         case 11:
+-            return ki18nc( "Jalali month 11 - KLocale::ShortName Possessive", "of Bah" ).toString( locale() );
++            return ki18nc("Jalali month 11 - KLocale::ShortName Possessive", "of Bah").toString(locale());
+         case 12:
+-            return ki18nc( "Jalali month 12 - KLocale::ShortName Possessive", "of Esf" ).toString( locale() );
++            return ki18nc("Jalali month 12 - KLocale::ShortName Possessive", "of Esf").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && !possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && !possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Jalali month 1 - KLocale::ShortName",  "Far" ).toString( locale() );
++            return ki18nc("Jalali month 1 - KLocale::ShortName",  "Far").toString(locale());
+         case 2:
+-            return ki18nc( "Jalali month 2 - KLocale::ShortName",  "Ord" ).toString( locale() );
++            return ki18nc("Jalali month 2 - KLocale::ShortName",  "Ord").toString(locale());
+         case 3:
+-            return ki18nc( "Jalali month 3 - KLocale::ShortName",  "Kho" ).toString( locale() );
++            return ki18nc("Jalali month 3 - KLocale::ShortName",  "Kho").toString(locale());
+         case 4:
+-            return ki18nc( "Jalali month 4 - KLocale::ShortName",  "Tir" ).toString( locale() );
++            return ki18nc("Jalali month 4 - KLocale::ShortName",  "Tir").toString(locale());
+         case 5:
+-            return ki18nc( "Jalali month 5 - KLocale::ShortName",  "Mor" ).toString( locale() );
++            return ki18nc("Jalali month 5 - KLocale::ShortName",  "Mor").toString(locale());
+         case 6:
+-            return ki18nc( "Jalali month 6 - KLocale::ShortName",  "Sha" ).toString( locale() );
++            return ki18nc("Jalali month 6 - KLocale::ShortName",  "Sha").toString(locale());
+         case 7:
+-            return ki18nc( "Jalali month 7 - KLocale::ShortName",  "Meh" ).toString( locale() );
++            return ki18nc("Jalali month 7 - KLocale::ShortName",  "Meh").toString(locale());
+         case 8:
+-            return ki18nc( "Jalali month 8 - KLocale::ShortName",  "Aba" ).toString( locale() );
++            return ki18nc("Jalali month 8 - KLocale::ShortName",  "Aba").toString(locale());
+         case 9:
+-            return ki18nc( "Jalali month 9 - KLocale::ShortName",  "Aza" ).toString( locale() );
++            return ki18nc("Jalali month 9 - KLocale::ShortName",  "Aza").toString(locale());
+         case 10:
+-            return ki18nc( "Jalali month 10 - KLocale::ShortName", "Dei" ).toString( locale() );
++            return ki18nc("Jalali month 10 - KLocale::ShortName", "Dei").toString(locale());
+         case 11:
+-            return ki18nc( "Jalali month 11 - KLocale::ShortName", "Bah" ).toString( locale() );
++            return ki18nc("Jalali month 11 - KLocale::ShortName", "Bah").toString(locale());
+         case 12:
+-            return ki18nc( "Jalali month 12 - KLocale::ShortName", "Esf" ).toString( locale() );
++            return ki18nc("Jalali month 12 - KLocale::ShortName", "Esf").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::LongName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::LongName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Jalali month 1 - KLocale::LongName Possessive",  "of Farvardin"   ).toString( locale() );
++            return ki18nc("Jalali month 1 - KLocale::LongName Possessive",  "of Farvardin").toString(locale());
+         case 2:
+-            return ki18nc( "Jalali month 2 - KLocale::LongName Possessive",  "of Ordibehesht" ).toString( locale() );
++            return ki18nc("Jalali month 2 - KLocale::LongName Possessive",  "of Ordibehesht").toString(locale());
+         case 3:
+-            return ki18nc( "Jalali month 3 - KLocale::LongName Possessive",  "of Khordad"     ).toString( locale() );
++            return ki18nc("Jalali month 3 - KLocale::LongName Possessive",  "of Khordad").toString(locale());
+         case 4:
+-            return ki18nc( "Jalali month 4 - KLocale::LongName Possessive",  "of Tir"         ).toString( locale() );
++            return ki18nc("Jalali month 4 - KLocale::LongName Possessive",  "of Tir").toString(locale());
+         case 5:
+-            return ki18nc( "Jalali month 5 - KLocale::LongName Possessive",  "of Mordad"      ).toString( locale() );
++            return ki18nc("Jalali month 5 - KLocale::LongName Possessive",  "of Mordad").toString(locale());
+         case 6:
+-            return ki18nc( "Jalali month 6 - KLocale::LongName Possessive",  "of Shahrivar"   ).toString( locale() );
++            return ki18nc("Jalali month 6 - KLocale::LongName Possessive",  "of Shahrivar").toString(locale());
+         case 7:
+-            return ki18nc( "Jalali month 7 - KLocale::LongName Possessive",  "of Mehr"        ).toString( locale() );
++            return ki18nc("Jalali month 7 - KLocale::LongName Possessive",  "of Mehr").toString(locale());
+         case 8:
+-            return ki18nc( "Jalali month 8 - KLocale::LongName Possessive",  "of Aban"        ).toString( locale() );
++            return ki18nc("Jalali month 8 - KLocale::LongName Possessive",  "of Aban").toString(locale());
+         case 9:
+-            return ki18nc( "Jalali month 9 - KLocale::LongName Possessive",  "of Azar"        ).toString( locale() );
++            return ki18nc("Jalali month 9 - KLocale::LongName Possessive",  "of Azar").toString(locale());
+         case 10:
+-            return ki18nc( "Jalali month 10 - KLocale::LongName Possessive", "of Dei"         ).toString( locale() );
++            return ki18nc("Jalali month 10 - KLocale::LongName Possessive", "of Dei").toString(locale());
+         case 11:
+-            return ki18nc( "Jalali month 11 - KLocale::LongName Possessive", "of Bahman"      ).toString( locale() );
++            return ki18nc("Jalali month 11 - KLocale::LongName Possessive", "of Bahman").toString(locale());
+         case 12:
+-            return ki18nc( "Jalali month 12 - KLocale::LongName Possessive", "of Esfand"      ).toString( locale() );
++            return ki18nc("Jalali month 12 - KLocale::LongName Possessive", "of Esfand").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+     // Default to LongName
+-    switch ( month ) {
++    switch (month) {
+     case 1:
+-        return ki18nc( "Jalali month 1 - KLocale::LongName",  "Farvardin"   ).toString( locale() );
++        return ki18nc("Jalali month 1 - KLocale::LongName",  "Farvardin").toString(locale());
+     case 2:
+-        return ki18nc( "Jalali month 2 - KLocale::LongName",  "Ordibehesht" ).toString( locale() );
++        return ki18nc("Jalali month 2 - KLocale::LongName",  "Ordibehesht").toString(locale());
+     case 3:
+-        return ki18nc( "Jalali month 3 - KLocale::LongName",  "Khordad"     ).toString( locale() );
++        return ki18nc("Jalali month 3 - KLocale::LongName",  "Khordad").toString(locale());
+     case 4:
+-        return ki18nc( "Jalali month 4 - KLocale::LongName",  "Tir"         ).toString( locale() );
++        return ki18nc("Jalali month 4 - KLocale::LongName",  "Tir").toString(locale());
+     case 5:
+-        return ki18nc( "Jalali month 5 - KLocale::LongName",  "Mordad"      ).toString( locale() );
++        return ki18nc("Jalali month 5 - KLocale::LongName",  "Mordad").toString(locale());
+     case 6:
+-        return ki18nc( "Jalali month 6 - KLocale::LongName",  "Shahrivar"   ).toString( locale() );
++        return ki18nc("Jalali month 6 - KLocale::LongName",  "Shahrivar").toString(locale());
+     case 7:
+-        return ki18nc( "Jalali month 7 - KLocale::LongName",  "Mehr"        ).toString( locale() );
++        return ki18nc("Jalali month 7 - KLocale::LongName",  "Mehr").toString(locale());
+     case 8:
+-        return ki18nc( "Jalali month 8 - KLocale::LongName",  "Aban"        ).toString( locale() );
++        return ki18nc("Jalali month 8 - KLocale::LongName",  "Aban").toString(locale());
+     case 9:
+-        return ki18nc( "Jalali month 9 - KLocale::LongName",  "Azar"        ).toString( locale() );
++        return ki18nc("Jalali month 9 - KLocale::LongName",  "Azar").toString(locale());
+     case 10:
+-        return ki18nc( "Jalali month 10 - KLocale::LongName", "Dei"         ).toString( locale() );
++        return ki18nc("Jalali month 10 - KLocale::LongName", "Dei").toString(locale());
+     case 11:
+-        return ki18nc( "Jalali month 11 - KLocale::LongName", "Bahman"      ).toString( locale() );
++        return ki18nc("Jalali month 11 - KLocale::LongName", "Bahman").toString(locale());
+     case 12:
+-        return ki18nc( "Jalali month 12 - KLocale::LongName", "Esfand"      ).toString( locale() );
++        return ki18nc("Jalali month 12 - KLocale::LongName", "Esfand").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+-QString KCalendarSystemJalaliPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
++QString KCalendarSystemJalaliPrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
+ {
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::NarrowName) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Jalali weekday 1 - KLocale::NarrowName ", "2" ).toString( locale() );
++            return ki18nc("Jalali weekday 1 - KLocale::NarrowName ", "2").toString(locale());
+         case 2:
+-            return ki18nc( "Jalali weekday 2 - KLocale::NarrowName ", "3" ).toString( locale() );
++            return ki18nc("Jalali weekday 2 - KLocale::NarrowName ", "3").toString(locale());
+         case 3:
+-            return ki18nc( "Jalali weekday 3 - KLocale::NarrowName ", "4" ).toString( locale() );
++            return ki18nc("Jalali weekday 3 - KLocale::NarrowName ", "4").toString(locale());
+         case 4:
+-            return ki18nc( "Jalali weekday 4 - KLocale::NarrowName ", "5" ).toString( locale() );
++            return ki18nc("Jalali weekday 4 - KLocale::NarrowName ", "5").toString(locale());
+         case 5:
+-            return ki18nc( "Jalali weekday 5 - KLocale::NarrowName ", "J" ).toString( locale() );
++            return ki18nc("Jalali weekday 5 - KLocale::NarrowName ", "J").toString(locale());
+         case 6:
+-            return ki18nc( "Jalali weekday 6 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Jalali weekday 6 - KLocale::NarrowName ", "S").toString(locale());
+         case 7:
+-            return ki18nc( "Jalali weekday 7 - KLocale::NarrowName ", "1" ).toString( locale() );
++            return ki18nc("Jalali weekday 7 - KLocale::NarrowName ", "1").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName  || format == KLocale:: ShortNumber ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::ShortName  || format == KLocale:: ShortNumber) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Jalali weekday 1 - KLocale::ShortName", "2sh" ).toString( locale() );
++            return ki18nc("Jalali weekday 1 - KLocale::ShortName", "2sh").toString(locale());
+         case 2:
+-            return ki18nc( "Jalali weekday 2 - KLocale::ShortName", "3sh" ).toString( locale() );
++            return ki18nc("Jalali weekday 2 - KLocale::ShortName", "3sh").toString(locale());
+         case 3:
+-            return ki18nc( "Jalali weekday 3 - KLocale::ShortName", "4sh" ).toString( locale() );
++            return ki18nc("Jalali weekday 3 - KLocale::ShortName", "4sh").toString(locale());
+         case 4:
+-            return ki18nc( "Jalali weekday 4 - KLocale::ShortName", "5sh" ).toString( locale() );
++            return ki18nc("Jalali weekday 4 - KLocale::ShortName", "5sh").toString(locale());
+         case 5:
+-            return ki18nc( "Jalali weekday 5 - KLocale::ShortName", "Jom" ).toString( locale() );
++            return ki18nc("Jalali weekday 5 - KLocale::ShortName", "Jom").toString(locale());
+         case 6:
+-            return ki18nc( "Jalali weekday 6 - KLocale::ShortName", "Shn" ).toString( locale() );
++            return ki18nc("Jalali weekday 6 - KLocale::ShortName", "Shn").toString(locale());
+         case 7:
+-            return ki18nc( "Jalali weekday 7 - KLocale::ShortName", "1sh" ).toString( locale() );
++            return ki18nc("Jalali weekday 7 - KLocale::ShortName", "1sh").toString(locale());
+         default: return QString();
+         }
+     }
+ 
+-    switch ( weekDay ) {
++    switch (weekDay) {
+     case 1:
+-        return ki18nc( "Jalali weekday 1 - KLocale::LongName", "Do shanbe"     ).toString( locale() );
++        return ki18nc("Jalali weekday 1 - KLocale::LongName", "Do shanbe").toString(locale());
+     case 2:
+-        return ki18nc( "Jalali weekday 2 - KLocale::LongName", "Se shanbe"     ).toString( locale() );
++        return ki18nc("Jalali weekday 2 - KLocale::LongName", "Se shanbe").toString(locale());
+     case 3:
+-        return ki18nc( "Jalali weekday 3 - KLocale::LongName", "Chahar shanbe" ).toString( locale() );
++        return ki18nc("Jalali weekday 3 - KLocale::LongName", "Chahar shanbe").toString(locale());
+     case 4:
+-        return ki18nc( "Jalali weekday 4 - KLocale::LongName", "Panj shanbe"   ).toString( locale() );
++        return ki18nc("Jalali weekday 4 - KLocale::LongName", "Panj shanbe").toString(locale());
+     case 5:
+-        return ki18nc( "Jalali weekday 5 - KLocale::LongName", "Jumee"         ).toString( locale() );
++        return ki18nc("Jalali weekday 5 - KLocale::LongName", "Jumee").toString(locale());
+     case 6:
+-        return ki18nc( "Jalali weekday 6 - KLocale::LongName", "Shanbe"        ).toString( locale() );
++        return ki18nc("Jalali weekday 6 - KLocale::LongName", "Shanbe").toString(locale());
+     case 7:
+-        return ki18nc( "Jalali weekday 7 - KLocale::LongName", "Yek-shanbe"    ).toString( locale() );
++        return ki18nc("Jalali weekday 7 - KLocale::LongName", "Yek-shanbe").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+ 
+-KCalendarSystemJalali::KCalendarSystemJalali( const KLocale *locale )
+-                     : KCalendarSystem( *new KCalendarSystemJalaliPrivate( this ), KSharedConfig::Ptr(), locale ),
+-                       dont_use( 0 )
++KCalendarSystemJalali::KCalendarSystemJalali(const KLocale *locale)
++                     : KCalendarSystem(*new KCalendarSystemJalaliPrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemJalali::KCalendarSystemJalali( const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystem( *new KCalendarSystemJalaliPrivate( this ), config, locale ),
+-                       dont_use( 0 )
++KCalendarSystemJalali::KCalendarSystemJalali(const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystem(*new KCalendarSystemJalaliPrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemJalali::KCalendarSystemJalali( KCalendarSystemJalaliPrivate &dd,
+-                                              const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystem( dd, config, locale ),
+-                       dont_use( 0 )
++KCalendarSystemJalali::KCalendarSystemJalali(KCalendarSystemJalaliPrivate &dd,
++                                             const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystem(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemJalali::~KCalendarSystemJalali()
+ {
+-    delete dont_use;
+ }
+ 
+ QString KCalendarSystemJalali::calendarType() const
+ {
+-    return QLatin1String( "jalali" );
++    return QLatin1String("jalali");
+ }
+ 
+ QDate KCalendarSystemJalali::epoch() const
+ {
+     // 19 March 622 in the Julian calendar
+-    return QDate::fromJulianDay( 1948321 );
++    return QDate::fromJulianDay(1948321);
+ }
+ 
+ QDate KCalendarSystemJalali::earliestValidDate() const
+ {
+     // Using the Birashk formula which is accurate in period AP 1244 to 1530 (AD 1865 to 2152)
+     // 1244-01-01 Jalali 1865-03-21 Gregorian
+-    return QDate::fromJulianDay( 2402317 );
++    return QDate::fromJulianDay(2402317);
+ }
+ 
+ QDate KCalendarSystemJalali::latestValidDate() const
+ {
+     // Using the Birashk formula which is accurate in period AP 1244 to 1530 (AD 1865 to 2152)
+     // 1530-12-29 Jalali 2152-03-19 Gregorian
+-    return QDate::fromJulianDay( 2507140 );
++    return QDate::fromJulianDay(2507140);
+ }
+ 
+-bool KCalendarSystemJalali::isValid( int year, int month, int day ) const
++bool KCalendarSystemJalali::isValid(int year, int month, int day) const
+ {
+-    return KCalendarSystem::isValid( year, month, day );
++    return KCalendarSystem::isValid(year, month, day);
+ }
+ 
+-bool KCalendarSystemJalali::isValid( const QDate &date ) const
++bool KCalendarSystemJalali::isValid(const QDate &date) const
+ {
+-    return KCalendarSystem::isValid( date );
++    return KCalendarSystem::isValid(date);
+ }
+ 
+-bool KCalendarSystemJalali::setDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemJalali::isLeapYear(int year) const
+ {
+-    return KCalendarSystem::setDate( date, year, month, day );
++    return KCalendarSystem::isLeapYear(year);
+ }
+ 
+-// Deprecated
+-bool KCalendarSystemJalali::setYMD( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemJalali::isLeapYear(const QDate &date) const
+ {
+-    return KCalendarSystem::setYMD( date, year, month, day );
++    return KCalendarSystem::isLeapYear(date);
+ }
+ 
+-int KCalendarSystemJalali::year( const QDate &date ) const
++QString KCalendarSystemJalali::monthName(int month, int year, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::year( date );
++    return KCalendarSystem::monthName(month, year, format);
+ }
+ 
+-int KCalendarSystemJalali::month ( const QDate& date ) const
+-
+-{
+-    return KCalendarSystem::month( date );
+-}
+-
+-int KCalendarSystemJalali::day( const QDate &date ) const
+-{
+-    return KCalendarSystem::day( date );
+-}
+-
+-QDate KCalendarSystemJalali::addYears( const QDate &date, int nyears ) const
+-{
+-    return KCalendarSystem::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemJalali::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystem::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemJalali::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystem::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemJalali::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::monthsInYear( date );
+-}
+-
+-int KCalendarSystemJalali::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::weeksInYear( date );
+-}
+-
+-int KCalendarSystemJalali::weeksInYear( int year ) const
+-{
+-    return KCalendarSystem::weeksInYear( year );
+-}
+-
+-int KCalendarSystemJalali::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInYear( date );
+-}
+-
+-int KCalendarSystemJalali::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInMonth( date );
+-}
+-
+-int KCalendarSystemJalali::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInWeek( date );
+-}
+-
+-int KCalendarSystemJalali::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfYear( date );
+-}
+-
+-int KCalendarSystemJalali::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemJalali::weekNumber( const QDate &date, int *yearNum ) const
+-{
+-    return KCalendarSystem::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemJalali::isLeapYear( int year ) const
+-{
+-    return KCalendarSystem::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemJalali::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemJalali::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemJalali::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( date, format );
+-}
+-
+-QString KCalendarSystemJalali::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemJalali::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemJalali::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemJalali::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemJalali::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemJalali::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemJalali::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemJalali::dayStringToInteger( const QString & sNum, int & iLength ) const
+-{
+-    return KCalendarSystem::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemJalali::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystem::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemJalali::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemJalali::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
++QString KCalendarSystemJalali::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::readDate( intstr, fmt, ok );
++    return KCalendarSystem::monthName(date, format);
+ }
+ 
+-QDate KCalendarSystemJalali::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
++QString KCalendarSystemJalali::weekDayName(int weekDay, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::readDate( str, flags, ok );
++    return KCalendarSystem::weekDayName(weekDay, format);
+ }
+ 
+-int KCalendarSystemJalali::weekStartDay() const
++QString KCalendarSystemJalali::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::weekStartDay();
++    return KCalendarSystem::weekDayName(date, format);
+ }
+ 
+ int KCalendarSystemJalali::weekDayOfPray() const
+@@ -658,20 +512,20 @@ bool KCalendarSystemJalali::isProleptic() const
+     return false;
+ }
+ 
+-bool KCalendarSystemJalali::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemJalali::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+     // Birashk algorithm is incorrect in two years in period AP 1244 to 1531.
+     // This results in a leap day being added to the end of 1404 instead of 1403
+     // and to the end of 1437 instead of 1436.  Check for these dates first and
+     // return accordingly.  Relies on later use of dateToJulianDay() to correctly
+     // calculate firstDayOfYear in 1404 and 1437, so no other adjustments needed.
+-    if ( jd == 2460755 ) {
++    if (jd == 2460755) {
+         year = 1403;
+         month = 12;
+         day = 30;
+         return true;
+     }
+-    if ( jd == 2472808 ) {
++    if (jd == 2472808) {
+         year = 1436;
+         month = 12;
+         day = 30;
+@@ -686,54 +540,54 @@ bool KCalendarSystemJalali::julianDayToDate( int jd, int &year, int &month, int
+     int cycle;
+     int dayInCycle;
+     int yearInCycle;
+-    dateToJulianDay( 475, 1, 1, jdCycleStart );
++    dateToJulianDay(475, 1, 1, jdCycleStart);
+     daysSinceCycleStart = jd - jdCycleStart;
+     cycle = daysSinceCycleStart / 1029983;
+     dayInCycle = daysSinceCycleStart % 1029983;
+-    if ( dayInCycle == 1029982 ) {
++    if (dayInCycle == 1029982) {
+         yearInCycle = 2820;
+     } else {
+         int aux1 = dayInCycle / 366;
+         int aux2 = dayInCycle % 366;
+-        yearInCycle = ( ( ( 2134 * aux1 ) + ( 2816 * aux2 ) + 2815 ) / 1028522 ) + aux1 + 1;
++        yearInCycle = (((2134 * aux1) + (2816 * aux2) + 2815) / 1028522) + aux1 + 1;
+     }
+-    year = yearInCycle + ( 2820 * cycle ) + 474;
+-    if ( year <= 0 ) {
++    year = yearInCycle + (2820 * cycle) + 474;
++    if (year <= 0) {
+         year = year - 1;
+     }
+ 
+     int firstDayOfYear;
+-    dateToJulianDay( year, 1, 1, firstDayOfYear );
++    dateToJulianDay(year, 1, 1, firstDayOfYear);
+     int dayinYear = jd - firstDayOfYear + 1;
+-    if( dayinYear <= 186 ) {
+-        month = ( ( dayinYear - 1 ) / 31 ) + 1;
+-        day = dayinYear - ( ( month - 1 ) * 31 );
++    if (dayinYear <= 186) {
++        month = ((dayinYear - 1) / 31) + 1;
++        day = dayinYear - ((month - 1) * 31);
+     } else {
+-        month = ( ( dayinYear - 7 ) / 30 ) + 1;
+-        day = dayinYear - ( ( month - 1 ) * 30 ) - 6;
++        month = ((dayinYear - 7) / 30) + 1;
++        day = dayinYear - ((month - 1) * 30) - 6;
+     }
+ 
+     return true;
+ }
+ 
+-bool KCalendarSystemJalali::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemJalali::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+-    Q_D( const KCalendarSystemJalali );
++    Q_D(const KCalendarSystemJalali);
+ 
+     // Birashk algorithm is incorrect in two years in period AP 1244 to 1531.
+     // This results in a leap day being added to the end of 1404 instead of 1403
+     // and to the end of 1437 instead of 1436.  Thus all dates in 1404 and 1437
+     // are off by 1 JD.  Check for these dates first and adjust accordingly.
+-    if ( year == 1403 && month == 12 && day == 30 ) {
++    if (year == 1403 && month == 12 && day == 30) {
+         jd = 2460755;
+         return true;
+     }
+-    if ( year == 1436 && month == 12 && day == 30 ) {
++    if (year == 1436 && month == 12 && day == 30) {
+         jd = 2472808;
+         return true;
+     }
+-    if ( year == 1404 || year == 1437 ) {
+-        if ( month < 12 && day + 1 > d->daysInMonth( year, month ) ) {
++    if (year == 1404 || year == 1437) {
++        if (month < 12 && day + 1 > d->daysInMonth(year, month)) {
+             day = 1;
+             month = month + 1;
+         } else {
+@@ -747,24 +601,24 @@ bool KCalendarSystemJalali::dateToJulianDay( int year, int month, int day, int &
+     long epyear;
+     long monthDays;
+ 
+-    if ( year >= 0 ) {
++    if (year >= 0) {
+         epbase = year - 474;
+     } else {
+         epbase = year - 473;
+     }
+ 
+-    epyear = 474 + ( epbase % 2820 );
++    epyear = 474 + (epbase % 2820);
+ 
+-    if ( month <= 7 ) {
+-        monthDays = ( month - 1 ) * 31;
++    if (month <= 7) {
++        monthDays = (month - 1) * 31;
+     } else {
+-        monthDays = ( ( month - 1 ) * 30 ) + 6;
++        monthDays = ((month - 1) * 30) + 6;
+     }
+ 
+-    jd = ( epoch().toJulianDay() - 1 ) +          // days before epoch
+-         ( epyear - 1 ) * 365 +                   // normal days in previous years
+-         ( ( ( epyear * 682 ) - 110 ) / 2816 ) +  // leap days in previous years
+-         ( epbase / 2820 ) * 1029983 +
++    jd = (epoch().toJulianDay() - 1) +            // days before epoch
++         (epyear - 1) * 365 +                     // normal days in previous years
++         (((epyear * 682) - 110) / 2816) +        // leap days in previous years
++         (epbase / 2820) * 1029983 +
+          monthDays +                              // days in previous months this year
+          day;                                     // days in this month
+ 
+diff --git a/kdecore/date/kcalendarsystemjalali_p.h b/kdecore/date/kcalendarsystemjalali_p.h
+index d1b8350..6ae44ea 100644
+--- a/kdecore/date/kcalendarsystemjalali_p.h
++++ b/kdecore/date/kcalendarsystemjalali_p.h
+@@ -32,8 +32,8 @@ class KCalendarSystemJalaliPrivate;
+ class KCalendarSystemJalali : public KCalendarSystem
+ {
+ public:
+-    explicit KCalendarSystemJalali( const KLocale * locale = 0 );
+-    explicit KCalendarSystemJalali( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystemJalali(const KLocale * locale = 0);
++    explicit KCalendarSystemJalali(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+     virtual ~KCalendarSystemJalali();
+ 
+     virtual QString calendarType() const;
+@@ -41,58 +41,19 @@ public:
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -100,15 +61,14 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemJalali( KCalendarSystemJalaliPrivate &dd,
+-                           const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                           const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemJalali(KCalendarSystemJalaliPrivate &dd,
++                          const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                          const KLocale *locale = 0);
+ 
+ private:
+-    Q_DECLARE_PRIVATE( KCalendarSystemJalali )
+-    KCalendarSystemJalaliPrivate * const dont_use; // KDE5 remove, use shared d
++    Q_DECLARE_PRIVATE(KCalendarSystemJalali)
+ };
+ 
+ #endif // KCALENDARSYSTEMJALALI_H
+diff --git a/kdecore/date/kcalendarsystemjapanese.cpp b/kdecore/date/kcalendarsystemjapanese.cpp
+index feabd38..4d4e58a 100644
+--- a/kdecore/date/kcalendarsystemjapanese.cpp
++++ b/kdecore/date/kcalendarsystemjapanese.cpp
+@@ -18,18 +18,18 @@
+ */
+ 
+ #include "kcalendarsystemjapanese_p.h"
+-#include "kcalendarsystemgregorianprolepticprivate_p.h"
++#include "kcalendarsystemgregorianprivate_p.h"
+ 
+ #include "kdebug.h"
+ #include "klocale.h"
+ 
+ #include 
+ 
+-//Reuse the Gregorian Proleptic private implementation
+-class KCalendarSystemJapanesePrivate : public KCalendarSystemGregorianProlepticPrivate
++//Reuse the Gregorian private implementation
++class KCalendarSystemJapanesePrivate : public KCalendarSystemGregorianPrivate
+ {
+ public:
+-    explicit KCalendarSystemJapanesePrivate( KCalendarSystemJapanese *q );
++    explicit KCalendarSystemJapanesePrivate(KCalendarSystemJapanese *q);
+     virtual ~KCalendarSystemJapanesePrivate();
+ 
+     virtual KLocale::CalendarSystem calendarSystem() const;
+@@ -37,10 +37,10 @@ public:
+     virtual int earliestValidYear() const;
+ };
+ 
+-//Override only a few of the Gregorian Proleptic private methods
++//Override only a few of the Gregorian private methods
+ 
+-KCalendarSystemJapanesePrivate::KCalendarSystemJapanesePrivate( KCalendarSystemJapanese *q )
+-                              : KCalendarSystemGregorianProlepticPrivate( q )
++KCalendarSystemJapanesePrivate::KCalendarSystemJapanesePrivate(KCalendarSystemJapanese *q)
++                              : KCalendarSystemGregorianPrivate(q)
+ {
+ }
+ 
+@@ -60,38 +60,38 @@ void KCalendarSystemJapanesePrivate::loadDefaultEraList()
+     // Nengō, Only do most recent for now, use AD for the rest.
+     // Feel free to add more, but have mercy on the translators :-)
+ 
+-    name = i18nc( "Calendar Era: Gregorian Christian Era, years > 0, LongFormat", "Anno Domini" );
+-    shortName = i18nc( "Calendar Era: Gregorian Christian Era, years > 0, ShortFormat", "AD" );
+-    format = i18nc( "(kdedt-format) Gregorian, AD, full era year format used for %EY, e.g. 2000 AD", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, QDate( 1868, 9, 7 ), name, shortName, format );
++    name = i18nc("Calendar Era: Gregorian Christian Era, years > 0, LongFormat", "Anno Domini");
++    shortName = i18nc("Calendar Era: Gregorian Christian Era, years > 0, ShortFormat", "AD");
++    format = i18nc("(kdedt-format) Gregorian, AD, full era year format used for %EY, e.g. 2000 AD", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, QDate(1868, 9, 7), name, shortName, format);
+ 
+-    name = i18nc( "Calendar Era: Japanese Nengō, Meiji Era, LongFormat", "Meiji" );
++    name = i18nc("Calendar Era: Japanese Nengō, Meiji Era, LongFormat", "Meiji");
+     shortName = name;
+-    format = i18nc( "(kdedt-format) Japanese, Meiji, full era year format used for %EY, year = 1, e.g. Meiji 1", "%EC Gannen" );
+-    addEra( '+', 1, QDate( 1868, 9, 8 ), 1868, QDate( 1868, 12, 31 ), name, shortName, format );
+-    format = i18nc( "(kdedt-format) Japanese, Meiji, full era year format used for %EY, year > 1, e.g. Meiji 22", "%EC %Ey" );
+-    addEra( '+', 2, QDate( 1869, 1, 1 ), 1869, QDate( 1912, 7, 29 ), name, shortName, format );
++    format = i18nc("(kdedt-format) Japanese, Meiji, full era year format used for %EY, year = 1, e.g. Meiji 1", "%EC Gannen");
++    addEra('+', 1, QDate(1868, 9, 8), 1868, QDate(1868, 12, 31), name, shortName, format);
++    format = i18nc("(kdedt-format) Japanese, Meiji, full era year format used for %EY, year > 1, e.g. Meiji 22", "%EC %Ey");
++    addEra('+', 2, QDate(1869, 1, 1), 1869, QDate(1912, 7, 29), name, shortName, format);
+ 
+-    name = i18nc( "Calendar Era: Japanese Nengō, Taishō Era, LongFormat", "Taishō" );
++    name = i18nc("Calendar Era: Japanese Nengō, Taishō Era, LongFormat", "Taishō");
+     shortName = name;
+-    format = i18nc( "(kdedt-format) Japanese, Taishō, full era year format used for %EY, year = 1, e.g. Taishō 1", "%EC Gannen" );
+-    addEra( '+', 1, QDate( 1912, 7, 30 ), 1912, QDate( 1912, 12, 31 ), name, shortName, format );
+-    format = i18nc( "(kdedt-format) Japanese, Taishō, full era year format used for %EY, year > 1, e.g. Taishō 22", "%EC %Ey" );
+-    addEra( '+', 2, QDate( 1913, 1, 1 ), 1913, QDate( 1926, 12, 24 ), name, shortName, format );
++    format = i18nc("(kdedt-format) Japanese, Taishō, full era year format used for %EY, year = 1, e.g. Taishō 1", "%EC Gannen");
++    addEra('+', 1, QDate(1912, 7, 30), 1912, QDate(1912, 12, 31), name, shortName, format);
++    format = i18nc("(kdedt-format) Japanese, Taishō, full era year format used for %EY, year > 1, e.g. Taishō 22", "%EC %Ey");
++    addEra('+', 2, QDate(1913, 1, 1), 1913, QDate(1926, 12, 24), name, shortName, format);
+ 
+-    name = i18nc( "Calendar Era: Japanese Nengō, Shōwa Era, LongFormat", "Shōwa" );
++    name = i18nc("Calendar Era: Japanese Nengō, Shōwa Era, LongFormat", "Shōwa");
+     shortName = name;
+-    format = i18nc( "(kdedt-format) Japanese, Shōwa, full era year format used for %EY, year = 1, e.g. Shōwa 1", "%EC Gannen" );
+-    addEra( '+', 1, QDate( 1926, 12, 25 ), 1926, QDate( 1926, 12, 31 ), name, shortName, format );
+-    format = i18nc( "(kdedt-format) Japanese, Shōwa, full era year format used for %EY, year > 1, e.g. Shōwa 22", "%EC %Ey" );
+-    addEra( '+', 2, QDate( 1927, 1, 1 ), 1927, QDate( 1989, 1, 7 ), name, shortName, format );
++    format = i18nc("(kdedt-format) Japanese, Shōwa, full era year format used for %EY, year = 1, e.g. Shōwa 1", "%EC Gannen");
++    addEra('+', 1, QDate(1926, 12, 25), 1926, QDate(1926, 12, 31), name, shortName, format);
++    format = i18nc("(kdedt-format) Japanese, Shōwa, full era year format used for %EY, year > 1, e.g. Shōwa 22", "%EC %Ey");
++    addEra('+', 2, QDate(1927, 1, 1), 1927, QDate(1989, 1, 7), name, shortName, format);
+ 
+-    name = i18nc( "Calendar Era: Japanese Nengō, Heisei Era, LongFormat", "Heisei" );
++    name = i18nc("Calendar Era: Japanese Nengō, Heisei Era, LongFormat", "Heisei");
+     shortName = name;
+-    format = i18nc( "(kdedt-format) Japanese, Heisei, full era year format used for %EY, year = 1, e.g. Heisei 1", "%EC Gannen" );
+-    addEra( '+', 1, QDate( 1989, 1, 8 ), 1989, QDate( 1989, 12, 31 ), name, shortName, format );
+-    format = i18nc( "(kdedt-format) Japanese, Heisei, full era year format used for %EY, year > 1, e.g. Heisei 22", "%EC %Ey" );
+-    addEra( '+', 2, QDate( 1990, 1, 1 ), 1990, q->latestValidDate(), name, shortName, format );
++    format = i18nc("(kdedt-format) Japanese, Heisei, full era year format used for %EY, year = 1, e.g. Heisei 1", "%EC Gannen");
++    addEra('+', 1, QDate(1989, 1, 8), 1989, QDate(1989, 12, 31), name, shortName, format);
++    format = i18nc("(kdedt-format) Japanese, Heisei, full era year format used for %EY, year > 1, e.g. Heisei 22", "%EC %Ey");
++    addEra('+', 2, QDate(1990, 1, 1), 1990, q->latestValidDate(), name, shortName, format);
+ }
+ 
+ int KCalendarSystemJapanesePrivate::earliestValidYear() const
+@@ -100,23 +100,23 @@ int KCalendarSystemJapanesePrivate::earliestValidYear() const
+ }
+ 
+ 
+-KCalendarSystemJapanese::KCalendarSystemJapanese( const KLocale *locale )
+-                       : KCalendarSystemGregorianProleptic( *new KCalendarSystemJapanesePrivate( this ), KSharedConfig::Ptr(), locale )
++KCalendarSystemJapanese::KCalendarSystemJapanese(const KLocale *locale)
++                       : KCalendarSystemGregorian(*new KCalendarSystemJapanesePrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemJapanese::KCalendarSystemJapanese( const KSharedConfig::Ptr config, const KLocale *locale )
+-                       : KCalendarSystemGregorianProleptic( *new KCalendarSystemJapanesePrivate( this ), config, locale )
++KCalendarSystemJapanese::KCalendarSystemJapanese(const KSharedConfig::Ptr config, const KLocale *locale)
++                       : KCalendarSystemGregorian(*new KCalendarSystemJapanesePrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemJapanese::KCalendarSystemJapanese( KCalendarSystemJapanesePrivate &dd,
+-                                                  const KSharedConfig::Ptr config, const KLocale *locale )
+-                       : KCalendarSystemGregorianProleptic( dd, config, locale )
++KCalendarSystemJapanese::KCalendarSystemJapanese(KCalendarSystemJapanesePrivate &dd,
++                                                 const KSharedConfig::Ptr config, const KLocale *locale)
++                       : KCalendarSystemGregorian(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemJapanese::~KCalendarSystemJapanese()
+@@ -125,215 +125,79 @@ KCalendarSystemJapanese::~KCalendarSystemJapanese()
+ 
+ QString KCalendarSystemJapanese::calendarType() const
+ {
+-    return QLatin1String( "japanese" );
++    return QLatin1String("japanese");
+ }
+ 
+ QDate KCalendarSystemJapanese::epoch() const
+ {
+     // 0001-01-01 Gregorian for now
+-    return QDate::fromJulianDay( 1721426 );
++    return QDate::fromJulianDay(1721426);
+ }
+ 
+ QDate KCalendarSystemJapanese::earliestValidDate() const
+ {
+     // 0001-01-01 Gregorian for now
+-    return QDate::fromJulianDay( 1721426 );
++    return QDate::fromJulianDay(1721426);
+ }
+ 
+ QDate KCalendarSystemJapanese::latestValidDate() const
+ {
+     // Set to last day of year 9999 until confirm date formats & widgets support > 9999
+     // 9999-12-31 Gregorian
+-    return QDate::fromJulianDay( 5373484 );
++    return QDate::fromJulianDay(5373484);
+ }
+ 
+-bool KCalendarSystemJapanese::isValid( int year, int month, int day ) const
++bool KCalendarSystemJapanese::isValid(int year, int month, int day) const
+ {
+-    return KCalendarSystemGregorianProleptic::isValid( year, month, day );
++    return KCalendarSystemGregorian::isValid(year, month, day);
+ }
+ 
+-bool KCalendarSystemJapanese::isValid( const QDate &date ) const
++bool KCalendarSystemJapanese::isValid(const QDate &date) const
+ {
+-    return KCalendarSystemGregorianProleptic::isValid( date );
++    return KCalendarSystemGregorian::isValid(date);
+ }
+ 
+-bool KCalendarSystemJapanese::setDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemJapanese::isLeapYear(int year) const
+ {
+-    return KCalendarSystemGregorianProleptic::setDate( date, year, month, day );
++    return KCalendarSystemGregorian::isLeapYear(year);
+ }
+ 
+-// Deprecated
+-bool KCalendarSystemJapanese::setYMD( QDate &date, int y, int m, int d ) const
++bool KCalendarSystemJapanese::isLeapYear(const QDate &date) const
+ {
+-    return KCalendarSystemGregorianProleptic::setDate( date, y, m, d );
++    return KCalendarSystemGregorian::isLeapYear(date);
+ }
+ 
+-int KCalendarSystemJapanese::year( const QDate &date ) const
++QString KCalendarSystemJapanese::monthName(int month, int year, MonthNameFormat format) const
+ {
+-    return KCalendarSystemGregorianProleptic::year( date );
++    return KCalendarSystemGregorian::monthName(month, year, format);
+ }
+ 
+-int KCalendarSystemJapanese::month( const QDate &date ) const
++QString KCalendarSystemJapanese::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    return KCalendarSystemGregorianProleptic::month( date );
++    return KCalendarSystemGregorian::monthName(date, format);
+ }
+ 
+-int KCalendarSystemJapanese::day( const QDate &date ) const
++QString KCalendarSystemJapanese::weekDayName(int weekDay, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystemGregorianProleptic::day( date );
++    return KCalendarSystemGregorian::weekDayName(weekDay, format);
+ }
+ 
+-QDate KCalendarSystemJapanese::addYears( const QDate &date, int nyears ) const
++QString KCalendarSystemJapanese::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystemGregorianProleptic::addYears( date, nyears );
++    return KCalendarSystemGregorian::weekDayName(date, format);
+ }
+ 
+-QDate KCalendarSystemJapanese::addMonths( const QDate &date, int nmonths ) const
++int KCalendarSystemJapanese::yearStringToInteger(const QString &sNum, int &iLength) const
+ {
+-    return KCalendarSystemGregorianProleptic::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemJapanese::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystemGregorianProleptic::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemJapanese::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthsInYear( date );
+-}
+-
+-int KCalendarSystemJapanese::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weeksInYear( date );
+-}
+-
+-int KCalendarSystemJapanese::weeksInYear( int year ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weeksInYear( year );
+-}
+-
+-int KCalendarSystemJapanese::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::daysInYear( date );
+-}
+-
+-int KCalendarSystemJapanese::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::daysInMonth( date );
+-}
+-
+-int KCalendarSystemJapanese::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::daysInWeek( date );
+-}
+-
+-int KCalendarSystemJapanese::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayOfYear( date );
+-}
+-
+-int KCalendarSystemJapanese::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemJapanese::weekNumber( const QDate &date, int * yearNum ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemJapanese::isLeapYear( int year ) const
+-{
+-    return KCalendarSystemGregorianProleptic::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemJapanese::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemJapanese::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemJapanese::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthName( date, format );
+-}
+-
+-QString KCalendarSystemJapanese::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemJapanese::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemJapanese::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemJapanese::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemJapanese::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemJapanese::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    QString gannen = i18nc( "Japanese year 1 of era", "Gannen" );
+-    if ( sNum.startsWith( gannen, Qt::CaseInsensitive ) ) {
++    QString gannen = i18nc("Japanese year 1 of era", "Gannen");
++    if (sNum.startsWith(gannen, Qt::CaseInsensitive)) {
+         iLength = gannen.length();
+         return 1;
+     } else {
+-        return KCalendarSystemGregorianProleptic::yearStringToInteger( sNum, iLength );
++        return KCalendarSystemGregorian::yearStringToInteger(sNum, iLength);
+     }
+ }
+ 
+-int KCalendarSystemJapanese::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemJapanese::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemJapanese::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemJapanese::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystemGregorianProleptic::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemJapanese::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystemGregorianProleptic::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemJapanese::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystemGregorianProleptic::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemJapanese::weekStartDay() const
+-{
+-    return KCalendarSystemGregorianProleptic::weekStartDay();
+-}
+-
+ int KCalendarSystemJapanese::weekDayOfPray() const
+ {
+     return 7; // TODO JPL ???
+@@ -341,17 +205,17 @@ int KCalendarSystemJapanese::weekDayOfPray() const
+ 
+ bool KCalendarSystemJapanese::isLunar() const
+ {
+-    return KCalendarSystemGregorianProleptic::isLunar();
++    return KCalendarSystemGregorian::isLunar();
+ }
+ 
+ bool KCalendarSystemJapanese::isLunisolar() const
+ {
+-    return KCalendarSystemGregorianProleptic::isLunisolar();
++    return KCalendarSystemGregorian::isLunisolar();
+ }
+ 
+ bool KCalendarSystemJapanese::isSolar() const
+ {
+-    return KCalendarSystemGregorianProleptic::isSolar();
++    return KCalendarSystemGregorian::isSolar();
+ }
+ 
+ bool KCalendarSystemJapanese::isProleptic() const
+@@ -359,12 +223,12 @@ bool KCalendarSystemJapanese::isProleptic() const
+     return false;
+ }
+ 
+-bool KCalendarSystemJapanese::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemJapanese::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+-    return KCalendarSystemGregorianProleptic::julianDayToDate( jd, year, month, day );
++    return KCalendarSystemGregorian::julianDayToDate(jd, year, month, day);
+ }
+ 
+-bool KCalendarSystemJapanese::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemJapanese::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+-    return KCalendarSystemGregorianProleptic::dateToJulianDay( year, month, day, jd );
++    return KCalendarSystemGregorian::dateToJulianDay(year, month, day, jd);
+ }
+diff --git a/kdecore/date/kcalendarsystemjapanese_p.h b/kdecore/date/kcalendarsystemjapanese_p.h
+index 5409dfc..1781f8e 100644
+--- a/kdecore/date/kcalendarsystemjapanese_p.h
++++ b/kdecore/date/kcalendarsystemjapanese_p.h
+@@ -20,7 +20,7 @@
+ #ifndef KCALENDARSYSTEMJAPANESE_H
+ #define KCALENDARSYSTEMJAPANESE_H
+ 
+-#include "kcalendarsystemgregorianproleptic_p.h"
++#include "kcalendarsystemgregorian_p.h"
+ 
+ class KCalendarSystemJapanesePrivate;
+ 
+@@ -35,11 +35,11 @@ class KCalendarSystemJapanesePrivate;
+  *
+  * @author John Layt 
+  */
+-class KCalendarSystemJapanese: public KCalendarSystemGregorianProleptic
++class KCalendarSystemJapanese: public KCalendarSystemGregorian
+ {
+ public:
+-    explicit KCalendarSystemJapanese( const KLocale *locale = 0 );
+-    explicit KCalendarSystemJapanese( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystemJapanese(const KLocale *locale = 0);
++    explicit KCalendarSystemJapanese(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+     virtual ~KCalendarSystemJapanese();
+ 
+     virtual QString calendarType() const;
+@@ -47,58 +47,21 @@ public:
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
++    virtual int yearStringToInteger(const QString &sNum, int &iLength) const;
+ 
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -106,11 +69,11 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemJapanese( KCalendarSystemJapanesePrivate &dd,
+-                             const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                             const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemJapanese(KCalendarSystemJapanesePrivate &dd,
++                            const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                            const KLocale *locale = 0);
+ 
+ private:
+     Q_DECLARE_PRIVATE(KCalendarSystemJapanese)
+diff --git a/kdecore/date/kcalendarsystemjulian.cpp b/kdecore/date/kcalendarsystemjulian.cpp
+index 5dbb71e..3372bb5 100644
+--- a/kdecore/date/kcalendarsystemjulian.cpp
++++ b/kdecore/date/kcalendarsystemjulian.cpp
+@@ -31,34 +31,34 @@
+ class KCalendarSystemJulianPrivate : public KCalendarSystemPrivate
+ {
+ public:
+-    explicit KCalendarSystemJulianPrivate( KCalendarSystemJulian *q );
++    explicit KCalendarSystemJulianPrivate(KCalendarSystemJulian *q);
+ 
+     virtual ~KCalendarSystemJulianPrivate();
+ 
+     // Virtual methods each calendar system must re-implement
+     virtual KLocale::CalendarSystem calendarSystem() const;
+     virtual void loadDefaultEraList();
+-    virtual int monthsInYear( int year ) const;
+-    virtual int daysInMonth( int year, int month ) const;
+-    virtual int daysInYear( int year ) const;
++    virtual int monthsInYear(int year) const;
++    virtual int daysInMonth(int year, int month) const;
++    virtual int daysInYear(int year) const;
+     virtual int daysInWeek() const;
+-    virtual bool isLeapYear( int year ) const;
++    virtual bool isLeapYear(int year) const;
+     virtual bool hasLeapMonths() const;
+     virtual bool hasYearZero() const;
+     virtual int maxDaysInWeek() const;
+     virtual int maxMonthsInYear() const;
+     virtual int earliestValidYear() const;
+     virtual int latestValidYear() const;
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
+ 
+     bool m_useCommonEra;
+ };
+ 
+ // Shared d pointer base class definitions
+ 
+-KCalendarSystemJulianPrivate::KCalendarSystemJulianPrivate( KCalendarSystemJulian *q )
+-                             :KCalendarSystemPrivate( q )
++KCalendarSystemJulianPrivate::KCalendarSystemJulianPrivate(KCalendarSystemJulian *q)
++                            : KCalendarSystemPrivate(q)
+ {
+ }
+ 
+@@ -75,56 +75,56 @@ void KCalendarSystemJulianPrivate::loadDefaultEraList()
+ {
+     QString name, shortName, format;
+ 
+-    KConfigGroup cg( config(), QString::fromLatin1( "KCalendarSystem %1" ).arg( q->calendarType() ) );
+-    m_useCommonEra = cg.readEntry( "UseCommonEra", false );
++    KConfigGroup cg(config(), QString::fromLatin1("KCalendarSystem %1").arg(q->calendarType(q->calendarSystem())));
++    m_useCommonEra = cg.readEntry("UseCommonEra", false);
+ 
+-    if ( m_useCommonEra ) {
+-        name = i18nc( "Calendar Era: Julian Common Era, years < 0, LongFormat", "Before Common Era" );
+-        shortName = i18nc( "Calendar Era: Julian Common Era, years < 0, ShortFormat", "BCE" );
++    if (m_useCommonEra) {
++        name = i18nc("Calendar Era: Julian Common Era, years < 0, LongFormat", "Before Common Era");
++        shortName = i18nc("Calendar Era: Julian Common Era, years < 0, ShortFormat", "BCE");
+     } else {
+-        name = i18nc( "Calendar Era: Julian Christian Era, years < 0, LongFormat", "Before Christ" );
+-        shortName = i18nc( "Calendar Era: Julian Christian Era, years < 0, ShortFormat", "BC" );
++        name = i18nc("Calendar Era: Julian Christian Era, years < 0, LongFormat", "Before Christ");
++        shortName = i18nc("Calendar Era: Julian Christian Era, years < 0, ShortFormat", "BC");
+     }
+-    format = i18nc( "(kdedt-format) Julian, BC, full era year format used for %EY, e.g. 2000 BC", "%Ey %EC" );
+-    addEra( '-', 1, q->epoch().addDays( -1 ), -1, q->earliestValidDate(), name, shortName, format );
++    format = i18nc("(kdedt-format) Julian, BC, full era year format used for %EY, e.g. 2000 BC", "%Ey %EC");
++    addEra('-', 1, q->epoch().addDays(-1), -1, q->earliestValidDate(), name, shortName, format);
+ 
+-    if ( m_useCommonEra ) {
+-        name = i18nc( "Calendar Era: Julian Common Era, years > 0, LongFormat", "Common Era" );
+-        shortName = i18nc( "Calendar Era: Julian Common Era, years > 0, ShortFormat", "CE" );
++    if (m_useCommonEra) {
++        name = i18nc("Calendar Era: Julian Common Era, years > 0, LongFormat", "Common Era");
++        shortName = i18nc("Calendar Era: Julian Common Era, years > 0, ShortFormat", "CE");
+     } else {
+-        name = i18nc( "Calendar Era: Julian Christian Era, years > 0, LongFormat", "Anno Domini" );
+-        shortName = i18nc( "Calendar Era: Julian Christian Era, years > 0, ShortFormat", "AD" );
++        name = i18nc("Calendar Era: Julian Christian Era, years > 0, LongFormat", "Anno Domini");
++        shortName = i18nc("Calendar Era: Julian Christian Era, years > 0, ShortFormat", "AD");
+     }
+-    format = i18nc( "(kdedt-format) Julian, AD, full era year format used for %EY, e.g. 2000 AD", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
++    format = i18nc("(kdedt-format) Julian, AD, full era year format used for %EY, e.g. 2000 AD", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
+ }
+ 
+-int KCalendarSystemJulianPrivate::monthsInYear( int year ) const
++int KCalendarSystemJulianPrivate::monthsInYear(int year) const
+ {
+-    Q_UNUSED( year )
++    Q_UNUSED(year)
+     return 12;
+ }
+ 
+-int KCalendarSystemJulianPrivate::daysInMonth( int year, int month ) const
++int KCalendarSystemJulianPrivate::daysInMonth(int year, int month) const
+ {
+-    if ( month == 2 ) {
+-        if ( isLeapYear( year ) ) {
++    if (month == 2) {
++        if (isLeapYear(year)) {
+             return 29;
+         } else {
+             return 28;
+         }
+     }
+ 
+-    if ( month == 4 || month == 6 || month == 9 || month == 11 ) {
++    if (month == 4 || month == 6 || month == 9 || month == 11) {
+         return 30;
+     }
+ 
+     return 31;
+ }
+ 
+-int KCalendarSystemJulianPrivate::daysInYear( int year ) const
++int KCalendarSystemJulianPrivate::daysInYear(int year) const
+ {
+-    if ( isLeapYear( year ) ) {
++    if (isLeapYear(year)) {
+         return 366;
+     } else {
+         return 365;
+@@ -136,13 +136,13 @@ int KCalendarSystemJulianPrivate::daysInWeek() const
+     return 7;
+ }
+ 
+-bool KCalendarSystemJulianPrivate::isLeapYear( int year ) const
++bool KCalendarSystemJulianPrivate::isLeapYear(int year) const
+ {
+-    if ( year < 1 ) {
++    if (year < 1) {
+         year = year + 1;
+     }
+ 
+-    if ( year % 4 == 0 ) {
++    if (year % 4 == 0) {
+         return true;
+     }
+ 
+@@ -179,459 +179,314 @@ int KCalendarSystemJulianPrivate::latestValidYear() const
+     return 9999;
+ }
+ 
+-QString KCalendarSystemJulianPrivate::monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive ) const
++QString KCalendarSystemJulianPrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
+ {
+-    Q_UNUSED( year );
++    Q_UNUSED(year);
+ 
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( month ) {
++    if (format == KLocale::NarrowName) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Julian month 1 - KLocale::NarrowName",  "J" ).toString( locale() );
++            return ki18nc("Julian month 1 - KLocale::NarrowName",  "J").toString(locale());
+         case 2:
+-            return ki18nc( "Julian month 2 - KLocale::NarrowName",  "F" ).toString( locale() );
++            return ki18nc("Julian month 2 - KLocale::NarrowName",  "F").toString(locale());
+         case 3:
+-            return ki18nc( "Julian month 3 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Julian month 3 - KLocale::NarrowName",  "M").toString(locale());
+         case 4:
+-            return ki18nc( "Julian month 4 - KLocale::NarrowName",  "A" ).toString( locale() );
++            return ki18nc("Julian month 4 - KLocale::NarrowName",  "A").toString(locale());
+         case 5:
+-            return ki18nc( "Julian month 5 - KLocale::NarrowName",  "M" ).toString( locale() );
++            return ki18nc("Julian month 5 - KLocale::NarrowName",  "M").toString(locale());
+         case 6:
+-            return ki18nc( "Julian month 6 - KLocale::NarrowName",  "J" ).toString( locale() );
++            return ki18nc("Julian month 6 - KLocale::NarrowName",  "J").toString(locale());
+         case 7:
+-            return ki18nc( "Julian month 7 - KLocale::NarrowName",  "J" ).toString( locale() );
++            return ki18nc("Julian month 7 - KLocale::NarrowName",  "J").toString(locale());
+         case 8:
+-            return ki18nc( "Julian month 8 - KLocale::NarrowName",  "A" ).toString( locale() );
++            return ki18nc("Julian month 8 - KLocale::NarrowName",  "A").toString(locale());
+         case 9:
+-            return ki18nc( "Julian month 9 - KLocale::NarrowName",  "S" ).toString( locale() );
++            return ki18nc("Julian month 9 - KLocale::NarrowName",  "S").toString(locale());
+         case 10:
+-            return ki18nc( "Julian month 10 - KLocale::NarrowName", "O" ).toString( locale() );
++            return ki18nc("Julian month 10 - KLocale::NarrowName", "O").toString(locale());
+         case 11:
+-            return ki18nc( "Julian month 11 - KLocale::NarrowName", "N" ).toString( locale() );
++            return ki18nc("Julian month 11 - KLocale::NarrowName", "N").toString(locale());
+         case 12:
+-            return ki18nc( "Julian month 12 - KLocale::NarrowName", "D" ).toString( locale() );
++            return ki18nc("Julian month 12 - KLocale::NarrowName", "D").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Julian month 1 - KLocale::ShortName Possessive",  "of Jan" ).toString( locale() );
++            return ki18nc("Julian month 1 - KLocale::ShortName Possessive",  "of Jan").toString(locale());
+         case 2:
+-            return ki18nc( "Julian month 2 - KLocale::ShortName Possessive",  "of Feb" ).toString( locale() );
++            return ki18nc("Julian month 2 - KLocale::ShortName Possessive",  "of Feb").toString(locale());
+         case 3:
+-            return ki18nc( "Julian month 3 - KLocale::ShortName Possessive",  "of Mar" ).toString( locale() );
++            return ki18nc("Julian month 3 - KLocale::ShortName Possessive",  "of Mar").toString(locale());
+         case 4:
+-            return ki18nc( "Julian month 4 - KLocale::ShortName Possessive",  "of Apr" ).toString( locale() );
++            return ki18nc("Julian month 4 - KLocale::ShortName Possessive",  "of Apr").toString(locale());
+         case 5:
+-            return ki18nc( "Julian month 5 - KLocale::ShortName Possessive",  "of May" ).toString( locale() );
++            return ki18nc("Julian month 5 - KLocale::ShortName Possessive",  "of May").toString(locale());
+         case 6:
+-            return ki18nc( "Julian month 6 - KLocale::ShortName Possessive",  "of Jun" ).toString( locale() );
++            return ki18nc("Julian month 6 - KLocale::ShortName Possessive",  "of Jun").toString(locale());
+         case 7:
+-            return ki18nc( "Julian month 7 - KLocale::ShortName Possessive",  "of Jul" ).toString( locale() );
++            return ki18nc("Julian month 7 - KLocale::ShortName Possessive",  "of Jul").toString(locale());
+         case 8:
+-            return ki18nc( "Julian month 8 - KLocale::ShortName Possessive",  "of Aug" ).toString( locale() );
++            return ki18nc("Julian month 8 - KLocale::ShortName Possessive",  "of Aug").toString(locale());
+         case 9:
+-            return ki18nc( "Julian month 9 - KLocale::ShortName Possessive",  "of Sep" ).toString( locale() );
++            return ki18nc("Julian month 9 - KLocale::ShortName Possessive",  "of Sep").toString(locale());
+         case 10:
+-            return ki18nc( "Julian month 10 - KLocale::ShortName Possessive", "of Oct" ).toString( locale() );
++            return ki18nc("Julian month 10 - KLocale::ShortName Possessive", "of Oct").toString(locale());
+         case 11:
+-            return ki18nc( "Julian month 11 - KLocale::ShortName Possessive", "of Nov" ).toString( locale() );
++            return ki18nc("Julian month 11 - KLocale::ShortName Possessive", "of Nov").toString(locale());
+         case 12:
+-            return ki18nc( "Julian month 12 - KLocale::ShortName Possessive", "of Dec" ).toString( locale() );
++            return ki18nc("Julian month 12 - KLocale::ShortName Possessive", "of Dec").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName && !possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::ShortName && !possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Julian month 1 - KLocale::ShortName",  "Jan" ).toString( locale() );
++            return ki18nc("Julian month 1 - KLocale::ShortName",  "Jan").toString(locale());
+         case 2:
+-            return ki18nc( "Julian month 2 - KLocale::ShortName",  "Feb" ).toString( locale() );
++            return ki18nc("Julian month 2 - KLocale::ShortName",  "Feb").toString(locale());
+         case 3:
+-            return ki18nc( "Julian month 3 - KLocale::ShortName",  "Mar" ).toString( locale() );
++            return ki18nc("Julian month 3 - KLocale::ShortName",  "Mar").toString(locale());
+         case 4:
+-            return ki18nc( "Julian month 4 - KLocale::ShortName",  "Apr" ).toString( locale() );
++            return ki18nc("Julian month 4 - KLocale::ShortName",  "Apr").toString(locale());
+         case 5:
+-            return ki18nc( "Julian month 5 - KLocale::ShortName",  "May" ).toString( locale() );
++            return ki18nc("Julian month 5 - KLocale::ShortName",  "May").toString(locale());
+         case 6:
+-            return ki18nc( "Julian month 6 - KLocale::ShortName",  "Jun" ).toString( locale() );
++            return ki18nc("Julian month 6 - KLocale::ShortName",  "Jun").toString(locale());
+         case 7:
+-            return ki18nc( "Julian month 7 - KLocale::ShortName",  "Jul" ).toString( locale() );
++            return ki18nc("Julian month 7 - KLocale::ShortName",  "Jul").toString(locale());
+         case 8:
+-            return ki18nc( "Julian month 8 - KLocale::ShortName",  "Aug" ).toString( locale() );
++            return ki18nc("Julian month 8 - KLocale::ShortName",  "Aug").toString(locale());
+         case 9:
+-            return ki18nc( "Julian month 9 - KLocale::ShortName",  "Sep" ).toString( locale() );
++            return ki18nc("Julian month 9 - KLocale::ShortName",  "Sep").toString(locale());
+         case 10:
+-            return ki18nc( "Julian month 10 - KLocale::ShortName", "Oct" ).toString( locale() );
++            return ki18nc("Julian month 10 - KLocale::ShortName", "Oct").toString(locale());
+         case 11:
+-            return ki18nc( "Julian month 11 - KLocale::ShortName", "Nov" ).toString( locale() );
++            return ki18nc("Julian month 11 - KLocale::ShortName", "Nov").toString(locale());
+         case 12:
+-            return ki18nc( "Julian month 12 - KLocale::ShortName", "Dec" ).toString( locale() );
++            return ki18nc("Julian month 12 - KLocale::ShortName", "Dec").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::LongName && possessive ) {
+-        switch ( month ) {
++    if (format == KLocale::LongName && possessive) {
++        switch (month) {
+         case 1:
+-            return ki18nc( "Julian month 1 - KLocale::LongName Possessive",  "of January"   ).toString( locale() );
++            return ki18nc("Julian month 1 - KLocale::LongName Possessive",  "of January").toString(locale());
+         case 2:
+-            return ki18nc( "Julian month 2 - KLocale::LongName Possessive",  "of February"  ).toString( locale() );
++            return ki18nc("Julian month 2 - KLocale::LongName Possessive",  "of February").toString(locale());
+         case 3:
+-            return ki18nc( "Julian month 3 - KLocale::LongName Possessive",  "of March"     ).toString( locale() );
++            return ki18nc("Julian month 3 - KLocale::LongName Possessive",  "of March").toString(locale());
+         case 4:
+-            return ki18nc( "Julian month 4 - KLocale::LongName Possessive",  "of April"     ).toString( locale() );
++            return ki18nc("Julian month 4 - KLocale::LongName Possessive",  "of April").toString(locale());
+         case 5:
+-            return ki18nc( "Julian month 5 - KLocale::LongName Possessive",  "of May"       ).toString( locale() );
++            return ki18nc("Julian month 5 - KLocale::LongName Possessive",  "of May").toString(locale());
+         case 6:
+-            return ki18nc( "Julian month 6 - KLocale::LongName Possessive",  "of June"      ).toString( locale() );
++            return ki18nc("Julian month 6 - KLocale::LongName Possessive",  "of June").toString(locale());
+         case 7:
+-            return ki18nc( "Julian month 7 - KLocale::LongName Possessive",  "of July"      ).toString( locale() );
++            return ki18nc("Julian month 7 - KLocale::LongName Possessive",  "of July").toString(locale());
+         case 8:
+-            return ki18nc( "Julian month 8 - KLocale::LongName Possessive",  "of August"    ).toString( locale() );
++            return ki18nc("Julian month 8 - KLocale::LongName Possessive",  "of August").toString(locale());
+         case 9:
+-            return ki18nc( "Julian month 9 - KLocale::LongName Possessive",  "of September" ).toString( locale() );
++            return ki18nc("Julian month 9 - KLocale::LongName Possessive",  "of September").toString(locale());
+         case 10:
+-            return ki18nc( "Julian month 10 - KLocale::LongName Possessive", "of October"   ).toString( locale() );
++            return ki18nc("Julian month 10 - KLocale::LongName Possessive", "of October").toString(locale());
+         case 11:
+-            return ki18nc( "Julian month 11 - KLocale::LongName Possessive", "of November"  ).toString( locale() );
++            return ki18nc("Julian month 11 - KLocale::LongName Possessive", "of November").toString(locale());
+         case 12:
+-            return ki18nc( "Julian month 12 - KLocale::LongName Possessive", "of December"  ).toString( locale() );
++            return ki18nc("Julian month 12 - KLocale::LongName Possessive", "of December").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+     // Default to LongName
+-    switch ( month ) {
++    switch (month) {
+     case 1:
+-        return ki18nc( "Julian month 1 - KLocale::LongName",  "January"   ).toString( locale() );
++        return ki18nc("Julian month 1 - KLocale::LongName",  "January").toString(locale());
+     case 2:
+-        return ki18nc( "Julian month 2 - KLocale::LongName",  "February"  ).toString( locale() );
++        return ki18nc("Julian month 2 - KLocale::LongName",  "February").toString(locale());
+     case 3:
+-        return ki18nc( "Julian month 3 - KLocale::LongName",  "March"     ).toString( locale() );
++        return ki18nc("Julian month 3 - KLocale::LongName",  "March").toString(locale());
+     case 4:
+-        return ki18nc( "Julian month 4 - KLocale::LongName",  "April"     ).toString( locale() );
++        return ki18nc("Julian month 4 - KLocale::LongName",  "April").toString(locale());
+     case 5:
+-        return ki18nc( "Julian month 5 - KLocale::LongName",  "May"       ).toString( locale() );
++        return ki18nc("Julian month 5 - KLocale::LongName",  "May").toString(locale());
+     case 6:
+-        return ki18nc( "Julian month 6 - KLocale::LongName",  "June"      ).toString( locale() );
++        return ki18nc("Julian month 6 - KLocale::LongName",  "June").toString(locale());
+     case 7:
+-        return ki18nc( "Julian month 7 - KLocale::LongName",  "July"      ).toString( locale() );
++        return ki18nc("Julian month 7 - KLocale::LongName",  "July").toString(locale());
+     case 8:
+-        return ki18nc( "Julian month 8 - KLocale::LongName",  "August"    ).toString( locale() );
++        return ki18nc("Julian month 8 - KLocale::LongName",  "August").toString(locale());
+     case 9:
+-        return ki18nc( "Julian month 9 - KLocale::LongName",  "September" ).toString( locale() );
++        return ki18nc("Julian month 9 - KLocale::LongName",  "September").toString(locale());
+     case 10:
+-        return ki18nc( "Julian month 10 - KLocale::LongName", "October"   ).toString( locale() );
++        return ki18nc("Julian month 10 - KLocale::LongName", "October").toString(locale());
+     case 11:
+-        return ki18nc( "Julian month 11 - KLocale::LongName", "November"  ).toString( locale() );
++        return ki18nc("Julian month 11 - KLocale::LongName", "November").toString(locale());
+     case 12:
+-        return ki18nc( "Julian month 12 - KLocale::LongName", "December"  ).toString( locale() );
++        return ki18nc("Julian month 12 - KLocale::LongName", "December").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+-QString KCalendarSystemJulianPrivate::weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const
++QString KCalendarSystemJulianPrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
+ {
+-    if ( format == KLocale::NarrowName ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::NarrowName) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Julian weekday 1 - KLocale::NarrowName ", "M" ).toString( locale() );
++            return ki18nc("Julian weekday 1 - KLocale::NarrowName ", "M").toString(locale());
+         case 2:
+-            return ki18nc( "Julian weekday 2 - KLocale::NarrowName ", "T" ).toString( locale() );
++            return ki18nc("Julian weekday 2 - KLocale::NarrowName ", "T").toString(locale());
+         case 3:
+-            return ki18nc( "Julian weekday 3 - KLocale::NarrowName ", "W" ).toString( locale() );
++            return ki18nc("Julian weekday 3 - KLocale::NarrowName ", "W").toString(locale());
+         case 4:
+-            return ki18nc( "Julian weekday 4 - KLocale::NarrowName ", "T" ).toString( locale() );
++            return ki18nc("Julian weekday 4 - KLocale::NarrowName ", "T").toString(locale());
+         case 5:
+-            return ki18nc( "Julian weekday 5 - KLocale::NarrowName ", "F" ).toString( locale() );
++            return ki18nc("Julian weekday 5 - KLocale::NarrowName ", "F").toString(locale());
+         case 6:
+-            return ki18nc( "Julian weekday 6 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Julian weekday 6 - KLocale::NarrowName ", "S").toString(locale());
+         case 7:
+-            return ki18nc( "Julian weekday 7 - KLocale::NarrowName ", "S" ).toString( locale() );
++            return ki18nc("Julian weekday 7 - KLocale::NarrowName ", "S").toString(locale());
+         default:
+             return QString();
+         }
+     }
+ 
+-    if ( format == KLocale::ShortName  || format == KLocale:: ShortNumber ) {
+-        switch ( weekDay ) {
++    if (format == KLocale::ShortName  || format == KLocale:: ShortNumber) {
++        switch (weekDay) {
+         case 1:
+-            return ki18nc( "Julian weekday 1 - KLocale::ShortName", "Mon" ).toString( locale() );
++            return ki18nc("Julian weekday 1 - KLocale::ShortName", "Mon").toString(locale());
+         case 2:
+-            return ki18nc( "Julian weekday 2 - KLocale::ShortName", "Tue" ).toString( locale() );
++            return ki18nc("Julian weekday 2 - KLocale::ShortName", "Tue").toString(locale());
+         case 3:
+-            return ki18nc( "Julian weekday 3 - KLocale::ShortName", "Wed" ).toString( locale() );
++            return ki18nc("Julian weekday 3 - KLocale::ShortName", "Wed").toString(locale());
+         case 4:
+-            return ki18nc( "Julian weekday 4 - KLocale::ShortName", "Thu" ).toString( locale() );
++            return ki18nc("Julian weekday 4 - KLocale::ShortName", "Thu").toString(locale());
+         case 5:
+-            return ki18nc( "Julian weekday 5 - KLocale::ShortName", "Fri" ).toString( locale() );
++            return ki18nc("Julian weekday 5 - KLocale::ShortName", "Fri").toString(locale());
+         case 6:
+-            return ki18nc( "Julian weekday 6 - KLocale::ShortName", "Sat" ).toString( locale() );
++            return ki18nc("Julian weekday 6 - KLocale::ShortName", "Sat").toString(locale());
+         case 7:
+-            return ki18nc( "Julian weekday 7 - KLocale::ShortName", "Sun" ).toString( locale() );
++            return ki18nc("Julian weekday 7 - KLocale::ShortName", "Sun").toString(locale());
+         default: return QString();
+         }
+     }
+ 
+-    switch ( weekDay ) {
++    switch (weekDay) {
+     case 1:
+-        return ki18nc( "Julian weekday 1 - KLocale::LongName", "Monday"    ).toString( locale() );
++        return ki18nc("Julian weekday 1 - KLocale::LongName", "Monday").toString(locale());
+     case 2:
+-        return ki18nc( "Julian weekday 2 - KLocale::LongName", "Tuesday"   ).toString( locale() );
++        return ki18nc("Julian weekday 2 - KLocale::LongName", "Tuesday").toString(locale());
+     case 3:
+-        return ki18nc( "Julian weekday 3 - KLocale::LongName", "Wednesday" ).toString( locale() );
++        return ki18nc("Julian weekday 3 - KLocale::LongName", "Wednesday").toString(locale());
+     case 4:
+-        return ki18nc( "Julian weekday 4 - KLocale::LongName", "Thursday"  ).toString( locale() );
++        return ki18nc("Julian weekday 4 - KLocale::LongName", "Thursday").toString(locale());
+     case 5:
+-        return ki18nc( "Julian weekday 5 - KLocale::LongName", "Friday"    ).toString( locale() );
++        return ki18nc("Julian weekday 5 - KLocale::LongName", "Friday").toString(locale());
+     case 6:
+-        return ki18nc( "Julian weekday 6 - KLocale::LongName", "Saturday"  ).toString( locale() );
++        return ki18nc("Julian weekday 6 - KLocale::LongName", "Saturday").toString(locale());
+     case 7:
+-        return ki18nc( "Julian weekday 7 - KLocale::LongName", "Sunday"    ).toString( locale() );
++        return ki18nc("Julian weekday 7 - KLocale::LongName", "Sunday").toString(locale());
+     default:
+         return QString();
+     }
+ }
+ 
+ 
+-KCalendarSystemJulian::KCalendarSystemJulian( const KLocale *locale )
+-                     : KCalendarSystem( *new KCalendarSystemJulianPrivate( this ), KSharedConfig::Ptr(), locale ),
+-                       dont_use( 0 )
++KCalendarSystemJulian::KCalendarSystemJulian(const KLocale *locale)
++                     : KCalendarSystem(*new KCalendarSystemJulianPrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemJulian::KCalendarSystemJulian( const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystem( *new KCalendarSystemJulianPrivate( this ), config, locale ),
+-                       dont_use( 0 )
++KCalendarSystemJulian::KCalendarSystemJulian(const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystem(*new KCalendarSystemJulianPrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemJulian::KCalendarSystemJulian( KCalendarSystemJulianPrivate &dd,
+-                                              const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystem( dd, config, locale ),
+-                       dont_use( 0 )
++KCalendarSystemJulian::KCalendarSystemJulian(KCalendarSystemJulianPrivate &dd,
++                                             const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystem(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemJulian::~KCalendarSystemJulian()
+ {
+-    delete dont_use;
+ }
+ 
+ QString KCalendarSystemJulian::calendarType() const
+ {
+-    return QLatin1String( "julian" );
++    return QLatin1String("julian");
+ }
+ 
+ QDate KCalendarSystemJulian::epoch() const
+ {
+-    return QDate::fromJulianDay( 1721426 );
++    return QDate::fromJulianDay(1721426);
+ }
+ 
+ QDate KCalendarSystemJulian::earliestValidDate() const
+ {
+     // 1 Jan 4712 BC, no year zero, cant be 4713BC due to error in QDate that day 0 is not valid
+     // and we really need the first in each year to be valid for the date maths
+-    return QDate::fromJulianDay( 366 );
++    return QDate::fromJulianDay(366);
+ }
+ 
+ QDate KCalendarSystemJulian::latestValidDate() const
+ {
+     // Set to last day of year 9999 until confirm date formats & widgets support > 9999
+     // 31 Dec 9999 AD, no year zero
+-    return QDate::fromJulianDay( 5373557 );
++    return QDate::fromJulianDay(5373557);
+ }
+ 
+-bool KCalendarSystemJulian::isValid( int year, int month, int day ) const
++bool KCalendarSystemJulian::isValid(int year, int month, int day) const
+ {
+-    return KCalendarSystem::isValid( year, month, day );
++    return KCalendarSystem::isValid(year, month, day);
+ }
+ 
+-bool KCalendarSystemJulian::isValid( const QDate &date ) const
++bool KCalendarSystemJulian::isValid(const QDate &date) const
+ {
+-    return KCalendarSystem::isValid( date );
++    return KCalendarSystem::isValid(date);
+ }
+ 
+-bool KCalendarSystemJulian::setDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemJulian::isLeapYear(int year) const
+ {
+-    return KCalendarSystem::setDate( date, year, month, day );
++    return KCalendarSystem::isLeapYear(year);
+ }
+ 
+-// Deprecated
+-bool KCalendarSystemJulian::setYMD( QDate &date, int y, int m, int d ) const
++bool KCalendarSystemJulian::isLeapYear(const QDate &date) const
+ {
+-    return KCalendarSystem::setDate( date, y, m, d );
++    return KCalendarSystem::isLeapYear(date);
+ }
+ 
+-int KCalendarSystemJulian::year( const QDate &date ) const
++QString KCalendarSystemJulian::monthName(int month, int year, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::year( date );
++    return KCalendarSystem::monthName(month, year, format);
+ }
+ 
+-int KCalendarSystemJulian::month( const QDate &date ) const
++QString KCalendarSystemJulian::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    return KCalendarSystem::month( date );
++    return KCalendarSystem::monthName(date, format);
+ }
+ 
+-int KCalendarSystemJulian::day( const QDate &date ) const
++QString KCalendarSystemJulian::weekDayName(int weekDay, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::day( date );
++    return KCalendarSystem::weekDayName(weekDay, format);
+ }
+ 
+-QDate KCalendarSystemJulian::addYears( const QDate &date, int nyears ) const
++QString KCalendarSystemJulian::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystem::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemJulian::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystem::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemJulian::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystem::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemJulian::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::monthsInYear( date );
+-}
+-
+-int KCalendarSystemJulian::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::weeksInYear( date );
+-}
+-
+-int KCalendarSystemJulian::weeksInYear( int year ) const
+-{
+-    return KCalendarSystem::weeksInYear( year );
+-}
+-
+-int KCalendarSystemJulian::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInYear( date );
+-}
+-
+-int KCalendarSystemJulian::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInMonth( date );
+-}
+-
+-int KCalendarSystemJulian::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::daysInWeek( date );
+-}
+-
+-int KCalendarSystemJulian::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfYear( date );
+-}
+-
+-int KCalendarSystemJulian::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystem::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemJulian::weekNumber( const QDate &date, int * yearNum ) const
+-{
+-    return KCalendarSystem::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemJulian::isLeapYear( int year ) const
+-{
+-    return KCalendarSystem::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemJulian::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystem::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemJulian::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemJulian::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystem::monthName( date, format );
+-}
+-
+-QString KCalendarSystemJulian::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemJulian::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystem::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemJulian::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemJulian::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemJulian::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystem::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemJulian::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemJulian::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemJulian::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystem::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemJulian::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystem::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemJulian::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemJulian::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemJulian::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystem::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemJulian::weekStartDay() const
+-{
+-    return KCalendarSystem::weekStartDay();
++    return KCalendarSystem::weekDayName(date, format);
+ }
+ 
+ int KCalendarSystemJulian::weekDayOfPray() const
+@@ -659,7 +514,7 @@ bool KCalendarSystemJulian::isProleptic() const
+     return true;
+ }
+ 
+-bool KCalendarSystemJulian::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemJulian::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+     // Formula from The Calendar FAQ by Claus Tondering
+     // http://www.tondering.dk/claus/cal/node3.html#SECTION003161000000000000000
+@@ -668,23 +523,23 @@ bool KCalendarSystemJulian::julianDayToDate( int jd, int &year, int &month, int
+ 
+     int b = 0;
+     int c = jd + 32082;
+-    int d = ( ( 4 * c ) + 3 ) / 1461;
+-    int e = c - ( ( 1461 * d ) / 4 );
+-    int m = ( ( 5 * e ) + 2 ) / 153;
+-    day = e - ( ( (153 * m ) + 2 ) / 5 ) + 1;
+-    month = m + 3 - ( 12 * ( m / 10 ) );
+-    year = ( 100 * b ) + d - 4800 + ( m / 10 );
++    int d = ((4 * c) + 3) / 1461;
++    int e = c - ((1461 * d) / 4);
++    int m = ((5 * e) + 2) / 153;
++    day = e - (((153 * m) + 2) / 5) + 1;
++    month = m + 3 - (12 * (m / 10));
++    year = (100 * b) + d - 4800 + (m / 10);
+ 
+     // If year is -ve then is BC.  In Julian there is no year 0, but the maths
+     // is easier if we pretend there is, so internally year of 0 = 1BC = -1 outside
+-    if ( year < 1 ) {
++    if (year < 1) {
+         year = year - 1;
+     }
+ 
+     return true;
+ }
+ 
+-bool KCalendarSystemJulian::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemJulian::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+     // Formula from The Calendar FAQ by Claus Tondering
+     // http://www.tondering.dk/claus/cal/node3.html#SECTION003161000000000000000
+@@ -694,20 +549,20 @@ bool KCalendarSystemJulian::dateToJulianDay( int year, int month, int day, int &
+     // If year is -ve then is BC.  In Julian there is no year 0, but the maths
+     // is easier if we pretend there is, so internally year of -1 = 1BC = 0 internally
+     int y;
+-    if ( year < 1 ) {
++    if (year < 1) {
+         y = year + 1;
+     } else {
+         y = year;
+     }
+ 
+-    int a = ( 14 - month ) / 12;
++    int a = (14 - month) / 12;
+     y = y + 4800 - a;
+-    int m = month + ( 12 * a ) - 3;
++    int m = month + (12 * a) - 3;
+ 
+     jd = day
+-         + ( ( ( 153 * m ) + 2 ) / 5 )
+-         + ( 365 * y )
+-         + ( y / 4 )
++         + (((153 * m) + 2) / 5)
++         + (365 * y)
++         + (y / 4)
+          - 32083;
+ 
+     return true;
+diff --git a/kdecore/date/kcalendarsystemjulian_p.h b/kdecore/date/kcalendarsystemjulian_p.h
+index 5976567..ebcad4a 100644
+--- a/kdecore/date/kcalendarsystemjulian_p.h
++++ b/kdecore/date/kcalendarsystemjulian_p.h
+@@ -41,8 +41,8 @@ class KCalendarSystemJulianPrivate;
+ class KCalendarSystemJulian: public KCalendarSystem
+ {
+ public:
+-    explicit KCalendarSystemJulian( const KLocale *locale = 0 );
+-    explicit KCalendarSystemJulian( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystemJulian(const KLocale *locale = 0);
++    explicit KCalendarSystemJulian(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+     virtual ~KCalendarSystemJulian();
+ 
+     virtual QString calendarType() const;
+@@ -50,58 +50,19 @@ public:
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -109,15 +70,14 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemJulian( KCalendarSystemJulianPrivate &dd,
+-                           const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                           const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemJulian(KCalendarSystemJulianPrivate &dd,
++                          const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                          const KLocale *locale = 0);
+ 
+ private:
+-    Q_DECLARE_PRIVATE( KCalendarSystemJulian )
+-    KCalendarSystemJulianPrivate * const dont_use; // KDE5 remove, use shared d
++    Q_DECLARE_PRIVATE(KCalendarSystemJulian)
+ };
+ 
+ #endif // KCALENDARSYSTEMJULIAN_H
+diff --git a/kdecore/date/kcalendarsystemminguo.cpp b/kdecore/date/kcalendarsystemminguo.cpp
+index 0230f93..66aea58 100644
+--- a/kdecore/date/kcalendarsystemminguo.cpp
++++ b/kdecore/date/kcalendarsystemminguo.cpp
+@@ -18,30 +18,30 @@
+ */
+ 
+ #include "kcalendarsystemminguo_p.h"
+-#include "kcalendarsystemgregorianprolepticprivate_p.h"
++#include "kcalendarsystemgregorianprivate_p.h"
+ 
+ #include "kdebug.h"
+ #include "klocale.h"
+ 
+ #include 
+ 
+-//Reuse the Gregorian Proleptic private implementation
+-class KCalendarSystemMinguoPrivate : public KCalendarSystemGregorianProlepticPrivate
++//Reuse the Gregorian private implementation
++class KCalendarSystemMinguoPrivate : public KCalendarSystemGregorianPrivate
+ {
+ public:
+-    explicit KCalendarSystemMinguoPrivate( KCalendarSystemMinguo *q );
++    explicit KCalendarSystemMinguoPrivate(KCalendarSystemMinguo *q);
+     virtual ~KCalendarSystemMinguoPrivate();
+ 
+     virtual KLocale::CalendarSystem calendarSystem() const;
+     virtual void loadDefaultEraList();
+-    virtual bool isLeapYear( int year ) const;
++    virtual bool isLeapYear(int year) const;
+     virtual int earliestValidYear() const;
+ };
+ 
+-//Override only a few of the Gregorian Proleptic private methods
++//Override only a few of the Gregorian private methods
+ 
+-KCalendarSystemMinguoPrivate::KCalendarSystemMinguoPrivate( KCalendarSystemMinguo *q )
+-                              : KCalendarSystemGregorianProlepticPrivate( q )
++KCalendarSystemMinguoPrivate::KCalendarSystemMinguoPrivate(KCalendarSystemMinguo *q)
++                            : KCalendarSystemGregorianPrivate(q)
+ {
+ }
+ 
+@@ -58,15 +58,15 @@ void KCalendarSystemMinguoPrivate::loadDefaultEraList()
+ {
+     QString name, shortName, format;
+ 
+-    name = i18nc( "Calendar Era: Taiwan Republic of China Era, years > 0, LongFormat", "Republic of China Era" );
+-    shortName = i18nc( "Calendar Era: Taiwan Republic of China Era, years > 0, ShortFormat", "ROC" );
+-    format = i18nc( "(kdedt-format) Taiwan, ROC, full era year format used for %EY, e.g. ROC 99", "%EC %Ey" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
++    name = i18nc("Calendar Era: Taiwan Republic of China Era, years > 0, LongFormat", "Republic of China Era");
++    shortName = i18nc("Calendar Era: Taiwan Republic of China Era, years > 0, ShortFormat", "ROC");
++    format = i18nc("(kdedt-format) Taiwan, ROC, full era year format used for %EY, e.g. ROC 99", "%EC %Ey");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
+ }
+ 
+-bool KCalendarSystemMinguoPrivate::isLeapYear( int year ) const
++bool KCalendarSystemMinguoPrivate::isLeapYear(int year) const
+ {
+-    return KCalendarSystemGregorianProlepticPrivate::isLeapYear( year + 1911 );
++    return KCalendarSystemGregorianPrivate::isLeapYear(year + 1911);
+ }
+ 
+ int KCalendarSystemMinguoPrivate::earliestValidYear() const
+@@ -75,23 +75,23 @@ int KCalendarSystemMinguoPrivate::earliestValidYear() const
+ }
+ 
+ 
+-KCalendarSystemMinguo::KCalendarSystemMinguo( const KLocale *locale )
+-                     : KCalendarSystemGregorianProleptic( *new KCalendarSystemMinguoPrivate( this ), KSharedConfig::Ptr(), locale )
++KCalendarSystemMinguo::KCalendarSystemMinguo(const KLocale *locale)
++                     : KCalendarSystemGregorian(*new KCalendarSystemMinguoPrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemMinguo::KCalendarSystemMinguo( const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystemGregorianProleptic( *new KCalendarSystemMinguoPrivate( this ), config, locale )
++KCalendarSystemMinguo::KCalendarSystemMinguo(const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystemGregorian(*new KCalendarSystemMinguoPrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemMinguo::KCalendarSystemMinguo( KCalendarSystemMinguoPrivate &dd,
+-                                              const KSharedConfig::Ptr config, const KLocale *locale )
+-                     : KCalendarSystemGregorianProleptic( dd, config, locale )
++KCalendarSystemMinguo::KCalendarSystemMinguo(KCalendarSystemMinguoPrivate &dd,
++                                             const KSharedConfig::Ptr config, const KLocale *locale)
++                     : KCalendarSystemGregorian(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemMinguo::~KCalendarSystemMinguo()
+@@ -100,13 +100,13 @@ KCalendarSystemMinguo::~KCalendarSystemMinguo()
+ 
+ QString KCalendarSystemMinguo::calendarType() const
+ {
+-    return QLatin1String( "minguo" );
++    return QLatin1String("minguo");
+ }
+ 
+ QDate KCalendarSystemMinguo::epoch() const
+ {
+     // 0001-01-01 = 1912-01-01 AD Gregorian
+-    return QDate::fromJulianDay( 2419403 );
++    return QDate::fromJulianDay(2419403);
+ }
+ 
+ QDate KCalendarSystemMinguo::earliestValidDate() const
+@@ -118,188 +118,47 @@ QDate KCalendarSystemMinguo::latestValidDate() const
+ {
+     // Set to last day of year 9999 until confirm date formats & widgets support > 9999
+     // 9999-12-31 = 11910-12-31 AD Gregorian
+-    return QDate::fromJulianDay( 6071462 );
++    return QDate::fromJulianDay(6071462);
+ }
+ 
+-bool KCalendarSystemMinguo::isValid( int year, int month, int day ) const
++bool KCalendarSystemMinguo::isValid(int year, int month, int day) const
+ {
+-    return KCalendarSystemGregorianProleptic::isValid( year, month, day );
++    return KCalendarSystemGregorian::isValid(year, month, day);
+ }
+ 
+-bool KCalendarSystemMinguo::isValid( const QDate &date ) const
++bool KCalendarSystemMinguo::isValid(const QDate &date) const
+ {
+-    return KCalendarSystemGregorianProleptic::isValid( date );
++    return KCalendarSystemGregorian::isValid(date);
+ }
+ 
+-bool KCalendarSystemMinguo::setDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemMinguo::isLeapYear(int year) const
+ {
+-    return KCalendarSystemGregorianProleptic::setDate( date, year, month, day );
++    return KCalendarSystemGregorian::isLeapYear(year);
+ }
+ 
+-// Deprecated
+-bool KCalendarSystemMinguo::setYMD( QDate &date, int y, int m, int d ) const
++bool KCalendarSystemMinguo::isLeapYear(const QDate &date) const
+ {
+-    return KCalendarSystemGregorianProleptic::setDate( date, y, m, d );
++    return KCalendarSystemGregorian::isLeapYear(date);
+ }
+ 
+-int KCalendarSystemMinguo::year( const QDate &date ) const
++QString KCalendarSystemMinguo::monthName(int month, int year, MonthNameFormat format) const
+ {
+-    return KCalendarSystemGregorianProleptic::year( date );
++    return KCalendarSystemGregorian::monthName(month, year, format);
+ }
+ 
+-int KCalendarSystemMinguo::month( const QDate &date ) const
++QString KCalendarSystemMinguo::monthName(const QDate &date, MonthNameFormat format) const
+ {
+-    return KCalendarSystemGregorianProleptic::month( date );
++    return KCalendarSystemGregorian::monthName(date, format);
+ }
+ 
+-int KCalendarSystemMinguo::day( const QDate &date ) const
++QString KCalendarSystemMinguo::weekDayName(int weekDay, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystemGregorianProleptic::day( date );
++    return KCalendarSystemGregorian::weekDayName(weekDay, format);
+ }
+ 
+-QDate KCalendarSystemMinguo::addYears( const QDate &date, int nyears ) const
++QString KCalendarSystemMinguo::weekDayName(const QDate &date, WeekDayNameFormat format) const
+ {
+-    return KCalendarSystemGregorianProleptic::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemMinguo::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystemGregorianProleptic::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemMinguo::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystemGregorianProleptic::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemMinguo::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthsInYear( date );
+-}
+-
+-int KCalendarSystemMinguo::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weeksInYear( date );
+-}
+-
+-int KCalendarSystemMinguo::weeksInYear( int year ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weeksInYear( year );
+-}
+-
+-int KCalendarSystemMinguo::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::daysInYear( date );
+-}
+-
+-int KCalendarSystemMinguo::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::daysInMonth( date );
+-}
+-
+-int KCalendarSystemMinguo::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::daysInWeek( date );
+-}
+-
+-int KCalendarSystemMinguo::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayOfYear( date );
+-}
+-
+-int KCalendarSystemMinguo::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemMinguo::weekNumber( const QDate &date, int * yearNum ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemMinguo::isLeapYear( int year ) const
+-{
+-    return KCalendarSystemGregorianProleptic::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemMinguo::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemMinguo::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemMinguo::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthName( date, format );
+-}
+-
+-QString KCalendarSystemMinguo::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemMinguo::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemMinguo::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemMinguo::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemMinguo::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemMinguo::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemGregorianProleptic::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemMinguo::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemMinguo::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemMinguo::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemMinguo::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystemGregorianProleptic::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemMinguo::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystemGregorianProleptic::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemMinguo::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystemGregorianProleptic::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemMinguo::weekStartDay() const
+-{
+-    return KCalendarSystemGregorianProleptic::weekStartDay();
++    return KCalendarSystemGregorian::weekDayName(date, format);
+ }
+ 
+ int KCalendarSystemMinguo::weekDayOfPray() const
+@@ -309,17 +168,17 @@ int KCalendarSystemMinguo::weekDayOfPray() const
+ 
+ bool KCalendarSystemMinguo::isLunar() const
+ {
+-    return KCalendarSystemGregorianProleptic::isLunar();
++    return KCalendarSystemGregorian::isLunar();
+ }
+ 
+ bool KCalendarSystemMinguo::isLunisolar() const
+ {
+-    return KCalendarSystemGregorianProleptic::isLunisolar();
++    return KCalendarSystemGregorian::isLunisolar();
+ }
+ 
+ bool KCalendarSystemMinguo::isSolar() const
+ {
+-    return KCalendarSystemGregorianProleptic::isSolar();
++    return KCalendarSystemGregorian::isSolar();
+ }
+ 
+ bool KCalendarSystemMinguo::isProleptic() const
+@@ -327,15 +186,15 @@ bool KCalendarSystemMinguo::isProleptic() const
+     return false;
+ }
+ 
+-bool KCalendarSystemMinguo::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemMinguo::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+-    bool result = KCalendarSystemGregorianProleptic::julianDayToDate( jd, year, month, day );
++    bool result = KCalendarSystemGregorian::julianDayToDate(jd, year, month, day);
+     year = year - 1911;
+     return result;
+ }
+ 
+-bool KCalendarSystemMinguo::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemMinguo::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+-    return KCalendarSystemGregorianProleptic::dateToJulianDay( year + 1911, month, day, jd );
++    return KCalendarSystemGregorian::dateToJulianDay(year + 1911, month, day, jd);
+ }
+ 
+diff --git a/kdecore/date/kcalendarsystemminguo_p.h b/kdecore/date/kcalendarsystemminguo_p.h
+index a3f0acc..6e257af 100644
+--- a/kdecore/date/kcalendarsystemminguo_p.h
++++ b/kdecore/date/kcalendarsystemminguo_p.h
+@@ -20,7 +20,7 @@
+ #ifndef KCALENDARSYSTEMMINGUO_H
+ #define KCALENDARSYSTEMMINGUO_H
+ 
+-#include "kcalendarsystemgregorianproleptic_p.h"
++#include "kcalendarsystemgregorian_p.h"
+ 
+ class KCalendarSystemMinguoPrivate;
+ 
+@@ -35,11 +35,11 @@ class KCalendarSystemMinguoPrivate;
+  *
+  * @author John Layt 
+  */
+-class KCalendarSystemMinguo: public KCalendarSystemGregorianProleptic
++class KCalendarSystemMinguo: public KCalendarSystemGregorian
+ {
+ public:
+-    explicit KCalendarSystemMinguo( const KLocale *locale = 0 );
+-    explicit KCalendarSystemMinguo( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystemMinguo(const KLocale *locale = 0);
++    explicit KCalendarSystemMinguo(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+     virtual ~KCalendarSystemMinguo();
+ 
+     virtual QString calendarType() const;
+@@ -47,58 +47,19 @@ public:
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
+ 
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
+ 
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -106,11 +67,11 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemMinguo( KCalendarSystemMinguoPrivate &dd,
+-                           const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                           const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemMinguo(KCalendarSystemMinguoPrivate &dd,
++                          const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                          const KLocale *locale = 0);
+ 
+ private:
+     Q_DECLARE_PRIVATE(KCalendarSystemMinguo)
+diff --git a/kdecore/date/kcalendarsystemprivate_p.h b/kdecore/date/kcalendarsystemprivate_p.h
+index ce3a6bc..406fece 100644
+--- a/kdecore/date/kcalendarsystemprivate_p.h
++++ b/kdecore/date/kcalendarsystemprivate_p.h
+@@ -28,8 +28,7 @@ class KCalendarSystem;
+ class KCalendarEra;
+ class KLocale;
+ 
+-struct DateComponents
+-{
++struct DateComponents {
+     int day;
+     int month;
+     int year;
+@@ -47,74 +46,74 @@ struct DateComponents
+ class KCalendarSystemPrivate
+ {
+ public:
+-    explicit KCalendarSystemPrivate( KCalendarSystem *q );
++    explicit KCalendarSystemPrivate(KCalendarSystem *q);
+ 
+     virtual ~KCalendarSystemPrivate();
+ 
+     // Virtual methods each calendar system must re-implement
+     virtual KLocale::CalendarSystem calendarSystem() const;
+     virtual void loadDefaultEraList();
+-    virtual int monthsInYear( int year ) const;
+-    virtual int daysInMonth( int year, int month ) const;
+-    virtual int daysInYear( int year ) const;
++    virtual int monthsInYear(int year) const;
++    virtual int daysInMonth(int year, int month) const;
++    virtual int daysInYear(int year) const;
+     virtual int daysInWeek() const;
+-    virtual bool isLeapYear( int year ) const;
++    virtual bool isLeapYear(int year) const;
+     virtual bool hasLeapMonths() const;
+     virtual bool hasYearZero() const;
+     virtual int maxDaysInWeek() const;
+     virtual int maxMonthsInYear() const;
+     virtual int earliestValidYear() const;
+     virtual int latestValidYear() const;
+-    virtual QString monthName( int month, int year, KLocale::DateTimeComponentFormat format, bool possessive = false ) const;
+-    virtual QString weekDayName( int weekDay, KLocale::DateTimeComponentFormat format ) const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive = false) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
+ 
+     // Virtual methods to re-implement if special maths needed
+-    virtual int week( const QDate &date, KLocale::WeekNumberSystem weekNumberSystem, int *yearNum ) const;
+-    virtual int isoWeekNumber( const QDate &date, int *yearNum ) const;
+-    virtual int regularWeekNumber( const QDate &date, int weekStartDay, int firstWeekNumber, int *weekYear ) const;
+-    virtual int simpleWeekNumber( const QDate &date, int *yearNum ) const;
+-    virtual int weeksInYear( int year, KLocale::WeekNumberSystem weekNumberSystem ) const;
+-    virtual int isoWeeksInYear( int year ) const;
+-    virtual int regularWeeksInYear( int year, int weekStartDay, int firstWeekNumber ) const;
+-    virtual int simpleWeeksInYear( int year ) const;
++    virtual int week(const QDate &date, KLocale::WeekNumberSystem weekNumberSystem, int *yearNum) const;
++    virtual int isoWeekNumber(const QDate &date, int *yearNum) const;
++    virtual int regularWeekNumber(const QDate &date, int weekStartDay, int firstWeekNumber, int *weekYear) const;
++    virtual int simpleWeekNumber(const QDate &date, int *yearNum) const;
++    virtual int weeksInYear(int year, KLocale::WeekNumberSystem weekNumberSystem) const;
++    virtual int isoWeeksInYear(int year) const;
++    virtual int regularWeeksInYear(int year, int weekStartDay, int firstWeekNumber) const;
++    virtual int simpleWeeksInYear(int year) const;
+ 
+     // Virtual methods to re-implement if special maths needed
+     // Currently only Hebrew may need special conversion, rest should be OK
+-    virtual int yearsDifference( const QDate &fromDate, const QDate &toDate ) const;
+-    virtual int monthsDifference( const QDate &fromDate, const QDate &toDate ) const;
+-    virtual void dateDifference( const QDate &fromDate, const QDate &toDate,
+-                                 int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction ) const;
++    virtual int yearsDifference(const QDate &fromDate, const QDate &toDate) const;
++    virtual int monthsDifference(const QDate &fromDate, const QDate &toDate) const;
++    virtual void dateDifference(const QDate &fromDate, const QDate &toDate,
++                                int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction) const;
+ 
+     // Virtual methods to re-implement if special number/string conversion needed
+     // Currently only Hebrew needs special conversion, rest use KLocale DigitSet
+-    virtual int integerFromString( const QString &string, int maxLength, int &readLength ) const;
+-    virtual QString stringFromInteger( int number, int padWidth = 0, QChar padChar = QLatin1Char('0') ) const;
+-    virtual QString stringFromInteger( int number, int padWidth, QChar padChar, KLocale::DigitSet digitSet ) const;
++    virtual int integerFromString(const QString &string, int maxLength, int &readLength) const;
++    virtual QString stringFromInteger(int number, int padWidth = 0, QChar padChar = QLatin1Char('0')) const;
++    virtual QString stringFromInteger(int number, int padWidth, QChar padChar, KLocale::DigitSet digitSet) const;
+ 
+     // Utility functions
+-    bool setAnyDate( QDate &date, int year, int month, int day ) const;
+-    int addYears( int startYear, int yearsToAdd ) const;
+-    int differenceYearNumbers( int fromYear, int toYear ) const;
++    bool setAnyDate(QDate &date, int year, int month, int day) const;
++    int addYears(int startYear, int yearsToAdd) const;
++    int differenceYearNumbers(int fromYear, int toYear) const;
+     QDate invalidDate() const;
+-    QString simpleDateString( const QString &str ) const;
+-    int dayOfYear( const QDate &date ) const;
+-    int dayOfWeek( const QDate &date ) const;
+-    QDate firstDayOfYear( int year ) const;
+-    QDate lastDayOfYear( int year ) const;
+-    QDate firstDayOfMonth( int year, int month ) const;
+-    QDate lastDayOfMonth( int year, int month ) const;
++    QString simpleDateString(const QString &str) const;
++    int dayOfYear(const QDate &date) const;
++    int dayOfWeek(const QDate &date) const;
++    QDate firstDayOfYear(int year) const;
++    QDate lastDayOfYear(int year) const;
++    QDate firstDayOfMonth(int year, int month) const;
++    QDate lastDayOfMonth(int year, int month) const;
+     const KLocale *locale() const;
+-    void loadEraList( const KConfigGroup & cg );
+-    void addEra( char direction, int offset, const QDate &startDate, int startYear, const QDate &endDate,
+-                 const QString &name, const QString &shortName, const QString &format );
++    void loadEraList(const KConfigGroup & cg);
++    void addEra(char direction, int offset, const QDate &startDate, int startYear, const QDate &endDate,
++                const QString &name, const QString &shortName, const QString &format);
+     QList *eraList() const;
+-    KCalendarEra era( const QDate &eraDate ) const;
+-    KCalendarEra era( const QString &eraName, int yearInEra ) const;
++    KCalendarEra era(const QDate &eraDate) const;
++    KCalendarEra era(const QString &eraName, int yearInEra) const;
+     int shortYearWindowStartYear() const;
+-    int applyShortYearWindow( int inputYear ) const;
+-    void loadShortYearWindowStartYear( const KConfigGroup & cg );
++    int applyShortYearWindow(int inputYear) const;
++    void loadShortYearWindowStartYear(const KConfigGroup & cg);
+     KSharedConfig::Ptr config();
+-    void loadConfig( const QString & calendarType );
++    void loadConfig(const QString & calendarType);
+ 
+     // Global variables each calendar system must initialise
+     const KCalendarSystem *q;
+diff --git a/kdecore/date/kcalendarsystemqdate.cpp b/kdecore/date/kcalendarsystemqdate.cpp
+new file mode 100644
+index 0000000..1acf3be
+--- /dev/null
++++ b/kdecore/date/kcalendarsystemqdate.cpp
+@@ -0,0 +1,561 @@
++/*
++    Copyright (c) 2002 Carlos Moro 
++    Copyright (c) 2002-2003 Hans Petter Bieker 
++    Copyright 2007, 2010 John Layt 
++
++    This library is free software; you can redistribute it and/or
++    modify it under the terms of the GNU Library General Public
++    License as published by the Free Software Foundation; either
++    version 2 of the License, or (at your option) any later version.
++
++    This library is distributed in the hope that it will be useful,
++    but WITHOUT ANY WARRANTY; without even the implied warranty of
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++    Library General Public License for more details.
++
++    You should have received a copy of the GNU Library General Public License
++    along with this library; see the file COPYING.LIB.  If not, write to
++    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++    Boston, MA 02110-1301, USA.
++*/
++
++// Derived QDate kde calendar class
++
++#include "kcalendarsystemqdate_p.h"
++#include "kcalendarsystemprivate_p.h"
++#include "kcalendarera_p.h"
++
++#include "kdebug.h"
++#include "klocale.h"
++#include "kglobal.h"
++#include "kconfiggroup.h"
++
++#include 
++#include 
++
++class KCalendarSystemQDatePrivate : public KCalendarSystemPrivate
++{
++public:
++    explicit KCalendarSystemQDatePrivate(KCalendarSystemQDate *q);
++
++    virtual ~KCalendarSystemQDatePrivate();
++
++    // Virtual methods each calendar system must re-implement
++    virtual KLocale::CalendarSystem calendarSystem() const;
++    virtual void loadDefaultEraList();
++    virtual int monthsInYear(int year) const;
++    virtual int daysInMonth(int year, int month) const;
++    virtual int daysInYear(int year) const;
++    virtual int daysInWeek() const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool hasLeapMonths() const;
++    virtual bool hasYearZero() const;
++    virtual int maxDaysInWeek() const;
++    virtual int maxMonthsInYear() const;
++    virtual int earliestValidYear() const;
++    virtual int latestValidYear() const;
++    virtual QString monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const;
++    virtual QString weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const;
++
++    bool m_useCommonEra;
++};
++
++// Shared d pointer implementations
++
++KCalendarSystemQDatePrivate::KCalendarSystemQDatePrivate(KCalendarSystemQDate *q)
++                           : KCalendarSystemPrivate(q),
++                             m_useCommonEra(false)
++
++{
++}
++
++KCalendarSystemQDatePrivate::~KCalendarSystemQDatePrivate()
++{
++}
++
++KLocale::CalendarSystem KCalendarSystemQDatePrivate::calendarSystem() const
++{
++    return KLocale::QDateCalendar;
++}
++
++void KCalendarSystemQDatePrivate::loadDefaultEraList()
++{
++    QString name, shortName, format;
++
++    KConfigGroup lcg(config(), QString::fromLatin1("Locale"));
++    KConfigGroup cg = lcg.group(QString::fromLatin1("KCalendarSystem %1").arg(q->calendarType(q->calendarSystem())));
++    m_useCommonEra = cg.readEntry("UseCommonEra", false);
++
++    if (m_useCommonEra) {
++        name = i18nc("Calendar Era: Gregorian Common Era, years < 0, LongFormat", "Before Common Era");
++        shortName = i18nc("Calendar Era: Gregorian Common Era, years < 0, ShortFormat", "BCE");
++    } else {
++        name = i18nc("Calendar Era: Gregorian Christian Era, years < 0, LongFormat", "Before Christ");
++        shortName = i18nc("Calendar Era: Gregorian Christian Era, years < 0, ShortFormat", "BC");
++    }
++    format = i18nc("(kdedt-format) Gregorian, BC, full era year format used for %EY, e.g. 2000 BC", "%Ey %EC");
++    addEra('-', 1, q->epoch().addDays(-1), -1, q->earliestValidDate(), name, shortName, format);
++
++    if (m_useCommonEra) {
++        name = i18nc("Calendar Era: Gregorian Common Era, years > 0, LongFormat", "Common Era");
++        shortName = i18nc("Calendar Era: Gregorian Common Era, years > 0, ShortFormat", "CE");
++    } else {
++        name = i18nc("Calendar Era: Gregorian Christian Era, years > 0, LongFormat", "Anno Domini");
++        shortName = i18nc("Calendar Era: Gregorian Christian Era, years > 0, ShortFormat", "AD");
++    }
++    format = i18nc("(kdedt-format) Gregorian, AD, full era year format used for %EY, e.g. 2000 AD", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
++}
++
++int KCalendarSystemQDatePrivate::monthsInYear(int year) const
++{
++    Q_UNUSED(year)
++    return 12;
++}
++
++int KCalendarSystemQDatePrivate::daysInMonth(int year, int month) const
++{
++    QDate tempDate(year, month, 1);
++    return tempDate.daysInMonth();
++}
++
++int KCalendarSystemQDatePrivate::daysInYear(int year) const
++{
++    QDate tempDate(year, 1, 1);
++    return tempDate.daysInYear();
++}
++
++int KCalendarSystemQDatePrivate::daysInWeek() const
++{
++    return 7;
++}
++
++bool KCalendarSystemQDatePrivate::isLeapYear(int year) const
++{
++    return QDate::isLeapYear(year);
++}
++
++bool KCalendarSystemQDatePrivate::hasLeapMonths() const
++{
++    return false;
++}
++
++bool KCalendarSystemQDatePrivate::hasYearZero() const
++{
++    return false;
++}
++
++int KCalendarSystemQDatePrivate::maxDaysInWeek() const
++{
++    return 7;
++}
++
++int KCalendarSystemQDatePrivate::maxMonthsInYear() const
++{
++    return 12;
++}
++
++int KCalendarSystemQDatePrivate::earliestValidYear() const
++{
++    return -4712;
++}
++
++int KCalendarSystemQDatePrivate::latestValidYear() const
++{
++    return 9999;
++}
++
++QString KCalendarSystemQDatePrivate::monthName(int month, int year, KLocale::DateTimeComponentFormat format, bool possessive) const
++{
++    Q_UNUSED(year);
++
++    if (format == KLocale::NarrowName) {
++        switch (month) {
++        case 1:
++            return ki18nc("Gregorian month 1 - KLocale::NarrowName",  "J").toString(locale());
++        case 2:
++            return ki18nc("Gregorian month 2 - KLocale::NarrowName",  "F").toString(locale());
++        case 3:
++            return ki18nc("Gregorian month 3 - KLocale::NarrowName",  "M").toString(locale());
++        case 4:
++            return ki18nc("Gregorian month 4 - KLocale::NarrowName",  "A").toString(locale());
++        case 5:
++            return ki18nc("Gregorian month 5 - KLocale::NarrowName",  "M").toString(locale());
++        case 6:
++            return ki18nc("Gregorian month 6 - KLocale::NarrowName",  "J").toString(locale());
++        case 7:
++            return ki18nc("Gregorian month 7 - KLocale::NarrowName",  "J").toString(locale());
++        case 8:
++            return ki18nc("Gregorian month 8 - KLocale::NarrowName",  "A").toString(locale());
++        case 9:
++            return ki18nc("Gregorian month 9 - KLocale::NarrowName",  "S").toString(locale());
++        case 10:
++            return ki18nc("Gregorian month 10 - KLocale::NarrowName", "O").toString(locale());
++        case 11:
++            return ki18nc("Gregorian month 11 - KLocale::NarrowName", "N").toString(locale());
++        case 12:
++            return ki18nc("Gregorian month 12 - KLocale::NarrowName", "D").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    if (format == KLocale::ShortName && possessive) {
++        switch (month) {
++        case 1:
++            return ki18nc("Gregorian month 1 - KLocale::ShortName Possessive",  "of Jan").toString(locale());
++        case 2:
++            return ki18nc("Gregorian month 2 - KLocale::ShortName Possessive",  "of Feb").toString(locale());
++        case 3:
++            return ki18nc("Gregorian month 3 - KLocale::ShortName Possessive",  "of Mar").toString(locale());
++        case 4:
++            return ki18nc("Gregorian month 4 - KLocale::ShortName Possessive",  "of Apr").toString(locale());
++        case 5:
++            return ki18nc("Gregorian month 5 - KLocale::ShortName Possessive",  "of May").toString(locale());
++        case 6:
++            return ki18nc("Gregorian month 6 - KLocale::ShortName Possessive",  "of Jun").toString(locale());
++        case 7:
++            return ki18nc("Gregorian month 7 - KLocale::ShortName Possessive",  "of Jul").toString(locale());
++        case 8:
++            return ki18nc("Gregorian month 8 - KLocale::ShortName Possessive",  "of Aug").toString(locale());
++        case 9:
++            return ki18nc("Gregorian month 9 - KLocale::ShortName Possessive",  "of Sep").toString(locale());
++        case 10:
++            return ki18nc("Gregorian month 10 - KLocale::ShortName Possessive", "of Oct").toString(locale());
++        case 11:
++            return ki18nc("Gregorian month 11 - KLocale::ShortName Possessive", "of Nov").toString(locale());
++        case 12:
++            return ki18nc("Gregorian month 12 - KLocale::ShortName Possessive", "of Dec").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    if (format == KLocale::ShortName && !possessive) {
++        switch (month) {
++        case 1:
++            return ki18nc("Gregorian month 1 - KLocale::ShortName",  "Jan").toString(locale());
++        case 2:
++            return ki18nc("Gregorian month 2 - KLocale::ShortName",  "Feb").toString(locale());
++        case 3:
++            return ki18nc("Gregorian month 3 - KLocale::ShortName",  "Mar").toString(locale());
++        case 4:
++            return ki18nc("Gregorian month 4 - KLocale::ShortName",  "Apr").toString(locale());
++        case 5:
++            return ki18nc("Gregorian month 5 - KLocale::ShortName",  "May").toString(locale());
++        case 6:
++            return ki18nc("Gregorian month 6 - KLocale::ShortName",  "Jun").toString(locale());
++        case 7:
++            return ki18nc("Gregorian month 7 - KLocale::ShortName",  "Jul").toString(locale());
++        case 8:
++            return ki18nc("Gregorian month 8 - KLocale::ShortName",  "Aug").toString(locale());
++        case 9:
++            return ki18nc("Gregorian month 9 - KLocale::ShortName",  "Sep").toString(locale());
++        case 10:
++            return ki18nc("Gregorian month 10 - KLocale::ShortName", "Oct").toString(locale());
++        case 11:
++            return ki18nc("Gregorian month 11 - KLocale::ShortName", "Nov").toString(locale());
++        case 12:
++            return ki18nc("Gregorian month 12 - KLocale::ShortName", "Dec").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    if (format == KLocale::LongName && possessive) {
++        switch (month) {
++        case 1:
++            return ki18nc("Gregorian month 1 - KLocale::LongName Possessive",  "of January").toString(locale());
++        case 2:
++            return ki18nc("Gregorian month 2 - KLocale::LongName Possessive",  "of February").toString(locale());
++        case 3:
++            return ki18nc("Gregorian month 3 - KLocale::LongName Possessive",  "of March").toString(locale());
++        case 4:
++            return ki18nc("Gregorian month 4 - KLocale::LongName Possessive",  "of April").toString(locale());
++        case 5:
++            return ki18nc("Gregorian month 5 - KLocale::LongName Possessive",  "of May").toString(locale());
++        case 6:
++            return ki18nc("Gregorian month 6 - KLocale::LongName Possessive",  "of June").toString(locale());
++        case 7:
++            return ki18nc("Gregorian month 7 - KLocale::LongName Possessive",  "of July").toString(locale());
++        case 8:
++            return ki18nc("Gregorian month 8 - KLocale::LongName Possessive",  "of August").toString(locale());
++        case 9:
++            return ki18nc("Gregorian month 9 - KLocale::LongName Possessive",  "of September").toString(locale());
++        case 10:
++            return ki18nc("Gregorian month 10 - KLocale::LongName Possessive", "of October").toString(locale());
++        case 11:
++            return ki18nc("Gregorian month 11 - KLocale::LongName Possessive", "of November").toString(locale());
++        case 12:
++            return ki18nc("Gregorian month 12 - KLocale::LongName Possessive", "of December").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    // Default to LongName
++    switch (month) {
++    case 1:
++        return ki18nc("Gregorian month 1 - KLocale::LongName",  "January").toString(locale());
++    case 2:
++        return ki18nc("Gregorian month 2 - KLocale::LongName",  "February").toString(locale());
++    case 3:
++        return ki18nc("Gregorian month 3 - KLocale::LongName",  "March").toString(locale());
++    case 4:
++        return ki18nc("Gregorian month 4 - KLocale::LongName",  "April").toString(locale());
++    case 5:
++        return ki18nc("Gregorian month 5 - KLocale::LongName",  "May").toString(locale());
++    case 6:
++        return ki18nc("Gregorian month 6 - KLocale::LongName",  "June").toString(locale());
++    case 7:
++        return ki18nc("Gregorian month 7 - KLocale::LongName",  "July").toString(locale());
++    case 8:
++        return ki18nc("Gregorian month 8 - KLocale::LongName",  "August").toString(locale());
++    case 9:
++        return ki18nc("Gregorian month 9 - KLocale::LongName",  "September").toString(locale());
++    case 10:
++        return ki18nc("Gregorian month 10 - KLocale::LongName", "October").toString(locale());
++    case 11:
++        return ki18nc("Gregorian month 11 - KLocale::LongName", "November").toString(locale());
++    case 12:
++        return ki18nc("Gregorian month 12 - KLocale::LongName", "December").toString(locale());
++    default:
++        return QString();
++    }
++}
++
++QString KCalendarSystemQDatePrivate::weekDayName(int weekDay, KLocale::DateTimeComponentFormat format) const
++{
++    if (format == KLocale::NarrowName) {
++        switch (weekDay) {
++        case 1:
++            return ki18nc("Gregorian weekday 1 - KLocale::NarrowName ", "M").toString(locale());
++        case 2:
++            return ki18nc("Gregorian weekday 2 - KLocale::NarrowName ", "T").toString(locale());
++        case 3:
++            return ki18nc("Gregorian weekday 3 - KLocale::NarrowName ", "W").toString(locale());
++        case 4:
++            return ki18nc("Gregorian weekday 4 - KLocale::NarrowName ", "T").toString(locale());
++        case 5:
++            return ki18nc("Gregorian weekday 5 - KLocale::NarrowName ", "F").toString(locale());
++        case 6:
++            return ki18nc("Gregorian weekday 6 - KLocale::NarrowName ", "S").toString(locale());
++        case 7:
++            return ki18nc("Gregorian weekday 7 - KLocale::NarrowName ", "S").toString(locale());
++        default:
++            return QString();
++        }
++    }
++
++    if (format == KLocale::ShortName  || format == KLocale:: ShortNumber) {
++        switch (weekDay) {
++        case 1:
++            return ki18nc("Gregorian weekday 1 - KLocale::ShortName", "Mon").toString(locale());
++        case 2:
++            return ki18nc("Gregorian weekday 2 - KLocale::ShortName", "Tue").toString(locale());
++        case 3:
++            return ki18nc("Gregorian weekday 3 - KLocale::ShortName", "Wed").toString(locale());
++        case 4:
++            return ki18nc("Gregorian weekday 4 - KLocale::ShortName", "Thu").toString(locale());
++        case 5:
++            return ki18nc("Gregorian weekday 5 - KLocale::ShortName", "Fri").toString(locale());
++        case 6:
++            return ki18nc("Gregorian weekday 6 - KLocale::ShortName", "Sat").toString(locale());
++        case 7:
++            return ki18nc("Gregorian weekday 7 - KLocale::ShortName", "Sun").toString(locale());
++        default: return QString();
++        }
++    }
++
++    switch (weekDay) {
++    case 1:
++        return ki18nc("Gregorian weekday 1 - KLocale::LongName", "Monday").toString(locale());
++    case 2:
++        return ki18nc("Gregorian weekday 2 - KLocale::LongName", "Tuesday").toString(locale());
++    case 3:
++        return ki18nc("Gregorian weekday 3 - KLocale::LongName", "Wednesday").toString(locale());
++    case 4:
++        return ki18nc("Gregorian weekday 4 - KLocale::LongName", "Thursday").toString(locale());
++    case 5:
++        return ki18nc("Gregorian weekday 5 - KLocale::LongName", "Friday").toString(locale());
++    case 6:
++        return ki18nc("Gregorian weekday 6 - KLocale::LongName", "Saturday").toString(locale());
++    case 7:
++        return ki18nc("Gregorian weekday 7 - KLocale::LongName", "Sunday").toString(locale());
++    default:
++        return QString();
++    }
++}
++
++
++KCalendarSystemQDate::KCalendarSystemQDate(const KLocale *locale)
++                    : KCalendarSystem(*new KCalendarSystemQDatePrivate(this), KSharedConfig::Ptr(), locale)
++{
++    d_ptr->loadConfig(calendarType());
++}
++
++KCalendarSystemQDate::KCalendarSystemQDate(const KSharedConfig::Ptr config, const KLocale *locale)
++                    : KCalendarSystem(*new KCalendarSystemQDatePrivate(this), config, locale)
++{
++    d_ptr->loadConfig(calendarType());
++}
++
++KCalendarSystemQDate::KCalendarSystemQDate(KCalendarSystemQDatePrivate &dd, const KSharedConfig::Ptr config, const KLocale *locale)
++                    : KCalendarSystem(dd, config, locale)
++{
++    d_ptr->loadConfig(calendarType());
++}
++
++KCalendarSystemQDate::~KCalendarSystemQDate()
++{
++}
++
++QString KCalendarSystemQDate::calendarType() const
++{
++    return QLatin1String("gregorian");
++}
++
++QDate KCalendarSystemQDate::epoch() const
++{
++    // 1 Jan 1 AD in Julian
++    return QDate::fromJulianDay(1721424);
++}
++
++QDate KCalendarSystemQDate::earliestValidDate() const
++{
++    // 1 Jan 4712 BC, no year zero, cant be 4713BC due to error in QDate that day 0 is not valid
++    // and we really need the first in each year to be valid for the date maths
++    return QDate::fromJulianDay(366);
++}
++
++QDate KCalendarSystemQDate::latestValidDate() const
++{
++    // Set to last day of year 9999 until confirm date formats & widets support > 9999
++    // In Gregorian this is 9999-12-31, which is  is jd 5373484
++    // Can't call setDate( 9999, 12, 31 ) as it creates circular reference!
++    return QDate::fromJulianDay(5373484);
++}
++
++bool KCalendarSystemQDate::isValid(int year, int month, int day) const
++{
++    // Limit to max year 9999 for now, QDate allows to be greater
++    if (year <= 9999) {
++        return QDate::isValid(year, month, day);
++    }
++
++    return false;
++}
++
++bool KCalendarSystemQDate::isValid(const QDate &date) const
++{
++    return KCalendarSystem::isValid(date);
++}
++
++int KCalendarSystemQDate::year(const QDate &date) const
++{
++    return date.year();
++}
++
++int KCalendarSystemQDate::month(const QDate &date) const
++{
++    return date.month();
++}
++
++int KCalendarSystemQDate::day(const QDate &date) const
++{
++    return date.day();
++}
++
++int KCalendarSystemQDate::daysInYear(const QDate &date) const
++{
++    return date.daysInYear();
++}
++
++int KCalendarSystemQDate::daysInMonth(const QDate &date) const
++{
++    return date.daysInMonth();
++}
++
++int KCalendarSystemQDate::dayOfYear(const QDate &date) const
++{
++    return date.dayOfYear();
++}
++
++int KCalendarSystemQDate::dayOfWeek(const QDate &date) const
++{
++    return date.dayOfWeek();
++}
++
++bool KCalendarSystemQDate::isLeapYear(int year) const
++{
++    return QDate::isLeapYear(year);
++}
++
++bool KCalendarSystemQDate::isLeapYear(const QDate &date) const
++{
++    return QDate::isLeapYear(date.year());
++}
++
++QString KCalendarSystemQDate::monthName(int month, int year, MonthNameFormat format) const
++{
++    return KCalendarSystem::monthName(month, year, format);
++}
++
++QString KCalendarSystemQDate::monthName(const QDate &date, MonthNameFormat format) const
++{
++    return KCalendarSystem::monthName(date, format);
++}
++
++QString KCalendarSystemQDate::weekDayName(int weekDay, WeekDayNameFormat format) const
++{
++    return KCalendarSystem::weekDayName(weekDay, format);
++}
++
++QString KCalendarSystemQDate::weekDayName(const QDate &date, WeekDayNameFormat format) const
++{
++    return KCalendarSystem::weekDayName(date, format);
++}
++
++int KCalendarSystemQDate::weekDayOfPray() const
++{
++    return 7; // sunday
++}
++
++bool KCalendarSystemQDate::isLunar() const
++{
++    return false;
++}
++
++bool KCalendarSystemQDate::isLunisolar() const
++{
++    return false;
++}
++
++bool KCalendarSystemQDate::isSolar() const
++{
++    return true;
++}
++
++bool KCalendarSystemQDate::isProleptic() const
++{
++    return false;
++}
++
++bool KCalendarSystemQDate::julianDayToDate(int jd, int &year, int &month, int &day) const
++{
++    QDate date = QDate::fromJulianDay(jd);
++
++    date.getDate(&year, &month, &day);
++
++    return date.isValid();
++}
++
++bool KCalendarSystemQDate::dateToJulianDay(int year, int month, int day, int &jd) const
++{
++    QDate date;
++
++    date.setDate(year, month, day);
++    jd = date.toJulianDay();
++
++    return date.isValid();
++}
+diff --git a/kdecore/date/kcalendarsystemqdate_p.h b/kdecore/date/kcalendarsystemqdate_p.h
+new file mode 100644
+index 0000000..5d86bd6
+--- /dev/null
++++ b/kdecore/date/kcalendarsystemqdate_p.h
+@@ -0,0 +1,93 @@
++/*
++    Copyright (c) 2002 Carlos Moro 
++    Copyright (c) 2002 Hans Petter Bieker 
++    Copyright 2007, 2010 John Layt 
++
++    This library is free software; you can redistribute it and/or
++    modify it under the terms of the GNU Library General Public
++    License as published by the Free Software Foundation; either
++    version 2 of the License, or (at your option) any later version.
++
++    This library is distributed in the hope that it will be useful,
++    but WITHOUT ANY WARRANTY; without even the implied warranty of
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++    Library General Public License for more details.
++
++    You should have received a copy of the GNU Library General Public License
++    along with this library; see the file COPYING.LIB.  If not, write to
++    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++    Boston, MA 02110-1301, USA.
++*/
++
++#ifndef KCALENDARSYSTEMQDATE_H
++#define KCALENDARSYSTEMQDATE_H
++
++#include "kcalendarsystem.h"
++
++class KCalendarSystemQDatePrivate;
++
++/**
++ * @internal
++ * This is the QDate calendar implementation which combines the Julian and Gregorian
++ * calculations into a single calendar.  It should always be used by default in Qt
++ * applications for consistency.
++ *
++ * @b license GNU-LGPL v.2+
++ *
++ * @see KLocale,KCalendarSystem
++ *
++ * @author John Layt 
++ */
++class KCalendarSystemQDate: public KCalendarSystem
++{
++public:
++    explicit KCalendarSystemQDate(const KLocale *locale = 0);
++    explicit KCalendarSystemQDate(const KSharedConfig::Ptr config, const KLocale *locale = 0);
++    virtual ~KCalendarSystemQDate();
++
++    virtual QString calendarType() const;
++
++    virtual QDate epoch() const;
++    virtual QDate earliestValidDate() const;
++    virtual QDate latestValidDate() const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
++
++    virtual int year(const QDate &date) const;
++    virtual int month(const QDate &date) const;
++    virtual int day(const QDate &date) const;
++
++    virtual int daysInYear(const QDate &date) const;
++    virtual int daysInMonth(const QDate &date) const;
++
++    virtual int dayOfYear(const QDate &date) const;
++    virtual int dayOfWeek(const QDate &date) const;
++
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
++
++    virtual QString monthName(int month, int year, MonthNameFormat format = LongName) const;
++    virtual QString monthName(const QDate &date, MonthNameFormat format = LongName) const;
++
++    virtual QString weekDayName(int weekDay, WeekDayNameFormat format = LongDayName) const;
++    virtual QString weekDayName(const QDate &date, WeekDayNameFormat format = LongDayName) const;
++
++    virtual int weekDayOfPray() const;
++
++    virtual bool isLunar() const;
++    virtual bool isLunisolar() const;
++    virtual bool isSolar() const;
++    virtual bool isProleptic() const;
++
++protected:
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemQDate(KCalendarSystemQDatePrivate &dd,
++                             const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                             const KLocale *locale = 0);
++
++private:
++    Q_DECLARE_PRIVATE(KCalendarSystemQDate)
++};
++
++#endif
+diff --git a/kdecore/date/kcalendarsystemthai.cpp b/kdecore/date/kcalendarsystemthai.cpp
+index ab51aaa..9a1ca5a 100644
+--- a/kdecore/date/kcalendarsystemthai.cpp
++++ b/kdecore/date/kcalendarsystemthai.cpp
+@@ -18,31 +18,31 @@
+ */
+ 
+ #include "kcalendarsystemthai_p.h"
+-#include "kcalendarsystemgregorianprolepticprivate_p.h"
++#include "kcalendarsystemgregorianprivate_p.h"
+ 
+ #include "kdebug.h"
+ #include "klocale.h"
+ 
+ #include 
+ 
+-//Reuse the Gregorian Proleptic private implementation
+-class KCalendarSystemThaiPrivate : public KCalendarSystemGregorianProlepticPrivate
++//Reuse the Gregorian private implementation
++class KCalendarSystemThaiPrivate : public KCalendarSystemGregorianPrivate
+ {
+ public:
+-    explicit KCalendarSystemThaiPrivate( KCalendarSystemThai *q );
++    explicit KCalendarSystemThaiPrivate(KCalendarSystemThai *q);
+     virtual ~KCalendarSystemThaiPrivate();
+ 
+     virtual KLocale::CalendarSystem calendarSystem() const;
+     virtual void loadDefaultEraList();
+-    virtual bool isLeapYear( int year ) const;
++    virtual bool isLeapYear(int year) const;
+     virtual bool hasYearZero() const;
+     virtual int earliestValidYear() const;
+ };
+ 
+-//Override only a few of the Gregorian Proleptic private methods
++//Override only a few of the Gregorian private methods
+ 
+-KCalendarSystemThaiPrivate::KCalendarSystemThaiPrivate( KCalendarSystemThai *q )
+-                              : KCalendarSystemGregorianProlepticPrivate( q )
++KCalendarSystemThaiPrivate::KCalendarSystemThaiPrivate(KCalendarSystemThai *q)
++                          : KCalendarSystemGregorianPrivate(q)
+ {
+ }
+ 
+@@ -59,15 +59,15 @@ void KCalendarSystemThaiPrivate::loadDefaultEraList()
+ {
+     QString name, shortName, format;
+ 
+-    name = i18nc( "Calendar Era: Thai Buddhist Era, years > 0, LongFormat", "Buddhist Era" );
+-    shortName = i18nc( "Calendar Era: Thai Buddhist Era, years > 0, ShortFormat", "BE" );
+-    format = i18nc( "(kdedt-format) Thai, BE, full era year format used for %EY, e.g. 2000 BE", "%Ey %EC" );
+-    addEra( '+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format );
++    name = i18nc("Calendar Era: Thai Buddhist Era, years > 0, LongFormat", "Buddhist Era");
++    shortName = i18nc("Calendar Era: Thai Buddhist Era, years > 0, ShortFormat", "BE");
++    format = i18nc("(kdedt-format) Thai, BE, full era year format used for %EY, e.g. 2000 BE", "%Ey %EC");
++    addEra('+', 1, q->epoch(), 1, q->latestValidDate(), name, shortName, format);
+ }
+ 
+-bool KCalendarSystemThaiPrivate::isLeapYear( int year ) const
++bool KCalendarSystemThaiPrivate::isLeapYear(int year) const
+ {
+-    return KCalendarSystemGregorianProlepticPrivate::isLeapYear( year - 543 );
++    return KCalendarSystemGregorianPrivate::isLeapYear(year - 543);
+ }
+ 
+ bool KCalendarSystemThaiPrivate::hasYearZero() const
+@@ -81,23 +81,23 @@ int KCalendarSystemThaiPrivate::earliestValidYear() const
+ }
+ 
+ 
+-KCalendarSystemThai::KCalendarSystemThai( const KLocale *locale )
+-                   : KCalendarSystemGregorianProleptic( *new KCalendarSystemThaiPrivate( this ), KSharedConfig::Ptr(), locale )
++KCalendarSystemThai::KCalendarSystemThai(const KLocale *locale)
++                   : KCalendarSystemGregorian(*new KCalendarSystemThaiPrivate(this), KSharedConfig::Ptr(), locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemThai::KCalendarSystemThai( const KSharedConfig::Ptr config, const KLocale *locale )
+-                   : KCalendarSystemGregorianProleptic( *new KCalendarSystemThaiPrivate( this ), config, locale )
++KCalendarSystemThai::KCalendarSystemThai(const KSharedConfig::Ptr config, const KLocale *locale)
++                   : KCalendarSystemGregorian(*new KCalendarSystemThaiPrivate(this), config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+-KCalendarSystemThai::KCalendarSystemThai( KCalendarSystemThaiPrivate &dd,
+-                                          const KSharedConfig::Ptr config, const KLocale *locale )
+-                   : KCalendarSystemGregorianProleptic( dd, config, locale )
++KCalendarSystemThai::KCalendarSystemThai(KCalendarSystemThaiPrivate &dd,
++                                         const KSharedConfig::Ptr config, const KLocale *locale)
++                   : KCalendarSystemGregorian(dd, config, locale)
+ {
+-    d_ptr->loadConfig( calendarType() );
++    d_ptr->loadConfig(calendarType());
+ }
+ 
+ KCalendarSystemThai::~KCalendarSystemThai()
+@@ -106,13 +106,13 @@ KCalendarSystemThai::~KCalendarSystemThai()
+ 
+ QString KCalendarSystemThai::calendarType() const
+ {
+-    return QLatin1String( "thai" );
++    return QLatin1String("thai");
+ }
+ 
+ QDate KCalendarSystemThai::epoch() const
+ {
+     // 0000-01-01 = 0544-01-01 BC Gregorian = 0544-01-07 BC Julian
+-    return QDate::fromJulianDay( 1522734 );
++    return QDate::fromJulianDay(1522734);
+ }
+ 
+ QDate KCalendarSystemThai::earliestValidDate() const
+@@ -124,188 +124,27 @@ QDate KCalendarSystemThai::latestValidDate() const
+ {
+     // Set to last day of year 9999 until confirm date formats & widgets support > 9999
+     // 9999-12-31 = 9456-12-31 AD Gregorian
+-    return QDate::fromJulianDay( 5175158 );
++    return QDate::fromJulianDay(5175158);
+ }
+ 
+-bool KCalendarSystemThai::isValid( int year, int month, int day ) const
++bool KCalendarSystemThai::isValid(int year, int month, int day) const
+ {
+-    return KCalendarSystemGregorianProleptic::isValid( year, month, day );
++    return KCalendarSystemGregorian::isValid(year, month, day);
+ }
+ 
+-bool KCalendarSystemThai::isValid( const QDate &date ) const
++bool KCalendarSystemThai::isValid(const QDate &date) const
+ {
+-    return KCalendarSystemGregorianProleptic::isValid( date );
++    return KCalendarSystemGregorian::isValid(date);
+ }
+ 
+-bool KCalendarSystemThai::setDate( QDate &date, int year, int month, int day ) const
++bool KCalendarSystemThai::isLeapYear(int year) const
+ {
+-    return KCalendarSystemGregorianProleptic::setDate( date, year, month, day );
++    return KCalendarSystemGregorian::isLeapYear(year);
+ }
+ 
+-// Deprecated
+-bool KCalendarSystemThai::setYMD( QDate &date, int y, int m, int d ) const
++bool KCalendarSystemThai::isLeapYear(const QDate &date) const
+ {
+-    return KCalendarSystemGregorianProleptic::setDate( date, y, m, d );
+-}
+-
+-int KCalendarSystemThai::year( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::year( date );
+-}
+-
+-int KCalendarSystemThai::month( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::month( date );
+-}
+-
+-int KCalendarSystemThai::day( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::day( date );
+-}
+-
+-QDate KCalendarSystemThai::addYears( const QDate &date, int nyears ) const
+-{
+-    return KCalendarSystemGregorianProleptic::addYears( date, nyears );
+-}
+-
+-QDate KCalendarSystemThai::addMonths( const QDate &date, int nmonths ) const
+-{
+-    return KCalendarSystemGregorianProleptic::addMonths( date, nmonths );
+-}
+-
+-QDate KCalendarSystemThai::addDays( const QDate &date, int ndays ) const
+-{
+-    return KCalendarSystemGregorianProleptic::addDays( date, ndays );
+-}
+-
+-int KCalendarSystemThai::monthsInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthsInYear( date );
+-}
+-
+-int KCalendarSystemThai::weeksInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weeksInYear( date );
+-}
+-
+-int KCalendarSystemThai::weeksInYear( int year ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weeksInYear( year );
+-}
+-
+-int KCalendarSystemThai::daysInYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::daysInYear( date );
+-}
+-
+-int KCalendarSystemThai::daysInMonth( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::daysInMonth( date );
+-}
+-
+-int KCalendarSystemThai::daysInWeek( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::daysInWeek( date );
+-}
+-
+-int KCalendarSystemThai::dayOfYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayOfYear( date );
+-}
+-
+-int KCalendarSystemThai::dayOfWeek( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayOfWeek( date );
+-}
+-
+-int KCalendarSystemThai::weekNumber( const QDate &date, int * yearNum ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weekNumber( date, yearNum );
+-}
+-
+-bool KCalendarSystemThai::isLeapYear( int year ) const
+-{
+-    return KCalendarSystemGregorianProleptic::isLeapYear( year );
+-}
+-
+-bool KCalendarSystemThai::isLeapYear( const QDate &date ) const
+-{
+-    return KCalendarSystemGregorianProleptic::isLeapYear( date );
+-}
+-
+-QString KCalendarSystemThai::monthName( int month, int year, MonthNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthName( month, year, format );
+-}
+-
+-QString KCalendarSystemThai::monthName( const QDate &date, MonthNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthName( date, format );
+-}
+-
+-QString KCalendarSystemThai::weekDayName( int weekDay, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weekDayName( weekDay, format );
+-}
+-
+-QString KCalendarSystemThai::weekDayName( const QDate &date, WeekDayNameFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::weekDayName( date, format );
+-}
+-
+-QString KCalendarSystemThai::yearString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::yearString( pDate, format );
+-}
+-
+-QString KCalendarSystemThai::monthString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthString( pDate, format );
+-}
+-
+-QString KCalendarSystemThai::dayString( const QDate &pDate, StringFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayString( pDate, format );
+-}
+-
+-int KCalendarSystemThai::yearStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemGregorianProleptic::yearStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemThai::monthStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemGregorianProleptic::monthStringToInteger( sNum, iLength );
+-}
+-
+-int KCalendarSystemThai::dayStringToInteger( const QString &sNum, int &iLength ) const
+-{
+-    return KCalendarSystemGregorianProleptic::dayStringToInteger( sNum, iLength );
+-}
+-
+-QString KCalendarSystemThai::formatDate( const QDate &date, KLocale::DateFormat format ) const
+-{
+-    return KCalendarSystemGregorianProleptic::formatDate( date, format );
+-}
+-
+-QDate KCalendarSystemThai::readDate( const QString &str, bool *ok ) const
+-{
+-    return KCalendarSystemGregorianProleptic::readDate( str, ok );
+-}
+-
+-QDate KCalendarSystemThai::readDate( const QString &intstr, const QString &fmt, bool *ok ) const
+-{
+-    return KCalendarSystemGregorianProleptic::readDate( intstr, fmt, ok );
+-}
+-
+-QDate KCalendarSystemThai::readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok ) const
+-{
+-    return KCalendarSystemGregorianProleptic::readDate( str, flags, ok );
+-}
+-
+-int KCalendarSystemThai::weekStartDay() const
+-{
+-    return KCalendarSystemGregorianProleptic::weekStartDay();
++    return KCalendarSystemGregorian::isLeapYear(date);
+ }
+ 
+ int KCalendarSystemThai::weekDayOfPray() const
+@@ -315,17 +154,17 @@ int KCalendarSystemThai::weekDayOfPray() const
+ 
+ bool KCalendarSystemThai::isLunar() const
+ {
+-    return KCalendarSystemGregorianProleptic::isLunar();
++    return KCalendarSystemGregorian::isLunar();
+ }
+ 
+ bool KCalendarSystemThai::isLunisolar() const
+ {
+-    return KCalendarSystemGregorianProleptic::isLunisolar();
++    return KCalendarSystemGregorian::isLunisolar();
+ }
+ 
+ bool KCalendarSystemThai::isSolar() const
+ {
+-    return KCalendarSystemGregorianProleptic::isSolar();
++    return KCalendarSystemGregorian::isSolar();
+ }
+ 
+ bool KCalendarSystemThai::isProleptic() const
+@@ -333,15 +172,15 @@ bool KCalendarSystemThai::isProleptic() const
+     return false;
+ }
+ 
+-bool KCalendarSystemThai::julianDayToDate( int jd, int &year, int &month, int &day ) const
++bool KCalendarSystemThai::julianDayToDate(int jd, int &year, int &month, int &day) const
+ {
+-    bool result = KCalendarSystemGregorianProleptic::julianDayToDate( jd, year, month, day );
++    bool result = KCalendarSystemGregorian::julianDayToDate(jd, year, month, day);
+     year = year + 543;
+     return result;
+ }
+ 
+-bool KCalendarSystemThai::dateToJulianDay( int year, int month, int day, int &jd ) const
++bool KCalendarSystemThai::dateToJulianDay(int year, int month, int day, int &jd) const
+ {
+-    return KCalendarSystemGregorianProleptic::dateToJulianDay( year - 543, month, day, jd );
++    return KCalendarSystemGregorian::dateToJulianDay(year - 543, month, day, jd);
+ }
+ 
+diff --git a/kdecore/date/kcalendarsystemthai_p.h b/kdecore/date/kcalendarsystemthai_p.h
+index c0007c0..9aa02a2 100644
+--- a/kdecore/date/kcalendarsystemthai_p.h
++++ b/kdecore/date/kcalendarsystemthai_p.h
+@@ -20,7 +20,7 @@
+ #ifndef KCALENDARSYSTEMTHAI_H
+ #define KCALENDARSYSTEMTHAI_H
+ 
+-#include "kcalendarsystemgregorianproleptic_p.h"
++#include "kcalendarsystemgregorian_p.h"
+ 
+ class KCalendarSystemThaiPrivate;
+ 
+@@ -35,11 +35,11 @@ class KCalendarSystemThaiPrivate;
+  *
+  * @author John Layt 
+  */
+-class KCalendarSystemThai: public KCalendarSystemGregorianProleptic
++class KCalendarSystemThai: public KCalendarSystemGregorian
+ {
+ public:
+-    explicit KCalendarSystemThai( const KLocale *locale = 0 );
+-    explicit KCalendarSystemThai( const KSharedConfig::Ptr config, const KLocale *locale = 0 );
++    explicit KCalendarSystemThai(const KLocale *locale = 0);
++    explicit KCalendarSystemThai(const KSharedConfig::Ptr config, const KLocale *locale = 0);
+     virtual ~KCalendarSystemThai();
+ 
+     virtual QString calendarType() const;
+@@ -47,58 +47,13 @@ public:
+     virtual QDate epoch() const;
+     virtual QDate earliestValidDate() const;
+     virtual QDate latestValidDate() const;
+-    virtual bool isValid( int year, int month, int day ) const;
+-    virtual bool isValid( const QDate &date ) const;
++    virtual bool isValid(int year, int month, int day) const;
++    virtual bool isValid(const QDate &date) const;
+ 
+-    virtual bool setDate( QDate &date, int year, int month, int day ) const;
+-    /** @deprecated */
+-    virtual bool setYMD( QDate &date, int year, int month, int day ) const;
++    virtual bool isLeapYear(int year) const;
++    virtual bool isLeapYear(const QDate &date) const;
+ 
+-    virtual int year( const QDate &date ) const;
+-    virtual int month( const QDate &date ) const;
+-    virtual int day( const QDate &date ) const;
+-
+-    virtual QDate addYears( const QDate &date, int nyears ) const;
+-    virtual QDate addMonths( const QDate &date, int nmonths ) const;
+-    virtual QDate addDays( const QDate &date, int ndays ) const;
+-
+-    virtual int monthsInYear( const QDate &date ) const;
+-    virtual int weeksInYear( const QDate &date ) const;
+-    virtual int weeksInYear( int year ) const;
+-    virtual int daysInYear( const QDate &date ) const;
+-    virtual int daysInMonth( const QDate &date ) const;
+-    virtual int daysInWeek( const QDate &date ) const;
+-
+-    virtual int dayOfYear( const QDate &date ) const;
+-    virtual int dayOfWeek( const QDate &date ) const;
+-
+-    virtual int weekNumber( const QDate &date, int *yearNum = 0 ) const;
+-
+-    virtual bool isLeapYear( int year ) const;
+-    virtual bool isLeapYear( const QDate &date ) const;
+-
+-    virtual QString monthName( int month, int year, MonthNameFormat format = LongName ) const;
+-    virtual QString monthName( const QDate &date, MonthNameFormat format = LongName ) const;
+-
+-    virtual QString weekDayName( int weekDay, WeekDayNameFormat format = LongDayName ) const;
+-    virtual QString weekDayName( const QDate &date, WeekDayNameFormat format = LongDayName ) const;
+-
+-    virtual QString yearString( const QDate & pDate, StringFormat format = LongFormat ) const;
+-    virtual QString monthString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-    virtual QString dayString( const QDate &pDate, StringFormat format = LongFormat ) const;
+-
+-    virtual int yearStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int monthStringToInteger( const QString &sNum, int &iLength ) const;
+-    virtual int dayStringToInteger( const QString &sNum, int &iLength ) const;
+-
+-    virtual QString formatDate( const QDate &fromDate, KLocale::DateFormat toFormat = KLocale::LongDate ) const;
+-
+-    virtual QDate readDate( const QString &str, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &dateString, const QString &dateFormat, bool *ok = 0 ) const;
+-    virtual QDate readDate( const QString &str, KLocale::ReadDateFlags flags, bool *ok = 0 ) const;
+-
+-    virtual int weekStartDay() const;
+-    virtual int weekDayOfPray () const;
++    virtual int weekDayOfPray() const;
+ 
+     virtual bool isLunar() const;
+     virtual bool isLunisolar() const;
+@@ -106,11 +61,11 @@ public:
+     virtual bool isProleptic() const;
+ 
+ protected:
+-    virtual bool julianDayToDate( int jd, int &year, int &month, int &day ) const;
+-    virtual bool dateToJulianDay( int year, int month, int day, int &jd ) const;
+-    KCalendarSystemThai( KCalendarSystemThaiPrivate &dd,
+-                         const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
+-                         const KLocale *locale = 0 );
++    virtual bool julianDayToDate(int jd, int &year, int &month, int &day) const;
++    virtual bool dateToJulianDay(int year, int month, int day, int &jd) const;
++    KCalendarSystemThai(KCalendarSystemThaiPrivate &dd,
++                        const KSharedConfig::Ptr config = KSharedConfig::Ptr(),
++                        const KLocale *locale = 0);
+ 
+ private:
+     Q_DECLARE_PRIVATE(KCalendarSystemThai)
+diff --git a/kdecore/date/kdatetime.cpp b/kdecore/date/kdatetime.cpp
+index 5d24fdf..4ba627b 100644
+--- a/kdecore/date/kdatetime.cpp
++++ b/kdecore/date/kdatetime.cpp
+@@ -39,7 +39,7 @@
+ 
+ #include 
+ #include 
+-#include "kcalendarsystemgregorian_p.h"
++#include "kcalendarsystemqdate_p.h"
+ #include 
+ #include 
+ 
+@@ -1427,7 +1427,7 @@ QString KDateTime::toString(const QString &format) const
+         return QString();
+     enum { TZNone, UTCOffsetShort, UTCOffset, UTCOffsetColon, TZAbbrev, TZName };
+     KLocale *locale = KGlobal::locale();
+-    KCalendarSystemGregorian calendar(locale);
++    KCalendarSystemQDate calendar(locale);
+     QString result;
+     QString s;
+     int num, numLength, zone;
+@@ -2484,7 +2484,7 @@ QDateTime fromStr(const QString& string, const QString& format, int& utcOffset,
+ 
+     enum { TZNone, UTCOffset, UTCOffsetColon, TZAbbrev, TZName };
+     KLocale *locale = KGlobal::locale();
+-    KCalendarSystemGregorian calendar(locale);
++    KCalendarSystemQDate calendar(locale);
+     int zone;
+     int s = 0;
+     int send = str.length();
+diff --git a/kdecore/date/kdatetimeformatter.cpp b/kdecore/date/kdatetimeformatter.cpp
+index 9d8e271..82bbe9e 100644
+--- a/kdecore/date/kdatetimeformatter.cpp
++++ b/kdecore/date/kdatetimeformatter.cpp
+@@ -33,8 +33,8 @@
+ #include "kdebug.h"
+ 
+ KDateTimeFormatter::KDateTimeFormatter()
+-                   : m_englishLocale(0),
+-                     m_englishCalendar(0)
++    : m_englishLocale(0),
++      m_englishCalendar(0)
+ {
+ }
+ 
+@@ -44,70 +44,70 @@ KDateTimeFormatter::~KDateTimeFormatter()
+     delete m_englishLocale;
+ }
+ 
+-QString KDateTimeFormatter::formatDate( const QDate &fromDate,
+-                                        const QString &toFormat,
+-                                        const KCalendarSystem *calendar,
+-                                        const KLocale *locale,
+-                                        KLocale::DigitSet digitSet,
+-                                        KLocale::DateTimeFormatStandard formatStandard ) const
++QString KDateTimeFormatter::formatDate(const QDate &fromDate,
++                                       const QString &toFormat,
++                                       const KCalendarSystem *calendar,
++                                       const KLocale *locale,
++                                       KLocale::DigitSet digitSet,
++                                       KLocale::DateTimeFormatStandard formatStandard) const
+ {
+     // If not valid input, don't waste our time
+-    if ( !calendar->isValid( fromDate ) || toFormat.isEmpty() ) {
++    if (!calendar->isValid(fromDate) || toFormat.isEmpty()) {
+         return QString();
+     }
+ 
+-    return formatDateTime( KDateTime( fromDate ), toFormat, 0, calendar, locale, digitSet, formatStandard );
++    return formatDateTime(KDateTime(fromDate), toFormat, 0, calendar, locale, digitSet, formatStandard);
+ }
+ 
+-QString KDateTimeFormatter::formatTime( const QTime &fromTime,
+-                                        const QString &toFormat,
+-                                        KLocale::TimeFormatOptions timeOptions,
+-                                        const KCalendarSystem *calendar,
+-                                        const KLocale *locale,
+-                                        KLocale::DigitSet digitSet,
+-                                        KLocale::DateTimeFormatStandard formatStandard ) const
++QString KDateTimeFormatter::formatTime(const QTime &fromTime,
++                                       const QString &toFormat,
++                                       KLocale::TimeFormatOptions timeOptions,
++                                       const KCalendarSystem *calendar,
++                                       const KLocale *locale,
++                                       KLocale::DigitSet digitSet,
++                                       KLocale::DateTimeFormatStandard formatStandard) const
+ {
+     // If not valid input, don't waste our time
+-    if ( fromTime.isValid() || toFormat.isEmpty() ) {
++    if (fromTime.isValid() || toFormat.isEmpty()) {
+         return QString();
+     }
+ 
+-    return formatDateTime( KDateTime( QDate::currentDate(), fromTime ), toFormat, timeOptions, calendar, locale, digitSet, formatStandard );
++    return formatDateTime(KDateTime(QDate::currentDate(), fromTime), toFormat, timeOptions, calendar, locale, digitSet, formatStandard);
+ }
+ 
+ // Format an input date to match a POSIX date format string
+-QString KDateTimeFormatter::formatDateTime( const KDateTime &fromDateTime,
+-                                            const QString &toFormat,
+-                                            KLocale::TimeFormatOptions timeOptions,
+-                                            const KCalendarSystem *calendar,
+-                                            const KLocale *locale,
+-                                            KLocale::DigitSet digitSet,
+-                                            KLocale::DateTimeFormatStandard formatStandard ) const
++QString KDateTimeFormatter::formatDateTime(const KDateTime &fromDateTime,
++                                           const QString &toFormat,
++                                           KLocale::TimeFormatOptions timeOptions,
++                                           const KCalendarSystem *calendar,
++                                           const KLocale *locale,
++                                           KLocale::DigitSet digitSet,
++                                           KLocale::DateTimeFormatStandard formatStandard) const
+ {
+     // If not valid input, don't waste our time
+-    if ( !fromDateTime.isValid() || !calendar->isValid( fromDateTime.date() ) || toFormat.isEmpty() ) {
++    if (!fromDateTime.isValid() || !calendar->isValid(fromDateTime.date()) || toFormat.isEmpty()) {
+         return QString();
+     }
+ 
+-    if ( formatStandard == KLocale::UnicodeFormat ) {
+-        return formatDateTimeUnicode( fromDateTime, toFormat, timeOptions, calendar, locale, digitSet );
++    if (formatStandard == KLocale::UnicodeFormat) {
++        return formatDateTimeUnicode(fromDateTime, toFormat, timeOptions, calendar, locale, digitSet);
+     } else {
+-        return formatDateTimePosix( fromDateTime, toFormat, timeOptions, calendar, locale, digitSet, formatStandard );
++        return formatDateTimePosix(fromDateTime, toFormat, timeOptions, calendar, locale, digitSet, formatStandard);
+     }
+ }
+ 
+ // Format an input date to match a POSIX date format string
+-QString KDateTimeFormatter::formatDateTimePosix( const KDateTime &fromDateTime,
+-                                                 const QString &toFormat,
+-                                                 KLocale::TimeFormatOptions timeOptions,
+-                                                 const KCalendarSystem *calendar,
+-                                                 const KLocale *locale,
+-                                                 KLocale::DigitSet digitSet,
+-                                                 KLocale::DateTimeFormatStandard formatStandard ) const
++QString KDateTimeFormatter::formatDateTimePosix(const KDateTime &fromDateTime,
++                                                const QString &toFormat,
++                                                KLocale::TimeFormatOptions timeOptions,
++                                                const KCalendarSystem *calendar,
++                                                const KLocale *locale,
++                                                KLocale::DigitSet digitSet,
++                                                KLocale::DateTimeFormatStandard formatStandard) const
+ {
+ //kDebug() << "formatDateTimePosix(" << fromDateTime << toFormat << ")";
+     // If not valid input, don't waste our time
+-    if ( !fromDateTime.isValid() || toFormat.isEmpty() ) {
++    if (!fromDateTime.isValid() || toFormat.isEmpty()) {
+         return QString();
+     }
+ 
+@@ -131,55 +131,55 @@ QString KDateTimeFormatter::formatDateTimePosix( const KDateTime &fromDateTime,
+     // Pre-fetch the core date components as they get used a lot
+     // and it is 1/3rd more efficient than 3 separatre calls
+     int year, month, day;
+-    calendar->getDate( fromDateTime.date(), &year, &month, &day );
++    calendar->getDate(fromDateTime.date(), &year, &month, &day);
+ 
+-    for ( int formatIndex = 0; formatIndex < toFormat.length(); ++formatIndex ) {
++    for (int formatIndex = 0; formatIndex < toFormat.length(); ++formatIndex) {
+ 
+-        thisChar = toFormat.at( formatIndex );
++        thisChar = toFormat.at(formatIndex);
+ 
+-        if ( !escape ) {
++        if (!escape) {
+ 
+-            if ( thisChar == QLatin1Char('%') ) {
++            if (thisChar == QLatin1Char('%')) {
+                 escape = true;
+                 escapeIndex = formatIndex;
+             } else {
+-                result.append( toFormat.at( formatIndex ) );
++                result.append(toFormat.at(formatIndex));
+             }
+ 
+-        } else if ( !escapeMod && !escapeWidth && thisChar == QLatin1Char('-') ) { // no padding
++        } else if (!escapeMod && !escapeWidth && thisChar == QLatin1Char('-')) {   // no padding
+ 
+             padChar = QChar();
+             escapePad = true;
+ 
+-        } else if ( !escapeMod && !escapeWidth && thisChar == QLatin1Char('_') ) { // space padding
++        } else if (!escapeMod && !escapeWidth && thisChar == QLatin1Char('_')) {   // space padding
+ 
+             padChar = QLatin1Char(' ');
+             escapePad = true;
+ 
+-        } else if ( !escapeMod && !escapeWidth && thisChar == QLatin1Char('0') ) { // 0 padding
++        } else if (!escapeMod && !escapeWidth && thisChar == QLatin1Char('0')) {   // 0 padding
+ 
+             padChar = QLatin1Char('0');
+             escapePad = true;
+ 
+-        } else if ( !escapeMod && !escapeWidth && ( thisChar == QLatin1Char('^') || thisChar == QLatin1Char('#') ) ) { // Change case
++        } else if (!escapeMod && !escapeWidth && (thisChar == QLatin1Char('^') || thisChar == QLatin1Char('#'))) {     // Change case
+ 
+             caseChar = thisChar;
+ 
+-        } else if ( !escapeMod &&
+-                    ( ( !escapeWidth && thisChar >= QLatin1Char('1') && thisChar <= QLatin1Char('9') ) ||
+-                      ( escapeWidth && thisChar >= QLatin1Char('0') && thisChar <= QLatin1Char('9') ) ) ) { // Change width
++        } else if (!escapeMod &&
++                   ((!escapeWidth && thisChar >= QLatin1Char('1') && thisChar <= QLatin1Char('9')) ||
++                    (escapeWidth && thisChar >= QLatin1Char('0') && thisChar <= QLatin1Char('9')))) {     // Change width
+ 
+-            if ( escapeWidth ) {
++            if (escapeWidth) {
+                 padWidth = padWidth * 10;
+             }
+-            padWidth = padWidth + QString( thisChar ).toInt();
++            padWidth = padWidth + QString(thisChar).toInt();
+             escapeWidth = true;
+ 
+-        } else if ( !escapeMod && ( thisChar == QLatin1Char('E') || thisChar == QLatin1Char('O') || thisChar == QLatin1Char(':') ) ) { // Set modifier
++        } else if (!escapeMod && (thisChar == QLatin1Char('E') || thisChar == QLatin1Char('O') || thisChar == QLatin1Char(':'))) {     // Set modifier
+ 
+             escapeMod = true;
+             modifierChar = thisChar;
+-            if ( thisChar == QLatin1Char(':') ) {
++            if (thisChar == QLatin1Char(':')) {
+                 invalidModifier = true;
+             }
+ 
+@@ -196,414 +196,414 @@ QString KDateTimeFormatter::formatDateTimePosix( const KDateTime &fromDateTime,
+             //Default settings unless overridden by pad and case flags and width: are 0 pad to 0 width no sign
+             //Names will override 0 pad with no pad unless flagged
+             //Numbers will override with correct width unless flagged
+-            QChar thisChar = toFormat.at( formatIndex ).unicode();
+-            switch ( thisChar.unicode() ) {
+-                case '%':  //Literal %
+-                    if ( modifierChar != QLatin1Char(':') ) {  // E and O mods are ignored if not used, but : is treated as literal
+-                        componentString = QLatin1Char('%');
+-                        if ( !escapePad ) {
+-                            padChar = QChar();
+-                        }
++            QChar thisChar = toFormat.at(formatIndex).unicode();
++            switch (thisChar.unicode()) {
++            case '%':  //Literal %
++                if (modifierChar != QLatin1Char(':')) {    // E and O mods are ignored if not used, but : is treated as literal
++                    componentString = QLatin1Char('%');
++                    if (!escapePad) {
++                        padChar = QChar();
+                     }
+-                    break;
+-                case 't':  //Tab
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        componentString = QString::fromLatin1("\t");
+-                        if ( !escapePad ) {
+-                            padChar = QChar();
+-                        }
++                }
++                break;
++            case 't':  //Tab
++                if (modifierChar != QLatin1Char(':')) {
++                    componentString = QString::fromLatin1("\t");
++                    if (!escapePad) {
++                        padChar = QChar();
+                     }
+-                    break;
+-                case 'Y':
+-                    if ( modifierChar == QLatin1Char('E') ) {  //Era Year, default no pad to 0 places no sign
+-                        if ( !escapePad ) {
+-                            padChar = QLatin1Char(' ');
+-                        }
+-                        componentString = calendar->eraYear( fromDateTime.date() );
+-                    } else if ( modifierChar != QLatin1Char(':') ) {  //Long year numeric, default 0 pad to 4 places with sign
+-                        componentInteger = qAbs( year );
+-                        minWidth = 4;
+-                        if ( year < 0 ) {
+-                            signChar = QLatin1Char('-');
+-                        }
++                }
++                break;
++            case 'Y':
++                if (modifierChar == QLatin1Char('E')) {    //Era Year, default no pad to 0 places no sign
++                    if (!escapePad) {
++                        padChar = QLatin1Char(' ');
+                     }
+-                    break;
+-                case 'C':
+-                    if ( modifierChar == QLatin1Char('E') ) {  //Era name, default no pad to 0 places no sign
+-                        if ( !escapePad ) {
+-                            padChar = QLatin1Char(' ');
+-                        }
+-                        componentString = calendar->eraName( fromDateTime.date() );
+-                    } else if ( modifierChar != QLatin1Char(':') ) {  //Century numeric, default 0 pad to 2 places with sign
+-                        componentInteger =  qAbs( year ) / 100 ;
+-                        minWidth = 2;
+-                        if ( year < 0 ) {
+-                            signChar = QLatin1Char('-');
+-                        }
++                    componentString = calendar->eraYear(fromDateTime.date());
++                } else if (modifierChar != QLatin1Char(':')) {    //Long year numeric, default 0 pad to 4 places with sign
++                    componentInteger = qAbs(year);
++                    minWidth = 4;
++                    if (year < 0) {
++                        signChar = QLatin1Char('-');
+                     }
+-                    break;
+-                case 'y':
+-                    if ( modifierChar == QLatin1Char('E') ) {  //Year in Era number, default 0 pad to 1 places no sign
+-                        componentInteger =  calendar->yearInEra( fromDateTime.date() );
+-                        minWidth = 1;
+-                    } else if ( modifierChar != QLatin1Char(':') ) {  //Short year numeric, default 0 pad to 2 places with sign
+-                        componentInteger =  qAbs( year ) % 100;
+-                        minWidth = 2;
+-                        if ( year < 0 ) {
+-                            signChar = QLatin1Char('-');
+-                        }
++                }
++                break;
++            case 'C':
++                if (modifierChar == QLatin1Char('E')) {    //Era name, default no pad to 0 places no sign
++                    if (!escapePad) {
++                        padChar = QLatin1Char(' ');
+                     }
+-                    break;
+-                case 'm':  // Month numeric
++                    componentString = calendar->eraName(fromDateTime.date());
++                } else if (modifierChar != QLatin1Char(':')) {    //Century numeric, default 0 pad to 2 places with sign
++                    componentInteger =  qAbs(year) / 100 ;
++                    minWidth = 2;
++                    if (year < 0) {
++                        signChar = QLatin1Char('-');
++                    }
++                }
++                break;
++            case 'y':
++                if (modifierChar == QLatin1Char('E')) {    //Year in Era number, default 0 pad to 1 places no sign
++                    componentInteger =  calendar->yearInEra(fromDateTime.date());
++                    minWidth = 1;
++                } else if (modifierChar != QLatin1Char(':')) {    //Short year numeric, default 0 pad to 2 places with sign
++                    componentInteger =  qAbs(year) % 100;
++                    minWidth = 2;
++                    if (year < 0) {
++                        signChar = QLatin1Char('-');
++                    }
++                }
++                break;
++            case 'm':  // Month numeric
++                componentInteger =  month;
++                if (modifierChar == QLatin1Char(':')) {    //Short month numeric, default no pad to 1 places no sign
++                    minWidth = 1;
++                    if (!escapePad) {
++                        padChar = QChar();
++                    }
++                    invalidModifier = false;
++                } else {  //Long month numeric, default 0 pad to 2 places no sign
+                     componentInteger =  month;
+-                    if ( modifierChar == QLatin1Char(':') ) {  //Short month numeric, default no pad to 1 places no sign
++                    minWidth = 2;
++                }
++                break;
++            case 'n':
++                //PosixFormat %n is newline
++                //KdeFormat %n is short month numeric
++                if (modifierChar != QLatin1Char(':')) {
++                    if (formatStandard == KLocale::KdeFormat) {
++                        //Copy what %e does, no padding by default
++                        //Short month numeric, default no pad to 1 places no sign
++                        componentInteger =  month;
+                         minWidth = 1;
+-                        if ( !escapePad ) {
++                        if (!escapePad) {
+                             padChar = QChar();
+                         }
+-                        invalidModifier = false;
+-                    } else {  //Long month numeric, default 0 pad to 2 places no sign
+-                        componentInteger =  month;
+-                        minWidth = 2;
++                    } else {  // formatStandard == KLocale::PosixFormat
++                        componentString = QLatin1Char('\n');
+                     }
+-                    break;
+-                case 'n':
+-                    //PosixFormat %n is newline
+-                    //KdeFormat %n is short month numeric
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        if ( formatStandard == KLocale::KdeFormat ) {
+-                            //Copy what %e does, no padding by default
+-                            //Short month numeric, default no pad to 1 places no sign
+-                            componentInteger =  month;
+-                            minWidth = 1;
+-                            if ( !escapePad ) {
+-                                padChar = QChar();
+-                            }
+-                        } else {  // formatStandard == KLocale::PosixFormat
+-                            componentString = QLatin1Char('\n');
++                }
++                break;
++            case 'd':  //Long day numeric, default 0 pad to 2 places no sign
++                if (modifierChar != QLatin1Char(':')) {
++                    componentInteger =  day;
++                    minWidth = 2;
++                }
++                break;
++            case 'e':  //Short day numeric, default no sign
++                //PosixFormat %e is space pad to 2 places
++                //KdeFormat %e is no pad to 1 place
++                if (modifierChar != QLatin1Char(':')) {
++                    componentInteger =  day;
++                    if (formatStandard == KLocale::KdeFormat) {
++                        minWidth = 1;
++                        if (!escapePad) {
++                            padChar = QChar();
+                         }
+-                    }
+-                    break;
+-                case 'd':  //Long day numeric, default 0 pad to 2 places no sign
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        componentInteger =  day;
++                    } else {  // formatStandard == KLocale::PosixFormat
+                         minWidth = 2;
+-                    }
+-                    break;
+-                case 'e':  //Short day numeric, default no sign
+-                    //PosixFormat %e is space pad to 2 places
+-                    //KdeFormat %e is no pad to 1 place
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        componentInteger =  day;
+-                        if ( formatStandard == KLocale::KdeFormat ) {
+-                            minWidth = 1;
+-                            if ( !escapePad ) {
+-                                padChar = QChar();
+-                            }
+-                        } else {  // formatStandard == KLocale::PosixFormat
+-                            minWidth = 2;
+-                            if ( !escapePad ) {
+-                                padChar = QLatin1Char(' ');
+-                            }
++                        if (!escapePad) {
++                            padChar = QLatin1Char(' ');
+                         }
+                     }
+-                    break;
+-                case 'B':  //Long month name, default space pad to 0 places no sign
+-                    if ( locale->dateMonthNamePossessive() ) {
+-                        if ( modifierChar == QLatin1Char(':') ) {
+-                            invalidModifier = false;
+-                            initEnglish( calendar, locale );
+-                            componentString = m_englishCalendar->monthName( month, year, KCalendarSystem::LongNamePossessive );
+-                        } else {
+-                            componentString = calendar->monthName( month, year, KCalendarSystem::LongNamePossessive );
+-                        }
++                }
++                break;
++            case 'B':  //Long month name, default space pad to 0 places no sign
++                if (locale->dateMonthNamePossessive()) {
++                    if (modifierChar == QLatin1Char(':')) {
++                        invalidModifier = false;
++                        initEnglish(calendar, locale);
++                        componentString = m_englishCalendar->monthName(month, year, KCalendarSystem::LongNamePossessive);
+                     } else {
+-                        if ( modifierChar == QLatin1Char(':') ) {
+-                            invalidModifier = false;
+-                            initEnglish( calendar, locale );
+-                            componentString = m_englishCalendar->monthName( month, year, KCalendarSystem::LongName );
+-                        } else {
+-                            componentString = calendar->monthName( month, year, KCalendarSystem::LongName );
+-                        }
+-                    }
+-                    if ( !escapePad ) {
+-                        padChar = QLatin1Char(' ');
++                        componentString = calendar->monthName(month, year, KCalendarSystem::LongNamePossessive);
+                     }
+-                    break;
+-                case 'h':  //Short month name, default space pad to 0 places no sign
+-                case 'b':  //Short month name, default space pad to 0 places no sign
+-                    if ( locale->dateMonthNamePossessive() ) {
+-                        if ( modifierChar == QLatin1Char(':') ) {
+-                            invalidModifier = false;
+-                            initEnglish( calendar, locale );
+-                            componentString = m_englishCalendar->monthName( month, year, KCalendarSystem::ShortNamePossessive );
+-                        } else {
+-                            componentString = calendar->monthName( month, year, KCalendarSystem::ShortNamePossessive );
+-                        }
++                } else {
++                    if (modifierChar == QLatin1Char(':')) {
++                        invalidModifier = false;
++                        initEnglish(calendar, locale);
++                        componentString = m_englishCalendar->monthName(month, year, KCalendarSystem::LongName);
+                     } else {
+-                        if ( modifierChar == QLatin1Char(':') ) {
+-                            invalidModifier = false;
+-                            initEnglish( calendar, locale );
+-                            componentString = m_englishCalendar->monthName( month, year, KCalendarSystem::ShortName );
+-                        } else {
+-                            componentString = calendar->monthName( month, year, KCalendarSystem::ShortName );
+-                        }
++                        componentString = calendar->monthName(month, year, KCalendarSystem::LongName);
+                     }
+-                    if ( !escapePad ) {
+-                        padChar = QLatin1Char(' ');
+-                    }
+-                    break;
+-                case 'A':  //Long weekday name, default space pad to 0 places no sign
+-                    if ( modifierChar == QLatin1Char(':') ) {
++                }
++                if (!escapePad) {
++                    padChar = QLatin1Char(' ');
++                }
++                break;
++            case 'h':  //Short month name, default space pad to 0 places no sign
++            case 'b':  //Short month name, default space pad to 0 places no sign
++                if (locale->dateMonthNamePossessive()) {
++                    if (modifierChar == QLatin1Char(':')) {
+                         invalidModifier = false;
+-                        initEnglish( calendar, locale );
+-                        componentString = m_englishCalendar->weekDayName( fromDateTime.date(), KCalendarSystem::LongDayName );
++                        initEnglish(calendar, locale);
++                        componentString = m_englishCalendar->monthName(month, year, KCalendarSystem::ShortNamePossessive);
+                     } else {
+-                        componentString = calendar->weekDayName( fromDateTime.date(), KCalendarSystem::LongDayName );
++                        componentString = calendar->monthName(month, year, KCalendarSystem::ShortNamePossessive);
+                     }
+-                    if ( !escapePad ) {
+-                        padChar = QLatin1Char(' ');
+-                    }
+-                    break;
+-                case 'a':  //Short weekday name, default space pad to 0 places no sign
+-                    if ( modifierChar == QLatin1Char(':') ) {
++                } else {
++                    if (modifierChar == QLatin1Char(':')) {
+                         invalidModifier = false;
+-                        initEnglish( calendar, locale );
+-                        componentString = m_englishCalendar->weekDayName( fromDateTime.date(), KCalendarSystem::ShortDayName );
++                        initEnglish(calendar, locale);
++                        componentString = m_englishCalendar->monthName(month, year, KCalendarSystem::ShortName);
+                     } else {
+-                        componentString = calendar->weekDayName( fromDateTime.date(), KCalendarSystem::ShortDayName );
+-                    }
+-                    if ( !escapePad ) {
+-                        padChar = QLatin1Char(' ');
++                        componentString = calendar->monthName(month, year, KCalendarSystem::ShortName);
+                     }
+-                    break;
+-                case 'j':  //Long day of year numeric, default 0 pad to 3 places no sign
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        componentInteger = calendar->dayOfYear( fromDateTime.date() );
+-                        minWidth = 3;
++                }
++                if (!escapePad) {
++                    padChar = QLatin1Char(' ');
++                }
++                break;
++            case 'A':  //Long weekday name, default space pad to 0 places no sign
++                if (modifierChar == QLatin1Char(':')) {
++                    invalidModifier = false;
++                    initEnglish(calendar, locale);
++                    componentString = m_englishCalendar->weekDayName(fromDateTime.date(), KCalendarSystem::LongDayName);
++                } else {
++                    componentString = calendar->weekDayName(fromDateTime.date(), KCalendarSystem::LongDayName);
++                }
++                if (!escapePad) {
++                    padChar = QLatin1Char(' ');
++                }
++                break;
++            case 'a':  //Short weekday name, default space pad to 0 places no sign
++                if (modifierChar == QLatin1Char(':')) {
++                    invalidModifier = false;
++                    initEnglish(calendar, locale);
++                    componentString = m_englishCalendar->weekDayName(fromDateTime.date(), KCalendarSystem::ShortDayName);
++                } else {
++                    componentString = calendar->weekDayName(fromDateTime.date(), KCalendarSystem::ShortDayName);
++                }
++                if (!escapePad) {
++                    padChar = QLatin1Char(' ');
++                }
++                break;
++            case 'j':  //Long day of year numeric, default 0 pad to 3 places no sign
++                if (modifierChar != QLatin1Char(':')) {
++                    componentInteger = calendar->dayOfYear(fromDateTime.date());
++                    minWidth = 3;
++                }
++                break;
++            case 'V':  //Long ISO week of year numeric, default 0 pad to 2 places no sign
++                if (modifierChar != QLatin1Char(':')) {
++                    componentInteger = calendar->week(fromDateTime.date(), KLocale::IsoWeekNumber);
++                    minWidth = 2;
++                }
++                break;
++            case 'G':  //Long year of ISO week of year numeric, default 0 pad to 4 places with sign
++                if (modifierChar != QLatin1Char(':')) {
++                    calendar->week(fromDateTime.date(), KLocale::IsoWeekNumber, &isoWeekYear);
++                    calendar->setDate(yearDate, isoWeekYear, 1, 1);
++                    componentInteger = qAbs(isoWeekYear);
++                    minWidth = 4;
++                    if (isoWeekYear < 0) {
++                        signChar = QLatin1Char('-');
+                     }
+-                    break;
+-                case 'V':  //Long ISO week of year numeric, default 0 pad to 2 places no sign
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        componentInteger = calendar->weekNumber( fromDateTime.date() );
+-                        minWidth = 2;
++                }
++                break;
++            case 'g':  //Short year of ISO week of year numeric, default 0 pad to 2 places with sign
++                if (modifierChar != QLatin1Char(':')) {
++                    calendar->week(fromDateTime.date(), KLocale::IsoWeekNumber, &isoWeekYear);
++                    calendar->setDate(yearDate, isoWeekYear, 1, 1);
++                    componentInteger = qAbs(isoWeekYear) % 100;
++                    minWidth = 2;
++                    if (isoWeekYear < 0) {
++                        signChar = QLatin1Char('-');
+                     }
+-                    break;
+-                case 'G':  //Long year of ISO week of year numeric, default 0 pad to 4 places with sign
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        calendar->weekNumber( fromDateTime.date(), &isoWeekYear );
+-                        calendar->setDate( yearDate, isoWeekYear, 1, 1 );
+-                        componentInteger = qAbs( isoWeekYear );
+-                        minWidth = 4;
+-                        if ( isoWeekYear < 0 ) {
++                }
++                break;
++            case 'u':
++                if (modifierChar == QLatin1Char(':')) {    // TZ UTC offset hours
++                    invalidModifier = false;
++                    KDateTime::SpecType timeSpecType = fromDateTime.timeType();
++                    if (timeSpecType == KDateTime::UTC || timeSpecType == KDateTime::TimeZone ||
++                            timeSpecType == KDateTime::OffsetFromUTC) {
++                        componentInteger = fromDateTime.utcOffset() / 3600;
++                        if (componentInteger >= 0) {
++                            signChar = QLatin1Char('+');
++                        } else {
++                            componentInteger = -componentInteger;
+                             signChar = QLatin1Char('-');
+                         }
+-                    }
+-                    break;
+-                case 'g':  //Short year of ISO week of year numeric, default 0 pad to 2 places with sign
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        calendar->weekNumber( fromDateTime.date(), &isoWeekYear );
+-                        calendar->setDate( yearDate, isoWeekYear, 1, 1 );
+-                        componentInteger = qAbs( isoWeekYear ) % 100;
+                         minWidth = 2;
+-                        if ( isoWeekYear < 0 ) {
+-                            signChar = QLatin1Char('-');
+-                        }
+                     }
+-                    break;
+-                case 'u':
+-                    if ( modifierChar == QLatin1Char(':') ) {  // TZ UTC offset hours
+-                        invalidModifier = false;
+-                        KDateTime::SpecType timeSpecType = fromDateTime.timeType();
+-                        if ( timeSpecType == KDateTime::UTC || timeSpecType == KDateTime::TimeZone ||
+-                             timeSpecType == KDateTime::OffsetFromUTC ) {
+-                            componentInteger = fromDateTime.utcOffset() / 3600;
+-                            if ( componentInteger >= 0 ) {
+-                                signChar = QLatin1Char('+');
+-                            } else {
+-                                componentInteger = -componentInteger;
+-                                signChar = QLatin1Char('-');
+-                            }
+-                            minWidth = 2;
+-                        }
+-                    } else {  // Short day of week numeric
+-                        componentInteger = calendar->dayOfWeek( fromDateTime.date() );
+-                        minWidth = 1;
+-                    }
+-                    break;
+-                case 'D':  // US short date format, ignore any overrides
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        componentString = formatDateTimePosix( fromDateTime, QString::fromLatin1("%m/%d/%y"), timeOptions, calendar, locale, digitSet, formatStandard );
+-                        padWidth = 0;
+-                        padChar = QChar();
+-                        caseChar = QChar();
+-                    }
+-                    break;
+-                case 'F':  // Full or ISO short date format, ignore any overrides
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        componentString = formatDateTimePosix( fromDateTime, QString::fromLatin1("%Y-%m-%d"), timeOptions, calendar, locale, digitSet, formatStandard );
+-                        padWidth = 0;
+-                        padChar = QChar();
+-                        caseChar = QChar();
+-                    }
+-                    break;
+-                case 'x':  // Locale short date format, ignore any overrides
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        componentString = formatDateTimePosix( fromDateTime, locale->dateFormatShort(), timeOptions, calendar, locale, digitSet, formatStandard );
+-                        padWidth = 0;
++                } else {  // Short day of week numeric
++                    componentInteger = calendar->dayOfWeek(fromDateTime.date());
++                    minWidth = 1;
++                }
++                break;
++            case 'D':  // US short date format, ignore any overrides
++                if (modifierChar != QLatin1Char(':')) {
++                    componentString = formatDateTimePosix(fromDateTime, QString::fromLatin1("%m/%d/%y"), timeOptions, calendar, locale, digitSet, formatStandard);
++                    padWidth = 0;
++                    padChar = QChar();
++                    caseChar = QChar();
++                }
++                break;
++            case 'F':  // Full or ISO short date format, ignore any overrides
++                if (modifierChar != QLatin1Char(':')) {
++                    componentString = formatDateTimePosix(fromDateTime, QString::fromLatin1("%Y-%m-%d"), timeOptions, calendar, locale, digitSet, formatStandard);
++                    padWidth = 0;
++                    padChar = QChar();
++                    caseChar = QChar();
++                }
++                break;
++            case 'x':  // Locale short date format, ignore any overrides
++                if (modifierChar != QLatin1Char(':')) {
++                    componentString = formatDateTimePosix(fromDateTime, locale->dateFormatShort(), timeOptions, calendar, locale, digitSet, formatStandard);
++                    padWidth = 0;
++                    padChar = QChar();
++                    caseChar = QChar();
++                }
++                break;
++            case 'H':  // Long 24 hour
++            case 'k':  // Short 24 hour
++                if (modifierChar != QLatin1Char(':')) {
++                    componentInteger =  fromDateTime.time().hour();
++                    minWidth = 1;
++                    if (!escapePad) {
+                         padChar = QChar();
+-                        caseChar = QChar();
+                     }
+-                    break;
+-                case 'H':  // Long 24 hour
+-                case 'k':  // Short 24 hour
+-                    if ( modifierChar != QLatin1Char(':') ) {
++                }
++                break;
++            case 'I':  // Long 12 hour
++            case 'l':  // Short 12 hour
++                if (modifierChar != QLatin1Char(':')) {
++                    if ((timeOptions & KLocale::TimeDuration) == KLocale::TimeDuration) {
+                         componentInteger =  fromDateTime.time().hour();
++                    } else {
++                        componentInteger = locale->d->dayPeriodForTime(fromDateTime.time()).hourInPeriod(fromDateTime.time());
++                    }
++                    if (thisChar == QLatin1Char('I')) {
++                        minWidth = 2;
++                    } else {
+                         minWidth = 1;
+-                        if ( !escapePad ) {
++                        if (!escapePad) {
+                             padChar = QChar();
+                         }
+                     }
+-                    break;
+-                case 'I':  // Long 12 hour
+-                case 'l':  // Short 12 hour
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        if ( (timeOptions & KLocale::TimeDuration) == KLocale::TimeDuration ) {
+-                            componentInteger =  fromDateTime.time().hour();
+-                        } else {
+-                            componentInteger = locale->d->dayPeriodForTime( fromDateTime.time() ).hourInPeriod( fromDateTime.time() );
+-                        }
+-                        if ( thisChar == QLatin1Char('I') ) {
++                }
++                break;
++            case 'M':   // Long minutes
++                if (modifierChar != QLatin1Char(':')) {
++                    componentInteger = fromDateTime.time().minute();
++                    minWidth = 2;
++                }
++                break;
++            case 'S':   // Long seconds
++                invalidModifier = false;
++                if ((timeOptions & KLocale::TimeWithoutSeconds) == KLocale::TimeWithoutSeconds) {
++                    //TODO strip the preceding/following punctuation
++                } else {
++                    componentInteger = fromDateTime.time().second();
++                    if (modifierChar == QLatin1Char(':')) {    // Only if not 00 seconds
++                        if (componentInteger > 0 || fromDateTime.time().msec() > 0) {
++                            result.append(QLatin1Char(':'));
+                             minWidth = 2;
+-                        } else {
+-                            minWidth = 1;
+-                            if ( !escapePad ) {
+-                                padChar = QChar();
+-                            }
+                         }
+-                    }
+-                    break;
+-                case 'M':   // Long minutes
+-                    if ( modifierChar != QLatin1Char(':') ) {
+-                        componentInteger = fromDateTime.time().minute();
++                    } else {
+                         minWidth = 2;
+                     }
+-                    break;
+-                case 'S':   // Long seconds
++                }
++                break;
++            case 's':
++                if (modifierChar == QLatin1Char(':')) {    // Milliseconds
+                     invalidModifier = false;
+-                    if ( (timeOptions & KLocale::TimeWithoutSeconds) == KLocale::TimeWithoutSeconds ) {
+-                        //TODO strip the preceeding/following punctuation
++                    componentInteger = fromDateTime.time().msec();
++                    minWidth = 3;
++                } else {  // Whole seconds since Unix Epoch
++                    KDateTime unixEpoch;
++                    unixEpoch.setTime_t(0);
++                    componentInteger = unixEpoch.secsTo(fromDateTime);
++                }
++                break;
++            case 'p':   // AM/PM symbol
++            case 'P':   // AM/PM symbol in lowercase
++                if ((timeOptions & KLocale::TimeWithoutAmPm) == KLocale::TimeWithoutAmPm) {
++                    //TODO strip the preceding/following punctuation
++                } else {
++                    if (modifierChar == QLatin1Char(':')) {
++                        invalidModifier = false;
++                        initEnglish(calendar, locale);
++                        componentString = m_englishLocale->d->dayPeriodForTime(fromDateTime.time()).periodName(KLocale::ShortName);
+                     } else {
+-                        componentInteger = fromDateTime.time().second();
+-                        if ( modifierChar == QLatin1Char(':') ) {  // Only if not 00 seconds
+-                            if ( componentInteger > 0 || fromDateTime.time().msec() > 0 ) {
+-                                result.append( QLatin1Char(':') );
+-                                minWidth = 2;
+-                            }
+-                        } else {
+-                            minWidth = 2;
+-                        }
++                        componentString = locale->d->dayPeriodForTime(fromDateTime.time()).periodName(KLocale::ShortName);
+                     }
+-                    break;
+-                case 's':
+-                    if ( modifierChar == QLatin1Char(':') ) {  // Milliseconds
+-                        invalidModifier = false;
+-                        componentInteger = fromDateTime.time().msec();
+-                        minWidth = 3;
+-                    } else {  // Whole seconds since Unix Epoch
+-                        KDateTime unixEpoch;
+-                        unixEpoch.setTime_t( 0 );
+-                        componentInteger = unixEpoch.secsTo( fromDateTime );
++                    if (thisChar == QLatin1Char('P')) {
++                        componentString = componentString.toLower();
+                     }
+-                    break;
+-                case 'p':   // AM/PM symbol
+-                case 'P':   // AM/PM symbol in lowercase
+-                    if ( (timeOptions & KLocale::TimeWithoutAmPm) == KLocale::TimeWithoutAmPm ) {
+-                        //TODO strip the preceeding/following punctuation
+-                    } else {
+-                        if ( modifierChar == QLatin1Char(':') ) {
+-                            invalidModifier = false;
+-                            initEnglish( calendar, locale );
+-                            componentString = m_englishLocale->d->dayPeriodForTime( fromDateTime.time() ).periodName( KLocale::ShortName );
++                }
++                break;
++            case 'z':  // TZ UTC Offset
++                invalidModifier = false;
++                timeSpecType = fromDateTime.timeType();
++                if (timeSpecType == KDateTime::UTC || timeSpecType == KDateTime::TimeZone ||
++                        timeSpecType == KDateTime::OffsetFromUTC) {
++                    if (modifierChar == QLatin1Char(':')) {    // TZ UTC offset hours & minutes with colon
++                        int offsetInSeconds = fromDateTime.utcOffset();
++                        if (offsetInSeconds >= 0) {
++                            signChar = QLatin1Char('+');
+                         } else {
+-                            componentString = locale->d->dayPeriodForTime( fromDateTime.time() ).periodName( KLocale::ShortName );
+-                        }
+-                        if ( thisChar == QLatin1Char('P') ) {
+-                            componentString = componentString.toLower();
++                            offsetInSeconds = -offsetInSeconds;
++                            signChar = QLatin1Char('-');
+                         }
+-                    }
+-                    break;
+-                case 'z':  // TZ UTC Offset
+-                    invalidModifier = false;
+-                    timeSpecType = fromDateTime.timeType();
+-                    if ( timeSpecType == KDateTime::UTC || timeSpecType == KDateTime::TimeZone ||
+-                         timeSpecType == KDateTime::OffsetFromUTC ) {
+-                        if ( modifierChar == QLatin1Char(':') ) {  // TZ UTC offset hours & minutes with colon
+-                            int offsetInSeconds = fromDateTime.utcOffset();
+-                            if ( offsetInSeconds >= 0 ) {
+-                                signChar = QLatin1Char('+');
+-                            } else {
+-                                offsetInSeconds = -offsetInSeconds;
+-                                signChar = QLatin1Char('-');
+-                            }
+-                            int offsetHours = offsetInSeconds / 3600;
+-                            int offsetMinutes = ( offsetInSeconds / 60 ) % 60;
+-                            //int offsetSeconds = offsetInSeconds % 60;
+-                            QString hourComponent = stringFromInteger( offsetHours, 2, QLatin1Char('0'), signChar, digitSet, locale );
+-                            QString minuteComponent = stringFromInteger( offsetMinutes, 2, QLatin1Char('0'), QChar(), digitSet, locale );
+-                            componentString = hourComponent + QLatin1Char(':') + minuteComponent;
+-                            minWidth = 0;
+-                            padChar = QChar();
+-                            padWidth = 0;
+-                        } else {  // TZ UTC offset hours & minutes
+-                            componentInteger = fromDateTime.utcOffset() / 60;
+-                            if ( componentInteger >= 0 ) {
+-                                signChar = QLatin1Char('+');
+-                            } else {
+-                                componentInteger = -componentInteger;
+-                                signChar = QLatin1Char('-');
+-                            }
+-                            minWidth = 4;
++                        int offsetHours = offsetInSeconds / 3600;
++                        int offsetMinutes = (offsetInSeconds / 60) % 60;
++                        //int offsetSeconds = offsetInSeconds % 60;
++                        QString hourComponent = stringFromInteger(offsetHours, 2, QLatin1Char('0'), signChar, digitSet, locale);
++                        QString minuteComponent = stringFromInteger(offsetMinutes, 2, QLatin1Char('0'), QChar(), digitSet, locale);
++                        componentString = hourComponent + QLatin1Char(':') + minuteComponent;
++                        minWidth = 0;
++                        padChar = QChar();
++                        padWidth = 0;
++                    } else {  // TZ UTC offset hours & minutes
++                        componentInteger = fromDateTime.utcOffset() / 60;
++                        if (componentInteger >= 0) {
++                            signChar = QLatin1Char('+');
++                        } else {
++                            componentInteger = -componentInteger;
++                            signChar = QLatin1Char('-');
+                         }
++                        minWidth = 4;
+                     }
+-                    break;
+-                case 'Z':  // TZ Name
+-                    invalidModifier = false;
+-                    timeSpecType = fromDateTime.timeType();
+-                    if ( timeSpecType == KDateTime::UTC || timeSpecType == KDateTime::TimeZone ) {
+-                        KTimeZone tz = fromDateTime.timeZone();
+-                        if ( tz.isValid() ) {
+-                            if ( modifierChar == QLatin1Char(':') ) {  // TZ full name
+-                                componentString = QString::fromLatin1(tz.abbreviation(fromDateTime.toUtc().dateTime()));
+-                            } else {  // TZ abbreviated name
+-                                componentString = tz.name();
+-                            }
++                }
++                break;
++            case 'Z':  // TZ Name
++                invalidModifier = false;
++                timeSpecType = fromDateTime.timeType();
++                if (timeSpecType == KDateTime::UTC || timeSpecType == KDateTime::TimeZone) {
++                    KTimeZone tz = fromDateTime.timeZone();
++                    if (tz.isValid()) {
++                        if (modifierChar == QLatin1Char(':')) {    // TZ full name
++                            componentString = QString::fromLatin1(tz.abbreviation(fromDateTime.toUtc().dateTime()));
++                        } else {  // TZ abbreviated name
++                            componentString = tz.name();
+                         }
+                     }
+-                    break;
+-                default:  //No valid format code, treat as literal
+-                    invalidComponent = true;
+-                    break;
++                }
++                break;
++            default:  //No valid format code, treat as literal
++                invalidComponent = true;
++                break;
+             }
+ 
+-            if ( invalidComponent || invalidModifier ) {  // If escape sequence invalid treat as literal
+-                    componentString = toFormat.mid( escapeIndex, formatIndex );
+-            } else if ( componentString.isEmpty() ) {  //i.e. is a number component
+-                padWidth = qMax( minWidth, padWidth );
+-                componentString = stringFromInteger( componentInteger, padWidth, padChar, signChar, digitSet, locale );
++            if (invalidComponent || invalidModifier) {    // If escape sequence invalid treat as literal
++                componentString = toFormat.mid(escapeIndex, formatIndex);
++            } else if (componentString.isEmpty()) {    //i.e. is a number component
++                padWidth = qMax(minWidth, padWidth);
++                componentString = stringFromInteger(componentInteger, padWidth, padChar, signChar, digitSet, locale);
+             } else { //i.e. is a string component
+-                if ( padChar != QChar() && padWidth != 0 ) {
+-                    componentString = componentString.rightJustified( padWidth, padChar );
++                if (padChar != QChar() && padWidth != 0) {
++                    componentString = componentString.rightJustified(padWidth, padChar);
+                 }
+ 
+-                if ( caseChar == QLatin1Char('^') ) {
++                if (caseChar == QLatin1Char('^')) {
+                     componentString = componentString.toUpper();
+-                } else if ( caseChar == QLatin1Char('#') ) {
++                } else if (caseChar == QLatin1Char('#')) {
+                     componentString = componentString.toUpper(); // JPL ???
+                 }
+             }
+ 
+-            result.append( componentString );
++            result.append(componentString);
+ 
+             escape = false;
+             escapePad = false;
+@@ -623,16 +623,16 @@ QString KDateTimeFormatter::formatDateTimePosix( const KDateTime &fromDateTime,
+     return result;
+ }
+ 
+-void KDateTimeFormatter::initEnglish( const KCalendarSystem *calendar, const KLocale *locale ) const
++void KDateTimeFormatter::initEnglish(const KCalendarSystem *calendar, const KLocale *locale) const
+ {
+-    if ( !m_englishCalendar || m_englishCalendar->calendarType() != calendar->calendarType() ) {
+-            // Set up an English locale and calendar for use with ':' modifier which forces English names
+-            if ( !m_englishLocale ) {
+-                m_englishLocale = new KLocale( *locale );
+-                m_englishLocale->setLanguage( QStringList() << QString::fromLatin1("en_US") );
+-            }
+-            delete m_englishCalendar;
+-            m_englishCalendar = KCalendarSystem::create( calendar->calendarType(), m_englishLocale );
++    if (!m_englishCalendar || m_englishCalendar->calendarSystem() != calendar->calendarSystem()) {
++        // Set up an English locale and calendar for use with ':' modifier which forces English names
++        if (!m_englishLocale) {
++            m_englishLocale = new KLocale(*locale);
++            m_englishLocale->setLanguage(QStringList() << QString::fromLatin1("en_US"));
++        }
++        delete m_englishCalendar;
++        m_englishCalendar = KCalendarSystem::create(calendar->calendarSystem(), m_englishLocale);
+     }
+ }
+ 
+@@ -640,12 +640,12 @@ void KDateTimeFormatter::initEnglish( const KCalendarSystem *calendar, const KLo
+ // Format an input date to match a UNICODE date format string
+ // Original QDate::fmtDateTime() code taken from Qt 4.7 under LGPL, now heavily modifed
+ // Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+-QString KDateTimeFormatter::formatDateTimeUnicode( const KDateTime &fromDateTime,
+-                                                   const QString &toFormat,
+-                                                   KLocale::TimeFormatOptions timeOptions,
+-                                                   const KCalendarSystem *calendar,
+-                                                   const KLocale *locale,
+-                                                   KLocale::DigitSet digitSet ) const
++QString KDateTimeFormatter::formatDateTimeUnicode(const KDateTime &fromDateTime,
++                                                  const QString &toFormat,
++                                                  KLocale::TimeFormatOptions timeOptions,
++                                                  const KCalendarSystem *calendar,
++                                                  const KLocale *locale,
++                                                  KLocale::DigitSet digitSet) const
+ {
+     const QLatin1Char quote('\'');
+ 
+@@ -661,7 +661,7 @@ QString KDateTimeFormatter::formatDateTimeUnicode( const KDateTime &fromDateTime
+                 status = QLatin1Char('0');
+             } else {
+                 if (!format.isEmpty()) {
+-                    result += getUnicodeString( fromDateTime, format, timeOptions, calendar, locale, digitSet );
++                    result += getUnicodeString(fromDateTime, format, timeOptions, calendar, locale, digitSet);
+                     format.clear();
+                 }
+                 status = quote;
+@@ -669,27 +669,27 @@ QString KDateTimeFormatter::formatDateTimeUnicode( const KDateTime &fromDateTime
+         } else if (status == quote) {
+             result += toFormat.at(i);
+         } else if (toFormat.at(i) == status) {
+-            if ( toFormat.at(i) == QLatin1Char('P') ||
+-                 toFormat.at(i) == QLatin1Char('p') ) {
++            if (toFormat.at(i) == QLatin1Char('P') ||
++                    toFormat.at(i) == QLatin1Char('p')) {
+                 status = QLatin1Char('0');
+             }
+-            format += toFormat.at( i );
++            format += toFormat.at(i);
+         } else {
+-            result += getUnicodeString( fromDateTime, format, timeOptions, calendar, locale, digitSet );
++            result += getUnicodeString(fromDateTime, format, timeOptions, calendar, locale, digitSet);
+             format.clear();
+-            if ( ( toFormat.at(i) == QLatin1Char('d') ) ||
+-                 ( toFormat.at(i) == QLatin1Char('M') ) ||
+-                 ( toFormat.at(i) == QLatin1Char('y') ) ) {
+-                status = toFormat.at( i );
+-                format += toFormat.at( i );
++            if ((toFormat.at(i) == QLatin1Char('d')) ||
++                    (toFormat.at(i) == QLatin1Char('M')) ||
++                    (toFormat.at(i) == QLatin1Char('y'))) {
++                status = toFormat.at(i);
++                format += toFormat.at(i);
+             } else {
+-                result += toFormat.at( i );
++                result += toFormat.at(i);
+                 status = QLatin1Char('0');
+             }
+         }
+     }
+ 
+-    result += getUnicodeString( fromDateTime, format, timeOptions, calendar, locale, digitSet );
++    result += getUnicodeString(fromDateTime, format, timeOptions, calendar, locale, digitSet);
+ 
+     return result;
+ }
+@@ -697,99 +697,98 @@ QString KDateTimeFormatter::formatDateTimeUnicode( const KDateTime &fromDateTime
+ // Original QDate::getFmtString() code taken from Qt 4.7 under LGPL, now heavily modifed
+ // Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ // Replaces tokens by their value. See QDateTime::toString() for a list of valid tokens
+-QString KDateTimeFormatter::getUnicodeString( const KDateTime &fromDateTime,
+-                                              const QString &toFormat,
+-                                              KLocale::TimeFormatOptions timeOptions,
+-                                              const KCalendarSystem *calendar,
+-                                              const KLocale *locale,
+-                                              KLocale::DigitSet digitSet ) const
++QString KDateTimeFormatter::getUnicodeString(const KDateTime &fromDateTime,
++                                             const QString &toFormat,
++                                             KLocale::TimeFormatOptions timeOptions,
++                                             const KCalendarSystem *calendar,
++                                             const KLocale *locale,
++                                             KLocale::DigitSet digitSet) const
+ {
+-    if ( toFormat.isEmpty() ) {
++    if (toFormat.isEmpty()) {
+         return QString();
+     }
+ 
+     QString result = toFormat;
+     int removed = 0;
+ 
+-    if ( toFormat.startsWith( QLatin1String( "dddd" ) ) ) {
+-        result = calendar->weekDayName( fromDateTime.date(), KCalendarSystem::LongDayName );
++    if (toFormat.startsWith(QLatin1String("dddd"))) {
++        result = calendar->weekDayName(fromDateTime.date(), KCalendarSystem::LongDayName);
+         removed = 4;
+-    } else if ( toFormat.startsWith(QLatin1String( "ddd" ) ) ) {
+-        result = calendar->weekDayName( fromDateTime.date(), KCalendarSystem::ShortDayName );
++    } else if (toFormat.startsWith(QLatin1String("ddd"))) {
++        result = calendar->weekDayName(fromDateTime.date(), KCalendarSystem::ShortDayName);
+         removed = 3;
+-    } else if ( toFormat.startsWith( QLatin1String( "dd" ) ) ) {
+-        result = QString::number( calendar->day( fromDateTime.date() ) ).rightJustified( 2, QLatin1Char('0'), true );
++    } else if (toFormat.startsWith(QLatin1String("dd"))) {
++        result = QString::number(calendar->day(fromDateTime.date())).rightJustified(2, QLatin1Char('0'), true);
+         removed = 2;
+-    } else if ( toFormat.at(0) == QLatin1Char('d') ) {
+-        result = QString::number( calendar->day( fromDateTime.date() ) );
++    } else if (toFormat.at(0) == QLatin1Char('d')) {
++        result = QString::number(calendar->day(fromDateTime.date()));
+         removed = 1;
+     } else if (toFormat.startsWith(QLatin1String("MMMM"))) {
+-        result = calendar->monthName( calendar->month( fromDateTime.date() ), calendar->year( fromDateTime.date() ), KCalendarSystem::LongName );
++        result = calendar->monthName(calendar->month(fromDateTime.date()), calendar->year(fromDateTime.date()), KCalendarSystem::LongName);
+         removed = 4;
+     } else if (toFormat.startsWith(QLatin1String("MMM"))) {
+-        result = calendar->monthName( calendar->month( fromDateTime.date() ), calendar->year( fromDateTime.date() ), KCalendarSystem::ShortName );
++        result = calendar->monthName(calendar->month(fromDateTime.date()), calendar->year(fromDateTime.date()), KCalendarSystem::ShortName);
+         removed = 3;
+     } else if (toFormat.startsWith(QLatin1String("MM"))) {
+-        result = QString::number( calendar->month( fromDateTime.date() ) ).rightJustified( 2, QLatin1Char('0'), true );
++        result = QString::number(calendar->month(fromDateTime.date())).rightJustified(2, QLatin1Char('0'), true);
+         removed = 2;
+     } else if (toFormat.at(0) == QLatin1Char('M')) {
+-        result = QString::number( calendar->month( fromDateTime.date() ) );
++        result = QString::number(calendar->month(fromDateTime.date()));
+         removed = 1;
+     } else if (toFormat.startsWith(QLatin1String("yyyy"))) {
+-        const int year = calendar->year( fromDateTime.date() );
+-        result = QString::number( qAbs( year ) ).rightJustified( 4, QLatin1Char('0') );
+-        if( year > 0 )
++        const int year = calendar->year(fromDateTime.date());
++        result = QString::number(qAbs(year)).rightJustified(4, QLatin1Char('0'));
++        if (year > 0)
+             removed = 4;
+-        else
+-        {
+-            result.prepend( QLatin1Char('-') );
++        else {
++            result.prepend(QLatin1Char('-'));
+             removed = 5;
+         }
+-    } else if ( toFormat.startsWith( QLatin1String("yy") ) ) {
+-        result = QString::number( calendar->year(fromDateTime.date()) ).right( 2 ).rightJustified( 2, QLatin1Char('0') );
++    } else if (toFormat.startsWith(QLatin1String("yy"))) {
++        result = QString::number(calendar->year(fromDateTime.date())).right(2).rightJustified(2, QLatin1Char('0'));
+         removed = 2;
+     }
+ 
+-    if ( removed == 0 || removed >= toFormat.size() ) {
++    if (removed == 0 || removed >= toFormat.size()) {
+         return result;
+     }
+ 
+-    return result + getUnicodeString( fromDateTime, toFormat.mid( removed ), timeOptions, calendar, locale, digitSet );
++    return result + getUnicodeString(fromDateTime, toFormat.mid(removed), timeOptions, calendar, locale, digitSet);
+ }
+ 
+ // Reimplement if special integer to string handling required, e.g. Hebrew.
+ // Utility to convert an integer into the correct display string form
+-QString KDateTimeFormatter::stringFromInteger( int number, int padWidth, QChar padChar, QChar signChar,
+-                                               KLocale::DigitSet digitSet, const KLocale *locale ) const
++QString KDateTimeFormatter::stringFromInteger(int number, int padWidth, QChar padChar, QChar signChar,
++                                              KLocale::DigitSet digitSet, const KLocale *locale) const
+ {
+-if ( padChar == QChar() && signChar == QChar() ) {
++    if (padChar == QChar() && signChar == QChar()) {
+ //kDebug() << "  stringFromInteger(" << number << padWidth << "null" << "null" << ")";
+-} else if ( padChar == QChar() ) {
++    } else if (padChar == QChar()) {
+ //kDebug() << "  stringFromInteger(" << number << padWidth << "null" << signChar << ")";
+-} else if ( signChar == QChar() ) {
++    } else if (signChar == QChar()) {
+ //kDebug() << "  stringFromInteger(" << number << padWidth << padChar << "null" << ")";
+-} else if ( signChar == QChar() ) {
++    } else if (signChar == QChar()) {
+ //kDebug() << "  stringFromInteger(" << number << padWidth << padChar << signChar << ")";
+-}
++    }
+     QString result;
+-    if ( padChar == QChar() || padWidth == 0 ) { // If null pad char or 0 width don't bother padding
++    if (padChar == QChar() || padWidth == 0) {   // If null pad char or 0 width don't bother padding
+ //kDebug() << "    no pad";
+-        if ( signChar == QChar() ) {
+-            result = locale->convertDigits( QString::number( number ), digitSet );
++        if (signChar == QChar()) {
++            result = locale->convertDigits(QString::number(number), digitSet);
+         } else {
+-            result = locale->convertDigits( QString::number( number ).prepend( signChar ), digitSet );
++            result = locale->convertDigits(QString::number(number).prepend(signChar), digitSet);
+         }
+-    } else if ( signChar != QChar() ) {  // If sign required
+-        if ( padChar == QLatin1Char('0') ) { // If zero-padded, zero considered part of the number, so pad the number then prepend the sign
++    } else if (signChar != QChar()) {    // If sign required
++        if (padChar == QLatin1Char('0')) {   // If zero-padded, zero considered part of the number, so pad the number then prepend the sign
+ //kDebug() << "    zero pad with sign";
+-            result = locale->convertDigits( QString::number( number ).rightJustified( padWidth, padChar ).prepend( signChar ), digitSet );
++            result = locale->convertDigits(QString::number(number).rightJustified(padWidth, padChar).prepend(signChar), digitSet);
+         } else { // If space-padded space not considered part of the number, so prepend the sign and then pad the number
+ //kDebug() << "    space pad with sign";
+-            result = locale->convertDigits( QString::number( number ).prepend( signChar ).rightJustified( padWidth, padChar ), digitSet );
++            result = locale->convertDigits(QString::number(number).prepend(signChar).rightJustified(padWidth, padChar), digitSet);
+         }
+     } else {  // No sign required so just pad
+ //kDebug() << "    pad no sign";
+-        result = locale->convertDigits( QString::number( number ).rightJustified( padWidth, padChar ), digitSet );
++        result = locale->convertDigits(QString::number(number).rightJustified(padWidth, padChar), digitSet);
+     }
+ //kDebug() << "    result = " << result;
+     return result;
+diff --git a/kdecore/date/kdatetimeformatter_p.h b/kdecore/date/kdatetimeformatter_p.h
+index 7f64e08..bfa04dc 100644
+--- a/kdecore/date/kdatetimeformatter_p.h
++++ b/kdecore/date/kdatetimeformatter_p.h
+@@ -38,56 +38,56 @@ public:
+ 
+     virtual ~KDateTimeFormatter();
+ 
+-    virtual QString formatDate( const QDate &fromDate,
+-                                const QString &toFormat,
+-                                const KCalendarSystem *calendar  = KGlobal::locale()->calendar(),
+-                                const KLocale *locale = KGlobal::locale(),
+-                                KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
+-                                KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat ) const;
+-
+-    virtual QString formatTime( const QTime &fromTime,
+-                                const QString &toFormat,
+-                                KLocale::TimeFormatOptions timeOptions = 0,
+-                                const KCalendarSystem *calendar  = KGlobal::locale()->calendar(),
+-                                const KLocale *locale = KGlobal::locale(),
+-                                KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
+-                                KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat ) const;
+-
+-    virtual QString formatDateTime( const KDateTime &fromDateTime,
+-                                    const QString &toFormat,
+-                                    KLocale::TimeFormatOptions timeOptions = 0,
+-                                    const KCalendarSystem *calendar  = KGlobal::locale()->calendar(),
+-                                    const KLocale *locale = KGlobal::locale(),
+-                                    KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
+-                                    KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat ) const;
++    virtual QString formatDate(const QDate &fromDate,
++                               const QString &toFormat,
++                               const KCalendarSystem *calendar  = KGlobal::locale()->calendar(),
++                               const KLocale *locale = KGlobal::locale(),
++                               KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
++                               KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
++
++    virtual QString formatTime(const QTime &fromTime,
++                               const QString &toFormat,
++                               KLocale::TimeFormatOptions timeOptions = 0,
++                               const KCalendarSystem *calendar  = KGlobal::locale()->calendar(),
++                               const KLocale *locale = KGlobal::locale(),
++                               KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
++                               KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
++
++    virtual QString formatDateTime(const KDateTime &fromDateTime,
++                                   const QString &toFormat,
++                                   KLocale::TimeFormatOptions timeOptions = 0,
++                                   const KCalendarSystem *calendar  = KGlobal::locale()->calendar(),
++                                   const KLocale *locale = KGlobal::locale(),
++                                   KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
++                                   KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
+ 
+ private:
+-    virtual QString formatDateTimePosix( const KDateTime &fromDateTime,
+-                                         const QString &toFormat,
+-                                         KLocale::TimeFormatOptions timeOptions,
+-                                         const KCalendarSystem *calendar,
+-                                         const KLocale *locale,
+-                                         KLocale::DigitSet digitSet,
+-                                         KLocale::DateTimeFormatStandard standard ) const;
+-
+-    virtual void initEnglish( const KCalendarSystem *calendar, const KLocale *locale ) const;
+-
+-    virtual QString formatDateTimeUnicode( const KDateTime &fromDateTime,
+-                                           const QString &toFormat,
+-                                           KLocale::TimeFormatOptions timeOptions,
+-                                           const KCalendarSystem *calendar,
+-                                           const KLocale *locale,
+-                                           KLocale::DigitSet digitSet ) const;
+-
+-    virtual QString getUnicodeString( const KDateTime &fromDateTime,
+-                                      const QString &toFormat,
+-                                      KLocale::TimeFormatOptions timeOptions,
+-                                      const KCalendarSystem *calendar,
+-                                      const KLocale *locale,
+-                                      KLocale::DigitSet digitSet ) const;
+-
+-    virtual QString stringFromInteger( int number, int padWidth, QChar padChar, QChar signChar,
+-                                       KLocale::DigitSet digitSet, const KLocale *locale ) const;
++    virtual QString formatDateTimePosix(const KDateTime &fromDateTime,
++                                        const QString &toFormat,
++                                        KLocale::TimeFormatOptions timeOptions,
++                                        const KCalendarSystem *calendar,
++                                        const KLocale *locale,
++                                        KLocale::DigitSet digitSet,
++                                        KLocale::DateTimeFormatStandard standard) const;
++
++    virtual void initEnglish(const KCalendarSystem *calendar, const KLocale *locale) const;
++
++    virtual QString formatDateTimeUnicode(const KDateTime &fromDateTime,
++                                          const QString &toFormat,
++                                          KLocale::TimeFormatOptions timeOptions,
++                                          const KCalendarSystem *calendar,
++                                          const KLocale *locale,
++                                          KLocale::DigitSet digitSet) const;
++
++    virtual QString getUnicodeString(const KDateTime &fromDateTime,
++                                     const QString &toFormat,
++                                     KLocale::TimeFormatOptions timeOptions,
++                                     const KCalendarSystem *calendar,
++                                     const KLocale *locale,
++                                     KLocale::DigitSet digitSet) const;
++
++    virtual QString stringFromInteger(int number, int padWidth, QChar padChar, QChar signChar,
++                                      KLocale::DigitSet digitSet, const KLocale *locale) const;
+ 
+     // Is private class, but if ever made public need to move these into a d->
+     // Some format modifiers force English names to be returned
+diff --git a/kdecore/date/kdatetimeparser.cpp b/kdecore/date/kdatetimeparser.cpp
+index ba50373..a416808 100644
+--- a/kdecore/date/kdatetimeparser.cpp
++++ b/kdecore/date/kdatetimeparser.cpp
+@@ -34,46 +34,46 @@ KDateTimeParser::~KDateTimeParser()
+ }
+ 
+ // Parse a DateTime input string and return just the Date component
+-QDate KDateTimeParser::parseDate( const QString &inputString,
+-                                  const QString &formatString,
+-                                  const KCalendarSystem *calendar,
+-                                  const KLocale *locale,
+-                                  KLocale::DigitSet digitSet,
+-                                  KLocale::DateTimeFormatStandard formatStandard ) const
++QDate KDateTimeParser::parseDate(const QString &inputString,
++                                 const QString &formatString,
++                                 const KCalendarSystem *calendar,
++                                 const KLocale *locale,
++                                 KLocale::DigitSet digitSet,
++                                 KLocale::DateTimeFormatStandard formatStandard) const
+ {
+     DateTimeComponents result;
+-    if ( formatStandard == KLocale::UnicodeFormat ) {
+-        result = parseDateUnicode( inputString, formatString, calendar, locale, digitSet );
++    if (formatStandard == KLocale::UnicodeFormat) {
++        result = parseDateUnicode(inputString, formatString, calendar, locale, digitSet);
+     } else {
+-        result = parseDatePosix( inputString, formatString, calendar, locale, digitSet, formatStandard );
++        result = parseDatePosix(inputString, formatString, calendar, locale, digitSet, formatStandard);
+     }
+ 
+     QDate resultDate;
+ 
+-    if ( !result.error &&
+-         formatString.simplified().length() <= result.formatPosition &&
+-         inputString.simplified().length() <= result.inputPosition ) {
++    if (!result.error &&
++            formatString.simplified().length() <= result.formatPosition &&
++            inputString.simplified().length() <= result.inputPosition) {
+ 
+         // If there were no parsing errors, and we have reached the end of both the input and
+         // format strings, then see if we have a valid date based on the components parsed
+ 
+         // If we haven't parsed a year component, then assume this year
+-        if ( !result.parsedYear ) {
+-            result.year = calendar->year( QDate::currentDate() );
++        if (!result.parsedYear) {
++            result.year = calendar->year(QDate::currentDate());
+         }
+ 
+-        if ( ( !result.eraName.isEmpty() || result.yearInEra > -1 ) && result.month > 0 && result.day > 0 ) {
++        if ((!result.eraName.isEmpty() || result.yearInEra > -1) && result.month > 0 && result.day > 0) {
+             // Have parsed Era components as well as month and day components
+-            calendar->setDate( resultDate, result.eraName, result.yearInEra, result.month, result.day );
+-        } else if ( result.month > 0 && result.day > 0 ) {
++            calendar->setDate(resultDate, result.eraName, result.yearInEra, result.month, result.day);
++        } else if (result.month > 0 && result.day > 0) {
+             // Have parsed month and day components
+-            calendar->setDate( resultDate, result.year, result.month, result.day );
+-        } else if ( result.dayInYear > 0 ) {
++            calendar->setDate(resultDate, result.year, result.month, result.day);
++        } else if (result.dayInYear > 0) {
+             // Have parsed Day In Year component
+-            calendar->setDate( resultDate, result.year, result.dayInYear );
+-        } else if ( result.isoWeekNumber > 0 && result.dayOfIsoWeek > 0 ) {
++            calendar->setDate(resultDate, result.year, result.dayInYear);
++        } else if (result.isoWeekNumber > 0 && result.dayOfIsoWeek > 0) {
+             // Have parsed ISO Week components
+-            calendar->setDateIsoWeek( resultDate, result.year, result.isoWeekNumber, result.dayOfIsoWeek );
++            calendar->setDateIsoWeek(resultDate, result.year, result.isoWeekNumber, result.dayOfIsoWeek);
+         }
+ 
+     }
+@@ -81,12 +81,12 @@ QDate KDateTimeParser::parseDate( const QString &inputString,
+     return resultDate;
+ }
+ 
+-DateTimeComponents KDateTimeParser::parseDatePosix( const QString &inputString,
+-                                                    const QString &formatString,
+-                                                    const KCalendarSystem *calendar,
+-                                                    const KLocale *locale,
+-                                                    KLocale::DigitSet digitSet,
+-                                                    KLocale::DateTimeFormatStandard standard  ) const
++DateTimeComponents KDateTimeParser::parseDatePosix(const QString &inputString,
++                                                   const QString &formatString,
++                                                   const KCalendarSystem *calendar,
++                                                   const KLocale *locale,
++                                                   KLocale::DigitSet digitSet,
++                                                   KLocale::DateTimeFormatStandard standard) const
+ {
+     QString str = inputString.simplified().toLower();
+     QString fmt = formatString.simplified();
+@@ -104,15 +104,15 @@ DateTimeComponents KDateTimeParser::parseDatePosix( const QString &inputString,
+     int readLength; // Temporary variable used when reading input
+     bool error = false;
+ 
+-    while ( fmt.length() > fmtpos && str.length() > strpos && !error ) {
++    while (fmt.length() > fmtpos && str.length() > strpos && !error) {
+ 
+-        QChar fmtChar = fmt.at( fmtpos++ );
++        QChar fmtChar = fmt.at(fmtpos++);
+ 
+-        if ( fmtChar != QLatin1Char('%') ) {
++        if (fmtChar != QLatin1Char('%')) {
+ 
+-            if ( fmtChar.isSpace() && str.at(strpos).isSpace() ) {
++            if (fmtChar.isSpace() && str.at(strpos).isSpace()) {
+                 strpos++;
+-            } else if ( fmtChar.toLower() == str.at(strpos) ) {
++            } else if (fmtChar.toLower() == str.at(strpos)) {
+                 strpos++;
+             } else {
+                 error = true;
+@@ -123,169 +123,168 @@ DateTimeComponents KDateTimeParser::parseDatePosix( const QString &inputString,
+             QString shortName, longName;
+             QChar modifierChar;
+             // remove space at the beginning
+-            if ( str.length() > strpos && str.at( strpos ).isSpace() ) {
++            if (str.length() > strpos && str.at(strpos).isSpace()) {
+                 strpos++;
+             }
+ 
+-            fmtChar = fmt.at( fmtpos++ );
+-            if ( fmtChar == QLatin1Char('E') ) {
++            fmtChar = fmt.at(fmtpos++);
++            if (fmtChar == QLatin1Char('E')) {
+                 modifierChar = fmtChar;
+-                fmtChar = fmt.at( fmtpos++ );
++                fmtChar = fmt.at(fmtpos++);
+             }
+ 
+-            switch ( fmtChar.unicode() )
+-            {
+-                case 'a':  // Weekday Name Short
+-                case 'A':  // Weekday Name Long
+-                    error = true;
+-                    j = 1;
+-                    while ( error && j <= calendar->d_ptr->maxDaysInWeek() ) {
+-                        shortName = calendar->weekDayName( j, KCalendarSystem::ShortDayName ).toLower();
+-                        longName = calendar->weekDayName( j, KCalendarSystem::LongDayName ).toLower();
+-                        if ( str.mid( strpos, longName.length() ) == longName ) {
+-                            strpos += longName.length();
+-                            error = false;
+-                        } else if ( str.mid( strpos, shortName.length() ) == shortName ) {
+-                            strpos += shortName.length();
+-                            error = false;
+-                        }
+-                        ++j;
++            switch (fmtChar.unicode()) {
++            case 'a':  // Weekday Name Short
++            case 'A':  // Weekday Name Long
++                error = true;
++                j = 1;
++                while (error && j <= calendar->d_ptr->maxDaysInWeek()) {
++                    shortName = calendar->weekDayName(j, KCalendarSystem::ShortDayName).toLower();
++                    longName = calendar->weekDayName(j, KCalendarSystem::LongDayName).toLower();
++                    if (str.mid(strpos, longName.length()) == longName) {
++                        strpos += longName.length();
++                        error = false;
++                    } else if (str.mid(strpos, shortName.length()) == shortName) {
++                        strpos += shortName.length();
++                        error = false;
+                     }
+-                    break;
+-                case 'b':  // Month Name Short
+-                case 'h':  // Month Name Short
+-                case 'B':  // Month Name Long
+-                    error = true;
+-                    j = 1;
+-                    while ( error && j <= calendar->d_ptr->maxMonthsInYear() ) {
+-                        // This may be a problem in calendar systems with variable number of months
+-                        // in the year and/or names of months that change depending on the year, e.g
+-                        // Hebrew.  We really need to know the correct year first, but we may not have
+-                        // read it yet and will be using the current year instead
+-                        int monthYear;
+-                        if ( parsedYear ) {
+-                            monthYear = yy;
+-                        } else {
+-                            monthYear = calendar->year( QDate::currentDate() );
+-                        }
+-                        if ( calendar->locale()->dateMonthNamePossessive() ) {
+-                            shortName = calendar->monthName( j, monthYear, KCalendarSystem::ShortNamePossessive ).toLower();
+-                            longName = calendar->monthName( j, monthYear, KCalendarSystem::LongNamePossessive ).toLower();
+-                        } else {
+-                            shortName = calendar->monthName( j, monthYear, KCalendarSystem::ShortName ).toLower();
+-                            longName = calendar->monthName( j, monthYear, KCalendarSystem::LongName ).toLower();
+-                        }
+-                        if ( str.mid( strpos, longName.length() ) == longName ) {
+-                            mm = j;
+-                            strpos += longName.length();
+-                            error = false;
+-                        } else if ( str.mid( strpos, shortName.length() ) == shortName ) {
+-                            mm = j;
+-                            strpos += shortName.length();
+-                            error = false;
+-                        }
+-                        ++j;
++                    ++j;
++                }
++                break;
++            case 'b':  // Month Name Short
++            case 'h':  // Month Name Short
++            case 'B':  // Month Name Long
++                error = true;
++                j = 1;
++                while (error && j <= calendar->d_ptr->maxMonthsInYear()) {
++                    // This may be a problem in calendar systems with variable number of months
++                    // in the year and/or names of months that change depending on the year, e.g
++                    // Hebrew.  We really need to know the correct year first, but we may not have
++                    // read it yet and will be using the current year instead
++                    int monthYear;
++                    if (parsedYear) {
++                        monthYear = yy;
++                    } else {
++                        monthYear = calendar->year(QDate::currentDate());
+                     }
+-                    break;
+-                case 'd': // Day Number Long
+-                case 'e': // Day Number Short
+-                    dd = calendar->dayStringToInteger( str.mid( strpos ), readLength );
+-                    strpos += readLength;
+-                    error = readLength <= 0;
+-                    break;
+-                case 'n':
+-                    // PosixFormat %n is Newline
+-                    // KdeFormat %n is Month Number Short
+-                    if ( standard == KLocale::KdeFormat ) {
+-                        mm = calendar->monthStringToInteger( str.mid( strpos ), readLength );
+-                        strpos += readLength;
+-                        error = readLength <= 0;
++                    if (calendar->locale()->dateMonthNamePossessive()) {
++                        shortName = calendar->monthName(j, monthYear, KCalendarSystem::ShortNamePossessive).toLower();
++                        longName = calendar->monthName(j, monthYear, KCalendarSystem::LongNamePossessive).toLower();
++                    } else {
++                        shortName = calendar->monthName(j, monthYear, KCalendarSystem::ShortName).toLower();
++                        longName = calendar->monthName(j, monthYear, KCalendarSystem::LongName).toLower();
+                     }
+-                    // standard == KLocale::PosixFormat
+-                    // all whitespace already 'eaten', no action required
+-                    break;
+-                case 'm': // Month Number Long
+-                    mm = calendar->monthStringToInteger( str.mid( strpos ), readLength );
++                    if (str.mid(strpos, longName.length()) == longName) {
++                        mm = j;
++                        strpos += longName.length();
++                        error = false;
++                    } else if (str.mid(strpos, shortName.length()) == shortName) {
++                        mm = j;
++                        strpos += shortName.length();
++                        error = false;
++                    }
++                    ++j;
++                }
++                break;
++            case 'd': // Day Number Long
++            case 'e': // Day Number Short
++                dd = calendar->dayStringToInteger(str.mid(strpos), readLength);
++                strpos += readLength;
++                error = readLength <= 0;
++                break;
++            case 'n':
++                // PosixFormat %n is Newline
++                // KdeFormat %n is Month Number Short
++                if (standard == KLocale::KdeFormat) {
++                    mm = calendar->monthStringToInteger(str.mid(strpos), readLength);
+                     strpos += readLength;
+                     error = readLength <= 0;
+-                    break;
+-                case 'Y': // Year Number Long
+-                case 'y': // Year Number Short
+-                    if ( modifierChar == QLatin1Char('E') ) {  // Year In Era
+-                        if ( fmtChar == QLatin1Char('y') ) {
+-                            ey = calendar->yearStringToInteger( str.mid( strpos ), readLength );
+-                            strpos += readLength;
+-                            error = readLength <= 0;
+-                        } else {
+-                            error = true;
+-                            j = calendar->eraList()->count() -1; // Start with the most recent
+-                            while ( error && j >= 0  ) {
+-                                QString subFormat = calendar->eraList()->at( j ).format();
+-                                QString subInput = str.mid( strpos );
+-                                DateTimeComponents subResult = parseDatePosix( subInput, subFormat, calendar, locale, digitSet, standard );
+-                                if ( !subResult.error ) {
+-                                    if ( subResult.parsedYear ) {
+-                                        yy = subResult.year;
+-                                        parsedYear = true;
+-                                        error = false;
+-                                        strpos += subResult.inputPosition;
+-                                    } else if ( !subResult.eraName.isEmpty() && subResult.yearInEra >= 0 ) {
+-                                        ee = subResult.eraName;
+-                                        ey = subResult.yearInEra;
+-                                        error = false;
+-                                        strpos += subResult.inputPosition;
+-                                    }
+-                                }
+-                                --j;
+-                            }
+-                        }
+-                    } else {
+-                        yy = calendar->yearStringToInteger( str.mid( strpos ), readLength );
++                }
++                // standard == KLocale::PosixFormat
++                // all whitespace already 'eaten', no action required
++                break;
++            case 'm': // Month Number Long
++                mm = calendar->monthStringToInteger(str.mid(strpos), readLength);
++                strpos += readLength;
++                error = readLength <= 0;
++                break;
++            case 'Y': // Year Number Long
++            case 'y': // Year Number Short
++                if (modifierChar == QLatin1Char('E')) {    // Year In Era
++                    if (fmtChar == QLatin1Char('y')) {
++                        ey = calendar->yearStringToInteger(str.mid(strpos), readLength);
+                         strpos += readLength;
+-                        if ( fmtChar == QLatin1Char('y') ) {
+-                            yy = calendar->applyShortYearWindow( yy );
+-                        }
+                         error = readLength <= 0;
+-                        if ( !error ) {
+-                            parsedYear = true;
+-                        }
+-                    }
+-                    break;
+-                case 'C': // Era
+-                    error = true;
+-                    if ( modifierChar == QLatin1Char('E') ) {
+-                        j = calendar->eraList()->count() -1; // Start with the most recent
+-                        while ( error && j >= 0  ) {
+-                            shortName = calendar->d_ptr->m_eraList->at( j ).name( KLocale::ShortName ).toLower();
+-                            longName = calendar->eraList()->at( j ).name( KLocale::LongName ).toLower();
+-                            if ( str.mid( strpos, longName.length() ) == longName ) {
+-                                strpos += longName.length();
+-                                ee = longName;
+-                                error = false;
+-                            } else if ( str.mid( strpos, shortName.length() ) == shortName ) {
+-                                strpos += shortName.length();
+-                                ee = shortName;
+-                                error = false;
++                    } else {
++                        error = true;
++                        j = calendar->eraList()->count() - 1; // Start with the most recent
++                        while (error && j >= 0) {
++                            QString subFormat = calendar->eraList()->at(j).format();
++                            QString subInput = str.mid(strpos);
++                            DateTimeComponents subResult = parseDatePosix(subInput, subFormat, calendar, locale, digitSet, standard);
++                            if (!subResult.error) {
++                                if (subResult.parsedYear) {
++                                    yy = subResult.year;
++                                    parsedYear = true;
++                                    error = false;
++                                    strpos += subResult.inputPosition;
++                                } else if (!subResult.eraName.isEmpty() && subResult.yearInEra >= 0) {
++                                    ee = subResult.eraName;
++                                    ey = subResult.yearInEra;
++                                    error = false;
++                                    strpos += subResult.inputPosition;
++                                }
+                             }
+                             --j;
+                         }
+                     }
+-                    break;
+-                case 'j': // Day Of Year Number
+-                    dayInYear = integerFromString( str.mid( strpos ), 3, readLength );
+-                    strpos += readLength;
+-                    error = readLength <= 0;
+-                    break;
+-                case 'V': // ISO Week Number
+-                    isoWeekNumber = integerFromString( str.mid( strpos ), 2, readLength );
+-                    strpos += readLength;
+-                    error = readLength <= 0;
+-                    break;
+-                case 'u': // ISO Day Of Week
+-                    dayOfIsoWeek = integerFromString( str.mid( strpos ), 1, readLength );
++                } else {
++                    yy = calendar->yearStringToInteger(str.mid(strpos), readLength);
+                     strpos += readLength;
++                    if (fmtChar == QLatin1Char('y')) {
++                        yy = calendar->applyShortYearWindow(yy);
++                    }
+                     error = readLength <= 0;
+-                    break;
++                    if (!error) {
++                        parsedYear = true;
++                    }
++                }
++                break;
++            case 'C': // Era
++                error = true;
++                if (modifierChar == QLatin1Char('E')) {
++                    j = calendar->eraList()->count() - 1; // Start with the most recent
++                    while (error && j >= 0) {
++                        shortName = calendar->d_ptr->m_eraList->at(j).name(KLocale::ShortName).toLower();
++                        longName = calendar->eraList()->at(j).name(KLocale::LongName).toLower();
++                        if (str.mid(strpos, longName.length()) == longName) {
++                            strpos += longName.length();
++                            ee = longName;
++                            error = false;
++                        } else if (str.mid(strpos, shortName.length()) == shortName) {
++                            strpos += shortName.length();
++                            ee = shortName;
++                            error = false;
++                        }
++                        --j;
++                    }
++                }
++                break;
++            case 'j': // Day Of Year Number
++                dayInYear = integerFromString(str.mid(strpos), 3, readLength);
++                strpos += readLength;
++                error = readLength <= 0;
++                break;
++            case 'V': // ISO Week Number
++                isoWeekNumber = integerFromString(str.mid(strpos), 2, readLength);
++                strpos += readLength;
++                error = readLength <= 0;
++                break;
++            case 'u': // ISO Day Of Week
++                dayOfIsoWeek = integerFromString(str.mid(strpos), 1, readLength);
++                strpos += readLength;
++                error = readLength <= 0;
++                break;
+             }
+         }
+     }
+@@ -294,12 +293,12 @@ DateTimeComponents KDateTimeParser::parseDatePosix( const QString &inputString,
+     result.error = error;
+     result.inputPosition = strpos;
+     result.formatPosition = fmtpos;
+-    if ( error ) {
++    if (error) {
+         result.day = -1;
+         result.month = -1;
+         result.year = 0;
+         result.parsedYear = false;
+-        result.eraName = QString();
++        result.eraName.clear();
+         result.yearInEra = -1;
+         result.dayInYear = -1;
+         result.isoWeekNumber = -1;
+@@ -319,12 +318,15 @@ DateTimeComponents KDateTimeParser::parseDatePosix( const QString &inputString,
+ }
+ 
+ // Parse an input string to match a UNICODE DateTime format string and return any components found
+-DateTimeComponents KDateTimeParser::parseDateUnicode( const QString &inputString,
+-                                                      const QString &formatString,
+-                                                      const KCalendarSystem *calendar,
+-                                                      const KLocale *locale,
+-                                                      KLocale::DigitSet digitSet ) const
++DateTimeComponents KDateTimeParser::parseDateUnicode(const QString &inputString,
++                                                     const QString &formatString,
++                                                     const KCalendarSystem *calendar,
++                                                     const KLocale *locale,
++                                                     KLocale::DigitSet digitSet) const
+ {
++    Q_UNUSED(calendar);
++    Q_UNUSED(locale);
++    Q_UNUSED(digitSet);
+     QString str = inputString.simplified().toLower();
+     QString fmt = formatString.simplified();
+     int dd = -1;
+@@ -338,19 +340,19 @@ DateTimeComponents KDateTimeParser::parseDateUnicode( const QString &inputString
+     int dayOfIsoWeek = -1;
+     int strpos = 0;
+     int fmtpos = 0;
+-    int readLength; // Temporary variable used when reading input
++    //int readLength; // Temporary variable used when reading input
+     bool error = false;
+ 
+     DateTimeComponents result;
+     result.error = error;
+     result.inputPosition = strpos;
+     result.formatPosition = fmtpos;
+-    if ( error ) {
++    if (error) {
+         result.day = -1;
+         result.month = -1;
+         result.year = 0;
+         result.parsedYear = false;
+-        result.eraName = QString();
++        result.eraName.clear();
+         result.yearInEra = -1;
+         result.dayInYear = -1;
+         result.isoWeekNumber = -1;
+@@ -371,26 +373,26 @@ DateTimeComponents KDateTimeParser::parseDateUnicode( const QString &inputString
+ 
+ // Peel a number off the front of a string which may have other trailing chars after the number
+ // Stop either at either maxLength, eos, or first non-digit char
+-int KDateTimeParser::integerFromString( const QString &string, int maxLength, int &readLength ) const
++int KDateTimeParser::integerFromString(const QString &string, int maxLength, int &readLength) const
+ {
+     int value = -1;
+     int position = 0;
+     readLength = 0;
+     bool ok = false;
+ 
+-    if ( maxLength < 0 ) {
++    if (maxLength < 0) {
+         maxLength = string.length();
+     }
+ 
+-    while ( position < string.length() &&
++    while (position < string.length() &&
+             position < maxLength &&
+-            string.at( position ).isDigit() ) {
++            string.at(position).isDigit()) {
+         position++;
+     }
+ 
+-    if ( position > 0 ) {
+-        value = string.left( position ).toInt( &ok );
+-        if ( ok ) {
++    if (position > 0) {
++        value = string.left(position).toInt(&ok);
++        if (ok) {
+             readLength = position;
+         } else {
+             value = -1;
+diff --git a/kdecore/date/kdatetimeparser_p.h b/kdecore/date/kdatetimeparser_p.h
+index 7a47c3a..4a25b34 100644
+--- a/kdecore/date/kdatetimeparser_p.h
++++ b/kdecore/date/kdatetimeparser_p.h
+@@ -31,8 +31,7 @@ class QTime;
+ class KDateTime;
+ class KCalendarSystem;
+ 
+-struct DateTimeComponents
+-{
++struct DateTimeComponents {
+     int day;
+     int month;
+     int year;
+@@ -54,28 +53,28 @@ public:
+ 
+     virtual ~KDateTimeParser();
+ 
+-    virtual QDate parseDate( const QString &dateString,
+-                             const QString &format,
+-                             const KCalendarSystem *calendar  = KGlobal::locale()->calendar(),
+-                             const KLocale *locale = KGlobal::locale(),
+-                             KLocale::DigitSet digitSet = KLocale::ArabicDigits,
+-                             KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat ) const;
++    virtual QDate parseDate(const QString &dateString,
++                            const QString &format,
++                            const KCalendarSystem *calendar  = KGlobal::locale()->calendar(),
++                            const KLocale *locale = KGlobal::locale(),
++                            KLocale::DigitSet digitSet = KLocale::ArabicDigits,
++                            KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
+ 
+ private:
+-    virtual DateTimeComponents parseDatePosix( const QString &dateString,
+-                                               const QString &format,
+-                                               const KCalendarSystem *calendar,
+-                                               const KLocale *locale,
+-                                               KLocale::DigitSet digitSet,
+-                                               KLocale::DateTimeFormatStandard standard ) const;
++    virtual DateTimeComponents parseDatePosix(const QString &dateString,
++                                              const QString &format,
++                                              const KCalendarSystem *calendar,
++                                              const KLocale *locale,
++                                              KLocale::DigitSet digitSet,
++                                              KLocale::DateTimeFormatStandard standard) const;
+ 
+-    virtual DateTimeComponents parseDateUnicode( const QString &inputString,
+-                                                 const QString &format,
+-                                                 const KCalendarSystem *calendar,
+-                                                 const KLocale *locale,
+-                                                 KLocale::DigitSet digitSet ) const;
++    virtual DateTimeComponents parseDateUnicode(const QString &inputString,
++                                                const QString &format,
++                                                const KCalendarSystem *calendar,
++                                                const KLocale *locale,
++                                                KLocale::DigitSet digitSet) const;
+ 
+-    virtual int integerFromString( const QString &string, int maxLength, int &readLength ) const;
++    virtual int integerFromString(const QString &string, int maxLength, int &readLength) const;
+ };
+ 
+ #endif // KDATETIMEPARSER_H
+diff --git a/kdecore/date/kdayperiod.cpp b/kdecore/date/kdayperiod.cpp
+index 84170b4..c810552 100644
+--- a/kdecore/date/kdayperiod.cpp
++++ b/kdecore/date/kdayperiod.cpp
+@@ -167,8 +167,8 @@ QTime KDayPeriod::time(int hip, int minute, int second, int millisecond) const
+         }
+         int hour;
+         if (periodStart() <= periodEnd() ||
+-            (hip >= hourInPeriod(periodStart()) &&
+-             hip <= hourInPeriod(QTime(23, 59, 59, 999)))) {
++                (hip >= hourInPeriod(periodStart()) &&
++                 hip <= hourInPeriod(QTime(23, 59, 59, 999)))) {
+             hour = hip + periodStart().hour() - d->m_offsetFromStart;
+         } else {
+             hour = hip;
+@@ -197,7 +197,7 @@ bool KDayPeriod::isValid(const QTime &time) const
+             return time >= periodStart() && time <= periodEnd();
+         } else {
+             return ((time >= periodStart() && time <= QTime(23, 59, 59, 999)) ||
+-                    (time >= QTime( 0, 0, 0 ) && time <= periodEnd()));
++                    (time >= QTime(0, 0, 0) && time <= periodEnd()));
+         }
+     } else {
+         return false;
+diff --git a/kdecore/date/klocalizeddate.cpp b/kdecore/date/klocalizeddate.cpp
+index b624a34..b918e9e 100644
+--- a/kdecore/date/klocalizeddate.cpp
++++ b/kdecore/date/klocalizeddate.cpp
+@@ -42,22 +42,22 @@ public:
+ };
+ 
+ KLocalizedDatePrivate::KLocalizedDatePrivate(const QDate &date, const KCalendarSystem *calendar, bool manageCalendar)
+-            : QSharedData(),
+-              m_date(date),
+-              m_calendar(calendar),
+-              m_manageCalendar(manageCalendar)
++                     : QSharedData(),
++                       m_date(date),
++                       m_calendar(calendar),
++                       m_manageCalendar(manageCalendar)
+ {
+ }
+ 
+ KLocalizedDatePrivate::KLocalizedDatePrivate(const KLocalizedDatePrivate &rhs)
+-            : QSharedData(rhs),
+-              m_date(rhs.m_date),
+-              m_calendar(rhs.m_calendar),
+-              m_manageCalendar(rhs.m_manageCalendar)
++                     : QSharedData(rhs),
++                       m_date(rhs.m_date),
++                       m_calendar(rhs.m_calendar),
++                       m_manageCalendar(rhs.m_manageCalendar)
+ {
+     // If we're managing the calendar object, then take a copy,
+     // i.e. user called setCalendarSystem() rather than passing a custom one into the constructor
+-    if(m_manageCalendar) {
++    if (m_manageCalendar) {
+         m_calendar =  KCalendarSystem::create(m_calendar->calendarSystem(), new KLocale(*m_calendar->locale()));
+     }
+ }
+@@ -69,7 +69,7 @@ KLocalizedDatePrivate &KLocalizedDatePrivate::operator=(const KLocalizedDatePriv
+     m_manageCalendar = rhs.m_manageCalendar;
+     // If we're managing the calendar object, then take a copy,
+     // i.e. user called setCalendarSystem() rather than passing a custom one into the constructor
+-    if(rhs.m_manageCalendar) {
++    if (rhs.m_manageCalendar) {
+         m_calendar =  KCalendarSystem::create(m_calendar->calendarSystem(), new KLocale(*m_calendar->locale()));
+     }
+     return *this;
+@@ -91,18 +91,18 @@ KLocalizedDatePrivate::~KLocalizedDatePrivate()
+  *****************************************************************************/
+ 
+ KLocalizedDate::KLocalizedDate(const QDate &date, const KCalendarSystem *calendarSystem)
+-     : d(new KLocalizedDatePrivate(date, calendarSystem, false))
++              : d(new KLocalizedDatePrivate(date, calendarSystem, false))
+ {
+ }
+ 
+ KLocalizedDate::KLocalizedDate(int year, int month, int day, const KCalendarSystem *calendarSystem)
+-     : d(new KLocalizedDatePrivate(QDate(), calendarSystem, false))
++              : d(new KLocalizedDatePrivate(QDate(), calendarSystem, false))
+ {
+     setDate(year, month, day);
+ }
+ 
+ KLocalizedDate::KLocalizedDate(const KLocalizedDate &rhs)
+-     : d(new KLocalizedDatePrivate(*rhs.d))
++              : d(new KLocalizedDatePrivate(*rhs.d))
+ {
+ }
+ 
+@@ -148,7 +148,7 @@ KLocale::CalendarSystem KLocalizedDate::calendarSystem()
+ 
+ const KCalendarSystem *KLocalizedDate::calendar() const
+ {
+-    if ( d->m_calendar ) {
++    if (d->m_calendar) {
+         return d->m_calendar;
+     }
+     return  KGlobal::locale()->calendar();
+@@ -167,7 +167,7 @@ bool KLocalizedDate::isNull() const
+ 
+ bool KLocalizedDate::isValid() const
+ {
+-    return calendar()->isValid( date() );
++    return calendar()->isValid(date());
+ }
+ 
+ /*****************************************************************************
+@@ -297,13 +297,12 @@ int KLocalizedDate::dayOfWeek() const
+ 
+ int KLocalizedDate::week(int *yearNum) const
+ {
+-    return calendar()->weekNumber(date(), yearNum);
++    return calendar()->week(date(), yearNum);
+ }
+ 
+ int KLocalizedDate::week(KLocale::WeekNumberSystem weekNumberSystem, int *yearNum) const
+ {
+-    Q_UNUSED(weekNumberSystem);
+-    return calendar()->weekNumber(date(), yearNum);
++    return calendar()->week(date(), weekNumberSystem, yearNum);
+ }
+ 
+ int KLocalizedDate::monthsInYear() const
+@@ -318,8 +317,7 @@ int KLocalizedDate::weeksInYear() const
+ 
+ int KLocalizedDate::weeksInYear(KLocale::WeekNumberSystem weekNumberSystem) const
+ {
+-    Q_UNUSED(weekNumberSystem);
+-    return calendar()->weeksInYear(date());
++    return calendar()->weeksInYear(date(), weekNumberSystem);
+ }
+ 
+ int KLocalizedDate::daysInYear() const
+@@ -454,13 +452,13 @@ bool KLocalizedDate::addDaysTo(int days)
+ }
+ 
+ void KLocalizedDate::dateDifference(const KLocalizedDate &toDate,
+-                           int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction) const
++                                    int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction) const
+ {
+     dateDifference(toDate.date(), yearsDiff, monthsDiff, daysDiff, direction);
+ }
+ 
+ void KLocalizedDate::dateDifference(const QDate &toDate,
+-                           int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction) const
++                                    int *yearsDiff, int *monthsDiff, int *daysDiff, int *direction) const
+ {
+     calendar()->dateDifference(date(), toDate, yearsDiff, monthsDiff, daysDiff, direction);
+ }
+@@ -606,7 +604,7 @@ QDataStream &operator>>(QDataStream &in, KLocalizedDate &date)
+ 
+ QDebug operator<<(QDebug dbg, const KLocalizedDate &date)
+ {
+-    if (date.calendar()->calendarType() == QLatin1String("gregorian")) {
++    if (date.calendar()->calendarSystem() == KLocale::QDateCalendar) {
+         dbg.nospace() << "KLocalizedDate(" << date.formatDate(KLocale::IsoDate) << ", "
+                       << date.calendar()->calendarLabel() << ')';
+     } else {
+diff --git a/kdecore/date/klocalizeddate.h b/kdecore/date/klocalizeddate.h
+index 2d1d611..6842577 100644
+--- a/kdecore/date/klocalizeddate.h
++++ b/kdecore/date/klocalizeddate.h
+@@ -17,8 +17,8 @@
+     Boston, MA 02110-1301, USA.
+ */
+ 
+-#ifndef KDATE_H
+-#define KDATE_H
++#ifndef KLOCALIZEDDATE_H
++#define KLOCALIZEDDATE_H
+ 
+ #include 
+ #include 
+@@ -151,7 +151,7 @@ public:
+      * See @ref custom for more details on using custom Calendar Systems.
+      *
+      * @param date the QDate to set the KLocalizedDate to, defaults to invalid date
+-     * @param locale the locale to use for date formats, defaults to the global
++     * @param calendar the calendar system to use, defaults to the global
+      */
+     explicit KLocalizedDate(const QDate &date = QDate(), const KCalendarSystem *calendar = 0);
+ 
+@@ -169,6 +169,7 @@ public:
+      * @param year the year to set the KLocalizedDate to
+      * @param month the month to set the KLocalizedDate to
+      * @param day the day to set the KLocalizedDate to
++     * @param calendar the calendar system to use, defaults to the global
+      */
+     KLocalizedDate(int year, int month, int day, const KCalendarSystem *calendar = 0);
+ 
+@@ -297,7 +298,7 @@ public:
+      * @see eraName()
+      * @see yearInEra()
+      * @param eraName Era string
+-     * @param year Year In Era number
++     * @param yearInEra Year In Era number
+      * @param month Month number
+      * @param day Day Of Month number
+      * @return @c true if the date is valid, @c false otherwise
+@@ -421,7 +422,6 @@ public:
+      * See @ref formatting for more details on Date Formatting.
+      *
+      * @see formatDate()
+-     * @param format format to return, either short or long
+      * @return the localized era name, empty string if date is invalid
+      */
+     QString eraName() const;
+@@ -433,7 +433,6 @@ public:
+      * See @ref formatting for more details on Date Formatting.
+      *
+      * @see formatDate()
+-     * @param format format to return, either short or long
+      * @return the localized era year string, empty string if date is invalid
+      */
+     QString eraYear() const;
+@@ -1166,22 +1165,25 @@ Q_DECLARE_METATYPE(KLocalizedDate)
+ /**
+  * Data stream output operator
+  *
+- * @param other the date to compare
++ * @param out the datastream to write to
++ * @param date the date to write to the stream
+  */
+ QDataStream KDECORE_EXPORT &operator<<(QDataStream &out, const KLocalizedDate &date);
+ 
+ /**
+  * Data stream input operator
+  *
+- * @param other the date to compare
++ * @param out the datastream to read from
++ * @param date the date to read from the stream
+  */
+ QDataStream KDECORE_EXPORT &operator>>(QDataStream &in, KLocalizedDate &date);
+ 
+ /**
+  * Debug stream output operator
+  *
+- * @param other the date to print
++ * @param out the debug datastream to write to
++ * @param date the date to write to the stream
+  */
+-QDebug KDECORE_EXPORT operator<<(QDebug, const KLocalizedDate &);
++QDebug KDECORE_EXPORT operator<<(QDebug debug, const KLocalizedDate &date);
+ 
+-#endif // KDATE_H
++#endif // KLOCALIZEDDATE_H
+diff --git a/kdecore/CMakeLists.txt b/kdecore/CMakeLists.txt
+index f78c115..276f005 100644
+--- a/kdecore/CMakeLists.txt
++++ b/kdecore/CMakeLists.txt
+@@ -184,9 +184,9 @@ set(kdecore_LIB_SRCS
+    date/kcalendarsystem.cpp
+    date/kcalendarsystemcoptic.cpp
+    date/kcalendarsystemethiopian.cpp
++   date/kcalendarsystemqdate.cpp
+    date/kcalendarsystemgregorian.cpp
+-   date/kcalendarsystemgregorianproleptic.cpp
+-   date/kcalendarsystemhijri.cpp
++   date/kcalendarsystemislamiccivil.cpp
+    date/kcalendarsystemhebrew.cpp
+    date/kcalendarsystemindiannational.cpp
+    date/kcalendarsystemjalali.cpp
diff --git a/kde-unstable/kdelibs/kde-applications-menu.patch b/kde-unstable/kdelibs/kde-applications-menu.patch
new file mode 100644
index 000000000..4b513298a
--- /dev/null
+++ b/kde-unstable/kdelibs/kde-applications-menu.patch
@@ -0,0 +1,22 @@
+--- kdelibs-4.3.98/kded/CMakeLists.txt	2009-10-02 14:55:17.000000000 +0000
++++ kdelibs-4.3.98/kded/CMakeLists.txt	2010-01-31 22:16:13.946933892 +0000
+@@ -69,7 +69,7 @@
+ if (WIN32)
+ install( FILES applications.menu  DESTINATION  ${SHARE_INSTALL_PREFIX}/xdg/menus )
+ else (WIN32)
+-install( FILES applications.menu  DESTINATION  ${SYSCONF_INSTALL_DIR}/xdg/menus )
++install( FILES applications.menu  DESTINATION  ${SYSCONF_INSTALL_DIR}/xdg/menus RENAME kde-applications.menu )
+ endif (WIN32)
+ install( FILES kdedmodule.desktop DESTINATION  ${SERVICETYPES_INSTALL_DIR} )
+ install( FILES kded.upd           DESTINATION  ${DATA_INSTALL_DIR}/kconf_update )
+--- kdelibs-4.3.98/kded/kbuildsycoca.cpp	2009-12-04 23:10:18.000000000 +0000
++++ kdelibs-4.3.98/kded/kbuildsycoca.cpp	2010-01-31 22:16:13.962766572 +0000
+@@ -302,7 +302,7 @@
+      if (!m_trackId.isEmpty())
+         g_vfolder->setTrackId(m_trackId);
+ 
+-     VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true);
++     VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("kde-applications.menu", true);
+ 
+      KServiceGroup::Ptr entry = g_bsgf->addNew("/", kdeMenu->directoryFile, KServiceGroup::Ptr(), false);
+      entry->setLayoutInfo(kdeMenu->layoutList);
diff --git a/kde-unstable/kdelibs/kdelibs.install b/kde-unstable/kdelibs/kdelibs.install
new file mode 100644
index 000000000..c77e68041
--- /dev/null
+++ b/kde-unstable/kdelibs/kdelibs.install
@@ -0,0 +1,13 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+	update-mime-database usr/share/mime &> /dev/null
+    update-desktop-database -q
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdemultimedia/PKGBUILD b/kde-unstable/kdemultimedia/PKGBUILD
new file mode 100644
index 000000000..363b255ed
--- /dev/null
+++ b/kde-unstable/kdemultimedia/PKGBUILD
@@ -0,0 +1,109 @@
+# $Id: PKGBUILD 124769 2011-05-24 09:53:01Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdemultimedia
+pkgname=('kdemultimedia-dragonplayer'
+         'kdemultimedia-ffmpegthumbs'
+         'kdemultimedia-juk'
+         'kdemultimedia-kioslave'
+         'kdemultimedia-kmix'
+         'kdemultimedia-kscd'
+         'kdemultimedia-mplayerthumbs')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdemultimedia')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdelibs' 'tunepimp'
+            'ffmpeg' 'mplayer' 'pulseaudio' 'libmusicbrainz3')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
+        'mplayerthumbs.config')
+sha1sums=('60fa25d125aa77b66fd1c1e9e043df48abf35bd4'
+          'ba016fa2563c14ffcba852c62506b66bfc6ee683')
+
+build() {
+    cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../${pkgbase}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+		-DWITH_Xine=OFF
+	make
+}
+
+package_kdemultimedia-dragonplayer() {
+	pkgdesc='Video Player'
+	depends=('kdebase-runtime')
+	url="http://kde.org/applications/multimedia/dragonplayer/"
+	install='kdemultimedia.install'
+	cd $srcdir/build/dragonplayer
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/dragonplayer
+	make DESTDIR=$pkgdir install
+}
+
+package_kdemultimedia-ffmpegthumbs() {
+	pkgdesc='Video Files (ffmpegthumbs)'
+	depends=('kdebase-runtime' 'ffmpeg')
+	install='kdemultimedia.install'
+	cd $srcdir/build/ffmpegthumbs
+	make DESTDIR=$pkgdir install
+}
+
+package_kdemultimedia-juk() {
+	pkgdesc='Music Player'
+	depends=('kdebase-runtime' 'tunepimp')
+	url="http://kde.org/applications/multimedia/juk"
+	install='kdemultimedia.install'
+	cd $srcdir/build/juk
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/juk
+	make DESTDIR=$pkgdir install
+}
+
+package_kdemultimedia-kioslave() {
+	pkgdesc='Audio CD Browser'
+	depends=('kdelibs' 'libmusicbrainz3' 'cdparanoia')
+	conflicts=('kdemultimedia-libkcddb' 'kdemultimedia-libkcompactdisc')
+	replaces=('kdemultimedia-libkcddb' 'kdemultimedia-libkcompactdisc')
+	for i in kioslave doc/kioslave libkcddb libkcompactdisc; do
+		cd $srcdir/build/${i}
+		make DESTDIR=$pkgdir install
+	done
+}
+
+package_kdemultimedia-kmix() {
+	pkgdesc='Sound Mixer'
+	depends=('kdebase-runtime')
+	url="http://kde.org/applications/multimedia/kmix"
+	install='kdemultimedia.install'
+	cd $srcdir/build/kmix
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kmix
+	make DESTDIR=$pkgdir install
+}
+
+package_kdemultimedia-kscd() {
+	pkgdesc='CD Player'
+	depends=('kdebase-runtime' 'libmusicbrainz3')
+	url="http://kde.org/applications/multimedia/kscd"
+	install='kdemultimedia.install'
+	cd $srcdir/build/kscd
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kcontrol/cddbretrieval
+	make DESTDIR=$pkgdir install
+}
+
+package_kdemultimedia-mplayerthumbs() {
+	pkgdesc='Video Files (MPlayerThumbs)'
+	depends=('kdebase-runtime' 'mplayer')
+	replaces=('mplayerthumbs')
+	conflicts=('mplayerthumbs')
+	cd $srcdir/build/mplayerthumbs
+	make DESTDIR=$pkgdir install
+	install -D -m644 $srcdir/mplayerthumbs.config $pkgdir/usr/share/config/mplayerthumbs
+}
diff --git a/kde-unstable/kdemultimedia/kdemultimedia.install b/kde-unstable/kdemultimedia/kdemultimedia.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdemultimedia/kdemultimedia.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdemultimedia/mplayerthumbs.config b/kde-unstable/kdemultimedia/mplayerthumbs.config
new file mode 100644
index 000000000..761a17953
--- /dev/null
+++ b/kde-unstable/kdemultimedia/mplayerthumbs.config
@@ -0,0 +1,2 @@
+[MPlayerThumbsCfg]
+backend=0
diff --git a/kde-unstable/kdenetwork/PKGBUILD b/kde-unstable/kdenetwork/PKGBUILD
new file mode 100644
index 000000000..763acd722
--- /dev/null
+++ b/kde-unstable/kdenetwork/PKGBUILD
@@ -0,0 +1,114 @@
+# $Id: PKGBUILD 124770 2011-05-24 10:05:32Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdenetwork
+pkgname=('kdenetwork-filesharing'
+         'kdenetwork-kdnssd'
+         'kdenetwork-kget'
+         'kdenetwork-kopete'
+         'kdenetwork-kppp'
+         'kdenetwork-krdc'
+         'kdenetwork-krfb')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdenetwork')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr'
+	'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' 'libmsn' 'ppp'
+    'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu'
+    'telepathy-qt4' 'libktorrent' 'libmms')
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
+sha1sums=('8afe1547ea6f9f7acbdaf73b3ade4e3c752e645e')
+
+build() {
+    cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../${pkgbase}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+		-DMOZPLUGIN_INSTALL_DIR=/usr/lib/mozilla/plugins/ \
+        -DWITH_Xmms=OFF \
+		-DWITH_LibMeanwhile=OFF
+	make
+}
+
+package_kdenetwork-filesharing() {
+	pkgdesc='Konqueror properties dialog plugin to share a directory with the local network'
+	depends=('kdelibs' 'smbclient')
+	install='kdenetwork.install'
+	cd $srcdir/build/filesharing
+	make DESTDIR=$pkgdir install
+}
+
+package_kdenetwork-kdnssd() {
+	pkgdesc='Monitors the network for DNS-SD services'
+	depends=('kdelibs')
+	cd $srcdir/build/kdnssd
+	make DESTDIR=$pkgdir install
+}
+
+package_kdenetwork-kget() {
+	pkgdesc='Download Manager'
+	depends=('kdebase-workspace' 'kdebase-lib' 'libktorrent' 'libmms')
+	optdepends=('python2: YouTube plugin')
+	url="http://kde.org/applications/internet/kget/"
+	install='kdenetwork.install'
+	cd $srcdir/build/kget
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kget
+	make DESTDIR=$pkgdir install
+
+        # Use the python2 executable
+        find ${pkgdir} -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
+}
+
+package_kdenetwork-kopete() {
+	pkgdesc='Instant Messenger'
+	depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn'
+	         'libidn' 'qimageblitz' 'v4l-utils' 'libgadu')
+	url="http://kde.org/applications/internet/kopete/"
+	install='kdenetwork.install'
+	cd $srcdir/build/kopete
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kopete
+	make DESTDIR=$pkgdir install
+}
+
+package_kdenetwork-kppp() {
+	pkgdesc='Internet Dial-Up Tool'
+	depends=('kdebase-runtime' 'ppp')
+	url="http://kde.org/applications/internet/kppp/"
+	install='kdenetwork.install'
+	cd $srcdir/build/kppp
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/kppp
+	make DESTDIR=$pkgdir install
+}
+
+package_kdenetwork-krdc() {
+	pkgdesc='Remote Desktop Client'
+	depends=('kdebase-runtime' 'libvncserver' 'rdesktop' 'telepathy-qt4')
+    optdepends=('kdebase-keditbookmarks: to edit bookmarks')
+	url="http://kde.org/applications/internet/krdc/"
+	cd $srcdir/build/krdc
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/krdc
+	make DESTDIR=$pkgdir install
+}
+
+package_kdenetwork-krfb() {
+	pkgdesc='Desktop Sharing'
+	# note on libxdamage:
+	#       not detected by namcap because libgl depends on it
+	#       but nvidia providing libgl does not depend on libxdamage
+	depends=('kdebase-runtime' 'libvncserver' 'libxdamage')
+	cd $srcdir/build/krfb
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/doc/krfb
+	make DESTDIR=$pkgdir install
+}
diff --git a/kde-unstable/kdenetwork/kdenetwork.install b/kde-unstable/kdenetwork/kdenetwork.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/kde-unstable/kdenetwork/kdenetwork.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
diff --git a/kde-unstable/kdepim-runtime/PKGBUILD b/kde-unstable/kdepim-runtime/PKGBUILD
index c367ccfc8..72aecd954 100644
--- a/kde-unstable/kdepim-runtime/PKGBUILD
+++ b/kde-unstable/kdepim-runtime/PKGBUILD
@@ -3,7 +3,7 @@
 # Contributor: Pierre Schmitz 
 
 pkgname=kdepim-runtime
-pkgver=4.5.96
+pkgver=4.6.80
 pkgrel=1
 pkgdesc='KDE PIM Runtime Environment'
 arch=('i686' 'x86_64')
@@ -12,16 +12,10 @@ license=('GPL' 'LGPL' 'FDL')
 depends=('kdepimlibs' 'kdebase-runtime')
 makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost')
 install=${pkgname}.install
-#source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-source=("http://download.kde.org/unstable/kdepim/${pkgver}/${pkgname}-${pkgver}.tar.bz2"
-        'disable-l10n.patch')
-sha1sums=('fd1cf58d5b62c647a7920dfc1d79126843750b1e'
-          '991d81435205185dcb2285a6e728f7756ae92b0d')
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
+sha1sums=('18cb10ea5a7373c4eea859b0d0518b6a9c0e6a4e')
 
 build() {
-	cd "${srcdir}"/${pkgname}-${pkgver}
-    patch -Np0 -i "${srcdir}"/disable-l10n.patch
-
     cd "${srcdir}"
 	mkdir build
 	cd build
diff --git a/kde-unstable/kdepim/PKGBUILD b/kde-unstable/kdepim/PKGBUILD
index 53c4696c0..1b0491433 100644
--- a/kde-unstable/kdepim/PKGBUILD
+++ b/kde-unstable/kdepim/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 123823 2011-05-13 18:23:10Z andrea $
+# $Id: PKGBUILD 124768 2011-05-24 09:38:48Z andrea $
 # Maintainer: Andrea Scarpino 
 # Contributor: Pierre Schmitz 
 
@@ -20,25 +20,24 @@ pkgname=('kdepim-akonadiconsole'
          'kdepim-ktimetracker'
          'kdepim-libkdepim'
          'kdepim-wizards')
-pkgver=4.5.96
+pkgver=4.6.80
 pkgrel=1
 arch=('i686' 'x86_64')
 url='http://pim.kde.org'
 license=('GPL' 'LGPL' 'FDL')
 groups=('kde' 'kdepim')
 makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss'
-	'pilot-link' 'kde-agent' 'docbook-xsl')
-#source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-source=("http://download.kde.org/unstable/${pkgbase}/${pkgver}/${pkgbase}-${pkgver}.tar.bz2"
-        'disable-l10n.patch')
-sha1sums=('f425f143fe3381be2bb018bab92d89fd112595f0'
-          '25e36f160ced051268e59fad6ed2de33a9c7657a')
+             'pilot-link' 'kde-agent')
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
+        'fix-console-build.patch')
+sha1sums=('dc32fee3332df3bdb4395f3a229d88de34ae4de1'
+          'e4b82bcee6c46aad39196a5bb2732fed72ff4541')
 
 build() {
-    cd "${srcdir}"/${pkgbase}-${pkgver}
-    patch -Np0 -i "${srcdir}"/disable-l10n.patch
+	cd "${srcdir}"/${pkgbase}-${pkgver}
+    patch -p1 -i "${srcdir}"/fix-console-build.patch
 
-	cd "${srcdir}"
+    cd "${srcdir}"
 	mkdir build
 	cd build
 	cmake ../${pkgbase}-${pkgver} \
diff --git a/kde-unstable/kdepim/fix-console-build.patch b/kde-unstable/kdepim/fix-console-build.patch
new file mode 100644
index 000000000..552b8c0c1
--- /dev/null
+++ b/kde-unstable/kdepim/fix-console-build.patch
@@ -0,0 +1,11 @@
+--- a/console/kabcclient/src/main.cpp
++++ b/console/kabcclient/src/main.cpp
+@@ -117,7 +117,7 @@ int main(int argc, char** argv)
+ 
+     cmdLineOptions.add("match-case", ki18n("Match key fields case sensitive. UID is always matched case sensitive"));
+ 
+-    cmdLineOptions.add(ki18n("+[input data]"), ki18n("Input to use instead of reading stdin"));
++    cmdLineOptions.add("+[input data]", ki18n("Input to use instead of reading stdin"));
+ 
+     KCmdLineArgs::addCmdLineOptions(cmdLineOptions);
+     KCmdLineArgs::init(argc, argv, &aboutData);
diff --git a/kde-unstable/kdepimlibs/PKGBUILD b/kde-unstable/kdepimlibs/PKGBUILD
new file mode 100644
index 000000000..2fff6052c
--- /dev/null
+++ b/kde-unstable/kdepimlibs/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 124655 2011-05-23 19:42:19Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgname=kdepimlibs
+pkgver=4.6.80
+pkgrel=1
+pkgdesc="KDE PIM Libraries"
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL')
+depends=('kdelibs' 'gpgme' 'akonadi' 'libical' )
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'cyrus-sasl' 'openldap')
+install='kdepimlibs.install'
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
+sha1sums=('e07ba03177775ee6db6669123b944dd7c3b362f1')
+
+build() {
+	cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../${pkgname}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr
+	make
+}
+
+package() {
+	cd $srcdir/build
+	make DESTDIR=$pkgdir install
+}
diff --git a/kde-unstable/kdepimlibs/kdepimlibs.install b/kde-unstable/kdepimlibs/kdepimlibs.install
new file mode 100644
index 000000000..99262607c
--- /dev/null
+++ b/kde-unstable/kdepimlibs/kdepimlibs.install
@@ -0,0 +1,11 @@
+post_install() {
+	update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
\ No newline at end of file
diff --git a/kde-unstable/kdeplasma-addons/PKGBUILD b/kde-unstable/kdeplasma-addons/PKGBUILD
new file mode 100644
index 000000000..567e16086
--- /dev/null
+++ b/kde-unstable/kdeplasma-addons/PKGBUILD
@@ -0,0 +1,603 @@
+# $Id: PKGBUILD 124813 2011-05-24 15:14:21Z andrea $
+# Maintainer: Andrea Scarpino 
+# Contributor: Pierre Schmitz 
+
+pkgbase=kdeplasma-addons
+pkgname=('kdeplasma-addons-applets-bball'
+         'kdeplasma-addons-applets-binary-clock'
+         'kdeplasma-addons-applets-blackboard'
+         'kdeplasma-addons-applets-bookmarks'
+         'kdeplasma-addons-applets-bubblemon'
+         'kdeplasma-addons-applets-calculator'
+         'kdeplasma-addons-applets-charselect'
+         'kdeplasma-addons-applets-comic'
+         'kdeplasma-addons-applets-community'
+         'kdeplasma-addons-applets-dict'
+         'kdeplasma-addons-applets-eyes'
+         'kdeplasma-addons-applets-fifteenpuzzle'
+         'kdeplasma-addons-applets-filewatcher'
+         'kdeplasma-addons-applets-frame'
+         'kdeplasma-addons-applets-fuzzy-clock'
+         'kdeplasma-addons-applets-incomingmsg'
+         'kdeplasma-addons-applets-kdeobservatory'
+         'kdeplasma-addons-applets-kimpanel'
+         'kdeplasma-addons-applets-knowledgebase'
+         'kdeplasma-addons-applets-kolourpicker'
+         'kdeplasma-addons-applets-konqprofiles'
+         'kdeplasma-addons-applets-konsoleprofiles'
+         'kdeplasma-addons-applets-lancelot'
+         'kdeplasma-addons-applets-leavenote'
+         'kdeplasma-addons-applets-life'
+         'kdeplasma-addons-applets-luna'
+         'kdeplasma-addons-applets-magnifique'
+         'kdeplasma-addons-applets-mediaplayer'
+         'kdeplasma-addons-applets-microblog'
+         'kdeplasma-addons-applets-news'
+         'kdeplasma-addons-applets-notes'
+         'kdeplasma-addons-applets-nowplaying'
+         'kdeplasma-addons-applets-paste'
+         'kdeplasma-addons-applets-pastebin'
+         'kdeplasma-addons-applets-plasmaboard'
+         'kdeplasma-addons-applets-previewer'
+         'kdeplasma-addons-applets-qalculate'
+         'kdeplasma-addons-applets-rememberthemilk'
+         'kdeplasma-addons-applets-rssnow'
+         'kdeplasma-addons-applets-showdashboard'
+         'kdeplasma-addons-applets-showdesktop'
+         'kdeplasma-addons-applets-social-news'
+         'kdeplasma-addons-applets-spellcheck'
+         'kdeplasma-addons-applets-systemloadviewer'
+         'kdeplasma-addons-applets-timer'
+         'kdeplasma-addons-applets-unitconverter'
+         'kdeplasma-addons-applets-weather'
+         'kdeplasma-addons-applets-weatherstation'
+         'kdeplasma-addons-applets-webslice'
+         'kdeplasma-addons-containments'
+         'kdeplasma-addons-libs'
+         'kdeplasma-addons-runners-audioplayercontrol'
+         'kdeplasma-addons-runners-browserhistory'
+         'kdeplasma-addons-runners-characters'
+         'kdeplasma-addons-runners-contacts'
+         'kdeplasma-addons-runners-converter'
+         'kdeplasma-addons-runners-datetime'
+         'kdeplasma-addons-runners-events'
+         'kdeplasma-addons-runners-katesessions'
+         'kdeplasma-addons-runners-konquerorsessions'
+         'kdeplasma-addons-runners-konsolesessions'
+         'kdeplasma-addons-runners-kopete'
+         'kdeplasma-addons-runners-mediawiki'
+         'kdeplasma-addons-runners-spellchecker'
+         'kdeplasma-addons-wallpapers-mandelbrot'
+         'kdeplasma-addons-wallpapers-marble'
+         'kdeplasma-addons-wallpapers-pattern'
+         'kdeplasma-addons-wallpapers-virus'
+         'kdeplasma-addons-wallpapers-weather')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL')
+groups=('kde' 'kdeplasma-addons')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-workspace' 'kdeedu-marble'
+             'eigen' 'scim' 'qwt' 'boost' 'libkexiv2')
+source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
+sha1sums=('09b97248aa576991f9f5e9ddaa3392618e2337e7')
+
+build() {
+    cd ${srcdir}
+	mkdir build
+	cd build
+	cmake ../${pkgbase}-${pkgver} \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr
+	make
+}
+
+package_kdeplasma-addons-applets-bball() {
+	pkgdesc='A bouncy ball for plasma'
+	depends=('kdebase-workspace')
+	install='kdeplasma-addons-applets.install'
+	cd $srcdir/build/applets/bball
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-binary-clock() {
+	pkgdesc='Time displayed in binary format'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/binary-clock
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-blackboard() {
+	pkgdesc='Black Board'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/blackboard
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-bookmarks() {
+	pkgdesc='Quick Access to the Bookmarks'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/bookmarks
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-bubblemon() {
+	pkgdesc='A pretty bubble that monitors your system.'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/bubblemon
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-calculator() {
+	pkgdesc='Calculate simple sums'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/calculator
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-charselect() {
+	pkgdesc='View, select, and copy characters from a font collection'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/charselect
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-comic() {
+	pkgdesc='View comic strips from the Internet'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	cd $srcdir/build/applets/comic
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-community() {
+	pkgdesc='Communicate using the Social Desktop'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/community
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-dict() {
+	pkgdesc='Look up the meaning of words and their translation into different languages'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/dict
+	make DESTDIR=$pkgdir install
+	# FIXME
+	# /usr/share/icons/oxygen/scalable/apps/accessories-dictionary.svgz
+	rm -rf $pkgdir/usr/share/icons
+}
+
+package_kdeplasma-addons-applets-eyes() {
+	pkgdesc='XEyes clone'
+	depends=('kdebase-workspace')
+	install='kdeplasma-addons-applets.install'
+	cd $srcdir/build/applets/eyes
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-fifteenpuzzle() {
+	pkgdesc='Put the pieces in order'
+	depends=('kdebase-workspace')
+	install='kdeplasma-addons-applets.install'
+	cd $srcdir/build/applets/fifteenPuzzle
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-filewatcher() {
+	pkgdesc='Watch for changes in specified files'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/fileWatcher
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-frame() {
+	pkgdesc='Display your favorite pictures'
+	depends=('kdebase-workspace' 'libkexiv2')
+	cd $srcdir/build/applets/frame
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-fuzzy-clock() {
+	pkgdesc='Time displayed in a less precise format'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/fuzzy-clock
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-incomingmsg() {
+	pkgdesc='Notification of new messages'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/incomingmsg
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-kdeobservatory() {
+	pkgdesc='Visualize the KDE ecosystem'
+	depends=('kdebase-workspace' 'qwt')
+	install='kdeplasma-addons-applets.install'
+	cd $srcdir/build/applets/kdeobservatory
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-kimpanel() {
+	pkgdesc='A generic input method panel for Oriental languages'
+	depends=('kdebase-workspace')
+	optdepends=('scim: SCIM backend'
+		'fcitx: FCITX backend')
+	cd $srcdir/build/applets/kimpanel
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-knowledgebase() {
+	pkgdesc='Opendesktop Knowledgebase'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/knowledgebase
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-kolourpicker() {
+	pkgdesc='Pick a color from the desktop'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/kolourpicker
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-konqprofiles() {
+	pkgdesc='List and launch Konqueror profiles'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/konqprofiles
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-konsoleprofiles() {
+	pkgdesc='List and launch Konsole profiles'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/konsoleprofiles
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-lancelot() {
+	pkgdesc='Launcher to start applications'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	replaces=('lancelot')
+	provides=('lancelot')
+	conflicts=('lancelot')
+	install='kdeplasma-addons-applets-lancelot.install'
+	cd $srcdir/build/applets/lancelot
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-leavenote() {
+	pkgdesc='Leave notes for users while they are away'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/leavenote
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-life() {
+	pkgdesc='Life'
+	depends=('kdebase-workspace')
+	install='kdeplasma-addons-applets.install'
+	cd $srcdir/build/applets/life
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-luna() {
+	pkgdesc='Display moon phases for your location'
+	depends=('kdebase-workspace')
+	install='kdeplasma-addons-applets.install'
+	cd $srcdir/build/applets/luna
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-magnifique() {
+	pkgdesc='A magnification glass for the Plasma desktop'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/magnifique
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-mediaplayer() {
+	pkgdesc='Widget that can play video and sound'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/mediaplayer
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-microblog() {
+	pkgdesc='Update and view your microblog status.'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	cd $srcdir/build/applets/microblog
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-news() {
+	pkgdesc='Show news from various sources'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/news
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-notes() {
+	pkgdesc='Desktop sticky notes'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/notes
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-nowplaying() {
+	pkgdesc='Displays currently playing audio'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/nowplaying
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-paste() {
+	pkgdesc='Paste text snippets'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/paste
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-pastebin() {
+	pkgdesc='Paste text/images to a remote server'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/pastebin
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-plasmaboard() {
+	pkgdesc='A virtual, on-screen keyboard'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/plasmaboard
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-previewer() {
+	pkgdesc='Preview This File'
+	depends=('kdebase-workspace')
+	install='kdeplasma-addons-applets.install'
+	cd $srcdir/build/applets/previewer
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-qalculate() {
+	pkgdesc='A powerful mathematical equation solver'
+	depends=('kdebase-workspace')
+	install='kdeplasma-addons-applets.install'
+	cd $srcdir/build/applets/qalculate
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-rememberthemilk() {
+	pkgdesc='Remember The Milk Todo list applet'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	cd $srcdir/build/applets/rememberthemilk
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-rssnow() {
+	pkgdesc='Show news from various sources'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/rssnow
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-showdashboard() {
+	pkgdesc='Show the Plasma widget dashboard above other windows'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/showdashboard
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-showdesktop() {
+	pkgdesc='Show the Plasma desktop'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/showdesktop
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-social-news() {
+	pkgdesc='Stay informed with the Social Desktop'
+	replaces=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities')
+	conflicts=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities')
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/social-news
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-spellcheck() {
+	pkgdesc='Fast spell checking'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/spellcheck
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-systemloadviewer() {
+	pkgdesc='Tiny CPU/RAM/Swap monitor'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/systemloadviewer
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-timer() {
+	pkgdesc='Countdown over a specified time period'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/applets/timer
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-unitconverter() {
+	pkgdesc='Plasmoid for converting units'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	cd $srcdir/build/applets/unitconverter
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-weather() {
+	pkgdesc='Displays Weather information'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	cd $srcdir/build/applets/weather
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-weatherstation() {
+	pkgdesc='Weather reports with an LCD display style'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	cd $srcdir/build/applets/weatherstation
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-webslice() {
+	pkgdesc='Show a part of a webpage'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	cd $srcdir/build/applets/webslice
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-containments() {
+	pkgdesc='Activities types for Plasma shells'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/containments
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-libs() {
+	pkgdesc='Plasma Addon Library'
+	depends=('kdebase-workspace')
+	groups=()
+	replaces=('kdeplasma-addons-dataengines')
+	provides=('kdeplasma-addons-dataengines')
+	conflicts=('kdeplasma-addons-dataengines')
+	cd $srcdir/build/libs
+	make DESTDIR=$pkgdir install
+	cd $srcdir/build/dataengines
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-audioplayercontrol() {
+	pkgdesc='Allows to control MPRIS audio players (it is able to search through Amarok´s collection, too)'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/audioplayercontrol
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-browserhistory() {
+	pkgdesc='Searches in Konqueror´s history'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/browserhistory
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-characters() {
+	pkgdesc='special Characters'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/characters
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-contacts() {
+	pkgdesc='Finds entries in your address book'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/contacts
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-converter() {
+	pkgdesc='Convert values to different units'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	cd $srcdir/build/runners/converter
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-datetime() {
+	pkgdesc='The current date and time, locally or in any timezone'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/datetime
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-events() {
+	pkgdesc='Calendar Events runner'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/events
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-katesessions() {
+	pkgdesc='Matches Kate Sessions'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/katesessions
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-konquerorsessions() {
+	pkgdesc='Matches Konqueror Sessions'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/konquerorsessions
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-konsolesessions() {
+	pkgdesc='Matches Konsole Sessions'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/konsolesessions
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-kopete() {
+	pkgdesc='Kopete Contact runner'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/kopete
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-mediawiki() {
+	pkgdesc='Search on Wikitravel'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/mediawiki
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-spellchecker() {
+	pkgdesc='Check the spelling of a word'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/runners/spellchecker
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-mandelbrot() {
+	pkgdesc='Mandelbrot'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/wallpapers/mandelbrot
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-marble() {
+	pkgdesc='Globe'
+	depends=('kdebase-workspace' 'kdeedu-marble')
+	cd $srcdir/build/wallpapers/marble
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-pattern() {
+	pkgdesc='Pattern'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/wallpapers/pattern
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-virus() {
+	pkgdesc='Virus'
+	depends=('kdebase-workspace')
+	cd $srcdir/build/wallpapers/virus
+	make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-weather() {
+	pkgdesc='Weather'
+	depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+	cd $srcdir/build/wallpapers/weather
+	make DESTDIR=$pkgdir install
+}
diff --git a/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install
new file mode 100644
index 000000000..ce5c32e1b
--- /dev/null
+++ b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install
@@ -0,0 +1,12 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+	update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
\ No newline at end of file
diff --git a/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install
new file mode 100644
index 000000000..c4ef46ba8
--- /dev/null
+++ b/kde-unstable/kdeplasma-addons/kdeplasma-addons-applets.install
@@ -0,0 +1,11 @@
+post_install() {
+	xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+	post_install
+}
+
+post_remove() {
+	post_install
+}
\ No newline at end of file
diff --git a/kde-unstable/kdesdk-kate/PKGBUILD b/kde-unstable/kdesdk-kate/PKGBUILD
new file mode 100644
index 000000000..c64df1df3
--- /dev/null
+++ b/kde-unstable/kdesdk-kate/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 124689 2011-05-23 21:22:48Z andrea $
+# Maintainer: Andrea Scarpino 
+
+pkgbase=kdesdk-kate
+pkgname=('kdebase-kwrite'
+         'kdesdk-kate')
+pkgver=4.6.80
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+makedepends=('kdelibs ''cmake' 'automoc4')
+source=("http://download.kde.org/unstable/${pkgver}/src/kate-${pkgver}.tar.bz2"
+        'pkgbuild-syntax-highlight.patch')
+sha1sums=('9c95690b9f967a0ed52afcf6c4d7ace3ef9284ff'
+          'ab0c5d2a796b0f283154799add161c99f48ffcd5')
+
+build() {
+  cd "${srcdir}"/kate-${pkgver}
+  patch -p1 -i "${srcdir}"/pkgbuild-syntax-highlight.patch
+
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../kate-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DBUILD_KTEXTEDITOR=OFF
+  make
+}
+
+package_kdebase-kwrite() {
+  pkgdesc="Text Editor"
+  depends=('kdebase-runtime')
+  groups=('kde' 'kdebase')
+  install='kdebase-kwrite.install'
+
+  cd "${srcdir}"/build/kwrite
+  make DESTDIR="${pkgdir}" install
+
+  cd "${srcdir}"/build/part
+  make DESTDIR="${pkgdir}" install
+
+  cd "${srcdir}"/build/doc/kwrite
+  make DESTDIR="${pkgdir}" install
+}
+
+package_kdesdk-kate() {
+  pkgdesc="Advanced Text Editor"
+  depends=('kdebase-kwrite')
+  groups=('kde' 'kdesdk')
+  install='kdesdk-kate.install'
+
+  cd "${srcdir}"/build/kate
+  make DESTDIR="${pkgdir}" install
+
+  cd "${srcdir}"/build/doc/kate
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/kde-unstable/kdesdk-kate/kdebase-kwrite.install b/kde-unstable/kdesdk-kate/kdebase-kwrite.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdesdk-kate/kdebase-kwrite.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/kde-unstable/kdesdk-kate/kdesdk-kate.install b/kde-unstable/kdesdk-kate/kdesdk-kate.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/kde-unstable/kdesdk-kate/kdesdk-kate.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/kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch b/kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch
new file mode 100644
index 000000000..3c43eca0f
--- /dev/null
+++ b/kde-unstable/kdesdk-kate/pkgbuild-syntax-highlight.patch
@@ -0,0 +1,11 @@
+--- kate-4.6.80/part/syntax/data/bash.xml~	2011-05-23 21:20:34.295137123 +0000
++++ kate-4.6.80/part/syntax/data/bash.xml	2011-05-23 21:20:54.581993368 +0000
+@@ -8,7 +8,7 @@
+                         
+              
+ ]>
+-
++
+ 
+