diff --git a/Aliases/ghc@9.12 b/Aliases/ghc@9.12 new file mode 120000 index 0000000000000..cf505c10c4f22 --- /dev/null +++ b/Aliases/ghc@9.12 @@ -0,0 +1 @@ +../Formula/g/ghc.rb \ No newline at end of file diff --git a/Formula/a/agda.rb b/Formula/a/agda.rb index 69fc601de4793..f2bf2e4ee46c4 100644 --- a/Formula/a/agda.rb +++ b/Formula/a/agda.rb @@ -24,6 +24,12 @@ class Agda < Formula resource "categories" do url "https://github.com/agda/agda-categories/archive/refs/tags/v0.2.0.tar.gz" sha256 "a4bf97bf0966ba81553a2dad32f6c9a38cd74b4c86f23f23f701b424549f9015" + + # Backport support for stdlib 2.1 + patch do + url "https://github.com/agda/agda-categories/commit/ac0d9d27a402305f6774a6343f7a21a229822168.patch?full_index=1" + sha256 "50dc97c97898c825dd4c85fffc8452dc3e61a7871aa907d65b1711e5642c05fc" + end end resource "agda2hs" do @@ -40,14 +46,13 @@ class Agda < Formula end bottle do - sha256 arm64_sequoia: "efcb6bc585745b2967257a989c96dc870b7e42e8605c36594e0ee204e4b71302" - sha256 arm64_sonoma: "37754c8fe159f96685467a321a30c35c7088c2fa7a5bf9912ba67c972d79399b" - sha256 arm64_ventura: "34042e188e7e31f2c6dbc1596499524f25418d6336484820851f023245133e8d" - sha256 arm64_monterey: "d8b64716f20cd7037b6c3bc099b4260cd76d15404a6ace0ffa71313f8cf8a332" - sha256 sonoma: "6aff1192bdc412c72806011171db6e07a3f8f5bcc389f8bb23924810fef15bfd" - sha256 ventura: "341696bc1ea2218202bed2823be2ab56d75410570b25b83274958f63ca463939" - sha256 monterey: "2a81118ecccc5e080caf92f85426a81eda64df40378fc6a1eca0e27e9fac6ddc" - sha256 x86_64_linux: "921f03e6fc741c7be27df3982e9254214688fc9e9e51722950d327ae8d427f5d" + rebuild 1 + sha256 arm64_sequoia: "e572a43ece7ec11b57dbd991045c4fe21316a0fccaf9da3d6aa1ed3348528d30" + sha256 arm64_sonoma: "5fb29154ad623bb9ca13620bbf7b76e74f020dd6465ed395cd381dd56b650839" + sha256 arm64_ventura: "bcf7974b32306651d2502f7beb239fe01cdd4ee87ecfc7549f181551714083ee" + sha256 sonoma: "db2640366fd9760d88418030991af9000873b54b9262cd1acae2603a730ab993" + sha256 ventura: "b081242b7a011bafb60e56ddb8de2e929f01f65223a80a743d766338013468dc" + sha256 x86_64_linux: "5e3087b50db140bbf66fabace8c8180c8adbcc6ffa0cb7c35ce4a47898acdbc8" end head do @@ -78,7 +83,21 @@ class Agda < Formula uses_from_macos "zlib" def install - cabal_args = std_cabal_v2_args.reject { |s| s["installdir"] } + # Workaround for GHC 9.12 until official support is available + # Issue ref: https://github.com/agda/agda/issues/7574 + ghc912_args = %w[ + --allow-newer=Agda:base + --allow-newer=agda-stdlib-utils:base + --allow-newer=agda2hs:base + --allow-newer=agda2hs:filepath + ] + # Workaround for https://github.com/agda/agda/commit/e11ae9875470aab7b68b98d9d9574e736dbcaddd + ghc912_args << "--allow-newer=Agda:hashable" + # Workaround to build with GHC 9.12, remove after https://github.com/haskell/aeson/pull/1126 + # is merged and available on Hackage or if `aeson` is willing to provide a metadata revision + ghc912_args << "--allow-newer=aeson:ghc-prim,aeson:template-haskell" + + cabal_args = ghc912_args + std_cabal_v2_args.reject { |s| s["installdir"] } system "cabal", "v2-update" # expose certain packages for building and testing @@ -89,7 +108,7 @@ def install # install main Agda library and binaries system "cabal", "--store-dir=#{libexec}", "v2-install", - "-foptimise-heavily", *std_cabal_v2_args + "--flags=optimise-heavily", *std_cabal_v2_args, *ghc912_args # install agda2hs helper binary and library, # relying on the Agda library just installed @@ -109,7 +128,7 @@ def install # Issue ref: https://github.com/agda/agda2hs/issues/347 inreplace "agda2hs.cabal", /( base .*&&) < 4\.20,/, "\\1 < 4.21,", build.stable? - system "cabal", "--store-dir=#{libexec}", "v2-install", *std_cabal_v2_args + system "cabal", "--store-dir=#{libexec}", "v2-install", *std_cabal_v2_args, *ghc912_args end # generate the standard library's documentation and vim highlighting files diff --git a/Formula/g/ghc.rb b/Formula/g/ghc.rb index 9c100c1a0f53b..3b66bf49e614e 100644 --- a/Formula/g/ghc.rb +++ b/Formula/g/ghc.rb @@ -1,6 +1,8 @@ class Ghc < Formula desc "Glorious Glasgow Haskell Compilation System" homepage "https://haskell.org/ghc/" + url "https://downloads.haskell.org/~ghc/9.12.1/ghc-9.12.1-src.tar.xz" + sha256 "4a7410bdeec70f75717087b8f94bf5a6598fd61b3a0e1f8501d8f10be1492754" # We build bundled copies of libffi and GMP so GHC inherits the licenses license all_of: [ "BSD-3-Clause", @@ -9,37 +11,23 @@ class Ghc < Formula ] head "https://gitlab.haskell.org/ghc/ghc.git", branch: "master" - stable do - url "https://downloads.haskell.org/~ghc/9.10.1/ghc-9.10.1-src.tar.xz" - sha256 "bf386a302d4ee054791ffd51748900f15d71760fd199157922d120cc1f89e2f7" - - # Backport fix to avoid unnecessary `alex` dependency - patch do - url "https://gitlab.haskell.org/ghc/ghc/-/commit/aba2c9d4728262cd9a2d711eded9050ac131c6c1.diff" - sha256 "152cd2711a7e103bbf0526dc62e51b437e6c60e26149f2cd50ccafaa057316ce" - end - end - livecheck do url "https://www.haskell.org/ghc/download.html" regex(/href=.*?download[._-]ghc[._-][^"' >]+?\.html[^>]*?>\s*?v?(\d+(?:\.\d+)+)\s*? :build depends_on "automake" => :build - depends_on "python@3.12" => :build + depends_on "python@3.13" => :build depends_on "sphinx-doc" => :build depends_on "xz" => :build @@ -59,22 +47,22 @@ class Ghc < Formula resource "binary" do on_macos do on_arm do - url "https://downloads.haskell.org/~ghc/9.8.2/ghc-9.8.2-aarch64-apple-darwin.tar.xz" - sha256 "67be089dedbe599d911efd8f82e4f9a19225761a3872be74dfd4b5a557fb8e1a" + url "https://downloads.haskell.org/~ghc/9.10.1/ghc-9.10.1-aarch64-apple-darwin.tar.xz" + sha256 "ffaf83b5d7a8b2c04920c6e3909c0be21dde27baf380d095fa27e840a3a2e804" end on_intel do - url "https://downloads.haskell.org/~ghc/9.8.2/ghc-9.8.2-x86_64-apple-darwin.tar.xz" - sha256 "64e8cca6310443cd6de8255edcf391d937829792e701167f7e5fb234f7150078" + url "https://downloads.haskell.org/~ghc/9.10.1/ghc-9.10.1-x86_64-apple-darwin.tar.xz" + sha256 "8cf22188930e10d7ac5270d425e21a3dab606af73a655493639345200c650be9" end end on_linux do on_arm do - url "https://downloads.haskell.org/~ghc/9.8.2/ghc-9.8.2-aarch64-deb10-linux.tar.xz" - sha256 "9a3776fd8dc02f95b751f0e44823d6727dea2c212857e2c5c5f6a38a034d1575" + url "https://downloads.haskell.org/~ghc/9.10.1/ghc-9.10.1-aarch64-deb10-linux.tar.xz" + sha256 "e6df50e62b696e3a8b759670fc79207ccc26e88a79a047561ca1ccb8846157dd" end on_intel do - url "https://downloads.haskell.org/~ghc/9.8.2/ghc-9.8.2-x86_64-ubuntu20_04-linux.tar.xz" - sha256 "a65a4726203c606b58a7f6b714a576e7d81390158c8afa0dece3841a4c602de2" + url "https://downloads.haskell.org/~ghc/9.10.1/ghc-9.10.1-x86_64-ubuntu20_04-linux.tar.xz" + sha256 "ae3be406fdb73bd2b0c22baada77a8ff2f8cde6220dd591dc24541cfe9d895eb" end end end @@ -82,22 +70,22 @@ class Ghc < Formula resource "cabal-install" do on_macos do on_arm do - url "https://downloads.haskell.org/~cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-aarch64-darwin.tar.xz" - sha256 "9c165ca9a2e593b12dbb0eca92c0b04f8d1c259871742d7e9afc352364fe7a3f" + url "https://downloads.haskell.org/~cabal/cabal-install-3.14.1.1/cabal-install-3.14.1.1-aarch64-darwin.tar.xz" + sha256 "bd40920fb3d5bcf3d78ce93445039ba43bc5edf769c52234223f25b83e3cc682" end on_intel do - url "https://downloads.haskell.org/~cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-x86_64-darwin.tar.xz" - sha256 "e89392429f59bbcfaf07e1164e55bc63bba8e5c788afe43c94e00b515c1578af" + url "https://downloads.haskell.org/~cabal/cabal-install-3.14.1.1/cabal-install-3.14.1.1-x86_64-darwin.tar.xz" + sha256 "3690d8f7aa368141574f9eaf8e75bc26932ed7b422f5ade107d6972b3b72532f" end end on_linux do on_arm do - url "https://downloads.haskell.org/~cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-aarch64-linux-deb10.tar.xz" - sha256 "c01f2e0b3ba1fe4104cf2933ee18558a9b81d85831a145e8aba33fa172c7c618" + url "https://downloads.haskell.org/~cabal/cabal-install-3.14.1.1/cabal-install-3.14.1.1-aarch64-linux-deb10.tar.xz" + sha256 "bf5fbe5d911c771b1601b80b00e9f9fb3db7f800258204322e411fdf1661a866" end on_intel do - url "https://downloads.haskell.org/~cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-x86_64-linux-ubuntu20_04.tar.xz" - sha256 "3724f2aa22f330c5e6605978f3dd9adee4e052866321a8dd222944cd178c3c24" + url "https://downloads.haskell.org/~cabal/cabal-install-3.14.1.1/cabal-install-3.14.1.1-x86_64-linux-ubuntu20_04.tar.xz" + sha256 "91d2b65907e95462396fa96892ebbd903861fc07b5cb74993c612e33d4c0cc65" end end end @@ -113,7 +101,7 @@ def install ENV["CC"] = ENV["ac_cv_path_CC"] = OS.linux? ? "cc" : ENV.cc ENV["CXX"] = ENV["ac_cv_path_CXX"] = OS.linux? ? "c++" : ENV.cxx ENV["LD"] = ENV["MergeObjsCmd"] = "ld" - ENV["PYTHON"] = which("python3.12") + ENV["PYTHON"] = which("python3.13") binary = buildpath/"binary" resource("binary").stage do