From 0071ae1d4f1a18542b19a815d06d2b7bbf292dd4 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Sun, 2 Sep 2018 23:31:26 +0200 Subject: 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. --- pkgs/tools/system/s6-rc/default.nix | 40 +++++++++++-------------------------- 1 file changed, 12 insertions(+), 28 deletions(-) (limited to 'pkgs/tools/system/s6-rc') 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 ]; - }; - } -- cgit 1.4.1