From 19ebff1d95dae17cff81f8e9c133d82827317ed2 Mon Sep 17 00:00:00 2001 From: Yann Hodique Date: Sun, 7 May 2017 14:09:24 -0700 Subject: [PATCH] go: 1.7.4 -> 1.7.5 --- pkgs/development/compilers/go/1.7.nix | 6 +- pkgs/development/compilers/go/1.8.nix | 2 +- .../compilers/go/ssl-cert-file-1.7.patch | 78 ------------------- ...ert-file-1.8.patch => ssl-cert-file.patch} | 0 pkgs/top-level/all-packages.nix | 6 +- 5 files changed, 6 insertions(+), 86 deletions(-) delete mode 100644 pkgs/development/compilers/go/ssl-cert-file-1.7.patch rename pkgs/development/compilers/go/{ssl-cert-file-1.8.patch => ssl-cert-file.patch} (100%) 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..48948430cb2 100644 --- a/pkgs/development/compilers/go/1.8.nix +++ b/pkgs/development/compilers/go/1.8.nix @@ -107,7 +107,7 @@ 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 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 similarity index 100% rename from pkgs/development/compilers/go/ssl-cert-file-1.8.patch rename to pkgs/development/compilers/go/ssl-cert-file.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 27139adc7a4..b2540cbe206 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5348,11 +5348,9 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Security Foundation; }; - go_1_7 = callPackage ../development/compilers/go/1.7.nix ({ + go_1_7 = callPackage ../development/compilers/go/1.7.nix { inherit (darwin.apple_sdk.frameworks) Security Foundation; - } // stdenv.lib.optionalAttrs stdenv.isDarwin { - stdenv = stdenvAdapters.overrideCC pkgs.stdenv pkgs.clang_38; - }); + }; go_1_8 = callPackage ../development/compilers/go/1.8.nix ({ inherit (darwin.apple_sdk.frameworks) Security Foundation;