homebrew-core/Formula/superlu.rb

52 lines
2.0 KiB
Ruby

class Superlu < Formula
desc "Solve large, sparse nonsymmetric systems of equations"
homepage "https://portal.nersc.gov/project/sparse/superlu/"
url "https://github.com/xiaoyeli/superlu/archive/v5.3.0.tar.gz"
sha256 "3e464afa77335de200aeb739074a11e96d9bef6d0b519950cfa6684c4be1f350"
license "BSD-3-Clause-LBNL"
livecheck do
url :homepage
regex(/href=.*?superlu[._-]v?(\d+(?:\.\d+)+)\.t/i)
end
bottle do
sha256 cellar: :any, arm64_monterey: "9f4ff68d59c8d6fa46ee8dec38a16d132b768f0774bde07ce47382df778f157f"
sha256 cellar: :any, arm64_big_sur: "8ce0014c1d671eb0666d67f7955b949e64cfa4832bb4866a3d21c7969b437253"
sha256 cellar: :any, monterey: "6c7230e94eb371e7246b0072cde205acff5bc1005269e35de715261ef3c62c94"
sha256 cellar: :any, big_sur: "222e4aa99af82d75fea366fe28228913b6f8590d973b836cf2f8244a61bd1079"
sha256 cellar: :any, catalina: "032023b04d6ded07dabc261fe7dc90960e7c2f0eff162a5827c475f926f4c483"
sha256 cellar: :any_skip_relocation, x86_64_linux: "6e89b55953dc32b96d18eb672895262206bb97e648b6d226b9d10741fc7eb78e"
end
depends_on "cmake" => :build
depends_on "gcc"
depends_on "openblas"
def install
args = std_cmake_args + %W[
-Denable_internal_blaslib=NO
-DTPL_BLAS_LIBRARIES=#{Formula["openblas"].opt_lib}/#{shared_library("libopenblas")}
-DBUILD_SHARED_LIBS=YES
]
mkdir "build" do
system "cmake", "..", *args
system "make"
system "make", "install"
end
# Source and data for test
pkgshare.install "EXAMPLE/dlinsol.c"
pkgshare.install "EXAMPLE/g20.rua"
end
test do
system ENV.cc, pkgshare/"dlinsol.c", "-o", "test",
"-I#{include}/superlu", "-L#{lib}", "-lsuperlu",
"-L#{Formula["openblas"].opt_lib}", "-lopenblas"
assert_match "No of nonzeros in L+U = 11886",
shell_output("./test < #{pkgshare}/g20.rua")
end
end