summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/julia/llvm-NDEBUG-1.8.patch27
-rw-r--r--var/spack/repos/builtin/packages/julia/package.py59
-rw-r--r--var/spack/repos/builtin/packages/julia/use-add-rpath-2.patch38
-rw-r--r--var/spack/repos/builtin/packages/libuv-julia/package.py14
4 files changed, 56 insertions, 82 deletions
diff --git a/var/spack/repos/builtin/packages/julia/llvm-NDEBUG-1.8.patch b/var/spack/repos/builtin/packages/julia/llvm-NDEBUG-1.8.patch
deleted file mode 100644
index fbac8e85be..0000000000
--- a/var/spack/repos/builtin/packages/julia/llvm-NDEBUG-1.8.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From c9c2082a162e916d0f86241453b30473dcd63044 Mon Sep 17 00:00:00 2001
-From: Harmen Stoppels <harmenstoppels@gmail.com>
-Date: Tue, 24 May 2022 14:03:48 +0200
-Subject: [PATCH] llvm: add NDEBUG when assertion mode is off
-
-`llvm-config --cxxflags` unfortunately does not set `-DNDEBUG`, which
-Julia needs to set correctly when including LLVM header files.
----
- src/Makefile | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/Makefile b/src/Makefile
-index e6d83b1e1f4e9..263a4b34155d6 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -110,6 +110,11 @@ PUBLIC_HEADER_TARGETS := $(addprefix $(build_includedir)/julia/,$(notdir $(PUBLI
- LLVM_LDFLAGS := $(shell $(LLVM_CONFIG_HOST) --ldflags)
- LLVM_CXXFLAGS := $(shell $(LLVM_CONFIG_HOST) --cxxflags)
-
-+# llvm-config --cxxflags does not return -DNDEBUG
-+ifeq ($(shell $(LLVM_CONFIG_HOST) --assertion-mode),OFF)
-+LLVM_CXXFLAGS += -DNDEBUG
-+endif
-+
- ifeq ($(JULIACODEGEN),LLVM)
- ifneq ($(USE_SYSTEM_LLVM),0)
- CG_LLVMLINK += $(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --libs --system-libs)
diff --git a/var/spack/repos/builtin/packages/julia/package.py b/var/spack/repos/builtin/packages/julia/package.py
index e11b6d5cca..28b14c1f3a 100644
--- a/var/spack/repos/builtin/packages/julia/package.py
+++ b/var/spack/repos/builtin/packages/julia/package.py
@@ -26,55 +26,20 @@ class Julia(MakefilePackage):
maintainers = ["glennpj", "vchuravy", "haampie"]
version("master", branch="master")
- version("1.8.0-rc1", sha256="ed0395880c32c48a284b115279d27d79ab1ca6fb53a4b97a8d25eba54ec97306")
- version(
- "1.7.3",
- sha256="06df2a81e6a18d0333ffa58d36f6eb84934c38984898f9e0c3072c8facaa7306",
- preferred=True,
- )
+ version("1.8.2", sha256="3e2cea35bf5df963ed7b75a83e8febfc000acf1e664ecd657a0772508eb1fb5d")
+ version("1.8.1", sha256="066f4ca7a2ad39b003e2af77dbecfbfb9b0a1cb1664033f657ffdbe2f374d956")
+ version("1.8.0", sha256="0fa980286d6d912f24ed9f90a02930560d985e0ada8233a4ae5610884feb2438")
+
+ version("1.7.3", sha256="06df2a81e6a18d0333ffa58d36f6eb84934c38984898f9e0c3072c8facaa7306")
version("1.7.2", sha256="0847943dd65001f3322b00c7dc4e12f56e70e98c6b798ccbd4f02d27ce161fef")
version("1.7.1", sha256="17d298e50e4e3dd897246ccebd9f40ce5b89077fa36217860efaec4576aa718e")
version("1.7.0", sha256="8e870dbef71bc72469933317a1a18214fd1b4b12f1080784af7b2c56177efcb4")
- version(
- "1.6.6",
- sha256="a8023708cadb2649395769810e6cec8afc8e352aa6d407189b6c88b86d7f5090",
- preferred=True,
- )
+
+ version("1.6.7", sha256="74af1dc7b5841757a06a899923a62cac04665c09829324e8bf53cfb66f7b3d61")
+ version("1.6.6", sha256="a8023708cadb2649395769810e6cec8afc8e352aa6d407189b6c88b86d7f5090")
version("1.6.5", sha256="b70ae299ff6b63a9e9cbf697147a48a31b4639476d1947cb52e4201e444f23cb")
version("1.6.4", sha256="a4aa921030250f58015201e28204bff604a007defc5a379a608723e6bb1808d4")
- # We've deprecated these versions, so that we can remove them in Spack 0.18
- # They are still available in Spack 0.17. Julia 0.17.0 is the first version that
- # can be built enitrely from Spack packages, without a network connection during
- # the build.
- for v in [
- "1.6.3",
- "1.6.2",
- "1.6.1",
- "1.6.0",
- "1.5.4",
- "1.5.3",
- "1.5.2",
- "1.5.1",
- "1.5.0",
- "1.4.2",
- "1.4.1",
- "1.4.0",
- "1.3.1",
- "1.2.0",
- "1.1.1",
- "1.0.0",
- "0.6.2",
- "0.5.2",
- "0.5.1",
- "0.5.0",
- "0.4.7",
- "0.4.6",
- "0.4.5",
- "0.4.3",
- ]:
- version(v, deprecated=True)
-
variant("precompile", default=True, description="Improve julia startup time")
variant("openlibm", default=True, description="Use openlibm instead of libm")
@@ -87,7 +52,8 @@ class Julia(MakefilePackage):
" version_suffix=jl +link_llvm_dylib ~internal_unwind"
)
depends_on("libuv", when="@:1.7")
- depends_on("libuv-julia", when="@1.8:")
+ 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:")
with when("@1.8.0:1.8"):
# libssh2.so.1, libpcre2-8.so.0, mbedtls.so.14, mbedcrypto.so.7, mbedx509.so.1
@@ -96,7 +62,6 @@ class Julia(MakefilePackage):
depends_on("libblastrampoline@5.1.0:5")
depends_on("libgit2@1.3.0:1.3")
depends_on("libssh2@1.10.0:1.10")
- depends_on("libuv-julia@1.44.1")
depends_on("llvm@13.0.1 shlib_symbol_version=jl")
depends_on("mbedtls@2.28.0:2.28")
depends_on("openlibm@0.8.1:0.8", when="+openlibm")
@@ -195,7 +160,8 @@ class Julia(MakefilePackage):
# Patches for julia
patch("julia-1.6-system-libwhich-and-p7zip-symlink.patch", when="@1.6.0:1.6")
- patch("use-add-rpath.patch")
+ patch("use-add-rpath.patch", when="@:1.8.0")
+ patch("use-add-rpath-2.patch", when="@1.8.1:")
# Fix gfortran abi detection https://github.com/JuliaLang/julia/pull/44026
patch("fix-gfortran.patch", when="@1.7.0:1.7.2")
@@ -209,7 +175,6 @@ class Julia(MakefilePackage):
# Make sure Julia sets -DNDEBUG when including LLVM header files.
patch("llvm-NDEBUG.patch", when="@1.7.0:1.7")
- patch("llvm-NDEBUG-1.8.patch", when="@1.8.0:1.8")
def patch(self):
# The system-libwhich-libblastrampoline.patch causes a rebuild of docs as it
diff --git a/var/spack/repos/builtin/packages/julia/use-add-rpath-2.patch b/var/spack/repos/builtin/packages/julia/use-add-rpath-2.patch
new file mode 100644
index 0000000000..e6d8edbc08
--- /dev/null
+++ b/var/spack/repos/builtin/packages/julia/use-add-rpath-2.patch
@@ -0,0 +1,38 @@
+diff --git a/Makefile b/Makefile
+index d38311dce7..3c7ad0fcff 100644
+--- a/Makefile
++++ b/Makefile
+@@ -344,7 +344,7 @@ ifneq ($(DARWIN_FRAMEWORK),1)
+ endif
+ else ifneq (,$(findstring $(OS),Linux FreeBSD))
+ for j in $(JL_TARGETS) ; do \
+- $(PATCHELF) --set-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \
++ $(PATCHELF) --add-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \
+ done
+ endif
+
+@@ -364,11 +364,11 @@ endif
+
+ # Set rpath for libjulia-internal, which is moving from `../lib` to `../lib/julia`. We only need to do this for Linux/FreeBSD
+ ifneq (,$(findstring $(OS),Linux FreeBSD))
+- $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal.$(SHLIB_EXT)
+- $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-codegen.$(SHLIB_EXT)
++ $(PATCHELF) --add-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal.$(SHLIB_EXT)
++ $(PATCHELF) --add-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-codegen.$(SHLIB_EXT)
+ ifeq ($(BUNDLE_DEBUG_LIBS),1)
+- $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal-debug.$(SHLIB_EXT)
+- $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-codegen-debug.$(SHLIB_EXT)
++ $(PATCHELF) --add-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal-debug.$(SHLIB_EXT)
++ $(PATCHELF) --add-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-codegen-debug.$(SHLIB_EXT)
+ endif
+ endif
+
+@@ -400,7 +400,7 @@ ifeq ($(OS),FreeBSD)
+ # don't set libgfortran's RPATH, it won't be able to find its friends on systems
+ # that don't have the exact GCC port installed used for the build.
+ for lib in $(DESTDIR)$(private_libdir)/libgfortran*$(SHLIB_EXT)*; do \
+- $(PATCHELF) --set-rpath '$$ORIGIN' $$lib; \
++ $(PATCHELF) --add-rpath '$$ORIGIN' $$lib; \
+ done
+ endif
+
diff --git a/var/spack/repos/builtin/packages/libuv-julia/package.py b/var/spack/repos/builtin/packages/libuv-julia/package.py
index e800853582..85af1db66d 100644
--- a/var/spack/repos/builtin/packages/libuv-julia/package.py
+++ b/var/spack/repos/builtin/packages/libuv-julia/package.py
@@ -9,15 +9,13 @@ class LibuvJulia(AutotoolsPackage):
"""Multi-platform library with a focus on asynchronous IO"""
homepage = "https://libuv.org"
- url = "https://github.com/JuliaLang/libuv/archive/refs/heads/julia-uv2-1.44.1.tar.gz"
+ url = "https://github.com/JuliaLang/libuv/archive/refs/heads/julia-uv2-1.44.2.tar.gz"
+ git = "https://github.com/JuliaLang/libuv.git"
- # julia's libuv fork doesn't tag releases, only has release branches, so we
- # fix commits.
- version(
- "1.44.1",
- sha256="f931e7825702cbb6d07486d92e5436990cf20f91e2b56d6f759822c0f832b13e",
- url="https://github.com/JuliaLang/libuv/archive/1b2d16477fe1142adea952168d828a066e03ee4c.tar.gz",
- )
+ # julia's libuv fork doesn't tag (all?) releases, so we fix commits.
+ version("1.44.2", commit="e6f0e4900e195c8352f821abe2b3cffc3089547b")
+ version("1.44.1", commit="1b2d16477fe1142adea952168d828a066e03ee4c")
+ version("1.42.0", commit="3a63bf71de62c64097989254e4f03212e3bf5fc8")
@property
def libs(self):