63 lines
2.1 KiB
Ruby
63 lines
2.1 KiB
Ruby
class SwiProlog < Formula
|
|
desc "ISO/Edinburgh-style Prolog interpreter"
|
|
homepage "https://www.swi-prolog.org/"
|
|
url "https://www.swi-prolog.org/download/stable/src/swipl-8.4.1.tar.gz"
|
|
sha256 "30bb6542b7767e47b94bd92e8e8a7d7a8a000061044046edf45fc864841b69c4"
|
|
license "BSD-2-Clause"
|
|
head "https://github.com/SWI-Prolog/swipl-devel.git", branch: "master"
|
|
|
|
livecheck do
|
|
url "https://www.swi-prolog.org/download/stable/src/"
|
|
regex(/href=.*?swipl[._-]v?(\d+(?:\.\d+)+)\.t/i)
|
|
end
|
|
|
|
bottle do
|
|
sha256 arm64_monterey: "4af9b87b533dbb62f3d3c258545c46bb63ee70ce6179664ec262326b71dbe6d8"
|
|
sha256 arm64_big_sur: "c5a8c3feaa65511402f394196b865252e2f2a83183a3580efdb90c84697bde35"
|
|
sha256 monterey: "263745a44d64ec8b046f17d2b1f4b3fcd3c0ff736e2810a571f0725c94c09ea3"
|
|
sha256 big_sur: "7dc70f763a0996705c79131a7b0b2702fc420d80149374046b559a8ab22001ab"
|
|
sha256 catalina: "90ccd979ddc504d65ffb98bca1662074b43f01073c68fc66b7978e5e0a0c591f"
|
|
sha256 x86_64_linux: "d235fcf99631b69ba0c910c08152c884a1d72643f1d7aa34244d47e4dd32aefc"
|
|
end
|
|
|
|
depends_on "cmake" => :build
|
|
depends_on "pkg-config" => :build
|
|
depends_on "berkeley-db"
|
|
depends_on "gmp"
|
|
depends_on "jpeg"
|
|
depends_on "libarchive"
|
|
depends_on "libyaml"
|
|
depends_on "openssl@1.1"
|
|
depends_on "pcre"
|
|
depends_on "readline"
|
|
depends_on "unixodbc"
|
|
|
|
def install
|
|
# Remove shim paths from binary files `swipl-ld` and `libswipl.so.*`
|
|
if OS.linux?
|
|
inreplace "cmake/Params.cmake" do |s|
|
|
s.gsub! "${CMAKE_C_COMPILER}", "\"gcc\""
|
|
s.gsub! "${CMAKE_CXX_COMPILER}", "\"g++\""
|
|
end
|
|
end
|
|
|
|
mkdir "build" do
|
|
system "cmake", "..", *std_cmake_args,
|
|
"-DSWIPL_PACKAGES_JAVA=OFF",
|
|
"-DSWIPL_PACKAGES_X=OFF",
|
|
"-DCMAKE_INSTALL_PREFIX=#{libexec}"
|
|
system "make", "install"
|
|
end
|
|
|
|
bin.write_exec_script Dir["#{libexec}/bin/*"]
|
|
end
|
|
|
|
test do
|
|
(testpath/"test.pl").write <<~EOS
|
|
test :-
|
|
write('Homebrew').
|
|
EOS
|
|
assert_equal "Homebrew", shell_output("#{bin}/swipl -s #{testpath}/test.pl -g test -t halt")
|
|
end
|
|
end
|