New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
curlFull: Add http2Support for darwin #34339
Conversation
/cc @copumpkin @LnL7 |
I'm not sure it's even true anymore that we don't have |
I don't really like this being conditional, we can allow xz if the linux stdenv already depends on it. |
Yeah, sorry, what I meant is that I think that curl http2 support being conditioned on !darwin is based on ancient information that stopped being true when we merged pure-darwin a couple of years ago. |
Yeah, that may be true. |
@bdarnell I think if you just remove the |
http2Support was disabled due to a bootstrapping issue involving xz. Now that xz is available in the bootstrap environment for all platforms, http2Support can be enabled globally.
18e3cef
to
c6aa69f
Compare
OK, I've made that change. |
Nah, I'd mostly just repoint this PR against staging (GitHub lets you edit the PR base branch now) since it's a mass rebuild, but I don't expect it to break much. Thanks! |
OK, changed base to staging. |
Looks good, thanks! |
Not urgent, but stdenv bootstrap tools for darwin got broken by this: https://hydra.nixos.org/build/68787762 |
So should this be reverted and replaced by the original version that only adds http2 support to |
I don't think there's any |
I expect the easiest way would be to override the bootstrapping curl not to support http2, as it's of little use in there. |
Probably --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -15,8 +15,8 @@ in rec {
# Avoid debugging larger changes for now.
bzip2_ = bzip2.override (args: { linkStatic = true; });
- # Avoid messing with libkrb5.
- curl_ = curl.override (args: { gssSupport = false; });
+ # Avoid messing with libkrb5 and libnghttp2.
+ curl_ = curl.override (args: { gssSupport = false; http2Support = false; });
build = stdenv.mkDerivation {
name = "stdenv-bootstrap-tools"; but I don't have a Darwin machine at hand. |
Looks like that works (with |
I can push it directly, if it works. |
OK, go ahead. |
This gives darwin users an easy way to install an HTTP/2-aware build
of curl. Also adds comments explaining the absence of this feature by
default.
Motivation for this change
On darwin,
curl
does not contain http2 support by default and this functionality is only accessible via manual overrides. The curlFull target includes all of curl's other features so it should enable http2 as well.Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)