ports/184035: net/liveMedia: upgrade to 2013.11.15 and reorganize

Thierry Thomas thierry at FreeBSD.org
Sun Nov 17 14:10:01 UTC 2013


>Number:         184035
>Category:       ports
>Synopsis:       net/liveMedia: upgrade to 2013.11.15 and reorganize
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 17 14:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Thierry Thomas
>Release:        FreeBSD 9.2-BETA2 i386
>Organization:
Kabbale Eros
>Environment:
System: FreeBSD graf.pompo.net 9.2-BETA2 FreeBSD 9.2-BETA2 #0 r253984: Tue Aug 6 19:35:52 CEST 2013 thierry at graf.pompo.net:/usr/obj/usr/src/sys/GRAF130324 i386


	
>Description:
	- Upgrade to 2013.11.15;

	- Stagify;

	- it seems that we can now use the targets supplied by upstream,
	  so that the port installs now as intended and like on the
	  other platforms;

	- switch to shared libraries, so that we shall be able to apply
	  minor upgrades without rebuilding its consumers.

>How-To-Repeat:
	N/A.

>Fix:
	Please apply the hereunder patch.

	Two other patches are also provided further to chase this
	upgrade in multimedia/vlc and multimedia/mplayer.

--- liveMedia.diff begins here ---
diff -urN net/liveMedia.orig/Makefile net/liveMedia/Makefile
--- net/liveMedia.orig/Makefile	2013-09-21 18:07:46.000000000 +0200
+++ net/liveMedia/Makefile	2013-11-17 14:23:41.000000000 +0100
@@ -2,7 +2,7 @@
 # $FreeBSD: head/net/liveMedia/Makefile 327755 2013-09-20 22:10:23Z bapt $
 
 PORTNAME=	liveMedia
-PORTVERSION=	2013.08.31
+PORTVERSION=	2013.11.15
 PORTEPOCH=	2
 CATEGORIES=	net devel
 MASTER_SITES=	SF/fbsdports/distfiles/ \
@@ -17,176 +17,15 @@
 NO_CDROM=	'dated material'
 
 WRKSRC=		${WRKDIR}/live
-PLIST=		${WRKDIR}/pkg-plist
 
 HAS_CONFIGURE=	yes
 
 CONFIGURE_SCRIPT=	genMakefiles
 CONFIGURE_ARGS=		fixed-${OPSYS:L}
 
-INSTALL_DATADIR=	${INSTALL} -d ${_SHROWNGRP} -m 755
+USES=		gmake
+USE_LDCONFIG=	yes
 
-CFLAGS+=	-DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1
-
-BasicUsageEnvironment=	\
-		BasicUsageEnvironment/include/BasicHashTable.hh \
-		BasicUsageEnvironment/include/BasicUsageEnvironment.hh \
-		BasicUsageEnvironment/include/BasicUsageEnvironment0.hh \
-		BasicUsageEnvironment/include/BasicUsageEnvironment_version.hh \
-		BasicUsageEnvironment/include/DelayQueue.hh \
-		BasicUsageEnvironment/include/HandlerSet.hh
-
-UsageEnvironment=	\
-		UsageEnvironment/include/Boolean.hh \
-		UsageEnvironment/include/HashTable.hh \
-		UsageEnvironment/include/UsageEnvironment.hh \
-		UsageEnvironment/include/UsageEnvironment_version.hh \
-		UsageEnvironment/include/strDup.hh
-
-groupsock=		\
-		groupsock/include/GroupEId.hh \
-		groupsock/include/Groupsock.hh \
-		groupsock/include/GroupsockHelper.hh \
-		groupsock/include/IOHandlers.hh \
-		groupsock/include/NetAddress.hh \
-		groupsock/include/NetCommon.h \
-		groupsock/include/NetInterface.hh \
-		groupsock/include/TunnelEncaps.hh \
-		groupsock/include/groupsock_version.hh
-
-liveMedia=		\
-		liveMedia/include/AC3AudioFileServerMediaSubsession.hh \
-		liveMedia/include/AC3AudioRTPSink.hh \
-		liveMedia/include/AC3AudioRTPSource.hh \
-		liveMedia/include/AC3AudioStreamFramer.hh \
-		liveMedia/include/ADTSAudioFileServerMediaSubsession.hh \
-		liveMedia/include/ADTSAudioFileSource.hh \
-		liveMedia/include/AMRAudioFileServerMediaSubsession.hh \
-		liveMedia/include/AMRAudioFileSink.hh \
-		liveMedia/include/AMRAudioFileSource.hh \
-		liveMedia/include/AMRAudioRTPSink.hh \
-		liveMedia/include/AMRAudioRTPSource.hh \
-		liveMedia/include/AMRAudioSource.hh \
-		liveMedia/include/AVIFileSink.hh \
-		liveMedia/include/AudioInputDevice.hh \
-		liveMedia/include/AudioRTPSink.hh \
-		liveMedia/include/Base64.hh \
-		liveMedia/include/BasicUDPSink.hh \
-		liveMedia/include/BasicUDPSource.hh \
-		liveMedia/include/ByteStreamFileSource.hh \
-		liveMedia/include/ByteStreamMemoryBufferSource.hh \
-		liveMedia/include/ByteStreamMultiFileSource.hh \
-		liveMedia/include/DVVideoFileServerMediaSubsession.hh \
-		liveMedia/include/DVVideoRTPSink.hh \
-		liveMedia/include/DVVideoRTPSource.hh \
-		liveMedia/include/DVVideoStreamFramer.hh \
-		liveMedia/include/DarwinInjector.hh \
-		liveMedia/include/DeviceSource.hh \
-		liveMedia/include/DigestAuthentication.hh \
-		liveMedia/include/FileServerMediaSubsession.hh \
-		liveMedia/include/FileSink.hh \
-		liveMedia/include/FramedFileSource.hh \
-		liveMedia/include/FramedFilter.hh \
-		liveMedia/include/FramedSource.hh \
-		liveMedia/include/GSMAudioRTPSink.hh \
-		liveMedia/include/H261VideoRTPSource.hh \
-		liveMedia/include/H263plusVideoFileServerMediaSubsession.hh \
-		liveMedia/include/H263plusVideoRTPSink.hh \
-		liveMedia/include/H263plusVideoRTPSource.hh \
-		liveMedia/include/H263plusVideoStreamFramer.hh \
-		liveMedia/include/H264VideoFileServerMediaSubsession.hh \
-		liveMedia/include/H264VideoFileSink.hh \
-		liveMedia/include/H264VideoRTPSink.hh \
-		liveMedia/include/H264VideoRTPSource.hh \
-		liveMedia/include/H264VideoStreamDiscreteFramer.hh \
-		liveMedia/include/H264VideoStreamFramer.hh \
-		liveMedia/include/InputFile.hh \
-		liveMedia/include/JPEGVideoRTPSink.hh \
-		liveMedia/include/JPEGVideoRTPSource.hh \
-		liveMedia/include/JPEGVideoSource.hh \
-		liveMedia/include/Locale.hh \
-		liveMedia/include/MP3ADU.hh \
-		liveMedia/include/MP3ADURTPSink.hh \
-		liveMedia/include/MP3ADURTPSource.hh \
-		liveMedia/include/MP3ADUTranscoder.hh \
-		liveMedia/include/MP3ADUinterleaving.hh \
-		liveMedia/include/MP3AudioFileServerMediaSubsession.hh \
-		liveMedia/include/MP3FileSource.hh \
-		liveMedia/include/MP3Transcoder.hh \
-		liveMedia/include/MPEG1or2AudioRTPSink.hh \
-		liveMedia/include/MPEG1or2AudioRTPSource.hh \
-		liveMedia/include/MPEG1or2AudioStreamFramer.hh \
-		liveMedia/include/MPEG1or2Demux.hh \
-		liveMedia/include/MPEG1or2DemuxedElementaryStream.hh \
-		liveMedia/include/MPEG1or2DemuxedServerMediaSubsession.hh \
-		liveMedia/include/MPEG1or2FileServerDemux.hh \
-		liveMedia/include/MPEG1or2VideoFileServerMediaSubsession.hh \
-		liveMedia/include/MPEG1or2VideoRTPSink.hh \
-		liveMedia/include/MPEG1or2VideoRTPSource.hh \
-		liveMedia/include/MPEG1or2VideoStreamDiscreteFramer.hh \
-		liveMedia/include/MPEG1or2VideoStreamFramer.hh \
-		liveMedia/include/MPEG2IndexFromTransportStream.hh \
-		liveMedia/include/MPEG2TransportFileServerMediaSubsession.hh \
-		liveMedia/include/MPEG2TransportStreamFramer.hh \
-		liveMedia/include/MPEG2TransportStreamFromESSource.hh \
-		liveMedia/include/MPEG2TransportStreamFromPESSource.hh \
-		liveMedia/include/MPEG2TransportStreamIndexFile.hh \
-		liveMedia/include/MPEG2TransportStreamMultiplexor.hh \
-		liveMedia/include/MPEG2TransportStreamTrickModeFilter.hh \
-		liveMedia/include/MPEG2TransportUDPServerMediaSubsession.hh \
-		liveMedia/include/MPEG4ESVideoRTPSink.hh \
-		liveMedia/include/MPEG4ESVideoRTPSource.hh \
-		liveMedia/include/MPEG4GenericRTPSink.hh \
-		liveMedia/include/MPEG4GenericRTPSource.hh \
-		liveMedia/include/MPEG4LATMAudioRTPSink.hh \
-		liveMedia/include/MPEG4LATMAudioRTPSource.hh \
-		liveMedia/include/MPEG4VideoFileServerMediaSubsession.hh \
-		liveMedia/include/MPEG4VideoStreamDiscreteFramer.hh \
-		liveMedia/include/MPEG4VideoStreamFramer.hh \
-		liveMedia/include/MPEGVideoStreamFramer.hh \
-		liveMedia/include/MatroskaFile.hh \
-		liveMedia/include/MatroskaFileServerDemux.hh \
-		liveMedia/include/Media.hh \
-		liveMedia/include/MediaSession.hh \
-		liveMedia/include/MediaSink.hh \
-		liveMedia/include/MediaSource.hh \
-		liveMedia/include/MultiFramedRTPSink.hh \
-		liveMedia/include/MultiFramedRTPSource.hh \
-		liveMedia/include/OnDemandServerMediaSubsession.hh \
-		liveMedia/include/OutputFile.hh \
-		liveMedia/include/PassiveServerMediaSubsession.hh \
-		liveMedia/include/ProxyServerMediaSession.hh \
-		liveMedia/include/QCELPAudioRTPSource.hh \
-		liveMedia/include/QuickTimeFileSink.hh \
-		liveMedia/include/QuickTimeGenericRTPSource.hh \
-		liveMedia/include/RTCP.hh \
-		liveMedia/include/RTPInterface.hh \
-		liveMedia/include/RTPSink.hh \
-		liveMedia/include/RTPSource.hh \
-		liveMedia/include/RTSPClient.hh \
-		liveMedia/include/RTSPCommon.hh \
-		liveMedia/include/RTSPServer.hh \
-		liveMedia/include/RTSPServerSupportingHTTPStreaming.hh \
-		liveMedia/include/SIPClient.hh \
-		liveMedia/include/ServerMediaSession.hh \
-		liveMedia/include/SimpleRTPSink.hh \
-		liveMedia/include/SimpleRTPSource.hh \
-		liveMedia/include/StreamReplicator.hh \
-		liveMedia/include/T140TextRTPSink.hh \
-		liveMedia/include/TCPStreamSink.hh \
-		liveMedia/include/TextRTPSink.hh \
-		liveMedia/include/VP8VideoRTPSink.hh \
-		liveMedia/include/VP8VideoRTPSource.hh \
-		liveMedia/include/VideoRTPSink.hh \
-		liveMedia/include/VorbisAudioRTPSink.hh \
-		liveMedia/include/VorbisAudioRTPSource.hh \
-		liveMedia/include/WAVAudioFileServerMediaSubsession.hh \
-		liveMedia/include/WAVAudioFileSource.hh \
-		liveMedia/include/liveMedia.hh \
-		liveMedia/include/liveMedia_version.hh \
-		liveMedia/include/uLawAudioFilter.hh
-
-NO_STAGE=	yes
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} == "amd64" || ${ARCH} == "ia64"
@@ -200,66 +39,6 @@
 .endif
 
 post-extract:
