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/asn1c/default.nix4
-rw-r--r--pkgs/development/compilers/fstar/default.nix21
-rw-r--r--pkgs/development/compilers/gcc/4.5/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix8
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix8
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix8
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix7
-rw-r--r--pkgs/development/compilers/ghcjs/base.nix2
-rw-r--r--pkgs/development/compilers/ghcjs/default.nix2
-rw-r--r--pkgs/development/compilers/gnu-cobol/default.nix35
-rw-r--r--pkgs/development/compilers/go/1.7.nix6
-rw-r--r--pkgs/development/compilers/go/1.8.nix20
-rw-r--r--pkgs/development/compilers/go/ssl-cert-file-1.7.patch78
-rw-r--r--pkgs/development/compilers/go/ssl-cert-file.patch (renamed from pkgs/development/compilers/go/ssl-cert-file-1.8.patch)0
-rw-r--r--pkgs/development/compilers/llvm/4/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/4/openmp.nix25
-rw-r--r--pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--pkgs/development/compilers/souper/default.nix9
19 files changed, 119 insertions, 130 deletions
diff --git a/pkgs/development/compilers/asn1c/default.nix b/pkgs/development/compilers/asn1c/default.nix
index d3c4bf19a65b..eda895d726a0 100644
--- a/pkgs/development/compilers/asn1c/default.nix
+++ b/pkgs/development/compilers/asn1c/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "asn1c-${version}";
-  version = "0.9.27";
+  version = "0.9.28";
 
   src = fetchurl {
     url = "http://lionet.info/soft/asn1c-${version}.tar.gz";
-    sha256 = "17nvn2kzvlryasr9dzqg6gs27b9lvqpval0k31pb64bjqbhn8pq2";
+    sha256 = "1fc64g45ykmv73kdndr4zdm4wxhimhrir4rxnygxvwkych5l81w0";
   };
 
   outputs = [ "out" "doc" "man" ];
diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix
index 24a4135bde13..00714875ffc2 100644
--- a/pkgs/development/compilers/fstar/default.nix
+++ b/pkgs/development/compilers/fstar/default.nix
@@ -1,26 +1,37 @@
-{ stdenv, fetchFromGitHub, mono, fsharp, dotnetPackages, z3, ocamlPackages, openssl, makeWrapper }:
+{ stdenv, fetchFromGitHub, mono, fsharp, dotnetPackages, z3, ocamlPackages, openssl, makeWrapper, pkgconfig, file }:
 
 stdenv.mkDerivation rec {
   name = "fstar-${version}";
-  version = "0.9.2.0";
+  version = "0.9.4.0";
 
   src = fetchFromGitHub {
     owner = "FStarLang";
     repo = "FStar";
     rev = "v${version}";
-    sha256 = "0vrxmxfaslngvbvkzpm1gfl1s34hdsprv8msasxf9sjqc3hlir3l";
+    sha256 = "130779p5plsgvz0dkcqycns3vwrvyfl138nq2xdhd3rkdsbyyvb7";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   buildInputs = with ocamlPackages; [
-    mono fsharp z3 dotnetPackages.FsLexYacc ocaml findlib ocaml_batteries openssl
+    mono fsharp z3 dotnetPackages.FsLexYacc ocaml findlib ocaml_batteries
+    zarith camlp4 yojson pprint openssl pkgconfig file
   ];
 
   preBuild = ''
     substituteInPlace src/Makefile --replace "\$(RUNTIME) VS/.nuget/NuGet.exe" "true"
+    substituteInPlace src/VS/.nuget/NuGet.targets --replace "mono" "true"
 
-    source setenv.sh
+    # Fails with bad interpreter otherwise
+    patchShebangs src/tools
+    patchShebangs bin
+
+    export FSharpTargetsPath="$(dirname $(pkg-config FSharp.Core --variable=Libraries))/Microsoft.FSharp.Targets"
+    # remove hardcoded windows paths
+    sed -i '/<FSharpTargetsPath/d' src/*/*.fsproj
+
+    mkdir -p src/VS/packages/FsLexYacc.6.1.0
+    ln -s ${dotnetPackages.FsLexYacc}/lib/dotnet/FsLexYacc src/VS/packages/FsLexYacc.6.1.0/build
   '';
 
   makeFlags = [
diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix
index 19a538e613ee..288a91398d29 100644
--- a/pkgs/development/compilers/gcc/4.5/default.nix
+++ b/pkgs/development/compilers/gcc/4.5/default.nix
@@ -78,6 +78,9 @@ let version = "4.5.4";
       withArch +
       withCpu +
       withAbi +
+      # Ensure that -print-prog-name is able to find the correct programs.
+      " --with-as=${binutils}/bin/${cross.config}-as" +
+      " --with-ld=${binutils}/bin/${cross.config}-ld" +
       (if crossMingw && crossStageStatic then
         " --with-headers=${libcCross}/include" +
         " --with-gcc" +
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 714554019e4c..2d615e3b8e8b 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -143,6 +143,9 @@ let version = "4.8.5";
         withFpu +
         withFloat +
         withMode +
+        # Ensure that -print-prog-name is able to find the correct programs.
+        " --with-as=${binutils}/bin/${cross.config}-as" +
+        " --with-ld=${binutils}/bin/${cross.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -169,10 +172,6 @@ let version = "4.8.5";
           (if crossDarwin then " --with-sysroot=${libcCross.out}/share/sysroot"
            else                " --with-headers=${libcCross.dev}/include") +
           # Ensure that -print-prog-name is able to find the correct programs.
-          (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutils}/bin/${cross.config}-as" +
-            " --with-ld=${binutils}/bin/${cross.config}-ld"
-          )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
           (if crossMingw then
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 3bf279635aa3..93f46fdd0f6d 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -145,6 +145,9 @@ let version = "4.9.4";
         withFpu +
         withFloat +
         withMode +
+        # Ensure that -print-prog-name is able to find the correct programs.
+        " --with-as=${binutils}/bin/${cross.config}-as" +
+        " --with-ld=${binutils}/bin/${cross.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -169,11 +172,6 @@ let version = "4.9.4";
           else
           (if crossDarwin then " --with-sysroot=${libcCross.out}/share/sysroot"
            else                " --with-headers=${libcCross.dev}/include") +
-          # Ensure that -print-prog-name is able to find the correct programs.
-          (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutils}/bin/${cross.config}-as" +
-            " --with-ld=${binutils}/bin/${cross.config}-ld"
-          )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
           (if crossMingw then
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index 79c5b805f453..296b899830b3 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -149,6 +149,9 @@ let version = "5.4.0";
         withFpu +
         withFloat +
         withMode +
+        # Ensure that -print-prog-name is able to find the correct programs.
+        " --with-as=${binutils}/bin/${cross.config}-as" +
+        " --with-ld=${binutils}/bin/${cross.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -173,11 +176,6 @@ let version = "5.4.0";
           else
           (if crossDarwin then " --with-sysroot=${getLib libcCross}/share/sysroot"
            else                " --with-headers=${getDev libcCross}/include") +
-          # Ensure that -print-prog-name is able to find the correct programs.
-          (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutils}/bin/${cross.config}-as" +
-            " --with-ld=${binutils}/bin/${cross.config}-ld"
-          )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
           (if crossMingw then
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 57bb336ccbfe..c23968d21265 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -145,6 +145,9 @@ let version = "6.3.0";
         withFpu +
         withFloat +
         withMode +
+        # Ensure that -print-prog-name is able to find the correct programs.
+        " --with-as=${binutils}/bin/${cross.config}-as" +
+        " --with-ld=${binutils}/bin/${cross.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -169,11 +172,6 @@ let version = "6.3.0";
           else
           (if crossDarwin then " --with-sysroot=${getLib libcCross}/share/sysroot"
            else                " --with-headers=${getDev libcCross}/include") +
-          # Ensure that -print-prog-name is able to find the correct programs.
-          (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutils}/bin/${cross.config}-as" +
-            " --with-ld=${binutils}/bin/${cross.config}-ld"
-          )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
           (if crossMingw then
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index 6b08f2797903..9c3b7a4e7df5 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -145,6 +145,9 @@ let version = "7-20170409";
         withFpu +
         withFloat +
         withMode +
+        # Ensure that -print-prog-name is able to find the correct programs.
+        " --with-as=${binutils}/bin/${cross.config}-as" +
+        " --with-ld=${binutils}/bin/${cross.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -170,10 +173,6 @@ let version = "7-20170409";
           (if crossDarwin then " --with-sysroot=${getLib libcCross}/share/sysroot"
            else                " --with-headers=${getDev libcCross}/include") +
           # Ensure that -print-prog-name is able to find the correct programs.
-          (stdenv.lib.optionalString (crossMingw || crossDarwin) (
-            " --with-as=${binutils}/bin/${cross.config}-as" +
-            " --with-ld=${binutils}/bin/${cross.config}-ld"
-          )) +
           " --enable-__cxa_atexit" +
           " --enable-long-long" +
           (if crossMingw then
diff --git a/pkgs/development/compilers/ghcjs/base.nix b/pkgs/development/compilers/ghcjs/base.nix
index ab68a8fe3b50..4c9ae16a3134 100644
--- a/pkgs/development/compilers/ghcjs/base.nix
+++ b/pkgs/development/compilers/ghcjs/base.nix
@@ -190,6 +190,6 @@ in mkDerivation (rec {
   description = "A Haskell to JavaScript compiler that uses the GHC API";
   license = stdenv.lib.licenses.bsd3;
   platforms = ghc.meta.platforms;
-  maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan ];
+  maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan dmjio ];
   inherit broken;
 })
diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix
index eda724e5947b..f23da1149c51 100644
--- a/pkgs/development/compilers/ghcjs/default.nix
+++ b/pkgs/development/compilers/ghcjs/default.nix
@@ -2,5 +2,5 @@
 
 bootPkgs.callPackage ./base.nix {
   inherit bootPkgs;
-  broken = true; # http://hydra.nixos.org/build/45110274
+  broken = false;
 }
diff --git a/pkgs/development/compilers/gnu-cobol/default.nix b/pkgs/development/compilers/gnu-cobol/default.nix
new file mode 100644
index 000000000000..e5ec3659f0b5
--- /dev/null
+++ b/pkgs/development/compilers/gnu-cobol/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, gcc, makeWrapper
+, db, gmp, ncurses }:
+
+let version = {
+  maj = "2.0";
+  min = "rc-2";
+};
+in 
+stdenv.mkDerivation rec {
+  name = "gnu-cobol-${version.maj}${version.min}";
+
+  src = fetchurl {
+    url = "https://sourceforge.com/projects/open-cobol/files/gnu-cobol/${version.maj}/gnu-cobol-${version.maj}_${version.min}.tar.gz";
+    sha256 = "1pj7mjnp3l76zvzrh1xa6d4kw3jkvzqh39sbf02kiinq4y65s7zj";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ db gmp ncurses ];
+
+  postInstall = with stdenv.lib; ''
+    wrapProgram "$out/bin/cobc" \
+      --prefix PATH ':' "${gcc}/bin" \
+      --prefix NIX_LDFLAGS ' ' "'$NIX_LDFLAGS'" \
+      --prefix NIX_CFLAGS_COMPILE ' ' "'$NIX_CFLAGS_COMPILE'"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An open-source COBOL compiler";
+    homepage = http://sourceforge.net/projects/open-cobol/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ericsagnes ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix
index 76f6141e2e34..7ecae36a4d5a 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -24,13 +24,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.7.4";
+  version = "1.7.5";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "go";
     rev = "go${version}";
-    sha256 = "1ks3xph20afrfp3vqs1sjnkpjb0lgxblv8706wa3iiyg7rka4axv";
+    sha256 = "00radlwbrssn0x3naamb33cfx7ap2jv7s51bqr705nmn2j5yyblk";
   };
 
   # perl is used for testing go vet
@@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
 
   patches =
     [ ./remove-tools-1.7.patch
-      ./ssl-cert-file-1.7.patch
+      ./ssl-cert-file.patch
       ./creds-test.patch
 
       # This test checks for the wrong thing with recent tzdata. It's been fixed in master but the patch
diff --git a/pkgs/development/compilers/go/1.8.nix b/pkgs/development/compilers/go/1.8.nix
index 60125b2e22a9..0be559da79c6 100644
--- a/pkgs/development/compilers/go/1.8.nix
+++ b/pkgs/development/compilers/go/1.8.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, tzdata, iana-etc, go_bootstrap, runCommand, writeScriptBin
 , perl, which, pkgconfig, patch, fetchpatch
-, pcre, cacert
+, pcre, cacert, llvm
 , Security, Foundation, bash }:
 
 let
@@ -24,13 +24,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "go-${version}";
-  version = "1.8";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "go";
     rev = "go${version}";
-    sha256 = "0plm11rqrqz7frwz0jjcm13x939yhny755ks1adxjzmsngln9prl";
+    sha256 = "1157mmzjpk887cpcpn2qy9c69anc22c4p3cjpl84zl7an41x660j";
   };
 
   # perl is used for testing go vet
@@ -107,18 +107,16 @@ stdenv.mkDerivation rec {
 
   patches =
     [ ./remove-tools-1.8.patch
-      ./ssl-cert-file-1.8.patch
+      ./ssl-cert-file.patch
       ./creds-test.patch
       ./remove-test-pie-1.8.patch
-
-      # This test checks for the wrong thing with recent tzdata. It's been fixed in master but the patch
-      # works fine here for now.
-      (fetchpatch {
-        url    = "https://github.com/golang/go/commit/91563ced5897faf729a34be7081568efcfedda31.patch";
-        sha256 = "1ny5l3f8a9dpjjrnjnsplb66308a0x13sa0wwr4j6yrkc8j4qxqi";
-      })
     ];
 
+  postPatch = optionalString stdenv.isDarwin ''
+    echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil"
+    substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil
+  '';
+
   NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
   GOOS = if stdenv.isDarwin then "darwin" else "linux";
diff --git a/pkgs/development/compilers/go/ssl-cert-file-1.7.patch b/pkgs/development/compilers/go/ssl-cert-file-1.7.patch
deleted file mode 100644
index e35ad9e4b759..000000000000
--- a/pkgs/development/compilers/go/ssl-cert-file-1.7.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/src/crypto/x509/root_cgo_darwin.go b/src/crypto/x509/root_cgo_darwin.go
-index a4b33c7..9700b75 100644
---- a/src/crypto/x509/root_cgo_darwin.go
-+++ b/src/crypto/x509/root_cgo_darwin.go
-@@ -151,11 +151,20 @@ int FetchPEMRoots(CFDataRef *pemRoots) {
- import "C"
- import (
- 	"errors"
-+	"io/ioutil"
-+	"os"
- 	"unsafe"
- )
- 
- func loadSystemRoots() (*CertPool, error) {
- 	roots := NewCertPool()
-+	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
-+		data, err := ioutil.ReadFile(file)
-+		if err == nil {
-+			roots.AppendCertsFromPEM(data)
-+			return roots, nil
-+		}
-+	}
- 
- 	var data C.CFDataRef = nil
- 	err := C.FetchPEMRoots(&data)
-diff --git a/src/crypto/x509/root_darwin.go b/src/crypto/x509/root_darwin.go
-index 59b303d..d4a34ac 100644
---- a/src/crypto/x509/root_darwin.go
-+++ b/src/crypto/x509/root_darwin.go
-@@ -28,16 +28,25 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
- // The linker will not include these unused functions in binaries built with cgo enabled.
- 
- func execSecurityRoots() (*CertPool, error) {
-+	var (
-+		mu    sync.Mutex
-+		roots = NewCertPool()
-+	)
-+
-+	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
-+		data, err := ioutil.ReadFile(file)
-+		if err == nil {
-+			roots.AppendCertsFromPEM(data)
-+			return roots, nil
-+		}
-+	}
-+
- 	cmd := exec.Command("/usr/bin/security", "find-certificate", "-a", "-p", "/System/Library/Keychains/SystemRootCertificates.keychain")
- 	data, err := cmd.Output()
- 	if err != nil {
- 		return nil, err
- 	}
- 
--	var (
--		mu    sync.Mutex
--		roots = NewCertPool()
--	)
- 	add := func(cert *Certificate) {
- 		mu.Lock()
- 		defer mu.Unlock()
-diff --git a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go
-index 7bcb3d6..3986e1a 100644
---- a/src/crypto/x509/root_unix.go
-+++ b/src/crypto/x509/root_unix.go
-@@ -24,6 +24,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
- 
- func loadSystemRoots() (*CertPool, error) {
- 	roots := NewCertPool()
-+	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
-+		data, err := ioutil.ReadFile(file)
-+		if err == nil {
-+			roots.AppendCertsFromPEM(data)
-+			return roots, nil
-+		}
-+	}
-+
- 	var firstErr error
- 	for _, file := range certFiles {
- 		data, err := ioutil.ReadFile(file)
diff --git a/pkgs/development/compilers/go/ssl-cert-file-1.8.patch b/pkgs/development/compilers/go/ssl-cert-file.patch
index 052655eed52c..052655eed52c 100644
--- a/pkgs/development/compilers/go/ssl-cert-file-1.8.patch
+++ b/pkgs/development/compilers/go/ssl-cert-file.patch
diff --git a/pkgs/development/compilers/llvm/4/default.nix b/pkgs/development/compilers/llvm/4/default.nix
index 4be621adb5cf..15918f9c1ebd 100644
--- a/pkgs/development/compilers/llvm/4/default.nix
+++ b/pkgs/development/compilers/llvm/4/default.nix
@@ -24,6 +24,8 @@ let
 
     clang = wrapCC self.clang-unwrapped;
 
+    openmp = callPackage ./openmp.nix {};
+
     libcxxClang = ccWrapperFun {
       cc = self.clang-unwrapped;
       isClang = true;
diff --git a/pkgs/development/compilers/llvm/4/openmp.nix b/pkgs/development/compilers/llvm/4/openmp.nix
new file mode 100644
index 000000000000..c8ba770e2411
--- /dev/null
+++ b/pkgs/development/compilers/llvm/4/openmp.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, llvm
+, perl
+, version
+}:
+
+stdenv.mkDerivation {
+  name = "openmp-${version}";
+
+  src = fetch "openmp" "09kf41zgv551fnv628kqhlwgqkd2bkiwii9gqi6q12djgdddhmfv";
+
+  buildInputs = [ cmake llvm perl ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Components required to build an executable OpenMP program";
+    homepage    = http://openmp.llvm.org/;
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 0a90927751ae..6b7f87b1e954 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation ( rec {
   name = "ponyc-${version}";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "ponyc";
     rev = version;
-    sha256 = "1x3w7mxpwgf2bn2c1qqxbj4w5gp775l7r42lj9jvspayb6a6w28s";
+    sha256 = "0zzr3mmjp7010d3jfly6lbwaib546praml97kgj92yixahnwz533";
   };
 
   buildInputs = [ llvm makeWrapper which ];
diff --git a/pkgs/development/compilers/souper/default.nix b/pkgs/development/compilers/souper/default.nix
index 6ea135ea9906..327139ce0455 100644
--- a/pkgs/development/compilers/souper/default.nix
+++ b/pkgs/development/compilers/souper/default.nix
@@ -9,14 +9,15 @@ let
     rev   = "57cd3d43056b029d9da3c6b3c666c4153554c04f";
     sha256 = "197wb7nbirlfpx2jr3afpjjhcj7slc4dxxi02j3kmazz9kcqaygz";
   };
-in stdenv.mkDerivation {
-  name = "souper-unstable-2017-03-07";
+in stdenv.mkDerivation rec {
+  name = "souper-unstable-${version}";
+  version = "2017-03-23";
 
   src = fetchFromGitHub {
     owner  = "google";
     repo   = "souper";
-    rev    = "5faed54ddc4a0e0e12647a0eac1da455a1067a47";
-    sha256 = "1v8ml94ryw5wdls9syvicx4sc9l34yaq8r7cf7is6x7y1q677rps";
+    rev    = "cf2911d2eb1e7c8ab465df5a722fa5cdac06e6fc";
+    sha256 = "1kg08a1af4di729pn1pip2lzqzlvjign6av95214f5rr3cq2q0cl";
   };
 
   nativeBuildInputs = [