Message ID | 87y46fk2k7.fsf@auf.org |
---|---|
State | New |
Headers | show |
Hello Patrick, > ... > + (modify-phases %standard-phases > + (add-before 'configure 'pre-configure > + (lambda* (#:key outputs #:allow-other-keys) > + (let ((out (assoc-ref outputs "out"))) > + (substitute* (find-files "." "^Makefile.in$") > + (("guilemoduledir =.*guile/site" all) > + (string-append all "/2.0"))) > + #t)))))) > ... Just curious: why do you (string-append all "/2.0")? Is this a guix guideline maybe? IMO, G-wrap, Guile-Cairo and Guile-Gnome should all be installed in the directory returned by (%global-site-dir) Cheers, David
On Wed, Jun 08, 2016 at 05:37:26PM -0300, David Pirotte wrote: > Hello Patrick, > > > ... > > + (modify-phases %standard-phases > > + (add-before 'configure 'pre-configure > > + (lambda* (#:key outputs #:allow-other-keys) > > + (let ((out (assoc-ref outputs "out"))) > > + (substitute* (find-files "." "^Makefile.in$") > > + (("guilemoduledir =.*guile/site" all) > > + (string-append all "/2.0"))) > > + #t)))))) > > ... > > Just curious: why do you (string-append all "/2.0")? Is this a guix guideline maybe? > > IMO, G-wrap, Guile-Cairo and Guile-Gnome should all be installed in the > directory returned by (%global-site-dir) > > Cheers, > David `guilemoduledir =.*guile/site' is saved in the variable `all' and then used in the second half of the substitute*. I have a similar one I wrote for aria2 in bittorrent.scm
> > > ... > > > + (modify-phases %standard-phases > > > + (add-before 'configure 'pre-configure > > > + (lambda* (#:key outputs #:allow-other-keys) > > > + (let ((out (assoc-ref outputs "out"))) > > > + (substitute* (find-files "." "^Makefile.in$") > > > + (("guilemoduledir =.*guile/site" all) > > > + (string-append all "/2.0"))) > > > + #t)))))) > > > ... > > Just curious: why do you (string-append all "/2.0")? Is this a guix guideline > > maybe? > > IMO, G-wrap, Guile-Cairo and Guile-Gnome should all be installed in the > > directory returned by (%global-site-dir) > `guilemoduledir =.*guile/site' is saved in the variable `all' and then > used in the second half of the substitute*. I have a similar one I > wrote for aria2 in bittorrent.scm ok, but why "/2.0" is appended to it?
David Pirotte (2016-06-09 22:45 +0300) wrote: >> > > ... >> > > + (modify-phases %standard-phases >> > > + (add-before 'configure 'pre-configure >> > > + (lambda* (#:key outputs #:allow-other-keys) >> > > + (let ((out (assoc-ref outputs "out"))) >> > > + (substitute* (find-files "." "^Makefile.in$") >> > > + (("guilemoduledir =.*guile/site" all) >> > > + (string-append all "/2.0"))) >> > > + #t)))))) >> > > ... > >> > Just curious: why do you (string-append all "/2.0")? Is this a guix guideline >> > maybe? > >> > IMO, G-wrap, Guile-Cairo and Guile-Gnome should all be installed in the >> > directory returned by (%global-site-dir) > >> `guilemoduledir =.*guile/site' is saved in the variable `all' and then >> used in the second half of the substitute*. I have a similar one I >> wrote for aria2 in bittorrent.scm > > ok, but why "/2.0" is appended to it? I think the version is not needed, but Ludovic had another opinion. I don't remember details but there was some discussion about it: <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00408.html>
Patrick Hetu <patrick.hetu@auf.org> skribis: > From 66baa02e5683a309588ae0a68a7d1b918ad72d8e Mon Sep 17 00:00:00 2001 > From: Patrick Hetu <patrick.hetu@auf.org> > Date: Wed, 8 Jun 2016 13:18:07 -0400 > Subject: [PATCH] gnu: g-wrap: Fix installation path > > * gnu/packages/guile.scm (g-wrap): Add 2.0/ to the installation path Applied, thanks! I think guile-gnome built successfully even without this patch because it uses ‘g-wrap-config --guile-module-directory’ to determine what to add to its load path. Ludo’.
Hi Alex, > >> > > ... > >> > > + (modify-phases %standard-phases > >> > > + (add-before 'configure 'pre-configure > >> > > + (lambda* (#:key outputs #:allow-other-keys) > >> > > + (let ((out (assoc-ref outputs "out"))) > >> > > + (substitute* (find-files "." "^Makefile.in$") > >> > > + (("guilemoduledir =.*guile/site" all) > >> > > + (string-append all "/2.0"))) > >> > > + #t)))))) > >> > > ... > >> > Just curious: why do you (string-append all "/2.0")? Is this a guix guideline > >> > maybe? > >> > IMO, G-wrap, Guile-Cairo and Guile-Gnome should all be installed in > >> > the directory returned by (%global-site-dir) > >> `guilemoduledir =.*guile/site' is saved in the variable `all' and then > >> used in the second half of the substitute*. I have a similar one I > >> wrote for aria2 in bittorrent.scm > > ok, but why "/2.0" is appended to it? > I think the version is not needed, but Ludovic had another opinion. I > don't remember details but there was some discussion about it: > <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00408.html> Thanks for the pointer. FWIW, I agree with Mark (a) (%global-site-dir) as always been part of gule's search paths for modules, and that should not be 'altered' for guix, imo; (b) it seems to me there has been a confuson, in this thread, in between those of you talking about packages that also need to install things in $prefix/bin and 'natively' do not distingish themselve from other version(s) [1] and those of you talking packages that are compatible with several version of guile [the one listed in their configure.ac file] and these should be installed in (%global-site-dir), imo. But then maybe I'm missing something. Cheers, David [1] the thread sites qt 4 and 5, but guile does that too by the way, even if you specify --program-suffix, it installs itself and its scripts, in $prefix/bin, without the suffix
From 66baa02e5683a309588ae0a68a7d1b918ad72d8e Mon Sep 17 00:00:00 2001 From: Patrick Hetu <patrick.hetu@auf.org> Date: Wed, 8 Jun 2016 13:18:07 -0400 Subject: [PATCH] gnu: g-wrap: Fix installation path * gnu/packages/guile.scm (g-wrap): Add 2.0/ to the installation path --- gnu/packages/guile.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 74e58c4..04c3f03 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -939,6 +939,16 @@ capabilities.") ("guile-lib" ,guile-lib))) (inputs `(("libffi" ,libffi))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* (find-files "." "^Makefile.in$") + (("guilemoduledir =.*guile/site" all) + (string-append all "/2.0"))) + #t)))))) (synopsis "Generate C bindings for Guile") (description "G-Wrap is a tool and Guile library for generating function wrappers for inter-language calls. It currently only supports generating Guile -- 2.7.4