From: "Sébastien Rey-Coyrehourcq" <sebastien.rey-coyrehourcq@univ-rouen.fr>
To: Wojtek Kosior <koszko@koszko.org>
Cc: zimoun <zimon.toutoune@gmail.com>, help-guix <help-guix@gnu.org>
Subject: Re: Help packaging R Quarto Cli
Date: Fri, 28 Oct 2022 23:32:10 +0200 [thread overview]
Message-ID: <878rkztyny.fsf@univ-rouen.fr> (raw)
In-Reply-To: <20221028221738.3bf01294@koszkonutek-tmp.pl.eu.org>
[-- Attachment #1.1.1: Type: text/plain, Size: 10029 bytes --]
Wojtek Kosior <koszko@koszko.org> writes:
> I think I almost understand your approach. Just a quick question - what
> Guix command are you using to try building? With this setup I’d try
> something like
>
> guix shell -L ./export/ rust-deno
>
Actually, from export folder i try :
i try *guix build -L . -f rust-deno-1.scm*
But the module are not loaded, i don’t understand well the way guix load module it seems.
Into rust-deno-1.scm i put :
(define-module (rust-deno-1 rust-deno-1)
#:use-module (rust-cache-control-0.2 rust-cache-control-0.2)
and into ./rust-cache-control-0.2/rust-cache-control-0.2.scm i put :
(define-module (rust-cache-control-0.2 rust-cache-control-0.2)
But any of this pass using the *guix build* command :
`no code for module (rust-cache-control-0.2 rust-cache-control-0.2)'
> and then I’d put
>
> (define-module (rust-ecdsa-0.14 rust-ecdsa-0.14)
> #:use-module (rust-serdect-0.1 rust-serdect-0.1))
>
> inside `./export/rust-ecdsa-0.14/rust-ecdsa-0.14.scm`. That’s how guile
> modules work - a module is identified by a list of symbols that match
> module file’s path (starting from a guile’s modules root directory, in
> this case the one passed via the `-L` option).
>
>> If that works locally i suppose i could sent a patch with all the
>> rust modules needed to build Deno ?
>
> A patch would then expect the module(s) to be put under gnu/packages in
> the Guix repo and then their `#:use-module` lines would need to be
> modified accordingly… So you’d need to make these small adaptations
> first.
>
> Honestly, I haven’t been submitting patches before and I don’t know
> exactly what module structure Guix devs expect. Perhaps someone else
> may help you here.
>
> Anyway, it seems right now you just have the result of running
> `guix import` and you have not yet built any of those recipes? I don’t
> want to be pessimistic but here’s a warning - there’ll surely be some
> fixes you’ll have to make. Be prepared to dive into scheme :)
>
I first put all the things into deno.scm, with thousand of lines, that compile a little… and i changing my mind finally …
imho the module way is perhaps less discouraging : Resolving bug modules by modules…
I push some corrections to my python script to generate good module name when i found.
Yes, i probably need some guile diving …
Best,
Sr-C.
> Best,
> Wojtek
>
> – (sig_start)
> website: <https://koszko.org/koszko.html>
> PGP: <https://koszko.org/key.gpg>
> fingerprint: E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A
>
> Meet Kraków saints! #16: saint Jan z Dukli
> Poznaj świętych krakowskich! #16: święty Jan z Dukli
> <https://pl.wikipedia.org/wiki/Jan_z_Dukli>
> – (sig_end)
>
>
> On Fri, 28 Oct 2022 18:19:32 +0200
> Sébastien Rey-Coyrehourcq <sebastien.rey-coyrehourcq@univ-rouen.fr> wrote:
>
>> Hi,
>>
>> Wojtek Kosior <koszko@koszko.org> writes:
>>
>> >> Hi,
>> >>
>> >> I continue the packaging using guix import crate, this is a slow process, but everything goes well at this time.
>> >>
>> >> My file deno.scm contain 6000 line, with all packages imported, this is a problem because i need to remove duplicate.
>> >> The best way was probably to export all `(define public method … )` into a folder with corresponding library.scm.
>> >
>> > Do you have wour work-in-progress in some public repo? This would make
>> > us easier to understand your setup and would also allow more ppl to
>> > cooperate (although unfortunately Idk if there’s anyone else who’s
>> > particularly interested in deno at this particular moment).
>> >
>>
>> Here we are : <https://git.sr.ht/~reyman/build-deno-script>
>>
>> This is a wip python script that build an `export/’ directory containing all rust module needed to compile deno (i suppose)
>>
>> The deno script is localized at the root of `export/’ folder
>>
>> I build the modules folders, but know i don’t know how to compile all this folders correctly using correct path …
>> Any guile help appreciated to do that !
>>
>> For example, the module *./export/rust-ecdsa-0.14/rust-ecdsa-0.14.scm* need a module localized to *./export/rust-serdect-0.1/rust-serdect-0.1.scm*
>>
>> I simply try *#:use-module (../rust-serdect-01)* in *rust-ecdsa-0.14* define-module but this probably not the good way.
>>
>> >> I need to create a module by package do you thing ? and after that import all the package using `use-modules` ?
>> >
>> > From what I’ve seen, Guix package definitions are usually grouped into
>> > modules thematically. Although until you actually try upstreaming your
>> > work, you’re not bound by any reqs and you can structure the
>> > definitions in a way that’s comfortable for you.
>> >
>> > Also, are you adding your package by modifying the actual Guix sources?
>> > Or by creating modules outsite of these? Perhaps this was already
>> > metioned but I don’t have previous emails on the top…
>> >
>>
>> If that works locally i suppose i could sent a patch with all the rust modules needed to build Deno ?
>>
>> Best !
>> SR.
>>
>> > Good luck :)
>> > Wojtek
>> >
>> > – (sig_start)
>> > website: <https://koszko.org/koszko.html>
>> > PGP: <https://koszko.org/key.gpg>
>> > fingerprint: E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A
>> >
>> > Meet Kraków saints! #33: blessed Antonin Bajewski
>> > Poznaj świętych krakowskich! #33: błogosławiony Antonin Bajewski
>> > <https://pl.wikipedia.org/wiki/Antonin_Bajewski>
>> > – (sig_end)
>> >
>> >
>> > On Thu, 27 Oct 2022 09:05:52 +0200
>> > Sébastien Rey-Coyrehourcq <sebastien.rey-coyrehourcq@univ-rouen.fr> wrote:
>> >
>> >> Hi,
>> >>
>> >> I continue the packaging using guix import crate, this is a slow process, but everything goes well at this time.
>> >>
>> >> My file deno.scm contain 6000 line, with all packages imported, this is a problem because i need to remove duplicate.
>> >> The best way was probably to export all `(define public method … )` into a folder with corresponding library.scm.
>> >>
>> >> I need to create a module by package do you thing ? and after that import all the package using `use-modules` ?
>> >>
>> >> Best
>> >>
>> >> Wojtek Kosior <koszko@koszko.org> writes:
>> >>
>> >>
>> >> >> > Out of curiosity - what are the problems between Guix and JS? When I
>> >> >> > read this my first suspicion was that maybe TS is a self-hosted
>> >> >> > language and cannot be bootstrapped. However, when I ran `guix search
>> >> >> > typescript`, it revealed the existence of some TS->JS compiler called
>> >> >> > ’rust-swc’. So I guess problems lie somewhere else, right?
>> >> >>
>> >> >> Nothing per se. Note that «TypeScript is a strongly typed programming
>> >> >> language that builds on JavaScript» and from my understanding (maybe I
>> >> >> am wrong?), it is hard to package Javascript for Guix because the
>> >> >> Javascript ecosystem is messy. Janneke provides some explanations [1]
>> >> >> and I am not convinced the situation have changed since then. Maybe I
>> >> >> am wrong…
>> >> >>
>> >> >> 1: <https://yhetil.org/guix/87fudzndu7.fsf@gnu.org>
>> >> >
>> >> > A few months ago (I think) I did run some code to actually check what
>> >> > the dependency tree of the protocol buffers JS library (from npm) is.
>> >> > The tree of runtime deps wasn’t horribly big. The tree of
>> >> > recursively-computed dev deps was, on the other hand, as bad as
>> >> > described by Janneke or even worse… However, It seems in most cases
>> >> > many of those packages designated as dev deps are not strictly needed
>> >> > for actually building stuff. Some are just test dependencies. Others
>> >> > were perhaps put there because developers understood “dev dependencies”
>> >> > differently from how packagers understand it…
>> >> >
>> >> > Anyway, it seems the only way to check what the situation really is is
>> >> > to actually try packaging something. I’m confident it will be way
>> >> > easier than it seems :)
>> >> >
>> >> > Luckily for Sébastien, it seems quarto-cli - although written mostly in
>> >> > JS/TS - has no NPM deps. Or at least I don’t see any…
>> >> >
>> >> > Wojtek
>> >> >
>> >> > – (sig_start)
>> >> > website: <https://koszko.org/koszko.html>
>> >> > PGP: <https://koszko.org/key.gpg>
>> >> > fingerprint: E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A
>> >> >
>> >> > Meet Kraków saints! #15: saint Jan Paweł II
>> >> > Poznaj świętych krakowskich! #15: święty Jan Paweł II
>> >> > <https://pl.wikipedia.org/wiki/Jan_Paweł_II>
>> >> > – (sig_end)
>> >> >
>> >> >
>> >> > On Tue, 25 Oct 2022 12:08:59 +0200
>> >> > zimoun <zimon.toutoune@gmail.com> wrote:
>> >> >
>> >> >> Hi,
>> >> >>
>> >> >> On Mon, 24 Oct 2022 at 20:40, Wojtek Kosior via <help-guix@gnu.org> wrote:
>> >> >>
>> >> >> > Out of curiosity - what are the problems between Guix and JS? When I
>> >> >> > read this my first suspicion was that maybe TS is a self-hosted
>> >> >> > language and cannot be bootstrapped. However, when I ran `guix search
>> >> >> > typescript`, it revealed the existence of some TS->JS compiler called
>> >> >> > ’rust-swc’. So I guess problems lie somewhere else, right?
>> >> >>
>> >> >> Nothing per se. Note that «TypeScript is a strongly typed programming
>> >> >> language that builds on JavaScript» and from my understanding (maybe I
>> >> >> am wrong?), it is hard to package Javascript for Guix because the
>> >> >> Javascript ecosystem is messy. Janneke provides some explanations [1]
>> >> >> and I am not convinced the situation have changed since then. Maybe I
>> >> >> am wrong…
>> >> >>
>> >> >> 1: <https://yhetil.org/guix/87fudzndu7.fsf@gnu.org>
>> >> >>
>> >> >> Cheers,
>> >> >> simon
>> >> >>
>> >> >
>> >> >
>> >
>> >
>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 889 bytes --]
next prev parent reply other threads:[~2022-10-28 21:40 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-24 11:43 Help packaging R Quarto Cli Sébastien Rey-Coyrehourcq
2022-10-24 16:00 ` Sebastien Rey-Coyrehourcq
2022-10-25 10:15 ` zimoun
2022-12-15 8:32 ` Sébastien Rey-Coyrehourcq
2022-12-15 10:56 ` zimoun
2022-12-15 19:29 ` Wojtek Kosior via
2022-12-22 15:16 ` Sébastien Rey-Coyrehourcq
2023-03-20 16:51 ` Rey-Coyrehourcq Sébastien
2023-03-20 18:03 ` Wojtek Kosior via
2022-10-24 17:08 ` zimoun
2022-10-24 17:48 ` Csepp
2022-10-24 18:40 ` Wojtek Kosior via
2022-10-25 10:08 ` zimoun
2022-10-25 11:17 ` Wojtek Kosior via
2022-10-27 7:05 ` Sébastien Rey-Coyrehourcq
2022-10-27 9:54 ` Wojtek Kosior via
2022-10-28 16:19 ` Sébastien Rey-Coyrehourcq
2022-10-28 20:17 ` Wojtek Kosior via
2022-10-28 21:32 ` Sébastien Rey-Coyrehourcq [this message]
2022-11-03 19:19 ` Wojtek Kosior via
2022-11-14 22:30 ` Sébastien Rey-Coyrehourcq
2022-11-14 22:57 ` Wojtek Kosior via
2022-11-15 7:58 ` Efraim Flashner
2022-11-16 20:38 ` Sebastien Rey-Coyrehourcq
2022-11-16 20:57 ` Wojtek Kosior via
2022-11-25 16:38 ` Sébastien Rey-Coyrehourcq
2022-12-14 10:30 ` Sébastien Rey-Coyrehourcq
2022-12-14 15:46 ` Wojtek Kosior via
2022-12-14 16:16 ` Sébastien Rey-Coyrehourcq
2022-12-14 17:45 ` Wojtek Kosior via
2022-12-14 20:41 ` Sébastien Rey-Coyrehourcq
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=878rkztyny.fsf@univ-rouen.fr \
--to=sebastien.rey-coyrehourcq@univ-rouen.fr \
--cc=help-guix@gnu.org \
--cc=koszko@koszko.org \
--cc=zimon.toutoune@gmail.com \
/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).