unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / Atom feed
* Racket will move on top of Chez soon
@ 2020-10-17 18:42 Christopher Lemmer Webber
  2020-10-17 19:14 ` Pierre Neidhardt
  2020-10-18 13:06 ` Bonface M. K.
  0 siblings, 2 replies; 11+ messages in thread
From: Christopher Lemmer Webber @ 2020-10-17 18:42 UTC (permalink / raw)
  To: guix-devel

Just a heads up that right now you *can* run Racket-on-Chez, but soon
Racket-on-Chez will be the "default"... maybe it's a good idea to see
how hard it will be to make a racket-on-chez package variant.

I'm interested in looking at that but it'll probably have to be a while
before I can do so... if someone does so before me, I'll be interested
in beta testing at least.

But also leaving this here as a self-reminder so we aren't surprised
when it becomes a more important thing to deal with :)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Racket will move on top of Chez soon
  2020-10-17 18:42 Racket will move on top of Chez soon Christopher Lemmer Webber
@ 2020-10-17 19:14 ` Pierre Neidhardt
  2020-10-18 13:06 ` Bonface M. K.
  1 sibling, 0 replies; 11+ messages in thread
From: Pierre Neidhardt @ 2020-10-17 19:14 UTC (permalink / raw)
  To: Christopher Lemmer Webber, guix-devel

[-- Attachment #1: Type: text/plain, Size: 305 bytes --]

Indeed.  I gave it a shot some months back... and failed :p

If I recall correctly, the Chez source must be dropped at the right
spot.

I don't have much time to work on this at the moment but if someone else
gives it a shot I'd be happy to help! :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Racket will move on top of Chez soon
  2020-10-17 18:42 Racket will move on top of Chez soon Christopher Lemmer Webber
  2020-10-17 19:14 ` Pierre Neidhardt
@ 2020-10-18 13:06 ` Bonface M. K.
  2020-10-19  4:53   ` Racket packages / build system Christopher Lemmer Webber
  1 sibling, 1 reply; 11+ messages in thread
From: Bonface M. K. @ 2020-10-18 13:06 UTC (permalink / raw)
  To: Christopher Lemmer Webber; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 902 bytes --]

Christopher Lemmer Webber <cwebber@dustycloud.org>
writes:

> Just a heads up that right now you *can* run Racket-on-Chez, but soon
> Racket-on-Chez will be the "default"... maybe it's a good idea to see
> how hard it will be to make a racket-on-chez package variant.
>
> I'm interested in looking at that but it'll probably have to be a while
> before I can do so... if someone does so before me, I'll be interested
> in beta testing at least.
>
> But also leaving this here as a self-reminder so we aren't surprised
> when it becomes a more important thing to deal with :)
>
>

Also, since we are talking about Racket, what
happened to having a racket build system?

-- 
Bonface M. K. <https://www.bonfacemunyoki.com> 
Chief Emacs Mchochezi / Rieng ya software sare
Curator of <https://upbookclub.com> / Twitter: @BonfaceKilz
GPG Key: D4F09EB110177E03C28E2FE1F5BBAE1E0392253F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Racket packages / build system
  2020-10-18 13:06 ` Bonface M. K.
@ 2020-10-19  4:53   ` Christopher Lemmer Webber
  2020-10-19 10:09     ` Bonface M. K.
  0 siblings, 1 reply; 11+ messages in thread
From: Christopher Lemmer Webber @ 2020-10-19  4:53 UTC (permalink / raw)
  To: Bonface M. K.; +Cc: guix-devel, Dimakakos Dimos

Bonface M. K. writes:

> Christopher Lemmer Webber <cwebber@dustycloud.org> writes:
>
>> Just a heads up that right now you *can* run Racket-on-Chez, but soon
>> Racket-on-Chez will be the "default"... maybe it's a good idea to see
>> how hard it will be to make a racket-on-chez package variant.
>>
>> I'm interested in looking at that but it'll probably have to be a while
>> before I can do so... if someone does so before me, I'll be interested
>> in beta testing at least.
>>
>> But also leaving this here as a self-reminder so we aren't surprised
>> when it becomes a more important thing to deal with :)
>>
>>
>
> Also, since we are talking about Racket, what
> happened to having a racket build system?

