skawarePackages: add manpages to their respective packages
For a while now, we’ve had these separate derivations for the skaware manpages. That was fine in the beginning, because it was not entirely clear whether the manpage project would be long-lived. Given that the collection of third-party manpages is now extensive and updated regularly, plus it is sanctioned by skarnet, we can remove this additional hurdle to using skaware. The buildManPage structure is kept, instead of building them in a separate `default.nix`, we add a field `manpages` to `skawarePackages.buildPackage`, which adds the `"man"` output and copies everything from the manpages output. For backwards-compat, the manpage derivation is exposed in the `passthru` and referenced by the `*-man-pages` attributes. ~~~ The `with skawarePackages;` scope is removed from all packages, and used explicitly for all functions, while packages get added to the package import header.
This commit is contained in:
parent
70cef84833
commit
7cadc17591
21 changed files with 97 additions and 118 deletions
|
@ -6,6 +6,8 @@
|
|||
, version
|
||||
# : string
|
||||
, sha256 ? lib.fakeSha256
|
||||
# : drv | null
|
||||
, manpages ? null
|
||||
# : string
|
||||
, description
|
||||
# : list Platform
|
||||
|
@ -63,7 +65,15 @@ stdenv.mkDerivation {
|
|||
inherit sha256;
|
||||
};
|
||||
|
||||
inherit outputs;
|
||||
outputs =
|
||||
if manpages == null
|
||||
then outputs
|
||||
else
|
||||
assert (lib.assertMsg (!lib.elem "man" outputs) "If you pass `manpages` to `skawarePackages.buildPackage`, you cannot have a `man` output already!");
|
||||
# insert as early as posible, but keep the first element
|
||||
if lib.length outputs > 0
|
||||
then [(lib.head outputs) "man"] ++ lib.tail outputs
|
||||
else ["man"];
|
||||
|
||||
dontDisableStatic = true;
|
||||
enableParallelBuilding = true;
|
||||
|
@ -97,6 +107,13 @@ stdenv.mkDerivation {
|
|||
docFiles = commonMetaFiles;
|
||||
}} $doc/share/doc/${pname}
|
||||
|
||||
${if manpages == null
|
||||
then ''echo "no manpages for this package"''
|
||||
else ''
|
||||
echo "copying manpages"
|
||||
cp -vr ${manpages} $man
|
||||
''}
|
||||
|
||||
${postInstall}
|
||||
'';
|
||||
|
||||
|
@ -104,6 +121,8 @@ stdenv.mkDerivation {
|
|||
${cleanPackaging.checkForRemainingFiles}
|
||||
'';
|
||||
|
||||
passthru = passthru // (if manpages == null then {} else { inherit manpages; });
|
||||
|
||||
meta = {
|
||||
homepage = "https://skarnet.org/software/${pname}/";
|
||||
inherit description platforms;
|
||||
|
@ -112,6 +131,4 @@ stdenv.mkDerivation {
|
|||
[ pmahoney Profpatsch qyliss ] ++ maintainers;
|
||||
};
|
||||
|
||||
inherit passthru;
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@ lib.makeScope pkgs.newScope (self:
|
|||
|
||||
# execline
|
||||
execline = callPackage ./execline { };
|
||||
execline-man-pages = callPackage ./execline-man-pages { };
|
||||
|
||||
# servers & tools
|
||||
mdevd = callPackage ./mdevd { };
|
||||
|
@ -32,8 +31,10 @@ lib.makeScope pkgs.newScope (self:
|
|||
s6-portable-utils = callPackage ./s6-portable-utils { };
|
||||
s6-rc = callPackage ./s6-rc { };
|
||||
|
||||
s6-man-pages = callPackage ./s6-man-pages { };
|
||||
s6-networking-man-pages = callPackage ./s6-networking-man-pages { };
|
||||
s6-portable-utils-man-pages = callPackage ./s6-portable-utils-man-pages { };
|
||||
s6-rc-man-pages = callPackage ./s6-rc-man-pages { };
|
||||
# manpages (DEPRECATED, they are added directly to the packages now)
|
||||
execline-man-pages = self.execline.passthru.manpages;
|
||||
s6-man-pages = self.s6.passthru.manpages;
|
||||
s6-networking-man-pages = self.s6-networking.passthru.manpages;
|
||||
s6-portable-utils-man-pages = self.s6-portable-utils.passthru.manpages;
|
||||
s6-rc-man-pages = self.s6-rc.passthru.manpages;
|
||||
})
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{ lib, buildManPages }:
|
||||
|
||||
buildManPages {
|
||||
pname = "execline-man-pages";
|
||||
version = "2.9.3.0.5";
|
||||
sha256 = "0fcjrj4xp7y7n1c55k45rxr5m7zpv6cbhrkxlxymd4j603i9jh6d";
|
||||
description = "Port of the documentation for the execline suite to mdoc";
|
||||
maintainers = [ lib.maintainers.sternenseemann ];
|
||||
}
|
|
@ -1,29 +1,30 @@
|
|||
{ fetchFromGitHub, skawarePackages }:
|
||||
{ lib, fetchFromGitHub, skawarePackages, skalibs }:
|
||||
|
||||
with skawarePackages;
|
||||
let
|
||||
version = "2.9.4.0";
|
||||
|
||||
in skawarePackages.buildPackage {
|
||||
inherit version;
|
||||
|
||||
pname = "execline";
|
||||
# ATTN: also check whether there is a new manpages version
|
||||
sha256 = "mrVdVhU536dv9Kl5BvqZX8SiiOPeUiXLGp2PqenrxJs=";
|
||||
|
||||
# Maintainer of manpages uses following versioning scheme: for every
|
||||
# upstream $version he tags manpages release as ${version}.1, and,
|
||||
# in case of extra fixes to manpages, new tags in form ${version}.2,
|
||||
# ${version}.3 and so on are created.
|
||||
manpages = fetchFromGitHub {
|
||||
owner = "flexibeast";
|
||||
repo = "execline-man-pages";
|
||||
rev = "v2.9.1.0.1";
|
||||
sha256 = "nZzzQFMUPmIgPS3aAIgcORr/TSpaLf8UtzBUFD7blt8=";
|
||||
manpages = skawarePackages.buildManPages {
|
||||
pname = "execline-man-pages";
|
||||
version = "2.9.3.0.5";
|
||||
sha256 = "0fcjrj4xp7y7n1c55k45rxr5m7zpv6cbhrkxlxymd4j603i9jh6d";
|
||||
description = "Port of the documentation for the execline suite to mdoc";
|
||||
maintainers = [ lib.maintainers.sternenseemann ];
|
||||
};
|
||||
|
||||
in buildPackage {
|
||||
inherit version;
|
||||
|
||||
pname = "execline";
|
||||
sha256 = "mrVdVhU536dv9Kl5BvqZX8SiiOPeUiXLGp2PqenrxJs=";
|
||||
|
||||
description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
|
||||
|
||||
outputs = [ "bin" "man" "lib" "dev" "doc" "out" ];
|
||||
outputs = [ "bin" "lib" "dev" "doc" "out" ];
|
||||
|
||||
# TODO: nsss support
|
||||
configureFlags = [
|
||||
|
@ -62,7 +63,5 @@ in buildPackage {
|
|||
-o "$bin/bin/execlineb" \
|
||||
${./execlineb-wrapper.c} \
|
||||
-lskarnet
|
||||
mkdir -p $man/share/
|
||||
cp -vr ${manpages}/man* $man/share
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ lib, skawarePackages }:
|
||||
{ lib, skawarePackages, skalibs }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "mdevd";
|
||||
version = "0.1.6.3";
|
||||
sha256 = "9uzw73zUjQTvx1rLLa2WfYULyIFb2wCY8cnvBDOU1DA=";
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ skawarePackages }:
|
||||
{ skawarePackages, skalibs }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "nsss";
|
||||
version = "0.2.0.4";
|
||||
sha256 = "ObUE+FvY9rUj0zTlz6YsAqOV2zWZG3XyBt8Ku9Z2Gq0=";
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ skawarePackages }:
|
||||
{ skawarePackages, skalibs }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "s6-dns";
|
||||
version = "2.3.7.1";
|
||||
sha256 = "zwJYV07H1itlTgwq14r0x9Z6xMnLN/eBSA9ZflSzD20=";
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ lib, skawarePackages }:
|
||||
{ lib, skawarePackages, skalibs, execline, s6 }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "s6-linux-init";
|
||||
version = "1.1.2.0";
|
||||
sha256 = "sha256-Ea4I0KZiELXla2uu4Pa5sbafvtsF/aEoWxFaMcpGx38=";
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ lib, skawarePackages }:
|
||||
{ lib, skawarePackages, skalibs }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "s6-linux-utils";
|
||||
version = "2.6.2.0";
|
||||
sha256 = "j5RGM8qH09I+DwPJw4PRUC1QjJusFtOMP79yOl6rK7c=";
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{ lib, buildManPages }:
|
||||
|
||||
buildManPages {
|
||||
pname = "s6-man-pages";
|
||||
version = "2.12.0.2.1";
|
||||
sha256 = "sha256-fFU+cRwXb4SwHsI/r0ghuzCf6hEK/muPPp2XMvD8VtQ=";
|
||||
description = "Port of the documentation for the s6 supervision suite to mdoc";
|
||||
maintainers = [ lib.maintainers.sternenseemann ];
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{ lib, buildManPages }:
|
||||
|
||||
buildManPages {
|
||||
pname = "s6-networking-man-pages";
|
||||
version = "2.5.1.3.3";
|
||||
sha256 = "02ba5jyfpbib402mfl42pbbdxyjy2vhpiz1b2qdg4ax58yr4jzqk";
|
||||
description = "Port of the documentation for the s6-networking suite to mdoc";
|
||||
maintainers = [ lib.maintainers.sternenseemann ];
|
||||
}
|
|
@ -1,11 +1,10 @@
|
|||
{ lib, skawarePackages
|
||||
{ lib, skawarePackages, skalibs, execline, s6, s6-dns
|
||||
|
||||
# Whether to build the TLS/SSL tools and what library to use
|
||||
# acceptable values: "bearssl", "libressl", false
|
||||
, sslSupport ? "bearssl" , libressl, bearssl
|
||||
}:
|
||||
|
||||
with skawarePackages;
|
||||
let
|
||||
sslSupportEnabled = sslSupport != false;
|
||||
sslLibs = {
|
||||
|
@ -17,11 +16,19 @@ in
|
|||
assert sslSupportEnabled -> sslLibs ? ${sslSupport};
|
||||
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "s6-networking";
|
||||
version = "2.7.0.2";
|
||||
sha256 = "wzxvGyvhb4miGvlGz9BiQqEvmBhMiYt1XdskM4ZxzrE=";
|
||||
|
||||
manpages = skawarePackages.buildManPages {
|
||||
pname = "s6-networking-man-pages";
|
||||
version = "2.5.1.3.3";
|
||||
sha256 = "02ba5jyfpbib402mfl42pbbdxyjy2vhpiz1b2qdg4ax58yr4jzqk";
|
||||
description = "Port of the documentation for the s6-networking suite to mdoc";
|
||||
maintainers = [ lib.maintainers.sternenseemann ];
|
||||
};
|
||||
|
||||
description = "A suite of small networking utilities for Unix systems";
|
||||
|
||||
outputs = [ "bin" "lib" "dev" "doc" "out" ];
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{ lib, buildManPages }:
|
||||
|
||||
buildManPages {
|
||||
pname = "s6-portable-utils-man-pages";
|
||||
version = "2.3.0.2.2";
|
||||
sha256 = "0zbxr6jqrx53z1gzfr31nm78wjfmyjvjx7216l527nxl9zn8nnv1";
|
||||
description = "Port of the documentation for the s6-portable-utils suite to mdoc";
|
||||
maintainers = [ lib.maintainers.somasis ];
|
||||
}
|
|
@ -1,12 +1,18 @@
|
|||
{ skawarePackages }:
|
||||
{ lib, skawarePackages, skalibs }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "s6-portable-utils";
|
||||
version = "2.3.0.3";
|
||||
sha256 = "PkSSBV0WDCX7kBU/DvwnfX1Sv5gbvj6i6d/lHEk1Yf8=";
|
||||
|
||||
manpages = skawarePackages.buildManPages {
|
||||
pname = "s6-portable-utils-man-pages";
|
||||
version = "2.3.0.2.2";
|
||||
sha256 = "0zbxr6jqrx53z1gzfr31nm78wjfmyjvjx7216l527nxl9zn8nnv1";
|
||||
description = "Port of the documentation for the s6-portable-utils suite to mdoc";
|
||||
maintainers = [ lib.maintainers.somasis ];
|
||||
};
|
||||
|
||||
description = "A set of tiny general Unix utilities optimized for simplicity and small size";
|
||||
|
||||
outputs = [ "bin" "dev" "doc" "out" ];
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{ lib, buildManPages }:
|
||||
|
||||
buildManPages {
|
||||
pname = "s6-rc-man-pages";
|
||||
version = "0.5.4.2.1";
|
||||
sha256 = "Ywke3FG/xhhUd934auDB+iFRDCvy8IJs6IkirP6O/As=";
|
||||
description = "mdoc(7) versions of the documentation for the s6-rc service manager";
|
||||
maintainers = [ lib.maintainers.qyliss ];
|
||||
}
|
|
@ -1,12 +1,18 @@
|
|||
{ lib, stdenv, skawarePackages, targetPackages }:
|
||||
{ lib, stdenv, skawarePackages, targetPackages, skalibs, execline, s6 }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "s6-rc";
|
||||
version = "0.5.4.2";
|
||||
sha256 = "AL36WW+nFhUS6XLskoKiq9j9DjHwkXe616K8PY8oOYI=";
|
||||
|
||||
manpages = skawarePackages.buildManPages {
|
||||
pname = "s6-rc-man-pages";
|
||||
version = "0.5.4.2.1";
|
||||
sha256 = "Ywke3FG/xhhUd934auDB+iFRDCvy8IJs6IkirP6O/As=";
|
||||
description = "mdoc(7) versions of the documentation for the s6-rc service manager";
|
||||
maintainers = [ lib.maintainers.qyliss ];
|
||||
};
|
||||
|
||||
description = "A service manager for s6-based systems";
|
||||
platforms = lib.platforms.unix;
|
||||
|
||||
|
|
|
@ -1,12 +1,18 @@
|
|||
{ skawarePackages }:
|
||||
{ lib, skawarePackages, skalibs, execline }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "s6";
|
||||
version = "2.12.0.3";
|
||||
sha256 = "gA0xIm9sJc3T7AtlJA+AtWzl7BNzQdCo0VTndjjlgQM=";
|
||||
|
||||
manpages = skawarePackages.buildManPages {
|
||||
pname = "s6-man-pages";
|
||||
version = "2.12.0.2.1";
|
||||
sha256 = "sha256-fFU+cRwXb4SwHsI/r0ghuzCf6hEK/muPPp2XMvD8VtQ=";
|
||||
description = "Port of the documentation for the s6 supervision suite to mdoc";
|
||||
maintainers = [ lib.maintainers.sternenseemann ];
|
||||
};
|
||||
|
||||
description = "skarnet.org's small & secure supervision software suite";
|
||||
|
||||
# NOTE lib: cannot split lib from bin at the moment,
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
{ stdenv, lib, runCommandCC, skawarePackages }:
|
||||
|
||||
with skawarePackages;
|
||||
{ stdenv, lib, runCommandCC, skawarePackages, skalibs }:
|
||||
|
||||
let
|
||||
# From https://skarnet.org/software/misc/sdnotify-wrapper.c,
|
||||
|
|
|
@ -4,9 +4,7 @@
|
|||
, pkgs
|
||||
}:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "skalibs";
|
||||
version = "2.14.1.1";
|
||||
sha256 = "trebgW9LoLaAFnaw7UF5tZyMeAnu/+JttnLkBGNr78M=";
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ skawarePackages }:
|
||||
{ skawarePackages, skalibs }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "tipidee";
|
||||
version = "0.0.3.0";
|
||||
sha256 = "0dk6k86UKgJ2ioX5H2Xoga9S+SwMy9NFrK2KEKoNxCA=";
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ skawarePackages }:
|
||||
{ skawarePackages, skalibs }:
|
||||
|
||||
with skawarePackages;
|
||||
|
||||
buildPackage {
|
||||
skawarePackages.buildPackage {
|
||||
pname = "utmps";
|
||||
version = "0.1.2.2";
|
||||
sha256 = "sha256-9/+jcUxllzu5X7zxUBwG/AR42TpRzqGzc+xoEcJCX1I=";
|
||||
|
|
Loading…
Reference in a new issue