summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-05-10 00:54:53 +0200
committerVladimír Čunát <vcunat@gmail.com>2017-05-10 00:54:53 +0200
commit8b01ec9a9ef18636fa9a9cf13abd60de0d9c74b3 (patch)
tree7c49dcf98c87df4138215b5881a803900af275df /pkgs/development/compilers
parent7a61788bc1d535213608a6f8d6b195f9a5519820 (diff)
parent9c90ff7e7df9ceadc7335bb43cc67ba92e171d53 (diff)
downloadnixpkgs-8b01ec9a9ef18636fa9a9cf13abd60de0d9c74b3.tar
nixpkgs-8b01ec9a9ef18636fa9a9cf13abd60de0d9c74b3.tar.gz
nixpkgs-8b01ec9a9ef18636fa9a9cf13abd60de0d9c74b3.tar.bz2
nixpkgs-8b01ec9a9ef18636fa9a9cf13abd60de0d9c74b3.tar.lz
nixpkgs-8b01ec9a9ef18636fa9a9cf13abd60de0d9c74b3.tar.xz
nixpkgs-8b01ec9a9ef18636fa9a9cf13abd60de0d9c74b3.tar.zst
nixpkgs-8b01ec9a9ef18636fa9a9cf13abd60de0d9c74b3.zip
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/development/compilers')
-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/ponyc/default.nix4
8 files changed, 51 insertions, 96 deletions
diff --git a/pkgs/development/compilers/ghcjs/base.nix b/pkgs/development/compilers/ghcjs/base.nix
index ab68a8fe3b5..4c9ae16a313 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 eda724e5947..f23da1149c5 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 00000000000..e5ec3659f0b
--- /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 76f6141e2e3..7ecae36a4d5 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 60125b2e22a..0be559da79c 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 e35ad9e4b75..00000000000
--- 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 052655eed52..052655eed52 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/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 0a90927751a..6b7f87b1e95 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 ];