From a2ba6d5bdd9d2869f0ac30918016b956c45740dc Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 5 Feb 2013 11:24:00 +0400 Subject: [PATCH] Julia: update/fix --- pkgs/development/compilers/julia/default.nix | 26 ++++++-------- pkgs/development/libraries/pcre/8.31.nix | 38 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++- 3 files changed, 54 insertions(+), 16 deletions(-) create mode 100644 pkgs/development/libraries/pcre/8.31.nix diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index a4503911b92c..7fa12d495aa6 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -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 = { diff --git a/pkgs/development/libraries/pcre/8.31.nix b/pkgs/development/libraries/pcre/8.31.nix new file mode 100644 index 000000000000..41315d9bb5d8 --- /dev/null +++ b/pkgs/development/libraries/pcre/8.31.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3a479e318bca..32c611582bd1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { };