diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2016-03-08 09:57:58 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2016-03-08 09:58:19 +0100 |
commit | 09af15654f0c8091f1b9e0bbb2e523cdee194442 (patch) | |
tree | e648edef1ce4c64c533f2593aa22b8015cf0e506 /pkgs/development/compilers | |
parent | f306e67e15bdbe9a8358c9f81319fc4fcbadc2eb (diff) | |
parent | 0ee75214f336474e127c2e3546c0406a0c4d5fa7 (diff) | |
download | nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.gz nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.bz2 nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.lz nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.xz nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.zst nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.zip |
Merge master into closure-size
The kde-5 stuff still didn't merge well. I hand-fixed what I saw, but there may be more problems.
Diffstat (limited to 'pkgs/development/compilers')
55 files changed, 2013 insertions, 624 deletions
diff --git a/pkgs/development/compilers/as31/default.nix b/pkgs/development/compilers/as31/default.nix index 24cba18254f2..a7f37976ec40 100644 --- a/pkgs/development/compilers/as31/default.nix +++ b/pkgs/development/compilers/as31/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, yacc }: let @@ -11,10 +11,17 @@ in stdenv.mkDerivation { url = "http://wiki.erazor-zone.de/_media/wiki:projects:linux:as31:as31-${version}.tar.gz"; sha256 = "0mbk6z7z03xb0r0ccyzlgkjdjmdzknck4yxxmgr9k7v8f5c348fd"; }; + + buildInputs = [ yacc ]; + preConfigure = '' chmod +x ./configure ''; + postConfigure = '' + rm as31/parser.c + ''; + meta = with stdenv.lib; { homepage = "http://wiki.erazor-zone.de/wiki:projects:linux:as31"; description = "An 8031/8051 assembler by Ken Stauffer and Theo Deraadt which produces a variety of object code output formats"; diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix index 1c684c21bf40..949008d990f8 100644 --- a/pkgs/development/compilers/closure/default.nix +++ b/pkgs/development/compilers/closure/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "closure-compiler-${version}"; - version = "20151015"; + version = "20160208"; src = fetchurl { url = "http://dl.google.com/closure-compiler/compiler-${version}.tar.gz"; - sha256 = "0idb0qrzca8j2nj0zxfpnsspmdkmda864rr5m05xxgcvn7150x0h"; + sha256 = "19v9z8lfxfmhc4cl9fys7vnaslqiznjy1jpk5mcv468p7vysg46p"; }; phases = [ "installPhase" ]; diff --git a/pkgs/development/compilers/colm/default.nix b/pkgs/development/compilers/colm/default.nix index ebfee6c4188e..3a3670279c62 100644 --- a/pkgs/development/compilers/colm/default.nix +++ b/pkgs/development/compilers/colm/default.nix @@ -2,17 +2,16 @@ stdenv.mkDerivation rec { name = "colm-${version}"; - version = "0.12.0"; + version = "0.13.0.3"; src = fetchurl { url = "http://www.colm.net/files/colm/${name}.tar.gz"; - sha256 = "0kbfipxv3nvggd1a2nahk3jg22iifp2l7lkm55i5r7qkpms5sm3v"; + sha256 = "0dadfsnkbxcrf5kihvncbprb6w64jz2myylfmj952gdmcsim4zj2"; }; buildInputs = [ makeWrapper ]; doCheck = true; - checkPhase = ''sh ./test/runtests.sh''; postInstall = '' wrapProgram $out/bin/colm \ diff --git a/pkgs/development/compilers/coreclr/default.nix b/pkgs/development/compilers/coreclr/default.nix index 629d981893d9..cf2833c5c6cb 100644 --- a/pkgs/development/compilers/coreclr/default.nix +++ b/pkgs/development/compilers/coreclr/default.nix @@ -59,7 +59,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://dotnet.github.io/core/; - description = ".NET is a general purpose development platform."; + description = ".NET is a general purpose development platform"; platforms = [ "x86_64-linux" ]; maintainers = with stdenv.lib.maintainers; [ obadz ]; license = stdenv.lib.licenses.mit; diff --git a/pkgs/development/compilers/cudatoolkit/5.5.nix b/pkgs/development/compilers/cudatoolkit/5.5.nix deleted file mode 100644 index c3eb1b6efcf6..000000000000 --- a/pkgs/development/compilers/cudatoolkit/5.5.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ callPackage, ... } @ args: - -callPackage ./generic.nix (args // rec { - version = "5.5.22"; - sha256 = "b997e1dbe95704e0e806e0cedc5fd370a385351fef565c7bae0917baf3a29aa4"; -}) diff --git a/pkgs/development/compilers/cudatoolkit/6.0.nix b/pkgs/development/compilers/cudatoolkit/6.0.nix deleted file mode 100644 index 200311703a0a..000000000000 --- a/pkgs/development/compilers/cudatoolkit/6.0.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ callPackage, ... } @ args: - -callPackage ./generic.nix (args // rec { - version = "6.0.37"; - sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40"; -}) diff --git a/pkgs/development/compilers/cudatoolkit/6.5.nix b/pkgs/development/compilers/cudatoolkit/6.5.nix deleted file mode 100644 index 3d9a3a503494..000000000000 --- a/pkgs/development/compilers/cudatoolkit/6.5.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ callPackage, ... } @ args: - -callPackage ./generic.nix (args // rec { - version = "6.5.19"; - sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj"; -}) diff --git a/pkgs/development/compilers/cudatoolkit/7.0.nix b/pkgs/development/compilers/cudatoolkit/7.0.nix deleted file mode 100644 index 152dd6e92743..000000000000 --- a/pkgs/development/compilers/cudatoolkit/7.0.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ callPackage, ... } @ args: - -callPackage ./generic.nix (args // rec { - version = "7.0.28"; - sha256 = "1km5hpiimx11jcazg0h3mjzk220klwahs2vfqhjavpds5ff2wafi"; - url = "http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run"; -}) diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix new file mode 100644 index 000000000000..0ab3f52f2bff --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/default.nix @@ -0,0 +1,109 @@ +{ lib, stdenv, fetchurl, patchelf, perl, ncurses, expat, python26, python27, zlib +, xorg, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib, glibc +}: + +let + + common = + { version, url, sha256 + , python ? python27 + }: + + stdenv.mkDerivation rec { + name = "cudatoolkit-${version}"; + + dontPatchELF = true; + dontStrip = true; + + src = + if stdenv.system == "x86_64-linux" then + fetchurl { + inherit url sha256; + } + else throw "cudatoolkit does not support platform ${stdenv.system}"; + + outputs = [ "out" "sdk" ]; + + buildInputs = [ perl ]; + + runtimeDependencies = [ + ncurses expat python zlib glibc + xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext + gtk2 glib fontconfig freetype unixODBC alsaLib + ]; + + rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc}/lib64"; + + unpackPhase = '' + sh $src --keep --noexec + cd pkg/run_files + sh cuda-linux64-rel-${version}-*.run --keep --noexec + sh cuda-samples-linux-${version}-*.run --keep --noexec + cd pkg + ''; + + buildPhase = '' + find . -type f -executable -exec patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + '{}' \; || true + find . -type f -exec patchelf \ + --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \ + --force-rpath \ + '{}' \; || true + ''; + + installPhase = '' + mkdir $out $sdk + perl ./install-linux.pl --prefix="$out" + rm $out/tools/CUDA_Occupancy_Calculator.xls + perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out" + + # let's remove the 32-bit libraries, they confuse the lib64->lib mover + rm -rf $out/lib + + # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them) + if [ -d "$out"/cuda-samples ]; then + mv "$out"/cuda-samples "$out"/samples + fi + ''; + + meta = { + license = lib.licenses.unfree; + }; + }; + +in { + + cudatoolkit5 = common { + version = "5.5.22"; + url = http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run; + sha256 = "b997e1dbe95704e0e806e0cedc5fd370a385351fef565c7bae0917baf3a29aa4"; + python = python26; + }; + + cudatoolkit6 = common { + version = "6.0.37"; + url = http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run; + sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40"; + }; + + cudatoolkit65 = common { + version = "6.5.19"; + url = http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.19_linux_64.run; + sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj"; + }; + + cudatoolkit7 = common { + version = "7.0.28"; + url = http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run; + sha256 = "1km5hpiimx11jcazg0h3mjzk220klwahs2vfqhjavpds5ff2wafi"; + }; + + cudatoolkit75 = common { + version = "7.5.18"; + url = http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run; + sha256 = "1v2ylzp34ijyhcxyh5p6i0cwawwbbdhni2l5l4qm21s1cx9ish88"; + }; + +} + diff --git a/pkgs/development/compilers/cudatoolkit/generic.nix b/pkgs/development/compilers/cudatoolkit/generic.nix deleted file mode 100644 index a02c917ab24a..000000000000 --- a/pkgs/development/compilers/cudatoolkit/generic.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ lib, stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib -, xorg, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib, glibc -# generic inputs -, version, sha256, url ? null, ... -} : - -let - # eg, 5.5.22 => 5_5 - mkShort = let str = stdenv.lib.strings; - take = stdenv.lib.lists.take; - in v: str.concatStringsSep "_" (take 2 (str.splitString "." v)); - shortVer = mkShort version; -in stdenv.mkDerivation rec { - name = "cudatoolkit-${version}"; - - dontPatchELF = true; - dontStrip = true; - - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = if url != null then url else "http://developer.download.nvidia.com/compute/cuda/${shortVer}/rel/installers/cuda_${version}_linux_64.run"; - sha256 = sha256; - } - else throw "cudatoolkit does not support platform ${stdenv.system}"; - - outputs = [ "out" "sdk" ]; - - buildInputs = [ perl ]; - - runtimeDependencies = [ - ncurses expat python zlib glibc - xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext - gtk2 glib fontconfig freetype unixODBC alsaLib - ]; - - rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc}/lib64"; - - unpackPhase = '' - sh $src --keep --noexec - cd pkg/run_files - sh cuda-linux64-rel-${version}-*.run --keep --noexec - sh cuda-samples-linux-${version}-*.run --keep --noexec - cd pkg - ''; - - buildPhase = '' - find . -type f -executable -exec patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - '{}' \; || true - find . -type f -exec patchelf \ - --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \ - --force-rpath \ - '{}' \; || true - ''; - - installPhase = '' - mkdir $out $sdk - perl ./install-linux.pl --prefix="$out" - rm $out/tools/CUDA_Occupancy_Calculator.xls - perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out" - - # let's remove the 32-bit libraries, they confuse the lib64->lib mover - rm -rf $out/lib - - # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them) - if [ -d "$out"/cuda-samples ]; then - mv "$out"/cuda-samples "$out"/samples - fi - ''; - - meta = { - license = lib.licenses.unfree; - }; -} diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix index f863565ab072..a04ec454cae3 100644 --- a/pkgs/development/compilers/ecl/default.nix +++ b/pkgs/development/compilers/ecl/default.nix @@ -7,11 +7,11 @@ let s = # Generated upstream information rec { baseName="ecl"; - version="16.0.0"; + version="16.1.2"; name="${baseName}-${version}"; - hash="0czh78z9i5b7jc241mq1h1gdscvdw5fbhfb0g9sn4rchwk1x8gil"; - url="https://common-lisp.net/project/ecl/files/ecl-16.0.0.tgz"; - sha256="0czh78z9i5b7jc241mq1h1gdscvdw5fbhfb0g9sn4rchwk1x8gil"; + hash="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d"; + url="https://common-lisp.net/project/ecl/files/release/16.1.2/ecl-16.1.2.tgz"; + sha256="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d"; }; buildInputs = [ libtool autoconf automake diff --git a/pkgs/development/compilers/elm/packages/elm-compiler.nix b/pkgs/development/compilers/elm/packages/elm-compiler.nix index 2c390ee406f3..38913e501b05 100644 --- a/pkgs/development/compilers/elm/packages/elm-compiler.nix +++ b/pkgs/development/compilers/elm/packages/elm-compiler.nix @@ -10,8 +10,8 @@ mkDerivation { version = "0.16"; src = fetchgit { url = "https://github.com/elm-lang/elm-compiler"; - sha256 = "696413b69fa5e66f878ed189094be5f74dfaced42121c82ac88bbab1c2bb9861"; - rev = "cb1bad3b6ebaa02d5af47e9b98eab7d475a3a48d"; + sha256 = "b3bcdca469716f3a4195469549a9e9bc53a6030aff132ec620b9c93958a5ffe6"; + rev = "df86c1c9b3cf06de3ccb78f26b4d2fac0129ce5a"; }; isLibrary = true; isExecutable = true; @@ -33,6 +33,6 @@ mkDerivation { ]; jailbreak = true; homepage = "http://elm-lang.org"; - description = "Values to help with elm-package, elm-make, and elm-lang.org."; + description = "Values to help with elm-package, elm-make, and elm-lang.org"; license = stdenv.lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/elm-make.nix b/pkgs/development/compilers/elm/packages/elm-make.nix index 953039ec0a83..923caf8e4c86 100644 --- a/pkgs/development/compilers/elm/packages/elm-make.nix +++ b/pkgs/development/compilers/elm/packages/elm-make.nix @@ -8,8 +8,8 @@ mkDerivation { version = "0.16"; src = fetchgit { url = "https://github.com/elm-lang/elm-make"; - sha256 = "bae1206c8066fb4e191345a3da79b89a5ec488929370b210203c8b4dcb35cebc"; - rev = "e3bfc3e3d04c9b47e18fac289c796caec88d4fef"; + sha256 = "fc0a6ed08b236dfab43e9af73f8e83a3b88a155695a9671a2b291dc596a75116"; + rev = "54e0b33fea0cd72400ac6a3dec7643bf1b900741"; }; isLibrary = false; isExecutable = true; diff --git a/pkgs/development/compilers/elm/packages/elm-reactor.nix b/pkgs/development/compilers/elm/packages/elm-reactor.nix index 7715523a88c0..90fdb68480ca 100644 --- a/pkgs/development/compilers/elm/packages/elm-reactor.nix +++ b/pkgs/development/compilers/elm/packages/elm-reactor.nix @@ -8,8 +8,8 @@ mkDerivation { version = "0.16"; src = fetchgit { url = "https://github.com/elm-lang/elm-reactor"; - sha256 = "dbf881808ff00772d464675f1dd88a40273569ab0e9298805133a3b8f3ed4f26"; - rev = "ff4ad13ea6b55c63b2d2099b738fd1d5ec2d29b4"; + sha256 = "55605b8443dad20c78e297ce35a603cb107b0c1e57bf1c4710faaebc60396de0"; + rev = "b03166296d11e240fa04cdb748e1f3c4af7afc83"; }; isLibrary = false; isExecutable = true; diff --git a/pkgs/development/compilers/elm/update-elm.rb b/pkgs/development/compilers/elm/update-elm.rb index 4a8001059c98..363655415a95 100755 --- a/pkgs/development/compilers/elm/update-elm.rb +++ b/pkgs/development/compilers/elm/update-elm.rb @@ -14,6 +14,7 @@ for pkg, ver in $elm_packages end File.open("release.nix", 'w') do |file| + file.puts "{ callPackage }:" file.puts "{" file.puts " version = \"#{$elm_version}\";" file.puts " packages = {" diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix index c579ba5612a2..0db5f03a1ab9 100644 --- a/pkgs/development/compilers/fpc/lazarus.nix +++ b/pkgs/development/compilers/fpc/lazarus.nix @@ -8,10 +8,10 @@ stdenv, fetchurl let s = rec { - version = "1.4.4"; - versionSuffix = "-0"; + version = "1.6"; + versionSuffix = ".0-0"; url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}${versionSuffix}.tar.gz"; - sha256 = "12w3xwqif96a65b0ygi4riqrp0122wsp0ykb1j7k8hjfyk91x91a"; + sha256 = "1a1w9yibi0rsr51bl7csnq6mr59x0934850kiabs80nr3sz05knb"; name = "lazarus-${version}"; }; buildInputs = [ @@ -33,7 +33,7 @@ stdenv.mkDerivation { "bigide" ]; preBuild = '' - export makeFlags="$makeFlags LAZARUS_INSTALL_DIR=$out/lazarus/ INSTALL_PREFIX=$out/" + export makeFlags="$makeFlags LAZARUS_INSTALL_DIR=$out/share/lazarus/ INSTALL_PREFIX=$out/" export NIX_LDFLAGS="$NIX_LDFLAGS -L${stdenv.cc.cc}/lib -lXi -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lc -lXext -lpango-1.0 -latk-1.0 -lgdk_pixbuf-2.0 -lcairo -lgcc_s" export LCL_PLATFORM=gtk2 mkdir -p $out/share "$out/lazarus" diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index b163b8fc9e92..d478196af518 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -71,8 +71,10 @@ let version = "4.9.3"; # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # target libraries and tools. ++ optional langAda ../gnat-cflags.patch - ++ optional langFortran ../gfortran-driving.patch; - + ++ optional langFortran ../gfortran-driving.patch + # The NXConstStr.patch can be removed at 4.9.4 + ++ optional stdenv.isDarwin ../gfortran-darwin-NXConstStr.patch; + javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at # `configure' time. diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index 8d33f88de171..3190c5f5739f 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -25,7 +25,7 @@ if test "$noSysDirs" = "1"; then # Figure out what extra flags to pass to the gcc compilers # being generated to make sure that they use our glibc. extraFlags="$(cat $NIX_CC/nix-support/libc-cflags)" - extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before)" + extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before || true)" # Use *real* header files, otherwise a limits.h is generated # that does not include Glibc's limits.h (notably missing diff --git a/pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch b/pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch new file mode 100644 index 000000000000..a7e158ca364b --- /dev/null +++ b/pkgs/development/compilers/gcc/gfortran-darwin-NXConstStr.patch @@ -0,0 +1,27 @@ +From 82f81877458ea372176eabb5de36329431dce99b Mon Sep 17 00:00:00 2001 +From: Iain Sandoe <iain@codesourcery.com> +Date: Sat, 21 Dec 2013 00:30:18 +0000 +Subject: [PATCH] don't try to mark local symbols as no-dead-strip + +--- + gcc/config/darwin.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c +index 40804b8..0080299 100644 +--- a/gcc/config/darwin.c ++++ b/gcc/config/darwin.c +@@ -1259,6 +1259,11 @@ darwin_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED) + void + darwin_mark_decl_preserved (const char *name) + { ++ /* Actually we shouldn't mark any local symbol this way, but for now ++ this only happens with ObjC meta-data. */ ++ if (darwin_label_is_anonymous_local_objc_name (name)) ++ return; ++ + fprintf (asm_out_file, "\t.no_dead_strip "); + assemble_name (asm_out_file, name); + fputc ('\n', asm_out_file); +-- +2.2.1 diff --git a/pkgs/development/compilers/gcc/gfortran-darwin.nix b/pkgs/development/compilers/gcc/gfortran-darwin.nix index ee405c6fb655..66f273482cfb 100644 --- a/pkgs/development/compilers/gcc/gfortran-darwin.nix +++ b/pkgs/development/compilers/gcc/gfortran-darwin.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { makeFlags = ["CC=clang"]; passthru.cc = stdenv.cc.cc; meta = with stdenv.lib; { - description = "GNU Fortran compiler, part of the GNU Compiler Collection."; + description = "GNU Fortran compiler, part of the GNU Compiler Collection"; homepage = "https://gcc.gnu.org/fortran/"; license = licenses.gpl3Plus; platforms = platforms.darwin; diff --git a/pkgs/development/compilers/ghc/7.10.2.nix b/pkgs/development/compilers/ghc/7.10.2.nix index 7a1f7ec8c6bf..935834474542 100644 --- a/pkgs/development/compilers/ghc/7.10.2.nix +++ b/pkgs/development/compilers/ghc/7.10.2.nix @@ -1,8 +1,9 @@ -{ stdenv, fetchurl, fetchpatch, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils +{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils , libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour }: let + inherit (bootPkgs) ghc; buildMK = '' libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" @@ -60,6 +61,10 @@ stdenv.mkDerivation rec { done ''; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix index 68ac1a9d99e4..f3be40e145dd 100644 --- a/pkgs/development/compilers/ghc/7.10.3.nix +++ b/pkgs/development/compilers/ghc/7.10.3.nix @@ -1,8 +1,9 @@ -{ stdenv, fetchurl, fetchpatch, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils +{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils , libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour }: let + inherit (bootPkgs) ghc; docFixes = fetchurl { url = "https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3a.patch"; @@ -61,6 +62,10 @@ stdenv.mkDerivation rec { done ''; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/8.0.1.nix b/pkgs/development/compilers/ghc/8.0.1.nix index ec397d9cc524..3a451204eead 100644 --- a/pkgs/development/compilers/ghc/8.0.1.nix +++ b/pkgs/development/compilers/ghc/8.0.1.nix @@ -1,7 +1,11 @@ -{ stdenv, fetchurl, fetchpatch, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils +{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils , hscolour }: +let + inherit (bootPkgs) ghc; + +in stdenv.mkDerivation rec { version = "8.0.0.20160204"; name = "ghc-${version}"; @@ -51,6 +55,10 @@ stdenv.mkDerivation rec { done ''; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index 8b6c371537bc..ffb6512000ce 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -1,8 +1,11 @@ -{ stdenv, fetchgit, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils +{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils , autoconf, automake, happy, alex }: -stdenv.mkDerivation rec { +let + inherit (bootPkgs) ghc; + +in stdenv.mkDerivation rec { version = "7.11.20151216"; name = "ghc-${version}"; rev = "28638dfe79e915f33d75a1b22c5adce9e2b62b97"; @@ -62,6 +65,10 @@ stdenv.mkDerivation rec { done ''; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/nokinds.nix b/pkgs/development/compilers/ghc/nokinds.nix index cad827060adf..27e7346714e6 100644 --- a/pkgs/development/compilers/ghc/nokinds.nix +++ b/pkgs/development/compilers/ghc/nokinds.nix @@ -1,6 +1,7 @@ -{ stdenv, fetchgit, ghc, perl, gmp, ncurses, libiconv, autoconf, automake, happy, alex }: +{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, autoconf, automake, happy, alex }: let + inherit (bootPkgs) ghc; buildMK = '' libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" @@ -66,6 +67,10 @@ stdenv.mkDerivation rec { # that in turn causes GHCi to abort stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + passthru = { + inherit bootPkgs; + }; + meta = { homepage = "http://haskell.org/ghc"; description = "The dependently-typed 'nokinds' branch of the Glasgow Haskell Compiler by Richard Eisenberg"; diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix index 91570752380e..e18c3213a3c0 100644 --- a/pkgs/development/compilers/ghcjs/default.nix +++ b/pkgs/development/compilers/ghcjs/default.nix @@ -20,9 +20,10 @@ , ghcjs-prim , regex-posix -, ghc, gmp +, bootPkgs, gmp , jailbreak-cabal +, runCommand , nodejs, stdenv, filepath, HTTP, HUnit, mtl, network, QuickCheck, random, stm , time , zlib, aeson, attoparsec, bzlib, hashable @@ -37,18 +38,30 @@ , coreutils , libiconv -, ghcjsBoot ? import ./ghcjs-boot.nix { inherit fetchgit; } +, ghcjsBootSrc ? fetchgit { + url = git://github.com/ghcjs/ghcjs-boot.git; + rev = "97dea5c4145bf80a1e7cffeb1ecd4d0ecacd5a2f"; + sha256 = "1cgjzm595l2dx6fibzbkyv23bp1857qia0hb9d8aghf006al558j"; + fetchSubmodules = true; + } +, ghcjsBoot ? import ./ghcjs-boot.nix { + inherit runCommand; + src = ghcjsBootSrc; + } , shims ? import ./shims.nix { inherit fetchFromGitHub; } }: -let version = "0.2.0"; in -mkDerivation (rec { +let + inherit (bootPkgs) ghc; + version = "0.2.0"; + +in mkDerivation (rec { pname = "ghcjs"; inherit version; src = fetchFromGitHub { owner = "ghcjs"; repo = "ghcjs"; - rev = "561365ba1667053b5dc5846e2a8edb33eaa3f6dd"; - sha256 = "1vfa7j0ql3sng29m944iznjw9hcmyl57nfkgxa33dvi2ival8dl2"; + rev = "13a99c6da40e3700e070e430d4c0f2ea96217b24"; + sha256 = "01yg6babmhn2bfbmgkddisfj9ai7fc4r08s6acd49s9amcw7g5ld"; }; isLibrary = true; isExecutable = true; @@ -100,18 +113,29 @@ mkDerivation (rec { sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch done ''; + # We build with --quick so we can build stage 2 packages separately. + # This is necessary due to: https://github.com/haskell/cabal/commit/af19fb2c2d231d8deff1cb24164a2bf7efb8905a + # Cabal otherwise fails to build: http://hydra.nixos.org/build/31824079/nixlog/1/raw postInstall = '' PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp.out}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \ env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \ --dev \ + --quick \ --with-cabal ${cabal-install}/bin/cabal \ --with-gmp-includes ${gmp.dev}/include \ --with-gmp-libraries ${gmp.out}/lib ''; - passthru = { + passthru = let + ghcjsNodePkgs = pkgs.nodePackages.override { + generated = ./node-packages-generated.nix; + self = ghcjsNodePkgs; + }; + in { + inherit bootPkgs; + isCross = true; isGhcjs = true; - nativeGhc = ghc; - inherit nodejs; + inherit nodejs ghcjsBoot; + inherit (ghcjsNodePkgs) "socket.io"; }; homepage = "https://github.com/ghcjs/ghcjs"; diff --git a/pkgs/development/compilers/ghcjs/ghcjs-boot.nix b/pkgs/development/compilers/ghcjs/ghcjs-boot.nix index cbf21cb8f5bc..c00e13a92404 100644 --- a/pkgs/development/compilers/ghcjs/ghcjs-boot.nix +++ b/pkgs/development/compilers/ghcjs/ghcjs-boot.nix @@ -1,7 +1,25 @@ -{ fetchgit }: -fetchgit { - url = git://github.com/ghcjs/ghcjs-boot.git; - rev = "97dea5c4145bf80a1e7cffeb1ecd4d0ecacd5a2f"; - sha256 = "1cgjzm595l2dx6fibzbkyv23bp1857qia0hb9d8aghf006al558j"; - fetchSubmodules = true; -} +{ runCommand, src }: + +# we remove the patches so ghcjs-boot doesn't try to apply them again. +runCommand "${src.name}-patched" {} '' + cp -r ${src} $out + chmod -R +w $out + + # Make the patches be relative their corresponding package's directory. + # See: https://github.com/ghcjs/ghcjs-boot/pull/12 + for patch in $out/patches/*.patch; do + echo ">> fixing patch: $patch" + sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch + done + + for package in $(cd $out/boot; echo *); do + patch=$out/patches/$package.patch + if [[ -e $patch ]]; then + echo ">> patching package: $package" + pushd $out/boot/$package + patch -p1 < $patch + rm $patch + popd + fi + done +'' diff --git a/pkgs/development/compilers/ghcjs/node-packages-generated.nix b/pkgs/development/compilers/ghcjs/node-packages-generated.nix new file mode 100644 index 000000000000..a3c882ff76c8 --- /dev/null +++ b/pkgs/development/compilers/ghcjs/node-packages-generated.nix @@ -0,0 +1,943 @@ +{ self, fetchurl, fetchgit ? null, lib }: + +{ + by-spec."accepts"."1.1.4" = + self.by-version."accepts"."1.1.4"; + by-version."accepts"."1.1.4" = self.buildNodePackage { + name = "accepts-1.1.4"; + version = "1.1.4"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz"; + name = "accepts-1.1.4.tgz"; + sha1 = "d71c96f7d41d0feda2c38cd14e8a27c04158df4a"; + }; + deps = { + "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14"; + "negotiator-0.4.9" = self.by-version."negotiator"."0.4.9"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."after"."0.8.1" = + self.by-version."after"."0.8.1"; + by-version."after"."0.8.1" = self.buildNodePackage { + name = "after-0.8.1"; + version = "0.8.1"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/after/-/after-0.8.1.tgz"; + name = "after-0.8.1.tgz"; + sha1 = "ab5d4fb883f596816d3515f8f791c0af486dd627"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."arraybuffer.slice"."0.0.6" = + self.by-version."arraybuffer.slice"."0.0.6"; + by-version."arraybuffer.slice"."0.0.6" = self.buildNodePackage { + name = "arraybuffer.slice-0.0.6"; + version = "0.0.6"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz"; + name = "arraybuffer.slice-0.0.6.tgz"; + sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."backo2"."1.0.2" = + self.by-version."backo2"."1.0.2"; + by-version."backo2"."1.0.2" = self.buildNodePackage { + name = "backo2-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz"; + name = "backo2-1.0.2.tgz"; + sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."base64-arraybuffer"."0.1.2" = + self.by-version."base64-arraybuffer"."0.1.2"; + by-version."base64-arraybuffer"."0.1.2" = self.buildNodePackage { + name = "base64-arraybuffer-0.1.2"; + version = "0.1.2"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz"; + name = "base64-arraybuffer-0.1.2.tgz"; + sha1 = "474df4a9f2da24e05df3158c3b1db3c3cd46a154"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."base64id"."0.1.0" = + self.by-version."base64id"."0.1.0"; + by-version."base64id"."0.1.0" = self.buildNodePackage { + name = "base64id-0.1.0"; + version = "0.1.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz"; + name = "base64id-0.1.0.tgz"; + sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."benchmark"."1.0.0" = + self.by-version."benchmark"."1.0.0"; + by-version."benchmark"."1.0.0" = self.buildNodePackage { + name = "benchmark-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz"; + name = "benchmark-1.0.0.tgz"; + sha1 = "2f1e2fa4c359f11122aa183082218e957e390c73"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."better-assert"."~1.0.0" = + self.by-version."better-assert"."1.0.2"; + by-version."better-assert"."1.0.2" = self.buildNodePackage { + name = "better-assert-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz"; + name = "better-assert-1.0.2.tgz"; + sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522"; + }; + deps = { + "callsite-1.0.0" = self.by-version."callsite"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."blob"."0.0.4" = + self.by-version."blob"."0.0.4"; + by-version."blob"."0.0.4" = self.buildNodePackage { + name = "blob-0.0.4"; + version = "0.0.4"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/blob/-/blob-0.0.4.tgz"; + name = "blob-0.0.4.tgz"; + sha1 = "bcf13052ca54463f30f9fc7e95b9a47630a94921"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."callsite"."1.0.0" = + self.by-version."callsite"."1.0.0"; + by-version."callsite"."1.0.0" = self.buildNodePackage { + name = "callsite-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz"; + name = "callsite-1.0.0.tgz"; + sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."component-bind"."1.0.0" = + self.by-version."component-bind"."1.0.0"; + by-version."component-bind"."1.0.0" = self.buildNodePackage { + name = "component-bind-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz"; + name = "component-bind-1.0.0.tgz"; + sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."component-emitter"."1.1.2" = + self.by-version."component-emitter"."1.1.2"; + by-version."component-emitter"."1.1.2" = self.buildNodePackage { + name = "component-emitter-1.1.2"; + version = "1.1.2"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz"; + name = "component-emitter-1.1.2.tgz"; + sha1 = "296594f2753daa63996d2af08d15a95116c9aec3"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."component-emitter"."1.2.0" = + self.by-version."component-emitter"."1.2.0"; + by-version."component-emitter"."1.2.0" = self.buildNodePackage { + name = "component-emitter-1.2.0"; + version = "1.2.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.2.0.tgz"; + name = "component-emitter-1.2.0.tgz"; + sha1 = "ccd113a86388d06482d03de3fc7df98526ba8efe"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."component-inherit"."0.0.3" = + self.by-version."component-inherit"."0.0.3"; + by-version."component-inherit"."0.0.3" = self.buildNodePackage { + name = "component-inherit-0.0.3"; + version = "0.0.3"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz"; + name = "component-inherit-0.0.3.tgz"; + sha1 = "645fc4adf58b72b649d5cae65135619db26ff143"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."debug"."0.7.4" = + self.by-version."debug"."0.7.4"; + by-version."debug"."0.7.4" = self.buildNodePackage { + name = "debug-0.7.4"; + version = "0.7.4"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz"; + name = "debug-0.7.4.tgz"; + sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."debug"."2.2.0" = + self.by-version."debug"."2.2.0"; + by-version."debug"."2.2.0" = self.buildNodePackage { + name = "debug-2.2.0"; + version = "2.2.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz"; + name = "debug-2.2.0.tgz"; + sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da"; + }; + deps = { + "ms-0.7.1" = self.by-version."ms"."0.7.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."engine.io"."1.6.8" = + self.by-version."engine.io"."1.6.8"; + by-version."engine.io"."1.6.8" = self.buildNodePackage { + name = "engine.io-1.6.8"; + version = "1.6.8"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/engine.io/-/engine.io-1.6.8.tgz"; + name = "engine.io-1.6.8.tgz"; + sha1 = "de05a06b757e7517695e088c7b051c47819f511b"; + }; + deps = { + "base64id-0.1.0" = self.by-version."base64id"."0.1.0"; + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "ws-1.0.1" = self.by-version."ws"."1.0.1"; + "engine.io-parser-1.2.4" = self.by-version."engine.io-parser"."1.2.4"; + "accepts-1.1.4" = self.by-version."accepts"."1.1.4"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."engine.io-client"."1.6.8" = + self.by-version."engine.io-client"."1.6.8"; + by-version."engine.io-client"."1.6.8" = self.buildNodePackage { + name = "engine.io-client-1.6.8"; + version = "1.6.8"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/engine.io-client/-/engine.io-client-1.6.8.tgz"; + name = "engine.io-client-1.6.8.tgz"; + sha1 = "6e2db11648b45e405c46b172ea3e3dac37cc0ceb"; + }; + deps = { + "has-cors-1.1.0" = self.by-version."has-cors"."1.1.0"; + "ws-1.0.1" = self.by-version."ws"."1.0.1"; + "xmlhttprequest-ssl-1.5.1" = self.by-version."xmlhttprequest-ssl"."1.5.1"; + "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2"; + "indexof-0.0.1" = self.by-version."indexof"."0.0.1"; + "engine.io-parser-1.2.4" = self.by-version."engine.io-parser"."1.2.4"; + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "parseuri-0.0.4" = self.by-version."parseuri"."0.0.4"; + "parsejson-0.0.1" = self.by-version."parsejson"."0.0.1"; + "parseqs-0.0.2" = self.by-version."parseqs"."0.0.2"; + "component-inherit-0.0.3" = self.by-version."component-inherit"."0.0.3"; + "yeast-0.1.2" = self.by-version."yeast"."0.1.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."engine.io-parser"."1.2.4" = + self.by-version."engine.io-parser"."1.2.4"; + by-version."engine.io-parser"."1.2.4" = self.buildNodePackage { + name = "engine.io-parser-1.2.4"; + version = "1.2.4"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.4.tgz"; + name = "engine.io-parser-1.2.4.tgz"; + sha1 = "e0897b0bf14e792d4cd2a5950553919c56948c42"; + }; + deps = { + "after-0.8.1" = self.by-version."after"."0.8.1"; + "arraybuffer.slice-0.0.6" = self.by-version."arraybuffer.slice"."0.0.6"; + "base64-arraybuffer-0.1.2" = self.by-version."base64-arraybuffer"."0.1.2"; + "blob-0.0.4" = self.by-version."blob"."0.0.4"; + "has-binary-0.1.6" = self.by-version."has-binary"."0.1.6"; + "utf8-2.1.0" = self.by-version."utf8"."2.1.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."has-binary"."0.1.6" = + self.by-version."has-binary"."0.1.6"; + by-version."has-binary"."0.1.6" = self.buildNodePackage { + name = "has-binary-0.1.6"; + version = "0.1.6"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz"; + name = "has-binary-0.1.6.tgz"; + sha1 = "25326f39cfa4f616ad8787894e3af2cfbc7b6e10"; + }; + deps = { + "isarray-0.0.1" = self.by-version."isarray"."0.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."has-binary"."0.1.7" = + self.by-version."has-binary"."0.1.7"; + by-version."has-binary"."0.1.7" = self.buildNodePackage { + name = "has-binary-0.1.7"; + version = "0.1.7"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz"; + name = "has-binary-0.1.7.tgz"; + sha1 = "68e61eb16210c9545a0a5cce06a873912fe1e68c"; + }; + deps = { + "isarray-0.0.1" = self.by-version."isarray"."0.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."has-cors"."1.1.0" = + self.by-version."has-cors"."1.1.0"; + by-version."has-cors"."1.1.0" = self.buildNodePackage { + name = "has-cors-1.1.0"; + version = "1.1.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz"; + name = "has-cors-1.1.0.tgz"; + sha1 = "5e474793f7ea9843d1bb99c23eef49ff126fff39"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."indexof"."0.0.1" = + self.by-version."indexof"."0.0.1"; + by-version."indexof"."0.0.1" = self.buildNodePackage { + name = "indexof-0.0.1"; + version = "0.0.1"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz"; + name = "indexof-0.0.1.tgz"; + sha1 = "82dc336d232b9062179d05ab3293a66059fd435d"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."isarray"."0.0.1" = + self.by-version."isarray"."0.0.1"; + by-version."isarray"."0.0.1" = self.buildNodePackage { + name = "isarray-0.0.1"; + version = "0.0.1"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"; + name = "isarray-0.0.1.tgz"; + sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."json3"."3.2.6" = + self.by-version."json3"."3.2.6"; + by-version."json3"."3.2.6" = self.buildNodePackage { + name = "json3-3.2.6"; + version = "3.2.6"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/json3/-/json3-3.2.6.tgz"; + name = "json3-3.2.6.tgz"; + sha1 = "f6efc93c06a04de9aec53053df2559bb19e2038b"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."json3"."3.3.2" = + self.by-version."json3"."3.3.2"; + by-version."json3"."3.3.2" = self.buildNodePackage { + name = "json3-3.3.2"; + version = "3.3.2"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/json3/-/json3-3.3.2.tgz"; + name = "json3-3.3.2.tgz"; + sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mime-db"."~1.12.0" = + self.by-version."mime-db"."1.12.0"; + by-version."mime-db"."1.12.0" = self.buildNodePackage { + name = "mime-db-1.12.0"; + version = "1.12.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz"; + name = "mime-db-1.12.0.tgz"; + sha1 = "3d0c63180f458eb10d325aaa37d7c58ae312e9d7"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mime-types"."~2.0.4" = + self.by-version."mime-types"."2.0.14"; + by-version."mime-types"."2.0.14" = self.buildNodePackage { + name = "mime-types-2.0.14"; + version = "2.0.14"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz"; + name = "mime-types-2.0.14.tgz"; + sha1 = "310e159db23e077f8bb22b748dabfa4957140aa6"; + }; + deps = { + "mime-db-1.12.0" = self.by-version."mime-db"."1.12.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ms"."0.7.1" = + self.by-version."ms"."0.7.1"; + by-version."ms"."0.7.1" = self.buildNodePackage { + name = "ms-0.7.1"; + version = "0.7.1"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"; + name = "ms-0.7.1.tgz"; + sha1 = "9cd13c03adbff25b65effde7ce864ee952017098"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."negotiator"."0.4.9" = + self.by-version."negotiator"."0.4.9"; + by-version."negotiator"."0.4.9" = self.buildNodePackage { + name = "negotiator-0.4.9"; + version = "0.4.9"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.9.tgz"; + name = "negotiator-0.4.9.tgz"; + sha1 = "92e46b6db53c7e421ed64a2bc94f08be7630df3f"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."object-component"."0.0.3" = + self.by-version."object-component"."0.0.3"; + by-version."object-component"."0.0.3" = self.buildNodePackage { + name = "object-component-0.0.3"; + version = "0.0.3"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz"; + name = "object-component-0.0.3.tgz"; + sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."options".">=0.0.5" = + self.by-version."options"."0.0.6"; + by-version."options"."0.0.6" = self.buildNodePackage { + name = "options-0.0.6"; + version = "0.0.6"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz"; + name = "options-0.0.6.tgz"; + sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."parsejson"."0.0.1" = + self.by-version."parsejson"."0.0.1"; + by-version."parsejson"."0.0.1" = self.buildNodePackage { + name = "parsejson-0.0.1"; + version = "0.0.1"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz"; + name = "parsejson-0.0.1.tgz"; + sha1 = "9b10c6c0d825ab589e685153826de0a3ba278bcc"; + }; + deps = { + "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."parseqs"."0.0.2" = + self.by-version."parseqs"."0.0.2"; + by-version."parseqs"."0.0.2" = self.buildNodePackage { + name = "parseqs-0.0.2"; + version = "0.0.2"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz"; + name = "parseqs-0.0.2.tgz"; + sha1 = "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7"; + }; + deps = { + "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."parseuri"."0.0.4" = + self.by-version."parseuri"."0.0.4"; + by-version."parseuri"."0.0.4" = self.buildNodePackage { + name = "parseuri-0.0.4"; + version = "0.0.4"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz"; + name = "parseuri-0.0.4.tgz"; + sha1 = "806582a39887e1ea18dd5e2fe0e01902268e9350"; + }; + deps = { + "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."socket.io"."*" = + self.by-version."socket.io"."1.4.5"; + by-version."socket.io"."1.4.5" = self.buildNodePackage { + name = "socket.io-1.4.5"; + version = "1.4.5"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/socket.io/-/socket.io-1.4.5.tgz"; + name = "socket.io-1.4.5.tgz"; + sha1 = "f202f49eeb9cf7cf6c0971ad75d8d96d451ea4f7"; + }; + deps = { + "engine.io-1.6.8" = self.by-version."engine.io"."1.6.8"; + "socket.io-parser-2.2.6" = self.by-version."socket.io-parser"."2.2.6"; + "socket.io-client-1.4.5" = self.by-version."socket.io-client"."1.4.5"; + "socket.io-adapter-0.4.0" = self.by-version."socket.io-adapter"."0.4.0"; + "has-binary-0.1.7" = self.by-version."has-binary"."0.1.7"; + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "socket.io" = self.by-version."socket.io"."1.4.5"; + by-spec."socket.io-adapter"."0.4.0" = + self.by-version."socket.io-adapter"."0.4.0"; + by-version."socket.io-adapter"."0.4.0" = self.buildNodePackage { + name = "socket.io-adapter-0.4.0"; + version = "0.4.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz"; + name = "socket.io-adapter-0.4.0.tgz"; + sha1 = "fb9f82ab1aa65290bf72c3657955b930a991a24f"; + }; + deps = { + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "socket.io-parser-2.2.2" = self.by-version."socket.io-parser"."2.2.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."socket.io-client"."1.4.5" = + self.by-version."socket.io-client"."1.4.5"; + by-version."socket.io-client"."1.4.5" = self.buildNodePackage { + name = "socket.io-client-1.4.5"; + version = "1.4.5"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-1.4.5.tgz"; + name = "socket.io-client-1.4.5.tgz"; + sha1 = "400d630c31e7c9579e45173f977e4f5bd8dc7d2e"; + }; + deps = { + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "engine.io-client-1.6.8" = self.by-version."engine.io-client"."1.6.8"; + "component-bind-1.0.0" = self.by-version."component-bind"."1.0.0"; + "component-emitter-1.2.0" = self.by-version."component-emitter"."1.2.0"; + "object-component-0.0.3" = self.by-version."object-component"."0.0.3"; + "socket.io-parser-2.2.6" = self.by-version."socket.io-parser"."2.2.6"; + "has-binary-0.1.7" = self.by-version."has-binary"."0.1.7"; + "indexof-0.0.1" = self.by-version."indexof"."0.0.1"; + "parseuri-0.0.4" = self.by-version."parseuri"."0.0.4"; + "to-array-0.1.4" = self.by-version."to-array"."0.1.4"; + "backo2-1.0.2" = self.by-version."backo2"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."socket.io-parser"."2.2.2" = + self.by-version."socket.io-parser"."2.2.2"; + by-version."socket.io-parser"."2.2.2" = self.buildNodePackage { + name = "socket.io-parser-2.2.2"; + version = "2.2.2"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.2.tgz"; + name = "socket.io-parser-2.2.2.tgz"; + sha1 = "3d7af6b64497e956b7d9fe775f999716027f9417"; + }; + deps = { + "debug-0.7.4" = self.by-version."debug"."0.7.4"; + "json3-3.2.6" = self.by-version."json3"."3.2.6"; + "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2"; + "isarray-0.0.1" = self.by-version."isarray"."0.0.1"; + "benchmark-1.0.0" = self.by-version."benchmark"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."socket.io-parser"."2.2.6" = + self.by-version."socket.io-parser"."2.2.6"; + by-version."socket.io-parser"."2.2.6" = self.buildNodePackage { + name = "socket.io-parser-2.2.6"; + version = "2.2.6"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.6.tgz"; + name = "socket.io-parser-2.2.6.tgz"; + sha1 = "38dfd61df50dcf8ab1d9e2091322bf902ba28b99"; + }; + deps = { + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "json3-3.3.2" = self.by-version."json3"."3.3.2"; + "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2"; + "isarray-0.0.1" = self.by-version."isarray"."0.0.1"; + "benchmark-1.0.0" = self.by-version."benchmark"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."to-array"."0.1.4" = + self.by-version."to-array"."0.1.4"; + by-version."to-array"."0.1.4" = self.buildNodePackage { + name = "to-array-0.1.4"; + version = "0.1.4"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz"; + name = "to-array-0.1.4.tgz"; + sha1 = "17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ultron"."1.0.x" = + self.by-version."ultron"."1.0.2"; + by-version."ultron"."1.0.2" = self.buildNodePackage { + name = "ultron-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz"; + name = "ultron-1.0.2.tgz"; + sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."utf8"."2.1.0" = + self.by-version."utf8"."2.1.0"; + by-version."utf8"."2.1.0" = self.buildNodePackage { + name = "utf8-2.1.0"; + version = "2.1.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz"; + name = "utf8-2.1.0.tgz"; + sha1 = "0cfec5c8052d44a23e3aaa908104e8075f95dfd5"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ws"."1.0.1" = + self.by-version."ws"."1.0.1"; + by-version."ws"."1.0.1" = self.buildNodePackage { + name = "ws-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/ws/-/ws-1.0.1.tgz"; + name = "ws-1.0.1.tgz"; + sha1 = "7d0b2a2e58cddd819039c29c9de65045e1b310e9"; + }; + deps = { + "options-0.0.6" = self.by-version."options"."0.0.6"; + "ultron-1.0.2" = self.by-version."ultron"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."xmlhttprequest-ssl"."1.5.1" = + self.by-version."xmlhttprequest-ssl"."1.5.1"; + by-version."xmlhttprequest-ssl"."1.5.1" = self.buildNodePackage { + name = "xmlhttprequest-ssl-1.5.1"; + version = "1.5.1"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz"; + name = "xmlhttprequest-ssl-1.5.1.tgz"; + sha1 = "3b7741fea4a86675976e908d296d4445961faa67"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."yeast"."0.1.2" = + self.by-version."yeast"."0.1.2"; + by-version."yeast"."0.1.2" = self.buildNodePackage { + name = "yeast-0.1.2"; + version = "0.1.2"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz"; + name = "yeast-0.1.2.tgz"; + sha1 = "008e06d8094320c372dbc2f8ed76a0ca6c8ac419"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; +} diff --git a/pkgs/development/compilers/ghcjs/node-packages.json b/pkgs/development/compilers/ghcjs/node-packages.json new file mode 100644 index 000000000000..55fa86675e7a --- /dev/null +++ b/pkgs/development/compilers/ghcjs/node-packages.json @@ -0,0 +1 @@ +[ "socket.io" ] diff --git a/pkgs/development/compilers/ghcjs/shims.nix b/pkgs/development/compilers/ghcjs/shims.nix index dbbf15de6c8b..2d68ea075515 100644 --- a/pkgs/development/compilers/ghcjs/shims.nix +++ b/pkgs/development/compilers/ghcjs/shims.nix @@ -2,6 +2,6 @@ fetchFromGitHub { owner = "ghcjs"; repo = "shims"; - rev = "45f44f5f027ec03264b61b8049951e765cc0b23a"; - sha256 = "090pz4rzwlcrjavbbzxhf6c7rq7rzmr10g89hmhw4c65c4fyyykp"; + rev = "4df1808d03117ddcd45f276f0ddd85c73e59506a"; + sha256 = "0nay4pmq3yqqvpz23709i3729840idpcc2ii2jd0xvaj1z61adda"; } diff --git a/pkgs/development/compilers/ghcjs/wrapper.nix b/pkgs/development/compilers/ghcjs/wrapper.nix deleted file mode 100644 index 751b7d9a7de7..000000000000 --- a/pkgs/development/compilers/ghcjs/wrapper.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ stdenv, ghc, makeWrapper, coreutils, writeScript }: -let - ghcjs = ghc; - packageDBFlag = "-package-db"; - - GHCGetPackages = writeScript "ghc-get-packages.sh" '' - #! ${stdenv.shell} - # Usage: - # $1: version of GHC - # $2: invocation path of GHC - # $3: prefix - version="$1" - if test -z "$3"; then - prefix="${packageDBFlag} " - else - prefix="$3" - fi - PATH="$PATH:$2" - IFS=":" - for p in $PATH; do - for i in "$p/../share/ghcjs/$system-${ghcjs.version}-${ghcjs.ghc.version}"{,/lib,/ghcjs}"/package.conf.d" "$p/../lib/ghcjs-${ghc.version}_ghc-${ghc.ghc.version}/package.conf.d" ; do - # output takes place here - test -f $i/package.cache && echo -n " $prefix$i" - done - done - ''; - - GHCPackages = writeScript "ghc-packages.sh" '' - #! ${stdenv.shell} -e - declare -A GHC_PACKAGES_HASH # using bash4 hashs to get uniq paths - - for arg in $(${GHCGetPackages} ${ghcjs.version} "$(dirname $0)"); do # Why is ghc.version passed in from here instead of captured in the other script directly? - case "$arg" in - ${packageDBFlag}) ;; - *) - CANONICALIZED="$(${coreutils}/bin/readlink -f -- "$arg")" - GHC_PACKAGES_HASH["$CANONICALIZED"]= ;; - esac - done - - for path in ''${!GHC_PACKAGES_HASH[@]}; do - echo -n "$path:" - done - ''; -in -stdenv.mkDerivation { - name = "ghcjs-ghc${ghcjs.ghc.version}-${ghcjs.version}-wrapper"; - - buildInputs = [makeWrapper]; - propagatedBuildInputs = [ghcjs]; - - unpackPhase = "true"; - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - for prg in ghcjs ; do - makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$(${GHCGetPackages} ${ghcjs.version} \"\$(dirname \$0)\")" - done - for prg in ghcjs-pkg ; do - makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$(${GHCGetPackages} ${ghcjs.version} \"\$(dirname \$0)\" -${packageDBFlag}=)" - done - - mkdir -p $out/nix-support - ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages - - mkdir -p $out/share/doc - ln -s $ghc/lib $out/lib - ln -s $ghc/share/doc/ghc $out/share/doc/ghc-${ghcjs.version} - - runHook postInstall - ''; - - ghc = ghcjs; - inherit GHCGetPackages GHCPackages; - inherit (ghcjs) meta version; -} diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix index 7b2e03f8d573..3e84ce1d0ae0 100644 --- a/pkgs/development/compilers/ghdl/default.nix +++ b/pkgs/development/compilers/ghdl/default.nix @@ -1,58 +1,28 @@ { stdenv, fetchurl, gnat, zlib }: +# I think that mcode can only generate x86 code, +# so it fails to link pieces on x86_64. assert stdenv.system == "i686-linux"; let - version = "0.31"; + version = "0.33"; in stdenv.mkDerivation rec { name = "ghdl-mcode-${version}"; src = fetchurl { - url = "mirror://sourceforge/ghdl/ghdl-${version}.tar.gz"; - sha256 = "1v0l9h6906b0bvnwfi2qg5nz9vjg80isc5qgjxr1yqxpkfm2xcf0"; + url = "https://github.com/tgingold/ghdl/archive/v${version}.tar.gz"; + sha256 = "09yvgqyglbakd74v2dgr470clzm744i232nixyffcds55vkij5da"; }; buildInputs = [ gnat zlib ]; - # Tarbomb - preUnpack = '' - mkdir ghdl - cd ghdl - ''; - - sourceRoot = "translate/ghdldrv"; - patchPhase = '' - sed -i 's,$$curdir/lib,'$out'/share/ghdl_mcode/translate/lib,' Makefile - ''; - - postBuild = '' - # Build the LIB - ln -s ghdl_mcode ghdl - make install.mcode + # Disable warnings-as-errors, because there are warnings (unused things) + sed -i s/-gnatwae/-gnatwa/ Makefile.in ghdl.gpr.in ''; - installPhase = '' - mkdir -p $out/bin - cp ghdl_mcode $out/bin - - mkdir -p $out/share/ghdl_mcode/translate - cp -R ../lib $out/share/ghdl_mcode/translate - cp -R ../../libraries $out/share/ghdl_mcode - - mkdir -p $out/share/man/man1 - cp ../../doc/ghdl.1 $out/share/man/man1/ghdl_mcode.1 - - # Ghdl has some timestamps checks, storing file timestamps in '.cf' files. - # As we will change the timestamps to 1970-01-01 00:00:01, we also set the - # content of that .cf to that value. This way ghdl does not complain on - # the installed object files from the basic libraries (ieee, ...) - pushd $out - find . -name "*.cf" -exec \ - sed 's/[0-9]*\.000" /19700101000001.000" /g' -i {} \; - popd - ''; + enableParallelBuilding = true; meta = { homepage = "http://sourceforge.net/p/ghdl-updates/wiki/Home/"; diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix index a31ef704e6a0..a81336cf8cf7 100644 --- a/pkgs/development/compilers/go/1.4.nix +++ b/pkgs/development/compilers/go/1.4.nix @@ -46,6 +46,8 @@ stdenv.mkDerivation rec { sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go # Disable the unix socket test sed -i '/TestShutdownUnix/areturn' src/net/net_test.go + # Disable network timeout test + sed -i '/TestDialTimeout/areturn' src/net/dial_test.go # Disable the hostname test sed -i '/TestHostname/areturn' src/os/os_test.go # ParseInLocation fails the test @@ -84,7 +86,6 @@ stdenv.mkDerivation rec { ''; patches = [ - ./cacert-1.4.patch ./remove-tools-1.4.patch ]; diff --git a/pkgs/development/compilers/go/1.5.nix b/pkgs/development/compilers/go/1.5.nix index 54c8cf219d5f..b5bfac850280 100644 --- a/pkgs/development/compilers/go/1.5.nix +++ b/pkgs/development/compilers/go/1.5.nix @@ -89,7 +89,6 @@ stdenv.mkDerivation rec { ''; patches = [ - ./cacert-1.5.patch ./remove-tools-1.5.patch ] # -ldflags=-s is required to compile on Darwin, see diff --git a/pkgs/development/compilers/go/1.6.nix b/pkgs/development/compilers/go/1.6.nix new file mode 100644 index 000000000000..122f0d336f71 --- /dev/null +++ b/pkgs/development/compilers/go/1.6.nix @@ -0,0 +1,140 @@ +{ stdenv, lib, fetchurl, tzdata, iana_etc, go_1_4, runCommand +, perl, which, pkgconfig, patch +, pcre +, Security, Foundation }: + +let + goBootstrap = runCommand "go-bootstrap" {} '' + mkdir $out + cp -rf ${go_1_4}/* $out/ + chmod -R u+w $out + find $out -name "*.c" -delete + cp -rf $out/bin/* $out/share/go/bin/ + ''; +in + +stdenv.mkDerivation rec { + name = "go-${version}"; + version = "1.6"; + + src = fetchurl { + url = "https://github.com/golang/go/archive/go${version}.tar.gz"; + sha256 = "04g7w34qamgy9gqpy75xm03s8xbbslv1735iv1a06z8sphpkgs7m"; + }; + + # perl is used for testing go vet + nativeBuildInputs = [ perl which pkgconfig patch ]; + buildInputs = [ pcre ]; + 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. + preUnpack = '' + mkdir -p $out/share + cd $out/share + ''; + + prePatch = '' + # Ensure that the source directory is named go + cd .. + if [ ! -d go ]; then + mv * go + fi + + cd go + patchShebangs ./ # replace /bin/bash + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + rm src/net/{listen,parse}_test.go + rm src/syscall/exec_linux_test.go + # !!! substituteInPlace does not seems to be effective. + # The os test wants to read files in an existing path. Just don't let it be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go + # Disable the unix socket test + sed -i '/TestShutdownUnix/areturn' src/net/net_test.go + # Disable the hostname test + sed -i '/TestHostname/areturn' src/os/os_test.go + # ParseInLocation fails the test + sed -i '/TestParseInSydney/areturn' src/time/format_test.go + # Remove the api check as it never worked + sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go + # Remove the coverage test as we have removed this utility + sed -i '/TestCoverageWithCgo/areturn' src/cmd/go/go_test.go + + sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/net/lookup_unix.go + sed -i 's,/etc/services,${iana_etc}/etc/services,' src/net/port_unix.go + '' + 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 '/TestNohup/areturn' src/os/signal/signal_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 = [ + ./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" + else if stdenv.system == "i686-linux" then "386" + else if stdenv.system == "x86_64-linux" then "amd64" + else if stdenv.isArm then "arm" + else throw "Unsupported system"; + GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + GO386 = 387; # from Arch: don't assume sse2 on i686 + CGO_ENABLED = 1; + GOROOT_BOOTSTRAP = "${goBootstrap}/share/go"; + + # The go build actually checks for CC=*/clang and does something different, so we don't + # just want the generic `cc` here. + CC = if stdenv.isDarwin then "clang" else "cc"; + + installPhase = '' + mkdir -p "$out/bin" + export GOROOT="$(pwd)/" + export GOBIN="$out/bin" + export PATH="$GOBIN:$PATH" + cd ./src + echo Building + ./all.bash + ''; + + preFixup = '' + rm -r $out/share/go/pkg/bootstrap + ''; + + setupHook = ./setup-hook.sh; + + disallowedReferences = [ go_1_4 ]; + + meta = with stdenv.lib; { + branch = "1.6"; + homepage = http://golang.org/; + description = "The Go Programming language"; + license = licenses.bsd3; + maintainers = with maintainers; [ cstrahan wkennington ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/compilers/go/cacert-1.4.patch b/pkgs/development/compilers/go/cacert-1.4.patch deleted file mode 100644 index 5346d3f39505..000000000000 --- a/pkgs/development/compilers/go/cacert-1.4.patch +++ /dev/null @@ -1,14 +0,0 @@ -Go comes with hardcoded cacert. We add the usual in NixOS, -for easier NixOS life. - -diff -r 14854533dcc7 src/crypto/x509/root_unix.go ---- a/src/crypto/x509/root_unix.go Thu Dec 11 11:27:56 2014 +1100 -+++ b/src/crypto/x509/root_unix.go Tue Jan 06 00:41:31 2015 -0600 -@@ -17,6 +17,7 @@ - "/usr/local/share/certs/ca-root-nss.crt", // FreeBSD/DragonFly - "/etc/pki/tls/cacert.pem", // OpenELEC - "/etc/certs/ca-certificates.crt", // Solaris 11.2+ -+ "/etc/ssl/certs/ca-bundle.crt", // NixOS - } - - // Possible directories with certificate files; stop after successfully diff --git a/pkgs/development/compilers/go/cacert-1.5.patch b/pkgs/development/compilers/go/cacert-1.5.patch deleted file mode 100644 index 32c322a104e6..000000000000 --- a/pkgs/development/compilers/go/cacert-1.5.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/src/crypto/x509/root_linux.go 2015-08-19 23:06:11.115133174 +0200 -+++ b/src/crypto/x509/root_linux.go 2015-08-19 23:07:04.238507161 +0200 -@@ -10,4 +10,5 @@ - "/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL - "/etc/ssl/ca-bundle.pem", // OpenSUSE - "/etc/pki/tls/cacert.pem", // OpenELEC -+ "/etc/ssl/certs/ca-bundle.crt", // NixOS - } diff --git a/pkgs/development/compilers/ios-cross-compile/9.2.nix b/pkgs/development/compilers/ios-cross-compile/9.2.nix new file mode 100644 index 000000000000..5ec24e01617a --- /dev/null +++ b/pkgs/development/compilers/ios-cross-compile/9.2.nix @@ -0,0 +1,64 @@ +{ stdenv, git, clang, + fetchFromGitHub, requireFile, + openssl, xz, gnutar, gcc, + automake, autoconf, libtool, clangStdenv } : + +clangStdenv.mkDerivation rec { + name = "ios-cross-compile-${version}"; + version = "9.2"; + sdk = "iPhoneOS9.2.sdk"; + cctools_port = fetchFromGitHub { + owner = "tpoechtrager"; + repo = "cctools-port"; + rev = "7d405492b09fa27546caaa989b8493829365deab"; + sha256 = "0nj1q5bqdx5jm68dispybxc7wnkb6p8p2igpnap9q6qyv2r9p07w"; + }; + ldid = fetchFromGitHub { + owner = "tpoechtrager"; + repo = "ldid"; + rev = "3064ed628108da4b9a52cfbe5d4c1a5817811400"; + sha256 = "1a6zaz8fgbi239l5zqx9xi3hsrv3jmfh8dkiy5gmnjs6v4gcf6sf"; + }; + src = requireFile rec { + name = "iPhoneOS9.2.sdk.tar.xz"; + sha256 = "1l2h3cic9psrq3nmfv9aaxkdk8y2pvr0iq6apj87mb3ms9a4cqrq"; + message = '' + You need to do the following steps to get a prepared + ios tarball. + + 1) Download an XCode dmg, specifically XCode_7.2.dmg + 2) Install darling-dmg, available via: nix-env -i darling-dmg + 3) Follow this shell history: + + $ cd ~/ + $ mkdir xcode + $ darling-dmg Xcode_7.2dmg xcode + $ cd xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs + $ mktemp -d + /tmp/gar/tmp.4ZZ8kqyfqp/ + $ mkdir /tmp/gar/tmp.4ZZ8kqyfqp/iPhoneOS9.2.sdk + $ cp -r iPhoneOS.sdk/* /tmp/gar/tmp.4ZZ8kqyfqp/iPhoneOS9.2.sdk + $ cp -r ../../../../Toolchains/XcodeDefault.xctoolchain/usr/include/c++/* \ + /tmp/gar/tmp.4ZZ8kqyfqp/iPhoneOS9.2.sdk/usr/include/c++ + $ tar -cf - * | xz -9 -c - > iPhoneOS9.2.sdk.tar.xz + $ cd ~/ + $ fusermount -u xcode + + Then do: + + nix-prefetch-url file:///path/to/${name} + + and run this installation again. + ''; + }; + buildInputs = [ git xz gnutar openssl automake autoconf libtool clang ]; + alt_wrapper = ./alt_wrapper.c; + builder = ./9.2_builder.sh; + meta = { + description = + "Provides an iOS cross compiler from 7.1 up to iOS-${version} and ldid"; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ fxfactorial ]; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/pkgs/development/compilers/ios-cross-compile/9.2_builder.sh b/pkgs/development/compilers/ios-cross-compile/9.2_builder.sh new file mode 100644 index 000000000000..4604b1fdea72 --- /dev/null +++ b/pkgs/development/compilers/ios-cross-compile/9.2_builder.sh @@ -0,0 +1,153 @@ +# -*- shell-script -*- +source $stdenv/setup + +function extract +{ + printf "extracting $(basename $1) ...\n" + local tarflags="xf" + + case "$1" in + *.tar.xz) + xz -dc $1 | tar "$tarflags" - ;; + *) + printf "Make sure you give a iPhoneOS9.2.sdk.tar.xz file \n" ;; + esac +} + +function verify_arch { + case "$1" in + # Our good arches. + armv7|arm64) ;; + *) + local + acc="armv7 | arm64" + error_message=$( + printf '%s is not an acceptable arch. Try one of %s' "$1" "$acc" + ) + printf "$error_message\n" + exit + esac +} + +function verify_sdk_version { + sdk_version=$(basename "$1" | grep -P -o "[0-9].[0-9]+") + case "$sdk_version" in + # Make sure the SDK is correct. + [5-9].[0-9]) ;; + *) + printf 'No iPhone SDK version in file name\n' + esac +} + +function do_build { + + if [ $# -lt 2 ]; then + printf "usage: $0 iPhoneOS.sdk.tar* <target cpu>\n" 1>&2 + printf "i.e. $0 /path/to/iPhoneOS.sdk.tar.xz armv7\n" 1>&2 + exit 1 + fi + + mkdir -p $out + + chmod -R 755 "$cctools_port" + + pushd "$cctools_port"/usage_examples/ios_toolchain &> /dev/null + + export LC_ALL=C + + local + triple='%s-apple-darwin11' + target_dir="$PWD/target" + sdk_dir="$target_dir/SDK" + platform="$(uname -s)" + # Will be mutated by verify_sdk_version + sdk_version= + + mkdir -p "$target_dir" + mkdir -p "$target_dir/bin" + mkdir -p "$sdk_dir" + + verify_arch "$2" + verify_sdk_version "$1" + + triple="$(printf "$triple" "$2")" + pushd "$sdk_dir" &>/dev/null + extract "$1" + + local sys_lib=$( + find $sdk_dir -name libSystem.dylib -o -name libSystem.tbd | head -n1 + ) + + if [ -z "$sys_lib" ]; then + printf "SDK should contain libSystem{.dylib,.tbd}\n" 1>&2 + exit 1 + fi + + local sys_root=$(readlink -f "$(dirname $sys_lib)/../..") + + local sdk_unboxed=$(basename $sys_root) + + mv -f "$sys_root"/* "$sdk_dir" || true + + popd &>/dev/null + + printf "\nbuilding wrapper\n" + + printf "int main(){return 0;}" | clang -xc -O2 -o "$target_dir"/bin/dsymutil - + + clang -O2 -std=c99 $alt_wrapper \ + -DTARGET_CPU=$(printf '"%s"' "$2") \ + -DNIX_APPLE_HDRS=$( + printf '"%s"' "-I$out/$sdk/usr/include" + ) \ + -DNIX_APPLE_FRAMEWORKS=$( + printf '"%s"' "$out/$sdk/System/Library/Frameworks" + ) \ + -DNIX_APPLE_PRIV_FRAMEWORKS=$( + printf '"%s"' "$out/$sdk/System/Library/PrivateFrameworks" + ) \ + -DOS_VER_MIN=$(printf '"%s"' "7.1") \ + -o "$target_dir/bin/$triple-clang" + + pushd "$target_dir"/bin &>/dev/null + + cp "$triple"-clang "$triple"-clang++ + + popd &>/dev/null + + printf "\nbuilding ldid\n" + + mkdir -p tmp + pushd tmp &>/dev/null + pushd "$ldid" &>/dev/null + + chmod -R 755 "$ldid" + + make INSTALLPREFIX="$target_dir" -j4 install + popd &>/dev/null + popd &>/dev/null + + printf "\nbuilding cctools / ld64\n" + + pushd ../../cctools &>/dev/null + git clean -fdx . &>/dev/null || true + ./autogen.sh + ./configure --target="$triple" --prefix="$target_dir" + make -j4 + make install &>/dev/null + + popd &>/dev/null + + local me=`whoami` + + for d in bin libexec SDK; do + chown -R $me:$me target/$d + cp -R target/$d $out + done + + # Crucial piece + rm -rf $out/$sdk + mv $out/SDK $out/$sdk +} + +do_build $src armv7 diff --git a/pkgs/development/compilers/ios-cross-compile/alt_wrapper.c b/pkgs/development/compilers/ios-cross-compile/alt_wrapper.c new file mode 100644 index 000000000000..928b64e6fd9d --- /dev/null +++ b/pkgs/development/compilers/ios-cross-compile/alt_wrapper.c @@ -0,0 +1,212 @@ +/* + This and the shell builder was originally written by + https://github.com/tpoechtrager but I had to modify both so that + they played nicely and were reproducible with nixpkgs. Much thanks + to MixRank for letting me work on this. + Edgar Aroutiounian <edgar.factorial@gmail.com> + */ + +#ifndef TARGET_CPU +#define TARGET_CPU "armv7" +#endif + +#ifndef OS_VER_MIN +#define OS_VER_MIN "4.2" +#endif + +#ifndef NIX_APPLE_HDRS +#define NIX_APPLE_HDRS "" +#endif + +#ifndef NIX_APPLE_FRAMEWORKS +#define NIX_APPLE_FRAMEWORKS "" +#endif + +#ifndef NIX_APPLE_PRIV_FRAMEWORKS +#define NIX_APPLE_PRIV_FRAMEWORKS "" +#endif + +#define _GNU_SOURCE + +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <stddef.h> +#include <unistd.h> +#include <limits.h> + +#ifdef __APPLE__ +#include <mach-o/dyld.h> +#endif + +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +#include <sys/sysctl.h> +#endif + +#ifdef __OpenBSD__ +#include <sys/types.h> +#include <sys/user.h> +#include <sys/stat.h> +#endif + +char *get_executable_path(char *epath, size_t buflen) +{ + char *p; +#ifdef __APPLE__ + unsigned int l = buflen; + if (_NSGetExecutablePath(epath, &l) != 0) return NULL; +#elif defined(__FreeBSD__) || defined(__DragonFly__) + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }; + size_t l = buflen; + if (sysctl(mib, 4, epath, &l, NULL, 0) != 0) return NULL; +#elif defined(__OpenBSD__) + int mib[4]; + char **argv; + size_t len; + size_t l; + const char *comm; + int ok = 0; + mib[0] = CTL_KERN; + mib[1] = KERN_PROC_ARGS; + mib[2] = getpid(); + mib[3] = KERN_PROC_ARGV; + if (sysctl(mib, 4, NULL, &len, NULL, 0) < 0) + abort(); + if (!(argv = malloc(len))) + abort(); + if (sysctl(mib, 4, argv, &len, NULL, 0) < 0) + abort(); + comm = argv[0]; + if (*comm == '/' || *comm == '.') { + char *rpath; + if ((rpath = realpath(comm, NULL))) { + strlcpy(epath, rpath, buflen); + free(rpath); + ok = 1; + } + } else { + char *sp; + char *xpath = strdup(getenv("PATH")); + char *path = strtok_r(xpath, ":", &sp); + struct stat st; + if (!xpath) + abort(); + while (path) { + snprintf(epath, buflen, "%s/%s", path, comm); + if (!stat(epath, &st) && (st.st_mode & S_IXUSR)) { + ok = 1; + break; + } + path = strtok_r(NULL, ":", &sp); + } + free(xpath); + } + free(argv); + if (!ok) return NULL; + l = strlen(epath); +#else + ssize_t l = readlink("/proc/self/exe", epath, buflen); +#endif + if (l <= 0) return NULL; + epath[buflen - 1] = '\0'; + p = strrchr(epath, '/'); + if (p) *p = '\0'; + return epath; +} + +char *get_filename(char *str) +{ + char *p = strrchr(str, '/'); + return p ? &p[1] : str; +} + +void target_info(char *argv[], char **triple, char **compiler) +{ + char *p = get_filename(argv[0]); + char *x = strrchr(p, '-'); + if (!x) abort(); + *compiler = &x[1]; + *x = '\0'; + *triple = p; +} + +void env(char **p, const char *name, char *fallback) +{ + char *ev = getenv(name); + if (ev) { *p = ev; return; } + *p = fallback; +} + +int main(int argc, char *argv[]) +{ + char **args = alloca(sizeof(char*) * (argc + 17)); + int i, j; + + char execpath[PATH_MAX+1]; + char sdkpath[PATH_MAX+1]; + char codesign_allocate[64]; + char osvermin[64]; + + char *compiler, *target, *sdk, *cpu, *osmin; + + target_info(argv, &target, &compiler); + + if (!get_executable_path(execpath, sizeof(execpath))) abort(); + snprintf(sdkpath, sizeof(sdkpath), "%s/../SDK", execpath); + + snprintf(codesign_allocate, sizeof(codesign_allocate), + "%s-codesign_allocate", target); + + setenv("CODESIGN_ALLOCATE", codesign_allocate, 1); + setenv("IOS_FAKE_CODE_SIGN", "1", 1); + + env(&sdk, "IOS_SDK_SYSROOT", sdkpath); + env(&cpu, "IOS_TARGET_CPU", TARGET_CPU); + + env(&osmin, "IPHONEOS_DEPLOYMENT_TARGET", OS_VER_MIN); + unsetenv("IPHONEOS_DEPLOYMENT_TARGET"); + + snprintf(osvermin, sizeof(osvermin), "-miphoneos-version-min=%s", osmin); + + for (i = 1; i < argc; ++i) { + if (!strcmp(argv[i], "-arch")) { + cpu = NULL; + break; + } + } + + i = 0; + + args[i++] = compiler; + args[i++] = "-target"; + args[i++] = target; + args[i++] = "-isysroot"; + args[i++] = sdk; + args[i++] = NIX_APPLE_HDRS; + args[i++] = "-F"; + args[i++] = NIX_APPLE_FRAMEWORKS; + args[i++] = "-F"; + args[i++] = NIX_APPLE_PRIV_FRAMEWORKS; + + if (cpu) { + args[i++] = "-arch"; + args[i++] = cpu; + } + + args[i++] = osvermin; + args[i++] = "-mlinker-version=253.3"; + + for (j = 1; j < argc; ++i, ++j) args[i] = argv[j]; + + args[i] = NULL; + + setenv("COMPILER_PATH", execpath, 1); + /* int k; */ + /* for (k = 0; k < i; k++) */ + /* printf("Compiler option: %s\n", args[k]); */ + /* printf("End of Compiler args\n"); */ + execvp(compiler, args); + + fprintf(stderr, "cannot invoke compiler, this is a serious bug\n"); + return 1; +} diff --git a/pkgs/development/compilers/jsonnet/default.nix b/pkgs/development/compilers/jsonnet/default.nix index a91b038ef2d4..73bdccb24f70 100644 --- a/pkgs/development/compilers/jsonnet/default.nix +++ b/pkgs/development/compilers/jsonnet/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchFromGitHub, emscripten }: -let version = "0.8.5"; in +let version = "0.8.6"; in stdenv.mkDerivation { name = "jsonnet-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { rev = "v${version}"; owner = "google"; repo = "jsonnet"; - sha256 = "14raml69zfr38r4qghdgy129vdq2vq1ivl3a2y02isfpijxcajxn"; + sha256 = "1dkvm81gi1j02zs00mqshn9i71bcnqbxsm5hh3wwa2y0sffvgkwh"; }; buildInputs = [ emscripten ]; diff --git a/pkgs/development/compilers/julia/0001.1-use-system-utf8proc.patch b/pkgs/development/compilers/julia/0001.1-use-system-utf8proc.patch new file mode 100644 index 000000000000..be4391399f55 --- /dev/null +++ b/pkgs/development/compilers/julia/0001.1-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/git.nix b/pkgs/development/compilers/julia/git.nix new file mode 100644 index 000000000000..2f4ce2f4b9e6 --- /dev/null +++ b/pkgs/development/compilers/julia/git.nix @@ -0,0 +1,170 @@ +{ 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 = "07730c4bd595b4d45a498a8ee0bcd53878ff7c10"; + libuv = fetchurl { + url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}"; + sha256 = "19nk8vdvx2mxyrwpndb7888c3b237ja5xvxr3jk5ah77ix3srr3h"; + }; + + rmathVersion = "0.1"; + rmath-julia = fetchurl { + url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}"; + sha256 = "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4"; + }; + + virtualenvVersion = "1.11.6"; + virtualenv = fetchurl { + url = "https://pypi.python.org/packages/source/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz"; + sha256 = "1xq4prmg25n9cz5zcvbqx68lmc3kl39by582vd8pzs9f3qalqyiy"; + }; +in + +stdenv.mkDerivation rec { + pname = "julia"; + version = "0.4.4-pre-2016-02-08"; + name = "${pname}-${version}"; + + src = fetchgit { + url = "https://github.com/JuliaLang/${pname}"; + rev = "cb93e6b70b4b1313b4de8c54e55e85c8eb43daa3"; + sha256 = "11dmbjqiidlbh8sj5s09zsbfslm3zs0kw7iq40281hl5dfsr7zm6"; + }; + + prePatch = '' + mkdir deps/srccache + cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz" + cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz" + cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz" + cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz" + ''; + + patches = [ + ./0001.1-use-system-utf8proc.patch + ./0002-use-system-suitesparse.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" + ''; + + preBuild = '' + sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile + sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile + ''; + + 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/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix index a6f5dcc21592..2433f5ab5797 100644 --- a/pkgs/development/compilers/kotlin/default.nix +++ b/pkgs/development/compilers/kotlin/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, makeWrapper, jre, unzip }: +{ stdenv, fetchurl, makeWrapper, jre, unzip, which }: stdenv.mkDerivation rec { - version = "1.0.0-rc-1036"; + version = "1.0.0"; name = "kotlin-${version}"; src = fetchurl { url = "https://github.com/JetBrains/kotlin/releases/download/build-${version}/kotlin-compiler-${version}.zip"; - sha256 = "8d72ff925678a2172fbbefcb6f0c5a195a300dccf240e5add16c3e8d86e13d67"; + sha256 = "0dp5mab35sv3nsgj488ibyn6x6xw2rka76s7kygbhqhjc429kpgy"; }; propagatedBuildInputs = [ jre ] ; - buildInputs = [ makeWrapper unzip ] ; + buildInputs = [ makeWrapper unzip which ] ; installPhase = '' mkdir -p $out diff --git a/pkgs/development/compilers/llvm/3.3/clang-purity.patch b/pkgs/development/compilers/llvm/3.3/clang-purity.patch deleted file mode 100644 index e82305189e8f..000000000000 --- a/pkgs/development/compilers/llvm/3.3/clang-purity.patch +++ /dev/null @@ -1,162 +0,0 @@ -diff -Naur cfe-3.3.src-orig/lib/Driver/ToolChains.cpp cfe-3.3.src/lib/Driver/ToolChains.cpp ---- cfe-3.3.src-orig/lib/Driver/ToolChains.cpp 2013-05-06 12:26:41.000000000 -0400 -+++ cfe-3.3.src/lib/Driver/ToolChains.cpp 2013-06-21 19:28:12.120364372 -0400 -@@ -2318,17 +2318,6 @@ - Paths); - } - } -- addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths); -- addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths); -- addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths); -- addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths); -- -- // Try walking via the GCC triple path in case of multiarch GCC -- // installations with strange symlinks. -- if (GCCInstallation.isValid()) -- addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + -- "/../../" + Multilib, Paths); -- - // Add the non-multilib suffixed paths (if potentially different). - if (GCCInstallation.isValid()) { - const std::string &LibPath = GCCInstallation.getParentLibPath(); -@@ -2341,8 +2330,6 @@ - addPathIfExists(LibPath, Paths); - } - } -- addPathIfExists(SysRoot + "/lib", Paths); -- addPathIfExists(SysRoot + "/usr/lib", Paths); - - IsPIEDefault = SanitizerArgs(*this, Args).hasZeroBaseShadow(); - } -@@ -2395,9 +2382,6 @@ - if (DriverArgs.hasArg(options::OPT_nostdinc)) - return; - -- if (!DriverArgs.hasArg(options::OPT_nostdlibinc)) -- addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include"); -- - if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { - llvm::sys::Path P(D.ResourceDir); - P.appendComponent("include"); -@@ -2479,26 +2463,6 @@ - "/usr/include/powerpc64-linux-gnu" - }; - ArrayRef<StringRef> MultiarchIncludeDirs; -- if (getTriple().getArch() == llvm::Triple::x86_64) { -- MultiarchIncludeDirs = X86_64MultiarchIncludeDirs; -- } else if (getTriple().getArch() == llvm::Triple::x86) { -- MultiarchIncludeDirs = X86MultiarchIncludeDirs; -- } else if (getTriple().getArch() == llvm::Triple::aarch64) { -- MultiarchIncludeDirs = AArch64MultiarchIncludeDirs; -- } else if (getTriple().getArch() == llvm::Triple::arm) { -- if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) -- MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs; -- else -- MultiarchIncludeDirs = ARMMultiarchIncludeDirs; -- } else if (getTriple().getArch() == llvm::Triple::mips) { -- MultiarchIncludeDirs = MIPSMultiarchIncludeDirs; -- } else if (getTriple().getArch() == llvm::Triple::mipsel) { -- MultiarchIncludeDirs = MIPSELMultiarchIncludeDirs; -- } else if (getTriple().getArch() == llvm::Triple::ppc) { -- MultiarchIncludeDirs = PPCMultiarchIncludeDirs; -- } else if (getTriple().getArch() == llvm::Triple::ppc64) { -- MultiarchIncludeDirs = PPC64MultiarchIncludeDirs; -- } - for (ArrayRef<StringRef>::iterator I = MultiarchIncludeDirs.begin(), - E = MultiarchIncludeDirs.end(); - I != E; ++I) { -@@ -2510,13 +2474,6 @@ - - if (getTriple().getOS() == llvm::Triple::RTEMS) - return; -- -- // Add an include of '/include' directly. This isn't provided by default by -- // system GCCs, but is often used with cross-compiling GCCs, and harmless to -- // add even when Clang is acting as-if it were a system compiler. -- addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include"); -- -- addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include"); - } - - /// \brief Helper to add the three variant paths for a libstdc++ installation. -diff -Naur cfe-3.3.src-orig/lib/Driver/Tools.cpp cfe-3.3.src/lib/Driver/Tools.cpp ---- cfe-3.3.src-orig/lib/Driver/Tools.cpp 2013-05-30 14:01:30.000000000 -0400 -+++ cfe-3.3.src/lib/Driver/Tools.cpp 2013-06-21 19:30:51.604726574 -0400 -@@ -5976,43 +5976,6 @@ - } - } - -- if (ToolChain.getArch() == llvm::Triple::arm || -- ToolChain.getArch() == llvm::Triple::thumb || -- (!Args.hasArg(options::OPT_static) && -- !Args.hasArg(options::OPT_shared))) { -- CmdArgs.push_back("-dynamic-linker"); -- if (isAndroid) -- CmdArgs.push_back("/system/bin/linker"); -- else if (ToolChain.getArch() == llvm::Triple::x86) -- CmdArgs.push_back("/lib/ld-linux.so.2"); -- else if (ToolChain.getArch() == llvm::Triple::aarch64) -- CmdArgs.push_back("/lib/ld-linux-aarch64.so.1"); -- else if (ToolChain.getArch() == llvm::Triple::arm || -- ToolChain.getArch() == llvm::Triple::thumb) { -- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) -- CmdArgs.push_back("/lib/ld-linux-armhf.so.3"); -- else -- CmdArgs.push_back("/lib/ld-linux.so.3"); -- } -- else if (ToolChain.getArch() == llvm::Triple::mips || -- ToolChain.getArch() == llvm::Triple::mipsel) -- CmdArgs.push_back("/lib/ld.so.1"); -- else if (ToolChain.getArch() == llvm::Triple::mips64 || -- ToolChain.getArch() == llvm::Triple::mips64el) { -- if (hasMipsN32ABIArg(Args)) -- CmdArgs.push_back("/lib32/ld.so.1"); -- else -- CmdArgs.push_back("/lib64/ld.so.1"); -- } -- else if (ToolChain.getArch() == llvm::Triple::ppc) -- CmdArgs.push_back("/lib/ld.so.1"); -- else if (ToolChain.getArch() == llvm::Triple::ppc64 || -- ToolChain.getArch() == llvm::Triple::systemz) -- CmdArgs.push_back("/lib64/ld64.so.1"); -- else -- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); -- } -- - CmdArgs.push_back("-o"); - CmdArgs.push_back(Output.getFilename()); - -diff -Naur cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp ---- cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp 2013-04-29 21:21:43.000000000 -0400 -+++ cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp 2013-06-21 19:32:47.627016565 -0400 -@@ -225,20 +225,6 @@ - const HeaderSearchOptions &HSOpts) { - llvm::Triple::OSType os = triple.getOS(); - -- if (HSOpts.UseStandardSystemIncludes) { -- switch (os) { -- case llvm::Triple::FreeBSD: -- case llvm::Triple::NetBSD: -- case llvm::Triple::OpenBSD: -- case llvm::Triple::Bitrig: -- break; -- default: -- // FIXME: temporary hack: hard-coded paths. -- AddPath("/usr/local/include", System, false); -- break; -- } -- } -- - // Builtin includes use #include_next directives and should be positioned - // just prior C include dirs. - if (HSOpts.UseBuiltinIncludes) { -@@ -332,9 +318,6 @@ - default: - break; - } -- -- if ( os != llvm::Triple::RTEMS ) -- AddPath("/usr/include", ExternCSystem, false); - } - - void InitHeaderSearch:: diff --git a/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch b/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch deleted file mode 100644 index de6a468b239f..000000000000 --- a/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- a/utils/TableGen/CMakeLists.txt (revision 190146) -+++ b/utils/TableGen/CMakeLists.txt (working copy) -@@ -1,4 +1,5 @@ - set(LLVM_LINK_COMPONENTS Support) -+set(LLVM_TOOLS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) - - add_tablegen(clang-tblgen CLANG - ClangASTNodesEmitter.cpp - diff --git a/pkgs/development/compilers/llvm/3.3/clang.nix b/pkgs/development/compilers/llvm/3.3/clang.nix deleted file mode 100644 index 316730fe3ba0..000000000000 --- a/pkgs/development/compilers/llvm/3.3/clang.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }: - -let - version = "3.3"; - gccReal = if (stdenv.cc.cc or null) == null then stdenv.cc else stdenv.cc.cc; -in - -stdenv.mkDerivation { - name = "clang-${version}"; - - buildInputs = [ perl llvm groff cmake libxml2 python ]; - - patches = [ ./clang-tablegen-dir.patch ] ++ - stdenv.lib.optional (stdenv.cc.libc != null) ./clang-purity.patch; - - cmakeFlags = [ - "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}" - "-DCMAKE_BUILD_TYPE=Release" - "-DLLVM_TARGETS_TO_BUILD=all" - "-DGCC_INSTALL_PREFIX=${gccReal}" - ] ++ stdenv.lib.optionals (stdenv.cc.libc != null) [ - "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include/" - ]; - - enableParallelBuilding = true; - - src = fetchurl { - url = "http://llvm.org/releases/${version}/cfe-${version}.src.tar.gz"; - sha256 = "15mrvw43s4frk1j49qr4v5viq68h8qlf10qs6ghd6mrsmgj5vddi"; - }; - - passthru = { - isClang = true; - cc = stdenv.cc.cc; - gcc = gccReal; - }; - - meta = { - homepage = http://clang.llvm.org/; - description = "A C language family frontend for LLVM"; - license = "BSD"; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; all; - }; -} diff --git a/pkgs/development/compilers/llvm/3.3/llvm.nix b/pkgs/development/compilers/llvm/3.3/llvm.nix deleted file mode 100644 index c19955ddaf03..000000000000 --- a/pkgs/development/compilers/llvm/3.3/llvm.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils, debugVersion ? false }: -let - version = "3.3"; -in stdenv.mkDerivation rec { - name = "llvm-${version}"; - - src = fetchurl { - url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz"; - sha256 = "0y3mfbb5qzcpw3v5qncn69x1hdrrrfirgs82ypi2annhf0g6nxk8"; - }; - - patches = [ - ./more-memory-for-bugpoint.patch # The default rlimits in 3.3 are too low for shared libraries. - ./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/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 ]; - - # hacky fix: created binaries need to be run before installation - preBuild = let LD = if stdenv.isDarwin then "DYLD" else "LD"; - in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib"; - - cmakeFlags = with stdenv; [ - "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" - "-DLLVM_BUILD_TESTS=ON" - "-DLLVM_ENABLE_FFI=ON" - "-DLLVM_BINUTILS_INCDIR=${binutils}/include" - "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=R600" # for mesa - ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON"; - - postBuild = '' - paxmark m bin/{lli,llvm-rtdyld} - - paxmark m unittests/ExecutionEngine/JIT/JITTests - paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests - paxmark m unittests/Support/SupportTests - ''; - - enableParallelBuilding = true; - - doCheck = true; - - meta = with stdenv.lib; { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = http://llvm.org/; - license = licenses.bsd3; - maintainers = with maintainers; [ lovek323 raskin viric ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch b/pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch deleted file mode 100644 index fa19ce4f5871..000000000000 --- a/pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -Naur llvm-3.3.src-orig/tools/bugpoint/bugpoint.cpp llvm-3.3.src/tools/bugpoint/bugpoint.cpp ---- llvm-3.3.src-orig/tools/bugpoint/bugpoint.cpp 2013-01-27 20:35:51.000000000 -0500 -+++ llvm-3.3.src/tools/bugpoint/bugpoint.cpp 2013-06-21 18:29:47.612731499 -0400 -@@ -48,9 +48,9 @@ - "is killed (default is 300s), 0 disables timeout")); - - static cl::opt<int> --MemoryLimit("mlimit", cl::init(-1), cl::value_desc("MBytes"), -+MemoryLimit("mlimit", cl::init(0), cl::value_desc("MBytes"), - cl::desc("Maximum amount of memory to use. 0 disables check." -- " Defaults to 100MB (800MB under valgrind).")); -+ " Check disabled by default.")); - - static cl::opt<bool> - UseValgrind("enable-valgrind", diff --git a/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch b/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch deleted file mode 100644 index ea7214febe5a..000000000000 --- a/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- llvm/lib/Target/AArch64/Utils/CMakeLists.txt 2013/05/18 04:32:15 182189 -+++ llvm/lib/Target/AArch64/Utils/CMakeLists.txt 2013/05/18 08:17:47 182190 -@@ -3,3 +3,5 @@ - add_llvm_library(LLVMAArch64Utils - AArch64BaseInfo.cpp - ) -+ -+add_dependencies(LLVMAArch64Utils AArch64CommonTableGen) diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix index 276065ad3503..8b5d14e7f5fb 100644 --- a/pkgs/development/compilers/polyml/default.nix +++ b/pkgs/development/compilers/polyml/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, autoreconfHook}: let - version = "5.5.2"; + version = "5.6"; in stdenv.mkDerivation { @@ -15,7 +15,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/polyml/polyml.${version}.tar.gz"; - sha256 = "10m680qdad6bd50bav9xjsgmsxw8yxg55vr7grbg0gvykzl2pzbk"; + sha256 = "05d6l2a5m9jf32a8kahwg2p2ph4x9rjf1nsl83331q3gwn5bkmr0"; }; meta = { diff --git a/pkgs/development/compilers/rustc/generic.nix b/pkgs/development/compilers/rustc/generic.nix index b88782517d76..50cf2f31095d 100644 --- a/pkgs/development/compilers/rustc/generic.nix +++ b/pkgs/development/compilers/rustc/generic.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchgit, fetchzip, file, python2, tzdata, procps -, llvmPackages_37, jemalloc, ncurses, binutils +, llvmPackages_37, jemalloc, ncurses, darwin, binutils , shortVersion, isRelease , forceBundledLLVM ? false @@ -10,7 +10,7 @@ , configureFlags ? [] , patches -}: +} @ args: assert !stdenv.isFreeBSD; @@ -37,6 +37,8 @@ let version = if isRelease then name = "rustc-${version}"; + procps = if stdenv.isDarwin then darwin.ps else args.procps; + llvmShared = llvmPackages_37.llvm.override { enableSharedLibraries = true; }; platform = if stdenv.system == "i686-linux" diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix index 4d2039669598..66730cf855a3 100644 --- a/pkgs/development/compilers/rustc/head.nix +++ b/pkgs/development/compilers/rustc/head.nix @@ -2,11 +2,11 @@ { stdenv, callPackage }: callPackage ./generic.nix { - shortVersion = "2016-02-01"; + shortVersion = "2016-02-22"; isRelease = false; forceBundledLLVM = true; - srcRev = "094c5b0d6"; - srcSha = "0908xzxb4q8vqwmzi5c2vzrhfsrw7d18r4n7mq3ir5671y9cqpvz"; + srcRev = "d1f422ec280b881b8236c5d173103bc799e1590e"; + srcSha = "b0753045ae438c0869d37f429fe84451dcacc4b2ab9413d34bf29fde94fde462"; /* 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/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 3212601e7899..82348f35e302 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.3.2"; + version = "1.3.3"; src = fetchurl { url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; - sha256 = "18mgj1h9wqi0zq4k7y5r5fk10mlbpgh3796d3dac75bpxabg30nk"; + sha256 = "0kzvwzz196ws9z20l8fm15m5gckhmkkc6lxvdib12mfvy80gcf6v"; }; patchPhase = '' diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix index 93aa7811449a..df79b0ba70ee 100644 --- a/pkgs/development/compilers/uhc/default.nix +++ b/pkgs/development/compilers/uhc/default.nix @@ -1,23 +1,17 @@ # Note: The Haskell package set used for building UHC is # determined in the file top-level/haskell-packages.nix. -# We are using Stackage LTS to avoid constant breakage. -# Bump the Stackage LTS release to the last release if possible -# when a new UHC version is released. -{ stdenv, coreutils, fetchgit, m4, libtool, clang, ghcWithPackages }: +{ stdenv, coreutils, m4, libtool, clang, ghcWithPackages, fetchFromGitHub }: 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.2"; + version = "1.1.9.3"; name = "uhc-${version}"; - src = fetchgit { - url = "https://github.com/UU-ComputerScience/uhc.git"; - rev = "292d259113b98c32154a5be336875751caa5edbc"; - sha256 = "1f462xq9ilkp9mnxm8hxhh1cdwps5d0hxysyibxryk32l7hh53cz"; + src = fetchFromGitHub { + owner = "UU-ComputerScience"; + repo = "uhc"; + rev = "v${version}"; + sha256 = "1r3mja77dqj2ncgp1d9nnc7dhp3gzrb1b1qvml3rq2321mn3m2ad"; }; postUnpack = "sourceRoot=\${sourceRoot}/EHC"; @@ -55,10 +49,5 @@ 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"]; - # Hydra currently doesn't build the Stackage LTS package set, - # and we don't want to build all our haskell dependencies - # from scratch just to build UHC. - hydraPlatforms = stdenv.lib.platforms.none; - }; } |