Bug 185706 - x11-toolkits/nucleo: Fix build with clang
Summary: x11-toolkits/nucleo: Fix build with clang
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-12 18:40 UTC by tkato432
Modified: 2014-01-25 13:20 UTC (History)
0 users

See Also:


Attachments
file.diff (14.90 KB, patch)
2014-01-12 18:40 UTC, tkato432
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description tkato432 2014-01-12 18:40:07 UTC
- Fix build with clang

New file:
files/patch-nucleo__gl__scenegraph__sgNode.cxx
files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx
files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx
Comment 1 dfilter service freebsd_committer freebsd_triage 2014-01-19 14:22:17 UTC
Author: miwi
Date: Sun Jan 19 14:22:08 2014
New Revision: 340302
URL: http://svnweb.freebsd.org/changeset/ports/340302
QAT: https://qat.redports.org/buildarchive/r340302/

Log:
  - Fix build with clang
  
  PR:		185706
  Submitted by:	ports fury

Added:
  head/x11-toolkits/nucleo/files/patch-nucleo__gl__scenegraph__sgNode.cxx   (contents, props changed)
  head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx   (contents, props changed)
  head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx   (contents, props changed)
Modified:
  head/x11-toolkits/nucleo/Makefile
  head/x11-toolkits/nucleo/pkg-plist   (contents, props changed)

Modified: head/x11-toolkits/nucleo/Makefile
==============================================================================
--- head/x11-toolkits/nucleo/Makefile	Sun Jan 19 14:18:17 2014	(r340301)
+++ head/x11-toolkits/nucleo/Makefile	Sun Jan 19 14:22:08 2014	(r340302)
@@ -12,72 +12,68 @@ COMMENT=	Toolkit to explore video and hu
 
 LICENSE=	LGPL21
 
-LIB_DEPENDS=	freetype:${PORTSDIR}/print/freetype2 \
-		jpeg:${PORTSDIR}/graphics/jpeg \
-		png15:${PORTSDIR}/graphics/png \
-		exif:${PORTSDIR}/graphics/libexif
+LIB_DEPENDS=	libjpeg.so:${PORTSDIR}/graphics/jpeg \
+		libexif.so:${PORTSDIR}/graphics/libexif \
+		libpng15.so:${PORTSDIR}/graphics/png \
+		libfreetype.so:${PORTSDIR}/print/freetype2
 
 USE_BZIP2=	yes
 USES=		gmake pkgconfig
 USE_GL=		glu
 GNU_CONFIGURE=	yes
-CPPFLAGS+=	-I${LOCALBASE}/include
-LDFLAGS+=	-L${LOCALBASE}/lib
+CONFIGURE_ARGS=	--without-opencv
 USE_LDCONFIG=	yes
 
-OPTIONS_DEFINE=	GNUTLS DNSSD FFMPEG QT4 GD
+CPPFLAGS+=	-I${LOCALBASE}/include
+LDFLAGS+=	-L${LOCALBASE}/lib
 
-DNSSD_DESC=	DNS-SD support
-FFMPEG_DESC=	FFmpeg plugin
-QT4_DESC=	Qt4 plugin
-GD_DESC=	GD plugin
+OPTIONS_DEFINE=	FFMPEG GD GNUTLS QT4
+OPTIONS_RADIO=	DNSSD
+OPTIONS_RADIO_DNSSD=	AVAHI MDNSRESPONDER
+OPTIONS_SUB=	yes
+
+AVAHI_BUILD_DEPENDS=	avahi-libdns>0:${PORTSDIR}/net/avahi-libdns
+AVAHI_LIB_DEPENDS=	libdns_sd.so:${PORTSDIR}/net/avahi-libdns
+AVAHI_CPPFLAGS=		-I${LOCALBASE}/include/avahi-compat-libdns_sd
+DNSSD_DESC=		DNS-SD support
+FFMPEG_DESC=		FFmpeg plugin
+FFMPEG_LIB_DEPENDS=	libavformat.so:${PORTSDIR}/multimedia/ffmpeg
+FFMPEG_CONFIGURE_WITH=	ffmpeg
+GD_DESC=		GD plugin
+GD_LIB_DEPENDS=		libgd.so:${PORTSDIR}/graphics/gd
+QT4_DESC=		Qt4 plugin
+GD_CONFIGURE_WITH=	gd
+GNUTLS_LIB_DEPENDS=	libgnutls.so:${PORTSDIR}/security/gnutls
+GNUTLS_CONFIGURE_WITH=	gnutls
+MDNSRESPONDER_BUILD_DEPENDS=\
+			mDNSResponder>0:${PORTSDIR}/net/mDNSResponder
+MDNSRESPONDER_LIB_DEPENDS=\
+			libdns_sd.so:${PORTSDIR}/net/mDNSResponder
+QT4_USE=		QT4=moc_build,corelib
+QT4_CONFIGURE_WITH=	qt
+QT4_MAKE_ARGS=		QT4MOC="${MOC}"
 
-NO_STAGE=	yes
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
 
-.if ${ARCH} == "powerpc" && ${OSVERSION} > 900000
-BROKEN=		Does not compile on powerpc-9
+.if ! ${PORT_OPTIONS:MAVAHI} && ! ${PORT_OPTIONS:MMDNSRESPONDER}
+CONFIGURE_ARGS+=	--without-dns-sd
 .endif
 
-.if ${PORT_OPTIONS:MGNUTLS}
-LIB_DEPENDS+=	gnutls:${PORTSDIR}/security/gnutls
-.else
-CONFIGURE_ARGS+=	--without-gnutls
+.if ${PORT_OPTIONS:MQT4}
+QT_NONSTANDARD=		yes
 .endif
 
