summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/packages/julia/package.py45
1 files changed, 28 insertions, 17 deletions
diff --git a/var/spack/packages/julia/package.py b/var/spack/packages/julia/package.py
index 2c67b8e443..9fd946c905 100644
--- a/var/spack/packages/julia/package.py
+++ b/var/spack/packages/julia/package.py
@@ -1,4 +1,5 @@
from spack import *
+import os
class Julia(Package):
"""The Julia Language: A fresh approach to technical computing"""
@@ -13,19 +14,27 @@ class Julia(Package):
# depends_on("m4")
# depends_on("pkg-config")
+ # I think that Julia requires the dependencies above, but it builds find (on
+ # my system) without these. We should enable them as necessary.
+
# Run-time dependencies
- #TODO depends_on("arpack")
- #TODO depends_on("fftw")
- #TODO depends_on("git")
- #TODO depends_on("gmp")
- # depends_on("libedit")
- #TODO depends_on("mpfr")
- #TODO depends_on("pcre2")
- # depends_on("zlib")
+ # depends_on("arpack")
+ # depends_on("fftw +float")
+ # depends_on("gmp")
+ # depends_on("mpfr")
+ # depends_on("pcre2")
+
+ # ARPACK: Requires BLAS and LAPACK; needs to use the same version as Julia.
# BLAS and LAPACK: Julia prefers 64-bit versions on 64-bit systems. OpenBLAS
# has an option for this; make it available as variant.
+ # FFTW: Something doesn't work when using a pre-installed FFTW library; need
+ # to investigate.
+
+ # GMP, MPFR: Something doesn't work when using a pre-installed FFTW library;
+ # need to investigate.
+
# LLVM: Julia works only with specific versions, and might require patches.
# Thus we let Julia install its own LLVM.
@@ -38,18 +47,20 @@ class Julia(Package):
# USE_SYSTEM_LIBGIT2=0
def install(self, spec, prefix):
- options = ["CC=cc",
- "CXX=c++",
- "FC=fc",
- #TODO "USE_SYSTEM_ARPACK=1",
- #TODO "USE_SYSTEM_FFTW=1",
- #TODO "USE_SYSTEM_GMP=1",
- #TODO "USE_SYSTEM_MPFR=1",
+ # Explicitly setting CC, CXX, or FC breaks building libuv, one of
+ # Julia's dependencies. This might be a Darwin-specific problem. Given
+ # how Spack sets up compilers, Julia should still use Spack's compilers,
+ # even if we don't specify them explicitly.
+ options = [#"CC=cc",
+ #"CXX=c++",
+ #"FC=fc",
+ #"USE_SYSTEM_ARPACK=1",
+ #"USE_SYSTEM_FFTW=1",
+ #"USE_SYSTEM_GMP=1",
+ #"USE_SYSTEM_MPFR=1",
#TODO "USE_SYSTEM_PCRE=1",
"prefix=%s" % prefix]
with open('Make.user', 'w') as f:
f.write('\n'.join(options) + '\n')
- which('env')()
- which('env')('which', 'cc')
make()
make("install")