about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/compcert/default.nix6
-rw-r--r--pkgs/development/compilers/ecl/libffi-prefix.patch39
-rw-r--r--pkgs/development/compilers/elm/default.nix2
-rw-r--r--pkgs/development/compilers/fstar/default.nix78
-rw-r--r--pkgs/development/compilers/ghc/osx-dylib-resolver.patch60
-rw-r--r--pkgs/development/compilers/ghcjs/default.nix1
-rw-r--r--pkgs/development/compilers/ghcjs/shims.nix4
-rw-r--r--pkgs/development/compilers/hhvm/3918a2ccceb98230ff517601ad60aa6bee36e2c4.patch40
-rw-r--r--pkgs/development/compilers/hhvm/8207a31c26cc42fee79363a14c4a8f4fcbfffe63.patch40
-rw-r--r--pkgs/development/compilers/julia/0001-work-around-buggy-wcwidth.patch24
-rw-r--r--pkgs/development/compilers/mono/default.nix10
-rw-r--r--pkgs/development/compilers/nim/default.nix8
-rw-r--r--pkgs/development/compilers/openjdk/8.nix5
-rw-r--r--pkgs/development/compilers/openjdk/linux-4.0.patch12
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8-linux.nix6
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix6
-rw-r--r--pkgs/development/compilers/squeak/default.nix39
-rw-r--r--pkgs/development/compilers/uhc/default.nix2
-rw-r--r--pkgs/development/compilers/urweb/default.nix4
19 files changed, 127 insertions, 259 deletions
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 3b1ebca17965..190f2b7a96af 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   name    = "compcert-${version}";
-  version = "2.5";
+  version = "2.6";
 
   src = fetchurl {
     url    = "http://compcert.inria.fr/release/${name}.tgz";
-    sha256 = "15gxarl2a8mz33fdn8pycj0ccazgmllbg2940n7aqdjlz807p11n";
+    sha256 = "05sdxgg2w7ykw6xbcq6dl2kzxdz4qzhjajiawpy6490wqiji7wm1";
   };
 
