From b3325eb306b33541edcb343d75d8457624744375 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 1 Nov 2018 22:56:38 -0400 Subject: gnu: Go 1.11: Avoid unnecessary store references. This shrinks the closure of Go 1.11 from 1379 MiB to 581 MiB. Fixes . * gnu/packages/golang.scm (go-1.11)[arguments]: Add a 'delete-extraneous-files' phase. --- gnu/packages/golang.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 60d3ee7ad9..82e8173210 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -510,12 +510,23 @@ in the style of communicating sequential processes (@dfn{CSP}).") (substitute* (find-files "cmd" "\\.go") (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader)) #t))) + ;; Prevent installation of the build cache, which contains store + ;; references to most of the tools used to build Go and would + ;; unnecessarily increase the size of Go's closure if it was + ;; installed. + ;; TODO This should be moved into the 'install' phase when Go 1.9 is + ;; removed. + (add-before 'install 'delete-extraneous-files + (lambda _ + (delete-file-recursively "../pkg/obj") + #t)) (replace 'set-bootstrap-variables (lambda* (#:key outputs inputs #:allow-other-keys) ;; Tell the build system where to find the bootstrap Go. (let ((go (assoc-ref inputs "go"))) (setenv "GOROOT_BOOTSTRAP" go) - (setenv "GOGC" "400")))))))))) + (setenv "GOGC" "400") + #t))))))))) (define-public go go-1.9) -- cgit 1.4.1