aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authorlioux <lioux@FreeBSD.org>2002-07-16 05:42:38 +0800
committerlioux <lioux@FreeBSD.org>2002-07-16 05:42:38 +0800
commit8773fff72b721fd7382d7a0809a4cded8cba04ef (patch)
treebb92d5b1b858fe3dc0a55f1b00b597226f457b95 /multimedia
parentad9e2d48b4582b79df4e93dcc4dceddf126a0ead (diff)
downloadfreebsd-ports-gnome-8773fff72b721fd7382d7a0809a4cded8cba04ef.tar.gz
freebsd-ports-gnome-8773fff72b721fd7382d7a0809a4cded8cba04ef.tar.zst
freebsd-ports-gnome-8773fff72b721fd7382d7a0809a4cded8cba04ef.zip
o New port gstreamer version 0.4.0: Development framework for
creating media applications o Mark as BROKEN: Needs help fixing scheduling code under FreeBSD o This is being added even though it is broken hoping that someone will have the time/expertise to fix it
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/gstreamer/Makefile67
-rw-r--r--multimedia/gstreamer/distinfo1
-rw-r--r--multimedia/gstreamer/files/patch-configure10
-rw-r--r--multimedia/gstreamer/files/patch-gst::gstthread.c22
-rw-r--r--multimedia/gstreamer/files/patch-libs::ext::cothreads::tests::Makefile.in11
-rw-r--r--multimedia/gstreamer/files/patch-libs::ext::cothreads::tests::cothreads.c18
-rw-r--r--multimedia/gstreamer/pkg-comment1
-rw-r--r--multimedia/gstreamer/pkg-descr24
-rw-r--r--multimedia/gstreamer/pkg-plist85
-rw-r--r--multimedia/gstreamer80/Makefile67
-rw-r--r--multimedia/gstreamer80/distinfo1
-rw-r--r--multimedia/gstreamer80/files/patch-configure10
-rw-r--r--multimedia/gstreamer80/files/patch-gst::gstthread.c22
-rw-r--r--multimedia/gstreamer80/files/patch-libs::ext::cothreads::tests::Makefile.in11
-rw-r--r--multimedia/gstreamer80/files/patch-libs::ext::cothreads::tests::cothreads.c18
-rw-r--r--multimedia/gstreamer80/pkg-comment1
-rw-r--r--multimedia/gstreamer80/pkg-descr24
-rw-r--r--multimedia/gstreamer80/pkg-plist85
18 files changed, 478 insertions, 0 deletions
diff --git a/multimedia/gstreamer/Makefile b/multimedia/gstreamer/Makefile
new file mode 100644
index 000000000000..e41588561b24
--- /dev/null
+++ b/multimedia/gstreamer/Makefile
@@ -0,0 +1,67 @@
+# 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$
+#
+
+PORTNAME= gstreamer
+PORTVERSION= 0.4.0
+CATEGORIES= graphics
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+
+MAINTAINER= lioux@FreeBSD.org
+
+BUILD_DEPENDS= pkg-config:${PORTSDIR}/devel/pkgconfig
+LIB_DEPENDS= glib-2.0.0:${PORTSDIR}/devel/glib20 \
+ popt.0:${PORTSDIR}/devel/popt \
+ xml2.5:${PORTSDIR}/textproc/libxml2
+
+BROKEN= Needs help fixing scheduling code under FreeBSD
+
+USE_BZIP2= yes
+USE_LIBTOOL= yes
+USE_REINPLACE= yes
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-tests \
+ --disable-failing-tests
+CONFIGURE_ENV= PKG_CONFIG=${PKG_CONFIG} \
+ CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
+ LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
+INSTALLS_SHLIB= yes
+
+MAN1= gst-complete.1 gst-compprep.1 gst-inspect.1 gst-launch.1 \
+ gst-register.1 gst-xmllaunch.1
+
+PKG_CONFIG?="${LOCALBASE}/bin/pkg-config"
+
+post-patch:
+# do not prefix binary names with anything
+ @${REINPLACE_CMD} -E -e \
+ 's|(@program_transform_name@),[^,]+,|\1,s/$$$$//,|' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+# use proper dir
+ @${REINPLACE_CMD} -E -e \
+ 's|^(pkgconfigdir).*$$|\1=${PREFIX}/libdata/pkgconfig|' \
+ ${WRKSRC}/Makefile.in
+# remove version number from include dir name
+ @${FIND} ${WRKSRC} -type f -name Makefile.in | \
+ ${XARGS} -n 10 ${REINPLACE_CMD} -E \
+ 's|^(lib[[:alpha:]]+includedir.+)-@VERSION@|\1|'
+# remove version number from include dir name AND
+# help dependent ports find popt.h
+ @${REINPLACE_CMD} -E -e \
+ 's|-@VERSION@||; \
+ s|(-I\$${includedir})|\1 -I${LOCALBASE}/include|' \
+ ${WRKSRC}/gstreamer.pc.in
+# XXX - remove in release 0.4.1 since this is fixed in CVS
+ @${REINPLACE_CMD} -e 's|MAP_ANONYMOUS|MAP_ANON|' \
+ ${WRKSRC}/gst/cothreads.c
+
+post-configure:
+# remove version number postfix from library names
+ @${REINPLACE_CMD} -E -e 's|-release ${PORTVERSION}||' \
+ ${WRKSRC}/gst/Makefile
+
+.include <bsd.port.mk>
diff --git a/multimedia/gstreamer/distinfo b/multimedia/gstreamer/distinfo
new file mode 100644
index 000000000000..0f73d067088e
--- /dev/null
+++ b/multimedia/gstreamer/distinfo
@@ -0,0 +1 @@
+MD5 (gstreamer-0.4.0.tar.bz2) = 6dffb9d8f8e0c82989966f6fc7a7c94e
diff --git a/multimedia/gstreamer/files/patch-configure b/multimedia/gstreamer/files/patch-configure
new file mode 100644
index 000000000000..4e3e5d1953d8
--- /dev/null
+++ b/multimedia/gstreamer/files/patch-configure
@@ -0,0 +1,10 @@
+--- configure.orig Wed Jul 10 16:32:49 2002
++++ configure Wed Jul 10 16:33:12 2002
+@@ -6620,6 +6620,7 @@
+
+ # This can be used to rebuild libtool when needed
+ LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
++$ac_aux_dir/ltconfig $LIBTOOL_DEPS
+
+ # Always use our own libtool.
+ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
diff --git a/multimedia/gstreamer/files/patch-gst::gstthread.c b/multimedia/gstreamer/files/patch-gst::gstthread.c
new file mode 100644
index 000000000000..e6f33930cd3d
--- /dev/null
+++ b/multimedia/gstreamer/files/patch-gst::gstthread.c
@@ -0,0 +1,22 @@
+--- gst/gstthread.c.orig Wed Jul 10 15:22:00 2002
++++ gst/gstthread.c Wed Jul 10 15:22:52 2002
+@@ -147,7 +147,7 @@
+ thread->cond = g_cond_new ();
+
+ thread->ppid = getpid ();
+- thread->thread_id = -1;
++ thread->thread_id = (pthread_t) -1;
+ }
+
+ static void
+@@ -276,8 +276,8 @@
+ if (pthread_attr_init (&thread->attr) != 0)
+ g_warning ("pthread_attr_init returned an error !");
+ if (gst_scheduler_get_preferred_stack (GST_ELEMENT_SCHED (element), &thread->stack, &stacksize)) {
+- if (pthread_attr_setstack (&thread->attr, thread->stack, stacksize) != 0) {
+- g_warning ("pthread_attr_setstack failed");
++ if (pthread_attr_setstacksize (&thread->attr, stacksize) != 0) {
++ g_warning ("pthread_attr_setstacksize failed");
+ return GST_STATE_FAILURE;
+ }
+ GST_DEBUG (GST_CAT_THREAD, "pthread attr set stack at %p of size %ld",
diff --git a/multimedia/gstreamer/files/patch-libs::ext::cothreads::tests::Makefile.in b/multimedia/gstreamer/files/patch-libs::ext::cothreads::tests::Makefile.in
new file mode 100644
index 000000000000..19d00d8a9e23
--- /dev/null
+++ b/multimedia/gstreamer/files/patch-libs::ext::cothreads::tests::Makefile.in
@@ -0,0 +1,11 @@
+--- libs/ext/cothreads/tests/Makefile.in.orig Wed Jul 10 15:44:45 2002
++++ libs/ext/cothreads/tests/Makefile.in Wed Jul 10 15:45:06 2002
+@@ -76,7 +76,7 @@
+ GLIB_CFLAGS = @GLIB_CFLAGS@
+ GLIB_LIBS = @GLIB_LIBS@
+ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+-GTHREAD_LIBS = @GTHREAD_LIBS@
++GTHREAD_LIBS = -lc @GTHREAD_LIBS@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LIBTOOL = @LIBTOOL@
+ LN_S = @LN_S@
diff --git a/multimedia/gstreamer/files/patch-libs::ext::cothreads::tests::cothreads.c b/multimedia/gstreamer/files/patch-libs::ext::cothreads::tests::cothreads.c
new file mode 100644
index 000000000000..a7ca2581f2b7
--- /dev/null
+++ b/multimedia/gstreamer/files/patch-libs::ext::cothreads::tests::cothreads.c
@@ -0,0 +1,18 @@
+--- libs/ext/cothreads/tests/cothreads.c.orig Fri Jun 21 01:33:11 2002
++++ libs/ext/cothreads/tests/cothreads.c Mon Jul 15 18:11:38 2002
+@@ -79,10 +79,13 @@
+ printf ("0: creating the gthreads\n");
+ for (i=0; i<NGTHREADS; i++) {
+ pthreadnum[i] = i+1;
+- if (posix_memalign (&stack, MAIN_STACK_SIZE, MAIN_STACK_SIZE))
++ stack = malloc (MAIN_STACK_SIZE * (1.0 + 1.0/16));
++ if (!stack)
+ perror ("allocating pthread stack of size %d", MAIN_STACK_SIZE);
++ stack = (void*)((int)stack &~ (int)(MAIN_STACK_SIZE / 16 - 1));
++ stack += 1;
+ pthread_attr_init (&attr[i]);
+- if (!pthread_attr_setstack (&attr[i], stack, MAIN_STACK_SIZE))
++ if (!pthread_attr_setstacksize (&attr[i], MAIN_STACK_SIZE))
+ perror ("setting stack size");
+ pthread_create (&thread[i], &attr[i], pthread, &pthreadnum[i]);
+ }
diff --git a/multimedia/gstreamer/pkg-comment b/multimedia/gstreamer/pkg-comment
new file mode 100644
index 000000000000..958787fc1c6d
--- /dev/null
+++ b/multimedia/gstreamer/pkg-comment
@@ -0,0 +1 @@
+Development framework for creating media applications
diff --git a/multimedia/gstreamer/pkg-descr b/multimedia/gstreamer/pkg-descr
new file mode 100644
index 000000000000..3e7e98b0eab0
--- /dev/null
+++ b/multimedia/gstreamer/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/gstreamer/pkg-plist b/multimedia/gstreamer/pkg-plist
new file mode 100644
index 000000000000..e1de17b4f5a6
--- /dev/null
+++ b/multimedia/gstreamer/pkg-plist
@@ -0,0 +1,85 @@
+@unexec %D/bin/gst-register 2>/dev/null
+bin/gst-complete
+bin/gst-compprep
+bin/gst-feedback
+bin/gst-inspect
+bin/gst-launch
+bin/gst-register
+bin/gst-xmllaunch
+include/gstreamer/gst/bytestream/bytestream.h
+include/gstreamer/gst/control/control.h
+include/gstreamer/gst/control/dparam.h
+include/gstreamer/gst/control/dparam_smooth.h
+include/gstreamer/gst/control/dparamcommon.h
+include/gstreamer/gst/control/dparammanager.h
+include/gstreamer/gst/control/dplinearinterp.h
+include/gstreamer/gst/control/unitconvert.h
+include/gstreamer/gst/getbits/getbits.h
+include/gstreamer/gst/gst.h
+include/gstreamer/gst/gstautoplug.h
+include/gstreamer/gst/gstbin.h
+include/gstreamer/gst/gstbuffer.h
+include/gstreamer/gst/gstbufferpool.h
+include/gstreamer/gst/gstcaps.h
+include/gstreamer/gst/gstclock.h
+include/gstreamer/gst/gstconfig.h
+include/gstreamer/gst/gstcpu.h
+include/gstreamer/gst/gstdata.h
+include/gstreamer/gst/gstelement.h
+include/gstreamer/gst/gstenumtypes.h
+include/gstreamer/gst/gstevent.h
+include/gstreamer/gst/gstextratypes.h
+include/gstreamer/gst/gstformat.h
+include/gstreamer/gst/gstinfo.h
+include/gstreamer/gst/gstlog.h
+include/gstreamer/gst/gstmarshal.h
+include/gstreamer/gst/gstobject.h
+include/gstreamer/gst/gstpad.h
+include/gstreamer/gst/gstparse.h
+include/gstreamer/gst/gstpipeline.h
+include/gstreamer/gst/gstplugin.h
+include/gstreamer/gst/gstpluginfeature.h
+include/gstreamer/gst/gstprops.h
+include/gstreamer/gst/gstqueue.h
+include/gstreamer/gst/gstregistry.h
+include/gstreamer/gst/gstscheduler.h
+include/gstreamer/gst/gstsystemclock.h
+include/gstreamer/gst/gstthread.h
+include/gstreamer/gst/gsttimecache.h
+include/gstreamer/gst/gsttrace.h
+include/gstreamer/gst/gsttype.h
+include/gstreamer/gst/gsttypefind.h
+include/gstreamer/gst/gsttypes.h
+include/gstreamer/gst/gstutils.h
+include/gstreamer/gst/gstversion.h
+include/gstreamer/gst/gstxml.h
+include/gstreamer/gst/putbits/putbits.h
+lib/gst/libgstautoplugcache.so
+lib/gst/libgstautoplugger.so
+lib/gst/libgstbasicscheduler.so
+lib/gst/libgstbytestream.so
+lib/gst/libgstcontrol.so
+lib/gst/libgstelements.so
+lib/gst/libgstfastbasicscheduler.so
+lib/gst/libgstfaststandardscheduler.so
+lib/gst/libgstgetbits.so
+lib/gst/libgstputbits.so
+lib/gst/libgstspider.so
+lib/gst/libgststandardscheduler.so
+lib/gst/libgststaticautoplug.so
+lib/gst/libgststaticautoplugrender.so
+lib/gst/libgsttypes.so
+lib/libgstreamer.a
+lib/libgstreamer.so
+lib/libgstreamer.so.0
+libdata/pkgconfig/gstreamer.pc
+@dirrm lib/gst
+@dirrm include/gstreamer/gst/putbits
+@dirrm include/gstreamer/gst/getbits
+@dirrm include/gstreamer/gst/control
+@dirrm include/gstreamer/gst/bytestream
+@dirrm include/gstreamer/gst
+@dirrm include/gstreamer
+@exec %D/bin/gst-register 2>/dev/null
+@unexec rm %D/etc/gstreamer/registry.xml 2>/dev/null || true
+@unexec rmdir %D/etc/gstreamer 2>/dev/null || echo "There are some configuration files left in ${PKG_PREFIX}/etc/gstreamer, do not forget to remove them if you are permanently removing gstreamer port."
diff --git a/multimedia/gstreamer80/Makefile b/multimedia/gstreamer80/Makefile
new file mode 100644
index 000000000000..e41588561b24
--- /dev/null
+++ b/multimedia/gstreamer80/Makefile
@@ -0,0 +1,67 @@
+# 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$
+#
+
+PORTNAME= gstreamer
+PORTVERSION= 0.4.0
+CATEGORIES= graphics
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+
+MAINTAINER= lioux@FreeBSD.org
+
+BUILD_DEPENDS= pkg-config:${PORTSDIR}/devel/pkgconfig
+LIB_DEPENDS= glib-2.0.0:${PORTSDIR}/devel/glib20 \
+ popt.0:${PORTSDIR}/devel/popt \
+ xml2.5:${PORTSDIR}/textproc/libxml2
+
+BROKEN= Needs help fixing scheduling code under FreeBSD
+
+USE_BZIP2= yes
+USE_LIBTOOL= yes
+USE_REINPLACE= yes
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-tests \
+ --disable-failing-tests
+CONFIGURE_ENV= PKG_CONFIG=${PKG_CONFIG} \
+ CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
+ LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
+INSTALLS_SHLIB= yes
+
+MAN1= gst-complete.1 gst-compprep.1 gst-inspect.1 gst-launch.1 \
+ gst-register.1 gst-xmllaunch.1
+
+PKG_CONFIG?="${LOCALBASE}/bin/pkg-config"
+
+post-patch:
+# do not prefix binary names with anything
+ @${REINPLACE_CMD} -E -e \
+ 's|(@program_transform_name@),[^,]+,|\1,s/$$$$//,|' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+# use proper dir
+ @${REINPLACE_CMD} -E -e \
+ 's|^(pkgconfigdir).*$$|\1=${PREFIX}/libdata/pkgconfig|' \
+ ${WRKSRC}/Makefile.in
+# remove version number from include dir name
+ @${FIND} ${WRKSRC} -type f -name Makefile.in | \
+ ${XARGS} -n 10 ${REINPLACE_CMD} -E \
+ 's|^(lib[[:alpha:]]+includedir.+)-@VERSION@|\1|'
+# remove version number from include dir name AND
+# help dependent ports find popt.h
+ @${REINPLACE_CMD} -E -e \
+ 's|-@VERSION@||; \
+ s|(-I\$${includedir})|\1 -I${LOCALBASE}/include|' \
+ ${WRKSRC}/gstreamer.pc.in
+# XXX - remove in release 0.4.1 since this is fixed in CVS
+ @${REINPLACE_CMD} -e 's|MAP_ANONYMOUS|MAP_ANON|' \
+ ${WRKSRC}/gst/cothreads.c
+
+post-configure:
+# remove version number postfix from library names
+ @${REINPLACE_CMD} -E -e 's|-release ${PORTVERSION}||' \
+ ${WRKSRC}/gst/Makefile
+
+.include <bsd.port.mk>
diff --git a/multimedia/gstreamer80/distinfo b/multimedia/gstreamer80/distinfo
new file mode 100644
index 000000000000..0f73d067088e
--- /dev/null
+++ b/multimedia/gstreamer80/distinfo
@@ -0,0 +1 @@
+MD5 (gstreamer-0.4.0.tar.bz2) = 6dffb9d8f8e0c82989966f6fc7a7c94e
diff --git a/multimedia/gstreamer80/files/patch-configure b/multimedia/gstreamer80/files/patch-configure
new file mode 100644
index 000000000000..4e3e5d1953d8
--- /dev/null
+++ b/multimedia/gstreamer80/files/patch-configure
@@ -0,0 +1,10 @@
+--- configure.orig Wed Jul 10 16:32:49 2002
++++ configure Wed Jul 10 16:33:12 2002
+@@ -6620,6 +6620,7 @@
+
+ # This can be used to rebuild libtool when needed
+ LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
++$ac_aux_dir/ltconfig $LIBTOOL_DEPS
+
+ # Always use our own libtool.
+ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
diff --git a/multimedia/gstreamer80/files/patch-gst::gstthread.c b/multimedia/gstreamer80/files/patch-gst::gstthread.c
new file mode 100644
index 000000000000..e6f33930cd3d
--- /dev/null
+++ b/multimedia/gstreamer80/files/patch-gst::gstthread.c
@@ -0,0 +1,22 @@
+--- gst/gstthread.c.orig Wed Jul 10 15:22:00 2002
++++ gst/gstthread.c Wed Jul 10 15:22:52 2002
+@@ -147,7 +147,7 @@
+ thread->cond = g_cond_new ();
+
+ thread->ppid = getpid ();
+- thread->thread_id = -1;
++ thread->thread_id = (pthread_t) -1;
+ }
+
+ static void
+@@ -276,8 +276,8 @@
+ if (pthread_attr_init (&thread->attr) != 0)
+ g_warning ("pthread_attr_init returned an error !");
+ if (gst_scheduler_get_preferred_stack (GST_ELEMENT_SCHED (element), &thread->stack, &stacksize)) {
+- if (pthread_attr_setstack (&thread->attr, thread->stack, stacksize) != 0) {
+- g_warning ("pthread_attr_setstack failed");
++ if (pthread_attr_setstacksize (&thread->attr, stacksize) != 0) {
++ g_warning ("pthread_attr_setstacksize failed");
+ return GST_STATE_FAILURE;
+ }
+ GST_DEBUG (GST_CAT_THREAD, "pthread attr set stack at %p of size %ld",
diff --git a/multimedia/gstreamer80/files/patch-libs::ext::cothreads::tests::Makefile.in b/multimedia/gstreamer80/files/patch-libs::ext::cothreads::tests::Makefile.in
new file mode 100644
index 000000000000..19d00d8a9e23
--- /dev/null
+++ b/multimedia/gstreamer80/files/patch-libs::ext::cothreads::tests::Makefile.in
@@ -0,0 +1,11 @@
+--- libs/ext/cothreads/tests/Makefile.in.orig Wed Jul 10 15:44:45 2002
++++ libs/ext/cothreads/tests/Makefile.in Wed Jul 10 15:45:06 2002
+@@ -76,7 +76,7 @@
+ GLIB_CFLAGS = @GLIB_CFLAGS@
+ GLIB_LIBS = @GLIB_LIBS@
+ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
+-GTHREAD_LIBS = @GTHREAD_LIBS@
++GTHREAD_LIBS = -lc @GTHREAD_LIBS@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LIBTOOL = @LIBTOOL@
+ LN_S = @LN_S@
diff --git a/multimedia/gstreamer80/files/patch-libs::ext::cothreads::tests::cothreads.c b/multimedia/gstreamer80/files/patch-libs::ext::cothreads::tests::cothreads.c
new file mode 100644
index 000000000000..a7ca2581f2b7
--- /dev/null
+++ b/multimedia/gstreamer80/files/patch-libs::ext::cothreads::tests::cothreads.c
@@ -0,0 +1,18 @@
+--- libs/ext/cothreads/tests/cothreads.c.orig Fri Jun 21 01:33:11 2002
++++ libs/ext/cothreads/tests/cothreads.c Mon Jul 15 18:11:38 2002
+@@ -79,10 +79,13 @@
+ printf ("0: creating the gthreads\n");
+ for (i=0; i<NGTHREADS; i++) {
+ pthreadnum[i] = i+1;
+- if (posix_memalign (&stack, MAIN_STACK_SIZE, MAIN_STACK_SIZE))
++ stack = malloc (MAIN_STACK_SIZE * (1.0 + 1.0/16));
++ if (!stack)
+ perror ("allocating pthread stack of size %d", MAIN_STACK_SIZE);
++ stack = (void*)((int)stack &~ (int)(MAIN_STACK_SIZE / 16 - 1));
++ stack += 1;
+ pthread_attr_init (&attr[i]);
+- if (!pthread_attr_setstack (&attr[i], stack, MAIN_STACK_SIZE))
++ if (!pthread_attr_setstacksize (&attr[i], MAIN_STACK_SIZE))
+ perror ("setting stack size");
+ pthread_create (&thread[i], &attr[i], pthread, &pthreadnum[i]);
+ }
diff --git a/multimedia/gstreamer80/pkg-comment b/multimedia/gstreamer80/pkg-comment
new file mode 100644
index 000000000000..958787fc1c6d
--- /dev/null
+++ b/multimedia/gstreamer80/pkg-comment
@@ -0,0 +1 @@
+Development framework for creating media applications
diff --git a/multimedia/gstreamer80/pkg-descr b/multimedia/gstreamer80/pkg-descr
new file mode 100644
index 000000000000..3e7e98b0eab0
--- /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 000000000000..e1de17b4f5a6
--- /dev/null
+++ b/multimedia/gstreamer80/pkg-plist
@@ -0,0 +1,85 @@
+@unexec %D/bin/gst-register 2>/dev/null
+bin/gst-complete
+bin/gst-compprep
+bin/gst-feedback
+bin/gst-inspect
+bin/gst-launch
+bin/gst-register
+bin/gst-xmllaunch
+include/gstreamer/gst/bytestream/bytestream.h
+include/gstreamer/gst/control/control.h
+include/gstreamer/gst/control/dparam.h
+include/gstreamer/gst/control/dparam_smooth.h
+include/gstreamer/gst/control/dparamcommon.h
+include/gstreamer/gst/control/dparammanager.h
+include/gstreamer/gst/control/dplinearinterp.h
+include/gstreamer/gst/control/unitconvert.h
+include/gstreamer/gst/getbits/getbits.h
+include/gstreamer/gst/gst.h
+include/gstreamer/gst/gstautoplug.h
+include/gstreamer/gst/gstbin.h
+include/gstreamer/gst/gstbuffer.h
+include/gstreamer/gst/gstbufferpool.h
+include/gstreamer/gst/gstcaps.h
+include/gstreamer/gst/gstclock.h
+include/gstreamer/gst/gstconfig.h
+include/gstreamer/gst/gstcpu.h
+include/gstreamer/gst/gstdata.h
+include/gstreamer/gst/gstelement.h
+include/gstreamer/gst/gstenumtypes.h
+include/gstreamer/gst/gstevent.h
+include/gstreamer/gst/gstextratypes.h
+include/gstreamer/gst/gstformat.h
+include/gstreamer/gst/gstinfo.h
+include/gstreamer/gst/gstlog.h
+include/gstreamer/gst/gstmarshal.h
+include/gstreamer/gst/gstobject.h
+include/gstreamer/gst/gstpad.h
+include/gstreamer/gst/gstparse.h
+include/gstreamer/gst/gstpipeline.h
+include/gstreamer/gst/gstplugin.h
+include/gstreamer/gst/gstpluginfeature.h
+include/gstreamer/gst/gstprops.h
+include/gstreamer/gst/gstqueue.h
+include/gstreamer/gst/gstregistry.h
+include/gstreamer/gst/gstscheduler.h
+include/gstreamer/gst/gstsystemclock.h
+include/gstreamer/gst/gstthread.h
+include/gstreamer/gst/gsttimecache.h
+include/gstreamer/gst/gsttrace.h
+include/gstreamer/gst/gsttype.h
+include/gstreamer/gst/gsttypefind.h
+include/gstreamer/gst/gsttypes.h
+include/gstreamer/gst/gstutils.h
+include/gstreamer/gst/gstversion.h
+include/gstreamer/gst/gstxml.h
+include/gstreamer/gst/putbits/putbits.h
+lib/gst/libgstautoplugcache.so
+lib/gst/libgstautoplugger.so
+lib/gst/libgstbasicscheduler.so
+lib/gst/libgstbytestream.so
+lib/gst/libgstcontrol.so
+lib/gst/libgstelements.so
+lib/gst/libgstfastbasicscheduler.so
+lib/gst/libgstfaststandardscheduler.so
+lib/gst/libgstgetbits.so
+lib/gst/libgstputbits.so
+lib/gst/libgstspider.so
+lib/gst/libgststandardscheduler.so
+lib/gst/libgststaticautoplug.so
+lib/gst/libgststaticautoplugrender.so
+lib/gst/libgsttypes.so
+lib/libgstreamer.a
+lib/libgstreamer.so
+lib/libgstreamer.so.0
+libdata/pkgconfig/gstreamer.pc
+@dirrm lib/gst
+@dirrm include/gstreamer/gst/putbits
+@dirrm include/gstreamer/gst/getbits
+@dirrm include/gstreamer/gst/control
+@dirrm include/gstreamer/gst/bytestream
+@dirrm include/gstreamer/gst
+@dirrm include/gstreamer
+@exec %D/bin/gst-register 2>/dev/null
+@unexec rm %D/etc/gstreamer/registry.xml 2>/dev/null || true
+@unexec rmdir %D/etc/gstreamer 2>/dev/null || echo "There are some configuration files left in ${PKG_PREFIX}/etc/gstreamer, do not forget to remove them if you are permanently removing gstreamer port."