From: ludo@gnu.org (Ludovic Courtès)
To: Pjotr Prins <pjotr.public12@thebird.nl>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Ruby install
Date: Mon, 05 May 2014 10:03:30 +0200 [thread overview]
Message-ID: <87wqe0ps8d.fsf@gnu.org> (raw)
In-Reply-To: <20140504175144.GA28798@thebird.nl> (Pjotr Prins's message of "Sun, 4 May 2014 19:51:44 +0200")
Hi, Pjotr,
Pjotr Prins <pjotr.public12@thebird.nl> skribis:
> I have a working Ruby installation at
>
> https://gitorious.org/guix/pjotrps-guix/source/61d21fad72d49cbbf0135b5ac7362bb0f64167fa:gnu/packages/ruby.scm
>
> This is my first GUIX package (I have written Nix packages before), so
> please have a look.
Overall looks good to me! A couple of comments:
59. (substitute* (filter file-exists?
60. '(
61. "ext/readline/readline.c"
62. ))
Here we can assume that the file exists I believe, so the ‘filter’ call
can be removed.
67. (substitute* (filter file-exists?
68. '(
69. "configure"
70. "configure.in"
71. "Makefile.in"
72. "ext/pty/pty.c"
73. "io.c"
74. "lib/mkmf.rb"
75. "process.c"
76. "test/rubygems/test_gem_ext_configure_builder.rb"
77. "test/rdoc/test_rdoc_parser.rb"
78. "test/ruby/test_rubyoptions.rb"
79. "test/ruby/test_process.rb"
80. "test/ruby/test_system.rb"
81. "tool/rbinstall.rb"
82. "tool/config.guess"
83. ))
84. (("/bin/sh") (which "sh"))))
Likewise. In addition, I think only the .rb and .c files need to be
patched, since the others are already handled automatically, normally.
(In the future please send it as an in-line patch.)
> I intend to patch rubygems so gems get installed in a $HOME dir
> specifically named after the SHA. This will accomodate people who just
> want to use rubygems.
>
> I am also going to add particalur gems to GUIX, each going into its
> own expression. That will be a bit tricky because I don't want
> Rubygems to install dependencies. Not sure how the Nix guys did it, so
> I will study that.
It may be helpful to have a ‘ruby-build-system’, akin to
‘python-build-system’ but with the right incantations (info "(guix)
Build Systems").
> Do we have a HOWTO on how to run expressions in the Guile debugger?
> Never used that and would like to see how individual statements
> evaluate in LISP.
Basically there are two approaches. From the command line, like this:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guile
GNU Guile 2.0.11.20-4338f
Copyright (C) 1995-2014 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> ,use (gnu packages python)
scheme@(guile-user)> ,use (guix)
scheme@(guile-user)> (define s (open-connection))
scheme@(guile-user)> python
$1 = #<package python-3.3.5 gnu/packages/python.scm:46 2946840>
scheme@(guile-user)> (package-derivation s python)
$2 = #<derivation /gnu/store/k0lvsy8jwcw0amv1rsmii2cvwfnmn2gz-python-3.3.5.drv => /gnu/store/ij8xgynicdmnzb7pzmyb6bqi17s0ll3y-python-3.3.5 3f4fdc0>
scheme@(guile-user)> (build-derivations s (list $2))
$3 = #t
--8<---------------cut here---------------end--------------->8---
But the best thing, if you use Emacs, is to use Geiser, as noted in
‘HACKING’. In addition to a REPL, it brings stuff like autodoc,
jump-to-definition, expression evaluation from the buffer, etc.
> I am really impressed with GUIX, and I think it is a no-brainer to use
> a real functional programming language for this. Thanks Ludo and
> others! I just wish I could use GUIX on servers where I don't have (and
> won't get) root access. Or is there a way? With Nix I could run as a
> normal user.
It’s the same as Nix, which means that if the daemon cannot run as root,
then it’s usable in a “degraded” mode (info "(guix) Build Environment
Setup").
HTH,
Ludo’.
next prev parent reply other threads:[~2014-05-05 8:03 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-04 17:51 Ruby install Pjotr Prins
2014-05-05 8:03 ` Ludovic Courtès [this message]
2014-05-05 8:29 ` Pjotr Prins
2014-05-05 11:42 ` Ludovic Courtès
2014-06-04 21:36 ` Ludovic Courtès
2014-06-05 9:57 ` Pjotr Prins
2014-10-27 4:58 ` guile ERROR: Unbound variable: sha256 Pjotr Prins
2014-10-27 9:18 ` Ludovic Courtès
2014-09-27 12:29 ` [PATCH] New ruby package Pjotr Prins
2014-09-27 13:06 ` Pjotr Prins
2014-09-27 13:44 ` David Thompson
2014-09-28 4:00 ` David Thompson
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=87wqe0ps8d.fsf@gnu.org \
--to=ludo@gnu.org \
--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.