From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: Re: [PATCH 04/13] utils: Use '@' for separating package names and version numbers. Date: Thu, 03 Mar 2016 13:29:49 +0300 Message-ID: <87k2ljzwf6.fsf@gmail.com> References: <1453666771-16869-1-git-send-email-mthl@gnu.org> <1453666771-16869-5-git-send-email-mthl@gnu.org> <87h9i1evp5.fsf@gmail.com> <8737tl4bve.fsf@gnu.org> <877fiwpayr.fsf@gnu.org> <87k2m0cto5.fsf@gnu.org> <87vb5flm0q.fsf@gnu.org> <87wppo1hso.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1abQVv-0003B0-Pv for guix-devel@gnu.org; Thu, 03 Mar 2016 05:29:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1abQVr-0001pB-M7 for guix-devel@gnu.org; Thu, 03 Mar 2016 05:29:47 -0500 In-Reply-To: <87wppo1hso.fsf@gnu.org> (Mathieu Lirzin's message of "Mon, 29 Feb 2016 01:28:23 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Mathieu Lirzin Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain Mathieu Lirzin (2016-02-29 03:28 +0300) wrote: [...] > I have left the emacs interface untouched. Hm, I wonder why? You already had the required changes in your initial patch. Anyway, I'm attaching the patch with these changes. The only difference from your original patch is replacing 'package-full-name' with 'make-package-specification' in "guix-main.scm". Sorry if it was discussed but why 'package-full-name' from (guix packages) wasn't changed? Also I have a question regarding hydra. Will hydra jobs still have such names as "git-2.6.3" or will they also be changed to "git@2.6.3"? If the former, then some additional changes should be done (the patch for this is also attached). --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-emacs-Use-to-separate-package-names-and-version-numb.patch >From 2dbfe087905cc08715bba0f4d4dd0093fd93372b Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 3 Mar 2016 12:53:03 +0300 Subject: [PATCH 1/2] emacs: Use '@' to separate package names and version numbers. This is a followup to commit 1b846da8c372bee78851439fd9e72b2499115e5a. * emacs/guix-base.el (guix-package-name-specification): Use "@" instead of "-". * emacs/guix-main.scm (name+version->full-name): Likewise. (package-inputs-names): Use 'make-package-specification' instead of 'package-full-name'. (full-name->name+version): Update the docstring. * emacs/guix-ui-package.el (guix-packages-by-name): Likewise. --- emacs/guix-base.el | 2 +- emacs/guix-main.scm | 7 ++++--- emacs/guix-ui-package.el | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/emacs/guix-base.el b/emacs/guix-base.el index 1248ecb..75d19cb 100644 --- a/emacs/guix-base.el +++ b/emacs/guix-base.el @@ -44,7 +44,7 @@ (defun guix-package-name-specification (name version &optional output) "Return Guix package specification by its NAME, VERSION and OUTPUT." - (concat name "-" version + (concat name "@" version (when output (concat ":" output)))) diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm index 11b9c77..34da6ac 100644 --- a/emacs/guix-main.scm +++ b/emacs/guix-main.scm @@ -86,13 +86,13 @@ (define (full-name->name+version spec) "Given package specification SPEC with or without output, return two values: name and version. For example, for SPEC -\"foo-0.9.1b:lib\", return \"foo\" and \"0.9.1b\"." +\"foo@0.9.1b:lib\", return \"foo\" and \"0.9.1b\"." (let-values (((name version output) (package-specification->name+version+output spec))) (values name version))) (define (name+version->full-name name version) - (string-append name "-" version)) + (string-append name "@" version)) (define* (make-package-specification name #:optional version output) (let ((full-name (if version @@ -263,7 +263,8 @@ Example: "Return a list of full names of the packages from package INPUTS." (filter-map (match-lambda ((_ (? package? package)) - (package-full-name package)) + (make-package-specification (package-name package) + (package-version package))) ((_ (? package? package) output) (make-package-specification (package-name package) (package-version package) diff --git a/emacs/guix-ui-package.el b/emacs/guix-ui-package.el index d6d2633..56aa64f 100644 --- a/emacs/guix-ui-package.el +++ b/emacs/guix-ui-package.el @@ -945,7 +945,7 @@ See `guix-find-location' for the meaning of DIRECTORY." (defun guix-packages-by-name (name &optional profile) "Display Guix packages with NAME. NAME is a string with name specification. It may optionally contain -a version number. Examples: \"guile\", \"guile-2.0.11\". +a version number. Examples: \"guile\", \"guile@2.0.11\". If PROFILE is nil, use `guix-current-profile'. Interactively with prefix, prompt for PROFILE." -- 2.6.3 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-emacs-hydra-Use-to-separate-job-names-and-version-nu.patch >From c6825b189f7b5d908c5fbe36d933fbe187cbc4bd Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 3 Mar 2016 12:55:21 +0300 Subject: [PATCH 2/2] emacs: hydra: Use '-' to separate job names and version numbers. * emacs/guix-hydra.el (guix-hydra-job-name-specification): New procedure. * emacs/guix-ui-package.el (guix-package-info-insert-systems) (guix-package-list-latest-builds): Use it. --- emacs/guix-hydra.el | 4 ++++ emacs/guix-ui-package.el | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/emacs/guix-hydra.el b/emacs/guix-hydra.el index 4294839..9f876e7 100644 --- a/emacs/guix-hydra.el +++ b/emacs/guix-hydra.el @@ -36,6 +36,10 @@ (concat ".*\\." (regexp-opt guix-help-system-types) "\\'") "Regexp matching a full name of Hydra job (including system).") +(defun guix-hydra-job-name-specification (name version) + "Return Hydra's job name specification by NAME and VERSION." + (concat name "-" version)) + (defun guix-hydra-message (entries search-type &rest _) "Display a message after showing Hydra ENTRIES." ;; XXX Add more messages maybe. diff --git a/emacs/guix-ui-package.el b/emacs/guix-ui-package.el index 56aa64f..9d81c61 100644 --- a/emacs/guix-ui-package.el +++ b/emacs/guix-ui-package.el @@ -34,6 +34,7 @@ (require 'guix-guile) (require 'guix-entry) (require 'guix-utils) +(require 'guix-hydra) (require 'guix-hydra-build) (require 'guix-read) (require 'guix-license) @@ -388,7 +389,7 @@ formatted with this string, an action button is inserted.") :system (button-label btn)))) (apply #'guix-hydra-build-get-display 'latest args))) - 'job-name (guix-package-name-specification + 'job-name (guix-hydra-job-name-specification (guix-entry-value entry 'name) (guix-entry-value entry 'version)))) @@ -776,7 +777,7 @@ for all ARGS." (interactive (let ((entry (guix-list-current-entry))) (guix-hydra-build-latest-prompt-args - :job (guix-package-name-specification + :job (guix-hydra-job-name-specification (guix-entry-value entry 'name) (guix-entry-value entry 'version))))) (apply #'guix-hydra-latest-builds number args)) -- 2.6.3 --=-=-=--