blob: d96cff167d90acf3012a2ab27e6dc36cb5866edf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
{ stdenv, execline, fetchgit, s6, s6-dns, skalibs
# Whether to build the TLS/SSL tools and what library to use
# acceptable values: "libressl", false
# TODO: add bearssl
, sslSupport ? "libressl" , libressl
}:
let
inherit (stdenv) lib;
version = "2.3.0.3";
sslSupportEnabled = sslSupport != false;
sslLibs = {
"libressl" = libressl;
};
in
assert sslSupportEnabled -> sslLibs ? ${sslSupport};
stdenv.mkDerivation rec {
name = "s6-networking-${version}";
src = fetchgit {
url = "git://git.skarnet.org/s6-networking";
rev = "refs/tags/v${version}";
sha256 = "06kv2l31ch0zw538bpivgnwymb056x5hpmqafglffgkbq3izp7wc";
};
outputs = [ "bin" "lib" "dev" "doc" "out" ];
dontDisableStatic = true;
enableParallelBuilding = true;
# TODO: nsss support
configureFlags = [
"--enable-absolute-paths"
"--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"
])
++ (lib.optional stdenv.isDarwin "--build=${stdenv.hostPlatform.system}");
postInstall = ''
mkdir -p $doc/share/doc/s6-networking/
mv doc $doc/share/doc/s6-networking/html
'';
meta = {
homepage = http://www.skarnet.org/software/s6-networking/;
description = "A suite of small networking utilities for Unix systems";
platforms = lib.platforms.all;
license = lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ pmahoney Profpatsch ];
};
}
|