nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 skawarePackages,
4 skalibs,
5 execline,
6 s6,
7 s6-dns,
8
9 # Whether to build the TLS/SSL tools and what library to use
10 # acceptable values: "bearssl", "libressl", false
11 sslSupport ? "bearssl",
12 libressl,
13 bearssl,
14}:
15
16let
17 sslSupportEnabled = sslSupport != false;
18 sslLibs = {
19 libressl = libressl;
20 bearssl = bearssl;
21 };
22
23in
24assert sslSupportEnabled -> sslLibs ? ${sslSupport};
25
26skawarePackages.buildPackage {
27 pname = "s6-networking";
28 version = "2.7.1.0";
29 sha256 = "sha256-p7M0l+cpIaWdTB/GfOXMdL0GXgkQW/Gnnx/HPPmgZZI=";
30
31 manpages = skawarePackages.buildManPages {
32 pname = "s6-networking-man-pages";
33 version = "2.7.0.4.1";
34 sha256 = "sha256-ocYUZVnkuhO/1qgW3mSooZRoqqch1SgIRoygS3AjeZI=";
35 description = "Port of the documentation for the s6-networking suite to mdoc";
36 maintainers = [ lib.maintainers.sternenseemann ];
37 };
38
39 description = "Suite of small networking utilities for Unix systems";
40
41 outputs = [
42 "bin"
43 "lib"
44 "dev"
45 "doc"
46 "out"
47 ];
48
49 # TODO: nsss support
50 configureFlags = [
51 "--libdir=\${lib}/lib"
52 "--libexecdir=\${lib}/libexec"
53 "--dynlibdir=\${lib}/lib"
54 "--bindir=\${bin}/bin"
55 "--includedir=\${dev}/include"
56 "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
57 "--with-include=${skalibs.dev}/include"
58 "--with-include=${execline.dev}/include"
59 "--with-include=${s6.dev}/include"
60 "--with-include=${s6-dns.dev}/include"
61 "--with-lib=${skalibs.lib}/lib"
62 "--with-lib=${execline.lib}/lib"
63 "--with-lib=${s6.out}/lib"
64 "--with-lib=${s6-dns.lib}/lib"
65 "--with-dynlib=${skalibs.lib}/lib"
66 "--with-dynlib=${execline.lib}/lib"
67 "--with-dynlib=${s6.out}/lib"
68 "--with-dynlib=${s6-dns.lib}/lib"
69 ]
70 ++ (lib.optionals sslSupportEnabled [
71 "--enable-ssl=${sslSupport}"
72 "--with-include=${lib.getDev sslLibs.${sslSupport}}/include"
73 "--with-lib=${lib.getLib sslLibs.${sslSupport}}/lib"
74 "--with-dynlib=${lib.getLib sslLibs.${sslSupport}}/lib"
75 ]);
76
77 postInstall = ''
78 # remove all s6 executables from build directory
79 rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable)
80 rm libs6net.* libstls.* libs6tls.* libsbearssl.*
81
82 mv doc $doc/share/doc/s6-networking/html
83 '';
84
85}