-.if ${PORT_OPTIONS:MDNSSD}
-.  if exists(${LOCALBASE}/include/avahi-compat-libdns_sd/dns_sd.h)
-LIB_DEPENDS+=	dns_sd:${PORTSDIR}/net/avahi-libdns
-.  else
-LIB_DEPENDS+=	dns_sd:${PORTSDIR}/net/mDNSResponder
-.  endif
-.else
-CONFIGURE_ARGS+=	--without-dns-sd
-.endif
+.include <bsd.port.pre.mk>
 
-.if ${PORT_OPTIONS:MFFMPEG}
-LIB_DEPENDS+=	avformat:${PORTSDIR}/multimedia/ffmpeg
-PLIST_SUB+=	FFMPEG=""
-.else
-CONFIGURE_ARGS+=	--without-ffmpeg
-PLIST_SUB+=	FFMPEG="@comment "
+.if ${ARCH} == "powerpc" && ${OSVERSION} > 900000
+BROKEN=		Does not compile on powerpc-9
 .endif
 
-.if ${PORT_OPTIONS:MQT4}
-USE_QT4=	moc_build corelib
-MAKE_ARGS+=	QT4MOC=${LOCALBASE}/bin/moc-qt4
-PLIST_SUB+=	QT4=""
-.else
-CONFIGURE_ARGS+=	--without-qt
-PLIST_SUB+=	QT4="@comment "
-.endif
+post-patch:
+	@${REINPLACE_CMD} -e \
+		's|-lpthread|-pthread|' ${WRKSRC}/configure
 
-.if ${PORT_OPTIONS:MGD}
-LIB_DEPENDS+=	gd:${PORTSDIR}/graphics/gd
-PLIST_SUB+=	GD=""
-.else
-CONFIGURE_ARGS+=	--without-gd
-PLIST_SUB+=	GD="@comment "
-.endif
+post-install:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/nucleo
 
 .include <bsd.port.post.mk>

Added: head/x11-toolkits/nucleo/files/patch-nucleo__gl__scenegraph__sgNode.cxx
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-toolkits/nucleo/files/patch-nucleo__gl__scenegraph__sgNode.cxx	Sun Jan 19 14:22:08 2014	(r340302)
@@ -0,0 +1,14 @@
+--- nucleo/gl/scenegraph/sgNode.cxx.orig
++++ nucleo/gl/scenegraph/sgNode.cxx
+@@ -16,7 +16,10 @@
+ #include <cmath>
+ #include <cstring>
+ 
+-#if defined (HAVE_TR1_UNORDERED_MAP)
++#if defined (_LIBCPP_VERSION)
++#include <unordered_map>
++typedef std::unordered_map<GLuint, void *> sgNodeMap;
++#elif defined (HAVE_TR1_UNORDERED_MAP)
+ #include <tr1/unordered_map>
+ typedef std::tr1::unordered_map<GLuint, void *> sgNodeMap;
+ #elif defined (HAVE_EXT_HASH_MAP)

