uwsgi: enable http plugin and expose headers for SSL detection

Add the http plugin to the uWSGI build.

uWSGI enables HTTPS support in the http plugin only when OpenSSL headers
are detected at build time. Populate UWSGI_INCLUDES with the include
paths
of all build inputs so uwsgiconfig.py can discover OpenSSL and other
optional features correctly.
This commit is contained in:
Rohit Singh
2026-02-11 14:09:21 -05:00
parent 124c8fb602
commit a2ab5eee25
+12 -1
View File
@@ -6,6 +6,7 @@
jansson,
pcre2,
libxcrypt,
openssl,
expat,
zlib,
# plugins: list of strings, eg. [ "python3" ]
@@ -64,6 +65,12 @@ let
]
++ php-embed.unwrapped.buildInputs;
})
(lib.nameValuePair "http" {
# usage: https://uwsgi-docs.readthedocs.io/en/latest/HTTP.html
# usage: https://uwsgi-docs.readthedocs.io/en/latest/HTTPS.html
path = "plugins/http";
inputs = [ openssl.dev ];
})
];
getPlugin =
@@ -119,7 +126,11 @@ stdenv.mkDerivation (finalAttrs: {
lib.optional withPAM "pam" ++ lib.optional withSystemd "systemd_logger"
);
UWSGI_INCLUDES = lib.optionalString withCap "${libcap.dev}/include";
# UWSGI_INCLUDES environment variable required for "auto" plugins
# to be detected. See uwsgiconfig.py for more details.
UWSGI_INCLUDES = lib.concatStringsSep "," (
map (p: "${lib.getDev p}/include") finalAttrs.buildInputs
);
passthru = {
inherit python3;