GNU bug report logs -
#27275
[PATCH 0/2] Add (guix git) module.
Previous Next
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
Message #23 received at 27275 <at> debbugs.gnu.org (full text, mbox):
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.