-	@${SED} -e "s|%%CFLAGS%%|${CFLAGS}|" \
-		${FILESDIR}/config.fixed-${OPSYS:L} > ${WRKSRC}/config.fixed-${OPSYS:L}
-
-post-build:
-	@${RM} -f ${PLIST}
-	@${TOUCH} ${PLIST}
-	@${ECHO_CMD} bin/playSIP  >> ${PLIST}
-	@${ECHO_CMD} bin/openRTSP >> ${PLIST}
-	@${ECHO_CMD} bin/sapWatch >> ${PLIST}
-	@${ECHO_CMD} live/BasicUsageEnvironment/libBasicUsageEnvironment.a >> ${PLIST}
-	@${ECHO_CMD} live/UsageEnvironment/libUsageEnvironment.a           >> ${PLIST}
-	@${ECHO_CMD} live/groupsock/libgroupsock.a                         >> ${PLIST}
-	@${ECHO_CMD} live/liveMedia/libliveMedia.a                         >> ${PLIST}
-.for file in ${BasicUsageEnvironment}
-	@${ECHO_CMD} live/BasicUsageEnvironment/include/${file:T} >> ${PLIST}
-.endfor
-.for file in ${UsageEnvironment}
-	@${ECHO_CMD} live/UsageEnvironment/include/${file:T}      >> ${PLIST}
-.endfor
-.for file in ${groupsock}
-	@${ECHO_CMD} live/groupsock/include/${file:T}             >> ${PLIST}
-.endfor
-.for file in ${liveMedia}
-	@${ECHO_CMD} live/liveMedia/include/${file:T}             >> ${PLIST}
-.endfor
-	@${CAT} ${.CURDIR}/pkg-plist >> ${PLIST}
-
-pre-su-install:
-	${INSTALL_DATADIR} ${PREFIX}/live
-	${INSTALL_DATADIR} ${PREFIX}/live/groupsock
-	${INSTALL_DATADIR} ${PREFIX}/live/liveMedia
-	${INSTALL_DATADIR} ${PREFIX}/live/UsageEnvironment
-	${INSTALL_DATADIR} ${PREFIX}/live/BasicUsageEnvironment
-	${INSTALL_DATADIR} ${PREFIX}/live/groupsock/include
-	${INSTALL_DATADIR} ${PREFIX}/live/liveMedia/include
-	${INSTALL_DATADIR} ${PREFIX}/live/UsageEnvironment/include
-	${INSTALL_DATADIR} ${PREFIX}/live/BasicUsageEnvironment/include
-
-do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/testProgs/playSIP  ${PREFIX}/bin/
-	${INSTALL_PROGRAM} ${WRKSRC}/testProgs/openRTSP ${PREFIX}/bin/
-	${INSTALL_PROGRAM} ${WRKSRC}/testProgs/sapWatch ${PREFIX}/bin/
-	${INSTALL_DATA} ${WRKSRC}/BasicUsageEnvironment/libBasicUsageEnvironment.a ${PREFIX}/live/BasicUsageEnvironment/
-	${INSTALL_DATA} ${WRKSRC}/UsageEnvironment/libUsageEnvironment.a           ${PREFIX}/live/UsageEnvironment/
-	${INSTALL_DATA} ${WRKSRC}/groupsock/libgroupsock.a                         ${PREFIX}/live/groupsock/
-	${INSTALL_DATA} ${WRKSRC}/liveMedia/libliveMedia.a                         ${PREFIX}/live/liveMedia/
-.for file in ${BasicUsageEnvironment}
-	${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/live/BasicUsageEnvironment/include/
-.endfor
-.for file in ${UsageEnvironment}
-	${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/live/UsageEnvironment/include/
-.endfor
-.for file in ${groupsock}
-	${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/live/groupsock/include/
-.endfor
-.for file in ${liveMedia}
-	${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/live/liveMedia/include/
-.endfor
-
-post-install:
-	@${CAT} ${PKGMESSAGE}
+	${CP} ${FILESDIR}/config.fixed-${OPSYS:L} ${WRKSRC}/
 
 .include <bsd.port.post.mk>
diff -urN net/liveMedia.orig/distinfo net/liveMedia/distinfo
--- net/liveMedia.orig/distinfo	2013-09-07 15:25:18.000000000 +0200
+++ net/liveMedia/distinfo	2013-11-17 14:25:37.000000000 +0100
@@ -1,2 +1,2 @@
-SHA256 (live.2013.08.31.tar.gz) = 138423301513c0cc9c6747b4e4e47fdfe21728cf579ffd2aa32fd6399152977c
-SIZE (live.2013.08.31.tar.gz) = 576582
+SHA256 (live.2013.11.15.tar.gz) = 3d9da9a357d5c9a6202e6879eaed55caf20bd4667c4c6febe9816b809ee58d28
+SIZE (live.2013.11.15.tar.gz) = 579421
diff -urN net/liveMedia.orig/files/config.fixed-freebsd net/liveMedia/files/config.fixed-freebsd
--- net/liveMedia.orig/files/config.fixed-freebsd	2013-01-27 21:12:13.000000000 +0100
+++ net/liveMedia/files/config.fixed-freebsd	2013-11-13 23:22:57.000000000 +0100
@@ -1,17 +1,45 @@
-COMPILE_OPTS =		%%CFLAGS%% $(INCLUDES) -I. -DBSD=1 -DSOCKLEN_T=socklen_t -DHAVE_SOCKADDR_LEN=1
+# 'CURRENT':'REVISION':'AGE' are updated - whenever a library changes - as follows:
+# The library code changes, but without any changes to the API (i.e., interfaces) => increment REVISION
+# At least one interface changes, or is removed => CURRENT += 1; REVISION = 0; AGE = 0
+# One or more interfaces were added, but no existing interfaces were changed or removed => CURRENT += 1; REVISION = 0; AGE += 1
+
+libliveMedia_VERSION_CURRENT=	16
+libliveMedia_VERSION_REVISION=	1
+libliveMedia_VERSION_AGE=	0
+libliveMedia_LIB_SUFFIX=	so.$(shell expr $(libliveMedia_VERSION_CURRENT) - $(libliveMedia_VERSION_AGE)).$(libliveMedia_VERSION_AGE).$(libliveMedia_VERSION_REVISION)
+
+libBasicUsageEnvironment_VERSION_CURRENT=	0
+libBasicUsageEnvironment_VERSION_REVISION=	1
+libBasicUsageEnvironment_VERSION_AGE=	0
+libBasicUsageEnvironment_LIB_SUFFIX=	so.$(shell expr $(libBasicUsageEnvironment_VERSION_CURRENT) - $(libBasicUsageEnvironment_VERSION_AGE)).$(libBasicUsageEnvironment_VERSION_AGE).$(libBasicUsageEnvironment_VERSION_REVISION)
+
+libUsageEnvironment_VERSION_CURRENT=	1
+libUsageEnvironment_VERSION_REVISION=	0
+libUsageEnvironment_VERSION_AGE=	0
+libUsageEnvironment_LIB_SUFFIX=	so.$(shell expr $(libUsageEnvironment_VERSION_CURRENT) - $(libUsageEnvironment_VERSION_AGE)).$(libUsageEnvironment_VERSION_AGE).$(libUsageEnvironment_VERSION_REVISION)
+
+libgroupsock_VERSION_CURRENT=	1
+libgroupsock_VERSION_REVISION=	1
+libgroupsock_VERSION_AGE=	0
+libgroupsock_LIB_SUFFIX=	so.$(shell expr $(libgroupsock_VERSION_CURRENT) - $(libgroupsock_VERSION_AGE)).$(libgroupsock_VERSION_AGE).$(libgroupsock_VERSION_REVISION)
+#####
+
+COMPILE_OPTS =		$(INCLUDES) -I. -DBSD=1 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DHAVE_SOCKADDR_LEN=1
 C =			c
-CPP =			cpp
 C_COMPILER =		$(CC)
-C_FLAGS =		$(COMPILE_OPTS)
+C_FLAGS =		$(COMPILE_OPTS) $(CPPFLAGS) $(CFLAGS)
+CPP =			cpp
 CPLUSPLUS_COMPILER =	$(CXX)
-CPLUSPLUS_FLAGS =	$(COMPILE_OPTS) -Wall -Wno-deprecated
+CPLUSPLUS_FLAGS =	$(COMPILE_OPTS) -Wall -DBSD=1 $(CPPFLAGS) $(CXXFLAGS) -Wno-deprecated
 OBJ =			o
 LINK =			$(CXX) -o
-LINK_OPTS =		-L.
+LINK_OPTS =		-L. $(LDFLAGS)
 CONSOLE_LINK_OPTS =	$(LINK_OPTS)
-LIBRARY_LINK =		$(AR) cr
-LIBRARY_LINK_OPTS =	
-LIB_SUFFIX =			a
+LIBRARY_LINK =		$(CC) -o
+SHORT_LIB_SUFFIX=	so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE))
+LIB_SUFFIX =	 	$(SHORT_LIB_SUFFIX).$($(NAME)_VERSION_AGE).$($(NAME)_VERSION_REVISION)
+LIBRARY_LINK_OPTS =	-shared -Wl,-soname,$(NAME).$(SHORT_LIB_SUFFIX) $(LDFLAGS)
 LIBS_FOR_CONSOLE_APPLICATION =
 LIBS_FOR_GUI_APPLICATION =
 EXE =
+INSTALL2 =		install_shared_libraries
diff -urN net/liveMedia.orig/files/patch-mediaServer_Makefile.tail net/liveMedia/files/patch-mediaServer_Makefile.tail
--- net/liveMedia.orig/files/patch-mediaServer_Makefile.tail	1970-01-01 01:00:00.000000000 +0100
+++ net/liveMedia/files/patch-mediaServer_Makefile.tail	2013-11-13 23:36:38.000000000 +0100
@@ -0,0 +1,10 @@
+--- mediaServer/Makefile.tail.orig	2013-11-10 06:24:08.000000000 +0100
++++ mediaServer/Makefile.tail	2013-11-13 23:36:14.000000000 +0100
+@@ -36,6 +36,6 @@
+ 
+ install: $(MEDIA_SERVER)
+ 	  install -d $(DESTDIR)$(PREFIX)/bin
+-	  install -m 755 $(MEDIA_SERVER) $(DESTDIR)$(PREFIX)/bin
++	  install -s -m 755 $(MEDIA_SERVER) $(DESTDIR)$(PREFIX)/bin
+ 
+ ##### Any additional, platform-specific rules come here:
diff -urN net/liveMedia.orig/files/patch-proxyServer_Makefile.tail net/liveMedia/files/patch-proxyServer_Makefile.tail
--- net/liveMedia.orig/files/patch-proxyServer_Makefile.tail	1970-01-01 01:00:00.000000000 +0100
+++ net/liveMedia/files/patch-proxyServer_Makefile.tail	2013-11-13 23:35:40.000000000 +0100
@@ -0,0 +1,10 @@
+--- proxyServer/Makefile.tail.orig	2013-11-10 06:24:08.000000000 +0100
++++ proxyServer/Makefile.tail	2013-11-13 23:35:11.000000000 +0100
+@@ -33,6 +33,6 @@
+ 
+ install: $(PROXY_SERVER)
+ 	  install -d $(DESTDIR)$(PREFIX)/bin
+-	  install -m 755 $(PROXY_SERVER) $(DESTDIR)$(PREFIX)/bin
++	  install -s -m 755 $(PROXY_SERVER) $(DESTDIR)$(PREFIX)/bin
+ 
+ ##### Any additional, platform-specific rules come here:
diff -urN net/liveMedia.orig/files/patch-testProgs_Makefile.tail net/liveMedia/files/patch-testProgs_Makefile.tail
--- net/liveMedia.orig/files/patch-testProgs_Makefile.tail	1970-01-01 01:00:00.000000000 +0100
+++ net/liveMedia/files/patch-testProgs_Makefile.tail	2013-11-13 23:31:41.000000000 +0100
@@ -0,0 +1,10 @@
+--- testProgs/Makefile.tail.orig	2013-11-10 06:24:08.000000000 +0100
++++ testProgs/Makefile.tail	2013-11-13 23:31:11.000000000 +0100
+@@ -134,6 +134,6 @@
+ 
+ install: $(ALL)
+ 	  install -d $(DESTDIR)$(PREFIX)/bin
+-	  install -m 755 $(ALL) $(DESTDIR)$(PREFIX)/bin
++	  install -s -m 755 $(ALL) $(DESTDIR)$(PREFIX)/bin
+ 
+ ##### Any additional, platform-specific rules come here:
diff -urN net/liveMedia.orig/pkg-plist net/liveMedia/pkg-plist
--- net/liveMedia.orig/pkg-plist	2013-01-27 21:12:13.000000000 +0100
+++ net/liveMedia/pkg-plist	2013-11-17 14:28:16.000000000 +0100
@@ -1,9 +1,196 @@
- at dirrm live/BasicUsageEnvironment/include
- at dirrm live/UsageEnvironment/include
- at dirrm live/groupsock/include
- at dirrm live/liveMedia/include
- at dirrm live/BasicUsageEnvironment
- at dirrm live/UsageEnvironment
- at dirrm live/groupsock
- at dirrm live/liveMedia
- at dirrm live
+bin/MPEG2TransportStreamIndexer
+bin/live555MediaServer
+bin/live555ProxyServer
+bin/openRTSP
+bin/playSIP
+bin/registerRTSPStream
+bin/sapWatch
+bin/testAMRAudioStreamer
+bin/testDVVideoStreamer
+bin/testH264VideoStreamer
+bin/testH264VideoToTransportStream
+bin/testMP3Receiver
+bin/testMP3Streamer
+bin/testMPEG1or2AudioVideoStreamer
+bin/testMPEG1or2ProgramToTransportStream
+bin/testMPEG1or2Splitter
+bin/testMPEG1or2VideoReceiver
+bin/testMPEG1or2VideoStreamer
+bin/testMPEG2TransportReceiver
+bin/testMPEG2TransportStreamTrickPlay
+bin/testMPEG2TransportStreamer
+bin/testMPEG4VideoStreamer
+bin/testOnDemandRTSPServer
+bin/testRTSPClient
+bin/testRelay
+bin/testReplicator
+bin/testWAVAudioStreamer
+bin/vobStreamer
+include/BasicUsageEnvironment/BasicHashTable.hh
+include/BasicUsageEnvironment/BasicUsageEnvironment.hh
+include/BasicUsageEnvironment/BasicUsageEnvironment0.hh
+include/BasicUsageEnvironment/BasicUsageEnvironment_version.hh
+include/BasicUsageEnvironment/DelayQueue.hh
+include/BasicUsageEnvironment/HandlerSet.hh
+include/UsageEnvironment/Boolean.hh
+include/UsageEnvironment/HashTable.hh
+include/UsageEnvironment/UsageEnvironment.hh
+include/UsageEnvironment/UsageEnvironment_version.hh
+include/UsageEnvironment/strDup.hh
+include/groupsock/GroupEId.hh
+include/groupsock/Groupsock.hh
+include/groupsock/GroupsockHelper.hh
+include/groupsock/IOHandlers.hh
+include/groupsock/NetAddress.hh
+include/groupsock/NetCommon.h
+include/groupsock/NetInterface.hh
+include/groupsock/TunnelEncaps.hh
+include/groupsock/groupsock_version.hh
+include/liveMedia/AC3AudioFileServerMediaSubsession.hh
+include/liveMedia/AC3AudioRTPSink.hh
+include/liveMedia/AC3AudioRTPSource.hh
+include/liveMedia/AC3AudioStreamFramer.hh
+include/liveMedia/ADTSAudioFileServerMediaSubsession.hh
+include/liveMedia/ADTSAudioFileSource.hh
+include/liveMedia/AMRAudioFileServerMediaSubsession.hh
+include/liveMedia/AMRAudioFileSink.hh
+include/liveMedia/AMRAudioFileSource.hh
+include/liveMedia/AMRAudioRTPSink.hh
+include/liveMedia/AMRAudioRTPSource.hh
+include/liveMedia/AMRAudioSource.hh
+include/liveMedia/AVIFileSink.hh
+include/liveMedia/AudioInputDevice.hh
+include/liveMedia/AudioRTPSink.hh
+include/liveMedia/Base64.hh
+include/liveMedia/BasicUDPSink.hh
+include/liveMedia/BasicUDPSource.hh
+include/liveMedia/BitVector.hh
+include/liveMedia/ByteStreamFileSource.hh
+include/liveMedia/ByteStreamMemoryBufferSource.hh
+include/liveMedia/ByteStreamMultiFileSource.hh
+include/liveMedia/DVVideoFileServerMediaSubsession.hh
+include/liveMedia/DVVideoRTPSink.hh
+include/liveMedia/DVVideoRTPSource.hh
+include/liveMedia/DVVideoStreamFramer.hh
+include/liveMedia/DarwinInjector.hh
+include/liveMedia/DeviceSource.hh
+include/liveMedia/DigestAuthentication.hh
+include/liveMedia/FileServerMediaSubsession.hh
+include/liveMedia/FileSink.hh
+include/liveMedia/FramedFileSource.hh
+include/liveMedia/FramedFilter.hh
+include/liveMedia/FramedSource.hh
+include/liveMedia/GSMAudioRTPSink.hh
+include/liveMedia/H261VideoRTPSource.hh
+include/liveMedia/H263plusVideoFileServerMediaSubsession.hh
+include/liveMedia/H263plusVideoRTPSink.hh
+include/liveMedia/H263plusVideoRTPSource.hh
+include/liveMedia/H263plusVideoStreamFramer.hh
+include/liveMedia/H264VideoFileServerMediaSubsession.hh
+include/liveMedia/H264VideoFileSink.hh
+include/liveMedia/H264VideoRTPSink.hh
+include/liveMedia/H264VideoRTPSource.hh
+include/liveMedia/H264VideoStreamDiscreteFramer.hh
+include/liveMedia/H264VideoStreamFramer.hh
+include/liveMedia/InputFile.hh
+include/liveMedia/JPEGVideoRTPSink.hh
+include/liveMedia/JPEGVideoRTPSource.hh
+include/liveMedia/JPEGVideoSource.hh
+include/liveMedia/Locale.hh
+include/liveMedia/MP3ADU.hh
+include/liveMedia/MP3ADURTPSink.hh
+include/liveMedia/MP3ADURTPSource.hh
+include/liveMedia/MP3ADUTranscoder.hh
+include/liveMedia/MP3ADUinterleaving.hh
+include/liveMedia/MP3AudioFileServerMediaSubsession.hh
+include/liveMedia/MP3FileSource.hh
+include/liveMedia/MP3Transcoder.hh
+include/liveMedia/MPEG1or2AudioRTPSink.hh
+include/liveMedia/MPEG1or2AudioRTPSource.hh
+include/liveMedia/MPEG1or2AudioStreamFramer.hh
+include/liveMedia/MPEG1or2Demux.hh
+include/liveMedia/MPEG1or2DemuxedElementaryStream.hh
+include/liveMedia/MPEG1or2DemuxedServerMediaSubsession.hh
+include/liveMedia/MPEG1or2FileServerDemux.hh
+include/liveMedia/MPEG1or2VideoFileServerMediaSubsession.hh
+include/liveMedia/MPEG1or2VideoRTPSink.hh
+include/liveMedia/MPEG1or2VideoRTPSource.hh
+include/liveMedia/MPEG1or2VideoStreamDiscreteFramer.hh
+include/liveMedia/MPEG1or2VideoStreamFramer.hh
+include/liveMedia/MPEG2IndexFromTransportStream.hh
+include/liveMedia/MPEG2TransportFileServerMediaSubsession.hh
+include/liveMedia/MPEG2TransportStreamFramer.hh
+include/liveMedia/MPEG2TransportStreamFromESSource.hh
+include/liveMedia/MPEG2TransportStreamFromPESSource.hh
+include/liveMedia/MPEG2TransportStreamIndexFile.hh
+include/liveMedia/MPEG2TransportStreamMultiplexor.hh
+include/liveMedia/MPEG2TransportStreamTrickModeFilter.hh
+include/liveMedia/MPEG2TransportUDPServerMediaSubsession.hh
+include/liveMedia/MPEG4ESVideoRTPSink.hh
+include/liveMedia/MPEG4ESVideoRTPSource.hh
+include/liveMedia/MPEG4GenericRTPSink.hh
+include/liveMedia/MPEG4GenericRTPSource.hh
+include/liveMedia/MPEG4LATMAudioRTPSink.hh
+include/liveMedia/MPEG4LATMAudioRTPSource.hh
+include/liveMedia/MPEG4VideoFileServerMediaSubsession.hh
+include/liveMedia/MPEG4VideoStreamDiscreteFramer.hh
+include/liveMedia/MPEG4VideoStreamFramer.hh
+include/liveMedia/MPEGVideoStreamFramer.hh
+include/liveMedia/MatroskaFile.hh
+include/liveMedia/MatroskaFileServerDemux.hh
+include/liveMedia/Media.hh
+include/liveMedia/MediaSession.hh
+include/liveMedia/MediaSink.hh
+include/liveMedia/MediaSource.hh
+include/liveMedia/MultiFramedRTPSink.hh
+include/liveMedia/MultiFramedRTPSource.hh
+include/liveMedia/OnDemandServerMediaSubsession.hh
+include/liveMedia/OutputFile.hh
+include/liveMedia/PassiveServerMediaSubsession.hh
+include/liveMedia/ProxyServerMediaSession.hh
+include/liveMedia/QCELPAudioRTPSource.hh
+include/liveMedia/QuickTimeFileSink.hh
+include/liveMedia/QuickTimeGenericRTPSource.hh
+include/liveMedia/RTCP.hh
+include/liveMedia/RTPInterface.hh
+include/liveMedia/RTPSink.hh
+include/liveMedia/RTPSource.hh
+include/liveMedia/RTSPClient.hh
+include/liveMedia/RTSPCommon.hh
+include/liveMedia/RTSPRegisterSender.hh
+include/liveMedia/RTSPServer.hh
+include/liveMedia/RTSPServerSupportingHTTPStreaming.hh
+include/liveMedia/SIPClient.hh
+include/liveMedia/ServerMediaSession.hh
+include/liveMedia/SimpleRTPSink.hh
+include/liveMedia/SimpleRTPSource.hh
+include/liveMedia/StreamReplicator.hh
+include/liveMedia/T140TextRTPSink.hh
+include/liveMedia/TCPStreamSink.hh
+include/liveMedia/TextRTPSink.hh
+include/liveMedia/VP8VideoRTPSink.hh
+include/liveMedia/VP8VideoRTPSource.hh
+include/liveMedia/VideoRTPSink.hh
+include/liveMedia/VorbisAudioRTPSink.hh
+include/liveMedia/VorbisAudioRTPSource.hh
+include/liveMedia/WAVAudioFileServerMediaSubsession.hh
+include/liveMedia/WAVAudioFileSource.hh
+include/liveMedia/liveMedia.hh
+include/liveMedia/liveMedia_version.hh
+include/liveMedia/uLawAudioFilter.hh
+lib/libBasicUsageEnvironment.so
+lib/libBasicUsageEnvironment.so.0
+lib/libBasicUsageEnvironment.so.0.0.1
+lib/libUsageEnvironment.so
+lib/libUsageEnvironment.so.1
+lib/libUsageEnvironment.so.1.0.0
+lib/libgroupsock.so
+lib/libgroupsock.so.1
+lib/libgroupsock.so.1.0.1
+lib/libliveMedia.so
+lib/libliveMedia.so.16
+lib/libliveMedia.so.16.0.1
+ at dirrm include/liveMedia
+ at dirrm include/groupsock
+ at dirrm include/UsageEnvironment
+ at dirrm include/BasicUsageEnvironment
--- liveMedia.diff ends here ---

--- vlc.diff begins here ---
diff -urN multimedia/vlc.orig/Makefile multimedia/vlc/Makefile
--- multimedia/vlc.orig/Makefile	2013-11-09 18:17:07.000000000 +0100
+++ multimedia/vlc/Makefile	2013-11-17 00:02:21.000000000 +0100
@@ -3,7 +3,7 @@
 
 PORTNAME=	vlc
 DISTVERSION=	2.1.0
-PORTREVISION=	5
+PORTREVISION=	6
 PORTEPOCH=	4
 CATEGORIES=	multimedia audio ipv6 net www
 MASTER_SITES=	http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
@@ -132,16 +132,13 @@
 LIRC_LIB_DEPENDS=	liblirc_client.so:${PORTSDIR}/comms/lirc
 LIRC_CONFIGURE_ENABLE=	lirc
 
-LIVEMEDIA_BUILD_DEPENDS=	${LOCALBASE}/live/liveMedia/libliveMedia.a:${PORTSDIR}/net/liveMedia
+LIVEMEDIA_LIB_DEPENDS=	libliveMedia.so:${PORTSDIR}/net/liveMedia
 LIVEMEDIA_CONFIGURE_ENABLE=	live555
-LIVEMEDIA_CPPFLAGS=	-I${LOCALBASE}/live/liveMedia/include \
-		-I${LOCALBASE}/live/BasicUsageEnvironment/include \
-		-I${LOCALBASE}/live/UsageEnvironment/include \
-		-I${LOCALBASE}/live/groupsock/include
-LIVEMEDIA_LDFLAGS=	-L${LOCALBASE}/live/groupsock \
-		-L${LOCALBASE}/live/liveMedia \
-		-L${LOCALBASE}/live/UsageEnvironment \
-		-L${LOCALBASE}/live/BasicUsageEnvironment
+LIVEMEDIA_CPPFLAGS=	-I${LOCALBASE}/include/liveMedia	\
+			-I${LOCALBASE}/include/UsageEnvironment	\
+			-I${LOCALBASE}/include/groupsock	\
+			-I${LOCALBASE}/include/BasicUsageEnvironment
+LIVEMEDIA_LDFLAGS=	-L${LOCALBASE}/lib
 
 MAD_LIB_DEPENDS=	libid3tag.so:${PORTSDIR}/audio/libid3tag \
 			libmad.so:${PORTSDIR}/audio/libmad
@@ -441,5 +438,4 @@
 		done | ${SORT} -r | ${SED} \
 		-e "s,${PREFIX}/,,g" | ${GREP} -v "^@unexec rmdir %D/share/licenses" >> ${TMPPLIST} || ${TRUE}
 
-
 .include <bsd.port.post.mk>
--- vlc.diff ends here ---

--- mplayer.diff begins here ---
diff -urN multimedia/mplayer.orig/Makefile multimedia/mplayer/Makefile
--- multimedia/mplayer.orig/Makefile	2013-09-21 18:08:52.000000000 +0200
+++ multimedia/mplayer/Makefile	2013-11-17 00:02:32.000000000 +0100
@@ -3,7 +3,7 @@
 
 PORTNAME=	mplayer
 PORTVERSION=	${MPLAYER_PORT_VERSION}
-PORTREVISION=	0
+PORTREVISION=	1
 
 COMMENT=	High performance media player supporting many formats
 
diff -urN multimedia/mplayer.orig/Makefile.options multimedia/mplayer/Makefile.options
--- multimedia/mplayer.orig/Makefile.options	2013-10-30 19:57:17.000000000 +0100
+++ multimedia/mplayer/Makefile.options	2013-11-16 23:14:25.000000000 +0100
@@ -135,15 +135,12 @@
 
 .if ${PORT_OPTIONS:MLIVEMEDIA}
 CONFIGURE_ARGS+=	--enable-live
-BUILD_DEPENDS+=		${LOCALBASE}/live/liveMedia/libliveMedia.a:${PORTSDIR}/net/liveMedia
-CFLAGS+=		-I${LOCALBASE}/live/liveMedia/include \
-			-I${LOCALBASE}/live/BasicUsageEnvironment/include \
-			-I${LOCALBASE}/live/UsageEnvironment/include \
-			-I${LOCALBASE}/live/groupsock/include
-LDFLAGS+=		-L${LOCALBASE}/live/liveMedia \
-			-L${LOCALBASE}/live/BasicUsageEnvironment \
-			-L${LOCALBASE}/live/UsageEnvironment \
-			-L${LOCALBASE}/live/groupsock \
+LIB_DEPENDS+=		libliveMedia.so:${PORTSDIR}/net/liveMedia
+CFLAGS+=		-I${LOCALBASE}/include/liveMedia	\
+			-I${LOCALBASE}/include/UsageEnvironment	\
+			-I${LOCALBASE}/include/groupsock	\
+			-I${LOCALBASE}/include/BasicUsageEnvironment
+LDFLAGS+=		-L${LOCALBASE}/lib	\
 			-lliveMedia \
 			-lUsageEnvironment \
 			-lBasicUsageEnvironment \
diff -urN multimedia/mplayer.orig/files/patch-configure multimedia/mplayer/files/patch-configure
--- multimedia/mplayer.orig/files/patch-configure	2013-03-25 23:32:11.000000000 +0100
+++ multimedia/mplayer/files/patch-configure	2013-11-16 23:42:20.000000000 +0100
@@ -1,5 +1,5 @@
---- configure.orig	2013-03-03 11:29:18.000000000 +0100
-+++ configure	2013-03-22 17:20:44.452775673 +0100
+--- configure.orig	2013-11-16 23:28:21.000000000 +0100
++++ configure	2013-11-16 23:36:32.000000000 +0100
 @@ -668,7 +668,7 @@
  _iwmmxt=auto
  _mtrr=auto
@@ -17,6 +17,15 @@
      ;;
  
    esac
+@@ -1592,7 +1591,7 @@
+   esac
+   echores "$cc_version"
+ else
+-  for _cc in "$_cc" gcc cc ; do
++  for _cc in "$_cc" clang cc ; do
+     cc_name_tmp=$($_cc -v 2>&1 | tail -n 1 | cut -d ' ' -f 1)
+     if test "$cc_name_tmp" = "gcc"; then
+       cc_name=$cc_name_tmp
 @@ -1669,7 +1668,7 @@
    case "$(uname -m 2>&1)" in
        x86_64|amd64|i[3-9]86*|i86pc|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686) host_arch=i386 ;;
@@ -34,6 +43,146 @@
  _timer=timer-linux.c
  _getch=getch2.c
  
+@@ -1945,7 +1945,7 @@
+   if test "$_gcc3_ext" != ""; then
+     # If we had to disable SSE/SSE2 because the active kernel does not
+     # support this instruction set extension, we also have to tell
+-    # gcc3 to not generate SSE/SSE2 instructions for normal C code.
++    # clang to not generate SSE/SSE2 instructions for normal C code.
+     cflag_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
+   fi
+ 
+@@ -1996,15 +1996,15 @@
+         # AMD CPUs just from their signature. Instead, we check directly
+         # whether it supports SSE.
+         if test "$_sse" = yes; then
+-            # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
++            # clang treats athlon-xp, athlon-4 and athlon-mp similarly.
+             proc=athlon-xp
+         else
+-            # Again, gcc treats athlon and athlon-tbird similarly.
++            # Again, clang treats athlon and athlon-tbird similarly.
+             proc=athlon
+         fi
+         ;;
+     15) iproc=686
+-        # k8 CPU type only supported in gcc >= 3.4.0, but that will be
++        # k8 CPU type only supported in clang >= 3.4.0, but that will be
+         # caught and remedied in the optimization tests below.
+         proc=k8
+         ;;
+@@ -2090,11 +2090,11 @@
+   fi # test "$_runtime_cpudetection" = no
+ 
+ 
+-    # check that gcc supports our CPU, if not, fall back to earlier ones
++    # check that clang supports our CPU, if not, fall back to earlier ones
+     # LGB: check -mcpu and -march swithing step by step with enabling
+     # to fall back till 386.
+ 
+-    # gcc >= 3.4.0  doesn't support -mcpu, we have to use -mtune instead
++    # clang >= 3.4.0  doesn't support -mcpu, we have to use -mtune instead
+ 
+     if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
+         cpuopt=-mtune
+@@ -2224,7 +2224,7 @@
+     def_fast_64bit='#define HAVE_FAST_64BIT 1'
+     iproc='x86_64'
+ 
+-    # gcc >= 3.4.0  doesn't support -mcpu, we have to use -mtune instead
++    # clang >= 3.4.0  doesn't support -mcpu, we have to use -mtune instead
+     if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
+         cpuopt=-mtune
+     else
+@@ -2280,7 +2280,7 @@
+       if test "$proc" = "k8"; then
+         cflag_check -march=$proc $cpuopt=$proc || proc=athlon-xp
+       fi
+-      # This will fail if gcc version < 3.3, which is OK because earlier
++      # This will fail if clang version < 3.3, which is OK because earlier
+       # versions don't really support 64-bit on amd64.
+       # Is this a valid assumption? -Corey
+       if test "$proc" = "athlon-xp"; then
+@@ -2400,7 +2400,7 @@
+         fi
+         ;;
+       NetBSD)
+-        # only gcc 3.4 works reliably with AltiVec code under NetBSD
++        # only clang 3.4 works reliably with AltiVec code under NetBSD
+         case $cc_version in
+             2*|3.0*|3.1*|3.2*|3.3*)
+                 ;;
+@@ -2437,7 +2437,7 @@
+             POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
+             *) ;;
+         esac
+-        # gcc 3.1(.1) and up supports 7400 and 7450
++        # clang 3.1(.1) and up supports 7400 and 7450
+         if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
+             case "$proc" in
+                 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
+@@ -2445,7 +2445,7 @@
+                 *) ;;
+             esac
+         fi
+-        # gcc 3.2 and up supports 970
++        # clang 3.2 and up supports 970
+         if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
+             case "$proc" in
+                 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
+@@ -2453,14 +2453,14 @@
+                 *) ;;
+             esac
+         fi
+-        # gcc 3.3 and up supports POWER4
++        # clang 3.3 and up supports POWER4
+         if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
+             case "$proc" in
+                 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
+                 *) ;;
+             esac
+         fi
+-        # gcc 3.4 and up supports 440*
++        # clang 3.4 and up supports 440*
+         if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" || test "$_cc_major" -ge "4"; then
+             case "$proc" in
+                 440EP*) _march='-mcpu=440fp' _mcpu='-mtune=440fp' ;;
+@@ -2468,7 +2468,7 @@
+                 *) ;;
+             esac
+         fi
+-        # gcc 4.0 and up supports POWER5
++        # clang 4.0 and up supports POWER5
+         if test "$_cc_major" -ge "4"; then
+             case "$proc" in
+                 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
+@@ -2545,7 +2545,7 @@
+             R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
+             R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
+         esac
+-        # gcc < 3.x does not support -mtune.
++        # clang < 3.x does not support -mtune.
+         if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
+             _mcpu=''
+         fi
+@@ -2669,7 +2669,7 @@
+ echocheck "GCC support of -mstackrealign"
+ # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
+ # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
+-# crashes when loading Win32 DLLs. Unfortunately some gcc versions create
++# crashes when loading Win32 DLLs. Unfortunately some clang versions create
+ # wrong code with this flag, but this can be worked around by adding
+ # -fno-unit-at-a-time as described in the blog post at
+ # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
+@@ -2862,7 +2862,7 @@
+         "xor %0, %0"
+         :"=b"(x)
+         // just adding ebx to clobber list seems unreliable with some
+-        // compilers, e.g. Haiku's gcc 2.95
++        // compilers, e.g. Haiku's clang 2.95
+     );
+     // and the above check does not work for OSX 64 bit...
+     __asm__ volatile("":::"%ebx");
 @@ -3765,7 +3765,7 @@
  if linux ; then
    THREAD_CFLAGS=-D_REENTRANT
