guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/14: packages: Retain version in file name when repacking source check


From: guix-commits
Subject: 02/14: packages: Retain version in file name when repacking source checkouts.
Date: Thu, 20 Jun 2019 18:01:12 -0400 (EDT)

mbakke pushed a commit to branch core-updates
in repository guix.

commit 814e12dc87a191718374d811c0a3024d38dffcbb
Author: Marius Bakke <address@hidden>
Date:   Sun Jun 16 10:50:15 2019 +0200

    packages: Retain version in file name when repacking source checkouts.
    
    Fixes <https://bugs.gnu.org/34066>.
    
    * guix/packages.scm (patch-and-repack)<tarxz-name>: If FILE-NAME is a source
    checkout, reuse the name without the '-checkout' part.
---
 guix/packages.scm | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/guix/packages.scm b/guix/packages.scm
index 9d2ab5b..ac965ac 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Eric Bavier <address@hidden>
 ;;; Copyright © 2016 Alex Kost <address@hidden>
 ;;; Copyright © 2017 Efraim Flashner <address@hidden>
+;;; Copyright © 2019 Marius Bakke <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -505,11 +506,17 @@ specifies modules in scope when evaluating SNIPPET."
     (and=> (file-extension file-name)
            (cut string-every char-set:hex-digit <>)))
 
+  (define (checkout? directory)
+    ;; Return true if DIRECTORY is a checkout (git, svn, etc).
+    (string-suffix? "-checkout" directory))
+
   (define (tarxz-name file-name)
     ;; Return a '.tar.xz' file name based on FILE-NAME.
-    (let ((base (if (numeric-extension? file-name)
-                    original-file-name
-                    (file-sans-extension file-name))))
+    (let ((base (cond ((numeric-extension? file-name)
+                       original-file-name)
+                      ((checkout? file-name)
+                       (string-drop-right file-name 9))
+                      (else (file-sans-extension file-name)))))
       (string-append base
                      (if (equal? (file-extension base) "tar")
                          ".xz"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]