There's interest in it, and Dimos made interesting progress towards
figuring out some of the key problems... there's been interest beyond
that but sadly it seems like organizing the energy to work on it hasn't
happened for whatever reason yet.

I've offered to throw money at the problem if someone's willing to take
it on btw... not much, but some money.  I've talked to a couple of
people about that but it stalled in each iteration.... I don't think
it's impossible but I guess it's one of those tasks that for whatever
reason seems difficult to get going on because there are some
complexities around the way Racket builds "collections" that eg don't
seem to show up in Python.  Anyway that's not a judgement because
despite wanting it fairly badly clearly I haven't made progress on it.

I have the notes that Dimos wrote up not long ago in case anyone is
interested.  Dimos, do you mind if I post them to the list?

 - Chris


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Racket packages / build system
  2020-10-19  4:53   ` Racket packages / build system Christopher Lemmer Webber
@ 2020-10-19 10:09     ` Bonface M. K.
  2020-10-19 17:04       ` Christopher Lemmer Webber
  0 siblings, 1 reply; 11+ messages in thread
From: Bonface M. K. @ 2020-10-19 10:09 UTC (permalink / raw)
  To: Christopher Lemmer Webber; +Cc: guix-devel, Dimakakos Dimos

[-- Attachment #1: Type: text/plain, Size: 2346 bytes --]

Christopher Lemmer Webber <cwebber@dustycloud.org>
writes:

> Bonface M. K. writes:
>
>> Christopher Lemmer Webber <cwebber@dustycloud.org> writes:
>>
>>> Just a heads up that right now you *can* run Racket-on-Chez, but soon
>>> Racket-on-Chez will be the "default"... maybe it's a good idea to see
>>> how hard it will be to make a racket-on-chez package variant.
>>>
>>> I'm interested in looking at that but it'll probably have to be a while
>>> before I can do so... if someone does so before me, I'll be interested
>>> in beta testing at least.
>>>
>>> But also leaving this here as a self-reminder so we aren't surprised
>>> when it becomes a more important thing to deal with :)
>>>
>>>
>>
>> Also, since we are talking about Racket, what
>> happened to having a racket build system?
>
> There's interest in it, and Dimos made interesting progress towards
> figuring out some of the key problems... there's been interest beyond
> that but sadly it seems like organizing the energy to work on it hasn't
> happened for whatever reason yet.
>

Can I volunteer on this task? There's some work in
my team done in Racket; and it would be of great
interest to us to have a working Racket build
system. I can set apart some time to work on
this. I'd ask for alot of guidance/ review on this
though :)

> I've offered to throw money at the problem if someone's willing to take
> it on btw... not much, but some money.  I've talked to a couple of
> people about that but it stalled in each iteration.... I don't think
> it's impossible but I guess it's one of those tasks that for whatever
> reason seems difficult to get going on because there are some
> complexities around the way Racket builds "collections" that eg don't
> seem to show up in Python.  Anyway that's not a judgement because
> despite wanting it fairly badly clearly I haven't made progress on it.
>
> I have the notes that Dimos wrote up not long ago in case anyone is
> interested.  Dimos, do you mind if I post them to the list?
>
Please do share the notes! I can try to hack
something up \m/\m/.

>  - Chris

-- 
Bonface M. K. <https://www.bonfacemunyoki.com> 
Chief Emacs Mchochezi / Rieng ya software sare
Curator of <https://upbookclub.com> / Twitter: @BonfaceKilz
GPG Key: D4F09EB110177E03C28E2FE1F5BBAE1E0392253F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Racket packages / build system
  2020-10-19 10:09     ` Bonface M. K.
@ 2020-10-19 17:04       ` Christopher Lemmer Webber
  2020-10-19 17:13         ` Dimos Dimakakos
  2020-10-19 18:08         ` Bonface M. K.
  0 siblings, 2 replies; 11+ messages in thread
From: Christopher Lemmer Webber @ 2020-10-19 17:04 UTC (permalink / raw)
  To: Bonface M. K.; +Cc: guix-devel, Dimos Dimakakos

[-- Attachment #1: Type: text/plain, Size: 2591 bytes --]

Bonface M. K. writes:

> Christopher Lemmer Webber <cwebber@dustycloud.org>
> writes:
>
>> Bonface M. K. writes:
>>
>>> Christopher Lemmer Webber <cwebber@dustycloud.org> writes:
>>>
>>>> Just a heads up that right now you *can* run Racket-on-Chez, but soon
>>>> Racket-on-Chez will be the "default"... maybe it's a good idea to see
>>>> how hard it will be to make a racket-on-chez package variant.
>>>>
>>>> I'm interested in looking at that but it'll probably have to be a while
>>>> before I can do so... if someone does so before me, I'll be interested
>>>> in beta testing at least.
>>>>
>>>> But also leaving this here as a self-reminder so we aren't surprised
>>>> when it becomes a more important thing to deal with :)
>>>>
>>>>
>>>
>>> Also, since we are talking about Racket, what
>>> happened to having a racket build system?
>>
>> There's interest in it, and Dimos made interesting progress towards
>> figuring out some of the key problems... there's been interest beyond
>> that but sadly it seems like organizing the energy to work on it hasn't
>> happened for whatever reason yet.
>>
>
> Can I volunteer on this task? There's some work in
> my team done in Racket; and it would be of great
> interest to us to have a working Racket build
> system. I can set apart some time to work on
> this. I'd ask for alot of guidance/ review on this
> though :)

YES!  Please do.  Let's talk.  You can ping me on IRC also, dustyweb on
freenode.

>> I've offered to throw money at the problem if someone's willing to take
>> it on btw... not much, but some money.  I've talked to a couple of
>> people about that but it stalled in each iteration.... I don't think
>> it's impossible but I guess it's one of those tasks that for whatever
>> reason seems difficult to get going on because there are some
>> complexities around the way Racket builds "collections" that eg don't
>> seem to show up in Python.  Anyway that's not a judgement because
>> despite wanting it fairly badly clearly I haven't made progress on it.
>>
>> I have the notes that Dimos wrote up not long ago in case anyone is
>> interested.  Dimos, do you mind if I post them to the list?
>>
> Please do share the notes! I can try to hack
> something up \m/\m/.

I looked at the email that Dimos sent to me (also the email I had was
apparently not the most recent email that they are using, corrected in
the addressing this time), and they had asked me if they should post it
to the mailing list, so I think that's consent to post it since they
expressed consideration in doing so in our exchange... so I'm attaching
it.


[-- Attachment #2: Dimos' notes on Racket on Guix stuff --]
[-- Type: text/plain, Size: 5943 bytes --]

* Basics of Racket packaging system

Racket provides three abstractions of how to reuse and move around modules of code. These are:
** Libraries

A library in Racket is a single file module that can be used in other files. Libraries that are
serving some higher purpose are organised together in Collections.

Documentation can be found [[https://docs.racket-lang.org/reference/collects.html][here]].

** Collections

Collections are a number of libraries bundled together. They can be added to the system through
packages. Racket gets informed for presence of collections through collection link files.

In the filesystem collections are directories that include library files. The default path they are
stored is #<path:/usr/share/racket/collects>. The corresponding link file is located at
#<path:/usr/share/racket/links.rktd> and includes a list as illustrated below:

#+begin_src racket
((root "pkgs/racket-lib")
 (root "pkgs/main-distribution")
 (root "pkgs/2d"))
#+end_src

More specifics about link files and their structure can be found [[https://docs.racket-lang.org/reference/collects.html#%28tech._collection._links._file%29][here]]. More links can be added to
arbitary directories through 'raco link'. This file informs racket where a collection resides in the
#<path:/usr/share/racket> directory.

** Packages

Packages in Racket are the abstractions used to share and move around modules of code. The include a
number of libraries in a collection, or more collections. They are the means through which
dependencies are defined. The main entry for managing them is 'raco pkg'.

The tool for installing packages is 'raco pkg install' that takes as an argument a package source
(name of package in a catalog, directory, tar or zip file etc). How it will act is defined by the
"info.rkt" file included in the package source. 

Documentation for [[https://docs.racket-lang.org/pkg/cmdline.html#%28part._raco-pkg-install%29]['raco pkg install']] and [[https://docs.racket-lang.org/pkg/metadata.html]["info.rkt"]].

Racket can be configured for where to install and search for packages through a confing file
#<path:/etc/usr/racket/config.rktd>. The documentation for the configurations can be found [[https://docs.racket-lang.org/raco/config-file.html?q=raco][here]].

* Racket build system

I will get into the thoughts that I have for the various phases of the build procedure:

** unpack phase
Here normal procedures form 'gnu-build-system' work just fine. The only exception is the handling of
.plt files, which can be done as the .gem files are handled in 'ruby-build-system'.

** bootstrap/build/install phase
Since building and installing is done with 'raco pkg install', it makes sense to have a single phase
dealing with this. The problems that exist here are:
1. <#path:/etc/racket/config.rktd> needs to be updated with all the the places it needs to look for
   the packages. These include the following:
   1. lib-search-dirs
   2. lib-dir
   3. bin-dir
   4. links-search-files
   5. pkgs-search-dirs
   6. collects-search-dirs
   7. doc-search-dirs
      
   This needs to occur two times. First time to build the package, including just its inputs.  Then
   after/while installing the package, we need to create a new config.rktd that includes the proper
   places for all formerly and newly installed packages.

2. Racket packages have circular dependencies.

3. Racket tries to rebuild the dependencies for the package it installs, even when not needed, based
   on timestamps. There exists an environmental variable "PLT_COMPILED_FILE_CHECK", that in
   documentation says if it's set on exist this won't happen. This doesn't seem to work as intended.

4. Documentation is created by mutating the docs structure and adding new links to new nodes of documentation.

For the *first issue*, Claes Wallin that worked on racket2nix, in fact recreates the racket structure
in the outputs folder by copying in the /usr/share/collects, and /lib/racket folders, and creating a
symlink of /usr/share/racket/include. He then creates uses the store provided binaries of
racket(racket, raco, gracket) with -G flag to set the config directory in the outputs and -X flat to
set the collects directory. This way the packages are built and installed in the racket
configuration we created at the outputs. Then the config.rktd needs to be generated. Claes Wallin
does this with a racket script, which we could use, but could also just use a guile function.
I have implemented this, and works as expected, in most cases that don't meet the following issues.

The *second issue* is resolved by the importer in racket2nix. The derivations are expanded to
include circular dependencies and while building the offending packages, dummy inputs are
created. We can do the same using some DFS guile package. Are there any standard graph libraries in
guile? 

The *third issue* is more complicated. Racket will try to to recompile dependencies based on
timestamps. This creates issues during the build. In racket2nix there is created a separate
environment where all dependencies are writable. It is an ugly workaround, but seems to work.

As for the *fourth issue* I didn't research the racket documentation system a lot, especially since
it's packages are the of the main offenders in circulars dependencies.

Binaries of racket packages are placed in "launchers" in the racket configuration folder, so
symlinks to '/bin' shall be created.

** testing phase

It's mostly trivial with 'raco test'.

* Racket importer
Racket packages are defined with "info.rkt" files. Since it's sexp-based it's trivial to parse them
and create package-definitons in guile. There exists some edge-cases like 'implies' that change the
way the packages are upgraded, but in general it pretty simple.

Here is also the place where maybe we could solve the thing with circular dependencies. Is it
possible to create custom fields for inputs in guix derivations?


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Racket packages / build system
  2020-10-19 17:04       ` Christopher Lemmer Webber
