[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: rust-build-system: Unvendor *-sys libraries in phase?
From: |
Efraim Flashner |
Subject: |
Re: rust-build-system: Unvendor *-sys libraries in phase? |
Date: |
Sat, 25 Jan 2020 21:36:15 +0200 |
On Sat, Jan 25, 2020 at 11:01:31AM -0800, John Soo wrote:
>
> Hi Efraim,
>
>
> > IMO the correct way to do it would be in the crate source that we
> > download. We regularly add snippets to remove vendored code, this should
> > be no different.
>
> Totally agree. It seems like a challenge to me to do the other required work
> since all the building happens only when building the top level package. I
> will totally defer to you here, since you have the knowledge and experience.
>
> > The only real difference is that right now the
> > cargo-build-system is "too smart" and checks the #:cargo-inputs to make
> > sure they actually are crates before untarring them and putting them in
> > the guix-vendor dor. Currently the 'patch-and-rezip phase always uses xz
> > for compression, and crates always use gzip, so we cannot use patches or
> > snippets on crates.
>
> Can that be fixed in any way? I actually have no idea.
>
I didn't mean to actually fix it, but it seems that just eliminating
directories is enough to make it work.
I've attached a simple diff against cargo-build-system and rust-libz-sys
and rust-libgit2-sys which removes the bundled source from both crates
and builds rust-libgit2-sys without complaints.
> > Then the only thing left is to set certain environment variables, some
> > of which can probably be moved to the cargo-build-system if they don't
> > require an actual path.
>
> Ahh right. I hadn’t realized that restriction. Though couldn’t end variables
> with paths be thunked or g-expressions or be done through propagated paths?
> I’m not sure, just thinking aloud.
This one I'm not sure about
>
> Thanks for your maintenance, as always.
>
> John
--
Efraim Flashner <address@hidden> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
allow-patched-cargo-sources.diff
Description: Text document
signature.asc
Description: PGP signature