svn commit: r426602 - in head/cad/netgen: . files

Stephen Montgomery-Smith stephen at FreeBSD.org
Sun Nov 20 16:09:53 UTC 2016


Author: stephen
Date: Sun Nov 20 16:09:52 2016
New Revision: 426602
URL: https://svnweb.freebsd.org/changeset/ports/426602

Log:
  - When FFMPEG=on, link to multimedia/ffmpeg.
  - Respect PREFIX.
  - Conversion for avcodec_encode_video().
  
  PR:		ports/214199
  PR:		ports/214644

Added:
  head/cad/netgen/files/patch-ng_ngpkg.cpp   (contents, props changed)
Deleted:
  head/cad/netgen/files/patch-ng_ng.tcl
  head/cad/netgen/files/patch-ng_ngappinit.cpp
Modified:
  head/cad/netgen/Makefile
  head/cad/netgen/files/patch-configure

Modified: head/cad/netgen/Makefile
==============================================================================
--- head/cad/netgen/Makefile	Sun Nov 20 16:06:05 2016	(r426601)
+++ head/cad/netgen/Makefile	Sun Nov 20 16:09:52 2016	(r426602)
@@ -3,6 +3,7 @@
 
 PORTNAME=	netgen
 PORTVERSION=	5.3.1
+PORTREVISION=	3
 CATEGORIES=	cad
 MASTER_SITES=	SF/netgen-mesher/netgen-mesher/${PORTVERSION:C|\.[[:digit:]]+$||}/
 
@@ -15,13 +16,13 @@ LIB_DEPENDS=	libTix8.4.3.so:x11-toolkits
 OCC_BROKEN=	Does not compile because of issues with cad/opencascade
 
 USE_LDCONFIG=	yes
-USES=		gmake jpeg libtool tk:tea
-USE_GL=		yes
-USE_XORG=	xmu xi
+USES=		gmake jpeg libtool localbase tk:tea
+USE_GL=		gl glu
+USE_XORG=	x11 xmu xi
 MAKE_JOBS_UNSAFE=	yes
-LDFLAGS+=	-L${LOCALBASE}/lib
-CPPFLAGS+=	-I${LOCALBASE}/include -I${LOCALBASE}/lib/Togl-1.7
+CPPFLAGS+=	-isystem ${LOCALBASE}/lib/Togl-1.7
 CONFIGURE_ARGS=	--enable-jpeglib
+INSTALL_TARGET=	install-strip
 
 FETCH_BEFORE_ARGS+=	-o ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}
 
@@ -36,7 +37,7 @@ OCC_LIB_DEPENDS=	libTKernel.so:cad/openc
 OCC_CXXFLAGS=		-DOCCGEOMETRY -DHAVE_CONFIG_H -D${ARCH} -I${LOCALBASE}/include/OpenCASCADE
 OCC_CONFIGURE_ON=	--enable-occ
 
-FFMPEG_LIB_DEPENDS=	libavcodec0.so:multimedia/ffmpeg0
+FFMPEG_LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg
 FFMPEG_CONFIGURE_ON=	--enable-ffmpeg
 
 MACHINE=	${OPSYS:tu}