@ 2020-10-19 17:13         ` Dimos Dimakakos
  2020-10-19 18:08         ` Bonface M. K.
  1 sibling, 0 replies; 11+ messages in thread
From: Dimos Dimakakos @ 2020-10-19 17:13 UTC (permalink / raw)
  To: Christopher Lemmer Webber; +Cc: guix-devel, Bonface M. K.

> I looked at the email that Dimos sent to me (also the email I had was
> apparently not the most recent email that they are using, corrected in
> the addressing this time), and they had asked me if they should post it
> to the mailing list, so I think that's consent to post it since they
> expressed consideration in doing so in our exchange... so I'm attaching
> it.

Sure, my notes were meant to be public, so thanks for sharing them
here. I don't follow the guix mailing list a lot these days, or I would
have done so myself.

Bonface, if you think that I could help with anything, or need any
clarification on my notes please ask! 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Racket packages / build system
  2020-10-19 17:04       ` Christopher Lemmer Webber
  2020-10-19 17:13         ` Dimos Dimakakos
@ 2020-10-19 18:08         ` Bonface M. K.
  2020-10-21  0:49           ` Christopher Lemmer Webber
  2020-10-21 10:33           ` Ludovic Courtès
  1 sibling, 2 replies; 11+ messages in thread
From: Bonface M. K. @ 2020-10-19 18:08 UTC (permalink / raw)
  To: Christopher Lemmer Webber; +Cc: guix-devel, Dimos Dimakakos

[-- Attachment #1: Type: text/plain, Size: 1618 bytes --]

Christopher Lemmer Webber <cwebber@dustycloud.org>
writes:

[...]

>> Can I volunteer on this task? There's some work in
>> my team done in Racket; and it would be of great
>> interest to us to have a working Racket build
>> system. I can set apart some time to work on
>> this. I'd ask for alot of guidance/ review on this
>> though :)
>
> YES!  Please do.  Let's talk.  You can ping me on IRC also, dustyweb on
> freenode.
>

Thanks! I'm called bonz060 on FreeNode; though nowadays I've
grown to be an e-mail person.

[...]

>> Please do share the notes! I can try to hack
>> something up \m/\m/.
>
> I looked at the email that Dimos sent to me (also the email I had was
> apparently not the most recent email that they are using, corrected in
> the addressing this time), and they had asked me if they should post it
> to the mailing list, so I think that's consent to post it since they
> expressed consideration in doing so in our exchange... so I'm attaching
> it.
>

[...]

Thanks for the notes. I've skimmed through them
and they seem sensible. I'll look at how other
build systems are written as a first step, then
get my hands wet.

Do I open an issue for this---I can't see anything
that tracks this even in archived issues--- then
send patches there? Or do I send patches off the
list and then submit the final drafts(if we get
there) on the list later?

-- 
Bonface M. K. <https://www.bonfacemunyoki.com>
Chief Emacs Bazu / Rieng ya software sare
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
GPG Key: D4F09EB110177E03C28E2FE1F5BBAE1E0392253F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Racket packages / build system
  2020-10-19 18:08         ` Bonface M. K.
