unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Paul Collignan <paul.collignan@aquilenet.fr>
To: help-guix@gnu.org
Subject: Re: Packaging a rust program with a lot of crates
Date: Sat, 15 Jul 2023 17:10:59 +0200	[thread overview]
Message-ID: <ZLK3A3oge3-kyEbZ@Amsterdam> (raw)
In-Reply-To: <20230715160656.0120f6d4.koszko@koszko.org>

Le Sat, Jul 15, 2023 at 04:06:56PM +0200, Wojtek Kosior a écrit :
> Hi Paul!
> 
> That's cool! Please keep in mind, tho that Guix is not an "easy" distro
> for novice users. Be ready to spend even more time learning stuff :)

Hi, thank you for your answer.
 
> This way the Guix committers will see all the package additions as
> separate patches but grouped together in one debbugs issue. There's no
> need to wait for one patch to be accepted before sending another in
> this case.

Looks like I missed the cookbook. All this is described in it, I will look into it seriously before asking another question.
Thank you for your summary which will make it easier for me to understand the steps to follow.
 
> Anyway, you just touched one unfortunate truth — when you're a
> beginner, any serious task can easily take weeks.
> My suggestion is that you start with something easier first. Perhaps an
> application that only has 1 or 2 dependencies?

Will do, for sure.

> > Last question, for my culture, is there a plan to "clean up" old
> > packages and dependencies that are no longer used, or will the scm
> > files grow indefinitely?
> 
> There might be some misunderstanding here. Guix does allow
> 1. for multiple versions of the same package to coexist
> 2. and for multiple versions of the same package to share most of the
>    packaging code via inheritance.
> However, the possibility 1. is only exercised for some strategic
> packages like gcc. For casual packages, when upstream releases a new
> version, some kind Guix contributor sends a patch that changes the
> definition in the .scm file to now describe the new version. The old
> version need not be explicitly deleted — its place is taken by the new
> version :)

It is a little bit different for Rust packages, as described in the documentation:
"In the rust ecosystem it is common for multiple incompatible versions of a package to be used at any given time, so all package definitions should have a versioned suffix. The versioned suffix is the left-most non-zero digit"
If I understand this correctly, one should keep all packages from 0.1 to 0.46 (for example, if the versions are numbered like this). But from 1.1 to 1.46 you only keep the last one.

> Good luck and happy hacking ^^

Thanks again.

I don't know why and how to explain it, but from a novice point of view guix is very appealing. Everything seems well organized, well explained, and it seems to be a very good framework to start learning.


  reply	other threads:[~2023-07-15 15:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-12 14:24 Packaging a rust program with a lot of crates Paul Collignan
2023-07-15 14:06 ` Wojtek Kosior via
2023-07-15 15:10   ` Paul Collignan [this message]
2023-07-15 16:16     ` Wojtek Kosior via
2023-07-23 12:46     ` Hartmut Goebel
2023-07-17 16:05   ` wolf

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=ZLK3A3oge3-kyEbZ@Amsterdam \
    --to=paul.collignan@aquilenet.fr \
    --cc=help-guix@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).