all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Thompson, David" <dthompson2@worcester.edu>
To: Pjotr Prins <pjotr.public12@thebird.nl>
Cc: "guix-devel@gnu.org" <guix-devel@gnu.org>
Subject: Re: [PATCH] Add yaggo.
Date: Wed, 24 Jun 2015 08:32:51 -0400	[thread overview]
Message-ID: <CAJ=RwfbF7Yg0+cVOTzTYhbqEPFdnQujh0VsXKY8Q0egSKDUt5A@mail.gmail.com> (raw)
In-Reply-To: <20150624055137.GA29505@thebird.nl>

On Wed, Jun 24, 2015 at 1:51 AM, Pjotr Prins <pjotr.public12@thebird.nl> wrote:
> On Wed, Jun 24, 2015 at 02:35:03PM +1000, Ben Woodcroft wrote:
>> Actually, I lie, this patch only sort of works. The issue is that it
>> only works when a ruby package is also installed, GEM_PATH does not
>> get set as part of the ruby-build-system for yaggo. The lib/ files
>> are copied to what I gather is the correct place, but the env isn't
>> right.
>>
>> The same also appears to be true of other ruby packages e.g. ruby-hoe:
>> $ guix package -i ruby-hoe
>> ..
>> ben@u:~/git/guix$ guix package --search-paths
>> warning: failed to install locale: Invalid argument
>> export PATH="/home/ben/.guix-profile/bin:/home/ben/.guix-profile/sbin"
>> export PYTHONPATH="/home/ben/.guix-profile/lib/python3.4/site-packages"
>> export PKG_CONFIG_PATH="/home/ben/.guix-profile/lib/pkgconfig:/home/ben/.guix-profile/share/pkgconfig"
>> export GUILE_LOAD_PATH="/home/ben/.guix-profile/share/guile/site/2.0"
>> export GUILE_LOAD_COMPILED_PATH="/home/ben/.guix-profile/share/guile/site/2.0"
>> export CPATH="/home/ben/.guix-profile/include"
>> export LIBRARY_PATH="/home/ben/.guix-profile/lib"
>> export ACLOCAL_PATH="/home/ben/.guix-profile/share/aclocal"
>>
>> i.e. no GEM_PATH entry, hence:
>
> That is correct. The Ruby support system is still in development.
>
> Adding the GEM_PATH is on the books as well as GEM_HOME and
> GEM_SPEC_CACHE to have the gem and rspec tools work also outside GNU
> Guix.

I don't know about $GEM_SPEC_CACHE, but $GEM_HOME cannot be a native
search path that is part of our ruby packages, because native search
paths are relative to store items, which are immutable.  My feeling is
that if the user wants to use the 'gem' utility instead of using Guix
packages, they're going to have to set an environment variable or two
by themselves.

> At the moment we are working on native gems (i.e. those that contain
> C code). I am also planning for a rubygem-build-system which would
> allow us to include gems with very simple package definitions, e.g.,
> rather then
>
>   (define-public ruby-i18n
>     (package
>       (name "ruby-i18n")
>       (version "0.6.11")
>       (source (origin
>                 (method url-fetch)
>                 (uri (string-append "https://github.com/svenfuchs/i18n/archive/v"
>                                     version ".tar.gz"))
>                 (file-name (string-append name "-" version ".tar.gz"))
>                 (sha256
>                  (base32
>                   "1fdhnhh1p5g8vibv44d770z8nq208zrms3m2nswdvr54072y1m6k"))))
>       (build-system ruby-build-system)
>       (synopsis "Internationalization library for Ruby")
>       (...)
>
> we get
>
>   (define-public ruby-i18n
>     (package
>       (name "ruby-i18n")
>       (version "0.6.11")
>       (source (origin
>                 (method gem-fetch)
>                 (file-name (string-append name "-" version ".gem"))
>                 (sha256
>                  (base32
>                   "1fdhnhh1p5g8vibv44d770z8nq208zrms3m2nswdvr54072y1m6k"))))
>       (build-system rubygem-build-system)
>       (synopsis "Internationalization library for Ruby")
>       (...)
>
> which would install directly from rubygems.org (including contained
> dependencies when missing in the existing environment).

Are you saying that it would bundle the dependencies if there were no
Guix packages for them?

> This would greatly facilitate adding Ruby gems to guix.

I must reiterate my concern about this approach to the wider
guix-devel audience.  From what I can see, the gem archives hosted on
rubygems.org are build artifacts and should probably be treated like
pre-built binaries.  They are not the complete, corresponding source
code.  Can anyone else weigh in here?  I understand the convenience of
using rubygems.org, but I really need some evidence that the archives
hosted there are complete, corresponding source code.

Thanks,

- Dave

  reply	other threads:[~2015-06-24 12:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-24  4:35 [PATCH] Add yaggo Ben Woodcroft
2015-06-24  5:51 ` Pjotr Prins
2015-06-24 12:32   ` Thompson, David [this message]
2015-06-24 13:05     ` Ricardo Wurmus
2015-06-24 19:23     ` Pjotr Prins
2015-06-25 22:47       ` Thompson, David
2015-06-26  6:56         ` Ricardo Wurmus
2015-06-26  7:40           ` Pjotr Prins
2015-06-24 12:19 ` Thompson, David
2015-06-24 23:41   ` Ben Woodcroft
2015-06-25 22:25     ` Thompson, David
2015-07-05  7:33 ` Mark H Weaver
2015-07-05 11:33   ` Ben Woodcroft

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ=RwfbF7Yg0+cVOTzTYhbqEPFdnQujh0VsXKY8Q0egSKDUt5A@mail.gmail.com' \
    --to=dthompson2@worcester.edu \
    --cc=guix-devel@gnu.org \
    --cc=pjotr.public12@thebird.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.