@ 2020-10-21  0:49           ` Christopher Lemmer Webber
  2020-10-21 10:33           ` Ludovic Courtès
  1 sibling, 0 replies; 11+ messages in thread
From: Christopher Lemmer Webber @ 2020-10-21  0:49 UTC (permalink / raw)
  To: Bonface M. K.; +Cc: guix-devel, Dimos Dimakakos

Bonface M. K. writes:

> Christopher Lemmer Webber <cwebber@dustycloud.org>
> writes:
>
> [...]
>
>>> Can I volunteer on this task? There's some work in
>>> my team done in Racket; and it would be of great
>>> interest to us to have a working Racket build
>>> system. I can set apart some time to work on
>>> this. I'd ask for alot of guidance/ review on this
>>> though :)
>>
>> YES!  Please do.  Let's talk.  You can ping me on IRC also, dustyweb on
>> freenode.
>>
>
> Thanks! I'm called bonz060 on FreeNode; though nowadays I've
> grown to be an e-mail person.
>
> [...]
>
>>> Please do share the notes! I can try to hack
>>> something up \m/\m/.
>>
>> I looked at the email that Dimos sent to me (also the email I had was
>> apparently not the most recent email that they are using, corrected in
>> the addressing this time), and they had asked me if they should post it
>> to the mailing list, so I think that's consent to post it since they
>> expressed consideration in doing so in our exchange... so I'm attaching
>> it.
>>
>
> [...]
>
> Thanks for the notes. I've skimmed through them
> and they seem sensible. I'll look at how other
> build systems are written as a first step, then
> get my hands wet.
>
> Do I open an issue for this---I can't see anything
> that tracks this even in archived issues--- then
> send patches there? Or do I send patches off the
> list and then submit the final drafts(if we get
> there) on the list later?

