From patchwork Mon Oct 10 13:20:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Matthew James Kraai X-Patchwork-Id: 43302 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 CC17927BBEA; Mon, 10 Oct 2022 14:21:37 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 4D6D927BBE9 for ; Mon, 10 Oct 2022 14:21:37 +0100 (BST) Received: from localhost ([::1]:58466 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ohsiu-00041x-7X for patchwork@mira.cbaines.net; Mon, 10 Oct 2022 09:21:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42044) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ohsiO-0003zI-6V for guix-patches@gnu.org; Mon, 10 Oct 2022 09:21:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:47326) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ohsiM-0003Jf-O1 for guix-patches@gnu.org; Mon, 10 Oct 2022 09:21:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ohsiM-00046e-9i for guix-patches@gnu.org; Mon, 10 Oct 2022 09:21:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#58408] [PATCH] gnu: Add doctl. Resent-From: Matthew James Kraai Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 10 Oct 2022 13:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58408 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "(" Cc: 58408@debbugs.gnu.org Received: via spool by 58408-submit@debbugs.gnu.org id=B58408.166540801215684 (code B ref 58408); Mon, 10 Oct 2022 13:21:02 +0000 Received: (at 58408) by debbugs.gnu.org; 10 Oct 2022 13:20:12 +0000 Received: from localhost ([127.0.0.1]:46404 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ohshY-00044o-8s for submit@debbugs.gnu.org; Mon, 10 Oct 2022 09:20:12 -0400 Received: from mail.ftbfs.org ([52.8.68.13]:33466 helo=aws.ftbfs.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ohshV-00044b-32 for 58408@debbugs.gnu.org; Mon, 10 Oct 2022 09:20:10 -0400 Received: from ip68-4-255-43.oc.oc.cox.net ([68.4.255.43] helo=carlo) by aws.ftbfs.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ohshO-00066g-12; Mon, 10 Oct 2022 13:20:02 +0000 Date: Mon, 10 Oct 2022 06:20:00 -0700 From: Matthew James Kraai Message-ID: References: <20221010095456.23196-1-kraai@ftbfs.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: 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" X-getmail-retrieved-from-mailbox: Patches Hi, On Mon, Oct 10, 2022 at 12:01:58PM +0100, ( wrote: > Hey Matthew, > > On Mon Oct 10, 2022 at 10:54 AM BST, Matthew James Kraai wrote: > > * gnu/packages/doctl.scm: New file. > > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. > > You sure there's no better place to put it than a new file? Maybe > ``gnu/packages/admin.scm''? > > > + #:use-module (guix download) > > Since you're using git-fetch, you shouldn't need this module, right? > > > + (arguments > > + `(#:build-flags '(,(string-append "-ldflags=-X github.com/digitalocean/doctl.Label=release" > > + " -X github.com/digitalocean/doctl.Major=" > > + (first (string-split version #\.)) > > + " -X github.com/digitalocean/doctl.Minor=" > > + (second (string-split version #\.)) > > + " -X github.com/digitalocean/doctl.Patch=" > > + (third (string-split version #\.)))) > > So, this whole thing would be better formatted with "new style" arguments > (using ``list'' and gexps). Like this: > > (arguments > (list #:build-flags > #~(list (string-append ...)) > #| et cetera |#)) > > This would also allow you to remove the unquote in ``,go-1.19''. Note that only > ``#:build-flags'' needs the gexp ``#~'' in this arguments list. > > > + #:go ,go-1.19 > > Might be best to put this above build-flags. > > > + #:import-path "github.com/digitalocean/doctl/cmd/doctl" > > The import-path is usually at the top of the arguments list. > > > + #:unpack-path "github.com/digitalocean/doctl")) > > And the unpack-path is usually directly after the import-path. > > > + (description > > + "doctl provides a unified command line interface to the DigitalOcean API.") > > Change ``doctl'' to ``@code{doctl}''. > > -- ( Thank you for all of the suggestions. How about the following patch instead? diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 13d582403b..be80713f52 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -54,6 +54,7 @@ ;;; Copyright © 2022 Petr Hodina ;;; Copyright © 2022 Andreas Rammhold ;;; Copyright © 2022 ( +;;; Copyright © 2022 Matthew James Kraai ;;; ;;; This file is part of GNU Guix. ;;; @@ -5596,3 +5597,36 @@ (define-public rex several hosts in succession or in parallel. It can also be used to copy a file or files to several hosts.") (license license:gpl3+))) + +(define-public doctl + (package + (name "doctl") + (version "1.83.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/digitalocean/doctl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1narjmj3npd39gxi42k3h4zjyiaq5lvjv31vaxw8slf9h9sjhjh9")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/digitalocean/doctl/cmd/doctl" + #:unpack-path "github.com/digitalocean/doctl" + #:go go-1.19 + #:build-flags + #~(list (string-append "-ldflags=-X github.com/digitalocean/doctl.Label=release" + " -X github.com/digitalocean/doctl.Major=" + (car (string-split #$version #\.)) + " -X github.com/digitalocean/doctl.Minor=" + (cadr (string-split #$version #\.)) + " -X github.com/digitalocean/doctl.Patch=" + (caddr (string-split #$version #\.)))) + #:install-source? #f)) + (synopsis "Command line client for DigitalOcean") + (description + "@code{doctl} provides a unified command line interface to the DigitalOcean API.") + (home-page "https://github.com/digitalocean/doctl") + (license license:asl2.0)))