From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:60471) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwYp5-0005Fa-3G for guix-patches@gnu.org; Tue, 28 Jan 2020 16:55:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iwYp3-0005o5-U7 for guix-patches@gnu.org; Tue, 28 Jan 2020 16:55:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:55242) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iwYp3-0005nv-QF for guix-patches@gnu.org; Tue, 28 Jan 2020 16:55:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iwYp3-0008Gn-Nk for guix-patches@gnu.org; Tue, 28 Jan 2020 16:55:01 -0500 Subject: [bug#39021] [PATCH 1/2 v2] build-system/go: Allow providing additional build flags References: <20200107200039.jga75muq7excgpqu@zdrowyportier.kadziolka.net> In-Reply-To: <20200107200039.jga75muq7excgpqu@zdrowyportier.kadziolka.net> Resent-Message-ID: Date: Tue, 28 Jan 2020 22:54:05 +0100 From: Jakub =?UTF-8?Q?K=C4=85dzio=C5=82ka?= Message-ID: <20200128215405.b5nyh4tiewzxrjjq@zdrowyportier.kadziolka.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 39021@debbugs.gnu.org * guix/build-system/go.scm (build-flags): New argument. * guix/build/go-build-system.scm (build): Use apply to pass the additional arguments to invoke. --- I have discovered a bug when testing v1 of this patch locally - some Go packages have been failing to build due to a quoting mishap. This is now fixed. Diff between patches: - (build-flags '()) + (build-flags ''()) [this note should be automatically removed by git am] --- guix/build-system/go.scm | 3 +++ guix/build/go-build-system.scm | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm index 1b916af8f9..f8ebaefb27 100644 --- a/guix/build-system/go.scm +++ b/guix/build-system/go.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Petter ;;; Copyright © 2017 Leo Famulari +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,6 +83,7 @@ (install-source? #t) (import-path "") (unpack-path "") + (build-flags ''()) (tests? #t) (allow-go-reference? #f) (system (%current-system)) @@ -109,6 +111,7 @@ #:install-source? ,install-source? #:import-path ,import-path #:unpack-path ,unpack-path + #:build-flags ,build-flags #:tests? ,tests? #:allow-go-reference? ,allow-go-reference? #:inputs %build-inputs))) diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm index 4bc0156a88..49887848f6 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Petter ;;; Copyright © 2017, 2019 Leo Famulari ;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -209,18 +210,18 @@ unpacking." (_ #f)) inputs)))) -(define* (build #:key import-path #:allow-other-keys) +(define* (build #:key import-path build-flags #:allow-other-keys) "Build the package named by IMPORT-PATH." (with-throw-handler #t (lambda _ - (invoke "go" "install" + (apply invoke "go" "install" "-v" ; print the name of packages as they are compiled "-x" ; print each command as it is invoked ;; Respectively, strip the symbol table and debug ;; information, and the DWARF symbol table. "-ldflags=-s -w" - import-path)) + `(,@build-flags ,import-path))) (lambda (key . args) (display (string-append "Building '" import-path "' failed.\n" "Here are the results of `go env`:\n")) -- 2.25.0