class Nwchem < Formula desc "NWChem: Open Source High-Performance Computational Chemistry" homepage "http://www.nwchem-sw.org" url "https://github.com/nwchemgit/nwchem/releases/download/6.8.1-release/nwchem-6.8.1-release.revision-v6.8-133-ge032219-src.2018-06-14.tar.bz2" version "6.8.1" sha256 "23ce8241a5977a93d8224f66433851c81a08ad58a4c551858ae031485b095ab7" revision 5 bottle do cellar :any sha256 "a74b97dbefbfc29ee2d7581c5618dafc4a3f2ecae1ffa9444b46d1c71bc90dad" => :mojave sha256 "705b1083b329faab191103ad4eb8161a74c357369fa512f620689ea2506d5e5e" => :high_sierra sha256 "da929866f7182fc4e21a267406557d16639cd024b57c51a4e79ec43b9d02c47b" => :sierra end depends_on "gcc" # for gfortran depends_on "open-mpi" depends_on "openblas" depends_on "scalapack" def install pkgshare.install "QA" cd "src" do (prefix/"etc").mkdir (prefix/"etc/nwchemrc").write <<~EOS nwchem_basis_library #{pkgshare}/libraries/ nwchem_nwpw_library #{pkgshare}/libraryps/ ffield amber amber_1 #{pkgshare}/amber_s/ amber_2 #{pkgshare}/amber_q/ amber_3 #{pkgshare}/amber_x/ amber_4 #{pkgshare}/amber_u/ spce #{pkgshare}/solvents/spce.rst charmm_s #{pkgshare}/charmm_s/ charmm_x #{pkgshare}/charmm_x/ EOS inreplace "util/util_nwchemrc.F", "/etc/nwchemrc", "#{etc}/nwchemrc" ENV["NWCHEM_TOP"] = buildpath ENV["PYTHONVERSION"] = "2.7" pyhome = `python-config --prefix`.chomp ENV["PYTHONHOME"] = pyhome ENV["NWCHEM_LONG_PATHS"] = "Y" ENV["BLASOPT"] = "-L#{Formula["openblas"].opt_lib} -lopenblas" ENV["BLAS_SIZE"] = "4" ENV["SCALAPACK"] = "-L#{Formula["scalapack"].opt_prefix}/lib -lscalapack" ENV["USE_64TO32"] = "y" system "make", "nwchem_config", "NWCHEM_MODULES=all python" system "make", "64_to_32" system "make", "NWCHEM_TARGET=MACX64", "USE_MPI=Y" bin.install "../bin/MACX64/nwchem" pkgshare.install "basis/libraries" pkgshare.install "nwpw/libraryps" pkgshare.install Dir["data/*"] end end test do cp_r pkgshare/"QA", testpath cd "QA" do ENV["NWCHEM_TOP"] = pkgshare ENV["NWCHEM_TARGET"] = "MACX64" ENV["NWCHEM_EXECUTABLE"] = "#{bin}/nwchem" system "./runtests.mpi.unix", "procs", "2", "dft_he2+", "prop_mep_gcube", "pspw", "tddft_h2o", "tce_n2" end end end