From mboxrd@z Thu Jan 1 00:00:00 1970 From: mikadoZero Subject: Re: Rust development tools Date: Thu, 18 Apr 2019 16:23:36 -0400 Message-ID: References: <6947C782-9FDD-421B-A80F-CB3D96AC0CB9@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:48570) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hHDaO-0000o0-DI for help-guix@gnu.org; Thu, 18 Apr 2019 16:24:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hHDaK-0003FN-Q7 for help-guix@gnu.org; Thu, 18 Apr 2019 16:24:42 -0400 Received: from forward104j.mail.yandex.net ([2a02:6b8:0:801:2::107]:51322) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hHDaI-0003Ac-9y for help-guix@gnu.org; Thu, 18 Apr 2019 16:24:39 -0400 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 Ivan Petkov writes: > Hi! > >> On Apr 17, 2019, at 7:26 PM, mikadoZero wrote: > > 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 buil= d 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 ba= sed > packages/applications into Guix, hoping to share something next week. > Thank you for working on this. >> 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 t= he rust > package (http://guix.info/manual/en/Packages-with-Multiple-Outputs.html <= http://guix.info/manual/en/Packages-with-Multiple-Outputs.html>). > Thanks for pointing out this useful section of the manual out. > This confused me a bit the first time I installed rust on Guix as well. Y= ou=E2=80=99ll need > to run `guix package -i rust:cargo` to make it available. Perhaps the Gui= x search > needs updated to also search for matching package outputs=E2=80=A6 > I was able to install cargo by adding `rust:cargo` to a manifest configuration file. > As for extra tools like rls, rustfmt, and clippy: these are usually distr= ibuted 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=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, feel free to reach out! > I think I would consider attempting clippy. Would exposing it be similar to cargo? Searching through `rust.scm` cargo is all over the place. Would exposing clippy be as far reaching and extensive? I am new to packaging for Guix. I just had my first patch for a package committed just the other day. I have not yet learned Guile. Would adding clippy as an output be overly ambitious? Should I learn Guile first? >> 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? > > Guix does not package nightly rust, and I don=E2=80=99t anticipate it eve= r will. Getting > the rust compiler built and packaged into rust takes a little bit of effo= rt, > 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 avai= lable > and maintained outside of the Guix store. The last time I tried to instal= l 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 Lin= ux 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. It is good to hear about a potential way to use rust nightly on Guix. > > =E2=80=94Ivan