-  buildInputs = [ coq ] ++ (with ocamlPackages; [ ocaml menhir ]);
+  buildInputs = [ coq ] ++ (with ocamlPackages; [ ocaml findlib menhir ]);
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/ecl/libffi-prefix.patch b/pkgs/development/compilers/ecl/libffi-prefix.patch
deleted file mode 100644
index d02cc214f31f..000000000000
--- a/pkgs/development/compilers/ecl/libffi-prefix.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/configure.in b/src/configure.in
-index 434da49..642c66c 100644
---- ecl-15.3.7.orig/src/configure.ac
-+++ ecl-15.3.7/src/configure.ac
-@@ -191,6 +191,11 @@ AC_ARG_WITH(dffi,
-                   [(system|included|auto|no, default=AUTO if libffi available)]),
-   [enable_libffi=${withval}], [enable_libffi=auto])
- 
-+AC_ARG_WITH(libffi-prefix,
-+  AS_HELP_STRING( [--with-libffi-prefix=path],
-+                  [prefix for system LIBFFI includes and libraries] ),
-+  [LIBFFI_INCDIR="$withval/include"; LIBFFI_LIBDIR="$withval/lib"], [])
-+
- AC_ARG_WITH(fpe,
-   AS_HELP_STRING( [--with-fpe],
-                   [detect floating point exceptions]
-@@ -368,6 +373,22 @@ else
-   INFOEXT=info
- fi
- 
-+dnl libffi
-+
-+if test "x$LIBFFI_INCDIR" != "x"; then
-+  LIBFFI_CPPFLAGS="-I$LIBFFI_INCDIR"
-+fi
-+if test "x$LIBFFI_LIBDIR" != "x"; then
-+  LIBFFI_LDFLAGS="-L$LIBFFI_LIBDIR"
-+  if test "$enable_rpath" = "yes"; then
-+    if (echo "$ECL_LDRPATH" | grep '~A') > /dev/null; then
-+      LIBFFI_LDFLAGS=`echo $ECL_LDRPATH | sed "s,~A,$LIBFFI_LIBDIR,"`" $LIBFFI_LDFLAGS"
-+    fi
-+  fi
-+fi
-+CPPFLAGS="$CPPFLAGS $LIBFFI_CPPFLAGS"
-+LDFLAGS="$LDFLAGS $LIBFFI_LDFLAGS"
-+
- dnl ======================================================================
- dnl GNU multiprecision library
- dnl
diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix
index 9b9773e6973f..408af6e75c66 100644
--- a/pkgs/development/compilers/elm/default.nix
+++ b/pkgs/development/compilers/elm/default.nix
@@ -34,7 +34,7 @@ let
       EOF
     '' + lib.concatStrings cmds;
 
-  hsPkgs = haskell.packages.ghc7102.override {
+  hsPkgs = haskell.packages.ghc7103.override {
     overrides = self: super:
       let hlib = haskell.lib;
           elmRelease = import ./packages/release.nix { inherit (self) callPackage; };
diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix
new file mode 100644
index 000000000000..e6fe97c6fe8f
--- /dev/null
+++ b/pkgs/development/compilers/fstar/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, fetchFromGitHub, mono, fsharp, dotnetPackages, z3, ocamlPackages, openssl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "fstar-${version}";
+  version = "2016-01-12";
+
+  src = fetchFromGitHub {
+    owner = "FStarLang";
+    repo = "FStar";
+    rev = "af9a231566ca52c9bc3409398c801ae9e8191cfa";
+    sha256 = "1zri4gqr6j6hygnh0ckfhq93mqwk9i19vng8chnmvlr27zq734a2";
+  };
+
+  buildInputs = with ocamlPackages; [
+    mono fsharp z3 dotnetPackages.FsLexYacc ocaml findlib ocaml_batteries openssl makeWrapper
+  ];
+
+  preBuild = ''
+    substituteInPlace src/Makefile --replace "\$(RUNTIME) VS/.nuget/NuGet.exe" "true"
+
+    source setenv.sh
+  '';
+
+  makeFlags = [
+    "FSYACC=${dotnetPackages.FsLexYacc}/bin/fsyacc"
+    "FSLEX=${dotnetPackages.FsLexYacc}/bin/fslex"
+    "NUGET=true"
+    "PREFIX=$(out)"
+  ];
+
+  buildFlags = "-C src";
+
+  # Now that the .NET fstar.exe is built, use it to build the native OCaml binary
+  postBuild = ''
+    patchShebangs bin/fstar.exe
+
+    # Workaround for fsharp/fsharp#419
+    cp ${fsharp}/lib/mono/4.5/FSharp.Core.dll bin/
+
+    # Use the built .NET binary to extract the sources of itself from F* to OCaml
+    make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}} \
+        $makeFlags "''${makeFlagsArray[@]}" \
+        ocaml -C src
+
+    # Build the extracted OCaml sources
+    make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}} \
+        $makeFlags "''${makeFlagsArray[@]}" \
+        -C src/ocaml-output
+  '';
+
+  doCheck = true;
+
+  preCheck = "ulimit -s unlimited";
+
+  # Basic test suite:
+  #checkFlags = "VERBOSE=y -C examples";
+
+  # Complete, but heavyweight test suite:
+  checkTarget = "regressions";
+  checkFlags = "VERBOSE=y -C src";
+
+  installFlags = "-C src/ocaml-output";
+
+  postInstall = ''
+    # Workaround for FStarLang/FStar#456
+    mv $out/lib/fstar/* $out/lib/
+    rmdir $out/lib/fstar
+
+    wrapProgram $out/bin/fstar.exe --prefix PATH ":" "${z3}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "ML-like functional programming language aimed at program verification";
+    homepage = "https://www.fstar-lang.org";
+    license = licenses.asl20;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/compilers/ghc/osx-dylib-resolver.patch b/pkgs/development/compilers/ghc/osx-dylib-resolver.patch
deleted file mode 100644
index 50236026031e..000000000000
--- a/pkgs/development/compilers/ghc/osx-dylib-resolver.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/compiler/ghci/Linker.hs b/compiler/ghci/Linker.hs
---- a/compiler/ghci/Linker.hs
-+++ b/compiler/ghci/Linker.hs
-@@ -119,9 +119,9 @@
-         -- that is really important
-         pkgs_loaded :: ![PackageKey],
- 
--        -- we need to remember the name of the last temporary DLL/.so
--        -- so we can link it
--        last_temp_so :: !(Maybe (FilePath, String)) }
-+        -- we need to remember the name of previous temporary DLL/.so
-+        -- libraries so we can link them (see #10322)
-+        temp_sos :: ![(FilePath, String)] }
- 
- 
- emptyPLS :: DynFlags -> PersistentLinkerState
-@@ -131,7 +131,7 @@
-                         pkgs_loaded = init_pkgs,
-                         bcos_loaded = [],
-                         objs_loaded = [],
--                        last_temp_so = Nothing }
-+                        temp_sos = [] }
- 
-   -- Packages that don't need loading, because the compiler
-   -- shares them with the interpreted program.
-@@ -841,19 +841,19 @@
-         dflags2 = dflags1 {
-                       -- We don't want the original ldInputs in
-                       -- (they're already linked in), but we do want
--                      -- to link against the previous dynLoadObjs
--                      -- library if there was one, so that the linker
-+                      -- to link against previous dynLoadObjs
-+                      -- libraries if there were any, so that the linker
-                       -- can resolve dependencies when it loads this
-                       -- library.
-                       ldInputs =
--                        case last_temp_so pls of
--                          Nothing -> []
--                          Just (lp, l)  ->
-+                        concatMap
-+                            (\(lp, l) ->
-                                  [ Option ("-L" ++ lp)
-                                  , Option ("-Wl,-rpath")
-                                  , Option ("-Wl," ++ lp)
-                                  , Option ("-l" ++  l)
--                                 ],
-+                                 ])
-+                            (temp_sos pls),
-                       -- Even if we're e.g. profiling, we still want
-                       -- the vanilla dynamic libraries, so we set the
-                       -- ways / build tag to be just WayDyn.
-@@ -868,7 +868,7 @@
-     consIORef (filesToNotIntermediateClean dflags) soFile
-     m <- loadDLL soFile
-     case m of
--        Nothing -> return pls { last_temp_so = Just (libPath, libName) }
-+        Nothing -> return pls { temp_sos = (libPath, libName) : temp_sos pls }
-         Just err -> panic ("Loading temp shared object failed: " ++ err)
- 
- rmDupLinkables :: [Linkable]    -- Already loaded
diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix
index 533302cadb6a..91570752380e 100644
--- a/pkgs/development/compilers/ghcjs/default.nix
+++ b/pkgs/development/compilers/ghcjs/default.nix
@@ -119,5 +119,4 @@ mkDerivation (rec {
   license = stdenv.lib.licenses.bsd3;
   platforms = ghc.meta.platforms;
   maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan ];
-  broken = true; # depends on outdated versions of its Haskell build inputs
 })
diff --git a/pkgs/development/compilers/ghcjs/shims.nix b/pkgs/development/compilers/ghcjs/shims.nix
index e596d57d74ee..dbbf15de6c8b 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 = "09e37565df8bbf876d4b7f36fbc19aa2140844a7";
-  sha256 = "000ds78pv56v4drbdx3y7xncx9224l28n7cal9gy3inns1mq6yhj";
+  rev = "45f44f5f027ec03264b61b8049951e765cc0b23a";
+  sha256 = "090pz4rzwlcrjavbbzxhf6c7rq7rzmr10g89hmhw4c65c4fyyykp";
 }
diff --git a/pkgs/development/compilers/hhvm/3918a2ccceb98230ff517601ad60aa6bee36e2c4.patch b/pkgs/development/compilers/hhvm/3918a2ccceb98230ff517601ad60aa6bee36e2c4.patch
deleted file mode 100644
index 8ee5b31925f8..000000000000
--- a/pkgs/development/compilers/hhvm/3918a2ccceb98230ff517601ad60aa6bee36e2c4.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 3918a2ccceb98230ff517601ad60aa6bee36e2c4 Mon Sep 17 00:00:00 2001
-From: Alex Malyshev <alexanderm@fb.com>
-Date: Tue, 28 Oct 2014 15:55:34 -0700
-Subject: [PATCH] Replace use of MAX macro with std::max in ZendPack
-
-Summary: This has randomly bitten me in open source builds. I intermittently get
-an error saying that MAX isn't defined.
-
-Instead of trying to figure out what's going on, I'm just gonna switch
-it to std::max.
-
-Reviewed By: @paulbiss
-
-Differential Revision: D1636740
----
- hphp/runtime/base/zend-pack.cpp | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/hphp/runtime/base/zend-pack.cpp b/hphp/runtime/base/zend-pack.cpp
-index d878ea4..c3ee14d 100644
---- a/hphp/runtime/base/zend-pack.cpp
-+++ b/hphp/runtime/base/zend-pack.cpp
-@@ -21,6 +21,8 @@
- #include "hphp/runtime/base/builtin-functions.h"
- #include "hphp/util/tiny-vector.h"
- 
-+#include <algorithm>
-+
- namespace HPHP {
- 
- #define INC_OUTPUTPOS(a,b)                                              \
-@@ -294,7 +296,7 @@ Variant ZendPack::pack(const String& fmt, const Array& argv) {
-     case 'a':
-     case 'A':
-     case 'Z': {
--      int arg_cp = (code != 'Z') ? arg : MAX(0, arg - 1);
-+      int arg_cp = (code != 'Z') ? arg : std::max(0, arg - 1);
-       memset(&output[outputpos], (code != 'A') ? '\0' : ' ', arg);
-       val = argv[currentarg++].toString();
-       s = val.c_str();
diff --git a/pkgs/development/compilers/hhvm/8207a31c26cc42fee79363a14c4a8f4fcbfffe63.patch b/pkgs/development/compilers/hhvm/8207a31c26cc42fee79363a14c4a8f4fcbfffe63.patch
deleted file mode 100644
index f7cf29b739f0..000000000000
--- a/pkgs/development/compilers/hhvm/8207a31c26cc42fee79363a14c4a8f4fcbfffe63.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 8207a31c26cc42fee79363a14c4a8f4fcbfffe63 Mon Sep 17 00:00:00 2001
-From: Jordan DeLong <jdelong@fb.com>
-Date: Mon, 6 Oct 2014 18:30:28 -0700
-Subject: [PATCH] Remove some MIN/MAX macro uses in the emitter
-
-Summary: <algorithm> has preferable type-safe versions that don't double-eval
-their args.
-
-Reviewed By: @paulbiss
-
-Differential Revision: D1599803
----
- hphp/compiler/analysis/emitter.cpp | 6 +++---
- hphp/util/compatibility.h          | 4 ----
- 2 files changed, 3 insertions(+), 7 deletions(-)
-
-diff --git a/hphp/compiler/analysis/emitter.cpp b/hphp/compiler/analysis/emitter.cpp
-index 321e637..b1d3f2d 100644
---- a/hphp/compiler/analysis/emitter.cpp
-+++ b/hphp/compiler/analysis/emitter.cpp
-@@ -799,8 +799,8 @@ void SymbolicStack::push(char sym) {
-   if (sym != StackSym::W && sym != StackSym::K && sym != StackSym::L &&
-       sym != StackSym::T && sym != StackSym::I && sym != StackSym::H) {
-     m_actualStack.push_back(m_symStack.size());
--    *m_actualStackHighWaterPtr = MAX(*m_actualStackHighWaterPtr,
--                                     (int)m_actualStack.size());
-+    *m_actualStackHighWaterPtr = std::max(*m_actualStackHighWaterPtr,
-+                                          (int)m_actualStack.size());
-   }
-   m_symStack.push_back(SymEntry(sym));
- }
-@@ -1010,7 +1010,7 @@ int SymbolicStack::sizeActual() const {
- 
- void SymbolicStack::pushFDesc() {
-   m_fdescCount += kNumActRecCells;
--  *m_fdescHighWaterPtr = MAX(*m_fdescHighWaterPtr, m_fdescCount);
-+  *m_fdescHighWaterPtr = std::max(*m_fdescHighWaterPtr, m_fdescCount);
- }
- 
- void SymbolicStack::popFDesc() {
diff --git a/pkgs/development/compilers/julia/0001-work-around-buggy-wcwidth.patch b/pkgs/development/compilers/julia/0001-work-around-buggy-wcwidth.patch
deleted file mode 100644
index 7c4870fb2a89..000000000000
--- a/pkgs/development/compilers/julia/0001-work-around-buggy-wcwidth.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From b9070aeab0ab672ffe321089631f9afe263b0caa Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Thu, 4 Jun 2015 12:03:32 -0500
-Subject: [PATCH] work around buggy wcwidth
-
----
- test/unicode.jl | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/test/unicode.jl b/test/unicode.jl
-index 52c3e6a..f1ef698 100644
---- a/test/unicode.jl
-+++ b/test/unicode.jl
-@@ -103,5 +103,6 @@ end
- 
- # handling of embedded NUL chars (#10958)
- @test length("\0w") == length("\0α") == 2
--@test strwidth("\0w") == strwidth("\0α") == 1
-+@test strwidth("\0w") == charwidth('\0') + charwidth('w')
-+@test strwidth("\0α") == charwidth('\0') + charwidth('α')
- @test normalize_string("\0W", casefold=true) == "\0w"
--- 
-2.4.1
-
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index a7a4d8da4edc..940089cafe92 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert }:
+{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc }:
 
 let
   llvm     = callPackage ./llvm.nix { };
@@ -14,10 +14,12 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib
-    ];
+    ]
+    ++ (stdenv.lib.optionals stdenv.isDarwin [ Foundation libobjc ]);
+
   propagatedBuildInputs = [glib];
 
-  NIX_LDFLAGS = "-lgcc_s" ;
+  NIX_LDFLAGS = if stdenv.isDarwin then "" else "-lgcc_s" ;
 
   # To overcome the bug https://bugzilla.novell.com/show_bug.cgi?id=644723
   dontDisableStatic = true;
@@ -68,7 +70,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://mono-project.com/;
     description = "Cross platform, open source .NET development framework";
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; darwin ++ linux;
     maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice obadz ];
     license = stdenv.lib.licenses.free; # Combination of LGPL/X11/GPL ?
   };
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index cfa725d3d315..f81370992a65 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -1,13 +1,11 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "nim-0.11.2";
-
-  buildInputs = [ unzip ];
+  name = "nim-0.13.0";
 
   src = fetchurl {
-    url = "http://nim-lang.org/download/${name}.zip";
-    sha256 = "0ay8gkd8fki3d8kbnw2px7rjdlr54kyqh5n1rjhq4vjmqs2wg5s4";
+    url = "http://nim-lang.org/download/${name}.tar.xz";
+    sha256 = "1adiij20n1cigsc44dbp60jdbydmkfp7ixbddmcn6h4dfvjzaqfd";
   };
 
   buildPhase   = "sh build.sh";
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index 48d7dd5dffbf..7ba6b56a8f38 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -141,6 +141,11 @@ let
       rm -rf $out/lib/openjdk/jre/bina
       ln -s $out/lib/openjdk/bin $out/lib/openjdk/jre/bin
 
+      # Make sure cmm/*.pf are not symlinks:
+      # https://youtrack.jetbrains.com/issue/IDEA-147272
+      rm -rf $out/lib/openjdk/jre/lib/cmm
+      ln -s {$jre,$out}/lib/openjdk/jre/lib/cmm
+
       # Set PaX markings
       exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
       echo "to mark: *$exes*"
diff --git a/pkgs/development/compilers/openjdk/linux-4.0.patch b/pkgs/development/compilers/openjdk/linux-4.0.patch
deleted file mode 100644
index c3d7cf8b6ca5..000000000000
--- a/pkgs/development/compilers/openjdk/linux-4.0.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur openjdk-7u65-b32/hotspot/make/linux/Makefile openjdk-7u65-b32-patch/hotspot/make/linux/Makefile
---- openjdk-7u65-b32/hotspot/make/linux/Makefile	2014-07-17 03:08:38.000000000 -0700
-+++ openjdk-7u65-b32-patch/hotspot/make/linux/Makefile	2015-04-21 05:33:12.170190385 -0700
-@@ -231,7 +231,7 @@
- # Solaris 2.5.1, 2.6).
- # Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
- 
--SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%
-+SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
- OS_VERSION := $(shell uname -r)
- EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
- 
diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
index 258af23a1bc9..b71c97d56224 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "65";
+  patchVersion = "71";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256_i686 = "1shri8mw648piivyparbpzskiq4i0z6kain9kr7ylav5mv7h66fg";
-  sha256_x86_64 = "1rr6g2sb0f1vyf3l9nvj49ah28bsid92z0lj9pfjlb12vjn2mnw8";
+  sha256_i686 = "11wcizv4gvlffzn2wj34ffwrq21xwh4ikg2vjv63avdfp2hazjqv";
+  sha256_x86_64 = "18jqdrlbv4sdds2hlmp437waq7r9b33f7hdp8kb6l7pkrizr9nwv";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
index 5900e08e19f8..f4bb68500d23 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "66";
+  patchVersion = "72";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256_i686 = "18l4r89na4z92djcdgyinjlhl6fmgz4x1sm40lwrsiwzg26nl0i1";
-  sha256_x86_64 = "02nwcgplq14vj1vkz99r5x20lg86hscrxb5aaifwcny7l5gsv5by";
+  sha256_i686 = "023rnlm5v7d9w4d7bgcac8j0r1vqkbv6fl20k8354pzpdjg6liaq";
+  sha256_x86_64 = "167ca39a6y0n8l87kdm5nv2hrp0wf6g4mw1rbychjc04f5igkrs6";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/squeak/default.nix b/pkgs/development/compilers/squeak/default.nix
index 19b73a0bde5e..8aa980b72e60 100644
--- a/pkgs/development/compilers/squeak/default.nix
+++ b/pkgs/development/compilers/squeak/default.nix
@@ -1,33 +1,15 @@
 { stdenv, fetchurl, cmake, coreutils, dbus, freetype, glib, gnused
 , libpthreadstubs, pango, pkgconfig, libpulseaudio, which }:
 
-let version = "4.10.2.2614"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "squeak-${version}";
+  version = "4.10.2.2614";
 
   src = fetchurl {
     sha256 = "0bpwbnpy2sb4gylchfx50sha70z36bwgdxraym4vrr93l8pd3dix";
     url = "http://squeakvm.org/unix/release/Squeak-${version}-src.tar.gz";
   };
 
-  meta = with stdenv.lib; {
-    inherit version;
-    description = "Smalltalk programming language and environment";
-    longDescription = ''
-      Squeak is a full-featured implementation of the Smalltalk programming
-      language and environment based on (and largely compatible with) the
-      original Smalltalk-80 system. Squeak has very powerful 2- and 3-D
-      graphics, sound, video, MIDI, animation and other multimedia
-      capabilities. It also includes a customisable framework for creating
-      dynamic HTTP servers and interactively extensible Web sites.
-    '';
-    homepage = http://squeakvm.org/;
-    downloadPage = http://squeakvm.org/unix/index.html;
-    license = with licenses; [ asl20 mit ];
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
-  };
-
   buildInputs = [ coreutils dbus freetype glib gnused libpthreadstubs
     pango libpulseaudio which ];
   nativeBuildInputs = [ cmake pkgconfig ];
@@ -44,4 +26,21 @@ stdenv.mkDerivation {
   '';
 
   enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Smalltalk programming language and environment";
+    longDescription = ''
+      Squeak is a full-featured implementation of the Smalltalk programming
+      language and environment based on (and largely compatible with) the
+      original Smalltalk-80 system. Squeak has very powerful 2- and 3-D
+      graphics, sound, video, MIDI, animation and other multimedia
+      capabilities. It also includes a customisable framework for creating
+      dynamic HTTP servers and interactively extensible Web sites.
+    '';
+    homepage = http://squeakvm.org/;
+    downloadPage = http://squeakvm.org/unix/index.html;
+    license = with licenses; [ asl20 mit ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+  };
 }
diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix
index eda5157bb757..0d91ca2ff3b2 100644
--- a/pkgs/development/compilers/uhc/default.nix
+++ b/pkgs/development/compilers/uhc/default.nix
@@ -51,5 +51,7 @@ in stdenv.mkDerivation rec {
     # support the -static flag and thus breaks the build.
     platforms = ["x86_64-linux"];
 
+    broken = true;  # https://github.com/UU-ComputerScience/uhc/issues/69
+
   };
 }
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index c53cddc0ad1a..5fbfd8a96ac9 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "urweb-${version}";
-  version = "20151018";
+  version = "20151220";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "08p52p5m1xl2gzdchnayky44mm2b0x8hv0f00iviyyv1gnx3lpy0";
+    sha256 = "155maalm4l1ni7az3yqs0lrgl5f2xr3pz4118ag1hnk82qldd4s5";
   };
 
   buildInputs = [ openssl mlton mysql postgresql sqlite ];