homebrew-core/Formula/dynare.rb
2018-04-20 08:41:23 -07:00

77 lines
2.5 KiB
Ruby

class Dynare < Formula
desc "Platform for economic models, particularly DSGE and OLG models"
homepage "https://www.dynare.org/"
url "https://www.dynare.org/release/source/dynare-4.5.4.tar.xz"
sha256 "5ee1c30e9a8e0c0ec4f60e83c02beb98271f9e324b9b667d4a5f5b2ee634a7e6"
revision 3
bottle do
sha256 "8d2ac3f91c6fb52e00f11a52e26dee2f14bcc7ab2bcbacb1955d38c612a04863" => :high_sierra
sha256 "c7be8466ecaae1131105ce5ca01f206e7dbe36c0f0484b4b6eb54342892c6372" => :sierra
sha256 "19da64e0188bf1f95d50a76a4c2d6f1601dd61ccdbd475131aca020b68cf90b0" => :el_capitan
end
head do
url "https://github.com/DynareTeam/dynare.git"
depends_on "autoconf" => :build
depends_on "automake" => :build
depends_on "bison" => :build
depends_on "flex" => :build
end
depends_on "boost" => :build
depends_on "cweb" => :build
depends_on "fftw"
depends_on "gcc" # for gfortran
depends_on "gsl"
depends_on "hdf5"
depends_on "libmatio"
depends_on "metis"
depends_on "octave"
depends_on "suite-sparse"
depends_on "veclibfort"
needs :cxx11
resource "slicot" do
url "https://mirrors.ocf.berkeley.edu/debian/pool/main/s/slicot/slicot_5.0+20101122.orig.tar.gz"
mirror "https://mirrorservice.org/sites/ftp.debian.org/debian/pool/main/s/slicot/slicot_5.0+20101122.orig.tar.gz"
sha256 "fa80f7c75dab6bfaca93c3b374c774fd87876f34fba969af9133eeaea5f39a3d"
end
def install
ENV.cxx11
resource("slicot").stage do
system "make", "lib", "OPTS=-fPIC", "SLICOTLIB=../libslicot_pic.a",
"FORTRAN=gfortran", "LOADER=gfortran"
system "make", "clean"
system "make", "lib", "OPTS=-fPIC -fdefault-integer-8",
"FORTRAN=gfortran", "LOADER=gfortran",
"SLICOTLIB=../libslicot64_pic.a"
(buildpath/"slicot").install "libslicot_pic.a", "libslicot64_pic.a"
end
system "autoreconf", "-fvi" if build.head?
system "./configure", "--disable-debug",
"--disable-dependency-tracking",
"--disable-silent-rules",
"--prefix=#{prefix}",
"--disable-matlab",
"--with-slicot=#{buildpath}/slicot"
system "make", "install"
end
def caveats; <<~EOS
To get started with Dynare, open Octave and type
addpath #{opt_lib}/dynare/matlab
EOS
end
test do
cp lib/"dynare/examples/bkk.mod", testpath
system Formula["octave"].opt_bin/"octave", "--no-gui", "-H", "--path",
"#{lib}/dynare/matlab", "--eval", "dynare bkk.mod console"
end
end