summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2008-11-08 17:08:28 (GMT)
committerJames Meyer <james.meyer@operamail.com>2008-11-08 17:08:28 (GMT)
commitc38715641e214272ad7dc6d495edd29940366e7f (patch)
tree9dcd507543e67458d98fa7462f62026041524047
parent3d91b06198a56b6579cb0bd77de65f5908571b87 (diff)
downloadlinhes_pkgbuild-c38715641e214272ad7dc6d495edd29940366e7f.zip
linhes_pkgbuild-c38715641e214272ad7dc6d495edd29940366e7f.tar.gz
linhes_pkgbuild-c38715641e214272ad7dc6d495edd29940366e7f.tar.bz2
packages that will be needed in the future.
This is the initial merge of packages from MythVantage that are not MythVantage specific.
-rw-r--r--abs/chroot-devel/imake/PKGBUILD39
-rw-r--r--abs/chroot-devel/imake/linuxconfig.patch31
-rw-r--r--abs/core-testing/acpid/Makefile56
-rw-r--r--abs/core-testing/acpid/PKGBUILD31
-rwxr-xr-xabs/core-testing/acpid/acpi_handler.sh23
-rw-r--r--abs/core-testing/acpid/acpid35
-rw-r--r--abs/core-testing/acpid/acpid-1.0.4-gcc4.patch20
-rw-r--r--abs/core-testing/acpid/anything3
-rw-r--r--abs/core-testing/acpid/default20
-rwxr-xr-xabs/core-testing/acpid/handler.sh69
-rw-r--r--abs/core-testing/eventlog/PKGBUILD20
-rw-r--r--abs/core-testing/evieext/PKGBUILD19
-rw-r--r--abs/core-testing/fftwsingle/PKGBUILD26
-rwxr-xr-xabs/core-testing/iplib/PKGBUILD15
-rw-r--r--abs/core-testing/libxres/PKGBUILD22
-rw-r--r--abs/core-testing/lshw/PKGBUILD26
-rw-r--r--abs/core-testing/lshw/abi_stdlib.diff10
-rw-r--r--abs/core-testing/lshw/gcc4.3.patch282
-rwxr-xr-xabs/core-testing/ntp/PKGBUILD26
-rwxr-xr-xabs/core-testing/ntp/ntp-client.conf8
-rwxr-xr-xabs/core-testing/ntp/ntp.conf48
-rwxr-xr-xabs/core-testing/ntp/ntpd39
-rwxr-xr-xabs/core-testing/ntp/ntpdate30
-rw-r--r--abs/extra-testing/atomicparsley/PKGBUILD16
-rwxr-xr-xabs/extra-testing/cddb-py/PKGBUILD20
-rw-r--r--abs/extra-testing/evrouter/PKGBUILD18
-rw-r--r--abs/extra-testing/glib/PKGBUILD32
-rw-r--r--abs/extra-testing/glib/aclocal-fixes.patch11
-rw-r--r--abs/extra-testing/glib/gcc340.patch15
-rwxr-xr-xabs/extra-testing/gpac/PKGBUILD50
-rwxr-xr-xabs/extra-testing/gpac/gpac-0.4.2-ffmpeg-errno.patch20
-rw-r--r--abs/extra-testing/gtk/PKGBUILD32
-rw-r--r--abs/extra-testing/gtk/aclocal-fixes.patch11
-rwxr-xr-xabs/extra-testing/hdhgrab/PKGBUILD19
-rw-r--r--abs/extra-testing/libdv/PKGBUILD23
-rw-r--r--abs/extra-testing/libdv/libdv-0.104-amd64reloc.patch262
-rw-r--r--abs/extra-testing/mjpegtools/PKGBUILD27
-rw-r--r--abs/extra-testing/mjpegtools/mjpegtools-1.8.0-gcc41.patch12
-rw-r--r--abs/extra-testing/mjpegtools/mjpegtools-1.8.0-libc.patch142
-rwxr-xr-xabs/extra-testing/myth2ipod/PKGBUILD20
-rwxr-xr-xabs/extra-testing/myth2ipod/iPod.pm184
-rwxr-xr-xabs/extra-testing/myth2ipod/myth2ipod-userjob.sh6
-rwxr-xr-xabs/extra-testing/myth2ipod/myth2ipod.install41
-rwxr-xr-xabs/extra-testing/myth2ipod/myth2ipod.patch35
-rwxr-xr-xabs/extra-testing/myth2ipod/myth2ipod.txt310
-rwxr-xr-xabs/extra-testing/myth2ipod/myth2ipod.txt.modified310
-rw-r--r--abs/extra-testing/nasm/PKGBUILD19
-rw-r--r--abs/extra-testing/nspr/PKGBUILD53
-rw-r--r--abs/extra-testing/nspr/nspr.pc.in10
-rwxr-xr-xabs/extra-testing/nvram-wake/PKGBUILD16
-rwxr-xr-xabs/extra-testing/phpmyadmin/PKGBUILD18
-rwxr-xr-xabs/extra-testing/pymedia/PKGBUILD19
-rw-r--r--abs/extra-testing/pyopenssl/PKGBUILD15
-rw-r--r--abs/extra-testing/spidermonkey/PKGBUILD29
-rw-r--r--abs/extra-testing/spidermonkey/spidermonkey-1.7-threadsafe.patch16
-rw-r--r--abs/extra-testing/tightvnc/PKGBUILD35
-rw-r--r--abs/extra-testing/tightvnc/tightvnc-fontpath-xcolors.patch21
-rw-r--r--abs/extra-testing/transcode/PKGBUILD65
-rw-r--r--abs/extra-testing/transcode/imagemagick.patch41
-rw-r--r--abs/extra-testing/transcode/transcode.install23
-rwxr-xr-xabs/extra-testing/wol/PKGBUILD19
-rwxr-xr-xabs/extra-testing/wol/wakeonlan.sh10
-rw-r--r--abs/extra-testing/zip/ChangeLog5
-rw-r--r--abs/extra-testing/zip/PKGBUILD23
64 files changed, 2951 insertions, 0 deletions
diff --git a/abs/chroot-devel/imake/PKGBUILD b/abs/chroot-devel/imake/PKGBUILD
new file mode 100644
index 0000000..9ad08b0
--- /dev/null
+++ b/abs/chroot-devel/imake/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+pkgname=imake
+pkgver=1.0.2
+pkgrel=2
+force=y
+pkgdesc="X.Org imake program and related utilities"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+depends=(glibc)
+makedepends=(pkgconfig xproto perl)
+source=(http://xorg.freedesktop.org/releases/individual/util/imake-1.0.2.tar.bz2
+ http://xorg.freedesktop.org/releases/individual/util/gccmakedep-1.0.2.tar.bz2
+ http://xorg.freedesktop.org/releases/individual/util/lndir-1.0.1.tar.bz2
+ http://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.1.tar.bz2
+ http://xorg.freedesktop.org/releases/individual/util/xorg-cf-files-1.0.2.tar.bz2
+ linuxconfig.patch)
+
+build() {
+ cd ${startdir}/src/xorg-cf-files-*
+ patch -Np1 -i ${startdir}/src/linuxconfig.patch || return 1
+ cd ${startdir}/src
+ for i in *; do
+ if [ -d "${i}" ]; then
+ pushd "${i}"
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+ popd
+ fi
+ done
+}
+md5sums=('02fea5a02ba2857c7d81820c8e8b8e6f'
+ 'b533c0771dbbaf9b041ff35bb941d3a2'
+ 'e274ea9f55dfd62afa0a7b1e1ab4ba96'
+ '54ab2549d723e51ff2b9cff4d8bf44d1'
+ '5f62dd5545b782c74f6e4e70d0e6552c'
+ '1b1d7653ac95d4b479784afcd61a889f')
diff --git a/abs/chroot-devel/imake/linuxconfig.patch b/abs/chroot-devel/imake/linuxconfig.patch
new file mode 100644
index 0000000..8e1c5a0
--- /dev/null
+++ b/abs/chroot-devel/imake/linuxconfig.patch
@@ -0,0 +1,31 @@
+--- xorg-cf-files-1.0.1/linux.cf.orig 2006-03-04 18:40:43.000000000 +0000
++++ xorg-cf-files-1.0.1/linux.cf 2006-03-04 18:41:48.000000000 +0000
+@@ -193,6 +193,13 @@
+ #define FSUseSyslog YES
+ #endif
+
++#define FSUseSyslog YES
++#define BuildRman NO
++#define BuildHtmlManPages NO
++#define ProjectRoot /usr
++#define ManPath /usr/man
++#define XappLoadDir /usr/share/X11/app-defaults
++
+ #ifndef HasDevRandom
+ # define HasDevRandom YES
+ # ifndef RandomDeviceName
+--- xorg-cf-files-1.0.2/X11.tmpl.orig 2006-07-15 10:45:23.000000000 +0000
++++ xorg-cf-files-1.0.2/X11.tmpl 2006-07-15 10:46:19.000000000 +0000
+@@ -1502,10 +1502,10 @@
+ #define DocPdfDir $(DOCDIR)/PDF
+ #endif
+ #ifndef FontDir
+-#define FontDir $(LIBDIR)/fonts
++#define FontDir /usr/share/fonts
+ #endif
+ #ifndef FontEncDir
+-#define FontEncDir $(LIBDIR)/fonts/encodings
++#define FontEncDir /usr/share/fonts/encodings
+ #endif
+ #ifndef AdmDir
+ #define AdmDir /usr/adm
diff --git a/abs/core-testing/acpid/Makefile b/abs/core-testing/acpid/Makefile
new file mode 100644
index 0000000..a5fe385
--- /dev/null
+++ b/abs/core-testing/acpid/Makefile
@@ -0,0 +1,56 @@
+# Makefile for ACPI daemon
+
+# update these numbers for new releases
+VERSION = 1.0.6
+
+INSTPREFIX =
+BINDIR = $(INSTPREFIX)/usr/bin
+SBINDIR = $(INSTPREFIX)/usr/sbin
+MAN8DIR = $(INSTPREFIX)/usr/share/man/man8
+
+SBIN_PROGS = acpid
+BIN_PROGS = acpi_listen
+PROGS = $(SBIN_PROGS) $(BIN_PROGS)
+
+acpid_SRCS = acpid.c event.c ud_socket.c
+acpid_OBJS = $(acpid_SRCS:.c=.o)
+
+acpi_listen_SRCS = acpi_listen.c ud_socket.c
+acpi_listen_OBJS = $(acpi_listen_SRCS:.c=.o)
+
+MAN8 = acpid.8 acpi_listen.8
+MAN8GZ = $(MAN8:.8=.8.gz)
+
+CFLAGS = -Wall -Werror -g $(DEFS) -D_GNU_SOURCE
+DEFS = -DVERSION="\"$(VERSION)\""
+
+all: $(PROGS)
+
+acpid: $(acpid_OBJS)
+
+acpi_listen: $(acpi_listen_OBJS)
+
+man: $(MAN8)
+ for a in $^; do gzip -f -9 -c $$a > $$a.gz; done
+
+install: $(PROGS) man
+ mkdir -p $(SBINDIR)
+ mkdir -p $(BINDIR)
+ install -m 750 acpid $(SBINDIR)
+ install -m 755 acpi_listen $(BINDIR)
+ mkdir -p $(MAN8DIR)
+ install -m 644 $(MAN8GZ) $(MAN8DIR)
+
+DISTTMP=/tmp
+dist:
+ rm -rf $(DISTTMP)/acpid-$(VERSION)
+ mkdir -p $(DISTTMP)/acpid-$(VERSION)
+ cp -a * $(DISTTMP)/acpid-$(VERSION)
+ find $(DISTTMP)/acpid-$(VERSION) -type d -name CVS | xargs rm -rf
+ make -C $(DISTTMP)/acpid-$(VERSION) clean
+ tar -C $(DISTTMP) -zcvf acpid-$(VERSION).tar.gz acpid-$(VERSION)
+ rm -rf $(DISTTMP)/acpid-$(VERSION)
+
+clean:
+ $(RM) $(PROGS) $(MAN8GZ) *.o
+
diff --git a/abs/core-testing/acpid/PKGBUILD b/abs/core-testing/acpid/PKGBUILD
new file mode 100644
index 0000000..f39bbc1
--- /dev/null
+++ b/abs/core-testing/acpid/PKGBUILD
@@ -0,0 +1,31 @@
+
+pkgname=acpid
+pkgver=1.0.6
+pkgrel=3
+arch=('i686')
+pkgdesc="Utilities for using ACPI power management"
+url="http://acpid.sourceforge.net"
+depends=(glibc)
+source=(http://easynews.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
+ acpid-1.0.4-gcc4.patch
+ acpid
+ anything
+ handler.sh
+ Makefile )
+backup=('etc/acpi/handler.sh' 'etc/acpi/events/anything')
+#options='-D_GNU_SOURCE'
+MAKEFLAGS="-j2"
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ # patch -Np1 -i ${startdir}/src/acpid-1.0.4-gcc4.patch || return 1
+ cp ../Makefile .
+ /usr/bin/make || return 1
+ /bin/install -d -m0755 $startdir/pkg/usr/bin
+ /usr/bin/make INSTPREFIX=$startdir/pkg \
+ MAN8DIR=$startdir/pkg/usr/man/man8 install
+ /bin/install -D -m0755 ../acpid $startdir/pkg/etc/rc.d/acpid
+ /bin/install -d -m0755 $startdir/pkg/etc/acpi/events
+ /bin/install -D -m0644 ../anything $startdir/pkg/etc/acpi/events/anything
+ /bin/install -D -m0755 ../handler.sh $startdir/pkg/etc/acpi/handler.sh
+}
diff --git a/abs/core-testing/acpid/acpi_handler.sh b/abs/core-testing/acpid/acpi_handler.sh
new file mode 100755
index 0000000..65e4ee5
--- /dev/null
+++ b/abs/core-testing/acpid/acpi_handler.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Default acpi script that takes an entry for all actions
+set $*
+EVENT=`echo $1 |cut -d/ -f1`
+ACTION=`echo $1|cut -d/ -f2`
+
+#echo $EVENT
+#echo $ACTION
+case "$EVENT" in
+ button)
+ case "$ACTION" in
+ power)
+ echo Please wait while the system powers off | /usr/local/bin/putfifo /tmp/onscreen &
+ xsay "Please wait while the system powers off" &
+ /sbin/init 0
+ ;;
+ *) logger "ACPI action $2 is not defined"
+ ;;
+ esac
+ ;;
+ *) logger "ACPI group $1 / action $2 is not defined"
+ ;;
+esac
diff --git a/abs/core-testing/acpid/acpid b/abs/core-testing/acpid/acpid
new file mode 100644
index 0000000..585944f
--- /dev/null
+++ b/abs/core-testing/acpid/acpid
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/acpid`
+case "$1" in
+ start)
+ stat_busy "Starting acpid"
+ [ -z "$PID" ] && /usr/sbin/acpid
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon acpid
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping acpid"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon acpid
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core-testing/acpid/acpid-1.0.4-gcc4.patch b/abs/core-testing/acpid/acpid-1.0.4-gcc4.patch
new file mode 100644
index 0000000..b56901d
--- /dev/null
+++ b/abs/core-testing/acpid/acpid-1.0.4-gcc4.patch
@@ -0,0 +1,20 @@
+--- acpid-1.0.4/ud_socket.c 2005-04-26 10:26:29.000000000 +0000
++++ acpid-1.0.4.az/ud_socket.c 2005-04-26 10:27:09.000000000 +0000
+@@ -60,7 +60,7 @@
+ struct sockaddr_un cliaddr;
+ int len = sizeof(struct sockaddr_un);
+
+- newsock = accept(listenfd, (struct sockaddr *)&cliaddr, &len);
++ newsock = accept(listenfd, (struct sockaddr *)&cliaddr, (socklen_t *)&len);
+ if (newsock < 0) {
+ if (errno == EINTR) {
+ continue; /* signal */
+@@ -71,7 +71,7 @@
+
+ if (cred) {
+ len = sizeof(struct ucred);
+- getsockopt(newsock, SOL_SOCKET, SO_PEERCRED,cred,&len);
++ getsockopt(newsock, SOL_SOCKET, SO_PEERCRED,cred,(socklen_t *)&len);
+ }
+
+ return newsock;
diff --git a/abs/core-testing/acpid/anything b/abs/core-testing/acpid/anything
new file mode 100644
index 0000000..d182898
--- /dev/null
+++ b/abs/core-testing/acpid/anything
@@ -0,0 +1,3 @@
+# Pass all events to our one handler script
+event=.*
+action=/etc/acpi/handler.sh %e
diff --git a/abs/core-testing/acpid/default b/abs/core-testing/acpid/default
new file mode 100644
index 0000000..93944aa
--- /dev/null
+++ b/abs/core-testing/acpid/default
@@ -0,0 +1,20 @@
+# This is the ACPID default configuration, it takes all
+# events and passes them to /etc/acpi/default.sh for further
+# processing.
+
+# event keeps a regular expression matching the event. To get
+# power events only, just use something like "event=button power.*"
+# to catch it.
+# action keeps the command to be executed after an event occurs
+#This halts the computer when the Power button is pressed.
+
+event=button power.*
+#action=/sbin/shutdown -h now
+action=/usr/local/sbin/shutdown.sh
+
+# Optionally you can specify the placeholder %e. It will pass
+# through the whole kernel event message to the program you've
+# specified.
+
+event=.*
+action=/etc/acpi/acpi_handler.sh %e
diff --git a/abs/core-testing/acpid/handler.sh b/abs/core-testing/acpid/handler.sh
new file mode 100755
index 0000000..b885f77
--- /dev/null
+++ b/abs/core-testing/acpid/handler.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+# Default acpi script that takes an entry for all actions
+
+# NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to
+# modify it to not use /sys
+
+minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq`
+maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`
+setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
+
+set $*
+
+case "$1" in
+ button/power)
+ #echo "PowerButton pressed!">/dev/tty5
+ case "$2" in
+ PWRF) logger "PowerButton pressed: $2"
+ xsay "Please wait while the system powers off" &
+ /sbin/halt-runit
+ ;;
+ *) logger "ACPI action undefined: $2" ;;
+ esac
+ ;;
+ button/sleep)
+ case "$2" in
+ SLPB) echo -n mem >/sys/power/state ;;
+ *) logger "ACPI action undefined: $2" ;;
+ esac
+ ;;
+ ac_adapter)
+ case "$2" in
+ AC)
+ case "$4" in
+ 00000000)
+ echo -n $minspeed >$setspeed
+ #/etc/laptop-mode/laptop-mode start
+ ;;
+ 00000001)
+ echo -n $maxspeed >$setspeed
+ #/etc/laptop-mode/laptop-mode stop
+ ;;
+ esac
+ ;;
+ *) logger "ACPI action undefined: $2" ;;
+ esac
+ ;;
+ battery)
+ case "$2" in
+ BAT0)
+ case "$4" in
+ 00000000) #echo "offline" >/dev/tty5
+ ;;
+ 00000001) #echo "online" >/dev/tty5
+ ;;
+ esac
+ ;;
+ CPU0)
+ ;;
+ *) logger "ACPI action undefined: $2" ;;
+ esac
+ ;;
+
+ button/lid)
+ #echo "LID switched!">/dev/tty5
+ ;;
+ *)
+ logger "ACPI group/action undefined: $1 / $2"
+ ;;
+esac
diff --git a/abs/core-testing/eventlog/PKGBUILD b/abs/core-testing/eventlog/PKGBUILD
new file mode 100644
index 0000000..476dbad
--- /dev/null
+++ b/abs/core-testing/eventlog/PKGBUILD
@@ -0,0 +1,20 @@
+
+pkgname=eventlog
+pkgver=0.2.5
+pkgrel=2
+pkgdesc="A new API to format and send structured log messages"
+arch=('i686' 'x86_64')
+url="http://www.balabit.com/support/community/products/"
+license=('BSD')
+depends=('glibc')
+options=('!libtool')
+source=(http://www.balabit.com/downloads/files/eventlog/0.2/eventlog-$pkgver.tar.gz)
+md5sums=('a6bdba91f88540cc69b398fd138d86cd')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make || return 1
+ make DESTDIR=$startdir/pkg install || return 1
+ install -D -m644 COPYING $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
+} \ No newline at end of file
diff --git a/abs/core-testing/evieext/PKGBUILD b/abs/core-testing/evieext/PKGBUILD
new file mode 100644
index 0000000..0f7161a
--- /dev/null
+++ b/abs/core-testing/evieext/PKGBUILD
@@ -0,0 +1,19 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+#Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=evieext
+pkgver=1.0.2
+pkgrel=1
+pkgdesc="X11 Event Interception extension wire protocol"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('2507b5d0f4b2848147fbddd155aa6cfe')
+sha1sums=('1ab4048ffbfb6b69e88d2f0f2cab7ca60e50cc99')
+
+build() {
+ cd ${startdir}/src/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+}
diff --git a/abs/core-testing/fftwsingle/PKGBUILD b/abs/core-testing/fftwsingle/PKGBUILD
new file mode 100644
index 0000000..c167d3f
--- /dev/null
+++ b/abs/core-testing/fftwsingle/PKGBUILD
@@ -0,0 +1,26 @@
+# Contributor: ndlarsen <ndlarsen@gmail.com>
+# Comment: Based on PKGBUILDs from the Extra repo for fftw2, maintained by damir <damir@archlinux.org>, and from AUR for fftw2double, maintained by bricem13.
+
+pkgname=fftw2single
+pkgver=2.1.5
+pkgrel=1
+pkgdesc="FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. This is package is offering backwards compatibility version 2.x.y. of fftw."
+arch=('i686')
+license=('GPL')
+url="http://www.fftw.org/"
+depends=('glibc')
+makedepends=('gcc-fortran>=4.1.1')
+source=(http://www.fftw.org/fftw-$pkgver.tar.gz)
+md5sums=('8d16a84f3ca02a785ef9eb36249ba433')
+
+build() {
+
+ cd $startdir/src/fftw-$pkgver
+
+ ./configure F77=gfortran --prefix=/usr \
+ --enable-float --enable-shared \
+ --enable-threads
+ make || return 1
+ make prefix=$startdir/pkg/usr install || return 1
+
+}
diff --git a/abs/core-testing/iplib/PKGBUILD b/abs/core-testing/iplib/PKGBUILD
new file mode 100755
index 0000000..9171293
--- /dev/null
+++ b/abs/core-testing/iplib/PKGBUILD
@@ -0,0 +1,15 @@
+pkgname=python-iplib
+pkgver=1.0
+pkgrel=1
+pkgdesc="IPlib is a Python module useful to convert amongst many different notations and to manage couples of address/netmask in the CIDR notation."
+url="http://www.pymedia.org"
+license=""
+depends=('python')
+makedepends=('python>=2.3')
+source=(http://erlug.linux.it/~da/soft/iplib/iplib-1.0.tar.gz)
+
+ arch=('i686')
+build() {
+ cd $startdir/src/iplib*
+ yes "" | python setup.py install --root=$startdir/pkg --prefix=/usr
+ }
diff --git a/abs/core-testing/libxres/PKGBUILD b/abs/core-testing/libxres/PKGBUILD
new file mode 100644
index 0000000..56dbf49
--- /dev/null
+++ b/abs/core-testing/libxres/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+pkgname=libxres
+pkgver=1.0.3
+pkgrel=1
+pkgdesc="X11 Resource extension library"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org"
+depends=('libxext')
+makedepends=('pkgconfig' 'resourceproto' 'damageproto' 'compositeproto' 'scrnsaverproto')
+options=(!libtool)
+source=(${url}/releases/individual/lib/libXres-${pkgver}.tar.bz2)
+
+build() {
+ cd ${startdir}/src/libXres-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --build=${CHOST} --host=${CHOST}
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+}
+md5sums=('de66ffb657aba64c9d6dbdeabb757f3e')
diff --git a/abs/core-testing/lshw/PKGBUILD b/abs/core-testing/lshw/PKGBUILD
new file mode 100644
index 0000000..b2d786b
--- /dev/null
+++ b/abs/core-testing/lshw/PKGBUILD
@@ -0,0 +1,26 @@
+# Contributor: Stefano Zamprogno <stefano dot zamprogno at gmail dot com>
+# Contributor: Chuck Yang <Chuck.Yang@gmail.com>
+
+pkgname=lshw
+pkgver=B.02.13
+pkgrel=1
+pkgdesc="A small tool to provide detailed information on the hardware configuration of the machine."
+url="http://ezix.org/project/wiki/HardwareLiSter"
+license=('GPL')
+source=(http://ezix.org/software/files/lshw-B.02.13.tar.gz abi_stdlib.diff)
+md5sums=('e94c728ed037ca706436b5ef71aa392d' '8696f9e8ecb71bedf374b538e8634d2d')
+arch=('i686' 'x86_64')
+depends=('gtk2')
+makedepends=('gcc')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+
+ patch -Np0 -i ../abi_stdlib.diff || return 1
+
+ make || return 1
+ make gui || return 1
+ make DESTDIR=$startdir/pkg/ install
+ make DESTDIR=$startdir/pkg/ install-gui
+}
+
diff --git a/abs/core-testing/lshw/abi_stdlib.diff b/abs/core-testing/lshw/abi_stdlib.diff
new file mode 100644
index 0000000..8ab61a0
--- /dev/null
+++ b/abs/core-testing/lshw/abi_stdlib.diff
@@ -0,0 +1,10 @@
+--- src/core/abi.cc 2008-05-24 22:30:21.000000000 -0500
++++ src/core/abi.cc 2008-05-24 22:29:28.000000000 -0500
+@@ -9,6 +9,7 @@
+ #include "osutils.h"
+ #include <unistd.h>
+ #include <dirent.h>
++#include <stdlib.h>
+
+ __ID("@(#) $Id: mem.cc 1352 2006-05-27 23:54:13Z ezix $");
+
diff --git a/abs/core-testing/lshw/gcc4.3.patch b/abs/core-testing/lshw/gcc4.3.patch
new file mode 100644
index 0000000..70b1b12
--- /dev/null
+++ b/abs/core-testing/lshw/gcc4.3.patch
@@ -0,0 +1,282 @@
+diff -Naur lshw-B.02.12.01-old/src/core/blockio.cc lshw-B.02.12.01/src/core/blockio.cc
+--- lshw-B.02.12.01-old/src/core/blockio.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/blockio.cc 2008-05-01 14:35:02.000000000 -0600
+@@ -7,6 +7,8 @@
+ #define _LARGEFILE_SOURCE
+ #define _FILE_OFFSET_BITS 64
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "blockio.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/cdrom.cc lshw-B.02.12.01/src/core/cdrom.cc
+--- lshw-B.02.12.01-old/src/core/cdrom.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/cdrom.cc 2008-05-01 14:15:33.000000000 -0600
+@@ -15,6 +15,7 @@
+ *
+ */
+
++#include <limits.h>
+ #include "version.h"
+ #include "cdrom.h"
+ #include "partitions.h"
+diff -Naur lshw-B.02.12.01-old/src/core/cpuid.cc lshw-B.02.12.01/src/core/cpuid.cc
+--- lshw-B.02.12.01-old/src/core/cpuid.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/cpuid.cc 2008-05-01 14:11:32.000000000 -0600
+@@ -1,3 +1,5 @@
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "cpuid.h"
+ #include <stdio.h>
+diff -Naur lshw-B.02.12.01-old/src/core/cpuinfo.cc lshw-B.02.12.01/src/core/cpuinfo.cc
+--- lshw-B.02.12.01-old/src/core/cpuinfo.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/cpuinfo.cc 2008-05-01 14:06:49.000000000 -0600
+@@ -1,3 +1,4 @@
++#include <cstdlib>
+ #include "version.h"
+ #include "cpuinfo.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/device-tree.cc lshw-B.02.12.01/src/core/device-tree.cc
+--- lshw-B.02.12.01-old/src/core/device-tree.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/device-tree.cc 2008-05-01 14:05:05.000000000 -0600
+@@ -9,6 +9,8 @@
+ *
+ */
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "device-tree.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/fb.cc lshw-B.02.12.01/src/core/fb.cc
+--- lshw-B.02.12.01-old/src/core/fb.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/fb.cc 2008-05-01 14:23:24.000000000 -0600
+@@ -4,6 +4,8 @@
+ *
+ */
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "fb.h"
+ #include <sys/types.h>
+diff -Naur lshw-B.02.12.01-old/src/core/hw.cc lshw-B.02.12.01/src/core/hw.cc
+--- lshw-B.02.12.01-old/src/core/hw.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/hw.cc 2008-05-01 13:59:33.000000000 -0600
+@@ -7,10 +7,12 @@
+ #include <vector>
+ #include <map>
+ #include <sstream>
+-#include <unistd.h>
++#include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <ctype.h>
+ #include <unistd.h>
++#include <limits.h>
+ #include <sys/utsname.h>
+
+ using namespace hw;
+diff -Naur lshw-B.02.12.01-old/src/core/ide.cc lshw-B.02.12.01/src/core/ide.cc
+--- lshw-B.02.12.01-old/src/core/ide.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/ide.cc 2008-05-01 14:13:01.000000000 -0600
+@@ -10,6 +10,8 @@
+ * by calling scan_disk() and scan_cdrom(), as appropriate.
+ */
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "cpuinfo.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/ideraid.cc lshw-B.02.12.01/src/core/ideraid.cc
+--- lshw-B.02.12.01-old/src/core/ideraid.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/ideraid.cc 2008-05-01 14:44:23.000000000 -0600
+@@ -3,6 +3,8 @@
+ *
+ */
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "cpuinfo.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/lvm.cc lshw-B.02.12.01/src/core/lvm.cc
+--- lshw-B.02.12.01-old/src/core/lvm.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/lvm.cc 2008-05-01 14:40:42.000000000 -0600
+@@ -9,6 +9,8 @@
+ *
+ */
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "lvm.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/mounts.cc lshw-B.02.12.01/src/core/mounts.cc
+--- lshw-B.02.12.01-old/src/core/mounts.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/mounts.cc 2008-05-01 14:54:07.000000000 -0600
+@@ -4,6 +4,8 @@
+ *
+ */
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "mounts.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/osutils.cc lshw-B.02.12.01/src/core/osutils.cc
+--- lshw-B.02.12.01-old/src/core/osutils.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/osutils.cc 2008-05-01 14:08:08.000000000 -0600
+@@ -1,3 +1,4 @@
++#include <cstring>
+ #include "version.h"
+ #include "osutils.h"
+ #include <sstream>
+diff -Naur lshw-B.02.12.01-old/src/core/parisc.cc lshw-B.02.12.01/src/core/parisc.cc
+--- lshw-B.02.12.01-old/src/core/parisc.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/parisc.cc 2008-05-01 14:28:11.000000000 -0600
+@@ -9,6 +9,7 @@
+ *
+ */
+
++#include <cstdlib>
+ #include "version.h"
+ #include "device-tree.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/partitions.cc lshw-B.02.12.01/src/core/partitions.cc
+--- lshw-B.02.12.01-old/src/core/partitions.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/partitions.cc 2008-05-01 14:33:22.000000000 -0600
+@@ -14,6 +14,8 @@
+ #define _LARGEFILE_SOURCE
+ #define _FILE_OFFSET_BITS 64
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "partitions.h"
+ #include "blockio.h"
+diff -Naur lshw-B.02.12.01-old/src/core/pci.cc lshw-B.02.12.01/src/core/pci.cc
+--- lshw-B.02.12.01-old/src/core/pci.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/pci.cc 2008-05-01 14:09:46.000000000 -0600
+@@ -1,3 +1,5 @@
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "pci.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/pcmcia.cc lshw-B.02.12.01/src/core/pcmcia.cc
+--- lshw-B.02.12.01-old/src/core/pcmcia.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/pcmcia.cc 2008-05-01 14:45:40.000000000 -0600
+@@ -1,3 +1,4 @@
++#include <cstdlib>
+ #include "version.h"
+ #include "pcmcia.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/pcmcia-legacy.cc lshw-B.02.12.01/src/core/pcmcia-legacy.cc
+--- lshw-B.02.12.01-old/src/core/pcmcia-legacy.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/pcmcia-legacy.cc 2008-05-01 14:17:18.000000000 -0600
+@@ -1,3 +1,5 @@
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "pcmcia-legacy.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/pnp.cc lshw-B.02.12.01/src/core/pnp.cc
+--- lshw-B.02.12.01-old/src/core/pnp.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/pnp.cc 2008-05-01 14:21:45.000000000 -0600
+@@ -6,6 +6,7 @@
+ *
+ *
+ */
++#include <cstdlib>
+ #include "version.h"
+ #include "pnp.h"
+
+diff -Naur lshw-B.02.12.01-old/src/core/print.cc lshw-B.02.12.01/src/core/print.cc
+--- lshw-B.02.12.01-old/src/core/print.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/print.cc 2008-05-01 14:02:00.000000000 -0600
+@@ -7,6 +7,8 @@
+ *
+ */
+
++#include <cstdlib>
++#include <cstring>
+ #include "print.h"
+ #include "options.h"
+ #include "version.h"
+diff -Naur lshw-B.02.12.01-old/src/core/scsi.cc lshw-B.02.12.01/src/core/scsi.cc
+--- lshw-B.02.12.01-old/src/core/scsi.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/scsi.cc 2008-05-01 14:18:40.000000000 -0600
+@@ -1,3 +1,5 @@
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "mem.h"
+ #include "cdrom.h"
+diff -Naur lshw-B.02.12.01-old/src/core/smp.cc lshw-B.02.12.01/src/core/smp.cc
+--- lshw-B.02.12.01-old/src/core/smp.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/smp.cc 2008-05-01 14:56:39.000000000 -0600
+@@ -4,6 +4,7 @@
+ *
+ */
+
++#include <cstring>
+ #include "version.h"
+ #include "smp.h"
+ #include <sys/types.h>
+diff -Naur lshw-B.02.12.01-old/src/core/spd.cc lshw-B.02.12.01/src/core/spd.cc
+--- lshw-B.02.12.01-old/src/core/spd.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/spd.cc 2008-05-01 14:20:10.000000000 -0600
+@@ -1,3 +1,5 @@
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "spd.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/sysfs.cc lshw-B.02.12.01/src/core/sysfs.cc
+--- lshw-B.02.12.01-old/src/core/sysfs.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/sysfs.cc 2008-05-01 14:26:29.000000000 -0600
+@@ -4,6 +4,7 @@
+ *
+ */
+
++#include <cstring>
+ #include "version.h"
+ #include "sysfs.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/usb.cc lshw-B.02.12.01/src/core/usb.cc
+--- lshw-B.02.12.01-old/src/core/usb.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/usb.cc 2008-05-01 14:24:55.000000000 -0600
+@@ -7,6 +7,8 @@
+ #define _GNU_SOURCE
+ #endif
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "usb.h"
+ #include "osutils.h"
+diff -Naur lshw-B.02.12.01-old/src/core/volumes.cc lshw-B.02.12.01/src/core/volumes.cc
+--- lshw-B.02.12.01-old/src/core/volumes.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/core/volumes.cc 2008-05-01 14:50:09.000000000 -0600
+@@ -6,6 +6,8 @@
+ #define _LARGEFILE_SOURCE
+ #define _FILE_OFFSET_BITS 64
+
++#include <cstdlib>
++#include <cstring>
+ #include "version.h"
+ #include "volumes.h"
+ #include "blockio.h"
+diff -Naur lshw-B.02.12.01-old/src/lshw.cc lshw-B.02.12.01/src/lshw.cc
+--- lshw-B.02.12.01-old/src/lshw.cc 2008-05-01 13:22:58.000000000 -0600
++++ lshw-B.02.12.01/src/lshw.cc 2008-05-01 14:58:24.000000000 -0600
+@@ -1,3 +1,5 @@
++#include <cstdlib>
++#include <cstring>
+ #include "hw.h"
+ #include "print.h"
+ #include "main.h"
diff --git a/abs/core-testing/ntp/PKGBUILD b/abs/core-testing/ntp/PKGBUILD
new file mode 100755
index 0000000..3b60cdf
--- /dev/null
+++ b/abs/core-testing/ntp/PKGBUILD
@@ -0,0 +1,26 @@
+pkgname=ntp
+pkgver=4.2.4p5
+pkgrel=1
+pkgdesc="NTP (Network Time Protocol) tries to keep servers in sync"
+arch=(i686 x86_64)
+url="http://www.ntp.org/"
+depends=('openssl' 'readline' )
+backup=('etc/ntp.conf' 'conf.d/ntp-client.conf')
+source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.4p5.tar.gz \
+ ntp.conf ntp-client.conf ntpd ntpdate )
+
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make prefix=$startdir/pkg/usr install
+ mkdir -p $startdir/pkg/usr/share/ntp/ $startdir/pkg/usr/man/man1/
+ install -D -m644 conf/* $startdir/pkg/usr/share/ntp/
+ install -D -m755 $startdir/ntpd $startdir/pkg/etc/rc.d/ntpd
+ install -D -m755 $startdir/ntpdate $startdir/pkg/etc/rc.d/ntpdate
+ install -D -m644 $startdir/src/man/* $startdir/pkg/usr/man/man1/
+ install -D -m644 $startdir/ntp-client.conf $startdir/pkg/etc/conf.d/ntp-client.conf
+ install -D -m644 $startdir/ntp.conf $startdir/pkg/etc/ntp.conf
+}
+
diff --git a/abs/core-testing/ntp/ntp-client.conf b/abs/core-testing/ntp/ntp-client.conf
new file mode 100755
index 0000000..4acabee
--- /dev/null
+++ b/abs/core-testing/ntp/ntp-client.conf
@@ -0,0 +1,8 @@
+# change this to a server closer to your location
+#NTP_CLIENT_SERVER="pool.ntp.org"
+NTP_CLIENT_SERVER="ntp1.cs.wisc.edu"
+# client options
+NTP_CLIENT_OPTION="-b -u"
+
+# timeout for the ntp-client
+NTPCLIENT_TIMEOUT=10
diff --git a/abs/core-testing/ntp/ntp.conf b/abs/core-testing/ntp/ntp.conf
new file mode 100755
index 0000000..e2c20e5
--- /dev/null
+++ b/abs/core-testing/ntp/ntp.conf
@@ -0,0 +1,48 @@
+# NOTES:
+# - you should only have to update the server line below
+# - if you start getting lines like 'restrict' and 'fudge'
+# and you didnt add them, AND you run dhcpcd on your
+# network interfaces, be sure to add '-Y -N' to the
+# dhcpcd_ethX variables in /etc/conf.d/net
+
+# Name of the servers ntpd should sync with
+# Please respect the access policy as stated by the responsible person.
+#server ntp.example.tld iburst
+
+#server pool.ntp.org
+server ntp1.cs.wisc.edu
+
+##
+# A list of available servers can be found here:
+# http://www.pool.ntp.org/
+# http://www.pool.ntp.org/#use
+# A good way to get servers for your machine is:
+# netselect -s 3 pool.ntp.org
+##
+
+# you should not need to modify the following paths
+driftfile /var/lib/ntp/ntp.drift
+
+#server ntplocal.example.com prefer
+#server timeserver.example.org
+
+# Warning: Using default NTP settings will leave your NTP
+# server accessible to all hosts on the Internet.
+
+# If you want to deny all machines (including your own)
+# from accessing the NTP server, uncomment:
+#restrict default ignore
+
+
+# To deny other machines from changing the
+# configuration but allow localhost:
+restrict default nomodify nopeer
+restrict 127.0.0.1
+
+
+# To allow machines within your network to synchronize
+# their clocks with your server, but ensure they are
+# not allowed to configure the server or used as peers
+# to synchronize against, uncomment this line.
+#
+restrict 192.168.0.0 mask 255.255.255.0 nomodify nopeer notrap
diff --git a/abs/core-testing/ntp/ntpd b/abs/core-testing/ntp/ntpd
new file mode 100755
index 0000000..bb39123
--- /dev/null
+++ b/abs/core-testing/ntp/ntpd
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/ntpd`
+case "$1" in
+ start)
+ stat_busy "Starting NTP Daemon"
+ if [ -z "$PID" ]; then
+ /usr/bin/ntpd -g &
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ PID=`pidof -o %PPID /usr/bin/ntpd`
+ echo $PID > /var/run/ntpd.pid
+ add_daemon ntpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping NTP Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon ntpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/abs/core-testing/ntp/ntpdate b/abs/core-testing/ntp/ntpdate
new file mode 100755
index 0000000..643ae19
--- /dev/null
+++ b/abs/core-testing/ntp/ntpdate
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/ntp-client.conf
+
+case "$1" in
+ start)
+ stat_busy "Starting NTP Client"
+ /usr/bin/ntpdate $NTP_CLIENT_OPTION -t $NTPCLIENT_TIMEOUT $NTP_CLIENT_SERVER > /dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon ntpdate
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping NTP Client"
+ rm_daemon ntpdate
+ stat_done
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/abs/extra-testing/atomicparsley/PKGBUILD b/abs/extra-testing/atomicparsley/PKGBUILD
new file mode 100644
index 0000000..a8d41ab
--- /dev/null
+++ b/abs/extra-testing/atomicparsley/PKGBUILD
@@ -0,0 +1,16 @@
+# Contributor: Baptiste Daroussin <baptiste.daroussin@gmail.com>
+pkgname=atomicparsley
+pkgver=0.9.0
+pkgrel=2
+pkgdesc="command line program for reading, parsing and setting iTunes-style metadata in MPEG4 files"
+arch=(i686 x86_64)
+url="http://atomicparsley.sourceforge.net/"
+license=('GPL')
+source=(http://downloads.sourceforge.net/$pkgname/AtomicParsley-source-$pkgver.zip)
+md5sums=('681e6ecec2921c98e07a9262bdcd6cf2')
+
+build() {
+ cd $startdir/src/AtomicParsley-source-$pkgver
+ ./build
+ install -D -m 755 AtomicParsley $startdir/pkg/usr/bin/AtomicParsley
+}
diff --git a/abs/extra-testing/cddb-py/PKGBUILD b/abs/extra-testing/cddb-py/PKGBUILD
new file mode 100755
index 0000000..6852446
--- /dev/null
+++ b/abs/extra-testing/cddb-py/PKGBUILD
@@ -0,0 +1,20 @@
+pkgname=cddb-py
+pkgver=1.4
+pkgrel=1
+pkgdesc="CDDB-Server access from Python. Differs from pycddb"
+url="http://cddb-py.sourceforge.net"
+license=""
+depends=(python)
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+install=
+arch='i686'
+source=("http://easynews.dl.sourceforge.net/sourceforge/cddb-py/CDDB-$pkgver.tar.gz")
+md5sums=('254698082bafe3030d07d88fb7e13fe2')
+
+build() {
+ cd $startdir/src/CDDB-$pkgver
+ python setup.py install --root=$startdir/pkg/
+ }
diff --git a/abs/extra-testing/evrouter/PKGBUILD b/abs/extra-testing/evrouter/PKGBUILD
new file mode 100644
index 0000000..e4fb59d
--- /dev/null
+++ b/abs/extra-testing/evrouter/PKGBUILD
@@ -0,0 +1,18 @@
+# Contributor: Jonathan Liu <net147@hotmail.com>
+pkgname=evrouter
+pkgver=0.3.3
+pkgrel=2
+pkgdesc="An Input Event Router for Linux"
+arch=(i686)
+url="http://www.bedroomlan.org/~alexios/coding_evrouter.html"
+license=('GPL2')
+depends=('libxt' 'libxtst' 'xorg-server')
+source=(http://www.bedroomlan.org/~alexios/files/SOFTWARE/evrouter/${pkgname}_${pkgver}.tar.gz)
+md5sums=('a20073e04679eb11a5c2da9ab59e75fd')
+
+build() {
+ cd "$startdir/src/$pkgname"
+ ./configure --prefix=/usr --without-xmms
+ make || return 1
+ make DESTDIR="$startdir/pkg" install
+}
diff --git a/abs/extra-testing/glib/PKGBUILD b/abs/extra-testing/glib/PKGBUILD
new file mode 100644
index 0000000..0f76a1e
--- /dev/null
+++ b/abs/extra-testing/glib/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=glib
+pkgver=1.2.10
+pkgrel=7
+pkgdesc="Common C routines used by Gtk+ and other libs"
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+license=('LGPL')
+depends=('glibc')
+options=('!libtool')
+source=(ftp://ftp.gtk.org/pub/gtk/v1.2/$pkgname-$pkgver.tar.gz \
+ gcc340.patch \
+ aclocal-fixes.patch)
+md5sums=('6fe30dad87c77b91b632def29dd69ef9' '877b3330e822a4be69a0f8a8c268cfd7'\
+ 'e52c4b88427b9785bb8049dbdc9ff6fb')
+sha1sums=('e5a9361c594608d152d5d9650154c2e3260b87fa'\
+ 'a2cc224a66aeffdcac16ebd9e8af18143cf54918'\
+ 'ae4438cf56c0c9264ee36f6973fb445f9a820be0')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ patch -Np1 -i ../gcc340.patch || return 1
+ patch -Np0 -i ../aclocal-fixes.patch || return 1
+
+ #Arch64 fixes --build/host
+ ./configure --prefix=/usr #--host=i686-pc-linux-gnu
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+}
diff --git a/abs/extra-testing/glib/aclocal-fixes.patch b/abs/extra-testing/glib/aclocal-fixes.patch
new file mode 100644
index 0000000..b064074
--- /dev/null
+++ b/abs/extra-testing/glib/aclocal-fixes.patch
@@ -0,0 +1,11 @@
+--- glib.m4.orig 2006-03-05 13:13:24.000000000 +0000
++++ glib.m4 2006-03-05 13:13:35.000000000 +0000
+@@ -5,7 +5,7 @@
+ dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or
+ dnl gthread is specified in MODULES, pass to glib-config
+ dnl
+-AC_DEFUN(AM_PATH_GLIB,
++AC_DEFUN([AM_PATH_GLIB],
+ [dnl
+ dnl Get the cflags and libraries from the glib-config script
+ dnl
diff --git a/abs/extra-testing/glib/gcc340.patch b/abs/extra-testing/glib/gcc340.patch
new file mode 100644
index 0000000..941111a
--- /dev/null
+++ b/abs/extra-testing/glib/gcc340.patch
@@ -0,0 +1,15 @@
+diff -Naur glib-1.2.10.orig/glib.h glib-1.2.10/glib.h
+--- glib-1.2.10.orig/glib.h 2001-02-27 04:44:38.000000000 +0100
++++ glib-1.2.10/glib.h 2004-05-27 15:50:32.436527848 +0200
+@@ -271,8 +271,10 @@
+
+ /* Wrap the gcc __PRETTY_FUNCTION__ and __FUNCTION__ variables with
+ * macros, so we can refer to them as strings unconditionally.
++ *
++ * Unfortunately these are _not_ treated as strings anymore in GCC3.4.
+ */
+-#ifdef __GNUC__
++#if defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
+ #define G_GNUC_FUNCTION __FUNCTION__
+ #define G_GNUC_PRETTY_FUNCTION __PRETTY_FUNCTION__
+ #else /* !__GNUC__ */
diff --git a/abs/extra-testing/gpac/PKGBUILD b/abs/extra-testing/gpac/PKGBUILD
new file mode 100755
index 0000000..a89db81
--- /dev/null
+++ b/abs/extra-testing/gpac/PKGBUILD
@@ -0,0 +1,50 @@
+pkgname=gpac
+pkgver=0.4.2
+pkgrel=3
+arch=("i686")
+pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
+url="http://gpac.sourceforge.net"
+options=(strip !docs !libtool !emptydirs)
+depends=('freetype2' 'spidermonkey' 'libjpeg' 'libpng' 'libmad' 'xvidcore' 'ffmpeg' 'libogg' 'faad2' 'libxml2' 'sdl' 'libvorbis' 'libtheora')
+source=(http://easynews.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
+http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/${pkgname}-${pkgver}-patches.tar.bz2
+gpac-0.4.2-ffmpeg-errno.patch)
+md5sums=('834910b42ef007410fcc49a5acd4656b' '7c40146553ab621154e52a8c43344083')
+
+build() {
+ cd $pkgname
+ patch -p1 -i $startdir/src/$pkgname-$pkgver-DESTDIR.patch
+ patch -p0 -i $startdir/src/$pkgname-$pkgver-configure-ogg.patch
+ patch -p1 -i $startdir/src/$pkgname-$pkgver-nostrip.patch
+ patch -p1 -i $startdir/src/$pkgname-$pkgver-soname.patch
+ patch -p1 -i $startdir/src/$pkgname-$pkgver-static-defs.patch
+ patch -p1 -i $startdir/src/$pkgname-$pkgver-ffmpeg-snapshots-compat.patch
+ patch -p1 -i $startdir/src/$pkgname-$pkgver-ffmpeg-errno.patch
+ sed -i 's/ldconfig / /' Makefile
+ sed -i 's/-Wall//' Makefile
+ patch -p1 -i $startdir/src/$pkgname-$pkgver-pic.patch
+ chmod +x configure
+ sed -i -e 's/has_wx=yes/has_wx=no/' configure
+ sed -i -e 's/osmozilla//g' applications/Makefile
+ ./configure --prefix=/usr \
+ --use-ogg=system \
+ --use-vorbis=system \
+ --use-theora=system \
+ --use-ffmpeg=system \
+ --use-xvid=system \
+ --use-ft=system \
+ --use-png=system \
+ --use-js=system \
+ --use-mad=system \
+ --use-jpeg=system \
+ --disable-wx
+ make OPTCFLAGS="${CFLAGS}" || return 1
+ make DESTDIR="${startdir}/pkg" install
+ make DESTDIR="${startdir}/pkg" install-lib
+ ln -sf MP4Box ${startdir}/pkg/usr/bin/mp4box
+ ln -sf MP4Client ${startdir}/pkg/usr/bin/mp4client
+ install -d ${startdir}/pkg/usr/man/man1
+ cp doc/man/mp4box.1 ${startdir}/pkg/usr/man/man1
+ cp doc/man/mp4client.1 ${startdir}/pkg/usr/man/man1
+ cp doc/man/gpac.1 ${startdir}/pkg/usr/man/man1
+}
diff --git a/abs/extra-testing/gpac/gpac-0.4.2-ffmpeg-errno.patch b/abs/extra-testing/gpac/gpac-0.4.2-ffmpeg-errno.patch
new file mode 100755
index 0000000..ec59cec
--- /dev/null
+++ b/abs/extra-testing/gpac/gpac-0.4.2-ffmpeg-errno.patch
@@ -0,0 +1,20 @@
+Index: gpac/modules/ffmpeg_in/ffmpeg_demux.c
+===================================================================
+--- gpac.orig/modules/ffmpeg_in/ffmpeg_demux.c
++++ gpac/modules/ffmpeg_in/ffmpeg_demux.c
+@@ -23,6 +23,7 @@
+ */
+
+ #include "ffmpeg_in.h"
++#include <errno.h>
+
+ /*default buffer is 200 ms per channel*/
+ #define FFD_DATA_BUFFER 800
+@@ -285,7 +286,6 @@ static GF_ESD *FFD_GetESDescriptor(FFDem
+ case CODEC_ID_MP3:
+ esd->decoderConfig->objectTypeIndication = 0x69;
+ break;
+- case CODEC_ID_MPEG4AAC:
+ case CODEC_ID_AAC:
+ if (!dec->extradata_size) goto opaque_audio;
+ esd->decoderConfig->objectTypeIndication = 0x40;
diff --git a/abs/extra-testing/gtk/PKGBUILD b/abs/extra-testing/gtk/PKGBUILD
new file mode 100644
index 0000000..40e235c
--- /dev/null
+++ b/abs/extra-testing/gtk/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=gtk
+pkgver=1.2.10
+pkgrel=8
+pkgdesc="The GTK+ toolkit"
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+license=('LGPL')
+depends=('libxi' 'glib')
+options=('!libtool')
+source=(ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-$pkgver.tar.gz \
+ aclocal-fixes.patch)
+md5sums=('4d5cb2fc7fb7830e4af9747a36bfce20' 'c59d4906602d99a7468f7334b6fc3b4e')
+sha1sums=('a5adcb909257da01ae4d4761e1d41081d06e4d7c' 'b034e33efb85d27f3f3fb082c404e3b6ea79259f')
+
+build() {
+ cd $startdir/src/gtk+-$pkgver
+ if [ "$CARCH" == "x86_64" ]; then
+ rm config.guess config.sub
+ ln -s /usr/share/libtool/config.guess config.guess
+ ln -s /usr/share/libtool/config.sub config.sub
+ fi
+ patch -Np0 -i ${startdir}/src/aclocal-fixes.patch || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --with-xinput=xfree
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+ cd $startdir/pkg/usr/include
+ ln -s gtk-1.2/gtk gtk
+}
diff --git a/abs/extra-testing/gtk/aclocal-fixes.patch b/abs/extra-testing/gtk/aclocal-fixes.patch
new file mode 100644
index 0000000..dd2ffbd
--- /dev/null
+++ b/abs/extra-testing/gtk/aclocal-fixes.patch
@@ -0,0 +1,11 @@
+--- gtk.m4.orig 2006-03-05 13:18:09.000000000 +0000
++++ gtk.m4 2006-03-05 13:18:20.000000000 +0000
+@@ -4,7 +4,7 @@
+ dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
+ dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_GTK,
++AC_DEFUN([AM_PATH_GTK],
+ [dnl
+ dnl Get the cflags and libraries from the gtk-config script
+ dnl
diff --git a/abs/extra-testing/hdhgrab/PKGBUILD b/abs/extra-testing/hdhgrab/PKGBUILD
new file mode 100755
index 0000000..be4fc7f
--- /dev/null
+++ b/abs/extra-testing/hdhgrab/PKGBUILD
@@ -0,0 +1,19 @@
+pkgname=hdhgrab
+pkgver=1
+pkgrel=1
+arch=("i686")
+pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
+url="myth2ipod.com"
+depends=('hdhomerun' )
+source=(http://ops.nocc.us/hdh/hdhgrab.tar.gz)
+
+
+build() {
+ cd $startdir/src
+
+ install -D -m 755 hdhscan $startdir/pkg/usr/bin/hdhscan
+ install -D -m 755 hdhgrab $startdir/pkg/usr/bin/hdhgrab
+ install -D -m755 README $startdir/pkg/usr/share/README.hdhgrab
+
+
+}
diff --git a/abs/extra-testing/libdv/PKGBUILD b/abs/extra-testing/libdv/PKGBUILD
new file mode 100644
index 0000000..c535c2c
--- /dev/null
+++ b/abs/extra-testing/libdv/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 4510 2008-07-07 21:13:34Z ronald $
+# Maintainer: Jason Chu <jason@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=libdv
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="The Quasar DV codec (libdv) is a software codec for DV video"
+arch=('i686' 'x86_64')
+depends=('popt')
+makedepends=('pkgconfig' 'gtk')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('f895162161cfa4bb4a94c070a7caa6c7')
+url="http://libdv.sourceforge.net/"
+license=('GPL')
+options=(!libtool)
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+}
diff --git a/abs/extra-testing/libdv/libdv-0.104-amd64reloc.patch b/abs/extra-testing/libdv/libdv-0.104-amd64reloc.patch
new file mode 100644
index 0000000..f3cbdbd
--- /dev/null
+++ b/abs/extra-testing/libdv/libdv-0.104-amd64reloc.patch
@@ -0,0 +1,262 @@
+diff -aur libdv-0.104/libdv/encode_x86_64.S libdv-0.104-patched/libdv/encode_x86_64.S
+--- libdv-0.104/libdv/encode_x86_64.S 2004-11-17 03:36:30.000000000 +0000
++++ libdv-0.104-patched/libdv/encode_x86_64.S 2004-12-10 07:53:12.000000000 +0000
+@@ -47,7 +47,8 @@
+
+ mov $63, %rcx # loop counter
+
+- mov vlc_encode_lookup(%rip), %r11
++ mov vlc_encode_lookup@GOTPCREL(%rip), %r11
++ mov (%r11),%r11
+
+ pxor %mm0, %mm0
+ pxor %mm2, %mm2
+@@ -129,7 +130,8 @@
+ add $2, %rdi /* skip the DC coefficient */
+ mov $63, %rcx
+
+- mov vlc_num_bits_lookup(%rip), %r11
++ mov vlc_num_bits_lookup@GOTPCREL(%rip), %r11
++ mov (%r11),%r11
+
+ vlc_num_bits_block_x86_loop:
+ movw (%rdi), %ax /* get the next coeffiecient */
+diff -aur libdv-0.104/libdv/idct_block_mmx_x86_64.S libdv-0.104-patched/libdv/idct_block_mmx_x86_64.S
+--- libdv-0.104/libdv/idct_block_mmx_x86_64.S 2004-10-20 04:49:24.000000000 +0100
++++ libdv-0.104-patched/libdv/idct_block_mmx_x86_64.S 2004-12-10 07:38:23.000000000 +0000
+@@ -22,7 +22,7 @@
+ /* void _dv_idct_88(dv_coeff_t *block) */
+ /* argument block=rdi */
+
+- lea preSC(%rip), %r11
++ mov preSC@GOTPCREL(%rip), %r11
+
+ /*
+ * column 0: even part
+diff -aur libdv-0.104/libdv/quant_x86_64.S libdv-0.104-patched/libdv/quant_x86_64.S
+--- libdv-0.104/libdv/quant_x86_64.S 2004-11-17 03:36:30.000000000 +0000
++++ libdv-0.104-patched/libdv/quant_x86_64.S 2004-12-10 07:36:42.000000000 +0000
+@@ -73,10 +73,10 @@
+ /* pq = dv_quant_shifts[qno + dv_quant_offset[class]]; */
+ mov %rsi,%rax /* qno */
+ mov %rdx,%r12 /* class */
+- lea dv_quant_offset(%rip),%rcx
++ mov dv_quant_offset@GOTPCREL(%rip),%rcx
+ movzbq (%rcx,%r12,1),%rcx /* dv_quant_offset[class] */
+ add %rcx,%rax /* qno + */
+- lea dv_quant_shifts(%rip),%r11
++ mov dv_quant_shifts@GOTPCREL(%rip),%r11
+ lea (%r11,%rax,4),%r11 /* r11 is pq = dv_quant_shifts[...] */
+
+ /* extra = (class == 3); */
+@@ -217,10 +217,10 @@
+ mov %rsi,%rax /* qno */
+ mov %rdx,%r12 /* class */
+
+- lea dv_quant_offset(%rip),%rcx
++ mov dv_quant_offset@GOTPCREL(%rip),%rcx
+ movzbq (%rcx,%r12,1),%rcx
+ add %rcx,%rax
+- lea dv_quant_shifts(%rip),%r11
++ mov dv_quant_shifts@GOTPCREL(%rip),%r11
+ lea (%r11,%rax,4),%r11 /* r11 is pq */
+
+ /* extra = (class == 3); */
+diff -aur libdv-0.104/libdv/vlc_x86_64.S libdv-0.104-patched/libdv/vlc_x86_64.S
+--- libdv-0.104/libdv/vlc_x86_64.S 2004-10-20 04:49:24.000000000 +0100
++++ libdv-0.104-patched/libdv/vlc_x86_64.S 2004-12-12 05:43:49.000000000 +0000
+@@ -16,28 +16,28 @@
+ /* klass = dv_vlc_classes[maxbits][(bits & (dv_vlc_class_index_mask[maxbits])) >> */
+ /* (dv_vlc_class_index_rshift[maxbits])]; */
+ /* xor %rbp,%rbp */
+- lea dv_vlc_class_index_mask(%rip),%r11 /* use %rip for PIC code */
++ mov dv_vlc_class_index_mask@GOTPCREL(%rip),%r11 /* use %rip for PIC code */
+ mov (%r11,%rbx,4),%ebp /* int32 */ /* dv_vlc_class_index_mask[maxbits] */
+ and %eax,%ebp /* bits & */
+- lea dv_vlc_class_index_rshift(%rip),%rcx
++ mov dv_vlc_class_index_rshift@GOTPCREL(%rip),%rcx
+ mov (%rcx,%rbx,4),%ecx /* int32 */ /* dv_vlc_class_index_rshift[maxbits] */
+ sar %cl,%ebp /* >> */
+- lea dv_vlc_classes(%rip),%rcx
++ mov dv_vlc_classes@GOTPCREL(%rip),%rcx
+ mov (%rcx,%rbx,8),%rcx /* ptr */ /* dv_vlc_classes[maxbits], a pointer */
+ movsbq (%rcx,%rbp,1),%rbp /* int8 */ /* klass = */
+
+ /* *result = dv_vlc_lookups[klass][(bits & (dv_vlc_index_mask[klass])) >> */
+ /* (dv_vlc_index_rshift[klass])]; */
+ /* xor %rbx,%rbx */
+- lea dv_vlc_index_mask(%rip),%r11
++ mov dv_vlc_index_mask@GOTPCREL(%rip),%r11
+ mov (%r11,%rbp,4),%ebx /* int32 */ /* (dv_vlc_index_mask[klass]) */
+ /* xor %rcx,%rcx */
+- lea dv_vlc_index_rshift(%rip),%r11
++ mov dv_vlc_index_rshift@GOTPCREL(%rip),%r11
+ mov (%r11,%rbp,4),%ecx /* int32 */ /* dv_vlc_index_rshift[klass] */
+ and %eax,%ebx /* bits & */
+ sar %cl,%ebx /* >> */
+
+- lea dv_vlc_lookups(%rip),%r11
++ mov dv_vlc_lookups@GOTPCREL(%rip),%r11
+ mov (%r11,%rbp,8),%rbp /* ptr */ /* dv_vlc_lookups[klass] */
+ mov (%rbp,%rbx,4),%ebp /* int32 */ /* *result = */
+
+@@ -57,7 +57,7 @@
+ mov %ebp,%ecx
+ sar $8,%ecx
+ and $0xff,%ecx /* result->len */
+- lea sign_mask(%rip),%rbx
++ mov sign_mask@GOTPCREL(%rip),%rbx
+ mov (%rbx,%rcx,4),%ebx /* int32 */
+ and %ebx,%eax
+ neg %eax
+@@ -109,17 +109,17 @@
+ mov %rax,%rbp
+ and $0xfe00,%ebp
+ sar $9,%ebp
+- lea dv_vlc_class_lookup5(%rip),%r11
++ mov dv_vlc_class_lookup5@GOTPCREL(%rip),%r11
+ movsbq (%r11,%rbp),%rbp /* int8 klass */
+
+- lea dv_vlc_index_mask(%rip),%rbx
++ mov dv_vlc_index_mask@GOTPCREL(%rip),%rbx
+ mov (%rbx,%rbp,4),%ebx /* int32 */
+- lea dv_vlc_index_rshift(%rip),%rcx
++ mov dv_vlc_index_rshift@GOTPCREL(%rip),%rcx
+ mov (%rcx,%rbp,4),%ecx /* int32 */
+ and %eax,%ebx
+ sar %cl,%ebx /* %rbx is klass */
+
+- lea dv_vlc_lookups(%rip),%r11
++ mov dv_vlc_lookups@GOTPCREL(%rip),%r11
+ mov (%r11,%rbp,8),%rbp /* ptr */
+ mov (%rbp,%rbx,4),%ebp /* int32 */
+
+@@ -138,7 +138,7 @@
+ mov %ebp,%ecx
+ sar $8,%ecx
+ and $0xff,%ecx
+- lea sign_mask(%rip),%r11
++ mov sign_mask@GOTPCREL(%rip),%r11
+ mov (%r11,%rcx,4),%ecx /* int32 */
+ and %ecx,%eax
+ neg %eax
+@@ -253,7 +253,7 @@
+
+ /* Attempt to use the shortcut first. If it hits, then
+ this vlc term has been decoded. */
+- lea dv_vlc_class1_shortcut(%rip),%r10
++ mov dv_vlc_class1_shortcut@GOTPCREL(%rip),%r10
+ mov (%r10,%rcx,4),%r11d /* record32 dv_vlc_tab_t */
+ test $0x80,%r11d
+
+@@ -267,17 +267,17 @@
+
+ /* %rax is bits */
+
+- lea dv_vlc_class_lookup5(%rip),%r10
++ mov dv_vlc_class_lookup5@GOTPCREL(%rip),%r10
+ movsbq (%r10,%rcx,1),%rcx /* int8 */
+
+ /* xor %r12,%r12 */
+- lea dv_vlc_index_mask(%rip),%r10
++ mov dv_vlc_index_mask@GOTPCREL(%rip),%r10
+ mov (%r10,%rcx,4),%r12d /* int32 */
+
+- lea dv_vlc_lookups(%rip),%r10
++ mov dv_vlc_lookups@GOTPCREL(%rip),%r10
+ mov (%r10,%rcx,8),%r11 /* ptr->record32 */
+
+- lea dv_vlc_index_rshift(%rip),%r10
++ mov dv_vlc_index_rshift@GOTPCREL(%rip),%r10
+ mov (%r10,%rcx,4),%ecx /* int32 */
+
+ and %eax,%r12d
+@@ -303,7 +303,7 @@
+ mov %r11d,%ecx
+ sar $8,%ecx
+ and $0xff,%ecx
+- lea sign_mask(%rip),%r10
++ mov sign_mask@GOTPCREL(%rip),%r10
+ mov (%r10,%rcx,4),%ecx /* int32 */
+ and %ecx,%eax
+ neg %eax
+@@ -388,7 +388,8 @@
+ mov %r11,%rsi /* bits */
+ mov %rax,%rdi /* bits_left */
+ lea vlc(%rip),%rdx /* *vlc */
+- call dv_decode_vlc
++ mov dv_decode_vlc@GOTPCREL(%rip),%r11
++ call *%r11
+ pop %rdx
+ pop %rsi
+ pop %rdi
+@@ -473,7 +474,7 @@
+ movl %r11d,dv_macroblock_t_eob_count(%r13) /* int32 */
+
+ /* mb->i = (seg->i + dv_super_map_vertical[m]) % (seg->isPAL?12:10); */
+- lea dv_super_map_vertical(%rip),%r11
++ mov dv_super_map_vertical@GOTPCREL(%rip),%r11
+ movl (%r11,%rax,4),%r11d /* int32 */
+ /* xor %rcx,%rcx */
+ movl dv_videosegment_t_i(%r12),%ecx /* int32 */
+@@ -493,7 +494,7 @@
+ movl %r11d,dv_macroblock_t_i(%r13) /* int32 */
+
+ /* mb->j = dv_super_map_horizontal[m]; */
+- lea dv_super_map_horizontal(%rip),%r11
++ mov dv_super_map_horizontal@GOTPCREL(%rip),%r11
+ movl (%r11,%rax,4),%r11d /* int32 */
+ movl %r11d,dv_macroblock_t_j(%r13) /* int32 */
+
+@@ -546,7 +547,8 @@
+
+ /* bl->reorder = &dv_reorder[bl->dct_mode][1]; */
+ shl $6,%rax /* *64 */
+- lea (dv_reorder+1)(%rip),%rcx
++ mov dv_reorder@GOTPCREL(%rip),%rcx
++ add $1,%rcx
+ add %rcx,%rax
+ mov %rax,dv_block_t_reorder(%r15) /* ptr */
+
+@@ -557,13 +559,13 @@
+ /* bl->offset= mb_start + dv_parse_bit_start[b]; */
+ /* xor %rcx,%rcx */
+ movl mb_start(%rip),%ecx /* int32 */
+- lea dv_parse_bit_start(%rip),%rax
++ mov dv_parse_bit_start@GOTPCREL(%rip),%rax
+ mov (%rax,%r12,4),%eax /* int32 */
+ add %rcx,%rax
+ movl %eax,dv_block_t_offset(%r15) /* int32 */
+
+ /* bl->end= mb_start + dv_parse_bit_end[b]; */
+- lea dv_parse_bit_end(%rip),%rax
++ mov dv_parse_bit_end@GOTPCREL(%rip),%rax
+ mov (%rax,%r12,4),%eax /* int32 */
+ add %ecx,%eax
+ mov %eax,dv_block_t_end(%r15) /* int32 */
+@@ -603,7 +605,8 @@
+ mov dv_videosegment_t_bs(%rdi),%rdi /* passed in rdi was seg, now passing seg->bs */
+ mov %r13,%rsi /* mb */
+ mov %r15,%rdx /* bl */
+- call dv_parse_ac_coeffs_pass0
++ mov dv_parse_ac_coeffs_pass0@GOTPCREL(%rip),%r11
++ call *%r11
+ pop %rdi
+ pop %rsi
+ pop %rdx
+@@ -635,10 +638,12 @@
+ mov %rsi,%rax /* quality */
+ and $DV_QUALITY_AC_MASK,%rax
+ cmp $DV_QUALITY_AC_2,%rax
++
++ jne done
++ mov dv_parse_ac_coeffs@GOTPCREL(%rip),%r11
++ jmp *%r11
+
+- jz dv_parse_ac_coeffs
+-
+- mov $0,%rax
++done: mov $0,%rax
+
+ ret
+
diff --git a/abs/extra-testing/mjpegtools/PKGBUILD b/abs/extra-testing/mjpegtools/PKGBUILD
new file mode 100644
index 0000000..663e839
--- /dev/null
+++ b/abs/extra-testing/mjpegtools/PKGBUILD
@@ -0,0 +1,27 @@
+pkgname=mjpegtools
+pkgver=1.8.0
+pkgrel=1
+pkgdesc="The mjpeg programs are a set of tools that can do recording of videos and playback, simple cut-and-paste editing and the MPEG compression of audio and video under Linux. "
+arch=(i686 x86_64)
+license=('GPL')
+url="http://mjpeg.sourceforge.net/"
+depends=('libjpeg' 'libpng' 'sdl' 'gcc' 'libdv')
+makedepends=('gtk2')
+options=('!makeflags' '!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/mjpeg/${pkgname}-${pkgver}.tar.gz
+ mjpegtools-1.8.0-gcc41.patch mjpegtools-1.8.0-libc.patch)
+#md5sums=('6fd98362310480bdaf7171e9659f165f' '803eccd889c60a442ee23ba65951fadc')
+
+build() {
+ cd ${startdir}/src/${pkgname}-${pkgver}
+# patch -Np1 -i ${startdir}/src/mjpegtools-1.8.0-gcc41.patch || return 1
+ patch -Np1 -i ${startdir}/src/mjpegtools-1.8.0-libc.patch || return 1
+ ./configure --prefix=/usr
+ find -name Makefile -exec sed -i -e 's:-march=k8 -mtune=k8::' -e 's:-march=pentium3 -mtune=pentium3::' {} \;
+
+ make || return 1
+ make DESTDIR=${startdir}/pkg install
+
+ install -m644 mpeg2enc/mpeg2syntaxcodes.h \
+ ${startdir}/pkg/usr/include/mjpegtools/mpeg2enc/
+}
diff --git a/abs/extra-testing/mjpegtools/mjpegtools-1.8.0-gcc41.patch b/abs/extra-testing/mjpegtools/mjpegtools-1.8.0-gcc41.patch
new file mode 100644
index 0000000..77d556f
--- /dev/null
+++ b/abs/extra-testing/mjpegtools/mjpegtools-1.8.0-gcc41.patch
@@ -0,0 +1,12 @@
+diff -ur mjpegtools-1.8.0-orig/y4mdenoise/Region2D.hh mjpegtools-1.8.0/y4mdenoise/Region2D.hh
+--- mjpegtools-1.8.0-orig/y4mdenoise/Region2D.hh 2005-12-19 12:36:54.000000000 +0300
++++ mjpegtools-1.8.0/y4mdenoise/Region2D.hh 2005-12-19 12:44:36.000000000 +0300
+@@ -16,7 +16,7 @@
+
+ #include "Status_t.h"
+ #include <iostream>
+-
++#include <cassert>
+
+
+ // The 2-dimensional region class. Parameterized by the numeric type
diff --git a/abs/extra-testing/mjpegtools/mjpegtools-1.8.0-libc.patch b/abs/extra-testing/mjpegtools/mjpegtools-1.8.0-libc.patch
new file mode 100644
index 0000000..6ea14e0
--- /dev/null
+++ b/abs/extra-testing/mjpegtools/mjpegtools-1.8.0-libc.patch
@@ -0,0 +1,142 @@
+diff -ur mjpegtools-1.8.0.old/mpeg2enc/encodertypes.h mjpegtools-1.8.0/mpeg2enc/encodertypes.h
+--- mjpegtools-1.8.0.old/mpeg2enc/encodertypes.h 2008-10-28 13:17:34.000000000 -0500
++++ mjpegtools-1.8.0/mpeg2enc/encodertypes.h 2008-10-28 13:34:41.000000000 -0500
+@@ -23,7 +23,9 @@
+ * 02111-1307, USA.
+ *
+ */
+-
++
++#include <cstdlib>
++
+ #include "config.h"
+
+
+diff -ur mjpegtools-1.8.0.old/mpeg2enc/macroblock.cc mjpegtools-1.8.0/mpeg2enc/macroblock.cc
+--- mjpegtools-1.8.0.old/mpeg2enc/macroblock.cc 2008-10-28 13:17:34.000000000 -0500
++++ mjpegtools-1.8.0/mpeg2enc/macroblock.cc 2008-10-28 13:32:54.000000000 -0500
+@@ -19,6 +19,9 @@
+ *
+ */
+
++
++#include <limits>
++
+ #include <stdio.h>
+
+ #include "macroblock.hh"
+@@ -49,7 +52,7 @@
+ {
+ vector<MotionEst>::iterator i;
+ vector<MotionEst>::iterator min_me;
+- int best_score = INT_MAX;
++ int best_score = std::numeric_limits<int>::max();
+ int cur_score;
+
+ //
+diff -ur mjpegtools-1.8.0.old/mpeg2enc/motionest.cc mjpegtools-1.8.0/mpeg2enc/motionest.cc
+--- mjpegtools-1.8.0.old/mpeg2enc/motionest.cc 2008-10-28 13:17:34.000000000 -0500
++++ mjpegtools-1.8.0/mpeg2enc/motionest.cc 2008-10-28 13:38:03.000000000 -0500
+@@ -45,6 +45,8 @@
+ *
+ */
+
++#include <limits>
++
+ #include <config.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -1643,7 +1645,7 @@
+ a basis for setting thresholds for rejecting really dud 4*4
+ and 2*2 sub-sampled matches.
+ */
+- best.weight = psad_00(reffld+i0+j0*lx,ssblk->mb,lx,h,INT_MAX);
++ best.weight = psad_00(reffld+i0+j0*lx,ssblk->mb,lx,h,std::numeric_limits<int>::max());
+ best.x = 0;
+ best.y = 0;
+
+@@ -1714,7 +1716,7 @@
+ /* Final polish: half-pel search of best 1*1 against
+ reconstructed image.
+ */
+- res->sad = INT_MAX;
++ res->sad = std::numeric_limits<int>::max();
+ x = (i0+best.x)<<1;
+ y = (j0+best.y)<<1;
+
+diff -ur mjpegtools-1.8.0.old/mpeg2enc/picturereader.cc mjpegtools-1.8.0/mpeg2enc/picturereader.cc
+--- mjpegtools-1.8.0.old/mpeg2enc/picturereader.cc 2008-10-28 13:17:34.000000000 -0500
++++ mjpegtools-1.8.0/mpeg2enc/picturereader.cc 2008-10-28 13:36:50.000000000 -0500
+@@ -20,6 +20,8 @@
+ */
+
+
++#include <limits>
++
+ #include "picturereader.hh"
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -37,7 +39,7 @@
+ frames_read = 0;
+ last_frame = -1;
+ lum_mean = 0;
+- istrm_nframes = INT_MAX;
++ istrm_nframes = std::numeric_limits<int>::max();
+ }
+
+
+diff -ur mjpegtools-1.8.0.old/mplex/inputstrm.cpp mjpegtools-1.8.0/mplex/inputstrm.cpp
+--- mjpegtools-1.8.0.old/mplex/inputstrm.cpp 2008-10-28 13:17:34.000000000 -0500
++++ mjpegtools-1.8.0/mplex/inputstrm.cpp 2008-10-28 13:56:15.000000000 -0500
+@@ -21,6 +21,8 @@
+ */
+
+
++#include <limits>
++
+ #include <config.h>
+ #include <assert.h>
+
+@@ -72,7 +74,7 @@
+ au(0),
+ muxinto( into ),
+ kind(_kind),
+- buffer_min(INT_MAX),
++ buffer_min(std::numeric_limits<int>::max()),
+ buffer_max(1)
+ {
+ }
+diff -ur mjpegtools-1.8.0.old/mplex/main.cpp mjpegtools-1.8.0/mplex/main.cpp
+--- mjpegtools-1.8.0.old/mplex/main.cpp 2008-10-28 13:17:34.000000000 -0500
++++ mjpegtools-1.8.0/mplex/main.cpp 2008-10-28 14:06:49.000000000 -0500
+@@ -26,6 +26,7 @@
+ *************************************************************************/
+
+ #include <config.h>
++#include <cstring>
+ #include <stdio.h>
+ #ifdef HAVE_GETOPT_H
+ #include <getopt.h>
+diff -ur mjpegtools-1.8.0.old/mplex/multiplexor.cpp mjpegtools-1.8.0/mplex/multiplexor.cpp
+--- mjpegtools-1.8.0.old/mplex/multiplexor.cpp 2008-10-28 13:17:34.000000000 -0500
++++ mjpegtools-1.8.0/mplex/multiplexor.cpp 2008-10-28 13:59:51.000000000 -0500
+@@ -19,6 +19,7 @@
+ */
+
+ #define STREAM_LOGGING
++#include <cstring>
+ #include <config.h>
+ #include <math.h>
+ #include <stdlib.h>
+diff -ur mjpegtools-1.8.0.old/mplex/padstrm.cpp mjpegtools-1.8.0/mplex/padstrm.cpp
+--- mjpegtools-1.8.0.old/mplex/padstrm.cpp 2008-10-28 13:17:34.000000000 -0500
++++ mjpegtools-1.8.0/mplex/padstrm.cpp 2008-10-28 14:03:24.000000000 -0500
+@@ -20,6 +20,8 @@
+ */
+
+
++#include <cstring>
++
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
diff --git a/abs/extra-testing/myth2ipod/PKGBUILD b/abs/extra-testing/myth2ipod/PKGBUILD
new file mode 100755
index 0000000..ea55613
--- /dev/null
+++ b/abs/extra-testing/myth2ipod/PKGBUILD
@@ -0,0 +1,20 @@
+pkgname=myth2ipod
+pkgver=0.2
+pkgrel=15
+arch=("i686")
+pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
+url="myth2ipod.com"
+depends=('gpac' 'nuvexport' )
+install="myth2ipod.install"
+source=( http://myth2ipod.com/myth2ipod.txt http://myth2ipod.com/iPod.pm myth2ipod.patch myth2ipod-userjob.sh)
+
+
+build() {
+ cd $startdir/src
+ patch -p0 < myth2ipod.patch
+ install -D -m 755 myth2ipod.txt $startdir/pkg/usr/bin/myth2ipod
+ install -D -m 755 myth2ipod-userjob.sh /$startdir/pkg/usr/bin/myth2ipod-userjob.sh
+ install -D -m755 iPod.pm $startdir/pkg/usr/local/share/nuvexport/export/ffmpeg/iPod.pm
+
+
+}
diff --git a/abs/extra-testing/myth2ipod/iPod.pm b/abs/extra-testing/myth2ipod/iPod.pm
new file mode 100755
index 0000000..24eae99
--- /dev/null
+++ b/abs/extra-testing/myth2ipod/iPod.pm
@@ -0,0 +1,184 @@
+#
+# $Date: 2006-01-18 00:15:31 -0800 (Wed, 18 Jan 2006) $
+# $Revision: 226 $
+# $Author: xris $
+#
+# export::ffmpeg::iPod
+#
+
+package export::ffmpeg::iPod;
+ use base 'export::ffmpeg';
+
+# Load the myth and nuv utilities, and make sure we're connected to the database
+ use nuv_export::shared_utils;
+ use nuv_export::cli;
+ use nuv_export::ui;
+ use mythtv::db;
+ use mythtv::recordings;
+
+# Load the following extra parameters from the commandline
+ add_arg('quantisation|q=i', 'Quantisation');
+ add_arg('a_bitrate|a=i', 'Audio bitrate');
+ add_arg('v_bitrate|v=i', 'Video bitrate');
+ add_arg('multipass!', 'Enably two-pass encoding.');
+
+ sub new {
+ my $class = shift;
+ my $self = {
+ 'cli' => qr/\bipod\b/i,
+ 'name' => 'Export to iPod',
+ 'enabled' => 1,
+ 'errors' => [],
+ 'defaults' => {},
+ };
+ bless($self, $class);
+
+ # Initialize the default parameters
+ $self->load_defaults();
+
+ # Verify any commandline or config file options
+ die "Audio bitrate must be > 0\n" unless (!defined $self->val('a_bitrate') || $self->{'a_bitrate'} > 0);
+ die "Video bitrate must be > 0\n" unless (!defined $self->val('v_bitrate') || $self->{'v_bitrate'} > 0);
+
+ # VBR, multipass, etc.
+ if ($self->val('multipass')) {
+ $self->{'vbr'} = 0;
+ }
+ elsif ($self->val('quantisation')) {
+ die "Quantisation must be a number between 1 and 31 (lower means better quality).\n" if ($self->{'quantisation'} < 1 || $self->{'quantisation'} > 31);
+ $self->{'vbr'} = 1;
+ }
+
+ # Initialize and check for ffmpeg
+ $self->init_ffmpeg();
+
+ # Can we even encode ipod?
+ # if (!$self->can_encode('mov')) {
+ # push @{$self->{'errors'}}, "Your ffmpeg installation doesn't support encoding to mov file formats.";
+ # }
+ if (!$self->can_encode('xvid')) {
+ push @{$self->{'errors'}}, "Your ffmpeg installation doesn't support encoding to xvid video.";
+ }
+ if (!$self->can_encode('aac')) {
+ push @{$self->{'errors'}}, "Your ffmpeg installation doesn't support encoding to aac audio.";
+ }
+ # Any errors? disable this function
+ $self->{'enabled'} = 0 if ($self->{'errors'} && @{$self->{'errors'}} > 0);
+ # Return
+ return $self;
+ }
+
+# Load default settings
+ sub load_defaults {
+ my $self = shift;
+ # Load the parent module's settings
+ $self->SUPER::load_defaults();
+ # Default bitrates
+ $self->{'defaults'}{'v_bitrate'} = 384;
+ $self->{'defaults'}{'a_bitrate'} = 64;
+ }
+
+# Gather settings from the user
+ sub gather_settings {
+ my $self = shift;
+ # Load the parent module's settings
+ $self->SUPER::gather_settings();
+ # Audio Bitrate
+ $self->{'a_bitrate'} = query_text('Audio bitrate?',
+ 'int',
+ $self->val('a_bitrate'));
+ # VBR options
+ if (!$is_cli) {
+ $self->{'vbr'} = query_text('Variable bitrate video?',
+ 'yesno',
+ $self->val('vbr'));
+ if ($self->{'vbr'}) {
+ $self->{'multipass'} = query_text('Multi-pass (slower, but better quality)?',
+ 'yesno',
+ $self->val('multipass'));
+ if (!$self->{'multipass'}) {
+ while (1) {
+ my $quantisation = query_text('VBR quality/quantisation (1-31)?',
+ 'float',
+ $self->val('quantisation'));
+ if ($quantisation < 1) {
+ print "Too low; please choose a number between 1 and 31.\n";
+ }
+ elsif ($quantisation > 31) {
+ print "Too high; please choose a number between 1 and 31\n";
+ }
+ else {
+ $self->{'quantisation'} = $quantisation;
+ last;
+ }
+ }
+ }
+ } else {
+ $self->{'multipass'} = 0;
+ }
+ # Ask the user what video bitrate he/she wants
+ $self->{'v_bitrate'} = query_text('Video bitrate?',
+ 'int',
+ $self->val('v_bitrate'));
+ }
+ }
+
+ sub export {
+ my $self = shift;
+ my $episode = shift;
+ # Force to 4:3 aspect ratio
+ $self->{'out_aspect'} = 1.3333;
+ $self->{'aspect_stretched'} = 1;
+ # PAL or NTSC?
+ my $standard = ($episode->{'finfo'}{'fps'} =~ /^2(?:5|4\.9)/) ? 'PAL' : 'NTSC';
+ $self->{'width'} = 320;
+ $self->{'height'} = ($standard eq 'PAL') ? '288' : '240';
+ $self->{'out_fps'} = ($standard eq 'PAL') ? 25 : 29.97;
+ # Embed the title
+ my $safe_title = shell_escape($episode->{'show_name'}.' - '.$episode->{'title'});
+ # Dual pass?
+ if ($self->{'multipass'}) {
+ # Build the common ffmpeg string
+ my $ffmpeg_xtra = ' -b ' . $self->{'v_bitrate'}
+ .' -bufsize 65535'
+ .' -vcodec xvid -acodec aac '
+ .' -ab ' . $self->{'a_bitrate'}
+ ." -f mp4 -title $safe_title";
+ # Add the temporary file to the list
+ push @tmpfiles, "/tmp/xvid.$$.log";
+ # Back up the path and use /dev/null for the first pass
+ my $path_bak = $self->{'path'};
+ $self->{'path'} = '/dev/null';
+ # Build the ffmpeg string
+ print "First pass...\n";
+ $self->{'ffmpeg_xtra'} = " -pass 1 -passlogfile '/tmp/divx.$$.log'"
+ .$ffmpeg_xtra;
+ $self->SUPER::export($episode, '');
+ # Restore the path
+ $self->{'path'} = $path_bak;
+ # Second Pass
+ print "Final pass...\n";
+ $self->{'ffmpeg_xtra'} = " -pass 2 -passlogfile '/tmp/divx.$$.log'"
+ .$ffmpeg_xtra;
+ }
+ # Single Pass
+ else {
+ $self->{'ffmpeg_xtra'} = ' -b ' . $self->{'v_bitrate'}
+ .(($self->{'vbr'})
+ ? ' -qmin '.$self->{'quantisation'}
+ .' -qmax 31 -minrate 32'
+ .' -maxrate '.(2*$self->{'v_bitrate'})
+ .' -bt 32'
+ : '')
+ .' -vcodec xvid -acodec aac '
+ .' -ab ' . $self->{'a_bitrate'}
+ ." -f mp4 -title $safe_title";
+ }
+ # Execute the (final pass) encode
+ $self->SUPER::export($episode, '.mp4');
+ }
+
+1; #return true
+
+# vim:ts=4:sw=4:ai:et:si:sts=4
+
diff --git a/abs/extra-testing/myth2ipod/myth2ipod-userjob.sh b/abs/extra-testing/myth2ipod/myth2ipod-userjob.sh
new file mode 100755
index 0000000..9ed65b2
--- /dev/null
+++ b/abs/extra-testing/myth2ipod/myth2ipod-userjob.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+. /etc/profile
+#su mythtv -c "TERM=vt100 /usr/bin/myth2ipod "$1" "$2" >/tmp/logfile"
+su mythtv -c "TERM=vt100 /usr/bin/myth2ipod "$1" "$2" "
+#or to also use commercial flagging cutlist
+#su mythtv -c "TERM=vt100 /usr/bin/myth2ipod -cut "$1" "$2" >/tmp/logfile"
diff --git a/abs/extra-testing/myth2ipod/myth2ipod.install b/abs/extra-testing/myth2ipod/myth2ipod.install
new file mode 100755
index 0000000..a1c1ce7
--- /dev/null
+++ b/abs/extra-testing/myth2ipod/myth2ipod.install
@@ -0,0 +1,41 @@
+
+pre_install() {
+ echo ""
+}
+
+pre_upgrade() {
+ pre_install
+}
+
+pre_remove() {
+ pre_install
+}
+
+post_install() {
+ . /etc/systemconfig
+ mkdir /data/media/ipodfeed
+ chown mythtv:users /data/media/ipodfeed
+ ln -s /data/media/ipodfeed /data/srv/httpd/htdocs/ipodfeed
+ cp /usr/bin/myth2ipod /tmp
+ sed -e "s/REPLACEME/$hostname/g" /tmp/myth2ipod > /usr/bin/myth2ipod
+
+
+}
+
+post_upgrade() {
+
+
+ mkdir /data/media/ipodfeed
+ chown mythtv:users /data/media/ipodfeed
+ ln -s /data/media/ipodfeed /data/srv/httpd/htdocs/ipodfeed
+ /usr/bin/myth2ipod -rebuild
+}
+
+post_remove() {
+ post_install
+}
+
+op=$1
+shift
+
+$op $* \ No newline at end of file
diff --git a/abs/extra-testing/myth2ipod/myth2ipod.patch b/abs/extra-testing/myth2ipod/myth2ipod.patch
new file mode 100755
index 0000000..95785ab
--- /dev/null
+++ b/abs/extra-testing/myth2ipod/myth2ipod.patch
@@ -0,0 +1,35 @@
+--- myth2ipod.txt 2007-06-01 10:00:02.000000000 -0500
++++ myth2ipod.txt.modified 2007-06-01 11:24:26.000000000 -0500
+@@ -12,10 +12,10 @@
+
+ # User variables
+ my $portable = "ipod";
+- my $feedfile = "/myth/ipodfeed/feed.php";
+- my $feedpath = "/myth/ipodfeed/";
+- my $wwwloc = "/var/www/";
+- my $feedurl = "http://hostname/ipodfeed/";
++ my $feedfile = "/data/media/ipodfeed/feed.php";
++ my $feedpath = "/data/media/ipodfeed/";
++ my $wwwloc = "/data/srv/httpd/htdocs/";
++ my $feedurl = "http://REPLACEME/ipodfeed/";
+ my $nuvoptions ="--mode=iPod --nice=19 --cutlist --nodenoise --nodeinterlace --nomultipass";
+
+ # Some variables
+@@ -136,7 +136,7 @@
+ # Create cutlist from commercial flagging if -cut was passed to the script
+ if ($cut == 1){
+ printf("Generating cutlist\n");
+- $cmd = "/usr/bin/mythcommflag --chanid $chanid --starttime $start --gencutlist";
++ $cmd = "/usr/local/bin/mythcommflag --chanid $chanid --starttime $start --gencutlist";
+ print $cmd."\n";
+ if(system($cmd)) { print "It looks like I was not able to generate a cutlist.\n"; }
+ }
+@@ -147,7 +147,7 @@
+ if(system($cmd)) { print "Nuvexport encoding seems to have failed\n"; }
+
+ # Now clean up the output so iPods with firmware 1.1 and above can use it
+- $cmd = "/usr/local/bin/MP4Box -add $feedpath$chanid\_$start.temp.mp4 $feedpath$chanid\_$start.$portable.mp4";
++ $cmd = "/usr/bin/MP4Box -add $feedpath$chanid\_$start.temp.mp4 $feedpath$chanid\_$start.$portable.mp4";
+ print $cmd."\n";
+ if(system($cmd)) { print "MP4Box cleanup seems to have failed\n"; }
+ return 0;
diff --git a/abs/extra-testing/myth2ipod/myth2ipod.txt b/abs/extra-testing/myth2ipod/myth2ipod.txt
new file mode 100755
index 0000000..d3d0dab
--- /dev/null
+++ b/abs/extra-testing/myth2ipod/myth2ipod.txt
@@ -0,0 +1,310 @@
+#!/usr/bin/perl -w
+# VERSION: 1.0b2 - myth2ipod
+# Get the latest version, and change log at myth2ipod.com
+# Author: Chris aka Wififun - email: wififun@myth2ipod.com
+# Contributions and testing by Paul Egli
+# modified to use nuvexport by starv at juniks dot org
+
+# Includes
+ use DBI;
+ use Getopt::Long;
+ use File::Path;
+
+# User variables
+ my $portable = "ipod";
+ my $feedfile = "/myth/ipodfeed/feed.php";
+ my $feedpath = "/myth/ipodfeed/";
+ my $wwwloc = "/var/www/";
+ my $feedurl = "http://hostname/ipodfeed/";
+ my $nuvoptions ="--mode=iPod --nice=19 --cutlist --nodenoise --nodeinterlace --nomultipass";
+
+# Some variables
+ our ($dest, $format, $usage);
+ our ($db_host, $db_user, $db_name, $db_pass, $video_dir);
+ our ($hostname, $db_handle, $sql, $statement, $row_ref);
+ our ($chanid, $start, $nuvfile, @nuvarray);
+ my $rebuild = '0';
+ my $encode = '0';
+ my $debug = '0';
+ my $setup = '0';
+ my $cut = '0';
+ my( $rightnow ) = `date`;
+
+GetOptions ("rebuild" => \$rebuild,
+ "encode" => \$encode,
+ "debug" => \$debug,
+ "setup" => \$setup,
+ "cut" => \$cut);
+
+if ($setup == 1){
+ system("clear");
+ print "Setup will do everything needed to run this script.\n";
+ print "This has only been tested on KnoppMyth R5A22.\n";
+ print "make sure you have edited the variables for your conguration.\n";
+ my $cksetup = &promptUser("\nAre you sure you want to procceed?","n");
+ if ($cksetup =~ "y") {
+ DoSetup();
+ exit;
+ }
+ print "Setup exited. Nothing done.\n";
+ exit;
+}
+elsif ($rebuild == 1){
+ GenerateRSSFeed();
+ print "Rebuilding of RSS feed is complete.\n";
+ exit;
+}
+else {
+ Encode4Portable();
+ print "$title is ready for your $portable\n";
+
+ # Check to see if the feed file exists; if not, create it.
+ if (! -e $feedfile) {
+ print "No feed file found. I will make one for you.\n";
+ GenerateRSSFeed();
+ print "All done.\n";
+ }
+}
+
+sub Encode4Portable{
+ if ($#ARGV != 1) {
+ print "Encoding requires options.\nusage: myth2ipod <options> DIRECTORY FILE\n";
+ exit;
+ }
+
+ # Get the show information
+ $directory = $ARGV[0];
+ $file = $ARGV[1];
+ @file = split(/_/, $file);
+ $chanid = $file[0];
+ $start = substr $file[1],0,14;
+ if($debug == 1){ print "$chanid\n$start\n"};
+ if (! -e $directory."/".$file){
+ print "Opps, the file ".$directory.$file." does not exist.\n";
+ exit;
+ }
+
+ # Connect to the database
+ PrepSQLRead();
+ $db_handle = DBI->connect("dbi:mysql:database=$db_name:host=$db_host", $db_user, $db_pass)
+ or die "Cannot connect to database: $!\n\n";
+ $sql = "SELECT title, subtitle, description, category, starttime FROM recorded WHERE chanid = $chanid AND DATE_FORMAT(starttime,'%Y%m%d%H%i%s') = $start";
+
+ $statement = $db_handle->prepare($sql)
+ or die "Couldn't prepare query '$sql': $DBI::errstr\n";
+
+ $statement->execute()
+ or die "Couldn't execute query '$sql': $DBI::errstr\n";
+ $row_ref = $statement->fetchrow_hashref();
+ if($debug == 1){ print "$row_ref->{starttime}\n"};
+ $title = $row_ref->{title};
+ $subtitle = $row_ref->{subtitle};
+ $recorddate = $row_ref->{starttime};
+ $description = $row_ref->{description};
+ $category = $row_ref->{category};
+ $filename = $title."-".$subtitle."-".substr $start, 0, 8;
+ $filename =~ s/ /_/g;
+ $filename =~ s/&/+/g;
+ $filename =~ s/\047//g;
+ $filename =~ s/[^+0-9a-zA-Z_-]+/_/g;
+ $filename =~ s/_$//g;
+
+ printf("Starting nuvexport...\n");
+ EncodeIt();
+ printf("Nuvexport completed, starting xml generation...\n");
+ CreateItemXML();
+ printf("XML file created for \"$filename\" : Yipeee\n");
+ printf("Cleaning up temporary files\n");
+ $cmd = "rm -f $feedpath$chanid\_$start.temp.mp4";
+ print $cmd."\n";
+ if(system($cmd)) { print "Removing nuvexport temp file failed\n"; }
+
+ # remove the cutlist incase we added it.
+ if ($cut == 1){
+ printf("Generating cutlist\n");
+ $cmd = "/usr/bin/mythcommflag --chanid $chanid --starttime $start --clearcutlist";
+ print $cmd."\n";
+ if(system($cmd)) { print "It looks like I was not able to generate a cutlist.\n"; }
+ }
+ return 0;
+}
+
+#
+# Encode for Portable
+#
+sub EncodeIt {
+ # Create cutlist from commercial flagging if -cut was passed to the script
+ if ($cut == 1){
+ printf("Generating cutlist\n");
+ $cmd = "/usr/bin/mythcommflag --chanid $chanid --starttime $start --gencutlist";
+ print $cmd."\n";
+ if(system($cmd)) { print "It looks like I was not able to generate a cutlist.\n"; }
+ }
+
+ # Use nuvexport to do the work
+ $cmd = "/usr/local/bin/nuvexport --chanid=$chanid --start=$start $nuvoptions --filename=$chanid\_$start.temp --path=$feedpath";
+ print $cmd."\n";
+ if(system($cmd)) { print "Nuvexport encoding seems to have failed\n"; }
+
+ # Now clean up the output so iPods with firmware 1.1 and above can use it
+ $cmd = "/usr/local/bin/MP4Box -add $feedpath$chanid\_$start.temp.mp4 $feedpath$chanid\_$start.$portable.mp4";
+ print $cmd."\n";
+ if(system($cmd)) { print "MP4Box cleanup seems to have failed\n"; }
+ return 0;
+}
+
+#
+# Create XML with <ITEM> tag for this video file
+#
+sub CreateItemXML {
+ open(ITEM, ">$feedpath$chanid\_$start.$portable.xml");
+ print ITEM "<item>\n";
+ print ITEM "<title>".&encodeForXML($title." - ".$subtitle)."</title>\n";
+ print ITEM "<itunes:author>MythTV</itunes:author>\n";
+ print ITEM "<author>MythTV</author>\n";
+ print ITEM "<itunes:category text=\"TV Shows\"></itunes:category>\n";
+ print ITEM "<comments>".&encodeForXML($file)."</comments>\n";
+ print ITEM "<description>".&encodeForXML($description)."</description>\n";
+ print ITEM "<pubDate>".$recorddate."</pubDate>\n";
+ print ITEM "<enclosure url=\"".&encodeForXML("$feedurl$chanid\_$start.$portable.mp4")."\" type=\"video/quicktime\" />\n";
+ print ITEM "<itunes:duration></itunes:duration>\n";
+ print ITEM "<itunes:keywords>".&encodeForXML($title." - ".$subtitle." - ".$category)."</itunes:keywords>\n";
+ print ITEM "<category>".&encodeForXML($category)."</category>\n";
+ print ITEM "</item>\n";
+ print "\"$filename\" has been added to the feed.\n";
+ close(ITEM);
+ return 0;
+}
+
+#
+# Generate the RSS feed by combining the ITEM XML Files
+#
+sub GenerateRSSFeed {
+
+ open(RSS, ">$feedfile");
+ print RSS "<?php\n";
+ print RSS "header(\"Content-Type: text/xml\");\n";
+ print RSS "echo \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\"; ?>\n";
+ print RSS "<rss xmlns:itunes=\"http://www.itunes.com/DTDs/Podcast-1.0.dtd\" version=\"2.0\">\n";
+ print RSS "<channel>\n";
+ print RSS "<title>MythTV - <? if (\$_GET['title'] == \"\") { \$title = \"*\"; echo \"Recorded Programs\"; }\n";
+ print RSS "else { \$title = \$_GET['title']; echo str_replace(\"_\",\" \",\$_GET['title']); } ?> </title>\n";
+ print RSS "<itunes:author>MythTV - myth2ipod</itunes:author>\n";
+ print RSS "<link>".&encodeForXML($feedurl)."</link>\n";
+ print RSS "<itunes:subtitle>Transcoded recording for your iPod Video.</itunes:subtitle>\n";
+ print RSS "<itunes:summary>Myth TV Recorded Programs for the iPod v.1</itunes:summary>\n";
+ print RSS "<description>Myth TV Recorded Programs for the iPod v.1</description>\n";
+ print RSS "<itunes:owner>\n";
+ print RSS "<itunes:name>MythTV</itunes:name>\n";
+ print RSS "<itunes:email>mythtv\@localhost</itunes:email>\n";
+ print RSS "</itunes:owner>\n";
+ print RSS "<itunes:explicit>No</itunes:explicit>\n";
+ print RSS "<language>en-us</language>\n";
+ print RSS "<copyright>Copyright 2005.</copyright>\n";
+ print RSS "<webMaster>mythtv\@localhost</webMaster>\n";
+ print RSS "<itunes:image href=\"http://myth2ipod.com/mythipod_200.jpg\" />\n";
+ print RSS "<itunes:category text=\"TV Shows\"></itunes:category>\n";
+ print RSS "<category>TV Shows</category>\n";
+ print RSS "<itunes:image href=\"http://myth2ipod.com/mythipod_200.jpg\"/>";
+ print RSS "<image>";
+ print RSS "<url>http://myth2ipod.com/mythipod_200.jpg</url>\n";
+ print RSS "<title>MythTV 2 iPod</title>\n";
+ print RSS "<link>".&encodeForXML($feedurl)."</link>\n";
+ print RSS "<width>200</width>\n";
+ print RSS "<height>200</height>\n";
+ print RSS "</image>\n";
+ print RSS "<? foreach (glob(\$title\.\"*\.$portable\.xml\") as \$file) {include \$file;} ?>\n";
+ print RSS "</channel>\n";
+ print RSS "</rss>\n";
+ close(RSS);
+ if($debug == 1){ print "I created a feed file, was I supposed to?\n"};
+
+ return 0;
+}
+
+# substitute for XML entities
+sub encodeForXML {
+ local $result;
+ $result = $_[0];
+ $result =~ s/&/&amp;/g;
+ $result =~ s/</&lt;/g;
+ $result =~ s/>/&gt;/g;
+ $result;
+}
+
+
+#
+# This code taken from one of the mythlink.sh scripts to get MySQL information
+#
+sub PrepSQLRead{
+# Get the hostname of this machine
+ $hostname = `hostname`;
+ chomp($hostname);
+
+# Read the mysql.txt file in use by MythTV.
+# could be in a couple places, so try the usual suspects
+ my $found = 0;
+ my @mysql = ('/usr/local/share/mythtv/mysql.txt',
+ '/usr/share/mythtv/mysql.txt',
+ '/etc/mythtv/mysql.txt',
+ '/usr/local/etc/mythtv/mysql.txt',
+ "$ENV{HOME}/.mythtv/mysql.txt",
+ 'mysql.txt'
+ );
+ foreach my $file (@mysql) {
+ next unless (-e $file);
+ $found = 1;
+ open(CONF, $file) or die "Unable to open $file: $!\n\n";
+ while (my $line = <CONF>) {
+ # Cleanup
+ next if ($line =~ /^\s*#/);
+ $line =~ s/^str //;
+ chomp($line);
+ # Split off the var=val pairs
+ my ($var, $val) = split(/\=/, $line, 2);
+ next unless ($var && $var =~ /\w/);
+ if ($var eq 'DBHostName') {
+ $db_host = $val;
+ }
+ elsif ($var eq 'DBUserName') {
+ $db_user = $val;
+ }
+ elsif ($var eq 'DBName') {
+ $db_name = $val;
+ }
+ elsif ($var eq 'DBPassword') {
+ $db_pass = $val;
+ }
+ # Hostname override
+ elsif ($var eq 'LocalHostName') {
+ $hostname = $val;
+ }
+ }
+ close CONF;
+ }
+ die "Unable to locate mysql.txt: $!\n\n" unless ($found && $db_host);
+ return 0;
+}
+
+sub promptUser {
+ local($promptString,$defaultValue) = @_;
+ if ($defaultValue) {
+ print $promptString, "[", $defaultValue, "]: ";
+ } else {
+ print $promptString, ": ";
+ }
+
+ $| = 1; # force a flush after our print
+ $_ = <STDIN>; # get the input from STDIN (presumably the keyboard)
+ chomp;
+ if ("$defaultValue") {
+ return $_ ? $_ : $defaultValue; # return $_ if it has a value
+ } else {
+ return $_;
+ }
+}
+
+sub DoSetup {
+ print "\nNot ready yet. How do you send the cd command from perl?\n";
+ return 0;
+}
diff --git a/abs/extra-testing/myth2ipod/myth2ipod.txt.modified b/abs/extra-testing/myth2ipod/myth2ipod.txt.modified
new file mode 100755
index 0000000..ab41a2f
--- /dev/null
+++ b/abs/extra-testing/myth2ipod/myth2ipod.txt.modified
@@ -0,0 +1,310 @@
+#!/usr/bin/perl -w
+# VERSION: 1.0b2 - myth2ipod
+# Get the latest version, and change log at myth2ipod.com
+# Author: Chris aka Wififun - email: wififun@myth2ipod.com
+# Contributions and testing by Paul Egli
+# modified to use nuvexport by starv at juniks dot org
+
+# Includes
+ use DBI;
+ use Getopt::Long;
+ use File::Path;
+
+# User variables
+ my $portable = "ipod";
+ my $feedfile = "/data/media/feed.php";
+ my $feedpath = "/data/media/";
+ my $wwwloc = "/data/srv/httpd/htdocs/";
+ my $feedurl = "http://REPLACEME/ipodfeed/";
+ my $nuvoptions ="--mode=iPod --nice=19 --cutlist --nodenoise --nodeinterlace --nomultipass";
+
+# Some variables
+ our ($dest, $format, $usage);
+ our ($db_host, $db_user, $db_name, $db_pass, $video_dir);
+ our ($hostname, $db_handle, $sql, $statement, $row_ref);
+ our ($chanid, $start, $nuvfile, @nuvarray);
+ my $rebuild = '0';
+ my $encode = '0';
+ my $debug = '0';
+ my $setup = '0';
+ my $cut = '0';
+ my( $rightnow ) = `date`;
+
+GetOptions ("rebuild" => \$rebuild,
+ "encode" => \$encode,
+ "debug" => \$debug,
+ "setup" => \$setup,
+ "cut" => \$cut);
+
+if ($setup == 1){
+ system("clear");
+ print "Setup will do everything needed to run this script.\n";
+ print "This has only been tested on KnoppMyth R5A22.\n";
+ print "make sure you have edited the variables for your conguration.\n";
+ my $cksetup = &promptUser("\nAre you sure you want to procceed?","n");
+ if ($cksetup =~ "y") {
+ DoSetup();
+ exit;
+ }
+ print "Setup exited. Nothing done.\n";
+ exit;
+}
+elsif ($rebuild == 1){
+ GenerateRSSFeed();
+ print "Rebuilding of RSS feed is complete.\n";
+ exit;
+}
+else {
+ Encode4Portable();
+ print "$title is ready for your $portable\n";
+
+ # Check to see if the feed file exists; if not, create it.
+ if (! -e $feedfile) {
+ print "No feed file found. I will make one for you.\n";
+ GenerateRSSFeed();
+ print "All done.\n";
+ }
+}
+
+sub Encode4Portable{
+ if ($#ARGV != 1) {
+ print "Encoding requires options.\nusage: myth2ipod <options> DIRECTORY FILE\n";
+ exit;
+ }
+
+ # Get the show information
+ $directory = $ARGV[0];
+ $file = $ARGV[1];
+ @file = split(/_/, $file);
+ $chanid = $file[0];
+ $start = substr $file[1],0,14;
+ if($debug == 1){ print "$chanid\n$start\n"};
+ if (! -e $directory."/".$file){
+ print "Opps, the file ".$directory.$file." does not exist.\n";
+ exit;
+ }
+
+ # Connect to the database
+ PrepSQLRead();
+ $db_handle = DBI->connect("dbi:mysql:database=$db_name:host=$db_host", $db_user, $db_pass)
+ or die "Cannot connect to database: $!\n\n";
+ $sql = "SELECT title, subtitle, description, category, starttime FROM recorded WHERE chanid = $chanid AND DATE_FORMAT(starttime,'%Y%m%d%H%i%s') = $start";
+
+ $statement = $db_handle->prepare($sql)
+ or die "Couldn't prepare query '$sql': $DBI::errstr\n";
+
+ $statement->execute()
+ or die "Couldn't execute query '$sql': $DBI::errstr\n";
+ $row_ref = $statement->fetchrow_hashref();
+ if($debug == 1){ print "$row_ref->{starttime}\n"};
+ $title = $row_ref->{title};
+ $subtitle = $row_ref->{subtitle};
+ $recorddate = $row_ref->{starttime};
+ $description = $row_ref->{description};
+ $category = $row_ref->{category};
+ $filename = $title."-".$subtitle."-".substr $start, 0, 8;
+ $filename =~ s/ /_/g;
+ $filename =~ s/&/+/g;
+ $filename =~ s/\047//g;
+ $filename =~ s/[^+0-9a-zA-Z_-]+/_/g;
+ $filename =~ s/_$//g;
+
+ printf("Starting nuvexport...\n");
+ EncodeIt();
+ printf("Nuvexport completed, starting xml generation...\n");
+ CreateItemXML();
+ printf("XML file created for \"$filename\" : Yipeee\n");
+ printf("Cleaning up temporary files\n");
+ $cmd = "rm -f $feedpath$chanid\_$start.temp.mp4";
+ print $cmd."\n";
+ if(system($cmd)) { print "Removing nuvexport temp file failed\n"; }
+
+ # remove the cutlist incase we added it.
+ if ($cut == 1){
+ printf("Generating cutlist\n");
+ $cmd = "/usr/bin/mythcommflag --chanid $chanid --starttime $start --clearcutlist";
+ print $cmd."\n";
+ if(system($cmd)) { print "It looks like I was not able to generate a cutlist.\n"; }
+ }
+ return 0;
+}
+
+#
+# Encode for Portable
+#
+sub EncodeIt {
+ # Create cutlist from commercial flagging if -cut was passed to the script
+ if ($cut == 1){
+ printf("Generating cutlist\n");
+ $cmd = "/usr/local/bin/mythcommflag --chanid $chanid --starttime $start --gencutlist";
+ print $cmd."\n";
+ if(system($cmd)) { print "It looks like I was not able to generate a cutlist.\n"; }
+ }
+
+ # Use nuvexport to do the work
+ $cmd = "/usr/local/bin/nuvexport --chanid=$chanid --start=$start $nuvoptions --filename=$chanid\_$start.temp --path=$feedpath";
+ print $cmd."\n";
+ if(system($cmd)) { print "Nuvexport encoding seems to have failed\n"; }
+
+ # Now clean up the output so iPods with firmware 1.1 and above can use it
+ $cmd = "/usr/bin/MP4Box -add $feedpath$chanid\_$start.temp.mp4 $feedpath$chanid\_$start.$portable.mp4";
+ print $cmd."\n";
+ if(system($cmd)) { print "MP4Box cleanup seems to have failed\n"; }
+ return 0;
+}
+
+#
+# Create XML with <ITEM> tag for this video file
+#
+sub CreateItemXML {
+ open(ITEM, ">$feedpath$chanid\_$start.$portable.xml");
+ print ITEM "<item>\n";
+ print ITEM "<title>".&encodeForXML($title." - ".$subtitle)."</title>\n";
+ print ITEM "<itunes:author>MythTV</itunes:author>\n";
+ print ITEM "<author>MythTV</author>\n";
+ print ITEM "<itunes:category text=\"TV Shows\"></itunes:category>\n";
+ print ITEM "<comments>".&encodeForXML($file)."</comments>\n";
+ print ITEM "<description>".&encodeForXML($description)."</description>\n";
+ print ITEM "<pubDate>".$recorddate."</pubDate>\n";
+ print ITEM "<enclosure url=\"".&encodeForXML("$feedurl$chanid\_$start.$portable.mp4")."\" type=\"video/quicktime\" />\n";
+ print ITEM "<itunes:duration></itunes:duration>\n";
+ print ITEM "<itunes:keywords>".&encodeForXML($title." - ".$subtitle." - ".$category)."</itunes:keywords>\n";
+ print ITEM "<category>".&encodeForXML($category)."</category>\n";
+ print ITEM "</item>\n";
+ print "\"$filename\" has been added to the feed.\n";
+ close(ITEM);
+ return 0;
+}
+
+#
+# Generate the RSS feed by combining the ITEM XML Files
+#
+sub GenerateRSSFeed {
+
+ open(RSS, ">$feedfile");
+ print RSS "<?php\n";
+ print RSS "header(\"Content-Type: text/xml\");\n";
+ print RSS "echo \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\"; ?>\n";
+ print RSS "<rss xmlns:itunes=\"http://www.itunes.com/DTDs/Podcast-1.0.dtd\" version=\"2.0\">\n";
+ print RSS "<channel>\n";
+ print RSS "<title>MythTV - <? if (\$_GET['title'] == \"\") { \$title = \"*\"; echo \"Recorded Programs\"; }\n";
+ print RSS "else { \$title = \$_GET['title']; echo str_replace(\"_\",\" \",\$_GET['title']); } ?> </title>\n";
+ print RSS "<itunes:author>MythTV - myth2ipod</itunes:author>\n";
+ print RSS "<link>".&encodeForXML($feedurl)."</link>\n";
+ print RSS "<itunes:subtitle>Transcoded recording for your iPod Video.</itunes:subtitle>\n";
+ print RSS "<itunes:summary>Myth TV Recorded Programs for the iPod v.1</itunes:summary>\n";
+ print RSS "<description>Myth TV Recorded Programs for the iPod v.1</description>\n";
+ print RSS "<itunes:owner>\n";
+ print RSS "<itunes:name>MythTV</itunes:name>\n";
+ print RSS "<itunes:email>mythtv\@localhost</itunes:email>\n";
+ print RSS "</itunes:owner>\n";
+ print RSS "<itunes:explicit>No</itunes:explicit>\n";
+ print RSS "<language>en-us</language>\n";
+ print RSS "<copyright>Copyright 2005.</copyright>\n";
+ print RSS "<webMaster>mythtv\@localhost</webMaster>\n";
+ print RSS "<itunes:image href=\"http://myth2ipod.com/mythipod_200.jpg\" />\n";
+ print RSS "<itunes:category text=\"TV Shows\"></itunes:category>\n";
+ print RSS "<category>TV Shows</category>\n";
+ print RSS "<itunes:image href=\"http://myth2ipod.com/mythipod_200.jpg\"/>";
+ print RSS "<image>";
+ print RSS "<url>http://myth2ipod.com/mythipod_200.jpg</url>\n";
+ print RSS "<title>MythTV 2 iPod</title>\n";
+ print RSS "<link>".&encodeForXML($feedurl)."</link>\n";
+ print RSS "<width>200</width>\n";
+ print RSS "<height>200</height>\n";
+ print RSS "</image>\n";
+ print RSS "<? foreach (glob(\$title\.\"*\.$portable\.xml\") as \$file) {include \$file;} ?>\n";
+ print RSS "</channel>\n";
+ print RSS "</rss>\n";
+ close(RSS);
+ if($debug == 1){ print "I created a feed file, was I supposed to?\n"};
+
+ return 0;
+}
+
+# substitute for XML entities
+sub encodeForXML {
+ local $result;
+ $result = $_[0];
+ $result =~ s/&/&amp;/g;
+ $result =~ s/</&lt;/g;
+ $result =~ s/>/&gt;/g;
+ $result;
+}
+
+
+#
+# This code taken from one of the mythlink.sh scripts to get MySQL information
+#
+sub PrepSQLRead{
+# Get the hostname of this machine
+ $hostname = `hostname`;
+ chomp($hostname);
+
+# Read the mysql.txt file in use by MythTV.
+# could be in a couple places, so try the usual suspects
+ my $found = 0;
+ my @mysql = ('/usr/local/share/mythtv/mysql.txt',
+ '/usr/share/mythtv/mysql.txt',
+ '/etc/mythtv/mysql.txt',
+ '/usr/local/etc/mythtv/mysql.txt',
+ "$ENV{HOME}/.mythtv/mysql.txt",
+ 'mysql.txt'
+ );
+ foreach my $file (@mysql) {
+ next unless (-e $file);
+ $found = 1;
+ open(CONF, $file) or die "Unable to open $file: $!\n\n";
+ while (my $line = <CONF>) {
+ # Cleanup
+ next if ($line =~ /^\s*#/);
+ $line =~ s/^str //;
+ chomp($line);
+ # Split off the var=val pairs
+ my ($var, $val) = split(/\=/, $line, 2);
+ next unless ($var && $var =~ /\w/);
+ if ($var eq 'DBHostName') {
+ $db_host = $val;
+ }
+ elsif ($var eq 'DBUserName') {
+ $db_user = $val;
+ }
+ elsif ($var eq 'DBName') {
+ $db_name = $val;
+ }
+ elsif ($var eq 'DBPassword') {
+ $db_pass = $val;
+ }
+ # Hostname override
+ elsif ($var eq 'LocalHostName') {
+ $hostname = $val;
+ }
+ }
+ close CONF;
+ }
+ die "Unable to locate mysql.txt: $!\n\n" unless ($found && $db_host);
+ return 0;
+}
+
+sub promptUser {
+ local($promptString,$defaultValue) = @_;
+ if ($defaultValue) {
+ print $promptString, "[", $defaultValue, "]: ";
+ } else {
+ print $promptString, ": ";
+ }
+
+ $| = 1; # force a flush after our print
+ $_ = <STDIN>; # get the input from STDIN (presumably the keyboard)
+ chomp;
+ if ("$defaultValue") {
+ return $_ ? $_ : $defaultValue; # return $_ if it has a value
+ } else {
+ return $_;
+ }
+}
+
+sub DoSetup {
+ print "\nNot ready yet. How do you send the cd command from perl?\n";
+ return 0;
+}
diff --git a/abs/extra-testing/nasm/PKGBUILD b/abs/extra-testing/nasm/PKGBUILD
new file mode 100644
index 0000000..fbac564
--- /dev/null
+++ b/abs/extra-testing/nasm/PKGBUILD
@@ -0,0 +1,19 @@
+# $Id: PKGBUILD,v 1.11 2005/03/01 07:53:53 dorphell Exp $
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Committer: Judd Vinet <jvinet@zeroflux.org>
+pkgname=nasm
+pkgver=0.98.39
+pkgrel=1
+pkgdesc="80x86 assembler designed for portability and modularity"
+depends=('glibc')
+arch=i686
+source=(http://easynews.dl.sourceforge.net/sourceforge/nasm/nasm-$pkgver.tar.bz2)
+md5sums=('2032ad44c7359f7a9a166a40a633e772')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ mkdir -p $startdir/pkg/usr/{bin,man/man1}
+ make prefix=$startdir/pkg/usr install
+}
diff --git a/abs/extra-testing/nspr/PKGBUILD b/abs/extra-testing/nspr/PKGBUILD
new file mode 100644
index 0000000..e968390
--- /dev/null
+++ b/abs/extra-testing/nspr/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 2577 2008-06-08 12:29:04Z jgc $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+pkgname=nspr
+pkgver=4.7.1
+pkgrel=1
+pkgdesc="Netscape Portable Runtime"
+arch=(i686 x86_64)
+url="http://www.mozilla.org/projects/nspr/"
+license=('MPL' 'GPL')
+depends=('glibc')
+makedepends=('zip')
+options=(!emptydirs)
+source=(ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/${pkgname}-${pkgver}.tar.gz
+ nspr.pc.in)
+md5sums=('7c6e75a0867ce2b9ec62e399a908b5ac'
+ 'bce1611f3117b53fc904cab549c09967')
+
+build() {
+ cd ${startdir}/src/${pkgname}-${pkgver}
+ [ "$CARCH" = "x86_64" ] && confflags="--enable-64bit"
+ unset CFLAGS
+ unset CXXFLAGS
+ ./mozilla/nsprpub/configure \
+ --prefix=/usr \
+ --libdir=/usr/lib \
+ --includedir=/usr/include/nspr \
+ --enable-optimize \
+ --disable-debug ${confflags} || return 1
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+
+ NSPR_LIBS=`./config/nspr-config --libs`
+ NSPR_CFLAGS=`./config/nspr-config --cflags`
+ NSPR_VERSION=`./config/nspr-config --version`
+ install -m755 -d ${startdir}/pkg/usr/lib/pkgconfig || return 1
+ sed ${startdir}/src/nspr.pc.in -e "s,%libdir%,/usr/lib," \
+ -e "s,%prefix%,/usr," \
+ -e "s,%exec_prefix%,/usr/bin," \
+ -e "s,%includedir%,/usr/include/nspr," \
+ -e "s,%NSPR_VERSION%,${NSPR_VERSION}," \
+ -e "s,%FULL_NSPR_LIBS%,${NSPR_LIBS}," \
+ -e "s,%FULL_NSPR_CFLAGS%,${NSPR_CFLAGS}," > ${startdir}/pkg/usr/lib/pkgconfig/nspr.pc || return 1
+ chmod 644 ${startdir}/pkg/usr/lib/pkgconfig/nspr.pc || return 1
+ ln -sf nspr.pc ${startdir}/pkg/usr/lib/pkgconfig/mozilla-nspr.pc || return 1
+
+ chmod 644 ${startdir}/pkg/usr/lib/*.a || return 1
+
+ rm -rf ${startdir}/pkg/usr/bin/compile-et.pl \
+ ${startdir}/pkg/usr/bin/prerr.properties \
+ ${startdir}/pkg/usr/share/aclocal/nspr.m4 \
+ ${startdir}/pkg/usr/include/nspr/md
+}
diff --git a/abs/extra-testing/nspr/nspr.pc.in b/abs/extra-testing/nspr/nspr.pc.in
new file mode 100644
index 0000000..1d8f4a0
--- /dev/null
+++ b/abs/extra-testing/nspr/nspr.pc.in
@@ -0,0 +1,10 @@
+prefix=%prefix%
+exec_prefix=%exec_prefix%
+libdir=%libdir%
+includedir=%includedir%
+
+Name: NSPR
+Description: The Netscape Portable Runtime
+Version: %NSPR_VERSION%
+Libs: %FULL_NSPR_LIBS%
+Cflags: %FULL_NSPR_CFLAGS%
diff --git a/abs/extra-testing/nvram-wake/PKGBUILD b/abs/extra-testing/nvram-wake/PKGBUILD
new file mode 100755
index 0000000..f4d3d38
--- /dev/null
+++ b/abs/extra-testing/nvram-wake/PKGBUILD
@@ -0,0 +1,16 @@
+pkgname=nvram-wakeup
+pkgver=0.97
+pkgrel=1
+pkgdesc="set the wakeup time of the localpc"
+license="GPL"
+arch=(i686)
+url="http://ahh.sourceforge.net/wol/"
+source=(http://easynews.dl.sourceforge.net/sourceforge/nvram-wakeup/nvram-wakeup-0.97.tar.bz2 )
+
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ make || return 1
+ make prefix=$startdir/pkg/usr install
+}
+
diff --git a/abs/extra-testing/phpmyadmin/PKGBUILD b/abs/extra-testing/phpmyadmin/PKGBUILD
new file mode 100755
index 0000000..41999db
--- /dev/null
+++ b/abs/extra-testing/phpmyadmin/PKGBUILD
@@ -0,0 +1,18 @@
+pkgname=phpmyadmin
+_dlversion=2.9.1.1
+pkgver=$(echo ${_dlversion} | sed 's/-//')
+pkgrel=35
+pkgdesc="A PHP and hence web-based tool to administrate MySQL over the WWW"
+arch=(i686 x86_64)
+url="http://www.phpmyadmin.net"
+depends=('php' 'mysql')
+backup=(data/srv/httpd/htdocs/phpMyAdmin/config.inc.php)
+source=(http://easynews.dl.sourceforge.net/sourceforge/${pkgname}/phpMyAdmin-${_dlversion}-all-languages.tar.bz2)
+
+build() {
+ _instdir=${startdir}/pkg/data/srv/httpd/htdocs/phpMyAdmin
+ mkdir -p ${_instdir}
+ cd ${_instdir}
+ cp -ra ${startdir}/src/phpMyAdmin-${_dlversion}-all-languages/* .
+
+}
diff --git a/abs/extra-testing/pymedia/PKGBUILD b/abs/extra-testing/pymedia/PKGBUILD
new file mode 100755
index 0000000..a23d441
--- /dev/null
+++ b/abs/extra-testing/pymedia/PKGBUILD
@@ -0,0 +1,19 @@
+pkgname=python-pymedia
+pkgver=1.3.5.0
+pkgrel=1
+pkgdesc="A Python library for accessing and manipulating media files"
+url="http://www.pymedia.org"
+license=""
+depends=('libvorbis' 'faad2' 'lame')
+makedepends=('python>=2.3')
+replaces=('pymedia')
+provides=('pymedia')
+arch=i686
+source=(http://easynews.dl.sourceforge.net/sourceforge/pymedia/pymedia-$pkgver.tar.gz)
+md5sums=('3b9efcd105707c6696579e3ca8852d0e')
+
+build() {
+ cd $startdir/src/pymedia-$pkgver
+ sed -i -e "s:/usr/local/include/lame:/usr/include/lame:g" setup.py
+ yes "" | python setup.py install --root=$startdir/pkg --prefix=/usr
+ }
diff --git a/abs/extra-testing/pyopenssl/PKGBUILD b/abs/extra-testing/pyopenssl/PKGBUILD
new file mode 100644
index 0000000..467baae
--- /dev/null
+++ b/abs/extra-testing/pyopenssl/PKGBUILD
@@ -0,0 +1,15 @@
+pkgname=pyopenssl
+pkgver=0.6
+pkgrel=3
+pkgdesc="pyOpenSSL is a Python interface to the OpenSSL library"
+arch=('i686' 'x86_64')
+url="http://pyopenssl.sourceforge.net"
+license="GPL"
+depends=('python' 'openssl')
+source=(http://easynews.dl.sourceforge.net/sourceforge/pyopenssl/pyOpenSSL-${pkgver}.tar.gz)
+
+build() {
+ cd $startdir/src/pyOpenSSL-${pkgver}
+ python setup.py build
+ python setup.py install --prefix=$startdir/pkg/usr
+ }
diff --git a/abs/extra-testing/spidermonkey/PKGBUILD b/abs/extra-testing/spidermonkey/PKGBUILD
new file mode 100644
index 0000000..5e43c96
--- /dev/null
+++ b/abs/extra-testing/spidermonkey/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 2200 2008-05-29 03:50:56Z eric $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+
+pkgname=spidermonkey
+pkgver=1.7.0
+pkgrel=1
+pkgdesc="Mozilla's C implementation of JavaScript."
+arch=("i686" "x86_64")
+url="http://www.mozilla.org/js/spidermonkey/"
+license=('MPL' 'GPL' 'LGPL')
+depends=('nspr')
+options=('!makeflags' 'force')
+source=("http://ftp.mozilla.org/pub/mozilla.org/js/js-$pkgver.tar.gz" \
+ "spidermonkey-1.7-threadsafe.patch")
+md5sums=('5571134c3863686b623ebe4e6b1f6fe6' 'b2ef9be017b6aa1857354b5223975a4f')
+
+build()
+{
+ cd $startdir/src/js/src
+ # fix for the lib location
+ [ "$CARCH" = "x86_64" ] && (sed -i -e "s:lib64:lib:g" config.mk || return 1)
+ # patch Makefile for threadsafe support with native nspr
+ patch -p2 -i $startdir/src/spidermonkey-1.7-threadsafe.patch || return 1
+ # build - threadsafe
+ make -f Makefile.ref BUILD_OPT=1 JS_THREADSAFE=1 DIST=$startdir/pkg/usr all export || return 1
+ # install
+ mkdir -p $startdir/pkg/usr/include/js
+ mv $startdir/pkg/usr/include/*.h $startdir/pkg/usr/include/js/
+}
diff --git a/abs/extra-testing/spidermonkey/spidermonkey-1.7-threadsafe.patch b/abs/extra-testing/spidermonkey/spidermonkey-1.7-threadsafe.patch
new file mode 100644
index 0000000..da6c78d
--- /dev/null
+++ b/abs/extra-testing/spidermonkey/spidermonkey-1.7-threadsafe.patch
@@ -0,0 +1,16 @@
+--- js/src/Makefile.ref.orig 2008-05-28 19:51:32.000000000 -0400
++++ js/src/Makefile.ref 2008-05-28 19:52:17.000000000 -0400
+@@ -63,11 +63,11 @@
+
+ ifdef JS_THREADSAFE
+ DEFINES += -DJS_THREADSAFE
+-INCLUDES += -I$(DIST)/include/nspr
++INCLUDES += -I/usr/include/nspr
+ ifdef USE_MSVC
+ OTHER_LIBS += $(DIST)/lib/libnspr$(NSPR_LIBSUFFIX).lib
+ else
+-OTHER_LIBS += -L$(DIST)/lib -lnspr$(NSPR_LIBSUFFIX)
++OTHER_LIBS += -L/usr/$(LIBDIR)/nspr -lnspr${NSPR_LIBSUFFIX}
+ endif
+ endif
+
diff --git a/abs/extra-testing/tightvnc/PKGBUILD b/abs/extra-testing/tightvnc/PKGBUILD
new file mode 100644
index 0000000..29c20c9
--- /dev/null
+++ b/abs/extra-testing/tightvnc/PKGBUILD
@@ -0,0 +1,35 @@
+
+pkgname=tightvnc
+pkgver=1.3.9
+pkgrel=300
+pkgdesc="VNC Unix server && viewer"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://www.tightvnc.com"
+depends=('libjpeg' 'zlib' 'libxaw')
+makedepends=('imake')
+conflicts=('vnc')
+source=(http://easynews.dl.sf.net/sourceforge/vnc-tight/$pkgname-${pkgver}_unixsrc.tar.bz2 tightvnc-fontpath-xcolors.patch)
+
+
+build() {
+ export MAKEFLAGS="-j1"
+ cd $startdir/src/vnc_unixsrc || return 1
+ patch -Np1 -i ../tightvnc-fontpath-xcolors.patch || return 1
+
+ xmkmf || return 1
+ make World || return 1
+ cd Xvnc || return 1
+ ./configure || return 1
+ sed 's|PROTO_DEFINES =|PROTO_DEFINES = -D_XOPEN_SOURCE=500L|' \
+ -i programs/Xserver/os/Makefile lib/font/fc/Makefile || return 1
+ make || return 1
+ cd .. || return 1
+ mkdir -p $startdir/pkg/usr/bin $startdir/pkg/usr/man/man1 || return 1
+ ./vncinstall $startdir/pkg/usr/bin $startdir/pkg/usr/man || return 1
+
+ # install java classes
+ mkdir -p $startdir/pkg/usr/share/vnc/classes || return 1
+ install -D -m644 $startdir/src/vnc_unixsrc/classes/* \
+ $startdir/pkg/usr/share/vnc/classes || return 1
+}
diff --git a/abs/extra-testing/tightvnc/tightvnc-fontpath-xcolors.patch b/abs/extra-testing/tightvnc/tightvnc-fontpath-xcolors.patch
new file mode 100644
index 0000000..9e44835
--- /dev/null
+++ b/abs/extra-testing/tightvnc/tightvnc-fontpath-xcolors.patch
@@ -0,0 +1,21 @@
+diff -urN vnc_unixsrc/vncserver vnc_unixsrc.fixed/vncserver
+--- vnc_unixsrc/vncserver 2007-04-26 06:57:06.000000000 -0400
++++ vnc_unixsrc.fixed/vncserver 2007-06-17 19:08:02.000000000 -0400
+@@ -38,14 +38,14 @@
+ $desktopName = "X";
+ $vncClasses = "/usr/local/vnc/classes";
+ $vncUserDir = "$ENV{HOME}/.vnc";
+-$fontPath = "unix/:7100";
++#$fontPath = "unix/:7100";
+ $authType = "-rfbauth $vncUserDir/passwd";
+
+ # Here is another example of setting the font path:
+-# $fontPath = "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/";
++$fontPath = "/usr/share/fonts/misc/,/usr/share/fonts/75dpi/,/usr/share/fonts/100dpi/,/usr/share/fonts/Type1/";
+
+ # X colors database path is optional, uncomment and edit to use:
+-# $colorPath = "/usr/lib/X11/rgb";
++$colorPath = "/usr/share/X11/rgb";
+
+ # You might wish to make your vnc directory under /tmp, to make sure
+ # passwords are always kept on the local filesystem. To do that, just
diff --git a/abs/extra-testing/transcode/PKGBUILD b/abs/extra-testing/transcode/PKGBUILD
new file mode 100644
index 0000000..3c33d2d
--- /dev/null
+++ b/abs/extra-testing/transcode/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 15655 2008-10-16 19:04:55Z tobias $
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+# Maintainer: roberto <roberto@archlinux.org>
+
+pkgname=transcode
+_sripver=0.3-4
+pkgver=1.0.6
+pkgrel=1
+pkgdesc="Transcode is a video/DVD ripper and encoder for the terminal/console."
+arch=(i686 x86_64)
+license=('GPL2')
+depends=('imagemagick>=6.2.6' 'lzo2' 'libdv' 'libdvdread' 'ffmpeg' 'mjpegtools' \
+ 'xvidcore' 'libmpeg2' 'libtheora' 'libxaw' 'x264>=20080625' 'libxml2' \
+ 'libxv')
+makedepends=('nasm')
+install=transcode.install
+url="http://transcoding.org"
+options=(!libtool !makeflags)
+source=(http://fromani.exit1.org/${pkgname}-${pkgver}.tar.bz2 \
+ http://dl.sourceforge.net/sourceforge/subtitleripper/subtitleripper-${_sripver}.tgz)
+md5sums=('7c3a341b0e4540e34ef50c66b0ab751d' 'c0bd49a88f667c68c4430ad25bbed510')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ sed -i 's|ffmpeg/avcodec.h|libavcodec/avcodec.h|' import/{import_ffmpeg.c,decode_lavc.c} || return 1
+ sed -i 's|ffmpeg/avcodec.h|libavcodec/avcodec.h|' export/{aud_aux.c,export_ffmpeg.c,ffmpeg_cfg.h} || return 1
+ sed -i 's|ffmpeg/avcodec.h|libavcodec/avcodec.h|' filter/filter_resample.c || return 1
+ # building from here
+ ./configure --prefix=/usr \
+ --enable-sse=no --enable-sse2=no --enable-altivec=no --enable-mmx \
+ --enable-avifile=no --enable-lame --enable-ogg --enable-vorbis --enable-theora \
+ --enable-libdv --enable-a52-default-decoder --enable-libxml2 --enable-v4l \
+ --enable-imagemagick --enable-libjpeg --enable-lzo --enable-mjpegtools \
+ --enable-sdl --enable-freetype2 --enable-a52 --enable-libpostproc \
+ --with-libxml2-prefix=/usr \
+ --with-mjpegtools-prefix=/usr \
+ --with-imagemagick-prefix=/usr \
+ --with-libdv-includes=/usr \
+ --with-libpostproc-includes=/usr/include/libpostproc \
+ --with-ogg-prefix=/usr \
+ --with-lame-libs=/usr \
+ --with-lzo-libs=/usr/lib \
+ --with-libavcodec-prefix=/usr \
+ --with-libavcodec-includes=/usr/include \
+ --with-libavcodec-libs=/usr/lib
+
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+ ##############################################################################
+ # this imports the latest subtitleripper sources and replaces the internal
+ rm -rf $startdir/src/$pkgname-$pkgver/contrib/subrip
+ tar xzf ../subtitleripper-$_sripver.tgz -C $startdir/src/$pkgname-$pkgver/contrib
+ mv $startdir/src/$pkgname-$pkgver/contrib/subtitleripper \
+ $startdir/src/$pkgname-$pkgver/contrib/subrip
+ # removes dependency on libppm, make it dependend on netpbm just failed, argh...
+ sed -i 's|^\(.*lppm.*\)$|#\1|' contrib/subrip/Makefile
+ sed -i 's|^\(.*D_HAVE_LIB_PPM.*\)$|#\1|' contrib/subrip/Makefile
+ cd contrib/subrip
+ make
+ install -m 755 pgm2txt $startdir/pkg/usr/bin/
+ install -m 755 srttool $startdir/pkg/usr/bin/
+ install -m 755 subtitle2pgm $startdir/pkg/usr/bin/
+ install -m 755 subtitle2vobsub $startdir/pkg/usr/bin/
+ install -m 755 vobsub2pgm $startdir/pkg/usr/bin/
+}
diff --git a/abs/extra-testing/transcode/imagemagick.patch b/abs/extra-testing/transcode/imagemagick.patch
new file mode 100644
index 0000000..ed8ce23
--- /dev/null
+++ b/abs/extra-testing/transcode/imagemagick.patch
@@ -0,0 +1,41 @@
+--- transcode-1.0.1.orig/filter/filter_compare.c
++++ transcode-1.0.1/filter/filter_compare.c
+@@ -180,6 +180,7 @@
+ if (!(compare[instance]->results = fopen(results_name, "w")))
+ {
+ perror("could not open file for writing");
++ return (-1);
+ }
+
+ InitializeMagick("");
+--- transcode-1.0.1.orig/filter/filter_logo.c 2005-10-21 22:18:49.000000000 +0200
++++ transcode-1.0.1/filter/filter_logo.c 2005-10-21 22:19:52.000000000 +0200
+@@ -183,17 +183,18 @@
+
+ if (optstr_get (options, "help", "") >= 0)
+ help_optstr();
+- }
+
+- if (verbose > 1) {
+- printf (" Logo renderer Settings:\n");
+- printf (" file = %s\n", mfd->file);
+- printf (" posdef = %d\n", mfd->pos);
+- printf (" pos = %dx%d\n", mfd->posx, mfd->posy);
+- printf (" range = %u-%u\n", mfd->start, mfd->end);
+- printf (" flip = %d\n", mfd->flip);
+- printf (" ignoredelay = %d\n", mfd->ignoredelay);
+- printf (" rgbswap = %d\n", mfd->rgbswap);
++ if (verbose > 1) {
++ printf (" Logo renderer Settings:\n");
++ printf (" file = %s\n", mfd->file);
++ printf (" posdef = %d\n", mfd->pos);
++ printf (" pos = %dx%d\n", mfd->posx, mfd->posy);
++ printf (" range = %u-%u\n", mfd->start, mfd->end);
++ printf (" flip = %d\n", mfd->flip);
++ printf (" ignoredelay = %d\n", mfd->ignoredelay);
++ printf (" rgbswap = %d\n", mfd->rgbswap);
++ }
++ return (-1);
+ }
+
+ InitializeMagick("");
diff --git a/abs/extra-testing/transcode/transcode.install b/abs/extra-testing/transcode/transcode.install
new file mode 100644
index 0000000..75c533b
--- /dev/null
+++ b/abs/extra-testing/transcode/transcode.install
@@ -0,0 +1,23 @@
+# arg 1: the new package version
+post_install() {
+echo ">>"
+echo ">> Transcode currently does not work with divx4linux. Please"
+echo ">> use xvid(core) instead."
+echo ">>"
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ /bin/true
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/abs/extra-testing/wol/PKGBUILD b/abs/extra-testing/wol/PKGBUILD
new file mode 100755
index 0000000..1981453
--- /dev/null
+++ b/abs/extra-testing/wol/PKGBUILD
@@ -0,0 +1,19 @@
+# Contributor: Markus Volkmann <mcfock@counterstrike.de>
+pkgname=wol
+pkgver=0.7.1
+pkgrel=2
+pkgdesc="wol implements Wake On LAN functionality in a small program. It wakes up hardware that is Magic Packet compliant."
+license="GPL"
+url="http://ahh.sourceforge.net/wol/"
+arch=('i686')
+source=(http://easynews.dl.sourceforge.net/sourceforge/ahh/wol-$pkgver.tar.gz wakeonlan.sh)
+md5sums=('c2fa9d7e771134ac8c89d56b8197d4ca')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make prefix=$startdir/pkg/usr install
+ install -m755 $startdir/src/wakeonlan.sh $startdir/pkg/usr/bin/wakeonlan.sh
+}
+
diff --git a/abs/extra-testing/wol/wakeonlan.sh b/abs/extra-testing/wol/wakeonlan.sh
new file mode 100755
index 0000000..f87dd34
--- /dev/null
+++ b/abs/extra-testing/wol/wakeonlan.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+DIR="/data/srv/hobbit/var/hostdata/$1"
+FILE=`ls -t --group-directories-first $DIR|tail -n 1`
+for mac in `grep HW "$DIR/$FILE" |awk '{ print $5 } '`
+do
+ /usr/bin/wol -v $mac
+done
+
+
+
diff --git a/abs/extra-testing/zip/ChangeLog b/abs/extra-testing/zip/ChangeLog
new file mode 100644
index 0000000..29ec4d1
--- /dev/null
+++ b/abs/extra-testing/zip/ChangeLog
@@ -0,0 +1,5 @@
+
+2008-07-27 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updating for i686: 3.0
+
diff --git a/abs/extra-testing/zip/PKGBUILD b/abs/extra-testing/zip/PKGBUILD
new file mode 100644
index 0000000..54eae73
--- /dev/null
+++ b/abs/extra-testing/zip/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 6705 2008-07-27 14:04:19Z douglas $
+# Maintainer: dorphell <dorphell@archlinux.org>
+
+pkgname=zip
+pkgver=3.0
+pkgrel=1
+pkgdesc="Creates PKZIP-compatible .zip files"
+arch=(i686 x86_64)
+url="http://www.info-zip.org/pub/infozip/Zip.html"
+depends=('glibc')
+makedepends=('unzip')
+source=(ftp://ftp.info-zip.org/pub/infozip/src/zip30.zip
+ ftp://ftp.info-zip.org/pub/infozip/src/zcrypt.zip)
+
+md5sums=('e88492c8abd68fa9cfba72bc08757dba'
+ '0c969ba1661183b041a142945ed2710e')
+
+build() {
+ cd $startdir/src/${pkgname}30
+ echo "A"| unzip ../zcrypt.zip
+ make -f unix/Makefile LOCAL_ZIP="$CFLAGS" prefix=/usr generic_gcc || return 1
+ make -f unix/Makefile INSTALL=`which install` prefix=$startdir/pkg/usr install
+}