Revision: 108760 https://trac.macports.org/changeset/108760 Author: takeshi@macports.org Date: 2013-07-31 23:44:45 -0700 (Wed, 31 Jul 2013) Log Message: ----------- ncarg: use clang when +g95 is set. intended to fix #38687 and #39913 Modified Paths: -------------- trunk/dports/science/ncarg/Portfile Added Paths: ----------- trunk/dports/science/ncarg/files/patch-libncarg_gks-cdrivers-cro.c.diff trunk/dports/science/ncarg/files/patch-ncarview-idt-glob.c.diff trunk/dports/science/ncarg/files/patch-ncarview-idt-w_idt.c.diff trunk/dports/science/ncarg/files/patch-ni-nyacc-error.c.diff trunk/dports/science/ncarg/files/patch-ni-nyacc-main.c.diff trunk/dports/science/ncarg/files/patch-ni-nyacc-output.c.diff trunk/dports/science/ncarg/files/patch-ni-nyacc-reader.c.diff trunk/dports/science/ncarg/files/patch-ni-nyacc-verbose.c.diff Modified: trunk/dports/science/ncarg/Portfile =================================================================== --- trunk/dports/science/ncarg/Portfile 2013-08-01 06:32:47 UTC (rev 108759) +++ trunk/dports/science/ncarg/Portfile 2013-08-01 06:44:45 UTC (rev 108760) @@ -6,7 +6,7 @@ name ncarg version 6.1.2 -revision 3 +revision 4 categories science maintainers takeshi license {UCAR-Unidata public-domain BSD LGPL-3 GPL-3} @@ -71,6 +71,15 @@ set usedap y +# clang raises error on (assumed) non-void functions without return value. +patchfiles patch-ni-nyacc-error.c.diff \ + patch-ni-nyacc-main.c.diff \ + patch-ni-nyacc-output.c.diff \ + patch-ni-nyacc-reader.c.diff \ + patch-ni-nyacc-verbose.c.diff \ + patch-libncarg_gks-cdrivers-cro.c.diff \ + patch-ncarview-idt-glob.c.diff \ + patch-ncarview-idt-w_idt.c.diff if {$build_arch eq "x86_64"} { patchfiles-append patch-config-ymake.diff } @@ -155,11 +164,6 @@ } } -# clang fails to build ncl -if {${os.major}>=10} { - configure.compiler llvm-gcc-4.2 -} - pre-configure { system "cd ${workpath}/${g2clib_worksrcdir}; make all" file copy ${workpath}/${g2clib_worksrcdir}/libgrib2c.a ${worksrcpath} @@ -267,16 +271,20 @@ default_variants +gcc47 } -# ncarg fails to build some binaries with xnu-headers installed -# See #38687 -if {[variant_isset g95]} { - conflicts_build-append xnu-headers -} +## ncarg fails to build some binaries with xnu-headers installed +## See #38687 +# seems it works with xnu-headers installed +#if {[variant_isset g95]} { +# conflicts_build-append xnu-headers +#} variant accelerate description {use Accelerate.framework} { - if {![variant_isset g95]} { - configure.fflags-append -ff2c - } +# use of -ff2c implies -fsecond-underscore and +# breaks the linkage between nfp (C) and nfpfort (Fortran). +# Moreover dotwrp should not require -ff2c +# if {![variant_isset g95]} { +# configure.fflags-append -ff2c +# } if {[variant_isset g95] || ([string match *64* $build_arch] && ${os.major} >= 10)} { depends_lib-append port:dotwrp } Added: trunk/dports/science/ncarg/files/patch-libncarg_gks-cdrivers-cro.c.diff =================================================================== --- trunk/dports/science/ncarg/files/patch-libncarg_gks-cdrivers-cro.c.diff (rev 0) +++ trunk/dports/science/ncarg/files/patch-libncarg_gks-cdrivers-cro.c.diff 2013-08-01 06:44:45 UTC (rev 108760) @@ -0,0 +1,11 @@ +--- ncarg2d/src/libncarg_gks/cdrivers/cro.c.orig 2013-07-31 13:30:04.000000000 +0900 ++++ ncarg2d/src/libncarg_gks/cdrivers/cro.c 2013-07-31 13:42:41.000000000 +0900 +@@ -1361,7 +1361,7 @@ + } + + if ((index & ARGB_MASK) > 0) +- return; /* value is a 32-bit color, not an index */ ++ return 255; /* value is a 32-bit color, not an index */ + + if (psa->max_color < index + 1) { + psa->ctable = (unsigned int*) realloc(psa->ctable, (index + 1) Added: trunk/dports/science/ncarg/files/patch-ncarview-idt-glob.c.diff =================================================================== --- trunk/dports/science/ncarg/files/patch-ncarview-idt-glob.c.diff (rev 0) +++ trunk/dports/science/ncarg/files/patch-ncarview-idt-glob.c.diff 2013-08-01 06:44:45 UTC (rev 108760) @@ -0,0 +1,11 @@ +--- ncarview/src/bin/idt/glob.c.orig 2013-08-01 10:28:37.000000000 +0900 ++++ ncarview/src/bin/idt/glob.c 2013-08-01 10:29:00.000000000 +0900 +@@ -49,7 +49,7 @@ + * to_child[1] : fd for writing to spawned process + * to_parent[0] : fd for reading from spawned process + */ +-static talkto(argv) ++static void talkto(argv) + char **argv; + { + int pid; Added: trunk/dports/science/ncarg/files/patch-ncarview-idt-w_idt.c.diff =================================================================== --- trunk/dports/science/ncarg/files/patch-ncarview-idt-w_idt.c.diff (rev 0) +++ trunk/dports/science/ncarg/files/patch-ncarview-idt-w_idt.c.diff 2013-08-01 06:44:45 UTC (rev 108760) @@ -0,0 +1,18 @@ +--- ncarview/src/bin/idt/w_idt.c.orig 2013-08-01 08:27:17.000000000 +0900 ++++ ncarview/src/bin/idt/w_idt.c 2013-08-01 08:28:00.000000000 +0900 +@@ -570,7 +570,7 @@ + + + +-void ++int + main(argc, argv) + int argc; + char **argv; +@@ -653,5 +653,6 @@ + } + + XtAppMainLoop(app_con); ++ return 0; + } + Added: trunk/dports/science/ncarg/files/patch-ni-nyacc-error.c.diff =================================================================== --- trunk/dports/science/ncarg/files/patch-ni-nyacc-error.c.diff (rev 0) +++ trunk/dports/science/ncarg/files/patch-ni-nyacc-error.c.diff 2013-08-01 06:44:45 UTC (rev 108760) @@ -0,0 +1,11 @@ +--- ni/src/nyacc/error.c.orig 2013-08-01 09:49:00.000000000 +0900 ++++ ni/src/nyacc/error.c 2013-08-01 09:49:14.000000000 +0900 +@@ -33,7 +33,7 @@ + done(1); + } + +- ++void + print_pos(st_line, st_cptr) + char *st_line; + char *st_cptr; Added: trunk/dports/science/ncarg/files/patch-ni-nyacc-main.c.diff =================================================================== --- trunk/dports/science/ncarg/files/patch-ni-nyacc-main.c.diff (rev 0) +++ trunk/dports/science/ncarg/files/patch-ni-nyacc-main.c.diff 2013-08-01 06:44:45 UTC (rev 108760) @@ -0,0 +1,11 @@ +--- ni/src/nyacc/main.c.orig 2013-07-31 11:26:09.000000000 +0900 ++++ ni/src/nyacc/main.c 2013-07-31 11:26:28.000000000 +0900 +@@ -101,7 +101,7 @@ + } + + +-getargs(argc, argv) ++void getargs(argc, argv) + int argc; + char *argv[]; + { Added: trunk/dports/science/ncarg/files/patch-ni-nyacc-output.c.diff =================================================================== --- trunk/dports/science/ncarg/files/patch-ni-nyacc-output.c.diff (rev 0) +++ trunk/dports/science/ncarg/files/patch-ni-nyacc-output.c.diff 2013-08-01 06:44:45 UTC (rev 108760) @@ -0,0 +1,49 @@ +--- ni/src/nyacc/output.c.orig 2013-07-31 14:06:00.000000000 +0900 ++++ ni/src/nyacc/output.c 2013-07-31 14:08:52.000000000 +0900 +@@ -16,6 +16,10 @@ + static int lowzero; + static int high; + ++void save_column(int symbol, int default_state); ++void output_stored_text(); ++void output_trailing_text(); ++void output_semantic_actions(); + + output() + { +@@ -355,7 +359,7 @@ + + + +-save_column(symbol, default_state) ++void save_column(symbol, default_state) + int symbol; + int default_state; + { +@@ -825,7 +829,7 @@ + } + + +-output_stored_text() ++void output_stored_text() + { + register int c; + register FILE *in, *out; +@@ -1076,7 +1080,7 @@ + } + + +-output_trailing_text() ++void output_trailing_text() + { + register int c, last; + register FILE *in, *out; +@@ -1133,7 +1137,7 @@ + } + + +-output_semantic_actions() ++void output_semantic_actions() + { + register int c, last; + register FILE *out; Added: trunk/dports/science/ncarg/files/patch-ni-nyacc-reader.c.diff =================================================================== --- trunk/dports/science/ncarg/files/patch-ni-nyacc-reader.c.diff (rev 0) +++ trunk/dports/science/ncarg/files/patch-ni-nyacc-reader.c.diff 2013-08-01 06:44:45 UTC (rev 108760) @@ -0,0 +1,110 @@ +--- ni/src/nyacc/reader.c.orig 2013-08-01 09:51:08.000000000 +0900 ++++ ni/src/nyacc/reader.c 2013-08-01 09:56:12.000000000 +0900 +@@ -48,7 +48,7 @@ + ++cinc; + } + +- ++void + get_line() + { + register FILE *f = input_file; +@@ -112,7 +112,7 @@ + return (p); + } + +- ++void + skip_comment() + { + register char *s; +@@ -267,7 +267,7 @@ + /*NOTREACHED*/ + } + +- ++void + copy_ident() + { + register int c; +@@ -296,7 +296,7 @@ + } + } + +- ++void + copy_text() + { + register int c; +@@ -427,7 +427,7 @@ + } + } + +- ++void + copy_union() + { + register int c; +@@ -823,7 +823,7 @@ + return (s); + } + +- ++void + declare_tokens(assoc) + int assoc; + { +@@ -885,7 +885,7 @@ + } + } + +- ++void + declare_types() + { + register int c; +@@ -931,7 +931,7 @@ + goal = bp; + } + +- ++void + read_declarations() + { + register int c, k; +@@ -1144,7 +1144,7 @@ + rassoc[nrules-1] = TOKEN; + } + +- ++void + add_symbol() + { + register int c; +@@ -1175,7 +1175,7 @@ + pitem[nitems-1] = bp; + } + +- ++void + copy_action() + { + register int c; +@@ -1475,7 +1475,7 @@ + end_rule(); + } + +- ++void + free_tags() + { + register int i; +@@ -1716,7 +1716,7 @@ + FREE(pitem); + } + +- ++void + print_grammar() + { + register int i, j, k; Added: trunk/dports/science/ncarg/files/patch-ni-nyacc-verbose.c.diff =================================================================== --- trunk/dports/science/ncarg/files/patch-ni-nyacc-verbose.c.diff (rev 0) +++ trunk/dports/science/ncarg/files/patch-ni-nyacc-verbose.c.diff 2013-08-01 06:44:45 UTC (rev 108760) @@ -0,0 +1,11 @@ +--- ni/src/nyacc/verbose.c.orig 2013-08-01 08:19:16.000000000 +0900 ++++ ni/src/nyacc/verbose.c 2013-08-01 08:20:12.000000000 +0900 +@@ -4,7 +4,7 @@ + + static short *null_rules; + +-verbose() ++void verbose() + { + register int i; +