-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclasp-cl.rb
More file actions
47 lines (42 loc) · 1.79 KB
/
clasp-cl.rb
File metadata and controls
47 lines (42 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
class ClaspCl < Formula
desc "Common Lisp implementation that brings Common Lisp and C++ together"
homepage "https://github.com/clasp-developers/clasp"
url "https://github.com/clasp-developers/clasp.git",
using: :git,
revision: "390bbc74eea9f566c32ed2752def50db12e162f7"
version "2.7.0-292-g390bbc74e"
license "GPL-2.0-or-later"
head "https://github.com/clasp-developers/clasp.git", branch: "main"
bottle do
root_url "https://ghcr.io/v2/clasp-developers/clasp"
sha256 arm64_sequoia: "e5f7836959ca253eb7d20ab5e2b30114cdfd88ee097b91d256c21bf8f88b96ff"
sha256 arm64_sonoma: "01cd8ab95cee04caa4a8a7b17f79ae5c1e18f75b97b4dddd2b1f2a5786d4f684"
end
depends_on "boost" => :build
depends_on "libunwind-headers" => :build
depends_on "ninja" => :build
depends_on "pkg-config" => :build
depends_on "sbcl" => :build
depends_on "fmt"
depends_on "gmp"
depends_on "lld"
depends_on "llvm@19"
conflicts_with "cando", because: "both install `clasp` binaries"
def install
ENV.deparallelize
system "./koga", "--reproducible-build", "--bin-path=#{bin}", "--share-path=#{share}/clasp/",
"--lib-path=#{lib}/clasp/", "--llvm-config=#{Formula["llvm@19"].opt_bin}/llvm-config",
"--pkg-config=#{Formula["pkg-config"].opt_bin}/pkg-config", "--dylib-path=#{lib}/",
"--pkgconfig-path=#{lib}/pkgconfig/", "--cxxflags=-I#{Formula["boost"].include}/",
"--cppflags=-I#{Formula["boost"].include}/", "--skip-sync=ansi-test,mps,cl-bench,cl-who",
"--no-compile-file-parallel"
system "ninja", "-C", "build", "install"
end
test do
(testpath/"simple.lisp").write <<~EOS
(write-line "Hello, world!")
EOS
assert_match "Hello, world!",
shell_output("DYLD_LIBRARY_PATH=#{lib} #{bin}/clasp --script #{testpath}/simple.lisp")
end
end