Skip to content

curl overrides are discarded when pulled in via fetchpatch, but overrideAttrs are not #66499

@nh2

Description

@nh2

I have this blocker problem currently for musl builds in static-haskell-nix:

When I override curl in an overlay, while also adding a fetchpatch to the proper libdrm/default.nix, then the the fetchpatch causes curl to build and fail with linker error.

That is because while it does build the curl from my overlay, it seems to ignore what I've given in .override (e.g. I give gssSupport = false, but inside e.g. configurePhase it's still true again).

I basically do in my overlay

{
  curl = (previous.curl.override { gssSupport = false; }).overrideAttrs (old: {
    makeFlags = ["V=1"];
  });
}

and observe that the V=1 is in effect, but the gssSupport = false is not.

(I see that in nix show-derivation on the .drv.)

What's going on here?


cc from IRC: @matthewbauer @Ericson2314 @dtzWill @cleverca22

Environment

commit bc94dcf

Metadata

Metadata

Assignees

No one assigned

    Labels

    0.kind: questionRequests for a specific question to be answered

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions