From patchwork Wed Dec 18 02:22:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sharlatan Hellseher X-Patchwork-Id: 35002 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1B9CC27BBEA; Wed, 18 Dec 2024 02:25:04 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 2874827BBE2 for ; Wed, 18 Dec 2024 02:25:01 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tNjjX-0003xC-Gj; Tue, 17 Dec 2024 21:24:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tNjjQ-0003wb-C9 for guix-patches@gnu.org; Tue, 17 Dec 2024 21:24:12 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tNjjO-0007Mt-Uc for guix-patches@gnu.org; Tue, 17 Dec 2024 21:24:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:In-Reply-To:References:Subject; bh=/9Nul0bW1qEqlAniapo2J/Srwq7trQjlQI4WIMBeFjk=; b=VLFZByMcEibjhADIKC4CxUOlSTshHZBgB5FnRqetxtKpAHhbi9elwZEyDRdHu5Wh/7QP5puDkxPimKViwempbMA6yVIF0WlhRXKOqfWEG+sE4hbq57Ws3GiTwZNbSELvLgtuu+wag2Pmx98O36pnk5zRvfDeeC3SaaxqpJNdzTpL/XS6oRdQvrPFthEf2fQ1twMWTLy+PL/ow4DsdljKnhKnN0gxHGljHAUTilMdSqPtR//+Q+m/qoRbkaW6YRKNDAt8qs+/ragyXCHc0Eyq693/rBT5wI2jskkYxfXaPPjWQ5k0+9tEKzHIGS42MMCmob451rdhKe9qrwgkI0zfng==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tNjjG-0004FB-Ad; Tue, 17 Dec 2024 21:24:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#74668] [PATCH v2 1/2] build: go-build-system: Relax build verbosity. References: In-Reply-To: Resent-From: Sharlatan Hellseher Original-Sender: "Debbugs-submit" Resent-CC: cox.katherine.e+guix@gmail.com, sharlatanus@gmail.com, guix-patches@gnu.org Resent-Date: Wed, 18 Dec 2024 02:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74668 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 74668@debbugs.gnu.org Cc: Sharlatan Hellseher , Katherine Cox-Buday , Sharlatan Hellseher X-Debbugs-Original-Xcc: Katherine Cox-Buday , Sharlatan Hellseher Received: via spool by 74668-submit@debbugs.gnu.org id=B74668.173448862616282 (code B ref 74668); Wed, 18 Dec 2024 02:24:02 +0000 Received: (at 74668) by debbugs.gnu.org; 18 Dec 2024 02:23:46 +0000 Received: from localhost ([127.0.0.1]:60956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tNjiu-0004ET-FY for submit@debbugs.gnu.org; Tue, 17 Dec 2024 21:23:45 -0500 Received: from mail-wr1-f49.google.com ([209.85.221.49]:47391) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tNjip-0004E0-0X for 74668@debbugs.gnu.org; Tue, 17 Dec 2024 21:23:36 -0500 Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-38634c35129so4524355f8f.3 for <74668@debbugs.gnu.org>; Tue, 17 Dec 2024 18:23:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734488552; x=1735093352; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=/9Nul0bW1qEqlAniapo2J/Srwq7trQjlQI4WIMBeFjk=; b=FhNf7o6nWrNhh95wPTCN3acTFs8JED3bg8HDiIIwDqWQE15zn5qBNODpJAx9YbGpo7 BndcsZX7lalqX6tlJEUAoIJYmSWmHibeeVEfbto1w4GEC+gID6XvYsjcfQoUn2oNGJ3r pmTa4yzTvbqcvnA1MCQV5ei7vKW3EXJ1KCP9x5eRRdur5oUEo/SQMoF9aiNXCtkJ545C dKKxMy8kOGJhQislud8cF6IqgD0jMLF+mFjGvhO/mSSW2EZJjPOLf4mylcuiREG9VTcw EBwihGl5xxlJHqp9D5fIokXAYekzKFOlPuwR0UzhiRkbJAMkI7BFhT/OjOgxVgnqyMYu nbcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734488552; x=1735093352; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/9Nul0bW1qEqlAniapo2J/Srwq7trQjlQI4WIMBeFjk=; b=onvngfhTRSiyZJYa40BCV53qCi72aYp4yCy87Hru/cH0+4fshgQxTBwMd/IYhm5q3T +xJvqZFUKThVlkgT5qEUfCCDaGJkYin0znQvXa8kb9W+x2LqYNSQgWBrkQntZF3U3XR6 Hw3CSvXMkdjPXMUArK1lCH+FkQmZFnyO5ol4MdcJWSPfwb6c6s8j38+/gSbHPJqH+vBY m21W+JQGSdIjvmJ5cE+T7L0T0LSBYKaR341sezX5o2R5fGJFRPMI+MjmzyPwkHe643qr gZMek3E62qH/exQu2Dm8qXmUYK23FQ1Rpr0PFbdRCr5+SFHRLFQbomeoURxiJiMQH/cK OqfQ== X-Gm-Message-State: AOJu0YyibwDhrmkoeozlM1UMR3keMeWNuHjbetahWVPgaJ6jzG/il0dz OtxuHbEQM5Tlc0CnLW1ik6Ae2TeZoYd51aQV8ARrNymHbmUYPw0JdWqk76O7 X-Gm-Gg: ASbGncsAnR1mvSNwzyioNdqQCP3o8naot2O8Um8pRd8TNveY1+29PSUaPSSDGIH2QWb EZMoKaKRXTK8dhPZpGPBpxCzvT209mUKIMYw9B9prPniUgNx2n3AQdjdW29GQa6/yt3xbE6FART NiQJDfzBMqwuXF5IjRuSGmMBQ91ROzHc+5eJHd5blfzK+BDBAShZyUKpoBPgDCFuD2YUmhd96kd VndM6RXDDpRrLKqr7CbYbiKYep+kMETuBoPO+EnNbFs1R6+hc6rnW4Zo213c5EAto/KfqzD0C0f zEPNd37rrTE3DyrhKhfq34EpohFx3Q8n3YQCzfYm92k1x6ZX X-Google-Smtp-Source: AGHT+IGEZUz4hmi4sL1fm3oLoGevrKvyJV1khuNWCiw3IcessmZE65iJAUb54q5KFChrvl2rf5F+tg== X-Received: by 2002:a05:6000:2a4:b0:385:fb2c:6034 with SMTP id ffacd0b85a97d-388e4d91e80mr713872f8f.47.1734488551970; Tue, 17 Dec 2024 18:22:31 -0800 (PST) Received: from guxtil.incerto.xyz (cpc100684-bagu15-2-0-cust967.1-3.cable.virginm.net. [86.8.111.200]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-388c801ac5asm12477424f8f.55.2024.12.17.18.22.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Dec 2024 18:22:31 -0800 (PST) From: Sharlatan Hellseher Date: Wed, 18 Dec 2024 02:22:26 +0000 Message-ID: X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches During the build phase "-x" option forces go compiler to generate quite a noisy build log which does not help too much when the build is failed. This change makes it optional and governed by #:verbosity key passed to `build' procedure. * guix/build/go-build-system.scm (build): Provide a link to online example. Consolidate options in GOFLAGS environment variable, make "-x" optional. Add description for "-trimpath" option. Change-Id: Icf1b03eb79db8a6f79f86f3cc212a53de5aa7c1c --- guix/build/go-build-system.scm | 39 ++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 9 deletions(-) base-commit: 0a5b060be1e8966abc45e4782df83447510a90b4 prerequisite-patch-id: 7c60aacd825ea1fd299462d1ae31beb34902fbaf prerequisite-patch-id: 5136c6924ea61be099691eb9b0c227936a08954a prerequisite-patch-id: 47fb416de83dc133d647e3e07a5c398391336eb1 prerequisite-patch-id: 760115bac637e5f39738d82ed16232c8792a8f82 prerequisite-patch-id: f8b63ec4ec753bcc2c3a6022abaf47146e454a72 prerequisite-patch-id: 2d5e20587944fe26b277509396dabd362bf8105c prerequisite-patch-id: 5b779f0a2442f2697cd75c089e36d276b9dafbf5 prerequisite-patch-id: e5f81823c9ea1b93abf1f3fec60e695d16909a06 prerequisite-patch-id: 8badae173015a65a237c45b42241e36355e9f2c1 prerequisite-patch-id: af090660b016e08b3612bee7ca2125bb0e1d00b2 prerequisite-patch-id: 294de506884b2b150eba248b4a1731de95d50176 prerequisite-patch-id: 8ed8c96cf2383811b66abe15f6fa9af73689b94c prerequisite-patch-id: 6dd547d424e4eeb99715847136b3fad7f566d9fa prerequisite-patch-id: ff3892aa0acc89208f4eba1f0866f8da01d1cb21 prerequisite-patch-id: 3a9c1b8c45bb320815892e512fdf3271ea9c8f0f prerequisite-patch-id: 526f9ea0e83f7479ac37679b69f9ad18c38e9234 prerequisite-patch-id: ad91b786810c1a4c13d2d39e0eb51d0932f1060c prerequisite-patch-id: e74404537a20ed352985299432056116f2d8881b prerequisite-patch-id: 0aae6b4b352a367bd8770075b16547c060262e34 prerequisite-patch-id: 0b485c3a7c266118cdafc3b30aebd704b1018af7 prerequisite-patch-id: add3eb95e39cd65a47e86d74909f822e4fcbd542 prerequisite-patch-id: 98487d900da05e0a4f39bb28036918afa76e1d9a prerequisite-patch-id: dedc1426c51db76f30ddd92a8ed04e1793f7839c prerequisite-patch-id: e7606e328c545a4db40d37ca3aa5f99c0b4287f8 prerequisite-patch-id: 63fa87ba5ddf33561784e25199d605aa0b18133e prerequisite-patch-id: 04fe1403ea43cfbeeabbd87ee9b6707c64101c07 prerequisite-patch-id: 3f7cf90125fd223507087c94a92aa16dba2662f2 prerequisite-patch-id: e763a43853180ad952fc5eaeb60e4ef2762f6d3f prerequisite-patch-id: 284d08f1257d7e6c69e46b9e7fee165fa1aa5b07 prerequisite-patch-id: 0ebe96fd52cc9140b53b17046b2aa2b6969a6e2c prerequisite-patch-id: 87339b708e38828f9a1769b3f2740f328a9bb59b prerequisite-patch-id: f3698965b06dbb73c6b702c22830a7e400b8b765 prerequisite-patch-id: 6d464271ac1083b7f303d3ac75963a7bf91e8ce0 prerequisite-patch-id: 93d8965a1a7a4110eb7348d43df9fb39899df5cc prerequisite-patch-id: 1bb520f9ad8cc64b07041ccea8ffb6ad51fea4a7 prerequisite-patch-id: d6c45d0b7fd5a8a744f560c1ee24e90e63546196 prerequisite-patch-id: d11dbd6a272b78c06b2373196897bd02da491e66 prerequisite-patch-id: aa2d3d94d3cebd23780c0785098e728080a25063 prerequisite-patch-id: 5e76884b7109e88da98532ec66c469b39335c14d prerequisite-patch-id: dfaa606ac8721e076b9870eca03721b731e3cc65 prerequisite-patch-id: 26a9585f84c5be0cf6ac60eeab3f62e2c1b59a32 prerequisite-patch-id: 790109ae7b8db35051f0532fb9820cc794f6e90e prerequisite-patch-id: cdcb8df8b8060543aeb46727c6097640784c5f77 prerequisite-patch-id: cef60c111cfd4c7c77b8402196710a334ed4244a prerequisite-patch-id: 6801272b174236af0bb5a94be1e105887f525660 prerequisite-patch-id: 3d03b39da9fcc5961b7672ea82784d68512cc9ef prerequisite-patch-id: 56410b64255826975d87f89c6bca96d96b3bddfa prerequisite-patch-id: 455428488cdc812b099c8a0aed3763632dbdc60c prerequisite-patch-id: 66d83739e60670e4a0bd3db34199da0346e84062 prerequisite-patch-id: cb91e8091b251ad54b16ab0c26145ec1e3207cd9 prerequisite-patch-id: 2b1d8e54b873c0c373a5c1fd3117a73c5c9df7a5 prerequisite-patch-id: 4a31a50b43fa9275f7f7801e658d593fe48798a4 prerequisite-patch-id: 43d9065cfb585329af82ff9b7510896ed5be6ea5 prerequisite-patch-id: d094d34d84aa822499a7f6a94b7654816a980537 prerequisite-patch-id: 0620608a1dfe736dc00327ee00b8bc9b24d374ae prerequisite-patch-id: b5c845395592759d2c8746d269c9a1e341d20fdc prerequisite-patch-id: 99a880d7782dbca30fafd6fc3176a2b00cc75224 prerequisite-patch-id: 2f8fc439398bd2b8f1486a7cb17ef8fa27b2263d prerequisite-patch-id: 2ccfa97711a36ab124caf722e0b7a9b10cf14b11 prerequisite-patch-id: 54d6570b4bd09dbfdc4947182adb94286e9b1fad prerequisite-patch-id: 7a93b50157b384d86027b672160a2e4cc742b7d1 prerequisite-patch-id: 5d4ad58a8a082bbbd5a6e3ab3de7acf1614770ec prerequisite-patch-id: 7e75bcddb6ab62b3d60d29c27b2676335c8e6d33 prerequisite-patch-id: 4382f72af6cc258342e2c386a8bfb2e58e199943 prerequisite-patch-id: 4888f198a7315ea67423eb004d819217b1f22f8e prerequisite-patch-id: f01e7af38ad20787d173922e59e6288004d53e33 prerequisite-patch-id: 4250138cba074ef5618a3f16e5cf31471904cb9c prerequisite-patch-id: 3215d56762bb0bc2c94a9ee58cf27c083d1e8947 prerequisite-patch-id: abe0f7fd5838389ef509a3104c3b7929cf3436d3 prerequisite-patch-id: b26eeb93042d8d6774c0dad43468b45c8c8644eb prerequisite-patch-id: d5850f4d806b61cbd7521383a07953f3221dd683 prerequisite-patch-id: 1f641be7411c9d5900e3e5af53d8b39f773196e0 prerequisite-patch-id: a108c9b6889b34f1a2ef3b458656ad94204b6277 prerequisite-patch-id: a3cd37a3e65877ab005f2dab1868bbd5df7e68a1 prerequisite-patch-id: 00319f4ad13f642b4895f652348bb468bf8554eb prerequisite-patch-id: 5b252fc54bdd1736c34408d35805f31b751d7bf4 prerequisite-patch-id: e81cc6ea74f4ab12ffb46b0327c753abf61aa781 prerequisite-patch-id: 1778bccb3f339a5a388ebd30eee5ac9b13e6e8fd prerequisite-patch-id: 53f18ed89cadf5fa2a3fe4d28ae3291d832ab7ff prerequisite-patch-id: 5500e06165d91665b677471936baf5077adc85fa prerequisite-patch-id: 933cb1d5f216d56f1311b2029f2bc2cf164a631e prerequisite-patch-id: 2ddc887e6290b316e39ef74b06ec3e155d47e377 prerequisite-patch-id: 104dc94a30b1433c026c13efe929d7d58ccb7c86 prerequisite-patch-id: 2c8bc99296a99be1dca6116ddc96e4a703845753 prerequisite-patch-id: 7c9b357469813aeb9e09c1ae85bd17dca04fa96c prerequisite-patch-id: d225d098ac87adec37e51ae69f5e476785a2d4ef prerequisite-patch-id: d463ebf70d68d8fa61cc0d67dc1cb5e8d236f039 prerequisite-patch-id: b8dffb6d3a608b6473fbfca9c9ba49e17b29f9a9 prerequisite-patch-id: 875cbfc70f6d0835bfc6deab903494bd0d99e986 prerequisite-patch-id: 96c5c977bbc363fee541eba249ab7b3445c7a399 prerequisite-patch-id: 99e08cbf70a87979b53798d49e0a653e802fc3de prerequisite-patch-id: d2416914b318da015eedcf5e36e8a7831578fca0 prerequisite-patch-id: a4542c7c6ba2d91c23d74680cce11a2acfdd466f prerequisite-patch-id: 785a78d917fbee5e539cb16f4e9b703705737edf prerequisite-patch-id: 564d3101f82df166da833265369835f5da1cfe17 prerequisite-patch-id: 79616ad4f655167be47eb299467db5e8fa220a05 diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm index e53d8cb53c..9f9eea3069 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -283,23 +283,44 @@ (define (go-inputs inputs) (_ #f)) inputs)))) -(define* (build #:key import-path build-flags (parallel-build? #t) +(define* (build #:key + build-flags + import-path + (parallel-build? #t) + (verbosity 1) #:allow-other-keys) "Build the package named by IMPORT-PATH." - (let* ((njobs (if parallel-build? (parallel-job-count) 1))) + (let* ((njobs (if parallel-build? (parallel-job-count) 1)) + ;; Utilizing GOFLAGS for flexible build options passthrough, refer + ;; for more examples to online documentation of Golang + ;; . + (goflags (string-join + (list + ;; Print the name of packages (pathes) as they are compiled. + "-v" + ;; Print each command as it is invoked. When enabled, it + ;; generates a lot of noisy logs which makes identifying + ;; build failures harder to determine. + (if (> verbosity 1) "-x" "") + ;; Remove all file system paths from the resulting + ;; executable. Instead of absolute file system paths, the + ;; recorded file names will begin either a module + ;; path@version (when using modules), or a plain import + ;; path (when using the standard library, or GOPATH). + "-trimpath") + " "))) + (setenv "GOFLAGS" goflags) (setenv "GOMAXPROCS" (number->string njobs))) (with-throw-handler #t (lambda _ (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" - "-trimpath" - `(,@build-flags ,import-path))) + ;; Respectively, strip the symbol table and debug + ;; information, and the DWARF symbol table. + "-ldflags=-s -w" + `(,@build-flags ,import-path))) + (lambda (key . args) (display (string-append "Building '" import-path "' failed.\n" "Here are the results of `go env`:\n")) From patchwork Wed Dec 18 02:22:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sharlatan Hellseher X-Patchwork-Id: 35001 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C4C9D27BBEA; Wed, 18 Dec 2024 02:25:03 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 298CD27BBE9 for ; Wed, 18 Dec 2024 02:25:01 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tNjjX-0003xG-JS; Tue, 17 Dec 2024 21:24:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tNjjQ-0003wc-Ce for guix-patches@gnu.org; Tue, 17 Dec 2024 21:24:13 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tNjjP-0007Mk-Bc for guix-patches@gnu.org; Tue, 17 Dec 2024 21:24:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=JaAm3+Yvi8vgVHf5Cpjs8yH3dA/f75UaTw9J2GBs+Nk=; b=hTfpAO8Vexvp2xEVMQyFpPxNjDIaehWshPCe+YyytKm2t2BfrkYWi33MrPMBg5O87TeZt0q6l/ey5wOtPe0ZgwZoqb3pogHoqekA7/dqIOAXvyvftWMp+5w3eHqriwzFZdViMIdCChvaKAQKlOCxavw+QuhHCaKH+2ejf5chFuTdXEmYVhXz76RGUhR2R4XBVwxAw6g8lXXPetqqFTSCQCNHzyHzzi5t0Y/Qs/g9CHAr0XqMzP7Lv/ojizxgqSpb7Q6yDYIhhOGEhaGZq2ERk2oI3DMIAcRY0r6KOyDDk9cFOF4jY+t9GSuRD9CP/tCbpxID6se5EaiUsPQ6SnuNXg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tNjjF-0004F5-Sh; Tue, 17 Dec 2024 21:24:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#74668] [PATCH v2 2/2] build-system/go: Add test-subdirs option key. Resent-From: Sharlatan Hellseher Original-Sender: "Debbugs-submit" Resent-CC: cox.katherine.e+guix@gmail.com, sharlatanus@gmail.com, guix-patches@gnu.org Resent-Date: Wed, 18 Dec 2024 02:24:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74668 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 74668@debbugs.gnu.org Cc: Sharlatan Hellseher , Katherine Cox-Buday , Sharlatan Hellseher X-Debbugs-Original-Xcc: Katherine Cox-Buday , Sharlatan Hellseher Received: via spool by 74668-submit@debbugs.gnu.org id=B74668.173448861716263 (code B ref 74668); Wed, 18 Dec 2024 02:24:01 +0000 Received: (at 74668) by debbugs.gnu.org; 18 Dec 2024 02:23:37 +0000 Received: from localhost ([127.0.0.1]:60954 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tNjir-0004EF-06 for submit@debbugs.gnu.org; Tue, 17 Dec 2024 21:23:37 -0500 Received: from mail-wr1-f49.google.com ([209.85.221.49]:45072) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tNjio-0004Dz-5f for 74668@debbugs.gnu.org; Tue, 17 Dec 2024 21:23:35 -0500 Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-385e1fcb0e1so3251027f8f.2 for <74668@debbugs.gnu.org>; Tue, 17 Dec 2024 18:23:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734488553; x=1735093353; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JaAm3+Yvi8vgVHf5Cpjs8yH3dA/f75UaTw9J2GBs+Nk=; b=d/yAuQufs9TEiOYjRfZh+BR/DNaXafhID/PdHQkQeqIJMBtk8UdgRO5aGFVh0XJSjz ckJqtjBAO+oTgInN+RSm0lkM0WT6mxRpvvK0rURY1JM4c3+Y8jC/eIbgFWnXPxtYm5PV V+CuJwz5VILF+YYV+msfDxVwNjYmwATtcJFNv8gEOIK0OgOh9kozDgiCOZiJP71uguWt rLy4cvP17SQ4mUdUq8zmuHy2yK1xKVKdqlT9FndCVC6VW0ixSr9rKu5hyAUyyiVoUL8w Emvr2C/H5+i/mT5dMXukspBIdZE3Adp0EJAmG4Gp37bwKcXnWbKMTHrSX/GVxI7TowdJ 0O+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734488553; x=1735093353; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JaAm3+Yvi8vgVHf5Cpjs8yH3dA/f75UaTw9J2GBs+Nk=; b=NWLe0h0shl0acB9qhJNLkJj4Ah+fvUHOh1k6oXJINn/G7Q7wp43OpB6gQrgR4CDSKN 9Hh+tk7krYC4enPDPgCrKkPrppCdoD+4Q31ICyJBfXP3Uv5DAPvLgBA3S8oIxpITySse V4oVLP7StJyQ0twIAkFMmm4P+vnabbl3r9HvAmAphW3ZdJu3lAhMcPkf0cCGrFKDjKxa GJwYg371BdqBR+124p9BAK9bne0SYV2HCMN08qNe1P9QngMMAWuqCvwXh17A0MY5MbJq Yu/gNmC/o8M1dalKxS7qLt3QfRUK83xOScyRtwCjxvVHSlIX51Ao+lHkWrMVUIamNQc9 bdwQ== X-Gm-Message-State: AOJu0Yxx9aaq3Yp3tnhz9eAhK93YT9oCM12+AzqjDA+otXTOs+HuCY8R BmcXNKM2Zmsx4Do6RYfYCrUzTH7BLB/Xi/j7uwrWRWOPFcLFUeMTZN23Z4NQ X-Gm-Gg: ASbGncs9askkA2lEazNrBONDrwo4nKQiJt6qVpTcIc/fvxGh2/d0oG6TfyYaEMwiPc8 5QQ0IyZ7y/eku9IZ0s4V9CEoFpItktXY1CV4Lm8phyOZJN18n4nn5kYAuGKC5LlegkAGQb1Gmg1 kAD8idKZb44/n8K+LxnqcxZG2tntVG3dHhKJdx3Vtd9XzLiRqW9qClzknP0Tj+4TCudQbkBozkf SodaoYKR6aFVA0+Y67iG4KfRmxg3oMwEU1YV3IwZ/HsX5bN6kdtc/DwVeiGHNBPmL8zHUOSEdo7 q4OwsJdfOzszm7KXLiEFe0Tzbb0rB0nDdYHony+EpGLXeJiU X-Google-Smtp-Source: AGHT+IE3GU7EFNiKBV6Pbr92Tx651mDf45w6wCiyTbXsOt3s9RhIDS4lD++L9Zm3D1KY3pi+aKA1gw== X-Received: by 2002:a05:6000:4a03:b0:385:ef39:6cd5 with SMTP id ffacd0b85a97d-388e4d2dd26mr965977f8f.1.1734488552911; Tue, 17 Dec 2024 18:22:32 -0800 (PST) Received: from guxtil.incerto.xyz (cpc100684-bagu15-2-0-cust967.1-3.cable.virginm.net. [86.8.111.200]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-388c801ac5asm12477424f8f.55.2024.12.17.18.22.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Dec 2024 18:22:32 -0800 (PST) From: Sharlatan Hellseher Date: Wed, 18 Dec 2024 02:22:27 +0000 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Golang projects may contain subdirectories with test files, which can't be reached by providing just IMPORT-PATH to the test runner. This change implements a TEST-SUBDIRS key parameter which is by default set to "import-path/..." to run all available tests in the project, and may be limited to particular subdirs list. * guix/build-system/go.scm (go-build, go-cross-build): Add "test-subdirs" key parameter. * guix/build/go-build-system.scm (check): Add "test-subdirs" key parameter and adjust test invokation accordingly. Change-Id: Ibc107deea060f0d71e6f4e1e37c81d3b7c9992f5 --- guix/build-system/go.scm | 4 ++++ guix/build/go-build-system.scm | 18 ++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm index 97581a14c6..66cb5e8b05 100644 --- a/guix/build-system/go.scm +++ b/guix/build-system/go.scm @@ -205,6 +205,7 @@ (define* (go-build name inputs (build-flags ''()) (tests? #t) (test-flags ''()) + (test-subdirs ''("...")) (parallel-build? #t) (parallel-tests? #t) (allow-go-reference? #f) @@ -239,6 +240,7 @@ (define* (go-build name inputs #:build-flags #$build-flags #:tests? #$tests? #:test-flags #$test-flags + #:test-subdirs #$test-subdirs #:parallel-build? #$parallel-build? #:parallel-tests? #$parallel-tests? #:allow-go-reference? #$allow-go-reference? @@ -264,6 +266,7 @@ (define* (go-cross-build name (build-flags ''()) (tests? #f) ; nothing can be done (test-flags ''()) + (test-subdirs ''("...")) (allow-go-reference? #f) (system (%current-system)) (goarch (first (go-target target))) @@ -316,6 +319,7 @@ (define* (go-cross-build name #:build-flags #$build-flags #:tests? #$tests? #:test-flags #$test-flags + #:test-subdirs #$test-subdirs #:make-dynamic-linker-cache? #f ;cross-compiling #: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 9f9eea3069..a785118018 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -98,6 +98,10 @@ (define-module (guix build go-build-system) ;; * Remove module packages, only offering the full Git repos? This is ;; more idiomatic, I think, because Go downloads Git repos, not modules. ;; What are the trade-offs? +;; * Figurie out how to passthrough --verbosity option to "build" and "check" +;; procedures. +;; * Implement test-backend option, which would be similar to pyproject's +;; one, allowing to provide custom test runner. ;; ;; [0] `go build`: ;; https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies @@ -326,13 +330,23 @@ (define* (build #:key "Here are the results of `go env`:\n")) (invoke "go" "env")))) -(define* (check #:key tests? import-path test-flags (parallel-tests? #t) +(define* (check #:key + tests? + import-path + test-flags + test-subdirs + (parallel-tests? #t) #:allow-other-keys) "Run the tests for the package named by IMPORT-PATH." (when tests? (let* ((njobs (if parallel-tests? (parallel-job-count) 1))) (setenv "GOMAXPROCS" (number->string njobs))) - (apply invoke "go" "test" `(,import-path ,@test-flags))) + (apply invoke "go" "test" + `(,@(map (lambda (dir) + (format #f "~a~:[/~;~]~a" + import-path (string-null? dir) dir)) + test-subdirs) + ,@test-flags))) #t) (define* (install #:key install-source? outputs import-path unpack-path #:allow-other-keys)