From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Soo Subject: Re: Rust development tools Date: Thu, 18 Apr 2019 12:45:33 -0700 Message-ID: References: <6947C782-9FDD-421B-A80F-CB3D96AC0CB9@gmail.com> Mime-Version: 1.0 (1.0) Content-Type: multipart/alternative; boundary=Apple-Mail-61759073-4758-4FAF-86A5-30C00AD35C69 Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([209.51.188.92]:40039) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hHD0X-0007hm-Ms for help-guix@gnu.org; Thu, 18 Apr 2019 15:47:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hHCyZ-0007FG-PB for help-guix@gnu.org; Thu, 18 Apr 2019 15:45:41 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]:38793) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hHCyZ-0007Dx-6G for help-guix@gnu.org; Thu, 18 Apr 2019 15:45:39 -0400 Received: by mail-pf1-x436.google.com with SMTP id 10so1567668pfo.5 for ; Thu, 18 Apr 2019 12:45:38 -0700 (PDT) In-Reply-To: <6947C782-9FDD-421B-A80F-CB3D96AC0CB9@gmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Ivan Petkov Cc: help-guix --Apple-Mail-61759073-4758-4FAF-86A5-30C00AD35C69 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! Thanks for your work on this. I=E2=80=99m looking forward to using alacrity= and ripgrep, among other niceties the rust community has come up with. - John > On Apr 18, 2019, at 8:47 AM, Ivan Petkov wrote: >=20 > Hi! >=20 >> On Apr 17, 2019, at 7:26 PM, mikadoZero wrote: >=20 > The rust integrations within Guix are a bit incomplete at the moment, but I= =E2=80=99ve 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=E2=80=99m working > on another change that should make it possible to start packaging rust bas= ed > packages/applications into Guix, hoping to share something next week. >=20 >> If cargo is not packaged are people who are using rust with Guix System >> using rustc and manually managing their dependencies? >=20 > Cargo is packaged in Guix today, however, it is exposed as an output of th= e rust > package (http://guix.info/manual/en/Packages-with-Multiple-Outputs.html). >=20 > This confused me a bit the first time I installed rust on Guix as well. Yo= u=E2=80=99ll 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=E2=80=A6 >=20 > As for extra tools like rls, rustfmt, and clippy: these are usually distri= buted with > the compiler source tarball. Currently they are not being build/packaged a= s > outputs because no one has done the work to expose them as such. >=20 > If you=E2=80=99re interested in using them, I encourage you to try exposin= g them in the > rust package definitions! If you need any help, feel free to reach out! >=20 >> Are there any special considerations for Guix packages that provide >> programs like cargo and rustup that are also package managers? >>=20 >> How does Guix deal with something like rust nightly releases if at all? >=20 > Guix does not package nightly rust, and I don=E2=80=99t anticipate it ever= will. Getting > the rust compiler built and packaged into rust takes a little bit of effor= t, > and it would be impossible to keep up with the nightlies by hand. >=20 > Rustup seems to be the right way to make alternative rust toolchains avail= able > 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, p= robably > because all necessary artifacts are in the store and not in the usual Linu= x distro > locations. >=20 > Once the Guix cargo build system is flushed out a bit more, I anticipate i= t should > be possible to define and build rustup as a Guix package. >=20 > =E2=80=94Ivan >=20 --Apple-Mail-61759073-4758-4FAF-86A5-30C00AD35C69 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Hi!=

Thanks for your work on th= is.  I=E2=80=99m looking forward to using alacrity and ripgrep, among o= ther niceties the rust community has come up with.
- John

On Apr 18, 2019, at= 8:47 AM, Ivan Petkov <ivanppetk= ov@gmail.com> wrote:

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=E2=80=99ve been
ma= king some efforts to get things going. Right now it is possible to build ind= ividual
crates but with a *ton* of manual intervention in the pack= age definitions. I=E2=80=99m working
on another change that should= make it possible to start packaging rust based
packages/applicati= ons into Guix, hoping to share something next week.

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

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

This confused me a bit the first time I inst= alled rust on Guix as well. You=E2=80=99ll need
to run `guix packa= ge -i rust:cargo` to make it available. Perhaps the Guix search
ne= eds updated to also search for matching package outputs=E2=80=A6
<= br class=3D"">
As for extra tools like rls, rustfmt, and clippy: t= hese are usually distributed with
the compiler source tarball. Cur= rently they are not being build/packaged as
outputs because no one= has done the work to expose them as such.

If you=E2=80=99re interested in using them, I encourage you to try exposi= ng them in the
rust package definitions! If you need any help, fee= l free to reach out!

Are there any special considera= tions for Guix packages that provide
programs like cargo and r= ustup that are also package managers?

How does G= uix deal with something like rust nightly releases if at all?
=

Guix does not package nig= htly rust, and I don=E2=80=99t anticipate it ever will. Getting
th= e 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 a= lternative rust toolchains available
and maintained outside of the= Guix store. The last time I tried to install rustup
via the conve= ntional installer, it failed to run on my machine outright, probably
because all necessary artifacts are in the store and not in the usual Lin= ux distro
locations.

Once the G= uix cargo build system is flushed out a bit more, I anticipate it should
be possible to define and build rustup as a Guix package.
<= br class=3D"">
=E2=80=94Ivan

= --Apple-Mail-61759073-4758-4FAF-86A5-30C00AD35C69--