unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: Fabio Pesari <fabiop@gnu.org>
Cc: guix-devel@gnu.org, guile-devel@gnu.org
Subject: Re: Guix as a Guile package manager
Date: Sat, 9 Jan 2016 15:42:27 -0500	[thread overview]
Message-ID: <20160109204227.GD30687@jasmine> (raw)
In-Reply-To: <5690E261.8000704@gnu.org>

On Sat, Jan 09, 2016 at 11:35:13AM +0100, Fabio Pesari wrote:
> Package managers have been immensely successful in increasing the
> popularity of programming languages - think about Perl's CPAN or Ruby's
> Gem. But Guile doesn't a package manager, and that in my opinion slows
> down its adoption.
> 
> The Guix repos distribute a lot of useful Guile libraries (like
> guile-json or guile-opengl) which can't be found on most distro
> repositories and it already provides Guile APIs and package management
> capabilities...my question is, can Guix be forked into a full-blown
> Guile package manager like gem from Ruby?
> 
> I know that an argument could be made that Guix can already be used in
> this way, but there are many Scheme coders who don't need a system-wide
> package manager and would rather use a program that can manage Guile
> packages under a user root like ~/.guile and allow them to easily
> distribute their packages (something like Python's virtualenvs would
> also be useful).
> 
> Perhaps some of the Guix code can be moved to a library, so that both
> the Guix and the Guile package manager binaries can reuse the same code.
> Moving Guix' core to a library would also facilitate its inclusion in
> things like PackageKit, as well as make it easier to create front-ends.

I think the main problem with this idea is that the whole point of Guix
/ Nix is to manage the entire dependency graph — from the package you
are trying to install and use all the way down the tar used to unpack
the sources, the GCC used to compile everything, etc.

There is not much point in using Guix to only manage the very top-level
of the graph (the Guile modules you'd want to install) because by not
managing the entire graph from top to bottom, the Guix system would just
break as the unmanaged dependencies are changed the OS's package manager
or the user.

There really isn't anything left when you try to split up Guix in the
way you are requesting.

> 
> I'm not a package management expert so I'm not sure this idea is
> feasible but I would really like Guile to become more
> popular, and this I think would be a step in the right direction.
> 

      parent reply	other threads:[~2016-01-09 20:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-09 10:35 Guix as a Guile package manager Fabio Pesari
2016-01-09 13:05 ` Amirouche Boubekki
2016-01-09 14:06   ` Fabio Pesari
2016-01-09 14:35     ` Amirouche Boubekki
2016-01-09 15:29       ` Fabio Pesari
2016-01-09 19:47         ` Ricardo Wurmus
2016-01-09 15:30 ` Thompson, David
2016-01-09 16:00   ` Fabio Pesari
2016-01-09 18:52   ` Ludovic Courtès
2016-01-09 20:42 ` Leo Famulari [this message]

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=20160109204227.GD30687@jasmine \
    --to=leo@famulari.name \
    --cc=fabiop@gnu.org \
    --cc=guile-devel@gnu.org \
    --cc=guix-devel@gnu.org \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).