diff options
Diffstat (limited to 'pkgs/tools/networking/s6-networking/default.nix')
-rw-r--r-- | pkgs/tools/networking/s6-networking/default.nix | 70 |
1 files changed, 51 insertions, 19 deletions
diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix index 3239a8f49e6..1971bbffa40 100644 --- a/pkgs/tools/networking/s6-networking/default.nix +++ b/pkgs/tools/networking/s6-networking/default.nix @@ -1,10 +1,25 @@ -{ stdenv, execline, fetchgit, s6, s6Dns, skalibs }: +{ 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.2"; -in stdenv.mkDerivation rec { + sslSupportEnabled = sslSupport != false; + sslLibs = { + "libressl" = libressl; + }; + +in +assert sslSupportEnabled -> sslLibs ? ${sslSupport}; + +stdenv.mkDerivation rec { name = "s6-networking-${version}"; @@ -14,34 +29,51 @@ in stdenv.mkDerivation rec { sha256 = "1qrhca8yjaysrqf7nx3yjfyfi9yly3rxpgrd2sqj0a0ckk73rv42"; }; + outputs = [ "bin" "lib" "dev" "doc" "out" ]; + dontDisableStatic = true; enableParallelBuilding = true; configureFlags = [ "--enable-absolute-paths" - "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps" - "--with-include=${skalibs}/include" - "--with-include=${execline}/include" - "--with-include=${s6}/include" - "--with-include=${s6Dns}/include" - "--with-lib=${skalibs}/lib" - "--with-lib=${execline}/lib" - "--with-lib=${s6}/lib/s6" - "--with-lib=${s6Dns}/lib" - "--with-dynlib=${skalibs}/lib" - "--with-dynlib=${execline}/lib" - "--with-dynlib=${s6}/lib" - "--with-dynlib=${s6Dns}/lib" + "--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" ] - ++ (stdenv.lib.optional stdenv.isDarwin "--build=${stdenv.system}"); + ++ (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.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 = stdenv.lib.platforms.all; - license = stdenv.lib.licenses.isc; - maintainers = with stdenv.lib.maintainers; [ pmahoney ]; + platforms = lib.platforms.all; + license = lib.licenses.isc; + maintainers = with stdenv.lib.maintainers; [ pmahoney Profpatsch ]; }; } |