Added: head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx	Sun Jan 19 14:22:08 2014	(r340302)
@@ -0,0 +1,97 @@
+--- nucleo/plugins/ffmpeg/ffmpegImageSink.cxx.orig
++++ nucleo/plugins/ffmpeg/ffmpegImageSink.cxx
+@@ -118,11 +118,11 @@
+ 
+     output_format = 0 ;
+     if (uri.scheme=="mpegts-udp") {
+-	 output_format = guess_format("mpegts", NULL, NULL) ;
++	 output_format = av_guess_format("mpegts", NULL, NULL) ;
+     } else {
+ 	 filename = uri.opaque!="" ? uri.opaque : uri.path ;
+-	 if (guessFormat) output_format = guess_format(NULL, filename.c_str(), NULL) ;
+-	 if (!output_format) output_format = guess_format(format.c_str(), NULL, NULL) ;
++	 if (guessFormat) output_format = av_guess_format(NULL, filename.c_str(), NULL) ;
++	 if (!output_format) output_format = av_guess_format(format.c_str(), NULL, NULL) ;
+     } 
+ 
+     std::string message ;
+@@ -190,7 +190,7 @@
+ 
+     AVCodecContext *codec_context = vstream->codec ;
+     codec_context->codec_id = output_format->video_codec ;
+-    codec_context->codec_type = CODEC_TYPE_VIDEO ;
++    codec_context->codec_type = AVMEDIA_TYPE_VIDEO ;
+     codec_context->pix_fmt = PIX_FMT_YUV420P ;
+     codec_context->width = img->getWidth() ;  // must be a multiple of two
+     codec_context->height = img->getHeight() ; // must be a multiple of two
+@@ -210,12 +210,7 @@
+ 	   || !strcmp(format_context->oformat->name, "3gp"))
+ 	 codec_context->flags |= CODEC_FLAG_GLOBAL_HEADER ;
+ 
+-    if (av_set_parameters(format_context, NULL) < 0) {
+-	 std::cerr << "ffmpegImageSink: invalid output format parameters" << std::endl ;
+-	 return false ;
+-    }
+-
+-    dump_format(format_context, 0, filename.c_str(), 1) ; // FIXME: for debug only
++    av_dump_format(format_context, 0, filename.c_str(), 1) ; // FIXME: for debug only
+ 
+     // ------------------
+ 
+@@ -225,7 +220,7 @@
+ 	 return false ;
+     }
+ 
+-    if (avcodec_open(codec_context, codec) < 0) {
++    if (avcodec_open2(codec_context, codec, NULL) < 0) {
+ 	 std::cerr << "ffmpegImageSink: could not open codec" << std::endl ;
+ 	 vstream->codec = 0 ;
+ 	 return false ;
+@@ -235,7 +230,7 @@
+ 
+     if (filename!="") {
+ 	 sender = 0 ;
+-	 if (url_fopen(&format_context->pb, filename.c_str(), URL_WRONLY) < 0) {
++	 if (avio_open(&format_context->pb, filename.c_str(), AVIO_FLAG_WRITE) < 0) {
+ 	   std::cerr << "ffmpegImageSink: could not open " << filename << std::endl ;
+ 	   return false ;
+ 	 }
+@@ -245,17 +240,17 @@
+ 	 int port = uri.port ;
+ 	 if (!port) port = 1234 ;
+ 	 sender = new UdpSender(uri.host.c_str(), port) ;
+-	 if (init_put_byte(format_context->pb, buffer, buffer_size,
++	 if (avio_alloc_context(buffer, buffer_size,
+ 				    1, (void *)this,
+ 				    0, udp_callback, 0) < 0) {
+ 	   std::cerr << "ffmpegImageSink: init_put_byte failed" << std::endl ;
+ 	   return false ;
+ 	 }
+-	 format_context->pb->is_streamed = 1 ; // no seek
++	 format_context->pb->seekable = 0 ; // no seek
+ 	 format_context->pb->max_packet_size = buffer_size ;
+     }
+     
+-    av_write_header(format_context) ;
++    avformat_write_header(format_context, NULL) ;
+ 
+     video_outbuf_size = 256*1024 ; // FIXME ?
+     video_outbuf = new uint8_t [video_outbuf_size] ;
+@@ -346,7 +341,7 @@
+     pkt.size = out_size ;
+     if (cctx->coded_frame) {
+ 	 pkt.pts = pkt.dts = pts ;
+-	 if (cctx->coded_frame->key_frame) pkt.flags |= PKT_FLAG_KEY ;
++	 if (cctx->coded_frame->key_frame) pkt.flags |= AV_PKT_FLAG_KEY ;
+     }
+     if (av_write_frame(format_context, &pkt) != 0) {
+ 	 // std::cerr << "ffmpegImageSink: error while writing video frame" << std::endl ;
+@@ -372,7 +367,7 @@
+ 	 if (vstream->codec) {
+ 	   avcodec_close(vstream->codec) ;
+ 	   av_write_trailer(format_context) ;
+-	   if (!sender) url_fclose(format_context->pb) ;
++	   if (!sender) avio_close(format_context->pb) ;
+ 	 }
+ 	 av_freep(&vstream) ;
+     }

Added: head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx	Sun Jan 19 14:22:08 2014	(r340302)
@@ -0,0 +1,48 @@
+--- nucleo/plugins/ffmpeg/ffmpegImageSource.cxx.orig
++++ nucleo/plugins/ffmpeg/ffmpegImageSource.cxx
+@@ -47,23 +47,23 @@
+ 
+   bool
+   ffmpegImageSource::start(void) {
+-    int ret = av_open_input_file(&fctx, filename.c_str(), 0, 0, 0);
++    int ret = avformat_open_input(&fctx, filename.c_str(), 0, 0);
+     if (ret<0) {
+ 	 std::cerr << "ffmpegImageSource: failed to open " << filename << " (" << ret << ")" << std::endl ;
+ 	 return false ;
+     }
+ 
+-    ret = av_find_stream_info(fctx) ;
++    ret = avformat_find_stream_info(fctx, NULL) ;
+     if (ret<0) {
+ 	 std::cerr << "ffmpegImageSource: failed to find codec parameters for " << filename << " (" << ret << ")" << std::endl ;
+ 	 return false ;
+     }
+ 
+-    dump_format(fctx, 1, filename.c_str(), 0) ;
++    av_dump_format(fctx, 1, filename.c_str(), 0) ;
+ 
+     bool found_video_stream = false ;
+     for (unsigned int i=0; i<fctx->nb_streams; ++i) {
+-	 if (fctx->streams[i]->codec->codec_type==CODEC_TYPE_VIDEO) {
++	 if (fctx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO) {
+ 	   video_stream = i ;
+ 	   found_video_stream = true ;
+ 	 } else
+@@ -86,7 +86,7 @@
+ 	 return false ;
+     }
+ 
+-    ret = avcodec_open(cctx, codec);
++    ret = avcodec_open2(cctx, codec, NULL);
+     if (ret<0) {
+ 	 std::cerr << "ffmpegImageSource: unable to open codec" << std::endl ;
+ 	 return false ;
+@@ -123,7 +123,7 @@
+ #endif
+ 
+ 	 int got_picture = 0 ;
+-	 avcodec_decode_video(cctx, &frame, &got_picture, packet.data, packet.size) ;
++	 avcodec_decode_video2(cctx, &frame, &got_picture, &packet) ;
+ 	 av_free_packet(&packet) ;
+ 	 if (!got_picture) continue ;
+ 

Modified: head/x11-toolkits/nucleo/pkg-plist
==============================================================================
--- head/x11-toolkits/nucleo/pkg-plist	Sun Jan 19 14:18:17 2014	(r340301)
+++ head/x11-toolkits/nucleo/pkg-plist	Sun Jan 19 14:22:08 2014	(r340302)
@@ -11,7 +11,6 @@ include/nucleo/core/TimeKeeper.H
 include/nucleo/core/TimeStamp.H
 include/nucleo/core/URI.H
 include/nucleo/core/UUID.H
-@dirrm include/nucleo/core
 include/nucleo/gl/glIncludes.H
 include/nucleo/gl/glUtils.H
 include/nucleo/gl/scenegraph/sgClipper.H
@@ -29,15 +28,8 @@ include/nucleo/gl/window/_macos2keysym.H
 include/nucleo/gl/window/glWindow.H
 include/nucleo/gl/window/glWindow_GLX.H
 include/nucleo/gl/window/keysym.H
-@dirrm include/nucleo/gl/window
-@dirrm include/nucleo/gl/texture
-@dirrm include/nucleo/gl/text
-@dirrm include/nucleo/gl/shading
-@dirrm include/nucleo/gl/scenegraph
-@dirrm include/nucleo/gl
 include/nucleo/helpers/OpenCV.H
 include/nucleo/helpers/Phone.H
-@dirrm include/nucleo/helpers
 include/nucleo/image/Image.H
 include/nucleo/image/ImageBridge.H
 include/nucleo/image/RegionOfInterest.H
@@ -79,17 +71,6 @@ include/nucleo/image/source/nudpcImageSo
 include/nucleo/image/source/nudppImageSource.H
 include/nucleo/image/source/serverpushImageSource.H
 include/nucleo/image/source/vssImageSource.H
-@dirrm include/nucleo/image/source
-@dirrm include/nucleo/image/sink
-@dirrm include/nucleo/image/processing/noise
-@dirrm include/nucleo/image/processing/gamma
-@dirrm include/nucleo/image/processing/difference
-@dirrm include/nucleo/image/processing/convolution
-@dirrm include/nucleo/image/processing/chromakeying
-@dirrm include/nucleo/image/processing/basic
-@dirrm include/nucleo/image/processing
-@dirrm include/nucleo/image/encoding
-@dirrm include/nucleo/image
 include/nucleo/network/NetworkUtils.H
 include/nucleo/network/dnssd/DNSService.H
 include/nucleo/network/dnssd/DNSServiceAnnouncer.H
@@ -109,18 +90,10 @@ include/nucleo/network/udp/UdpReceiver.H
 include/nucleo/network/udp/UdpSender.H
 include/nucleo/network/udp/UdpSocket.H
 include/nucleo/network/xmpp/XmppConnection.H
-@dirrm include/nucleo/network/xmpp
-@dirrm include/nucleo/network/udp
-@dirrm include/nucleo/network/tcp
-@dirrm include/nucleo/network/http
-@dirrm include/nucleo/network/dnssd
-@dirrm include/nucleo/network
 include/nucleo/nucleo.H
-%%QT4%%include/nucleo/plugins/qt/qtReactiveEngine.H
 %%QT4%%include/nucleo/plugins/qt/qtFileKeeper.H
+%%QT4%%include/nucleo/plugins/qt/qtReactiveEngine.H
 %%QT4%%include/nucleo/plugins/qt/qtTimeKeeper.H
-%%QT4%%@dirrm include/nucleo/plugins/qt
-%%QT4%%@dirrm include/nucleo/plugins
 include/nucleo/utils/AppUtils.H
 include/nucleo/utils/Base64.H
 include/nucleo/utils/ByteOrder.H
@@ -130,22 +103,19 @@ include/nucleo/utils/MD5.H
 include/nucleo/utils/SignalUtils.H
 include/nucleo/utils/StringUtils.H
 include/nucleo/utils/TimeUtils.H
-@dirrm include/nucleo/utils
-include/nucleo/xml/XmlText.H
-include/nucleo/xml/XmlStructure.H
 include/nucleo/xml/XmlParser.H
-@dirrm include/nucleo/xml
-@dirrm include/nucleo
+include/nucleo/xml/XmlStructure.H
+include/nucleo/xml/XmlText.H
 lib/libNucleo.la
 lib/libNucleo.so
 lib/libNucleo.so.0
+@exec mkdir -p %D/lib/nucleo
 %%FFMPEG%%lib/nucleo/nPffmpeg.la
 %%FFMPEG%%lib/nucleo/nPffmpeg.so
 %%GD%%lib/nucleo/nPgd.la
 %%GD%%lib/nucleo/nPgd.so
 %%QT4%%lib/nucleo/nPqt.la
 %%QT4%%lib/nucleo/nPqt.so
-@dirrmtry lib/nucleo
 libdata/pkgconfig/nucleo.pc
 %%DATADIR%%/Info.plist.tmpl
 %%DATADIR%%/fonts/Vera.ttf
@@ -161,5 +131,36 @@ libdata/pkgconfig/nucleo.pc
 %%DATADIR%%/nucleo.icns
 %%DATADIR%%/nucleo.pdf
 %%DATADIR%%/plugin-list
-@dirrm share/nucleo/fonts
-@dirrm share/nucleo
+@dirrm %%DATADIR%%/fonts
+@dirrm %%DATADIR%%
+@dirrmtry lib/nucleo
+@dirrm include/nucleo/xml
+@dirrm include/nucleo/utils
+%%QT4%%@dirrm include/nucleo/plugins/qt
+%%QT4%%@dirrm include/nucleo/plugins
+@dirrm include/nucleo/network/xmpp
+@dirrm include/nucleo/network/udp
+@dirrm include/nucleo/network/tcp
+@dirrm include/nucleo/network/http
+@dirrm include/nucleo/network/dnssd
+@dirrm include/nucleo/network
+@dirrm include/nucleo/image/source
+@dirrm include/nucleo/image/sink
+@dirrm include/nucleo/image/processing/noise
+@dirrm include/nucleo/image/processing/gamma
+@dirrm include/nucleo/image/processing/difference
+@dirrm include/nucleo/image/processing/convolution
+@dirrm include/nucleo/image/processing/chromakeying
+@dirrm include/nucleo/image/processing/basic
+@dirrm include/nucleo/image/processing
+@dirrm include/nucleo/image/encoding
+@dirrm include/nucleo/image
+@dirrm include/nucleo/helpers
+@dirrm include/nucleo/gl/window
+@dirrm include/nucleo/gl/texture
+@dirrm include/nucleo/gl/text
+@dirrm include/nucleo/gl/shading
+@dirrm include/nucleo/gl/scenegraph
+@dirrm include/nucleo/gl
+@dirrm include/nucleo/core
+@dirrm include/nucleo
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 2 Martin Wilke freebsd_committer freebsd_triage 2014-01-19 14:22:19 UTC
State Changed
From-To: open->closed

Committed. Thanks!
Comment 3 dfilter service freebsd_committer freebsd_triage 2014-01-25 13:14:59 UTC
Author: miwi
Date: Sat Jan 25 13:14:50 2014
New Revision: 341032
URL: http://svnweb.freebsd.org/changeset/ports/341032
QAT: https://qat.redports.org/buildarchive/r341032/

Log:
  MFH: r340302
  
  - Fix build with clang
  
  PR:		185706
  Submitted by:	ports fury

Added:
  branches/2014Q1/x11-toolkits/nucleo/files/patch-nucleo__gl__scenegraph__sgNode.cxx
     - copied unchanged from r340302, head/x11-toolkits/nucleo/files/patch-nucleo__gl__scenegraph__sgNode.cxx
  branches/2014Q1/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx
     - copied unchanged from r340302, head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx
  branches/2014Q1/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx
     - copied unchanged from r340302, head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx
Modified:
  branches/2014Q1/x11-toolkits/nucleo/Makefile
  branches/2014Q1/x11-toolkits/nucleo/pkg-plist   (contents, props changed)
Directory Properties:
  branches/2014Q1/   (props changed)

Modified: branches/2014Q1/x11-toolkits/nucleo/Makefile
==============================================================================
--- branches/2014Q1/x11-toolkits/nucleo/Makefile	Sat Jan 25 13:13:21 2014	(r341031)
+++ branches/2014Q1/x11-toolkits/nucleo/Makefile	Sat Jan 25 13:14:50 2014	(r341032)
@@ -12,72 +12,68 @@ COMMENT=	Toolkit to explore video and hu
 
 LICENSE=	LGPL21
 
-LIB_DEPENDS=	freetype:${PORTSDIR}/print/freetype2 \
-		jpeg:${PORTSDIR}/graphics/jpeg \
-		png15:${PORTSDIR}/graphics/png \
-		exif:${PORTSDIR}/graphics/libexif
+LIB_DEPENDS=	libjpeg.so:${PORTSDIR}/graphics/jpeg \
+		libexif.so:${PORTSDIR}/graphics/libexif \
+		libpng15.so:${PORTSDIR}/graphics/png \
+		libfreetype.so:${PORTSDIR}/print/freetype2
 
 USE_BZIP2=	yes
 USES=		gmake pkgconfig
 USE_GL=		glu
 GNU_CONFIGURE=	yes
-CPPFLAGS+=	-I${LOCALBASE}/include
-LDFLAGS+=	-L${LOCALBASE}/lib
+CONFIGURE_ARGS=	--without-opencv
 USE_LDCONFIG=	yes
 
-OPTIONS_DEFINE=	GNUTLS DNSSD FFMPEG QT4 GD
+CPPFLAGS+=	-I${LOCALBASE}/include
+LDFLAGS+=	-L${LOCALBASE}/lib
 
-DNSSD_DESC=	DNS-SD support
-FFMPEG_DESC=	FFmpeg plugin
-QT4_DESC=	Qt4 plugin
-GD_DESC=	GD plugin
+OPTIONS_DEFINE=	FFMPEG GD GNUTLS QT4
+OPTIONS_RADIO=	DNSSD
+OPTIONS_RADIO_DNSSD=	AVAHI MDNSRESPONDER
+OPTIONS_SUB=	yes
+
+AVAHI_BUILD_DEPENDS=	avahi-libdns>0:${PORTSDIR}/net/avahi-libdns
+AVAHI_LIB_DEPENDS=	libdns_sd.so:${PORTSDIR}/net/avahi-libdns
+AVAHI_CPPFLAGS=		-I${LOCALBASE}/include/avahi-compat-libdns_sd
+DNSSD_DESC=		DNS-SD support
+FFMPEG_DESC=		FFmpeg plugin
+FFMPEG_LIB_DEPENDS=	libavformat.so:${PORTSDIR}/multimedia/ffmpeg
+FFMPEG_CONFIGURE_WITH=	ffmpeg
+GD_DESC=		GD plugin
+GD_LIB_DEPENDS=		libgd.so:${PORTSDIR}/graphics/gd
+QT4_DESC=		Qt4 plugin
+GD_CONFIGURE_WITH=	gd
+GNUTLS_LIB_DEPENDS=	libgnutls.so:${PORTSDIR}/security/gnutls
+GNUTLS_CONFIGURE_WITH=	gnutls
+MDNSRESPONDER_BUILD_DEPENDS=\
+			mDNSResponder>0:${PORTSDIR}/net/mDNSResponder
+MDNSRESPONDER_LIB_DEPENDS=\
+			libdns_sd.so:${PORTSDIR}/net/mDNSResponder
+QT4_USE=		QT4=moc_build,corelib
+QT4_CONFIGURE_WITH=	qt
+QT4_MAKE_ARGS=		QT4MOC="${MOC}"
 
-NO_STAGE=	yes
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
 
-.if ${ARCH} == "powerpc" && ${OSVERSION} > 900000
-BROKEN=		Does not compile on powerpc-9
+.if ! ${PORT_OPTIONS:MAVAHI} && ! ${PORT_OPTIONS:MMDNSRESPONDER}
+CONFIGURE_ARGS+=	--without-dns-sd
 .endif
 
-.if ${PORT_OPTIONS:MGNUTLS}
-LIB_DEPENDS+=	gnutls:${PORTSDIR}/security/gnutls
-.else
-CONFIGURE_ARGS+=	--without-gnutls
+.if ${PORT_OPTIONS:MQT4}
+QT_NONSTANDARD=		yes
 .endif
 
-.if ${PORT_OPTIONS:MDNSSD}
-.  if exists(${LOCALBASE}/include/avahi-compat-libdns_sd/dns_sd.h)
-LIB_DEPENDS+=	dns_sd:${PORTSDIR}/net/avahi-libdns
-.  else
-LIB_DEPENDS+=	dns_sd:${PORTSDIR}/net/mDNSResponder
-.  endif
-.else
-CONFIGURE_ARGS+=	--without-dns-sd
-.endif
+.include <bsd.port.pre.mk>
 
-.if ${PORT_OPTIONS:MFFMPEG}
-LIB_DEPENDS+=	avformat:${PORTSDIR}/multimedia/ffmpeg
-PLIST_SUB+=	FFMPEG=""
-.else
-CONFIGURE_ARGS+=	--without-ffmpeg
-PLIST_SUB+=	FFMPEG="@comment "
+.if ${ARCH} == "powerpc" && ${OSVERSION} > 900000
+BROKEN=		Does not compile on powerpc-9
 .endif
 
-.if ${PORT_OPTIONS:MQT4}
-USE_QT4=	moc_build corelib
-MAKE_ARGS+=	QT4MOC=${LOCALBASE}/bin/moc-qt4
-PLIST_SUB+=	QT4=""
-.else
-CONFIGURE_ARGS+=	--without-qt
-PLIST_SUB+=	QT4="@comment "
-.endif
+post-patch:
+	@${REINPLACE_CMD} -e \
+		's|-lpthread|-pthread|' ${WRKSRC}/configure
 
-.if ${PORT_OPTIONS:MGD}
-LIB_DEPENDS+=	gd:${PORTSDIR}/graphics/gd
-PLIST_SUB+=	GD=""
-.else
-CONFIGURE_ARGS+=	--without-gd
-PLIST_SUB+=	GD="@comment "
-.endif
+post-install:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/nucleo
 
 .include <bsd.port.post.mk>

Copied: branches/2014Q1/x11-toolkits/nucleo/files/patch-nucleo__gl__scenegraph__sgNode.cxx (from r340302, head/x11-toolkits/nucleo/files/patch-nucleo__gl__scenegraph__sgNode.cxx)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2014Q1/x11-toolkits/nucleo/files/patch-nucleo__gl__scenegraph__sgNode.cxx	Sat Jan 25 13:14:50 2014	(r341032, copy of r340302, head/x11-toolkits/nucleo/files/patch-nucleo__gl__scenegraph__sgNode.cxx)
@@ -0,0 +1,14 @@
+--- nucleo/gl/scenegraph/sgNode.cxx.orig
++++ nucleo/gl/scenegraph/sgNode.cxx
+@@ -16,7 +16,10 @@
+ #include <cmath>
+ #include <cstring>
+ 
+-#if defined (HAVE_TR1_UNORDERED_MAP)
++#if defined (_LIBCPP_VERSION)
++#include <unordered_map>
++typedef std::unordered_map<GLuint, void *> sgNodeMap;
++#elif defined (HAVE_TR1_UNORDERED_MAP)
+ #include <tr1/unordered_map>
+ typedef std::tr1::unordered_map<GLuint, void *> sgNodeMap;
+ #elif defined (HAVE_EXT_HASH_MAP)

Copied: branches/2014Q1/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx (from r340302, head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2014Q1/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx	Sat Jan 25 13:14:50 2014	(r341032, copy of r340302, head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx)
@@ -0,0 +1,97 @@
+--- nucleo/plugins/ffmpeg/ffmpegImageSink.cxx.orig
++++ nucleo/plugins/ffmpeg/ffmpegImageSink.cxx
+@@ -118,11 +118,11 @@
+ 
+     output_format = 0 ;
+     if (uri.scheme=="mpegts-udp") {
+-	 output_format = guess_format("mpegts", NULL, NULL) ;
++	 output_format = av_guess_format("mpegts", NULL, NULL) ;
+     } else {
+ 	 filename = uri.opaque!="" ? uri.opaque : uri.path ;
+-	 if (guessFormat) output_format = guess_format(NULL, filename.c_str(), NULL) ;
+-	 if (!output_format) output_format = guess_format(format.c_str(), NULL, NULL) ;
++	 if (guessFormat) output_format = av_guess_format(NULL, filename.c_str(), NULL) ;
++	 if (!output_format) output_format = av_guess_format(format.c_str(), NULL, NULL) ;
+     } 
+ 
+     std::string message ;
+@@ -190,7 +190,7 @@
+ 
+     AVCodecContext *codec_context = vstream->codec ;
+     codec_context->codec_id = output_format->video_codec ;
+-    codec_context->codec_type = CODEC_TYPE_VIDEO ;
++    codec_context->codec_type = AVMEDIA_TYPE_VIDEO ;
+     codec_context->pix_fmt = PIX_FMT_YUV420P ;
+     codec_context->width = img->getWidth() ;  // must be a multiple of two
+     codec_context->height = img->getHeight() ; // must be a multiple of two
+@@ -210,12 +210,7 @@
+ 	   || !strcmp(format_context->oformat->name, "3gp"))
+ 	 codec_context->flags |= CODEC_FLAG_GLOBAL_HEADER ;
+ 
+-    if (av_set_parameters(format_context, NULL) < 0) {
+-	 std::cerr << "ffmpegImageSink: invalid output format parameters" << std::endl ;
+-	 return false ;
+-    }
+-
+-    dump_format(format_context, 0, filename.c_str(), 1) ; // FIXME: for debug only
++    av_dump_format(format_context, 0, filename.c_str(), 1) ; // FIXME: for debug only
+ 
+     // ------------------
+ 
+@@ -225,7 +220,7 @@
+ 	 return false ;
+     }
+ 
+-    if (avcodec_open(codec_context, codec) < 0) {
++    if (avcodec_open2(codec_context, codec, NULL) < 0) {
+ 	 std::cerr << "ffmpegImageSink: could not open codec" << std::endl ;
+ 	 vstream->codec = 0 ;
+ 	 return false ;
+@@ -235,7 +230,7 @@
+ 
+     if (filename!="") {
+ 	 sender = 0 ;
+-	 if (url_fopen(&format_context->pb, filename.c_str(), URL_WRONLY) < 0) {
++	 if (avio_open(&format_context->pb, filename.c_str(), AVIO_FLAG_WRITE) < 0) {
+ 	   std::cerr << "ffmpegImageSink: could not open " << filename << std::endl ;
+ 	   return false ;
+ 	 }
+@@ -245,17 +240,17 @@
+ 	 int port = uri.port ;
+ 	 if (!port) port = 1234 ;
+ 	 sender = new UdpSender(uri.host.c_str(), port) ;
+-	 if (init_put_byte(format_context->pb, buffer, buffer_size,
++	 if (avio_alloc_context(buffer, buffer_size,
+ 				    1, (void *)this,
+ 				    0, udp_callback, 0) < 0) {
+ 	   std::cerr << "ffmpegImageSink: init_put_byte failed" << std::endl ;
+ 	   return false ;
+ 	 }
+-	 format_context->pb->is_streamed = 1 ; // no seek
++	 format_context->pb->seekable = 0 ; // no seek
+ 	 format_context->pb->max_packet_size = buffer_size ;
+     }
+     
+-    av_write_header(format_context) ;
++    avformat_write_header(format_context, NULL) ;
+ 
+     video_outbuf_size = 256*1024 ; // FIXME ?
+     video_outbuf = new uint8_t [video_outbuf_size] ;
+@@ -346,7 +341,7 @@
+     pkt.size = out_size ;
+     if (cctx->coded_frame) {
+ 	 pkt.pts = pkt.dts = pts ;
+-	 if (cctx->coded_frame->key_frame) pkt.flags |= PKT_FLAG_KEY ;
++	 if (cctx->coded_frame->key_frame) pkt.flags |= AV_PKT_FLAG_KEY ;
+     }
+     if (av_write_frame(format_context, &pkt) != 0) {
+ 	 // std::cerr << "ffmpegImageSink: error while writing video frame" << std::endl ;
+@@ -372,7 +367,7 @@
+ 	 if (vstream->codec) {
+ 	   avcodec_close(vstream->codec) ;
+ 	   av_write_trailer(format_context) ;
+-	   if (!sender) url_fclose(format_context->pb) ;
++	   if (!sender) avio_close(format_context->pb) ;
+ 	 }
+ 	 av_freep(&vstream) ;
+     }

Copied: branches/2014Q1/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx (from r340302, head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2014Q1/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx	Sat Jan 25 13:14:50 2014	(r341032, copy of r340302, head/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx)
@@ -0,0 +1,48 @@
+--- nucleo/plugins/ffmpeg/ffmpegImageSource.cxx.orig
++++ nucleo/plugins/ffmpeg/ffmpegImageSource.cxx
+@@ -47,23 +47,23 @@
+ 
+   bool
+   ffmpegImageSource::start(void) {
+-    int ret = av_open_input_file(&fctx, filename.c_str(), 0, 0, 0);
++    int ret = avformat_open_input(&fctx, filename.c_str(), 0, 0);
+     if (ret<0) {
+ 	 std::cerr << "ffmpegImageSource: failed to open " << filename << " (" << ret << ")" << std::endl ;
+ 	 return false ;
+     }
+ 
+-    ret = av_find_stream_info(fctx) ;
++    ret = avformat_find_stream_info(fctx, NULL) ;
+     if (ret<0) {
+ 	 std::cerr << "ffmpegImageSource: failed to find codec parameters for " << filename << " (" << ret << ")" << std::endl ;
+ 	 return false ;
+     }
+ 
+-    dump_format(fctx, 1, filename.c_str(), 0) ;
++    av_dump_format(fctx, 1, filename.c_str(), 0) ;
+ 
+     bool found_video_stream = false ;
+     for (unsigned int i=0; i<fctx->nb_streams; ++i) {
+-	 if (fctx->streams[i]->codec->codec_type==CODEC_TYPE_VIDEO) {
++	 if (fctx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO) {
+ 	   video_stream = i ;
+ 	   found_video_stream = true ;
+ 	 } else
+@@ -86,7 +86,7 @@
+ 	 return false ;
+     }
+ 
+-    ret = avcodec_open(cctx, codec);
++    ret = avcodec_open2(cctx, codec, NULL);
+     if (ret<0) {
+ 	 std::cerr << "ffmpegImageSource: unable to open codec" << std::endl ;
+ 	 return false ;
+@@ -123,7 +123,7 @@
+ #endif
+ 
+ 	 int got_picture = 0 ;
+-	 avcodec_decode_video(cctx, &frame, &got_picture, packet.data, packet.size) ;
++	 avcodec_decode_video2(cctx, &frame, &got_picture, &packet) ;
+ 	 av_free_packet(&packet) ;
+ 	 if (!got_picture) continue ;
+ 

Modified: branches/2014Q1/x11-toolkits/nucleo/pkg-plist
==============================================================================
--- branches/2014Q1/x11-toolkits/nucleo/pkg-plist	Sat Jan 25 13:13:21 2014	(r341031)
+++ branches/2014Q1/x11-toolkits/nucleo/pkg-plist	Sat Jan 25 13:14:50 2014	(r341032)
@@ -11,7 +11,6 @@ include/nucleo/core/TimeKeeper.H
 include/nucleo/core/TimeStamp.H
 include/nucleo/core/URI.H
 include/nucleo/core/UUID.H
-@dirrm include/nucleo/core
 include/nucleo/gl/glIncludes.H
 include/nucleo/gl/glUtils.H
 include/nucleo/gl/scenegraph/sgClipper.H
@@ -29,15 +28,8 @@ include/nucleo/gl/window/_macos2keysym.H
 include/nucleo/gl/window/glWindow.H
 include/nucleo/gl/window/glWindow_GLX.H
 include/nucleo/gl/window/keysym.H
-@dirrm include/nucleo/gl/window
-@dirrm include/nucleo/gl/texture
-@dirrm include/nucleo/gl/text
-@dirrm include/nucleo/gl/shading
-@dirrm include/nucleo/gl/scenegraph
-@dirrm include/nucleo/gl
 include/nucleo/helpers/OpenCV.H
 include/nucleo/helpers/Phone.H
-@dirrm include/nucleo/helpers
 include/nucleo/image/Image.H
 include/nucleo/image/ImageBridge.H
 include/nucleo/image/RegionOfInterest.H
@@ -79,17 +71,6 @@ include/nucleo/image/source/nudpcImageSo
 include/nucleo/image/source/nudppImageSource.H
 include/nucleo/image/source/serverpushImageSource.H
 include/nucleo/image/source/vssImageSource.H
-@dirrm include/nucleo/image/source
-@dirrm include/nucleo/image/sink
-@dirrm include/nucleo/image/processing/noise
-@dirrm include/nucleo/image/processing/gamma
-@dirrm include/nucleo/image/processing/difference
-@dirrm include/nucleo/image/processing/convolution
-@dirrm include/nucleo/image/processing/chromakeying
-@dirrm include/nucleo/image/processing/basic
-@dirrm include/nucleo/image/processing
-@dirrm include/nucleo/image/encoding
-@dirrm include/nucleo/image
 include/nucleo/network/NetworkUtils.H
 include/nucleo/network/dnssd/DNSService.H
 include/nucleo/network/dnssd/DNSServiceAnnouncer.H
@@ -109,18 +90,10 @@ include/nucleo/network/udp/UdpReceiver.H
 include/nucleo/network/udp/UdpSender.H
 include/nucleo/network/udp/UdpSocket.H
 include/nucleo/network/xmpp/XmppConnection.H
-@dirrm include/nucleo/network/xmpp
-@dirrm include/nucleo/network/udp
-@dirrm include/nucleo/network/tcp
-@dirrm include/nucleo/network/http
-@dirrm include/nucleo/network/dnssd
-@dirrm include/nucleo/network
 include/nucleo/nucleo.H
-%%QT4%%include/nucleo/plugins/qt/qtReactiveEngine.H
 %%QT4%%include/nucleo/plugins/qt/qtFileKeeper.H
+%%QT4%%include/nucleo/plugins/qt/qtReactiveEngine.H
 %%QT4%%include/nucleo/plugins/qt/qtTimeKeeper.H
-%%QT4%%@dirrm include/nucleo/plugins/qt
-%%QT4%%@dirrm include/nucleo/plugins
 include/nucleo/utils/AppUtils.H
 include/nucleo/utils/Base64.H
 include/nucleo/utils/ByteOrder.H
@@ -130,22 +103,19 @@ include/nucleo/utils/MD5.H
 include/nucleo/utils/SignalUtils.H
 include/nucleo/utils/StringUtils.H
 include/nucleo/utils/TimeUtils.H
-@dirrm include/nucleo/utils
-include/nucleo/xml/XmlText.H
-include/nucleo/xml/XmlStructure.H
 include/nucleo/xml/XmlParser.H
-@dirrm include/nucleo/xml
-@dirrm include/nucleo
+include/nucleo/xml/XmlStructure.H
+include/nucleo/xml/XmlText.H
 lib/libNucleo.la
 lib/libNucleo.so
 lib/libNucleo.so.0
+@exec mkdir -p %D/lib/nucleo
 %%FFMPEG%%lib/nucleo/nPffmpeg.la
 %%FFMPEG%%lib/nucleo/nPffmpeg.so
 %%GD%%lib/nucleo/nPgd.la
 %%GD%%lib/nucleo/nPgd.so
 %%QT4%%lib/nucleo/nPqt.la
 %%QT4%%lib/nucleo/nPqt.so
-@dirrmtry lib/nucleo
 libdata/pkgconfig/nucleo.pc
 %%DATADIR%%/Info.plist.tmpl
 %%DATADIR%%/fonts/Vera.ttf
@@ -161,5 +131,36 @@ libdata/pkgconfig/nucleo.pc
 %%DATADIR%%/nucleo.icns
 %%DATADIR%%/nucleo.pdf
 %%DATADIR%%/plugin-list
-@dirrm share/nucleo/fonts
-@dirrm share/nucleo
+@dirrm %%DATADIR%%/fonts
+@dirrm %%DATADIR%%
+@dirrmtry lib/nucleo
+@dirrm include/nucleo/xml
+@dirrm include/nucleo/utils
+%%QT4%%@dirrm include/nucleo/plugins/qt
+%%QT4%%@dirrm include/nucleo/plugins
+@dirrm include/nucleo/network/xmpp
+@dirrm include/nucleo/network/udp
+@dirrm include/nucleo/network/tcp
+@dirrm include/nucleo/network/http
+@dirrm include/nucleo/network/dnssd
+@dirrm include/nucleo/network
+@dirrm include/nucleo/image/source
+@dirrm include/nucleo/image/sink
+@dirrm include/nucleo/image/processing/noise
+@dirrm include/nucleo/image/processing/gamma
+@dirrm include/nucleo/image/processing/difference
+@dirrm include/nucleo/image/processing/convolution
+@dirrm include/nucleo/image/processing/chromakeying
+@dirrm include/nucleo/image/processing/basic
+@dirrm include/nucleo/image/processing
+@dirrm include/nucleo/image/encoding
+@dirrm include/nucleo/image
+@dirrm include/nucleo/helpers
+@dirrm include/nucleo/gl/window
+@dirrm include/nucleo/gl/texture
+@dirrm include/nucleo/gl/text
+@dirrm include/nucleo/gl/shading
+@dirrm include/nucleo/gl/scenegraph
+@dirrm include/nucleo/gl
+@dirrm include/nucleo/core
+@dirrm include/nucleo
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"