Matthew James Kraai <kr...@ftbfs.org> writes:
> Hi, > > Is it possible to build Rust 1.58.1 without updating the `rust` > definition? If so, how do I do so? > > If I apply this patch: > > ``` > diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm > index 67dc5cdaf3..61d6686b64 100644 > --- a/gnu/packages/rust.scm > +++ b/gnu/packages/rust.scm > @@ -644,10 +644,14 @@ (define rust-1.56 > rust-1.55 "1.56.1" > "04cmqx7nn63hzz7z27b2b0dj2qx18rck9ifvip43s6dampx8v2f3")) > > (define rust-1.57 > + (rust-bootstrapped-package > + rust-1.56 "1.57.0" > "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim")) > + > +(define rust-1.58 > (let ((base-rust > (rust-bootstrapped-package > - rust-1.56 "1.57.0" > - "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim"))) > + rust-1.57 "1.58.1" > + "1iq7kj16qfpkx8gvw50d8rf7glbm6s0pj2y1qkrz7mi56vfsyfd8"))) > (package > (inherit base-rust) > (outputs (cons "rustfmt" (package-outputs base-rust))) > ``` > > and run `./pre-inst-env guix build rust@1.58.1`, it outputs > > ``` > guix build: error: rust: package not found for version 1.58.1 > ``` I haven't tried building Rust, but at a glance it seems like the new package inherits its version field from base-rust. Guix doesn't really care what symbol you assign the package to, only the version field matters. You could write (define-public this-is-definitely-php rust-base) and it would still show up in `guix search rust`.