@@ -52,17 +201,50 @@
      # for crosscompilation, we cannot execute the program, be happy if we can link statically
      cc_check $THREAD_CFLAGS $ld_tmp && (tmp_run || test "$ld_static") && ld_pthread="$ld_tmp" && _pthreads=yes && break
    done
+@@ -4031,7 +4031,7 @@
+ echocheck "termcap"
+ if test "$_termcap" = auto ; then
+   _termcap=no
+-  for ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
++  for ld_tmp in "/usr/lib/libncurses.so" "-ltinfo" "-ltermcap"; do
+     statement_check term.h 'tgetent(0, 0)' $ld_tmp &&
+       extra_ldflags="$extra_ldflags $ld_tmp" && _termcap=yes && break
+   done
+@@ -4464,7 +4464,7 @@
+     fi
+   done
+   if test $_cross_compile = no; then
+-    for I in /usr/X11/include /usr/X11R7/include /usr/local/include /usr/X11R6/include \
++    for I in /usr/X11/include /usr/X11R7/include /usr/local/include /usr/local/include \
+              /usr/include/X11R6 /usr/openwin/include ; do
+       if test -f "$I/X11/Xlib.h" ; then
+         extra_cflags="$extra_cflags -I$I"
+@@ -4479,8 +4479,8 @@
+ 
+ echocheck "X11"
+ if test "$_x11" = auto && test "$_x11_headers" = yes ; then
+-  for I in "" -L/usr/X11R7/lib -L/usr/local/lib -L/usr/X11R6/lib -L/usr/lib/X11R6 \
+-           -L/usr/X11/lib -L/usr/lib32 -L/usr/openwin/lib -L/usr/local/lib64 -L/usr/X11R6/lib64 \
++  for I in "" -L/usr/X11R7/lib -L/usr/local/lib -L/usr/local/lib -L/usr/lib/X11R6 \
++           -L/usr/X11/lib -L/usr/lib32 -L/usr/openwin/lib -L/usr/local/lib64 -L/usr/local/lib64 \
+            -L/usr/lib ; do
+     if netbsd; then
+       ld_tmp="$I -lXext -lX11 $ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
 @@ -5904,7 +5904,7 @@
  elif dragonfly ; then
    default_cdrom_device="/dev/cd0"
  elif freebsd ; then
 -  default_cdrom_device="/dev/acd0"
