From e3cb4f09f084095133534003b116ec28d9939db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mos=C3=A8=20Giordano?= Date: Fri, 26 Apr 2024 11:44:54 +0100 Subject: [PATCH] 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 --- ...ulia-1.10-rm-suite-sparse-cuda-stubs.patch | 16 ++++++++ .../repos/builtin/packages/julia/package.py | 37 +++++++++++++++++-- 2 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 var/spack/repos/builtin/packages/julia/julia-1.10-rm-suite-sparse-cuda-stubs.patch 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.