summary refs log tree commit diff
path: root/pkgs/tools/networking/s6-networking/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/networking/s6-networking/default.nix')
-rw-r--r--pkgs/tools/networking/s6-networking/default.nix70
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 ];
   };
 
 }