-+  default_cdrom_device="/dev/cdrom"
++  default_cdrom_device="/dev/cd0"
  elif openbsd ; then
    default_cdrom_device="/dev/rcd0c"
  elif sunos ; then
-@@ -5917,7 +5917,7 @@
-   default_cdrom_device="/dev/cdrom"
+@@ -5914,15 +5914,15 @@
+ elif amigaos ; then
+   default_cdrom_device="a1ide.device:2"
+ else
+-  default_cdrom_device="/dev/cdrom"
++  default_cdrom_device="/dev/cd0"
  fi
  
 -if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos ; then
@@ -70,6 +252,25 @@
    default_dvd_device=$default_cdrom_device
  elif darwin ; then
    default_dvd_device="/dev/rdiskN"
+ else
+-  default_dvd_device="/dev/dvd"
++  default_dvd_device="/dev/cd0"
+ fi
+ 
+ 
+@@ -6316,10 +6316,10 @@
+ echocheck "bzlib"
+ bzlib=no
+ def_bzlib='#define CONFIG_BZLIB 0'
+-statement_check bzlib.h 'BZ2_bzlibVersion()' -lbz2 && bzlib=yes
++statement_check bzlib.h 'BZ2_bzlibVersion()' /usr/lib/libbz2.so && bzlib=yes
+ if test "$bzlib" = yes ; then
+   def_bzlib='#define CONFIG_BZLIB 1'
+-  extra_ldflags="$extra_ldflags -lbz2"
++  extra_ldflags="$extra_ldflags /usr/lib/libbz2.so"
+ fi
+ echores "$bzlib"
+ 
 @@ -6470,7 +6470,7 @@
  echocheck "libgsm"
  if test "$_libgsm" = auto ; then
