Skip to content

Commit 7b57e22

Browse files
authored
Merge pull request #245174 from Homebrew/fricas-workaround
fricas: workaround to avoid corrupted Linux bottles
2 parents d190bd1 + bcb46d7 commit 7b57e22

File tree

1 file changed

+35
-11
lines changed

1 file changed

+35
-11
lines changed

Formula/f/fricas.rb

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@ class Fricas < Formula
99
no_autobump! because: :requires_manual_review
1010

1111
bottle do
12-
sha256 cellar: :any, arm64_tahoe: "fdc7e5b8b6fb9ed31b3bb661aa50b1761772e87e1506371c5ea49d94468f5dc5"
13-
sha256 cellar: :any, arm64_sequoia: "7fbe73c52677676edec374061a9889381f7b8dd79d231cd5db743e8b47b83be4"
14-
sha256 cellar: :any, arm64_sonoma: "f80b27d9b594c6161a4b882f13cdb0c62f883d42760bb62d8563791d3ce3660b"
15-
sha256 cellar: :any, arm64_ventura: "e78686fad2f37772d9d575453720622bd63af29ecc888a369672b14f2ca3e1d7"
16-
sha256 cellar: :any, sonoma: "716ba2734fc10c1a9540e8b868bfa6ff05c0ff8fa07fc04582808e2c12efb999"
17-
sha256 cellar: :any, ventura: "a3737a559b67fb9d5887f00208bf6c56b0e444d8f88be2d627db873c6971fde9"
18-
sha256 cellar: :any_skip_relocation, arm64_linux: "22865967ea74382926e358484cef468d9eda01c3b251ee98ac8bdcb0095f47db"
19-
sha256 cellar: :any_skip_relocation, x86_64_linux: "f35e32107cab4e45364c7f07245b562c6a425283ec655a22214a2c6f8302e8a2"
12+
rebuild 1
13+
sha256 cellar: :any, arm64_tahoe: "7c87044d00ac54aed75e3c74024198bfa1334da3cc66e378bb084e9bf34e8b2e"
14+
sha256 cellar: :any, arm64_sequoia: "6a4986f527a329cda2916c92b2065ae6d41aab08377bf751195b26a88036fd50"
15+
sha256 cellar: :any, arm64_sonoma: "c254d2cb770eb7c6796fa9293b06d01c6ffb14be778254ab3a26fc17a8eb8bec"
16+
sha256 cellar: :any, sonoma: "9b27da492022588d3d26575fa5f103bfe38f6102679fce800ac4ef9ce8e76343"
17+
sha256 cellar: :any_skip_relocation, arm64_linux: "bc084992d8a884fc40ab26b670100ea7aa8e83e91baabb22a9eac3e3687ae9e1"
18+
sha256 cellar: :any_skip_relocation, x86_64_linux: "8412b5815cf0fa53cadd4b4608ba229c84aa50120023fe04279f4e19a9a83360"
2019
end
2120

2221
depends_on "gmp"
@@ -30,6 +29,16 @@ class Fricas < Formula
3029
depends_on "sbcl"
3130
depends_on "zstd"
3231

32+
on_linux do
33+
# Patchelf will corrupt the SBCL core which is appended to binary.
34+
on_arm do
35+
pour_bottle? only_if: :default_prefix
36+
end
37+
on_intel do
38+
pour_bottle? only_if: :default_prefix
39+
end
40+
end
41+
3342
def install
3443
args = [
3544
"--with-lisp=sbcl",
@@ -41,12 +50,27 @@ def install
4150
system "make"
4251
system "make", "install"
4352
end
53+
54+
# Work around patchelf corrupting the SBCL core which is appended to binary
55+
# TODO: Find a better way to handle this in brew, either automatically or via DSL
56+
if OS.linux? && build.bottle?
57+
cd lib/"fricas" do
58+
system "tar", "-czf", "target.tar.gz", "target"
59+
rm_r("target")
60+
end
61+
end
4462
end
4563

46-
test do
47-
# Fails in Linux CI with "Can't find sbcl.core"
48-
return if OS.linux? && ENV["HOMEBREW_GITHUB_ACTIONS"]
64+
def post_install
65+
if (lib/"fricas/target.tar.gz").exist?
66+
cd lib/"fricas" do
67+
system "tar", "-xzf", "target.tar.gz"
68+
rm("target.tar.gz")
69+
end
70+
end
71+
end
4972

73+
test do
5074
assert_match %r{ \(/ \(pi\) 2\)\n},
5175
pipe_output("#{bin}/fricas -nosman", "integrate(sqrt(1-x^2),x=-1..1)::InputForm")
5276
end

0 commit comments

Comments
 (0)