summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMosè Giordano <giordano@users.noreply.github.com>2024-04-26 11:44:54 +0100
committerGitHub <noreply@github.com>2024-04-26 12:44:54 +0200
commite3cb4f09f084095133534003b116ec28d9939db5 (patch)
tree59b8a7f6ba7addcb9d5cdcb1d138f43213698681
parent2e8600bb716b7a7bda5ad96cec8bd9268e00c085 (diff)
downloadspack-e3cb4f09f084095133534003b116ec28d9939db5.tar.gz
spack-e3cb4f09f084095133534003b116ec28d9939db5.tar.bz2
spack-e3cb4f09f084095133534003b116ec28d9939db5.tar.xz
spack-e3cb4f09f084095133534003b116ec28d9939db5.zip
julia: add v1.10.2 (#41151)
* julia: add v1.10.2 * julia: add patch to remove suite-sparse cuda stub files * julia: use permalinks for patches
-rw-r--r--var/spack/repos/builtin/packages/julia/julia-1.10-rm-suite-sparse-cuda-stubs.patch16
-rw-r--r--var/spack/repos/builtin/packages/julia/package.py37
2 files changed, 49 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/julia/julia-1.10-rm-suite-sparse-cuda-stubs.patch b/var/spack/repos/builtin/packages/julia/julia-1.10-rm-suite-sparse-cuda-stubs.patch
new file mode 100644
index 0000000000..e95b59fe3c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/julia/julia-1.10-rm-suite-sparse-cuda-stubs.patch
@@ -0,0 +1,16 @@
+diff --git a/base/Makefile b/base/Makefile
+index ad2bb6a63c..493302af78 100644
+--- a/base/Makefile
++++ b/base/Makefile
+@@ -269,11 +269,9 @@ $(eval $(call symlink_system_library,LIBSUITESPARSE,libamd))
+ $(eval $(call symlink_system_library,LIBSUITESPARSE,libcamd))
+ $(eval $(call symlink_system_library,LIBSUITESPARSE,libccolamd))
+ $(eval $(call symlink_system_library,LIBSUITESPARSE,libcholmod))
+-$(eval $(call symlink_system_library,LIBSUITESPARSE,libcholmod_cuda))
+ $(eval $(call symlink_system_library,LIBSUITESPARSE,libcolamd))
+ $(eval $(call symlink_system_library,LIBSUITESPARSE,libumfpack))
+ $(eval $(call symlink_system_library,LIBSUITESPARSE,libspqr))
+-$(eval $(call symlink_system_library,LIBSUITESPARSE,libspqr_cuda))
+ $(eval $(call symlink_system_library,LIBSUITESPARSE,libsuitesparseconfig))
+ # EXCLUDED LIBRARIES (installed/used, but not vendored for use with dlopen):
+ # libunwind
diff --git a/var/spack/repos/builtin/packages/julia/package.py b/var/spack/repos/builtin/packages/julia/package.py
index 75db30d46b..00011c3c12 100644
--- a/var/spack/repos/builtin/packages/julia/package.py
+++ b/var/spack/repos/builtin/packages/julia/package.py
@@ -26,6 +26,7 @@ class Julia(MakefilePackage):
maintainers("vchuravy", "haampie", "giordano")
version("master", branch="master")
+ version("1.10.2", sha256="e3d20c02975da054aeb18d32ed84c5d760d54d2563e45e25017684a5a105d185")
version("1.9.3", sha256="8d7dbd8c90e71179e53838cdbe24ff40779a90d7360e29766609ed90d982081d")
version("1.9.2", sha256="015438875d591372b80b09d01ba899657a6517b7c72ed41222298fef9d4ad86b")
version("1.9.0", sha256="48f4c8a7d5f33d0bc6ce24226df20ab49e385c2d0c3767ec8dfdb449602095b2")
@@ -59,9 +60,24 @@ class Julia(MakefilePackage):
)
depends_on("libuv", when="@:1.7")
depends_on("libuv-julia@1.42.0", when="@1.8.0:1.8.1")
- depends_on("libuv-julia@1.44.2", when="@1.8.2:")
+ depends_on("libuv-julia@1.44.2", when="@1.8.2:1.9")
+ depends_on("libuv-julia@1.44.3", when="@1.10.0:")
depends_on("suite-sparse@5.4:5.10", when="@1.6:1.9")
+ with when("@1.10.0:1.10"):
+ # libssh2.so.1, libpcre2-8.so.0, libmbedtls.so.14, libmbedcrypto.so.7, libmbedx509.so.1,
+ # libopenlibm.so.4, libblastrampoline.so.5, libgit2.so.1.6, libnghttp2.so.14,
+ # libcurl.so.4
+ depends_on("libblastrampoline@5.8.0:5")
+ depends_on("libgit2@1.6.4:1.6")
+ depends_on("libssh2@1.11.0:1.11")
+ depends_on("llvm@15.0.7 +lld shlib_symbol_version=JL_LLVM_15.0")
+ depends_on("mbedtls@2.28.2:2.28")
+ depends_on("openlibm@0.8.1:0.8", when="+openlibm")
+ depends_on("nghttp2@1.52.0:1.52")
+ depends_on("curl@8.4.0:")
+ depends_on("suite-sparse@7.2.1")
+
with when("@1.9.0:1.9"):
# libssh2.so.1, libpcre2-8.so.0, mbedtls.so.14, mbedcrypto.so.7, mbedx509.so.1
# openlibm.so.4, libblastrampoline.so.5, libgit2.so.1.5, libnghttp2.so.14,
@@ -125,7 +141,7 @@ class Julia(MakefilePackage):
"llvm",
when="^llvm@12.0.1",
patches=patch(
- "https://raw.githubusercontent.com/spack/patches/master/julia/10cb42f80c2eaad3e9c87cb818b6676f1be26737bdf972c77392d71707386aa4.patch",
+ "https://raw.githubusercontent.com/spack/patches/24ff44c4c5439400747941473c0298a74c1fbcb1/julia/10cb42f80c2eaad3e9c87cb818b6676f1be26737bdf972c77392d71707386aa4.patch",
sha256="10cb42f80c2eaad3e9c87cb818b6676f1be26737bdf972c77392d71707386aa4",
),
)
@@ -133,7 +149,7 @@ class Julia(MakefilePackage):
"llvm",
when="^llvm@13.0.1",
patches=patch(
- "https://raw.githubusercontent.com/spack/patches/master/julia/45f72c59ae5cf45461e9cd8b224ca49b739d885c79b3786026433c6c22f83b5f.patch",
+ "https://raw.githubusercontent.com/spack/patches/24ff44c4c5439400747941473c0298a74c1fbcb1/julia/45f72c59ae5cf45461e9cd8b224ca49b739d885c79b3786026433c6c22f83b5f.patch",
sha256="45f72c59ae5cf45461e9cd8b224ca49b739d885c79b3786026433c6c22f83b5f",
),
)
@@ -141,10 +157,18 @@ class Julia(MakefilePackage):
"llvm",
when="^llvm@14.0.6",
patches=patch(
- "https://raw.githubusercontent.com/spack/patches/master/julia/f3def26930832532bbcd861d41b31ae03db993bc2b3510f89ef831a30bd3e099.patch",
+ "https://raw.githubusercontent.com/spack/patches/24ff44c4c5439400747941473c0298a74c1fbcb1/julia/f3def26930832532bbcd861d41b31ae03db993bc2b3510f89ef831a30bd3e099.patch",
sha256="f3def26930832532bbcd861d41b31ae03db993bc2b3510f89ef831a30bd3e099",
),
)
+ depends_on(
+ "llvm",
+ when="^llvm@15.0.7",
+ patches=patch(
+ "https://raw.githubusercontent.com/spack/patches/24ff44c4c5439400747941473c0298a74c1fbcb1/julia/25cdc0271e7722d4a7cc6f72abcb17bfe205fc741bbe3716a21759c3eee7d32c.patch",
+ sha256="25cdc0271e7722d4a7cc6f72abcb17bfe205fc741bbe3716a21759c3eee7d32c",
+ ),
+ )
# Patches for libuv
depends_on(
@@ -234,6 +258,11 @@ class Julia(MakefilePackage):
# Make sure Julia sets -DNDEBUG when including LLVM header files.
patch("llvm-NDEBUG.patch", when="@1.7.0:1.7")
+ # suite-sparse@7.2.1 sometimes builds cuda stub libraries and Julia build
+ # system deals with them, but we don't compile them, so we remove the code
+ # which is creating symlinks to those libraries.
+ patch("julia-1.10-rm-suite-sparse-cuda-stubs.patch", when="@1.10.0:1.10")
+
def patch(self):
# The system-libwhich-libblastrampoline.patch causes a rebuild of docs as it
# touches the main Makefile, so we reset the a/m-time to doc/_build's.