unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: CRLF0710 <crlf0710@gmail.com>
To: guile-devel@gnu.org
Subject: Re: CPAN-type thing: specifications, wishes, thoughts?
Date: Mon, 18 Apr 2011 15:56:06 +0800	[thread overview]
Message-ID: <BANLkTikKiswO_-jvD_3kFELk2g=1gS9z6Q@mail.gmail.com> (raw)
In-Reply-To: <BANLkTi=L2uPuPW-RPT_ed-GXZNp5ywE0sg@mail.gmail.com>

Something like the Planets of Racket-lang? Should be able to install
offline, though~

2011/4/18 Noah Lavine <noah.b.lavine@gmail.com>:
> Hello all,
>
> I'm afraid this email is coming much later in the planning process
> than it should, and quite possibly we won't be able to do any of this
> for SoC, and that's fine with me. But I was thinking about what we
> could do that would be a "killer feature" for Guile's CPAN - something
> that isn't already done by apt-get, dorodango, and every other package
> manager. One answer is that having a big collection of Guile packages
> *is* a killer feature, but we could have an apt repository of those if
> we wanted one.
>
> I think the answer is that the killer feature for a large repository
> of packages is having the ability to painlessly bundle a piece of
> software you've been writing and all of its dependencies in one
> easy-to-install thing for users. After all, it's easy when you're
> developing on your own machine to download a bunch of packages and use
> them to do whatever you need to do, but if you then want to send that
> to other people, you've got to collect the source code (or at least
> .go files) for all of them, put them in a folder, make sure the
> load-path will work out, and then most importantly, do all of that
> again every time a new version of one of your dependencies comes out.
> I think the feature that is missing is the ability to say "take my
> software and package it so that its only external dependency is
> POSIX", or something similar.
>
> The implementation of such a thing isn't especially deep, but I bet
> there will be a lot of little things that need to be done just right
> for it to work. I think this could be a part of a package manager that
> also does the other things Paul was listing.
>
> How does this idea sound?
>
> Noah
>
> On Tue, Apr 12, 2011 at 11:01 PM, Paul Raccuglia <praccu@gmail.com> wrote:
>> Hi. Since the idea of creating something like CPAN is something folks
>> wants, I figure it would be good to collect as many thoughts and
>> information as possible in one place.
>>
>> (I'd also appreciate links to relevant threads)
>>
>> My thoughts, specifically, were for the client to be fairly similar in
>> function to apt-get. (from the user's perspective)
>> The core commands would be:
>>
>> INSTALL package_name   -- queries a server (set in configuration
>> files), gets an absolute link to the package, and a list of
>> dependencies. Downloads the package, and then any dependencies, and
>> takes care of unpacking, verifying, compiling, storing, etc. anything
>> that needs to be done. The package would have to have meta-data
>> attached in some fashion.
>>
>> REMOVE package_name -- just has to remove all the relevant files, and
>> clean up any references to the package in the storage system. May want
>> to check dependencies and alert the user.
>>
>> UPDATE [package_name] -- could be called to check all packages (by not
>> specifying a package name) or to update a specific package. Warn the
>> user of any dependencies that could be broken.
>>
>> My thought was that the package manager could, itself, be a package
>> (but, hopefully, one that would be included by default). I wouldn't
>> imagine that the current code base would need to be modified a whole
>> lot.
>>
>> I was thinking that most of this project could be written in Guile.
>> Does that make sense?
>>
>> Some thoughts I heard were:
>> using stowfs to handle storing the packages intelligently
>> use dorodango to handle most of the acquisition
>>
>>
>> For the server design:
>> I was envisioning a website to navigate packages (like
>> http://packages.debian.org/stable/). My thought is to do everything
>> over HTTP (seems like that would work well with Dorodango). Doesn't
>> seem like a hugely complicated issue?
>>
>> Questions about the server:
>> How would the central repository be maintained? Give trusted
>> developers the ability to make changes to their personal packages at
>> will?
>> How will packages be nominated / selected for inclusion?
>>
>>
>> That's all I can think of, right now. I'm sure there's more but I want
>> to start a discussion. Thanks,
>> Paul R
>>
>>
>
>



-- 
CrLF.0710



  reply	other threads:[~2011-04-18  7:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-13  3:01 CPAN-type thing: specifications, wishes, thoughts? Paul Raccuglia
2011-04-18  1:16 ` Noah Lavine
2011-04-18  7:56   ` CRLF0710 [this message]
2011-04-18 11:45     ` Tristan Colgate-McFarlane
2011-04-20 14:14     ` Andreas Rottmann
2011-04-20 14:13   ` Andreas Rottmann
2011-04-20 14:24     ` Noah Lavine
2011-04-20 14:06 ` Andreas Rottmann
2011-04-20 14:54   ` Andreas Rottmann

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://www.gnu.org/software/guile/

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

  git send-email \
    --in-reply-to='BANLkTikKiswO_-jvD_3kFELk2g=1gS9z6Q@mail.gmail.com' \
    --to=crlf0710@gmail.com \
    --cc=guile-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.
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).