[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FIX: devel/gstreamer-plugins fix+enhancement (needs testing)



Hi,


building gstreamer-plugins with libdvdnav installed (required by vlc, for example) fails:


`/usr/ports/devel/gstreamer-plugins/w-gstreamer-plugins-0.8.11p4/gst-plugins-0.8.11/ext/dvdnav'
[...]
cc -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/local/include -I/usr/X11R6/include -I../../gst-libs -I../../gst-libs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -I/usr/local/include/gstreamer-0.8 -I/usr/local/include/glib-2.0
-I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I/usr/local/include -DGST_DISABLE_DEPRECATED -Wall -I/usr/local/include -I/usr/local/include/dvdnav -O2 -pipe -MT libgstdvdnavsrc_la-dvdnavsrc.lo -MD -MP -MF .deps/l
ibgstdvdnavsrc_la-dvdnavsrc.Tpo -c dvdnavsrc.c -fPIC -DPIC -o .libs/libgstdvdnavsrc_la-dvdnavsrc.o
In file included from /usr/local/include/dvdread/ifo_read.h:24,
from dvdnavsrc.c:36:
/usr/local/include/dvdread/ifo_types.h:35:2: #error "Must include <inttypes.h> or <stdint.h> before any libdvdread header."
gmake[3]: *** [libgstdvdnavsrc_la-dvdnavsrc.lo] Error 1


The attached patch fixes this by explicitly disabling libdvdnav support. It also takes care of additional dependencies (I hope I got them all) and adds three new subpackages. It's "make update-plist"-clean with my fairly large collection of installed packages now. Please see the description in the patch itself ...

Fyi, this issue also affects _3_9, but only the port and not the packages. Bulk package builders seem to be lucky because it's built early in the devel/ category. ;-)


Moritz
- Ensure that unwanted plugins are neither built nor screwing with us in the
  first place (fixes build with libdvdnav installed)
- Add three more subpackages: Ogg Theora (video, -theora), Musepack/MPC (audio,
  -mpc), Streaming via libshout to Icecast servers (-shout)

No PKGNAME bumps, since existing packages did not change. No -faad subpackage,
because that plugin is in the "Bad" category of gstreamer. Those who play DVDs
with gstreamer might also consider trying to rename the -dvdread subpackage
to "-dvd" and incorporate libdvdnav -- requires patching, because it's a bit
screwy (needs #include <stdint.h> before including libdvdread headers ... however,
gstreamer seems to be generating its own _stdint.h file, so the proper fix might
use that one, or not.)

Builds on i386 and passes lib-depends-check, HOWEVER, it still needs testing.
I do not use gstreamer at all; I just fixed this so it would work as a dependency
for something.


diff -pruN --exclude=CVS /usr/ports/devel/gstreamer-plugins/Makefile ./Makefile
--- /usr/ports/devel/gstreamer-plugins/Makefile	Wed Mar 15 14:27:20 2006
+++ ./Makefile	Wed Mar 15 14:26:59 2006
@@ -49,7 +49,13 @@ CONFIGURE_ARGS+=	--with-gconf-schema-fil
 
 # Disable plugins might try to build that we shouldn't
 #CONFIGURE_ARGS+=	--disable-mpeg2enc
-CONFIGURE_ARGS+=	--disable-tests
+CONFIGURE_ARGS+=	--disable-tests \
+			--disable-arts \
+			--disable-artsc \
+			--disable-dvdnav \
+			--disable-faad \
+			--disable-libmng \
+			--disable-sndfile
 
 CONFIGURE_ENV=		CPPFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include" \
 			LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib"
@@ -334,6 +340,28 @@ CONFIGURE_ARGS+=	--disable-mpeg2dec
 . endif
 .endif
 
+# musepack
+COMMENT-mpc=		"GStreamer plugin for playing Musepack (MPC) audio files"
+PKGNAME-mpc=		gstreamer-mpc-${VERSION}${PATCHLEVEL}
+PSEUDO_FLAVORS+=	no_mpc
+.if !${FLAVOR:L:Mno_mpc} && !${FLAVOR:L:Mminimal}
+MULTI_PACKAGES+=	-mpc
+.endif
+.if defined(PACKAGING)
+. if ${SUBPACKAGE} == "-mpc"
+WANTLIB=		${PL_WANTLIB}
+LIB_DEPENDS=		gstreamer-0.8.0.0::devel/gstreamer \
+			mpcdec.1::audio/libmpcdec
+. endif
+.else
+. if ${MULTI_PACKAGES:M-mpc}
+BUILD_DEPENDS+=		::audio/libmpcdec
+CONFIGURE_ARGS+=	--enable-musepack
+. else
+CONFIGURE_ARGS+=	--disable-musepack
+. endif
+.endif
+
 # ogg
 COMMENT-ogg=		"GStreamer plugin for demuxing Ogg streams"
 PKGNAME-ogg=		gstreamer-ogg-${VERSION}${PATCHLEVEL}
@@ -379,6 +407,29 @@ CONFIGURE_ARGS+=	--disable-sdl
 . endif
 .endif
 
+# shout2
+COMMENT-shout=		"GStreamer plugin for streaming to Icecast servers"
+PKGNAME-shout=		gstreamer-shout-${VERSION}${PATCHLEVEL}
+PSEUDO_FLAVORS+=	no_shout
+.if !${FLAVOR:L:Mno_shout} && !${FLAVOR:L:Mminimal}
+MULTI_PACKAGES+=	-shout
+.endif
+.if defined(PACKAGING)
+. if ${SUBPACKAGE} == "-shout"
+WANTLIB=		${PL_WANTLIB} ogg theora vorbis
+LIB_DEPENDS=		gstreamer-0.8.0.0::devel/gstreamer \
+			shout.3::net/libshout \
+			speex.4::audio/speex
+. endif
+.else
+. if ${MULTI_PACKAGES:M-shout}
+BUILD_DEPENDS+=		::net/libshout
+CONFIGURE_ARGS+=	--enable-shout2
+. else
+CONFIGURE_ARGS+=	--disable-shout2
+. endif
+.endif
+
 # speex
 COMMENT-speex=		"GStreamer plugin for speex"
 PKGNAME-speex=		gstreamer-speex-${VERSION}${PATCHLEVEL}
@@ -398,6 +449,28 @@ BUILD_DEPENDS+=		:speex->=1.0.5:audio/sp
 CONFIGURE_ARGS+=	--enable-speex
 . else
 CONFIGURE_ARGS+=	--disable-speex
+. endif
+.endif
+
+# theora
+COMMENT-theora=		"GStreamer plugin for Theora video files"
+PKGNAME-theora=		gstreamer-theora-${VERSION}${PATCHLEVEL}
+PSEUDO_FLAVORS+=	no_theora
+.if !${FLAVOR:L:Mno_theora} && !${FLAVOR:L:Mminimal}
+MULTI_PACKAGES+=        -theora
+.endif
+.if defined(PACKAGING)
+. if ${SUBPACKAGE} == "-theora"
+WANTLIB=		${PL_WANTLIB} ogg
+LIB_DEPENDS=		gstreamer-0.8.0.0::devel/gstreamer \
+			theora.1::multimedia/libtheora
+. endif
+.else
+. if ${MULTI_PACKAGES:M-theora}
+BUILD_DEPENDS+=		::multimedia/libtheora
+CONFIGURE_ARGS+=	--enable-theora
+. else
+CONFIGURE_ARGS+=	--disable-theora
 . endif
 .endif
 
diff -pruN --exclude=CVS /usr/ports/devel/gstreamer-plugins/pkg/DESCR-mpc ./pkg/DESCR-mpc
--- /usr/ports/devel/gstreamer-plugins/pkg/DESCR-mpc	Thu Jan  1 01:00:00 1970
+++ ./pkg/DESCR-mpc	Wed Mar 15 14:26:59 2006
@@ -0,0 +1,2 @@
+A Musepack (MPC) audio plugin for the GStreamer Streaming-media
+framework.
diff -pruN --exclude=CVS /usr/ports/devel/gstreamer-plugins/pkg/DESCR-shout ./pkg/DESCR-shout
--- /usr/ports/devel/gstreamer-plugins/pkg/DESCR-shout	Thu Jan  1 01:00:00 1970
+++ ./pkg/DESCR-shout	Wed Mar 15 14:26:59 2006
@@ -0,0 +1,2 @@
+A plugin for the GStreamer Streaming-media framework that allows
+streaming to Icecast servers.
diff -pruN --exclude=CVS /usr/ports/devel/gstreamer-plugins/pkg/DESCR-theora ./pkg/DESCR-theora
--- /usr/ports/devel/gstreamer-plugins/pkg/DESCR-theora	Thu Jan  1 01:00:00 1970
+++ ./pkg/DESCR-theora	Wed Mar 15 14:29:24 2006
@@ -0,0 +1,2 @@
+An Ogg Theora video plugin for the GStreamer Streaming-media
+framework.
diff -pruN --exclude=CVS /usr/ports/devel/gstreamer-plugins/pkg/PLIST-mpc ./pkg/PLIST-mpc
--- /usr/ports/devel/gstreamer-plugins/pkg/PLIST-mpc	Thu Jan  1 01:00:00 1970
+++ ./pkg/PLIST-mpc	Wed Mar 15 14:26:59 2006
@@ -0,0 +1,6 @@
+_(_at_)_comment $OpenBSD$
+lib/gstreamer-0.8/libgstmusepack.a
+lib/gstreamer-0.8/libgstmusepack.la
+lib/gstreamer-0.8/libgstmusepack.so
+_(_at_)_exec %D/bin/gst-register > /dev/null 2>&1
+_(_at_)_unexec %D/bin/gst-register > /dev/null 2>&1
diff -pruN --exclude=CVS /usr/ports/devel/gstreamer-plugins/pkg/PLIST-shout ./pkg/PLIST-shout
--- /usr/ports/devel/gstreamer-plugins/pkg/PLIST-shout	Thu Jan  1 01:00:00 1970
+++ ./pkg/PLIST-shout	Wed Mar 15 14:26:59 2006
@@ -0,0 +1,6 @@
+_(_at_)_comment $OpenBSD$
+lib/gstreamer-0.8/libgstshout2.a
+lib/gstreamer-0.8/libgstshout2.la
+lib/gstreamer-0.8/libgstshout2.so
+_(_at_)_exec %D/bin/gst-register > /dev/null 2>&1
+_(_at_)_unexec %D/bin/gst-register > /dev/null 2>&1
diff -pruN --exclude=CVS /usr/ports/devel/gstreamer-plugins/pkg/PLIST-theora ./pkg/PLIST-theora
--- /usr/ports/devel/gstreamer-plugins/pkg/PLIST-theora	Thu Jan  1 01:00:00 1970
+++ ./pkg/PLIST-theora	Wed Mar 15 14:26:59 2006
@@ -0,0 +1,6 @@
+_(_at_)_comment $OpenBSD$
+lib/gstreamer-0.8/libgsttheora.a
+lib/gstreamer-0.8/libgsttheora.la
+lib/gstreamer-0.8/libgsttheora.so
+_(_at_)_exec %D/bin/gst-register > /dev/null 2>&1
+_(_at_)_unexec %D/bin/gst-register > /dev/null 2>&1

Visit your host, monkey.org