@@ -79,7 +280,21 @@
  fi
  if test "$_libgsm" = yes ; then
    def_libgsm='#define CONFIG_LIBGSM 1'
-@@ -6954,6 +6954,16 @@
+@@ -6888,11 +6888,12 @@
+   cat > $TMPCPP << EOF
+ #define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1
+ #include <liveMedia.hh>
++// Patch from Armin K. <krejzi at email dot com>
+ #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
+ #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
+ #endif
+ #include "BasicUsageEnvironment.hh"
+-int main(void) { RTSPClient::createNew(*BasicUsageEnvironment::createNew(*BasicTaskScheduler::createNew()), 0, "", 0); return 0; }
++int main(void) { RTSPClient::createNew(*BasicUsageEnvironment::createNew(*BasicTaskScheduler::createNew()), "", 0, "", 0); return 0; }
+ EOF
+ 
+   _live=no
+@@ -6954,6 +6955,16 @@
    nolibrtmp=no
    def_librtmp='#define CONFIG_LIBRTMP 1'
    inputmodules="librtmp $inputmodules"
@@ -96,7 +311,7 @@
  else
    nolibrtmp=yes
    _librtmp=no
-@@ -7346,7 +7356,7 @@
+@@ -7346,7 +7357,7 @@
  echocheck "mencoder"
  if test "$_mencoder" = no ; then
    # mpeg1video for vf_lavc, snow for vf_uspp / vf_mcdeint,
