guix-devel
[Top][All Lists]
Advanced

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

Re: Problem with (patches)


From: Ludovic Courtès
Subject: Re: Problem with (patches)
Date: Sat, 12 Apr 2014 11:57:29 +0200
User-agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux)

Manolis Ragkousis <address@hidden> skribis:

> In this part of my code
>>         (source (origin
>>              (method git-fetch)
>>              (uri (git-reference
>>                    (url "git://git.savannah.gnu.org/hurd/hurd")
>>                    (commit "e77f00db5097d741f27c74c03d194a233f648615")))
>>              (sha256
>>               (base32
>>                "010q5wy88gaw4qfv2vl9pxfma9px8gs6v03ahqksq420v003b6r1"))
>>              (patches (list (search-patch "minimal-hurd.patch")))))
>
> as long as I have (patches..) in there I get the error here
>
> http://paste.lisp.org/display/142007/raw

(Please always put things inline.)

--8<---------------cut here---------------start------------->8---
 549: 5 [expand-input # # # ...]
 512: 4 [cache # "x86_64-linux" #<procedure thunk ()>]
 602: 3 [thunk]
 320: 2 [patch-and-repack # # # ...]
In ice-9/boot-9.scm:
 357: 1 [string-every #<charset {#\0..#\9 #\A..#\F #\a..#\f}> #f 0 #<undefined>]
In unknown file:
   ?: 0 [string-length #f]
--8<---------------cut here---------------end--------------->8---

I believe this is fixed with:

diff --git a/guix/packages.scm b/guix/packages.scm
index 812d6bb..fa93cee 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -317,7 +317,8 @@ IMPORTED-MODULES specify modules to use/import for use by 
SNIPPET."
 
   (define (numeric-extension? file-name)
     ;; Return true if FILE-NAME ends with digits.
-    (string-every char-set:hex-digit (file-extension file-name)))
+    (and=> (file-extension file-name)
+           (string-every char-set:hex-digit <>)))
 
   (define (tarxz-name file-name)
     ;; Return a '.tar.xz' file name based on FILE-NAME.
Can you confirm?

In addition, you may want to add a ‘file-name’ field, so that the
checkout has a name more descriptive than ‘git-checkout’, as is done for
libwebsockets:

  (package
    (name "libwebsockets")
    (version "1.2")
    (source (origin
              ;; The project does not publish tarballs, so we have to take
              ;; things from Git.
              (method git-fetch)
              (uri (git-reference
                    (url "git://git.libwebsockets.org/libwebsockets")
                    (commit (string-append "v" version
                                           "-chrome26-firefox18"))))
              (sha256
               (base32
                "1293hbz8qj4p27m1qjf8dn97r10xjyiwdpq491m87zi025s558cl"))
              (file-name (string-append name "-" version))))  ;; <--- here

HTH!

Ludo’.

reply via email to

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