GNU bug report logs -
#43818
search-patches fails when there is a trailing slash on the Guix load path
Previous Next
Full log
Message #21 received at 43818 <at> debbugs.gnu.org (full text, mbox):
Fixes <https://issues.guix.gnu.org/43818>.
Having the Guix root trailed by a slash in the GUILE_LOAD_PATH would
previously cause %patch-path to not return an entry with the patches
sub-directory, leading to errors such as:
While executing meta-command:
ERROR:
1. &formatted-message:
format: "~a: patch not found\n"
arguments: ("icecat-use-older-reveal-hidden-html.patch")
* gnu/packages.scm (strip-trailing-slash): New procedure.
(%patch-path): Use it to strip any trailing slash from the %load-path entries.
---
gnu/packages.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/gnu/packages.scm b/gnu/packages.scm
index ccfc83dd11..f5acbda897 100644
--- a/gnu/packages.scm
+++ b/gnu/packages.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014 Eric Bavier <bavier <at> member.fsf.org>
;;; Copyright © 2016, 2017 Alex Kost <alezost <at> gmail.com>
;;; Copyright © 2016 Mathieu Lirzin <mthl <at> gnu.org>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -159,6 +160,12 @@ flags."
%default-package-module-path
channels-scm))))
+(define (strip-trailing-slash s)
+ ;; Strip the trailing slash of a string, if present.
+ (if (string-suffix? "/" s)
+ (string-drop-right s 1)
+ s))
+
(define %patch-path
;; Define it after '%package-module-path' so that '%load-path' contains user
;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
@@ -167,7 +174,7 @@ flags."
(if (string=? directory %distro-root-directory)
(string-append directory "/gnu/packages/patches")
directory))
- %load-path)))
+ (map strip-trailing-slash %load-path))))
;; This procedure is used by Emacs-Guix up to 0.5.1.1, so keep it for now.
;; See <https://github.com/alezost/guix.el/issues/30>.
--
2.28.0
This bug report was last modified 4 years and 232 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.