Update Julia to today's revision
This commit is contained in:
parent
1db5bd4aa9
commit
55249de924
@ -1,21 +1,21 @@
|
|||||||
{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
|
{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
|
||||||
, readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
|
, readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
|
||||||
, ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
|
, ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
|
||||||
, tcl, tk, xproto, libX11, git
|
, tcl, tk, xproto, libX11, git, mpfr
|
||||||
} :
|
} :
|
||||||
let
|
let
|
||||||
realGcc = stdenv.gcc.gcc;
|
realGcc = stdenv.gcc.gcc;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "julia";
|
pname = "julia";
|
||||||
date = "20130205";
|
date = "20130611";
|
||||||
name = "${pname}-git-${date}";
|
name = "${pname}-git-${date}";
|
||||||
|
|
||||||
grisu_ver = "1.1.1";
|
grisu_ver = "1.1.1";
|
||||||
dsfmt_ver = "2.2";
|
dsfmt_ver = "2.2";
|
||||||
openblas_ver = "v0.2.2";
|
openblas_ver = "v0.2.2";
|
||||||
lapack_ver = "3.4.1";
|
lapack_ver = "3.4.1";
|
||||||
arpack_ver = "3.1.2";
|
arpack_ver = "3.1.3";
|
||||||
clp_ver = "1.14.5";
|
clp_ver = "1.14.5";
|
||||||
lighttpd_ver = "1.4.29";
|
lighttpd_ver = "1.4.29";
|
||||||
patchelf_ver = "0.6";
|
patchelf_ver = "0.6";
|
||||||
@ -36,9 +36,9 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
|
sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
|
||||||
};
|
};
|
||||||
arpack_src = fetchurl {
|
arpack_src = fetchurl {
|
||||||
url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/497/get/";
|
url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/607/get/";
|
||||||
name = "arpack-ng_${arpack_ver}.tar.gz";
|
name = "arpack-ng-${arpack_ver}.tar.gz";
|
||||||
sha256 = "1wk06bdjgap4hshx0lswzi7vxy2lrdx353y1k7yvm97mpsjvsf4k";
|
sha256 = "039w7j3dr1xy35a3hp92zg2g92gmjq6xsv0g4awlb4cffy09nr2d";
|
||||||
};
|
};
|
||||||
lapack_src = fetchurl {
|
lapack_src = fetchurl {
|
||||||
url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
|
url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
|
||||||
@ -65,17 +65,17 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://github.com/JuliaLang/julia.git";
|
url = "git://github.com/JuliaLang/julia.git";
|
||||||
rev = "efc696bf74eec7605b4da19f6f1605ba99959ed3";
|
rev = "60cc4e44bf415dcda90f2bbe22300f842fe44098";
|
||||||
sha256 = "19if7aj3mrp84dg9g2d3zbhasrq0nz28djl9a01m0y4y9bfymp7s";
|
sha256 = "018s0zyvdkxjldbvcdv40q3v2gcjznyyql5pv3zhhy1iq11jddfz";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
|
buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
|
||||||
fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
|
fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
|
||||||
openblas liblapack tcl tk xproto libX11 git
|
openblas liblapack tcl tk xproto libX11 git mpfr
|
||||||
];
|
];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB;
|
for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
|
||||||
do
|
do
|
||||||
makeFlags="$makeFlags USE_SYSTEM_$i=1 "
|
makeFlags="$makeFlags USE_SYSTEM_$i=1 "
|
||||||
done
|
done
|
||||||
@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
|
|||||||
copy_kill_hash "${dsfmt_src}" deps/random
|
copy_kill_hash "${dsfmt_src}" deps/random
|
||||||
|
|
||||||
${if realGcc ==null then "" else
|
${if realGcc ==null then "" else
|
||||||
''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz "''}
|
''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''}
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
|
||||||
|
|
||||||
export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
|
export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
|
||||||
@ -110,6 +110,21 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
mkdir -p usr/lib
|
mkdir -p usr/lib
|
||||||
|
|
||||||
|
echo "$out"
|
||||||
|
mkdir -p "$out/lib"
|
||||||
|
(
|
||||||
|
cd "$(mktemp -d)"
|
||||||
|
for i in "${suitesparse}"/lib/lib*.a; do
|
||||||
|
ar -x $i
|
||||||
|
done
|
||||||
|
gcc *.o --shared -o "$out/lib/libsuitesparse.so"
|
||||||
|
)
|
||||||
|
cp "$out/lib/libsuitesparse.so" usr/lib
|
||||||
|
for i in umfpack cholmod amd camd colamd spqr; do
|
||||||
|
ln -s libsuitesparse.so "$out"/lib/lib$i.so;
|
||||||
|
ln -s libsuitesparse.so "usr"/lib/lib$i.so;
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preInstall = ''
|
preInstall = ''
|
||||||
|
51
pkgs/development/libraries/mpfr/3.1.2.nix
Normal file
51
pkgs/development/libraries/mpfr/3.1.2.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
{stdenv, fetchurl, gmp}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (rec {
|
||||||
|
name = "mpfr-3.1.2";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://gnu/mpfr/${name}.tar.bz2";
|
||||||
|
sha256 = "0sqvpfkzamxdr87anzakf9dhkfh15lfmm5bsqajk02h1mxh3zivr";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ gmp ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://www.mpfr.org/;
|
||||||
|
description = "GNU MPFR, a library for multiple-precision floating-point arithmetic";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
The GNU MPFR library is a C library for multiple-precision
|
||||||
|
floating-point computations with correct rounding. MPFR is
|
||||||
|
based on the GMP multiple-precision library.
|
||||||
|
|
||||||
|
The main goal of MPFR is to provide a library for
|
||||||
|
multiple-precision floating-point computation which is both
|
||||||
|
efficient and has a well-defined semantics. It copies the good
|
||||||
|
ideas from the ANSI/IEEE-754 standard for double-precision
|
||||||
|
floating-point arithmetic (53-bit mantissa).
|
||||||
|
'';
|
||||||
|
|
||||||
|
license = "LGPLv2+";
|
||||||
|
|
||||||
|
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
(stdenv.lib.optionalAttrs stdenv.isFreeBSD {
|
||||||
|
/* Work around a FreeBSD bug that otherwise leads to segfaults in
|
||||||
|
the test suite:
|
||||||
|
http://hydra.bordeaux.inria.fr/build/34862
|
||||||
|
http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00015.html
|
||||||
|
http://www.freebsd.org/cgi/query-pr.cgi?pr=161344
|
||||||
|
*/
|
||||||
|
configureFlags = [ "--disable-thread-safe" ];
|
||||||
|
}))
|
@ -1,10 +1,10 @@
|
|||||||
{ stdenv, fetchurl, blas, liblapack, gfortran } :
|
{ stdenv, fetchurl, blas, liblapack, gfortran } :
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "4.0.0";
|
version = "4.2.0";
|
||||||
name = "suitesparse-${version}";
|
name = "suitesparse-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-${version}.tar.gz" ;
|
url = "http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-${version}.tar.gz" ;
|
||||||
sha256 = "1nvbdw10wa6654k8sa2vhr607q6fflcywyji5xd767cqpwag4v5j";
|
sha256 = "0i0ivsc5sr3jdz6nqq4wz5lwxc8rpnkqgddyhqqgfhwzgrcqh9v6";
|
||||||
};
|
};
|
||||||
buildInputs = [blas liblapack gfortran] ;
|
buildInputs = [blas liblapack gfortran] ;
|
||||||
patches = [./disable-metis.patch];
|
patches = [./disable-metis.patch];
|
||||||
|
@ -2625,6 +2625,7 @@ let
|
|||||||
|
|
||||||
julia = callPackage ../development/compilers/julia {
|
julia = callPackage ../development/compilers/julia {
|
||||||
liblapack = liblapack.override {shared = true;};
|
liblapack = liblapack.override {shared = true;};
|
||||||
|
mpfr = mpfr_3_1_2;
|
||||||
fftw = fftw.override {pthreads = true;};
|
fftw = fftw.override {pthreads = true;};
|
||||||
fftwSinglePrec = fftwSinglePrec.override {pthreads = true;};
|
fftwSinglePrec = fftwSinglePrec.override {pthreads = true;};
|
||||||
};
|
};
|
||||||
@ -3998,6 +3999,7 @@ let
|
|||||||
|
|
||||||
#GMP ex-satellite, so better keep it near gmp
|
#GMP ex-satellite, so better keep it near gmp
|
||||||
mpfr = callPackage ../development/libraries/mpfr { };
|
mpfr = callPackage ../development/libraries/mpfr { };
|
||||||
|
mpfr_3_1_2 = callPackage ../development/libraries/mpfr/3.1.2.nix { };
|
||||||
|
|
||||||
gst_all = {
|
gst_all = {
|
||||||
inherit (pkgs) gstreamer gnonlin gst_python qt_gstreamer;
|
inherit (pkgs) gstreamer gnonlin gst_python qt_gstreamer;
|
||||||
|
Loading…
Reference in New Issue
Block a user