aboutsummaryrefslogtreecommitdiffstats
path: root/cad/netgen
diff options
context:
space:
mode:
authorstephen <stephen@FreeBSD.org>2016-11-21 00:09:52 +0800
committerstephen <stephen@FreeBSD.org>2016-11-21 00:09:52 +0800
commit803e61d36ac7c6547bc1f3a124593fb8656c739b (patch)
tree8bfdd38e54950b9236888d3090e65ff6335eb680 /cad/netgen
parent786750f083bf24cca8d9d9d59368dc274a5e038e (diff)
downloadfreebsd-ports-gnome-803e61d36ac7c6547bc1f3a124593fb8656c739b.tar.gz
freebsd-ports-gnome-803e61d36ac7c6547bc1f3a124593fb8656c739b.tar.zst
freebsd-ports-gnome-803e61d36ac7c6547bc1f3a124593fb8656c739b.zip
- When FFMPEG=on, link to multimedia/ffmpeg.
- Respect PREFIX. - Conversion for avcodec_encode_video(). PR: ports/214199 PR: ports/214644
Diffstat (limited to 'cad/netgen')
-rw-r--r--cad/netgen/Makefile22
-rw-r--r--cad/netgen/files/patch-configure12
-rw-r--r--cad/netgen/files/patch-ng_ng.tcl11
-rw-r--r--cad/netgen/files/patch-ng_ngappinit.cpp11
-rw-r--r--cad/netgen/files/patch-ng_ngpkg.cpp93
5 files changed, 103 insertions, 46 deletions
diff --git a/cad/netgen/Makefile b/cad/netgen/Makefile
index 88ce81aba1e0..cc2f6703d411 100644
--- a/cad/netgen/Makefile
+++ b/cad/netgen/Makefile
@@ -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/tix \
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/opencascade
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_VER} \
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
diff --git a/cad/netgen/files/patch-configure b/cad/netgen/files/patch-configure
index 3bc8ef069202..9d86a92f1797 100644
--- a/cad/netgen/files/patch-configure
+++ b/cad/netgen/files/patch-configure
@@ -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
-
diff --git a/cad/netgen/files/patch-ng_ng.tcl b/cad/netgen/files/patch-ng_ng.tcl
deleted file mode 100644
index c517fe065b85..000000000000
--- a/cad/netgen/files/patch-ng_ng.tcl
+++ /dev/null
@@ -1,11 +0,0 @@
---- ng/ng.tcl.orig 2014-08-29 09:54:01 UTC
-+++ ng/ng.tcl
-@@ -32,7 +32,7 @@ if { [lsearch [array names env] NETGENDI
- set ngdir $env(NETGENDIR)
- }
- if { [string length $ngdir] == 0 } {
-- set ngdir "."
-+ set ngdir "/usr/local/bin"
- }
-
- set nguserdir ""
diff --git a/cad/netgen/files/patch-ng_ngappinit.cpp b/cad/netgen/files/patch-ng_ngappinit.cpp
deleted file mode 100644
index 16d949059f87..000000000000
--- a/cad/netgen/files/patch-ng_ngappinit.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- ng/ngappinit.cpp.orig 2014-08-29 09:54:01 UTC
-+++ ng/ngappinit.cpp
-@@ -149,7 +149,7 @@ int main(int argc, char ** argv)
- if (getenv ("NETGENDIR") && strlen (getenv ("NETGENDIR")))
- ngdir = getenv ("NETGENDIR");
- else
-- ngdir = ".";
-+ ngdir = "/usr/local/bin";
-
- verbose = parameters.GetDefineFlag ("V");
-
diff --git a/cad/netgen/files/patch-ng_ngpkg.cpp b/cad/netgen/files/patch-ng_ngpkg.cpp
new file mode 100644
index 000000000000..81ee1c7941c1
--- /dev/null
+++ b/cad/netgen/files/patch-ng_ngpkg.cpp
@@ -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;