nixpkgs/pkgs/tools/networking/s6-networking/default.nix
Profpatsch 841b753e92 s6-networking: default to bearssl
18·27 <Profpatsch> skarnet: would you recommend putting bearssl as the default backend for s6-networking?
18·27 <Profpatsch> uh, bearssl isn’t even packaged
18·27 <Profpatsch> yak shave
18·28 <Profpatsch> skarnet: The current backend uses libressl
18·29 <@skarnet> well at least CAFILE works
18·29 <@skarnet> but yes, I would recommend putting bearssl as the default backend
2021-03-22 10:29:01 +01:00

67 lines
1.9 KiB
Nix

{ lib, stdenv, skawarePackages
# Whether to build the TLS/SSL tools and what library to use
# acceptable values: "bearssl", "libressl", false
, sslSupport ? "bearssl" , libressl, bearssl
}:
with skawarePackages;
let
sslSupportEnabled = sslSupport != false;
sslLibs = {
libressl = libressl;
bearssl = bearssl;
};
in
assert sslSupportEnabled -> sslLibs ? ${sslSupport};
buildPackage {
pname = "s6-networking";
version = "2.4.1.0";
sha256 = "023wnayv1gddklnsh3qv7i5jfy2fisbp24wa0nzjg0nfq3p807yc";
description = "A suite of small networking utilities for Unix systems";
outputs = [ "bin" "lib" "dev" "doc" "out" ];
# TODO: nsss support
configureFlags = [
"--libdir=\${lib}/lib"
"--libexecdir=\${lib}/libexec"
"--dynlibdir=\${lib}/lib"
"--bindir=\${bin}/bin"
"--includedir=\${dev}/include"
"--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
"--with-include=${skalibs.dev}/include"
"--with-include=${execline.dev}/include"
"--with-include=${s6.dev}/include"
"--with-include=${s6-dns.dev}/include"
"--with-lib=${skalibs.lib}/lib"
"--with-lib=${execline.lib}/lib"
"--with-lib=${s6.out}/lib"
"--with-lib=${s6-dns.lib}/lib"
"--with-dynlib=${skalibs.lib}/lib"
"--with-dynlib=${execline.lib}/lib"
"--with-dynlib=${s6.out}/lib"
"--with-dynlib=${s6-dns.lib}/lib"
]
++ (lib.optionals sslSupportEnabled [
"--enable-ssl=${sslSupport}"
"--with-include=${lib.getDev sslLibs.${sslSupport}}/include"
"--with-lib=${lib.getLib sslLibs.${sslSupport}}/lib"
"--with-dynlib=${lib.getLib sslLibs.${sslSupport}}/lib"
]);
postInstall = ''
# remove all s6 executables from build directory
rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable)
rm minidentd
rm libs6net.* libstls.* libs6tls.* libsbearssl.*
mv doc $doc/share/doc/s6-networking/html
'';
}