Julia: update/fix

This commit is contained in:
Michael Raskin 2013-02-05 11:24:00 +04:00
parent 76cc4e760b
commit a2ba6d5bdd
3 changed files with 54 additions and 16 deletions

View File

@ -1,14 +1,14 @@
{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
, readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
, ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
, tcl, tk, xproto, libX11
, tcl, tk, xproto, libX11, git
} :
let
realGcc = stdenv.gcc.gcc;
in
stdenv.mkDerivation rec {
pname = "julia";
date = "20121209";
date = "20130205";
name = "${pname}-git-${date}";
grisu_ver = "1.1.1";
@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
clp_ver = "1.14.5";
lighttpd_ver = "1.4.29";
patchelf_ver = "0.6";
pcre_ver = "8.31";
grisu_src = fetchurl {
url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
@ -57,16 +58,20 @@ stdenv.mkDerivation rec {
url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
};
pcre_src = fetchurl {
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
};
src = fetchgit {
url = "git://github.com/JuliaLang/julia.git";
rev = "27b950f62aeb3664ab76e5d827b30b4885a9efb9";
sha256 = "0khx8ln2zq3vpj0g66hnsdhw04hxl79fq43rc06ggsmc1j4xrifb";
rev = "efc696bf74eec7605b4da19f6f1605ba99959ed3";
sha256 = "19if7aj3mrp84dg9g2d3zbhasrq0nz28djl9a01m0y4y9bfymp7s";
};
buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
openblas liblapack tcl tk xproto libX11
openblas liblapack tcl tk xproto libX11 git
];
configurePhase = ''
@ -79,7 +84,7 @@ stdenv.mkDerivation rec {
cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
}
for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${patchelf_src}" ; do
for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${patchelf_src}" "${pcre_src}" ; do
copy_kill_hash "$i" deps
done
copy_kill_hash "${dsfmt_src}" deps/random
@ -105,18 +110,9 @@ stdenv.mkDerivation rec {
preBuild = ''
mkdir -p usr/lib
ln -s libuv.a usr/lib/uv.a
'';
preInstall = ''
make -C deps install-tk-wrapper
'';
postInstall = ''
(
cd $out/share/julia/test/
$out/bin/julia runtests.jl all
) || true
'';
meta = {

View File

@ -0,0 +1,38 @@
{ stdenv, fetchurl, unicodeSupport ? true, cplusplusSupport ? true }:
stdenv.mkDerivation rec {
name = "pcre-8.31";
src = fetchurl {
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
};
# The compiler on Darwin crashes with an internal error while building the
# C++ interface. Disabling optimizations on that platform remedies the
# problem. In case we ever update the Darwin GCC version, the exception for
# that platform ought to be removed.
configureFlags = ''
${if unicodeSupport then "--enable-unicode-properties" else ""}
${if !cplusplusSupport then "--disable-cpp" else ""}
'' + stdenv.lib.optionalString stdenv.isDarwin "CXXFLAGS=-O0";
doCheck = !stdenv.isCygwin; # XXX: test failure on Cygwin
meta = {
homepage = "http://www.pcre.org/";
description = "A library for Perl Compatible Regular Expressions";
license = "BSD-3";
longDescription = ''
The PCRE library is a set of functions that implement regular
expression pattern matching using the same syntax and semantics as
Perl 5. PCRE has its own native API, as well as a set of wrapper
functions that correspond to the POSIX regular expression API. The
PCRE library is free, even for building proprietary software.
'';
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -2483,7 +2483,7 @@ let
jikes = callPackage ../development/compilers/jikes { };
julia = callPackage ../development/compilers/julia {
pcre = pcre_8_30;
pcre = pcre_8_31;
liblapack = liblapack.override {shared = true;};
fftw = fftw.override {pthreads = true;};
fftwSinglePrec = fftwSinglePrec.override {pthreads = true;};
@ -4775,6 +4775,10 @@ let
unicodeSupport = config.pcre.unicode or true;
};
pcre_8_31 = callPackage ../development/libraries/pcre/8.31.nix {
unicodeSupport = config.pcre.unicode or true;
};
pdf2xml = callPackage ../development/libraries/pdf2xml {} ;
phonon = callPackage ../development/libraries/phonon { };