@@ -105,7 +320,7 @@
  fi
  echores "$_mencoder"
  
-@@ -7684,8 +7694,11 @@
+@@ -7684,8 +7695,11 @@
  if test "$_gui" = yes ; then
  
    # Required libraries
@@ -119,7 +334,16 @@
      die "The GUI requires libavcodec with PNG support (needs zlib)."
    fi
    test "$_freetype" = no && test "$_bitmap_font" = no &&
-@@ -8271,7 +8284,7 @@
+@@ -7969,7 +7983,7 @@
+ 
+ #############################################################################
+ 
+-CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
++CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64"
+ 
+ CXXFLAGS=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
+ 
+@@ -8271,7 +8285,7 @@
  EXESUF      = $_exesuf
  EXESUFS_ALL = .exe
  
@@ -128,3 +352,12 @@
  $(mak_enable "$arch_all"    "$arch"    ARCH)
  $(mak_enable "$subarch_all" "$subarch" ARCH)
  $(mak_enable "$cpuexts_all" "$cpuexts" HAVE)
+@@ -8473,7 +8487,7 @@
+ AS_C       = -c
+ CC_C       = -c
+ CXX_C      = -c
+-LD         = gcc
++LD         = clang
+ RANLIB     = $_ranlib
+ YASM       = $_yasm
+ DEPYASM    = $_yasm
diff -urN multimedia/mplayer.orig/files/patch-libmpdemux-demux_rtp.cpp multimedia/mplayer/files/patch-libmpdemux-demux_rtp.cpp
--- multimedia/mplayer.orig/files/patch-libmpdemux-demux_rtp.cpp	1970-01-01 01:00:00.000000000 +0100
+++ multimedia/mplayer/files/patch-libmpdemux-demux_rtp.cpp	2013-11-16 23:40:33.000000000 +0100
@@ -0,0 +1,107 @@
+--- libmpdemux/demux_rtp.cpp.orig	2012-03-05 19:14:38.000000000 +0100
++++ libmpdemux/demux_rtp.cpp	2013-11-16 23:39:54.000000000 +0100
+@@ -19,7 +19,7 @@
+  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+  */
+ 
+-#define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1
++// Patch from Armin K. <krejzi at email dot com>
+ 
+ extern "C" {
+ // on MinGW, we must include windows.h before the things it conflicts
+@@ -94,15 +94,6 @@
+ 
+ extern "C" char* network_username;
+ extern "C" char* network_password;
+-static char* openURL_rtsp(RTSPClient* client, char const* url) {
+-  // If we were given a user name (and optional password), then use them:
+-  if (network_username != NULL) {
+-    char const* password = network_password == NULL ? "" : network_password;
+-    return client->describeWithPassword(url, network_username, password);
+-  } else {
+-    return client->describeURL(url);
+-  }
+-}
+ 
+ static char* openURL_sip(SIPClient* client, char const* url) {
+   // If we were given a user name (and optional password), then use them:
+@@ -126,6 +117,19 @@
+ extern AVCodecContext *avcctx;
+ #endif
+ 
++static char fWatchVariableForSyncInterface;
++static char* fResultString;
++static int fResultCode;
++
++static void responseHandlerForSyncInterface(RTSPClient* rtspClient, int responseCode, char* responseString) {
++  // Set result values:
++  fResultCode = responseCode;
++  fResultString = responseString;
++
++  // Signal a break from the event loop (thereby returning from the blocking command):
++  fWatchVariableForSyncInterface = ~0;
++}
++
+ extern "C" int audio_id, video_id, dvdsub_id;
+ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
+   Boolean success = False;
+@@ -154,13 +158,19 @@
+ 	  rtsp_transport_http = demuxer->stream->streaming_ctrl->url->port;
+ 	  rtsp_transport_tcp = 1;
+ 	}
+-	rtspClient = RTSPClient::createNew(*env, verbose, "MPlayer", rtsp_transport_http);
++	rtspClient = RTSPClient::createNew(*env, url, verbose, "MPlayer", rtsp_transport_http);
+ 	if (rtspClient == NULL) {
+ 	  fprintf(stderr, "Failed to create RTSP client: %s\n",
+ 		  env->getResultMsg());
+ 	  break;
+ 	}
+-	sdpDescription = openURL_rtsp(rtspClient, url);
++	fWatchVariableForSyncInterface = 0;
++	rtspClient->sendDescribeCommand(responseHandlerForSyncInterface);
++	env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface);
++	if (fResultCode == 0)
++	    sdpDescription = fResultString;
++	else
++	    delete[] fResultString;
+       } else { // SIP
+ 	unsigned char desiredAudioType = 0; // PCMU (use 3 for GSM)
+ 	sipClient = SIPClient::createNew(*env, desiredAudioType, NULL,
+@@ -244,8 +254,12 @@
+ 
+ 	if (rtspClient != NULL) {
+ 	  // Issue a RTSP "SETUP" command on the chosen subsession:
+-	  if (!rtspClient->setupMediaSubsession(*subsession, False,
+-						rtsp_transport_tcp)) break;
++	  fWatchVariableForSyncInterface = 0;
++	  rtspClient->sendSetupCommand(*subsession, responseHandlerForSyncInterface, False, rtsp_transport_tcp);
++	  env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface);
++	  delete[] fResultString;
++	  if (fResultCode != 0) break;
++
+ 	  if (!strcmp(subsession->mediumName(), "audio"))
+ 	    audiofound = 1;
+ 	  if (!strcmp(subsession->mediumName(), "video"))
+@@ -256,7 +270,11 @@
+ 
+     if (rtspClient != NULL) {
+       // Issue a RTSP aggregate "PLAY" command on the whole session:
+-      if (!rtspClient->playMediaSession(*mediaSession)) break;
++      fWatchVariableForSyncInterface = 0;
++      rtspClient->sendPlayCommand(*mediaSession, responseHandlerForSyncInterface);
++      env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface);
++      delete[] fResultString;
++      if (fResultCode != 0) break;
+     } else if (sipClient != NULL) {
+       sipClient->sendACK(); // to start the stream flowing
+     }
+@@ -645,7 +663,8 @@
+   MediaSession* mediaSession = rtpState->mediaSession;
+   if (mediaSession == NULL) return;
+   if (rtpState->rtspClient != NULL) {
+-    rtpState->rtspClient->teardownMediaSession(*mediaSession);
++    fWatchVariableForSyncInterface = 0;
++    rtpState->rtspClient->sendTeardownCommand(*mediaSession, NULL);
+   } else if (rtpState->sipClient != NULL) {
+     rtpState->sipClient->sendBYE();
+   }
--- mplayer.diff ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list