GNU bug report logs - #35318
[PATCH] Update cargo-build-system to expand package inputs

Previous Next

Package: guix-patches;

Reported by: Ivan Petkov <ivanppetkov <at> gmail.com>

Date: Fri, 19 Apr 2019 05:35:02 UTC

Severity: normal

Tags: patch

Done: Chris Marusich <cmmarusich <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Chris Marusich <cmmarusich <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#35318: closed ([PATCH] Update cargo-build-system to expand
 package inputs)
Date: Wed, 12 Jun 2019 01:15:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 11 Jun 2019 18:14:03 -0700
with message-id <87lfy7zjtw.fsf <at> garuda.local.i-did-not-set--mail-host-address--so-tickle-me>
and subject line Re: [bug#35318] [PATCH] Update cargo-build-system to expand package inputs
has caused the debbugs.gnu.org bug report #35318,
regarding [PATCH] Update cargo-build-system to expand package inputs
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
35318: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=35318
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ivan Petkov <ivanppetkov <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>,
 Chris Marusich <cmmarusich <at> gmail.com>
Subject: [PATCH] Update cargo-build-system to expand package inputs
Date: Thu, 18 Apr 2019 22:34:05 -0700
[Message part 3 (text/plain, inline)]
When building, cargo requires the source of all transitive dependencies to be present in its index.
Rather than force package definitions to list out all transitive inputs, the build system will
automatically expand the inputs as necessary.

Because it is possible for crates to have apparent cycles in their native dependencies,
the build system must take some measures to work around potential cycles. This patch series
takes an initial naive stab at resolving the problem, by never building native-inputs.

I plan on revisiting this sometime soon and making the system a bit more intelligent
(namely building native-inputs where possible and breaking any cycles). But for now this should
unblock working on package definitions.

I’ve also included three rust crates as a proof of concept that the system works and it handles
potential native-input cycles. These crates do nothing on their own, but they’re heavily depended
upon by the rest of the crates ecosystem, so they will eventually be useful to have in guix.

—Ivan

[0001-packages-allow-dynamic-input-closure-computation.patch (application/octet-stream, attachment)]
[0002-build-system-cargo-expand-transitive-package-inputs.patch (application/octet-stream, attachment)]
[0003-gnu-crate-add-unicode-xid.patch (application/octet-stream, attachment)]
[0004-gnu-crate-Add-proc-macro2-and-quote.patch (application/octet-stream, attachment)]
[Message part 8 (text/plain, inline)]
 
[Message part 9 (message/rfc822, inline)]
From: Chris Marusich <cmmarusich <at> gmail.com>
To: Ivan Petkov <ivanppetkov <at> gmail.com>
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>,
 Chris Marusich <cmmarusich <at> gmail.com>, 35318-done <at> debbugs.gnu.org
Subject: Re: [bug#35318] [PATCH] Update cargo-build-system to expand package
 inputs
Date: Tue, 11 Jun 2019 18:14:03 -0700
[Message part 10 (text/plain, inline)]
Hi Ivan,

I've merged your changes as 2444abd9c124cc55f8f19a0462e06a2094f25a9d.
Thank you for taking the time to write this patch series!  Now let's
start importing some crates!  :-)

Some minor feedback for next time (I've made these minor changes on your
behalf already):

- In the ChangeLog, we generally capitalize the heading and add a
  period.
- In the manual, we put two spaces after periods, not one.
- The tests/crate.scm began failing when you changed the importer logic;
  I have taken the liberty of fixing it.
- When listing many parts that changed, you can write it like this,
  instead of listing it on 3 separate lines:

    (maybe-cargo-inputs, maybe-cargo-development-inputs)
    (maybe-arguments): Add them.

That's all.  Thanks again!  I'm closing this now.

-- 
Chris
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 5 years and 340 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.