summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Ismael Haase Hernández <hahj87@gmail.com>2011-09-28 11:27:48 -0500
committerJoshua Ismael Haase Hernández <hahj87@gmail.com>2011-09-28 11:27:48 -0500
commit339250d6a0c7837009f059f741df099d57c43820 (patch)
tree3df8e851cb55d1ad08f090ae94d43b806da72fe2
parent6987643a3fc70f8ecdccfe1672871c275465cb7d (diff)
Updated testing
-rw-r--r--community-testing/cegui/PKGBUILD43
-rw-r--r--community-testing/clementine/PKGBUILD35
-rw-r--r--community-testing/clementine/clementine-0.7.1-fix-devicekit.patch11
-rw-r--r--community-testing/clementine/clementine.install13
-rw-r--r--community-testing/freewrl/PKGBUILD38
-rw-r--r--community-testing/freewrl/build-fix.patch1201
-rw-r--r--community-testing/gambas3/PKGBUILD1083
-rw-r--r--community-testing/gambas3/gambas3-runtime.install10
-rw-r--r--community-testing/gambas3/gambas3-script.install15
-rw-r--r--community-testing/gource/PKGBUILD28
-rw-r--r--community-testing/lightspark/PKGBUILD38
-rw-r--r--community-testing/lightspark/lightspark.install13
-rw-r--r--community-testing/luxrays/PKGBUILD37
-rw-r--r--community-testing/performous/PKGBUILD40
-rw-r--r--community-testing/pysfml/PKGBUILD39
-rw-r--r--community-testing/python-bsddb/LICENSE19
-rw-r--r--community-testing/python-bsddb/PKGBUILD49
-rw-r--r--community-testing/root/PKGBUILD87
-rw-r--r--community-testing/root/root.desktop12
-rw-r--r--community-testing/root/root.install17
-rw-r--r--community-testing/root/root.sh5
-rw-r--r--community-testing/root/root.xml11
-rwxr-xr-xcommunity-testing/root/rootd37
-rw-r--r--community-testing/rss-glx/PKGBUILD49
-rw-r--r--community-testing/rss-glx/rss-glx-desktops.tar.bz2bin0 -> 2204 bytes
-rw-r--r--community-testing/rss-glx/rss-glx.install12
-rw-r--r--community-testing/sfml/PKGBUILD61
-rw-r--r--community-testing/sfml/sfml.install3
-rw-r--r--community-testing/speed-dreams/PKGBUILD55
-rw-r--r--community-testing/speed-dreams/speed-dreams.desktop9
-rw-r--r--community-testing/speed-dreams/speed-dreams.sh3
-rw-r--r--community-testing/spring/PKGBUILD48
-rw-r--r--community-testing/spring/awk-java.patch48
-rw-r--r--community-testing/spring/gcc46.patch67
-rw-r--r--community-testing/supertux/PKGBUILD31
-rw-r--r--community-testing/supertux/compile.patch67
-rw-r--r--community-testing/supertux/gcc44.patch90
-rw-r--r--community-testing/vdrift/PKGBUILD52
-rw-r--r--community-testing/vdrift/vdrift.desktop11
-rw-r--r--community-testing/widelands/PKGBUILD48
-rw-r--r--community-testing/widelands/widelands-build15-gcc-4.5-patch51
-rw-r--r--community-testing/widelands/widelands.desktop8
-rw-r--r--community-testing/widelands/widelands.pngbin0 -> 19494 bytes
-rw-r--r--community-testing/widelands/widelands.sh3
-rw-r--r--gnome-unstable/accountsservice/PKGBUILD32
-rw-r--r--gnome-unstable/at-spi2-atk/PKGBUILD35
-rw-r--r--gnome-unstable/at-spi2-atk/at-spi2-atk.install11
-rw-r--r--gnome-unstable/at-spi2-core/PKGBUILD33
-rw-r--r--gnome-unstable/atk/PKGBUILD26
-rw-r--r--gnome-unstable/caribou/PKGBUILD36
-rw-r--r--gnome-unstable/caribou/caribou.install13
-rw-r--r--gnome-unstable/cheese/PKGBUILD32
-rw-r--r--gnome-unstable/cheese/cheese.install20
-rw-r--r--gnome-unstable/clutter/PKGBUILD28
-rw-r--r--gnome-unstable/cogl/PKGBUILD28
-rw-r--r--gnome-unstable/colord/PKGBUILD28
-rw-r--r--gnome-unstable/dconf/PKGBUILD31
-rw-r--r--gnome-unstable/dconf/dconf.install12
-rw-r--r--gnome-unstable/empathy/PKGBUILD39
-rw-r--r--gnome-unstable/empathy/empathy.install18
-rw-r--r--gnome-unstable/eog/PKGBUILD32
-rw-r--r--gnome-unstable/eog/eog.install19
-rw-r--r--gnome-unstable/epiphany/PKGBUILD32
-rw-r--r--gnome-unstable/epiphany/epiphany.install20
-rw-r--r--gnome-unstable/evince/PKGBUILD37
-rw-r--r--gnome-unstable/evince/evince.install19
-rw-r--r--gnome-unstable/evolution-data-server/PKGBUILD30
-rw-r--r--gnome-unstable/evolution/PKGBUILD44
-rw-r--r--gnome-unstable/evolution/evolution.install24
-rw-r--r--gnome-unstable/folks/PKGBUILD52
-rw-r--r--gnome-unstable/gcalctool/PKGBUILD29
-rw-r--r--gnome-unstable/gcalctool/gcalctool.install11
-rw-r--r--gnome-unstable/gconf/01_xml-gettext-domain.patch362
-rw-r--r--gnome-unstable/gconf/PKGBUILD51
-rwxr-xr-xgnome-unstable/gconf/gconf-merge-schema34
-rw-r--r--gnome-unstable/gconf/gconf-reload.patch20
-rw-r--r--gnome-unstable/gconf/gconf.install20
-rwxr-xr-xgnome-unstable/gconf/gconfpkg50
-rw-r--r--gnome-unstable/gdm/PKGBUILD61
-rw-r--r--gnome-unstable/gdm/fix-consolekit-registration.patch98
-rw-r--r--gnome-unstable/gdm/fix_external_program_directories.patch34
-rwxr-xr-xgnome-unstable/gdm/gdm36
-rw-r--r--gnome-unstable/gdm/gdm-autologin.pam18
-rw-r--r--gnome-unstable/gdm/gdm-fingerprint.pam18
-rw-r--r--gnome-unstable/gdm/gdm-password.pam20
-rw-r--r--gnome-unstable/gdm/gdm-smartcard.pam18
-rw-r--r--gnome-unstable/gdm/gdm-welcome.pam12
-rw-r--r--gnome-unstable/gdm/gdm.install29
-rw-r--r--gnome-unstable/gdm/gdm.pam10
-rw-r--r--gnome-unstable/gedit/PKGBUILD32
-rw-r--r--gnome-unstable/gedit/gedit.install18
-rw-r--r--gnome-unstable/gjs/PKGBUILD25
-rw-r--r--gnome-unstable/glib-networking/PKGBUILD31
-rw-r--r--gnome-unstable/glib-networking/glib-networking.install11
-rw-r--r--gnome-unstable/glib2/PKGBUILD43
-rw-r--r--gnome-unstable/glib2/glib2.csh1
-rw-r--r--gnome-unstable/glib2/glib2.sh1
-rw-r--r--gnome-unstable/glibmm/PKGBUILD35
-rw-r--r--gnome-unstable/gnome-applets/PKGBUILD36
-rw-r--r--gnome-unstable/gnome-applets/gnome-applets.install22
-rw-r--r--gnome-unstable/gnome-bluetooth/61-gnome-bluetooth-rfkill.rules11
-rw-r--r--gnome-unstable/gnome-bluetooth/PKGBUILD40
-rw-r--r--gnome-unstable/gnome-bluetooth/gnome-bluetooth.install12
-rw-r--r--gnome-unstable/gnome-color-manager/PKGBUILD34
-rw-r--r--gnome-unstable/gnome-color-manager/gnome-color-manager.install19
-rw-r--r--gnome-unstable/gnome-contacts/PKGBUILD29
-rw-r--r--gnome-unstable/gnome-control-center/PKGBUILD37
-rw-r--r--gnome-unstable/gnome-control-center/gnome-control-center.install19
-rw-r--r--gnome-unstable/gnome-desktop/PKGBUILD31
-rw-r--r--gnome-unstable/gnome-documents/PKGBUILD34
-rw-r--r--gnome-unstable/gnome-documents/gnome-documents.install13
-rw-r--r--gnome-unstable/gnome-games/PKGBUILD43
-rw-r--r--gnome-unstable/gnome-games/gnome-games.install153
-rw-r--r--gnome-unstable/gnome-keyring/PKGBUILD32
-rw-r--r--gnome-unstable/gnome-keyring/gnome-keyring.install15
-rw-r--r--gnome-unstable/gnome-menus/PKGBUILD36
-rw-r--r--gnome-unstable/gnome-menus/menus.patch25
-rw-r--r--gnome-unstable/gnome-online-accounts/PKGBUILD29
-rw-r--r--gnome-unstable/gnome-online-accounts/gnome-online-accounts.install11
-rw-r--r--gnome-unstable/gnome-panel/PKGBUILD38
-rw-r--r--gnome-unstable/gnome-panel/gnome-panel.install24
-rw-r--r--gnome-unstable/gnome-power-manager/PKGBUILD32
-rw-r--r--gnome-unstable/gnome-power-manager/gnome-power-manager.install19
-rw-r--r--gnome-unstable/gnome-screensaver/PKGBUILD36
-rw-r--r--gnome-unstable/gnome-screensaver/gnome-screensaver.install7
-rw-r--r--gnome-unstable/gnome-screensaver/gnome-screensaver.pam3
-rw-r--r--gnome-unstable/gnome-session/PKGBUILD30
-rw-r--r--gnome-unstable/gnome-session/gnome-session.install18
-rw-r--r--gnome-unstable/gnome-settings-daemon/PKGBUILD34
-rw-r--r--gnome-unstable/gnome-settings-daemon/gnome-settings-daemon.install18
-rw-r--r--gnome-unstable/gnome-shell/PKGBUILD38
-rw-r--r--gnome-unstable/gnome-shell/gnome-shell.install22
-rw-r--r--gnome-unstable/gnome-system-monitor/PKGBUILD29
-rw-r--r--gnome-unstable/gnome-system-monitor/gnome-system-monitor.install19
-rw-r--r--gnome-unstable/gnome-themes-standard/PKGBUILD29
-rw-r--r--gnome-unstable/gnome-utils/PKGBUILD41
-rw-r--r--gnome-unstable/gnome-utils/gnome-utils.install26
-rw-r--r--gnome-unstable/gobject-introspection/PKGBUILD29
-rw-r--r--gnome-unstable/grilo-plugins/PKGBUILD36
-rw-r--r--gnome-unstable/grilo/PKGBUILD26
-rw-r--r--gnome-unstable/gssdp/PKGBUILD31
-rw-r--r--gnome-unstable/gthumb/PKGBUILD35
-rw-r--r--gnome-unstable/gthumb/gthumb.install24
-rw-r--r--gnome-unstable/gtk3/PKGBUILD38
-rw-r--r--gnome-unstable/gtk3/gtk3.install15
-rw-r--r--gnome-unstable/gtk3/settings.ini2
-rw-r--r--gnome-unstable/gtkhtml4/PKGBUILD29
-rw-r--r--gnome-unstable/gtkmm3/PKGBUILD38
-rw-r--r--gnome-unstable/gtksourceview3/PKGBUILD28
-rw-r--r--gnome-unstable/gucharmap/PKGBUILD33
-rw-r--r--gnome-unstable/gucharmap/gucharmap.install22
-rw-r--r--gnome-unstable/gupnp-av/PKGBUILD30
-rw-r--r--gnome-unstable/gupnp/PKGBUILD32
-rw-r--r--gnome-unstable/gvfs/PKGBUILD115
-rw-r--r--gnome-unstable/gvfs/gvfs-module.install7
-rw-r--r--gnome-unstable/gvfs/gvfs-smb.install12
-rw-r--r--gnome-unstable/gvfs/gvfs.install14
-rw-r--r--gnome-unstable/json-c/PKGBUILD25
-rw-r--r--gnome-unstable/json-glib/PKGBUILD26
-rw-r--r--gnome-unstable/libcap-ng/PKGBUILD30
-rw-r--r--gnome-unstable/libgdata/PKGBUILD26
-rw-r--r--gnome-unstable/libgnome-keyring/PKGBUILD28
-rw-r--r--gnome-unstable/libgnomekbd/PKGBUILD28
-rw-r--r--gnome-unstable/libgnomekbd/libgnomekbd.install11
-rw-r--r--gnome-unstable/libgweather/01_gettext_not_xml.patch527
-rw-r--r--gnome-unstable/libgweather/PKGBUILD40
-rw-r--r--gnome-unstable/libgweather/gettext-not-xml.patch532
-rw-r--r--gnome-unstable/libgweather/libgweather.install22
-rw-r--r--gnome-unstable/liblouis/PKGBUILD33
-rw-r--r--gnome-unstable/liblouis/liblouis.install20
-rw-r--r--gnome-unstable/libpeas/PKGBUILD32
-rw-r--r--gnome-unstable/libpeas/libpeas.install11
-rw-r--r--gnome-unstable/libsocialweb/PKGBUILD34
-rw-r--r--gnome-unstable/libsoup/PKGBUILD48
-rw-r--r--gnome-unstable/libwebkit/PKGBUILD52
-rw-r--r--gnome-unstable/libwebkit/libwebkit.install11
-rw-r--r--gnome-unstable/libwnck3/PKGBUILD28
-rw-r--r--gnome-unstable/mash/PKGBUILD26
-rw-r--r--gnome-unstable/mousetweaks/PKGBUILD29
-rw-r--r--gnome-unstable/mousetweaks/mousetweaks.install17
-rw-r--r--gnome-unstable/mutter/PKGBUILD36
-rw-r--r--gnome-unstable/mutter/mutter.install17
-rw-r--r--gnome-unstable/mx/PKGBUILD28
-rw-r--r--gnome-unstable/nautilus/PKGBUILD35
-rw-r--r--gnome-unstable/nautilus/nautilus.install20
-rw-r--r--gnome-unstable/network-manager-applet/PKGBUILD40
-rw-r--r--gnome-unstable/network-manager-applet/network-manager-applet.install18
-rw-r--r--gnome-unstable/networkmanager/NetworkManager.conf2
-rw-r--r--gnome-unstable/networkmanager/PKGBUILD61
-rw-r--r--gnome-unstable/networkmanager/disable_set_hostname.patch19
-rw-r--r--gnome-unstable/networkmanager/networkmanager.install9
-rw-r--r--gnome-unstable/pango/PKGBUILD29
-rw-r--r--gnome-unstable/pango/pango.install21
-rw-r--r--gnome-unstable/paprefs/PKGBUILD33
-rw-r--r--gnome-unstable/paprefs/paprefs.desktop13
-rw-r--r--gnome-unstable/pavucontrol/PKGBUILD33
-rw-r--r--gnome-unstable/pavucontrol/pavucontrol.desktop11
-rw-r--r--gnome-unstable/pulseaudio/PKGBUILD101
-rw-r--r--gnome-unstable/pulseaudio/pulseaudio.install23
-rw-r--r--gnome-unstable/pulseaudio/pulseaudio.xinit7
-rw-r--r--gnome-unstable/pygobject/PKGBUILD59
-rw-r--r--gnome-unstable/pygobject2/PKGBUILD84
-rw-r--r--gnome-unstable/pygobject2/python3-fix-build.patch34
-rw-r--r--gnome-unstable/pygobject2/python3-fix-maketrans.patch36
-rw-r--r--gnome-unstable/seahorse/PKGBUILD34
-rw-r--r--gnome-unstable/seahorse/seahorse.install21
-rw-r--r--gnome-unstable/sushi/PKGBUILD28
-rw-r--r--gnome-unstable/telepathy-farstream/PKGBUILD32
-rw-r--r--gnome-unstable/telepathy-glib/PKGBUILD32
-rw-r--r--gnome-unstable/telepathy-mission-control/PKGBUILD30
-rw-r--r--gnome-unstable/tomboy/PKGBUILD37
-rw-r--r--gnome-unstable/tomboy/tomboy.install25
-rw-r--r--gnome-unstable/totem/PKGBUILD72
-rw-r--r--gnome-unstable/totem/totem.install19
-rw-r--r--gnome-unstable/tracker/PKGBUILD84
-rw-r--r--gnome-unstable/tracker/tracker.install13
-rw-r--r--gnome-unstable/upower/PKGBUILD28
-rw-r--r--gnome-unstable/vala/PKGBUILD27
-rw-r--r--gnome-unstable/vinagre/PKGBUILD32
-rw-r--r--gnome-unstable/vinagre/vinagre.install20
-rw-r--r--gnome-unstable/vino/PKGBUILD32
-rw-r--r--gnome-unstable/vino/vino.install18
-rw-r--r--gnome-unstable/vte3/PKGBUILD43
-rw-r--r--gnome-unstable/yelp/PKGBUILD30
-rw-r--r--gnome-unstable/yelp/yelp.install19
-rw-r--r--gnome-unstable/zenity/PKGBUILD26
-rw-r--r--testing/alex/PKGBUILD31
-rw-r--r--testing/cabal-install/PKGBUILD27
-rw-r--r--testing/curl/PKGBUILD69
-rw-r--r--testing/curl/curlbuild.h9
-rw-r--r--testing/happy/PKGBUILD30
-rw-r--r--testing/icedtea-web-java7/PKGBUILD95
-rw-r--r--testing/icedtea-web-java7/icedtea-web-java7.install11
-rw-r--r--testing/inetutils/PKGBUILD79
-rw-r--r--testing/inetutils/dnsdomainname3
-rw-r--r--testing/inetutils/domainname3
-rw-r--r--testing/inetutils/ftpd.conf4
-rw-r--r--testing/inetutils/ftpd.rc37
-rw-r--r--testing/inetutils/inetutils.install20
-rw-r--r--testing/inetutils/rexec.xinetd10
-rw-r--r--testing/inetutils/rlogin.xinetd10
-rw-r--r--testing/inetutils/rsh.xinetd10
-rw-r--r--testing/inetutils/talk.xinetd10
-rw-r--r--testing/inetutils/telnet.xinetd10
-rw-r--r--testing/net-tools/PKGBUILD43
-rw-r--r--testing/net-tools/gcc340.patch46
-rw-r--r--testing/net-tools/net-tools-1.60-2.6-compilefix.patch23
-rw-r--r--testing/net-tools/net-tools-1.60-miiioctl.patch17
-rw-r--r--testing/net-tools/net-tools-1.60-nameif.patch58
-rw-r--r--testing/net-tools/net-tools-1.60-nameif_strncpy.patch13
-rw-r--r--testing/net-tools/net-tools.install12
-rw-r--r--testing/net-tools/net-tools.patch30
-rw-r--r--testing/nspr/PKGBUILD63
-rw-r--r--testing/nspr/nspr.pc.in10
-rw-r--r--testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch83
-rw-r--r--testing/perl/ChangeLog66
-rw-r--r--testing/perl/PKGBUILD109
-rw-r--r--testing/perl/fix-h2ph-and-tests.patch104
-rw-r--r--testing/perl/perl.install18
-rw-r--r--testing/perl/perlbin.csh15
-rwxr-xr-xtesting/perl/perlbin.sh18
-rw-r--r--testing/perl/provides.pl286
-rw-r--r--testing/postgresql-old-upgrade/PKGBUILD41
-rw-r--r--testing/postgresql/PKGBUILD138
-rwxr-xr-xtesting/postgresql/postgresql79
-rw-r--r--testing/postgresql/postgresql.confd11
-rw-r--r--testing/postgresql/postgresql.install26
-rw-r--r--testing/postgresql/postgresql.logrotate4
-rw-r--r--testing/postgresql/postgresql.pam3
-rw-r--r--testing/rsync/ChangeLog39
-rw-r--r--testing/rsync/PKGBUILD41
-rw-r--r--testing/rsync/rsync.xinetd11
-rw-r--r--testing/rsync/rsyncd43
-rw-r--r--testing/rsync/rsyncd.conf16
-rw-r--r--testing/sqlite3/PKGBUILD86
-rw-r--r--testing/sqlite3/license.txt33
-rw-r--r--testing/tzdata/Makefile.patch140
-rw-r--r--testing/tzdata/PKGBUILD48
-rw-r--r--testing/util-linux/PKGBUILD61
-rw-r--r--testing/xf86-input-acecad/PKGBUILD35
-rw-r--r--testing/xf86-input-acecad/assign-local-private-after-allocating.patch24
-rw-r--r--testing/xf86-input-aiptek/PKGBUILD32
-rw-r--r--testing/xf86-input-evdev/PKGBUILD31
-rw-r--r--testing/xf86-input-joystick/50-joystick.conf6
-rw-r--r--testing/xf86-input-joystick/PKGBUILD37
-rw-r--r--testing/xf86-input-keyboard/PKGBUILD26
-rw-r--r--testing/xf86-input-mouse/PKGBUILD30
-rw-r--r--testing/xf86-input-synaptics/10-synaptics.conf9
-rw-r--r--testing/xf86-input-synaptics/PKGBUILD43
-rw-r--r--testing/xf86-input-void/PKGBUILD33
-rw-r--r--testing/xf86-input-wacom/70-wacom.rules12
-rw-r--r--testing/xf86-input-wacom/PKGBUILD35
-rw-r--r--testing/xf86-video-apm/PKGBUILD26
-rw-r--r--testing/xf86-video-ark/PKGBUILD30
-rw-r--r--testing/xf86-video-ark/git-fixes.patch118
-rw-r--r--testing/xf86-video-ast/PKGBUILD26
-rw-r--r--testing/xf86-video-ati/PKGBUILD31
-rw-r--r--testing/xf86-video-chips/PKGBUILD31
-rw-r--r--testing/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch580
-rw-r--r--testing/xf86-video-cirrus/PKGBUILD26
-rw-r--r--testing/xf86-video-dummy/PKGBUILD26
-rw-r--r--testing/xf86-video-fbdev/PKGBUILD26
-rw-r--r--testing/xf86-video-glint/PKGBUILD26
-rw-r--r--testing/xf86-video-i128/PKGBUILD26
-rw-r--r--testing/xf86-video-i740/PKGBUILD26
-rw-r--r--testing/xf86-video-intel/PKGBUILD31
-rw-r--r--testing/xf86-video-mach64/PKGBUILD30
-rw-r--r--testing/xf86-video-mga/PKGBUILD30
-rw-r--r--testing/xf86-video-neomagic/PKGBUILD26
-rw-r--r--testing/xf86-video-nouveau/PKGBUILD41
-rw-r--r--testing/xf86-video-nouveau/xf86-video-nouveau.install16
-rw-r--r--testing/xf86-video-nv/PKGBUILD27
-rw-r--r--testing/xf86-video-openchrome/PKGBUILD28
-rw-r--r--testing/xf86-video-r128/PKGBUILD32
-rw-r--r--testing/xf86-video-r128/git-fixes.patch842
-rw-r--r--testing/xf86-video-rendition/PKGBUILD28
-rw-r--r--testing/xf86-video-s3/LICENSE25
-rw-r--r--testing/xf86-video-s3/PKGBUILD31
-rw-r--r--testing/xf86-video-s3/git-fixes.patch458
-rw-r--r--testing/xf86-video-s3virge/PKGBUILD31
-rw-r--r--testing/xf86-video-savage/PKGBUILD30
-rw-r--r--testing/xf86-video-siliconmotion/PKGBUILD28
-rw-r--r--testing/xf86-video-sis/PKGBUILD27
-rw-r--r--testing/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch25
-rw-r--r--testing/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch91
-rw-r--r--testing/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch65
-rw-r--r--testing/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch32
-rw-r--r--testing/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch38
-rw-r--r--testing/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch25
-rw-r--r--testing/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch89
-rw-r--r--testing/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch249
-rw-r--r--testing/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch45
-rw-r--r--testing/xf86-video-sisimedia/0009-update-for-rac-removal.patch69
-rw-r--r--testing/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch34
-rw-r--r--testing/xf86-video-sisimedia/0011-more-rac-removal.patch13
-rw-r--r--testing/xf86-video-sisimedia/COPYING139
-rw-r--r--testing/xf86-video-sisimedia/PKGBUILD82
-rw-r--r--testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch1376
-rw-r--r--testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch89
-rw-r--r--testing/xf86-video-sisimedia/xserver19.patch30
-rw-r--r--testing/xf86-video-sisusb/PKGBUILD26
-rw-r--r--testing/xf86-video-tdfx/PKGBUILD30
-rw-r--r--testing/xf86-video-trident/PKGBUILD27
-rw-r--r--testing/xf86-video-tseng/PKGBUILD29
-rw-r--r--testing/xf86-video-unichrome/LICENSE23
-rw-r--r--testing/xf86-video-unichrome/PKGBUILD26
-rw-r--r--testing/xf86-video-v4l/LICENSE826
-rw-r--r--testing/xf86-video-v4l/PKGBUILD32
-rw-r--r--testing/xf86-video-vesa/PKGBUILD30
-rw-r--r--testing/xf86-video-voodoo/PKGBUILD26
-rw-r--r--testing/xf86-video-xgi/PKGBUILD29
-rw-r--r--testing/xf86-video-xgi/git-fixes.patch451
-rw-r--r--testing/xf86-video-xgixp/PKGBUILD29
-rw-r--r--testing/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch23
-rw-r--r--testing/xorg-server/10-quirks.conf10
-rw-r--r--testing/xorg-server/PKGBUILD183
-rw-r--r--testing/xorg-server/autoconfig-nvidia.patch29
-rw-r--r--testing/xorg-server/xvfb-run180
-rw-r--r--testing/xorg-server/xvfb-run.1282
-rw-r--r--testing/xorg-xinit/06_move_serverauthfile_into_tmp.diff20
-rw-r--r--testing/xorg-xinit/PKGBUILD49
-rw-r--r--testing/xorg-xinit/xinitrc17
-rw-r--r--testing/xorg-xinit/xserverrc1
-rw-r--r--testing/xorg-xinit/xsession10
364 files changed, 20596 insertions, 0 deletions
diff --git a/community-testing/cegui/PKGBUILD b/community-testing/cegui/PKGBUILD
new file mode 100644
index 000000000..3ed27b997
--- /dev/null
+++ b/community-testing/cegui/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 55685 2011-09-17 21:14:32Z stephane $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>,
+# Contributor: Bjorn Lindeijer <bjorn@lindeijer.nl>
+
+pkgname=cegui
+pkgver=0.7.5
+pkgrel=5
+pkgdesc="A free library providing windowing and widgets for graphics APIs/engines"
+arch=('i686' 'x86_64')
+url="http://crayzedsgui.sourceforge.net"
+#options=('!libtool')
+license=("MIT")
+depends=('pcre' 'glew' 'expat' 'freetype2' 'libxml2' 'devil' 'freeglut' 'lua' 'silly')
+makedepends=('python2' 'doxygen')
+source=(http://downloads.sourceforge.net/crayzedsgui/CEGUI-$pkgver.tar.gz)
+md5sums=('38c79d1fdfaaa10f481c99a2ac479516')
+
+build() {
+ cd $srcdir/CEGUI-${pkgver}
+
+ sed -i '1i#include <cstddef>' cegui/include/CEGUIString.h
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-xerces-c \
+ --enable-null-renderer
+
+ make
+}
+
+package() {
+ cd $srcdir/CEGUI-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ #build docs
+ cd doc/doxygen && doxygen
+ cd .. && make DESTDIR=${pkgdir} install-html
+
+ install -Dm644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/community-testing/clementine/PKGBUILD b/community-testing/clementine/PKGBUILD
new file mode 100644
index 000000000..ca15e9f1f
--- /dev/null
+++ b/community-testing/clementine/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 55687 2011-09-17 21:14:43Z stephane $
+#Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+#Contributor: BlackEagle < ike DOT devolder AT gmail DOT com >
+#Contributor: Dany Martineau <dany.luc.martineau@gmail.com>
+
+pkgname=clementine
+pkgver=0.7.1
+pkgrel=7
+pkgdesc="A music player and library organizer"
+url="http://www.clementine-player.org/"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gstreamer0.10' 'taglib' 'glew' 'liblastfm' 'libgpod' 'libmtp' 'libplist' 'hicolor-icon-theme' 'qt' 'libimobiledevice')
+makedepends=('cmake' 'boost')
+optdepends=('gstreamer0.10-base-plugins: for more open formats'
+ 'gstreamer0.10-good-plugins: for use with "Good" plugin libraries'
+ 'gstreamer0.10-bad-plugins: for use with "Bad" plugin libraries'
+ 'gstreamer0.10-ugly-plugins: for use with "Ugly" plugin libraries')
+source=(http://clementine-player.googlecode.com/files/${pkgname}-${pkgver}.tar.gz
+ clementine-0.7.1-fix-devicekit.patch)
+sha1sums=('8b2025b8876f9f3fe33ef5001e0621f3a5d0f142'
+ 'd595e2746949363680e0d64fe2fb97b524c8d27c')
+install=clementine.install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i ../clementine-0.7.1-fix-devicekit.patch
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DSTATIC_SQLITE=0 -DENABLE_GIO=OFF
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community-testing/clementine/clementine-0.7.1-fix-devicekit.patch b/community-testing/clementine/clementine-0.7.1-fix-devicekit.patch
new file mode 100644
index 000000000..797a2c864
--- /dev/null
+++ b/community-testing/clementine/clementine-0.7.1-fix-devicekit.patch
@@ -0,0 +1,11 @@
+diff -Naur clementine-0.7.1.ori/src/config.h.in clementine-0.7.1/src/config.h.in
+--- clementine-0.7.1.ori/src/config.h.in 2011-03-29 12:16:15.000000000 -0700
++++ clementine-0.7.1/src/config.h.in 2011-05-09 16:00:26.505080057 -0700
+@@ -29,6 +29,7 @@
+ #cmakedefine HAVE_STATIC_SQLITE
+
+ #cmakedefine HAVE_DBUS
++#cmakedefine HAVE_DEVICEKIT
+ #cmakedefine HAVE_GIO
+ #cmakedefine HAVE_IMOBILEDEVICE
+ #cmakedefine HAVE_LIBARCHIVE
diff --git a/community-testing/clementine/clementine.install b/community-testing/clementine/clementine.install
new file mode 100644
index 000000000..2f0338d8a
--- /dev/null
+++ b/community-testing/clementine/clementine.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+
+post_remove() {
+ post_install $1
+}
diff --git a/community-testing/freewrl/PKGBUILD b/community-testing/freewrl/PKGBUILD
new file mode 100644
index 000000000..0d384e8dc
--- /dev/null
+++ b/community-testing/freewrl/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 55689 2011-09-17 21:14:49Z stephane $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=freewrl
+pkgver=1.22.10
+pkgrel=7
+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/openjdk6.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-testing/freewrl/build-fix.patch b/community-testing/freewrl/build-fix.patch
new file mode 100644
index 000000000..c0de71d07
--- /dev/null
+++ b/community-testing/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-testing/gambas3/PKGBUILD b/community-testing/gambas3/PKGBUILD
new file mode 100644
index 000000000..d2ed1c4fa
--- /dev/null
+++ b/community-testing/gambas3/PKGBUILD
@@ -0,0 +1,1083 @@
+# $Id: PKGBUILD 55693 2011-09-17 21:15:06Z stephane $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+
+pkgbase=gambas3
+pkgname=('gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gambas3-examples' 'gambas3-gb-cairo' 'gambas3-gb-chart'
+ 'gambas3-gb-dbus' 'gambas3-gb-compress' 'gambas3-gb-crypt' 'gambas3-gb-db' 'gambas3-gb-db-form' 'gambas3-gb-db-mysql'
+ 'gambas3-gb-db-odbc' 'gambas3-gb-db-postgresql' 'gambas3-gb-db-sqlite2' 'gambas3-gb-db-sqlite3'
+ 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight' 'gambas3-gb-form'
+ 'gambas3-gb-form-dialog' 'gambas3-gb-form-mdi' 'gambas3-gb-form-stock' 'gambas3-gb-gtk' 'gambas3-gb-gui' 'gambas3-gb-image'
+ 'gambas3-gb-image-effect' 'gambas3-gb-image-imlib' 'gambas3-gb-image-io' 'gambas3-gb-net' 'gambas3-gb-net-curl'
+ 'gambas3-gb-net-smtp' 'gambas3-gb-opengl' 'gambas3-gb-opengl-glu' 'gambas3-gb-opengl-glsl' 'gambas3-gb-option' 'gambas3-gb-pcre'
+ 'gambas3-gb-pdf' 'gambas3-gb-qt4' 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-opengl' 'gambas3-gb-qt4-webkit'
+ 'gambas3-gb-report' 'gambas3-gb-sdl' 'gambas3-gb-sdl-sound' 'gambas3-gb-settings' 'gambas3-gb-signal'
+ 'gambas3-gb-v4l' 'gambas3-gb-vb' 'gambas3-gb-xml' 'gambas3-gb-xml-rpc' 'gambas3-gb-xml-xslt' 'gambas3-gb-web')
+pkgver=2.99.3
+pkgrel=2
+pkgdesc="A free development environment based on a Basic interpreter."
+arch=('i686' 'x86_64')
+url="http://gambas.sourceforge.net/"
+license=('GPL')
+groups=('gambas3')
+makedepends=('intltool' 'mysql' 'postgresql' 'libffi' 'bzip2' 'glib2' 'v4l-utils'
+ 'zlib' 'mesa' 'libgl' 'glew>=1.7.0' 'xdg-utils' 'qt' 'gtk2' 'imlib2' 'gdk-pixbuf2'
+ 'postgresql-libs' 'libmysqlclient' 'unixodbc' 'sqlite2' 'sqlite3' 'librsvg'
+ 'curl' 'poppler-glib' 'sdl_mixer' 'sdl_ttf' 'libxtst' 'pcre'
+ 'libxcursor' 'libsm' 'dbus-core' 'libxml2' 'libxslt' 'libgnome-keyring')
+options=('!emptydirs' '!makeflags')
+source=("http://downloads.sourceforge.net/gambas/${pkgbase}-${pkgver}.tar.bz2"
+ 'gambas3-script.install' 'gambas3-runtime.install')
+md5sums=('e576fa9e72863dab0196250cb35f2a9b'
+ 'b284be39d147ec799f1116a6abc068b4'
+ 'b5cc403990f31b8ea1c5cf37366d3d29')
+
+build() {
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
+ ./reconf-all
+ ./configure --prefix=/usr -C
+
+ make bindir=${pkgdir}/usr/bin
+}
+
+package_gambas3-runtime() {
+ depends=('libffi' 'xdg-utils')
+ pkgdesc="Gambas3 runtime environment"
+ install=gambas3-runtime.install
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/main/gbc
+ make DESTDIR="${pkgdir}" install
+
+ cd ../gbx
+ make DESTDIR="${pkgdir}" install
+ cd ../lib/debug
+ make DESTDIR="${pkgdir}" install
+ cd ../eval
+ make DESTDIR="${pkgdir}" install
+ cd ../draw
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 ../gb.component \
+ ${pkgdir}/usr/lib/gambas3
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ ln -s gbx3 ${pkgdir}/usr/bin/gbr3
+ gbc/gbi3 -r ${pkgdir}/usr gb
+ rm -f ${pkgdir}/usr/lib/gambas3/gb.{so*,la}
+
+ ## needed for postinst with xdg-utils
+ install -d -m755 ${pkgdir}/usr/share/gambas3/mime
+ install -D -m644 mime/* \
+ ${pkgdir}/usr/share/gambas3/mime/
+ install -d -m755 ${pkgdir}/usr/share/gambas3/icons
+ install -D -m644 mime/application-x-gambas3.png \
+ ${pkgdir}/usr/share/gambas3/icons/application-x-gambas3.png
+
+ cd gbc
+ make DESTDIR="${pkgdir}" uninstall
+}
+
+package_gambas3-devel() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 development environment"
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/main/gbc
+ make DESTDIR="${pkgdir}" install
+}
+
+package_gambas3-ide() {
+ depends=('gambas3-devel' 'gambas3-gb-db-form' 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight'
+ 'gambas3-gb-form-dialog' 'gambas3-gb-settings' 'gambas3-gb-form-mdi' 'gambas3-gb-image-effect'
+ 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-webkit')
+ pkgdesc="Gambas3 Integrated Development Environment"
+
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+#!! with the ide !!
+ install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas3.desktop \
+ ${pkgdir}/usr/share/applications/gambas3.desktop
+ install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/app/desktop/gambas3.png \
+ ${pkgdir}/usr/share/pixmaps/gambas3.png
+
+ rm -r ${pkgdir}/usr/bin/gb*
+ rm -r ${pkgdir}/usr/lib
+ rm -r ${pkgdir}/usr/share/gambas3
+}
+
+package_gambas3-script() {
+ depends=('gambas3-devel')
+ pkgdesc="Gambas3 scripter and server programs support"
+ install=gambas3-script.install
+
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## needed for postinst with xdg-utils
+ cd ${srcdir}/${pkgbase}-${pkgver}/app/mime
+ install -d -m755 ${pkgdir}/usr/share/gambas3/mime
+ install -D -m644 *.xml ${pkgdir}/usr/share/gambas3/mime/
+ install -D -m644 *.png ${pkgdir}/usr/share/gambas3/mime/
+ ##
+
+ rm -r ${pkgdir}/usr/bin/{gambas*,gb{[a-r]*,x*}}
+ rm -r ${pkgdir}/usr/lib
+ rm -r ${pkgdir}/usr/share/gambas3/[c-i]*
+}
+
+package_gambas3-examples() {
+ depends=('gambas3-gb-cairo' 'gambas3-gb-chart' 'gambas3-gb-dbus' 'gambas3-gb-compress' 'gambas3-gb-crypt' 'gambas3-gb-db'
+ 'gambas3-gb-db-form' 'gambas3-gb-db-mysql' 'gambas3-gb-db-odbc' 'gambas3-gb-db-postgresql' 'gambas3-gb-db-sqlite2'
+ 'gambas3-gb-db-sqlite3' 'gambas3-gb-desktop' 'gambas3-gb-eval-highlight' 'gambas3-gb-form' 'gambas3-gb-form-dialog'
+ 'gambas3-gb-form-mdi' 'gambas3-gb-gtk' 'gambas3-gb-gui' 'gambas3-gb-image' 'gambas3-gb-image-effect' 'gambas3-gb-image-imlib'
+ 'gambas3-gb-image-io' 'gambas3-gb-net' 'gambas3-gb-net-curl' 'gambas3-gb-net-smtp' 'gambas3-gb-opengl' 'gambas3-gb-opengl-glsl'
+ 'gambas3-gb-option' 'gambas3-gb-pcre' 'gambas3-gb-pdf' 'gambas3-gb-qt4' 'gambas3-gb-qt4-ext' 'gambas3-gb-qt4-opengl'
+ 'gambas3-gb-qt4-webkit' 'gambas3-gb-report' 'gambas3-gb-sdl' 'gambas3-gb-sdl-sound' 'gambas3-gb-settings' 'gambas3-gb-signal'
+ 'gambas3-gb-v4l' 'gambas3-gb-vb' 'gambas3-gb-xml' 'gambas3-gb-xml-rpc' 'gambas3-gb-xml-xslt' 'gambas3-gb-web')
+ pkgdesc="Gambas3 examples"
+
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ rm -r ${pkgdir}/usr/{bin,lib}
+ rm -r ${pkgdir}/usr/share/gambas3/{info,control,gb.sdl}
+}
+
+package_gambas3-gb-cairo() {
+ depends=('gambas3-runtime' 'cairo')
+ pkgdesc="Gambas3 cairo component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.cairo
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-chart() {
+ depends=('gambas3-gb-form')
+ pkgdesc="Gambas3 chart component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/share/gambas3/control
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.[d-w]*
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.[d-w]*
+ ##
+}
+
+package_gambas3-gb-compress() {
+ depends=('gambas3-runtime' 'bzip2' 'zlib')
+ pkgdesc="Gambas3 compression support component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.compress.bzlib2
+ make DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.compress.zlib
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ rm -r ${pkgdir}/usr/bin
+ rm -r ${pkgdir}/usr/lib/gambas3/{gb.component,gb.[d-v]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.[d-v]*
+ ##
+}
+
+package_gambas3-gb-crypt() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 MD5/DES crypting component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.crypt
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-db() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 database access component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ ## Workaround for splitting
+ rm -r ${pkgdir}/usr/bin
+ rm -r ${pkgdir}/usr/lib/gambas3/{gb.comp*,gb.d{e,r}*,gb.[e-z]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/{gb.comp*,gb.de*,gb.[e-z]*}
+ ##
+}
+
+package_gambas3-gb-db-form() {
+ depends=('gambas3-gb-db' 'gambas3-gb-form')
+ pkgdesc="Gambas3 database form component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/share/gambas3/control
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.{chart*,[e-z]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.{chart*,[e-z]*}
+ ##
+}
+
+package_gambas3-gb-db-mysql() {
+ depends=('gambas3-gb-db' 'libmysqlclient')
+ pkgdesc="Gambas3 MySQL database access component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.mysql
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-db-odbc() {
+ depends=('gambas3-gb-db' 'unixodbc')
+ pkgdesc="Gambas3 ODBC database access component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.odbc
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-db-postgresql() {
+ depends=('gambas3-gb-db' 'postgresql-libs')
+ pkgdesc="Gambas3 PostgreSQL database access component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.postgresql
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-db-sqlite2() {
+ depends=('gambas3-gb-db' 'sqlite2')
+ pkgdesc="Gambas3 Sqlite2 database access component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.sqlite2
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-db-sqlite3() {
+ depends=('gambas3-gb-db' 'sqlite3')
+ pkgdesc="Gambas3 Sqlite3 database access component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.db.sqlite3
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-desktop() {
+ depends=('gambas3-gb-image' 'libsm' 'libxtst' 'libgnome-keyring')
+ pkgdesc="Gambas3 desktop component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.desktop
+ make DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-dbus() {
+ depends=('gambas3-runtime' 'dbus-core')
+ pkgdesc="Gambas3 DBUS component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.dbus
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-eval-highlight() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 expression evaluator highlight component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.[f-z]*
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.[f-z]*
+ ##
+}
+
+package_gambas3-gb-form() {
+ depends=('gambas3-gb-gui')
+ pkgdesc="Gambas3 form component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/share/gambas3/control/{gb.db*,gb.form.*,gb.report}
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{d*,m*,s*}}
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{d*,m*,s*}}
+ ##
+}
+
+package_gambas3-gb-form-dialog() {
+ depends=('gambas3-gb-form')
+ pkgdesc="Gambas3 form dialog component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/share/gambas3/control
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{c*,g*,m*,s*}}
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{i*,l*,m*,s*}}
+ ##
+}
+
+package_gambas3-gb-form-mdi() {
+ depends=('gambas3-gb-form')
+ pkgdesc="Gambas3 form MDI component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/share/gambas3/control/{gb.db*,gb.form,gb.report}
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-e]*,[m-w]*,form.{c*,d*,g*,s*}}
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-e]*,[m-w]*,form.{i*,l*,d*,s*}}
+ ##
+}
+
+package_gambas3-gb-form-stock() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 default stock icons component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.{eval*,[m-w]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.{eval*,[m-w]*}
+ ##
+}
+
+package_gambas3-gb-gtk() {
+ depends=('gambas3-gb-image' 'gtk2' 'librsvg')
+ pkgdesc="Gambas3 graphical GTK+ toolkit component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.gtk
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-gui() {
+ depends=('gambas3-gb-qt4' 'gambas3-gb-gtk')
+ pkgdesc="Gambas3 automatic gui toolkit chooser"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/main/lib/gui
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/bin
+ rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-e]*,gb.[i-z]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-e]*,gb.[i-z]*}
+ ##
+}
+
+package_gambas3-gb-image() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 image component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ ## cleanup the workaround
+ rm -r ${pkgdir}/usr/bin
+ rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-g]*,gb.image.e*,gb.[j-z]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-g]*,gb.info,gb.image.e*,gb.[j-z]*}
+ ##
+}
+
+package_gambas3-gb-image-effect() {
+ depends=('gambas3-gb-image')
+ pkgdesc="Gambas3 image effect component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ ## cleanup the workaround
+ rm -r ${pkgdir}/usr/bin
+ rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-g]*,gb.image.{c*,l*,s*},gb.[j-z]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-g]*,gb.info,gb.image.{i*,l*},gb.[j-z]*}
+ ##
+}
+
+package_gambas3-gb-image-imlib() {
+ depends=('gambas3-gb-image' 'imlib2')
+ pkgdesc="Gambas3 imlib component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.image.imlib
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-image-io() {
+ depends=('gambas3-gb-image' 'gdk-pixbuf2')
+ pkgdesc="Gambas3 input/output component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.image.io
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-net() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 network component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.net
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-net-curl() {
+ depends=('gambas3-gb-net' 'curl')
+ pkgdesc="Gambas3 curl component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-net-smtp() {
+ depends=('gambas3-runtime' 'glib2')
+ pkgdesc="Gambas3 SMTP component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.smtp
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-opengl() {
+ depends=('gambas3-runtime' 'libgl' 'glew')
+ pkgdesc="Gambas3 OpenGL component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glsl
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glu
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-opengl-glu() {
+ depends=('gambas3-gb-opengl')
+ pkgdesc="Gambas3 GL Utility component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glu
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-opengl-glsl() {
+ depends=('gambas3-gb-opengl')
+ pkgdesc="Gambas3 GLSL component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.opengl/src/glsl
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-option() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 getopt component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ ## cleanup the workaround
+ rm -r ${pkgdir}/usr/bin
+ rm -r ${pkgdir}/usr/lib/gambas3/{gb.[a-n]*,gb.[p-z]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[a-n]*,gb.[p-z]*}
+ ##
+}
+
+package_gambas3-gb-pcre() {
+ depends=('gambas3-runtime' 'pcre')
+ pkgdesc="Gambas3 PCRE component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.pcre
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-pdf() {
+ depends=('gambas3-runtime' 'poppler')
+ pkgdesc="Gambas3 PDF component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.pdf
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-qt4() {
+ depends=('gambas3-gb-image' 'qt')
+ pkgdesc="Gambas3 Qt4 toolkit component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/ext
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/opengl
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/webkit
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-qt4-ext() {
+ depends=('gambas3-gb-qt4')
+ pkgdesc="Gambas3 Qt4 toolkit extended component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/ext
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-qt4-opengl() {
+ depends=('gambas3-gb-qt4' 'libgl')
+ pkgdesc="Gambas3 Qt4 toolkit OpenGL component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/opengl
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-qt4-webkit() {
+ depends=('gambas3-gb-qt4')
+ pkgdesc="Gambas3 Qt4 toolkit webkit component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4/src/webkit
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-report() {
+ depends=('gambas3-gb-form' 'gambas3-gb-image-io')
+ pkgdesc="Gambas3 report component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.qt4
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/share/gambas3/control/gb.[d-f]*
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-m]*,[s-w]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-m]*,[s-w]*}
+ ##
+}
+
+package_gambas3-gb-sdl() {
+ depends=('gambas3-gb-image-io' 'sdl_ttf' 'libxcursor' 'glew' 'libgl')
+ pkgdesc="Gambas3 SDL component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.sdl
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-sdl-sound() {
+ depends=('gambas3-runtime' 'sdl_mixer')
+ pkgdesc="Gambas3 SDL sound component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.sdl.sound
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-settings() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 setting component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.{[c-r]*,[t-w]*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.{[c-r]*,[t-w]*}
+ ##
+}
+
+package_gambas3-gb-signal() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 signal component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ ## cleanup the workaround
+ rm -r ${pkgdir}/usr/bin
+ rm -r ${pkgdir}/usr/lib/gambas3/{gb.[c-r]*,gb.[t-z]*,gb.so*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/{gb.[c-r]*,gb.[t-z]*}
+ ##
+}
+
+package_gambas3-gb-v4l() {
+ depends=('gambas3-runtime' 'v4l-utils' 'libjpeg' 'libpng')
+ pkgdesc="Gambas3 video4linux component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.v4l
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-vb() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 VB transitional component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ ## Workaround for splitting
+ rm -r ${pkgdir}/usr/bin
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.[a-u]*
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.[a-u]*
+ ##
+}
+
+package_gambas3-gb-xml() {
+ depends=('gambas3-runtime' 'libxml2')
+ pkgdesc="Gambas3 XML component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/xslt
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/rpc
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-xml-rpc() {
+ depends=('gambas3-gb-xml' 'gambas3-gb-net' 'gambas3-gb-net-curl')
+ pkgdesc="Gambas3 XML-RPC component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.net
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.net
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.net.curl
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.xml.{[c-l]*,xslt*,so*}
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.xml.{[i-l]*,x*}
+ ##
+}
+
+package_gambas3-gb-xml-xslt() {
+ depends=('gambas3-gb-xml' 'libxslt')
+ pkgdesc="Gambas3 XML-XSLT component"
+
+ ## workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/gb.xml/src/xslt
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+
+ ## cleanup the workaround
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ ##
+}
+
+package_gambas3-gb-web() {
+ depends=('gambas3-runtime')
+ pkgdesc="Gambas3 CGI component"
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" install
+ ##
+
+ cd ${srcdir}/${pkgbase}-${pkgver}/comp
+ make DESTDIR="${pkgdir}" install
+
+ ## Workaround for splitting
+ cd ${srcdir}/${pkgbase}-${pkgver}/main
+ make XDG_UTILS='' DESTDIR="${pkgdir}" uninstall
+ rm -r ${pkgdir}/usr/lib/gambas3/gb.[c-v]*
+ rm -r ${pkgdir}/usr/share/gambas3/info/gb.[c-v]*
+ ##
+}
diff --git a/community-testing/gambas3/gambas3-runtime.install b/community-testing/gambas3/gambas3-runtime.install
new file mode 100644
index 000000000..6c8201a6a
--- /dev/null
+++ b/community-testing/gambas3/gambas3-runtime.install
@@ -0,0 +1,10 @@
+post_install() {
+ xdg-icon-resource install --context mimetypes --size 64 \
+ /usr/share/gambas3/mime/application-x-gambas.png application-x-gambas3
+ xdg-mime install /usr/share/gambas3/mime/application-x-gambas3.xml
+}
+
+pre_remove() {
+ xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambas3
+ xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambas3.xml
+}
diff --git a/community-testing/gambas3/gambas3-script.install b/community-testing/gambas3/gambas3-script.install
new file mode 100644
index 000000000..77c1aa52f
--- /dev/null
+++ b/community-testing/gambas3/gambas3-script.install
@@ -0,0 +1,15 @@
+post_install() {
+ xdg-icon-resource install --context mimetypes --size 64 \
+ /usr/share/gambas3/mime/application-x-gambasscript.png application-x-gambasscript
+ xdg-icon-resource install --context mimetypes --size 64 \
+ /usr/share/gambas3/mime/application-x-gambasserverpage.png application-x-gambasserverpage
+ xdg-mime install /usr/share/gambas3/mime/application-x-gambasscript.xml
+ xdg-mime install /usr/share/gambas3/mime/application-x-gambasserverpage.xml
+}
+
+pre_remove() {
+ xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasscript
+ xdg-icon-resource uninstall --context mimetypes --size 64 application-x-gambasserverpage
+ xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambasscript.xml
+ xdg-mime uninstall /usr/share/gambas3/mime/application-x-gambasserverpage.xml
+}
diff --git a/community-testing/gource/PKGBUILD b/community-testing/gource/PKGBUILD
new file mode 100644
index 000000000..304da9581
--- /dev/null
+++ b/community-testing/gource/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 55695 2011-09-17 21:15:10Z stephane $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Jose Valecillos <valecillosjg (at) gmail (dot) com>
+# Contributor: Olivier Ramonat <olivier at ramonat dot fr>
+pkgname=gource
+pkgver=0.35
+pkgrel=2
+pkgdesc="software version control visualization"
+license=(GPL3)
+arch=(i686 x86_64)
+url=http://code.google.com/p/gource/
+depends=('ftgl' 'sdl' 'sdl_image' 'pcre' 'glew')
+source=(http://gource.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+md5sums=('6d4f776d314da3ae5d309cb580b83a9f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR=$pkgdir install
+}
+# vim: ts=2:sw=2 et:
diff --git a/community-testing/lightspark/PKGBUILD b/community-testing/lightspark/PKGBUILD
new file mode 100644
index 000000000..bebe10722
--- /dev/null
+++ b/community-testing/lightspark/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=lightspark
+pkgver=0.5.1
+pkgrel=2
+pkgdesc='An alternative Flash Player for Linux.'
+arch=('i686' 'x86_64')
+url='http://lightspark.sourceforge.net'
+license=('LGPL3')
+conflicts=('lightspark-git')
+depends=('mesa' 'ftgl' 'sdl' 'gtk2' 'curl' 'zlib' 'ffmpeg' 'glew' 'pcre' 'libpulse' 'libffi' 'boost-libs' 'glibmm' 'gtkglext' 'desktop-file-utils' 'libxml++' 'libxml2')
+makedepends=('cmake' 'nasm' 'xulrunner' 'llvm' 'glproto' 'boost' 'fontconfig')
+optdepends=('gnash-gtk: fallback support')
+install="lightspark.install"
+source=("http://launchpad.net/lightspark/trunk/lightspark-${pkgver}/+download/lightspark-${pkgver}.tgz")
+md5sums=('aa0daa22646c2a663ec5045074451d45')
+
+build() {
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCOMPILE_PLUGIN=1 \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DGNASH_EXE_PATH=/usr/bin/gtk-gnash \
+ ..
+
+ make
+}
+
+package() {
+ cd build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community-testing/lightspark/lightspark.install b/community-testing/lightspark/lightspark.install
new file mode 100644
index 000000000..75e2b7b55
--- /dev/null
+++ b/community-testing/lightspark/lightspark.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community-testing/luxrays/PKGBUILD b/community-testing/luxrays/PKGBUILD
new file mode 100644
index 000000000..3c7e3497d
--- /dev/null
+++ b/community-testing/luxrays/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 55699 2011-09-17 21:15:20Z stephane $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=luxrays
+pkgver=0.8
+_pkgver=ed424ec77571
+pkgrel=5
+epoch=0
+pkgdesc="Accelerate the ray intersection process by using GPUs"
+arch=('i686' 'x86_64')
+url="http://www.luxrender.net/"
+license=('GPL')
+depends=('freeimage' 'freeglut' 'glew' 'libcl')
+makedepends=('cmake' 'boost' 'opencl-headers')
+source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2)
+md5sums=('2ac9c588675c5971c57f473ef10ac67d')
+
+build() {
+ cd "$srcdir/luxrender-$pkgname-$_pkgver"
+
+ export CXXFLAGS="$CXXFLAGS -lpthread"
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DLUXRAYS_DISABLE_OPENCL=OFF \
+ .
+ make
+}
+
+package() {
+ cd "$srcdir/luxrender-$pkgname-$_pkgver"
+
+ install -d -m755 "$pkgdir"/usr/{bin,include,lib}
+ install -m755 bin/* "$pkgdir"/usr/bin
+ install -m644 lib/* "$pkgdir"/usr/lib
+ cp -a include/luxrays "$pkgdir"/usr/include
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/performous/PKGBUILD b/community-testing/performous/PKGBUILD
new file mode 100644
index 000000000..519bdd30c
--- /dev/null
+++ b/community-testing/performous/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 55701 2011-09-17 21:15:24Z stephane $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+pkgname=performous
+pkgver=0.6.1
+pkgrel=9
+pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"'
+arch=('i686' 'x86_64')
+url="http://performous.org/"
+license=('GPL')
+depends=('boost-libs>=1.47' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' \
+ 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo')
+makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.47')
+optdepends=('performous-freesongs: free songs for performous')
+source=(http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/Performous-$pkgver-Source.tar.bz2)
+md5sums=('451a759de77984b5a699e91107fe52e2')
+
+build() {
+ cd ${srcdir}/Performous-${pkgver}-Source
+
+ mkdir -p build
+ cd build
+
+ # fix config loading with libxml++
+ export LDFLAGS=${LDFLAGS/-Wl,--as-needed/}
+ # fix to built against boost 1.46, upstream (git) now support v3
+ export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2"
+
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr ..
+
+ make
+}
+
+package() {
+ cd ${srcdir}/Performous-${pkgver}-Source/build
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community-testing/pysfml/PKGBUILD b/community-testing/pysfml/PKGBUILD
new file mode 100644
index 000000000..204197c1b
--- /dev/null
+++ b/community-testing/pysfml/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 29367 2010-10-13 15:58:47Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: scj <scj(at)archlinux(dot)us>
+
+pkgname=('python-pysfml' 'python2-pysfml')
+pkgbase=python-pysfml
+pkgver=1.6
+pkgrel=2
+pkgdesc="Python bindings for the SFML library"
+arch=('i686' 'x86_64')
+url="http://www.sfml-dev.org"
+makedepends=('sfml' 'python' 'python2')
+license=('zlib')
+depends=()
+replaces=('pysfml')
+source=(http://downloads.sourceforge.net/sfml/SFML-${pkgver}-python-sdk.zip)
+md5sums=('9acaf793ae9a498a51f7f6fc74307b32')
+
+build() {
+ cd "${srcdir}/SFML-${pkgver}/python"
+}
+
+package_python-pysfml() {
+ depends=('sfml' 'python')
+
+ cd "${srcdir}/SFML-${pkgver}/python"
+
+ python3 setup.py install --root=${pkgdir}
+}
+
+package_python2-pysfml() {
+ depends=('sfml' 'python2')
+
+ cd "${srcdir}/SFML-${pkgver}/python"
+
+ python2 setup.py install --root=${pkgdir}
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/python-bsddb/LICENSE b/community-testing/python-bsddb/LICENSE
new file mode 100644
index 000000000..7d6035775
--- /dev/null
+++ b/community-testing/python-bsddb/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2008-2009 Jesus Cea Avion
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE. \ No newline at end of file
diff --git a/community-testing/python-bsddb/PKGBUILD b/community-testing/python-bsddb/PKGBUILD
new file mode 100644
index 000000000..369b2cea8
--- /dev/null
+++ b/community-testing/python-bsddb/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 55784 2011-09-20 16:16:43Z stephane $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsandrade@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgbase=python-bsddb
+pkgname=('python2-bsddb' 'python-bsddb')
+pkgver=5.2.0
+pkgrel=2
+pkgdesc="Python interface for BerkeleyDB"
+license=('MIT')
+arch=('i686' 'x86_64')
+url="http://www.jcea.es/programacion/pybsddb.htm"
+makedepends=('python2-distribute' 'python-distribute')
+source=(http://pypi.python.org/packages/source/b/bsddb3/bsddb3-${pkgver}.tar.gz
+ LICENSE)
+sha1sums=('4395c125807fc8c4bac4d367f4556e623605c7a8'
+ 'ef4e4caf618781104dbf5824279ed39d127b4713')
+
+build () {
+ cd "${srcdir}"
+
+ cp -r bsddb3-${pkgver}{,-python2}
+
+ # Build python 3 module
+ cd bsddb3-${pkgver}
+ python setup.py --berkeley-db=/usr build
+
+ # Build python 2 module
+ cd ../bsddb3-${pkgver}-python2
+ python2 setup.py --berkeley-db=/usr build
+}
+
+package_python2-bsddb() {
+ depends=('db' 'python2>=2.7')
+ cd "${srcdir}/bsddb3-${pkgver}-python2"
+
+ python2 setup.py --berkeley-db=/usr install --root="${pkgdir}" --skip-build --optimize=1
+ install -Dm644 "${srcdir}"/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_python-bsddb() {
+ depends=('db' 'python>=3.2')
+ cd "${srcdir}/bsddb3-${pkgver}"
+
+ python setup.py --berkeley-db=/usr install --root="${pkgdir}" --skip-build --optimize=1
+ install -Dm644 "${srcdir}"/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/community-testing/root/PKGBUILD b/community-testing/root/PKGBUILD
new file mode 100644
index 000000000..2b246efc2
--- /dev/null
+++ b/community-testing/root/PKGBUILD
@@ -0,0 +1,87 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Sebastian Voecking <voeck@web.de>
+
+pkgname=root
+pkgver=5.30.01
+pkgrel=2
+pkgdesc='C++ data analysis framework and interpreter from CERN.'
+arch=('i686' 'x86_64')
+url='http://root.cern.ch'
+license=('LGPL2.1')
+depends=('avahi' 'desktop-file-utils' 'ftgl' 'giflib' 'glew' 'graphviz' 'gsl' 'libldap' 'libmysqlclient'
+ 'libxft' 'postgresql-libs' 'python2' 'unixodbc' 'shared-mime-info' 'xmlrpc-c' 'xorg-fonts-75dpi' 'mesa' 'gcc-fortran')
+makedepends=('fftw')
+install='root.install'
+source=("ftp://root.cern.ch/root/root_v${pkgver}.source.tar.gz"
+ 'root.sh'
+ 'rootd'
+ 'root.desktop'
+ 'root.xml')
+md5sums=('be7443a1b243c51b3c1ec435a5a9453e'
+ '0e883ad44f99da9bc7c23bc102800b62'
+ 'efd06bfa230cc2194b38e0c8939e72af'
+ 'ac61b17395d75a2705fefa2ef841a6bf'
+ 'e2cf69b204192b5889ceb5b4dedc66f7')
+
+build() {
+ cd root
+
+ if [ ${CARCH} == 'i686' ]; then
+ TARGET=linux;
+ else
+ TARGET=linuxx8664gcc;
+ fi
+
+ # python2 switch
+ find . -type f -exec sed -i -e 's/python -O/python2 -O/g' -e 's/python -c/python2 -c/g' {} \;
+ sed \
+ -e 's/python 2/python2 2/g' \
+ -i configure
+ sed \
+ -e 's/python $(pkgpyexecdir)/python2 $(pkgpyexecdir)/g' \
+ -i cint/reflex/python/genreflex/Makefile.am
+ sed \
+ -e 's/python /python2 /' \
+ -i config/genreflex.in config/genreflex-rootcint.in
+
+ ./configure \
+ ${TARGET} \
+ --prefix=/usr \
+ --disable-builtin-ftgl \
+ --disable-builtin-freetype \
+ --disable-builtin-glew \
+ --disable-builtin-pcre \
+ --disable-builtin-zlib \
+ --disable-builtin-lzma \
+ --enable-gdml \
+ --enable-gsl-shared \
+ --enable-minuit2 \
+ --enable-soversion \
+ --enable-roofit \
+ --enable-python \
+ --with-python-incdir=/usr/include/python2.7 \
+ --with-python-libdir=/usr/lib \
+ --enable-explicitlink
+
+ # move from aur
+ #--disable-builtin-afterimage \
+
+ make
+}
+
+package() {
+ cd root
+
+ make DESTDIR=${pkgdir} install
+
+ install -D ${srcdir}/root.sh \
+ ${pkgdir}/etc/profile.d/root.sh
+ install -D ${srcdir}/rootd \
+ ${pkgdir}/etc/rc.d/rootd
+ install -D -m644 ${srcdir}/root.desktop \
+ ${pkgdir}/usr/share/applications/root.desktop
+ install -D -m644 ${srcdir}/root.xml \
+ ${pkgdir}/usr/share/mime/packages/root.xml
+
+ rm -rf ${pkgdir}/etc/root/daemons
+}
diff --git a/community-testing/root/root.desktop b/community-testing/root/root.desktop
new file mode 100644
index 000000000..ca382111c
--- /dev/null
+++ b/community-testing/root/root.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Exec=root
+Terminal=true
+Name=ROOT
+Name[de]=ROOT
+Comment=An object-oriented data analysis framework
+Comment[de]=Ein objektorientiertes Framework zur Datenanalyse
+StartupNotify=true
+MimeType=application/x-root;text/x-c++src
+Categories=Science;Development;Application;
diff --git a/community-testing/root/root.install b/community-testing/root/root.install
new file mode 100644
index 000000000..457af7314
--- /dev/null
+++ b/community-testing/root/root.install
@@ -0,0 +1,17 @@
+post_install() {
+ if ! [ `grep '/usr/lib/root' etc/ld.so.conf` ]; then
+ echo "/usr/lib/root" >> etc/ld.so.conf
+ sbin/ldconfig -r .
+ fi
+
+ update-desktop-database >/dev/null
+
+ update-mime-database /usr/share/mime >/dev/null
+}
+
+pre_remove() {
+ cat etc/ld.so.conf | grep -v '/usr/lib/root' >/tmp/.pacroot
+ mv /tmp/.pacroot etc/ld.so.conf
+ chmod 644 etc/ld.so.conf
+ sbin/ldconfig -r .
+}
diff --git a/community-testing/root/root.sh b/community-testing/root/root.sh
new file mode 100644
index 000000000..685e6036b
--- /dev/null
+++ b/community-testing/root/root.sh
@@ -0,0 +1,5 @@
+if [ $PYTHONPATH ]; then
+ export PYTHONPATH=$PYTHONPATH:/usr/lib/root;
+else
+ export PYTHONPATH=/usr/lib/root;
+fi
diff --git a/community-testing/root/root.xml b/community-testing/root/root.xml
new file mode 100644
index 000000000..af8dd69c5
--- /dev/null
+++ b/community-testing/root/root.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+ <mime-type type="application/x-root">
+ <comment>ROOT file</comment>
+ <comment xml:lang="de">ROOT-Datei</comment>
+ <glob pattern="*.root"/>
+ <magic priority="80">
+ <match value="root" type="string" offset="0:64"/>
+ </magic>
+ </mime-type>
+</mime-info>
diff --git a/community-testing/root/rootd b/community-testing/root/rootd
new file mode 100755
index 000000000..fb2c3388c
--- /dev/null
+++ b/community-testing/root/rootd
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/rootd`
+case "$1" in
+ start)
+ stat_busy "Starting ROOT file server daemon"
+ [ -z "$PID" ] && /usr/bin/rootd >>/var/log/root.log 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ PID=`pidof -o %PPID /usr/sbin/rootd`
+ echo $PID >/var/run/rootd.pid
+ add_daemon rootd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping ROOT file server daemon"
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon rootd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/rss-glx/PKGBUILD b/community-testing/rss-glx/PKGBUILD
new file mode 100644
index 000000000..a9bf5635a
--- /dev/null
+++ b/community-testing/rss-glx/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 55705 2011-09-17 21:15:47Z stephane $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Corrado 'bardo' Primier <corrado.primier@mail.polimi.it>
+# Contributor: Tate "Tatey" Johnson <tatey86@tpg.com.au>
+
+pkgname=rss-glx
+pkgver=0.9.1
+pkgrel=8
+pkgdesc="The Really Slick Screensavers port to GLX"
+arch=('i686' 'x86_64')
+url="http://rss-glx.sourceforge.net/"
+license=('GPL')
+depends=('desktop-file-utils' 'freealut' 'glew' 'imagemagick')
+optdepends=('xscreensaver: xscreensaver integration')
+install=rss-glx.install
+options=('!libtool')
+source=(http://downloads.sourceforge.net/rss-glx/${pkgname}_${pkgver}.tar.bz2
+ rss-glx-desktops.tar.bz2)
+md5sums=('a772bd143cd8d141edf4d9eff9860ab3'
+ '4211215c9a4918b0dff30a7000647dd9')
+
+build() {
+ cd ${srcdir}/${pkgname}_${pkgver}
+
+ [ "$CARCH" = "x86_64" ] && (sed -i -e 's|@LIBS@|@LIBS@ -fopenmp|g' src/Makefile.in)
+
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --program-transform-name='s/plasma/plasma_rss/' \
+ --with-configdir=/usr/share/xscreensaver/config \
+ --with-kdessconfigdir=/usr/share/applnk/System/ScreenSavers \
+ --enable-shared=yes --enable-static=no
+ make CFLAGS="$CFLAGS -I/usr/include/ImageMagick"
+}
+
+package() {
+ cd ${srcdir}/${pkgname}_${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ # FS#18300
+ install -d ${pkgdir}/usr/lib/xscreensaver/
+ list=$(ls ${pkgdir}/usr/bin --ignore rss-glx_install.pl)
+ for i in $list; do
+ ln -s "/usr/bin/$i" "$pkgdir/usr/lib/xscreensaver/"
+ done
+
+ install -d ${pkgdir}/usr/share/applications/screensavers
+ install -m644 ${srcdir}/${pkgname}-desktops/*.desktop ${pkgdir}/usr/share/applications/screensavers
+}
diff --git a/community-testing/rss-glx/rss-glx-desktops.tar.bz2 b/community-testing/rss-glx/rss-glx-desktops.tar.bz2
new file mode 100644
index 000000000..940fd5277
--- /dev/null
+++ b/community-testing/rss-glx/rss-glx-desktops.tar.bz2
Binary files differ
diff --git a/community-testing/rss-glx/rss-glx.install b/community-testing/rss-glx/rss-glx.install
new file mode 100644
index 000000000..758642618
--- /dev/null
+++ b/community-testing/rss-glx/rss-glx.install
@@ -0,0 +1,12 @@
+post_install() {
+ cat << 'EOM'
+ --> If you want to integrate the RSS screen savers with xscreensaver
+ --> for your user, then install the xscreensaver package and launch
+ --> the command "rss-glx_install.pl"
+EOM
+ update-desktop-database -q
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/community-testing/sfml/PKGBUILD b/community-testing/sfml/PKGBUILD
new file mode 100644
index 000000000..20a5bd87c
--- /dev/null
+++ b/community-testing/sfml/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 55707 2011-09-17 21:15:53Z stephane $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Ondrej Martinak <omartinak@gmail.com>
+
+pkgname=sfml
+
+_git=true
+
+if [[ "${_git}" = "true" ]]; then
+ pkgver=1.99.git20110917
+fi
+
+pkgrel=1
+pkgdesc='A simple, fast, cross-platform, and object-oriented multimedia API'
+arch=('i686' 'x86_64')
+url='http://www.sfml-dev.org/'
+license=('zlib')
+depends=('libsndfile' 'libxrandr' 'libjpeg' 'openal' 'glew' 'freetype2')
+makedepends=('git' 'mesa' 'cmake' 'doxygen')
+install=sfml.install
+
+_gitroot='https://github.com/LaurentGomila/SFML.git'
+_gitname='SFML'
+
+build() {
+ cd "$srcdir"
+ msg "Connecting to GIT server...."
+
+ if [ -d $_gitname ] ; then
+ cd $_gitname && git pull origin
+ msg "The local files are updated."
+ else
+ git clone $_gitroot
+ cd $_gitname
+ fi
+
+ msg "GIT checkout done or server timeout"
+ msg "Starting make..."
+
+ rm -rf "$srcdir/$_gitname-build"
+ cp -r "$srcdir/$_gitname" "$srcdir/$_gitname-build"
+ cd "$srcdir/$_gitname-build"
+
+ mkdir build && cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr .. \
+ -DBUILD_DOC=true \
+ -DBUILD_EXAMPLES=true
+ make
+ make doc
+}
+
+package() {
+ cd "$srcdir/$_gitname-build/build"
+ make DESTDIR="$pkgdir/" install
+
+ install -Dm644 ../license.txt \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+
+ make clean
+}
+
diff --git a/community-testing/sfml/sfml.install b/community-testing/sfml/sfml.install
new file mode 100644
index 000000000..75f760be6
--- /dev/null
+++ b/community-testing/sfml/sfml.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "To view the SFML samples, go to /usr/share/SFML/examples/ and run them individually"
+}
diff --git a/community-testing/speed-dreams/PKGBUILD b/community-testing/speed-dreams/PKGBUILD
new file mode 100644
index 000000000..757a901fe
--- /dev/null
+++ b/community-testing/speed-dreams/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 54504 2011-08-19 10:27:23Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Adrián Chaves Fernández, aka Gallaecio <adriyetichaves@gmail.com>
+# Contributor: Shahar Weiss <sweiss4@gmx.net> (build() code from his TORCS' PKGBUILD)
+pkgname=speed-dreams
+pkgver=2.0.0a3
+_pkgver=2.0.0-a3-r3412
+pkgrel=1
+pkgdesc="A racing simulator with rich graphics and physics"
+arch=('i686' 'x86_64')
+url="http://speed-dreams.sourceforge.net/"
+license=('GPL2')
+depends=('sdl' 'freealut' 'freeglut' 'libpng' 'libxi' 'libxmu' 'libxrandr' 'plib>=1.8.3' 'libjpeg' 'zlib' 'enet' 'speed-dreams-data')
+makedepends=('cmake' 'p7zip')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${_pkgver}-src.tar.7z"
+ "${pkgname}.desktop")
+md5sums=('659837e8866c59c85279c31fcaba4144'
+ 'bd5c81bac696ec53628ba42684ef8369')
+
+build() {
+ 7z x ${pkgname}-${_pkgver}-src.tar.7z
+ tar xf ${pkgname}-${_pkgver}-src.tar
+
+ cd "${pkgname}-${_pkgver}-src"
+
+ cmake . \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSD_BINDIR=/usr/bin \
+ -DSD_DATADIR=/usr/share/speed-dreams-2 \
+ -DSD_LIBDIR=/usr/lib/speed-dreams-2
+
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${_pkgver}-src"
+
+ make DESTDIR="${pkgdir}/" install
+
+ rm -r "${pkgdir}/usr/share"
+
+ install -Dm644 "data/data/icons/icon.png" "${pkgdir}/usr/share/pixmaps/speed-dreams.png"
+ install -Dm644 "data/data/icons/icon.svg" "${pkgdir}/usr/share/pixmaps/speed-dreams.svg"
+ install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/speed-dreams.desktop"
+
+ mkdir -p "${pkgdir}/usr/share/doc/${pkgname}"
+ cp -r doc "${pkgdir}/usr/share/doc/${pkgname}/"
+
+ mkdir -p "${pkgdir}/usr/share/man/man6/${pkgname}"
+ rm doc/man/speed-dreams.es.6
+ cp doc/man/* "${pkgdir}/usr/share/man/man6/${pkgname}"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/speed-dreams/speed-dreams.desktop b/community-testing/speed-dreams/speed-dreams.desktop
new file mode 100644
index 000000000..8c86d85cc
--- /dev/null
+++ b/community-testing/speed-dreams/speed-dreams.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Speed Dreams
+Comment=The Open Racing Car Simulator Fork
+Exec=speed-dreams
+Icon=speed-dreams.svg
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Application;Game;
diff --git a/community-testing/speed-dreams/speed-dreams.sh b/community-testing/speed-dreams/speed-dreams.sh
new file mode 100644
index 000000000..fa6dde97a
--- /dev/null
+++ b/community-testing/speed-dreams/speed-dreams.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+cd /opt/speed-dreams/bin
+./speed-dreams
diff --git a/community-testing/spring/PKGBUILD b/community-testing/spring/PKGBUILD
new file mode 100644
index 000000000..807894d01
--- /dev/null
+++ b/community-testing/spring/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 55709 2011-09-17 21:16:01Z stephane $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Arkham <arkham at archlinux dot us>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+pkgname=spring
+pkgver=0.82.7.1
+pkgrel=7
+pkgdesc='A free 3D real-time-strategy (RTS) game engine'
+arch=('i686' 'x86_64')
+url="http://springrts.com/"
+license=('GPL')
+depends=('openal' 'glew' 'boost-libs' 'freetype2' 'devil' 'libvorbis')
+makedepends=('boost' 'cmake' 'zip' 'lzma-utils' 'p7zip' 'python2')
+optdepends=('python2: python-based bots'
+ 'java-runtime: java-based bots')
+source=(http://downloads.sourceforge.net/sourceforge/springrts/${pkgname}_${pkgver}_src.tar.lzma
+ gcc46.patch
+ awk-java.patch)
+md5sums=('378cf0b18a5dd5b840964e5945778503'
+ 'e9586b611db1ed04fe4f0c5982fda7d2'
+ 'cd94edf21e49ff6ff7d256442ed9aa3c')
+
+build() {
+ bsdtar -xf ${pkgname}_${pkgver}_src.tar.lzma
+
+ cd spring_$pkgver
+
+ sed -i '1i\
+ #include <list>' rts/lib/lobby/Connection.h
+ patch -Np1 < $srcdir/gcc46.patch
+ patch -Np1 < $srcdir/awk-java.patch
+ cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DDATADIR=share/spring
+ make
+}
+
+package() {
+ cd spring_$pkgver
+
+ make DESTDIR=$pkgdir install
+
+ install -d $pkgdir/etc/spring
+ echo '$HOME/.spring' > $pkgdir/etc/spring/datadir
+}
+
+# vim sw=2:ts=2 et:
diff --git a/community-testing/spring/awk-java.patch b/community-testing/spring/awk-java.patch
new file mode 100644
index 000000000..36c932924
--- /dev/null
+++ b/community-testing/spring/awk-java.patch
@@ -0,0 +1,48 @@
+diff -ru spring_0.82.7.1-old//AI/Interfaces/Java/bin/jna_wrappCommands.awk spring_0.82.7.1/AI/Interfaces/Java/bin/jna_wrappCommands.awk
+--- spring_0.82.7.1-old//AI/Interfaces/Java/bin/jna_wrappCommands.awk 2011-07-26 17:29:16.623158278 +0200
++++ spring_0.82.7.1/AI/Interfaces/Java/bin/jna_wrappCommands.awk 2011-07-26 17:33:00.872921328 +0200
+@@ -341,7 +341,7 @@
+ }
+
+ # beginn of struct S*Command
+-/^\struct S.*Command( \{)?/ {
++/^struct S.*Command( \{)?/ {
+
+ isInsideCmdStruct = 1;
+ ind_cmdMember = 0;
+diff -ru spring_0.82.7.1-old//AI/Interfaces/Java/bin/jna_wrappEvents.awk spring_0.82.7.1/AI/Interfaces/Java/bin/jna_wrappEvents.awk
+--- spring_0.82.7.1-old//AI/Interfaces/Java/bin/jna_wrappEvents.awk 2011-07-26 17:29:16.623158278 +0200
++++ spring_0.82.7.1/AI/Interfaces/Java/bin/jna_wrappEvents.awk 2011-07-26 17:32:51.009745026 +0200
+@@ -473,7 +473,7 @@
+ }
+
+ # beginn of struct S*Event
+-/^\struct S.*Event( \{)?/ {
++/^struct S.*Event( \{)?/ {
+
+ isInsideEvtStruct = 1;
+ ind_evtMember = 0;
+diff -ru spring_0.82.7.1-old//AI/Wrappers/Cpp/bin/wrappCommands.awk spring_0.82.7.1/AI/Wrappers/Cpp/bin/wrappCommands.awk
+--- spring_0.82.7.1-old//AI/Wrappers/Cpp/bin/wrappCommands.awk 2011-07-26 17:29:16.626491558 +0200
++++ spring_0.82.7.1/AI/Wrappers/Cpp/bin/wrappCommands.awk 2011-07-26 17:30:25.695391913 +0200
+@@ -387,7 +387,7 @@
+ }
+
+ # beginn of struct S*Command
+-/^\struct S.*Command( \{)?/ {
++/^struct S.*Command( \{)?/ {
+
+ isInsideCmdStruct = 1;
+ ind_cmdMember = 0;
+diff -ru spring_0.82.7.1-old//AI/Wrappers/Cpp/bin/wrappEvents.awk spring_0.82.7.1/AI/Wrappers/Cpp/bin/wrappEvents.awk
+--- spring_0.82.7.1-old//AI/Wrappers/Cpp/bin/wrappEvents.awk 2011-07-26 17:29:16.626491558 +0200
++++ spring_0.82.7.1/AI/Wrappers/Cpp/bin/wrappEvents.awk 2011-07-26 17:30:13.942245701 +0200
+@@ -366,7 +366,7 @@
+ }
+
+ # beginn of struct S*Event
+-/^\struct S.*Event( \{)?/ {
++/^struct S.*Event( \{)?/ {
+
+ isInsideEvtStruct = 1;
+ ind_evtMember = 0;
diff --git a/community-testing/spring/gcc46.patch b/community-testing/spring/gcc46.patch
new file mode 100644
index 000000000..4f6865cac
--- /dev/null
+++ b/community-testing/spring/gcc46.patch
@@ -0,0 +1,67 @@
+From: Jan Dittberner <jandd@debian.org>
+Subject: Patch for FTBFS with g++ 4.6.0
+Bug-Debian: http://bugs.debian.org/625097
+Bug: http://springrts.com/mantis/view.php?id=2415
+--- a/AI/Skirmish/E323AI/AAStar.h
++++ b/AI/Skirmish/E323AI/AAStar.h
+@@ -4,6 +4,7 @@
+ #include <queue>
+ #include <vector>
+ #include <list>
++#include <cstddef> // for NULL
+
+ class AAStar {
+ public:
+--- a/rts/Rendering/ShadowHandler.cpp
++++ b/rts/Rendering/ShadowHandler.cpp
+@@ -318,6 +318,11 @@
+ xmid = 1.0f - (sqrt(fabs(x2)) / (sqrt(fabs(x2)) + sqrt(fabs(x1))));
+ ymid = 1.0f - (sqrt(fabs(y2)) / (sqrt(fabs(y2)) + sqrt(fabs(y1))));
+
++ shadowParams.x = xmid;
++ shadowParams.y = ymid;
++ shadowParams.z = p17;
++ shadowParams.w = p18;
++
+ shadowMatrix[ 0] = cross1.x / maxLengthX;
+ shadowMatrix[ 4] = cross1.y / maxLengthX;
+ shadowMatrix[ 8] = cross1.z / maxLengthX;
+--- a/rts/Rendering/ShadowHandler.h
++++ b/rts/Rendering/ShadowHandler.h
+@@ -38,7 +38,7 @@
+ CMatrix44f shadowMatrix;
+ void CalcMinMaxView(void);
+
+- const float4 GetShadowParams() const { return float4(xmid, ymid, p17, p18); }
++ const float4& GetShadowParams() const { return shadowParams; }
+
+ enum ShadowGenProgram {
+ SHADOWGEN_PROGRAM_MODEL = 0,
+@@ -76,6 +76,7 @@
+ //! to write the (FBO) depth-buffer texture
+ std::vector<Shader::IProgramObject*> shadowGenProgs;
+
++ float4 shadowParams;
+ float x1, x2, y1, y2;
+ float xmid, ymid;
+ float p17, p18;
+--- a/rts/Rendering/GLContext.cpp
++++ b/rts/Rendering/GLContext.cpp
+@@ -9,6 +9,7 @@
+ #include "GLContext.h"
+
+ #include <list>
++#include <cstddef> // for NULL
+
+
+ using namespace std;
+--- a/rts/System/MemPool.h
++++ b/rts/System/MemPool.h
+@@ -4,6 +4,7 @@
+ #define _MEM_POOL_H_
+
+ #include <new>
++#include <cstddef> // for NULL
+
+ const size_t MAX_MEM_SIZE=200;
+
diff --git a/community-testing/supertux/PKGBUILD b/community-testing/supertux/PKGBUILD
new file mode 100644
index 000000000..60606f57c
--- /dev/null
+++ b/community-testing/supertux/PKGBUILD
@@ -0,0 +1,31 @@
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Eric Belanger <belanger@astro.umontreal.ca>
+# Contributor: vande198
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=supertux
+pkgver=0.3.3
+pkgrel=4
+pkgdesc="A classic 2D jump'n run sidescroller game in a style similar to the original SuperMario games"
+arch=('i686' 'x86_64')
+url="http://super-tux.sourceforge.net/"
+license=('GPL')
+depends=('sdl_image' 'curl' 'physfs' 'openal' 'libvorbis' 'libgl' 'glew')
+makedepends=('cmake' 'boost')
+source=(http://download.berlios.de/supertux/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('f3f803e629ee51a9de0b366a036e393d')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ sed -i '1i#include <cstddef>' src/supertux/screen_manager.hpp
+ sed -i '/types\.h/d' src/addon/addon_manager.cpp
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -D INSTALL_SUBDIR_BIN=bin .
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community-testing/supertux/compile.patch b/community-testing/supertux/compile.patch
new file mode 100644
index 000000000..05376fe91
--- /dev/null
+++ b/community-testing/supertux/compile.patch
@@ -0,0 +1,67 @@
+diff -ruN supertux-0.3.1.orig/src/console.hpp supertux-0.3.1/src/console.hpp
+--- supertux-0.3.1.orig/src/console.hpp 2008-01-03 21:59:27.000000000 +0100
++++ supertux-0.3.1/src/console.hpp 2008-08-23 11:57:47.000000000 +0200
+@@ -27,6 +27,8 @@
+ #include <sstream>
+ #include <iostream>
+ #include <squirrel.h>
++#include <memory>
++#include <cstdlib>
+
+ class Console;
+ class ConsoleStreamBuffer;
+diff -ruN supertux-0.3.1.orig/src/lisp/lexer.cpp supertux-0.3.1/src/lisp/lexer.cpp
+--- supertux-0.3.1.orig/src/lisp/lexer.cpp 2008-01-03 21:59:26.000000000 +0100
++++ supertux-0.3.1/src/lisp/lexer.cpp 2008-08-23 13:45:58.000000000 +0200
+@@ -21,6 +21,7 @@
+ #include <sstream>
+ #include <stdexcept>
+ #include <iostream>
++#include <cstring>
+
+ #include "lexer.hpp"
+
+diff -ruN supertux-0.3.1.orig/src/sprite/sprite_manager.hpp supertux-0.3.1/src/sprite/sprite_manager.hpp
+--- supertux-0.3.1.orig/src/sprite/sprite_manager.hpp 2008-01-03 21:59:26.000000000 +0100
++++ supertux-0.3.1/src/sprite/sprite_manager.hpp 2008-08-23 13:29:34.000000000 +0200
+@@ -21,6 +21,7 @@
+ #define SUPERTUX_SPRITE_MANAGER_H
+
+ #include <map>
++#include <string>
+
+ class SpriteData;
+ class Sprite;
+diff -ruN supertux-0.3.1.orig/src/textscroller.hpp supertux-0.3.1/src/textscroller.hpp
+--- supertux-0.3.1.orig/src/textscroller.hpp 2008-01-03 21:59:27.000000000 +0100
++++ supertux-0.3.1/src/textscroller.hpp 2008-08-23 13:34:35.000000000 +0200
+@@ -24,6 +24,7 @@
+ #include <vector>
+ #include <string>
+ #include <map>
++#include <memory>
+
+ #include "screen.hpp"
+ #include "math/vector.hpp"
+diff -ruN supertux-0.3.1.orig/src/title.cpp supertux-0.3.1/src/title.cpp
+--- supertux-0.3.1.orig/src/title.cpp 2008-01-03 21:59:28.000000000 +0100
++++ supertux-0.3.1/src/title.cpp 2008-08-23 12:05:19.000000000 +0200
+@@ -32,6 +32,7 @@
+ #include <SDL.h>
+ #include <SDL_image.h>
+ #include <physfs.h>
++#include <algorithm>
+
+ #include "title.hpp"
+ #include "mainloop.hpp"
+diff -ruN supertux-0.3.1.orig/src/video/sdl_texture.hpp supertux-0.3.1/src/video/sdl_texture.hpp
+--- supertux-0.3.1.orig/src/video/sdl_texture.hpp 2008-01-03 21:59:22.000000000 +0100
++++ supertux-0.3.1/src/video/sdl_texture.hpp 2008-08-23 13:37:14.000000000 +0200
+@@ -23,6 +23,7 @@
+ #include <config.h>
+
+ #include <SDL.h>
++#include <algorithm>
+
+ #include "texture.hpp"
+ #include "color.hpp"
diff --git a/community-testing/supertux/gcc44.patch b/community-testing/supertux/gcc44.patch
new file mode 100644
index 000000000..b58d9c29d
--- /dev/null
+++ b/community-testing/supertux/gcc44.patch
@@ -0,0 +1,90 @@
+diff -ruN supertux-0.3.1.orig/src/console.hpp supertux-0.3.1/src/console.hpp
+--- supertux-0.3.1.orig/src/console.hpp 2008-01-03 20:59:27.000000000 +0000
++++ supertux-0.3.1/src/console.hpp 2009-05-17 19:43:26.914307646 +0000
+@@ -27,6 +27,8 @@
+ #include <sstream>
+ #include <iostream>
+ #include <squirrel.h>
++#include <memory>
++#include <cstdlib>
+
+ class Console;
+ class ConsoleStreamBuffer;
+diff -ruN supertux-0.3.1.orig/src/lisp/lexer.cpp supertux-0.3.1/src/lisp/lexer.cpp
+--- supertux-0.3.1.orig/src/lisp/lexer.cpp 2008-01-03 20:59:26.000000000 +0000
++++ supertux-0.3.1/src/lisp/lexer.cpp 2009-05-17 19:43:27.037705317 +0000
+@@ -21,6 +21,7 @@
+ #include <sstream>
+ #include <stdexcept>
+ #include <iostream>
++#include <cstring>
+
+ #include "lexer.hpp"
+
+diff -ruN supertux-0.3.1.orig/src/lisp/lisp.cpp supertux-0.3.1/src/lisp/lisp.cpp
+--- supertux-0.3.1.orig/src/lisp/lisp.cpp 2008-01-03 20:59:26.000000000 +0000
++++ supertux-0.3.1/src/lisp/lisp.cpp 2009-05-17 19:44:29.305165638 +0000
+@@ -18,7 +18,7 @@
+ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ #include <config.h>
+-
++#include <cstdio>
+ #include "lisp.hpp"
+
+ namespace lisp
+diff -ruN supertux-0.3.1.orig/src/random_generator.cpp supertux-0.3.1/src/random_generator.cpp
+--- supertux-0.3.1.orig/src/random_generator.cpp 2008-01-03 20:59:27.000000000 +0000
++++ supertux-0.3.1/src/random_generator.cpp 2009-05-17 19:44:05.851002254 +0000
+@@ -39,6 +39,7 @@
+ #include <stdexcept>
+ #include <time.h>
+ #include <cassert>
++#include <cstdio>
+ #include "random_generator.hpp"
+
+ RandomGenerator systemRandom; // global random number generator
+diff -ruN supertux-0.3.1.orig/src/sprite/sprite_manager.hpp supertux-0.3.1/src/sprite/sprite_manager.hpp
+--- supertux-0.3.1.orig/src/sprite/sprite_manager.hpp 2008-01-03 20:59:26.000000000 +0000
++++ supertux-0.3.1/src/sprite/sprite_manager.hpp 2009-05-17 19:43:27.037705317 +0000
+@@ -21,6 +21,7 @@
+ #define SUPERTUX_SPRITE_MANAGER_H
+
+ #include <map>
++#include <string>
+
+ class SpriteData;
+ class Sprite;
+diff -ruN supertux-0.3.1.orig/src/textscroller.hpp supertux-0.3.1/src/textscroller.hpp
+--- supertux-0.3.1.orig/src/textscroller.hpp 2008-01-03 20:59:27.000000000 +0000
++++ supertux-0.3.1/src/textscroller.hpp 2009-05-17 19:43:27.037705317 +0000
+@@ -24,6 +24,7 @@
+ #include <vector>
+ #include <string>
+ #include <map>
++#include <memory>
+
+ #include "screen.hpp"
+ #include "math/vector.hpp"
+diff -ruN supertux-0.3.1.orig/src/title.cpp supertux-0.3.1/src/title.cpp
+--- supertux-0.3.1.orig/src/title.cpp 2008-01-03 20:59:28.000000000 +0000
++++ supertux-0.3.1/src/title.cpp 2009-05-17 19:43:27.041000359 +0000
+@@ -32,6 +32,7 @@
+ #include <SDL.h>
+ #include <SDL_image.h>
+ #include <physfs.h>
++#include <algorithm>
+
+ #include "title.hpp"
+ #include "mainloop.hpp"
+diff -ruN supertux-0.3.1.orig/src/video/sdl_texture.hpp supertux-0.3.1/src/video/sdl_texture.hpp
+--- supertux-0.3.1.orig/src/video/sdl_texture.hpp 2008-01-03 20:59:22.000000000 +0000
++++ supertux-0.3.1/src/video/sdl_texture.hpp 2009-05-17 19:43:27.041000359 +0000
+@@ -23,6 +23,7 @@
+ #include <config.h>
+
+ #include <SDL.h>
++#include <algorithm>
+
+ #include "texture.hpp"
+ #include "color.hpp"
diff --git a/community-testing/vdrift/PKGBUILD b/community-testing/vdrift/PKGBUILD
new file mode 100644
index 000000000..e6950ad00
--- /dev/null
+++ b/community-testing/vdrift/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 55771 2011-09-20 02:23:49Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
+# Contributor: Lone_Wolf lonewolf@xs4all.nl
+
+pkgname=vdrift
+pkgver=2011.09.01
+pkgrel=3
+pkgdesc="An open source driving simulation made with drift racing in mind"
+arch=('i686' 'x86_64')
+url="http://vdrift.net/"
+license=('GPL')
+depends=('bullet' 'curl' 'sdl_gfx' 'sdl_image' 'glew' 'libvorbis' 'vdrift-data')
+makedepends=('scons' 'boost' 'asio')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-src-${pkgver//./-}.tar.bz2
+ $pkgname.desktop)
+md5sums=('a4099acacca3d4f0799b012cd168f1c0'
+ '8bb429f37bcb4aed5e7ab1d80c5a4f93')
+
+build() {
+ cd "$srcdir"/$pkgname-src-${pkgver//./-}
+
+ # select arch
+ if [ `uname -m` = "x86_64" ]; then
+ _sconsarch="a64"
+ else
+ _sconsarch="686"
+ fi
+
+ sed -i 's/glGenerateMipmap/glGenerateMipmapEXT/g' src/texture.cpp
+ sed -i '/types.h/d' src/http.h
+
+ # build and install
+ scons \
+ "destdir"="$pkgdir" \
+ "arch"=$_sconsarch \
+ "release"=1 \
+ "force_feedback"=1 \
+ "prefix"=/usr \
+ "datadir"=share/$pkgname/
+}
+
+package() {
+ cd "$srcdir"/$pkgname-src-${pkgver//./-}
+
+ scons install
+
+ # install .desktop file
+ install -Dm644 ../$pkgname.desktop \
+ "$pkgdir"/usr/share/applications/$pkgname.desktop
+}
+# vim: sw=2:ts=2 et:
diff --git a/community-testing/vdrift/vdrift.desktop b/community-testing/vdrift/vdrift.desktop
new file mode 100644
index 000000000..7078f0d9c
--- /dev/null
+++ b/community-testing/vdrift/vdrift.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=VDrift
+Version=2009-06-15
+GenericName=Racing Simulation
+Comment=An open source driving simulation made with drift racing in mind
+Exec=vdrift
+Icon=vdrift.png
+Terminal=false
+Categories=Game;Simulation;
diff --git a/community-testing/widelands/PKGBUILD b/community-testing/widelands/PKGBUILD
new file mode 100644
index 000000000..2b491261f
--- /dev/null
+++ b/community-testing/widelands/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 55715 2011-09-17 21:16:31Z stephane $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Arkham <arkham at archlinux dot us>
+# Contributor: Christoph Zeiler <rabyte*gmail>
+
+pkgname=widelands
+pkgver=16
+_realver=build16
+pkgrel=3
+pkgdesc="A realtime strategy game with emphasis on economy and transport"
+arch=('i686' 'x86_64')
+url="http://widelands.org/"
+license=('GPL')
+depends=('sdl_mixer' 'sdl_image' 'sdl_net' 'sdl_ttf' 'sdl_gfx' 'ggz-client-libs' 'lua' 'glew' 'python2')
+makedepends=('cmake' 'boost')
+source=(http://launchpad.net/$pkgname/build16/$_realver/+download/$pkgname-$_realver-src.tar.bz2
+ $pkgname.desktop
+ $pkgname.png
+ $pkgname.sh)
+md5sums=('3d8c28e145b73c64d8ed1625319d25a2'
+ '15820bf099fd6f16251fe70a75c534bb'
+ '3dfda7e9ca76ca00dd98d745d0ceb328'
+ '7cae50aba5ed0cd2cfeea79124637b46')
+
+build() {
+ cd $srcdir/$pkgname-$_realver-src
+
+ mkdir -p build/compile && cd build/compile
+
+ cmake ../.. -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWL_INSTALL_PREFIX=/usr \
+ -DWL_INSTALL_DATADIR=share/$pkgname \
+ -DWL_INSTALL_BINDIR=bin
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$_realver-src/build/compile
+
+ make DESTDIR="$pkgdir" install
+
+ # Install bin, icon and desktop file
+ #install -Dm 755 src/$pkgname $pkgdir/usr/share/$pkgname/$pkgname
+ #install -Dm 755 $srcdir/$pkgname.sh $pkgdir/usr/bin/$pkgname
+ install -Dm644 $srcdir/$pkgname.png $pkgdir/usr/share/pixmaps/$pkgname.png
+ install -Dm644 $srcdir/$pkgname.desktop $pkgdir/usr/share/applications/$pkgname.desktop
+}
diff --git a/community-testing/widelands/widelands-build15-gcc-4.5-patch b/community-testing/widelands/widelands-build15-gcc-4.5-patch
new file mode 100644
index 000000000..6ba313358
--- /dev/null
+++ b/community-testing/widelands/widelands-build15-gcc-4.5-patch
@@ -0,0 +1,51 @@
+diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc
+--- widelands-from/src/editor/ui_menus/editor_main_menu_new_map.cc 2010-04-16 15:41:22.000000000 +0000
++++ widelands-to/src/editor/ui_menus/editor_main_menu_new_map.cc 2010-07-01 21:15:56.000000000 +0000
+@@ -113,7 +113,7 @@
+ posx, posy, width, height,
+ g_gr->get_picture(PicMod_UI, "pics/but1.png"),
+ &Main_Menu_New_Map::button_clicked, *this, 4,
+- Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++ Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+
+ posy += height + spacing + spacing + spacing;
+
+@@ -142,7 +142,7 @@
+ if (m_currentworld == m_worlds.size())
+ m_currentworld = 0;
+ m_world->set_title
+- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name
++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name
+ ());
+ break;
+ }
+diff -Naur widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc
+--- widelands-from/src/editor/ui_menus/editor_main_menu_random_map.cc 2010-04-16 15:41:22.000000000 +0000
++++ widelands-to/src/editor/ui_menus/editor_main_menu_random_map.cc 2010-07-01 21:17:39.000000000 +0000
+@@ -272,7 +272,7 @@
+ posx, posy, width, height,
+ g_gr->get_picture(PicMod_UI, "pics/but1.png"),
+ &Main_Menu_New_Random_Map::button_clicked, *this, 8,
+- Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++ Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+
+ posy += height + spacing + spacing + spacing;
+
+@@ -343,7 +343,7 @@
+ if (m_currentworld == m_worlds.size())
+ m_currentworld = 0;
+ m_world->set_title
+- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+ break;
+ case 9:
+ break;
+@@ -476,7 +476,7 @@
+ (strcmp(mapInfo.worldName.c_str(), m_worlds[m_currentworld].c_str()))
+ ++m_currentworld;
+ m_world->set_title
+- (Widelands::World::World(m_worlds[m_currentworld].c_str()).get_name());
++ (Widelands::World(m_worlds[m_currentworld].c_str()).get_name());
+
+ button_clicked(-1); // Update other values in UI as well
+
diff --git a/community-testing/widelands/widelands.desktop b/community-testing/widelands/widelands.desktop
new file mode 100644
index 000000000..9715d816c
--- /dev/null
+++ b/community-testing/widelands/widelands.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Widelands
+GenericName=Widelands
+Comment=Realtime strategy game
+Icon=widelands
+Exec=widelands
+Type=Application
+Categories=Game;StrategyGame;
diff --git a/community-testing/widelands/widelands.png b/community-testing/widelands/widelands.png
new file mode 100644
index 000000000..c329cf667
--- /dev/null
+++ b/community-testing/widelands/widelands.png
Binary files differ
diff --git a/community-testing/widelands/widelands.sh b/community-testing/widelands/widelands.sh
new file mode 100644
index 000000000..0b21a1694
--- /dev/null
+++ b/community-testing/widelands/widelands.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd /usr/share/widelands
+./widelands $*
diff --git a/gnome-unstable/accountsservice/PKGBUILD b/gnome-unstable/accountsservice/PKGBUILD
new file mode 100644
index 000000000..ab83464c2
--- /dev/null
+++ b/gnome-unstable/accountsservice/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 137012 2011-09-05 08:29:25Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+pkgname=accountsservice
+pkgver=0.6.14
+pkgrel=1
+pkgdesc="D-Bus interface for user account query and manipulation"
+arch=(i686 x86_64)
+url="http://cgit.freedesktop.org/accountsservice/"
+license=('GPL3')
+depends=('dbus-glib' 'polkit')
+makedepends=('intltool' 'gobject-introspection')
+options=('!libtool')
+source=(http://cgit.freedesktop.org/accountsservice/snapshot/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('88f4d5d0d1f0ce0fa6a180cbff936041')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/accountsservice \
+ --with-systemdsystemunitdir=/lib/systemd/system \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/at-spi2-atk/PKGBUILD b/gnome-unstable/at-spi2-atk/PKGBUILD
new file mode 100644
index 000000000..372f95ac7
--- /dev/null
+++ b/gnome-unstable/at-spi2-atk/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 138332 2011-09-20 07:37:24Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=at-spi2-atk
+pkgver=2.1.92
+pkgrel=1
+pkgdesc="A GTK+ module that bridges ATK to D-Bus at-spi"
+arch=('i686' 'x86_64')
+url="http://www.gnome.org"
+license=('GPL2')
+depends=('at-spi2-core' 'libx11' 'atk' 'dconf')
+makedepends=('intltool')
+install=at-spi2-atk.install
+options=('!libtool')
+groups=('gnome')
+source=(http://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('20cc15ca5230b84d451efe157fc6aeb0908296010bdf68bea31f80ed116addb7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i -e '/AC_PATH_XTRA/d' configure.ac
+ autoreconf --force --install
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/at-spi2-atk/at-spi2-atk.install b/gnome-unstable/at-spi2-atk/at-spi2-atk.install
new file mode 100644
index 000000000..2ef26aaa9
--- /dev/null
+++ b/gnome-unstable/at-spi2-atk/at-spi2-atk.install
@@ -0,0 +1,11 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/at-spi2-core/PKGBUILD b/gnome-unstable/at-spi2-core/PKGBUILD
new file mode 100644
index 000000000..2780a1063
--- /dev/null
+++ b/gnome-unstable/at-spi2-core/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 138330 2011-09-20 07:33:08Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=at-spi2-core
+pkgver=2.1.92
+pkgrel=1
+pkgdesc="Protocol definitions and daemon for D-Bus at-spi"
+arch=('i686' 'x86_64')
+url="http://www.gnome.org"
+license=('GPL2')
+depends=('dbus-core' 'glib2' 'libxtst')
+makedepends=('intltool' 'gobject-introspection')
+options=('!libtool')
+source=(http://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('6389370b76a14e201dd25c7d047fcd5fbadc3d9ea2b8dcd89fd30988e0383be2')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i -e '/AC_PATH_XTRA/d' configure.ac
+ autoreconf --force --install
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/at-spi2-core --disable-xevie
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/atk/PKGBUILD b/gnome-unstable/atk/PKGBUILD
new file mode 100644
index 000000000..76b56dfea
--- /dev/null
+++ b/gnome-unstable/atk/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 138329 2011-09-20 07:32:32Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=atk
+pkgver=2.1.92
+pkgrel=1
+pkgdesc="A library providing a set of interfaces for accessibility"
+arch=(i686 x86_64)
+license=('LGPL')
+depends=('glib2')
+makedepends=('gobject-introspection')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+url='http://www.gtk.org/'
+sha256sums=('556c0417651e6d8ef6d85c92c4e787840625dc8ed8111d0bb7c8b584c1d4ea4f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/caribou/PKGBUILD b/gnome-unstable/caribou/PKGBUILD
new file mode 100644
index 000000000..ee85b139d
--- /dev/null
+++ b/gnome-unstable/caribou/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 138273 2011-09-19 19:09:38Z ibiru $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Adam Hani Schakaki <krzd@krzd.net>
+
+pkgname=caribou
+pkgver=0.3.92
+pkgrel=1
+pkgdesc="A text entry and UI navigation application being developed as an alternative to the Gnome On-screen Keyboard."
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/Caribou"
+license=('LGPL')
+depends=('pyatspi' 'dbus-python' 'python2-gobject' 'gtk3' 'libxklavier' 'libgee' 'dconf')
+makedepends=('gnome-doc-utils' 'intltool' 'clutter')
+install=caribou.install
+options=(!libtool !emptydirs)
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/0.3/$pkgname-$pkgver.tar.xz)
+sha256sums=('51143b32ff7a59be2aa199ec48d5276b035861c29be8434d3f16231171eee939')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i s'|#!/usr/bin/python|#!/usr/bin/python2|'g tools/{fix_gir,make_schema}.py
+ export PYTHON=/usr/bin/python2
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/caribou \
+ --disable-gtk2-module \
+ --disable-static \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/caribou/caribou.install b/gnome-unstable/caribou/caribou.install
new file mode 100644
index 000000000..22ca274a5
--- /dev/null
+++ b/gnome-unstable/caribou/caribou.install
@@ -0,0 +1,13 @@
+pkgname=caribou
+
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
diff --git a/gnome-unstable/cheese/PKGBUILD b/gnome-unstable/cheese/PKGBUILD
new file mode 100644
index 000000000..5573350fa
--- /dev/null
+++ b/gnome-unstable/cheese/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 138302 2011-09-19 22:05:23Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=cheese
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Use your webcam to take photos and videos, apply fancy special effects and share the fun with others"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('gnome-desktop' 'gtk3' 'libcanberra' 'librsvg' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'gstreamer0.10-bad' 'clutter-gst'
+ 'clutter-gtk' 'mx' 'libgee' 'gnome-video-effects' 'hicolor-icon-theme' 'dconf')
+makedepends=('pkgconfig' 'gnome-doc-utils' 'intltool' 'gobject-introspection')
+groups=('gnome-extra')
+options=('!libtool' '!emptydirs')
+url="http://www.gnome.org/projects/cheese/"
+install=cheese.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('4c3fa6ad257b2592b17e2f67a7608dca596685827a3ce64ae15b5de4458195bb')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-scrollkeeper \
+ --disable-static --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/cheese/cheese.install b/gnome-unstable/cheese/cheese.install
new file mode 100644
index 000000000..c042fba42
--- /dev/null
+++ b/gnome-unstable/cheese/cheese.install
@@ -0,0 +1,20 @@
+pkgname=cheese
+
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/$pkgname.schemas ]; then
+ usr/sbin/gconfpkg --uninstall $pkgname
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/clutter/PKGBUILD b/gnome-unstable/clutter/PKGBUILD
new file mode 100644
index 000000000..0314a5d04
--- /dev/null
+++ b/gnome-unstable/clutter/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 138277 2011-09-19 19:33:15Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=clutter
+pkgver=1.8.0
+pkgrel=1
+pkgdesc="A GObject based library for creating fast, visually rich graphical user interfaces"
+arch=('i686' 'x86_64')
+url="http://clutter-project.org/"
+options=('!libtool')
+license=('LGPL')
+depends=('cogl>=1.8.0' 'mesa' 'json-glib' 'atk' 'libxi')
+makedepends=('gobject-introspection' 'mesa')
+source=(http://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('c8bd379154d40400b19932934dfa05e8a02057bbff2455f09afda7aa6c4b5ef8')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-introspection
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/cogl/PKGBUILD b/gnome-unstable/cogl/PKGBUILD
new file mode 100644
index 000000000..8a247ee81
--- /dev/null
+++ b/gnome-unstable/cogl/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 138269 2011-09-19 18:47:39Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=cogl
+pkgver=1.8.0
+pkgrel=1
+pkgdesc="An object oriented GL/GLES Abstraction/Utility Layer"
+arch=('i686' 'x86_64')
+url="http://www.clutter-project.org/"
+license=('GPL2')
+depends=('libdrm' 'libxext' 'libxdamage' 'libxcomposite' 'gdk-pixbuf2' 'pango')
+makedepends=('mesa' 'gobject-introspection')
+options=(!libtool)
+source=(http://download.gnome.org/sources/$pkgname/1.8/$pkgname-$pkgver.tar.xz)
+sha256sums=('b1551c129d5570b63e7130971622fc2ab8d4ecbf0dc1773df1c54fa9c1cb0a2c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/colord/PKGBUILD b/gnome-unstable/colord/PKGBUILD
new file mode 100644
index 000000000..307286006
--- /dev/null
+++ b/gnome-unstable/colord/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 136856 2011-09-02 13:05:04Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+pkgname=colord
+pkgver=0.1.12
+pkgrel=2
+pkgdesc="Color daemon"
+arch=('i686' 'x86_64')
+url="http://www.freedesktop.org/software/colord/"
+license=('GPL2')
+depends=('lcms2' 'sqlite3' 'polkit' 'udev' 'sane')
+makedepends=('intltool' 'gobject-introspection' 'vala' 'docbook2x')
+source=($url/releases/$pkgname-$pkgver.tar.xz)
+options=('!libtool')
+sha1sums=(9bc0c4193c0f790702923e0a783962f0f26487e6)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/colord \
+ --localstatedir=/var --disable-static --enable-sane
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/dconf/PKGBUILD b/gnome-unstable/dconf/PKGBUILD
new file mode 100644
index 000000000..ba0c08730
--- /dev/null
+++ b/gnome-unstable/dconf/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 138253 2011-09-19 15:33:12Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=dconf
+pkgver=0.9.1
+pkgrel=1
+pkgdesc="A low-level configuration system."
+arch=(i686 x86_64)
+url="http://live.gnome.org/dconf"
+license=('LGPL2.1')
+depends=('glib2')
+makedepends=('vala' 'gobject-introspection' 'gtk3')
+optdepends=('gtk3: for dconf-editor')
+install=dconf.install
+source=(http://download.gnome.org/sources/${pkgname}/0.9/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('fd2ea1ed3b7933cf3d6841f8fc8794a0351c30ef5d7b8eb0b56cc3171e9e354e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/dconf
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/dconf/dconf.install b/gnome-unstable/dconf/dconf.install
new file mode 100644
index 000000000..39bce8f45
--- /dev/null
+++ b/gnome-unstable/dconf/dconf.install
@@ -0,0 +1,12 @@
+post_install() {
+ usr/bin/gio-querymodules usr/lib/gio/modules
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade(){
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/empathy/PKGBUILD b/gnome-unstable/empathy/PKGBUILD
new file mode 100644
index 000000000..173b4e055
--- /dev/null
+++ b/gnome-unstable/empathy/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 138448 2011-09-23 10:14:37Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=empathy
+pkgver=3.1.92
+pkgrel=3
+pkgdesc="A GNOME instant messaging client using the Telepathy framework."
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/Empathy"
+license=('GPL2')
+depends=('libpulse' 'clutter-gtk' 'clutter-gst' 'telepathy-mission-control' 'telepathy-logger' 'telepathy-farsight' 'telepathy-farstream' 'folks' 'gnome-keyring' 'libcanberra' 'iso-codes' 'libchamplain' 'networkmanager')
+makedepends=('intltool' 'gnome-doc-utils' 'nautilus-sendto')
+optdepends=('telepathy-gabble: XMPP/Jabber support'
+ 'telepathy-butterfly: MSN support'
+ 'telepathy-idle: IRC support'
+ 'telepathy-salut: Link-local XMPP support'
+ 'telepathy-sofiasip: SIP support'
+ 'telepathy-haze: libpurple support')
+options=('!libtool')
+groups=('gnome-extra')
+install=empathy.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/3.1/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('bfab43c6296bd7e67006f4582589ff98c6c2c9223b550a851734a2f826febb31')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/empathy \
+ --disable-static \
+ --disable-scrollkeeper \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/empathy/empathy.install b/gnome-unstable/empathy/empathy.install
new file mode 100644
index 000000000..c3f7abf13
--- /dev/null
+++ b/gnome-unstable/empathy/empathy.install
@@ -0,0 +1,18 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ echo "To use Empathy you need to install at least one Telepathy connection manager."
+}
+
+post_upgrade() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_remove() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/gnome-unstable/eog/PKGBUILD b/gnome-unstable/eog/PKGBUILD
new file mode 100644
index 000000000..63ca8d28c
--- /dev/null
+++ b/gnome-unstable/eog/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 138287 2011-09-19 20:51:18Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=eog
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Eye of Gnome: An image viewing and cataloging program"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gnome-desktop' 'libexif' 'lcms2' 'desktop-file-utils' 'exempi' 'libpeas' 'librsvg' 'gnome-icon-theme' 'dconf')
+makedepends=('gtk-doc' 'intltool')
+install=eog.install
+groups=('gnome-extra')
+options=('!emptydirs' '!libtool')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('6639757714724a641c586eeca1ea56d6d78312974d2f70118647c31bce67ead5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-scrollkeeper
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # remove it from Xfce menu that ships its own thingy
+ echo "NotShowIn=XFCE" >> ${pkgdir}/usr/share/applications/eog.desktop
+}
diff --git a/gnome-unstable/eog/eog.install b/gnome-unstable/eog/eog.install
new file mode 100644
index 000000000..284b24b18
--- /dev/null
+++ b/gnome-unstable/eog/eog.install
@@ -0,0 +1,19 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall eog
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/epiphany/PKGBUILD b/gnome-unstable/epiphany/PKGBUILD
new file mode 100644
index 000000000..985f2e6ce
--- /dev/null
+++ b/gnome-unstable/epiphany/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 138420 2011-09-22 11:13:18Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=epiphany
+pkgver=3.1.92
+pkgrel=1
+install=epiphany.install
+pkgdesc="A GNOME web browser based on the WebKit rendering engine."
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libsoup-gnome' 'libnotify' 'gsettings-desktop-schemas' 'libwebkit3' 'nss' 'iso-codes' 'dconf' 'gobject-introspection' 'desktop-file-utils'
+ 'hicolor-icon-theme' 'seed')
+makedepends=('intltool' 'gnome-doc-utils' 'startup-notification')
+options=('!libtool' '!emptydirs')
+groups=('gnome')
+url="http://www.gnome.org/projects/epiphany/"
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('b2bc72bbe7c431607538fc56532c8a8a05c8ab5b3f6412b489e79e2392e14331')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-scrollkeeper \
+ --enable-seed
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/epiphany/epiphany.install b/gnome-unstable/epiphany/epiphany.install
new file mode 100644
index 000000000..00b1abb96
--- /dev/null
+++ b/gnome-unstable/epiphany/epiphany.install
@@ -0,0 +1,20 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/epiphany.schemas ]; then
+ usr/sbin/gconfpkg --uninstall epiphany
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/evince/PKGBUILD b/gnome-unstable/evince/PKGBUILD
new file mode 100644
index 000000000..f67f02414
--- /dev/null
+++ b/gnome-unstable/evince/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 136894 2011-09-02 17:09:04Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=evince
+pkgver=3.1.90.1
+pkgrel=1
+pkgdesc="Simply a document viewer"
+url="http://projects.gnome.org/evince/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gtk3' 'libspectre' 'gsfonts' 'poppler-glib' 'djvulibre' 'gnome-icon-theme'
+ 't1lib' 'libgnome-keyring' 'desktop-file-utils' 'dconf' 'gsettings-desktop-schemas')
+makedepends=('gnome-doc-utils' 'nautilus' 'texlive-bin' 'intltool' 'gobject-introspection')
+optdepends=('texlive-bin: DVI support')
+groups=('gnome-extra')
+install=evince.install
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('035c18c752e9f7f5ecbde5cd53a4d13170249eff580f671ad19eebaa24163458')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --libexecdir=/usr/lib/evince \
+ --disable-static --enable-nautilus \
+ --enable-pdf --enable-tiff \
+ --enable-djvu --enable-dvi \
+ --enable-t1lib --enable-comics \
+ --disable-scrollkeeper --disable-schemas-compile \
+ --enable-introspection
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/evince/evince.install b/gnome-unstable/evince/evince.install
new file mode 100644
index 000000000..9643a9ba0
--- /dev/null
+++ b/gnome-unstable/evince/evince.install
@@ -0,0 +1,19 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall evince
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/evolution-data-server/PKGBUILD b/gnome-unstable/evolution-data-server/PKGBUILD
new file mode 100644
index 000000000..604c905eb
--- /dev/null
+++ b/gnome-unstable/evolution-data-server/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 138232 2011-09-19 13:59:32Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=evolution-data-server
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Centralized access to appointments and contacts"
+arch=('i686' 'x86_64')
+depends=('gconf' 'gnome-online-accounts' 'nss' 'krb5' 'libgweather' 'libical' 'db' 'libgdata')
+makedepends=('intltool' 'gperf' 'gobject-introspection' 'vala')
+options=('!libtool')
+url="http://www.gnome.org"
+license=('GPL')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/3.1/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('35a14158a2eb1c34845cef2d40d6dcbc6d8110c29864d9bb8f1149c691dfd8c2')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --with-openldap=yes \
+ --libexecdir=/usr/lib/evolution-data-server \
+ --with-krb5=/usr --with-libdb=/usr \
+ --enable-vala-bindings
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/evolution/PKGBUILD b/gnome-unstable/evolution/PKGBUILD
new file mode 100644
index 000000000..47c80de9c
--- /dev/null
+++ b/gnome-unstable/evolution/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 138236 2011-09-19 14:27:09Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=evolution
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Manage your email, contacts and schedule"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gnome-desktop' 'evolution-data-server' 'gtkhtml4' 'libcanberra' 'gstreamer0.10' 'libpst' 'libytnef' 'desktop-file-utils' 'hicolor-icon-theme')
+makedepends=('intltool' 'gnome-doc-utils' 'networkmanager')
+optdepends=('bogofilter: possible junk filter plugin'
+ 'spamassassin: possible junk filter plugin')
+groups=('gnome-extra')
+options=('!libtool' '!emptydirs')
+install=evolution.install
+url=http://www.gnome.org/projects/evolution/
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('5f7c7b1be9a87c3a5c1694326f65fc4f52eb4e7fef2b36ab2a7e10acfb5ae875')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib \
+ --disable-scrollkeeper \
+ --enable-nss=yes \
+ --with-openldap=yes \
+ --enable-smime=yes \
+ --with-krb5=/usr \
+ --disable-image-inline
+ make
+ make -C plugins/tnef-attachments
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+ make -C plugins/tnef-attachments DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain evolution-3.2 ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/evolution/evolution.install b/gnome-unstable/evolution/evolution.install
new file mode 100644
index 000000000..a2c3aaa54
--- /dev/null
+++ b/gnome-unstable/evolution/evolution.install
@@ -0,0 +1,24 @@
+pkgname=evolution
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/gnome-unstable/folks/PKGBUILD b/gnome-unstable/folks/PKGBUILD
new file mode 100644
index 000000000..e9a200874
--- /dev/null
+++ b/gnome-unstable/folks/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 138408 2011-09-21 16:18:20Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgbase=folks
+pkgname=(folks folks-tracker)
+pkgver=0.6.3
+pkgrel=3
+pkgdesc="Library to aggregates people into metacontacts"
+arch=(i686 x86_64)
+url="http://telepathy.freedesktop.org/wiki/Folks"
+license=('LGPL2.1')
+depends=('telepathy-glib' 'libgee' 'libxml2' 'evolution-data-server' 'libsocialweb')
+makedepends=('gobject-introspection' 'vala' 'intltool' 'libtracker-sparql')
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgbase}/0.6/${pkgbase}-${pkgver}.tar.xz)
+sha256sums=('e21810966f300b31e8cd51cca9851606213345eb933584997b49326c43b46e1b')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ # Change tracker version
+ grep -lr sparql-0.10 . | xargs sed -i 's/sparql-0.10/sparql-0.12/g'
+
+ # Fix the sed command to work with LANG=C
+ sed -i '/dlname=/s/A-Za-z0-9\.-+/A-Za-z0-9./' folks/Makefile.*
+
+ ./configure --prefix=/usr --enable-tracker-backend
+ make
+}
+
+package_folks() {
+ optdepends=('folks-tracker: Tracker backend')
+
+ cd "$srcdir/$pkgbase-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+### Split folks-tracker
+ cd "$pkgdir"
+ find . -name '*tracker*' \! -type d | while IFS= read -r _file; do
+ mkdir -p "$srcdir/folks-tracker/${_file%/*}"
+ mv "$_file" "$srcdir/folks-tracker/$_file"
+ done
+}
+
+package_folks-tracker() {
+ pkgdesc="Tracker backend for folks"
+ depends=('folks' 'tracker')
+
+ mv "$srcdir"/folks-tracker/* "$pkgdir"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/gcalctool/PKGBUILD b/gnome-unstable/gcalctool/PKGBUILD
new file mode 100644
index 000000000..48a6545e2
--- /dev/null
+++ b/gnome-unstable/gcalctool/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 136762 2011-09-01 13:01:43Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gcalctool
+pkgver=6.1.5
+pkgrel=1
+pkgdesc="GNOME Scientific calculator"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gtk3' 'dconf')
+makedepends=('intltool' 'gnome-doc-utils')
+groups=('gnome-extra')
+options=(!emptydirs)
+url="http://www.gnome.org"
+install=gcalctool.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('2f2e7c38584608b143b48551d545fa6e5c2c52e6591986e03599a63e1a7fc11b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-schemas-compile \
+ --localstatedir=/var --disable-scrollkeeper
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gcalctool/gcalctool.install b/gnome-unstable/gcalctool/gcalctool.install
new file mode 100644
index 000000000..2ef26aaa9
--- /dev/null
+++ b/gnome-unstable/gcalctool/gcalctool.install
@@ -0,0 +1,11 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/gconf/01_xml-gettext-domain.patch b/gnome-unstable/gconf/01_xml-gettext-domain.patch
new file mode 100644
index 000000000..d1323f61f
--- /dev/null
+++ b/gnome-unstable/gconf/01_xml-gettext-domain.patch
@@ -0,0 +1,362 @@
+# Description: Support calling gettext at runtime and putting the gettext domain into the .schemas file instead of replicating translations in /usr/share/gconf/schemas/*.schemas *and* /var/lib/gconf/defaults/%gconf-tree-$LANG.xml. This saves in the order of 90 MB uncompressed/10 MB compressed on hard disks.
+# Ubuntu: https://bugs.launchpad.net/bugs/123025
+# Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=568845
+--- GConf-2.26.0/backends/markup-tree.c.gettext 2009-04-26 23:33:05.258484987 -0400
++++ GConf-2.26.0/backends/markup-tree.c 2009-04-26 23:34:25.026700526 -0400
+@@ -52,6 +52,7 @@ struct _MarkupEntry
+ char *schema_name;
+ char *mod_user;
+ GTime mod_time;
++ const char *gettext_domain;
+ };
+
+ static LocalSchemaInfo* local_schema_info_new (void);
+@@ -1593,6 +1594,8 @@ markup_entry_set_value (MarkupEntry
+ gconf_schema_get_type (schema));
+ gconf_schema_set_owner (current_schema,
+ gconf_schema_get_owner (schema));
++ gconf_schema_set_gettext_domain (current_schema,
++ gconf_schema_get_gettext_domain (schema));
+ }
+
+ /* Update mod time */
+@@ -1805,6 +1808,8 @@ markup_entry_get_value (MarkupEntry *ent
+ else if (c_local_schema && c_local_schema->long_desc)
+ gconf_schema_set_long_desc (schema, c_local_schema->long_desc);
+
++ gconf_schema_set_gettext_domain (schema, entry->gettext_domain);
++
+ return retval;
+ }
+ }
+@@ -2339,8 +2344,9 @@ parse_value_element (GMarkupParseContext
+ const char *ltype;
+ const char *list_type;
+ const char *owner;
++
+ GConfValueType vtype;
+- const char *dummy1, *dummy2, *dummy3, *dummy4;
++ const char *dummy1, *dummy2, *dummy3, *dummy4, *dummy5;
+
+ #if 0
+ g_assert (ELEMENT_IS ("entry") ||
+@@ -2377,6 +2383,7 @@ parse_value_element (GMarkupParseContext
+ "muser", &dummy2,
+ "mtime", &dummy3,
+ "schema", &dummy4,
++ "gettext_domain", &dummy5,
+
+ NULL))
+ return;
+@@ -2683,6 +2690,7 @@ parse_entry_element (GMarkupParseContext
+ const char *mtime;
+ const char *schema;
+ const char *type;
++ const char *gettext_domain;
+ const char *dummy1, *dummy2, *dummy3, *dummy4;
+ const char *dummy5, *dummy6, *dummy7;
+ GConfValue *value;
+@@ -2693,6 +2701,7 @@ parse_entry_element (GMarkupParseContext
+ mtime = NULL;
+ schema = NULL;
+ type = NULL;
++ gettext_domain = NULL;
+
+ if (!locate_attributes (context, element_name, attribute_names, attribute_values,
+ error,
+@@ -2701,6 +2710,7 @@ parse_entry_element (GMarkupParseContext
+ "mtime", &mtime,
+ "schema", &schema,
+ "type", &type,
++ "gettext_domain", &gettext_domain,
+
+ /* These are allowed but we don't use them until
+ * parse_value_element
+@@ -2768,6 +2778,9 @@ parse_entry_element (GMarkupParseContext
+ */
+ if (schema)
+ entry->schema_name = g_strdup (schema);
++
++ if (gettext_domain)
++ entry->gettext_domain = g_intern_string (gettext_domain);
+ }
+ else
+ {
+@@ -3716,6 +3729,7 @@ write_value_element (GConfValue *value,
+ GConfSchema *schema;
+ GConfValueType stype;
+ const char *owner;
++ const char *gettext_domain;
+
+ schema = gconf_value_get_schema (value);
+
+@@ -3741,6 +3755,23 @@ write_value_element (GConfValue *value,
+
+ g_free (s);
+ }
++
++ gettext_domain = gconf_schema_get_gettext_domain (schema);
++
++ if (gettext_domain)
++ {
++ char *s;
++
++ s = g_markup_escape_text (gettext_domain, -1);
++
++ if (fprintf (f, " gettext_domain=\"%s\"", s) < 0)
++ {
++ g_free (s);
++ return FALSE;
++ }
++
++ g_free (s);
++ }
+
+ if (stype == GCONF_VALUE_LIST)
+ {
+diff -up GConf-2.26.0/doc/gconf-1.0.dtd.gettext GConf-2.26.0/doc/gconf-1.0.dtd
+--- GConf-2.26.0/doc/gconf-1.0.dtd.gettext 2009-04-26 23:33:17.240736103 -0400
++++ GConf-2.26.0/doc/gconf-1.0.dtd 2009-04-26 23:34:25.027700384 -0400
+@@ -7,7 +7,7 @@
+ <!-- A single schema. What I am trying to say is "this set of
+ elements, in any order". Duplicate elements (apart from <locale>) are
+ not allowed). -->
+-<!ELEMENT schema (key|applyto*|owner?|type|(list_type|(car_type,cdr_type))?|default?|locale*)*>
++<!ELEMENT schema (key|applyto*|owner?|type|(list_type|(car_type,cdr_type))?|default?|locale*|gettext_domain?)*>
+
+ <!-- The key for this schema (e.g. /schemas/apps/foo/bar) -->
+ <!ELEMENT key (#PCDATA)>
+diff -up GConf-2.26.0/gconf/gconf-internals.c.gettext GConf-2.26.0/gconf/gconf-internals.c
+--- GConf-2.26.0/gconf/gconf-internals.c.gettext 2009-04-26 23:34:10.994700035 -0400
++++ GConf-2.26.0/gconf/gconf-internals.c 2009-04-26 23:34:53.767450191 -0400
+@@ -513,6 +513,7 @@ gconf_fill_corba_schema_from_gconf_schem
+ cs->short_desc = CORBA_string_dup (gconf_schema_get_short_desc (sc) ? gconf_schema_get_short_desc (sc) : "");
+ cs->long_desc = CORBA_string_dup (gconf_schema_get_long_desc (sc) ? gconf_schema_get_long_desc (sc) : "");
+ cs->owner = CORBA_string_dup (gconf_schema_get_owner (sc) ? gconf_schema_get_owner (sc) : "");
++ cs->gettext_domain = CORBA_string_dup (gconf_schema_get_gettext_domain (sc) ? gconf_schema_get_gettext_domain (sc) : "");
+
+ {
+ gchar* encoded;
+@@ -600,6 +601,14 @@ gconf_schema_from_corba_schema(const Con
+ gconf_schema_set_owner(sc, cs->owner);
+ }
+
++ if (*cs->gettext_domain != '\0')
++ {
++ if (!g_utf8_validate (cs->gettext_domain, -1, NULL))
++ gconf_log (GCL_ERR, _("Invalid UTF-8 in gettext domain for schema"));
++ else
++ gconf_schema_set_gettext_domain(sc, cs->gettext_domain);
++ }
++
+ {
+ GConfValue* val;
+
+diff -up GConf-2.26.0/gconf/gconf-schema.c.gettext GConf-2.26.0/gconf/gconf-schema.c
+--- GConf-2.26.0/gconf/gconf-schema.c.gettext 2009-04-26 23:33:26.787483545 -0400
++++ GConf-2.26.0/gconf/gconf-schema.c 2009-04-26 23:35:54.240450142 -0400
+@@ -32,9 +32,10 @@ typedef struct {
+ GConfValueType car_type; /* Pair car type of the described entry */
+ GConfValueType cdr_type; /* Pair cdr type of the described entry */
+ gchar* locale; /* Schema locale */
+- gchar* owner; /* Name of creating application */
++ const gchar* owner; /* Name of creating application */
+ gchar* short_desc; /* 40 char or less description, no newlines */
+ gchar* long_desc; /* could be a paragraph or so */
++ const gchar* gettext_domain; /* description gettext domain */
+ GConfValue* default_value; /* Default value of the key */
+ } GConfRealSchema;
+
+@@ -63,7 +64,6 @@ gconf_schema_free (GConfSchema* sc)
+ g_free (real->locale);
+ g_free (real->short_desc);
+ g_free (real->long_desc);
+- g_free (real->owner);
+
+ if (real->default_value)
+ gconf_value_free (real->default_value);
+@@ -91,7 +91,9 @@ gconf_schema_copy (const GConfSchema* sc
+
+ dest->long_desc = g_strdup (real->long_desc);
+
+- dest->owner = g_strdup (real->owner);
++ dest->gettext_domain = real->gettext_domain;
++
++ dest->owner = real->owner;
+
+ dest->default_value = real->default_value ? gconf_value_copy (real->default_value) : NULL;
+
+@@ -136,6 +138,17 @@ gconf_schema_set_locale (GConfSchema* sc
+ REAL_SCHEMA (sc)->locale = NULL;
+ }
+
++void
++gconf_schema_set_gettext_domain (GConfSchema* sc, const gchar* domain)
++{
++ g_return_if_fail (domain == NULL || g_utf8_validate (domain, -1, NULL));
++
++ if (domain)
++ REAL_SCHEMA (sc)->gettext_domain = g_intern_string (domain);
++ else
++ REAL_SCHEMA (sc)->gettext_domain = NULL;
++}
++
+ void
+ gconf_schema_set_short_desc (GConfSchema* sc, const gchar* desc)
+ {
+@@ -169,11 +182,8 @@ gconf_schema_set_owner (GConfSchema* sc,
+ {
+ g_return_if_fail (owner == NULL || g_utf8_validate (owner, -1, NULL));
+
+- if (REAL_SCHEMA (sc)->owner)
+- g_free (REAL_SCHEMA (sc)->owner);
+-
+ if (owner)
+- REAL_SCHEMA (sc)->owner = g_strdup (owner);
++ REAL_SCHEMA (sc)->owner = g_intern_string (owner);
+ else
+ REAL_SCHEMA (sc)->owner = NULL;
+ }
+@@ -228,6 +238,14 @@ gconf_schema_validate (const GConfSchema
+ return FALSE;
+ }
+
++ if (real->gettext_domain && !g_utf8_validate (real->gettext_domain, -1, NULL))
++ {
++ g_set_error (err, GCONF_ERROR,
++ GCONF_ERROR_FAILED,
++ _("Schema contains invalid UTF-8"));
++ return FALSE;
++ }
++
+ if (real->owner && !g_utf8_validate (real->owner, -1, NULL))
+ {
+ g_set_error (err, GCONF_ERROR,
+@@ -299,11 +317,32 @@ gconf_schema_get_locale (const GConfSche
+ }
+
+ const char*
++gconf_schema_get_gettext_domain (const GConfSchema *schema)
++{
++ g_return_val_if_fail (schema != NULL, NULL);
++
++ return REAL_SCHEMA (schema)->gettext_domain;
++}
++
++static inline const char *
++schema_translate (const GConfSchema *schema,
++ const char *string)
++{
++ if (REAL_SCHEMA (schema)->gettext_domain)
++ {
++ bind_textdomain_codeset (REAL_SCHEMA (schema)->gettext_domain, "UTF-8");
++ return g_dgettext(REAL_SCHEMA (schema)->gettext_domain, string);
++ }
++ else
++ return string;
++}
++
++const char*
+ gconf_schema_get_short_desc (const GConfSchema *schema)
+ {
+ g_return_val_if_fail (schema != NULL, NULL);
+
+- return REAL_SCHEMA (schema)->short_desc;
++ return schema_translate (schema, REAL_SCHEMA (schema)->short_desc);
+ }
+
+ const char*
+@@ -311,7 +350,7 @@ gconf_schema_get_long_desc (const GConfS
+ {
+ g_return_val_if_fail (schema != NULL, NULL);
+
+- return REAL_SCHEMA (schema)->long_desc;
++ return schema_translate (schema, REAL_SCHEMA (schema)->long_desc);
+ }
+
+ const char*
+diff -up GConf-2.26.0/gconf/gconf-schema.h.gettext GConf-2.26.0/gconf/gconf-schema.h
+--- GConf-2.26.0/gconf/gconf-schema.h.gettext 2009-04-26 23:33:33.979744088 -0400
++++ GConf-2.26.0/gconf/gconf-schema.h 2009-04-26 23:34:25.030737043 -0400
+@@ -48,6 +48,8 @@ void gconf_schema_set_cdr_type
+ GConfValueType type);
+ void gconf_schema_set_locale (GConfSchema *sc,
+ const gchar *locale);
++void gconf_schema_set_gettext_domain (GConfSchema *sc,
++ const gchar *domain);
+ void gconf_schema_set_short_desc (GConfSchema *sc,
+ const gchar *desc);
+ void gconf_schema_set_long_desc (GConfSchema *sc,
+@@ -65,6 +67,7 @@ GConfValueType gconf_schema_get_list_typ
+ GConfValueType gconf_schema_get_car_type (const GConfSchema *schema);
+ GConfValueType gconf_schema_get_cdr_type (const GConfSchema *schema);
+ const char* gconf_schema_get_locale (const GConfSchema *schema);
++const char* gconf_schema_get_gettext_domain(const GConfSchema *schema);
+ const char* gconf_schema_get_short_desc (const GConfSchema *schema);
+ const char* gconf_schema_get_long_desc (const GConfSchema *schema);
+ const char* gconf_schema_get_owner (const GConfSchema *schema);
+diff -up GConf-2.26.0/gconf/gconftool.c.gettext GConf-2.26.0/gconf/gconftool.c
+--- GConf-2.26.0/gconf/gconftool.c.gettext 2009-04-26 23:33:41.907451190 -0400
++++ GConf-2.26.0/gconf/gconftool.c 2009-04-26 23:34:25.034736752 -0400
+@@ -3295,6 +3295,7 @@ struct _SchemaInfo {
+ GConfValueType cdr_type;
+ GConfValue* global_default;
+ GHashTable* hash;
++ gchar* gettext_domain;
+ };
+
+ static int
+@@ -3547,6 +3548,15 @@ extract_global_info(xmlNodePtr node,
+ else
+ g_printerr (_("WARNING: empty <applyto> node"));
+ }
++ else if (strcmp((char *)iter->name, "gettext_domain") == 0)
++ {
++ tmp = (char *)xmlNodeGetContent(iter);
++ if (tmp)
++ {
++ info->gettext_domain = g_strdup(tmp);
++ xmlFree(tmp);
++ }
++ }
+ else
+ g_printerr (_("WARNING: node <%s> not understood below <schema>\n"),
+ iter->name);
+@@ -3636,6 +3646,9 @@ process_locale_info(xmlNodePtr node, Sch
+ if (info->owner != NULL)
+ gconf_schema_set_owner(schema, info->owner);
+
++ if (info->gettext_domain != NULL)
++ gconf_schema_set_gettext_domain(schema, info->gettext_domain);
++
+ xmlFree(name);
+
+ /* Locale-specific info */
+@@ -3765,6 +3778,7 @@ get_schema_from_xml(xmlNodePtr node, gch
+ info.apply_to = NULL;
+ info.owner = NULL;
+ info.global_default = NULL;
++ info.gettext_domain = NULL;
+ info.hash = g_hash_table_new(g_str_hash, g_str_equal);
+
+ extract_global_info(node, &info);
+@@ -3801,6 +3815,8 @@ get_schema_from_xml(xmlNodePtr node, gch
+ ; /* nothing */
+ else if (strcmp((char *)iter->name, "applyto") == 0)
+ ; /* nothing */
++ else if (strcmp((char *)iter->name, "gettext_domain") == 0)
++ ; /* nothing */
+ else if (strcmp((char *)iter->name, "locale") == 0)
+ {
+ process_locale_info(iter, &info);
+diff -up GConf-2.26.0/gconf/GConfX.idl.gettext GConf-2.26.0/gconf/GConfX.idl
+--- GConf-2.26.0/gconf/GConfX.idl.gettext 2009-04-26 23:33:58.457483190 -0400
++++ GConf-2.26.0/gconf/GConfX.idl 2009-04-26 23:34:53.764448732 -0400
+@@ -16,6 +16,7 @@ struct ConfigSchema {
+ string short_desc;
+ string long_desc;
+ string owner;
++ string gettext_domain;
+ // Work around lack of recursive data types
+ string encoded_default_value;
+ };
diff --git a/gnome-unstable/gconf/PKGBUILD b/gnome-unstable/gconf/PKGBUILD
new file mode 100644
index 000000000..633ecf66a
--- /dev/null
+++ b/gnome-unstable/gconf/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 138267 2011-09-19 18:44:07Z ibiru $
+# Maintainer: Jan de Groot <jan@archlinux.org>
+
+pkgname=gconf
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="A configuration database system"
+arch=(i686 x86_64)
+license=('LGPL')
+depends=('libxml2' 'polkit' 'libldap' 'dbus-glib' 'gtk3')
+makedepends=('intltool' 'gtk-doc' 'gobject-introspection')
+options=('!libtool')
+install=gconf.install
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/GConf/3.1/GConf-${pkgver}.tar.xz
+ gconf-merge-schema
+ gconfpkg
+ gconf-reload.patch
+ 01_xml-gettext-domain.patch)
+sha256sums=('58be6055953376b4422ba4c505ac3f8724d5f1362c1ad674626142e057235045'
+ 'ee6b6e6f4975dad13a8c45f1c1f0547a99373bdecdcd6604bfc12965c328a028'
+ 'bf1928718caa5df2b9e54a13cfd0f15a8fe0e09e86b84385ce023616a114e898'
+ '567b78d8b4b4bbcb77c5f134d57bc503c34867fcc6341c0b01716bcaa4a21694'
+ 'c883dec2b96978874a53700cfe7f26f24f8296767203e970bc6402b4b9945eb8')
+
+build() {
+ cd "${srcdir}/GConf-${pkgver}"
+ # Patch from fedora - reloads gconf after installing schemas
+ patch -Np1 -i "${srcdir}/gconf-reload.patch"
+ # http://bugzilla.gnome.org/show_bug.cgi?id=568845
+ patch -Np1 -i "${srcdir}/01_xml-gettext-domain.patch"
+
+ # Python2 fix
+ sed -i '1s|#!/usr/bin/env python$|&2|' gsettings/gsettings-schema-convert
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --libexecdir=/usr/lib/GConf \
+ --disable-static --enable-defaults-service --with-gtk=3.0 \
+ --disable-orbit
+
+ make pkglibdir=/usr/lib/GConf
+}
+
+package() {
+ cd "${srcdir}/GConf-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/etc/gconf/gconf.xml.system"
+ install -m755 "${srcdir}/gconf-merge-schema" "${pkgdir}/usr/bin/"
+ install -Dm755 "${srcdir}/gconfpkg" "${pkgdir}/usr/sbin/gconfpkg"
+}
diff --git a/gnome-unstable/gconf/gconf-merge-schema b/gnome-unstable/gconf/gconf-merge-schema
new file mode 100755
index 000000000..992c162e6
--- /dev/null
+++ b/gnome-unstable/gconf/gconf-merge-schema
@@ -0,0 +1,34 @@
+#!/bin/bash
+if [ ! "$1" -a ! "$2" ]; then
+ echo "Usage: $0 output.schemas [--domain gettextdomain] file1.schemas [file2.schemas [...]]"
+ exit 1
+fi
+
+OUTFILE="$1"
+DOMAIN=""
+shift
+
+if [ "$1" = "--domain" ]; then
+ shift
+ DOMAIN=$1
+ shift
+fi
+
+echo '<?xml version="1.0"?>' > "$OUTFILE"
+echo '<gconfschemafile><schemalist>' >> "$OUTFILE"
+
+while [ "$1" ]; do
+ if [ -f "$1" ]; then
+ sed -e '/<?xml/d' \
+ -e 's|<gconfschemafile>||g' \
+ -e 's|</gconfschemafile>||g' \
+ -e 's|<schemalist>||g' \
+ -e 's|</schemalist>||g' "$1" >> "$OUTFILE"
+ fi
+ shift
+done
+
+echo '</schemalist></gconfschemafile>' >> "$OUTFILE"
+if [ "$DOMAIN" != "" ]; then
+ sed -ri "s/^([[:space:]]*)(<locale name=\"C\">)/\1<gettext_domain>$DOMAIN<\/gettext_domain>\n\1\2/; /^[[:space:]]*<locale name=\"[^C]/,/^[[:space:]]*<\/locale>[[:space:]]*\$/ d; /^$/d; s/<\/schema>$/&\n/" "$OUTFILE"
+fi
diff --git a/gnome-unstable/gconf/gconf-reload.patch b/gnome-unstable/gconf/gconf-reload.patch
new file mode 100644
index 000000000..910f0dae4
--- /dev/null
+++ b/gnome-unstable/gconf/gconf-reload.patch
@@ -0,0 +1,20 @@
+--- GConf-2.16.0/gconf/gconftool.c.orig 2006-10-14 17:37:14.000000000 +0000
++++ GConf-2.16.0/gconf/gconftool.c 2006-10-14 17:39:27.000000000 +0000
+@@ -963,6 +963,8 @@ main (int argc, char** argv)
+
+ gconf_engine_unref (conf);
+
++ g_spawn_command_line_sync ("/usr/bin/killall -q -TERM " GCONF_SERVERDIR "/" GCONFD, NULL, NULL, NULL, NULL);
++
+ return retval;
+ }
+
+@@ -975,6 +977,8 @@ main (int argc, char** argv)
+
+ gconf_engine_unref (conf);
+
++ g_spawn_command_line_sync ("/usr/bin/killall -q -TERM " GCONF_SERVERDIR "/" GCONFD, NULL, NULL, NULL, NULL);
++
+ return retval;
+ }
+
diff --git a/gnome-unstable/gconf/gconf.install b/gnome-unstable/gconf/gconf.install
new file mode 100644
index 000000000..f7945d165
--- /dev/null
+++ b/gnome-unstable/gconf/gconf.install
@@ -0,0 +1,20 @@
+post_install() {
+ ldconfig -r .
+ chmod 755 etc/gconf/gconf.xml.system
+ usr/bin/gio-querymodules usr/lib/gio/modules
+}
+
+post_upgrade() {
+ ldconfig -r .
+ chmod 755 etc/gconf/gconf.xml.system
+ usr/bin/gio-querymodules usr/lib/gio/modules
+
+ PID=`pidof gconfd-2`
+ if [ ! -z "${PID}" ]; then
+ kill ${PID}
+ fi
+}
+
+post_remove() {
+ usr/bin/gio-querymodules usr/lib/gio/modules
+}
diff --git a/gnome-unstable/gconf/gconfpkg b/gnome-unstable/gconf/gconfpkg
new file mode 100755
index 000000000..72021e45e
--- /dev/null
+++ b/gnome-unstable/gconf/gconfpkg
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+usage() {
+cat << _EOF
+Usage:
+ gconfpkg [OPTION] [PACKAGE]
+
+ Help Options:
+ -?, --help Show help options
+
+ Application Options:
+ --install Install schemas for a given package
+ --uninstall Uninstall schemas for a given package
+
+_EOF
+}
+
+install() {
+ GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \
+ /usr/bin/gconftool-2 --makefile-install-rule /usr/share/gconf/schemas/${pkgname}.schemas >/dev/null
+}
+
+uninstall() {
+ if [ -f /usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ schemas=/usr/share/gconf/schemas/${pkgname}.schemas
+ elif [ -f /opt/gnome/share/gconf/schemas/${pkgname}.schemas ]; then
+ schemas=/opt/gnome/share/gconf/schemas/${pkgname}.schemas
+ else
+ schemas=`pacman -Ql ${pkgname} | grep 'gconf/schemas/.*schemas$' | awk '{ print $2 }'`
+ fi
+ GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \
+ /usr/bin/gconftool-2 --makefile-uninstall-rule ${schemas} >/dev/null
+}
+
+if [ -z "$2" ]; then
+ usage
+else
+ pkgname="$2"
+ case "$1" in
+ --install)
+ install
+ ;;
+ --uninstall)
+ uninstall
+ ;;
+ *)
+ usage
+ ;;
+ esac
+fi
diff --git a/gnome-unstable/gdm/PKGBUILD b/gnome-unstable/gdm/PKGBUILD
new file mode 100644
index 000000000..e7ce7f125
--- /dev/null
+++ b/gnome-unstable/gdm/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 138396 2011-09-21 14:24:14Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+pkgname=gdm
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Gnome Display Manager (a reimplementation of xdm)"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnome.org"
+backup=('etc/pam.d/gdm-autologin' 'etc/pam.d/gdm-fingerprint' 'etc/pam.d/gdm' 'etc/pam.d/gdm-password'
+ 'etc/pam.d/gdm-smartcard' 'etc/pam.d/gdm-welcome' 'etc/gdm/custom.conf')
+groups=('gnome-extra')
+options=('!libtool')
+depends=('libcanberra' 'libxklavier' 'gnome-session' 'upower' 'accountsservice' 'consolekit' 'xorg-xrdb' 'nss')
+makedepends=('intltool' 'gnome-doc-utils' 'xorg-server' 'gobject-introspection')
+optdepends=('gnome-shell: new login interface')
+install=gdm.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
+ fix_external_program_directories.patch
+ gdm
+ gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam)
+sha256sums=('0cb9dd720b1d2782c9b5108f0d9778d64ee4f9a8825cfa11a44a1368f7850f03'
+ '55654861b14fea344bc7a43fa265c9aaffcd16f5cf56360483fff5d4dc83cf15'
+ '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550'
+ 'b30dfa217718b43ff3aa4e8af08985963175b79ff30698ec54e8396d2905922d'
+ '5bc3ff3ea7b31219dfcb7d9fc0eb2819eca1c5573a0f426d288a17560a69633e'
+ 'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19'
+ '0dbb37b4e2a2a2dd2305f0f69cf32d63d353d34aacaf805d2c2ec52fbe558bb4'
+ 'df74b0dcfb17ea43cc1e268a27cd256c552672457db1af40b285452d16b3e2fd'
+ '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/fix_external_program_directories.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/gdm \
+ --localstatedir=/var \
+ --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \
+ --disable-scrollkeeper \
+ --disable-static \
+ --without-tcp-wrappers
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gdm ${pkgdir}/etc/gconf/schemas/*.schemas
+
+ for i in gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam;do
+ install -m644 "${srcdir}/${i}" "${pkgdir}/etc/pam.d/${i%.pam}"
+ done
+
+ install -Dm755 "${srcdir}/gdm" "${pkgdir}/etc/rc.d/gdm"
+
+ chmod 1770 "${pkgdir}/var/log/gdm"
+ chmod 700 "${pkgdir}/var/lib/gdm/.config/dconf"
+ rm -rf "${pkgdir}/var/run" "${pkgdir}/var/gdm" "${pkgdir}/etc/gconf"
+}
diff --git a/gnome-unstable/gdm/fix-consolekit-registration.patch b/gnome-unstable/gdm/fix-consolekit-registration.patch
new file mode 100644
index 000000000..282d7705e
--- /dev/null
+++ b/gnome-unstable/gdm/fix-consolekit-registration.patch
@@ -0,0 +1,98 @@
+From 984038d2df357750f49658ad0c5bfe0d2e812ffd Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Tue, 06 Sep 2011 15:41:07 +0000
+Subject: daemon: fix consolekit registration
+
+ioni pointed out on IRC, that since commit
+647cad5bf59a4ff3776ba1ae5cda6b1aaaa1cfb2
+
+the greeter session isn't getting fully registered
+with consolekit and so udev acls weren't being
+properly applied.
+
+This commit passes the tty to the worker process
+so that it can be used for registration.
+
+It also passes hostname, merely for completeness.
+---
+diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c
+index 1d5c16a..c25bc9b 100644
+--- a/daemon/gdm-session-direct.c
++++ b/daemon/gdm-session-direct.c
+@@ -1401,6 +1401,8 @@ do_introspect (DBusConnection *connection,
+ " <signal name=\"SetupForProgram\">\n"
+ " <arg name=\"service_name\" type=\"s\"/>\n"
+ " <arg name=\"x11_display_name\" type=\"s\"/>\n"
++ " <arg name=\"display_device\" type=\"s\"/>\n"
++ " <arg name=\"hostname\" type=\"s\"/>\n"
+ " <arg name=\"x11_authority_file\" type=\"s\"/>\n"
+ " <arg name=\"log_file\" type=\"s\"/>\n"
+ " </signal>\n"
+@@ -2052,6 +2054,8 @@ send_setup_for_program (GdmSessionDirect *session,
+ DBusMessage *message;
+ DBusMessageIter iter;
+ const char *display_name;
++ const char *display_device;
++ const char *display_hostname;
+ const char *display_x11_authority_file;
+ GdmSessionConversation *conversation;
+
+@@ -2062,6 +2066,16 @@ send_setup_for_program (GdmSessionDirect *session,
+ } else {
+ display_name = "";
+ }
++ if (session->priv->display_hostname != NULL) {
++ display_hostname = session->priv->display_hostname;
++ } else {
++ display_hostname = "";
++ }
++ if (session->priv->display_device != NULL) {
++ display_device = session->priv->display_device;
++ } else {
++ display_device = "";
++ }
+ if (session->priv->display_x11_authority_file != NULL) {
+ display_x11_authority_file = session->priv->display_x11_authority_file;
+ } else {
+@@ -2077,6 +2091,8 @@ send_setup_for_program (GdmSessionDirect *session,
+ dbus_message_iter_init_append (message, &iter);
+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &service_name);
+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_name);
++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_device);
++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_hostname);
+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_x11_authority_file);
+ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &log_file);
+
+diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
+index 2b46ca8..c402e6c 100644
+--- a/daemon/gdm-session-worker.c
++++ b/daemon/gdm-session-worker.c
+@@ -2597,6 +2597,8 @@ on_setup_for_program (GdmSessionWorker *worker,
+ DBusError error;
+ char *service;
+ char *x11_display_name;
++ char *console;
++ char *hostname;
+ char *x11_authority_file;
+ char *log_file;
+ dbus_bool_t res;
+@@ -2611,6 +2613,8 @@ on_setup_for_program (GdmSessionWorker *worker,
+ &error,
+ DBUS_TYPE_STRING, &service,
+ DBUS_TYPE_STRING, &x11_display_name,
++ DBUS_TYPE_STRING, &console,
++ DBUS_TYPE_STRING, &hostname,
+ DBUS_TYPE_STRING, &x11_authority_file,
+ DBUS_TYPE_STRING, &log_file,
+ DBUS_TYPE_INVALID);
+@@ -2621,6 +2625,8 @@ on_setup_for_program (GdmSessionWorker *worker,
+ worker->priv->service = g_strdup (service);
+ worker->priv->username = g_strdup (GDM_USERNAME);
+ worker->priv->x11_display_name = g_strdup (x11_display_name);
++ worker->priv->hostname = g_strdup (hostname);
++ worker->priv->display_device = g_strdup (console);
+ worker->priv->x11_authority_file = g_strdup (x11_authority_file);
+ worker->priv->log_file = g_strdup (log_file);
+ worker->priv->is_program_session = TRUE;
+--
+cgit v0.9.0.2
diff --git a/gnome-unstable/gdm/fix_external_program_directories.patch b/gnome-unstable/gdm/fix_external_program_directories.patch
new file mode 100644
index 000000000..b74530dd2
--- /dev/null
+++ b/gnome-unstable/gdm/fix_external_program_directories.patch
@@ -0,0 +1,34 @@
+diff -Nur gdm-3.1.91.orig/daemon/gdm-server.c gdm-3.1.91/daemon/gdm-server.c
+--- gdm-3.1.91.orig/daemon/gdm-server.c 2011-09-09 21:58:06.586838200 +0000
++++ gdm-3.1.91/daemon/gdm-server.c 2011-09-09 21:58:14.583578916 +0000
+@@ -131,7 +131,7 @@
+ g_return_val_if_fail (GDM_IS_SERVER (server), NULL);
+
+ error = NULL;
+- command = g_strdup_printf (LIBEXECDIR "/ck-get-x11-display-device --display %s",
++ command = g_strdup_printf ("/usr/lib/ConsoleKit/ck-get-x11-display-device --display %s",
+ server->priv->display_name);
+
+ g_debug ("GdmServer: Running helper %s", command);
+diff -Nur gdm-3.1.91.orig/data/gdm-shell.session.in gdm-3.1.91/data/gdm-shell.session.in
+--- gdm-3.1.91.orig/data/gdm-shell.session.in 2011-09-09 21:58:06.613505113 +0000
++++ gdm-3.1.91/data/gdm-shell.session.in 2011-09-09 21:59:00.300668930 +0000
+@@ -1,5 +1,5 @@
+ [GNOME Session]
+ Name=Display Manager
+ RequiredComponents=gnome-shell;gnome-settings-daemon;
+-IsRunnableHelper=@libexecdir@/gnome-session-check-accelerated
++IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
+ FallbackSession=gdm-fallback
+diff -Nur gdm-3.1.91.orig/gui/simple-chooser/gdm-chooser-session.c gdm-3.1.91/gui/simple-chooser/gdm-chooser-session.c
+--- gdm-3.1.91.orig/gui/simple-chooser/gdm-chooser-session.c 2011-09-09 21:58:06.613505113 +0000
++++ gdm-3.1.91/gui/simple-chooser/gdm-chooser-session.c 2011-09-09 21:58:14.583578916 +0000
+@@ -131,7 +131,7 @@
+ ret = FALSE;
+
+ error = NULL;
+- g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error);
++ g_spawn_command_line_async ("/usr/lib/gnome-settings-daemon/gnome-settings-daemon", &error);
+ if (error != NULL) {
+ g_warning ("Error starting settings daemon: %s", error->message);
+ g_error_free (error);
diff --git a/gnome-unstable/gdm/gdm b/gnome-unstable/gdm/gdm
new file mode 100755
index 000000000..c3e635a6d
--- /dev/null
+++ b/gnome-unstable/gdm/gdm
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting GDM"
+ /usr/sbin/gdm &
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+
+ add_daemon gdm
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping GDM"
+ [ -f /var/run/gdm.pid ] && kill `cat /var/run/gdm.pid` &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon gdm
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/gnome-unstable/gdm/gdm-autologin.pam b/gnome-unstable/gdm/gdm-autologin.pam
new file mode 100644
index 000000000..c77c78917
--- /dev/null
+++ b/gnome-unstable/gdm/gdm-autologin.pam
@@ -0,0 +1,18 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_permit.so
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_deny.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/gnome-unstable/gdm/gdm-fingerprint.pam b/gnome-unstable/gdm/gdm-fingerprint.pam
new file mode 100644
index 000000000..5b74bf6d6
--- /dev/null
+++ b/gnome-unstable/gdm/gdm-fingerprint.pam
@@ -0,0 +1,18 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_fprintd.so
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_deny.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/gnome-unstable/gdm/gdm-password.pam b/gnome-unstable/gdm/gdm-password.pam
new file mode 100644
index 000000000..7beda835a
--- /dev/null
+++ b/gnome-unstable/gdm/gdm-password.pam
@@ -0,0 +1,20 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_unix.so nullok
+auth optional pam_gnome_keyring.so
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_unix.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
+session optional pam_gnome_keyring.so auto_start
diff --git a/gnome-unstable/gdm/gdm-smartcard.pam b/gnome-unstable/gdm/gdm-smartcard.pam
new file mode 100644
index 000000000..baacb8bed
--- /dev/null
+++ b/gnome-unstable/gdm/gdm-smartcard.pam
@@ -0,0 +1,18 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_pkcs11.so wait_for_card card_only
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_pkcs11.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/gnome-unstable/gdm/gdm-welcome.pam b/gnome-unstable/gdm/gdm-welcome.pam
new file mode 100644
index 000000000..cc3811c19
--- /dev/null
+++ b/gnome-unstable/gdm/gdm-welcome.pam
@@ -0,0 +1,12 @@
+#%PAM-1.0
+auth required pam_env.so
+auth required pam_permit.so
+
+account required pam_nologin.so
+account required pam_unix.so
+
+password required pam_deny.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so force revoke
diff --git a/gnome-unstable/gdm/gdm.install b/gnome-unstable/gdm/gdm.install
new file mode 100644
index 000000000..b9732be50
--- /dev/null
+++ b/gnome-unstable/gdm/gdm.install
@@ -0,0 +1,29 @@
+pkgname=gdm
+
+post_install() {
+ getent group gdm >/dev/null 2>&1 || groupadd -g 120 gdm
+ getent passwd gdm > /dev/null 2>&1 || usr/sbin/useradd -c 'Gnome Display Manager' -u 120 -g gdm -d /var/lib/gdm -s /sbin/nologin gdm
+ passwd -l gdm > /dev/null
+ chown -R gdm:gdm /var/lib/gdm > /dev/null
+
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ gconfpkg --install ${pkgname}
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+pre_remove() {
+ if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ gconfpkg --uninstall ${pkgname}
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ getent passwd gdm >/dev/null 2>&1 && userdel gdm
+ getent group gdm >/dev/null 2>&1 && groupdel gdm
+}
diff --git a/gnome-unstable/gdm/gdm.pam b/gnome-unstable/gdm/gdm.pam
new file mode 100644
index 000000000..655299cb7
--- /dev/null
+++ b/gnome-unstable/gdm/gdm.pam
@@ -0,0 +1,10 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+auth required pam_unix.so
+auth optional pam_gnome_keyring.so
+account required pam_unix.so
+session required pam_limits.so
+session required pam_unix.so
+session optional pam_gnome_keyring.so auto_start
+password required pam_unix.so
diff --git a/gnome-unstable/gedit/PKGBUILD b/gnome-unstable/gedit/PKGBUILD
new file mode 100644
index 000000000..cd60051cd
--- /dev/null
+++ b/gnome-unstable/gedit/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 138275 2011-09-19 19:18:02Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gedit
+pkgver=3.1.6
+pkgrel=1
+pkgdesc="A text editor for GNOME"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gtksourceview3' 'gsettings-desktop-schemas' 'libpeas' 'enchant' 'iso-codes' 'libsm' 'desktop-file-utils' 'python2-gobject' 'dconf')
+makedepends=('gnome-doc-utils' 'intltool')
+groups=('gnome-extra')
+options=('!libtool' '!emptydirs')
+url="http://www.gnome.org"
+install=gedit.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('2aa6087150830c0fd0bfafd30d68acbab247e747cf4a729af48f04c5499d4d24')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib --disable-scrollkeeper \
+ --disable-updater --disable-schemas-compile \
+ --enable-python
+ make
+}
+
+package(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gedit/gedit.install b/gnome-unstable/gedit/gedit.install
new file mode 100644
index 000000000..9d88a1341
--- /dev/null
+++ b/gnome-unstable/gedit/gedit.install
@@ -0,0 +1,18 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/gedit.schemas ]; then
+ usr/sbin/gconfpkg --uninstall gedit
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/gjs/PKGBUILD b/gnome-unstable/gjs/PKGBUILD
new file mode 100644
index 000000000..f0de086b7
--- /dev/null
+++ b/gnome-unstable/gjs/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 138392 2011-09-21 14:01:12Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+pkgname=gjs
+pkgver=1.29.18
+pkgrel=1
+pkgdesc="Javascript Bindings for GNOME"
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/Gjs"
+license=('GPL')
+depends=('cairo' 'dbus-glib' 'gobject-introspection' 'js')
+options=('!libtool')
+source=(http://download.gnome.org/sources/${pkgname}/1.29/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('f2040c2a61ec8ace64ba8d7777a81489b50a4f67a8fb8d565e175114a45f3ab4')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's|python|python2|' scripts/make-tests
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/glib-networking/PKGBUILD b/gnome-unstable/glib-networking/PKGBUILD
new file mode 100644
index 000000000..7959ab0dc
--- /dev/null
+++ b/gnome-unstable/glib-networking/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 138312 2011-09-19 22:27:15Z ibiru $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=glib-networking
+pkgver=2.29.92
+pkgrel=1
+pkgdesc="Network-related giomodules for glib"
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+license=('GPL2')
+depends=('glib2' 'libproxy' 'gnutls' 'libgcrypt' 'ca-certificates' 'gsettings-desktop-schemas')
+makedepends=('intltool')
+options=('!libtool')
+install=glib-networking.install
+source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.xz)
+sha256sums=('65b3785e02ffae1cf5e3f25985ac428d6d17e69355947ed831e1a6d1e852948a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure \
+ --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/glib-networking --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/glib-networking/glib-networking.install b/gnome-unstable/glib-networking/glib-networking.install
new file mode 100644
index 000000000..595f1c75b
--- /dev/null
+++ b/gnome-unstable/glib-networking/glib-networking.install
@@ -0,0 +1,11 @@
+post_install() {
+ usr/bin/gio-querymodules usr/lib/gio/modules
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/glib2/PKGBUILD b/gnome-unstable/glib2/PKGBUILD
new file mode 100644
index 000000000..3967cd0be
--- /dev/null
+++ b/gnome-unstable/glib2/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 138206 2011-09-18 15:57:03Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=glib2
+pkgver=2.29.92
+pkgrel=1
+pkgdesc="Common C routines used by GTK+ and other libs"
+url="http://www.gtk.org/"
+arch=(i686 x86_64)
+license=('LGPL')
+depends=('pcre' 'libffi')
+makedepends=('pkgconfig' 'python2')
+optdepends=('python2: for gdbus-codegen')
+options=('!libtool' '!docs' '!emptydirs')
+source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.29/glib-${pkgver}.tar.xz
+ glib2.sh
+ glib2.csh)
+sha256sums=('1f68d7990d03a52cf81284f039de94b041c3f5eb3d53663166b31e477557e8b1'
+ '9456872cdedcc639fb679448d74b85b0facf81033e27157d2861b991823b5a2a'
+ '8d5626ffa361304ad3696493c0ef041d0ab10c857f6ef32116b3e2878ecf89e3')
+
+build() {
+ cd "${srcdir}/glib-${pkgver}"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-pcre=system \
+ --disable-fam
+ make
+}
+
+package() {
+ cd "${srcdir}/glib-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -d "${pkgdir}/etc/profile.d"
+ install -m755 "${srcdir}/glib2.sh" "${pkgdir}/etc/profile.d/"
+ install -m755 "${srcdir}/glib2.csh" "${pkgdir}/etc/profile.d/"
+
+ for _i in "${pkgdir}/etc/bash_completion.d/"*; do
+ chmod -x "${_i}"
+ done
+ sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir"/usr/bin/gdbus-codegen
+}
diff --git a/gnome-unstable/glib2/glib2.csh b/gnome-unstable/glib2/glib2.csh
new file mode 100644
index 000000000..7aa3a2ffa
--- /dev/null
+++ b/gnome-unstable/glib2/glib2.csh
@@ -0,0 +1 @@
+setenv G_BROKEN_FILENAMES 1
diff --git a/gnome-unstable/glib2/glib2.sh b/gnome-unstable/glib2/glib2.sh
new file mode 100644
index 000000000..96a056e1e
--- /dev/null
+++ b/gnome-unstable/glib2/glib2.sh
@@ -0,0 +1 @@
+export G_BROKEN_FILENAMES=1
diff --git a/gnome-unstable/glibmm/PKGBUILD b/gnome-unstable/glibmm/PKGBUILD
new file mode 100644
index 000000000..181329421
--- /dev/null
+++ b/gnome-unstable/glibmm/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 137177 2011-09-06 09:13:26Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgbase=glibmm
+pkgname=('glibmm' 'glibmm-docs')
+pkgver=2.29.13
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('LGPL')
+makedepends=('glib2' 'libsigc++2.0' 'pkgconfig')
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+options=('!libtool')
+url="http://gtkmm.sourceforge.net/"
+sha256sums=('951e8af5e6924b2c4b2d9ae1f4e6caa394aa9d926d3602e7c6fc390f78464f65')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package_glibmm() {
+ pkgdesc="Glib-- (glibmm) is a C++ interface for glib"
+ depends=('glib2' 'libsigc++2.0')
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ sed -i -e 's/^doc_subdirs/#doc_subdirs/' Makefile
+ make DESTDIR="${pkgdir}" install
+}
+
+package_glibmm-docs() {
+ pkgdesc="Developer documentation for glibmm"
+ cd "${srcdir}/${pkgbase}-${pkgver}/docs"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gnome-applets/PKGBUILD b/gnome-unstable/gnome-applets/PKGBUILD
new file mode 100644
index 000000000..9392798fb
--- /dev/null
+++ b/gnome-unstable/gnome-applets/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 136871 2011-09-02 14:46:33Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-applets
+pkgver=3.1.90
+pkgrel=1
+pkgdesc="GNOME Applets"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('gnome-panel' 'libgtop' 'gucharmap' 'libnotify' 'cpufrequtils')
+makedepends=('gnome-doc-utils' 'intltool' 'gnome-settings-daemon' 'networkmanager' 'gnome-common')
+options=(!emptydirs)
+url="http://www.gnome.org"
+groups=(gnome)
+install=gnome-applets.install
+source=(http://download.gnome.org/sources/${pkgname}/3.1/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('33e102f7535705113d1fef302d53863e63f08ac354e22a96ea5d92c0db3f5f9d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --sysconfdir=/etc --libexecdir=/usr/lib/gnome-applets \
+ --localstatedir=/var --disable-static \
+ --disable-scrollkeeper --disable-schemas-install \
+ --without-hal
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-applets-3.0 ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/gnome-applets/gnome-applets.install b/gnome-unstable/gnome-applets/gnome-applets.install
new file mode 100644
index 000000000..dd9c34269
--- /dev/null
+++ b/gnome-unstable/gnome-applets/gnome-applets.install
@@ -0,0 +1,22 @@
+pkgname=gnome-applets
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/gnome-unstable/gnome-bluetooth/61-gnome-bluetooth-rfkill.rules b/gnome-unstable/gnome-bluetooth/61-gnome-bluetooth-rfkill.rules
new file mode 100644
index 000000000..a76c1e73c
--- /dev/null
+++ b/gnome-unstable/gnome-bluetooth/61-gnome-bluetooth-rfkill.rules
@@ -0,0 +1,11 @@
+# Get access to /dev/rfkill for users
+# See https://bugzilla.redhat.com/show_bug.cgi?id=514798
+#
+# Updated for udev >= 154
+# http://bugs.debian.org/582188
+# https://bugzilla.redhat.com/show_bug.cgi?id=588660
+
+ENV{ACL_MANAGE}=="0", GOTO="gnome_bluetooth_end"
+ACTION!="add|change", GOTO="gnome_bluetooth_end"
+KERNEL=="rfkill", TAG+="udev-acl"
+LABEL="gnome_bluetooth_end"
diff --git a/gnome-unstable/gnome-bluetooth/PKGBUILD b/gnome-unstable/gnome-bluetooth/PKGBUILD
new file mode 100644
index 000000000..e0a1d5ff6
--- /dev/null
+++ b/gnome-unstable/gnome-bluetooth/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 138353 2011-09-20 15:37:23Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+
+pkgname=gnome-bluetooth
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="The GNOME Bluetooth Subsystem"
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/GnomeBluetooth"
+license=('GPL' 'LGPL')
+depends=('gtk3' 'hicolor-icon-theme' 'gvfs-obexftp' 'obexd-client' 'dconf')
+makedepends=('intltool' 'gnome-doc-utils' 'nautilus-sendto' 'gobject-introspection')
+options=('!libtool' '!emptydirs')
+install=gnome-bluetooth.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
+ 61-gnome-bluetooth-rfkill.rules)
+sha256sums=('bcbe097434081618de18e5caf955c42f22ea79d6dc6fcad9647a1ca0240560ce'
+ 'b8acb8ea2e7f3588575cffd8ea14ec50c8641f518f2ea899771a508b299ea474')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-desktop-update \
+ --disable-icon-update \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m644 -D "${srcdir}/61-gnome-bluetooth-rfkill.rules" \
+ "${pkgdir}/lib/udev/rules.d//61-gnome-bluetooth-rfkill.rules"
+ install -d ${pkgdir}/etc/ld.so.conf.d
+ echo "/usr/lib/gnome-bluetooth" > ${pkgdir}/etc/ld.so.conf.d/${pkgname}.conf
+}
diff --git a/gnome-unstable/gnome-bluetooth/gnome-bluetooth.install b/gnome-unstable/gnome-bluetooth/gnome-bluetooth.install
new file mode 100644
index 000000000..927142ee0
--- /dev/null
+++ b/gnome-unstable/gnome-bluetooth/gnome-bluetooth.install
@@ -0,0 +1,12 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/gnome-color-manager/PKGBUILD b/gnome-unstable/gnome-color-manager/PKGBUILD
new file mode 100644
index 000000000..4386b06b7
--- /dev/null
+++ b/gnome-unstable/gnome-color-manager/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 138279 2011-09-19 19:45:34Z ibiru $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=gnome-color-manager
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Color profile manager for the GNOME desktop"
+arch=(i686 x86_64)
+url="http://projects.gnome.org/gnome-color-manager/"
+license=(GPL2)
+depends=('libcanberra' 'vte3' 'exiv2' 'hicolor-icon-theme' 'desktop-file-utils' 'clutter-gtk' 'mash')
+makedepends=('intltool' 'gtk-doc')
+install=gnome-color-manager.install
+options=('!libtool' '!emptydirs')
+groups=('gnome-extra')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('e2de9c0780b730f8e1472b671b0b0f566adfd197c5eb092c75672fa3736ad1fd')
+
+build(){
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # man pages need docbook-sgml, which we don't have
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/gnome-color-manager \
+ --disable-static --disable-man-pages
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/gnome-unstable/gnome-color-manager/gnome-color-manager.install b/gnome-unstable/gnome-color-manager/gnome-color-manager.install
new file mode 100644
index 000000000..04fda0ddc
--- /dev/null
+++ b/gnome-unstable/gnome-color-manager/gnome-color-manager.install
@@ -0,0 +1,19 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall gnome-color-manager
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/gnome-contacts/PKGBUILD b/gnome-unstable/gnome-contacts/PKGBUILD
new file mode 100644
index 000000000..36541fdfc
--- /dev/null
+++ b/gnome-unstable/gnome-contacts/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 138346 2011-09-20 11:23:36Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=gnome-contacts
+pkgver=0.1.5.2
+pkgrel=1
+pkgdesc="Contacts Manager for GNOME"
+arch=(i686 x86_64)
+url="http://www.gnome.org"
+license=('GPL2')
+groups=(gnome-extra)
+depends=('gtk3' 'folks' 'libnotify' 'gnome-desktop')
+makedepends=('intltool' 'vala')
+install=
+source=(http://download.gnome.org/sources/$pkgname/0.1/$pkgname-$pkgver.tar.xz)
+sha256sums=('0a6f534a4f0dea48552a47791ea4d4b495e869480222932d9ff4b21503b2428a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/gnome-control-center/PKGBUILD b/gnome-unstable/gnome-control-center/PKGBUILD
new file mode 100644
index 000000000..ecc20964a
--- /dev/null
+++ b/gnome-unstable/gnome-control-center/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 138336 2011-09-20 08:19:44Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-control-center
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="The Control Center for GNOME"
+arch=('i686' 'x86_64')
+depends=('gtk3' 'gsettings-desktop-schemas' 'gnome-menus' 'gnome-desktop' 'gnome-settings-daemon' 'upower' 'libgtop' 'cups-pk-helper' 'accountsservice' 'sound-theme-freedesktop' 'gnome-online-accounts' 'network-manager-applet')
+optdepends=('mesa-demos: provides glxinfo for graphics information'
+ 'apg: adds password generation for user accounts')
+makedepends=('gnome-doc-utils' 'intltool')
+url="http://www.gnome.org"
+groups=('gnome')
+install=gnome-control-center.install
+license=('GPL')
+options=('!libtool' '!emptydirs')
+source=(http://download.gnome.org/sources/${pkgname}/3.1/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('f9f44d3eea3a0421b585b1d1739610f4bfcba743b7d0ec2091596024fb973065')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --disable-scrollkeeper --disable-update-mimedb
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=656229
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
+
diff --git a/gnome-unstable/gnome-control-center/gnome-control-center.install b/gnome-unstable/gnome-control-center/gnome-control-center.install
new file mode 100644
index 000000000..eb703319f
--- /dev/null
+++ b/gnome-unstable/gnome-control-center/gnome-control-center.install
@@ -0,0 +1,19 @@
+pkgname=gnome-control-center
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/gnome-desktop/PKGBUILD b/gnome-unstable/gnome-desktop/PKGBUILD
new file mode 100644
index 000000000..238be9ad7
--- /dev/null
+++ b/gnome-unstable/gnome-desktop/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 138281 2011-09-19 19:50:26Z ibiru $
+# Maintainer: Jan de Groot <jan@archlinux.org>
+
+pkgname=gnome-desktop
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Library with common API for various GNOME modules"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL')
+depends=('gsettings-desktop-schemas' 'startup-notification' 'gtk3')
+makedepends=('gnome-doc-utils' 'intltool' 'gobject-introspection')
+url="http://www.gnome.org"
+groups=('gnome')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('4f687e4363b9c4401fd8c613b78eea052ba8bb0669a33334c1b98ac69924f193')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --with-gnome-distributor="Arch Linux" \
+ --disable-scrollkeeper
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gnome-documents/PKGBUILD b/gnome-unstable/gnome-documents/PKGBUILD
new file mode 100644
index 000000000..3da3e4712
--- /dev/null
+++ b/gnome-unstable/gnome-documents/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 138324 2011-09-20 07:02:56Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=gnome-documents
+pkgver=0.1.92
+pkgrel=1
+pkgdesc="Documents Manager for GNOME"
+arch=(i686 x86_64)
+url="http://www.gnome.org"
+license=('GPL')
+groups=('gnome-extra')
+depends=('clutter-gtk' 'evince' 'gobject-introspection' 'gtk3' 'gnome-desktop'
+ 'gnome-online-accounts' 'libgdata' 'tracker')
+makedepends=('intltool' 'vala')
+install=gnome-documents.install
+source=(http://download.gnome.org/sources/$pkgname/0.1/$pkgname-$pkgver.tar.xz)
+sha256sums=('9794240271b24a58ef6cdc2218c74449da3cc2bc2c1512e1006a5a0f4bed7de9')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/gnome-documents
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/gnome-documents/gnome-documents.install b/gnome-unstable/gnome-documents/gnome-documents.install
new file mode 100644
index 000000000..95114273e
--- /dev/null
+++ b/gnome-unstable/gnome-documents/gnome-documents.install
@@ -0,0 +1,13 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/gnome-games/PKGBUILD b/gnome-unstable/gnome-games/PKGBUILD
new file mode 100644
index 000000000..cca761daf
--- /dev/null
+++ b/gnome-unstable/gnome-games/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 138402 2011-09-21 15:18:50Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-games
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Some Games for GNOME"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libsm' 'gconf' 'guile' 'desktop-file-utils' 'libcanberra' 'clutter-gtk' 'hicolor-icon-theme' 'librsvg' 'seed' 'pygobject')
+makedepends=('gnome-doc-utils' 'intltool' 'gobject-introspection')
+provides=('glchess')
+conflicts=('glchess')
+options=('!emptydirs' '!libtool')
+install=gnome-games.install
+url="http://www.gnome.org"
+groups=('gnome-extra')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('43aa83ca8ab132c63209c1e731f2b712a0b56a5de1564cc29e5c9da520f5986d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-scrollkeeper \
+ --disable-static \
+ --with-scores-user=root --with-scores-group=games \
+ --enable-introspection=yes
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make -j1 GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ # Remove all scores, we generate them from postinstall
+ rm -rf "${pkgdir}/var"
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-games ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+
+ sed -i 's_#! /usr/bin/env python_#!/usr/bin/env python2_' ${pkgdir}/usr/bin/gnome-sudoku
+}
diff --git a/gnome-unstable/gnome-games/gnome-games.install b/gnome-unstable/gnome-games/gnome-games.install
new file mode 100644
index 000000000..1f67c2e01
--- /dev/null
+++ b/gnome-unstable/gnome-games/gnome-games.install
@@ -0,0 +1,153 @@
+pkgname=gnome-games
+scores=(glines.Large.scores
+ glines.Medium.scores
+ glines.Small.scores
+ gnibbles.1.0.scores
+ gnibbles.1.1.scores
+ gnibbles.2.0.scores
+ gnibbles.2.1.scores
+ gnibbles.3.0.scores
+ gnibbles.3.1.scores
+ gnibbles.4.0.scores
+ gnibbles.4.1.scores
+ gnobots2.classic_robots-safe.scores
+ gnobots2.classic_robots-super-safe.scores
+ gnobots2.classic_robots.scores
+ gnobots2.nightmare-safe.scores
+ gnobots2.nightmare-super-safe.scores
+ gnobots2.nightmare.scores
+ gnobots2.robots2-safe.scores
+ gnobots2.robots2-super-safe.scores
+ gnobots2.robots2.scores
+ gnobots2.robots2_easy-safe.scores
+ gnobots2.robots2_easy-super-safe.scores
+ gnobots2.robots2_easy.scores
+ gnobots2.robots_with_safe_teleport-safe.scores
+ gnobots2.robots_with_safe_teleport-super-safe.scores
+ gnobots2.robots_with_safe_teleport.scores
+ gnomine.Custom.scores
+ gnomine.Large.scores
+ gnomine.Medium.scores
+ gnomine.Small.scores
+ gnotravex.2x2.scores
+ gnotravex.3x3.scores
+ gnotravex.4x4.scores
+ gnotravex.5x5.scores
+ gnotravex.6x6.scores
+ gnotski.1.scores
+ gnotski.10.scores
+ gnotski.11.scores
+ gnotski.12.scores
+ gnotski.13.scores
+ gnotski.14.scores
+ gnotski.15.scores
+ gnotski.16.scores
+ gnotski.17.scores
+ gnotski.18.scores
+ gnotski.19.scores
+ gnotski.2.scores
+ gnotski.20.scores
+ gnotski.21.scores
+ gnotski.22.scores
+ gnotski.23.scores
+ gnotski.24.scores
+ gnotski.25.scores
+ gnotski.26.scores
+ gnotski.27.scores
+ gnotski.28.scores
+ gnotski.29.scores
+ gnotski.3.scores
+ gnotski.30.scores
+ gnotski.31.scores
+ gnotski.32.scores
+ gnotski.33.scores
+ gnotski.34.scores
+ gnotski.35.scores
+ gnotski.36.scores
+ gnotski.37.scores
+ gnotski.4.scores
+ gnotski.5.scores
+ gnotski.6.scores
+ gnotski.7.scores
+ gnotski.8.scores
+ gnotski.9.scores
+ gtali.Colors.scores
+ gtali.Regular.scores
+ mahjongg.bridges.scores
+ mahjongg.cloud.scores
+ mahjongg.confounding.scores
+ mahjongg.difficult.scores
+ mahjongg.dragon.scores
+ mahjongg.easy.scores
+ mahjongg.pyramid.scores
+ mahjongg.tictactoe.scores
+ mahjongg.ziggurat.scores
+ swell-foop.Large.scores
+ swell-foop.Medium.scores
+ swell-foop.Small.scores
+ quadrapassel.scores)
+
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ usr/sbin/gconfpkg --install ${pkgname}
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+
+ for sz in Large Medium Small; do
+ if [ -e "opt/gnome/var/games/same-gnome.${sz}.scores" ]; then
+ mv "opt/gnome/var/games/same-gnome.${sz}.scores" \
+ "var/games/swell-foop.${sz}.scores"
+ elif [ -e "var/games/same-gnome.${sz}.scores" ]; then
+ mv "var/games/same-gnome.${sz}.scores" \
+ "var/games/swell-foop.${sz}.scores"
+ fi
+ done
+ if [ -e "opt/gnome/var/games/gnometris.scores" ]; then
+ mv "opt/gnome/var/games/gnometris.scores" \
+ "var/games/quadrapassel.scores"
+ elif [ -e "var/games/gnometris.scores" ]; then
+ mv "var/games/gnometris.scores" \
+ "var/games/quadrapassel.scores"
+ fi
+
+ for score in "${scores[@]}" ; do
+ if [ -e "var/games/${score}" ]; then
+ continue
+ fi
+ if [ -e "opt/gnome/var/games/${score}" ]; then
+ mv "opt/gnome/var/games/${score}" var/games/
+ else
+ touch "var/games/${score}"
+ fi
+ chown root:games "var/games/${score}"
+ chmod 664 "var/games/${score}"
+ done
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+
+ if [ -f usr/share/ggz/gnect-client.dsc ]; then
+ ggz-config -r -m usr/share/ggz/gnect-client.dsc >& /dev/null
+ ggz-config -r -m usr/share/ggz/gnibbles-client.dsc >& /dev/null
+ ggz-config -r -m usr/share/ggz/iagno-client.dsc >& /dev/null
+ fi
+}
+
+post_remove() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -f -t usr/share/icons/hicolor
+
+ for score in "${scores[@]}" ; do
+ rm -f "var/games/${score}"
+ done
+}
diff --git a/gnome-unstable/gnome-keyring/PKGBUILD b/gnome-unstable/gnome-keyring/PKGBUILD
new file mode 100644
index 000000000..a9a015938
--- /dev/null
+++ b/gnome-unstable/gnome-keyring/PKGBUILD
@@ -0,0 +1,32 @@
+#$Id: PKGBUILD 138180 2011-09-18 08:59:37Z heftig $
+# Maintainer: Jan De Groot <jgc@archlinux.org>
+
+pkgname=gnome-keyring
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="GNOME Password Management daemon"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('gtk3' 'dconf' 'libgcrypt' 'libcap-ng' 'p11-kit' 'desktop-file-utils' 'hicolor-icon-theme')
+makedepends=('intltool' 'python2')
+groups=('gnome')
+options=('!libtool' '!emptydirs')
+url="http://www.gnome.org"
+install=gnome-keyring.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('5bb63e1f8c368efa313fc0d72909d122cf7ed387001015665f5b1cdc25551c0d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --libexecdir=/usr/lib/gnome-keyring \
+ --with-pam-dir=/lib/security --with-root-certs=/etc/ssl/certs \
+ --disable-schemas-compile --disable-update-mime
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gnome-keyring/gnome-keyring.install b/gnome-unstable/gnome-keyring/gnome-keyring.install
new file mode 100644
index 000000000..37d76c56a
--- /dev/null
+++ b/gnome-unstable/gnome-keyring/gnome-keyring.install
@@ -0,0 +1,15 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-mime-database usr/share/mime 1> /dev/null
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+ setcap cap_ipc_lock=ep usr/bin/gnome-keyring-daemon
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/gnome-menus/PKGBUILD b/gnome-unstable/gnome-menus/PKGBUILD
new file mode 100644
index 000000000..779319e5e
--- /dev/null
+++ b/gnome-unstable/gnome-menus/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 138261 2011-09-19 17:46:18Z ibiru $
+# Maintainer: Jan de Groot <jan@archlinux.org>
+
+pkgname=gnome-menus
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="GNOME menu specifications"
+arch=('i686' 'x86_64')
+depends=('glib2' 'python2')
+makedepends=('intltool' 'gobject-introspection')
+options=('!libtool')
+license=('GPL' 'LGPL')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
+ menus.patch)
+sha256sums=('dcc18847cbcc99e83bb5f9e75b62b6475dc3e1f77e8534a4f00f3e858f459bf4'
+ 'df2779777906b038fa911dc745534564ede9524a64ab368e2f6f8e38d54e7acc')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np0 -i "$srcdir/menus.patch"
+
+ PYTHON=/usr/bin/python2 ./configure \
+ --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ sed -i "1s|#!/usr/bin/env python$|&2|" \
+ "$pkgdir/usr/lib/python2.7/site-packages/GMenuSimpleEditor/config.py"
+}
diff --git a/gnome-unstable/gnome-menus/menus.patch b/gnome-unstable/gnome-menus/menus.patch
new file mode 100644
index 000000000..bf73e86cd
--- /dev/null
+++ b/gnome-unstable/gnome-menus/menus.patch
@@ -0,0 +1,25 @@
+--- layout/applications.menu 2005-06-28 10:16:39.000000000 +0200
++++ layout/applications.menu 2005-09-12 23:21:20.000000000 +0200
+@@ -7,7 +7,6 @@
+ <Directory>Applications.directory</Directory>
+
+ <!-- Scan legacy dirs first, as later items take priority -->
+- <KDELegacyDirs/>
+ <LegacyDir>/etc/X11/applnk</LegacyDir>
+ <LegacyDir>/usr/share/gnome/apps</LegacyDir>
+
+@@ -18,6 +17,14 @@
+ <!-- Read in overrides and child menus from applications-merged/ -->
+ <DefaultMergeDirs/>
+
++ <!-- Archlinux submenu -->
++ <Menu>
++ <Name>Archlinux</Name>
++ <Directory>Archlinux.directory</Directory>
++ <Include>
++ <Category>Archlinux</Category>
++ </Include>
++ </Menu> <!-- End Archlinux -->
+ <!-- Accessories submenu -->
+ <Menu>
+ <Name>Accessories</Name>
diff --git a/gnome-unstable/gnome-online-accounts/PKGBUILD b/gnome-unstable/gnome-online-accounts/PKGBUILD
new file mode 100644
index 000000000..48e201074
--- /dev/null
+++ b/gnome-unstable/gnome-online-accounts/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 138291 2011-09-19 21:00:17Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=gnome-online-accounts
+pkgver=3.1.91
+pkgrel=1
+pkgdesc="GNOME service to access online accounts"
+arch=(i686 x86_64)
+url="http://www.gnome.org"
+license=('GPL')
+depends=('libwebkit3' 'json-glib' 'libnotify' 'rest' 'hicolor-icon-theme')
+makedepends=('intltool' 'libxslt' 'gobject-introspection' 'docbook-xsl')
+options=(!libtool)
+install=$pkgname.install
+source=(http://download.gnome.org/sources/$pkgname/3.1/$pkgname-$pkgver.tar.xz)
+sha256sums=('8690f7908e5676dead765776a6a5c4704f5d811a312d8efb4d48325c4b905dd6')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --libexec=/usr/lib/gnome-online-accounts
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/gnome-online-accounts/gnome-online-accounts.install b/gnome-unstable/gnome-online-accounts/gnome-online-accounts.install
new file mode 100644
index 000000000..2e02b7952
--- /dev/null
+++ b/gnome-unstable/gnome-online-accounts/gnome-online-accounts.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/gnome-unstable/gnome-panel/PKGBUILD b/gnome-unstable/gnome-panel/PKGBUILD
new file mode 100644
index 000000000..2c7f9cb99
--- /dev/null
+++ b/gnome-unstable/gnome-panel/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 138310 2011-09-19 22:23:50Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-panel
+pkgver=3.1.92
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('GPL')
+pkgdesc="The GNOME Panel"
+url="http://www.gnome.org"
+depends=('gnome-menus' 'gnome-desktop' 'evolution-data-server' 'librsvg' 'libwnck3' 'libsm' 'dconf' 'telepathy-glib')
+makedepends=('gnome-doc-utils' 'intltool' 'gobject-introspection' 'networkmanager' 'libcanberra')
+install=gnome-panel.install
+groups=('gnome')
+replaces=('gnome-panel-bonobo')
+provides=("gnome-panel-bonobo=${pkgver}")
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('1f3fcb9769b2871eda0f17eb87f01476cca625be5e798a2f37d32a222509356e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --libexecdir=/usr/lib/gnome-panel \
+ --disable-scrollkeeper \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-panel-3.0 ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/gnome-panel/gnome-panel.install b/gnome-unstable/gnome-panel/gnome-panel.install
new file mode 100644
index 000000000..e3175df5e
--- /dev/null
+++ b/gnome-unstable/gnome-panel/gnome-panel.install
@@ -0,0 +1,24 @@
+pkgname=gnome-panel
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/gnome-unstable/gnome-power-manager/PKGBUILD b/gnome-unstable/gnome-power-manager/PKGBUILD
new file mode 100644
index 000000000..445c6cd42
--- /dev/null
+++ b/gnome-unstable/gnome-power-manager/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 138283 2011-09-19 19:56:04Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-power-manager
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Power management tools."
+arch=(i686 x86_64)
+url="http://www.gnome.org/projects/gnome-power-manager/"
+license=('GPL')
+depends=('gtk3' 'upower' 'dconf' 'hicolor-icon-theme')
+makedepends=('intltool' 'gnome-doc-utils')
+options=(!emptydirs)
+install=gnome-power-manager.install
+groups=(gnome-extra)
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('74d4c6bb1d0b9f3d7889da9fd2b35695e40795b3d06a932473b2e42f0a8ea1ac')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/gnome-power-manager \
+ --disable-scrollkeeper \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gnome-power-manager/gnome-power-manager.install b/gnome-unstable/gnome-power-manager/gnome-power-manager.install
new file mode 100644
index 000000000..4666938db
--- /dev/null
+++ b/gnome-unstable/gnome-power-manager/gnome-power-manager.install
@@ -0,0 +1,19 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ gtk-update-icon-cache -q -t -f usr/share/icons/gnome
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.91.92) < 0 )); then
+ usr/sbin/gconfpkg --uninstall gnome-power-manager
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/gnome-screensaver/PKGBUILD b/gnome-unstable/gnome-screensaver/PKGBUILD
new file mode 100644
index 000000000..e4cba9bb7
--- /dev/null
+++ b/gnome-unstable/gnome-screensaver/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 138228 2011-09-19 12:10:27Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-screensaver
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Screensaver designed to integrate well with the GNOME desktop."
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://live.gnome.org/GnomeScreensaver"
+backup=(etc/pam.d/gnome-screensaver)
+depends=('dbus-glib' 'libgnomekbd' 'gnome-desktop' 'gsettings-desktop-schemas')
+makedepends=('pkgconfig' 'intltool' 'libxss')
+groups=('gnome')
+options=(!emptydirs)
+install=gnome-screensaver.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
+ gnome-screensaver.pam)
+sha256sums=('816d9c2905f52ddcba8f4e03ca4ebb9d6566dca1b41557f5b176bd7cde3b38d5'
+ '2744d1fc39da46fc681b7cf1c9230d2035b2bb8d9f510213fbe439c114eb76a2')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/gnome-screensaver \
+ --localstatedir=/var \
+ --with-mit-ext
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 "${srcdir}/gnome-screensaver.pam" "${pkgdir}/etc/pam.d/gnome-screensaver"
+}
diff --git a/gnome-unstable/gnome-screensaver/gnome-screensaver.install b/gnome-unstable/gnome-screensaver/gnome-screensaver.install
new file mode 100644
index 000000000..3b0e06046
--- /dev/null
+++ b/gnome-unstable/gnome-screensaver/gnome-screensaver.install
@@ -0,0 +1,7 @@
+pkgname=gnome-screensaver
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+ fi
+}
diff --git a/gnome-unstable/gnome-screensaver/gnome-screensaver.pam b/gnome-unstable/gnome-screensaver/gnome-screensaver.pam
new file mode 100644
index 000000000..c776a5410
--- /dev/null
+++ b/gnome-unstable/gnome-screensaver/gnome-screensaver.pam
@@ -0,0 +1,3 @@
+#%PAM-1.0
+auth required pam_unix_auth.so
+auth optional pam_gnome_keyring.so
diff --git a/gnome-unstable/gnome-session/PKGBUILD b/gnome-unstable/gnome-session/PKGBUILD
new file mode 100644
index 000000000..2b534470e
--- /dev/null
+++ b/gnome-unstable/gnome-session/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 138398 2011-09-21 14:27:36Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-session
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="The GNOME Session Handler"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('upower' 'gtk3' 'gconf' 'json-glib' 'startup-notification' 'hicolor-icon-theme' 'libxtst' 'polkit-gnome' 'libgl' 'gsettings-desktop-schemas' 'consolekit' 'libsm' 'dconf')
+makedepends=('intltool' 'mesa' 'xtrans')
+options=('!emptydirs')
+install=gnome-session.install
+url="http://www.gnome.org"
+groups=('gnome')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('dc505c6730da6ed984d7f72ad31c9780d4d19d72f673ea60feec2e9f685c33f3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --libexecdir=/usr/lib/gnome-session \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gnome-session/gnome-session.install b/gnome-unstable/gnome-session/gnome-session.install
new file mode 100644
index 000000000..74cf4ed22
--- /dev/null
+++ b/gnome-unstable/gnome-session/gnome-session.install
@@ -0,0 +1,18 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.91.91.3-3) < 0 )); then
+ usr/sbin/gconfpkg --uninstall gnome-session
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/gnome-settings-daemon/PKGBUILD b/gnome-unstable/gnome-settings-daemon/PKGBUILD
new file mode 100644
index 000000000..4fe0fb4d8
--- /dev/null
+++ b/gnome-unstable/gnome-settings-daemon/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 138249 2011-09-19 15:22:06Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-settings-daemon
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="The GNOME Settings daemon"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libgnomekbd' 'gnome-desktop' 'libnotify' 'hicolor-icon-theme' 'libcanberra-pulse' 'gsettings-desktop-schemas' 'nss' 'gconf' 'dconf' 'pulseaudio' 'pulseaudio-alsa' 'upower')
+makedepends=('intltool' 'gtk-doc' 'gnome-desktop')
+options=('!emptydirs' '!libtool')
+install=gnome-settings-daemon.install
+url="http://www.gnome.org"
+groups=('gnome')
+replaces=(gnome-settings-daemon-pulse)
+conflicts=(gnome-settings-daemon-pulse)
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('e1dadfbf3a830e0606456e9269db4f80673ff4607be8106c49a607b41156f97f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib/gnome-settings-daemon --disable-static --enable-pulse \
+ --with-pnpids=/usr/share/libgnome-desktop-3.0/pnp.ids
+ #https://bugzilla.gnome.org/show_bug.cgi?id=656231
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gnome-settings-daemon/gnome-settings-daemon.install b/gnome-unstable/gnome-settings-daemon/gnome-settings-daemon.install
new file mode 100644
index 000000000..483fb9450
--- /dev/null
+++ b/gnome-unstable/gnome-settings-daemon/gnome-settings-daemon.install
@@ -0,0 +1,18 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall gnome-settings-daemon
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/gnome-shell/PKGBUILD b/gnome-unstable/gnome-shell/PKGBUILD
new file mode 100644
index 000000000..1abba1b82
--- /dev/null
+++ b/gnome-unstable/gnome-shell/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 138394 2011-09-21 14:14:30Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Flamelab <panosfilip@gmail.com
+
+pkgname=gnome-shell
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="The next generation GNOME Shell"
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/GnomeShell"
+license=('GPL2')
+depends=('mutter' 'gjs' 'libcroco' 'gnome-bluetooth' 'gnome-desktop' 'gnome-menus' 'libpulse' 'folks' 'telepathy-logger' 'networkmanager' 'caribou')
+makedepends=('intltool' 'gnome-doc-utils')
+optdepends=('network-manager-applet: shell integration for networkmanager')
+options=('!libtool' '!emptydirs')
+install=gnome-shell.install
+groups=(gnome)
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/3.1/$pkgname-$pkgver.tar.xz)
+sha256sums=('3c819d962ce703a24a68ca3352df2e942d836a00c018f8aedabc14a8be5d31a4')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/gnome-shell \
+ --localstatedir=/var --disable-static \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-shell ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/gnome-shell/gnome-shell.install b/gnome-unstable/gnome-shell/gnome-shell.install
new file mode 100644
index 000000000..a07105c24
--- /dev/null
+++ b/gnome-unstable/gnome-shell/gnome-shell.install
@@ -0,0 +1,22 @@
+pkgname=gnome-shell
+
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ usr/sbin/gconfpkg --install ${pkgname}
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
diff --git a/gnome-unstable/gnome-system-monitor/PKGBUILD b/gnome-unstable/gnome-system-monitor/PKGBUILD
new file mode 100644
index 000000000..2f876bc5b
--- /dev/null
+++ b/gnome-unstable/gnome-system-monitor/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 136815 2011-09-01 19:49:32Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-system-monitor
+pkgver=3.1.90
+pkgrel=1
+pkgdesc="A system monitor for GNOME"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('libwnck3' 'libgtop' 'gtkmm3' 'librsvg' 'gnome-icon-theme')
+makedepends=('pkgconfig' 'gnome-doc-utils' 'intltool')
+options=(!emptydirs)
+url="http://www.gnome.org"
+groups=('gnome-extra')
+install=gnome-system-monitor.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('c5e4292c182fbd69c487b72b18806eaf3d3b887388b9b675bb63dfb02a0d190b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-scrollkeeper
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gnome-system-monitor/gnome-system-monitor.install b/gnome-unstable/gnome-system-monitor/gnome-system-monitor.install
new file mode 100644
index 000000000..e2957a570
--- /dev/null
+++ b/gnome-unstable/gnome-system-monitor/gnome-system-monitor.install
@@ -0,0 +1,19 @@
+pkgname=gnome-system-monitor
+
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/gnome-themes-standard/PKGBUILD b/gnome-unstable/gnome-themes-standard/PKGBUILD
new file mode 100644
index 000000000..c1d24cd81
--- /dev/null
+++ b/gnome-unstable/gnome-themes-standard/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 138247 2011-09-19 15:17:19Z ibiru $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+pkgname=gnome-themes-standard
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Default themes for the GNOME desktop"
+arch=('i686' 'x86_64')
+url="http://abattis.org/cantarell/"
+license=('GPL2')
+depends=('cantarell-fonts' 'gtk3' 'gtk-engines' 'librsvg')
+makedepends=('intltool')
+groups=('gnome')
+replaces=('gnome-themes')
+conflicts=('gnome-themes')
+source=(http://download.gnome.org/sources/$pkgname/3.1/$pkgname-${pkgver}.tar.xz)
+sha256sums=('cffa18c223c8877a97502cb521ec83958c0979cf0566c43129ba1ec329366079')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/gnome-utils/PKGBUILD b/gnome-unstable/gnome-utils/PKGBUILD
new file mode 100644
index 000000000..3c8b0f8da
--- /dev/null
+++ b/gnome-unstable/gnome-utils/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 138251 2011-09-19 15:30:31Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-utils
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Common GNOME utilities for viewing disk usage, logs and fonts, taking screenshots, managing dictionaries and searching files"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('libgtop' 'libcanberra' 'libsm' 'gconf' 'gsettings-desktop-schemas' 'hicolor-icon-theme' 'desktop-file-utils' 'dconf')
+makedepends=('gnome-doc-utils' 'pkgconfig' 'intltool')
+options=('!libtool' '!emptydirs')
+url="http://www.gnome.org"
+groups=('gnome-extra')
+install=gnome-utils.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('0a988e612e41333efd4b8842704b6333a19cdf673a4d0699be93c9bd9dfae4bb')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/gnome-utils \
+ --localstatedir=/var --disable-static \
+ --disable-scrollkeeper \
+ --disable-schemas-compile \
+ --disable-schemas-install
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-utils-2.0 ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+
+ # remove it also from Xfce menu that ships its own thingy
+ sed -i -e "s/NotShowIn\=KDE\;/NotShowIn\=KDE\;XFCE\;/" ${pkgdir}/usr/share/applications/gnome-dictionary.desktop
+ sed -i -e "s/NotShowIn\=KDE\;/NotShowIn\=KDE\;XFCE\;/" ${pkgdir}/usr/share/applications/gnome-screenshot.desktop
+}
diff --git a/gnome-unstable/gnome-utils/gnome-utils.install b/gnome-unstable/gnome-utils/gnome-utils.install
new file mode 100644
index 000000000..a04bda405
--- /dev/null
+++ b/gnome-unstable/gnome-utils/gnome-utils.install
@@ -0,0 +1,26 @@
+pkgname=gnome-utils
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
diff --git a/gnome-unstable/gobject-introspection/PKGBUILD b/gnome-unstable/gobject-introspection/PKGBUILD
new file mode 100644
index 000000000..9edda4146
--- /dev/null
+++ b/gnome-unstable/gobject-introspection/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 138364 2011-09-21 05:51:52Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gobject-introspection
+pkgver=1.30.0
+pkgrel=1
+pkgdesc="Introspection system for GObject-based libraries"
+url="http://live.gnome.org/GObjectInstrospection"
+arch=('x86_64' 'i686')
+license=('LGPL' 'GPL')
+depends=('glib2' 'python2')
+makedepends=('cairo')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.30/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('8e4274579096e983fad3148cdab50295a4701e45cd9a4e02f7242fc0a04c47b2')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ sed -i '1s|#!/usr/bin/env python$|&2|' \
+ "${pkgdir}"/usr/lib/gobject-introspection/giscanner/*.py
+}
diff --git a/gnome-unstable/grilo-plugins/PKGBUILD b/gnome-unstable/grilo-plugins/PKGBUILD
new file mode 100644
index 000000000..458e9a556
--- /dev/null
+++ b/gnome-unstable/grilo-plugins/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 137057 2011-09-05 18:40:27Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=grilo-plugins
+pkgver=0.1.17
+pkgrel=1
+pkgdesc="Plugins for Grilo"
+url="http://www.gnome.org"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('grilo')
+makedepends=('gupnp-av' 'libgdata' 'quvi' 'sqlite3' 'gmime' 'libgcrypt' 'rest')
+optdepends=('gupnp-av: uPnP plugin'
+ 'libgdata: Youtube plugin'
+ 'quvi: Youtube plugin'
+ 'sqlite3: Podcasts plugin'
+ 'gmime: Podcasts plugin'
+ 'sqlite3: Bookmarks plugin'
+ 'sqlite3: Metadata store plugin'
+ 'libgcrypt: Vimeo plugin'
+ 'rest: Blip.tv plugin')
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('c77f70c02ab8a9abb7cddc909f90853d13e2a18d4b69db65a411082c3ef79b0a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static \
+ --enable-shoutcast
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/grilo/PKGBUILD b/gnome-unstable/grilo/PKGBUILD
new file mode 100644
index 000000000..5b0a39678
--- /dev/null
+++ b/gnome-unstable/grilo/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 137051 2011-09-05 18:19:24Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=grilo
+pkgver=0.1.17
+pkgrel=1
+pkgdesc="Framework that provides access to various sources of multimedia content"
+url="http://www.gnome.org"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('gtk3' 'libxml2' 'libsoup')
+makedepends=('gobject-introspection' 'gtk-doc' 'vala')
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('f88406b1737bdf0dc38c3acda418983084afe62ddc09fefd14a95f42ec727eaf')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gssdp/PKGBUILD b/gnome-unstable/gssdp/PKGBUILD
new file mode 100644
index 000000000..08e9971ca
--- /dev/null
+++ b/gnome-unstable/gssdp/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 137053 2011-09-05 18:37:48Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: György Balló <ballogy@freestart.hu>
+
+pkgname=gssdp
+pkgver=0.10.0
+pkgrel=1
+pkgdesc="A GObject-based API for handling resource discovery and announcement over SSDP"
+arch=('i686' 'x86_64')
+url="http://gupnp.org/"
+license=('LGPL')
+depends=('libsoup')
+makedepends=('gobject-introspection' 'gtk2' 'gtk-doc')
+optdepends=('gtk2: gssdp-device-sniffer')
+options=('!libtool')
+source=(http://gupnp.org/sites/all/files/sources/$pkgname-$pkgver.tar.gz)
+sha256sums=('94de92bb4f7906ed2f047b0146a3b21d53d09908fe1f0149484f61c6afc598ea')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/gnome-unstable/gthumb/PKGBUILD b/gnome-unstable/gthumb/PKGBUILD
new file mode 100644
index 000000000..2e84e3877
--- /dev/null
+++ b/gnome-unstable/gthumb/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 138390 2011-09-21 13:46:16Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+pkgname=gthumb
+pkgver=2.13.90
+pkgrel=2
+pkgdesc="Image browser and viewer for the GNOME Desktop"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://gthumb.sourceforge.net/"
+depends=('desktop-file-utils' 'libunique' 'gconf' 'exiv2' 'libsoup-gnome' 'clutter-gtk2')
+makedepends=('intltool' 'gnome-doc-utils' 'libsm' 'gstreamer0.10-base')
+optdepends=('gstreamer0.10-base: video support')
+options=('!libtool' '!emptydirs')
+install=gthumb.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('14d4dc212c9f924ff3161733842edccbf6b6ac5d829808ae11f8af29d10ac5de')
+sha256sums=('d11f08bc7d513ea8c5340f5b36edd620b53e9ddfc0c8b31fcda284b720145e6a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gthumb "${pkgdir}"/etc/gconf/schemas/*.schemas
+ rm -f "${pkgdir}"/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/gthumb/gthumb.install b/gnome-unstable/gthumb/gthumb.install
new file mode 100644
index 000000000..6046ebb6f
--- /dev/null
+++ b/gnome-unstable/gthumb/gthumb.install
@@ -0,0 +1,24 @@
+pkgname=gthumb
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/gnome-unstable/gtk3/PKGBUILD b/gnome-unstable/gtk3/PKGBUILD
new file mode 100644
index 000000000..5adea8dd1
--- /dev/null
+++ b/gnome-unstable/gtk3/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 138316 2011-09-19 22:41:31Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=gtk3
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="The GTK+ Toolkit (v3)"
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+install=gtk3.install
+depends=('atk' 'cairo' 'gtk-update-icon-cache' 'libcups' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'pango' 'shared-mime-info' 'colord')
+makedepends=('gobject-introspection')
+options=('!libtool' '!docs')
+backup=(etc/gtk-3.0/settings.ini)
+license=('LGPL')
+source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/3.1/gtk+-${pkgver}.tar.xz
+ settings.ini)
+sha256sums=('e6ce9549b8bb3a9796223d1ae9768503ce66e8755b66dd2529c7a149b9ebea64'
+ 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621')
+
+build() {
+ cd "${srcdir}/gtk+-${pkgver}"
+ CXX=/bin/false ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-gtk2-dependency \
+ --disable-schemas-compile
+ #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make
+}
+
+package() {
+ cd "${srcdir}/gtk+-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${srcdir}/settings.ini" "${pkgdir}/etc/gtk-3.0/settings.ini"
+}
diff --git a/gnome-unstable/gtk3/gtk3.install b/gnome-unstable/gtk3/gtk3.install
new file mode 100644
index 000000000..cd8965d1f
--- /dev/null
+++ b/gnome-unstable/gtk3/gtk3.install
@@ -0,0 +1,15 @@
+post_install() {
+ usr/bin/gtk-query-immodules-3.0 --update-cache
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ rm -f usr/lib/gtk-3.0/3.0.0/immodules.cache
+}
+post_remove() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
diff --git a/gnome-unstable/gtk3/settings.ini b/gnome-unstable/gtk3/settings.ini
new file mode 100644
index 000000000..039000d38
--- /dev/null
+++ b/gnome-unstable/gtk3/settings.ini
@@ -0,0 +1,2 @@
+[Settings]
+gtk-fallback-icon-theme = gnome
diff --git a/gnome-unstable/gtkhtml4/PKGBUILD b/gnome-unstable/gtkhtml4/PKGBUILD
new file mode 100644
index 000000000..b4fc6f32a
--- /dev/null
+++ b/gnome-unstable/gtkhtml4/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 138230 2011-09-19 13:46:18Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=gtkhtml4
+_pkgbasename=gtkhtml
+pkgver=4.1.92
+pkgrel=1
+pkgdesc="A lightweight HTML renderer/editor widget for GTK3"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('gtk3' 'enchant' 'iso-codes' 'gnome-icon-theme' 'libsoup')
+makedepends=('intltool')
+url="http://www.gnome.org"
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${_pkgbasename}/${pkgver%.*}/${_pkgbasename}-${pkgver}.tar.xz)
+sha256sums=('b1aa40dff832970669ac882c92dda9edb8476a2e6edab619d0e681498efa91e6')
+
+build() {
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/gtkhtml4 \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gtkmm3/PKGBUILD b/gnome-unstable/gtkmm3/PKGBUILD
new file mode 100644
index 000000000..7f3082478
--- /dev/null
+++ b/gnome-unstable/gtkmm3/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 138222 2011-09-19 09:47:58Z heftig $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgbase=gtkmm3
+_pkgbasename=gtkmm
+pkgname=('gtkmm3' 'gtkmm3-docs')
+pkgver=3.1.90.1
+pkgrel=1
+arch=('i686' 'x86_64')
+makedepends=('gtk3' 'pangomm' 'atkmm' 'glibmm-docs' 'mm-common')
+license=('LGPL')
+options=('!libtool' '!emptydirs')
+url="http://gtkmm.sourceforge.net/"
+source=(http://ftp.gnome.org/pub/GNOME/sources/${_pkgbasename}/3.1/${_pkgbasename}-${pkgver}.tar.xz)
+sha256sums=('f620f2c4e9d4037a5b9e42f0dbeef33d9c461c30226767e134087f92bb0567bc')
+
+build() {
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package_gtkmm3() {
+ pkgdesc="C++ bindings for gtk3"
+ depends=('gtk3' 'pangomm' 'atkmm')
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+
+ sed -i -e 's/^doc_subdirs/#doc_subdirs/' Makefile
+
+ make DESTDIR="${pkgdir}" install
+}
+
+package_gtkmm3-docs() {
+ pkgdesc="Developer documentation for gtkmm v3"
+
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ make -C docs DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gtksourceview3/PKGBUILD b/gnome-unstable/gtksourceview3/PKGBUILD
new file mode 100644
index 000000000..79f876e03
--- /dev/null
+++ b/gnome-unstable/gtksourceview3/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 138271 2011-09-19 19:01:00Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=gtksourceview3
+_pkgbasename=gtksourceview
+pkgver=3.1.6
+pkgrel=1
+pkgdesc="A text widget adding syntax highlighting and more to GNOME"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gtk3' 'libxml2')
+makedepends=('intltool' 'pkgconfig' 'gobject-introspection')
+options=('!libtool')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgbasename/${pkgver%.*}/$_pkgbasename-${pkgver}.tar.xz)
+sha256sums=('5d39f8c8ec4fa6e04c319070a9c1e66daeaeaba9463939a516cca122256fb23c')
+
+build() {
+ cd "${srcdir}/$_pkgbasename-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/$_pkgbasename-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/gucharmap/PKGBUILD b/gnome-unstable/gucharmap/PKGBUILD
new file mode 100644
index 000000000..1c1593267
--- /dev/null
+++ b/gnome-unstable/gucharmap/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 138238 2011-09-19 14:31:59Z ibiru $
+# Maintainer: Jan De Groot <jgc@archlinux.org>
+
+pkgname=gucharmap
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Gnome Unicode Charmap"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnome.org"
+depends=('gconf' 'hicolor-icon-theme')
+makedepends=('gtk-doc' 'intltool' 'gobject-introspection')
+options=('!libtool' '!emptydirs')
+install=gucharmap.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('370179135acbe87c22854932964a1f5ad469c811abe63d4c10e2394cbccfbd47')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --disable-scrollkeeper --enable-introspection
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make -j1 GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gucharmap ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/gucharmap/gucharmap.install b/gnome-unstable/gucharmap/gucharmap.install
new file mode 100644
index 000000000..4de3253f6
--- /dev/null
+++ b/gnome-unstable/gucharmap/gucharmap.install
@@ -0,0 +1,22 @@
+pkgname=gucharmap
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/gnome-unstable/gupnp-av/PKGBUILD b/gnome-unstable/gupnp-av/PKGBUILD
new file mode 100644
index 000000000..0bf3cc2dd
--- /dev/null
+++ b/gnome-unstable/gupnp-av/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 137056 2011-09-05 18:39:37Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Thijs Vermeir <thijsvermeir@gmail.com>
+# Contributor: Denis Zawada <deno@rootnode.net>
+
+pkgname=gupnp-av
+pkgver=0.8.0
+pkgrel=1
+pkgdesc="Library to ease handling and implementation of UPnP A/V profiles"
+arch=('i686' 'x86_64')
+url="http://gupnp.org/"
+license=('LGPL')
+depends=('gupnp')
+makedepends=('gobject-introspection' 'gtk-doc')
+options=('!libtool')
+source=(http://gupnp.org/sites/all/files/sources/$pkgname-$pkgver.tar.gz)
+sha256sums=('e6aa032377488cedc4e347519bd30701c583780b7c54f00bab083f2316a93dc9')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/gnome-unstable/gupnp/PKGBUILD b/gnome-unstable/gupnp/PKGBUILD
new file mode 100644
index 000000000..bb387d0a6
--- /dev/null
+++ b/gnome-unstable/gupnp/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 137054 2011-09-05 18:38:40Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: György Balló <ballogy@freestart.hu>
+
+pkgname=gupnp
+pkgver=0.16.1
+pkgrel=1
+pkgdesc="An object-oriented UPNP framework"
+arch=('i686' 'x86_64')
+url="http://gupnp.org/"
+license=('LGPL')
+depends=('gssdp')
+makedepends=('gobject-introspection' 'gtk-doc')
+optdepends=('python2: gupnp-binding-tool')
+options=('!libtool')
+source=(http://gupnp.org/sites/all/files/sources/$pkgname-$pkgver.tar.gz)
+sha256sums=('f01a1f4fd36ce161a3df29fa83e1a0a2fb40d3c9f30f6b403e7791688ad24cfe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i '1s|^#!.*python$|&2|' tools/gupnp-binding-tool
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/gnome-unstable/gvfs/PKGBUILD b/gnome-unstable/gvfs/PKGBUILD
new file mode 100644
index 000000000..0a5699a42
--- /dev/null
+++ b/gnome-unstable/gvfs/PKGBUILD
@@ -0,0 +1,115 @@
+# $Id: PKGBUILD 137058 2011-09-05 18:43:02Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=gvfs
+pkgname=('gvfs' 'gvfs-smb' 'gvfs-afc' 'gvfs-afp' 'gvfs-gphoto2' 'gvfs-obexftp')
+pkgver=1.9.5
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('LGPL')
+makedepends=('libsoup-gnome' 'libcdio' 'fuse' 'bluez' 'smbclient' 'libgphoto2'
+ 'libarchive' 'gnome-disk-utility' 'pkgconfig' 'intltool'
+ 'libimobiledevice' 'namcap')
+url="http://www.gnome.org"
+options=(!libtool)
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver}.tar.xz)
+sha256sums=('a90dfc87f37171b2c047d7af823b9372e9e9f9e9ca7728b37b90c6d89855e08f')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --libexecdir=/usr/lib/gvfs \
+ --with-bash-completion-dir=/etc/bash_completion.d
+ make
+}
+
+package_gvfs() {
+ pkgdesc="Userspace virtual filesystem implemented as a pluggable module for gio"
+ depends=('libsoup-gnome' 'gnome-disk-utility' 'libcdio' 'fuse' 'libarchive')
+ optdepends=('gvfs-afc: AFC (mobile devices) support'
+ 'gvfs-smb: SMB/CIFS (Windows client) support'
+ 'gvfs-gphoto2: gphoto2 (PTP camera/MTP media player) support'
+ 'gvfs-obexftp: ObexFTP (bluetooth) support'
+ 'gvfs-afp: Apple Filing Protocol (AFP) support')
+ install=gvfs.install
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ sed -e 's/^am__append_3/#am__append_3/' \
+ -e 's/^am__append_4/#am__append_4/' \
+ -i monitor/Makefile
+ make DESTDIR="${pkgdir}" install
+
+ cd "${pkgdir}"
+ rm usr/lib/gvfs/gvfsd-{smb,smb-browse,afc,afp,afp-browse,gphoto2,obexftp}
+ rm usr/share/gvfs/mounts/{smb,smb-browse,afc,afp,afp-browse,gphoto2,obexftp}.mount
+ rm usr/share/glib-2.0/schemas/org.gnome.system.smb.gschema.xml
+ rm usr/share/GConf/gsettings/gvfs-smb.convert
+}
+
+package_gvfs-smb() {
+ pkgdesc="SMB/CIFS (Windows client) backend for gvfs"
+ depends=("gvfs=${pkgver}" 'smbclient' 'libgnome-keyring')
+ install=gvfs-smb.install
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/daemon"
+ install -m755 -d "${pkgdir}/usr/lib/gvfs"
+ install -m755 -d "${pkgdir}/usr/share/gvfs/mounts"
+
+ install -m755 .libs/gvfsd-smb{,-browse} "${pkgdir}/usr/lib/gvfs/"
+ install -m644 smb{,-browse}.mount "${pkgdir}/usr/share/gvfs/mounts/"
+
+ install -Dm644 org.gnome.system.smb.gschema.xml \
+ "${pkgdir}/usr/share/glib-2.0/schemas/org.gnome.system.smb.gschema.xml"
+ install -Dm644 gvfs-smb.convert \
+ "${pkgdir}/usr/share/GConf/gsettings/gvfs-smb.convert"
+}
+
+package_gvfs-afc() {
+ pkgdesc="AFC (mobile devices) backend for gvfs"
+ depends=("gvfs=${pkgver}" 'libimobiledevice')
+ install=gvfs-module.install
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/daemon"
+ install -D .libs/gvfsd-afc "${pkgdir}/usr/lib/gvfs/gvfsd-afc"
+ install -Dm644 afc.mount "${pkgdir}/usr/share/gvfs/mounts/afc.mount"
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/monitor/afc"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_gvfs-gphoto2() {
+ pkgdesc="gphoto2 (PTP camera/MTP media player) backend for gvfs"
+ depends=("gvfs=${pkgver}" 'dbus-core' 'libgphoto2' 'udev')
+ install=gvfs-module.install
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/daemon"
+ install -D .libs/gvfsd-gphoto2 "${pkgdir}/usr/lib/gvfs/gvfsd-gphoto2"
+ install -Dm644 gphoto2.mount "${pkgdir}/usr/share/gvfs/mounts/gphoto2.mount"
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/monitor/gphoto2"
+ make DESTDIR="${pkgdir}" install
+}
+
+package_gvfs-obexftp() {
+ pkgdesc="ObexFTP (bluetooth) backend for gvfs"
+ depends=("gvfs=${pkgver}" 'dbus-glib' 'bluez' 'obex-data-server')
+ install=gvfs-module.install
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/daemon"
+ install -D .libs/gvfsd-obexftp "${pkgdir}/usr/lib/gvfs/gvfsd-obexftp"
+ install -Dm644 obexftp.mount "${pkgdir}/usr/share/gvfs/mounts/obexftp.mount"
+}
+
+package_gvfs-afp() {
+ pkgdesc="Apple Filing Protocol (AFP) backend for gvfs"
+ depends=("gvfs=${pkgver}")
+ install=gvfs-module.install
+ install -m755 -d "${pkgdir}/usr/lib/gvfs"
+ install -m755 -d "${pkgdir}/usr/share/gvfs/mounts"
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/daemon"
+ install -m755 .libs/gvfsd-afp{,-browse} "${pkgdir}/usr/lib/gvfs/"
+ install -m644 afp{,-browse}.mount "${pkgdir}/usr/share/gvfs/mounts/"
+
+}
diff --git a/gnome-unstable/gvfs/gvfs-module.install b/gnome-unstable/gvfs/gvfs-module.install
new file mode 100644
index 000000000..09d1f11ec
--- /dev/null
+++ b/gnome-unstable/gvfs/gvfs-module.install
@@ -0,0 +1,7 @@
+post_install() {
+ killall -USR1 gvfsd >&/dev/null || :
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/gnome-unstable/gvfs/gvfs-smb.install b/gnome-unstable/gvfs/gvfs-smb.install
new file mode 100644
index 000000000..0b8783c7b
--- /dev/null
+++ b/gnome-unstable/gvfs/gvfs-smb.install
@@ -0,0 +1,12 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ killall -USR1 gvfsd >&/dev/null || :
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
diff --git a/gnome-unstable/gvfs/gvfs.install b/gnome-unstable/gvfs/gvfs.install
new file mode 100644
index 000000000..9458b1513
--- /dev/null
+++ b/gnome-unstable/gvfs/gvfs.install
@@ -0,0 +1,14 @@
+post_install() {
+ usr/bin/gio-querymodules usr/lib/gio/modules
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ killall -USR1 gvfsd >&/dev/null || :
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ usr/bin/gio-querymodules usr/lib/gio/modules
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
diff --git a/gnome-unstable/json-c/PKGBUILD b/gnome-unstable/json-c/PKGBUILD
new file mode 100644
index 000000000..2f689ba64
--- /dev/null
+++ b/gnome-unstable/json-c/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: congyiwu <congyiwu AT gmail DOT com>
+pkgname=json-c
+pkgver=0.9
+pkgrel=1
+pkgdesc="A JSON implementation in C"
+url="http://oss.metaparadigm.com/json-c/"
+license=("MIT")
+arch=('i686' 'x86_64')
+depends=('glibc')
+source=(http://oss.metaparadigm.com/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('3a13d264528dcbaf3931b0cede24abae')
+options=(!libtool)
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -D COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
diff --git a/gnome-unstable/json-glib/PKGBUILD b/gnome-unstable/json-glib/PKGBUILD
new file mode 100644
index 000000000..3fe93ab3b
--- /dev/null
+++ b/gnome-unstable/json-glib/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 138241 2011-09-19 14:36:36Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=json-glib
+pkgver=0.14.0
+pkgrel=1
+pkgdesc="JSON library built on GLib"
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/JsonGlib"
+license=('GPL')
+depends=('glib2')
+makedepends=('gobject-introspection')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.14/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('821e90196673408a9293845e37ef572826a960a101096db9bcba45cf4c4afc56')
+
+build(){
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package(){
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/gnome-unstable/libcap-ng/PKGBUILD b/gnome-unstable/libcap-ng/PKGBUILD
new file mode 100644
index 000000000..f19e7038e
--- /dev/null
+++ b/gnome-unstable/libcap-ng/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 136925 2011-09-02 23:57:33Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
+
+pkgname=libcap-ng
+pkgver=0.6.6
+pkgrel=1
+pkgdesc="A library intended to make programming with POSIX capabilities much easier than the traditional libcap"
+arch=('i686' 'x86_64')
+url="http://people.redhat.com/sgrubb/libcap-ng/"
+license=('GPL2' 'LGPL2.1')
+depends=('glibc')
+options=('!libtool')
+source=(http://people.redhat.com/sgrubb/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('eb71f967cecb44b4342baac98ef8cb0f')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --enable-static=no --with-python=no
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/libgdata/PKGBUILD b/gnome-unstable/libgdata/PKGBUILD
new file mode 100644
index 000000000..04a6047a9
--- /dev/null
+++ b/gnome-unstable/libgdata/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 138057 2011-09-15 10:55:07Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libgdata
+pkgver=0.10.1
+pkgrel=1
+pkgdesc="GLib-based library for accessing online service APIs using the GData protocol"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libsoup-gnome' 'liboauth')
+makedepends=('pkgconfig' 'intltool' 'gobject-introspection')
+url="http://www.gnome.org"
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('d7f27b1019905792246336599cadc7470b362806ed5e2c038a9f7c0da257f6ef')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/libgnome-keyring/PKGBUILD b/gnome-unstable/libgnome-keyring/PKGBUILD
new file mode 100644
index 000000000..a40849ddd
--- /dev/null
+++ b/gnome-unstable/libgnome-keyring/PKGBUILD
@@ -0,0 +1,28 @@
+#$Id: PKGBUILD 138176 2011-09-18 08:48:06Z heftig $
+#Maintainer: Jan De Groot <jgc@archlinux.org>
+
+pkgname=libgnome-keyring
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="GNOME keyring client library"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('dbus-core' 'libgcrypt' 'glib2')
+makedepends=('intltool' 'pkgconfig')
+options=('!libtool' '!emptydirs')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('8ea2fe57d6ee32ca590537ea30589d6dd310891ce581581d8f9e653f682dcfc1')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --libexecdir=/usr/lib/gnome-keyring
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/libgnomekbd/PKGBUILD b/gnome-unstable/libgnomekbd/PKGBUILD
new file mode 100644
index 000000000..e54cbc349
--- /dev/null
+++ b/gnome-unstable/libgnomekbd/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 138412 2011-09-21 21:33:41Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libgnomekbd
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Gnome keyboard library"
+url="http://gswitchit.sourceforge.net"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('libxklavier' 'gtk3' 'dconf')
+makedepends=('intltool' 'gobject-introspection')
+options=('!libtool' '!emptydirs')
+install=libgnomekbd.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('4b8166b33ae8d11847d6eeb35b1ca005ad3eb84fdedceb00aa0397c4ca641522')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/libgnomekbd/libgnomekbd.install b/gnome-unstable/libgnomekbd/libgnomekbd.install
new file mode 100644
index 000000000..2ef26aaa9
--- /dev/null
+++ b/gnome-unstable/libgnomekbd/libgnomekbd.install
@@ -0,0 +1,11 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/libgweather/01_gettext_not_xml.patch b/gnome-unstable/libgweather/01_gettext_not_xml.patch
new file mode 100644
index 000000000..d5f57305e
--- /dev/null
+++ b/gnome-unstable/libgweather/01_gettext_not_xml.patch
@@ -0,0 +1,527 @@
+only in patch2:
+unchanged:
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/configure.in libgweather-2.27.91.new/configure.in
+--- libgweather-2.27.91/configure.in 2009-08-25 23:56:58.000000000 +1000
++++ libgweather-2.27.91.new/configure.in 2009-08-26 11:54:52.000000000 +1000
+@@ -40,6 +40,10 @@
+ AM_MAINTAINER_MODE
+ GNOME_MAINTAINER_MODE_DEFINES
+
++dnl IT_PROG_INTLTOOL does this for us in the case of the po/ subdir, but we're on our own for po-locations
++AC_OUTPUT_COMMANDS([sed -e "/POTFILES =/r po/POTFILES" po-locations/Makefile.in > po-locations/Makefile])
++IT_PO_SUBDIR([po-locations])
++
+ IT_PROG_INTLTOOL([0.40.3])
+ PKG_PROG_PKG_CONFIG([0.19])
+
+@@ -50,13 +54,6 @@
+ AM_PROG_LIBTOOL
+ AC_PATH_PROG(GCONFTOOL, gconftool-2)
+
+-AC_ARG_ENABLE(all-translations-in-one-xml,
+- [AC_HELP_STRING([--enable-all-translations-in-one-xml],
+- [Put all translations in a big Locations.xml file (slow to parse)])],
+- [enable_big_xml=yes],
+- [enable_big_xml=no])
+-AM_CONDITIONAL(USE_ONE_BIG_XML, test "x$enable_big_xml" = "xyes")
+-
+ AC_ARG_ENABLE(locations-compression,
+ [AC_HELP_STRING([--enable-locations-compression],
+ [Compress Locations.xml files])],
+@@ -253,7 +250,7 @@
+ Makefile
+ doc/Makefile
+ po/Makefile.in
+-po-locations/Makefile
++po-locations/Makefile.in
+ libgweather/Makefile
+ libgweather/gweather.pc
+ libgweather/gweather-uninstalled.pc
+@@ -261,12 +258,6 @@
+ python/Makefile
+ ])
+
+-if test "x$enable_big_xml" = "xyes"; then
+- LOCATIONS_XML_TRANSLATIONS="one big file"
+-else
+- LOCATIONS_XML_TRANSLATIONS="one file per translation"
+-fi
+-
+ dnl ***************************************************************************
+ dnl *** Display Summary ***
+ dnl ***************************************************************************
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/data/Makefile.am libgweather-2.27.91.new/data/Makefile.am
+--- libgweather-2.27.91/data/Makefile.am 2009-07-22 03:01:11.000000000 +1000
++++ libgweather-2.27.91.new/data/Makefile.am 2009-08-26 11:57:46.000000000 +1000
+@@ -4,55 +4,23 @@
+ libgweatherlocationsdir = $(pkgdatadir)
+ libgweatherlocations_in_files = Locations.xml.in
+
+-if USE_ONE_BIG_XML
+-
+-LOCATIONS_STAMP =
+-
+-libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml$(COMPRESS_EXT))
+-
+-%.xml$(COMPRESS_EXT): %.xml.in $(wildcard $(top_srcdir)/po-locations/*.po)
+- $(AM_V_GEN)LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"` && \
+- if test "x$(COMPRESS_EXT)" = "x.gz"; then \
+- gzip --force `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"`; \
+- fi
+-
+-else # USE_ONE_BIG_XML
+-
+ LOCATIONS_STAMP = stamp-Locations.xml
+
+-PO_LOCATIONS = $(shell if test -n "$(LINGUAS)"; then for lang in $(LINGUAS); do if test -f "$(top_srcdir)/po-locations/$$lang.po"; then echo "$(top_srcdir)/po-locations/$$lang.po "; fi; done; else for pofile in $(top_srcdir)/po-locations/*.po; do echo $$pofile; done; fi)
+-
+ # Helper variable
+-libgweatherlocations_data = $(libgweatherlocations_in_files:.xml.in=.xml)
+-
+-libgweatherlocations_DATA = $(shell echo $(PO_LOCATIONS) | sed "s|$(top_srcdir)/po-locations/|Locations.|g;s|\.po|.xml$(COMPRESS_EXT)|g") $(libgweatherlocations_data)$(COMPRESS_EXT)
++libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml)
+
+ # We need this step so that we merge all the make Locations.xy.xml destinations
+ # into one unique destination. This makes -j2 work. (Else, we end up with
+ # multiple and conflicting calls to intltool-merge)
+ $(libgweatherlocations_DATA): $(LOCATIONS_STAMP)
+
+-$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) $(PO_LOCATIONS) Makefile
+- $(AM_V_at)LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< $(libgweatherlocations_data) && \
+- for pofile in $(PO_LOCATIONS); do \
+- locale=`echo $$pofile | sed "s;$(top_srcdir)/po-locations/\(.*\)\.po;\1;"`; \
+- xmllint --noblanks -o Locations.$$locale.xml $$locale/$(libgweatherlocations_data); \
+- rm -f $$locale/$(libgweatherlocations_data); \
+- test -d $$locale && rmdir $$locale; \
+- if test "x$(COMPRESS_EXT)" = "x.gz"; then \
+- gzip --force Locations.$$locale.xml; \
+- fi; \
+- done && \
+- xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_data) && \
+- rm -f C/$(libgweatherlocations_data) && \
++$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) Makefile
++ LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache /dev/null $< $(libgweatherlocations_DATA) && \
++ xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_DATA) && \
++ rm -f C/$(libgweatherlocations_DATA) && \
+ test -d C && rmdir C && \
+- if test "x$(COMPRESS_EXT)" = "x.gz"; then \
+- gzip --force Locations.xml; \
+- fi && \
+ touch $@
+
+-endif # USE_ONE_BIG_XML
+-
+ check:
+ xmllint --valid --noout $(top_srcdir)/data/Locations.xml.in
+ $(srcdir)/check-timezones.sh $(srcdir)/Locations.xml.in
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/libgweather/gweather-location.c libgweather-2.27.91.new/libgweather/gweather-location.c
+--- libgweather-2.27.91/libgweather/gweather-location.c 2009-04-20 03:41:11.000000000 +1000
++++ libgweather-2.27.91.new/libgweather/gweather-location.c 2009-08-26 11:54:52.000000000 +1000
+@@ -22,11 +22,14 @@
+ #include <config.h>
+ #endif
+
++#include "config.h"
++
+ #include <string.h>
+ #include <math.h>
+ #include <locale.h>
+ #include <gtk/gtk.h>
+ #include <libxml/xmlreader.h>
++#include <libintl.h>
+
+ #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
+ #include "gweather-location.h"
+@@ -184,10 +187,20 @@
+
+ tagname = (const char *) xmlTextReaderConstName (parser->xml);
+ if (!strcmp (tagname, "name") && !loc->name) {
+- value = gweather_parser_get_localized_value (parser);
++ char *context = NULL;
++ context = xmlTextReaderGetAttribute(parser->xml,"msgctxt");
++
++ value = gweather_parser_get_value (parser);
+ if (!value)
+ goto error_out;
+- loc->name = g_strdup (value);
++
++ if (context != NULL) {
++ loc->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, value));
++ xmlFree (context);
++ }
++ else
++ loc->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",value));
++
+ xmlFree (value);
+ normalized = g_utf8_normalize (loc->name, -1, G_NORMALIZE_ALL);
+ loc->sort_name = g_utf8_casefold (normalized, -1);
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/libgweather/gweather-timezone.c libgweather-2.27.91.new/libgweather/gweather-timezone.c
+--- libgweather-2.27.91/libgweather/gweather-timezone.c 2009-08-12 19:00:52.000000000 +1000
++++ libgweather-2.27.91.new/libgweather/gweather-timezone.c 2009-08-26 11:54:52.000000000 +1000
+@@ -23,6 +23,7 @@
+ #endif
+
+ #include <string.h>
++#include <libintl.h>
+
+ #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
+ #include "gweather-timezone.h"
+@@ -152,7 +153,7 @@
+ parse_timezone (GWeatherParser *parser)
+ {
+ GWeatherTimezone *zone = NULL;
+- char *id = NULL, *name = NULL;
++ char *id = NULL, *name = NULL, *context = NULL;
+ int offset = 0, dst_offset = 0;
+ gboolean has_dst = FALSE;
+
+@@ -175,27 +176,34 @@
+ continue;
+ }
+
+- if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name"))
+- name = gweather_parser_get_localized_value (parser);
++ if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name")) {
++ context = xmlTextReaderGetAttribute(parser->xml,"msgctxt");
++ name = gweather_parser_get_value (parser);
++ }
+ else {
+ if (xmlTextReaderNext (parser->xml) != 1)
+ break;
+ }
+ }
+ }
+-
++
+ if (parse_tzdata (id, parser->year_start, parser->year_end,
+ &offset, &has_dst, &dst_offset)) {
+ zone = g_slice_new0 (GWeatherTimezone);
+ zone->ref_count = 1;
+ zone->id = g_strdup (id);
+- zone->name = g_strdup (name);
++ if (context != NULL)
++ zone->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, name));
++ else
++ zone->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",name));
+ zone->offset = offset;
+ zone->has_dst = has_dst;
+ zone->dst_offset = dst_offset;
+ }
+
+ xmlFree (id);
++ if (context)
++ xmlFree (context);
+ if (name)
+ xmlFree (name);
+
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/po-locations/LINGUAS libgweather-2.27.91.new/po-locations/LINGUAS
+--- libgweather-2.27.91/po-locations/LINGUAS 1970-01-01 10:00:00.000000000 +1000
++++ libgweather-2.27.91.new/po-locations/LINGUAS 2009-08-26 11:54:52.000000000 +1000
+@@ -0,0 +1,78 @@
++ang
++ar
++as
++az
++be
++be@latin
++bg
++bn_IN
++bn
++bs
++ca
++cs
++cy
++da
++de
++dz
++el
++en_CA
++en_GB
++es
++et
++eu
++fa
++fi
++fr
++ga
++gl
++gu
++he
++hi
++hr
++hu
++id
++it
++ja
++ka
++kn
++ko
++ku
++ky
++lt
++lv
++mai
++mg
++mk
++ml
++mn
++mr
++ms
++nb
++ne
++nl
++nn
++oc
++or
++pa
++pl
++pt_BR
++pt
++ro
++ru
++rw
++si
++sk
++sl
++sq
++sr@latin
++sr
++sv
++ta
++te
++th
++tr
++uk
++vi
++zh_CN
++zh_HK
++zh_TW
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/po-locations/Makefile.in.in libgweather-2.27.91.new/po-locations/Makefile.in.in
+--- libgweather-2.27.91/po-locations/Makefile.in.in 1970-01-01 10:00:00.000000000 +1000
++++ libgweather-2.27.91.new/po-locations/Makefile.in.in 2009-08-26 11:54:52.000000000 +1000
+@@ -0,0 +1,217 @@
++# Makefile for program source directory in GNU NLS utilities package.
++# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
++# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com>
++#
++# This file may be copied and used freely without restrictions. It may
++# be used in projects which are not available under a GNU Public License,
++# but which still want to provide support for the GNU gettext functionality.
++#
++# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
++# instead of PACKAGE and to look for po2tbl in ./ not in intl/
++#
++# - Modified by jacob berkman <jacob@ximian.com> to install
++# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
++#
++# - Modified by Rodney Dawes <dobey.pwns@gmail.com> for use with intltool
++#
++# We have the following line for use by intltoolize:
++# INTLTOOL_MAKEFILE
++
++GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-locations
++PACKAGE = @PACKAGE@
++VERSION = @VERSION@
++
++SHELL = /bin/sh
++
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++top_builddir = @top_builddir@
++VPATH = @srcdir@
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++datadir = @datadir@
++datarootdir = @datarootdir@
++libdir = @libdir@
++DATADIRNAME = @DATADIRNAME@
++itlocaledir = $(prefix)/$(DATADIRNAME)/locale
++subdir = po-locations
++install_sh = @install_sh@
++# Automake >= 1.8 provides @mkdir_p@.
++# Until it can be supposed, use the safe fallback:
++mkdir_p = $(install_sh) -d
++
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++
++GMSGFMT = @GMSGFMT@
++MSGFMT = @MSGFMT@
++XGETTEXT = @XGETTEXT@
++INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
++INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
++MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
++GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
++
++ALL_LINGUAS = @ALL_LINGUAS@
++
++PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
++
++USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi)
++
++USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
++
++POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
++
++DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES)
++EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
++
++POTFILES = \
++# This comment gets stripped out
++
++CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
++
++.SUFFIXES:
++.SUFFIXES: .po .pox .gmo .mo .msg .cat
++
++.po.pox:
++ $(MAKE) $(GETTEXT_PACKAGE).pot
++ $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
++
++.po.mo:
++ $(MSGFMT) -o $@ $<
++
++.po.gmo:
++ file=`echo $* | sed 's,.*/,,'`.gmo \
++ && rm -f $$file && $(GMSGFMT) -o $$file $<
++
++.po.cat:
++ sed -f ../intl/po2msg.sed < $< > $*.msg \
++ && rm -f $@ && gencat $@ $*.msg
++
++
++all: all-@USE_NLS@
++
++all-yes: $(CATALOGS)
++all-no:
++
++$(GETTEXT_PACKAGE).pot: $(POTFILES)
++ $(GENPOT)
++
++install: install-data
++install-data: install-data-@USE_NLS@
++install-data-no: all
++install-data-yes: all
++ linguas="$(USE_LINGUAS)"; \
++ for lang in $$linguas; do \
++ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
++ $(mkdir_p) $$dir; \
++ if test -r $$lang.gmo; then \
++ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
++ else \
++ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++ echo "installing $(srcdir)/$$lang.gmo as" \
++ "$$dir/$(GETTEXT_PACKAGE).mo"; \
++ fi; \
++ if test -r $$lang.gmo.m; then \
++ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
++ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
++ else \
++ if test -r $(srcdir)/$$lang.gmo.m ; then \
++ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
++ $$dir/$(GETTEXT_PACKAGE).mo.m; \
++ echo "installing $(srcdir)/$$lang.gmo.m as" \
++ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
++ else \
++ true; \
++ fi; \
++ fi; \
++ done
++
++# Empty stubs to satisfy archaic automake needs
++dvi info tags TAGS ID:
++
++# Define this as empty until I found a useful application.
++install-exec installcheck:
++
++uninstall:
++ linguas="$(USE_LINGUAS)"; \
++ for lang in $$linguas; do \
++ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
++ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
++ done
++
++check: all $(GETTEXT_PACKAGE).pot
++ rm -f missing notexist
++ srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
++ if [ -r missing -o -r notexist ]; then \
++ exit 1; \
++ fi
++
++mostlyclean:
++ rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
++ rm -f .intltool-merge-cache
++
++clean: mostlyclean
++
++distclean: clean
++ rm -f Makefile Makefile.in POTFILES stamp-it
++ rm -f *.mo *.msg *.cat *.cat.m *.gmo
++
++maintainer-clean: distclean
++ @echo "This command is intended for maintainers to use;"
++ @echo "it deletes files that may require special tools to rebuild."
++ rm -f Makefile.in.in
++
++distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
++dist distdir: $(DISTFILES)
++ dists="$(DISTFILES)"; \
++ extra_dists="$(EXTRA_DISTFILES)"; \
++ for file in $$extra_dists; do \
++ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
++ done; \
++ for file in $$dists; do \
++ test -f $$file || file="$(srcdir)/$$file"; \
++ ln $$file $(distdir) 2> /dev/null \
++ || cp -p $$file $(distdir); \
++ done
++
++update-po: Makefile
++ $(MAKE) $(GETTEXT_PACKAGE).pot
++ tmpdir=`pwd`; \
++ linguas="$(USE_LINGUAS)"; \
++ for lang in $$linguas; do \
++ echo "$$lang:"; \
++ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
++ if $$result; then \
++ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
++ rm -f $$tmpdir/$$lang.new.po; \
++ else \
++ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
++ :; \
++ else \
++ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
++ rm -f $$tmpdir/$$lang.new.po; \
++ exit 1; \
++ fi; \
++ fi; \
++ else \
++ echo "msgmerge for $$lang.gmo failed!"; \
++ rm -f $$tmpdir/$$lang.new.po; \
++ fi; \
++ done
++
++Makefile POTFILES: stamp-it
++ @if test ! -f $@; then \
++ rm -f stamp-it; \
++ $(MAKE) stamp-it; \
++ fi
++
++stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
++ cd $(top_builddir) \
++ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
++ $(SHELL) ./config.status
++
++# Tell versions [3.59,3.63) of GNU make not to export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/po-locations/POTFILES.in libgweather-2.27.91.new/po-locations/POTFILES.in
+--- libgweather-2.27.91/po-locations/POTFILES.in 1970-01-01 10:00:00.000000000 +1000
++++ libgweather-2.27.91.new/po-locations/POTFILES.in 2009-08-26 11:54:52.000000000 +1000
+@@ -0,0 +1,4 @@
++# This list should contain *only* data/Locations.xml.in.
++# Everything else should be in POTFILES.skip.
++[encoding:UTF-8]
++data/Locations.xml.in
diff --git a/gnome-unstable/libgweather/PKGBUILD b/gnome-unstable/libgweather/PKGBUILD
new file mode 100644
index 000000000..1d3d00858
--- /dev/null
+++ b/gnome-unstable/libgweather/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 136699 2011-08-31 14:53:36Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libgweather
+pkgver=3.1.3
+pkgrel=1
+pkgdesc="Provides access to weather information from the net"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('gconf' 'libsoup-gnome' 'gnome-icon-theme')
+makedepends=('pkgconfig' 'intltool' 'gtk-doc' 'gobject-introspection' 'gnome-common')
+options=('!libtool' '!emptydirs')
+url="http://www.gnome.org/"
+install=libgweather.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
+ gettext-not-xml.patch)
+sha256sums=('e711f3e9f41a7b574afcaa442959e827a05b0105d925b5938ac54204b28ab308'
+ '5b6bf182294b8974a89492237d98b60678b83efcf31de8a0ca1bebd90f3356a3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/gettext-not-xml.patch"
+ gtkdocize
+ autoreconf -fi
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --enable-locations-compression
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain libgweather ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/libgweather/gettext-not-xml.patch b/gnome-unstable/libgweather/gettext-not-xml.patch
new file mode 100644
index 000000000..db9c64148
--- /dev/null
+++ b/gnome-unstable/libgweather/gettext-not-xml.patch
@@ -0,0 +1,532 @@
+diff -up libgweather-3.1.3/configure.ac.gettext libgweather-3.1.3/configure.ac
+--- libgweather-3.1.3/configure.ac.gettext 2011-07-04 10:52:13.000000000 -0400
++++ libgweather-3.1.3/configure.ac 2011-07-06 20:26:17.180168365 -0400
+@@ -43,19 +43,16 @@ GNOME_MAINTAINER_MODE_DEFINES
+ LT_PREREQ([2.2.6])
+ LT_INIT([dlopen win32-dll disable-static])
+
++dnl IT_PROG_INTLTOOL does this for us in the case of the po/ subdir, but we're on our own for po-locations
++AC_OUTPUT_COMMANDS([sed -e "/POTFILES =/r po/POTFILES" po-locations/Makefile.in > po-locations/Makefile])
++IT_PO_SUBDIR([po-locations])
++
+ IT_PROG_INTLTOOL([0.40.6])
+ PKG_PROG_PKG_CONFIG([0.19])
+
+ AC_PROG_CC
+ AC_PATH_PROG(GCONFTOOL, gconftool-2)
+
+-AC_ARG_ENABLE(all-translations-in-one-xml,
+- [AC_HELP_STRING([--enable-all-translations-in-one-xml],
+- [Put all translations in a big Locations.xml file (slow to parse)])],
+- [enable_big_xml=yes],
+- [enable_big_xml=no])
+-AM_CONDITIONAL(USE_ONE_BIG_XML, test "x$enable_big_xml" = "xyes")
+-
+ AC_ARG_ENABLE(locations-compression,
+ [AC_HELP_STRING([--enable-locations-compression],
+ [Compress Locations.xml files])],
+@@ -191,7 +188,7 @@ AC_OUTPUT([
+ Makefile
+ doc/Makefile
+ po/Makefile.in
+-po-locations/Makefile
++po-locations/Makefile.in
+ libgweather/Makefile
+ libgweather/gweather-3.0.pc
+ libgweather/gweather-3.0-uninstalled.pc
+@@ -199,12 +196,6 @@ data/Makefile
+ icons/Makefile
+ ])
+
+-if test "x$enable_big_xml" = "xyes"; then
+- LOCATIONS_XML_TRANSLATIONS="one big file"
+-else
+- LOCATIONS_XML_TRANSLATIONS="one file per translation"
+-fi
+-
+ dnl ***************************************************************************
+ dnl *** Display Summary ***
+ dnl ***************************************************************************
+@@ -215,6 +206,4 @@ libgweather-$VERSION configure summary:
+ Source code location: ${srcdir}
+ Compiler: ${CC}
+ Introspection support: ${found_introspection}
+- Locations.xml translations: ${LOCATIONS_XML_TRANSLATIONS}
+- Locations.xml compression: ${enable_locations_compression}
+ " >&2
+diff -up libgweather-3.1.3/data/Makefile.am.gettext libgweather-3.1.3/data/Makefile.am
+--- libgweather-3.1.3/data/Makefile.am.gettext 2011-04-04 16:52:54.000000000 -0400
++++ libgweather-3.1.3/data/Makefile.am 2011-07-06 20:18:42.244855841 -0400
+@@ -4,55 +4,23 @@ libgweatherdtd_DATA = locations.dtd
+ libgweatherlocationsdir = $(pkgdatadir)
+ libgweatherlocations_in_files = Locations.xml.in
+
+-if USE_ONE_BIG_XML
+-
+-LOCATIONS_STAMP =
+-
+-libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml$(COMPRESS_EXT))
+-
+-%.xml$(COMPRESS_EXT): %.xml.in $(wildcard $(top_srcdir)/po-locations/*.po)
+- $(AM_V_GEN)LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"` && \
+- if test "x$(COMPRESS_EXT)" = "x.gz"; then \
+- gzip --force `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"`; \
+- fi
+-
+-else # USE_ONE_BIG_XML
+-
+ LOCATIONS_STAMP = stamp-Locations.xml
+
+-PO_LOCATIONS = $(shell if test -n "$(LINGUAS)"; then for lang in $(LINGUAS); do if test -f "$(top_srcdir)/po-locations/$$lang.po"; then echo "$(top_srcdir)/po-locations/$$lang.po "; fi; done; else for pofile in $(top_srcdir)/po-locations/*.po; do echo $$pofile; done; fi)
+-
+ # Helper variable
+-libgweatherlocations_data = $(libgweatherlocations_in_files:.xml.in=.xml)
+-
+-libgweatherlocations_DATA = $(shell echo $(PO_LOCATIONS) | sed "s|$(top_srcdir)/po-locations/|Locations.|g;s|\.po|.xml$(COMPRESS_EXT)|g") $(libgweatherlocations_data)$(COMPRESS_EXT)
++libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml)
+
+ # We need this step so that we merge all the make Locations.xy.xml destinations
+ # into one unique destination. This makes -j2 work. (Else, we end up with
+ # multiple and conflicting calls to intltool-merge)
+ $(libgweatherlocations_DATA): $(LOCATIONS_STAMP)
+
+-$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) $(PO_LOCATIONS) Makefile
+- $(AM_V_at)LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< $(libgweatherlocations_data) && \
+- for pofile in $(PO_LOCATIONS); do \
+- locale=`echo $$pofile | sed "s;$(top_srcdir)/po-locations/\(.*\)\.po;\1;"`; \
+- xmllint --noblanks -o Locations.$$locale.xml $$locale/$(libgweatherlocations_data); \
+- rm -f $$locale/$(libgweatherlocations_data); \
+- test -d $$locale && rmdir $$locale; \
+- if test "x$(COMPRESS_EXT)" = "x.gz"; then \
+- gzip --force Locations.$$locale.xml; \
+- fi; \
+- done && \
+- xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_data) && \
+- rm -f C/$(libgweatherlocations_data) && \
+- test -d C && rmdir C && \
+- if test "x$(COMPRESS_EXT)" = "x.gz"; then \
+- gzip --force Locations.xml; \
+- fi && \
++$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) Makefile
++ LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache /dev/null $< $(libgweatherlocations_DATA)
++ xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_DATA)
++ rm -f C/$(libgweatherlocations_DATA)
++ test -d C && rmdir C
+ touch $@
+
+-endif # USE_ONE_BIG_XML
+-
+ ### Locations.xml.in rebuild
+ rebuild-locations: locationdb.sqlite update-locations.py
+ $(AM_V_GEN)($(srcdir)/update-locations.py > Locations.xml.in.new && mv Locations.xml.in.new Locations.xml.in) || rm -f Locations.xml.in.new
+diff -up libgweather-3.1.3/libgweather/gweather-location.c.gettext libgweather-3.1.3/libgweather/gweather-location.c
+--- libgweather-3.1.3/libgweather/gweather-location.c.gettext 2010-02-09 07:28:03.000000000 -0500
++++ libgweather-3.1.3/libgweather/gweather-location.c 2011-07-06 20:18:42.251855754 -0400
+@@ -22,11 +22,14 @@
+ #include <config.h>
+ #endif
+
++#include "config.h"
++
+ #include <string.h>
+ #include <math.h>
+ #include <locale.h>
+ #include <gtk/gtk.h>
+ #include <libxml/xmlreader.h>
++#include <libintl.h>
+
+ #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
+ #include "gweather-location.h"
+@@ -184,10 +187,20 @@ location_new_from_xml (GWeatherParser *p
+
+ tagname = (const char *) xmlTextReaderConstName (parser->xml);
+ if (!strcmp (tagname, "name") && !loc->name) {
+- value = gweather_parser_get_localized_value (parser);
++ char *context = NULL;
++ context = xmlTextReaderGetAttribute(parser->xml,"msgctxt");
++
++ value = gweather_parser_get_value (parser);
+ if (!value)
+ goto error_out;
+- loc->name = g_strdup (value);
++
++ if (context != NULL) {
++ loc->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, value));
++ xmlFree (context);
++ }
++ else
++ loc->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",value));
++
+ xmlFree (value);
+ normalized = g_utf8_normalize (loc->name, -1, G_NORMALIZE_ALL);
+ loc->sort_name = g_utf8_casefold (normalized, -1);
+diff -up libgweather-3.1.3/libgweather/gweather-timezone.c.gettext libgweather-3.1.3/libgweather/gweather-timezone.c
+--- libgweather-3.1.3/libgweather/gweather-timezone.c.gettext 2010-02-09 07:28:03.000000000 -0500
++++ libgweather-3.1.3/libgweather/gweather-timezone.c 2011-07-06 20:18:42.252855742 -0400
+@@ -23,6 +23,7 @@
+ #endif
+
+ #include <string.h>
++#include <libintl.h>
+
+ #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
+ #include "gweather-timezone.h"
+@@ -152,7 +153,7 @@ static GWeatherTimezone *
+ parse_timezone (GWeatherParser *parser)
+ {
+ GWeatherTimezone *zone = NULL;
+- char *id = NULL, *name = NULL;
++ char *id = NULL, *name = NULL, *context = NULL;
+ int offset = 0, dst_offset = 0;
+ gboolean has_dst = FALSE;
+
+@@ -175,27 +176,34 @@ parse_timezone (GWeatherParser *parser)
+ continue;
+ }
+
+- if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name"))
+- name = gweather_parser_get_localized_value (parser);
++ if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name")) {
++ context = xmlTextReaderGetAttribute(parser->xml,"msgctxt");
++ name = gweather_parser_get_value (parser);
++ }
+ else {
+ if (xmlTextReaderNext (parser->xml) != 1)
+ break;
+ }
+ }
+ }
+-
++
+ if (parse_tzdata (id, parser->year_start, parser->year_end,
+ &offset, &has_dst, &dst_offset)) {
+ zone = g_slice_new0 (GWeatherTimezone);
+ zone->ref_count = 1;
+ zone->id = g_strdup (id);
+- zone->name = g_strdup (name);
++ if (context != NULL)
++ zone->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, name));
++ else
++ zone->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",name));
+ zone->offset = offset;
+ zone->has_dst = has_dst;
+ zone->dst_offset = dst_offset;
+ }
+
+ xmlFree (id);
++ if (context)
++ xmlFree (context);
+ if (name)
+ xmlFree (name);
+
+diff -up libgweather-3.1.3/po-locations/LINGUAS.gettext libgweather-3.1.3/po-locations/LINGUAS
+--- libgweather-3.1.3/po-locations/LINGUAS.gettext 2011-07-06 20:18:42.253855730 -0400
++++ libgweather-3.1.3/po-locations/LINGUAS 2011-07-06 20:18:42.253855730 -0400
+@@ -0,0 +1,78 @@
++ang
++ar
++as
++az
++be
++be@latin
++bg
++bn_IN
++bn
++bs
++ca
++cs
++cy
++da
++de
++dz
++el
++en_CA
++en_GB
++es
++et
++eu
++fa
++fi
++fr
++ga
++gl
++gu
++he
++hi
++hr
++hu
++id
++it
++ja
++ka
++kn
++ko
++ku
++ky
++lt
++lv
++mai
++mg
++mk
++ml
++mn
++mr
++ms
++nb
++ne
++nl
++nn
++oc
++or
++pa
++pl
++pt_BR
++pt
++ro
++ru
++rw
++si
++sk
++sl
++sq
++sr@latin
++sr
++sv
++ta
++te
++th
++tr
++uk
++vi
++zh_CN
++zh_HK
++zh_TW
+diff -up libgweather-3.1.3/po-locations/Makefile.in.in.gettext libgweather-3.1.3/po-locations/Makefile.in.in
+--- libgweather-3.1.3/po-locations/Makefile.in.in.gettext 2011-07-06 20:18:42.254855718 -0400
++++ libgweather-3.1.3/po-locations/Makefile.in.in 2011-07-06 20:18:42.254855718 -0400
+@@ -0,0 +1,217 @@
++# Makefile for program source directory in GNU NLS utilities package.
++# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
++# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com>
++#
++# This file may be copied and used freely without restrictions. It may
++# be used in projects which are not available under a GNU Public License,
++# but which still want to provide support for the GNU gettext functionality.
++#
++# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
++# instead of PACKAGE and to look for po2tbl in ./ not in intl/
++#
++# - Modified by jacob berkman <jacob@ximian.com> to install
++# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
++#
++# - Modified by Rodney Dawes <dobey.pwns@gmail.com> for use with intltool
++#
++# We have the following line for use by intltoolize:
++# INTLTOOL_MAKEFILE
++
++GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-locations
++PACKAGE = @PACKAGE@
++VERSION = @VERSION@
++
++SHELL = /bin/sh
++
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++top_builddir = @top_builddir@
++VPATH = @srcdir@
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++datadir = @datadir@
++datarootdir = @datarootdir@
++libdir = @libdir@
++DATADIRNAME = @DATADIRNAME@
++itlocaledir = $(prefix)/$(DATADIRNAME)/locale
++subdir = po-locations
++install_sh = @install_sh@
++# Automake >= 1.8 provides @mkdir_p@.
++# Until it can be supposed, use the safe fallback:
++mkdir_p = $(install_sh) -d
++
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++
++GMSGFMT = @GMSGFMT@
++MSGFMT = @MSGFMT@
++XGETTEXT = @XGETTEXT@
++INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
++INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
++MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
++GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
++
++ALL_LINGUAS = @ALL_LINGUAS@
++
++PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
++
++USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi)
++
++USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
++
++POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
++
++DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES)
++EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
++
++POTFILES = \
++# This comment gets stripped out
++
++CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
++
++.SUFFIXES:
++.SUFFIXES: .po .pox .gmo .mo .msg .cat
++
++.po.pox:
++ $(MAKE) $(GETTEXT_PACKAGE).pot
++ $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
++
++.po.mo:
++ $(MSGFMT) -o $@ $<
++
++.po.gmo:
++ file=`echo $* | sed 's,.*/,,'`.gmo \
++ && rm -f $$file && $(GMSGFMT) -o $$file $<
++
++.po.cat:
++ sed -f ../intl/po2msg.sed < $< > $*.msg \
++ && rm -f $@ && gencat $@ $*.msg
++
++
++all: all-@USE_NLS@
++
++all-yes: $(CATALOGS)
++all-no:
++
++$(GETTEXT_PACKAGE).pot: $(POTFILES)
++ $(GENPOT)
++
++install: install-data
++install-data: install-data-@USE_NLS@
++install-data-no: all
++install-data-yes: all
++ linguas="$(USE_LINGUAS)"; \
++ for lang in $$linguas; do \
++ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
++ $(mkdir_p) $$dir; \
++ if test -r $$lang.gmo; then \
++ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
++ else \
++ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++ echo "installing $(srcdir)/$$lang.gmo as" \
++ "$$dir/$(GETTEXT_PACKAGE).mo"; \
++ fi; \
++ if test -r $$lang.gmo.m; then \
++ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
++ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
++ else \
++ if test -r $(srcdir)/$$lang.gmo.m ; then \
++ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
++ $$dir/$(GETTEXT_PACKAGE).mo.m; \
++ echo "installing $(srcdir)/$$lang.gmo.m as" \
++ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
++ else \
++ true; \
++ fi; \
++ fi; \
++ done
++
++# Empty stubs to satisfy archaic automake needs
++dvi info tags TAGS ID:
++
++# Define this as empty until I found a useful application.
++install-exec installcheck:
++
++uninstall:
++ linguas="$(USE_LINGUAS)"; \
++ for lang in $$linguas; do \
++ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
++ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
++ done
++
++check: all $(GETTEXT_PACKAGE).pot
++ rm -f missing notexist
++ srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
++ if [ -r missing -o -r notexist ]; then \
++ exit 1; \
++ fi
++
++mostlyclean:
++ rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
++ rm -f .intltool-merge-cache
++
++clean: mostlyclean
++
++distclean: clean
++ rm -f Makefile Makefile.in POTFILES stamp-it
++ rm -f *.mo *.msg *.cat *.cat.m *.gmo
++
++maintainer-clean: distclean
++ @echo "This command is intended for maintainers to use;"
++ @echo "it deletes files that may require special tools to rebuild."
++ rm -f Makefile.in.in
++
++distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
++dist distdir: $(DISTFILES)
++ dists="$(DISTFILES)"; \
++ extra_dists="$(EXTRA_DISTFILES)"; \
++ for file in $$extra_dists; do \
++ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
++ done; \
++ for file in $$dists; do \
++ test -f $$file || file="$(srcdir)/$$file"; \
++ ln $$file $(distdir) 2> /dev/null \
++ || cp -p $$file $(distdir); \
++ done
++
++update-po: Makefile
++ $(MAKE) $(GETTEXT_PACKAGE).pot
++ tmpdir=`pwd`; \
++ linguas="$(USE_LINGUAS)"; \
++ for lang in $$linguas; do \
++ echo "$$lang:"; \
++ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
++ if $$result; then \
++ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
++ rm -f $$tmpdir/$$lang.new.po; \
++ else \
++ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
++ :; \
++ else \
++ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
++ rm -f $$tmpdir/$$lang.new.po; \
++ exit 1; \
++ fi; \
++ fi; \
++ else \
++ echo "msgmerge for $$lang.gmo failed!"; \
++ rm -f $$tmpdir/$$lang.new.po; \
++ fi; \
++ done
++
++Makefile POTFILES: stamp-it
++ @if test ! -f $@; then \
++ rm -f stamp-it; \
++ $(MAKE) stamp-it; \
++ fi
++
++stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
++ cd $(top_builddir) \
++ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
++ $(SHELL) ./config.status
++
++# Tell versions [3.59,3.63) of GNU make not to export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+diff -up libgweather-3.1.3/po-locations/POTFILES.in.gettext libgweather-3.1.3/po-locations/POTFILES.in
+--- libgweather-3.1.3/po-locations/POTFILES.in.gettext 2011-07-06 20:18:42.254855718 -0400
++++ libgweather-3.1.3/po-locations/POTFILES.in 2011-07-06 20:18:42.254855718 -0400
+@@ -0,0 +1,4 @@
++# This list should contain *only* data/Locations.xml.in.
++# Everything else should be in POTFILES.skip.
++[encoding:UTF-8]
++data/Locations.xml.in
diff --git a/gnome-unstable/libgweather/libgweather.install b/gnome-unstable/libgweather/libgweather.install
new file mode 100644
index 000000000..7062d4167
--- /dev/null
+++ b/gnome-unstable/libgweather/libgweather.install
@@ -0,0 +1,22 @@
+pkgname=libgweather
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -q -t -f usr/share/icons/gnome
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/gnome
+}
diff --git a/gnome-unstable/liblouis/PKGBUILD b/gnome-unstable/liblouis/PKGBUILD
new file mode 100644
index 000000000..51485cdf6
--- /dev/null
+++ b/gnome-unstable/liblouis/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 138340 2011-09-20 09:31:51Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=liblouis
+pkgver=2.3.0
+pkgrel=1
+pkgdesc="Open-source braille translator and back-translator"
+arch=(i686 x86_64)
+url="http://code.google.com/p/liblouis/"
+license=('GPL3')
+depends=(glibc)
+makedepends=(help2man python2)
+optdepends=('python2: for python bindings')
+options=(!libtool)
+install=liblouis.install
+source=(http://liblouis.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+sha1sums=('f670c4fd845b3310ec02140fb26d912bdb1df356')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ cd python
+ LD_PRELOAD+=":$srcdir/$pkgname-$pkgver/liblouis/.libs/liblouis.so"
+ python2 setup.py install --root="$pkgdir" --prefix="/usr" --optimize=1
+}
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/liblouis/liblouis.install b/gnome-unstable/liblouis/liblouis.install
new file mode 100644
index 000000000..2a05ba27a
--- /dev/null
+++ b/gnome-unstable/liblouis/liblouis.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(liblouis.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/gnome-unstable/libpeas/PKGBUILD b/gnome-unstable/libpeas/PKGBUILD
new file mode 100644
index 000000000..d451db46b
--- /dev/null
+++ b/gnome-unstable/libpeas/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 138379 2011-09-21 12:32:47Z ibiru $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=libpeas
+pkgver=1.1.4
+pkgrel=1
+pkgdesc="A GObject-based plugins engine"
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+license=('GPL2')
+depends=('gtk3' 'hicolor-icon-theme' 'gobject-introspection')
+makedepends=('gtk-doc' 'intltool' 'vala' 'python2-gobject' 'gjs' 'seed')
+optdepends=('gjs: gobject-based plugin engine - gjs runtime loader'
+ 'seed: gbject-based plugin engine - seed runtime loader')
+options=('!libtool')
+install=libpeas.install
+source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.xz)
+sha256sums=('1f21230aac4359b123116b86f249b7dc867c1237ad2a48b4d827bf572f0879fe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/libpeas/libpeas.install b/gnome-unstable/libpeas/libpeas.install
new file mode 100644
index 000000000..1a05f573e
--- /dev/null
+++ b/gnome-unstable/libpeas/libpeas.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/gnome-unstable/libsocialweb/PKGBUILD b/gnome-unstable/libsocialweb/PKGBUILD
new file mode 100644
index 000000000..a3016c638
--- /dev/null
+++ b/gnome-unstable/libsocialweb/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 136721 2011-08-31 17:35:50Z ibiru $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+pkgname=libsocialweb
+pkgver=0.25.19
+pkgrel=2
+pkgdesc="A personal social data server"
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+license=('GPL2')
+depends=('glib2' 'gconf' 'libsoup-gnome' 'rest' 'dbus-glib' 'libgnome-keyring'
+ 'json-glib')
+makedepends=('intltool' 'gtk-doc' 'vala' 'gobject-introspection')
+options=('!libtool')
+source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.xz)
+sha256sums=('377b165fed92e1d4f6c7a2430191388633ad25421a72d640e9e60dfdf1d54625')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/libsocialweb \
+ --enable-all-services=yes \
+ --with-online=always \
+ --enable-vala-bindings
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/libsoup/PKGBUILD b/gnome-unstable/libsoup/PKGBUILD
new file mode 100644
index 000000000..b5a24457e
--- /dev/null
+++ b/gnome-unstable/libsoup/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 138314 2011-09-19 22:33:04Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=libsoup
+pkgname=('libsoup' 'libsoup-gnome')
+pkgver=2.35.92
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('LGPL')
+makedepends=('glib2' 'libxml2' 'sqlite3' 'libgnome-keyring' 'intltool' 'gobject-introspection' 'glib-networking')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver}.tar.xz)
+options=('!libtool' '!emptydirs')
+sha256sums=('df4986e0e58662ac0bccc4571d86b98b883003299adf1cb8f8a51b5dfdd0605b')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package_libsoup() {
+ pkgdesc="GNOME HTTP Library - base library"
+ depends=('glib2' 'libxml2' 'glib-networking')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm -f "${pkgdir}"/usr/lib/libsoup-gnome-2.4.*
+ rm -f "${pkgdir}/usr/lib/pkgconfig/libsoup-gnome-2.4.pc"
+ rm -rf "${pkgdir}/usr/include/libsoup-gnome-2.4"
+ rm -f "${pkgdir}/usr/lib/girepository-1.0/SoupGNOME-2.4.typelib"
+}
+
+package_libsoup-gnome() {
+ pkgdesc="GNOME HTTP Library - GNOME libraries"
+ depends=("libsoup=${pkgver}" 'libgnome-keyring')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm -f "${pkgdir}"/usr/lib/libsoup-2.4.*
+ rm -f "${pkgdir}/usr/lib/pkgconfig/libsoup-2.4.pc"
+ rm -rf "${pkgdir}/usr/include/libsoup-2.4"
+ rm -rf "${pkgdir}/usr/share"
+ rm -f "${pkgdir}/usr/lib/girepository-1.0/Soup-2.4.typelib"
+}
diff --git a/gnome-unstable/libwebkit/PKGBUILD b/gnome-unstable/libwebkit/PKGBUILD
new file mode 100644
index 000000000..bf31b8223
--- /dev/null
+++ b/gnome-unstable/libwebkit/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 138359 2011-09-20 17:15:00Z ibiru $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgbase=libwebkit
+pkgname=(libwebkit libwebkit3)
+pkgver=1.5.90
+pkgrel=1
+pkgdesc="An opensource web content engine"
+arch=('i686' 'x86_64')
+url="http://webkitgtk.org/"
+license=('custom')
+depends=('libxt' 'libxslt' 'sqlite3' 'icu' 'gstreamer0.10-base' 'libsoup' 'enchant')
+makedepends=('gperf' 'gtk-doc' 'gobject-introspection' 'python2' 'gtk2' 'gtk3')
+options=('!libtool' '!emptydirs')
+install=libwebkit.install
+source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz)
+md5sums=('19f046dcf68502e59bd03396edce60a8')
+
+build() {
+ cd "${srcdir}/webkit-${pkgver}"
+ mkdir build-gtk{2,3}
+
+ ( cd build-gtk2 && _build --with-gtk=2.0 )
+ ( cd build-gtk3 && _build --with-gtk=3.0 )
+}
+
+_build() {
+ PYTHON=/usr/bin/python2 ../configure --prefix=/usr \
+ --enable-introspection \
+ --with-font-backend=freetype --enable-gtk-doc \
+ --with-unicode-backend=icu \
+ --enable-spellcheck "$@"
+ make all stamp-po
+}
+
+package_libwebkit() {
+ pkgdesc+=" (for GTK2)"
+ depends+=(gtk2)
+
+ cd "$srcdir/webkit-$pkgver/build-gtk2"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 ../Source/WebKit/LICENSE "${pkgdir}/usr/share/licenses/libwebkit/LICENSE"
+}
+
+package_libwebkit3() {
+ pkgdesc+=" (for GTK3)"
+ depends+=(gtk3)
+
+ cd "${srcdir}/webkit-${pkgver}/build-gtk3"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 ../Source/WebKit/LICENSE "${pkgdir}/usr/share/licenses/libwebkit3/LICENSE"
+}
diff --git a/gnome-unstable/libwebkit/libwebkit.install b/gnome-unstable/libwebkit/libwebkit.install
new file mode 100644
index 000000000..24072f316
--- /dev/null
+++ b/gnome-unstable/libwebkit/libwebkit.install
@@ -0,0 +1,11 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/libwnck3/PKGBUILD b/gnome-unstable/libwnck3/PKGBUILD
new file mode 100644
index 000000000..a093408cf
--- /dev/null
+++ b/gnome-unstable/libwnck3/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 138265 2011-09-19 18:02:28Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=libwnck3
+_pkgbasename=libwnck
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="Window Navigator Construction Kit (GTK+3)"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('gtk3' 'startup-notification' 'libxres')
+makedepends=('intltool' 'gobject-introspection')
+options=('!libtool')
+url="http://www.gnome.org/"
+source=(http://ftp.gnome.org/pub/gnome/sources/${_pkgbasename}/${pkgver%.*}/${_pkgbasename}-${pkgver}.tar.xz)
+sha256sums=('5ec890c2cec6c090a8790cdee2234fee1fb2529ed6216d2721310bda19d270db')
+
+build() {
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/mash/PKGBUILD b/gnome-unstable/mash/PKGBUILD
new file mode 100644
index 000000000..354d50de8
--- /dev/null
+++ b/gnome-unstable/mash/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 138299 2011-09-19 21:50:38Z ibiru $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=mash
+pkgver=0.1.0
+pkgrel=2
+pkgdesc="A small library for using 3D models within a Clutter scene"
+arch=('i686' 'x86_64')
+url="http://clutter-project.org/"
+options=('!libtool')
+license=('LGPL')
+depends=('clutter')
+makedepends=('gtk-doc' 'gobject-introspection')
+source=(http://www.clutter-project.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('81f4b01d5661010dd742d4a82f9af4555624601ba3fb4e0780cfe2b34c13c24f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/mousetweaks/PKGBUILD b/gnome-unstable/mousetweaks/PKGBUILD
new file mode 100644
index 000000000..fcbd666ca
--- /dev/null
+++ b/gnome-unstable/mousetweaks/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 2392 2008-06-01 19:38:25Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=mousetweaks
+pkgver=3.1.91
+pkgrel=1
+pkgdesc="Mouse accessibility enhancements for the GNOME desktop"
+arch=(i686 x86_64)
+license=('GPL3' 'FDL')
+depends=('libxtst' 'gtk3' 'gsettings-desktop-schemas')
+makedepends=('gnome-doc-utils' 'intltool')
+groups=('gnome-extra')
+options=('!libtool' '!emptydirs')
+url="http://www.gnome.org"
+install=mousetweaks.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('3cb61eda34e74a53ba53492b37a87e2873959b9894356f9584032021551c3381')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-scrollkeeper
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/mousetweaks/mousetweaks.install b/gnome-unstable/mousetweaks/mousetweaks.install
new file mode 100644
index 000000000..1ae919322
--- /dev/null
+++ b/gnome-unstable/mousetweaks/mousetweaks.install
@@ -0,0 +1,17 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall mousetweaks
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/mutter/PKGBUILD b/gnome-unstable/mutter/PKGBUILD
new file mode 100644
index 000000000..68e7e527f
--- /dev/null
+++ b/gnome-unstable/mutter/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 138366 2011-09-21 05:59:07Z ibiru $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
+
+pkgname=mutter
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="A window manager for GNOME"
+arch=(i686 x86_64)
+license=('GPL')
+depends=('startup-notification' 'gconf' 'zenity' 'libcanberra' 'clutter' 'gobject-introspection')
+makedepends=('intltool' 'gnome-doc-utils')
+url="http://www.gnome.org"
+groups=('gnome')
+options=('!libtool' '!emptydirs')
+install=mutter.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('a8aec093b50ba1a9663971c5c080ca8c6892e85f6e20d0cd5ff829c9808ca37f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/mutter \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain mutter ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/mutter/mutter.install b/gnome-unstable/mutter/mutter.install
new file mode 100644
index 000000000..199f12584
--- /dev/null
+++ b/gnome-unstable/mutter/mutter.install
@@ -0,0 +1,17 @@
+pkgname=mutter
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
diff --git a/gnome-unstable/mx/PKGBUILD b/gnome-unstable/mx/PKGBUILD
new file mode 100644
index 000000000..e84e7b5ff
--- /dev/null
+++ b/gnome-unstable/mx/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 138297 2011-09-19 21:48:33Z ibiru $
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Guenther Wutz <admin@wutzara.de>
+
+pkgname=mx
+pkgver=1.3.1
+pkgrel=2
+pkgdesc="A widget toolkit using Clutter"
+arch=('i686' 'x86_64')
+url="http://www.clutter-project.org"
+license=('LGPL')
+depends=('clutter' 'libxrandr' 'dbus-glib' 'gtk2' 'startup-notification')
+makedepends=('intltool' 'gobject-introspection' 'gtk-doc')
+options=('!libtool')
+source=("http://source.clutter-project.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz")
+sha256sums=('4fab2d721252afe041165b909c503cca80e426aeeeb9f46676365ec25bb51cfa')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/nautilus/PKGBUILD b/gnome-unstable/nautilus/PKGBUILD
new file mode 100644
index 000000000..715b2834d
--- /dev/null
+++ b/gnome-unstable/nautilus/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 138323 2011-09-20 07:02:13Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=nautilus
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="GNOME file manager"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libexif' 'gnome-desktop' 'exempi' 'gvfs' 'desktop-file-utils'
+ 'gnome-icon-theme' 'dconf' 'libtracker-sparql')
+makedepends=('intltool' 'gobject-introspection')
+url="http://www.gnome.org"
+groups=('gnome')
+options=('!libtool' '!emptydirs')
+install=nautilus.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('1ed8577f6e617bd5eb3e4f1a6c7ff9e4e7a63fcde525fa532419270ff0cef463')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --libexecdir=/usr/lib/nautilus \
+ --disable-nst-extension \
+ --disable-update-mimedb \
+ --disable-packagekit \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/nautilus/nautilus.install b/gnome-unstable/nautilus/nautilus.install
new file mode 100644
index 000000000..631e38649
--- /dev/null
+++ b/gnome-unstable/nautilus/nautilus.install
@@ -0,0 +1,20 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-mime-database usr/share/mime > /dev/null
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall nautilus
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/network-manager-applet/PKGBUILD b/gnome-unstable/network-manager-applet/PKGBUILD
new file mode 100644
index 000000000..1249bfdf4
--- /dev/null
+++ b/gnome-unstable/network-manager-applet/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 138334 2011-09-20 07:59:45Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Arjan Timmerman <arjan@archlinux.org>
+# Contributor: Wael Nasreddine <gandalf@siemens-mobiles.org>
+# Contributor: Tor Krill <tor@krill.nu>
+# Contributor: Will Rea <sillywilly@gmail.com>
+
+pkgname=network-manager-applet
+pkgver=0.9.1.90
+pkgrel=1
+pkgdesc="GNOME frontends to NetWorkmanager"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnome.org/projects/NetworkManager/"
+depends=('networkmanager' 'libgnome-keyring' 'polkit-gnome' 'gtk3' 'libnotify' 'gnome-icon-theme' 'mobile-broadband-provider-info' 'gconf' 'iso-codes')
+makedepends=('intltool' 'gnome-bluetooth')
+optdepends=('gnome-bluetooth: for PAN/DUN support')
+options=('!libtool')
+install=network-manager-applet.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/0.9/$pkgname-$pkgver.tar.xz)
+sha256sums=('e98d285cc75a331557551900ebd815c24cb3132027f981823af4fb76ec368d95')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/networkmanager \
+ --disable-static \
+ --disable-maintainer-mode
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain nm-applet ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/network-manager-applet/network-manager-applet.install b/gnome-unstable/network-manager-applet/network-manager-applet.install
new file mode 100644
index 000000000..9922d12b2
--- /dev/null
+++ b/gnome-unstable/network-manager-applet/network-manager-applet.install
@@ -0,0 +1,18 @@
+pkgname=network-manager-applet
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+ gtk-update-icon-cache -f -q -t /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ gtk-update-icon-cache -f -q -t /usr/share/icons/hicolor
+}
diff --git a/gnome-unstable/networkmanager/NetworkManager.conf b/gnome-unstable/networkmanager/NetworkManager.conf
new file mode 100644
index 000000000..c37b59680
--- /dev/null
+++ b/gnome-unstable/networkmanager/NetworkManager.conf
@@ -0,0 +1,2 @@
+[main]
+plugins=keyfile
diff --git a/gnome-unstable/networkmanager/PKGBUILD b/gnome-unstable/networkmanager/PKGBUILD
new file mode 100644
index 000000000..943af8983
--- /dev/null
+++ b/gnome-unstable/networkmanager/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 138331 2011-09-20 07:34:15Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinxu.org>
+# Contri-butor: Wael Nasreddine <gandalf@siemens-mobiles.org>
+# Contributor: Tor Krill <tor@krill.nu>
+# Contributor: Will Rea <sillywilly@gmail.com>
+# Contributor: Valentine Sinitsyn <e_val@inbox.ru>
+
+pkgname=networkmanager
+pkgver=0.9.1.90
+pkgrel=1
+pkgdesc="Network Management daemon"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnome.org/projects/NetworkManager/"
+depends=('dbus-glib' 'iproute2' 'libnl' 'nss' 'polkit' 'udev' 'wireless_tools' 'wpa_supplicant' 'ppp' 'dhcpcd')
+makedepends=('intltool' 'dhclient' 'iptables' 'gobject-introspection')
+optdepends=('modemmanager: for modem management service'
+ 'dhclient: alternative DHCP/DHCPv6 client'
+ 'iptables: Connection sharing'
+ 'dnsmasq: Connection sharing'
+ 'bluez: Bluetooth support')
+options=('!libtool')
+backup=('etc/NetworkManager/NetworkManager.conf')
+install=networkmanager.install
+source=(http://ftp.gnome.org/pub/gnome/sources/NetworkManager/0.9/NetworkManager-${pkgver}.tar.xz
+ NetworkManager.conf disable_set_hostname.patch)
+sha256sums=('de7e5d6de80bf14ada468d01f15dd4b118a6bef5d06cadf04954fd7de7ce5910'
+ '44b048804c7c0b8b3b0c29b8632b6ad613c397d0a1635ec918e10c0fbcdadf21'
+ '25056837ea92e559f09563ed817e3e0cd9333be861b8914e45f62ceaae2e0460')
+
+build() {
+ cd "${srcdir}/NetworkManager-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/disable_set_hostname.patch"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/networkmanager \
+ --with-crypto=nss \
+ --with-distro=arch \
+ --with-dhclient=/usr/sbin/dhclient \
+ --with-dhcpcd=/sbin/dhcpcd \
+ --with-iptables=/usr/sbin/iptables \
+ --with-systemdsystemunitdir=/lib/systemd/system \
+ --disable-static \
+ --enable-more-warnings=no \
+ --disable-wimax
+
+ make
+}
+
+package() {
+ cd "${srcdir}/NetworkManager-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m644 "${srcdir}/NetworkManager.conf" "${pkgdir}/etc/NetworkManager/"
+
+ rm -rf "${pkgdir}/var/run/"
+}
diff --git a/gnome-unstable/networkmanager/disable_set_hostname.patch b/gnome-unstable/networkmanager/disable_set_hostname.patch
new file mode 100644
index 000000000..ee95dd0e1
--- /dev/null
+++ b/gnome-unstable/networkmanager/disable_set_hostname.patch
@@ -0,0 +1,19 @@
+diff -Nur NetworkManager-0.9.0.orig/src/nm-policy.c NetworkManager-0.9.0/src/nm-policy.c
+--- NetworkManager-0.9.0.orig/src/nm-policy.c 2011-08-23 06:41:02.099686450 +0000
++++ NetworkManager-0.9.0/src/nm-policy.c 2011-08-23 06:43:38.227791737 +0000
+@@ -302,6 +302,7 @@
+ return;
+ }
+
++#if 0
+ /* Try automatically determined hostname from the best device's IP config */
+ if (!best4)
+ best4 = get_best_ip4_device (policy->manager, &best_req4);
+@@ -356,6 +357,7 @@
+ }
+ }
+
++#endif
+ /* If no automatically-configured hostname, try using the hostname from
+ * when NM started up.
+ */
diff --git a/gnome-unstable/networkmanager/networkmanager.install b/gnome-unstable/networkmanager/networkmanager.install
new file mode 100644
index 000000000..de40c17ed
--- /dev/null
+++ b/gnome-unstable/networkmanager/networkmanager.install
@@ -0,0 +1,9 @@
+post_upgrade() {
+ (( $(vercmp 0.8.3 $2) > 0 )) && cat <<MSG
+ATTENTION:
+ /etc/NetworkManager/nm-system-settings.conf has been replaced
+ by /etc/NetworkManager/NetworkManager.conf. Make sure you move
+ any custom settings to the new config file.
+MSG
+ true
+}
diff --git a/gnome-unstable/pango/PKGBUILD b/gnome-unstable/pango/PKGBUILD
new file mode 100644
index 000000000..130e4bcba
--- /dev/null
+++ b/gnome-unstable/pango/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 136586 2011-08-30 17:03:36Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=pango
+pkgver=1.29.3
+pkgrel=1
+pkgdesc="A library for layout and rendering of text"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('glib2' 'cairo' 'libxft' 'libthai' 'freetype2')
+makedepends=('gobject-introspection' 'libxt' 'gtk-doc')
+options=('!libtool' '!emptydirs')
+install=pango.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.29/${pkgname}-${pkgver}.tar.xz)
+url="http://www.pango.org/"
+sha256sums=('b0da90cdac7f384a1c678b9467d00b6b8167f12044f9db089bf359f88644e86e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --with-included-modules=basic-fc
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/pango/pango.install b/gnome-unstable/pango/pango.install
new file mode 100644
index 000000000..73b0f5bf1
--- /dev/null
+++ b/gnome-unstable/pango/pango.install
@@ -0,0 +1,21 @@
+# arg 1: the new package version
+post_install() {
+ # we need to ldconfig first, in case xfree86's libs aren't
+ # in ld.so.cache yet
+ sbin/ldconfig -r .
+ usr/bin/pango-querymodules >etc/pango/pango.modules
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ -f usr/etc/pango/pango.modules ]; then
+ rm usr/etc/pango/pango.modules
+ fi
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ rm etc/pango/pango.modules
+}
diff --git a/gnome-unstable/paprefs/PKGBUILD b/gnome-unstable/paprefs/PKGBUILD
new file mode 100644
index 000000000..566f2dbda
--- /dev/null
+++ b/gnome-unstable/paprefs/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 137942 2011-09-12 21:08:26Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=paprefs
+pkgver=0.9.9
+pkgrel=8
+pkgdesc="A simple GTK-based configuration dialog for PulseAudio"
+arch=(i686 x86_64)
+url="http://0pointer.de/lennart/projects/paprefs"
+license=(GPL)
+depends=(gconfmm gnome-icon-theme libglademm libsigc++
+ 'pulseaudio>=0.99' 'pulseaudio<1.0')
+makedepends=(intltool)
+source=(http://0pointer.de/lennart/projects/paprefs/$pkgname-$pkgver.tar.gz
+ paprefs.desktop)
+md5sums=('0592ccb28c8f601a8fe3607b64e9f5bc' '20dc978f0bd4a0bf925a4eaf80a2b8f8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --disable-lynx
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir/paprefs.desktop" \
+ "$pkgdir/usr/share/applications/paprefs.desktop"
+}
diff --git a/gnome-unstable/paprefs/paprefs.desktop b/gnome-unstable/paprefs/paprefs.desktop
new file mode 100644
index 000000000..d51635533
--- /dev/null
+++ b/gnome-unstable/paprefs/paprefs.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Name=PulseAudio Preferences
+Name[de]=PulseAudio-Einstellungen
+GenericName=Sound Server Preferences
+GenericName[de]=Audio-Dienst-Einstellungen
+Comment=View and modify the configuration of the local sound server
+Comment[de]=Anzeigen und Ändern der Konfiguration des lokalen Audio-Dienstes
+Exec=paprefs
+Icon=preferences-desktop
+StartupNotify=true
+Type=Application
+Categories=Settings;
diff --git a/gnome-unstable/pavucontrol/PKGBUILD b/gnome-unstable/pavucontrol/PKGBUILD
new file mode 100644
index 000000000..cd12238db
--- /dev/null
+++ b/gnome-unstable/pavucontrol/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 138100 2011-09-16 09:17:47Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=pavucontrol
+pkgver=0.99.2
+pkgrel=1
+pkgdesc="A GTK volume control tool for PulseAudio"
+arch=(i686 x86_64)
+url="http://0pointer.de/lennart/projects/pavucontrol"
+license=(GPL)
+depends=(gnome-icon-theme libcanberra-pulse gtkmm3 libsigc++)
+makedepends=(intltool lynx)
+source=(http://freedesktop.org/software/pulseaudio/$pkgname/$pkgname-$pkgver.tar.gz
+ pavucontrol.desktop)
+sha256sums=('4a95065a4afb2a18142b60d6f0950171198372650391275dcdcd4671ba763cdf'
+ '5eab8c78e92c39a71ac1ca4c4464a8915d3a29d91e1703fd51c24652b747eebe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --enable-gtk3
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir/pavucontrol.desktop" \
+ "$pkgdir/usr/share/applications/pavucontrol.desktop"
+}
diff --git a/gnome-unstable/pavucontrol/pavucontrol.desktop b/gnome-unstable/pavucontrol/pavucontrol.desktop
new file mode 100644
index 000000000..842dc96b6
--- /dev/null
+++ b/gnome-unstable/pavucontrol/pavucontrol.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Name=PulseAudio Volume Control
+GenericName=Volume Control
+Comment=Adjust the volume level
+Exec=pavucontrol
+Icon=multimedia-volume-control
+StartupNotify=true
+Type=Application
+Categories=AudioVideo;Audio;
+GenericName[en_GB]=Volume Control
diff --git a/gnome-unstable/pulseaudio/PKGBUILD b/gnome-unstable/pulseaudio/PKGBUILD
new file mode 100644
index 000000000..f2ccf6bdd
--- /dev/null
+++ b/gnome-unstable/pulseaudio/PKGBUILD
@@ -0,0 +1,101 @@
+# $Id: PKGBUILD 138059 2011-09-15 12:10:17Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgbase=pulseaudio
+pkgname=(pulseaudio libpulse)
+pkgver=0.99.4
+pkgrel=1
+arch=(i686 x86_64)
+url="http://pulseaudio.org/"
+license=(GPL LGPL)
+makedepends=(libasyncns libcap attr libxtst libsm libsamplerate libtool rtkit
+ speex tdb udev dbus-core xcb-util avahi bluez gconf intltool jack
+ lirc-utils openssl fftw orc json-c)
+options=(!emptydirs !libtool !makeflags)
+source=("http://freedesktop.org/software/$pkgbase/releases/$pkgbase-$pkgver.tar.gz"
+ $pkgbase.xinit)
+sha256sums=('7dde2f73f6b8336797d06928c8210d5e6cfaa7d679bea7b93f5ffc26fb970fec'
+ '3fb64aee43c482b3ea18e1b260c8f310884362b24bcd02a1c117dcd99237312f')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ # Don't break circular dependency between libpulse and libpulsecommon
+ LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --with-database=tdb \
+ --disable-hal \
+ --disable-tcpwrap \
+ --disable-rpath \
+ --disable-default-build-tests
+
+ make
+}
+
+package_pulseaudio() {
+ pkgdesc="A featureful, general-purpose sound server"
+ depends=("libpulse=$pkgver-$pkgrel" rtkit libtool speex tdb udev fftw orc)
+ optdepends=('avahi: zeroconf support'
+ 'bluez: bluetooth support'
+ 'gconf: configuration through gconf (paprefs)'
+ 'jack: jack support'
+ 'lirc-utils: infra-red support'
+ 'openssl: RAOP support'
+ 'python2-pyqt: Equalizer GUI (qpaeq)')
+ backup=(etc/pulse/{daemon.conf,default.pa,system.pa})
+ install=pulseaudio.install
+ cd "$srcdir/$pkgbase-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # Lower resample quality, saves CPU
+ sed -e '/resample-method/iresample-method=speex-float-0' \
+ -i "$pkgdir/etc/pulse/daemon.conf"
+
+ # Disable cork-request module, can result in e.g. media players unpausing
+ # when there's a Skype call incoming
+ sed -e 's|/usr/bin/pactl load-module module-x11-cork-request|#&|' \
+ -i "$pkgdir/usr/bin/start-pulseaudio-x11"
+
+ # Make module-console-kit optional
+ sed -e $'/load-module module-console-kit/{i.nofail\n;a.fail\n;}' \
+ -i "$pkgdir/etc/pulse/default.pa"
+
+ # Python fix
+ sed -i '1s:python$:&2:' "$pkgdir/usr/bin/qpaeq"
+
+ install -Dm755 "$srcdir/pulseaudio.xinit" "$pkgdir/etc/X11/xinit/xinitrc.d/pulseaudio"
+
+ rm "$pkgdir/etc/dbus-1/system.d/pulseaudio-system.conf"
+
+### Split libpulse
+
+ mkdir -p "$srcdir"/libpulse/{etc/pulse,usr/{lib,share/man/man5}}
+
+ mv {"$pkgdir","$srcdir/libpulse"}/etc/pulse/client.conf
+
+ mv "$pkgdir"/usr/lib/libpulse{,dsp,-simple,-mainloop-glib}.so* \
+ "$pkgdir"/usr/lib/libpulsecommon-*.so \
+ "$srcdir/libpulse/usr/lib"
+
+ mv {"$pkgdir","$srcdir/libpulse"}/usr/lib/pkgconfig
+ mv {"$pkgdir","$srcdir/libpulse"}/usr/include
+
+ mv {"$pkgdir","$srcdir/libpulse"}/usr/share/man/man5/pulse-client.conf.5
+ mv {"$pkgdir","$srcdir/libpulse"}/usr/share/vala
+}
+
+package_libpulse() {
+ pkgdesc="A featureful, general-purpose sound server (client library)"
+ depends=(dbus-core xcb-util libasyncns libcap libxtst libsm libsamplerate json-c)
+ optdepends=('alsa-plugins: ALSA support'
+ 'avahi: zeroconf support')
+ backup=(etc/pulse/client.conf)
+ mv "$srcdir"/libpulse/* "$pkgdir"
+}
diff --git a/gnome-unstable/pulseaudio/pulseaudio.install b/gnome-unstable/pulseaudio/pulseaudio.install
new file mode 100644
index 000000000..fd7db3b36
--- /dev/null
+++ b/gnome-unstable/pulseaudio/pulseaudio.install
@@ -0,0 +1,23 @@
+post_install() {
+ cat << MES
+>>> See the wiki at http://wiki.archlinux.org/index.php/PulseAudio for details
+ on configuring your system for PulseAudio.
+
+>>> Make sure to install pulseaudio-alsa to configure ALSA for PulseAudio.
+MES
+}
+
+post_upgrade() {
+ # Delete old users and groups
+ # System-wide daemon not supported anymore
+ if (( $(vercmp $2 0.9.22) < 0 )); then
+ getent passwd pulse &>/dev/null && usr/sbin/userdel -f pulse
+ getent group pulse-access &>/dev/null && usr/sbin/groupdel pulse-access
+ getent group pulse-rt &>/dev/null && usr/sbin/groupdel pulse-rt
+ getent group pulse &>/dev/null && usr/sbin/groupdel pulse
+ fi
+
+ true
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/pulseaudio/pulseaudio.xinit b/gnome-unstable/pulseaudio/pulseaudio.xinit
new file mode 100644
index 000000000..ca510e882
--- /dev/null
+++ b/gnome-unstable/pulseaudio/pulseaudio.xinit
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+case "$SESSION" in
+ GNOME|KDE*|xfce4) # PulseAudio is started via XDG Autostart
+ ;;
+ *) /usr/bin/start-pulseaudio-x11 ;;
+esac
diff --git a/gnome-unstable/pygobject/PKGBUILD b/gnome-unstable/pygobject/PKGBUILD
new file mode 100644
index 000000000..57c8f8693
--- /dev/null
+++ b/gnome-unstable/pygobject/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 138263 2011-09-19 18:00:23Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgbase=pygobject
+pkgname=(python-gobject python2-gobject pygobject-devel)
+pkgver=3.0.0
+pkgrel=1
+arch=('i686' 'x86_64')
+url="https://live.gnome.org/PyGObject"
+license=('LGPL')
+makedepends=('python' 'python2' 'python-cairo' 'python2-cairo' 'gobject-introspection')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver}.tar.xz)
+options=('!libtool')
+sha256sums=('ef6735792b0d44287126a6a3b181c85559849063d770506fe06848adb87ce815')
+
+build() {
+ cd "${srcdir}"
+ cp -a "${pkgbase}-${pkgver}" python2-build
+ mkdir devel
+
+ (
+ cd python2-build
+ export PYTHON=/usr/bin/python2
+ ./configure --prefix=/usr
+ make
+ )
+
+ (
+ cd "${pkgbase}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ )
+}
+
+package_python-gobject() {
+ pkgdesc="Python 3 bindings for GObject"
+ depends=('gobject-introspection' 'python-cairo' "pygobject-devel=${pkgver}")
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ rm -r "${pkgdir}"/usr/{include,lib/pkgconfig}
+}
+
+package_python2-gobject() {
+ pkgdesc="Python 2 bindings for GObject"
+ depends=('gobject-introspection' 'python2-cairo' "pygobject-devel=${pkgver}")
+
+ cd "${srcdir}/python2-build"
+ make DESTDIR="${pkgdir}" install
+ mv "${pkgdir}"/usr/{include,lib/pkgconfig} "${srcdir}/devel"
+}
+
+package_pygobject-devel() {
+ pkgdesc="Development files for the pygobject bindings"
+ cd "${srcdir}/devel"
+ mkdir -p "${pkgdir}"/usr/{include,lib}
+ mv include "${pkgdir}/usr/"
+ mv pkgconfig "${pkgdir}/usr/lib/"
+}
diff --git a/gnome-unstable/pygobject2/PKGBUILD b/gnome-unstable/pygobject2/PKGBUILD
new file mode 100644
index 000000000..e3eba387e
--- /dev/null
+++ b/gnome-unstable/pygobject2/PKGBUILD
@@ -0,0 +1,84 @@
+# $Id: PKGBUILD 138099 2011-09-16 09:12:14Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=pygobject2
+pkgname=(python-gobject2 python2-gobject2 pygobject2-devel)
+pkgver=2.28.6
+pkgrel=3
+arch=('i686' 'x86_64')
+url="http://www.pygtk.org/"
+license=('LGPL')
+depends=('glib2' 'pygobject2-devel')
+makedepends=('python' 'python2')
+source=(http://ftp.gnome.org/pub/gnome/sources/pygobject/${pkgver%.*}/pygobject-${pkgver}.tar.xz
+ python3-fix-build.patch
+ python3-fix-maketrans.patch)
+options=('!libtool')
+sha256sums=('fb8a1d4f665130a125011659bd347c7339c944232163dbb9a34fd0686577adb8'
+ 'feafd4664f8455edf0bf8407ac45e219bb550df806ce0d601baae951e8c188ca'
+ '4bff9adcea13a824c45d14ec501c927df47d23c22507a2456d8b5ec885924c0a')
+
+build() {
+ cd "${srcdir}"
+ cp -a "pygobject-${pkgver}" python2-build
+ mkdir devel
+
+ (
+ cd python2-build
+ export PYTHON=/usr/bin/python2
+ ./configure --prefix=/usr --disable-introspection
+ make
+ )
+
+ (
+ cd "pygobject-${pkgver}"
+ #patches available in 2.28 branch but unreleased.
+ patch -Np1 -i "${srcdir}/python3-fix-build.patch"
+ patch -Np1 -i "${srcdir}/python3-fix-maketrans.patch"
+
+ ./configure --prefix=/usr --disable-introspection
+ make
+ )
+}
+
+package_python-gobject2() {
+ pkgdesc="Python 3 bindings for GObject2"
+ depends+=('python')
+ replaces=('py3gobject')
+ provides=("py3gobject=$pkgver")
+
+ cd "${srcdir}/pygobject-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # Delete devel stuff
+ rm -r "$pkgdir"/usr/{bin,include,lib/pkgconfig,share/{gtk-doc,pygobject/{2.0/codegen,xsl}}}
+}
+
+package_python2-gobject2() {
+ pkgdesc="Python 2 bindings for GObject2"
+ depends+=('python2')
+ replaces=('pygobject')
+ provides=("pygobject=$pkgver")
+
+ cd "${srcdir}/python2-build"
+ make DESTDIR="${pkgdir}" install
+
+ find "$pkgdir"/usr/share/pygobject -name '*.py' | \
+ xargs sed -i "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
+
+ # Split devel stuff
+ mv "$pkgdir"/usr/{include,lib/pkgconfig,share/{gtk-doc,pygobject/xsl}} \
+ "$srcdir/devel/"
+}
+
+package_pygobject2-devel() {
+ pkgdesc="Development files for the pygobject bindings"
+
+ cd "${srcdir}/devel"
+ mkdir -p "$pkgdir"/usr/{include,lib,share/pygobject}
+
+ mv include "$pkgdir/usr/"
+ mv pkgconfig "$pkgdir/usr/lib/"
+ mv gtk-doc "$pkgdir/usr/share/"
+ mv xsl "$pkgdir/usr/share/pygobject/"
+}
diff --git a/gnome-unstable/pygobject2/python3-fix-build.patch b/gnome-unstable/pygobject2/python3-fix-build.patch
new file mode 100644
index 000000000..4cb8cfe57
--- /dev/null
+++ b/gnome-unstable/pygobject2/python3-fix-build.patch
@@ -0,0 +1,34 @@
+From e2dc4ac346a16b6976b92e84819c7203629beb4a Mon Sep 17 00:00:00 2001
+From: Ignacio Casal Quinteiro <icq@gnome.org>
+Date: Thu, 21 Apr 2011 14:52:20 +0000
+Subject: [python3] fix build. PYcairo_IMPORT doesn't exists anymore
+
+---
+diff --git a/gi/pygi-foreign-cairo.c b/gi/pygi-foreign-cairo.c
+index 81b9865..edf52d7 100644
+--- a/gi/pygi-foreign-cairo.c
++++ b/gi/pygi-foreign-cairo.c
+@@ -30,7 +30,7 @@
+ #include <pycairo/py3cairo.h>
+ #endif
+
+-Pycairo_CAPI_t *Pycairo_CAPI;
++static Pycairo_CAPI_t *Pycairo_CAPI;
+
+ #include "pygi-foreign.h"
+
+@@ -117,7 +117,12 @@ cairo_surface_release (GIBaseInfo *base_info,
+ static PyMethodDef _gi_cairo_functions[] = {0,};
+ PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo")
+ {
++#if PY_VERSION_HEX < 0x03000000
+ Pycairo_IMPORT;
++#else
++ Pycairo_CAPI = (Pycairo_CAPI_t*) PyCObject_Import("cairo", "CAPI");
++#endif
++
+ if (Pycairo_CAPI == NULL)
+ return PYGLIB_MODULE_ERROR_RETURN;
+
+--
+cgit v0.9
diff --git a/gnome-unstable/pygobject2/python3-fix-maketrans.patch b/gnome-unstable/pygobject2/python3-fix-maketrans.patch
new file mode 100644
index 000000000..f5bc0e77c
--- /dev/null
+++ b/gnome-unstable/pygobject2/python3-fix-maketrans.patch
@@ -0,0 +1,36 @@
+From 667bec76ccbc85cc1d54a0e68977dbda241c028c Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Wed, 13 Jul 2011 06:42:22 +0000
+Subject: [python3] Fix maketrans import
+
+Python3 moved the maketrans() function from the string module to a str method.
+This unbreaks gi/module.py for Python 3 again.
+---
+diff --git a/gi/module.py b/gi/module.py
+index 70df76c..d56bdaf 100644
+--- a/gi/module.py
++++ b/gi/module.py
+@@ -24,7 +24,11 @@ from __future__ import absolute_import
+
+ import os
+ import gobject
+-import string
++try:
++ maketrans = ''.maketrans
++except AttributeError:
++ # fallback for Python 2
++ from string import maketrans
+
+ import gi
+ from .overrides import registry
+@@ -124,7 +128,7 @@ class IntrospectionModule(object):
+ # Don't use upper() here to avoid locale specific
+ # identifier conversion (e. g. in Turkish 'i'.upper() == 'i')
+ # see https://bugzilla.gnome.org/show_bug.cgi?id=649165
+- ascii_upper_trans = string.maketrans(
++ ascii_upper_trans = maketrans(
+ 'abcdefgjhijklmnopqrstuvwxyz',
+ 'ABCDEFGJHIJKLMNOPQRSTUVWXYZ')
+ for value_info in info.get_values():
+--
+cgit v0.9
diff --git a/gnome-unstable/seahorse/PKGBUILD b/gnome-unstable/seahorse/PKGBUILD
new file mode 100644
index 000000000..f9efddf44
--- /dev/null
+++ b/gnome-unstable/seahorse/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 138182 2011-09-18 09:01:54Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Michel Brabants <michel.linux@tiscali.be>
+
+pkgname=seahorse
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="GNOME application for managing PGP keys."
+arch=(i686 x86_64)
+license=('GPL')
+url="http://projects.gnome.org/seahorse/"
+depends=('gtk3' 'libgnome-keyring' 'gnome-keyring' 'libsoup' 'gpgme' 'desktop-file-utils' 'hicolor-icon-theme' 'dconf')
+makedepends=('gettext' 'libldap' 'intltool' 'pkgconfig' 'gnome-doc-utils' 'gobject-introspection' 'openssh' 'libsm')
+options=('!libtool' '!emptydirs')
+groups=('gnome-extra')
+install=seahorse.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('d853966b0166aeb2657d964dff46f6ceb3c9b3202c45650765f4bf6957c3fec5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --enable-ldap --enable-hkp \
+ --disable-scrollkeeper \
+ --disable-update-mime-database \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/seahorse/seahorse.install b/gnome-unstable/seahorse/seahorse.install
new file mode 100644
index 000000000..9a98d52e0
--- /dev/null
+++ b/gnome-unstable/seahorse/seahorse.install
@@ -0,0 +1,21 @@
+pkgname=seahorse
+
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/$pkgname.schemas ]; then
+ usr/sbin/gconfpkg --uninstall $pkgname
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/sushi/PKGBUILD b/gnome-unstable/sushi/PKGBUILD
new file mode 100644
index 000000000..c53b8ff24
--- /dev/null
+++ b/gnome-unstable/sushi/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 138307 2011-09-19 22:15:22Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+pkgname=sushi
+pkgver=0.1.92
+pkgrel=2
+pkgdesc="A quick previewer for Nautilus"
+arch=(i686 x86_64)
+url="http://www.gnome.org"
+license=('GPL2')
+groups=(gnome-extra)
+depends=('clutter-gtk' 'clutter-gst' 'gjs' 'libmusicbrainz3' 'libwebkit3' 'gtksourceview3' 'evince')
+makedepends=('intltool' 'gobject-introspection')
+options=(!libtool)
+source=(http://download.gnome.org/sources/$pkgname/0.1/$pkgname-$pkgver.tar.xz)
+sha256sums=('93e5982739a79ba4d305785c64b0f1de79aa5da57b2287bcaaa4a071e66d8688')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --libexecdir=/usr/lib/sushi
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/telepathy-farstream/PKGBUILD b/gnome-unstable/telepathy-farstream/PKGBUILD
new file mode 100644
index 000000000..ec9d14a1e
--- /dev/null
+++ b/gnome-unstable/telepathy-farstream/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 136817 2011-09-01 20:37:01Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgname=telepathy-farstream
+pkgver=0.1.1
+pkgrel=1
+pkgdesc="A telepathy-backend to use stream engine."
+arch=(i686 x86_64)
+url="http://telepathy.freedesktop.org"
+license=('LGPL2.1')
+depends=('telepathy-glib' 'farsight2')
+makedepends=('libxslt' 'python2')
+options=('!libtool')
+source=(http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('da9179ee104bfb839cd813f66c23c066')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/telepathy \
+ --disable-static
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/telepathy-glib/PKGBUILD b/gnome-unstable/telepathy-glib/PKGBUILD
new file mode 100644
index 000000000..cac5690e2
--- /dev/null
+++ b/gnome-unstable/telepathy-glib/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 136808 2011-09-01 18:48:52Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com
+# Contributor: Bjorn Lindeijer <bjorn lindeijer nl>
+
+pkgname=telepathy-glib
+pkgver=0.15.5
+pkgrel=1
+pkgdesc="GLib bindings for the Telepathy D-Bus protocol"
+arch=('i686' 'x86_64')
+url="http://telepathy.freedesktop.org"
+groups=('telepathy')
+license=('LGPL2.1')
+options=('!libtool' '!emptydirs')
+depends=('dbus-glib')
+makedepends=('libxslt' 'vala' 'gobject-introspection')
+source=("http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('18c93456fcf3568e47c6a6342b8c46f5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --libexecdir=/usr/lib/telepathy \
+ --enable-vala-bindings \
+ --enable-static=no
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR=${pkgdir} install
+}
diff --git a/gnome-unstable/telepathy-mission-control/PKGBUILD b/gnome-unstable/telepathy-mission-control/PKGBUILD
new file mode 100644
index 000000000..bcb9c55a6
--- /dev/null
+++ b/gnome-unstable/telepathy-mission-control/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 137528 2011-09-08 19:52:46Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Ju Liu <liuju86 at gmail dot com>
+# Contributor: Bjorn Lindeijer <bjorn lindeijer nl>
+# Contributor: Andreas Zwinkau <beza1e1@web.de>
+pkgname=telepathy-mission-control
+pkgver=5.9.2
+pkgrel=1
+pkgdesc="A Telepathy component providing abstraction of some of the details of connection managers."
+arch=('i686' 'x86_64')
+url="http://telepathy.freedesktop.org/wiki/Mission Control"
+license=('LGPL2.1')
+depends=('telepathy-glib' 'libgnome-keyring')
+makedepends=('libxslt' 'python2')
+options=('!libtool')
+source=(http://telepathy.freedesktop.org/releases/telepathy-mission-control/$pkgname-$pkgver.tar.gz)
+md5sums=('312fb289f644a90d4514064586445d58')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr \
+ --libexecdir=/usr/lib/telepathy \
+ --enable-gnome-keyring
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/gnome-unstable/tomboy/PKGBUILD b/gnome-unstable/tomboy/PKGBUILD
new file mode 100644
index 000000000..cef2b51e0
--- /dev/null
+++ b/gnome-unstable/tomboy/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 138226 2011-09-19 12:07:16Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=tomboy
+pkgver=1.7.7
+pkgrel=1
+pkgdesc="Desktop note-taking application for Linux and Unix"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnome.org/projects/tomboy/"
+depends=('gtk2' 'gtkspell' 'gconf' 'gconf-sharp' 'dbus-sharp' 'dbus-sharp-glib' 'mono-addins' 'hicolor-icon-theme')
+makedepends=('intltool' 'pkgconfig' 'gnome-doc-utils')
+options=('!libtool' '!emptydirs' '!makeflags')
+groups=('gnome-extra')
+install=tomboy.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.7/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('f8c38ba48abcee33ba336b526adbc8672a0c8a5053f600324c6ef84f48399e12')
+
+build() {
+ export MONO_SHARED_DIR="${srcdir}/.wabi"
+ mkdir -p "${MONO_SHARED_DIR}"
+
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-scrollkeeper \
+ --disable-update-mimedb
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install
+
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain tomboy ${pkgdir}/etc/gconf/schemas/*.schemas
+ rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
+}
diff --git a/gnome-unstable/tomboy/tomboy.install b/gnome-unstable/tomboy/tomboy.install
new file mode 100644
index 000000000..f8e2e4a07
--- /dev/null
+++ b/gnome-unstable/tomboy/tomboy.install
@@ -0,0 +1,25 @@
+pkgname=tomboy
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-mime-database usr/share/mime
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-mime-database usr/share/mime
+}
diff --git a/gnome-unstable/totem/PKGBUILD b/gnome-unstable/totem/PKGBUILD
new file mode 100644
index 000000000..06765e393
--- /dev/null
+++ b/gnome-unstable/totem/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 138410 2011-09-21 21:31:15Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=totem
+pkgname=('totem' 'totem-plugin')
+pkgver=3.1.92
+pkgrel=1
+pkgdesc="A GNOME3 integrated movie player based on Gstreamer."
+url="http://www.gnome.org"
+arch=('i686' 'x86_64')
+license=('GPL2' 'custom')
+depends=('gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'totem-plparser' 'libxxf86vm'
+ 'libxtst' 'desktop-file-utils' 'iso-codes' 'python2' 'libpeas' 'hicolor-icon-theme'
+ 'gnome-icon-theme-symbolic' 'gsettings-desktop-schemas' 'dconf' 'clutter-gst'
+ 'clutter-gtk' 'mx')
+makedepends=('intltool' 'gtk-doc' 'python2-gobject' 'nautilus' 'libgdata' 'xulrunner' 'lirc-utils'
+ 'libepc' 'bluez' 'vala' 'grilo')
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver}.tar.xz
+ convert.patch::http://git.gnome.org/browse/totem/patch/?id=75d00dfd0d3a6779f879e52c96babbbd52816d75)
+sha256sums=('a7186a3c3a62f5ec0a8749aba9718c999507b43ab99711ebf4f7b65c24e995ab'
+ '243656eed0beda9fd097a24f33683dbcf39dbe7fdf385f6e5bc5fc85d5b34c0c')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ patch -Np1 -i ${srcdir}/convert.patch
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/totem \
+ --localstatedir=/var \
+ --disable-static \
+ --enable-python \
+ --enable-nautilus
+ make
+}
+
+package_totem() {
+ groups=('gnome-extra')
+ install=totem.install
+ optdepends=('gstreamer0.10-ugly-plugins: Extra media codecs'
+ 'gstreamer0.10-bad-plugins: Extra media codecs'
+ 'gstreamer0.10-ffmpeg: Extra media codecs'
+ 'lirc-utils: Infrared Remote Control plugin'
+ 'libepc: Publish Playlist plugin'
+ 'libgdata: YouTube Browser plugin'
+ 'bluez: Bemused plugin'
+ 'grilo: Grilo plugin')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm -r "${pkgdir}/usr/lib/mozilla"
+ rm "${pkgdir}/usr/lib/totem/totem-plugin-viewer"
+
+ sed -i "s|#!/usr/bin/python$|#!/usr/bin/python2|" \
+ $pkgdir/usr/lib/totem/{totem/totem-bugreport.py,plugins/iplayer/iplayer2.py}
+
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/totem/COPYING"
+}
+
+package_totem-plugin() {
+ pkgdesc="Totem mozilla/firefox plugin"
+ depends=("totem=${pkgver}")
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make -C browser-plugin \
+ plugindir=/usr/lib/mozilla/plugins \
+ xptdir=/usr/lib/mozilla/plugins \
+ DESTDIR="${pkgdir}" install
+
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/totem-plugin/COPYING"
+}
diff --git a/gnome-unstable/totem/totem.install b/gnome-unstable/totem/totem.install
new file mode 100644
index 000000000..07cb42dcb
--- /dev/null
+++ b/gnome-unstable/totem/totem.install
@@ -0,0 +1,19 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.91.91) < 0 )); then
+ usr/sbin/gconfpkg --uninstall totem
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/tracker/PKGBUILD b/gnome-unstable/tracker/PKGBUILD
new file mode 100644
index 000000000..c65f7e897
--- /dev/null
+++ b/gnome-unstable/tracker/PKGBUILD
@@ -0,0 +1,84 @@
+# $Id: PKGBUILD 138320 2011-09-20 06:19:51Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+
+pkgbase=tracker
+pkgname=(tracker libtracker-sparql)
+pkgver=0.12.1
+_tver=${pkgver%.*}
+pkgrel=1
+pkgdesc="All-in-one indexer, search tool and metadata database"
+arch=('i686' 'x86_64')
+license=('GPL')
+makedepends=('libgee' 'libgnome-keyring' 'upower' 'libexif' 'exempi'
+ 'poppler-glib' 'libgsf' 'icu' 'enca' 'networkmanager' 'gtk3'
+ 'desktop-file-utils' 'hicolor-icon-theme' 'gobject-introspection'
+ 'intltool' 'giflib' 'gstreamer0.10-base' 'totem-plparser'
+ 'evolution' 'taglib' 'nautilus' 'gnome-panel' 'libvorbis' 'flac'
+ 'vala')
+url="http://www.gnome.org"
+options=('!libtool' '!emptydirs')
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/$_tver/$pkgbase-$pkgver.tar.xz)
+sha256sums=('b2289d8bdc0577c00c45c8c42c9057df1f8b2c66fa1f6dac4bd15f77170edd33')
+
+build() {
+ cd "$srcdir/$pkgbase-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/tracker \
+ --disable-unit-tests \
+ --enable-libflac \
+ --enable-libvorbis
+
+ make
+}
+
+package_tracker() {
+ depends=("libtracker-sparql=$pkgver-$pkgrel" 'libgee' 'libgnome-keyring'
+ 'upower' 'libexif' 'exempi' 'poppler-glib' 'libgsf' 'enca'
+ 'networkmanager' 'gtk3' 'desktop-file-utils' 'hicolor-icon-theme')
+ optdepends=('giflib: extractor for GIF data'
+ 'gstreamer0.10-base: video extractor'
+ 'totem-plparser: playlist support'
+ 'evolution: Evolution email data miner'
+ 'nautilus: nautilus-extension'
+ 'libvorbis: Vorbis metadata extractor'
+ 'flac: FLAC metadata extractor'
+ 'taglib: writeback for audio files'
+ 'gnome-panel: tracker-search-bar')
+ groups=('gnome-extra')
+ install=tracker.install
+
+ cd "$srcdir/$pkgbase-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+### Split libtracker-sparql
+
+ mkdir -p "$srcdir"/sparql/usr/{include,lib}/tracker-$_tver
+ mkdir -p "$srcdir"/sparql/usr/lib/{girepository-1.0,pkgconfig}
+ mkdir -p "$srcdir"/sparql/usr/share/{gir-1.0,vala/vapi}
+
+ mv "$pkgdir"/usr/lib/libtracker-sparql-* "$srcdir/sparql/usr/lib"
+
+ mv "$pkgdir"/usr/lib/tracker-$_tver/*.so* \
+ "$srcdir/sparql/usr/lib/tracker-$_tver"
+
+ mv "$pkgdir"/usr/share/vala/vapi/tracker-sparql-* \
+ "$srcdir/sparql/usr/share/vala/vapi"
+
+ mv {"$pkgdir","$srcdir/sparql"}/usr/include/tracker-$_tver/libtracker-sparql
+ mv {"$pkgdir","$srcdir/sparql"}/usr/lib/girepository-1.0/Tracker-$_tver.typelib
+ mv {"$pkgdir","$srcdir/sparql"}/usr/lib/pkgconfig/tracker-sparql-$_tver.pc
+ mv {"$pkgdir","$srcdir/sparql"}/usr/share/gir-1.0/Tracker-$_tver.gir
+}
+
+package_libtracker-sparql() {
+ pkgdesc="$pkgdesc (SPARQL library)"
+ depends=('sqlite3' 'icu' 'glib2' 'libffi' 'pcre' 'util-linux')
+
+ mv "$srcdir"/sparql/* "$pkgdir"
+}
diff --git a/gnome-unstable/tracker/tracker.install b/gnome-unstable/tracker/tracker.install
new file mode 100644
index 000000000..95114273e
--- /dev/null
+++ b/gnome-unstable/tracker/tracker.install
@@ -0,0 +1,13 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/upower/PKGBUILD b/gnome-unstable/upower/PKGBUILD
new file mode 100644
index 000000000..d100a2f6b
--- /dev/null
+++ b/gnome-unstable/upower/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 137526 2011-09-08 19:34:27Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=upower
+pkgver=0.9.13
+pkgrel=2
+pkgdesc="Abstraction for enumerating power devices, listening to device events and querying history and statistics"
+arch=('i686' 'x86_64')
+url="http://upower.freedesktop.org"
+license=('GPL')
+depends=('udev' 'libusb' 'polkit' 'pm-utils' 'dbus-glib' 'libimobiledevice')
+makedepends=('pkg-config' 'intltool' 'docbook-xsl' 'gobject-introspection')
+replaces=('devicekit-power')
+options=('!libtool')
+source=($url/releases/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('2c7dd2c26d11da628d68111d50eed51244a8337c1d0830addecd1372a7d44a22')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib/upower --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/vala/PKGBUILD b/gnome-unstable/vala/PKGBUILD
new file mode 100644
index 000000000..2e7c38cfa
--- /dev/null
+++ b/gnome-unstable/vala/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 138143 2011-09-17 17:00:45Z ibiru $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Timm Preetz <timm@preetz.us>
+
+pkgname=vala
+pkgver=0.14.0
+pkgrel=1
+pkgdesc="Compiler for the GObject type system"
+arch=('i686' 'x86_64')
+url="http://live.gnome.org/Vala"
+license=('LGPL')
+depends=('glib2')
+makedepends=('libxslt')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.14/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('3830a30b54738ddfb29ab7819a4ac2370392f52fde090742a8a304fadaec747c')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-vapigen
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/vinagre/PKGBUILD b/gnome-unstable/vinagre/PKGBUILD
new file mode 100644
index 000000000..aa5c39dec
--- /dev/null
+++ b/gnome-unstable/vinagre/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 137042 2011-09-05 17:49:53Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Allan McRae <mcrae_allan@hotmail.com>
+# Contributor: lp76 <l.peduto@gmail.com>
+
+pkgname=vinagre
+pkgver=3.1.91
+pkgrel=1
+pkgdesc="A VNC Client for the GNOME Desktop"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnome.org/projects/vinagre/"
+install=vinagre.install
+depends=('libgnome-keyring' 'gtk-vnc' 'avahi' 'desktop-file-utils' 'dconf' 'shared-mime-info' 'gnome-icon-theme')
+optdepends=('rdesktop: RDP plugin')
+makedepends=('gtk-doc' 'intltool' 'rdesktop')
+groups=('gnome-extra')
+options=('!emptydirs' '!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('6e62ce78e0fb867444f4403668684c05394f55d1f3468f725297431b1a14fbc8')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-scrollkeeper \
+ --libexecdir=/usr/lib/vinagre --enable-rdp --disable-spice
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/vinagre/vinagre.install b/gnome-unstable/vinagre/vinagre.install
new file mode 100644
index 000000000..68158ac80
--- /dev/null
+++ b/gnome-unstable/vinagre/vinagre.install
@@ -0,0 +1,20 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-mime-database usr/share/mime > /dev/null
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.91.91-2) < 0 )); then
+ usr/sbin/gconfpkg --uninstall vinagre
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/vino/PKGBUILD b/gnome-unstable/vino/PKGBUILD
new file mode 100644
index 000000000..9056c890d
--- /dev/null
+++ b/gnome-unstable/vino/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 137043 2011-09-05 17:54:42Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=vino
+pkgver=3.1.91
+pkgrel=1
+pkgdesc="a VNC server for the GNOME desktop"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libnotify' 'libxtst' 'libsm' 'libsoup' 'telepathy-glib' 'gtk3' 'libgnome-keyring' 'avahi' 'desktop-file-utils')
+makedepends=('intltool' 'networkmanager')
+groups=('gnome-extra')
+url="http://www.gnome.org"
+options=(!emptydirs)
+install=vino.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('07f841812c9b30722374693b6e28c0dea34b1037b2afeefd5873394bf3a6001c')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/vino \
+ --localstatedir=/var \
+ --enable-gnome-keyring \
+ --enable-avahi
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/vino/vino.install b/gnome-unstable/vino/vino.install
new file mode 100644
index 000000000..469266843
--- /dev/null
+++ b/gnome-unstable/vino/vino.install
@@ -0,0 +1,18 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall vino
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/vte3/PKGBUILD b/gnome-unstable/vte3/PKGBUILD
new file mode 100644
index 000000000..66c5b1c87
--- /dev/null
+++ b/gnome-unstable/vte3/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 136681 2011-08-31 13:42:14Z ibiru $
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+
+pkgbase=vte3
+pkgname=(vte3 vte-common)
+pkgver=0.29.1
+pkgrel=1
+pkgdesc="Virtual Terminal Emulator widget for use with"
+arch=('i686' 'x86_64')
+license=('LGPL')
+options=('!libtool' '!emptydirs')
+makedepends=('intltool' 'gobject-introspection' 'gtk3')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/GNOME/sources/vte/0.29/vte-${pkgver}.tar.xz)
+sha256sums=('5f846c2763eaac95bb15b99dd212d76ec7d723c1c6f81a8b562143f6eaf2ba9e')
+
+build() {
+ cd "${srcdir}/vte-${pkgver}"
+ #warning: type-punning to incomplete type might break strict-aliasing rules
+ export CFLAGS="$CFLAGS -fno-strict-aliasing"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/vte \
+ --localstatedir=/var --disable-static \
+ --enable-introspection
+ make
+}
+
+package_vte3(){
+ pkgdesc+=" GTK3"
+ depends=('gtk3' 'vte-common')
+ cd "${srcdir}/vte-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm "${pkgdir}"/usr/lib/vte/gnome-pty-helper
+}
+
+package_vte-common() {
+ pkgdesc="Common files used by vte and vte3"
+ cd "${srcdir}/vte-${pkgver}"
+
+ make -C gnome-pty-helper DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/yelp/PKGBUILD b/gnome-unstable/yelp/PKGBUILD
new file mode 100644
index 000000000..e40d624d5
--- /dev/null
+++ b/gnome-unstable/yelp/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 137190 2011-09-06 12:59:23Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=yelp
+pkgver=3.1.3
+pkgrel=1
+pkgdesc="A help browser for GNOME"
+arch=('i686' 'x86_64')
+depends=('libwebkit3' 'yelp-xsl' 'libxslt' 'hicolor-icon-theme' 'dbus-glib'
+ 'xz' 'bzip2' 'desktop-file-utils' 'dconf')
+makedepends=('intltool' 'gtk-doc')
+groups=('gnome')
+license=('GPL')
+options=('!emptydirs' '!libtool')
+url="http://www.gnome.org"
+install=yelp.install
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('9a72c8de7b72d1a1c17184d6c21372fd47254a0cd7452d4ae6d98a8a39f6f88b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/gnome-unstable/yelp/yelp.install b/gnome-unstable/yelp/yelp.install
new file mode 100644
index 000000000..f3bf19a93
--- /dev/null
+++ b/gnome-unstable/yelp/yelp.install
@@ -0,0 +1,19 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall yelp
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/zenity/PKGBUILD b/gnome-unstable/zenity/PKGBUILD
new file mode 100644
index 000000000..99f17bd34
--- /dev/null
+++ b/gnome-unstable/zenity/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136775 2011-09-01 13:47:15Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=zenity
+pkgver=3.1.5
+pkgrel=1
+pkgdesc="Display graphical dialog boxes from shell scripts"
+arch=(i686 x86_64)
+license=('LGPL')
+depends=('gtk3' 'libnotify')
+makedepends=('intltool' 'gtk-doc')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('60203b4178cfdba8ec28eb0a36ea469befb9b07f39b9695d4c6f1b0d0c7ddc7b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-scrollkeeper
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/alex/PKGBUILD b/testing/alex/PKGBUILD
new file mode 100644
index 000000000..b11156af0
--- /dev/null
+++ b/testing/alex/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 128111 2011-06-22 10:56:28Z vesa $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
+# Contributor: Philip Nilsson <pnilsson@nullref.se>
+
+pkgname=alex
+pkgver=2.3.5
+pkgrel=1.3
+pkgdesc='a lexical analyser generator for Haskell'
+arch=('i686' 'x86_64')
+url='http://www.haskell.org/alex/'
+license=('custom:BSD3')
+depends=('gmp')
+makedepends=('ghc=7.0.3')
+source=("http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ runghc Setup.lhs configure --prefix=/usr --datasubdir=$pkgname
+ runghc Setup.lhs build
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ runghc Setup.lhs copy --destdir=$pkgdir
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/alex/BSD3
+
+ # doc/ contains only license which already installed into proper place
+ rm -rf $pkgdir/usr/share/doc
+}
+md5sums=('5e08c688ded0dcff98eaad6fc03a9402')
diff --git a/testing/cabal-install/PKGBUILD b/testing/cabal-install/PKGBUILD
new file mode 100644
index 000000000..0529e034c
--- /dev/null
+++ b/testing/cabal-install/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+pkgname=cabal-install
+pkgver=0.10.2
+pkgrel=1.1
+pkgdesc="The command-line interface for Cabal and Hackage."
+url="http://hackage.haskell.org/package/cabal-install"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=('ghc=7.0.3' 'haskell-http>=4000.1.1' 'haskell-zlib')
+depends=('gmp' zlib)
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/cabal-install/$pkgver/cabal-install-$pkgver.tar.gz)
+
+build() {
+ cd $srcdir/cabal-install-$pkgver
+ runhaskell Setup configure --enable-shared --enable-split-objs --enable-executable-stripping --prefix=/usr
+ runhaskell Setup build
+}
+
+package() {
+ cd $srcdir/cabal-install-$pkgver
+ runhaskell Setup copy --destdir=$pkgdir
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
+md5sums=('bc906ef0bed79cbb33fdb36b73514281')
diff --git a/testing/curl/PKGBUILD b/testing/curl/PKGBUILD
new file mode 100644
index 000000000..03214f302
--- /dev/null
+++ b/testing/curl/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id: PKGBUILD 138498 2011-09-25 14:51:49Z dreisner $
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=curl
+pkgver=7.22.0
+pkgrel=2
+pkgdesc="An URL retrival utility and library"
+arch=('i686' 'x86_64')
+url="http://curl.haxx.se"
+license=('MIT')
+depends=('libssh2' 'openssl' 'zlib')
+makedepends=('perl-libwww')
+options=('!libtool')
+source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
+ curlbuild.h)
+md5sums=('e8c36126d21c893f085aca233906b5cc'
+ '1b061c348b63ea3e90c3f2c3af6a08d6'
+ '751bd433ede935c8fae727377625a8ae')
+
+ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d')
+case $ptrsize in
+ 8) _curlbuild=curlbuild-64.h ;;
+ 4) _curlbuild=curlbuild-32.h ;;
+ *) error "unknown pointer size for architecture: %s bytes" "$ptrsize"
+ exit 1
+ ;;
+esac
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --disable-dependency-tracking \
+ --disable-ldap \
+ --disable-ldaps \
+ --enable-ipv6 \
+ --enable-manual \
+ --enable-versioned-symbols \
+ --enable-threaded-resolver \
+ --without-libidn \
+ --with-random=/dev/urandom \
+ --with-ca-bundle=/etc/ssl/certs/ca-bundle.crt
+ make
+
+ perl lib/mk-ca-bundle.pl
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # license
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+ # cert bundle
+ install -Dm644 ca-bundle.crt "$pkgdir/etc/ssl/certs/ca-bundle.crt"
+
+ # devel
+ install -Dm644 docs/libcurl/libcurl.m4 "$pkgdir/usr/share/aclocal/libcurl.m4"
+ mv "$pkgdir/usr/include/curl/curlbuild.h" "$pkgdir/usr/include/curl/$_curlbuild"
+ install -m644 "$srcdir/curlbuild.h" "$pkgdir/usr/include/curl/curlbuild.h"
+}
diff --git a/testing/curl/curlbuild.h b/testing/curl/curlbuild.h
new file mode 100644
index 000000000..b48862696
--- /dev/null
+++ b/testing/curl/curlbuild.h
@@ -0,0 +1,9 @@
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "curlbuild-32.h"
+#elif __WORDSIZE == 64
+#include "curlbuild-64.h"
+#else
+#error "Unknown word size"
+#endif
diff --git a/testing/happy/PKGBUILD b/testing/happy/PKGBUILD
new file mode 100644
index 000000000..d5303e80e
--- /dev/null
+++ b/testing/happy/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 128129 2011-06-22 11:27:01Z vesa $
+# Maintainer: simo <simo@archlinux.org>
+# Contributor: Vesa Kaihlavirta <vegai@iki.fi>
+
+pkgname=happy
+pkgver=1.18.6
+pkgrel=1.2
+pkgdesc="The Parser Generator for Haskell"
+url="http://www.haskell.org/happy/"
+arch=('i686' 'x86_64')
+license=("custom:BSD3")
+depends=(gmp)
+makedepends=(ghc=7.0.3 haskell-mtl=2.0.1.0)
+options=(strip)
+source=(http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz)
+md5sums=('7d4d1425f5068633cd477a2b2216880d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ runhaskell Setup.lhs configure -O --prefix=/usr
+ runhaskell Setup.lhs build
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ runhaskell Setup.lhs copy --destdir="${pkgdir}"
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
diff --git a/testing/icedtea-web-java7/PKGBUILD b/testing/icedtea-web-java7/PKGBUILD
new file mode 100644
index 000000000..91d3c1290
--- /dev/null
+++ b/testing/icedtea-web-java7/PKGBUILD
@@ -0,0 +1,95 @@
+# $Id: PKGBUILD 136836 2011-09-02 07:59:01Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgbase=icedtea-web-java7
+pkgname=('icedtea-web-java7' 'icedtea-web-java7-doc')
+pkgver=1.1.3
+_date=20110925
+pkgrel=0.${_date}.1
+arch=('i686' 'x86_64')
+url="http://icedtea.classpath.org/wiki/IcedTea-Web"
+license=('GPL2')
+makedepends=('jdk7-openjdk' 'zip' 'xulrunner')
+source=(ftp://ftp.archlinux.org/other/$pkgname/${pkgbase}-${_date}.tar.xz)
+ #http://icedtea.classpath.org/download/source/${pkgname}-${pkgver}.tar.gz
+md5sums=('5da8a5aa74fb92fcb84cb9921c909ab1')
+sha1sums=('b9b1fb5ee4f280945cd22731af49f25038592607')
+
+_javaver=7
+_jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk
+
+mksource() {
+ mkdir /tmp/${pkgbase}-${_date}
+ pushd /tmp/${pkgbase}-${_date}
+ hg clone http://icedtea.classpath.org/hg/icedtea-web ${pkgbase}-${_date}
+ rm -rf ${pkgbase}-${_date}/.hg*
+ tar -cvJf /tmp/${pkgbase}-${_date}/${pkgbase}-${_date}.tar.xz *
+ popd
+}
+
+build() {
+ cd "${srcdir}"/icedtea-web* #${pkgname}-${_date}"
+
+ #. /etc/profile.d/jre.sh
+ . /etc/profile.d/jre7-openjdk.sh
+ #. /etc/profile.d/jdk.sh
+ . /etc/profile.d/jdk7-openjdk.sh
+
+ autoreconf --force --install
+
+ ./configure --prefix=${_jvmdir} \
+ --datarootdir=/usr/share \
+ --with-jdk-home=${_jvmdir}
+ make
+}
+
+check() {
+ cd "${srcdir}"/icedtea-web* #${pkgname}-${_date}"
+ make -k check
+}
+
+
+package_icedtea-web-java7() {
+
+ pkgdesc="provides a Free Software web browser plugin running applets written in the Java programming language and an implementation of Java Web Start, originally based on the NetX project"
+ depends=('jre7-openjdk' 'gtk2' 'desktop-file-utils')
+ install=${pkgname}.install
+
+ cd "${srcdir}"/icedtea-web* #${pkgname}-${_date}"
+ # possible make target (see bottom of Makefile.am: install-exec-local install-data-local
+ make DESTDIR="${pkgdir}" install-exec-local install-data-local
+
+ # Install desktop files.
+ install -m755 -d ${pkgdir}/usr/share/{applications,pixmaps}
+ install -m644 javaws.png ${pkgdir}/usr/share/pixmaps
+ install -m644 {javaws,itweb-settings}.desktop ${pkgdir}/usr/share/applications
+ # remove splitted doc files
+ rm -rf ${pkgdir}/usr/share/doc
+
+ # link binaries into /usr/bin + jre/bin
+ install -m755 -d ${pkgdir}/usr/bin
+ install -m755 -d ${pkgdir}/${_jvmdir}/jre/bin
+ pushd ${pkgdir}/${_jvmdir}/bin
+ for file in *; do
+ ln -sf ${_jvmdir}/bin/${file} ${pkgdir}/usr/bin
+ ln -sf ${_jvmdir}/bin/${file} ${pkgdir}/${_jvmdir}/jre/bin
+ done
+ popd
+
+ # link the mozilla-plugin - test it here http://www.java.com/en/download/help/testvm.xml
+ install -m755 -d ${pkgdir}/usr/lib/mozilla/plugins/
+ ln -sf ${_jvmdir}/lib/IcedTeaPlugin.so ${pkgdir}/usr/lib/mozilla/plugins/
+}
+
+package_icedtea-web-java7-doc() {
+
+ pkgdesc="icedtea-web browser plugin + Java WebStart - documentation files"
+
+ cd "${srcdir}"/icedtea-web* #${pkgbase}-${_date}"
+# install -m755 -d ${pkgdir}/${_jvmdir}/jre/lib
+ make DESTDIR="${pkgdir}" install-data-local
+ # remove javaws about and man page
+ rm -rf ${pkgdir}/usr/lib
+ rm -rf ${pkgdir}/usr/share/man
+ rm -rf ${pkgdir}/usr/share/icedtea-web # conflicting and unneeded file it seems
+}
diff --git a/testing/icedtea-web-java7/icedtea-web-java7.install b/testing/icedtea-web-java7/icedtea-web-java7.install
new file mode 100644
index 000000000..80312d4a6
--- /dev/null
+++ b/testing/icedtea-web-java7/icedtea-web-java7.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/testing/inetutils/PKGBUILD b/testing/inetutils/PKGBUILD
new file mode 100644
index 000000000..13bfe53c3
--- /dev/null
+++ b/testing/inetutils/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 135874 2011-08-19 21:58:07Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=inetutils
+pkgver=1.8
+pkgrel=4
+pkgdesc="A collection of common network programs"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/inetutils/"
+license=('GPL')
+groups=('base')
+depends=('readline' 'ncurses' 'pam')
+provides=('netkit-ftp' 'netkit-rsh' 'netkit-telnet' 'netkit-ntalk')
+conflicts=('netkit-ftp' 'netkit-rsh' 'netkit-telnet' 'netkit-ntalk')
+replaces=('netkit-ftp' 'netkit-rsh' 'netkit-telnet' 'netkit-ntalk')
+backup=('etc/conf.d/ftpd' 'etc/xinetd.d/telnet' 'etc/xinetd.d/talk' \
+ 'etc/xinetd.d/rexec' 'etc/xinetd.d/rlogin' 'etc/xinetd.d/rsh')
+options=('!emptydirs')
+install=inetutils.install
+source=(http://ftp.gnu.org/gnu/inetutils/${pkgname}-${pkgver}.tar.gz \
+ ftpd.rc ftpd.conf telnet.xinetd talk.xinetd rexec.xinetd rlogin.xinetd rsh.xinetd \
+ dnsdomainname domainname)
+md5sums=('ad8fdcdf1797b9ca258264a6b04e48fd'
+ 'c167200f6faeb64659e69ced2a9d672a'
+ 'e6e6e5990a2e8159a276fef8fbf54c04'
+ '8596208d119045543c5fb644e1d713d5'
+ '2c3655985cf122591d71d031af84ff90'
+ 'c490ea36751ac5f1d61d2c014959a3d1'
+ 'c25d8382a994de84d9c6962d804f689b'
+ 'c3aa508a9d1293a787341108cd49c1b7'
+ 'e38d244b31657a3c133109195aa30b45'
+ '3b17bf7d656b32d6d991792b1a2bc393')
+sha1sums=('598445859b511f73681e4d74a41d65cd6ae0f83e'
+ '84dc802b5e57b5e04c847572225a3b9612017155'
+ '68a590083b45997dfdb80e666b2de762f494ba74'
+ 'bfad98a4a62f1fff8779f076c6019ed07f9111af'
+ '27d99b910eec0fc26bd79ccc2c1de26608330298'
+ '87aa4f38ebee9dac5dcaa04cbc3f2f0906bec605'
+ '81f10b3b688e3952f793b35bcef63b5bf257a92b'
+ '81f4a8da823cf0bb14284fc71ee6108849691eda'
+ 'e94d1ebbef7464aff909d7a978636f87f3377522'
+ '03780e038f13660564d7dd9d8e1f1b6a4ebd6135')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --libexec=/usr/sbin --localstatedir=/var \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --without-wrap --with-pam \
+ --enable-ftp --enable-ftpd \
+ --enable-telnet --enable-telnetd \
+ --enable-talk --enable-talkd \
+ --enable-rlogin --enable-rlogind \
+ --enable-rsh --enable-rshd \
+ --enable-rexec --enable-rexecd \
+ --enable-rcp --enable-hostname \
+ --disable-tftp --disable-tftpd \
+ --disable-ping --disable-ping6 \
+ --disable-logger --disable-syslogd \
+ --disable-inetd --disable-whois \
+ --disable-uucpd --disable-ifconfig --disable-traceroute
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -d "${pkgdir}/bin"
+ ln -s /usr/bin/hostname "${pkgdir}/bin/hostname"
+ install -D -m755 "${srcdir}/domainname" "${pkgdir}/bin/domainname"
+ install -D -m755 "${srcdir}/dnsdomainname" "${pkgdir}/bin/dnsdomainname"
+ install -D -m755 "${srcdir}/ftpd.rc" "${pkgdir}/etc/rc.d/ftpd"
+ install -D -m644 "${srcdir}/ftpd.conf" "${pkgdir}/etc/conf.d/ftpd"
+ install -D -m644 "${srcdir}/telnet.xinetd" "${pkgdir}/etc/xinetd.d/telnet"
+ install -D -m644 "${srcdir}/talk.xinetd" "${pkgdir}/etc/xinetd.d/talk"
+ install -D -m644 "${srcdir}/rexec.xinetd" "${pkgdir}/etc/xinetd.d/rexec"
+ install -D -m644 "${srcdir}/rlogin.xinetd" "${pkgdir}/etc/xinetd.d/rlogin"
+ install -D -m644 "${srcdir}/rsh.xinetd" "${pkgdir}/etc/xinetd.d/rsh"
+}
diff --git a/testing/inetutils/dnsdomainname b/testing/inetutils/dnsdomainname
new file mode 100644
index 000000000..c1a251161
--- /dev/null
+++ b/testing/inetutils/dnsdomainname
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+hostname -y "$@"
diff --git a/testing/inetutils/domainname b/testing/inetutils/domainname
new file mode 100644
index 000000000..093fdb0ec
--- /dev/null
+++ b/testing/inetutils/domainname
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+hostname -d "$@"
diff --git a/testing/inetutils/ftpd.conf b/testing/inetutils/ftpd.conf
new file mode 100644
index 000000000..f660f0035
--- /dev/null
+++ b/testing/inetutils/ftpd.conf
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to ftpd
+#
+FTPD_ARGS=""
diff --git a/testing/inetutils/ftpd.rc b/testing/inetutils/ftpd.rc
new file mode 100644
index 000000000..3d0d34421
--- /dev/null
+++ b/testing/inetutils/ftpd.rc
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/ftpd
+
+PID=$(pidof -o %PPID /usr/sbin/ftpd)
+case "$1" in
+ start)
+ stat_busy "Starting ftpd"
+ [ -z "$PID" ] && /usr/sbin/ftpd -D $FTPD_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon ftpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping ftpd"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon ftpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/inetutils/inetutils.install b/testing/inetutils/inetutils.install
new file mode 100644
index 000000000..b338fa498
--- /dev/null
+++ b/testing/inetutils/inetutils.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(inetutils.info.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/inetutils/rexec.xinetd b/testing/inetutils/rexec.xinetd
new file mode 100644
index 000000000..4659e4745
--- /dev/null
+++ b/testing/inetutils/rexec.xinetd
@@ -0,0 +1,10 @@
+service exec
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/rexecd
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/inetutils/rlogin.xinetd b/testing/inetutils/rlogin.xinetd
new file mode 100644
index 000000000..5c72f86df
--- /dev/null
+++ b/testing/inetutils/rlogin.xinetd
@@ -0,0 +1,10 @@
+service login
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/rlogind
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/inetutils/rsh.xinetd b/testing/inetutils/rsh.xinetd
new file mode 100644
index 000000000..a13738c31
--- /dev/null
+++ b/testing/inetutils/rsh.xinetd
@@ -0,0 +1,10 @@
+service shell
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/rshd
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/inetutils/talk.xinetd b/testing/inetutils/talk.xinetd
new file mode 100644
index 000000000..6abef359c
--- /dev/null
+++ b/testing/inetutils/talk.xinetd
@@ -0,0 +1,10 @@
+service ntalk
+{
+ flags = REUSE
+ socket_type = dgram
+ wait = yes
+ user = root
+ server = /usr/sbin/talkd
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/inetutils/telnet.xinetd b/testing/inetutils/telnet.xinetd
new file mode 100644
index 000000000..bd3a5e4b1
--- /dev/null
+++ b/testing/inetutils/telnet.xinetd
@@ -0,0 +1,10 @@
+service telnet
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/telnetd
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/net-tools/PKGBUILD b/testing/net-tools/PKGBUILD
new file mode 100644
index 000000000..c12969f29
--- /dev/null
+++ b/testing/net-tools/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 136068 2011-08-22 12:40:31Z allan $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=net-tools
+pkgver=1.60.20110819cvs
+pkgrel=1
+pkgdesc="Configuration tools for Linux networking"
+arch=(i686 x86_64)
+license=('GPL2')
+url="http://www.tazenda.demon.co.uk/phil/net-tools"
+depends=('glibc')
+
+# http://www.tazenda.demon.co.uk/phil/$pkgname/$pkgname-$pkgver.tar.bz2
+# use cvs checkout instead
+source=(ftp://ftp.archlinux.org/other/net-tools/net-tools-1.60.20110819cvs.tar.bz2
+ net-tools-1.60-miiioctl.patch
+ net-tools-1.60-nameif_strncpy.patch)
+options=(!makeflags)
+install=net-tools.install
+sha1sums=('02946449191ff279f9f0f7fd7bc65ae21059a2bf'
+ '654a96bc6575efb4a2e04b49de45d448d240eb6e'
+ '7888000d8fe867e58b5b00fe2bcf6c3041d716b4')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -Np1 -i ../net-tools-1.60-miiioctl.patch
+ patch -Np1 -i ${srcdir}/net-tools-1.60-nameif_strncpy.patch
+ yes "" | make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make BASEDIR=$pkgdir update
+
+ # the following is provided by yp-tools
+ rm "${pkgdir}"/bin/{nis,yp}domainname
+ rm "${pkgdir}"/usr/share/man/man1/{nis,yp}domainname.1
+
+ # hostname is provided by inetutils
+ rm "${pkgdir}"/bin/{hostname,dnsdomainname,domainname}
+ rm -rf "${pkgdir}"/usr/share/man/man1
+}
diff --git a/testing/net-tools/gcc340.patch b/testing/net-tools/gcc340.patch
new file mode 100644
index 000000000..8089bf217
--- /dev/null
+++ b/testing/net-tools/gcc340.patch
@@ -0,0 +1,46 @@
+diff -Naur net-tools-1.60-orig/hostname.c net-tools-1.60/hostname.c
+--- net-tools-1.60-orig/hostname.c 2001-04-08 10:04:23.000000000 -0700
++++ net-tools-1.60/hostname.c 2004-05-07 17:22:14.000000000 -0700
+@@ -78,6 +78,7 @@
+ fprintf(stderr, _("%s: name too long\n"), program_name);
+ break;
+ default:
++ ;
+ }
+ exit(1);
+ }
+@@ -98,6 +99,7 @@
+ fprintf(stderr, _("%s: name too long\n"), program_name);
+ break;
+ default:
++ ;
+ }
+ exit(1);
+ };
+@@ -117,6 +119,7 @@
+ fprintf(stderr, _("%s: name too long\n"), program_name);
+ break;
+ default:
++ ;
+ }
+ exit(1);
+ };
+@@ -174,6 +177,7 @@
+ printf("%s\n", hp->h_name);
+ break;
+ default:
++ ;
+ }
+ }
+
+diff -Naur net-tools-1.60-orig/lib/inet_sr.c net-tools-1.60/lib/inet_sr.c
+--- net-tools-1.60-orig/lib/inet_sr.c 2000-02-20 13:46:45.000000000 -0800
++++ net-tools-1.60/lib/inet_sr.c 2004-05-07 17:20:14.000000000 -0700
+@@ -105,6 +105,7 @@
+ case 2:
+ isnet = 0; break;
+ default:
++ ;
+ }
+
+ /* Fill in the other fields. */
diff --git a/testing/net-tools/net-tools-1.60-2.6-compilefix.patch b/testing/net-tools/net-tools-1.60-2.6-compilefix.patch
new file mode 100644
index 000000000..92ce90128
--- /dev/null
+++ b/testing/net-tools/net-tools-1.60-2.6-compilefix.patch
@@ -0,0 +1,23 @@
+diff -ruN net-tools-1.60.orig/lib/x25_sr.c net-tools-1.60/lib/x25_sr.c
+--- net-tools-1.60.orig/lib/x25_sr.c 2000-05-20 15:38:10.000000000 +0200
++++ net-tools-1.60/lib/x25_sr.c 2003-10-18 20:33:31.927574928 +0200
+@@ -22,6 +22,7 @@
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
+ #include <linux/x25.h>
++#include <linux/version.h>
+ #include <ctype.h>
+ #include <errno.h>
+ #include <netdb.h>
+@@ -77,7 +78,11 @@
+ rt.sigdigits=sigdigits;
+
+ /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
+ memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address));
++#else
++ memcpy(&rt.address, &sx25.sx25_addr, sizeof(struct x25_address));
++#endif
+
+ while (*args) {
+ if (!strcmp(*args,"device") || !strcmp(*args,"dev")) {
diff --git a/testing/net-tools/net-tools-1.60-miiioctl.patch b/testing/net-tools/net-tools-1.60-miiioctl.patch
new file mode 100644
index 000000000..6c7f0693d
--- /dev/null
+++ b/testing/net-tools/net-tools-1.60-miiioctl.patch
@@ -0,0 +1,17 @@
+--- net-tools-1.60.20110819cvs/include/mii.h 2011-08-19 10:14:00.743873299 +0200
++++ net-tools-1.60.20110819cvs/include/mii.h.new 2011-08-19 10:28:26.500524160 +0200
+@@ -14,11 +14,9 @@
+ /* network interface ioctl's for MII commands */
+ #ifndef SIOCGMIIPHY
+ #warning "SIOCGMIIPHY is not defined by your kernel source"
+-#define SIOCGMIIPHY (SIOCDEVPRIVATE) /* Read from current PHY */
+-#define SIOCGMIIREG (SIOCDEVPRIVATE+1) /* Read any PHY register */
+-#define SIOCSMIIREG (SIOCDEVPRIVATE+2) /* Write any PHY register */
+-#define SIOCGPARAMS (SIOCDEVPRIVATE+3) /* Read operational parameters */
+-#define SIOCSPARAMS (SIOCDEVPRIVATE+4) /* Set operational parameters */
++#define SIOCGMIIPHY 0x8947 /* Read from current PHY */
++#define SIOCGMIIREG 0x8948 /* Read any PHY register */
++#define SIOCSMIIREG 0x8949 /* Write any PHY register */
+ #endif
+
+ #include <linux/types.h>
diff --git a/testing/net-tools/net-tools-1.60-nameif.patch b/testing/net-tools/net-tools-1.60-nameif.patch
new file mode 100644
index 000000000..54def00c2
--- /dev/null
+++ b/testing/net-tools/net-tools-1.60-nameif.patch
@@ -0,0 +1,58 @@
+--- net-tools-1.60/nameif.c.nameif 2000-10-18 19:26:29.000000000 +0200
++++ net-tools-1.60/nameif.c 2003-03-19 11:02:01.000000000 +0100
+@@ -117,7 +117,8 @@
+ }
+
+ struct change {
+- struct change *next,**pprev;
++ struct change *next;
++ int found;
+ char ifname[IFNAMSIZ+1];
+ unsigned char mac[6];
+ };
+@@ -139,10 +140,7 @@
+ ch->ifname, pos);
+ if (parsemac(p,ch->mac) < 0)
+ complain(_("cannot parse MAC `%s' at %s"), p, pos);
+- if (clist)
+- clist->pprev = &ch->next;
+ ch->next = clist;
+- ch->pprev = &clist;
+ clist = ch;
+ return 0;
+ }
+@@ -200,7 +198,7 @@
+
+ void usage(void)
+ {
+- fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}"));
++ fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}\n"));
+ exit(1);
+ }
+
+@@ -277,21 +275,21 @@
+ ch = lookupmac(mac);
+ if (!ch)
+ continue;
+-
+- *ch->pprev = ch->next;
++
++ ch->found = 1;
+ if (strcmp(p, ch->ifname)) {
+ if (setname(p, ch->ifname) < 0)
+ complain(_("cannot change name of %s to %s: %s"),
+ p, ch->ifname, strerror(errno));
+ }
+- free(ch);
+ }
+ fclose(ifh);
+
+ while (clist) {
+ struct change *ch = clist;
+ clist = clist->next;
+- warning(_("interface '%s' not found"), ch->ifname);
++ if (!ch->found)
++ warning(_("interface '%s' not found"), ch->ifname);
+ free(ch);
+ }
+
diff --git a/testing/net-tools/net-tools-1.60-nameif_strncpy.patch b/testing/net-tools/net-tools-1.60-nameif_strncpy.patch
new file mode 100644
index 000000000..7568e21a2
--- /dev/null
+++ b/testing/net-tools/net-tools-1.60-nameif_strncpy.patch
@@ -0,0 +1,13 @@
+--- net-tools-1.60/nameif.c.ncpy 2006-10-03 14:24:21.000000000 +0200
++++ net-tools-1.60/nameif.c 2006-10-03 14:22:43.000000000 +0200
+@@ -100,8 +100,8 @@
+ struct ifreq ifr;
+ opensock();
+ memset(&ifr,0,sizeof(struct ifreq));
+- strcpy(ifr.ifr_name, oldname);
+- strcpy(ifr.ifr_newname, newname);
++ strncpy(ifr.ifr_name, oldname, IF_NAMESIZE);
++ strncpy(ifr.ifr_newname, newname, IF_NAMESIZE);
+ return ioctl(ctl_sk, SIOCSIFNAME, &ifr);
+ }
+
diff --git a/testing/net-tools/net-tools.install b/testing/net-tools/net-tools.install
new file mode 100644
index 000000000..9eee9e51b
--- /dev/null
+++ b/testing/net-tools/net-tools.install
@@ -0,0 +1,12 @@
+post_upgrade() {
+ if [ "$(vercmp $2 1.60-16)" -lt 0 ]; then
+ echo "hostname and {,yp,nis}domainname has moved:"
+ echo "----------"
+ echo "hostname is now in coreutils"
+ echo "domainname is now in yp-tools"
+ echo "their functionality might have changed slightly"
+ echo ""
+ echo "dnsdomainname remains in net-tools"
+ echo "----------"
+ fi
+}
diff --git a/testing/net-tools/net-tools.patch b/testing/net-tools/net-tools.patch
new file mode 100644
index 000000000..8af2d2159
--- /dev/null
+++ b/testing/net-tools/net-tools.patch
@@ -0,0 +1,30 @@
+diff -Naur net-tools-1.60-orig/mii-tool.c net-tools-1.60/mii-tool.c
+--- net-tools-1.60-orig/mii-tool.c 2000-05-21 07:31:17.000000000 -0700
++++ net-tools-1.60/mii-tool.c 2004-05-31 12:35:21.000000000 -0700
+@@ -379,16 +379,16 @@
+ /*--------------------------------------------------------------------*/
+
+ const char *usage =
+-"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]
+- -V, --version display version information
+- -v, --verbose more verbose output
+- -R, --reset reset MII to poweron state
+- -r, --restart restart autonegotiation
+- -w, --watch monitor for link status changes
+- -l, --log with -w, write events to syslog
+- -A, --advertise=media,... advertise only specified media
+- -F, --force=media force specified media technology
+-media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
++"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]\n\
++ -V, --version display version information\n\
++ -v, --verbose more verbose output\n\
++ -R, --reset reset MII to poweron state\n\
++ -r, --restart restart autonegotiation\n\
++ -w, --watch monitor for link status changes\n\
++ -l, --log with -w, write events to syslog\n\
++ -A, --advertise=media,... advertise only specified media\n\
++ -F, --force=media force specified media technology\n\
++media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,\n\
+ (to advertise both HD and FD) 100baseTx, 10baseT\n";
+
+ int main(int argc, char **argv)
diff --git a/testing/nspr/PKGBUILD b/testing/nspr/PKGBUILD
new file mode 100644
index 000000000..90dbcb6f6
--- /dev/null
+++ b/testing/nspr/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 136448 2011-08-29 14:19:50Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+pkgname=nspr
+pkgver=4.8.9
+pkgrel=2
+pkgdesc="Netscape Portable Runtime"
+arch=(i686 x86_64)
+url="http://www.mozilla.org/projects/nspr/"
+license=('MPL' 'GPL')
+depends=('glibc')
+makedepends=('zip')
+options=(!emptydirs)
+source=(ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/${pkgname}-${pkgver}.tar.gz
+ nspr.pc.in)
+md5sums=('60770d45dc08c0f181b22cdfce5be3e8'
+ 'bce1611f3117b53fc904cab549c09967')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ if [ "$CARCH" = "x86_64" ]; then
+ confflags="--enable-64bit"
+ else
+ confflags=""
+ fi
+
+ sed -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
+ -i mozilla/nsprpub/config/rules.mk
+
+ ./mozilla/nsprpub/configure \
+ --prefix=/usr \
+ --libdir=/usr/lib \
+ --includedir=/usr/include/nspr \
+ --enable-optimize \
+ --disable-debug ${confflags}
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ NSPR_LIBS=`./config/nspr-config --libs`
+ NSPR_CFLAGS=`./config/nspr-config --cflags`
+ NSPR_VERSION=`./config/nspr-config --version`
+ install -m755 -d "${pkgdir}/usr/lib/pkgconfig"
+ sed "${srcdir}/nspr.pc.in" -e "s,%libdir%,/usr/lib," \
+ -e "s,%prefix%,/usr," \
+ -e "s,%exec_prefix%,/usr/bin," \
+ -e "s,%includedir%,/usr/include/nspr," \
+ -e "s,%NSPR_VERSION%,${NSPR_VERSION}," \
+ -e "s,%FULL_NSPR_LIBS%,${NSPR_LIBS}," \
+ -e "s,%FULL_NSPR_CFLAGS%,${NSPR_CFLAGS}," > "${pkgdir}/usr/lib/pkgconfig/nspr.pc"
+ chmod 644 "${pkgdir}/usr/lib/pkgconfig/nspr.pc"
+ ln -sf nspr.pc "${pkgdir}/usr/lib/pkgconfig/mozilla-nspr.pc"
+
+ chmod 644 ${pkgdir}/usr/lib/*.a
+
+ rm -rf "${pkgdir}/usr/bin/compile-et.pl" \
+ "${pkgdir}/usr/bin/prerr.properties" \
+ "${pkgdir}/usr/share/aclocal/nspr.m4" \
+ "${pkgdir}/usr/include/nspr/md"
+}
diff --git a/testing/nspr/nspr.pc.in b/testing/nspr/nspr.pc.in
new file mode 100644
index 000000000..1d8f4a0ca
--- /dev/null
+++ b/testing/nspr/nspr.pc.in
@@ -0,0 +1,10 @@
+prefix=%prefix%
+exec_prefix=%exec_prefix%
+libdir=%libdir%
+includedir=%includedir%
+
+Name: NSPR
+Description: The Netscape Portable Runtime
+Version: %NSPR_VERSION%
+Libs: %FULL_NSPR_LIBS%
+Cflags: %FULL_NSPR_CFLAGS%
diff --git a/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch b/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
new file mode 100644
index 000000000..1404460df
--- /dev/null
+++ b/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
@@ -0,0 +1,83 @@
+From bb249b0b26c2e79a6f55355ef94889070f07fd21 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Thu, 28 Apr 2011 09:18:54 +0300
+Subject: [PATCH] Append CFLAGS and LDFLAGS to their Config.pm counterparts in
+ EU::CBuilder
+
+Since ExtUtils::CBuilder 0.27_04 (bleadperl commit 06e8058f27e4),
+CFLAGS and LDFLAGS from the environment have overridden the Config.pm
+ccflags and ldflags settings. This can cause binary incompatibilities
+between the core Perl and extensions built with EU::CBuilder.
+
+Append to the Config.pm values rather than overriding them.
+---
+ .../lib/ExtUtils/CBuilder/Base.pm | 6 +++-
+ dist/ExtUtils-CBuilder/t/04-base.t | 25 +++++++++++++++++++-
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
+index b572312..2255c51 100644
+--- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
++++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
+@@ -40,11 +40,13 @@ sub new {
+ $self->{config}{$k} = $v unless exists $self->{config}{$k};
+ }
+ $self->{config}{cc} = $ENV{CC} if defined $ENV{CC};
+- $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS};
++ $self->{config}{ccflags} = join(" ", $self->{config}{ccflags}, $ENV{CFLAGS})
++ if defined $ENV{CFLAGS};
+ $self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX};
+ $self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS};
+ $self->{config}{ld} = $ENV{LD} if defined $ENV{LD};
+- $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS};
++ $self->{config}{ldflags} = join(" ", $self->{config}{ldflags}, $ENV{LDFLAGS})
++ if defined $ENV{LDFLAGS};
+
+ unless ( exists $self->{config}{cxx} ) {
+ my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
+diff --git a/dist/ExtUtils-CBuilder/t/04-base.t b/dist/ExtUtils-CBuilder/t/04-base.t
+index c3bf6b5..1bb15aa 100644
+--- a/dist/ExtUtils-CBuilder/t/04-base.t
++++ b/dist/ExtUtils-CBuilder/t/04-base.t
+@@ -1,7 +1,7 @@
+ #! perl -w
+
+ use strict;
+-use Test::More tests => 50;
++use Test::More tests => 64;
+ use Config;
+ use Cwd;
+ use File::Path qw( mkpath );
+@@ -326,6 +326,29 @@ is_deeply( $mksymlists_args,
+ "_prepare_mksymlists_args(): got expected arguments for Mksymlists",
+ );
+
++my %testvars = (
++ CFLAGS => 'ccflags',
++ LDFLAGS => 'ldflags',
++);
++
++while (my ($VAR, $var) = each %testvars) {
++ local $ENV{$VAR};
++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
++ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
++ like($base->{config}{$var}, qr/\Q$Config{$var}/,
++ "honours $var from Config.pm");
++
++ $ENV{$VAR} = "-foo -bar";
++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
++ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
++ like($base->{config}{$var}, qr/\Q$ENV{$VAR}/,
++ "honours $VAR from the environment");
++ like($base->{config}{$var}, qr/\Q$Config{$var}/,
++ "doesn't override $var from Config.pm with $VAR from the environment");
++}
++
+ #####
+
+ for ($source_file, $object_file, $lib_file) {
+--
+1.7.4.4
+
diff --git a/testing/perl/ChangeLog b/testing/perl/ChangeLog
new file mode 100644
index 000000000..9add39e20
--- /dev/null
+++ b/testing/perl/ChangeLog
@@ -0,0 +1,66 @@
+2011-06-22 Angel Velasquez <angvp@archlinux.org>
+ * Added a patch for ExtUtils doesnt overwrite CFLAGS and LDFLAGS
+ * Fixed #FS22197, FS#22441, FS#24767
+ * Rebuilt perl 5.14.1-2 against db 5.2.28
+
+2011-06-16 Angel Velasquez <angvp@archlinux.org>
+ * Fixed #FS24660
+ * Rebuilt against db 5.2.28
+
+2011-05-16 Angel Velasquez <angvp@archlinux.org>
+ * perl 5.14.0
+ * Removed patch for h2ph warning from 5.12.3
+ * Removed provides array, you can use corelist -v 5.14.0 to know the
+ modules included with the perl core, through Module::CoreList (thx j3nnn1
+ for the tip)
+
+2010-11-07 kevin <kevin@archlinux.org>
+
+ * perl 5.12.2-1
+ - Using /usr/bin/*_perl for script directories
+
+2010-11-06 kevin <kevin@archlinux.org>
+
+ - Removed otherlibdirs directive from Configure
+ - Removed /usr/*/perl5/site_perl/5.10.1 from INC
+ - Finally removed legacy dirs /usr/lib/perl5/current and
+ /usr/lib/perl5/site_perl/current from @INC
+
+2010-05-23 kevin <kevin@archlinux.org>
+
+ * perl 5.12.1-2
+ - Francois updated the provides array.
+
+2010-05-23 kevin <kevin@archlinux.org>
+
+ * perl 5.12.1-1
+
+2010-05-16 kevin <kevin@archlinux.org>
+
+ * perl 5.12.0-2
+
+2010-05-12 kevin <kevin@archlinux.org>
+
+ - FS#19411. Removed the for loop in perlbin.sh which didn't work on zsh.
+ This makes the loop variables unnecessary so the script no longer
+ pollutes the user's environment.
+ - FS#19427. Added /usr/*/perl5/site_perl/5.10.1 to otherlibdirs to support
+ user built modules.
+
+2010-05-09 kevin <kevin@archlinux.org>
+
+ * perl 5.12.0-1
+ - Modified perlbin.sh to only add existing dirs to PATH. Fixes FS#17402,
+ path points to non-existant directories
+
+2010-05-07 kevin <kevin@archlinux.org>
+
+ - Added this changelog.
+ - Added -Dinc_version_list=none to fix FS#19136, double entry in @INC.
+ This removes the duplicates and versioned directory entries.
+ - Change scriptdirs to /usr/lib/perl5/{core,vendor,site}_perl/bin to fix
+ Fix FS#13808, binaries don't follow FHS.
+ - Stopped using versioned directories in sitelib and sitearch.
+
+
+# vim: set ft=changelog ts=4 sw=4 et:
diff --git a/testing/perl/PKGBUILD b/testing/perl/PKGBUILD
new file mode 100644
index 000000000..c7fd16191
--- /dev/null
+++ b/testing/perl/PKGBUILD
@@ -0,0 +1,109 @@
+# $Id: PKGBUILD 136841 2011-09-02 08:20:58Z bluewind $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: kevin <kevin.archlinux.org>
+# Contributor: judd <jvinet.zeroflux.org>
+# Contributor: francois <francois.archlinux.org>
+pkgname=perl
+pkgver=5.14.1
+pkgrel=5
+pkgdesc="A highly capable, feature-rich programming language"
+arch=(i686 x86_64)
+license=('GPL' 'PerlArtistic')
+url="http://www.perl.org"
+groups=('base')
+depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh')
+changelog=ChangeLog
+source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
+perlbin.sh
+perlbin.csh
+provides.pl
+0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch)
+install=perl.install
+options=('!makeflags' '!purge')
+md5sums=('97cd306a2c22929cc141a09568f43bb0'
+ '5ed2542fdb9a60682f215bd33701e61a'
+ '1f0cbbee783e8a6d32f01be5118e0d5e'
+ '31fc0b5bb4935414394c5cfbec2cb8e5'
+ 'c25d86206d649046538c3daab7874564')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ # for x86_64
+ arch_opts="-Dcccdlflags='-fPIC'"
+ else
+ # for i686
+ arch_opts=""
+ fi
+ ./Configure -des -Dusethreads -Duseshrplib -Doptimize="${CFLAGS}" \
+ -Dprefix=/usr -Dinstallprefix=${pkgdir}/usr -Dvendorprefix=/usr \
+ -Dprivlib=/usr/share/perl5/core_perl \
+ -Darchlib=/usr/lib/perl5/core_perl \
+ -Dsitelib=/usr/share/perl5/site_perl \
+ -Dsitearch=/usr/lib/perl5/site_perl \
+ -Dvendorlib=/usr/share/perl5/vendor_perl \
+ -Dvendorarch=/usr/lib/perl5/vendor_perl \
+ -Dscriptdir=/usr/bin/core_perl \
+ -Dsitescript=/usr/bin/site_perl \
+ -Dvendorscript=/usr/bin/vendor_perl \
+ -Dinc_version_list=none \
+ -Dman1ext=1perl -Dman3ext=3perl ${arch_opts} \
+ -Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}"
+ patch -Np1 -i $srcdir/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
+ make
+}
+package() {
+ # hack to work around makepkg running the subshell in check_sanity()
+ new_provides=($(cd "$srcdir/perl-$pkgver"; ./perl -Ilib "$srcdir/provides.pl" .))
+ provides=(${new_provides[@]})
+
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install
+
+ ### Perl Settings ###
+ # Change man page extensions for site and vendor module builds.
+ # Use archlinux email address instead of my own.
+ sed -e '/^man1ext=/ s/1perl/1p/' -e '/^man3ext=/ s/3perl/3pm/' \
+ -e "/^cf_email=/ s/'.*'/'kevin@archlinux.org'/" \
+ -e "/^perladmin=/ s/'.*'/'kevin@archlinux.org'/" \
+ -i ${pkgdir}/usr/lib/perl5/core_perl/Config_heavy.pl
+
+ ### CPAN Settings ###
+ # Set CPAN default config to use the site directories.
+ sed -e '/(makepl_arg =>/ s/""/"INSTALLDIRS=site"/' \
+ -e '/(mbuildpl_arg =>/ s/""/"installdirs=site"/' \
+ -i ${pkgdir}/usr/share/perl5/core_perl/CPAN/FirstTime.pm
+
+ ### CPANPLUS Settings ###
+ # Set CPANPLUS default config to use the site directories.
+ sed -e "/{'makemakerflags'}/ s/'';/'INSTALLDIRS=site';/" \
+ -e "/{'buildflags'}/ s/'';/'installdirs=site';/" \
+ -i ${pkgdir}/usr/share/perl5/core_perl/CPANPLUS/Config.pm
+
+ # Profile script to set paths to perl scripts.
+ install -D -m755 ${srcdir}/perlbin.sh \
+ ${pkgdir}/etc/profile.d/perlbin.sh
+ # Profile script to set paths to perl scripts on csh. (FS#22441)
+ install -D -m755 ${srcdir}/perlbin.csh \
+ ${pkgdir}/etc/profile.d/perlbin.csh
+
+ (cd ${pkgdir}/usr/bin; mv perl${pkgver} perl)
+ (cd ${pkgdir}/usr/bin/core_perl; ln -sf c2ph pstruct; ln -sf s2p psed)
+ grep -Rl "${pkgdir}" ${pkgdir}/usr | \
+ xargs sed -i "s^${pkgdir}^^g"
+
+ # Remove all pod files *except* those under /usr/share/perl5/core_perl/pod/
+ # (FS#16488)
+ rm -f $pkgdir/usr/share/perl5/core_perl/*.pod
+ for d in $pkgdir/usr/share/perl5/core_perl/*; do
+ if [ -d $d -a $(basename $d) != "pod" ]; then
+ find $d -name *.pod -delete
+ fi
+ done
+ find $pkgdir/usr/lib -name *.pod -delete
+ find $pkgdir -name .packlist -delete
+ # Add /usr/lib/perl5/core_perl/CORE/ to standard library path (FS#24660)
+ install -dv ${pkgdir}/etc/ld.so.conf.d
+ echo "/usr/lib/perl5/core_perl/CORE" > ${pkgdir}/etc/ld.so.conf.d/perl.conf
+}
diff --git a/testing/perl/fix-h2ph-and-tests.patch b/testing/perl/fix-h2ph-and-tests.patch
new file mode 100644
index 000000000..a2d176ec6
--- /dev/null
+++ b/testing/perl/fix-h2ph-and-tests.patch
@@ -0,0 +1,104 @@
+From 8d66b3f930dc6d88b524d103e304308ae73a46e7 Mon Sep 17 00:00:00 2001
+From: Robin Barker <rmbarker@cpan.org>
+Date: Thu, 22 Apr 2010 11:51:20 +0100
+Subject: [PATCH 1/1] Fix h2ph and test
+
+---
+ lib/h2ph.t | 12 ++++++++++--
+ utils/h2ph.PL | 28 +++++++++++++++++++++++-----
+ 2 files changed, 33 insertions(+), 7 deletions(-)
+
+diff --git a/lib/h2ph.t b/lib/h2ph.t
+index 27dd7b9..8d62d46 100644
+--- a/lib/h2ph.t
++++ b/lib/h2ph.t
+@@ -18,7 +18,7 @@ if (!(-e $extracted_program)) {
+ exit 0;
+ }
+
+-plan(4);
++plan(5);
+
+ # quickly compare two text files
+ sub txt_compare {
+@@ -41,8 +41,16 @@ $result = runperl( progfile => 'lib/h2ph.pht',
+ stderr => 1 );
+ like( $result, qr/syntax OK$/, "output compiles");
+
++$result = runperl( progfile => '_h2ph_pre.ph',
++ switches => ['-c'],
++ stderr => 1 );
++like( $result, qr/syntax OK$/, "preamble compiles");
++
+ $result = runperl( switches => ["-w"],
+- prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);');
++ stderr => 1,
++ prog => <<'PROG' );
++$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);
++PROG
+ is( $result, '', "output free of warnings" );
+
+ # cleanup
+diff --git a/utils/h2ph.PL b/utils/h2ph.PL
+index 8f56db4..1255807 100644
+--- a/utils/h2ph.PL
++++ b/utils/h2ph.PL
+@@ -401,7 +401,10 @@ if ($opt_e && (scalar(keys %bad_file) > 0)) {
+ exit $Exit;
+
+ sub expr {
+- $new = '"(assembly code)"' and return if /\b__asm__\b/; # freak out.
++ if (/\b__asm__\b/) { # freak out
++ $new = '"(assembly code)"';
++ return
++ }
+ my $joined_args;
+ if(keys(%curargs)) {
+ $joined_args = join('|', keys(%curargs));
+@@ -770,7 +773,7 @@ sub inc_dirs
+ sub build_preamble_if_necessary
+ {
+ # Increment $VERSION every time this function is modified:
+- my $VERSION = 2;
++ my $VERSION = 3;
+ my $preamble = "$Dest_dir/_h2ph_pre.ph";
+
+ # Can we skip building the preamble file?
+@@ -798,7 +801,16 @@ sub build_preamble_if_necessary
+ # parenthesized value: d=(v)
+ $define{$_} = $1;
+ }
+- if ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
++ if (/^(\w+)\((\w)\)$/) {
++ my($macro, $arg) = ($1, $2);
++ my $def = $define{$_};
++ $def =~ s/$arg/\$\{$arg\}/g;
++ print PREAMBLE <<DEFINE;
++unless (defined &$macro) { sub $macro(\$) { my (\$$arg) = \@_; \"$def\" } }
++
++DEFINE
++ } elsif
++ ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
+ # float:
+ print PREAMBLE
+ "unless (defined &$_) { sub $_() { $1 } }\n\n";
+@@ -807,8 +819,14 @@ sub build_preamble_if_necessary
+ print PREAMBLE
+ "unless (defined &$_) { sub $_() { $1 } }\n\n";
+ } elsif ($define{$_} =~ /^\w+$/) {
+- print PREAMBLE
+- "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n";
++ my $def = $define{$_};
++ if ($isatype{$def}) {
++ print PREAMBLE
++ "unless (defined &$_) { sub $_() { \"$def\" } }\n\n";
++ } else {
++ print PREAMBLE
++ "unless (defined &$_) { sub $_() { &$def } }\n\n";
++ }
+ } else {
+ print PREAMBLE
+ "unless (defined &$_) { sub $_() { \"",
+--
+1.6.5.2.74.g610f9.dirty
+
diff --git a/testing/perl/perl.install b/testing/perl/perl.install
new file mode 100644
index 000000000..3f7d58f23
--- /dev/null
+++ b/testing/perl/perl.install
@@ -0,0 +1,18 @@
+# arg 1: the new package version
+post_install() {
+ for ver in 5.8.{0,1,2,3,4,5,6,7,8}; do
+ [ -h usr/lib/perl5/$ver ] && rm usr/lib/perl5/$ver
+ [ -h usr/lib/perl5/site_perl/$ver ] && rm usr/lib/perl5/site_perl/$ver
+ [ -h usr/bin/perl$ver ] && rm usr/bin/perl$ver
+ done
+ return 0
+}
+
+post_upgrade() {
+ echo '- The directories /usr/lib/perl5/current, /usr/lib/perl5/site_perl/current,'
+ echo ' /usr/lib/perl5/site_perl/5.10.1, and /usr/share/perl5/site_perl/5.10.1'
+ echo ' have been removed from @INC.'
+
+ echo '- The script/binary directories are now /usr/bin/*_perl instead of'
+ echo ' /usr/lib/perl5/*_perl/bin which will be eventually removed.'
+}
diff --git a/testing/perl/perlbin.csh b/testing/perl/perlbin.csh
new file mode 100644
index 000000000..535f0b18d
--- /dev/null
+++ b/testing/perl/perlbin.csh
@@ -0,0 +1,15 @@
+# Set path to perl scriptdirs if they exist
+# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts
+# Added /usr/bin/*_perl dirs for scripts
+# Remove /usr/lib/perl5/*_perl/bin in next release
+
+[ -d /usr/bin/site_perl ] && setenv PATH ${PATH}:/usr/bin/site_perl
+[ -d /usr/lib/perl5/site_perl/bin ] && setenv PATH ${PATH}:/usr/lib/perl5/site_perl/bin
+
+[ -d /usr/bin/vendor_perl ] && setenv PATH ${PATH}:/usr/bin/vendor_perl
+[ -d /usr/lib/perl5/vendor_perl/bin ] && setenv PATH ${PATH}:/usr/lib/perl5/vendor_perl/bin
+
+[ -d /usr/bin/core_perl ] && setenv PATH ${PATH}:/usr/bin/core_perl
+
+# If you have modules in non-standard directories you can add them here.
+#export PERLLIB=dir1:dir2
diff --git a/testing/perl/perlbin.sh b/testing/perl/perlbin.sh
new file mode 100755
index 000000000..20f830436
--- /dev/null
+++ b/testing/perl/perlbin.sh
@@ -0,0 +1,18 @@
+# Set path to perl scriptdirs if they exist
+# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts
+# Added /usr/bin/*_perl dirs for scripts
+# Remove /usr/lib/perl5/*_perl/bin in next release
+
+[ -d /usr/bin/site_perl ] && PATH=$PATH:/usr/bin/site_perl
+[ -d /usr/lib/perl5/site_perl/bin ] && PATH=$PATH:/usr/lib/perl5/site_perl/bin
+
+[ -d /usr/bin/vendor_perl ] && PATH=$PATH:/usr/bin/vendor_perl
+[ -d /usr/lib/perl5/vendor_perl/bin ] && PATH=$PATH:/usr/lib/perl5/vendor_perl/bin
+
+[ -d /usr/bin/core_perl ] && PATH=$PATH:/usr/bin/core_perl
+
+export PATH
+
+# If you have modules in non-standard directories you can add them here.
+#export PERLLIB=dir1:dir2
+
diff --git a/testing/perl/provides.pl b/testing/perl/provides.pl
new file mode 100644
index 000000000..3bf369577
--- /dev/null
+++ b/testing/perl/provides.pl
@@ -0,0 +1,286 @@
+# provides.pl
+##
+# Script for printing out a provides list of every CPAN distribution
+# that is bundled with perl.
+#
+# Justin Davis <jrcd83@gmail.com>
+
+use warnings 'FATAL' => 'all';
+use strict;
+
+package Common;
+
+sub evalver
+{
+ my ($path, $mod) = @_;
+ $mod ||= "";
+
+ open my $fh, '<', $path or die "open $path: $!";
+
+ while (<$fh>) {
+ next unless /\s*(?:\$${mod}::|\$)VERSION\s*=\s*(.+)/;
+ my $ver = eval $1;
+ return $ver unless $@;
+ warn qq{$path:$. bad version string "$ver"\n};
+ }
+
+ close $fh;
+ return undef;
+}
+
+#-----------------------------------------------------------------------------
+
+package Dists;
+
+sub maindistfile
+{
+ my ($dist, $dir) = @_;
+
+ # libpath is the modern style, installing modules under lib/
+ # with dirs matching the name components.
+ my $libpath = join q{/}, 'lib', split /-/, "${dist}.pm";
+
+ # dumbpath is an old style where there's no subdirs and just
+ # a .pm file.
+ my $dumbpath = $dist;
+ $dumbpath =~ s/\A.+-//;
+ $dumbpath .= ".pm";
+
+ my @paths = ($libpath, $dumbpath);
+ # Some modules (with simple names like XSLoader, lib, etc) are
+ # generated by Makefile.PL. Search through their generating code.
+ push @paths, "${dist}_pm.PL" if $dist =~ tr/-/-/ == 0;
+
+ for my $path (map { "$dir/$_" } @paths) { return $path if -f $path; }
+ return undef;
+}
+
+sub module_ver
+{
+ my ($dist, $dir) = @_;
+
+ my $path = maindistfile($dist, $dir) or return undef;
+
+ my $mod = $dist;
+ $mod =~ s/-/::/g;
+ my $ver = Common::evalver($path, $mod);
+ unless ($ver) {
+ warn "failed to find version in module file for $dist\n";
+ return undef;
+ }
+
+ return $ver;
+}
+
+sub changelog_ver
+{
+ my ($dist, $dir) = @_;
+
+ my $path;
+ for my $tmp (glob "$dir/{Changes,ChangeLog}") {
+ if (-f $tmp) { $path = $tmp; last; }
+ }
+ return undef unless $path;
+
+ open my $fh, '<', $path or die "open: $!";
+ while (<$fh>) {
+ return $1 if /\A\s*(?:$dist[ \t]*)?([0-9._]+)/;
+ return $1 if /\A\s*version\s+([0-9._]+)/i;
+ }
+ close $fh;
+
+ return undef;
+}
+
+# for some reason podlators has a VERSION file with perl code in it
+sub verfile_ver
+{
+ my ($dist, $dir) = @_;
+
+ my $path = "$dir/VERSION";
+ return undef unless -f $path; # no warning, only podlaters has it
+
+ return Common::evalver($path);
+}
+
+# scans a directory full of nicely separated dist. directories.
+sub scan_distroot
+{
+ my ($distroot) = @_;
+ opendir my $cpand, "$distroot" or die "failed to open $distroot";
+ my @dists = grep { !/^\./ && -d "$distroot/$_" } readdir $cpand;
+ closedir $cpand;
+
+ my @found;
+ for my $dist (@dists) {
+ my $distdir = "$distroot/$dist";
+ my $ver = (module_ver($dist, $distdir)
+ || changelog_ver($dist, $distdir)
+ || verfile_ver($dist, $distdir));
+
+ if ($ver) { push @found, [ $dist, $ver ]; }
+ else { warn "failed to find version for $dist\n"; }
+ }
+ return @found;
+}
+
+sub find
+{
+ my ($srcdir) = @_;
+ return map { scan_distroot($_) } glob "$srcdir/{cpan,dist}";
+}
+
+#-----------------------------------------------------------------------------
+
+package Modules;
+
+use HTTP::Tiny qw();
+use File::Find qw();
+use File::stat;
+
+*findfile = *File::Find::find;
+
+sub cpan_provider
+{
+ my ($module) = @_;
+ my $url = "http://cpanmetadb.appspot.com/v1.0/package/$module";
+ my $http = HTTP::Tiny->new;
+ my $resp = $http->get($url);
+ return undef unless $resp->{'success'};
+
+ my ($cpanpath) = $resp->{'content'} =~ /^distfile: (.*)$/m
+ or return undef;
+
+ my $dist = $cpanpath;
+ $dist =~ s{\A.+/}{}; # remove author directory
+ $dist =~ s{-[^-]+\z}{}; # remove version and extension
+ return ($dist eq 'perl' ? undef : $dist);
+}
+
+sub find
+{
+ my ($srcdir) = @_;
+ my $libdir = "$srcdir/lib/";
+ die "failed to find $libdir directory" unless -d $libdir;
+
+ # Find only the module files that have not changed since perl
+ # was extracted. We don't want the files perl just recently
+ # installed into lib/. We processed those already.
+ my @modfiles;
+ my $finder = sub {
+ return unless /[.]pm\z/;
+ push @modfiles, $_;
+ };
+ findfile({ 'no_chdir' => 1, 'wanted' => $finder }, $libdir);
+
+ # First we have to find what the oldest ctime actually is.
+ my $oldest = time;
+ @modfiles = map {
+ my $modfile = $_;
+ my $ctime = (stat $modfile)->ctime;
+ $oldest = $ctime if $ctime < $oldest;
+ [ $modfile, $ctime ]; # save ctime for later
+ } @modfiles;
+
+ # Then we filter out any file that was created more than a
+ # few seconds after that. Process the rest.
+ my @mods;
+ for my $modfile (@modfiles) {
+ my ($mod, $ctime) = @$modfile;
+ next if $ctime - $oldest > 5; # ignore newer files
+
+ my $path = $mod;
+ $mod =~ s{[.]pm\z}{};
+ $mod =~ s{\A$libdir}{};
+ $mod =~ s{/}{::}g;
+
+ my $ver = Common::evalver($path) || q{};
+ push @mods, [ $mod, $ver ];
+ }
+
+ # Convert modules names to the dist names who provide them.
+ my %seen;
+ my @dists;
+ for my $modref (@mods) {
+ my ($mod, $ver) = @$modref;
+ my $dist = cpan_provider($mod) or next; # filter out core modules
+ next if $seen{$dist}++; # avoid duplicate dists
+ push @dists, [ $dist, $ver ];
+ }
+ return @dists;
+}
+
+#-----------------------------------------------------------------------------
+
+package Dist2Pkg;
+
+sub name
+{
+ my ($name) = @_;
+ my $orig = $name;
+
+ # Package names should be lowercase and consist of alphanumeric
+ # characters only (and hyphens!)...
+ $name =~ tr/A-Z/a-z/;
+ $name =~ tr/_+/-/; # _ and +'s converted to - (ie Tabbed-Text+Wrap)
+ $name =~ tr/-a-z0-9+//cd; # Delete all other chars.
+ $name =~ tr/-/-/s;
+
+ # Delete leading or trailing hyphens...
+ $name =~ s/\A-|-\z//g;
+
+ die qq{Dist. name '$orig' completely violates packaging standards}
+ unless $name;
+
+ return "perl-$name";
+}
+
+sub version
+{
+ my ($version) = @_;
+
+ # Package versions should be numbers and decimal points only...
+ $version =~ tr/-/./;
+ $version =~ tr/_0-9.-//cd;
+
+ # Remove developer versions because pacman has no special logic
+ # to compare them to regular versions like perl does.
+ $version =~ s/_[^_]+\z//;
+
+ $version =~ tr/_//d; # delete other underscores
+ $version =~ tr/././s; # only one period at a time
+ $version =~ s/\A[.]|[.]\z//g; # shouldn't start or stop with a period
+
+ return $version;
+}
+
+#-----------------------------------------------------------------------------
+
+package main;
+
+my %CPANNAME = ('List-Util' => 'Scalar-List-Utils',
+ 'Text-Tabs' => 'Text-Tabs+Wrap',
+ 'Cwd' => 'PathTools');
+
+my $perldir = shift or die "Usage: $0 [path to perl source directory]\n";
+die "$perldir is not a valid directory." unless -d $perldir;
+
+my @dists = (Dists::find($perldir), Modules::find($perldir));
+for my $dist (@dists) {
+ my $name = $dist->[0];
+ $dist->[0] = $CPANNAME{$name} if exists $CPANNAME{$name};
+}
+
+my @pkgs = map {
+ my ($name, $ver) = @$_;
+ $name = Dist2Pkg::name($name);
+ $ver = Dist2Pkg::version($ver);
+ [ $name, $ver ];
+} @dists;
+
+@pkgs = sort { $a->[0] cmp $b->[0] } @pkgs;
+
+for my $pkg (@pkgs) {
+ my ($name, $ver) = @$pkg;
+ print "$name=$ver\n";
+}
diff --git a/testing/postgresql-old-upgrade/PKGBUILD b/testing/postgresql-old-upgrade/PKGBUILD
new file mode 100644
index 000000000..7ea45880c
--- /dev/null
+++ b/testing/postgresql-old-upgrade/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 138522 2011-09-26 20:47:05Z dan $
+# Maintainer: Dan McGee <dan@archlinux.org>
+
+pkgname=postgresql-old-upgrade
+pkgver=9.0.5
+_majorver=${pkgver%.*}
+pkgrel=1
+pkgdesc="Minimal PostgreSQL build for migrating between major versions with pg_upgrade"
+arch=('i686' 'x86_64')
+url="http://www.postgresql.org/"
+license=('custom:PostgreSQL')
+depends=("postgresql-libs>=${_majorver}" 'libxml2' 'openssl>=1.0.0')
+source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2)
+
+build() {
+ cd "${srcdir}/postgresql-${pkgver}"
+
+ ./configure --prefix=/opt/pgsql-${_majorver} \
+ --with-libxml --with-openssl --without-perl \
+ --without-python --with-pam --without-readline \
+ --with-system-tzdata=/usr/share/zoneinfo --disable-nls \
+ --enable-thread-safety
+
+ make -C src all
+}
+
+package() {
+ cd "${srcdir}/postgresql-${pkgver}"
+
+ # install
+ make DESTDIR="${pkgdir}" -C src install
+
+ # install license
+ install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ # clean up unneeded installed items
+ rm -rf "${pkgdir}/opt/pgsql-${_majorver}/include/"
+}
+
+md5sums=('86816eb8a8513532957b96045abdfef9')
+sha256sums=('56d8ee809ceeabeae8461ae0a197943460cba5bf8fbe37324e4451cf2eb7d504')
diff --git a/testing/postgresql/PKGBUILD b/testing/postgresql/PKGBUILD
new file mode 100644
index 000000000..0cd417ade
--- /dev/null
+++ b/testing/postgresql/PKGBUILD
@@ -0,0 +1,138 @@
+# $Id: PKGBUILD 138528 2011-09-26 22:48:37Z dan $
+# Maintainer: Dan McGee <dan@archlinux.org>
+
+pkgbase=postgresql
+pkgname=('postgresql-libs' 'postgresql-docs' 'postgresql')
+pkgver=9.1.1
+_majorver=${pkgver%.*}
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://www.postgresql.org/"
+license=('custom:PostgreSQL')
+makedepends=('libxml2' 'python2' 'perl' 'openssl>=1.0.0')
+source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2
+ postgresql postgresql.confd postgresql.pam postgresql.logrotate)
+
+build() {
+ cd "${srcdir}/postgresql-${pkgver}"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man \
+ --datadir=/usr/share/postgresql \
+ --with-libxml --with-openssl --with-perl \
+ --with-python PYTHON=/usr/bin/python2 --with-pam \
+ --with-system-tzdata=/usr/share/zoneinfo --enable-nls \
+ --enable-thread-safety
+
+ make world
+}
+
+package_postgresql-libs() {
+ pkgdesc="Libraries for use with PostgreSQL"
+ depends=('openssl>=1.0.0' 'readline>=6.0')
+ provides=('postgresql-client')
+ conflicts=('postgresql-client')
+
+ cd "${srcdir}/postgresql-${pkgver}"
+
+ # install license
+ install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/postgresql-libs/LICENSE"
+
+ # install libs
+ for dir in src/interfaces src/bin/pg_config src/bin/psql; do
+ make -C ${dir} DESTDIR="${pkgdir}" install
+ done
+
+ install -D -m644 doc/src/sgml/man1/pg_config.1 "${pkgdir}/usr/share/man/man1/pg_config.1"
+ install -D -m644 doc/src/sgml/man1/psql.1 "${pkgdir}/usr/share/man/man1/psql.1"
+
+ cd src/include
+
+ mkdir -p "${pkgdir}"/usr/include/{libpq,postgresql/internal/libpq}
+
+ # these headers are needed by the public headers of the interfaces
+ install -m644 pg_config.h "${pkgdir}/usr/include/"
+ install -m644 pg_config_os.h "${pkgdir}/usr/include/"
+ install -m644 postgres_ext.h "${pkgdir}/usr/include/"
+ install -m644 libpq/libpq-fs.h "${pkgdir}/usr/include/libpq/"
+ install -m644 pg_config_manual.h "${pkgdir}/usr/include/"
+
+ # these headers are needed by the not-so-public headers of the interfaces
+ install -m644 c.h "${pkgdir}/usr/include/postgresql/internal/"
+ install -m644 port.h "${pkgdir}/usr/include/postgresql/internal/"
+ install -m644 postgres_fe.h "${pkgdir}/usr/include/postgresql/internal/"
+ install -m644 libpq/pqcomm.h "${pkgdir}/usr/include/postgresql/internal/libpq/"
+}
+
+package_postgresql-docs() {
+ pkgdesc="HTML documentation for PostgreSQL"
+ options=(docs)
+
+ cd "${srcdir}/postgresql-${pkgver}"
+
+ # install license
+ install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/postgresql-docs/LICENSE"
+
+ make -C doc/src/sgml DESTDIR="${pkgdir}" install-html
+ chown -R root:root "${pkgdir}/usr/share/doc/postgresql/html/"
+
+ # clean up
+ rmdir "${pkgdir}"/usr/share/man/man{1,3,7}
+ rmdir "${pkgdir}"/usr/share/man
+}
+
+package_postgresql() {
+ pkgdesc="A sophisticated object-relational DBMS"
+ backup=('etc/conf.d/postgresql' 'etc/pam.d/postgresql' 'etc/logrotate.d/postgresql')
+ depends=("postgresql-libs>=${pkgver}" 'libxml2' 'readline>=6.0' 'openssl>=1.0.0')
+ optdepends=('python2: for PL/Python support'
+ 'perl: for PL/Perl support'
+ 'postgresql-old-upgrade: upgrade from previous major version using pg_upgrade')
+ install=postgresql.install
+
+ cd "${srcdir}/postgresql-${pkgver}"
+
+ # install
+ make DESTDIR="${pkgdir}" install
+ make -C contrib DESTDIR="${pkgdir}" install
+ make -C doc/src/sgml DESTDIR="${pkgdir}" install-man
+
+ # we don't want these, they are in the -libs package
+ for dir in src/interfaces src/bin/pg_config src/bin/psql; do
+ make -C ${dir} DESTDIR="${pkgdir}" uninstall
+ done
+ rm "${pkgdir}/usr/share/man/man1/pg_config.1"
+ rm "${pkgdir}/usr/share/man/man1/psql.1"
+
+ # install license
+ install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE"
+
+ # clean up unneeded installed items
+ rm -rf "${pkgdir}/usr/include/postgresql/internal"
+ rm -rf "${pkgdir}/usr/include/libpq"
+ find "${pkgdir}/usr/include" -maxdepth 1 -type f -execdir rm {} +
+ rmdir "${pkgdir}/usr/share/doc/postgresql/html"
+
+ # install launch script
+ install -D -m755 "${srcdir}/postgresql" "${pkgdir}/etc/rc.d/postgresql"
+
+ # install conf file
+ install -D -m644 ${srcdir}/postgresql.confd \
+ "${pkgdir}/etc/conf.d/postgresql"
+
+ install -D -m644 ${srcdir}/postgresql.pam \
+ "${pkgdir}/etc/pam.d/postgresql"
+
+ install -D -m644 ${srcdir}/postgresql.logrotate \
+ "${pkgdir}/etc/logrotate.d/postgresql"
+}
+
+md5sums=('061a9f17323117c9358ed60f33ecff78'
+ '4a6e9b63f2aa50195735f2b46aba040b'
+ '2bef962971bac882022c41a72efabb96'
+ '96f82c38f3f540b53f3e5144900acf17'
+ 'd28e443f9f65a5712c52018b84e27137')
+sha256sums=('c794016bcf3fc1f561bc86796c6c9d050e3d8d2d55356515126e048275ae56f2'
+ 'b2931d7a719e765f14811b9109310b2418d3064bfcedef699573fc25854a2201'
+ '92fe999c34824a9b8fe4b7212d58f60247e3d0514dd38807758eac64c4198190'
+ '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5'
+ '6abb842764bbed74ea4a269d24f1e73d1c0b1d8ecd6e2e6fb5fb10590298605e')
diff --git a/testing/postgresql/postgresql b/testing/postgresql/postgresql
new file mode 100755
index 000000000..2ff845f73
--- /dev/null
+++ b/testing/postgresql/postgresql
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/postgresql
+
+# Default PGROOT if it wasn't defined in the conf.d file
+PGROOT=${PGROOT:-/var/lib/postgres}
+PGLOG=${PGLOG:-/var/log/postgresql.log}
+PGCTL_BIN=/usr/bin/pg_ctl
+PGCTL_ARGS=(-D "$PGROOT/data" -l "$PGLOG" -s -w)
+[[ $PGOPTS ]] && PGCTL_ARGS+=(-o "$PGOPTS")
+
+postgres_init() {
+ # initialization
+ if [[ ! -d "$PGROOT/data" ]]; then
+ mkdir -p "$PGROOT/data" && chown -R postgres:postgres "$PGROOT"
+ su - postgres -c "/usr/bin/initdb $INITOPTS -D '$PGROOT/data'"
+ fi
+ if [[ ! -e "$PGLOG" ]]; then
+ touch "$PGLOG"
+ chown postgres "$PGLOG"
+ fi
+}
+
+do_postgres() {
+ su - postgres -c "'$PGCTL_BIN' $(printf '%q ' "${PGCTL_ARGS[@]}") $@"
+}
+
+case $1 in
+ start)
+ postgres_init
+ stat_busy "Starting PostgreSQL"
+ if do_postgres start; then
+ add_daemon postgresql
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping PostgreSQL"
+ if do_postgres stop -m fast; then
+ rm_daemon postgresql
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ reload)
+ stat_busy "Reloading PostgreSQL"
+ if do_postgres reload; then
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ restart)
+ postgres_init
+ stat_busy "Restarting PostgreSQL"
+ if do_postgres restart -m fast; then
+ add_daemon postgresql
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ status)
+ stat_busy "Checking PostgreSQL status";
+ ck_status postgresql
+ ;;
+ *)
+ echo "usage: $0 {start|stop|reload|restart|status}"
+ exit 1
+esac
diff --git a/testing/postgresql/postgresql.confd b/testing/postgresql/postgresql.confd
new file mode 100644
index 000000000..2d68f2772
--- /dev/null
+++ b/testing/postgresql/postgresql.confd
@@ -0,0 +1,11 @@
+##
+## Parameters to be passed to postgresql
+##
+## Default data directory location
+#PGROOT="/var/lib/postgres"
+## Passed to initdb if necessary
+#INITOPTS="--locale $LANG"
+## Default log file location
+#PGLOG="/var/log/postgresql.log"
+## Additional options to pass via pg_ctl's '-o' option
+#PGOPTS=""
diff --git a/testing/postgresql/postgresql.install b/testing/postgresql/postgresql.install
new file mode 100644
index 000000000..c52432271
--- /dev/null
+++ b/testing/postgresql/postgresql.install
@@ -0,0 +1,26 @@
+post_install() {
+ if [ ! -d '/var/lib/postgres' ]; then
+ mkdir -p '/var/lib/postgres'
+ fi
+ getent group postgres >/dev/null || groupadd -g 88 postgres
+ getent passwd postgres >/dev/null || useradd -c 'PostgreSQL user' -u 88 -g postgres -d '/var/lib/postgres' -s /bin/bash postgres
+ passwd -l postgres >/dev/null
+}
+
+post_upgrade() {
+ post_install $1
+ # FS#23858, fix postgres user shell issue
+ postgres_shell=$(getent passwd postgres | cut -d: -f7)
+ if [ "$postgres_shell" = "/sbin/nologin" ]; then
+ chsh -s /bin/bash postgres
+ fi
+}
+
+post_remove() {
+ if getent passwd postgres >/dev/null; then
+ userdel postgres
+ fi
+ if getent group postgres >/dev/null; then
+ groupdel postgres
+ fi
+}
diff --git a/testing/postgresql/postgresql.logrotate b/testing/postgresql/postgresql.logrotate
new file mode 100644
index 000000000..9c36918be
--- /dev/null
+++ b/testing/postgresql/postgresql.logrotate
@@ -0,0 +1,4 @@
+/var/log/postgresql.log {
+ copytruncate
+ missingok
+}
diff --git a/testing/postgresql/postgresql.pam b/testing/postgresql/postgresql.pam
new file mode 100644
index 000000000..53724d1f8
--- /dev/null
+++ b/testing/postgresql/postgresql.pam
@@ -0,0 +1,3 @@
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so
diff --git a/testing/rsync/ChangeLog b/testing/rsync/ChangeLog
new file mode 100644
index 000000000..d07e4ad5a
--- /dev/null
+++ b/testing/rsync/ChangeLog
@@ -0,0 +1,39 @@
+2011-05-17 Angel Velasquez <angvp@archlinux.org>
+ * rsync 3.0.8-2
+ * Added call_rsync func to rsyncd to support pass arguments to the daemon
+
+2010-01-01 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.7-1
+ * Upstream update
+
+2009-05-08 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.6-1
+ * Upstream update
+
+2008-12-29 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.5-1
+ * Upstream update
+
+2008-09-06 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.4-1
+ * Upstream update
+
+2008-07-05 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.3-1
+ * Upstream update
+
+2008-04-13 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.2-1
+ * Upstream update
+
+2008-03-01 Eric Belanger <eric@archlinux.org>
+
+ * rsync 3.0.0-1
+ * Upstream update
+ * Updated license
diff --git a/testing/rsync/PKGBUILD b/testing/rsync/PKGBUILD
new file mode 100644
index 000000000..98521398b
--- /dev/null
+++ b/testing/rsync/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 138511 2011-09-26 18:43:51Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+pkgname=rsync
+pkgver=3.0.9
+pkgrel=1
+pkgdesc="A file transfer program to keep remote files in sync"
+arch=('i686' 'x86_64')
+url="http://samba.anu.edu.au/rsync/"
+license=('GPL3')
+depends=('acl')
+backup=('etc/rsyncd.conf' 'etc/xinetd.d/rsync')
+changelog=ChangeLog
+source=(http://rsync.samba.org/ftp/rsync/${pkgname}-${pkgver}.tar.gz \
+ rsyncd.conf rsyncd rsync.xinetd)
+md5sums=('5ee72266fe2c1822333c407e1761b92b'
+ '4395c0591638349b1a7aeaaa4da1f03a'
+ '7a9ce3b5de97f3aae29b906f93e1d157'
+ 'ea3e9277dc908bc51f9eddc0f6b935c1')
+sha1sums=('c64c8341984aea647506eb504496999fd968ddfc'
+ '48be09294134dfed888818872fe552a59c29147a'
+ 'eda623c31d9def454cf8e3e88dcf63de4ca5c08b'
+ 'fdb99785bc87ee13d77aa90dc1804f3f75dd7fc1')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./prepare-source
+ ./configure --prefix=/usr --with-included-popt \
+ --enable-acl-support --enable-xattr-support
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -Dm755 ../rsyncd ${pkgdir}/etc/rc.d/rsyncd
+ install -Dm644 ../rsyncd.conf ${pkgdir}/etc/rsyncd.conf
+ install -Dm644 ../rsync.xinetd ${pkgdir}/etc/xinetd.d/rsync
+}
diff --git a/testing/rsync/rsync.xinetd b/testing/rsync/rsync.xinetd
new file mode 100644
index 000000000..f5b6b1ed5
--- /dev/null
+++ b/testing/rsync/rsync.xinetd
@@ -0,0 +1,11 @@
+service rsync
+{
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/bin/rsync
+ server_args = --daemon
+ log_on_success += HOST DURATION
+ log_on_failure += HOST
+ disable = yes
+}
diff --git a/testing/rsync/rsyncd b/testing/rsync/rsyncd
new file mode 100644
index 000000000..d7a772e8e
--- /dev/null
+++ b/testing/rsync/rsyncd
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+[ -f /etc/conf.d/rsyncd ] && . /etc/conf.d/rsyncd
+
+function call_rsyncd() {
+ /usr/bin/rsync --daemon $RSYNCD_ARGS
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting rsyncd"
+ [ ! -f /var/run/daemons/rsyncd ] && call_rsyncd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ #pgrep -of "/usr/bin/rsync --daemon" > /var/run/rsyncd.pid # Removed FS#20942
+ add_daemon rsyncd
+ stat_done
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping rsyncd"
+ [ -f /var/run/rsyncd.pid ] && kill `cat /var/run/rsyncd.pid`
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon rsyncd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/rsync/rsyncd.conf b/testing/rsync/rsyncd.conf
new file mode 100644
index 000000000..f7161f3f8
--- /dev/null
+++ b/testing/rsync/rsyncd.conf
@@ -0,0 +1,16 @@
+uid = nobody
+gid = nobody
+use chroot = no
+max connections = 4
+syslog facility = local5
+pid file = /var/run/rsyncd.pid
+
+[ftp]
+ path = /home/ftp
+ comment = ftp area
+
+#[cvs]
+# path = /data/cvs
+# comment = CVS repository (requires authentication)
+# auth users = tridge, susan
+# secrets file = /etc/rsyncd.secrets
diff --git a/testing/sqlite3/PKGBUILD b/testing/sqlite3/PKGBUILD
new file mode 100644
index 000000000..10ab385c4
--- /dev/null
+++ b/testing/sqlite3/PKGBUILD
@@ -0,0 +1,86 @@
+# $Id: PKGBUILD 138517 2011-09-26 19:21:09Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgbase="sqlite3"
+pkgname=('sqlite3' 'sqlite3-tcl' 'sqlite3-doc')
+_amalgamationver=3070800
+_amalgamationver2=${_amalgamationver/00/}
+_docver=${_amalgamationver} #3070700
+pkgver=${_amalgamationver2//0/.}
+pkgrel=1
+pkgdesc="A C library that implements an SQL database engine"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://www.sqlite.org/"
+makedepends=('tcl' 'readline>=6.0.00')
+source=( # tarball containing the amalgamation for SQLite 3.7.5 together with a configure script and makefile for building it; includes now also the Tcl Extension Architecture (TEA)
+ http://www.sqlite.org/sqlite-autoconf-$_amalgamationver.tar.gz
+ #http://www.sqlite.org/sqlite-doc-${_amalgamationver}.zip
+ http://www.sqlite.org/sqlite-doc-${_docver}.zip
+ license.txt)
+options=('!libtool' '!emptydirs')
+md5sums=('6bfb46d73caaa1bbbcd2b52184b6c542'
+ '56c2e37c65075c612710ae1aba9703f2'
+ 'c1cdbc5544034d9012e421e75a5e4890')
+sha1sums=('34852cfd49ddea440eb26a35ad32deee0176a724'
+ 'e8fec8ca866289477ea4249c219e07bc301d96c6'
+ 'f34f6daa4ab3073d74e774aad21d66878cf26853')
+
+build() {
+ export CFLAGS="$CFLAGS -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_SECURE_DELETE"
+
+ # build sqlite
+ cd "$srcdir"/sqlite-autoconf-$_amalgamationver
+ ./configure --prefix=/usr \
+ --disable-static
+ make
+
+ # build the tcl extension
+ cd "$srcdir"/sqlite-autoconf-$_amalgamationver/tea
+ ./configure --prefix=/usr \
+ --with-system-sqlite
+ make
+
+}
+
+package_sqlite3() {
+
+ pkgdesc="A C library that implements an SQL database engine"
+ depends=('readline>=6.0.00')
+ conflicts=('sqlite')
+ replaces=('sqlite')
+
+ cd ${srcdir}/sqlite-autoconf-$_amalgamationver
+ make DESTDIR=${pkgdir} install
+
+ # license
+ install -D -m644 ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/${pkgname}/license.txt
+}
+
+package_sqlite3-tcl() {
+
+ pkgdesc="sqlite3 Tcl Extension Architecture (TEA)"
+ depends=('sqlite3>=3.7.5')
+
+ cd ${srcdir}/sqlite-autoconf-$_amalgamationver/tea
+ make DESTDIR=${pkgdir} install
+}
+
+package_sqlite3-doc() {
+ pkgdesc="most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation"
+ #arch=('any') - not yet supported
+
+ #cd ${srcdir}/sqlite-doc-${_amalgamationver}
+ cd ${srcdir}/sqlite-doc-${_docver}
+ mkdir -p ${pkgdir}/usr/share/doc/${pkgbase}
+ cp -R * ${pkgdir}/usr/share/doc/${pkgbase}/
+
+ # fix permissions and remove obsolete files; https://bugs.archlinux.org/task/24605
+ find ${pkgdir} -perm 755 -exec ls -lha {} \;
+ find ${pkgdir} -perm 755 -exec chmod 644 {} \;
+ find ${pkgdir} -name '*~' -exec ls -lha {} \;
+ find ${pkgdir} -name '*~' -exec rm -f {} \;
+ find ${pkgdir} -name '.~*' -exec ls -lha {} \;
+ find ${pkgdir} -name '.~*' -exec rm -f {} \;
+}
diff --git a/testing/sqlite3/license.txt b/testing/sqlite3/license.txt
new file mode 100644
index 000000000..118c5d5e6
--- /dev/null
+++ b/testing/sqlite3/license.txt
@@ -0,0 +1,33 @@
+SQLite Copyright
+SQLite is in the
+Public Domain
+
+
+All of the deliverable code in SQLite has been dedicated to the public domain by the authors. All code authors, and representatives of the companies they work for, have signed affidavits dedicating their contributions to the public domain and originals of those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
+
+The previous paragraph applies to the deliverable code in SQLite - those parts of the SQLite library that you actually bundle and ship with a larger application. Portions of the documentation and some code used as part of the build process might fall under other licenses. The details here are unclear. We do not worry about the licensing of the documentation and build code so much because none of these things are part of the core deliverable SQLite library.
+
+All of the deliverable code in SQLite has been written from scratch. No code has been taken from other projects or from the open internet. Every line of code can be traced back to its original author, and all of those authors have public domain dedications on file. So the SQLite code base is clean and is uncontaminated with licensed code from other projects.
+Obtaining An Explicit License To Use SQLite
+
+Even though SQLite is in the public domain and does not require a license, some users want to obtain a license anyway. Some reasons for obtaining a license include:
+You are using SQLite in a jurisdiction that does not recognize the public domain.
+You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the public domain.
+You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite.
+Your legal department tells you that you have to purchase a license.
+
+If you feel like you really have to purchase a license for SQLite, Hwaci, the company that employs the architect and principal developers of SQLite, will sell you one.
+Contributed Code
+
+In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement:
+The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law.
+
+We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to:
+Hwaci
+6200 Maple Cove Lane
+Charlotte, NC 28269
+USA
+
+A template copyright release is available in PDF or HTML. You can use this release to make future changes.
+
+see http://www.sqlite.org/copyright.html \ No newline at end of file
diff --git a/testing/tzdata/Makefile.patch b/testing/tzdata/Makefile.patch
new file mode 100644
index 000000000..e88f9d907
--- /dev/null
+++ b/testing/tzdata/Makefile.patch
@@ -0,0 +1,140 @@
+diff -Naur src/Makefile src-p/Makefile
+--- src/Makefile 2007-08-20 16:47:41.000000000 +0200
++++ src-p/Makefile 2007-10-02 04:07:44.000000000 +0200
+@@ -34,17 +34,17 @@
+
+ # Everything gets put in subdirectories of. . .
+
+-TOPDIR= /usr/local
++TOPDIR= $(DESTDIR)/usr
+
+ # "Compiled" time zone information is placed in the "TZDIR" directory
+ # (and subdirectories).
+ # Use an absolute path name for TZDIR unless you're just testing the software.
+
+-TZDIR= $(TOPDIR)/etc/zoneinfo
++TZDIR= $(TOPDIR)/share/zoneinfo
+
+ # The "tzselect", "zic", and "zdump" commands get installed in. . .
+
+-ETCDIR= $(TOPDIR)/etc
++SBINDIR= $(TOPDIR)/sbin
+
+ # If you "make INSTALL", the "date" command gets installed in. . .
+
+@@ -52,7 +52,7 @@
+
+ # Manual pages go in subdirectories of. . .
+
+-MANDIR= $(TOPDIR)/man
++MANDIR= $(TOPDIR)/share/man
+
+ # Library functions are put in an archive in LIBDIR.
+
+@@ -83,7 +83,7 @@
+
+ # Non-default libraries needed to link.
+ # Add -lintl if you want to use `gettext' on Solaris.
+-LDLIBS=
++LDLIBS=$(LDFLAGS)
+
+ # Add the following to the end of the "CFLAGS=" line as needed.
+ # -Dconst= if `const' does not work (SunOS 4.x cc, OSF1 V5.0 cc)
+@@ -211,7 +211,7 @@
+ # before the first Monday in January when a "%V" format is used and January 1
+ # falls on a Friday, Saturday, or Sunday.
+
+-CFLAGS=
++CFLAGS += -std=gnu99
+
+ # If you want zic's -s option used when installing, uncomment the next line
+ # ZFLAGS= -s
+@@ -220,7 +220,7 @@
+ ZIC= $(zic) $(ZFLAGS)
+
+ # The name of a Posix-compliant `awk' on your system.
+-AWK= nawk
++AWK= awk
+
+ # The path where SGML DTDs are kept.
+ SGML_SEARCH_PATH= $(TOPDIR)/share/doc/sgml-lib/REC-html401-19991224/
+@@ -241,8 +241,10 @@
+
+ ###############################################################################
+
+-cc= cc
+-CC= $(cc) -DTZDIR=\"$(TZDIR)\"
++CC+= -DTZDIR=\"$(TZDIR)\"
++ifeq ($(NLS),1)
++CC += -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\"
++endif
+
+ TZCSRCS= zic.c localtime.c asctime.c scheck.c ialloc.c
+ TZCOBJS= zic.o localtime.o asctime.o scheck.o ialloc.o
+@@ -282,14 +284,16 @@
+
+ ALL: all date
+
+-install: all $(DATA) $(REDO) $(TZLIB) $(MANS) $(TABDATA)
++install: all $(DATA) $(REDO) $(MANS) $(TABDATA)
+ $(ZIC) -y $(YEARISTYPE) \
+ -d $(TZDIR) -l $(LOCALTIME) -p $(POSIXRULES)
+ -rm -f $(TZDIR)/iso3166.tab $(TZDIR)/zone.tab
+ cp iso3166.tab zone.tab $(TZDIR)/.
+- -mkdir $(TOPDIR) $(ETCDIR)
+- cp tzselect zic zdump $(ETCDIR)/.
+- -mkdir $(TOPDIR) $(MANDIR) \
++ -mkdir -p $(TOPDIR) $(SBINDIR)
++ cp zic zdump $(SBINDIR)/.
++ -mkdir -p $(TOPDIR) $(BINDIR)
++ cp tzselect $(BINDIR)/.
++ -mkdir -p $(TOPDIR) $(MANDIR) \
+ $(MANDIR)/man3 $(MANDIR)/man5 $(MANDIR)/man8
+ -rm -f $(MANDIR)/man3/newctime.3 \
+ $(MANDIR)/man3/newtzset.3 \
+@@ -298,13 +302,11 @@
+ $(MANDIR)/man8/zdump.8 \
+ $(MANDIR)/man8/zic.8
+ cp newctime.3 newtzset.3 $(MANDIR)/man3/.
+- cp tzfile.5 $(MANDIR)/man5/.
+- cp tzselect.8 zdump.8 zic.8 $(MANDIR)/man8/.
+
+ INSTALL: ALL install date.1
+- -mkdir $(TOPDIR) $(BINDIR)
++ -mkdir -p $(TOPDIR) $(BINDIR)
+ cp date $(BINDIR)/.
+- -mkdir $(TOPDIR) $(MANDIR) $(MANDIR)/man1
++ -mkdir -p $(TOPDIR) $(MANDIR) $(MANDIR)/man1
+ -rm -f $(MANDIR)/man1/date.1
+ cp date.1 $(MANDIR)/man1/.
+
+@@ -334,9 +336,9 @@
+ # You must replace all of $(TZDIR) to switch from not using leap seconds
+ # to using them, or vice versa.
+ other_two: zic leapseconds $(TDATA)
+- $(ZIC) -y $(YEARISTYPE) -d $(TZDIR)-posix -L /dev/null $(TDATA)
++ $(ZIC) -y $(YEARISTYPE) -d $(TZDIR)/posix -L /dev/null $(TDATA)
+ $(ZIC) -y $(YEARISTYPE) \
+- -d $(TZDIR)-leaps -L leapseconds $(TDATA)
++ -d $(TZDIR)/right -L leapseconds $(TDATA)
+
+ posix_right: posix_only other_two
+
+@@ -367,7 +369,7 @@
+ <$? >$@
+ chmod +x $@
+
+-check: check_tables check_web
++check: check_tables
+
+ check_tables: checktab.awk $(PRIMARY_YDATA)
+ $(AWK) -f checktab.awk $(PRIMARY_YDATA)
+diff -Naur src/tzselect.ksh src-p/tzselect.ksh
+--- src/tzselect.ksh 2007-08-20 16:47:42.000000000 +0200
++++ src-p/tzselect.ksh 2007-10-02 04:07:44.000000000 +0200
+@@ -1,4 +1,4 @@
+-#! /bin/ksh
++#! /bin/bash
+
+ # '@(#)tzselect.ksh 8.1'
+
diff --git a/testing/tzdata/PKGBUILD b/testing/tzdata/PKGBUILD
new file mode 100644
index 000000000..eb9ee769c
--- /dev/null
+++ b/testing/tzdata/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 138515 2011-09-26 19:11:52Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=tzdata
+pkgver=2011k
+pkgrel=1
+_tzcode=2011i
+_tzdata=2011k
+pkgdesc="Sources for time zone and daylight saving time data"
+arch=('i686' 'x86_64')
+url="http://www.twinsun.com/tz/tz-link.htm"
+license=('GPL')
+depends=()
+makedepends=()
+optdepends=('bash: required by tzselect')
+options=('!emptydirs')
+source=(ftp://elsie.nci.nih.gov/pub/tzcode${_tzcode}.tar.gz \
+ ftp://elsie.nci.nih.gov/pub/${pkgname}${_tzdata}.tar.gz \
+ Makefile.patch)
+md5sums=('cf7f4335b7c8682899fa2814e711c1b2'
+ '9da1c2d4d1a01f9f504b73ccd371830f'
+ 'a64ed97d1fc03c66ee8612c0d9f40507')
+sha1sums=('4f58cede47df8bba55b37982d8b38cd65266d412'
+ '56f0847a10eaea672be19984b4b403e29631c98b'
+ 'e8890681333949977ccff0b7a429ad25ed78dbcf')
+
+build() {
+ cd ${srcdir}
+
+ tar -xf tzcode${_tzcode}.tar.gz
+ tar -xf ${pkgname}${_tzdata}.tar.gz
+
+ patch -Np1 -i "${srcdir}/Makefile.patch"
+
+ make
+}
+
+check() {
+ cd ${srcdir}
+ make check
+}
+
+package() {
+ cd ${srcdir}
+ make DESTDIR="${pkgdir}" install
+
+ rm "${pkgdir}/usr/share/zoneinfo/localtime"
+}
diff --git a/testing/util-linux/PKGBUILD b/testing/util-linux/PKGBUILD
new file mode 100644
index 000000000..8b63895c4
--- /dev/null
+++ b/testing/util-linux/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 138305 2011-09-19 22:14:14Z tomegun $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=util-linux
+pkgver=2.20
+pkgrel=3
+pkgdesc="Miscellaneous system utilities for Linux"
+url="http://userweb.kernel.org/~kzak/util-linux-ng/"
+arch=('i686' 'x86_64')
+groups=('base')
+depends=('filesystem')
+replaces=('linux32' 'util-linux-ng')
+conflicts=('linux32' 'util-linux-ng' 'e2fsprogs<1.41.8-2')
+provides=('linux32' "util-linux-ng=${pkgver}")
+license=('GPL2')
+options=('!libtool')
+source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v${pkgver}/${pkgname}-${pkgver}.tar.bz2
+ agetty-typo.patch
+ write-freopen.patch
+ dmesg-non-printk.patch
+ dmesg-space.patch
+ dont-close-0.patch
+ fix-remount.patch)
+optdepends=('perl: for chkdupexe support')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # patches from master
+ for patch in agetty-typo.patch write-freopen.patch dmesg-non-printk.patch dmesg-space.patch dont-close-0.patch fix-remount.patch; do
+ patch -Np1 -i "${srcdir}/${patch}"
+ done
+
+ # hardware clock
+ sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i include/pathnames.h
+
+ ./configure --enable-arch\
+ --enable-write\
+ --enable-raw\
+ --disable-wall\
+ --enable-partx\
+ --enable-libmount-mount
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ install -dm755 "${pkgdir}/var/lib/hwclock"
+
+ make DESTDIR="${pkgdir}" install
+}
+md5sums=('4dcacdbdafa116635e52b977d9d0e879'
+ '13838c6dd8df686e0f01ad0f236d2690'
+ '465817ff8f7c08411c8011ee91b50318'
+ 'f3ca75a1a22a2a739c5c22d92dc07ab0'
+ 'd9768f0b42d36d72c02ac7797b922ba1'
+ '37eae52af90c214dda73874c701fa246'
+ '344c780b9e08826dd8befe4271b41ed3')
diff --git a/testing/xf86-input-acecad/PKGBUILD b/testing/xf86-input-acecad/PKGBUILD
new file mode 100644
index 000000000..18eae0060
--- /dev/null
+++ b/testing/xf86-input-acecad/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 136573 2011-08-30 08:46:11Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-input-acecad
+pkgver=1.5.0
+pkgrel=2
+pkgdesc="X.Org acecad tablet input driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('sysfsutils')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ assign-local-private-after-allocating.patch)
+sha1sums=('410cee68e4435dc95774fb389fcefae1b2ffe3d1'
+ '9301020b0ef3c6f2081e957481a88d2e187a7973')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/assign-local-private-after-allocating.patch"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-input-acecad/assign-local-private-after-allocating.patch b/testing/xf86-input-acecad/assign-local-private-after-allocating.patch
new file mode 100644
index 000000000..e3e635a6f
--- /dev/null
+++ b/testing/xf86-input-acecad/assign-local-private-after-allocating.patch
@@ -0,0 +1,24 @@
+From ec2c4ead497133ef20d5ef5a9b481b38e1e0f7a2 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 27 Jun 2011 03:13:54 +0000
+Subject: Assign local->private after allocating.
+
+It is detrimental to the user experience when the driver tries to derefernce
+null pointers.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+diff --git a/src/acecad.c b/src/acecad.c
+index ad6d793..604fe91 100644
+--- a/src/acecad.c
++++ b/src/acecad.c
+@@ -343,6 +343,7 @@ AceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags)
+ return BadAlloc;
+
+ memset(priv, 0, sizeof(AceCadPrivateRec));
++ local->private = priv;
+
+ local->device_control = DeviceControl;
+
+--
+cgit v0.8.3-6-g21f6
diff --git a/testing/xf86-input-aiptek/PKGBUILD b/testing/xf86-input-aiptek/PKGBUILD
new file mode 100644
index 000000000..26880ea73
--- /dev/null
+++ b/testing/xf86-input-aiptek/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 136571 2011-08-30 08:46:10Z jgc $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-input-aiptek
+pkgver=1.4.1
+pkgrel=2
+pkgdesc="X.Org Aiptek USB Digital Tablet input driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('pkgconfig' 'xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('55ea7d12d3e24fd72eacc966a59262864dce7769')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-input-evdev/PKGBUILD b/testing/xf86-input-evdev/PKGBUILD
new file mode 100644
index 000000000..b9426643c
--- /dev/null
+++ b/testing/xf86-input-evdev/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 136569 2011-08-30 08:46:08Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <Alexander@archlinux.org
+
+pkgname=xf86-input-evdev
+pkgver=2.6.0
+pkgrel=4
+pkgdesc="X.org evdev input driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+options=('!libtool' '!makeflags')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('fb6f7a6f5168ae07efe890e4ace9fb8af1d4e1e0')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-input-joystick/50-joystick.conf b/testing/xf86-input-joystick/50-joystick.conf
new file mode 100644
index 000000000..95a295ab0
--- /dev/null
+++ b/testing/xf86-input-joystick/50-joystick.conf
@@ -0,0 +1,6 @@
+Section "InputClass"
+ Identifier "joystick catchall"
+ MatchIsJoystick "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "joystick"
+EndSection
diff --git a/testing/xf86-input-joystick/PKGBUILD b/testing/xf86-input-joystick/PKGBUILD
new file mode 100644
index 000000000..d76d3a310
--- /dev/null
+++ b/testing/xf86-input-joystick/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 136567 2011-08-30 08:46:06Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-input-joystick
+pkgver=1.6.0
+pkgrel=2
+pkgdesc="X.Org Joystick input driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ 50-joystick.conf)
+sha1sums=('3b9aed1b8128e1fbd947fdcdd5e16efccad1c780'
+ 'e1ff3699a0470c6bb78a53f718df9d8521621e11')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
+ install -m644 "${srcdir}/50-joystick.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-input-keyboard/PKGBUILD b/testing/xf86-input-keyboard/PKGBUILD
new file mode 100644
index 000000000..9db48647e
--- /dev/null
+++ b/testing/xf86-input-keyboard/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136565 2011-08-30 08:46:04Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-input-keyboard
+pkgver=1.6.0
+pkgrel=3
+pkgdesc="X.Org keyboard input driver"
+arch=(i686 x86_64)
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('8e845086749f8c4b64fdfa852b4b26cf7bb62dc9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-input-mouse/PKGBUILD b/testing/xf86-input-mouse/PKGBUILD
new file mode 100644
index 000000000..ff74c1f26
--- /dev/null
+++ b/testing/xf86-input-mouse/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 136563 2011-08-30 08:46:02Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-input-mouse
+pkgver=1.7.1
+pkgrel=2
+pkgdesc="X.org mouse input driver"
+arch=(i686 x86_64)
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('11a6402e82d65bda5fb559c5e9bc72f3fd7af2ed')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-input-synaptics/10-synaptics.conf b/testing/xf86-input-synaptics/10-synaptics.conf
new file mode 100644
index 000000000..81a90fb81
--- /dev/null
+++ b/testing/xf86-input-synaptics/10-synaptics.conf
@@ -0,0 +1,9 @@
+Section "InputClass"
+ Identifier "touchpad catchall"
+ Driver "synaptics"
+ MatchIsTouchpad "on"
+ MatchDevicePath "/dev/input/event*"
+ Option "TapButton1" "1"
+ Option "TapButton2" "2"
+ Option "TapButton3" "3"
+EndSection
diff --git a/testing/xf86-input-synaptics/PKGBUILD b/testing/xf86-input-synaptics/PKGBUILD
new file mode 100644
index 000000000..fb9b5836b
--- /dev/null
+++ b/testing/xf86-input-synaptics/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 137001 2011-09-05 05:55:06Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Thomas Bächler <thomas@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xf86-input-synaptics
+pkgver=1.5.0
+pkgrel=1
+pkgdesc="Synaptics driver for notebook touchpads"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('libxtst')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libxi' 'libx11')
+conflicts=('xorg-server<1.10.99.902')
+replaces=('synaptics')
+provides=('synaptics')
+conflicts=('synaptics')
+groups=('xorg-drivers' 'xorg')
+options=(!libtool)
+backup=('etc/X11/xorg.conf.d/10-synaptics.conf')
+source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ 10-synaptics.conf)
+sha1sums=('7373c1e3f02bf7e18f71b65762a982d907b4a053'
+ '68e1f4ef5e1038231d210eb422fa4d18c5922f0f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
+ install -m644 "${srcdir}/10-synaptics.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+
+ rm -rf "${pkgdir}/usr/share/X11"
+}
diff --git a/testing/xf86-input-void/PKGBUILD b/testing/xf86-input-void/PKGBUILD
new file mode 100644
index 000000000..cef1f525d
--- /dev/null
+++ b/testing/xf86-input-void/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 136557 2011-08-30 08:45:57Z jgc $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-input-void
+pkgver=1.4.0
+pkgrel=2
+pkgdesc="X.org void input driver"
+arch=(i686 x86_64)
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('49b462d3acb16337eaf78202d4074f19d5e20b29')
+
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-input-wacom/70-wacom.rules b/testing/xf86-input-wacom/70-wacom.rules
new file mode 100644
index 000000000..f6aa20835
--- /dev/null
+++ b/testing/xf86-input-wacom/70-wacom.rules
@@ -0,0 +1,12 @@
+ACTION!="add|change", GOTO="wacom_end"
+
+# Match all serial wacom tablets with a serial ID starting with WACf
+# Notes: We assign NAME though we shouldn't, but currently the server requires it
+# We assign the lot to subsystem pnp too because server reads NAME from
+# the parent device. Once all that's fixed, as simple SUBSYSTEM="tty"
+# will do and the ENV{NAME} can be removed.
+SUBSYSTEM=="tty|pnp", SUBSYSTEMS=="pnp", ATTRS{id}=="WACf*", ENV{ID_MODEL}="Serial Wacom Tablet $attr{id}", ENV{ID_INPUT}="1", ENV{ID_INPUT_TABLET}="1", ENV{NAME}="Serial Wacom Tablet $attr{id}"
+SUBSYSTEM=="tty|pnp", SUBSYSTEMS=="pnp", ATTRS{id}=="FUJ*", ENV{ID_MODEL}="Serial Wacom Tablet $attr{id}", ENV{ID_INPUT}="1", ENV{ID_INPUT_TABLET}="1", ENV{NAME}="Serial Wacom Tablet $attr{id}"
+
+LABEL="wacom_end"
+
diff --git a/testing/xf86-input-wacom/PKGBUILD b/testing/xf86-input-wacom/PKGBUILD
new file mode 100644
index 000000000..502f0f09c
--- /dev/null
+++ b/testing/xf86-input-wacom/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 136555 2011-08-30 08:45:56Z jgc $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: M Rawash <mrawash@gmail.com>
+
+pkgname=xf86-input-wacom
+pkgver=0.11.1
+pkgrel=3
+pkgdesc="X.Org Wacom tablet driver"
+arch=('i686' 'x86_64')
+url="http://linuxwacom.sourceforge.net/"
+license=('GPL')
+backup=('etc/X11/xorg.conf.d/50-wacom.conf')
+depends=('libxi' 'libxrandr')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libxext' 'libxi')
+conflicts=('xorg-server<1.10.99.902')
+options=(!libtool)
+source=(http://downloads.sourceforge.net/project/linuxwacom/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ 70-wacom.rules)
+md5sums=('0aec4a338cc583ed497b6af68d6d80ab'
+ '10db4f8272286690255c1bcc18bfdd92')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --with-xorg-conf-dir=/etc/X11/xorg.conf.d
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/lib/udev/rules.d"
+ install -m644 "${srcdir}/70-wacom.rules" "${pkgdir}/lib/udev/rules.d/"
+}
diff --git a/testing/xf86-video-apm/PKGBUILD b/testing/xf86-video-apm/PKGBUILD
new file mode 100644
index 000000000..01e414018
--- /dev/null
+++ b/testing/xf86-video-apm/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136553 2011-08-30 08:45:52Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-apm
+pkgver=1.2.3
+pkgrel=4
+pkgdesc="X.org Alliance ProMotion video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('1fa7180cf985a74132f8d5b39a0bf9df08713fac')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-ark/PKGBUILD b/testing/xf86-video-ark/PKGBUILD
new file mode 100644
index 000000000..117c18eda
--- /dev/null
+++ b/testing/xf86-video-ark/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 136551 2011-08-30 08:45:48Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-ark
+pkgver=0.7.3
+pkgrel=4
+pkgdesc="X.org ark video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+sha1sums=('56901ec6097a83433689f208268281f9c98c238b'
+ 'f62cdc7995e9b64c9105382ccfa842732fa81309')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-ark/git-fixes.patch b/testing/xf86-video-ark/git-fixes.patch
new file mode 100644
index 000000000..2de0f64be
--- /dev/null
+++ b/testing/xf86-video-ark/git-fixes.patch
@@ -0,0 +1,118 @@
+From 9d3769bed020e9796e51411c63de337da5073bb4 Mon Sep 17 00:00:00 2001
+From: Ondrej Zary <linux@rainbow-software.org>
+Date: Sat, 04 Dec 2010 00:23:51 +0000
+Subject: Don't assume that FB address registers are initialized properly
+
+https://bugs.freedesktop.org/show_bug.cgi?id=28249
+
+ark driver does not work with Hercules Stingray 64 card (ark2000pv).
+X fails to start with:
+
+[...]
+(II) ark(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is
+0x0000
+(II) ark(0): Creating default Display subsection in Screen section
+ "Default Screen Section" for depth/fbbpp 24/32
+(==) ark(0): Depth 24, (--) framebuffer bpp 32
+(==) ark(0): RGB weight 888
+(==) ark(0): Default visual is TrueColor
+(**) ark(0): Chipset: "ark2000pv"
+(--) ark(0): Framebuffer @ 0xe5e50000
+(==) ark(0): Using gamma correction (1.0, 1.0, 1.0)
+(--) ark(0): Detected 2048 bytes video ram
+[...]
+Fatal server error:
+AddScreen/ScreenInit failed for driver 0
+
+Comparing with lspci, the framebuffer address is wrong:
+00:0f.0 VGA compatible controller: ARK Logic Inc 2000PV [Stingray] (prog-if 00 [VGA controller])
+ Flags: medium devsel
+ Memory at e5000000 (32-bit, prefetchable) [size=4M]
+ [virtual] Expansion ROM at 1c000000 [disabled] [size=64K]
+
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/ark.h b/src/ark.h
+index de301dc..077f93b 100644
+--- a/src/ark.h
++++ b/src/ark.h
+@@ -34,7 +34,6 @@ typedef struct _ARKRec {
+ #endif
+ EntityInfoPtr pEnt;
+ CARD32 IOAddress;
+- CARD32 FBAddress;
+ unsigned char * FBBase;
+ unsigned char * MMIOBase;
+ unsigned long videoRam;
+diff --git a/src/ark_driver.c b/src/ark_driver.c
+index 5de3b9a..fec3e1a 100644
+--- a/src/ark_driver.c
++++ b/src/ark_driver.c
+@@ -363,14 +363,14 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
+ outb(hwp->PIOOffset + hwp->IOBase + 5, tmp & 0x7f);
+ modinx(hwp->PIOOffset + 0x3c4, 0x1d, 0x01, 0x01);
+
+- /* use membase's later on ??? */
+- pARK->FBAddress = (rdinx(hwp->PIOOffset + 0x3c4, 0x13) << 16) +
+- (rdinx(hwp->PIOOffset + 0x3c4, 0x14) << 24);
+-
+- pScrn->memPhysBase = pARK->FBAddress;
++#ifndef XSERVER_LIBPCIACCESS
++ pScrn->memPhysBase = pARK->PciInfo->memBase[0];
++#else
++ pScrn->memPhysBase = pARK->PciInfo->regions[0].base_addr;
++#endif
+
+ xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%lx\n",
+- (unsigned long)pARK->FBAddress);
++ (unsigned long)pScrn->memPhysBase);
+
+ if (!xf86SetGamma(pScrn, gzeros))
+ return FALSE;
+@@ -748,8 +748,13 @@ static Bool ARKModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ new->sr10 = rdinx(isaIOBase + 0x3c4, 0x10) & ~0x1f;
+ new->sr10 |= 0x1f;
+
+- new->sr13 = pARK->FBAddress >> 16;
+- new->sr14 = pARK->FBAddress >> 24;
++#ifndef XSERVER_LIBPCIACCESS
++ new->sr13 = pARK->PciInfo->memBase[0] >> 16;
++ new->sr14 = pARK->PciInfo->memBase[0] >> 24;
++#else
++ new->sr13 = pARK->PciInfo->regions[0].base_addr >> 16;
++ new->sr14 = pARK->PciInfo->regions[0].base_addr >> 24;
++#endif
+
+ new->sr12 = rdinx(isaIOBase + 0x3c4, 0x12) & ~0x03;
+ switch (pScrn->videoRam) {
+@@ -1022,7 +1027,7 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn)
+ pARK->PciTag, 0xb8000, 0x8000);
+
+ pARK->FBBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
+- pARK->PciTag, pARK->FBAddress,
++ pARK->PciTag, pARK->PciInfo->memBase[0],
+ pScrn->videoRam * 1024);
+ #else
+
+@@ -1032,14 +1037,17 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn)
+ {
+ void** result = (void**)&pARK->FBBase;
+ int err = pci_device_map_range(pARK->PciInfo,
+- pARK->FBAddress,
++ pARK->PciInfo->regions[0].base_addr,
+ pScrn->videoRam * 1024,
+ PCI_DEV_MAP_FLAG_WRITABLE |
+ PCI_DEV_MAP_FLAG_WRITE_COMBINE,
+ result);
+
+- if (err)
++ if (err) {
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++ "Cound not map framebuffer: %d\n", err);
+ return FALSE;
++ }
+ }
+ #endif
+
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/testing/xf86-video-ast/PKGBUILD b/testing/xf86-video-ast/PKGBUILD
new file mode 100644
index 000000000..77ab42d9a
--- /dev/null
+++ b/testing/xf86-video-ast/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136549 2011-08-30 08:45:45Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-ast
+pkgver=0.93.9
+pkgrel=1
+pkgdesc="X.org ASPEED AST Graphics video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('424cc93d0300e49a882199c0546425f223b3b4bd')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-ati/PKGBUILD b/testing/xf86-video-ati/PKGBUILD
new file mode 100644
index 000000000..129bf57ee
--- /dev/null
+++ b/testing/xf86-video-ati/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 136547 2011-08-30 08:45:41Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xf86-video-ati
+pkgver=6.14.2
+pkgrel=2
+pkgdesc="X.org ati video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=(libpciaccess libdrm udev pixman ati-dri)
+makedepends=('xorg-server-devel>=1.11.0' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.11.0')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('2733b3c126ad9e082ea18b7e7663d6d87fce4d49')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-dri
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make "DESTDIR=${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-chips/PKGBUILD b/testing/xf86-video-chips/PKGBUILD
new file mode 100644
index 000000000..2195eb57b
--- /dev/null
+++ b/testing/xf86-video-chips/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 136545 2011-08-30 08:45:37Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xf86-video-chips
+pkgver=1.2.4
+pkgrel=3
+pkgdesc="X.org Chips and Technologies video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=(glibc)
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ gut-overlay-8-16-support-from-driver.patch)
+sha1sums=('71f474335d05f93b2451a7a0750c4409669641a4'
+ 'f6a635196118dacb73fad980571b390849963b3d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/gut-overlay-8-16-support-from-driver.patch"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch b/testing/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch
new file mode 100644
index 000000000..b9c832238
--- /dev/null
+++ b/testing/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch
@@ -0,0 +1,580 @@
+From e4bd864898fd276a62dac05cdfff394e98434f02 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 29 Mar 2011 03:53:31 +0000
+Subject: chips: gut the overlay 8/16 support from driver.
+
+This driver is for chips that were bought by Intel in 1997,
+this feature means maintaining a lot of code in the X server
+for little gain.
+
+Drop it like its hot.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/man/chips.man b/man/chips.man
+index 740af38..0c022ee 100644
+--- a/man/chips.man
++++ b/man/chips.man
+@@ -165,9 +165,6 @@ Force the use of memory mapped IO where it can be used. Default: off
+ Force driver to leave centering and stretching registers alone. This
+ can fix some laptop suspend/resume problems. Default: off
+ .TP
+-.BI "Option \*qOverlay\*q"
+-Enable 8+24 overlay mode. Only appropriate for depth 24. Default: off.
+-.TP
+ .BI "Option \*qColorKey\*q \*q" integer \*q
+ Set the colormap index used for the transparency key for the depth 8 plane
+ when operating in 8+16 overlay mode. The value must be in the range
+diff --git a/src/ct_accel.c b/src/ct_accel.c
+index 3920b0a..4b5776a 100644
+--- a/src/ct_accel.c
++++ b/src/ct_accel.c
+@@ -428,19 +428,7 @@ chips_imagewrite:
+ infoPtr->ImageWriteFlags |= NO_PLANEMASK;
+ #endif
+
+-
+-#ifdef CHIPS_HIQV
+- if (XAAInit(pScreen, infoPtr)) {
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- return(XAAInitDualFramebufferOverlay(pScreen,
+- CTNAME(DepthChange)));
+- else
+- return TRUE;
+- } else
+- return FALSE;
+-#else
+ return(XAAInit(pScreen, infoPtr));
+-#endif
+ }
+
+ #ifdef CHIPS_HIQV
+@@ -1243,11 +1231,6 @@ CTNAME(SubsequentScreenToScreenColorExpandFill)(ScrnInfoPtr pScrn,
+ #endif
+ w *= cAcl->BytesPerPixel;
+ ctBLTWAIT;
+-#ifdef CHIPS_HIQV
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16) &&
+- (pScrn->depth == 8))
+- ctSETPITCH(cAcl->PitchInBytes << 1, cAcl->PitchInBytes);
+-#endif
+ ctSETSRCADDR(srcaddr);
+ ctSETDSTADDR(destaddr);
+ #ifdef CHIPS_HIQV
+@@ -1271,10 +1254,6 @@ CTNAME(SetupForColor8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty,
+ patternaddr = (paty * pScrn->displayWidth +
+ (patx & ~0x3F)) * cAcl->BytesPerPixel;
+ cAcl->patternyrot = (patx & 0x3F) >> 3;
+-#ifdef CHIPS_HIQV
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- patternaddr += cPtr->FbOffset16;
+-#endif
+
+ ctBLTWAIT;
+ ctSETPATSRCADDR(patternaddr);
+@@ -1338,10 +1317,7 @@ CTNAME(SetupForMono8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty,
+
+ #ifdef CHIPS_HIQV
+ patternaddr = paty * pScrn->displayWidth + patx;
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- patternaddr = patternaddr * 2 + cPtr->FbOffset16;
+- else
+- patternaddr *= cAcl->BytesPerPixel;
++ patternaddr *= cAcl->BytesPerPixel;
+ #else
+ patternaddr = (paty * pScrn->displayWidth + patx) * cAcl->BytesPerPixel;
+ #endif
+@@ -1593,10 +1569,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
+ dwords = (((skipleft + bytesPerLine + 0x7) & ~0x7)) >> 2;
+ destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
+ destpitch = pScrn->displayWidth * (bpp >> 3);
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
+- destaddr += cPtr->FbOffset16;
+- else
+- destaddr += cAcl->FbOffset;
++ destaddr += cAcl->FbOffset;
+
+ ctBLTWAIT;
+
+@@ -1681,10 +1654,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
+ y++;
+
+ destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
+- destaddr += cPtr->FbOffset16;
+- else
+- destaddr += cAcl->FbOffset;
++ destaddr += cAcl->FbOffset;
+
+ ctBLTWAIT;
+ ctSETDSTADDR(destaddr);
+@@ -1717,10 +1687,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
+ dwords = (((bytesPerLine + 0x7) & ~0x7)) >> 2;
+ srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
+ srcpitch = pScrn->displayWidth * (bpp >> 3);
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
+- srcaddr += cPtr->FbOffset16;
+- else
+- srcaddr += cAcl->FbOffset;
++ srcaddr += cAcl->FbOffset;
+
+ ctBLTWAIT;
+ ctSETROP( ctDSTSYSTEM | ctLEFT2RIGHT | ctTOP2BOTTOM |
+@@ -1755,10 +1722,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
+ dst += dstwidth;
+ y++;
+ srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
+- srcaddr += cPtr->FbOffset16;
+- else
+- srcaddr += cAcl->FbOffset;
++ srcaddr += cAcl->FbOffset;
+ ctBLTWAIT;
+ ctSETSRCADDR(srcaddr);
+ ctSETHEIGHTWIDTHGO(h, bytesPerLine);
+diff --git a/src/ct_driver.c b/src/ct_driver.c
+index 6624b79..08df050 100644
+--- a/src/ct_driver.c
++++ b/src/ct_driver.c
+@@ -1639,55 +1639,15 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
+ }
+ }
+
+- if ((s = xf86GetOptValString(cPtr->Options, OPTION_OVERLAY))) {
+- if (!*s || !xf86NameCmp(s, "8,16") || !xf86NameCmp(s, "16,8")) {
+- if (pScrn->bitsPerPixel == 16) {
+- if (cPtr->Flags & ChipsLinearSupport) {
+- cPtr->Flags |= ChipsOverlay8plus16;
+- if(!xf86GetOptValInteger(
+- cPtr->Options, OPTION_COLOR_KEY, &(pScrn->colorKey)))
+- pScrn->colorKey = TRANSPARENCY_KEY;
+- pScrn->overlayFlags = OVERLAY_8_16_DUALFB;
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+- "PseudoColor overlay enabled.\n");
+- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_STRETCH))
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- " - Forcing option \"Stretch\" \"ON\".\n");
+- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_CENTER))
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- " - Forcing option \"LcdCenter\" \"OFF\".\n");
+- if (cPtr->Flags & ChipsShadowFB) {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- " - Disabling \"Shadow Framebuffer\".\n");
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- " Not support with option \"8Plus16\".\n");
+- cPtr->Flags &= ~ChipsShadowFB;
+- cPtr->Rotate = 0;
+- }
+- } else {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Option \"Overlay\" ignored. Not supported without linear addressing\n");
+- }
+- } else {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- "Option \"Overlay\" is not supported in this configuration\n");
+- }
+- } else {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- "\"%s\" is not a valid value for Option \"Overlay\"\n", s);
+- }
+- }
+-
+- if (!(cPtr->Flags & ChipsOverlay8plus16)) {
+- if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY,
+- &(cPtr->videoKey))) {
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n",
++ if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY,
++ &(cPtr->videoKey))) {
++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n",
+ cPtr->videoKey);
+- } else {
+- cPtr->videoKey = (1 << pScrn->offset.red) |
++ } else {
++ cPtr->videoKey = (1 << pScrn->offset.red) |
+ (1 << pScrn->offset.green) |
+ (((pScrn->mask.blue >> pScrn->offset.blue) - 1)
+ << pScrn->offset.blue);
+- }
+ }
+
+ if (cPtr->Flags & ChipsShadowFB) {
+@@ -2335,28 +2295,16 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
+ /* and 32bits on the others. Thus multiply by a suitable factor */
+ if (cPtr->Flags & Chips64BitMemory) {
+ if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD))
+- if (cPtr->Flags & ChipsOverlay8plus16 )
+- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 4);
+- else
+ cPtr->MaxClock = min(cPtr->MaxClock,
+ MemClk->Clk * 8 * 0.7 / (bytesPerPixel + 1));
+ else
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 3);
+- else
+ cPtr->MaxClock = min(cPtr->MaxClock,
+ MemClk->Clk * 8 * 0.7 / bytesPerPixel);
+ } else {
+ if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD))
+- if (cPtr->Flags & ChipsOverlay8plus16 )
+- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 4);
+- else
+ cPtr->MaxClock = min(cPtr->MaxClock,
+ MemClk->Clk * 4 * 0.7 / (bytesPerPixel + 1));
+ else
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 3);
+- else
+ cPtr->MaxClock = min(cPtr->MaxClock,
+ MemClk->Clk * 4 * 0.7 / bytesPerPixel);
+ }
+@@ -3736,8 +3684,7 @@ CHIPSEnterVT(int scrnIndex, int flags)
+ /* Should we re-save the text mode on each VT enter? */
+ if(!chipsModeInit(pScrn, pScrn->currentMode))
+ return FALSE;
+- if ((!(cPtr->Flags & ChipsOverlay8plus16))
+- && (cPtr->Flags & ChipsVideoSupport)
++ if ((cPtr->Flags & ChipsVideoSupport)
+ && (cPtr->Flags & ChipsLinearSupport))
+ CHIPSResetVideo(pScrn);
+
+@@ -3788,8 +3735,7 @@ chipsLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
+ int i, index, shift ;
+ CHIPSEntPtr cPtrEnt;
+
+- shift = ((pScrn->depth == 15) &&
+- (!(cPtr->Flags & ChipsOverlay8plus16))) ? 3 : 0;
++ shift = (pScrn->depth == 15) ? 3 : 0;
+
+ if (cPtr->UseDualChannel) {
+ cPtrEnt = xf86GetEntityPrivate(pScrn->entityList[0],
+@@ -3895,18 +3841,6 @@ chipsLoadPalette16(ScrnInfoPtr pScrn, int numColors, int *indices,
+ hwp->disablePalette(hwp);
+ }
+
+-static Bool
+-cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8,
+- int xsize, int ysize, int dpix, int dpiy,
+- int width16, int width8)
+-{
+- return
+- (fbOverlaySetupScreen(pScreen, pbits16, pbits8, xsize, ysize,
+- dpix, dpiy, width16, width8, 16, 8) &&
+- fbOverlayFinishScreenInit(pScreen, pbits16, pbits8, xsize, ysize,
+- dpix, dpiy, width16, width8, 16, 8, 16, 8));
+-}
+-
+ /* Mandatory */
+ static Bool
+ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+@@ -3947,22 +3881,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ if (!chipsMapMem(pScrn))
+ return FALSE;
+
+- /* Setup a pointer to the overlay if needed */
+- if (cPtr->Flags & ChipsOverlay8plus16) {
+- cPtr->FbOffset16 = pScrn->displayWidth * pScrn->virtualY;
+- cPtr->FbSize16 = (pScrn->displayWidth << 1) * pScrn->virtualY;
+- if (cPtr->FbSize16 > (cPtr->FbMapSize - cPtr->FrameBufferSize)) {
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+- "Too little memory for overlay. Disabling.\n");
+- cPtr->Flags &= ~ChipsOverlay8plus16;
+- }
+- if ((pScrn->displayWidth > 1024) || (pScrn->virtualY > 1024)) {
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+- "Max overlay Width/Height 1024 pixels. Disabling.\n");
+- cPtr->Flags &= ~ChipsOverlay8plus16;
+- }
+- }
+-
+ /* Setup the MMIO register access functions if need */
+ if (cPtr->UseFullMMIO && cPtr->MMIOBaseVGA) {
+ CHIPSSetMmioExtFuncs(cPtr);
+@@ -4035,18 +3953,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ miClearVisualTypes();
+
+ /* Setup the visuals we support. */
+- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)){
+- if (!miSetVisualTypes(8, PseudoColorMask | GrayScaleMask,
+- pScrn->rgbBits, PseudoColor))
+- return FALSE;
+- if (!miSetVisualTypes(16, TrueColorMask, pScrn->rgbBits, TrueColor))
+- return FALSE;
+- } else {
+- if (!miSetVisualTypes(pScrn->depth,
++ if (!miSetVisualTypes(pScrn->depth,
+ miGetDefaultVisualMask(pScrn->depth),
+ pScrn->rgbBits, pScrn->defaultVisual))
+- return FALSE;
+- }
++ return FALSE;
+ miSetPixmapDepths ();
+
+ /*
+@@ -4090,13 +4000,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ break;
+ #endif
+ case 16:
+- if (cPtr->Flags & ChipsOverlay8plus16) {
+- ret = cfb8_16ScreenInit(pScreen, (unsigned char *)FBStart +
+- cPtr->FbOffset16, FBStart, width,
+- height, pScrn->xDpi, pScrn->yDpi,
+- displayWidth, displayWidth);
+- break;
+- }
+ default:
+ ret = fbScreenInit(pScreen, FBStart,
+ width,height,
+@@ -4244,9 +4147,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ if (pScrn->bitsPerPixel < 8)
+ freespace = allocatebase - pScrn->displayWidth *
+ pScrn->virtualY / 2;
+- else if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16))
+- freespace = allocatebase - pScrn->displayWidth *
+- pScrn->virtualY - cPtr->FbSize16;
+ else
+ freespace = allocatebase - pScrn->displayWidth *
+ pScrn->virtualY * (pScrn->bitsPerPixel >> 3);
+@@ -4369,9 +4269,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ AvailFBArea.y2 = cAcl->CacheEnd /
+ (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3));
+
+- if (!(cPtr->Flags & ChipsOverlay8plus16)) {
+- xf86InitFBManager(pScreen, &AvailFBArea);
+- }
++ xf86InitFBManager(pScreen, &AvailFBArea);
+ }
+ if (cPtr->Flags & ChipsAccelSupport) {
+ if (IS_HiQV(cPtr)) {
+@@ -4425,16 +4323,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ if (!miCreateDefColormap(pScreen))
+ return FALSE;
+
+- if ((cPtr->Flags & ChipsOverlay8plus16) && (pScrn->bitsPerPixel == 16)) {
+- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, chipsLoadPalette,
+- NULL, CMAP_RELOAD_ON_MODE_SWITCH))
+- return FALSE;
+- } else {
+- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits,
++ if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits,
+ (pScrn->depth == 16 ? chipsLoadPalette16 : chipsLoadPalette),
+ NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR))
+- return FALSE;
+- }
++ return FALSE;
+
+ #ifndef XSERVER_LIBPCIACCESS
+ racflag = RAC_COLORMAP;
+@@ -4448,8 +4340,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ xf86SetSilkenMouse(pScreen);
+ #endif
+
+- if ((!(cPtr->Flags & ChipsOverlay8plus16))
+- && (cPtr->Flags & ChipsVideoSupport)
++ if ((cPtr->Flags & ChipsVideoSupport)
+ && (cPtr->Flags & ChipsLinearSupport)) {
+ CHIPSInitVideo(pScreen);
+ }
+@@ -4522,10 +4413,7 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags)
+ Base >>= 3;
+ break;
+ case 16:
+- if (!(cPtr->Flags & ChipsOverlay8plus16))
+- Base >>= 1;
+- else
+- Base >>= 2;
++ Base >>= 1;
+ break;
+ case 24:
+ if (!IS_HiQV(cPtr))
+@@ -4581,14 +4469,6 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags)
+ cPtr->writeMSS(cPtr, hwp, MSS);
+ }
+
+- if (cPtr->Flags & ChipsOverlay8plus16) {
+- Base = (Base << 3) & ~(unsigned long)0xF;
+-
+- cPtr->writeMR(cPtr, 0x22, (cPtr->FbOffset16 + Base) & 0xF8);
+- cPtr->writeMR(cPtr, 0x23, ((cPtr->FbOffset16 + Base) >> 8) & 0xFF);
+- cPtr->writeMR(cPtr, 0x24, ((cPtr->FbOffset16 + Base) >> 16) & 0xFF);
+- }
+-
+ }
+
+ /* Mandatory */
+@@ -4652,13 +4532,6 @@ CHIPSValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
+ ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ CHIPSPtr cPtr = CHIPSPTR(pScrn);
+
+- if (flags & MODECHECK_FINAL) {
+- /* Don't subtract FrambufferSize here as it should be subtracted already */
+- if ((cPtr->Flags & ChipsOverlay8plus16)
+- && ((pScrn->videoRam<<10) - pScrn->displayWidth * 3 * pScrn->virtualY
+- < 0))
+- return MODE_MEM;
+- }
+ /* The tests here need to be expanded */
+ if ((mode->Flags & V_INTERLACE) && (cPtr->PanelType & ChipsLCD))
+ return MODE_NO_INTERLACE;
+@@ -5544,12 +5417,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ } else {
+ ChipsStd->Attribute[0x10] = 0x01; /* mode */
+ }
+- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) {
+- /* Make sure that the overlay isn't visible in the overscan region */
+- if (ChipsStd->Attribute[0x11] == pScrn->colorKey)
+- ChipsStd->Attribute[0x11] = pScrn->colorKey - 1;
+- } else
+- ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */
++ ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */
+ ChipsStd->Attribute[0x12] = 0x0F; /* enable all color planes */
+ ChipsStd->Attribute[0x13] = 0x00; /* horiz pixel panning 0 */
+
+@@ -5558,8 +5426,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ /* set virtual screen width */
+ tmp = pScrn->displayWidth >> 3;
+ if (pScrn->bitsPerPixel == 16) {
+- if (!(cPtr->Flags & ChipsOverlay8plus16))
+- tmp <<= 1; /* double the width of the buffer */
++ tmp <<= 1; /* double the width of the buffer */
+ } else if (pScrn->bitsPerPixel == 24) {
+ tmp += tmp << 1;
+ } else if (pScrn->bitsPerPixel == 32) {
+@@ -5688,8 +5555,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+
+ /* centering/stretching */
+ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_SUSPEND_HACK, FALSE)) {
+- if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE) ||
+- (cPtr->Flags & ChipsOverlay8plus16)) {
++ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE)) {
+ ChipsNew->FR[0x40] &= 0xDF; /* Disable Horizontal stretching */
+ ChipsNew->FR[0x48] &= 0xFB; /* Disable vertical stretching */
+ ChipsNew->XR[0xA0] = 0x10; /* Disable cursor stretching */
+@@ -5709,8 +5575,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ }
+ }
+
+- if ((xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE))
+- || (cPtr->Flags & ChipsOverlay8plus16)) {
++ if (xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) {
+ ChipsNew->FR[0x40] |= 0x3; /* Enable Horizontal centering */
+ ChipsNew->FR[0x48] |= 0x3; /* Enable Vertical centering */
+ } else {
+@@ -5723,8 +5588,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ ChipsNew->XR[0x82] |=0x02;
+
+ /* software mode flag */
+- ChipsNew->XR[0xE2] = chipsVideoMode(((cPtr->Flags & ChipsOverlay8plus16) ?
+- 8 : pScrn->depth), (cPtr->PanelType & ChipsLCD) ?
++ ChipsNew->XR[0xE2] = chipsVideoMode((pScrn->depth), (cPtr->PanelType & ChipsLCD) ?
+ min(mode->CrtcHDisplay, cPtr->PanelSize.HDisplay) :
+ mode->CrtcHDisplay, mode->CrtcVDisplay);
+ #ifdef DEBUG
+@@ -5762,7 +5626,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ }
+ }
+ /* bpp depend */
+- if ((pScrn->bitsPerPixel == 16) && (!(cPtr->Flags & ChipsOverlay8plus16))) {
++ if (pScrn->bitsPerPixel == 16) {
+ ChipsNew->XR[0x81] = (ChipsNew->XR[0x81] & 0xF0) | 0x4;
+ if (cPtr->Flags & ChipsGammaSupport)
+ ChipsNew->XR[0x82] |= 0x0C;
+@@ -5915,60 +5779,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ /* Turn off multimedia by default as it degrades performance */
+ ChipsNew->XR[0xD0] &= 0x0f;
+
+- /* Setup the video/overlay */
+- if (cPtr->Flags & ChipsOverlay8plus16) {
+- ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */
+-#ifdef SAR04
+- ChipsNew->XR[0x4F] = 0x2A; /* SAR04 >352 pixel overlay width */
+-#endif
+- ChipsNew->MR[0x1E] &= 0xE0; /* Set Zoom and Direction */
+- if ((!(cPtr->PanelType & ChipsLCD)) && (mode->Flags & V_INTERLACE))
+- ChipsNew->MR[0x1E] |= 0x10; /* Interlace */
+- ChipsNew->MR[0x1F] &= 0x14; /* Mask reserved bits */
+- ChipsNew->MR[0x1F] |= 0x08; /* RGB 16bpp */
+- if (pScrn->weight.green == 5)
+- ChipsNew->MR[0x1F] |= 0x01; /* RGB 15bpp */
+-
+- ChipsNew->MR[0x20] &= 0x03; /* Mask reserved bits */
+- ChipsNew->MR[0x20] |= 0x80; /* Auto Centre, Use mem ptr1 */
+- ChipsNew->MR[0x22] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 1 */
+- ChipsNew->MR[0x23] = (cPtr->FbOffset16 >> 8) & 0xFF;
+- ChipsNew->MR[0x24] = (cPtr->FbOffset16 >> 16) & 0xFF;
+- ChipsNew->MR[0x25] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 2 */
+- ChipsNew->MR[0x26] = (cPtr->FbOffset16 >> 8) & 0xFF;
+- ChipsNew->MR[0x27] = (cPtr->FbOffset16 >> 16) & 0xFF;
+- ChipsNew->MR[0x28] = (pScrn->displayWidth >> 2) - 1; /* Width */
+- ChipsNew->MR[0x34] = (pScrn->displayWidth >> 2) - 1;
+-
+- /* Left Edge of Overlay */
+- ChipsNew->MR[0x2A] = cPtr->OverlaySkewX;
+- ChipsNew->MR[0x2B] &= 0xF8; /* Mask reserved bits */
+- ChipsNew->MR[0x2B] |= ((cPtr->OverlaySkewX >> 8) & 0x7);
+- /* Right Edge of Overlay */
+- ChipsNew->MR[0x2C] = (cPtr->OverlaySkewX + pScrn->displayWidth -
+- 1) & 0xFF;
+- ChipsNew->MR[0x2D] &= 0xF8; /* Mask reserved bits */
+- ChipsNew->MR[0x2D] |= ((cPtr->OverlaySkewX + pScrn->displayWidth -
+- 1) >> 8) & 0x07;
+- /* Top Edge of Overlay */
+- ChipsNew->MR[0x2E] = cPtr->OverlaySkewY;
+- ChipsNew->MR[0x2F] &= 0xF8;
+- ChipsNew->MR[0x2F] |= ((cPtr->OverlaySkewY >> 8) & 0x7);
+- /* Bottom Edge of Overlay*/
+- ChipsNew->MR[0x30] = (cPtr->OverlaySkewY + pScrn->virtualY - 1 )& 0xFF;
+- ChipsNew->MR[0x31] &= 0xF8; /* Mask reserved bits */
+- ChipsNew->MR[0x31] |= ((cPtr->OverlaySkewY + pScrn->virtualY -
+- 1 ) >> 8) & 0x07;
+-
+- ChipsNew->MR[0x3C] &= 0x18; /* Mask reserved bits */
+- ChipsNew->MR[0x3C] |= 0x07; /* Enable keyed overlay window */
+- ChipsNew->MR[0x3D] = 0x00;
+- ChipsNew->MR[0x3E] = 0x00;
+- ChipsNew->MR[0x3F] = pScrn->colorKey; /* 8bpp transparency key */
+- ChipsNew->MR[0x40] = 0xFF;
+- ChipsNew->MR[0x41] = 0xFF;
+- ChipsNew->MR[0x42] = 0x00;
+- } else if (cPtr->Flags & ChipsVideoSupport) {
++ if (cPtr->Flags & ChipsVideoSupport) {
+ #if 0 /* if we do this even though video isn't playing we kill performance */
+ ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */
+ #endif
+@@ -6877,8 +6688,7 @@ chipsRestoreExtendedRegs(ScrnInfoPtr pScrn, CHIPSRegPtr Regs)
+ }
+
+ /* Set SAR04 multimedia register correctly */
+- if ((cPtr->Flags & ChipsOverlay8plus16)
+- || (cPtr->Flags & ChipsVideoSupport)) {
++ if ((cPtr->Flags & ChipsVideoSupport)) {
+ #ifdef SAR04
+ cPtr->writeXR(cPtr, 0x4E, 0x04);
+ if (cPtr->readXR(cPtr, 0x4F) != Regs->XR[0x4F])
+diff --git a/src/ct_driver.h b/src/ct_driver.h
+index d8ce228..10a24d4 100644
+--- a/src/ct_driver.h
++++ b/src/ct_driver.h
+@@ -114,7 +114,6 @@ typedef struct {
+ /* Options flags for the C&T chipsets */
+ #define ChipsHWCursor 0x00001000
+ #define ChipsShadowFB 0x00002000
+-#define ChipsOverlay8plus16 0x00004000
+ #define ChipsUseNewFB 0x00008000
+
+ /* Architecture type flags */
+diff --git a/src/ct_video.c b/src/ct_video.c
+index a68acb9..c9e5bb4 100644
+--- a/src/ct_video.c
++++ b/src/ct_video.c
+@@ -56,8 +56,7 @@ CHIPSInitVideo(ScreenPtr pScreen)
+ CHIPSPtr cPtr = CHIPSPTR(pScrn);
+ int num_adaptors;
+
+- if (!(cPtr->Flags & ChipsOverlay8plus16) &&
+- (cPtr->Flags & ChipsVideoSupport)) {
++ if ((cPtr->Flags & ChipsVideoSupport)) {
+ newAdaptor = CHIPSSetupImageVideo(pScreen);
+ CHIPSInitOffscreenImages(pScreen);
+ }
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/testing/xf86-video-cirrus/PKGBUILD b/testing/xf86-video-cirrus/PKGBUILD
new file mode 100644
index 000000000..07d5b5cd6
--- /dev/null
+++ b/testing/xf86-video-cirrus/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136543 2011-08-30 08:45:35Z jgc $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-cirrus
+pkgver=1.3.2
+pkgrel=7
+pkgdesc="X.org Cirrus Logic video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('8195d03ed0be0975c03441e66a9f53b3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-dummy/PKGBUILD b/testing/xf86-video-dummy/PKGBUILD
new file mode 100644
index 000000000..419630bee
--- /dev/null
+++ b/testing/xf86-video-dummy/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136541 2011-08-30 08:45:33Z jgc $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-dummy
+pkgver=0.3.4
+pkgrel=5
+pkgdesc="X.org dummy video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('876ed7165ea2821bbddd73232a1ce0b79c1f14ff')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-fbdev/PKGBUILD b/testing/xf86-video-fbdev/PKGBUILD
new file mode 100644
index 000000000..ff6be497a
--- /dev/null
+++ b/testing/xf86-video-fbdev/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136539 2011-08-30 08:45:31Z jgc $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-fbdev
+pkgver=0.4.2
+pkgrel=5
+pkgdesc="X.org framebuffer video driver"
+arch=(i686 x86_64)
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('c8562f997d56c9fec50df6ca9892f39f43ff4c2c')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-glint/PKGBUILD b/testing/xf86-video-glint/PKGBUILD
new file mode 100644
index 000000000..1748502dc
--- /dev/null
+++ b/testing/xf86-video-glint/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 137326 2011-09-07 07:33:15Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-glint
+pkgver=1.2.6
+pkgrel=1
+pkgdesc="X.org GLINT/Permedia video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('d43350ed3c149576db1dbcacf5e9a30a3268a3f49742724c9151b6f1e4bd21a7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-i128/PKGBUILD b/testing/xf86-video-i128/PKGBUILD
new file mode 100644
index 000000000..1cb3e70cb
--- /dev/null
+++ b/testing/xf86-video-i128/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136535 2011-08-30 08:45:28Z jgc $
+# Maintainer:Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-i128
+pkgver=1.3.4
+pkgrel=4
+pkgdesc="X.org Number 9 I128 video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('d5f755dc964eaa067b4efcafafd00814a60df775')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-i740/PKGBUILD b/testing/xf86-video-i740/PKGBUILD
new file mode 100644
index 000000000..e734e2a71
--- /dev/null
+++ b/testing/xf86-video-i740/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136533 2011-08-30 08:45:27Z jgc $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-i740
+pkgver=1.3.2
+pkgrel=7
+pkgdesc="X.org Intel i740 video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('aadd2168153f780c487778e5fdda5473ed4b243d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-intel/PKGBUILD b/testing/xf86-video-intel/PKGBUILD
new file mode 100644
index 000000000..d9c31f26e
--- /dev/null
+++ b/testing/xf86-video-intel/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 136531 2011-08-30 08:45:25Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-intel
+pkgver=2.16.0
+pkgrel=1
+pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=(intel-dri libxvmc libpciaccess libdrm xcb-util libxfixes udev)
+makedepends=('xorg-server-devel>=1.10.99.902' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'xcb-util' 'libxrender')
+conflicts=('xorg-server<1.10.99.902' 'xf86-video-i810' 'xf86-video-intel-legacy')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('53441ea4d4335b501d32809b6b92593cbb1f79cf')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --enable-dri
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-mach64/PKGBUILD b/testing/xf86-video-mach64/PKGBUILD
new file mode 100644
index 000000000..a43bf7851
--- /dev/null
+++ b/testing/xf86-video-mach64/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 136529 2011-08-30 08:45:23Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-mach64
+pkgver=6.9.0
+pkgrel=2
+pkgdesc="X.org mach64 video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc' 'mach64-dri')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('95a7ec9761fe11dadbcd9078c55148198a91b2f1')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-dri
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-mga/PKGBUILD b/testing/xf86-video-mga/PKGBUILD
new file mode 100644
index 000000000..ac39c320a
--- /dev/null
+++ b/testing/xf86-video-mga/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 136527 2011-08-30 08:45:22Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-mga
+pkgver=1.4.13
+pkgrel=4
+pkgdesc="X.org mga video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc' 'mga-dri')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.10.99.902')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+sha1sums=('55aa185cf381def4b5905c8b93694b8dfbd5c378'
+ '74782a39533ef475bd02b8b4645775879494e568')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ ./configure --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-neomagic/PKGBUILD b/testing/xf86-video-neomagic/PKGBUILD
new file mode 100644
index 000000000..be44b54fb
--- /dev/null
+++ b/testing/xf86-video-neomagic/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136525 2011-08-30 08:45:20Z jgc $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-neomagic
+pkgver=1.2.5
+pkgrel=5
+pkgdesc="X.org neomagic video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.11.0')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('02c994e2eae191b50a8cd556e5b52d82725073b3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-nouveau/PKGBUILD b/testing/xf86-video-nouveau/PKGBUILD
new file mode 100644
index 000000000..064334ea2
--- /dev/null
+++ b/testing/xf86-video-nouveau/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 136523 2011-08-30 08:45:18Z jgc $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: buddabrod <buddabrod@gmail.com>
+
+pkgname=xf86-video-nouveau
+_gitdate=20110829
+pkgver=0.0.16_git${_gitdate} # see configure.ac
+pkgrel=1
+pkgdesc="Open Source 3D acceleration driver for nVidia cards (experimental)"
+arch=('i686' 'x86_64')
+url="http://nouveau.freedesktop.org/wiki/"
+license=('GPL') #and MIT, not yet a license file, see http://nouveau.freedesktop.org/wiki/FAQ#head-09f75d03eb30011c754038a3893119a70745de4e
+depends=('libdrm' 'udev')
+optdepends=('nouveau-dri: experimental gallium3d features')
+makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool')
+install=${pkgname}.install
+source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2)
+md5sums=('8f484f6602a3711f4adfbce74fd886c1')
+
+# source PKGBUILD && mksource
+mksource() {
+ mkdir /tmp/${pkgname}-${_gitdate}
+ pushd /tmp/${pkgname}-${_gitdate}
+ git clone -v --depth 1 git://anongit.freedesktop.org/nouveau/xf86-video-nouveau
+ cd xf86-video-nouveau
+ git archive --prefix=xf86-video-nouveau-${_gitdate}/ --format=tar HEAD | bzip2 > /tmp/${pkgname}-${_gitdate}/${pkgname}-${_gitdate}.tar.bz2
+ popd
+}
+
+build() {
+ cd ${srcdir}/xf86-video-nouveau-${_gitdate}
+ ./autogen.sh --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/xf86-video-nouveau-${_gitdate}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/testing/xf86-video-nouveau/xf86-video-nouveau.install b/testing/xf86-video-nouveau/xf86-video-nouveau.install
new file mode 100644
index 000000000..027154ff3
--- /dev/null
+++ b/testing/xf86-video-nouveau/xf86-video-nouveau.install
@@ -0,0 +1,16 @@
+post_install () {
+ cat << _EOF
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+}
+
+post_upgrade() {
+ if [ "`vercmp $2 0.0.15_git20100117-1`" -lt 0 ]; then
+ cat << _EOF
+ ==> ATTENTION: Usermode support has been dropped
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+ fi
+}
diff --git a/testing/xf86-video-nv/PKGBUILD b/testing/xf86-video-nv/PKGBUILD
new file mode 100644
index 000000000..33edd1b69
--- /dev/null
+++ b/testing/xf86-video-nv/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 136521 2011-08-30 08:45:17Z jgc $
+# Maintainer:Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-nv
+pkgver=2.1.18
+pkgrel=4
+pkgdesc="X.org nv video driver"
+arch=(i686 x86_64)
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('d35b2fa5a26a507a9cc95b69243d9fd0c0f32aa2')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-openchrome/PKGBUILD b/testing/xf86-video-openchrome/PKGBUILD
new file mode 100644
index 000000000..9adff65cf
--- /dev/null
+++ b/testing/xf86-video-openchrome/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 136519 2011-08-30 08:45:15Z jgc $
+# Contributor: Paul Mattal <paul@mattal.com>
+# Maintainer: Juergen Hoetzel <juergen@hoetzel.info>
+
+pkgname=xf86-video-openchrome
+pkgver=0.2.904
+_svnver=r933
+pkgrel=6
+pkgdesc="X.Org Openchrome drivers"
+arch=(i686 x86_64)
+license=('custom')
+url="http://www.openchrome.org"
+depends=('libdrm' 'libxvmc' 'unichrome-dri')
+makedepends=('xorg-server-devel>=1.11.0' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc' 'glproto')
+replaces=('openchrome' 'xf86-video-via')
+options=('!libtool' '!makeflags')
+conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.11.0')
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}-${_svnver}.tar.bz2)
+md5sums=('d661460276a31d3d012d8cdb1a0a73c1')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-r128/PKGBUILD b/testing/xf86-video-r128/PKGBUILD
new file mode 100644
index 000000000..5f2b6d0da
--- /dev/null
+++ b/testing/xf86-video-r128/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 136517 2011-08-30 08:45:13Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-r128
+pkgver=6.8.1
+pkgrel=7
+pkgdesc="X.org ati Rage128 video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc' 'r128-dri')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86driproto' 'libdrm' 'mesa' 'glproto')
+conflicts=('xorg-server<1.11.0')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+md5sums=('2b90854a62a4d45d652062f582dc8d13'
+ '3937776d4427861d0797e47119ac327d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-r128/git-fixes.patch b/testing/xf86-video-r128/git-fixes.patch
new file mode 100644
index 000000000..933e8fb2a
--- /dev/null
+++ b/testing/xf86-video-r128/git-fixes.patch
@@ -0,0 +1,842 @@
+diff --git a/COPYING b/COPYING
+index 7f33cbf..05bcb74 100644
+--- a/COPYING
++++ b/COPYING
+@@ -1,12 +1,91 @@
+-This is a stub file. This package has not yet had its complete licensing
+-information compiled. Please see the individual source files for details on
+-your rights to use and modify this software.
++Copyright 2007 George Sapountzis
+
+-Please submit updated COPYING files to the Xorg bugzilla:
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the "Software"),
++to deal in the Software without restriction, including without limitation
++the rights to use, copy, modify, merge, publish, distribute, sublicense,
++and/or sell copies of the Software, and to permit persons to whom the
++Software is furnished to do so, subject to the following conditions:
+
+-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
++The above copyright notice and this permission notice (including the next
++paragraph) shall be included in all copies or substantial portions of the
++Software.
+
+-All licensing questions regarding this software should be directed at the
+-Xorg mailing list:
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++SOFTWARE.
++
++Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
++ Precision Insight, Inc., Cedar Park, Texas, and
++ VA Linux Systems Inc., Fremont, California.
++
++All Rights Reserved.
++
++Permission is hereby granted, free of charge, to any person obtaining
++a copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation on the rights to use, copy, modify, merge,
++publish, distribute, sublicense, and/or sell copies of the Software,
++and to permit persons to whom the Software is furnished to do so,
++subject to the following conditions:
++
++The above copyright notice and this permission notice (including the
++next paragraph) shall be included in all copies or substantial
++portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
++SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
++OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++OTHER DEALINGS IN THE SOFTWARE.
++
++Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas.
++Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
++All Rights Reserved.
++
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the "Software"),
++to deal in the Software without restriction, including without limitation
++the rights to use, copy, modify, merge, publish, distribute, sublicense,
++and/or sell copies of the Software, and to permit persons to whom the
++Software is furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice (including the next
++paragraph) shall be included in all copies or substantial portions of the
++Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
++OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++DEALINGS IN THE SOFTWARE.
++
++Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
++
++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, and
++that the name of Marc Aurele La France not be used in advertising or
++publicity pertaining to distribution of the software without specific,
++written prior permission. Marc Aurele La France makes no representations
++about the suitability of this software for any purpose. It is provided
++"as-is" without express or implied warranty.
++
++MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
++EVENT SHALL MARC AURELE LA FRANCE 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.
+
+-http://lists.freedesktop.org/mailman/listinfo/xorg
+diff --git a/Makefile.am b/Makefile.am
+index 1f4c3c4..4c278ba 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,21 +18,15 @@
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+-AUTOMAKE_OPTIONS = foreign
+ SUBDIRS = src man
++MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+-if BUILD_LINUXDOC
+-README.r128: README.r128.sgml
+- $(MAKE_TEXT) README.r128.sgml && mv README.r128.txt README.r128
++.PHONY: ChangeLog INSTALL
+
+-endif
+-
+-EXTRA_DIST = README.r128 README.r128.sgml ChangeLog
+-CLEANFILES = ChangeLog
+-
+-.PHONY: ChangeLog
++INSTALL:
++ $(INSTALL_CMD)
+
+ ChangeLog:
+ $(CHANGELOG_CMD)
+
+-dist-hook: ChangeLog
++dist-hook: ChangeLog INSTALL
+diff --git a/README b/README
+index cb61870..5c6f59d 100644
+--- a/README
++++ b/README
+@@ -1,4 +1,161 @@
+-xf86-video-r128 - ATI Rage 128 video driver for the Xorg X server
++ Information for ATI Rage 128 Users
++ Precision Insight, Inc., SuSE GmbH
++ 13 June 2000
++ ____________________________________________________________
++
++ Table of Contents
++
++
++ 1. Supported Hardware
++ 2. Features
++ 3. Technical Notes
++ 4. Reported Working Video Cards
++ 5. Configuration
++ 6. Driver Options
++ 7. Known Limitations
++ 8. Authors
++
++
++ ______________________________________________________________________
++
++ 1. Supported Hardware
++
++
++ o ATI Rage 128 based cards
++
++
++
++ 2. Features
++
++
++ o Full support (including hardware accelerated 2D drawing) for 8, 15,
++ 16, 24 bit pixel depths.
++
++ o Hardware cursor support to reduce sprite flicker.
++
++ o Support for high resolution video modes up to 1800x1440 @ 70Hz.
++
++ o Support for doublescan video modes (e.g., 320x200 and 320x240).
++
++ o Support for gamma correction at all pixel depths.
++
++ o Fully programmable clock supported.
++
++ o Robust text mode restore for VT switching.
++
++
++
++ 3. Technical Notes
++
++
++ o None
++
++
++
++ 4. Reported Working Video Cards
++
++
++ o Rage Fury AGP 32MB
++
++ o XPERT 128 AGP 16MB
++
++ o XPERT 99 AGP 8MB
++
++
++
++ 5. Configuration
++
++ The driver auto-detects all device information necessary to initialize
++ the card. The only lines you need in the "Device" section of your
++ xorg.conf file are:
++
++ Section "Device"
++ Identifier "Rage 128"
++ Driver "r128"
++ EndSection
++
++
++ or let xorgconfig do this for you.
++
++ However, if you have problems with auto-detection, you can specify:
++
++ o VideoRam - in kilobytes
++
++ o MemBase - physical address of the linear framebuffer
++
++ o IOBase - physical address of the memory mapped IO registers
++
++ o ChipID - PCI DEVICE ID
++
++
++
++ 6. Driver Options
++
++
++ o "hw_cursor" - request hardware cursor (default)
++
++ o "sw_cursor" - software cursor only
++
++ o "no_accel" - software rendering only
++
++ o "dac_8_bit" - use color weight 888 in 8 bpp mode (default)
++
++ o "dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation)
++
++
++
++ 7. Known Limitations
++
++
++ o None
++
++
++
++ 8. Authors
++
++ The X11R7.5 driver was originally part of XFree86 4.4 rc2.
++
++ The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by:
++
++ o Rickard E. (Rik) Faith <mailto:faith@precisioninsight.com>
++
++ o Kevin E. Martin <mailto:kevin@precisioninsight.com>
++
++ The XFree86 4 driver was funded by ATI and was donated to The XFree86
++ Project by:
++
++ Precision Insight, Inc.
++ Cedar Park, TX
++ USA
++
++
++ The XFree86 3.3.x driver used for the port was written by:
++
++ o Rickard E. (Rik) Faith <mailto:faith@precisioninsight.com>
++
++ o Kevin E. Martin <mailto:kevin@precisioninsight.com>
++
++ The XFree86 3.3.x driver was funded by ATI and was donated to The
++ XFree86 Project by Precision Insight, Inc. It was based in part on
++ an earlier driver that was written by:
++
++ o Alan Hourihane <mailto:alanh@fairlite.demon.co.uk>
++
++ o Dirk Hohndel <mailto:hohndel@suse.de>
++
++ This early driver was funded and donated to The XFree86 Project by:
++
++ SuSE GmbH
++ Schanzaekerstr. 10
++ 90443 Nuernberg
++ Germany
++
++
++
++ http://www.precisioninsight.com
++
++ http://www.suse.com
++
+
+ Please submit bugs & patches to the Xorg bugzilla:
+
+diff --git a/README.r128 b/README.r128
+deleted file mode 100644
+index dcc2715..0000000
+--- a/README.r128
++++ /dev/null
+@@ -1,160 +0,0 @@
+- Information for ATI Rage 128 Users
+- Precision Insight, Inc., SuSE GmbH
+- 13 June 2000
+- ____________________________________________________________
+-
+- Table of Contents
+-
+-
+- 1. Supported Hardware
+- 2. Features
+- 3. Technical Notes
+- 4. Reported Working Video Cards
+- 5. Configuration
+- 6. Driver Options
+- 7. Known Limitations
+- 8. Authors
+-
+-
+- ______________________________________________________________________
+-
+- 1. Supported Hardware
+-
+-
+- +o ATI Rage 128 based cards
+-
+-
+-
+- 2. Features
+-
+-
+- +o Full support (including hardware accelerated 2D drawing) for 8, 15,
+- 16, 24 bit pixel depths.
+-
+- +o Hardware cursor support to reduce sprite flicker.
+-
+- +o Support for high resolution video modes up to 1800x1440 @ 70Hz.
+-
+- +o Support for doublescan video modes (e.g., 320x200 and 320x240).
+-
+- +o Support for gamma correction at all pixel depths.
+-
+- +o Fully programmable clock supported.
+-
+- +o Robust text mode restore for VT switching.
+-
+-
+-
+- 3. Technical Notes
+-
+-
+- +o None
+-
+-
+-
+- 4. Reported Working Video Cards
+-
+-
+- +o Rage Fury AGP 32MB
+-
+- +o XPERT 128 AGP 16MB
+-
+- +o XPERT 99 AGP 8MB
+-
+-
+-
+- 5. Configuration
+-
+- The driver auto-detects all device information necessary to initialize
+- the card. The only lines you need in the "Device" section of your
+- xorg.conf file are:
+-
+- Section "Device"
+- Identifier "Rage 128"
+- Driver "r128"
+- EndSection
+-
+-
+- or let xorgconfig do this for you.
+-
+- However, if you have problems with auto-detection, you can specify:
+-
+- +o VideoRam - in kilobytes
+-
+- +o MemBase - physical address of the linear framebuffer
+-
+- +o IOBase - physical address of the memory mapped IO registers
+-
+- +o ChipID - PCI DEVICE ID
+-
+-
+-
+- 6. Driver Options
+-
+-
+- +o "hw_cursor" - request hardware cursor (default)
+-
+- +o "sw_cursor" - software cursor only
+-
+- +o "no_accel" - software rendering only
+-
+- +o "dac_8_bit" - use color weight 888 in 8 bpp mode (default)
+-
+- +o "dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation)
+-
+-
+-
+- 7. Known Limitations
+-
+-
+- +o None
+-
+-
+-
+- 8. Authors
+-
+- The X11R6.8 driver was originally part of XFree86 4.4 rc2.
+-
+- The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by:
+-
+- +o Rickard E. (Rik) Faith <faith@precisioninsight.com>
+-
+- +o Kevin E. Martin <kevin@precisioninsight.com>
+-
+- The XFree86 4 driver was funded by ATI and was donated to The XFree86
+- Project by:
+-
+- Precision Insight, Inc.
+- Cedar Park, TX
+- USA
+-
+-
+- The XFree86 3.3.x driver used for the port was written by:
+-
+- +o Rickard E. (Rik) Faith <faith@precisioninsight.com>
+-
+- +o Kevin E. Martin <kevin@precisioninsight.com>
+-
+- The XFree86 3.3.x driver was funded by ATI and was donated to The
+- XFree86 Project by Precision Insight, Inc. It was based in part on
+- an earlier driver that was written by:
+-
+- +o Alan Hourihane <alanh@fairlite.demon.co.uk>
+-
+- +o Dirk Hohndel <hohndel@suse.de>
+-
+- This early driver was funded and donated to The XFree86 Project by:
+-
+- SuSE GmbH
+- Schanzaekerstr. 10
+- 90443 Nuernberg
+- Germany
+-
+-
+-
+- http://www.precisioninsight.com
+-
+- http://www.suse.com
+-
+-
+-
+diff --git a/README.r128.sgml b/README.r128.sgml
+deleted file mode 100644
+index 8d7f448..0000000
+--- a/README.r128.sgml
++++ /dev/null
+@@ -1,138 +0,0 @@
+-<!DOCTYPE linuxdoc PUBLIC "-//Xorg//DTD linuxdoc//EN"[
+-<!ENTITY % defs SYSTEM "defs.ent"> %defs;
+-]>
+-
+-<article>
+-<title>Information for ATI Rage 128 Users
+-<author>Precision Insight, Inc., SuSE GmbH
+-<date>13 June 2000
+-
+-<ident>
+-</ident>
+-
+-<toc>
+-
+-<sect>Supported Hardware
+-<p>
+-<itemize>
+- <item>ATI Rage 128 based cards
+-</itemize>
+-
+-
+-<sect>Features
+-<p>
+-<itemize>
+- <item>Full support (including hardware accelerated 2D drawing) for 8, 15,
+- 16, 24 bit pixel depths.
+- <item>Hardware cursor support to reduce sprite flicker.
+- <item>Support for high resolution video modes up to 1800x1440 @ 70Hz.
+- <item>Support for doublescan video modes (e.g., 320x200 and 320x240).
+- <item>Support for gamma correction at all pixel depths.
+- <item>Fully programmable clock supported.
+- <item>Robust text mode restore for VT switching.
+-</itemize>
+-
+-
+-<sect>Technical Notes
+-<p>
+-<itemize>
+- <item>None
+-</itemize>
+-
+-
+-<sect>Reported Working Video Cards
+-<p>
+-<itemize>
+- <item>Rage Fury AGP 32MB
+- <item>XPERT 128 AGP 16MB
+- <item>XPERT 99 AGP 8MB
+-</itemize>
+-
+-
+-<sect>Configuration
+-<p>
+-The driver auto-detects all device information necessary to
+-initialize the card. The only lines you need in the "Device"
+-section of your xorg.conf file are:
+-<verb>
+- Section "Device"
+- Identifier "Rage 128"
+- Driver "r128"
+- EndSection
+-</verb>
+-or let <tt>xorgconfig</tt> do this for you.
+-
+-However, if you have problems with auto-detection, you can specify:
+-<itemize>
+- <item>VideoRam - in kilobytes
+- <item>MemBase - physical address of the linear framebuffer
+- <item>IOBase - physical address of the memory mapped IO registers
+- <item>ChipID - PCI DEVICE ID
+-</itemize>
+-
+-
+-<sect>Driver Options
+-<p>
+-<itemize>
+- <item>"hw_cursor" - request hardware cursor (default)
+- <item>"sw_cursor" - software cursor only
+- <item>"no_accel" - software rendering only
+- <item>"dac_8_bit" - use color weight 888 in 8 bpp mode (default)
+- <item>"dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation)
+-</itemize>
+-
+-
+-<sect>Known Limitations
+-<p>
+-<itemize>
+- <item>None
+-</itemize>
+-
+-
+-<sect>Authors
+-<p>
+-The X11R&relvers; driver was originally part of XFree86 4.4 rc2.
+-
+-The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by:
+-<itemize>
+- <item>Rickard E. (Rik) Faith <email>faith@precisioninsight.com</email>
+- <item>Kevin E. Martin <email>kevin@precisioninsight.com</email>
+-</itemize>
+-<p>
+-The XFree86 4 driver was funded by ATI and was donated to The XFree86
+-Project by:
+-<verb>
+- Precision Insight, Inc.
+- Cedar Park, TX
+- USA
+-</verb>
+-<p>
+-The XFree86 3.3.x driver used for the port was written by:
+-<itemize>
+- <item>Rickard E. (Rik) Faith <email>faith@precisioninsight.com</email>
+- <item>Kevin E. Martin <email>kevin@precisioninsight.com</email>
+-</itemize>
+-The XFree86 3.3.x driver was funded by ATI and was donated to The XFree86
+-Project by Precision Insight, Inc. It was based in part on an earlier
+-driver that was written by:
+-<itemize>
+- <item>Alan Hourihane <email>alanh@fairlite.demon.co.uk</email>
+- <item>Dirk Hohndel <email>hohndel@suse.de</email>
+-</itemize>
+-<p>This early driver was funded and donated to The XFree86 Project by:
+-<verb>
+- SuSE GmbH
+- Schanzaekerstr. 10
+- 90443 Nuernberg
+- Germany
+-</verb>
+-
+-<p>
+-<htmlurl name="http://www.precisioninsight.com"
+- url="http://www.precisioninsight.com">
+-<p>
+-<htmlurl name="http://www.suse.com"
+- url="http://www.suse.com">
+-
+-
+-</article>
+diff --git a/configure.ac b/configure.ac
+index 4e0f463..d5a0821 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,28 +20,30 @@
+ #
+ # Process this file with autoconf to produce a configure script
+
+-AC_PREREQ(2.57)
++# Initialize Autoconf
++AC_PREREQ([2.60])
+ AC_INIT([xf86-video-r128],
+- 6.8.1,
++ [6.8.1],
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+- xf86-video-r128)
+-
++ [xf86-video-r128])
+ AC_CONFIG_SRCDIR([Makefile.am])
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_AUX_DIR(.)
+
+-AM_INIT_AUTOMAKE([dist-bzip2])
++# Initialize Automake
++AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+-# Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG
+-m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])])
+-XORG_MACROS_VERSION(1.2)
++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
++m4_ifndef([XORG_MACROS_VERSION],
++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
++XORG_MACROS_VERSION(1.8)
++XORG_DEFAULT_OPTIONS
+
+ AM_MAINTAINER_MODE
+
+-# Checks for programs.
++# Initialize libtool
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+-AC_PROG_CC
+
+ if test "x$GCC" = "xyes"; then
+ CPPFLAGS="$CPPFLAGS -Wall"
+@@ -49,38 +51,35 @@ fi
+
+ AH_TOP([#include "xorg-server.h"])
+
++# Define a configure option for an alternate module directory
+ AC_ARG_WITH(xorg-module-dir,
+- AC_HELP_STRING([--with-xorg-module-dir=DIR],
++ AS_HELP_STRING([--with-xorg-module-dir=DIR],
+ [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+ [moduledir="$withval"],
+ [moduledir="$libdir/xorg/modules"])
+
+-AC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri],
++AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri],
+ [Disable DRI support [[default=auto]]]),
+ [DRI="$enableval"],
+ [DRI=auto])
+
+-# Checks for extensions
+-XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)
++# Store the list of server defined optional extensions in REQUIRED_MODULES
+ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+ XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
+ XORG_DRIVER_CHECK_EXT(XV, videoproto)
+ XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto)
+ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+
+-# Checks for pkg-config packages
++# Obtain compiler/linker options for the driver dependencies
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.2 xproto fontsproto $REQUIRED_MODULES])
+ PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
+ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
+ HAVE_XEXTPROTO_71="no")
+ AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
+-sdkdir=$(pkg-config --variable=sdkdir xorg-server)
++sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
+
+ # Checks for libraries.
+
+-# Checks for header files.
+-AC_HEADER_STDC
+-
+ if test "$DRI" != no; then
+ AC_CHECK_FILE([${sdkdir}/dri.h],
+ [have_dri_h="yes"], [have_dri_h="no"])
+@@ -126,26 +125,20 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
+ fi
+ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+
+-AC_SUBST([XORG_CFLAGS])
+-AC_SUBST([DRI_CFLAGS])
+ AC_SUBST([moduledir])
+
+ DRIVER_NAME=r128
+ AC_SUBST([DRIVER_NAME])
+
+-XORG_MANPAGE_SECTIONS
+-XORG_RELEASE_VERSION
+-XORG_CHECK_LINUXDOC
+-XORG_CHANGELOG
+-
+ AC_MSG_NOTICE(
+ [Please change the Driver line in xorg.conf from "ati" to "r128" or install]
+ [the ati wrapper as well:]
+ [ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati]
+ )
+
+-AC_OUTPUT([
+- Makefile
+- src/Makefile
+- man/Makefile
++AC_CONFIG_FILES([
++ Makefile
++ src/Makefile
++ man/Makefile
+ ])
++AC_OUTPUT
+diff --git a/man/Makefile.am b/man/Makefile.am
+index 858ba62..4e22d61 100644
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -1,27 +1,24 @@
+ #
+ # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+-#
+-# 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 above copyright notice and this permission notice shall be included
+-# in all copies or substantial portions of the Software.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+-# OTHER DEALINGS IN THE SOFTWARE.
+-#
+-# Except as contained in this notice, the name of the copyright holders shall
+-# not be used in advertising or otherwise to promote the sale, use or
+-# other dealings in this Software without prior written authorization
+-# from the copyright holders.
++#
++# Permission is hereby granted, free of charge, to any person obtaining a
++# copy of this software and associated documentation files (the "Software"),
++# to deal in the Software without restriction, including without limitation
++# the rights to use, copy, modify, merge, publish, distribute, sublicense,
++# and/or sell copies of the Software, and to permit persons to whom the
++# Software is furnished to do so, subject to the following conditions:
++#
++# The above copyright notice and this permission notice (including the next
++# paragraph) shall be included in all copies or substantial portions of the
++# Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++# DEALINGS IN THE SOFTWARE.
+ #
+
+ drivermandir = $(DRIVER_MAN_DIR)
+@@ -34,25 +31,11 @@ EXTRA_DIST = r128.man
+
+ CLEANFILES = $(driverman_DATA)
+
+-SED = sed
+
+-# Strings to replace in man pages
+-XORGRELSTRING = @PACKAGE_STRING@
+- XORGMANNAME = X Version 11
++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+
+-MAN_SUBSTS = \
+- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xservername__|Xorg|g' \
+- -e 's|__xconfigfile__|xorg.conf|g' \
+- -e 's|__projectroot__|$(prefix)|g' \
+- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
+- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \
+- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
+- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
+- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
+
+ SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
+
+ .man.$(DRIVER_MAN_SUFFIX):
+- sed $(MAN_SUBSTS) < $< > $@
++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+diff --git a/man/r128.man b/man/r128.man
+index 5c7c4fe..4ba933d 100644
+--- a/man/r128.man
++++ b/man/r128.man
+@@ -1,4 +1,3 @@
+-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128.man,v 1.3 2001/06/01 02:10:05 dawes Exp $
+ .\" shorthand for double quote that works everywhere.
+ .ds q \N'34'
+ .TH R128 __drivermansuffix__ __vendorversion__
+diff --git a/src/r128_driver.c b/src/r128_driver.c
+index d6448b6..9d08d77 100644
+--- a/src/r128_driver.c
++++ b/src/r128_driver.c
+@@ -938,14 +938,6 @@ static Bool R128PreInitConfig(ScrnInfoPtr pScrn)
+ /* BIOS */
+ from = X_PROBED;
+ info->BIOSAddr = info->PciInfo->biosBase & 0xfffe0000;
+- if (dev->BiosBase) {
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "BIOS address override, using 0x%08lx instead of 0x%08lx\n",
+- dev->BiosBase,
+- info->BIOSAddr);
+- info->BIOSAddr = dev->BiosBase;
+- from = X_CONFIG;
+- }
+ if (info->BIOSAddr) {
+ xf86DrvMsg(pScrn->scrnIndex, from,
+ "BIOS at 0x%08lx\n", info->BIOSAddr);
diff --git a/testing/xf86-video-rendition/PKGBUILD b/testing/xf86-video-rendition/PKGBUILD
new file mode 100644
index 000000000..3924c7354
--- /dev/null
+++ b/testing/xf86-video-rendition/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 136515 2011-08-30 08:45:11Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-rendition
+pkgver=4.2.4
+pkgrel=5
+pkgdesc="X.org Rendition video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool' '!strip')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('16148c25183f7829c22bc9dfdb588c1a16bf4565')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+
+ strip --strip-unneeded "${pkgdir}/usr/lib/xorg/modules/drivers/rendition_drv.so"
+}
diff --git a/testing/xf86-video-s3/LICENSE b/testing/xf86-video-s3/LICENSE
new file mode 100644
index 000000000..a4c8d5dd4
--- /dev/null
+++ b/testing/xf86-video-s3/LICENSE
@@ -0,0 +1,25 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+ Copyright 2001 Ani Joshi <ajoshi@unixbox.com>
+
+ XFree86 4.x driver for S3 chipsets
+
+
+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 and
+that the name of Ani Joshi not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Ani Joshi makes no representations
+about the suitability of this software for any purpose. It is provided
+"as-is" without express or implied warranty.
+
+ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ANI JOSHI 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/testing/xf86-video-s3/PKGBUILD b/testing/xf86-video-s3/PKGBUILD
new file mode 100644
index 000000000..892f52e0a
--- /dev/null
+++ b/testing/xf86-video-s3/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 136513 2011-08-30 08:45:08Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-s3
+pkgver=0.6.3
+pkgrel=6
+pkgdesc="X.org S3 video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+md5sums=('5eb06d88533fb327d067928faeb20860'
+ '77a455ce7e254c73b1cbd408c7f4ecf4')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ autoreconf -fi
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/testing/xf86-video-s3/git-fixes.patch b/testing/xf86-video-s3/git-fixes.patch
new file mode 100644
index 000000000..712b3c9c0
--- /dev/null
+++ b/testing/xf86-video-s3/git-fixes.patch
@@ -0,0 +1,458 @@
+diff --git a/COPYING b/COPYING
+index 7f33cbf..458ab5f 100644
+--- a/COPYING
++++ b/COPYING
+@@ -1,12 +1,70 @@
+-This is a stub file. This package has not yet had its complete licensing
+-information compiled. Please see the individual source files for details on
+-your rights to use and modify this software.
++ Copyright 2001 Ani Joshi <ajoshi@unixbox.com>
+
+-Please submit updated COPYING files to the Xorg bugzilla:
++ XFree86 4.x driver for S3 chipsets
+
+-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+-All licensing questions regarding this software should be directed at the
+-Xorg mailing list:
++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 and
++that the name of Ani Joshi not be used in advertising or
++publicity pertaining to distribution of the software without specific,
++written prior permission. Ani Joshi makes no representations
++about the suitability of this software for any purpose. It is provided
++"as-is" without express or implied warranty.
++
++ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++EVENT SHALL ANI JOSHI 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.
++Copyright 2007 George Sapountzis
++
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the "Software"),
++to deal in the Software without restriction, including without limitation
++the rights to use, copy, modify, merge, publish, distribute, sublicense,
++and/or sell copies of the Software, and to permit persons to whom the
++Software is furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice (including the next
++paragraph) shall be included in all copies or substantial portions of the
++Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++SOFTWARE.
++
++Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
++
++Permission is hereby granted, free of charge, to any person obtaining a copy of
++this software and associated documentation files (the "Software"), to deal in
++the Software without restriction, including without limitation the rights to
++use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
++of the Software, and to permit persons to whom the Software is furnished to do
++so, subject to the following conditions:
++
++The above copyright notice and this permission notice shall be included in all
++copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
++NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++Except as contained in this notice, the name of the XFree86 Project shall not
++be used in advertising or otherwise to promote the sale, use or other dealings
++in this Software without prior written authorization from the XFree86 Project.
++
++
++Copyright 1995-1997 The XFree86 Project, Inc.
++Copyright (c) 1999,2000 The XFree86 Project Inc.
+
+-http://lists.freedesktop.org/mailman/listinfo/xorg
+diff --git a/ChangeLog b/ChangeLog
+deleted file mode 100644
+index ad0b227..0000000
+--- a/ChangeLog
++++ /dev/null
+@@ -1,133 +0,0 @@
+-2009-06-25 Evgeny M. zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_driver.c:
+- Revert the old behaviour when the BIOS settings are used for
+- intialization of DRAM/VRAM timings, i. e. we don't touch the
+- timings during initialization phase until any memory option (like
+- slow_edodram) is specified.
+-
+- Add manual page.
+-
+-2009-05-25 Evgeny M. Zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_driver.c:
+- * src/s3_video.c:
+-
+- Enable Xv extension for Trio64V+ (thanks to Egor Ivanov for
+- testing on real hardware) and Trio64UV+ (Tested only on Trio64V2 by
+- overriding Chipset with "Trio64UV+" but not on real hardware).
+-
+- S3 Trio64V+ now using NewMMIO. Trio64V+ chips have the same ChipId
+- as Trio32/64 but only with chip revision greater or eq 0x40. So if
+- you have problems with NewMMIO, you may override ChipRev in "Device"
+- section of your xorg.conf: "ChipRev" 0x00. Note: disabling the NewMMIO
+- also disables overlay video (Xv) because it isn't implemented for
+- Old MMIO yet.
+-
+-2009-05-04 Evgeny M. Zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_driver.c:
+- * src/s3_shadow.c:
+-
+- Add shadowFB option. It can be used to speedup drawing when
+- hardware acceleration is undesirable or unavailable (for colour depth
+- 24 with 24 bpp framebuffer, for example). shadowFB is disabled by
+- default. Enabling shadowFB option disables HW acceleration. Thanks
+- to Egor Ivanov for initial porting of shadowFB from s3virge.
+-
+- Interlace mode support.
+-
+- Close bug #14999.
+-
+-2008-07-06 Evgeny M. Zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_video.c:
+-
+- Streams Processor initialization.
+-
+- XVideo support for 16, 24 and 32 bpp (only for TRIO64V2).
+-
+- * src/s3_driver.c:
+-
+- Add XVideo option (enabled by default).
+-
+- Replace "swcursor" by "hwcursor" option (HW cursor
+- not implemented yet for all chipsets).
+-
+- Close bug #5527: 24-bit colour depth support (24bpp and
+- 32bpp framebuffer) for TRIOs. Acceleration doesn't work
+- with packed colour mode (24 bpp FB) but works with 32bpp
+- framebuffer mode (hardware limitation? -- need data).
+-
+- Fix system hang-up when switching between console and X session.
+-
+- Some minor changes of driver messages.
+-
+-2008-02-23 Evgeny M. Zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_driver.c: Add DPMS support for S3 Trio64V2 and possibly
+- others (need testing): S3 Trio64UV+. S3 Aurora64V+ and S3 Trio32/64
+- * src/s3_Trio64DAC: Change clocks for S3 Trio64V2 to make
+- the 1024x768@16bpp mode work.
+- Thanks to Richard Driscoll for these patches.
+-
+-2006-04-07 Adam Jackson <ajax@freedesktop.org>
+-
+- * configure.ac:
+- * src/s3.h:
+- Bump to 0.4.1 for Xv changes.
+-
+-2006-04-07 Aaron Plattner <aplattner@nvidia.com>
+-
+- * src/s3_video.c: (S3PutImage):
+- Add a DrawablePtr argument to the XV functions to pave the way for
+- redirected video.
+-
+-2006-04-07 Adam Jackson <ajax@freedesktop.org>
+-
+- * configure.ac:
+- * src/s3.h:
+- * src/s3_IBMRGB.c:
+- * src/s3_Ti.c:
+- * src/s3_Trio64DAC.c:
+- * src/s3_bios.c:
+- * src/s3_cursor.c:
+- * src/s3_dga.c:
+- * src/s3_driver.c:
+- * src/s3_video.c:
+- Unlibcwrap. Bump server version requirement. Bump to 0.4.0.
+-
+-2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update package version for X11R7 release.
+-
+-2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update package version number for final X11R7 release candidate.
+-
+-2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update package version number for X11R7 RC3 release.
+-
+-2005-12-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Remove extraneous AC_MSG_RESULT.
+-
+-2005-11-29 Adam Jackson <ajax@freedesktop.org>
+-
+- * configure.ac:
+- Only build dlloader modules by default.
+-
+-2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update package version number for X11R7 RC2 release.
+-
+-2005-11-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update pkgcheck dependencies to work with separate build roots.
+diff --git a/Makefile.am b/Makefile.am
+index 7052905..4c278ba 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,5 +18,15 @@
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+-AUTOMAKE_OPTIONS = foreign
+ SUBDIRS = src man
++MAINTAINERCLEANFILES = ChangeLog INSTALL
++
++.PHONY: ChangeLog INSTALL
++
++INSTALL:
++ $(INSTALL_CMD)
++
++ChangeLog:
++ $(CHANGELOG_CMD)
++
++dist-hook: ChangeLog INSTALL
+diff --git a/configure.ac b/configure.ac
+index 0eecc87..0ac34f9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,42 +20,50 @@
+ #
+ # Process this file with autoconf to produce a configure script
+
+-AC_PREREQ(2.57)
++# Initialize Autoconf
++AC_PREREQ([2.60])
+ AC_INIT([xf86-video-s3],
+- 0.6.3,
++ [0.6.3],
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+- xf86-video-s3)
+-
++ [xf86-video-s3])
+ AC_CONFIG_SRCDIR([Makefile.am])
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_AUX_DIR(.)
+
+-AM_INIT_AUTOMAKE([dist-bzip2])
+-
++# Initialize Automake
++AM_INIT_AUTOMAKE([foreign dist-bzip2])
+ AM_MAINTAINER_MODE
+
+-# Checks for programs.
++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
++m4_ifndef([XORG_MACROS_VERSION],
++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
++XORG_MACROS_VERSION(1.8)
++XORG_DEFAULT_OPTIONS
++
++# Initialize libtool
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+-AC_PROG_CC
++
++# Checks for programs.
++AM_PROG_CC_C_O
+
+ AH_TOP([#include "xorg-server.h"])
+
++# Define a configure option for an alternate module directory
+ AC_ARG_WITH(xorg-module-dir,
+- AC_HELP_STRING([--with-xorg-module-dir=DIR],
++ AS_HELP_STRING([--with-xorg-module-dir=DIR],
+ [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+ [moduledir="$withval"],
+ [moduledir="$libdir/xorg/modules"])
+
+-# Checks for extensions
++# Store the list of server defined optional extensions in REQUIRED_MODULES
+ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+ XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
+ XORG_DRIVER_CHECK_EXT(XV, videoproto)
+ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+
+-# Checks for pkg-config packages
++# Obtain compiler/linker options for the driver dependencies
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.4 xproto fontsproto $REQUIRED_MODULES])
+-sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+
+ # Checks for libraries.
+ SAVE_CPPFLAGS="$CPPFLAGS"
+@@ -65,28 +73,20 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
+ [#include "xorg-server.h"])
+ CPPFLAGS="$SAVE_CPPFLAGS"
+
+-# Checks for header files.
+-AC_HEADER_STDC
+-
+ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
+ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
+ XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
+ fi
+ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+
+-AC_SUBST([XORG_CFLAGS])
+ AC_SUBST([moduledir])
+
+ DRIVER_NAME=s3
+ AC_SUBST([DRIVER_NAME])
+
+-XORG_MANPAGE_SECTIONS
+-XORG_RELEASE_VERSION
+-
+-XORG_CHECK_LINUXDOC
+-
+-AC_OUTPUT([
+- Makefile
+- src/Makefile
+- man/Makefile
++AC_CONFIG_FILES([
++ Makefile
++ src/Makefile
++ man/Makefile
+ ])
++AC_OUTPUT
+diff --git a/man/Makefile.am b/man/Makefile.am
+index f0eb29b..b3688ce 100644
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -1,27 +1,24 @@
+ #
+ # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+-#
+-# 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 above copyright notice and this permission notice shall be included
+-# in all copies or substantial portions of the Software.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+-# OTHER DEALINGS IN THE SOFTWARE.
+-#
+-# Except as contained in this notice, the name of the copyright holders shall
+-# not be used in advertising or otherwise to promote the sale, use or
+-# other dealings in this Software without prior written authorization
+-# from the copyright holders.
++#
++# Permission is hereby granted, free of charge, to any person obtaining a
++# copy of this software and associated documentation files (the "Software"),
++# to deal in the Software without restriction, including without limitation
++# the rights to use, copy, modify, merge, publish, distribute, sublicense,
++# and/or sell copies of the Software, and to permit persons to whom the
++# Software is furnished to do so, subject to the following conditions:
++#
++# The above copyright notice and this permission notice (including the next
++# paragraph) shall be included in all copies or substantial portions of the
++# Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++# DEALINGS IN THE SOFTWARE.
+ #
+
+ drivermandir = $(DRIVER_MAN_DIR)
+@@ -34,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man
+
+ CLEANFILES = $(driverman_DATA)
+
+-SED = sed
+
+-# Strings to replace in man pages
+-XORGRELSTRING = @PACKAGE_STRING@
+- XORGMANNAME = X Version 11
++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+
+-MAN_SUBSTS = \
+- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xservername__|Xorg|g' \
+- -e 's|__xconfigfile__|xorg.conf|g' \
+- -e 's|__projectroot__|$(prefix)|g' \
+- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
+- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \
+- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
+- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
+- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
+
+ SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
+
+ .man.$(DRIVER_MAN_SUFFIX):
+- sed $(MAN_SUBSTS) < $< > $@
++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+diff --git a/src/s3.h b/src/s3.h
+index 49b8a54..0875fc9 100644
+--- a/src/s3.h
++++ b/src/s3.h
+@@ -113,7 +113,6 @@ typedef struct _S3Rec {
+ XAAInfoRecPtr pXAA;
+ xf86CursorInfoPtr pCurs;
+ xf86Int10InfoPtr pInt10;
+- vbeInfoPtr pVBE;
+ XF86VideoAdaptorPtr adaptor;
+ S3PortPrivPtr portPrivate;
+
+diff --git a/src/s3_driver.c b/src/s3_driver.c
+index 29e343d..4519b33 100644
+--- a/src/s3_driver.c
++++ b/src/s3_driver.c
+@@ -309,6 +309,7 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
+ S3Ptr pS3;
+ vgaHWPtr hwp;
+ ClockRangePtr clockRanges;
++ vbeInfoPtr pVBE;
+ rgb zeros = {0, 0, 0};
+ Gamma gzeros = {0.0, 0.0, 0.0};
+ int i, vgaCRIndex, vgaCRReg;
+@@ -436,7 +437,8 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
+ }
+
+ if (xf86LoadSubModule(pScrn, "vbe")) {
+- pS3->pVBE = VBEInit(pS3->pInt10, pEnt->index);
++ pVBE = VBEInit(pS3->pInt10, pEnt->index);
++ vbeFree(pVBE);
+ }
+
+ if (pS3->shadowFB) {
diff --git a/testing/xf86-video-s3virge/PKGBUILD b/testing/xf86-video-s3virge/PKGBUILD
new file mode 100644
index 000000000..3532b09a6
--- /dev/null
+++ b/testing/xf86-video-s3virge/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 136511 2011-08-30 08:45:06Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xf86-video-s3virge
+pkgver=1.10.4
+pkgrel=6
+pkgdesc="X.org S3 Virge video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('pkgconfig' 'xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+options=(!libtool)
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ copyright.patch)
+md5sums=('6517bbbf808c700502d51acdc44662f8'
+ 'f91fb259e3632fb9130fcbe69ecd9d6a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/copyright.patch"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-savage/PKGBUILD b/testing/xf86-video-savage/PKGBUILD
new file mode 100644
index 000000000..4fa3ce4ee
--- /dev/null
+++ b/testing/xf86-video-savage/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 136509 2011-08-30 08:45:04Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-savage
+pkgver=2.3.2
+pkgrel=3
+pkgdesc="X.org savage video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc' 'savage-dri')
+makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.10.0')
+options=(!libtool !makeflags)
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+sha1sums=('d675693d0b29cb24f624ef57c1fe2f271f6bf6c3'
+ '0ee1dd57cd48dad4d46ebcfe914b88027e44c3f1')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ ./configure --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-siliconmotion/PKGBUILD b/testing/xf86-video-siliconmotion/PKGBUILD
new file mode 100644
index 000000000..54481e5eb
--- /dev/null
+++ b/testing/xf86-video-siliconmotion/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 136507 2011-08-30 08:45:01Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xf86-video-siliconmotion
+pkgver=1.7.5
+pkgrel=3
+pkgdesc="X.org siliconmotion video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('946acae0822d51da57abe8b7ed049691bd731589')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-sis/PKGBUILD b/testing/xf86-video-sis/PKGBUILD
new file mode 100644
index 000000000..2e21cca87
--- /dev/null
+++ b/testing/xf86-video-sis/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 136505 2011-08-30 08:44:59Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-sis
+pkgver=0.10.3
+pkgrel=5
+pkgdesc="X.org SiS video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc' 'sis-dri')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('158673747e240b0c33499685a32d46bdaead7cd5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch b/testing/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch
new file mode 100644
index 000000000..fd87b6c8c
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch
@@ -0,0 +1,25 @@
+From e4f6a2fcd5712d0f994d3719b9c6c13f5b02bc7c Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri, 9 Jan 2009 16:34:01 -0800
+Subject: [PATCH 01/10] Remove xorgconfig & xorgcfg from See Also list in man page
+
+---
+ man/sis.man | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/man/sis.man b/man/sis.man
+index d743fe6..c321808 100644
+--- a/man/sis.man
++++ b/man/sis.man
+@@ -429,7 +429,7 @@ The amount is to be specified in megabyte, the default is 8.
+ none.
+ .SH "SEE ALSO"
+ #ifdef __xservername__
+-__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
++__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
+ #else
+ XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__)
+ #endif
+--
+1.6.5.4
+
diff --git a/testing/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch b/testing/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch
new file mode 100644
index 000000000..860e593c6
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch
@@ -0,0 +1,91 @@
+diff -p -up xf86-video-sis-0.9.1/configure.ac.orig xf86-video-sis-0.9.1/configure.ac
+--- xf86-video-sis-0.9.1/configure.ac.orig 2010-01-27 15:34:26.000000000 -0500
++++ xf86-video-sis-0.9.1/configure.ac 2010-01-27 15:34:43.000000000 -0500
+@@ -58,7 +58,6 @@ XORG_DRIVER_CHECK_EXT(XINERAMA, xinerama
+ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+ XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
+ XORG_DRIVER_CHECK_EXT(XV, videoproto)
+-XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto)
+ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+
+ # Checks for pkg-config packages
+diff -p -up xf86-video-sis-0.9.1/src/sis_driver.c.orig xf86-video-sis-0.9.1/src/sis_driver.c
+--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2010-01-27 15:35:05.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-27 15:35:39.000000000 -0500
+@@ -86,8 +86,6 @@
+ #include "mibank.h"
+ #include "mipointer.h"
+ #include "mibstore.h"
+-#define _XF86MISC_SERVER_
+-#include <X11/extensions/xf86misc.h>
+ #include "edid.h"
+
+ #define SIS_NEED_inSISREG
+@@ -506,11 +504,6 @@ xf86DrvMsg(0, X_INFO, "
+ pScrn->FreeScreen = SISFreeScreen;
+ pScrn->ValidMode = SISValidMode;
+ pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/
+-#ifdef X_XF86MiscPassMessage
+-// if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
+-// pScrn->HandleMessage = SISHandleMessage;
+-// }
+-#endif
+ foundScreen = TRUE;
+ }
+ #ifdef SISDUALHEAD
+diff -p -up xf86-video-sis-0.9.1/src/sis_driver.h.orig xf86-video-sis-0.9.1/src/sis_driver.h
+--- xf86-video-sis-0.9.1/src/sis_driver.h.orig 2010-01-27 15:35:49.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_driver.h 2010-01-27 15:36:04.000000000 -0500
+@@ -791,10 +791,6 @@ static Bool SISHotkeySwitchMode(ScrnInfo
+ #ifdef SISDUALHEAD
+ static Bool SISSaveScreenDH(ScreenPtr pScreen, int mode);
+ #endif
+-#ifdef X_XF86MiscPassMessage
+-extern int SISHandleMessage(int scrnIndex, const char *msgtype,
+- const char *msgval, char **retmsg);
+-#endif
+ static void SISFreeScreen(int scrnIndex, int flags);
+ static ModeStatus SISValidMode(int scrnIndex, DisplayModePtr mode,
+ Bool verbose, int flags);
+diff -p -up xf86-video-sis-0.9.1/src/sis_utility.c.orig xf86-video-sis-0.9.1/src/sis_utility.c
+--- xf86-video-sis-0.9.1/src/sis_utility.c.orig 2010-01-27 15:36:23.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_utility.c 2010-01-27 15:36:59.000000000 -0500
+@@ -40,8 +40,6 @@
+ #define NEED_EVENTS
+ #include <X11/X.h>
+ #include "dixstruct.h"
+-#define _XF86MISC_SERVER_
+-#include <X11/extensions/xf86misc.h>
+
+ #include "sis_videostr.h"
+
+@@ -262,9 +260,6 @@ typedef struct {
+ int (*HandleSiSDirectCommand[SISCTRL_MAX_SCREENS])(xSiSCtrlCommandReply *);
+ } xSiSCtrlScreenTable;
+
+-#ifdef X_XF86MiscPassMessage
+-int SISHandleMessage(int scrnIndex, const char *msgtype, const char *msgval, char **retmsg);
+-#endif
+ void SiSCtrlExtInit(ScrnInfoPtr pScrn);
+ void SiSCtrlExtUnregister(SISPtr pSiS, int index);
+
+@@ -975,19 +970,6 @@ unsigned int SISVGADetected(ScrnInfoPtr
+ }
+
+ /***********************************
+- * MessageHandler interface *
+- * (unused now; use extension) *
+- ***********************************/
+-
+-#ifdef X_XF86MiscPassMessage
+-int
+-SISHandleMessage(int scrnIndex, const char *msgtype, const char *msgval, char **retmsg)
+-{
+- return BadMatch;
+-}
+-#endif
+-
+-/***********************************
+ * SiSCtrl extension interface *
+ ***********************************/
+
diff --git a/testing/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch b/testing/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch
new file mode 100644
index 000000000..4fc355bbb
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch
@@ -0,0 +1,65 @@
+From 9b010b7db7f0c6730c1a1b3cd473d49b01ed5b5f Mon Sep 17 00:00:00 2001
+From: Ander Conselvan de Oliveira <ander@mandriva.com.br>
+Date: Mon, 22 Jun 2009 16:07:26 -0400
+Subject: [PATCH] Fix build with -Werror=format-security
+
+---
+ src/sis_driver.c | 4 ++--
+ src/sis_mergedfb.c | 6 +++---
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 5b91004..0a154db 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -831,14 +831,14 @@ SISErrorLog(ScrnInfoPtr pScrn, const char *format, ...)
+ static const char *str = "**************************************************\n";
+
+ va_start(ap, format);
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ " ERROR:\n");
+ xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap);
+ va_end(ap);
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ " END OF MESSAGE\n");
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+ }
+
+ static void
+diff --git a/src/sis_mergedfb.c b/src/sis_mergedfb.c
+index 61b4255..feca024 100644
+--- a/src/sis_mergedfb.c
++++ b/src/sis_mergedfb.c
+@@ -357,7 +357,7 @@ SiSCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
+
+ strcat(printbuffer, namebuf1);
+
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO, printbuffer);
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s", printbuffer);
+ }
+
+ mode->next = mode;
+@@ -2137,7 +2137,7 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1)
+ if(infochanged && !usenonrect) {
+ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb,
+ "Current screen size does not match maximum display modes...\n");
+- xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, rectxine);
++ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, "%s", rectxine);
+ }
+
+ } else if(infochanged && usenonrect) {
+@@ -2145,7 +2145,7 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1)
+ usenonrect = FALSE;
+ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb,
+ "Only clone modes available for this screen size...\n");
+- xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, rectxine);
++ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, "%s", rectxine);
+
+ }
+
+--
+1.6.2.4
+
diff --git a/testing/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch b/testing/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch
new file mode 100644
index 000000000..68ec63138
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch
@@ -0,0 +1,32 @@
+From 49c641b638ac36d2a559555c04a3bd2777c8d071 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri, 1 May 2009 16:52:10 -0700
+Subject: [PATCH 04/10] Make sisRegs3D4 big enough to hold all values written to it
+
+Increase size from 0xff to 0x100 since SiS315Save (sis_dac.c line 752)
+writes values into sisRegs3D4[0x00..0xff] if ChipType >= XGI_20
+
+[This bug was found by the Parfait bug checking tool.
+ For more information see http://research.sun.com/projects/parfait ]
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+---
+ src/sis.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/sis.h b/src/sis.h
+index 9bafd4b..773f709 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -747,7 +747,7 @@ typedef struct {
+ UChar sisRegsGR[10];
+ UChar sisDAC[768];
+ UChar sisRegs3C4[0x80];
+- UChar sisRegs3D4[0xff];
++ UChar sisRegs3D4[0x100];
+ UChar sisRegs3C2;
+ UChar sisCapt[0x60];
+ UChar sisVid[0x50];
+--
+1.6.5.4
+
diff --git a/testing/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch b/testing/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch
new file mode 100644
index 000000000..038322bf6
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch
@@ -0,0 +1,38 @@
+From 933dd8f860883c613acb5bcdf6b66100dbdfa952 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri, 1 May 2009 16:57:22 -0700
+Subject: [PATCH 05/10] Correct bounds check of blitClip array access
+
+Array is defined as blitClip[NUM_BLIT_PORTS], so invalid indexes
+are >= NUM_BLIT_PORTS, not just > NUM_BLIT_PORTS
+
+[This bug was found by the Parfait bug checking tool.
+ For more information see http://research.sun.com/projects/parfait ]
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+---
+ src/sis_video.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: xf86-video-sis-0.9.1/src/sis_video.c
+===================================================================
+--- xf86-video-sis-0.9.1.orig/src/sis_video.c
++++ xf86-video-sis-0.9.1/src/sis_video.c
+@@ -4656,7 +4656,7 @@ SISStopVideoBlit(ScrnInfoPtr pScrn, ULon
+ * adapt->flags but we provide it anyway.
+ */
+
+- if(index > NUM_BLIT_PORTS) return;
++ if(index >= NUM_BLIT_PORTS) return;
+
+ REGION_EMPTY(pScrn->pScreen, &pPriv->blitClip[index]);
+
+@@ -4698,7 +4698,7 @@ SISPutImageBlit_671(
+ int xoffset = 0, yoffset = 0;
+ Bool first;
+
+- if(index > NUM_BLIT_PORTS)
++ if(index >= NUM_BLIT_PORTS)
+ return BadMatch;
+
+ if(!height || !width)
diff --git a/testing/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch b/testing/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch
new file mode 100644
index 000000000..f023c774e
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch
@@ -0,0 +1,25 @@
+From 910073e0ab3a7bf9e5c9d97437a879d97edc2714 Mon Sep 17 00:00:00 2001
+From: root <root@greentea.conectiva>
+Date: Wed, 1 Jul 2009 09:59:39 -0400
+Subject: [PATCH] Fix backlight off on SiS30x. video bridges.
+
+---
+ src/init301.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/init301.c b/src/init301.c
+index c179ae8..70a6aab 100644
+--- a/src/init301.c
++++ b/src/init301.c
+@@ -9261,7 +9261,7 @@ void
+ SiS_SiS30xBLOff(struct SiS_Private *SiS_Pr)
+ {
+ /* Switch off LCD backlight on SiS30xLV */
+- SiS_SetRegAND(SiS_Pr->SiS_Part4Port,0x26,0xFE);
++ SiS_SetRegAND(SiS_Pr->SiS_Part4Port,0x26,0xFC);
+ SiS_DDC2Delay(SiS_Pr,0xff00);
+ }
+
+--
+1.5.4.3
+
diff --git a/testing/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch b/testing/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch
new file mode 100644
index 000000000..8ebc799a7
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch
@@ -0,0 +1,89 @@
+From 072af02d180c1965f30246ea269d208292ed6f05 Mon Sep 17 00:00:00 2001
+From: root <root@greentea.conectiva>
+Date: Wed, 1 Jul 2009 14:13:52 -0400
+Subject: [PATCH] Add IgnoreHotkeyFlag driver option.
+
+Some BIOSes do not set the hotkey flag correctly. Without this option
+set, the driver won't change the mirroring state of LCD and VGA
+connections if the BIOS did not set this flag.
+---
+ src/sis.h | 3 +++
+ src/sis_driver.c | 2 +-
+ src/sis_opt.c | 13 ++++++++++++-
+ 3 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/src/sis.h b/src/sis.h
+index c50690b..c82c302 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -1565,6 +1565,9 @@ typedef struct {
+
+ /* Enable special 1366x768x60hz mode of LVDS panel. Ivans@090109 */
+ Bool EnablePanel_1366x768;
++
++ /* Ignore hotkey flag on capability changed APM events */
++ Bool IgnoreHotkeyFlag;
+
+ } SISRec, *SISPtr;
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index c935c11..2a5001c 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -11370,7 +11370,7 @@ SISPMEvent(int scrnIndex, pmEvent event, Bool undo)
+ inSISIDXREG(SISCR,0x3d,hotkeyflag);/*check device switch flag from BIOS CR 0x3d bit[2].*/
+
+
+- if(hotkeyflag & 0x04)
++ if(pSiS->IgnoreHotkeyFlag || (hotkeyflag & 0x04))
+ {
+
+ SISCRT1PreInit(pScrn); /*redetecting CRT1, pSiS->CRT1detected will update.*/
+diff --git a/src/sis_opt.c b/src/sis_opt.c
+index 4b79f7f..7f726ea 100644
+--- a/src/sis_opt.c
++++ b/src/sis_opt.c
+@@ -159,7 +159,8 @@ typedef enum {
+ OPTION_PSEUDO,
+ OPTION_FUTRO_TIMING, /*chaoyu's modified: for Fuji-Siemans specail timing*/
+ OPTION_TRACEVGAMISCW,
+- OPTION_USETIMING1366 /*option of enable 1366x768 timing for LVDS panel. Ivans@090109*/
++ OPTION_USETIMING1366, /*option of enable 1366x768 timing for LVDS panel. Ivans@090109*/
++ OPTION_IGNOREHOTKEYFLAG
+ } SISOpts;
+
+ static const OptionInfoRec SISOptions[] = {
+@@ -305,6 +306,7 @@ static const OptionInfoRec SISOptions[] = {
+ { OPTION_FUTRO_TIMING, "FutroTiming", OPTV_BOOLEAN, {0}, FALSE },/*chaoyu's modified: for Fuji-seimans special timing*/
+ { OPTION_TRACEVGAMISCW, "TraceVgaMISCW", OPTV_BOOLEAN, {0}, FALSE },/*Ivans added for helping detected CRT1 using BIOS setting.*/
+ { OPTION_USETIMING1366, "UseTiming1366", OPTV_BOOLEAN, {0}, FALSE },/*enable 1366 timing on LVDS, Ivans@090109*/
++ { OPTION_IGNOREHOTKEYFLAG, "IgnoreHotkeyFlag", OPTV_BOOLEAN, {0}, FALSE },
+ { -1, NULL, OPTV_NONE, {0}, FALSE }
+ };
+
+@@ -624,6 +626,7 @@ SiSOptions(ScrnInfoPtr pScrn)
+ pSiS->CRT2IsScrn0 = FALSE;
+ #endif
+ #endif
++ pSiS->IgnoreHotkeyFlag = FALSE;
+
+ /* Chipset dependent defaults */
+
+@@ -2419,6 +2422,14 @@ SiSOptions(ScrnInfoPtr pScrn)
+ pSiS->EnablePanel_1366x768 = TRUE;
+ }
+ }
++ /* Ignore hotkey flag for video switch, switch on every
++ * XF86_APM_CAPABILITY_CHANGED event */
++ if(xf86GetOptValBool(pSiS->Options, OPTION_IGNOREHOTKEYFLAG, &val)){
++ if(val){
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,"Ignoring hotkey flag\n");
++ pSiS->IgnoreHotkeyFlag = TRUE;
++ }
++ }
+
+ }
+
+--
+1.5.4.3
+
diff --git a/testing/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch b/testing/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch
new file mode 100644
index 000000000..395213375
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch
@@ -0,0 +1,249 @@
+From ae1a7dcebdac904c8068cc38fb77648c548f5075 Mon Sep 17 00:00:00 2001
+From: Paulo Ricardo Zanoni <pzanoni@mandriva.com>
+Date: Thu, 22 Apr 2010 11:19:29 -0300
+Subject: [PATCH] Remove useless loader symbol lists
+
+Adaption of xf86-video-sis patch 74553b5ee476a0dd28e136f5a33a546ea0c3ef28
+---
+ src/sis_driver.c | 150 +-----------------------------------------------------
+ 1 files changed, 1 insertions(+), 149 deletions(-)
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index d56182f..96255d3 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -227,126 +227,6 @@ static PciChipsets XGIPciChipsets[] = {
+ { -1, -1, RES_UNDEFINED }
+ };
+
+-#ifdef SIS_USE_XAA
+-static const char *xaaSymbols[] = {
+- "XAACreateInfoRec",
+- "XAADestroyInfoRec",
+- "XAAHelpPatternROP",
+- "XAAInit",
+- NULL
+-};
+-#endif
+-
+-#ifdef SIS_USE_EXA
+-static const char *exaSymbols[] = {
+- "exaGetVersion",
+- "exaDriverInit",
+- "exaDriverFini",
+- "exaOffscreenAlloc",
+- "exaOffscreenFree",
+- NULL
+-};
+-#endif
+-
+-static const char *fbSymbols[] = {
+- "fbPictureInit",
+- "fbScreenInit",
+- NULL
+-};
+-
+-static const char *shadowSymbols[] = {
+- "ShadowFBInit",
+- NULL
+-};
+-
+-static const char *ramdacSymbols[] = {
+- "xf86CreateCursorInfoRec",
+- "xf86DestroyCursorInfoRec",
+- "xf86InitCursor",
+- NULL
+-};
+-
+-static const char *ddcSymbols[] = {
+- "xf86PrintEDID",
+- "xf86InterpretEDID",
+- NULL
+-};
+-
+-static const char *int10Symbols[] = {
+- "xf86FreeInt10",
+- "xf86InitInt10",
+- NULL
+-};
+-
+-static const char *vbeSymbols[] = {
+-#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0)
+- "VBEInit",
+-#else
+- "VBEExtendedInit",
+-#endif
+- "vbeDoEDID",
+- "vbeFree",
+- "VBEGetVBEInfo",
+- "VBEFreeVBEInfo",
+- "VBEGetModeInfo",
+- "VBEFreeModeInfo",
+- "VBESaveRestore",
+- "VBESetVBEMode",
+- "VBEGetVBEMode",
+- "VBESetDisplayStart",
+- "VBESetGetLogicalScanlineLength",
+- NULL
+-};
+-
+-#ifdef XF86DRI
+-static const char *drmSymbols[] = {
+- "drmAddMap",
+- "drmAgpAcquire",
+- "drmAgpRelease",
+- "drmAgpAlloc",
+- "drmAgpFree",
+- "drmAgpBase",
+- "drmAgpBind",
+- "drmAgpUnbind",
+- "drmAgpEnable",
+- "drmAgpGetMode",
+- "drmCtlInstHandler",
+- "drmCtlUninstHandler",
+- "drmGetInterruptFromBusID",
+-#ifndef SISHAVEDRMWRITE
+- "drmSiSAgpInit",
+-#else
+- "drmCommandWrite",
+-#endif
+-#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,3,0,0,0)
+- "drmGetVersion",
+- "drmFreeVersion",
+-#endif
+- NULL
+-};
+-
+-static const char *driSymbols[] = {
+- "DRICreateInfoRec",
+- "DRIScreenInit",
+- "DRIFinishScreenInit",
+- "DRIDestroyInfoRec",
+- "DRICloseScreen",
+- "DRIGetSAREAPrivate",
+- "DRILock",
+- "DRIUnlock",
+- "DRIQueryVersion",
+- "GlxSetVisualConfigs",
+- NULL
+-};
+-
+-#ifdef XFree86LOADER
+-static const char *driRefSymbols[] = {
+- "DRICreatePCIBusID", /* not REQUIRED, but eventually referenced */
+- NULL
+-};
+-#endif
+-#endif /* XF86DRI */
+-
+ #ifdef XFree86LOADER
+
+ static MODULESETUPPROTO(sisSetup);
+@@ -382,19 +262,6 @@ sisSetup(pointer module, pointer opts, int *errmaj, int *errmin)
+ if(!setupDone) {
+ setupDone = TRUE;
+ xf86AddDriver(&SIS, module, SIS_HaveDriverFuncs);
+- LoaderRefSymLists(fbSymbols,
+-#ifdef SIS_USE_XAA
+- xaaSymbols,
+-#endif
+-#ifdef SIS_USE_EXA
+- exaSymbols,
+-#endif
+- shadowSymbols, ramdacSymbols,
+- vbeSymbols, int10Symbols,
+-#ifdef XF86DRI
+- drmSymbols, driSymbols, driRefSymbols,
+-#endif
+- NULL);
+ return (pointer)TRUE;
+ }
+
+@@ -1068,7 +935,6 @@ SiS_LoadInitVBE(ScrnInfoPtr pScrn)
+ return;
+
+ if(xf86LoadSubModule(pScrn, "vbe")) {
+- xf86LoaderReqSymLists(vbeSymbols, NULL);
+ #if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0)
+ pSiS->pVbe = VBEInit(pSiS->pInt, pSiS->pEnt->index);
+ #else
+@@ -1092,7 +958,6 @@ SiSLoadInitDDCModule(ScrnInfoPtr pScrn)
+ return TRUE;
+
+ if(xf86LoadSubModule(pScrn, "ddc")) {
+- xf86LoaderReqSymLists(ddcSymbols, NULL);
+ pSiS->haveDDC = TRUE;
+ return TRUE;
+ }
+@@ -3586,7 +3451,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Initializing adapter through int10\n");
+ if(xf86LoadSubModule(pScrn, "int10")) {
+- xf86LoaderReqSymLists(int10Symbols, NULL);
+ pSiS->pInt = xf86InitInt10(pSiS->pEnt->index);
+ } else {
+ SISErrorLog(pScrn, "Failed to load int10 module\n");
+@@ -3683,7 +3547,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ SISErrorLog(pScrn, "Could not load ramdac module\n");
+ goto my_error_1;
+ }
+- xf86LoaderReqSymLists(ramdacSymbols, NULL);
+
+ /* Set pScrn->monitor */
+ pScrn->monitor = pScrn->confScreen->monitor;
+@@ -5868,22 +5731,18 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ SISErrorLog(pScrn, "Unsupported framebuffer bpp (%d)\n", pScrn->bitsPerPixel);
+ goto my_error_1;
+ }
+- xf86LoaderReqSymLists(fbSymbols, NULL);
+
+ /* Load XAA/EXA (if needed) */
+ if(!pSiS->NoAccel) {
+ char *modName = NULL;
+- const char **symNames = NULL;
+ #ifdef SIS_USE_XAA
+ if(!pSiS->useEXA) {
+ modName = "xaa";
+- symNames = xaaSymbols;
+ }
+ #endif
+ #ifdef SIS_USE_EXA
+ if(pSiS->useEXA) {
+ modName = "exa";
+- symNames = exaSymbols;
+ }
+ #endif
+ if(modName && (!xf86LoadSubModule(pScrn, modName))) {
+@@ -5894,9 +5753,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ pSiS->NoXvideo = TRUE;
+ }
+ #endif
+- } else if(symNames) {
+- xf86LoaderReqSymLists(symNames, NULL);
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "2D acceleration enabled, modename %s\n",modName);
+ }
+ }
+
+@@ -5909,8 +5765,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ pSiS->ShadowFB = FALSE;
+ pSiS->Rotate = pSiS->Reflect = 0;
+ }
+- } else {
+- xf86LoaderReqSymLists(shadowSymbols, NULL);
+ }
+ }
+
+@@ -5920,9 +5774,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ if(!xf86LoaderCheckSymbol("DRIScreenInit")) {
+ if(xf86LoadSubModule(pScrn, "dri")) {
+ if(!xf86LoaderCheckSymbol("GlxSetVisualConfigs")) {
+- if(xf86LoadSubModule(pScrn, "glx")) {
+- xf86LoaderReqSymLists(driSymbols, drmSymbols, NULL);
+- } else {
++ if(! xf86LoadSubModule(pScrn, "glx")) {
+ SISErrorLog(pScrn, "Failed to load glx module\n");
+ }
+ }
+--
+1.6.4.4
+
diff --git a/testing/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch b/testing/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch
new file mode 100644
index 000000000..1dcbdf05c
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch
@@ -0,0 +1,45 @@
+From 59ea80738d22c69a2850fd7ff89bd75330cc310b Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu, 16 Jul 2009 01:55:25 +0000
+Subject: Update to xextproto 7.1 support.
+
+DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers
+need to include dpmsconst.h if xextproto 7.1 is available.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+diff --git a/configure.ac b/configure.ac
+index 089c5fa..f19c1b7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,6 +62,10 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+
+ # Checks for pkg-config packages
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto xf86dgaproto $REQUIRED_MODULES])
++PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
++ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
++ HAVE_XEXTPROTO_71="no")
++AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
+ sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+
+ # Checks for libraries.
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index ef7b522..a1ced97 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -78,8 +78,13 @@
+
+ #include "globals.h"
+
++#ifdef HAVE_XEXTPROTO_71
++#include <X11/extensions/dpmsconst.h>
++#else
+ #define DPMS_SERVER
+ #include <X11/extensions/dpms.h>
++#endif
++
+
+ #ifdef XF86DRI
+ #include "dri.h"
+--
+cgit v0.8.3-6-g21f6
diff --git a/testing/xf86-video-sisimedia/0009-update-for-rac-removal.patch b/testing/xf86-video-sisimedia/0009-update-for-rac-removal.patch
new file mode 100644
index 000000000..df1421798
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0009-update-for-rac-removal.patch
@@ -0,0 +1,69 @@
+From 9e1ebb9530bbb71be7fcab9e6f8f9a475be72efe Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 28 Jul 2009 03:32:37 +0000
+Subject: sis: update for resources/RAC API removal
+
+---
+diff --git a/src/sis.h b/src/sis.h
+index 773f709..e859c78 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -77,7 +77,9 @@
+ #include "xf86Pci.h"
+ #include "xf86Priv.h"
+ #include "xf86_OSproc.h"
++#ifndef XSERVER_LIBPCIACCESS
+ #include "xf86Resources.h"
++#endif
+ #include "xf86.h"
+ #include "xf86PciInfo.h"
+ #include "xf86Cursor.h"
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index a1ced97..bb11cbb 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -49,7 +49,9 @@
+
+ #include "sis.h"
+
++#ifndef XSERVER_LIBPCIACCESS
+ #include "xf86RAC.h"
++#endif
+ #include "dixstruct.h"
+ #include "shadowfb.h"
+ #include "fb.h"
+@@ -3552,6 +3554,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ SiS_MapVGAMem(pScrn);
+ #endif
+
++#ifndef XSERVER_LIBPCIACCESS
+ /* Set operating state */
+
+ /* 1. memory */
+@@ -3581,6 +3584,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ /* Operations for which I/O access is required */
+ pScrn->racIoFlags = RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
+
++#endif
++
+ /* Load ramdac module */
+ if(!xf86LoadSubModule(pScrn, "ramdac")) {
+ SISErrorLog(pScrn, "Could not load ramdac module\n");
+@@ -4424,6 +4429,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ xf86DrvMsg(pScrn->scrnIndex, from, "MMIO registers at 0x%lX (size %ldK)\n",
+ (ULong)pSiS->IOAddress, pSiS->mmioSize);
+
++#ifndef XSERVER_LIBPCIACCESS
+ /* Register the PCI-assigned resources */
+ if(xf86RegisterResources(pSiS->pEnt->index, NULL, ResExclusive)) {
+ SISErrorLog(pScrn, "PCI resource conflicts detected\n");
+@@ -4435,6 +4441,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ SISFreeRec(pScrn);
+ return FALSE;
+ }
++#endif
+
+ from = X_PROBED;
+ if(pSiS->pEnt->device->videoRam != 0) {
+--
+cgit v0.8.3-6-g21f6
diff --git a/testing/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch b/testing/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch
new file mode 100644
index 000000000..cb9fd7ea5
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch
@@ -0,0 +1,34 @@
+From 8c3eca873717e877048c2bde345c02b1e9099e50 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 28 Jul 2009 05:22:41 +0000
+Subject: sis: change to using ABI version check
+
+---
+diff --git a/src/sis.h b/src/sis.h
+index e859c78..400b83f 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -77,7 +77,7 @@
+ #include "xf86Pci.h"
+ #include "xf86Priv.h"
+ #include "xf86_OSproc.h"
+-#ifndef XSERVER_LIBPCIACCESS
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+ #endif
+ #include "xf86.h"
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index bb11cbb..994b02d 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -49,7 +49,7 @@
+
+ #include "sis.h"
+
+-#ifndef XSERVER_LIBPCIACCESS
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86RAC.h"
+ #endif
+ #include "dixstruct.h"
+--
+cgit v0.8.3-6-g21f6
diff --git a/testing/xf86-video-sisimedia/0011-more-rac-removal.patch b/testing/xf86-video-sisimedia/0011-more-rac-removal.patch
new file mode 100644
index 000000000..8175dea98
--- /dev/null
+++ b/testing/xf86-video-sisimedia/0011-more-rac-removal.patch
@@ -0,0 +1,13 @@
+diff -Nrup xf86-video-sis-0.9.1/src/sis_hwmc.c patched/src/sis_hwmc.c
+--- xf86-video-sis-0.9.1/src/sis_hwmc.c 2008-03-04 14:31:10.000000000 -0300
++++ patched/src/sis_hwmc.c 2010-04-20 17:10:21.073690167 -0300
+@@ -43,7 +43,9 @@ THE USE OR OTHER DEALINGS IN THE SOFTWAR
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
++#ifndef GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
++#endif
+ #include "compiler.h"
+ #include "xf86PciInfo.h"
+ #include "xf86Pci.h"
diff --git a/testing/xf86-video-sisimedia/COPYING b/testing/xf86-video-sisimedia/COPYING
new file mode 100644
index 000000000..d643012d7
--- /dev/null
+++ b/testing/xf86-video-sisimedia/COPYING
@@ -0,0 +1,139 @@
+Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3) The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Copyright (C) 1998, 1999 by Alan Hourihane, Wigan, England.
+Parts Copyright (C) 2001-2005 Thomas Winischhofer, Vienna, Austria.
+
+Licensed under the following terms:
+
+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 appears in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+and that the name of the copyright holder not be used in advertising
+or publicity pertaining to distribution of the software without specific,
+written prior permission. The copyright holder makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without expressed or implied warranty.
+
+THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL THE COPYRIGHT HOLDER 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.
+
+Copyright (C) 2003 Eric Anholt
+
+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 appears in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+and that the name of the copyright holder not be used in advertising
+or publicity pertaining to distribution of the software without specific,
+written prior permission. The copyright holder makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without expressed or implied warranty.
+
+THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL THE COPYRIGHT HOLDER 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.
+
+Copyright (C) 2000 by Alan Hourihane, Sychdyn, North Wales, UK.
+Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria
+
+Portions from radeon_dga.c which is
+ Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
+ VA Linux Systems Inc., Fremont, California.
+
+Licensed under the following terms:
+
+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, and that the name of the providers not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. The providers make no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+THE PROVIDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE PROVIDERS 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.
+
+Copyright 2007 George Sapountzis
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Copyright (C) 1999-2004 by The XFree86 Project, Inc.
+based on code written by Mark Vojkovich
+Copyright (C) 2003-2005 Thomas Winischhofer
+
+Licensed under the following terms:
+
+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 appears in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+and that the name of the copyright holder not be used in advertising
+or publicity pertaining to distribution of the software without specific,
+written prior permission. The copyright holder makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without expressed or implied warranty.
+
+THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL THE COPYRIGHT HOLDER 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/testing/xf86-video-sisimedia/PKGBUILD b/testing/xf86-video-sisimedia/PKGBUILD
new file mode 100644
index 000000000..e33c5962d
--- /dev/null
+++ b/testing/xf86-video-sisimedia/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 136503 2011-08-30 08:44:57Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-sisimedia
+pkgver=0.9.1
+pkgrel=1
+pkgdesc="X.org SiS 671 video driver"
+arch=(i686 x86_64)
+url="http://www.linuxconsulting.ro/xorg-drivers/"
+license=('custom')
+depends=('glibc' 'sis-dri')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool')
+source=(ftp://ftp.archlinux.org/other/xf86-video-sisimedia/xf86-video-sisimedia-0.9.1_20091203.tar.bz2
+ xf86-video-sis-0.9.1-20102701.patch
+ 0002-Remove-XFree86-Misc-PassMessage-support.patch
+ 0003-Fix-build-with-Werror-format-security.patch
+ 0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch
+ 0006-Add-IgnoreHotkeyFlag-driver-option.patch
+ xf86-video-sis-0.9.1-dump-regs-after-video-init.patch
+ 0007-Remove-useless-loader-symbol-lists.patch
+ 0008-update-to-xextproto-7-1-support.patch
+ 0009-update-for-rac-removal.patch
+ 0010-change-to-use-abi-version-check.patch
+ 0011-more-rac-removal.patch
+ 0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch
+ 0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch
+ 0005-Correct-bounds-check-of-blitClip-array-access.patch
+ xserver19.patch
+ COPYING)
+sha1sums=('22e6616df49ec82755daae08043a29aaf92fa430'
+ '61715bb86180decde55a56fad9a12d841c89fbb2'
+ '33fdea57187a2758802bcb9572d3a864aaab4d59'
+ '6f05eae535b099b01c2819e63c68d4489b940267'
+ 'a6cb5da9312d32d729ad2619d8ae50cb26ba7d4d'
+ 'df728052a89c4152abbe89826756040dac23b624'
+ '4bed1c2455ed447f7053cb0729e99cbe598b3274'
+ 'd7802db5c49540ab136e71450cc846cfccd8b8d1'
+ 'e2236d2d00338f1658c66d9b972919af39897071'
+ '0c6b9322e6cb22c67e04d50a0b818a2dd4585cf2'
+ '802829a8ebd2b7e35fcc86665d842b1594a8ba30'
+ 'c26afe7508183735b7568b435be9c270ceeb62f1'
+ 'd2fa2a21454f3a161bcd8ae4d349657561049edd'
+ '5e288526bfa2c534f1feabdb571da16da8a1c7a6'
+ 'e86d702cb0b5e9bf43ff732696229965e176db7c'
+ 'b5f260bed7e705808ec05620316e503ed5d52ee5'
+ 'a64e244f274bcb155f892d0488a1a4b1b2f7d70d')
+
+build() {
+ cd "${srcdir}/xf86-video-sis-${pkgver}"
+ patch -Np1 -i "${srcdir}/xf86-video-sis-0.9.1-20102701.patch"
+ patch -Np1 -i "${srcdir}/0002-Remove-XFree86-Misc-PassMessage-support.patch"
+ patch -Np1 -i "${srcdir}/0003-Fix-build-with-Werror-format-security.patch"
+ patch -Np1 -i "${srcdir}/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch"
+ patch -Np1 -i "${srcdir}/0006-Add-IgnoreHotkeyFlag-driver-option.patch"
+ patch -Np1 -i "${srcdir}/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch"
+ patch -Np1 -i "${srcdir}/0007-Remove-useless-loader-symbol-lists.patch"
+ patch -Np1 -i "${srcdir}/0008-update-to-xextproto-7-1-support.patch"
+ patch -Np1 -i "${srcdir}/0009-update-for-rac-removal.patch"
+ patch -Np1 -i "${srcdir}/0010-change-to-use-abi-version-check.patch"
+ patch -Np1 -i "${srcdir}/0011-more-rac-removal.patch"
+ patch -Np1 -i "${srcdir}/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch"
+ patch -Np1 -i "${srcdir}/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch"
+ patch -Np1 -i "${srcdir}/0005-Correct-bounds-check-of-blitClip-array-access.patch"
+ patch -Np1 -i "${srcdir}/xserver19.patch"
+
+ sed -i -e 's,sis_drv,sisimedia_drv,g' src/Makefile.am
+ sed -i -e 's,\"sis\",\"sisimedia\",g' src/sis.h
+ sed -i -e 's,sisModuleData,sisimediaModuleData,g' src/sis_driver.c
+
+ autoreconf -fi
+
+ ./configure --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
+
+ rm -rf "${pkgdir}/usr/share/man"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch b/testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch
new file mode 100644
index 000000000..944eceb12
--- /dev/null
+++ b/testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch
@@ -0,0 +1,1376 @@
+diff -p -up xf86-video-sis-0.9.1/src/sis.h.orig xf86-video-sis-0.9.1/src/sis.h
+--- xf86-video-sis-0.9.1/src/sis.h.orig 2010-01-27 15:27:11.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis.h 2010-01-27 15:22:42.000000000 -0500
+@@ -98,6 +98,7 @@
+ #define XF86_VERSION_CURRENT XF86_VERSION_NUMERIC(4,3,99,902,0)
+ #endif
+
++#if 0
+ /*** Xorg Version Path <= X-Server 2.0 ***/
+ /* K.T for xorg 1.3 */
+ #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(2,0,0,0,0)
+@@ -109,33 +110,36 @@
+ #define NEW_XORG_VERSION 1
+ #endif
+ #endif
++#endif
++#define NEW_XORG_VERSION 1
+
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,0,0,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,0,0,0)
+ #define SIS_HAVE_RR_FUNC
+ #ifdef HaveDriverFuncs
+ #undef SIS_HaveDriverFuncs
+ #define SIS_HaveDriverFuncs HaveDriverFuncs
+ #define SIS_HAVE_DRIVER_FUNC
+ #endif /* HaveDriverFuncs */
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,900,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,900,0)
+ #define SISISXORG6899900
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,901,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,901,0)
+ #define SISISXORG6899901
+ #ifdef RANDR
+ #define SIS_HAVE_RR_GET_MODE_MM
+ #define SIS_HAVE_RANDR_SIZE_PATCH
+ #endif /* RANDR */
+-#endif /* >= 6.8.99.901 */
+-#endif /* >= 6.8.99.900 */
+-#endif /* >= 6.8.0.0 */
+-#else /* XORG_VERSION_CURRENT */
+-#include "xf86Version.h"
+-#define SISMYSERVERNAME "XFree86"
++//#endif /* >= 6.8.99.901 */
++//#endif /* >= 6.8.99.900 */
++//#endif /* >= 6.8.0.0 */
++//#else /* XORG_VERSION_CURRENT */
++//#include "xf86Version.h"
++//#define SISMYSERVERNAME "XFree86"
+ #endif
+
+ /*I.L. modified*/
+ //#define NEC_CASE /*It used the old Xorg_Version with new PCI structure.*/
+
++#if 0
+ #ifdef XSERVER_LIBPCIACCESS
+ #ifdef NEC_CASE
+ #define XORG_VERSION_CURRENT (((7) * 10000000) + ((1) * 100000) + ((0) * 1000) + 0)
+@@ -143,6 +147,7 @@
+ #define XORG_VERSION_CURRENT (((7) * 10000000) + ((4) * 100000) + ((0) * 1000) + 0)
+ #endif
+ #endif
++#endif
+
+
+ #define SIS_NAME "SIS"
+@@ -268,16 +273,16 @@
+
+ #undef SISCHECKOSSSE
+ #ifdef XORG_VERSION_CURRENT
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
+ #define SISCHECKOSSSE /* Automatic check OS for SSE; requires SigIll facility */
+-#endif
++//#endif
+ #endif
+
+ #undef SISGAMMARAMP
+ #ifdef XORG_VERSION_CURRENT
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
+ #define SISGAMMARAMP /* Driver can set gamma ramp; requires additional symbols in xf86sym.h */
+-#endif
++//#endif
+ #endif
+
+ #if 0 /* Perhaps for future use */
+@@ -1031,6 +1036,7 @@ typedef struct {
+ #endif
+
+ PCITAG PciTag;
++
+ int PciBus, PciDevice, PciFunc;
+ EntityInfoPtr pEnt;
+ int Chipset;
+diff -p -up xf86-video-sis-0.9.1/src/sis300_accel.c.orig xf86-video-sis-0.9.1/src/sis300_accel.c
+--- xf86-video-sis-0.9.1/src/sis300_accel.c.orig 2007-05-29 22:12:02.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis300_accel.c 2010-01-27 15:21:54.000000000 -0500
+@@ -1231,8 +1231,8 @@ SiS300AccelInit(ScreenPtr pScreen)
+
+ #ifdef SIS_USE_EXA /* ----------------------- EXA ----------------------- */
+ if(pSiS->useEXA) {
+-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+-
++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++#if 0
+ if(pSiS->scrnOffset < 8192) {
+ int obase = 0;
+ /* data */
+@@ -1430,7 +1430,8 @@ SiS300AccelInit(ScreenPtr pScreen)
+ pSiS->exa_scratch = exaOffscreenAlloc(pScreen, 128 * 1024, 16, TRUE,
+ SiSScratchSave, pSiS);
+
+- #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++// #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++ #if 0
+ if(pSiS->exa_scratch) {
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+ pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
+diff -p -up xf86-video-sis-0.9.1/src/sis310_accel.c.orig xf86-video-sis-0.9.1/src/sis310_accel.c
+--- xf86-video-sis-0.9.1/src/sis310_accel.c.orig 2007-09-29 05:13:12.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis310_accel.c 2010-01-27 15:21:54.000000000 -0500
+@@ -65,9 +65,9 @@
+ # define SIS_NEED_ARRAY
+ # undef SISNEWRENDER
+ # ifdef XORG_VERSION_CURRENT
+-# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0)
++//# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0)
+ # define SISNEWRENDER
+-# endif
++//# endif
+ # endif
+ # endif
+ #endif
+@@ -1463,7 +1463,7 @@ SiSUploadToScratch(PixmapPtr pSrc, Pixma
+ int dst_pitch, size, w, h, bytes;
+
+ w = pSrc->drawable.width;
+-
++/*
+ #if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0)
+ dst_pitch = ((w * (pSrc->drawable.bitsPerPixel >> 3)) +
+ pSiS->EXADriverPtr->card.offscreenPitch - 1) &
+@@ -1472,17 +1472,17 @@ SiSUploadToScratch(PixmapPtr pSrc, Pixma
+ dst_pitch = ((w * (pSrc->drawable.bitsPerPixel >> 3)) +
+ pSiS->EXADriverPtr->card.pixmapPitchAlign - 1) &
+ ~(pSiS->EXADriverPtr->card.pixmapPitchAlign - 1);
+-#else
++#else*/
+ dst_pitch = ((w * (pSrc->drawable.bitsPerPixel >> 3)) +
+ pSiS->EXADriverPtr->pixmapPitchAlign - 1) &
+ ~(pSiS->EXADriverPtr->pixmapPitchAlign - 1);
+
+-#endif
++//#endif
+ size = dst_pitch * pSrc->drawable.height;
+
+ if(size > pSiS->exa_scratch->size)
+ return FALSE;
+-
++/*
+ #if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0)
+ pSiS->exa_scratch_next = (pSiS->exa_scratch_next +
+ pSiS->EXADriverPtr->card.offscreenByteAlign - 1) &
+@@ -1491,34 +1491,34 @@ SiSUploadToScratch(PixmapPtr pSrc, Pixma
+ pSiS->exa_scratch_next = (pSiS->exa_scratch_next +
+ pSiS->EXADriverPtr->card.pixmapOffsetAlign - 1) &
+ ~(pSiS->EXADriverPtr->card.pixmapOffsetAlign - 1);
+-#else
++#else*/
+ pSiS->exa_scratch_next = (pSiS->exa_scratch_next +
+ pSiS->EXADriverPtr->pixmapOffsetAlign - 1) &
+ ~(pSiS->EXADriverPtr->pixmapOffsetAlign - 1);
+-#endif
+-
++//#endif
++/*
+ #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+ if(pSiS->exa_scratch_next + size >
+ pSiS->exa_scratch->offset + pSiS->exa_scratch->size) {
+ (pSiS->EXADriverPtr->accel.WaitMarker)(pSrc->drawable.pScreen, 0);
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+ }
+-#else
++#else*/
+ if(pSiS->exa_scratch_next + size >
+ pSiS->exa_scratch->offset + pSiS->exa_scratch->size) {
+ (pSiS->EXADriverPtr->WaitMarker)(pSrc->drawable.pScreen, 0);
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+ }
+-#endif
++//#endif
+
+ memcpy(pDst, pSrc, sizeof(*pDst));
+ pDst->devKind = dst_pitch;
+
+-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+- pDst->devPrivate.ptr = pSiS->EXADriverPtr->card.memoryBase + pSiS->exa_scratch_next;
+-#else
++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++// pDst->devPrivate.ptr = pSiS->EXADriverPtr->card.memoryBase + pSiS->exa_scratch_next;
++//#else
+ pDst->devPrivate.ptr = pSiS->EXADriverPtr->memoryBase + pSiS->exa_scratch_next;
+-#endif
++//#endif
+
+ pSiS->exa_scratch_next += size;
+
+@@ -1762,7 +1762,8 @@ SiS315AccelInit(ScreenPtr pScreen)
+
+ #ifdef SIS_USE_EXA /* ----------------------- EXA ----------------------- */
+ if(pSiS->useEXA) {
+-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++#if 0
++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+
+ int obase = 0;
+
+@@ -1952,11 +1953,11 @@ SiS315AccelInit(ScreenPtr pScreen)
+ SiSScratchSave, pSiS);
+ if(pSiS->exa_scratch) {
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+- #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+- pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
+- #else
++ //#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++ // pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
++ //#else
+ pSiS->EXADriverPtr->UploadToScratch = SiSUploadToScratch;
+- #endif
++ //#endif
+ }
+
+ } else {
+diff -p -up xf86-video-sis-0.9.1/src/sis_3daccel.c.orig xf86-video-sis-0.9.1/src/sis_3daccel.c
+--- xf86-video-sis-0.9.1/src/sis_3daccel.c.orig 2007-08-10 04:22:16.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis_3daccel.c 2010-01-27 15:21:54.000000000 -0500
+@@ -64,9 +64,9 @@
+ # define SIS_NEED_ARRAY
+ # undef SISNEWRENDER
+ # ifdef XORG_VERSION_CURRENT
+-# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0)
++//# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0)
+ # define SISNEWRENDER
+-# endif
++//# endif
+ # endif
+ # endif
+ #endif
+diff -p -up xf86-video-sis-0.9.1/src/sis_accel.c.orig xf86-video-sis-0.9.1/src/sis_accel.c
+--- xf86-video-sis-0.9.1/src/sis_accel.c.orig 2007-05-29 22:12:02.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis_accel.c 2010-01-27 15:21:54.000000000 -0500
+@@ -781,50 +781,50 @@ SiSAccelInit(ScreenPtr pScreen)
+
+ #ifdef SIS_USE_EXA /* ----------------------- EXA ----------------------- */
+ if(pSiS->useEXA) {
+-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+
+ /* data */
+- pSiS->EXADriverPtr->card.memoryBase = pSiS->FbBase;
+- pSiS->EXADriverPtr->card.memorySize = pSiS->maxxfbmem;
+- pSiS->EXADriverPtr->card.offScreenBase = pScrn->displayWidth * pScrn->virtualY
+- * (pScrn->bitsPerPixel >> 3);
+- if(pSiS->EXADriverPtr->card.memorySize > pSiS->EXADriverPtr->card.offScreenBase) {
+- pSiS->EXADriverPtr->card.flags = EXA_OFFSCREEN_PIXMAPS;
+- } else {
+- pSiS->NoXvideo = TRUE;
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+- "Not enough video RAM for offscreen memory manager. Xv disabled\n");
+- }
+-#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0)
+- pSiS->EXADriverPtr->card.offscreenByteAlign = 8; /* src/dst: double quad word boundary */
+- pSiS->EXADriverPtr->card.offscreenPitch = 1;
+-#else
+- pSiS->EXADriverPtr->card.pixmapOffsetAlign = 8; /* src/dst: double quad word boundary */
+- pSiS->EXADriverPtr->card.pixmapPitchAlign = 8; /* could possibly be 1, but who knows for sure */
+-#endif
+- pSiS->EXADriverPtr->card.maxX = 2047;
+- pSiS->EXADriverPtr->card.maxY = 2047;
++// pSiS->EXADriverPtr->card.memoryBase = pSiS->FbBase;
++// pSiS->EXADriverPtr->card.memorySize = pSiS->maxxfbmem;
++// pSiS->EXADriverPtr->card.offScreenBase = pScrn->displayWidth * pScrn->virtualY
++// * (pScrn->bitsPerPixel >> 3);
++// if(pSiS->EXADriverPtr->card.memorySize > pSiS->EXADriverPtr->card.offScreenBase) {
++// pSiS->EXADriverPtr->card.flags = EXA_OFFSCREEN_PIXMAPS;
++// } else {
++// pSiS->NoXvideo = TRUE;
++// xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++// "Not enough video RAM for offscreen memory manager. Xv disabled\n");
++// }
++//#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0)
++// pSiS->EXADriverPtr->card.offscreenByteAlign = 8; /* src/dst: double quad word boundary */
++// pSiS->EXADriverPtr->card.offscreenPitch = 1;
++//#else
++// pSiS->EXADriverPtr->card.pixmapOffsetAlign = 8; /* src/dst: double quad word boundary */
++// pSiS->EXADriverPtr->card.pixmapPitchAlign = 8; /* could possibly be 1, but who knows for sure */
++//#endif
++// pSiS->EXADriverPtr->card.maxX = 2047;
++// pSiS->EXADriverPtr->card.maxY = 2047;
+
+ /* Sync */
+- pSiS->EXADriverPtr->accel.WaitMarker = SiSEXASync;
++// pSiS->EXADriverPtr->accel.WaitMarker = SiSEXASync;
+
+ /* Solid fill */
+- pSiS->EXADriverPtr->accel.PrepareSolid = SiSPrepareSolid;
+- pSiS->EXADriverPtr->accel.Solid = SiSSolid;
+- pSiS->EXADriverPtr->accel.DoneSolid = SiSDoneSolid;
++// pSiS->EXADriverPtr->accel.PrepareSolid = SiSPrepareSolid;
++// pSiS->EXADriverPtr->accel.Solid = SiSSolid;
++// pSiS->EXADriverPtr->accel.DoneSolid = SiSDoneSolid;
+
+ /* Copy */
+- pSiS->EXADriverPtr->accel.PrepareCopy = SiSPrepareCopy;
+- pSiS->EXADriverPtr->accel.Copy = SiSCopy;
+- pSiS->EXADriverPtr->accel.DoneCopy = SiSDoneCopy;
++// pSiS->EXADriverPtr->accel.PrepareCopy = SiSPrepareCopy;
++// pSiS->EXADriverPtr->accel.Copy = SiSCopy;
++// pSiS->EXADriverPtr->accel.DoneCopy = SiSDoneCopy;
+
+ /* Composite not supported */
+
+ /* Upload, download to/from Screen */
+- pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen;
+- pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen;
++// pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen;
++// pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen;
+
+-#else /*xorg>=7.0*/
++//#else /*xorg>=7.0*/
+
+ pSiS->EXADriverPtr->exa_major = 2;
+ pSiS->EXADriverPtr->exa_minor = 0;
+@@ -867,7 +867,7 @@ SiSAccelInit(ScreenPtr pScreen)
+
+ #endif /*end of Xorg>=7.0 EXA Setting*/
+ }
+-#endif /* EXA */
++//#endif /* EXA */
+
+ } /* NoAccel */
+
+@@ -946,11 +946,11 @@ SiSAccelInit(ScreenPtr pScreen)
+ SiSScratchSave, pSiS);
+ if(pSiS->exa_scratch) {
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+- #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+- pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
+- #else
++ //#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++ // pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
++ //#else
+ pSiS->EXADriverPtr->UploadToScratch = SiSUploadToScratch;
+- #endif
++ //#endif
+ }
+
+ } else {
+diff -p -up xf86-video-sis-0.9.1/src/sis_dri.c.orig xf86-video-sis-0.9.1/src/sis_dri.c
+--- xf86-video-sis-0.9.1/src/sis_dri.c.orig 2008-11-04 08:27:14.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_dri.c 2010-01-27 15:21:54.000000000 -0500
+@@ -56,7 +56,8 @@ extern Bool drmSiSAgpInit(int driSubFD,
+
+ #ifdef XORG_VERSION_CURRENT
+ #define SISHAVECREATEBUSID
+-#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,7,99,1,0)
++#if 0
++//#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,7,99,1,0)
+ /*I.L. modified*/
+ #ifndef XSERVER_LIBPCIACCESS
+ extern char *DRICreatePCIBusID(pciVideoPtr PciInfo);
+diff -p -up xf86-video-sis-0.9.1/src/sis_driver.c.orig xf86-video-sis-0.9.1/src/sis_driver.c
+--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2009-06-22 08:15:54.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-27 15:21:54.000000000 -0500
+@@ -140,6 +140,17 @@ static int pix24bpp = 0;
+ * an upper-case version of the driver name.
+ */
+
++#if XSERVER_LIBPCIACCESS
++#define SIS_DEVICE_MATCH(d, i)\
++ {PCI_VENDOR_SIS, (d), PCI_MATCH_ANY, PCI_MATCH_ANY, 0, 0, (i) }
++
++static const struct pci_id_match SIS_device_match[] = {
++ SIS_DEVICE_MATCH (PCI_CHIP_SIS670, 0),
++ SIS_DEVICE_MATCH (PCI_CHIP_SIS671, 0),
++ {0, 0, 0 },
++ };
++#endif
++
+ #ifdef _X_EXPORT
+ _X_EXPORT
+ #endif
+@@ -147,7 +158,11 @@ DriverRec SIS = {
+ SIS_CURRENT_VERSION,
+ SIS_DRIVER_NAME,
+ SISIdentify,
++#if XSERVER_LIBPCIACCESS
++ NULL,
++#else
+ SISProbe,
++#endif
+ SISAvailableOptions,
+ NULL,
+ 0
+@@ -155,6 +170,11 @@ DriverRec SIS = {
+ ,
+ SISDriverFunc
+ #endif
++#if XSERVER_LIBPCIACCESS
++ ,
++ SIS_device_match,
++ SIS_pci_probe
++#endif
+ };
+
+ static SymTabRec SISChipsets[] = {
+@@ -453,7 +473,94 @@ SISDriverFunc(ScrnInfoPtr pScrn, SISDRIV
+ /****************************************************/
+ /* Probe() */
+ /****************************************************/
++static Bool SIS_pci_probe (DriverPtr driver, int entity_num, struct pci_device *device, intptr_t match_data)
++{
++ ScrnInfoPtr pScrn;
++#ifdef SISDUALHEAD
++ EntityInfoPtr pEnt;
++ Bool foundScreen = FALSE;
++#endif
++xf86DrvMsg(0, X_INFO, "SIS_pci_probe - begin, entity_num=%d\n", entity_num);
++xf86DrvMsg(0, X_INFO, " vendor_id=0x%x\n", device->vendor_id);
++xf86DrvMsg(0, X_INFO, " device_id=0x%x\n", device->device_id);
++xf86DrvMsg(0, X_INFO, " bus=%d\n", device->bus);
++xf86DrvMsg(0, X_INFO, " dev=%d\n", device->dev);
++xf86DrvMsg(0, X_INFO, " func=%d\n", device->func);
++ pScrn = NULL;
++ if((pScrn = xf86ConfigPciEntity(pScrn, 0,
++ entity_num,
++ SISPciChipsets,
++ NULL, NULL, NULL, NULL, NULL))) {
++ xf86DrvMsg(0, X_INFO, "SIS_pci_probe - ConfigPciEntity found\n");
++ /* Fill in what we can of the ScrnInfoRec */
++ pScrn->driverVersion = SIS_CURRENT_VERSION;
++ pScrn->driverName = SIS_DRIVER_NAME;
++ pScrn->name = SIS_NAME;
++ pScrn->Probe = NULL;//SISProbe;
++ pScrn->PreInit = SISPreInit;
++ pScrn->ScreenInit = SISScreenInit;
++ pScrn->SwitchMode = SISSwitchMode;
++ pScrn->AdjustFrame = SISAdjustFrame;
++ pScrn->EnterVT = SISEnterVT;
++ pScrn->LeaveVT = SISLeaveVT;
++ pScrn->FreeScreen = SISFreeScreen;
++ pScrn->ValidMode = SISValidMode;
++ pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/
++#ifdef X_XF86MiscPassMessage
++// if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
++// pScrn->HandleMessage = SISHandleMessage;
++// }
++#endif
++ foundScreen = TRUE;
++ }
++ #ifdef SISDUALHEAD
++ pEnt = xf86GetEntityInfo(entity_num);
++xf86DrvMsg(0, X_INFO, "SIS_pci_probe - GetEntityInfo chipset is 0x%x\n",pEnt->chipset);
++ switch(pEnt->chipset) {
++ case PCI_CHIP_SIS300:
++ case PCI_CHIP_SIS540:
++ case PCI_CHIP_SIS630:
++ case PCI_CHIP_SIS550:
++ case PCI_CHIP_SIS315:
++ case PCI_CHIP_SIS315H:
++ case PCI_CHIP_SIS315PRO:
++ case PCI_CHIP_SIS650:
++ case PCI_CHIP_SIS330:
++ case PCI_CHIP_SIS660:
++ case PCI_CHIP_SIS340:
++ case PCI_CHIP_SIS670:
++ case PCI_CHIP_SIS671:
++ case PCI_CHIP_XGIXG40:
++ {
++ SISEntPtr pSiSEnt = NULL;
++ DevUnion *pPriv;
++
++ xf86SetEntitySharable(entity_num);
++ if(SISEntityIndex < 0) {
++ SISEntityIndex = xf86AllocateEntityPrivateIndex();
++ }
++ pPriv = xf86GetEntityPrivate(pScrn->entityList[0], SISEntityIndex);
++ if(!pPriv->ptr) {
++ pPriv->ptr = xnfcalloc(sizeof(SISEntRec), 1);
++ pSiSEnt = pPriv->ptr;
++ memset(pSiSEnt, 0, sizeof(SISEntRec));
++ pSiSEnt->lastInstance = -1;
++ } else {
++ pSiSEnt = pPriv->ptr;
++ }
++ pSiSEnt->lastInstance++;
++ xf86SetEntityInstanceForScreen(pScrn, pScrn->entityList[0],
++ pSiSEnt->lastInstance);
++ }
++ break;
+
++ default:
++ break;
++ }
++#endif /* DUALHEAD */
++xf86DrvMsg(0, X_INFO, "SIS_pci_probe - end\n");
++ return foundScreen;
++}
+
+ static Bool
+ SISProbe(DriverPtr drv, int flags)
+@@ -464,7 +571,7 @@ SISProbe(DriverPtr drv, int flags)
+ int numDevSections;
+ int numUsed, numUsedSiS, numUsedXGI;
+ Bool foundScreen = FALSE;
+-
++xf86DrvMsg(0, X_INFO, "SISPRobe() begin, flags=%d\n", flags);
+ /*
+ * The aim here is to find all cards that this driver can handle,
+ * and for the ones not already claimed by another driver, claim
+@@ -490,6 +597,7 @@ SISProbe(DriverPtr drv, int flags)
+ * There's no matching device section in the config file, so quit
+ * now.
+ */
++ xf86DrvMsg(0, X_INFO, "SISProbe - MatchDevice fail\n");
+ return FALSE;
+ }
+
+@@ -526,14 +634,16 @@ SISProbe(DriverPtr drv, int flags)
+ xfree(devSections);
+
+ numUsed = numUsedSiS + numUsedXGI;
+-
+- if(numUsed <= 0)
++xf86DrvMsg(0, X_INFO, "SISPRobe - test1\n");
++ if(numUsed <= 0) {
++ xf86DrvMsg(0, X_INFO, "SISProbe - MatchPciInstances fail\n");
+ return FALSE;
++ }
+
+ if(flags & PROBE_DETECT) {
+
+ foundScreen = TRUE;
+-
++ xf86DrvMsg(0, X_INFO, "SISProbe - flags already probe");
+ } else for(i = 0; i < numUsed; i++) {
+
+ ScrnInfoPtr pScrn;
+@@ -548,6 +658,7 @@ SISProbe(DriverPtr drv, int flags)
+ (i < numUsedSiS) ? usedChipsSiS[i] : usedChipsXGI[i-numUsedSiS],
+ (i < numUsedSiS) ? SISPciChipsets : XGIPciChipsets,
+ NULL, NULL, NULL, NULL, NULL))) {
++ xf86DrvMsg(0, X_INFO, "SISProbe - ConfigPciEntity found\n");
+ /* Fill in what we can of the ScrnInfoRec */
+ pScrn->driverVersion = SIS_CURRENT_VERSION;
+ pScrn->driverName = SIS_DRIVER_NAME;
+@@ -563,16 +674,16 @@ SISProbe(DriverPtr drv, int flags)
+ pScrn->ValidMode = SISValidMode;
+ pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/
+ #ifdef X_XF86MiscPassMessage
+- if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
+- pScrn->HandleMessage = SISHandleMessage;
++ if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
++// pScrn->HandleMessage = SISHandleMessage;
+ }
+ #endif
+ foundScreen = TRUE;
+ }
+-
++xf86DrvMsg(0, X_INFO, "SISProbe - test2\n");
+ #ifdef SISDUALHEAD
+ pEnt = xf86GetEntityInfo((i < numUsedSiS) ? usedChipsSiS[i] : usedChipsXGI[i-numUsedSiS]);
+-
++ xf86DrvMsg(0, X_INFO, "SISProbe - GetEntityInfo done\n");
+ switch(pEnt->chipset) {
+ case PCI_CHIP_SIS300:
+ case PCI_CHIP_SIS540:
+@@ -620,7 +731,7 @@ SISProbe(DriverPtr drv, int flags)
+
+ if(usedChipsSiS) xfree(usedChipsSiS);
+ if(usedChipsXGI) xfree(usedChipsXGI);
+-
++xf86DrvMsg(0, X_INFO, "SISProbe end\n");
+ return foundScreen;
+ }
+
+@@ -1306,7 +1417,11 @@ SiSReadROM(ScrnInfoPtr pScrn)
+ }
+
+ if(readpci) {
++#ifndef XSERVER_LIBPCIACCESS
+ xf86ReadPciBIOS(0, pSiS->PciTag, 0, pSiS->BIOS, biossize);
++#else
++ pci_device_read_rom(pSiS->PciInfo, pSiS->BIOS);
++#endif
+ if(SISCheckBIOS(pSiS, mypciid, mypcivendor, biossize)) {
+ found = TRUE;
+ }
+@@ -2224,8 +2339,7 @@ SiSSetSyncRangeFromEdid(ScrnInfoPtr pScr
+ { 2, 0x04, 56.6 },
+ { 2, 0x02, 60.1 },
+ { 2, 0x01, 80.1 }
+- };
+-
++ };
+ const myvddctiming myvtiming[11] = {
+ { 1, 0x02, 56 },
+ { 1, 0x01, 60 },
+@@ -2240,11 +2354,6 @@ SiSSetSyncRangeFromEdid(ScrnInfoPtr pScr
+ { 2, 0x01, 75 }
+ };
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSSetSyncRangeFromEdid\n");
+-#endif
+-
+ if(flag) { /* HSync */
+
+ for(i = 0; i < 4; i++) {
+@@ -2350,12 +2459,6 @@ SiSSetSyncRangeFromEdid(ScrnInfoPtr pScr
+ static Bool
+ SiSAllowSyncOverride(SISPtr pSiS, Bool fromDDC, int mfbcrt)
+ {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSAllowSyncOverride\n");
+-#endif
+-// return TRUE;
+-
+ if(!(pSiS->VBFlags2 & VB2_VIDEOBRIDGE)) return FALSE;
+
+ #ifdef SISDUALHEAD
+@@ -2382,11 +2485,10 @@ SiSAllowSyncOverride(SISPtr pSiS, Bool f
+ }
+ #endif
+
+-// PCF
+-// if(!(pSiS->VBFlags & DISPTYPE_CRT1)) {
++ if(!(pSiS->VBFlags & DISPTYPE_CRT1)) {
+ if( (pSiS->VBFlags & CRT2_TV) ||
+ ((pSiS->VBFlags & CRT2_LCD) && (!fromDDC)) ) return TRUE;
+-// } else if((pSiS->VBFlags & CRT1_LCDA) && (!fromDDC)) return TRUE;
++ } else if((pSiS->VBFlags & CRT1_LCDA) && (!fromDDC)) return TRUE;
+
+ return FALSE;
+ }
+@@ -2394,8 +2496,6 @@ SiSAllowSyncOverride(SISPtr pSiS, Bool f
+ static Bool
+ SiSCheckForH(float hsync, MonPtr monitor)
+ {
+-
+-
+ int i;
+ for(i = 0; i < monitor->nHsync; i++) {
+ if((hsync > monitor->hsync[i].lo * (1.0 - SYNC_TOLERANCE)) &&
+@@ -2409,7 +2509,6 @@ SiSCheckForH(float hsync, MonPtr monitor
+ static Bool
+ SiSCheckForV(float vrefresh, MonPtr monitor)
+ {
+-
+ int i;
+ for(i = 0; i < monitor->nVrefresh; i++) {
+ if((vrefresh > monitor->vrefresh[i].lo * (1.0 - SYNC_TOLERANCE)) &&
+@@ -2424,21 +2523,11 @@ static Bool
+ SiSCheckAndOverruleH(ScrnInfoPtr pScrn, MonPtr monitor)
+ {
+ DisplayModePtr mode = monitor->Modes;
+-// PCF
+ float mymin = 30.0, mymax = 80.0, hsync;
+-
+ Bool doit = FALSE;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSCheckAndOverruleH\n");
+-#endif
+-
+ for(hsync = mymin; hsync <= mymax; hsync += .5) {
+- if(!SiSCheckForH(hsync, monitor))
+- {
+- doit = TRUE;
+- }
++ if(!SiSCheckForH(hsync, monitor)) doit = TRUE;
+ }
+
+ if(mode) {
+@@ -2461,7 +2550,6 @@ SiSCheckAndOverruleH(ScrnInfoPtr pScrn,
+ return TRUE;
+ }
+
+-
+ return FALSE;
+ }
+
+@@ -2469,20 +2557,11 @@ static Bool
+ SiSCheckAndOverruleV(ScrnInfoPtr pScrn, MonPtr monitor)
+ {
+ DisplayModePtr mode = monitor->Modes;
+-// PCF
+- float mymin = 57.0, mymax = 63.0, vrefresh;
++ float mymin = 59.0, mymax = 61.0, vrefresh;
+ Bool doit = FALSE, ret = FALSE;
+-
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSCheckAndOverruleV\n");
+-#endif
+
+ for(vrefresh = mymin; vrefresh <= mymax; vrefresh += 1.0) {
+- if(!SiSCheckForV(vrefresh, monitor))
+- {
+- doit = TRUE;
+- }
++ if(!SiSCheckForV(vrefresh, monitor)) doit = TRUE;
+ }
+
+ if(mode) {
+@@ -2515,7 +2594,6 @@ SiSCheckAndOverruleV(ScrnInfoPtr pScrn,
+ monitor->nVrefresh++;
+ ret = TRUE;
+ }
+-
+ return ret;
+ }
+
+@@ -2529,11 +2607,6 @@ SiSFixupHVRanges(ScrnInfoPtr pScrn, int
+ static const char *saneh = "Correcting %s CRT%d monitor HSync range\n";
+ static const char *sanev = "Correcting %s CRT%d monitor VRefresh range\n";
+ int crtnum;
+-
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSFixupHVRanges\n");
+-#endif
+
+ #ifdef SISDUALHEAD
+ if(pSiS->DualHeadMode) {
+@@ -2610,8 +2683,7 @@ SiSFixupHVRanges(ScrnInfoPtr pScrn, int
+ }
+ }
+ }
+-// PCF
+-// return TRUE;
++
+ return freqoverruled;
+ }
+
+@@ -2623,11 +2695,6 @@ SiSMakeOwnModeList(ScrnInfoPtr pScrn, Bo
+ Bool isfordvi, Bool *havecustommodes, Bool fakecrt2modes, Bool IsForCRT2)
+ {
+ DisplayModePtr tempmode, delmode, mymodes;
+-
+- // PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSMakeOwnModeList\n");
+-#endif
+
+ if((mymodes = SiSBuildBuiltInModeList(pScrn, includelcdmodes, isfordvi, fakecrt2modes, IsForCRT2))) {
+ if(!acceptcustommodes) {
+@@ -2676,11 +2743,6 @@ SiSSetupModeListParmsCRT1(SISPtr pSiS, u
+ Bool *acceptcustommodes, Bool *includelcdmodes, Bool *isfordvi,
+ Bool *fakecrt2modes, Bool *IsForCRT2, Bool *AllowInterlace)
+ {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSSetupModeListParmsCRT1\n");
+-#endif
+-
+ (*acceptcustommodes) = TRUE; /* Accept user modelines */
+ (*includelcdmodes) = TRUE; /* Include modes reported by DDC */
+ (*isfordvi) = FALSE; /* Is for digital DVI output */
+@@ -2815,11 +2877,6 @@ SiSReplaceModeList(ScrnInfoPtr pScrn, Cl
+ * -) crt2 device is not TV, and
+ * -) crt1 is not LCDA, unless bridge is TMDS/LCDA capable (301C)
+ */
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSReplaceModeList\n");
+-#endif
+-
+
+ if((pSiS->VGAEngine == SIS_300_VGA) || (pSiS->VGAEngine == SIS_315_VGA)) {
+
+@@ -2881,11 +2938,6 @@ SiSClearModesPrivate(DisplayModePtr mode
+ {
+ DisplayModePtr tempmode;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSClearModesPrivate\n");
+-#endif
+-
+ /* Make sure that the Private field is NULL */
+ /* (This way we don't have to care for MergedFB
+ * when freeing the mode; just check the Private
+@@ -2904,11 +2956,6 @@ SiSDuplicateMode(DisplayModePtr source)
+ {
+ DisplayModePtr dest = NULL;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSDuplicateMode\n");
+-#endif
+-
+ if(source) {
+ if((dest = xalloc(sizeof(DisplayModeRec)))) {
+ memcpy(dest, source, sizeof(DisplayModeRec));
+@@ -2972,11 +3019,6 @@ SiSBuildVesaModeList(ScrnInfoPtr pScrn,
+ SISPtr pSiS = SISPTR(pScrn);
+ int i = 0;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSBuildVesaModeList\n");
+-#endif
+-
+ while(vbe->VideoModePtr[i] != 0xffff) {
+ sisModeInfoPtr m;
+ VbeModeInfoBlock *mode;
+@@ -3014,7 +3056,7 @@ SiSSetMinMaxPixelClock(ScrnInfoPtr pScrn
+ {
+ SISPtr pSiS = SISPTR(pScrn);
+ MessageType from;
+-
++
+ /* Set the min pixel clock */
+ pSiS->MinClock = 5000;
+ if((pSiS->VGAEngine == SIS_300_VGA) || (pSiS->VGAEngine == SIS_315_VGA)) {
+@@ -3061,11 +3103,6 @@ SiSRemoveUnsuitableModes(ScrnInfoPtr pSc
+ int maxUsedClock = 0;
+ static const char *notsuitablestr = "Not using mode \"%s\" (not suitable for %s mode)\n";
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSRemoveUnsuitableModes\n");
+-#endif
+-
+ if((p = first = initial)) {
+
+ do {
+@@ -3222,11 +3259,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ static const char *crtsetupstr = "*************************** CRT%d setup ***************************\n";
+ #endif
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SISPreInit Start\n");
+-#endif
+-
+ if(flags & PROBE_DETECT) {
+
+ vbeInfoPtr pVbe;
+@@ -4716,10 +4748,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ mymax = 8192 * 1024;
+ else if(total <= 32768) /* <= 32MB: Use 16MB for X */
+ mymax = 16384 * 1024;
+- else
+-// PCF /* Otherwise: Use 20MB for X */
+-// mymax = 20 * 1024 * 1024;
+- mymax = 20 * 1024 *1024;
++ else /* Otherwise: Use 20MB for X */
++ mymax = 20 * 1024 * 1024;
+ /* availMem is right now adjusted to not use the UMA
+ * area. Make sure that our default doesn't reach
+ * into the UMA area either.
+@@ -4758,9 +4788,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ if(pScrn->videoRam <= 65536)
+ pSiS->maxxfbmem = 16384 * 1024; /* On >=315 series and <=64MB, use 16MB */
+ else
+-// PCF
+-// pSiS->maxxfbmem = 20 * 1024 * 1024; /* On >=315 series and > 64MB, use 20MB */
+- pSiS->maxxfbmem = 20 * 1024 * 1024;
++ pSiS->maxxfbmem = 20 * 1024 * 1024; /* On >=315 series and > 64MB, use 20MB */
+ } else
+ pSiS->maxxfbmem = 12288 * 1024; /* On <315 series, use 12MB */
+
+@@ -4980,7 +5008,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ * via CRT2.)
+ * (TODO: This might need some modification for the
+ * 307 bridges, if these are capable of driving
+- * LCDs > via channel B)
++ * LCDs > 1600 via channel B)
+ */
+ if((pSiS->SiS_SD_Flags & SiS_SD_SUPPORTLCDA) &&
+ (pSiS->VBFlags & CRT2_LCD) &&
+@@ -4995,10 +5023,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ */
+ if(pSiS->ChipType < SIS_662 || pSiS->ChipType >= XGI_20) pSiS->ForceCRT1Type = CRT1_LCDA;
+ pSiS->ForceCRT2Type = CRT2_TV;
+-// PCF
+-// } else if(pSiS->LCDwidth > 1600) {
+- } else if(pSiS->LCDwidth > 1920) {
+-
++ } else if(pSiS->LCDwidth > 1600) {
+ /* If LCD is > 1600, default to LCDA if we don't need CRT1/VGA for other head */
+ Bool NeedCRT1VGA = FALSE;
+ #ifdef SISDUALHEAD
+@@ -5591,11 +5616,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ clockRanges->minClock = pSiS->MinClock;
+ clockRanges->maxClock = pSiS->MaxClock;
+ clockRanges->clockIndex = -1; /* programmable */
+-// PCF
+-// clockRanges->interlaceAllowed = TRUE;
+-// clockRanges->doubleScanAllowed = TRUE;
+- clockRanges->interlaceAllowed = FALSE;
+- clockRanges->doubleScanAllowed = FALSE;
++ clockRanges->interlaceAllowed = TRUE;
++ clockRanges->doubleScanAllowed = TRUE;
+
+ /* Replace default mode list */
+ SiSReplaceModeList(pScrn, clockRanges, FALSE);
+@@ -5623,11 +5645,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ break;
+ case SIS_300_VGA:
+ case SIS_315_VGA:
+-// PCF
+ maxpitch = 4088;
+- maxheight = 4096;
+-// maxpitch = 1600;
+-// maxheight = 1200;
++ maxheight = 4096;
+ break;
+ default:
+ maxpitch = 2048;
+@@ -5688,12 +5707,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ pScrn->monitor->DDC = NULL;
+ }
+ #endif
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"xf86ValidateModes Start\n");
+- xf86DrvMsg(0, X_INFO,"virtualX = %d, virtualY = %d, maxpitch = %d, maxheight = %d, maxxfbmem = %ld \n",
+- pScrn->display->virtualX,pScrn->display->virtualY,maxpitch,maxheight,pSiS->maxxfbmem/1024);
+-#endif
++
+ i = xf86ValidateModes(pScrn,
+ pScrn->monitor->Modes,
+ pScrn->display->modes,
+@@ -5703,13 +5717,9 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ pScrn->bitsPerPixel * 8,
+ minheight, maxheight,
+ pScrn->display->virtualX,
+- pScrn->display->virtualY,
++ pScrn->display->virtualY,
+ pSiS->maxxfbmem,
+ LOOKUP_BEST_REFRESH);
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"xf86ValidateModes End\n");
+-#endif
+
+ pScrn->monitor->DDC = backupddc;
+ }
+@@ -5745,28 +5755,17 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ #endif
+
+ /* Prune the modes marked as invalid */
+-// PCF
+-// xf86DrvMsg(0, X_INFO,"xf86PruneDriverModes Start\n");
+ xf86PruneDriverModes(pScrn);
+-// xf86DrvMsg(0, X_INFO,"xf86PruneDriverModes End\n");
+-
+
+ if(i == 0 || pScrn->modes == NULL) {
+ SISErrorLog(pScrn, "No valid modes found - check VertRefresh/HorizSync\n");
+ goto my_error_1;
+ }
+
+-// PCF
+-// xf86DrvMsg(0, X_INFO,"xf86SetCrtcForModes Start\n");
+ xf86SetCrtcForModes(pScrn, INTERLACE_HALVE_V);
+-// xf86DrvMsg(0, X_INFO,"xf86SetCrtcForModes End\n");
+-
+
+ /* Clear the modes' Private field */
+-// PCF
+-// xf86DrvMsg(0, X_INFO,"SiSClearModesPrivate Start\n");
+ SiSClearModesPrivate(pScrn->modes);
+-// xf86DrvMsg(0, X_INFO,"SiSClearModesPrivate End\n");
+
+ /* Save virtualX/Y calculated by ValidateModes
+ * and overwrite them with our values assumed to
+@@ -5823,23 +5822,9 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ }
+
+ if(usemyprint) {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SiSPrintModes Start\n");
+-#endif
+ SiSPrintModes(pScrn, printfreq);
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SiSPrintModes End\n");
+-#endif
+ } else {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"xf86PrintModes Start\n");
+-#endif
+ xf86PrintModes(pScrn);
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"xf86PrintModes End\n");
+-#endif
+ }
+ }
+
+@@ -6072,10 +6057,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+
+ /*xf86DrvMsg(0,X_INFO,"CurrentMode=%d. \n",pSiS->Hkey_Device_Switch_State);
+ xf86DrvMsg(0,X_INFO,"Init_VBFlags=0X%x. \n",pSiS->VBFlags);*/
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0,X_INFO,"SISPreInit End\n");
+-#endif
++
+ return TRUE;
+
+ /* ---- */
+@@ -7523,9 +7505,7 @@ SiSPreSetMode(ScrnInfoPtr pScrn, Display
+ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, SISVERBLEVEL, "VBFlags=0x%x\n", pSiS->VBFlags);
+
+ CR30 = 0x00;
+-// PCF
+-// CR31 &= ~0x60; /* Clear VB_Drivermode & VB_OutputDisable */
+- CR31 &= ~0x20; /* Clear VB_Drivermode & VB_OutputDisable */
++ CR31 &= ~0x60; /* Clear VB_Drivermode & VB_OutputDisable */
+ CR31 |= 0x04; /* Set VB_NotSimuMode (not for 30xB/1400x1050?) */
+ CR35 = 0x00;
+
+@@ -8633,11 +8613,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISEntPtr pSiSEnt = NULL;
+ #endif
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit\n");
+-#endif
+-
+ andSISIDXREG(SISCR,0x11,0x7f); /* Unlock CRTC registers */
+
+ SISModifyModeInfo(mode); /* Quick check of the mode parameters */
+@@ -8647,14 +8622,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ }
+
+ if(pSiS->UseVESA) { /* With VESA: */
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+-#endif
+
+ #ifdef SISDUALHEAD
+ /* No dual head mode when using VESA */
+@@ -8679,7 +8646,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSSetVESAMode() failed\n");
+ return FALSE;
+ }
+-
+ sisSaveUnlockExtRegisterLock(pSiS, NULL, NULL);
+ if(pSiS->VGAEngine == SIS_300_VGA || pSiS->VGAEngine == SIS_315_VGA) {
+ SiSPreSetMode(pScrn, mode, SIS_MODE_SIMU);
+@@ -8697,21 +8663,11 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SiSVGAProtect(pScrn, TRUE);
+ (*pSiS->SiSRestore)(pScrn, &pSiS->ModeReg);
+ SiSVGAProtect(pScrn, FALSE);
+-// xf86DrvMsg(0, X_INFO,"VESA DualHeadMode SetMode\n");
++
+ } else { /* Without VESA: */
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+-#endif
+
+ #ifdef SISDUALHEAD
+ if(pSiS->DualHeadMode) {
+-
+- xf86DrvMsg(0, X_INFO,"SISModeInit DualHeadMode\n");
+
+ if(!(*pSiS->ModeInit)(pScrn, mode)) {
+ SISErrorLog(pScrn, "ModeInit() failed\n");
+@@ -8730,10 +8686,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT2() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"DualHeadMode SetCRT2\n");
+-#endif
+ SiSPostSetMode(pScrn, &pSiS->ModeReg);
+ if(pSiSEnt->pScrn_2) {
+ /* No need to go through pScrn->AdjustFrame; the coords
+@@ -8752,11 +8704,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT1() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"DualHeadMode SetCRT1\n");
+-#endif
+-
+ SiS_SiSLVDSBackLight(pSiS, TRUE);
+ SiSPostSetMode(pScrn, &pSiS->ModeReg);
+ if(pSiSEnt->pScrn_1) {
+@@ -8771,20 +8718,8 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+
+ } else {
+ #endif
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+-#endif
+
+ if(pSiS->VGAEngine == SIS_300_VGA || pSiS->VGAEngine == SIS_315_VGA) {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit SIS_315_VGA\n");
+-#endif
+
+ if(!(*pSiS->ModeInit)(pScrn, mode)) {
+ SISErrorLog(pScrn, "ModeInit() failed\n");
+@@ -8795,10 +8730,7 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+
+ #ifdef SISMERGED
+ if(pSiS->MergedFB) {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit SISMERGED\n");
+-#endif
++
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting MergedFB mode %dx%d\n",
+ mode->HDisplay, mode->VDisplay);
+
+@@ -8813,10 +8745,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT1() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISMERGED SetCRT1\n");
+-#endif
+
+ SiSPreSetMode(pScrn, mode, SIS_MODE_CRT2);
+
+@@ -8827,10 +8755,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT2() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISMERGED SetCRT2\n");
+-#endif
+
+ SiS_SiSLVDSBackLight(pSiS, TRUE);
+
+@@ -8838,25 +8762,9 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+
+ } else {
+ #endif
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit Not SISMERGED\n");
+-#endif
+
+ if((pSiS->VBFlags & CRT1_LCDA) || (!(mode->type & M_T_DEFAULT))) {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit #1\n");
+- if(pSiS->VBFlags & CRT1_LCDA)
+- {
+- xf86DrvMsg(0, X_INFO,"SISModeInit #1 LCDA\n");
+-
+- }
+- else
+- {
+- xf86DrvMsg(0, X_INFO,"SISModeInit #1 LCDB\n");
+- }
+-#endif
++
+ pSiS->SiS_Pr->SiS_EnableBackLight = FALSE;
+
+ SiSPreSetMode(pScrn, mode, SIS_MODE_CRT1);
+@@ -8867,10 +8775,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT1() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"NoVESA SetCRT1\n");
+-#endif
+
+ SiSPreSetMode(pScrn, mode, SIS_MODE_CRT2);
+
+@@ -8880,28 +8784,10 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT2() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"NoVESA SetCRT2\n");
+-#endif
+-
+
+ SiS_SiSLVDSBackLight(pSiS, TRUE);
+
+ } else {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit #2\n");
+-
+- if(pSiS->VBFlags & CRT1_LCDA)
+- {
+- xf86DrvMsg(0, X_INFO,"SISModeInit #2 LCDA\n");
+- }
+- else
+- {
+- xf86DrvMsg(0, X_INFO,"SISModeInit #2 LCDB\n");
+- }
+-#endif
+
+ pSiS->SiS_Pr->SiS_EnableBackLight = TRUE;
+
+@@ -8918,11 +8804,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ #ifdef SISMERGED
+ }
+ #endif
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit #3\n");
+-#endif
+-
+ SiSPostSetMode(pScrn, &pSiS->ModeReg);
+ #ifdef TWDEBUG
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VBFlags %lx\n", pSiS->VBFlags);
+@@ -8932,10 +8813,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ #endif
+
+ } else {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit Old method\n");
+-#endif
+
+ /* For other chipsets, use the old method */
+
+@@ -9147,7 +9024,7 @@ SISSaveScreenDH(ScreenPtr pScreen, int m
+ static void
+ SISDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags)
+ {
+- SISPtr pSiS = SISPTR(pScrn);
++ SISPtr pSiS = SISPTR(pScrn);
+ Bool docrt1 = TRUE, docrt2 = TRUE, backlight = TRUE;
+ UChar sr1=0, cr17=0, cr63=0, pmreg=0, sr7=0;
+ UChar p1_13=0, p2_0=0, oldpmreg=0;
+@@ -10237,7 +10114,6 @@ SISScreenInit(int scrnIndex, ScreenPtr p
+ static Bool
+ SiSValidLCDUserMode(SISPtr pSiS, unsigned int VBFlags, DisplayModePtr mode, Bool isforlcda)
+ {
+-
+ if(mode->Flags & V_INTERLACE) return FALSE;
+
+ if(mode->HDisplay > 2048) return FALSE;
+@@ -10352,7 +10228,7 @@ SiS_CheckModeCRT1(ScrnInfoPtr pScrn, Dis
+ }
+
+ }
+-
++
+ return(SiS_GetModeID(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay,
+ i, pSiS->FSTN, pSiS->LCDwidth, pSiS->LCDheight));
+ }
+@@ -10370,12 +10246,8 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis
+ xf86DrvMsg(0, X_INFO, "Inside CheckCalcModeIndex (VBFlags %lx, mode %dx%d)\n",
+ VBFlags,mode->HDisplay, mode->VDisplay);
+ #endif
++
+ if(VBFlags & CRT2_LCD) { /* CRT2 is LCD */
+-
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiS_CheckModeCRT2 LCDwidth= %d, LCDheight= %d\n",pSiS->LCDwidth,pSiS->LCDheight);
+-#endif
+
+ if((pSiS->VBFlags2 & VB2_SISTMDSBRIDGE) && (!(pSiS->VBFlags2 & VB2_30xBDH))) {
+
+@@ -10403,7 +10275,6 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis
+ return 0xfe;
+
+ }
+-// PCF
+
+ if( ((mode->HDisplay <= pSiS->LCDwidth) &&
+ (mode->VDisplay <= pSiS->LCDheight)) ||
+@@ -10415,15 +10286,11 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis
+ (((mode->HDisplay == 1024) && (mode->HDisplay == 768)) ||
+ ((mode->HDisplay == 800) && (mode->HDisplay == 600)))) ||
+ ((pSiS->EnablePanel_1366x768)&&(pSiS->LCDwidth==1366)&&(mode->HDisplay==1368))) {/*let 1366x768 mode valid. Ivans@090109*/
+-/*
+- if( (mode->HDisplay <= pSiS->LCDwidth) &&
+- (mode->VDisplay <= pSiS->LCDheight)) {
+-*/
++
+ ModeIndex = SiS_GetModeID_LCD(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay, i,
+ pSiS->FSTN, pSiS->SiS_Pr->SiS_CustomT, pSiS->LCDwidth, pSiS->LCDheight,
+ pSiS->VBFlags2);
+-// PCF
+-// xf86DrvMsg(0, X_INFO, "SiS_CheckModeCRT2 LCDwidth= %d, LCDheight= %d, ModeID= %x\n",pSiS->LCDwidth,pSiS->LCDheight,ModeIndex);
++
+ }
+
+ } else if(VBFlags & CRT2_TV) { /* CRT2 is TV */
+@@ -10514,7 +10381,7 @@ SISValidMode(int scrnIndex, DisplayModeP
+ if(SiS_CheckModeCRT2(pScrn, mode, pSiS->VBFlags,
+ pSiS->VBFlags3, pSiS->HaveCustomModes) < 0x14){
+ #ifdef TWDEBUG
+- xf86DrvMsg(0,X_INFO,"[SISValidMode()]: else condition. passing CheckModeCRT2 and MODE_Fail.\n");
++ xf86DrvMsg(0,X_INFO,"[SISValidMode()]: else condition. passing CheckModeCRT2 and MODE_OK.\n");
+ #endif
+ return MODE_BAD;
+ }
+@@ -10629,18 +10496,12 @@ SISSwitchMode(int scrnIndex, DisplayMode
+ * (In non-MergedFB mode this is also here in order
+ * to get a cheap update of the HWCursor image)
+ */
+-
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0,X_INFO,"SISSwitchMode\n");
+-#endif
+
+ if(!pSiS->skipswitchcheck) {
+ if(SISValidMode(scrnIndex, mode, TRUE, flags) != MODE_OK) {
+ return FALSE;
+ }
+ }
+-
+ /* Mark for 3D full-screen bug */
+ /*
+ #ifdef XF86DRI
+@@ -11510,12 +11371,6 @@ SISHotkeySwitchMode(ScrnInfoPtr pScrn, B
+ int dotclock=65146;
+ int hdisplay=1024;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0,X_INFO,"SISHotkeySwitchMode\n");
+-#endif
+-
+-
+ if(!VidModeGetCurrentModeline(pScrn->scrnIndex,&hkeymode,&dotClock))
+ return FALSE;
+
+diff -p -up xf86-video-sis-0.9.1/src/sis_driver.h.orig xf86-video-sis-0.9.1/src/sis_driver.h
+--- xf86-video-sis-0.9.1/src/sis_driver.h.orig 2008-09-02 10:19:02.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis_driver.h 2010-01-27 15:21:54.000000000 -0500
+@@ -779,6 +779,9 @@ static Bool SISSwitchMode(int scrnIndex,
+ static void SISNewAdjustFrame(int scrnIndex, int x, int y, int flags);
+ static Bool SISPMEvent(int scrnIndex, pmEvent event, Bool undo);/*APM-ACPI, adding by Ivans.*/
+
++#if XSERVER_LIBPCIACCESS
++static Bool SIS_pci_probe(DriverPtr driver, int entity_num, struct pci_device *device, intptr_t match_data);
++#endif
+ /* ACPI Device Switch functions */
+ static Bool SISHotkeySwitchCRT1Status(ScrnInfoPtr pScrn,int onoff);/*hotkey pressing: switch CRT1 on/off*/
+ static Bool SISHotkeySwitchCRT2Status(ScrnInfoPtr pScrn,ULong newvbflags ,ULong newvbflags3);/*LCD on/off*/
diff --git a/testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch b/testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch
new file mode 100644
index 000000000..415985921
--- /dev/null
+++ b/testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch
@@ -0,0 +1,89 @@
+--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2010-01-18 13:17:56.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-25 16:35:40.000000000 -0500
+@@ -11677,7 +11677,64 @@ SISPMEvent(int scrnIndex, pmEvent event,
+ return 1;/*TRUE*/
+ }
+
++void
++sis_print_registers(SISPtr pSiS)
++{
++#define print(...) xf86ErrorFVerb(1, __VA_ARGS__)
++ auto void print_range(char *name, int base, int first, int last) {
++ int i, j;
++ unsigned char c;
++ char buffer[9];
++ print("%s:\n", name);
++ buffer[8] = 0;
++ for (i = first; i <= last; i++) {
++ inSISIDXREG(base, i, c);
++ for (j = 0; j < 8; j++)
++ buffer[7 - j] = c & (1 << j) ? '1' : '0';
++ print("\t%02x: %02x:%s\n", i, c, buffer);
++ }
++ }
+
++ auto void print_range_int(char *name, int base, int first, int last) {
++ int i, j;
++ unsigned int l;
++ char buffer[33];
++ print("%s:\n", name);
++ buffer[32] = 0;
++ for (i = first; i <= last; i += 4) {
++ l = inSISREGL(base + i);
++ for (j = 0; j < 32; j++)
++ buffer[31 - j] = l & (1 << j) ? '1' : '0';
++ print("\t%02x: %08x:%s\n", i, l, buffer);
++ }
++ }
+
+-
+-
++ print_range_int ("PCI: CNF00 - CNF1B", pSiS->RelIO, 0x00, 0x1b);
++ print_range_int ("PCI: CNF2C - CNF47", pSiS->RelIO, 0x2C, 0x47);
++ print_range_int ("AGP: CNF50 - CNF5B", pSiS->RelIO, 0x50, 0x5B);
++ print_range ("CRT1: SR05 - SR12", SISSR, 0x05, 0x12);
++ print_range ("CRT1: SR13 - SR16 (reserved)", SISSR, 0x13, 0x16);
++ print ("CRT1: SR19 - SR1A (reserved)\n");
++ print_range ("CRT1: SR1B - SR3A", SISSR, 0x1b, 0x3a);
++ print ("CRT1: SR3B (reserved)\n");
++ print_range ("CRT1: SR3C - SR3F", SISSR, 0x3c, 0x3f);
++ print_range ("CRT1: CR19 - CR1A", SISCR, 0x19, 0x1a);
++ print ("CRT1: CR1B - CR27 (undocumented?)\n");
++ print_range ("CRT1: CR28 - CR2E", SISCR, 0x28, 0x2e);
++ print ("CRT1: CR2F (reserved)\n");
++ print_range ("VGA BIOS: CR30 - CR3F", SISCR, 0x30, 0x3f);
++ print_range ("CRT1: CR40 - CR43", SISCR, 0x40, 0x43);
++ print ("CRT1: CR44 - CR45 (reserved)\n");
++ print_range ("CRT1: CR46 - CR67", SISCR, 0x46, 0x67);
++ print ("CRT1: CR68 - CR6F (DRAM registers reserved for backward compatibility with 760)\n");
++ print ("CRT1: CR70 - CR77 (undocumented?)\n");
++ print_range ("SMA BIOS: CR78 - CR7F", SISCR, 0x78, 0x7f);
++ print_range_int ("CRT1: CR80 - CR9B", SISCR, 0x80, 0xb3);
++ print_range_int ("CRT1: CRC0 - CRF3", SISCR, 0xc0, 0xf3);
++ print_range ("CRT2: SIGNAL REGISTERS, PART1 00 - 45", SISPART1, 0x00, 0x45);
++ print_range ("CRT2: TV SIGNAL REGISTERS, PART2 00 - 4d", SISPART2, 0x00, 0x4d);
++ print_range ("CRT2: TV COPY PROTECTION, PART3 00 - 40", SISPART3, 0x00, 0x40);
++ print_range ("CRT2: SIGNAL REGISTERS, PART4 00 - 3A", SISPART4, 0x00, 0x3a);
++ print_range ("CRT2: PALETTE SIGNAL REGISTERS, PART5 00 - 00 (?)", SISPART5, 0x00, 0x00);
++#undef print
++}
+--- xf86-video-sis-0.9.1/src/sis_video.c.orig 2010-01-18 13:17:56.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_video.c 2010-01-26 13:38:13.000000000 -0500
+@@ -129,6 +129,8 @@
+
+ #include "sis_video.h"
+
++extern void sis_print_registers(SISPtr pSiS);
++
+ void SiSInitMC(ScreenPtr pScreen);
+
+ /*********************************
+@@ -712,6 +714,8 @@ SISResetVideo(ScrnInfoPtr pScrn)
+ #ifdef SISMERGED
+ pPriv->mustresettap2 = TRUE;
+ #endif
++
++ sis_print_registers(pSiS);
+ }
+
+
diff --git a/testing/xf86-video-sisimedia/xserver19.patch b/testing/xf86-video-sisimedia/xserver19.patch
new file mode 100644
index 000000000..67ef6f585
--- /dev/null
+++ b/testing/xf86-video-sisimedia/xserver19.patch
@@ -0,0 +1,30 @@
+Index: xf86-video-sis-0.9.1/src/sis_driver.c
+===================================================================
+--- xf86-video-sis-0.9.1.orig/src/sis_driver.c
++++ xf86-video-sis-0.9.1/src/sis_driver.c
+@@ -85,7 +85,6 @@
+ #include "shadowfb.h"
+ #include "fb.h"
+ #include "micmap.h"
+-#include "mibank.h"
+ #include "mipointer.h"
+ #include "mibstore.h"
+ #include "edid.h"
+Index: xf86-video-sis-0.9.1/src/sis_mergedfb.c
+===================================================================
+--- xf86-video-sis-0.9.1.orig/src/sis_mergedfb.c
++++ xf86-video-sis-0.9.1/src/sis_mergedfb.c
+@@ -2948,11 +2948,11 @@ SiSXineramaExtensionInit(ScrnInfoPtr pSc
+
+ while(SiSXineramaGeneration != serverGeneration) {
+
+- ClientType = CreateNewResourceType(SiSXineramaFreeClient);
++ ClientType = CreateNewResourceType(SiSXineramaFreeClient, "XineramaClient");
+ if(!ClientType)
+ break;
+
+- EventType = CreateNewResourceType(SiSXineramaFreeEvents);
++ EventType = CreateNewResourceType(SiSXineramaFreeEvents, "XineramaEvents");
+ if(!EventType)
+ break;
+
diff --git a/testing/xf86-video-sisusb/PKGBUILD b/testing/xf86-video-sisusb/PKGBUILD
new file mode 100644
index 000000000..c4248402d
--- /dev/null
+++ b/testing/xf86-video-sisusb/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136501 2011-08-30 08:44:54Z jgc $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-sisusb
+pkgver=0.9.4
+pkgrel=5
+pkgdesc="X.org SiS USB video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('600fd49dffe00121f9042555fea55948653d1a7e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-tdfx/PKGBUILD b/testing/xf86-video-tdfx/PKGBUILD
new file mode 100644
index 000000000..87f315e4a
--- /dev/null
+++ b/testing/xf86-video-tdfx/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 136499 2011-08-30 08:44:52Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-tdfx
+pkgver=1.4.3
+pkgrel=7
+pkgdesc="X.org tdfx video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc' 'tdfx-dri')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.10.99.902')
+options=(!libtool)
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ copyright.patch)
+md5sums=('8161bbf2b100c21b609163f0010766b3'
+ 'a3be7ac534ceb846d3f155ddbe14378f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/copyright.patch"
+ ./configure --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-trident/PKGBUILD b/testing/xf86-video-trident/PKGBUILD
new file mode 100644
index 000000000..cc2faf4a9
--- /dev/null
+++ b/testing/xf86-video-trident/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 136497 2011-08-30 08:44:51Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-trident
+pkgver=1.3.4
+pkgrel=5
+pkgdesc="X.org Trident video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=(!libtool)
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('7c40f5c02bddf399862782b708941e79302318af')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-tseng/PKGBUILD b/testing/xf86-video-tseng/PKGBUILD
new file mode 100644
index 000000000..ab3606545
--- /dev/null
+++ b/testing/xf86-video-tseng/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 136495 2011-08-30 08:44:49Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-tseng
+pkgver=1.2.4
+pkgrel=5
+pkgdesc="X.org tseng video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ fix-regression-from-pciaccess-conversion.patch)
+sha1sums=('1b45f55657b2c92f30abb0769cae57fca98d93b7'
+ 'df7660ec18cce3e9f04a7c70f72c75daa947e4a9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/fix-regression-from-pciaccess-conversion.patch"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-unichrome/LICENSE b/testing/xf86-video-unichrome/LICENSE
new file mode 100644
index 000000000..f4007667b
--- /dev/null
+++ b/testing/xf86-video-unichrome/LICENSE
@@ -0,0 +1,23 @@
+Copyright (c) 2004-2007 Luc Verhaegen. All Rights Reserved.
+Copyright (c) 2004-2005 The Unichrome Project. All Rights Reserved.
+Copyright (c) 1998-2003 VIA Technologies, Inc. All Rights Reserved.
+Copyright (c) 2001-2003 S3 Graphics, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sub license,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/testing/xf86-video-unichrome/PKGBUILD b/testing/xf86-video-unichrome/PKGBUILD
new file mode 100644
index 000000000..f596b71ec
--- /dev/null
+++ b/testing/xf86-video-unichrome/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136493 2011-08-30 08:44:47Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-unichrome
+pkgver=0.2.7
+pkgrel=6
+_gitversion=b917bee87db8a65b8e8da0ca12c24a176c9e9fb2
+pkgdesc="Unichrome video drivers for X.Org"
+arch=(i686 x86_64)
+url="http://unichrome.sf.net/"
+license=('custom')
+depends=('glibc' 'unichrome-dri')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libx11' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc' 'glproto')
+options=('!libtool')
+conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.10.99.902')
+source=(http://cgit.freedesktop.org/~libv/${pkgname}/snapshot/${pkgname}-${_gitversion}.tar.bz2)
+md5sums=('f7adef052de08a01af86e245d1932239')
+
+build() {
+ cd "${srcdir}/${pkgname}-${_gitversion}"
+ ./autogen.sh --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 debian/copyright "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/testing/xf86-video-v4l/LICENSE b/testing/xf86-video-v4l/LICENSE
new file mode 100644
index 000000000..535595b88
--- /dev/null
+++ b/testing/xf86-video-v4l/LICENSE
@@ -0,0 +1,826 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+ Licenses
+
+ The X.Org Foundation
+
+ March 2004
+
+1. Introduction
+
+The X.org Foundation X Window System distribution is a compilation of code
+and documentation from many sources. This document is intended primarily as
+a guide to the licenses used in the distribution: you must check each file
+and/or package for precise redistribution terms. None-the-less, this summary
+may be useful to many users. No software incorporating the XFree86 1.1
+license has been incorporated.
+
+This document is based on the compilation from XFree86.
+
+2. XFree86 License
+
+XFree86 code without an explicit copyright is covered by the following copy-
+right/license:
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from the XFree86
+Project.
+
+3. Other Licenses
+
+Portions of code are covered by the following licenses/copyrights. See indi-
+vidual files for the copyright dates.
+
+3.1 X/MIT Copyrights
+
+3.1.1 X Consortium
+
+Copyright (C) <date> X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X
+CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+X Window System is a trademark of X Consortium, Inc.
+
+3.1.2 The Open Group
+
+Copyright <date> The Open Group
+
+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 above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+3.2 Berkeley-based copyrights:
+
+o
+
+3.2.1 General
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
+CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.2 UCB/LBL
+
+Copyright (c) 1993 The Regents of the University of California. All rights
+reserved.
+
+This software was developed by the Computer Systems Engineering group at
+Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and contributed to
+Berkeley.
+
+All advertising materials mentioning features or use of this software must
+display the following acknowledgement: This product includes software devel-
+oped by the University of California, Lawrence Berkeley Laboratory.
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement: This product includes soft-
+ ware developed by the University of California, Berkeley and its con-
+ tributors.
+
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DIS-
+CLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.3 The NetBSD Foundation, Inc.
+
+Copyright (c) 2003 The NetBSD Foundation, Inc. All rights reserved.
+
+This code is derived from software contributed to The NetBSD Foundation by
+Ben Collver <collver1@attbi.com>
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement: This product includes soft-
+ ware developed by the NetBSD Foundation, Inc. and its contributors.
+
+ 4. Neither the name of The NetBSD Foundation nor the names of its con-
+ tributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSE-
+QUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAM-
+AGE.
+
+3.2.4 Theodore Ts'o.
+
+Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All rights
+reserved.
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ and the entire permission notice in its entirety, including the dis-
+ claimer of warranties.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. he name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE, ALL OF WHICH ARE HEREBY DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF NOT
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.5 Theo de Raadt and Damien Miller
+
+Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. Copyright (c)
+2001-2002 Damien Miller. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
+CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.6 Todd C. Miller
+
+Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+
+Permission to use, copy, modify, and distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright
+notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MER-
+CHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE FOR ANY
+SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CON-
+TRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+3.2.7 Thomas Winischhofer
+
+Copyright (C) 2001-2004 Thomas Winischhofer
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESSED OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.3 NVIDIA Corp
+
+Copyright (c) 1996 NVIDIA, Corp. All rights reserved.
+
+NOTICE TO USER: The source code is copyrighted under U.S. and international
+laws. NVIDIA, Corp. of Sunnyvale, California owns the copyright and as
+design patents pending on the design and interface of the NV chips. Users
+and possessors of this source code are hereby granted a nonexclusive, roy-
+alty-free copyright and design patent license to use this code in individual
+and commercial software.
+
+Any use of this source code must include, in the user documentation and
+internal comments to the code, notices to the end user as follows:
+
+Copyright (c) 1996 NVIDIA, Corp. NVIDIA design patents pending in the U.S.
+and foreign countries.
+
+NVIDIA, CORP. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE
+CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WAR-
+RANTY OF ANY KIND. NVIDIA, CORP. DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA, CORP. BE LIABLE
+FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAM-
+AGES 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 SOURCE CODE.
+
+3.4 GLX Public License
+
+GLX PUBLIC LICENSE (Version 1.0 (2/11/99)) ("License")
+
+Subject to any third party claims, Silicon Graphics, Inc. ("SGI") hereby
+grants permission to Recipient (defined below), under Recipient's copyrights
+in the Original Software (defined below), to use, copy, modify, merge, pub-
+lish, distribute, sublicense and/or sell copies of Subject Software (defined
+below), and to permit persons to whom the Subject Software is furnished in
+accordance with this License to do the same, subject to all of the following
+terms and conditions, which Recipient accepts by engaging in any such use,
+copying, modifying, merging, publishing, distributing, sublicensing or sell-
+ing:
+
+1. Definitions.
+
+ (a) "Original Software" means source code of computer software code
+ which is described in Exhibit A as Original Software.
+
+ (b) "Modifications" means any addition to or deletion from the sub-
+ stance or structure of either the Original Software or any previous
+ Modifications. When Subject Software is released as a series of
+ files, a Modification means (i) any addition to or deletion from
+ the contents of a file containing Original Software or previous
+ Modifications and (ii) any new file that contains any part of the
+ Original Code or previous Modifications.
+
+ (c) "Subject Software" means the Original Software or Modifications
+ or the combination of the Original Software and Modifications, or
+ portions of any of the foregoing.
+
+ (d) "Recipient" means an individual or a legal entity exercising
+ rights under, and complying with all of the terms of, this License.
+ For legal entities, "Recipient" includes any entity which controls,
+ is controlled by, or is under common control with Recipient. For
+ purposes of this definition, "control" of an entity means (a) the
+ power, direct or indirect, to direct or manage such entity, or (b)
+ ownership of fifty percent (50%) or more of the outstanding shares
+ or beneficial ownership of such entity.
+
+2. Redistribution of Source Code Subject to These Terms. Redistributions of
+Subject Software in source code form must retain the notice set forth in
+Exhibit A, below, in every file. A copy of this License must be included in
+any documentation for such Subject Software where the recipients' rights
+relating to Subject Software are described. Recipient may distribute the
+source code version of Subject Software under a license of Recipient's
+choice, which may contain terms different from this License, provided that
+(i) Recipient is in compliance with the terms of this License, and (ii) the
+license terms include this Section 2 and Sections 3, 4, 7, 8, 10, 12 and 13
+of this License, which terms may not be modified or superseded by any other
+terms of such license. If Recipient distributes the source code version under
+a different license Recipient must make it absolutely clear that any terms
+which differ from this License are offered by Recipient alone, not by SGI.
+Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as
+a result of any such terms Recipient offers.
+
+3. Redistribution in Executable Form. The notice set forth in Exhibit A must
+be conspicuously included in any notice in an executable version of Subject
+Software, related documentation or collateral in which Recipient describes
+the user's rights relating to the Subject Software. Recipient may distribute
+the executable version of Subject Software under a license of Recipient's
+choice, which may contain terms different from this License, provided that
+(i) Recipient is in compliance with the terms of this License, and (ii) the
+license terms include this Section 3 and Sections 4, 7, 8, 10, 12 and 13 of
+this License, which terms may not be modified or superseded by any other
+terms of such license. If Recipient distributes the executable version under
+a different license Recipient must make it absolutely clear that any terms
+which differ from this License are offered by Recipient alone, not by SGI.
+Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as
+a result of any such terms Recipient offers.
+
+4. Termination. This License and the rights granted hereunder will terminate
+automatically if Recipient fails to comply with terms herein and fails to
+cure such breach within 30 days of the breach. Any sublicense to the Subject
+Software which is properly granted shall survive any termination of this
+License absent termination by the terms of such sublicense. Provisions which,
+by their nature, must remain in effect beyond the termination of this License
+shall survive.
+
+5. No Trademark Rights. This License does not grant any rights to use any
+trade name, trademark or service mark whatsoever. No trade name, trademark or
+service mark of SGI may be used to endorse or promote products derived from
+the Subject Software without prior written permission of SGI.
+
+6. No Other Rights. This License does not grant any rights with respect to
+the OpenGL API or to any software or hardware implementation thereof or to
+any other software whatsoever, nor shall any other rights or licenses not
+expressly granted hereunder arise by implication, estoppel or otherwise with
+respect to the Subject Software. Title to and ownership of the Original Soft-
+ware at all times remains with SGI. All rights in the Original Software not
+expressly granted under this License are reserved.
+
+7. Compliance with Laws; Non-Infringement. Recipient shall comply with all
+applicable laws and regulations in connection with use and distribution of
+the Subject Software, including but not limited to, all export and import
+control laws and regulations of the U.S. government and other countries.
+Recipient may not distribute Subject Software that (i) in any way infringes
+(directly or contributorily) the rights (including patent, copyright, trade
+secret, trademark or other intellectual property rights of any kind) of any
+other person or entity or (ii) breaches any representation or warranty,
+express, implied or statutory, which under any applicable law it might be
+deemed to have been distributed.
+
+8. Claims of Infringement. If Recipient at any time has knowledge of any one
+or more third party claims that reproduction, modification, use, distribu-
+tion, import or sale of Subject Software (including particular functionality
+or code incorporated in Subject Software) infringes the third party's intel-
+lectual property rights, Recipient must place in a well-identified web page
+bearing the title "LEGAL" a description of each such claim and a description
+of the party making each such claim in sufficient detail that a user of the
+Subject Software will know whom to contact regarding the claim. Also, upon
+gaining such knowledge of any such claim, Recipient must conspicuously
+include the URL for such web page in the Exhibit A notice required under Sec-
+tions 2 and 3, above, and in the text of any related documentation, license
+agreement or collateral in which Recipient describes end user's rights relat-
+ing to the Subject Software. If Recipient obtains such knowledge after it
+makes Subject Software available to any other person or entity, Recipient
+shall take other steps (such as notifying appropriate mailing lists or news-
+groups) reasonably calculated to inform those who received the Subject Soft-
+ware that new knowledge has been obtained.
+
+9. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, MER-
+CHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON- INFRINGING. SGI ASSUMES NO
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
+PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY SER-
+VICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
+ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
+HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THE-
+ORY, WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIA-
+BILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR
+ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
+STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF
+THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY
+TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SGI's NEGLIGENCE TO
+THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES,
+SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
+
+11. Indemnity. Recipient shall be solely responsible for damages arising,
+directly or indirectly, out of its utilization of rights under this License.
+Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc.
+from and against any loss, liability, damages, costs or expenses (including
+the payment of reasonable attorneys fees) arising out of Recipient's use,
+modification, reproduction and distribution of the Subject Software or out of
+any representation or warranty made by Recipient.
+
+12. U.S. Government End Users. The Subject Software is a "commercial item"
+consisting of "commercial computer software" as such terms are defined in
+title 48 of the Code of Federal Regulations and all U.S. Government End
+Users acquire only the rights set forth in this License and are subject to
+the terms of this License.
+
+13. Miscellaneous. This License represents the complete agreement concerning
+subject matter hereof. If any provision of this License is held to be unen-
+forceable, such provision shall be reformed so as to achieve as nearly as
+possible the same economic effect as the original provision and the remainder
+of this License will remain in effect. This License shall be governed by and
+construed in accordance with the laws of the United States and the State of
+California as applied to agreements entered into and to be performed entirely
+within California between California residents. Any litigation relating to
+this License shall be subject to the exclusive jurisdiction of the Federal
+Courts of the Northern District of California (or, absent subject matter
+jurisdiction in such courts, the courts of the State of California), with
+venue lying exclusively in Santa Clara County, California, with the losing
+party responsible for costs, including without limitation, court costs and
+reasonable attorneys fees and expenses. The application of the United Nations
+Convention on Contracts for the International Sale of Goods is expressly
+excluded. Any law or regulation which provides that the language of a con-
+tract shall be construed against the drafter shall not apply to this License.
+
+Exhibit A
+
+The contents of this file are subject to Sections 2, 3, 4, 7, 8, 10, 12 and
+13 of the GLX Public License Version 1.0 (the "License"). You may not use
+this file except in compliance with those sections of the License. You may
+obtain a copy of the License at Silicon Graphics, Inc., attn: Legal Services,
+2011 N. Shoreline Blvd., Mountain View, CA 94043 or at
+http://www.sgi.com/software/opensource/glx/license.html.
+
+Software distributed under the License is distributed on an "AS IS" basis.
+ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON-
+INFRINGEMENT. See the License for the specific language governing rights and
+limitations under the License.
+
+The Original Software is GLX version 1.2 source code, released February,
+1999. The developer of the Original Software is Silicon Graphics, Inc. Those
+portions of the Subject Software created by Silicon Graphics, Inc. are Copy-
+right (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
+
+3.5 CID Font Code Public License
+
+CID FONT CODE PUBLIC LICENSE (Version 1.0 (3/31/99))("License")
+
+Subject to any applicable third party claims, Silicon Graphics, Inc. ("SGI")
+hereby grants permission to Recipient (defined below), under SGI's copyrights
+in the Original Software (defined below), to use, copy, modify, merge, pub-
+lish, distribute, sublicense and/or sell copies of Subject Software (defined
+below) in both source code and executable form, and to permit persons to whom
+the Subject Software is furnished in accordance with this License to do the
+same, subject to all of the following terms and conditions, which Recipient
+accepts by engaging in any such use, copying, modifying, merging, publica-
+tion, distributing, sublicensing or selling:
+
+1. Definitions.
+
+ a. "Original Software" means source code of computer software code
+ that is described in Exhibit A as Original Software.
+
+ b. "Modifications" means any addition to or deletion from the sub-
+ stance or structure of either the Original Software or any previous
+ Modifications. When Subject Software is released as a series of
+ files, a Modification means (i) any addition to or deletion from
+ the contents of a file containing Original Software or previous
+ Modifications and (ii) any new file that contains any part of the
+ Original Code or previous Modifications.
+
+ c. "Subject Software" means the Original Software or Modifications
+ or the combination of the Original Software and Modifications, or
+ portions of any of the foregoing.
+
+ d. "Recipient" means an individual or a legal entity exercising
+ rights under the terms of this License. For legal entities, "Recip-
+ ient" includes any entity that controls, is controlled by, or is
+ under common control with Recipient. For purposes of this defini-
+ tion, "control" of an entity means (i) the power, direct or indi-
+ rect, to direct or manage such entity, or (ii) ownership of fifty
+ percent (50%) or more of the outstanding shares or beneficial own-
+ ership of such entity.
+
+ e. "Required Notice" means the notice set forth in Exhibit A to
+ this License.
+
+ f. "Accompanying Technology" means any software or other technology
+ that is not a Modification and that is distributed or made publicly
+ available by Recipient with the Subject Software. Separate soft-
+ ware files that do not contain any Original Software or any previ-
+ ous Modification shall not be deemed a Modification, even if such
+ software files are aggregated as part of a product, or in any
+ medium of storage, with any file that does contain Original Soft-
+ ware or any previous Modification.
+
+2. License Terms. All distribution of the Subject Software must be made sub-
+ject to the terms of this License. A copy of this License and the Required
+Notice must be included in any documentation for Subject Software where
+Recipient's rights relating to Subject Software and/or any Accompanying Tech-
+nology are described. Distributions of Subject Software in source code form
+must also include the Required Notice in every file distributed. In addition,
+a ReadMe file entitled "Important Legal Notice" must be distributed with each
+distribution of one or more files that incorporate Subject Software. That
+file must be included with distributions made in both source code and exe-
+cutable form. A copy of the License and the Required Notice must be included
+in that file. Recipient may distribute Accompanying Technology under a
+license of Recipient's choice, which may contain terms different from this
+License, provided that (i) Recipient is in compliance with the terms of this
+License, (ii) such other license terms do not modify or supersede the terms
+of this License as applicable to the Subject Software, (iii) Recipient hereby
+indemnifies SGI for any liability incurred by SGI as a result of the distri-
+bution of Accompanying Technology or the use of other license terms.
+
+3. Termination. This License and the rights granted hereunder will terminate
+automatically if Recipient fails to comply with terms herein and fails to
+cure such breach within 30 days of the breach. Any sublicense to the Subject
+Software that is properly granted shall survive any termination of this
+License absent termination by the terms of such sublicense. Provisions which,
+by their nature, must remain in effect beyond the termination of this License
+shall survive.
+
+4. Trademark Rights. This License does not grant any rights to use any trade
+name, trademark or service mark whatsoever. No trade name, trademark or ser-
+vice mark of SGI may be used to endorse or promote products derived from or
+incorporating any Subject Software without prior written permission of SGI.
+
+5. No Other Rights. No rights or licenses not expressly granted hereunder
+shall arise by implication, estoppel or otherwise. Title to and ownership of
+the Original Software at all times remains with SGI. All rights in the Origi-
+nal Software not expressly granted under this License are reserved.
+
+6. Compliance with Laws; Non-Infringement. Recipient shall comply with all
+applicable laws and regulations in connection with use and distribution of
+the Subject Software, including but not limited to, all export and import
+control laws and regulations of the U.S. government and other countries.
+Recipient may not distribute Subject Software that (i) in any way infringes
+(directly or contributorily) the rights (including patent, copyright, trade
+secret, trademark or other intellectual property rights of any kind) of any
+other person or entity, or (ii) breaches any representation or warranty,
+express, implied or statutory, which under any applicable law it might be
+deemed to have been distributed.
+
+7. Claims of Infringement. If Recipient at any time has knowledge of any one
+or more third party claims that reproduction, modification, use, distribu-
+tion, import or sale of Subject Software (including particular functionality
+or code incorporated in Subject Software) infringes the third party's intel-
+lectual property rights, Recipient must place in a well-identified web page
+bearing the title "LEGAL" a description of each such claim and a description
+of the party making each such claim in sufficient detail that a user of the
+Subject Software will know whom to contact regarding the claim. Also, upon
+gaining such knowledge of any such claim, Recipient must conspicuously
+include the URL for such web page in the Required Notice, and in the text of
+any related documentation, license agreement or collateral in which Recipient
+describes end user's rights relating to the Subject Software. If Recipient
+obtains such knowledge after it makes Subject Software available to any other
+person or entity, Recipient shall take other steps (such as notifying appro-
+priate mailing lists or newsgroups) reasonably calculated to provide such
+knowledge to those who received the Subject Software.
+
+8. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, MER-
+CHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. SGI ASSUMES NO
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
+PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY SER-
+VICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
+ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
+HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY,
+WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY),
+CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SUBJECT SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SUBJECT SOFTWARE. SOME JURISDICTIONS DO NOT
+ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO THIS EXCLUSION AND
+LIMITATION MAY NOT APPLY TO RECIPIENT TO THE EXTENT SO DISALLOWED.
+
+10. Indemnity. Recipient shall be solely responsible for damages arising,
+directly or indirectly, out of its utilization of rights under this License.
+Recipient will defend, indemnify and hold SGI and its successors and assigns
+harmless from and against any loss, liability, damages, costs or expenses
+(including the payment of reasonable attorneys fees) arising out of (Recipi-
+ent's use, modification, reproduction and distribution of the Subject Soft-
+ware or out of any representation or warranty made by Recipient.
+
+11. U.S. Government End Users. The Subject Software is a "commercial item"
+consisting of "commercial computer software" as such terms are defined in
+title 48 of the Code of Federal Regulations and all U.S. Government End Users
+acquire only the rights set forth in this License and are subject to the
+terms of this License.
+
+12. Miscellaneous. This License represents the complete agreement concerning
+subject matter hereof. If any provision of this License is held to be unen-
+forceable by any judicial or administrative authority having proper jurisdic-
+tion with respect thereto, such provision shall be reformed so as to achieve
+as nearly as possible the same economic effect as the original provision and
+the remainder of this License will remain in effect. This License shall be
+governed by and construed in accordance with the laws of the United States
+and the State of California as applied to agreements entered into and to be
+performed entirely within California between California residents. Any liti-
+gation relating to this License shall be subject to the exclusive jurisdic-
+tion of the Federal Courts of the Northern District of California (or, absent
+subject matter jurisdiction in such courts, the courts of the State of Cali-
+fornia), with venue lying exclusively in Santa Clara County, California, with
+the losing party responsible for costs, including without limitation, court
+costs and reasonable attorneys fees and expenses. The application of the
+United Nations Convention on Contracts for the International Sale of Goods is
+expressly excluded. Any law or regulation that provides that the language of
+a contract shall be construed against the drafter shall not apply to this
+License.
+
+Exhibit A
+
+Copyright (c) 1994-1999 Silicon Graphics, Inc.
+
+The contents of this file are subject to the CID Font Code Public License
+Version 1.0 (the "License"). You may not use this file except in compliance
+with the License. You may obtain a copy of the License at Silicon Graphics,
+Inc., attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
+or at http://www.sgi.com/software/opensource/cid/license.html
+
+Software distributed under the License is distributed on an "AS IS" basis.
+ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON-
+INFRINGEMENT. See the License for the specific language governing rights and
+limitations under the License.
+
+The Original Software (as defined in the License) is CID font code that was
+developed by Silicon Graphics, Inc. Those portions of the Subject Software
+(as defined in the License) that were created by Silicon Graphics, Inc. are
+Copyright (c) 1994-1999 Silicon Graphics, Inc. All Rights Reserved.
+
+[NOTE: When using this text in connection with Subject Software delivered
+solely in object code form, Recipient may replace the words "this file" with
+"this software" in both the first and second sentences.]
+
+3.6 Bitstream Vera Fonts Copyright
+
+The fonts have a generous copyright, allowing derivative works (as long as
+"Bitstream" or "Vera" are not in the names), and full redistribution (so long
+as they are not *sold* by themselves). They can be be bundled, redistributed
+and sold with any software.
+
+The fonts are distributed under the following copyright:
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated documentation
+files (the "Font Software"), to reproduce and distribute the Font Software,
+including without limitation the rights to use, copy, merge, publish, dis-
+tribute, and/or sell copies of the Font Software, and to permit persons to
+whom the Font Software is furnished to do so, subject to the following condi-
+tions:
+
+The above copyright and trademark notices and this permission notice shall be
+included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and addi-
+tional glyphs or characters may be added to the Fonts, only if the fonts are
+renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream Vera"
+names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDA-
+TION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GEN-
+ERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFT-
+WARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome Foundation,
+and Bitstream Inc., shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Font Software without prior written
+authorization from the Gnome Foundation or Bitstream Inc., respectively. For
+further information, contact: fonts at gnome dot org.
+
+3.7 Bigelow & Holmes Inc and URW++ GmbH Luxi font license
+
+Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font instruction
+code copyright (c) 2001 by URW++ GmbH. All Rights Reserved. Luxi is a regis-
+tered trademark of Bigelow & Holmes Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of these Fonts and associated documentation files (the "Font Software"), to
+deal in the Font Software, including without limitation the rights to use,
+copy, merge, publish, distribute, sublicense, and/or sell copies of the Font
+Software, and to permit persons to whom the Font Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright and trademark notices and this permission notice shall be
+included in all copies of one or more of the Font Software.
+
+The Font Software may not be modified, altered, or added to, and in particu-
+lar the designs of glyphs or characters in the Fonts may not be modified nor
+may additional glyphs or characters be added to the Fonts. This License
+becomes null and void when the Fonts or Font Software have been modified.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BIGELOW & HOLMES INC. OR URW++
+GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GEN-
+ERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFT-
+WARE.
+
+Except as contained in this notice, the names of Bigelow & Holmes Inc. and
+URW++ GmbH. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Font Software without prior written
+authorization from Bigelow & Holmes Inc. and URW++ GmbH.
+
+For further information, contact:
+
+info@urwpp.de or design@bigelowandholmes.com
+
+ $Id: LICENSE,v 1.3 2004/09/03 23:41:21 kem Exp $
diff --git a/testing/xf86-video-v4l/PKGBUILD b/testing/xf86-video-v4l/PKGBUILD
new file mode 100644
index 000000000..047d5ecb6
--- /dev/null
+++ b/testing/xf86-video-v4l/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 136491 2011-08-30 08:44:45Z jgc $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-v4l
+pkgver=0.2.0
+pkgrel=9
+pkgdesc="X.org v4l video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel')
+conflicts=('xorg-server<1.10.0')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch
+ LICENSE)
+md5sums=('2251ae2a0a905764941cd7b098e85ad1'
+ 'cdb7113a9564ea9202e847de88440540'
+ '7d4d018f6bbff7e42672d1aabc75c5cf')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ autoreconf -fi
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-vesa/PKGBUILD b/testing/xf86-video-vesa/PKGBUILD
new file mode 100644
index 000000000..003f73a11
--- /dev/null
+++ b/testing/xf86-video-vesa/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 136489 2011-08-30 08:44:41Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-vesa
+pkgver=2.3.0
+pkgrel=6
+pkgdesc="X.org vesa video driver"
+arch=(i686 x86_64)
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('glibc')
+makedepends=('pkgconfig' 'xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+sha1sums=('4689b7c295d7a8d7326302dafecb812739617134'
+ '1e54ae50daa796ab0c29c8088f25e522dc6faa4a')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ autoreconf -fi
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-voodoo/PKGBUILD b/testing/xf86-video-voodoo/PKGBUILD
new file mode 100644
index 000000000..8c40ed230
--- /dev/null
+++ b/testing/xf86-video-voodoo/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 136485 2011-08-30 08:44:36Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-voodoo
+pkgver=1.2.4
+pkgrel=5
+pkgdesc="X.org 3dfx Voodoo1/Voodoo2 2D video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto')
+conflicts=('xorg-server<1.10.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('7ecd232cc0b7fe507e18e08799791eefa9fdaf48')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/testing/xf86-video-xgi/PKGBUILD b/testing/xf86-video-xgi/PKGBUILD
new file mode 100644
index 000000000..3c9af94dc
--- /dev/null
+++ b/testing/xf86-video-xgi/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 136483 2011-08-30 08:44:35Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-xgi
+pkgver=1.6.0
+pkgrel=4
+pkgdesc="X.org XGI video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'xf86dgaproto')
+conflicts=('xorg-server<1.10.99.902')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+sha1sums=('826f14d6ba799cd2aae9f0c818f84cf8b75f1ddb'
+ '61ce13325c69befaa710c3389a85a8aa9d1cf28d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-xgi/git-fixes.patch b/testing/xf86-video-xgi/git-fixes.patch
new file mode 100644
index 000000000..f15fea88a
--- /dev/null
+++ b/testing/xf86-video-xgi/git-fixes.patch
@@ -0,0 +1,451 @@
+diff --git a/man/xgi.man b/man/xgi.man
+index 19880f2..5699ae4 100644
+--- a/man/xgi.man
++++ b/man/xgi.man
+@@ -1,4 +1,3 @@
+-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/xgi/xgi.man,v 1.14 2003/11/12 16:50:36 twini Exp $
+ .\" shorthand for double quote that works everywhere.
+ .ds q \N'34'
+ .TH XGI __drivermansuffix__ __vendorversion__
+diff --git a/src/vb_init.c b/src/vb_init.c
+index 8338410..50980c4 100755
+--- a/src/vb_init.c
++++ b/src/vb_init.c
+@@ -131,6 +131,8 @@ static void XGINew_SetDRAMDefaultRegister340(PXGI_HW_DEVICE_INFO, USHORT,
+ static void XGINew_SetDRAMDefaultRegisterXG45(PXGI_HW_DEVICE_INFO, USHORT,
+ PVB_DEVICE_INFO);
+ static UCHAR XGINew_Get340DRAMType(PXGI_HW_DEVICE_INFO, PVB_DEVICE_INFO);
++/* horrible */
++#define XGINew_GetXG20DRAMType XGINew_Get340DRAMType
+
+ static int XGINew_SetDDRChannel(int index, UCHAR ChannelNo,
+ UCHAR XGINew_ChannelAB, const USHORT DRAMTYPE_TABLE[][5],
+@@ -1451,7 +1453,7 @@ void XGINew_SetDRAMDefaultRegister340( PXGI_HW_DEVICE_INFO HwDeviceExtension ,
+ }
+
+ temp3 = 0 ;
+- for( k = 0 ; k < 4 ; k++ )
++ for( k = 1 ; k < 4 ; k++ )
+ {
+ XGI_SetRegANDOR((XGIIOADDRESS) P3d4 , 0x6E , 0xFC , temp3 ) ; /* CR6E_D[1:0] select channel */
+ temp2 = 0 ;
+diff --git a/src/vgatypes.h b/src/vgatypes.h
+index 8a60927..7484661 100755
+--- a/src/vgatypes.h
++++ b/src/vgatypes.h
+@@ -1,5 +1,3 @@
+-/* $XFree86$ */
+-/* $XdotOrg$ */
+ /*
+ * General type definitions for universal mode switching modules
+ *
+diff --git a/src/xgi.h b/src/xgi.h
+index 715502f..e818631 100755
+--- a/src/xgi.h
++++ b/src/xgi.h
+@@ -981,6 +981,7 @@ int compute_vclk(int Clock, int *out_n, int *out_dn, int *out_div,
+ void XGI_WaitBeginRetrace(XGIIOADDRESS RelIO);
+ void XGI_WaitEndRetrace(XGIIOADDRESS RelIO);
+
++#include <unistd.h>
+ /* 2005/11/21 added by jjtseng */
+ #define DelayS(sec) usleep((sec)*1000000)
+ #define DelayMS(millisec) usleep((millisec)*1000)
+diff --git a/src/xgi_accel.c b/src/xgi_accel.c
+index c072691..4c298ed 100755
+--- a/src/xgi_accel.c
++++ b/src/xgi_accel.c
+@@ -200,20 +200,7 @@ extern int FbDevExist;
+ #endif
+
+ #if X_BYTE_ORDER == X_BIG_ENDIAN
+-static CARD32 BE_SWAP32 (CARD32 val)
+-{
+- PDEBUG(ErrorF("X_BIG_ENDIAN...\n"));
+- if (CurrentColorDepth == 8)
+- return ((((val) & 0x000000ff) << 24) | \
+- (((val) & 0x0000ff00) << 8) | \
+- (((val) & 0x00ff0000) >> 8) | \
+- (((val) & 0xff000000) >> 24));
+- if (CurrentColorDepth == 24)
+- return val;
+- if (CurrentColorDepth == 16)
+- return ((((val) & 0x0000ffff) << 16) | \
+- (((val) & 0xffff0000) >> 16));
+-}
++#define BE_SWAP32(x) lswapl(x)
+ #else
+ static CARD32 BE_SWAP32 (CARD32 val)
+ {
+diff --git a/src/xgi_dga.c b/src/xgi_dga.c
+index 04f90aa..8bd84bc 100755
+--- a/src/xgi_dga.c
++++ b/src/xgi_dga.c
+@@ -103,18 +103,18 @@ XGISetupDGAMode(
+
+ if(pMode->HDisplay != otherPitch) {
+
+- newmodes = xrealloc(modes, (*num + 2) * sizeof(DGAModeRec));
++ newmodes = realloc(modes, (*num + 2) * sizeof(DGAModeRec));
+ oneMore = TRUE;
+
+ } else {
+
+- newmodes = xrealloc(modes, (*num + 1) * sizeof(DGAModeRec));
++ newmodes = realloc(modes, (*num + 1) * sizeof(DGAModeRec));
+ oneMore = FALSE;
+
+ }
+
+ if(!newmodes) {
+- xfree(modes);
++ free(modes);
+ return NULL;
+ }
+ modes = newmodes;
+diff --git a/src/xgi_dri.c b/src/xgi_dri.c
+index 93687e1..e575c19 100755
+--- a/src/xgi_dri.c
++++ b/src/xgi_dri.c
+@@ -46,7 +46,6 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Priv.h"
+
+ #include "xf86PciInfo.h"
+ #include "xf86Pci.h"
+@@ -145,13 +144,13 @@ XGIInitVisualConfigs(ScreenPtr pScreen)
+ }
+ if (!(pXGIConfigs = (XGIConfigPrivPtr)xnfcalloc(sizeof(XGIConfigPrivRec),
+ numConfigs))) {
+- xfree(pConfigs);
++ free(pConfigs);
+ return FALSE;
+ }
+ if (!(pXGIConfigPtrs = (XGIConfigPrivPtr*)xnfcalloc(sizeof(XGIConfigPrivPtr),
+ numConfigs))) {
+- xfree(pConfigs);
+- xfree(pXGIConfigs);
++ free(pConfigs);
++ free(pXGIConfigs);
+ return FALSE;
+ }
+ for (i=0; i<numConfigs; i++)
+@@ -333,7 +332,7 @@ Bool XGIDRIScreenInit(ScreenPtr pScreen)
+ pDRIInfo->bufferRequests = DRI_ALL_WINDOWS;
+
+ if (!DRIScreenInit(pScreen, pDRIInfo, &pXGI->drmSubFD)) {
+- xfree(pDRIInfo->devPrivate);
++ free(pDRIInfo->devPrivate);
+ pDRIInfo->devPrivate=0;
+ DRIDestroyInfoRec(pXGI->pDRIInfo);
+ pXGI->pDRIInfo=0;
+@@ -537,14 +536,14 @@ XGIDRICloseScreen(ScreenPtr pScreen)
+
+ if (pXGI->pDRIInfo) {
+ if (pXGI->pDRIInfo->devPrivate) {
+- xfree(pXGI->pDRIInfo->devPrivate);
++ free(pXGI->pDRIInfo->devPrivate);
+ pXGI->pDRIInfo->devPrivate=0;
+ }
+ DRIDestroyInfoRec(pXGI->pDRIInfo);
+ pXGI->pDRIInfo=0;
+ }
+- if (pXGI->pVisualConfigs) xfree(pXGI->pVisualConfigs);
+- if (pXGI->pVisualConfigsPriv) xfree(pXGI->pVisualConfigsPriv);
++ if (pXGI->pVisualConfigs) free(pXGI->pVisualConfigs);
++ if (pXGI->pVisualConfigsPriv) free(pXGI->pVisualConfigsPriv);
+
+ if(pXGI->agpSize){
+ /* ErrorF("Freeing agp memory\n"); */
+diff --git a/src/xgi_driver.c b/src/xgi_driver.c
+index b4f83b8..b8b8679 100755
+--- a/src/xgi_driver.c
++++ b/src/xgi_driver.c
+@@ -54,7 +54,7 @@
+ #include "fb.h"
+ #include "micmap.h"
+ #include "xf86.h"
+-#include "xf86Priv.h"
++#include "xf86Module.h"
+ #include "xf86_OSproc.h"
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+@@ -106,6 +106,10 @@
+ #include <unistd.h>
+ #endif
+
++#ifndef DEFAULT_DPI
++#define DEFAULT_DPI 96
++#endif
++
+ /* Jong 01/22/2009; compiler error; type conflict */
+ /*
+ #include <fcntl.h>
+@@ -556,13 +560,13 @@ XGIFreeRec(ScrnInfoPtr pScrn)
+ * head.
+ */
+ if (pXGIEnt->BIOS)
+- xfree(pXGIEnt->BIOS);
++ free(pXGIEnt->BIOS);
+ pXGIEnt->BIOS = pXGI->BIOS = NULL;
+ if (pXGIEnt->XGI_Pr)
+- xfree(pXGIEnt->XGI_Pr);
++ free(pXGIEnt->XGI_Pr);
+ pXGIEnt->XGI_Pr = pXGI->XGI_Pr = NULL;
+ if (pXGIEnt->RenderAccelArray)
+- xfree(pXGIEnt->RenderAccelArray);
++ free(pXGIEnt->RenderAccelArray);
+ pXGIEnt->RenderAccelArray = pXGI->RenderAccelArray = NULL;
+ }
+ else {
+@@ -573,19 +577,19 @@ XGIFreeRec(ScrnInfoPtr pScrn)
+ }
+ else {
+ if (pXGI->BIOS)
+- xfree(pXGI->BIOS);
++ free(pXGI->BIOS);
+ pXGI->BIOS = NULL;
+ if (pXGI->XGI_Pr)
+- xfree(pXGI->XGI_Pr);
++ free(pXGI->XGI_Pr);
+ pXGI->XGI_Pr = NULL;
+ if (pXGI->RenderAccelArray)
+- xfree(pXGI->RenderAccelArray);
++ free(pXGI->RenderAccelArray);
+ pXGI->RenderAccelArray = NULL;
+ }
+
+ #ifdef XGIMERGED
+ if (pXGI->MetaModes)
+- xfree(pXGI->MetaModes);
++ free(pXGI->MetaModes);
+ pXGI->MetaModes = NULL;
+
+ if (pXGI->CRT1Modes) {
+@@ -595,8 +599,8 @@ XGIFreeRec(ScrnInfoPtr pScrn)
+ do {
+ DisplayModePtr p = pScrn->currentMode->next;
+ if (pScrn->currentMode->Private)
+- xfree(pScrn->currentMode->Private);
+- xfree(pScrn->currentMode);
++ free(pScrn->currentMode->Private);
++ free(pScrn->currentMode);
+ pScrn->currentMode = p;
+ } while (pScrn->currentMode != pScrn->modes);
+ }
+@@ -612,7 +616,7 @@ XGIFreeRec(ScrnInfoPtr pScrn)
+ pXGI->pVbe = NULL;
+ if (pScrn->driverPrivate == NULL)
+ return;
+- xfree(pScrn->driverPrivate);
++ free(pScrn->driverPrivate);
+ pScrn->driverPrivate = NULL;
+ }
+
+@@ -975,7 +979,7 @@ XGIProbe(DriverPtr drv, int flags)
+ numDevSections, drv, &usedChips);
+
+ /* Free it since we don't need that list after this */
+- xfree(devSections);
++ free(devSections);
+ if (numUsed <= 0)
+ return FALSE;
+
+@@ -1015,7 +1019,7 @@ XGIProbe(DriverPtr drv, int flags)
+
+ #endif
+ }
+- xfree(usedChips);
++ free(usedChips);
+
+ return foundScreen;
+ }
+@@ -1044,11 +1048,11 @@ XGICopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
+
+ ErrorF("XGICopyModeNLink()...Use Virtual Size-1\n");
+
+- if (!((mode = xalloc(sizeof(DisplayModeRec)))))
++ if (!((mode = malloc(sizeof(DisplayModeRec)))))
+ return dest;
+ memcpy(mode, i, sizeof(DisplayModeRec));
+- if (!((mode->Private = xalloc(sizeof(XGIMergedDisplayModeRec))))) {
+- xfree(mode);
++ if (!((mode->Private = malloc(sizeof(XGIMergedDisplayModeRec))))) {
++ free(mode);
+ return dest;
+ }
+ ((XGIMergedDisplayModePtr) mode->Private)->CRT1 = i;
+@@ -1125,8 +1129,8 @@ XGICopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Skipped %dx%d, not enough video RAM or beyond hardware specs\n",
+ mode->HDisplay, mode->VDisplay);
+- xfree(mode->Private);
+- xfree(mode);
++ free(mode->Private);
++ free(mode);
+
+ return dest;
+ }
+@@ -1559,10 +1563,10 @@ XGIFreeCRT2Structs(XGIPtr pXGI)
+ pXGI->CRT2pScrn->monitor->Modes);
+ }
+ if (pXGI->CRT2pScrn->monitor->DDC)
+- xfree(pXGI->CRT2pScrn->monitor->DDC);
+- xfree(pXGI->CRT2pScrn->monitor);
++ free(pXGI->CRT2pScrn->monitor->DDC);
++ free(pXGI->CRT2pScrn->monitor);
+ }
+- xfree(pXGI->CRT2pScrn);
++ free(pXGI->CRT2pScrn);
+ pXGI->CRT2pScrn = NULL;
+ }
+ }
+@@ -2438,7 +2442,7 @@ XGIDDCPreInit(ScrnInfoPtr pScrn)
+
+ #ifdef XGIMERGED
+ if (pXGI->MergedFB) {
+- pXGI->CRT2pScrn->monitor = xalloc(sizeof(MonRec));
++ pXGI->CRT2pScrn->monitor = malloc(sizeof(MonRec));
+ if (pXGI->CRT2pScrn->monitor) {
+ DisplayModePtr tempm = NULL, currentm = NULL, newm = NULL;
+ memcpy(pXGI->CRT2pScrn->monitor, pScrn->monitor, sizeof(MonRec));
+@@ -2446,11 +2450,11 @@ XGIDDCPreInit(ScrnInfoPtr pScrn)
+ pXGI->CRT2pScrn->monitor->Modes = NULL;
+ tempm = pScrn->monitor->Modes;
+ while (tempm) {
+- if (!(newm = xalloc(sizeof(DisplayModeRec))))
++ if (!(newm = malloc(sizeof(DisplayModeRec))))
+ break;
+ memcpy(newm, tempm, sizeof(DisplayModeRec));
+- if (!(newm->name = xalloc(strlen(tempm->name) + 1))) {
+- xfree(newm);
++ if (!(newm->name = malloc(strlen(tempm->name) + 1))) {
++ free(newm);
+ break;
+ }
+ strcpy(newm->name, tempm->name);
+@@ -2490,7 +2494,7 @@ XGIDDCPreInit(ScrnInfoPtr pScrn)
+ "Failed to allocate memory for CRT2 monitor, %s.\n",
+ mergeddisstr);
+ if (pXGI->CRT2pScrn)
+- xfree(pXGI->CRT2pScrn);
++ free(pXGI->CRT2pScrn);
+ pXGI->CRT2pScrn = NULL;
+ pXGI->MergedFB = FALSE;
+ }
+@@ -3540,7 +3544,7 @@ XGIPreInit(ScrnInfoPtr pScrn, int flags)
+ /* Do some MergedFB mode initialisation */
+ #ifdef XGIMERGED
+ if (pXGI->MergedFB) {
+- pXGI->CRT2pScrn = xalloc(sizeof(ScrnInfoRec));
++ pXGI->CRT2pScrn = malloc(sizeof(ScrnInfoRec));
+ if (!pXGI->CRT2pScrn) {
+ XGIErrorLog(pScrn,
+ "Failed to allocate memory for 2nd pScrn, %s\n",
+@@ -3586,7 +3590,7 @@ XGIPreInit(ScrnInfoPtr pScrn, int flags)
+ XGIErrorLog(pScrn, mergednocrt1, mergeddisstr);
+ }
+ if (pXGI->CRT2pScrn)
+- xfree(pXGI->CRT2pScrn);
++ free(pXGI->CRT2pScrn);
+ pXGI->CRT2pScrn = NULL;
+ pXGI->MergedFB = FALSE;
+ }
+@@ -3627,7 +3631,7 @@ XGIPreInit(ScrnInfoPtr pScrn, int flags)
+ XGIErrorLog(pScrn, mergednocrt2, mergeddisstr);
+ }
+ if (pXGI->CRT2pScrn)
+- xfree(pXGI->CRT2pScrn);
++ free(pXGI->CRT2pScrn);
+ pXGI->CRT2pScrn = NULL;
+ pXGI->MergedFB = FALSE;
+ }
+@@ -4901,7 +4905,7 @@ XGIScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+
+ if (pXGI->ShadowFB) {
+ pXGI->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
+- pXGI->ShadowPtr = xalloc(pXGI->ShadowPitch * height);
++ pXGI->ShadowPtr = malloc(pXGI->ShadowPitch * height);
+ displayWidth = pXGI->ShadowPitch / (pScrn->bitsPerPixel >> 3);
+ FBStart = pXGI->ShadowPtr;
+ }
+@@ -5777,17 +5781,17 @@ XGICloseScreen(int scrnIndex, ScreenPtr pScreen)
+ }
+
+ if (pXGI->ShadowPtr) {
+- xfree(pXGI->ShadowPtr);
++ free(pXGI->ShadowPtr);
+ pXGI->ShadowPtr = NULL;
+ }
+
+ if (pXGI->DGAModes) {
+- xfree(pXGI->DGAModes);
++ free(pXGI->DGAModes);
+ pXGI->DGAModes = NULL;
+ }
+
+ if (pXGI->adaptor) {
+- xfree(pXGI->adaptor);
++ free(pXGI->adaptor);
+ pXGI->adaptor = NULL;
+ pXGI->ResetXv = pXGI->ResetXvGamma = NULL;
+ }
+diff --git a/src/xgi_opt.c b/src/xgi_opt.c
+index 09346e4..c0608d5 100755
+--- a/src/xgi_opt.c
++++ b/src/xgi_opt.c
+@@ -195,7 +195,7 @@ xgiOptions(ScrnInfoPtr pScrn)
+ xf86CollectOptions(pScrn, NULL);
+
+ /* Process the options */
+- if(!(pXGI->Options = xalloc(sizeof(XGIOptions)))) return;
++ if(!(pXGI->Options = malloc(sizeof(XGIOptions)))) return;
+
+ memcpy(pXGI->Options, XGIOptions, sizeof(XGIOptions));
+
+diff --git a/src/xgi_setup.c b/src/xgi_setup.c
+index c1d2cdc..6641b09 100755
+--- a/src/xgi_setup.c
++++ b/src/xgi_setup.c
+@@ -678,7 +678,7 @@ bAccessVGAPCIInfo(PXGI_HW_DEVICE_INFO pHwDevInfo, ULONG ulOffset, ULONG ulSet, U
+ err = pci_device_cfg_write_u32(pXGI->PciInfo, *pulValue,
+ ulOffset & ~3);
+ } else {
+- err = pci_device_cfg_write_u32(pXGI->PciInfo, pulValue,
++ err = pci_device_cfg_read_u32(pXGI->PciInfo, pulValue,
+ ulOffset & ~3);
+ }
+
+diff --git a/src/xgi_video.c b/src/xgi_video.c
+index 31cffd5..df76d14 100755
+--- a/src/xgi_video.c
++++ b/src/xgi_video.c
+@@ -142,7 +142,7 @@ void XGIInitVideo(ScreenPtr pScreen)
+ adaptors = &newAdaptor;
+ } else {
+ newAdaptors = /* need to free this someplace */
+- xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*));
++ malloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*));
+ if(newAdaptors) {
+ memcpy(newAdaptors, adaptors, num_adaptors *
+ sizeof(XF86VideoAdaptorPtr));
+@@ -157,7 +157,7 @@ void XGIInitVideo(ScreenPtr pScreen)
+ xf86XVScreenInit(pScreen, adaptors, num_adaptors);
+
+ if(newAdaptors)
+- xfree(newAdaptors);
++ free(newAdaptors);
+
+ }
+
+@@ -395,7 +395,7 @@ XGISetupImageVideo(ScreenPtr pScreen)
+ struct v4l2_standard standard;
+ # endif//VC
+
+- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) +
++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) +
+ sizeof(XGIPortPrivRec) +
+ sizeof(DevUnion))))
+ return NULL;
diff --git a/testing/xf86-video-xgixp/PKGBUILD b/testing/xf86-video-xgixp/PKGBUILD
new file mode 100644
index 000000000..344205523
--- /dev/null
+++ b/testing/xf86-video-xgixp/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 136481 2011-08-30 08:44:33Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-xgixp
+pkgver=1.8.0
+pkgrel=4
+pkgdesc="X.org XGIXP video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.10.99.902')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ api-compat-fix-for-DRAWABLE_BUFFER.patch)
+sha1sums=('67caeaa4c746572160208fe23c7257f62cb442a3'
+ 'ea140a13963bbf33cdff1ad75789d765867ec53b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/api-compat-fix-for-DRAWABLE_BUFFER.patch"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch b/testing/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch
new file mode 100644
index 000000000..f8cb64673
--- /dev/null
+++ b/testing/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch
@@ -0,0 +1,23 @@
+From 86258a6fd8fc8bb09a52ee446b37abe6bd0843ef Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Fri, 25 Mar 2011 22:46:55 +0000
+Subject: API compat fix for DRAWABLE_BUFFER
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/xgi_driver.c b/src/xgi_driver.c
+index e54d8c7..189b84a 100644
+--- a/src/xgi_driver.c
++++ b/src/xgi_driver.c
+@@ -2708,7 +2708,9 @@ xg47_setup_fb_wrap(ReadMemoryProcPtr *read_ptr,
+ {
+ switch (pDraw->type) {
+ case DRAWABLE_WINDOW:
++#ifdef DRAWABLE_BUFFER
+ case DRAWABLE_BUFFER:
++#endif
+ *read_ptr = xg47_read_memory_swap_func;
+ *write_ptr = xg47_write_memory_swap_func;
+ break;
+--
+cgit v0.8.3-6-g21f6
diff --git a/testing/xorg-server/10-quirks.conf b/testing/xorg-server/10-quirks.conf
new file mode 100644
index 000000000..7afad22dc
--- /dev/null
+++ b/testing/xorg-server/10-quirks.conf
@@ -0,0 +1,10 @@
+# Collection of quirks and blacklist/whitelists for specific devices.
+
+
+# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
+# http://bugs.freedesktop.org/show_bug.cgi?id=22442
+Section "InputClass"
+ Identifier "ThinkPad HDAPS accelerometer blacklist"
+ MatchProduct "ThinkPad HDAPS accelerometer data"
+ Option "Ignore" "on"
+EndSection
diff --git a/testing/xorg-server/PKGBUILD b/testing/xorg-server/PKGBUILD
new file mode 100644
index 000000000..ab8e8ae14
--- /dev/null
+++ b/testing/xorg-server/PKGBUILD
@@ -0,0 +1,183 @@
+# $Id: PKGBUILD 138468 2011-09-24 11:29:23Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=xorg-server
+pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel')
+pkgver=1.11.1
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://xorg.freedesktop.org"
+makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'dri2proto')
+options=('!libtool')
+source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
+ autoconfig-nvidia.patch
+ autoconfig-sis.patch
+ xvfb-run
+ xvfb-run.1
+ 10-quirks.conf)
+sha1sums=('ed0358b61294f1283aad42cf1e609752ceeffafd'
+ '0249b892f27243d8fe6fe6d226bf4c2391cedf49'
+ '962fecc159c128728f14e8ba231c5b00391ff4ac'
+ 'c94f742d3f9cabf958ae58e4015d9dd185aabedc'
+ '6838fc00ef4618c924a77e0fb03c05346080908a'
+ '993798f3d22ad672d769dae5f48d1fa068d5578f')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ # Use nouveau/nv/nvidia drivers for nvidia devices
+ patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch"
+
+ # Use unofficial imedia SiS driver for supported SiS devices
+ patch -Np0 -i "${srcdir}/autoconfig-sis.patch"
+
+ autoreconf
+ ./configure --prefix=/usr \
+ --enable-ipv6 \
+ --enable-dri \
+ --enable-dmx \
+ --enable-xvfb \
+ --enable-xnest \
+ --enable-composite \
+ --enable-xcsecurity \
+ --enable-xorg \
+ --enable-xephyr \
+ --enable-glx-tls \
+ --enable-kdrive \
+ --enable-install-setuid \
+ --enable-config-udev \
+ --disable-config-dbus \
+ --enable-record \
+ --disable-xfbdev \
+ --disable-xfake \
+ --disable-static \
+ --sysconfdir=/etc/X11 \
+ --localstatedir=/var \
+ --with-xkb-path=/usr/share/X11/xkb \
+ --with-xkb-output=/var/lib/xkb \
+ --with-fontrootdir=/usr/share/fonts
+ make
+
+ # Disable subdirs for make install rule to make splitting easier
+ sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \
+ -e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \
+ -e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \
+ -e 's/^KDRIVE_SUBDIRS =.*/KDRIVE_SUBDIRS =/' \
+ -i hw/Makefile
+}
+
+package_xorg-server-common() {
+ pkgdesc="Xorg server common files"
+ depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common"
+
+ make -C xkb DESTDIR="${pkgdir}" install-data
+
+ install -m755 -d "${pkgdir}/usr/share/man/man1"
+ install -m644 man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
+
+ install -m755 -d "${pkgdir}/usr/lib/xorg"
+ install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
+}
+
+package_xorg-server() {
+ pkgdesc="Xorg X server"
+ depends=(libxdmcp libxfont udev libpciaccess libdrm pixman libgcrypt libxau xorg-server-common xf86-input-evdev)
+ backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf')
+ provides=('x-server')
+ groups=('xorg')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/etc/X11"
+ mv "${pkgdir}/usr/share/X11/xorg.conf.d" "${pkgdir}/etc/X11/"
+ install -m644 "${srcdir}/10-quirks.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
+
+ rmdir "${pkgdir}/usr/share/X11"
+
+ # Needed for non-mesa drivers, libgl will restore it
+ mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \
+ "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg"
+
+ rm -rf "${pkgdir}/var"
+
+ rm -f "${pkgdir}/usr/share/man/man1/Xserver.1"
+ rm -f "${pkgdir}/usr/lib/xorg/protocol.txt"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server/COPYING"
+
+ rm -rf "${pkgdir}/usr/lib/pkgconfig"
+ rm -rf "${pkgdir}/usr/include"
+ rm -rf "${pkgdir}/usr/share/aclocal"
+}
+
+package_xorg-server-xephyr() {
+ pkgdesc="A nested X server that runs as an X application"
+ depends=(libxfont libgl libgcrypt libxv pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/kdrive"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xephyr/COPYING"
+}
+
+package_xorg-server-xvfb() {
+ pkgdesc="Virtual framebuffer X server"
+ depends=(libxfont libxdmcp libxau libgcrypt pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/vfb"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
+ install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xvfb"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xvfb/COPYING"
+}
+
+package_xorg-server-xnest() {
+ pkgdesc="A nested X server that runs as an X application"
+ depends=(libxfont libxext libgcrypt pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/xnest"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xnest/COPYING"
+}
+
+package_xorg-server-xdmx() {
+ pkgdesc="Distributed Multihead X Server and utilities"
+ depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/dmx"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xdmx/COPYING"
+}
+
+package_xorg-server-devel() {
+ pkgdesc="Development files for the X.Org X server"
+ depends=(xproto randrproto renderproto xextproto inputproto kbproto fontsproto videoproto dri2proto xineramaproto xorg-util-macros pixman libpciaccess)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm -rf "${pkgdir}/usr/bin"
+ rm -rf "${pkgdir}/usr/share/man"
+ rm -rf "${pkgdir}/usr/share/doc"
+ rm -rf "${pkgdir}/usr/share/X11"
+ rm -rf "${pkgdir}/usr/lib/xorg"
+ rm -rf "${pkgdir}/var"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
+}
diff --git a/testing/xorg-server/autoconfig-nvidia.patch b/testing/xorg-server/autoconfig-nvidia.patch
new file mode 100644
index 000000000..baa2eb601
--- /dev/null
+++ b/testing/xorg-server/autoconfig-nvidia.patch
@@ -0,0 +1,29 @@
+--- a/hw/xfree86/common/xf86pciBus.c
++++ b/hw/xfree86/common/xf86pciBus.c
+@@ -1123,7 +1123,25 @@ videoPtrToDriverList(struct pci_device *
+ break;
+ case 0x102b: driverList[0] = "mga"; break;
+ case 0x10c8: driverList[0] = "neomagic"; break;
+- case 0x10de: case 0x12d2: driverList[0] = "nv"; break;
++ case 0x10de: case 0x12d2:
++ switch (dev->device_id) {
++ /* NV1 */
++ case 0x0008:
++ case 0x0009:
++ driverList[0] = "vesa";
++ break;
++ /* NV3 */
++ case 0x0018:
++ case 0x0019:
++ driverList[0] = "nv";
++ break;
++ default:
++ driverList[0] = "nouveau";
++ driverList[1] = "nv";
++ driverList[2] = "nvidia";
++ break;
++ }
++ break;
+ case 0x1106: driverList[0] = "openchrome"; break;
+ case 0x1b36: driverList[0] = "qxl"; break;
+ case 0x1163: driverList[0] = "rendition"; break;
diff --git a/testing/xorg-server/xvfb-run b/testing/xorg-server/xvfb-run
new file mode 100644
index 000000000..4c2f4e0d3
--- /dev/null
+++ b/testing/xorg-server/xvfb-run
@@ -0,0 +1,180 @@
+#!/bin/sh
+
+# $Id: xvfb-run 2027 2004-11-16 14:54:16Z branden $
+
+# This script starts an instance of Xvfb, the "fake" X server, runs a command
+# with that server available, and kills the X server when done. The return
+# value of the command becomes the return value of this script.
+#
+# If anyone is using this to build a Debian package, make sure the package
+# Build-Depends on xvfb, xbase-clients, and xfonts-base.
+
+set -e
+
+PROGNAME=xvfb-run
+SERVERNUM=99
+AUTHFILE=
+ERRORFILE=/dev/null
+STARTWAIT=3
+XVFBARGS="-screen 0 640x480x8"
+LISTENTCP="-nolisten tcp"
+XAUTHPROTO=.
+
+# Query the terminal to establish a default number of columns to use for
+# displaying messages to the user. This is used only as a fallback in the event
+# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the
+# script is running, and this cannot, only being calculated once.)
+DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true
+if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then
+ DEFCOLUMNS=80
+fi
+
+# Display a message, wrapping lines at the terminal width.
+message () {
+ echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS}
+}
+
+# Display an error message.
+error () {
+ message "error: $*" >&2
+}
+
+# Display a usage message.
+usage () {
+ if [ -n "$*" ]; then
+ message "usage error: $*"
+ fi
+ cat <<EOF
+Usage: $PROGNAME [OPTION ...] COMMAND
+Run COMMAND (usually an X client) in a virtual X server environment.
+Options:
+-a --auto-servernum try to get a free server number, starting at
+ --server-num
+-e FILE --error-file=FILE file used to store xauth errors and Xvfb
+ output (default: $ERRORFILE)
+-f FILE --auth-file=FILE file used to store auth cookie
+ (default: ./.Xauthority)
+-h --help display this usage message and exit
+-n NUM --server-num=NUM server number to use (default: $SERVERNUM)
+-l --listen-tcp enable TCP port listening in the X server
+-p PROTO --xauth-protocol=PROTO X authority protocol name to use
+ (default: xauth command's default)
+-s ARGS --server-args=ARGS arguments (other than server number and
+ "-nolisten tcp") to pass to the Xvfb server
+ (default: "$XVFBARGS")
+-w DELAY --wait=DELAY delay in seconds to wait for Xvfb to start
+ before running COMMAND (default: $STARTWAIT)
+EOF
+}
+
+# Find a free server number by looking at .X*-lock files in /tmp.
+find_free_servernum() {
+ # Sadly, the "local" keyword is not POSIX. Leave the next line commented in
+ # the hope Debian Policy eventually changes to allow it in /bin/sh scripts
+ # anyway.
+ #local i
+
+ i=$SERVERNUM
+ while [ -f /tmp/.X$i-lock ]; do
+ i=$(($i + 1))
+ done
+ echo $i
+}
+
+# Clean up files
+clean_up() {
+ if [ -e "$AUTHFILE" ]; then
+ XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >>"$ERRORFILE" 2>&1
+ fi
+ if [ -n "$XVFB_RUN_TMPDIR" ]; then
+ if ! rm -r "$XVFB_RUN_TMPDIR"; then
+ error "problem while cleaning up temporary directory"
+ exit 5
+ fi
+ fi
+}
+
+# Parse the command line.
+ARGS=$(getopt --options +ae:f:hn:lp:s:w: \
+ --long auto-servernum,error-file:,auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \
+ --name "$PROGNAME" -- "$@")
+GETOPT_STATUS=$?
+
+if [ $GETOPT_STATUS -ne 0 ]; then
+ error "internal error; getopt exited with status $GETOPT_STATUS"
+ exit 6
+fi
+
+eval set -- "$ARGS"
+
+while :; do
+ case "$1" in
+ -a|--auto-servernum) SERVERNUM=$(find_free_servernum) ;;
+ -e|--error-file) ERRORFILE="$2"; shift ;;
+ -f|--auth-file) AUTHFILE="$2"; shift ;;
+ -h|--help) SHOWHELP="yes" ;;
+ -n|--server-num) SERVERNUM="$2"; shift ;;
+ -l|--listen-tcp) LISTENTCP="" ;;
+ -p|--xauth-protocol) XAUTHPROTO="$2"; shift ;;
+ -s|--server-args) XVFBARGS="$2"; shift ;;
+ -w|--wait) STARTWAIT="$2"; shift ;;
+ --) shift; break ;;
+ *) error "internal error; getopt permitted \"$1\" unexpectedly"
+ exit 6
+ ;;
+ esac
+ shift
+done
+
+if [ "$SHOWHELP" ]; then
+ usage
+ exit 0
+fi
+
+if [ -z "$*" ]; then
+ usage "need a command to run" >&2
+ exit 2
+fi
+
+if ! which xauth >/dev/null; then
+ error "xauth command not found"
+ exit 3
+fi
+
+# tidy up after ourselves
+trap clean_up EXIT
+
+# If the user did not specify an X authorization file to use, set up a temporary
+# directory to house one.
+if [ -z "$AUTHFILE" ]; then
+ XVFB_RUN_TMPDIR="$(mktemp -d -t $PROGNAME.XXXXXX)"
+ AUTHFILE="$XVFB_RUN_TMPDIR/Xauthority"
+fi
+
+# Start Xvfb.
+MCOOKIE=$(mcookie)
+XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1
+add :$SERVERNUM $XAUTHPROTO $MCOOKIE
+EOF
+XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \
+ 2>&1 &
+XVFBPID=$!
+sleep "$STARTWAIT"
+if ! kill -0 $XVFBPID 2>/dev/null; then
+ echo "Xvfb failed to start" >&2
+ exit 1
+fi
+
+# Start the command and save its exit status.
+set +e
+DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1
+RETVAL=$?
+set -e
+
+# Kill Xvfb now that the command has exited.
+kill $XVFBPID
+
+# Return the executed command's exit status.
+exit $RETVAL
+
+# vim:set ai et sts=4 sw=4 tw=80:
diff --git a/testing/xorg-server/xvfb-run.1 b/testing/xorg-server/xvfb-run.1
new file mode 100644
index 000000000..137d3a196
--- /dev/null
+++ b/testing/xorg-server/xvfb-run.1
@@ -0,0 +1,282 @@
+.\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $
+.\"
+.\" Copyright 1998-2004 Branden Robinson <branden@debian.org>.
+.\"
+.\" This is free software; you may redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2,
+.\" or (at your option) any later version.
+.\"
+.\" This is distributed in the hope that it will be useful, but
+.\" WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License with
+.\" the Debian operating system, in /usr/share/common-licenses/GPL; if
+.\" not, write to the Free Software Foundation, Inc., 59 Temple Place,
+.\" Suite 330, Boston, MA 02111-1307 USA
+.\"
+.\" We need the URL macro from groff's www macro package, but also want
+.\" things to work all right for people who don't have it. So we define
+.\" our own URL macro and let the www macro package override it if it's
+.\" available.
+.de URL
+\\$2 \(laURL: \\$1 \(ra\\$3
+..
+.if \n[.g] .mso www.tmac
+.TH xvfb\-run 1 "2004\-11\-12" "Debian Project"
+.SH NAME
+xvfb\-run \- run specified X client or command in a virtual X server environment
+.SH SYNOPSIS
+.B xvfb\-run
+[
+.I options
+]
+.I command
+.SH DESCRIPTION
+.B xvfb\-run
+is a wrapper for the
+.BR Xvfb (1x)
+command which simplifies the task of running commands (typically an X
+client, or a script containing a list of clients to be run) within a virtual
+X server environment.
+.PP
+.B xvfb\-run
+sets up an X authority file (or uses an existing user\-specified one),
+writes a cookie to it (see
+.BR xauth (1x))
+and then starts the
+.B Xvfb
+X server as a background process.
+The process ID of
+.B Xvfb
+is stored for later use.
+The specified
+.I command
+is then run using the X display corresponding to the
+.B Xvfb
+server
+just started and the X authority file created earlier.
+.PP
+When the
+.I command
+exits, its status is saved, the
+.B Xvfb
+server is killed (using the process ID stored earlier), the X authority
+cookie removed, and the authority file deleted (if the user did not specify
+one to use).
+.B xvfb\-run
+then exits with the exit status of
+.IR command .
+.PP
+.B xvfb\-run
+requires the
+.B xauth
+command to function.
+.SH OPTIONS
+.TP
+.B \-a\fR,\fB \-\-auto\-servernum
+Try to get a free server number, starting at 99, or the argument to
+.BR \-\-server\-num .
+.TP
+.BI \-e\ file \fR,\fB\ \-\-error\-file= file
+Store output from
+.B xauth
+and
+.B Xvfb
+in
+.IR file .
+The default is
+.IR /dev/null .
+.TP
+.BI \-f\ file \fR,\fB\ \-\-auth\-file= file
+Store X authentication data in
+.IR file .
+By default, a temporary directory called
+.IR xvfb\-run. PID
+(where PID is the process ID of
+.B xvfb\-run
+itself) is created in the directory specified by the environment variable
+.B TMPDIR
+(or
+.I /tmp
+if that variable is null or unset), and the
+.BR tempfile (1)
+command is used to create a file in that temporary directory called
+.IR Xauthority .
+.TP
+.B \-h\fR,\fB \-\-help
+Display a usage message and exit.
+.TP
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+Use
+.I servernumber
+as the server number (but see the
+.B \-a\fR,\fB \-\-auto\-servernum
+option above).
+The default is 99.
+.TP
+.B \-l\fR,\fB \-\-listen\-tcp
+Enable TCP port listening in the X server.
+For security reasons (to avoid denial\-of\-service attacks or exploits),
+TCP port listening is disabled by default.
+.TP
+.BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname
+Use
+.I protocolname
+as the X authority protocol to use.
+The default is \(oq.\(cq, which
+.B xauth
+interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1.
+.TP
+.BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments
+Pass
+.I arguments
+to the
+.B Xvfb
+server.
+Be careful to quote any whitespace characters that may occur within
+.I arguments
+to prevent them from regarded as separators for
+.BR xvfb\-run 's
+own arguments.
+Also, note that specification of \(oq\-nolisten tcp\(cq in
+.I arguments
+may override the function of
+.BR xvfb\-run 's
+own
+.B \-l\fR,\fB \-\-listen\-tcp
+option, and that specification of the server number (e.g., \(oq:1\(cq) may
+be ignored because of the way the X server parses its argument list.
+Use the
+.B xvfb\-run
+option
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+to achieve the latter function.
+The default is \(oq\-screen 0 640x480x8\(cq.
+.TP
+.BI \-w\ delay \fR,\fB\ \-\-wait= delay
+Wait
+.I delay
+seconds after launching
+.B Xvfb
+before attempting to start the specified command.
+The default is 3.
+.SH ENVIRONMENT
+.TP
+.B COLUMNS
+indicates the width of the terminal device in character cells.
+This value is used for formatting diagnostic messages.
+If not set, the terminal is queried using
+.BR stty (1)
+to determine its width.
+If that fails, a value of \(oq80\(cq is assumed.
+.TP
+.B TMPDIR
+specifies the directory in which to place
+.BR xvfb\-run 's
+temporary directory for storage of the X authority file; only used if the
+.B \-f
+or
+.B \-\-auth\-file
+options are not specified.
+.SH "OUTPUT FILES"
+.PP
+Unless the
+.B \-f
+or
+.B \-\-auth\-file
+options are specified, a temporary
+directory and file within it are created (and deleted) to store the X
+authority cookies used by the
+.B Xvfb
+server and client(s) run under it.
+See
+.BR tempfile (1).
+If \-f or \-\-auth\-file are used, then the specified X authority file is
+only written to, not created or deleted (though
+.B xauth
+creates an authority file itself if told to use use that does not already
+exist).
+.PP
+An error file with a user\-specified name is also created if the
+.B \-e
+or
+.B \-\-error\-file
+options are specifed; see above.
+.SH "EXIT STATUS"
+.B xvfb\-run
+uses its exit status as well as output to standard error to communicate
+diagnostics.
+The exit status of \(oq1\(cq is not used, and should be interpreted as failure
+of the specified command.
+.TP
+0
+.B xvfb\-run
+only uses this exit status if the
+.B \-h\fR,\fB \-\-help
+option is given.
+In all other situations, this may be interpreted as success of the specified
+command.
+.TP
+2
+No command to run was specified.
+.TP
+3
+The
+.B xauth
+command is not available.
+.TP
+4
+The temporary directory that was going to be used already exists; since
+.B xvfb\-run
+produces a uniquely named directory, this may indicate an attempt by another
+process on the system to exploit a temporary file race condition.
+.TP
+5
+A problem was encountered while cleaning up the temporary directory.
+.TP
+6
+A problem was encountered while using
+.BR getopt (1)
+to parse the command\-line arguments.
+.SH EXAMPLES
+.TP
+.B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo
+runs the
+.BR xlogo (1x)
+demonstration client inside the
+.B Xvfb
+X server on the first available server number greater than or equal to 1.
+.TP
+.B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces
+runs the
+.BR ico (1x)
+demonstration client (and passes it the
+.B \-faces
+argument) inside the
+.B Xvfb
+X server, configured with a root window of 1024 by 768 pixels and a color
+depth of 24 bits.
+.PP
+Note that the demo X clients used in the above examples will not exit on
+their own, so they will have to be killed before
+.B xvfb\-run
+will exit.
+.SH BUGS
+See
+.URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" .
+If you wish to report a bug in
+.BR xvfb\-run ,
+please use the
+.BR reportbug (1)
+command.
+.SH AUTHOR
+.B xfvb\-run
+was written by Branden Robinson and Jeff Licquia with sponsorship from
+Progeny Linux Systems.
+.SH "SEE ALSO"
+.BR Xvfb (1x),
+.BR xauth (1x)
+.\" vim:set et tw=80:
diff --git a/testing/xorg-xinit/06_move_serverauthfile_into_tmp.diff b/testing/xorg-xinit/06_move_serverauthfile_into_tmp.diff
new file mode 100644
index 000000000..99e8a6754
--- /dev/null
+++ b/testing/xorg-xinit/06_move_serverauthfile_into_tmp.diff
@@ -0,0 +1,20 @@
+Move startx auth files in /tmp so they are removed on reboot.
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=357736
+The trap patch didn't seem to work on reboot.
+---
+ startx.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: xinit/startx.cpp
+===================================================================
+--- xinit.orig/startx.cpp
++++ xinit/startx.cpp
+@@ -273,7 +273,7 @@
+ dummy=0
+
+ XCOMM create a file with auth information for the server. ':0' is a dummy.
+- xserverauthfile=$HOME/.serverauth.$$
++ xserverauthfile=`mktemp -p /tmp serverauth.XXXXXXXXXX`
+ trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM
+ xauth -q -f "$xserverauthfile" << EOF
+ add :$dummy . $mcookie
diff --git a/testing/xorg-xinit/PKGBUILD b/testing/xorg-xinit/PKGBUILD
new file mode 100644
index 000000000..9328da501
--- /dev/null
+++ b/testing/xorg-xinit/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 137005 2011-09-05 06:01:09Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xorg-xinit
+pkgver=1.3.1
+pkgrel=1
+pkgdesc="X.Org initialisation program "
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('libx11' 'xorg-xauth')
+makedepends=('xorg-util-macros')
+optdepends=('xorg-twm' 'xterm')
+backup=('etc/skel/.xinitrc'
+ 'etc/skel/.xsession'
+ 'etc/X11/xinit/xserverrc'
+ 'etc/X11/xinit/xinitrc')
+source=(${url}/releases/individual/app/xinit-${pkgver}.tar.bz2
+ 06_move_serverauthfile_into_tmp.diff
+ xinitrc
+ xsession
+ xserverrc)
+options=(!emptydirs)
+md5sums=('ee234056d8a3dbf37b61b4bcb35b88e4'
+ 'abd072ec435ce084cf4e89c58f83d45c'
+ 'c7b406c3c5c1e8011b3ac7d6b29c1a2c'
+ '7873d97db30d6c279ed37e3559e7c59d'
+ 'c5baef10fdb7239594daee72a94ddab3')
+
+build() {
+ cd "${srcdir}/xinit-${pkgver}"
+ patch -Np1 -i "${srcdir}/06_move_serverauthfile_into_tmp.diff"
+ sed -i -e 's/XSLASHGLOB.sh/XSLASHGLOB/' xinitrc.cpp
+ ./configure --prefix=/usr --with-xinitdir=/etc/X11/xinit
+ make
+}
+
+package() {
+ cd "${srcdir}/xinit-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/etc/skel"
+ install -m644 "${srcdir}/xinitrc" "${pkgdir}/etc/skel/.xinitrc"
+ install -m644 "${srcdir}/xsession" "${pkgdir}/etc/skel/.xsession"
+ install -m644 "${srcdir}/xserverrc" "${pkgdir}/etc/X11/xinit/xserverrc"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xinit/xinitrc b/testing/xorg-xinit/xinitrc
new file mode 100644
index 000000000..dbd080d00
--- /dev/null
+++ b/testing/xorg-xinit/xinitrc
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# ~/.xinitrc
+#
+# Executed by startx (run your window manager from here)
+
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
+ for f in /etc/X11/xinit/xinitrc.d/*; do
+ [ -x "$f" ] && . "$f"
+ done
+ unset f
+fi
+
+# exec gnome-session
+# exec startkde
+# exec startxfce4
+# ...or the Window Manager of your choice
diff --git a/testing/xorg-xinit/xserverrc b/testing/xorg-xinit/xserverrc
new file mode 100644
index 000000000..6f746cdce
--- /dev/null
+++ b/testing/xorg-xinit/xserverrc
@@ -0,0 +1 @@
+exec /usr/bin/X -nolisten tcp "$@"
diff --git a/testing/xorg-xinit/xsession b/testing/xorg-xinit/xsession
new file mode 100644
index 000000000..a16dc0b84
--- /dev/null
+++ b/testing/xorg-xinit/xsession
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+#
+# ~/.xsession
+#
+# Executed by xdm/gdm/kdm at login
+#
+
+/bin/bash --login -i ~/.xinitrc
+