summaryrefslogtreecommitdiffstats
path: root/abs/extra/community
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/community')
-rw-r--r--abs/extra/community/athcool/PKGBUILD24
-rw-r--r--abs/extra/community/athcool/athcool35
-rw-r--r--abs/extra/community/athcool/athcool.install18
-rwxr-xr-xabs/extra/community/athcool/finish3
-rw-r--r--abs/extra/community/athcool/run2
-rw-r--r--abs/extra/community/cksfv/PKGBUILD21
-rw-r--r--abs/extra/community/codecs/PKGBUILD33
-rw-r--r--abs/extra/community/cpulimit/PKGBUILD20
-rw-r--r--abs/extra/community/cwiid-svn/PKGBUILD49
-rw-r--r--abs/extra/community/cwiid-svn/cwiid.install16
-rw-r--r--abs/extra/community/deluge/PKGBUILD25
-rw-r--r--abs/extra/community/desktop-file-utils/ChangeLog7
-rw-r--r--abs/extra/community/desktop-file-utils/PKGBUILD20
-rw-r--r--abs/extra/community/djmount/PKGBUILD25
-rw-r--r--abs/extra/community/djmount/djmount.confd2
-rwxr-xr-xabs/extra/community/djmount/djmount.rcd39
-rw-r--r--abs/extra/community/enca/PKGBUILD23
-rw-r--r--abs/extra/community/firefox-i18n/PKGBUILD87
-rw-r--r--abs/extra/community/firefox/PKGBUILD76
-rw-r--r--abs/extra/community/firefox/browser-app-makefile.patch11
-rw-r--r--abs/extra/community/firefox/browser-defaulturls.patch26
-rw-r--r--abs/extra/community/firefox/firefox-safe.desktop11
-rw-r--r--abs/extra/community/firefox/firefox-version.patch11
-rw-r--r--abs/extra/community/firefox/firefox.desktop83
-rw-r--r--abs/extra/community/firefox/firefox.install24
-rw-r--r--abs/extra/community/firefox/mozconfig35
-rw-r--r--abs/extra/community/firefox/mozilla-firefox-1.0-lang.patch12
-rw-r--r--abs/extra/community/flashplugin/PKGBUILD40
-rw-r--r--abs/extra/community/fluidsynth/PKGBUILD25
-rw-r--r--abs/extra/community/fluxconf/PKGBUILD24
-rw-r--r--abs/extra/community/foldingathome/PKGBUILD26
-rw-r--r--abs/extra/community/foldingathome/foldingathome.install47
-rw-r--r--abs/extra/community/foldingathome/run26
-rw-r--r--abs/extra/community/gnash-common/PKGBUILD40
-rw-r--r--abs/extra/community/gnash-gtk/PKGBUILD40
-rw-r--r--abs/extra/community/gstreamer0.10-base-plugins/PKGBUILD33
-rw-r--r--abs/extra/community/gstreamer0.10-base/PKGBUILD28
-rw-r--r--abs/extra/community/gstreamer0.10/PKGBUILD33
-rw-r--r--abs/extra/community/gstreamer0.10/bgo555631.patch88
-rw-r--r--abs/extra/community/gtkglext/PKGBUILD25
-rw-r--r--abs/extra/community/gtkglext/gtkglext-1.0.6-pangox.patch30
-rw-r--r--abs/extra/community/ircii/PKGBUILD16
-rw-r--r--abs/extra/community/jdk/PKGBUILD50
-rw-r--r--abs/extra/community/jdk/jdk.install14
-rw-r--r--abs/extra/community/jdk/jdk.profile3
-rw-r--r--abs/extra/community/jre/PKGBUILD58
-rw-r--r--abs/extra/community/jre/jre.install26
-rw-r--r--abs/extra/community/jre/jre.profile4
-rw-r--r--abs/extra/community/libdvbpsi/PKGBUILD25
-rw-r--r--abs/extra/community/libelf/PKGBUILD22
-rw-r--r--abs/extra/community/libmatroska/PKGBUILD21
-rw-r--r--abs/extra/community/libmodplug/PKGBUILD23
-rw-r--r--abs/extra/community/libmpcdec/PKGBUILD22
-rw-r--r--abs/extra/community/libnetfilter_queue/PKGBUILD21
-rw-r--r--abs/extra/community/libnfnetlink/PKGBUILD18
-rw-r--r--abs/extra/community/liboil/PKGBUILD25
-rw-r--r--abs/extra/community/libshout/PKGBUILD23
-rw-r--r--abs/extra/community/libstdc++5/PKGBUILD41
-rw-r--r--abs/extra/community/libstdc++5/gcc-3.4.3-no_multilib_amd64.patch11
-rw-r--r--abs/extra/community/libv4l/PKGBUILD19
-rw-r--r--abs/extra/community/lua/PKGBUILD30
-rw-r--r--abs/extra/community/lua/lua-5.1-cflags.diff13
-rw-r--r--abs/extra/community/lua/lua-5.1.3-official-patch1.diff12
-rw-r--r--abs/extra/community/lua/lua-5.1.3-official-patch2.diff11
-rw-r--r--abs/extra/community/lua/lua-5.1.3-official-patch3.diff21
-rw-r--r--abs/extra/community/lua/lua-5.1.3-official-patch4.diff18
-rw-r--r--abs/extra/community/lua/lua-arch.patch55
-rw-r--r--abs/extra/community/mmv/PKGBUILD35
-rw-r--r--abs/extra/community/mmv/mmv.install19
-rw-r--r--abs/extra/community/moblock/MoBlock-nfq.sh.patch53
-rwxr-xr-xabs/extra/community/moblock/PKGBUILD56
-rw-r--r--abs/extra/community/moblock/config30
-rwxr-xr-xabs/extra/community/moblock/moblock70
-rwxr-xr-xabs/extra/community/moblock/moblock-update174
-rw-r--r--abs/extra/community/moblock/moblock.install30
-rw-r--r--abs/extra/community/moblock/moblock.logrotate11
-rw-r--r--abs/extra/community/moblock/moblock_0.9_rc2.patch912
-rw-r--r--abs/extra/community/moblock/moblock_include.patch10
-rw-r--r--abs/extra/community/moblockcontrol/PKGBUILD42
-rw-r--r--abs/extra/community/moblockcontrol/moblock-control-update.sh3
-rw-r--r--abs/extra/community/moblockcontrol/moblock_control.patch11
-rw-r--r--abs/extra/community/moblockcontrol/moblockcontrol.install28
-rw-r--r--abs/extra/community/mobloquer/PKGBUILD26
-rw-r--r--abs/extra/community/motion-svn/PKGBUILD42
-rw-r--r--abs/extra/community/motion-svn/motion-svn.install11
-rw-r--r--abs/extra/community/motion-svn/rc.motion36
-rw-r--r--abs/extra/community/mozplugger/ChangeLog7
-rw-r--r--abs/extra/community/mozplugger/PKGBUILD26
-rw-r--r--abs/extra/community/mozplugger/mozplugger.install15
-rw-r--r--abs/extra/community/mpc/ChangeLog15
-rw-r--r--abs/extra/community/mpc/PKGBUILD26
-rw-r--r--abs/extra/community/mpd/PKGBUILD45
-rwxr-xr-xabs/extra/community/mpd/mpd42
-rw-r--r--abs/extra/community/mpd/mpd.install23
-rw-r--r--abs/extra/community/mythpywii/PKGBUILD18
-rw-r--r--abs/extra/community/mythtv-vdpau/2.6.28_dvb_api_version.diff22
-rw-r--r--abs/extra/community/mythtv-vdpau/PKGBUILD102
-rw-r--r--abs/extra/community/mythtv-vdpau/PKGBUILD.orig102
-rw-r--r--abs/extra/community/mythtv-vdpau/QUICKSTART.archlinux69
-rwxr-xr-xabs/extra/community/mythtv-vdpau/menu-xml/HOST_SETTINGS.xml87
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/is.xml3
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/library.xml.patch15
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/linhes.xml54
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/mainmenu.xml.patch39
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/mythbackup.xml20
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/mythrestore.xml20
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/optical_menu.xml.patch15
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/original/create_patch.sh5
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/setup.xml111
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/siriusmenu.xml419
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/util_menu.xml.patch17
-rw-r--r--abs/extra/community/mythtv-vdpau/menu-xml/xmmenu.xml574
-rw-r--r--abs/extra/community/mythtv-vdpau/mpegpspatch66
-rwxr-xr-xabs/extra/community/mythtv-vdpau/mythbackend38
-rw-r--r--abs/extra/community/mythtv-vdpau/mythbackend.lr9
-rw-r--r--abs/extra/community/mythtv-vdpau/mythfrontend.lr9
-rw-r--r--abs/extra/community/mythtv-vdpau/myththemedmenu.cpp.patch125
-rw-r--r--abs/extra/community/mythtv-vdpau/myththemedmenu.h.patch25
-rw-r--r--abs/extra/community/mythtv-vdpau/mythtv.install61
-rw-r--r--abs/extra/community/mythtv-vdpau/pretty2
-rw-r--r--abs/extra/community/mythtv-vdpau/smolt_jump.patch9
-rw-r--r--abs/extra/community/ncdu/PKGBUILD19
-rw-r--r--abs/extra/community/nvclock/PKGBUILD27
-rw-r--r--abs/extra/community/nvclock/nvclock-0.8b4-buildfix.patch16
-rw-r--r--abs/extra/community/nvidia-beta/PKGBUILD44
-rw-r--r--abs/extra/community/nvidia-beta/nvidia.install22
-rw-r--r--abs/extra/community/nvidia-utils-beta/PKGBUILD80
-rw-r--r--abs/extra/community/nvidia-utils-beta/nvidia.install36
-rw-r--r--abs/extra/community/nvidia-utils-beta/supported-cards.txt272
-rw-r--r--abs/extra/community/nxtvepg.tar.gzbin0 -> 2018 bytes
-rw-r--r--abs/extra/community/nxtvepg/PKGBUILD45
-rw-r--r--abs/extra/community/nxtvepg/nxtvepg-icon-16.pngbin0 -> 193 bytes
-rw-r--r--abs/extra/community/nxtvepg/nxtvepg-icon-32.pngbin0 -> 267 bytes
-rw-r--r--abs/extra/community/nxtvepg/nxtvepg-icon-48.pngbin0 -> 333 bytes
-rw-r--r--abs/extra/community/nxtvepg/nxtvepg.desktop10
-rw-r--r--abs/extra/community/nxtvepg/tcl_85.patch13
-rwxr-xr-xabs/extra/community/nzbperl/PKGBUILD16
-rw-r--r--abs/extra/community/projectx/PKGBUILD45
-rw-r--r--abs/extra/community/projectx/projectx10
-rw-r--r--abs/extra/community/pyxdg/PKGBUILD18
-rw-r--r--abs/extra/community/screen/PKGBUILD41
-rw-r--r--abs/extra/community/screen/screen.install27
-rw-r--r--abs/extra/community/screen/screen.pam1
-rw-r--r--abs/extra/community/smplayer/ChangeLog62
-rw-r--r--abs/extra/community/smplayer/PKGBUILD30
-rw-r--r--abs/extra/community/torrentflux/PKGBUILD51
-rw-r--r--abs/extra/community/torrentflux/torrentflux.install60
-rw-r--r--abs/extra/community/transmission-cli/ChangeLog60
-rw-r--r--abs/extra/community/transmission-cli/PKGBUILD35
-rw-r--r--abs/extra/community/transmission-cli/transmission-cli.install9
-rw-r--r--abs/extra/community/transmission-cli/transmissiond37
-rw-r--r--abs/extra/community/transmission-cli/transmissiond.conf1
-rw-r--r--abs/extra/community/tre/PKGBUILD19
-rw-r--r--abs/extra/community/unrar/PKGBUILD23
-rw-r--r--abs/extra/community/unrar/unrar-3.5.2-optimalization-fix.patch12
-rw-r--r--abs/extra/community/uudeview/PKGBUILD30
-rw-r--r--abs/extra/community/vlc/PKGBUILD71
-rw-r--r--abs/extra/community/vsftpd/PKGBUILD52
-rw-r--r--abs/extra/community/vsftpd/run13
-rw-r--r--abs/extra/community/vsftpd/vsftpd.d40
-rw-r--r--abs/extra/community/vsftpd/vsftpd.install22
-rw-r--r--abs/extra/community/vsftpd/vsftpd.xinetd10
-rw-r--r--abs/extra/community/wiiuse/PKGBUILD26
-rw-r--r--abs/extra/community/wiiuse/wiiuse.install17
-rw-r--r--abs/extra/community/xbmc-svn/CHANGELOG110
-rw-r--r--abs/extra/community/xbmc-svn/Lircmap.xml233
-rw-r--r--abs/extra/community/xbmc-svn/PKGBUILD139
-rw-r--r--abs/extra/community/xbmc-svn/__changelog1
-rw-r--r--abs/extra/community/xbmc-svn/libcurl-not-in-lib64.patch13
-rw-r--r--abs/extra/community/xbmc-svn/xbmc-svn.install13
-rw-r--r--abs/extra/community/xbmc/ChangeLog64
-rw-r--r--abs/extra/community/xbmc/PKGBUILD118
-rw-r--r--abs/extra/community/xbmc/xbmc.install9
-rw-r--r--abs/extra/community/xine-lib-vdpau-svn/PKGBUILD47
-rw-r--r--abs/extra/community/zvbi/PKGBUILD21
175 files changed, 7869 insertions, 0 deletions
diff --git a/abs/extra/community/athcool/PKGBUILD b/abs/extra/community/athcool/PKGBUILD
new file mode 100644
index 0000000..c5a3290
--- /dev/null
+++ b/abs/extra/community/athcool/PKGBUILD
@@ -0,0 +1,24 @@
+pkgname=athcool
+pkgver=0.3.12
+pkgrel=3
+pkgdesc="Small utility allowing to enable powersaving mode on AMD Duron/Athlon/Athlon XP processors."
+url="http://members.jcom.home.ne.jp/jacobi/linux/softwares.html"
+depends=(pciutils)
+license="GPL"
+install=athcool.install
+arch=(i686)
+source=(http://members.jcom.home.ne.jp/jacobi/linux/files/$pkgname-$pkgver.tar.gz
+athcool run finish)
+md5sums=('f2e0f4fbd04f5e1f09aa60a3ecb24645'
+ 'bbf32484cec6431568ccf51c2516f9e7'
+ 'b9cf31ac580c1665d50d70e405d276bc')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+ /bin/install -D -m0755 ../athcool $startdir/pkg/etc/rc.d/athcool
+ mkdir -p $pkgdir/etc/sv/athcool/supervise
+ install -D -m0755 ../run $pkgdir/etc/sv/athcool
+ install -D -m0755 ../finish $pkgdir/etc/sv/athcool
+}
diff --git a/abs/extra/community/athcool/athcool b/abs/extra/community/athcool/athcool
new file mode 100644
index 0000000..f49bd40
--- /dev/null
+++ b/abs/extra/community/athcool/athcool
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+ATHCOOL=/usr/sbin/athcool
+
+case "$1" in
+ start)
+ stat_busy "Enabling Athcool"
+ $ATHCOOL on > /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Disabling Athcool"
+ $ATHCOOL off > /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ /bin/sleep 1
+ $0 start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/extra/community/athcool/athcool.install b/abs/extra/community/athcool/athcool.install
new file mode 100644
index 0000000..8896da2
--- /dev/null
+++ b/abs/extra/community/athcool/athcool.install
@@ -0,0 +1,18 @@
+# arg 1: the new package version
+post_install() {
+ add_service.sh athcool
+}
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ remove_service.sh athcool
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/extra/community/athcool/finish b/abs/extra/community/athcool/finish
new file mode 100755
index 0000000..cae6b1b
--- /dev/null
+++ b/abs/extra/community/athcool/finish
@@ -0,0 +1,3 @@
+#!/bin/bash
+exec 2>&1
+sv down athcool
diff --git a/abs/extra/community/athcool/run b/abs/extra/community/athcool/run
new file mode 100644
index 0000000..b43936c
--- /dev/null
+++ b/abs/extra/community/athcool/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/sbin/athcool on 2>&1
diff --git a/abs/extra/community/cksfv/PKGBUILD b/abs/extra/community/cksfv/PKGBUILD
new file mode 100644
index 0000000..b82aa60
--- /dev/null
+++ b/abs/extra/community/cksfv/PKGBUILD
@@ -0,0 +1,21 @@
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Wijnand Modderman <wijanand+aur@archlinux.nl>
+
+pkgname=cksfv
+pkgver=1.3.12
+pkgrel=1
+pkgdesc="SFV (Simple File Verification) Checker"
+arch=('i686' 'x86_64')
+url="http://zakalwe.virtuaalipalvelin.net/~shd/foss/cksfv/"
+license=('GPL')
+depends=('glibc')
+source=(http://zakalwe.virtuaalipalvelin.net/~shd/foss/cksfv/files/$pkgname-$pkgver.tar.bz2)
+md5sums=('1d277da8bafaec9ddadb92ece4999590')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr --package-prefix=$startdir/pkg
+ make || return 1
+ make install
+ chmod 644 $startdir/pkg/usr/share/man/man1/$pkgname.1
+}
diff --git a/abs/extra/community/codecs/PKGBUILD b/abs/extra/community/codecs/PKGBUILD
new file mode 100644
index 0000000..8cf80be
--- /dev/null
+++ b/abs/extra/community/codecs/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 27228 2009-02-17 05:58:02Z thayer $
+# Contributor: Thomas Baechler <thomas@archlinux.org>
+# Maintainer: Thayer Williams <thayer@archlinux.org>
+
+pkgname=codecs
+pkgver=20071007
+pkgrel=3
+pkgdesc="Non-linux native codec pack. (Win32, Real9, QuickTime)"
+arch=('i686' 'x86_64')
+license=('unknown')
+# The codec packages are different
+# only the 32 bit package needs legacy libstdc++
+[ "$CARCH" = "i686" ] && depends=('libstdc++5')
+[ "$CARCH" = "x86_64" ] && depends=('gcc-libs')
+options=('!strip')
+url="http://www.mplayerhq.hu/design7/dload.html"
+
+md5sums=('4ea9c2dbd0945c83af1a8d0dd363993c')
+_arch=""
+if [ "${CARCH}" = "x86_64" ]; then
+ _arch="-amd64"
+ md5sums=('8e1ceeec51469f5baac65e56fac709e8')
+fi
+source=(http://www.mplayerhq.hu/MPlayer/releases/codecs/essential${_arch}-${pkgver}.tar.bz2)
+
+build() {
+ mkdir -p ${pkgdir}/usr/lib/codecs
+ cd ${pkgdir}/usr/lib
+ ln -s codecs win32
+ install -m755 ${srcdir}/essential${_arch}-${pkgver}/* ${pkgdir}/usr/lib/codecs
+ rm ${pkgdir}/usr/lib/codecs/README
+}
+
diff --git a/abs/extra/community/cpulimit/PKGBUILD b/abs/extra/community/cpulimit/PKGBUILD
new file mode 100644
index 0000000..28a3b55
--- /dev/null
+++ b/abs/extra/community/cpulimit/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD,v 1.6 2009/02/09 18:02:27 abhidg Exp $
+# Maintainer: Sergej Pupykin <sergej@aur.archlinux.org>
+# Contributor: Sergej Pupykin <sergej@aur.archlinux.org>
+
+pkgname=cpulimit
+pkgver=1.1
+pkgrel=1
+pkgdesc="Limit cpu usage in %. Actualy sends SIGSTOP/SIGCONT"
+arch=('i686' 'x86_64')
+url="http://cpulimit.sourceforge.net/"
+license=("GPL")
+source=("http://downloads.sourceforge.net/sourceforge/cpulimit/cpulimit-$pkgver.tar.gz")
+md5sums=('f4ff6d4bfaef1258e8f5cd2041e2e2a3')
+
+build () {
+ cd $startdir/src/$pkgname-$pkgver
+ make
+ install -D -m0755 cpulimit $startdir/pkg/usr/bin/cpulimit
+}
+
diff --git a/abs/extra/community/cwiid-svn/PKGBUILD b/abs/extra/community/cwiid-svn/PKGBUILD
new file mode 100644
index 0000000..eba6523
--- /dev/null
+++ b/abs/extra/community/cwiid-svn/PKGBUILD
@@ -0,0 +1,49 @@
+#Contributor:Andrea Tarocchi <valdar@email.it>
+pkgname=cwiid-svn
+#pkgver=`date +%Y%m%d`
+pkgver=184
+pkgrel=3
+pkgdesc="Cwiid-svn is the bleeding edge version of a wiimote's driver and utility tools"
+arch=(i686 x86_64)
+url="http://abstrakraft.org/cwiid/"
+license=('GPL')
+
+depends=('gawk' 'bluez-libs' 'gtk2')
+makedepends=('subversion')
+conflicts=('cwiid')
+provides=('cwiid')
+install=('cwiid.install')
+source=()
+md5sums=('b3966beecae0de200c90523af8f3bf0e')
+
+_svntrunk=http://abstrakraft.org/cwiid/svn/trunk/
+_svnmod=cwiid
+
+build() {
+ cd $startdir/src
+
+ svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ #svn co $_svntrunk --config-dir ./ $_svnmod
+
+ msg "SVN checkout done or server timeout"
+ msg "Starting make..."
+
+ cp -r $_svnmod $_svnmod-build
+ cd $_svnmod-build
+
+ autoreconf
+
+ ./configure --prefix=/usr --disable-ldconfig --sysconfdir=/etc
+ make
+
+ install -d $startdir/pkg/usr/bin
+ install -d $startdir/pkg/etc
+ install -d $startdir/pkg/usr/lib
+ install -d $startdir/pkg/usr/include
+
+ make prefix=$startdir/pkg/usr sysconfdir=$startdir/pkg/etc install
+
+ install -D -m644 ./wminput/README $pkgdir/usr/share/doc/cwiid-svn/wminput
+
+ rm -rf $startdir/src/$_svnmod-build
+}
diff --git a/abs/extra/community/cwiid-svn/cwiid.install b/abs/extra/community/cwiid-svn/cwiid.install
new file mode 100644
index 0000000..6f3dccc
--- /dev/null
+++ b/abs/extra/community/cwiid-svn/cwiid.install
@@ -0,0 +1,16 @@
+# arg 1: the new package version
+post_install() {
+echo -e "Note:"
+echo -e "\033[1;31m==> In order to use wminput you have to load the uinput kernel module:\033[0m"
+echo -e "\033[1;31m==> modprobe uinput (as root)\033[0m"
+echo -e "\033[1;31m==> and you have to assign correct right acces to /dev/uinput\033[0m"
+echo -e "\033[1;31m==> PLEASE READ /usr/share/doc/cwiid-svn/wminput\033[0m"
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/extra/community/deluge/PKGBUILD b/abs/extra/community/deluge/PKGBUILD
new file mode 100644
index 0000000..6a1a971
--- /dev/null
+++ b/abs/extra/community/deluge/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 26558 2009-02-09 16:10:09Z hugo $
+# Maintainer: Hugo Doria <hugo@archlinux.org>
+
+pkgname=deluge
+pkgver=1.1.2
+pkgrel=1
+pkgdesc="A bittorrent client written with python and pygtk"
+arch=('i686' 'x86_64')
+url="http://deluge-torrent.org/"
+license=('GPL3')
+depends=('pygtk' 'boost>=1.37.0' 'pyxdg' 'dbus-python' 'librsvg' 'setuptools')
+makedepends=('subversion' 'intltool')
+options=('!emptydirs')
+source=(http://download.deluge-torrent.org/source/${pkgver}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('c9d56e266e5cb3024f2dbd72c952e182')
+
+build() {
+
+ cd ${srcdir}/${pkgname}-${pkgver}/
+ python setup.py build
+ python setup.py install --prefix=/usr --root=${pkgdir}
+
+ install -D -m644 deluge/data/pixmaps/deluge.svg ${pkgdir}/usr/share/pixmaps/deluge.svg
+}
+
diff --git a/abs/extra/community/desktop-file-utils/ChangeLog b/abs/extra/community/desktop-file-utils/ChangeLog
new file mode 100644
index 0000000..8941e48
--- /dev/null
+++ b/abs/extra/community/desktop-file-utils/ChangeLog
@@ -0,0 +1,7 @@
+2008-07-22 Alexander Fehr <pizzapunk gmail com>
+
+ * desktop-file-utils-0.15-1:
+ New upstream release.
+ New maintainer.
+ Changed url.
+ Added ChangeLog.
diff --git a/abs/extra/community/desktop-file-utils/PKGBUILD b/abs/extra/community/desktop-file-utils/PKGBUILD
new file mode 100644
index 0000000..aa92c33
--- /dev/null
+++ b/abs/extra/community/desktop-file-utils/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 6468 2008-07-24 13:00:42Z alexanderf $
+# Maintainer: Alexander Fehr <pizzapunk gmail com>
+
+pkgname=desktop-file-utils
+pkgver=0.15
+pkgrel=1
+pkgdesc="Command line utilities for working with desktop entries"
+arch=('i686' 'x86_64')
+url="http://www.freedesktop.org/wiki/Software/desktop-file-utils"
+license=('GPL')
+depends=('glib2')
+source=(http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-$pkgver.tar.gz)
+md5sums=('2fe8ebe222fc33cd4a959415495b7eed')
+
+build() {
+ cd "$srcdir/desktop-file-utils-$pkgver"
+ ./configure --prefix=/usr || return 1
+ make || return 1
+ make DESTDIR="$pkgdir" install || return 1
+}
diff --git a/abs/extra/community/djmount/PKGBUILD b/abs/extra/community/djmount/PKGBUILD
new file mode 100644
index 0000000..a3648dc
--- /dev/null
+++ b/abs/extra/community/djmount/PKGBUILD
@@ -0,0 +1,25 @@
+# Contributor: Michele Schäuble <mschaeuble@swissonline.ch>
+
+pkgname=djmount
+pkgver=0.71
+pkgrel=1
+pkgdesc="A UPnP AV client that mounts media server contents as a filesystem."
+arch=('i686')
+url="http://djmount.sourceforge.net/"
+license=('GPL')
+depends=('fuse')
+source=(http://voxel.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz \
+ djmount.rcd djmount.confd)
+md5sums=('c922753e706c194bf82a8b6ca77e6a9a' \
+ 'f473b5150df385447f2f58049bfb6199' \
+ '21de4c947c17e8558f1007a20757f254')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+
+ install -D -m755 $startdir/src/djmount.rcd $startdir/pkg/etc/rc.d/djmount
+ install -D -m644 $startdir/src/djmount.confd $startdir/pkg/etc/conf.d/djmount
+}
diff --git a/abs/extra/community/djmount/djmount.confd b/abs/extra/community/djmount/djmount.confd
new file mode 100644
index 0000000..079100e
--- /dev/null
+++ b/abs/extra/community/djmount/djmount.confd
@@ -0,0 +1,2 @@
+OPTIONS="-o ro,allow_other"
+MOUNTPOINT="/media/upnp"
diff --git a/abs/extra/community/djmount/djmount.rcd b/abs/extra/community/djmount/djmount.rcd
new file mode 100755
index 0000000..84899dd
--- /dev/null
+++ b/abs/extra/community/djmount/djmount.rcd
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+ . /etc/rc.conf
+ . /etc/rc.d/functions
+
+# source application-specific settings
+[ -f /etc/conf.d/djmount ] && . /etc/conf.d/djmount
+
+ case "$1" in
+
+ start)
+ stat_busy "Starting djmount"
+ /usr/bin/djmount $OPTIONS $MOUNTPOINT &>/dev/null
+ if [ $? -ne 0 ]; then
+ stat_fail
+ else
+ add_daemon djmount
+ stat_done
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping djmount"
+ fusermount -u $MOUNTPOINT
+ kill -9 `pidof /usr/bin/djmount` &>/dev/null
+ rm_daemon djmount
+ stat_done
+ ;;
+
+ restart)
+ stat_busy "Restarting djmount ..."
+ $0 stop
+ $0 start
+ stat_done
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ esac
diff --git a/abs/extra/community/enca/PKGBUILD b/abs/extra/community/enca/PKGBUILD
new file mode 100644
index 0000000..1bbd7db
--- /dev/null
+++ b/abs/extra/community/enca/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD,v 1.7 2009/02/27 12:40:33 sergej Exp $
+# Maintainer: Sergej Pupykin <sergej@aur.archlinux.org>
+# Contributor: Filip Dvorak <fila@pruda.com>
+
+pkgname=enca
+pkgver=1.9
+pkgrel=4
+pkgdesc="Charset analyser and converter"
+arch=(i686 x86_64)
+url="http://trific.ath.cx/software/enca"
+options=('!libtool')
+license=("GPL")
+depends=()
+source=(http://archlinux-stuff.googlecode.com/files/enca-$pkgver.tar.bz2)
+md5sums=('b3581e28d68d452286fb0bfe58bed3b3')
+
+build() {
+ cd $startdir/src/enca-$pkgver
+ ./configure --prefix=/usr --libexecdir=/usr/lib/enca
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+}
+
diff --git a/abs/extra/community/firefox-i18n/PKGBUILD b/abs/extra/community/firefox-i18n/PKGBUILD
new file mode 100644
index 0000000..7f65aa7
--- /dev/null
+++ b/abs/extra/community/firefox-i18n/PKGBUILD
@@ -0,0 +1,87 @@
+# $Id: PKGBUILD 36428 2009-04-22 11:57:51Z pierre $
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# Contributor: Jaroslaw Swierczynski <swiergot@juvepoland.com>
+# Contributor: Michal Hybner <dta081@gmail.com>
+pkgname=firefox-i18n
+pkgver=3.0.9
+pkgrel=1
+_languages=af,ar,be,bg,bn-IN,ca,cs,cy,da,de,el,en-GB,eo,es-AR,es-ES,et,eu,fi,fr,fy-NL,ga-IE,gl,gu-IN,he,hi-IN,hu,id,is,it,ja,ka,kn,ko,ku,lt,lv,mk,mn,mr,nb-NO,nl,nn-NO,oc,pa-IN,pl,pt-BR,pt-PT,ro,ru,si,sk,sl,sq,sr,sv-SE,te,th,tr,uk,zh-CN,zh-TW
+pkgdesc="Language packs for Firefox"
+arch=(i686 x86_64)
+license=('MPL')
+url="http://www.mozilla.com/"
+depends=("firefox>=${pkgver}")
+eval conflicts=(mozilla-firefox-i18n mozilla-firefox-{${_languages}} firefox-{${_languages}})
+makedepends=('unzip')
+eval source=(ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${pkgver}/linux-i686/xpi/{${_languages}}.xpi)
+md5sums=('da750827ddf1aaa6c3b09fbb7ca4ebfc'
+ '3beb35aeb195552627394b7769f09c5e'
+ 'cc25e1dfe322e163edd453b54b18ed6c'
+ '3a24f88aed1ec222739909467d45c36f'
+ '458dc3b51d94dfb92180b6513da33768'
+ '6100761f50681a27ecee4b9d43968090'
+ '33f8922cf3f574ddfc40e350e09e1ee8'
+ '1aac80931215e85a9434821318322840'
+ '0fdce63787e71ade32f4150555db446c'
+ 'c40760c6b6ec0a5d43d708d175af71e0'
+ '8a861ec0bc928f7d2babb9c9fdac7afa'
+ 'b5318a854916e712a79f7d3022c82d58'
+ '5d82688be741219e4a2e884c27674d06'
+ '3b786beb412062770cf921b7dfc7c412'
+ '4c4913ba9e21903bc979ff2883256cdb'
+ '2fab4572520a5062d69815bfcde647b5'
+ 'd42995bda0f79edb8115f995e1ecf44f'
+ '7438e9461d20a65c13514ee340db4369'
+ '7be481c1595300ec83ca0632a0e5fd8f'
+ '6784c85f27219f04daecc2151a3ffa3a'
+ '479d5ab78dee9aa3b23ca14e39721034'
+ 'e98a62f1c4096fb471f8d858d01d044f'
+ '59fbe6d0584b5c6c0adff7d16ef8ea51'
+ 'f62a1d67104514da3aad97481e16e81e'
+ '0e43c81c9bd55c5feedcdcab2fb9c4df'
+ 'd2e1c28de1be2474ff42c54727cd8c07'
+ 'c78d170dca0d767c8d9bc31954cd2324'
+ 'dafc51a775d512e3b34601c2a2291f76'
+ '76e95f638d7499fe36e5db2aa4446fc1'
+ '2a12e9ed49515a3e4210224d37f325ca'
+ 'b904d86f667768c7554f7ac1630e2fc7'
+ '466ee82c40244cb0f3308798ae3ef1df'
+ '8e3ab0ac7127b9e651fa8150803d59fa'
+ '6e817a315663b926c4bcee48ef025195'
+ '67cb1f812b5e1ad2cd58d77e34e5e154'
+ 'bc22bb46828c4a929c1e2ec41b090c97'
+ 'ee4d58656343e0f0ee54e066d7e72451'
+ '9b2ac04cffc153a752b4ff6e000b2a29'
+ '329283f9e7a7aaa8a8e5f5ae7e62660d'
+ '13c5186b51ab3c5374620adf8e5c3576'
+ 'a2b1f79253729735ad2e59568144f1b4'
+ 'ccb9763952394717a8b5ec3dec877706'
+ 'e508856e25040ffb87e023de94dca70b'
+ '322eaad0dd48a464187000ea0be5362a'
+ '3632809f34b423ad3ba31077682bbf26'
+ 'fa15ae8bb4927d416abd3f1661dd4af9'
+ '5b8d7b418c477060a78f334d2928702d'
+ '3d5f4b14ae257ed03096757d6a05b217'
+ '4ad2c7aca6a890078f511bf4224e5347'
+ '18754e6cb9cee7b408702bd35cadeb0d'
+ '892701fea3cc09c4350f19ed5c9900ac'
+ '0a939cce9bbff751da5a1e006a26093f'
+ '1e3aeeb18c2958d81ee6eb4801aa9faa'
+ 'cb29c96ac0dd5ece19e78653e74da48a'
+ '9517325ea18e01007787b5e3210c776c'
+ 'c61320979392169249da20a48f81d2a8'
+ 'a2765b25542e7e4d43279f098ea97e72'
+ 'cc42c2b4151c5c41543507d5a4eb699d'
+ '195bb042493f8dc4bda09a66c8a2f49e'
+ 'fe36d87eb352e46459b3c2cc01c4dc2f'
+ '2b73195d3c12fb8ebfd39f30267d3e64')
+
+build() {
+ cd ${startdir}/src
+ for lang in $(echo "${_languages}" | sed 's|,| |g'); do
+ unzip -o ${lang}.xpi
+ sed -i "s|jar:chrome/${lang}.jar|jar:${lang}.jar|" chrome.manifest || return 1
+ install -D -m 644 chrome/${lang}.jar ${pkgdir}/usr/lib/firefox-3.0/chrome/${lang}.jar || return 1
+ install -D -m 644 chrome.manifest ${pkgdir}/usr/lib/firefox-3.0/chrome/${lang}.manifest || return 1
+ done
+}
diff --git a/abs/extra/community/firefox/PKGBUILD b/abs/extra/community/firefox/PKGBUILD
new file mode 100644
index 0000000..191c913
--- /dev/null
+++ b/abs/extra/community/firefox/PKGBUILD
@@ -0,0 +1,76 @@
+# $Id: PKGBUILD 46468 2009-07-18 13:24:45Z jgc $
+# Contributor: Jakub Schmidtke <sjakub@gmail.com>
+
+pkgname=firefox
+pkgver=3.5.1
+pkgrel=3
+_xulver=1.9.1.1
+pkgdesc="Standalone web browser from mozilla.org"
+arch=(i686 x86_64)
+license=('MPL' 'GPL' 'LGPL')
+depends=("xulrunner>=${_xulver}" 'desktop-file-utils' "nspr>=4.8")
+makedepends=('zip' 'pkgconfig' 'diffutils' 'libgnomeui>=2.24.1' 'python')
+replaces=('firefox3')
+install=firefox.install
+url="http://www.mozilla.org/projects/firefox"
+source=(http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${pkgver}/source/firefox-${pkgver}-source.tar.bz2
+ mozconfig
+ firefox.desktop
+ firefox-safe.desktop
+ mozilla-firefox-1.0-lang.patch
+ browser-defaulturls.patch
+ firefox-version.patch
+ browser-app-makefile.patch
+ http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz)
+md5sums=('18169e189785d680827d4fce94524449'
+ '3c928b11918d22377eba01de34debc19'
+ '68cf02788491c6e846729b2f2913bf79'
+ '5e68cabfcf3c021806b326f664ac505e'
+ 'bd5db57c23c72a02a489592644f18995'
+ '346d74ec560e7bbf453c02ff21f4b868'
+ '1dd9a10df0b9e4cf332eadc326d78e07'
+ '165c43a5b03a0bf7ad2e7210b0d8c82c'
+ '6306980e40a3266b4b6c173bfcfdc946')
+
+build() {
+ cd "${srcdir}/mozilla-1.9.1"
+ patch -Np1 -i "${srcdir}/mozilla-firefox-1.0-lang.patch" || return 1
+ patch -Np0 -i "${srcdir}/browser-defaulturls.patch" || return 1
+ patch -Np1 -i "${srcdir}/firefox-version.patch" || return 1
+
+ cp "${srcdir}/mozconfig" .mozconfig
+ unset CFLAGS
+ unset CXXFLAGS
+
+ export LDFLAGS="-Wl,-rpath,/usr/lib/firefox-3.5"
+
+ make -j1 -f client.mk configure MOZ_MAKE_FLAGS="${MAKEFLAGS}" || return 1
+ cd browser/app
+ patch -p2 < "${srcdir}/browser-app-makefile.patch" || return 1
+ cd ../..
+ make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}" || return 1
+ make -j1 DESTDIR="${pkgdir}" install || return 1
+
+ rm -f ${pkgdir}/usr/lib/firefox-3.5/libjemalloc.so
+
+ install -m755 -d ${pkgdir}/usr/share/applications
+ install -m755 -d ${pkgdir}/usr/share/pixmaps
+ install -m644 ${srcdir}/mozilla-1.9.1/browser/branding/unofficial/default48.png ${pkgdir}/usr/share/pixmaps/firefox.png || return 1
+ install -m644 ${srcdir}/firefox.desktop ${pkgdir}/usr/share/applications/ || return 1
+ install -m644 ${srcdir}/firefox-safe.desktop ${pkgdir}/usr/share/applications/ || return 1
+
+ # Install the flash player plugin.
+
+ mkdir -p ${pkgdir}/usr/lib/firefox-3.5/plugins
+ install -m755 ${srcdir}/libflashplayer.so ${pkgdir}/usr/lib/firefox-3.5/plugins || return 1
+
+ # This is to stop firefox from crashing when the flashplayer (youtube) is
+ # set to full screen. To test if it is still necessary with updates to
+ # this package, run /usr/bin/firefox.bin without setting the LD_PRELOAD var.
+
+ mv ${pkgdir}/usr/bin/firefox ${pkgdir}/usr/bin/firefox.bin
+ echo "#!/bin/bash
+export LD_PRELOAD=/usr/lib/libGL.so.1
+/usr/bin/firefox.bin" > ${pkgdir}/usr/bin/firefox
+ chmod 755 ${pkgdir}/usr/bin/firefox
+}
diff --git a/abs/extra/community/firefox/browser-app-makefile.patch b/abs/extra/community/firefox/browser-app-makefile.patch
new file mode 100644
index 0000000..9a02c40
--- /dev/null
+++ b/abs/extra/community/firefox/browser-app-makefile.patch
@@ -0,0 +1,11 @@
+--- browser/app/Makefile 2009-07-27 22:41:13.000000000 +0930
++++ browser-new/app/Makefile 2009-07-27 22:42:51.000000000 +0930
+@@ -279,7 +279,7 @@
+
+ ifneq (,$(filter-out OS2 WINNT WINCE,$(OS_ARCH)))
+
+-$(MOZ_APP_NAME):: $(topsrcdir)/build/unix/mozilla.in $(GLOBAL_DEPS)
++$(MOZ_APP_NAME): $(topsrcdir)/build/unix/mozilla.in $(GLOBAL_DEPS)
+ cat $< | sed -e "s|%MOZAPPDIR%|$(installdir)|" \
+ -e "s|%MOZ_APP_DISPLAYNAME%|$(MOZ_APP_DISPLAYNAME)|" > $@
+ chmod +x $@
diff --git a/abs/extra/community/firefox/browser-defaulturls.patch b/abs/extra/community/firefox/browser-defaulturls.patch
new file mode 100644
index 0000000..42a2e1d
--- /dev/null
+++ b/abs/extra/community/firefox/browser-defaulturls.patch
@@ -0,0 +1,26 @@
+--- browser/branding/unofficial/locales/browserconfig.properties~ 2009-06-13 17:04:42.000000000 +0200
++++ browser/branding/unofficial/locales/browserconfig.properties 2009-06-13 17:05:28.000000000 +0200
+@@ -1,3 +1,3 @@
+ # Do NOT localize or otherwise change these values
+-browser.startup.homepage=http://www.mozilla.org/projects/shiretoko/
++browser.startup.homepage=http://www.google.com/firefox
+
+--- browser/branding/unofficial/pref/firefox-branding.js~ 2009-06-13 16:57:53.000000000 +0200
++++ browser/branding/unofficial/pref/firefox-branding.js 2009-06-13 16:59:17.000000000 +0200
+@@ -1,5 +1,5 @@
+-pref("startup.homepage_override_url","http://www.mozilla.org/projects/%APP%/%VERSION%/whatsnew/");
+-pref("startup.homepage_welcome_url","http://www.mozilla.org/projects/%APP%/%VERSION%/firstrun/");
++pref("startup.homepage_override_url","http://www.mozilla.com/%APP%/%VERSION%/whatsnew/");
++pref("startup.homepage_welcome_url","http://www.mozilla.com/%APP%/%VERSION%/firstrun/");
+ // The time interval between checks for a new version (in seconds)
+ // nightly=8 hours, official=24 hours
+ pref("app.update.interval", 28800);
+@@ -11,7 +11,7 @@
+ pref("app.update.url.details", "http://www.mozilla.org/projects/%APP%/");
+
+ // Release notes URL
+-pref("app.releaseNotesURL", "http://www.mozilla.org/projects/%APP%/%VERSION%/releasenotes/");
++pref("app.releaseNotesURL", "http://www.mozilla.com/%APP%/%VERSION%/releasenotes/");
+
+ // Search codes belong only in builds with official branding
+ pref("browser.search.param.yahoo-fr", "");
diff --git a/abs/extra/community/firefox/firefox-safe.desktop b/abs/extra/community/firefox/firefox-safe.desktop
new file mode 100644
index 0000000..afb4cdb
--- /dev/null
+++ b/abs/extra/community/firefox/firefox-safe.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=firefox -safe-mode %u
+Icon=firefox
+Type=Application
+Terminal=false
+MultipleArgs=false
+Name=Firefox - Safe Mode
+GenericName=Web Browser - Safe Mode
+StartupNotify=false
+Categories=Application;Network;
diff --git a/abs/extra/community/firefox/firefox-version.patch b/abs/extra/community/firefox/firefox-version.patch
new file mode 100644
index 0000000..b0a4552
--- /dev/null
+++ b/abs/extra/community/firefox/firefox-version.patch
@@ -0,0 +1,11 @@
+--- mozilla-1.9.1/browser/installer/Makefile.in.ver 2009-07-18 13:32:35.000000000 +0200
++++ mozilla-1.9.1/browser/installer/Makefile.in 2009-07-18 13:33:12.000000000 +0200
+@@ -43,6 +43,8 @@
+
+ include $(DEPTH)/config/autoconf.mk
+
++MOZ_APP_VERSION="3.5"
++
+ NO_PKG_FILES = \
+ $(MOZ_APP_NAME)-config \
+ $(MOZ_APP_NAME)-bin.elf \
diff --git a/abs/extra/community/firefox/firefox.desktop b/abs/extra/community/firefox/firefox.desktop
new file mode 100644
index 0000000..2a4b678
--- /dev/null
+++ b/abs/extra/community/firefox/firefox.desktop
@@ -0,0 +1,83 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=firefox %u
+Icon=firefox
+Type=Application
+Terminal=false
+MultipleArgs=false
+Name=Firefox
+Name[bn]=ফায়ারফকà§à¦¸3
+Name[eo]=Fajrovulpo3
+Name[fi]=Firefox3
+Name[pa]=ਫਾਇਰਫੋਕਸ3
+Name[tg]=Рӯбоҳи оташин3
+GenericName=Web Browser
+GenericName[af]=Web Blaaier
+GenericName[ar]=متصÙØ­ ويب
+GenericName[az]=Veb Səyyahı
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°
+GenericName[br]=Furcher ar Gwiad
+GenericName[bs]=WWW Preglednik
+GenericName[ca]=Fullejador web
+GenericName[cs]=WWW prohlížeÄ
+GenericName[cy]=Porydd Gwe
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=ΠεÏιηγητής ΙστοÏ
+GenericName[eo]=TTT-legilo
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fa]=مرورگر وب
+GenericName[fi]=WWW-selain
+GenericName[fo]=Alnótsfar
+GenericName[fr]=Navigateur web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן ×ינטרנט
+GenericName[hi]=वेब बà¥à¤°à¤¾à¤‰à¤œà¤¼à¤°
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[is]=Vafri
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[ko]=웹 브ë¼ìš°ì €
+GenericName[lo]=ເວັບບຣາວເຊີ
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Web PÄrlÅ«ks
+GenericName[mk]=ПрелиÑтувач на Интернет
+GenericName[mn]=Веб-Хөтөч
+GenericName[nb]=Nettleser
+GenericName[nds]=Nettkieker
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[nso]=Seinyakisi sa Web
+GenericName[pa]=ਵੈਬ à¨à¨²à¨•à¨¾à¨°à¨¾
+GenericName[pl]=PrzeglÄ…darka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator de web
+GenericName[ru]=Веб-браузер
+GenericName[se]=Fierpmádatlogan
+GenericName[sk]=Webový prehliadaÄ
+GenericName[sl]=Spletni brskalnik
+GenericName[sr]=Веб претраживач
+GenericName[sr@Latn]=Veb pretraživaÄ
+GenericName[ss]=Ibrawuza yeWeb
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[tg]=ТафÑиргари вÑб
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Ðавігатор Тенет
+GenericName[uz]=Веб-браузер
+GenericName[ven]=Buronza ya Webu
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[xh]=Umkhangeli zincwadi we Web
+GenericName[zh_CN]=网页æµè§ˆå™¨
+GenericName[zh_TW]=網é ç€è¦½å™¨
+GenericName[zu]=Umcingi we-Web
+MimeType=text/html
+StartupNotify=true
+Categories=Application;Network;
diff --git a/abs/extra/community/firefox/firefox.install b/abs/extra/community/firefox/firefox.install
new file mode 100644
index 0000000..cd50dec
--- /dev/null
+++ b/abs/extra/community/firefox/firefox.install
@@ -0,0 +1,24 @@
+post_install() {
+ update-desktop-database -q
+
+ # For LinHES: check for a fluxbox keys file that doesnt have a mapping
+ # for Alt-w and map it to firefox.
+
+ if [ -e /home/mythtv/.fluxbox/keys ]
+ then
+ if ! grep -q "Mod1 w" /home/mythtv/.fluxbox/keys
+ then
+ echo Adding fluxbox key for firefox.
+ echo "Mod1 w :ExecCommand firefox" >> /home/mythtv/.fluxbox/keys
+ fi
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+}
+
diff --git a/abs/extra/community/firefox/mozconfig b/abs/extra/community/firefox/mozconfig
new file mode 100644
index 0000000..030317d
--- /dev/null
+++ b/abs/extra/community/firefox/mozconfig
@@ -0,0 +1,35 @@
+. $topsrcdir/browser/config/mozconfig
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-png
+ac_add_options --with-pthreads
+ac_add_options --disable-tests
+ac_add_options --disable-debug
+ac_add_options --enable-optimize
+ac_add_options --disable-installer
+ac_add_options --enable-xinerama
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --disable-xprint
+ac_add_options --enable-strip
+ac_add_options --enable-pango
+ac_add_options --enable-system-cairo
+ac_add_options --enable-svg
+ac_add_options --enable-canvas
+ac_add_options --enable-startup-notification
+ac_add_options --enable-libxul
+ac_add_options --disable-crashreporter
+ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-1.9.1.1
+ac_add_options --enable-safe-browsing
+ac_add_options --with-branding=browser/branding/unofficial
+
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+export USE_SHORT_LIBNAME=1
+mk_add_options BUILD_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+mk_add_options USE_SHORT_LIBNAME=1
diff --git a/abs/extra/community/firefox/mozilla-firefox-1.0-lang.patch b/abs/extra/community/firefox/mozilla-firefox-1.0-lang.patch
new file mode 100644
index 0000000..f0f7325
--- /dev/null
+++ b/abs/extra/community/firefox/mozilla-firefox-1.0-lang.patch
@@ -0,0 +1,12 @@
+--- mozilla/browser/app/profile/firefox.js.lang 2005-01-13 15:32:03.509282726 +0100
++++ mozilla/browser/app/profile/firefox.js 2005-01-13 15:33:40.220914789 +0100
+@@ -253,6 +253,9 @@
+ pref("font.language.group", "chrome://global/locale/intl.properties");
+ pref("intl.menuitems.alwaysappendaccesskeys","chrome://global/locale/intl.properties");
+
++// Use LANG environment variable to choose locale
++pref("intl.locale.matchOS", true);
++
+ // 0=lines, 1=pages, 2=history , 3=text size
+ pref("mousewheel.withcontrolkey.action",3);
+ pref("mousewheel.withshiftkey.action",2);
diff --git a/abs/extra/community/flashplugin/PKGBUILD b/abs/extra/community/flashplugin/PKGBUILD
new file mode 100644
index 0000000..1e68f40
--- /dev/null
+++ b/abs/extra/community/flashplugin/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 21951 2008-12-18 13:25:19Z thomas $
+
+pkgname=flashplugin
+_licensefile='Reader_Player_WWEULA-Combined-20060724_1430.pdf'
+if [ "${CARCH}" = 'i686' ]; then
+ pkgver=10.0.15.3
+ pkgrel=1
+ source=('http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz'
+ "http://www.adobe.com/products/eulas/pdfs/${_licensefile}")
+ md5sums=('afab0b40b0ae11445e2e90a4a9224a8a'
+ '844cea6c9afc13d9e27f28ce1a6e20f3')
+elif [ "${CARCH}" = 'x86_64' ]; then
+ pkgver=10.0.d21.1
+ pkgrel=1
+ source=("http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-${pkgver}.linux-x86_64.so.tar.gz"
+ "http://www.adobe.com/products/eulas/pdfs/${_licensefile}")
+ md5sums=('c165af9d4e324bfaf6d1cfbdbe959fbb'
+ '844cea6c9afc13d9e27f28ce1a6e20f3')
+else
+ error Unknown architecture.
+ exit 1
+fi
+pkgdesc='Adobe Flash Player'
+url='http://www.adobe.com/go/getflash'
+arch=('i686' 'x86_64')
+depends=('mozilla-common' 'libxt' 'gtk2' 'nss' 'curl')
+replaces=('flashplugin-beta')
+provides=('flashplayer')
+license=('custom')
+
+build() {
+ install -d -m755 ${pkgdir}/usr/lib/mozilla/plugins/ || return 1
+ if [ "${CARCH}" = 'i686' ]; then
+ install -m755 ${srcdir}/install_flash_player_10_linux/libflashplayer.so ${pkgdir}/usr/lib/mozilla/plugins/ || return 1
+ elif [ "${CARCH}" = 'x86_64' ]; then
+ install -m755 ${srcdir}/libflashplayer.so ${pkgdir}/usr/lib/mozilla/plugins/ || return 1
+ fi
+ install -d -m755 ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ install -m644 "${_licensefile}" ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+}
diff --git a/abs/extra/community/fluidsynth/PKGBUILD b/abs/extra/community/fluidsynth/PKGBUILD
new file mode 100644
index 0000000..f3606cb
--- /dev/null
+++ b/abs/extra/community/fluidsynth/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: damir <damir@archlinux.org>
+
+pkgname=fluidsynth
+pkgver=1.0.8
+origver=1.0.8
+pkgrel=1
+pkgdesc="FluidSynth is a real-time software synthesizer based on the SoundFont 2 specifications."
+arch=("i686" "x86_64")
+url="http://www.fluidsynth.org/"
+depends=('jack-audio-connection-kit' 'ladspa')
+options=('!libtool')
+license=('LGPL')
+source=("http://savannah.nongnu.org/download/fluid/$pkgname-$pkgver.tar.gz")
+md5sums=('e2abfd2e69fd8b28d965df968d7d44ee')
+
+
+build() {
+ cd $startdir/src/$pkgname-$origver
+ ./configure --prefix=/usr \
+ --enable-ladspa
+ make || return 1
+ make prefix=$startdir/pkg/usr install
+}
+
diff --git a/abs/extra/community/fluxconf/PKGBUILD b/abs/extra/community/fluxconf/PKGBUILD
new file mode 100644
index 0000000..9d9220f
--- /dev/null
+++ b/abs/extra/community/fluxconf/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Contributor: Jochem Kossen <j.kossen@home.nl>
+
+pkgname=fluxconf
+pkgver=0.9.9
+pkgrel=1
+pkgdesc="Configuration utility for the Fluxbox windowmanager"
+arch=(i686 x86_64)
+depends=('gtk2')
+source=(http://devaux.fabien.free.fr/flux/$pkgname-$pkgver.tar.gz)
+url="http://devaux.fabien.free.fr/flux/"
+md5sums=('ac37b12410daa06128f8eb29163a741d')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ /usr/bin/make || return 1
+ /usr/bin/make prefix=$startdir/pkg/usr install
+ cd $startdir/pkg/usr/bin
+ /bin/ln -sf $pkgname fluxbare
+ /bin/ln -sf $pkgname fluxkeys
+ /bin/ln -sf $pkgname fluxmenu
+}
diff --git a/abs/extra/community/foldingathome/PKGBUILD b/abs/extra/community/foldingathome/PKGBUILD
new file mode 100644
index 0000000..bb93407
--- /dev/null
+++ b/abs/extra/community/foldingathome/PKGBUILD
@@ -0,0 +1,26 @@
+# Contributor: Jason Taylor <jftaylor21@gmail.com>
+# Contributor: seratne
+# Contributor: Nick B <Shirakawasuna at gmail _dot_com>
+
+pkgname=foldingathome
+pkgver=6.02
+pkgrel=6
+pkgdesc="Folding@Home is a distributed computing project which studies protein folding, misfolding, aggregation, and related diseases."
+arch=('i686')
+url="http://folding.stanford.edu/"
+license=('custom')
+depends=('bash')
+backup=('etc/conf.d/foldingathome')
+install=foldingathome.install
+source=(http://www.stanford.edu/group/pandegroup/folding/release/FAH$pkgver-Linux.tgz
+ run)
+md5sums=('112b3d66909050f1bb990993a1464cb9'
+ '61eb4617e7363d586a05dde980ad1c14')
+
+build() {
+ cd $startdir/src/
+
+ # At this stage, the mpiexec is not included because it requires x86_64.
+ install -D -c -m755 fah6 $startdir/pkg/usr/bin/fah6 || return 1
+ install -D -m755 run $startdir/pkg/etc/sv/fah/run
+}
diff --git a/abs/extra/community/foldingathome/foldingathome.install b/abs/extra/community/foldingathome/foldingathome.install
new file mode 100644
index 0000000..20e48d1
--- /dev/null
+++ b/abs/extra/community/foldingathome/foldingathome.install
@@ -0,0 +1,47 @@
+post_install() {
+ # Check for an R5.5 fah installation.
+ r5_fah_dir=/myth/folding@home
+ r6_fah_dir=/myth/foldingathome/$(hostname)
+ if [ -d "$r5_fah_dir" ] ; then
+ if [ -d "$r6_fah_dir" ] ; then
+ cat << 'EOM'
+ --> You have an R5.5 and an R6 folding directory at the same time!
+ --> you should manually delete the R5.5 directory:
+ --> $r5_fah_dir
+ --> The directroy used on R6 will be:
+ --> $r6_fah_dir
+EOM
+ else
+ mkdir -p /myth/foldingathome
+ mv $r5_fah_dir $r6_fah_dir
+ fi
+ else
+ if [ ! -d "$r6_fah_dir" ] ; then
+ mkdir -p $r6_fah_dir
+ cat > $r6_fah_dir/client.cfg << 'EOM'
+[settings]
+username=LinHES
+team=50975
+passkey=
+asknet=no
+bigpackets=normal
+machineid=1
+
+[http]
+active=no
+host=localhost
+port=8080
+EOM
+ fi
+ fi
+ rm -fr $r6_fah_dir/index.html
+ ln -s $r6_fah_dir/MyFolding.html $r6_fah_dir/index.html
+ ln -s $r6_fah_dir /data/srv/httpd/htdocs/foldingathome
+ /sbin/add_service.sh fah
+}
+
+pre_remove() {
+ sv stop fah
+ /sbin/remove_service.sh fah
+}
+
diff --git a/abs/extra/community/foldingathome/run b/abs/extra/community/foldingathome/run
new file mode 100644
index 0000000..ede51f2
--- /dev/null
+++ b/abs/extra/community/foldingathome/run
@@ -0,0 +1,26 @@
+#!/bin/sh
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+stat_runit "Starting folding@home"
+
+FOLDING_DIR=/myth/foldingathome/$(hostname)
+
+if [ -d $FOLDING_DIR ] ; then
+ cd $FOLDING_DIR
+ # Ensure that the client configuration file has the same details as /etc/systemconfig
+
+ source /etc/systemconfig
+
+ if [ -n "$foldingusername" ] ; then
+ sed -i 's/username=.*$/username='$foldingusername'/g' $FOLDING_DIR/client.cfg
+ fi
+
+ if [ -n "$foldingworksize" ] ; then
+ sed -i 's/bigpackets=.*$/bigpackets='$foldingworksize'/g' $FOLDING_DIR/client.cfg
+ fi
+
+ # No need to direct output to a log file becase a log file
+ # will automatically be placed in $FOLDING_DIR
+ exec /usr/bin/fah6 -verbosity 9 &> /dev/null < /dev/null
+fi
diff --git a/abs/extra/community/gnash-common/PKGBUILD b/abs/extra/community/gnash-common/PKGBUILD
new file mode 100644
index 0000000..107afb8
--- /dev/null
+++ b/abs/extra/community/gnash-common/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 17544 2008-10-30 22:40:52Z pierre $
+
+pkgname=gnash-common
+pkgver=0.8.4
+pkgrel=1
+pkgdesc='A GNU Flash movie player'
+arch=('i686' 'x86_64')
+url='http://www.gnu.org/software/gnash/'
+license=('GPL3')
+depends=('curl' 'giflib' 'boost' 'libldap' 'gstreamer0.10-base' 'sdl' 'libgl'
+ 'libjpeg' 'libpng' 'mesa')
+makedepends=('pkgconfig')
+source=("http://ftp.gnu.org/gnu/gnash/${pkgver}/gnash-${pkgver}.tar.bz2")
+options=('!libtool' '!emptydirs' '!docs')
+provides=('gnash')
+replaces=('gnash')
+md5sums=('b47a7ed4b7c66b8c2ebacc2286ef0d4b')
+
+build() {
+ cd $srcdir/gnash-$pkgver
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-plugins \
+ --disable-menus \
+ --enable-gui=sdl \
+ --enable-renderer=ogl \
+ --enable-z \
+ --enable-jpeg \
+ --enable-libpng \
+ --enable-gif \
+ --enable-fontconfig \
+ --enable-Xft \
+ --enable-expat \
+ --enable-gstreamer \
+ --enable-media=gst || return 1
+
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+}
diff --git a/abs/extra/community/gnash-gtk/PKGBUILD b/abs/extra/community/gnash-gtk/PKGBUILD
new file mode 100644
index 0000000..45ba804
--- /dev/null
+++ b/abs/extra/community/gnash-gtk/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 17609 2008-10-31 06:16:21Z pierre $
+
+pkgname=gnash-gtk
+pkgver=0.8.4
+pkgrel=1
+pkgdesc='A GNU Flash movie player (gtk)'
+arch=('i686' 'x86_64')
+url='http://www.gnu.org/software/gnash/'
+license=("GPL3")
+depends=("gnash-common=$pkgver" 'gtk2' 'gtkglext')
+makedepends=('pkgconfig')
+source=("http://ftp.gnu.org/gnu/gnash/${pkgver}/gnash-${pkgver}.tar.bz2")
+options=('!libtool' '!emptydirs' '!docs')
+md5sums=('b47a7ed4b7c66b8c2ebacc2286ef0d4b')
+
+build() {
+ cd $srcdir/gnash-$pkgver
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-gui=gtk \
+ --with-plugins-install=system \
+ --with-npapi-plugindir=/usr/lib/mozilla/plugins \
+ --enable-renderer=ogl \
+ --enable-z \
+ --enable-jpeg \
+ --enable-libpng \
+ --enable-gif \
+ --enable-fontconfig \
+ --enable-Xft \
+ --enable-expat \
+ --enable-gstreamer \
+ --enable-media=gst || return 1
+
+ make || return 1
+ make DESTDIR=$pkgdir install install-plugin || return 1
+ rm -rf $pkgdir/usr/{lib/gnash,share}
+ rm -f $pkgdir/usr/bin/{gnash,gprocessor,dumpshm,soldumper,flvdumper}
+ rm -rf $pkgdir/etc
+}
diff --git a/abs/extra/community/gstreamer0.10-base-plugins/PKGBUILD b/abs/extra/community/gstreamer0.10-base-plugins/PKGBUILD
new file mode 100644
index 0000000..5678e9d
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-base-plugins/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 14436 2008-10-06 17:41:07Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gstreamer0.10-base-plugins
+pkgver=0.10.21
+pkgrel=1
+pkgdesc="GStreamer Multimedia Framework Base Plugins (gst-plugins-base)"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('gstreamer0.10-base>=0.10.21' 'gnome-vfs>=2.24.0' 'alsa-lib>=1.0.17a' 'cdparanoia>=10.2' 'libvisual' 'libvorbis>=1.2.0' 'libtheora')
+makedepends=('pkgconfig')
+replaces=('gstreamer0.10-alsa' 'gstreamer0.10-theora' 'gstreamer0.10-libvisual' 'gstreamer0.10-pango' 'gstreamer0.10-cdparanoia' 'gstreamer0.10-vorbis' 'gstreamer0.10-gnomevfs' 'gstreamer0.10-ogg')
+conflicts=('gstreamer0.10-alsa' 'gstreamer0.10-theora' 'gstreamer0.10-libvisual' 'gstreamer0.10-pango' 'gstreamer0.10-cdparanoia' 'gstreamer0.10-vorbis' 'gstreamer0.10-gnomevfs' 'gstreamer0.10-ogg')
+provides=("gstreamer0.10-alsa=${pkgver}" "gstreamer0.10-theora=${pkgver}" "gstreamer0.10-libvisual=${pkgver}" "gstreamer0.10-pango=${pkgver}" "gstreamer0.10-cdparanoia=${pkgver}" "gstreamer0.10-vorbis=${pkgver}" "gstreamer0.10-gnomevfs=${pkgver}" "gstreamer0.10-ogg=${pkgver}" "gst-plugins-base=${pkgver}")
+options=(!libtool)
+url="http://gstreamer.freedesktop.org/"
+groups=('gstreamer0.10-plugins')
+_relname=gst-plugins-base
+source=(${url}/src/${_relname}/${_relname}-${pkgver}.tar.bz2)
+md5sums=('0e0cd485311502ad1c0c028148e3186a')
+
+build() {
+ cd "${srcdir}/${_relname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --enable-experimental \
+ --disable-docs-build --disable-plugin-docs \
+ --with-package-name="GStreamer Base Plugins (Archlinux)" \
+ --with-package-origin="http://www.archlinux.org/" || return 1
+
+ make || return 1
+ cd ext || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/abs/extra/community/gstreamer0.10-base/PKGBUILD b/abs/extra/community/gstreamer0.10-base/PKGBUILD
new file mode 100644
index 0000000..b1b065d
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-base/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 14433 2008-10-06 17:33:22Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gstreamer0.10-base
+pkgver=0.10.21
+pkgrel=1
+pkgdesc="GStreamer Multimedia Framework Base plugin libraries"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('gstreamer0.10>=0.10.21' 'liboil>=0.3.15' 'libsm' 'libxv')
+makedepends=('pkgconfig')
+options=(!libtool)
+url="http://gstreamer.freedesktop.org/"
+_relname=gst-plugins-base
+source=(${url}/src/${_relname}/${_relname}-${pkgver}.tar.bz2)
+md5sums=('0e0cd485311502ad1c0c028148e3186a')
+
+build() {
+ cd ${startdir}/src/${_relname}-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --enable-experimental --disable-external \
+ --disable-docs-build --disable-plugin-docs \
+ --with-package-name="GStreamer Base Plugins (Archlinux)" \
+ --with-package-origin="http://www.archlinux.org/" || return 1
+
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+}
diff --git a/abs/extra/community/gstreamer0.10/PKGBUILD b/abs/extra/community/gstreamer0.10/PKGBUILD
new file mode 100644
index 0000000..52934e2
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 18833 2008-11-09 14:51:01Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gstreamer0.10
+pkgver=0.10.21
+pkgrel=2
+pkgdesc="GStreamer Multimedia Framework"
+arch=(i686 x86_64)
+license=('LGPL')
+url="http://gstreamer.freedesktop.org/"
+depends=('libxml2>=2.6.32' 'glib2>=2.18.1')
+makedepends=('perlxml' 'pkgconfig' 'gtk-doc')
+options=('!libtool')
+source=(${url}/src/gstreamer/gstreamer-${pkgver}.tar.bz2
+ bgo555631.patch)
+md5sums=('7bad90af3fd81a1535363cf85359125c'
+ '71eb301845184638e6556dacd1ca7d55')
+
+build() {
+ cd "${srcdir}/gstreamer-${pkgver}"
+ patch -Np0 -i "${srcdir}/bgo555631.patch" || return 1
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc --localstatedir=/var \
+ --disable-docs-build || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ cd "${pkgdir}/usr/bin"
+
+ #Remove unversioned gst-* binaries to get rid of conflicts
+ for bins in `ls *-0.10`; do
+ rm -f ${bins/-0.10/}
+ done
+}
diff --git a/abs/extra/community/gstreamer0.10/bgo555631.patch b/abs/extra/community/gstreamer0.10/bgo555631.patch
new file mode 100644
index 0000000..b9a18f4
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10/bgo555631.patch
@@ -0,0 +1,88 @@
+--- libs/gst/base/gstbasetransform.c 2008/10/20 13:29:06 1.126
++++ libs/gst/base/gstbasetransform.c 2008/10/21 16:30:41 1.127
+@@ -251,7 +251,7 @@
+ /* upstream caps and size suggestions */
+ GstCaps *sink_suggest;
+ guint size_suggest;
+- gint suggest_pending;
++ gboolean suggest_pending;
+
+ gboolean reconfigure;
+ };
+@@ -1224,7 +1224,7 @@
+ gst_caps_unref (priv->sink_suggest);
+ priv->sink_suggest = gst_caps_ref (othercaps);
+ priv->size_suggest = size_suggest;
+- g_atomic_int_set (&trans->priv->suggest_pending, 1);
++ trans->priv->suggest_pending = TRUE;
+ GST_OBJECT_UNLOCK (trans->sinkpad);
+ }
+ gst_caps_unref (othercaps);
+@@ -1366,7 +1366,7 @@
+ GstBaseTransform *trans;
+ GstBaseTransformPrivate *priv;
+ GstFlowReturn res;
+- gboolean proxy, suggest;
++ gboolean proxy, suggest, same_caps;
+ GstCaps *sink_suggest;
+ guint size_suggest;
+
+@@ -1384,8 +1384,12 @@
+
+ /* we remember our previous alloc request to quickly see if we can proxy or
+ * not. We skip this check if we have a pending suggestion. */
+- if (g_atomic_int_get (&priv->suggest_pending) == 0 && caps &&
+- gst_caps_is_equal (priv->sink_alloc, caps)) {
++ GST_OBJECT_LOCK (pad);
++ same_caps = !priv->suggest_pending && caps &&
++ gst_caps_is_equal (priv->sink_alloc, caps);
++ GST_OBJECT_UNLOCK (pad);
++
++ if (same_caps) {
+ /* we have seen this before, see below if we need to proxy */
+ GST_DEBUG_OBJECT (trans, "have old caps");
+ sink_suggest = caps;
+@@ -1414,7 +1418,7 @@
+ size_suggest = size;
+ suggest = FALSE;
+ }
+- g_atomic_int_set (&priv->suggest_pending, 0);
++ priv->suggest_pending = FALSE;
+ GST_OBJECT_UNLOCK (pad);
+
+ /* check if we actually handle this format on the sinkpad */
+@@ -1462,7 +1466,10 @@
+ }
+ }
+ /* remember the new caps */
++ GST_OBJECT_LOCK (pad);
+ gst_caps_replace (&priv->sink_alloc, sink_suggest);
++ GST_OBJECT_UNLOCK (pad);
++
+ proxy = priv->proxy_alloc;
+ GST_DEBUG_OBJECT (trans, "doing default alloc, proxy %d", proxy);
+
+@@ -1487,11 +1494,13 @@
+ if (!gst_caps_is_equal (newcaps, caps)) {
+ GST_DEBUG_OBJECT (trans, "caps are new");
+ /* we have new caps, see if we can proxy downstream */
+- if (gst_pad_peer_accept_caps (trans->sinkpad, newcaps)) {
++ if (gst_pad_peer_accept_caps (pad, newcaps)) {
+ /* peer accepts the caps, return a buffer in this format */
+ GST_DEBUG_OBJECT (trans, "peer accepted new caps");
+ /* remember the format */
++ GST_OBJECT_LOCK (pad);
+ gst_caps_replace (&priv->sink_alloc, newcaps);
++ GST_OBJECT_UNLOCK (pad);
+ } else {
+ GST_DEBUG_OBJECT (trans, "peer did not accept new caps");
+ /* peer does not accept the caps, free the buffer we received and
+@@ -2306,7 +2315,7 @@
+ caps = gst_caps_copy (caps);
+ trans->priv->sink_suggest = caps;
+ trans->priv->size_suggest = size;
+- g_atomic_int_set (&trans->priv->suggest_pending, 1);
++ trans->priv->suggest_pending = TRUE;
+ GST_DEBUG_OBJECT (trans, "new suggest %" GST_PTR_FORMAT, caps);
+ GST_OBJECT_UNLOCK (trans->sinkpad);
+ }
diff --git a/abs/extra/community/gtkglext/PKGBUILD b/abs/extra/community/gtkglext/PKGBUILD
new file mode 100644
index 0000000..a310af6
--- /dev/null
+++ b/abs/extra/community/gtkglext/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 9958 2008-08-21 02:56:50Z eric $
+# Maintainer: damir <damir@archlinux.org>
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=gtkglext
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="opengl extensions for gtk2"
+arch=('i686' 'x86_64')
+url="http://gtkglext.sourceforge.net/"
+depends=('gtk2' 'pango')
+makedepends=('gcc>=4.0.3')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/sourceforge/gtkglext/$pkgname-$pkgver.tar.bz2") # $pkgname-$pkgver-pangox.patch)
+md5sums=('ed7ba24ce06a8630c07f2d0ee5f04ab4')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ # fix "undefined reference to `pango_x_font*" trouble
+ #cat $startdir/src/$pkgname-$pkgver-pangox.patch | patch -p1 || return 1
+ autoconf --force
+ ./configure --prefix=/usr
+ make || return 1
+ make prefix=$startdir/pkg/usr install
+}
diff --git a/abs/extra/community/gtkglext/gtkglext-1.0.6-pangox.patch b/abs/extra/community/gtkglext/gtkglext-1.0.6-pangox.patch
new file mode 100644
index 0000000..8cd589e
--- /dev/null
+++ b/abs/extra/community/gtkglext/gtkglext-1.0.6-pangox.patch
@@ -0,0 +1,30 @@
+--- gtkglext-1.0.6/configure.in 2005-09-10 16:45:06.000000000 +0200
++++ gtkglext-1.0.6.az/configure.in 2005-09-10 16:46:01.000000000 +0200
+@@ -59,6 +59,10 @@
+ m4_define([pango_pkg], [pango])
+ m4_define([pango_required_version], [1.0.0])
+
++# Pangox
++m4_define([pangox_pkg], [pangox])
++m4_define([pangox_required_version], [1.0.0])
++
+ # PangoFT2
+ m4_define([pangoft2_pkg], [pangoft2])
+ m4_define([pangoft2_required_version], [1.0.0])
+@@ -345,6 +349,7 @@
+ gtk_pkg >= gtk_required_version \
+ gdk_pkg >= gdk_required_version \
+ pango_pkg >= pango_required_version \
++pangox_pkg >= pango_required_version \
+ gmodule_pkg >= gmodule_required_version \
+ ])
+
+@@ -789,7 +794,7 @@
+ # CFLAGS and LIBS
+ ##################################################
+
+-GDKGLEXT_PACKAGES="gdk_pkg pango_pkg gmodule_pkg"
++GDKGLEXT_PACKAGES="gdk_pkg pango_pkg pangox_pkg gmodule_pkg"
+ GDKGLEXT_EXTRA_CFLAGS="$GL_CFLAGS $GDKGLEXT_WIN_CFLAGS"
+ GDKGLEXT_EXTRA_LIBS="$GL_LIBS $GDKGLEXT_WIN_LIBS"
+ GDKGLEXT_DEP_CFLAGS="$GDKGLEXT_EXTRA_CFLAGS `$PKG_CONFIG --cflags $GDKGLEXT_PACKAGES`"
diff --git a/abs/extra/community/ircii/PKGBUILD b/abs/extra/community/ircii/PKGBUILD
new file mode 100644
index 0000000..2eb8ad6
--- /dev/null
+++ b/abs/extra/community/ircii/PKGBUILD
@@ -0,0 +1,16 @@
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+pkgname=ircii
+pkgver=20060725
+pkgrel=1
+pkgdesc="IRC Client"
+arch=('i686')
+url="http://www.eterna.com.au/ircii/"
+license=('BSD')
+source=(ftp://ircii.warped.com/pub/ircII/ircii-$pkgver.tar.bz2)
+md5sums=('280ae54367627591c1c43c765eb9d59b')
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make install DESTDIR=$startdir/pkg || return 1
+}
diff --git a/abs/extra/community/jdk/PKGBUILD b/abs/extra/community/jdk/PKGBUILD
new file mode 100644
index 0000000..31924ce
--- /dev/null
+++ b/abs/extra/community/jdk/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
+# Previous Maintainer: Jason Chu <jason@archlinux.org>
+pkgname=jdk
+pkgver=6u12
+pkgrel=1
+pkgdesc="Sun's Java Development Kit"
+arch=(i686 x86_64)
+ [ "${CARCH}" = "i686" ] && ARCH=i586
+ [ "${CARCH}" = "x86_64" ] && ARCH=amd64
+url="http://java.sun.com"
+depends=('glibc' 'jre')
+install="jdk.install"
+source=(http://download.java.net/dlj/binaries/jdk-${pkgver}-dlj-linux-${ARCH}.bin
+ https://jdk-distros.dev.java.net/source/browse/*checkout*/jdk-distros/trunk/utils/construct.sh
+ jdk.profile)
+[ "$CARCH" = "i686" ] && md5sums=('560a51cfeecc4918d01ca29abc858d52'
+ '94065b612df0046d9ae758943f9f6a75'
+ '1e937a8bbca36330f730fc17663e3625')
+[ "$CARCH" = "x86_64" ] && md5sums=('0f687b6dbfe54e117bb0d9e090fda20b'
+ '94065b612df0046d9ae758943f9f6a75'
+ '1e937a8bbca36330f730fc17663e3625')
+replaces=('j2sdk')
+conflicts=('java-environment' 'j2sdk')
+provides=('java-environment' 'j2sdk')
+license=('custom')
+
+build() {
+ cd ${startdir}/src
+
+ mkdir unbundle-jdk
+ cd unbundle-jdk
+
+ sh ../jdk-${pkgver}-dlj-linux-${ARCH}.bin --accept-license
+
+ cd ..
+
+ sh construct.sh unbundle-jdk linux-jdk linux-jre
+
+ rm -rf linux-jdk/jre
+
+ mkdir -p ${startdir}/pkg/opt
+ mv linux-jdk ${startdir}/pkg/opt/java
+
+ install -D -m755 ${startdir}/src/${pkgname}.profile ${startdir}/pkg/etc/profile.d/${pkgname}.sh
+
+ mkdir -p $startdir/pkg/usr/share/licenses/jdk
+ cp $startdir/pkg/opt/java/COPYRIGHT $startdir/pkg/usr/share/licenses/jdk
+ cp $startdir/pkg/opt/java/LICENSE $startdir/pkg/usr/share/licenses/jdk
+ cp $startdir/pkg/opt/java/THIRDPARTYLICENSEREADME.txt $startdir/pkg/usr/share/licenses/jdk
+}
diff --git a/abs/extra/community/jdk/jdk.install b/abs/extra/community/jdk/jdk.install
new file mode 100644
index 0000000..6fb8be5
--- /dev/null
+++ b/abs/extra/community/jdk/jdk.install
@@ -0,0 +1,14 @@
+post_upgrade() {
+ post_install $1
+}
+
+post_install() {
+ echo "The jdk package is licensed software."
+ echo "You MUST read and agree to the license stored in"
+ echo "/opt/java/LICENSE before using it."
+
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/extra/community/jdk/jdk.profile b/abs/extra/community/jdk/jdk.profile
new file mode 100644
index 0000000..b39d49c
--- /dev/null
+++ b/abs/extra/community/jdk/jdk.profile
@@ -0,0 +1,3 @@
+export J2SDKDIR=/opt/java
+export PATH=$PATH:/opt/java/bin
+export JAVA_HOME=/opt/java
diff --git a/abs/extra/community/jre/PKGBUILD b/abs/extra/community/jre/PKGBUILD
new file mode 100644
index 0000000..cd9a932
--- /dev/null
+++ b/abs/extra/community/jre/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD,v 1.6 2009/06/01 19:10:05 wonder Exp $
+# Maintainer: Jason Chu <jason@archlinux.org>
+
+pkgname=jre
+pkgver=6u14
+pkgrel=1
+pkgdesc="Sun's java runtime environment"
+arch=('i686' 'x86_64')
+ [ "$CARCH" = "i686" ] && _arch=i586
+ [ "$CARCH" = "x86_64" ] && _arch=amd64
+url="http://java.sun.com"
+depends=('glibc' 'libxtst')
+install="jre.install"
+source=(http://download.java.net/dlj/binaries/jdk-$pkgver-dlj-linux-$_arch.bin
+ https://jdk-distros.dev.java.net/source/browse/*checkout*/jdk-distros/trunk/utils/construct.sh
+ jre.profile)
+[ "$CARCH" = "i686" ] && md5sums=('299c445e4b14bfbb2a05323734d89c0c'
+ '94065b612df0046d9ae758943f9f6a75'
+ '50b4f5ac4129097461d246645d73a622')
+[ "$CARCH" = "x86_64" ] && md5sums=('6e866db04748296fc34ed83a92420403'
+ '94065b612df0046d9ae758943f9f6a75'
+ '50b4f5ac4129097461d246645d73a622')
+
+
+replaces=('j2re')
+conflicts=('j2re' 'java-runtime')
+provides=('j2re' 'java-runtime=6')
+license=('custom')
+
+build() {
+ cd $startdir/src
+
+ mkdir unbundle-jdk
+ cd unbundle-jdk
+
+ sh ../jdk-$pkgver-dlj-linux-$_arch.bin --accept-license
+
+ cd ..
+
+ sh construct.sh unbundle-jdk linux-jdk linux-jre
+
+ mkdir -p $startdir/pkg/opt/java
+ mv linux-jdk/jre $startdir/pkg/opt/java
+
+ install -D -m755 $startdir/src/${pkgname}.profile $startdir/pkg/etc/profile.d/${pkgname}.sh
+
+ mkdir -p $startdir/pkg/usr/lib/mozilla/plugins
+
+ if [ "$CARCH" = "i686" ]; then
+ ln -s /opt/java/jre/lib/i386/libnpjp2.so $startdir/pkg/usr/lib/mozilla/plugins
+ else ln -s /opt/java/jre/lib/amd64/libnpjp2.so $startdir/pkg/usr/lib/mozilla/plugins
+ fi
+
+ mkdir -p $startdir/pkg/usr/share/licenses/jre
+ cp $startdir/pkg/opt/java/jre/COPYRIGHT $startdir/pkg/usr/share/licenses/jre
+ cp $startdir/pkg/opt/java/jre/LICENSE $startdir/pkg/usr/share/licenses/jre
+ cp $startdir/pkg/opt/java/jre/THIRDPARTYLICENSEREADME.txt $startdir/pkg/usr/share/licenses/jre
+}
diff --git a/abs/extra/community/jre/jre.install b/abs/extra/community/jre/jre.install
new file mode 100644
index 0000000..4e557a7
--- /dev/null
+++ b/abs/extra/community/jre/jre.install
@@ -0,0 +1,26 @@
+post_upgrade() {
+ post_install $1
+}
+
+post_install() {
+ echo "The jre package is licensed software."
+ echo "You MUST read and agree to the license stored in"
+ echo "/opt/java/jre/LICENSE before using it."
+ if [ -f /etc/mailcap ] ; then
+ sed -e '/application\/x-java-jnlp-file/d' -i /etc/mailcap
+ fi
+ echo 'application/x-java-jnlp-file;/opt/java/jre/bin/javaws %s' >>/etc/mailcap
+}
+
+post_remove() {
+ mailcap=$(grep -v 'application/x-java-jnlp-file' /etc/mailcap)
+ if [ "$mailcap" != "" ] ; then
+ sed -e '/application\/x-java-jnlp-file/d' -i /etc/mailcap
+ else
+ rm /etc/mailcap
+ fi
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/extra/community/jre/jre.profile b/abs/extra/community/jre/jre.profile
new file mode 100644
index 0000000..af3e373
--- /dev/null
+++ b/abs/extra/community/jre/jre.profile
@@ -0,0 +1,4 @@
+export PATH=$PATH:/opt/java/jre/bin
+if [ ! -f /etc/profile.d/jdk.sh ]; then
+ export JAVA_HOME=/opt/java/jre
+fi
diff --git a/abs/extra/community/libdvbpsi/PKGBUILD b/abs/extra/community/libdvbpsi/PKGBUILD
new file mode 100644
index 0000000..5b261a2
--- /dev/null
+++ b/abs/extra/community/libdvbpsi/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 14016 2008-10-01 07:44:22Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Gilles CHAUVIN <gcnweb@gmail.com>
+
+pkgname=libdvbpsi
+pkgver=0.1.6
+pkgrel=3
+pkgdesc="MPEG TS and DVB PSI tables library (needed by vlc for streaming)"
+arch=('i686' 'x86_64')
+license=('GPL2')
+depends=('glibc')
+options=('!libtool')
+replaces=('libdvbpsi4' 'libdvbpsi5')
+conflicts=('libdvbpsi4' 'libdvbpsi5')
+url="http://developers.videolan.org/libdvbpsi/"
+source=(http://download.videolan.org/pub/libdvbpsi/0.1.6/libdvbpsi5-$pkgver.tar.bz2)
+md5sums=('bd2d9861be3311e1e03c91cd9345f542')
+
+build()
+{
+ cd $startdir/src/libdvbpsi5-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make prefix=$startdir/pkg/usr install
+}
diff --git a/abs/extra/community/libelf/PKGBUILD b/abs/extra/community/libelf/PKGBUILD
new file mode 100644
index 0000000..0cf517b
--- /dev/null
+++ b/abs/extra/community/libelf/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 20525 2008-12-05 13:31:11Z jgc $
+# Maintainer: arjan <arjan@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=libelf
+pkgver=0.8.10
+pkgrel=3
+pkgdesc="libelf is a free ELF object file access library"
+arch=(i686 x86_64)
+license=('GPL')
+source=(http://www.mr511.de/software/${pkgname}-${pkgver}.tar.gz)
+url="http://directory.fsf.org/libs/misc/libelf.html"
+depends=('glibc')
+md5sums=('9db4d36c283d9790d8fa7df1f4d7b4d9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-shared \
+ --enable-gnu-names --enable-compat || return 1
+ make || return 1
+ make prefix="${pkgdir}/usr" install || return 1
+}
diff --git a/abs/extra/community/libmatroska/PKGBUILD b/abs/extra/community/libmatroska/PKGBUILD
new file mode 100644
index 0000000..0011c13
--- /dev/null
+++ b/abs/extra/community/libmatroska/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: damir <damir@archlinux.org>
+# Contributor 03/08/04 <lefungus@altern.org>
+
+pkgname=libmatroska
+pkgver=0.8.1
+pkgrel=1
+pkgdesc="Matroska library"
+arch=(i686 x86_64)
+url="http://dl.matroska.org/downloads/libmatroska/"
+depends=('libebml>=0.7.6')
+#source=(http://www.bunkus.org/videotools/mkvtoolnix/sources/$pkgname-$pkgver.tar.bz2)
+source=($url/$pkgname-$pkgver.tar.bz2)
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver/make/linux
+ make sharedlib || return 1
+ make prefix=$startdir/pkg/usr install
+}
+
+md5sums=('20cf624ace0c58a54c7752eebfbc0b19')
diff --git a/abs/extra/community/libmodplug/PKGBUILD b/abs/extra/community/libmodplug/PKGBUILD
new file mode 100644
index 0000000..12c67db
--- /dev/null
+++ b/abs/extra/community/libmodplug/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Patrick Leslie Polzer <leslie.polzer@gmx.net>
+
+pkgname=libmodplug
+pkgver=0.8.4
+pkgrel=1
+pkgdesc="A MOD playing library"
+arch=(i686 x86_64)
+url="http://modplug-xmms.sourceforge.net/"
+license=('GPL')
+depends=(gcc-libs)
+source=(http://downloads.sf.net/sourceforge/modplug-xmms/libmodplug-${pkgver}.tar.gz)
+md5sums=('091bd1168a524a4f36fc61f95209e7e4')
+options=('!libtool')
+
+build() {
+ cd ${startdir}/src/libmodplug-${pkgver}
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=${startdir}/pkg install
+}
+
diff --git a/abs/extra/community/libmpcdec/PKGBUILD b/abs/extra/community/libmpcdec/PKGBUILD
new file mode 100644
index 0000000..feeaf8b
--- /dev/null
+++ b/abs/extra/community/libmpcdec/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libmpcdec
+pkgver=1.2.6
+pkgrel=1
+pkgdesc="Musepack decoding library"
+arch=(i686 x86_64)
+license=('custom')
+depends=('glibc')
+options=('!libtool')
+source=(http://files.musepack.net/source/${pkgname}-${pkgver}.tar.bz2)
+url="http://musepack.net/"
+md5sums=('7f7a060e83b4278acf4b77d7a7b9d2c0')
+
+build() {
+ cd ${startdir}/src/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --disable-static
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+ install -Dm644 COPYING ${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING
+}
diff --git a/abs/extra/community/libnetfilter_queue/PKGBUILD b/abs/extra/community/libnetfilter_queue/PKGBUILD
new file mode 100644
index 0000000..986c916
--- /dev/null
+++ b/abs/extra/community/libnetfilter_queue/PKGBUILD
@@ -0,0 +1,21 @@
+# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
+# Maintainer: Filip Wojciechowski, filip at loka dot pl
+pkgname=libnetfilter_queue
+pkgver=0.0.16
+pkgrel=1
+pkgdesc="userspace library providing an API to packets that have been queued by the kernel packet filter"
+arch=('i686' 'x86_64')
+url="http://www.netfilter.org/projects/libnetfilter_queue/index.html"
+license=('GPL')
+depends=(libnfnetlink)
+makedepends=(pkgconfig)
+options=('!libtool')
+source=(http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2)
+md5sums=('b36664e6cd39edbfe46b416a86118add')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+}
diff --git a/abs/extra/community/libnfnetlink/PKGBUILD b/abs/extra/community/libnfnetlink/PKGBUILD
new file mode 100644
index 0000000..2e0242e
--- /dev/null
+++ b/abs/extra/community/libnfnetlink/PKGBUILD
@@ -0,0 +1,18 @@
+pkgname=libnfnetlink
+pkgver=0.0.40
+pkgrel=1
+pkgdesc="low-level library for netfilter related kernel/userspace communication"
+depends=(glibc)
+url="http://www.netfilter.org/projects/libnfnetlink/index.html"
+license=('GPL')
+arch=('i686' 'x86_64')
+options=('!libtool')
+source=(http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2)
+md5sums=('3fe19dc4b05ba7e7e6216123097c2819')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+}
diff --git a/abs/extra/community/liboil/PKGBUILD b/abs/extra/community/liboil/PKGBUILD
new file mode 100644
index 0000000..23230f5
--- /dev/null
+++ b/abs/extra/community/liboil/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 14430 2008-10-06 17:28:40Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=liboil
+pkgver=0.3.15
+pkgrel=1
+pkgdesc="Library of simple functions that are optimized for various CPUs."
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://liboil.freedesktop.org/"
+depends=('glibc')
+makedepends=('glib2' 'pkgconfig' 'docbook-xsl')
+options=('!libtool' '!makeflags')
+source=(${url}/download/${pkgname}-${pkgver}.tar.gz)
+md5sums=('11dd39b1ca13ce2e0618d4df8303f137')
+
+build() {
+ unset CFLAGS
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/liboil"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/liboil/"
+}
diff --git a/abs/extra/community/libshout/PKGBUILD b/abs/extra/community/libshout/PKGBUILD
new file mode 100644
index 0000000..b23c88e
--- /dev/null
+++ b/abs/extra/community/libshout/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 19191 2008-11-17 11:43:24Z jgc $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: arjan <arjan@archlinux.org>
+# Contributor: Jason Chu <jchu@xentac.net>
+
+pkgname=libshout
+pkgver=2.2.2
+pkgrel=2
+pkgdesc="Library for accessing a shoutcast/icecast server"
+arch=('i686' 'x86_64')
+depends=('libvorbis' 'libtheora' 'speex')
+url="http://www.icecast.org/"
+options=('!libtool' 'force')
+license=('LGPL2')
+source=(http://downloads.xiph.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('4f75fc9901c724b712c371c9a1e782d3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var || return 1
+ make LDFLAGS+=-lspeex || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/abs/extra/community/libstdc++5/PKGBUILD b/abs/extra/community/libstdc++5/PKGBUILD
new file mode 100644
index 0000000..00bee17
--- /dev/null
+++ b/abs/extra/community/libstdc++5/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libstdc++5
+pkgver=3.3.6
+pkgrel=2
+pkgdesc="GNU Standard C++ library version 3"
+arch=(i686 x86_64)
+url="http://gcc.gnu.org"
+depends=('gcc-libs')
+makedepends=('binutils' 'gcc')
+options=(!libtool)
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++}-${pkgver}.tar.bz2 gcc-3.4.3-no_multilib_amd64.patch)
+md5sums=(18c52e6fb8966b7700665dca289d077f 6b3d00b8d079805be1b895f7f6ce47a0 \
+ 088e0807e677010cafe4e590e8711be1)
+
+build(){
+ export MAKEFLAGS="-j1"
+ export CFLAGS=$(echo $CFLAGS | sed 's|-mtune=generic||')
+ export CXXFLAGS=$(echo $CXXFLAGS | sed 's|-mtune=generic||')
+ cd ${startdir}/src/gcc-${pkgver}
+
+ if [ "$CARCH" = "x86_64" ]; then
+ patch -Np0 -i ../gcc-3.4.3-no_multilib_amd64.patch || return 1
+ fi
+
+ # No fixincludes
+ sed -i -e 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+ mkdir ../gcc-build
+ cd ../gcc-build
+ ../gcc-${pkgver}/configure --prefix=/usr --enable-shared \
+ --enable-languages=c++ --enable-threads=posix --enable-__cxa_atexit \
+ --disable-multilib --libdir=/usr/lib
+ make all-target-libstdc++-v3 BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || return 1
+ make DESTDIR=${startdir}/pkg install-target-libstdc++-v3 || return 1
+
+ # Remove includefiles and libs provided by gcc
+ rm -rf ${startdir}/pkg/usr/{include,share/locale}
+ rm -f ${startdir}/pkg/usr/lib/*.a
+ rm -f ${startdir}/pkg/usr/lib/libstdc++.so
+}
diff --git a/abs/extra/community/libstdc++5/gcc-3.4.3-no_multilib_amd64.patch b/abs/extra/community/libstdc++5/gcc-3.4.3-no_multilib_amd64.patch
new file mode 100644
index 0000000..dce10d4
--- /dev/null
+++ b/abs/extra/community/libstdc++5/gcc-3.4.3-no_multilib_amd64.patch
@@ -0,0 +1,11 @@
+--- gcc/config/i386/t-linux64.orig 2003-06-28 00:19:59.000000000 +0000
++++ gcc/config/i386/t-linux64 2003-06-28 00:20:07.000000000 +0000
+@@ -6,7 +6,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 ../lib
++MULTILIB_OSDIRNAMES = . ../lib
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
diff --git a/abs/extra/community/libv4l/PKGBUILD b/abs/extra/community/libv4l/PKGBUILD
new file mode 100644
index 0000000..3afcf6c
--- /dev/null
+++ b/abs/extra/community/libv4l/PKGBUILD
@@ -0,0 +1,19 @@
+# $Id: PKGBUILD 28297 2009-02-28 18:20:12Z thomas $
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
+pkgname=libv4l
+pkgver=0.5.8
+pkgrel=1
+pkgdesc="Userspace library for Video 4 Linux (1 and 2)"
+arch=('i686' 'x86_64')
+url="http://hansdegoede.livejournal.com/3636.html"
+license=('LGPL')
+depends=('glibc')
+source=(http://people.atrpms.net/~hdegoede/$pkgname-$pkgver.tar.gz)
+md5sums=('4f8ae9c743b215c8ac0e553eaa01e980')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make || return 1
+ make install PREFIX="/usr" DESTDIR="$pkgdir/"
+}
diff --git a/abs/extra/community/lua/PKGBUILD b/abs/extra/community/lua/PKGBUILD
new file mode 100644
index 0000000..ff0b435
--- /dev/null
+++ b/abs/extra/community/lua/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 10401 2008-08-29 00:31:46Z allan $
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+
+pkgname=lua
+pkgver=5.1.4
+pkgrel=3
+pkgdesc="A powerful light-weight programming language designed for extending applications."
+arch=(i686 x86_64)
+url="http://www.lua.org/"
+depends=('readline' 'ncurses')
+license=(MIT)
+options=('!makeflags')
+source=($url/ftp/$pkgname-$pkgver.tar.gz $pkgname-arch.patch 'lua-5.1-cflags.diff')
+md5sums=('d0870f2de55d59c1c8419f36e8fac150'
+ '1bd1164a19abf9165e231ba0d8a0bbc7'
+ '249582bf1fd861ccf492d2c35a9fe732')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ patch -p1 -i $startdir/src/$pkgname-arch.patch || return 1
+
+ [ "$CARCH" == "x86_64" ] && patch -Np1 -i ../lua-5.1-cflags.diff
+ [ "$CARCH" == "x86_64" ] && export CFLAGS="$CFLAGS -fPIC"
+ make INSTALL_DATA="cp -d" TO_LIB="liblua.a liblua.so liblua.so.5.1" LUA_SO=liblua.so INSTALL_TOP=$startdir/pkg/usr INSTALL_MAN=$startdir/pkg/usr/share/man/man1 \
+ linux install || return 1
+ install -D -m 644 etc/lua.pc $startdir/pkg/usr/lib/pkgconfig/lua.pc
+ install -D -m644 COPYRIGHT $startdir/pkg/usr/share/licenses/$pkgname/COPYRIGHT
+}
+# vim: ts=2 sw=2 et ft=sh
diff --git a/abs/extra/community/lua/lua-5.1-cflags.diff b/abs/extra/community/lua/lua-5.1-cflags.diff
new file mode 100644
index 0000000..db658ae
--- /dev/null
+++ b/abs/extra/community/lua/lua-5.1-cflags.diff
@@ -0,0 +1,13 @@
+diff -Naur lua-5.1.orig/src/Makefile lua-5.1/src/Makefile
+--- lua-5.1.orig/src/Makefile 2006-02-16 16:45:09.000000000 +0100
++++ lua-5.1/src/Makefile 2006-03-01 14:55:29.000000000 +0100
+@@ -8,7 +8,8 @@
+ PLAT= none
+
+ CC= gcc
+-CFLAGS= -O2 -Wall $(MYCFLAGS)
++CFLAGS ?= -O2 -Wall
++CFLAGS += $(MYCFLAGS)
+ AR= ar rcu
+ RANLIB= ranlib
+ RM= rm -f
diff --git a/abs/extra/community/lua/lua-5.1.3-official-patch1.diff b/abs/extra/community/lua/lua-5.1.3-official-patch1.diff
new file mode 100644
index 0000000..dec8fba
--- /dev/null
+++ b/abs/extra/community/lua/lua-5.1.3-official-patch1.diff
@@ -0,0 +1,12 @@
+--- src/lbaselib.c
++++ src/lbaselib.c
+443c443,444
+< ** functions to consume unlimited stack space.
+---
+> ** functions to consume unlimited stack space. (must be smaller than
+> ** -LUA_REGISTRYINDEX)
+445,446c446
+< #define LUAI_MCS_AUX ((int)(INT_MAX / (4*sizeof(LUA_NUMBER))))
+< #define LUAI_MAXCSTACK (LUAI_MCS_AUX > SHRT_MAX ? SHRT_MAX : LUAI_MCS_AUX)
+---
+> #define LUAI_MAXCSTACK 8000
diff --git a/abs/extra/community/lua/lua-5.1.3-official-patch2.diff b/abs/extra/community/lua/lua-5.1.3-official-patch2.diff
new file mode 100644
index 0000000..05ac244
--- /dev/null
+++ b/abs/extra/community/lua/lua-5.1.3-official-patch2.diff
@@ -0,0 +1,11 @@
+--- src/lbaselib.c (old)
++++ src/lbaselib.c (new)
+@@ -526,7 +526,7 @@
+ status = lua_resume(co, narg);
+ if (status == 0 || status == LUA_YIELD) {
+ int nres = lua_gettop(co);
+- if (!lua_checkstack(L, nres))
++ if (!lua_checkstack(L, nres + 1))
+ luaL_error(L, "too many results to resume");
+ lua_xmove(co, L, nres); /* move yielded values */
+ return nres;
diff --git a/abs/extra/community/lua/lua-5.1.3-official-patch3.diff b/abs/extra/community/lua/lua-5.1.3-official-patch3.diff
new file mode 100644
index 0000000..8126ff5
--- /dev/null
+++ b/abs/extra/community/lua/lua-5.1.3-official-patch3.diff
@@ -0,0 +1,21 @@
+--- src/lapi.c (old)
++++ src/lapi.c (new)
+@@ -93,15 +93,14 @@
+
+
+ LUA_API int lua_checkstack (lua_State *L, int size) {
+- int res;
++ int res = 1;
+ lua_lock(L);
+- if ((L->top - L->base + size) > LUAI_MAXCSTACK)
++ if (size > LUAI_MAXCSTACK || (L->top - L->base + size) > LUAI_MAXCSTACK)
+ res = 0; /* stack overflow */
+- else {
++ else if (size > 0) {
+ luaD_checkstack(L, size);
+ if (L->ci->top < L->top + size)
+ L->ci->top = L->top + size;
+- res = 1;
+ }
+ lua_unlock(L);
+ return res;
diff --git a/abs/extra/community/lua/lua-5.1.3-official-patch4.diff b/abs/extra/community/lua/lua-5.1.3-official-patch4.diff
new file mode 100644
index 0000000..1d03f37
--- /dev/null
+++ b/abs/extra/community/lua/lua-5.1.3-official-patch4.diff
@@ -0,0 +1,18 @@
+--- src/lbaselib.c (old)
++++ src/lbaselib.c (new)
+@@ -344,10 +344,12 @@
+ luaL_checktype(L, 1, LUA_TTABLE);
+ i = luaL_optint(L, 2, 1);
+ e = luaL_opt(L, luaL_checkint, 3, luaL_getn(L, 1));
++ if (i > e) return 0; /* empty range */
+ n = e - i + 1; /* number of elements */
+- if (n <= 0) return 0; /* empty range */
+- luaL_checkstack(L, n, "table too big to unpack");
+- for (; i<=e; i++) /* push arg[i...e] */
++ if (n <= 0 || !lua_checkstack(L, n)) /* n <= 0 means arith. overflow */
++ return luaL_error(L, "too many results to unpack");
++ lua_rawgeti(L, 1, i); /* push arg[i] (avoiding overflow problems) */
++ while (i++ < e) /* push arg[i + 1...e] */
+ lua_rawgeti(L, 1, i);
+ return n;
+ }
diff --git a/abs/extra/community/lua/lua-arch.patch b/abs/extra/community/lua/lua-arch.patch
new file mode 100644
index 0000000..7d6d331
--- /dev/null
+++ b/abs/extra/community/lua/lua-arch.patch
@@ -0,0 +1,55 @@
+diff -ur lua-5.1.orig/etc/lua.pc lua-5.1/etc/lua.pc
+--- lua-5.1.orig/etc/lua.pc 2006-03-21 11:51:53.000000000 +0100
++++ lua-5.1/etc/lua.pc 2006-03-21 11:52:05.000000000 +0100
+@@ -6,7 +6,7 @@
+ V= 5.1
+
+ # grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/'
+-prefix= /usr/local
++prefix= /usr
+ INSTALL_BIN= ${prefix}/bin
+ INSTALL_INC= ${prefix}/include
+ INSTALL_LIB= ${prefix}/lib
+diff -ur lua-5.1.orig/src/Makefile lua-5.1/src/Makefile
+--- lua-5.1.orig/src/Makefile 2006-03-21 11:51:53.000000000 +0100
++++ lua-5.1/src/Makefile 2006-03-21 11:52:09.000000000 +0100
+@@ -23,6 +23,7 @@
+ PLATS= aix ansi bsd generic linux macosx mingw posix solaris
+
+ LUA_A= liblua.a
++LUA_SO= liblua.so
+ CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
+ lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
+ lundump.o lvm.o lzio.o
+@@ -36,7 +37,7 @@
+ LUAC_O= luac.o print.o
+
+ ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
+-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
+ ALL_A= $(LUA_A)
+
+ default: $(PLAT)
+@@ -51,6 +52,10 @@
+ $(AR) $@ $?
+ $(RANLIB) $@
+
++$(LUA_SO): $(CORE_O) $(LIB_O)
++ $(CC) -shared -ldl -Wl,-soname,liblua.so -o $@.5.1 $? $(MYLDFLAGS)
++ ln -s $@.5.1 $@
++
+ $(LUA_T): $(LUA_O) $(LUA_A)
+ $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+
+diff -ur lua-5.1.orig/src/luaconf.h lua-5.1/src/luaconf.h
+--- lua-5.1.orig/src/luaconf.h 2006-03-21 11:51:53.000000000 +0100
++++ lua-5.1/src/luaconf.h 2006-03-21 11:52:05.000000000 +0100
+@@ -82,7 +82,7 @@
+ ".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll"
+
+ #else
+-#define LUA_ROOT "/usr/local/"
++#define LUA_ROOT "/usr/"
+ #define LUA_LDIR LUA_ROOT "share/lua/5.1/"
+ #define LUA_CDIR LUA_ROOT "lib/lua/5.1/"
+ #define LUA_PATH_DEFAULT \
diff --git a/abs/extra/community/mmv/PKGBUILD b/abs/extra/community/mmv/PKGBUILD
new file mode 100644
index 0000000..0ccec1b
--- /dev/null
+++ b/abs/extra/community/mmv/PKGBUILD
@@ -0,0 +1,35 @@
+# Contributor: blue_lizard lizard@blue.dyn-o-saur.com
+
+pkgname=mmv
+pkgver=1.01b.orig
+pkgrel=1
+pkgdesc="multiple move files"
+depends=('glibc' 'sed')
+conflicts=()
+backup=()
+source=(http://ftp.de.debian.org/debian/pool/main/m/mmv/mmv_1.01b.orig.tar.gz http://ftp.de.debian.org/debian/pool/main/m/mmv/mmv_1.01b-14.diff.gz)
+md5sums=('1b2135ab2f17bdfa9e08debbb3c46ad8' 'a69eff7501e63c0bd1fcd231bf6949f1')
+url="http://linux.maruhn.com/sec/mmv.html"
+license="GPL"
+install=$pkgname.install
+arch=('i686')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ patch -p1 < ../mmv_1.01b-14.diff
+ cat Makefile | sed -e "s/LDFLAGS.\s=-s -N/LDFLAGS =-s/g" > /tmp/Makefile
+ mv /tmp/Makefile ./
+ make || return 1
+ mkdir -p $startdir/pkg/usr/bin
+ mkdir -p $startdir/pkg/usr/man/man1
+ make DESTDIR=$startdir/pkg install
+ chmod 644 $startdir/pkg/usr/man/man1/mmv.1
+ cd $startdir/pkg/usr/bin
+ ln -s mmv mcp
+ ln -s mmv mad
+ ln -s mmv mln
+ cd $startdir/pkg/usr/man/man1/
+ ln -s mmv.1 mcp.1
+ ln -s mmv.1 mad.1
+ ln -s mmv.1 mln.1
+}
diff --git a/abs/extra/community/mmv/mmv.install b/abs/extra/community/mmv/mmv.install
new file mode 100644
index 0000000..9b23e48
--- /dev/null
+++ b/abs/extra/community/mmv/mmv.install
@@ -0,0 +1,19 @@
+# arg 1: the new package version
+post_install() {
+ echo ">>>"
+ echo ">>>"
+ echo ">>>"
+ echo ">>> many thanks to the debian people who provide the sources"
+ echo ">>>"
+}
+
+# arg 1: the old package version
+post_remove() {
+ echo ">>>"
+ echo ">>>"
+ echo ">>>"
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/extra/community/moblock/MoBlock-nfq.sh.patch b/abs/extra/community/moblock/MoBlock-nfq.sh.patch
new file mode 100644
index 0000000..15e742f
--- /dev/null
+++ b/abs/extra/community/moblock/MoBlock-nfq.sh.patch
@@ -0,0 +1,53 @@
+--- MoBlock-0.8/MoBlock-nfq.sh.orig 2008-11-30 03:44:02.000000000 -0500
++++ MoBlock-0.8/MoBlock-nfq.sh 2008-12-01 18:56:15.000000000 -0500
+@@ -3,14 +3,10 @@
+ # MoBlock.sh - MoBlock start script
+ # ---------------------------------
+
+-ACTIVATE_CHAINS=1
+-WHITE_TCP_IN=""
+-WHITE_UDP_IN=""
+-WHITE_TCP_OUT=""
+-WHITE_UDP_OUT=""
+-WHITE_TCP_FORWARD=""
+-WHITE_UDP_FORWARD=""
++# Some configuration options have been moved to an external conf file
++# This should make maintenance and upgrading easier
+
++. /etc/moblock/config
+
+ PIDF=/var/run/moblock.pid
+
+@@ -78,6 +74,17 @@
+ iptables -I MOBLOCK_FW -p udp --dport $PORT -j ACCEPT
+ done
+
++# For added IP whitelisting support
++
++for IP in $WHITE_IP_OUT; do
++ iptables -I MOBLOCK_OUT -p all -m iprange --dst-range $IP -j ACCEPT
++done
++for IP in $WHITE_IP_IN; do
++ iptables -I MOBLOCK_IN -p all -m iprange --dst-range $IP -j ACCEPT
++done
++for IP in $WHITE_IP_FW; do
++ iptables -I MOBLOCK_FW -p all -m iprange --dst-range $IP -j ACCEPT
++done
+
+ # Loopback traffic fix
+
+@@ -85,7 +92,8 @@
+ iptables -I OUTPUT -p all -o lo -j ACCEPT
+
+ # Here you can change block list and log files
+-./moblock -p /etc/guarding.p2p ./moblock.log
++#./moblock -p /etc/guarding.p2p ./moblock.log
++/usr/bin/moblock -p /etc/moblock/banned.list /var/log/moblock.log >/dev/null 2>&1
+
+ # On exit delete the rules we added
+
+@@ -108,3 +116,4 @@
+ if [ -f $PIDF ]; then
+ rm $PIDF;
+ fi
++
diff --git a/abs/extra/community/moblock/PKGBUILD b/abs/extra/community/moblock/PKGBUILD
new file mode 100755
index 0000000..f6c7e51
--- /dev/null
+++ b/abs/extra/community/moblock/PKGBUILD
@@ -0,0 +1,56 @@
+# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
+# Maintainer: Filip Wojciechowski, filip at loka dot pl
+
+pkgname=moblock
+pkgver=0.9rc2
+pkgrel=8
+pkgdesc="Console application that blocks connections from/to hosts listed in a file in peerguardian format"
+arch=('i686' 'x86_64')
+url="http://moblock.berlios.de/"
+license=('GPL')
+depends=(libnetfilter_queue iptables)
+backup=(etc/moblock/config)
+install=moblock.install
+source=(http://download.berlios.de/moblock/MoBlock-0.8-i586.tar.bz2 \
+ moblock_0.9_rc2.patch \
+ MoBlock-nfq.sh.patch \
+ moblock_include.patch \
+ config \
+ moblock-update \
+ moblock \
+ moblock.logrotate)
+md5sums=('199967adb48b153be90db10fe21325c5'
+ 'e4e33c515677fa53eaca4616591d4e44'
+ '1193adccce219d31a7c0540807a4a8e8'
+ 'b23b5214965df59632de5cec317ddbde'
+ '840bb52a99529305e49212a69c9ced8a'
+ '49a16feb221d4d912cc7200313517f7b'
+ '1bdc949fcff0ce751a5096e489061513'
+ 'a8285fd3e68043cd8d21993d3dbbf9d4')
+
+build() {
+ cd $startdir/src/MoBlock-0.8
+
+ # patch to update moblock to the latest cvs version
+ patch -Np1 -i ../moblock_0.9_rc2.patch || return 1
+ # add IP whitelisting and move configs to a separate conf file
+ patch -Np1 -i ../MoBlock-nfq.sh.patch || return 1
+ # necessary to make moblock build with recent kernels
+ patch -Np1 -i ../moblock_include.patch || return 1
+
+ # change the CFLAGS for both i686 and x84_64 builds
+ sed -i "s#-Wall -O.*-ffast-math#$CFLAGS#g" Makefile
+
+ # build
+ make || return 1
+
+ #move the files
+ install -D -m 755 ./MoBlock-nfq.sh $startdir/pkg/usr/bin/moblock-nfq || return 1
+ install -D -m 744 ./moblock $startdir/pkg/usr/bin/moblock || return 1
+ install -D -m 755 ../moblock-update $startdir/pkg/usr/bin/moblock-update || return 1
+ install -D -m 744 ../moblock $startdir/pkg/etc/rc.d/moblock || return 1
+ install -D -m 644 ../config $startdir/pkg/etc/moblock/config || return 1
+ install -D -m 644 ../moblock.logrotate $startdir/pkg/etc/logrotate.d/moblock || return 1
+}
+
+
diff --git a/abs/extra/community/moblock/config b/abs/extra/community/moblock/config
new file mode 100644
index 0000000..7d7c287
--- /dev/null
+++ b/abs/extra/community/moblock/config
@@ -0,0 +1,30 @@
+# Original MoBlock configuration options from MoBlock-nfq.sh file
+ACTIVATE_CHAINS=1
+WHITE_TCP_IN=""
+WHITE_UDP_IN=""
+WHITE_TCP_OUT="" # Add "http https" here to prevent moblock from blocking webpages
+WHITE_UDP_OUT=""
+WHITE_TCP_FORWARD=""
+WHITE_UDP_FORWARD=""
+
+# Added IP whitelisting support
+WHITE_IP_IN=""
+WHITE_IP_OUT=""
+WHITE_IP_FW=""
+
+# Individual lists can be disabled by prefixing them with '!'
+# Bluetack blacklists (http://www.bluetack.co.uk)
+BLUETACK=(level1 level2 !level3 !edu ads-trackers-and-bad-pr0n bogon spyware spider Microsoft !proxy hijacked templist !rangetest dshield)
+
+# blocklist.org lists (currently doesn't work)
+#BLOCKLIST=(p2p gov spy ads edu)
+
+# backup lists (might be outdated)
+#PHOENIXLABS=(!p2b.p2b edu.txt spider.txt spyware.txt level1.txt !level2.txt !level3.txt)
+
+# Change to 'yes' if you want to backup up the old list before writing
+# a new one. Only one backup copy will be kept.
+BACKUP_OLD_LIST="no"
+
+# Options passed to wget
+WGET_OPTS="-q"
diff --git a/abs/extra/community/moblock/moblock b/abs/extra/community/moblock/moblock
new file mode 100755
index 0000000..d88bd2e
--- /dev/null
+++ b/abs/extra/community/moblock/moblock
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting MoBlock"
+ if [ ! -f /var/run/moblock.pid ]
+ then
+ /usr/bin/moblock-nfq &
+ if [ $? -gt 0 ]
+ then
+ stat_fail
+ else
+ add_daemon moblock
+ stat_done
+ fi
+ else
+ stat_fail
+ fi
+ ;;
+ update)
+ stat_busy "Updating MoBlock block list..."
+ error=0
+ /usr/bin/moblock-update || error=1
+ stat_busy "Updating MoBlock block list"
+ if [ $error -eq 1 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ ;;
+ stats)
+ stat_busy "Logging stats to /var/log/MoBlock.stats"
+ PID=`cat /var/run/moblock.pid 2>/dev/null`
+ if [ ! -z "$PID" ]; then
+ /bin/kill -USR2 $PID
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping MoBlock"
+ PID=`cat /var/run/moblock.pid 2>/dev/null`
+ if [ ! -z "$PID" ]; then
+ /bin/kill $PID
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon moblock
+ stat_done
+ fi
+ else
+ stat_fail
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|update|stats}"
+esac
diff --git a/abs/extra/community/moblock/moblock-update b/abs/extra/community/moblock/moblock-update
new file mode 100755
index 0000000..aae861d
--- /dev/null
+++ b/abs/extra/community/moblock/moblock-update
@@ -0,0 +1,174 @@
+#!/bin/bash
+
+. /etc/moblock/config
+
+CONF_DIR=/etc/moblock
+TEMP_DIR=$(/usr/bin/mktemp -t -d moblock-updateXXXXXXXX)
+LIST_FILE=banned.list
+
+USECOLOR="no"
+. /etc/rc.d/functions
+PREFIX_REG=" >"
+PREFIX_HL="::"
+
+function extract()
+{
+ /usr/bin/find $TEMP_DIR -type f -name '*.gz' -o -name '*.zip' |\
+ while read N
+ do
+ case "$N" in
+ *.zip) /usr/bin/unzip -oqq "$N" 2>/dev/null
+ if [ $? -gt 0 ]; then
+ rm -f "$N"
+ return 1
+ else
+ rm -f "$N"
+ fi
+ ;;
+ *.gz) /bin/gunzip -f "$N" 2>/dev/null
+ if [ $? -gt 0 ]; then
+ rm -f "$N"
+ return 1
+ fi
+ ;;
+ *) continue
+ ;;
+ esac
+ done
+ return 0
+}
+
+cd $TEMP_DIR
+
+printf "${C_SEPARATOR} ------------------------------\n"
+printhl "Downloading and extracting files:\n"
+
+# Bluetack lists (with fallback)
+for i in ${BLUETACK[@]}
+do
+ if [ $(echo $i | /bin/grep '^[^\!]' | /usr/bin/wc -l) -eq 1 ]; then
+ stat_busy "BLUETACK '${i}'... "
+ /usr/bin/wget ${WGET_OPTS} "http://www.bluetack.co.uk/config/${i}.gz" && extract
+ if [ $? -gt 0 ] || [ ! -f ${i} ]; then
+ stat_fail
+ bfile=$i
+ if [ "$bfile" = "ads-trackers-and-bad-pr0n" ]; then
+ bfile="ads"
+ elif [ "$bfile" = "Microsoft" ];then
+ bfile="microsoft"
+ fi
+ stat_busy "[!!] BLUETACK '${i}' (fallback link)... "
+ /usr/bin/wget ${WGET_OPTS} "http://list.iblocklist.com/?list=bt_${bfile%%-*}" -O "${i}.gz" && extract
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ else
+ stat_done
+ fi
+ fi
+done
+
+# Blocklist lists
+for i in ${BLOCKLIST[@]}
+do
+ if [ $(echo $i | /bin/grep '^[^\!]' | /usr/bin/wc -l) -eq 1 ]; then
+ stat_busy "BLOCKLIST '${i}'... "
+ /usr/bin/wget ${WGET_OPTS} "blocklist.org/${i}.p2b.gz" && extract
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+done
+
+# Old phoenixlabs.org lists
+for i in ${PHOENIXLABS[@]}
+do
+ if [ $(echo $i | /bin/grep '^[^\!]' | /usr/bin/wc -l) -eq 1 ]; then
+ stat_busy "PHOENIXLABS '${i}'... "
+ /usr/bin/wget ${WGET_OPTS} "fox.phoenixlabs.org/${i}" && extract
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+done
+
+if [ $(/bin/cat "$TEMP_DIR"/* | /usr/bin/wc -l) -eq 0 ]; then
+ printf "\n"
+ printhl "ERROR: No files were downloaded"
+ printf "${C_SEPARATOR} ------------------------------\n"
+ exit 1
+fi
+
+# Check files
+printsep
+printhl "Checking integrity of downloaded files:\n"
+
+/usr/bin/find -type f | while read N
+do
+ stat_busy "File '$(echo $N | /bin/awk -F/ '{print $NF}')'... "
+ scan1=$(/bin/cat "$N" | /usr/bin/wc -l)
+ scan2=$(/bin/egrep -o ":[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*-[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" "$N" | /usr/bin/wc -l)
+ if [ $scan1 -eq $scan2 ]; then
+ stat_done
+ else
+ if [ $scan2 -gt 0 ]; then
+ if [ $scan1 -gt $scan2 ]; then
+ stat_append "$(($scan1-$scan2)) of $scan1 entries failed validation; keeping the file"
+ stat_done
+ fi
+ else
+ stat_fail
+ stat_busy "[!!] Removing corrupted file... "
+ rm "$N" 2>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ stat_done
+ fi
+ fi
+ fi
+done
+
+printsep
+printhl "Saving the list:\n"
+
+# Make backup
+if [ "$BACKUP_OLD_LIST" = "yes" ] && [ -f "$CONF_DIR"/"$LIST_FILE" ]; then
+ stat_busy "Backing up old list to '$CONF_DIR/$LIST_FILE.gz'... "
+ /bin/gzip -f "$CONF_DIR"/"$LIST_FILE" 2>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+fi
+
+# Save the list
+stat_busy "Saving new list to '$CONF_DIR/$LIST_FILE'... "
+/bin/cat "$TEMP_DIR"/* > "$CONF_DIR"/"$LIST_FILE" 2>&1
+if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+else
+ stat_done
+ printf "\n"
+ printhl "Saved `cat "$CONF_DIR"/"$LIST_FILE" | wc -l` ranges"
+ printf "${C_SEPARATOR} ------------------------------\n"
+fi
+
+rm -rf "$TEMP_DIR"
+
+# Restart MoBlock
+if [ -f /var/run/moblock.pid ]; then
+ /bin/kill -HUP `cat /var/run/moblock.pid` >/dev/null 2>&1
+fi
+
+exit 0
+
diff --git a/abs/extra/community/moblock/moblock.install b/abs/extra/community/moblock/moblock.install
new file mode 100644
index 0000000..c7715e7
--- /dev/null
+++ b/abs/extra/community/moblock/moblock.install
@@ -0,0 +1,30 @@
+post_install() {
+ #clean up after an old hack
+ if [ -h /usr/lib/libnfnetlink.so.1 ]; then
+ rm /usr/lib/libnfnetlink.so.1
+ fi
+ echo ""
+ echo ">>> moblock-update script no longer uses /var/spool/moblock"
+ echo ">>> as a temporary directory. You can safely delete it."
+ echo ""
+ if [ ! -d /var/spool/moblock/used ]
+ then
+ mkdir -p /var/spool/moblock/used
+ fi
+}
+
+post_upgrade() {
+ #clean up after an old hack
+ if [ -h /usr/lib/libnfnetlink.so.1 ]; then
+ rm /usr/lib/libnfnetlink.so.1
+ fi
+ if [ ! -d /var/spool/moblock/used ]
+ then
+ mkdir -p /var/spool/moblock/used
+ fi
+}
+
+op=$1
+shift
+$op $*
+
diff --git a/abs/extra/community/moblock/moblock.logrotate b/abs/extra/community/moblock/moblock.logrotate
new file mode 100644
index 0000000..6ed64bb
--- /dev/null
+++ b/abs/extra/community/moblock/moblock.logrotate
@@ -0,0 +1,11 @@
+"/var/log/moblock.log" /var/log/MoBlock.stats {
+ daily
+ missingok
+ notifempty
+ sharedscripts
+ postrotate
+ /usr/bin/test -f /var/run/moblock.pid && /bin/kill -HUP `cat /var/run/moblock.pid 2>/dev/null` 2>/dev/null || exit 0
+ endscript
+ compress
+}
+
diff --git a/abs/extra/community/moblock/moblock_0.9_rc2.patch b/abs/extra/community/moblock/moblock_0.9_rc2.patch
new file mode 100644
index 0000000..69994ff
--- /dev/null
+++ b/abs/extra/community/moblock/moblock_0.9_rc2.patch
@@ -0,0 +1,912 @@
+diff -Naur MoBlock-0.8_orig/Changelog MoBlock-0.8/Changelog
+--- MoBlock-0.8_orig/Changelog 2006-03-22 12:44:31.000000000 -0500
++++ MoBlock-0.8/Changelog 2008-02-10 11:56:08.000000000 -0500
+@@ -4,6 +4,23 @@
+
+ ---
+
++0.9: - fix for kernel 2.6.23
++ - support for MARKing packets instead of DROPping or
++ ACCEPTing
++ - example start script that REJECTs packets instead of
++ DROPping.
++ - Integrated a patch from David Walluck for proper loading
++ of p2b files (version 2)
++ - command line options for logging to syslog, stdout
++ and log timestamping
++ - fixed loading pg1 lists with comments (lines starting
++ with '#')
++ - fixed a bug in ranges merge
++ - applied patch 2223 by badfish99: "IPs logged with bytes
++ reversed on big-endian m/c"
++
++---
++
+ 0.8: - support for NFQUEUE-ing from iptables FORWARD chain (thx to
+ hyakki for suggestions and testing!)
+ - included patches from Maximilian Mehnert to support log file
+diff -Naur MoBlock-0.8_orig/Makefile MoBlock-0.8/Makefile
+--- MoBlock-0.8_orig/Makefile 2006-03-22 12:44:31.000000000 -0500
++++ MoBlock-0.8/Makefile 2007-11-22 08:10:44.000000000 -0500
+@@ -1,4 +1,3 @@
+-
+ # To use the old-soon-to-be-deprecated libipq interface
+ # uncomment the following line and comment the NFQUEUE one,
+ # then comment the gcc line with netfilter_queue and
+@@ -7,7 +6,7 @@
+ #QUEUE_LIB=LIBIPQ
+ QUEUE_LIB=NFQUEUE
+
+-CFLAGS=-Wall -O2 -march=i586 -mtune=i686 -fomit-frame-pointer -ffast-math \
++CFLAGS=-Wall -O3 -march=i586 -mtune=i686 -fomit-frame-pointer -ffast-math \
+ -D_GNU_SOURCE -D$(QUEUE_LIB) -L/usr/include/libipq
+ CC=gcc
+
+diff -Naur MoBlock-0.8_orig/MoBlock-nfq-reject.sh MoBlock-0.8/MoBlock-nfq-reject.sh
+--- MoBlock-0.8_orig/MoBlock-nfq-reject.sh 1969-12-31 19:00:00.000000000 -0500
++++ MoBlock-0.8/MoBlock-nfq-reject.sh 2007-11-22 08:10:44.000000000 -0500
+@@ -0,0 +1,104 @@
++#!/bin/sh
++#
++# MoBlock.sh - MoBlock start script
++# ---------------------------------
++
++ACTIVATE_CHAINS=1
++WHITE_TCP_IN=""
++WHITE_UDP_IN=""
++WHITE_TCP_OUT=""
++WHITE_UDP_OUT=""
++WHITE_TCP_FORWARD=""
++WHITE_UDP_FORWARD=""
++REJECT_MARK="10"
++
++PIDF=/var/run/moblock.pid
++
++FNAME=`basename $0 .sh`
++MODE=`echo $FNAME|awk -F- '{print $2}'`
++
++if [ -f $PIDF ]; then
++ PID=`cat $PIDF`
++ if [ `ps -p $PID|wc -l` -gt 1 ]; then
++ echo "$0: $PIDF exists and processs seems to be running. Exiting."
++ exit 1;
++ fi;
++fi;
++
++if [ $MODE == "ipq" ]; then
++ modprobe ip_queue
++ TARGET="QUEUE"
++elif [ $MODE == "nfq" ]; then
++ modprobe ipt_NFQUEUE
++ TARGET="NFQUEUE"
++fi;
++
++modprobe ipt_state
++
++# Filter all traffic, edit for your needs
++
++iptables -N MOBLOCK_IN
++iptables -N MOBLOCK_OUT
++iptables -N MOBLOCK_FW
++
++if [ $ACTIVATE_CHAINS -eq 1 ]; then
++ iptables -I INPUT -p all -m state --state NEW -j MOBLOCK_IN
++ iptables -I OUTPUT -p all -m state --state NEW -j MOBLOCK_OUT
++ iptables -I FORWARD -p all -m state --state NEW -j MOBLOCK_FW
++fi;
++
++
++iptables -I MOBLOCK_IN -p all -j $TARGET
++
++iptables -I MOBLOCK_OUT -p all -j $TARGET
++
++iptables -I MOBLOCK_FW -p all -j $TARGET
++
++for PORT in $WHITE_TCP_OUT; do
++ iptables -I MOBLOCK_OUT -p tcp --dport $PORT -j ACCEPT
++done
++for PORT in $WHITE_UDP_OUT; do
++ iptables -I MOBLOCK_OUT -p udp --dport $PORT -j ACCEPT
++done
++
++for PORT in $WHITE_TCP_IN; do
++ iptables -I MOBLOCK_IN -p tcp --dport $PORT -j ACCEPT
++done
++for PORT in $WHITE_UDP_IN; do
++ iptables -I MOBLOCK_IN -p udp --dport $PORT -j ACCEPT
++done
++
++for PORT in $WHITE_TCP_FORWARD; do
++ iptables -I MOBLOCK_FW -p tcp --dport $PORT -j ACCEPT
++done
++for PORT in $WHITE_UDP_FORWARD; do
++ iptables -I MOBLOCK_FW -p udp --dport $PORT -j ACCEPT
++done
++
++iptables -I OUTPUT -p all -m state --state NEW -m mark --mark $REJECT_MARK -j REJECT
++iptables -I FORWARD -p all -m state --state NEW -m mark --mark $REJECT_MARK -j REJECT
++
++# Here you can change block list and log files
++./moblock -d /etc/ipfilter.dat -t -s -r $REJECT_MARK ./moblock.log
++
++# On exit delete the rules we added
++
++if [ $ACTIVATE_CHAINS -eq 1 ]; then
++ iptables -D INPUT -p all -m state --state NEW -j MOBLOCK_IN
++ iptables -D OUTPUT -p all -m state --state NEW -j MOBLOCK_OUT
++ iptables -D FORWARD -p all -m state --state NEW -j MOBLOCK_FW
++fi;
++
++iptables -D OUTPUT -p all -m state --state NEW -m mark --mark $REJECT_MARK -j REJECT
++iptables -D FORWARD -p all -m state --state NEW -m mark --mark $REJECT_MARK -j REJECT
++
++iptables -F MOBLOCK_IN
++iptables -X MOBLOCK_IN
++iptables -F MOBLOCK_OUT
++iptables -X MOBLOCK_OUT
++iptables -F MOBLOCK_FW
++iptables -X MOBLOCK_FW
++
++if [ -f $PIDF ]; then
++ rm $PIDF;
++fi
+diff -Naur MoBlock-0.8_orig/MoBlock.c MoBlock-0.8/MoBlock.c
+--- MoBlock-0.8_orig/MoBlock.c 2006-03-22 12:44:31.000000000 -0500
++++ MoBlock-0.8/MoBlock.c 2008-02-10 11:56:08.000000000 -0500
+@@ -35,6 +35,8 @@
+ #include <linux/netfilter_ipv4.h>
+ #include <signal.h>
+ #include <regex.h>
++#include <time.h>
++#include <syslog.h>
+
+ // in Makefile define LIBIPQ to use soon-to-be-deprecated ip_queue,
+ // NFQUEUE for ipt_NFQUEUE (from kernel 2.6.14)
+@@ -46,7 +48,7 @@
+ #include <libnetfilter_queue/libnetfilter_queue.h>
+ #endif
+
+-#define MB_VERSION "0.8"
++#define MB_VERSION "0.9rc2"
+
+ #define BUFSIZE 2048
+ #define PAYLOADSIZE 21
+@@ -58,6 +60,9 @@
+ #define SRC_ADDR(payload) (*(in_addr_t *)((payload)+12))
+ #define DST_ADDR(payload) (*(in_addr_t *)((payload)+16))
+
++#define likely(x) __builtin_expect((x),1)
++#define unlikely(x) __builtin_expect((x),0)
++
+ // rbt datatypes/functions
+
+ typedef enum {
+@@ -96,7 +101,8 @@
+ char filename[100];
+ } blocklist_info;
+
+-int merged_ranges=0, skipped_ranges=0;
++u_int32_t merged_ranges=0, skipped_ranges=0, accept_mark=0, reject_mark=0;
++u_int8_t log2syslog=0, log2file=0, log2stdout=0, timestamp=0;
+
+ #ifdef LIBIPQ
+ static void die(struct ipq_handle *h)
+@@ -112,11 +118,13 @@
+ static char buf[2][ sizeof("aaa.bbb.ccc.ddd") ];
+ static short int index=0;
+
++ ip = ntohl(ip);
++
+ sprintf(buf[index],"%d.%d.%d.%d",
+- (ip) & 0xff,
+- (ip >> 8) & 0xff,
++ (ip >> 24) & 0xff,
+ (ip >> 16) & 0xff,
+- (ip >> 24) & 0xff);
++ (ip >> 8) & 0xff,
++ (ip) & 0xff);
+
+ if (index) {
+ index=0;
+@@ -134,10 +142,38 @@
+ fflush(stdout);
+ }
+
++void log_action(char *msg)
++{
++ char timestr[30];
++ time_t tv;
++
++ if (timestamp) {
++ tv = time(NULL);
++ strncpy(timestr, ctime(&tv), 19);
++ timestr[19] = '\0';
++ strcat(timestr, "| ");
++ }
++ else strcpy(timestr, "");
++
++ if (log2syslog) {
++ syslog(LOG_INFO, msg);
++ }
++
++ if (log2file) {
++ fprintf(logfile,"%s%s",timestr,msg);
++ fflush(logfile);
++ }
++
++ if (log2stdout) {
++ fprintf(stdout,"%s%s",timestr,msg);
++ }
++}
++
+ inline void ranged_insert(char *name,char *ipmin,char *ipmax)
+ {
+ recType tmprec;
+ int ret;
++ char msgbuf[255];
+
+ if ( strlen(name) > (BNAME_LEN-1) ) {
+ strncpy(tmprec.blockname, name, BNAME_LEN);
+@@ -149,10 +185,11 @@
+ if ( (ret=insert(ntohl(inet_addr(ipmin)),&tmprec)) != STATUS_OK )
+ switch(ret) {
+ case STATUS_MEM_EXHAUSTED:
+- fprintf(logfile,"Error inserting range, MEM_EXHAUSTED.\n");
++ log_action("Error inserting range, MEM_EXHAUSTED.\n");
+ break;
+ case STATUS_DUPLICATE_KEY:
+- fprintf(logfile,"Duplicated range ( %s )\n",name);
++ sprintf(msgbuf,"Duplicated range ( %s )\n",name);
++ log_action(msgbuf);
+ break;
+ case STATUS_MERGED:
+ merged_ranges++;
+@@ -161,8 +198,9 @@
+ skipped_ranges++;
+ break;
+ default:
+- fprintf(logfile,"Unexpected return value from ranged_insert()!\n");
+- fprintf(logfile,"Return value was: %d\n",ret);
++ log_action("Unexpected return value from ranged_insert()!\n");
++ sprintf(msgbuf,"Return value was: %d\n",ret);
++ log_action(msgbuf);
+ break;
+ }
+ }
+@@ -177,15 +215,19 @@
+ regex_t regmain;
+ regmatch_t matches[4];
+ int i;
++ char msgbuf[255];
+
+ regcomp(&regmain, "^(.*)[:]([0-9.]*)[-]([0-9.]*)$", REG_EXTENDED);
+
+ fp=fopen(filename,"r");
+ if ( fp == NULL ) {
+- fprintf(logfile,"Error opening %s, aborting...\n", filename);
++ sprintf(msgbuf,"Error opening %s, aborting...\n", filename);
++ log_action(msgbuf);
+ exit(-1);
+ }
+ while ( (count=getline(&line,&len,fp)) != -1 ) {
++ if ( line[0] == '#' ) //comment line, skip
++ continue;
+ for(i=count-1; i>=0; i--) {
+ if ((line[i] == '\r') || (line[i] == '\n') || (line[i] == ' ')) {
+ line[i] = 0;
+@@ -207,36 +249,78 @@
+ line+matches[3].rm_so);
+ ntot++;
+ } else {
+- fprintf(logfile,"Short guarding.p2p line %s, skipping it...\n", line);
++ sprintf(msgbuf,"Short guarding.p2p line %s, skipping it...\n", line);
++ log_action(msgbuf);
+ }
+ }
+ if (line)
+ free(line);
+ fclose(fp);
+- fprintf(logfile,"Ranges loaded: %d\n",ntot);
+- printf("* Ranges loaded: %d\n",ntot);
++ sprintf(msgbuf, "* Ranges loaded: %d\n", ntot);
++ log_action(msgbuf);
++ if ( !log2stdout )
++ printf(msgbuf);
+ }
+
+-void loadlist_pg2(char *filename) // experimental, no check for list sanity
++void loadlist_pg2(char *filename) // supports only v2 files
+ {
+ FILE *fp;
+- int i,retval,ntot=0;
+- char name[100],ipmin[16]; // hope we don't have a list with longer names...
++ int i, j, c, retval=0, ntot=0;
++ char name[100],ipmin[16], msgbuf[255]; // hope we don't have a list with longer names...
+ uint32_t start_ip, end_ip;
+ struct in_addr startaddr,endaddr;
++ size_t s;
+
+ fp=fopen(filename,"r");
+ if ( fp == NULL ) {
+- fprintf(logfile,"Error opening %s, aborting...\n", filename);
++ sprintf(msgbuf, "Error opening %s, aborting...\n", filename);
++ log_action(msgbuf);
+ exit(-1);
+ }
+
+- fgetc(fp); // skip first 4 bytes, don't know what they are
+- fgetc(fp);
+- fgetc(fp);
+- retval=fgetc(fp);
++ for (j=0; j<4; j++) {
++ c=fgetc(fp);
++ if ( c != 0xff ) {
++ sprintf(msgbuf,"Byte %d: 0x%x != 0xff, aborting...\n", j+1, c);
++ log_action(msgbuf);
++ fclose(fp);
++ exit(-1);
++ }
++ }
++
++ c=fgetc(fp);
++ if ( c != 'P' ) {
++ sprintf(msgbuf,"Byte 5: %c != P, aborting...\n", c);
++ log_action(msgbuf);
++ fclose(fp);
++ exit(-1);
++ }
++
++ c=fgetc(fp);
++ if ( c != '2' ) {
++ sprintf(msgbuf,"Byte 6: %c != 2, aborting...\n", c);
++ log_action(msgbuf);
++ fclose(fp);
++ exit(-1);
++ }
+
+- while ( retval != EOF ) {
++ c=fgetc(fp);
++ if ( c != 'B' ) {
++ sprintf(msgbuf,"Byte 7: %c != B, aborting...\n", c);
++ log_action(msgbuf);
++ fclose(fp);
++ exit(-1);
++ }
++
++ c=fgetc(fp);
++ if ( c != 0x02 ) {
++ sprintf(msgbuf,"Byte 8: version: %d != 2, aborting...\n", c);
++ log_action(msgbuf);
++ fclose(fp);
++ exit(-1);
++ }
++
++ do {
+ i=0;
+ do {
+ name[i]=fgetc(fp);
+@@ -244,9 +328,22 @@
+ } while ( name[i-1] != 0x00 && name[i-1] != EOF);
+ if ( name[i-1] != EOF ) {
+ name[i-1]='\0';
+- fread(&start_ip,4,1,fp);
+- fread(&end_ip,4,1,fp);
+- startaddr.s_addr=start_ip;
++ s=fread(&start_ip,4,1,fp);
++ if ( s != 1 ) {
++ sprintf(msgbuf,"Failed to read start IP: %d != 1, aborting...\n", (int)s);
++ log_action(msgbuf);
++ fclose(fp);
++ exit(-1);
++ }
++ s=fread(&end_ip,4,1,fp);
++ if ( s != 1 ) {
++ sprintf(msgbuf,"Failed to read end IP: %d != 1, aborting...\n", (int)s);
++ log_action(msgbuf);
++ fclose(fp);
++ exit(-1);
++ }
++
++ startaddr.s_addr=start_ip;
+ endaddr.s_addr=end_ip;
+ strcpy(ipmin,inet_ntoa(startaddr));
+ ranged_insert(name,ipmin,inet_ntoa(endaddr));
+@@ -255,22 +352,25 @@
+ else {
+ retval=EOF;
+ }
+- }
++ } while ( retval != EOF );
+ fclose(fp);
+- fprintf(logfile,"Ranges loaded: %d\n",ntot);
+- printf("* Ranges loaded: %d\n",ntot);
++ sprintf(msgbuf, "* Ranges loaded: %d\n",ntot);
++ log_action(msgbuf);
++ if ( !log2stdout )
++ printf(msgbuf);
+ }
+
+ void loadlist_dat(char *filename)
+ {
+ FILE *fp;
+ int ntot=0;
+- char readbuf[200], *name, start_ip[16], end_ip[16];
++ char readbuf[200], *name, start_ip[16], end_ip[16], msgbuf[255];
+ unsigned short ip1_0, ip1_1, ip1_2, ip1_3, ip2_0, ip2_1, ip2_2, ip2_3;
+
+ fp=fopen(filename,"r");
+ if ( fp == NULL ) {
+- fprintf(logfile,"Error opening %s, aborting...\n", filename);
++ sprintf(msgbuf,"Error opening %s, aborting...\n", filename);
++ log_action(msgbuf);
+ exit(-1);
+ }
+
+@@ -286,38 +386,45 @@
+ ntot++;
+ }
+ fclose(fp);
+- fprintf(logfile,"Ranges loaded: %d\n",ntot);
+- printf("* Ranges loaded: %d\n",ntot);
++ sprintf(msgbuf, "* Ranges loaded: %d\n", ntot);
++ log_action(msgbuf);
++ if ( !log2stdout )
++ printf(msgbuf);
+ }
+
+ void reopen_logfile(void)
+ {
++ char msgbuf[255];
++
+ if (logfile != NULL) {
+ fclose(logfile);
+ logfile=NULL;
+ }
+ logfile=fopen(logfile_name,"a");
+ if (logfile == NULL) {
+- fprintf(stderr, "Unable to open logfile %s\n", logfile_name);
++ sprintf(msgbuf, "Unable to open logfile %s\n", logfile_name);
++ log_action(msgbuf);
+ exit(-1);
+ }
+- fprintf(logfile, "Reopening logfile.\n");
++ log_action("Reopening logfile.\n");
+ }
+
+ void my_sahandler(int sig)
+ {
++ char msgbuf[255];
++
+ switch( sig ) {
+ case SIGUSR1:
+- fprintf(logfile,"Got SIGUSR1! Dumping stats...\n");
++ log_action("Got SIGUSR1! Dumping stats...\n");
+ ll_show(logfile);
+ reopen_logfile();
+ break;
+ case SIGUSR2:
+- fprintf(logfile,"Got SIGUSR2! Dumping stats to /var/log/MoBlock.stats\n");
++ log_action("Got SIGUSR2! Dumping stats to /var/log/MoBlock.stats\n");
+ ll_log();
+ break;
+ case SIGHUP:
+- fprintf(logfile,"\nGot SIGHUP! Dumping and resetting stats, reloading blocklist\n\n");
++ log_action("Got SIGHUP! Dumping and resetting stats, reloading blocklist\n");
+ ll_log();
+ ll_clear(); // clear stats list
+ destroy_tree(); // clear loaded ranges
+@@ -332,17 +439,18 @@
+ loadlist_pg2(blocklist_info.filename);
+ break;
+ default:
+- fprintf(logfile,"Unknown blocklist type while reloading list, contact the developer!\n");
++ log_action("Unknown blocklist type while reloading list, contact the developer!\n");
+ break;
+ }
+ reopen_logfile();
+ break;
+ case SIGTERM:
+- fprintf(logfile,"Got SIGTERM! Dumping stats and exiting.\n");
++ log_action("Got SIGTERM! Dumping stats and exiting.\n");
+ ll_log();
+ exit(0);
+ default:
+- fprintf(logfile,"Received signal = %d but not handled\n",sig);
++ sprintf(msgbuf,"Received signal = %d but not handled\n",sig);
++ log_action(msgbuf);
+ break;
+ }
+ }
+@@ -378,7 +486,7 @@
+ {
+ int id=0, status=0;
+ struct nfqnl_msg_packet_hdr *ph;
+- char *payload;
++ char *payload, msgbuf[255];
+ recType tmprec;
+
+ ph = nfq_get_msg_packet_hdr(nfa);
+@@ -389,34 +497,78 @@
+ switch (ph->hook) {
+ case NF_IP_LOCAL_IN:
+ if ( find(ntohl(SRC_ADDR(payload)),&tmprec) == STATUS_OK ) {
++ // we drop the packet instead of rejecting
++ // we don't want the other host to know we are alive
+ status=nfq_set_verdict(qh, id, NF_DROP, 0, NULL);
+- fprintf(logfile,"Blocked IN: %s,hits: %d,SRC: %s\n",tmprec.blockname,tmprec.hits,ip2str(SRC_ADDR(payload)));
+- } else status = nfq_set_verdict(qh, id, NF_ACCEPT, 0, NULL);
++ sprintf(msgbuf,"Blocked IN: %s,hits: %d,SRC: %s\n",tmprec.blockname,tmprec.hits,ip2str(SRC_ADDR(payload)));
++ log_action(msgbuf);
++ }
++ else if ( unlikely(accept_mark) ) {
++ // we set the user-defined accept_mark and set NF_REPEAT verdict
++ // it's up to other iptables rules to decide what to do with this marked packet
++ status = nfq_set_verdict_mark(qh, id, NF_REPEAT, accept_mark, 0, NULL);
++ }
++ else {
++ // no accept_mark, just NF_ACCEPT the packet
++ status = nfq_set_verdict(qh, id, NF_ACCEPT, 0, NULL);
++ }
+ break;
+ case NF_IP_LOCAL_OUT:
+ if ( find(ntohl(DST_ADDR(payload)),&tmprec) == STATUS_OK ) {
+- status=nfq_set_verdict(qh, id, NF_DROP, 0, NULL);
+- fprintf(logfile,"Blocked OUT: %s,hits: %d,DST: %s\n",tmprec.blockname,tmprec.hits,ip2str(DST_ADDR(payload)));
+- } else status = nfq_set_verdict(qh, id, NF_ACCEPT, 0, NULL);
++ if ( likely(reject_mark) ) {
++ // we set the user-defined reject_mark and set NF_REPEAT verdict
++ // it's up to other iptables rules to decide what to do with this marked packet
++ status = nfq_set_verdict_mark(qh, id, NF_REPEAT, reject_mark, 0, NULL);
++ }
++ else {
++ status = nfq_set_verdict(qh, id, NF_DROP, 0, NULL);
++ }
++ sprintf(msgbuf,"Blocked OUT: %s,hits: %d,DST: %s\n",tmprec.blockname,tmprec.hits,ip2str(DST_ADDR(payload)));
++ log_action(msgbuf);
++ }
++ else if ( unlikely(accept_mark) ) {
++ // we set the user-defined accept_mark and set NF_REPEAT verdict
++ // it's up to other iptables rules to decide what to do with this marked packet
++ status = nfq_set_verdict_mark(qh, id, NF_REPEAT, accept_mark, 0, NULL);
++ }
++ else {
++ // no accept_mark, just NF_ACCEPT the packet
++ status = nfq_set_verdict(qh, id, NF_ACCEPT, 0, NULL);
++ }
+ break;
+ case NF_IP_FORWARD:
+ if ( find2(ntohl(SRC_ADDR(payload)), ntohl(DST_ADDR(payload)), &tmprec) == STATUS_OK ) {
+- status=nfq_set_verdict(qh, id, NF_DROP, 0, NULL);
+- fprintf(logfile,"Blocked FWD: %s,hits: %d,SRC: %s, DST: %s\n",
++ if ( likely(reject_mark) ) {
++ // we set the user-defined reject_mark and set NF_REPEAT verdict
++ // it's up to other iptables rules to decide what to do with this marked packet
++ status = nfq_set_verdict_mark(qh, id, NF_REPEAT, reject_mark, 0, NULL);
++ }
++ else {
++ status = nfq_set_verdict(qh, id, NF_DROP, 0, NULL);
++ }
++ sprintf(msgbuf,"Blocked FWD: %s,hits: %d,SRC: %s, DST: %s\n",
+ tmprec.blockname, tmprec.hits, ip2str(SRC_ADDR(payload)), ip2str(DST_ADDR(payload)));
+- fflush(logfile);
+- } else status = nfq_set_verdict(qh, id, NF_ACCEPT, 0, NULL);
++ log_action(msgbuf);
++ }
++ else if ( unlikely(accept_mark) ) {
++ // we set the user-defined accept_mark and set NF_REPEAT verdict
++ // it's up to other iptables rules to decide what to do with this marked packet
++ status = nfq_set_verdict_mark(qh, id, NF_REPEAT, accept_mark, 0, NULL);
++ }
++ else {
++ // no accept_mark, just NF_ACCEPT the packet
++ status = nfq_set_verdict(qh, id, NF_ACCEPT, 0, NULL);
++ }
+ break;
+ default:
+- fprintf(logfile,"Not NF_LOCAL_IN/OUT/FORWARD packet!\n");
++ log_action("Not NF_LOCAL_IN/OUT/FORWARD packet!\n");
+ break;
+ }
+ }
+ else {
+- fprintf(logfile,"NFQUEUE: can't get msg packet header.\n");
++ log_action("NFQUEUE: can't get msg packet header.\n");
+ return(1); // from nfqueue source: 0 = ok, >0 = soft error, <0 hard error
+ }
+- fflush(logfile);
+ return(0);
+ }
+ #endif
+@@ -492,46 +644,48 @@
+ struct nfq_q_handle *qh;
+ struct nfnl_handle *nh;
+ int fd,rv;
+- char buf[BUFSIZE];
++ char buf[BUFSIZE], msgbuf[255];
+
+ h = nfq_open();
+ if (!h) {
+- fprintf(logfile, "Error during nfq_open()\n");
++ log_action("Error during nfq_open()\n");
+ exit(-1);
+ }
+
+ if (nfq_unbind_pf(h, AF_INET) < 0) {
+- fprintf(logfile, "error during nfq_unbind_pf()\n");
+- exit(-1);
++ log_action("error during nfq_unbind_pf()\n");
++ //exit(-1);
+ }
+
+ if (nfq_bind_pf(h, AF_INET) < 0) {
+- fprintf(logfile, "Error during nfq_bind_pf()\n");
++ log_action("Error during nfq_bind_pf()\n");
+ exit(-1);
+ }
+
+- fprintf(logfile,"NFQUEUE: binding to queue '%hd'\n", queuenum);
++ sprintf(msgbuf,"NFQUEUE: binding to queue '%hd'\n", queuenum);
++ log_action(msgbuf);
+ qh = nfq_create_queue(h, queuenum, &nfqueue_cb, NULL);
+ if (!qh) {
+- fprintf(logfile, "error during nfq_create_queue()\n");
++ log_action("error during nfq_create_queue()\n");
+ exit(-1);
+ }
+
+ if (nfq_set_mode(qh, NFQNL_COPY_PACKET, PAYLOADSIZE) < 0) {
+- fprintf(logfile, "can't set packet_copy mode\n");
++ log_action("can't set packet_copy mode\n");
+ exit(-1);
+ }
+
+ nh = nfq_nfnlh(h);
+ fd = nfnl_fd(nh);
+
+- while ((rv = recv(fd, buf, sizeof(buf), 0)) && rv >= 0) {
++ while ((rv = recv(fd, buf, sizeof(buf), 0)) >= 0) {
+ nfq_handle_packet(h, buf, rv);
+ }
+
+- printf("NFQUEUE: unbinding from queue 0\n");
++ log_action("NFQUEUE: unbinding from queue 0\n");
+ nfq_destroy_queue(qh);
+ nfq_close(h);
++ nfq_unbind_pf(h, AF_INET);
+ return(0);
+ #endif
+
+@@ -540,11 +694,16 @@
+ void print_options(void)
+ {
+ printf("\nMoBlock %s by Morpheus",MB_VERSION);
+- printf("\nSyntax: MoBlock -dnp <blocklist> [-b] [-q 0-65535] <logfile>\n\n");
++ printf("\nSyntax: MoBlock -dnp <blocklist> [-q 0-65535] <logfile>\n\n");
+ printf("\t-d\tblocklist is an ipfilter.dat file\n");
+ printf("\t-n\tblocklist is a peerguardian 2.x file (.p2b)\n");
+ printf("\t-p\tblocklist is a peerguardian file (.p2p)\n");
+ printf("\t-q\t0-65535 NFQUEUE number (as specified in --queue-num with iptables)\n");
++ printf("\t-r MARK\tmark packet with MARK instead of DROP\n");
++ printf("\t-a MARK\tmark packet with MARK instead of ACCEPT\n");
++ printf("\t-l\tlog to stdout\n");
++ printf("\t-s\tlog to syslog\n");
++ printf("\t-t\tlog timestamping\n\n");
+ }
+
+ void on_quit()
+@@ -556,6 +715,7 @@
+ {
+ int ret=0;
+ unsigned short int queuenum=0;
++ char msgbuf[255];
+
+ if (argc < 3) {
+ print_options();
+@@ -591,10 +751,11 @@
+ }
+ logfile_name=malloc(strlen(argv[argc-1])+1);
+ strcpy(logfile_name,argv[argc-1]);
++ log2file = 1;
+ printf("* Logging to %s\n",logfile_name);
+
+ while (1) { //scan command line options
+- ret=getopt(argc, argv, "d:n:p:q:");
++ ret=getopt(argc, argv, "d:n:p:q:a:r:stl");
+ if ( ret == -1 ) break;
+
+ switch (ret) {
+@@ -619,6 +780,28 @@
+ case 'q':
+ queuenum=(unsigned short int)atoi(optarg);
+ break;
++ case 'r':
++ reject_mark=(u_int32_t)atoi(optarg);
++ printf("* DROP MARK: %d\n", reject_mark);
++ reject_mark=htonl(reject_mark);
++ break;
++ case 'a':
++ accept_mark=(u_int32_t)atoi(optarg);
++ printf("* ACCEPT MARK: %d\n", accept_mark);
++ accept_mark=htonl(accept_mark);
++ break;
++ case 's':
++ log2syslog = 1;
++ printf("* Logging to syslog\n");
++ break;
++ case 't':
++ timestamp = 1;
++ printf("* Log timestamp enabled\n");
++ break;
++ case 'l':
++ log2stdout = 1;
++ printf("* Log to stdout enabled\n");
++ break;
+ case '?': // unknown option
+ print_options();
+ exit(-1);
+@@ -626,10 +809,14 @@
+ }
+ }
+
+- printf("* Merged ranges: %d\n", merged_ranges);
+- fprintf(logfile, "Merged ranges: %d\n", merged_ranges);
+- printf("* Skipped useless ranges: %d\n", skipped_ranges);
+- fprintf(logfile,"Skipped useless ranges: %d\n", skipped_ranges);
++ sprintf(msgbuf, "* Merged ranges: %d\n", merged_ranges);
++ log_action(msgbuf);
++ if ( !log2stdout )
++ printf(msgbuf);
++ sprintf(msgbuf,"* Skipped useless ranges: %d\n", skipped_ranges);
++ log_action(msgbuf);
++ if ( !log2stdout )
++ printf(msgbuf);
+ fflush(NULL);
+
+ netlink_loop(queuenum);
+diff -Naur MoBlock-0.8_orig/README MoBlock-0.8/README
+--- MoBlock-0.8_orig/README 2006-03-22 12:44:31.000000000 -0500
++++ MoBlock-0.8/README 2007-11-22 08:10:44.000000000 -0500
+@@ -1,5 +1,5 @@
+
+-MoBlock README v0.8
++MoBlock README v0.9
+ http://moblock.berlios.de
+
+ .Introduction.
+@@ -47,6 +47,22 @@
+ ip_conntrack 40044 1 ipt_state
+ iptable_filter 2176 1
+ ip_tables 17600 3 ipt_NFQUEUE,ipt_state,iptable_filter
++
++ ...and these with kernel 2.6.23 using NFQUEUE interface:
++
++ nfnetlink_queue 9344 1
++ nfnetlink 4568 2 nfnetlink_queue
++ ipt_REJECT 3520 2
++ xt_mark 1600 2
++ nf_conntrack_ipv4 12424 5
++ iptable_filter 2308 1
++ ip_tables 10328 1 iptable_filter
++ xt_state 1984 5
++ nf_conntrack 48356 2 nf_conntrack_ipv4,xt_state
++ xt_NFQUEUE 1664 3
++ x_tables 11396 5 ipt_REJECT,xt_mark,ip_tables,xt_state,xt_NFQUEUE
++
++ (notice that ipt_NFQUEUE has changed to xt_NFQUEUE, same thing for other modules too)
+
+ 2) A valid guarding.p2p/ipfilter.dat/p2p.p2b host file in /etc ( /etc/guarding.p2p ).
+ MoBlock tries to skip malformed or duplicate ranges but
+@@ -140,8 +156,18 @@
+ To specify a NFQUEUE queue number:
+
+ ./moblock -p /etc/guarding.p2p -q 5 MoBlock.log
++
++ From version 0.9 MoBlock supports MARKing packets and RETURN them to
++ iptables, there's an example start script (MoBlock-nfq-reject.sh) that
++ uses this feature to REJECT packet instead of dropping them. It can help
++ in complex firewall configuration where you need more control of packets
++ flow after MoBlock inspection.
++ See the mentioned start script for reference, you can set the MARK value
++ for packets that MoBlock would drop (ip in list) with the "-r" command line
++ option and for packets that MoBlock would accept (ip not in list) with
++ the "-a" command line option.
+
+- To stop it:
++ To stop MoBlock:
+
+ kill -TERM <MoBlockPid>
+
+@@ -149,7 +175,7 @@
+ To obtain stats about blocked ranges while it's running:
+
+ kill -USR1 <MoBlockPid> # write stats to logfile
+- kill -USR2 <MoBlockPid> # write stats to /var/log/MoBlock.stats
++ kill -USR2 <MoBlockPid> # write stats to /var/log/MoBlock.stats
+
+ ** NEW: to reload the blocklist while MoBlock is running send to it the
+ HUP signal:
+@@ -168,7 +194,10 @@
+ took some code and ideas from his FTwall
+ - Andrew de Quincey (adq at lidskialf dot net) for regular expressions
+ and command line args patch
+-- Maximilian Mehnert (clessing at freenet dot de) for logfile rotation
++- clessing at freenet dot de for logfile rotation
+ patches, pid file creation, start script, fixes/files for debian packaging
++- David Walluck, patch for proper loading of p2b files
++- jre, for continuing clessing work on debian packaging and many other
++ contributions
+
+-Last Updated: 20/Mar/2006
++Last Updated: 15/Oct/2007
+diff -Naur MoBlock-0.8_orig/rbt.c MoBlock-0.8/rbt.c
+--- MoBlock-0.8_orig/rbt.c 2006-03-22 12:44:31.000000000 -0500
++++ MoBlock-0.8/rbt.c 2008-02-10 11:56:08.000000000 -0500
+@@ -19,7 +19,7 @@
+ #include <stdarg.h>
+ #include <time.h>
+
+-#define RBT_VERSION 0.8
++#define RBT_VERSION 0.9
+ #define BNAME_LEN 80
+
+ /* implementation dependend declarations */
+@@ -421,7 +421,7 @@
+
+ statusEnum insert(keyType key, recType *rec) {
+ nodeType *current, *parent, *x;
+- keyType tmpkey;
++ //keyType tmpkey;
+ recType tmprec;
+ int ret;
+
+@@ -433,6 +433,23 @@
+ current = root;
+ parent = 0;
+ while (current != NIL) {
++ if (compEQ2(current->key, key, rec->ipmax)) { // current node key is inside new range to be inserted
++ strcpy(tmprec.blockname, rec->blockname); // block name from new range
++ if (compLT(current->rec.ipmax, rec->ipmax))
++ tmprec.ipmax = rec->ipmax;
++ else tmprec.ipmax = current->rec.ipmax;
++ tmprec.hits = 0;
++ //printf("deleting node :%lu\n", current->key);
++ ret=delete(current->key);
++ if ( ret != STATUS_OK )
++ return(ret);
++ ret=insert(key, &tmprec);
++ if ( ret == STATUS_OK ) {
++ printf("new merge\n");
++ return(STATUS_MERGED);
++ }
++ else return(ret);
++ }
+ if (compEQ(key, current->key)) {
+ if ( rec->ipmax > current->rec.ipmax ) {
+ current->rec.ipmax=rec->ipmax;
+@@ -458,7 +475,7 @@
+ }
+ }
+ //check if higher ip (ipmax) is already in a range
+- if (compEQ2(rec->ipmax,current->key,current->rec.ipmax)) {
++ /*if (compEQ2(rec->ipmax,current->key,current->rec.ipmax)) {
+ fprintf(logfile,"higher ip in range\n");
+ tmpkey=key;
+ strcpy(tmprec.blockname,current->rec.blockname);
+@@ -470,7 +487,7 @@
+ if ( ret == STATUS_OK )
+ return(STATUS_MERGED);
+ else return(ret);
+- }
++ }*/
+ parent = current;
+ current = compLT(key, current->key) ?
+ current->left : current->right;
+@@ -495,7 +512,7 @@
+ } else {
+ root = x;
+ }
+-
++ //printf("new node, key: %lu, parent: %lu\n", x->key, parent ? parent->key : 0);
+ insertFixup(x);
+ lastFind = NULL;
+
diff --git a/abs/extra/community/moblock/moblock_include.patch b/abs/extra/community/moblock/moblock_include.patch
new file mode 100644
index 0000000..644e824
--- /dev/null
+++ b/abs/extra/community/moblock/moblock_include.patch
@@ -0,0 +1,10 @@
+--- MoBlock-0.8/MoBlock.c.orig 2008-08-15 14:41:49.000000000 -0400
++++ MoBlock-0.8/MoBlock.c 2008-08-15 14:43:45.000000000 -0400
+@@ -32,6 +32,7 @@
+ #include <netinet/udp.h>
+ #include <sys/socket.h>
+ #include <arpa/inet.h>
++#include <limits.h>
+ #include <linux/netfilter_ipv4.h>
+ #include <signal.h>
+ #include <regex.h>
diff --git a/abs/extra/community/moblockcontrol/PKGBUILD b/abs/extra/community/moblockcontrol/PKGBUILD
new file mode 100644
index 0000000..5a912e2
--- /dev/null
+++ b/abs/extra/community/moblockcontrol/PKGBUILD
@@ -0,0 +1,42 @@
+# Contributor: marinz <marinz@email.it>
+
+pkgname=moblockcontrol
+pkgver=1.0
+pkgrel=10
+pkgdesc="moblock-control"
+arch=('i686' 'x86_64')
+url="http://moblock-deb.sourceforge.net/"
+license=('GPL')
+groups=()
+depends=('moblock')
+makedepends=()
+install=moblockcontrol.install
+source=(http://download.sourceforge.net/moblock-deb/moblock-control-1.0.tar.gz \
+ moblock_control.patch moblock-control-update.sh)
+md5sums=('1399e5465028e116e941cd1e01f6f7fc'
+ 'dc269c6c47bc423b9093919d52e97d63')
+backup=('etc/moblock/moblock.conf' 'etc/moblock/blocklists.list')
+
+build() {
+
+ cd $startdir/src/moblock-control-1.0
+
+ patch -Np1 -i ../moblock_control.patch || return 1
+
+ install -d ${pkgdir}/usr/bin ${pkgdir}/etc/moblock ${pkgdir}/etc/default ${pkgdir}/var/spool/moblock/user ${pkgdir}/lib/lsb ${pkgdir}/var/log
+ install -m 755 moblock-control ${pkgdir}/usr/bin/moblock-control
+ install -m 755 blocklists.list ${pkgdir}/etc/moblock/blocklists.list
+ install -m 755 moblock.conf ${pkgdir}/etc/moblock/moblock.conf
+ install -m 755 moblock.default ${pkgdir}/etc/default/moblock
+ install -m 755 init-functions ${pkgdir}/lib/lsb/init-functions
+ install -m 755 iptables-custom-insert.sh ${pkgdir}/etc/iptables-custom-insert.sh
+ install -m 755 iptables-custom-remove.sh ${pkgdir}/etc/iptables-custom-remove.sh
+
+ touch ${pkgdir}/var/log/moblock-control.log
+ touch ${pkgdir}/etc/moblock/guarding.p2p
+
+ cd $startdir/src
+ install -m 755 moblock-control-update.sh ${pkgdir}/usr/bin/moblock-control-update.sh
+ sed -i "s/config\/templist.gz/config\/badpeers.gz/" $startdir/pkg/etc/moblock/blocklists.list
+}
+
diff --git a/abs/extra/community/moblockcontrol/moblock-control-update.sh b/abs/extra/community/moblockcontrol/moblock-control-update.sh
new file mode 100644
index 0000000..8da564d
--- /dev/null
+++ b/abs/extra/community/moblockcontrol/moblock-control-update.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+. /etc/profile
+/usr/bin/moblock-control update
diff --git a/abs/extra/community/moblockcontrol/moblock_control.patch b/abs/extra/community/moblockcontrol/moblock_control.patch
new file mode 100644
index 0000000..db6bbf9
--- /dev/null
+++ b/abs/extra/community/moblockcontrol/moblock_control.patch
@@ -0,0 +1,11 @@
+--- moblockcontrol/moblock-control_2 2008-09-25 23:22:39.000000000 +0200
++++ moblockcontrol/moblock-control 2008-12-28 09:33:51.000000000 +0100
+@@ -954,7 +954,7 @@
+ else
+ # The options Moblock is started with
+ # The same like above, but with a "&" to start moblock in the background
+- DAEMON_OPTS="-$BLOCKLIST_FORMAT $BLOCKLIST $NFQUEUE_NUMBER_OPT $LOG_SYSLOG_OPT $LOG_TIMESTAMP_OPT -r $REJECT_MARK -a $ACCEPT_MARK $DAEMON_LOG &"
++ DAEMON_OPTS="-$BLOCKLIST_FORMAT $BLOCKLIST $NFQUEUE_NUMBER_OPT $LOG_SYSLOG_OPT $DAEMON_LOG & "
+ # Start MoBlock
+ start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS # The init-functions provided with moblock-control depend on this syntax!
+ fi
diff --git a/abs/extra/community/moblockcontrol/moblockcontrol.install b/abs/extra/community/moblockcontrol/moblockcontrol.install
new file mode 100644
index 0000000..439a3ee
--- /dev/null
+++ b/abs/extra/community/moblockcontrol/moblockcontrol.install
@@ -0,0 +1,28 @@
+post_install() {
+ if [ ! -d /var/spool/moblock/used ]
+ then
+ mkdir -p /var/spool/moblock/used
+ fi
+
+ if [ ! -e /etc/cron.daily/moblock-control-update.sh ]
+ then
+ ln -s /usr/bin/moblock-control-update.sh /etc/cron.daily/moblock-control-update.sh
+ fi
+}
+
+post_upgrade() {
+ if [ ! -d /var/spool/moblock/used ]
+ then
+ mkdir -p /var/spool/moblock/used
+ fi
+
+ if [ ! -e /etc/cron.daily/moblock-control-update.sh ]
+ then
+ ln -s /usr/bin/moblock-control-update.sh /etc/cron.daily/moblock-control-update.sh
+ fi
+}
+
+op=$1
+shift
+$op $*
+
diff --git a/abs/extra/community/mobloquer/PKGBUILD b/abs/extra/community/mobloquer/PKGBUILD
new file mode 100644
index 0000000..eecdb4a
--- /dev/null
+++ b/abs/extra/community/mobloquer/PKGBUILD
@@ -0,0 +1,26 @@
+# Contributor: marinz <marinz@email.it>
+
+pkgname=mobloquer
+pkgver=0.5
+pkgrel=5
+pkgdesc="A graphical front end for moblock"
+arch=('i686' 'x86_64')
+url="http://mobloquer.foutrelis.com/"
+license=('GPL')
+depends=('qt' 'moblockcontrol')
+source=(http://download.sourceforge.net/mobloquer/$pkgname-$pkgver.tar.gz)
+md5sums=('2adb03d170fa0e9a7ffcc9dac8d71bf5')
+
+build() {
+
+ cd $startdir/src/$pkgname
+
+ qmake
+ make || return 1
+
+ install -d ${pkgdir}/usr/share/applications ${pkgdir}/usr/bin
+ install -m 755 -p $startdir/src/mobloquer/images/mobloquer.png $startdir/pkg/usr/share/pixmaps/
+ install -m 644 -p $startdir/src/mobloquer/other/Mobloquer.desktop $startdir/pkg/usr/share/applications/
+ install -m 755 -p $startdir/src/mobloquer/mobloquer $startdir/pkg/usr/bin/mobloquer
+}
+
diff --git a/abs/extra/community/motion-svn/PKGBUILD b/abs/extra/community/motion-svn/PKGBUILD
new file mode 100644
index 0000000..dcbd162
--- /dev/null
+++ b/abs/extra/community/motion-svn/PKGBUILD
@@ -0,0 +1,42 @@
+# Contributor: Demind <demind@gmail.com>
+pkgname=motion-svn
+pkgver=1
+pkgrel=1
+pkgdesc="Motion is a software motion detector. It grabs images from video4linux devices and/or from webcams."
+arch=('i686' 'x86_64')
+url="http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome"
+license=('GPL2')
+depends=('zlib' 'libjpeg')
+makedepends=('subversion')
+provides=('motion')
+conflicts=('motion')
+install="motion-svn.install"
+source=('rc.motion')
+md5sums=('fc09828564850824f8549d258053e0b6')
+
+_svntrunk=http://www.lavrsen.dk/svn/motion/trunk/
+_svnmod=motion
+
+build() {
+ cd $startdir/src
+
+ msg "Retrieving sources"
+ svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+
+ [ -d ./$_svnmod-build ] && rm -fr ./$_svnmod-build
+ cp -r ./$_svnmod ./$_svnmod-build
+ cd ./$_svnmod-build
+
+ msg "SVN checkout done or server timeout"
+ msg "Starting build"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc
+
+ make || return 1
+ make DESTDIR=$startdir/pkg/ install || return 1
+ install -D -m755 $startdir/src/rc.motion $startdir/pkg/etc/rc.d/motion
+ rm -rf $startdir/src/$_svnmod-build
+}
+
diff --git a/abs/extra/community/motion-svn/motion-svn.install b/abs/extra/community/motion-svn/motion-svn.install
new file mode 100644
index 0000000..f88a2fc
--- /dev/null
+++ b/abs/extra/community/motion-svn/motion-svn.install
@@ -0,0 +1,11 @@
+# arg 1: the new package version
+post_install() {
+ echo ""
+ echo ">>> An example configuration has been saved to /etc/motion-dispatch.conf"
+}
+
+op=$1
+shift
+[ "$(type -t "$op")" = "function" ] && $op "$@"
+
+# vim:set ts=2 et:
diff --git a/abs/extra/community/motion-svn/rc.motion b/abs/extra/community/motion-svn/rc.motion
new file mode 100644
index 0000000..7dd027c
--- /dev/null
+++ b/abs/extra/community/motion-svn/rc.motion
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/motion`
+case "$1" in
+ start)
+ stat_busy "Starting Motion"
+ [ -z "$PID" ] && /usr/bin/motion
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon motion
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Motion"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon motion
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/extra/community/mozplugger/ChangeLog b/abs/extra/community/mozplugger/ChangeLog
new file mode 100644
index 0000000..048d061
--- /dev/null
+++ b/abs/extra/community/mozplugger/ChangeLog
@@ -0,0 +1,7 @@
+2008-12-07 Allan McRae <allan@archlinux.org>
+ * mozplugger 1.12.0-1
+ * upstream update
+
+2008-01-14 JJDaNiMoTh <jjdanimoth.aur@gmail.com>
+ * Version bump to 1.10.1
+ * Added mozplugger.install
diff --git a/abs/extra/community/mozplugger/PKGBUILD b/abs/extra/community/mozplugger/PKGBUILD
new file mode 100644
index 0000000..b2fdbcd
--- /dev/null
+++ b/abs/extra/community/mozplugger/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD,v 1.14 2008/12/07 05:27:24 allan Exp $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Todd Musall <tmusall@comcast.net>
+
+pkgname=mozplugger
+pkgver=1.12.0
+pkgrel=1
+pkgdesc="A Mozilla & Firefox multimedia plugin."
+arch=('i686' 'x86_64')
+url="http://mozplugger.mozdev.org"
+license="GPL"
+depends=('libx11')
+backup=(etc/mozpluggerrc)
+source=(http://$pkgname.mozdev.org/files/$pkgname-$pkgver.tar.gz)
+md5sums=('6d4dd7b1c577f625c9d664532389d6db')
+install=$pkgname.install
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make linux || return 1
+ install -Dm755 mozplugger.so $pkgdir/usr/lib/mozilla/plugins/mozplugger.so
+ install -Dm644 mozpluggerrc $pkgdir/etc/mozpluggerrc
+ install -Dm755 mozplugger-helper $pkgdir/usr/bin/mozplugger-helper
+ install -Dm755 mozplugger-controller $pkgdir/usr/bin/mozplugger-controller
+ install -Dm644 mozplugger.7 $pkgdir/usr/share/man/man7/mozplugger.7
+}
diff --git a/abs/extra/community/mozplugger/mozplugger.install b/abs/extra/community/mozplugger/mozplugger.install
new file mode 100644
index 0000000..1a08b9d
--- /dev/null
+++ b/abs/extra/community/mozplugger/mozplugger.install
@@ -0,0 +1,15 @@
+post_install() {
+ echo -en "
+==> You may need to delete your local $HOME/.mozilla/firefox/pluginreg.dat
+==> file for mozplugger to be enabled correctly after you update it.
+==> (It will get regenerated).
+==> To add more helpers, edit /etc/mozpluggerrc.
+==> The window name can be obtained using the utility xprop(1x).
+==> Type "xprop WM_CLASS" and click on a window.\n"
+}
+
+post_upgrade() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/community/mpc/ChangeLog b/abs/extra/community/mpc/ChangeLog
new file mode 100644
index 0000000..b645e19
--- /dev/null
+++ b/abs/extra/community/mpc/ChangeLog
@@ -0,0 +1,15 @@
+2009-03-11 Alexander Fehr <pizzapunk gmail com>
+
+ * mpc-0.15-1:
+ New upstream release.
+ Changed license to GPL2.
+
+2008-12-22 Alexander Fehr <pizzapunk gmail com>
+
+ * mpc-0.14-1:
+ New upstream release.
+ New maintainer.
+ Changed url.
+ Added !emptydirs option.
+ Changed download location to downloads.sourceforge.net.
+ Added ChangeLog.
diff --git a/abs/extra/community/mpc/PKGBUILD b/abs/extra/community/mpc/PKGBUILD
new file mode 100644
index 0000000..345a2d6
--- /dev/null
+++ b/abs/extra/community/mpc/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 33671 2009-04-04 15:49:53Z alexanderf $
+# Maintainer: Alexander Fehr <pizzapunk gmail com>
+# Contributor: Link Dupont <link@subpop.net>
+
+pkgname=mpc
+pkgver=0.15
+pkgrel=1
+pkgdesc="Minimalist command line interface to MPD"
+arch=('i686' 'x86_64')
+url="http://mpd.wikia.com/wiki/Client:Mpc"
+license=('GPL2')
+depends=('glibc')
+options=('!emptydirs')
+source=(http://downloads.sourceforge.net/musicpd/mpc-$pkgver.tar.bz2)
+md5sums=('48897aeb3a7ee5c64f30e56789f105a8')
+
+build() {
+ cd "$srcdir/mpc-$pkgver"
+
+ ./configure --prefix=/usr || return 1
+ make || return 1
+ make DESTDIR="$pkgdir" install || return 1
+
+ # Install bash completion file
+ install -D -m644 doc/mpc-bashrc "$pkgdir/etc/bash_completion.d/mpc" || return 1
+}
diff --git a/abs/extra/community/mpd/PKGBUILD b/abs/extra/community/mpd/PKGBUILD
new file mode 100644
index 0000000..75a79ee
--- /dev/null
+++ b/abs/extra/community/mpd/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 27462 2009-02-22 02:31:36Z eric $
+# Maintainer: Damir Perisa <damir.perisa@bluewin.ch>
+# Contributor: Ben <ben@benmazer.net>
+
+pkgname=mpd
+pkgver=0.15.3
+pkgrel=1
+pkgdesc="Music daemon that plays MP3, FLAC, and Ogg Vorbis files"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://musicpd.org"
+depends=('libid3tag' 'libmad' 'flac>=1.1.3' 'audiofile' 'faad2>=2.6' 'libmikmod'
+ 'alsa-lib' 'libshout' 'libmpcdec>=1.2.5' 'libsamplerate' 'libao' 'ffmpeg'
+ 'wavpack' 'glib2' 'curl')
+install=mpd.install
+source=(http://downloads.sourceforge.net/musicpd/${pkgname}-${pkgver}.tar.gz
+ 'mpd')
+md5sums=('43e854e7f46ac87bb1f1a7247ae4b902'
+ 'b1fd15de359db08e4b9ae4b199640f0e')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-jack \
+ --enable-ao --enable-mod \
+ --with-zeroconf=no
+ make || return 1
+ make DESTDIR=${pkgdir} install
+
+ # set ours dirs in mpd.conf file
+ sed -i 's|music_directory.*$|#music_directory "path_to_your_music_collection"|1' doc/mpdconf.example
+ sed -i 's|playlist_directory.*$|playlist_directory "/var/lib/mpd/playlists"|1' doc/mpdconf.example
+ sed -i 's|db_file.*$|db_file "/var/lib/mpd/mpd.db"|1' doc/mpdconf.example
+ sed -i 's|log_file.*$|log_file "/var/log/mpd/mpd.log"|1' doc/mpdconf.example
+ sed -i 's|error_file.*$|error_file "/var/log/mpd/mpd.error"|1' doc/mpdconf.example
+ sed -i 's|#pid_file.*$|pid_file "/var/run/mpd/mpd.pid"|1' doc/mpdconf.example
+ sed -i 's|#state_file.*$|state_file "/var/lib/mpd/mpdstate"|1' doc/mpdconf.example
+ sed -i 's|#user.*$|user "mpd"|1' doc/mpdconf.example
+
+ install -Dm644 doc/mpdconf.example ${pkgdir}/etc/mpd.conf.example || return 1
+
+ install -D ${srcdir}/mpd ${pkgdir}/etc/rc.d/mpd || return 1
+ install -d ${pkgdir}/var/lib/mpd/playlists ${pkgdir}/var/log/mpd ${pkgdir}/var/run/mpd
+}
diff --git a/abs/extra/community/mpd/mpd b/abs/extra/community/mpd/mpd
new file mode 100755
index 0000000..76ec1c0
--- /dev/null
+++ b/abs/extra/community/mpd/mpd
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting Music Player Daemon"
+ /usr/bin/mpd /etc/mpd.conf &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon mpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Music Player Daemon"
+ /usr/bin/mpd --kill /etc/mpd.conf &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon mpd
+ stat_done
+ fi
+ ;;
+ create-db)
+ stat_busy "Creating mpd's database ..."
+ logpath="/var/log/mpd/mpd.db-creation"
+ /usr/bin/mpd --create-db /etc/mpd.conf > $logpath \
+ && stat_busy "Output written to $logpath"
+ stat_done
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|create-db}"
+esac
+exit 0
diff --git a/abs/extra/community/mpd/mpd.install b/abs/extra/community/mpd/mpd.install
new file mode 100644
index 0000000..e44c9be
--- /dev/null
+++ b/abs/extra/community/mpd/mpd.install
@@ -0,0 +1,23 @@
+# arg 1: the new package version
+post_install() {
+ echo "==> mpd: Create a config under /etc/mpd.conf before using MPD (Example: /etc/mpd.conf.example)"
+ groupadd -g 45 mpd &>/dev/null
+ useradd -u 45 -g mpd -d /var/lib/mpd -s /bin/true mpd &>/dev/null
+ gpasswd -a mpd audio &>/dev/null
+ chown mpd:mpd -R /var/{lib,log,run}/mpd
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 0.12)" -lt 0 ]; then
+ echo "==> mpd: upgrade from 0.11 -> 0.12: configuration file syntax changed, "
+ echo "==> mpd: make sure to update your configuration file! example conf: /etc/mpd.conf.example"
+ fi
+ chown mpd:mpd -R /var/{lib,log,run}/mpd
+}
+
+# arg 1: the old package version
+pre_remove() {
+ userdel mpd &>/dev/null
+}
diff --git a/abs/extra/community/mythpywii/PKGBUILD b/abs/extra/community/mythpywii/PKGBUILD
new file mode 100644
index 0000000..4b57c77
--- /dev/null
+++ b/abs/extra/community/mythpywii/PKGBUILD
@@ -0,0 +1,18 @@
+# $Id: PKGBUILD 5936 2008-07-21 20:24:16Z thomas $
+# Maintainer: Cecil Watson<knoppmyth@gmail.com>
+
+pkgname=mythpywii
+pkgver=1
+pkgrel=1
+pkgdesc="Control MythTV using Wiimote."
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://www.benjiegillam.com/"
+depends=('bluez' 'python-pybluez' 'cwiid-svn')
+#install=mythpywii.install
+source=(http://www.benjiegillam.com/code/myth_py_wii.py)
+
+build() {
+ mkdir -p $startdir/pkg/usr/bin
+ install -D -m 755 myth_py_wii.py $startdir/pkg/usr/bin
+}
diff --git a/abs/extra/community/mythtv-vdpau/2.6.28_dvb_api_version.diff b/abs/extra/community/mythtv-vdpau/2.6.28_dvb_api_version.diff
new file mode 100644
index 0000000..0116023
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/2.6.28_dvb_api_version.diff
@@ -0,0 +1,22 @@
+Index: libs/libmythtv/dvbtypes.h
+===================================================================
+--- libs/libmythtv/dvbtypes.h (revision 19792)
++++ libs/libmythtv/dvbtypes.h (working copy)
+@@ -19,7 +19,7 @@
+ #include <linux/dvb/frontend.h>
+ #include <linux/dvb/dmx.h>
+
+-#if (DVB_API_VERSION != 3)
++#if (DVB_API_VERSION != 3 && DVB_API_VERSION != 5)
+ # error "DVB driver includes with API version 3 not found!"
+ #endif
+
+@@ -27,7 +27,7 @@
+ # define DVB_API_VERSION_MINOR 0
+ #endif
+
+-#if (DVB_API_VERSION >= 3 && DVB_API_VERSION_MINOR >= 1)
++#if ((DVB_API_VERSION == 3 && DVB_API_VERSION_MINOR >= 1) || DVB_API_VERSION == 5)
+ # define USE_ATSC
+ #else
+ #warning DVB API version < 3.1
diff --git a/abs/extra/community/mythtv-vdpau/PKGBUILD b/abs/extra/community/mythtv-vdpau/PKGBUILD
new file mode 100644
index 0000000..9c293e2
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/PKGBUILD
@@ -0,0 +1,102 @@
+pkgname=mythtv-vdpau
+pkgver=0.21
+pkgrel=23
+pkgdesc="A Homebrew PVR project"
+arch=('i686' 'x86_64')
+depends=('bash' 'mysql-clients>=5.0' 'qt3' 'lame' 'lirc-utils' 'ffmpeg' \
+ 'libxvmc' 'libavc1394' 'libdc1394' 'libiec61883' 'nvidia>=180.29' \
+ 'perl-net-upnp')
+backup=(etc/mythtv/mythbackend.conf etc/mythtv/mysql.txt usr/share/mythtv/is.xml usr/share/mythtv/media_settings.xml)
+source=(ftp://ftp.knoppmyth.net/R6/sources/mythtv-${pkgver}-fixes.tar.bz2 \
+ mythbackend myththemedmenu.cpp.patch myththemedmenu.h.patch \
+ smolt_jump.patch pretty \
+ http://www.avenard.org/files/media/vdpau/mythtv-fixes-glvdpau20549.patch.gz mpegpspatch mythbackend.lr mythfrontend.lr)
+
+#md5sums=('e316ed18d7ac837cf8c4af54b1478793' '7ef6de58240e7aad389a0b13d91b1cf6'\
+# 'a0ecb7f476cb71c0c1ac90d349fc7695')
+conflicts=('mythtv')
+provides=('mythtv'=${pkgver})
+license=('GPL2')
+makedepends=(libgl subversion 'nvidia-utils>=180.29' python perl)
+groups=('pvr')
+options=(!strip)
+url="http://www.mythtv.org/"
+install=mythtv.install
+
+build() {
+ cd $startdir/src/mythtv-${pkgver} || return 1
+ svn update
+
+#apply patches
+ patch -p0 < ../myththemedmenu.cpp.patch
+ patch -p0 < ../myththemedmenu.h.patch
+# patch -p0 < ../pop_be_restart.h.patch
+# patch -p0 < ../pop_be_restart.cpp.patch
+ patch -p0 < ../smolt_jump.patch
+# patch -p0 < ../2.6.28_dvb_api_version.diff
+ patch -p1 < ../mythtv-fixes-glvdpau20549.patch
+ cd libs/libavformat
+ patch -p0 < $startdir/src/mpegpspatch
+ cd -
+
+ . /etc/profile.d/qt3.sh
+
+ # use QT3 qmake
+ export PATH=$QTDIR/bin:$PATH
+ [ "$CARCH" = "i686" ] && ARCH="i686"
+ [ "$CARCH" = "x86_64" ] && ARCH="x86-64"
+
+ ./configure --prefix=/usr --cpu=${ARCH} --enable-mmx --enable-audio-oss \
+ --enable-audio-alsa --enable-dvb --enable-lirc --enable-joystick-menu \
+ --enable-firewire --enable-v4l --enable-ivtv --enable-dvb \
+ --dvb-path=/usr/include --enable-xvmc --disable-ffmpeg \
+ --enable-xvmc-pro --enable-xvmc-vld --enable-opengl-vsync \
+ --disable-audio-jack --disable-audio-arts --disable-directfb \
+ --enable-vdpau --enable-opengl-video --compile-type=debug || return 1
+
+ # build
+ #needs the subversion program
+ pkgversubversion=`svnversion`
+ echo $pkgversubversion
+ sed -i -e "s/\`(svnversion \$\${SVNTREEDIR} 2>\/dev\/null) || echo Unknown\`/$pkgversubversion/" version.pro
+
+
+# qmake mythtv.pro || return 1
+# make qmake || return 1
+ make || return 1
+
+ # basic install
+ make INSTALL_ROOT=$startdir/pkg install || return 1
+
+ # install db schema
+ install -m0644 database/mc.sql $startdir/pkg/usr/share/mythtv/ \
+ || return 1
+ install -D -m0755 ../mythbackend $startdir/pkg/etc/rc.d/mythbackend \
+ || return 1
+ cp -r docs $startdir/pkg/usr/share/mythtv/ || return 1
+ # cp ../QUICKSTART.archlinux $startdir/pkg/usr/share/mythtv/ \
+# || return 1
+
+ # install contrib
+ mkdir -p $startdir/pkg/usr/share/mythtv/contrib || return 1
+ install -m0755 contrib/* $startdir/pkg/usr/share/mythtv/contrib
+
+ # set suid on mythfrontend
+ #chmod a+s $startdir/pkg/usr/bin/mythfrontend
+
+#Patch the xml LinHES style
+ cp -r $startdir/menu-xml/*.xml $startdir/pkg/usr/share/mythtv
+ cd $startdir/pkg/usr/share/mythtv
+ patch -p0 < $startdir/menu-xml/mainmenu.xml.patch
+ patch -p0 < $startdir/menu-xml/optical_menu.xml.patch
+ patch -p0 < $startdir/menu-xml/library.xml.patch
+ patch -p0 < $startdir/menu-xml/util_menu.xml.patch
+
+#Make log dir
+ mkdir -p $startdir/pkg/var/log/mythtv
+ chown 1000.1000 $startdir/pkg/var/log/mythtv
+ mkdir -p $startdir/pkg/etc/cron.hourly
+ install -m0755 $startdir/src/pretty $startdir/pkg/etc/cron.hourly/
+ mkdir -p $startdir/pkg/etc/logrotate.d
+ cp $startdir/src/*.lr $startdir/pkg/etc/logrotate.d
+}
diff --git a/abs/extra/community/mythtv-vdpau/PKGBUILD.orig b/abs/extra/community/mythtv-vdpau/PKGBUILD.orig
new file mode 100644
index 0000000..9299fa1
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/PKGBUILD.orig
@@ -0,0 +1,102 @@
+pkgname=mythtv-vdpau
+pkgver=0.21
+pkgrel=19
+pkgdesc="A Homebrew PVR project"
+arch=('i686' 'x86_64')
+depends=('bash' 'mysql-clients>=5.0' 'qt3' 'lame' 'lirc-utils' 'ffmpeg' \
+ 'libxvmc' 'libavc1394' 'libdc1394' 'libiec61883' 'nvidia>=180.29' \
+ 'perl-net-upnp')
+backup=(etc/mythtv/mythbackend.conf etc/mythtv/mysql.txt usr/share/mythtv/is.xml usr/share/mythtv/media_settings.xml)
+source=(ftp://ftp.knoppmyth.net/R6/sources/mythtv-${pkgver}-fixes.tar.bz2 \
+ mythbackend myththemedmenu.cpp.patch myththemedmenu.h.patch \
+ smolt_jump.patch pretty \
+ http://www.avenard.org/files/media/vdpau/mythtv-fixes-glvdpau20462.patch.gz mpegpspatch mythbackend.lr mythfrontend.lr)
+
+#md5sums=('e316ed18d7ac837cf8c4af54b1478793' '7ef6de58240e7aad389a0b13d91b1cf6'\
+# 'a0ecb7f476cb71c0c1ac90d349fc7695')
+conflicts=('mythtv')
+provides=('mythtv'=${pkgver})
+license=('GPL2')
+makedepends=(libgl subversion 'nvidia-utils>=180.29' python perl)
+groups=('pvr')
+url="http://www.mythtv.org/"
+install=mythtv.install
+
+build() {
+ cd $startdir/src/mythtv-${pkgver} || return 1
+ svn update
+
+#apply patches
+ patch -p0 < ../myththemedmenu.cpp.patch
+ patch -p0 < ../myththemedmenu.h.patch
+# patch -p0 < ../pop_be_restart.h.patch
+# patch -p0 < ../pop_be_restart.cpp.patch
+ patch -p0 < ../smolt_jump.patch
+# patch -p0 < ../2.6.28_dvb_api_version.diff
+ patch -p1 < ../mythtv-fixes-glvdpau20462.patch
+ cd libs/libavformat
+ patch -p0 < $startdir/src/mpegpspatch
+ cd -
+
+ . /etc/profile.d/qt3.sh
+
+ # use QT3 qmake
+ export PATH=$QTDIR/bin:$PATH
+ [ "$CARCH" = "i686" ] && ARCH="i686"
+ [ "$CARCH" = "x86_64" ] && ARCH="x86-64"
+
+ ./configure --prefix=/usr --cpu=${ARCH} --enable-mmx --enable-audio-oss \
+ --enable-audio-alsa --enable-dvb --enable-lirc --enable-joystick-menu \
+ --disable-firewire --enable-v4l --enable-ivtv --enable-dvb \
+ --dvb-path=/usr/include --enable-xvmc --disable-ffmpeg \
+ --enable-xvmc-pro --enable-xvmc-vld --enable-opengl-vsync \
+ --disable-audio-jack --disable-audio-arts --disable-directfb \
+ --enable-vdpau --enable-opengl-video --enable-ffmpeg-pthreads \
+ --enable-glx-procaddrarb || return 1
+
+ # build
+ #needs the subversion program
+ pkgversubversion=`svnversion`
+ echo $pkgversubversion
+ sed -i -e "s/\`(svnversion \$\${SVNTREEDIR} 2>\/dev\/null) || echo Unknown\`/$pkgversubversion/" version.pro
+
+
+# qmake mythtv.pro || return 1
+# make qmake || return 1
+ make || return 1
+
+ # basic install
+ make INSTALL_ROOT=$startdir/pkg install || return 1
+
+ # install db schema
+ install -m0644 database/mc.sql $startdir/pkg/usr/share/mythtv/ \
+ || return 1
+ install -D -m0755 ../mythbackend $startdir/pkg/etc/rc.d/mythbackend \
+ || return 1
+ cp -r docs $startdir/pkg/usr/share/mythtv/ || return 1
+ # cp ../QUICKSTART.archlinux $startdir/pkg/usr/share/mythtv/ \
+# || return 1
+
+ # install contrib
+ mkdir -p $startdir/pkg/usr/share/mythtv/contrib || return 1
+ install -m0755 contrib/* $startdir/pkg/usr/share/mythtv/contrib
+
+ # set suid on mythfrontend
+ #chmod a+s $startdir/pkg/usr/bin/mythfrontend
+
+#Patch the xml LinHES style
+ cp -r $startdir/menu-xml/*.xml $startdir/pkg/usr/share/mythtv
+ cd $startdir/pkg/usr/share/mythtv
+ patch -p0 < $startdir/menu-xml/mainmenu.xml.patch
+ patch -p0 < $startdir/menu-xml/optical_menu.xml.patch
+ patch -p0 < $startdir/menu-xml/library.xml.patch
+ patch -p0 < $startdir/menu-xml/util_menu.xml.patch
+
+#Make log dir
+ mkdir -p $startdir/pkg/var/log/mythtv
+ chown 1000.1000 $startdir/pkg/var/log/mythtv
+ mkdir -p $startdir/pkg/etc/cron.hourly
+ install -m0755 $startdir/src/pretty $startdir/pkg/etc/cron.hourly/
+ mkdir -p $startdir/pkg/etc/logrotate.d
+ cp $startdir/src/*.lr $startdir/pkg/etc/logrotate.d
+}
diff --git a/abs/extra/community/mythtv-vdpau/QUICKSTART.archlinux b/abs/extra/community/mythtv-vdpau/QUICKSTART.archlinux
new file mode 100644
index 0000000..310705c
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/QUICKSTART.archlinux
@@ -0,0 +1,69 @@
+MythTV QUICKSTART
+=================
+This Arch Linux package provides a generic MythTV installation. It
+requires extensive user configuration. This is a skeletal document, and
+more extensive information is available in /usr/share/mythtv/docs.
+
+MythTV is split into a backend and a frontend. The backend records
+television programming, keeps up with scheduling, does commercial
+flagging, transcoding, and other such jobs. The frontend provides a
+pretty GUI which allows playback and edition of the recorded programs.
+It also provides a means to schedule recordings. There are a number of
+plugins available for MythTV, and most of the official ones are
+available as Arch packages. There are two configurations; the backend
+and frontend can be on the same machine, or on two different machines on
+the same network.
+
+Backend Configuration
+---------------------
+MythTV keeps the majority of its settings and program information in a
+mysql database. Before running the backend configuration program, it is
+necessary to initialize the datase. Make sure mysql is running properly.
+
+# mysql < /usr/share/mythtv/mc.sql
+
+If your frontend is going to be remote, you must allow other computers
+on your network to have access to your database. Substitute 192.168.1.%
+with whatever IP range you use. If you have a root mysql password (as
+you should), leave the -p in the mysql command line. Otherwise remove
+the switch.
+
+# mysql -u root -p
+ mysql> connect mythconverg;
+ mysql> grant all on mythconverg.* to mythtv@"192.168.1.%" identified by "mythtv";
+ mysql> flush privileges;
+ mysql> quit
+
+In order to configure the MythTV backend, you will need to run the
+mythtv-setup program. Note that this requires X. If your backend is
+headless, considering using vnc as a quick and dirty "fix".
+
+# mythtv-setup
+
+Go through all the menus. You will need to know information like your
+capture card device (/dev/v4l/video[0-9]) and your program information
+acquisition method. United States users will most likely subscribe to
+Zap2it Labs' DataDirect service. It requires that users take a survey
+every three months in order to continue service. This isn't as hard as
+it sounds.
+
+It is necessary to update the database with all the current TV listings.
+Run the mythfilldatabase program to grab the listings using whatever
+method you specified in mythtv-setup.
+
+# mythfilldatabase
+
+Run mythbackend from the command line to make sure everything starts ok.
+
+# mythbackend
+
+If so, you may kill the task with "ctrl-c" on your keyboard, and add the
+backend to /etc/rc.conf. In the DAEMONS line, just add "mythbackend" to
+the list.
+
+In the future, you will need to run mythfilldatabase regularly. I allow
+my frontend computer to do this, as it runs continuously, and it is an
+option within MythTV. Otherwise, you can set up a cron job, or move
+mythfilldatabasecron to /etc/cron.daily
+
+cp /usr/share/mythtv/mythfilldatabasecron /etc/cron.daily
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/HOST_SETTINGS.xml b/abs/extra/community/mythtv-vdpau/menu-xml/HOST_SETTINGS.xml
new file mode 100755
index 0000000..f257920
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/HOST_SETTINGS.xml
@@ -0,0 +1,87 @@
+<mythmenu name="HOST_SETTINGS">
+
+ <button>
+ <type>MV_NETWORK_SETUP_MENU</type>
+ <text>Network Settings</text>
+ <action>EXEC mythinstall -s network </action>
+ </button>
+
+ <button>
+ <type>MV_SYSTEM_SETUP_MENU</type>
+ <text>System type</text>
+ <action>EXEC mythinstall -s hostype </action>
+ </button>
+
+ <button>
+ <type>MV_MISC_SETUP_MENU</type>
+ <text>Misc Settings</text>
+ <action>EXEC mythinstall -s misc </action>
+ </button>
+
+ <button>
+ <type>MV_SOFTWARE_MENU</type>
+ <text>Software</text>
+ <action>EXEC mythinstall -s plugins </action>
+ </button>
+
+ <button>
+ <type>MV_SHUTDOWN_SETUP_MENU</type>
+ <text>Shutdown settings</text>
+ <action>EXEC mythinstall -s sleep </action>
+ </button>
+
+
+<button>
+ <type>MV_ADVANCED_X_SETUP_MENU</type>
+ <text>Display</text>
+ <action>EXEC mythinstall -s advancedX</action>
+</button>
+
+<button>
+ <type>MV_ADVANCED_SETUP_MENU</type>
+ <text>Advanced settings</text>
+ <action>EXEC mythinstall -s advanced</action>
+</button>
+
+
+<button>
+ <type>MV_AUDIO_SETUP_MENU</type>
+ <text>Audio settings</text>
+ <action>EXEC mythinstall -s sound </action>
+</button>
+
+
+<button>
+ <type>MV_ACCESS_SETUP_MENU</type>
+ <text>Access</text>
+ <action>EXEC mythinstall -s accesscontrol </action>
+</button>
+
+<button>
+ <type>MV_USER_SETUP_MENU</type>
+ <text>Password </text>
+ <action>EXEC mythinstall -s user </action>
+</button>
+
+<button>
+ <type>MV_WEBACCESS_SETUP_MENU</type>
+ <text>Web security</text>
+ <action>EXEC mythinstall -s webuser </action>
+</button>
+
+
+
+
+ <!--
+ <button>
+ <type>SETUP_MENU</type>
+ <text>Settings profile manager</text>
+ <action>EXEC mythinstall -t </action>
+
+ </button>
+ -->
+
+
+
+
+</mythmenu>
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/is.xml b/abs/extra/community/mythtv-vdpau/menu-xml/is.xml
new file mode 100644
index 0000000..88b7e6b
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/is.xml
@@ -0,0 +1,3 @@
+<mythmenu name="Internet Steams">
+
+</mythmenu>
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/library.xml.patch b/abs/extra/community/mythtv-vdpau/menu-xml/library.xml.patch
new file mode 100644
index 0000000..efc8623
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/library.xml.patch
@@ -0,0 +1,15 @@
+--- library.xml.orig 2009-02-09 04:30:04.000000000 +0000
++++ library.xml 2009-02-09 04:31:50.000000000 +0000
+@@ -119,10 +119,9 @@
+
+ <button>
+ <type>STREAM</type>
+- <text>Play Online Streams</text>
++ <text>Online Streams</text>
+ <text lang="HE">נגן מדיה מכוונת</text>
+- <action>PLUGIN mythstream</action>
+- <depends>mythstream</depends>
++ <action>MENU is.xml</action>
+ </button>
+
+ <button>
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/linhes.xml b/abs/extra/community/mythtv-vdpau/menu-xml/linhes.xml
new file mode 100644
index 0000000..8bc929f
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/linhes.xml
@@ -0,0 +1,54 @@
+<mythmenu name="LinHES">
+
+ <button>
+ <type>SETUP_GENERAL</type>
+ <text>MythTV Configuration</text>
+ <text lang="IT">Impostazioni</text>
+ <text lang="ES">Configuración</text>
+ <text lang="CA">Configurar</text>
+ <text lang="FR">paramètres</text>
+ <text lang="DE">Zubehör / Konfiguration</text>
+ <text lang="DK">Tilbehør/Indstillinger</text>
+ <text lang="IS">Uppsetning</text>
+ <text lang="NL">Configuratie</text>
+ <text lang="PT">Utensílios</text>
+ <text lang="SV">Verktyg / Inställningar</text>
+ <text lang="JA">設定</text>
+ <text lang="FI">Oheis/Asetukset</text>
+ <text lang="ZH_TW">工具/設定</text>
+ <text lang="SI">Nastavitve</text>
+ <text lang="ET">Utiliidid / sätted</text>
+ <text lang="NB">Verktøy/Oppsett</text>
+ <text lang="CZ">Pomůcky</text>
+ <text lang="RU">Утилиты / ÐаÑтройки</text>
+ <text lang="AR">تضبيطات</text>
+ <text lang="PL">Narzędzia / ustawienia</text>
+ <text lang="HE">×¢×–×¨×™× / הגדרות</text>
+ <alttext lang="DE">Verschiedenes</alttext>
+ <alttext lang="SV">Inställningar</alttext>
+ <alttext lang="ET">Sätted</alttext>
+ <alttext lang="RU">ÐаÑтройки</alttext>
+ <alttext lang="AR">تضبيطات</alttext>
+ <action>MENU util_menu.xml</action>
+ </button>
+
+ <button>
+ <type>LINHES_SETUP</type>
+ <text>LinHES Configuration</text>
+ <action>MENU HOST_SETTINGS.xml</action>
+ </button>
+
+ <button>
+ <type>BACKUP</type>
+ <text>Backup LinHES</text>
+ <action>MENU mythbackup.xml</action>
+ </button>
+
+ <button>
+ <type>RESTORE</type>
+ <text>Restore LinHES</text>
+ <action>MENU mythrestore.xml</action>
+ </button>
+
+</mythmenu>
+
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/mainmenu.xml.patch b/abs/extra/community/mythtv-vdpau/menu-xml/mainmenu.xml.patch
new file mode 100644
index 0000000..a299325
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/mainmenu.xml.patch
@@ -0,0 +1,39 @@
+--- mainmenu.xml.orig 2009-01-09 02:45:07.000000000 +0000
++++ mainmenu.xml 2009-01-22 08:04:28.000000000 +0000
+@@ -158,34 +158,8 @@
+
+ <button>
+ <type>MENU_UTILITIES_SETUP</type>
+- <text>Utilities / Setup</text>
+- <text lang="IT">Impostazioni</text>
+- <text lang="ES">Configuración</text>
+- <text lang="CA">Configurar</text>
+- <text lang="FR">paramètres</text>
+- <text lang="DE">Zubehör / Konfiguration</text>
+- <text lang="DK">Tilbehør/Indstillinger</text>
+- <text lang="IS">Uppsetning</text>
+- <text lang="NL">Configuratie</text>
+- <text lang="PT">Utensílios</text>
+- <text lang="SV">Verktyg / Inställningar</text>
+- <text lang="JA">設定</text>
+- <text lang="FI">Oheis/Asetukset</text>
+- <text lang="ZH_TW">工具/設定</text>
+- <text lang="SI">Nastavitve</text>
+- <text lang="ET">Utiliidid / sätted</text>
+- <text lang="NB">Verktøy/Oppsett</text>
+- <text lang="CZ">Pomůcky</text>
+- <text lang="RU">Утилиты / ÐаÑтройки</text>
+- <text lang="AR">تضبيطات</text>
+- <text lang="PL">Narzędzia / ustawienia</text>
+- <text lang="HE">×¢×–×¨×™× / הגדרות</text>
+- <alttext lang="DE">Verschiedenes</alttext>
+- <alttext lang="SV">Inställningar</alttext>
+- <alttext lang="ET">Sätted</alttext>
+- <alttext lang="RU">ÐаÑтройки</alttext>
+- <alttext lang="AR">تضبيطات</alttext>
+- <action>MENU util_menu.xml</action>
++ <text>Service Menu</text>
++ <action>MENU linhes.xml</action>
+ </button>
+
+ <!-- <button>
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/mythbackup.xml b/abs/extra/community/mythtv-vdpau/menu-xml/mythbackup.xml
new file mode 100644
index 0000000..656860d
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/mythbackup.xml
@@ -0,0 +1,20 @@
+<mythmenu name="LinHES">
+
+ <button>
+ <type>BACKUP</type>
+ <text>Do you wish to backup?</text>
+ <action>NONE</action>
+ </button>
+
+ <button>
+ <type>BACKUP</type>
+ <text>Yes</text>
+ <action>EXEC sudo /usr/LH/bin/mythbackup</action>
+ </button>
+
+ <button>
+ <type>BACKUP</type>
+ <text>No</text>
+ <action>MENU linhes.xml</action>
+ </button>
+</mythmenu>
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/mythrestore.xml b/abs/extra/community/mythtv-vdpau/menu-xml/mythrestore.xml
new file mode 100644
index 0000000..05cb0a7
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/mythrestore.xml
@@ -0,0 +1,20 @@
+<mythmenu name="LinHES">
+
+ <button>
+ <type>RESTORE</type>
+ <text>Do you wish to restore?</text>
+ <action>NONE</action>
+ </button>
+
+ <button>
+ <type>RESTORE</type>
+ <text>Yes</text>
+ <action>EXEC sudo /usr/LH/bin/mythrestore</action>
+ </button>
+
+ <button>
+ <type>BACKUP</type>
+ <text>No</text>
+ <action>MENU linhes.xml</action>
+ </button>
+</mythmenu>
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/optical_menu.xml.patch b/abs/extra/community/mythtv-vdpau/menu-xml/optical_menu.xml.patch
new file mode 100644
index 0000000..d1cb70c
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/optical_menu.xml.patch
@@ -0,0 +1,15 @@
+--- optical_menu.xml.orig 2008-10-02 22:46:30.000000000 +0000
++++ optical_menu.xml 2008-07-02 04:05:15.000000000 +0000
+@@ -129,6 +129,12 @@
+ </button>
+
+ <button>
++ <type>DVD_RIP</type>
++ <text>Import video files from DVD</text>
++ <action>EXEC /usr/LH/bin/importfiles.sh</action>
++ </button>
++
++ <button>
+ <type>EJECT</type>
+ <text>Eject media</text>
+ <text lang="IT">Espelli Media</text>
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/original/create_patch.sh b/abs/extra/community/mythtv-vdpau/menu-xml/original/create_patch.sh
new file mode 100644
index 0000000..34d8b8c
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/original/create_patch.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+for i in *.xml
+do
+ diff -u $i.orig $i > ../$i.patch
+done
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/setup.xml b/abs/extra/community/mythtv-vdpau/menu-xml/setup.xml
new file mode 100644
index 0000000..f56bb6f
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/setup.xml
@@ -0,0 +1,111 @@
+<mythmenu name="MAIN">
+
+ <button>
+ <type>SETUP_GENERAL</type>
+ <text>1. General</text>
+ <text lang="IT">1. Generale</text>
+ <text lang="PT">1. Geral</text>
+ <text lang="SV">1. Generellt</text>
+ <text lang="JA">1. 一般</text>
+ <text lang="DE">1. Allgemeines</text>
+ <text lang="FI">1. Yleiset</text>
+ <text lang="FR">1. Général</text>
+ <text lang="SI">1. Splošno</text>
+ <text lang="ET">1. Ãœldine</text>
+ <text lang="NB">1 Generelt</text>
+ <text lang="DK">1. Generelt</text>
+ <text lang="ES">1. General</text>
+ <text lang="CZ">1. Obecný</text>
+ <text lang="RU">1. Общие</text>
+ <action>GENERAL</action>
+ </button>
+
+ <button>
+ <type>SETUP_CAPTURE_CARDS</type>
+ <text>2. Capture cards</text>
+ <text lang="IT">2. Schede di Acquisizione</text>
+ <text lang="PT">2. Placas de Captura</text>
+ <text lang="SV">2. TV-kort</text>
+ <text lang="JA">2. キャプãƒãƒ£ã‚«ãƒ¼ãƒ‰</text>
+ <text lang="DE">2. TV-Karten</text>
+ <text lang="FI">2. TV-kortit</text>
+ <text lang="FR">2. Cartes d'acquisition</text>
+ <text lang="SI">2. Kartice za zajem</text>
+ <text lang="ET">2. TV-kaardid</text>
+ <text lang="NB">2 TV-kort</text>
+ <text lang="DK">2. TV-kort</text>
+ <text lang="ES">2. Capturadoras</text>
+ <text lang="CZ">2. Zachytávací karty</text>
+ <text lang="RU">2. Карты захвата</text>
+ <action>CAPTURE CARDS</action>
+ </button>
+
+ <button>
+ <type>SETUP_VIDEO_SOURCES</type>
+ <text>3. Video sources</text>
+ <text lang="IT">3. Fonte Video</text>
+ <text lang="PT">3. Fontes de Vídeo</text>
+ <text lang="SV">3. Videokällor</text>
+ <text lang="JA">3. ビデオソース</text>
+ <text lang="DE">3. Videoquellen</text>
+ <text lang="FI">3. Kuvanlähteet</text>
+ <text lang="FR">3. Sources vidéo</text>
+ <text lang="SI">3. Video viri</text>
+ <text lang="ET">3. Videosisendid</text>
+ <text lang="NB">3 Videokilder</text>
+ <text lang="DK">3. Videokilder</text>
+ <text lang="ES">3. Fuentes de Vídeo</text>
+ <text lang="CZ">3. Zdroje obrazu</text>
+ <text lang="RU">3. Видео иÑточники</text>
+ <action>VIDEO SOURCES</action>
+ </button>
+
+ <button>
+ <type>SETUP_INPUT_CONNECTIONS</type>
+ <text>4. Input connections</text>
+ <text lang="IT">4. Connessioni di Ingresso</text>
+ <text lang="PT">4. Ligações de Entrada</text>
+ <text lang="SV">4. Anslutningar</text>
+ <text lang="JA">4. 入力ã¨ã‚½ãƒ¼ã‚¹ã®æŽ¥ç¶š</text>
+ <text lang="DE">4. Verknüpfungen</text>
+ <text lang="FI">4. Sisääntuloasetukset</text>
+ <text lang="FR">4. Entrées Vidéos</text>
+ <text lang="SI">4. Vhodne povezave</text>
+ <text lang="ET">4. Sisendite ühendused</text>
+ <text lang="NB">4 Inndata</text>
+ <text lang="DK">4. Indgange</text>
+ <text lang="ES">4. Conexiones</text>
+ <text lang="CZ">4. Připojení vstupů</text>
+ <text lang="RU">4. Соединение входов</text>
+ <action>CARD INPUTS</action>
+ </button>
+
+ <button>
+ <type>SETUP_CHANNEL_EDITOR</type>
+ <text>5. Channel Editor</text>
+ <text lang="IT">5. Modifica Canali</text>
+ <text lang="SV">5. Kanaleditor</text>
+ <text lang="JA">5. ãƒãƒ£ãƒ³ãƒãƒ«è¨­å®š</text>
+ <text lang="DE">5. Sender bearbeiten</text>
+ <text lang="FI">5. Kanavanviritys</text>
+ <text lang="FR">5. Editeur de chaînes</text>
+ <text lang="SI">5. Urejanje kanalov</text>
+ <text lang="ET">5. Kanaliredaktor</text>
+ <text lang="NB">5 Kanalredigerer</text>
+ <text lang="DK">5. Kanal opsætning</text>
+ <text lang="ES">5. Editor Canales</text>
+ <text lang="CZ">5. Editor kanálů</text>
+ <text lang="RU">5. Редактор каналов</text>
+ <action>CHANNEL EDITOR</action>
+ </button>
+
+ <button>
+ <type>SETUP_STORAGE_GROUPS</type>
+ <text>6. Storage Directories</text>
+ <text lang="IT">6. Cartelle</text>
+ <text lang="FI">Tallennusryhmät</text>
+ <text lang="SV">Lagringsgrupper</text>
+ <action>STORAGE GROUPS</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/siriusmenu.xml b/abs/extra/community/mythtv-vdpau/menu-xml/siriusmenu.xml
new file mode 100644
index 0000000..e317b36
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/siriusmenu.xml
@@ -0,0 +1,419 @@
+<mythmenu name="SIRIUS">
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Hits 1</text>
+ <action>EXEC /usr/bin/cliSipie siriushits1</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>StarLite</text>
+ <action>EXEC /usr/bin/cliSipie starlite</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Love</text>
+ <action>EXEC /usr/bin/cliSipie siriuslove</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Movin EZ</text>
+ <action>EXEC /usr/bin/cliSipie movineasy</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Gold</text>
+ <action>EXEC /usr/bin/cliSipie siriusgold</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>'60s Vibrations</text>
+ <action>EXEC /usr/bin/cliSipie 60svibrations</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Totally '70s</text>
+ <action>EXEC /usr/bin/cliSipie totally70s</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Big '80s</text>
+ <action>EXEC /usr/bin/cliSipie big80s</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>ThePulse</text>
+ <action>EXEC /usr/bin/cliSipie thepulse</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Bridge</text>
+ <action>EXEC /usr/bin/cliSipie thebridge</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>BBC Radio 1</text>
+ <action>EXEC /usr/bin/cliSipie bbcradio1</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Super Shuffle</text>
+ <action>EXEC /usr/bin/cliSipie supershuffle</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Elvis Radio</text>
+ <action>EXEC /usr/bin/cliSipie elvisradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Classic Vinyl</text>
+ <action>EXEC /usr/bin/cliSipie classicvinyl</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Classic Rewind</text>
+ <action>EXEC /usr/bin/cliSipie classicrewind</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>TheVault</text>
+ <action>EXEC /usr/bin/cliSipie thevault</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Jam_ON</text>
+ <action>EXEC /usr/bin/cliSipie jamon</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Spectrum</text>
+ <action>EXEC /usr/bin/cliSipie thespectrum</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>BuzzSaw</text>
+ <action>EXEC /usr/bin/cliSipie buzzsaw</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Octane</text>
+ <action>EXEC /usr/bin/cliSipie octane</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Alt Nation</text>
+ <action>EXEC /usr/bin/cliSipie altnation</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>1st Wave</text>
+ <action>EXEC /usr/bin/cliSipie firstwave</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hair Nation</text>
+ <action>EXEC /usr/bin/cliSipie hairnation</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>'90s Alternative</text>
+ <action>EXEC /usr/bin/cliSipie 90salternative</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Garage</text>
+ <action>EXEC /usr/bin/cliSipie undergroundgarage</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Left of Center</text>
+ <action>EXEC /usr/bin/cliSipie leftofcenter</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hard Attack</text>
+ <action>EXEC /usr/bin/cliSipie hardattack</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Faction</text>
+ <action>EXEC /usr/bin/cliSipie faction</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Punk</text>
+ <action>EXEC /usr/bin/cliSipie punk</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>The Coffee House</text>
+ <action>EXEC /usr/bin/cliSipie coffeehouse</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Margaritaville</text>
+ <action>EXEC /usr/bin/cliSipie radiomargaritaville</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Disorder</text>
+ <action>EXEC /usr/bin/cliSipie siriusdisorder</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Reggae</text>
+ <action>EXEC /usr/bin/cliSipie reggaerhythms</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Area 33</text>
+ <action>EXEC /usr/bin/cliSipie area33</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Boombox</text>
+ <action>EXEC /usr/bin/cliSipie boombox</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Chill</text>
+ <action>EXEC /usr/bin/cliSipie chill</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>The Beat</text>
+ <action>EXEC /usr/bin/cliSipie thebeat</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Strobe</text>
+ <action>EXEC /usr/bin/cliSipie thestrobe</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hip-Hop Nation</text>
+ <action>EXEC /usr/bin/cliSipie hiphopnation</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>BackSpin</text>
+ <action>EXEC /usr/bin/cliSipie backspin</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Shade 45</text>
+ <action>EXEC /usr/bin/cliSipie shade45</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hot Jamz</text>
+ <action>EXEC /usr/bin/cliSipie hotjamz</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Heart &amp; Soul</text>
+ <action>EXEC /usr/bin/cliSipie heartandsoul</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>SoulTown</text>
+ <action>EXEC /usr/bin/cliSipie soultown</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>New Country</text>
+ <action>EXEC /usr/bin/cliSipie newcountry</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Prime Country</text>
+ <action>EXEC /usr/bin/cliSipie primecountry</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Roadhouse</text>
+ <action>EXEC /usr/bin/cliSipie theroadhouse</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Outlaw Country</text>
+ <action>EXEC /usr/bin/cliSipie outlawcountry</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Bluegrass</text>
+ <action>EXEC /usr/bin/cliSipie bluegrass</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Spirit</text>
+ <action>EXEC /usr/bin/cliSipie spirit</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Praise</text>
+ <action>EXEC /usr/bin/cliSipie praise</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Planet Jazz</text>
+ <action>EXEC /usr/bin/cliSipie planetjazz</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>JazzCafe</text>
+ <action>EXEC /usr/bin/cliSipie jazzcafe</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>PureJazz</text>
+ <action>EXEC /usr/bin/cliSipie purejazz</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Spa 73</text>
+ <action>EXEC /usr/bin/cliSipie spa73</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Blues</text>
+ <action>EXEC /usr/bin/cliSipie siriusblues</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Siriusly Sinatra</text>
+ <action>EXEC /usr/bin/cliSipie siriuslysinatra</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Broadway's Best</text>
+ <action>EXEC /usr/bin/cliSipie broadwaysbest</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Symphony Hall</text>
+ <action>EXEC /usr/bin/cliSipie symphonyhall</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Met Opera Radio</text>
+ <action>EXEC /usr/bin/cliSipie metropolitanopera</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Pops</text>
+ <action>EXEC /usr/bin/cliSipie siriuspops</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Universo Latino</text>
+ <action>EXEC /usr/bin/cliSipie universolatino</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Rumbon</text>
+ <action>EXEC /usr/bin/cliSipie rumbon</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Martha Stewart</text>
+ <action>EXEC /usr/bin/cliSipie marthastewartlivingradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Stars</text>
+ <action>EXEC /usr/bin/cliSipie siriusstars</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>OutQ Gay Radio</text>
+ <action>EXEC /usr/bin/cliSipie siriusoutq</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Patriot</text>
+ <action>EXEC /usr/bin/cliSipie siriuspatriot</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Left</text>
+ <action>EXEC /usr/bin/cliSipie siriusleft</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>CNN</text>
+ <action>EXEC /usr/bin/cliSipie cnn</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>wrn</text>
+ <action>EXEC /usr/bin/cliSipie wrn</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Blue Collar Comedy</text>
+ <action>EXEC /usr/bin/cliSipie bluecollarcomedy</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Raw Dog Comedy</text>
+ <action>EXEC /usr/bin/cliSipie rawdog</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Laugh Break Comedy</text>
+ <action>EXEC /usr/bin/cliSipie laughbreak</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>thefoxxhole</text>
+ <action>EXEC /usr/bin/cliSipie thefoxxhole</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>lime</text>
+ <action>EXEC /usr/bin/cliSipie lime</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Kids Stuff</text>
+ <action>EXEC /usr/bin/cliSipie kidsstuff</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Catholic Channel</text>
+ <action>EXEC /usr/bin/cliSipie thecatholicchannel</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>EWTN</text>
+ <action>EXEC /usr/bin/cliSipie ewtnglobal</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>christiantalk</text>
+ <action>EXEC /usr/bin/cliSipie christiantalk</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius NFL Radio</text>
+ <action>EXEC /usr/bin/cliSipie siriusnflradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Maxim Radio</text>
+ <action>EXEC /usr/bin/cliSipie maximradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Cosmo Radio</text>
+ <action>EXEC /usr/bin/cliSipie cosmopolitanradio</action>
+ </button>
+ <button>
+ <type>TV_DELETE</type>
+ <text>Stop Listening</text>
+ <action>EXEC /usr/bin/sipie_kill</action>
+ </button>
+
+</mythmenu>
+
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/util_menu.xml.patch b/abs/extra/community/mythtv-vdpau/menu-xml/util_menu.xml.patch
new file mode 100644
index 0000000..26ac863
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/util_menu.xml.patch
@@ -0,0 +1,17 @@
+--- util_menu.xml.orig 2009-01-09 02:45:07.000000000 +0000
++++ util_menu.xml 2009-01-22 08:04:28.000000000 +0000
+@@ -76,7 +76,13 @@
+ <action>PLUGIN mythcontrols</action>
+ <depends>mythcontrols</depends>
+ </button>
+-
++
++ <button>
++ <type>VIDEO_SCREENSHOOTER</type>
++ <text>Thumbnail Generator</text>
++ <action>EXEC /usr/LH/bin/shootscreens-mythtv.sh</action>
++ </button>
++
+ <button>
+ <type>SETUP_MENU</type>
+ <text>Setup</text>
diff --git a/abs/extra/community/mythtv-vdpau/menu-xml/xmmenu.xml b/abs/extra/community/mythtv-vdpau/menu-xml/xmmenu.xml
new file mode 100644
index 0000000..6b26d11
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/menu-xml/xmmenu.xml
@@ -0,0 +1,574 @@
+<!-- Current as of April 25, 2007 -->
+<mythmenu name="XM">
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '40s</text>
+ <action>EXEC /usr/bin/xamp kill 4</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '50s</text>
+ <action>EXEC /usr/bin/xamp kill 5</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '60s</text>
+ <action>EXEC /usr/bin/xamp kill 6</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '70s</text>
+ <action>EXEC /usr/bin/xamp kill 7</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '80s</text>
+ <action>EXEC /usr/bin/xamp kill 8</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '90s</text>
+ <action>EXEC /usr/bin/xamp kill 9</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>America</text>
+ <action>EXEC /usr/bin/xamp kill 10</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>X Country</text>
+ <action>EXEC /usr/bin/xamp kill 12</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Willie's Place</text>
+ <action>EXEC /usr/bin/xamp kill 13</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Bluegrass Junction</text>
+ <action>EXEC /usr/bin/xamp kill 14</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Village</text>
+ <action>EXEC /usr/bin/xamp kill 15</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Highway 16</text>
+ <action>EXEC /usr/bin/xamp kill 16</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>US Country</text>
+ <action>EXEC /usr/bin/xamp kill 17</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>20 on 20</text>
+ <action>EXEC /usr/bin/xamp kill 20</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Heart</text>
+ <action>EXEC /usr/bin/xamp kill 23</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Blend</text>
+ <action>EXEC /usr/bin/xamp kill 25</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Flight 26</text>
+ <action>EXEC /usr/bin/xamp kill 26</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Cinemagic</text>
+ <action>EXEC /usr/bin/xamp kill 27</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>On Broadway</text>
+ <action>EXEC /usr/bin/xamp kill 28</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>U-Pop</text>
+ <action>EXEC /usr/bin/xamp kill 29</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Hitlist</text>
+ <action>EXEC /usr/bin/xamp kill 30</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Torch</text>
+ <action>EXEC /usr/bin/xamp kill 31</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Message</text>
+ <action>EXEC /usr/bin/xamp kill 32</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Spirit</text>
+ <action>EXEC /usr/bin/xamp kill 33</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>enLighten</text>
+ <action>EXEC /usr/bin/xamp kill 34</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Deep Tracks</text>
+ <action>EXEC /usr/bin/xamp kill 40</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Boneyard</text>
+ <action>EXEC /usr/bin/xamp kill 41</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Liquid Metal</text>
+ <action>EXEC /usr/bin/xamp kill 42</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XMU</text>
+ <action>EXEC /usr/bin/xamp kill 43</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fred</text>
+ <action>EXEC /usr/bin/xamp kill 44</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Cafe</text>
+ <action>EXEC /usr/bin/xamp kill 45</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Top Tracks</text>
+ <action>EXEC /usr/bin/xamp kill 46</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Ethel</text>
+ <action>EXEC /usr/bin/xamp kill 47</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Squizz</text>
+ <action>EXEC /usr/bin/xamp kill 48</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Big Tracks</text>
+ <action>EXEC /usr/bin/xamp kill 49</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Loft</text>
+ <action>EXEC /usr/bin/xamp kill 50</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Music Lab</text>
+ <action>EXEC /usr/bin/xamp kill 51</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Verge</text>
+ <action>EXEC /usr/bin/xamp kill 52</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fungus</text>
+ <action>EXEC /usr/bin/xamp kill 53</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Lucy</text>
+ <action>EXEC /usr/bin/xamp kill 54</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Soul Street</text>
+ <action>EXEC /usr/bin/xamp kill 60</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Flow</text>
+ <action>EXEC /usr/bin/xamp kill 61</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Suite 62</text>
+ <action>EXEC /usr/bin/xamp kill 62</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Groove</text>
+ <action>EXEC /usr/bin/xamp kill 64</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Rhyme</text>
+ <action>EXEC /usr/bin/xamp kill 65</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>RAW</text>
+ <action>EXEC /usr/bin/xamp kill 66</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The City</text>
+ <action>EXEC /usr/bin/xamp kill 67</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Heat</text>
+ <action>EXEC /usr/bin/xamp kill 68</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Real Jazz</text>
+ <action>EXEC /usr/bin/xamp kill 70</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Watercolors</text>
+ <action>EXEC /usr/bin/xamp kill 71</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Beyond Jazz</text>
+ <action>EXEC /usr/bin/xamp kill 72</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>High Standards</text>
+ <action>EXEC /usr/bin/xamp kill 73</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Bluesville</text>
+ <action>EXEC /usr/bin/xamp kill 74</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Hear Music</text>
+ <action>EXEC /usr/bin/xamp kill 75</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fine Tuning</text>
+ <action>EXEC /usr/bin/xamp kill 76</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Audio Visions</text>
+ <action>EXEC /usr/bin/xamp kill 77</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Escape</text>
+ <action>EXEC /usr/bin/xamp kill 78</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>On The Rocks</text>
+ <action>EXEC /usr/bin/xamp kill 79</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Move</text>
+ <action>EXEC /usr/bin/xamp kill 80</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>BPM</text>
+ <action>EXEC /usr/bin/xamp kill 81</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The System</text>
+ <action>EXEC /usr/bin/xamp kill 82</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Chrome</text>
+ <action>EXEC /usr/bin/xamp kill 83</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM-Chill</text>
+ <action>EXEC /usr/bin/xamp kill 84</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fuego</text>
+ <action>EXEC /usr/bin/xamp kill 90</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Viva</text>
+ <action>EXEC /usr/bin/xamp kill 91</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Aguila</text>
+ <action>EXEC /usr/bin/xamp kill 92</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Caliente</text>
+ <action>EXEC /usr/bin/xamp kill 94</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Luna</text>
+ <action>EXEC /usr/bin/xamp kill 95</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Air Musique</text>
+ <action>EXEC /usr/bin/xamp kill 100</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Joint</text>
+ <action>EXEC /usr/bin/xamp kill 101</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Sur La Route</text>
+ <action>EXEC /usr/bin/xamp kill 102</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>World Zone</text>
+ <action>EXEC /usr/bin/xamp kill 103</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Ngoma</text>
+ <action>EXEC /usr/bin/xamp kill 104</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Classics</text>
+ <action>EXEC /usr/bin/xamp kill 110</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Vox</text>
+ <action>EXEC /usr/bin/xamp kill 112</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Pops</text>
+ <action>EXEC /usr/bin/xamp kill 113</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Kids</text>
+ <action>EXEC /usr/bin/xamp kill 116</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Bob Edwards Show</text>
+ <action>EXEC /usr/bin/xamp kill 133</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Comedy</text>
+ <action>EXEC /usr/bin/xamp kill 150</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Laugh USA</text>
+ <action>EXEC /usr/bin/xamp kill 151</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Special X</text>
+ <action>EXEC /usr/bin/xamp kill 154</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Agenda</text>
+ <action>EXEC /usr/bin/xamp kill 134</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Oprah and Friends</text>
+ <action>EXEC /usr/bin/xamp kill 156</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Virus</text>
+ <action>EXEC /usr/bin/xamp kill 202</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>1 Hit Wonders</text>
+ <action>EXEC /usr/bin/xamp kill 300</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Metalcore</text>
+ <action>EXEC /usr/bin/xamp kill 301</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Indie First</text>
+ <action>EXEC /usr/bin/xamp kill 302</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Late Night Mix</text>
+ <action>EXEC /usr/bin/xamp kill 303</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Sessions@AOL</text>
+ <action>EXEC /usr/bin/xamp kill 304</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Shuffle</text>
+ <action>EXEC /usr/bin/xamp kill 305</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Rock First</text>
+ <action>EXEC /usr/bin/xamp kill 306</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Country First</text>
+ <action>EXEC /usr/bin/xamp kill 307</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Hip Hop First</text>
+ <action>EXEC /usr/bin/xamp kill 308</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Pop First</text>
+ <action>EXEC /usr/bin/xamp kill 309</action>
+ </button>
+
+ <button>
+ <type>TV_DELETE</type>
+ <text>Stop Listening</text>
+ <action>EXEC /usr/bin/xamp kill</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/extra/community/mythtv-vdpau/mpegpspatch b/abs/extra/community/mythtv-vdpau/mpegpspatch
new file mode 100644
index 0000000..eed08eb
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/mpegpspatch
@@ -0,0 +1,66 @@
+--- orig_mpeg.c 2009-03-23 11:26:22.000000000 -0700
++++ mpeg.c 2009-03-23 11:28:09.000000000 -0700
+@@ -66,35 +66,40 @@
+
+ static int mpegps_probe(AVProbeData *p)
+ {
++ uint32_t code= -1;
++ int sys=0, pspack=0, priv1=0, vid=0, audio=0, invalid=0;
+ int i;
+- int size= FFMIN(2048, p->buf_size);
+- uint32_t code=0xFF;
++ int score=0;
+
+- /* we search the first start code. If it is a packet start code,
+- then we decide it is mpeg ps. We do not send highest value to
+- give a chance to mpegts */
+- /* NOTE: the search range was restricted to avoid too many false
+- detections */
+-
+- for (i = 0; i < size; i++) {
+- code = (code << 8) | p->buf[i];
++ for(i=0; i<p->buf_size; i++){
++ code = (code<<8) + p->buf[i];
+ if ((code & 0xffffff00) == 0x100) {
+- if (code == PACK_START_CODE ||
+- code == SYSTEM_HEADER_START_CODE ||
+- (code >= 0x1e0 && code <= 0x1ef) ||
+- (code >= 0x1c0 && code <= 0x1df) ||
+- code == PRIVATE_STREAM_2 ||
+- code == PROGRAM_STREAM_MAP ||
+- code == PRIVATE_STREAM_1 ||
+- code == PADDING_STREAM ||
+- code >= 0x100 && code <= 0x1b0)
+- return AVPROBE_SCORE_MAX - 2;
+- else
+- return 0;
++ int pes= check_pes(p->buf+i, p->buf+p->buf_size);
++
++ if(code == SYSTEM_HEADER_START_CODE) sys++;
++ else if(code == PRIVATE_STREAM_1) priv1++;
++ else if(code == PACK_START_CODE) pspack++;
++ else if((code & 0xf0) == VIDEO_ID && pes) vid++;
++ else if((code & 0xe0) == AUDIO_ID && pes) audio++;
++
++ else if((code & 0xf0) == VIDEO_ID && !pes) invalid++;
++ else if((code & 0xe0) == AUDIO_ID && !pes) invalid++;
+ }
+ }
+
+- return 0;
++ if(vid+audio > invalid) /* invalid VDR files nd short PES streams */
++ score= AVPROBE_SCORE_MAX/4;
++
++//av_log(NULL, AV_LOG_ERROR, "%d %d %d %d %d len:%d\n", sys, priv1, pspack,vid, audio, p->buf_size);
++ if(sys>invalid && sys*9 <= pspack*10)
++ return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg
++ if(priv1 + vid + audio > invalid && (priv1+vid+audio)*9 <= pspack*10)
++ return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg
++ if((!!vid ^ !!audio) && (audio > 4 || vid > 1) && !sys && !pspack && p->buf_size>2048) /* PES stream */
++ return AVPROBE_SCORE_MAX/2+2;
++
++ //02-Penguin.flac has sys:0 priv1:0 pspack:0 vid:0 audio:1
++ return score;
+ }
+
+ typedef struct MpegDemuxContext {
diff --git a/abs/extra/community/mythtv-vdpau/mythbackend b/abs/extra/community/mythtv-vdpau/mythbackend
new file mode 100755
index 0000000..93773a2
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/mythbackend
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/mythbackend`
+case "$1" in
+ start)
+ stat_busy "Starting MythTV Backend"
+ [ ! -e /var/run/mysqld.pid ] && echo -n "mysqld not started" && stat_fail && exit
+ [ -z "$PID" ] && /usr/bin/mythbackend -d -l /var/log/mythbackend.log -v important
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $PID > /var/run/mythbackend.pid
+ add_daemon mythbackend
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping MythTV Backend"
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon mythbackend
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1s
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/extra/community/mythtv-vdpau/mythbackend.lr b/abs/extra/community/mythtv-vdpau/mythbackend.lr
new file mode 100644
index 0000000..4f218bc
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/mythbackend.lr
@@ -0,0 +1,9 @@
+/var/log/mythtv/mythbackend.log {
+ copytruncate
+ daily
+ size 10M
+ missingok
+ rotate 7
+ compress
+ notifempty
+}
diff --git a/abs/extra/community/mythtv-vdpau/mythfrontend.lr b/abs/extra/community/mythtv-vdpau/mythfrontend.lr
new file mode 100644
index 0000000..1580533
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/mythfrontend.lr
@@ -0,0 +1,9 @@
+/var/log/mythtv/mythfrontend.log {
+ copytruncate
+ daily
+ size 10M
+ missingok
+ rotate 7
+ compress
+ notifempty
+}
diff --git a/abs/extra/community/mythtv-vdpau/myththemedmenu.cpp.patch b/abs/extra/community/mythtv-vdpau/myththemedmenu.cpp.patch
new file mode 100644
index 0000000..e5c57ef
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/myththemedmenu.cpp.patch
@@ -0,0 +1,125 @@
+--- libs/libmythui/myththemedmenu.cpp.orig 2008-01-31 15:26:38.000000000 +0000
++++ libs/libmythui/myththemedmenu.cpp 2008-02-07 22:24:27.000000000 +0000
+@@ -2102,6 +2102,10 @@
+ }
+ lastbutton = NULL;
+ }
++ else if (action == "MENU")
++ {
++ parent->doMenu();
++ }
+ else if (action == "EJECT")
+ {
+ myth_eject();
+@@ -2482,6 +2486,8 @@
+
+ if (d->foundtheme)
+ d->parseMenu(menufile);
++
++ m_menuPopup = NULL;
+ }
+
+ MythThemedMenu::~MythThemedMenu(void)
+@@ -2592,3 +2598,102 @@
+ MythScreenType::aboutToShow();
+ d->updateLCD();
+ }
++void MythThemedMenu::doMenu()
++{
++ int allowsd = gContext->GetNumSetting("AllowQuitShutdown");
++ if (m_menuPopup)
++ return;
++ QString label = "System Menu";
++ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
++ m_menuPopup = new MythDialogBox(label, mainStack, "menuPopup");
++ if (m_menuPopup->Create())
++ mainStack->AddScreen(m_menuPopup);
++
++ //changed line to always show shutdown/reboot
++ if ( allowsd != 10 && allowsd !=14 )
++ {
++ m_menuPopup->SetReturnEvent(this,"popmenu_exit");
++ m_menuPopup->AddButton("Power off");
++ m_menuPopup->AddButton("Reboot");
++ m_menuPopup->AddButton("About");
++ m_menuPopup->AddButton("Cancel");
++ }
++ else
++ {
++ m_menuPopup->SetReturnEvent(this,"popmenu_noexit");
++ m_menuPopup->AddButton("About");
++ m_menuPopup->AddButton("Cancel");
++ }
++}
++
++void MythThemedMenu::aboutScreen()
++{
++{
++ extern const char *myth_source_version;
++ extern const char *myth_source_path;
++ QString distro_line;
++ distro_line="";
++
++ QFile file("/etc/os_myth_release");
++ if ( file.open(IO_ReadOnly | IO_Translate) )
++ {
++ QTextStream t( &file ); // use a text stream
++ distro_line = t.readLine();
++ file.close();
++ }
++
++ QString label = "";
++ label.append(QObject::tr("Revision: ") + myth_source_version + " \n Branch:" + myth_source_path + "\n" + distro_line );
++
++ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
++ m_menuPopup = new MythDialogBox(label, mainStack, "About");
++ if (m_menuPopup->Create())
++ mainStack->AddScreen(m_menuPopup);
++
++ m_menuPopup->SetReturnEvent(this,"About");
++ m_menuPopup->AddButton("OK!");
++ }
++}
++
++void MythThemedMenu::customEvent(QCustomEvent *event)
++{
++ if (event->type() == kMythDialogBoxCompletionEventType)
++ {
++ DialogCompletionEvent *dce =
++ dynamic_cast<DialogCompletionEvent*>(event);
++
++ QString resultid= dce->GetId();
++ int buttonnum = dce->GetResult();
++ if (resultid == "popmenu_exit")
++ {
++ if (buttonnum == 0)
++ {
++ QString halt_cmd = gContext->GetSetting("HaltCommand",
++ "sudo /sbin/halt -p");
++ if (!halt_cmd.isEmpty())
++ system(halt_cmd.ascii());
++ }
++
++ if (buttonnum == 1)
++ {
++ QString reboot_cmd = gContext->GetSetting("RebootCommand",
++ "sudo /sbin/reboot");
++ if (!reboot_cmd.isEmpty())
++ system(reboot_cmd.ascii());
++ }
++
++ if (buttonnum == 2)
++ {
++ aboutScreen();
++ }
++ }
++
++ if (resultid == "popmenu_noexit")
++ {
++ if (buttonnum == 0)
++ aboutScreen();
++ }
++
++ m_menuPopup = NULL;
++ }
++}
diff --git a/abs/extra/community/mythtv-vdpau/myththemedmenu.h.patch b/abs/extra/community/mythtv-vdpau/myththemedmenu.h.patch
new file mode 100644
index 0000000..9744b11
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/myththemedmenu.h.patch
@@ -0,0 +1,25 @@
+--- libs/libmythui/myththemedmenu.h.orig 2008-01-31 15:26:45.000000000 +0000
++++ libs/libmythui/myththemedmenu.h 2008-02-07 21:00:22.000000000 +0000
+@@ -2,6 +2,7 @@
+ #define MYTHTHEMEDMENU_H_
+
+ #include "mythscreentype.h"
++#include "mythdialogbox.h"
+
+ class MythMainWindow;
+ class MythThemedMenuPrivate;
+@@ -26,8 +27,14 @@
+
+ void ReloadTheme(void);
+ void ReloadExitKey(void);
++
+ virtual void aboutToShow(void);
+
++ void doMenu();
++ void aboutScreen();
++ MythDialogBox *m_menuPopup;
++ void customEvent(QCustomEvent *event);
++
+ protected:
+ virtual bool keyPressEvent(QKeyEvent *e);
+ virtual void gestureEvent(MythUIType *origtype, MythGestureEvent *ge);
diff --git a/abs/extra/community/mythtv-vdpau/mythtv.install b/abs/extra/community/mythtv-vdpau/mythtv.install
new file mode 100644
index 0000000..a063766
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/mythtv.install
@@ -0,0 +1,61 @@
+# arg 1: the new package version
+post_install() {
+ if [ ! -d /var/log/mythtv ]
+ then
+ mkdir -p /var/log/mythv
+ chown -R mythtv /var/log/mythtv
+ echo "---" > /var/log/mythtv/mythbackend.log
+ chown mythtv /var/log/mythtv/mythbackend.log
+ fi
+ if [ -e /tmp/is.xml ]
+ then
+ cp /tmp/is.xml /usr/share/mythtv/is.xml
+ fi
+
+ if [ -e /tmp/media_settings.xml ]
+ then
+ cp /tmp/media_settings.xml /usr/share/mythtv/media_settings.xml
+ fi
+
+ echo
+ echo
+ echo "As is with no guarantee, please don't file any bu reports against this package."
+}
+pre_upgrade() {
+ if [ -e /usr/share/mythtv/is.xml ]
+ then
+ cp /usr/share/mythtv/is.xml /tmp
+ fi
+
+ if [ -e /usr/share/mythtv/media_settings.xml ]
+ then
+ cp /usr/share/mythtv/media_settings.xml /tmp
+ fi
+}
+
+post_upgrade() {
+ cp /tmp/is.xml /usr/share/mythtv/
+ cp /tmp/media_settings.xml /usr/share/mythtv/
+ if [ ! -d /var/log/mythtv ]
+ then
+ mkdir -p /var/log/mythv
+ chown -R mythtv /var/log/mythtv
+ fi
+ echo
+ echo
+ echo "As is with no guarantee, please don't file any bu reports against this package."
+
+}
+pre_remove () {
+ pre_upgrade
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/extra/community/mythtv-vdpau/pretty b/abs/extra/community/mythtv-vdpau/pretty
new file mode 100644
index 0000000..eed6f9c
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/pretty
@@ -0,0 +1,2 @@
+#!/bin/bash
+su - mythtv -c "/usr/bin/perl /usr/share/mythtv/contrib/mythrename.pl --link /myth/pretty"
diff --git a/abs/extra/community/mythtv-vdpau/smolt_jump.patch b/abs/extra/community/mythtv-vdpau/smolt_jump.patch
new file mode 100644
index 0000000..696be80
--- /dev/null
+++ b/abs/extra/community/mythtv-vdpau/smolt_jump.patch
@@ -0,0 +1,9 @@
+--- programs/mythfrontend/networkcontrol.cpp.orig 2008-03-23 23:00:25.000000000 +0000
++++ programs/mythfrontend/networkcontrol.cpp 2008-03-23 23:01:33.000000000 +0000
+@@ -81,6 +81,7 @@
+ jumpMap["zoneminderliveview"] = "ZoneMinder Live View";
+ jumpMap["zoneminderevents"] = "ZoneMinder Events";
++ jumpMap["mythsmolt"] = "MythSmolt";
+
+ // These jump point names match the (lowercased) locations from gContext
+ jumpMap["channelrecpriority"] = "Channel Recording Priorities";
diff --git a/abs/extra/community/ncdu/PKGBUILD b/abs/extra/community/ncdu/PKGBUILD
new file mode 100644
index 0000000..fb61b63
--- /dev/null
+++ b/abs/extra/community/ncdu/PKGBUILD
@@ -0,0 +1,19 @@
+# Contributor: lp76 <l.peduto@gmail.com>
+pkgname=ncdu
+pkgver=1.4
+pkgrel=1
+pkgdesc="An NCurses version of the famous old 'du' unix command"
+arch=('i686' 'x86_64')
+url="http://dev.yorhel.nl/ncdu/"
+license=('MIT')
+depends=('ncurses')
+source=(http://dev.yorhel.nl/download/$pkgname-$pkgver.tar.gz)
+md5sums=('07f01579f7c9852033139ae9fa2414c9')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+ install -D COPYING $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/extra/community/nvclock/PKGBUILD b/abs/extra/community/nvclock/PKGBUILD
new file mode 100644
index 0000000..d49f915
--- /dev/null
+++ b/abs/extra/community/nvclock/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 23406 2009-01-09 22:39:57Z andyrtr $
+# Contributor: Markus Meissner <markus@meissna.de>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=nvclock
+pkgver=0.8b4
+pkgrel=1
+pkgdesc="A small utility which allows users to overclock NVIDIA based video cards"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gtk2')
+source=(http://www.linuxhardware.org/$pkgname/${pkgname}${pkgver}.tar.gz
+ nvclock-0.8b4-buildfix.patch)
+url="http://www.linuxhardware.org/nvclock/"
+md5sums=('23f1b3ebf40f35d76d5fdac50f66ab11'
+ '1da24b50dd6a8c4704fa550a3e1a8b53')
+options=('!makeflags')
+
+build(){
+ cd ${srcdir}/$pkgname$pkgver
+ # build fix from Fedora
+ patch -Np1 -i $srcdir/nvclock-0.8b4-buildfix.patch || return 1
+ sed -i 's:${prefix}/man:${prefix}\/share\/man:' ${srcdir}/$pkgname$pkgver/Makefile.in || return 1
+ ./configure --prefix=/usr --bindir=/usr/bin
+ make || return 1 || return 1
+ make DESTDIR=${pkgdir} install || return 1
+}
diff --git a/abs/extra/community/nvclock/nvclock-0.8b4-buildfix.patch b/abs/extra/community/nvclock/nvclock-0.8b4-buildfix.patch
new file mode 100644
index 0000000..cdc9f5c
--- /dev/null
+++ b/abs/extra/community/nvclock/nvclock-0.8b4-buildfix.patch
@@ -0,0 +1,16 @@
+diff -upNr nvclock0.8b4.orign/src/Makefile.in nvclock0.8b4/src/Makefile.in
+--- nvclock0.8b4.orign/src/Makefile.in 2009-01-03 18:02:54.000000000 +0100
++++ nvclock0.8b4/src/Makefile.in 2009-01-07 11:37:39.000000000 +0100
+@@ -50,8 +50,8 @@ distclean: distclean-recursive clean-app
+ install: install-recursive install-app
+ install-app:
+ mkdir -p $(bindir)
+- $(INSTALL) -c nvclock $(DESTDIR)$(bindir)/nvclock
+- $(INSTALL) -c smartdimmer $(DESTDIR)$(bindir)/smartdimmer
++ $(INSTALL) -c nvclock $(bindir)/nvclock
++ $(INSTALL) -c smartdimmer $(bindir)/smartdimmer
+
+
+ uninstall: uninstall-recursive uninstall-app
+
+
diff --git a/abs/extra/community/nvidia-beta/PKGBUILD b/abs/extra/community/nvidia-beta/PKGBUILD
new file mode 100644
index 0000000..d4beaf7
--- /dev/null
+++ b/abs/extra/community/nvidia-beta/PKGBUILD
@@ -0,0 +1,44 @@
+# Maintainer : Dan Vratil <progdan@progdansoft.com>
+
+pkgname=nvidia-beta
+pkgver=180.41
+_kernver=2.6.28-LinHES
+pkgrel=1
+pkgdesc="NVIDIA beta drivers for kernel26."
+arch=('i686' 'x86_64')
+[ "$CARCH" = "i686" ] && ARCH=x86 && NV=0
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64 && NV=0
+provides=('nvidia=180.41')
+url="http://www.nvidia.com/"
+depends=('kernel26' 'nvidia-utils-beta=180.41')
+conflicts=('nvidia-96xx' 'nvidia-71xx' 'nvidia-legacy')
+license=('custom')
+provides=("nvidia")
+install=('nvidia.install')
+source=(ftp://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg${NV}.run)
+
+md5sums=('ec91f014a00357303c12f4cfd03c8a3f')
+[ "$CARCH" = "x86_64" ] && md5sums=('07ec7b5521d927b6ff332ef019ac80cd')
+
+
+build()
+{
+ # Extract
+ echo ${_kernver}
+ cd $startdir/src/
+ sh NVIDIA-Linux-$ARCH-${pkgver}-pkg${NV}.run --extract-only
+ cd NVIDIA-Linux-$ARCH-${pkgver}-pkg${NV}
+
+ # Any extra patches are applied in here...
+
+ cd usr/src/nv/
+ ln -s Makefile.kbuild Makefile
+ make SYSSRC=/lib/modules/${_kernver}/build module
+
+ # install kernel module
+ mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
+ install -m644 nvidia.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
+
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
+}
+
diff --git a/abs/extra/community/nvidia-beta/nvidia.install b/abs/extra/community/nvidia-beta/nvidia.install
new file mode 100644
index 0000000..f892d98
--- /dev/null
+++ b/abs/extra/community/nvidia-beta/nvidia.install
@@ -0,0 +1,22 @@
+# arg 1: the new package version
+post_install() {
+ KERNEL_VERSION=`uname -r`
+ depmod -v $KERNEL_VERSION > /dev/null 2>&1
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+ rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
+}
+
+# arg 1: the old package version
+post_remove() {
+ KERNEL_VERSION=`uname -r`
+ depmod -v $KERNEL_VERSION > /dev/null 2>&1
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/extra/community/nvidia-utils-beta/PKGBUILD b/abs/extra/community/nvidia-utils-beta/PKGBUILD
new file mode 100644
index 0000000..d89addd
--- /dev/null
+++ b/abs/extra/community/nvidia-utils-beta/PKGBUILD
@@ -0,0 +1,80 @@
+#Maintainer: Dan Vratil <progdan@progdansoft.com>
+
+pkgname=nvidia-utils-beta
+pkgver=180.41
+pkgrel=1
+pkgdesc="NVIDIA beta drivers utilities and libraries."
+provides=('nvidia-utils' 'libgl')
+arch=('i686' 'x86_64')
+[ "$CARCH" = "i686" ] && ARCH=x86 && NV=0
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64 && NV=0
+url="http://www.nvidia.com/"
+depends=('xorg-server>=1.5')
+provides=('nvidia-utils=180.41' 'libgl')
+conflicts=('libgl' 'libgl-dri' 'ati-fglrx-utils' 'nvidia-legacy-utils' \
+ 'nvidia-71xx-utils' 'nvidia-96xx-utils')
+license=('custom')
+install=nvidia.install
+source=(ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}.run \
+ supported-cards.txt)
+
+md5sums=('ec91f014a00357303c12f4cfd03c8a3f'
+ '5b5835bdb1508a57591b812c109a2679')
+[ "$CARCH" = "x86_64" ] && md5sums=('07ec7b5521d927b6ff332ef019ac80cd'
+ '5b5835bdb1508a57591b812c109a2679')
+options=(docs)
+
+build()
+{
+ # override nvida install routine and do it the long way.
+ cd $startdir/src/
+ sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}.run --extract-only
+ cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}/usr/
+
+ mkdir -p $startdir/pkg/usr/{lib,bin,share/applications,share/pixmaps,man/man1}
+ mkdir -p $startdir/pkg/usr/lib/xorg/modules/{extensions,drivers}
+ mkdir -p $startdir/pkg/usr/share/licenses/nvidia/
+
+ #install lib/{libGLcore,libGL,libnvidia-cfg,libcuda,tls/libnvidia-tls}.so.${pkgver} \
+ mkdir -p $startdir/pkg/usr/include/{,GL,cuda,vdpau}
+
+ install -m644 include/cuda/{cudaGL,cuda}.h $startdir/pkg/usr/include/cuda
+ install -m644 include/vdpau/{vdpau_x11,vdpau}.h $startdir/pkg/usr/include/vdpau
+ # Conflicts with MESA; if you want to develop opengl app, enable this line
+ #install -m644 include/GL/{glxext,gl,glx,glext}.h $startdir/pkg/usr/include/GL
+
+ install lib/{libGLcore,libGL,libnvidia-cfg,libcuda,tls/libnvidia-tls,libvdpau_nvidia,libvdpau,libvdpau_trace}.so.${pkgver} \
+ $startdir/pkg/usr/lib/ || return 1
+
+ install -m644 share/man/man1/* $startdir/pkg/usr/man/man1/ || return 1
+ rm $startdir/pkg/usr/man/man1/nvidia-installer.1.gz || return 1
+ install X11R6/lib/libXv* $startdir/pkg/usr/lib/ || return 1
+ install -m644 share/applications/nvidia-settings.desktop $startdir/pkg/usr/share/applications/ || return 1
+ # fix nvidia .desktop file
+ sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $startdir/pkg/usr/share/applications/nvidia-settings.desktop
+ install -m644 share/pixmaps/nvidia-settings.png $startdir/pkg/usr/share/pixmaps/ || return 1
+ install X11R6/lib/modules/libnvidia-wfb.so.$pkgver $startdir/pkg/usr/lib/xorg/modules || return 1
+ install X11R6/lib/modules/drivers/nvidia_drv.so $startdir/pkg/usr/lib/xorg/modules/drivers || return 1
+ install X11R6/lib/modules/extensions/libglx.so.$pkgver $startdir/pkg/usr/lib/xorg/modules/extensions || return 1
+ install -m755 bin/nvidia-{settings,xconfig,bug-report.sh} $startdir/pkg/usr/bin/ || return 1
+ cd $startdir/pkg/usr/lib/
+ ln -s libGL.so.$pkgver libGL.so || return 1
+ ln -s libGL.so.$pkgver libGL.so.1 || return 1
+ ln -s libGLcore.so.$pkgver libGLcore.so.1 || return 1
+ ln -s libnvidia-cfg.so.$pkgver libnvidia-cfg.so.1 || return 1
+ ln -s libnvidia-tls.so.$pkgver libnvidia-tls.so.1 || return 1
+ ln -s libcuda.so.$pkgver libcuda.so.1 || return 1
+ ln -s libXvMCNVIDIA.so.$pkgver libXvMCNVIDIA_dynamic.so.1 || return 1
+ ln -s libvdpau.so.$pkgver libvdpau.so.1 || return 1
+ ln -s libvdpau.so.$pkgver libvdpau.so || return 1
+ cd $startdir/pkg/usr/lib/xorg/modules/extensions
+ ln -s libglx.so.$pkgver libglx.so || return 1
+
+ install -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}/LICENSE $startdir/pkg/usr/share/licenses/nvidia/ || return 1
+ ln -s nvidia $startdir/pkg/usr/share/licenses/nvidia-utils || return 1
+ install -D -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}/usr/share/doc/README.txt $startdir/pkg/usr/share/doc/nvidia/README || return 1
+ install -D -m644 $startdir/src/supported-cards.txt $startdir/pkg/usr/share/doc/nvidia/supported-cards.txt || return 1
+
+ find $startdir/pkg/usr -type d -exec chmod 755 {} \;
+}
+
diff --git a/abs/extra/community/nvidia-utils-beta/nvidia.install b/abs/extra/community/nvidia-utils-beta/nvidia.install
new file mode 100644
index 0000000..6f50f79
--- /dev/null
+++ b/abs/extra/community/nvidia-utils-beta/nvidia.install
@@ -0,0 +1,36 @@
+# arg 1: the new package version
+post_install() {
+
+ echo -------------------------------
+ echo By using this package you accept the NVIDIA license,
+ echo which has been installed in /usr/share/licenses/nvidia/LICENSE
+ echo If you do not accept this license, you must remove the package immediately.
+ echo Dont forget to update your /etc/X11/xorg.conf
+ echo In order to use nvidia-settings, you need to install the 'gtk2' package.
+ echo In order to use nvidia-xconfig, you need to install the 'pkgconfig' package.
+ echo -------------------------------
+ echo nvidia 9746 drops support for Geforce 3 and 4 cards
+ echo If you have such a card, install the nvidia-96xx, nvidia-96xx-utils,
+ echo nvidia-96xx-ck, nvidia-96xx-beyond, nvidia-96xx-suspend2 packages
+ echo For a list of supported cards, see /usr/share/doc/nvidia/supported-cards.txt
+ echo -------------------------------
+ echo This drivers are beta. We recommend to use drivers from extra repo.
+
+# echo ":: Updating symlinks to use built-in libwfb"
+# ln -sf /usr/lib/xorg/modules/libnvidia-wfb.so.* /usr/lib/xorg/modules/libwfb.so
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+#post_remove() {
+# echo ":: Updating symlinks to use xorg-server libwfb"
+# ln -sf /usr/lib/xorg/modules/libwfb.so.* /usr/lib/xorg/modules/libwfb.so
+#}
+
+op=$1
+shift
+$op $*
diff --git a/abs/extra/community/nvidia-utils-beta/supported-cards.txt b/abs/extra/community/nvidia-utils-beta/supported-cards.txt
new file mode 100644
index 0000000..7dfcb45
--- /dev/null
+++ b/abs/extra/community/nvidia-utils-beta/supported-cards.txt
@@ -0,0 +1,272 @@
+Archlinux currently manages three branches of the NVIDIA binary driver:
+
+nvidia (latest nvidia release)
+nvidia-96xx (96xx legacy branch)
+nvidia-71xx (71xx legacy branch)
+
+This contains GPUs currently supported by the 177.76 beta driver.
+
+______________________________________________________________________________
+
+Appendix A. Supported NVIDIA GPU Products
+______________________________________________________________________________
+
+For the most complete and accurate listing of supported GPUs, please see the
+Supported Products List, available from the NVIDIA Linux x86 Graphics Driver
+download page. Please go to http://www.nvidia.com/object/unix.html, follow the
+Archive link under the Linux x86 heading, follow the link for the 177.36
+driver, and then go to the Supported Products List.
+
+
+A1. NVIDIA GEFORCE GPUS
+
+
+ NVIDIA GPU product Device PCI ID
+ ---------------------------------- ----------------------------------
+ GeForce 9800 GTX+ 0x0613
+ GeForce 9800GT 0x0614
+ GeForce 8100P 0x0847
+ nForce 780a SLI 0x084C
+ nForce 750a SLI 0x084D
+ GeForce 9700 M GTS 0x062A
+ GeForce 9800 GX2 0x0604
+ GeForce 9800 GTX 0x0612
+ GeForce 9600 GT 0x0622
+ GeForce 9500 GT 0x0640
+ GeForce 9500M GS 0x0405
+ GeForce 8800M GTX 0x060C
+ GeForce 8800M GTS 0x0609
+ GeForce 8800 Ultra 0x0194
+ GeForce 8800 GTX 0x0191
+ GeForce 8800 GTS 512 0x0600
+ GeForce 8800 GTS 0x0193
+ GeForce 8800 GT 0x0602
+ GeForce 8800 GT 0x0611
+ GeForce 8800 GS 0x0606
+ GeForce 8800 GS 0x060D
+ GeForce 8700M GT 0x0409
+ GeForce 8600M GT 0x0407
+ GeForce 8600M GS 0x0425
+ GeForce 8600 GTS 0x0400
+ GeForce 8600 GT 0x0401
+ GeForce 8600 GT 0x0402
+ GeForce 8500 GT 0x0421
+ GeForce 8400M GT 0x0426
+ GeForce 8400M GS 0x0427
+ GeForce 8400M G 0x0428
+ GeForce 8400 SE 0x0420
+ GeForce 8400 GS 0x0404
+ GeForce 8400 GS 0x0422
+ GeForce 8400 GS 0x0424
+ GeForce 8400 GS 0x06E4
+ GeForce 8300 GS 0x0423
+ GeForce 8300 0x0848
+ GeForce 8200/ nForce 730a 0x084A
+ GeForce 8200 0x0849
+ GeForce 8200 0x084B
+ GeForce 8100 / nForce 720a 0x084F
+ GeForce 7950 GX2 0x0293
+ GeForce 7950 GX2 0x0294
+ GeForce 7950 GT 0x0295
+ GeForce 7950 GT 0x02E4
+ GeForce 7900 GTX 0x0290
+ GeForce 7900 GT/GTO 0x0291
+ GeForce 7900 GS 0x0292
+ GeForce 7900 GS 0x02E3
+ GeForce 7800 SLI 0x0095
+ GeForce 7800 GTX 0x0090
+ GeForce 7800 GTX 0x0091
+ GeForce 7800 GT 0x0092
+ GeForce 7800 GS 0x0093
+ GeForce 7800 GS 0x00F5
+ GeForce 7650 GS 0x0390
+ GeForce 7600 LE 0x0394
+ GeForce 7600 GT 0x02E0
+ GeForce 7600 GT 0x0391
+ GeForce 7600 GS 0x02E1
+ GeForce 7600 GS 0x0392
+ GeForce 7500 LE 0x01DD
+ GeForce 7350 LE 0x01D0
+ GeForce 7300 SE/7200 GS 0x01D3
+ GeForce 7300 LE 0x01D1
+ GeForce 7300 GT 0x0393
+ GeForce 7300 GT 0x0395
+ GeForce 7300 GS 0x01DF
+ GeForce 7150M / nForce 630M 0x0531
+ GeForce 7150 / NVIDIA nForce 630i 0x07E0
+ GeForce 7100 GS 0x016A
+ GeForce 7100 / NVIDIA nForce 630i 0x07E1
+ GeForce 7050 PV / NVIDIA nForce 630a 0x053A
+ GeForce 7050 PV / NVIDIA nForce 630a 0x053B
+ GeForce 7050 / NVIDIA nForce 610i 0x07E3
+ GeForce 7025 / NVIDIA nForce 630a 0x053E
+ GeForce 7000M / nForce 610M 0x0533
+ GeForce 6800 XT 0x0044
+ GeForce 6800 XT 0x0048
+ GeForce 6800 XT 0x00C3
+ GeForce 6800 XT 0x0218
+ GeForce 6800 XE 0x0043
+ GeForce 6800 Ultra 0x0040
+ GeForce 6800 Ultra 0x00F9
+ GeForce 6800 LE 0x0042
+ GeForce 6800 LE 0x00C2
+ GeForce 6800 LE 0x0212
+ GeForce 6800 GT 0x0045
+ GeForce 6800 GT 0x0046
+ GeForce 6800 GT 0x0215
+ GeForce 6800 GS 0x0047
+ GeForce 6800 GS 0x00C0
+ GeForce 6800 GS 0x00F6
+ GeForce 6800 0x0041
+ GeForce 6800 0x00C1
+ GeForce 6800 0x00F0
+ GeForce 6800 0x0211
+ GeForce 6700 XL 0x0147
+ GeForce 6610 XL 0x0145
+ GeForce 6600 VE 0x0143
+ GeForce 6600 LE 0x00F4
+ GeForce 6600 LE 0x0142
+ GeForce 6600 GT 0x00F1
+ GeForce 6600 GT 0x0140
+ GeForce 6600 0x00F2
+ GeForce 6600 0x0141
+ GeForce 6500 0x0160
+ GeForce 6250 0x0169
+ GeForce 6200SE TurboCache(TM) 0x0162
+ GeForce 6200 TurboCache(TM) 0x0161
+ GeForce 6200 LE 0x0163
+ GeForce 6200 A-LE 0x0222
+ GeForce 6200 0x00F3
+ GeForce 6200 0x014F
+ GeForce 6200 0x0221
+ GeForce 6150SE nForce 430 0x03D0
+ GeForce 6150 LE 0x0241
+ GeForce 6150 0x0240
+ GeForce 6100 nForce 420 0x03D5
+ GeForce 6100 nForce 405 0x03D1
+ GeForce 6100 nForce 400 0x03D2
+ GeForce 6100 0x0242
+ GeForce PCX 5900 0x00FB
+ GeForce PCX 5750 0x00FA
+ GeForce PCX 5300 0x00FC
+ GeForce Go 7950 GTX 0x0297
+ GeForce Go 7900 GTX 0x0299
+ GeForce Go 7900 GS 0x0298
+ GeForce Go 7800 GTX 0x0099
+ GeForce Go 7800 0x0098
+ GeForce Go 7600 GT 0x0399
+ GeForce Go 7600 0x0398
+ GeForce Go 7400 0x01D8
+ GeForce Go 7300 0x01D7
+ GeForce Go 7200 0x01D6
+ GeForce Go 6800 Ultra 0x00C9
+ GeForce Go 6800 0x00C8
+ GeForce Go 6600 TE/6200 TE 0x0146
+ GeForce Go 6600 GT 0x0149
+ GeForce Go 6600 0x0144
+ GeForce Go 6600 0x0148
+ GeForce Go 6400 0x0166
+ GeForce Go 6400 0x0168
+ GeForce Go 6200 0x0164
+ GeForce Go 6200 0x0167
+ GeForce Go 6150 0x0244
+ GeForce Go 6100 0x0247
+ GeForce FX Go5700 0x0347
+ GeForce FX Go5700 0x0348
+ GeForce FX Go5650 0x031B
+ GeForce FX Go5600 0x031A
+ GeForce FX Go53xx 0x032C
+ GeForce FX Go5250 0x0325
+ GeForce FX Go5200 32M/64M 0x0328
+ GeForce FX Go5200 0x0324
+ GeForce FX Go5100 0x032D
+ GeForce FX 5950 Ultra 0x0333
+ GeForce FX 5900ZT 0x0334
+ GeForce FX 5900XT 0x0332
+ GeForce FX 5900 Ultra 0x0330
+ GeForce FX 5900 0x0331
+ GeForce FX 5800 Ultra 0x0301
+ GeForce FX 5800 0x0302
+ GeForce FX 5700VE 0x0344
+ GeForce FX 5700LE 0x0343
+ GeForce FX 5700 Ultra 0x0341
+ GeForce FX 5700 0x0342
+ GeForce FX 5600XT 0x0314
+ GeForce FX 5600 Ultra 0x0311
+ GeForce FX 5600 0x0312
+ GeForce FX 5500 0x0326
+ GeForce FX 5200LE 0x0323
+ GeForce FX 5200 Ultra 0x0321
+ GeForce FX 5200 0x0320
+ GeForce FX 5200 0x0322
+ GeForce FX 5100 0x0327
+
+
+A1. TESLA GPUS
+
+ NVIDIA GPU product Device PCI ID
+ ---------------------------------- ----------------------------------
+ Tesla C870 0x0197
+
+
+A1. NVIDIA GEFORCE GPUS
+
+ NVIDIA GPU product Device PCI ID
+ ---------------------------------- ----------------------------------
+ Quadro FX 770M 0x065C
+ Quadro NVS 160M 0x06EB
+ Quadro NVS 150M 0x06EA
+ Quadro FX 1000 0x0309
+ Quadro FX 1100 0x034E
+ Quadro FX 1300 0x00FE
+ Quadro FX 1400 0x00CE
+ Quadro FX 1500 0x029E
+ Quadro FX 1500M 0x029B
+ Quadro FX 1600M 0x040D
+ Quadro FX 1700 0x040F
+ Quadro FX 2000 0x0308
+ Quadro FX 2500M 0x029A
+ Quadro FX 3000 0x0338
+ Quadro FX 330 0x00FC
+ Quadro FX 3450/4000 SDI 0x00CD
+ Quadro FX 350 0x01DE
+ Quadro FX 3500 0x029D
+ Quadro FX 350M 0x01DC
+ Quadro FX 3600M 0x061C
+ Quadro FX 360M 0x042D
+ Quadro FX 370 0x040A
+ Quadro FX 3700 0x061A
+ Quadro FX 4000 0x004E
+ Quadro FX 4400/Quadro FX 3400 0x00F8
+ Quadro FX 4500 0x009D
+ Quadro FX 4500 X2 0x029F
+ Quadro FX 4600 0x019E
+ Quadro FX 500/FX 600 0x032B
+ Quadro FX 540 0x014E
+ Quadro FX 540M 0x014C
+ Quadro FX 550 0x014D
+ Quadro FX 5500 0x029C
+ Quadro FX 560 0x039E
+ Quadro FX 5600 0x019D
+ Quadro FX 570 0x040E
+ Quadro FX 570M 0x040C
+ Quadro FX 700 0x033F
+ Quadro FX Go1000 0x034C
+ Quadro FX Go1400 0x00CC
+ Quadro FX Go700 0x031C
+ Quadro NVS 110M 0x01D7
+ Quadro NVS 110M 0x01DA
+ Quadro NVS 120M 0x01DB
+ Quadro NVS 130M 0x042A
+ Quadro NVS 135M 0x042B
+ Quadro NVS 140M 0x0429
+ Quadro NVS 210S 0x0245
+ NVIDIA GeForce 6150L 0x0245
+ Quadro NVS 280 PCI-E/Quadro FX 330 0x00FD
+ Quadro NVS 285 0x0165
+ Quadro NVS 290 0x042F
+ Quadro NVS 320M 0x040B
+ Quadro NVS 440 0x014A
+ Quadro NVS 55/280 PCI 0x032A
+
+
diff --git a/abs/extra/community/nxtvepg.tar.gz b/abs/extra/community/nxtvepg.tar.gz
new file mode 100644
index 0000000..fe8da09
--- /dev/null
+++ b/abs/extra/community/nxtvepg.tar.gz
Binary files differ
diff --git a/abs/extra/community/nxtvepg/PKGBUILD b/abs/extra/community/nxtvepg/PKGBUILD
new file mode 100644
index 0000000..5de6bc7
--- /dev/null
+++ b/abs/extra/community/nxtvepg/PKGBUILD
@@ -0,0 +1,45 @@
+# Contributor: Perry3D <perry3d at gmail dot com>
+# Previous: Gilles CHAUVIN <gcnweb at gmail dot com>
+
+pkgname=nxtvepg
+pkgver=2.8.1
+pkgrel=2
+pkgdesc="A decoder for nexTView EPG an Electronic TV Programme Guide"
+url="http://nxtvepg.sf.net/"
+license="GPL"
+depends=('tcl>=8.5.0' 'tk' 'libxmu')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz \
+tcl_85.patch \
+$pkgname-icon-16.png $pkgname-icon-32.png $pkgname-icon-48.png \
+$pkgname.desktop)
+arch=('i686' 'x86_64')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+
+ msg "Applying patch for tcl/tk8.5..."
+ patch -p0 < ../tcl_85.patch
+
+ make || return 1
+
+ make prefix=$startdir/pkg/usr/ \
+ bindir=$startdir/pkg/usr/bin \
+ resdir=$startdir/pkg/usr/share/X11 \
+ INST_DB_DIR=$startdir/pkg/var/tmp/nxtvdb \
+ cfgdir=$startdir/pkg/usr/share/nxtvepg \
+ install
+
+ # Icons
+ for size in 16 32 48; do
+ install $startdir/src/$pkgname-icon-$size.png -D -m644 $startdir/pkg/usr/share/pixmaps/$pkgname-icon-$size.png
+ done
+
+ # .desktop file
+ install $startdir/src/$pkgname.desktop -D -m644 $startdir/pkg/usr/share/applications/$pkgname.desktop
+}
+md5sums=('0811b1b95537b3cbab9f8d18d1501411'
+ 'db5e77089204aeb35e84c7f5505664a6'
+ '5f7c220d3355b6f043a2bdd5acec8608'
+ '8988d3f33a90bd99f9a61d8f7e4f46c3'
+ '26d86bd935df1dc9328f07b879f30de2'
+ '5d14ff096ef811ccb7dc330e5d3a76fd')
diff --git a/abs/extra/community/nxtvepg/nxtvepg-icon-16.png b/abs/extra/community/nxtvepg/nxtvepg-icon-16.png
new file mode 100644
index 0000000..e6d8a85
--- /dev/null
+++ b/abs/extra/community/nxtvepg/nxtvepg-icon-16.png
Binary files differ
diff --git a/abs/extra/community/nxtvepg/nxtvepg-icon-32.png b/abs/extra/community/nxtvepg/nxtvepg-icon-32.png
new file mode 100644
index 0000000..9071f10
--- /dev/null
+++ b/abs/extra/community/nxtvepg/nxtvepg-icon-32.png
Binary files differ
diff --git a/abs/extra/community/nxtvepg/nxtvepg-icon-48.png b/abs/extra/community/nxtvepg/nxtvepg-icon-48.png
new file mode 100644
index 0000000..a5f991b
--- /dev/null
+++ b/abs/extra/community/nxtvepg/nxtvepg-icon-48.png
Binary files differ
diff --git a/abs/extra/community/nxtvepg/nxtvepg.desktop b/abs/extra/community/nxtvepg/nxtvepg.desktop
new file mode 100644
index 0000000..6703dfc
--- /dev/null
+++ b/abs/extra/community/nxtvepg/nxtvepg.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Comment=Electronic TV Programme Guide
+Icon=/usr/share/pixmaps/nxtvepg-icon-48.png
+Exec=nxtvepg
+Name=nexTView EPG
+GenericName=electronic TV Programme Guide
+Terminal=false
+Type=Application
+Categories=Application;AudioVideo;
diff --git a/abs/extra/community/nxtvepg/tcl_85.patch b/abs/extra/community/nxtvepg/tcl_85.patch
new file mode 100644
index 0000000..9059a6c
--- /dev/null
+++ b/abs/extra/community/nxtvepg/tcl_85.patch
@@ -0,0 +1,13 @@
+--- Makefile.orig 2008-02-03 20:01:14.000000000 +0100
++++ Makefile 2008-02-03 20:01:23.000000000 +0100
+@@ -58,8 +58,8 @@
+ YACC = /usr/bin/yacc
+
+ # select Tcl/Tk version (8.5 recommended due to modernized widget appearence)
+-TCL_VER := $(shell echo 'puts [package require Tcl]' | tclsh)
+-#TCL_VER = 8.5
++#TCL_VER := $(shell echo 'puts [package require Tcl]' | tclsh)
++TCL_VER = 8.5
+
+ ifeq ($(shell test -d /usr/include/tcl$(TCL_VER) && echo YES),YES)
+ INCS += -I/usr/include/tcl$(TCL_VER)
diff --git a/abs/extra/community/nzbperl/PKGBUILD b/abs/extra/community/nzbperl/PKGBUILD
new file mode 100755
index 0000000..bbfee00
--- /dev/null
+++ b/abs/extra/community/nzbperl/PKGBUILD
@@ -0,0 +1,16 @@
+#Contributor: Xavier Vierling <xavierling@free.fr>
+pkgname=nzbperl
+pkgver=0.6.8
+pkgrel=1
+pkgdesc="nzb based nntp/usenet downloader in perl"
+arch=('i686' 'x86_64')
+url="http://noisybox.net/computers/nzbperl/"
+license="GPL"
+depends=(perl-term-readkey perl-xml-dom uudeview)
+source=(http://noisybox.net/computers/nzbperl/$pkgname-$pkgver.pl)
+md5sums=('70e64b7cd4ff9c7c098bf8dffeb62578')
+
+build() {
+ cd $startdir/src
+ install -D nzbperl-$pkgver.pl $startdir/pkg/usr/bin/nzbperl
+} \ No newline at end of file
diff --git a/abs/extra/community/projectx/PKGBUILD b/abs/extra/community/projectx/PKGBUILD
new file mode 100644
index 0000000..62092a4
--- /dev/null
+++ b/abs/extra/community/projectx/PKGBUILD
@@ -0,0 +1,45 @@
+# Contributer: Sebastian Sareyko <public@nooms.de>
+
+pkgname=projectx
+pkgver=0.90.4.00
+pkgrel=8
+license=('GPL')
+arch=('i686' 'x86_64')
+pkgdesc="DVB demux tool for repairing and analyzing different stream types"
+makedepends=('java-environment')
+depends=('java-runtime')
+url="http://sourceforge.net/projects/project-x"
+source=(http://dl.sourceforge.net/sourceforge/project-x/ProjectX_Source_eng_$pkgver.zip \
+ http://dl.sourceforge.net/sourceforge/project-x/ProjectX_LanguagePack_$pkgver.zip \
+ projectx)
+
+md5sums=('92d7b5aea50b8811307f27b6e01ceb5c'
+ 'edfe8d04bd3d403eec4d9e27d1b976d2'
+ '0c88b15884a0c997e3386d15e207cd30')
+
+build() {
+ cd $startdir/src/ProjectX_Source_0.90.4
+
+ sed -i 's,^Exec=.*,Exec=projectx,' projectx.desktop
+
+ mkdir -p build
+
+ javac -encoding "ISO-8859-1" -O -g:none \
+ -classpath lib/commons-net-1.3.0.jar:lib/jakarta-oro-2.0.8.jar \
+ -d build @sources.lst || return 1
+
+ mv resources/* ./build
+ sed -i -e 's/ReleaseNotes_0.90.1.txt/ReleaseNotes_0.90.4.txt/' htmls/index.html
+ mv htmls build
+ mv ReadMe.txt build
+ mv ReleaseNotes_0.90.4.txt build
+ jar cvfm ProjectX.jar MANIFEST.MF -C build .
+
+ install -D -m0755 $startdir/projectx $startdir/pkg/usr/bin/projectx
+ install -D -m0644 ProjectX.jar $startdir/pkg/opt/projectx/ProjectX.jar
+ install -D -m0644 lib/commons-net-1.3.0.jar \
+ $startdir/pkg/opt/projectx/lib/commons-net-1.3.0.jar
+ install -D -m0644 lib/jakarta-oro-2.0.8.jar \
+ $startdir/pkg/opt/projectx/lib/jakarta-oro-2.0.8.jar
+ install -D -m0644 projectx.desktop $startdir/pkg/usr/share/applications/projectx.desktop
+}
diff --git a/abs/extra/community/projectx/projectx b/abs/extra/community/projectx/projectx
new file mode 100644
index 0000000..1d540bc
--- /dev/null
+++ b/abs/extra/community/projectx/projectx
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ ! -d ~/.projectx ] ; then
+ mkdir ~/.projectx
+fi
+
+if [ "$#" -eq 0 ] ; then
+ cd ~/.projectx
+fi
+java -jar /opt/projectx/ProjectX.jar "$@"
diff --git a/abs/extra/community/pyxdg/PKGBUILD b/abs/extra/community/pyxdg/PKGBUILD
new file mode 100644
index 0000000..c56fd55
--- /dev/null
+++ b/abs/extra/community/pyxdg/PKGBUILD
@@ -0,0 +1,18 @@
+# $Id: PKGBUILD 16878 2008-10-23 00:28:55Z douglas $
+# Maintainer: Aaron Griffin <aarongriffin@gmail.com>
+# Contributor: Mario A. Vazquez <mario_vazq@hotmail.com>
+pkgname=pyxdg
+pkgver=0.15
+pkgrel=3
+pkgdesc="Python library to access freedesktop.org standards."
+arch=(i686 x86_64)
+url="http://freedesktop.org/Software/pyxdg"
+license=("LGPL")
+depends=('python')
+source=(http://gentoolabs.com.ar/distfiles/${pkgname}-${pkgver}.tar.gz)
+
+build() {
+ cd ${startdir}/src/${pkgname}-${pkgver}
+ python setup.py install --prefix=/usr --root=${startdir}/pkg || return 1
+}
+md5sums=('86a5441285fc908145414b63348d11a3')
diff --git a/abs/extra/community/screen/PKGBUILD b/abs/extra/community/screen/PKGBUILD
new file mode 100644
index 0000000..f97df4b
--- /dev/null
+++ b/abs/extra/community/screen/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 9361 2008-08-17 06:28:44Z allan $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Committer: dorphell <dorphell@gmx.net>
+
+pkgname=screen
+pkgver=4.0.3
+pkgrel=6
+_ptygroup=5 #the UID of our PTY/TTY group
+pkgdesc="Full-screen window manager that multiplexes a physical terminal"
+license=('GPL')
+arch=('i686' 'x86_64')
+install=screen.install
+depends=(ncurses libelf shadow gpm)
+backup=('etc/screenrc' 'etc/pam.d/screen')
+url="ftp://ftp.uni-erlangen.de/pub/utilities/screen"
+source=(ftp://ftp.uni-erlangen.de/pub/utilities/screen/screen-${pkgver}.tar.gz \
+ screen.pam)
+md5sums=('8506fd205028a96c741e4037de6e3c42' '74f7919d7b65436cc2ea5341fa8ca374')
+
+build() {
+ export MAKEFLAGS="-j1"
+ cd ${startdir}/src/${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr --enable-pam \
+ --with-sys-screenrc=/etc/screenrc --enable-colors256 \
+ --enable-rxvt_osc --with-pty-group=$_ptygroup \
+ --mandir=/usr/share/man
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+ mkdir -p ${startdir}/pkg/etc/pam.d
+ install -m644 ${startdir}/src/screen.pam ${startdir}/pkg/etc/pam.d/screen
+
+ cd etc/
+ mkdir -p ${startdir}/pkg/usr/share/zsh/site-functions/
+ install -m644 completer.zsh ${startdir}/pkg/usr/share/zsh/site-functions/screen
+ mkdir -p ${startdir}/pkg/etc/skel/
+ install -m644 etcscreenrc ${startdir}/pkg/etc/screenrc
+ install -m644 screenrc ${startdir}/pkg/etc/skel/.screenrc
+
+ rm -rf ${startdir}/pkg/usr/info
+}
diff --git a/abs/extra/community/screen/screen.install b/abs/extra/community/screen/screen.install
new file mode 100644
index 0000000..51bd6a7
--- /dev/null
+++ b/abs/extra/community/screen/screen.install
@@ -0,0 +1,27 @@
+
+pre_upgrade() {
+ pre_remove $*
+}
+
+pre_remove() {
+ compiled="/usr/share/terminfo/s/screen-256color"
+ if [ -e $compiled ]; then
+ if pacman -Qo $compiled 2>&1 | grep "No package owns" >/dev/null; then
+ echo -n "removing compiled terminfo..."
+ rm -f $compiled
+ echo "done."
+ fi
+ fi
+ compiled="/usr/share/terminfo/s/screen-256color-bce"
+ if [ -e $compiled ]; then
+ if pacman -Qo $compiled 2>&1 | grep "No package owns" >/dev/null; then
+ echo -n "removing compiled terminfo..."
+ rm -f $compiled
+ echo "done."
+ fi
+ fi
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/extra/community/screen/screen.pam b/abs/extra/community/screen/screen.pam
new file mode 100644
index 0000000..07c42ad
--- /dev/null
+++ b/abs/extra/community/screen/screen.pam
@@ -0,0 +1 @@
+auth required pam_unix.so
diff --git a/abs/extra/community/smplayer/ChangeLog b/abs/extra/community/smplayer/ChangeLog
new file mode 100644
index 0000000..a40f9a4
--- /dev/null
+++ b/abs/extra/community/smplayer/ChangeLog
@@ -0,0 +1,62 @@
+2009-03-13 Allan McRae <allan@archlinux.org>
+ * smplayer 0.6.7-1
+ * Upstream update
+
+2009-01-01 Allan McRae <allan@archlinux.org>
+ * smplayer 0.6.6-1
+ * Upstream update
+
+2008-11-14 Allan McRae <allan@archlinux.org>
+ * smplayer 0.6.5.1-1
+ * Upstream update
+
+2008-10-27 Allan McRae <allan@archlinux.org>
+ * smplayer 0.6.4-1
+ * Upstream update
+
+2008-09-27 Allan McRae <allan@archlinux.org>
+ * smplayer 0.6.3-1
+ * Upstream update
+
+2008-06-21 Allan McRae <allan@archlinux.org>
+
+ * smplayer 0.6.2-1
+ * Upstream update
+ * Removed install message
+
+2008-06-21 Allan McRae <allan@archlinux.org>
+
+ * smplayer 0.6.1-1
+ * Upstream update
+ * Removed provides/conflicts/replaces
+
+2008-05-23 Eric Belanger <eric@archlinux.org>
+
+ * smplayer 0.6.0-1
+ * Upstream update
+ * Updated .install file
+
+2008-01-32 Varun Acharya <varun@archlinux.org>
+
+ * smplayer-0.5.62-1 moved to extra, thanks molok
+ * PKGBUILD cleanup
+
+2007-11-27 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+ * smplayer-0.5.62-1
+ * version bump
+
+2007-10-24 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+ * smplayer-0.5.61-1
+ * build against qt4
+ * removed post_upgrade message
+
+2007-07-12 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+ * smplayer-0.5.21-1
+ * version bump
+
+2007-05-30 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+ * smplayer-0.5.0-1
+ * version bump
diff --git a/abs/extra/community/smplayer/PKGBUILD b/abs/extra/community/smplayer/PKGBUILD
new file mode 100644
index 0000000..3aa1d3d
--- /dev/null
+++ b/abs/extra/community/smplayer/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 29947 2009-03-14 00:58:48Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+# Contributor: shamrok <szamrok@gmail.com>
+
+pkgname=smplayer
+pkgver=0.6.7
+pkgrel=2
+pkgdesc="A complete front-end for MPlayer"
+arch=('i686' 'x86_64')
+url="http://smplayer.sourceforge.net/"
+license=('GPL')
+depends=('qt' 'mplayer')
+source=(http://downloads.sourceforge.net/sourceforge/smplayer/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('306b99374ad89cee93f1ad6fa94dea71')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # remove broken translation
+ sed -i "s|translations/smplayer_gl.ts|#translations/smplayer_gl.ts|" src/smplayer.pro
+
+ make PREFIX=/usr || return 1
+ make PREFIX=${pkgdir}/usr install || return 1
+
+ install -dm755 ${pkgdir}/usr/share/pixmaps
+ ln -s /usr/share/icons/hicolor/64x64/apps/smplayer.png \
+ ${pkgdir}/usr/share/pixmaps/
+}
+
diff --git a/abs/extra/community/torrentflux/PKGBUILD b/abs/extra/community/torrentflux/PKGBUILD
new file mode 100644
index 0000000..2f2c9f0
--- /dev/null
+++ b/abs/extra/community/torrentflux/PKGBUILD
@@ -0,0 +1,51 @@
+# 'Maintainer': Mikko Seppälä <t-r-a-y@mbnet.fi> aka Neverth
+
+pkgname=torrentflux
+pkgver=2.4
+pkgrel=4
+pkgdesc="TorrentFlux is a free php based Torrent client that runs on a web server. Manage all of your Torrents remotely or locally."
+arch=(i686 x86_64)
+url="http://www.torrentflux.com/"
+license=(GPL)
+# You still need your favorite httpd, I do not wish to force it.
+depends=('mysql' 'php' 'python' 'pycrypto' 'transmission-cli')
+makedepends=('findutils')
+conflicts=('torrentflux2')
+backup=('opt/torrentflux/config.php')
+install=(torrentflux.install)
+source=("http://mesh.dl.sourceforge.net/sourceforge/torrentflux/${pkgname}_${pkgver}.tar.gz" "torrentflux.install")
+md5sums=('8fdc3952bc2ece9f10bcee299b2aeb16' 'f14ebd47dd41c7949411973c2f74f4fd')
+
+build()
+{
+ cd $startdir/src/${pkgname}_${pkgver}
+ install -d $startdir/pkg/opt/torrentflux
+
+ # This thing is compressed in windows? fix permissions later..
+ cp -R html/* $startdir/pkg/opt/torrentflux/
+ cp -R sql $startdir/pkg/opt/torrentflux
+
+ cd $startdir/pkg
+ # Our group
+ chgrp -R daemon opt/torrentflux
+ chmod -R 775 opt/torrentflux
+
+ # Our mysqluser, we dont want root here :p
+ sed -re 's/root/torrentfluxie/' -i opt/torrentflux/config.php
+
+ cd opt/torrentflux
+ # Permissions...
+ find ./ -name \*php -exec chmod 444 '{}' \;
+ find ./ -name \*png -exec chmod 444 '{}' \;
+ find ./ -name \*gif -exec chmod 444 '{}' \;
+ # They dont want to read this
+ chmod 660 config.php
+ chmod 444 favicon.ico dtree.css *.js blank.html TF_BitTornado/index.html images/*{gif,png,ico,html} searchEngines/* themes/index.html downloads/index.html
+ # We dont touch to adodb, leave it for customizer, as so we leave subdirs for now
+
+ # Upgrade files
+ install -D -m444 $startdir/src/${pkgname}_${pkgver}/upgrades/upgrade21_22.php $startdir/pkg/opt/torrentflux/upgradeflux21_22.php
+ install -D -m444 $startdir/src/${pkgname}_${pkgver}/upgrades/upgrade22_23.php $startdir/pkg/opt/torrentflux/upgradeflux22_23.php
+ install -D -m444 $startdir/src/${pkgname}_${pkgver}/upgrades/upgrade23_24.php $startdir/pkg/opt/torrentflux/upgradeflux23_24.php
+}
+
diff --git a/abs/extra/community/torrentflux/torrentflux.install b/abs/extra/community/torrentflux/torrentflux.install
new file mode 100644
index 0000000..2aa50aa
--- /dev/null
+++ b/abs/extra/community/torrentflux/torrentflux.install
@@ -0,0 +1,60 @@
+post_install() {
+ cat << EOF
+OK. So youre about to install torrentflux? Postgresql and mysql are supported.
+Instructions are for mysql so lets use it? ok?
+Remove mysql from depencies if you dont like.
+(mysqlcommands might need '-u root -p' depending on your setup)
+
+1. You need to create mysql database for it
+mysqladmin create torrentflux
+(eg. 'mysqladmin -u root -p create torrentflux' if needed)
+
+2. Load the script that creates tables and such
+(.sql files for postgresql are here too!)
+mysql torrentflux < /opt/torrentflux/sql/mysql_torrentflux.sql
+
+3. Edit the config.php located in /opt/torrentflux/html
+
+4. Point your fav http server to use this,
+(eg. use vhosts for apache or create symlink to /opt/torrentflux from
+somewhere that http server can access)
+
+5. Our database user is "torrentfluxie"
+(use mysql_setpermission to give rights for him)
+mysql_setpermission -u mysqlroot
+hit 5 in menu and choose torrentflux as database
+give torrentfluxie as user and give password if you want
+(if you do this, you need to set the password to /opt/torrentflux/config.php:
+$cfg["db_pass"] = "yourpass";)
+localhost is good choice for host
+(we dont need password always if we got private comp)
+
+6. Safemode must be off in php.ini (/etc/php.ini)
+
+httpd server must support php and mysql, you can look for archwiki
+if you dont know howto enable them.
+Notice that the httpd server should belong to daemon group
+(one way or another)
+EOF
+}
+
+post_upgrade() {
+ cat << EOF
+To upgrade your database, use files in /opt/torrentflux/
+(eg for 2.2 -> 2.4 go from browser to http://yourtorrentfuxdomain.and.path/upgradeflux22_23.php
+and do the same on upgradeflux23_24.php file)
+All your old information should stay trough the upgrades
+When it tells you to remove the files, just chmod them to 000 and they will not harm.
+EOF
+}
+
+pre_remove() {
+ /bin/echo "Remember to remove mysql tables if you want :p"
+ /bin/echo "mysqladmin -f drop torrentflux"
+ /bin/echo "(remeber -u root -p, hope it worked)"
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/abs/extra/community/transmission-cli/ChangeLog b/abs/extra/community/transmission-cli/ChangeLog
new file mode 100644
index 0000000..57a8a01
--- /dev/null
+++ b/abs/extra/community/transmission-cli/ChangeLog
@@ -0,0 +1,60 @@
+2008-12-27 Alexander Fehr <pizzapunk gmail com>
+
+ * transmission-cli-1.42-1:
+ New upstream release.
+
+2008-11-26 Alexander Fehr <pizzapunk gmail com>
+
+ * transmission-cli-1.40-1:
+ New upstream release.
+ Enabled web client.
+
+2008-09-17 Alexander Fehr <pizzapunk gmail com>
+
+ * transmission-cli-1.34-1:
+ New upstream release.
+
+2008-08-23 Alexander Fehr <pizzapunk gmail com>
+
+ * transmission-cli-1.33-1:
+ New upstream release.
+
+2008-08-09 Alexander Fehr <pizzapunk gmail com>
+
+ * transmission-cli-1.32-1:
+ New upstream release.
+
+2008-08-07 Alexander Fehr <pizzapunk gmail com>
+
+ * transmission-cli-1.31-1:
+ New upstream release.
+ Replaced transmission-remote -q with kill in init script.
+ Removed install message on upgrade.
+
+2008-07-20 Alexander Fehr <pizzapunk gmail com>
+
+ * transmission-cli-1.22-1:
+ New upstream release.
+ Renamed from transmission to transmission-cli.
+ New maintainer.
+ Split out GTK+ GUI into transmission-gtk.
+ Changed url.
+ Added make dependency on intltool.
+ Cleaned up init script.
+ Cleaned up install file.
+
+2008-01-07 Varun Acharya <varun@archlinux.org>
+
+ * transmission-1.00-1:
+ Adopted and moved to extra.
+
+2007-06-26 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+ * transmission-0.72-4:
+ I had to use gentoo's sources because the tarball provided by the official site is broken.
+ transmission-{daemon,remote} are back.
+
+2007-06-19 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+ * transmission-0.72-3:
+ Rebuild against libevent-1.3b.
diff --git a/abs/extra/community/transmission-cli/PKGBUILD b/abs/extra/community/transmission-cli/PKGBUILD
new file mode 100644
index 0000000..a3791fc
--- /dev/null
+++ b/abs/extra/community/transmission-cli/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 23076 2009-01-02 11:33:41Z alexanderf $
+# Maintainer: Alexander Fehr <pizzapunk gmail com>
+# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+
+pkgname=transmission-cli
+pkgver=1.42
+pkgrel=1
+pkgdesc="Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)"
+arch=('i686' 'x86_64')
+url="http://www.transmissionbt.com/"
+license=('MIT')
+depends=('curl')
+makedepends=('intltool')
+replaces=('transmission')
+backup=('etc/conf.d/transmissiond')
+install=transmission-cli.install
+source=(http://mirrors.m0k.org/transmission/files/transmission-$pkgver.tar.bz2
+ transmissiond
+ transmissiond.conf)
+md5sums=('c083bdcb01426466e80ee339bccd9351'
+ 'e2326d412e25b4449ff663a5d4015e1a'
+ '7b019a710493ec4f8b54a1f528e1981d')
+
+build() {
+ cd "$srcdir/transmission-$pkgver"
+
+ ./configure --prefix=/usr --disable-gtk --disable-wx || return 1
+ make || return 1
+ make DESTDIR="$pkgdir" install || return 1
+
+ install -D -m755 "$srcdir/transmissiond" "$pkgdir/etc/rc.d/transmissiond" || return 1
+ install -D -m644 "$srcdir/transmissiond.conf" "$pkgdir/etc/conf.d/transmissiond" || return 1
+
+ install -D -m644 COPYING "$pkgdir/usr/share/licenses/transmission-cli/COPYING" || return 1
+}
diff --git a/abs/extra/community/transmission-cli/transmission-cli.install b/abs/extra/community/transmission-cli/transmission-cli.install
new file mode 100644
index 0000000..cb6bf60
--- /dev/null
+++ b/abs/extra/community/transmission-cli/transmission-cli.install
@@ -0,0 +1,9 @@
+post_install() {
+ cat << _EOF
+
+ If you want to run the Transmission daemon at boot,
+ add transmissiond to the DAEMONS array in /etc/rc.conf.
+ You have to set the user in /etc/conf.d/transmissiond.
+
+_EOF
+}
diff --git a/abs/extra/community/transmission-cli/transmissiond b/abs/extra/community/transmission-cli/transmissiond
new file mode 100644
index 0000000..b2c9322
--- /dev/null
+++ b/abs/extra/community/transmission-cli/transmissiond
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/transmissiond
+
+PID=`pidof -o %PPID /usr/bin/transmission-daemon`
+case "$1" in
+ start)
+ stat_busy "Starting Transmission Daemon"
+ [ -z "$PID" ] && su -l -c "/usr/bin/transmission-daemon" $TRANS_USER
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon transmissiond
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Transmission Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon transmissiond
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/extra/community/transmission-cli/transmissiond.conf b/abs/extra/community/transmission-cli/transmissiond.conf
new file mode 100644
index 0000000..8f1275b
--- /dev/null
+++ b/abs/extra/community/transmission-cli/transmissiond.conf
@@ -0,0 +1 @@
+TRANS_USER=""
diff --git a/abs/extra/community/tre/PKGBUILD b/abs/extra/community/tre/PKGBUILD
new file mode 100644
index 0000000..b7d82eb
--- /dev/null
+++ b/abs/extra/community/tre/PKGBUILD
@@ -0,0 +1,19 @@
+# Contributor: Igor Galic<i.galic@gmail.com>
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de
+pkgname=tre
+pkgver=0.7.5
+pkgrel=4
+arch=('i686' 'x86_64')
+pkgdesc="POSIX compliant regexp matching library. It includes agrep for aproximate (fuzzy) grepping."
+url="http://laurikari.net/tre/index.html"
+license=('GPL')
+source=(http://laurikari.net/tre/$pkgname-$pkgver.tar.bz2)
+md5sums=('e72e5c94008865cf720992a0b25d6e89')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --enable-static || return 1
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+}
+
diff --git a/abs/extra/community/unrar/PKGBUILD b/abs/extra/community/unrar/PKGBUILD
new file mode 100644
index 0000000..6b68616
--- /dev/null
+++ b/abs/extra/community/unrar/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 18913 2008-11-10 11:16:31Z giovanni $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: dorphell <dorphell@gmx.net>
+
+pkgname=unrar
+pkgver=3.8.5
+pkgrel=1
+pkgdesc="The RAR uncompression program"
+arch=('i686' 'x86_64')
+depends=('gcc-libs')
+url="http://rarlab.com"
+license=('custom')
+replaces=('rar')
+source=(http://www.rarlab.com/rar/unrarsrc-${pkgver}.tar.gz)
+md5sums=('875688e6a144a3f75d2a6a0da3e43f8b')
+
+build() {
+ cd ${srcdir}/${pkgname}
+ make -f makefile.unix
+ install -Dm755 unrar ${pkgdir}/usr/bin/unrar
+ # install license
+ install -Dm644 license.txt ${pkgdir}/usr/share/licenses/$pkgname/license.txt
+}
diff --git a/abs/extra/community/unrar/unrar-3.5.2-optimalization-fix.patch b/abs/extra/community/unrar/unrar-3.5.2-optimalization-fix.patch
new file mode 100644
index 0000000..2ed2e6e
--- /dev/null
+++ b/abs/extra/community/unrar/unrar-3.5.2-optimalization-fix.patch
@@ -0,0 +1,12 @@
+diff -Naur unrar.orig/makefile.unix unrar/makefile.unix
+--- unrar.orig/makefile.unix 2005-05-27 21:53:56.000000000 +0000
++++ unrar/makefile.unix 2005-05-27 21:54:16.000000000 +0000
+@@ -7,7 +7,7 @@
+
+ # Linux using GCC
+ CXX=g++
+-CXXFLAGS=-O2
++CXXFLAGS=${CFLAGS}
+ DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+ STRIP=strip
+
diff --git a/abs/extra/community/uudeview/PKGBUILD b/abs/extra/community/uudeview/PKGBUILD
new file mode 100644
index 0000000..cdb3a81
--- /dev/null
+++ b/abs/extra/community/uudeview/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD,v 1.5 2008/09/23 12:49:17 sergej Exp $
+# Maintainer: Sergej Pupykin <sergej@aur.archlinux.org>
+# Maintainer: kmaster <kmaster12@sasktel.net>
+
+pkgname=uudeview
+pkgver=0.5.20
+pkgrel=6
+pkgdesc="UUDeview helps transmitting & recieving binary files using mail or newsgroups. Includes library files."
+arch=('i686' 'x86_64')
+url="http://www.fpx.de/fp/Software/UUDeview/"
+license=('GPL')
+optdepends=('tk: for GUI')
+source=(http://www.fpx.de/fp/Software/UUDeview/download/$pkgname-$pkgver.tar.gz)
+md5sums=('0161abaec3658095044601eae82bbc5b')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make prefix=$startdir/pkg/usr install || return 1
+ mkdir -p $startdir/pkg/usr/lib/uudeview && \
+ mkdir -p $startdir/pkg/usr/include/uudeview || return 1
+
+ cd $startdir/src/uudeview-$pkgver/uulib
+ ./configure --prefix=/usr
+ make || return 1
+ cp -v *.o $startdir/pkg/usr/lib/uudeview && \
+ cp -v *.a $startdir/pkg/usr/lib/uudeview && \
+ cp -v *.h $startdir/pkg/usr/include/uudeview
+}
diff --git a/abs/extra/community/vlc/PKGBUILD b/abs/extra/community/vlc/PKGBUILD
new file mode 100644
index 0000000..77e21f7
--- /dev/null
+++ b/abs/extra/community/vlc/PKGBUILD
@@ -0,0 +1,71 @@
+# $Id: PKGBUILD 24027 2009-01-11 23:38:33Z eric $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+
+pkgname=vlc
+pkgver=0.9.8a
+pkgrel=4
+pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
+arch=('i686' 'x86_64')
+url="http://www.videolan.org/vlc/"
+license=('GPL2')
+depends=('libmad' 'libmpeg2' 'ffmpeg>=20081220' 'x264>=20090108' 'fluidsynth' \
+ 'libdvbpsi' 'fribidi' 'sysfsutils' 'libdvdnav' \
+ 'libmatroska' 'zvbi' 'libdvdread' 'libmpcdec' \
+ 'libdca' 'libxml2' 'lirc-utils' 'libcddb' 'libraw1394' \
+ 'smbclient' 'taglib' 'libmodplug' 'avahi' 'libv4l' \
+ 'sdl_image' 'libshout' 'lua' 'qt' 'a52dec' 'libgcrypt')
+makedepends=('pkgconfig' 'live-media>=2008.09.02')
+optdepends=('libnotify')
+options=('!libtool' 'force')
+source=(http://download.videolan.org/pub/videolan/vlc/${pkgver}/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('8ffa2ff763badd5de7592004d8d69a63')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ sed -i -e 's:#include <vlc\/vlc.h>:#include <vlc/vlc.h> \n #include <locale.h>: ' modules/misc/freetype.c
+ sed -i -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/VeraBd.ttf:' modules/misc/freetype.c
+ [ "${CARCH}" = "i686" ] && EXTRAFEATURES="--enable-loader --enable-live555 --with-live555-tree=/usr/lib/live-media"
+ [ "${CARCH}" = "x86_64" ] && EXTRAFEATURES="--enable-fast-install"
+ ./configure --prefix=/usr \
+ --enable-dvdread \
+ --enable-dvdnav \
+ --enable-madi \
+ --enable-ffmpeg \
+ --disable-rpath \
+ --enable-qt4 \
+ --enable-faad \
+ --enable-alsa \
+ --enable-skins2 \
+ --enable-dvb \
+ --enable-dmo \
+ --with-ffmpeg-faac \
+ --with-ffmpeg-vorbis \
+ --with-ffmpeg-dts \
+ --with-ffmpeg-ogg \
+ --with-ffmpeg-theora \
+ --enable-v4l \
+ --enable-theora \
+ --enable-flac \
+ --enable-snapshot \
+ --enable-hal \
+ --enable-dbus \
+ --enable-ogg \
+ --enable-dbus-control \
+ --enable-shared \
+ --enable-nls \
+ --enable-lirc \
+ --enable-shout \
+ --enable-pvr \
+ --enable-release \
+ --program-suffix= \
+ --with-dv-raw1394=/usr/include/libraw1394 ${EXTRAFEATURES} || return 1
+ make || return 1
+ make DESTDIR=${pkgdir}/ install || return 1
+
+ for res in 16 32 48 128; do
+ install -D -m644 ${srcdir}/vlc-${pkgver}/share/vlc${res}x${res}.png \
+ ${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
+ done
+ rm -rf ${pkgdir}/usr/lib/mozilla
+}
diff --git a/abs/extra/community/vsftpd/PKGBUILD b/abs/extra/community/vsftpd/PKGBUILD
new file mode 100644
index 0000000..32a4007
--- /dev/null
+++ b/abs/extra/community/vsftpd/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 29700 2009-03-11 22:18:56Z hugo $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=vsftpd
+pkgver=2.1.0
+pkgrel=4
+pkgdesc="Very Secure FTP daemon"
+arch=('i686' 'x86_64')
+license=('GPL')
+backup=(etc/vsftpd.conf etc/xinetd.d/vsftpd)
+url="http://vsftpd.beasts.org/"
+#makedepends=('vim')
+depends=('glibc' 'pam' 'tcp_wrappers>=7.6-8' 'openssl>=0.9.8j-1' 'libcap>=2.16')
+install=vsftpd.install
+source=(ftp://vsftpd.beasts.org/users/cevans/vsftpd-$pkgver.tar.gz \
+ vsftpd.xinetd vsftpd.d run)
+md5sums=('7890b54e7ffa6106ffbdfda53f47fa41'
+ 'b07fd4609c70063c1d6b20142910c1a6'
+ 'e46ed8e4c4a6e6a3de59f60b98e4f569'
+ '8abbed7cc75f9a9d2944e0e83c8dd90d')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ # build-time config
+ sed \
+ -e 's|^#undef VSF_BUILD_TCPWRAPPERS$|#define VSF_BUILD_TCPWRAPPERS|' \
+ -e 's|^#undef VSF_BUILD_SSL$|#define VSF_BUILD_SSL|' \
+ -i builddefs.h
+ make CFLAGS="${CFLAGS}" || return 1
+ install -D -m755 vsftpd ${pkgdir}/usr/sbin/vsftpd || return 1
+ install -D -m644 vsftpd.conf ${pkgdir}/etc/vsftpd.conf || return 1
+ install -D -m644 vsftpd.8 ${pkgdir}/usr/share/man/man8/vsftpd.8 || return 1
+ install -D -m644 vsftpd.conf.5 ${pkgdir}/usr/share/man/man5/vsftpd.conf.5 || return 1
+ install -D -m644 ../vsftpd.xinetd ${pkgdir}/etc/xinetd.d/vsftpd || return 1
+ install -D -m755 ../vsftpd.d ${pkgdir}/etc/rc.d/vsftpd || return 1
+ mkdir -p $startdir/pkg/usr/share/empty
+# ex ${pkgdir}/etc/vsftpd.conf <<_EOF
+#2
+#i
+##
+## Use this to use vsftpd in standalone mode, otherwise it runs through (x)inetd
+##listen=YES
+#.
+#w
+#q
+#_EOF
+#}
+# Below added for LinHES
+ mkdir -p $startdir/pkg/etc/sv/vsftpd/supervise
+ install -D -m755 $startdir/src/run $startdir/pkg/etc/sv/vsftpd/
+}
diff --git a/abs/extra/community/vsftpd/run b/abs/extra/community/vsftpd/run
new file mode 100644
index 0000000..1fd5202
--- /dev/null
+++ b/abs/extra/community/vsftpd/run
@@ -0,0 +1,13 @@
+#!/bin/sh
+exec 2>&1
+. /etc/profile
+. /etc/systemconfig
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+stat_runit "Starting VSFTPD"
+export HOME=/root
+
+# Start vsftpd
+/usr/sbin/vsftpd /etc/vsftpd.conf
diff --git a/abs/extra/community/vsftpd/vsftpd.d b/abs/extra/community/vsftpd/vsftpd.d
new file mode 100644
index 0000000..b43a6d0
--- /dev/null
+++ b/abs/extra/community/vsftpd/vsftpd.d
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/vsftpd`
+case "$1" in
+ start)
+ stat_busy "Starting vsftpd FTP Daemon"
+ if [ -z "$PID" ]; then
+ /usr/sbin/vsftpd &
+ PID=`pidof -o %PPID /usr/sbin/vsftpd`
+ if [ -z $PID ]; then
+ stat_fail
+ else
+ add_daemon vsftpd
+ stat_done
+ fi
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping vsftpd FTP Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon vsftpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/abs/extra/community/vsftpd/vsftpd.install b/abs/extra/community/vsftpd/vsftpd.install
new file mode 100644
index 0000000..3bbb2cc
--- /dev/null
+++ b/abs/extra/community/vsftpd/vsftpd.install
@@ -0,0 +1,22 @@
+# arg 1: the new package version
+post_install() {
+ if [ -f lib/modules/`uname -r`/kernel/security/capability.ko ]; then
+ echo ">>> It appears that your current kernel has linux security"
+ echo ">>> capabilities built as a module. vsftpd requires this"
+ echo ">>> functionality to operate."
+ echo ">>>"
+ echo ">>> To activate the module, please load it now (modprobe capability)."
+ echo ">>> Also, you should add it to your MODULES array in rc.conf, so"
+ echo ">>> it will be activated automatically at boot-up."
+ fi
+# Below added for LinHES
+ add_service.sh vsftpd
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ remove_service.sh vsftpd
+}
diff --git a/abs/extra/community/vsftpd/vsftpd.xinetd b/abs/extra/community/vsftpd/vsftpd.xinetd
new file mode 100644
index 0000000..eff2eb3
--- /dev/null
+++ b/abs/extra/community/vsftpd/vsftpd.xinetd
@@ -0,0 +1,10 @@
+service ftp
+{
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/vsftpd
+ log_on_success += HOST DURATION
+ log_on_failure += HOST
+ disable = yes
+}
diff --git a/abs/extra/community/wiiuse/PKGBUILD b/abs/extra/community/wiiuse/PKGBUILD
new file mode 100644
index 0000000..d8b1e2b
--- /dev/null
+++ b/abs/extra/community/wiiuse/PKGBUILD
@@ -0,0 +1,26 @@
+#Contributor:Andrea Tarocchi <valdar@email.it>
+pkgname=wiiuse
+pkgver=0.12
+pkgrel=2
+pkgdesc="Wiiuse is a library written in C that connects with several Nintendo Wii remotes."
+arch=(i686 x86_64)
+url="http://wiiuse.sourceforge.net/"
+depends=('bluez')
+license="GPL3"
+install=wiiuse.install
+postfix=_src.tar.gz
+source=(http://downloads.sourceforge.net/sourceforge/wiiuse/wiiuse_v$pkgver\_src.tar.gz)
+
+md5sums=('29b555096f79dbd3fbc9b96b8d443083')
+
+build() {
+ cd $startdir/src/wiiuse_v$pkgver
+ make wiiuse || return 1
+
+#installing
+ mkdir -p $startdir/pkg/usr/lib
+ mkdir -p $startdir/pkg/usr/include
+
+ install -D -m644 ./src/release-`gcc -v 2>&1|grep ^Target:|cut -d' ' -f2`/libwiiuse.so $startdir/pkg/usr/lib
+ install -D -m644 ./src/wiiuse.h $startdir/pkg/usr/include
+}
diff --git a/abs/extra/community/wiiuse/wiiuse.install b/abs/extra/community/wiiuse/wiiuse.install
new file mode 100644
index 0000000..d856696
--- /dev/null
+++ b/abs/extra/community/wiiuse/wiiuse.install
@@ -0,0 +1,17 @@
+# arg 1: the new package version
+post_install() {
+cat << EOF
+Note:
+==> for using this lib in your projects include wiiuse.h and link against libwiiuse.so
+EOF
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+op=$1
+shift
+$op $* \ No newline at end of file
diff --git a/abs/extra/community/xbmc-svn/CHANGELOG b/abs/extra/community/xbmc-svn/CHANGELOG
new file mode 100644
index 0000000..ddcbd53
--- /dev/null
+++ b/abs/extra/community/xbmc-svn/CHANGELOG
@@ -0,0 +1,110 @@
+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/community/xbmc-svn/Lircmap.xml b/abs/extra/community/xbmc-svn/Lircmap.xml
new file mode 100644
index 0000000..600567f
--- /dev/null
+++ b/abs/extra/community/xbmc-svn/Lircmap.xml
@@ -0,0 +1,233 @@
+<!-- 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/community/xbmc-svn/PKGBUILD b/abs/extra/community/xbmc-svn/PKGBUILD
new file mode 100644
index 0000000..45d6671
--- /dev/null
+++ b/abs/extra/community/xbmc-svn/PKGBUILD
@@ -0,0 +1,139 @@
+# Contributors : Richard Atkinson atkinsonr-at-gmail
+# Ralf Barth <archlinux dot org at haggy dot org>
+#
+# 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=21748
+pkgrel=1
+pkgdesc="XBMC Media Center from SVN (linuxport branch)"
+provides=('xbmc')
+conflicts=('xbmc' 'xbmc-smoothvideo' 'xbmc-vdpau')
+arch=('i686' 'x86_64')
+url="http://xbmc.org"
+license=('GPL' 'LGPL')
+depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew'
+ 'hal' 'jasper' 'libgl' 'libjpeg>=6b-5' 'libmad' 'libmysqlclient'
+ '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')
+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'
+ 'smbclient: access windows shares'
+ 'unrar: access compressed files without unpacking them')
+install=("${pkgname}.install")
+source=('libcurl-not-in-lib64.patch'
+ 'Lircmap.xml')
+noextract=('libcurl-not-in-lib64.patch'
+ 'Lircmap.xml')
+md5sums=('c5e808703d0c9e392e1c2837fea1a5ef'
+ '3f93186f1ea4aad73011d00754c7265a')
+
+options=(!makeflags)
+
+build() {
+
+ _svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport/XBMC
+ _svnmod=XBMC
+ _prefix=/usr
+
+ 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
+ else
+ msg "Checking out SVN tree of -r$pkgver"
+ svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod || return 1
+ fi
+
+ # Apply patches
+ cd "$srcdir/$_svnmod"
+
+ # Arch's libcurl lives in /usr/lib, not /usr/lib64 - fix the path:
+ msg "Patching with libcurl-not-in-lib64.patch"
+ patch -p0 < "$srcdir/libcurl-not-in-lib64.patch" || return 1
+
+ # Goom also needs a fixup due to newer autotools
+ cd "$srcdir/$_svnmod/xbmc/visualizations/Goom/goom2k4-0"
+ aclocal
+ libtoolize --copy --force
+ ./autogen.sh --enable-static --with-pic
+
+ cd "$srcdir/$_svnmod"
+
+ # Configure XBMC
+ #
+ # 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 external ffmpeg as we would loose VDPAU functionality
+ # because Arch's ffmpeg package does not support VDPAU
+ # - We don't want to rely on AUR packages, so we also don't use libass
+ # as long as it's in AUR
+ msg "Configuring XBMC"
+ make clean
+ ./configure --prefix=${_prefix} \
+ --enable-external-libmad \
+ --enable-external-liba52 \
+ --enable-external-libdts \
+ --enable-external-libfaad \
+ --enable-external-libmpeg2 \
+ --enable-external-libvorbis \
+ --enable-external-libogg \
+ --enable-external-libmpcdec \
+ --enable-external-libflac \
+ --enable-external-libwavpack \
+ --disable-external-libass \
+ --disable-external-python \
+ --disable-external-ffmpeg \
+ --disable-pulse \
+ --disable-debug || return 1
+
+ # Fix false negative detections of realloc that happens some times
+ msg "Fixing false negative detections of realloc"
+ if grep -q 'HAVE_REALLOC 0' config.h; then
+ sed -e 's|#define HAVE_REALLOC 0|#define HAVE_REALLOC 1|' \
+ -e 's|#define realloc rpl_realloc|/* #define realloc rpl_realloc */|' \
+ -i config.h || return 1
+ fi
+
+ # XBMCTex will segfault on systems with nvidia installed if linked to OpenGL
+ msg "Fixing XBMCTex on systems using the nvidia driver blob"
+ sed -e 's/-lGLU -lGLEW -lGL//' \
+ -i ${srcdir}/$_svnmod/tools/XBMCTex/Makefile
+
+ # Now (finally) build
+ msg "Running make"
+ make || return 1
+ msg "Running make install"
+ make prefix=${pkgdir}${_prefix} install || return 1
+
+ # Install
+ install -Dm755 ${srcdir}/$_svnmod/xbmc-xrandr \
+ ${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr || return 1
+
+ install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.desktop \
+ ${pkgdir}${_prefix}/share/applications/xbmc.desktop || return 1
+
+ install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.png \
+ ${pkgdir}${_prefix}/share/pixmaps/xbmc.png || return 1
+
+ install -Dm755 ${srcdir}/$_svnmod/tools/XBMCTex/XBMCTex \
+ ${pkgdir}${_prefix}/share/xbmc/tools/xbmctex || return 1
+
+ # Skins often use build.sh that looks for /usr/bin/XBMCTex
+ ln -s "${_prefix}/share/xbmc/tools/xbmctex" "$pkgdir/usr/bin/XBMCTex"
+
+ 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
+
+ # Use custom Lircmap to support StreamZap remote
+ cp ${srcdir}/Lircmap.xml ${pkgdir}${_prefix}/share/xbmc/system/Lircmap.xml
+}
diff --git a/abs/extra/community/xbmc-svn/__changelog b/abs/extra/community/xbmc-svn/__changelog
new file mode 100644
index 0000000..bbf1705
--- /dev/null
+++ b/abs/extra/community/xbmc-svn/__changelog
@@ -0,0 +1 @@
+Added Lircmap.xml to PKGBUILD to support MCE2 and StreamZap remotes
diff --git a/abs/extra/community/xbmc-svn/libcurl-not-in-lib64.patch b/abs/extra/community/xbmc-svn/libcurl-not-in-lib64.patch
new file mode 100644
index 0000000..0bfbc4c
--- /dev/null
+++ b/abs/extra/community/xbmc-svn/libcurl-not-in-lib64.patch
@@ -0,0 +1,13 @@
+Index: Makefile.include.in
+===================================================================
+--- Makefile.include.in (revision 21447)
++++ Makefile.include.in (working copy)
+@@ -25,7 +25,7 @@
+
+ ifeq (linux,$(findstring linux, $(ARCH)))
+ ifeq ($(ARCH), x86_64-linux)
+- DEFINES+=-DDLL_PATH_LIBCURL="\"/usr/lib64/libcurl.so.4\""
++ DEFINES+=-DDLL_PATH_LIBCURL="\"/usr/lib/libcurl.so.4\""
+ else
+ DEFINES+=-DDLL_PATH_LIBCURL="\"/usr/lib/libcurl.so.4\""
+ endif
diff --git a/abs/extra/community/xbmc-svn/xbmc-svn.install b/abs/extra/community/xbmc-svn/xbmc-svn.install
new file mode 100644
index 0000000..acf409c
--- /dev/null
+++ b/abs/extra/community/xbmc-svn/xbmc-svn.install
@@ -0,0 +1,13 @@
+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 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
+ /bin/true
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/community/xbmc/ChangeLog b/abs/extra/community/xbmc/ChangeLog
new file mode 100644
index 0000000..59f2370
--- /dev/null
+++ b/abs/extra/community/xbmc/ChangeLog
@@ -0,0 +1,64 @@
+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/community/xbmc/PKGBUILD b/abs/extra/community/xbmc/PKGBUILD
new file mode 100644
index 0000000..950d704
--- /dev/null
+++ b/abs/extra/community/xbmc/PKGBUILD
@@ -0,0 +1,118 @@
+# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
+# Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
+
+pkgname=xbmc
+pkgver=8.10
+pkgrel=10
+pkgdesc="XBMC Media Center"
+arch=('i686' 'x86_64')
+url="http://xbmc.org"
+license=('GPL' 'custom')
+depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew' \
+ 'hal' 'jasper' 'libgl' 'libjpeg>=6b-5' 'libmad' 'libmysqlclient' \
+ 'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3' \
+ 'tre' 'unzip' 'x-server')
+makedepends=('autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf'
+ 'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip')
+optdepends=('libcdio: optical disc support'
+ 'lirc: remote controller support'
+ 'pmount: mount removable devices as normal user'
+ 'smbclient: access windows shares'
+ 'unrar: access compressed files without unpacking them')
+install=("${pkgname}.install")
+source=("http://downloads.sourceforge.net/${pkgname}/XBMC-${pkgver}.src.tar.gz")
+md5sums=('2d20d255a211223eaa47f1c6bcf4be8e')
+
+build() {
+ cd "${srcdir}/XBMC"
+
+ # Remove Mac OS X specific files
+ rm -rf system/python/lib-osx/
+ rm system/players/dvdplayer/*-osx*
+
+ # Fix permissions for the configure scripts
+ find -type f -name "configure"|xargs chmod a+x || return 1
+
+ # Fix other permissions
+ find -type f -name "*.pl"|xargs chmod a+x || return 1
+
+ # Make it gcc 4.3.x compatible
+ sed '92i#include <stdlib.h>' -i guilib/system.h || return 1
+
+ # Clean up the configure files and make sure they support C++.
+ for file in `find . -type f -name configure.in -or -name configure.ac`; do
+ echo 'AC_PROG_CXX' >> "${file}"
+ sed -e '/AM_PATH_XMMS/ c\echo' \
+ -e '/AM_PATH_SDL2/ c\echo' \
+ -i ${file} || return 1
+ done
+ sed -e 's/test_libFLAC++//g' \
+ -i "${srcdir}/XBMC/xbmc/cores/paplayer/flac-1.2.1/src/Makefile.am" || return 1
+
+ # Fix some autoconf issues
+ touch ${srcdir}/XBMC/xbmc/cores/dvdplayer/Codecs/libmad/{NEWS,AUTHORS,ChangeLog} || return 1
+ touch ${srcdir}/XBMC/xbmc/visualizations/Goom/goom2k4-0/ylwrap || return 1
+ touch ${srcdir}/XBMC/xbmc/lib/libid3tag/libid3tag/{NEWS,README,AUTHORS,ChangeLog} || return 1
+ for dir in \
+ . \
+ xbmc/cores/dvdplayer/Codecs/libDVDCSS \
+ xbmc/cores/dvdplayer/Codecs/libdts \
+ xbmc/cores/dvdplayer/Codecs/libdvdnav \
+ xbmc/cores/dvdplayer/Codecs/libfaad2 \
+ xbmc/cores/dvdplayer/Codecs/libmad \
+ xbmc/cores/dvdplayer/Codecs/libmpeg2 \
+ xbmc/cores/paplayer/flac-1.2.1 \
+ xbmc/cores/paplayer/vorbisfile/libvorbis \
+ xbmc/cores/paplayer/vorbisfile/ogg \
+ xbmc/visualizations/Goom/goom2k4-0 \
+ xbmc/lib/libass \
+ xbmc/lib/libid3tag/libid3tag
+ do
+ autoreconf --install "${srcdir}/XBMC/${dir}" || return 1
+ done
+
+ cd "${srcdir}/XBMC/"
+
+ # Configure XBMC
+ ./configure --prefix=/usr \
+ --disable-debug || return 1
+
+ # Fix false negative detections of realloc that happens some times
+ if grep -q 'HAVE_REALLOC 0' config.h; then
+ sed -e 's|#define HAVE_REALLOC 0|#define HAVE_REALLOC 1|' \
+ -e 's|#define realloc rpl_realloc|/* #define realloc rpl_realloc */|' \
+ -i config.h || return 1
+ fi
+
+ # XBMCTex will segfault on systems with nvidia instaleld if linked to OpenGL
+ sed -e 's/-lGLU -lGLEW -lGL//' \
+ -i ${srcdir}/XBMC/tools/XBMCTex/Makefile
+
+ # Now (finally) build
+ make || return 1
+ make prefix=${pkgdir}/usr install || return 1
+
+ # Fix the shell script
+ sed -i '4iexport SDL_AUDIODRIVER=alsa' ${pkgdir}/usr/bin/xbmc
+
+ # Xrandr
+ install -Dm755 ${srcdir}/XBMC/xbmc-xrandr \
+ ${pkgdir}/usr/share/xbmc/xbmc-xrandr || return 1
+
+ # Menu item
+ install -Dm644 ${srcdir}/XBMC/tools/Linux/xbmc.desktop \
+ ${pkgdir}/usr/share/applications/xbmc.desktop || return 1
+ install -Dm644 ${srcdir}/XBMC/tools/Linux/xbmc.png \
+ ${pkgdir}/usr/share/pixmaps/xbmc.png || return 1
+
+ # XBMCTex
+ install -Dm755 ${srcdir}/XBMC/tools/XBMCTex/XBMCTex \
+ ${pkgdir}/usr/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}/usr/share/xbmc/${licensef} \
+ ${pkgdir}/usr/share/licenses/${pkgname} || return 1
+ done
+}
diff --git a/abs/extra/community/xbmc/xbmc.install b/abs/extra/community/xbmc/xbmc.install
new file mode 100644
index 0000000..9316bc8
--- /dev/null
+++ b/abs/extra/community/xbmc/xbmc.install
@@ -0,0 +1,9 @@
+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
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/community/xine-lib-vdpau-svn/PKGBUILD b/abs/extra/community/xine-lib-vdpau-svn/PKGBUILD
new file mode 100644
index 0000000..2d1e887
--- /dev/null
+++ b/abs/extra/community/xine-lib-vdpau-svn/PKGBUILD
@@ -0,0 +1,47 @@
+# Contributor: Dennis Brendel <buddabrod@gmail.com>
+pkgname=xine-lib-vdpau-svn
+pkgver=222
+pkgrel=2
+pkgdesc="A free video player library for Unix with support for vdpau"
+arch=('i686' 'x86_64')
+url="http://xinehq.de/"
+license=('GPL')
+depends=('libxvmc' 'esound' 'flac>=1.1.4' 'libvorbis' 'sdl' 'libmng' 'libtheora' 'libxcb' 'wavpack' 'ffmpeg>=20080715' 'heimdal>=1.2.1' 'nvidia-utils>=180.22' 'nvidia>=180.22')
+optdepends=('codecs')
+makedepends=('subversion' 'pkgconfig' 'libtool' 'imagemagick' 'smbclient' 'mesa' 'alsa-lib' 'vcdimager' 'jack-audio-connection-kit' 'cvs')
+conflicts=('xine-lib')
+provides=('xine-lib=1.1.16.1' 'xine-lib')
+
+_svntrunk=svn://jusst.de/xine-vdpau
+_svnmod=xine-vdpau
+
+build() {
+
+ cd ${srcdir}
+
+ if [ -d $_svnmod/.svn ]; then
+ (cd $_svnmod && svn up -r $pkgver)
+ else
+ svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ fi
+
+ msg "SVN checkout done or server timeout"
+ msg "Starting make..."
+
+ cp -r $_svnmod $_svnmod-build
+ cd $_svnmod-build
+
+ unset CFLAGS
+
+ ./autogen.sh --prefix=/usr --with-w32-path=/usr/lib/codecs \
+ --with-xv-path=/usr/lib --with-xxmc-path=/usr/lib --with-xvmc-path=/usr/lib \
+ --with-libflac --with-wavpack --with-xcb \
+ --without-arts --with-jack --without-speex \
+ --disable-gnomevfs --without-pulseaudio --disable-aalib \
+ --disable-modplug --with-external-ffmpeg || return 1
+
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+
+ rm -rf ${srcdir}/${_svnmod}-build
+}
diff --git a/abs/extra/community/zvbi/PKGBUILD b/abs/extra/community/zvbi/PKGBUILD
new file mode 100644
index 0000000..f638f29
--- /dev/null
+++ b/abs/extra/community/zvbi/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+pkgname=zvbi
+pkgver=0.2.26
+pkgrel=1
+pkgdesc="zvbi is needed for zapping"
+arch=(i686 x86_64)
+depends=('libpng')
+license=('GPL')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/zapping/$pkgname-$pkgver.tar.bz2)
+url="http://zapping.sourceforge.net/cgi-bin/view/ZVBI/WebHome"
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make prefix=$startdir/pkg/usr install
+}
+md5sums=('82805319ca61f6ffd7b7bb64d7433448')