GNU bug report logs - #27275
[PATCH 0/2] Add (guix git) module.

Previous Next

Package: guix-patches;

Reported by: Mathieu Othacehe <m.othacehe <at> gmail.com>

Date: Wed, 7 Jun 2017 12:05:02 UTC

Severity: normal

Tags: patch

Done: Mathieu Othacehe <m.othacehe <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: ludo <at> gnu.org (Ludovic Courtès)
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 27275 <at> debbugs.gnu.org
Subject: bug#27275: [PATCH 1/2] pull: Add a dependency to guile-git.
Date: Thu, 08 Jun 2017 14:06:09 +0200
Hello!

Mathieu Othacehe <m.othacehe <at> gmail.com> skribis:

>>>            (set! %load-compiled-path
>>>              (cons* json
>>> +                   (string-append #$guile-git "/lib/guile/"
>>> +                                  #$(effective-version)-
>>> +                                  "/site-ccache")
>>
>> ‘guile-git’ can be #f so you have to account for that.
>
> Just on question about that. The easier I come up with is something like
> :
>  
>
> (set! %load-path
>       (append
>        `(,@(if
>                (and #$guile-git #$guile-bytestructures)
>                (list
>                 (string-append #$guile-git "/share/guile/site/"
>                                #$(effective-version))
>                 (string-append #$guile-bytestructures "/share/guile/site/"
>                                #$(effective-version)))
>              '()))
>        (cons* json
>               (string-append #$guile-ssh "/share/guile/site/"
>                              #$(effective-version))
>               %load-path)))
>
> Any idea on how to write that smoothly ?

Maybe with a macro along these lines:

--8<---------------cut here---------------start------------->8---
(letrec-syntax ((maybe-load-path
                 (syntax-rules ()
                   ((_ item rest ...)
                    (let ((tail (maybe-load-path rest ...)))
                      (if (string? item)
                          (cons (string-append item
                                               "/share/guile/site/"
                                               (effective-version))
                                tail)
                          tail)))
                   ((_)
                    '()))))
  (set! %load-path
    (maybe-load-path json guile-git guile-bytestructures)))
--8<---------------cut here---------------end--------------->8---

HTH,
Ludo’.




This bug report was last modified 8 years and 69 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.