diff options
Diffstat (limited to 'pkgs/development/compilers')
50 files changed, 859 insertions, 526 deletions
diff --git a/pkgs/development/compilers/cmucl/binary.nix b/pkgs/development/compilers/cmucl/binary.nix index 027857ccda0b..1276b1500a13 100644 --- a/pkgs/development/compilers/cmucl/binary.nix +++ b/pkgs/development/compilers/cmucl/binary.nix @@ -2,7 +2,7 @@ let inherit (stdenv) system; - version = "20b"; + version = "21a"; downloadUrl = arch: "http://common-lisp.net/project/cmucl/downloads/release/" + "${version}/cmucl-${version}-${arch}.tar.bz2"; @@ -13,7 +13,7 @@ let dist = if system == "i686-linux" then fetchDist { arch = "x86-linux"; - sha256 = "1s00r1kszk5zhmv7m8z5q2wcqjn2gn7fbqwji3hgnsdvbb1f3jdn"; + sha256 = "0w8dcaiasfd4fbj340zaf6wcjfgc4wzkvr24gbxa5rr3aw10rl02"; } else throw "Unsupported platform for cmucl."; in diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix index bcbe28f23351..bb820f9820d3 100644 --- a/pkgs/development/compilers/emscripten-fastcomp/default.nix +++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, python }: let - tag = "1.29.10"; + tag = "1.35.4"; in stdenv.mkDerivation rec { @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { srcFC = fetchgit { url = git://github.com/kripken/emscripten-fastcomp; rev = "refs/tags/${tag}"; - sha256 = "eee0f884c7e10e1b869b9d3afbb03bf69c63ec0560b136e3e8cd64ca00a41653"; + sha256 = "3bd50787d78381f684f9b3f46fc91cc3d1803c3389e19ec41ee59c2deaf727d8"; }; srcFL = fetchgit { url = git://github.com/kripken/emscripten-fastcomp-clang; rev = "refs/tags/${tag}"; - sha256 = "22c48e85dfacd9f2349d37fb421f0f848b65fc7b39e66984d04349ee3271667c"; + sha256 = "ec0d22c04eec5f84695401e19a52704b28e8d2779b87388f399b5f63b54a9862"; }; buildInputs = [ python ]; diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix index b49884fad1c7..daa2ea3113c3 100644 --- a/pkgs/development/compilers/emscripten/default.nix +++ b/pkgs/development/compilers/emscripten/default.nix @@ -1,7 +1,8 @@ { stdenv, fetchgit, emscriptenfastcomp, python, nodejs, closurecompiler, jre }: let - tag = "1.29.10"; + tag = "1.35.4"; + appdir = "share/emscripten"; in stdenv.mkDerivation rec { @@ -10,26 +11,28 @@ stdenv.mkDerivation rec { src = fetchgit { url = git://github.com/kripken/emscripten; rev = "refs/tags/${tag}"; - sha256 = "0d7ed2b801ac37acaf907bd03ba42cce3ac4a4c330bf1ef28de25bbb3f39ba87"; + sha256 = "466500356c8c0fbcee495b2dbd2ccf0bf9d7eaf303d274ebaf491122759dd233"; }; buildCommand = '' - mkdir $out - cp -a $src $out/bin - chmod -R +w $out/bin - grep -rl '^#!/usr.*python' $out/bin | xargs sed -i -s 's@^#!/usr.*python.*@#!${python}/bin/python@' - sed -i -e "s,EM_CONFIG = '~/.emscripten',EM_CONFIG = '$out/config'," $out/bin/tools/shared.py - sed -i -e 's,^.*did not see a source tree above the LLVM.*$, return True,' $out/bin/tools/shared.py - sed -i -e 's,def check_sanity(force=False):,def check_sanity(force=False):\n return,' $out/bin/tools/shared.py + mkdir -p $out/${appdir} + cp -r $src/* $out/${appdir} + chmod -R +w $out/${appdir} + grep -rl '^#!/usr.*python' $out/${appdir} | xargs sed -i -s 's@^#!/usr.*python.*@#!${python}/bin/python@' + sed -i -e "s,EM_CONFIG = '~/.emscripten',EM_CONFIG = '$out/${appdir}/config'," $out/${appdir}/tools/shared.py + sed -i -e 's,^.*did not see a source tree above the LLVM.*$, return True,' $out/${appdir}/tools/shared.py + sed -i -e 's,def check_sanity(force=False):,def check_sanity(force=False):\n return,' $out/${appdir}/tools/shared.py + mkdir $out/bin + ln -s $out/${appdir}/{em++,em-config,emar,embuilder.py,emcc,emcmake,emconfigure,emlink.py,emmake,emranlib,emrun,emscons} $out/bin - echo "EMSCRIPTEN_ROOT = '$out/bin'" > $out/config - echo "LLVM_ROOT = '${emscriptenfastcomp}'" >> $out/config - echo "PYTHON = '${python}/bin/python'" >> $out/config - echo "NODE_JS = '${nodejs}/bin/node'" >> $out/config - echo "JS_ENGINES = [NODE_JS]" >> $out/config - echo "COMPILER_ENGINE = NODE_JS" >> $out/config - echo "CLOSURE_COMPILER = '${closurecompiler}/bin/closure-compiler'" >> $out/config - echo "JAVA = '${jre}/bin/java'" >> $out/config + echo "EMSCRIPTEN_ROOT = '$out/${appdir}'" > $out/${appdir}/config + echo "LLVM_ROOT = '${emscriptenfastcomp}'" >> $out/${appdir}/config + echo "PYTHON = '${python}/bin/python'" >> $out/${appdir}/config + echo "NODE_JS = '${nodejs}/bin/node'" >> $out/${appdir}/config + echo "JS_ENGINES = [NODE_JS]" >> $out/${appdir}/config + echo "COMPILER_ENGINE = NODE_JS" >> $out/${appdir}/config + echo "CLOSURE_COMPILER = '${closurecompiler}/share/java/compiler.jar'" >> $out/${appdir}/config + echo "JAVA = '${jre}/bin/java'" >> $out/${appdir}/config ''; meta = with stdenv.lib; { homepage = https://github.com/kripken/emscripten; diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix index 11bae06fc749..12df5721cc4c 100644 --- a/pkgs/development/compilers/fsharp/default.nix +++ b/pkgs/development/compilers/fsharp/default.nix @@ -4,15 +4,17 @@ stdenv.mkDerivation rec { name = "fsharp-${version}"; - version = "3.1.2.5"; + version = "4.0.0.4"; src = fetchurl { url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz"; - sha256 = "1j6lnzvhj8fj1csb9am9xcrmmph6v3jyangkq8n1yp3dr6yxqzh1"; + sha256 = "1m9pwr4xjl3ikaf3pzsa4pb3pr533xa0v34y2cy4pjcc6j0f71av"; }; buildInputs = [ mono pkgconfig dotnetbuildhelpers autoconf automake which ]; + configurePhase = '' + sed -i '988d' src/FSharpSource.targets substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "/bin/sh" ./autogen.sh --prefix $out ''; diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 2a5b43a871ff..6b54d31cb019 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -34,6 +34,7 @@ , stripped ? true , gnused ? null , binutils ? null +, cloog # unused; just for compat with gcc4, as we override the parameter on some places }: assert langJava -> zip != null && unzip != null diff --git a/pkgs/development/compilers/gcc/gfortran-darwin.nix b/pkgs/development/compilers/gcc/gfortran-darwin.nix index bd11b1ebc8e2..ee405c6fb655 100644 --- a/pkgs/development/compilers/gcc/gfortran-darwin.nix +++ b/pkgs/development/compilers/gcc/gfortran-darwin.nix @@ -1,20 +1,35 @@ -# This is a derivation specific to OS X (Darwin). It may work on other -# systems as well but has not been tested. -{gmp, mpfr, libmpc, fetchurl, stdenv}: +# This is a derivation specific to OS X (Darwin) +{gmp, mpfr, libmpc, isl_0_14, cloog, zlib, fetchurl, stdenv + +, Libsystem +}: stdenv.mkDerivation rec { name = "gfortran-${version}"; version = "5.1.0"; - buildInputs = [gmp mpfr libmpc]; + buildInputs = [gmp mpfr libmpc isl_0_14 cloog zlib]; src = fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; sha256 = "1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp"; }; + patches = ./gfortran-darwin.patch; configureFlags = '' - --enable-languages=fortran --enable-checking=release --disable-bootstrap + --disable-bootstrap + --disable-cloog-version-check + --disable-isl-version-check + --disable-multilib + --enable-checking=release + --enable-languages=fortran + --with-cloog=${cloog} --with-gmp=${gmp} - --with-mpfr=${mpfr} + --with-isl=${isl_0_14} --with-mpc=${libmpc} + --with-mpfr=${mpfr} + --with-native-system-header-dir=${Libsystem}/include + --with-system-zlib + ''; + postConfigure = '' + export DYLD_LIBRARY_PATH=`pwd`/`uname -m`-apple-darwin`uname -r`/libgcc ''; makeFlags = ["CC=clang"]; passthru.cc = stdenv.cc.cc; diff --git a/pkgs/development/compilers/gcc/gfortran-darwin.patch b/pkgs/development/compilers/gcc/gfortran-darwin.patch new file mode 100644 index 000000000000..73c5d35153b0 --- /dev/null +++ b/pkgs/development/compilers/gcc/gfortran-darwin.patch @@ -0,0 +1,26 @@ +--- a/gcc/config/darwin-c.c 2015-01-09 22:18:42.000000000 +0200 ++++ b/gcc/config/darwin-c.c 2015-06-27 04:17:58.000000000 +0300 +@@ -490,8 +490,7 @@ + + static const char *framework_defaults [] = + { +- "/System/Library/Frameworks", +- "/Library/Frameworks", ++// stdenvDarwinPure + }; + + /* Register the GNU objective-C runtime include path if STDINC. */ + + /* Register the GNU objective-C runtime include path if STDINC. */ +--- a/gcc/cppdefault.c 2015-01-05 14:33:28.000000000 +0200 ++++ b/gcc/cppdefault.c 2015-06-27 04:16:15.000000000 +0300 +@@ -35,6 +35,9 @@ + # undef CROSS_INCLUDE_DIR + #endif + ++// stdenvDarwinPure ++# undef LOCAL_INCLUDE_DIR ++ + const struct default_include cpp_include_defaults[] + #ifdef INCLUDE_DEFAULTS + = INCLUDE_DEFAULTS; diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix index a73af47f9c4e..c15ebeca9fd0 100644 --- a/pkgs/development/compilers/ghcjs/default.nix +++ b/pkgs/development/compilers/ghcjs/default.nix @@ -36,31 +36,19 @@ , haddock, hspec, xhtml, primitive, cacert, pkgs , coreutils , libiconv + +, ghcjsBoot ? import ./ghcjs-boot.nix { inherit fetchgit; } +, shims ? import ./shims.nix { inherit fetchFromGitHub; } }: -let - version = "0.1.0"; - ghcjsBoot = fetchgit { - url = "git://github.com/ghcjs/ghcjs-boot.git"; - rev = "ec9f795b42b40fd24933d1672db153df5a29cc00"; # master branch - sha256 = "0bkvqlsgb9n0faayi4k1dlkn9cbm99a66m9nnx1kykb44qcl40yg"; - fetchSubmodules = true; - }; - shims = fetchFromGitHub { - owner = "ghcjs"; - repo = "shims"; - rev = "01e01dee31a4786b3d01092e72350b0859a9f8c9"; # master branch - sha256 = "01m1yhq6l71azx0zqbpzmqc6rxxf654hgjibc0lz2cg5942wh1hf"; - }; -in mkDerivation (rec { +let version = "0.1.0"; in +mkDerivation (rec { pname = "ghcjs"; inherit version; - # `src` is ghcjs's a3157072c2593debf2e45e751e9a8aa90b860b4d plus this - # additional dependency bump: https://github.com/ghcjs/ghcjs/pull/408 src = fetchFromGitHub { - owner = "k0001"; + owner = "ghcjs"; repo = "ghcjs"; - rev = "1b767e0b3dabdd1561bd17314d472651bfd9b97c"; - sha256 = "0j4vj47qljbcbrp3md3jwxwl2kz9k85visq6yi1x8wdch4wb2kgy"; + rev = "2ae1276a97c9f32c4b02080d1bb363cf0c2c553c"; + sha256 = "18m1737w4bfn84cnwcf021gsy69c84dlkwxnyf4r5h97gly6jx7q"; }; isLibrary = true; isExecutable = true; diff --git a/pkgs/development/compilers/ghcjs/ghcjs-boot.nix b/pkgs/development/compilers/ghcjs/ghcjs-boot.nix new file mode 100644 index 000000000000..9e5584a6ade7 --- /dev/null +++ b/pkgs/development/compilers/ghcjs/ghcjs-boot.nix @@ -0,0 +1,7 @@ +{ fetchgit }: +fetchgit { + url = git://github.com/ghcjs/ghcjs-boot.git; + rev = "39cd58e12f02fa99f493387ba4c3708819a72294"; + sha256 = "0s7hvg60piklrg9ypa7r44l4qzvpinrgsaffak6fr7gd3k08wn9d"; + fetchSubmodules = true; +} diff --git a/pkgs/development/compilers/ghcjs/shims.nix b/pkgs/development/compilers/ghcjs/shims.nix new file mode 100644 index 000000000000..512d1c8e9b35 --- /dev/null +++ b/pkgs/development/compilers/ghcjs/shims.nix @@ -0,0 +1,7 @@ +{ fetchFromGitHub }: +fetchFromGitHub { + owner = "ghcjs"; + repo = "shims"; + rev = "f17d10cf47450fe4e00433e988db0bddddb35cc0"; + sha256 = "1kgnkkz1khzkmb0dm0ssp8l17iy9d9n9phszcj6vg9vi7v9y7l05"; +} diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix index ad995042864b..5a3b60e3ee6f 100644 --- a/pkgs/development/compilers/go/1.4.nix +++ b/pkgs/development/compilers/go/1.4.nix @@ -63,15 +63,23 @@ stdenv.mkDerivation rec { '' + lib.optionalString stdenv.isDarwin '' sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go + sed -i '/TestCgoLookupIP/areturn' src/net/cgo_unix_test.go + sed -i '/TestChdirAndGetwd/areturn' src/os/os_test.go + sed -i '/TestDialDualStackLocalhost/areturn' src/net/dial_test.go sed -i '/TestRead0/areturn' src/os/os_test.go sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go - sed -i '/TestDialDualStackLocalhost/areturn' src/net/dial_test.go + + # fails when running inside tmux + sed -i '/TestNohup/areturn' src/os/signal/signal_test.go + # remove IP resolving tests, on darwin they can find fe80::1%lo while expecting ::1 sed -i '/TestResolveIPAddr/areturn' src/net/ipraw_test.go sed -i '/TestResolveTCPAddr/areturn' src/net/tcp_test.go sed -i '/TestResolveUDPAddr/areturn' src/net/udp_test.go + sed -i '/TestCgoExternalThreadSIGPROF/areturn' src/runtime/crash_cgo_test.go + touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd ''; diff --git a/pkgs/development/compilers/go/1.5.nix b/pkgs/development/compilers/go/1.5.nix index 3858d2566f44..ce5c2579b89f 100644 --- a/pkgs/development/compilers/go/1.5.nix +++ b/pkgs/development/compilers/go/1.5.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, tzdata, iana_etc, go_1_4, runCommand , perl, which, pkgconfig, patch , pcre -, Security }: +, Security, Foundation }: let goBootstrap = runCommand "go-bootstrap" {} '' @@ -25,7 +25,9 @@ stdenv.mkDerivation rec { # perl is used for testing go vet nativeBuildInputs = [ perl which pkgconfig patch ]; buildInputs = [ pcre ]; - propagatedBuildInputs = lib.optional stdenv.isDarwin Security; + propagatedBuildInputs = lib.optionals stdenv.isDarwin [ + Security Foundation + ]; # I'm not sure what go wants from its 'src', but the go installation manual # describes an installation keeping the src. @@ -67,18 +69,31 @@ stdenv.mkDerivation rec { '' + lib.optionalString stdenv.isLinux '' sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace src/race.bash --replace \ + "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true + sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go + sed -i '/TestCgoLookupIP/areturn' src/net/cgo_unix_test.go + sed -i '/TestChdirAndGetwd/areturn' src/os/os_test.go sed -i '/TestRead0/areturn' src/os/os_test.go sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go + sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/areturn' src/cmd/go/go_test.go + sed -i '/TestBuildDashIInstallsDependencies/areturn' src/cmd/go/go_test.go + + sed -i '/TestDisasmExtld/areturn' src/cmd/objdump/objdump_test.go + touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd ''; patches = [ ./cacert-1.5.patch ./remove-tools-1.5.patch - ]; + ] + # -ldflags=-s is required to compile on Darwin, see + # https://github.com/golang/go/issues/11994 + ++ stdenv.lib.optional stdenv.isDarwin ./strip.patch; GOOS = if stdenv.isDarwin then "darwin" else "linux"; GOARCH = if stdenv.isDarwin then "amd64" diff --git a/pkgs/development/compilers/go/strip.patch b/pkgs/development/compilers/go/strip.patch new file mode 100644 index 000000000000..7b036802d51c --- /dev/null +++ b/pkgs/development/compilers/go/strip.patch @@ -0,0 +1,12 @@ +diff --git a/src/cmd/go/build.go b/src/cmd/go/build.go +index 0b14725..a7608ce 100644 +--- a/src/cmd/go/build.go ++++ b/src/cmd/go/build.go +@@ -2310,6 +2310,7 @@ func (gcToolchain) ld(b *builder, root *action, out string, allactions []*action + } + } + var ldflags []string ++ ldflags = append(ldflags, "-s") + if buildContext.InstallSuffix != "" { + ldflags = append(ldflags, "-installsuffix", buildContext.InstallSuffix) + } diff --git a/pkgs/development/compilers/julia/0.2.nix b/pkgs/development/compilers/julia/0.2.nix deleted file mode 100644 index 9d585e07fe1a..000000000000 --- a/pkgs/development/compilers/julia/0.2.nix +++ /dev/null @@ -1,143 +0,0 @@ -{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib - , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl - , ncurses, libunistring, lighttpd, patchelf, openblas - , tcl, tk, xproto, libX11, git, mpfr - } : -let - realGcc = stdenv.cc.cc; -in -stdenv.mkDerivation rec { - pname = "julia"; - version = "0.2.1"; - name = "${pname}-${version}"; - - grisu_ver = "1.1.1"; - dsfmt_ver = "2.2"; - openblas_ver = "v0.2.2"; - lapack_ver = "3.4.1"; - arpack_ver = "3.1.3"; - 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"; - sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d"; - }; - dsfmt_src = fetchurl { - url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz"; - name = "dsfmt-${dsfmt_ver}.tar.gz"; - sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899"; - }; - openblas_src = fetchurl { - url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}"; - name = "openblas-${openblas_ver}.tar.gz"; - sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e"; - }; - arpack_src = fetchurl { - url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/607/get/"; - name = "arpack-ng-${arpack_ver}.tar.gz"; - sha256 = "039w7j3dr1xy35a3hp92zg2g92gmjq6xsv0g4awlb4cffy09nr2d"; - }; - lapack_src = fetchurl { - url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz"; - name = "lapack-${lapack_ver}.tgz"; - sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f"; - }; - clp_src = fetchurl { - url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz"; - name = "clp-${clp_ver}.tar.gz"; - sha256 = "e6cabe8b4319c17a9bbe6fe172194ab6cd1fe6e376f5e9969d3040636ea3a817"; - }; - lighttpd_src = fetchurl { - url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz"; - sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85"; - }; - patchelf_src = fetchurl { - 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 = "refs/tags/v${version}"; - sha256 = "7ee0f267bc1ae286764ced3c0c695c335a6f8d67bd7b3ca7e4de259333c9426a"; - }; - - buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib - fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf - openblas tcl tk xproto libX11 git mpfr - ]; - - configurePhase = '' - for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR; - do - makeFlags="$makeFlags USE_SYSTEM_$i=1 " - done - makeFlags="$makeFlags JULIA_CPU_TARGET=core2"; - - copy_kill_hash(){ - cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')" - } - - 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 - - ${if realGcc ==null then "" else - ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -lopenblas -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''} - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC " - - export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia" - - export GLPK_PREFIX="${glpk}/include" - - sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile - sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile - - export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}" - - export dontPatchELF=1 - - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia" - ''; - - preBuild = '' - mkdir -p usr/lib - - mkdir -p "$out/lib" - ln -s "${openblas}/lib/libopenblas.so" "$out/lib/libblas.so" - ln -s "${openblas}/lib/libopenblas.so" "$out/lib/liblapack.so" - - echo "$out" - ( - 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 = '' - ''; - - meta = { - description = "High-level performance-oriented dynamical language for technical computing"; - homepage = "http://julialang.org/"; - license = stdenv.lib.licenses.mit; - maintainers = [ stdenv.lib.maintainers.raskin ]; - platforms = with stdenv.lib.platforms; linux; - }; -} diff --git a/pkgs/development/compilers/julia/0.3.nix b/pkgs/development/compilers/julia/0.3.nix deleted file mode 100644 index 710ddec9c105..000000000000 --- a/pkgs/development/compilers/julia/0.3.nix +++ /dev/null @@ -1,154 +0,0 @@ -{ stdenv, fetchgit, fetchurl -# build tools -, gfortran, git, m4, patchelf, perl, which, python2 -# libjulia dependencies -, libunwind, llvm, readline, utf8proc, zlib -# standard library dependencies -, double_conversion, fftwSinglePrec, fftw, glpk, gmp, mpfr, pcre -# linear algebra -, openblas, arpack, suitesparse -}: - -with stdenv.lib; - -# All dependencies should use the same OpenBLAS. -let - arpack_ = arpack; - suitesparse_ = suitesparse; -in -let - arpack = arpack_.override { inherit openblas; }; - suitesparse = suitesparse_.override { inherit openblas; }; -in - -stdenv.mkDerivation rec { - pname = "julia"; - version = "0.3.11"; - name = "${pname}-${version}"; - - src = fetchgit { - url = "git://github.com/JuliaLang/julia.git"; - rev = "refs/tags/v${version}"; - sha256 = "06xmv2l8hskdh1s5y2dh28vpb5pc0gzmfl5a03yp0qjjsl5cb284"; - name = "julia-git-v${version}"; - }; - - patches = [ ./0001-work-around-buggy-wcwidth.patch ]; - - extraSrcs = - let - dsfmt_ver = "2.2"; - - dsfmt_src = fetchurl { - url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz"; - name = "dsfmt-${dsfmt_ver}.tar.gz"; - md5 = "cb61be3be7254eae39684612c524740d"; - }; - - in [ dsfmt_src ]; - - prePatch = '' - copy_kill_hash(){ - cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')" - } - - for i in $extraSrcs; do - copy_kill_hash "$i" deps - done - ''; - - postPatch = '' - sed -i deps/Makefile \ - -e "s@/usr/local/lib@$out/lib@g" \ - -e "s@/usr/lib@$out/lib@g" \ - -e "s@/usr/include/double-conversion@${double_conversion}/include/double-conversion@g" - - patchShebangs . contrib - - # ldconfig doesn't seem to ever work on NixOS; system-wide ldconfig cache - # is probably not what we want anyway on non-NixOS - sed -e "s@/sbin/ldconfig@true@" -i src/ccall.* - ''; - - buildInputs = [ - arpack double_conversion fftw fftwSinglePrec glpk gmp libunwind - llvm mpfr pcre openblas readline suitesparse utf8proc zlib - ]; - - nativeBuildInputs = [ gfortran git m4 patchelf perl python2 which ]; - - makeFlags = - let - arch = head (splitString "-" stdenv.system); - march = { "x86_64" = "x86-64"; "i686" = "i686"; }."${arch}" - or (throw "unsupported architecture: ${arch}"); - in [ - "ARCH=${arch}" - "MARCH=${march}" - "JULIA_CPU_TARGET=${march}" - "PREFIX=$(out)" - "prefix=$(out)" - "SHELL=${stdenv.shell}" - - "USE_SYSTEM_BLAS=1" - "LIBBLAS=-lopenblas" - "LIBBLASNAME=libopenblas" - - "USE_SYSTEM_LAPACK=1" - "LIBLAPACK=-lopenblas" - "LIBLAPACKNAME=libopenblas" - - "USE_SYSTEM_ARPACK=1" - "USE_SYSTEM_FFTW=1" - "USE_SYSTEM_GLPK=1" - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_GRISU=1" - "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_LLVM=1" - "USE_SYSTEM_MPFR=1" - "USE_SYSTEM_PATCHELF=1" - "USE_SYSTEM_PCRE=1" - "USE_SYSTEM_READLINE=1" - "USE_SYSTEM_SUITESPARSE=1" - "USE_SYSTEM_UTF8PROC=1" - "USE_SYSTEM_ZLIB=1" - ]; - - GLPK_PREFIX = "${glpk}/include"; - - NIX_CFLAGS_COMPILE = [ "-fPIC" ]; - - # Julia tries to load these libraries dynamically at runtime, but they can't be found. - # Easier by far to link against them as usual. - # These go in LDFLAGS, where they affect only Julia itself, and not NIX_LDFLAGS, - # where they would also be used for all the private libraries Julia builds. - LDFLAGS = [ - "-larpack" - "-lfftw3_threads" - "-lfftw3f_threads" - "-lglpk" - "-lgmp" - "-lmpfr" - "-lopenblas" - "-lpcre" - "-lsuitesparse" - "-lz" - ]; - - dontStrip = true; - dontPatchELF = true; - - enableParallelBuilding = true; - - # Test fail on i686 (julia version 0.3.10) - doCheck = !stdenv.isi686; - checkTarget = "testall"; - - meta = { - description = "High-level performance-oriented dynamical language for technical computing"; - homepage = "http://julialang.org/"; - license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ raskin ttuegel ]; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; - }; -} diff --git a/pkgs/development/compilers/julia/0001-use-system-utf8proc.patch b/pkgs/development/compilers/julia/0001-use-system-utf8proc.patch new file mode 100644 index 000000000000..b93654a88965 --- /dev/null +++ b/pkgs/development/compilers/julia/0001-use-system-utf8proc.patch @@ -0,0 +1,29 @@ +From 54a66b5728ec98f44a1768f064509be4fd3f2ef6 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Sat, 10 Oct 2015 13:09:48 -0500 +Subject: [PATCH 1/3] use system utf8proc + +--- + src/flisp/Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/flisp/Makefile b/src/flisp/Makefile +index bec8624..5437b5c 100644 +--- a/src/flisp/Makefile ++++ b/src/flisp/Makefile +@@ -24,9 +24,9 @@ DOBJS = $(SRCS:%.c=$(BUILDDIR)/%.dbg.obj) + LLTDIR = ../support + LLT_release = $(BUILDDIR)/$(LLTDIR)/libsupport.a + LLT_debug = $(BUILDDIR)/$(LLTDIR)/libsupport-debug.a +-LIBFILES_release = $(LLT_release) $(LIBUV) $(LIBUTF8PROC) +-LIBFILES_debug = $(LLT_debug) $(LIBUV) $(LIBUTF8PROC) +-LIBS = ++LIBFILES_release = $(LLT_release) $(LIBUV) ++LIBFILES_debug = $(LLT_debug) $(LIBUV) ++LIBS = $(LIBUTF8PROC) + ifneq ($(OS),WINNT) + LIBS += -lpthread + endif +-- +2.5.2 + diff --git a/pkgs/development/compilers/julia/0002-use-system-suitesparse.patch b/pkgs/development/compilers/julia/0002-use-system-suitesparse.patch new file mode 100644 index 000000000000..17f49ad5ca9f --- /dev/null +++ b/pkgs/development/compilers/julia/0002-use-system-suitesparse.patch @@ -0,0 +1,25 @@ +From e2b0ed6664fe4adfd0f9ce8fa14732d47b30ab5c Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Sat, 10 Oct 2015 16:18:53 -0500 +Subject: [PATCH 2/3] use system suitesparse + +--- + base/sparse/cholmod.jl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/sparse/cholmod.jl b/base/sparse/cholmod.jl +index ec7e980..f834cc1 100644 +--- a/base/sparse/cholmod.jl ++++ b/base/sparse/cholmod.jl +@@ -151,7 +151,7 @@ function __init__() + + # Register gc tracked allocator if CHOLMOD is new enough + if current_version >= v"3.0.0" +- cnfg = cglobal((:SuiteSparse_config, :libsuitesparseconfig), Ptr{Void}) ++ cnfg = cglobal((:SuiteSparse_config, :libsuitesparse), Ptr{Void}) + unsafe_store!(cnfg, cglobal(:jl_malloc, Ptr{Void}), 1) + unsafe_store!(cnfg, cglobal(:jl_calloc, Ptr{Void}), 2) + unsafe_store!(cnfg, cglobal(:jl_realloc, Ptr{Void}), 3) +-- +2.5.2 + diff --git a/pkgs/development/compilers/julia/0003-no-ldconfig.patch b/pkgs/development/compilers/julia/0003-no-ldconfig.patch new file mode 100644 index 000000000000..d490b7049278 --- /dev/null +++ b/pkgs/development/compilers/julia/0003-no-ldconfig.patch @@ -0,0 +1,29 @@ +From 8802fe583eda93a928739cb3bc3517e19d1a6fa1 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Sun, 11 Oct 2015 07:19:42 -0500 +Subject: [PATCH 3/3] no ldconfig + +--- + src/ccall.cpp | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/src/ccall.cpp b/src/ccall.cpp +index 22015ff..2821192 100644 +--- a/src/ccall.cpp ++++ b/src/ccall.cpp +@@ -13,11 +13,7 @@ extern "C" DLLEXPORT void jl_read_sonames(void) + { + char *line=NULL; + size_t sz=0; +-#if defined(__linux__) +- FILE *ldc = popen("/sbin/ldconfig -p", "r"); +-#else +- FILE *ldc = popen("/sbin/ldconfig -r", "r"); +-#endif ++ FILE *ldc = popen("true", "r"); + + while (!feof(ldc)) { + ssize_t n = getline(&line, &sz, ldc); +-- +2.5.2 + diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix new file mode 100644 index 000000000000..5df0a35aae8e --- /dev/null +++ b/pkgs/development/compilers/julia/default.nix @@ -0,0 +1,157 @@ +{ stdenv, fetchgit, fetchurl +# build tools +, gfortran, m4, makeWrapper, patchelf, perl, which, python2 +# libjulia dependencies +, libunwind, llvm, readline, utf8proc, zlib +# standard library dependencies +, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2 +# linear algebra +, openblas, arpack, suitesparse +}: + +with stdenv.lib; + +# All dependencies must use the same OpenBLAS. +let + arpack_ = arpack; + suitesparse_ = suitesparse; +in +let + arpack = arpack_.override { inherit openblas; }; + suitesparse = suitesparse_.override { inherit openblas; }; +in + +let + dsfmtVersion = "2.2.3"; + dsfmt = fetchurl { + url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmtVersion}.tar.gz"; + sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42"; + }; + + libuvVersion = "28f5f06b5ff6f010d666ec26552e0badaca5cdcd"; + libuv = fetchurl { + url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}"; + sha256 = "1ksns0aiayxmxffvq2kc96904mxlmbkfc30xxck69xnidr2jvr4a"; + }; + + rmathVersion = "0.1"; + rmath-julia = fetchurl { + url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}"; + sha256 = "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4"; + }; +in + +stdenv.mkDerivation rec { + pname = "julia"; + version = "0.4.0"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz"; + sha256 = "00k53hzbawpqvmkkyzcvbmf1d0ycshzdqk19nwsifv1rmiwjj7ss"; + }; + + prePatch = '' + cp "${dsfmt}" "./deps/dsfmt-${dsfmtVersion}.tar.gz" + cp "${rmath-julia}" "./deps/Rmath-julia-${rmathVersion}.tar.gz" + cp "${libuv}" "./deps/libuv-${libuvVersion}.tar.gz" + ''; + + patches = [ + ./0001-use-system-utf8proc.patch + ./0002-use-system-suitesparse.patch + ./0003-no-ldconfig.patch + ]; + + postPatch = '' + patchShebangs . contrib + ''; + + buildInputs = [ + arpack fftw fftwSinglePrec gmp libgit2 libunwind llvm mpfr + pcre2 openblas openlibm openspecfun readline suitesparse utf8proc + zlib + ]; + + nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]; + + makeFlags = + let + arch = head (splitString "-" stdenv.system); + march = { "x86_64" = "x86-64"; "i686" = "i686"; }."${arch}" + or (throw "unsupported architecture: ${arch}"); + # Julia requires Pentium 4 (SSE2) or better + cpuTarget = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}" + or (throw "unsupported architecture: ${arch}"); + in [ + "ARCH=${arch}" + "MARCH=${march}" + "JULIA_CPU_TARGET=${cpuTarget}" + "PREFIX=$(out)" + "prefix=$(out)" + "SHELL=${stdenv.shell}" + + "USE_SYSTEM_BLAS=1" + "USE_BLAS64=${if openblas.blas64 then "1" else "0"}" + "LIBBLAS=-lopenblas" + "LIBBLASNAME=libopenblas" + + "USE_SYSTEM_LAPACK=1" + "LIBLAPACK=-lopenblas" + "LIBLAPACKNAME=libopenblas" + + "USE_SYSTEM_SUITESPARSE=1" + "SUITESPARSE_LIB=-lsuitesparse" + "SUITESPARSE_INC=-I${suitesparse}/include" + + "USE_SYSTEM_ARPACK=1" + "USE_SYSTEM_FFTW=1" + "USE_SYSTEM_GMP=1" + "USE_SYSTEM_LIBGIT2=1" + "USE_SYSTEM_LIBUNWIND=1" + "USE_SYSTEM_LLVM=1" + "USE_SYSTEM_MPFR=1" + "USE_SYSTEM_OPENLIBM=1" + "USE_SYSTEM_OPENSPECFUN=1" + "USE_SYSTEM_PATCHELF=1" + "USE_SYSTEM_PCRE=1" + "USE_SYSTEM_READLINE=1" + "USE_SYSTEM_UTF8PROC=1" + "USE_SYSTEM_ZLIB=1" + ]; + + NIX_CFLAGS_COMPILE = [ "-fPIC" ]; + + LD_LIBRARY_PATH = makeSearchPath "lib" [ + arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm + openspecfun pcre2 suitesparse + ]; + + dontStrip = true; + dontPatchELF = true; + + enableParallelBuilding = true; + + doCheck = true; + checkTarget = "testall"; + # Julia's tests require read/write access to $HOME + preCheck = '' + export HOME="$NIX_BUILD_TOP" + ''; + + postInstall = '' + for prog in "$out/bin/julia" "$out/bin/julia-debug"; do + wrapProgram "$prog" \ + --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \ + --prefix PATH : "${curl}/bin" + done + ''; + + meta = { + description = "High-level performance-oriented dynamical language for technical computing"; + homepage = "http://julialang.org/"; + license = stdenv.lib.licenses.mit; + maintainers = with stdenv.lib.maintainers; [ raskin ttuegel ]; + platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; + }; +} diff --git a/pkgs/development/compilers/llvm/3.3/llvm.nix b/pkgs/development/compilers/llvm/3.3/llvm.nix index 8dca8b43bc2c..c19955ddaf03 100644 --- a/pkgs/development/compilers/llvm/3.3/llvm.nix +++ b/pkgs/development/compilers/llvm/3.3/llvm.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils }: +{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils, debugVersion ? false }: let version = "3.3"; in stdenv.mkDerivation rec { @@ -14,9 +14,17 @@ in stdenv.mkDerivation rec { ./no-rule-aarch64.patch # http://llvm.org/bugs/show_bug.cgi?id=16625 # Patch needed for Julia, backports fixes from LLVM 3.5 (fetchurl { - url = "https://raw.githubusercontent.com/JuliaLang/julia/3bdda3750efc4ebf8ce7eda8a0888ffef3851605/deps/llvm-3.3.patch"; + url = "https://raw.githubusercontent.com/JuliaLang/julia/release-0.4/deps/llvm-3.3.patch"; sha256 = "0j6chyx4k8zr1qha5dks8lqlcraqrj4q1hwnk2kj3qi6cajsd8k3"; }) + (fetchurl { + url = "https://raw.githubusercontent.com/JuliaLang/julia/release-0.4/deps/instcombine-llvm-3.3.patch"; + sha256 = "161frq3wxrkxah78krb24hp4zkcnphzcgnvkwfq1abq2vjx3f8sn"; + }) + (fetchurl { + url = "https://raw.githubusercontent.com/JuliaLang/julia/release-0.4/deps/int128-vector.llvm-3.3.patch"; + sha256 = "0lzkv6hvsdaalwsyf6sq0vdrf8x5nk58qg6nn5dlw7n3hxaxpm4m"; + }) ]; buildInputs = [ perl groff cmake python libffi ]; @@ -26,7 +34,7 @@ in stdenv.mkDerivation rec { in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib"; cmakeFlags = with stdenv; [ - "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" "-DLLVM_BUILD_TESTS=ON" "-DLLVM_ENABLE_FFI=ON" "-DLLVM_BINUTILS_INCDIR=${binutils}/include" diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix index 4c9235681e37..59e8055efb20 100644 --- a/pkgs/development/compilers/llvm/3.4/llvm.nix +++ b/pkgs/development/compilers/llvm/3.4/llvm.nix @@ -12,6 +12,7 @@ , version , zlib , compiler-rt_src +, debugVersion ? false }: let @@ -41,7 +42,7 @@ in stdenv.mkDerivation rec { ''; cmakeFlags = with stdenv; [ - "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" "-DLLVM_BUILD_TESTS=ON" "-DLLVM_ENABLE_FFI=ON" "-DLLVM_REQUIRES_RTTI=1" diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix index 395843bf0d8f..8daba7b1d9cd 100644 --- a/pkgs/development/compilers/llvm/3.5/llvm.nix +++ b/pkgs/development/compilers/llvm/3.5/llvm.nix @@ -12,6 +12,7 @@ , version , zlib , compiler-rt_src +, debugVersion ? false }: let @@ -38,7 +39,7 @@ in stdenv.mkDerivation rec { ''; cmakeFlags = with stdenv; [ - "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" "-DLLVM_BUILD_TESTS=ON" "-DLLVM_ENABLE_FFI=ON" "-DLLVM_REQUIRES_RTTI=1" diff --git a/pkgs/development/compilers/llvm/3.6/llvm.nix b/pkgs/development/compilers/llvm/3.6/llvm.nix index d757b9314c35..6da31fbbf5b3 100644 --- a/pkgs/development/compilers/llvm/3.6/llvm.nix +++ b/pkgs/development/compilers/llvm/3.6/llvm.nix @@ -12,6 +12,7 @@ , version , zlib , compiler-rt_src +, debugVersion ? false }: let @@ -38,7 +39,7 @@ in stdenv.mkDerivation rec { ''; cmakeFlags = with stdenv; [ - "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" "-DLLVM_BUILD_TESTS=ON" "-DLLVM_ENABLE_FFI=ON" "-DLLVM_ENABLE_RTTI=ON" diff --git a/pkgs/development/compilers/llvm/3.7/libc++/default.nix b/pkgs/development/compilers/llvm/3.7/libc++/default.nix index cd985d89098d..db1475cfc14f 100644 --- a/pkgs/development/compilers/llvm/3.7/libc++/default.nix +++ b/pkgs/development/compilers/llvm/3.7/libc++/default.nix @@ -12,15 +12,6 @@ stdenv.mkDerivation rec { preConfigure = '' # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include") - '' + - stdenv.lib.optionalString stdenv.isDarwin '' - # instead of allowing libc++ to link with /usr/lib/libc++abi.dylib, - # force it to link with our copy - substituteInPlace lib/CMakeLists.txt \ - --replace 'OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib' \ - 'OSX_RE_EXPORT_LINE "${libcxxabi}/lib/libc++abi.dylib' \ - --replace '"''${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib"' \ - '"${libcxxabi}/lib/libc++abi.dylib"' ''; patches = [ ./darwin.patch ]; diff --git a/pkgs/development/compilers/llvm/3.7/libc++abi.nix b/pkgs/development/compilers/llvm/3.7/libc++abi.nix index a1b300ffa04f..97f182a9af81 100644 --- a/pkgs/development/compilers/llvm/3.7/libc++abi.nix +++ b/pkgs/development/compilers/llvm/3.7/libc++abi.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation { done make install install -d 755 $out/include - install -m 644 ../include/cxxabi.h $out/include + install -m 644 ../include/*.h $out/include '' else '' install -d -m 755 $out/include $out/lib diff --git a/pkgs/development/compilers/llvm/3.7/llvm.nix b/pkgs/development/compilers/llvm/3.7/llvm.nix index 361ae4ba1177..57fd3433fa5e 100644 --- a/pkgs/development/compilers/llvm/3.7/llvm.nix +++ b/pkgs/development/compilers/llvm/3.7/llvm.nix @@ -12,6 +12,8 @@ , version , zlib , compiler-rt_src +, libcxxabi +, debugVersion ? false }: let @@ -27,7 +29,8 @@ in stdenv.mkDerivation rec { mv compiler-rt-* $sourceRoot/projects/compiler-rt ''; - buildInputs = [ perl groff cmake libxml2 python libffi ] /* ++ stdenv.lib.optional stdenv.isLinux valgrind */; + buildInputs = [ perl groff cmake libxml2 python libffi ] + ++ stdenv.lib.optional stdenv.isDarwin libcxxabi; propagatedBuildInputs = [ ncurses zlib ]; @@ -38,7 +41,7 @@ in stdenv.mkDerivation rec { ''; cmakeFlags = with stdenv; [ - "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc "-DLLVM_BUILD_TESTS=ON" "-DLLVM_ENABLE_FFI=ON" @@ -47,7 +50,7 @@ in stdenv.mkDerivation rec { "-DBUILD_SHARED_LIBS=ON" "-DLLVM_BINUTILS_INCDIR=${binutils}/include" ] ++ stdenv.lib.optionals ( isDarwin) [ - "-DCMAKE_CXX_FLAGS=-stdlib=libc++" + "-DLLVM_ENABLE_LIBCXX=ON" "-DCAN_TARGET_i386=false" ]; diff --git a/pkgs/development/compilers/mkcl/default.nix b/pkgs/development/compilers/mkcl/default.nix index 39196dba8caf..7158ffab9185 100644 --- a/pkgs/development/compilers/mkcl/default.nix +++ b/pkgs/development/compilers/mkcl/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, gmp }: +{ stdenv, fetchgit, makeWrapper, gmp, gcc }: stdenv.mkDerivation rec { v = "1.1.9"; @@ -10,6 +10,7 @@ stdenv.mkDerivation rec { sha256 = "0ja7vyp5rjidb2a1gah35jqzqn6zjkikz5sd966p0f0wh26l6n03"; }; + buildInputs = [ makeWrapper ]; propagatedBuildInputs = [ gmp ]; configureFlags = [ @@ -17,6 +18,10 @@ stdenv.mkDerivation rec { "GMP_LDFLAGS=-L${gmp.out}/lib" ]; + postInstall = '' + wrapProgram $out/bin/mkcl --prefix PATH : "${gcc}/bin" + ''; + meta = { description = "ANSI Common Lisp Implementation"; homepage = https://common-lisp.net/project/mkcl/; diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix index 306e287fbc26..a7a4d8da4edc 100644 --- a/pkgs/development/compilers/mono/default.nix +++ b/pkgs/development/compilers/mono/default.nix @@ -6,10 +6,10 @@ let in stdenv.mkDerivation rec { name = "mono-${version}"; - version = "4.0.3.20"; + version = "4.0.4.1"; src = fetchurl { url = "http://download.mono-project.com/sources/mono/${name}.tar.bz2"; - sha256 = "1z0k8gv5z3yrkjhi2yjaqj42p55jn5h3q4z890gkcrlvmgihnv4p"; + sha256 = "1ydw9l89apc9p7xr5mdzy0h97g2q6v243g82mxswfc2rrqhfs4gd"; }; buildInputs = diff --git a/pkgs/development/compilers/mozart/binary.nix b/pkgs/development/compilers/mozart/binary.nix index a420ef9c292c..ae040297313c 100644 --- a/pkgs/development/compilers/mozart/binary.nix +++ b/pkgs/development/compilers/mozart/binary.nix @@ -1,11 +1,12 @@ -{ stdenv, fetchurl, bash, makeWrapper, coreutils, emacs, tcl, tk, boost, gmp, cacert }: - -assert stdenv.isLinux; +{ stdenv, fetchurl, boost, emacs, gmp, makeWrapper +, tcl-8_5, tk-8_5 +}: let + version = "2.0.0"; -in -stdenv.mkDerivation { + +in stdenv.mkDerivation { name = "mozart-binary-${version}"; src = fetchurl { @@ -14,7 +15,15 @@ stdenv.mkDerivation { }; libPath = stdenv.lib.makeLibraryPath - [stdenv.cc.cc emacs tk tcl boost gmp]; + [ stdenv.cc.cc + boost + emacs + gmp + tcl-8_5 + tk-8_5 + ]; + + TK_LIBRARY = "${tk-8_5}/lib/tk8.5"; builder = ./builder.sh; diff --git a/pkgs/development/compilers/mozart/builder.sh b/pkgs/development/compilers/mozart/builder.sh index 75914121611d..b606d4c1bde9 100644 --- a/pkgs/development/compilers/mozart/builder.sh +++ b/pkgs/development/compilers/mozart/builder.sh @@ -12,13 +12,15 @@ mv mozart*linux/share/* $out/share patchShebangs $out for f in $out/bin/*; do - b=$(basename $f) - if [ $b == "ozemulator" ] || [ $b == "ozwish" ]; then - patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath $libPath \ - $f - continue; - fi - wrapProgram $f \ - --set OZHOME $out + b=$(basename $f) + + if [ $b == "ozemulator" ] || [ $b == "ozwish" ]; then + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath $libPath \ + $f + continue; + fi + + wrapProgram $f --set OZHOME $out \ + --set TK_LIBRARY $TK_LIBRARY done diff --git a/pkgs/development/compilers/ocaml/4.02.1.nix b/pkgs/development/compilers/ocaml/4.02.nix index d70fe3384e03..7338f8b36745 100644 --- a/pkgs/development/compilers/ocaml/4.02.1.nix +++ b/pkgs/development/compilers/ocaml/4.02.nix @@ -21,11 +21,11 @@ stdenv.mkDerivation rec { x11lib = x11env + "/lib"; x11inc = x11env + "/include"; - name = "ocaml-4.02.1"; + name = "ocaml-4.02.3"; src = fetchurl { url = "http://caml.inria.fr/pub/distrib/ocaml-4.02/${name}.tar.xz"; - sha256 = "1p7lqvh64xpykh99014mz21q8fs3qyjym2qazhhbq8scwldv1i38"; + sha256 = "1qwwvy8nzd87hk8rd9sm667nppakiapnx4ypdwcrlnav2dz6kil3"; }; patches = [ patchOcamlBuild ]; diff --git a/pkgs/development/compilers/openjdk/004_add-fontconfig.patch b/pkgs/development/compilers/openjdk/004_add-fontconfig.patch new file mode 100644 index 000000000000..8172bc821905 --- /dev/null +++ b/pkgs/development/compilers/openjdk/004_add-fontconfig.patch @@ -0,0 +1,14 @@ +This patch was downloaded from https://aur.archlinux.org/cgit/aur.git/tree/?h=java8-openjdk +More info can be found at http://www.infinality.net/forum/viewtopic.php?f=2&t=275 +diff -ur a/jdk/make/lib/Awt2dLibraries.gmk b/jdk/make/lib/Awt2dLibraries.gmk +--- a/jdk/make/lib/Awt2dLibraries.gmk 2015-07-13 20:50:59.000000000 +0300 ++++ b/jdk/make/lib/Awt2dLibraries.gmk 2015-08-24 12:12:22.930330643 +0300 +@@ -824,7 +824,7 @@ + LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ + LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \ +- LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \ ++ LDFLAGS_SUFFIX_linux := -lfontconfig -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \ + LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \ + LDFLAGS_SUFFIX_aix := -lawt -lawt_headless $(LIBM) $(LIBCXX) -ljava -ljvm,\ + LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \ diff --git a/pkgs/development/compilers/openjdk/005_enable-infinality.patch b/pkgs/development/compilers/openjdk/005_enable-infinality.patch new file mode 100644 index 000000000000..f8de96989967 --- /dev/null +++ b/pkgs/development/compilers/openjdk/005_enable-infinality.patch @@ -0,0 +1,261 @@ +This patch was downloaded from https://aur.archlinux.org/cgit/aur.git/tree/?h=java8-openjdk +More info can be found at http://www.infinality.net/forum/viewtopic.php?f=2&t=275 +diff -ur a/jdk/src/share/native/sun/font/freetypeScaler.c b/jdk/src/share/native/sun/font/freetypeScaler.c +--- a/jdk/src/share/native/sun/font/freetypeScaler.c 2014-09-14 16:28:06.108295959 +0200 ++++ b/jdk/src/share/native/sun/font/freetypeScaler.c 2014-09-14 16:28:45.569693174 +0200 +@@ -23,6 +23,9 @@ + * questions. + */ + ++/* Use Infinality patches as default */ ++#define INFINALITY ++ + #include "jni.h" + #include "jni_util.h" + #include "jlong.h" +@@ -38,6 +41,10 @@ + #include FT_SIZES_H + #include FT_OUTLINE_H + #include FT_SYNTHESIS_H ++#ifdef INFINALITY ++#include FT_LCD_FILTER_H ++#include <fontconfig/fontconfig.h> ++#endif + + #include "fontscaler.h" + +@@ -676,6 +683,147 @@ static void CopyFTSubpixelVToSubpixel(co + } + } + ++#ifdef INFINALITY ++typedef struct { ++ FT_Render_Mode ftRenderMode; ++ int ftLoadFlags; ++ FT_LcdFilter ftLcdFilter; ++} RenderingProperties; ++ ++static FcPattern* matchedPattern(const FcChar8* family, double ptSize) { ++ /* ++ we will create pattern to find our family and size in ++ fontconfig configuration, and then will return it's ++ properties: ++ */ ++ FcPattern* fcPattern = 0; ++ fcPattern = FcPatternCreate(); ++ FcValue fcValue; ++ fcValue.type = FcTypeString; ++ fcValue.u.s = family; ++ FcPatternAdd(fcPattern, FC_FAMILY, fcValue, FcTrue); ++ FcPatternAddBool(fcPattern, FC_SCALABLE, FcTrue); ++ FcPatternAddDouble(fcPattern, FC_SIZE, ptSize); ++ // TODO FcPatternAddInteger(pattern, FC_WEIGHT, weight_value); ++ // TODO FcPatternAddInteger(pattern, FC_SLANT, slant_value); ++ // TODO FcPatternAddDouble(pattern, FC_PIXEL_SIZE, size_value); ++ // TODO FcPatternAddInteger(pattern, FC_WIDTH, stretch); 100 in most cases ++ FcConfigSubstitute(0, fcPattern, FcMatchPattern); ++ FcConfigSubstitute(0, fcPattern, FcMatchFont); ++ FcDefaultSubstitute(fcPattern); ++ FcResult res; ++ ++ FcPattern *pattern = 0; ++ pattern = FcFontMatch(0, fcPattern, &res); ++ FcPatternDestroy(fcPattern); ++ return pattern; ++} ++ ++static void readFontconfig(const FcChar8* family, double ptSize, jint aaType, RenderingProperties* rp) { ++ ++ FcPattern *pattern = matchedPattern(family, ptSize); ++ ++ int ftLoadFalgs = FT_LOAD_DEFAULT; ++ FT_Render_Mode ftRenderMode; ++ FT_LcdFilter ftLcdFilter; ++ char horizontal = 1; ++ FcBool b; ++ ++ // subpixel order: ++ if (aaType == TEXT_AA_ON) ++ ftRenderMode = FT_RENDER_MODE_NORMAL; ++ else if (aaType == TEXT_AA_OFF) ++ ftRenderMode = FT_RENDER_MODE_MONO; ++ else if (FcPatternGetBool(pattern, FC_ANTIALIAS, 0, &b) == FcResultMatch) ++ if (b) { ++ int subpixel = FC_RGBA_UNKNOWN; ++ FcPatternGetInteger(pattern, FC_RGBA, 0, &subpixel); ++ if (subpixel == FC_RGBA_UNKNOWN) ++ subpixel = FC_RGBA_NONE; ++ switch (subpixel) { ++ case FC_RGBA_NONE: ++ ftRenderMode = FT_RENDER_MODE_NORMAL; ++ break; ++ case FC_RGBA_RGB: ++ case FC_RGBA_BGR: ++ ftRenderMode = FT_RENDER_MODE_LCD; ++ horizontal = 1; ++ break; ++ case FC_RGBA_VRGB: ++ case FC_RGBA_VBGR: ++ ftRenderMode = FT_RENDER_MODE_LCD_V; ++ horizontal = 0; ++ break; ++ default: ++ break; ++ } ++ } else { ++ ftRenderMode = FT_RENDER_MODE_NORMAL; ++ } ++ ++ // loading mode: ++ if (aaType == TEXT_AA_OFF) ++ ftLoadFalgs |= FT_LOAD_TARGET_MONO; ++ else { ++ int hint_style = FC_HINT_NONE; ++ FcPatternGetInteger(pattern, FC_HINT_STYLE, 0, &hint_style); ++ switch (hint_style) { ++ case FC_HINT_NONE: ++ ftLoadFalgs |= FT_LOAD_NO_HINTING; ++ break; ++ case FC_HINT_SLIGHT: ++ ftLoadFalgs |= FT_LOAD_TARGET_LIGHT; ++ break; ++ case FC_HINT_MEDIUM: ++ ftLoadFalgs |= FT_LOAD_TARGET_NORMAL; ++ break; ++ case FC_HINT_FULL: ++ if (aaType == TEXT_AA_ON) ++ ftLoadFalgs |= FT_LOAD_TARGET_NORMAL; ++ else ++ ftLoadFalgs |= horizontal ? FT_LOAD_TARGET_LCD : FT_LOAD_TARGET_LCD_V; ++ break; ++ default: ++ // what else to use as default? ++ ftLoadFalgs |= FT_LOAD_TARGET_NORMAL; ++ break; ++ } ++ } ++ ++ // autohinting: ++ if (FcPatternGetBool(pattern, FC_AUTOHINT, 0, &b) == FcResultMatch) ++ if (b) ++ ftLoadFalgs |= FT_LOAD_FORCE_AUTOHINT; ++ ++ // LCD filter: ++ int filter = FC_LCD_DEFAULT; ++ FcPatternGetInteger(pattern, FC_LCD_FILTER, 0, &filter); ++ switch (filter) { ++ case FC_LCD_NONE: ++ ftLcdFilter = FT_LCD_FILTER_NONE; ++ break; ++ case FC_LCD_DEFAULT: ++ ftLcdFilter = FT_LCD_FILTER_DEFAULT; ++ break; ++ case FC_LCD_LIGHT: ++ ftLcdFilter = FT_LCD_FILTER_LIGHT; ++ break; ++ case FC_LCD_LEGACY: ++ ftLcdFilter = FT_LCD_FILTER_LEGACY; ++ break; ++ default: ++ // new unknown lcd filter type?! will use default one: ++ ftLcdFilter = FT_LCD_FILTER_DEFAULT; ++ break; ++ } ++ ++ FcPatternDestroy(pattern); ++ ++ rp->ftRenderMode = ftRenderMode; ++ rp->ftLoadFlags = ftLoadFalgs; ++ rp->ftLcdFilter = ftLcdFilter; ++} ++#endif + + /* + * Class: sun_font_FreetypeFontScaler +@@ -691,7 +839,9 @@ Java_sun_font_FreetypeFontScaler_getGlyp + UInt16 width, height; + GlyphInfo *glyphInfo; + int glyph_index; ++#ifndef INFINALITY + int renderFlags = FT_LOAD_RENDER, target; ++#endif + FT_GlyphSlot ftglyph; + + FTScalerContext* context = +@@ -709,6 +859,11 @@ Java_sun_font_FreetypeFontScaler_getGlyp + return ptr_to_jlong(getNullGlyphImage()); + } + ++#ifdef INFINALITY ++ RenderingProperties renderingProperties; ++ readFontconfig((const FcChar8 *) scalerInfo->face->family_name, ++ context->ptsz, context->aaType, &renderingProperties); ++#else + /* if algorithmic styling is required then we do not request bitmap */ + if (context->doBold || context->doItalize) { + renderFlags = FT_LOAD_DEFAULT; +@@ -731,10 +886,17 @@ Java_sun_font_FreetypeFontScaler_getGlyp + target = FT_LOAD_TARGET_LCD_V; + } + renderFlags |= target; ++#endif + + glyph_index = FT_Get_Char_Index(scalerInfo->face, glyphCode); + ++#ifdef INFINALITY ++ FT_Library_SetLcdFilter(scalerInfo->library, renderingProperties.ftLcdFilter); ++ error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderingProperties.ftLoadFlags); ++#else + error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderFlags); ++#endif ++ + if (error) { + //do not destroy scaler yet. + //this can be problem of particular context (e.g. with bad transform) +@@ -753,9 +915,13 @@ Java_sun_font_FreetypeFontScaler_getGlyp + + /* generate bitmap if it is not done yet + e.g. if algorithmic styling is performed and style was added to outline */ ++#ifdef INFINALITY ++ FT_Render_Glyph(ftglyph, renderingProperties.ftRenderMode); ++#else + if (ftglyph->format == FT_GLYPH_FORMAT_OUTLINE) { + FT_Render_Glyph(ftglyph, FT_LOAD_TARGET_MODE(target)); + } ++#endif + + width = (UInt16) ftglyph->bitmap.width; + height = (UInt16) ftglyph->bitmap.rows; +@@ -969,7 +1135,9 @@ Java_sun_font_FreetypeFontScaler_getGlyp + static FT_Outline* getFTOutline(JNIEnv* env, jobject font2D, + FTScalerContext *context, FTScalerInfo* scalerInfo, + jint glyphCode, jfloat xpos, jfloat ypos) { ++#ifndef INFINALITY + int renderFlags; ++#endif + int glyph_index; + FT_Error error; + FT_GlyphSlot ftglyph; +@@ -984,11 +1152,22 @@ static FT_Outline* getFTOutline(JNIEnv* + return NULL; + } + ++#ifdef INFINALITY ++ RenderingProperties renderingProperties; ++ readFontconfig((const FcChar8 *) scalerInfo->face->family_name, ++ context->ptsz, context->aaType, &renderingProperties); ++#else + renderFlags = FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP; ++#endif + + glyph_index = FT_Get_Char_Index(scalerInfo->face, glyphCode); + ++#ifdef INFINALITY ++ error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderingProperties.ftLoadFlags); ++#else + error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderFlags); ++#endif ++ + if (error) { + return NULL; + } diff --git a/pkgs/development/compilers/openjdk/7.nix b/pkgs/development/compilers/openjdk/7.nix index 12d32a134c8e..de803a5d90c5 100644 --- a/pkgs/development/compilers/openjdk/7.nix +++ b/pkgs/development/compilers/openjdk/7.nix @@ -17,9 +17,9 @@ let else throw "openjdk requires i686-linux or x86_64 linux"; - update = "80"; + update = "91"; - build = "32"; + build = "01"; # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well. paxflags = if stdenv.isi686 then "msp" else "m"; @@ -33,31 +33,31 @@ let repover = "jdk7u${update}-b${build}"; jdk7 = fetchurl { url = "${baseurl}/archive/${repover}.tar.gz"; - sha256 = "1r8xnn87nmqaq2f8i3cp3i9ngq66k0c0wgkdq5cf59lkgs8wkcdi"; + sha256 = "08f7cbayyrryim3xbrs12cr12i1mczcikyc9rdlsyih0r4xvll28"; }; langtools = fetchurl { url = "${baseurl}/langtools/archive/${repover}.tar.gz"; - sha256 = "01alj6pfrjqyf4irll9wg34h4w9nmb3973lvbacs528qm1nxgh9r"; + sha256 = "0rmlzrgsacn60blpg1sp30k6p0sgzsml8wb41yc998km1bsnjxnh"; }; hotspot = fetchurl { url = "${baseurl}/hotspot/archive/${repover}.tar.gz"; - sha256 = "14zla8axmg5344zf45i4cj7yyli0kmdjsh9yalmzqaphpkqjqpf2"; + sha256 = "1w1n81y9jcvjzssl4049yzfc0gdfnh73ki6wg1d8pg22zlyhrrwv"; }; corba = fetchurl { url = "${baseurl}/corba/archive/${repover}.tar.gz"; - sha256 = "19z3ay3f2q7r2ra03c6wy8b5rbdbrkq5g2dzhrqcg0n4iydd3c40"; + sha256 = "086yr927bxnlgljx7mw2cg6f6aip57hi4qpn1h35n6fsyvb4n67h"; }; jdk = fetchurl { url = "${baseurl}/jdk/archive/${repover}.tar.gz"; - sha256 = "1q0r2l9bz2cyx4fq79x6cb2f5xycw83hl5cn1d1mazgsckp590lb"; + sha256 = "14r39ylj3qa63arpqxl0h84baah1kjgnyp3v9d7d4vd0yagpn66b"; }; jaxws = fetchurl { url = "${baseurl}/jaxws/archive/${repover}.tar.gz"; - sha256 = "1lp0mww2x3b6xavb7idrzckh6iw8jd6s1fvqgfvzs853z4ifksqj"; + sha256 = "1p1739gb5gx9m4sm3i4javfk9lk41wnz92k6gis6sq99dd1bj1l5"; }; jaxp = fetchurl { url = "${baseurl}/jaxp/archive/${repover}.tar.gz"; - sha256 = "0pd874dkgxkb7frxg4n9py61kkhhck4x33dcynynwb3vl6k6iy79"; + sha256 = "1nl3kmbwqhhymcp25rnmf5mr3dn87lgdxvz9wgng7if6yqxlyakq"; }; openjdk = stdenv.mkDerivation rec { name = "openjdk-7u${update}b${build}"; @@ -100,7 +100,6 @@ let ./paxctl.patch ./read-truststore-from-env.patch ./currency-date-range.patch - ./linux-4.0.patch ]; NIX_NO_SELF_RPATH = true; diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index 1a280b1d542d..48d7dd5dffbf 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -2,6 +2,7 @@ , alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig, zlib , setJavaClassPath , minimal ? false +, enableInfinality ? true # font rendering patch }: let @@ -17,42 +18,42 @@ let else throw "openjdk requires i686-linux or x86_64 linux"; - update = "60"; - build = "24"; + update = "76"; + build = "00"; baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u"; repover = "jdk8u${update}-b${build}"; paxflags = if stdenv.isi686 then "msp" else "m"; jdk8 = fetchurl { url = "${baseurl}/archive/${repover}.tar.gz"; - sha256 = "1gxfyz5kdl3xgfmn6gr65hj66zh5p67y1g0hxdbps1h8gcc6iqwp"; + sha256 = "1bzwrm18vdd531xxin7pzsc5dx2ybkdgdxz6jp2ki19ka6pmk1l7"; }; langtools = fetchurl { url = "${baseurl}/langtools/archive/${repover}.tar.gz"; - sha256 = "0a8kmfcnw92hvhivmpa9g22k1lvcr64zjw7x1gjj1j6zx7r579ck"; + sha256 = "044gyb7hgrahlr78vah9r3wfv6w569ihqzwqplwzr6m0l1s52994"; }; hotspot = fetchurl { url = "${baseurl}/hotspot/archive/${repover}.tar.gz"; - sha256 = "0k68wqwg5fz8i2za9dg2zfx4db5zcbls31vk2abrqrwp31ik0y4y"; + sha256 = "1if70s9wjsvmrdj92ky88ngpmigi9c5gfpkilpydzdibs38f05f8"; }; corba = fetchurl { url = "${baseurl}/corba/archive/${repover}.tar.gz"; - sha256 = "0rc8m5jrwjzrbxnzbhxjm265z23ky6v11g8sgcb6flr0l636fwvn"; + sha256 = "0fl852x25cjzz3lrhjnhj59qbb4m3ywwc2f9vbj6mqdnpzl7cg83"; }; jdk = fetchurl { url = "${baseurl}/jdk/archive/${repover}.tar.gz"; - sha256 = "11c90zz728p30zc6zas9ip67n9sd09i0v6afxs608k9s451057wr"; + sha256 = "11ql3p5fsizrn1fiylfkgrw0lgf6snwyich18hggsmd00bhvv3ah"; }; jaxws = fetchurl { url = "${baseurl}/jaxws/archive/${repover}.tar.gz"; - sha256 = "15pzczqwrr47qv51bsisjylilhljban8938n1436hsjd5k1dhhwn"; + sha256 = "1d2q4bbvlz557caqciwpd5ms9f14bjk8jl5zlfflqnww9b097qy4"; }; jaxp = fetchurl { url = "${baseurl}/jaxp/archive/${repover}.tar.gz"; - sha256 = "0gcc7pb07yl76drcynpz5gjjv3y6s1c0k4kfp9fayha5f624k1fb"; + sha256 = "0nrd4c77ggxkyv2271k30afbjjcp0kybc8gcypmhy8by54w4ap0j"; }; nashorn = fetchurl { url = "${baseurl}/nashorn/archive/${repover}.tar.gz"; - sha256 = "00g849wwqxljqpml6r7rv3pscj0ma0jaamyvxsxlfxbqvwid93ai"; + sha256 = "11idvkzk4nqhhw4xq5pl03g4gwnaiq021xxj2yx54rixr59zl0q6"; }; openjdk8 = stdenv.mkDerivation { name = "openjdk-8u${update}b${build}"; @@ -81,7 +82,10 @@ let ./fix-java-home-jdk8.patch ./read-truststore-from-env-jdk8.patch ./currency-date-range-jdk8.patch - ]; + ] ++ (if enableInfinality then [ + ./004_add-fontconfig.patch + ./005_enable-infinality.patch + ] else []); preConfigure = '' chmod +x configure diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix index 5d294d5c43de..5ac7c417ba2e 100644 --- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix +++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix @@ -182,6 +182,8 @@ let result = stdenv.mkDerivation rec { passthru.home = result; + passthru.architecture = architecture; + meta = with stdenv.lib; { license = licenses.unfree; platforms = [ "i686-linux" "x86_64-linux" ]; # some inherit jre.meta.platforms diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix index 4fc3ea319277..258af23a1bc9 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix @@ -1,9 +1,9 @@ import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "60"; + patchVersion = "65"; downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; - sha256_i686 = "e6a36b458351ed35bd7943739ba93d9a246e08a86433e148ff68b1b40d74c2e5"; - sha256_x86_64 = "ebe51554d2f6c617a4ae8fc9a8742276e65af01bd273e96848b262b3c05424e5"; + sha256_i686 = "1shri8mw648piivyparbpzskiq4i0z6kain9kr7ylav5mv7h66fg"; + sha256_x86_64 = "1rr6g2sb0f1vyf3l9nvj49ah28bsid92z0lj9pfjlb12vjn2mnw8"; jceName = "jce_policy-8.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix new file mode 100644 index 000000000000..5900e08e19f8 --- /dev/null +++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix @@ -0,0 +1,10 @@ +import ./jdk-linux-base.nix { + productVersion = "8"; + patchVersion = "66"; + downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; + sha256_i686 = "18l4r89na4z92djcdgyinjlhl6fmgz4x1sm40lwrsiwzg26nl0i1"; + sha256_x86_64 = "02nwcgplq14vj1vkz99r5x20lg86hscrxb5aaifwcny7l5gsv5by"; + jceName = "jce_policy-8.zip"; + jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; + sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; +} diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix new file mode 100644 index 000000000000..c94ba203c0ff --- /dev/null +++ b/pkgs/development/compilers/ponyc/default.nix @@ -0,0 +1,47 @@ +{stdenv, glibc, fetchFromGitHub, llvm, makeWrapper, openssl, pcre2 }: + +stdenv.mkDerivation { + name = "ponyc-0.2.1"; + + src = fetchFromGitHub { + owner = "CausalityLtd"; + repo = "ponyc"; + rev = "0.2.1"; + sha256 = "1wmvqrj9v2kjqha9fcs10vfnhdxhc3rf67wpn36ldhs1hq0k25jy"; + }; + + buildInputs = [ llvm makeWrapper ]; + + makeFlags = [ "config=release" ]; + doCheck = true; + checkTarget = "test"; + + patchPhase = '' + sed 's|/usr/lib/x86_64-linux-gnu/|${glibc}/lib/|g' -i src/libponyc/codegen/genexe.c + sed 's|/lib/x86_64-linux-gnu/|${stdenv.cc.cc}/lib/|g' -i src/libponyc/codegen/genexe.c + ''; + + preBuild = '' + export LLVM_CONFIG=${llvm}/bin/llvm-config + ''; + + preCheck = '' + export LIBRARY_PATH="$out/lib:${openssl}/lib:${pcre2}/lib" + ''; + + installPhase = '' + make config=release prefix=$out install + mv $out/bin/ponyc $out/bin/ponyc.wrapped + makeWrapper $out/bin/ponyc.wrapped $out/bin/ponyc \ + --prefix LIBRARY_PATH : "$out/lib" \ + --prefix LIBRARY_PATH : "${openssl}/lib" \ + --prefix LIBRARY_PATH : "${pcre2}/lib" + ''; + + meta = { + description = "Pony is an Object-oriented, actor-model, capabilities-secure, high performance programming language"; + homepage = http://www.ponylang.org; + license = stdenv.lib.licenses.bsd2; + maintainers = [ stdenv.lib.maintainers.doublec ]; + }; +} diff --git a/pkgs/development/compilers/rustc/default.nix b/pkgs/development/compilers/rustc/default.nix index 00bfb3222e0d..19e746d7dbf3 100644 --- a/pkgs/development/compilers/rustc/default.nix +++ b/pkgs/development/compilers/rustc/default.nix @@ -1,10 +1,11 @@ { stdenv, callPackage }: callPackage ./generic.nix { - shortVersion = "1.3.0"; + shortVersion = "1.4.0"; isRelease = true; + forceBundledLLVM = false; configureFlags = [ "--release-channel=stable" ]; - srcSha = "14lhk40n9aslz8h8wj7fas5vsgyrb38b2r319q3hlvplgggdksg8"; + srcSha = "13wpi9nb3h6wwck2mxhza85fahzcwgas00w8m25086v34dha4dp1"; /* Rust is bootstrapped from an earlier built version. We need to fetch these earlier versions, which vary per platform. @@ -14,14 +15,14 @@ callPackage ./generic.nix { for the tagged release and not a snapshot in the current HEAD. */ - snapshotHashLinux686 = "3459275cdf3896f678e225843fa56f0d9fdbabe8"; - snapshotHashLinux64 = "e451e3bd6e5fcef71e41ae6f3da9fb1cf0e13a0c"; - snapshotHashDarwin686 = "428944a7984c0988e77909d82ca2ef77d96a1fbd"; - snapshotHashDarwin64 = "b0515bb7d2892b9a58282fc865fee11a885406d6"; - snapshotDate = "2015-07-26"; - snapshotRev = "a5c12f4"; + snapshotHashLinux686 = "e2553bf399cd134a08ef3511a0a6ab0d7a667216"; + snapshotHashLinux64 = "7df8ba9dec63ec77b857066109d4b6250f3d222f"; + snapshotHashDarwin686 = "29750870c82a0347f8b8b735a4e2e0da26f5098d"; + snapshotHashDarwin64 = "c9f2c588238b4c6998190c3abeb33fd6164099a2"; + snapshotDate = "2015-08-11"; + snapshotRev = "1af31d4"; # cc-ar-opts.patch should be removable in 1.4.0+ - patches = [ ./patches/remove-uneeded-git.patch ./patches/cc-ar-opts.patch ] + patches = [ ./patches/remove-uneeded-git.patch ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch; } diff --git a/pkgs/development/compilers/rustc/generic.nix b/pkgs/development/compilers/rustc/generic.nix index ef8c372f2fd6..2b4a7717016d 100644 --- a/pkgs/development/compilers/rustc/generic.nix +++ b/pkgs/development/compilers/rustc/generic.nix @@ -2,6 +2,7 @@ , llvmPackages_37, jemalloc, ncurses, binutils , shortVersion, isRelease +, forceBundledLLVM ? false , srcSha, srcRev ? "" , snapshotHashLinux686, snapshotHashLinux64 , snapshotHashDarwin686, snapshotHashDarwin64 @@ -76,7 +77,7 @@ let version = if isRelease then snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshotHash}.tar.bz2"; in -stdenv.mkDerivation { +with stdenv.lib; stdenv.mkDerivation { inherit name; inherit version; inherit meta; @@ -106,7 +107,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -p "$out" cp -r bin "$out/bin" - '' + stdenv.lib.optionalString stdenv.isLinux '' + '' + optionalString stdenv.isLinux '' patchelf --interpreter "${stdenv.glibc.out}/lib/${stdenv.cc.dynamicLinker}" \ --set-rpath "${stdenv.cc.cc.lib}/lib/:${stdenv.cc.cc.lib}/lib64/" \ "$out/bin/rustc" @@ -115,9 +116,10 @@ stdenv.mkDerivation { configureFlags = configureFlags ++ [ "--enable-local-rust" "--local-rust-root=$snapshot" "--enable-rpath" ] - ++ [ "--llvm-root=${llvmPackages_37.llvm}" ] #"--jemalloc-root=${jemalloc}/lib" ] + # ++ [ "--jemalloc-root=${jemalloc}/lib" ++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils}/bin/ar" ] - ++ stdenv.lib.optional (stdenv.cc.cc ? isClang) "--enable-clang"; + ++ optional (stdenv.cc.cc ? isClang) "--enable-clang" + ++ optional (!forceBundledLLVM) "--llvm-root=${llvmPackages_37.llvm}"; inherit patches; @@ -132,7 +134,7 @@ stdenv.mkDerivation { --replace "\$\$(subst /,//," "\$\$(subst /,/," # Fix dynamic linking against llvm - sed -i 's/, kind = \\"static\\"//g' src/etc/mklldeps.py + ${optionalString (!forceBundledLLVM) ''sed -i 's/, kind = \\"static\\"//g' src/etc/mklldeps.py''} # Fix the configure script to not require curl as we won't use it sed -i configure \ @@ -155,8 +157,9 @@ stdenv.mkDerivation { # Procps is needed for one of the test cases nativeBuildInputs = [ file python2 ] - ++ stdenv.lib.optionals stdenv.isLinux [ procps ]; - buildInputs = [ llvmPackages_37.llvm ncurses ]; + ++ optionals stdenv.isLinux [ procps ]; + buildInputs = [ ncurses ] + ++ optional (!forceBundledLLVM) llvmPackages_37.llvm; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix index 016d09b3cf1a..dc1bda27d975 100644 --- a/pkgs/development/compilers/rustc/head.nix +++ b/pkgs/development/compilers/rustc/head.nix @@ -2,10 +2,11 @@ { stdenv, callPackage }: callPackage ./generic.nix { - shortVersion = "2015-09-23"; + shortVersion = "2015-11-01"; isRelease = false; - srcRev = "b2f379cdc23aec5c5d0d62acfcc5a4a18ebf0e30"; - srcSha = "1z710f5vv9pbis1q96dc6kqvi0j7xgg95r5f5c3czbvndrxjwm03"; + forceBundledLLVM = true; + srcRev = "1a2eaffb6"; + srcSha = "17b8zgz8j5dmz489b4zs2q4igc9x2v4isgqg3i5nzhacghxjqfyy"; /* Rust is bootstrapped from an earlier built version. We need to fetch these earlier versions, which vary per platform. diff --git a/pkgs/development/compilers/rustc/patches/cc-ar-opts.patch b/pkgs/development/compilers/rustc/patches/cc-ar-opts.patch deleted file mode 100644 index e73d54de8f59..000000000000 --- a/pkgs/development/compilers/rustc/patches/cc-ar-opts.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c97759699264c6b1fa0e88420cd3c720df25e594 Mon Sep 17 00:00:00 2001 -From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> -Date: Tue, 11 Aug 2015 01:09:21 +0200 -Subject: [PATCH] rustc_back: add configure options for default linker and ar - -Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> ---- - configure | 4 ++++ - mk/target.mk | 4 ++++ - src/librustc_back/target/mod.rs | 4 ++-- - 3 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 071788c..dc9d7d7 100755 ---- a/configure -+++ b/configure -@@ -607,6 +607,10 @@ valopt aarch64-linux-android-ndk "" "aarch64-linux-android NDK standalone path" - valopt release-channel "dev" "the name of the release channel to build" - valopt musl-root "/usr/local" "MUSL root installation directory" - -+# Used on systems where "cc" and "ar" are unavailable -+valopt default-linker "cc" "the default linker" -+valopt default-ar "ar" "the default ar" -+ - # Many of these are saved below during the "writing configuration" step - # (others are conditionally saved). - opt_nosave manage-submodules 1 "let the build manage the git submodules" -diff --git a/mk/target.mk b/mk/target.mk -index aae66c4..408ab96 100644 ---- a/mk/target.mk -+++ b/mk/target.mk -@@ -13,6 +13,10 @@ - # this exists can be found on issue #2400 - export CFG_COMPILER_HOST_TRIPLE - -+# Used as defaults for the runtime ar and cc tools -+export CFG_DEFAULT_LINKER -+export CFG_DEFAULT_AR -+ - # The standard libraries should be held up to a higher standard than any old - # code, make sure that these common warnings are denied by default. These can - # be overridden during development temporarily. For stage0, we allow warnings -diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs -index d9cfdaa..542791a 100644 ---- a/src/librustc_back/target/mod.rs -+++ b/src/librustc_back/target/mod.rs -@@ -185,8 +185,8 @@ impl Default for TargetOptions { - fn default() -> TargetOptions { - TargetOptions { - data_layout: String::new(), -- linker: "cc".to_string(), -- ar: "ar".to_string(), -+ linker: option_env!("CFG_DEFAULT_LINKER").unwrap_or("cc").to_string(), -+ ar: option_env!("CFG_DEFAULT_AR").unwrap_or("ar").to_string(), - pre_link_args: Vec::new(), - post_link_args: Vec::new(), - cpu: "generic".to_string(), diff --git a/pkgs/development/compilers/sbcl/1.2.0.nix b/pkgs/development/compilers/sbcl/1.2.0.nix index d19edce2c105..975cb7db1bbf 100644 --- a/pkgs/development/compilers/sbcl/1.2.0.nix +++ b/pkgs/development/compilers/sbcl/1.2.0.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { sh make.sh clisp --prefix=$out '' else '' - sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit' + sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit' ''; installPhase = '' diff --git a/pkgs/development/compilers/sbcl/1.2.5.nix b/pkgs/development/compilers/sbcl/1.2.5.nix index 6c0fa874f3eb..68ed58b426f6 100644 --- a/pkgs/development/compilers/sbcl/1.2.5.nix +++ b/pkgs/development/compilers/sbcl/1.2.5.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { sh make.sh clisp --prefix=$out '' else '' - sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit' + sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit' ''; installPhase = '' diff --git a/pkgs/development/compilers/sbcl/bootstrap.nix b/pkgs/development/compilers/sbcl/bootstrap.nix index ddbef4e8b997..43002aa72f57 100644 --- a/pkgs/development/compilers/sbcl/bootstrap.nix +++ b/pkgs/development/compilers/sbcl/bootstrap.nix @@ -40,7 +40,6 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cp -p src/runtime/sbcl $out/bin - install_name_tool -change /usr/lib/libgcc_s.1.dylib ${stdenv.libc}/lib/libgcc_s.10.5.dylib $out/bin/sbcl mkdir -p $out/share/sbcl cp -p src/runtime/sbcl $out/share/sbcl @@ -50,7 +49,7 @@ stdenv.mkDerivation rec { --add-flags "--core $out/share/sbcl/sbcl.core" ''; - postFixup = stdenv.lib.optionalString (!stdenv.isArm) '' + postFixup = stdenv.lib.optionalString (!stdenv.isArm && stdenv.isLinux) '' patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/share/sbcl/sbcl ''; diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 661279db1a90..c464d9856fc3 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sbcl-${version}"; - version = "1.2.15"; + version = "1.3.0"; src = fetchurl { url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; - sha256 = "0l8nrf5qnr8c9hr6bn1kd86mnr2s37b493azh9rrk3v59f56wnnr"; + sha256 = "1cwrmvbx8m7n7wkcm16yz7qwx221giz7jskzkvy42pj919may36n"; }; buildInputs = [ which ]; @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { ''; buildPhase = '' - sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" + sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost} --disable-debugger --no-userinit --no-sysinit" ''; installPhase = '' diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix index e4d4dc1ae10c..7f8580f058b6 100644 --- a/pkgs/development/compilers/smlnj/default.nix +++ b/pkgs/development/compilers/smlnj/default.nix @@ -1,30 +1,31 @@ { stdenv, fetchurl, darwin }: let - version = "110.78"; + version = "110.79"; baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}"; sources = map fetchurl [ - { url = "${baseurl}/config.tgz"; sha256 = "018c6iflpm3im6679via1wshw2sls4jgiqrc30pqkb80kfrh1pg2"; } - { url = "${baseurl}/cm.tgz"; sha256 = "0id37j6lj4b3qczn4949gvc8hys9j3h7nk9kc9fxv4rv1g7i328x"; } - { url = "${baseurl}/compiler.tgz"; sha256 = "1m299lzc8l9mixb2l9scvilz27v16db3igzwca19alsrvldnmpg2"; } - { url = "${baseurl}/runtime.tgz"; sha256 = "1pwbv1bnh8dz4w62cx19c56z4y57krbpr1ziayyycg7lj44pb7sy"; } - { url = "${baseurl}/system.tgz"; sha256 = "1jdilm3wcjxcnnbd3g8rcd1f5nsb5ffzfjqcsdcpqd9mnx81fca9"; } - { url = "${baseurl}/MLRISC.tgz"; sha256 = "0ibqwkkqd4c62p3q1jbgqyh7k78sms01igl7ibk6jyrhy9n7vw0v"; } - { url = "${baseurl}/smlnj-lib.tgz"; sha256 = "1lxnwp8q3xw0wqqrv3hlk3fjancrfz862fy9j504s38ljhdjc3jr"; } - { url = "${baseurl}/ckit.tgz"; sha256 = "1nqw40vjxy40ckif5d480g5mf7b91lmwcs7m689gs9n2dj3gbwnp"; } - { url = "${baseurl}/nlffi.tgz"; sha256 = "1cks1xifb32wya2flw7h7cvcdnkxv7ngk8y7xv29888r7xbdr3h0"; } - { url = "${baseurl}/cml.tgz"; sha256 = "0qfaj6vsagsnh9di94cxvn77f91zfwsnn95rz8ig5dz5zmq77ghz"; } - { url = "${baseurl}/eXene.tgz"; sha256 = "1nlkb2y48m702qplxkqphvb9nbj433300j7yrdbsj39j6vvp8pmw"; } - { url = "${baseurl}/ml-lpt.tgz"; sha256 = "02b2gdl1qdwilhls3ssa04wcyg3aswndn1bh85008rqj85ppddiq"; } - { url = "${baseurl}/ml-lex.tgz"; sha256 = "0l1sddd5wfpqgmyw1g3iwv2p27fbkpjkm10db2qd2pid9r95dxz5"; } - { url = "${baseurl}/ml-yacc.tgz"; sha256 = "0ln790ydb43sxbjjymbd6jnnzfygrc0lr50k81p5cazzzy1yfim6"; } - { url = "${baseurl}/ml-burg.tgz"; sha256 = "03anyy2gdkgfprmahx489hxg9zjh9lydq3gkzrlyw51yzvgp3f92"; } - { url = "${baseurl}/pgraph.tgz"; sha256 = "19hbcav11a6fv0xmzgin0v5dl4m08msk1vsmw26kpqiqkvkh7j39"; } - { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "0awssg3vgj3sp85kdfjcp28zaq815zr55k9z6v79zs9gll02ghlk"; } - { url = "${baseurl}/heap2asm.tgz"; sha256 = "1vkmxbm6x37l1wqvilvvw662pdvg6mkbvcfvya8ggsihz4c1z0jg"; } - { url = "${baseurl}/smlnj-c.tgz"; sha256 = "08b8acd5vwhz1gg7960rha00qhwk7l7p01vvgwzmdiqlcd3fcj1d"; } - { url = "${baseurl}/doc.tgz"; sha256 = "1pbsvc8nmnjwq239wrylb209drr4xv9a66r0fjm126b6nw1slrbq"; } - { url = "${baseurl}/boot.x86-unix.tgz"; sha256 = "19wd273k4ldnxndq6cqr7xv387ynbviz6jlgxmlld7nxf549kn5a"; } + { url = "${baseurl}/config.tgz"; sha256 = "1siahy5sxz20bdy88s7zjj6gn55np1h54dalmg0nwzqq1rc048xb"; } + { url = "${baseurl}/cm.tgz"; sha256 = "174g71hvk1wfdmrg1mbx3p5j04ywnbbjapnnr9sgjd99pqqqsmdz"; } + { url = "${baseurl}/compiler.tgz"; sha256 = "001wi97ghj3mym4bk73gzzzrh7584hd79jn08cnq1wssdcfpn4mw"; } + { url = "${baseurl}/runtime.tgz"; sha256 = "0lavdzg25nbdzdyyf6wm304k0gsbb5bng2nlcx8gcfl743vl13r0"; } + { url = "${baseurl}/system.tgz"; sha256 = "00j34m5n8m30p51kajd0sxamy7gpwxaxrlgw5agxh0wi83vqfaki"; } + { url = "${baseurl}/MLRISC.tgz"; sha256 = "19q3gp7yfby4n8z6jn9m9q8g0a9kvb13arj8f2j0x9jnh3y2is78"; } + { url = "${baseurl}/smlnj-lib.tgz"; sha256 = "0frkc23zh9h1c2lvkidh92lsp56liyb3hyv17503nchmkxrlsi09"; } + { url = "${baseurl}/old-basis.tgz"; sha256 = "1ka7w4nvkmaf86dkdzgbwiw8kay6gxhcyx4q17m33wdzsjbq56lh"; } + { url = "${baseurl}/ckit.tgz"; sha256 = "1z8xf5pqwayqd8j6xhfhqs4axkb4dx7vdqi2a7gq3zbx2fd3s7pw"; } + { url = "${baseurl}/nlffi.tgz"; sha256 = "1544m7ildyd0d60wfy2hl700jnslpxqb7brgh8p0bmkvhhvvc96v"; } + { url = "${baseurl}/cml.tgz"; sha256 = "11blq65zlsbh6iwq502jww1z4iyk9pf2iv3d437cgnpb3sn9mx72"; } + { url = "${baseurl}/eXene.tgz"; sha256 = "14yl8a5xwms1m9bvfwfiz6rhg49225l52lqqq9sbxbf57615n9yg"; } + { url = "${baseurl}/ml-lpt.tgz"; sha256 = "118s7v2f73ym91ymvnmswjxm2pw5n4q1d4hvbs1cmm43dv28pw7m"; } + { url = "${baseurl}/ml-lex.tgz"; sha256 = "0lf5ir12v8j6n11mblrl00jgm583ak077vgbabc1dfmz47rd566b"; } + { url = "${baseurl}/ml-yacc.tgz"; sha256 = "0dmifbbq1wxkxf479jv61nsy79sr78ad9fq6561rvgi4h12lzh7k"; } + { url = "${baseurl}/ml-burg.tgz"; sha256 = "1b5z18azik1kpaafi1vjgaf181yv32h88zm3z5fqxs96pwb86h1d"; } + { url = "${baseurl}/pgraph.tgz"; sha256 = "15g06hl7zn98qas3b6r6lrl75g9d1galqxdyai7d5z9q5lq71j2v"; } + { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "0jwilcv2ycfpcy3cgs8ndaj16yqm8m2q63sipcigfycacpyqfsiw"; } + { url = "${baseurl}/heap2asm.tgz"; sha256 = "0wylsw1dkls9l86j226ilfb50mfk4h4zz4r9zdj104a1mqvvbgfk"; } + { url = "${baseurl}/smlnj-c.tgz"; sha256 = "1xr89r1nhzg53hk0v0fk1livphwpgmzh1dgjqxl4w8dx9qhk9yf0"; } + { url = "${baseurl}/doc.tgz"; sha256 = "1fz4l3019n1rkrww98w59cdhlrz9jg635hmdq59xryc0j78y4ga1"; } + { url = "${baseurl}/boot.x86-unix.tgz"; sha256 = "0nka4dhklhilrsw4byr5vixiap28zp67ai0vjkwhqh03amkcr8zq"; } ]; in stdenv.mkDerivation { name = "smlnj-${version}"; diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix index 017dcfb3e126..1ed31422d531 100644 --- a/pkgs/development/compilers/uhc/default.nix +++ b/pkgs/development/compilers/uhc/default.nix @@ -1,18 +1,18 @@ { stdenv, coreutils, fetchgit, m4, libtool, clang, ghcWithPackages }: -let wrappedGhc = ghcWithPackages (hpkgs: with hpkgs; [shuffle hashable mtl network uhc-util uulib] ); +let wrappedGhc = ghcWithPackages (hpkgs: with hpkgs; [fgl vector syb uulib network binary hashable uhc-util mtl transformers directory containers array process filepath shuffle uuagc] ); in stdenv.mkDerivation rec { # Important: # The commits "Fixate/tag v..." are the released versions. # Ignore the "bumped version to ...." commits, they do not # correspond to releases. - version = "1.1.9.1.20150611"; + version = "1.1.9.2"; name = "uhc-${version}"; src = fetchgit { url = "https://github.com/UU-ComputerScience/uhc.git"; - rev = "b80098e07d12900f098ea964b1d2b3f38e5c9900"; - sha256 = "14qg1fd9pgbczcmn5ggkd9674qadx1izmz8363ps7c207dg94f9x"; + rev = "292d259113b98c32154a5be336875751caa5edbc"; + sha256 = "1f462xq9ilkp9mnxm8hxhh1cdwps5d0hxysyibxryk32l7hh53cz"; }; postUnpack = "sourceRoot=\${sourceRoot}/EHC"; @@ -50,6 +50,6 @@ in stdenv.mkDerivation rec { # On Darwin, the GNU libtool is used, which does not # support the -static flag and thus breaks the build. platforms = ["x86_64-linux"]; - broken = true; # https://github.com/UU-ComputerScience/uhc/issues/60 + }; } diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index e34d58efd010..c53cddc0ad1a 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "urweb-${version}"; - version = "20150819"; + version = "20151018"; src = fetchurl { url = "http://www.impredicative.com/ur/${name}.tgz"; - sha256 = "0gpdlq3aazx121k3ia94qfa4dyv04q7478x2p6hvcjamn18vk56n"; + sha256 = "08p52p5m1xl2gzdchnayky44mm2b0x8hv0f00iviyyv1gnx3lpy0"; }; buildInputs = [ openssl mlton mysql postgresql sqlite ]; |