summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-01-24 23:15:03 +0000
committerroot <root@rshg054.dnsready.net>2012-01-24 23:15:03 +0000
commit2aa2acfff38de7de825868995e49792ecfc03126 (patch)
treedee0f24162f2437b58208ac5073fb6492cb95767
parentc6c657b8bcf062b5d19eff6298b7754c11838080 (diff)
Tue Jan 24 23:15:02 UTC 2012
-rw-r--r--community-staging/gdk-pixbuf/PKGBUILD43
-rw-r--r--community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch48
-rw-r--r--community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_secure.patch19
-rw-r--r--community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-loaders.patch134
-rw-r--r--community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0.patch129
-rw-r--r--community-staging/gdk-pixbuf/libpng15.patch30
-rw-r--r--community-staging/libharu/PKGBUILD34
-rw-r--r--community-staging/libharu/libpng15.patch302
-rw-r--r--community-staging/mapnik/PKGBUILD51
-rw-r--r--community-staging/mapnik/mapnik.install11
-rw-r--r--community-staging/openmotif/PKGBUILD45
-rw-r--r--community-staging/python2-matplotlib/PKGBUILD52
-rw-r--r--community-staging/python2-matplotlib/setup.cfg83
-rw-r--r--community-staging/qpxtool/PKGBUILD28
-rw-r--r--community-staging/qpxtool/libpng15.patch127
-rw-r--r--community-staging/rawstudio/PKGBUILD36
-rw-r--r--community-staging/rawstudio/libpng15.patch40
-rw-r--r--community-staging/rawstudio/rawstudio.install11
-rw-r--r--community/libircclient/PKGBUILD4
-rw-r--r--community/packagekit/PKGBUILD43
-rw-r--r--community/packagekit/alpm.patch230
-rw-r--r--community/tinyproxy/PKGBUILD7
-rwxr-xr-xcommunity/tinyproxy/tinyproxy6
-rw-r--r--community/tinyproxy/tinyproxy.install9
-rw-r--r--core/btrfs-progs/PKGBUILD31
-rw-r--r--core/iproute2/PKGBUILD14
-rw-r--r--core/iproute2/fix-ip-l.patch27
-rw-r--r--extra/freeglut/PKGBUILD25
-rw-r--r--extra/gptfdisk/PKGBUILD6
-rw-r--r--extra/memcached/PKGBUILD6
-rw-r--r--extra/perl-alien-sdl/PKGBUILD10
-rw-r--r--multilib/lib32-sdl_image/PKGBUILD6
-rw-r--r--staging/avahi/PKGBUILD75
-rw-r--r--staging/avahi/gnome-nettool.pngbin0 -> 4509 bytes
-rw-r--r--staging/avahi/install21
-rw-r--r--staging/avahi/rc.d.patch11
-rw-r--r--staging/bmp/0.9.7.1-visualization.patch12
-rw-r--r--staging/bmp/PKGBUILD34
-rw-r--r--staging/bmp/bmp-0.9.7.1-crossfade-0.3.9.patch108
-rw-r--r--staging/bmp/bmp.install11
-rw-r--r--staging/gtk-engines/PKGBUILD28
-rw-r--r--staging/gtkhtml/PKGBUILD31
-rw-r--r--staging/gtkmm/PKGBUILD38
-rw-r--r--staging/gtksourceview2/PKGBUILD28
-rw-r--r--staging/imlib2/PKGBUILD38
-rw-r--r--staging/libgnomecanvas/PKGBUILD27
-rw-r--r--staging/opengtl/PKGBUILD32
-rw-r--r--staging/pekwm/PKGBUILD45
-rw-r--r--staging/pekwm/libpng-1.4.patch21
-rw-r--r--staging/pekwm/pekwm.desktop8
-rw-r--r--staging/pilot-link/PKGBUILD32
-rw-r--r--staging/pilot-link/pilot-link-png14.patch100
-rw-r--r--staging/pygtk/PKGBUILD37
-rw-r--r--staging/pygtk/python27.patch50
-rw-r--r--staging/skanlite/PKGBUILD30
-rw-r--r--staging/xawtv/PKGBUILD29
-rw-r--r--staging/xorg-xcursorgen/PKGBUILD28
-rw-r--r--testing/gcc/PKGBUILD260
-rw-r--r--testing/gcc/gcc-ada.install20
-rw-r--r--testing/gcc/gcc-fortran.install16
-rw-r--r--testing/gcc/gcc-go.install20
-rw-r--r--testing/gcc/gcc-hash-style-both.patch122
-rw-r--r--testing/gcc/gcc-libs.install16
-rw-r--r--testing/gcc/gcc.install20
-rw-r--r--testing/gcc/gcc_pure64.patch26
65 files changed, 2927 insertions, 94 deletions
diff --git a/community-staging/gdk-pixbuf/PKGBUILD b/community-staging/gdk-pixbuf/PKGBUILD
new file mode 100644
index 000000000..8c9a1bced
--- /dev/null
+++ b/community-staging/gdk-pixbuf/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 62652 2012-01-23 09:38:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=gdk-pixbuf
+pkgver=0.22.0
+pkgrel=9
+pkgdesc="Image loading and manipulation library"
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+license=('GPL' 'LGPL')
+depends=('gtk' 'libtiff' 'libpng')
+makedepends=('libxt')
+options=('!libtool')
+source=(ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.24/${pkgname}-${pkgver}.tar.bz2
+ gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch
+ gdk-pixbuf-0.22.0-bmp_secure.patch
+ gdk-pixbuf-0.22.0-loaders.patch
+ gdk-pixbuf-0.22.0.patch
+ libpng15.patch)
+md5sums=('05fcb68ceaa338614ab650c775efc2f2'
+ 'd1fb93f1ae994875158a7e0c108c36f8'
+ '5f59d5772b1482d885a180dbc581cf84'
+ '3cf31ae0509747f72ac27a9fd96109c2'
+ 'e0f5f301ce958b7cea0be631ed7b8e56'
+ '16db4dc83d507ebcf15d1beb753a77bc')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ export SED=/bin/sed
+ patch -Np1 -i ${srcdir}/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch
+ patch -Np0 -i ${srcdir}/gdk-pixbuf-0.22.0-bmp_secure.patch
+ patch -Np1 -i ${srcdir}/gdk-pixbuf-0.22.0-loaders.patch
+ patch -Np0 -i ${srcdir}/gdk-pixbuf-0.22.0.patch
+ patch -Np1 -i ${srcdir}/libpng15.patch
+ libtoolize --force --copy --automake
+ autoreconf --force --install
+ ./configure --prefix=/usr --disable-gtk-doc
+ make
+ make DESTDIR=${pkgdir} install
+ rm -rf ${pkgdir}/usr/share/gnome
+}
diff --git a/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch b/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch
new file mode 100644
index 000000000..ffb4378aa
--- /dev/null
+++ b/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch
@@ -0,0 +1,48 @@
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-bmp.c 2002-09-27 23:12:40.000000000 +0200
++++ gdk-pixbuf-0.22.0.patched/gdk-pixbuf/io-bmp.c 2005-03-30 01:33:06.000000000 +0200
+@@ -31,8 +31,6 @@
+ #include "gdk-pixbuf-private.h"
+ #include "gdk-pixbuf-io.h"
+
+-
+-
+ #if 0
+ /* If these structures were unpacked, they would define the two headers of the
+ * BMP file. After them comes the palette, and then the image data.
+@@ -206,7 +204,7 @@
+
+ if (State == NULL)
+ return NULL;
+-
++
+ while (feof(f) == 0) {
+ length = fread(membuf, 1, sizeof (membuf), f);
+ if (length > 0)
+@@ -245,11 +243,26 @@
+ static gboolean
+ grow_buffer (struct bmp_progressive_state *State)
+ {
+- guchar *tmp = realloc (State->buff, State->BufferSize);
++ guchar *tmp;
++
++ if (State->BufferSize == 0) {
++#if 0
++ g_set_error (error,
++ GDK_PIXBUF_ERROR,
++ GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
++ _("BMP image has bogus header data"));
++#endif
++ State->read_state = READ_STATE_ERROR;
++ return FALSE;
++ }
++
++ tmp = realloc (State->buff, State->BufferSize);
++
+ if (!tmp) {
+ State->read_state = READ_STATE_ERROR;
+ return FALSE;
+ }
++
+ State->buff = tmp;
+ return TRUE;
+ }
diff --git a/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_secure.patch b/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_secure.patch
new file mode 100644
index 000000000..29471f147
--- /dev/null
+++ b/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-bmp_secure.patch
@@ -0,0 +1,19 @@
+Index: io-bmp.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gdk-pixbuf/io-bmp.c,v
+retrieving revision 1.41
+diff -u -p -r1.41 io-bmp.c
+--- gdk-pixbuf/io-bmp.c 13 Aug 2004 02:26:57 -0000 1.41
++++ gdk-pixbuf/io-bmp.c 20 Aug 2004 00:18:14 -0000
+@@ -876,8 +876,10 @@ DoCompressed(struct bmp_progressive_stat
+ guchar c;
+ gint idx;
+
+- if (context->compr.y >= context->Header.height)
++ if (context->compr.y >= context->Header.height) {
++ context->BufferDone = 0;
+ return TRUE;
++ }
+
+ y = context->compr.y;
+
diff --git a/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-loaders.patch b/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-loaders.patch
new file mode 100644
index 000000000..068653808
--- /dev/null
+++ b/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0-loaders.patch
@@ -0,0 +1,134 @@
+diff -NurdB gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-ico.c
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c 2002-09-27 17:19:15.000000000 -0500
++++ gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-ico.c 2005-10-27 11:28:23.000000000 -0500
+@@ -330,6 +330,9 @@
+
+ State->HeaderSize+=I;
+
++ if (State->HeaderSize < 0)
++ return FALSE;
++
+ if (State->HeaderSize>State->BytesInHeaderBuf) {
+ guchar *tmp=realloc(State->HeaderBuf,State->HeaderSize);
+ if (!tmp)
+diff -NurdB gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-xpm.c
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c 2001-03-01 15:16:28.000000000 -0500
++++ gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-xpm.c 2005-10-27 11:29:14.000000000 -0500
+@@ -243,8 +243,8 @@
+ break;
+ else {
+ if (numnames > 0) {
+- space -= 1;
+- strcat (color, " ");
++ strncat (color, " ", space);
++ space -= MIN (space, 1);
+ }
+
+ strncat (color, temp, space);
+@@ -281,7 +281,8 @@
+ /* Fall through to the xpm_read_string. */
+
+ case op_body:
+- xpm_read_string (h->infile, &h->buffer, &h->buffer_size);
++ if(!xpm_read_string (h->infile, &h->buffer, &h->buffer_size))
++ return NULL;
+ return h->buffer;
+
+ default:
+@@ -317,13 +318,6 @@
+ return NULL;
+ }
+
+-/* Destroy notification function for the pixbuf */
+-static void
+-free_buffer (guchar *pixels, gpointer data)
+-{
+- free (pixels);
+-}
+-
+ static gboolean
+ xpm_color_parse (const char *spec, XColor *color)
+ {
+@@ -342,7 +336,8 @@
+ gchar pixel_str[32];
+ GHashTable *color_hash;
+ _XPMColor *colors, *color, *fallbackcolor;
+- guchar *pixels, *pixtmp;
++ guchar *pixtmp;
++ GdkPixbuf* pixbuf;
+
+ fallbackcolor = NULL;
+
+@@ -352,16 +347,33 @@
+ return NULL;
+ }
+ sscanf (buffer, "%d %d %d %d", &w, &h, &n_col, &cpp);
+- if (cpp >= 32) {
+- g_warning ("XPM has more than 31 chars per pixel.");
++ if (cpp <= 0 || cpp >= 32) {
++ g_warning ("XPM has invalid number of chars per pixel.");
+ return NULL;
+ }
++ if (n_col <= 0 ||
++ n_col >= G_MAXINT / (cpp + 1) ||
++ n_col >= G_MAXINT / sizeof (_XPMColor)) {
++ g_warning ("XPM file has invalid number of colors");
++ return NULL;
++ }
+
+ /* The hash is used for fast lookups of color from chars */
+ color_hash = g_hash_table_new (g_str_hash, g_str_equal);
+
+- name_buf = g_new (gchar, n_col * (cpp + 1));
+- colors = g_new (_XPMColor, n_col);
++ name_buf = g_new (gchar, n_col * (cpp + 1));
++ if (!name_buf) {
++ g_warning ("Cannot allocate memory for loading XPM image");
++ g_hash_table_destroy (color_hash);
++ return NULL;
++ }
++ colors = g_new (_XPMColor, n_col);
++ if (!colors) {
++ g_warning ("Cannot allocate memory for loading XPM image");
++ g_hash_table_destroy (color_hash);
++ g_free (name_buf);
++ return NULL;
++ }
+
+ for (cnt = 0; cnt < n_col; cnt++) {
+ gchar *color_name;
+@@ -397,12 +409,8 @@
+ fallbackcolor = color;
+ }
+
+- if (is_trans)
+- pixels = malloc (w * h * 4);
+- else
+- pixels = malloc (w * h * 3);
+-
+- if (!pixels) {
++ pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, is_trans, 8, w, h);
++ if (!pixbuf) {
+ g_hash_table_destroy (color_hash);
+ g_free (colors);
+ g_free (name_buf);
+@@ -410,7 +418,7 @@
+ }
+
+ wbytes = w * cpp;
+- pixtmp = pixels;
++ pixtmp = pixbuf->pixels;
+
+ for (ycnt = 0; ycnt < h; ycnt++) {
+ buffer = (*get_buf) (op_body, handle);
+@@ -443,9 +451,7 @@
+ g_free (colors);
+ g_free (name_buf);
+
+- return gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, is_trans, 8,
+- w, h, is_trans ? (w * 4) : (w * 3),
+- free_buffer, NULL);
++ return pixbuf;
+ }
+
+ /* Shared library entry point for file loading */
diff --git a/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0.patch b/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0.patch
new file mode 100644
index 000000000..8e0f55680
--- /dev/null
+++ b/community-staging/gdk-pixbuf/gdk-pixbuf-0.22.0.patch
@@ -0,0 +1,129 @@
+--- configure.in
++++ configure.in
+@@ -21,6 +21,7 @@
+ AC_PROG_CC
+ AC_ISC_POSIX
+ AM_PROG_CC_STDC
++AM_PROG_AS
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+@@ -147,18 +148,18 @@
+ dnl Test for libtiff
+ if test -z "$LIBTIFF"; then
+ AC_CHECK_LIB(tiff, TIFFReadScanline,
+- AC_CHECK_HEADER(tiffio.h,
++ [AC_CHECK_HEADER(tiffio.h,
+ TIFF='tiff'; LIBTIFF='-ltiff',
+- AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
+- AC_CHECK_LIB(tiff, TIFFWriteScanline,
+- AC_CHECK_HEADER(tiffio.h,
++ AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
++ [AC_CHECK_LIB(tiff, TIFFWriteScanline,
++ [AC_CHECK_HEADER(tiffio.h,
+ TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
+- AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
+- AC_CHECK_LIB(tiff34, TIFFFlushData,
+- AC_CHECK_HEADER(tiffio.h,
++ AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
++ [AC_CHECK_LIB(tiff34, TIFFFlushData,
++ [AC_CHECK_HEADER(tiffio.h,
+ TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
+- AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
+- AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm), -ljpeg -lz -lm), -lm)
++ AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
++ AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
+ fi
+
+ dnl Test for libjpeg
+@@ -191,9 +192,9 @@
+ dnl Test for libpng
+ if test -z "$LIBPNG"; then
+ AC_CHECK_LIB(png, png_read_info,
+- AC_CHECK_HEADER(png.h,
++ [AC_CHECK_HEADER(png.h,
+ png_ok=yes,
+- png_ok=no),
++ png_ok=no)],
+ AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
+ if test "$png_ok" = yes; then
+ AC_MSG_CHECKING([for png_structp in png.h])
+--- doc/Makefile.am
++++ doc/Makefile.am
+@@ -156,7 +156,7 @@
+ done; \
+ fi)
+ # echo '-- Installing $(srcdir)/html/index.sgml' ; \
+-# $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
++# $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR);
+
+ #
+ # Require gtk-doc when making dist
+--- gdk-pixbuf.m4
++++ gdk-pixbuf.m4
+@@ -9,7 +9,7 @@
+ dnl AM_PATH_GDK_PIXBUF([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+ dnl Test for GDK_PIXBUF, and define GDK_PIXBUF_CFLAGS and GDK_PIXBUF_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_GDK_PIXBUF,
++AC_DEFUN([AM_PATH_GDK_PIXBUF],
+ [dnl
+ dnl Get the cflags and libraries from the gdk-pixbuf-config script
+ dnl
+--- gdk-pixbuf/Makefile.am
++++ gdk-pixbuf/Makefile.am
+@@ -18,7 +18,7 @@
+
+ libgnomecanvaspixbuf_la_LDFLAGS = -version-info 1:0:0 $(EXTRA_GNOME_LIBS)
+
+-libexecdir = $(libdir)/gdk-pixbuf/loaders
++loaderdir = $(libdir)/gdk-pixbuf/loaders
+
+ #
+ # The PNG plugin.
+@@ -118,7 +118,7 @@
+
+ if BUILD_DYNAMIC_MODULES
+
+-libexec_LTLIBRARIES = \
++loader_LTLIBRARIES = \
+ $(PNG_LIB) \
+ $(JPEG_LIB) \
+ $(GIF_LIB) \
+@@ -134,7 +134,7 @@
+ extra_sources =
+
+ else
+-libexec_LTLIBRARIES =
++loader_LTLIBRARIES =
+
+ extra_sources = $(libpixbufloader_png_la_SOURCES) \
+ $(libpixbufloader_jpeg_la_SOURCES) \
+@@ -159,7 +159,7 @@
+ -I$(top_builddir)/gdk-pixbuf \
+ $(X11_CFLAGS) $(GLIB_CFLAGS) $(GTK_CFLAGS) $(GNOME_CFLAGS)
+
+-AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(libexecdir)\""
++AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\""
+
+ LDADDS = libgdk_pixbuf.la $(GLIB_LIBS) $(GTK_LIBS) $(STATIC_LIB_DEPS)
+
+@@ -211,7 +211,7 @@
+ gdk-pixbuf-parse-color.c \
+ $(extra_sources)
+
+-libgdk_pixbuf_xlib_la_LDFLAGS = -version-info 2:0:0 -export-dynamic $(GLIB_LIBS) $(X11_LIBS)
++libgdk_pixbuf_xlib_la_LDFLAGS = -version-info 2:0:0 -export-dynamic $(GLIB_LIBS)
+ libgdk_pixbuf_xlib_la_LIBADD = pixops/libpixops.la libgdk_pixbuf.la $(GTK_LIBS)
+
+
+--- gdk-pixbuf/io-bmp.c
++++ gdk-pixbuf/io-bmp.c
+@@ -28,6 +28,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
++#include <stdlib.h>
+ #include "gdk-pixbuf-private.h"
+ #include "gdk-pixbuf-io.h"
+
diff --git a/community-staging/gdk-pixbuf/libpng15.patch b/community-staging/gdk-pixbuf/libpng15.patch
new file mode 100644
index 000000000..e667288f8
--- /dev/null
+++ b/community-staging/gdk-pixbuf/libpng15.patch
@@ -0,0 +1,30 @@
+diff -wbBur gdk-pixbuf-0.22.0/gdk-pixbuf/io-png.c gdk-pixbuf-0.22.0.my/gdk-pixbuf/io-png.c
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-png.c 2001-01-24 23:59:23.000000000 +0300
++++ gdk-pixbuf-0.22.0.my/gdk-pixbuf/io-png.c 2012-01-23 13:33:08.000000000 +0400
+@@ -175,7 +175,7 @@
+ return NULL;
+ }
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(png_ptr))) {
+ png_destroy_read_struct (&png_ptr, &info_ptr, &end_info);
+ return NULL;
+ }
+@@ -311,7 +311,7 @@
+ return NULL;
+ }
+
+- if (setjmp (lc->png_read_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(lc->png_read_ptr))) {
+ if (lc->png_info_ptr)
+ png_destroy_read_struct(&lc->png_read_ptr, NULL, NULL);
+ g_free(lc);
+@@ -366,7 +366,7 @@
+ lc->max_row_seen_in_chunk = -1;
+
+ /* Invokes our callbacks as needed */
+- if (setjmp (lc->png_read_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf(lc->png_read_ptr))) {
+ return FALSE;
+ } else {
+ png_process_data(lc->png_read_ptr, lc->png_info_ptr, buf, size);
diff --git a/community-staging/libharu/PKGBUILD b/community-staging/libharu/PKGBUILD
new file mode 100644
index 000000000..862dab0ce
--- /dev/null
+++ b/community-staging/libharu/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 62648 2012-01-23 08:59:04Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : SpepS <dreamspepser at yahoo dot it>
+# Contributor: Auguste <auguste@gmail.com>
+# Contributor: Jose Negron <josenj.arch@mailnull.com>
+
+pkgname=libharu
+pkgver=2.2.1
+pkgrel=2
+pkgdesc="C/C++ library for generating PDF documents"
+url="http://libharu.org/wiki/Main_Page"
+arch=('i686' 'x86_64')
+license=('custom:ZLIB')
+depends=('libpng' 'gcc-libs')
+options=(!libtool)
+source=("http://libharu.org/files/$pkgname-$pkgver.tar.gz"
+ libpng15.patch)
+md5sums=('63da8e087744f1d6cf16f9501b1cb766'
+ '3793dd30017474bcd277af3b419bc0f6')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/libpng15.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+ # license
+ install -d "$pkgdir/usr/share/licenses/$pkgname"
+ sed -n '102,120p' README > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/community-staging/libharu/libpng15.patch b/community-staging/libharu/libpng15.patch
new file mode 100644
index 000000000..05a8d39fc
--- /dev/null
+++ b/community-staging/libharu/libpng15.patch
@@ -0,0 +1,302 @@
+diff -wbBur libharu-2.2.1/src/hpdf_image_png.c libharu-2.2.1.my/src/hpdf_image_png.c
+--- libharu-2.2.1/src/hpdf_image_png.c 2010-02-08 12:27:51.000000000 +0300
++++ libharu-2.2.1.my/src/hpdf_image_png.c 2012-01-23 12:53:05.000000000 +0400
+@@ -110,13 +110,13 @@
+ {
+ png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+ png_bytep* row_pointers = HPDF_GetMem (image->mmgr,
+- info_ptr->height * sizeof (png_bytep));
++ png_image_height(png_ptr, info_ptr) * sizeof (png_bytep));
+
+ if (row_pointers) {
+ HPDF_UINT i;
+
+- HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof (png_bytep));
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ HPDF_MemSet (row_pointers, 0, png_image_height(png_ptr, info_ptr) * sizeof (png_bytep));
++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) {
+ row_pointers[i] = HPDF_GetMem (image->mmgr, len);
+
+ if (image->error->error_no != HPDF_OK)
+@@ -126,7 +126,7 @@
+ if (image->error->error_no == HPDF_OK) {
+ png_read_image(png_ptr, row_pointers);
+ if (image->error->error_no == HPDF_OK) { /* add this line */
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) {
+ if (HPDF_Stream_Write (image->stream, row_pointers[i], len) !=
+ HPDF_OK)
+ break;
+@@ -135,7 +135,7 @@
+ }
+
+ /* clean up */
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) {
+ HPDF_FreeMem (image->mmgr, row_pointers[i]);
+ }
+
+@@ -156,7 +156,7 @@
+ if (buf_ptr) {
+ HPDF_UINT i;
+
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) {
+ png_read_rows(png_ptr, (png_byte**)&buf_ptr, NULL, 1);
+ if (image->error->error_no != HPDF_OK)
+ break;
+@@ -183,13 +183,13 @@
+ HPDF_UINT i, j;
+ png_bytep *row_ptr;
+
+- row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
++ row_ptr = HPDF_GetMem (image->mmgr, png_image_height(png_ptr, info_ptr) * sizeof(png_bytep));
+ if (!row_ptr) {
+ return HPDF_FAILD_TO_ALLOC_MEM;
+ } else {
+ png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) {
+ row_ptr[i] = HPDF_GetMem(image->mmgr, len);
+ if (!row_ptr[i]) {
+ for (; i >= 0; i--) {
+@@ -207,19 +207,19 @@
+ goto Error;
+ }
+
+- for (j = 0; j < info_ptr->height; j++) {
+- for (i = 0; i < info_ptr->width; i++) {
+- smask_data[info_ptr->width * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
++ for (j = 0; j < png_image_height(png_ptr, info_ptr); j++) {
++ for (i = 0; i < png_image_width(png_ptr, info_ptr); i++) {
++ smask_data[png_image_width(png_ptr, info_ptr) * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
+ }
+
+- if (HPDF_Stream_Write (image->stream, row_ptr[j], info_ptr->width) != HPDF_OK) {
++ if (HPDF_Stream_Write (image->stream, row_ptr[j], png_image_width(png_ptr, info_ptr)) != HPDF_OK) {
+ ret = HPDF_FILE_IO_ERROR;
+ goto Error;
+ }
+ }
+
+ Error:
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) {
+ HPDF_FreeMem (image->mmgr, row_ptr[i]);
+ }
+
+@@ -245,13 +245,13 @@
+ return HPDF_INVALID_PNG_IMAGE;
+ }
+
+- row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
++ row_ptr = HPDF_GetMem (image->mmgr, png_image_height(png_ptr, info_ptr) * sizeof(png_bytep));
+ if (!row_ptr) {
+ return HPDF_FAILD_TO_ALLOC_MEM;
+ } else {
+ png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
+
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) {
+ row_ptr[i] = HPDF_GetMem(image->mmgr, len);
+ if (!row_ptr[i]) {
+ for (; i >= 0; i--) {
+@@ -271,12 +271,12 @@
+
+ switch (color_type) {
+ case PNG_COLOR_TYPE_RGB_ALPHA:
+- row_len = 3 * info_ptr->width * sizeof(png_byte);
+- for (j = 0; j < info_ptr->height; j++) {
+- for (i = 0; i < info_ptr->width; i++) {
++ row_len = 3 * png_image_width(png_ptr, info_ptr) * sizeof(png_byte);
++ for (j = 0; j < png_image_height(png_ptr, info_ptr); j++) {
++ for (i = 0; i < png_image_width(png_ptr, info_ptr); i++) {
+ row = row_ptr[j];
+ memmove(row + (3 * i), row + (4*i), 3);
+- smask_data[info_ptr->width * j + i] = row[4 * i + 3];
++ smask_data[png_image_width(png_ptr, info_ptr) * j + i] = row[4 * i + 3];
+ }
+
+ if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
+@@ -286,12 +286,12 @@
+ }
+ break;
+ case PNG_COLOR_TYPE_GRAY_ALPHA:
+- row_len = info_ptr->width * sizeof(png_byte);
+- for (j = 0; j < info_ptr->height; j++) {
+- for (i = 0; i < info_ptr->width; i++) {
++ row_len = png_image_width(png_ptr, info_ptr) * sizeof(png_byte);
++ for (j = 0; j < png_image_height(png_ptr, info_ptr); j++) {
++ for (i = 0; i < png_image_width(png_ptr, info_ptr); i++) {
+ row = row_ptr[j];
+ row[i] = row[2 * i];
+- smask_data[info_ptr->width * j + i] = row[2 * i + 1];
++ smask_data[png_image_width(png_ptr, info_ptr) * j + i] = row[2 * i + 1];
+ }
+
+ if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
+@@ -306,7 +306,7 @@
+ }
+
+ Error:
+- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) {
+ HPDF_FreeMem (image->mmgr, row_ptr[i]);
+ }
+
+@@ -448,7 +448,7 @@
+ }
+
+ /* 16bit images are not supported. */
+- if (info_ptr->bit_depth == 16) {
++ if (png_get_bit_depth(png_ptr, info_ptr) == 16) {
+ png_set_strip_16(png_ptr);
+ }
+
+@@ -458,7 +458,7 @@
+ }
+
+ /* check palette-based images for transparent areas and load them immediately if found */
+- if (xref && PNG_COLOR_TYPE_PALETTE & info_ptr->color_type) {
++ if (xref && PNG_COLOR_TYPE_PALETTE & png_get_color_type(png_ptr, info_ptr)) {
+ png_bytep trans;
+ int num_trans;
+ HPDF_Dict smask;
+@@ -478,10 +478,10 @@
+ smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
+ ret = HPDF_Dict_AddName (smask, "Type", "XObject");
+ ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
+- ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
+- ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
++ ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr));
+ ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
+- ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++ ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+
+ if (ret != HPDF_OK) {
+ HPDF_Dict_Free(smask);
+@@ -489,7 +489,7 @@
+ goto Exit;
+ }
+
+- smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
++ smask_data = HPDF_GetMem(image->mmgr, png_image_width(png_ptr, info_ptr) * png_image_height(png_ptr, info_ptr));
+ if (!smask_data) {
+ HPDF_Dict_Free(smask);
+ ret = HPDF_FAILD_TO_ALLOC_MEM;
+@@ -503,7 +503,7 @@
+ goto Exit;
+ }
+
+- if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
++ if (HPDF_Stream_Write(smask->stream, smask_data, png_image_width(png_ptr, info_ptr) * png_image_height(png_ptr, info_ptr)) != HPDF_OK) {
+ HPDF_FreeMem(image->mmgr, smask_data);
+ HPDF_Dict_Free(smask);
+ ret = HPDF_FILE_IO_ERROR;
+@@ -513,9 +513,9 @@
+
+
+ ret += CreatePallet(image, png_ptr, info_ptr);
+- ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
+- ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
+- ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++ ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ ret += HPDF_Dict_Add (image, "SMask", smask);
+
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+@@ -526,7 +526,7 @@
+
+ /* read images with alpha channel right away
+ we have to do this because image transparent mask must be added to the Xref */
+- if (xref && PNG_COLOR_MASK_ALPHA & info_ptr->color_type) {
++ if (xref && PNG_COLOR_MASK_ALPHA & png_get_color_type(png_ptr, info_ptr)) {
+ HPDF_Dict smask;
+ png_bytep smask_data;
+
+@@ -539,10 +539,10 @@
+ smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
+ ret = HPDF_Dict_AddName (smask, "Type", "XObject");
+ ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
+- ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
+- ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
++ ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr));
+ ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
+- ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++ ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+
+ if (ret != HPDF_OK) {
+ HPDF_Dict_Free(smask);
+@@ -550,7 +550,7 @@
+ goto Exit;
+ }
+
+- smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
++ smask_data = HPDF_GetMem(image->mmgr, png_image_width(png_ptr, info_ptr) * png_image_height(png_ptr, info_ptr));
+ if (!smask_data) {
+ HPDF_Dict_Free(smask);
+ ret = HPDF_FAILD_TO_ALLOC_MEM;
+@@ -564,7 +564,7 @@
+ goto Exit;
+ }
+
+- if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
++ if (HPDF_Stream_Write(smask->stream, smask_data, png_image_width(png_ptr, info_ptr) * png_image_height(png_ptr, info_ptr)) != HPDF_OK) {
+ HPDF_FreeMem(image->mmgr, smask_data);
+ HPDF_Dict_Free(smask);
+ ret = HPDF_FILE_IO_ERROR;
+@@ -572,14 +572,14 @@
+ }
+ HPDF_FreeMem(image->mmgr, smask_data);
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) {
+ ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
+ } else {
+ ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
+ }
+- ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
+- ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
+- ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
++ ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr));
++ ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr));
+ ret += HPDF_Dict_Add (image, "SMask", smask);
+
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+@@ -589,9 +589,9 @@
+ /* if the image has color palette, copy the pallet of the image to
+ * create color map.
+ */
+- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
+ ret = CreatePallet(image, png_ptr, info_ptr);
+- else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++ else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
+ ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
+ else
+ ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
+@@ -617,16 +617,16 @@
+ }
+
+ /* setting the info of the image. */
+- if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width)
++ if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr))
+ != HPDF_OK)
+ goto Exit;
+
+- if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height)
++ if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr))
+ != HPDF_OK)
+ goto Exit;
+
+ if (HPDF_Dict_AddNumber (image, "BitsPerComponent",
+- (HPDF_UINT)info_ptr->bit_depth) != HPDF_OK)
++ (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr)) != HPDF_OK)
+ goto Exit;
+
+ /* clean up */
diff --git a/community-staging/mapnik/PKGBUILD b/community-staging/mapnik/PKGBUILD
new file mode 100644
index 000000000..815ffd88f
--- /dev/null
+++ b/community-staging/mapnik/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 62650 2012-01-23 09:28:07Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: David Dent <thewinch@gmail.com>
+# Contributor: orbisvicis <orbisvicis@gmail.com>
+
+pkgname=mapnik
+pkgver=0.7.1
+pkgrel=13
+pkgdesc="Free Toolkit for developing mapping applications. Above all Mapnik is about rendering beautiful maps."
+arch=('i686' 'x86_64')
+url="http://mapnik.org/"
+license=('LGPL')
+depends=('boost-libs' 'icu' 'libpng' 'libjpeg' 'libtiff' 'freetype2'
+ 'libxml2' 'python2' 'proj' 'cairo' 'cairomm' 'pycairo'
+ 'postgresql-libs' 'postgis' 'gdal' 'curl' 'libtool')
+ # already in core ('zlib' 'sqlite3')
+optdepends=('libxslt: Web Map Service'
+ 'python-lxml: Web Map Service'
+ 'python-imaging: Web Map Service'
+ 'python-nose: Web Map Service'
+ 'apache: Web Map Service'
+ 'mod_fastcgi: Web Map Service - or:'
+ 'mod_fcgid: Web Map Service - or:'
+ 'mod_wsgi: Web Map Service'
+ )
+makedepends=('scons' 'boost') # already in core ('pkg-config')
+conflicts=('mapnik-svn')
+install="mapnik.install"
+source=("http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('8f65fda2a792518d6f6be8a85f62fc73')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ #patch SConstruct so libs end up in /usr/lib not /usr/lib64 on X86_64
+ sed -i -e "/LIBDIR_SCHEMA=/s/lib64/lib/" SConstruct
+ sed -i 's|png_ptr->io_ptr|png_get_io_ptr(png_ptr)|g' src/png_reader.cpp
+ sed -i 's/-ansi -Wall/-ansi -DBOOST_FILESYSTEM_VERSION=2 -Wall/' SConstruct
+
+ scons configure \
+ PREFIX="/usr" \
+ INPUT_PLUGINS=all \
+ DESTDIR="$pkgdir"
+ scons
+}
+package(){
+ cd "$srcdir/$pkgname-$pkgver"
+ scons install
+ # fix permissions on SCons-autogenerated files
+ chmod 644 "${pkgdir}/usr/lib/python2.7/site-packages/mapnik/paths.py"
+}
diff --git a/community-staging/mapnik/mapnik.install b/community-staging/mapnik/mapnik.install
new file mode 100644
index 000000000..46f265d5b
--- /dev/null
+++ b/community-staging/mapnik/mapnik.install
@@ -0,0 +1,11 @@
+post_install() {
+ /sbin/ldconfig
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-staging/openmotif/PKGBUILD b/community-staging/openmotif/PKGBUILD
new file mode 100644
index 000000000..d7b0f2a89
--- /dev/null
+++ b/community-staging/openmotif/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 62656 2012-01-23 10:44:50Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Enrico Morelli <morelli@cerm.unifi.it>
+
+pkgname=openmotif
+pkgver=2.3.3
+pkgrel=2
+pkgdesc="Open Motif"
+arch=('i686' 'x86_64')
+url="http://www.motifzone.org/"
+license=('GPL')
+depends=(libxext libxp libxft libxt libxmu libpng libjpeg)
+makedepends=(xbitmaps xproto printproto xextproto automake)
+conflicts=(lesstif)
+options=('!libtool')
+source=(http://www.motifzone.org/files/public_downloads/openmotif/2.3/$pkgver/openmotif-$pkgver.tar.gz)
+md5sums=('fd27cd3369d6c7d5ef79eccba524f7be')
+
+build() {
+ _automakever=1.11
+
+ cd $srcdir/openmotif-$pkgver
+
+ sed -i 's|.*demos.*||g' Makefile.in Makefile.am
+ sed -i 's|doc \\|doc|g' Makefile.in Makefile.am
+ sed -i 's#if (!png_check_sig(sig, 8))#if (png_sig_cmp(sig, 0, 8))#' lib/Xm/Png.c
+
+ ln -s -f /usr/share/automake-${_automakever}/compile compile
+ ln -s -f /usr/share/libtool/config/config.guess config.guess
+ ln -s -f /usr/share/libtool/config/config.sub config.sub
+ ln -s -f /usr/share/automake-${_automakever}/depcomp depcomp
+ ln -s -f /usr/share/automake-${_automakever}/install-sh install-sh
+ ln -s -f /usr/share/automake-${_automakever}/missing missing
+ ln -s -f /usr/share/libtool/config/ltmain.sh ltmain.sh
+ touch NEWS AUTHORS
+
+ [ $NOEXTRACT -eq 1 ] || autoreconf -i
+ [ $CARCH == "x86_64" ] && export CFLAGS="$CFLAGS -fPIC"
+ [ $NOEXTRACT -eq 1 ] || ./configure --with-x --prefix=/usr
+ make -j1
+
+ make DESTDIR=$pkgdir install
+ # cleanup
+ (cd $pkgdir/usr/share/man/man3/ && mv Shell.3 OpenMotif-Shell.3)
+}
diff --git a/community-staging/python2-matplotlib/PKGBUILD b/community-staging/python2-matplotlib/PKGBUILD
new file mode 100644
index 000000000..2c647212e
--- /dev/null
+++ b/community-staging/python2-matplotlib/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 62667 2012-01-24 00:10:45Z stephane $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+pkgname=python2-matplotlib
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="A python plotting library, making publication quality plots"
+arch=('i686' 'x86_64')
+url="http://matplotlib.sourceforge.net/"
+backup=(usr/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc)
+depends=('python2-dateutil' 'python2-pytz' 'python2-numpy' 'python2-pyparsing' 'python2-qt')
+optdepends=('pygtk: for use with the GTK or GTKAgg backend'
+ 'tk: used by the TkAgg backend'
+ 'wxpython: for use with the WXAgg backend')
+makedepends=('pygtk' 'tk' 'wxpython')
+provides=('matplotlib' "python-matplotlib=${pkgver}")
+replaces=('python-matplotlib')
+conflicts=('python-matplotlib')
+source=("http://downloads.sourceforge.net/matplotlib/matplotlib-${pkgver}.tar.gz"
+ setup.cfg)
+sha1sums=('435b4f04a7e099b79f66451d69ad0b5ce66030ae'
+ 'bcb5a83db9d95c96a57ca518fa6bd1897b23558f')
+license=('custom')
+
+build() {
+ cd "${srcdir}/matplotlib-${pkgver}"
+
+ cp ../setup.cfg .
+
+ # remove internal copy of pyparsing
+ rm lib/matplotlib/pyparsing.py
+ sed -i "s/matplotlib.pyparsing/pyparsing/g" lib/matplotlib/{mathtext,fontconfig_pattern}.py
+
+ # python2 fix
+ for file in $(find . -name '*.py' -print); do
+ sed -i -e "s|^#!.*/usr/bin/python|#!/usr/bin/python2|" \
+ -e "s|^#!.*/usr/bin/env *python|#!/usr/bin/env python2|" ${file}
+ done
+
+ python2 setup.py build
+}
+
+package() {
+ cd "${srcdir}/matplotlib-${pkgver}"
+ python2 setup.py install -O1 --skip-build --root "${pkgdir}" --prefix=/usr
+
+ install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m 644 doc/users/license.rst "${pkgdir}/usr/share/licenses/${pkgname}"
+}
diff --git a/community-staging/python2-matplotlib/setup.cfg b/community-staging/python2-matplotlib/setup.cfg
new file mode 100644
index 000000000..4b82986e9
--- /dev/null
+++ b/community-staging/python2-matplotlib/setup.cfg
@@ -0,0 +1,83 @@
+# Rename this file to setup.cfg to modify matplotlib's
+# build options.
+
+[egg_info]
+tag_svn_revision = 1
+
+[directories]
+# Uncomment to override the default basedir in setupext.py.
+# This can be a single directory or a space-delimited list of directories.
+#basedirlist = /usr
+
+[status]
+# To suppress display of the dependencies and their versions
+# at the top of the build log, uncomment the following line:
+#suppress = True
+#
+# Uncomment to insert lots of diagnostic prints in extension code
+#verbose = True
+
+[provide_packages]
+# By default, matplotlib checks for a few dependencies and
+# installs them if missing. This feature can be turned off
+# by uncommenting the following lines. Acceptible values are:
+# True: install, overwrite an existing installation
+# False: do not install
+# auto: install only if the package is unavailable. This
+# is the default behavior
+#
+## Date/timezone support:
+#pytz = False
+#dateutil = False
+
+[gui_support]
+# Matplotlib supports multiple GUI toolkits, including Cocoa,
+# GTK, Fltk, MacOSX, Qt, Qt4, Tk, and WX. Support for many of
+# these toolkits requires AGG, the Anti-Grain Geometry library,
+# which is provided by matplotlib and built by default.
+#
+# Some backends are written in pure Python, and others require
+# extension code to be compiled. By default, matplotlib checks
+# for these GUI toolkits during installation and, if present,
+# compiles the required extensions to support the toolkit. GTK
+# support requires the GTK runtime environment and PyGTK. Wx
+# support requires wxWidgets and wxPython. Tk support requires
+# Tk and Tkinter. The other GUI toolkits do not require any
+# extension code, and can be used as long as the libraries are
+# installed on your system.
+#
+# You can uncomment any the following lines if you know you do
+# not want to use the GUI toolkit. Acceptible values are:
+# True: build the extension. Exits with a warning if the
+# required dependencies are not available
+# False: do not build the extension
+# auto: build if the required dependencies are available,
+# otherwise skip silently. This is the default
+# behavior
+#
+gtk = True
+gtkagg = True
+tkagg = True
+wxagg = True
+macosx = False
+
+[rc_options]
+# User-configurable options
+#
+# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg, GTKCairo,
+# FltkAgg, MacOSX, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg.
+#
+# The Agg, Ps, Pdf and SVG backends do not require external
+# dependencies. Do not choose GTK, GTKAgg, GTKCairo, MacOSX, TkAgg or WXAgg
+# if you have disabled the relevent extension modules. Agg will be used
+# by default.
+#
+backend = Qt4Agg
+#
+# The numerix module was historically used to provide
+# compatibility between the Numeric, numarray, and NumPy array
+# packages. Now that NumPy has emerge as the universal array
+# package for python, numerix is not really necessary and is
+# maintained to provide backward compatibility. Do not change
+# this unless you have a compelling reason to do so.
+numerix = numpy
diff --git a/community-staging/qpxtool/PKGBUILD b/community-staging/qpxtool/PKGBUILD
new file mode 100644
index 000000000..47c3e14a3
--- /dev/null
+++ b/community-staging/qpxtool/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 62654 2012-01-23 09:59:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Krzysztof Stasiorowski <krzysiekst@gmail.com>
+
+pkgname=qpxtool
+pkgver=0.7.1_002
+pkgrel=3
+pkgdesc="Allows better controll over optical drives to include QChecks and optimization settings."
+arch=('i686' 'x86_64')
+url="http://qpxtool.sourceforge.net/"
+license=('GPL')
+depends=('qt')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ libpng15.patch)
+md5sums=('755321a0196b16d06857550aac74ff50'
+ 'ab9af7610277652c77c6d114422b2266')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # Fix strict aliasing warnings
+ export CFLAGS="$CFLAGS -fno-strict-aliasing"
+ sed -i 's|lib64|lib|' configure
+ patch -p1 <$srcdir/libpng15.patch
+ ./configure --prefix=/usr
+ make
+ mkdir -p $pkgdir/usr/bin
+ make DESTDIR=$pkgdir install
+}
diff --git a/community-staging/qpxtool/libpng15.patch b/community-staging/qpxtool/libpng15.patch
new file mode 100644
index 000000000..05e6f49d2
--- /dev/null
+++ b/community-staging/qpxtool/libpng15.patch
@@ -0,0 +1,127 @@
+diff -wbBur qpxtool-0.7.1_002/console/f1tattoo/f1tattoo.cpp qpxtool-0.7.1_002.my/console/f1tattoo/f1tattoo.cpp
+--- qpxtool-0.7.1_002/console/f1tattoo/f1tattoo.cpp 2009-11-25 10:55:44.000000000 +0300
++++ qpxtool-0.7.1_002.my/console/f1tattoo/f1tattoo.cpp 2012-01-23 13:53:37.000000000 +0400
+@@ -129,28 +129,28 @@
+
+ png_read_info(png_ptr, info_ptr);
+
+- printf("Image size: %ld x %ld\n", info_ptr->width, info_ptr->height);
++ printf("Image size: %u x %u\n", png_get_image_width(png_ptr, info_ptr), png_get_image_height(png_ptr, info_ptr));
+
+- if (info_ptr->width != 3744U || info_ptr->height != rows ) {
++ if (png_get_image_width(png_ptr, info_ptr) != 3744U || png_get_image_height(png_ptr, info_ptr) != rows ) {
+ printf("Image should be 3744 x %d", rows);
+ return 1;
+ }
+
+-// width = info_ptr->width;
+-// height = info_ptr->height;
+-// bit_depth = info_ptr->bit_depth;
++// width = png_get_image_width(png_ptr, info_ptr);
++// height = png_get_image_height(png_ptr, info_ptr);
++// bit_depth = png_get_bit_depth(png_ptr, info_ptr);
+
+ number_of_passes = png_set_interlace_handling(png_ptr);
+ png_read_update_info(png_ptr, info_ptr);
+
+- printf("Color type: [%d] ", info_ptr->color_type);
+- switch (info_ptr->color_type) {
++ printf("Color type: [%d] ", png_get_color_type(png_ptr, info_ptr));
++ switch (png_get_color_type(png_ptr, info_ptr)) {
+ case PNG_COLOR_TYPE_GRAY:
+ printf("PNG_COLOR_TYPE_GRAY\n");
+ break;
+ case PNG_COLOR_TYPE_PALETTE:
+ printf("PNG_COLOR_TYPE_PALETTE\n");
+- if (!(info_ptr->valid & PNG_INFO_PLTE)) {
++ if (!(png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE))) {
+ printf("PNG color type is indexed, but no palette found!");
+ goto err_read_png;
+ }
+@@ -168,49 +168,53 @@
+ printf("unlnown PNG color type!\n");
+ goto err_read_png;
+ }
+- printf("Bit depth : %d\n", info_ptr->bit_depth);
+- if (info_ptr->bit_depth != 8) {
++ printf("Bit depth : %d\n", png_get_bit_depth(png_ptr, info_ptr));
++ if (png_get_bit_depth(png_ptr, info_ptr) != 8) {
+ printf("Unsupported bit depth!\n");
+ goto err_read_png;
+ }
+- if (info_ptr->valid & PNG_INFO_PLTE) {
+- printf("Palette : %d colors\n", info_ptr->num_palette);
++
++ int num_palette;
++ png_colorp plte;
++ png_get_PLTE(png_ptr, info_ptr, &plte, &num_palette);
++
++ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) {
++ printf("Palette : %d colors\n", num_palette);
+ } else {
+ printf("Palette : NO\n");
+ }
+- printf("ROW bytes : %ld\n", info_ptr->rowbytes);
+-
++ printf("ROW bytes : %d\n", png_get_rowbytes(png_ptr, info_ptr));
+
+ raw_row_pointer = buf;
+- png_row_pointer = (png_byte*) malloc(info_ptr->rowbytes);
++ png_row_pointer = (png_byte*) malloc(png_get_rowbytes(png_ptr, info_ptr));
+ for (row=0; row<rows; row++) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
+ printf("png_jmpbuf failed!\n");
+ goto err_read_png;
+ }
+ png_read_row(png_ptr, png_row_pointer, NULL);
+- if (info_ptr->width < 3744U)
++ if (png_get_image_width(png_ptr, info_ptr) < 3744U)
+ memset(raw_row_pointer, 0, 3744);
+
+- switch (info_ptr->color_type) {
++ switch (png_get_color_type(png_ptr, info_ptr)) {
+ case PNG_COLOR_TYPE_GRAY:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ raw_row_pointer[col] = png_row_pointer[col] ^ 0xFF;
+ // memcpy(raw_row_pointer, png_row_pointer, 3744);
+ }
+ break;
+ case PNG_COLOR_TYPE_PALETTE:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ c = png_row_pointer[col];
+- r = info_ptr->palette[c].red;
+- g = info_ptr->palette[c].green;
+- b = info_ptr->palette[c].blue;
++ r = plte[c].red;
++ g = plte[c].green;
++ b = plte[c].blue;
+ c = (r*11 + g*16 + b*5) / 32;
+ raw_row_pointer[col] = c ^ 0xFF;
+ }
+ break;
+ case PNG_COLOR_TYPE_RGB:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ r = png_row_pointer[col*3];
+ g = png_row_pointer[col*3+1];
+ b = png_row_pointer[col*3+2];
+@@ -219,7 +223,7 @@
+ }
+ break;
+ case PNG_COLOR_TYPE_RGB_ALPHA:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ r = png_row_pointer[col*4];
+ g = png_row_pointer[col*4+1];
+ b = png_row_pointer[col*4+2];
+@@ -228,7 +232,7 @@
+ }
+ break;
+ case PNG_COLOR_TYPE_GRAY_ALPHA:
+- for (col=0; col<info_ptr->width; col++) {
++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) {
+ raw_row_pointer[col] = png_row_pointer[col*2] ^ 0xFF;
+ }
+ break;
diff --git a/community-staging/rawstudio/PKGBUILD b/community-staging/rawstudio/PKGBUILD
new file mode 100644
index 000000000..479c3bf68
--- /dev/null
+++ b/community-staging/rawstudio/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 62658 2012-01-23 11:18:04Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: cdhotfire <cdhotfire@gmail.com>
+
+pkgname=rawstudio
+pkgver=2.0
+pkgrel=5
+pkgdesc="An open source raw-image converter written in GTK+"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://rawstudio.org/"
+depends=('exiv2' 'libgphoto2' 'flickcurl' 'libjpeg' 'fftw' 'gconf' 'lensfun'
+ 'raptor1' 'lcms' 'gtk2')
+install=${pkgname}.install
+options=('!libtool')
+source=(http://rawstudio.org/files/release/${pkgname}-${pkgver}.tar.gz
+ libpng15.patch)
+md5sums=('b2f86b8ca6b83ad954e3104c4cb89e9b'
+ '2f8b7acbe10d8096ce613cbea7986fd3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 <$srcdir/libpng15.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make prefix="${pkgdir}/usr" install
+ mkdir $pkgdir/usr/lib/rawstudio
+ mv $pkgdir/usr/share/rawstudio/plugins $pkgdir/usr/lib/rawstudio
+ ln -s ../../lib/rawstudio/plugins $pkgdir/usr/share/rawstudio/plugins
+}
diff --git a/community-staging/rawstudio/libpng15.patch b/community-staging/rawstudio/libpng15.patch
new file mode 100644
index 000000000..6d3b85968
--- /dev/null
+++ b/community-staging/rawstudio/libpng15.patch
@@ -0,0 +1,40 @@
+diff -wbBur rawstudio-2.0/plugins/load-gdk/exiv2-colorspace.cpp rawstudio-2.0.my/plugins/load-gdk/exiv2-colorspace.cpp
+--- rawstudio-2.0/plugins/load-gdk/exiv2-colorspace.cpp 2011-02-24 01:35:18.000000000 +0300
++++ rawstudio-2.0.my/plugins/load-gdk/exiv2-colorspace.cpp 2012-01-23 15:03:22.000000000 +0400
+@@ -102,8 +102,8 @@
+ {
+ *linear_guess = FALSE;
+ RSColorSpace* profile = NULL;
+- const gchar *icc_profile_title;
+- const gchar *icc_profile;
++ png_charp icc_profile_title;
++ png_bytep icc_profile;
+ guint icc_profile_size;
+ png_structp png_ptr = png_create_read_struct(
+ PNG_LIBPNG_VER_STRING,
+@@ -125,11 +125,11 @@
+
+ int compression_type;
+ /* Extract embedded ICC profile */
+- if (info_ptr->valid & PNG_INFO_iCCP)
++ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_iCCP))
+ {
+ png_uint_32 retval = png_get_iCCP (png_ptr, info_ptr,
+- (png_charpp) &icc_profile_title, &compression_type,
+- (png_charpp) &icc_profile, (png_uint_32*) &icc_profile_size);
++ &icc_profile_title, &compression_type,
++ &icc_profile, (png_uint_32*) &icc_profile_size);
+ if (retval != 0)
+ {
+ RSIccProfile *icc = rs_icc_profile_new_from_memory((gchar*)icc_profile, icc_profile_size, TRUE);
+diff -wbBur rawstudio-2.0/plugins/output-pngfile/output-pngfile.c rawstudio-2.0.my/plugins/output-pngfile/output-pngfile.c
+--- rawstudio-2.0/plugins/output-pngfile/output-pngfile.c 2011-03-26 04:52:29.000000000 +0300
++++ rawstudio-2.0.my/plugins/output-pngfile/output-pngfile.c 2012-01-23 15:04:59.000000000 +0400
+@@ -23,6 +23,7 @@
+ #include <gettext.h>
+ #include "config.h"
+ #include <png.h>
++#include <zlib.h>
+
+ #define RS_TYPE_PNGFILE (rs_pngfile_type)
+ #define RS_PNGFILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RS_TYPE_PNGFILE, RSPngfile))
diff --git a/community-staging/rawstudio/rawstudio.install b/community-staging/rawstudio/rawstudio.install
new file mode 100644
index 000000000..261adb7b4
--- /dev/null
+++ b/community-staging/rawstudio/rawstudio.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q || true
+}
+
+post_upgrade() {
+ update-desktop-database -q || true
+}
+
+post_remove() {
+ update-desktop-database -q || true
+}
diff --git a/community/libircclient/PKGBUILD b/community/libircclient/PKGBUILD
index 4608c5424..72a698e73 100644
--- a/community/libircclient/PKGBUILD
+++ b/community/libircclient/PKGBUILD
@@ -4,7 +4,7 @@
# Contributor: coolkehon <coolkehon at g m a i l>
pkgname=libircclient
-pkgver=1.5
+pkgver=1.6
pkgrel=1
pkgdesc="A small but powerful library, which implements client-server IRC protocol."
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ url="http://www.ulduzsoft.com/libircclient/"
depends=('glibc')
license=('GPL')
source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
-md5sums=('fd1f33181c50823f105df6400eb7746d')
+md5sums=('eb6a2c4e91862cc10de3b13b198cfa23')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/packagekit/PKGBUILD b/community/packagekit/PKGBUILD
index a66ae29ab..5638b68d5 100644
--- a/community/packagekit/PKGBUILD
+++ b/community/packagekit/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 62160 2012-01-17 00:26:49Z jconder $
+# $Id: PKGBUILD 62671 2012-01-24 01:58:04Z jconder $
# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
pkgbase='packagekit'
pkgname=('packagekit' 'packagekit-qt' 'packagekit-qt2' 'packagekit-python')
pkgver=0.6.21
-pkgrel=1
+pkgrel=2
pkgdesc="A system designed to make installation and updates of packages easier."
arch=('i686' 'x86_64')
url="http://www.packagekit.org"
license=('GPL')
makedepends=('dbus-glib' 'gobject-introspection' 'gtk-doc' 'intltool'
'networkmanager' 'pacman' 'pm-utils' 'polkit' 'python2' 'qt'
- 'shared-mime-info' 'sqlite3' 'udev')
+ 'shared-mime-info' 'sqlite3' 'udev')
options=('!libtool')
source=("http://www.packagekit.org/releases/PackageKit-$pkgver.tar.xz"
'alpm.patch')
sha256sums=('68e5d4d07adf50b1fae6cbc0963555345ba7fc12d86d3e3387874547a5448b8e'
- 'fbe54a89c3495376a0b939b67fec5b2e57bed46e92b3f4816d797745882481e6')
+ '44e7adbff7e2255fd9712eef33df866c3a868b3758ceff4adeef209927a97716')
build() {
cd "$srcdir/PackageKit-$pkgver"
@@ -30,23 +30,24 @@ build() {
# TODO: remove when upstream is patched
autoreconf
./configure --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --libexecdir=/usr/lib/PackageKit \
- --disable-static \
- --disable-gtk-doc \
- --disable-tests \
- --disable-local \
- --disable-browser-plugin \
- --disable-gstreamer-plugin \
- --disable-gtk-module \
- --disable-command-not-found \
- --disable-cron \
- --disable-debuginfo-install \
- --enable-pm-utils \
- --disable-dummy \
- --enable-alpm \
- --with-default-backend=alpm
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/PackageKit \
+ --enable-strict \
+ --disable-static \
+ --disable-gtk-doc \
+ --disable-tests \
+ --disable-local \
+ --disable-browser-plugin \
+ --disable-gstreamer-plugin \
+ --disable-gtk-module \
+ --disable-command-not-found \
+ --disable-cron \
+ --disable-debuginfo-install \
+ --enable-pm-utils \
+ --disable-dummy \
+ --enable-alpm \
+ --with-default-backend=alpm
make -s
}
diff --git a/community/packagekit/alpm.patch b/community/packagekit/alpm.patch
index d39ce14e1..997d252b2 100644
--- a/community/packagekit/alpm.patch
+++ b/community/packagekit/alpm.patch
@@ -19,7 +19,7 @@ index 5a5468a..d8c3dfc 100644
-DPK_BACKEND_DEFAULT_LOGFILE=\"$(PK_BACKEND_DEFAULT_LOGFILE)\" \
-DALPM_CACHE_PATH=\"$(ALPM_CACHE_PATH)\" \
diff --git a/backends/alpm/pk-backend-alpm.c b/backends/alpm/pk-backend-alpm.c
-index ba993f0..93f6d95 100644
+index ba993f0..5c6b629 100644
--- a/backends/alpm/pk-backend-alpm.c
+++ b/backends/alpm/pk-backend-alpm.c
@@ -22,10 +22,13 @@
@@ -219,6 +219,18 @@ index ba993f0..93f6d95 100644
}
void
+@@ -380,3 +442,11 @@ pk_backend_finish (PkBackend *self, GError *error)
+ pk_backend_thread_finished (self);
+ return (error == NULL);
+ }
++
++void
++pk_backend_transaction_start (PkBackend *self)
++{
++ g_return_if_fail (self != NULL);
++
++ pk_backend_configure_environment (self);
++}
diff --git a/backends/alpm/pk-backend-alpm.h b/backends/alpm/pk-backend-alpm.h
index 23a2724..ecd6d0f 100644
--- a/backends/alpm/pk-backend-alpm.h
@@ -234,7 +246,7 @@ index 23a2724..ecd6d0f 100644
extern gchar *xfercmd;
extern alpm_list_t *holdpkgs;
diff --git a/backends/alpm/pk-backend-config.c b/backends/alpm/pk-backend-config.c
-index 21a4c54..a51a984 100644
+index 21a4c54..d62b927 100644
--- a/backends/alpm/pk-backend-config.c
+++ b/backends/alpm/pk-backend-config.c
@@ -28,29 +28,44 @@
@@ -480,14 +492,14 @@ index 21a4c54..a51a984 100644
+ }
+
+ /* this also allows e.g. NeverEver, so put prefixes last */
-+ if (g_str_has_prefix (list, "Never") == 0) {
++ if (g_str_has_prefix (list, "Never")) {
+ if (package) {
+ *level &= ~ALPM_SIG_PACKAGE;
+ }
+ if (database) {
+ *level &= ~ALPM_SIG_DATABASE;
+ }
-+ } else if (g_str_has_prefix (list, "Optional") == 0) {
++ } else if (g_str_has_prefix (list, "Optional")) {
+ if (package) {
+ *level |= ALPM_SIG_PACKAGE;
+ *level |= ALPM_SIG_PACKAGE_OPTIONAL;
@@ -496,7 +508,7 @@ index 21a4c54..a51a984 100644
+ *level |= ALPM_SIG_DATABASE;
+ *level |= ALPM_SIG_DATABASE_OPTIONAL;
+ }
-+ } else if (g_str_has_prefix (list, "Required") == 0) {
++ } else if (g_str_has_prefix (list, "Required")) {
+ if (package) {
+ *level |= ALPM_SIG_PACKAGE;
+ *level &= ~ALPM_SIG_PACKAGE_OPTIONAL;
@@ -505,7 +517,7 @@ index 21a4c54..a51a984 100644
+ *level |= ALPM_SIG_DATABASE;
+ *level &= ~ALPM_SIG_DATABASE_OPTIONAL;
+ }
-+ } else if (g_str_has_prefix (list, "TrustedOnly") == 0) {
++ } else if (g_str_has_prefix (list, "TrustedOnly")) {
+ if (package) {
+ *level &= ~ALPM_SIG_PACKAGE_MARGINAL_OK;
+ *level &= ~ALPM_SIG_PACKAGE_UNKNOWN_OK;
@@ -514,7 +526,7 @@ index 21a4c54..a51a984 100644
+ *level &= ~ALPM_SIG_DATABASE_MARGINAL_OK;
+ *level &= ~ALPM_SIG_DATABASE_UNKNOWN_OK;
+ }
-+ } else if (g_str_has_prefix (list, "TrustAll") == 0) {
++ } else if (g_str_has_prefix (list, "TrustAll")) {
+ if (package) {
+ *level |= ALPM_SIG_PACKAGE_MARGINAL_OK;
+ *level |= ALPM_SIG_PACKAGE_UNKNOWN_OK;
@@ -843,7 +855,7 @@ index cb8b8dc..412f59c 100644
-gboolean pk_backend_configure (const gchar *filename, GError **error);
+alpm_handle_t *pk_backend_configure (const gchar *filename, GError **error);
diff --git a/backends/alpm/pk-backend-databases.c b/backends/alpm/pk-backend-databases.c
-index f6ab06e..ac530c7 100644
+index f6ab06e..a123297 100644
--- a/backends/alpm/pk-backend-databases.c
+++ b/backends/alpm/pk-backend-databases.c
@@ -26,7 +26,15 @@
@@ -873,7 +885,13 @@ index f6ab06e..ac530c7 100644
g_object_unref (output);
g_object_unref (os);
-@@ -128,37 +136,65 @@ disabled_repos_configure (GHashTable *table, GError **error)
+@@ -124,41 +132,91 @@ disabled_repos_free (GHashTable *table)
+ }
+
+ static gboolean
+-disabled_repos_configure (GHashTable *table, GError **error)
++disabled_repos_configure (GHashTable *table, gboolean only_trusted,
++ GError **error)
{
const alpm_list_t *i;
@@ -896,6 +914,7 @@ index f6ab06e..ac530c7 100644
- const gchar *repo = alpm_db_get_name (db);
+ for (i = configured; i != NULL; i = i->next) {
+ PkBackendRepo *repo = (PkBackendRepo *) i->data;
++ alpm_siglevel_t level = repo->level;
+ alpm_db_t *db;
- if (g_hash_table_lookup (table, repo) == NULL) {
@@ -904,12 +923,16 @@ index f6ab06e..ac530c7 100644
+ if (g_hash_table_lookup (table, repo->name) != NULL) {
+ /* repo is disabled */
continue;
++ } else if (!only_trusted) {
++ level &= ~ALPM_SIG_PACKAGE;
++ level &= ~ALPM_SIG_DATABASE;
++ level &= ~ALPM_SIG_USE_DEFAULT;
}
- if (alpm_db_unregister (db) < 0) {
- g_set_error (error, ALPM_ERROR, pm_errno, "[%s]: %s",
- repo, alpm_strerrorlast ());
-+ db = alpm_db_register_sync (alpm, repo->name, repo->level);
++ db = alpm_db_register_sync (alpm, repo->name, level);
+ if (db == NULL) {
+ enum _alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "[%s]: %s",
@@ -942,7 +965,7 @@ index f6ab06e..ac530c7 100644
+
+ value = g_hash_table_lookup (levels, i->data);
+ if (value != NULL) {
-+ repo->level = *(alpm_siglevel_t *)value;
++ repo->level = *(alpm_siglevel_t *) value;
+ } else {
+ repo->level = ALPM_SIG_USE_DEFAULT;
+ }
@@ -951,10 +974,35 @@ index f6ab06e..ac530c7 100644
+ }
+}
+
++gboolean
++pk_backend_disable_signatures (PkBackend *self, GError **error)
++{
++ g_return_val_if_fail (self != NULL, FALSE);
++
++ return disabled_repos_configure (disabled, FALSE, error);
++}
++
++gboolean
++pk_backend_enable_signatures (PkBackend *self, GError **error)
++{
++ g_return_val_if_fail (self != NULL, FALSE);
++
++ return disabled_repos_configure (disabled, TRUE, error);
++}
++
gboolean
pk_backend_initialize_databases (PkBackend *self, GError **error)
{
-@@ -179,11 +215,21 @@ pk_backend_initialize_databases (PkBackend *self, GError **error)
+@@ -169,7 +227,7 @@ pk_backend_initialize_databases (PkBackend *self, GError **error)
+ return FALSE;
+ }
+
+- if (!disabled_repos_configure (disabled, error)) {
++ if (!disabled_repos_configure (disabled, TRUE, error)) {
+ return FALSE;
+ }
+
+@@ -179,11 +237,21 @@ pk_backend_initialize_databases (PkBackend *self, GError **error)
void
pk_backend_destroy_databases (PkBackend *self)
{
@@ -976,7 +1024,7 @@ index f6ab06e..ac530c7 100644
}
static gboolean
-@@ -210,11 +256,12 @@ pk_backend_get_repo_list_thread (PkBackend *self)
+@@ -210,11 +278,12 @@ pk_backend_get_repo_list_thread (PkBackend *self)
gpointer key, value;
g_return_val_if_fail (self != NULL, FALSE);
@@ -991,7 +1039,12 @@ index f6ab06e..ac530c7 100644
const gchar *repo = alpm_db_get_name (db);
if (pk_backend_cancelled (self)) {
-@@ -269,7 +316,7 @@ pk_backend_repo_enable_thread (PkBackend *self)
+@@ -265,11 +334,11 @@ pk_backend_repo_enable_thread (PkBackend *self)
+
+ if (g_hash_table_remove (disabled, repo)) {
+ /* reload configuration to preserve ordering */
+- if (disabled_repos_configure (disabled, &error)) {
++ if (disabled_repos_configure (disabled, TRUE, &error)) {
pk_backend_repo_list_changed (self);
}
} else {
@@ -1000,7 +1053,7 @@ index f6ab06e..ac530c7 100644
g_set_error (&error, ALPM_ERROR, code, "[%s]: %s",
repo, alpm_strerror (code));
}
-@@ -292,21 +339,23 @@ pk_backend_repo_disable_thread (PkBackend *self)
+@@ -292,21 +361,23 @@ pk_backend_repo_disable_thread (PkBackend *self)
GError *error = NULL;
g_return_val_if_fail (self != NULL, FALSE);
@@ -1028,7 +1081,7 @@ index f6ab06e..ac530c7 100644
} else {
g_hash_table_insert (disabled, g_strdup (repo),
GINT_TO_POINTER (1));
-@@ -316,7 +365,7 @@ pk_backend_repo_disable_thread (PkBackend *self)
+@@ -316,7 +387,7 @@ pk_backend_repo_disable_thread (PkBackend *self)
}
if (i == NULL) {
@@ -1038,10 +1091,10 @@ index f6ab06e..ac530c7 100644
alpm_strerror (code));
}
diff --git a/backends/alpm/pk-backend-databases.h b/backends/alpm/pk-backend-databases.h
-index f9eb2f9..2636cae 100644
+index f9eb2f9..d9b9e78 100644
--- a/backends/alpm/pk-backend-databases.h
+++ b/backends/alpm/pk-backend-databases.h
-@@ -24,6 +24,10 @@
+@@ -24,6 +24,16 @@
#include <alpm.h>
#include <pk-backend.h>
@@ -1049,6 +1102,12 @@ index f9eb2f9..2636cae 100644
+ GHashTable *servers,
+ GHashTable *levels);
+
++gboolean pk_backend_disable_signatures (PkBackend *self,
++ GError **error);
++
++gboolean pk_backend_enable_signatures (PkBackend *self,
++ GError **error);
++
gboolean pk_backend_initialize_databases (PkBackend *self,
GError **error);
@@ -1472,10 +1531,18 @@ index 28dcf65..d736e37 100644
-const gchar *alpm_pkg_get_group (pmpkg_t *pkg);
+const gchar *alpm_pkg_get_group (alpm_pkg_t *pkg);
diff --git a/backends/alpm/pk-backend-install.c b/backends/alpm/pk-backend-install.c
-index 65a6c11..5b5e2b2 100644
+index 65a6c11..d0cbca2 100644
--- a/backends/alpm/pk-backend-install.c
+++ b/backends/alpm/pk-backend-install.c
-@@ -32,15 +32,19 @@
+@@ -25,6 +25,7 @@
+ #include <pk-backend.h>
+
+ #include "pk-backend-alpm.h"
++#include "pk-backend-databases.h"
+ #include "pk-backend-error.h"
+ #include "pk-backend-install.h"
+ #include "pk-backend-transaction.h"
+@@ -32,15 +33,19 @@
static gint
alpm_add_file (const gchar *filename)
{
@@ -1498,7 +1565,7 @@ index 65a6c11..5b5e2b2 100644
alpm_pkg_free (pkg);
return -1;
}
-@@ -61,8 +65,9 @@ pk_backend_transaction_add_targets (PkBackend *self, GError **error)
+@@ -61,8 +66,9 @@ pk_backend_transaction_add_targets (PkBackend *self, GError **error)
for (; *paths != NULL; ++paths) {
if (alpm_add_file (*paths) < 0) {
@@ -1510,6 +1577,40 @@ index 65a6c11..5b5e2b2 100644
return FALSE;
}
}
+@@ -89,17 +95,32 @@ pk_backend_simulate_install_files_thread (PkBackend *self)
+ static gboolean
+ pk_backend_install_files_thread (PkBackend *self)
+ {
++ gboolean only_trusted;
+ GError *error = NULL;
+
+ g_return_val_if_fail (self != NULL, FALSE);
+
++ only_trusted = pk_backend_get_bool (self, "only_trusted");
++
++ if (!only_trusted && !pk_backend_disable_signatures (self, &error)) {
++ goto out;
++ }
++
+ if (pk_backend_transaction_initialize (self, 0, &error) &&
+ pk_backend_transaction_add_targets (self, &error) &&
+ pk_backend_transaction_simulate (self, &error)) {
+ pk_backend_transaction_commit (self, &error);
+ }
+
+- return pk_backend_transaction_finish (self, error);
++out:
++ pk_backend_transaction_end (self, (error == NULL) ? &error : NULL);
++
++ if (!only_trusted) {
++ GError **e = (error == NULL) ? &error : NULL;
++ pk_backend_enable_signatures (self, e);
++ }
++
++ return pk_backend_finish (self, error);
+ }
+
+ void
diff --git a/backends/alpm/pk-backend-packages.c b/backends/alpm/pk-backend-packages.c
index e9a7c94..2d057aa 100644
--- a/backends/alpm/pk-backend-packages.c
@@ -2002,10 +2103,15 @@ index 592472d..c4e80ae 100644
break;
}
diff --git a/backends/alpm/pk-backend-sync.c b/backends/alpm/pk-backend-sync.c
-index 9e1e02b..c770159 100644
+index 9e1e02b..d2f363b 100644
--- a/backends/alpm/pk-backend-sync.c
+++ b/backends/alpm/pk-backend-sync.c
-@@ -30,41 +30,13 @@
+@@ -26,45 +26,18 @@
+ #include <string.h>
+
+ #include "pk-backend-alpm.h"
++#include "pk-backend-databases.h"
+ #include "pk-backend-error.h"
#include "pk-backend-sync.h"
#include "pk-backend-transaction.h"
@@ -2048,7 +2154,7 @@ index 9e1e02b..c770159 100644
packages = pk_backend_get_strv (self, "package_ids");
-@@ -75,9 +47,28 @@ pk_backend_transaction_sync_targets (PkBackend *self, GError **error)
+@@ -75,9 +48,28 @@ pk_backend_transaction_sync_targets (PkBackend *self, GError **error)
gchar *repo = package[PK_PACKAGE_ID_DATA];
gchar *name = package[PK_PACKAGE_ID_NAME];
@@ -2080,7 +2186,7 @@ index 9e1e02b..c770159 100644
g_strfreev (package);
return FALSE;
}
-@@ -93,23 +84,27 @@ pk_backend_download_packages_thread (PkBackend *self)
+@@ -93,23 +85,27 @@ pk_backend_download_packages_thread (PkBackend *self)
{
alpm_list_t *cachedirs;
const gchar *directory;
@@ -2114,7 +2220,7 @@ index 9e1e02b..c770159 100644
if (pk_backend_transaction_initialize (self, flags, &error) &&
pk_backend_transaction_sync_targets (self, &error) &&
-@@ -118,7 +113,7 @@ pk_backend_download_packages_thread (PkBackend *self)
+@@ -118,7 +114,7 @@ pk_backend_download_packages_thread (PkBackend *self)
}
if (directory != NULL) {
@@ -2123,7 +2229,40 @@ index 9e1e02b..c770159 100644
}
return pk_backend_transaction_finish (self, error);
-@@ -190,16 +185,17 @@ pk_backend_install_packages (PkBackend *self, gboolean only_trusted,
+@@ -155,17 +151,31 @@ pk_backend_simulate_install_packages_thread (PkBackend *self)
+ static gboolean
+ pk_backend_install_packages_thread (PkBackend *self)
+ {
++ gboolean only_trusted;
+ GError *error = NULL;
+
+ g_return_val_if_fail (self != NULL, FALSE);
+
++ only_trusted = pk_backend_get_bool (self, "only_trusted");
++
++ if (!only_trusted && !pk_backend_disable_signatures (self, &error)) {
++ goto out;
++ }
++
+ if (pk_backend_transaction_initialize (self, 0, &error) &&
+ pk_backend_transaction_sync_targets (self, &error) &&
+ pk_backend_transaction_simulate (self, &error)) {
+ pk_backend_transaction_commit (self, &error);
+ }
+
+- return pk_backend_transaction_finish (self, error);
++ pk_backend_transaction_end (self, (error == NULL) ? &error : NULL);
++out:
++ if (!only_trusted) {
++ GError **e = (error == NULL) ? &error : NULL;
++ pk_backend_enable_signatures (self, e);
++ }
++
++ return pk_backend_finish (self, error);
+ }
+
+ void
+@@ -190,16 +200,17 @@ pk_backend_install_packages (PkBackend *self, gboolean only_trusted,
}
static gboolean
@@ -2144,7 +2283,7 @@ index 9e1e02b..c770159 100644
const gchar *rname = alpm_pkg_get_name (rpkg);
if (pk_backend_cancelled (self)) {
-@@ -208,7 +204,7 @@ pk_backend_replaces_dependencies (PkBackend *self, pmpkg_t *pkg)
+@@ -208,7 +219,7 @@ pk_backend_replaces_dependencies (PkBackend *self, pmpkg_t *pkg)
continue;
}
@@ -2153,15 +2292,29 @@ index 9e1e02b..c770159 100644
return FALSE;
}
}
-@@ -224,6 +220,7 @@ pk_backend_update_packages_thread (PkBackend *self)
+@@ -219,13 +230,21 @@ pk_backend_replaces_dependencies (PkBackend *self, pmpkg_t *pkg)
+ static gboolean
+ pk_backend_update_packages_thread (PkBackend *self)
+ {
++ gboolean only_trusted;
+ const alpm_list_t *i;
+ alpm_list_t *asdeps = NULL;
GError *error = NULL;
g_return_val_if_fail (self != NULL, FALSE);
+ g_return_val_if_fail (alpm != NULL, FALSE);
g_return_val_if_fail (localdb != NULL, FALSE);
++ only_trusted = pk_backend_get_bool (self, "only_trusted");
++
++ if (!only_trusted && !pk_backend_disable_signatures (self, &error)) {
++ goto out;
++ }
++
if (!pk_backend_transaction_initialize (self, 0, &error) ||
-@@ -233,8 +230,8 @@ pk_backend_update_packages_thread (PkBackend *self)
+ !pk_backend_transaction_sync_targets (self, &error) ||
+ !pk_backend_transaction_simulate (self, &error)) {
+@@ -233,8 +252,8 @@ pk_backend_update_packages_thread (PkBackend *self)
}
/* change the install reason of packages that replace dependencies */
@@ -2172,7 +2325,7 @@ index 9e1e02b..c770159 100644
const gchar *name = alpm_pkg_get_name (pkg);
if (pk_backend_cancelled (self)) {
-@@ -254,7 +251,8 @@ pk_backend_update_packages_thread (PkBackend *self)
+@@ -254,14 +273,22 @@ pk_backend_update_packages_thread (PkBackend *self)
for (i = asdeps; i != NULL; i = i->next) {
const gchar *name = (const gchar *) i->data;
@@ -2182,6 +2335,21 @@ index 9e1e02b..c770159 100644
}
out:
++ pk_backend_transaction_end (self, (error == NULL) ? &error : NULL);
++
++ if (!only_trusted) {
++ GError **e = (error == NULL) ? &error : NULL;
++ pk_backend_enable_signatures (self, e);
++ }
++
+ alpm_list_free_inner (asdeps, g_free);
+ alpm_list_free (asdeps);
+
+- return pk_backend_transaction_finish (self, error);
++ return pk_backend_finish (self, error);
+ }
+
+ void
diff --git a/backends/alpm/pk-backend-transaction.c b/backends/alpm/pk-backend-transaction.c
index fdb840e..76402f0 100644
--- a/backends/alpm/pk-backend-transaction.c
diff --git a/community/tinyproxy/PKGBUILD b/community/tinyproxy/PKGBUILD
index 968279a76..478eb7fce 100644
--- a/community/tinyproxy/PKGBUILD
+++ b/community/tinyproxy/PKGBUILD
@@ -1,21 +1,22 @@
-# $Id: PKGBUILD 61689 2012-01-06 19:23:37Z lfleischer $
+# $Id: PKGBUILD 62660 2012-01-23 13:31:10Z lfleischer $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: Andrea Zucchelli <zukka77@gmail.com>
pkgname=tinyproxy
pkgver=1.8.3
-pkgrel=2
+pkgrel=3
pkgdesc='A light-weight HTTP proxy daemon for POSIX operating systems.'
arch=('i686' 'x86_64')
url='https://banu.com/tinyproxy/'
license=('GPL')
makedepends=('asciidoc')
+install="${pkgname}.install"
backup=('etc/tinyproxy/tinyproxy.conf')
source=("https://banu.com/pub/${pkgname}/1.8/${pkgname}-${pkgver}.tar.bz2"
'tinyproxy'
'tinyproxy.tmpfiles.conf')
md5sums=('292ac51da8ad6ae883d4ebf56908400d'
- '464b5d60b1c9cbae26367fe2337c2d77'
+ '90eb2b3371e56d5a784fd826d4a6e5f8'
'3c2764578f26581346fe312da0519a3e')
build() {
diff --git a/community/tinyproxy/tinyproxy b/community/tinyproxy/tinyproxy
index 86ba7b77c..5580ea804 100755
--- a/community/tinyproxy/tinyproxy
+++ b/community/tinyproxy/tinyproxy
@@ -8,11 +8,7 @@ PID=$(pidof -o %PPID /usr/sbin/tinyproxy)
start() {
stat_busy "Starting Tinyproxy"
- if [ ! -d /var/run/tinyproxy ]; then
- mkdir -p /var/run/tinyproxy && chown nobody:nobody /var/run/tinyproxy
- fi
-
- [ -z "$PID" ] && rm -f /var/run/tinyproxy.pid && \
+ [ -z "$PID" ] && rm -f /var/run/tinyproxy/tinyproxy.pid && \
/usr/sbin/tinyproxy -c /etc/tinyproxy/tinyproxy.conf 2>/dev/null
if [ $? -gt 0 ]; then
diff --git a/community/tinyproxy/tinyproxy.install b/community/tinyproxy/tinyproxy.install
new file mode 100644
index 000000000..85f3dfc41
--- /dev/null
+++ b/community/tinyproxy/tinyproxy.install
@@ -0,0 +1,9 @@
+post_install() {
+ if [ ! -d /var/run/tinyproxy ]; then
+ install -dm0770 -o nobody -g nobody /var/run/tinyproxy
+ fi
+}
+
+post_upgrade() {
+ post_install "$@"
+}
diff --git a/core/btrfs-progs/PKGBUILD b/core/btrfs-progs/PKGBUILD
new file mode 100644
index 000000000..343cb55c3
--- /dev/null
+++ b/core/btrfs-progs/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 147160 2012-01-23 15:27:41Z ibiru $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=btrfs-progs
+pkgver=0.19.20120110
+pkgrel=2
+pkgdesc="btrfs filesystem utilities"
+arch=(i686 x86_64)
+depends=('glibc' 'e2fsprogs')
+source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.xz)
+url="http://btrfs.wiki.kernel.org/"
+replaces=('btrfs-progs-unstable')
+conflicts=('btrfs-progs-unstable')
+provides=('btrfs-progs-unstable')
+license=('GPL2')
+
+build() {
+ cd $srcdir/$pkgname
+ make CFLAGS="$CFLAGS" all convert
+}
+
+package() {
+ cd $srcdir/$pkgname
+ make prefix=$pkgdir/usr install
+ # fix manpage
+ mkdir -p $pkgdir/usr/share/
+ mv $pkgdir/usr/man $pkgdir/usr/share/man
+ mkdir -p ${pkgdir}/sbin
+ ln -sf /usr/bin/btrfs ${pkgdir}/sbin/btrfs
+}
+md5sums=('a3f6fbeb166f8e6b5c06833888d4ecf2')
diff --git a/core/iproute2/PKGBUILD b/core/iproute2/PKGBUILD
index cbf7e9c4b..b017ba58b 100644
--- a/core/iproute2/PKGBUILD
+++ b/core/iproute2/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 146447 2012-01-11 15:20:57Z stephane $
+# $Id: PKGBUILD 147158 2012-01-23 15:27:38Z ibiru $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=iproute2
pkgver=3.2.0
-pkgrel=1
+pkgrel=2
pkgdesc="IP Routing Utilities"
arch=('i686' 'x86_64')
license=('GPL2')
@@ -19,10 +19,11 @@ options=('!makeflags')
backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \
'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables')
source=(http://www.kernel.org/pub/linux/utils/net/$pkgname/$pkgname-$pkgver.tar.xz
- iproute2-fhs.patch)
+ iproute2-fhs.patch
+ fix-ip-l.patch)
sha1sums=('1e217f22b0bbfc870ddf746de883ee375cd9e533'
- '2416b11252364d7a6c742eabb4a6924a75637a46')
-
+ '2416b11252364d7a6c742eabb4a6924a75637a46'
+ '2ec5513c44f89046438d65e2cda1a014010e3b73')
build() {
cd $srcdir/$pkgname-$pkgver
@@ -30,6 +31,9 @@ build() {
# set correct fhs structure
patch -Np1 -i "$srcdir/iproute2-fhs.patch"
+ #upstream fixes
+ patch -Np1 -i "$srcdir/fix-ip-l.patch"
+
./configure
make
diff --git a/core/iproute2/fix-ip-l.patch b/core/iproute2/fix-ip-l.patch
new file mode 100644
index 000000000..7f1749cbb
--- /dev/null
+++ b/core/iproute2/fix-ip-l.patch
@@ -0,0 +1,27 @@
+From 5aa08f6bf4107f8aec43c0678466a314dbd0d054 Mon Sep 17 00:00:00 2001
+From: Stephen Hemminger <shemminger@vyatta.com>
+Date: Fri, 20 Jan 2012 08:16:02 -0800
+Subject: [PATCH] ip: make 'ip l' be 'ip link'
+
+Restore compatiablity for those lazy typists.
+---
+ ip/ip.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/ip/ip.c b/ip/ip.c
+index 7b4bacb..20dc3b5 100644
+--- a/ip/ip.c
++++ b/ip/ip.c
+@@ -72,8 +72,8 @@ static const struct cmd {
+ { "neighbour", do_ipneigh },
+ { "ntable", do_ipntable },
+ { "ntbl", do_ipntable },
+- { "l2tp", do_ipl2tp },
+ { "link", do_iplink },
++ { "l2tp", do_ipl2tp },
+ { "tunnel", do_iptunnel },
+ { "tunl", do_iptunnel },
+ { "tuntap", do_iptuntap },
+--
+1.7.6.5
+
diff --git a/extra/freeglut/PKGBUILD b/extra/freeglut/PKGBUILD
index ac748f8ee..afd3f36bf 100644
--- a/extra/freeglut/PKGBUILD
+++ b/extra/freeglut/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 62079 2010-01-01 23:53:58Z eric $
+# $Id: PKGBUILD 147152 2012-01-23 14:30:00Z heftig $
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=freeglut
-pkgver=2.6.0
+pkgver=2.8.0
pkgrel=1
pkgdesc="Provides functionality for small OpenGL programs"
arch=('i686' 'x86_64')
@@ -14,19 +14,18 @@ replaces=('glut')
provides=('glut')
conflicts=('glut')
options=('!libtool')
-source=(http://downloads.sourceforge.net/freeglut/${pkgname}-${pkgver}.tar.gz \
- 2.6.0-GFX_radeon.patch)
-md5sums=('39f0f2de89f399529d2b981188082218' '6d0a018fe4f0bc9ace2b244ca59514d3')
-sha1sums=('68306c4486c13d005a4e4d54035e0c0b1bdc220b' '2e392c7d0b60016ec89e6a5edf504f5722351b95')
+source=(http://downloads.sourceforge.net/freeglut/${pkgname}-${pkgver}.tar.gz)
+md5sums=('5db8651af306bc403fbfd36934a20e1d')
+sha1sums=('4debbe559c6c9841ce1abaddc9d461d17c6083b1')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
-# fixes an issue with the radeon[hd] ATI opensource drivers
-# ref: http://bugs.gentoo.org/show_bug.cgi?id=295163
- patch -p0 -i "${srcdir}/2.6.0-GFX_radeon.patch" || return 1
+ ./configure --prefix=/usr --disable-static
+ make all
+}
- ./configure --prefix=/usr || return 1
- make all || return 1
- make DESTDIR="${pkgdir}" install || return 1
- install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/extra/gptfdisk/PKGBUILD b/extra/gptfdisk/PKGBUILD
index 7a5410ff0..12bc4baa8 100644
--- a/extra/gptfdisk/PKGBUILD
+++ b/extra/gptfdisk/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 139468 2011-10-02 00:35:06Z foutrelis $
+# $Id: PKGBUILD 147145 2012-01-23 07:56:33Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Hokum <hokum_at_mail_dot_ru>
pkgname=gptfdisk
-pkgver=0.8.1
+pkgver=0.8.2
pkgrel=1
pkgdesc="A text-mode partitioning tool that works on Globally Unique Identifier (GUID) Partition Table (GPT) disks"
arch=('i686' 'x86_64')
@@ -15,7 +15,7 @@ provides=("gdisk=$pkgver")
conflicts=('gdisk')
replaces=('gdisk')
source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz)
-sha1sums=('3285608c8c3087040d3bec9db1b287fae3cfc4c1')
+sha256sums=('b1159027ca459661f04bc3bac8e79381895933ee214c4d6dba49b7d27204e5d3')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/extra/memcached/PKGBUILD b/extra/memcached/PKGBUILD
index 7eadae184..c706303b4 100644
--- a/extra/memcached/PKGBUILD
+++ b/extra/memcached/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 142481 2011-11-10 15:13:21Z dan $
+# $Id: PKGBUILD 147164 2012-01-23 19:16:26Z dan $
# Maintainer: Dan McGee <dan@archlinux.org>
# Contributor: Michael Irwin <6d6469@gmail.com>
pkgname=memcached
-pkgver=1.4.10
+pkgver=1.4.11
pkgrel=1
pkgdesc="A distributed memory object caching system"
arch=(i686 x86_64)
@@ -16,7 +16,7 @@ source=(http://memcached.googlecode.com/files/$pkgname-$pkgver.tar.gz
memcached.conf
memcached.sh)
changelog=ChangeLog
-sha256sums=('2cc3de341b561464da29fc5d5e2a4facc0f6aafc151f0e1d94228705e0758fdf'
+sha256sums=('e3dcc4ff29d2b3f3c66f2b5b95a1bcef0163a65b588d6ba92a56cd6c8d73e83e'
'0e57a0f528b387f1f04f628ec74856c615d82d44f4d6bc041c33b3814ce13d0a'
'72efa639c5a39c7c14f07cc51731ebbf82299870d9cf31cf3aaa981bc084b4eb')
diff --git a/extra/perl-alien-sdl/PKGBUILD b/extra/perl-alien-sdl/PKGBUILD
index 25bd18eeb..1fe3bd4c6 100644
--- a/extra/perl-alien-sdl/PKGBUILD
+++ b/extra/perl-alien-sdl/PKGBUILD
@@ -1,5 +1,5 @@
-# $Id: PKGBUILD 124820 2011-05-24 15:44:07Z heftig $
-# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# $Id: PKGBUILD 147156 2012-01-23 14:30:07Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
@@ -8,17 +8,17 @@
pkgname=perl-alien-sdl
_realname=Alien-SDL
-pkgver=1.426
+pkgver=1.430
pkgrel=1
pkgdesc="Building, finding and using SDL binaries"
arch=(i686 x86_64)
license=(PerlArtistic GPL)
url="http://search.cpan.org/dist/Alien-SDL/"
-depends=(sdl=1.2.14 perl-file-sharedir perl-capture-tiny)
+depends=(sdl=1.2.15 perl-file-sharedir perl-capture-tiny)
makedepends=(perl-file-which perl-text-patch)
options=(!emptydirs)
source=(http://search.cpan.org/CPAN/authors/id/F/FR/FROGGS/$_realname-$pkgver.tar.gz)
-md5sums=('ab5e1167934418f4a7b3285a9d05c89b')
+md5sums=('9d7774212fb4e1c46325746c953a808b')
package() {
cd "$srcdir/$_realname-$pkgver"
diff --git a/multilib/lib32-sdl_image/PKGBUILD b/multilib/lib32-sdl_image/PKGBUILD
index a0df01c37..bf60a1817 100644
--- a/multilib/lib32-sdl_image/PKGBUILD
+++ b/multilib/lib32-sdl_image/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 62238 2012-01-18 17:43:15Z svenstaro $
+# $Id: PKGBUILD 62665 2012-01-23 18:29:11Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: SpepS <dreamspepser at yahoo dot it>
_pkgbasename=sdl_image
pkgname=lib32-$_pkgbasename
-pkgver=1.2.11
+pkgver=1.2.12
pkgrel=1
pkgdesc="A simple library to load images of various formats as SDL surfaces (32-bit)"
arch=('x86_64')
@@ -14,7 +14,7 @@ depends=('lib32-sdl' 'lib32-libpng' 'lib32-libjpeg' 'lib32-libtiff' 'lib32-zlib'
makedepends=('gcc-multilib')
options=('!libtool')
source=(http://www.libsdl.org/projects/SDL_image/release/SDL_image-${pkgver}.tar.gz)
-md5sums=('1210d7a7e87ab95abebb4f3e79a0fd31')
+md5sums=('a0f9098ebe5400f0bdc9b62e60797ecb')
build() {
export CC='gcc -m32'
diff --git a/staging/avahi/PKGBUILD b/staging/avahi/PKGBUILD
new file mode 100644
index 000000000..b917e9248
--- /dev/null
+++ b/staging/avahi/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 147194 2012-01-24 04:55:03Z bisson $
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=avahi
+pkgver=0.6.30
+pkgrel=7
+pkgdesc='A multicast/unicast DNS-SD framework'
+arch=('i686' 'x86_64')
+url='http://www.avahi.org/'
+license=('LGPL')
+depends=('expat' 'libdaemon' 'glib2' 'dbus' 'libcap' 'gdbm')
+optdepends=('gtk3: avahi-discover-standalone, bshell, bssh, bvnc'
+ 'gtk2: gtk2 bindings'
+ 'qt3: qt3 bindings'
+ 'qt: qt bindings'
+ 'pygtk: avahi-bookmarks, avahi-discover'
+ 'twisted: avahi-bookmarks'
+ 'mono: mono bindings'
+ 'dbus-python: avahi-discover'
+ 'nss-mdns: NSS support for mDNS')
+makedepends=('qt' 'qt3' 'pygtk' 'mono' 'intltool' 'dbus-python'
+ 'gtk-sharp-2' 'gobject-introspection' 'gtk3')
+backup=(etc/avahi/avahi-daemon.conf etc/avahi/services/{sftp-,}ssh.service)
+install=install
+conflicts=('howl' 'mdnsresponder')
+provides=('howl' 'mdnsresponder')
+replaces=('howl' 'mdnsresponder')
+options=('!libtool')
+source=("http://www.avahi.org/download/avahi-${pkgver}.tar.gz"
+ 'gnome-nettool.png'
+ 'rc.d.patch')
+sha1sums=('5b77443537600a00770e4c77e3c443eeb5861d06'
+ 'cf56387c88aed246b9f435efc182ef44de4d52f3'
+ '625ad7c131c0c1c383caeddef18fc7a32d8f3ab9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i 's/netdev/network/g' avahi-daemon/avahi-dbus.conf
+ patch -p1 -i "../rc.d.patch"
+
+ # pygtk requires python2; make it explicit in case other python are installed: FS#21865
+ PYTHON=python2 \
+ PKG_CONFIG_PATH=/opt/qt/lib/pkgconfig \
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ --disable-monodoc \
+ --disable-doxygen-doc \
+ --disable-xmltoman \
+ --enable-compat-libdns_sd \
+ --enable-compat-howl \
+ --with-distro=archlinux \
+ --with-avahi-priv-access-group=network \
+ --with-autoipd-user=avahi \
+ --with-autoipd-group=avahi \
+ --with-systemdsystemunitdir=/lib/systemd/system # See FS#20999
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m 644 ../gnome-nettool.png "${pkgdir}"/usr/share/pixmaps/gnome-nettool.png
+
+ cd "${pkgdir}"
+ sed -i '1c #!/usr/bin/python2' usr/bin/avahi-{bookmarks,discover}
+ # howl and mdnsresponder compatability
+ (cd usr/include; ln -s avahi-compat-libdns_sd/dns_sd.h dns_sd.h; ln -s avahi-compat-howl howl)
+ (cd usr/lib/pkgconfig; ln -s avahi-compat-howl.pc howl.pc)
+}
diff --git a/staging/avahi/gnome-nettool.png b/staging/avahi/gnome-nettool.png
new file mode 100644
index 000000000..227d0678a
--- /dev/null
+++ b/staging/avahi/gnome-nettool.png
Binary files differ
diff --git a/staging/avahi/install b/staging/avahi/install
new file mode 100644
index 000000000..7c75c3dd4
--- /dev/null
+++ b/staging/avahi/install
@@ -0,0 +1,21 @@
+post_install() {
+ getent group avahi &>/dev/null || groupadd -r -g 84 avahi >/dev/null
+ getent passwd avahi &>/dev/null || useradd -r -u 84 -g avahi -d / -s /bin/false -c avahi avahi >/dev/null
+
+ cat <<EOF
+==> The following daemons may be added to DAEMONS in /etc/rc.conf:
+==> avahi-daemon: the mdns responder, you probably want this.
+==> dbus needs to be running when you start it.
+==> avahi-dnsconfd: daemon used for peer-to-peer automatic dns
+==> configuration on dhcp-less networks.
+
+==> To use some of the client applications you will have to install python.
+==> In addition, pygtk is required for the graphical ones and
+==> twisted for avahi-bookmarks.
+EOF
+}
+
+post_remove() {
+ getent passwd avahi &>/dev/null && userdel avahi >/dev/null
+ getent group avahi &>/dev/null && groupdel avahi >/dev/null
+}
diff --git a/staging/avahi/rc.d.patch b/staging/avahi/rc.d.patch
new file mode 100644
index 000000000..fd735734b
--- /dev/null
+++ b/staging/avahi/rc.d.patch
@@ -0,0 +1,11 @@
+diff -aur old/initscript/archlinux/avahi-daemon.in new/initscript/archlinux/avahi-daemon.in
+--- old/initscript/archlinux/avahi-daemon.in 2011-06-24 03:07:00.916170590 +0200
++++ new/initscript/archlinux/avahi-daemon.in 2011-06-24 03:16:32.220596377 +0200
+@@ -33,6 +33,7 @@
+
+ case "$1" in
+ start)
++ ck_daemon dbus && { echo -n "Start dbus first." >&2; stat_die; }
+ stat_busy "Starting $DESC"
+ $DAEMON -D > /dev/null 2>&1
+ if [ $? -gt 0 ]; then
diff --git a/staging/bmp/0.9.7.1-visualization.patch b/staging/bmp/0.9.7.1-visualization.patch
new file mode 100644
index 000000000..ac03323f6
--- /dev/null
+++ b/staging/bmp/0.9.7.1-visualization.patch
@@ -0,0 +1,12 @@
+--- beep/vis.c 2004-12-04 10:04:29.000000000 +0100
++++ beep/vis.c 2005-02-17 12:02:25.391044008 +0100
+@@ -223,7 +223,8 @@ vis_draw(Widget * w)
+ /* FIXME: The check "shouldn't" be neccessary? */
+ /* if (GTK_IS_WINDOW(vis->vs_window)) { */
+ GDK_THREADS_ENTER();
+- gdk_draw_indexed_image(vis->vs_window, vis->vs_widget.gc,
++ if (GDK_IS_DRAWABLE(vis->vs_window))
++ gdk_draw_indexed_image(vis->vs_window, vis->vs_widget.gc,
+ vis->vs_widget.x, vis->vs_widget.y,
+ vis->vs_widget.width, vis->vs_widget.height,
+ GDK_RGB_DITHER_NORMAL, (guchar *) rgb_data,
diff --git a/staging/bmp/PKGBUILD b/staging/bmp/PKGBUILD
new file mode 100644
index 000000000..028372325
--- /dev/null
+++ b/staging/bmp/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 147143 2012-01-23 05:18:22Z eric $
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: Ben <contrasutra@myrealbox.com>
+
+pkgname=bmp
+pkgver=0.9.7.1
+pkgrel=9
+pkgdesc="gtk2 port of xmms"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/beepmp/"
+license=('GPL')
+depends=('id3lib' 'libglade' 'libsm' 'libvorbis' 'alsa-lib' 'unzip' 'desktop-file-utils')
+makedepends=('libxt')
+options=('!libtool')
+install=bmp.install
+source=(http://downloads.sourceforge.net/sourceforge/beepmp/${pkgname}-${pkgver}.tar.gz \
+ ${pkgver}-visualization.patch bmp-${pkgver}-crossfade-0.3.9.patch)
+md5sums=('c25d5a8d49cc5851d13d525a20023c4c'
+ 'fa1bdf5a8d03e8539a6bed5caa471176'
+ '42ad4109ddb66024d4c6d1f3e572ab86')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p0 -i ../${pkgver}-visualization.patch
+ patch -p1 -i ../${pkgname}-${pkgver}-crossfade-0.3.9.patch
+ LIBS+="-lm" ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+# vim: ts=2 sw=2 et ft=sh
diff --git a/staging/bmp/bmp-0.9.7.1-crossfade-0.3.9.patch b/staging/bmp/bmp-0.9.7.1-crossfade-0.3.9.patch
new file mode 100644
index 000000000..4c1e46da9
--- /dev/null
+++ b/staging/bmp/bmp-0.9.7.1-crossfade-0.3.9.patch
@@ -0,0 +1,108 @@
+Patch taken from xmms-crossfade 3.10 tarball. Required for crossfade to
+work. http://www.eisenlohr.org/xmms-crossfade/
+
+diff -ur bmp-0.9.7.1/beep/mainwin.c bmp-0.9.7.1.patched/beep/mainwin.c
+--- bmp-0.9.7.1/beep/mainwin.c 2005-05-09 10:45:39.000000000 +0200
++++ bmp-0.9.7.1.patched/beep/mainwin.c 2005-11-25 00:03:59.000000000 +0100
+@@ -655,9 +655,11 @@
+ mainwin_set_shade(!cfg.player_shaded);
+ }
+
++gboolean is_quitting = FALSE;
+ void
+ mainwin_quit_cb(void)
+ {
++ is_quitting = TRUE;
+ gtk_widget_hide(equalizerwin);
+ gtk_widget_hide(playlistwin);
+ gtk_widget_hide(mainwin);
+@@ -1318,7 +1320,7 @@
+ change_song(guint pos)
+ {
+ if (bmp_playback_get_playing())
+- bmp_playback_stop();
++ bmp_playback_stop_for_restart();
+
+ playlist_set_position(pos);
+ bmp_playback_initiate();
+diff -ur bmp-0.9.7.1/beep/playback.c bmp-0.9.7.1.patched/beep/playback.c
+--- bmp-0.9.7.1/beep/playback.c 2005-01-26 06:56:15.000000000 +0100
++++ bmp-0.9.7.1.patched/beep/playback.c 2005-11-25 00:03:59.000000000 +0100
+@@ -89,7 +89,7 @@
+ return;
+
+ if (bmp_playback_get_playing())
+- bmp_playback_stop();
++ bmp_playback_stop_for_restart();
+
+ vis_clear_data(mainwin_vis);
+ vis_clear_data(playlistwin_vis);
+@@ -135,6 +135,15 @@
+ get_current_input_plugin()->pause(ip_data.paused);
+ }
+
++gboolean input_stopped_for_restart = FALSE;
++void
++bmp_playback_stop_for_restart(void)
++{
++ input_stopped_for_restart = TRUE;
++ bmp_playback_stop();
++ input_stopped_for_restart = FALSE;
++}
++
+ void
+ bmp_playback_stop(void)
+ {
+diff -ur bmp-0.9.7.1/beep/playback.h bmp-0.9.7.1.patched/beep/playback.h
+--- bmp-0.9.7.1/beep/playback.h 2004-12-04 10:04:26.000000000 +0100
++++ bmp-0.9.7.1.patched/beep/playback.h 2005-11-25 00:03:59.000000000 +0100
+@@ -26,6 +26,7 @@
+ void bmp_playback_initiate(void);
+ void bmp_playback_pause(void);
+ void bmp_playback_stop(void);
++void bmp_playback_stop_for_restart(void);
+ gboolean bmp_playback_play_file(const gchar * filename);
+ gboolean bmp_playback_get_playing(void);
+ gboolean bmp_playback_get_paused(void);
+diff -ur bmp-0.9.7.1/beep/playlist.c bmp-0.9.7.1.patched/beep/playlist.c
+--- bmp-0.9.7.1/beep/playlist.c 2005-08-11 09:25:51.000000000 +0200
++++ bmp-0.9.7.1.patched/beep/playlist.c 2005-11-25 00:03:59.000000000 +0100
+@@ -817,7 +817,7 @@
+ if (bmp_playback_get_playing()) {
+ /* We need to stop before changing playlist_position */
+ PLAYLIST_UNLOCK();
+- bmp_playback_stop();
++ bmp_playback_stop_for_restart();
+ PLAYLIST_LOCK();
+ restart_playing = TRUE;
+ }
+@@ -868,7 +868,7 @@
+ if (bmp_playback_get_playing()) {
+ /* We need to stop before changing playlist_position */
+ PLAYLIST_UNLOCK();
+- bmp_playback_stop();
++ bmp_playback_stop_for_restart();
+ PLAYLIST_LOCK();
+ restart_playing = TRUE;
+ }
+@@ -1018,7 +1018,7 @@
+ if (bmp_playback_get_playing()) {
+ /* We need to stop before changing playlist_position */
+ PLAYLIST_UNLOCK();
+- bmp_playback_stop();
++ bmp_playback_stop_for_restart();
+ PLAYLIST_LOCK();
+ restart_playing = TRUE;
+ }
+@@ -1047,7 +1047,10 @@
+ {
+ GList *plist_pos_list;
+
+- bmp_playback_stop();
++ if (cfg.repeat)
++ bmp_playback_stop_for_restart();
++ else
++ bmp_playback_stop();
+
+ PLAYLIST_LOCK();
+ plist_pos_list = find_playlist_position_list();
diff --git a/staging/bmp/bmp.install b/staging/bmp/bmp.install
new file mode 100644
index 000000000..2eaa60550
--- /dev/null
+++ b/staging/bmp/bmp.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/staging/gtk-engines/PKGBUILD b/staging/gtk-engines/PKGBUILD
new file mode 100644
index 000000000..0883d0ab4
--- /dev/null
+++ b/staging/gtk-engines/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 147188 2012-01-24 03:20:02Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gtk-engines
+pkgver=2.20.2
+pkgrel=2
+pkgdesc="Theme engines for GTK+ 2"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('gtk2>=2.22.0')
+makedepends=('pkg-config' 'intltool')
+options=('!libtool')
+url="http://live.gnome.org/GnomeArt"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.20/${pkgname}-${pkgver}.tar.bz2)
+conflicts=('lighthouse-gtk2' 'clearlooks-gtk2')
+replaces=('lighthouse-gtk2')
+sha256sums=('15b680abca6c773ecb85253521fa100dd3b8549befeecc7595b10209d62d66b5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-animation
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/gtkhtml/PKGBUILD b/staging/gtkhtml/PKGBUILD
new file mode 100644
index 000000000..45bc4353c
--- /dev/null
+++ b/staging/gtkhtml/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 147192 2012-01-24 04:25:29Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gtkhtml
+pkgver=3.32.2
+pkgrel=3
+pkgdesc="A lightweight HTML renderer/editor widget for GTK2"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('gconf' 'gtk2' 'gnome-icon-theme' 'enchant' 'iso-codes' 'libsoup')
+makedepends=('intltool')
+url="http://www.gnome.org"
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/3.32/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('8746053cf709e1de37c7ac775ab1364ddda4b75167660ed7f98a237b3797e39f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/gtkhtml \
+ --localstatedir=/var --disable-static \
+ --disable-deprecated-warning-flags
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm -f "${pkgdir}/usr/bin/gtkhtml-editor-test"
+}
diff --git a/staging/gtkmm/PKGBUILD b/staging/gtkmm/PKGBUILD
new file mode 100644
index 000000000..40eae3010
--- /dev/null
+++ b/staging/gtkmm/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 147190 2012-01-24 04:22:44Z eric $
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=gtkmm
+pkgname=('gtkmm' 'gtkmm-docs')
+pkgver=2.24.2
+pkgrel=2
+arch=('i686' 'x86_64')
+makedepends=('gtk2' 'pangomm' 'atkmm' 'glibmm-docs')
+license=('LGPL')
+options=('!libtool' '!emptydirs')
+url="http://gtkmm.sourceforge.net/"
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgbase}/2.24/${pkgbase}-${pkgver}.tar.xz)
+sha256sums=('c90c7a29c20dd6d795925bd66ad1ff40be07cea0e4c03f4d6105a8c07448953d')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package_gtkmm() {
+ pkgdesc="C++ bindings for gtk2"
+ depends=('gtk2' 'pangomm' 'atkmm')
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ sed -i -e 's/^doc_subdirs/#doc_subdirs/' Makefile
+
+ make DESTDIR="${pkgdir}" install
+}
+
+package_gtkmm-docs() {
+ pkgdesc="Developer documentation for gtkmm v2"
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make -C docs DESTDIR="${pkgdir}" install
+}
diff --git a/staging/gtksourceview2/PKGBUILD b/staging/gtksourceview2/PKGBUILD
new file mode 100644
index 000000000..6f0777cb6
--- /dev/null
+++ b/staging/gtksourceview2/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 147186 2012-01-24 03:16:31Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gtksourceview2
+pkgver=2.10.5
+pkgrel=2
+pkgdesc="A text widget adding syntax highlighting and more to GNOME"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gtk2>=2.22.0' 'libxml2>=2.7.7')
+makedepends=('intltool' 'pkg-config')
+options=('!libtool')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/gtksourceview/2.10/gtksourceview-${pkgver}.tar.bz2)
+sha256sums=('c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e')
+
+build() {
+ cd "${srcdir}/gtksourceview-${pkgver}"
+ sed -i 's#python#python2#' gtksourceview/language-specs/convert.py
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/gtksourceview-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/imlib2/PKGBUILD b/staging/imlib2/PKGBUILD
new file mode 100644
index 000000000..33e0b8bca
--- /dev/null
+++ b/staging/imlib2/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 147170 2012-01-23 21:18:18Z eric $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Arjan Timmerman <arjan.archlinux.org>
+# Contributor: Tom Newsom <Jeepster.gmx.co.uk>
+
+pkgname=imlib2
+pkgver=1.4.5
+pkgrel=2
+pkgdesc="Library that does image file loading and saving as well as rendering, manipulation, arbitrary polygon support"
+url="http://sourceforge.net/projects/enlightenment/"
+arch=('i686' 'x86_64')
+license=('BSD')
+depends=('libtiff' 'giflib' 'bzip2' 'freetype2' 'libxext' 'libpng' 'libid3tag' 'libjpeg-turbo')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/enlightenment/$pkgname-$pkgver.tar.bz2")
+sha1sums=('af86a2c38f4bc3806db57e64e74dc9814ad474a0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # disable optimizations, they cause problems (e.g. FS#12268)
+ [ $CARCH = "i686" ] && EXTRAOPTS="--disable-mmx"
+ [ $CARCH = "x86_64" ] && EXTRAOPTS="--disable-amd64"
+
+ # Configure and Build
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/imlib2 \
+ --x-libraries=/usr/lib $EXTRAOPTS
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # Install License
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
diff --git a/staging/libgnomecanvas/PKGBUILD b/staging/libgnomecanvas/PKGBUILD
new file mode 100644
index 000000000..42ba98b4d
--- /dev/null
+++ b/staging/libgnomecanvas/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 147184 2012-01-24 03:06:37Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libgnomecanvas
+pkgver=2.30.3
+pkgrel=2
+pkgdesc="The GNOME Canvas library"
+arch=(i686 x86_64)
+license=('LGPL')
+depends=('libglade>=2.6.4' 'libart-lgpl>=2.3.21')
+makedepends=('pkg-config' 'intltool')
+options=('!libtool')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.30/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('859b78e08489fce4d5c15c676fec1cd79782f115f516e8ad8bed6abcb8dedd40')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-static \
+ --enable-glade
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/opengtl/PKGBUILD b/staging/opengtl/PKGBUILD
new file mode 100644
index 000000000..30d4c64d7
--- /dev/null
+++ b/staging/opengtl/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 147180 2012-01-24 01:25:15Z foutrelis $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Andries Radu <admiral0@live.it>
+
+pkgname=opengtl
+pkgver=0.9.16
+pkgrel=1
+pkgdesc="A set of library for using and integrating transformation algorithms (such as filter or color conversion) in graphics applications"
+url="http://www.opengtl.org"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gcc-libs' 'llvm')
+makedepends=('cmake' 'libpng')
+optdepends=('libpng: for using the png extension')
+source=(http://download.opengtl.org/OpenGTL-${pkgver}.tar.bz2)
+sha1sums=('3cfe4a08e5778c13f7e74dfc822adb68f97ad048')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../OpenGTL-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/pekwm/PKGBUILD b/staging/pekwm/PKGBUILD
new file mode 100644
index 000000000..68cba0015
--- /dev/null
+++ b/staging/pekwm/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 147166 2012-01-23 20:22:29Z eric $
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: Eddie Lozon <almostlucky@attbi.com>
+
+pkgname=pekwm
+pkgver=0.1.13
+pkgrel=2
+pkgdesc="A small, fast, functional, and flexible window manager"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://pekwm.org/"
+depends=('gcc-libs' 'libjpeg>=7' 'libpng' 'libxft' 'libxinerama' 'libxpm'
+'libxrandr')
+backup=(etc/pekwm/config
+ etc/pekwm/vars
+ etc/pekwm/autoproperties
+ etc/pekwm/start
+ etc/pekwm/keys
+ etc/pekwm/mouse
+ etc/pekwm/menu)
+source=(http://www.pekwm.org/projects/pekwm/files/${pkgname}-${pkgver}.tar.bz2
+pekwm.desktop libpng-1.4.patch)
+md5sums=('51a3f9030817df0304cc1da5110e493a' '5a78fc6653fbb0b7282ecf7f1f81e2c5'
+ '075bf1b9d32bf94780329499e4fa40e3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+# patch -p1 < ../libpng-1.4.patch || return 1
+ # Default settings:
+ # --enable-shape --enable-xinerama --enable-menus \
+ # --enable-harbour --disable-debug --disable-pedantic \
+ # --enable-xft --enable-image-xpm --enable-image-jpeg \
+ # --enable-image-png --enable-xrandr
+ ./configure --prefix=/usr --sysconfdir=/etc
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 "${srcdir}/${pkgname}.desktop" \
+ "${pkgdir}/usr/share/xsessions/${pkgname}.desktop"
+}
+# vim: ts=2 sw=2 et ft=sh
diff --git a/staging/pekwm/libpng-1.4.patch b/staging/pekwm/libpng-1.4.patch
new file mode 100644
index 000000000..bc4df2c4d
--- /dev/null
+++ b/staging/pekwm/libpng-1.4.patch
@@ -0,0 +1,21 @@
+diff -Naur pekwm-0.1.11-orig/src/PImageLoaderPng.cc pekwm-0.1.11/src/PImageLoaderPng.cc
+--- pekwm-0.1.11-orig/src/PImageLoaderPng.cc 2010-01-22 01:57:08.000000000 -0500
++++ pekwm-0.1.11/src/PImageLoaderPng.cc 2010-01-22 02:00:02.000000000 -0500
+@@ -108,7 +108,7 @@
+
+ // gray -> 8 bit gray
+ if (color_type == PNG_COLOR_TYPE_GRAY && (bpp < 8)) {
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ }
+
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
+@@ -179,7 +179,7 @@
+
+ status = fread(sig, 1, PImageLoaderPng::PNG_SIG_BYTES, fp);
+ if (status == PImageLoaderPng::PNG_SIG_BYTES) {
+- return (png_check_sig(sig, PImageLoaderPng::PNG_SIG_BYTES) != 0);
++ return (png_sig_cmp(sig, 0, PImageLoaderPng::PNG_SIG_BYTES) == 0);
+ }
+ return false;
+ }
diff --git a/staging/pekwm/pekwm.desktop b/staging/pekwm/pekwm.desktop
new file mode 100644
index 000000000..2f59528bd
--- /dev/null
+++ b/staging/pekwm/pekwm.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Pekwm
+Comment=The pekwm window manager
+Exec=pekwm
+# no icon yet, only the top three are currently used
+Icon=
+Type=Application
diff --git a/staging/pilot-link/PKGBUILD b/staging/pilot-link/PKGBUILD
new file mode 100644
index 000000000..28fa36618
--- /dev/null
+++ b/staging/pilot-link/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 147174 2012-01-23 21:43:03Z eric $
+# Maintainer: dale <dale@archlinux.org>
+
+# todo: add perl support, DESTDIR has no affect on perl
+# and it seems that moving the files manually doesn't work
+
+pkgname=pilot-link
+pkgver=0.12.5
+pkgrel=3
+pkgdesc="A suite of tools for connecting to PalmOS handheld devices"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('readline>=6.0' 'libpng>=1.5.0' 'libusb-compat' 'popt' 'bluez>=4.59')
+options=('!libtool')
+url="http://www.pilot-link.org/"
+source=(http://downloads.pilot-link.org/${pkgname}-${pkgver}.tar.bz2
+ pilot-link-png14.patch)
+md5sums=('568c55bf504b044f6fbd50baa407c990'
+ 'a21a2eeb01544a8a261a75e64a3120c3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/pilot-link-png14.patch"
+ ./configure --prefix=/usr --enable-conduits --enable-libusb \
+ --with-libiconv --with-libpng
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/pilot-link/pilot-link-png14.patch b/staging/pilot-link/pilot-link-png14.patch
new file mode 100644
index 000000000..9d753332e
--- /dev/null
+++ b/staging/pilot-link/pilot-link-png14.patch
@@ -0,0 +1,100 @@
+diff -ru pilot-link-0.12.4/src/pilot-read-notepad.c pilot-link-0.12.4.png14/src/pilot-read-notepad.c
+--- pilot-link-0.12.4/src/pilot-read-notepad.c 2007-02-05 00:06:02.000000000 +0100
++++ pilot-link-0.12.4.png14/src/pilot-read-notepad.c 2010-01-17 15:04:33.000000000 +0100
+@@ -39,10 +39,6 @@
+
+ #ifdef HAVE_PNG
+ #include "png.h"
+-#if (PNG_LIBPNG_VER < 10201)
+- #define png_voidp_NULL (png_voidp)NULL
+- #define png_error_ptr_NULL (png_error_ptr)NULL
+-#endif
+ #endif
+
+ const char *progname;
+@@ -166,8 +162,8 @@
+ width = n->body.width + 8;
+
+ png_ptr = png_create_write_struct
+- ( PNG_LIBPNG_VER_STRING, png_voidp_NULL,
+- png_error_ptr_NULL, png_error_ptr_NULL);
++ ( PNG_LIBPNG_VER_STRING, NULL,
++ NULL, NULL);
+
+ if(!png_ptr)
+ return;
+diff -ru pilot-link-0.12.4/src/pilot-read-palmpix.c pilot-link-0.12.4.png14/src/pilot-read-palmpix.c
+--- pilot-link-0.12.4/src/pilot-read-palmpix.c 2007-02-05 00:06:03.000000000 +0100
++++ pilot-link-0.12.4.png14/src/pilot-read-palmpix.c 2010-01-17 15:03:20.000000000 +0100
+@@ -42,10 +42,6 @@
+
+ #ifdef HAVE_PNG
+ #include "png.h"
+-#if (PNG_LIBPNG_VER < 10201)
+- #define png_voidp_NULL (png_voidp)NULL
+- #define png_error_ptr_NULL (png_error_ptr)NULL
+-#endif
+ #endif
+
+ const char *progname;
+@@ -223,8 +219,8 @@
+ png_infop info_ptr;
+
+ png_ptr = png_create_write_struct
+- ( PNG_LIBPNG_VER_STRING, png_voidp_NULL,
+- png_error_ptr_NULL, png_error_ptr_NULL);
++ ( PNG_LIBPNG_VER_STRING, NULL,
++ NULL, NULL);
+
+ if(!png_ptr)
+ return;
+diff -ru pilot-link-0.12.4/src/pilot-read-screenshot.c pilot-link-0.12.4.png14/src/pilot-read-screenshot.c
+--- pilot-link-0.12.4/src/pilot-read-screenshot.c 2006-11-02 15:54:31.000000000 +0100
++++ pilot-link-0.12.4.png14/src/pilot-read-screenshot.c 2010-01-17 15:03:52.000000000 +0100
+@@ -40,10 +40,6 @@
+
+ #ifdef HAVE_PNG
+ # include "png.h"
+-# if (PNG_LIBPNG_VER < 10201)
+-# define png_voidp_NULL (png_voidp)NULL
+-# define png_error_ptr_NULL (png_error_ptr)NULL
+-# endif
+ #endif
+
+ #define pi_mktag(c1,c2,c3,c4) (((c1)<<24)|((c2)<<16)|((c3)<<8)|(c4))
+@@ -87,8 +83,8 @@
+ gray_buf = malloc( state->w );
+
+ png_ptr = png_create_write_struct
+- (PNG_LIBPNG_VER_STRING, png_voidp_NULL,
+- png_error_ptr_NULL, png_error_ptr_NULL);
++ (PNG_LIBPNG_VER_STRING, NULL,
++ NULL, NULL);
+
+ if (!png_ptr)
+ return;
+diff -ru pilot-link-0.12.4/src/pilot-read-veo.c pilot-link-0.12.4.png14/src/pilot-read-veo.c
+--- pilot-link-0.12.4/src/pilot-read-veo.c 2007-02-05 00:06:03.000000000 +0100
++++ pilot-link-0.12.4.png14/src/pilot-read-veo.c 2010-01-17 15:04:14.000000000 +0100
+@@ -41,10 +41,6 @@
+
+ #ifdef HAVE_PNG
+ # include "png.h"
+-# if (PNG_LIBPNG_VER < 10201)
+-# define png_voidp_NULL (png_voidp)NULL
+-# define png_error_ptr_NULL (png_error_ptr)NULL
+-# endif
+ #endif
+
+ #define pi_mktag(c1,c2,c3,c4) (((c1)<<24)|((c2)<<16)|((c3)<<8)|(c4))
+@@ -856,8 +852,8 @@
+ png_infop info_ptr;
+
+ png_ptr = png_create_write_struct
+- (PNG_LIBPNG_VER_STRING, png_voidp_NULL,
+- png_error_ptr_NULL, png_error_ptr_NULL);
++ (PNG_LIBPNG_VER_STRING, NULL,
++ NULL, NULL);
+
+ if (!png_ptr)
+ return;
diff --git a/staging/pygtk/PKGBUILD b/staging/pygtk/PKGBUILD
new file mode 100644
index 000000000..a231b87ef
--- /dev/null
+++ b/staging/pygtk/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 147168 2012-01-23 21:15:41Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+
+pkgname=pygtk
+pkgver=2.24.0
+pkgrel=3
+pkgdesc="Python bindings for the GTK widget set"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('libglade' 'python2-cairo' 'pygobject')
+makedepends=('python2-numpy' 'pygobject2-devel')
+optdepends=('python2-numpy')
+options=('!libtool')
+url="http://www.pygtk.org/"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
+ python27.patch)
+sha256sums=('cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912'
+ '39a30456cba055a452bb55c74ef1ff2f5f7bfaad22855b4dd569ab009b56b682')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=623965
+ patch -Np1 -i "${srcdir}/python27.patch"
+
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m644 gtk/gtk-extrafuncs.defs "${pkgdir}/usr/share/pygtk/2.0/defs/"
+
+ sed -i -e 's#env python$#env python2#' "${pkgdir}"/usr/lib/pygtk/2.0/{,demos/}*.py
+}
diff --git a/staging/pygtk/python27.patch b/staging/pygtk/python27.patch
new file mode 100644
index 000000000..9bbe2b5ae
--- /dev/null
+++ b/staging/pygtk/python27.patch
@@ -0,0 +1,50 @@
+diff --git a/gtk/gtkmodule.c b/gtk/gtkmodule.c
+index c0e1493..aa8cf10 100644
+--- a/gtk/gtkmodule.c
++++ b/gtk/gtkmodule.c
+@@ -227,8 +227,12 @@ init_gtk(void)
+ pygtk_add_stock_items(d);
+
+ /* extension API */
+- PyDict_SetItemString(d, "_PyGtk_API",
+- o=PyCObject_FromVoidPtr(&functions, NULL));
++#if PY_VERSION_HEX >= 0x02070000
++ o = PyCapsule_New(&functions, "gtk._gtk._PyGtk_API", NULL);
++#else
++ o = PyCObject_FromVoidPtr(&functions, NULL);
++#endif
++ PyDict_SetItemString(d, "_PyGtk_API", o);
+ Py_DECREF(o);
+
+ PyGtkDeprecationWarning = PyErr_NewException("gtk.GtkDeprecationWarning",
+diff --git a/gtk/pygtk.h b/gtk/pygtk.h
+index 573c3b9..e4c680f 100644
+--- a/gtk/pygtk.h
++++ b/gtk/pygtk.h
+@@ -60,6 +60,18 @@ struct _PyGtk_FunctionStruct *_PyGtk_API;
+
+
+ /* a function to initialise the pygtk functions */
++
++/* Python 2.7 introduced the PyCapsule API and deprecated the CObject API */
++#if PY_VERSION_HEX >= 0x02070000
++#define init_pygtk() G_STMT_START { \
++ void *capsule = PyCapsule_Import("gtk._gtk._PyGtk_API", 0); \
++ if (!capsule) { \
++ return; \
++ } \
++ _PyGtk_API = (struct _PyGtk_FunctionStruct*)capsule; \
++} G_STMT_END
++#else /* PY_VERSION_HEX */
++/* Python 2.6 and earlier use the CObject API */
+ #define init_pygtk() G_STMT_START { \
+ PyObject *pygtk = PyImport_ImportModule("gtk"); \
+ if (pygtk != NULL) { \
+@@ -79,6 +91,7 @@ struct _PyGtk_FunctionStruct *_PyGtk_API;
+ return; \
+ } \
+ } G_STMT_END
++#endif /* PY_VERSION_HEX */
+
+ #endif
+
diff --git a/staging/skanlite/PKGBUILD b/staging/skanlite/PKGBUILD
new file mode 100644
index 000000000..2690b7308
--- /dev/null
+++ b/staging/skanlite/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 147182 2012-01-24 01:29:19Z foutrelis $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=skanlite
+pkgver=0.8
+pkgrel=2
+pkgdesc="Image Scanning Application for KDE"
+arch=('i686' 'x86_64')
+url='http://kde-apps.org/content/show.php?content=109803'
+license=('GPL')
+depends=('kdebase-runtime' 'libksane')
+makedepends=('pkgconfig' 'cmake' 'automoc4')
+source=("http://downloads.sourceforge.net/sanewidget/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('baa43dbc78be696e121969b0a3d88929')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/xawtv/PKGBUILD b/staging/xawtv/PKGBUILD
new file mode 100644
index 000000000..d2db8af63
--- /dev/null
+++ b/staging/xawtv/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 147176 2012-01-23 23:36:01Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+# Contributor: Jason Chu <jason@archlinux.org>
+
+pkgname=xawtv
+pkgver=3.101
+pkgrel=2
+pkgdesc="A simple Xaw-based TV program which uses the bttv driver or video4linux"
+arch=('i686' 'x86_64')
+url="http://git.linuxtv.org/xawtv3.git"
+license=('GPL')
+depends=('aalib' 'v4l-utils' 'libxv' 'libxxf86dga' 'libxrandr' 'libgl' 'libdv' 'zvbi' 'libxinerama' 'lirc-utils' 'libxft' 'libxaw' 'xorg-fonts-misc' 'libxxf86vm')
+makedepends=('mesa')
+source=(http://linuxtv.org/downloads/xawtv/xawtv-${pkgver}.tar.bz2)
+md5sums=('330ce1789595e370be34ad4cae3dc3fa')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ autoconf
+ autoheader
+ ./configure --prefix=/usr --disable-motif --disable-quicktime
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/xorg-xcursorgen/PKGBUILD b/staging/xorg-xcursorgen/PKGBUILD
new file mode 100644
index 000000000..630794be0
--- /dev/null
+++ b/staging/xorg-xcursorgen/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 147178 2012-01-24 01:21:47Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xcursorgen
+pkgver=1.0.4
+pkgrel=3
+pkgdesc="Create an X cursor file from PNG images"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxcursor' 'libpng')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xcursorgen-${pkgver}.tar.bz2)
+sha1sums=('244c180aae8cc07175b93f314d5bbbf24171658a')
+
+build() {
+ cd "${srcdir}/xcursorgen-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/xcursorgen-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/gcc/PKGBUILD b/testing/gcc/PKGBUILD
new file mode 100644
index 000000000..8b41189ca
--- /dev/null
+++ b/testing/gcc/PKGBUILD
@@ -0,0 +1,260 @@
+# $Id: PKGBUILD 147172 2012-01-23 21:35:31Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: libtool requires rebuilt with each new gcc version
+
+pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go')
+pkgver=4.6.2
+pkgrel=6
+_snapshot=4.6-20120120
+_libstdcppmanver=20111215 # Note: check source directory name when updating this
+pkgdesc="The GNU Compiler Collection"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+makedepends=('binutils>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada')
+checkdepends=('dejagnu')
+options=('!libtool' '!emptydirs')
+source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-man.${_libstdcppmanver}.tar.bz2
+ gcc_pure64.patch
+ gcc-hash-style-both.patch)
+md5sums=('f7ca5d9f7a07216577f81318b7cf56ef'
+ '450772ce32daed97d7383199f8797f33'
+ '4030ee1c08dd1e843c0225b772360e76'
+ '4df25b623799b148a0703eaeec8fdf3f')
+
+if [ -n "${_snapshot}" ]; then
+ _basedir="${srcdir}/gcc-${_snapshot}"
+else
+ _basedir="${srcdir}/gcc-${pkgver}"
+fi
+
+build() {
+ cd ${_basedir}
+
+ # Do not install libiberty
+ sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ patch -Np1 -i ${srcdir}/gcc_pure64.patch
+ fi
+ patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ cd ${srcdir}
+ mkdir gcc-build && cd gcc-build
+
+ ${_basedir}/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
+ --enable-shared --enable-threads=posix \
+ --with-system-zlib --enable-__cxa_atexit \
+ --disable-libunwind-exceptions --enable-clocale=gnu \
+ --disable-libstdcxx-pch --enable-libstdcxx-time \
+ --enable-gnu-unique-object --enable-linker-build-id \
+ --with-ppl --enable-cloog-backend=isl \
+ --enable-lto --enable-gold --enable-ld=default \
+ --enable-plugin --with-plugin-ld=ld.gold \
+ --disable-multilib --disable-libssp \
+ --enable-checking=release
+ make
+}
+
+check() {
+ cd gcc-build
+
+ # increase stack size to prevent test failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
+ ulimit -s 32768
+
+ # do not abort on error as some are "expected"
+ make -k check || true
+ ${_basedir}/contrib/test_summary
+}
+
+package_gcc-libs()
+{
+ pkgdesc="Runtime libraries shipped by GCC"
+ groups=('base')
+ depends=('glibc>=2.14')
+ install=gcc-libs.install
+
+ cd gcc-build
+ make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ for lib in libmudflap libgomp libstdc++-v3/src; do
+ make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+ make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+ make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info
+
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=${pkgdir} install-target-libgfortran
+ make -j1 DESTDIR=${pkgdir} install-target-libobjc
+
+ # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
+ rm -rf ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc()
+{
+ pkgdesc="The GNU Compiler Collection - C and C++ frontends"
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.22' 'libmpc' 'cloog' 'ppl')
+ groups=('base-devel')
+ install=gcc.install
+
+ cd gcc-build
+
+ # unfortunately it is much, much easier to install the lot and clean-up the mess...
+ make -j1 DESTDIR=${pkgdir} install
+ rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*}
+ rm $pkgdir/usr/lib/*.so*
+ rm $pkgdir/usr/lib/lib{ffi,gfortran,go{,begin},objc,quadmath}.a
+ rm $pkgdir/usr/lib/libgfortran.spec
+ rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1,libgfortranbegin.a}
+ rm -r $pkgdir/usr/lib/go
+ rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath}.info
+ rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
+ rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1
+ rm $pkgdir/usr/share/man/man3/ffi*
+
+ # many packages require these symlinks
+ install -dm755 ${pkgdir}/lib
+ ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp
+ ln -sf gcc ${pkgdir}/usr/bin/cc
+ ln -sf g++ ${pkgdir}/usr/bin/c++
+
+ # install gengtype for plugin support
+ install -m755 gcc/build/gengtype $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/
+ install -m644 gcc/gtype.state $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/
+
+ # plugin headers are all over the place at the moment...
+ for i in common objc pragma pretty-print; do
+ ln -sf ../c-$i.h $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/plugin/include/c-family/c-$i.h
+ done
+
+ # POSIX conformance launcher scripts for c89 and c99
+ cat > $pkgdir/usr/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ cat > $pkgdir/usr/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ chmod 755 $pkgdir/usr/bin/c{8,9}9
+
+ # install the libstdc++ man pages
+ install -dm755 ${pkgdir}/usr/share/man/man3
+ install -m644 ${srcdir}/man3/* ${pkgdir}/usr/share/man/man3/
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-fortran()
+{
+ pkgdesc="Fortran front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-fortran.install
+
+ cd gcc-build
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=$pkgdir install-target-libgfortran
+ make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
+
+ # remove libraries included in gcc-libs
+ rm ${pkgdir}/usr/lib/lib{gfortran,quadmath}.so*
+ rm ${pkgdir}/usr/share/info/libquadmath.info
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-fortran/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-objc()
+{
+ pkgdesc="Objective-C front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+
+ cd gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libobjc
+ install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+ install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+
+ # remove libraries included in gcc-libs
+ rm ${pkgdir}/usr/lib/libobjc.so*
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-ada()
+{
+ pkgdesc="Ada front-end for GCC (GNAT)"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-ada.install
+
+ cd gcc-build/gcc
+ make -j1 DESTDIR=$pkgdir ada.install-{common,info}
+ install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-go()
+{
+ pkgdesc="Go front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-go.install
+
+ cd gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libgo
+ make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
+ install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION
+}
diff --git a/testing/gcc/gcc-ada.install b/testing/gcc/gcc-ada.install
new file mode 100644
index 000000000..df0553a4f
--- /dev/null
+++ b/testing/gcc/gcc-ada.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc-fortran.install b/testing/gcc/gcc-fortran.install
new file mode 100644
index 000000000..b15d89a97
--- /dev/null
+++ b/testing/gcc/gcc-fortran.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+file="gfortran.info"
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
diff --git a/testing/gcc/gcc-go.install b/testing/gcc/gcc-go.install
new file mode 100644
index 000000000..7dc50dee5
--- /dev/null
+++ b/testing/gcc/gcc-go.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gccgo.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc-hash-style-both.patch b/testing/gcc/gcc-hash-style-both.patch
new file mode 100644
index 000000000..8b59f4535
--- /dev/null
+++ b/testing/gcc/gcc-hash-style-both.patch
@@ -0,0 +1,122 @@
+--- gcc/config/alpha/linux-elf.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/alpha/linux-elf.h 2011-03-11 10:01:47.770000457 +1000
+@@ -41,7 +41,7 @@
+
+ #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
+
+-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+--- gcc/config/i386/linux64.h.orig 2011-03-03 08:35:36.000000000 +1000
++++ gcc/config/i386/linux64.h 2011-03-11 10:01:47.770000457 +1000
+@@ -78,7 +78,7 @@
+ %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/i386/linux.h.orig 2011-01-15 04:45:06.000000000 +1000
++++ gcc/config/i386/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -104,7 +104,7 @@
+ { "dynamic_linker", LINUX_DYNAMIC_LINKER }
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
++#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+--- gcc/config/ia64/linux.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/ia64/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -64,7 +64,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "\
++#define LINK_SPEC "--hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/rs6000/linux64.h.orig 2011-02-11 03:30:10.000000000 +1000
++++ gcc/config/rs6000/linux64.h 2011-03-11 10:03:34.280000457 +1000
+@@ -389,11 +389,11 @@
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
+
+
+-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}"
+
+-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}"
+
+--- gcc/config/rs6000/sysv4.h.orig 2011-01-28 04:36:03.000000000 +1000
++++ gcc/config/rs6000/sysv4.h 2011-03-11 10:01:47.773333792 +1000
+@@ -830,7 +830,7 @@
+ #define LINUX_DYNAMIC_LINKER \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER "}}"
+
+--- gcc/config/s390/linux.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/s390/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -77,7 +77,7 @@
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{static:-static} \
+--- gcc/config/sparc/linux64.h.orig 2011-02-17 23:57:21.000000000 +1000
++++ gcc/config/sparc/linux64.h 2011-03-11 10:01:47.770000457 +1000
+@@ -113,7 +113,7 @@
+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
+ { "link_arch", LINK_ARCH_SPEC },
+
+-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+@@ -121,7 +121,7 @@
+ %{static:-static}} \
+ "
+
+-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+@@ -193,7 +193,7 @@
+ #else /* !SPARC_BI_ARCH */
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+--- gcc/config/sparc/linux.h.orig 2011-01-27 06:30:12.000000000 +1000
++++ gcc/config/sparc/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -74,7 +74,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!static: \
diff --git a/testing/gcc/gcc-libs.install b/testing/gcc/gcc-libs.install
new file mode 100644
index 000000000..23553b8f0
--- /dev/null
+++ b/testing/gcc/gcc-libs.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+filelist=(libgomp.info libquadmath.info)
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc.install b/testing/gcc/gcc.install
new file mode 100644
index 000000000..3407a5e1f
--- /dev/null
+++ b/testing/gcc/gcc.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc_pure64.patch b/testing/gcc/gcc_pure64.patch
new file mode 100644
index 000000000..8c0baf8e2
--- /dev/null
+++ b/testing/gcc/gcc_pure64.patch
@@ -0,0 +1,26 @@
+diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h
+--- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400
+@@ -49,8 +49,8 @@
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
+diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64
+--- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400
+@@ -6,7 +6,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib ../lib32
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib