From 82638e7cf91b4fc5035d4c223345c1a51416c8f8 Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Mon, 27 Dec 2010 18:58:03 -0800
Subject: xbmc-svn:updated to latest SVN from AUR.

---
 abs/extra/xbmc-svn/CHANGELOG        | 110 -----------------
 abs/extra/xbmc-svn/FEH.sh           |  24 ++++
 abs/extra/xbmc-svn/Lircmap.xml      | 233 ------------------------------------
 abs/extra/xbmc-svn/PKGBUILD         | 147 ++++++++++++++---------
 abs/extra/xbmc-svn/__changelog      |   1 -
 abs/extra/xbmc-svn/xbmc-svn.install |  27 ++++-
 6 files changed, 136 insertions(+), 406 deletions(-)
 delete mode 100644 abs/extra/xbmc-svn/CHANGELOG
 create mode 100644 abs/extra/xbmc-svn/FEH.sh
 delete mode 100644 abs/extra/xbmc-svn/Lircmap.xml
 delete mode 100644 abs/extra/xbmc-svn/__changelog

diff --git a/abs/extra/xbmc-svn/CHANGELOG b/abs/extra/xbmc-svn/CHANGELOG
deleted file mode 100644
index ddcbd53..0000000
--- a/abs/extra/xbmc-svn/CHANGELOG
+++ /dev/null
@@ -1,110 +0,0 @@
-xbmc-svn Change log:
---------------------
-2nd July 2009
-21333   haggy: updated to current svn head which has media flagging support if your skin
-               supports it (the shipped PM3HD does already, also Aeon and MediaStream redux)
-
-3rd June 2009
-20896   haggy: enabled external libs for every lib supported despite python and ffmpeg
-               enabling external python breaks python support in xbmc due to Arch's python
-               compiled with UCS2 support whereas xbmc expects UCS4. Enabling external ffmpeg
-               disables VDPAU and we don't want that for sure.
-
-               IMPORTANT NOTE: If compilation breaks at configure step with some message about
-               not being able to compute the size of int or size_t, try running makepkg as root
-               with 'sudo makepkg --asroot'. This is a known issue and happens only on systems
-               linked to nvidia's libgl which causes binaries to segfault within a fakeroot
-               environment. pacman 3.3 will fix this by splitting configure and installation steps.
-
-1st June 2009
-20818   haggy: this is the last revision before external-libs-support got patched
-               in. Unfortunately this will not compile with fakeroot. waiting for
-               pacman 3.3 which can split up configure and make install steps.
-
-30th May 2009
-20793   haggy: removed gcc44-fixes.patch - got merged into svn
-
-29th May 2009
-20755   haggy: pushed rev as requested
-
-27th May 2009
-20705   haggy: added a patch which fixed compilation with GCC 4.4.
-
-21th May 2009
-20509   haggy: xbmc got updates on goom due to the jaunty build system update. i
-               i wiped all goom specific hacks from the PKGBUILD and it compiled
-               fine, so let's see what you guys achieve.
-
-19th May 2009
-20449-1 richy: 1. Removed the autoreconf line as it didn't seem to help
-               2. Added !makeflags
-               3. Rev push :-)
-
-16th May 2009
-20343-1 richy: 1. added python as a depenency and removed x-server (namcap advised),
-               2. added autoreconf to goom before aclocal - another pot-shot at the goom compile prob.
-               3. added flax and bison to makedepends - I thought they were implicitely provided, but
-                    some users didn't have them.
-               4. Rev push to 20343
-               5. Removed the --quiet flag form SVN for now as sourcforge was timing out and
-                    failing silently.
- 
-               Note: namcap advised a number of other changes which I ignored for now.
-
-15th May 2009
-20231-3 - haggy: added libsamplerate as a dependency, it is needed for the recent smoothvideo patches
-
-14th May 2009
-20231-2 - haggy: another shot in the dark to fix that damn goom compilation error
-
-13th May 2009
-20231 - haggy: smoothvideo!
-
-12th May 2009
-20172 - haggy: a shot in the dark: try another autoreconf inside goom and see if it helps.
-
-11th May 2009
-20149 - haggy: pushed rev, removed 'hitting-o-breaks...'-patch - it got fixed in svn
-
-9th May 2009
-20101 - haggy: an updated PM3 skin made it into xbmc. added conflicts hint to this PKGBUILD
-
-8th May 2009
-20059 - haggy: minor push past 9.04, removed copying the source tree to a build tree which wastes space,
-               takes ages and stresses the hdd for no reason. instead we now use svn to revert to a 
-               clean build dir.
-
-5th May 2009
-19941 - rich: heaps more tickets closed, Mexican translation
-
-30th April 2009
-19841 - haggy: lots of closed tickets worth a release, removed xsession patch
-
-27th April 2009
-19753 - haggy: added patch for xsession file breaking installation into fakeroot.
-
-22nd April 2009
-19602 - richy: version bump to address problem with python scripts and plugins
-
-20th April 2009
-19550 - haggy: pushed rev, some .mov fixes and better i18n in xbmc
-
-17th April 2009
-19517 - haggy: pushed rev, re-added installfile
-19516-2- richy: Added back autoreconf -vif in libdvdcss - still required for some folk (me)
-19516 - haggy: pushed rev, moved patches to patchfiles, added 'safe fullscreen patch', several cleanups
-
-15th April 2009
-19484 - haggy: pushed rev, re-enabled MAKEFLAGS to allow a more streamlined package
-
-14th April 2009
-19463 - haggy: added install file 
-19463 - richy: moved _svn* back inside build() on Haggy's suggestion. Let's try and avoid broken releases!
-19463 - richy: makedepends 'subversion' instead of 'svn' because that's what's in the guidelines
-19463 - richy: changed licens from ('GPL' 'custom') to ('GPL', 'LGPL') - See: http://xbmc.org/about/
-
-13th April 2009 - initial upload to AUR, tested on 32bit and 64bit.
-19444 - richy: Moved _svn* outside of build so that users get the latest SVN.
-19444 - richy: Added a symlink for XBMCtex to usr/bin/XBMCtex
-19444 - richy: Moved libcdio into depends from opt-depends - right now it is a dependency.
-
diff --git a/abs/extra/xbmc-svn/FEH.sh b/abs/extra/xbmc-svn/FEH.sh
new file mode 100644
index 0000000..e040a78
--- /dev/null
+++ b/abs/extra/xbmc-svn/FEH.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+RETVAL=0
+
+if [[ -z $(glxinfo | grep "direct rendering.*Yes" | uniq) ]]; then
+  echo "XBMC needs hardware accelerated OpenGL rendering."
+  echo "Install an appropriate graphics driver."
+  echo 
+  echo "Please consult XBMC Wiki for supported hardware"
+  echo "http://xbmc.org/wiki/?title=Supported_hardware"
+  echo
+  RETVAL=1
+fi
+
+if [[ -z $(xdpyinfo | grep "depth of root.*24" | uniq) ]]; then
+  echo "XBMC cannot run unless the"
+  echo "screen color depth is atleast 24 bit."
+  echo
+  echo "Please reconfigure your screen."
+  RETVAL=1
+fi
+
+exit ${RETVAL}
+
diff --git a/abs/extra/xbmc-svn/Lircmap.xml b/abs/extra/xbmc-svn/Lircmap.xml
deleted file mode 100644
index 600567f..0000000
--- a/abs/extra/xbmc-svn/Lircmap.xml
+++ /dev/null
@@ -1,233 +0,0 @@
-<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml  -->
-<!--                                                                              -->
-<!-- How to add remotes                                                           -->
-<!-- <remote device="name_Lirc_calls_the_remote">                                 -->
-<!--                                                                              -->
-<!-- For the commands the layout following layout is used                         -->
-<!-- <XBMC_COMMAND>LircButtonName</XBMC_COMMAND>                                  -->
-<!--                                                                              -->
-<!-- For a list of XBMC_COMMAND's check out the <remote> sections of keymap.xml   -->
-
-<lircmap>
-	<remote device="mceusb">
-		<pause>Pause</pause>
-		<stop>Stop</stop>
-		<forward>Forward</forward>
-		<reverse>Rewind</reverse>
-		<left>Left</left>
-		<right>Right</right>
-		<up>Up</up>
-		<down>Down</down>
-		<select>OK</select>
-		<pageplus>ChanUp</pageplus>
-		<pageminus>ChanDown</pageminus>
-		<back>Back</back>
-		<menu>PreviousMenu</menu>
-		<title>Play</title>
-		<info>More</info>
-		<skipplus>Skip</skipplus>
-		<skipminus>Replay</skipminus>
-		<display>Teletext</display>
-		<start>Home</start>
-		<record>Record</record>
-		<volumeplus>VolUp</volumeplus>
-		<volumeminus>VolDown</volumeminus>
-		<mute>Mute</mute>
-		<power>Power</power>
-		<myvideo>Videos</myvideo>
-		<mymusic>Music</mymusic>
-		<mypictures>Pictures</mypictures>
-		<mytv>TV</mytv>
-		<one>One</one>
-		<two>Two</two>
-		<three>Three</three>
-		<four>Four</four>
-		<five>Five</five>
-		<six>Six</six>
-		<seven>Seven</seven>
-		<eight>Eight</eight>
-		<nine>Nine</nine>
-		<zero>Zero</zero>
-		<mytv>Red</mytv>
-		<mymusic>Green</mymusic>
-		<mypictures>Yellow</mypictures>
-		<myvideo>Blue</myvideo>
-	</remote>
-	
-	<remote device="mceusb2">
-		<pause>Pause</pause>
-		<stop>Stop</stop>
-		<forward>Forward</forward>
-		<reverse>Rewind</reverse>
-		<left>Left</left>
-		<right>Right</right>
-		<up>Up</up>
-		<down>Down</down>
-		<select>OK</select>
-		<pageplus>ChanUp</pageplus>
-		<pageminus>ChanDown</pageminus>
-		<back>Back</back>
-		<menu>PreviousMenu</menu>
-		<title>Play</title>
-		<info>More</info>
-		<skipplus>Skip</skipplus>
-		<skipminus>Replay</skipminus>
-		<display>Teletext</display>
-		<start>Home</start>
-		<record>Record</record>
-		<volumeplus>VolUp</volumeplus>
-		<volumeminus>VolDown</volumeminus>
-		<mute>Mute</mute>
-		<power>Power</power>
-		<myvideo>Videos</myvideo>
-		<mymusic>Music</mymusic>
-		<mypictures>Pictures</mypictures>
-		<mytv>TV</mytv>
-		<one>One</one>
-		<two>Two</two>
-		<three>Three</three>
-		<four>Four</four>
-		<five>Five</five>
-		<six>Six</six>
-		<seven>Seven</seven>
-		<eight>Eight</eight>
-		<nine>Nine</nine>
-		<zero>Zero</zero>
-		<mytv>Red</mytv>
-		<mymusic>Green</mymusic>
-		<mypictures>Yellow</mypictures>
-		<myvideo>Blue</myvideo>
-	</remote>
-	
-	<remote device="XboxDVDDongle">
-		<play>PLAY</play>
-		<pause>PAUSE</pause>
-		<stop>STOP</stop>
-		<forward>FORWARD</forward>
-		<reverse>REVERSE</reverse>
-		<left>LEFT</left>
-		<right>RIGHT</right>
-		<up>UP</up>
-		<down>DOWN</down>
-		<select>SELECT</select>
-		<back>BACK</back>
-		<menu>MENU</menu>
-		<title>TITLE</title>
-		<info>INFO</info>
-		<skipplus>SKIP+</skipplus>
-		<skipminus>SKIP-</skipminus>
-		<display>DISPLAY</display>
-		<one>1</one>
-		<two>2</two>
-		<three>3</three>
-		<four>4</four>
-		<five>5</five>
-		<six>6</six>
-		<seven>7</seven>
-		<eight>8</eight>
-		<nine>9</nine>
-		<zero>0</zero>
-	</remote>
-
-	<remote device="Microsoft_Xbox">
-		<play>PLAY</play>
-		<pause>PAUSE</pause>
-		<stop>STOP</stop>
-		<forward>FORWARD</forward>
-		<reverse>REVERSE</reverse>
-		<left>LEFT</left>
-		<right>RIGHT</right>
-		<up>UP</up>
-		<down>DOWN</down>
-		<select>SELECT</select>
-		<back>BACK</back>
-		<menu>MENU</menu>
-		<title>TITLE</title>
-		<info>INFO</info>
-		<skipplus>SKIP+</skipplus>
-		<skipminus>SKIP-</skipminus>
-		<display>DISPLAY</display>
-		<one>1</one>
-		<two>2</two>
-		<three>3</three>
-		<four>4</four>
-		<five>5</five>
-		<six>6</six>
-		<seven>7</seven>
-		<eight>8</eight>
-		<nine>9</nine>
-		<zero>0</zero>
-	</remote>
-
-	<remote device="PinnacleSysPCTVRemote">
-		<play>Play</play>
-		<pause>pause</pause>
-		<stop>Stop</stop>
-		<forward>FForward</forward>
-		<reverse>Rewind</reverse>
-		<left>Vol-Rew</left>
-		<right>Vol+FF</right>
-		<up>Chan+Play</up>
-		<down>Chan-Stop</down>
-		<pageplus>channel+</pageplus>
-		<pageminus>channel-</pageminus>
-		<select>middle</select>
-		<back>undo</back>
-		<menu>Menu</menu>
-		<title>L</title>
-		<info>Info</info>
-		<skipplus>next</skipplus>
-		<display>Fullscreen</display>
-		<record>Record</record>
-		<volumeplus>vol+</volumeplus>
-		<volumeminus>vol-</volumeminus>
-		<mute>Mute</mute>
-		<power>Power</power>
-		<one>1</one>
-		<two>2</two>
-		<three>3</three>
-		<four>4</four>
-		<five>5</five>
-		<six>6</six>
-		<seven>7</seven>
-		<eight>8</eight>
-		<nine>9</nine>
-		<zero>0</zero>
-	</remote>
-
-        <remote device="Streamzap_PC_Remote">
-                <play>PLAY</play>
-                <pause>PAUSE</pause>
-                <stop>STOP</stop>
-                <forward>&gt;&gt;</forward>
-                <reverse>&lt;&lt;</reverse>
-                <left>LEFT</left>
-                <right>RIGHT</right>
-                <up>UP</up>
-                <down>DOWN</down>
-                <pageplus>CH_UP</pageplus>
-                <pageminus>CH_DOWN</pageminus>
-                <select>OK</select>
-                <back>EXIT</back>
-                <menu>MENU</menu>
-                <title>RED</title>
-                <info>GREEN</info>
-                <skipplus>&gt;&gt;|</skipplus>
-                <display>YELLOW</display>
-                <record>RECORD</record>
-                <volumeplus>VOL_UP</volumeplus>
-                <volumeminus>VOL_DOWN</volumeminus>
-                <mute>MUTE</mute>
-                <power>POWER</power>
-                <one>1</one>
-                <two>2</two>
-                <three>3</three>
-                <four>4</four>
-                <five>5</five>
-                <six>6</six>
-                <seven>7</seven>
-                <eight>8</eight>
-                <nine>9</nine>
-                <zero>0</zero>
-        </remote>
-</lircmap>
diff --git a/abs/extra/xbmc-svn/PKGBUILD b/abs/extra/xbmc-svn/PKGBUILD
index d7debbe..fa2be23 100644
--- a/abs/extra/xbmc-svn/PKGBUILD
+++ b/abs/extra/xbmc-svn/PKGBUILD
@@ -1,49 +1,55 @@
-# Contributors : Ralf Barth <archlinux dot org at haggy dot org>
-#                Richard Atkinson atkinsonr-at-gmail 
+# Maintainer: DonVla <donvla@users.sourceforge.net>
+# Contributor: BlackEagle < ike DOT devolder AT herecura DOT be >
+# Contributor: Ulf Winkelvos <ulf [at] winkelvos [dot] de>
+# Contributor: Ralf Barth <archlinux dot org at haggy dot org>
+# Contributor: B - Thanks for your hints :)
 #
 # Original credits go to Edgar Hucek <gimli at dark-green dot com>
 # for his xbmc-vdpau-vdr PKGBUILD at https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-vdpau-vdr/PKGBUILD
 
 pkgname=xbmc-svn
-pkgver=25089
+pkgver=35648
 pkgrel=1
 pkgdesc="XBMC Media Center from SVN"
 provides=('xbmc')
-conflicts=('xbmc')
+conflicts=('xbmc' 'xbmc-pulse')
 arch=('i686' 'x86_64')
-url="http://xbmc.org"
+url="http://xbmc.svn.sourceforge.net/viewvc/xbmc/trunk"
 license=('GPL' 'LGPL')
-depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew'
-         'hal' 'jasper' 'libgl' 'libmad' 'libmysqlclient' 'libjpeg'
-         'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3'
-         'tre' 'unzip' 'libcdio' 'libsamplerate' 'python' 'avahi' 'libmad' 
-         'a52dec' 'libdca' 'faad2' 'libmpeg2' 'libvorbis' 'libogg' 'libmms'
-         'libmpcdec' 'flac' 'wavpack' 'xorg-utils' 'smbclient' 'libvdpau')
-makedepends=('subversion' 'autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf' 
-             'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip' 'flex' 'bison')
-optdepends=('lirc: remote controller support'
-            'pmount: mount removable devices as normal user'
+depends=('bzip2' 'faac' 'faad2' 'fribidi' 'glew' 'jasper' 'libass' 'libcdio' 'libgl' 'libmad' 
+         'libmicrohttpd-xbmc' 'libmms' 'libmodplug' 'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libxrandr'
+         'libxinerama' 'libxtst' 'lzo2' 'sdl_image>=1.2.10' 'sdl_mixer' 'smbclient' 'unzip' 'wavpack' 'mesa-demos')
+makedepends=('cvs' 'boost' 'cmake' 'gperf' 'nasm' 'python2' 'subversion' 'zip')
+optdepends=('avahi: to use zerconf features (remote, etc...)' 
+            'gdb: for meaningful backtraces in case of trouble - STRONGLY RECOMMENDED' 
+            'libssh: support for sshfs'
+            'libvdpau: accelerated video playback for nvidia cards' 
+            'libva: accelerated video playback for nvidia, ati/amd and some intel cards'
+            'lirc: remote controller support' 
+            'pulseaudio: pulseaudio support'
+            'udisks: automount external drives' 
+            'upower: used to trigger suspend functionality' 
             'unrar: access compressed files without unpacking them')
-install=("${pkgname}.install")
-source=(Lircmap.xml)
-noextract=()
-md5sums=()
-options=(makeflags)
+options=('makeflags')
+install="${pkgname}.install"
+source=("FEH.sh") 
+md5sums=('c3e2ab79b9965f1a4a048275d5f222c4')
+sha256sums=('1b391dfbaa07f81e5a5a7dfd1288bf2bdeab8dc50bbb6dbf39a80d8797dfaeb0')
 
 _svnmod=XBMC
 _prefix=/usr
 
 build() {
-
     _svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk
+    #_svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/Dharma
 
-    cd ${srcdir}/
-    if [ -d $_svnmod/.svn ]; then
+    cd "${srcdir}/"
+    if [ -d "$_svnmod/.svn" ]; then
         msg "SVN tree found, reverting changes and updating to -r$pkgver"
-        (cd $_svnmod && svn revert -R . && svn up -r $pkgver) || return 1
+        (cd "$_svnmod" && svn revert -R . && (make distclean || :); svn up -r "$pkgver")
     else
         msg "Checking out SVN tree of -r$pkgver"
-        svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod || return 1
+        svn co "$_svntrunk" --config-dir ./ -r "$pkgver" "$_svnmod"
     fi
 
     # Configure XBMC
@@ -51,47 +57,76 @@ build() {
     # Note on external-libs:
     #   - We cannot use external python because Arch's python was built with
     #     UCS2 unicode support, whereas xbmc expects UCS4 support
-    #   - We cannot use Arch's libass because it's incompatible with XBMC's
-    #     subtitle rendering
-    #   - We cannot use external ffmpeg because we would loose VDPAU functionality
-    cd "$srcdir/$_svnmod" 
-    msg "Configuring XBMC" 
+    cd "${srcdir}/${_svnmod}"
+
+    # Archlinux Branding by SVN_REV
+    export SVN_REV="${pkgver}-ARCH"
+    # fix lsb_release dependency
+    sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp
+
+    # remove "--as-needed" from LDFLAGS
+    unset LDFLAGS; LDFLAGS="-Wl,--hash-style=gnu"
+
+    msg "Bootstrapping XBMC"
     ./bootstrap
-    ./configure --prefix=${_prefix} \
-                --enable-external-liba52 \
-                --enable-external-libdts \
-                --enable-external-libmpeg2 \
-                --enable-external-libogg \
-                --enable-external-libwavpack \
-                --disable-external-libass \
+
+    msg "Configuring XBMC" 
+    ./configure --prefix="${_prefix}" --disable-hal \
+                --enable-external-libraries \
                 --disable-external-ffmpeg \
                 --disable-external-python \
-                --disable-debug || return 1
-  
+                --enable-webserver \
+                --enable-debug \
+#                --disable-rtmp
+
     # Now (finally) build
     msg "Running make" 
-    make || return 1
+    make ${MAKEFLAGS}
+    make -C lib/addons/script.module.pil
+    make -C lib/addons/script.module.pysqlite
+}
+
+package() {
 
-    cd "$srcdir/$_svnmod"
+    cd "${srcdir}/${_svnmod}"
     msg "Running make install" 
-    make prefix=${pkgdir}${_prefix} install || return 1
+    make prefix="${pkgdir}${_prefix}" install
+
+# Replace FEH.py with FEH.sh (and thus remove external python dependency)
+    install -D -m 0755 "${srcdir}/FEH.sh" "${pkgdir}${_prefix}/share/xbmc/FEH.sh"
+    sed -i -e 's/^python \(.*\)FEH.py \(.*\)$/\1FEH.sh \2/' "${pkgdir}${_prefix}/bin/xbmc"
+
+# lsb_release fix
+    sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc"
+    sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/    \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc"
+
+# .desktop files
+    install -D -m 0644 "${srcdir}/${_svnmod}/tools/Linux/xbmc.desktop" "${pkgdir}${_prefix}/share/applications/xbmc.desktop"
+    install -D -m 0644 "${srcdir}/${_svnmod}/tools/Linux/xbmc-48x48.png" "${pkgdir}${_prefix}/share/pixmaps/xbmc.png"
 
-    # Install 
-    install -Dm755 ${srcdir}/$_svnmod/xbmc-xrandr \
-                   ${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr || return 1
+# Tools
+    install -D -m 0755 "${srcdir}/${_svnmod}/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr"
+    install -D -m 0755 "${srcdir}/${_svnmod}/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/"
 
-    install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.desktop \
-                   ${pkgdir}${_prefix}/share/applications/xbmc.desktop || return 1
+# Licenses
+    install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${pkgname}" 
+    for licensef in LICENSE.GPL copying.txt; do 
+        mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${pkgname}" 
+    done 
 
-    install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.png \
-                   ${pkgdir}${_prefix}/share/pixmaps/xbmc.png || return 1
+# Docs 
+    install -d -m 0755 "${pkgdir}${_prefix}/share/doc/${pkgname}" 
+    for docsf in keymapping.txt README.linux; do 
+        mv "${pkgdir}${_prefix}/share/doc/xbmc/${docsf}" "${pkgdir}${_prefix}/share/doc/${pkgname}" 
+     done
 
-    install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname}
-    for licensef in LICENSE.GPL README.linux copying.txt; do
-        mv ${pkgdir}${_prefix}/share/xbmc/${licensef} \
-           ${pkgdir}${_prefix}/share/licenses/${pkgname} || return 1
-    done
+# cleanup some stuff
+    msg "Cleanup unneeded files"
+    rm -rf "${pkgdir}/usr/share/xsessions"
+    rm -f "${pkgdir}/usr/share/xbmc/FEH.py"
+    rm -f "${pkgdir}/usr/share/icons/hicolor/icon-theme.cache"
 
-    # Use custom Lircmap to support StreamZap remote
-    cp ${srcdir}/Lircmap.xml ${pkgdir}${_prefix}/share/xbmc/system/Lircmap.xml
+# strip
+    msg "Stripping binaries"
+    find "$pkgdir" -type f -exec strip {} \; >/dev/null 2>/dev/null
 }
diff --git a/abs/extra/xbmc-svn/__changelog b/abs/extra/xbmc-svn/__changelog
deleted file mode 100644
index bbf1705..0000000
--- a/abs/extra/xbmc-svn/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-Added Lircmap.xml to PKGBUILD to support MCE2 and StreamZap remotes
diff --git a/abs/extra/xbmc-svn/xbmc-svn.install b/abs/extra/xbmc-svn/xbmc-svn.install
index acf409c..9d24167 100644
--- a/abs/extra/xbmc-svn/xbmc-svn.install
+++ b/abs/extra/xbmc-svn/xbmc-svn.install
@@ -1,13 +1,28 @@
 post_install() {
-  echo ">> If XBMC won't start, but just segfaults, double check your X.Org config"
-  echo ">> so that your display depth is at least 24-bit. Eg: change "
-  echo ">> \"DefaultDepth 16\" under the \"Screen\" section so it says 24 instead"
-  echo ">> of 16."
+  echo ">> If XBMC won't start, but just segfaults, double check your X.Org config."
+  echo ">> The display depth has to be at least 24-bit, ie"
+  echo ">> set \"DefaultDepth 24\" under the \"Screen\" section of your xorg.conf file."
   echo ">> If you have problems or suggestions for this PKGBUILD, have a look at its"
   echo ">> dedicated forum thread: http://bbs.archlinux.org/viewtopic.php?pid=559107"
-  echo ">> or the wiki: http://xbmc.org/wiki/?title=XBMC_on_Arch_Linux_(Unofficial)"
+  echo ">> or the wiki: http://xbmc.org/wiki/?title=XBMC_on_Arch_Linux_(Unofficial)."
+  echo ">> Note that this is a development version of XBMC." 
+  echo ">> If you encounter problems with XBMC don't forget to consult the official"
+  echo ">> xbmc forums found here: http://forum.xbmc.org "
+  echo ">> and report bugs to the xbmc bugtracker found here: http://trac.xbmc.org."
   echo
-  /bin/true
+
+  [[ $(type -p gtk-update-icon-cache) ]] && /usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+  [[ $(type -p update-desktop-database) ]] && /usr/bin/update-desktop-database -q usr/share/applications
+}
+
+post_upgrade() {
+  [[ $(type -p gtk-update-icon-cache) ]] && /usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+  [[ $(type -p update-desktop-database) ]] && /usr/bin/update-desktop-database -q usr/share/applications
+}
+
+post_remove() {
+  [[ $(type -p gtk-update-icon-cache) ]] && /usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+  [[ $(type -p update-desktop-database) ]] && /usr/bin/update-desktop-database -q usr/share/applications
 }
 
 # vim:set ts=2 sw=2 et:
-- 
cgit v0.12


From 72badd6113d9ee29f6705e44f71fb7701d2375b4 Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Mon, 27 Dec 2010 18:58:41 -0800
Subject: xbmc:Updated to XBMC 10.0.

---
 abs/extra/xbmc/ChangeLog                           |  69 ++++++
 abs/extra/xbmc/FEH.sh                              |  43 +---
 abs/extra/xbmc/Lircmap.xml                         | 233 ---------------------
 abs/extra/xbmc/PKGBUILD                            | 188 ++++++++---------
 abs/extra/xbmc/__changelog                         |   1 -
 .../use_cdio_system_headers_on_non_win32.patch     | 130 ------------
 abs/extra/xbmc/xbmc.install                        |  29 ++-
 7 files changed, 197 insertions(+), 496 deletions(-)
 create mode 100644 abs/extra/xbmc/ChangeLog
 mode change 100644 => 100755 abs/extra/xbmc/FEH.sh
 delete mode 100644 abs/extra/xbmc/Lircmap.xml
 delete mode 100644 abs/extra/xbmc/__changelog
 delete mode 100644 abs/extra/xbmc/use_cdio_system_headers_on_non_win32.patch

diff --git a/abs/extra/xbmc/ChangeLog b/abs/extra/xbmc/ChangeLog
new file mode 100644
index 0000000..66ae97e
--- /dev/null
+++ b/abs/extra/xbmc/ChangeLog
@@ -0,0 +1,69 @@
+2010-04-10 BlackEagle <ike DOT devolder AT gmail DOT com>
+	* 9.11-15 :
+	Made it back compliant with FHS ( thx pierre for pointing that out )
+	namcap checked and modified to fit its needs as far as it was possible
+
+2009-03-07 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-10 :
+	Try and fix some autoconf issues (thanks Gentoo ebuild).
+
+2009-02-08 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-9 :
+	Replace some libtool 'ltmain.sh' scripts with the one from libtool 
+	installed with Arch.
+	Make sure XBMCTex isn't linked to OpenGL libraries or it will segfault
+	on systems using the nvidia driver.
+	
+2009-01-30 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-8 :
+	Fix some include's so that gcc 4.3.x is happy, shouldn't complain about
+	undefined '::realloc' anymore.
+	Remove Mac OS X specific files.
+	
+2009-01-25 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-7 :
+	Moved libcdio, pmount, smbclient and unrar to optdepends.
+	Removed unneeded dependency on sdl_gfx.
+	Removed dependency on libpng as sdl_image depends on it.
+
+2008-12-14 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-6 :
+	Added libpng to dependency list.
+	Added gawk to dependency list.
+	Removed '--disable-mms' and '--enable-halmount' configure flags as they
+	are not mentioned as supported in the configure script.
+	
+2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-5 :
+	Added libmad to the dependency list.
+	Streamripper 1.64.0+ does not include tre anymore, removed streamripper
+	and added tre instead.
+	Removed subversion from makedepends.
+	
+2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-4 :
+	Fix permissions for some more scripts, ffmpeg/texi2doc.pl should not
+	fail any longer.
+
+2008-12-05 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-3 :
+	Added lirc to the optdepends array.
+	
+2008-11-26 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-2 :
+	Added install file which informs users that a display depth of at
+	least 24-bit is required.
+
+2008-11-17 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+	* 8.10-1 :
+	Initial package, based on previous work by Zeqadious.
diff --git a/abs/extra/xbmc/FEH.sh b/abs/extra/xbmc/FEH.sh
old mode 100644
new mode 100755
index 9cbec63..e040a78
--- a/abs/extra/xbmc/FEH.sh
+++ b/abs/extra/xbmc/FEH.sh
@@ -1,47 +1,24 @@
 #!/bin/bash
-function directRendering() {
-out=$(glxinfo | grep "direct rendering")
-direct=${out#"direct rendering: "}
-if [ "$direct" = "Yes" ]; then
-  return 0
-else
-  return 1
-fi
-}
-
-function colorDepth() {
-out=$(xdpyinfo | grep "depth of root")
-color=${out:27:2}
-if [ "$color" = "24" ]; then
-  return 0
-else
-  return 1
-fi
-}
 
-directRendering
-direct_ok=$?
+RETVAL=0
 
-colorDepth
-color_ok=$?
-
-exit_val=0
-
-if [ $direct_ok -ne 0 ]; then
+if [[ -z $(glxinfo | grep "direct rendering.*Yes" | uniq) ]]; then
   echo "XBMC needs hardware accelerated OpenGL rendering."
   echo "Install an appropriate graphics driver."
-  echo " "
+  echo 
   echo "Please consult XBMC Wiki for supported hardware"
   echo "http://xbmc.org/wiki/?title=Supported_hardware"
-  exit_val=1
+  echo
+  RETVAL=1
 fi
 
-if [ $color_ok -ne 0 ]; then
+if [[ -z $(xdpyinfo | grep "depth of root.*24" | uniq) ]]; then
   echo "XBMC cannot run unless the"
   echo "screen color depth is atleast 24 bit."
-  echo " "
+  echo
   echo "Please reconfigure your screen."
-  exit_val=1
+  RETVAL=1
 fi
 
-exit $exit_val
+exit ${RETVAL}
+
diff --git a/abs/extra/xbmc/Lircmap.xml b/abs/extra/xbmc/Lircmap.xml
deleted file mode 100644
index 600567f..0000000
--- a/abs/extra/xbmc/Lircmap.xml
+++ /dev/null
@@ -1,233 +0,0 @@
-<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml  -->
-<!--                                                                              -->
-<!-- How to add remotes                                                           -->
-<!-- <remote device="name_Lirc_calls_the_remote">                                 -->
-<!--                                                                              -->
-<!-- For the commands the layout following layout is used                         -->
-<!-- <XBMC_COMMAND>LircButtonName</XBMC_COMMAND>                                  -->
-<!--                                                                              -->
-<!-- For a list of XBMC_COMMAND's check out the <remote> sections of keymap.xml   -->
-
-<lircmap>
-	<remote device="mceusb">
-		<pause>Pause</pause>
-		<stop>Stop</stop>
-		<forward>Forward</forward>
-		<reverse>Rewind</reverse>
-		<left>Left</left>
-		<right>Right</right>
-		<up>Up</up>
-		<down>Down</down>
-		<select>OK</select>
-		<pageplus>ChanUp</pageplus>
-		<pageminus>ChanDown</pageminus>
-		<back>Back</back>
-		<menu>PreviousMenu</menu>
-		<title>Play</title>
-		<info>More</info>
-		<skipplus>Skip</skipplus>
-		<skipminus>Replay</skipminus>
-		<display>Teletext</display>
-		<start>Home</start>
-		<record>Record</record>
-		<volumeplus>VolUp</volumeplus>
-		<volumeminus>VolDown</volumeminus>
-		<mute>Mute</mute>
-		<power>Power</power>
-		<myvideo>Videos</myvideo>
-		<mymusic>Music</mymusic>
-		<mypictures>Pictures</mypictures>
-		<mytv>TV</mytv>
-		<one>One</one>
-		<two>Two</two>
-		<three>Three</three>
-		<four>Four</four>
-		<five>Five</five>
-		<six>Six</six>
-		<seven>Seven</seven>
-		<eight>Eight</eight>
-		<nine>Nine</nine>
-		<zero>Zero</zero>
-		<mytv>Red</mytv>
-		<mymusic>Green</mymusic>
-		<mypictures>Yellow</mypictures>
-		<myvideo>Blue</myvideo>
-	</remote>
-	
-	<remote device="mceusb2">
-		<pause>Pause</pause>
-		<stop>Stop</stop>
-		<forward>Forward</forward>
-		<reverse>Rewind</reverse>
-		<left>Left</left>
-		<right>Right</right>
-		<up>Up</up>
-		<down>Down</down>
-		<select>OK</select>
-		<pageplus>ChanUp</pageplus>
-		<pageminus>ChanDown</pageminus>
-		<back>Back</back>
-		<menu>PreviousMenu</menu>
-		<title>Play</title>
-		<info>More</info>
-		<skipplus>Skip</skipplus>
-		<skipminus>Replay</skipminus>
-		<display>Teletext</display>
-		<start>Home</start>
-		<record>Record</record>
-		<volumeplus>VolUp</volumeplus>
-		<volumeminus>VolDown</volumeminus>
-		<mute>Mute</mute>
-		<power>Power</power>
-		<myvideo>Videos</myvideo>
-		<mymusic>Music</mymusic>
-		<mypictures>Pictures</mypictures>
-		<mytv>TV</mytv>
-		<one>One</one>
-		<two>Two</two>
-		<three>Three</three>
-		<four>Four</four>
-		<five>Five</five>
-		<six>Six</six>
-		<seven>Seven</seven>
-		<eight>Eight</eight>
-		<nine>Nine</nine>
-		<zero>Zero</zero>
-		<mytv>Red</mytv>
-		<mymusic>Green</mymusic>
-		<mypictures>Yellow</mypictures>
-		<myvideo>Blue</myvideo>
-	</remote>
-	
-	<remote device="XboxDVDDongle">
-		<play>PLAY</play>
-		<pause>PAUSE</pause>
-		<stop>STOP</stop>
-		<forward>FORWARD</forward>
-		<reverse>REVERSE</reverse>
-		<left>LEFT</left>
-		<right>RIGHT</right>
-		<up>UP</up>
-		<down>DOWN</down>
-		<select>SELECT</select>
-		<back>BACK</back>
-		<menu>MENU</menu>
-		<title>TITLE</title>
-		<info>INFO</info>
-		<skipplus>SKIP+</skipplus>
-		<skipminus>SKIP-</skipminus>
-		<display>DISPLAY</display>
-		<one>1</one>
-		<two>2</two>
-		<three>3</three>
-		<four>4</four>
-		<five>5</five>
-		<six>6</six>
-		<seven>7</seven>
-		<eight>8</eight>
-		<nine>9</nine>
-		<zero>0</zero>
-	</remote>
-
-	<remote device="Microsoft_Xbox">
-		<play>PLAY</play>
-		<pause>PAUSE</pause>
-		<stop>STOP</stop>
-		<forward>FORWARD</forward>
-		<reverse>REVERSE</reverse>
-		<left>LEFT</left>
-		<right>RIGHT</right>
-		<up>UP</up>
-		<down>DOWN</down>
-		<select>SELECT</select>
-		<back>BACK</back>
-		<menu>MENU</menu>
-		<title>TITLE</title>
-		<info>INFO</info>
-		<skipplus>SKIP+</skipplus>
-		<skipminus>SKIP-</skipminus>
-		<display>DISPLAY</display>
-		<one>1</one>
-		<two>2</two>
-		<three>3</three>
-		<four>4</four>
-		<five>5</five>
-		<six>6</six>
-		<seven>7</seven>
-		<eight>8</eight>
-		<nine>9</nine>
-		<zero>0</zero>
-	</remote>
-
-	<remote device="PinnacleSysPCTVRemote">
-		<play>Play</play>
-		<pause>pause</pause>
-		<stop>Stop</stop>
-		<forward>FForward</forward>
-		<reverse>Rewind</reverse>
-		<left>Vol-Rew</left>
-		<right>Vol+FF</right>
-		<up>Chan+Play</up>
-		<down>Chan-Stop</down>
-		<pageplus>channel+</pageplus>
-		<pageminus>channel-</pageminus>
-		<select>middle</select>
-		<back>undo</back>
-		<menu>Menu</menu>
-		<title>L</title>
-		<info>Info</info>
-		<skipplus>next</skipplus>
-		<display>Fullscreen</display>
-		<record>Record</record>
-		<volumeplus>vol+</volumeplus>
-		<volumeminus>vol-</volumeminus>
-		<mute>Mute</mute>
-		<power>Power</power>
-		<one>1</one>
-		<two>2</two>
-		<three>3</three>
-		<four>4</four>
-		<five>5</five>
-		<six>6</six>
-		<seven>7</seven>
-		<eight>8</eight>
-		<nine>9</nine>
-		<zero>0</zero>
-	</remote>
-
-        <remote device="Streamzap_PC_Remote">
-                <play>PLAY</play>
-                <pause>PAUSE</pause>
-                <stop>STOP</stop>
-                <forward>&gt;&gt;</forward>
-                <reverse>&lt;&lt;</reverse>
-                <left>LEFT</left>
-                <right>RIGHT</right>
-                <up>UP</up>
-                <down>DOWN</down>
-                <pageplus>CH_UP</pageplus>
-                <pageminus>CH_DOWN</pageminus>
-                <select>OK</select>
-                <back>EXIT</back>
-                <menu>MENU</menu>
-                <title>RED</title>
-                <info>GREEN</info>
-                <skipplus>&gt;&gt;|</skipplus>
-                <display>YELLOW</display>
-                <record>RECORD</record>
-                <volumeplus>VOL_UP</volumeplus>
-                <volumeminus>VOL_DOWN</volumeminus>
-                <mute>MUTE</mute>
-                <power>POWER</power>
-                <one>1</one>
-                <two>2</two>
-                <three>3</three>
-                <four>4</four>
-                <five>5</five>
-                <six>6</six>
-                <seven>7</seven>
-                <eight>8</eight>
-                <nine>9</nine>
-                <zero>0</zero>
-        </remote>
-</lircmap>
diff --git a/abs/extra/xbmc/PKGBUILD b/abs/extra/xbmc/PKGBUILD
index fc068d4..c8a3c44 100644
--- a/abs/extra/xbmc/PKGBUILD
+++ b/abs/extra/xbmc/PKGBUILD
@@ -1,116 +1,116 @@
+# $Id: PKGBUILD 35833 2010-12-23 10:25:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
 # Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
 # Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
 # Contributor: BlackEagle < ike DOT devolder AT herecura DOT be >
 
 # python dependency or not
 _ext_python="disable"
+_prefix=/usr
 
 pkgname=xbmc
-pkgver=9.11
-pkgrel=5
+pkgver=10.0
+pkgrel=2
 pkgdesc="XBMC Media Center"
 arch=('i686' 'x86_64')
 url="http://xbmc.org"
 license=('GPL' 'custom')
-conflicts=('xbmc-svn')
-depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew'
-         'hal' 'jasper' 'libgl' 'libjpeg' 'libmad' 'libmysqlclient'
-         'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3'
-         'tre' 'unzip' 'x-server' 'libcdio' 'wavpack' 'libmpeg2' 'a52dec'
-         'libdca' 'smbclient' 'faad2' 'libsamplerate' 'libmms' 'xorg-utils')
+depends=( 'bzip2' 'curl' 'enca' 'faac' 'faad2' 'fontconfig' 'fribidi'
+          'glew' 'jasper' 'libcdio' 'libgl' 'libmad' 'libmms'
+	  'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libxinerama'
+	  'libxrandr' 'libxtst' 'lzo2' 'sdl_image' 'sdl_mixer'
+	  'smbclient' 'wavpack' 'mesa-demos' 'xorg-utils' 'libmicrohttpd'
+	  'libssh' 'libva' 'libmodplug' 'rtmpdump')
 if [ "$_ext_python" != "disable" ]; then
-  depends=( '${depends[@]}' 'python' )
+  depends=( '${depends[@]}' 'python2' )
 fi
-makedepends=('autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf'
-            'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip'
-            'libvdpau')
+makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libvdpau' 'unzip' 'zip')
 optdepends=('lirc: remote controller support'
-            'smbclient: access windows shares'
-            'unrar: access compressed files without unpacking them')
-install=${pkgname}.install
-options=(force)
-source=(http://downloads.sourceforge.net/project/xbmc/XBMC%20Source%20Code/Camelot%20-%20$pkgver/xbmc-${pkgver/_/-}.tar.gz
-        use_cdio_system_headers_on_non_win32.patch
-        FEH.sh
-	Lircmap.xml)
+	    'unrar: access compressed files without unpacking them'
+	    'devicekit-power: used to trigger suspend functionality'
+	    'udisks: automount external drives'
+	    'upower: used to trigger suspend functionality'
+	    'libvdpau: for nvidia hardware acceleration')
+install=("${pkgname}.install")
+options=(makeflags)
+source=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz"
+	"FEH.sh")
+md5sums=('728fb514e5f43f27bb880305061b4e72'
+         'c3e2ab79b9965f1a4a048275d5f222c4')
 
 build() {
-  cd "${srcdir}/xbmc-${pkgver/_/-}"
-  _xbmcprefix=/usr
+    cd "${srcdir}/xbmc-$pkgver"
 
-  patch -N -p1 -i  ../use_cdio_system_headers_on_non_win32.patch || return 1
-  # fix lsb_release dependency
-  sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp || return 1
-  # fix faulty declaration in DllLaoder wrapper
-  sed -i 's: ftell64: dll_ftell64:' xbmc/cores/DllLoader/exports/wrapper.c || return 1
-  # fix libjpeg7 delays
-  sed -i 's|cinfo.scale_denom = GetJpegScale();|cinfo.scale_denom = GetJpegScale(); cinfo.scale_num = 1;|' xbmc/lib/cximage-6.0/CxImage/ximajpg.cpp || return 1
+    pacman -Q libass && { msg "Remove libass"; return 1; }
 
-  if [ $NOEXTRACT -ne 1 ]; then
-    # Archlinux Branding by SVN_REV
-    export SVN_REV="-ARCH"
+    # remove "--as-needed" from LDFLAGS
+    unset LDFLAGS; LDFLAGS="-Wl,--hash-style=gnu"
 
+    msg "Bootstrapping XBMC"
     ./bootstrap
-    ./configure --prefix=${_xbmcprefix} \
-    --enable-vdpau \
-    --disable-pulse \
-    --disable-avahi \
-    --enable-external-liba52 \
-    --enable-external-libdts \
-    --enable-external-libmpeg2 \
-    --enable-external-libogg \
-    --enable-external-libwavpack \
-    --disable-external-libass \
-    --disable-external-ffmpeg \
-    --${_ext_python}-external-python \
-    --disable-debug || return 1
-  fi
-
-  make || return 1
-  make prefix=${pkgdir}${_xbmcprefix} install || return 1
-
-  # Fix the shell script
-  sed -i '3iexport SDL_AUDIODRIVER=alsa' ${pkgdir}${_xbmcprefix}/bin/xbmc
-
-  # if disabled external python install bash script and fix startup script
-  if [ "$_ext_python" = "disable" ]; then
-    install -Dm755 ${srcdir}/FEH.sh \
-    ${pkgdir}${_xbmcprefix}/share/xbmc/FEH.sh || return 1
-    sed -i -e "s/python \\${_xbmcprefix}\/share\/xbmc\/FEH.py \"\$@\"/\\${_xbmcprefix}\/share\/xbmc\/FEH.sh/g" ${pkgdir}${_xbmcprefix}/bin/xbmc || return 1
-  fi
-
-  # bin/xbmc lsb_release fix in xmbc startup script
-  sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' ${pkgdir}${_xbmcprefix}/bin/xbmc || return 1
-  sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/    \/'/cat \/etc\/arch-release/g" ${pkgdir}${_xbmcprefix}/bin/xbmc || return 1
-
-  # Menu item
-  install -Dm644 ${srcdir}/xbmc-${pkgver/_/-}/tools/Linux/xbmc.desktop \
-  ${pkgdir}/usr/share/applications/xbmc.desktop || return 1
-  install -Dm644 ${srcdir}/xbmc-${pkgver/_/-}/tools/Linux/xbmc.png \
-  ${pkgdir}/usr/share/pixmaps/xbmc.png || return 1
-
-  # XBMCTex
-  #    install -Dm755 ${srcdir}/xbmc-${pkgver/_/-}/tools/XBMCTex/XBMCTex \
-  #                   ${pkgdir}${_xbmcprefix}/share/xbmc/tools/xbmctex || return 1
-
-  # License(s)
-  install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
-  for licensef in LICENSE.GPL README.linux copying.txt; do
-    mv ${pkgdir}${_xbmcprefix}/share/xbmc/${licensef} \
-    ${pkgdir}/usr/share/licenses/${pkgname} || return 1
-  done
-
-  # profile.d
-  mkdir -p $pkgdir/etc/profile.d/ && \
-  echo "export PATH=\$PATH:${_xbmcprefix}/bin" >$pkgdir/etc/profile.d/xbmc.sh && \
-  chmod 0755 $pkgdir/etc/profile.d/xbmc.sh || return 1
-
-  # fix .desktop
-  sed -i "s#Exec=xbmc#Exec=${_xbmcprefix}/bin/xbmc#" $pkgdir/usr/share/xsessions/XBMC.desktop $pkgdir/usr/share/applications/xbmc.desktop
-
-  # Use custom Lircmap to support StreamZap remote
-  cp ${srcdir}/Lircmap.xml ${pkgdir}${_xbmcprefix}/share/xbmc/system/Lircmap.xml
+
+    msg "Configuring XBMC"
+    ./configure --prefix=/usr \
+	--enable-vdpau \
+	--disable-pulse \
+	--disable-hal \
+	--disable-avahi \
+	--disable-external-liba52 \
+	--disable-external-libdts \
+	--enable-external-libmpeg2 \
+	--enable-external-libogg \
+	--enable-external-libwavpack \
+	--disable-external-libass \
+	--disable-external-ffmpeg \
+	--enable-rtmp \
+	--${_ext_python}-external-python \
+	--disable-debug
+
+    # Now (finally) build
+    msg "Running make"
+    make ${MAKEFLAGS}
+    make -C lib/addons/script.module.pil
+    make -C lib/addons/script.module.pysqlite
+}
+
+package() {
+    cd "${srcdir}/xbmc-$pkgver"
+    msg "Running make install"
+    make prefix="${pkgdir}${_prefix}" install
+
+    # Replace FEH.py with FEH.sh (and thus remove external python dependency)
+    install -D -m 0755 "${srcdir}/FEH.sh" "${pkgdir}${_prefix}/share/xbmc/FEH.sh"
+    sed -i -e 's/^python \(.*\)FEH.py \(.*\)$/\1FEH.sh \2/' "${pkgdir}${_prefix}/bin/xbmc"
+
+    # lsb_release fix
+    sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc"
+    sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/    \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc"
+
+    # .desktop files
+    install -D -m 0644 "${srcdir}/xbmc-$pkgver/tools/Linux/xbmc.desktop" "${pkgdir}${_prefix}/share/applications/xbmc.desktop"
+    install -D -m 0644 "${srcdir}/xbmc-$pkgver/tools/Linux/xbmc-48x48.png" "${pkgdir}${_prefix}/share/pixmaps/xbmc.png"
+
+    # Tools
+    install -D -m 0755 "${srcdir}/xbmc-$pkgver/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr"
+    install -D -m 0755 "${srcdir}/xbmc-$pkgver/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/"
+
+    # Licenses
+    install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${pkgname}"
+    for licensef in LICENSE.GPL copying.txt; do
+        mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${pkgname}"
+    done
+
+    # Docs
+    install -d -m 0755 "${pkgdir}${_prefix}/share/doc/${pkgname}"
+
+    # cleanup some stuff
+    msg "Cleanup unneeded files"
+    rm -rf "${pkgdir}/usr/share/xsessions"
+    rm -f "${pkgdir}/usr/share/xbmc/FEH.py"
+    rm -f "${pkgdir}/usr/share/icons/hicolor/icon-theme.cache"
+
+    # strip
+    msg "Stripping binaries"
+    find "$pkgdir" -type f -exec strip {} \; >/dev/null 2>/dev/null
 }
-md5sums=('9a68ac1e2f44a54cc3803fcdb1265767'
-        '7b7403cdde791330b5ab70697d2054f2'
-        '0aa669eebaaf2a9f6e000e1f43869a7b')
diff --git a/abs/extra/xbmc/__changelog b/abs/extra/xbmc/__changelog
deleted file mode 100644
index bbf1705..0000000
--- a/abs/extra/xbmc/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-Added Lircmap.xml to PKGBUILD to support MCE2 and StreamZap remotes
diff --git a/abs/extra/xbmc/use_cdio_system_headers_on_non_win32.patch b/abs/extra/xbmc/use_cdio_system_headers_on_non_win32.patch
deleted file mode 100644
index 71f3885..0000000
--- a/abs/extra/xbmc/use_cdio_system_headers_on_non_win32.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
-index 9097519..9b6418d 100644
---- a/xbmc/Application.cpp
-+++ b/xbmc/Application.cpp
-@@ -236,7 +236,11 @@
- #endif
- 
- #ifdef HAS_DVD_DRIVE
-+#ifdef _WIN32
- #include "lib/libcdio/logging.h"
-+#else
-+#include <cdio/logging.h>
-+#endif
- #endif
- 
- #ifdef HAS_HAL
-diff --git a/xbmc/FileSystem/Makefile b/xbmc/FileSystem/Makefile
-index 782d57a..1e524ed 100644
---- a/xbmc/FileSystem/Makefile
-+++ b/xbmc/FileSystem/Makefile
-@@ -1,5 +1,4 @@
--INCLUDES=-I. -I../ -I../cores -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
--INCLUDES+=-I../lib/libcdio/libcdio/include
-+INCLUDES=-I. -I../ -I../cores -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I../lib
-
- CXXFLAGS+=-D__STDC_FORMAT_MACROS \
- 
-diff --git a/xbmc/FileSystem/cdioSupport.cpp b/xbmc/FileSystem/cdioSupport.cpp
-index 00e5fdd..21a0b67 100644
---- a/xbmc/FileSystem/cdioSupport.cpp
-+++ b/xbmc/FileSystem/cdioSupport.cpp
-@@ -26,7 +26,7 @@
- #include "cdioSupport.h"
- #include "utils/SingleLock.h"
- #include "utils/log.h"
--#ifndef _LINUX
-+#ifdef _WIN32
- #include "lib/libcdio/logging.h"
- #include "lib/libcdio/util.h"
- #include "lib/libcdio/mmc.h"
-diff --git a/xbmc/FileSystem/iso9660.cpp b/xbmc/FileSystem/iso9660.cpp
-index 6e1633f..58fbc50 100644
---- a/xbmc/FileSystem/iso9660.cpp
-+++ b/xbmc/FileSystem/iso9660.cpp
-@@ -44,7 +44,7 @@ ISO9660
- #include "utils/CharsetConverter.h"
- 
- #include "DetectDVDType.h"  // for MODE2_DATA_SIZE etc.
--#ifdef _LINUX
-+#ifndef _WIN32
- #include <cdio/bytesex.h>
- #else
- #include "lib/libcdio/bytesex.h" // for from_723 & from_733
-diff --git a/xbmc/Makefile b/xbmc/Makefile
-index abfbdcb..f55381a 100644
---- a/xbmc/Makefile
-+++ b/xbmc/Makefile
-@@ -8,8 +8,6 @@ INCLUDES+=-Ilib/libUPnP/Platinum/Source/Core \
-           -Ilib/libUPnP/Neptune/Source/System/Posix \
-           -Ilib/libUPnP/Neptune/Source/Core
- 
--INCLUDES+=-Ilib/libcdio/libcdio/include
--
- SRCS=Application.cpp \
-      CueDocument.cpp \
-      GUISettings.cpp \
-diff --git a/xbmc/cdrip/CDDAReader.cpp b/xbmc/cdrip/CDDAReader.cpp
-index c8b37b2..e3e9c0b 100644
---- a/xbmc/cdrip/CDDAReader.cpp
-+++ b/xbmc/cdrip/CDDAReader.cpp
-@@ -24,7 +24,11 @@
- #ifdef HAS_CDDA_RIPPER
- 
- #include "CDDAReader.h"
-+#ifdef _WIN32
- #include "lib/libcdio/cdio.h"
-+#else
-+#include <cdio/cdio.h>
-+#endif
- #include "utils/log.h"
- 
- #define SECTOR_COUNT 52
-diff --git a/xbmc/cores/paplayer/AC3CDDACodec.cpp b/xbmc/cores/paplayer/AC3CDDACodec.cpp
-index 20cded7..f2a077a 100644
---- a/xbmc/cores/paplayer/AC3CDDACodec.cpp
-+++ b/xbmc/cores/paplayer/AC3CDDACodec.cpp
-@@ -22,7 +22,11 @@
- #include "system.h"
- #include "AC3CDDACodec.h"
- #ifdef HAS_AC3_CDDA_CODEC
-+#ifdef _WIN32
- #include "lib/libcdio/sector.h"
-+#else
-+#include <cdio/sector.h>
-+#endif
- 
- AC3CDDACodec::AC3CDDACodec() : AC3Codec()
- {
-diff --git a/xbmc/cores/paplayer/CDDAcodec.cpp b/xbmc/cores/paplayer/CDDAcodec.cpp
-index ca8f1be..42460dc 100644
---- a/xbmc/cores/paplayer/CDDAcodec.cpp
-+++ b/xbmc/cores/paplayer/CDDAcodec.cpp
-@@ -20,7 +20,11 @@
-  */
- 
- #include "CDDAcodec.h"
-+#ifdef _WIN32
- #include "lib/libcdio/sector.h"
-+#else
-+#include <cdio/sector.h>
-+#endif
- 
- #define SECTOR_COUNT 55 // max. sectors that can be read at once
- #define MAX_BUFFER_SIZE 2*SECTOR_COUNT*CDIO_CD_FRAMESIZE_RAW
-diff --git a/xbmc/cores/paplayer/DTSCDDACodec.cpp b/xbmc/cores/paplayer/DTSCDDACodec.cpp
-index e64cc2e..9bc46c6 100644
---- a/xbmc/cores/paplayer/DTSCDDACodec.cpp
-+++ b/xbmc/cores/paplayer/DTSCDDACodec.cpp
-@@ -22,7 +22,11 @@
- #include "system.h"
- #include "DTSCDDACodec.h"
- #ifdef HAS_DTS_CODEC
-+#ifdef _WIN32
- #include "lib/libcdio/sector.h"
-+#else
-+#include <cdio/sector.h>
-+#endif
- 
- DTSCDDACodec::DTSCDDACodec() : DTSCodec()
- {
diff --git a/abs/extra/xbmc/xbmc.install b/abs/extra/xbmc/xbmc.install
index eb4e9d4..a59d22b 100644
--- a/abs/extra/xbmc/xbmc.install
+++ b/abs/extra/xbmc/xbmc.install
@@ -1,7 +1,26 @@
 post_install() {
-  echo ">> If XBMC won't start, but just segfaults, double check your X.Org config"
-  echo ">> so that your display depth is at least 24-bit. Eg: change "
-  echo ">> \"DefaultDepth 16\" under the \"Screen\" section so it says 24 instead"
-  echo ">> of 16."
-  /bin/true
+  echo ">> If XBMC won't start, but just segfaults, double check your X.Org config."
+  echo ">> The display depth has to be at least 24-bit, ie"
+  echo ">> set \"DefaultDepth 24\" under the \"Screen\" section of your xorg.conf file."
+  echo ">> If you have problems or suggestions for this PKGBUILD, have a look at its"
+  echo ">> dedicated forum thread: http://bbs.archlinux.org/viewtopic.php?pid=559107"
+  echo ">> or the wiki: http://xbmc.org/wiki/?title=XBMC_on_Arch_Linux_(Unofficial)."
+  echo ">> Note that this is a development version of XBMC." 
+  echo ">> If you encounter problems with XBMC don't forget to consult the official"
+  echo ">> xbmc forums found here: http://forum.xbmc.org "
+  echo ">> and report bugs to the xbmc bugtracker found here: http://trac.xbmc.org."
+  echo
+
+  [[ $(type -p gtk-update-icon-cache) ]] && /usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+  [[ $(type -p update-desktop-database) ]] && /usr/bin/update-desktop-database -q usr/share/applications
+}
+
+post_upgrade() {
+  [[ $(type -p gtk-update-icon-cache) ]] && /usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+  [[ $(type -p update-desktop-database) ]] && /usr/bin/update-desktop-database -q usr/share/applications
+}
+
+post_remove() {
+  [[ $(type -p gtk-update-icon-cache) ]] && /usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+  [[ $(type -p update-desktop-database) ]] && /usr/bin/update-desktop-database -q usr/share/applications
 }
-- 
cgit v0.12


From 58817c5472bdd618b205e67235a4876a97d59264 Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Mon, 27 Dec 2010 19:47:30 -0800
Subject: libmicrohttpd:Initial inclusion.  Dep of XBMC.

---
 abs/extra/libmicrohttpd/PKGBUILD | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 abs/extra/libmicrohttpd/PKGBUILD

diff --git a/abs/extra/libmicrohttpd/PKGBUILD b/abs/extra/libmicrohttpd/PKGBUILD
new file mode 100644
index 0000000..e56945d
--- /dev/null
+++ b/abs/extra/libmicrohttpd/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 35497 2010-12-21 07:51:02Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Norberto Lopes <shelika@mail.telepac.pt>
+# Contributor: Kao Dome <kaodome@gmail.com>
+# Contributor: Dmitrij D. Czarkoff <czarkoff@gmail.com>
+# Contributor: Mathias Rohnstock <linksoft@gmx.de>
+
+pkgname=libmicrohttpd
+pkgver=0.9.3
+pkgrel=2
+pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application."
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libmicrohttpd/"
+license=('LGPL')
+options=(!libtool)
+depends=('gnutls')
+source=(ftp://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz)
+md5sums=('a6c7dae57c51afd648b45a526098429a')
+
+build() {
+  cd ${pkgname}-${pkgver}
+  ./configure --prefix=/usr --disable-dependency-tracking --enable-largefile \
+	--enable-curl --enable-messages --with-pic
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+  make DESTDIR=${pkgdir} install
+  install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/include/platform.h \
+	${pkgdir}/usr/include/$pkgname/platform.h
+  install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/include/plibc/plibc.h \
+	${pkgdir}/usr/include/$pkgname/plibc.h
+  sed -i 's#Cflags: -I${includedir}#Cflags: -I${includedir} -I{includedir}/libmicrohttpd#' $pkgdir/usr/lib/pkgconfig/libmicrohttpd.pc
+}
-- 
cgit v0.12


From 1d451012eab8135bc14fe0c50aa179c9b8a1bf79 Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Mon, 27 Dec 2010 19:48:07 -0800
Subject: libssh:initial inclusion.  Dep of XBMC.

---
 abs/extra/libssh/PKGBUILD    | 31 +++++++++++++++++++++++++++++++
 abs/extra/libssh/__changelog |  1 +
 2 files changed, 32 insertions(+)
 create mode 100644 abs/extra/libssh/PKGBUILD
 create mode 100644 abs/extra/libssh/__changelog

diff --git a/abs/extra/libssh/PKGBUILD b/abs/extra/libssh/PKGBUILD
new file mode 100644
index 0000000..f70c291
--- /dev/null
+++ b/abs/extra/libssh/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id$
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: ice-man <icemanf@gmail.com>
+# Contributor: sergeantspoon <sergeantspoon@archlinux.us>
+
+pkgname=libssh
+pkgver=0.4.6
+pkgrel=2
+pkgdesc="Library for accessing ssh client services through C libraries"
+url="http://www.libssh.org/"
+license=('LGPL')
+arch=('i686' 'x86_64')
+depends=('openssl')
+makedepends=('cmake' 'doxygen')
+source=("http://www.libssh.org/files/0.4/${pkgname}-${pkgver}.tar.gz")
+md5sums=('9efdc8911fdb150fb16500c2fbe4ef2e')
+
+build() {
+  cd ${srcdir}
+  mkdir build
+  cd build
+  cmake ../${pkgname}-${pkgver} \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_BUILD_TYPE=Release
+  make
+}
+
+package(){
+  cd ${srcdir}/build
+  make DESTDIR=${pkgdir} install
+}
diff --git a/abs/extra/libssh/__changelog b/abs/extra/libssh/__changelog
new file mode 100644
index 0000000..9e60b2f
--- /dev/null
+++ b/abs/extra/libssh/__changelog
@@ -0,0 +1 @@
+12/27/10 - chw - fixed URL for source
-- 
cgit v0.12


From d14dbeda92e975ff3431fb7377b1dd8516b386db Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Mon, 27 Dec 2010 19:48:25 -0800
Subject: recode:initial include dep of enna.

---
 abs/extra/recode/PKGBUILD                   | 37 +++++++++++++++++++++++++++++
 abs/extra/recode/recode-3.6-as-if.patch     | 19 +++++++++++++++
 abs/extra/recode/recode-3.6-gcc43.patch     | 20 ++++++++++++++++
 abs/extra/recode/recode-3.6-gettextfix.diff | 23 ++++++++++++++++++
 abs/extra/recode/recode.install             | 20 ++++++++++++++++
 5 files changed, 119 insertions(+)
 create mode 100644 abs/extra/recode/PKGBUILD
 create mode 100644 abs/extra/recode/recode-3.6-as-if.patch
 create mode 100644 abs/extra/recode/recode-3.6-gcc43.patch
 create mode 100644 abs/extra/recode/recode-3.6-gettextfix.diff
 create mode 100644 abs/extra/recode/recode.install

diff --git a/abs/extra/recode/PKGBUILD b/abs/extra/recode/PKGBUILD
new file mode 100644
index 0000000..f7fd237
--- /dev/null
+++ b/abs/extra/recode/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 84692 2010-07-03 16:19:26Z ibiru $
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=recode
+pkgver=3.6
+pkgrel=5
+pkgdesc="Converts files between various character sets and usages"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/recode/recode.html"
+license=('GPL' 'LGPL')
+depends=('glibc' 'texinfo')
+options=('!libtool')
+install=recode.install
+source=(ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz
+        http://ftp.de.debian.org/debian/pool/main/r/recode/recode_3.6-15.diff.gz
+        recode-3.6-as-if.patch recode-3.6-gettextfix.diff)
+md5sums=('be3f40ad2e93dae5cd5f628264bf1877'
+         '95ca772e367a7ef56d3f46d724b6f86e'
+         'fca7484ba332c8ad59eb02334883cd92'
+         'eb602e80a24b5448604bfebeacc55304')
+
+build() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+  patch -Np1 -i ${srcdir}/recode-3.6-as-if.patch
+  patch -Np1 -i ${srcdir}/recode-3.6-gettextfix.diff
+  patch -Np1 -i ${srcdir}/recode_3.6-15.diff
+  sed -i '1i#include <stdlib.h>' src/argmatch.c
+  rm -f acinclude.m4
+  autoreconf -fi
+  libtoolize
+  ./configure --prefix=/usr --mandir=/usr/share/man \
+    --infodir=/usr/share/info --without-included-gettext
+  make || return 1
+  make DESTDIR=${pkgdir} install || return 1
+  rm ${pkgdir}/usr/share/info/dir
+  gzip ${pkgdir}/usr/share/info/*
+}
diff --git a/abs/extra/recode/recode-3.6-as-if.patch b/abs/extra/recode/recode-3.6-as-if.patch
new file mode 100644
index 0000000..c7bcc27
--- /dev/null
+++ b/abs/extra/recode/recode-3.6-as-if.patch
@@ -0,0 +1,19 @@
+http://bugs.gentoo.org/283029
+
+--- a/m4/flex.m4
++++ b/m4/flex.m4
+@@ -8,11 +8,11 @@ dnl ad_AC_PROG_FLEX
+ dnl Look for flex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
+ AC_DEFUN(ad_AC_PROG_FLEX,
+ [AC_CHECK_PROGS(LEX, flex, missing)
+-if test "$LEX" = missing; then
++AS_IF([test "$LEX" = missing], [dnl
+   LEX="\$(top_srcdir)/$ac_aux_dir/missing flex"
+   LEX_OUTPUT_ROOT=lex.yy
+   AC_SUBST(LEX_OUTPUT_ROOT)dnl
+-else
++], [:
+   AC_PROG_LEX
+   AC_DECL_YYTEXT
+-fi])
++])])
diff --git a/abs/extra/recode/recode-3.6-gcc43.patch b/abs/extra/recode/recode-3.6-gcc43.patch
new file mode 100644
index 0000000..beaf26e
--- /dev/null
+++ b/abs/extra/recode/recode-3.6-gcc43.patch
@@ -0,0 +1,20 @@
+http://bugs.gentoo.org/209036
+
+fix building with gcc-4.3
+
+--- src/recodext.h	2008-04-03 18:35:42 +0000
++++ src/recodext.h	2008-04-03 18:36:32 +0000
+@@ -215,10 +215,10 @@
+     struct recode_single *unsurfacer;
+ 
+     /* Non zero if this is an acceptable charset (not only a surface).  */
+-    enum recode_symbol_type type : 3;
++    enum recode_symbol_type type : 2;
+ 
+     /* Non zero if this one should be ignored.  */
+-    bool ignore : 2;
++    bool ignore : 1;
+   };
+ 
+ struct recode_surface_list
+
diff --git a/abs/extra/recode/recode-3.6-gettextfix.diff b/abs/extra/recode/recode-3.6-gettextfix.diff
new file mode 100644
index 0000000..3b7eb8b
--- /dev/null
+++ b/abs/extra/recode/recode-3.6-gettextfix.diff
@@ -0,0 +1,23 @@
+http://bugs.gentoo.org/239372
+
+patch by Dmitry Karasik
+
+--- recode-3.6/m4/gettext.m4
++++ recode-3.6/m4/gettext.m4
+@@ -109,12 +109,12 @@
+     else
+       ac_items="$LINGUAS"
+       for ac_item in $ac_items; do
+-	case "$ALL_LINGUAS" in
+-	  *$ac_item*)
++        for supported_item in $ALL_LINGUAS; do
++          if test "$ac_item" = "$supported_item"; then
+ 	    ac_print="$ac_print $ac_item"
+ 	    MOFILES="$MOFILES $ac_item.mo"
+-	    ;;
+-	esac
++          fi
++        done
+       done
+     fi
+     AC_SUBST(MOFILES)
diff --git a/abs/extra/recode/recode.install b/abs/extra/recode/recode.install
new file mode 100644
index 0000000..6304d59
--- /dev/null
+++ b/abs/extra/recode/recode.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(recode.info-5.gz recode.info-3.gz recode.info-7.gz recode.info-6.gz recode.info-2.gz recode.info-4.gz recode.info.gz recode.info-1.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
+}
-- 
cgit v0.12


From 7cac80fd3da778c8f3fe64caa768d905adf1bc1f Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Tue, 28 Dec 2010 09:04:44 -0800
Subject: glib2:bumped to 2.6.1

---
 abs/core/glib2/PKGBUILD | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/abs/core/glib2/PKGBUILD b/abs/core/glib2/PKGBUILD
index 8efde87..f1738b7 100644
--- a/abs/core/glib2/PKGBUILD
+++ b/abs/core/glib2/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 92776 2010-10-01 06:05:06Z allan $
+# $Id: PKGBUILD 99447 2010-11-14 19:35:34Z ibiru $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=glib2
-pkgver=2.26.0
-pkgrel=2
+pkgver=2.26.1
+pkgrel=1
 pkgdesc="Common C routines used by GTK+ 2.4 and other libs"
 url="http://www.gtk.org/"
 arch=(i686 x86_64)
@@ -14,7 +14,7 @@ options=('!libtool' '!docs')
 source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.26/glib-${pkgver}.tar.bz2
         glib2.sh
         glib2.csh)
-sha256sums=('4c18e3aadb5b20acc7c0f7d3a77da8a2843b85a9fd73fd3aa360a7aea953e3b2'
+sha256sums=('7a74ff12b6b9dee1f2d0e520b56b68b621920c4f4250bdf23468e515625c28d5'
             '9456872cdedcc639fb679448d74b85b0facf81033e27157d2861b991823b5a2a'
             '8d5626ffa361304ad3696493c0ef041d0ab10c857f6ef32116b3e2878ecf89e3')
 
@@ -30,4 +30,8 @@ build() {
   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
 }
-- 
cgit v0.12


From 59b02dca09fc2f5cb1bfb60d1d2c75f1a1022fcf Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Tue, 28 Dec 2010 10:04:55 -0800
Subject: gtk-doc:initial inclusion

---
 abs/extra/gtk-doc/PKGBUILD | 1 -
 1 file changed, 1 deletion(-)

diff --git a/abs/extra/gtk-doc/PKGBUILD b/abs/extra/gtk-doc/PKGBUILD
index ec90190..4984a5b 100644
--- a/abs/extra/gtk-doc/PKGBUILD
+++ b/abs/extra/gtk-doc/PKGBUILD
@@ -25,4 +25,3 @@ package() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   make DESTDIR="${pkgdir}" install
 }
-
-- 
cgit v0.12


From cfd4d415e8d133ae8907a0c8f3a587b2f44dec69 Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Tue, 28 Dec 2010 10:05:08 -0800
Subject: libproxy:initial inclusion

---
 abs/extra/libproxy/PKGBUILD | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 abs/extra/libproxy/PKGBUILD

diff --git a/abs/extra/libproxy/PKGBUILD b/abs/extra/libproxy/PKGBUILD
new file mode 100644
index 0000000..2f2010e
--- /dev/null
+++ b/abs/extra/libproxy/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 24494 2009-01-17 20:42:01Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libproxy
+pkgver=0.4.6
+pkgrel=2
+pkgdesc="A library that provides automatic proxy configuration management"
+arch=(i686 x86_64)
+license=('LGPL')
+depends=('gcc-libs')
+optdepends=('gconf: GNOME configuration module'
+            'kdelibs: KDE configuration module'
+            'networkmanager: NetworkManager configuration module'
+            'libwebkit: WPAD/PAC parsing via WebKit JavaScript engine'
+            'xulrunner: WPAD/PAC parsing via Mozilla JavaScript engine'
+            'perl: Perl bindings'
+            'python2: Python bindings')
+makedepends=('xulrunner' 'gconf' 'cmake' 'networkmanager' 'libwebkit' 'automoc4' 'python2' 'kdelibs' 'perl')
+url="http://libproxy.googlecode.com"
+source=(http://libproxy.googlecode.com/files/${pkgname}-${pkgver}.tar.gz)
+options=('!libtool')
+md5sums=('199c6b120baf1f7258a55f38d5ec74f5')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  mkdir build
+  cd build
+  cmake -DCMAKE_INSTALL_PREFIX=/usr \
+    -DLIBEXEC_INSTALL_DIR=/usr/lib/libproxy \
+    -DCMAKE_SKIP_RPATH=ON \
+    -DPERL_VENDORINSTALL=yes \
+    -DCMAKE_BUILD_TYPE=None \
+    -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
+    -DCMAKE_C_FLAGS="${CFLAGS}" \
+    ..
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}/build"
+  make DESTDIR="${pkgdir}" install
+}
-- 
cgit v0.12


From a23c7142f0acb22ce3893d737db5f99a6c95c834 Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Tue, 28 Dec 2010 10:05:25 -0800
Subject: libsoup:initial inclusion

---
 abs/extra/libsoup/PKGBUILD | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 abs/extra/libsoup/PKGBUILD

diff --git a/abs/extra/libsoup/PKGBUILD b/abs/extra/libsoup/PKGBUILD
new file mode 100644
index 0000000..a0934b4
--- /dev/null
+++ b/abs/extra/libsoup/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 99663 2010-11-15 23:53:29Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=libsoup
+pkgname=('libsoup' 'libsoup-gnome')
+pkgver=2.32.1
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('LGPL')
+makedepends=('glib2>=2.26.1' 'gnutls>=2.8.6' 'libxml2>=2.7.7' 'libproxy>=0.4.6' 'sqlite3>=3.7.2' 'gconf>=2.32.0' 'libgnome-keyring>=2.32.0' 'intltool' 'gobject-introspection>=0.9.12')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/2.32/${pkgbase}-${pkgver}.tar.bz2)
+options=('!libtool' '!emptydirs')
+sha256sums=('8779da1b4d85f443f04ea8301f52c4a1943c10e4dc8d20dbcdb3652921de6b8e')
+
+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>=2.26.1' 'libxml2>=2.7.7' 'gnutls>=2.8.6')
+
+  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}" 'libproxy>=0.4.6' 'libgnome-keyring>=2.32.0' 'gconf>=2.32.0')
+
+  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"
+}
-- 
cgit v0.12


From 0ddd714e3fc2207088b35390ecd86062946df555 Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Tue, 28 Dec 2010 10:05:44 -0800
Subject: libwebkit:initial inclusion.

---
 abs/extra/libwebkit/PKGBUILD            | 36 +++++++++++++++++++++++++++++++++
 abs/extra/libwebkit/introspection.patch | 22 ++++++++++++++++++++
 2 files changed, 58 insertions(+)
 create mode 100644 abs/extra/libwebkit/PKGBUILD
 create mode 100644 abs/extra/libwebkit/introspection.patch

diff --git a/abs/extra/libwebkit/PKGBUILD b/abs/extra/libwebkit/PKGBUILD
new file mode 100644
index 0000000..1c7705b
--- /dev/null
+++ b/abs/extra/libwebkit/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 95079 2010-10-14 18:34:57Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=libwebkit
+pkgver=1.2.5
+pkgrel=1
+pkgdesc="an opensource web content engine, derived from KHTML and KJS from KDE"
+arch=('i686' 'x86_64')
+url="http://webkitgtk.org/"
+license=('custom')
+depends=('libxt' 'libxslt' 'sqlite3' 'gtk2' 'icu>=4.4' 'gstreamer0.10-base' 'libsoup' 'enchant')
+makedepends=('gperf' 'gtk-doc' 'gobject-introspection')
+provides=('webkitgtk-svn')
+conflicts=('webkitgtk-svn')
+replaces=('webkitgtk-svn')
+options=('!libtool') # '!makeflags')
+source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz
+        introspection.patch)
+md5sums=('09f04985665b9abf6f0d9956f86a6a31'
+         'e7e83312618cb30cc9a1567a21cd0e06')
+
+build() {
+  cd "${srcdir}/webkit-${pkgver}"
+  patch -Np0 -i "${srcdir}/introspection.patch"
+  ./configure --prefix=/usr \
+      --enable-video --enable-introspection \
+      --with-font-backend=freetype --enable-gtk-doc \
+      --enable-jit --with-unicode-backend=icu
+  make
+}
+
+package() {
+  cd "${srcdir}/webkit-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 WebKit/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/extra/libwebkit/introspection.patch b/abs/extra/libwebkit/introspection.patch
new file mode 100644
index 0000000..f12e9e6
--- /dev/null
+++ b/abs/extra/libwebkit/introspection.patch
@@ -0,0 +1,22 @@
+--- WebKit/gtk/JSCore-1.0.gir	2010-09-29 14:54:07.000000000 +0200
++++ WebKit/gtk/JSCore-1.0.gir	2010-09-29 15:57:06.000000000 +0200
+@@ -1,12 +1,14 @@
+ <?xml version="1.0"?>
+-<repository version="1.0"
++<repository version="1.2"
+             xmlns="http://www.gtk.org/introspection/core/1.0"
+             xmlns:c="http://www.gtk.org/introspection/c/1.0">
+   <namespace name="JSCore" version="1.0" shared-library="webkit-1.0">
+-    <alias name="GlobalContextRef"
+-           target="none"
+-           c:type="JSGlobalContextRef"/>
+-    <alias name="ObjectRef" target="none" c:type="JSObjectRef"/>
++    <alias name="GlobalContextRef" target="none">
++      <type name="JSGlobalContextRef" c:type="JSGlobalContextRef"/>
++    </alias>
++    <alias name="ObjectRef" target="none">
++      <type name="JSObjectRef" c:type="JSObjectRef"/>
++    </alias>
+     <function name="EvaluateScript" c:identifier="JSEvaluateScript">
+       <return-value transfer-ownership="none">
+         <type name="none" c:type="void"/>
-- 
cgit v0.12


From eb0b8a2e6a2b8c78266e2e641a468843deee61c3 Mon Sep 17 00:00:00 2001
From: Cecil <knoppmyth@gmail.com>
Date: Tue, 28 Dec 2010 10:52:16 -0800
Subject: handbrake:initial inclusion

---
 abs/extra/handbrake/PKGBUILD            |  46 ++++++
 abs/extra/handbrake/gtk2.20_fixes.patch | 248 ++++++++++++++++++++++++++++++++
 abs/extra/handbrake/handbrake.install   |  15 ++
 3 files changed, 309 insertions(+)
 create mode 100644 abs/extra/handbrake/PKGBUILD
 create mode 100644 abs/extra/handbrake/gtk2.20_fixes.patch
 create mode 100644 abs/extra/handbrake/handbrake.install

diff --git a/abs/extra/handbrake/PKGBUILD b/abs/extra/handbrake/PKGBUILD
new file mode 100644
index 0000000..7946bd5
--- /dev/null
+++ b/abs/extra/handbrake/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 84760 2010-07-04 06:05:09Z eric $
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Sebastien Piccand <sebcactus gmail com>
+
+pkgbase=handbrake
+pkgname=('handbrake' 'handbrake-cli')
+pkgver=0.9.4
+pkgrel=3
+arch=('i686' 'x86_64')
+url="http://handbrake.fr/"
+license=('GPL')
+depends=('bzip2' 'hal' 'libnotify' 'libwebkit')
+makedepends=('intltool' 'python' 'yasm')
+source=(http://saintdevelopment.com/mirror/${pkgname}/HandBrake-${pkgver}.tar.bz2
+	gtk2.20_fixes.patch)
+md5sums=('69f88b2e602550615da75947f914d7e6' 'e0296baaed129dceaf0d29c8284dc9fe')
+sha1sums=('91329a83315b7eae0b2b3731a8bf0f2de2a6eb4d' '17b39144d9883b1f63d9b9ff2f6770b35bbdb16a')
+
+build() {
+  cd "${srcdir}/HandBrake-${pkgver}"
+
+  #this patch is cherry picked from svn. remove it when updating to a new version
+  patch -Np0 -i ${srcdir}/gtk2.20_fixes.patch
+
+  ./configure --prefix=/usr --force
+  cd build
+  make
+}
+
+package_handbrake() {
+  pkgdesc="Multiplatform, multithreaded DVD to MPEG-4/H264/Theora converter"
+  install=${pkgname}.install
+
+  cd "${srcdir}/HandBrake-${pkgver}/build"
+  make DESTDIR="${pkgdir}" install
+  rm "${pkgdir}/usr/bin/HandBrakeCLI"
+}
+
+package_handbrake-cli() {
+  pkgdesc="Multiplatform, multithreaded DVD to MPEG-4/H264/Theora converter (CLI version)"
+  depends=('bzip2' 'gcc-libs' 'zlib')
+  conflict=('handbrake<=0.9.4-2')
+
+  cd "${srcdir}/HandBrake-${pkgver}/build"
+  install -D -m 755 HandBrakeCLI "${pkgdir}/usr/bin/HandBrakeCLI"
+}
diff --git a/abs/extra/handbrake/gtk2.20_fixes.patch b/abs/extra/handbrake/gtk2.20_fixes.patch
new file mode 100644
index 0000000..63b0947
--- /dev/null
+++ b/abs/extra/handbrake/gtk2.20_fixes.patch
@@ -0,0 +1,248 @@
+Index: gtk/src/settings.c
+===================================================================
+--- gtk/src/settings.c	(revision 3134)
++++ gtk/src/settings.c	(revision 3135)
+@@ -179,17 +179,14 @@
+ // Map widget names to setting keys
+ // Widgets that map to settings have names
+ // of this format: s_<setting key>
+-static const gchar*
+-get_setting_key(GtkWidget *widget)
++const gchar*
++ghb_get_setting_key(GtkWidget *widget)
+ {
+ 	const gchar *name;
+ 	
+ 	g_debug("get_setting_key ()\n");
+ 	if (widget == NULL) return NULL;
+-	if (GTK_IS_ACTION(widget))
+-		name = gtk_action_get_name(GTK_ACTION(widget));
+-	else
+-		name = gtk_widget_get_name(widget);
++	name = gtk_buildable_get_name(GTK_BUILDABLE(widget));
+ 		
+ 	if (name == NULL)
+ 	{
+@@ -214,10 +211,7 @@
+ 	}
+ 
+ 	type = GTK_WIDGET_TYPE(widget);
+-	if (GTK_IS_ACTION(widget))
+-		name = gtk_action_get_name(GTK_ACTION(widget));
+-	else
+-		name = gtk_widget_get_name(widget);
++	name = ghb_get_setting_key(widget);
+ 	g_debug("ghb_widget_value widget (%s)\n", name);
+ 	if (type == GTK_TYPE_ENTRY)
+ 	{
+@@ -442,7 +436,7 @@
+ 	if (widget == NULL) return;
+ 	g_debug("ghb_widget_to_setting");
+ 	// Find corresponding setting
+-	key = get_setting_key(widget);
++	key = ghb_get_setting_key(widget);
+ 	if (key == NULL) return;
+ 	value = ghb_widget_value(widget);
+ 	if (value != NULL)
+Index: gtk/src/settings.h
+===================================================================
+--- gtk/src/settings.h	(revision 3134)
++++ gtk/src/settings.h	(revision 3135)
+@@ -108,5 +108,6 @@
+ void ghb_widget_to_setting(GValue *settings, GtkWidget *widget);
+ int ghb_ui_update(
+ 	signal_user_data_t *ud, const gchar *name, const GValue *value);
++const gchar* ghb_get_setting_key(GtkWidget *widget);
+ 
+ #endif // _SETTINGS_H_
+Index: gtk/src/preview.c
+===================================================================
+--- gtk/src/preview.c	(revision 3134)
++++ gtk/src/preview.c	(revision 3135)
+@@ -877,7 +877,7 @@
+ 	ghb_widget_to_setting (ud->settings, xwidget);
+ 	ghb_preview_set_visible(ud);
+ 	ghb_check_dependency(ud, xwidget, NULL);
+-	const gchar *name = gtk_widget_get_name(xwidget);
++	const gchar *name = ghb_get_setting_key(xwidget);
+ 	ghb_pref_save(ud->settings, name);
+ }
+ 
+@@ -934,7 +934,7 @@
+ 	g_debug("fullscreen_clicked_cb()");
+ 	ghb_widget_to_setting (ud->settings, toggle);
+ 	ghb_check_dependency(ud, toggle, NULL);
+-	const gchar *name = gtk_widget_get_name(toggle);
++	const gchar *name = ghb_get_setting_key(toggle);
+ 	ghb_pref_save(ud->settings, name);
+ 
+ 	window = GTK_WINDOW(GHB_WIDGET (ud->builder, "preview_window"));
+@@ -1030,7 +1030,7 @@
+ 	ghb_live_reset(ud);
+ 	ghb_widget_to_setting (ud->settings, widget);
+ 	ghb_check_dependency(ud, widget, NULL);
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	ghb_pref_save(ud->settings, name);
+ }
+ 
+Index: gtk/src/audiohandler.c
+===================================================================
+--- gtk/src/audiohandler.c	(revision 3134)
++++ gtk/src/audiohandler.c	(revision 3135)
+@@ -478,7 +478,7 @@
+ G_MODULE_EXPORT void
+ subtitle_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
+ {
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	g_debug("subtitle_changed_cb () %s", name);
+ 	ghb_widget_to_setting(ud->settings, widget);
+ 	ghb_check_dependency(ud, widget, NULL);
+Index: gtk/src/x264handler.c
+===================================================================
+--- gtk/src/x264handler.c	(revision 3134)
++++ gtk/src/x264handler.c	(revision 3135)
+@@ -523,7 +523,7 @@
+ x264_opt_update(signal_user_data_t *ud, GtkWidget *widget)
+ {
+ 	gint jj;
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	gchar **opt_syns = NULL;
+ 	const gchar *def_val = NULL;
+ 	gint type;
+Index: gtk/src/callbacks.c
+===================================================================
+--- gtk/src/callbacks.c	(revision 3134)
++++ gtk/src/callbacks.c	(revision 3135)
+@@ -199,7 +199,7 @@
+ 		type = GTK_WIDGET_TYPE(widget);
+ 		if (type == GTK_TYPE_COMBO_BOX || type == GTK_TYPE_COMBO_BOX_ENTRY)
+ 			if (gtk_combo_box_get_active(GTK_COMBO_BOX(widget)) < 0) return;
+-		name = gtk_widget_get_name(widget);
++		name = ghb_get_setting_key(widget);
+ 	}
+ 	else
+ 		name = alt_name;
+@@ -1054,7 +1054,7 @@
+ 	gchar *sourcename;
+ 
+ 	sourcename = ghb_settings_get_string(ud->settings, "source");
+-	filename = gtk_action_get_name(action);
++	filename = gtk_buildable_get_name(GTK_BUILDABLE(action));
+ 	ghb_do_scan(ud, filename, 0, TRUE);
+ 	if (strcmp(sourcename, filename) != 0)
+ 	{
+@@ -1694,7 +1694,7 @@
+ G_MODULE_EXPORT void
+ target_size_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
+ {
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	g_debug("target_size_changed_cb () %s", name);
+ 	ghb_widget_to_setting(ud->settings, widget);
+ 	ghb_check_dependency(ud, widget, NULL);
+@@ -1713,7 +1713,7 @@
+ start_point_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
+ {
+ 	gint start, end;
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 
+ 	g_debug("start_point_changed_cb () %s", name);
+ 	ghb_widget_to_setting(ud->settings, widget);
+@@ -1765,7 +1765,7 @@
+ end_point_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
+ {
+ 	gint start, end;
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 
+ 	g_debug("end_point_changed_cb () %s", name);
+ 	ghb_widget_to_setting(ud->settings, widget);
+@@ -3588,7 +3588,7 @@
+ 	g_debug("pref_changed_cb");
+ 	ghb_widget_to_setting (ud->settings, widget);
+ 	ghb_check_dependency(ud, widget, NULL);
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	ghb_pref_save(ud->settings, name);
+ }
+ 
+@@ -3598,7 +3598,7 @@
+ 	g_debug("use_m4v_changed_cb");
+ 	ghb_widget_to_setting (ud->settings, widget);
+ 	ghb_check_dependency(ud, widget, NULL);
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	ghb_pref_save(ud->settings, name);
+ 	ghb_update_destination_extension(ud);
+ }
+@@ -3609,7 +3609,7 @@
+ 	g_debug("show_status_cb");
+ 	ghb_widget_to_setting (ud->settings, widget);
+ 	ghb_check_dependency(ud, widget, NULL);
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	ghb_pref_save(ud->settings, name);
+ 
+ 	GtkStatusIcon *si;
+@@ -3626,7 +3626,7 @@
+ 	ghb_widget_to_setting (ud->settings, widget);
+ 	ghb_check_dependency(ud, widget, NULL);
+ 
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	ghb_pref_save(ud->settings, name);
+ 
+ 	gdouble vqmin, vqmax, step, page;
+@@ -3643,7 +3643,7 @@
+ {
+ 	g_debug("tweaks_changed_cb");
+ 	ghb_widget_to_setting (ud->settings, widget);
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	ghb_pref_save(ud->settings, name);
+ }
+ 
+@@ -3652,7 +3652,7 @@
+ {
+ 	g_debug("hbfd_feature_changed_cb");
+ 	ghb_widget_to_setting (ud->settings, widget);
+-	const gchar *name = gtk_widget_get_name(widget);
++	const gchar *name = ghb_get_setting_key(widget);
+ 	ghb_pref_save(ud->settings, name);
+ 
+ 	gboolean hbfd = ghb_settings_get_boolean(ud->settings, "hbfd_feature");
+@@ -4559,7 +4559,7 @@
+ 		GtkResponseType response;
+ 		gchar *tweak = NULL;
+ 
+-		name = gtk_widget_get_name(widget);
++		name = ghb_get_setting_key(widget);
+ 		if (g_str_has_prefix(name, "tweak_"))
+ 		{
+ 			tweak_name = g_strdup(name);
+Index: gtk/src/main.c
+===================================================================
+--- gtk/src/main.c	(revision 3134)
++++ gtk/src/main.c	(revision 3135)
+@@ -152,7 +152,7 @@
+     g_return_if_fail(handler_name != NULL);
+     g_return_if_fail(signal_name != NULL);
+ 
+-	//const gchar *name = gtk_widget_get_name((GtkWidget*)object);
++	//const gchar *name = ghb_get_setting_key((GtkWidget*)object);
+ 	//g_message("\n\nname %s", name);
+ 	g_debug("handler_name %s", handler_name);
+ 	g_debug("signal_name %s", signal_name);
+@@ -192,7 +192,7 @@
+     font_desc = pango_font_description_from_string(font);
+     if (font_desc == NULL) exit(1);
+     gtk_widget_modify_font(widget, font_desc);
+-    name = gtk_widget_get_name(widget);
++    name = ghb_get_setting_key(widget);
+     g_debug("changing font for widget %s\n", name);
+     if (GTK_IS_CONTAINER(widget))
+     {
diff --git a/abs/extra/handbrake/handbrake.install b/abs/extra/handbrake/handbrake.install
new file mode 100644
index 0000000..9a06fb3
--- /dev/null
+++ b/abs/extra/handbrake/handbrake.install
@@ -0,0 +1,15 @@
+post_install() {
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+  post_install $1
+
+  if [ "$(vercmp $2 0.9.4-3)" -lt 0 ]; then
+    echo "==> The handbrake CLI binary is now in a separate package: handbrake-cli"
+  fi
+}
+
+post_remove() {
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
-- 
cgit v0.12