diff options
author | Anthony Cowley <acowley@gmail.com> | 2016-03-13 04:18:16 -0400 |
---|---|---|
committer | Anthony Cowley <acowley@gmail.com> | 2016-03-13 04:18:16 -0400 |
commit | 889d6d11a3d93b920ea9ed63844d45f44f9f43e5 (patch) | |
tree | fe1d81c534d31898493c74dd4f8931d7cf06d8d2 /pkgs/development/compilers/julia/default.nix | |
parent | 2d01e94f2e772c7ed587b188cf98369526b409fa (diff) | |
download | nixlib-889d6d11a3d93b920ea9ed63844d45f44f9f43e5.tar nixlib-889d6d11a3d93b920ea9ed63844d45f44f9f43e5.tar.gz nixlib-889d6d11a3d93b920ea9ed63844d45f44f9f43e5.tar.bz2 nixlib-889d6d11a3d93b920ea9ed63844d45f44f9f43e5.tar.lz nixlib-889d6d11a3d93b920ea9ed63844d45f44f9f43e5.tar.xz nixlib-889d6d11a3d93b920ea9ed63844d45f44f9f43e5.tar.zst nixlib-889d6d11a3d93b920ea9ed63844d45f44f9f43e5.zip |
julia: darwin compatibility
Along with PR #13879, these patches let julia build and run on darwin. Using an llvm with shared library support is an idea adopted from a @pikajude comment here https://github.com/NixOS/nixpkgs/issues/10864 The libgit2 change is mechanical to pull in iconv on darwin. The frameworks are referenced by julia's build system.
Diffstat (limited to 'pkgs/development/compilers/julia/default.nix')
-rw-r--r-- | pkgs/development/compilers/julia/default.nix | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index 0eddde15a58e..0c0520533bcd 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -7,6 +7,8 @@ , curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2 # linear algebra , openblas, arpack, suitesparse +# Darwin frameworks +, CoreServices, ApplicationServices }: with stdenv.lib; @@ -19,6 +21,9 @@ in let arpack = arpack_.override { inherit openblas; }; suitesparse = suitesparse_.override { inherit openblas; }; + llvmShared = if stdenv.isDarwin + then llvm.override { enableSharedLibraries = true; } + else llvm; in let @@ -68,10 +73,11 @@ stdenv.mkDerivation rec { ''; buildInputs = [ - arpack fftw fftwSinglePrec gmp libgit2 libunwind llvm mpfr + arpack fftw fftwSinglePrec gmp libgit2 libunwind llvmShared mpfr pcre2 openblas openlibm openspecfun readline suitesparse utf8proc zlib - ]; + ] ++ + stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] ; nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]; @@ -127,6 +133,8 @@ stdenv.mkDerivation rec { openspecfun pcre2 suitesparse ]; + NIX_LDFLAGS = optionalString stdenv.isDarwin "-rpath ${llvmShared}/lib"; + dontStrip = true; dontPatchELF = true; |