summary refs log tree commit diff
path: root/pkgs/development/libraries/openssl
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-06-11 18:42:26 +0000
committerJonathan Ringer <jonringer@users.noreply.github.com>2021-06-11 14:16:05 -0700
commitb0b5ef7286dca098f40f5075175105c3c0dfbe05 (patch)
tree072ca704392f8968f06410a1e996192cfd939586 /pkgs/development/libraries/openssl
parent8f3ead7190b97ce1f0458766105832d5a6e02dcf (diff)
downloadnixpkgs-b0b5ef7286dca098f40f5075175105c3c0dfbe05.tar
nixpkgs-b0b5ef7286dca098f40f5075175105c3c0dfbe05.tar.gz
nixpkgs-b0b5ef7286dca098f40f5075175105c3c0dfbe05.tar.bz2
nixpkgs-b0b5ef7286dca098f40f5075175105c3c0dfbe05.tar.lz
nixpkgs-b0b5ef7286dca098f40f5075175105c3c0dfbe05.tar.xz
nixpkgs-b0b5ef7286dca098f40f5075175105c3c0dfbe05.tar.zst
nixpkgs-b0b5ef7286dca098f40f5075175105c3c0dfbe05.zip
stdenv: introduce dontAddStaticConfigureFlags
With removeUnknownConfigureFlags, it's impossible to express a package
that needs --enable-static, but will not accept --disable-shared,
without overriding the result of removeUnknownConfigureFlags _again_
in pkgs/top-level/static.nix.

It would be much better (and more in line with the rest of Nixpkgs) if
we encoded changes needed for static builds in package definitions
themselves, rather than in an ever-expanding list in static.nix.  This
is especially true when doing it in static.nix is going to require
multiple overrides to express what could be expressed with stdenv
options.

So as a step in that direction, and to fix the problem described
above, here I replace removeUnknownConfigureFlags with a new stdenv
option, dontAddStaticConfigureFlags.  With this mechanism, a package
that needs one but not both of the flags just needs to set
dontAddStaticConfigureFlags and then set up configureFlags manually
based on stdenv.hostPlatform.isStatic.
Diffstat (limited to 'pkgs/development/libraries/openssl')
-rw-r--r--pkgs/development/libraries/openssl/default.nix2
1 files changed, 2 insertions, 0 deletions
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 2a586f9e9ef..f4d6e9e2956 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -93,6 +93,8 @@ let
           throw "Not sure what configuration to use for ${stdenv.hostPlatform.config}"
       );
 
+    # OpenSSL doesn't like the `--enable-static` / `--disable-shared` flags.
+    dontAddStaticConfigureFlags = true;
     configureFlags = [
       "shared" # "shared" builds both shared and static libraries
       "--libdir=lib"