diff options
author | James Meyer <james.meyer@operamail.com> | 2008-11-08 17:08:28 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2008-11-08 17:08:28 (GMT) |
commit | c38715641e214272ad7dc6d495edd29940366e7f (patch) | |
tree | 9dcd507543e67458d98fa7462f62026041524047 /abs/extra-testing | |
parent | 3d91b06198a56b6579cb0bd77de65f5908571b87 (diff) | |
download | linhes_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.
Diffstat (limited to 'abs/extra-testing')
41 files changed, 2053 insertions, 0 deletions
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/&/&/g; + $result =~ s/</</g; + $result =~ s/>/>/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/&/&/g; + $result =~ s/</</g; + $result =~ s/>/>/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 +} |