summaryrefslogtreecommitdiff
path: root/community-staging
diff options
context:
space:
mode:
Diffstat (limited to 'community-staging')
-rw-r--r--community-staging/bwbar/PKGBUILD24
-rw-r--r--community-staging/caph/PKGBUILD36
-rw-r--r--community-staging/caph/caph.desktop7
-rw-r--r--community-staging/clanlib/PKGBUILD37
-rw-r--r--community-staging/darktable/PKGBUILD46
-rw-r--r--community-staging/darktable/darktable.install23
-rw-r--r--community-staging/dia/PKGBUILD48
-rw-r--r--community-staging/dia/dia-overflow-fix.patch28
-rw-r--r--community-staging/dia/dia.install13
-rw-r--r--community-staging/dillo/PKGBUILD28
-rw-r--r--community-staging/directfb/DirectFB-1.4.9-libpng-1.5.patch244
-rw-r--r--community-staging/directfb/PKGBUILD31
-rw-r--r--community-staging/directfb/directfb.changelog40
-rw-r--r--community-staging/djview4/PKGBUILD38
-rw-r--r--community-staging/djview4/install13
-rw-r--r--community-staging/efax-gtk/PKGBUILD33
-rw-r--r--community-staging/efax-gtk/efax-gtk.install11
-rw-r--r--community-staging/fbgrab/PKGBUILD23
-rw-r--r--community-staging/fbreader/PKGBUILD30
-rw-r--r--community-staging/fbreader/build-fix.patch20
-rw-r--r--community-staging/fbshot/PKGBUILD22
-rw-r--r--community-staging/fbv/ChangeLog2
-rw-r--r--community-staging/fbv/PKGBUILD25
-rw-r--r--community-staging/fltk2/PKGBUILD28
-rw-r--r--community-staging/fox/PKGBUILD43
-rw-r--r--community-staging/freewrl/PKGBUILD39
-rw-r--r--community-staging/freewrl/build-fix.patch1201
-rw-r--r--community-staging/fxdesktop/PKGBUILD25
-rw-r--r--community-staging/fxprocessview/PKGBUILD32
-rw-r--r--community-staging/fxprocessview/build-fix.patch41
-rw-r--r--community-staging/geda-gaf/ChangeLog53
-rw-r--r--community-staging/geda-gaf/PKGBUILD38
-rw-r--r--community-staging/geda-gaf/geda-gaf.install19
-rw-r--r--community-staging/glpng/Makefile30
-rw-r--r--community-staging/glpng/PKGBUILD35
-rw-r--r--community-staging/glpng/libpng15.patch83
-rw-r--r--community-staging/glpng/license21
-rw-r--r--community-staging/gnustep-gui/ChangeLog2
-rw-r--r--community-staging/gnustep-gui/PKGBUILD28
-rw-r--r--community-staging/gpac/PKGBUILD43
-rw-r--r--community-staging/grafx2/PKGBUILD43
-rw-r--r--community-staging/grafx2/grafx2.desktop12
-rw-r--r--community-staging/grafx2/grafx2.install16
-rw-r--r--community-staging/gsql/PKGBUILD33
-rw-r--r--community-staging/gsql/gsql.install24
-rw-r--r--community-staging/htmldoc/PKGBUILD44
-rw-r--r--community-staging/icoutils/PKGBUILD27
-rw-r--r--community-staging/jwm/PKGBUILD27
-rw-r--r--community-staging/kovpn/ChangeLog2
-rw-r--r--community-staging/kovpn/PKGBUILD39
-rw-r--r--community-staging/kovpn/kovpn.install12
-rw-r--r--community-staging/leptonica/PKGBUILD36
-rw-r--r--community-staging/libinfinity/PKGBUILD31
-rw-r--r--community-staging/libmatchbox/PKGBUILD26
-rw-r--r--community-staging/libmatchbox/libpng15.patch23
-rw-r--r--community-staging/mtpaint/PKGBUILD36
-rw-r--r--community-staging/mtpaint/libpng15.patch21
-rw-r--r--community-staging/mtpaint/mtpaint.install13
-rw-r--r--community-staging/mypaint/PKGBUILD32
-rw-r--r--community-staging/mypaint/mypaint.install13
-rw-r--r--community-staging/openscenegraph/PKGBUILD38
-rw-r--r--community-staging/openscenegraph/osg-xine-1.2.patch14
-rw-r--r--community-staging/podofo/PKGBUILD34
-rw-r--r--community-staging/scantailor/PKGBUILD35
-rw-r--r--community-staging/scantailor/build-fix.patch16
-rw-r--r--community-staging/xloadimage/PKGBUILD42
-rw-r--r--community-staging/xloadimage/enable-image-types.patch74
-rw-r--r--community-staging/xloadimage/license.txt19
-rw-r--r--community-staging/xloadimage/png15-tiff4.patch50
-rw-r--r--community-staging/xmoto/PKGBUILD43
-rw-r--r--community-staging/xmoto/xmoto-0.5.9-libpng15.patch10
-rw-r--r--community-staging/xmoto/xmoto.desktop13
-rw-r--r--community-staging/xmoto/xmoto.install15
-rw-r--r--community-staging/xnc/PKGBUILD29
-rw-r--r--community-staging/xnc/libpng15.patch63
-rw-r--r--community-staging/xnc/xnc-gcc44.patch72
-rw-r--r--community-staging/xplanet/PKGBUILD22
77 files changed, 3682 insertions, 0 deletions
diff --git a/community-staging/bwbar/PKGBUILD b/community-staging/bwbar/PKGBUILD
new file mode 100644
index 000000000..9d2a2eba3
--- /dev/null
+++ b/community-staging/bwbar/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 62406 2012-01-19 19:54:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Mark Rosenstand <mark@borkware.net>
+
+pkgname=bwbar
+pkgver=1.2.3
+pkgrel=3
+arch=(i686 x86_64)
+pkgdesc="Generates text and graphical readout of the current bandwidth usage."
+url="http://www.kernel.org/pub/software/web/bwbar/"
+license=("GPL")
+depends=('libpng')
+#source=(http://www.kernel.org/pub/software/web/$pkgname/$pkgname-$pkgver.tar.gz)
+source=(http://arch.p5n.pp.ru/~sergej/dl/2011/$pkgname-$pkgver.tar.gz)
+md5sums=('766265ddf0615b552ff19d12f78be719')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i '1,1i#include <zlib.h>' bwbar.c
+ sed -i 's|png_ptr->jmpbuf|png_jmpbuf(png_ptr)|' bwbar.c
+ ./configure
+ make
+ install -D -m755 bwbar $pkgdir/usr/bin/bwbar
+}
diff --git a/community-staging/caph/PKGBUILD b/community-staging/caph/PKGBUILD
new file mode 100644
index 000000000..3ba543785
--- /dev/null
+++ b/community-staging/caph/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 62387 2012-01-19 18:48:33Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: jose <jose1711 [at] gmail (dot) com>
+
+pkgname=caph
+arch=('i686' 'x86_64')
+pkgver=1.1
+pkgrel=2
+pkgdesc="A sandbox game based on physics which uses doodles as a primary gameplay element"
+license=('GPL')
+url="http://sourceforge.net/projects/caphgame/"
+depends=('sdl' 'libgl' 'libpng')
+makedepends=('mesa')
+source=("http://sourceforge.net/projects/caphgame/files/caph/caphgame-${pkgver}/caph-${pkgver}.tar.bz2"
+ "caph.desktop")
+md5sums=('dbc2cfbb5cd98a77c5b731515d3a77b9'
+ '79c6448995026f77fd912dd109b50287')
+
+build() {
+ cd $srcdir/caph-${pkgver}/src
+ mkdir -p $pkgdir/usr/{bin,share/{caph/maps,doc/caph}}
+ ./confg
+ ./build
+}
+
+package() {
+ cd $srcdir/caph-${pkgver}/src
+ install -D -m755 ./caph $pkgdir/usr/bin/caph
+ install -D -m644 ../doc/caph/* $pkgdir/usr/share/doc/caph/ || true
+ install -D -m644 ../share/caph/* $pkgdir/usr/share/caph/ || true
+ install -D -m644 ../share/caph/maps/* $pkgdir/usr/share/caph/maps || true
+ install -D -m644 $srcdir/caph.desktop $pkgdir/usr/share/applications/caph.desktop
+ install -D -m644 ../share/caph/brush.png $pkgdir/usr/share/pixmaps/caph.png
+}
+
+# vim: sw=2:ts=2 et:
diff --git a/community-staging/caph/caph.desktop b/community-staging/caph/caph.desktop
new file mode 100644
index 000000000..6cc6c711c
--- /dev/null
+++ b/community-staging/caph/caph.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=Caph
+Comment=Sandbox game based on physics
+Exec=caph
+Icon=caph.png
+Categories=Game;LogicGame;
diff --git a/community-staging/clanlib/PKGBUILD b/community-staging/clanlib/PKGBUILD
new file mode 100644
index 000000000..60e6cada0
--- /dev/null
+++ b/community-staging/clanlib/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 62388 2012-01-19 18:49:44Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+
+pkgname=clanlib
+pkgver=2.3.4
+pkgrel=2
+pkgdesc="A multi-platform game development library."
+arch=('i686' 'x86_64')
+url="http://clanlib.org/"
+license=('zlib')
+depends=('alsa-lib' 'libjpeg' 'libmikmod' 'libpng' 'libvorbis' 'libxi' 'libxmu' 'mesa' 'sdl_gfx' 'freetype2' 'pcre' 'sqlite3')
+makedepends=('doxygen' 'graphviz')
+options=('!libtool')
+source=(http://clanlib.org/download/releases-2.0/ClanLib-${pkgver}.tgz)
+md5sums=('cc89f632aa194399e909bbbd13beca1b')
+
+build() {
+ cd ${srcdir}/ClanLib-${pkgver}
+
+ ./configure --prefix=/usr --enable-docs
+
+ make
+ # Somehow this breaks. :(
+ #make html
+}
+
+package() {
+ cd ${srcdir}/ClanLib-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+ #make DESTDIR=${pkgdir} install-html
+
+ install -d ${pkgdir}/usr/share/licenses/${pkgname}
+ install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/
+}
+
+# vim: sw=2:ts=2 et:
diff --git a/community-staging/darktable/PKGBUILD b/community-staging/darktable/PKGBUILD
new file mode 100644
index 000000000..48c078e89
--- /dev/null
+++ b/community-staging/darktable/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 62299 2012-01-19 06:47:22Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Christian Himpel <chressie at gmail dot com>
+# Contributor: Johannes Hanika <hanatos at gmail dot com>
+
+pkgname=darktable
+pkgver=0.9.3
+_pkgver=0.9
+pkgrel=5
+pkgdesc="Utility to organize and develop raw images"
+arch=('i686' 'x86_64')
+url=http://darktable.sf.net/
+license=('GPL3')
+depends=('exiv2>=0.18' 'intltool>=0.40' 'lcms2' 'lensfun>=0.2.3' 'libglade' 'dbus-glib'
+ 'curl' 'libgnome-keyring' 'libgphoto2' 'libusb-compat' 'openexr' 'sqlite3')
+makedepends=('intltool>=0.40' 'cmake' 'librsvg')
+# 'gnome-doc-utils' 'libxslt' 'fop')
+optdepends=('librsvg')
+install=darktable.install
+options=(!libtool)
+source=(http://downloads.sourceforge.net/project/darktable/darktable/${_pkgver}/darktable-$pkgver.tar.gz)
+md5sums=('49253a3a2990a4bf8e0b0a19295f19bd')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+# mv doc/usermanual/CMakeLists.tx doc/usermanual/CMakeLists.txt
+ mkdir -p build
+ cd build
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DDONT_INSTALL_GCONF_SCHEMAS=True \
+ -DBINARY_PACKAGE_BUILD=1 \
+ -DUSE_GCONF_BACKEND=Off \
+ -DBUILD_USERMANUAL=False \
+ ..
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver/build
+ make DESTDIR=$pkgdir install
+ mv "${pkgdir}/usr/share/doc/darktable" "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}"
+# mkdir -p "${pkgdir}/usr/share/gconf/schemas/"
+# mv "${pkgdir}/etc/gconf/schemas/darktable.schemas" "${pkgdir}/usr/share/gconf/schemas/"
+}
diff --git a/community-staging/darktable/darktable.install b/community-staging/darktable/darktable.install
new file mode 100644
index 000000000..9fd6af293
--- /dev/null
+++ b/community-staging/darktable/darktable.install
@@ -0,0 +1,23 @@
+pkgname=darktable
+
+post_install() {
+# usr/sbin/gconfpkg --install ${pkgname}
+ [ -x `which update-desktop-database` ] && update-desktop-database -q
+}
+
+pre_upgrade() {
+ pre_remove
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+# usr/sbin/gconfpkg --uninstall ${pkgname}
+ true
+}
+
+post_remove() {
+ [ -x `which update-desktop-database` ] && update-desktop-database -q
+}
diff --git a/community-staging/dia/PKGBUILD b/community-staging/dia/PKGBUILD
new file mode 100644
index 000000000..0a2d5e7b5
--- /dev/null
+++ b/community-staging/dia/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 62396 2012-01-19 19:26:59Z spupykin $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Gregor Ibic <gregor.ibic@intelicom.si>
+
+pkgname=dia
+pkgver=0.97.2
+pkgrel=2
+pkgdesc="A GTK+ based diagram creation program"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://live.gnome.org/Dia"
+install=dia.install
+depends=('libxslt' 'desktop-file-utils' 'libart-lgpl' 'gtk2')
+makedepends=('intltool' 'python2' 'docbook-xsl')
+optdepends=('python2')
+options=('!libtool' 'docs')
+source=("ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.97/${pkgname}-${pkgver}.tar.xz"
+ "dia-overflow-fix.patch")
+md5sums=('1e1180a513fb567709b09bc19f12105e'
+ '8fd9a2ad35b5a6fd8c758d7c73dbfe66')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ export PYTHON=/usr/bin/python2
+ sed -i 's#python2\.1#python2 python2.1#' configure
+# patch -p1 <$srcdir/dia-overflow-fix.patch
+
+ ./configure --prefix=/usr \
+ --with-cairo \
+ --with-python \
+ --disable-gnome \
+ --with-hardbooks
+ sed -i 's#SUBDIRS = lib objects plug-ins shapes app bindings samples po sheets data doc tests installer#SUBDIRS = lib objects plug-ins shapes app bindings samples po sheets data tests installer#' Makefile
+ make
+ cd doc
+ make html
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ cd doc
+ make DESTDIR="${pkgdir}" install-html
+ ln -sf dia/html "${pkgdir}"/usr/share/dia/help
+}
diff --git a/community-staging/dia/dia-overflow-fix.patch b/community-staging/dia/dia-overflow-fix.patch
new file mode 100644
index 000000000..a6e64f3c6
--- /dev/null
+++ b/community-staging/dia/dia-overflow-fix.patch
@@ -0,0 +1,28 @@
+diff -wbBur dia-0.97.1/plug-ins/xfig/xfig-export.c dia-0.97.1.my/plug-ins/xfig/xfig-export.c
+--- dia-0.97.1/plug-ins/xfig/xfig-export.c 2009-11-07 17:28:34.000000000 +0300
++++ dia-0.97.1.my/plug-ins/xfig/xfig-export.c 2010-11-15 17:44:05.640896280 +0300
+@@ -417,6 +417,9 @@
+ if (text[i] > 127) {
+ newlen += 3;
+ }
++ if (text[i] == '\\') {
++ newlen += 1;
++ }
+ }
+ returntext = g_malloc(sizeof(char)*(newlen+1));
+ j = 0;
+@@ -1085,10 +1088,10 @@
+ figtext = figText(renderer, (unsigned char *) text);
+ /* xfig texts are specials */
+ fprintf(renderer->file, "4 %d %d %d 0 %d %s 0.0 6 0.0 0.0 %d %d %s\\001\n",
+- figAlignment(renderer, alignment),
+- figColor(renderer, color),
+- figDepth(renderer),
+- figFont(renderer),
++ (int)figAlignment(renderer, alignment),
++ (int)figColor(renderer, color),
++ (int)figDepth(renderer),
++ (int)figFont(renderer),
+ xfig_dtostr(d_buf, figFontSize(renderer)),
+ (int)figCoord(renderer, pos->x),
+ (int)figCoord(renderer, pos->y),
diff --git a/community-staging/dia/dia.install b/community-staging/dia/dia.install
new file mode 100644
index 000000000..a49438e1f
--- /dev/null
+++ b/community-staging/dia/dia.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime > /dev/null
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-staging/dillo/PKGBUILD b/community-staging/dillo/PKGBUILD
new file mode 100644
index 000000000..0bd758f9a
--- /dev/null
+++ b/community-staging/dillo/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 62398 2012-01-19 19:37:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: dorphell <dorphell@archlinux.org>
+
+pkgname=dillo
+pkgver=3.0.2
+pkgrel=2
+pkgdesc="A small, fast graphical web browser built on FLTK"
+arch=(i686 x86_64)
+url="http://www.dillo.org"
+license=('GPL')
+depends=('fltk' 'libjpeg' 'perl' 'openssl' 'libpng' 'gcc-libs' 'libxcursor'
+ 'libxi' 'libxinerama')
+backup=(etc/dillo/{dillorc,dpidrc})
+source=(http://www.dillo.org/download/$pkgname-$pkgver.tar.bz2)
+md5sums=('81b82112cefcc7d54fe2972a21f42930')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-cookies --enable-dlgui \
+ --enable-ssl
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community-staging/directfb/DirectFB-1.4.9-libpng-1.5.patch b/community-staging/directfb/DirectFB-1.4.9-libpng-1.5.patch
new file mode 100644
index 000000000..e428afbaf
--- /dev/null
+++ b/community-staging/directfb/DirectFB-1.4.9-libpng-1.5.patch
@@ -0,0 +1,244 @@
+From 83180b25e90721e717bf37c5332c22713508786e Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 20 Feb 2011 19:18:19 -0500
+Subject: [PATCH] png: add support for libpng 1.5.x
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ .../idirectfbimageprovider_png.c | 56 ++++++++++++-------
+ 1 files changed, 35 insertions(+), 21 deletions(-)
+
+diff --git a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
+index 6d65ea3..7d82c5c 100644
+--- a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
++++ b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
+@@ -207,7 +207,7 @@ Construct( IDirectFBImageProvider *thiz,
+ if (!data->png_ptr)
+ goto error;
+
+- if (setjmp( data->png_ptr->jmpbuf )) {
++ if (setjmp( png_jmpbuf( data->png_ptr ))) {
+ D_ERROR( "ImageProvider/PNG: Error reading header!\n" );
+ goto error;
+ }
+@@ -292,7 +292,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ rect = dst_data->area.wanted;
+ }
+
+- if (setjmp( data->png_ptr->jmpbuf )) {
++ if (setjmp( png_jmpbuf( data->png_ptr ))) {
+ D_ERROR( "ImageProvider/PNG: Error during decoding!\n" );
+
+ if (data->stage < STAGE_IMAGE)
+@@ -327,6 +327,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ }
+ else {
+ CoreSurfaceBufferLock lock;
++ png_byte bit_depth = png_get_bit_depth( data->png_ptr, data->info_ptr );
+
+ ret = dfb_surface_lock_buffer( dst_surface, CSBR_BACK, CSAID_CPU, CSAF_WRITE, &lock );
+ if (ret)
+@@ -334,7 +335,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+
+ switch (data->color_type) {
+ case PNG_COLOR_TYPE_PALETTE:
+- if (dst_surface->config.format == DSPF_LUT8 && data->info_ptr->bit_depth == 8) {
++ if (dst_surface->config.format == DSPF_LUT8 && bit_depth == 8) {
+ /*
+ * Special indexed PNG to LUT8 loading.
+ */
+@@ -377,7 +378,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ }
+ else {
+ if (data->color_type == PNG_COLOR_TYPE_GRAY) {
+- int num = 1 << data->info_ptr->bit_depth;
++ int num = 1 << bit_depth;
+
+ for (x=0; x<num; x++) {
+ int value = x * 255 / (num - 1);
+@@ -386,7 +387,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ }
+ }
+
+- switch (data->info_ptr->bit_depth) {
++ switch (bit_depth) {
+ case 8:
+ for (y=0; y<data->height; y++) {
+ u8 *S = data->image + data->pitch * y;
+@@ -441,7 +442,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+
+ default:
+ D_ERROR( "ImageProvider/PNG: Unsupported indexed bit depth %d!\n",
+- data->info_ptr->bit_depth );
++ bit_depth );
+ }
+
+ dfb_scale_linear_32( image_argb, data->width, data->height,
+@@ -594,16 +595,26 @@ png_info_callback( png_structp png_read_ptr,
+ NULL, NULL, NULL );
+
+ if (png_get_valid( data->png_ptr, data->info_ptr, PNG_INFO_tRNS )) {
++ png_bytep trans;
++ png_color_16p trans_color;
++ int num_trans;
++
++ png_get_tRNS( data->png_ptr, data->info_ptr, &trans, &num_trans, &trans_color );
++
+ data->color_keyed = true;
+
+ /* generate color key based on palette... */
+ if (data->color_type == PNG_COLOR_TYPE_PALETTE) {
+ u32 key;
+- png_colorp palette = data->info_ptr->palette;
+- png_bytep trans = data->info_ptr->trans_alpha;
+- int num_colors = MIN( MAXCOLORMAPSIZE,
+- data->info_ptr->num_palette );
+- u8 cmap[3][num_colors];
++ png_colorp palette;
++ int num_colors;
++ u8 *cmap[3];
++
++ png_get_PLTE( data->png_ptr, data->info_ptr, &palette, &num_colors );
++ num_colors = MIN( MAXCOLORMAPSIZE, num_colors );
++ cmap[0] = alloca (num_colors);
++ cmap[1] = alloca (num_colors);
++ cmap[2] = alloca (num_colors);
+
+ for (i=0; i<num_colors; i++) {
+ cmap[0][i] = palette[i].red;
+@@ -613,7 +624,7 @@ png_info_callback( png_structp png_read_ptr,
+
+ key = FindColorKey( num_colors, &cmap[0][0] );
+
+- for (i=0; i<data->info_ptr->num_trans; i++) {
++ for (i=0; i<num_trans; i++) {
+ if (!trans[i]) {
+ palette[i].red = (key & 0xff0000) >> 16;
+ palette[i].green = (key & 0x00ff00) >> 8;
+@@ -625,20 +636,23 @@ png_info_callback( png_structp png_read_ptr,
+ }
+ else {
+ /* ...or based on trans rgb value */
+- png_color_16p trans = &data->info_ptr->trans_color;
+-
+- data->color_key = (((trans->red & 0xff00) << 8) |
+- ((trans->green & 0xff00)) |
+- ((trans->blue & 0xff00) >> 8));
++ data->color_key = (((trans_color->red & 0xff00) << 8) |
++ ((trans_color->green & 0xff00)) |
++ ((trans_color->blue & 0xff00) >> 8));
+ }
+ }
+
+ switch (data->color_type) {
+ case PNG_COLOR_TYPE_PALETTE: {
+- png_colorp palette = data->info_ptr->palette;
+- png_bytep trans = data->info_ptr->trans_alpha;
+- int num_trans = data->info_ptr->num_trans;
+- int num_colors = MIN( MAXCOLORMAPSIZE, data->info_ptr->num_palette );
++ png_colorp palette;
++ png_bytep trans;
++ png_color_16p trans_color;
++ int num_trans;
++ int num_colors;
++
++ png_get_PLTE( data->png_ptr, data->info_ptr, &palette, &num_colors );
++ num_colors = MIN( MAXCOLORMAPSIZE, num_colors );
++ png_get_tRNS( data->png_ptr, data->info_ptr, &trans, &num_trans, &trans_color );
+
+ for (i=0; i<num_colors; i++) {
+ data->colors[i].a = (i < num_trans) ? trans[i] : 0xff;
+--
+1.7.4.1
+
+From 7a2a36fada3ecdd7f48fcfd782a552598477a8f5 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 20 Feb 2011 19:38:50 -0500
+Subject: [PATCH] tools: add support for libpng 1.5.x
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ tools/directfb-csource.c | 20 +++++++++++++-------
+ tools/mkdfiff.c | 2 +-
+ tools/mkdgifft.cpp | 2 +-
+ 3 files changed, 15 insertions(+), 9 deletions(-)
+
+diff --git a/tools/directfb-csource.c b/tools/directfb-csource.c
+index 8f2cbf0..487ea3c 100644
+--- a/tools/directfb-csource.c
++++ b/tools/directfb-csource.c
+@@ -338,7 +338,7 @@ static DFBResult load_image (const char *filename,
+ if (!png_ptr)
+ goto cleanup;
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+@@ -405,17 +405,22 @@ static DFBResult load_image (const char *filename,
+ }
+
+ switch (src_format) {
+- case DSPF_LUT8:
+- if (info_ptr->num_palette) {
++ case DSPF_LUT8: {
++ png_colorp png_palette;
++ int num_palette;
++
++ png_get_PLTE( png_ptr, info_ptr, &png_palette, &num_palette );
++
++ if (num_palette) {
+ png_byte *alpha;
+ int i, num;
+
+- *palette_size = MIN (info_ptr->num_palette, 256);
++ *palette_size = MIN (num_palette, 256);
+ for (i = 0; i < *palette_size; i++) {
+ palette[i].a = 0xFF;
+- palette[i].r = info_ptr->palette[i].red;
+- palette[i].g = info_ptr->palette[i].green;
+- palette[i].b = info_ptr->palette[i].blue;
++ palette[i].r = png_palette[i].red;
++ palette[i].g = png_palette[i].green;
++ palette[i].b = png_palette[i].blue;
+ }
+ if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS)) {
+ png_get_tRNS (png_ptr, info_ptr, &alpha, &num, NULL);
+@@ -424,6 +429,7 @@ static DFBResult load_image (const char *filename,
+ }
+ }
+ break;
++ }
+ case DSPF_RGB32:
+ png_set_filler (png_ptr, 0xFF,
+ #ifdef WORDS_BIGENDIAN
+diff --git a/tools/mkdfiff.c b/tools/mkdfiff.c
+index 68a3b4f..edb58a7 100644
+--- a/tools/mkdfiff.c
++++ b/tools/mkdfiff.c
+@@ -97,7 +97,7 @@ load_image (const char *filename,
+ if (!png_ptr)
+ goto cleanup;
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+diff --git a/tools/mkdgifft.cpp b/tools/mkdgifft.cpp
+index 96e4220..d4b6bf4 100644
+--- a/tools/mkdgifft.cpp
++++ b/tools/mkdgifft.cpp
+@@ -595,7 +595,7 @@ load_image (const char *filename,
+ if (!png_ptr)
+ goto cleanup;
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+--
+1.7.4.1
+
diff --git a/community-staging/directfb/PKGBUILD b/community-staging/directfb/PKGBUILD
new file mode 100644
index 000000000..8232fd4df
--- /dev/null
+++ b/community-staging/directfb/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 62433 2012-01-20 01:45:50Z ebelanger $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=directfb
+pkgver=1.4.14
+pkgrel=2
+pkgdesc="A thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system on top of the Linux Framebuffer Device"
+arch=('i686' 'x86_64')
+url="http://www.directfb.org"
+license=('LGPL')
+depends=('gcc-libs' 'libjpeg' 'sdl' 'sysfsutils' 'libpng' 'freetype2')
+options=('!libtool')
+changelog=$pkgname.changelog
+source=(http://www.directfb.org/downloads/Core/DirectFB-${pkgver%.*}/DirectFB-${pkgver}.tar.gz DirectFB-1.4.9-libpng-1.5.patch)
+md5sums=('de0745d25a6ac9e337d4d5572df85471'
+ '84f3181e96692efc5ff68e5dac19541f')
+
+build() {
+ cd "${srcdir}/DirectFB-${pkgver}"
+ patch -p1 -i ../DirectFB-1.4.9-libpng-1.5.patch
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-static --enable-zlib \
+ --enable-x11 --enable-sdl --disable-vnc --disable-osx \
+ --enable-video4linux2 --enable-voodoo
+ make
+}
+
+package() {
+ cd "${srcdir}/DirectFB-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community-staging/directfb/directfb.changelog b/community-staging/directfb/directfb.changelog
new file mode 100644
index 000000000..721fd1deb
--- /dev/null
+++ b/community-staging/directfb/directfb.changelog
@@ -0,0 +1,40 @@
+2010-11-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+ * directfb 1.4.11-1
+ * Upstream update
+
+2010-08-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+ * directfb 1.4.5-1
+ * Upstream update
+
+2010-01-20 Eric Belanger <eric@archlinux.org>
+
+ * directfb 1.4.3-1
+ * Upstream update
+
+2009-11-08 Eric Belanger <eric@archlinux.org>
+
+ * directfb 1.4.2-1
+ * Upstream update
+
+2009-07-13 Eric Belanger <eric@archlinux.org>
+
+ * directfb 1.4.1-1
+ * Upstream update
+
+2009-05-03 Eric Belanger <eric@archlinux.org>
+
+ * directfb 1.2.8-1
+ * Upstream update
+
+2009-03-06 Eric Belanger <eric@archlinux.org>
+
+ * directfb 1.2.7-1
+ * Upstream update
+
+2008-07-29 Eric Belanger <eric@archlinux.org>
+
+ * directfb 1.2.0-1
+ * Upstream update
+ * Added ChangeLog
diff --git a/community-staging/djview4/PKGBUILD b/community-staging/djview4/PKGBUILD
new file mode 100644
index 000000000..a2600bec6
--- /dev/null
+++ b/community-staging/djview4/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 62347 2012-01-19 14:18:32Z bisson $
+# Contributor: Paulo Matias <matias.archlinux-br.org>
+# Contributor: Leslie P. Polzer <polzer.gnu.org>
+# Contributor: erm67 <erm67.yahoo.it>
+# Contributor: Daniel J Griffiths
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=djview4
+pkgver=4.8
+pkgrel=2
+pkgdesc='Portable DjVu viewer and browser plugin'
+url='http://djvu.sourceforge.net/djview4.html'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('qt' 'djvulibre')
+source=("http://downloads.sourceforge.net/djvu/djview-${pkgver}.tar.gz")
+sha1sums=('266d207afb63a1ee63eed054190bf88888fda572')
+
+install=install
+
+build() {
+ cd "${srcdir}/djview-${pkgver}"
+ QTDIR=/usr ./configure --prefix=/usr
+ sed 's/netscape/mozilla/g' -i nsdejavu/Makefile
+ sed 's/swap/rofl_swap/g' -i src/qdjvuwidget.cpp
+ make
+}
+
+package() {
+ cd "${srcdir}/djview-${pkgver}"
+ make DESTDIR="${pkgdir}" install-djview install-nsdejavu
+
+ cd desktopfiles
+ install -Dm644 hi32-djview4.png "${pkgdir}"/usr/share/icons/hicolor/32x32/apps/djvulibre-djview4.png
+ install -Dm644 hi64-djview4.png "${pkgdir}"/usr/share/icons/hicolor/64x64/apps/djvulibre-djview4.png
+ install -Dm644 hi64-djview4.png "${pkgdir}"/usr/share/pixmaps/djvulibre-djview4.png
+ install -Dm644 djvulibre-djview4.desktop "${pkgdir}"/usr/share/applications/djvulibre-djview4.desktop
+}
diff --git a/community-staging/djview4/install b/community-staging/djview4/install
new file mode 100644
index 000000000..f2bd04ceb
--- /dev/null
+++ b/community-staging/djview4/install
@@ -0,0 +1,13 @@
+post_install() {
+ if type xdg-icon-resource &>/dev/null; then
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-staging/efax-gtk/PKGBUILD b/community-staging/efax-gtk/PKGBUILD
new file mode 100644
index 000000000..faf04dd39
--- /dev/null
+++ b/community-staging/efax-gtk/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 62427 2012-01-19 22:13:20Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=efax-gtk
+pkgver=3.2.9
+pkgrel=2
+pkgdesc="A GUI front end for the 'efax' fax program"
+arch=('i686' 'x86_64')
+url="http://efax-gtk.sourceforge.net/"
+license=('GPL')
+depends=('dbus-glib' 'ghostscript' 'c++-gtk-utils')
+makedepends=('pkg-config')
+optdepends=('heirloom-mailx: to use the mail_fax script')
+backup=('etc/efax-gtkrc')
+install=efax-gtk.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.src.tgz")
+md5sums=('57fac8815c8f49fc7415d3558eb3f842')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-spooldir=/usr/bin
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -m 755 mail_fax print_fax "${pkgdir}/usr/bin"
+}
diff --git a/community-staging/efax-gtk/efax-gtk.install b/community-staging/efax-gtk/efax-gtk.install
new file mode 100644
index 000000000..69e30acd6
--- /dev/null
+++ b/community-staging/efax-gtk/efax-gtk.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-staging/fbgrab/PKGBUILD b/community-staging/fbgrab/PKGBUILD
new file mode 100644
index 000000000..2c19d04c5
--- /dev/null
+++ b/community-staging/fbgrab/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 62335 2012-01-19 09:22:30Z spupykin $
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
+
+pkgname=fbgrab
+pkgver=1.0
+pkgrel=6
+pkgdesc="A framebuffer screenshot grabber"
+arch=(i686 x86_64)
+url="http://hem.bredband.net/gmogmo/fbgrab/"
+license=("GPL")
+depends=('libpng')
+makedepends=('libpng')
+source=(http://hem.bredband.net/gmogmo/fbgrab/fbgrab-1.0.tar.gz)
+md5sums=('7af4d8774684182ed690d5da82d6d234')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ sed -i '1,1i#include <zlib.h>' fbgrab.c
+ gcc -g -Wall fbgrab.c -lpng -lz -o fbgrab
+ strip fbgrab
+ install -D -m755 $startdir/src/$pkgname-$pkgver/fbgrab $startdir/pkg/usr/bin/fbgrab
+ install -D -m644 $startdir/src/$pkgname-$pkgver/fbgrab.1.man $startdir/pkg/usr/share/man/man1/fbgrab.1
+}
diff --git a/community-staging/fbreader/PKGBUILD b/community-staging/fbreader/PKGBUILD
new file mode 100644
index 000000000..3f0e64cc3
--- /dev/null
+++ b/community-staging/fbreader/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 62331 2012-01-19 09:20:32Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=fbreader
+pkgver=0.12.10
+pkgrel=3
+pkgdesc="An e-book reader for Linux"
+arch=('i686' 'x86_64')
+url="http://www.fbreader.org/"
+license=('GPL')
+depends=('fribidi' 'bzip2' 'curl' 'gtk2' 'liblinebreak' 'sqlite3')
+source=(http://www.fbreader.org/files/sources/fbreader-sources-$pkgver.tgz
+ build-fix.patch)
+md5sums=('da9ec4721efdb0ec0aaa182bff16ad82'
+ '66ac17d8640625b6d2a806de4aa4e76c')
+
+build() {
+ export CPPFLAGS="-I/usr/include/cairo"
+ export TARGET_ARCH=desktop
+ export UI_TYPE=gtk
+ export TARGET_STATUS=release
+ export srcdir
+
+ cd $srcdir/fbreader-$pkgver
+ patch -p0 makefiles/config.mk <$srcdir/build-fix.patch
+ sed -i 's#Library::Library &Library::Instance()#Library \&Library::Instance()#' fbreader/src/library/Library.cpp
+ make INSTALLDIR=/usr
+ make INSTALLDIR=/usr DESTDIR=$pkgdir install
+}
diff --git a/community-staging/fbreader/build-fix.patch b/community-staging/fbreader/build-fix.patch
new file mode 100644
index 000000000..7316464b8
--- /dev/null
+++ b/community-staging/fbreader/build-fix.patch
@@ -0,0 +1,20 @@
+--- config.mk.orig 2010-02-23 18:22:10.000000000 +0000
++++ config.mk 2010-02-28 13:55:11.000000000 +0000
+@@ -21,7 +21,7 @@
+ ARCHIVER_LIBS ?= -lz -lbz2
+ NETWORK_LIBS ?= -lcurl
+
+-CFLAGS += -DINSTALLDIR=\"$(INSTALLDIR_MACRO)\" -DBASEDIR=\"$(SHAREDIR_MACRO)\" -DLIBDIR=\"$(LIBDIR_MACRO)\" -DIMAGEDIR=\"$(IMAGEDIR_MACRO)\" -DAPPIMAGEDIR=\"$(APPIMAGEDIR_MACRO)\" -DVERSION=\"$(VERSION)\"
++CFLAGS += -I$(srcdir)/liblinebreak-20080321 -DINSTALLDIR=\"$(INSTALLDIR_MACRO)\" -DBASEDIR=\"$(SHAREDIR_MACRO)\" -DLIBDIR=\"$(LIBDIR_MACRO)\" -DIMAGEDIR=\"$(IMAGEDIR_MACRO)\" -DAPPIMAGEDIR=\"$(APPIMAGEDIR_MACRO)\" -DVERSION=\"$(VERSION)\"
+ ifeq "$(ZLSHARED)" "yes"
+ CFLAGS += -fPIC -DZLSHARED
+ endif
+@@ -38,6 +38,8 @@
+ LDFLAGS += -pg
+ endif
+
++LDFLAGS += -L$(srcdir)/liblinebreak-20080321/DebugDir
++
+ ZINCLUDE = -I $(ROOTDIR)/zlibrary/core/include -I $(ROOTDIR)/zlibrary/text/include
+
+ ZLSHARED ?= yes
diff --git a/community-staging/fbshot/PKGBUILD b/community-staging/fbshot/PKGBUILD
new file mode 100644
index 000000000..b807e4e09
--- /dev/null
+++ b/community-staging/fbshot/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 62337 2012-01-19 09:23:07Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: sp42b <sp42b|a_t|gmx.net>
+
+pkgname=fbshot
+pkgver=0.3
+pkgrel=4
+pkgdesc="Takes screenshots (PNG) from your framebuffer device (e.g. console)."
+arch=('i686' 'x86_64')
+url="http://www.sfires.net/fbshot/"
+license=('GPL')
+depends=('libpng')
+source=(http://www.sfires.net/stuff/fbshot/$pkgname-$pkgver.tar.gz)
+md5sums=('2cc6cc25cdc4cd447a8b0a9662907635')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i '1,1i#include <zlib.h>' fbshot.c
+ make
+ install -Dm755 fbshot $pkgdir/usr/bin/fbshot
+ install -Dm644 fbshot.1.man $pkgdir/usr/share/man/man1/fbshot.1
+}
diff --git a/community-staging/fbv/ChangeLog b/community-staging/fbv/ChangeLog
new file mode 100644
index 000000000..7fd5bbf99
--- /dev/null
+++ b/community-staging/fbv/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-26 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
diff --git a/community-staging/fbv/PKGBUILD b/community-staging/fbv/PKGBUILD
new file mode 100644
index 000000000..53fb5d756
--- /dev/null
+++ b/community-staging/fbv/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 62339 2012-01-19 09:24:56Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Aectann <aectann@infoline.su>
+
+pkgname=fbv
+pkgver=1.0b
+pkgrel=5
+pkgdesc="FrameBuffer image viewer"
+arch=('i686' 'x86_64')
+url="http://s-tech.elsat.net.pl/fbv/"
+license=('GPL')
+depends=('libpng' 'libungif' 'libjpeg')
+source=(http://s-tech.elsat.net.pl/fbv/$pkgname-$pkgver.tar.gz)
+md5sums=('3e466375b930ec22be44f1041e77b55d')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ sed -i 's|LIBS.*|LIBS=-lpng -ljpeg -lungif -lgif|' Make.conf
+ sed -i 's|setjmp(png_ptr->jmpbuf)|setjmp(png_jmpbuf(png_ptr))|' png.c
+ make
+ mkdir -p $pkgdir/usr/bin
+ mkdir -p $pkgdir/usr/share/man/man1
+ make DESTDIR=$pkgdir install
+}
diff --git a/community-staging/fltk2/PKGBUILD b/community-staging/fltk2/PKGBUILD
new file mode 100644
index 000000000..4df613913
--- /dev/null
+++ b/community-staging/fltk2/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 62329 2012-01-19 09:03:23Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=fltk2
+pkgver=2.0
+_pkgver=2.0.x-alpha-r9166
+pkgrel=8
+pkgdesc="Graphical user interface toolkit for X"
+arch=(i686 x86_64)
+license=('LGPL')
+url="http://www.fltk.org/"
+depends=('libjpeg' 'libpng' 'gcc-libs' 'libxft' 'libxext' 'libxi' 'libxinerama')
+makedepends=('mesa')
+source=(http://ftp.funet.fi/pub/mirrors/ftp.easysw.com/pub/fltk/snapshots/fltk-${_pkgver}.tar.bz2)
+md5sums=('d5e7cd859d2aeb9bb6e13ee298e8b2aa')
+
+build() {
+ cd $srcdir/fltk-${_pkgver}
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr --enable-threads --enable-xft --enable-shared
+ patch -p0 src/filename_list.cxx <<EOF
+66c66
+< int n = scandir(d, list, 0, (int(*)(const void*,const void*))sort);
+---
+> int n = scandir(d, list, 0, (int(*)(const dirent64**,const dirent64**))sort);
+EOF
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community-staging/fox/PKGBUILD b/community-staging/fox/PKGBUILD
new file mode 100644
index 000000000..8c087c309
--- /dev/null
+++ b/community-staging/fox/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 62305 2012-01-19 07:32:20Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=fox
+pkgver=1.6.44
+pkgrel=2
+pkgdesc="Free Objects for X: GUI Toolkit for C++"
+arch=('i686' 'x86_64')
+url="http://www.fox-toolkit.org/"
+license=('LGPL' 'custom')
+depends=('bzip2' 'libxcursor' 'libxft' 'libxrandr' 'mesa' 'libxi' 'libpng' 'libtiff')
+optdepends=('perl')
+options=('!libtool')
+source=(http://ftp.fox-toolkit.org/pub/fox-$pkgver.tar.gz)
+md5sums=('6ccc8cbcfa6e4c8b6e4deeeb39c36434')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ export CPPFLAGS="$CPPFLAGS -I/usr/include/freetype2"
+ ./configure --prefix=/usr \
+ --enable-release \
+ --with-xft=yes \
+ --with-opengl=yes \
+ --with-xim \
+ --with-xshm \
+ --with-shape \
+ --with-xcursor \
+ --with-xrender \
+ --with-xrandr \
+ --with-xfixes \
+ --with-xinput
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ cd ${srcdir}/${pkgname}-${pkgver}/tests
+ make ControlPanel
+ install -m755 ${srcdir}/${pkgname}-${pkgver}/tests/.libs/ControlPanel ${pkgdir}/usr/bin/
+ install -Dm644 ../LICENSE_ADDENDUM ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/community-staging/freewrl/PKGBUILD b/community-staging/freewrl/PKGBUILD
new file mode 100644
index 000000000..4399a72f2
--- /dev/null
+++ b/community-staging/freewrl/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 62333 2012-01-19 09:21:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=freewrl
+pkgver=1.22.10
+pkgrel=8
+pkgdesc="VRML viewer"
+arch=('i686' 'x86_64')
+url="http://freewrl.sourceforge.net/"
+license=('GPL')
+depends=('java-runtime' 'libxaw' 'glew' 'freeglut' 'curl' 'freetype2' 'imlib2' 'sox'
+ 'unzip' 'imagemagick' 'libxml2' 'ttf-bitstream-vera' 'lesstif' 'js')
+makedepends=('java-environment')
+options=(!libtool)
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ build-fix.patch)
+md5sums=('07fd8f193d14799ffb95a59a4887fc88'
+ '52e4b6aacebcaf18cbec8975e0eb7fd8')
+
+build() {
+ . /etc/profile.d/jre.sh
+ . /etc/profile.d/jdk.sh
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 <$srcdir/build-fix.patch
+ export JAVASCRIPT_ENGINE_CFLAGS="-I/usr/include/js -DXP_UNIX -DJS_THREADSAFE $(pkg-config --cflags nspr)"
+ export JAVASCRIPT_ENGINE_LIBS="$(pkg-config --libs nspr) -lmozjs185"
+ ./configure \
+ --prefix=/usr --with-fontsdir=/usr/share/fonts/TTF --enable-libeai \
+ --enable-libcurl --with-expat=/usr --with-target=x11 --disable-plugin \
+ --disable-mozilla-js --disable-xulrunner-js --disable-firefox-js \
+ --disable-seamonkey-js
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community-staging/freewrl/build-fix.patch b/community-staging/freewrl/build-fix.patch
new file mode 100644
index 000000000..c0de71d07
--- /dev/null
+++ b/community-staging/freewrl/build-fix.patch
@@ -0,0 +1,1201 @@
+diff -wbBur freewrl-1.22.10/src/lib/non_web3d_formats/ColladaParser.c freewrl-1.22.10.my/src/lib/non_web3d_formats/ColladaParser.c
+--- freewrl-1.22.10/src/lib/non_web3d_formats/ColladaParser.c 2010-08-19 06:20:36.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/non_web3d_formats/ColladaParser.c 2011-07-04 01:19:07.000000000 +0400
+@@ -54,7 +54,7 @@
+ #include "ColladaParser.h"
+
+ #if HAVE_EXPAT_H
+-# include <expat.h>
++# include </usr/include/expat.h>
+ #endif
+
+ #define PROTOINSTANCE_MAX_LEVELS 10
+diff -wbBur freewrl-1.22.10/src/lib/world_script/fieldGet.c freewrl-1.22.10.my/src/lib/world_script/fieldGet.c
+--- freewrl-1.22.10/src/lib/world_script/fieldGet.c 2010-10-13 23:45:26.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/world_script/fieldGet.c 2011-07-04 20:21:21.000000000 +0400
+@@ -412,7 +412,7 @@
+ /* create a new SFFloat object */
+
+ fp = (float *)fp_in;
+- newjsval = DOUBLE_TO_JSVAL(JS_NewDouble(cx,(double)*fp));
++ newjsval = JS_NewJSVal(cx,(double)*fp);
+ fp_in = offsetPointer_deref(float *,fp_in,elementlen);
+
+ /* put this object into the MF class */
+@@ -449,7 +449,7 @@
+ /* create a new SFTime object */
+
+ fp = (float *)fp_in;
+- newjsval = DOUBLE_TO_JSVAL(JS_NewDouble(cx,(double)*fp));
++ newjsval = JS_NewJSVal(cx,(double)*fp);
+ fp_in = offsetPointer_deref(float *,fp_in,elementlen);
+
+ /* put this object into the MF class */
+diff -wbBur freewrl-1.22.10/src/lib/world_script/fieldSet.c freewrl-1.22.10.my/src/lib/world_script/fieldSet.c
+--- freewrl-1.22.10/src/lib/world_script/fieldSet.c 2010-09-22 00:00:25.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/world_script/fieldSet.c 2011-07-04 20:03:53.000000000 +0400
+@@ -748,7 +748,7 @@
+
+ #ifdef SETFIELDVERBOSE
+ strval = JS_ValueToString(scriptContext, JSglobal_return_val);
+- strp = JS_GetStringBytes(strval);
++ strp = JS_EncodeString(scriptContext, strval);
+ printf ("start of setField_javascriptEventOut, to %ld:%d = %p, fieldtype %d string %s\n",(long)tn, tptr, memptr, fieldType, strp);
+ #endif
+
+@@ -813,7 +813,7 @@
+ case FIELDTYPE_SFImage: {
+ /* the string should be saved as an SFImage */
+ strval = JS_ValueToString(scriptContext, JSglobal_return_val);
+- strp = JS_GetStringBytes(strval);
++ strp = JS_EncodeString(scriptContext, strval);
+
+ Parser_scanStringValueToMem(tn, tptr, FIELDTYPE_SFImage, strp, FALSE);
+ break;
+@@ -824,7 +824,7 @@
+ uintptr_t *newptr;
+
+ strval = JS_ValueToString(scriptContext, JSglobal_return_val);
+- strp = JS_GetStringBytes(strval);
++ strp = JS_EncodeString(scriptContext, strval);
+
+ /* copy the string over, delete the old one, if need be */
+ /* printf ("fieldSet SFString, tn %d tptr %d offset from struct %d\n",
+@@ -844,7 +844,7 @@
+ struct X3D_Node *mynode;
+
+ strval = JS_ValueToString(scriptContext, JSglobal_return_val);
+- strp = JS_GetStringBytes(strval);
++ strp = JS_EncodeString(scriptContext, strval);
+
+ /* we will have at least one node here, in an ascii string */
+ while ((*strp > '\0') && (*strp <= ' ')) strp ++;
+@@ -1227,7 +1227,7 @@
+ JSString *_tmpStr;
+
+ _tmpStr = JS_ValueToString(cx, mainElement);
+- strp = JS_GetStringBytes(_tmpStr);
++ strp = JS_EncodeString(scriptContext, _tmpStr);
+ printf ("sub element %d is \"%s\" \n",i,strp);
+
+ if (JSVAL_IS_OBJECT(mainElement)) printf ("sub element %d is an OBJECT\n",i);
+@@ -1329,7 +1329,7 @@
+ JSString *strval;
+
+ strval = JS_ValueToString(cx, mainElement);
+- strp = JS_GetStringBytes(strval);
++ strp = JS_EncodeString(cx, strval);
+
+ #ifdef SETFIELDVERBOSE
+ printf ("getJSMultiNumType, got string %s\n",strp);
+@@ -1441,7 +1441,7 @@
+ return;
+ }
+ strval = JS_ValueToString(cx, _v);
+- valStr = JS_GetStringBytes(strval);
++ valStr = JS_EncodeString(cx, strval);
+
+ /* printf ("new string %d is %s\n",i,valStr); */
+
+diff -wbBur freewrl-1.22.10/src/lib/world_script/jsUtils.c freewrl-1.22.10.my/src/lib/world_script/jsUtils.c
+--- freewrl-1.22.10/src/lib/world_script/jsUtils.c 2010-06-03 23:38:37.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/world_script/jsUtils.c 2011-07-04 20:21:44.000000000 +0400
+@@ -134,7 +134,7 @@
+ nf = OBJECT_TO_JSVAL(me);
+
+ #ifdef JSVRMLCLASSESVERBOSE
+- printf ("parentField is %u \"%s\"\n", pf, JS_GetStringBytes(JSVAL_TO_STRING(pf)));
++ printf ("parentField is %u \"%s\"\n", pf, JS_EncodeString(cx, JSVAL_TO_STRING(pf)));
+ #endif
+
+ if (!setSFNodeField (cx, par, pf, &nf)) {
+@@ -197,7 +197,7 @@
+ char *_id_c;
+
+ _idStr = JS_ValueToString(cx, *newval);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+
+ oldS = (struct Uni_String *) *((uintptr_t *)Data);
+
+@@ -305,12 +305,12 @@
+
+ case FIELDTYPE_SFFloat: {
+ memcpy ((void *) &fl, Data, datalen);
+- *newval = DOUBLE_TO_JSVAL(JS_NewDouble(cx,(double)fl));
++ *newval = JS_NewJSVal(cx,(double)fl);
+ break;
+ }
+ case FIELDTYPE_SFTime: {
+ memcpy ((void *) &dl, Data, datalen);
+- *newval = DOUBLE_TO_JSVAL(JS_NewDouble(cx,dl));
++ *newval = JS_NewJSVal(cx,dl);
+ break;
+ }
+ case FIELDTYPE_SFBool:
+@@ -824,7 +824,7 @@
+ struct X3D_Node *node;
+
+ _idStr = JS_ValueToString(context, id);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(context, _idStr);
+
+ #ifdef JSVRMLCLASSESVERBOSE
+ printf ("\ngetSFNodeField called on name %s object %u\n",_id_c, obj);
+@@ -912,7 +912,7 @@
+
+ /* get the id field... */
+
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id));
+
+ #ifdef JSVRMLCLASSESVERBOSE
+ printf ("\nsetSFNodeField called on name %s object %u, jsval %u\n",_id_c, obj, *vp);
+@@ -1131,10 +1131,10 @@
+ char *_id_c = "(no value in string)";
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id));
+ /* printf ("hmmm...js_SetPropertyCheck called on string \"%s\" object %u, jsval %u\n",_id_c, obj, *vp); */
+ } else if (JSVAL_IS_DOUBLE(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyCheck called on double %s object %u, jsval %u\n",_id_c, obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1192,7 +1192,7 @@
+ /* get the id field... */
+
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id));
+ printf ("\n...js_GetPropertyDebug called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1211,7 +1211,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyDebug called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1229,7 +1229,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyDebug1 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1247,7 +1247,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(cx, JSVAL_TO_STRING(id));
+ printf ("...js_SetPropertyDebug2 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1265,7 +1265,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyDebug3 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1283,7 +1283,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyDebug4 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1301,7 +1301,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyDebug5 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1319,7 +1319,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyDebug6 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1337,7 +1337,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyDebug7 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1355,7 +1355,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyDebug8 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+@@ -1373,7 +1373,7 @@
+
+ /* get the id field... */
+ if (JSVAL_IS_STRING(id)) {
+- _id_c = JS_GetStringBytes(JSVAL_TO_STRING(id));
++ _id_c = JS_EncodeString(context, JSVAL_TO_STRING(id));
+ printf ("\n...js_SetPropertyDebug9 called on string \"%s\" object %u, jsval %lu\n",_id_c, (unsigned int) obj, *vp);
+ } else if (JSVAL_IS_INT(id)) {
+ num = JSVAL_TO_INT(id);
+diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRMLBrowser.c freewrl-1.22.10.my/src/lib/world_script/jsVRMLBrowser.c
+--- freewrl-1.22.10/src/lib/world_script/jsVRMLBrowser.c 2010-08-02 23:55:57.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/world_script/jsVRMLBrowser.c 2011-07-04 20:06:25.000000000 +0400
+@@ -336,7 +336,7 @@
+ return JS_FALSE;
+ }
+ _str = JS_ValueToString(context, argv[0]);
+- _costr = JS_GetStringBytes(_str);
++ _costr = JS_EncodeString(context, _str);
+
+ /* sanitize string, for the EAI_RW call (see EAI_RW code) */
+ tptr = _costr;
+@@ -385,10 +385,10 @@
+ return JS_FALSE;
+ }
+ _str[0] = JS_ValueToString(context, argv[0]);
+- _costr[0] = JS_GetStringBytes(_str[0]);
++ _costr[0] = JS_EncodeString(context, _str[0]);
+
+ _str[1] = JS_ValueToString(context, argv[1]);
+- _costr[1] = JS_GetStringBytes(_str[1]);
++ _costr[1] = JS_EncodeString(context, _str[1]);
+
+ /* we use the EAI code for this - so reformat this for the EAI format */
+ {
+@@ -575,7 +575,7 @@
+ /* third parameter should be a string */
+ if (JSVAL_IS_STRING(argv[2])) {
+ _str[1] = JSVAL_TO_STRING(argv[2]);
+- fieldStr = JS_GetStringBytes(_str[1]);
++ fieldStr = JS_EncodeString(context, _str[1]);
+ #ifdef JSVERBOSE
+ printf ("field string is :%s:\n",fieldStr);
+ #endif
+@@ -590,7 +590,7 @@
+
+ /* get the URL listing as a string */
+ _str[0] = JS_ValueToString(context, argv[0]);
+- _costr0 = JS_GetStringBytes(_str[0]);
++ _costr0 = JS_EncodeString(context, _str[0]);
+
+
+ #ifdef JSVERBOSE
+@@ -690,7 +690,7 @@
+ for (count=0; count < argc; count++) {
+ if (JSVAL_IS_STRING(argv[count])) {
+ _str = JSVAL_TO_STRING(argv[count]);
+- _id_c = JS_GetStringBytes(_str);
++ _id_c = JS_EncodeString(context, _str);
+ #if defined(AQUA) || defined(_MSC_VER)
+ BrowserPrintConsoleMessage(_id_c); /* statusbar hud */
+ consMsgCount = 0; /* reset the "Maximum" count */
+@@ -850,7 +850,7 @@
+
+ /* parameter should be a string */
+ if (JSVAL_IS_STRING(argv[0])) {
+- target = JS_GetStringBytes( JSVAL_TO_STRING(argv[0]));
++ target = JS_EncodeString(context, JSVAL_TO_STRING(argv[0]));
+ #ifdef JSVERBOSE
+ printf ("field string is %s\n",target);
+ #endif
+@@ -930,7 +930,7 @@
+
+ /* parameters should be a string */
+ if (JSVAL_IS_STRING(argv[0])) {
+- targetDevice = JS_GetStringBytes( JSVAL_TO_STRING(argv[0]));
++ targetDevice = JS_EncodeString(cx, JSVAL_TO_STRING(argv[0]));
+ #ifdef JSVERBOSE
+ printf ("field string is %s\n",targetDevice);
+ #endif
+@@ -939,7 +939,7 @@
+ return -1;
+ }
+ if (JSVAL_IS_STRING(argv[1])) {
+- targetController = JS_GetStringBytes( JSVAL_TO_STRING(argv[1]));
++ targetController = JS_EncodeString(cx, JSVAL_TO_STRING(argv[1]));
+ #ifdef JSVERBOSE
+ printf ("field string is %s\n",targetController);
+ #endif
+diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRMLClasses.c freewrl-1.22.10.my/src/lib/world_script/jsVRMLClasses.c
+--- freewrl-1.22.10/src/lib/world_script/jsVRMLClasses.c 2010-09-22 23:40:48.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/world_script/jsVRMLClasses.c 2011-07-04 20:08:03.000000000 +0400
+@@ -935,7 +935,7 @@
+ printf( "JS_NewDouble failed for %f in simplecopyelements.\n",dd);
+ return JS_FALSE;
+ }
+- val = DOUBLE_TO_JSVAL(dp);
++ val = DOUBLE_TO_JSVAL(*dp);
+
+ }
+ }
+@@ -1108,7 +1108,7 @@
+
+ printf ("HAVE STRING HERE!\n");
+ _str = JS_ValueToString(cx, id);
+- asciiStr = JS_GetStringBytes(_str);
++ asciiStr = JS_EncodeString(context, _str);
+ printf ("we have as a parameter :%s:\n",asciiStr);
+ #endif
+
+@@ -1185,7 +1185,7 @@
+ if (_tmpStr==NULL) {
+ _tmp_valStr = "NULL";
+ } else {
+- _tmp_valStr = JS_GetStringBytes(_tmpStr);
++ _tmp_valStr = JS_EncodeString(cx, _tmpStr);
+ }
+ }
+
+@@ -1281,7 +1281,7 @@
+ #endif
+
+ str = JS_ValueToString(cx, id);
+- p = JS_GetStringBytes(str);
++ p = JS_EncodeString(cx, str);
+ #ifdef JSVRMLCLASSESVERBOSE
+ printf("\tid string %s\n ",p);
+ #endif
+@@ -1368,12 +1368,12 @@
+ char * _c;
+ printf ("doMFSetProperty, for object %u, vp %u\n", obj,*vp);
+ _str = JS_ValueToString(cx, id);
+- _c = JS_GetStringBytes(_str);
++ _c = JS_EncodeString(cx, _str);
+ printf ("id is %s\n",_c);
+
+ _sstr = JS_ValueToString(cx, *vp);
+ printf ("looking up value for %d %x object %p\n",*vp,*vp,obj);
+- _cc = JS_GetStringBytes(_sstr);
++ _cc = JS_EncodeString(cx, _sstr);
+ printf("\tdoMFSetProperty:%d: obj = %p, id = %s, vp = %s\n",type,
+ obj, _c, _cc);
+ if (JSVAL_IS_OBJECT(*vp)) { printf ("doMFSet, vp is an OBJECT\n"); }
+@@ -1397,7 +1397,7 @@
+
+ if (!JS_ValueToInt32(cx, *vp, &i)) {
+ _sstr = JS_ValueToString(cx, *vp);
+- _cc = JS_GetStringBytes(_sstr);
++ _cc = JS_EncodeString(cx, _sstr);
+ printf ("can not convert %s to an integer in doMFAddProperty for type %d\n",_cc,type);
+ return JS_FALSE;
+ }
+@@ -1408,7 +1408,7 @@
+ #ifdef JSVRMLCLASSESVERBOSE
+ printf ("doMFSetProperty - ensure that this is a DOUBLE ");
+ _sstr = JS_ValueToString(cx, *vp);
+- _cc = JS_GetStringBytes(_sstr);
++ _cc = JS_EncodeString(cx, _sstr);
+ printf ("value is %s \n",_cc);
+ #endif
+
+@@ -1420,7 +1420,7 @@
+ printf( "JS_NewDouble failed for %f in simplecopyelements.\n",dd);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+
+ }
+ }
+@@ -1511,7 +1511,7 @@
+ nf = OBJECT_TO_JSVAL(me);
+
+ #ifdef JSVRMLCLASSESVERBOSE
+- printf ("parentField is %u \"%s\"\n", pf, JS_GetStringBytes(JSVAL_TO_STRING(pf)));
++ printf ("parentField is %u \"%s\"\n", pf, JS_EncodeString(cx, JSVAL_TO_STRING(pf)));
+ #endif
+
+ if (!setSFNodeField (cx, par, pf, &nf)) {
+@@ -1535,7 +1535,7 @@
+ unsigned int i, j = 0;
+
+ _str = JS_ValueToString(cx, *vp);
+- _buff = JS_GetStringBytes(_str);
++ _buff = JS_EncodeString(cx, _str);
+ _buff_len = strlen(_buff) + 1;
+
+ #ifdef JSVRMLCLASSESVERBOSE
+@@ -1719,14 +1719,14 @@
+ size_t len = 0;
+
+ _idStr = JS_ValueToString(context, id);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(context, _idStr);
+
+ /* "register" this ECMA value for routing changed flag stuff */
+ setInECMATable(context, _id_c);
+
+ if (JSVAL_IS_STRING(*vp)) {
+ _vpStr = JS_ValueToString(context, *vp);
+- _vp_c = JS_GetStringBytes(_vpStr);
++ _vp_c = JS_EncodeString(context, _vpStr);
+
+ len = strlen(_vp_c);
+
+@@ -1752,7 +1752,7 @@
+ } else {
+ #ifdef JSVRMLCLASSESVERBOSE
+ _vpStr = JS_ValueToString(context, *vp);
+- _vp_c = JS_GetStringBytes(_vpStr);
++ _vp_c = JS_EncodeString(cx, _vpStr);
+ printf("setECMANative: obj = %p, id = \"%s\", vp = %s\n",
+ obj, _id_c, _vp_c);
+ #endif
+@@ -1770,9 +1770,9 @@
+ JSString *_idStr, *_vpStr;
+ char *_id_c, *_vp_c;
+ _idStr = JS_ValueToString(cx, id);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+ _vpStr = JS_ValueToString(cx, *vp);
+- _vp_c = JS_GetStringBytes(_vpStr);
++ _vp_c = JS_EncodeString(cx, _vpStr);
+ printf("getAssignProperty: obj = %p, id = \"%s\", vp = %s\n",
+ obj, _id_c, _vp_c);
+ printf ("what is vp? \n");
+@@ -1803,7 +1803,7 @@
+
+ if (JSVAL_IS_STRING(id)) {
+ _str = JSVAL_TO_STRING(id);
+- _id_c = JS_GetStringBytes(_str);
++ _id_c = JS_EncodeString(cx, _str);
+ if (!JS_ConvertValue(cx, *vp, JSTYPE_OBJECT, &newVal)) {
+ printf( "JS_ConvertValue failed in setAssignProperty.\n");
+ return JS_FALSE;
+@@ -1834,9 +1834,9 @@
+ if (JSVAL_IS_DOUBLE(id)) printf ("id is an DOUBLE\n");
+ if (JSVAL_IS_INT(id)) printf ("id is an INT\n");
+
+- printf ("id is %s\n",JS_GetStringBytes(JS_ValueToString(cx,id)));
+- printf ("initVal is %s\n",JS_GetStringBytes(JS_ValueToString(cx,initVal)));
+- printf ("newVal is %s\n",JS_GetStringBytes(JS_ValueToString(cx,newVal)));
++ printf ("id is %s\n",JS_EncodeString(cx, JS_ValueToString(cx,id)));
++ printf ("initVal is %s\n",JS_EncodeString(cx, JS_ValueToString(cx,initVal)));
++ printf ("newVal is %s\n",JS_EncodeString(cx, JS_ValueToString(cx,newVal)));
+
+ #endif
+
+@@ -1859,7 +1859,7 @@
+ } else {
+ #ifdef JSVRMLCLASSESVERBOSE
+ _str = JS_ValueToString(cx, id);
+- _id_c = JS_GetStringBytes(_str);
++ _id_c = JS_EncodeString(cx, _str);
+ printf("setAssignProperty: obj = %p, id = \"%s\"\n",
+ obj, _id_c);
+ #endif
+diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRMLClasses.h freewrl-1.22.10.my/src/lib/world_script/jsVRMLClasses.h
+--- freewrl-1.22.10/src/lib/world_script/jsVRMLClasses.h 2010-10-13 23:45:26.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/world_script/jsVRMLClasses.h 2011-07-04 20:24:53.000000000 +0400
+@@ -30,6 +30,21 @@
+ #ifndef __FREEWRL_JS_VRML_CLASSES_H__
+ #define __FREEWRL_JS_VRML_CLASSES_H__
+
++static inline jsval JS_NewJSVal(JSContext *cx, jsdouble d)
++{
++ jsval ret;
++ JS_NewNumberValue(cx, d, &ret);
++ return ret;
++}
++
++static inline jsdouble * JS_NewDouble(JSContext *cx, jsdouble d)
++{
++ static jsdouble ret;
++ jsval rv;
++ JS_NewNumberValue(cx, d, &rv);
++ ret = JSVAL_TO_DOUBLE(rv);
++ return &ret;
++}
+
+ #ifndef UNUSED
+ #define UNUSED(v) ((void) v)
+@@ -80,14 +95,14 @@
+
+
+ #define SET_JS_TICKTIME_FALSE(possibleRetVal) { jsval zimbo; \
+- zimbo = DOUBLE_TO_JSVAL(JS_NewDouble(cx, TickTime)); \
++ zimbo = JS_NewJSVal(cx, TickTime); \
+ if (!JS_DefineProperty(cx,obj, "__eventInTickTime", zimbo, JS_GET_PROPERTY_STUB, JS_SET_PROPERTY_STUB2, JSPROP_PERMANENT)) { \
+ printf( "JS_DefineProperty failed for \"__eventInTickTime\" at %s:%d.\n",__FILE__,__LINE__); \
+ return possibleRetVal; \
+ }}
+
+ #define SET_JS_TICKTIME() { jsval zimbo; \
+- zimbo = DOUBLE_TO_JSVAL(JS_NewDouble(cx, TickTime)); \
++ zimbo = JS_NewJSVal(cx, TickTime); \
+ if (!JS_DefineProperty(cx,obj, "__eventInTickTime", zimbo, JS_GET_PROPERTY_STUB, JS_SET_PROPERTY_STUB2, JSPROP_PERMANENT)) { \
+ printf( "JS_DefineProperty failed for \"__eventInTickTime\" at %s:%d.\n",__FILE__,__LINE__); \
+ return FALSE; \
+diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRML_MFClasses.c freewrl-1.22.10.my/src/lib/world_script/jsVRML_MFClasses.c
+--- freewrl-1.22.10/src/lib/world_script/jsVRML_MFClasses.c 2010-09-22 23:40:48.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/world_script/jsVRML_MFClasses.c 2011-07-04 20:08:44.000000000 +0400
+@@ -596,7 +596,7 @@
+ return;
+ }
+
+- val = DOUBLE_TO_JSVAL(dp);
++ val = DOUBLE_TO_JSVAL(*dp);
+
+ if (!JS_SetElement(cx, obj, (jsint) i, &val)) {
+ printf( "JS_DefineElement failed for arg %u in VrmlMatrixSetTransform.\n", i);
+@@ -1212,7 +1212,7 @@
+ /*
+ if (JSVAL_IS_STRING(id)==TRUE) {
+ printf(" is a common string :%s:\n",
+- JS_GetStringBytes(JS_ValueToString(cx, id)));
++ JS_EncodeString(cx, JS_ValueToString(cx, id)));
+ }
+ if (JSVAL_IS_OBJECT(id)==TRUE) {
+ printf (" parameter is an object\n");
+@@ -1231,7 +1231,7 @@
+ _index = JSVAL_TO_INT(id);
+
+ if (_index >= _length) {
+- *vp = DOUBLE_TO_JSVAL(&zerojsdouble);
++ *vp = DOUBLE_TO_JSVAL(zerojsdouble);
+ if (!JS_DefineElement(cx, obj, (jsint) _index, *vp, JS_GET_PROPERTY_STUB, JS_SET_PROPERTY_CHECK, JSPROP_ENUMERATE)) {
+ printf( "JS_DefineElement failed in VrmlMatrixGetProperty.\n");
+ return JS_FALSE;
+@@ -1331,7 +1331,7 @@
+ printf("MFStringAddProperty: vp = %p\n", obj);
+ if (JSVAL_IS_STRING(*vp)==TRUE) {
+ printf(" is a common string :%s:\n",
+- JS_GetStringBytes(JS_ValueToString(cx, *vp)));
++ JS_EncodeString(cx, JS_ValueToString(cx, *vp)));
+ }
+ if (JSVAL_IS_OBJECT(*vp)==TRUE) {
+ printf (" parameter is an object\n");
+@@ -1345,7 +1345,7 @@
+ printf("MFStringAddProperty: id = %p\n", obj);
+ if (JSVAL_IS_STRING(id)==TRUE) {
+ printf(" is a common string :%s:\n",
+- JS_GetStringBytes(JS_ValueToString(cx, id)));
++ JS_EncodeString(cx, JS_ValueToString(cx, id)));
+ }
+ if (JSVAL_IS_OBJECT(id)==TRUE) {
+ printf (" parameter is an object\n");
+@@ -1494,7 +1494,7 @@
+ if (JSVAL_IS_STRING(argv[i])==TRUE) {
+ printf (" Common String, is");
+ _str = JS_ValueToString(cx, argv[i]);
+- printf (JS_GetStringBytes(_str));
++ printf (JS_EncodeString(cx, _str));
+ printf ("..");
+
+ }
+diff -wbBur freewrl-1.22.10/src/lib/world_script/jsVRML_SFClasses.c freewrl-1.22.10.my/src/lib/world_script/jsVRML_SFClasses.c
+--- freewrl-1.22.10/src/lib/world_script/jsVRML_SFClasses.c 2010-09-25 00:22:05.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/world_script/jsVRML_SFClasses.c 2011-07-04 20:09:01.000000000 +0400
+@@ -161,7 +161,7 @@
+ printf( "JS_NewDouble failed for %f in SFColorGetHSV.\n", xp[i]);
+ return JS_FALSE;
+ }
+- _v = DOUBLE_TO_JSVAL(dp);
++ _v = DOUBLE_TO_JSVAL(*dp);
+ JS_SetElement(cx, result, (jsint)i, &_v);
+ }
+
+@@ -336,7 +336,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 1:
+ d = (ptr->v).c[1];
+@@ -346,7 +346,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 2:
+ d = (ptr->v).c[2];
+@@ -356,7 +356,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ }
+ }
+@@ -387,13 +387,13 @@
+ if (JSVAL_IS_INT(id)) {
+ switch (JSVAL_TO_INT(id)) {
+ case 0:
+- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(_val);
++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(_val);
+ break;
+ case 1:
+- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(_val);
++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(_val);
+ break;
+ case 2:
+- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(_val);
++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(_val);
+ break;
+
+ }
+@@ -422,18 +422,18 @@
+ *rval = OBJECT_TO_JSVAL(_arrayObj);
+
+ /* construct new double before conversion? */
+- _v = DOUBLE_TO_JSVAL(&hue);
++ _v = DOUBLE_TO_JSVAL(hue);
+ if (!JS_SetElement(cx, _arrayObj, 0, &_v)) {
+ printf( "JS_SetElement failed for hue in SFColorRGBAGetHSV.\n");
+ return JS_FALSE;
+ }
+- _v = DOUBLE_TO_JSVAL(&saturation);
++ _v = DOUBLE_TO_JSVAL(saturation);
+ if (!JS_SetElement(cx, _arrayObj, 1, &_v)) {
+ printf( "JS_SetElement failed for saturation in SFColorRGBAGetHSV.\n");
+ return JS_FALSE;
+ }
+
+- _v = DOUBLE_TO_JSVAL(&value);
++ _v = DOUBLE_TO_JSVAL(value);
+ if (!JS_SetElement(cx, _arrayObj, 2, &_v)) {
+ printf( "JS_SetElement failed for value in SFColorRGBAGetHSV.\n");
+ return JS_FALSE;
+@@ -601,7 +601,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 1:
+ d = (ptr->v).c[1];
+@@ -611,7 +611,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 2:
+ d = (ptr->v).c[2];
+@@ -621,7 +621,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 3:
+ d = (ptr->v).c[3];
+@@ -631,7 +631,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ }
+ }
+@@ -662,16 +662,16 @@
+ if (JSVAL_IS_INT(id)) {
+ switch (JSVAL_TO_INT(id)) {
+ case 0:
+- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(_val);
++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(_val);
+ break;
+ case 1:
+- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(_val);
++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(_val);
+ break;
+ case 2:
+- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(_val);
++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(_val);
+ break;
+ case 3:
+- (ptr->v).c[3] = (float) *JSVAL_TO_DOUBLE(_val);
++ (ptr->v).c[3] = (float) JSVAL_TO_DOUBLE(_val);
+ break;
+
+ }
+@@ -983,7 +983,7 @@
+ } else if (argc == 1) {
+ /* is this a string, or a number indicating a node? */
+ myStr = JS_ValueToString(cx, argv[0]);
+- cString = JS_GetStringBytes(myStr);
++ cString = JS_EncodeString(cx, myStr);
+ #ifdef JSVRMLCLASSESVERBOSE
+ printf ("SFNodeConstr, argc =1l string %s\n",cString);
+ #endif
+@@ -1067,13 +1067,13 @@
+ char *_id_c;
+
+ _idStr = JS_ValueToString(cx, argv[0]);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+ /* printf ("first string :%s:\n",_id_c); */
+
+ cString = STRDUP(_id_c);
+
+ _idStr = JS_ValueToString(cx, argv[1]);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+ /* printf ("second string :%s:\n",_id_c); */
+
+ if (sscanf (_id_c,"%p",&newHandle) != 1) {
+@@ -1190,7 +1190,7 @@
+ jsval rval;
+
+ _idStr = JS_ValueToString(cx, id);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+
+ #ifdef JSVRMLCLASSESVERBOSE
+ printf ("start of SFNodeGetProperty... id is %s\n",_id_c);
+@@ -1264,10 +1264,10 @@
+
+
+ _idStr = JS_ValueToString(cx, id);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+
+ _valStr = JS_ValueToString(cx, *vp);
+- _val_c = JS_GetStringBytes(_valStr);
++ _val_c = JS_EncodeString(cx, _valStr);
+
+ #ifdef JSVRMLCLASSESVERBOSE
+ printf("SFNodeSetProperty: obj = %p, id = %s, vp = %s\n",
+@@ -1904,7 +1904,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 1:
+ d = (ptr->v).c[1];
+@@ -1914,7 +1914,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 2:
+ d = (ptr->v).c[2];
+@@ -1924,7 +1924,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 3:
+ d = (ptr->v).c[3];
+@@ -1934,7 +1934,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ }
+ }
+@@ -1969,16 +1969,16 @@
+ if (JSVAL_IS_INT(id)) {
+ switch (JSVAL_TO_INT(id)) {
+ case 0:
+- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 1:
+- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 2:
+- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 3:
+- (ptr->v).c[3] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[3] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ }
+ }
+@@ -2051,7 +2051,7 @@
+ * it get created in javascript? */
+ if (param_isString) {
+ _str = JS_ValueToString(cx, *argv);
+- charString = JS_GetStringBytes(_str);
++ charString = JS_EncodeString(cx, _str);
+
+ if (sscanf(charString, "%lf %lf",
+ &(pars[0]), &(pars[1])) != 2) {
+@@ -2143,7 +2143,7 @@
+ printf( "JS_NewDouble failed for %f in SFVec2f.\n",d);
+ return JS_FALSE;
+ }
+- *rval = DOUBLE_TO_JSVAL(dp);
++ *rval = DOUBLE_TO_JSVAL(*dp);
+ }
+
+ #ifdef JSVRMLCLASSESVERBOSE
+@@ -2332,7 +2332,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 1:
+ d = (ptr->v).c[1];
+@@ -2342,7 +2342,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ }
+ }
+@@ -2373,13 +2373,13 @@
+ if (JSVAL_IS_INT(id)) {
+ switch (JSVAL_TO_INT(id)) {
+ case 0:
+- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 1:
+- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 2:
+- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ }
+ }
+@@ -2458,7 +2458,7 @@
+ * it get created in javascript? */
+ if (param_isString) {
+ _str = JS_ValueToString(cx, *argv);
+- charString = JS_GetStringBytes(_str);
++ charString = JS_EncodeString(cx, _str);
+
+ if (sscanf(charString, "%lf %lf %lf",
+ &(pars[0]), &(pars[1]), &(pars[2])) != 3) {
+@@ -2580,7 +2580,7 @@
+ printf( "JS_NewDouble failed for %f in SFVec3f.\n",d);
+ return JS_FALSE;
+ }
+- *rval = DOUBLE_TO_JSVAL(dp);
++ *rval = DOUBLE_TO_JSVAL(*dp);
+ }
+ #ifdef JSVRMLCLASSESVERBOSE
+ if (retSFVec3f){
+@@ -2792,9 +2792,9 @@
+ char *_id_c;
+
+ _idStr = JS_ValueToString(cx, id);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+ _idStr = JS_ValueToString(cx, *vp);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+
+ #endif
+
+@@ -2813,7 +2813,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 1:
+ d = (ptr->v).c[1];
+@@ -2823,7 +2823,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 2:
+ d = (ptr->v).c[2];
+@@ -2833,7 +2833,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ }
+ } else {
+@@ -2869,13 +2869,13 @@
+ if (JSVAL_IS_INT(id)) {
+ switch (JSVAL_TO_INT(id)) {
+ case 0:
+- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 1:
+- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 2:
+- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ }
+ }
+@@ -2949,7 +2949,7 @@
+ * it get created in javascript? */
+ if (param_isString) {
+ _str = JS_ValueToString(cx, *argv);
+- charString = JS_GetStringBytes(_str);
++ charString = JS_EncodeString(cx, _str);
+
+ if (sscanf(charString, "%lf %lf %lf",
+ &(pars[0]), &(pars[1]), &(pars[2])) != 3) {
+@@ -3071,7 +3071,7 @@
+ printf( "JS_NewDouble failed for %f in SFVec3d.\n",d);
+ return JS_FALSE;
+ }
+- *rval = DOUBLE_TO_JSVAL(dp);
++ *rval = DOUBLE_TO_JSVAL(*dp);
+ }
+ #ifdef JSVRMLCLASSESVERBOSE
+ if (retSFVec3d){
+@@ -3282,9 +3282,9 @@
+ char *_id_c;
+
+ _idStr = JS_ValueToString(cx, id);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+ _idStr = JS_ValueToString(cx, *vp);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+
+ #endif
+
+@@ -3303,7 +3303,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 1:
+ d = (ptr->v).c[1];
+@@ -3313,7 +3313,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 2:
+ d = (ptr->v).c[2];
+@@ -3323,7 +3323,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ }
+ } else {
+@@ -3359,13 +3359,13 @@
+ if (JSVAL_IS_INT(id)) {
+ switch (JSVAL_TO_INT(id)) {
+ case 0:
+- (ptr->v).c[0] = *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[0] = JSVAL_TO_DOUBLE(myv);
+ break;
+ case 1:
+- (ptr->v).c[1] = *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[1] = JSVAL_TO_DOUBLE(myv);
+ break;
+ case 2:
+- (ptr->v).c[2] = *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[2] = JSVAL_TO_DOUBLE(myv);
+ break;
+ }
+ }
+@@ -3513,9 +3513,9 @@
+ char *_id_c;
+
+ _idStr = JS_ValueToString(cx, id);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+ _idStr = JS_ValueToString(cx, *vp);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+
+ #endif
+
+@@ -3534,7 +3534,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 1:
+ d = (ptr->v).c[1];
+@@ -3544,7 +3544,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 2:
+ d = (ptr->v).c[2];
+@@ -3554,7 +3554,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 3:
+ d = (ptr->v).c[3];
+@@ -3564,7 +3564,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ }
+ } else {
+@@ -3600,16 +3600,16 @@
+ if (JSVAL_IS_INT(id)) {
+ switch (JSVAL_TO_INT(id)) {
+ case 0:
+- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 1:
+- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 2:
+- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 3:
+- (ptr->v).c[3] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[3] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ }
+ }
+@@ -3758,9 +3758,9 @@
+ char *_id_c;
+
+ _idStr = JS_ValueToString(cx, id);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+ _idStr = JS_ValueToString(cx, *vp);
+- _id_c = JS_GetStringBytes(_idStr);
++ _id_c = JS_EncodeString(cx, _idStr);
+
+ #endif
+
+@@ -3779,7 +3779,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 1:
+ d = (ptr->v).c[1];
+@@ -3789,7 +3789,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 2:
+ d = (ptr->v).c[2];
+@@ -3799,7 +3799,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ case 3:
+ d = (ptr->v).c[3];
+@@ -3809,7 +3809,7 @@
+ d);
+ return JS_FALSE;
+ }
+- *vp = DOUBLE_TO_JSVAL(dp);
++ *vp = DOUBLE_TO_JSVAL(*dp);
+ break;
+ }
+ } else {
+@@ -3845,16 +3845,16 @@
+ if (JSVAL_IS_INT(id)) {
+ switch (JSVAL_TO_INT(id)) {
+ case 0:
+- (ptr->v).c[0] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[0] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 1:
+- (ptr->v).c[1] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[1] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 2:
+- (ptr->v).c[2] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[2] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ case 3:
+- (ptr->v).c[3] = (float) *JSVAL_TO_DOUBLE(myv);
++ (ptr->v).c[3] = (float) JSVAL_TO_DOUBLE(myv);
+ break;
+ }
+ }
+diff -wbBur freewrl-1.22.10/src/lib/x3d_parser/X3DParser.c freewrl-1.22.10.my/src/lib/x3d_parser/X3DParser.c
+--- freewrl-1.22.10/src/lib/x3d_parser/X3DParser.c 2010-09-22 20:54:59.000000000 +0400
++++ freewrl-1.22.10.my/src/lib/x3d_parser/X3DParser.c 2011-07-04 01:19:07.000000000 +0400
+@@ -54,7 +54,7 @@
+ #include "X3DProtoScript.h"
+
+ #if HAVE_EXPAT_H
+-# include <expat.h>
++# include </usr/include/expat.h>
+ #endif
+ //#define X3DPARSERVERBOSE 1
+
diff --git a/community-staging/fxdesktop/PKGBUILD b/community-staging/fxdesktop/PKGBUILD
new file mode 100644
index 000000000..8e691467c
--- /dev/null
+++ b/community-staging/fxdesktop/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 62325 2012-01-19 08:58:33Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sander Jansen <sander@knology.net>
+
+pkgname=fxdesktop
+pkgver=0.1.12
+pkgrel=5
+pkgdesc="Lightweight Desktop Environment"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/fxdesktop/"
+license=('GPL')
+depends=('fox>=1.6.0' )
+source=(http://archlinux-stuff.googlecode.com/files/$pkgname-$pkgver.tar.bz2)
+md5sums=('9489e7369b5e052e0b6836a3b0670832')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # Override default flags
+ export CFLAGS="-Wall -O2 -pipe"
+ export CXXFLAGS="-Wall -O2 -pipe"
+ [ "$CARCH" = "x86_64" ] && (sed -i -e 's|lib64|lib|g' build/config.linux_x86_64)
+ # Compile
+ ./gb --prefix=/usr
+ ./gb --package-root=$pkgdir/usr install
+}
diff --git a/community-staging/fxprocessview/PKGBUILD b/community-staging/fxprocessview/PKGBUILD
new file mode 100644
index 000000000..e5c049e53
--- /dev/null
+++ b/community-staging/fxprocessview/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 62327 2012-01-19 08:59:08Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sander Jansen <sander@knology.net>
+
+pkgname=fxprocessview
+pkgver=0.5.0
+pkgrel=4
+pkgdesc="Process Viewer"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('fox>=1.4.0')
+url="http://code.google.com/p/fxdesktop/"
+source=(http://archlinux-stuff.googlecode.com/files/$pkgname-$pkgver.tar.gz \
+ build-fix.patch)
+md5sums=('5d3cc8d7aec770997c281a743ddfda5a'
+ '2d2c3d54dcd2404149955f12cccb21a5')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # Override default flags
+ export CFLAGS="-Wall -O2 -pipe"
+ export CXXFLAGS="-Wall -O2 -pipe"
+ # Compile
+ patch -Np1 <../build-fix.patch
+ ./gb
+ # gb does not return valid error code
+ [ -f src/fxprocessview ]
+ # make sure destination exists
+ mkdir -p $pkgdir/usr/bin
+ # Install
+ ./gb install --package-root=$pkgdir/usr
+}
diff --git a/community-staging/fxprocessview/build-fix.patch b/community-staging/fxprocessview/build-fix.patch
new file mode 100644
index 000000000..7c883454c
--- /dev/null
+++ b/community-staging/fxprocessview/build-fix.patch
@@ -0,0 +1,41 @@
+diff -wbBur fxprocessview-0.5.0/src/processlist.cpp fxprocessview-0.5.0.my/src/processlist.cpp
+--- fxprocessview-0.5.0/src/processlist.cpp 2005-07-15 06:39:17.000000000 +0400
++++ fxprocessview-0.5.0.my/src/processlist.cpp 2007-03-07 19:21:34.000000000 +0300
+@@ -696,7 +696,7 @@
+
+ long FXProcessList::onCmdUserMode(FXObject* sender,FXSelector,void* ){
+ if (userfilter.empty()){
+- userfilter=FXFile::getCurrentUserName();
++ userfilter=FXSystem::currentUserName();
+ }
+ else {
+ userfilter="";
+@@ -942,12 +942,17 @@
+
+
+
+- FXint num_processes = FXFile::listFiles(dirlist,"/proc","[0123456789]*",LIST_MATCH_ALL|LIST_NO_FILES|LIST_NO_PARENT);
++ FXint num_processes = FXDir::listFiles(dirlist,"/proc","[0123456789]*",FXDir::MatchAll | FXDir::NoFiles | FXDir::NoParent);
+ task_total=num_processes;
+ for (FXint i=0;i<num_processes;i++){
+
+ /// Check the Owner
+- owner = FXFile::owner("/proc/" + dirlist[i]);
++ FXStat stat;
++ FXStat::statFile("/proc/" + dirlist[i], stat);
++ owner = FXSystem::userName(stat.user());
++
++// owner = FXSystem::userName(FXStat::user("/proc/" + dirlist[i]));
++
+ if (!userfilter.empty() && (owner!=userfilter)) continue;
+
+ /// Read in Process Stat
+@@ -1027,7 +1032,7 @@
+ }
+
+ filename = "/proc/" + dirlist[i] + "/cmdline";
+- if (FXFile::exists(filename)) {
++ if (FXStat::exists(filename)) {
+ fp = fopen(filename.text(),"r");
+ if (fp) {
+ if (fgets(buffer,80,fp)!=NULL){
diff --git a/community-staging/geda-gaf/ChangeLog b/community-staging/geda-gaf/ChangeLog
new file mode 100644
index 000000000..c8b902cc5
--- /dev/null
+++ b/community-staging/geda-gaf/ChangeLog
@@ -0,0 +1,53 @@
+2012-01-19 Kyle Keen <keenerd@gmail.com>
+ * 1.6.2-2
+ - libpng15 rebuild
+
+2010-12-26 Stefan Husmann <stefan-husmann@t-online.de>
+ * 1.6.1-2
+ - adopted, moved to [community]
+ - added some optional dependencies
+ - added some sed-commands for python2 compatibility
+
+2010-02-14 Jared Casper <jaredcasper@gmail.com>
+ * 1.6.1-1
+ - Version bump
+
+2009-10-10 Jared Casper <jaredcasper@gmail.com>
+ * 1.6.0-2
+ - Fixed a bug causing icon problems
+
+2009-10-05 Jared Casper <jaredcasper@gmail.com>
+ * 1.6.0-1
+ - Merged with geda-libs and renamed to geda-gaf to match up with
+ the release tarball name
+
+2009-05-03 Jared Casper <jaredcasper@gmail.com>
+ * 1.4.3-2
+ - Added gettext dep (noted by sergej)
+ - Added '|| return 1's to configure and make commands
+ - A bit of other random cleanup of deps
+
+2009-01-03 Jared Casper <jaredcasper@gmail.com>
+ * 1.4.3-1
+ - Version bump
+ - Fix dependencies (s/=>/>=/)
+
+2008-12-20 Jared Casper <jaredcasper@gmail.com>
+ * 1.4.2-1
+ - Version bump
+ - Update from comments
+
+2008-09-28 Jared Casper <jaredcasper@gmail.com>
+ * 1.4.1-1
+ - Version bump
+ - Added icon cache update
+ - Added icon cache and desktop update to post_update
+
+2008-05-07 Jared Casper <jaredcasper@gmail.com>
+
+ * 1.4.0-1
+ - adopted by Jared Casper
+ - Update PKGBUILD to current standards and latest version (1.4.0)
+ - add configure options and install script to handle desktop issues
+ - added ChangeLog
+
diff --git a/community-staging/geda-gaf/PKGBUILD b/community-staging/geda-gaf/PKGBUILD
new file mode 100644
index 000000000..b3e6278b9
--- /dev/null
+++ b/community-staging/geda-gaf/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Jared Casper <jaredcasper@gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgname=geda-gaf
+pkgver=1.6.2
+pkgrel=2
+pkgdesc="gEDA/gaf suite - Contains gschem, gnetlist, gsymcheck, gattrib, utilities and documentation from the gEDA project"
+arch=('i686' 'x86_64')
+url="http://www.gpleda.org"
+license=('GPL')
+depends=('gtk2' 'guile' 'libstroke' 'shared-mime-info' 'hicolor-icon-theme')
+makedepends=('pkgconfig' 'perlxml' 'flex' 'gawk')
+optdepends=('python2: for two of the commands (garchive, tragesym)'
+ 'gawk: for sw2asc')
+replaces=('geda-suite' 'geda-libs')
+install=geda-gaf.install
+source=(http://geda.seul.org/release/v1.6/$pkgver/$pkgname-$pkgver.tar.gz)
+md5sums=('35ae86aebc174ec1fc03863fde4c843c')
+
+build ()
+{
+ cd "$srcdir/$pkgname-$pkgver/"
+ ./configure --prefix=/usr --disable-update-xdg-database
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver/"
+ make DESTDIR="$pkgdir/" install
+ sed -i 's+/usr/bin/env python+/usr/bin/env python2+' \
+ "$pkgdir/usr/bin/garchive"
+ sed -i 's+/usr/bin/python+/usr/bin/python2+' \
+ "$pkgdir/usr/bin/tragesym"
+ sed -i 's+/usr/bin/python+/usr/bin/python2+' \
+ "$pkgdir/usr/share/doc/$pkgname/examples/lightning_detector/bom"
+}
+
diff --git a/community-staging/geda-gaf/geda-gaf.install b/community-staging/geda-gaf/geda-gaf.install
new file mode 100644
index 000000000..ad5e587cc
--- /dev/null
+++ b/community-staging/geda-gaf/geda-gaf.install
@@ -0,0 +1,19 @@
+post_install() {
+if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ echo Updating icon cache...
+ /usr/bin/gtk-update-icon-cache -f -t /usr/share/icons/hicolor
+fi
+if [ -x /usr/bin/update-desktop-database ]; then
+ echo Updating desktop database..
+ /usr/bin/update-desktop-database /usr/share/applications
+fi
+update-mime-database usr/share/mime
+}
+
+post_upgrade() {
+post_install
+}
+
+post_remove() {
+post_install
+} \ No newline at end of file
diff --git a/community-staging/glpng/Makefile b/community-staging/glpng/Makefile
new file mode 100644
index 000000000..d6772798f
--- /dev/null
+++ b/community-staging/glpng/Makefile
@@ -0,0 +1,30 @@
+CFLAGS+=-fPIC -Iinclude
+LDFLAGS+=-lpng -lGL
+SHAREDLIBFLAGS=-shared
+DESTDIR=/usr/local
+LIB=lib
+
+all: libglpng.a libglpng.so.1.45
+
+libglpng.a: glpng.o
+ ar rv $@ $<
+
+libglpng.so.1.45: glpng.o
+ gcc $(CFLAGS) $(SHAREDLIBFLAGS) -Wl,-soname=libglpng.so.1 -Wl,--whole-archive $< -Wl,--no-whole-archive $(LDFLAGS) -o $@
+
+glpng.o: src/glpng.c
+ gcc $(CFLAGS) -c $<
+
+clean:
+ rm glpng.o libglpng.*
+
+install:
+ for i in include include/GL $(LIB); do \
+ install -m 755 -d $(DESTDIR)/$$i; \
+ done
+ install -p -m 644 include/GL/glpng.h $(DESTDIR)/include/GL
+ install -m 755 libglpng.* $(DESTDIR)/$(LIB)
+ ln -s libglpng.so.1.45 $(DESTDIR)/$(LIB)/libglpng.so.1
+ ln -s libglpng.so.1.45 $(DESTDIR)/$(LIB)/libglpng.so
+
+.PHONY: clean install
diff --git a/community-staging/glpng/PKGBUILD b/community-staging/glpng/PKGBUILD
new file mode 100644
index 000000000..c2530ae09
--- /dev/null
+++ b/community-staging/glpng/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 62385 2012-01-19 18:48:18Z jelle $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+pkgname=glpng
+pkgver=1.45
+pkgrel=5
+pkgdesc="Toolkit for loading PNG images as OpenGL textures"
+arch=('i686' 'x86_64')
+url="http://www.fifi.org/doc/libglpng-dev/glpng.html"
+license=('custom')
+depends=('libpng' 'libgl')
+makedepends=('mesa')
+source=(http://ftp.de.debian.org/debian/pool/main/libg/libglpng/libglpng_${pkgver}.orig.tar.gz
+ Makefile
+ libpng15.patch
+ license)
+build() {
+ cd "$srcdir/libglpng-1.45.orig"
+
+ patch -Np1 -i "$srcdir/libpng15.patch"
+
+ cp "$srcdir/Makefile" .
+ make libglpng.so.1.45
+}
+
+package() {
+ cd "$srcdir/libglpng-1.45.orig"
+ make DESTDIR="$pkgdir/usr" install
+ install -Dm644 "$srcdir/license" \
+ "$pkgdir/usr/share/licenses/glpng/license"
+}
+md5sums=('9e0daad8e39fbf3179c73c0d3f74f104'
+ '0b24e9cb527d4ed1c43dd743d49d2b54'
+ 'f3f0c0a3f867c5856d922c18677ef2a2'
+ 'cd066652a6e5dbd7c1fc303b8e03417a')
diff --git a/community-staging/glpng/libpng15.patch b/community-staging/glpng/libpng15.patch
new file mode 100644
index 000000000..89e9bf67e
--- /dev/null
+++ b/community-staging/glpng/libpng15.patch
@@ -0,0 +1,83 @@
+diff -aur libglpng-1.45.orig/include/GL/glpng.h libglpng-1.45.new/include/GL/glpng.h
+--- libglpng-1.45.orig/include/GL/glpng.h 2000-07-10 21:27:00.000000000 +0200
++++ libglpng-1.45.new/include/GL/glpng.h 2012-01-19 19:34:43.994280259 +0100
+@@ -57,7 +57,7 @@
+ #define PNG_SIMPLEMIPMAP PNG_SIMPLEMIPMAPS
+
+ /* Transparency parameters */
+-#define PNG_CALLBACK -3 /* Call the callback function to generate alpha */
++#define PNG_CALLBACKT -3 /* Call the callback function to generate alpha */
+ #define PNG_ALPHA -2 /* Use alpha channel in PNG file, if there is one */
+ #define PNG_SOLID -1 /* No transparency */
+ #define PNG_STENCIL 0 /* Sets alpha to 0 for r=g=b=0, 1 otherwise */
+diff -aur libglpng-1.45.orig/src/glpng.c libglpng-1.45.new/src/glpng.c
+--- libglpng-1.45.orig/src/glpng.c 2000-07-10 21:27:10.000000000 +0200
++++ libglpng-1.45.new/src/glpng.c 2012-01-19 19:39:37.379311651 +0100
+@@ -29,7 +29,7 @@
+ #include <GL/gl.h>
+ #include <stdlib.h>
+ #include <math.h>
+-#include "png/png.h"
++#include <png.h>
+
+ /* Used to decide if GL/gl.h supports the paletted extension */
+ #ifdef GL_COLOR_INDEX1_EXT
+@@ -113,6 +113,7 @@
+ }
+ }
+
++#ifdef _WIN32
+ static int ExtSupported(const char *x) {
+ static const GLubyte *ext = NULL;
+ const char *c;
+@@ -129,6 +130,7 @@
+
+ return 0;
+ }
++#endif
+
+ #define GET(o) ((int)*(data + (o)))
+
+@@ -269,14 +271,14 @@
+ if (pinfo == NULL) return 0;
+
+ fread(header, 1, 8, fp);
+- if (!png_check_sig(header, 8)) return 0;
++ if (!png_sig_cmp(header, 0, 8)) return 0;
+
+ png = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+ info = png_create_info_struct(png);
+ endinfo = png_create_info_struct(png);
+
+ // DH: added following lines
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf(png)))
+ {
+ png_destroy_read_struct(&png, &info, &endinfo);
+ return 0;
+@@ -373,14 +375,14 @@
+ png_uint_32 i;
+
+ fread(header, 1, 8, fp);
+- if (!png_check_sig(header, 8)) return 0;
++ if (png_sig_cmp(header, 0, 8)) return 0;
+
+ png = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+ info = png_create_info_struct(png);
+ endinfo = png_create_info_struct(png);
+
+ // DH: added following lines
+- if (setjmp(png->jmpbuf))
++ if (setjmp(png_jmpbuf(png)))
+ {
+ png_destroy_read_struct(&png, &info, &endinfo);
+ return 0;
+@@ -559,7 +561,7 @@
+ #define ALPHA *q
+
+ switch (trans) {
+- case PNG_CALLBACK:
++ case PNG_CALLBACKT:
+ FORSTART
+ ALPHA = AlphaCallback((unsigned char) r, (unsigned char) g, (unsigned char) b);
+ FOREND
diff --git a/community-staging/glpng/license b/community-staging/glpng/license
new file mode 100644
index 000000000..a526262b5
--- /dev/null
+++ b/community-staging/glpng/license
@@ -0,0 +1,21 @@
+/*
+ * PNG loader library for OpenGL v1.45 (10/07/00)
+ * by Ben Wyatt ben@wyatt100.freeserve.co.uk
+ * Using LibPNG 1.0.2 and ZLib 1.1.3
+ *
+ * This software is provided 'as-is', without any express or implied warranty.
+ * In no event will the author be held liable for any damages arising from the
+ * use of this software.
+ *
+ * Permission is hereby granted to use, copy, modify, and distribute this
+ * source code, or portions hereof, for any purpose, without fee, subject to
+ * the following restrictions:
+ *
+ * 1. The origin of this source code must not be misrepresented. You must not
+ * claim that you wrote the original software. If you use this software in
+ * a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered versions must be plainly marked as such and must not be
+ * misrepresented as being the original source.
+ * 3. This notice must not be removed or altered from any source distribution.
+ */
diff --git a/community-staging/gnustep-gui/ChangeLog b/community-staging/gnustep-gui/ChangeLog
new file mode 100644
index 000000000..15622ab88
--- /dev/null
+++ b/community-staging/gnustep-gui/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* version upgrade
diff --git a/community-staging/gnustep-gui/PKGBUILD b/community-staging/gnustep-gui/PKGBUILD
new file mode 100644
index 000000000..584d5a038
--- /dev/null
+++ b/community-staging/gnustep-gui/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 62400 2012-01-19 19:38:10Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Sebastian Sareyko <public@nooms.de>
+
+pkgname=gnustep-gui
+pkgver=0.20.0
+pkgrel=3
+pkgdesc="The GNUstep GUI class library"
+arch=('i686' 'x86_64')
+url="http://www.gnustep.org/"
+license=('LGPL')
+depends=('gnustep-base' 'libungif' 'aspell' 'gcc-libs' 'libcups' 'audiofile' 'libsndfile' 'giflib' 'libao')
+makedepends=('gcc-objc')
+conflicts=('gnustep-gui-svn')
+groups=('gnustep-core')
+options=('!makeflags')
+source=(ftp://ftp.gnustep.org/pub/gnustep/core/$pkgname-$pkgver.tar.gz)
+md5sums=('0d3765aa97db1dd20bdbd0690f4aca6b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ . /etc/profile.d/GNUstep.sh
+ ./configure --prefix=/usr --sysconfdir=/etc/GNUstep
+ sed -i 's|#include "GNUstepBase/preface.h"|//#include "GNUstepBase/preface.h" |' Source/GSGuiPrivate.h
+ make
+ make DESTDIR=$pkgdir install
+}
diff --git a/community-staging/gpac/PKGBUILD b/community-staging/gpac/PKGBUILD
new file mode 100644
index 000000000..dec36fb2e
--- /dev/null
+++ b/community-staging/gpac/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 62409 2012-01-19 20:53:21Z ebelanger $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=gpac
+pkgver=3824
+pkgrel=2
+pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
+arch=('i686' 'x86_64')
+url="http://gpac.sourceforge.net"
+license=('LGPL')
+depends=('ffmpeg' 'libjpeg' 'libpng' 'mesa')
+makedepends=('jack' 'a52dec' 'freetype2' 'libxv' 'faad2' 'libmad')
+optdepends=('jack: for jack support' 'a52dec: for A52 support'
+ 'faad2: for AAC support' 'libmad: for mp3 support')
+options=('!makeflags')
+source=(ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.xz)
+sha1sums=('bf7039c2585d539475babc7996851627efd7ec59')
+
+# source PKGBUILD && mksource
+mksource() {
+ [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1)
+ _svnver=$pkgver
+ _svntrunk="https://gpac.svn.sourceforge.net/svnroot/gpac/trunk/gpac"
+ _svnmod="$pkgname-$pkgver"
+ mkdir ${pkgname}-$pkgver
+ pushd ${pkgname}-$pkgver
+ svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod
+ echo "#define GPAC_SVN_REVISION \"$_svnver\"" > ${pkgname}-$pkgver/include/gpac/version.h
+ find . -depth -type d -name .svn -exec rm -rf {} \;
+ tar -cJf ../${pkgname}-$pkgver.tar.xz ${pkgname}-$pkgver/*
+ popd
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man --X11-path=/usr --use-js=no
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install install-lib
+}
diff --git a/community-staging/grafx2/PKGBUILD b/community-staging/grafx2/PKGBUILD
new file mode 100644
index 000000000..c885baea2
--- /dev/null
+++ b/community-staging/grafx2/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 62301 2012-01-19 07:23:27Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Simon Parzer <simon.parzer@gmail.com>
+pkgname=grafx2
+pkgver=2.3
+pkgrel=3
+pkgdesc="Pixelart-oriented painting program"
+arch=('x86_64' 'i686')
+url="http://code.google.com/p/grafx2/"
+license=('GPL2')
+install=grafx2.install
+depends=('sdl_ttf' 'sdl_image' 'lua' 'desktop-file-utils')
+source=("http://grafx2.googlecode.com/files/$pkgname-$pkgver.1781-src.tgz"
+ "grafx2.desktop")
+md5sums=('916a35c4762e85b4210a1041fbbfd830'
+ '9b3ecb5c2d44b987d65257184f46e6c4')
+
+build() {
+ cd "$srcdir/$pkgname/src"
+
+ msg2 "Compiling..."
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname/src"
+
+ msg2 "Packaging files..."
+ make prefix="/usr" DESTDIR="$pkgdir" install
+ msg2 "Packaging shortcut..."
+ install -Dm644 "$srcdir/$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+ msg2 "Packaging documentation..."
+ install -Dm644 "$srcdir/$pkgname/doc/README.txt" \
+ "$pkgdir/usr/share/doc/$pkgname/readme.txt"
+ msg2 "Packaging license..."
+ install -Dm644 "$srcdir/$pkgname/doc/gpl-2.0.txt" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ msg2 "Cleaning up..."
+ rmdir "$pkgdir/usr/share/grafx2/scripts/libs"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-staging/grafx2/grafx2.desktop b/community-staging/grafx2/grafx2.desktop
new file mode 100644
index 000000000..d58bc5ed3
--- /dev/null
+++ b/community-staging/grafx2/grafx2.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Encoding=UTF-8
+GenericName=GrafX2
+Name=GrafX2
+Comment=Pixelart-oriented painting program
+Exec=grafx2 %U
+TryExec=grafx2
+Icon=grafx2
+Terminal=false
+Type=Application
+Categories=Graphics;2DGraphics;RasterGraphics
+MimeType=image/bmp;image/gif;image/png;image/x-tga;image/tiff
diff --git a/community-staging/grafx2/grafx2.install b/community-staging/grafx2/grafx2.install
new file mode 100644
index 000000000..12589796c
--- /dev/null
+++ b/community-staging/grafx2/grafx2.install
@@ -0,0 +1,16 @@
+pkgname=grafx2
+
+post_upgrade() {
+ gtk-update-icon-cache -q -f -t /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-staging/gsql/PKGBUILD b/community-staging/gsql/PKGBUILD
new file mode 100644
index 000000000..67af0c006
--- /dev/null
+++ b/community-staging/gsql/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 62366 2012-01-19 17:48:19Z spupykin $
+# Contributor: Michael Kanis <mkanis@gmx.de>
+
+pkgname=gsql
+pkgver=0.2.2
+pkgrel=4
+pkgdesc="Integrated database development tool for GNOME"
+url="http://gsql.org/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gtk2>=2.12' 'gtksourceview2' 'vte' 'libgnomeui' 'gconf'
+ 'desktop-file-utils' 'libnotify')
+makedepends=('libmysqlclient' 'postgresql-libs' 'libssh')
+optdepends=('libmysqlclient' 'postgresql-libs' 'libssh')
+install=gsql.install
+options=(!libtool)
+source=(http://gsql.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('8f3322a75390584729e84a8570e08bea')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's/notify_notification_new (subj, message, NULL, NULL);/notify_notification_new (subj, message, NULL);/' libgsql/notify.c
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" "${pkgdir}"/etc/gconf/schemas/*.schemas
+ rm -f "${pkgdir}"/etc/gconf/schemas/*.schemas
+}
diff --git a/community-staging/gsql/gsql.install b/community-staging/gsql/gsql.install
new file mode 100644
index 000000000..e069ea8fc
--- /dev/null
+++ b/community-staging/gsql/gsql.install
@@ -0,0 +1,24 @@
+pkgname=gsql
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community-staging/htmldoc/PKGBUILD b/community-staging/htmldoc/PKGBUILD
new file mode 100644
index 000000000..27af9e340
--- /dev/null
+++ b/community-staging/htmldoc/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 62369 2012-01-19 17:50:49Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: tobias <tobias@archlinux.org>
+# Contributor: Simon Rutishauser <simon.rutishauser@gmx.ch>
+
+pkgname=htmldoc
+pkgver=1.8.27
+pkgrel=7
+pkgdesc="Produce PDF or Postscript from HTML documents including TOCs and Indices"
+arch=(i686 x86_64)
+url="http://www.htmldoc.org"
+license=('GPL')
+depends=('libjpeg' 'libpng' 'openssl' 'fltk' 'gcc-libs' 'libxft' 'libxpm')
+source=(ftp://ftp.easysw.com/pub/${pkgname}/${pkgver}/${pkgname}-$pkgver-source.tar.bz2)
+md5sums=('35589e7b8fe9c54e11be87cd5aec4dcc')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname}-${pkgver}
+
+ make install \
+ prefix=${pkgdir}/usr \
+ bindir=$pkgdir/usr/bin \
+ datadir=$pkgdir/usr/share \
+ datarootdir=$pkgdir/usr/share \
+ docdir=$pkgdir/usr/share/doc/htmldoc \
+ exec_prefix=$pkgdir/usr \
+ mandir=$pkgdir/usr/share/man \
+ prefix=$pkgdir/usr \
+ sysconfdir=$pkgdir/etc
+
+ # freedesktop stuff
+ install -Dm 644 desktop/htmldoc-128.png \
+ $pkgdir/usr/share/pixmaps/htmldoc.png
+ echo "MimeType=application/vnd.htmldoc-book;" >> desktop/htmldoc.desktop
+ sed -i 's|X-Red-Hat.*$||' desktop/htmldoc.desktop
+ install -Dm 644 desktop/htmldoc.desktop \
+ $pkgdir/usr/share/applications/htmldoc.desktop
+}
diff --git a/community-staging/icoutils/PKGBUILD b/community-staging/icoutils/PKGBUILD
new file mode 100644
index 000000000..8f8813cbd
--- /dev/null
+++ b/community-staging/icoutils/PKGBUILD
@@ -0,0 +1,27 @@
+# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Contributor: neodreams <yanbrodeur@videotron.ca>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=icoutils
+pkgver=0.29.1
+pkgrel=2
+pkgdesc='Extracts and converts images in MS Windows(R) icon and cursor files.'
+arch=('i686' 'x86_64')
+license=('GPL')
+url='http://www.nongnu.org/icoutils/'
+depends=('libpng>=1.0.0' 'perl-libwww>=5.64')
+source=("http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('b58f375e0f8731595e8d0ecdc3a0acb9')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community-staging/jwm/PKGBUILD b/community-staging/jwm/PKGBUILD
new file mode 100644
index 000000000..4c96d14c6
--- /dev/null
+++ b/community-staging/jwm/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 62417 2012-01-19 21:22:13Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=jwm
+pkgver=2.1.0
+pkgrel=2
+pkgdesc="A lightweight window manager for the X11 Window System"
+arch=('i686' 'x86_64')
+url="http://joewing.net/programs/jwm/"
+license=('GPL2')
+depends=('libx11' 'libxft' 'libjpeg>=7' 'libxpm' 'libxinerama' 'libpng')
+backup=('etc/system.jwmrc')
+source=(http://joewing.net/programs/jwm/releases/jwm-$pkgver.tar.bz2)
+md5sums=('e8fab21b2410eb82032b7c3472af642c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-fribidi
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make BINDIR="$pkgdir/usr/bin" MANDIR="$pkgdir/usr/share/man" \
+ SYSCONF="$pkgdir/etc" install
+}
diff --git a/community-staging/kovpn/ChangeLog b/community-staging/kovpn/ChangeLog
new file mode 100644
index 000000000..d8e35c402
--- /dev/null
+++ b/community-staging/kovpn/ChangeLog
@@ -0,0 +1,2 @@
+2007-06-25 Georg Grabler (STiAT) <ggrabler@gmail.com>
+* Added libtool option
diff --git a/community-staging/kovpn/PKGBUILD b/community-staging/kovpn/PKGBUILD
new file mode 100644
index 000000000..5b5ccfb63
--- /dev/null
+++ b/community-staging/kovpn/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 62371 2012-01-19 17:53:21Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Douglas Soares de Andrade <dsandrade@gmail.com>
+
+pkgname=kovpn
+pkgver=0.3pre7
+_pkgver=0.3.pre7
+pkgrel=6
+pkgdesc="An OpenVPN client management interface for KDE"
+arch=('i686' 'x86_64')
+url="http://www.kde-apps.org/content/show.php?content=37043"
+license=('GPL')
+depends=('openvpn' 'kdelibs3' 'xdg-utils')
+makedepends=('automake' 'autoconf')
+options=('libtool')
+install=kovpn.install
+DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
+ 'http::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
+ 'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u')
+source=("https://projects.fslab.de/projects/kovpn/chrome/site/kovpn-${_pkgver}.tar.bz2"
+ "kovpn-disable-dcop.patch::https://bugs.archlinux.org/task/15464?getfile=4173")
+md5sums=('19b61cf9f84088baffbd5bb0a287422c'
+ '21171b74f76289daea1cc61eedaa4dba')
+
+build() {
+ cd $srcdir/$pkgname-$_pkgver
+
+ unset LDFLAGS
+ . /etc/profile.d/qt3.sh
+ export PATH=$QTDIR/bin:$PATH
+ export QMAKESPEC=$QTDIR/mkspecs/linux-g++
+
+ patch -Np1 -i ../kovpn-disable-dcop.patch
+ sed -i 's#automake\*1.10\*#automake*1.10* | automake*1.11*#' admin/cvs.sh
+ make -f admin/Makefile.common cvs
+ ./configure --prefix=/opt/kde --without-arts --with-qt-dir=/opt/qt
+ make
+ make prefix=$pkgdir/usr install
+}
diff --git a/community-staging/kovpn/kovpn.install b/community-staging/kovpn/kovpn.install
new file mode 100644
index 000000000..b4ee8556f
--- /dev/null
+++ b/community-staging/kovpn/kovpn.install
@@ -0,0 +1,12 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
diff --git a/community-staging/leptonica/PKGBUILD b/community-staging/leptonica/PKGBUILD
new file mode 100644
index 000000000..b032a5595
--- /dev/null
+++ b/community-staging/leptonica/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 62320 2012-01-19 08:26:31Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Christoph Drexler <chrdr at gmx dot at>
+
+pkgname=leptonica
+pkgver=1.68
+pkgrel=3
+pkgdesc="Software that is broadly useful for image processing and image analysis applications"
+arch=('i686' 'x86_64')
+url="http://www.leptonica.com/"
+license=('custom')
+depends=('glibc')
+makedepends=('giflib' 'gnuplot' 'libjpeg' 'libpng' 'libtiff' 'zlib')
+# 'webp'
+optdepends=('giflib: for supporting gif files'
+ 'gnuplot: gnuplot support'
+ 'libjpeg: for supporting jpeg files'
+ 'libpng: for supporting png files'
+ 'libtiff: for supporting tiff files'
+ 'zlib: for supporting compressed files')
+# 'webp: for supporting webp files'
+source=(http://www.leptonica.com/source/leptonica-${pkgver}.tar.gz)
+md5sums=('5cd7092f9ff2ca7e3f3e73bfcd556403')
+
+build() {
+ cd ${srcdir}/leptonica-${pkgver}
+ sed -i '1,1i#include <zlib.h>' src/pngio.c
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/leptonica-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -D leptonica-license.txt ${pkgdir}/usr/share/licenses/leptonica/leptonica-license.txt
+}
diff --git a/community-staging/libinfinity/PKGBUILD b/community-staging/libinfinity/PKGBUILD
new file mode 100644
index 000000000..f74a2ed82
--- /dev/null
+++ b/community-staging/libinfinity/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 62402 2012-01-19 19:43:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Gregory Haynes <greg@greghaynes.net>
+
+pkgname=libinfinity
+pkgver=0.5.1
+pkgrel=3
+pkgdesc="An implementation of the Infininote protocol written in GObject-based C"
+arch=('i686' 'x86_64')
+url="http://gobby.0x539.de"
+license=('GPL')
+depends=('gnutls>=1.7.2' 'gsasl>=0.2.21' 'glib2>=2.16' 'libxml2>=2.0' 'gtk2')
+makedepends=('gtk-doc' 'pkgconfig')
+optdepends=('avahi: zeroconf support'
+ 'gtk2: gtk support')
+options=('!libtool')
+source=("http://releases.0x539.de/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('85e6d75e101fe25503653d2202054eff')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --localstatedir=/var
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ rm -rf $pkgdir/var
+}
diff --git a/community-staging/libmatchbox/PKGBUILD b/community-staging/libmatchbox/PKGBUILD
new file mode 100644
index 000000000..e5fe9b49f
--- /dev/null
+++ b/community-staging/libmatchbox/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 62375 2012-01-19 18:03:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Henrique C. Alves <hcarvalhoalves@gmail.com>
+
+pkgname=libmatchbox
+pkgver=1.9
+pkgrel=5
+pkgdesc="Base library for Matchbox WM"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('pango' 'libpng' 'libjpeg>=7' 'xsettings-client' 'libxext')
+options=('!libtool')
+url="http://matchbox-project.org/"
+source=(http://matchbox-project.org/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2
+ libpng15.patch)
+md5sums=('9f73e7515cc4679171a5db180dc1343b'
+ '09f782c76fe313efd0e87fabb276e2fe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's|png_check_sig( header, 8 )|png_sig_cmp( header, 0, 8 ) == 0|' libmb/mbpixbuf.c
+ patch -Rp1 <$srcdir/libpng15.patch
+ LDFLAGS="-lX11" ./configure --prefix=/usr --enable-pango --enable-jpeg --enable-xsettings
+ make
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community-staging/libmatchbox/libpng15.patch b/community-staging/libmatchbox/libpng15.patch
new file mode 100644
index 000000000..6c4ddef4d
--- /dev/null
+++ b/community-staging/libmatchbox/libpng15.patch
@@ -0,0 +1,23 @@
+diff -wbBur libmatchbox-1.9/libmb/mbpixbuf.c libmatchbox-1.9.org/libmb/mbpixbuf.c
+--- libmatchbox-1.9/libmb/mbpixbuf.c 2012-01-19 21:57:56.000000000 +0400
++++ libmatchbox-1.9.org/libmb/mbpixbuf.c 2006-07-26 23:12:25.000000000 +0400
+@@ -247,7 +247,7 @@
+ return NULL;
+ }
+
+- if ( setjmp( png_jmpbuf(png_ptr) ) ) {
++ if ( setjmp( png_ptr->jmpbuf ) ) {
+ png_destroy_read_struct( &png_ptr, &info_ptr, NULL);
+ fclose(fd);
+ return NULL;
+@@ -269,8 +269,8 @@
+ ( color_type == PNG_COLOR_TYPE_GRAY_ALPHA ))
+ png_set_gray_to_rgb(png_ptr);
+
+- if ( png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA
+- || png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA
++ if ( info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA
++ || info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA
+ )
+ *has_alpha = 1;
+ else
diff --git a/community-staging/mtpaint/PKGBUILD b/community-staging/mtpaint/PKGBUILD
new file mode 100644
index 000000000..82f6480bd
--- /dev/null
+++ b/community-staging/mtpaint/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 62300 2012-01-19 07:19:24Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: yosh64 <yosh64.at.gmail.dot.com>
+pkgname=mtpaint
+pkgver=3.40
+pkgrel=2
+pkgdesc="Simple GTK2 paint program for creating icons and pixel based artwork"
+arch=('x86_64' 'i686')
+url="http://mtpaint.sourceforge.net/"
+license=('GPL3')
+depends=('gtk2' 'giflib' 'openjpeg' 'desktop-file-utils' 'lcms2')
+install=mtpaint.install
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2"
+ "libpng15.patch")
+sha256sums=('ef321d2b404839c7b909bdf5283eb22a37fbdd35b4cc9e380ddc400573d7c890'
+ 'be51d45d1146d6c61d1c2c12d1712134da5048dd7314e2741ff336cac6838de3')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np1 -i "$srcdir/libpng15.patch"
+ ./configure --prefix=/usr --mandir=/usr/share/man/man1 man intl gif jpeg tiff
+ sed -i 's:-lpng:-lpng -lgif:' _conf.txt
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
+
diff --git a/community-staging/mtpaint/libpng15.patch b/community-staging/mtpaint/libpng15.patch
new file mode 100644
index 000000000..7df3b2127
--- /dev/null
+++ b/community-staging/mtpaint/libpng15.patch
@@ -0,0 +1,21 @@
+diff -upr mtpaint-3.31.orig/src/png.c mtpaint-3.31/src/png.c
+--- mtpaint-3.31.orig/src/png.c 2010-01-25 00:43:07.000000000 +0200
++++ mtpaint-3.31/src/png.c 2010-01-25 00:43:39.000000000 +0200
+@@ -539,7 +539,7 @@ static int load_png(char *file_name, ls_
+ if (settings->bpp == 3)
+ {
+ png_set_strip_16(png_ptr);
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ png_set_palette_to_rgb(png_ptr);
+ png_set_gray_to_rgb(png_ptr);
+
+@@ -644,7 +644,7 @@ static int load_png(char *file_name, ls_
+ png_set_strip_alpha(png_ptr);
+ png_set_packing(png_ptr);
+ if ((color_type == PNG_COLOR_TYPE_GRAY) && (bit_depth < 8))
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ for (i = 0; i < height; i++)
+ {
+ row_pointers[i] = settings->img[CHN_IMAGE] + i * width;
diff --git a/community-staging/mtpaint/mtpaint.install b/community-staging/mtpaint/mtpaint.install
new file mode 100644
index 000000000..99a538dea
--- /dev/null
+++ b/community-staging/mtpaint/mtpaint.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-staging/mypaint/PKGBUILD b/community-staging/mypaint/PKGBUILD
new file mode 100644
index 000000000..5fc81ca34
--- /dev/null
+++ b/community-staging/mypaint/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 62404 2012-01-19 19:47:12Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jon Nordby <jononor@gmail.com>
+
+pkgname=mypaint
+pkgver=1.0.0
+pkgrel=2
+pkgdesc="A fast and easy painting application for digital painters, with brush dynamics"
+arch=('i686' 'x86_64')
+url="http://mypaint.intilinux.com/"
+license=('GPL' 'LGPL')
+depends=('pygtk' 'python2-numpy' 'protobuf-python' 'python2')
+makedepends=('scons>=0.97' 'swig>=1.3.39')
+install=mypaint.install
+source=(http://download.gna.org/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('dcd43933746a4579e7994f506e097823')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # python2 fix
+ sed -i 's_python generate.py_python2 generate.py_' brushlib/SConscript
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+ scons
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ scons prefix="$pkgdir"/usr install
+}
diff --git a/community-staging/mypaint/mypaint.install b/community-staging/mypaint/mypaint.install
new file mode 100644
index 000000000..5f0358791
--- /dev/null
+++ b/community-staging/mypaint/mypaint.install
@@ -0,0 +1,13 @@
+post_install() {
+ [ -x `which update-mime-database` ] && update-mime-database usr/share/mime
+ [ -x `which gtk-update-icon-cache` ] && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ /bin/true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community-staging/openscenegraph/PKGBUILD b/community-staging/openscenegraph/PKGBUILD
new file mode 100644
index 000000000..326fc0cbc
--- /dev/null
+++ b/community-staging/openscenegraph/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 62394 2012-01-19 19:14:13Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Hans Janssen <janserv@gmail.com>
+# Contributor: my64 <packages@obordes.com>
+# Contributor: Colin Pitrat <colin.pitrat@gmail.com>
+
+pkgname=openscenegraph
+pkgver=3.0.1
+pkgrel=4
+pkgdesc="An Open Source, high performance real-time graphics toolkit"
+arch=('i686' 'x86_64')
+license=('custom:OSGPL')
+url="http://www.openscenegraph.org"
+depends=('giflib' 'jasper' 'librsvg' 'xine-lib' 'curl' 'pth')
+makedepends=('cmake' 'libvncserver')
+optdepends=('libvncserver' 'gdal' 'openexr' 'poppler-glib')
+conflicts=('openthreads')
+provides=('openthreads')
+source=(http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-$pkgver/source/OpenSceneGraph-$pkgver.zip
+ osg-xine-1.2.patch)
+#source=("http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-$pkgver.zip")
+md5sums=('c43a25d023e635c3566b2083d8e6d956'
+ 'b05a486fdc2aaf06b29efb5e0714672e')
+
+build() {
+ cd OpenSceneGraph-$pkgver
+ [ $NOEXTRACT -eq 1 ] || cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
+ sed -i 's|#include <curl/types.h>|//#include <curl/types.h>|' src/osgPlugins/curl/ReaderWriterCURL.cpp
+ patch -p1 <$srcdir/osg-xine-1.2.patch
+ make
+}
+
+package() {
+ cd OpenSceneGraph-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ [ -d "$pkgdir/usr/lib64" ] && mv "$pkgdir/usr/lib64" "$pkgdir/usr/lib" || true
+}
diff --git a/community-staging/openscenegraph/osg-xine-1.2.patch b/community-staging/openscenegraph/osg-xine-1.2.patch
new file mode 100644
index 000000000..c73b588dc
--- /dev/null
+++ b/community-staging/openscenegraph/osg-xine-1.2.patch
@@ -0,0 +1,14 @@
+diff -wbBur OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c OpenSceneGraph-3.0.1.my/src/osgPlugins/xine/video_out_rgb.c
+--- OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c 2009-11-20 14:46:20.000000000 +0300
++++ OpenSceneGraph-3.0.1.my/src/osgPlugins/xine/video_out_rgb.c 2012-01-05 02:15:38.000000000 +0400
+@@ -2769,8 +2769,8 @@
+ clear(rgb_class, sizeof(rgbout_class_t));
+
+ rgb_class->driver_class.open_plugin = open_plugin;
+- rgb_class->driver_class.get_identifier = get_identifier;
+- rgb_class->driver_class.get_description = get_description;
++ rgb_class->driver_class.identifier = get_identifier(NULL);
++ rgb_class->driver_class.description = get_description(NULL);
+ rgb_class->driver_class.dispose = dispose_class;
+
+ return(rgb_class);
diff --git a/community-staging/podofo/PKGBUILD b/community-staging/podofo/PKGBUILD
new file mode 100644
index 000000000..a71825b8a
--- /dev/null
+++ b/community-staging/podofo/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 62345 2012-01-19 12:22:37Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com >
+# Contributor: Preecha Patumchareonpol <yumyai at gmail.com>
+
+pkgname=podofo
+pkgver=0.9.1
+pkgrel=3
+pkgdesc="A C++ library to work with the PDF file format"
+arch=('i686' 'x86_64')
+url="http://podofo.sourceforge.net"
+license=('GPL')
+depends=( 'gcc-libs' 'fontconfig' 'libpng' 'libtiff')
+makedepends=('cmake')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('cec586ab69f92bc88d38b5d4b8eee5a0')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ mkdir build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr .. \
+ -DPODOFO_BUILD_SHARED=1 \
+ -DPODOFO_HAVE_JPEG_LIB=1 \
+ -DPODOFO_HAVE_PNG_LIB=1 \
+ -DPODOFO_HAVE_TIFF_LIB=1
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}/build
+ make DESTDIR=$pkgdir install
+}
diff --git a/community-staging/scantailor/PKGBUILD b/community-staging/scantailor/PKGBUILD
new file mode 100644
index 000000000..32059f4c2
--- /dev/null
+++ b/community-staging/scantailor/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 62307 2012-01-19 07:47:58Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Denis Terskov aka neurosurgeon <terskov.den@gmail.com>
+
+pkgname=scantailor
+pkgver=0.9.10
+pkgrel=2
+pkgdesc="Interactive post-processing tool for scanned pages"
+arch=(i686 x86_64)
+url="http://scantailor.sourceforge.net"
+license="GPL"
+depends=('qt')
+makedepends=('cmake' 'boost')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ build-fix.patch)
+md5sums=('f962c93a2d63b449fa3f6612ade3b028'
+ '0aeb1bae724b5cae208ae8af95e8ed9b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ patch -p1 <$srcdir/build-fix.patch
+ cmake .
+ cmake \
+ -DCMAKE_CXX_FLAGS="-DBOOST_NO_MEMBER_TEMPLATE_FRIENDS" \
+ -DCMAKE_CXX_FLAGS_DEBUG="-DBOOST_NO_MEMBER_TEMPLATE_FRIENDS" \
+ -DCMAKE_CXX_FLAGS_RELEASE="-DBOOST_NO_MEMBER_TEMPLATE_FRIENDS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release .
+ make
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community-staging/scantailor/build-fix.patch b/community-staging/scantailor/build-fix.patch
new file mode 100644
index 000000000..85b620020
--- /dev/null
+++ b/community-staging/scantailor/build-fix.patch
@@ -0,0 +1,16 @@
+diff -wbBur scantailor-0.9.10/zones/EditableZoneSet.h scantailor-0.9.10.my/zones/EditableZoneSet.h
+--- scantailor-0.9.10/zones/EditableZoneSet.h 2011-07-31 00:47:25.000000000 +0400
++++ scantailor-0.9.10.my/zones/EditableZoneSet.h 2011-08-03 01:59:40.000000000 +0400
+@@ -76,6 +77,12 @@
+
+ EditableZoneSet();
+
++ EditableZoneSet(const EditableZoneSet& zs)
++ {
++ m_splineMap = zs.m_splineMap;
++ m_defaultProps = zs.m_defaultProps;
++ }
++
+ const_iterator begin() const { return iterator(m_splineMap.begin()); }
+
+ const_iterator end() const { return iterator(m_splineMap.end()); }
diff --git a/community-staging/xloadimage/PKGBUILD b/community-staging/xloadimage/PKGBUILD
new file mode 100644
index 000000000..6d56ec5c4
--- /dev/null
+++ b/community-staging/xloadimage/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 62316 2012-01-19 08:03:43Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Eric Belanger <belanger@astro.umontreal.ca>
+# Contributor: Link Dupont <link@subpop.net>
+
+pkgname=xloadimage
+pkgver=4.1
+pkgrel=12
+pkgdesc="An utility to view many different types of images under X11"
+arch=(i686 x86_64)
+#url="http://world.std.com/~jimf/xloadimage.html"
+url="http://sioseis.ucsd.edu/xloadimage.html"
+license=("MIT")
+depends=('libtiff' 'libpng' 'libx11' 'libxext')
+makedepends=('patch' 'imake')
+source=(http://archlinux-stuff.googlecode.com/files/xloadimage.$pkgver-1.tar.gz
+ license.txt
+ enable-image-types.patch
+ png15-tiff4.patch)
+md5sums=('86b42b1b628a9c00008b7deec21e1175'
+ 'cc16a51aeb5083b8ff07939dfe244130'
+ '3a2703925011276fd2d2bd139b676487'
+ 'c797cfc3f4588b96275d82c2c9cc7025')
+
+build() {
+ cd $srcdir/$pkgname.$pkgver
+
+ patch -p1 <$srcdir/enable-image-types.patch
+ patch -p1 <$srcdir/png15-tiff4.patch
+ xmkmf
+ make
+
+ install -D -m755 xloadimage $pkgdir/usr/bin/xloadimage
+ install -D -m755 uufilter $pkgdir/usr/bin/uufilter
+ install -D -m644 xloadimagerc $pkgdir/etc/xloadimagerc.example
+ install -D -m644 xloadimage.man $pkgdir/usr/man/man1/xloadimage.1x
+ install -D -m644 uufilter.man $pkgdir/usr/man/man1/uufilter.1x
+ install -D -m644 $srcdir/license.txt $pkgdir/usr/share/licenses/$pkgname/license.txt
+ ln -s /usr/bin/xloadimage $pkgdir/usr/bin/xsetbg
+
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+}
diff --git a/community-staging/xloadimage/enable-image-types.patch b/community-staging/xloadimage/enable-image-types.patch
new file mode 100644
index 000000000..b61e36b87
--- /dev/null
+++ b/community-staging/xloadimage/enable-image-types.patch
@@ -0,0 +1,74 @@
+diff -wbBur xloadimage.4.1/imagetypes.h xloadimage.4.1.my/imagetypes.h
+--- xloadimage.4.1/imagetypes.h 2011-02-11 11:47:37.000000000 +0000
++++ xloadimage.4.1.my/imagetypes.h 2011-02-11 16:04:35.000000000 +0000
+@@ -94,15 +94,9 @@
+ {niffIdent, niffLoad, niffDump, "niff", "Native Image File Format (NIFF)"},
+ {sunRasterIdent, sunRasterLoad, NULL, "sunraster", "Sun Rasterfile"},
+ {gifIdent, gifLoad, NULL, "gif", "GIF Image"},
+-#ifdef HAVE_LIBJPEG
+ {jpegIdent, jpegLoad, jpegDump, "jpeg", "JFIF-style JPEG Image"},
+-#endif
+-#ifdef HAVE_LIBTIFF
+ {tiffIdent, tiffLoad, tiffDump, "tiff", "TIFF image"},
+-#endif
+-#ifdef HAVE_LIBPNG
+ {pngIdent, pngLoad, NULL, "png", "PNG image"},
+-#endif
+ {fbmIdent, fbmLoad, NULL, "fbm", "FBM Image"},
+ {cmuwmIdent, cmuwmLoad, NULL, "cmuraster", "CMU WM Raster"},
+ {pbmIdent, pbmLoad, pbmDump, "pbm", "Portable Bit Map (PBM, PGM, PPM)"},
+diff -wbBur xloadimage.4.1/Imakefile xloadimage.4.1.my/Imakefile
+--- xloadimage.4.1/Imakefile 2011-02-11 12:05:53.000000000 +0000
++++ xloadimage.4.1.my/Imakefile 2011-02-11 16:06:21.000000000 +0000
+@@ -40,7 +40,7 @@
+ PNG_SRC = png.c
+ PNG_OBJ = png.o
+
+- EXTRA_DEFINES = $(TIFF_DEFS) $(JPEG_DEFS) $(PNG_DEFS)
++ EXTRA_DEFINES = $(TIFF_DEFS) $(JPEG_DEFS) $(PNG_DEFS) -DHAVE_LIBJPEG -DHAVE_LIBTIFF -DHAVE_LIBPNG
+ LOCAL_LIBRARIES = $(TIFF_LIB) $(JPEG_LIB) $(PNG_LIB) $(XLIB)
+
+ SRCS = new.c niff.c value.c zio.c cmuwmraster.c faces.c fbm.c gif.c imagetypes.c img.c mac.c mcidas.c mc_tables.c pbm.c pcx.c pdsuncomp.c rle.c rlelib.c sunraster.c vff.c vicar.c xbitmap.c xpixmap.c xwd.c bright.c clip.c compress.c dither.c fill.c halftone.c merge.c reduce.c rotate.c smooth.c undither.c zoom.c config.c misc.c options.c root.c send.c window.c xloadimage.c $(TIFF_SRC) $(JPEG_SRC) $(PNG_SRC)
+diff -wbBur xloadimage.4.1/Makefile xloadimage.4.1.my/Makefile
+--- xloadimage.4.1/Makefile 2011-02-11 12:06:16.000000000 +0000
++++ xloadimage.4.1.my/Makefile 2011-02-11 16:06:24.000000000 +0000
+@@ -2,7 +2,7 @@
+ # $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+ # ----------------------------------------------------------------------
+-# Makefile generated from "Imake.tmpl" and </tmp/IIf.yUZBVe>
++# Makefile generated from "Imake.tmpl" and </tmp/IIf.7u155R>
+ # $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $
+ # $XdotOrg: xc/config/cf/Imake.tmpl,v 1.9 2005/01/24 06:37:31 daniels Exp $
+ #
+@@ -1063,7 +1063,7 @@
+ PNG_SRC = png.c
+ PNG_OBJ = png.o
+
+- EXTRA_DEFINES = $(TIFF_DEFS) $(JPEG_DEFS) $(PNG_DEFS)
++ EXTRA_DEFINES = $(TIFF_DEFS) $(JPEG_DEFS) $(PNG_DEFS) -DHAVE_LIBJPEG -DHAVE_LIBTIFF -DHAVE_LIBPNG
+ LOCAL_LIBRARIES = $(TIFF_LIB) $(JPEG_LIB) $(PNG_LIB) $(XLIB)
+
+ SRCS = new.c niff.c value.c zio.c cmuwmraster.c faces.c fbm.c gif.c imagetypes.c img.c mac.c mcidas.c mc_tables.c pbm.c pcx.c pdsuncomp.c rle.c rlelib.c sunraster.c vff.c vicar.c xbitmap.c xpixmap.c xwd.c bright.c clip.c compress.c dither.c fill.c halftone.c merge.c reduce.c rotate.c smooth.c undither.c zoom.c config.c misc.c options.c root.c send.c window.c xloadimage.c $(TIFF_SRC) $(JPEG_SRC) $(PNG_SRC)
+diff -wbBur xloadimage.4.1/png.c xloadimage.4.1.my/png.c
+--- xloadimage.4.1/png.c 2011-02-11 11:47:37.000000000 +0000
++++ xloadimage.4.1.my/png.c 2011-02-11 16:06:50.000000000 +0000
+@@ -18,6 +18,7 @@
+ *
+ */
+
++#define _GETOPT_H
+
+ #include "image.h" /* xloadimage declarations */
+ #ifdef HAVE_LIBPNG
+diff -wbBur xloadimage.4.1/jpeg.c xloadimage.4.1.my/jpeg.c
+--- xloadimage.4.1/jpeg.c 2011-02-11 14:47:37.000000000 +0300
++++ xloadimage.4.1.my/jpeg.c 2011-11-21 14:32:30.000000000 +0400
+@@ -319,6 +319,7 @@
+ if (verbose)
+ printf(" Using arithmetic coding.\n");
+ cinfo->arith_code = TRUE;
++ }
+ #else
+ fprintf(stderr, "jpegDump: sorry, arithmetic coding not supported\n");
+ }
diff --git a/community-staging/xloadimage/license.txt b/community-staging/xloadimage/license.txt
new file mode 100644
index 000000000..be7eec597
--- /dev/null
+++ b/community-staging/xloadimage/license.txt
@@ -0,0 +1,19 @@
+/*
+ * Copyright 1989, 1993 Jim Frost
+ *
+ * Permission to use, copy, modify, distribute, and sell this software
+ * and its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation. The author makes no representations
+ * about the suitability of this software for any purpose. It is
+ * provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+ * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
+ * USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
diff --git a/community-staging/xloadimage/png15-tiff4.patch b/community-staging/xloadimage/png15-tiff4.patch
new file mode 100644
index 000000000..8536e36f3
--- /dev/null
+++ b/community-staging/xloadimage/png15-tiff4.patch
@@ -0,0 +1,50 @@
+diff -wbBur xloadimage.4.1/png.c xloadimage.4.1.my/png.c
+--- xloadimage.4.1/png.c 2011-02-11 14:47:37.000000000 +0300
++++ xloadimage.4.1.my/png.c 2012-01-19 11:58:44.000000000 +0400
+@@ -75,7 +75,7 @@
+ {
+ debug(" #error ");
+ output_warn( png_ptr, str);
+- longjmp(png_ptr->jmpbuf, 1); /* return control to outer routine */
++ longjmp(png_jmpbuf(png_ptr), 1); /* return control to outer routine */
+ }
+
+
+@@ -164,7 +164,7 @@
+ png_destroy_read_struct(png_pp, info_pp, end_pp);
+ return 0;
+ }
+- if (setjmp((*png_pp)->jmpbuf)) {
++ if (setjmp(png_jmpbuf(*png_pp))) {
+ /* On error */
+ png_destroy_read_struct(png_pp, info_pp, end_pp);
+ return 0;
+@@ -220,7 +220,7 @@
+ zclose(zinput_file);
+ return 0;
+ }
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ /* On error */
+ freeImage(image);
+ png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
+diff -wbBur xloadimage.4.1/tiff.c xloadimage.4.1.my/tiff.c
+--- xloadimage.4.1/tiff.c 2011-02-11 14:47:38.000000000 +0300
++++ xloadimage.4.1.my/tiff.c 2012-01-19 12:00:00.000000000 +0400
+@@ -34,14 +34,14 @@
+ struct tiff_info *info;
+ {
+ ZFILE *zf;
+- TIFFHeader th;
++ TIFFHeaderCommon th;
+ TIFF *tiff;
+
+ zf = zopen(fullname);
+
+ /* read TIFF header and see if it looks right
+ */
+- if ((zread(zf, (byte *)&th, sizeof(TIFFHeader)) == sizeof(TIFFHeader)) &&
++ if ((zread(zf, (byte *)&th, sizeof(TIFFHeaderCommon)) == sizeof(TIFFHeaderCommon)) &&
+ ((th.tiff_magic == TIFF_BIGENDIAN) ||
+ (th.tiff_magic == TIFF_LITTLEENDIAN))) {
+
diff --git a/community-staging/xmoto/PKGBUILD b/community-staging/xmoto/PKGBUILD
new file mode 100644
index 000000000..0a865690d
--- /dev/null
+++ b/community-staging/xmoto/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Travis Willard <travisw@wmpub.ca>
+# Contributor: Denis (dtonator@gmail.com)
+
+pkgname=xmoto
+pkgver=0.5.9
+pkgrel=1
+pkgdesc="A challenging 2D motocross platform game, where physics play an important role."
+arch=('i686' 'x86_64')
+url="http://xmoto.tuxfamily.org"
+license=('GPL')
+depends=('bzip2' 'libjpeg' 'libpng' 'lua' 'sdl_mixer' 'ode=0.11.1' 'curl'
+ 'mesa' 'sqlite3' 'sdl_ttf' 'desktop-file-utils' 'sdl_net' 'libxdg-basedir' 'libxml++')
+install=xmoto.install
+source=("http://download.tuxfamily.org/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}-src.tar.gz"
+ 'xmoto-0.5.9-libpng15.patch')
+sha1sums=('07757accce78151dc8873bef8270df0e56196772'
+ '27f52bd30772f67898e0bfd8c1e12478a4848192')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ patch -Np1 -i "${srcdir}/xmoto-0.5.9-libpng15.patch"
+
+ # build and install
+ ./configure LDFLAGS="-L/usr/lib" --prefix=/usr --disable-sdltest
+
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} mangdir=/usr/share/man/man6 install
+
+ # install desktop file
+ install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/extra/xmoto.desktop \
+ ${pkgdir}/usr/share/applications/xmoto.desktop
+
+ # install icon for desktop file
+ install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/extra/xmoto.xpm \
+ ${pkgdir}/usr/share/pixmaps/xmoto.xpm
+}
diff --git a/community-staging/xmoto/xmoto-0.5.9-libpng15.patch b/community-staging/xmoto/xmoto-0.5.9-libpng15.patch
new file mode 100644
index 000000000..0410c81c5
--- /dev/null
+++ b/community-staging/xmoto/xmoto-0.5.9-libpng15.patch
@@ -0,0 +1,10 @@
+--- a/src/image/tim_png.cpp 2011-10-11 22:18:11.000000000 +0200
++++ b/src/image/tim_png.cpp 2012-01-19 19:58:24.000000000 +0100
+@@ -24,6 +24,7 @@
+ */
+ #include <stdio.h>
+ #include <string.h>
++#include <zlib.h>
+ #include "tim.h"
+ #include "png.h"
+
diff --git a/community-staging/xmoto/xmoto.desktop b/community-staging/xmoto/xmoto.desktop
new file mode 100644
index 000000000..5ae6fe226
--- /dev/null
+++ b/community-staging/xmoto/xmoto.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Icon=/usr/share/xmoto/xmoto_icone_x.ico
+Exec=/usr/bin/xmoto
+Terminal=false
+StartupNotify=false
+
+Name=XMoto
+GenericName=Game
+Comment=is a 2D physics-based motocross game.
+
+Categories=Game;
diff --git a/community-staging/xmoto/xmoto.install b/community-staging/xmoto/xmoto.install
new file mode 100644
index 000000000..52399d4c1
--- /dev/null
+++ b/community-staging/xmoto/xmoto.install
@@ -0,0 +1,15 @@
+post_install() {
+ /usr/bin/update-desktop-database
+}
+
+post_upgrade() {
+ /usr/bin/update-desktop-database
+}
+
+post_remove() {
+ /usr/bin/update-desktop-database
+}
+
+op=$1
+shift
+$op $*
diff --git a/community-staging/xnc/PKGBUILD b/community-staging/xnc/PKGBUILD
new file mode 100644
index 000000000..e28c00401
--- /dev/null
+++ b/community-staging/xnc/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 62341 2012-01-19 09:59:20Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xnc
+pkgver=5.0.4
+pkgrel=6
+pkgdesc="X nortern captain file manager"
+arch=(i686 x86_64)
+url="http://xnc.jinr.ru/"
+license=('GPL')
+depends=('gcc-libs' 'libpng' 'libtiff' 'libsm' 'libxext' 'libjpeg>=7')
+makedepends=('libxt')
+options=('!makeflags')
+#source=(http://xnc.jinr.ru/src-5/xnc-$pkgver.src.tar.gz xnc-gcc44.patch)
+source=(ftp://ftp.archlinux.org/other/community/xnc/xnc-$pkgver.src.tar.gz
+ xnc-gcc44.patch
+ libpng15.patch)
+md5sums=('62446cdfdf5730f125fb351a658c0bd3'
+ 'c0037a081824bca691e59a4ec68b6686'
+ '7159af1c645fda860f0e5057100651ad')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/xnc-gcc44.patch
+ patch -p1 <$srcdir/libpng15.patch
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community-staging/xnc/libpng15.patch b/community-staging/xnc/libpng15.patch
new file mode 100644
index 000000000..53b941b81
--- /dev/null
+++ b/community-staging/xnc/libpng15.patch
@@ -0,0 +1,63 @@
+diff -wbBur xnc-5.0.4/src/lib/image2/sdl_image/IMG_png.c xnc-5.0.4.my/src/lib/image2/sdl_image/IMG_png.c
+--- xnc-5.0.4/src/lib/image2/sdl_image/IMG_png.c 2002-08-05 14:43:09.000000000 +0400
++++ xnc-5.0.4.my/src/lib/image2/sdl_image/IMG_png.c 2012-01-19 13:46:48.000000000 +0400
+@@ -138,7 +138,7 @@
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in png_create_read_struct() earlier.
+ */
+- if ( setjmp(png_ptr->jmpbuf) ) {
++ if ( setjmp(png_jmpbuf(png_ptr)) ) {
+ IMG_SetError("Error reading the PNG file.");
+ goto done;
+ }
+@@ -207,9 +207,9 @@
+ Rmask = 0x000000FF;
+ Gmask = 0x0000FF00;
+ Bmask = 0x00FF0000;
+- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0;
++ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0;
+ } else {
+- int s = (info_ptr->channels == 4) ? 0 : 8;
++ int s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8;
+ Rmask = 0xFF000000 >> s;
+ Gmask = 0x00FF0000 >> s;
+ Bmask = 0x0000FF00 >> s;
+@@ -217,7 +217,7 @@
+ }
+ }
+ surface = SDL_AllocSurface(SDL_SWSURFACE, width, height,
+- bit_depth*info_ptr->channels, Rmask,Gmask,Bmask,Amask);
++ bit_depth*png_get_channels(png_ptr, info_ptr), Rmask,Gmask,Bmask,Amask);
+ if ( surface == NULL ) {
+ IMG_SetError("Out of memory");
+ goto done;
+@@ -252,6 +252,10 @@
+ /* read rest of file, get additional chunks in info_ptr - REQUIRED */
+ png_read_end(png_ptr, info_ptr);
+
++ png_colorp plte;
++ int num_palette;
++ png_get_PLTE(png_ptr, info_ptr, &plte, &num_palette);
++
+ /* Load the palette, if any */
+ palette = surface->format->palette;
+ if ( palette ) {
+@@ -262,12 +266,12 @@
+ palette->colors[i].g = i;
+ palette->colors[i].b = i;
+ }
+- } else if (info_ptr->num_palette > 0 ) {
+- palette->ncolors = info_ptr->num_palette;
+- for( i=0; i<info_ptr->num_palette; ++i ) {
+- palette->colors[i].b = info_ptr->palette[i].blue;
+- palette->colors[i].g = info_ptr->palette[i].green;
+- palette->colors[i].r = info_ptr->palette[i].red;
++ } else if (num_palette > 0 ) {
++ palette->ncolors = num_palette;
++ for( i=0; i<num_palette; ++i ) {
++ palette->colors[i].b = plte[i].blue;
++ palette->colors[i].g = plte[i].green;
++ palette->colors[i].r = plte[i].red;
+ }
+ }
+ }
diff --git a/community-staging/xnc/xnc-gcc44.patch b/community-staging/xnc/xnc-gcc44.patch
new file mode 100644
index 000000000..120d9d467
--- /dev/null
+++ b/community-staging/xnc/xnc-gcc44.patch
@@ -0,0 +1,72 @@
+diff -wbBur xnc-5.0.4/src/include/commonfuncs.h xnc-5.0.4.my/src/include/commonfuncs.h
+--- xnc-5.0.4/src/include/commonfuncs.h 2002-10-16 10:44:17.000000000 +0400
++++ xnc-5.0.4.my/src/include/commonfuncs.h 2011-11-17 18:59:19.000000000 +0400
+@@ -15,7 +15,7 @@
+ extern int path_to_fullpath(char* dest, char *srcdir);
+ extern void add_path_content(char *curdir, const char *cont, int vms_host=0);
+ extern void upper_path(char *curdir, int vms_host=0);
+-extern char* get_first_content(const char *curdir, char *cont);
++extern const char* get_first_content(const char *curdir, char *cont);
+ extern void get_last_content(char *curdir, char *cont);
+ extern void get_last_and_rest_content(char* curdir, char* last, char* rest);
+ extern void str_swap(char *str1, char *str2);
+diff -wbBur xnc-5.0.4/src/lib/tool/commonfuncs.cxx xnc-5.0.4.my/src/lib/tool/commonfuncs.cxx
+--- xnc-5.0.4/src/lib/tool/commonfuncs.cxx 2002-10-16 10:44:20.000000000 +0400
++++ xnc-5.0.4.my/src/lib/tool/commonfuncs.cxx 2011-11-17 18:59:19.000000000 +0400
+@@ -117,9 +117,9 @@
+ }
+
+ //Get first content of dirname
+-char* get_first_content(const char *curdir, char *cont)
++const char* get_first_content(const char *curdir, char *cont)
+ {
+- char *b=strchr(curdir,'/');
++ const char *b=strchr(curdir,'/');
+ if(b)
+ {
+ strncpy(cont,curdir,b-curdir);
+diff -wbBur xnc-5.0.4/src/lib/vfs/afs.cxx xnc-5.0.4.my/src/lib/vfs/afs.cxx
+--- xnc-5.0.4/src/lib/vfs/afs.cxx 2003-11-27 18:36:43.000000000 +0300
++++ xnc-5.0.4.my/src/lib/vfs/afs.cxx 2011-11-17 18:59:19.000000000 +0400
+@@ -29,7 +29,7 @@
+ // The return value is static, so copy it before using the
+ // method again!
+
+-char *create_dirs(char *rootdir, char* dirlist)
++char *create_dirs(char *rootdir, const char* dirlist)
+ {
+ char str[L_MAXPATH];
+ char cont[FLIST_NAME];
+@@ -1350,7 +1350,7 @@
+ add_path_content(curdir, to_dir);
+ } else //If we here then we doing cd not to subdir but to subdir/subdir...
+ {
+- char *s=to_dir;
++ const char *s=to_dir;
+ if(*s)
+ {
+ do
+diff -wbBur xnc-5.0.4/src/lib/vfs/ftpfs.cxx xnc-5.0.4.my/src/lib/vfs/ftpfs.cxx
+--- xnc-5.0.4/src/lib/vfs/ftpfs.cxx 2002-10-30 15:47:38.000000000 +0300
++++ xnc-5.0.4.my/src/lib/vfs/ftpfs.cxx 2011-11-17 18:59:19.000000000 +0400
+@@ -1413,7 +1413,7 @@
+ return;
+ if(strcmp(dir,"/"))
+ {
+- char *s=dir;
++ const char *s=dir;
+ if(*s=='/') //Skip leading '/'
+ s++;
+ do
+diff -wbBur xnc-5.0.4/src/man_page.cxx xnc-5.0.4.my/src/man_page.cxx
+--- xnc-5.0.4/src/man_page.cxx 2002-10-02 16:54:33.000000000 +0400
++++ xnc-5.0.4.my/src/man_page.cxx 2011-11-17 18:59:00.000000000 +0400
+@@ -81,7 +81,7 @@
+ buf[j] = 0;
+ manf->size = j;
+ delete buf;
+- fp = open(tmps, O_WRONLY | O_CREAT | O_TRUNC);
++ fp = open(tmps, O_WRONLY | O_CREAT | O_TRUNC, 0600);
+ write(fp, buf2, j);
+ close(fp);
+ delete manf;
diff --git a/community-staging/xplanet/PKGBUILD b/community-staging/xplanet/PKGBUILD
new file mode 100644
index 000000000..a0abe1efa
--- /dev/null
+++ b/community-staging/xplanet/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 62310 2012-01-19 07:48:40Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Committer: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=xplanet
+pkgver=1.2.2
+pkgrel=2
+pkgdesc="An Xearth wannabe"
+arch=(i686 x86_64)
+url="http://xplanet.sourceforge.net/"
+license=('GPL')
+depends=('pango' 'libungif' 'libtiff' 'libxss')
+source=(http://downloads.sourceforge.net/project/xplanet/xplanet/$pkgver/xplanet-$pkgver.tar.gz)
+md5sums=('b38c3b4cfdd772643f876a9bb15f288b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --with-freetype
+ make
+ make prefix=$pkgdir/usr install
+}