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.
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user