nixpkgs/pkgs/tools/networking/s6-networking/default.nix
Profpatsch eef4a51941 skawarePackages: Winter 2021-2022 release
I bumped all versions of all packages that we packaged so far (I
hope). We might want to build an update script at some point, there is
a lot of potential for copy & paste errors in these updates.

Laurent’s notes below:

  Hello,

  New versions of all the skarnet.org packages are available.

  The changes are, for the most part, minimal: essentially, the new
versions fix a bug in the build system that made cross-building under
slashpackage more difficult than intended. Very few people should
have been impacted by this bug.
  Some packages had a few more bugfixes; and some packages have
additional functionality. No major update; no compatibility break.

  The new versions are the following:

skalibs-2.11.1.0 (minor)
nsss-0.2.0.1 (release)
utmps-0.1.1.0 (minor)
execline-2.8.2.0 (minor)
s6-2.11.0.1 (release)
s6-rc-0.5.3.0 (minor)
s6-portable-utils-2.2.3.4 (release)
s6-linux-utils-2.5.1.7 (release)
s6-linux-init-1.0.7.0 (minor)
s6-dns-2.3.5.3 (release)
s6-networking-2.5.1.0 (minor)
mdevd-0.1.5.1 (release)
bcnm-0.0.1.5 (release)
dnsfunnel-0.0.1.3 (release)
smtpd-starttls-proxy-0.0.1.1 (release)

  Dependencies have all been updated to the latest versions. They are not
strict: libraries and binaries may build with older releases of their
dependencies, although this is not guaranteed.

  You do not need to recompile your s6-rc service databases. To make use
of the new s6-linux-init functionality, however, you will have to
recreate your run-image.
  You do not need to restart your supervision tree, unless you're
deleting
your old s6 binaries.

  Details of minor package changes follow.

* skalibs-2.11.1.0
   ----------------

  - New function: opendir_at()

* utmps-0.1.1.0
   ------------

  - New binary: utmps-write, a generic utmp client that can write
user-crafted records to the utmp and/or wtmp databases.

* execline-2.8.2.0
   ----------------

  - New -s option to the case binary, enabling fnmatch() (shell)
expression matching instead of regular expression matching.

* s6-rc-0.5.3.0
   -------------

  - Bundle contents are now read in a "contents.d/" subdirectory, one
file per content, instead of one per line in a "contents" file. In
the same way, service dependencies are now read in a "dependencies.d/"
subdirectory, one file per dependency. Old "contents" and "dependencies"
files are still supported, but deprecated. This change allows better
integration of s6-rc service definitions with package managers.

* s6-linux-init-1.0.7.0
   ---------------------

  - New -S option to s6-linux-init-maker, forcing a sync on halt even
in a container.

* s6-networking-2.5.1.0
   ---------------------

  - SNI wildcarding is implemented, as well as a workaround for a
bearssl bug causing errors on certificate signatures in certain cases.

  Enjoy,
  Bug-reports welcome.
  And happy holidays to you all!

--
  Laurent
2021-12-25 13:03:14 +01:00

66 lines
1.8 KiB
Nix

{ lib, skawarePackages
# 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 = {
libressl = libressl;
bearssl = bearssl;
};
in
assert sslSupportEnabled -> sslLibs ? ${sslSupport};
buildPackage {
pname = "s6-networking";
version = "2.5.1.0";
sha256 = "0hgzj68bk17r1gr32ld1dm5s1x1a5x8ac03klykhfbasx8gwa1r5";
description = "A suite of small networking utilities for Unix systems";
outputs = [ "bin" "lib" "dev" "doc" "out" ];
# TODO: nsss support
configureFlags = [
"--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"
]
++ (lib.optionals sslSupportEnabled [
"--enable-ssl=${sslSupport}"
"--with-include=${lib.getDev sslLibs.${sslSupport}}/include"
"--with-lib=${lib.getLib sslLibs.${sslSupport}}/lib"
"--with-dynlib=${lib.getLib sslLibs.${sslSupport}}/lib"
]);
postInstall = ''
# remove all s6 executables from build directory
rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable)
rm libs6net.* libstls.* libs6tls.* libsbearssl.*
mv doc $doc/share/doc/s6-networking/html
'';
}