unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Bonface M. K." <bonfacemunyoki@gmail.com>
To: Christopher Lemmer Webber <cwebber@dustycloud.org>
Cc: guix-devel@gnu.org, Dimos Dimakakos <me@bendersteed.tech>,
	Pjotr Prins <pjotr2020@thebird.nl>
Subject: Re: Racket packages / build system
Date: Tue, 10 Nov 2020 15:07:17 +0300	[thread overview]
Message-ID: <865z6djtze.fsf@gmail.com> (raw)
In-Reply-To: <87imaem9dd.fsf@dustycloud.org> (Christopher Lemmer Webber's message of "Mon, 09 Nov 2020 17:51:58 -0500")

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


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

> Dimos Dimakakos writes:
>
>> Bonface M. K. writes:
>>
>>> To simply put it, AFAIU updating a package would
>>> require racket to update it's references(either
>>> links, and other references that I won't go into),
>>> hence creating some form of "global state";
>>> thereby if you use raco, every package updated
>>> would lead to some update with racket's search
>>> paths or dirs somewhere. Any ideas to overcome
>>> this wall? (or anything I've got wrong somewhere?)
>>
>> This was one of the main problems that I also encountered when working
>> on this. racket2nix solves this by generating a temporary environment
>> (by coping most of the racket folders and the deps needed as writable
>> folders) where it installs with raco and then tries to update the global
>> state of racket.
>>
>> To be honest this solution is kinda hacky and also slow, but I couldn't
>> think of another one at the time I tried to work on the issue. It's a
>> reality that the racket install system is quite stateful and also many
>> operations seem to try to touch files. Installing with raco for example
>> will try to recompile the dependencies of the new package and other such
>> examples.
>>
>> Anyway, I hope you can find a way to move this forward!
>
> I wonder if it would be a good idea to copy many of the points from this
> email and the parent to racket-users or racket-dev and see if someone
> more familiar with the structure of the system can provide guidance from
> there?
>

This is a good idea IMHO. I'll go ahead and do
this. Perhaps there's something more important
we've missed or aren't seeing.

> If we have to go the racket2nix route, it would be better than nothing I
> guess.
>

Yeah. I'm considering going though this route as a
last resort. I don't understand the nix DSL
syntax(though it reads alot like Haskell!).

> Another possible route: don't use the Racket installer tooling.
> Instead, read the info.rkt file of the package to understand what raco
> *probably would* do, and then do it in a more Guix way instead.
>
> What do you think of that route?

I've considered doing this... studying raco's
source and seeing how it actually does and sets up
things. I'd rather do this than the above, but it
would take more time and would lead to alot more
boiler plate I think... I'm not entirely sure
about how to work around the global state
though...

First, let's consult with the racket-devel and
racket-user ML and see what those communities have
to suggest...

-- 
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 --]

  reply	other threads:[~2020-11-10 12:07 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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.
2021-01-28  3:03           ` Stephen Paul Weber
2020-11-09 20:54     ` Bonface M. K.
2020-11-09 21:21       ` Dimos Dimakakos
2020-11-09 22:51         ` Christopher Lemmer Webber
2020-11-10 12:07           ` Bonface M. K. [this message]
2020-11-10 17:37             ` Christopher Lemmer Webber
2020-11-11 10:53               ` Bonface M. K.
2020-11-10 12:30           ` Bonface M. K.

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=865z6djtze.fsf@gmail.com \
    --to=bonfacemunyoki@gmail.com \
    --cc=cwebber@dustycloud.org \
    --cc=guix-devel@gnu.org \
    --cc=me@bendersteed.tech \
    --cc=pjotr2020@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 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).