From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 19 13:24:56 2019 Received: (at submit) by debbugs.gnu.org; 19 Sep 2019 17:24:56 +0000 Received: from localhost ([127.0.0.1]:56354 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iB0Ap-0004Kg-Sd for submit@debbugs.gnu.org; Thu, 19 Sep 2019 13:24:56 -0400 Received: from lists.gnu.org ([209.51.188.17]:37132) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iB0An-0004KY-Hh for submit@debbugs.gnu.org; Thu, 19 Sep 2019 13:24:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51276) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iB0Al-00048F-CP for guix-patches@gnu.org; Thu, 19 Sep 2019 13:24:52 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: *** X-Spam-Status: No, score=3.2 required=5.0 tests=BAYES_50,FREEMAIL_FROM, SPOOFED_FREEMAIL,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iB0Aj-00033H-Vc for guix-patches@gnu.org; Thu, 19 Sep 2019 13:24:51 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:43797) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iB0Ai-00032T-TL for guix-patches@gnu.org; Thu, 19 Sep 2019 13:24:49 -0400 Received: by mail-wr1-x42d.google.com with SMTP id q17so3950932wrx.10 for ; Thu, 19 Sep 2019 10:24:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=LO8lDqdzxEn5AE9MCMKZJ6xwpxKZv8fKqzwe9Uwb3rE=; b=ZATKV4oU+hQjovmV9eALxWI3yEo+iQLD6xVnQnK4309zj8wqC4bvA3z6zEBEqJEY6k o6p9Dcey/5y/tsCa0qZQQn7MS5PEyaYi8zJXTb/1sAddUlEW5Lp3u+YGEbY0XxyBSNPt t07I24XnEFP+YqIF13B4DaGOgFF+sEtsqA+Vddwt4O4p6zVnUIFleeSSpof6HHwp2vaN zCELevjhLrAAXSLdokfbjKfWvOO1JyDxfbW5ojehhBO4MmttFimwIfprGxBDBpDXdCcL IryXV3imb+0Hoi1BFUZO/ZmI3mjnlKMgBR3LF4/Gns20+va9AhTAUYvNcHtZ3B2oocTW KYhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=LO8lDqdzxEn5AE9MCMKZJ6xwpxKZv8fKqzwe9Uwb3rE=; b=r7XNTj5AtJssPKBmWtwNFPeNj4XjkpI5RUUeYiMsi0z2hIwsrAZMDMBDDc7IxYWDaB dGhyASsNWTWSoxkjB56lUXw6L8UrdJGmknONLw3cgrEwJsfCH7R2pVwJucJXf0pBrPRX oZW7v3YRTbhC9SX2kiyOcx7FcVzoSBsikmrPqxmnjQ0WTb2TjQ10fuFs63Sar7ckhAw+ rb90lRcXR6h1KiHz6ZttvKENhw7MntPsBoZc7C9sQGWxmjKz9rjyox6ksMzD9XTbOCEL MzHQjMBmSigakQCtAYqhHK7Ebp22UlVNOc8wG/RDTQq1EfmoPr1edaKCNuuQG5cSXfmh MkiA== X-Gm-Message-State: APjAAAVljWwz+6tIBh4m5l+FstO82pwNduPNQNuQFs/nl3KbU4mpfOM+ Ow76ET+Tom2PL9fJEVBvTeRTuZA0 X-Google-Smtp-Source: APXvYqza9YouNzdCHmpLhmeLlfr/J4gmDci6lJ/4LEMj/tt6iTXlvb/Op4LS6du489tQzPSf6IV/jA== X-Received: by 2002:adf:fd8c:: with SMTP id d12mr8605430wrr.142.1568913886918; Thu, 19 Sep 2019 10:24:46 -0700 (PDT) Received: from pfiuh02.univ-paris-diderot.fr ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id x5sm15549878wrg.69.2019.09.19.10.24.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Sep 2019 10:24:46 -0700 (PDT) From: zimoun To: guix-patches@gnu.org Subject: [PATCH] guix package: Add 'guix show' alias. Date: Thu, 19 Sep 2019 19:24:42 +0200 Message-Id: <20190919172442.18099-1-zimon.toutoune@gmail.com> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42d X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * guix/scripts/show.scm: New file. * Makefile.am (MODULES): Add it. * po/guix/POTFILES.in: Add it. * tests/guix-package-aliases.sh: Add test. * doc/guix.texi (Invoking guix package): Document it and u [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gnu.org] -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [209.51.188.17 listed in list.dnswl.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (zimon.toutoune[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.4 SPOOFED_FREEMAIL No description available. X-Debbugs-Envelope-To: submit Cc: zimoun X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.1 (/) * guix/scripts/show.scm: New file. * Makefile.am (MODULES): Add it. * po/guix/POTFILES.in: Add it. * tests/guix-package-aliases.sh: Add test. * doc/guix.texi (Invoking guix package): Document it and use it in a example. --- Makefile.am | 1 + doc/guix.texi | 8 +++-- guix/scripts/show.scm | 67 +++++++++++++++++++++++++++++++++++ po/guix/POTFILES.in | 1 + tests/guix-package-aliases.sh | 4 +++ 5 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 guix/scripts/show.scm diff --git a/Makefile.am b/Makefile.am index 7e3b5c1070..e33366f48b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -241,6 +241,7 @@ MODULES = \ guix/scripts/remove.scm \ guix/scripts/upgrade.scm \ guix/scripts/search.scm \ + guix/scripts/show.scm \ guix/scripts/gc.scm \ guix/scripts/hash.scm \ guix/scripts/pack.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 55935b3794..03028de97b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2657,7 +2657,9 @@ For your convenience, we also provide the following aliases: @item @command{guix remove} is an alias for @command{guix package -r}, @item -and @command{guix upgrade} is an alias for @command{guix package -u}. +@command{guix upgrade} is an alias for @command{guix package -u}, +@item +and @command{guix show} is an alias for @command{guix package --show=}. @end itemize These aliases are less expressive than @command{guix package} and provide @@ -3020,9 +3022,9 @@ version: 3.3.5 @end example You may also specify the full name of a package to only get details about a -specific version of it: +specific version of it (this time using the @command{guix show} alias): @example -$ guix package --show=python@@3.4 | recsel -p name,version +$ guix show python@@3.4 | recsel -p name,version name: python version: 3.4.3 @end example diff --git a/guix/scripts/show.scm b/guix/scripts/show.scm new file mode 100644 index 0000000000..94f0559358 --- /dev/null +++ b/guix/scripts/show.scm @@ -0,0 +1,67 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Simon Tournier +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix scripts show) + #:use-module (guix ui) + #:use-module (guix scripts package) + #:use-module (guix scripts) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (srfi srfi-37) + #:export (guix-show)) + +(define (show-help) + (display (G_ "Usage: guix show [OPTION] PACKAGE... +Show details about PACKAGE.")) + (display (G_" +This is an alias for 'guix package --show='.\n")) + (newline) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -V, --version display version information and exit")) + (newline) + (show-bug-report-information)) + +(define %options + ;; Specification of the command-line options. + (list (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix show"))))) + +(define (guix-show . args) + (define (handle-argument arg result) + ;; Treat all non-option arguments as regexps. + (cons `(query show ,arg) + result)) + + (define opts + (args-fold* args %options + (lambda (opt name arg . rest) + (leave (G_ "~A: unrecognized option~%") name)) + handle-argument + '())) + + (unless (assoc-ref opts 'query) + (leave (G_ "missing arguments: no package to show~%"))) + + (guix-package* opts)) diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 8b556ac0ec..f629034d61 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -47,6 +47,7 @@ guix/scripts/install.scm guix/scripts/remove.scm guix/scripts/upgrade.scm guix/scripts/search.scm +guix/scripts/show.scm guix/scripts/gc.scm guix/scripts/hash.scm guix/scripts/import.scm diff --git a/tests/guix-package-aliases.sh b/tests/guix-package-aliases.sh index 5c68664093..520f3309de 100644 --- a/tests/guix-package-aliases.sh +++ b/tests/guix-package-aliases.sh @@ -58,3 +58,7 @@ if guix remove -i guile-bootstrap -p "$profile" --bootstrap then false; else true; fi guix search '\' game | grep '^name: gnubg' + +guix show --version +guix show guile +guix show python@3 | recsel -p name,version -- 2.21.0