@@ -48,14 +49,11 @@ MAKE_ENV=	TK_VER=${TK_VER} TCL_VER=${TCL
 		TK_INCLUDEDIR="${TK_INCLUDEDIR}"	\
 		MACHINE=${MACHINE} MAKE=${MAKE_CMD}
 
-pre-configure:
-	@${REINPLACE_CMD} -e "s|%%DATADIR%%|${DATADIR}|"	\
+post-patch:
+	@${REINPLACE_CMD} -e '/ngdir/s,"\.","${PREFIX}/bin",' \
+		${WRKSRC}/ng/ng.tcl \
 		${WRKSRC}/ng/ngappinit.cpp
 
-post-configure:
-	@${REINPLACE_CMD} -e "s|%%LOCALBASE%%|${LOCALBASE}|"	\
-		${WRKSRC}/configure
-
 post-install:
 #	copy some additional headers for build cad/salome-netgenplugin
 	${MKDIR} ${STAGEDIR}${DATADIR}/include

Modified: head/cad/netgen/files/patch-configure
==============================================================================
--- head/cad/netgen/files/patch-configure	Sun Nov 20 16:06:05 2016	(r426601)
+++ head/cad/netgen/files/patch-configure	Sun Nov 20 16:09:52 2016	(r426602)
@@ -153,15 +153,3 @@
        need_version=no
        need_lib_prefix=no
        ;;
-@@ -15534,9 +15534,9 @@ fi
- ffmpegon=false
- # Check whether --enable-ffmpeg was given.
- if test "${enable_ffmpeg+set}" = set; then :
--  enableval=$enable_ffmpeg; FFMPEG_INCLUDES="-DFFMPEG -D__STDC_CONSTANT_MACROS"
-+  enableval=$enable_ffmpeg; FFMPEG_INCLUDES="-I/usr/local/include/ffmpeg0 -DFFMPEG -D__STDC_CONSTANT_MACROS"
- 
--        FFMPEG_LIBS="-lavutil -lavformat -lavcodec -lavutil -lswscale -lz -lbz2"
-+        FFMPEG_LIBS="-L/usr/local/lib/ffmpeg0 -lavutil0 -lavformat0 -lavcodec0 -lavutil0 -lswscale -lz -lbz2"
- 
-         if test "$enableval" = yes; then ffmpegon=true; else ffmpegon=false; fi
- 

Added: head/cad/netgen/files/patch-ng_ngpkg.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/netgen/files/patch-ng_ngpkg.cpp	Sun Nov 20 16:09:52 2016	(r426602)
@@ -0,0 +1,93 @@
+--- ng/ngpkg.cpp.orig	2014-08-29 09:54:01 UTC
++++ ng/ngpkg.cpp
+@@ -2266,7 +2266,7 @@ namespace netgen
+     static int gopsize = DEFAULT_GOP_SIZE;
+     static int bframes = DEFAULT_B_FRAMES;
+     static int MPGbufsize = DEFAULT_MPG_BUFSIZE;
+-    static CodecID codec_id = CODEC_ID_MPEG1VIDEO;
++    static AVCodecID codec_id = AV_CODEC_ID_MPEG1VIDEO;
+     static FILE *MPGfile;
+     static buffer_t buff;
+     static struct SwsContext *img_convert_ctx;
+@@ -2338,7 +2338,7 @@ namespace netgen
+         context->time_base = s;
+         context->gop_size = gopsize;
+         context->max_b_frames = bframes;
+-        context->pix_fmt = PIX_FMT_YUV420P;
++        context->pix_fmt = AV_PIX_FMT_YUV420P;
+         context->flags |= CODEC_FLAG_PSNR;
+ 
+         // if( avcodec_open( context, codec ) < 0 ) {
+@@ -2351,7 +2351,7 @@ namespace netgen
+           return TCL_ERROR;
+         }
+ 
+-        YUVpicture = avcodec_alloc_frame();
++        YUVpicture = av_frame_alloc();
+ 
+         YUVpicture->data[0] = buff.YUV;
+         YUVpicture->data[1] = buff.YUV + PIXsize;
+@@ -2360,7 +2360,7 @@ namespace netgen
+         YUVpicture->linesize[1] = nx / 2;
+         YUVpicture->linesize[2] = nx / 2;
+ 
+-        RGBpicture = avcodec_alloc_frame();
++        RGBpicture = av_frame_alloc();
+ 
+         RGBpicture->data[0] = buff.RGB;
+         RGBpicture->data[1] = buff.RGB;
+@@ -2405,8 +2405,8 @@ namespace netgen
+         // Convert to YUV:
+         //----------------
+         if( img_convert_ctx == NULL )
+-          img_convert_ctx = sws_getContext( nx, ny, PIX_FMT_RGB24,
+-                                            nx, ny, PIX_FMT_YUV420P,
++          img_convert_ctx = sws_getContext( nx, ny, AV_PIX_FMT_RGB24,
++                                            nx, ny, AV_PIX_FMT_YUV420P,
+                                             SWS_BICUBIC, NULL, NULL, NULL );
+         
+         if( img_convert_ctx == NULL ) {
+@@ -2420,8 +2420,15 @@ namespace netgen
+ 
+         // Encode frame:
+         //--------------
+-        bytes = avcodec_encode_video( context, buff.MPG,
+-                                      MPGbufsize, YUVpicture );
++        AVPacket pkt;
++        av_init_packet( &pkt );
++        pkt.data = buff.MPG;
++        pkt.size = MPGbufsize;
++
++        int got_packet = 0;
++        int ret = avcodec_encode_video2( context, &pkt, YUVpicture,
++                                         &got_packet );
++        bytes = ret ? ret : pkt.size;
+         count_frames++;
+         print_info( count_frames, context, bytes );
+         fwrite( buff.MPG, 1, bytes, MPGfile );
+@@ -2442,8 +2449,15 @@ namespace netgen
+ 
+         // Get the delayed frames, if any:
+         //--------------------------------
++        AVPacket pkt;
++        av_init_packet( &pkt );
++        pkt.data = buff.MPG;
++        pkt.size = MPGbufsize;
++
++        int got_packet = 0;
+         for( ; bytes; ) {
+-          bytes = avcodec_encode_video( context, buff.MPG, MPGbufsize, NULL );
++          int ret = avcodec_encode_video2( context, &pkt, NULL, &got_packet );
++          bytes = ret ? ret : pkt.size;
+           count_frames++;
+           print_info( count_frames, context, bytes );
+           fwrite( buff.MPG, 1, bytes, MPGfile );
+@@ -2451,7 +2465,7 @@ namespace netgen
+ 
+         // Add sequence end code:
+         //-----------------------
+-        if( codec_id == CODEC_ID_MPEG1VIDEO ) {
++        if( codec_id == AV_CODEC_ID_MPEG1VIDEO ) {
+           buff.MPG[0] = 0x00;
+           buff.MPG[1] = 0x00;
+           buff.MPG[2] = 0x01;


More information about the svn-ports-head mailing list