about summary refs log tree commit diff
path: root/pkgs/tools/system/s6-rc
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2018-09-02 23:31:26 +0200
committerProfpatsch <mail@profpatsch.de>2018-09-06 11:53:22 +0200
commit0071ae1d4f1a18542b19a815d06d2b7bbf292dd4 (patch)
treeb6c94409341b69786743eeef397e2ab86c315585 /pkgs/tools/system/s6-rc
parent57b431590b3c555469f4ebeffa2dc524ef806293 (diff)
downloadnixlib-0071ae1d4f1a18542b19a815d06d2b7bbf292dd4.tar
nixlib-0071ae1d4f1a18542b19a815d06d2b7bbf292dd4.tar.gz
nixlib-0071ae1d4f1a18542b19a815d06d2b7bbf292dd4.tar.bz2
nixlib-0071ae1d4f1a18542b19a815d06d2b7bbf292dd4.tar.lz
nixlib-0071ae1d4f1a18542b19a815d06d2b7bbf292dd4.tar.xz
nixlib-0071ae1d4f1a18542b19a815d06d2b7bbf292dd4.tar.zst
nixlib-0071ae1d4f1a18542b19a815d06d2b7bbf292dd4.zip
skawarePackages: factor out the common parts
Introduce a `skawarePackages.buildPackage` function that contains the
common setup, removing a lot of duplication.
In particular, we require that the build directory has to be empty
after the `fixupPhase`, to make sure every relevant file is moved to
the outputs.

A next step would be to deduplicate the `configureFlags` attributes
and only require a `skawareInputs` field.
Diffstat (limited to 'pkgs/tools/system/s6-rc')
-rw-r--r--pkgs/tools/system/s6-rc/default.nix40
1 files changed, 12 insertions, 28 deletions
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
index b5cfa8ea4425..3edb0c0fb608 100644
--- a/pkgs/tools/system/s6-rc/default.nix
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -1,27 +1,18 @@
-{ stdenv, execline, fetchgit, skalibs, s6 }:
+{ stdenv, skawarePackages }:
 
-let
+with skawarePackages;
 
+buildPackage {
+  pname = "s6-rc";
   version = "0.4.1.0";
+  sha256 = "1as7jhlp4cvh1bzvcli1hk1pbdzkac8gys1h379blymfy8hmp805";
 
-in stdenv.mkDerivation rec {
-
-  name = "s6-rc-${version}";
-
-  src = fetchgit {
-    url = "git://git.skarnet.org/s6-rc";
-    rev = "refs/tags/v${version}";
-    sha256 = "1as7jhlp4cvh1bzvcli1hk1pbdzkac8gys1h379blymfy8hmp805";
-  };
+  description = "A service manager for s6-based systems";
+  platforms = stdenv.lib.platforms.linux;
 
   outputs = [ "bin" "lib" "dev" "doc" "out" ];
 
-  dontDisableStatic = true;
-
-  enableParallelBuilding = true;
-
   configureFlags = [
-    "--enable-absolute-paths"
     "--libdir=\${lib}/lib"
     "--libexecdir=\${lib}/libexec"
     "--dynlibdir=\${lib}/lib"
@@ -37,22 +28,15 @@ in stdenv.mkDerivation rec {
     "--with-dynlib=${skalibs.lib}/lib"
     "--with-dynlib=${execline.lib}/lib"
     "--with-dynlib=${s6.out}/lib"
-  ]
-  ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ])
-  ++ (stdenv.lib.optional stdenv.isDarwin "--build=${stdenv.hostPlatform.system}");
+  ];
 
   postInstall = ''
-    mkdir -p $doc/share/doc/s6-rc/
+    # remove all s6 executables from build directory
+    rm $(find -name "s6-rc-*" -type f -mindepth 1 -maxdepth 1 -executable)
+    rm s6-rc libs6rc.*
+
     mv doc $doc/share/doc/s6-rc/html
     mv examples $doc/share/doc/s6-rc/examples
   '';
 
-  meta = {
-    homepage = http://skarnet.org/software/s6-rc/;
-    description = "A service manager for s6-based systems";
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.isc;
-    maintainers = with stdenv.lib.maintainers; [ pmahoney Profpatsch ];
-  };
-
 }