summaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authorahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059>2006-01-20 10:56:15 +0800
committerahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059>2006-01-20 10:56:15 +0800
commitadfd8c1bceda3b157e08b451a62eef4c8ad031c3 (patch)
treee5d8bbbef49723c723a7957f75626c282db3b64d /multimedia
parent2fb9f4a561bef45a715b36cd4d3e70d267f5c3c1 (diff)
downloadmarcuscom-ports-adfd8c1bceda3b157e08b451a62eef4c8ad031c3.tar
marcuscom-ports-adfd8c1bceda3b157e08b451a62eef4c8ad031c3.tar.gz
marcuscom-ports-adfd8c1bceda3b157e08b451a62eef4c8ad031c3.tar.bz2
marcuscom-ports-adfd8c1bceda3b157e08b451a62eef4c8ad031c3.tar.lz
marcuscom-ports-adfd8c1bceda3b157e08b451a62eef4c8ad031c3.tar.xz
marcuscom-ports-adfd8c1bceda3b157e08b451a62eef4c8ad031c3.tar.zst
marcuscom-ports-adfd8c1bceda3b157e08b451a62eef4c8ad031c3.zip
- Move gstreamer 0.8 stuff to gstreamer*80 in preps of gstreamer 0.10
- Add USE_GSTREAMER80 to support old gstreamer - Add a bunch of ports that use USE_GSTREAMER80 Some stuff repo-copied by: marcus git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@5446 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/gnonlin/Makefile33
-rw-r--r--multimedia/gnonlin/distinfo2
-rw-r--r--multimedia/gnonlin/pkg-descr5
-rw-r--r--multimedia/gnonlin/pkg-plist18
-rw-r--r--multimedia/gstreamer-editor/Makefile46
-rw-r--r--multimedia/gstreamer-editor/distinfo2
-rw-r--r--multimedia/gstreamer-editor/pkg-descr7
-rw-r--r--multimedia/gstreamer-editor/pkg-plist58
-rw-r--r--multimedia/gstreamer-ffmpeg/Makefile53
-rw-r--r--multimedia/gstreamer-ffmpeg/distinfo2
-rw-r--r--multimedia/gstreamer-ffmpeg/files/extra-patch-gst-libs_ext_ffmpeg_libavformat_nut.c12
-rw-r--r--multimedia/gstreamer-ffmpeg/files/patch-configure20
-rw-r--r--multimedia/gstreamer-ffmpeg/files/patch-ext_ffmpeg_Makefile.in11
-rw-r--r--multimedia/gstreamer-ffmpeg/pkg-descr5
-rw-r--r--multimedia/gstreamer-ffmpeg/pkg-plist4
-rw-r--r--multimedia/gstreamer-pitfdll/Makefile44
-rw-r--r--multimedia/gstreamer-pitfdll/distinfo3
-rw-r--r--multimedia/gstreamer-pitfdll/pkg-descr8
-rw-r--r--multimedia/gstreamer-pitfdll/pkg-plist3
-rw-r--r--multimedia/gstreamer-plugins-all80/Makefile63
-rw-r--r--multimedia/gstreamer-plugins-all80/pkg-descr1
-rw-r--r--multimedia/gstreamer-plugins-core80/Makefile68
-rw-r--r--multimedia/gstreamer-plugins-core80/pkg-descr3
-rw-r--r--multimedia/gstreamer-plugins-dirac80/Makefile18
-rw-r--r--multimedia/gstreamer-plugins-dts80/Makefile18
-rw-r--r--multimedia/gstreamer-plugins-dv80/Makefile18
-rw-r--r--multimedia/gstreamer-plugins-dvd80/Makefile18
-rw-r--r--multimedia/gstreamer-plugins-libfame80/Makefile16
-rw-r--r--multimedia/gstreamer-plugins-mpeg2dec80/Makefile18
-rw-r--r--multimedia/gstreamer-plugins-mpeg2enc80/Makefile20
-rw-r--r--multimedia/gstreamer-plugins-mplex80/Makefile18
-rw-r--r--multimedia/gstreamer-plugins-theora80/Makefile18
-rw-r--r--multimedia/gstreamer-plugins-x26480/Makefile18
-rw-r--r--multimedia/gstreamer-plugins-xvid80/Makefile18
-rw-r--r--multimedia/gstreamer-plugins80/Makefile164
-rw-r--r--multimedia/gstreamer-plugins80/Makefile.common506
-rw-r--r--multimedia/gstreamer-plugins80/distinfo2
-rw-r--r--multimedia/gstreamer-plugins80/files/bsdi_dvd.h340
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-configure12
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-ext::ivorbis::vorbisenc.h103
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-ext_cdparanoia_gstcdparanoia.c34
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-ext_libcaca_Makefile.in23
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-ext_mpeg2enc_gstmpeg2encoptions.cc26
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-ext_sdl_Makefile.in23
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-gcc29577
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-gst_ffmpegcolorspace_Makefile.in11
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-gst_librfb_gstrfbsrc.c10
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-sys_cdrom_gstcdplayer-ioctl-bsd.h72
-rw-r--r--multimedia/gstreamer-plugins80/files/patch-sys_oss_gstosselement.h10
-rw-r--r--multimedia/gstreamer-plugins80/pkg-descr17
-rw-r--r--multimedia/gstreamer-plugins80/pkg-plist188
-rw-r--r--multimedia/gstreamer80/Makefile68
-rw-r--r--multimedia/gstreamer80/distinfo2
-rw-r--r--multimedia/gstreamer80/files/extra-patch-gst::cothreads.c11
-rw-r--r--multimedia/gstreamer80/files/patch-configure29
-rw-r--r--multimedia/gstreamer80/files/patch-gst::cothreads.c13
-rw-r--r--multimedia/gstreamer80/files/patch-gst_gstmemchunk.c10
-rw-r--r--multimedia/gstreamer80/files/patch-tools_Makefile.in20
-rw-r--r--multimedia/gstreamer80/pkg-descr24
-rw-r--r--multimedia/gstreamer80/pkg-plist123
-rw-r--r--multimedia/istanbul/Makefile38
-rw-r--r--multimedia/istanbul/distinfo3
-rw-r--r--multimedia/istanbul/files/patch-main.py27
-rw-r--r--multimedia/istanbul/files/patch-prefs.py11
-rw-r--r--multimedia/istanbul/pkg-descr6
-rw-r--r--multimedia/istanbul/pkg-plist23
-rw-r--r--multimedia/kaffeine/Makefile37
-rw-r--r--multimedia/kaffeine/distinfo3
-rw-r--r--multimedia/kaffeine/files/patch-http.c22
-rw-r--r--multimedia/kaffeine/pkg-descr12
-rw-r--r--multimedia/kaffeine/pkg-plist100
-rw-r--r--multimedia/pitivi/Makefile46
-rw-r--r--multimedia/pitivi/distinfo2
-rw-r--r--multimedia/pitivi/pkg-descr10
-rw-r--r--multimedia/pitivi/pkg-plist62
-rw-r--r--multimedia/py-gstreamer/Makefile39
-rw-r--r--multimedia/py-gstreamer/distinfo2
-rw-r--r--multimedia/py-gstreamer/pkg-descr10
-rw-r--r--multimedia/py-gstreamer/pkg-plist26
-rw-r--r--multimedia/quodlibet/Makefile105
-rw-r--r--multimedia/quodlibet/distinfo3
-rw-r--r--multimedia/quodlibet/files/patch-Makefile33
-rw-r--r--multimedia/quodlibet/files/patch-quodlibet.py21
-rw-r--r--multimedia/quodlibet/files/qlscrobbler.py482
-rw-r--r--multimedia/quodlibet/pkg-descr3
-rw-r--r--multimedia/quodlibet/pkg-plist122
-rw-r--r--multimedia/ruby-gst/Makefile51
-rw-r--r--multimedia/ruby-gst/distinfo1
-rw-r--r--multimedia/ruby-gst/pkg-descr3
-rw-r--r--multimedia/ruby-gst/pkg-plist26
-rw-r--r--multimedia/totem/Makefile2
91 files changed, 3917 insertions, 1 deletions
diff --git a/multimedia/gnonlin/Makefile b/multimedia/gnonlin/Makefile
new file mode 100644
index 000000000..3054e0921
--- /dev/null
+++ b/multimedia/gnonlin/Makefile
@@ -0,0 +1,33 @@
+# New ports collection makefile for: gnonlin
+# Date created: 2 June 2005
+# Whom: Koop Mast <kwm@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= gnonlin
+PORTVERSION= 0.2.2
+PORTREVISION= 1
+CATEGORIES= multimedia
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+
+MAINTAINER= kwm@FreeBSD.org
+COMMENT= GStreamer extension library for non-linear editing
+
+LIB_DEPENDS= gstreamer-0.8.5:${PORTSDIR}/multimedia/gstreamer80
+
+CONFLICTS= pitivi-0.1.1*
+
+USE_BZIP2= yes
+USE_X_PREFIX= yes
+USE_GNOME= gnomehack gnometarget
+USE_AUTOTOOLS= libtool:15
+USE_GMAKE= yes
+GNU_CONFIGURE= yes
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib"
+
+MAN1= gnonlin-config.1
+
+.include <bsd.port.mk>
diff --git a/multimedia/gnonlin/distinfo b/multimedia/gnonlin/distinfo
new file mode 100644
index 000000000..f7af04157
--- /dev/null
+++ b/multimedia/gnonlin/distinfo
@@ -0,0 +1,2 @@
+MD5 (gnonlin-0.2.2.tar.bz2) = 7ff9f2e58463a3bb783a1c77445e9863
+SIZE (gnonlin-0.2.2.tar.bz2) = 284397
diff --git a/multimedia/gnonlin/pkg-descr b/multimedia/gnonlin/pkg-descr
new file mode 100644
index 000000000..21da31bd3
--- /dev/null
+++ b/multimedia/gnonlin/pkg-descr
@@ -0,0 +1,5 @@
+Gnonlin is a library built on top of GStreamer (http://gstreamer.net) which
+provides support for writing non-linear audio and video editing applications.
+It introduces the concept of a timeline.
+
+WWW: http://gnonlin.sf.net/
diff --git a/multimedia/gnonlin/pkg-plist b/multimedia/gnonlin/pkg-plist
new file mode 100644
index 000000000..19fe14912
--- /dev/null
+++ b/multimedia/gnonlin/pkg-plist
@@ -0,0 +1,18 @@
+bin/gnonlin-config
+include/gnl/gnl.h
+include/gnl/gnlcomposition.h
+include/gnl/gnlmarshal.h
+include/gnl/gnlobject.h
+include/gnl/gnloperation.h
+include/gnl/gnlsource.h
+include/gnl/gnltimeline.h
+include/gnl/gnltypes.h
+include/gnl/gnlversion.h
+lib/gstreamer-0.8/libgnl.a
+lib/gstreamer-0.8/libgnl.so
+lib/gstreamer-0.8/libgnl.so.0
+libdata/pkgconfig/gnonlin.pc
+@dirrm include/gnl
+@unexec /bin/rmdir %D/share/gtk-doc/html/gnonlin 2>/dev/null || /usr/bin/true
+@unexec /bin/rmdir %D/share/gtk-doc/html 2>/dev/null || /usr/bin/true
+@unexec /bin/rmdir %D/share/gtk-doc 2>/dev/null || /usr/bin/true
diff --git a/multimedia/gstreamer-editor/Makefile b/multimedia/gstreamer-editor/Makefile
new file mode 100644
index 000000000..5fa38da13
--- /dev/null
+++ b/multimedia/gstreamer-editor/Makefile
@@ -0,0 +1,46 @@
+# New ports collection makefile for: gstreamer player
+# Date created: Fri Jul 12 06:02:42 UTC 2002
+# Whom: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= gstreamer
+PORTVERSION= 0.8.0
+PORTREVISION= 2
+CATEGORIES= multimedia gnome
+MASTER_SITES= http://gstreamer.freedesktop.org/src/gst-editor/
+PKGNAMESUFFIX= -editor
+DISTNAME= gst-editor-${PORTVERSION}
+
+MAINTAINER= kwm@FreeBSD.org
+COMMENT= Provide View and Controller counterparts to GStreamer's Model
+
+LIB_DEPENDS= gstreamer-0.8.5:${PORTSDIR}/multimedia/gstreamer80 \
+ popt.0:${PORTSDIR}/devel/popt
+RUN_DEPENDS= gst-visualise-0.8:${PORTSDIR}/multimedia/gstreamer-plugins80
+
+USE_BZIP2= yes
+USE_X_PREFIX= yes
+USE_AUTOTOOLS= libtool:15
+USE_GMAKE= yes
+USE_GNOME= gnomehack \
+ gnomehier \
+ gnomeprefix \
+ pkgconfig \
+ gconf2 \
+ libglade2 \
+ libgnomeui
+PLIST_SUB= \
+ VERSION="${PORTVERSION}"
+INSTALLS_SHLIB= yes
+
+MAN1= gst-editor.1 gst-inspect-gui.1 gst-launch-gui.1
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500000
+BROKEN= "Does not compile on FreeBSD 4.x"
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/gstreamer-editor/distinfo b/multimedia/gstreamer-editor/distinfo
new file mode 100644
index 000000000..138d4e031
--- /dev/null
+++ b/multimedia/gstreamer-editor/distinfo
@@ -0,0 +1,2 @@
+MD5 (gst-editor-0.8.0.tar.bz2) = 6552880c22f8571438ed29852e28f273
+SIZE (gst-editor-0.8.0.tar.bz2) = 356642
diff --git a/multimedia/gstreamer-editor/pkg-descr b/multimedia/gstreamer-editor/pkg-descr
new file mode 100644
index 000000000..6c58e60a8
--- /dev/null
+++ b/multimedia/gstreamer-editor/pkg-descr
@@ -0,0 +1,7 @@
+The goal of gst-editor is to provide View and Controller counterparts
+to GStreamer's Model. It mirrors the state of GStreamer pipelines,
+and can be used to modify pipeline topology, state, and properties.
+Furthermore, it provides an interface to GStreamer's XML pipeline
+(de)serialization code, and a few more goodies.
+
+WWW: http://gstreamer.sourceforge.net/
diff --git a/multimedia/gstreamer-editor/pkg-plist b/multimedia/gstreamer-editor/pkg-plist
new file mode 100644
index 000000000..f17f5f92a
--- /dev/null
+++ b/multimedia/gstreamer-editor/pkg-plist
@@ -0,0 +1,58 @@
+bin/gst-editor
+bin/gst-inspect-gui
+bin/gst-launch-gui
+include/gst-editor-%%VERSION%%/gst/debug-ui/debug-ui.h
+include/gst-editor-%%VERSION%%/gst/editor/editor.h
+include/gst-editor-%%VERSION%%/gst/editor/gsteditor.h
+include/gst-editor-%%VERSION%%/gst/editor/gsteditorbin.h
+include/gst-editor-%%VERSION%%/gst/editor/gsteditorcanvas.h
+include/gst-editor-%%VERSION%%/gst/editor/gsteditorelement.h
+include/gst-editor-%%VERSION%%/gst/editor/gsteditoritem.h
+include/gst-editor-%%VERSION%%/gst/editor/gsteditorlink.h
+include/gst-editor-%%VERSION%%/gst/editor/gsteditorpad.h
+include/gst-editor-%%VERSION%%/gst/element-browser/browser.h
+include/gst-editor-%%VERSION%%/gst/element-browser/caps-tree.h
+include/gst-editor-%%VERSION%%/gst/element-browser/element-tree.h
+include/gst-editor-%%VERSION%%/gst/element-ui/gst-element-ui-prop-view.h
+include/gst-editor-%%VERSION%%/gst/element-ui/gst-element-ui.h
+lib/libgstdebugui.a
+lib/libgstdebugui.so
+lib/libgstdebugui.so.0
+lib/libgsteditor.a
+lib/libgsteditor.so
+lib/libgsteditor.so.0
+lib/libgstelementbrowser.a
+lib/libgstelementbrowser.so
+lib/libgstelementbrowser.so.0
+lib/libgstelementui.a
+lib/libgstelementui.so
+lib/libgstelementui.so.0
+share/gnome/applications/gst-editor.desktop
+share/gnome/applications/gst-inspect.desktop
+share/gnome/applications/gst-launch.desktop
+share/gnome/gst-editor/editor.glade2
+share/gnome/gst-editor/gnome/help/gst-editor/C/gst-editor-manual.xml
+share/gnome/gst-editor/gnome/help/gst-editor/C/legal.xml
+share/gnome/gst-editor/gst-editor.png
+share/gnome/omf/gst-editor/gst-editor-manual-C.omf
+@exec scrollkeeper-install -q %D/share/gnome/omf/gst-editor/gst-editor-manual-C.omf 2>/dev/null || /usr/bin/true
+share/gnome/pixmaps/gst-editor.png
+share/gnome/pixmaps/gst-inspect.png
+share/gnome/pixmaps/gst-launch.png
+@unexec rmdir %D/share/gnome/pixmaps 2>/dev/null || true
+@dirrm share/gnome/omf/gst-editor
+@unexec rmdir %D/share/gnome/omf 2>/dev/null || true
+@dirrm share/gnome/gst-editor/gnome/help/gst-editor/C
+@dirrm share/gnome/gst-editor/gnome/help/gst-editor
+@dirrm share/gnome/gst-editor/gnome/help
+@dirrm share/gnome/gst-editor/gnome
+@dirrm share/gnome/gst-editor
+@unexec rmdir %D/share/gnome/applications 2>/dev/null || true
+@unexec rmdir %D/share/gnome 2>/dev/null || true
+@dirrm include/gst-editor-%%VERSION%%/gst/element-ui
+@dirrm include/gst-editor-%%VERSION%%/gst/element-browser
+@dirrm include/gst-editor-%%VERSION%%/gst/editor
+@dirrm include/gst-editor-%%VERSION%%/gst/debug-ui
+@dirrm include/gst-editor-%%VERSION%%/gst
+@dirrm include/gst-editor-%%VERSION%%
+@unexec scrollkeeper-uninstall -q %D/share/gnome/omf/gst-editor/gst-editor-manual-C.omf 2>/dev/null || /usr/bin/true
diff --git a/multimedia/gstreamer-ffmpeg/Makefile b/multimedia/gstreamer-ffmpeg/Makefile
new file mode 100644
index 000000000..64e475890
--- /dev/null
+++ b/multimedia/gstreamer-ffmpeg/Makefile
@@ -0,0 +1,53 @@
+# New ports collection makefile for: gstreamer ffmpeg
+# Date created: Thu Feb 26 20:10:39 CET 2004
+# Whom: Koop Mast <kwm@rainbow-runner.nl>
+#
+# $FreeBSD$
+#
+
+PORTNAME= gstreamer
+PORTVERSION= 0.8.7
+PORTREVISION= 1
+CATEGORIES= multimedia
+MASTER_SITES= http://gstreamer.freedesktop.org/src/gst-ffmpeg/
+PKGNAMESUFFIX= -ffmpeg
+DISTNAME= gst-ffmpeg-${PORTVERSION}
+
+MAINTAINER= kwm@FreeBSD.org
+COMMENT= GStreamer plug-in for manipulating MPEG video streams
+
+USE_X_PREFIX= yes
+USE_BZIP2= yes
+USE_REINPLACE= yes
+USE_GMAKE= yes
+USE_GNOME= gnometarget
+USE_GSTREAMER80= yes
+USE_AUTOTOOLS= libtool:15
+CONFIGURE_ENV= PKG_CONFIG=${PKG_CONFIG} \
+ CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
+ CFLAGS="${CFLAGS} -fno-force-addr" \
+ LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
+PLIST_SUB= \
+ VERSION="${GST_VERSION}"
+WITHOUT_CPU_CFLAGS= yes
+
+PKG_CONFIG?="${LOCALBASE}/bin/pkg-config"
+GST_VERSION=${PORTVERSION:C/..$//}
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500000
+EXTRA_PATCHES= ${PATCHDIR}/extra-patch-gst-libs_ext_ffmpeg_libavformat_nut.c
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e \
+ 's|make|${GMAKE}|' \
+ ${WRKSRC}/gst-libs/ext/Makefile.in
+
+post-install:
+# register plugins
+ -@${X11BASE}/bin/gst-register-${GST_VERSION} \
+ --gst-registry=${PREFIX}/share/gnome/cache/gstreamer-${GST_VERSION}/registry.xml 2>/dev/null
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/gstreamer-ffmpeg/distinfo b/multimedia/gstreamer-ffmpeg/distinfo
new file mode 100644
index 000000000..abb70b9ec
--- /dev/null
+++ b/multimedia/gstreamer-ffmpeg/distinfo
@@ -0,0 +1,2 @@
+MD5 (gst-ffmpeg-0.8.7.tar.bz2) = 6435ef3954ee05de79829e262f86187a
+SIZE (gst-ffmpeg-0.8.7.tar.bz2) = 2110685
diff --git a/multimedia/gstreamer-ffmpeg/files/extra-patch-gst-libs_ext_ffmpeg_libavformat_nut.c b/multimedia/gstreamer-ffmpeg/files/extra-patch-gst-libs_ext_ffmpeg_libavformat_nut.c
new file mode 100644
index 000000000..1c1fc628e
--- /dev/null
+++ b/multimedia/gstreamer-ffmpeg/files/extra-patch-gst-libs_ext_ffmpeg_libavformat_nut.c
@@ -0,0 +1,12 @@
+--- gst-libs/ext/ffmpeg/libavformat/nut.c.orig Wed Apr 14 20:38:02 2004
++++ gst-libs/ext/ffmpeg/libavformat/nut.c Sun Jul 11 18:14:19 2004
+@@ -59,6 +59,9 @@
+ #define FLAG_FULL_PTS 4
+ #define FLAG_KEY_FRAME 32
+
++// UINT64_MAX isn't defined on FreeBSD 4.x borrow it from 5.x
++#define UINT64_MAX 0xffffffffffffffffULL
++
+ typedef struct {
+ uint8_t flags;
+ uint8_t stream_id_plus1;
diff --git a/multimedia/gstreamer-ffmpeg/files/patch-configure b/multimedia/gstreamer-ffmpeg/files/patch-configure
new file mode 100644
index 000000000..9bfbd28d1
--- /dev/null
+++ b/multimedia/gstreamer-ffmpeg/files/patch-configure
@@ -0,0 +1,20 @@
+--- configure.orig Thu Feb 26 19:28:07 2004
++++ configure Thu Feb 26 21:10:52 2004
+@@ -19472,7 +19473,7 @@
+ echo $ECHO_N "checking to see if compiler understands -Werror... $ECHO_C" >&6
+
+ save_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -Werror"
++ CFLAGS="$CFLAGS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -19513,7 +19514,7 @@
+ CFLAGS="$save_CFLAGS"
+
+ if test "X$flag_ok" = Xyes ; then
+- GST_ERROR="$GST_ERROR -Werror"
++ GST_ERROR="$GST_ERROR"
+ true
+ else
+ GST_ERROR="$GST_ERROR"
diff --git a/multimedia/gstreamer-ffmpeg/files/patch-ext_ffmpeg_Makefile.in b/multimedia/gstreamer-ffmpeg/files/patch-ext_ffmpeg_Makefile.in
new file mode 100644
index 000000000..ec9dfaf85
--- /dev/null
+++ b/multimedia/gstreamer-ffmpeg/files/patch-ext_ffmpeg_Makefile.in
@@ -0,0 +1,11 @@
+--- ext/ffmpeg/Makefile.in.orig Wed Mar 9 19:50:50 2005
++++ ext/ffmpeg/Makefile.in Wed Mar 9 19:51:23 2005
+@@ -164,7 +164,7 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-LDFLAGS = @LDFLAGS@
++LDFLAGS = @LDFLAGS@ -Wl,-Bsymbolic -lc
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
diff --git a/multimedia/gstreamer-ffmpeg/pkg-descr b/multimedia/gstreamer-ffmpeg/pkg-descr
new file mode 100644
index 000000000..b8a091e35
--- /dev/null
+++ b/multimedia/gstreamer-ffmpeg/pkg-descr
@@ -0,0 +1,5 @@
+The Gstreamer ffmpeg package provides mpeg support for Gstreamer.
+It includes codecs for most popular formats, and optimized
+colourspace conversion.
+
+WWW: http://gstreamer.freedesktop.org/
diff --git a/multimedia/gstreamer-ffmpeg/pkg-plist b/multimedia/gstreamer-ffmpeg/pkg-plist
new file mode 100644
index 000000000..f3e092d06
--- /dev/null
+++ b/multimedia/gstreamer-ffmpeg/pkg-plist
@@ -0,0 +1,4 @@
+@exec %D/bin/gst-register --gst-registry=%D/share/gnome/cache/gstreamer-%%VERSION%%/registry.xml 2>/dev/null || true
+lib/gstreamer-%%VERSION%%/libgstffmpeg.so
+lib/gstreamer-%%VERSION%%/libgstpostproc.so
+@unexec %D/bin/gst-register --gst-registry=%D/share/gnome/cache/gstreamer-%%VERSION%%/registry.xml 2>/dev/null || true
diff --git a/multimedia/gstreamer-pitfdll/Makefile b/multimedia/gstreamer-pitfdll/Makefile
new file mode 100644
index 000000000..5ee68c376
--- /dev/null
+++ b/multimedia/gstreamer-pitfdll/Makefile
@@ -0,0 +1,44 @@
+# New ports collection makefile for: gstreamer plugins pitfdll
+# Date created: 08 Oct 2005
+# Whom: Koop Mast <kwm@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= gstreamer-pitfdll
+PORTVERSION= 0.8.2
+CATEGORIES= multimedia
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= pitfdll
+DISTNAME= pitfdll-${PORTVERSION}
+
+MAINTAINER= kwm@FreeBSD.org
+COMMENT= GStreamer DLL loader plugin
+
+RUN_DEPENDS= ${LOCALBASE}/lib/win32/wmv8ds32.ax:${PORTSDIR}/multimedia/win32-codecs
+
+USE_X_PREFIX= yes
+ONLY_FOR_ARCHS= i386
+USE_BZIP2= yes
+USE_GMAKE= yes
+USE_AUTOTOOLS= libtool:15
+USE_GNOME= gnometarget
+USE_REINPLACE= yes
+USE_GSTREAMER80= yes
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib"
+PLIST_SUB= VERSION="${GST_VERSION}"
+
+GST_VERSION= 0.8
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/lib/win32|${LOCALBASE}/lib/win32|g' \
+ ${WRKSRC}/ext/pitfdll/Makefile.in \
+ ${WRKSRC}/gst-libs/ext/loader/wine/Makefile.in
+
+post-install:
+# register plugins
+ -@${X11BASE}/bin/gst-register-${GST_VERSION} \
+ --gst-registry=${PREFIX}/share/gnome/cache/gstreamer-${GST_VERSION}/registry.xml 2>/dev/null
+
+.include <bsd.port.mk>
diff --git a/multimedia/gstreamer-pitfdll/distinfo b/multimedia/gstreamer-pitfdll/distinfo
new file mode 100644
index 000000000..2e53007c1
--- /dev/null
+++ b/multimedia/gstreamer-pitfdll/distinfo
@@ -0,0 +1,3 @@
+MD5 (pitfdll-0.8.2.tar.bz2) = 7de1810082c55b8433190ac75b9456a9
+SHA256 (pitfdll-0.8.2.tar.bz2) = ec3c8dd47f54cd89105b1c052417fcb6c08084bfb5ea86ad649e8861b8b69b8a
+SIZE (pitfdll-0.8.2.tar.bz2) = 457427
diff --git a/multimedia/gstreamer-pitfdll/pkg-descr b/multimedia/gstreamer-pitfdll/pkg-descr
new file mode 100644
index 000000000..f08c0e996
--- /dev/null
+++ b/multimedia/gstreamer-pitfdll/pkg-descr
@@ -0,0 +1,8 @@
+Binary loader plugins for Gstreamer.
+Can load dll and qtx as a playback plugin.
+
+Works reasonbly with wmv 9, intel and qdm2.
+
+consider this software beta qualitiy.
+
+WWW: http://sourceforge.net/projects/pitfdll/
diff --git a/multimedia/gstreamer-pitfdll/pkg-plist b/multimedia/gstreamer-pitfdll/pkg-plist
new file mode 100644
index 000000000..dcbf0c9a9
--- /dev/null
+++ b/multimedia/gstreamer-pitfdll/pkg-plist
@@ -0,0 +1,3 @@
+lib/gstreamer-%%VERSION%%/libpitfdll.so
+@exec %%X11BASE%%/bin/gst-register-0.8 --gst-registry=%D/share/gnome/cache/gstreamer-%%VERSION%%/registry.xml 2>/dev/null || true
+@unexec %%X11BASE%%/bin/gst-register-0.8 --gst-registry=%D/share/gnome/cache/gstreamer-%%VERSION%%/registry.xml 2>/dev/null || true
diff --git a/multimedia/gstreamer-plugins-all80/Makefile b/multimedia/gstreamer-plugins-all80/Makefile
new file mode 100644
index 000000000..56f364394
--- /dev/null
+++ b/multimedia/gstreamer-plugins-all80/Makefile
@@ -0,0 +1,63 @@
+# New ports collection makefile for: gstreamer-plugins-all
+# Date created: 2004-12-12
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+PORTNAME= gstreamer-plugins-all
+PORTVERSION= 1.1.${GST80_VERSION}.${GST80_SHLIB_VERSION}
+CATEGORIES= multimedia
+MASTER_SITES= # empty
+DISTFILES= # empty
+EXTRACT_ONLY= # empty
+
+MAINTAINER= ahze@FreeBSD.org
+COMMENT= Meta-port of all gstreamer plugins with options
+
+NO_BUILD= yes
+USE_GSTREAMER80= yes
+OPTIONS= # Hacky.. but it works the way it is set up...
+
+.include <bsd.port.pre.mk>
+
+# Weed out gst-plugins that can not be packaged. or are broken.
+.if defined(PACKAGE_BUILDING)
+WITHOUT_FAAC= yes # Mp4 Dolby license , no package
+WITHOUT_LAME= yes # MP3 License , no package
+.endif
+WITHOUT_MPEG2ENC=yes # Broken from updated mjpegtools
+.if ${OSVERSION} < 500000
+WITHOUT_LIBVISUAL=yes # Broken on 4.x
+WITHOUT_POLYPAUDIO=yes # Broken on 4.x
+.endif
+# Shout & Shout2 Conflict
+.if !defined(WITHOUT_SHOUT) && !defined(WITHOUT_SHOUT2)
+WITHOUT_SHOUT= yes
+.endif
+# Jpeg & Jpeg-mmx Conflict
+.if ${ARCH}!="i386"
+WITHOUT_JPEG-MMX= yes
+.else
+.if !defined(WITHOUT_JPEG) && !defined(WITHOUT_JPEG-MMX)
+WITHOUT_JPEG-MMX= yes
+.endif
+.endif
+
+# Remove core, yes
+PLUGS= ${_USE_GSTREAMER80_ALL:S/core//:S/yes//}
+
+.for all in ${PLUGS}
+OPTIONS+= ${all:U} "${all} plugin " on
+.endfor
+
+.for f in ${PLUGS}
+.if !defined(WITHOUT_${f:U})
+USE_GSTREAMER80+= ${f}
+.endif
+.endfor
+
+do-install: # empty
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/gstreamer-plugins-all80/pkg-descr b/multimedia/gstreamer-plugins-all80/pkg-descr
new file mode 100644
index 000000000..41d88c6fb
--- /dev/null
+++ b/multimedia/gstreamer-plugins-all80/pkg-descr
@@ -0,0 +1 @@
+Meta-port of all gstreamer-plugins with options.
diff --git a/multimedia/gstreamer-plugins-core80/Makefile b/multimedia/gstreamer-plugins-core80/Makefile
new file mode 100644
index 000000000..5e871cb68
--- /dev/null
+++ b/multimedia/gstreamer-plugins-core80/Makefile
@@ -0,0 +1,68 @@
+# New ports collection makefile for: gstreamer-plugins-core
+# Date created: 2004-11-15
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+
+PORTNAME= gstreamer-plugins-core
+PORTVERSION= 0.8
+PORTREVISION= 6
+CATEGORIES= multimedia audio
+MASTER_SITES= # empty
+DISTFILES= # empty
+EXTRACT_ONLY= # empty
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Core set of typical audio and video gstreamer-plugins
+
+USE_X_PREFIX= yes
+NO_BUILD= yes
+
+GST_DIR= lib/gstreamer-${PORTVERSION}
+PLIST_FILES= ${GST_DIR}/.gstreamer-plugins-core.keep
+
+WANT_GSTREAMER= yes
+
+.include <bsd.port.pre.mk>
+
+# Audio plugins
+USE_GSTREAMER80+= mad vorbis
+
+# Graphics plugins
+USE_GSTREAMER80+= libpng
+
+# Misc plugins
+USE_GSTREAMER80+= pango
+
+# Multimedia plugins
+USE_GSTREAMER80+= ffmpeg
+
+.if ${OSVERSION} > 500035 || defined(WITH_XVID)
+USE_GSTREAMER80+= xvid
+.endif
+
+.if !defined(WITHOUT_DVD)
+# Audio plugins
+USE_GSTREAMER80+= a52dec
+
+# Multimedia plugins
+USE_GSTREAMER80+= dts dvd
+.endif
+
+pre-everything::
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} " Disable DVD plugins by defining WITHOUT_DVD"
+ @${ECHO_MSG} ""
+.if ${OSVERSION} < 500035 && !defined(WITH_XVID)
+ @${ECHO_MSG} " Enable XVID plugins by defining WITH_XVID"
+ @${ECHO_MSG} ""
+.endif
+
+do-install:
+ if [ ! -d ${PREFIX}/${GST_DIR} ]; then \
+ ${MKDIR} ${PREFIX}/${GST_DIR} ; \
+ fi
+ ${TOUCH} -f ${PREFIX}/${GST_DIR}/.gstreamer-plugins-core.keep
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/gstreamer-plugins-core80/pkg-descr b/multimedia/gstreamer-plugins-core80/pkg-descr
new file mode 100644
index 000000000..90895a218
--- /dev/null
+++ b/multimedia/gstreamer-plugins-core80/pkg-descr
@@ -0,0 +1,3 @@
+Meta-port to core "typical" gstreamer-plugins
+
+WWW: http://gstreamer.net
diff --git a/multimedia/gstreamer-plugins-dirac80/Makefile b/multimedia/gstreamer-plugins-dirac80/Makefile
new file mode 100644
index 000000000..c7aa7d7fe
--- /dev/null
+++ b/multimedia/gstreamer-plugins-dirac80/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: gstreamer-plugins-dirac
+# Date created: 3 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 1
+
+COMMENT= Gstreamer dirac plugin
+
+GST_PLUGIN= dirac
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-dts80/Makefile b/multimedia/gstreamer-plugins-dts80/Makefile
new file mode 100644
index 000000000..2f21486f3
--- /dev/null
+++ b/multimedia/gstreamer-plugins-dts80/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: gstreamer-plugins-dts
+# Date created: 3 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 1
+
+COMMENT= Gstreamer dts plugin
+
+GST_PLUGIN= dts
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-dv80/Makefile b/multimedia/gstreamer-plugins-dv80/Makefile
new file mode 100644
index 000000000..87c6f1f20
--- /dev/null
+++ b/multimedia/gstreamer-plugins-dv80/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: gstreamer-plugins-dv
+# Date created: 3 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 1
+
+COMMENT= Gstreamer dv plugin
+
+GST_PLUGIN= dv
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-dvd80/Makefile b/multimedia/gstreamer-plugins-dvd80/Makefile
new file mode 100644
index 000000000..27b593d91
--- /dev/null
+++ b/multimedia/gstreamer-plugins-dvd80/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: gstreamer-plugins-dvd
+# Date created: 3 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 2
+
+COMMENT= Gstreamer dvd plugin set
+
+GST_PLUGIN= dvd
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-libfame80/Makefile b/multimedia/gstreamer-plugins-libfame80/Makefile
new file mode 100644
index 000000000..833934332
--- /dev/null
+++ b/multimedia/gstreamer-plugins-libfame80/Makefile
@@ -0,0 +1,16 @@
+# New ports collection makefile for: gstreamer-plugins-libfame
+# Date created: 3 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 1
+
+GST_PLUGIN= libfame
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-mpeg2dec80/Makefile b/multimedia/gstreamer-plugins-mpeg2dec80/Makefile
new file mode 100644
index 000000000..15696cd0e
--- /dev/null
+++ b/multimedia/gstreamer-plugins-mpeg2dec80/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: gstreamer-plugins-mpeg2dec
+# Date created: 3 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 1
+
+COMMENT= Gstreamer mpeg decode plugin
+
+GST_PLUGIN= mpeg2dec
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-mpeg2enc80/Makefile b/multimedia/gstreamer-plugins-mpeg2enc80/Makefile
new file mode 100644
index 000000000..826bab7a9
--- /dev/null
+++ b/multimedia/gstreamer-plugins-mpeg2enc80/Makefile
@@ -0,0 +1,20 @@
+# New ports collection makefile for: gstreamer-plugins-mpeg2enc
+# Date created: 3 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 2
+
+COMMENT= Gstreamer mpeg encoder plugin
+
+BROKEN= Does not compile
+
+GST_PLUGIN= mpeg2enc
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-mplex80/Makefile b/multimedia/gstreamer-plugins-mplex80/Makefile
new file mode 100644
index 000000000..4ff191d06
--- /dev/null
+++ b/multimedia/gstreamer-plugins-mplex80/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: gstreamer-plugins-mplex
+# Date created: 7 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 2
+
+COMMENT= Gstreamer mplex plugin
+
+GST_PLUGIN= mplex
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-theora80/Makefile b/multimedia/gstreamer-plugins-theora80/Makefile
new file mode 100644
index 000000000..6ab994ee9
--- /dev/null
+++ b/multimedia/gstreamer-plugins-theora80/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: gstreamer-plugins-theora
+# Date created: 3 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 1
+
+COMMENT= Gstreamer theora plugin
+
+GST_PLUGIN= theora
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-x26480/Makefile b/multimedia/gstreamer-plugins-x26480/Makefile
new file mode 100644
index 000000000..073fa171f
--- /dev/null
+++ b/multimedia/gstreamer-plugins-x26480/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: gstreamer-plugins-x264
+# Date created: 6 Sep 2005
+# Whom: Koop Mast <kwm@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 1
+
+COMMENT= Gstreamer x264 plugin
+
+GST_PLUGIN= x264
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins-xvid80/Makefile b/multimedia/gstreamer-plugins-xvid80/Makefile
new file mode 100644
index 000000000..16930bee2
--- /dev/null
+++ b/multimedia/gstreamer-plugins-xvid80/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: gstreamer-plugins-xvid
+# Date created: 3 Oct 2004
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+CATEGORIES= multimedia
+PORTREVISION= 1
+
+COMMENT= Gstreamer xvid plugin
+
+GST_PLUGIN= xvid
+
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins80
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer-plugins80/Makefile b/multimedia/gstreamer-plugins80/Makefile
new file mode 100644
index 000000000..8a11cded4
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/Makefile
@@ -0,0 +1,164 @@
+# New ports collection makefile for: gstreamer plugins
+# Date created: Wed Jul 10 23:38:01 UTC 2002
+# Whom: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+PORTNAME= gstreamer
+PORTVERSION= 0.8.11
+PORTREVISION?= 3
+CATEGORIES?= multimedia audio
+MASTER_SITES= ${MASTER_SITE_GNOME} \
+ http://gstreamer.freedesktop.org/src/gst-plugins/
+MASTER_SITE_SUBDIR= sources/gst-plugins/0.8
+PKGNAMESUFFIX= -plugins${GST_PLUGIN_SUFFIX}80
+DISTNAME= gst-plugins-${PORTVERSION}
+DIST_SUBDIR= gnome2
+
+MAINTAINER= kwm@FreeBSD.org
+COMMENT?= GStreamer written collection of plugins handling several media types
+
+LIB_DEPENDS+= gstreamer-0.8.5:${PORTSDIR}/multimedia/gstreamer80 \
+ popt.0:${PORTSDIR}/devel/popt
+
+SHLIB_VERSION= 1
+VERSION= 0.8
+
+WANT_GSTREAMER= yes
+USE_X_PREFIX= yes
+USE_BZIP2= yes
+USE_GMAKE= yes
+USE_GNOME+= gnomehack \
+ gnomeprefix \
+ gnometarget \
+ pkgconfig
+USE_REINPLACE= yes
+USE_AUTOTOOLS= libtool:15
+GST_PLUGIN?= base
+
+CONFIGURE_ENV= PKG_CONFIG=${PKG_CONFIG} \
+ CFLAGS="${CFLAGS} -I${LOCALBASE}/include" \
+ CPPFLAGS="${CPPFLAGS} -I${X11BASE}/include -I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \
+ LDFLAGS="${LDFLAGS} -L${X11BASE}/lib -L${LOCALBASE}/lib ${EXTRA_LIBS} ${PTHREAD_LIBS}"
+
+.include <bsd.port.pre.mk>
+.include "${MASTERDIR}/Makefile.common"
+
+.if !defined(WITH_CPUFLAGS)
+WITHOUT_CPU_CFLAGS= yes
+.endif
+
+.if ${GST_PLUGIN} == "base"
+
+INSTALLS_SHLIB= yes
+
+PLIST_SUB+= VERSION="${VERSION}" \
+ SHLIB_VERSION="${SHLIB_VERSION}"
+
+MAN1= gst-launch-ext-0.8.1 gst-visualise-0.8.1
+
+## Additional directories which should be both built and installed
+## but configure neglected to correctly identify them
+# cdrom/vcd support
+EXTRA_BUILD_DIR+= sys/vcd
+# modplug
+EXTRA_BUILD_DIR+= gst/modplug
+.else
+.for f in ${GST_PLUGIN_DIR}
+GST_PLUGIN_MAKEFILES+= ${f}/Makefile
+.endfor
+.endif
+
+# cdrom default device
+.ifdef(WITH_CDROM_DEVICE)
+DEFAULT_CDROM_DEVICE=${WITH_CDROM_DEVICE}
+.else
+. if ${OSVERSION} < 500000
+DEFAULT_CDROM_DEVICE=/dev/acd0c
+. else
+DEFAULT_CDROM_DEVICE=/dev/acd0
+. endif
+.endif
+
+# dvd default device
+.ifdef(WITH_DVD_DEVICE)
+DEFAULT_DVD_DEVICE=${WITH_DVD_DEVICE}
+.else
+. if ${OSVERSION} < 500000
+DEFAULT_DVD_DEVICE=/dev/acd0c
+. else
+DEFAULT_DVD_DEVICE=/dev/acd0
+. endif
+.endif
+
+pre-everything::
+.if !defined(WITH_CPUFLAGS)
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "If you want to compile with CPUFLAGS"
+ @${ECHO_MSG} "hit Ctrl+C now and use make \"WITH_CPUFLAGS=yes\""
+ @${ECHO_MSG} "NOTE: This option may cause build, install, and/or"
+ @${ECHO_MSG} "runtime failures. If this option does not work for you"
+ @${ECHO_MSG} "please do not use it."
+ @${ECHO_MSG} ""
+.endif
+
+post-extract:
+# for cdrom/vcd support
+# taken from mplayer distfile
+# MD5 (MPlayer-1.0pre4.tar.bz2) = 83ebac0f05b192516a41fca2350ca01a
+ @${CP} ${FILESDIR}/bsdi_dvd.h ${WRKSRC}/sys/vcd/
+
+post-patch:
+ @${FIND} ${WRKSRC} -type f | \
+ ${XARGS} -n 10 ${REINPLACE_CMD} -e \
+ 's|malloc\.h|stdlib.h|; \
+ s|stdint\.h|inttypes.h|; \
+ s|%%VERSION%%|${VERSION}|'
+# cdrom default device
+ @${REINPLACE_CMD} -e 's|/dev/cdrom|${DEFAULT_CDROM_DEVICE}|' \
+ ${WRKSRC}/ext/cdparanoia/gstcdparanoia.c \
+ ${WRKSRC}/sys/cdrom/gstcdplayer.c \
+ ${WRKSRC}/sys/vcd/vcdsrc.c
+# dvd default device
+ @${REINPLACE_CMD} -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|' \
+ ${WRKSRC}/ext/dvdnav/dvdnavsrc.c \
+ ${WRKSRC}/ext/dvdread/dvdreadsrc.c
+# cdrom/vcd support
+ @${REINPLACE_CMD} -e 's|<linux/cdrom.h>|"bsdi_dvd.h"|' \
+ ${WRKSRC}/sys/cdrom/gstcdplayer_ioctl.c \
+ ${WRKSRC}/sys/vcd/vcdsrc.c \
+ ${WRKSRC}/sys/vcd/vcdsrc.h
+# mplex fix -- gst configure does not use mjpegtool's config to find include.
+ @${REINPLACE_CMD} -E \
+ -e 's|PFLAGS@|PFLAGS@ -I${LOCALBASE}/include/mjpegtools -I${LOCALBASE}/include/mjpegtools/mplex|' \
+ ${WRKSRC}/ext/mplex/Makefile.in
+.if ${GST_PLUGIN}!="base"
+ @${REINPLACE_CMD} -E -e 's|ac_config_files=\"*\"|ac_config_files="$$ac_config_files Makefile ${GST_PLUGIN_MAKEFILES}" #|' \
+ ${WRKSRC}/configure
+.else
+.for f in ${GST_ALL_PLUGINS}
+ @${REINPLACE_CMD} -e 's|ext/${f}/Makefile||g' \
+ ${WRKSRC}/configure
+.endfor
+.endif
+
+post-build:
+.ifdef(EXTRA_BUILD_DIR)
+. for dir in ${EXTRA_BUILD_DIR}
+ @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
+. endfor
+.endif
+
+post-install:
+.ifdef(EXTRA_BUILD_DIR)
+. for dir in ${EXTRA_BUILD_DIR}
+ @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
+. endfor
+.endif
+# register plugins
+ -@${X11BASE}/bin/gst-register-${VERSION} \
+ --gst-registry=${PREFIX}/share/gnome/cache/gstreamer-${VERSION}/registry.xml 2>/dev/null
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/gstreamer-plugins80/Makefile.common b/multimedia/gstreamer-plugins80/Makefile.common
new file mode 100644
index 000000000..d0f0b594c
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/Makefile.common
@@ -0,0 +1,506 @@
+GST_ALL_PLUGINS= \
+ a52dec \
+ aalib \
+ aalibtest \
+ arts \
+ artstest \
+ artsc \
+ audiofile \
+ audioresample \
+ cairo \
+ cdaudio \
+ cdio \
+ cdparanoia \
+ dirac \
+ directfb \
+ divx \
+ dts \
+ dvdnav \
+ dvdread \
+ dxr3 \
+ esd \
+ esdtest \
+ faac \
+ faad \
+ flac \
+ gconf \
+ gdk_pixbuf \
+ gnome_vfs \
+ gsm \
+ hermes \
+ ivorbis \
+ jack \
+ jpeg \
+ ladspa \
+ lame \
+ lcs \
+ libcaca \
+ libdv \
+ libfame \
+ libfametest\
+ libmng \
+ libmms \
+ libpng \
+ librfb \
+ libvisual \
+ mad \
+ mikmod \
+ libmikmodtest \
+ mpeg2dec \
+ mpeg2enc \
+ mplex \
+ musepack \
+ musicbrainz \
+ nas \
+ ogg \
+ oggtest \
+ opengl \
+ pango \
+ polyp \
+ dv1394 \
+ qcam \
+ raw1394 \
+ sdl \
+ sdltest \
+ shout \
+ shout2 \
+ shout2test \
+ sidplay \
+ smoothwave \
+ sndfile \
+ speex \
+ swfdec \
+ theora \
+ vcd \
+ vorbis \
+ vorbistest \
+ wavpack \
+ x264 \
+ xvid
+
+# Disable all plugins by default\
+.for d in ${GST_ALL_PLUGINS}
+CONFIGURE_ARGS+= --disable-${d}
+.endfor
+
+CONFIGURE_ARGS+=--disable-tests \
+ --disable-examples \
+ --disable-amrnb \
+ --disable-alsa \
+ --disable-http \
+ --enable-cdrom \
+ --disable-gconf \
+ --disable-gconftool \
+ --disable-schemas-install \
+ --enable-oss \
+ --disable-osx_audio \
+ --disable-osx_video \
+ --disable-tarkin \
+ --enable-static \
+ --disable-sunaudio \
+ --disable-gst_v4l \
+ --disable-gst_v4l2 \
+ --disable-xine \
+ --enable-x \
+ --enable-xshm \
+ --enable-xvideo
+
+# spc is broken a the moment
+#.if (${ARCH} == "i386")
+#BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm
+#CONFIGURE_ARGS+=--enable-spc
+#PLIST_SUB+= SPC=""
+#.else
+CONFIGURE_ARGS+=--disable-spc
+PLIST_SUB+= SPC="@comment "
+#.endif
+
+.if ${GST_PLUGIN}!="base"
+
+GST_PLUGIN_SUFFIX?= -${GST_PLUGIN}
+
+COMMENT= Gstreamer ${GST_PLUGIN} plugin
+
+# Enable the right plugin
+
+CONFIGURE_ARGS:=${CONFIGURE_ARGS:S|--disable-${GST_PLUGIN}|--enable-${GST_PLUGIN}|}
+
+# Build/Install directory. defaults to ext/${GST_PLUGIN}
+# few plugins are in sys/
+GST_PLUGIN_DIR?= ext/${GST_PLUGIN}
+
+#
+GST_LIB_DIR= lib/gstreamer-${VERSION}
+
+# Auto create PLIST
+PLIST= ${NONEXISTENT}
+PLIST_FILES?= ${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.so
+
+# aalib
+.if ${GST_PLUGIN}=="aalib"
+LIB_DEPENDS+= aa.1:${PORTSDIR}/graphics/aalib
+PLIST_FILES= ${GST_LIB_DIR}/libgstaasink.so
+.endif
+
+# artsd
+.if ${GST_PLUGIN}=="artsd"
+LIB_DEPENDS+= artsc.0:${PORTSDIR}/audio/arts
+GST_PLIST_SUFFIX= sink
+CONFIGURE_ARGS+=--enable-artsc
+.endif
+
+# cairo
+.if ${GST_PLUGIN}=="cairo"
+LIB_DEPENDS+= cairo.2:${PORTSDIR}/graphics/cairo
+.endif
+
+# cdparanoia
+.if ${GST_PLUGIN}=="cdparanoia"
+LIB_DEPENDS+= cdda_interface.0:${PORTSDIR}/audio/cdparanoia
+.endif
+
+# dirac
+.if ${GST_PLUGIN}=="dirac"
+LIB_DEPENDS+= dirac_encoder.0:${PORTSDIR}/multimedia/dirac
+.endif
+
+# dts
+.if ${GST_PLUGIN}=="dts"
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libdts_pic.a:${PORTSDIR}/multimedia/libdts
+RUN_DEPENDS+= ${LOCALBASE}/lib/libdts_pic.a:${PORTSDIR}/multimedia/libdts
+GST_PLIST_SUFFIX= dec
+.endif
+
+# esound
+.if ${GST_PLUGIN}=="esound"
+USE_GNOME+= esound
+GST_PLUGIN_DIR= ext/esd
+PLIST_FILES= ${GST_LIB_DIR}/libgstesd.so
+.endif
+
+# faac
+.if ${GST_PLUGIN}=="faac"
+LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac
+.endif
+
+# faad
+.if ${GST_PLUGIN}=="faad"
+LIB_DEPENDS+= faad.0:${PORTSDIR}/audio/faad
+.endif
+
+# flac
+.if ${GST_PLUGIN}=="flac"
+LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
+.endif
+
+# gconf
+.if ${GST_PLUGIN}=="gconf"
+USE_GNOME+= gconf2
+GST_PLUGIN_DIR= gst-libs/gst/gconf \
+ ext/gconf \
+ gconf
+GCONF_SCHEMAS= gstreamer-0.8.schemas
+
+PLIST_FILES= include/gstreamer-0.8/gst/gconf/gconf.h \
+ lib/gstreamer-0.8/libgstgconfelements.so \
+ lib/libgstgconf-0.8.a \
+ lib/libgstgconf-0.8.so \
+ lib/libgstgconf-0.8.so.1 \
+ libdata/pkgconfig/gstreamer-gconf-0.8.pc \
+ '@unexec rmdir %D/include/gstreamer-0.8/gst/gconf 2>/dev/null || true'
+.endif
+
+# gdkpixbuf
+.if ${GST_PLUGIN}=="gdkpixbuf"
+USE_GNOME+= gtk20
+GST_PLUGIN_DIR= ext/gdk_pixbuf
+.endif
+
+# gnomevfs
+.if ${GST_PLUGIN}=="gnomevfs"
+USE_GNOME+= gnomevfs2
+CONFIGURE_ARGS+=--enable-gnome_vfs
+.endif
+
+# gsm
+.if ${GST_PLUGIN}=="gsm"
+LIB_DEPENDS+= gsm.1:${PORTSDIR}/audio/gsm
+.endif
+
+# jack
+.if ${GST_PLUGIN}=="jack"
+LIB_DEPENDS+= jack.0:${PORTSDIR}/audio/jack
+.endif
+
+# libcdaudio
+.if ${GST_PLUGIN}=="cdaudio"
+LIB_DEPENDS+= cdaudio.1:${PORTSDIR}/audio/libcdaudio
+.endif
+
+# libcdio
+.if ${GST_PLUGIN}=="cdio"
+LIB_DEPENDS+= cdio.6:${PORTSDIR}/sysutils/libcdio
+PLIST_FILES= ${GST_LIB_DIR}/libgstcddasrc.so
+.endif
+
+# libvisual
+.if ${GST_PLUGIN}=="libvisual"
+LIB_DEPENDS+= visual.0:${PORTSDIR}/graphics/libvisual
+.endif
+
+# musepack
+.if ${GST_PLUGIN}=="musepack"
+LIB_DEPENDS+= mpcdec.3:${PORTSDIR}/audio/libmpcdec
+.endif
+
+# hermes
+.if ${GST_PLUGIN}=="hermes"
+LIB_DEPENDS+= Hermes.1:${PORTSDIR}/graphics/Hermes
+PLIST_FILES= ${GST_LIB_DIR}/libgsthermescolorspace.so
+.endif
+
+# jpeg
+.if ${GST_PLUGIN}=="jpeg"
+LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
+CONFLICTS+= gstreamer-plugins-jpeg-mmx-*
+.endif
+
+# jpeg-mmx
+.if ${GST_PLUGIN}=="jpeg-mmx"
+LIB_DEPENDS+= jpeg-mmx.62:${PORTSDIR}/graphics/jpeg-mmx
+CONFLICTS+= gstreamer-plugins-jpeg-*.*
+
+GST_PLUGIN_DIR= ext/jpeg
+PLIST_FILES= ${GST_LIB_DIR}/libgstjpeg.so
+.endif
+
+# ladspa
+.if ${GST_PLUGIN}=="ladspa"
+BUILD_DEPENDS+= ${LOCALBASE}/include/ladspa.h:${PORTSDIR}/audio/ladspa
+.endif
+
+# lame
+.if ${GST_PLUGIN}=="lame"
+LIB_DEPENDS+= mp3lame.0:${PORTSDIR}/audio/lame
+.endif
+
+# a52dec
+.if ${GST_PLUGIN}=="a52dec"
+LIB_DEPENDS+= a52.0:${PORTSDIR}/audio/liba52
+.endif
+
+# audiofile
+.if ${GST_PLUGIN}=="audiofile"
+LIB_DEPENDS+= audiofile.0:${PORTSDIR}/audio/libaudiofile
+.endif
+
+# libcaca
+.if ${GST_PLUGIN}=="libcaca"
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libcaca.a:${PORTSDIR}/graphics/libcaca
+PLIST_FILES= ${GST_LIB_DIR}/libgstcacasink.so
+.endif
+
+# dv
+.if ${GST_PLUGIN}=="dv"
+LIB_DEPENDS+= dv.4:${PORTSDIR}/multimedia/libdv
+GST_PLIST_SUFFIX= dec
+.endif
+
+# dvd (dvdnav dvdread)
+.if ${GST_PLUGIN}=="dvd"
+EXTRA_LIBS+= -ldvdnav
+LIB_DEPENDS+= dvdnav.4:${PORTSDIR}/multimedia/libdvdnav
+GST_PLUGIN_DIR= ext/dvdnav \
+ ext/dvdread
+PLIST_FILES= ${GST_LIB_DIR}/libgstdvdnavsrc.so \
+ ${GST_LIB_DIR}/libgstdvdreadsrc.so
+.endif
+
+# libfame
+.if ${GST_PLUGIN}=="libfame"
+LIB_DEPENDS+= fame-0.9.1:${PORTSDIR}/multimedia/libfame
+.endif
+
+# libmms
+.if ${GST_PLUGIN}=="libmms"
+LIB_DEPENDS+= mms.0:${PORTSDIR}/net/libmms
+PLIST_FILES= ${GST_LIB_DIR}/libgstmms.so
+.endif
+
+# libmng
+.if ${GST_PLUGIN}=="libmng"
+LIB_DEPENDS+= mng.1:${PORTSDIR}/graphics/libmng
+PLIST_FILES= ${GST_LIB_DIR}/libgstmng.so
+.endif
+
+# mikmod
+.if ${GST_PLUGIN}=="mikmod"
+LIB_DEPENDS+= mikmod.2:${PORTSDIR}/audio/libmikmod
+.endif
+
+# mpeg2dec
+.if ${GST_PLUGIN}=="mpeg2dec"
+LIB_DEPENDS+= mpeg2.0:${PORTSDIR}/multimedia/libmpeg2
+.endif
+
+# mplex
+.if ${GST_PLUGIN}=="mplex"
+LIB_DEPENDS+= lavjpeg-1.8.0:${PORTSDIR}/multimedia/mjpegtools
+.endif
+
+# musicbrainz
+.if ${GST_PLUGIN}=="musicbrainz"
+LIB_DEPENDS+= musicbrainz.4:${PORTSDIR}/audio/libmusicbrainz
+PLIST_FILES= lib/gstreamer-${VERSION}/libgsttrm.so
+.endif
+
+# shout
+.if ${GST_PLUGIN}=="shout"
+LIB_DEPENDS+= shout.2:${PORTSDIR}/audio/libshout
+.endif
+
+# shout2
+.if ${GST_PLUGIN}=="shout2"
+LIB_DEPENDS+= shout.5:${PORTSDIR}/audio/libshout2
+.endif
+
+# sidplay
+.if ${GST_PLUGIN}=="sidplay"
+LIB_DEPENDS+= sidplay.1:${PORTSDIR}/audio/libsidplay
+PLIST_FILES= ${GST_LIB_DIR}/libgstsid.so
+.endif
+
+# sndfile
+.if ${GST_PLUGIN}=="sndfile"
+LIB_DEPENDS+= sndfile.1:${PORTSDIR}/audio/libsndfile
+.endif
+
+# theora
+.if ${GST_PLUGIN}=="theora"
+LIB_DEPENDS+= theora.1:${PORTSDIR}/multimedia/libtheora
+.endif
+
+# mad
+.if ${GST_PLUGIN}=="mad"
+LIB_DEPENDS+= mad.2:${PORTSDIR}/audio/libmad \
+ id3tag.0:${PORTSDIR}/audio/libid3tag
+.endif
+
+# mpeg2enc
+.if ${GST_PLUGIN}=="mpeg2enc"
+USE_GSTREAMER+= mplex
+LIB_DEPENDS+= lavjpeg-1.8.0:${PORTSDIR}/multimedia/mjpegtools
+
+# XXX - make sure CONFIGURE works with mpeg2enc even with "ccache
+# c++" ... weird but necessary
+CONFIGURE_ENV+= HAVE_CXX=yes
+.endif
+
+# nas
+.if ${GST_PLUGIN}=="nas"
+LIB_DEPENDS+= audio.2:${PORTSDIR}/audio/nas
+GST_PLIST_SUFFIX= sink
+.endif
+
+# ogg
+.if ${GST_PLUGIN}=="ogg"
+LIB_DEPENDS+= ogg.5:${PORTSDIR}/audio/libogg
+.endif
+
+# pango
+.if ${GST_PLUGIN}=="pango"
+USE_GNOME+= pango
+PLIST_FILES= ${GST_LIB_DIR}/libgsttextoverlay.so \
+ ${GST_LIB_DIR}/libgsttimeoverlay.so
+.endif
+
+# libpng and the snapshot plugin
+.if ${GST_PLUGIN}=="libpng"
+LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png
+GST_PLUGIN_DIR= ext/libpng \
+ ext/snapshot
+PLIST_FILES= ${GST_LIB_DIR}/libgstpng.so \
+ ${GST_LIB_DIR}/libgstsnapshot.so
+.endif
+
+# polypaudio
+.if ${GST_PLUGIN}=="polypaudio"
+LIB_DEPENDS+= polyp-0.7.0:${PORTSDIR}/audio/polypaudio
+PLIST_FILES= ${GST_LIB_DIR}/libpolypaudio.so
+GST_PLUGIN_DIR= ext/polyp
+.endif
+
+# sdl
+.if ${GST_PLUGIN}=="sdl"
+USE_SDL+= sdl
+GST_PLIST_SUFFIX= videosink
+.endif
+
+# smoothwave
+.if ${GST_PLUGIN}=="smoothwave"
+USE_GNOME+= gtk20
+.endif
+
+# speex
+.if ${GST_PLUGIN}=="speex"
+LIB_DEPENDS+= speex.3:${PORTSDIR}/audio/speex
+.endif
+
+# swfdec
+.if ${GST_PLUGIN}=="swfdec"
+LIB_DEPENDS+= swfdec-0.3.0:${PORTSDIR}/graphics/swfdec
+.endif
+
+# vorbis
+.if ${GST_PLUGIN}=="vorbis"
+USE_GSTREAMER+= ogg
+LIB_DEPENDS+= vorbis.3:${PORTSDIR}/audio/libvorbis
+.endif
+
+# ivorbis
+.if ${GST_PLUGIN}=="ivorbis"
+LIB_DEPENDS+= vorbisidec.1:${PORTSDIR}/audio/libtremor
+.endif
+
+# wavpack
+.if ${GST_PLUGIN}=="wavpack"
+LIB_DEPENDS+= wavpack.0:${PORTSDIR}/audio/wavpack
+.endif
+
+# x264
+.if ${GST_PLUGIN}=="x264"
+LIB_DEPENDS+= x264.1:${PORTSDIR}/multimedia/x264
+PLIST_FILES= ${GST_LIB_DIR}/libx264.so
+.endif
+
+# xvid
+.if ${GST_PLUGIN}=="xvid"
+LIB_DEPENDS+= xvidcore.4:${PORTSDIR}/multimedia/xvid
+.endif
+
+LIB_DEPENDS+= gstplay-${VERSION}.${SHLIB_VERSION}:${PORTSDIR}/multimedia/gstreamer-plugins
+
+PLIST_FILES+= '@exec %D/bin/gst-register-${VERSION} --gst-registry=%D/share/gnome/cache/gstreamer-${VERSION}/registry.xml 2>/dev/null || true'
+PLIST_FILES+= '@unexec %D/bin/gst-register-${VERSION} --gst-registry=%D/share/gnome/cache/gstreamer-${VERSION}/registry.xml 2>/dev/null || true'
+
+do-build:
+.if ${GST_PLUGIN} == "gconf"
+ @cd ${WRKSRC}/pkgconfig && ../config.status &
+.endif
+.for dir in ${GST_PREBUILD_DIR} ${GST_PLUGIN_DIR} ${GST_POSTBUILD_DIR}
+ @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
+ ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
+.endfor
+
+do-install:
+.for dir in ${GST_PLUGIN_DIR}
+ @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
+ ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
+.endfor
+.if ${GST_PLUGIN} == "gconf"
+ @cd ${WRKSRC}/pkgconfig && ${GMAKE} gstreamer-gconf-0.8.pc
+ @${INSTALL_SCRIPT} ${WRKSRC}/pkgconfig/gstreamer-gconf-0.8.pc \
+ ${PREFIX}/libdata/pkgconfig/gstreamer-gconf-0.8.pc
+.endif
+
+.endif
diff --git a/multimedia/gstreamer-plugins80/distinfo b/multimedia/gstreamer-plugins80/distinfo
new file mode 100644
index 000000000..b6dd917ee
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/distinfo
@@ -0,0 +1,2 @@
+MD5 (gnome2/gst-plugins-0.8.11.tar.bz2) = ea787eeed3761ff03cb60ecebebe1c30
+SIZE (gnome2/gst-plugins-0.8.11.tar.bz2) = 2439654
diff --git a/multimedia/gstreamer-plugins80/files/bsdi_dvd.h b/multimedia/gstreamer-plugins80/files/bsdi_dvd.h
new file mode 100644
index 000000000..ff61ebd25
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/bsdi_dvd.h
@@ -0,0 +1,340 @@
+#ifndef _DVD_H_
+#define _DVD_H_
+
+#include <sys/cdefs.h>
+#include <machine/endian.h>
+#include <sys/ioctl.h>
+
+__BEGIN_DECLS
+int dvd_cdrom_ioctl(int, unsigned long, void *);
+int cdrom_blocksize(int, int);
+void dvd_cdrom_debug(int);
+__END_DECLS
+
+#define ioctl(a,b,c) dvd_cdrom_ioctl((a),(b),(c))
+
+typedef unsigned char __u8;
+typedef unsigned short __u16;
+typedef unsigned int __u32;
+
+#define DVD_READ_STRUCT 0x5390 /* Read structure */
+#define DVD_WRITE_STRUCT 0x5391 /* Write structure */
+#define DVD_AUTH 0x5392 /* Authentication */
+
+#define DVD_STRUCT_PHYSICAL 0x00
+#define DVD_STRUCT_COPYRIGHT 0x01
+#define DVD_STRUCT_DISCKEY 0x02
+#define DVD_STRUCT_BCA 0x03
+#define DVD_STRUCT_MANUFACT 0x04
+
+struct dvd_layer {
+ __u8 book_version : 4;
+ __u8 book_type : 4;
+ __u8 min_rate : 4;
+ __u8 disc_size : 4;
+ __u8 layer_type : 4;
+ __u8 track_path : 1;
+ __u8 nlayers : 2;
+ __u8 track_density : 4;
+ __u8 linear_density : 4;
+ __u8 bca : 1;
+ __u32 start_sector;
+ __u32 end_sector;
+ __u32 end_sector_l0;
+};
+
+struct dvd_physical {
+ __u8 type;
+ __u8 layer_num;
+ struct dvd_layer layer[4];
+};
+
+struct dvd_copyright {
+ __u8 type;
+
+ __u8 layer_num;
+ __u8 cpst;
+ __u8 rmi;
+};
+
+struct dvd_disckey {
+ __u8 type;
+
+ unsigned agid : 2;
+ __u8 value[2048];
+};
+
+struct dvd_bca {
+ __u8 type;
+
+ int len;
+ __u8 value[188];
+};
+
+struct dvd_manufact {
+ __u8 type;
+
+ __u8 layer_num;
+ int len;
+ __u8 value[2048];
+};
+
+typedef union {
+ __u8 type;
+
+ struct dvd_physical physical;
+ struct dvd_copyright copyright;
+ struct dvd_disckey disckey;
+ struct dvd_bca bca;
+ struct dvd_manufact manufact;
+} dvd_struct;
+
+/*
+ * DVD authentication ioctl
+ */
+
+/* Authentication states */
+#define DVD_LU_SEND_AGID 0
+#define DVD_HOST_SEND_CHALLENGE 1
+#define DVD_LU_SEND_KEY1 2
+#define DVD_LU_SEND_CHALLENGE 3
+#define DVD_HOST_SEND_KEY2 4
+
+/* Termination states */
+#define DVD_AUTH_ESTABLISHED 5
+#define DVD_AUTH_FAILURE 6
+
+/* Other functions */
+#define DVD_LU_SEND_TITLE_KEY 7
+#define DVD_LU_SEND_ASF 8
+#define DVD_INVALIDATE_AGID 9
+#define DVD_LU_SEND_RPC_STATE 10
+#define DVD_HOST_SEND_RPC_STATE 11
+
+/* State data */
+typedef __u8 dvd_key[5]; /* 40-bit value, MSB is first elem. */
+typedef __u8 dvd_challenge[10]; /* 80-bit value, MSB is first elem. */
+
+struct dvd_lu_send_agid {
+ __u8 type;
+ unsigned agid : 2;
+};
+
+struct dvd_host_send_challenge {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_challenge chal;
+};
+
+struct dvd_send_key {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_key key;
+};
+
+struct dvd_lu_send_challenge {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_challenge chal;
+};
+
+#define DVD_CPM_NO_COPYRIGHT 0
+#define DVD_CPM_COPYRIGHTED 1
+
+#define DVD_CP_SEC_NONE 0
+#define DVD_CP_SEC_EXIST 1
+
+#define DVD_CGMS_UNRESTRICTED 0
+#define DVD_CGMS_SINGLE 2
+#define DVD_CGMS_RESTRICTED 3
+
+struct dvd_lu_send_title_key {
+ __u8 type;
+ unsigned agid : 2;
+
+ dvd_key title_key;
+ int lba;
+ unsigned cpm : 1;
+ unsigned cp_sec : 1;
+ unsigned cgms : 2;
+};
+
+struct dvd_lu_send_asf {
+ __u8 type;
+ unsigned agid : 2;
+
+ unsigned asf : 1;
+};
+
+struct dvd_host_send_rpcstate {
+ __u8 type;
+ __u8 pdrc;
+};
+
+struct dvd_lu_send_rpcstate {
+ __u8 type : 2;
+ __u8 vra : 3;
+ __u8 ucca : 3;
+ __u8 region_mask;
+ __u8 rpc_scheme;
+};
+
+typedef union {
+ __u8 type;
+
+ struct dvd_lu_send_agid lsa;
+ struct dvd_host_send_challenge hsc;
+ struct dvd_send_key lsk;
+ struct dvd_lu_send_challenge lsc;
+ struct dvd_send_key hsk;
+ struct dvd_lu_send_title_key lstk;
+ struct dvd_lu_send_asf lsasf;
+ struct dvd_host_send_rpcstate hrpcs;
+ struct dvd_lu_send_rpcstate lrpcs;
+} dvd_authinfo;
+
+
+typedef struct {
+ __u16 report_key_length;
+ __u8 reserved1;
+ __u8 reserved2;
+#if BYTE_ORDER == BIG_ENDIAN
+ __u8 type_code : 2;
+ __u8 vra : 3;
+ __u8 ucca : 3;
+#elif BYTE_ORDER == LITTLE_ENDIAN
+ __u8 ucca : 3;
+ __u8 vra : 3;
+ __u8 type_code : 2;
+#endif
+ __u8 region_mask;
+ __u8 rpc_scheme;
+ __u8 reserved3;
+} rpc_state_t;
+
+/*
+ * Stuff for the CDROM ioctls
+*/
+
+#define CDROMREADTOCHDR 0x5305 /* Read TOC header (cdrom_tochdr) */
+#define CDROMREADTOCENTRY 0x5306 /* Read TOC entry (cdrom_tocentry) */
+#define CDROMEJECT 0x5309 /* Ejects the cdrom media */
+#define CDROMCLOSETRAY 0x5319 /* Reverse of CDROMEJECT */
+#define CDROM_DRIVE_STATUS 0x5326 /* Get tray position, etc. */
+#define CDROM_DISC_STATUS 0x5327 /* Get disc type, etc. */
+#define CDROMREADMODE2 0x530c /* Read CDROM mode 2 data (2336 Bytes) */
+#define CDROMREADMODE1 0x530d /* Read CDROM mode 1 data (2048 Bytes) */
+#define CDROMREADRAW 0x5314 /* read data in raw mode (2352 bytes) */
+
+#define CD_MINS 74 /* max. minutes per CD, not really a limit */
+#define CD_SECS 60 /* seconds per minute */
+#define CD_FRAMES 75 /* frames per second */
+#define CD_MSF_OFFSET 150 /* MSF numbering offset of first frame */
+
+#define CD_HEAD_SIZE 4 /* header (address) bytes per raw data frame */
+#define CD_SYNC_SIZE 12 /* 12 sync bytes per raw data frame */
+#define CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */
+#define CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */
+#define CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) /*2336*/
+#define CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) /*2340*/
+
+/* CD-ROM address types (cdrom_tocentry.cdte_format) */
+#define CDROM_LBA 0x01 /* logical block: first frame is #0 */
+#define CDROM_MSF 0x02 /* minute-second-frame: binary. not bcd here!*/
+
+/* bit to tell whether track is data or audio (cdrom_tocentry.cdte_ctrl) */
+#define CDROM_DATA_TRACK 0x04
+
+/* The leadout track is always 0xAA, regardless of # of tracks on disc */
+#define CDROM_LEADOUT 0xAA
+
+/* drive status returned by CDROM_DRIVE_STATUS ioctl */
+#define CDS_NO_INFO 0 /* if not implemented */
+#define CDS_NO_DISC 1
+#define CDS_TRAY_OPEN 2
+#define CDS_DRIVE_NOT_READY 3
+#define CDS_DISC_OK 4
+
+/*
+ * Return values for CDROM_DISC_STATUS ioctl.
+ * Can also return CDS_NO_INFO and CDS_NO_DISC from above
+*/
+#define CDS_AUDIO 100
+#define CDS_DATA_1 101
+#define CDS_DATA_2 102
+#define CDS_XA_2_1 103
+#define CDS_XA_2_2 104
+#define CDS_MIXED 105
+
+/* For compile compatibility only - we don't support changers */
+#define CDSL_NONE ((int) (~0U>>1)-1)
+#define CDSL_CURRENT ((int) (~0U>>1))
+
+struct cdrom_msf
+{
+ __u8 cdmsf_min0; /* start minute */
+ __u8 cdmsf_sec0; /* start second */
+ __u8 cdmsf_frame0; /* start frame */
+ __u8 cdmsf_min1; /* end minute */
+ __u8 cdmsf_sec1; /* end second */
+ __u8 cdmsf_frame1; /* end frame */
+};
+
+struct cdrom_tochdr
+ {
+ __u8 cdth_trk0; /* start track */
+ __u8 cdth_trk1; /* end track */
+ };
+
+struct cdrom_msf0
+{
+ __u8 minute;
+ __u8 second;
+ __u8 frame;
+};
+
+union cdrom_addr
+{
+ struct cdrom_msf0 msf;
+ int lba;
+};
+
+struct cdrom_tocentry
+{
+ __u8 cdte_track;
+ __u8 cdte_adr :4;
+ __u8 cdte_ctrl :4;
+ __u8 cdte_format;
+ union cdrom_addr cdte_addr;
+ __u8 cdte_datamode;
+};
+
+struct modesel_head
+{
+ __u8 reserved1;
+ __u8 medium;
+ __u8 reserved2;
+ __u8 block_desc_length;
+ __u8 density;
+ __u8 number_of_blocks_hi;
+ __u8 number_of_blocks_med;
+ __u8 number_of_blocks_lo;
+ __u8 reserved3;
+ __u8 block_length_hi;
+ __u8 block_length_med;
+ __u8 block_length_lo;
+};
+
+typedef struct
+{
+ int data;
+ int audio;
+ int cdi;
+ int xa;
+ int error;
+} tracktype;
+
+#endif /* _DVD_H_ */
diff --git a/multimedia/gstreamer-plugins80/files/patch-configure b/multimedia/gstreamer-plugins80/files/patch-configure
new file mode 100644
index 000000000..92b1deb51
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-configure
@@ -0,0 +1,12 @@
+--- configure.orig Wed Jun 23 21:30:24 2004
++++ configure Wed Jun 23 21:30:25 2004
+@@ -46068,7 +46068,8 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-laudio $X_LIBS $LIBS"
++#xxx fix the non x case is er niet...
++LIBS="-laudio -lm -lXt $X_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
diff --git a/multimedia/gstreamer-plugins80/files/patch-ext::ivorbis::vorbisenc.h b/multimedia/gstreamer-plugins80/files/patch-ext::ivorbis::vorbisenc.h
new file mode 100644
index 000000000..90d39a1a2
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-ext::ivorbis::vorbisenc.h
@@ -0,0 +1,103 @@
+--- /dev/null Thu Feb 12 22:22:00 2004
++++ ext/ivorbis/vorbisenc.h Thu Feb 12 22:24:08 2004
+@@ -0,0 +1,100 @@
++/* GStreamer
++ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ * Boston, MA 02111-1307, USA.
++ */
++
++
++#ifndef __VORBISENC_H__
++#define __VORBISENC_H__
++
++
++#include <gst/gst.h>
++
++#include <tremor/ivorbiscodec.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
++#define GST_TYPE_VORBISENC \
++ (vorbisenc_get_type())
++#define GST_VORBISENC(obj) \
++ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VORBISENC,VorbisEnc))
++#define GST_VORBISENC_CLASS(klass) \
++ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VORBISENC,VorbisEncClass))
++#define GST_IS_VORBISENC(obj) \
++ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VORBISENC))
++#define GST_IS_VORBISENC_CLASS(obj) \
++ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VORBISENC))
++
++typedef struct _VorbisEnc VorbisEnc;
++typedef struct _VorbisEncClass VorbisEncClass;
++
++struct _VorbisEnc {
++ GstElement element;
++
++ GstPad *sinkpad,
++ *srcpad;
++
++ ogg_stream_state os; /* take physical pages, weld into a logical
++ stream of packets */
++ ogg_page og; /* one Ogg bitstream page. Vorbis packets are inside */
++ ogg_packet op; /* one raw packet of data for decode */
++
++ vorbis_info vi; /* struct that stores all the static vorbis bitstream
++ settings */
++ vorbis_comment vc; /* struct that stores all the user comments */
++
++ vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */
++ vorbis_block vb; /* local working space for packet->PCM decode */
++
++ gboolean eos;
++
++ gboolean managed;
++ gint bitrate;
++ gint min_bitrate;
++ gint max_bitrate;
++ gfloat quality;
++ gboolean quality_set;
++ gint serial;
++
++ gint channels;
++ gint frequency;
++
++ guint64 samples_in;
++ guint64 bytes_out;
++
++ GstCaps *metadata;
++
++ gboolean setup;
++ gboolean flush_header;
++ gchar *last_message;
++};
++
++struct _VorbisEncClass {
++ GstElementClass parent_class;
++};
++
++GType vorbisenc_get_type(void);
++
++
++#ifdef __cplusplus
++}
++#endif /* __cplusplus */
++
++
++#endif /* __VORBISENC_H__ */
diff --git a/multimedia/gstreamer-plugins80/files/patch-ext_cdparanoia_gstcdparanoia.c b/multimedia/gstreamer-plugins80/files/patch-ext_cdparanoia_gstcdparanoia.c
new file mode 100644
index 000000000..f3eb910fd
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-ext_cdparanoia_gstcdparanoia.c
@@ -0,0 +1,34 @@
+--- ext/cdparanoia/gstcdparanoia.c.orig Mon Aug 29 13:50:49 2005
++++ ext/cdparanoia/gstcdparanoia.c Thu Sep 1 15:30:11 2005
+@@ -562,6 +562,7 @@
+ gint16 *cdda_buf;
+ gint64 timestamp;
+ GstFormat format;
++ GstEvent *discont_ev;
+
+ /* convert the sequence sector number to a timestamp */
+ format = GST_FORMAT_TIME;
+@@ -572,7 +573,6 @@
+
+ if (!src->discont_sent && (is_track_switch (src, src->cur_sector) ||
+ (src->prev_sec != src->cur_sector))) {
+- GstEvent *discont_ev;
+
+ if (src->cur_track == src->d->tracks) {
+ GST_DEBUG_OBJECT (src, "End of CD");
+@@ -815,9 +815,15 @@
+
+ /* open the disc */
+ if (cdda_open (src->d)) {
++#if defined(__FreeBSD__)
++ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
++ (_("Could not open CD device %s for reading."),
++ src->d->dev->device_path), ("cdda_open failed"));
++#else
+ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
+ (_("Could not open CD device %s for reading."),
+ src->d->cdda_device_name), ("cdda_open failed"));
++#endif
+ cdda_close (src->d);
+ src->d = NULL;
+ return FALSE;
diff --git a/multimedia/gstreamer-plugins80/files/patch-ext_libcaca_Makefile.in b/multimedia/gstreamer-plugins80/files/patch-ext_libcaca_Makefile.in
new file mode 100644
index 000000000..0ee53a92e
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-ext_libcaca_Makefile.in
@@ -0,0 +1,23 @@
+--- ext/libcaca/Makefile.in.orig Mon Oct 4 00:07:18 2004
++++ ext/libcaca/Makefile.in Mon Oct 4 00:07:59 2004
+@@ -76,8 +76,7 @@
+ pluginLTLIBRARIES_INSTALL = $(INSTALL)
+ LTLIBRARIES = $(plugin_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+-libgstcacasink_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+- $(top_builddir)/gst-libs/gst/libgstinterfaces-$(GST_MAJORMINOR).la
++libgstcacasink_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+ am_libgstcacasink_la_OBJECTS = libgstcacasink_la-gstcacasink.lo
+ libgstcacasink_la_OBJECTS = $(am_libgstcacasink_la_OBJECTS)
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+@@ -616,9 +615,7 @@
+ plugin_LTLIBRARIES = libgstcacasink.la
+ libgstcacasink_la_SOURCES = gstcacasink.c
+ libgstcacasink_la_CFLAGS = $(GST_CFLAGS) $(LIBCACA_CFLAGS)
+-libgstcacasink_la_LIBADD = $(LIBCACA_LIBS) \
+- $(top_builddir)/gst-libs/gst/libgstinterfaces-$(GST_MAJORMINOR).la
+-
++libgstcacasink_la_LIBADD = $(LIBCACA_LIBS) -lgstinterfaces-%%VERSION%%
+ libgstcacasink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+ noinst_HEADERS = gstcacasink.h
+ all: all-am
diff --git a/multimedia/gstreamer-plugins80/files/patch-ext_mpeg2enc_gstmpeg2encoptions.cc b/multimedia/gstreamer-plugins80/files/patch-ext_mpeg2enc_gstmpeg2encoptions.cc
new file mode 100644
index 000000000..aabbc2971
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-ext_mpeg2enc_gstmpeg2encoptions.cc
@@ -0,0 +1,26 @@
+--- ext/mpeg2enc/gstmpeg2encoptions.cc.orig Mon Jul 5 19:54:18 2004
++++ ext/mpeg2enc/gstmpeg2encoptions.cc Mon Jul 5 20:05:37 2004
+@@ -267,11 +267,23 @@
+ * Class init stuff.
+ */
+
++#if !defined(_SC_NPROCESSORS_ONLN) && defined(__FreeBSD__)
++#include <sys/types.h>
++#include <sys/sysctl.h>
++#endif
++
+ GstMpeg2EncOptions::GstMpeg2EncOptions ():
+ MPEG2EncOptions ()
+ {
+ /* autodetect number of CPUs */
++#if !defined(_SC_NPROCESSORS_ONLN) && defined(__FreeBSD__)
++ /* We need to use a sysctl to get the number of CPUs. */
++ size_t len = sizeof (num_cpus);
++
++ sysctlbyname ("hw.ncpu", &num_cpus, &len, NULL, 0);
++#else
+ num_cpus = sysconf (_SC_NPROCESSORS_ONLN);
++#endif
+ if (num_cpus < 0)
+ num_cpus = 1;
+ if (num_cpus > 32)
diff --git a/multimedia/gstreamer-plugins80/files/patch-ext_sdl_Makefile.in b/multimedia/gstreamer-plugins80/files/patch-ext_sdl_Makefile.in
new file mode 100644
index 000000000..c943042ad
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-ext_sdl_Makefile.in
@@ -0,0 +1,23 @@
+--- ext/sdl/Makefile.in.orig Mon Oct 4 00:56:57 2004
++++ ext/sdl/Makefile.in Mon Oct 4 00:57:47 2004
+@@ -76,8 +76,7 @@
+ pluginLTLIBRARIES_INSTALL = $(INSTALL)
+ LTLIBRARIES = $(plugin_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+-libgstsdlvideosink_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+- $(top_builddir)/gst-libs/gst/libgstinterfaces-@GST_MAJORMINOR@.la
++libgstsdlvideosink_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+ am_libgstsdlvideosink_la_OBJECTS = \
+ libgstsdlvideosink_la-sdlvideosink.lo
+ libgstsdlvideosink_la_OBJECTS = $(am_libgstsdlvideosink_la_OBJECTS)
+@@ -617,9 +616,7 @@
+ plugin_LTLIBRARIES = libgstsdlvideosink.la
+ libgstsdlvideosink_la_SOURCES = sdlvideosink.c
+ libgstsdlvideosink_la_CFLAGS = $(GST_CFLAGS) $(SDL_CFLAGS)
+-libgstsdlvideosink_la_LIBADD = $(SDL_LIBS) \
+- $(top_builddir)/gst-libs/gst/libgstinterfaces-@GST_MAJORMINOR@.la
+-
++libgstsdlvideosink_la_LIBADD = $(SDL_LIBS) -lgstinterfaces-%%VERSION%%
+ libgstsdlvideosink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+ noinst_HEADERS = sdlvideosink.h
+ all: all-am
diff --git a/multimedia/gstreamer-plugins80/files/patch-gcc295 b/multimedia/gstreamer-plugins80/files/patch-gcc295
new file mode 100644
index 000000000..a7a849106
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-gcc295
@@ -0,0 +1,77 @@
+--- ext/polyp/polypsink.c.orig Sat Sep 10 19:39:39 2005
++++ ext/polyp/polypsink.c Sat Sep 10 19:40:17 2005
+@@ -48,18 +48,6 @@
+ "width = (int) 16, "
+ "depth = (int) 16, "
+ "rate = (int) [ 1, MAX ], " "channels = (int) [ 1, 16 ]"
+-#if 0
+- ";audio/x-raw-float, "
+- "endianness = (int) { LITTLE_ENDIAN, BIG_ENDIAN }, "
+- "width = (int) 32, "
+- "rate = (int) [ 1, MAX ], "
+- "channels = (int) [ 1, 16 ];"
+- "audio/x-raw-int, "
+- "signed = (boolean) FALSE, "
+- "width = (int) 8, "
+- "depth = (int) 8, "
+- "rate = (int) [ 1, MAX ], " "channels = (int) [ 1, 16 ]"
+-#endif
+ )
+ );
+
+--- ext/pango/gsttextrender.c.orig Sat Sep 10 19:41:24 2005
++++ ext/pango/gsttextrender.c Sat Sep 10 19:41:58 2005
+@@ -251,6 +251,7 @@
+ GstTextRender *overlay = GST_TEXT_RENDER (gst_pad_get_parent (pad));
+ guint size = GST_BUFFER_SIZE (buf);
+ guint8 *data = GST_BUFFER_DATA (buf);
++ gint n;
+
+ /* somehow pango barfs over "\0" buffers... */
+ while (size > 0 &&
+@@ -274,7 +275,6 @@
+ gst_buffer_stamp (out, GST_BUFFER (buf));
+ // gst_buffer_stamp (out, buf);
+ data = GST_BUFFER_DATA (out);
+- gint n;
+
+ for (n = 0; n < overlay->width * overlay->height; n++) {
+ data[n * 4] = 0;
+--- ext/ogg/gstoggparse.c.orig Sat Sep 10 19:43:13 2005
++++ ext/ogg/gstoggparse.c Sat Sep 10 19:44:04 2005
+@@ -365,6 +365,7 @@
+ guint32 serialno;
+ GstBuffer *pagebuffer;
+ GstClockTime buffertimestamp = GST_BUFFER_TIMESTAMP (buffer);
++ page_type type;
+
+ ogg = GST_OGG_PARSE (GST_OBJECT_PARENT (pad));
+
+@@ -464,7 +465,7 @@
+
+ ogg->last_page_not_bos = TRUE;
+
+- page_type type = gst_ogg_parse_is_header (ogg, stream, &page);
++ type = gst_ogg_parse_is_header (ogg, stream, &page);
+
+ if (type == PAGE_PENDING && ogg->in_headers) {
+ gst_buffer_ref (pagebuffer);
+--- ext/gnomevfs/gstgnomevfssrc.c.orig Sat Sep 10 19:44:44 2005
++++ ext/gnomevfs/gstgnomevfssrc.c Sat Sep 10 19:45:15 2005
+@@ -1114,6 +1114,7 @@
+ GstBuffer *buf;
+ GnomeVFSFileSize readbytes;
+ guint8 *data;
++ GstEvent *event;
+
+ g_return_val_if_fail (pad != NULL, NULL);
+ src = GST_GNOMEVFSSRC (gst_pad_get_parent (pad));
+@@ -1132,7 +1133,7 @@
+ /* deal with tag list */
+ if (src->icy_taglist) {
+ gst_element_found_tags (GST_ELEMENT (src), src->icy_taglist);
+- GstEvent *event = gst_event_new_tag (src->icy_taglist);
++ event = gst_event_new_tag (src->icy_taglist);
+
+ gst_object_ref (GST_OBJECT (src));
+ event->src = GST_OBJECT (src);
diff --git a/multimedia/gstreamer-plugins80/files/patch-gst_ffmpegcolorspace_Makefile.in b/multimedia/gstreamer-plugins80/files/patch-gst_ffmpegcolorspace_Makefile.in
new file mode 100644
index 000000000..fb2afdfb0
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-gst_ffmpegcolorspace_Makefile.in
@@ -0,0 +1,11 @@
+--- gst/ffmpegcolorspace/Makefile.in.orig Wed Mar 9 01:40:27 2005
++++ gst/ffmpegcolorspace/Makefile.in Wed Mar 9 01:41:10 2005
+@@ -360,7 +360,7 @@
+ LAME_LIBS = @LAME_LIBS@
+ LCS_CFLAGS = @LCS_CFLAGS@
+ LCS_LIBS = @LCS_LIBS@
+-LDFLAGS = @LDFLAGS@
++LDFLAGS = @LDFLAGS@ -Wl,-Bsymbolic -lc
+ LIBCACA_CFLAGS = @LIBCACA_CFLAGS@
+ LIBCACA_CONFIG = @LIBCACA_CONFIG@
+ LIBCACA_LIBS = @LIBCACA_LIBS@
diff --git a/multimedia/gstreamer-plugins80/files/patch-gst_librfb_gstrfbsrc.c b/multimedia/gstreamer-plugins80/files/patch-gst_librfb_gstrfbsrc.c
new file mode 100644
index 000000000..e83f13650
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-gst_librfb_gstrfbsrc.c
@@ -0,0 +1,10 @@
+--- gst/librfb/gstrfbsrc.c.orig Fri Jun 3 06:06:43 2005
++++ gst/librfb/gstrfbsrc.c Fri Jun 3 06:08:21 2005
+@@ -28,6 +28,7 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <sys/time.h>
+
+ #include <librfb/rfb.h>
+
diff --git a/multimedia/gstreamer-plugins80/files/patch-sys_cdrom_gstcdplayer-ioctl-bsd.h b/multimedia/gstreamer-plugins80/files/patch-sys_cdrom_gstcdplayer-ioctl-bsd.h
new file mode 100644
index 000000000..daaefac5e
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-sys_cdrom_gstcdplayer-ioctl-bsd.h
@@ -0,0 +1,72 @@
+--- sys/cdrom/gstcdplayer_ioctl_bsd.h.orig Mon Mar 1 06:52:03 2004
++++ sys/cdrom/gstcdplayer_ioctl_bsd.h Tue Mar 9 16:05:36 2004
+@@ -142,6 +142,7 @@
+ {
+ struct ioc_toc_header toc_header;
+ struct ioc_read_toc_entry toc_entry;
++ struct cd_toc_entry toc_entry_data;
+ guint i;
+
+ cd->fd = open(device,O_RDONLY | O_NONBLOCK);
+@@ -151,7 +152,7 @@
+ }
+
+ /* get the toc header information */
+- if (ioctl(cd->fd,CDIOREADTOCHDR,&toc_header) != 0) {
++ if (ioctl(cd->fd,CDIOREADTOCHEADER,&toc_header) != 0) {
+ close(cd->fd);
+ cd->fd = -1;
+ return FALSE;
+@@ -161,6 +162,8 @@
+ for (i = 1; i <= toc_header.ending_track; i++) {
+ toc_entry.address_format = CD_MSF_FORMAT;
+ toc_entry.starting_track = i;
++ toc_entry.data = &toc_entry_data;
++ toc_entry.data_len = sizeof(toc_entry_data);
+
+ if (ioctl(cd->fd,CDIOREADTOCENTRYS,&toc_entry) != 0) {
+ close(cd->fd);
+@@ -168,9 +171,9 @@
+ return FALSE;
+ }
+
+- cd->tracks[i].minute = toc_entry.entry.addr.msf.minute;
+- cd->tracks[i].second = toc_entry.entry.addr.msf.second;
+- cd->tracks[i].frame = toc_entry.entry.addr.msf.frame;
++ cd->tracks[i].minute = toc_entry.data->addr.msf.minute;
++ cd->tracks[i].second = toc_entry.data->addr.msf.second;
++ cd->tracks[i].frame = toc_entry.data->addr.msf.frame;
+ cd->tracks[i].data_track = (toc_entry.data->control & 4) == 4;
+ }
+
+@@ -186,9 +189,9 @@
+ return FALSE;
+ }
+
+- cd->tracks[LEADOUT].minute = toc_entry.entry.addr.msf.minute;
+- cd->tracks[LEADOUT].second = toc_entry.entry.addr.msf.second;
+- cd->tracks[LEADOUT].frame = toc_entry.entry.addr.msf.frame;
++ cd->tracks[LEADOUT].minute = toc_entry.data->addr.msf.minute;
++ cd->tracks[LEADOUT].second = toc_entry.data->addr.msf.second;
++ cd->tracks[LEADOUT].frame = toc_entry.data->addr.msf.frame;
+
+ cd->num_tracks = toc_header.ending_track;
+
+@@ -224,6 +227,8 @@
+ return FALSE;
+ }
+
++ /* lets return TRUE and lets see what happes (may not be correct)*/
++ return TRUE;
+ }
+
+ gboolean cd_pause(struct cd *cd)
+@@ -321,7 +326,7 @@
+ return -1;
+ }
+
+-#ifdef __NetBSD__
++#if defined(__NetBSD__) || defined(__FreeBSD__)
+ return sub_channel.data->what.track_info.track_number;
+ #else
+ return sub_channel.data->track_number;
diff --git a/multimedia/gstreamer-plugins80/files/patch-sys_oss_gstosselement.h b/multimedia/gstreamer-plugins80/files/patch-sys_oss_gstosselement.h
new file mode 100644
index 000000000..30258ba11
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/files/patch-sys_oss_gstosselement.h
@@ -0,0 +1,10 @@
+--- sys/oss/gstosselement.h.orig Tue Mar 9 16:46:05 2004
++++ sys/oss/gstosselement.h Tue Mar 9 16:46:14 2004
+@@ -23,6 +23,7 @@
+ #ifndef __GST_OSS_ELEMENT_H__
+ #define __GST_OSS_ELEMENT_H__
+
++#include <sys/types.h>
+ #include <gst/gst.h>
+
+ /* debugging category */
diff --git a/multimedia/gstreamer-plugins80/pkg-descr b/multimedia/gstreamer-plugins80/pkg-descr
new file mode 100644
index 000000000..80300084c
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/pkg-descr
@@ -0,0 +1,17 @@
+[ excerpt from developer's site ]
+
+This is a collection of plugins written with the GStreamer framework.
+Some features of these plugins are:
+
+- Dynamically loaded plugins provide elements and media types,
+ demand-loaded via an XML registry, similar to ld.so.cache
+- Element interface handles all known types of sources, filters,
+ sinks
+- Capabilities system allows verification of element compatibility
+ using MIME types and media-specific properties
+- Autoplugging uses capabilities system to complete complex paths
+ automatically
+- Pipelines can be saved to XML and loaded back to working state
+- Resource friendly plugins don't waste RAM
+
+WWW: http://gstreamer.sourceforge.net/
diff --git a/multimedia/gstreamer-plugins80/pkg-plist b/multimedia/gstreamer-plugins80/pkg-plist
new file mode 100644
index 000000000..ce0f0adbf
--- /dev/null
+++ b/multimedia/gstreamer-plugins80/pkg-plist
@@ -0,0 +1,188 @@
+bin/gst-launch-ext-%%VERSION%%
+bin/gst-visualise-%%VERSION%%
+include/gstreamer-%%VERSION%%/gst/audio/audio.h
+include/gstreamer-%%VERSION%%/gst/audio/audioclock.h
+include/gstreamer-%%VERSION%%/gst/audio/multichannel-enumtypes.h
+include/gstreamer-%%VERSION%%/gst/audio/multichannel.h
+include/gstreamer-%%VERSION%%/gst/audio/gstaudiofilter.h
+include/gstreamer-%%VERSION%%/gst/colorbalance/colorbalance-enumtypes.h
+include/gstreamer-%%VERSION%%/gst/colorbalance/colorbalance.h
+include/gstreamer-%%VERSION%%/gst/colorbalance/colorbalancechannel.h
+include/gstreamer-%%VERSION%%/gst/floatcast/floatcast.h
+include/gstreamer-%%VERSION%%/gst/idct/idct.h
+include/gstreamer-%%VERSION%%/gst/media-info/media-info.h
+include/gstreamer-%%VERSION%%/gst/mixer/mixer-enumtypes.h
+include/gstreamer-%%VERSION%%/gst/mixer/mixer.h
+include/gstreamer-%%VERSION%%/gst/mixer/mixeroptions.h
+include/gstreamer-%%VERSION%%/gst/mixer/mixertrack.h
+include/gstreamer-%%VERSION%%/gst/navigation/navigation.h
+include/gstreamer-%%VERSION%%/gst/play/play-enumtypes.h
+include/gstreamer-%%VERSION%%/gst/play/play.h
+include/gstreamer-%%VERSION%%/gst/propertyprobe/propertyprobe.h
+include/gstreamer-%%VERSION%%/gst/resample/resample.h
+include/gstreamer-%%VERSION%%/gst/riff/riff-ids.h
+include/gstreamer-%%VERSION%%/gst/riff/riff-media.h
+include/gstreamer-%%VERSION%%/gst/riff/riff-read.h
+include/gstreamer-%%VERSION%%/gst/tag/tag.h
+include/gstreamer-%%VERSION%%/gst/tuner/tuner-enumtypes.h
+include/gstreamer-%%VERSION%%/gst/tuner/tuner.h
+include/gstreamer-%%VERSION%%/gst/tuner/tunerchannel.h
+include/gstreamer-%%VERSION%%/gst/tuner/tunernorm.h
+include/gstreamer-%%VERSION%%/gst/video/video.h
+include/gstreamer-%%VERSION%%/gst/video/videosink.h
+include/gstreamer-%%VERSION%%/gst/xoverlay/xoverlay.h
+include/gstreamer-%%VERSION%%/gst/xwindowlistener/xwindowlistener.h
+lib/gstreamer-%%VERSION%%/libgstac3parse.so
+lib/gstreamer-%%VERSION%%/libgstadder.so
+lib/gstreamer-%%VERSION%%/libgstalaw.so
+lib/gstreamer-%%VERSION%%/libgstalpha.so
+lib/gstreamer-%%VERSION%%/libgstalphacolor.so
+lib/gstreamer-%%VERSION%%/libgstapetag.so
+lib/gstreamer-%%VERSION%%/libgstasf.so
+lib/gstreamer-%%VERSION%%/libgstaudio.so
+lib/gstreamer-%%VERSION%%/libgstaudioconvert.so
+lib/gstreamer-%%VERSION%%/libgstaudiofilter.so
+lib/gstreamer-%%VERSION%%/libgstaudiorate.so
+lib/gstreamer-%%VERSION%%/libgstaudioscale.so
+lib/gstreamer-%%VERSION%%/libgstauparse.so
+lib/gstreamer-%%VERSION%%/libgstautodetect.so
+lib/gstreamer-%%VERSION%%/libgstavi.so
+lib/gstreamer-%%VERSION%%/libgstcdplayer.so
+lib/gstreamer-%%VERSION%%/libgstcdxaparse.so
+lib/gstreamer-%%VERSION%%/libgstchart.so
+lib/gstreamer-%%VERSION%%/libgstcolorspace.so
+lib/gstreamer-%%VERSION%%/libgstcutter.so
+lib/gstreamer-%%VERSION%%/libgstdebug.so
+lib/gstreamer-%%VERSION%%/libgstdecodebin.so
+lib/gstreamer-%%VERSION%%/libgstdeinterlace.so
+lib/gstreamer-%%VERSION%%/libgstdvdlpcmdec.so
+lib/gstreamer-%%VERSION%%/libgstdvdsubdec.so
+lib/gstreamer-%%VERSION%%/libgstefence.so
+lib/gstreamer-%%VERSION%%/libgsteffectv.so
+lib/gstreamer-%%VERSION%%/libgstequalizer.so
+lib/gstreamer-%%VERSION%%/libgstfestival.so
+lib/gstreamer-%%VERSION%%/libgstffmpegcolorspace.so
+lib/gstreamer-%%VERSION%%/libgstfilter.so
+lib/gstreamer-%%VERSION%%/libgstflxdec.so
+lib/gstreamer-%%VERSION%%/libgstfreeze.so
+lib/gstreamer-%%VERSION%%/libgstgamma.so
+lib/gstreamer-%%VERSION%%/libgstgoom.so
+lib/gstreamer-%%VERSION%%/libgstidct.so
+lib/gstreamer-%%VERSION%%/libgstinterleave.so
+lib/gstreamer-%%VERSION%%/libgstimagemixer.so
+lib/gstreamer-%%VERSION%%/libgstlevel.so
+lib/gstreamer-%%VERSION%%/libgstmatroska.so
+lib/gstreamer-%%VERSION%%/libgstmedian.so
+lib/gstreamer-%%VERSION%%/libgstmixmatrix.so
+lib/gstreamer-%%VERSION%%/libgstmodplug.so
+lib/gstreamer-%%VERSION%%/libgstmonoscope.so
+lib/gstreamer-%%VERSION%%/libgstmp1videoparse.so
+lib/gstreamer-%%VERSION%%/libgstmpeg1systemencode.so
+lib/gstreamer-%%VERSION%%/libgstmpeg2subt.so
+lib/gstreamer-%%VERSION%%/libgstmpegaudio.so
+lib/gstreamer-%%VERSION%%/libgstmpegaudioparse.so
+lib/gstreamer-%%VERSION%%/libgstmpegstream.so
+lib/gstreamer-%%VERSION%%/libgstmulaw.so
+lib/gstreamer-%%VERSION%%/libgstmultifilesink.so
+lib/gstreamer-%%VERSION%%/libgstmultipart.so
+lib/gstreamer-%%VERSION%%/libgstnavigationtest.so
+lib/gstreamer-%%VERSION%%/libgstossaudio.so
+lib/gstreamer-%%VERSION%%/libgstoverlay.so
+lib/gstreamer-%%VERSION%%/libgstpassthrough.so
+lib/gstreamer-%%VERSION%%/libgstplaybin.so
+lib/gstreamer-%%VERSION%%/libgstplayondemand.so
+lib/gstreamer-%%VERSION%%/libgstpuzzle.so
+lib/gstreamer-%%VERSION%%/libgstqtdemux.so
+lib/gstreamer-%%VERSION%%/libgstresample.so
+lib/gstreamer-%%VERSION%%/libgstrfbsrc.so
+lib/gstreamer-%%VERSION%%/libgstriff.so
+lib/gstreamer-%%VERSION%%/libgstrmdemux.so
+lib/gstreamer-%%VERSION%%/libgstrtjpeg.so
+lib/gstreamer-%%VERSION%%/libgstrtp.so
+lib/gstreamer-%%VERSION%%/libgstsilence.so
+lib/gstreamer-%%VERSION%%/libgstsinesrc.so
+lib/gstreamer-%%VERSION%%/libgstsmooth.so
+lib/gstreamer-%%VERSION%%/libgstsmpte.so
+%%SPC%%lib/gstreamer-%%VERSION%%/libgstspc.so
+lib/gstreamer-%%VERSION%%/libgstspectrum.so
+lib/gstreamer-%%VERSION%%/libgstspeed.so
+lib/gstreamer-%%VERSION%%/libgststereo.so
+lib/gstreamer-%%VERSION%%/libgstsubparse.so
+lib/gstreamer-%%VERSION%%/libgstswitch.so
+lib/gstreamer-%%VERSION%%/libgstsynaesthesia.so
+lib/gstreamer-%%VERSION%%/libgsttagedit.so
+lib/gstreamer-%%VERSION%%/libgsttcp.so
+lib/gstreamer-%%VERSION%%/libgsttta.so
+lib/gstreamer-%%VERSION%%/libgsttypefindfunctions.so
+lib/gstreamer-%%VERSION%%/libgstudp.so
+lib/gstreamer-%%VERSION%%/libgstvbidec.so
+lib/gstreamer-%%VERSION%%/libgstvcdsrc.so
+lib/gstreamer-%%VERSION%%/libgstvideo.so
+lib/gstreamer-%%VERSION%%/libgstvideobalance.so
+lib/gstreamer-%%VERSION%%/libgstvideobox.so
+lib/gstreamer-%%VERSION%%/libgstvideocrop.so
+lib/gstreamer-%%VERSION%%/libgstvideodrop.so
+lib/gstreamer-%%VERSION%%/libgstvideofilter.so
+lib/gstreamer-%%VERSION%%/libgstvideoflip.so
+lib/gstreamer-%%VERSION%%/libgstvideomixer.so
+lib/gstreamer-%%VERSION%%/libgstvideorate.so
+lib/gstreamer-%%VERSION%%/libgstvideoscale.so
+lib/gstreamer-%%VERSION%%/libgstvideotestsrc.so
+lib/gstreamer-%%VERSION%%/libgstvolenv.so
+lib/gstreamer-%%VERSION%%/libgstvolume.so
+lib/gstreamer-%%VERSION%%/libgstwavenc.so
+lib/gstreamer-%%VERSION%%/libgstwavparse.so
+lib/gstreamer-%%VERSION%%/libgstximagesink.so
+lib/gstreamer-%%VERSION%%/libgstxvimagesink.so
+lib/gstreamer-%%VERSION%%/libgstxwindowlistener.so
+lib/gstreamer-%%VERSION%%/libgsty4menc.so
+lib/libgstinterfaces-%%VERSION%%.a
+lib/libgstinterfaces-%%VERSION%%.so
+lib/libgstinterfaces-%%VERSION%%.so.%%SHLIB_VERSION%%
+lib/libgstmedia-info-%%VERSION%%.a
+lib/libgstmedia-info-%%VERSION%%.so
+lib/libgstmedia-info-%%VERSION%%.so.%%SHLIB_VERSION%%
+lib/libgstplay-%%VERSION%%.a
+lib/libgstplay-%%VERSION%%.so
+lib/libgstplay-%%VERSION%%.so.%%SHLIB_VERSION%%
+libdata/pkgconfig/gstreamer-interfaces-%%VERSION%%.pc
+libdata/pkgconfig/gstreamer-libs-%%VERSION%%.pc
+libdata/pkgconfig/gstreamer-media-info-%%VERSION%%.pc
+libdata/pkgconfig/gstreamer-play-%%VERSION%%.pc
+libdata/pkgconfig/gstreamer-plugins-%%VERSION%%.pc
+share/locale/af/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/az/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/cs/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/en_GB/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/hu/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/it/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/nb/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/nl/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/or/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/sq/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/sr/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/sv/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/uk/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/vi/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+share/locale/zh_TW/LC_MESSAGES/gst-plugins-%%VERSION%%.mo
+@dirrm lib/gstreamer-%%VERSION%%
+@dirrm include/gstreamer-%%VERSION%%/gst/xwindowlistener
+@dirrm include/gstreamer-%%VERSION%%/gst/xoverlay
+@dirrm include/gstreamer-%%VERSION%%/gst/video
+@dirrm include/gstreamer-%%VERSION%%/gst/tuner
+@dirrm include/gstreamer-%%VERSION%%/gst/tag
+@dirrm include/gstreamer-%%VERSION%%/gst/riff
+@dirrm include/gstreamer-%%VERSION%%/gst/resample
+@dirrm include/gstreamer-%%VERSION%%/gst/propertyprobe
+@dirrm include/gstreamer-%%VERSION%%/gst/play
+@dirrm include/gstreamer-%%VERSION%%/gst/navigation
+@dirrm include/gstreamer-%%VERSION%%/gst/mixer
+@dirrm include/gstreamer-%%VERSION%%/gst/media-info
+@dirrm include/gstreamer-%%VERSION%%/gst/idct
+@dirrm include/gstreamer-%%VERSION%%/gst/floatcast
+@dirrm include/gstreamer-%%VERSION%%/gst/colorbalance
+@dirrm include/gstreamer-%%VERSION%%/gst/audio
+@unexec rmdir %D/include/gstreamer-%%VERSION%%/gst 2>/dev/null || true
+@unexec rmdir %D/include/gstreamer-%%VERSION%% 2>/dev/null || true
+@exec %D/bin/gst-register-${VERSION} --gst-registry=%D/share/gnome/cache/gstreamer-%%VERSION%%/registry.xml 2>/dev/null || true
+@unexec %D/bin/gst-register-${VERSION} --gst-registry=%D/share/gnome/cache/gstreamer-%%VERSION%%/registry.xml 2>/dev/null || true
diff --git a/multimedia/gstreamer80/Makefile b/multimedia/gstreamer80/Makefile
new file mode 100644
index 000000000..5aeb7e905
--- /dev/null
+++ b/multimedia/gstreamer80/Makefile
@@ -0,0 +1,68 @@
+# New ports collection makefile for: gstreamer
+# Date created: Tue Jul 9 20:24:02 UTC 2002
+# Whom: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+PORTNAME= gstreamer
+PORTVERSION= 0.8.11
+PORTREVISION= 2
+CATEGORIES= multimedia
+MASTER_SITES= ${MASTER_SITE_GNOME} \
+ http://gstreamer.freedesktop.org/src/gstreamer/
+MASTER_SITE_SUBDIR= sources/${PORTNAME}/${GST_VERSION}
+PKGNAMESUFFIX= 80
+DIST_SUBDIR= gnome2
+
+MAINTAINER= kwm@FreeBSD.org
+COMMENT= Development framework for creating media applications
+
+LIB_DEPENDS= popt.0:${PORTSDIR}/devel/popt
+
+USE_X_PREFIX= yes
+USE_BISON= yes
+USE_BZIP2= yes
+USE_GMAKE= yes
+WANT_GNOME= yes
+USE_GNOME= gnomehack \
+ gnomeprefix \
+ glib20 \
+ libxml2
+USE_AUTOTOOLS= libtool:15
+CONFIGURE_ARGS= --disable-tests \
+ --disable-examples \
+ --disable-docs-build \
+ --disable-failing-tests
+CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
+ LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
+PLIST_SUB= \
+ VERSION="${GST_VERSION}" \
+ SHLIB_VERSION="${SHLIB_VERSION}" \
+ PORTVERSION="${PORTVERSION}"
+INSTALLS_SHLIB= yes
+
+MAN1= gst-complete-${GST_VERSION}.1 gst-compprep-${GST_VERSION}.1 \
+ gst-feedback-${GST_VERSION}.1 gst-inspect-${GST_VERSION}.1 \
+ gst-launch-${GST_VERSION}.1 gst-md5sum-${GST_VERSION}.1 \
+ gst-register-${GST_VERSION}.1 gst-typefind-${GST_VERSION}.1 \
+ gst-xmllaunch-${GST_VERSION}.1 gst-xmlinspect-${GST_VERSION}.1
+
+GST_VERSION=${PORTVERSION:C/...$//}
+
+# library minor number
+SHLIB_VERSION= 5
+
+.include <bsd.port.pre.mk>
+
+.if ( ( ${OSVERSION} < 504101 ) || ( ${OSVERSION} >= 600000 && ${OSVERSION} < 600012 ) )
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-gst::cothreads.c
+.endif
+
+post-install:
+# register plugins
+ -@${PREFIX}/bin/gst-register-${GST_VERSION} \
+ --gst-registry=${PREFIX}/share/gnome/cache/gstreamer-${GST_VERSION}/registry.xml 2>/dev/null
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/gstreamer80/distinfo b/multimedia/gstreamer80/distinfo
new file mode 100644
index 000000000..82bdc028a
--- /dev/null
+++ b/multimedia/gstreamer80/distinfo
@@ -0,0 +1,2 @@
+MD5 (gnome2/gstreamer-0.8.11.tar.bz2) = 3a251cf05b794ebac04e18f71e5b26eb
+SIZE (gnome2/gstreamer-0.8.11.tar.bz2) = 1459651
diff --git a/multimedia/gstreamer80/files/extra-patch-gst::cothreads.c b/multimedia/gstreamer80/files/extra-patch-gst::cothreads.c
new file mode 100644
index 000000000..a862c2c3a
--- /dev/null
+++ b/multimedia/gstreamer80/files/extra-patch-gst::cothreads.c
@@ -0,0 +1,11 @@
+--- gst/cothreads.c.orig Tue May 3 16:17:09 2005
++++ gst/cothreads.c Tue May 3 16:17:23 2005
+@@ -56,7 +56,7 @@
+ #endif
+ #endif
+
+-#define STACK_SIZE 0x200000
++#define STACK_SIZE 0x100000
+
+ #define COTHREAD_MAGIC_NUMBER 0xabcdef
+
diff --git a/multimedia/gstreamer80/files/patch-configure b/multimedia/gstreamer80/files/patch-configure
new file mode 100644
index 000000000..672c3d317
--- /dev/null
+++ b/multimedia/gstreamer80/files/patch-configure
@@ -0,0 +1,29 @@
+--- configure.orig Fri Jun 4 18:19:18 2004
++++ configure Fri Jun 4 18:20:27 2004
+@@ -21877,7 +21877,7 @@
+
+
+ EXP_VAR=LOCALEDIR
+- FROM_VAR=$datadir/locale
++ FROM_VAR=$prefix/share/locale
+
+ prefix_save=$prefix
+ exec_prefix_save=$exec_prefix
+@@ -21981,7 +21981,7 @@
+ echo $ECHO_N "checking to see if compiler understands -Werror... $ECHO_C" >&6
+
+ save_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -Werror"
++ CFLAGS="$CFLAGS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+@@ -22031,7 +22031,7 @@
+ CFLAGS="$save_CFLAGS"
+
+ if test "X$flag_ok" = Xyes ; then
+- GST_ERROR_CFLAGS="$GST_ERROR_CFLAGS -Werror"
++ GST_ERROR_CFLAGS="$GST_ERROR_CFLAGS"
+ true
+ else
+
diff --git a/multimedia/gstreamer80/files/patch-gst::cothreads.c b/multimedia/gstreamer80/files/patch-gst::cothreads.c
new file mode 100644
index 000000000..a756de582
--- /dev/null
+++ b/multimedia/gstreamer80/files/patch-gst::cothreads.c
@@ -0,0 +1,13 @@
+--- gst/cothreads.c.orig Mon Feb 2 06:56:53 2004
++++ gst/cothreads.c Fri Feb 6 13:05:26 2004
+@@ -42,6 +42,10 @@
+ #include <ucontext.h>
+ #endif
+
++#ifdef HAVE_MAKECONTEXT
++#include <ucontext.h>
++#endif
++
+ #ifndef MAP_ANONYMOUS
+ #ifdef MAP_ANON
+ /* older glibc's have MAP_ANON instead of MAP_ANONYMOUS */
diff --git a/multimedia/gstreamer80/files/patch-gst_gstmemchunk.c b/multimedia/gstreamer80/files/patch-gst_gstmemchunk.c
new file mode 100644
index 000000000..5a3a624cb
--- /dev/null
+++ b/multimedia/gstreamer80/files/patch-gst_gstmemchunk.c
@@ -0,0 +1,10 @@
+--- gst/gstmemchunk.c.orig Wed Aug 4 15:31:41 2004
++++ gst/gstmemchunk.c Wed Aug 4 15:31:52 2004
+@@ -24,6 +24,7 @@
+ #include "gstmemchunk.h"
+ #include "gsttrashstack.h"
+ #ifdef HAVE_VALGRIND
++#include <sys/types.h>
+ #include <sys/mman.h>
+ #include <valgrind/valgrind.h>
+ #endif
diff --git a/multimedia/gstreamer80/files/patch-tools_Makefile.in b/multimedia/gstreamer80/files/patch-tools_Makefile.in
new file mode 100644
index 000000000..c20261a9c
--- /dev/null
+++ b/multimedia/gstreamer80/files/patch-tools_Makefile.in
@@ -0,0 +1,20 @@
+--- tools/Makefile.in.orig Thu Jan 19 14:34:47 2006
++++ tools/Makefile.in Thu Jan 19 14:36:45 2006
+@@ -73,17 +73,10 @@
+ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+ CONFIG_HEADER = $(top_builddir)/config.h
+ CONFIG_CLEAN_FILES =
+-@GST_DISABLE_REGISTRY_FALSE@am__EXEEXT_1 = gst-register$(EXEEXT)
+ @GST_DISABLE_REGISTRY_FALSE@am__EXEEXT_2 = gst-register-@GST_MAJORMINOR@$(EXEEXT)
+-@GST_DISABLE_LOADSAVE_FALSE@am__EXEEXT_3 = gst-complete$(EXEEXT) \
+-@GST_DISABLE_LOADSAVE_FALSE@ gst-compprep$(EXEEXT) \
+-@GST_DISABLE_LOADSAVE_FALSE@ gst-xmllaunch$(EXEEXT)
+ @GST_DISABLE_LOADSAVE_FALSE@am__EXEEXT_4 = gst-complete-@GST_MAJORMINOR@$(EXEEXT) \
+ @GST_DISABLE_LOADSAVE_FALSE@ gst-compprep-@GST_MAJORMINOR@$(EXEEXT) \
+ @GST_DISABLE_LOADSAVE_FALSE@ gst-xmllaunch-@GST_MAJORMINOR@$(EXEEXT)
+-am__EXEEXT_5 = gst-feedback$(EXEEXT) gst-inspect$(EXEEXT) \
+- gst-launch$(EXEEXT) gst-md5sum$(EXEEXT) gst-typefind$(EXEEXT) \
+- gst-xmlinspect$(EXEEXT)
+ am__EXEEXT_6 = gst-inspect-@GST_MAJORMINOR@$(EXEEXT) \
+ gst-launch-@GST_MAJORMINOR@$(EXEEXT) \
+ gst-md5sum-@GST_MAJORMINOR@$(EXEEXT) \
diff --git a/multimedia/gstreamer80/pkg-descr b/multimedia/gstreamer80/pkg-descr
new file mode 100644
index 000000000..3e7e98b0e
--- /dev/null
+++ b/multimedia/gstreamer80/pkg-descr
@@ -0,0 +1,24 @@
+[ excerpt from developer's site ]
+- What is GStreamer?
+GStreamer allows the construction of graphs of media-handling
+components, ranging from simple mp3 playback to complex audio
+(mixing) and video (non-linear editing) processing. Applications
+can take advantage of advances in codec and filter technology
+transparently. Developers can add new codecs and filters by writing
+a simple plugin with a clean, generic interface. GStreamer is
+released under the LGPL, with many of the included plugins retaining
+the license of the code they were derived from, usually GPL or BSD.
+
+- Features:
+* Comprehensive Core Library
+* Intelligent Plugin Architecture
+* Extensive Development Tools
+
+- Is GStreamer a media player?
+No, GStreamer is a development framework for creating applications
+like media players, video editors, streaming media broadcasters and
+so on. That said, very good media players can easily be built on
+top of GStreamer and we even include a simple yet functional
+mediaplayer with GStreamer called Gst-Player
+
+WWW: http://gstreamer.sourceforge.net/
diff --git a/multimedia/gstreamer80/pkg-plist b/multimedia/gstreamer80/pkg-plist
new file mode 100644
index 000000000..8038fbfea
--- /dev/null
+++ b/multimedia/gstreamer80/pkg-plist
@@ -0,0 +1,123 @@
+bin/gst-complete-%%VERSION%%
+bin/gst-compprep-%%VERSION%%
+bin/gst-feedback-%%VERSION%%
+bin/gst-inspect-%%VERSION%%
+bin/gst-launch-%%VERSION%%
+bin/gst-md5sum-%%VERSION%%
+bin/gst-register-%%VERSION%%
+bin/gst-typefind-%%VERSION%%
+bin/gst-xmlinspect-%%VERSION%%
+bin/gst-xmllaunch-%%VERSION%%
+include/gstreamer-%%VERSION%%/gst/bytestream/adapter.h
+include/gstreamer-%%VERSION%%/gst/bytestream/bytestream.h
+include/gstreamer-%%VERSION%%/gst/bytestream/filepad.h
+include/gstreamer-%%VERSION%%/gst/control/control.h
+include/gstreamer-%%VERSION%%/gst/control/dparam.h
+include/gstreamer-%%VERSION%%/gst/control/dparam_smooth.h
+include/gstreamer-%%VERSION%%/gst/control/dparamcommon.h
+include/gstreamer-%%VERSION%%/gst/control/dparammanager.h
+include/gstreamer-%%VERSION%%/gst/control/dplinearinterp.h
+include/gstreamer-%%VERSION%%/gst/control/unitconvert.h
+include/gstreamer-%%VERSION%%/gst/dataprotocol/dataprotocol.h
+include/gstreamer-%%VERSION%%/gst/getbits/getbits.h
+include/gstreamer-%%VERSION%%/gst/gst.h
+include/gstreamer-%%VERSION%%/gst/gstatomic.h
+include/gstreamer-%%VERSION%%/gst/gstbin.h
+include/gstreamer-%%VERSION%%/gst/gstbuffer.h
+include/gstreamer-%%VERSION%%/gst/gstcaps.h
+include/gstreamer-%%VERSION%%/gst/gstchildproxy.h
+include/gstreamer-%%VERSION%%/gst/gstclock.h
+include/gstreamer-%%VERSION%%/gst/gstcompat.h
+include/gstreamer-%%VERSION%%/gst/gstconfig.h
+include/gstreamer-%%VERSION%%/gst/gstcpu.h
+include/gstreamer-%%VERSION%%/gst/gstdata.h
+include/gstreamer-%%VERSION%%/gst/gstelement.h
+include/gstreamer-%%VERSION%%/gst/gstenumtypes.h
+include/gstreamer-%%VERSION%%/gst/gsterror.h
+include/gstreamer-%%VERSION%%/gst/gstevent.h
+include/gstreamer-%%VERSION%%/gst/gstfilter.h
+include/gstreamer-%%VERSION%%/gst/gstformat.h
+include/gstreamer-%%VERSION%%/gst/gstindex.h
+include/gstreamer-%%VERSION%%/gst/gstinfo.h
+include/gstreamer-%%VERSION%%/gst/gstinterface.h
+include/gstreamer-%%VERSION%%/gst/gstmacros.h
+include/gstreamer-%%VERSION%%/gst/gstmarshal.h
+include/gstreamer-%%VERSION%%/gst/gstmemchunk.h
+include/gstreamer-%%VERSION%%/gst/gstobject.h
+include/gstreamer-%%VERSION%%/gst/gstpad.h
+include/gstreamer-%%VERSION%%/gst/gstparse.h
+include/gstreamer-%%VERSION%%/gst/gstpipeline.h
+include/gstreamer-%%VERSION%%/gst/gstplugin.h
+include/gstreamer-%%VERSION%%/gst/gstpluginfeature.h
+include/gstreamer-%%VERSION%%/gst/gstprobe.h
+include/gstreamer-%%VERSION%%/gst/gstquery.h
+include/gstreamer-%%VERSION%%/gst/gstqueue.h
+include/gstreamer-%%VERSION%%/gst/gstregistry.h
+include/gstreamer-%%VERSION%%/gst/gstregistrypool.h
+include/gstreamer-%%VERSION%%/gst/gstscheduler.h
+include/gstreamer-%%VERSION%%/gst/gststructure.h
+include/gstreamer-%%VERSION%%/gst/gstsystemclock.h
+include/gstreamer-%%VERSION%%/gst/gsttag.h
+include/gstreamer-%%VERSION%%/gst/gsttaginterface.h
+include/gstreamer-%%VERSION%%/gst/gstthread.h
+include/gstreamer-%%VERSION%%/gst/gsttrace.h
+include/gstreamer-%%VERSION%%/gst/gsttrashstack.h
+include/gstreamer-%%VERSION%%/gst/gsttypefind.h
+include/gstreamer-%%VERSION%%/gst/gsttypes.h
+include/gstreamer-%%VERSION%%/gst/gsturi.h
+include/gstreamer-%%VERSION%%/gst/gsturitype.h
+include/gstreamer-%%VERSION%%/gst/gstutils.h
+include/gstreamer-%%VERSION%%/gst/gstvalue.h
+include/gstreamer-%%VERSION%%/gst/gstversion.h
+include/gstreamer-%%VERSION%%/gst/gstxml.h
+lib/gstreamer-%%VERSION%%/libgstbasicgthreadscheduler.so
+lib/gstreamer-%%VERSION%%/libgstbasicomegascheduler.so
+lib/gstreamer-%%VERSION%%/libgstbytestream.so
+lib/gstreamer-%%VERSION%%/libgstdataprotocol.so
+lib/gstreamer-%%VERSION%%/libgstelements.so
+lib/gstreamer-%%VERSION%%/libgstentrygthreadscheduler.so
+lib/gstreamer-%%VERSION%%/libgstentryomegascheduler.so
+lib/gstreamer-%%VERSION%%/libgstfairgthreadscheduler.so
+lib/gstreamer-%%VERSION%%/libgstgetbits.so
+lib/gstreamer-%%VERSION%%/libgstindexers.so
+lib/gstreamer-%%VERSION%%/libgstoptgthreadscheduler.so
+lib/gstreamer-%%VERSION%%/libgstoptomegascheduler.so
+lib/gstreamer-%%VERSION%%/libgstoptscheduler.so
+lib/gstreamer-%%VERSION%%/libgstspider.so
+lib/libgstcontrol-%%VERSION%%.a
+lib/libgstcontrol-%%VERSION%%.so
+lib/libgstcontrol-%%VERSION%%.so.%%SHLIB_VERSION%%
+lib/libgstreamer-%%VERSION%%.a
+lib/libgstreamer-%%VERSION%%.so
+lib/libgstreamer-%%VERSION%%.so.%%SHLIB_VERSION%%
+libdata/pkgconfig/gstreamer-%%VERSION%%.pc
+libdata/pkgconfig/gstreamer-control-%%VERSION%%.pc
+share/aclocal/gst-element-check-%%VERSION%%.m4
+share/locale/af/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/az/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/ca/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/cs/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/de/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/en_GB/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/fr/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/it/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/nb/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/nl/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/ru/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/sq/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/sr/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/sv/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/tr/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/uk/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+share/locale/vi/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+@unexec rm %D/share/gnome/cache/gstreamer-%%VERSION%%/registry.xml 2>/dev/null || true
+@dirrm share/gnome/cache/gstreamer-%%VERSION%%
+@unexec rmdir %D/share/gnome/cache 2>/dev/null || true
+@dirrm lib/gstreamer-%%VERSION%%
+@dirrm include/gstreamer-%%VERSION%%/gst/getbits
+@dirrm include/gstreamer-%%VERSION%%/gst/dataprotocol
+@dirrm include/gstreamer-%%VERSION%%/gst/control
+@dirrm include/gstreamer-%%VERSION%%/gst/bytestream
+@dirrm include/gstreamer-%%VERSION%%/gst
+@dirrm include/gstreamer-%%VERSION%%
+@exec %D/bin/gst-register-0.8 --gst-registry=%D/share/gnome/cache/gstreamer-%%VERSION%%/registry.xml 2>/dev/null || true
diff --git a/multimedia/istanbul/Makefile b/multimedia/istanbul/Makefile
new file mode 100644
index 000000000..4591c1522
--- /dev/null
+++ b/multimedia/istanbul/Makefile
@@ -0,0 +1,38 @@
+# New ports collection makefile for: istanbul
+# Date created: 2005-07-03
+# Whom: Dominique Goncalves <dominique.goncalves@gmail.com>
+#
+# $FreeBSD$
+
+PORTNAME= istanbul
+PORTVERSION= 0.1.1
+PORTREVISION= 1
+CATEGORIES= multimedia
+MASTER_SITES= http://live.hujjat.org/
+
+MAINTAINER= dominique.goncalves@gmail.com
+COMMENT= Istanbul is a desktop session recorder for the Free Desktop
+
+RUN_DEPENDS= icecast:${PORTSDIR}/audio/icecast2 \
+ ${PYTHON_SITELIBDIR}/gst/__init__.py:${PORTSDIR}/multimedia/py-gstreamer
+BUILD_DEPENDS= ${PYTHON_SITELIBDIR}/gst/__init__.py:${PORTSDIR}/multimedia/py-gstreamer
+
+USE_GNOME= pygtk2
+USE_GMAKE= yes
+USE_AUTOTOOLS= libtool:15
+USE_PYTHON= 2.4+
+USE_BZIP2= yes
+USE_X_PREFIX= yes
+USE_GSTREAMER80= shout2 theora ogg
+USE_REINPLACE= yes
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} != "i386"
+BROKEN= "Configure fails on !i386"
+.endif
+
+post-configure:
+ ${REINPLACE_CMD} -e "s|#!/usr/bin/python|#!/usr/bin/env python|" `${FIND} ${WRKDIR} -type f -name "istanbul"`
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/istanbul/distinfo b/multimedia/istanbul/distinfo
new file mode 100644
index 000000000..09aa0f901
--- /dev/null
+++ b/multimedia/istanbul/distinfo
@@ -0,0 +1,3 @@
+MD5 (istanbul-0.1.1.tar.bz2) = 360f0225c916e81eed459e9915caf317
+SHA256 (istanbul-0.1.1.tar.bz2) = 6384d0fcd4591d168b409430f893705771aa19c974f4c83c5f4b613fc1e81068
+SIZE (istanbul-0.1.1.tar.bz2) = 238673
diff --git a/multimedia/istanbul/files/patch-main.py b/multimedia/istanbul/files/patch-main.py
new file mode 100644
index 000000000..2c6f83ce7
--- /dev/null
+++ b/multimedia/istanbul/files/patch-main.py
@@ -0,0 +1,27 @@
+--- istanbul/main/main.py
++++ istanbul/main/main.py 2005-07-02 19:39:02.000000000 +0200
+@@ -114,7 +114,7 @@
+ mainpipeline = 'ximagesrc ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,width=%d,height=%d,framerate=%f' % (width, height, framerate)
+
+ save_pipeline = ''
+- encode_pipeline = ''
++ encode_pipeline = 'theoraenc ! oggmux'
+ icecast_pipeline = ''
+
+ if self.settingsdialog.xml.get_widget('save').get_active():
+@@ -122,7 +122,6 @@
+ encode_pipeline = 'smokeenc ! multipartmux'
+ filename = '%s.tmp' % self.settingsdialog.xml.get_widget('filenameEntry').get_text()
+ else:
+- encode_pipeline = 'theoraenc ! oggmux'
+ filename = self.settingsdialog.xml.get_widget('filenameEntry').get_text()
+
+ save_pipeline = 'filesink location=%s' % filename
+@@ -130,6 +129,7 @@
+ ip = self.settingsdialog.xml.get_widget('shout_ip').get_text()
+ port = self.settingsdialog.xml.get_widget('shout_port').get_value_as_int()
+ mountpoint = self.settingsdialog.xml.get_widget('shout_mount').get_text()
++ password = self.settingsdialog.xml.get_widget('shout_password').get_text()
+ icecast_pipeline = 'shout2send ip=%s port=%s mount=%s password=%s' % (ip, port, mountpoint, password)
+ if save_pipeline != '' and icecast_pipeline != '':
+ final_pipeline = '%s ! %s ! tee name=t ! %s t. ! { queue ! %s }' % (mainpipeline, encode_pipeline, save_pipeline, icecast_pipeline)
diff --git a/multimedia/istanbul/files/patch-prefs.py b/multimedia/istanbul/files/patch-prefs.py
new file mode 100644
index 000000000..1eb595331
--- /dev/null
+++ b/multimedia/istanbul/files/patch-prefs.py
@@ -0,0 +1,11 @@
+--- istanbul/main/prefs.py
++++ istanbul/main/prefs.py 2005-07-02 19:37:21.000000000 +0200
+@@ -61,7 +61,7 @@
+ state = button.get_active()
+ self.xml.get_widget('filenameLabel').set_sensitive(state)
+ self.xml.get_widget('filenameEntry').set_sensitive(state)
+- self.xml.get_widget('encode_later').set_senisitive(state)
++ self.xml.get_widget('encode_later').set_sensitive(state)
+
+ def icecast_toggled_cb(self, button):
+ state = button.get_active()
diff --git a/multimedia/istanbul/pkg-descr b/multimedia/istanbul/pkg-descr
new file mode 100644
index 000000000..306c7979e
--- /dev/null
+++ b/multimedia/istanbul/pkg-descr
@@ -0,0 +1,6 @@
+Istanbul is a desktop session recorder for the Free Desktop. It records your
+session into an Ogg Theora video file. To start the recording, you click on its
+icon in the notification area. To stop you click its icon again. It works on
+Gnome, KDE, XFCE and others.
+
+WWW: http://live.gnome.org/Istanbul
diff --git a/multimedia/istanbul/pkg-plist b/multimedia/istanbul/pkg-plist
new file mode 100644
index 000000000..160dc8e26
--- /dev/null
+++ b/multimedia/istanbul/pkg-plist
@@ -0,0 +1,23 @@
+bin/istanbul
+%%PYTHON_SITELIBDIR%%/istanbul/__init__.py
+%%PYTHON_SITELIBDIR%%/istanbul/configure/__init__.py
+%%PYTHON_SITELIBDIR%%/istanbul/configure/config.py
+%%PYTHON_SITELIBDIR%%/istanbul/extern/__init__.py
+%%PYTHON_SITELIBDIR%%/istanbul/extern/pytrayicon/__init__.py
+%%PYTHON_SITELIBDIR%%/istanbul/extern/pytrayicon/pytrayicon.so
+%%PYTHON_SITELIBDIR%%/istanbul/main/__init__.py
+%%PYTHON_SITELIBDIR%%/istanbul/main/main.py
+%%PYTHON_SITELIBDIR%%/istanbul/main/prefs.py
+share/applications/istanbul.desktop
+%%DATADIR%%/glade/prefs.glade
+share/pixmaps/istanbul.png
+@dirrm share/istanbul/glade
+@dirrm share/istanbul
+@dirrm %%PYTHON_SITELIBDIR%%/istanbul/main
+@dirrm %%PYTHON_SITELIBDIR%%/istanbul/extern/pytrayicon
+@dirrm %%PYTHON_SITELIBDIR%%/istanbul/extern
+@dirrm %%PYTHON_SITELIBDIR%%/istanbul/configure
+@dirrm %%PYTHON_SITELIBDIR%%/istanbul
+@unexec rmdir %D/%%PYTHON_SITELIBDIR%% 2>/dev/null || true
+@unexec rmdir %D/%%PYTHON_LIBDIR%% 2>/dev/null || true
+@unexec rmdir %D/share/applications 2>/dev/null || true
diff --git a/multimedia/kaffeine/Makefile b/multimedia/kaffeine/Makefile
new file mode 100644
index 000000000..eaa8f825d
--- /dev/null
+++ b/multimedia/kaffeine/Makefile
@@ -0,0 +1,37 @@
+# New ports collection makefile for: kaffeine
+# Date created: 2003-06-25
+# Whom: arved
+#
+# $FreeBSD$
+
+PORTNAME= kaffeine
+PORTVERSION= 0.7.1
+PORTREVISION= 3
+CATEGORIES= multimedia kde
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= kaffeine
+
+MAINTAINER= arved@FreeBSD.org
+COMMENT= A xine-base multimedia player
+
+LIB_DEPENDS= xine.15:${PORTSDIR}/multimedia/libxine
+
+USE_BZIP2= yes
+USE_KDELIBS_VER= 3
+USE_GMAKE= yes
+USE_GSTREAMER80= yes
+USE_AUTOTOOLS= libtool:15:inc
+GNU_CONFIGURE= yes
+CONFIGURE_ENV= CXXFLAGS="${CFLAGS}"
+CONFIGURE_TARGET=
+
+MAN1= kaffeine.1
+MANLANG= "" de
+
+.include <bsd.port.pre.mk>
+
+.if ${X_WINDOW_SYSTEM:L} == xorg
+CONFIGURE_ARGS+= --with-xorg
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/kaffeine/distinfo b/multimedia/kaffeine/distinfo
new file mode 100644
index 000000000..7588ebcb9
--- /dev/null
+++ b/multimedia/kaffeine/distinfo
@@ -0,0 +1,3 @@
+MD5 (kaffeine-0.7.1.tar.bz2) = afde61516eb8f6cf2c3bf085a22ef427
+SHA256 (kaffeine-0.7.1.tar.bz2) = 7e2611ba4fb4cc5b6a1802250a5c404b22cca434ce1d3bbe83088f6189bfa145
+SIZE (kaffeine-0.7.1.tar.bz2) = 2276747
diff --git a/multimedia/kaffeine/files/patch-http.c b/multimedia/kaffeine/files/patch-http.c
new file mode 100644
index 000000000..221661f98
--- /dev/null
+++ b/multimedia/kaffeine/files/patch-http.c
@@ -0,0 +1,22 @@
+--- kaffeine/player-parts/http.c.orig Wed Aug 31 16:16:57 2005
++++ kaffeine/player-parts/http.c Wed Aug 31 16:23:33 2005
+@@ -492,10 +492,19 @@
+ }
+ } else {
+ if (this->contentlength == 0) {
++#ifdef HAVE_STDINT_H
+ intmax_t contentlength;
+
+ if ( strlen(this->buf)<(BUFSIZE-20) && sscanf(this->buf, "Content-Length: %" PRIdMAX, &contentlength) == 1) {
++
+ printf ("http: content length = %" PRIdMAX " bytes\n", contentlength);
++#else
++ int64_t contentlength;
++
++ if ( strlen(this->buf)<(BUFSIZE-20) && sscanf(this->buf, "Content-Length: %Ld", &contentlength) == 1) {
++ printf ("http: content length = %Ld bytes\n", contentlength);
++#endif
++
+ this->contentlength = (off_t)contentlength;
+ }
+ }
diff --git a/multimedia/kaffeine/pkg-descr b/multimedia/kaffeine/pkg-descr
new file mode 100644
index 000000000..28215e558
--- /dev/null
+++ b/multimedia/kaffeine/pkg-descr
@@ -0,0 +1,12 @@
+kaffeine is a xine-based multimedia player for KDE.
+
+* Full Drag and Drop support
+* Import Noatun-playlists as well as M3U, ASX and PLS-Files
+* Editable Playlist
+* Export Playlist to HTML or PDF (KDE-Print)
+* Edit Xine-Options via GUI
+* Support for saving screenshots as PNG, BMP or XBM
+* The ability to prevent the screensaver from activating OSD Titles
+
+Author: Juergen Kofler <kaffeine@gmx.net>
+WWW: http://kaffeine.sourceforge.net/
diff --git a/multimedia/kaffeine/pkg-plist b/multimedia/kaffeine/pkg-plist
new file mode 100644
index 000000000..a98c04b05
--- /dev/null
+++ b/multimedia/kaffeine/pkg-plist
@@ -0,0 +1,100 @@
+bin/kaffeine
+include/kaffeine_export.h
+include/kaffeine/kaffeine_part.h
+include/kaffeine/kaffeine_part_iface.h
+include/kaffeine/kmediapart.h
+include/kaffeine/mrl.h
+include/kaffeine/playlistimport.h
+lib/kde3/libgstreamerpart.so
+lib/kde3/libgstreamerpart.la
+lib/kde3/libkaffeinepart.la
+lib/kde3/libkaffeinepart.so
+lib/libkmediapart.la
+lib/libkmediapart.so
+lib/libkmediapart.so.0
+share/applications/kde/kaffeine.desktop
+share/apps/gstreamerpart/gstreamer_part.rc
+share/apps/kaffeine/kaffeine_part.rc
+share/apps/kaffeine/kaffeineui.rc
+share/apps/kaffeine/logo
+share/apps/kaffeine/logo.mpg
+share/apps/kaffeine/mms.protocol
+share/apps/kaffeine/rtsp.protocol
+share/apps/kaffeine/dvbdata.tar.gz
+share/apps/konqueror/servicemenus/kaffeine_open_directory.desktop
+share/apps/konqueror/servicemenus/kaffeine_append_file.desktop
+share/apps/konqueror/servicemenus/kaffeine_play_audiocd.desktop
+share/apps/konqueror/servicemenus/kaffeine_play_dvd.desktop
+share/apps/konqueror/servicemenus/kaffeine_play_vcd.desktop
+share/apps/profiles/kaffeine.profile.xml
+share/doc/HTML/en/kaffeine/startwindow.png
+share/doc/HTML/en/kaffeine/kaffeinepart.png
+share/doc/HTML/en/kaffeine/playlistwin.png
+share/doc/HTML/en/kaffeine/index.docbook
+share/doc/HTML/en/kaffeine/index.cache.bz2
+share/doc/HTML/en/kaffeine/common
+share/doc/HTML/en/kaffeine/dvbbroadcast.png
+share/doc/HTML/en/kaffeine/dvbclient.png
+share/doc/HTML/en/kaffeine/dvbwin.png
+share/doc/HTML/en/kaffeine/dvblive.jpg
+share/doc/HTML/en/kaffeine/dvbscan.png
+share/doc/HTML/en/kaffeine/dvbepg.png
+share/doc/HTML/en/kaffeine/dvbconfig.png
+share/doc/HTML/en/kaffeine/dvbtimers.png
+share/doc/HTML/en/kaffeine/gstpart.png
+share/icons/hicolor/128x128/apps/kaffeine.png
+share/icons/hicolor/16x16/apps/gstreamer.png
+share/icons/hicolor/16x16/apps/kaffeine.png
+share/icons/hicolor/16x16/apps/kdvbra.png
+share/icons/hicolor/16x16/apps/kdvbrac.png
+share/icons/hicolor/16x16/apps/kdvbtv.png
+share/icons/hicolor/16x16/apps/kdvbtvc.png
+share/icons/hicolor/16x16/mimetypes/mime_kaffeine.png
+share/icons/hicolor/16x16/actions/player_mute.png
+share/icons/hicolor/16x16/actions/player_record.png
+share/icons/hicolor/22x22/apps/kaffeine.png
+share/icons/hicolor/22x22/actions/player_mute.png
+share/icons/hicolor/22x22/actions/player_record.png
+share/icons/hicolor/32x32/actions/player_mute.png
+share/icons/hicolor/32x32/actions/player_record.png
+share/icons/hicolor/32x32/apps/kaffeine-pause.png
+share/icons/hicolor/32x32/apps/kaffeine-play.png
+share/icons/hicolor/32x32/apps/kaffeine-record.png
+share/icons/hicolor/32x32/apps/kaffeine.png
+share/icons/hicolor/32x32/mimetypes/mime_kaffeine.png
+share/icons/hicolor/48x48/apps/kaffeine.png
+share/icons/hicolor/48x48/mimetypes/mime_kaffeine.png
+share/icons/hicolor/64x64/apps/kaffeine.png
+share/locale/ca/LC_MESSAGES/kaffeine.mo
+share/locale/cs/LC_MESSAGES/kaffeine.mo
+share/locale/da/LC_MESSAGES/kaffeine.mo
+share/locale/de/LC_MESSAGES/kaffeine.mo
+share/locale/es/LC_MESSAGES/kaffeine.mo
+share/locale/fi/LC_MESSAGES/kaffeine.mo
+share/locale/fr/LC_MESSAGES/kaffeine.mo
+share/locale/gl/LC_MESSAGES/kaffeine.mo
+share/locale/he/LC_MESSAGES/kaffeine.mo
+share/locale/hu/LC_MESSAGES/kaffeine.mo
+share/locale/it/LC_MESSAGES/kaffeine.mo
+share/locale/ja/LC_MESSAGES/kaffeine.mo
+share/locale/mk/LC_MESSAGES/kaffeine.mo
+share/locale/nb/LC_MESSAGES/kaffeine.mo
+share/locale/nn/LC_MESSAGES/kaffeine.mo
+share/locale/nl/LC_MESSAGES/kaffeine.mo
+share/locale/pl/LC_MESSAGES/kaffeine.mo
+share/locale/pt_PT/LC_MESSAGES/kaffeine.mo
+share/locale/pt_BR/LC_MESSAGES/kaffeine.mo
+share/locale/ru/LC_MESSAGES/kaffeine.mo
+share/locale/sv/LC_MESSAGES/kaffeine.mo
+share/locale/tr/LC_MESSAGES/kaffeine.mo
+share/locale/zh_CN/LC_MESSAGES/kaffeine.mo
+share/mimelnk/application/x-kaffeine.desktop
+share/mimelnk/application/x-mplayer2.desktop
+share/services/gstreamer_part.desktop
+share/services/kaffeine_part.desktop
+@dirrm include/kaffeine
+@dirrm share/apps/kaffeine
+@dirrm share/doc/HTML/zh_CN/kaffeine/
+@dirrm share/doc/HTML/en/kaffeine
+@dirrm share/apps/konqueror/servicemenus
+@dirrm share/apps/konqueror
diff --git a/multimedia/pitivi/Makefile b/multimedia/pitivi/Makefile
new file mode 100644
index 000000000..d2dff38b5
--- /dev/null
+++ b/multimedia/pitivi/Makefile
@@ -0,0 +1,46 @@
+# New ports collection makefile for: PiTiVi
+# Date created: 20 Dec 2004
+# Whom: Koop Mast <kwm@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= pitivi
+PORTVERSION= 0.1.10
+PORTREVISION= 1
+CATEGORIES= multimedia
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+
+MAINTAINER= kwm@FreeBSD.org
+COMMENT= Gstreamer based non-linear audio/video editor
+
+BUILD_DEPENDS= gnonlin-config:${PORTSDIR}/multimedia/gnonlin \
+ ${PYTHON_SITELIBDIR}/gst/_gst.so:${PORTSDIR}/multimedia/py-gstreamer
+RUN_DEPENDS= gnonlin-config:${PORTSDIR}/multimedia/gnonlin \
+ ${PYTHON_SITELIBDIR}/gst/_gst.so:${PORTSDIR}/multimedia/py-gstreamer
+
+USE_BZIP2= yes
+USE_GMAKE= yes
+USE_REINPLACE= yes
+USE_GNOME= gnometarget pygtk2 pkgconfig pygnome2
+USE_GSTREAMER80= yes
+USE_AUTOTOOLS= libtool:15
+USE_PYTHON= yes
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-docs-build
+INSTALLS_SHLIB= yes
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} != "i386"
+BROKEN= "Configure fails on !i386"
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/bin/python|${LOCALBASE}/bin/python|g' \
+ ${WRKSRC}/bin/pitivi.in
+ @${REINPLACE_CMD} -e 's|0.1.9|0.1.10|g' \
+ ${WRKSRC}/pitivi/ui/mainwindow.py
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/pitivi/distinfo b/multimedia/pitivi/distinfo
new file mode 100644
index 000000000..f356610bf
--- /dev/null
+++ b/multimedia/pitivi/distinfo
@@ -0,0 +1,2 @@
+MD5 (pitivi-0.1.10.tar.bz2) = 9d9c0351e5d21a162c07baaaa56ec7b6
+SIZE (pitivi-0.1.10.tar.bz2) = 284126
diff --git a/multimedia/pitivi/pkg-descr b/multimedia/pitivi/pkg-descr
new file mode 100644
index 000000000..7b34b3dc0
--- /dev/null
+++ b/multimedia/pitivi/pkg-descr
@@ -0,0 +1,10 @@
+PiTiVi relies on the GStreamer multimedia framework and the accompanying
+plugins to handle the various medias and their transformation. PiTiVi being
+a novelty usage of GStreamer, there are some problems with plugins not
+handling completely/correctly the GStreamer API. These problems are in
+the process of being corrected.
+
+This means that it is not guaranteed that all codecs, containers or effects
+work properly with PiTiVi.
+
+WWW: http://www.pitivi.org
diff --git a/multimedia/pitivi/pkg-plist b/multimedia/pitivi/pkg-plist
new file mode 100644
index 000000000..3fa7118a6
--- /dev/null
+++ b/multimedia/pitivi/pkg-plist
@@ -0,0 +1,62 @@
+bin/pitivi
+lib/pitivi/__init__.py
+lib/pitivi/__init__.pyc
+lib/pitivi/__init__.pyo
+lib/pitivi/bin.py
+lib/pitivi/bin.pyc
+lib/pitivi/bin.pyo
+lib/pitivi/configure.py
+lib/pitivi/configure.pyc
+lib/pitivi/configure.pyo
+lib/pitivi/discoverer.py
+lib/pitivi/discoverer.pyc
+lib/pitivi/discoverer.pyo
+lib/pitivi/dnd.py
+lib/pitivi/dnd.pyc
+lib/pitivi/dnd.pyo
+lib/pitivi/effects.py
+lib/pitivi/effects.pyc
+lib/pitivi/effects.pyo
+lib/pitivi/objectfactory.py
+lib/pitivi/objectfactory.pyc
+lib/pitivi/objectfactory.pyo
+lib/pitivi/pitivi.py
+lib/pitivi/pitivi.pyc
+lib/pitivi/pitivi.pyo
+lib/pitivi/playground.py
+lib/pitivi/playground.pyc
+lib/pitivi/playground.pyo
+lib/pitivi/project.py
+lib/pitivi/project.pyc
+lib/pitivi/project.pyo
+lib/pitivi/settings.py
+lib/pitivi/settings.pyc
+lib/pitivi/settings.pyo
+lib/pitivi/sourcelist.py
+lib/pitivi/sourcelist.pyc
+lib/pitivi/sourcelist.pyo
+lib/pitivi/timeline.py
+lib/pitivi/timeline.pyc
+lib/pitivi/timeline.pyo
+lib/pitivi/ui/__init__.py
+lib/pitivi/ui/actions.xml
+lib/pitivi/ui/encodingdialog.glade
+lib/pitivi/ui/elementsettingsdialog.glade
+lib/pitivi/ui/exportsettingswidget.glade
+lib/pitivi/ui/exportsettingswidget.py
+lib/pitivi/ui/glade.py
+lib/pitivi/ui/gstwidget.py
+lib/pitivi/ui/mainwindow.py
+lib/pitivi/ui/projectsettings.glade
+lib/pitivi/ui/projectsettings.py
+lib/pitivi/ui/sourcefactories.py
+lib/pitivi/ui/timeline.py
+lib/pitivi/ui/timelineobjects.py
+lib/pitivi/ui/viewer.py
+share/pitivi/pixmaps/pitivi-file.png
+share/pitivi/pixmaps/pitivi-sound.png
+share/pitivi/pixmaps/pitivi-video.png
+@dirrm share/pitivi/pixmaps
+@dirrm share/pitivi
+@dirrm lib/pitivi/ui
+@dirrm lib/pitivi
diff --git a/multimedia/py-gstreamer/Makefile b/multimedia/py-gstreamer/Makefile
new file mode 100644
index 000000000..99d7c0cdd
--- /dev/null
+++ b/multimedia/py-gstreamer/Makefile
@@ -0,0 +1,39 @@
+# New ports collection makefile for: gstreamer-python
+# Date created: Fri Apr 9 16:24:13 CEST 2004
+# Whom: Koop Mast <kwm@rainbow-runner.nl>
+#
+# $FreeBSD$
+#
+
+PORTNAME= gstreamer
+PORTVERSION= 0.8.2
+PORTREVISION= 1
+CATEGORIES= multimedia python gnome
+MASTER_SITES= http://gstreamer.freedesktop.org/src/gst-python/ \
+ ${MASTER_SITE_LOCAL}
+MASTER_SITE_SUBDIR= kwm
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= gst-python-${PORTVERSION}
+
+MAINTAINER= kwm@FreeBSD.org
+COMMENT= A set of Python bindings for gstreamer
+
+BUILD_DEPENDS= ${PYTHON_SITELIBDIR}/libxml2mod.so:${PORTSDIR}/textproc/py-libxml2
+RUN_DEPENDS= ${PYTHON_SITELIBDIR}/libxml2mod.so:${PORTSDIR}/textproc/py-libxml2
+
+USE_PYTHON= yes
+USE_BZIP2= yes
+USE_GMAKE= yes
+USE_GNOME= pygtk2 \
+ gnomehack \
+ pkgconfig
+USE_GSTREAMER80= yes
+USE_AUTOTOOLS= libtool:15
+USE_REINPLACE= yes
+CONFIGURE_ENV= CPPFLAGS="-I${X11BASE}/include" \
+ LDFLAGS="-L${X11BASE}"
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|DLFCN|dl|g' ${WRKSRC}/gst/__init__.py
+
+.include <bsd.port.mk>
diff --git a/multimedia/py-gstreamer/distinfo b/multimedia/py-gstreamer/distinfo
new file mode 100644
index 000000000..5046947f9
--- /dev/null
+++ b/multimedia/py-gstreamer/distinfo
@@ -0,0 +1,2 @@
+MD5 (gst-python-0.8.2.tar.bz2) = bfad80dda50e30aea4f6f322ea58c6c8
+SIZE (gst-python-0.8.2.tar.bz2) = 310714
diff --git a/multimedia/py-gstreamer/pkg-descr b/multimedia/py-gstreamer/pkg-descr
new file mode 100644
index 000000000..ec5f4dcd7
--- /dev/null
+++ b/multimedia/py-gstreamer/pkg-descr
@@ -0,0 +1,10 @@
+gst-python provides a convenient wrapper for the GStreamer library for
+use in Python programs, and takes care of many of the boring details
+such as managing memory and type casting.
+
+Like the GTK library itself gst-python is licensed under the GNU LGPL, so is
+suitable for use in both free software and proprietary applications. It
+is already in use in many applications ranging from small single purpose
+scripts up to large full features applications.
+
+WWW: http://gstreamer.freedesktop.org/
diff --git a/multimedia/py-gstreamer/pkg-plist b/multimedia/py-gstreamer/pkg-plist
new file mode 100644
index 000000000..c7180239c
--- /dev/null
+++ b/multimedia/py-gstreamer/pkg-plist
@@ -0,0 +1,26 @@
+%%PYTHON_SITELIBDIR%%/gst/__init__.py
+%%PYTHON_SITELIBDIR%%/gst/__init__.pyc
+%%PYTHON_SITELIBDIR%%/gst/__init__.pyo
+%%PYTHON_SITELIBDIR%%/gst/_gst.so
+%%PYTHON_SITELIBDIR%%/gst/interfaces.so
+%%PYTHON_SITELIBDIR%%/gst/play.so
+libdata/pkgconfig/gst-python-0.8.pc
+share/gst-python/2.0/defs/gst-extrafuncs.defs
+share/gst-python/2.0/defs/gst-types.defs
+share/gst-python/examples/audioconcat.py
+share/gst-python/examples/bps.py
+share/gst-python/examples/cp.py
+share/gst-python/examples/f2f.py
+share/gst-python/examples/filesrc.py
+share/gst-python/examples/gst123
+share/gst-python/examples/gstfile.py
+share/gst-python/examples/play.py
+share/gst-python/examples/player.py
+share/gst-python/examples/videoplayer.py
+share/gst-python/examples/vorbisplay.py
+@dirrm share/gst-python/examples
+@dirrm share/gst-python/2.0/defs
+@dirrm share/gst-python/2.0
+@dirrm share/gst-python
+@dirrm %%DOCSDIR%%
+@dirrm %%PYTHON_SITELIBDIR%%/gst
diff --git a/multimedia/quodlibet/Makefile b/multimedia/quodlibet/Makefile
new file mode 100644
index 000000000..d8e7e9140
--- /dev/null
+++ b/multimedia/quodlibet/Makefile
@@ -0,0 +1,105 @@
+# New ports collection makefile for: quodlibet
+# Date created: 19 December 2005
+# Whom: Byung-Hee HWANG <bh@izb.knu.ac.kr>
+#
+# $FreeBSD$
+#
+
+PORTNAME= quodlibet
+PORTVERSION= 0.16
+PORTREVISION= 3
+CATEGORIES= multimedia audio python gnome
+MASTER_SITES= http://www.sacredchao.net/~piman/software/
+
+MAINTAINER= changbom.yoon@gmail.com
+COMMENT= A GTK+-based audio player written in Python
+
+BUILD_DEPENDS= ${PYTHON_SITELIBDIR}/gst/__init__.py:${PORTSDIR}/multimedia/py-gstreamer
+RUN_DEPENDS= ${PYTHON_SITELIBDIR}/gst/__init__.py:${PORTSDIR}/multimedia/py-gstreamer
+
+USE_PYTHON= 2.3+
+USE_GNOME= pygtk2
+USE_GMAKE= yes
+USE_X_PREFIX= yes
+USE_GSTREAMER80= gconf
+
+MAN1= exfalso.1 quodlibet.1
+
+# Supported formats: ogg vorbis mad flac remote
+QUODLIBET_FORMATS?= ogg vorbis mad flac remote
+.for format in ${QUODLIBET_FORMATS}
+WANT_QUODLIBET_${format:U}= yes
+.endfor
+
+.if defined(WANT_QUODLIBET_OGG)
+BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/ogg/_ogg.so:${PORTSDIR}/audio/py-ogg
+RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/ogg/_ogg.so:${PORTSDIR}/audio/py-ogg
+USE_GSTREAMER80+= ogg
+.endif
+
+.if defined(WANT_QUODLIBET_VORBIS)
+BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/ogg/vorbis.so:${PORTSDIR}/audio/py-vorbis
+RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/ogg/vorbis.so:${PORTSDIR}/audio/py-vorbis
+USE_GSTREAMER80+= vorbis
+.endif
+
+.if defined(WANT_QUODLIBET_MAD)
+BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/madmodule.so:${PORTSDIR}/audio/py-mad
+RUN_DEPNDS+= ${PYTHON_SITELIBDIR}/madmodule.so:${PORTSDIR}/audio/py-mad
+USE_GSTREAMER80+= mad
+.endif
+
+.if defined(WANT_QUODLIBET_FLAC)
+BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/flac/__init__.py:${PORTSDIR}/audio/py-flac
+RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/flac/__init__.py:${PORTSDIR}/audio/py-flac
+USE_GSTREAMER80+= flac
+.endif
+
+.if defined(WANT_QUODLIBET_REMOTE)
+BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/feedparser.py:${PORTSDIR}/textproc/py-feedparser
+RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/feedparser.py:${PORTSDIR}/textproc/py-feedparser
+USE_GSTREAMER80+= gnomevfs
+.endif
+
+.if defined(WITH_EXTENSIONS)
+BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/gtk-2.0/egg/__init__.py:${PORTSDIR}/x11-toolkits/py-gnome-extras
+RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/gtk-2.0/egg/__init__.py:${PORTSDIR}/x11-toolkits/py-gnome-extras
+PLIST_SUB+= EXTENSIONS:=""
+.else
+PLIST_SUB+= EXTENSIONS:="@comment "
+.endif
+
+.if defined(PACKAGE_BUILDING)
+BUILD_DEPENDS+= Xvfb:${X_VFBSERVER_PORT} \
+ ${X11BASE}/lib/X11/fonts/misc/8x13O.pcf.gz:${X_FONTS_MISC_PORT}
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500000
+IGNORE= is unsupported on FreeBSD 4.x
+.endif
+
+.if ${ARCH} == amd64 || ${ARCH} == sparc64
+BROKEN= "Does not configure"
+.endif
+
+do-configure:
+ @${PYTHON_CMD} ${WRKSRC}/check.py
+
+do-build:
+.if defined(WITH_EXTENSIONS)
+ @cd ${WRKSRC} && ${GMAKE} extensions
+.else
+ @${ECHO_MSG} "Build done."
+.endif
+
+pre-install:
+ @${MKDIR} ${PREFIX}/lib/${PORTNAME}
+ @${MKDIR} ${PREFIX}/share/applications
+
+post-install:
+ @${MKDIR} ${PREFIX}/share/${PORTNAME}/plugins
+ @${INSTALL_DATA} ${FILESDIR}/qlscrobbler.py ${PREFIX}/share/${PORTNAME}/plugins
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/quodlibet/distinfo b/multimedia/quodlibet/distinfo
new file mode 100644
index 000000000..1f0e2cec0
--- /dev/null
+++ b/multimedia/quodlibet/distinfo
@@ -0,0 +1,3 @@
+MD5 (quodlibet-0.16.tar.gz) = f47cdc1e8f7197a3cd281bd31b406d94
+SHA256 (quodlibet-0.16.tar.gz) = 8c23a08432f3be60d0d85ee650b7c12a30799a4bd307107b332db94b91db9a9d
+SIZE (quodlibet-0.16.tar.gz) = 552149
diff --git a/multimedia/quodlibet/files/patch-Makefile b/multimedia/quodlibet/files/patch-Makefile
new file mode 100644
index 000000000..ba5e29d9c
--- /dev/null
+++ b/multimedia/quodlibet/files/patch-Makefile
@@ -0,0 +1,33 @@
+--- Makefile.orig 2005-12-13 19:46:30.000000000 -0700
++++ Makefile 2006-01-04 03:20:58.787760884 -0700
+@@ -13,7 +13,6 @@
+ @./check.py
+
+ make-install-dirs:
+- mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
+ mkdir -p $(DESTDIR)$(PREFIX)/bin
+ mkdir -p $(DESTDIR)$(PREFIX)/$(TO)
+
+@@ -24,7 +23,7 @@
+ # installing the SVN version will have intltool and so it will build fine.
+ install: make-install-dirs install-dirs install-programs
+ install -m 644 $(MODULES) rhythmbox-*.png $(DESTDIR)$(PREFIX)/$(TO)
+- -for E in $(EXTENSIONS); do (test -e $$E && install -m 755 -D $$E $(DESTDIR)$(PREFIX)/$(TODEP)/$$E); done
++ -for E in $(EXTENSIONS); do (test -e $$E && install -m 755 $$E $(DESTDIR)$(PREFIX)/$(TODEP)/$$E); done
+ -cd po && make install-po DESTDIR=$(DESTDIR)
+
+ install-dirs: $(addprefix dir-install-, $(MODULE_DIRS))
+@@ -37,10 +36,10 @@
+
+ app-install-%: make-install-dirs %.desktop
+ install -m 755 $*.py $(DESTDIR)$(PREFIX)/$(TO)
+- install -m 644 $*.1 $(DESTDIR)$(PREFIX)/share/man/man1/$*.1
+- install -D -m 644 $*.png $(DESTDIR)$(PREFIX)/share/pixmaps/$*.png
++ install -m 644 $*.1 $(DESTDIR)$(PREFIX)/man/man1/$*.1
++ install -m 644 $*.png $(DESTDIR)$(PREFIX)/share/pixmaps/$*.png
+ install -m 644 $*.svg $*.png $(DESTDIR)$(PREFIX)/$(TO)
+- -install -D -m 644 $*.desktop $(DESTDIR)$(PREFIX)/share/applications/$*.desktop
++ -install -m 644 $*.desktop $(DESTDIR)$(PREFIX)/share/applications/$*.desktop
+ ln -sf ../$(TO)/$*.py $(DESTDIR)$(PREFIX)/bin/$*
+
+ clean:
diff --git a/multimedia/quodlibet/files/patch-quodlibet.py b/multimedia/quodlibet/files/patch-quodlibet.py
new file mode 100644
index 000000000..aff4cc37f
--- /dev/null
+++ b/multimedia/quodlibet/files/patch-quodlibet.py
@@ -0,0 +1,21 @@
+--- quodlibet.py.orig 2005-12-12 15:43:59.000000000 -0700
++++ quodlibet.py 2006-01-07 11:25:44.773179056 -0700
+@@ -273,15 +273,15 @@
+ basedir = os.getcwd()
+ if basedir.endswith("/share/quodlibet"):
+ sys.path.append(basedir[:-15] + "lib/quodlibet")
+- i18ndir = "/usr/share/locale"
++ i18ndir = "/usr/X11R6/share/locale"
+
+ import locale, gettext, util
+ try: locale.setlocale(locale.LC_ALL, '')
+ except: pass
+
+- gettext.bindtextdomain("quodlibet")
++ gettext.bindtextdomain("quodlibet", i18ndir)
+ gettext.textdomain("quodlibet")
+- util.gettext_install("quodlibet", unicode=True)
++ util.gettext_install("quodlibet", i18ndir, unicode=True)
+ util.ctypes_init()
+
+ from util import to
diff --git a/multimedia/quodlibet/files/qlscrobbler.py b/multimedia/quodlibet/files/qlscrobbler.py
new file mode 100644
index 000000000..a52f534ce
--- /dev/null
+++ b/multimedia/quodlibet/files/qlscrobbler.py
@@ -0,0 +1,482 @@
+# QLScrobbler: an Audioscrobbler client plugin for Quod Libet.
+# version 0.7
+# (C) 2005 by Joshua Kwan <joshk@triplehelix.org>,
+# Joe Wreschnig <piman@sacredchao.net>
+# Licensed under GPLv2. See Quod Libet's COPYING for more information.
+
+import random
+import md5, urllib, urllib2, time, threading, os
+import player, config, const
+import gobject, gtk
+from qltk import Message
+from util import to
+
+class QLScrobbler(object):
+ # session invariants
+ PLUGIN_NAME = "QLScrobbler"
+ PLUGIN_DESC = "Audioscrobbler client for Quod Libet"
+ PLUGIN_ICON = gtk.STOCK_CONNECT
+ PLUGIN_VERSION = "0.7"
+ CLIENT = "qlb"
+ PROTOCOL_VERSION = "1.1"
+ DUMP = os.path.join(const.DIR, "scrobbler_cache")
+
+ # things that could change
+
+ username = ""
+ password = ""
+ pwhash = ""
+
+ timeout_id = -1
+ submission_tid = -1
+
+ challenge = ""
+ submit_url = ""
+
+ # state management
+ waiting = False
+ challenge_sent = False
+ broken = False
+ need_config = False
+ need_update = False
+ already_submitted = False
+ locked = False
+ flushing = False
+ disabled = False
+
+ # we need to store this because not all events get the song
+ song = None
+
+ queue = []
+
+ def __init__(self):
+ # Read dumped queue and delete it
+ try:
+ dump = open(self.DUMP, 'r')
+ self.read_dump(dump)
+ except: pass
+
+ # Set up exit hook to dump queue
+ gtk.quit_add(0, self.dump_queue)
+
+ def read_dump(self, dump):
+ print "Loading dumped queue."
+
+ current = {}
+
+ for line in dump.readlines():
+ key = ""
+ value = ""
+
+ line = line.rstrip()
+ try: (key, value) = line.split(" = ", 1)
+ except:
+ if line == "-":
+ for key in ["album", "mbid"]:
+ if key not in current:
+ current[key] = ""
+
+ for reqkey in ["artist", "title", "length", "stamp"]:
+ # discard if somehow invalid
+ if reqkey not in current:
+ current = {}
+
+ if current != {}:
+ self.queue.append(current)
+ current = {}
+ continue
+
+ if key == "length": current[key] = int(value)
+ else: current[key] = value
+
+ dump.close()
+
+ os.remove(self.DUMP)
+
+# print "Queue contents:"
+# for item in self.queue:
+# print "\t%s - %s" % (item['artist'], item['title'])
+
+ # Try to flush it immediately
+ if len(self.queue) > 0:
+ self.flushing = True
+ self.submit_song()
+ else: print "Queue was empty!"
+
+ def dump_queue(self):
+ if len(self.queue) == 0: return 0
+
+ print "Dumping offline queue, will submit next time."
+
+ dump = open(self.DUMP, 'w')
+
+ for item in self.queue:
+ for key in item:
+ dump.write("%s = %s\n" % (key, item[key]))
+
+ dump.close()
+
+ return 0
+
+ def plugin_on_removed(self, songs):
+ try:
+ if self.song in songs:
+ self.already_submitted = True
+ except:
+ # Older version compatibility.
+ if self.song is songs:
+ self.already_submitted = True
+
+ def plugin_on_song_ended(self, song, stopped):
+ if song is None: return
+
+ if self.timeout_id > 0:
+ gobject.source_remove(self.timeout_id)
+ self.timeout_id = -1
+
+ def plugin_on_song_started(self, song):
+ if song is None: return
+
+ self.already_submitted = False
+ if self.timeout_id > 0:
+ gobject.source_remove(self.timeout_id)
+
+ self.timeout_id = -1
+
+ # Protocol stipulation:
+ # * don't submit when length < 00:30
+ # NOTE: >30:00 stipulation has been REMOVED as of Protocol1.1
+ # * don't submit if artist and title are not available
+ if song["~#length"] < 30: return
+ elif 'title' not in song: return
+ elif "artist" not in song:
+ if ("composer" not in song) and ("performer" not in song): return
+
+ self.song = song
+ if player.playlist.paused == False:
+ self.prepare()
+
+ def plugin_on_paused(self):
+ if self.timeout_id > 0:
+ gobject.source_remove(self.timeout_id)
+ # special value that will tell on_unpaused to check song length
+ self.timeout_id = -2
+
+ def plugin_on_unpaused(self):
+ if self.already_submitted == False and self.timeout_id == -1: self.prepare()
+
+ def plugin_on_seek(self, song, msec):
+ if self.timeout_id > 0:
+ gobject.source_remove(self.timeout_id)
+ self.timeout_id = -1
+
+ if msec == 0: #I think this is okay!
+ self.prepare()
+ else:
+ self.already_submitted = True # cancel
+
+ def prepare(self):
+ if self.song is None: return
+
+ # Protocol stipulations:
+ # * submit 240 seconds in or at 50%, whichever comes first
+ delay = int(min(self.song["~#length"] / 2, 240))
+
+ if self.timeout_id == -2: # change delta based on current progress
+ # assumption is that self.already_submitted == 0, therefore
+ # delay - progress > 0
+ progress = int(player.playlist.info.time[0] / 1000)
+ delay -= progress
+
+ self.timeout_id = gobject.timeout_add(delay * 1000, self.submit_song)
+
+ def read_config(self):
+ username = ""
+ password = ""
+ try:
+ username = config.get("plugins", "scrobbler_username")
+ password = config.get("plugins", "scrobbler_password")
+ except:
+ if self.need_config == False:
+ self.quick_info("Please visit the Preferences window to set QLScrobbler up. Until then, songs will not be submitted.")
+ self.need_config = True
+ return
+
+ self.username = username
+
+ hasher = md5.new()
+ hasher.update(password);
+ self.password = hasher.hexdigest()
+ self.need_config = False
+
+ def __destroy_cb(self, dialog, response_id):
+ dialog.destroy()
+
+ def quick_error_helper(self, str):
+ dialog = Message(gtk.MESSAGE_ERROR, None, "QLScrobbler", str)
+ dialog.connect('response', self.__destroy_cb)
+ dialog.show()
+
+ def quick_error(self, str):
+ gobject.idle_add(self.quick_error_helper, str)
+
+ def quick_info_helper(self, str):
+ dialog = Message(gtk.MESSAGE_INFO, widgets.widgets.main, "QLScrobbler", str).run()
+ dialog.connect('response', self.__destroy_cb)
+ dialog.show()
+
+ def quick_info(self, str):
+ gobject.idle_add(self.quick_info_helper, str)
+
+ def clear_waiting(self):
+ self.waiting = False
+
+ def send_handshake(self):
+ # construct url
+ url = "http://post.audioscrobbler.com/?hs=true&p=%s&c=%s&v=%s&u=%s" % ( self.PROTOCOL_VERSION, self.CLIENT, self.PLUGIN_VERSION, self.username )
+
+ print "Sending handshake to Audioscrobbler."
+
+ resp = None
+
+ try:
+ resp = urllib2.urlopen(url);
+ except:
+ print "Server not responding, handshake failed."
+ return # challenge_sent is NOT set to 1
+
+ # check response
+ lines = resp.read().rstrip().split("\n")
+ status = lines.pop(0)
+
+ print "Handshake status: %s" % status
+
+ if status == "UPTODATE" or status.startswith("UPDATE"):
+ if status.startswith("UPDATE"):
+ self.quick_info("A new plugin is available at %s! Please download it, or your Audioscrobbler stats may not be updated, and this message will be displayed every session." % status.split()[1])
+ self.need_update = True
+
+ # Scan for submit URL and challenge.
+ self.challenge = lines.pop(0)
+
+ print "Challenge: %s" % self.challenge
+
+ # determine password
+ hasher = md5.new()
+ hasher.update(self.password)
+ hasher.update(self.challenge)
+ self.pwhash = hasher.hexdigest()
+
+ self.submit_url = lines.pop(0)
+
+ self.challenge_sent = True
+ elif status == "BADUSER":
+ self.quick_error("Authentication failed: invalid username %s or bad password." % self.username)
+
+ self.broken = True
+
+ # Honor INTERVAL if available
+ try: interval = int(lines.pop(0).split()[1])
+ except: interval = 0
+
+ if interval > 1:
+ self.waiting = True
+ gobject.timeout_add(interval * 1000, self.clear_waiting)
+ print "Server says to wait for %d seconds." % interval
+
+ def submit_song(self):
+ bg = threading.Thread(None, self.submit_song_helper)
+ bg.setDaemon(True)
+ bg.start()
+
+ def submit_song_helper(self):
+ enabled = getattr(self, 'PMEnFlag', False)
+ if enabled and self.disabled:
+ print "Plugin re-enabled - accepting new songs."
+ self.disabled = False
+ if self.submission_tid != -1:
+ gobject.source_remove(self.submission_tid);
+ self.submission_tid = -1
+ elif not enabled and not self.disabled: #if we've already printed
+ print "Plugin disabled - not accepting any new songs."
+ self.disabled = True
+ if len(self.queue) > 0:
+ self.submission_tid = gobject.timeout_add(120 * 1000, self.submit_song_helper)
+ print "Attempts will continue to submit the last %d songs." % len(self.queue)
+
+ if self.already_submitted == True or self.broken == True: return
+
+ if self.flushing == False:
+ stamp = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
+
+ store = {
+ "title": self.song.comma("title"),
+ "length": str(self.song["~#length"]),
+ "album": self.song.comma("album"),
+ "mbid": "", # will be correctly set if available
+ "stamp": stamp
+ }
+
+ if "artist" in self.song:
+ store["artist"] = self.song.comma("artist")
+ elif "composer" in self.song:
+ store["artist"] = self.song.comma("composer")
+ elif "performer" in self.song:
+ performer = self.song.comma('performer')
+ if performer[-1] == ")" and "(" in performer:
+ store["artist"] = performer[:performer.rindex("(")].strip()
+ else:
+ store["artist"] = performer
+ elif "musicbrainz_trackid" in self.song:
+ store["mbid"] = self.song["musicbrainz_trackid"]
+
+ self.queue.append(store)
+ else: self.flushing = False
+
+ if self.locked == True:
+ # another instance running, let it deal with this
+ return
+
+ self.locked = True
+
+ while self.waiting == True: time.sleep(1)
+
+ # Read config, handshake, and send challenge if not already done
+ if self.challenge_sent == False:
+ self.read_config()
+ if self.broken == False and self.need_config == False:
+ self.send_handshake()
+
+ # INTERVAL may have been set during handshake.
+ while self.waiting == True: time.sleep(1)
+
+ if self.challenge_sent == False:
+ self.locked = False
+ return
+
+ data = {
+ 'u': self.username,
+ 's': self.pwhash
+ }
+
+ # Flush the cache
+ for i in range(len(self.queue)):
+ print to("Sending song: %s - %s" % (self.queue[i]['artist'], self.queue[i]['title']))
+ data["a[%d]" % i] = self.queue[i]['artist'].encode('utf-8')
+ data["t[%d]" % i] = self.queue[i]['title'].encode('utf-8')
+ data["l[%d]" % i] = str(self.queue[i]['length'])
+ data["b[%d]" % i] = self.queue[i]['album'].encode('utf-8')
+ data["m[%d]" % i] = self.queue[i]['mbid']
+ data["i[%d]" % i] = self.queue[i]['stamp']
+
+ (host, file) = self.submit_url[7:].split("/")
+
+ resp = None
+
+ try:
+ data_str = urllib.urlencode(data)
+ resp = urllib2.urlopen("http://" + host + "/" + file, data_str)
+ except:
+ print "Audioscrobbler server not responding, will try later."
+ self.locked = False
+ return # preserve the queue, yadda yadda
+
+ resp_save = resp.read()
+ lines = resp_save.rstrip().split("\n")
+
+ try: (status, interval) = lines
+ except:
+ try: status = lines[0]
+ except:
+ print "Truncated server response, will try later..."
+ self.locked = False
+ return
+ interval = None
+
+ print "Submission status: %s" % status
+
+ if status == "BADAUTH":
+ print "Attempting to re-authenticate."
+ self.challenge_sent = False
+ self.send_handshake()
+ if self.challenge_sent == False:
+ self.quick_error("Your Audioscrobbler login data is incorrect, so you must re-enter it before any songs will be submitted.\n\nThis message will not be shown again.")
+ self.broken = True
+ elif status == "OK":
+ self.queue = []
+ elif status.startswith("FAILED"):
+ if status.startswith("FAILED Plugin bug"):
+ print "Plugin bug!? Ridiculous! Dumping queue contents."
+ for item in self.queue:
+ for key in item:
+ print "%s = %s" % (key, item[key])
+ # possibly handle other specific cases here for debugging later
+ else:
+ print "Unknown response from server: %s" % status
+ print "Dumping full response:"
+ print resp_save
+
+ if interval != None: interval_secs = int(interval.split()[1])
+ else: interval_secs = 0
+
+ if interval_secs > 1:
+ self.waiting = True
+ gobject.timeout_add(interval_secs * 1000, self.clear_waiting)
+ print "Server says to wait for %d seconds." % interval_secs
+
+ if self.disabled and len(self.queue) == 0 and self.submission_tid != -1:
+ print "All songs submitted, disabling retries."
+ gobject.source_remove(self.submission_tid)
+ self.submission_tid = -1
+
+ self.already_submitted = True
+ self.locked = False
+
+ def PluginPreferences(self, parent):
+ def changed(entry, key):
+ # having two functions is unnecessary..
+ config.set("plugins", "scrobbler_" + key, entry.get_text())
+
+ def destroyed(*args):
+ # if changed, let's say that things just got better and we should
+ # try everything again
+ newu = None
+ newp = None
+ try:
+ newu = config.get("plugins", "scrobbler_username")
+ newp = config.get("plugins", "scrobbler_password")
+ except:
+ return
+
+ if self.username != newu or self.password != newp:
+ self.broken = False
+
+ table = gtk.Table(3, 2)
+ table.set_col_spacings(3)
+ lt = gtk.Label(_("Please enter your Audioscrobbler username and password."))
+ lt.set_size_request(260, -1)
+ lu = gtk.Label(_("Username:"))
+ lp = gtk.Label(_("Password:"))
+ for l in [lt, lu, lp]:
+ l.set_line_wrap(True)
+ l.set_alignment(0.0, 0.5)
+ table.attach(lt, 0, 2, 0, 1, xoptions=gtk.FILL)
+ table.attach(lu, 0, 1, 1, 2, xoptions=gtk.FILL)
+ table.attach(lp, 0, 1, 2, 3, xoptions=gtk.FILL)
+ userent = gtk.Entry()
+ pwent = gtk.Entry()
+ pwent.set_visibility(False)
+ pwent.set_invisible_char('*')
+ table.set_border_width(6)
+
+ try: userent.set_text(config.get("plugins", "scrobbler_username"))
+ except: pass
+ try: pwent.set_text(config.get("plugins", "scrobbler_password"))
+ except: pass
+
+ table.attach(userent, 1, 2, 1, 2)
+ table.attach(pwent, 1, 2, 2, 3)
+ pwent.connect('changed', changed, 'password')
+ userent.connect('changed', changed, 'username')
+ table.connect('destroy', destroyed)
+ return table
diff --git a/multimedia/quodlibet/pkg-descr b/multimedia/quodlibet/pkg-descr
new file mode 100644
index 000000000..5f3011b0e
--- /dev/null
+++ b/multimedia/quodlibet/pkg-descr
@@ -0,0 +1,3 @@
+Quod Libet is a GTK+-based audio player written in Python.
+
+WWW: http://www.sacredchao.net/quodlibet/
diff --git a/multimedia/quodlibet/pkg-plist b/multimedia/quodlibet/pkg-plist
new file mode 100644
index 000000000..ff98634e3
--- /dev/null
+++ b/multimedia/quodlibet/pkg-plist
@@ -0,0 +1,122 @@
+bin/exfalso
+bin/quodlibet
+%%EXTENSIONS:%%lib/quodlibet/_mmkeys.so
+%%EXTENSIONS:%%lib/quodlibet/_trayicon.so
+share/applications/exfalso.desktop
+share/applications/quodlibet.desktop
+share/locale/bg/LC_MESSAGES/quodlibet.mo
+share/locale/de/LC_MESSAGES/quodlibet.mo
+share/locale/en_CA/LC_MESSAGES/quodlibet.mo
+share/locale/en_GB/LC_MESSAGES/quodlibet.mo
+share/locale/es/LC_MESSAGES/quodlibet.mo
+share/locale/fi/LC_MESSAGES/quodlibet.mo
+share/locale/fr/LC_MESSAGES/quodlibet.mo
+share/locale/gl/LC_MESSAGES/quodlibet.mo
+share/locale/he/LC_MESSAGES/quodlibet.mo
+share/locale/it/LC_MESSAGES/quodlibet.mo
+share/locale/nl/LC_MESSAGES/quodlibet.mo
+share/locale/pl/LC_MESSAGES/quodlibet.mo
+share/locale/pt/LC_MESSAGES/quodlibet.mo
+share/locale/ru/LC_MESSAGES/quodlibet.mo
+share/pixmaps/exfalso.png
+share/pixmaps/quodlibet.png
+share/quodlibet/browsers/__init__.py
+share/quodlibet/browsers/_base.py
+share/quodlibet/browsers/albums.py
+share/quodlibet/browsers/audiofeeds.py
+share/quodlibet/browsers/filesystem.py
+share/quodlibet/browsers/iradio.py
+share/quodlibet/browsers/paned.py
+share/quodlibet/browsers/playlists.py
+share/quodlibet/browsers/search.py
+share/quodlibet/config.py
+share/quodlibet/const.py
+share/quodlibet/exfalso.png
+share/quodlibet/exfalso.py
+share/quodlibet/exfalso.svg
+share/quodlibet/formats/__init__.py
+share/quodlibet/formats/_apev2.py
+share/quodlibet/formats/_audio.py
+share/quodlibet/formats/_vorbis.py
+share/quodlibet/formats/ape.py
+share/quodlibet/formats/flac_.py
+share/quodlibet/formats/mod.py
+share/quodlibet/formats/mp3.py
+share/quodlibet/formats/mp4.py
+share/quodlibet/formats/mpc.py
+share/quodlibet/formats/oggvorbis.py
+share/quodlibet/formats/remote.py
+share/quodlibet/formats/wavpack.py
+share/quodlibet/library.py
+share/quodlibet/mutagen/__init__.py
+share/quodlibet/mutagen/_constants.py
+share/quodlibet/mutagen/apev2.py
+share/quodlibet/mutagen/id3.py
+share/quodlibet/parse/__init__.py
+share/quodlibet/parse/_match.py
+share/quodlibet/parse/_pattern.py
+share/quodlibet/parse/_query.py
+share/quodlibet/player.py
+share/quodlibet/plugins.py
+share/quodlibet/plugins/qlscrobbler.py
+share/quodlibet/qltk/__init__.py
+share/quodlibet/qltk/about.py
+share/quodlibet/qltk/browser.py
+share/quodlibet/qltk/cbes.py
+share/quodlibet/qltk/ccb.py
+share/quodlibet/qltk/chooser.py
+share/quodlibet/qltk/completion.py
+share/quodlibet/qltk/controls.py
+share/quodlibet/qltk/count.py
+share/quodlibet/qltk/cover.py
+share/quodlibet/qltk/delete.py
+share/quodlibet/qltk/downloader.py
+share/quodlibet/qltk/entry.py
+share/quodlibet/qltk/exfalso.py
+share/quodlibet/qltk/filesel.py
+share/quodlibet/qltk/getstring.py
+share/quodlibet/qltk/info.py
+share/quodlibet/qltk/information.py
+share/quodlibet/qltk/mmkeys.py
+share/quodlibet/qltk/msg.py
+share/quodlibet/qltk/playorder.py
+share/quodlibet/qltk/pluginwin.py
+share/quodlibet/qltk/prefs.py
+share/quodlibet/qltk/properties.py
+share/quodlibet/qltk/queue.py
+share/quodlibet/qltk/quodlibet.py
+share/quodlibet/qltk/remote.py
+share/quodlibet/qltk/sliderbutton.py
+share/quodlibet/qltk/songlist.py
+share/quodlibet/qltk/trayicon.py
+share/quodlibet/qltk/views.py
+share/quodlibet/qltk/watcher.py
+share/quodlibet/qltk/wlw.py
+share/quodlibet/qltk/x.py
+share/quodlibet/quodlibet.png
+share/quodlibet/quodlibet.py
+share/quodlibet/quodlibet.svg
+share/quodlibet/rhythmbox-volume-max.png
+share/quodlibet/rhythmbox-volume-medium.png
+share/quodlibet/rhythmbox-volume-min.png
+share/quodlibet/rhythmbox-volume-zero.png
+share/quodlibet/stock.py
+share/quodlibet/util.py
+share/quodlibet/widgets.py
+@unexec rmdir %D/share/applications 2>/dev/null || true
+@exec mkdir -p %D/share/quodlibet/plugins
+@dirrm share/quodlibet/plugins
+@exec mkdir -p %D/lib/quodlibet
+@dirrm lib/quodlibet
+@exec mkdir -p %D/share/quodlibet/browsers
+@dirrm share/quodlibet/browsers
+@exec mkdir -p %D/share/quodlibet/formats
+@dirrm share/quodlibet/formats
+@exec mkdir -p %D/share/quodlibet/mutagen
+@dirrm share/quodlibet/mutagen
+@exec mkdir -p %D/share/quodlibet/parse
+@dirrm share/quodlibet/parse
+@exec mkdir -p %D/share/quodlibet/qltk
+@dirrm share/quodlibet/qltk
+@exec mkdir -p %D/share/quodlibet
+@dirrm share/quodlibet
diff --git a/multimedia/ruby-gst/Makefile b/multimedia/ruby-gst/Makefile
new file mode 100644
index 000000000..08c1e02ac
--- /dev/null
+++ b/multimedia/ruby-gst/Makefile
@@ -0,0 +1,51 @@
+# New ports collection makefile for: ruby-gst
+# Date created: 26 June 2003
+# Whom: Akinori MUSHA aka knu <knu@idaemons.org>
+#
+# $FreeBSD$
+# $MCom: ports/multimedia/ruby-gst/Makefile,v 1.2 2005/10/17 07:05:41 mezz Exp $
+#
+
+PORTNAME= gst
+PORTVERSION= ${RUBY_GNOME_PORTVERSION}
+CATEGORIES= multimedia devel ruby
+MASTER_SITES= ${RUBY_GNOME_MASTER_SITES}
+MASTER_SITE_SUBDIR= ${RUBY_GNOME_MASTER_SITE_SUBDIR}
+PKGNAMEPREFIX= ${RUBY_PKGNAMEPREFIX}
+DISTNAME= ${RUBY_GNOME_DISTNAME}
+DIST_SUBDIR= ruby
+
+MAINTAINER= mezz@FreeBSD.org
+COMMENT= Ruby bindings for the GStreamer framework
+
+RUN_DEPENDS= ${RUBY_SITEARCHLIBDIR}/glib2.so:${PORTSDIR}/devel/ruby-glib2
+
+USE_RUBY= yes
+USE_GSTREAMER80= core
+USE_REINPLACE= yes
+USE_RUBY_EXTCONF= yes
+
+.include "${.CURDIR}/../../x11/ruby-gnome2/Makefile.common"
+
+WRKSRC= ${RUBY_GNOME_WRKSRC}/gstreamer
+INSTALL_TARGET= site-install
+
+DOCS= COPYING.LIB ChangeLog README
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|tests/||g' \
+ ${WRKSRC}/tests/tc_*.rb
+ @${FIND} ${WRKSRC} -name '*.bak' -delete
+
+post-install:
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${RUBY_MODEXAMPLESDIR}
+ @${INSTALL_DATA} ${WRKSRC}/sample/* ${RUBY_MODEXAMPLESDIR}/
+ @${INSTALL_DATA} ${WRKSRC}/tests/* ${RUBY_MODEXAMPLESDIR}/
+ @${MKDIR} ${RUBY_MODDOCDIR}
+.for f in ${DOCS}
+ @${INSTALL_DATA} ${WRKSRC}/${f} ${RUBY_MODDOCDIR}/
+.endfor
+.endif
+
+.include <bsd.port.mk>
diff --git a/multimedia/ruby-gst/distinfo b/multimedia/ruby-gst/distinfo
new file mode 100644
index 000000000..3d262db53
--- /dev/null
+++ b/multimedia/ruby-gst/distinfo
@@ -0,0 +1 @@
+MD5 (ruby/ruby-gst-0.1.1.tar.gz) = 06c11775d8c225e5b204a01c7ec0cc25
diff --git a/multimedia/ruby-gst/pkg-descr b/multimedia/ruby-gst/pkg-descr
new file mode 100644
index 000000000..b6073cbbc
--- /dev/null
+++ b/multimedia/ruby-gst/pkg-descr
@@ -0,0 +1,3 @@
+This is a set of Ruby bindings for the GStreamer multimedia framework.
+
+WWW: http://ruby-gnome2.sourceforge.jp/
diff --git a/multimedia/ruby-gst/pkg-plist b/multimedia/ruby-gst/pkg-plist
new file mode 100644
index 000000000..da08f351d
--- /dev/null
+++ b/multimedia/ruby-gst/pkg-plist
@@ -0,0 +1,26 @@
+%%RUBY_SITEARCHLIBDIR%%/gst.so
+%%RUBY_SITELIBDIR%%/gst.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/audio-player.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/gst-inspect.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/media-type.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/media-type2.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/misc.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/mp3-player.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_all.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_clock.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_cpu.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_element.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_modfunc.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_pad.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_parse.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_plugin.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_registry.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_type.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/tc_xml.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/video-player.rb
+%%PORTDOCS%%%%RUBY_MODEXAMPLESDIR%%/xml-ogg-player.rb
+%%PORTDOCS%%@dirrm %%RUBY_MODEXAMPLESDIR%%
+%%PORTDOCS%%%%RUBY_MODDOCDIR%%/COPYING.LIB
+%%PORTDOCS%%%%RUBY_MODDOCDIR%%/ChangeLog
+%%PORTDOCS%%%%RUBY_MODDOCDIR%%/README
+%%PORTDOCS%%@dirrm %%RUBY_MODDOCDIR%%
diff --git a/multimedia/totem/Makefile b/multimedia/totem/Makefile
index 594ff94ae..9a5d4f7ec 100644
--- a/multimedia/totem/Makefile
+++ b/multimedia/totem/Makefile
@@ -60,7 +60,7 @@ CONFIGURE_ARGS+=--disable-mozilla
BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:${PORTSDIR}/misc/iso-codes
RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:${PORTSDIR}/misc/iso-codes
CONFIGURE_ARGS+=--enable-gstreamer
-USE_GSTREAMER+= gnomevfs core gconf
+USE_GSTREAMER80+= gnomevfs core gconf
WITHOUT_DVDNAV= yes
PLIST_SUB+= GSTREAMER=""
.else