summaryrefslogtreecommitdiff
path: root/staging
diff options
context:
space:
mode:
Diffstat (limited to 'staging')
-rw-r--r--staging/abiword/PKGBUILD80
-rw-r--r--staging/abiword/abiword-2.8.6-libpng15.patch100
-rw-r--r--staging/abiword/abiword-2.8.6-no-undefined.patch21
-rw-r--r--staging/abiword/abiword.install11
-rw-r--r--staging/abiword/compat_libwpg_0_9.patch371
-rw-r--r--staging/amule/PKGBUILD44
-rw-r--r--staging/autopano-sift-c/PKGBUILD31
-rw-r--r--staging/celestia/PKGBUILD50
-rw-r--r--staging/celestia/celestia-1.5.1-gcc44.patch20
-rw-r--r--staging/celestia/celestia-1.6.1-gcc46.patch13
-rw-r--r--staging/celestia/celestia-1.6.1-gentoo.patch23
-rw-r--r--staging/celestia/celestia-1.6.1-libpng15.patch14
-rw-r--r--staging/celestia/celestia-1.6.1-linking.patch54
-rw-r--r--staging/dvdauthor/PKGBUILD35
-rw-r--r--staging/dvdauthor/dvdauthor-0.7.0-libpng15.patch19
-rw-r--r--staging/enblend-enfuse/PKGBUILD39
-rw-r--r--staging/enblend-enfuse/enblend-4.0-libpng15.patch220
-rw-r--r--staging/enblend-enfuse/enblend-enfuse.install22
-rw-r--r--staging/enblend-enfuse/libpng-1.4.patch14
-rw-r--r--staging/fltk/PKGBUILD62
-rw-r--r--staging/fltk/fltk-games.install11
-rw-r--r--staging/fltk/fltk.install12
-rw-r--r--staging/fvwm/PKGBUILD33
-rw-r--r--staging/fvwm/fvwm.desktop7
-rw-r--r--staging/gif2png/PKGBUILD36
-rw-r--r--staging/gif2png/gif2png-2.5.4-libpng15.patch43
-rw-r--r--staging/glhack/PKGBUILD54
-rw-r--r--staging/glhack/glhack-libpng15.patch11
-rw-r--r--staging/glhack/glhack.install24
-rw-r--r--staging/graphicsmagick/PKGBUILD55
-rw-r--r--staging/graphviz/LICENSE87
-rw-r--r--staging/graphviz/PKGBUILD51
-rw-r--r--staging/graphviz/install12
-rw-r--r--staging/gtkglext/PKGBUILD35
-rw-r--r--staging/gtkglext/gtk2.20.patch77
-rw-r--r--staging/hugin/PKGBUILD34
-rw-r--r--staging/hugin/hugin.install15
-rw-r--r--staging/imagemagick/PKGBUILD84
-rw-r--r--staging/imagemagick/perlmagick.rpath.patch10
-rw-r--r--staging/kdelibs3/PKGBUILD94
-rw-r--r--staging/kdelibs3/acinclude.patch66
-rw-r--r--staging/kdelibs3/kconf_updaterc2
-rwxr-xr-xstaging/kdelibs3/kde3.profile6
-rw-r--r--staging/kdelibs3/kde4-compatibility.patch1012
-rw-r--r--staging/kdelibs3/kdelibs3-missing-include.patch10
-rw-r--r--staging/kdelibs3/kdelibs3.install12
-rw-r--r--staging/kdelibs3/openssl.patch180
-rw-r--r--staging/lbreakout2/PKGBUILD44
-rw-r--r--staging/lbreakout2/lbreakout2.desktop10
-rw-r--r--staging/lbreakout2/lbreakout2.pngbin0 -> 1930 bytes
-rw-r--r--staging/lcms/PKGBUILD28
-rw-r--r--staging/libpano13/PKGBUILD27
-rw-r--r--staging/qt3/PKGBUILD133
-rw-r--r--staging/qt3/eastern_asian_languagues.diff39
-rw-r--r--staging/qt3/gcc-4.6.patch33
-rw-r--r--staging/qt3/mysql.patch47
-rw-r--r--staging/qt3/qt-copy-kde-patches.tar.bz2bin0 -> 31498 bytes
-rw-r--r--staging/qt3/qt-font-default-subst.diff77
-rw-r--r--staging/qt3/qt-odbc.patch19
-rw-r--r--staging/qt3/qt-patches.tar.bz2bin0 -> 3708 bytes
-rw-r--r--staging/qt3/qt.install12
-rw-r--r--staging/qt3/qt.profile4
-rw-r--r--staging/qt3/qt3-png15.patch212
-rw-r--r--staging/qt3/utf8-bug-qt3.diff101
-rw-r--r--staging/scim-anthy/PKGBUILD27
-rw-r--r--staging/scim-chewing/PKGBUILD28
-rw-r--r--staging/tumbler/PKGBUILD15
-rw-r--r--staging/vice/PKGBUILD35
-rw-r--r--staging/vice/vice-2.3-x11video.patch11
-rw-r--r--staging/wv/PKGBUILD29
-rw-r--r--staging/wv/fix-soname.patch14
-rw-r--r--staging/xine-ui/PKGBUILD44
-rw-r--r--staging/xine-ui/fix_lirc.diff13
-rw-r--r--staging/xine-ui/lirc-check-a89347673097.patch64
-rw-r--r--staging/xine-ui/lirc-makefile-a68dd15ff7ae.patch19
-rw-r--r--staging/xine-ui/xine-ui-0.99.6-libpng15.patch13
-rw-r--r--staging/xine-ui/xine-ui-xdg.diff206
-rw-r--r--staging/xine-ui/xine-ui.install13
-rw-r--r--staging/zvbi/PKGBUILD38
-rw-r--r--staging/zvbi/fix-includes.patch36
-rw-r--r--staging/zvbi/zvbi-0.2.33-libpng15.patch21
81 files changed, 4723 insertions, 5 deletions
diff --git a/staging/abiword/PKGBUILD b/staging/abiword/PKGBUILD
new file mode 100644
index 000000000..68ff94733
--- /dev/null
+++ b/staging/abiword/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 146946 2012-01-19 14:59:03Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Maël Lavault <moimael@neuf.fr>
+
+pkgbase=abiword
+pkgname=('abiword' 'abiword-plugins')
+pkgver=2.8.6
+pkgrel=7
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.abisource.com"
+makedepends=('pkgconfig' 'asio' 'boost' 'fribidi' 'goffice' 'libwmf' 'wv' 'link-grammar' 'gtkmathview'
+ 'aiksaurus' 'libxslt' 'enchant' 'libots' 'libwpg' 'librsvg' 'loudmouth' 'libsoup')
+options=('!makeflags' '!libtool')
+source=("http://www.abisource.com/downloads/${pkgbase}/${pkgver}/source/${pkgbase}-${pkgver}.tar.gz"
+ 'compat_libwpg_0_9.patch'
+ 'abiword-2.8.6-no-undefined.patch'
+ 'abiword-2.8.6-libpng15.patch')
+md5sums=('f883b0a7f26229a9c66fd6a1a94381aa'
+ '09446a2ebba8288fc611e88f7cf17298'
+ '42e2614b6e0aad457d91f6ce20b6f225'
+ '40e370e7e88c5437140ef18037abfbd3')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/compat_libwpg_0_9.patch"
+ # fix a gcc 4.6.x build issue, patch from Fedora
+ patch -Np1 -i "${srcdir}/abiword-2.8.6-no-undefined.patch"
+ patch -Np0 -i "${srcdir}/abiword-2.8.6-libpng15.patch"
+
+ libtoolize --force
+ autoreconf
+
+ ./configure --prefix=/usr \
+ --enable-clipart \
+ --enable-templates \
+ --enable-collab-backend-xmpp \
+ --enable-collab-backend-tcp \
+ --enable-collab-backend-service \
+ --disable-collab-backend-sugar \
+ --enable-plugins --without-gnomevfs \
+ --with-gio \
+ --with-goffice \
+ --disable-static \
+ --with-psiconv-config=/nothere
+ make
+}
+
+package_abiword() {
+ pkgdesc="A fully-featured word processor"
+ depends=('fribidi' 'wv' 'goffice' 'librsvg' 'enchant' 'desktop-file-utils')
+ install=$pkgname.install
+ optdepends=('abiword-plugins')
+ conflicts=("abiword-plugins<${pkgver}-${pkgrel}")
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ sed -i plugins/Makefile \
+ -e 's/ collab / /' \
+ -e 's/ wpg / /' \
+ -e 's/ wmf / /' \
+ -e 's/ grammar / /' \
+ -e 's/ mathview / /' \
+ -e 's/ aiksaurus / /' \
+ -e 's/ latex / /' \
+ -e 's/ ots / /' \
+ -e 's/ wordperfect / /'
+ make DESTDIR="${pkgdir}" install
+}
+
+package_abiword-plugins() {
+ pkgdesc="Additional plugins for Abiword"
+ depends=("abiword=${pkgver}-${pkgrel}" 'loudmouth' 'libwpg' 'libwmf' 'link-grammar'
+ 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/plugins"
+ for dir in collab wpg wmf grammar mathview aiksaurus latex ots wordperfect; do
+ make -C ${dir} DESTDIR="${pkgdir}" install
+ done
+}
diff --git a/staging/abiword/abiword-2.8.6-libpng15.patch b/staging/abiword/abiword-2.8.6-libpng15.patch
new file mode 100644
index 000000000..7eded4c83
--- /dev/null
+++ b/staging/abiword/abiword-2.8.6-libpng15.patch
@@ -0,0 +1,100 @@
+$NetBSD: patch-plugins_bmp_xp_ie__impGraphic__BMP.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $
+
+Fix build with png-1.5.
+
+--- plugins/bmp/xp/ie_impGraphic_BMP.cpp.orig 2009-06-25 04:02:06.000000000 +0000
++++ plugins/bmp/xp/ie_impGraphic_BMP.cpp
+@@ -191,7 +191,10 @@ UT_Error IE_ImpGraphic_BMP::_convertGrap
+
+ /* Clean Up Memory Used */
+
+- FREEP(m_pPNGInfo->palette);
++ png_colorp palette;
++ int num_palette;
++ png_get_PLTE( m_pPNG, m_pPNGInfo, &palette, &num_palette );
++ FREEP(palette);
+ DELETEP(pBB);
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+
+@@ -313,7 +316,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in the png_create_read_struct() earlier.
+ */
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+@@ -332,7 +335,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P
+ UT_Error IE_ImpGraphic_BMP::Convert_BMP_Pallet(UT_ByteBuf* pBB)
+ {
+ /* Reset error handling for libpng */
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+ return UT_ERROR;
+@@ -372,7 +375,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P
+ UT_Error IE_ImpGraphic_BMP::Convert_BMP(UT_ByteBuf* pBB)
+ {
+ /* Reset error handling for libpng */
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+ return UT_ERROR;
+
+$NetBSD: patch-plugins_garble_xp_abiword-garble-png.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $
+
+Fix build with png-1.5.
+
+--- plugins/garble/xp/abiword-garble-png.cpp.orig 2009-09-05 15:34:44.000000000 +0000
++++ plugins/garble/xp/abiword-garble-png.cpp
+@@ -79,7 +79,7 @@ bool abiword_document::garble_png( void*
+ png_set_strip_alpha( png_ptr );
+ png_set_interlace_handling( png_ptr );
+ png_set_bgr( png_ptr );
+- rowbytes = info_ptr->rowbytes;
++ rowbytes = png_get_rowbytes( png_ptr, info_ptr );
+ png_destroy_read_struct( &png_ptr, &info_ptr, NULL );
+ }
+
+$NetBSD: patch-af,v 1.12 2011/01/15 15:07:11 wiz Exp $
+
+Fix build with png-1.5.
+
+--- src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp.orig 2009-07-01 04:02:04.000000000 +0000
++++ src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp
+@@ -185,7 +185,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::import
+ /** needed for the stejmp context */
+ UT_Error IE_ImpGraphic_GdkPixbuf::_png_write(GdkPixbuf * pixbuf)
+ {
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ DELETEP(m_pPngBB);
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+@@ -446,7 +446,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::Initia
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in the png_create_read_struct() earlier.
+ */
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+$NetBSD: patch-ae,v 1.21 2011/01/15 15:07:11 wiz Exp $
+
+Fix build with png-1.5.
+
+--- src/af/util/xp/ut_png.cpp.orig 2008-02-24 03:33:07.000000000 +0000
++++ src/af/util/xp/ut_png.cpp
+@@ -71,7 +71,7 @@ bool UT_PNG_getDimensions(const UT_ByteB
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in the png_create_read_struct() earlier.
+ */
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+ png_destroy_read_struct(&png_ptr, &info_ptr, static_cast<png_infopp>(NULL));
diff --git a/staging/abiword/abiword-2.8.6-no-undefined.patch b/staging/abiword/abiword-2.8.6-no-undefined.patch
new file mode 100644
index 000000000..c07000edb
--- /dev/null
+++ b/staging/abiword/abiword-2.8.6-no-undefined.patch
@@ -0,0 +1,21 @@
+diff -u -r abiword-2.8.6.orig/src/Makefile.am abiword-2.8.6/src/Makefile.am
+--- abiword-2.8.6.orig/src/Makefile.am 2009-09-09 15:11:01.000000000 +0200
++++ abiword-2.8.6/src/Makefile.am 2011-08-02 23:35:51.904761961 +0200
+@@ -107,7 +107,7 @@
+
+ AbiWord_LDFLAGS = \
+ $(DEPS_LIBS) \
+- --no-undefined \
++ -Wl,--no-undefined \
+ -avoid-version \
+ -export-dynamic \
+ -headerpad_max_install_names
+@@ -129,7 +129,7 @@
+
+ abiword_LDFLAGS = \
+ $(platform_ldflags) \
+- --no-undefined \
++ -Wl,--no-undefined \
+ -avoid-version \
+ -export-dynamic
+
diff --git a/staging/abiword/abiword.install b/staging/abiword/abiword.install
new file mode 100644
index 000000000..2eaa60550
--- /dev/null
+++ b/staging/abiword/abiword.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/staging/abiword/compat_libwpg_0_9.patch b/staging/abiword/compat_libwpg_0_9.patch
new file mode 100644
index 000000000..cf36e188e
--- /dev/null
+++ b/staging/abiword/compat_libwpg_0_9.patch
@@ -0,0 +1,371 @@
+diff -Nur abiword-2.8.6.orig//plugin-configure.m4 abiword-2.8.6/plugin-configure.m4
+--- abiword-2.8.6.orig//plugin-configure.m4 2010-06-13 14:17:27.000000000 -0700
++++ abiword-2.8.6/plugin-configure.m4 2010-12-06 13:59:43.083048588 -0800
+@@ -794,7 +794,7 @@
+ AC_SUBST([OPENXML_LIBS])
+
+
+-wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0"
++wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0"
+ wpg_deps="no"
+
+ if test "$enable_wpg" != ""; then
+@@ -1497,8 +1497,8 @@
+ AC_SUBST([EML_LIBS])
+
+
+-wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req"
+-wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0'
++wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req"
++wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0'
+ wordperfect_deps="no"
+
+ WORDPERFECT_CFLAGS=
+diff -Nur abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 abiword-2.8.6/plugins/wordperfect/plugin.m4
+--- abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 2010-05-30 07:50:46.000000000 -0700
++++ abiword-2.8.6/plugins/wordperfect/plugin.m4 2010-12-06 13:59:53.929715254 -0800
+@@ -1,6 +1,6 @@
+
+-wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req"
+-wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0'
++wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req"
++wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0'
+ wordperfect_deps="no"
+
+ WORDPERFECT_CFLAGS=
+diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp
+--- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-02-06 13:06:11.000000000 -0800
++++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-12-06 13:59:53.926381921 -0800
+@@ -60,7 +60,7 @@
+
+ // Stream class
+
+-#include <libwpd/WPXStream.h>
++#include <libwpd-stream/libwpd-stream.h>
+
+ #include <gsf/gsf-input.h>
+ #include <gsf/gsf-infile.h>
+@@ -70,12 +70,7 @@
+ #include <libwps/libwps.h>
+ #endif
+
+-class AbiWordperfectInputStream :
+-#ifdef HAVE_LIBWPS
+- public WPSInputStream
+-#else
+- public WPXInputStream
+-#endif
++class AbiWordperfectInputStream : public WPXInputStream
+ {
+ public:
+ AbiWordperfectInputStream(GsfInput *input);
+@@ -86,7 +81,7 @@
+
+ virtual WPXInputStream * getDocumentOLEStream(const char * name);
+
+- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead);
++ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
+ virtual int seek(long offset, WPX_SEEK_TYPE seekType);
+ virtual long tell();
+ virtual bool atEOS();
+@@ -98,11 +93,7 @@
+ };
+
+ AbiWordperfectInputStream::AbiWordperfectInputStream(GsfInput *input) :
+-#ifdef HAVE_LIBWPS
+- WPSInputStream(),
+-#else
+- WPXInputStream(true),
+-#endif
++ WPXInputStream(),
+ m_input(input),
+ m_ole(NULL)
+ {
+@@ -117,9 +108,9 @@
+ g_object_unref(G_OBJECT(m_input));
+ }
+
+-const uint8_t * AbiWordperfectInputStream::read(size_t numBytes, size_t &numBytesRead)
++const unsigned char * AbiWordperfectInputStream::read(unsigned long numBytes, unsigned long &numBytesRead)
+ {
+- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL);
++ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL);
+
+ if (buf == NULL)
+ numBytesRead = 0;
+@@ -256,19 +247,12 @@
+ {
+ AbiWordperfectInputStream gsfInput(input);
+
+- WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput, true);
++ WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput);
+
+ switch (confidence)
+ {
+ case WPD_CONFIDENCE_NONE:
+- // libwpd > 0.7.1 reports POOR if the text file is plain text (that _could_ be a WP4x document)
+- // however, we'll let the text importer handle such cases
+- case WPD_CONFIDENCE_POOR:
+ return UT_CONFIDENCE_ZILCH;
+- case WPD_CONFIDENCE_LIKELY:
+- return UT_CONFIDENCE_SOSO;
+- case WPD_CONFIDENCE_GOOD:
+- return UT_CONFIDENCE_GOOD;
+ case WPD_CONFIDENCE_EXCELLENT:
+ return UT_CONFIDENCE_PERFECT;
+ default:
+@@ -328,7 +312,7 @@
+ UT_Error IE_Imp_WordPerfect::_loadFile(GsfInput * input)
+ {
+ AbiWordperfectInputStream gsfInput(input);
+- WPDResult error = WPDocument::parse(&gsfInput, static_cast<WPXHLListenerImpl *>(this));
++ WPDResult error = WPDocument::parse(&gsfInput, static_cast<WPXDocumentInterface *>(this), NULL);
+
+ if (error != WPD_OK)
+ {
+@@ -381,9 +365,9 @@
+ float marginLeft = 1.0f, marginRight = 1.0f;
+
+ if (propList["fo:margin-left"])
+- marginLeft = propList["fo:margin-left"]->getFloat();
++ marginLeft = propList["fo:margin-left"]->getDouble();
+ if (propList["fo:margin-right"])
+- marginRight = propList["fo:margin-right"]->getFloat();
++ marginRight = propList["fo:margin-right"]->getDouble();
+
+ if (marginLeft != m_leftPageMargin || marginRight != m_rightPageMargin /* || */
+ /* marginTop != m_marginBottom || marginBottom != m_marginBottom */ )
+@@ -456,15 +440,15 @@
+ float marginTop = 0.0f, marginBottom = 0.0f;
+ float marginLeft = 0.0f, marginRight = 0.0f, textIndent = 0.0f;
+ if (propList["fo:margin-top"])
+- marginTop = propList["fo:margin-top"]->getFloat();
++ marginTop = propList["fo:margin-top"]->getDouble();
+ if (propList["fo:margin-bottom"])
+- marginBottom = propList["fo:margin-bottom"]->getFloat();
++ marginBottom = propList["fo:margin-bottom"]->getDouble();
+ if (propList["fo:margin-left"])
+- marginLeft = propList["fo:margin-left"]->getFloat();
++ marginLeft = propList["fo:margin-left"]->getDouble();
+ if (propList["fo:margin-right"])
+- marginRight = propList["fo:margin-right"]->getFloat();
++ marginRight = propList["fo:margin-right"]->getDouble();
+ if (propList["fo:text-indent"])
+- textIndent = propList["fo:text-indent"]->getFloat();
++ textIndent = propList["fo:text-indent"]->getDouble();
+
+ m_topMargin = marginTop;
+ m_bottomMargin = marginBottom;
+@@ -487,7 +471,7 @@
+
+ float lineSpacing = 1.0f;
+ if (propList["fo:line-height"])
+- lineSpacing = propList["fo:line-height"]->getFloat();
++ lineSpacing = propList["fo:line-height"]->getDouble();
+
+ UT_String tmpBuffer;
+ UT_String_sprintf(tmpBuffer, "; margin-top:%.4fin; margin-bottom:%.4fin; margin-left:%.4fin; margin-right:%.4fin; text-indent:%.4fin; line-height:%.4f",
+@@ -504,7 +488,7 @@
+ propBuffer += tmpBuffer;
+ if (i()["style:position"])
+ {
+- UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getFloat());
++ UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getDouble());
+ propBuffer += tmpBuffer;
+ }
+
+@@ -640,9 +624,9 @@
+
+ // TODO: support spaceAfter
+ if (propList["fo:margin-left"])
+- marginLeft = propList["fo:margin-left"]->getFloat();
++ marginLeft = propList["fo:margin-left"]->getDouble();
+ if (propList["fo:margin-right"])
+- marginRight = propList["fo:margin-right"]->getFloat();
++ marginRight = propList["fo:margin-right"]->getDouble();
+
+ if (marginLeft != m_leftSectionMargin || marginRight != m_rightSectionMargin || m_sectionColumnsCount != columnsCount)
+ m_bSectionChanged = true;
+@@ -709,9 +693,9 @@
+ if (propList["style:num-format"])
+ listType = propList["style:num-format"]->getStr().cstr()[0];
+ if (propList["text:space-before"])
+- listLeftOffset = propList["text:space-before"]->getFloat();
++ listLeftOffset = propList["text:space-before"]->getDouble();
+ if (propList["text:min-label-width"])
+- listMinLabelWidth = propList["text:min-label-width"]->getFloat();
++ listMinLabelWidth = propList["text:min-label-width"]->getDouble();
+
+ if (!m_pCurrentListDefinition ||
+ m_pCurrentListDefinition->getOutlineHash() != listID ||
+@@ -749,9 +733,9 @@
+ if (propList["libwpd:level"])
+ level = propList["libwpd:level"]->getInt();
+ if (propList["text:space-before"])
+- listLeftOffset = propList["text:space-before"]->getFloat();
++ listLeftOffset = propList["text:space-before"]->getDouble();
+ if (propList["text:min-label-width"])
+- listMinLabelWidth = propList["text:min-label-width"]->getFloat();
++ listMinLabelWidth = propList["text:min-label-width"]->getDouble();
+
+ if (!m_pCurrentListDefinition || m_pCurrentListDefinition->getOutlineHash() != listID)
+ {
+@@ -871,10 +855,10 @@
+
+ UT_String_sprintf(tempBuffer, "margin-left:%.4fin; ", m_pCurrentListDefinition->getListLeftOffset(m_iCurrentListLevel)
+ + m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel)
+- - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f));
++ - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f));
+ propBuffer += tempBuffer;
+ UT_String_sprintf(tempBuffer, "text-indent:%.4fin", - m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel)
+- + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f));
++ + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f));
+ propBuffer += tempBuffer;
+
+ listAttribs[attribsCount++] = PT_PROPS_ATTRIBUTE_NAME;
+@@ -1263,7 +1247,7 @@
+ virtual UT_Error _loadFile(GsfInput * input)
+ {
+ AbiWordperfectInputStream gsfInput(input);
+- WPSResult error = WPSDocument::parse(&gsfInput, static_cast<WPXHLListenerImpl *>(this));
++ WPSResult error = WPSDocument::parse(&gsfInput, static_cast<WPXDocumentInterface *>(this));
+
+ if (error != WPS_OK)
+ {
+@@ -1302,18 +1286,12 @@
+ {
+ AbiWordperfectInputStream gsfInput(input);
+
+- WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput, true);
++ WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput);
+
+ switch (confidence)
+ {
+ case WPS_CONFIDENCE_NONE:
+ return UT_CONFIDENCE_ZILCH;
+- case WPS_CONFIDENCE_POOR:
+- return UT_CONFIDENCE_POOR;
+- case WPS_CONFIDENCE_LIKELY:
+- return UT_CONFIDENCE_SOSO;
+- case WPS_CONFIDENCE_GOOD:
+- return UT_CONFIDENCE_GOOD;
+ case WPS_CONFIDENCE_EXCELLENT:
+ return UT_CONFIDENCE_PERFECT;
+ default:
+diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h
+--- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h 2009-06-19 01:55:49.000000000 -0700
++++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h 2010-12-06 13:59:53.929715254 -0800
+@@ -30,13 +30,7 @@
+ #define IE_IMP_WP_H
+
+ #include <stdio.h>
+-#ifdef _WIN32
+-#define POINT WPX_POINT
+-#endif
+ #include <libwpd/libwpd.h>
+-#ifdef _WIN32
+-#undef POINT
+-#endif
+ #include "ie_imp.h"
+ #include "ut_string.h"
+ #include "ut_string_class.h"
+@@ -98,7 +92,7 @@
+ IE_Imp ** ppie);
+ };
+
+-class IE_Imp_WordPerfect : public IE_Imp, public WPXHLListenerImpl
++class IE_Imp_WordPerfect : public IE_Imp, public WPXDocumentInterface
+ {
+ public:
+ IE_Imp_WordPerfect(PD_Document * pDocument);
+@@ -154,6 +148,21 @@
+ virtual void insertCoveredTableCell(const WPXPropertyList & /*propList*/) {}
+ virtual void closeTable();
+
++ virtual void definePageStyle(const WPXPropertyList&) {}
++ virtual void defineParagraphStyle(const WPXPropertyList&, const WPXPropertyListVector&) {}
++ virtual void defineCharacterStyle(const WPXPropertyList&) {}
++ virtual void defineSectionStyle(const WPXPropertyList&, const WPXPropertyListVector&) {}
++ virtual void insertSpace() {}
++ virtual void insertField(const WPXString&, const WPXPropertyList&) {}
++ virtual void openComment(const WPXPropertyList&) {}
++ virtual void closeComment() {}
++ virtual void openTextBox(const WPXPropertyList&) {}
++ virtual void closeTextBox() {}
++ virtual void openFrame(const WPXPropertyList&) {}
++ virtual void closeFrame() {}
++ virtual void insertBinaryObject(const WPXPropertyList&, const WPXBinaryData&) {}
++ virtual void insertEquation(const WPXPropertyList&, const WPXString&) {}
++
+
+ protected:
+ virtual UT_Error _loadFile(GsfInput * input);
+diff -Nur abiword-2.8.6.orig//plugins/wpg/plugin.m4 abiword-2.8.6/plugins/wpg/plugin.m4
+--- abiword-2.8.6.orig//plugins/wpg/plugin.m4 2010-05-30 07:50:46.000000000 -0700
++++ abiword-2.8.6/plugins/wpg/plugin.m4 2010-12-06 13:59:53.929715254 -0800
+@@ -1,5 +1,5 @@
+
+-wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0"
++wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0"
+ wpg_deps="no"
+
+ if test "$enable_wpg" != ""; then
+diff -Nur abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp
+--- abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp 2008-08-15 14:52:32.000000000 -0700
++++ abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp 2010-12-06 13:59:53.923048588 -0800
+@@ -31,11 +31,10 @@
+ #include <gsf/gsf-input-memory.h>
+ #include <gsf/gsf-input-stdio.h>
+ #include <gsf/gsf-infile-msole.h>
+-#include <libwpd/WPXStream.h>
++#include <libwpd-stream/libwpd-stream.h>
+ #include "xap_Module.h"
+
+ using libwpg::WPGraphics;
+-using libwpg::WPGString;
+
+ ABI_PLUGIN_DECLARE("WPG")
+
+@@ -48,7 +47,7 @@
+ virtual bool isOLEStream();
+ virtual WPXInputStream * getDocumentOLEStream();
+ virtual WPXInputStream * getDocumentOLEStream(const char * name);
+- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead);
++ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
+ virtual int seek(long offset, WPX_SEEK_TYPE seekType);
+ virtual long tell();
+ virtual bool atEOS();
+@@ -60,7 +59,7 @@
+ };
+
+ AbiWordPerfectGraphicsInputStream::AbiWordPerfectGraphicsInputStream(GsfInput *input) :
+- WPXInputStream(true),
++ WPXInputStream(),
+ m_input(input),
+ m_ole(NULL)
+ {
+@@ -75,9 +74,9 @@
+ g_object_unref(G_OBJECT(m_input));
+ }
+
+-const uint8_t * AbiWordPerfectGraphicsInputStream::read(size_t numBytes, size_t &numBytesRead)
++const unsigned char * AbiWordPerfectGraphicsInputStream::read(unsigned long numBytes, unsigned long &numBytesRead)
+ {
+- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL);
++ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL);
+
+ if (buf == NULL)
+ numBytesRead = 0;
+@@ -245,10 +244,10 @@
+ UT_Error IE_Imp_WordPerfectGraphics::importGraphic(GsfInput *input, FG_Graphic **ppfg)
+ {
+ AbiWordPerfectGraphicsInputStream gsfInput(input);
+- WPGString svgOutput;
++ WPXString svgOutput;
+ if (WPGraphics::generateSVG(&gsfInput, svgOutput))
+ {
+- GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.length(), false);
++ GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false);
+ UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg);
+ g_object_unref(svgInput);
+ return result;
diff --git a/staging/amule/PKGBUILD b/staging/amule/PKGBUILD
new file mode 100644
index 000000000..22280b542
--- /dev/null
+++ b/staging/amule/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 146942 2012-01-19 13:36:15Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Henrik Ronellenfitsch <searinox@web.de>
+# Contributor: Alessio Sergi <sergi.alessio {at} gmail.com>
+# Contributor: Dario 'Dax' Vilardi <dax [at] deelab [dot] org>
+
+pkgname=amule
+pkgver=10708
+pkgrel=2
+pkgdesc="An eMule-like client for ed2k p2p network"
+arch=('i686' 'x86_64')
+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=('3c1c2a03b24c9ec7ba6fd675382f26a3')
+
+build() {
+ cd "${srcdir}/aMule-SVN-r${pkgver}"
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --enable-cas \
+ --enable-wxcas \
+ --enable-amule-daemon \
+ --enable-amulecmd \
+ --enable-amule-gui \
+ --enable-alc \
+ --enable-alcc \
+ --enable-webserver \
+ --disable-debug \
+ --enable-optimize \
+ --enable-ccache \
+ --enable-geoip \
+ --enable-upnp
+
+ make
+}
+
+package() {
+ cd "${srcdir}/aMule-SVN-r${pkgver}"
+
+ make DESTDIR=${pkgdir}/ install
+}
diff --git a/staging/autopano-sift-c/PKGBUILD b/staging/autopano-sift-c/PKGBUILD
new file mode 100644
index 000000000..35f76e38a
--- /dev/null
+++ b/staging/autopano-sift-c/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 146969 2012-01-19 19:16:11Z eric $
+# Maintainer: Tobias Kieslich <tobias@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+
+pkgname=autopano-sift-c
+pkgver=2.5.1
+pkgrel=3
+pkgdesc="Identify key feature points within arbitrary images"
+arch=('i686' 'x86_64')
+url="http://hugin.sourceforge.net/"
+license=('GPL2')
+depends=('libxml2' 'libpano13' 'gcc-libs')
+makedepends=('cmake')
+provides=('autopano-sift')
+conflicts=('autopano-sift')
+replaces=('autopano-sift')
+source=(http://downloads.sourceforge.net/sourceforge/hugin/autopano-sift-C-${pkgver}.tar.gz)
+md5sums=('b9bade07e8c4f2ea383c22a082c260e0')
+
+build() {
+ cd "${srcdir}/autopano-sift-C-${pkgver}"
+ cmake -DCMAKE_INSTALL_PREFIX=/usr .
+ sed -i 's/-lz/-lz -lm/' CMakeFiles/{autopano,generatekeys}.dir/link.txt
+ make
+}
+
+package() {
+ cd "${srcdir}/autopano-sift-C-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/celestia/PKGBUILD b/staging/celestia/PKGBUILD
new file mode 100644
index 000000000..495903615
--- /dev/null
+++ b/staging/celestia/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 146981 2012-01-19 21:57:20Z giovanni $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor : Damir Perisa <damir.perisa@bluewin.ch>
+
+pkgname=celestia
+pkgver=1.6.1
+pkgrel=2
+pkgdesc="Real-time space simulation"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.shatters.net/celestia/"
+depends=('gtk2' 'libtheora' 'lua' 'gtkglext' 'glut' 'libxmu' 'mesa' 'libjpeg')
+options=('!makeflags')
+source=("http://downloads.sourceforge.net/sourceforge/celestia/${pkgname}-${pkgver}.tar.gz"
+ 'celestia-1.6.1-gcc46.patch'
+ 'celestia-1.6.1-libpng15.patch'
+ 'celestia-1.6.1-linking.patch')
+sha1sums=('1f0fdf4525a8b9d6c708e1f6383babed670d18e7'
+ '7c08ca391603806d788cb8f3342acedafc924eef'
+ '46ecc4e10b24191384bc848c206652498843adf0'
+ '534c8eee18d13a868c91f0b870ebecc05f3e7ae1')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # build patch
+ patch -Np0 -i "${srcdir}/celestia-1.6.1-gcc46.patch"
+ patch -Np0 -i "${srcdir}/celestia-1.6.1-libpng15.patch"
+ patch -Np1 -i "${srcdir}/celestia-1.6.1-linking.patch"
+
+ # This version of Celestia has a bug in the font rendering and requires -fsigned-char
+ export CFLAGS="$CFLAGS -fsigned-char"
+ export CXXFLAGS="$CXXFLAGS -fsigned-char"
+
+ autoreconf
+ ./configure --prefix=/usr \
+ --with-lua=/usr \
+ --datadir=/usr/share \
+ --with-gtk \
+ --disable-rpath \
+ --with-lua
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
+
diff --git a/staging/celestia/celestia-1.5.1-gcc44.patch b/staging/celestia/celestia-1.5.1-gcc44.patch
new file mode 100644
index 000000000..b1ee896f0
--- /dev/null
+++ b/staging/celestia/celestia-1.5.1-gcc44.patch
@@ -0,0 +1,20 @@
+--- src/celengine/overlay.h.orig 2009-07-08 02:27:08.000000000 -0400
++++ src/celengine/overlay.h 2009-07-08 02:27:28.000000000 -0400
+@@ -10,6 +10,7 @@
+ #ifndef _OVERLAY_H_
+ #define _OVERLAY_H_
+
++#include <cstdio>
+ #include <string>
+ #include <iostream>
+ #include <celtxf/texturefont.h>
+--- src/celengine/star.cpp.orig 2009-07-08 02:40:52.000000000 -0400
++++ src/celengine/star.cpp 2009-07-08 02:41:08.000000000 -0400
+@@ -8,6 +8,7 @@
+ // of the License, or (at your option) any later version.
+
+ #include <celmath/mathlib.h>
++#include <cstdio>
+ #include <cstring>
+ #include <cassert>
+ #include "celestia.h"
diff --git a/staging/celestia/celestia-1.6.1-gcc46.patch b/staging/celestia/celestia-1.6.1-gcc46.patch
new file mode 100644
index 000000000..ddf4036f2
--- /dev/null
+++ b/staging/celestia/celestia-1.6.1-gcc46.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/show_bug.cgi?id=366073
+
+Patch written by Nils Larsson <ni1s@nerdshack.com>
+--- src/celengine/frametree.h
++++ src/celengine/frametree.h
+@@ -14,6 +14,7 @@
+ #define _CELENGINE_FRAMETREE_H_
+
+ #include <vector>
++#include <cstddef>
+
+ class Star;
+ class Body;
diff --git a/staging/celestia/celestia-1.6.1-gentoo.patch b/staging/celestia/celestia-1.6.1-gentoo.patch
new file mode 100644
index 000000000..57fffe159
--- /dev/null
+++ b/staging/celestia/celestia-1.6.1-gentoo.patch
@@ -0,0 +1,23 @@
+--- src/celestia/Makefile.am 2011-06-07 19:15:51.502000147 +0200
++++ src/celestia/Makefile.am.new 2011-06-07 19:15:47.208000302 +0200
+@@ -15,6 +15,7 @@
+ if ENABLE_GTK
+ SUBDIRS += gtk
+ celestiaGTKLIBS = $(GTK_LIBS) gtk/libgtkgui.a
++LIBS += $(GTK_LIBS)
+ endif
+
+ COMMONSOURCES = \
+
+Index: src/celengine/frametree.h
+===================================================================
+--- src/celengine/frametree.h (revision 5163)
++++ src/celengine/frametree.h (arbetskopia)
+@@ -14,6 +14,7 @@
+ #define _CELENGINE_FRAMETREE_H_
+
+ #include <vector>
++#include <cstddef>
+
+ class Star;
+ class Body;
diff --git a/staging/celestia/celestia-1.6.1-libpng15.patch b/staging/celestia/celestia-1.6.1-libpng15.patch
new file mode 100644
index 000000000..5dffbab24
--- /dev/null
+++ b/staging/celestia/celestia-1.6.1-libpng15.patch
@@ -0,0 +1,14 @@
+imagecapture.cpp:184:40: error: ‘Z_BEST_COMPRESSION’ was not declared in this scope
+
+--- src/celestia/imagecapture.cpp
++++ src/celestia/imagecapture.cpp
+@@ -31,6 +31,9 @@
+ #include "png.h"
+ #endif
+
++// Z_BEST_COMPRESSION
++#include <zlib.h>
++
+ // Define png_jmpbuf() in case we are using a pre-1.0.6 version of libpng
+ #ifndef png_jmpbuf
+ #define png_jmpbuf(png_ptr) png_ptr->jmpbuf
diff --git a/staging/celestia/celestia-1.6.1-linking.patch b/staging/celestia/celestia-1.6.1-linking.patch
new file mode 100644
index 000000000..d610d5243
--- /dev/null
+++ b/staging/celestia/celestia-1.6.1-linking.patch
@@ -0,0 +1,54 @@
+Fix linking issues:
+ * underlinking GLUT (bug #372123, #387609)
+ * as-needed (bug #281258)
+
+--- a/src/celestia/Makefile.am
++++ b/src/celestia/Makefile.am
+@@ -7,14 +7,15 @@
+
+ if ENABLE_KDE
+ SUBDIRS += kde
+-celestiaKDELIBS = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KFILE) \
+- $(LIBSOCKET) -lDCOP kde/libkdegui.a
++celestiaKDELIBS = kde/libkdegui.a
+ celestia_LDFLAGS = $(all_libraries) $(KDE_RPATH)
++LIBS += $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KFILE) $(LIBSOCKET) -lDCOP
+ endif
+
+ if ENABLE_GTK
+ SUBDIRS += gtk
+-celestiaGTKLIBS = $(GTK_LIBS) gtk/libgtkgui.a
++celestiaGTKLIBS = gtk/libgtkgui.a
++LIBS += $(GTK_LIBS)
+ endif
+
+ COMMONSOURCES = \
+@@ -62,6 +63,7 @@
+
+ if ENABLE_GLUT
+ GLUTSOURCES = glutmain.cpp
++GLUTLIBS = -lGL
+ endif
+
+ if ENABLE_THEORA
+@@ -80,15 +82,16 @@
+ celestia_LDADD = \
+ $(celestiaKDELIBS) \
+ $(celestiaGTKLIBS) \
+- $(DL_LIBS) \
+- $(LUA_LIBS) \
+- $(THEORA_LIBS) \
+ ../celengine/libcelengine.a \
+ ../celtxf/libceltxf.a \
+ ../cel3ds/libcel3ds.a \
+ ../celmath/libcelmath.a \
+ ../celutil/libcelutil.a \
+- $(SPICE_LIBS)
++ $(LUA_LIBS) \
++ $(THEORA_LIBS) \
++ $(GLUTLIBS) \
++ $(SPICE_LIBS) \
++ $(DL_LIBS)
+
+ noinst_HEADERS = $(wildcard *.h)
+ noinst_DATA = ../../celestia
diff --git a/staging/dvdauthor/PKGBUILD b/staging/dvdauthor/PKGBUILD
new file mode 100644
index 000000000..849754c1e
--- /dev/null
+++ b/staging/dvdauthor/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 146985 2012-01-19 22:25:27Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Travis Willard <travisw@wmpub.ca>
+# Contributor: Jaroslaw Swierczynski <swiergot@juvepoland.com>
+# Contributor: Nicolai Lissner <nlissne@linux01.gwdg.de>
+
+pkgname=dvdauthor
+pkgver=0.7.0
+pkgrel=4
+pkgdesc="DVD authoring tools"
+arch=('i686' 'x86_64')
+url="http://dvdauthor.sourceforge.net/"
+license=('GPL')
+depends=('libdvdread' 'imagemagick' 'libxml2' 'libpng' 'fribidi')
+options=('!makeflags')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'dvdauthor-0.7.0-libpng15.patch')
+md5sums=('33a447fb98ab3293ac40f869eedc17ff'
+ '9ea90bbea6adb0469c8c1b2f7d033f11')
+
+build() {
+ cd "${srcdir}/${pkgname}"
+
+ patch -Np0 -i "${srcdir}/dvdauthor-0.7.0-libpng15.patch"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/dvdauthor/dvdauthor-0.7.0-libpng15.patch b/staging/dvdauthor/dvdauthor-0.7.0-libpng15.patch
new file mode 100644
index 000000000..2bb636380
--- /dev/null
+++ b/staging/dvdauthor/dvdauthor-0.7.0-libpng15.patch
@@ -0,0 +1,19 @@
+--- src/spuunmux.c
++++ src/spuunmux.c
+@@ -39,6 +39,7 @@
+ #include <netinet/in.h>
+
+ #include <png.h>
++#include <zlib.h>
+
+ #include "rgb.h"
+ #include "common.h"
+@@ -610,7 +611,7 @@
+ png_destroy_write_struct(&png_ptr, (png_infopp)NULL);
+ return -1;
+ } /*if*/
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_write_struct(&png_ptr, &info_ptr);
+ fclose(fp);
diff --git a/staging/enblend-enfuse/PKGBUILD b/staging/enblend-enfuse/PKGBUILD
new file mode 100644
index 000000000..b8e04522a
--- /dev/null
+++ b/staging/enblend-enfuse/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 146965 2012-01-19 18:31:50Z eric $
+# Maintainer: tobias <tobias@archlinux.org>
+# Contributor: Dominik Ryba <domryba@post.pl>
+
+pkgname=enblend-enfuse
+pkgver=4.0
+pkgrel=5
+pkgdesc="Intelligent blend tool for overlapping picture"
+arch=("i686" "x86_64")
+license=('GPL')
+url="http://enblend.sourceforge.net"
+depends=('openexr' 'glew>=1.5' 'libxmi' 'freeglut' 'lcms' 'libpng')
+makedepends=('boost')
+replaces=('enblend')
+conflicts=('enblend')
+provides=('enblend')
+install=${pkgname}.install
+source=(http://downloads.sourceforge.net/sourceforge/enblend/${pkgname}-${pkgver}.tar.gz{,.asc} \
+ libpng-1.4.patch enblend-4.0-libpng15.patch)
+sha1sums=('34c3a5ce11c6ef0ef520d8a15a3cb6a94a567033'
+ 'aac6364b29b0a9d6c61c3db0982f52ce1579e934'
+ 'eae6cf48ea082865130302d0b4d1ca0b884a563b'
+ '71e961d90be842eafe9d473d8d70b04b29077036')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}-753b534c819d"
+ sed -i 's/info.arith_code = TRUE/info.arith_code = FALSE/' src/vigra_impex/jpeg.cxx
+ patch -p1 -i ../libpng-1.4.patch
+ patch -p0 -i ../enblend-4.0-libpng15.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}-753b534c819d"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 doc/enblend.info "${pkgdir}/usr/share/info/enblend.info"
+ install -D -m644 doc/enfuse.info "${pkgdir}/usr/share/info/enfuse.info"
+}
diff --git a/staging/enblend-enfuse/enblend-4.0-libpng15.patch b/staging/enblend-enfuse/enblend-4.0-libpng15.patch
new file mode 100644
index 000000000..d4465ccad
--- /dev/null
+++ b/staging/enblend-enfuse/enblend-4.0-libpng15.patch
@@ -0,0 +1,220 @@
+--- src/vigra_impex/png.cxx
++++ src/vigra_impex/png.cxx
+@@ -81,7 +81,7 @@
+ static void PngError( png_structp png_ptr, png_const_charp error_msg )
+ {
+ png_error_message = std::string(error_msg);
+- longjmp( png_ptr->jmpbuf, 1 );
++ longjmp( png_jmpbuf( png_ptr ), 1 );
+ }
+
+ // called on non-fatal errors
+@@ -213,7 +213,7 @@
+ vigra_postcondition( png != 0, "could not create the read struct." );
+
+ // create info struct
+- if (setjmp(png->jmpbuf)) {
++ if (setjmp(png_jmpbuf( png ))) {
+ png_destroy_read_struct( &png, &info, NULL );
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_create_info_struct(): ").c_str() );
+ }
+@@ -221,14 +221,14 @@
+ vigra_postcondition( info != 0, "could not create the info struct." );
+
+ // init png i/o
+- if (setjmp(png->jmpbuf)) {
++ if (setjmp(png_jmpbuf( png ))) {
+ png_destroy_read_struct( &png, &info, NULL );
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_init_io(): ").c_str() );
+ }
+ png_init_io( png, file.get() );
+
+ // specify that the signature was already read
+- if (setjmp(png->jmpbuf)) {
++ if (setjmp(png_jmpbuf( png ))) {
+ png_destroy_read_struct( &png, &info, NULL );
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_set_sig_bytes(): ").c_str() );
+ }
+@@ -244,13 +244,13 @@
+ void PngDecoderImpl::init()
+ {
+ // read all chunks up to the image data
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_read_info(): ").c_str() );
+ png_read_info( png, info );
+
+ // pull over the header fields
+ int interlace_method, compression_method, filter_method;
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_get_IHDR(): ").c_str() );
+ png_get_IHDR( png, info, &width, &height, &bit_depth, &color_type,
+ &interlace_method, &compression_method, &filter_method );
+@@ -264,7 +264,7 @@
+
+ // transform palette to rgb
+ if ( color_type == PNG_COLOR_TYPE_PALETTE) {
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_palette_to_rgb(): ").c_str() );
+ png_set_palette_to_rgb(png);
+ color_type = PNG_COLOR_TYPE_RGB;
+@@ -273,7 +273,7 @@
+
+ // expand gray values to at least one byte size
+ if ( color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8 ) {
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false,png_error_message.insert(0, "error in png_set_expand_gray_1_2_4_to_8(): ").c_str());
+ png_set_expand_gray_1_2_4_to_8(png);
+ bit_depth = 8;
+@@ -283,7 +283,7 @@
+ #if 0
+ // strip alpha channel
+ if ( color_type & PNG_COLOR_MASK_ALPHA ) {
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_set_strip_alpha(): ").c_str() );
+ png_set_strip_alpha(png);
+ color_type ^= PNG_COLOR_MASK_ALPHA;
+@@ -323,12 +323,12 @@
+
+ // read icc profile
+ #if (PNG_LIBPNG_VER > 10008) && defined(PNG_READ_iCCP_SUPPORTED)
+- char * dummyName;
++ png_charpp dummyName;
+ int dummyCompType;
+- char * profilePtr;
++ png_bytepp profilePtr;
+ png_uint_32 profileLen;
+- if (info->valid & PNG_INFO_iCCP) {
+- png_get_iCCP(png, info, &dummyName, &dummyCompType, &profilePtr, &profileLen) ;
++ if (png_get_valid(png, info, PNG_INFO_iCCP)) {
++ png_get_iCCP(png, info, dummyName, &dummyCompType, profilePtr, &profileLen) ;
+ iccProfilePtr = (unsigned char *) profilePtr;
+ iccProfileLength = profileLen;
+ }
+@@ -340,7 +340,7 @@
+ // image gamma
+ double image_gamma = 0.45455;
+ if ( png_get_valid( png, info, PNG_INFO_gAMA ) ) {
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_get_gAMA(): ").c_str() );
+ png_get_gAMA( png, info, &image_gamma );
+ }
+@@ -349,26 +349,26 @@
+ double screen_gamma = 2.2;
+
+ // set gamma correction
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_set_gamma(): ").c_str() );
+ png_set_gamma( png, screen_gamma, image_gamma );
+ #endif
+
+ // interlace handling, get number of read passes needed
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false,png_error_message.insert(0, "error in png_set_interlace_handling(): ").c_str());
+ n_interlace_passes = png_set_interlace_handling(png);
+
+ // update png library state to reflect any changes that were made
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_read_update_info(): ").c_str() );
+ png_read_update_info( png, info );
+
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false,png_error_message.insert(0, "error in png_get_channels(): ").c_str());
+ n_channels = png_get_channels(png, info);
+
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false,png_error_message.insert(0, "error in png_get_rowbytes(): ").c_str());
+ rowsize = png_get_rowbytes(png, info);
+
+@@ -379,7 +379,7 @@
+ void PngDecoderImpl::nextScanline()
+ {
+ for (int i=0; i < n_interlace_passes; i++) {
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false,png_error_message.insert(0, "error in png_read_row(): ").c_str());
+ png_read_row(png, row_data.begin(), NULL);
+ }
+@@ -545,7 +545,7 @@
+ vigra_postcondition( png != 0, "could not create the write struct." );
+
+ // create info struct
+- if (setjmp(png->jmpbuf)) {
++ if (setjmp(png_jmpbuf( png ))) {
+ png_destroy_write_struct( &png, &info );
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_info_struct(): ").c_str() );
+ }
+@@ -556,7 +556,7 @@
+ }
+
+ // init png i/o
+- if (setjmp(png->jmpbuf)) {
++ if (setjmp(png_jmpbuf( png ))) {
+ png_destroy_write_struct( &png, &info );
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_init_io(): ").c_str() );
+ }
+@@ -571,7 +571,7 @@
+ void PngEncoderImpl::finalize()
+ {
+ // write the IHDR
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_set_IHDR(): ").c_str() );
+ png_set_IHDR( png, info, width, height, bit_depth, color_type,
+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+@@ -579,7 +579,7 @@
+
+ // set resolution
+ if (x_resolution > 0 && y_resolution > 0) {
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_set_pHYs(): ").c_str() );
+ png_set_pHYs(png, info, (png_uint_32) (x_resolution / 0.0254 + 0.5),
+ (png_uint_32) (y_resolution / 0.0254 + 0.5),
+@@ -588,7 +588,7 @@
+
+ // set offset
+ if (position.x > 0 && position.y > 0) {
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_set_oFFs(): ").c_str() );
+ png_set_oFFs(png, info, position.x, position.y, PNG_OFFSET_PIXEL);
+ }
+@@ -597,12 +597,12 @@
+ // set icc profile
+ if (iccProfile.size() > 0) {
+ png_set_iCCP(png, info, "icc", 0,
+- (char *)iccProfile.begin(), iccProfile.size());
++ iccProfile.begin(), iccProfile.size());
+ }
+ #endif
+
+ // write the info struct
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_write_info(): ").c_str() );
+ png_write_info( png, info );
+
+@@ -634,10 +634,10 @@
+ }
+
+ // write the whole image
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_write_image(): ").c_str() );
+ png_write_image( png, row_pointers.begin() );
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf( png )))
+ vigra_postcondition( false, png_error_message.insert(0, "error in png_write_end(): ").c_str() );
+ png_write_end(png, info);
+ }
diff --git a/staging/enblend-enfuse/enblend-enfuse.install b/staging/enblend-enfuse/enblend-enfuse.install
new file mode 100644
index 000000000..24ea28a4e
--- /dev/null
+++ b/staging/enblend-enfuse/enblend-enfuse.install
@@ -0,0 +1,22 @@
+infodir=usr/share/info
+filelist=(enblend.info enfuse.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
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/staging/enblend-enfuse/libpng-1.4.patch b/staging/enblend-enfuse/libpng-1.4.patch
new file mode 100644
index 000000000..3bf852b58
--- /dev/null
+++ b/staging/enblend-enfuse/libpng-1.4.patch
@@ -0,0 +1,14 @@
+diff -Naur enblend-enfuse-3.2-orig/src/vigra_impex/png.cxx enblend-enfuse-3.2/src/vigra_impex/png.cxx
+--- enblend-enfuse-3.2-orig/src/vigra_impex/png.cxx 2010-01-19 22:09:36.000000000 -0500
++++ enblend-enfuse-3.2/src/vigra_impex/png.cxx 2010-01-19 22:13:43.000000000 -0500
+@@ -275,8 +275,8 @@
+ // expand gray values to at least one byte size
+ if ( color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8 ) {
+ if (setjmp(png->jmpbuf))
+- vigra_postcondition( false,png_error_message.insert(0, "error in png_set_gray_1_2_4_to_8(): ").c_str());
+- png_set_gray_1_2_4_to_8(png);
++ vigra_postcondition( false,png_error_message.insert(0, "error in png_set_expand_gray_1_2_4_to_8(): ").c_str());
++ png_set_expand_gray_1_2_4_to_8(png);
+ bit_depth = 8;
+ }
+
diff --git a/staging/fltk/PKGBUILD b/staging/fltk/PKGBUILD
new file mode 100644
index 000000000..2a830946f
--- /dev/null
+++ b/staging/fltk/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 146979 2012-01-19 21:29:09Z eric $
+# Maintainer:
+
+pkgbase=fltk
+pkgname=('fltk' 'fltk-docs' 'fltk-games')
+pkgver=1.3.0
+pkgrel=3
+arch=('i686' 'x86_64')
+license=('custom:LGPL')
+url="http://www.fltk.org/"
+makedepends=('mesa' 'doxygen' 'libjpeg' 'libpng' 'libxft' 'libxinerama' \
+ 'alsa-lib' 'desktop-file-utils')
+source=(http://ftp.easysw.com/pub/$pkgbase/$pkgver/$pkgbase-$pkgver-source.tar.gz)
+md5sums=('44d5d7ba06afdd36ea17da6b4b703ca3')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver"
+ sed -i -e 's/$(LINKFLTK)/$(LINKSHARED)/' \
+ -e 's/$(LINKFLTKIMG)/$(LINKSHARED)/' test/Makefile
+ ./configure --prefix=/usr --enable-threads --enable-xft --enable-shared
+ make
+ cd documentation
+ make html
+}
+
+package_fltk() {
+ pkgdesc="Graphical user interface toolkit for X"
+ depends=('libjpeg' 'libpng' 'libxft' 'libxinerama' 'hicolor-icon-theme' \
+ 'desktop-file-utils' 'xdg-utils')
+ options=('!docs')
+ install=fltk.install
+
+ cd "$srcdir/$pkgbase-$pkgver"
+ make DESTDIR="$pkgdir" install
+ (cd fluid; make DESTDIR="$pkgdir" install install-linux)
+ chmod 644 "$pkgdir"/usr/lib/*.a
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_fltk-docs() {
+ pkgdesc="Graphical user interface toolkit for X (documentation)"
+
+ cd "$srcdir/$pkgbase-$pkgver/documentation"
+ install -d "$pkgdir"/usr/share/doc/fltk/
+ for _file in html/* ; do
+ install -m644 $_file "$pkgdir"/usr/share/doc/fltk/
+ done
+ cd ../test
+ make DESTDIR="$pkgdir" install
+ install -D -m644 ../COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_fltk-games() {
+ pkgdesc="Example games that accompany FLTK: blocks, checkers and sudoku"
+ depends=('alsa-lib' 'fltk')
+ install=fltk-games.install
+
+ cd "$srcdir/$pkgbase-$pkgver/test"
+ make DESTDIR="$pkgdir" install-linux
+ (cd ../documentation; make DESTDIR="$pkgdir" install-linux)
+ install -D -m644 ../COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/staging/fltk/fltk-games.install b/staging/fltk/fltk-games.install
new file mode 100644
index 000000000..f3fe2b08b
--- /dev/null
+++ b/staging/fltk/fltk-games.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/fltk/fltk.install b/staging/fltk/fltk.install
new file mode 100644
index 000000000..f89ec8213
--- /dev/null
+++ b/staging/fltk/fltk.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/staging/fvwm/PKGBUILD b/staging/fvwm/PKGBUILD
new file mode 100644
index 000000000..89af20969
--- /dev/null
+++ b/staging/fvwm/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 146983 2012-01-19 22:19:37Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=fvwm
+pkgver=2.6.3
+pkgrel=2
+pkgdesc="A multiple large virtual desktop window manager originally derived from twm"
+arch=('i686' 'x86_64')
+url="http://www.fvwm.org"
+license=('GPL' 'custom')
+depends=('imlib' 'fribidi' 'perl' 'libstroke' 'libxpm' 'librsvg' 'libxinerama' 'libxcursor')
+makedepends=('libxslt')
+provides=('fvwm-devel')
+conflicts=('fvwm-devel')
+replaces=('fvwm-devel')
+options=('!emptydirs' '!makeflags')
+source=(ftp://ftp.fvwm.org/pub/fvwm/version-${pkgver%%.*}/${pkgname}-${pkgver}.tar.bz2 fvwm.desktop)
+sha1sums=('7a04dae0e4a17f4d908589e704b48246b7c05e39'
+ '6fd8fd767f32f88cc8b4743a2ba49bcfcdb32bcb')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --with-stroke-library
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 sample.fvwmrc/{decor_examples,DecorMwm,DecorWin95,new-features,system.*} "${pkgdir}/usr/share/doc/fvwm"
+ install -D -m644 ../fvwm.desktop "${pkgdir}/usr/share/xsessions/fvwm.desktop"
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/staging/fvwm/fvwm.desktop b/staging/fvwm/fvwm.desktop
new file mode 100644
index 000000000..e297a6109
--- /dev/null
+++ b/staging/fvwm/fvwm.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=FVWM
+Comment=The fvwm window manager
+Type=XSession
+Exec=/usr/bin/fvwm
+TryExec=/usr/bin/fvwm
diff --git a/staging/gif2png/PKGBUILD b/staging/gif2png/PKGBUILD
new file mode 100644
index 000000000..2e530eaba
--- /dev/null
+++ b/staging/gif2png/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 146933 2012-01-19 11:45:57Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: eric <eric@archlinux.org>
+# Contributor: Andrew Rose <ody@netrux.com>
+
+pkgname=gif2png
+pkgver=2.5.4
+pkgrel=3
+pkgdesc="A GIF to PNG image format converter"
+arch=('i686' 'x86_64')
+url="http://www.catb.org/~esr/gif2png/"
+license=('ZLIB')
+depends=('libpng')
+optdepends=('python2: for using web2png')
+source=("http://www.catb.org/~esr/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'gif2png-2.5.4-libpng15.patch')
+md5sums=('d63ea3fc6b6119589e8d4d6fead30df9'
+ 'd4d6d31e04e7448315eae56bb12d4df6')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i 's#env python#env python2#' web2png
+ patch -Np0 -i ${srcdir}/gif2png-2.5.4-libpng15.patch
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/staging/gif2png/gif2png-2.5.4-libpng15.patch b/staging/gif2png/gif2png-2.5.4-libpng15.patch
new file mode 100644
index 000000000..9e5c333bb
--- /dev/null
+++ b/staging/gif2png/gif2png-2.5.4-libpng15.patch
@@ -0,0 +1,43 @@
+ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/graphics/gif2png/patches/patch-aa
+
+--- gif2png.c
++++ gif2png.c
+@@ -10,6 +10,7 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <unistd.h> /* for isatty() */
++#include <zlib.h>
+
+ #if !defined(TRUE)
+ #define FALSE 0
+@@ -120,8 +121,8 @@ int writefile(struct GIFelement *s,struc
+ int colors_used = 0;
+ byte remap[MAXCMSIZE];
+ int low_prec;
+- png_struct *png_ptr = xalloc(sizeof (png_struct));
+- png_info *info_ptr = xalloc(sizeof (png_info));
++ png_struct *png_ptr;
++ png_info *info_ptr;
+ int p;
+ int gray_bitdepth;
+ png_color pal_rgb[MAXCMSIZE], *pltep;
+@@ -136,6 +137,19 @@ int writefile(struct GIFelement *s,struc
+ png_text software;
+ png_text comment;
+
++ png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
++ if (png_ptr == NULL) {
++ fprintf(stderr, "gif2png: fatal error, out of memory\n");
++ fprintf(stderr, "gif2png: exiting ungracefully\n");
++ exit(1);
++ }
++ info_ptr = png_create_info_struct(png_ptr);
++ if (info_ptr == NULL) {
++ fprintf(stderr, "gif2png: fatal error, out of memory\n");
++ fprintf(stderr, "gif2png: exiting ungracefully\n");
++ exit(1);
++ }
++
+ /* these volatile declarations prevent gcc warnings ("variable might be
+ * clobbered by `longjmp' or `vfork'") */
+ volatile int gray = TRUE;
diff --git a/staging/glhack/PKGBUILD b/staging/glhack/PKGBUILD
new file mode 100644
index 000000000..6ac706ee1
--- /dev/null
+++ b/staging/glhack/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 146929 2012-01-19 10:08:04Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=glhack
+pkgver=1.2
+pkgrel=6
+pkgdesc="A port of Nethack, a single player dungeon exploration game in 2D"
+arch=('i686' 'x86_64')
+url="http://glhack.sourceforge.net/"
+license=('custom')
+depends=('sdl' 'libpng' 'libgl')
+makedepends=('mesa')
+options=('!makeflags')
+install=glhack.install
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz glhack-libpng15.patch)
+sha1sums=('7dc46e6bd4a3c2ec10ab4d314acfbb30cefc6eae'
+ '4cf1a13e76cc1f1eb3708d42c74b85b7f321092d')
+
+build(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p0 -i ../glhack-libpng15.patch
+ sed -i 's|/usr/lib/games|/usr/share|' include/config.h
+ sed -i 's|/var/lib/games/glhack|/var/games/glhack|' include/unixconf.h
+ sed -i -e 's|PREFIX = /usr|PREFIX = $(DESTDIR)/usr|' Makefile
+ sed -i -e 's|VARDIR = /var/lib/games/glhack|VARDIR = $(DESTDIR)/var/games/glhack|' Makefile
+ sed -i -e 's|/usr/man/man6|$(DESTDIR)/usr/share/man/man6|' doc/Makefile
+ sed -i -e 's|GAMEDIR = $(PREFIX)/lib/games/$(GAME)|GAMEDIR = $(PREFIX)/share/$(GAME)|' Makefile
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -d "${pkgdir}"/usr/share/man/man{5,6}
+ make DESTDIR="$pkgdir" install
+ install -D -m644 dat/license "${pkgdir}/usr/share/licenses/${pkgname}/license"
+
+# Renaming man pages which conflicts with nethack
+ cd "${pkgdir}/usr/share/man/man6"
+ for manpage in dgn_comp dlb lev_comp nethack recover; do
+ mv $manpage.6 $manpage-glhack.6
+ done
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ mv "${pkgdir}/usr/share/glhack/glhack" "${pkgdir}/usr/bin/glhack"
+ mv "${pkgdir}/usr/share/glhack/recover_glhack" "${pkgdir}/usr/bin/recover_glhack"
+
+ chown -R root:root "${pkgdir}/usr/share/glhack"
+
+ rm -r "${pkgdir}"/var/games/glhack
+ install -d "${pkgdir}/var/games/glhack/save"
+ chmod -R 775 "${pkgdir}/var/games"
+ chown -R root:games "${pkgdir}/var/games"
+}
diff --git a/staging/glhack/glhack-libpng15.patch b/staging/glhack/glhack-libpng15.patch
new file mode 100644
index 000000000..d8e644d1c
--- /dev/null
+++ b/staging/glhack/glhack-libpng15.patch
@@ -0,0 +1,11 @@
+--- win/gl/gl_image.c.old 2012-01-19 04:01:26.000000000 -0500
++++ win/gl/gl_image.c 2012-01-19 04:03:04.000000000 -0500
+@@ -486,7 +486,7 @@
+ /* set error handling since we are using the setjmp/longjmp method
+ * (this is the normal method of doing things with libpng).
+ */
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ sdlgl_warning("Problem within LibPNG (unknown)\n");
+ goto failed;
diff --git a/staging/glhack/glhack.install b/staging/glhack/glhack.install
new file mode 100644
index 000000000..78e1655bc
--- /dev/null
+++ b/staging/glhack/glhack.install
@@ -0,0 +1,24 @@
+post_install() {
+ touch var/games/glhack/{record,perm,logfile}
+ chown root:games var/games/glhack/{record,perm,logfile}
+ chmod 664 var/games/glhack/{record,perm,logfile}
+}
+
+pre_upgrade() {
+ install -d -m775 var/games/glhack
+ chown root:games var/games/glhack
+ [ -e usr/share/glhack/record ] && cp usr/share/glhack/record var/games/glhack
+ [ -e usr/share/glhack/perm ] && cp usr/share/glhack/perm var/games/glhack
+ [ -e usr/share/glhack/logfile ] && cp usr/share/glhack/logfile var/games/glhack
+ if [ -d usr/share/glhack/save ]; then
+ chmod g-s usr/share/glhack/save
+ mv usr/share/glhack/save var/games/glhack
+ else
+ install -d -m775 var/games/glhack/save
+ fi
+ chown root:games var/games/glhack/save
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/staging/graphicsmagick/PKGBUILD b/staging/graphicsmagick/PKGBUILD
new file mode 100644
index 000000000..7ca0a92e3
--- /dev/null
+++ b/staging/graphicsmagick/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 146915 2012-01-19 05:34:57Z bisson $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Anton Leontiev <bunder@t-25.ru>
+
+pkgname=graphicsmagick
+pkgver=1.3.13
+pkgrel=2
+pkgdesc='Image processing system'
+url='http://www.graphicsmagick.org/'
+arch=('i686' 'x86_64')
+license=('MIT')
+makedepends=('perl')
+depends=('bzip2' 'freetype2' 'ghostscript' 'jasper' 'lcms2' 'xz'
+ 'libtiff' 'libwmf' 'libsm' 'libxml2' 'libltdl')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/GraphicsMagick-${pkgver}.tar.xz")
+sha1sums=('b85b21785bb072fd795f7fc6ac902cffae4e96e6')
+
+build() {
+ cd "${srcdir}/GraphicsMagick-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --with-perl \
+ --enable-shared \
+ --disable-static \
+ --with-gs-font-dir=/usr/share/fonts/Type1 \
+
+ make
+}
+
+package() {
+ cd "${srcdir}/GraphicsMagick-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ # Install MIT license
+ install -Dm644 "Copyright.txt" "${pkgdir}/usr/share/licenses/${pkgname}/Copyright.txt"
+
+ # Install perl bindings
+ # The patching was introduced in order to build perl module without installing package itself and
+ # not to introduce unnecessary path into LD_RUN_PATH
+ cd PerlMagick
+ sed -i -e "s:'LDDLFLAGS' => \"\(.*\)\":'LDDLFLAGS' => \"-L${pkgdir}/usr/lib \1\":" Makefile.PL
+ perl Makefile.PL INSTALLDIRS=vendor PREFIX=/usr DESTDIR="${pkgdir}"
+ sed -i -e "s/LDLOADLIBS =/LDLOADLIBS = -lGraphicsMagick/" Makefile
+ make
+ make install
+
+ # Remove perllocal.pod and .packlist
+ rm -rf "${pkgdir}/usr/lib/perl5/core_perl"
+ rm "${pkgdir}/usr/lib/perl5/vendor_perl/auto/Graphics/Magick/.packlist"
+}
diff --git a/staging/graphviz/LICENSE b/staging/graphviz/LICENSE
new file mode 100644
index 000000000..16cc69a52
--- /dev/null
+++ b/staging/graphviz/LICENSE
@@ -0,0 +1,87 @@
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
diff --git a/staging/graphviz/PKGBUILD b/staging/graphviz/PKGBUILD
new file mode 100644
index 000000000..41270f5fb
--- /dev/null
+++ b/staging/graphviz/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 146913 2012-01-19 05:23:33Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+
+pkgname=graphviz
+pkgver=2.28.0
+pkgrel=7
+pkgdesc='Graph visualization software'
+url='http://www.graphviz.org/'
+license=('custom:EPL')
+arch=('i686' 'x86_64')
+depends=('libltdl' 'gd' 'librsvg' 'libxaw' 'ghostscript' 'pango' 'gts')
+makedepends=('swig' 'mono' 'guile' 'lua' 'ocaml' 'perl' 'php' 'python2' 'r' 'ruby' 'tk' 'qt')
+optdepends=('mono: sharp bindings'
+ 'guile: guile bindings'
+ 'lua: lua bindings'
+ 'ocaml: ocaml bindings'
+ 'perl: perl bindings'
+ 'php: php bindings'
+ 'python2: python bindings'
+ 'r: r bindings'
+ 'ruby: ruby bindings'
+ 'tcl: tcl bindings'
+ 'qt: gvedit')
+source=("${url}/pub/${pkgname}/stable/SOURCES/${pkgname}-${pkgver}.tar.gz"
+ 'LICENSE')
+sha1sums=('4725d88a13e071ee22e632de551d4a55ca08ee7d'
+ 'e78277e502c29abb74b9587a5dc951ec392554ea')
+
+options=('!libtool')
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i "/RUBY_INCLUDES=\"/s|\"$| `eval echo -I/usr/include/ruby-1.9.1/{$CARCH-linux,ruby/backward,}`\"|" configure
+ sed -i '/LIBPOSTFIX="64"/d' configure
+ export PYTHON=python2
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # cf. http://www.graphviz.org/License.php
+ install -Dm644 ../LICENSE "${pkgdir}"/usr/share/licenses/graphviz/LICENSE
+}
diff --git a/staging/graphviz/install b/staging/graphviz/install
new file mode 100644
index 000000000..65fba522b
--- /dev/null
+++ b/staging/graphviz/install
@@ -0,0 +1,12 @@
+post_install() {
+ rm -f usr/lib/graphviz/config{,6}
+ usr/bin/dot -c
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ rm -f usr/lib/graphviz/config{,6}
+}
diff --git a/staging/gtkglext/PKGBUILD b/staging/gtkglext/PKGBUILD
new file mode 100644
index 000000000..60357e286
--- /dev/null
+++ b/staging/gtkglext/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 146971 2012-01-19 19:43:46Z giovanni $
+# Maintainer:
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=gtkglext
+pkgver=1.2.0
+pkgrel=7
+pkgdesc="opengl extensions for gtk2"
+arch=('i686' 'x86_64')
+url="http://gtkglext.sourceforge.net/"
+license=('LGPL')
+depends=('gtk2' 'mesa' 'libxmu')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/sourceforge/gtkglext/${pkgname}-${pkgver}.tar.bz2"
+ 'gtk2.20.patch')
+md5sums=('ed7ba24ce06a8630c07f2d0ee5f04ab4'
+ 'e5a87ec3f2d0e616c6f32f90c3f7237f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/gtk2.20.patch"
+ sed '/AC_PATH_XTRA/d' -i configure.in
+
+ autoreconf --force --install
+ ./configure --prefix=/usr \
+ --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/gtkglext/gtk2.20.patch b/staging/gtkglext/gtk2.20.patch
new file mode 100644
index 000000000..54b34c11e
--- /dev/null
+++ b/staging/gtkglext/gtk2.20.patch
@@ -0,0 +1,77 @@
+diff -Nur gtkglext-1.2.0.orig/gtk/gtkglwidget.c gtkglext-1.2.0/gtk/gtkglwidget.c
+--- gtkglext-1.2.0.orig/gtk/gtkglwidget.c 2004-02-20 11:38:36.000000000 +0200
++++ gtkglext-1.2.0/gtk/gtkglwidget.c 2010-04-20 19:29:42.941917275 +0300
+@@ -127,7 +127,7 @@
+ * Synchronize OpenGL and window resizing request streams.
+ */
+
+- if (GTK_WIDGET_REALIZED (widget) && private->is_realized)
++ if (gtk_widget_get_realized (widget) && private->is_realized)
+ {
+ gldrawable = gdk_window_get_gl_drawable (widget->window);
+ gdk_gl_drawable_wait_gdk (gldrawable);
+@@ -154,7 +154,7 @@
+ * Remove OpenGL-capability from widget->window.
+ */
+
+- if (GTK_WIDGET_REALIZED (widget))
++ if (gtk_widget_get_realized (widget))
+ gdk_window_unset_gl_capability (widget->window);
+
+ private->is_realized = FALSE;
+@@ -174,7 +174,7 @@
+ */
+
+ toplevel = gtk_widget_get_toplevel (widget);
+- if (GTK_WIDGET_TOPLEVEL (toplevel) && !GTK_WIDGET_REALIZED (toplevel))
++ if (gtk_widget_is_toplevel (toplevel) && !gtk_widget_get_realized (toplevel))
+ {
+ GTK_GL_NOTE (MISC,
+ g_message (" - Install colormap to the top-level window."));
+@@ -194,7 +194,7 @@
+ * Set a background of "None" on window to avoid AIX X server crash.
+ */
+
+- if (GTK_WIDGET_REALIZED (widget))
++ if (gtk_widget_get_realized (widget))
+ {
+ GTK_GL_NOTE (MISC,
+ g_message (" - window->bg_pixmap = %p",
+@@ -250,8 +250,8 @@
+ GTK_GL_NOTE_FUNC ();
+
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+- g_return_val_if_fail (!GTK_WIDGET_NO_WINDOW (widget), FALSE);
+- g_return_val_if_fail (!GTK_WIDGET_REALIZED (widget), FALSE);
++ g_return_val_if_fail (gtk_widget_get_has_window (widget), FALSE);
++ g_return_val_if_fail (!gtk_widget_get_realized (widget), FALSE);
+ g_return_val_if_fail (GDK_IS_GL_CONFIG (glconfig), FALSE);
+
+ /*
+@@ -432,7 +432,7 @@
+ GTK_GL_NOTE_FUNC ();
+
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+- g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
++ g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
+
+ gldrawable = gdk_window_get_gl_drawable (widget->window);
+ if (gldrawable == NULL)
+@@ -474,7 +474,7 @@
+ GLWidgetPrivate *private;
+
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+- g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
++ g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
+
+ private = g_object_get_qdata (G_OBJECT (widget), quark_gl_private);
+ if (private == NULL)
+@@ -501,7 +501,7 @@
+ gtk_widget_get_gl_window (GtkWidget *widget)
+ {
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+- g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
++ g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
+
+ return gdk_window_get_gl_window (widget->window);
+ }
diff --git a/staging/hugin/PKGBUILD b/staging/hugin/PKGBUILD
new file mode 100644
index 000000000..f481c13d3
--- /dev/null
+++ b/staging/hugin/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 146975 2012-01-19 20:40:48Z eric $
+# Maintainer: Tobias Kieslich <tobias@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Dominik Ryba <domryba@post.pl>
+
+pkgname=hugin
+pkgver=2011.4.0
+pkgrel=1
+pkgdesc="A frontend to the panorama-tools"
+arch=('i686' 'x86_64')
+url="http://hugin.sourceforge.net/"
+license=('GPL')
+depends=('wxgtk' 'boost-libs' 'enblend-enfuse' 'exiv2' 'autopano-sift-c'
+ 'lapack' 'desktop-file-utils' 'make' 'perl-image-exiftool')
+makedepends=('zip' 'cmake' 'boost' 'tclap')
+install=hugin.install
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('21ec7331d5e196aca2a8771d3c9101dd181ad93b')
+
+build() {
+ cd "${srcdir}"
+ mkdir build && cd build
+ cmake "${srcdir}/${pkgname}-${pkgver}" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_EXE_LINKER_FLAGS="-lpthread" \
+ -DENABLE_LAPACK=yes
+ make
+}
+
+package(){
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/hugin/hugin.install b/staging/hugin/hugin.install
new file mode 100644
index 000000000..362749233
--- /dev/null
+++ b/staging/hugin/hugin.install
@@ -0,0 +1,15 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/gnome
+ 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/gnome
+ update-desktop-database -q
+ update-mime-database usr/share/mime > /dev/null
+}
diff --git a/staging/imagemagick/PKGBUILD b/staging/imagemagick/PKGBUILD
new file mode 100644
index 000000000..91331d359
--- /dev/null
+++ b/staging/imagemagick/PKGBUILD
@@ -0,0 +1,84 @@
+# $Id: PKGBUILD 146973 2012-01-19 20:16:27Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgbase=imagemagick
+pkgname=('imagemagick' 'imagemagick-doc')
+pkgver=6.7.4.7
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://www.imagemagick.org/"
+license=('custom')
+depends=('perl' 'libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'libjpeg-turbo')
+makedepends=('ghostscript' 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper' 'libpng')
+source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
+ perlmagick.rpath.patch)
+sha1sums=('87cde464a569d8b34ef8edae817fbe4f51f8c2d0'
+ '23405f80904b1de94ebd7bd6fe2a332471b8c283')
+
+build() {
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+
+ sed '/AC_PATH_XTRA/d' -i configure.ac
+ autoreconf
+ patch -p0 -i ../perlmagick.rpath.patch
+
+ LIBS="$LIBS -L/usr/lib/perl5/core_perl/CORE -lperl" \
+ ./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
+ --enable-openmp --with-wmf --with-openexr --with-xml --with-lcms2 --with-jp2 \
+ --with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
+ --with-perl --with-perl-options="INSTALLDIRS=vendor" \
+ --without-gvc --without-djvu --without-autotrace --without-webp \
+ --without-jbig --without-fpx --without-dps --without-fftw --without-lqr
+ make
+}
+
+check() {
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+ make check
+}
+
+package_imagemagick() {
+ pkgdesc="An image viewing/manipulation program"
+ optdepends=('ghostscript: for Ghostscript support'
+ 'openexr: for OpenEXR support'
+ 'libwmf: for WMF support'
+ 'librsvg: for SVG support'
+ 'libxml2: for XML support'
+ 'jasper: for JPEG-2000 support'
+ 'libpng: for PNG support')
+ backup=('etc/ImageMagick/coder.xml'
+ 'etc/ImageMagick/colors.xml'
+ 'etc/ImageMagick/delegates.xml'
+ 'etc/ImageMagick/log.xml'
+ 'etc/ImageMagick/magic.xml'
+ 'etc/ImageMagick/mime.xml'
+ 'etc/ImageMagick/policy.xml'
+ 'etc/ImageMagick/sRGB.icc'
+ 'etc/ImageMagick/thresholds.xml'
+ 'etc/ImageMagick/type.xml'
+ 'etc/ImageMagick/type-dejavu.xml'
+ 'etc/ImageMagick/type-ghostscript.xml'
+ 'etc/ImageMagick/type-windows.xml')
+ options=('!makeflags' '!docs' 'libtool')
+
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+ make DESTDIR="${pkgdir}" install
+ chmod 755 "${pkgdir}/usr/lib/perl5/vendor_perl/auto/Image/Magick/Magick.so"
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/imagemagick/LICENSE"
+ install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/imagemagick/NOTICE"
+
+#Cleaning
+ find "${pkgdir}" -name '*.bs' -delete
+ rm -f "${pkgdir}"/usr/lib/*.la
+}
+
+package_imagemagick-doc() {
+ pkgdesc="The ImageMagick documentation (utilities manuals and libraries API)"
+ depends=()
+ options=('!makeflags')
+
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+ make DESTDIR="${pkgdir}" install-data-html
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/imagemagick-doc/LICENSE"
+ install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/imagemagick-doc/NOTICE"
+}
diff --git a/staging/imagemagick/perlmagick.rpath.patch b/staging/imagemagick/perlmagick.rpath.patch
new file mode 100644
index 000000000..958c0f2ee
--- /dev/null
+++ b/staging/imagemagick/perlmagick.rpath.patch
@@ -0,0 +1,10 @@
+--- Makefile.in.orig 2009-05-26 16:22:11.000000000 -0300
++++ Makefile.in 2009-05-26 16:23:27.000000000 -0300
+@@ -10067,6 +10067,7 @@
+
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@$(PERLMAKEFILE): perl-sources $(PERLMAKEMAKER)
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @PERL@ Makefile.PL $(PERL_MAKE_OPTIONS)
++@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @SED@ -i 's|LD_RUN_PATH|DIE_LD_RUN_PATH_DIE|g' Makefile
+
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@install-exec-perl: $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) $(PERLMAKEFILE)
+ @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && $(MAKE) CC='@CC@' install
diff --git a/staging/kdelibs3/PKGBUILD b/staging/kdelibs3/PKGBUILD
new file mode 100644
index 000000000..e59d262b1
--- /dev/null
+++ b/staging/kdelibs3/PKGBUILD
@@ -0,0 +1,94 @@
+# $Id: PKGBUILD 146921 2012-01-19 08:17:01Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=kdelibs3
+pkgver=3.5.10
+pkgrel=12
+pkgdesc='KDE3 Core Libraries'
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL')
+depends=('libxslt' 'pcre' 'libart-lgpl' 'alsa-lib' 'libcups' 'jasper'
+ 'libidn' 'openexr' 'aspell' 'qt3' 'ca-certificates')
+makedepends=('cups' 'hspell')
+optdepends=('hspell: for Hebrew spell-checking support')
+options=('libtool')
+install=kdelibs3.install
+source=("ftp://ftp.kde.org/pub/kde/stable/${pkgver}/src/kdelibs-${pkgver}.tar.bz2"
+ 'ftp://ftp.archlinux.org/other/kde/kde-3.5-1074156.patch.gz'
+ 'acinclude.patch'
+ 'kde3.profile'
+ 'kde4-compatibility.patch'
+ 'kconf_updaterc'
+ 'openssl.patch'
+ 'kdelibs3-missing-include.patch')
+sha1sums=('c930a25f4419134def55b8466c3a6f737227fb82'
+ 'c8ca21e4848a627760746d0a8a64bf4f90684c3e'
+ '50c9de71b102507fb78b192ecc22a5fc3e031bc3'
+ 'fbd6e773edf3e8bb8e1272629984025e041da2ca'
+ '5fbbf7a5e2032878815fa055bfb5020f478d2b25'
+ '35e56fe4c5f71685e64b13f448dcacc620166e06'
+ '50e92950498463defb9149ffcf8cbc2e8cd1063b'
+ 'e5f5b8c060a2db9cedb82bf18caadfa869921779')
+
+build() {
+ cd "$srcdir"/kdelibs-${pkgver}
+
+ . /etc/profile.d/qt3.sh
+ . "$srcdir"/kde3.profile
+
+ patch -p0 -i "$srcdir"/kde-3.5-1074156.patch
+ patch -p1 -i "$srcdir"/acinclude.patch
+ patch -p1 -i "$srcdir"/kde4-compatibility.patch
+ patch -p1 -i "${srcdir}"/openssl.patch
+ patch -p0 -i "$srcdir"/kdelibs3-missing-include.patch
+
+ sed -iautomake -e 's|automake\*1.10\*|automake\*1.1[0-5]\*|' admin/cvs.sh
+ make -f admin/Makefile.common cvs
+
+ ./configure --prefix=/opt/kde \
+ --with-distribution='Arch Linux' \
+ --with-alsa \
+ --disable-debug \
+ --disable-dnssd \
+ --disable-dnotify \
+ --enable-inotify \
+ --enable-sendfile \
+ --without-lua \
+ --with-hspell \
+ --enable-gcc-hidden-visibility \
+ --enable-final \
+ --enable-new-ldflags LDFLAGS="${LDFLAGS} -L/opt/qt/lib" \
+ --without-arts \
+ --disable-libfam
+ make
+}
+
+package() {
+ cd "$srcdir"/kdelibs-${pkgver}
+
+ make DESTDIR="$pkgdir" install
+
+ # disable broken kconf_update by default
+ install -D -m644 "$srcdir"/kconf_updaterc \
+ "$pkgdir"/opt/kde/share/config/kconf_updaterc
+
+ # install KDE3 profile
+ install -D -m755 "$srcdir"/kde3.profile "$pkgdir"/etc/profile.d/kde3.sh
+ # make KDE3 styles available to Qt3
+ install -d -m755 "$pkgdir"/opt/qt/plugins
+ ln -sf /opt/kde/lib/kde3/plugins/styles "$pkgdir"/opt/qt/plugins/styles
+
+ # cert bundle seems to be hardcoded
+ # link it to the one from ca-certificates
+ rm -f "$pkgdir"/opt/kde/share/apps/kssl/ca-bundle.crt
+ ln -sf /etc/ssl/certs/ca-certificates.crt "$pkgdir"/opt/kde/share/apps/kssl/ca-bundle.crt
+
+ # we don't have khelpcenter anyway
+ rm -rf "$pkgdir"/opt/kde/share/doc
+
+ install -d -m755 "${pkgdir}"/etc/ld.so.conf.d/
+ echo '/opt/kde/lib' > "${pkgdir}"/etc/ld.so.conf.d/kdelibs3.conf
+}
diff --git a/staging/kdelibs3/acinclude.patch b/staging/kdelibs3/acinclude.patch
new file mode 100644
index 000000000..0610d6df5
--- /dev/null
+++ b/staging/kdelibs3/acinclude.patch
@@ -0,0 +1,66 @@
+2009-12-10 Stepan Kasal <skasal@redhat.com>
+
+The change of implementation of AC_REQUIRE in 2.64 caused a regression
+in the arts project.
+This can be fixed by shuffling some macro calls.
+
+I suppose that most of this patch will not be needed with a future
+release of Autoconf.
+But the last chunk of this patch is a real bug in this source and
+should go upstream.
+
+--- arts-1.5.10/admin/acinclude.m4.in 2008-08-20 18:07:05.000000000 +0200
++++ arts-1.5.10/admin/acinclude.m4.in 2009-12-09 17:30:57.000000000 +0100
+@@ -3081,8 +3081,18 @@
+ fi
+ ])
+
++AC_DEFUN([AC_CHECK_COMPILERS_CC],
++[
++ dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
++ CFLAGS=" $CFLAGS"
++ AC_PROG_CC
++ CXXFLAGS=" $CXXFLAGS"
++ AC_PROG_CXX
++])
++
+ AC_DEFUN([AC_CHECK_COMPILERS],
+ [
++ AC_REQUIRE([AC_CHECK_COMPILERS_CC])
+ AC_ARG_ENABLE(debug,
+ AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]),
+ [
+@@ -3141,11 +3151,6 @@
+ [kde_use_profiling="no"]
+ )
+
+- dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
+- CFLAGS=" $CFLAGS"
+-
+- AC_PROG_CC
+-
+ AC_PROG_CPP
+
+ if test "$GCC" = "yes"; then
+@@ -3174,10 +3179,6 @@
+ LDFLAGS=""
+ fi
+
+- CXXFLAGS=" $CXXFLAGS"
+-
+- AC_PROG_CXX
+-
+ KDE_CHECK_FOR_BAD_COMPILER
+
+ if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
+@@ -3503,8 +3504,8 @@
+ AC_REQUIRE([AC_LIBTOOL_DLOPEN])
+ AC_REQUIRE([KDE_CHECK_LIB64])
+
+-AC_OBJEXT
+-AC_EXEEXT
++AC_REQUIRE([AC_OBJEXT])
++AC_REQUIRE([AC_EXEEXT])
+
+ AM_PROG_LIBTOOL
+ AC_LIBTOOL_CXX
diff --git a/staging/kdelibs3/kconf_updaterc b/staging/kdelibs3/kconf_updaterc
new file mode 100644
index 000000000..24c2623fb
--- /dev/null
+++ b/staging/kdelibs3/kconf_updaterc
@@ -0,0 +1,2 @@
+updateInfoAdded=false
+autoUpdateDisabled=true
diff --git a/staging/kdelibs3/kde3.profile b/staging/kdelibs3/kde3.profile
new file mode 100755
index 000000000..ef09631ff
--- /dev/null
+++ b/staging/kdelibs3/kde3.profile
@@ -0,0 +1,6 @@
+export PATH=$PATH:/opt/kde/bin
+if [ ! -z $XDG_DATA_DIRS ]; then
+ export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/kde/share
+else
+ export XDG_DATA_DIRS=/opt/kde/share
+fi
diff --git a/staging/kdelibs3/kde4-compatibility.patch b/staging/kdelibs3/kde4-compatibility.patch
new file mode 100644
index 000000000..129c314ae
--- /dev/null
+++ b/staging/kdelibs3/kde4-compatibility.patch
@@ -0,0 +1,1012 @@
+diff -Nura kdelibs-3.5.10/kdecore/kcrash.cpp kdelibs-3.5.10.new/kdecore/kcrash.cpp
+--- kdelibs-3.5.10/kdecore/kcrash.cpp 2007-01-15 12:34:17.000000000 +0100
++++ kdelibs-3.5.10.new/kdecore/kcrash.cpp 2009-08-06 06:18:06.000000000 +0200
+@@ -158,7 +158,7 @@
+ int i = 0;
+
+ // argument 0 has to be drkonqi
+- argv[i++] = "drkonqi";
++ argv[i++] = "/usr/lib/kde4/libexec/drkonqi";
+
+ #if defined Q_WS_X11
+ // start up on the correct display
+@@ -325,7 +325,7 @@
+ _exit(253);
+ if(!geteuid() && setuid(getuid()) < 0)
+ _exit(253);
+- execvp("drkonqi", const_cast< char** >( argv ));
++ execvp("/usr/lib/kde4/libexec/drkonqi", const_cast< char** >( argv ));
+ _exit(errno);
+ }
+ else
+diff -Nura kdelibs-3.5.10/kded/Makefile.am kdelibs-3.5.10.new/kded/Makefile.am
+--- kdelibs-3.5.10/kded/Makefile.am 2005-10-10 17:06:29.000000000 +0200
++++ kdelibs-3.5.10.new/kded/Makefile.am 2009-08-06 06:21:37.000000000 +0200
+@@ -58,7 +58,7 @@
+ servicetype_DATA = kdedmodule.desktop
+ servicetypedir = $(kde_servicetypesdir)
+
+-xdg_menu_DATA = applications.menu
++xdg_menu_DATA = kde-applications.menu
+
+ update_DATA = kded.upd
+ updatedir = $(kde_datadir)/kconf_update
+diff -Nura kdelibs-3.5.10/kded/Makefile.in kdelibs-3.5.10.new/kded/Makefile.in
+--- kdelibs-3.5.10/kded/Makefile.in 2008-08-20 18:05:57.000000000 +0200
++++ kdelibs-3.5.10.new/kded/Makefile.in 2009-08-06 06:22:19.000000000 +0200
+@@ -535,7 +535,7 @@
+
+ servicetype_DATA = kdedmodule.desktop
+ servicetypedir = $(kde_servicetypesdir)
+-xdg_menu_DATA = applications.menu
++xdg_menu_DATA = kde-applications.menu
+ update_DATA = kded.upd
+ updatedir = $(kde_datadir)/kconf_update
+ #>- all: all-am
+@@ -1173,7 +1173,7 @@
+ -rm -f kded.moc vfolder_menu.moc kdedmodule.moc kbuildsycoca.moc
+
+ #>+ 2
+-KDE_DIST=DESIGN kded.upd Makefile.in HOWTO vfolder_menu.h applications.menu kded.h kdedmodule.desktop README.kded kctimefactory.h Makefile.am
++KDE_DIST=DESIGN kded.upd Makefile.in HOWTO vfolder_menu.h kde-applications.menu kded.h kdedmodule.desktop README.kded kctimefactory.h Makefile.am
+
+ #>+ 2
+ docs-am:
+diff -Nura kdelibs-3.5.10/kded/applications.menu kdelibs-3.5.10.new/kded/applications.menu
+--- kdelibs-3.5.10/kded/applications.menu 2005-09-10 10:27:40.000000000 +0200
++++ kdelibs-3.5.10.new/kded/applications.menu 1970-01-01 01:00:00.000000000 +0100
+@@ -1,469 +0,0 @@
+- <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
+- "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
+-
+-<Menu>
+- <Name>Applications</Name>
+- <Directory>kde-main.directory</Directory>
+- <!-- Search the default locations -->
+- <KDELegacyDirs/>
+- <DefaultAppDirs/>
+- <DefaultDirectoryDirs/>
+- <DefaultLayout>
+- <Merge type="menus"/>
+- <Merge type="files"/>
+- <Separator/>
+- <Menuname>More</Menuname>
+- </DefaultLayout>
+- <Layout>
+- <Merge type="menus"/>
+- <Menuname>Applications</Menuname>
+- <Merge type="files"/>
+- </Layout>
+-
+- <Menu>
+- <Name>Applications</Name>
+- <Directory>kde-unknown.directory</Directory>
+- <OnlyUnallocated/>
+- <Include>
+- <Not>
+- <!-- Don't list non-KDE core applications -->
+- <And>
+- <Category>Core</Category>
+- <Not><Category>KDE</Category></Not>
+- </And>
+- <!-- Don't list SUSE's YaST in here -->
+- <Category>X-SuSE-YaST</Category>
+- </Not>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Development</Name>
+- <Directory>kde-development.directory</Directory>
+- <Menu>
+- <Name>X-KDE-KDevelopIDE</Name>
+- <Directory>kde-development-kdevelop.directory</Directory>
+- <Include>
+- <And>
+- <Category>Development</Category>
+- <Category>X-KDE-KDevelopIDE</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Translation</Name>
+- <Directory>kde-development-translation.directory</Directory>
+- <Include>
+- <And>
+- <Category>Development</Category>
+- <Category>Translation</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Web Development</Name>
+- <Directory>kde-development-webdevelopment.directory</Directory>
+- <Include>
+- <And>
+- <Category>Development</Category>
+- <Category>WebDevelopment</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Include>
+- <And>
+- <Category>Development</Category>
+- <Not><Category>X-KDE-KDevelopIDE</Category></Not>
+- <Not><Category>Translation</Category></Not>
+- <Not><Category>WebDevelopment</Category></Not>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Science</Name>
+- <Directory>kde-science.directory</Directory>
+- <Include>
+- <And><!-- Include /any/ Science app which is not an Education app -->
+- <Or>
+- <Category>Astronomy</Category>
+- <Category>Biology</Category>
+- <Category>Chemistry</Category>
+- <Category>Geology</Category>
+- <Category>MedicalSoftware</Category>
+- <Category>Physics</Category>
+- <Category>Math</Category>
+- <Category>Science</Category>
+- </Or>
+- <Not><Category>Education</Category></Not>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Edutainment</Name>
+- <Directory>kde-edutainment.directory</Directory>
+- <Menu>
+- <Name>Languages</Name>
+- <Directory>kde-edu-languages.directory</Directory>
+- <Include>
+- <And>
+- <Category>Education</Category>
+- <Or>
+- <Category>Languages</Category>
+- <Category>X-KDE-Edu-Language</Category>
+- </Or>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Mathematics</Name>
+- <Directory>kde-edu-mathematics.directory</Directory>
+- <Include>
+- <And>
+- <Category>Education</Category>
+- <Category>Math</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Miscellaneous</Name>
+- <Directory>kde-edu-miscellaneous.directory</Directory>
+- <Include>
+- <And>
+- <Category>Education</Category>
+- <Not>
+- <Category>Languages</Category>
+- <Category>X-KDE-Edu-Language</Category>
+- <Category>Math</Category>
+- <Category>Science</Category>
+- <Category>Teaching</Category>
+- <Category>X-KDE-Edu-Teaching</Category>
+- </Not>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Science</Name>
+- <Directory>kde-edu-science.directory</Directory>
+- <Include>
+- <And>
+- <Category>Education</Category>
+- <Category>Science</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Tools</Name>
+- <Directory>kde-edu-tools.directory</Directory>
+- <Include>
+- <And>
+- <Category>Education</Category>
+- <Or>
+- <Category>Teaching</Category>
+- <Category>X-KDE-Edu-Teaching</Category>
+- </Or>
+- </And>
+- </Include>
+- </Menu>
+- </Menu>
+- <Menu>
+- <Name>Games</Name>
+- <Directory>kde-games.directory</Directory>
+- <Menu>
+- <Name>Arcade</Name>
+- <Directory>kde-games-arcade.directory</Directory>
+- <Include>
+- <And>
+- <Category>Game</Category>
+- <Category>ArcadeGame</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Board</Name>
+- <Directory>kde-games-board.directory</Directory>
+- <Include>
+- <And>
+- <Category>Game</Category>
+- <Category>BoardGame</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Card</Name>
+- <Directory>kde-games-card.directory</Directory>
+- <Include>
+- <And>
+- <Category>Game</Category>
+- <Category>CardGame</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Kidsgames</Name>
+- <Directory>kde-games-kids.directory</Directory>
+- <Include>
+- <And>
+- <Category>Game</Category>
+- <Or>
+- <Category>X-KDE-KidsGame</Category>
+- <Category>KidsGame</Category>
+- </Or>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>TacticStrategy</Name>
+- <Directory>kde-games-strategy.directory</Directory>
+- <Include>
+- <And>
+- <Category>Game</Category>
+- <Category>StrategyGame</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Include>
+- <And>
+- <Category>Game</Category>
+- <Not>
+- <Category>ArcadeGame</Category>
+- <Category>BoardGame</Category>
+- <Category>CardGame</Category>
+- <Category>X-KDE-KidsGame</Category>
+- <Category>KidsGame</Category>
+- <Category>StrategyGame</Category>
+- </Not>
+- </And>
+- </Include>
+- <Menu>
+- <Name>Toys</Name>
+- <Directory>kde-toys.directory</Directory>
+- <Include>
+- <Category>Amusement</Category>
+- </Include>
+- </Menu>
+- </Menu>
+- <Menu>
+- <Name>Graphics</Name>
+- <Directory>kde-graphics.directory</Directory>
+- <Include>
+- <And>
+- <Category>Graphics</Category>
+- <Not><Category>X-KDE-More</Category></Not>
+- </And>
+- </Include>
+- <Menu>
+- <Name>More</Name>
+- <Directory>kde-more.directory</Directory>
+- <Include>
+- <And>
+- <Category>Graphics</Category>
+- <Category>X-KDE-More</Category>
+- </And>
+- </Include>
+- </Menu>
+- </Menu>
+- <Menu>
+- <Name>Internet</Name>
+- <Directory>kde-internet.directory</Directory>
+- <Include>
+- <And>
+- <Category>Network</Category>
+- <Not><Category>X-KDE-More</Category></Not>
+- </And>
+- </Include>
+- <Menu>
+- <Name>Terminal</Name>
+- <Directory>kde-internet-terminal.directory</Directory>
+- </Menu>
+- <Menu>
+- <Name>More</Name>
+- <Directory>kde-more.directory</Directory>
+- <Include>
+- <And>
+- <Category>Network</Category>
+- <Category>X-KDE-More</Category>
+- </And>
+- </Include>
+- </Menu>
+- </Menu>
+- <Menu>
+- <Name>Multimedia</Name>
+- <Directory>kde-multimedia.directory</Directory>
+- <Include>
+- <And>
+- <Category>AudioVideo</Category>
+- <Not><Category>X-KDE-More</Category></Not>
+- </And>
+- </Include>
+- <Menu>
+- <Name>More</Name>
+- <Directory>kde-more.directory</Directory>
+- <Include>
+- <And>
+- <Category>AudioVideo</Category>
+- <Category>X-KDE-More</Category>
+- </And>
+- </Include>
+- </Menu>
+- </Menu>
+- <Menu>
+- <Name>Office</Name>
+- <Directory>kde-office.directory</Directory>
+- <Layout>
+- <Merge type="menus"/>
+- <Filename>kde-koshell.desktop</Filename>
+- <Filename>kde-Kontact.desktop</Filename>
+- <Separator/>
+- <Filename>kde-kword.desktop</Filename>
+- <Filename>kde-kspread.desktop</Filename>
+- <Filename>kde-kpresenter.desktop</Filename>
+- <Merge type="files"/>
+- <Separator/>
+- <Menuname>More</Menuname>
+- </Layout>
+- <Include>
+- <And>
+- <Category>Office</Category>
+- <Not><Category>X-KDE-More</Category></Not>
+- </And>
+- </Include>
+- <Menu>
+- <Name>More</Name>
+- <Directory>kde-more.directory</Directory>
+- <Include>
+- <And>
+- <Category>Office</Category>
+- <Category>X-KDE-More</Category>
+- </And>
+- </Include>
+- </Menu>
+- </Menu>
+- <Menu>
+- <Name>Settingsmenu</Name>
+- <Directory>kde-settingsmenu.directory</Directory>
+- <Include>
+- <Category>Settings</Category>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>System</Name>
+- <Directory>kde-system.directory</Directory>
+- <Include>
+- <And>
+- <Category>System</Category>
+- <Not><Category>X-KDE-More</Category></Not>
+- </And>
+- </Include>
+- <Menu>
+- <Name>More</Name>
+- <Directory>kde-more.directory</Directory>
+- <Include>
+- <And>
+- <Category>System</Category>
+- <Category>X-KDE-More</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>ScreenSavers</Name>
+- <Directory>kde-system-screensavers.directory</Directory>
+- </Menu>
+- <Menu>
+- <Name>Terminal</Name>
+- <Directory>kde-system-terminal.directory</Directory>
+- </Menu>
+- </Menu>
+- <Menu>
+- <Name>Utilities</Name>
+- <Directory>kde-utilities.directory</Directory>
+- <Include>
+- <And>
+- <Category>Utility</Category>
+- <Not><Category>Accessibility</Category></Not>
+- <Not><Category>X-KDE-Utilities-Desktop</Category></Not>
+- <Not><Category>X-KDE-Utilities-File</Category></Not>
+- <Not><Category>X-KDE-Utilities-Peripherals</Category></Not>
+- <Not><Category>X-KDE-Utilities-PIM</Category></Not>
+- <Not><Category>X-KDE-More</Category></Not>
+- </And>
+- </Include>
+- <Menu>
+- <Name>Accessibility</Name>
+- <Directory>kde-utilities-accessibility.directory</Directory>
+- <Include>
+- <And>
+- <Category>Utility</Category>
+- <Category>Accessibility</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Desktop</Name>
+- <Directory>kde-utilities-desktop.directory</Directory>
+- <Include>
+- <And>
+- <Category>Utility</Category>
+- <Category>X-KDE-Utilities-Desktop</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Editors</Name>
+- <Directory>kde-editors.directory</Directory>
+- <Include>
+- <Category>TextEditor</Category>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>File</Name>
+- <Directory>kde-utilities-file.directory</Directory>
+- <Include>
+- <And>
+- <Category>Utility</Category>
+- <Category>X-KDE-Utilities-File</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>Peripherals</Name>
+- <Directory>kde-utilities-peripherals.directory</Directory>
+- <Include>
+- <And>
+- <Category>Utility</Category>
+- <Category>X-KDE-Utilities-Peripherals</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>PIM</Name>
+- <Directory>kde-utilities-pim.directory</Directory>
+- <Include>
+- <And>
+- <Category>Utility</Category>
+- <Category>X-KDE-Utilities-PIM</Category>
+- </And>
+- </Include>
+- </Menu>
+- <Menu>
+- <Name>XUtilities</Name>
+- <Directory>kde-utilities-xutils.directory</Directory>
+- </Menu>
+- <Menu>
+- <Name>More</Name>
+- <Directory>kde-more.directory</Directory>
+- <Include>
+- <And>
+- <Category>Utility</Category>
+- <Category>X-KDE-More</Category>
+- </And>
+- </Include>
+- </Menu>
+- </Menu>
+- <Include>
+- <And>
+- <Category>KDE</Category>
+- <Category>Core</Category>
+- </And>
+- </Include>
+- <DefaultMergeDirs/>
+- <MergeFile>applications-kmenuedit.menu</MergeFile>
+-</Menu>
+diff -Nura kdelibs-3.5.10/kded/kbuildsycoca.cpp kdelibs-3.5.10.new/kded/kbuildsycoca.cpp
+--- kdelibs-3.5.10/kded/kbuildsycoca.cpp 2007-05-14 09:52:43.000000000 +0200
++++ kdelibs-3.5.10.new/kded/kbuildsycoca.cpp 2009-08-06 06:23:48.000000000 +0200
+@@ -379,7 +379,7 @@
+ connect(g_vfolder, SIGNAL(newService(const QString &, KService **)),
+ this, SLOT(slotCreateEntry(const QString &, KService **)));
+
+- VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true);
++ VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("kde-applications.menu", true);
+
+ KServiceGroup *entry = g_bsgf->addNew("/", kdeMenu->directoryFile, 0, false);
+ entry->setLayoutInfo(kdeMenu->layoutList);
+diff -Nura kdelibs-3.5.10/kded/kde-applications.menu kdelibs-3.5.10.new/kded/kde-applications.menu
+--- kdelibs-3.5.10/kded/kde-applications.menu 1970-01-01 01:00:00.000000000 +0100
++++ kdelibs-3.5.10.new/kded/kde-applications.menu 2005-09-10 10:27:40.000000000 +0200
+@@ -0,0 +1,469 @@
++ <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
++ "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
++
++<Menu>
++ <Name>Applications</Name>
++ <Directory>kde-main.directory</Directory>
++ <!-- Search the default locations -->
++ <KDELegacyDirs/>
++ <DefaultAppDirs/>
++ <DefaultDirectoryDirs/>
++ <DefaultLayout>
++ <Merge type="menus"/>
++ <Merge type="files"/>
++ <Separator/>
++ <Menuname>More</Menuname>
++ </DefaultLayout>
++ <Layout>
++ <Merge type="menus"/>
++ <Menuname>Applications</Menuname>
++ <Merge type="files"/>
++ </Layout>
++
++ <Menu>
++ <Name>Applications</Name>
++ <Directory>kde-unknown.directory</Directory>
++ <OnlyUnallocated/>
++ <Include>
++ <Not>
++ <!-- Don't list non-KDE core applications -->
++ <And>
++ <Category>Core</Category>
++ <Not><Category>KDE</Category></Not>
++ </And>
++ <!-- Don't list SUSE's YaST in here -->
++ <Category>X-SuSE-YaST</Category>
++ </Not>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Development</Name>
++ <Directory>kde-development.directory</Directory>
++ <Menu>
++ <Name>X-KDE-KDevelopIDE</Name>
++ <Directory>kde-development-kdevelop.directory</Directory>
++ <Include>
++ <And>
++ <Category>Development</Category>
++ <Category>X-KDE-KDevelopIDE</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Translation</Name>
++ <Directory>kde-development-translation.directory</Directory>
++ <Include>
++ <And>
++ <Category>Development</Category>
++ <Category>Translation</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Web Development</Name>
++ <Directory>kde-development-webdevelopment.directory</Directory>
++ <Include>
++ <And>
++ <Category>Development</Category>
++ <Category>WebDevelopment</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Include>
++ <And>
++ <Category>Development</Category>
++ <Not><Category>X-KDE-KDevelopIDE</Category></Not>
++ <Not><Category>Translation</Category></Not>
++ <Not><Category>WebDevelopment</Category></Not>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Science</Name>
++ <Directory>kde-science.directory</Directory>
++ <Include>
++ <And><!-- Include /any/ Science app which is not an Education app -->
++ <Or>
++ <Category>Astronomy</Category>
++ <Category>Biology</Category>
++ <Category>Chemistry</Category>
++ <Category>Geology</Category>
++ <Category>MedicalSoftware</Category>
++ <Category>Physics</Category>
++ <Category>Math</Category>
++ <Category>Science</Category>
++ </Or>
++ <Not><Category>Education</Category></Not>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Edutainment</Name>
++ <Directory>kde-edutainment.directory</Directory>
++ <Menu>
++ <Name>Languages</Name>
++ <Directory>kde-edu-languages.directory</Directory>
++ <Include>
++ <And>
++ <Category>Education</Category>
++ <Or>
++ <Category>Languages</Category>
++ <Category>X-KDE-Edu-Language</Category>
++ </Or>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Mathematics</Name>
++ <Directory>kde-edu-mathematics.directory</Directory>
++ <Include>
++ <And>
++ <Category>Education</Category>
++ <Category>Math</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Miscellaneous</Name>
++ <Directory>kde-edu-miscellaneous.directory</Directory>
++ <Include>
++ <And>
++ <Category>Education</Category>
++ <Not>
++ <Category>Languages</Category>
++ <Category>X-KDE-Edu-Language</Category>
++ <Category>Math</Category>
++ <Category>Science</Category>
++ <Category>Teaching</Category>
++ <Category>X-KDE-Edu-Teaching</Category>
++ </Not>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Science</Name>
++ <Directory>kde-edu-science.directory</Directory>
++ <Include>
++ <And>
++ <Category>Education</Category>
++ <Category>Science</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Tools</Name>
++ <Directory>kde-edu-tools.directory</Directory>
++ <Include>
++ <And>
++ <Category>Education</Category>
++ <Or>
++ <Category>Teaching</Category>
++ <Category>X-KDE-Edu-Teaching</Category>
++ </Or>
++ </And>
++ </Include>
++ </Menu>
++ </Menu>
++ <Menu>
++ <Name>Games</Name>
++ <Directory>kde-games.directory</Directory>
++ <Menu>
++ <Name>Arcade</Name>
++ <Directory>kde-games-arcade.directory</Directory>
++ <Include>
++ <And>
++ <Category>Game</Category>
++ <Category>ArcadeGame</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Board</Name>
++ <Directory>kde-games-board.directory</Directory>
++ <Include>
++ <And>
++ <Category>Game</Category>
++ <Category>BoardGame</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Card</Name>
++ <Directory>kde-games-card.directory</Directory>
++ <Include>
++ <And>
++ <Category>Game</Category>
++ <Category>CardGame</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Kidsgames</Name>
++ <Directory>kde-games-kids.directory</Directory>
++ <Include>
++ <And>
++ <Category>Game</Category>
++ <Or>
++ <Category>X-KDE-KidsGame</Category>
++ <Category>KidsGame</Category>
++ </Or>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>TacticStrategy</Name>
++ <Directory>kde-games-strategy.directory</Directory>
++ <Include>
++ <And>
++ <Category>Game</Category>
++ <Category>StrategyGame</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Include>
++ <And>
++ <Category>Game</Category>
++ <Not>
++ <Category>ArcadeGame</Category>
++ <Category>BoardGame</Category>
++ <Category>CardGame</Category>
++ <Category>X-KDE-KidsGame</Category>
++ <Category>KidsGame</Category>
++ <Category>StrategyGame</Category>
++ </Not>
++ </And>
++ </Include>
++ <Menu>
++ <Name>Toys</Name>
++ <Directory>kde-toys.directory</Directory>
++ <Include>
++ <Category>Amusement</Category>
++ </Include>
++ </Menu>
++ </Menu>
++ <Menu>
++ <Name>Graphics</Name>
++ <Directory>kde-graphics.directory</Directory>
++ <Include>
++ <And>
++ <Category>Graphics</Category>
++ <Not><Category>X-KDE-More</Category></Not>
++ </And>
++ </Include>
++ <Menu>
++ <Name>More</Name>
++ <Directory>kde-more.directory</Directory>
++ <Include>
++ <And>
++ <Category>Graphics</Category>
++ <Category>X-KDE-More</Category>
++ </And>
++ </Include>
++ </Menu>
++ </Menu>
++ <Menu>
++ <Name>Internet</Name>
++ <Directory>kde-internet.directory</Directory>
++ <Include>
++ <And>
++ <Category>Network</Category>
++ <Not><Category>X-KDE-More</Category></Not>
++ </And>
++ </Include>
++ <Menu>
++ <Name>Terminal</Name>
++ <Directory>kde-internet-terminal.directory</Directory>
++ </Menu>
++ <Menu>
++ <Name>More</Name>
++ <Directory>kde-more.directory</Directory>
++ <Include>
++ <And>
++ <Category>Network</Category>
++ <Category>X-KDE-More</Category>
++ </And>
++ </Include>
++ </Menu>
++ </Menu>
++ <Menu>
++ <Name>Multimedia</Name>
++ <Directory>kde-multimedia.directory</Directory>
++ <Include>
++ <And>
++ <Category>AudioVideo</Category>
++ <Not><Category>X-KDE-More</Category></Not>
++ </And>
++ </Include>
++ <Menu>
++ <Name>More</Name>
++ <Directory>kde-more.directory</Directory>
++ <Include>
++ <And>
++ <Category>AudioVideo</Category>
++ <Category>X-KDE-More</Category>
++ </And>
++ </Include>
++ </Menu>
++ </Menu>
++ <Menu>
++ <Name>Office</Name>
++ <Directory>kde-office.directory</Directory>
++ <Layout>
++ <Merge type="menus"/>
++ <Filename>kde-koshell.desktop</Filename>
++ <Filename>kde-Kontact.desktop</Filename>
++ <Separator/>
++ <Filename>kde-kword.desktop</Filename>
++ <Filename>kde-kspread.desktop</Filename>
++ <Filename>kde-kpresenter.desktop</Filename>
++ <Merge type="files"/>
++ <Separator/>
++ <Menuname>More</Menuname>
++ </Layout>
++ <Include>
++ <And>
++ <Category>Office</Category>
++ <Not><Category>X-KDE-More</Category></Not>
++ </And>
++ </Include>
++ <Menu>
++ <Name>More</Name>
++ <Directory>kde-more.directory</Directory>
++ <Include>
++ <And>
++ <Category>Office</Category>
++ <Category>X-KDE-More</Category>
++ </And>
++ </Include>
++ </Menu>
++ </Menu>
++ <Menu>
++ <Name>Settingsmenu</Name>
++ <Directory>kde-settingsmenu.directory</Directory>
++ <Include>
++ <Category>Settings</Category>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>System</Name>
++ <Directory>kde-system.directory</Directory>
++ <Include>
++ <And>
++ <Category>System</Category>
++ <Not><Category>X-KDE-More</Category></Not>
++ </And>
++ </Include>
++ <Menu>
++ <Name>More</Name>
++ <Directory>kde-more.directory</Directory>
++ <Include>
++ <And>
++ <Category>System</Category>
++ <Category>X-KDE-More</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>ScreenSavers</Name>
++ <Directory>kde-system-screensavers.directory</Directory>
++ </Menu>
++ <Menu>
++ <Name>Terminal</Name>
++ <Directory>kde-system-terminal.directory</Directory>
++ </Menu>
++ </Menu>
++ <Menu>
++ <Name>Utilities</Name>
++ <Directory>kde-utilities.directory</Directory>
++ <Include>
++ <And>
++ <Category>Utility</Category>
++ <Not><Category>Accessibility</Category></Not>
++ <Not><Category>X-KDE-Utilities-Desktop</Category></Not>
++ <Not><Category>X-KDE-Utilities-File</Category></Not>
++ <Not><Category>X-KDE-Utilities-Peripherals</Category></Not>
++ <Not><Category>X-KDE-Utilities-PIM</Category></Not>
++ <Not><Category>X-KDE-More</Category></Not>
++ </And>
++ </Include>
++ <Menu>
++ <Name>Accessibility</Name>
++ <Directory>kde-utilities-accessibility.directory</Directory>
++ <Include>
++ <And>
++ <Category>Utility</Category>
++ <Category>Accessibility</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Desktop</Name>
++ <Directory>kde-utilities-desktop.directory</Directory>
++ <Include>
++ <And>
++ <Category>Utility</Category>
++ <Category>X-KDE-Utilities-Desktop</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Editors</Name>
++ <Directory>kde-editors.directory</Directory>
++ <Include>
++ <Category>TextEditor</Category>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>File</Name>
++ <Directory>kde-utilities-file.directory</Directory>
++ <Include>
++ <And>
++ <Category>Utility</Category>
++ <Category>X-KDE-Utilities-File</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>Peripherals</Name>
++ <Directory>kde-utilities-peripherals.directory</Directory>
++ <Include>
++ <And>
++ <Category>Utility</Category>
++ <Category>X-KDE-Utilities-Peripherals</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>PIM</Name>
++ <Directory>kde-utilities-pim.directory</Directory>
++ <Include>
++ <And>
++ <Category>Utility</Category>
++ <Category>X-KDE-Utilities-PIM</Category>
++ </And>
++ </Include>
++ </Menu>
++ <Menu>
++ <Name>XUtilities</Name>
++ <Directory>kde-utilities-xutils.directory</Directory>
++ </Menu>
++ <Menu>
++ <Name>More</Name>
++ <Directory>kde-more.directory</Directory>
++ <Include>
++ <And>
++ <Category>Utility</Category>
++ <Category>X-KDE-More</Category>
++ </And>
++ </Include>
++ </Menu>
++ </Menu>
++ <Include>
++ <And>
++ <Category>KDE</Category>
++ <Category>Core</Category>
++ </And>
++ </Include>
++ <DefaultMergeDirs/>
++ <MergeFile>applications-kmenuedit.menu</MergeFile>
++</Menu>
diff --git a/staging/kdelibs3/kdelibs3-missing-include.patch b/staging/kdelibs3/kdelibs3-missing-include.patch
new file mode 100644
index 000000000..5b84ef746
--- /dev/null
+++ b/staging/kdelibs3/kdelibs3-missing-include.patch
@@ -0,0 +1,10 @@
+--- kdeprint/cups/cupsdconf2/cups-util.c.old 2012-01-19 01:30:26.000000000 -0500
++++ kdeprint/cups/cupsdconf2/cups-util.c 2012-01-19 01:31:33.000000000 -0500
+@@ -2,6 +2,7 @@
+ #include <cups/http.h>
+ #include <cups/cups.h>
+ #include <stdlib.h>
++#include <stdio.h>
+ #include <fcntl.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
diff --git a/staging/kdelibs3/kdelibs3.install b/staging/kdelibs3/kdelibs3.install
new file mode 100644
index 000000000..7291ac0a2
--- /dev/null
+++ b/staging/kdelibs3/kdelibs3.install
@@ -0,0 +1,12 @@
+post_install() {
+ post_remove
+}
+
+post_upgrade() {
+ post_remove
+}
+
+post_remove() {
+ # this can be removed in future versions
+ sed -ie '/\/opt\/kde\/lib/d' etc/ld.so.conf
+}
diff --git a/staging/kdelibs3/openssl.patch b/staging/kdelibs3/openssl.patch
new file mode 100644
index 000000000..a948b884a
--- /dev/null
+++ b/staging/kdelibs3/openssl.patch
@@ -0,0 +1,180 @@
+diff -up kdelibs-3.5.10/kio/kssl/kopenssl.cc.ossl-1.x kdelibs-3.5.10/kio/kssl/kopenssl.cc
+--- kdelibs-3.5.10/kio/kssl/kopenssl.cc.ossl-1.x 2009-09-04 23:10:53.000000000 +0200
++++ kdelibs-3.5.10/kio/kssl/kopenssl.cc 2009-09-04 23:10:53.000000000 +0200
+@@ -96,9 +96,14 @@ static int (*K_BIO_write) (BIO *b, cons
+ static int (*K_PEM_ASN1_write_bio) (int (*)(),const char *,BIO *,char *,
+ const EVP_CIPHER *,unsigned char *,int ,
+ pem_password_cb *, void *) = 0L;
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++static int (*K_ASN1_item_i2d_fp)(ASN1_ITEM *,FILE *,unsigned char *) = 0L;
++static ASN1_ITEM *K_NETSCAPE_X509_it = 0L;
++#else
+ static ASN1_METHOD* (*K_X509_asn1_meth) (void) = 0L;
+ static int (*K_ASN1_i2d_fp)(int (*)(),FILE *,unsigned char *) = 0L;
+ static int (*K_i2d_ASN1_HEADER)(ASN1_HEADER *, unsigned char **) = 0L;
++#endif
+ static int (*K_X509_print_fp) (FILE *, X509*) = 0L;
+ static int (*K_i2d_PKCS12) (PKCS12*, unsigned char**) = 0L;
+ static int (*K_i2d_PKCS12_fp) (FILE *, PKCS12*) = 0L;
+@@ -430,9 +435,14 @@ KConfig *cfg;
+ K_BIO_ctrl = (long (*) (BIO *,int,long,void *)) _cryptoLib->symbol("BIO_ctrl");
+ K_BIO_write = (int (*) (BIO *b, const void *data, int len)) _cryptoLib->symbol("BIO_write");
+ K_PEM_ASN1_write_bio = (int (*)(int (*)(), const char *,BIO*, char*, const EVP_CIPHER *, unsigned char *, int, pem_password_cb *, void *)) _cryptoLib->symbol("PEM_ASN1_write_bio");
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ K_ASN1_item_i2d_fp = (int (*)(ASN1_ITEM *, FILE*, unsigned char *)) _cryptoLib->symbol("ASN1_item_i2d_fp");
++ K_NETSCAPE_X509_it = (ASN1_ITEM *) _cryptoLib->symbol("NETSCAPE_X509_it");
++#else
+ K_X509_asn1_meth = (ASN1_METHOD* (*)(void)) _cryptoLib->symbol("X509_asn1_meth");
+ K_ASN1_i2d_fp = (int (*)(int (*)(), FILE*, unsigned char *)) _cryptoLib->symbol("ASN1_i2d_fp");
+ K_i2d_ASN1_HEADER = (int (*)(ASN1_HEADER *, unsigned char **)) _cryptoLib->symbol("i2d_ASN1_HEADER");
++#endif
+ K_X509_print_fp = (int (*)(FILE*, X509*)) _cryptoLib->symbol("X509_print_fp");
+ K_i2d_PKCS12 = (int (*)(PKCS12*, unsigned char**)) _cryptoLib->symbol("i2d_PKCS12");
+ K_i2d_PKCS12_fp = (int (*)(FILE *, PKCS12*)) _cryptoLib->symbol("i2d_PKCS12_fp");
+@@ -594,7 +604,7 @@ KConfig *cfg;
+ K_SSL_set_session = (int (*)(SSL*,SSL_SESSION*)) _sslLib->symbol("SSL_set_session");
+ K_d2i_SSL_SESSION = (SSL_SESSION* (*)(SSL_SESSION**,unsigned char**, long)) _sslLib->symbol("d2i_SSL_SESSION");
+ K_i2d_SSL_SESSION = (int (*)(SSL_SESSION*,unsigned char**)) _sslLib->symbol("i2d_SSL_SESSION");
+- K_SSL_get_ciphers = (STACK *(*)(const SSL*)) _sslLib->symbol("SSL_get_ciphers");
++ K_SSL_get_ciphers = (STACK_OF(SSL_CIPHER) *(*)(const SSL*)) _sslLib->symbol("SSL_get_ciphers");
+ #endif
+
+
+@@ -982,7 +992,13 @@ int KOpenSSLProxy::PEM_write_bio_X509(BI
+ else return -1;
+ }
+
+-
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++int KOpenSSLProxy::ASN1_i2d_fp(FILE *out,unsigned char *x) {
++ if (K_ASN1_item_i2d_fp && K_NETSCAPE_X509_it)
++ return (K_ASN1_item_i2d_fp)(K_NETSCAPE_X509_it, out, x);
++ else return -1;
++}
++#else
+ ASN1_METHOD *KOpenSSLProxy::X509_asn1_meth(void) {
+ if (K_X509_asn1_meth) return (K_X509_asn1_meth)();
+ else return 0L;
+@@ -994,7 +1010,7 @@ int KOpenSSLProxy::ASN1_i2d_fp(FILE *out
+ return (K_ASN1_i2d_fp)((int (*)())K_i2d_ASN1_HEADER, out, x);
+ else return -1;
+ }
+-
++#endif
+
+ int KOpenSSLProxy::X509_print(FILE *fp, X509 *x) {
+ if (K_X509_print_fp) return (K_X509_print_fp)(fp, x);
+diff -up kdelibs-3.5.10/kio/kssl/kopenssl.h.ossl-1.x kdelibs-3.5.10/kio/kssl/kopenssl.h
+--- kdelibs-3.5.10/kio/kssl/kopenssl.h.ossl-1.x 2006-07-22 10:16:39.000000000 +0200
++++ kdelibs-3.5.10/kio/kssl/kopenssl.h 2009-09-04 23:10:53.000000000 +0200
+@@ -48,6 +48,9 @@ class KOpenSSLProxyPrivate;
+ #include <openssl/stack.h>
+ #include <openssl/bn.h>
+ #undef crypt
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++#define STACK _STACK
++#endif
+ #endif
+
+ #include <kstaticdeleter.h>
+@@ -446,12 +449,12 @@ public:
+ */
+ int PEM_write_bio_X509(BIO *bp, X509 *x);
+
+-
++#if OPENSSL_VERSION_NUMBER < 0x10000000L
+ /*
+ * X509_asn1_meth - used for netscape output
+ */
+ ASN1_METHOD *X509_asn1_meth();
+-
++#endif
+
+ /*
+ * ASN1_i2d_fp - used for netscape output
+@@ -531,6 +534,9 @@ public:
+ */
+ void sk_free(STACK *s);
+
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ void sk_free(void *s) { return sk_free(reinterpret_cast<STACK*>(s)); }
++#endif
+
+ /*
+ * Number of elements in the stack
+@@ -543,6 +549,9 @@ public:
+ */
+ char *sk_value(STACK *s, int n);
+
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ char *sk_value(void *s, int n) { return sk_value(reinterpret_cast<STACK*>(s), n); }
++#endif
+
+ /*
+ * Create a new stack
+@@ -555,6 +564,9 @@ public:
+ */
+ int sk_push(STACK *s, char *d);
+
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ int sk_push(void *s, void *d) { return sk_push(reinterpret_cast<STACK*>(s), reinterpret_cast<char*>(d)); }
++#endif
+
+ /*
+ * Duplicate the stack
+diff -up kdelibs-3.5.10/kio/kssl/ksmimecrypto.cc.ossl-1.x kdelibs-3.5.10/kio/kssl/ksmimecrypto.cc
+--- kdelibs-3.5.10/kio/kssl/ksmimecrypto.cc.ossl-1.x 2005-10-10 17:05:44.000000000 +0200
++++ kdelibs-3.5.10/kio/kssl/ksmimecrypto.cc 2009-09-04 23:10:53.000000000 +0200
+@@ -87,7 +87,7 @@ KSMIMECryptoPrivate::KSMIMECryptoPrivate
+
+
+ STACK_OF(X509) *KSMIMECryptoPrivate::certsToX509(QPtrList<KSSLCertificate> &certs) {
+- STACK_OF(X509) *x509 = sk_new(NULL);
++ STACK_OF(X509) *x509 = reinterpret_cast<STACK_OF(X509)*>(sk_new(NULL));
+ KSSLCertificate *cert = certs.first();
+ while(cert) {
+ sk_X509_push(x509, cert->getCert());
+diff -up kdelibs-3.5.10/kio/kssl/ksslcertificate.cc.ossl-1.x kdelibs-3.5.10/kio/kssl/ksslcertificate.cc
+--- kdelibs-3.5.10/kio/kssl/ksslcertificate.cc.ossl-1.x 2006-01-19 18:06:12.000000000 +0100
++++ kdelibs-3.5.10/kio/kssl/ksslcertificate.cc 2009-09-04 23:10:53.000000000 +0200
+@@ -1003,17 +1003,31 @@ return qba;
+ QByteArray KSSLCertificate::toNetscape() {
+ QByteArray qba;
+ #ifdef KSSL_HAVE_SSL
+-ASN1_HEADER ah;
+-ASN1_OCTET_STRING os;
+-KTempFile ktf;
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ NETSCAPE_X509 nx;
++ ASN1_OCTET_STRING hdr;
++#else
++ ASN1_HEADER ah;
++ ASN1_OCTET_STRING os;
++#endif
++ KTempFile ktf;
+
+- os.data = (unsigned char *)NETSCAPE_CERT_HDR;
+- os.length = strlen(NETSCAPE_CERT_HDR);
+- ah.header = &os;
+- ah.data = (char *)getCert();
+- ah.meth = d->kossl->X509_asn1_meth();
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ hdr.data = (unsigned char *)NETSCAPE_CERT_HDR;
++ hdr.length = strlen(NETSCAPE_CERT_HDR);
++ nx.header = &hdr;
++ nx.cert = getCert();
++
++ d->kossl->ASN1_i2d_fp(ktf.fstream(),(unsigned char *)&nx);
++#else
++ os.data = (unsigned char *)NETSCAPE_CERT_HDR;
++ os.length = strlen(NETSCAPE_CERT_HDR);
++ ah.header = &os;
++ ah.data = (char *)getCert();
++ ah.meth = d->kossl->X509_asn1_meth();
+
+- d->kossl->ASN1_i2d_fp(ktf.fstream(),(unsigned char *)&ah);
++ d->kossl->ASN1_i2d_fp(ktf.fstream(),(unsigned char *)&ah);
++#endif
+
+ ktf.close();
+
diff --git a/staging/lbreakout2/PKGBUILD b/staging/lbreakout2/PKGBUILD
new file mode 100644
index 000000000..814fc5520
--- /dev/null
+++ b/staging/lbreakout2/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 146936 2012-01-19 12:08:17Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=lbreakout2
+pkgver=2.6.3
+pkgrel=3
+pkgdesc="A breakout game with nice effects, graphics, and sounds"
+arch=('i686' 'x86_64')
+url="http://lgames.sourceforge.net"
+license=('GPL')
+depends=('sdl_mixer' 'libpng')
+backup=('var/games/lbreakout2/lbreakout2.hscr')
+source=("http://downloads.sourceforge.net/lgames/${pkgname}-${pkgver/_/-}.tar.gz"
+ 'lbreakout2.desktop'
+ 'lbreakout2.png')
+md5sums=('43900187bc935475cd6489569cd2230a'
+ '14cd34a72a8f4e3b8f385f9023625241'
+ '94e2fa393eb2a7d4494641dec580573b')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver/_/-}
+
+ ./configure --prefix=/usr \
+ --localstatedir=/var/games/lbreakout2
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver/_/-}
+
+ make DESTDIR=${pkgdir}/ doc_dir=/usr/share/doc install
+
+ chmod -R 755 ${pkgdir}/usr
+ chown root:games ${pkgdir}/var/games
+ chmod 775 ${pkgdir}/var/games
+ chown root:games ${pkgdir}/var/games/lbreakout2
+ chmod 755 ${pkgdir}/var/games/lbreakout2
+ chown root:games ${pkgdir}/var/games/lbreakout2/lbreakout2.hscr
+ chmod 775 ${pkgdir}/var/games/lbreakout2/lbreakout2.hscr
+
+ install -Dm644 ${srcdir}/lbreakout2.png ${pkgdir}/usr/share/pixmaps/lbreakout2.png
+ install -Dm644 ${srcdir}/lbreakout2.desktop ${pkgdir}/usr/share/applications/lbreakout2.desktop
+}
diff --git a/staging/lbreakout2/lbreakout2.desktop b/staging/lbreakout2/lbreakout2.desktop
new file mode 100644
index 000000000..c8ef945da
--- /dev/null
+++ b/staging/lbreakout2/lbreakout2.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=Linux Breakout 2
+Comment=Breakout and Arkanoid style arcade game
+Icon=/usr/share/pixmaps/lbreakout2.png
+TryExec=lbreakout2
+Exec=lbreakout2
+Terminal=false
+Categories=Application;Game;
diff --git a/staging/lbreakout2/lbreakout2.png b/staging/lbreakout2/lbreakout2.png
new file mode 100644
index 000000000..f9541e184
--- /dev/null
+++ b/staging/lbreakout2/lbreakout2.png
Binary files differ
diff --git a/staging/lcms/PKGBUILD b/staging/lcms/PKGBUILD
new file mode 100644
index 000000000..bb67c9e75
--- /dev/null
+++ b/staging/lcms/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 146955 2012-01-19 17:30:11Z eric $
+# Maintainer: Tobias Kieslich <neri@archlinux.org>
+# Contributor: Ben <contrasutra@myrealbox.com>
+
+pkgname=lcms
+pkgver=1.19
+pkgrel=2
+pkgdesc="Lightweight color management development library/engine"
+arch=('i686' 'x86_64')
+license=('custom')
+depends=('libtiff')
+url="http://www.littlecms.com"
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('8af94611baf20d9646c7c2c285859818')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm 644 COPYING \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/staging/libpano13/PKGBUILD b/staging/libpano13/PKGBUILD
new file mode 100644
index 000000000..c4d1054e6
--- /dev/null
+++ b/staging/libpano13/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 146959 2012-01-19 17:50:13Z eric $
+# Maintainer: tobias <tobias@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+pkgname=libpano13
+pkgver=2.9.18
+pkgrel=2
+pkgdesc="Basic library to calculate panoramical pictures - core functions of the panotools"
+arch=('i686' 'x86_64')
+url="http://panotools.sourceforge.net/"
+license=('GPL2')
+depends=('libpng' 'libtiff')
+makedepends=('openjdk6')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/panotools/${pkgname}-${pkgver}.tar.gz)
+md5sums=('9c3a4fce8b6f1d79e395896ce5d8776e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man --with-java=${JAVA_HOME}
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/qt3/PKGBUILD b/staging/qt3/PKGBUILD
new file mode 100644
index 000000000..57b052598
--- /dev/null
+++ b/staging/qt3/PKGBUILD
@@ -0,0 +1,133 @@
+# $Id: PKGBUILD 146911 2012-01-19 05:18:20Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=qt3
+pkgver=3.3.8
+pkgrel=22
+pkgdesc="The QT3 gui toolkit"
+arch=('i686' 'x86_64')
+url="http://www.trolltech.com/products/qt/index.html"
+license=('GPL')
+depends=('libpng' 'libxmu' 'libxcursor' 'libxinerama' 'mesa' 'libxft'
+ 'libxrandr' 'libmng')
+makedepends=('mysql' 'postgresql' 'unixodbc' 'sqlite3')
+optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc')
+options=('!libtool')
+install=qt.install
+source=(ftp://ftp.trolltech.com/qt/source/qt-x11-free-${pkgver}.tar.bz2
+ qt.profile qt3-png15.patch qt-copy-kde-patches.tar.bz2
+ qt-patches.tar.bz2 utf8-bug-qt3.diff qt-font-default-subst.diff
+ mysql.patch eastern_asian_languagues.diff qt-odbc.patch gcc-4.6.patch)
+sha1sums=('91b192cb8e80679607d24ae35d6e20ed68d149d7'
+ 'd2e257a9011208b2cb81b9cf47915b9a2f9dab83'
+ '3d19510c46016a1a211d97bf8f82b01498b1b33c'
+ '9cb2e5bec782069692ee337cfa171539d9d73753'
+ '116afa0e737bdf27ea27f9b3653aeb56db9ec151'
+ 'ca5ecb29c7f1c826d48703339a3371038e306bb7'
+ 'd928ff55adb52c4bab2fb268df022651551cd70c'
+ 'bb6aad81cce143c23ff7840b1d79f6b2007a0c04'
+ '40c7b8f06a21f809ddeb8b5560e9da63ccac6a17'
+ '1346320614f6f86fbeb10b9fbad721dea29f5b61'
+ 'd9b83b8f6f9c8bd98d290dc1d0e9913a00b62c3f')
+
+# qt-copy-kde-patches come from http://websvn.kde.org/trunk/qt-copy/patches/
+# other qt-patches come from fedora and gentoo
+
+build() {
+ unset QMAKESPEC
+ export QTDIR="${srcdir}"/qt-x11-free-${pkgver}
+ export PATH=${QTDIR}/bin:${PATH}
+ export LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH}
+ export QMAKESPEC=$QTDIR/mkspecs/linux-g++
+ cd "${srcdir}"/qt-x11-free-${pkgver}
+ # apply qt patches from kde.org
+ for i in ../qt-copy-kde-patches/*; do
+ patch -Np0 -i $i
+ done
+ # apply other qt patches and one security fix from debian/gentoo
+ for i in ../qt-patches/*; do
+ patch -Np1 -i $i
+ done
+ # fix utf8 bug
+ patch -p0 -i "${srcdir}"/utf8-bug-qt3.diff
+ # fix asia fonts
+ patch -p0 -i "${srcdir}"/qt-font-default-subst.diff
+ # fix segfaults on exit when using mysql DB driver
+ patch -p0 -i "${srcdir}"/mysql.patch
+ # fix CJK font/chars select error (FS#11245)
+ patch -p1 -i "${srcdir}"/eastern_asian_languagues.diff
+ # fix build problem against new unixODBC
+ patch -p1 -i "${srcdir}"/qt-odbc.patch
+ # fix build with gcc 4.6.0
+ patch -p1 -i "${srcdir}"/gcc-4.6.patch
+
+ patch -p0 -i "${srcdir}"/qt3-png15.patch
+ # start compiling qt
+ sed -i 's|-cp -P -f|-cp -L -f|' qmake/Makefile.unix
+ rm -rf doc/html examples tutorial
+ sed -i "s|sub-tutorial sub-examples||" Makefile
+ sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++/qmake.conf
+ sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-32/qmake.conf
+ sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-64/qmake.conf
+ sed -i "s|-I. |$CXXFLAGS -I. |" qmake/Makefile.unix
+ sed -i "s|read acceptance|acceptance=yes|" configure
+
+ # remove unwanted mkspecs
+ rm -rf mkspecs/{*aix*,*bsd*,cygwin*,dgux*,darwin*,hpux*,hurd*,irix*,lynxos*,macx*,qnx*,reliant*,sco*,solaris*,tru64*,unixware*,win32*}
+
+ if [ "$CARCH" = "x86_64" ]; then
+ export ARCH="-64"
+ else unset ARCH
+ fi
+
+ ./configure -prefix /opt/qt \
+ -platform linux-g++$ARCH \
+ -system-zlib \
+ -qt-gif \
+ -release \
+ -shared \
+ -sm \
+ -nis \
+ -thread \
+ -stl \
+ -system-lib{png,jpeg,mng} \
+ -no-g++-exceptions \
+ -plugin-sql-{mysql,psql,sqlite,odbc}
+
+ # fix /opt/qt/lib path
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/src/Makefile
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/designer/designer/Makefile
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/designer/editor/Makefile
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/assistant/lib/Makefile
+ [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/designer/uilib/Makefile
+
+ cd "${srcdir}"/qt-x11-free-${pkgver}
+ make -C qmake
+ cd "${srcdir}"/qt-x11-free-${pkgver}/plugins/src/sqldrivers/mysql
+ "${srcdir}"/qt-x11-free-${pkgver}/bin/qmake -o Makefile "INCPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro
+ cd "${srcdir}"/qt-x11-free-${pkgver}/plugins/src/sqldrivers/psql
+ "${srcdir}"/qt-x11-free-${pkgver}/bin/qmake -o Makefile "INCPATH+=/usr/src/include /usr/include/postgresql/server" "LIBS+=-L/usr/lib -lpq" psql.pro
+
+ cd "${srcdir}"/qt-x11-free-${pkgver}
+ # fix the broken makefiles
+ #sed -i 's|[[:space:]]*strip.*doc/html.*$|#|g' src/Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}"/qt-x11-free-${pkgver}
+ make INSTALL_ROOT="${pkgdir}" install
+ rm -rf "${pkgdir}"/opt/qt/{phrasebooks,templates,translations}
+ sed -i "s|-L${srcdir}/qt-x11-free-${pkgver}/lib ||g" "${pkgdir}"/opt/qt/lib/*.prl
+ install -D -m755 qmake/qmake "${pkgdir}"/opt/qt/bin/qmake
+ install -D -m755 "${srcdir}"/qt.profile "${pkgdir}"/etc/profile.d/qt3.sh
+ ln -sf /opt/qt/bin/qtconfig "${pkgdir}"/opt/qt/bin/qt3config
+ rm -f "${pkgdir}"/opt/qt/mkspecs/linux-g++$ARCH/linux-g++$ARCH
+
+ # install man pages
+ install -d -m755 "${pkgdir}"/opt/qt/man
+ cp -r "${srcdir}"/qt-x11-free-${pkgver}/doc/man/{man1,man3} "${pkgdir}"/opt/qt/man/
+
+ install -d -m755 "${pkgdir}"/etc/ld.so.conf.d/
+ echo '/opt/qt/lib' > "${pkgdir}"/etc/ld.so.conf.d/qt3.conf
+}
diff --git a/staging/qt3/eastern_asian_languagues.diff b/staging/qt3/eastern_asian_languagues.diff
new file mode 100644
index 000000000..7c25eef7d
--- /dev/null
+++ b/staging/qt3/eastern_asian_languagues.diff
@@ -0,0 +1,39 @@
+--- qt-x11-free-3.3.8b/src/kernel/qfontdatabase.cpp 2008-01-15 21:09:13.000000000 +0200
++++ qt-x11-free-3.3.8b/src/kernel/qfontdatabase.cpp 2008-03-10 11:34:22.000000000 +0200
+@@ -966,20 +966,22 @@
+
+ #ifdef Q_WS_X11
+ if (script == QFont::Han) {
+- // modify script according to locale
+- static QFont::Script defaultHan = QFont::UnknownScript;
+- if (defaultHan == QFont::UnknownScript) {
+- QCString locale = setlocale(LC_ALL, NULL);
+- if (locale.contains("ko"))
+- defaultHan = QFont::Han_Korean;
+- else if (locale.contains("zh_TW") || locale.contains("zh_HK"))
+- defaultHan = QFont::Han_TraditionalChinese;
+- else if (locale.contains("zh"))
+- defaultHan = QFont::Han_SimplifiedChinese;
+- else
+- defaultHan = QFont::Han_Japanese;
+- }
+- script = defaultHan;
++ // modify script according to locale
++ static QFont::Script defaultHan;
++ QCString locale = setlocale(LC_ALL, NULL);
++
++ if (locale.contains("ko"))
++ defaultHan = QFont::Han_Korean;
++ else if (locale.contains("zh_TW") || locale.contains("zh_HK"))
++ defaultHan = QFont::Han_TraditionalChinese;
++ else if (locale.contains("zh"))
++ defaultHan = QFont::Han_SimplifiedChinese;
++ else if (locale.contains("ja"))
++ defaultHan = QFont::Han_Japanese;
++ else
++ defaultHan = QFont::Han; // don't change
++
++ script = defaultHan;
+ }
+ #endif
+
diff --git a/staging/qt3/gcc-4.6.patch b/staging/qt3/gcc-4.6.patch
new file mode 100644
index 000000000..bcbffcea6
--- /dev/null
+++ b/staging/qt3/gcc-4.6.patch
@@ -0,0 +1,33 @@
+diff -up qt-x11-free-3.3.8b/src/tools/qmap.h.cstddef qt-x11-free-3.3.8b/src/tools/qmap.h
+--- qt-x11-free-3.3.8b/src/tools/qmap.h.cstddef 2008-01-15 13:09:13.000000000 -0600
++++ qt-x11-free-3.3.8b/src/tools/qmap.h 2011-01-30 21:14:29.275088725 -0600
+@@ -49,6 +49,7 @@
+ #include "qvaluelist.h"
+ #endif // QT_H
+
++#include <cstddef>
+ #ifndef QT_NO_STL
+ #include <iterator>
+ #include <map>
+diff -up qt-x11-free-3.3.8b/src/tools/qvaluelist.h.cstddef qt-x11-free-3.3.8b/src/tools/qvaluelist.h
+--- qt-x11-free-3.3.8b/src/tools/qvaluelist.h.cstddef 2008-01-15 13:09:13.000000000 -0600
++++ qt-x11-free-3.3.8b/src/tools/qvaluelist.h 2011-01-30 21:14:01.765846592 -0600
+@@ -47,6 +47,7 @@
+ #include "qdatastream.h"
+ #endif // QT_H
+
++#include <cstddef>
+ #ifndef QT_NO_STL
+ #include <iterator>
+ #include <list>
+diff -up qt-x11-free-3.3.8b/src/tools/qvaluevector.h.cstddef qt-x11-free-3.3.8b/src/tools/qvaluevector.h
+--- qt-x11-free-3.3.8b/src/tools/qvaluevector.h.cstddef 2008-01-15 13:09:13.000000000 -0600
++++ qt-x11-free-3.3.8b/src/tools/qvaluevector.h 2011-01-30 21:14:01.765846592 -0600
+@@ -45,6 +45,7 @@
+ #include "qdatastream.h"
+ #endif // QT_H
+
++#include <cstddef>
+ #ifndef QT_NO_STL
+ #include <vector>
+ #endif
diff --git a/staging/qt3/mysql.patch b/staging/qt3/mysql.patch
new file mode 100644
index 000000000..5f61edc67
--- /dev/null
+++ b/staging/qt3/mysql.patch
@@ -0,0 +1,47 @@
+--- src/sql/drivers/mysql/qsql_mysql.cpp
++++ src/sql/drivers/mysql/qsql_mysql.cpp
+@@ -37,7 +37,6 @@
+ #include "qsql_mysql.h"
+ #include <private/qsqlextension_p.h>
+
+-#include <qapplication.h>
+ #include <qdatetime.h>
+ #include <qvaluevector.h>
+ #include <qsqlrecord.h>
+@@ -341,14 +340,6 @@ int QMYSQLResult::numRowsAffected()
+ }
+
+ /////////////////////////////////////////////////////////
+-static void qServerEnd()
+-{
+-#ifndef Q_NO_MYSQL_EMBEDDED
+-# if MYSQL_VERSION_ID >= 40000
+- mysql_server_end();
+-# endif // MYSQL_VERSION_ID
+-#endif // Q_NO_MYSQL_EMBEDDED
+-}
+
+ static void qServerInit()
+ {
+@@ -366,9 +357,7 @@ static void qServerInit()
+ qWarning( "QMYSQLDriver::qServerInit: unable to start server." );
+ # endif
+ }
+- qAddPostRoutine(qServerEnd);
+ init = TRUE;
+-
+ # endif // MYSQL_VERSION_ID
+ #endif // Q_NO_MYSQL_EMBEDDED
+ }
+@@ -411,6 +400,11 @@ QMYSQLDriver::~QMYSQLDriver()
+ QSqlOpenExtension *ext = qSqlOpenExtDict()->take( this );
+ delete ext;
+ }
++#ifndef Q_NO_MYSQL_EMBEDDED
++# if MYSQL_VERSION_ID > 40000
++ mysql_server_end();
++# endif
++#endif
+ }
+
+ bool QMYSQLDriver::hasFeature( DriverFeature f ) const
diff --git a/staging/qt3/qt-copy-kde-patches.tar.bz2 b/staging/qt3/qt-copy-kde-patches.tar.bz2
new file mode 100644
index 000000000..19d899963
--- /dev/null
+++ b/staging/qt3/qt-copy-kde-patches.tar.bz2
Binary files differ
diff --git a/staging/qt3/qt-font-default-subst.diff b/staging/qt3/qt-font-default-subst.diff
new file mode 100644
index 000000000..3e286f74e
--- /dev/null
+++ b/staging/qt3/qt-font-default-subst.diff
@@ -0,0 +1,77 @@
+--- src/kernel/qfontdatabase_x11.cpp
++++ src/kernel/qfontdatabase_x11.cpp
+@@ -1589,15 +1589,6 @@ QFontEngine *loadEngine( QFont::Script s
+ if (script == QFont::Latin)
+ // add Euro character
+ FcCharSetAddChar(cs, 0x20ac);
+- if (script == QFont::Han_SimplifiedChinese)
+- FcCharSetAddChar(cs, 0x3400);
+- if (script == QFont::Han_TraditionalChinese){
+- FcCharSetAddChar(cs, 0x3435);
+- FcCharSetAddChar(cs, 0xE000);
+- FcCharSetAddChar(cs, 0xF6B1);
+- }
+- if (script == QFont::MiscellaneousSymbols)
+- FcCharSetAddChar(cs, 0x2714);
+ FcPatternAddCharSet(pattern, FC_CHARSET, cs);
+ FcCharSetDestroy(cs);
+ }
+@@ -1813,7 +1804,11 @@ static QFontEngine *loadFontConfigFont(c
+ FcPatternPrint(pattern);
+ #endif
+
++ // XftFontMatch calls the right ConfigSubstitute variants, but as we use
++ // FcFontMatch/Sort here we have to do it manually.
+ FcConfigSubstitute(0, pattern, FcMatchPattern);
++ XftDefaultSubstitute(QPaintDevice::x11AppDisplay(), QPaintDevice::x11AppScreen(), pattern);
++
+ // qDebug("1: pattern contains:");
+ // FcPatternPrint(pattern);
+
+@@ -1847,10 +1842,6 @@ static QFontEngine *loadFontConfigFont(c
+ value.u.s = (const FcChar8 *)cs.data();
+ FcPatternAddWeak(pattern, FC_FAMILY, value, FcTrue);
+ }
+-#ifdef FONT_MATCH_DEBUG
+- printf("final pattern contains:\n");
+- FcPatternPrint(pattern);
+-#endif
+ }
+
+ if (script != QFont::Unicode) {
+@@ -1860,19 +1851,15 @@ static QFontEngine *loadFontConfigFont(c
+ if (script == QFont::Latin)
+ // add Euro character
+ FcCharSetAddChar(cs, 0x20ac);
+- if (script == QFont::Han_SimplifiedChinese)
+- FcCharSetAddChar(cs, 0x3400);
+- if (script == QFont::Han_TraditionalChinese) {
+- FcCharSetAddChar(cs, 0x3435);
+- FcCharSetAddChar(cs, 0xE000);
+- FcCharSetAddChar(cs, 0xF6B1);
+- }
+- if (script == QFont::MiscellaneousSymbols)
+- FcCharSetAddChar(cs, 0x2714);
+ FcPatternAddCharSet(pattern, FC_CHARSET, cs);
+ FcCharSetDestroy(cs);
+ }
+
++#ifdef FONT_MATCH_DEBUG
++ printf("final pattern contains:\n");
++ FcPatternPrint(pattern);
++#endif
++
+ QFontEngine *fe = 0;
+
+ for( int jj = (FcGetVersion() >= 20392 ? 0 : 1); jj < 2; ++jj ) {
+--- src/kernel/qfontdatabase.cpp
++++ src/kernel/qfontdatabase.cpp
+@@ -554,7 +554,7 @@ static const unsigned short sample_chars
+ // GeometricSymbols,
+ { 0x2500, 0x0 },
+ // MiscellaneousSymbols,
+- { 0x2640, 0x0 },
++ { 0x2640, 0x2714, 0x0 },
+ // EnclosedAndSquare,
+ { 0x2460, 0x0 },
+ // Braille,
diff --git a/staging/qt3/qt-odbc.patch b/staging/qt3/qt-odbc.patch
new file mode 100644
index 000000000..6f21e3cf1
--- /dev/null
+++ b/staging/qt3/qt-odbc.patch
@@ -0,0 +1,19 @@
+diff -up qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp.orig qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp
+--- qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp.orig 2009-02-24 11:32:27.000000000 +0100
++++ qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp 2009-02-24 11:33:43.000000000 +0100
+@@ -57,13 +57,13 @@
+ #endif
+
+ // newer platform SDKs use SQLLEN instead of SQLINTEGER
+-#ifdef SQLLEN
++#if defined(SQLLEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define QSQLLEN SQLLEN
+ #else
+ # define QSQLLEN SQLINTEGER
+ #endif
+
+-#ifdef SQLULEN
++#if defined(SQLULEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define QSQLULEN SQLULEN
+ #else
+ # define QSQLULEN SQLUINTEGER
diff --git a/staging/qt3/qt-patches.tar.bz2 b/staging/qt3/qt-patches.tar.bz2
new file mode 100644
index 000000000..3f4aee171
--- /dev/null
+++ b/staging/qt3/qt-patches.tar.bz2
Binary files differ
diff --git a/staging/qt3/qt.install b/staging/qt3/qt.install
new file mode 100644
index 000000000..6d042daae
--- /dev/null
+++ b/staging/qt3/qt.install
@@ -0,0 +1,12 @@
+post_install() {
+ post_remove
+}
+
+post_upgrade() {
+ post_remove
+}
+
+post_remove() {
+ # this can be removed in future versions
+ sed -e '/\/opt\/qt\/lib/d' -i etc/ld.so.conf
+}
diff --git a/staging/qt3/qt.profile b/staging/qt3/qt.profile
new file mode 100644
index 000000000..ed4d232ae
--- /dev/null
+++ b/staging/qt3/qt.profile
@@ -0,0 +1,4 @@
+export QTDIR=/opt/qt
+export QT_XFT=true
+export PATH=$PATH:$QTDIR/bin
+export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig
diff --git a/staging/qt3/qt3-png15.patch b/staging/qt3/qt3-png15.patch
new file mode 100644
index 000000000..e64fea36a
--- /dev/null
+++ b/staging/qt3/qt3-png15.patch
@@ -0,0 +1,212 @@
+$NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $
+
+--- src/kernel/qpngio.cpp.orig 2007-02-02 10:01:15.000000000 -0400
++++ src/kernel/qpngio.cpp
+@@ -43,6 +43,7 @@
+ #include "qiodevice.h"
+
+ #include <png.h>
++#include <zlib.h>
+
+
+ #ifdef Q_OS_TEMP
+@@ -123,9 +124,24 @@ void setup_qt( QImage& image, png_struct
+ png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
+ 0, 0, 0);
+
++ png_colorp info_ptr_palette = NULL;
++ int info_ptr_num_palette = 0;
++ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) {
++ png_get_PLTE(png_ptr, info_ptr, &info_ptr_palette, &info_ptr_num_palette);
++ }
++
++ png_bytep info_ptr_trans_alpha = NULL;
++ int info_ptr_num_trans = 0;
++ png_color_16p info_ptr_trans_color = NULL;
++
++ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
++ png_get_tRNS(png_ptr, info_ptr, &info_ptr_trans_alpha, &info_ptr_num_trans, &info_ptr_trans_color);
++ }
++
++
+ if ( color_type == PNG_COLOR_TYPE_GRAY ) {
+ // Black & White or 8-bit grayscale
+- if ( bit_depth == 1 && info_ptr->channels == 1 ) {
++ if ( bit_depth == 1 && png_get_channels(png_ptr, info_ptr) == 1 ) {
+ png_set_invert_mono( png_ptr );
+ png_read_update_info( png_ptr, info_ptr );
+ if (!image.create( width, height, 1, 2, QImage::BigEndian ))
+@@ -159,7 +175,7 @@ void setup_qt( QImage& image, png_struct
+ image.setColor( i, qRgba(c,c,c,0xff) );
+ }
+ if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
+- const int g = info_ptr->trans_values.gray;
++ const int g = info_ptr_trans_color->gray;
+ if (g < ncols) {
+ image.setAlphaBuffer(TRUE);
+ image.setColor(g, image.color(g) & RGB_MASK);
+@@ -168,7 +184,7 @@ void setup_qt( QImage& image, png_struct
+ }
+ } else if ( color_type == PNG_COLOR_TYPE_PALETTE
+ && png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)
+- && info_ptr->num_palette <= 256 )
++ && info_ptr_num_palette <= 256 )
+ {
+ // 1-bit and 8-bit color
+ if ( bit_depth != 1 )
+@@ -176,28 +192,28 @@ void setup_qt( QImage& image, png_struct
+ png_read_update_info( png_ptr, info_ptr );
+ png_get_IHDR(png_ptr, info_ptr,
+ &width, &height, &bit_depth, &color_type, 0, 0, 0);
+- if (!image.create(width, height, bit_depth, info_ptr->num_palette,
++ if (!image.create(width, height, bit_depth, info_ptr_num_palette,
+ QImage::BigEndian))
+ return;
+ int i = 0;
+ if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
+ image.setAlphaBuffer( TRUE );
+- while ( i < info_ptr->num_trans ) {
++ while ( i < info_ptr_num_trans ) {
+ image.setColor(i, qRgba(
+- info_ptr->palette[i].red,
+- info_ptr->palette[i].green,
+- info_ptr->palette[i].blue,
+- info_ptr->trans[i]
++ info_ptr_palette[i].red,
++ info_ptr_palette[i].green,
++ info_ptr_palette[i].blue,
++ info_ptr_trans_alpha[i]
+ )
+ );
+ i++;
+ }
+ }
+- while ( i < info_ptr->num_palette ) {
++ while ( i < info_ptr_num_palette ) {
+ image.setColor(i, qRgba(
+- info_ptr->palette[i].red,
+- info_ptr->palette[i].green,
+- info_ptr->palette[i].blue,
++ info_ptr_palette[i].red,
++ info_ptr_palette[i].green,
++ info_ptr_palette[i].blue,
+ 0xff
+ )
+ );
+@@ -284,7 +300,7 @@ void read_png_image(QImageIO* iio)
+ return;
+ }
+
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
+ iio->setStatus(-4);
+ return;
+@@ -469,7 +485,7 @@ bool QPNGImageWriter::writeImage(const Q
+ return FALSE;
+ }
+
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ png_destroy_write_struct(&png_ptr, &info_ptr);
+ return FALSE;
+ }
+@@ -491,10 +507,16 @@ bool QPNGImageWriter::writeImage(const Q
+
+ png_set_write_fn(png_ptr, (void*)this, qpiw_write_fn, qpiw_flush_fn);
+
++#warning XXXtnn not too sure about this
++/*
++according to png.h, channels is only used on read, not writes, so we
++should be able to comment this out.
++
+ info_ptr->channels =
+ (image.depth() == 32)
+ ? (image.hasAlphaBuffer() ? 4 : 3)
+ : 1;
++*/
+
+ png_set_IHDR(png_ptr, info_ptr, image.width(), image.height(),
+ image.depth() == 1 ? 1 : 8 /* per channel */,
+@@ -504,11 +526,12 @@ bool QPNGImageWriter::writeImage(const Q
+ : PNG_COLOR_TYPE_RGB
+ : PNG_COLOR_TYPE_PALETTE, 0, 0, 0);
+
++ png_color_8 sig_bit;
++ sig_bit.red = 8;
++ sig_bit.green = 8;
++ sig_bit.blue = 8;
++ png_set_sBIT(png_ptr, info_ptr, &sig_bit);
+
+- //png_set_sBIT(png_ptr, info_ptr, 8);
+- info_ptr->sig_bit.red = 8;
+- info_ptr->sig_bit.green = 8;
+- info_ptr->sig_bit.blue = 8;
+
+ if (image.depth() == 1 && image.bitOrder() == QImage::LittleEndian)
+ png_set_packswap(png_ptr);
+@@ -522,11 +545,14 @@ bool QPNGImageWriter::writeImage(const Q
+ png_set_PLTE(png_ptr, info_ptr, palette, num_palette);
+ int* trans = new int[num_palette];
+ int num_trans = 0;
++ png_colorp info_ptr_palette = NULL;
++ int tmp;
++ png_get_PLTE(png_ptr, info_ptr, &info_ptr_palette, &tmp);
+ for (int i=0; i<num_palette; i++) {
+ QRgb rgb=image.color(i);
+- info_ptr->palette[i].red = qRed(rgb);
+- info_ptr->palette[i].green = qGreen(rgb);
+- info_ptr->palette[i].blue = qBlue(rgb);
++ info_ptr_palette[i].red = qRed(rgb);
++ info_ptr_palette[i].green = qGreen(rgb);
++ info_ptr_palette[i].blue = qBlue(rgb);
+ if (image.hasAlphaBuffer()) {
+ trans[i] = rgb >> 24;
+ if (trans[i] < 255) {
+@@ -534,6 +560,7 @@ bool QPNGImageWriter::writeImage(const Q
+ }
+ }
+ }
++ png_set_PLTE(png_ptr, info_ptr, info_ptr_palette, num_palette);
+ if (num_trans) {
+ copy_trans = new png_byte[num_trans];
+ for (int i=0; i<num_trans; i++)
+@@ -544,7 +571,10 @@ bool QPNGImageWriter::writeImage(const Q
+ }
+
+ if ( image.hasAlphaBuffer() ) {
+- info_ptr->sig_bit.alpha = 8;
++ png_color_8p sig_bit;
++ png_get_sBIT(png_ptr, info_ptr, &sig_bit);
++ sig_bit->alpha = 8;
++ png_set_sBIT(png_ptr, info_ptr, sig_bit);
+ }
+
+ // Swap ARGB to RGBA (normal PNG format) before saving on
+@@ -1030,7 +1060,7 @@ int QPNGFormat::decode(QImage& img, QIma
+ return -1;
+ }
+
+- if (setjmp((png_ptr)->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ png_destroy_read_struct(&png_ptr, &info_ptr, 0);
+ image = 0;
+ return -1;
+@@ -1057,7 +1087,7 @@ int QPNGFormat::decode(QImage& img, QIma
+
+ if ( !png_ptr ) return 0;
+
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ png_destroy_read_struct(&png_ptr, &info_ptr, 0);
+ image = 0;
+ state = MovieStart;
+@@ -1117,7 +1147,7 @@ void QPNGFormat::end(png_structp png, pn
+ consumer->frameDone(QPoint(offx,offy),r);
+ consumer->end();
+ state = FrameStart;
+- unused_data = (int)png->buffer_size; // Since libpng doesn't tell us
++ unused_data = png_process_data_pause(png, 0);
+ }
+
+ #ifdef PNG_USER_CHUNKS_SUPPORTED
diff --git a/staging/qt3/utf8-bug-qt3.diff b/staging/qt3/utf8-bug-qt3.diff
new file mode 100644
index 000000000..43e84a99f
--- /dev/null
+++ b/staging/qt3/utf8-bug-qt3.diff
@@ -0,0 +1,101 @@
+--- src/codecs/qutfcodec.cpp
++++ src/codecs/qutfcodec.cpp
+@@ -154,6 +154,7 @@
+
+ class QUtf8Decoder : public QTextDecoder {
+ uint uc;
++ uint min_uc;
+ int need;
+ bool headerDone;
+ public:
+@@ -167,8 +168,9 @@
+ result.setLength( len ); // worst case
+ QChar *qch = (QChar *)result.unicode();
+ uchar ch;
++ int error = -1;
+ for (int i=0; i<len; i++) {
+- ch = *chars++;
++ ch = chars[i];
+ if (need) {
+ if ( (ch&0xc0) == 0x80 ) {
+ uc = (uc << 6) | (ch & 0x3f);
+@@ -182,6 +184,8 @@
+ *qch++ = QChar(high);
+ *qch++ = QChar(low);
+ headerDone = TRUE;
++ } else if ((uc < min_uc) || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
++ *qch++ = QChar::replacement;
+ } else {
+ if (headerDone || QChar(uc) != QChar::byteOrderMark)
+ *qch++ = uc;
+@@ -190,6 +194,7 @@
+ }
+ } else {
+ // error
++ i = error;
+ *qch++ = QChar::replacement;
+ need = 0;
+ }
+@@ -200,12 +205,21 @@
+ } else if ((ch & 0xe0) == 0xc0) {
+ uc = ch & 0x1f;
+ need = 1;
++ error = i;
++ min_uc = 0x80;
+ } else if ((ch & 0xf0) == 0xe0) {
+ uc = ch & 0x0f;
+ need = 2;
++ error = i;
++ min_uc = 0x800;
+ } else if ((ch&0xf8) == 0xf0) {
+ uc = ch & 0x07;
+ need = 3;
++ error = i;
++ min_uc = 0x10000;
++ } else {
++ // error
++ *qch++ = QChar::replacement;
+ }
+ }
+ }
+--- src/tools/qstring.cpp
++++ src/tools/qstring.cpp
+@@ -5805,6 +5805,7 @@
+ result.setLength( len ); // worst case
+ QChar *qch = (QChar *)result.unicode();
+ uint uc = 0;
++ uint min_uc = 0;
+ int need = 0;
+ int error = -1;
+ uchar ch;
+@@ -5822,6 +5823,12 @@
+ unsigned short low = uc%0x400 + 0xdc00;
+ *qch++ = QChar(high);
+ *qch++ = QChar(low);
++ } else if (uc < min_uc || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
++ // overlong seqence, UTF16 surrogate or BOM
++ i = error;
++ qch = addOne(qch, result);
++ *qch++ = QChar(0xdbff);
++ *qch++ = QChar(0xde00+((uchar)utf8[i]));
+ } else {
+ *qch++ = uc;
+ }
+@@ -5844,14 +5851,17 @@
+ uc = ch & 0x1f;
+ need = 1;
+ error = i;
++ min_uc = 0x80;
+ } else if ((ch & 0xf0) == 0xe0) {
+ uc = ch & 0x0f;
+ need = 2;
+ error = i;
++ min_uc = 0x800;
+ } else if ((ch&0xf8) == 0xf0) {
+ uc = ch & 0x07;
+ need = 3;
+ error = i;
++ min_uc = 0x10000;
+ } else {
+ // Error
+ qch = addOne(qch, result);
diff --git a/staging/scim-anthy/PKGBUILD b/staging/scim-anthy/PKGBUILD
new file mode 100644
index 000000000..f34466307
--- /dev/null
+++ b/staging/scim-anthy/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 146909 2012-01-19 05:06:58Z bisson $
+# Contributor: damir <damir@archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=scim-anthy
+pkgver=1.2.7
+pkgrel=3
+_filecode=37309
+pkgdesc='Japanese input method module for SCIM'
+arch=('i686' 'x86_64')
+url='http://sourceforge.jp/projects/scim-imengine/'
+license=('GPL')
+depends=('scim' 'anthy')
+options=('!libtool')
+source=("http://osdn.dl.sourceforge.jp/scim-imengine/${_filecode}/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('1429cf202f5cdcfc4733220acbe27dd9edb75db8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/staging/scim-chewing/PKGBUILD b/staging/scim-chewing/PKGBUILD
new file mode 100644
index 000000000..0d2c298af
--- /dev/null
+++ b/staging/scim-chewing/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 146907 2012-01-19 05:02:07Z bisson $
+# Contributor: damir <damir@archlinux.org>
+# Contributor: whisky <archlinux.cle(at)gmail.com>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=scim-chewing
+pkgver=0.3.4
+pkgrel=2
+pkgdesc='Traditional Chinese input method module for SCIM'
+arch=('i686' 'x86_64')
+url='http://chewing.csie.net/'
+license=('GPL')
+depends=('scim' 'libchewing')
+makedepends=('intltool')
+options=('!libtool')
+source=("http://chewing.csie.net/download/scim/${pkgname}-${pkgver}.tar.bz2")
+sha1sums=('f6c8d16f19f17449ee169f1ca787350353e93b05')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/tumbler/PKGBUILD b/staging/tumbler/PKGBUILD
index f08533acc..01b53bbc8 100644
--- a/staging/tumbler/PKGBUILD
+++ b/staging/tumbler/PKGBUILD
@@ -1,20 +1,25 @@
-# $Id: PKGBUILD 146889 2012-01-19 03:45:36Z foutrelis $
+# $Id: PKGBUILD 146989 2012-01-19 22:34:27Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Jan Jezek <honzin.jezek@gmail.com>
pkgname=tumbler
pkgver=0.1.23
-pkgrel=2
+pkgrel=4
pkgdesc="D-Bus service for applications to request thumbnails"
arch=('i686' 'x86_64')
url="http://git.xfce.org/xfce/tumbler/"
license=('GPL2' 'LGPL')
groups=('xfce4')
-depends=('poppler-glib' 'dbus-glib' 'gdk-pixbuf2')
-makedepends=('intltool' 'ffmpegthumbnailer' 'gstreamer0.10')
+depends=('dbus-glib' 'gdk-pixbuf2')
+makedepends=('intltool' 'ffmpegthumbnailer' 'gstreamer0.10' 'poppler-glib'
+ 'libgsf' 'libopenraw' 'freetype2')
optdepends=('ffmpegthumbnailer: for video thumbnails'
- 'gstreamer0.10: for video thumbnails')
+ 'gstreamer0.10: for video thumbnails'
+ 'poppler-glib: for PDF thumbnails'
+ 'libgsf: for ODF thumbnails'
+ 'libopenraw: for RAW thumbnails'
+ 'freetype2: for font thumbnails')
options=('!libtool')
source=(http://archive.xfce.org/src/apps/$pkgname/0.1/$pkgname-$pkgver.tar.bz2)
sha256sums=('b3066d17b7e1fee5135eb876a7c2c50a1221bd0d447c3dd7c36efe6d7f3874cb')
diff --git a/staging/vice/PKGBUILD b/staging/vice/PKGBUILD
new file mode 100644
index 000000000..92a531c26
--- /dev/null
+++ b/staging/vice/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 146938 2012-01-19 12:54:40Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=vice
+pkgver=2.3
+pkgrel=5
+pkgdesc="A Versatile Commodore Emulator"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.viceteam.org/"
+depends=('alsa-lib' 'gcc-libs' 'giflib' 'lame' 'libxrandr'
+ 'libxv' 'libjpeg' 'libpng' 'libxaw' 'libxxf86vm')
+makedepends=('xorg-font-utils')
+options=('!makeflags')
+source=("http://downloads.sourceforge.net/project/vice-emu/releases/${pkgname}-${pkgver}.tar.gz"
+ 'vice-2.3-x11video.patch')
+md5sums=('b48d137874daad50c087a0686cbdde34'
+ '088292ce9efe785edfb2b0c7c670785e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i ${srcdir}/vice-2.3-x11video.patch
+ ./configure --prefix=/usr \
+ --with-alsa \
+ --enable-fullscreen
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/vice/vice-2.3-x11video.patch b/staging/vice/vice-2.3-x11video.patch
new file mode 100644
index 000000000..d698638c6
--- /dev/null
+++ b/staging/vice/vice-2.3-x11video.patch
@@ -0,0 +1,11 @@
+--- a/src/arch/unix/x11/xaw/x11video.c 2011-01-18 23:59:00.000000000 +0100
++++ b/src/arch/unix/x11/xaw/x11video.c 2011-02-27 18:40:52.000000000 +0100
+@@ -60,6 +60,8 @@
+ #include <X11/Xutil.h>
+ #include <X11/Intrinsic.h>
+ #include <X11/cursorfont.h>
++#include <X11/Xmd.h>
++#include <X11/extensions/shmproto.h>
+
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/staging/wv/PKGBUILD b/staging/wv/PKGBUILD
new file mode 100644
index 000000000..03e85ef24
--- /dev/null
+++ b/staging/wv/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 146944 2012-01-19 13:58:47Z giovanni $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+pkgname=wv
+pkgver=1.2.9
+pkgrel=1
+pkgdesc="MSWord library can load and parse Word 2000, 97, 95 and 6 file formats"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/wvware"
+license=('GPL')
+depends=('libgsf' 'libpng' 'sh')
+makedepends=('pkg-config')
+options=('!libtool')
+source=("http://www.abisource.com/downloads/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('dbccf2e9f747e50c913b7e3d126b73f7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/wv/fix-soname.patch b/staging/wv/fix-soname.patch
new file mode 100644
index 000000000..81dff86e6
--- /dev/null
+++ b/staging/wv/fix-soname.patch
@@ -0,0 +1,14 @@
+diff -ru wv-1.2.7.orig//configure wv-1.2.7//configure
+--- wv-1.2.7.orig//configure 2009-09-21 12:22:46.000000000 +0200
++++ wv-1.2.7//configure 2010-06-08 12:00:27.948857203 +0200
+@@ -2082,8 +2082,8 @@
+ WV_MAJOR_VERSION=1
+ WV_MINOR_VERSION=2
+ WV_MICRO_VERSION=7
+-WV_INTERFACE_AGE=3
+-WV_BINARY_AGE=3
++WV_INTERFACE_AGE=4
++WV_BINARY_AGE=4
+ WV_VERSION=$WV_MAJOR_VERSION.$WV_MINOR_VERSION.$WV_MICRO_VERSION
+
+
diff --git a/staging/xine-ui/PKGBUILD b/staging/xine-ui/PKGBUILD
new file mode 100644
index 000000000..ac3016952
--- /dev/null
+++ b/staging/xine-ui/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 146917 2012-01-19 05:44:29Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=xine-ui
+pkgver=0.99.6
+pkgrel=5
+pkgdesc="A free video player for Unix"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.xine-project.org"
+depends=('xine-lib' 'curl' 'libpng' 'libxft' 'libxxf86vm'
+ 'xdg-utils' 'shared-mime-info' 'hicolor-icon-theme'
+ 'desktop-file-utils' 'lirc-utils')
+makedepends=('libxt')
+options=('!strip')
+install=xine-ui.install
+source=(http://downloads.sourceforge.net/xine/${pkgname}-${pkgver}.tar.xz
+ lirc-check-a89347673097.patch lirc-makefile-a68dd15ff7ae.patch
+ fix_lirc.diff xine-ui-xdg.diff xine-ui-0.99.6-libpng15.patch)
+sha1sums=('abbdb331898c14025ee6b132f63ab7d3c1b5b31e'
+ 'b2df43ede3a9d1a34b80139704a4cbbc7295c584'
+ '8bbd39f61de7b6991385457a4944b8ea104da88b'
+ '2361df9ddad59c426b0f863414c6d527b463a38a'
+ '9c70c6543dae6815710b239b4638ffe3843bac86'
+ 'bc7ec3153e61553dee8c0b6e04d1ca7cfe4a6f14')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 < "${srcdir}/lirc-check-a89347673097.patch"
+ patch -p1 < "${srcdir}/lirc-makefile-a68dd15ff7ae.patch"
+ patch -p1 < "${srcdir}/fix_lirc.diff"
+ patch -p1 < "${srcdir}/xine-ui-xdg.diff"
+ patch -p1 < "${srcdir}/xine-ui-0.99.6-libpng15.patch"
+ sed -i '/\#include <curl\/types.h>/d' src/xitk/download.c
+ autoconf
+ ./configure --prefix=/usr --mandir=/usr/share/man \
+ --with-x --enable-lirc --without-aalib --enable-debug
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" desktopdir=/usr/share/applications install
+}
diff --git a/staging/xine-ui/fix_lirc.diff b/staging/xine-ui/fix_lirc.diff
new file mode 100644
index 000000000..93890cb5c
--- /dev/null
+++ b/staging/xine-ui/fix_lirc.diff
@@ -0,0 +1,13 @@
+diff --git a/m4/_xine.m4 b/m4/_xine.m4
+--- a/m4/_xine.m4
++++ b/m4/_xine.m4
+@@ -46,7 +46,8 @@ AC_DEFUN([AC_CHECK_LIRC],
+ fi
+ for llirc in $lirc_libprefix /lib /usr/lib /usr/local/lib; do
+ AC_CHECK_FILE(["$llirc/liblirc_client.so"],
+- [LIRC_LIBS="$llirc/liblirc_client.so"]
++ [LIRC_LIBS="$llirc/liblirc_client.so"
++ found_lirc=yes]
+ AC_DEFINE([HAVE_LIRC],,[Define this if you have LIRC (liblirc_client) installed]),
+ AC_CHECK_FILE(["$llirc/liblirc_client.a"],
+ [LIRC_LIBS="$llirc/liblirc_client.a"
diff --git a/staging/xine-ui/lirc-check-a89347673097.patch b/staging/xine-ui/lirc-check-a89347673097.patch
new file mode 100644
index 000000000..c1c8d2614
--- /dev/null
+++ b/staging/xine-ui/lirc-check-a89347673097.patch
@@ -0,0 +1,64 @@
+
+# HG changeset patch
+# User Darren Salt <linux@youmustbejoking.demon.co.uk>
+# Date 1268754560 0
+# Node ID a89347673097053d89675e991ab403cda04d94cd
+# Parent ed3079d668ed5291d1daf7096d6b42c90ee06e11
+Resync LIRC check with gxine; no longer fails if liblircclient0.pc is missing.
+
+--- a/m4/_xine.m4 Sun Mar 14 18:04:46 2010 +0000
++++ b/m4/_xine.m4 Tue Mar 16 15:49:20 2010 +0000
+@@ -25,14 +25,14 @@
+ dnl
+ AC_DEFUN([AC_CHECK_LIRC],
+ [AC_ARG_ENABLE(lirc,
+- [ --disable-lirc Turn off LIRC support.],
+- [], enable_lirc=yes)
++ [AS_HELP_STRING([--disable-lirc], [turn off LIRC support])],
++ [given=Y], [given=N; enable_lirc=yes])
+
+ found_lirc=no
+ if test x"$enable_lirc" = xyes; then
+ have_lirc=yes
+- PKG_CHECK_MODULES(LIRC, liblircclient0, [found_lirc=yes], [])
+- if test "$LIRC_CFLAGS" != ''; then
++ PKG_CHECK_MODULES(LIRC, liblircclient0, [found_lirc=yes], [:])
++ if test "$found_lirc" = yes; then
+ LIRC_INCLUDE="$LIRC_CFLAGS"
+ else
+ AC_REQUIRE_CPP
+@@ -42,15 +42,20 @@
+
+ if test x"$LIRC_PREFIX" != "x"; then
+ lirc_libprefix="$LIRC_PREFIX/lib"
+- LIRC_INCLUDE="-I$LIRC_PREFIX/include"
++ LIRC_INCLUDE="-I$LIRC_PREFIX/include"
+ fi
+ for llirc in $lirc_libprefix /lib /usr/lib /usr/local/lib; do
+- AC_CHECK_FILE(["$llirc/liblirc_client.a"],
+- [LIRC_LIBS="$llirc/liblirc_client.a"
+- found_lirc=yes],,)
++ AC_CHECK_FILE(["$llirc/liblirc_client.so"],
++ [LIRC_LIBS="$llirc/liblirc_client.so"]
++ AC_DEFINE([HAVE_LIRC],,[Define this if you have LIRC (liblirc_client) installed]),
++ AC_CHECK_FILE(["$llirc/liblirc_client.a"],
++ [LIRC_LIBS="$llirc/liblirc_client.a"
++ found_lirc=yes],,)
++ )
+ done
+ else
+- AC_MSG_RESULT([*** LIRC client support not available, LIRC support will be disabled ***]);
++ test $given = Y && AC_MSG_ERROR([LIRC client support requested but not available])
++ AC_MSG_RESULT([*** LIRC client support not available, LIRC support will be disabled ***])
+ fi
+ fi
+ fi
+@@ -59,7 +64,6 @@
+ fi
+ AC_SUBST(LIRC_LIBS)
+ AC_SUBST(LIRC_INCLUDE)
+- AM_CONDITIONAL([HAVE_LIRC], [test "x$have_lirc" = "xyes"])
+ ])
+
+ dnl AC_C_ATTRIBUTE_ALIGNED
+
diff --git a/staging/xine-ui/lirc-makefile-a68dd15ff7ae.patch b/staging/xine-ui/lirc-makefile-a68dd15ff7ae.patch
new file mode 100644
index 000000000..daad4f03a
--- /dev/null
+++ b/staging/xine-ui/lirc-makefile-a68dd15ff7ae.patch
@@ -0,0 +1,19 @@
+
+# HG changeset patch
+# User Darren Salt <linux@youmustbejoking.demon.co.uk>
+# Date 1268758696 0
+# Node ID a68dd15ff7ae4be65c2ace25ef66966d7c272514
+# Parent 882c464d4a650d09da37ade366face74452c1897
+Restore definition of HAVE_LIRC for use in makefiles.
+
+--- a/m4/_xine.m4 Mon Mar 15 12:03:01 2010 -0700
++++ b/m4/_xine.m4 Tue Mar 16 16:58:16 2010 +0000
+@@ -62,6 +62,7 @@
+ if test "$found_lirc" = yes; then
+ AC_DEFINE([HAVE_LIRC],,[Define this if you have LIRC (liblirc_client) installed])
+ fi
++ AM_CONDITIONAL([HAVE_LIRC], [test "$found_lirc" = yes])
+ AC_SUBST(LIRC_LIBS)
+ AC_SUBST(LIRC_INCLUDE)
+ ])
+
diff --git a/staging/xine-ui/xine-ui-0.99.6-libpng15.patch b/staging/xine-ui/xine-ui-0.99.6-libpng15.patch
new file mode 100644
index 000000000..6a5fb5522
--- /dev/null
+++ b/staging/xine-ui/xine-ui-0.99.6-libpng15.patch
@@ -0,0 +1,13 @@
+Index: xine-ui-0.99.6/src/xitk/Imlib-light/load.c
+===================================================================
+--- xine-ui-0.99.6.orig/src/xitk/Imlib-light/load.c
++++ xine-ui-0.99.6/src/xitk/Imlib-light/load.c
+@@ -61,7 +61,7 @@ unsigned char *_LoadPNG(ImlibData * id,
+ png_destroy_read_struct(&png_ptr, NULL, NULL);
+ return NULL;
+ }
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
diff --git a/staging/xine-ui/xine-ui-xdg.diff b/staging/xine-ui/xine-ui-xdg.diff
new file mode 100644
index 000000000..959d674b2
--- /dev/null
+++ b/staging/xine-ui/xine-ui-xdg.diff
@@ -0,0 +1,206 @@
+--- xine-ui-0.99.6.orig/src/xitk/common.h
++++ xine-ui-0.99.6/src/xitk/common.h
+@@ -331,6 +331,5 @@ typedef struct {
+ int use_root_window;
+
+ int ssaver_enabled;
+- int ssaver_timeout;
+
+ int skip_by_chapter;
+--- xine-ui-0.99.6.orig/src/xitk/main.c
++++ xine-ui-0.99.6/src/xitk/main.c
+@@ -1383,6 +1383,8 @@ int main(int argc, char *argv[]) {
+ if (sigprocmask (SIG_BLOCK, &vo_mask, NULL))
+ fprintf (stderr, "sigprocmask() failed.\n");
+
++ signal(SIGCHLD, SIG_IGN);
++
+ gGui = (gGui_t *) calloc(1, sizeof(gGui_t));
+
+ gGui->stream = NULL;
+--- xine-ui-0.99.6.orig/src/xitk/panel.c
++++ xine-ui-0.99.6/src/xitk/panel.c
+@@ -356,7 +356,6 @@ void panel_update_runtime_display(void)
+ * Update slider thread.
+ */
+ static void *slider_loop(void *dummy) {
+- int screensaver_timer = 0;
+ int status, speed;
+ int pos, secs;
+ int i = 0;
+@@ -441,20 +440,7 @@ static void *slider_loop(void *dummy) {
+ else
+ video_window_set_mrl((char *)gGui->mmk.mrl);
+
+- if(!xitk_is_window_iconified(gGui->video_display, gGui->video_window)) {
+-
+- if(gGui->ssaver_timeout) {
+-
+- if(!(i % 2))
+- screensaver_timer++;
+-
+- if(screensaver_timer >= gGui->ssaver_timeout) {
+- screensaver_timer = 0;
+- video_window_reset_ssaver();
+-
+- }
+- }
+- }
++ video_window_suspend_ssaver(!xitk_is_window_iconified(gGui->video_display, gGui->video_window));
+
+ if(gGui->logo_mode == 0) {
+
+@@ -494,6 +480,8 @@ static void *slider_loop(void *dummy) {
+ stream_infos_update_infos();
+
+ }
++ } else {
++ video_window_suspend_ssaver(0);
+ }
+ }
+
+--- xine-ui-0.99.6.orig/src/xitk/videowin.c
++++ xine-ui-0.99.6/src/xitk/videowin.c
+@@ -1087,6 +1087,9 @@ static void video_window_adapt_size (voi
+
+ /* The old window should be destroyed now */
+ if(old_video_window != None) {
++ /* Screensaver control is tied to our window id */
++ video_window_suspend_ssaver(0);
++
+ XDestroyWindow(gGui->video_display, old_video_window);
+
+ if(gGui->cursor_grabbed)
+@@ -2261,69 +2264,34 @@ static void video_window_handle_event (X
+
+ }
+
+-void video_window_reset_ssaver(void) {
++void video_window_suspend_ssaver(int do_suspend) {
++ static int was_suspended;
+
+- if(gGui->ssaver_enabled && (xitk_get_last_keypressed_time() >= (long int) gGui->ssaver_timeout)) {
++ do_suspend = do_suspend && gGui->ssaver_enabled;
+
+-#ifdef HAVE_XTESTEXTENSION
+- if(gVw.have_xtest == True) {
+-
+- gVw.fake_key_cur++;
+-
+- if(gVw.fake_key_cur >= 2)
+- gVw.fake_key_cur = 0;
+-
+- XLockDisplay(gGui->video_display);
+- XTestFakeKeyEvent(gGui->video_display, gVw.fake_keys[gVw.fake_key_cur], True, CurrentTime);
+- XTestFakeKeyEvent(gGui->video_display, gVw.fake_keys[gVw.fake_key_cur], False, CurrentTime);
+- XSync(gGui->video_display, False);
+- XUnlockDisplay(gGui->video_display);
++ if(was_suspended != do_suspend) {
++ if(fork() == 0) {
++ char window_id[30];
++ char *args[] = { "xdg-screensaver", NULL, window_id, NULL };
++ int fd;
++
++ for(fd = 3; fd < 256; fd++)
++ close(fd);
++
++ args[1] = do_suspend ? "suspend" : "resume";
++ sprintf(window_id, "%lu", (unsigned long)gGui->video_window);
++ execvp(args[0], args);
++ _exit(0);
+ }
+- else
+-#endif
+- {
+- /* Reset the gnome screensaver. Look up the command in PATH only once to save time, */
+- /* assuming its location and permission will not change during run time of xine-ui. */
+- {
+- static char *const gssaver_args[] = { "gnome-screensaver-command", "--poke", NULL };
+- static char *gssaver_path = NULL;
+-
+- if(!gssaver_path) {
+- char *path = getenv("PATH");
+-
+- if(!path)
+- path = "/usr/local/bin:/usr/bin";
+- do {
+- char *p, *pbuf;
+- int plen;
+-
+- for(p = path; *path && *path != ':'; path++)
+- ;
+- if(p == path)
+- plen = 1, p = ".";
+- else
+- plen = path - p;
+- asprintf(&pbuf, "%.*s/%s", plen, p, gssaver_args[0]);
+- if ( access(pbuf, X_OK) ) {
+- free(pbuf);
+- gssaver_path = "";
+- } else
+- gssaver_path = pbuf;
+- } while(!gssaver_path[0] && *path++);
+- }
+- if(gssaver_path[0] && (fork() == 0)) {
+- execv(gssaver_path, gssaver_args);
+- exit(0);
+- }
+- }
+
+- XLockDisplay(gGui->video_display);
+- XResetScreenSaver(gGui->video_display);
+- XUnlockDisplay(gGui->video_display);
+- }
++ was_suspended = do_suspend;
+ }
+ }
+
++void video_window_reset_ssaver(void) {
++ video_window_suspend_ssaver(1);
++}
++
+ void video_window_get_frame_size(int *w, int *h) {
+ if(w)
+ *w = gVw.frame_width;
+--- xine-ui-0.99.6.orig/src/xitk/videowin.h
++++ xine-ui-0.99.6/src/xitk/videowin.h
+@@ -81,6 +81,7 @@ void video_window_get_mag (float *xmag,
+ void video_window_update_logo(void);
+ void video_window_change_skins(int);
+
++void video_window_suspend_ssaver(int do_suspend);
+ void video_window_reset_ssaver(void);
+
+ void video_window_get_frame_size(int *w, int *h);
+--- xine-ui-0.99.6.orig/src/xitk/event.c
++++ xine-ui-0.99.6/src/xitk/event.c
+@@ -135,9 +135,6 @@ static void skip_by_chapter_cb(void *dat
+ gGui->skip_by_chapter = cfg->num_value;
+ panel_update_nextprev_tips();
+ }
+-static void ssaver_timeout_cb(void *data, xine_cfg_entry_t *cfg) {
+- gGui->ssaver_timeout = cfg->num_value;
+-}
+
+ static void visual_anim_cb(void *data, xine_cfg_entry_t *cfg) {
+
+@@ -1614,14 +1611,6 @@ void gui_init (int nfiles, char *filenam
+ snapshot_loc_cb,
+ CONFIG_NO_DATA);
+
+- gGui->ssaver_timeout =
+- xine_config_register_num (__xineui_global_xine_instance, "gui.screensaver_timeout", 10,
+- _("Screensaver reset interval (s)"),
+- _("Time, in seconds, between two faked events to keep a screensaver quiet, 0 to disable."),
+- CONFIG_LEVEL_ADV,
+- ssaver_timeout_cb,
+- CONFIG_NO_DATA);
+-
+ gGui->skip_by_chapter =
+ xine_config_register_bool (__xineui_global_xine_instance, "gui.skip_by_chapter", 1,
+ _("Chapter hopping"),
+
+
+
+
+
diff --git a/staging/xine-ui/xine-ui.install b/staging/xine-ui/xine-ui.install
new file mode 100644
index 000000000..3b3aff7d9
--- /dev/null
+++ b/staging/xine-ui/xine-ui.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/staging/zvbi/PKGBUILD b/staging/zvbi/PKGBUILD
new file mode 100644
index 000000000..442df8b76
--- /dev/null
+++ b/staging/zvbi/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 146940 2012-01-19 13:11:45Z giovanni $
+# Maintainer:
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=zvbi
+pkgver=0.2.33
+pkgrel=4
+pkgdesc="VBI capture and decoding library"
+url="http://zapping.sourceforge.net/cgi-bin/view/ZVBI/WebHome"
+arch=('i686' 'x86_64')
+depends=('libpng' 'libx11')
+license=('GPL')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/sourceforge/zapping/${pkgname}-${pkgver}.tar.bz2"
+ 'fix-includes.patch'
+ 'zvbi-0.2.33-libpng15.patch')
+md5sums=('1741a6045c3eedfb611d645f2da69ac8'
+ '38766bc59e1571133d0399f0102da653'
+ '4434de7addc438be8c5a33274146bd11')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/fix-includes.patch"
+ patch -Np0 -i "${srcdir}/zvbi-0.2.33-libpng15.patch"
+
+ ./configure --prefix=/usr \
+ --disable-static \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/zvbi/fix-includes.patch b/staging/zvbi/fix-includes.patch
new file mode 100644
index 000000000..28252649e
--- /dev/null
+++ b/staging/zvbi/fix-includes.patch
@@ -0,0 +1,36 @@
+Add proper #includes so that we do not get undef errors to S_ISCHR
+during linking.
+
+Signed-off-by: Alex Chiang <achiang@canonical.com>
+---
+--- zvbi-0.2.33.orig/src/io-dvb.c
++++ zvbi-0.2.33/src/io-dvb.c
+@@ -29,6 +29,8 @@
+ #include <errno.h>
+ #include <sys/select.h>
+ #include <sys/ioctl.h>
++#include <sys/types.h>
++#include <sys/stat.h>
+
+ #ifndef HAVE_S64_U64
+ /* Linux 2.6.x asm/types.h defines __s64 and __u64 only
+--- zvbi-0.2.33.orig/src/io-v4l.c
++++ zvbi-0.2.33/src/io-v4l.c
+@@ -42,6 +42,7 @@ static const char rcsid [] =
+ #include <assert.h>
+ #include <sys/time.h> /* timeval */
+ #include <sys/types.h> /* fd_set, uid_t */
++#include <sys/stat.h> /* S_ISCHR */
+ #include <sys/ioctl.h> /* for (_)videodev.h */
+ #include <pthread.h>
+
+--- zvbi-0.2.33.orig/contrib/ntsc-cc.c
++++ zvbi-0.2.33/contrib/ntsc-cc.c
+@@ -34,6 +34,7 @@
+ #include <locale.h>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
++#include <sys/stat.h>
+ #include <sys/time.h>
+ #ifdef HAVE_GETOPT_LONG
+ # include <getopt.h>
diff --git a/staging/zvbi/zvbi-0.2.33-libpng15.patch b/staging/zvbi/zvbi-0.2.33-libpng15.patch
new file mode 100644
index 000000000..262677376
--- /dev/null
+++ b/staging/zvbi/zvbi-0.2.33-libpng15.patch
@@ -0,0 +1,21 @@
+Index: src/exp-gfx.c
+===================================================================
+RCS file: /cvsroot/zapping/vbi/src/exp-gfx.c,v
+retrieving revision 1.16
+diff -u -B -r1.16 exp-gfx.c
+--- src/exp-gfx.c 24 Feb 2008 14:17:47 -0000 1.16
++++ src/exp-gfx.c 15 Feb 2011 20:03:58 -0000
+@@ -1672,11 +1672,11 @@
+ char title[80];
+ unsigned int i;
+
+- if (setjmp (png_ptr->jmpbuf))
++ if (setjmp (png_jmpbuf(png_ptr)))
+ return FALSE;
+
+ png_set_write_fn (png_ptr,
+- (voidp) gfx,
++ (png_voidp) gfx,
+ write_data,
+ flush_data);
+