Message ID | 87y46fk2k7.fsf@auf.org |
---|---|
State | New |
Headers |
Received: (qmail 6666 invoked by uid 89); 8 Jun 2016 17:34:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.1 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=BAYES_00, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2735, his X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: lists.gnu.org Received: from lists.gnu.org (HELO lists.gnu.org) (208.118.235.17) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Wed, 08 Jun 2016 17:34:16 +0000 Received: from localhost ([::1]:58657 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <guix-devel-bounces+patchwork=sourceware.org@gnu.org>) id 1bAhMr-00078U-TF for patchwork@sourceware.org; Wed, 08 Jun 2016 13:34:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54361) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <patrick.hetu@auf.org>) id 1bAhMm-00078L-Oi for guix-devel@gnu.org; Wed, 08 Jun 2016 13:34:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <patrick.hetu@auf.org>) id 1bAhMh-0004lz-6z for guix-devel@gnu.org; Wed, 08 Jun 2016 13:34:08 -0400 Received: from smtp.ca.auf.org ([199.84.140.5]:47094) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <patrick.hetu@auf.org>) id 1bAhMh-0004l4-1h for guix-devel@gnu.org; Wed, 08 Jun 2016 13:34:03 -0400 Received: from smtp-sortant.ca.auf.org (smtp-sortant.ca.auf.org [199.84.140.10]) by smtp.ca.auf.org (Postfix) with ESMTP id 6F78218E0 for <guix-devel@gnu.org>; Wed, 8 Jun 2016 13:34:01 -0400 (EDT) Received: from localhost (amavis-montreal.ca.auf.org [199.84.140.2]) by smtp-sortant.ca.auf.org (Postfix) with ESMTP id ABC3CB77B for <guix-devel@gnu.org>; Wed, 8 Jun 2016 13:34:01 -0400 (EDT) X-Virus-Scanned: par amavis-montreal.ca.auf.org Received: from smtp-sortant.ca.auf.org ([199.84.140.10]) by localhost (amavis-montreal.ca.auf.org [199.84.140.2]) (amavisd-new, port 10024) with ESMTP id jIeXq7toAlFU for <guix-devel@gnu.org>; Wed, 8 Jun 2016 13:34:00 -0400 (EDT) Received: from sans-nom.auf.org (unknown [10.36.1.102]) by smtp-sortant.ca.auf.org (Postfix) with ESMTPSA id 8BF884D2 for <guix-devel@gnu.org>; Wed, 8 Jun 2016 13:34:00 -0400 (EDT) References: <1464375363-31718-1-git-send-email-patrick.hetu@auf.org> <87y46ui2uk.fsf@gnu.org> <87ziqwkhkw.fsf@auf.org> <87vb1jhl7w.fsf@gnu.org> From: Patrick Hetu <patrick.hetu@auf.org> To: guix-devel@gnu.org Subject: Re: [PATCH] gnu: Add guile-gnome In-reply-to: <87vb1jhl7w.fsf@gnu.org> Date: Wed, 08 Jun 2016 13:34:00 -0400 Message-ID: <87y46fk2k7.fsf@auf.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 199.84.140.5 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." <guix-devel.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-devel>, <mailto:guix-devel-request@gnu.org?subject=unsubscribe> List-Archive: <http://lists.gnu.org/archive/html/guix-devel/> List-Post: <mailto:guix-devel@gnu.org> List-Help: <mailto:guix-devel-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-devel>, <mailto:guix-devel-request@gnu.org?subject=subscribe> Errors-To: guix-devel-bounces+patchwork=sourceware.org@gnu.org Sender: "Guix-devel" <guix-devel-bounces+patchwork=sourceware.org@gnu.org> |
Commit Message
Patrick Hetu
June 8, 2016, 5:34 p.m. UTC
Ludovic Courtès @ 2016-06-08 09:19 EDT: > Patr ick Hetu <patrick.hetu@auf.org> skribis: > >> Ludovic Courtès @ 2016-05-28 12:06 EDT: >> >>> Pushed as 9b381643f009025d97dfc0b82d2c00800c204380 with a few minor >>> changes: >> [...] >> Still, the current g-wrap package needs a new patch to fix his Makefile.in >> because the native-search-paths hooks won't find it for Guile 2.0. > > But it works well to build guile-gnome AFAICS. When is it a problem? I'm getting this error in a simple test script: In ice-9/boot-9.scm: 2951: 3 [define-module* (gnome gw gtk) #:filename ...] 2926: 2 [resolve-imports ((#) (#) (#) (#) ...)] 2867: 1 [resolve-interface (g-wrap gw standard) #:select ...] In unknown file: ?: 0 [scm-error misc-error #f ...] ERROR: In procedure scm-error: ERROR: no code for module (g-wrap gw standard) because the g-wrap code is under: /gnu/store/...-g-wrap-1.9.15/share/guile/site /gnu/store/...-g-wrap-1.9.15/share/guile/site/g-wrap.scm /gnu/store/...-g-wrap-1.9.15/share/guile/site/g-wrap /gnu/store/...-g-wrap-1.9.15/share/guile/site/g-wrap/compat.scm /gnu/store/...-g-wrap-1.9.15/share/guile/site/g-wrap/config.scm and not /gnu/..../share/guile/2.0/g-wrap/... > But yeah, patching it to match the native-search-paths is a good idea. ok, I've attached the patch. >> Also, should I rename it to guile-g-wrap at the same time? > > I don’t think so, because it’s both a program and a library, not just a > library (I see that this rule mine and is not spelled out in “Packaging > Guidelines”; it probably should, if there’s consensus.) ok. Patrick
Comments
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