diff options
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/packages/julia/package.py | 45 |
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") |