guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rust build system, building libc crate


From: ng0
Subject: Re: rust build system, building libc crate
Date: Sat, 03 Feb 2018 22:45:30 +0000

On Sat, 03 Feb 2018, address@hidden wrote:
> Now I'm going to sleep on this:
>
>     ;; Rust doesn't have a stable ABI yet. Because of this
>     ;; Cargo doesn't have a search path for binaries yet.
>     ;; Until this changes we are working around this by
>     ;; distributing crates as source and replacing
>     ;; references in Cargo.toml with store paths.
>     (copy-recursively "src" (string-append rsrc "/src"))
>     (touch (string-append rsrc "/.cargo-ok"))
>     (generate-checksums rsrc src)
>     (install-file "Cargo.toml" rsrc)
>     ;; When the package includes executables we install
>     ;; it using cargo install. This fails when the crate
>     ;; doesn't contain an executable.
>     (if (file-exists? "Cargo.lock")
>         (zero? (system* "cargo" "install" "--root" out))
>         (begin
>           (mkdir out)
>           #t))))
>
>
> ... and look into libc after the 8th again.
> Maybe someone of you has an epiphany on the libc crate until
> then.

One more thing before I take this break:

Can someone explain to me what the purpose of the Cargo.lock
is? Apparently libs ignore it and binaries track it.

> http://crates.io/faq.html#why-do-binaries-have-cargo.lock-in-version-control,-but-not-libraries?
>  says:
>
> The purpose of a Cargo.lock is to describe the state of the world at the
> time of a successful build. It is then used to provide deterministic 
> builds across whatever machine is building the project by ensuring that 
> the exact same dependencies are being compiled.

and the Cargo.lock of libc is long. My assumption was it has no
real dependencies. 0. Nada. Nichts.

I think I have to read more into rust packaging, in the meantime
it would be good if someone with reference to the first email and
the email I referenced in there could reply about their knowledge
of the rust/cargo build system. I'm okay with stabbing in the
dark, but shared expertise is good.
-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]