summaryrefslogtreecommitdiff
path: root/staging
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-20 01:22:20 -0700
committerroot <root@rshg054.dnsready.net>2012-10-20 01:22:20 -0700
commit9598f5141ea75ffa72a3c7c85639c6f296020ef1 (patch)
tree36488f90eaa723f707c26f79ba771bb2910e8368 /staging
parentdcc55a1cfa32068d0759c1c8307f6c07c11aec99 (diff)
Sat Oct 20 01:22:19 PDT 2012
Diffstat (limited to 'staging')
-rw-r--r--staging/cinepaint/LICENSE25
-rw-r--r--staging/cinepaint/PKGBUILD51
-rw-r--r--staging/cinepaint/cinepaint-libpng15.patch452
-rw-r--r--staging/cinepaint/cinepaint-missing-include.patch11
-rw-r--r--staging/cinepaint/cinepaint.install11
-rw-r--r--staging/fyre/PKGBUILD26
-rw-r--r--staging/fyre/fyre.install13
-rw-r--r--staging/glew/PKGBUILD8
-rw-r--r--staging/ilmbase/PKGBUILD35
-rw-r--r--staging/ilmbase/ilmbase-IexMath.patch12
-rw-r--r--staging/imagemagick/PKGBUILD82
-rw-r--r--staging/imagemagick/perlmagick.rpath.patch10
-rw-r--r--staging/kdelibs3/PKGBUILD97
-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-cups16.patch724
-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/openexr/PKGBUILD30
-rw-r--r--staging/openexr/gcc43.patch11
-rw-r--r--staging/transcode/PKGBUILD61
-rw-r--r--staging/transcode/ffmpeg-0.11.patch141
-rw-r--r--staging/transcode/subtitleripper-0.3.4-linkingorder.patch28
-rw-r--r--staging/transcode/subtitleripper-0.3.4-respect-ldflags.patch28
-rw-r--r--staging/xine-lib/PKGBUILD8
28 files changed, 3144 insertions, 8 deletions
diff --git a/staging/cinepaint/LICENSE b/staging/cinepaint/LICENSE
new file mode 100644
index 000000000..746207229
--- /dev/null
+++ b/staging/cinepaint/LICENSE
@@ -0,0 +1,25 @@
+Copyright (c) 2005, Kai-Uwe Behrmann
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.ntributors may be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/staging/cinepaint/PKGBUILD b/staging/cinepaint/PKGBUILD
new file mode 100644
index 000000000..d8d5e0195
--- /dev/null
+++ b/staging/cinepaint/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 169355 2012-10-20 02:54:29Z eric $
+# Maintainer: tobias [tobias.archlinux.org]
+# Contributor: tobias [tobias.justdreams.de]
+
+pkgname=cinepaint
+pkgver=1.3
+pkgrel=5
+pkgdesc="Sophisticated graphics manipulation programm supporting > 8bit pictures"
+arch=('i686' 'x86_64')
+license=('LGPL' 'GPL' 'MIT')
+url="http://www.cinepaint.org"
+depends=('gtk2' 'openexr' 'lcms' 'libxpm' 'fltk' 'ftgl' 'libxxf86vm')
+makedepends=('python2' 'gutenprint>=5.2.9')
+optdepends=('python2: for python plug-ins'
+ 'gutenprint: for print plug-ins'
+ 'ghostscript: for pdf plug-ins')
+options=('!libtool')
+install=cinepaint.install
+source=(http://downloads.sourceforge.net/project/cinepaint/CinePaint/CinePaint-${pkgver}/${pkgname}-${pkgver}.tgz
+ LICENSE cinepaint-libpng15.patch cinepaint-missing-include.patch)
+sha1sums=('1982e32b0f461f4fd0ff0fe17a2e81ccd8dbd52b'
+ 'ca8411db87f3fc51bbdfade22f4e1f555b2ee19e'
+ '3dfc9f06f02791aee59b60d33ddf9d305b0f1de5'
+ 'a4f43aabdbb33d059f1a38442cd6625e4f00c5b9')
+
+build() {
+ cd "${srcdir}/${pkgname}"
+ patch -p1 -i ../cinepaint-libpng15.patch
+ patch -p1 -i ../cinepaint-missing-include.patch
+ find plug-ins/pygimp -type f -exec sed -i 's#env python#env python2#' {} +
+ sed -i 's|$(LDFLAGS) -o|$(LDFLAGS) $(GTK_LIBS) -o|' lib/Makefile.in
+
+# aclocal -I aclocal
+# autoconf
+ sh autogen.sh
+
+ LIBS+="-lstdc++ -lm -lX11" ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man \
+ --enable-gtk2 --enable-pygimp --with-python=/usr/bin/python2
+ sed -i 's/-Wl,,/-Wl,/' lib/fl_i18n/Makefile plug-ins/bracketing_to_hdr/Makefile \
+ plug-ins/collect/Makefile plug-ins/icc_examin/icc_examin/Makefile plug-ins/pdf/Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}"
+ make DESTDIR="${pkgdir}" install
+ sed -i -e "s|-I$srcdir/cinepaint||" -e "s|-I$srcdir/cinepaint/lib||" -e "/libcinepaint.la/d" \
+ -e "s|$srcdir/cinepaint/lib/.libs/\$dlname||" "${pkgdir}/usr/bin/cinepainttool"
+ sed -i "s/cinepaint.png/cinepaint/" "${pkgdir}/usr/share/applications/cinepaint.desktop"
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/staging/cinepaint/cinepaint-libpng15.patch b/staging/cinepaint/cinepaint-libpng15.patch
new file mode 100644
index 000000000..e22edafae
--- /dev/null
+++ b/staging/cinepaint/cinepaint-libpng15.patch
@@ -0,0 +1,452 @@
+diff -Naur cinepaint.old/plug-ins/png/png.c cinepaint/plug-ins/png/png.c
+--- cinepaint.old/plug-ins/png/png.c 2012-01-23 12:39:42.000000000 -0500
++++ cinepaint/plug-ins/png/png.c 2012-01-23 12:39:50.000000000 -0500
+@@ -390,6 +390,16 @@
+ gchar *progress; /* Title for progress display... */
+ guchar alpha[256], /* Index -> Alpha */
+ *alpha_ptr; /* Temporary pointer */
++ png_byte color_type;
++ png_byte bit_depth;
++ png_colorp palette;
++ int num_palette;
++ png_charpp iccp_name;
++ int compression_type;
++ png_bytepp iccp_profile;
++ png_uint_32 iccp_proflen;
++ png_uint_32 width, height;
++ png_byte channels;
+
+ /*
+ * PNG 0.89 and newer have a sane, forwards compatible constructor.
+@@ -405,7 +415,7 @@
+ info = (png_infop)calloc(sizeof(png_info), 1);
+ #endif /* PNG_LIBPNG_VER > 88 */
+
+- if (setjmp (pp->jmpbuf))
++ if (setjmp (png_jmpbuf(pp)))
+ {
+ g_message ("%s\nPNG error. File corrupted?", filename);
+ return image;
+@@ -442,21 +452,26 @@
+ */
+
+ png_read_info(pp, info);
++ color_type = png_get_color_type(pp, info);
++ width=png_get_image_width(pp, info);
++ height=png_get_image_height(pp, info);
+
+ /*
+ * Latest attempt, this should be my best yet :)
+ */
+
++ bit_depth = png_get_bit_depth(pp, info);
++
+ #ifndef WORDS_BIGENDIAN
+- if(info->bit_depth == 16)
++ if(bit_depth == 16)
+ png_set_swap(pp);
+ #endif
+
+- if (info->color_type == PNG_COLOR_TYPE_GRAY && info->bit_depth < 8) {
++ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
+ png_set_expand(pp);
+ }
+
+- if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8) {
++ if (color_type == PNG_COLOR_TYPE_PALETTE && bit_depth < 8) {
+ png_set_packing(pp);
+ }
+
+@@ -464,8 +479,8 @@
+ * Expand G+tRNS to GA, RGB+tRNS to RGBA
+ */
+
+- if (info->color_type != PNG_COLOR_TYPE_PALETTE &&
+- (info->valid & PNG_INFO_tRNS)) {
++ if (color_type != PNG_COLOR_TYPE_PALETTE &&
++ (png_get_valid(pp, info, PNG_INFO_tRNS))) {
+ png_set_expand(pp);
+ }
+
+@@ -482,7 +497,7 @@
+
+ #if PNG_LIBPNG_VER > 99
+ if (png_get_valid(pp, info, PNG_INFO_tRNS) &&
+- info->color_type == PNG_COLOR_TYPE_PALETTE)
++ color_type == PNG_COLOR_TYPE_PALETTE)
+ {
+ png_get_tRNS(pp, info, &alpha_ptr, &num, NULL);
+ /* Copy the existing alpha values from the tRNS chunk */
+@@ -505,9 +520,9 @@
+
+ png_read_update_info(pp, info);
+
+- if(info->bit_depth==16)
++ if(bit_depth==16)
+ {
+- switch (info->color_type)
++ switch (color_type)
+ {
+ case PNG_COLOR_TYPE_RGB : /* RGB */
+ bpp = 6;
+@@ -545,7 +560,7 @@
+ }
+ else
+ {
+- switch (info->color_type)
++ switch (color_type)
+ {
+ case PNG_COLOR_TYPE_RGB : /* RGB */
+ bpp = 3;
+@@ -582,7 +597,7 @@
+ };
+ }
+
+- image = gimp_image_new(info->width, info->height, image_type);
++ image = gimp_image_new(width, height, image_type);
+ if (image == -1)
+ {
+ g_message("Can't allocate new image\n%s", filename);
+@@ -595,7 +610,7 @@
+ * Create the "background" layer to hold the image...
+ */
+
+- layer = gimp_layer_new(image, _("Background"), info->width, info->height,
++ layer = gimp_layer_new(image, _("Background"), width, height,
+ layer_type, 100, NORMAL_MODE);
+ gimp_image_add_layer(image, layer, 0);
+
+@@ -627,20 +642,21 @@
+
+ empty= 0; /* by default assume no full transparent palette entries */
+
+- if (info->color_type & PNG_COLOR_MASK_PALETTE) {
++ if (color_type & PNG_COLOR_MASK_PALETTE) {
+
+ #if PNG_LIBPNG_VER > 99
++ png_get_PLTE(pp, info, &palette, &num_palette);
+ if (png_get_valid(pp, info, PNG_INFO_tRNS)) {
+ for (empty= 0; empty < 256 && alpha[empty] == 0; ++empty);
+ /* Calculates number of fully transparent "empty" entries */
+
+- gimp_image_set_cmap(image, (guchar *) (info->palette + empty),
+- info->num_palette - empty);
++ gimp_image_set_cmap(image, (guchar *) (palette + empty),
++ num_palette - empty);
+ } else {
+- gimp_image_set_cmap(image, (guchar *)info->palette, info->num_palette);
++ gimp_image_set_cmap(image, (guchar *)palette, num_palette);
+ }
+ #else
+- gimp_image_set_cmap(image, (guchar *)info->palette, info->num_palette);
++ gimp_image_set_cmap(image, (guchar *)palette, num_palette);
+ #endif /* PNG_LIBPNG_VER > 99 */
+
+ }
+@@ -659,18 +675,19 @@
+ */
+
+ tile_height = gimp_tile_height ();
+- pixel = g_new(guchar, tile_height * info->width * bpp);
++ pixel = g_new(guchar, tile_height * width * bpp);
+ pixels = g_new(guchar *, tile_height);
++ channels=png_get_channels(pp, info);
+
+- if(info->bit_depth==16)
++ if(bit_depth==16)
+ {
+ for (i = 0; i < tile_height; i ++)
+- pixels[i] = pixel + info->width * info->channels * i * 2;
++ pixels[i] = pixel + width * channels * i * 2;
+ }
+ else
+ {
+ for (i = 0; i < tile_height; i ++)
+- pixels[i] = pixel + info->width * info->channels * i;
++ pixels[i] = pixel + width * channels * i;
+ }
+
+ for (pass = 0; pass < num_passes; pass ++)
+@@ -680,11 +697,11 @@
+ */
+
+ for (begin = 0, end = tile_height;
+- begin < info->height;
++ begin < height;
+ begin += tile_height, end += tile_height)
+ {
+- if (end > info->height)
+- end = info->height;
++ if (end > height)
++ end = height;
+
+ num = end - begin;
+
+@@ -697,20 +714,21 @@
+ gimp_pixel_rgn_set_rect(&pixel_rgn, pixel, 0, begin,
+ drawable->width, num);
+
+- gimp_progress_update(((double)pass + (double)end / (double)info->height) /
++ gimp_progress_update(((double)pass + (double)end / (double)height) /
+ (double)num_passes);
+ };
+ };
+
+ #if defined(PNG_iCCP_SUPPORTED)
+ /* set icc profile */
+- if (info->iccp_proflen > 0) {
+- gimp_image_set_icc_profile_by_mem (image, info->iccp_proflen,
+- info->iccp_profile,
+- ICC_IMAGE_PROFILE);
++ png_get_iCCP(pp, info, (png_charpp)iccp_name, &compression_type, iccp_profile, &iccp_proflen);
++ if (iccp_proflen > 0) {
++ gimp_image_set_icc_profile_by_mem (image, iccp_proflen,
++ (gchar *)iccp_profile,
++ ICC_IMAGE_PROFILE);
+ printf ("%s:%d %s() set embedded profile \"%s\"\n",
+ __FILE__,__LINE__,__func__,
+- info->iccp_name);
++ (char *)iccp_name);
+ }
+ #endif
+
+@@ -808,6 +826,14 @@
+ blue; /* Used for palette background */
+ time_t cutime; /* Time since epoch */
+ struct tm *gmt; /* GMT broken down */
++ png_byte color_type;
++ png_byte bit_depth;
++ int filter_method=0;
++ png_colorp palette;
++ int num_palette;
++ png_charpp iccp_name;
++ png_uint_32 height;
++ int compression_type;
+
+ /*
+ * PNG 0.89 and newer have a sane, forwards compatible constructor.
+@@ -824,7 +849,7 @@
+ info = (png_infop)calloc(sizeof(png_info), 1);
+ #endif /* PNG_LIBPNG_VER > 88 */
+
+- if (setjmp (pp->jmpbuf))
++ if (setjmp (png_jmpbuf(pp)))
+ {
+ g_message ("%s\nPNG error. Couldn't save image", filename);
+ return 0;
+@@ -857,15 +882,6 @@
+ drawable = gimp_drawable_get (drawable_ID);
+ type = gimp_drawable_type (drawable_ID);
+
+- /*
+- * Set the image dimensions, bit depth, interlacing and compression
+- */
+-
+- png_set_compression_level (pp, pngvals.compression_level);
+-
+- info->width = drawable->width;
+- info->height = drawable->height;
+- info->interlace_type = pngvals.interlaced;
+
+ /*
+ * Set color type and remember bytes per pixel count
+@@ -874,71 +890,69 @@
+ switch (type)
+ {
+ case RGB_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_RGB;
+- info->bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_RGB;
++ bit_depth = 8;
+ bpp = 3;
+ break;
+ case RGBA_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+- info->bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_RGB_ALPHA;
++ bit_depth = 8;
+ bpp = 4;
+ break;
+ case GRAY_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_GRAY;
+- info->bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_GRAY;
++ bit_depth = 8;
+ bpp = 1;
+ break;
+ case GRAYA_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
+- info->bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
++ bit_depth = 8;
+ bpp = 2;
+ break;
+ case INDEXED_IMAGE :
+ bpp = 1;
+- info->bit_depth = 8;
+- info->color_type = PNG_COLOR_TYPE_PALETTE;
+- info->valid |= PNG_INFO_PLTE;
+- info->palette= (png_colorp) gimp_image_get_cmap(image_ID, &num_colors);
+- info->num_palette= num_colors;
++ bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_PALETTE;
++ png_get_valid(pp, info, PNG_INFO_PLTE);
++ png_set_PLTE(pp, info, (png_colorp) gimp_image_get_cmap(image_ID, &num_colors), num_colors);
+ break;
+ case INDEXEDA_IMAGE :
+ bpp = 2;
+- info->bit_depth = 8;
+- info->color_type = PNG_COLOR_TYPE_PALETTE;
++ bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_PALETTE;
+ respin_cmap (pp, info, image_ID); /* fix up transparency */
+ break;
+ case U16_RGB_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_RGB;
+- info->bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_RGB;
++ bit_depth = 16;
+ bpp = 6;
+ break;
+ case U16_RGBA_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+- info->bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_RGB_ALPHA;
++ bit_depth = 16;
+ bpp = 8;
+ break;
+ case U16_GRAY_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_GRAY;
+- info->bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_GRAY;
++ bit_depth = 16;
+ bpp = 2;
+ break;
+ case U16_GRAYA_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
+- info->bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
++ bit_depth = 16;
+ bpp = 4;
+ break;
+ case U16_INDEXED_IMAGE :
+ bpp = 2;
+- info->bit_depth = 16;
+- info->color_type = PNG_COLOR_TYPE_PALETTE;
+- info->valid |= PNG_INFO_PLTE;
+- info->palette= (png_colorp) gimp_image_get_cmap(image_ID, &num_colors);
+- info->num_palette= num_colors;
++ bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_PALETTE;
++ png_get_valid(pp, info, PNG_INFO_PLTE);
++ png_set_PLTE(pp, info, (png_colorp) gimp_image_get_cmap(image_ID, &num_colors), num_colors);
+ break;
+ case U16_INDEXEDA_IMAGE :
+ bpp = 4;
+- info->bit_depth = 16;
+- info->color_type = PNG_COLOR_TYPE_PALETTE;
++ bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_PALETTE;
+ respin_cmap (pp, info, image_ID); /* fix up transparency */
+ break;
+ default:
+@@ -950,30 +964,36 @@
+ * Fix bit depths for (possibly) smaller colormap images
+ */
+
+- if (info->valid & PNG_INFO_PLTE) {
+- if (info->num_palette <= 2)
+- info->bit_depth= 1;
+- else if (info->num_palette <= 4)
+- info->bit_depth= 2;
+- else if (info->num_palette <= 16)
+- info->bit_depth= 4;
++ if (png_get_valid(pp, info, PNG_INFO_PLTE)) {
++ png_get_PLTE(pp, info, &palette, &num_palette);
++ if (num_palette <= 2)
++ bit_depth= 1;
++ else if (num_palette <= 4)
++ bit_depth= 2;
++ else if (num_palette <= 16)
++ bit_depth= 4;
+ /* otherwise the default is fine */
+ }
+
++ png_set_compression_level (pp, pngvals.compression_level);
++ png_set_IHDR(pp, info, drawable->width, drawable->height,
++ bit_depth, color_type, pngvals.interlaced, compression_type, filter_method);
++
++
+ // write icc profile
+ #if defined(PNG_iCCP_SUPPORTED)
+ if (gimp_image_has_icc_profile (image_ID, ICC_IMAGE_PROFILE)) {
+- int size;
++ int size;
+ char *buffer;
+
+ buffer = gimp_image_get_icc_profile_by_mem (image_ID, &size,
+ ICC_IMAGE_PROFILE);
+ png_set_iCCP (pp, info,
+ gimp_image_get_icc_profile_description (image_ID, ICC_IMAGE_PROFILE),
+- 0, buffer, size);
++ 0, (png_const_bytep)buffer, size);
+ printf ("%s:%d %s() embedd icc profile \"%s\"\n",
+ __FILE__,__LINE__,__func__,
+- info->iccp_name);
++ (char *)iccp_name);
+ }
+ #endif
+
+@@ -1039,13 +1059,13 @@
+ * Convert unpacked pixels to packed if necessary
+ */
+
+- if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8)
++ if (color_type == PNG_COLOR_TYPE_PALETTE && bit_depth < 8)
+ png_set_packing(pp);
+
+ /* Set swapping for 16 bit per sample images */
+
+ #ifndef WORDS_BIGENDIAN
+- if (info->bit_depth == 16)
++ if (bit_depth == 16)
+ png_set_swap(pp);
+ #endif
+
+@@ -1063,6 +1083,7 @@
+
+ gimp_pixel_rgn_init(&pixel_rgn, drawable, 0, 0, drawable->width,
+ drawable->height, FALSE, FALSE);
++ height=png_get_image_height(pp, info);
+
+ for (pass = 0; pass < num_passes; pass ++)
+ {
+@@ -1077,7 +1098,7 @@
+ num = end - begin;
+
+ gimp_pixel_rgn_get_rect (&pixel_rgn, pixel, 0, begin, drawable->width, num);
+- if (info->valid & PNG_INFO_tRNS) {
++ if (png_get_valid(pp, info, PNG_INFO_tRNS)) {
+ for (i = 0; i < num; ++i) {
+ fixed= pixels[i];
+ for (k = 0; k < drawable->width; ++k) {
+@@ -1085,7 +1106,7 @@
+ }
+ }
+ /* Forgot this case before, what if there are too many colors? */
+- } else if (info->valid & PNG_INFO_PLTE && bpp == 2) {
++ } else if (png_get_valid(pp, info, PNG_INFO_PLTE) && bpp == 2) {
+ for (i = 0; i < num; ++i) {
+ fixed= pixels[i];
+ for (k = 0; k < drawable->width; ++k) {
+@@ -1095,9 +1116,8 @@
+ }
+
+ png_write_rows (pp, pixels, num);
+-
+ gimp_progress_update (((double)pass + (double)end /
+- (double)info->height) / (double)num_passes);
++ (double)height) / (double)num_passes);
+ };
+ };
+
diff --git a/staging/cinepaint/cinepaint-missing-include.patch b/staging/cinepaint/cinepaint-missing-include.patch
new file mode 100644
index 000000000..ed159213a
--- /dev/null
+++ b/staging/cinepaint/cinepaint-missing-include.patch
@@ -0,0 +1,11 @@
+diff -Naur cinepaint-orig/plug-ins/icc_examin/icc_examin/icc_modell_beobachter.cpp cinepaint/plug-ins/icc_examin/icc_examin/icc_modell_beobachter.cpp
+--- cinepaint-orig/plug-ins/icc_examin/icc_examin/icc_modell_beobachter.cpp 2012-04-20 18:51:10.625503826 -0400
++++ cinepaint/plug-ins/icc_examin/icc_examin/icc_modell_beobachter.cpp 2012-04-20 18:52:04.478835055 -0400
+@@ -32,6 +32,7 @@
+
+ #include <list>
+ #include <string>
++#include <unistd.h>
+
+ #include "icc_modell_beobachter.h"
+
diff --git a/staging/cinepaint/cinepaint.install b/staging/cinepaint/cinepaint.install
new file mode 100644
index 000000000..5e5cfef4d
--- /dev/null
+++ b/staging/cinepaint/cinepaint.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/staging/fyre/PKGBUILD b/staging/fyre/PKGBUILD
new file mode 100644
index 000000000..db81bc725
--- /dev/null
+++ b/staging/fyre/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 169349 2012-10-20 00:55:07Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=fyre
+pkgver=1.0.1
+pkgrel=6
+pkgdesc="Rendering of the Peter de Jong map"
+arch=('i686' 'x86_64')
+url="http://fyre.navi.cx/"
+license=('GPL')
+depends=('openexr' 'libglade' 'gnet' 'shared-mime-info' 'hicolor-icon-theme' 'desktop-file-utils')
+install=fyre.install
+source=(http://releases.navi.cx/fyre/fyre-${pkgver}.tar.bz2)
+sha1sums=('41c0ec45eff16cc1bba081c5c855a3980e404835')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make update_xdgmime=/bin/false update_fdodesktop=/bin/false gtk_update_icon_cache=/bin/false \
+ prefix="${pkgdir}/usr" install
+}
diff --git a/staging/fyre/fyre.install b/staging/fyre/fyre.install
new file mode 100644
index 000000000..388efbb11
--- /dev/null
+++ b/staging/fyre/fyre.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/staging/glew/PKGBUILD b/staging/glew/PKGBUILD
index c71ce3a24..4cc448ce2 100644
--- a/staging/glew/PKGBUILD
+++ b/staging/glew/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 164235 2012-07-28 03:12:10Z eric $
+# $Id: PKGBUILD 169341 2012-10-19 22:31:09Z eric $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: SleepyDog
pkgname=glew
-pkgver=1.8.0
+pkgver=1.9.0
pkgrel=1
pkgdesc="The OpenGL Extension Wrangler Library"
arch=('i686' 'x86_64')
url="http://glew.sourceforge.net"
license=('BSD' 'MIT' 'GPL')
-depends=('libxmu' 'libxi' 'mesa')
+depends=('libxmu' 'libxi' 'glu')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tgz)
-sha1sums=('641c6bb3f924ec786e1e6cf2b1b230f594e0f0e4')
+sha1sums=('9291f5c5afefd482c7f3e91ffb3cd4716c6c9ffe')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/staging/ilmbase/PKGBUILD b/staging/ilmbase/PKGBUILD
new file mode 100644
index 000000000..fe1618f48
--- /dev/null
+++ b/staging/ilmbase/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=ilmbase
+pkgver=1.0.3
+pkgrel=1
+depends=('gcc-libs')
+pkgdesc="Base libraries from ILM for OpenEXR"
+arch=(i686 x86_64)
+url="http://www.openexr.com"
+license=('custom')
+options=('!libtool')
+source=(https://github.com/downloads/openexr/openexr/$pkgname-$pkgver.tar.gz
+ ilmbase-IexMath.patch)
+md5sums=('d99962ec7e2bfac0647aaabf6b91d5de'
+ '9c8efaf15f60bccf79749ec879657962')
+
+build() {
+ cd "${srcdir}/$pkgname-$pkgver"
+ patch -p0 -i "${srcdir}/ilmbase-IexMath.patch"
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "${srcdir}/$pkgname-$pkgver"
+ # one of the tests fails randomly for an unknown reason
+ make check || true
+}
+
+package() {
+ cd "${srcdir}/$pkgname-$pkgver"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
diff --git a/staging/ilmbase/ilmbase-IexMath.patch b/staging/ilmbase/ilmbase-IexMath.patch
new file mode 100644
index 000000000..546034966
--- /dev/null
+++ b/staging/ilmbase/ilmbase-IexMath.patch
@@ -0,0 +1,12 @@
+--- IexMath/IexMathFpu.cpp.orig 2012-07-26 20:51:55.000000000 +0200
++++ IexMath/IexMathFpu.cpp 2012-10-04 15:30:47.000000000 +0200
+@@ -27,8 +27,7 @@
+ #endif
+
+
+-#ifdef HAVE_UCONTEXT_H
+-
++#if defined(HAVE_UCONTEXT_H) && (defined(x86_64) || defined(i386_))
+
+ #include <ucontext.h>
+ #include <signal.h>
diff --git a/staging/imagemagick/PKGBUILD b/staging/imagemagick/PKGBUILD
new file mode 100644
index 000000000..04ce425a9
--- /dev/null
+++ b/staging/imagemagick/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 169345 2012-10-20 00:21:55Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgbase=imagemagick
+pkgname=('imagemagick' 'imagemagick-doc')
+pkgver=6.8.0.1
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://www.imagemagick.org/"
+license=('custom')
+makedepends=('libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'ghostscript' \
+ 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper' 'liblqr')
+source=(ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
+ perlmagick.rpath.patch)
+sha1sums=('47926535dd68b38f5ae8a01e470cebf671018831'
+ '23405f80904b1de94ebd7bd6fe2a332471b8c283')
+
+build() {
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+
+ sed '/AC_PATH_XTRA/d' -i configure.ac
+ autoreconf --force --install
+ patch -p0 -i ../perlmagick.rpath.patch
+
+ ./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
+ --disable-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" --with-lqr --with-rsvg \
+ --without-gvc --without-djvu --without-autotrace --without-webp \
+ --without-jbig --without-fpx --without-dps --without-fftw
+ make
+}
+
+check() {
+ cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
+# make check
+}
+
+package_imagemagick() {
+ pkgdesc="An image viewing/manipulation program"
+ depends=('perl' 'libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'liblqr')
+ 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/quantization-table.xml'
+ 'etc/ImageMagick/thresholds.xml'
+ 'etc/ImageMagick/type.xml'
+ 'etc/ImageMagick/type-dejavu.xml'
+ 'etc/ImageMagick/type-ghostscript.xml'
+ 'etc/ImageMagick/type-windows.xml')
+ options=('!docs' 'libtool' '!emptydirs')
+
+ 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)"
+
+ 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..107727721
--- /dev/null
+++ b/staging/kdelibs3/PKGBUILD
@@ -0,0 +1,97 @@
+# $Id: PKGBUILD 169353 2012-10-20 02:30:14Z 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=15
+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' '!makeflags')
+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'
+ 'kdelibs3-cups16.patch')
+sha1sums=('c930a25f4419134def55b8466c3a6f737227fb82'
+ 'c8ca21e4848a627760746d0a8a64bf4f90684c3e'
+ '50c9de71b102507fb78b192ecc22a5fc3e031bc3'
+ 'fbd6e773edf3e8bb8e1272629984025e041da2ca'
+ '5fbbf7a5e2032878815fa055bfb5020f478d2b25'
+ '35e56fe4c5f71685e64b13f448dcacc620166e06'
+ '50e92950498463defb9149ffcf8cbc2e8cd1063b'
+ 'e5f5b8c060a2db9cedb82bf18caadfa869921779'
+ '6a6c544b3336bfe89bb17ef737d783a7ec006c6c')
+
+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
+ patch -p1 -i "${srcdir}"/kdelibs3-cups16.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-cups16.patch b/staging/kdelibs3/kdelibs3-cups16.patch
new file mode 100644
index 000000000..6736d49d3
--- /dev/null
+++ b/staging/kdelibs3/kdelibs3-cups16.patch
@@ -0,0 +1,724 @@
+diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/cupsdconf2/cupsdconf.cpp kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cupsdconf.cpp
+--- kdelibs-3.5.10-orig/kdeprint/cups/cupsdconf2/cupsdconf.cpp 2012-10-06 14:49:37.521406729 -0400
++++ kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cupsdconf.cpp 2012-10-06 15:08:17.460612585 -0400
+@@ -629,26 +629,26 @@
+ cups_lang_t* lang = cupsLangDefault();
+ ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, cupsLangEncoding(lang));
+ ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, lang->language);
+- request_->request.op.operation_id = CUPS_GET_PRINTERS;
++ ippSetOperation(request_, CUPS_GET_PRINTERS);
+ request_ = cupsDoRequest(http_, request_, "/printers/");
+ if (request_)
+ {
+ QString name;
+ int type(0);
+- ipp_attribute_t *attr = request_->attrs;
++ ipp_attribute_t *attr = ippFirstAttribute(request_);
+ while (attr)
+ {
+ // check new printer (keep only local non-implicit printers)
+- if (!attr->name)
++ if (!ippGetName(attr))
+ {
+ if (!(type & CUPS_PRINTER_REMOTE) && !(type & CUPS_PRINTER_IMPLICIT) && !name.isEmpty())
+ resources_.append(new CupsResource("/printers/"+name));
+ name = "";
+ type = 0;
+ }
+- else if (strcmp(attr->name, "printer-name") == 0) name = attr->values[0].string.text;
+- else if (strcmp(attr->name, "printer-type") == 0) type = attr->values[0].integer;
+- attr = attr->next;
++ else if (strcmp(ippGetName(attr), "printer-name") == 0) name = ippGetString(attr, 0, NULL);
++ else if (strcmp(ippGetName(attr), "printer-type") == 0) type = ippGetInteger(attr, 0);
++ attr = ippNextAttribute(request_);
+ }
+ if (!(type & CUPS_PRINTER_REMOTE) && !(type & CUPS_PRINTER_IMPLICIT) && !name.isEmpty())
+ resources_.append(new CupsResource("/printers/"+name));
+@@ -658,26 +658,26 @@
+ request_ = ippNew();
+ ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, cupsLangEncoding(lang));
+ ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, lang->language);
+- request_->request.op.operation_id = CUPS_GET_CLASSES;
++ ippSetOperation(request_, CUPS_GET_CLASSES);
+ request_ = cupsDoRequest(http_, request_, "/classes/");
+ if (request_)
+ {
+ QString name;
+ int type(0);
+- ipp_attribute_t *attr = request_->attrs;
++ ipp_attribute_t *attr = ippFirstAttribute(request_);
+ while (attr)
+ {
+ // check new class (keep only local classes)
+- if (!attr->name)
++ if (!ippGetName(attr))
+ {
+ if (!(type & CUPS_PRINTER_REMOTE) && !name.isEmpty())
+ resources_.append(new CupsResource("/classes/"+name));
+ name = "";
+ type = 0;
+ }
+- else if (strcmp(attr->name, "printer-name") == 0) name = attr->values[0].string.text;
+- else if (strcmp(attr->name, "printer-type") == 0) type = attr->values[0].integer;
+- attr = attr->next;
++ else if (strcmp(ippGetName(attr), "printer-name") == 0) name = ippGetString(attr, 0, NULL);
++ else if (strcmp(ippGetName(attr), "printer-type") == 0) type = ippGetInteger(attr, 0);
++ attr = ippNextAttribute(request_);
+ }
+ if (!(type & CUPS_PRINTER_REMOTE) && !name.isEmpty())
+ resources_.append(new CupsResource("/classes/"+name));
+diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/ipprequest.cpp kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp
+--- kdelibs-3.5.10-orig/kdeprint/cups/ipprequest.cpp 2012-10-06 14:49:37.521406729 -0400
++++ kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp 2012-10-06 15:12:00.919127451 -0400
+@@ -51,32 +51,34 @@
+ kdDebug(500) << "Null request" << endl;
+ return;
+ }
+- kdDebug(500) << "State = 0x" << QString::number(req->state, 16) << endl;
+- kdDebug(500) << "ID = 0x" << QString::number(req->request.status.request_id, 16) << endl;
++ kdDebug(500) << "State = 0x" << QString::number(ippGetState(req), 16) << endl;
++ kdDebug(500) << "ID = 0x" << QString::number(ippGetRequestId(req), 16) << endl;
+ if (answer)
+ {
+- kdDebug(500) << "Status = 0x" << QString::number(req->request.status.status_code, 16) << endl;
+- kdDebug(500) << "Status message = " << ippErrorString(req->request.status.status_code) << endl;
++ kdDebug(500) << "Status = 0x" << QString::number(ippGetStatusCode(req), 16) << endl;
++ kdDebug(500) << "Status message = " << ippErrorString(ippGetStatusCode(req)) << endl;
+ }
+ else
+- kdDebug(500) << "Operation = 0x" << QString::number(req->request.op.operation_id, 16) << endl;
+- kdDebug(500) << "Version = " << (int)(req->request.status.version[0]) << "." << (int)(req->request.status.version[1]) << endl;
++ kdDebug(500) << "Operation = 0x" << QString::number(ippGetOperation(req), 16) << endl;
++ int minorVersion;
++ int majorVersion = ippGetVersion(req, &minorVersion);
++ kdDebug(500) << "Version = " << (int)(majorVersion) << "." << (int)(minorVersion) << endl;
+ kdDebug(500) << endl;
+
+- ipp_attribute_t *attr = req->attrs;
++ ipp_attribute_t *attr = ippFirstAttribute(req);
+ while (attr)
+ {
+- QString s = QString::fromLatin1("%1 (0x%2) = ").arg(attr->name).arg(attr->value_tag, 0, 16);
+- for (int i=0;i<attr->num_values;i++)
++ QString s = QString::fromLatin1("%1 (0x%2) = ").arg(ippGetName(attr)).arg(ippGetValueTag(attr), 0, 16);
++ for (int i=0;i<ippGetCount(attr);i++)
+ {
+- switch (attr->value_tag)
++ switch (ippGetValueTag(attr))
+ {
+ case IPP_TAG_INTEGER:
+ case IPP_TAG_ENUM:
+- s += ("0x"+QString::number(attr->values[i].integer, 16));
++ s += ("0x"+QString::number(ippGetInteger(attr, i), 16));
+ break;
+ case IPP_TAG_BOOLEAN:
+- s += (attr->values[i].boolean ? "true" : "false");
++ s += (ippGetBoolean(attr, i) ? "true" : "false");
+ break;
+ case IPP_TAG_STRING:
+ case IPP_TAG_TEXT:
+@@ -88,16 +90,16 @@
+ case IPP_TAG_TEXTLANG:
+ case IPP_TAG_CHARSET:
+ case IPP_TAG_LANGUAGE:
+- s += attr->values[i].string.text;
++ s += ippGetString(attr, i, NULL);
+ break;
+ default:
+ break;
+ }
+- if (i != (attr->num_values-1))
++ if (i != (ippGetCount(attr)-1))
+ s += ", ";
+ }
+ kdDebug(500) << s << endl;
+- attr = attr->next;
++ attr = ippNextAttribute(req);
+ }
+ }
+
+@@ -177,7 +179,7 @@
+ ipp_attribute_t *attr = ippAddStrings(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL,NULL);
+ int i(0);
+ for (QStringList::ConstIterator it=values.begin(); it != values.end(); ++it, i++)
+- attr->values[i].string.text = strdup((*it).local8Bit());
++ ippSetString(request_, &attr, i, strdup((*it).local8Bit()));
+ }
+ }
+
+@@ -193,7 +195,7 @@
+ ipp_attribute_t *attr = ippAddIntegers(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL);
+ int i(0);
+ for (QValueList<int>::ConstIterator it=values.begin(); it != values.end(); ++it, i++)
+- attr->values[i].integer = *it;
++ ippSetInteger(request_, &attr, i, *it);
+ }
+ }
+
+@@ -209,19 +211,19 @@
+ ipp_attribute_t *attr = ippAddBooleans(request_,(ipp_tag_t)group,name.latin1(),(int)(values.count()),NULL);
+ int i(0);
+ for (QValueList<bool>::ConstIterator it=values.begin(); it != values.end(); ++it, i++)
+- attr->values[i].boolean = (char)(*it);
++ ippSetBoolean(request_, &attr, i, (char)(*it));
+ }
+ }
+
+ void IppRequest::setOperation(int op)
+ {
+- request_->request.op.operation_id = (ipp_op_t)op;
+- request_->request.op.request_id = 1; // 0 is not RFC-compliant, should be at least 1
++ ippSetOperation(request_, (ipp_op_t)op);
++ ippSetRequestId(request_, 1); // 0 is not RFC-compliant, should be at least 1
+ }
+
+ int IppRequest::status()
+ {
+- return (request_ ? request_->request.status.status_code : (connect_ ? cupsLastError() : -2));
++ return (request_ ? ippGetStatusCode(request_) : (connect_ ? cupsLastError() : -2));
+ }
+
+ QString IppRequest::statusMessage()
+@@ -248,7 +250,7 @@
+ ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), (ipp_tag_t)type);
+ if (attr)
+ {
+- value = attr->values[0].integer;
++ value = ippGetInteger(attr, 0);
+ return true;
+ }
+ else return false;
+@@ -260,7 +262,7 @@
+ ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), (ipp_tag_t)type);
+ if (attr)
+ {
+- value = QString::fromLocal8Bit(attr->values[0].string.text);
++ value = QString::fromLocal8Bit(ippGetString(attr, 0, NULL));
+ return true;
+ }
+ else return false;
+@@ -273,8 +275,8 @@
+ values.clear();
+ if (attr)
+ {
+- for (int i=0;i<attr->num_values;i++)
+- values.append(QString::fromLocal8Bit(attr->values[i].string.text));
++ for (int i=0;i<ippGetCount(attr);i++)
++ values.append(QString::fromLocal8Bit(ippGetString(attr, i, NULL)));
+ return true;
+ }
+ else return false;
+@@ -286,7 +288,7 @@
+ ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), IPP_TAG_BOOLEAN);
+ if (attr)
+ {
+- value = (bool)attr->values[0].boolean;
++ value = (bool)ippGetBoolean(attr, 0);
+ return true;
+ }
+ else return false;
+@@ -338,10 +340,10 @@
+ }
+
+ /* No printers found */
+- if ( request_ && request_->request.status.status_code == 0x406 )
++ if ( request_ && ippGetStatusCode(request_) == 0x406 )
+ return true;
+
+- if (!request_ || request_->state == IPP_ERROR || (request_->request.status.status_code & 0x0F00))
++ if (!request_ || ippGetState(request_) == IPP_ERROR || (ippGetStatusCode(request_) & 0x0F00))
+ return false;
+
+
+@@ -356,36 +358,36 @@
+ output << "<tr><th bgcolor=\"dark blue\"><font color=\"white\">" << i18n("Attribute") << "</font></th>" << endl;
+ output << "<th bgcolor=\"dark blue\"><font color=\"white\">" << i18n("Values") << "</font></th></tr>" << endl;
+ // go to the first attribute of the specified group
+- ipp_attribute_t *attr = request_->attrs;
+- while (attr && attr->group_tag != group)
+- attr = attr->next;
++ ipp_attribute_t *attr = ippFirstAttribute(request_);
++ while (attr && ippGetGroupTag(attr) != group)
++ attr = ippNextAttribute(request_);
+ // print each attribute
+- ipp_uchar_t *d;
+- QCString dateStr;
+- QDateTime dt;
+- bool bg(false);
+- while (attr && attr->group_tag == group)
++ const ipp_uchar_t *d;
++ QCString dateStr;
++ QDateTime dt;
++ bool bg(false);
++ while (attr && ippGetGroupTag(attr) == group)
+ {
+- output << " <tr bgcolor=\"" << (bg ? "#ffffd9" : "#ffffff") << "\">\n <td><b>" << attr->name << "</b></td>\n <td>" << endl;
++ output << " <tr bgcolor=\"" << (bg ? "#ffffd9" : "#ffffff") << "\">\n <td><b>" << ippGetName(attr) << "</b></td>\n <td>" << endl;
+ bg = !bg;
+- for (int i=0; i<attr->num_values; i++)
++ for (int i=0; i<ippGetCount(attr); i++)
+ {
+- switch (attr->value_tag)
++ switch (ippGetValueTag(attr))
+ {
+ case IPP_TAG_INTEGER:
+- if (attr->name && strstr(attr->name, "time"))
++ if (ippGetName(attr) && strstr(ippGetName(attr), "time"))
+ {
+- dt.setTime_t((unsigned int)(attr->values[i].integer));
++ dt.setTime_t((unsigned int)(ippGetInteger(attr, i)));
+ output << dt.toString();
+ }
+ else
+- output << attr->values[i].integer;
++ output << ippGetInteger(attr, i);
+ break;
+ case IPP_TAG_ENUM:
+- output << "0x" << hex << attr->values[i].integer << dec;
++ output << "0x" << hex << ippGetInteger(attr, i) << dec;
+ break;
+ case IPP_TAG_BOOLEAN:
+- output << (attr->values[i].boolean ? i18n("True") : i18n("False"));
++ output << (ippGetBoolean(attr, i) ? i18n("True") : i18n("False"));
+ break;
+ case IPP_TAG_STRING:
+ case IPP_TAG_TEXTLANG:
+@@ -397,18 +399,25 @@
+ case IPP_TAG_CHARSET:
+ case IPP_TAG_LANGUAGE:
+ case IPP_TAG_MIMETYPE:
+- output << attr->values[i].string.text;
++ output << ippGetString(attr, i, NULL);
+ break;
+ case IPP_TAG_RESOLUTION:
+- output << "( " << attr->values[i].resolution.xres
+- << ", " << attr->values[i].resolution.yres << " )";
++ int xres;
++ int yres;
++ ipp_res_t units;
++ xres = ippGetResolution(attr, i, &yres, &units);
++ output << "( " << xres
++ << ", " << yres << " )";
+ break;
+ case IPP_TAG_RANGE:
+- output << "[ " << (attr->values[i].range.lower > 0 ? attr->values[i].range.lower : 1)
+- << ", " << (attr->values[i].range.upper > 0 ? attr->values[i].range.upper : 65535) << " ]";
++ int lowervalue;
++ int uppervalue;
++ lowervalue = ippGetRange(attr, i, &uppervalue);
++ output << "[ " << (lowervalue > 0 ? lowervalue : 1)
++ << ", " << (uppervalue > 0 ? uppervalue : 65535) << " ]";
+ break;
+ case IPP_TAG_DATE:
+- d = attr->values[i].date;
++ d = ippGetDate(attr, i);
+ dateStr.sprintf("%.4d-%.2d-%.2d, %.2d:%.2d:%.2d %c%.2d%.2d",
+ d[0]*256+d[1], d[2], d[3],
+ d[4], d[5], d[6],
+@@ -418,11 +427,11 @@
+ default:
+ continue;
+ }
+- if (i < attr->num_values-1)
++ if (i < ippGetCount(attr)-1)
+ output << "<br>";
+ }
+ output << "</td>\n </tr>" << endl;
+- attr = attr->next;
++ attr = ippNextAttribute(request_);
+ }
+ // end table
+ output << "</table>" << endl;
+@@ -438,31 +447,34 @@
+ ipp_attribute_t *attr = first();
+ while (attr)
+ {
+- if (group != -1 && attr->group_tag != group)
++ if (group != -1 && ippGetGroupTag(attr) != group)
+ {
+- attr = attr->next;
++ attr = ippNextAttribute(request_);
+ continue;
+ }
+ QString value;
+- for (int i=0; i<attr->num_values; i++)
++ for (int i=0; i<ippGetCount(attr); i++)
+ {
+- switch (attr->value_tag)
++ switch (ippGetValueTag(attr))
+ {
+ case IPP_TAG_INTEGER:
+ case IPP_TAG_ENUM:
+- value.append(QString::number(attr->values[i].integer)).append(",");
++ value.append(QString::number(ippGetInteger(attr, i))).append(",");
+ break;
+ case IPP_TAG_BOOLEAN:
+- value.append((attr->values[i].boolean ? "true" : "false")).append(",");
++ value.append((ippGetBoolean(attr, i) ? "true" : "false")).append(",");
+ break;
+ case IPP_TAG_RANGE:
+- if (attr->values[i].range.lower > 0)
+- value.append(QString::number(attr->values[i].range.lower));
+- if (attr->values[i].range.lower != attr->values[i].range.upper)
++ int lowervalue;
++ int uppervalue;
++ lowervalue = ippGetRange(attr, i, &uppervalue);
++ if (lowervalue > 0)
++ value.append(QString::number(lowervalue));
++ if (lowervalue != uppervalue)
+ {
+ value.append("-");
+- if (attr->values[i].range.upper > 0)
+- value.append(QString::number(attr->values[i].range.upper));
++ if (uppervalue > 0)
++ value.append(QString::number(uppervalue));
+ }
+ value.append(",");
+ break;
+@@ -476,7 +488,7 @@
+ case IPP_TAG_TEXTLANG:
+ case IPP_TAG_CHARSET:
+ case IPP_TAG_LANGUAGE:
+- value.append(QString::fromLocal8Bit(attr->values[i].string.text)).append(",");
++ value.append(QString::fromLocal8Bit(ippGetString(attr, i, NULL))).append(",");
+ break;
+ default:
+ break;
+@@ -484,8 +496,8 @@
+ }
+ if (!value.isEmpty())
+ value.truncate(value.length()-1);
+- opts[QString::fromLocal8Bit(attr->name)] = value;
+- attr = attr->next;
++ opts[QString::fromLocal8Bit(ippGetName(attr))] = value;
++ attr = ippNextAttribute(request_);
+ }
+ }
+ return opts;
+@@ -542,3 +554,7 @@
+ }
+ #endif
+ }
++
++
++ipp_attribute_t* IppRequest::first()
++{ return (request_ ? ippFirstAttribute(request_) : NULL); }
+diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/ipprequest.h kdelibs-3.5.10/kdeprint/cups/ipprequest.h
+--- kdelibs-3.5.10-orig/kdeprint/cups/ipprequest.h 2012-10-06 14:49:37.521406729 -0400
++++ kdelibs-3.5.10/kdeprint/cups/ipprequest.h 2012-10-06 15:06:05.581489574 -0400
+@@ -72,7 +72,7 @@
+ bool keyword(const QString& name, QStringList& value);
+ bool mime(const QString& name, QString& value);
+ ipp_attribute_t* first();
+- ipp_attribute_t* last();
++ ipp_t* request();
+ QMap<QString,QString> toMap(int group = -1);
+ void setMap(const QMap<QString,QString>& opts);
+
+@@ -178,12 +178,6 @@
+ inline bool IppRequest::doRequest(const QString& res)
+ { return doFileRequest(res); }
+
+-inline ipp_attribute_t* IppRequest::first()
+-{ return (request_ ? request_->attrs : NULL); }
+-
+-inline ipp_attribute_t* IppRequest::last()
+-{ return (request_ ? request_->last : NULL); }
+-
+ inline void IppRequest::setHost(const QString& host)
+ { host_ = host; }
+
+@@ -193,4 +187,7 @@
+ inline void IppRequest::dump(int state)
+ { dump_ = state; }
+
++inline ipp_t* IppRequest::request()
++{ return request_; }
++
+ #endif
+diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmcupsjobmanager.cpp kdelibs-3.5.10/kdeprint/cups/kmcupsjobmanager.cpp
+--- kdelibs-3.5.10-orig/kdeprint/cups/kmcupsjobmanager.cpp 2012-10-06 14:49:37.521406729 -0400
++++ kdelibs-3.5.10/kdeprint/cups/kmcupsjobmanager.cpp 2012-10-06 15:13:31.451859386 -0400
+@@ -36,6 +36,8 @@
+ #include <kdebug.h>
+ #include <kurl.h>
+
++#include "config.h"
++
+ KMCupsJobManager::KMCupsJobManager(QObject *parent, const char *name, const QStringList & /*args*/)
+ : KMJobManager(parent,name)
+ {
+@@ -166,17 +168,18 @@
+ void KMCupsJobManager::parseListAnswer(IppRequest& req, KMPrinter *pr)
+ {
+ ipp_attribute_t *attr = req.first();
++ ipp_attribute_t *nextAttr;
+ KMJob *job = new KMJob();
+ QString uri;
+ while (attr)
+ {
+- QString name(attr->name);
+- if (name == "job-id") job->setId(attr->values[0].integer);
+- else if (name == "job-uri") job->setUri(QString::fromLocal8Bit(attr->values[0].string.text));
+- else if (name == "job-name") job->setName(QString::fromLocal8Bit(attr->values[0].string.text));
++ QString name(ippGetName(attr));
++ if (name == "job-id") job->setId(ippGetInteger(attr, 0));
++ else if (name == "job-uri") job->setUri(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
++ else if (name == "job-name") job->setName(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
+ else if (name == "job-state")
+ {
+- switch (attr->values[0].integer)
++ switch (ippGetInteger(attr, 0))
+ {
+ case IPP_JOB_PENDING:
+ job->setState(KMJob::Queued);
+@@ -204,29 +207,30 @@
+ break;
+ }
+ }
+- else if (name == "job-k-octets") job->setSize(attr->values[0].integer);
+- else if (name == "job-originating-user-name") job->setOwner(QString::fromLocal8Bit(attr->values[0].string.text));
+- else if (name == "job-k-octets-completed") job->setProcessedSize(attr->values[0].integer);
+- else if (name == "job-media-sheets") job->setPages(attr->values[0].integer);
+- else if (name == "job-media-sheets-completed") job->setProcessedPages(attr->values[0].integer);
++ else if (name == "job-k-octets") job->setSize(ippGetInteger(attr, 0));
++ else if (name == "job-originating-user-name") job->setOwner(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
++ else if (name == "job-k-octets-completed") job->setProcessedSize(ippGetInteger(attr, 0));
++ else if (name == "job-media-sheets") job->setPages(ippGetInteger(attr, 0));
++ else if (name == "job-media-sheets-completed") job->setProcessedPages(ippGetInteger(attr, 0));
+ else if (name == "job-printer-uri" && !pr->isRemote())
+ {
+- QString str(attr->values[0].string.text);
++ QString str(ippGetString(attr, 0, NULL));
+ int p = str.findRev('/');
+ if (p != -1)
+ job->setPrinter(str.mid(p+1));
+ }
+ else if (name == "job-priority")
+ {
+- job->setAttribute(0, QString::fromLatin1("%1").arg(attr->values[0].integer, 3));
++ job->setAttribute(0, QString::fromLatin1("%1").arg(ippGetInteger(attr, 0), 3));
+ }
+ else if (name == "job-billing")
+ {
+ job->setAttributeCount(2);
+- job->setAttribute(1, QString::fromLocal8Bit(attr->values[0].string.text));
++ job->setAttribute(1, QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
+ }
+
+- if (name.isEmpty() || attr == req.last())
++ nextAttr = ippNextAttribute(req.request());
++ if (name.isEmpty() || (!nextAttr))
+ {
+ if (job->printer().isEmpty())
+ job->setPrinter(pr->printerName());
+@@ -234,8 +238,7 @@
+ addJob(job); // don't use job after this call !!!
+ job = new KMJob();
+ }
+-
+- attr = attr->next;
++ attr = nextAttr;
+ }
+ delete job;
+ }
+diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmcupsmanager.cpp kdelibs-3.5.10/kdeprint/cups/kmcupsmanager.cpp
+--- kdelibs-3.5.10-orig/kdeprint/cups/kmcupsmanager.cpp 2012-10-06 14:49:37.521406729 -0400
++++ kdelibs-3.5.10/kdeprint/cups/kmcupsmanager.cpp 2012-10-06 15:14:22.311521604 -0400
+@@ -476,19 +476,20 @@
+ void KMCupsManager::processRequest(IppRequest* req)
+ {
+ ipp_attribute_t *attr = req->first();
++ ipp_attribute_t *nextAttr;
+ KMPrinter *printer = new KMPrinter();
+ while (attr)
+ {
+- QString attrname(attr->name);
++ QString attrname(ippGetName(attr));
+ if (attrname == "printer-name")
+ {
+- QString value = QString::fromLocal8Bit(attr->values[0].string.text);
++ QString value = QString::fromLocal8Bit(ippGetString(attr, 0, NULL));
+ printer->setName(value);
+ printer->setPrinterName(value);
+ }
+ else if (attrname == "printer-type")
+ {
+- int value = attr->values[0].integer;
++ int value = ippGetInteger(attr, 0);
+ printer->setType(0);
+ printer->addType(((value & CUPS_PRINTER_CLASS) || (value & CUPS_PRINTER_IMPLICIT) ? KMPrinter::Class : KMPrinter::Printer));
+ if ((value & CUPS_PRINTER_REMOTE)) printer->addType(KMPrinter::Remote);
+@@ -499,7 +500,7 @@
+ }
+ else if (attrname == "printer-state")
+ {
+- switch (attr->values[0].integer)
++ switch (ippGetInteger(attr, 0))
+ {
+ case IPP_PRINTER_IDLE: printer->setState(KMPrinter::Idle); break;
+ case IPP_PRINTER_PROCESSING: printer->setState(KMPrinter::Processing); break;
+@@ -508,22 +509,24 @@
+ }
+ else if (attrname == "printer-uri-supported")
+ {
+- printer->setUri(KURL(attr->values[0].string.text));
++ printer->setUri(KURL(ippGetString(attr, 0, NULL)));
+ }
+ else if (attrname == "printer-location")
+ {
+- printer->setLocation(QString::fromLocal8Bit(attr->values[0].string.text));
++ printer->setLocation(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
+ }
+ else if (attrname == "printer-is-accepting-jobs")
+ {
+- printer->setAcceptJobs(attr->values[0].boolean);
++ printer->setAcceptJobs(ippGetBoolean(attr, 0));
+ }
+- if (attrname.isEmpty() || attr == req->last())
++
++ nextAttr = ippNextAttribute(req->request());
++ if (attrname.isEmpty() || (!nextAttr))
+ {
+ addPrinter(printer);
+ printer = new KMPrinter();
+ }
+- attr = attr->next;
++ attr = nextAttr;
+ }
+ delete printer;
+ }
+@@ -817,6 +820,7 @@
+ {
+ QStringList list;
+ IppRequest req;
++ ipp_attribute_t *nextAttr;
+ req.setOperation(CUPS_GET_DEVICES);
+ if (req.doRequest("/"))
+ {
+@@ -824,12 +828,13 @@
+ ipp_attribute_t *attr = req.first();
+ while (attr)
+ {
+- QString attrname(attr->name);
+- if (attrname == "device-info") desc = attr->values[0].string.text;
+- else if (attrname == "device-make-and-model") printer = attr->values[0].string.text;
+- else if (attrname == "device-uri") uri = attr->values[0].string.text;
+- else if ( attrname == "device-class" ) cl = attr->values[ 0 ].string.text;
+- if (attrname.isEmpty() || attr == req.last())
++ QString attrname(ippGetName(attr));
++ if (attrname == "device-info") desc = ippGetString(attr, 0, NULL);
++ else if (attrname == "device-make-and-model") printer = ippGetString(attr, 0, NULL);
++ else if (attrname == "device-uri") uri = ippGetString(attr, 0, NULL);
++ else if ( attrname == "device-class" ) cl = ippGetString(attr, 0, NULL);
++ nextAttr = ippNextAttribute(req.request());
++ if (attrname.isEmpty() || (!nextAttr))
+ {
+ if (!uri.isEmpty())
+ {
+@@ -838,7 +843,7 @@
+ }
+ uri = desc = printer = cl = QString::null;
+ }
+- attr = attr->next;
++ attr = nextAttr;
+ }
+ }
+ return list;
+diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmcupsuimanager.cpp kdelibs-3.5.10/kdeprint/cups/kmcupsuimanager.cpp
+--- kdelibs-3.5.10-orig/kdeprint/cups/kmcupsuimanager.cpp 2012-10-06 14:49:37.521406729 -0400
++++ kdelibs-3.5.10/kdeprint/cups/kmcupsuimanager.cpp 2012-10-06 15:14:55.177970017 -0400
+@@ -60,6 +60,8 @@
+ #include <kaction.h>
+ #include <kmessagebox.h>
+
++#include "config.h"
++
+ KMCupsUiManager::KMCupsUiManager(QObject *parent, const char *name, const QStringList & /*args*/)
+ : KMUiManager(parent,name)
+ {
+@@ -143,22 +145,22 @@
+ ipp_attribute_t *attr = req.first();
+ while (attr)
+ {
+- if (attr->name && strcmp(attr->name,"device-uri") == 0)
++ if (ippGetName(attr) && strcmp(ippGetName(attr),"device-uri") == 0)
+ {
+- if (strncmp(attr->values[0].string.text,"socket",6) == 0) backend->enableBackend(KMWizard::TCP,true);
+- else if (strncmp(attr->values[0].string.text,"parallel",8) == 0) backend->enableBackend(KMWizard::Local,true);
+- else if (strncmp(attr->values[0].string.text,"serial",6) == 0) backend->enableBackend(KMWizard::Local,true);
+- else if (strncmp(attr->values[0].string.text,"smb",3) == 0) backend->enableBackend(KMWizard::SMB,true);
+- else if (strncmp(attr->values[0].string.text,"lpd",3) == 0) backend->enableBackend(KMWizard::LPD,true);
+- else if (strncmp(attr->values[0].string.text,"usb",3) == 0) backend->enableBackend(KMWizard::Local,true);
+- else if (strncmp(attr->values[0].string.text,"http",4) == 0 || strncmp(attr->values[0].string.text,"ipp",3) == 0)
++ if (strncmp(ippGetString(attr, 0, NULL),"socket",6) == 0) backend->enableBackend(KMWizard::TCP,true);
++ else if (strncmp(ippGetString(attr, 0, NULL),"parallel",8) == 0) backend->enableBackend(KMWizard::Local,true);
++ else if (strncmp(ippGetString(attr, 0, NULL),"serial",6) == 0) backend->enableBackend(KMWizard::Local,true);
++ else if (strncmp(ippGetString(attr, 0, NULL),"smb",3) == 0) backend->enableBackend(KMWizard::SMB,true);
++ else if (strncmp(ippGetString(attr, 0, NULL),"lpd",3) == 0) backend->enableBackend(KMWizard::LPD,true);
++ else if (strncmp(ippGetString(attr, 0, NULL),"usb",3) == 0) backend->enableBackend(KMWizard::Local,true);
++ else if (strncmp(ippGetString(attr, 0, NULL),"http",4) == 0 || strncmp(ippGetString(attr, 0, NULL),"ipp",3) == 0)
+ {
+ backend->enableBackend(KMWizard::IPP,true);
+ backend->enableBackend(KMWizard::Custom+1,true);
+ }
+- else if (strncmp(attr->values[0].string.text,"fax",3) == 0) backend->enableBackend(KMWizard::Custom+2,true);
++ else if (strncmp(ippGetString(attr, 0, NULL),"fax",3) == 0) backend->enableBackend(KMWizard::Custom+2,true);
+ }
+- attr = attr->next;
++ attr = ippNextAttribute(req.request());
+ }
+ backend->enableBackend(KMWizard::Class, true);
+ backend->enableBackend(KMWizard::Custom+5, true);
+diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmwfax.cpp kdelibs-3.5.10/kdeprint/cups/kmwfax.cpp
+--- kdelibs-3.5.10-orig/kdeprint/cups/kmwfax.cpp 2012-10-06 14:49:37.521406729 -0400
++++ kdelibs-3.5.10/kdeprint/cups/kmwfax.cpp 2012-10-06 15:15:28.044418449 -0400
+@@ -30,6 +30,8 @@
+ #include <kiconloader.h>
+ #include <kurl.h>
+
++#include "config.h"
++
+ KMWFax::KMWFax(QWidget *parent, const char *name)
+ : KMWizardPage(parent,name)
+ {
+@@ -55,11 +57,11 @@
+ ipp_attribute_t *attr = req.first();
+ while (attr)
+ {
+- if (attr->name && strcmp(attr->name,"device-uri") == 0 && strncmp(attr->values[0].string.text,"fax",3) == 0)
++ if (ippGetName(attr) && strcmp(ippGetName(attr),"device-uri") == 0 && strncmp(ippGetString(attr, 0, NULL),"fax",3) == 0)
+ {
+- m_list->insertItem(SmallIcon("blockdevice"),QString::fromLatin1(attr->values[0].string.text));
++ m_list->insertItem(SmallIcon("blockdevice"),QString::fromLatin1(ippGetString(attr, 0, NULL)));
+ }
+- attr = attr->next;
++ attr = ippNextAttribute(req.request());
+ }
+ }
+ }
+diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmwippselect.cpp kdelibs-3.5.10/kdeprint/cups/kmwippselect.cpp
+--- kdelibs-3.5.10-orig/kdeprint/cups/kmwippselect.cpp 2012-10-06 14:49:37.521406729 -0400
++++ kdelibs-3.5.10/kdeprint/cups/kmwippselect.cpp 2012-10-06 15:15:56.867560417 -0400
+@@ -29,6 +29,8 @@
+ #include <kdebug.h>
+ #include <kiconloader.h>
+
++#include "config.h"
++
+ KMWIppSelect::KMWIppSelect(QWidget *parent, const char *name)
+ : KMWizardPage(parent,name)
+ {
+@@ -83,9 +85,9 @@
+ ipp_attribute_t *attr = req.first();
+ while (attr)
+ {
+- if (attr->name && strcmp(attr->name,"printer-name") == 0)
+- m_list->insertItem(SmallIcon("kdeprint_printer"),QString::fromLatin1(attr->values[0].string.text));
+- attr = attr->next;
++ if (ippGetName(attr) && strcmp(ippGetName(attr),"printer-name") == 0)
++ m_list->insertItem(SmallIcon("kdeprint_printer"),QString::fromLatin1(ippGetString(attr, 0, NULL)));
++ attr = ippNextAttribute(req.request());
+ }
+ m_list->sort();
+ }
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/openexr/PKGBUILD b/staging/openexr/PKGBUILD
new file mode 100644
index 000000000..9c9431644
--- /dev/null
+++ b/staging/openexr/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 169347 2012-10-20 00:48:45Z eric $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=openexr
+pkgver=1.7.1
+pkgrel=2
+pkgdesc="An high dynamic-range image file format library"
+url="http://www.openexr.com/"
+arch=('i686' 'x86_64')
+license=('BSD')
+depends=('zlib' 'ilmbase')
+options=('!libtool')
+source=("https://github.com/downloads/${pkgname}/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'gcc43.patch')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p0 -i "${srcdir}/gcc43.patch"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+md5sums=('a9e0369dfd68941c50cdaa93e9d7a8d1'
+ 'd91fae759053a70bcedcf02eb33ca4a2')
diff --git a/staging/openexr/gcc43.patch b/staging/openexr/gcc43.patch
new file mode 100644
index 000000000..ab99eb9a1
--- /dev/null
+++ b/staging/openexr/gcc43.patch
@@ -0,0 +1,11 @@
+--- exrenvmap/blurImage.cpp
++++ exrenvmap/blurImage.cpp
+@@ -39,6 +39,8 @@
+ //
+ //-----------------------------------------------------------------------------
+
++#include <cstring>
++
+ #include <blurImage.h>
+
+ #include <resizeImage.h>
diff --git a/staging/transcode/PKGBUILD b/staging/transcode/PKGBUILD
new file mode 100644
index 000000000..da28d1cba
--- /dev/null
+++ b/staging/transcode/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 169357 2012-10-20 04:01:26Z eric $
+# Maintainer:
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+# Contributor: roberto <roberto@archlinux.org>
+
+pkgname=transcode
+_sripver=0.3-4
+pkgver=1.1.7
+pkgrel=6
+pkgdesc="A video/DVD ripper and encoder for the terminal/console"
+arch=('i686' 'x86_64')
+url="http://tcforge.berlios.de/"
+license=('GPL')
+depends=('gawk' 'imagemagick' 'lzo2' 'libdvdread' 'ffmpeg' 'mjpegtools'
+ 'libmpeg2' 'libxaw' 'libxml2' 'libxv' 'a52dec')
+makedepends=('nasm')
+options=('!libtool')
+source=(https://bitbucket.org/france/transcode-tcforge/downloads/${pkgname}-${pkgver}.tar.bz2
+ http://downloads.sourceforge.net/sourceforge/subtitleripper/subtitleripper-${_sripver}.tgz
+ subtitleripper-0.3.4-linkingorder.patch subtitleripper-0.3.4-respect-ldflags.patch
+ ffmpeg-0.11.patch)
+sha1sums=('e35df68b960eb56ef0a59a4cdbed1491be56aee6'
+ 'd93ff3578dd5f722c8f4ef16bc0903eec5781a0d'
+ 'fa05aa1770d9350d90b7cf315aa7c4a1fd921ac7'
+ '591943a33235342a66c3df0625a164a1479c09ae'
+ '3d2dcdc23f14938e87d14cfc03000bb3b649b85e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/ffmpeg-0.11.patch"
+ ./configure --prefix=/usr \
+ --disable-sse --disable-sse2 --disable-altivec --enable-mmx \
+ --enable-lame --enable-ogg --enable-vorbis --enable-theora \
+ --enable-libdv --enable-libxml2 --enable-v4l \
+ --enable-imagemagick --enable-libjpeg --enable-lzo --enable-mjpegtools \
+ --enable-sdl --enable-freetype2 --enable-a52 --enable-libpostproc \
+ --enable-xvid --enable-x264 --enable-alsa --enable-libmpeg2 --enable-libmpeg2convert
+ make
+
+ cd "${srcdir}/subtitleripper"
+ patch -p1 -i "${srcdir}/subtitleripper-0.3.4-linkingorder.patch"
+ patch -p1 -i "${srcdir}/subtitleripper-0.3.4-respect-ldflags.patch"
+ sed -e 's|^\(.*lppm.*\)$|#\1|' \
+ -e 's|^\(.*D_HAVE_LIB_PPM.*\)$|#\1|' \
+ -e 's/DEFINES :=/DEFINES = -DHAVE_GETLINE/' \
+ -i Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ cd "${srcdir}/subtitleripper"
+ install -m 755 pgm2txt "${pkgdir}/usr/bin/"
+ install -m 755 srttool "${pkgdir}/usr/bin/"
+ install -m 755 subtitle2pgm "${pkgdir}/usr/bin/"
+ install -m 755 subtitle2vobsub "${pkgdir}/usr/bin/"
+ install -m 755 vobsub2pgm "${pkgdir}/usr/bin/"
+}
diff --git a/staging/transcode/ffmpeg-0.11.patch b/staging/transcode/ffmpeg-0.11.patch
new file mode 100644
index 000000000..b5601fe2f
--- /dev/null
+++ b/staging/transcode/ffmpeg-0.11.patch
@@ -0,0 +1,141 @@
+diff -Naur transcode-1.1.7/export/export_ffmpeg.c fixed-tc/export/export_ffmpeg.c
+--- transcode-1.1.7/export/export_ffmpeg.c 2011-11-19 11:50:27.000000000 -0500
++++ fixed-tc/export/export_ffmpeg.c 2012-07-05 16:22:41.095346080 -0400
+@@ -180,7 +180,7 @@
+
+
+ /* START: COPIED FROM ffmpeg-0.5_p22846(ffmpeg.c, cmdutils.c) */
+-#include <libavcodec/opt.h>
++#include <libavutil/opt.h>
+ #include <libavutil/avstring.h>
+ #include <libswscale/swscale.h>
+
+@@ -470,7 +470,6 @@
+ }
+
+ TC_LOCK_LIBAVCODEC;
+- avcodec_init();
+ avcodec_register_all();
+ TC_UNLOCK_LIBAVCODEC;
+
+@@ -634,7 +633,6 @@
+ lavc_param_rc_max_rate = 2516;
+ lavc_param_rc_buffer_size = 224 * 8;
+ lavc_param_rc_buffer_aggressivity = 99;
+- lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET;
+
+ break;
+
+@@ -674,7 +673,6 @@
+
+ lavc_param_rc_buffer_size = 224 * 8;
+ lavc_param_rc_buffer_aggressivity = 99;
+- lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET;
+
+ break;
+
+diff -Naur transcode-1.1.7/export/ffmpeg_cfg.c fixed-tc/export/ffmpeg_cfg.c
+--- transcode-1.1.7/export/ffmpeg_cfg.c 2011-11-19 11:50:27.000000000 -0500
++++ fixed-tc/export/ffmpeg_cfg.c 2012-07-05 15:26:29.112103273 -0400
+@@ -160,9 +160,7 @@
+ {"vcelim", &lavc_param_chroma_elim_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
+ {"vpsize", &lavc_param_packet_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000},
+ {"vstrict", &lavc_param_strict, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
+- {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART},
+ // {"keyint", &lavc_param_keyint, TCCONF_TYPE_INT, 0, 0, 0},
+- {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART},
+ {"mpeg_quant", &lavc_param_mpeg_quant, TCCONF_TYPE_FLAG, 0, 0, 1},
+ {"vi_qfactor", &lavc_param_vi_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
+ {"vi_qoffset", &lavc_param_vi_qoffset, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0},
+@@ -211,7 +211,6 @@
+ #else
+ {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED},
+ #endif
+- {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV},
+ {"ibias", &lavc_param_ibias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
+ {"pbias", &lavc_param_pbias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
+ {"coder", &lavc_param_coder, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
+@@ -223,9 +223,6 @@
+ {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
+ {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QP_RD},
+ {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
+- {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_SLICE_STRUCT},
+- {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_SVCD_SCAN_OFFSET},
+- {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN},
+ {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME},
+ {"inter_threshold", &lavc_param_inter_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
+ {"sc_threshold", &lavc_param_sc_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
+diff -Naur transcode-1.1.7/filter/filter_pp.c fixed-tc/filter/filter_pp.c
+--- transcode-1.1.7/filter/filter_pp.c 2011-11-19 11:50:27.000000000 -0500
++++ fixed-tc/filter/filter_pp.c 2012-07-05 15:26:28.945436613 -0400
+@@ -38,8 +38,8 @@
+
+ /* FIXME: these use the filter ID as an index--the ID can grow
+ * arbitrarily large, so this needs to be fixed */
+-static pp_mode_t *mode[100];
+-static pp_context_t *context[100];
++static pp_mode *mode[100];
++static pp_context *context[100];
+ static int width[100], height[100];
+ static int pre[100];
+
+diff -Naur transcode-1.1.7/import/decode_lavc.c fixed-tc/import/decode_lavc.c
+--- transcode-1.1.7/import/decode_lavc.c 2011-11-19 11:50:27.000000000 -0500
++++ fixed-tc/import/decode_lavc.c 2012-07-05 15:26:28.842103278 -0400
+@@ -181,7 +181,7 @@
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ lavc_dec_context->error_resilience = 2;
+ #else
+- lavc_dec_context->error_recognition = 2;
++ lavc_dec_context->err_recognition = 2;
+ #endif
+ lavc_dec_context->error_concealment = 3;
+ lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
+diff -Naur transcode-1.1.7/import/import_ffmpeg.c fixed-tc/import/import_ffmpeg.c
+--- transcode-1.1.7/import/import_ffmpeg.c 2011-11-19 11:50:27.000000000 -0500
++++ fixed-tc/import/import_ffmpeg.c 2012-07-05 15:26:28.848769946 -0400
+@@ -314,7 +314,7 @@
+ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ lavc_dec_context->error_resilience = 2;
+ #else
+- lavc_dec_context->error_recognition = 2;
++ lavc_dec_context->err_recognition = 2;
+ #endif
+ lavc_dec_context->error_concealment = 3;
+ lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
+diff -Naur transcode-1.1.7/import/probe_ffmpeg.c fixed-tc/import/probe_ffmpeg.c
+--- transcode-1.1.7/import/probe_ffmpeg.c 2011-11-19 11:50:27.000000000 -0500
++++ fixed-tc/import/probe_ffmpeg.c 2012-07-05 15:26:28.838769947 -0400
+@@ -99,8 +99,8 @@
+
+ TC_INIT_LIBAVCODEC;
+
+- ret = av_open_input_file(&lavf_dmx_context, ipipe->name,
+- NULL, 0, NULL);
++ ret = avformat_open_input(&lavf_dmx_context, ipipe->name,
++ NULL, NULL);
+ if (ret != 0) {
+ tc_log_error(__FILE__, "unable to open '%s'"
+ " (libavformat failure)",
+diff -Naur transcode-1.1.7/libtc/tcavcodec.h fixed-tc/libtc/tcavcodec.h
+--- transcode-1.1.7/libtc/tcavcodec.h 2011-11-19 11:50:27.000000000 -0500
++++ fixed-tc/libtc/tcavcodec.h 2012-07-05 15:26:28.828769951 -0400
+@@ -53,7 +53,6 @@
+
+ #define TC_INIT_LIBAVCODEC do { \
+ TC_LOCK_LIBAVCODEC; \
+- avcodec_init(); \
+ avcodec_register_all(); \
+ TC_UNLOCK_LIBAVCODEC; \
+ } while (0)
+--- transcode-1.1.7/export/export_ffmpeg.c.orig 2012-10-19 23:25:16.442303175 -0400
++++ transcode-1.1.7/export/export_ffmpeg.c 2012-10-19 23:26:23.904268733 -0400
+@@ -1249,7 +1249,7 @@
+ return TC_EXPORT_ERROR;
+ }
+
+- if (lavc_venc_context->codec->encode == NULL) {
++ if (lavc_venc_context->codec->encode2 == NULL) {
+ tc_log_warn(MOD_NAME, "could not open FFMPEG codec "
+ "(lavc_venc_context->codec->encode == NULL)");
+ return TC_EXPORT_ERROR;
diff --git a/staging/transcode/subtitleripper-0.3.4-linkingorder.patch b/staging/transcode/subtitleripper-0.3.4-linkingorder.patch
new file mode 100644
index 000000000..7efe22346
--- /dev/null
+++ b/staging/transcode/subtitleripper-0.3.4-linkingorder.patch
@@ -0,0 +1,28 @@
+Index: subtitleripper/Makefile
+===================================================================
+--- subtitleripper.orig/Makefile
++++ subtitleripper/Makefile
+@@ -70,19 +70,19 @@ vobsub2pgm.o: vobsub2pgm.c vobsub.h spud
+ # Target
+ subtitle2pgm: subtitle2pgm.o spudec.o
+ @echo "Linking $@"
+- @$(CC) $(LIBS) $^ -o $@
++ @$(CC) $^ -o $@ $(LIBS)
+
+ subtitle2vobsub: subtitle2vobsub.o vobsub.o
+ @echo "Linking $@"
+- @$(CC) $(LIBS) $^ -o $@
++ @$(CC) $^ -o $@ $(LIBS)
+
+ srttool: srttool.o
+ @echo "Linking $@"
+- @$(CC) $(LIBS) -g $^ -o $@
++ @$(CC) -g $^ -o $@ $(LIBS)
+
+ vobsub2pgm: vobsub2pgm.o vobsub.o spudec.o
+ @echo "Linking $@"
+- @$(CC) $(LIBS) -g $^ -o $@
++ @$(CC) -g $^ -o $@ $(LIBS)
+
+ .PHONY: clean dist rpm
+ clean:
diff --git a/staging/transcode/subtitleripper-0.3.4-respect-ldflags.patch b/staging/transcode/subtitleripper-0.3.4-respect-ldflags.patch
new file mode 100644
index 000000000..2af11d257
--- /dev/null
+++ b/staging/transcode/subtitleripper-0.3.4-respect-ldflags.patch
@@ -0,0 +1,28 @@
+Index: subtitleripper/Makefile
+===================================================================
+--- subtitleripper.orig/Makefile
++++ subtitleripper/Makefile
+@@ -70,19 +70,19 @@ vobsub2pgm.o: vobsub2pgm.c vobsub.h spud
+ # Target
+ subtitle2pgm: subtitle2pgm.o spudec.o
+ @echo "Linking $@"
+- @$(CC) $^ -o $@ $(LIBS)
++ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
+
+ subtitle2vobsub: subtitle2vobsub.o vobsub.o
+ @echo "Linking $@"
+- @$(CC) $^ -o $@ $(LIBS)
++ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
+
+ srttool: srttool.o
+ @echo "Linking $@"
+- @$(CC) -g $^ -o $@ $(LIBS)
++ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
+
+ vobsub2pgm: vobsub2pgm.o vobsub.o spudec.o
+ @echo "Linking $@"
+- @$(CC) -g $^ -o $@ $(LIBS)
++ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
+
+ .PHONY: clean dist rpm
+ clean:
diff --git a/staging/xine-lib/PKGBUILD b/staging/xine-lib/PKGBUILD
index 08f2aea37..2a0653191 100644
--- a/staging/xine-lib/PKGBUILD
+++ b/staging/xine-lib/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 161814 2012-06-15 00:59:07Z eric $
+# $Id: PKGBUILD 169351 2012-10-20 01:35:15Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=xine-lib
pkgver=1.2.2
-pkgrel=1
+pkgrel=3
pkgdesc="A multimedia playback engine"
arch=('i686' 'x86_64')
url="http://www.xine-project.org"
@@ -11,11 +11,11 @@ license=('LGPL' 'GPL')
depends=('libxvmc' 'ffmpeg' 'libxinerama')
makedepends=('wavpack' 'faad2' 'libmng' 'imagemagick' 'mesa' 'libmodplug'
'vcdimager' 'jack' 'aalib' 'libdca' 'a52dec' 'libmad'
- 'libmpcdec' 'libcaca' 'libbluray' 'gnome-vfs' 'libvdpau')
+ 'libmpcdec' 'libcaca' 'libbluray' 'gnome-vfs' 'libvdpau' 'glu')
optdepends=('imagemagick: for using the imagemagick plugin' \
'jack: for using the jack plugin' \
'vcdimager: for using the vcd plugin' \
- 'mesa: for using the opengl plugin' \
+ 'glu: for using the opengl plugin' \
'wavpack: for using the wavpack plugin' \
'faad2: for using the faad plugin' \
'libmng: for using the mng plugin' \