diff --git a/science/dynare/Makefile b/science/dynare/Makefile index abbb4eeac311..59e21deada34 100644 --- a/science/dynare/Makefile +++ b/science/dynare/Makefile @@ -1,54 +1,55 @@ PORTNAME= dynare -DISTVERSION= 5.0 -PORTREVISION= 1 +DISTVERSION= 5.1 CATEGORIES= science # economics MASTER_SITES= https://www.dynare.org/release/source/ MAINTAINER= yuri@FreeBSD.org COMMENT= Software platform for handling a wide class of economic models LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING BROKEN_aarch64= cannot open module file 'ieee_arithmetic.mod' for reading at (1): No such file or directory BUILD_DEPENDS= ${LOCALBASE}/include/boost/tokenizer.hpp:devel/boost-libs LIB_DEPENDS= libhdf5.so:science/hdf5 \ libmatio.so:math/matio \ libopenblas.so:math/openblas \ libsz.so:science/szip RUN_DEPENDS= epstool:graphics/epstool \ gnuplot:math/gnuplot \ pstoedit:graphics/pstoedit \ xfig:graphics/xfig # README says that these executables are required for the test suite USES= bison compiler:c++17-lang fortran gmake localbase tar:xz USE_TEX= pdftex USE_GCC= yes # clang-11 fails: error: reference to local binding 'ii1' declared in enclosing function 'ss2Iteration_pruning' # Clang still doesn't support this c++20 feature, see https://bugs.llvm.org/show_bug.cgi?id=49238 GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-matlab \ --disable-doc +FCFLAGS+= -fPIC # required because configure tests with -shared + SUB_FILES= pkg-message OPTIONS_DEFINE= OCTAVE OPTIONS_DEFAULT= OCTAVE OPTIONS_SUB= yes OCTAVE_DESC= Integrate with Octave (main way to use Dynare) OCTAVE_CONFIGURE_ENABLE= octave OCTAVE_CONFIGURE_ON= --disable-mex-kalman-steady-state # Kalman Steady State MEX file for Octave - requires the non-free library slicot-5.0 OCTAVE_BUILD_DEPENDS= octave:math/octave OCTAVE_LIB_DEPENDS= libfftw3.so:math/fftw3 \ libfftw3f.so:math/fftw3-float \ libgsl.so:math/gsl \ libumfpack.so:math/suitesparse-umfpack OCTAVE_RUN_DEPENDS= octave:math/octave post-install: # remove empty directories, see https://git.dynare.org/Dynare/dynare/-/issues/1835 @${FIND} ${STAGEDIR}${PREFIX} -type d -empty -delete .include diff --git a/science/dynare/distinfo b/science/dynare/distinfo index 116f66c866c2..e3cf82deeed3 100644 --- a/science/dynare/distinfo +++ b/science/dynare/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1641668510 -SHA256 (dynare-5.0.tar.xz) = 557bc7d8d7bbbf7d4746dd1e015b273eeeb0b53dc66b9d4004d2efef8f4fe16e -SIZE (dynare-5.0.tar.xz) = 17863188 +TIMESTAMP = 1650690087 +SHA256 (dynare-5.1.tar.xz) = 269b2b52d9e7af0bf06041b48e730dd5c2fb89577bed24ad5e4b51e0dca9dbbe +SIZE (dynare-5.1.tar.xz) = 18000696 diff --git a/science/dynare/files/patch-mex_build_octave_configure b/science/dynare/files/patch-mex_build_octave_configure new file mode 100644 index 000000000000..774083adc441 --- /dev/null +++ b/science/dynare/files/patch-mex_build_octave_configure @@ -0,0 +1,88 @@ +- remove fortran-related crashing section when fortran compiler is checked for cross-compilation +- it's unclear why the fortran-built executable crashes + +--- mex/build/octave/configure.orig 2022-04-23 05:48:46 UTC ++++ mex/build/octave/configure +@@ -3332,44 +3332,44 @@ _ACEOF + ac_clean_files="$ac_clean_files conftest.out" + # Check that the compiler produces executables we can run. If not, either + # the compiler is broken, or we cross compile. +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +-$as_echo_n "checking whether we are cross compiling... " >&6; } +-if test "$cross_compiling" != yes; then +- { { ac_try="$ac_link" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 +- (eval "$ac_link") 2>&5 +- ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +- test $ac_status = 0; } +- if { ac_try='./conftest$ac_cv_exeext' +- { { case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +-$as_echo "$ac_try_echo"; } >&5 +- (eval "$ac_try") 2>&5 +- ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +- test $ac_status = 0; }; }; then +- cross_compiling=no +- else +- if test "$cross_compiling" = maybe; then +- cross_compiling=yes +- else +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "cannot run Fortran compiled programs. +-If you meant to cross compile, use \`--host'. +-See \`config.log' for more details" "$LINENO" 5; } +- fi +- fi +-fi ++#{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 ++#$as_echo_n "checking whether we are cross compiling... " >&6; } ++#if test "$cross_compiling" != yes; then ++# { { ac_try="$ac_link" ++#case "(($ac_try" in ++# *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++# *) ac_try_echo=$ac_try;; ++#esac ++#eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" ++#$as_echo "$ac_try_echo"; } >&5 ++# (eval "$ac_link") 2>&5 ++# ac_status=$? ++# $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++# test $ac_status = 0; } ++# if { ac_try='./conftest$ac_cv_exeext' ++# { { case "(($ac_try" in ++# *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++# *) ac_try_echo=$ac_try;; ++#esac ++#eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" ++#$as_echo "$ac_try_echo"; } >&5 ++# (eval "$ac_try") 2>&5 ++# ac_status=0 ++# $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++# test $ac_status = 0; }; }; then ++# cross_compiling=no ++# else ++# if test "$cross_compiling" = maybe; then ++# cross_compiling=yes ++# else ++# { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++#$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++#as_fn_error $? "cannot run Fortran compiled programs. ++#If you meant to cross compile, use \`--host'. ++#See \`config.log' for more details" "$LINENO" 5; } ++# fi ++# fi ++#fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 + $as_echo "$cross_compiling" >&6; } + diff --git a/science/dynare/files/patch-preprocessor_src_EquationTags.cc b/science/dynare/files/patch-preprocessor_src_EquationTags.cc deleted file mode 100644 index 01f3951c5975..000000000000 --- a/science/dynare/files/patch-preprocessor_src_EquationTags.cc +++ /dev/null @@ -1,12 +0,0 @@ -- backport of fix: https://git.dynare.org/Dynare/preprocessor/-/commit/8c528f4f9a15baf73c014e1c3e55bc13583ca09d - ---- preprocessor/src/EquationTags.cc.orig 2022-01-10 23:30:53 UTC -+++ preprocessor/src/EquationTags.cc -@@ -20,6 +20,7 @@ - #include "EquationTags.hh" - - #include -+#include - - set - EquationTags::getEqnsByKey(const string &key) const