unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Ivan Petkov <ivanppetkov@gmail.com>
To: mikadoZero <mikadozero@yandex.com>
Cc: help-guix <help-guix@gnu.org>
Subject: Re: Rust development tools
Date: Thu, 18 Apr 2019 08:47:52 -0700	[thread overview]
Message-ID: <6947C782-9FDD-421B-A80F-CB3D96AC0CB9@gmail.com> (raw)
In-Reply-To: <cuca7go2gm8.fsf@yandex.com>

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

Hi!

> On Apr 17, 2019, at 7:26 PM, mikadoZero <mikadozero@yandex.com> wrote:

The rust integrations within Guix are a bit incomplete at the moment, but I’ve been
making some efforts to get things going. Right now it is possible to build individual
crates but with a *ton* of manual intervention in the package definitions. I’m working
on another change that should make it possible to start packaging rust based
packages/applications into Guix, hoping to share something next week.

> If cargo is not packaged are people who are using rust with Guix System
> using rustc and manually managing their dependencies?

Cargo is packaged in Guix today, however, it is exposed as an output of the rust
package (http://guix.info/manual/en/Packages-with-Multiple-Outputs.html <http://guix.info/manual/en/Packages-with-Multiple-Outputs.html>).

This confused me a bit the first time I installed rust on Guix as well. You’ll need
to run `guix package -i rust:cargo` to make it available. Perhaps the Guix search
needs updated to also search for matching package outputs…

As for extra tools like rls, rustfmt, and clippy: these are usually distributed with
the compiler source tarball. Currently they are not being build/packaged as
outputs because no one has done the work to expose them as such.

If you’re interested in using them, I encourage you to try exposing them in the
rust package definitions! If you need any help, feel free to reach out!

> Are there any special considerations for Guix packages that provide
> programs like cargo and rustup that are also package managers?
> 
> How does Guix deal with something like rust nightly releases if at all?

Guix does not package nightly rust, and I don’t anticipate it ever will. Getting
the rust compiler built and packaged into rust takes a little bit of effort,
and it would be impossible to keep up with the nightlies by hand.

Rustup seems to be the right way to make alternative rust toolchains available
and maintained outside of the Guix store. The last time I tried to install rustup
via the conventional installer, it failed to run on my machine outright, probably
because all necessary artifacts are in the store and not in the usual Linux distro
locations.

Once the Guix cargo build system is flushed out a bit more, I anticipate it should
be possible to define and build rustup as a Guix package.

—Ivan


[-- Attachment #2: Type: text/html, Size: 3496 bytes --]

  reply	other threads:[~2019-04-18 15:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-18  2:26 Rust development tools mikadoZero
2019-04-18 15:47 ` Ivan Petkov [this message]
2019-04-18 19:45   ` John Soo
2019-04-18 20:23   ` mikadoZero
2019-04-19  2:40     ` Ivan Petkov
2019-04-24 16:52       ` mikadoZero

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=6947C782-9FDD-421B-A80F-CB3D96AC0CB9@gmail.com \
    --to=ivanppetkov@gmail.com \
    --cc=help-guix@gnu.org \
    --cc=mikadozero@yandex.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).