From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: Re: Overhauling the cargo-build-system Date: Mon, 18 Nov 2019 12:20:39 +0200 Message-ID: <20191118102039.GJ15074@E5400> References: <20191010155056.GD1301@E5400> <87d0f4p6xd.fsf@gnu.org> <20191011141342.GC13364@E5400> <87imnjtsk3.fsf@gnu.org> <20191117071934.GC12423@E5400> <874kz2jj02.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="8cpS+6Cx+xtICsjy" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:37318) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWe9h-0004VC-7S for guix-devel@gnu.org; Mon, 18 Nov 2019 05:21:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iWe9g-0001J7-4y for guix-devel@gnu.org; Mon, 18 Nov 2019 05:21:13 -0500 Content-Disposition: inline In-Reply-To: <874kz2jj02.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org --8cpS+6Cx+xtICsjy Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 17, 2019 at 10:22:21PM +0100, Ludovic Court=C3=A8s wrote: > Hi, >=20 > Efraim Flashner skribis: >=20 > > The big problems are the recursive dependencies, the partial > > dependencies and the versioning. There are some that are easy to figure > > out, serde always needs serde-derive, winapi always needs the > > winapi-[i686|x86_64] crates, rayon -> rayon-core, etc. >=20 > Do you mean that the crate importer returns partial dependency info? > That alone would be OK, many importers return incomplete dependency > info, but we can fill that out when making the package. It returns incomplete information. The way our packaging works it says that it wants the latest version of a dependency, but often it's looking for a different version. >=20 > > I suppose one way to work around some of the issues is to make it so > > that the crates "build" by copying the source to %out/share/guix-vendor > > or something. >=20 > So the core issue is that there=E2=80=99s nothing like shared libraries, = is that > correct? This, in turn, means that there=E2=80=99s nothing to actually b= uild, > and thus a crate doesn=E2=80=99t really map to a package in the usual sen= se of > the word, right? We can build it and run the tests, but it's not entirely useful. I have a blog post I'm working on, but basically if binary A wants B, and library B wants C, D, and E, A might only want B with features from D. So if B doesn't build because of C it doesn't prevent A from building. Plus logistically it doesn't really work to link libraries to binaries in the manner we're used to. >=20 > In that case, what you suggest (copying the source in the package > output) sounds like it could work. It would be an improvement over what > we have now: the package graph would correspond to the crate graph. >=20 It would also make it easier to patch the sources to remove vendored C libraries or patch Cargo.toml files. > Thanks, > Ludo=E2=80=99. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --8cpS+6Cx+xtICsjy Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl3ScHcACgkQQarn3Mo9 g1Ht+xAAnjSyccnVRD+ZZlIBs57/CRV8cy+PHM+SluCjO721N/GZQ7vhuhQk6f9C ecsyfA+YESGfQAOZktytywOWOjWewBmVjNR76MyBtoyMjkyzLUQzybyc+tus3ImY oaT4621vYkhZMI8iqkUj+NK49OgnXRuIoDLWdOOCSUsjQoKCgB+/2Q0oWpFOI7nG hsVTi/FlF7bYoj1lK2/O+ww5VjnkiWhuzF0w780SXcUnNNCTmu3rc/TrB2LQ6sYJ ruQdozxc2yKslL3PPAUnXqhFQCIJ9LymVEPFmctaTxgeAWLZiAbEkYPG+6aHNuje 6mh5qxf8evI6Nefj5uo0AZH1uadsfQfcn0kEmWGaMOXaKvVz570jmNzb1iUK23cy /hTrKmC7/UKRJ1hiNje9WafZpdEq05EHJauXp9Me4kCtu/diP/1rS+vIwfjPE920 rUlXrpJZbE5BD/8dKhgiXUV34pzdOnsnufplNKQZ/G5M2iEDBtHrH6QbyXX8v99j GSb0VALZKEF7eAmkq91q4Z+6oE8Kpe3d1LRVdlL6Kv8OtkiUb9PX2V+H2RLoTE7p wBixz00kHhLKshaOkaKQmgu+jFfWIsABHtGId0foPZgGblDd1eQZy9KRkaY3j9AN 5u8+/zBQNBnNAcjMrsiGkSnYUaKKKDHrsJJH63MOU1pSaMrReH0= =IG4j -----END PGP SIGNATURE----- --8cpS+6Cx+xtICsjy--