That sounds like a great plan!


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Racket packages / build system
  2020-10-19 18:08         ` Bonface M. K.
  2020-10-21  0:49           ` Christopher Lemmer Webber
@ 2020-10-21 10:33           ` Ludovic Courtès
  2020-10-21 12:59             ` Bonface M. K.
  1 sibling, 1 reply; 11+ messages in thread
From: Ludovic Courtès @ 2020-10-21 10:33 UTC (permalink / raw)
  To: Bonface M. K.; +Cc: guix-devel, Dimos Dimakakos

Hi!

"Bonface M. K." <bonfacemunyoki@gmail.com> skribis:

> Thanks for the notes. I've skimmed through them
> and they seem sensible. I'll look at how other
> build systems are written as a first step, then
> get my hands wet.

Would be great to see that happen!  There’s also a Chicken build system
under review currently:

  https://issues.guix.gnu.org/43976

Also, you’ll probably want ‘guix import raco’ at some point; that may be
quite easy to implement if Racket provides a JSON API for its packages.
(take a look at the other importers).

Ludo’.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Racket packages / build system
  2020-10-21 10:33           ` Ludovic Courtès
@ 2020-10-21 12:59             ` Bonface M. K.
  0 siblings, 0 replies; 11+ messages in thread
From: Bonface M. K. @ 2020-10-21 12:59 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Dimos Dimakakos

[-- Attachment #1: Type: text/plain, Size: 893 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

> Hi!
>
> "Bonface M. K." <bonfacemunyoki@gmail.com> skribis:
>
>> Thanks for the notes. I've skimmed through them
>> and they seem sensible. I'll look at how other
>> build systems are written as a first step, then
>> get my hands wet.
>
> Would be great to see that happen!  There’s also a Chicken build system
> under review currently:
>
>   https://issues.guix.gnu.org/43976
>
> Also, you’ll probably want ‘guix import raco’ at some point; that may be
> quite easy to implement if Racket provides a JSON API for its packages.
> (take a look at the other importers).
>

Thanks for the share!

> Ludo’.

-- 
Bonface M. K. <https://www.bonfacemunyoki.com>
Chief Emacs Bazu / Rieng ya software sare
Mchochezi of: <https://upbookclub.com> / Twitter: @BonfaceKilz
GPG Key: D4F09EB110177E03C28E2FE1F5BBAE1E0392253F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-10-21 13:01 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-17 18:42 Racket will move on top of Chez soon Christopher Lemmer Webber
2020-10-17 19:14 ` Pierre Neidhardt
2020-10-18 13:06 ` Bonface M. K.
2020-10-19  4:53   ` Racket packages / build system Christopher Lemmer Webber
2020-10-19 10:09     ` Bonface M. K.
2020-10-19 17:04       ` Christopher Lemmer Webber
2020-10-19 17:13         ` Dimos Dimakakos
2020-10-19 18:08         ` Bonface M. K.
2020-10-21  0:49           ` Christopher Lemmer Webber
2020-10-21 10:33           ` Ludovic Courtès
2020-10-21 12:59             ` Bonface M. K.

unofficial mirror of guix-devel@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guix-devel/0 guix-devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-devel guix-devel/ https://yhetil.org/guix-devel \
		guix-devel@gnu.org
	public-inbox-index guix-devel

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.devel
	nntp://news.gmane.io/gmane.comp.gnu.guix.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git