From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Amirouche Boubekki Newsgroups: gmane.lisp.guile.devel,gmane.comp.gnu.guix.devel Subject: Re: Guix as a Guile package manager Date: Sat, 09 Jan 2016 14:05:38 +0100 Message-ID: References: <5690E261.8000704@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1452344764 15429 80.91.229.3 (9 Jan 2016 13:06:04 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 9 Jan 2016 13:06:04 +0000 (UTC) Cc: guix-devel@gnu.org, guix-devel-bounces+amirouche=hypermove.net@gnu.org, guile-devel@gnu.org To: Fabio Pesari Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Jan 09 14:05:55 2016 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aHtDN-0005gz-HT for guile-devel@m.gmane.org; Sat, 09 Jan 2016 14:05:53 +0100 Original-Received: from localhost ([::1]:40604 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHtDM-0001ED-SO for guile-devel@m.gmane.org; Sat, 09 Jan 2016 08:05:52 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36253) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHtDJ-0001E4-MJ for guile-devel@gnu.org; Sat, 09 Jan 2016 08:05:51 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aHtDI-0002KM-8u for guile-devel@gnu.org; Sat, 09 Jan 2016 08:05:49 -0500 Original-Received: from relay2-d.mail.gandi.net ([217.70.183.194]:35058) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHtDC-0002Hp-KR; Sat, 09 Jan 2016 08:05:42 -0500 Original-Received: from mfilter31-d.gandi.net (mfilter31-d.gandi.net [217.70.178.162]) by relay2-d.mail.gandi.net (Postfix) with ESMTP id EBDFEC5A5E; Sat, 9 Jan 2016 14:05:40 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter31-d.gandi.net Original-Received: from relay2-d.mail.gandi.net ([IPv6:::ffff:217.70.183.194]) by mfilter31-d.gandi.net (mfilter31-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id OpCxXv7gHFAd; Sat, 9 Jan 2016 14:05:39 +0100 (CET) X-Originating-IP: 10.58.1.142 Original-Received: from webmail.gandi.net (webmail2-d.mgt.gandi.net [10.58.1.142]) (Authenticated sender: amirouche@hypermove.net) by relay2-d.mail.gandi.net (Postfix) with ESMTPA id 3E083C5A51; Sat, 9 Jan 2016 14:05:38 +0100 (CET) In-Reply-To: <5690E261.8000704@gnu.org> X-Sender: amirouche@hypermove.net User-Agent: Roundcube Webmail/1.1.2 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.70.183.194 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:18112 gmane.comp.gnu.guix.devel:15034 Archived-At: Héllo, On 2016-01-09 11:35, 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. There is a package manager https://github.com/ijp/guildhall with a package repository with automatic package publishing without review. > 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'm not a core developer, but I don't think it makes sens to fork. Most if not all features of guix are required by language package manager. This includes virtualenv since guix can do them via 'guix environment'. I think what could/should/must be done is settle on guix being the package manager of Guile *and* document how to create package recipes for pure and non-pure guile non autotools modules. Maybe declare guix the optional official package manager something like that.. > 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 This is not an issue since IIRC you can install guix as a user. Not sure what the status of this mode of operation is. Also binary installation of guix is trivial, so it's not like something that can forbid people using it. Having guix in other distros would be of great help too. > 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 Again there is guildhall even if it doesn't have the polish (nice web ui) of pypi or cpan, it's said to work. > (something like Python's virtualenvs would also be useful). This is supported by guix. > 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'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. To repeat myself, I think we need more guidance and incentive on how to include guile modules that are not autotools ready. For my usecase and a lot of other modules I don't think it makes sens to have autotools if you have guix. People who happen to not want to use/install guix, can resolve dependencies themself and I don't see how autotools help anyway. Somewhat related: even if I never saw a package rejected in guix, I think most contributors have some expectations regarding the quality of packages included in guix *main* repository. Otherwise said, I don't mind pushing a alpha software or snippet on pypi, but this is not the case with guix. So maybe, it will be nice to have a guix repository dedicated to guile modules where the expectations will much lower and where guilers can freely share their small and not so small contributions. Also, this will be a visible example of how to extend guix with third party package repository which is a significant asset is some commercial situations. -- Amirouche ~ amz3 ~ http://www.hypermove.net