2018-09-02 23:31:26 +02:00
|
|
|
{ stdenv, skawarePackages
|
2018-07-27 09:10:10 +02:00
|
|
|
|
|
|
|
# Whether to build the TLS/SSL tools and what library to use
|
|
|
|
# acceptable values: "libressl", false
|
|
|
|
# TODO: add bearssl
|
|
|
|
, sslSupport ? "libressl" , libressl
|
|
|
|
}:
|
2014-08-30 07:07:45 +02:00
|
|
|
|
2018-09-02 23:31:26 +02:00
|
|
|
with skawarePackages;
|
2014-08-30 07:07:45 +02:00
|
|
|
let
|
2018-07-27 09:10:10 +02:00
|
|
|
inherit (stdenv) lib;
|
|
|
|
sslSupportEnabled = sslSupport != false;
|
|
|
|
sslLibs = {
|
2019-08-13 23:52:01 +02:00
|
|
|
libressl = libressl;
|
2018-07-27 09:10:10 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
in
|
|
|
|
assert sslSupportEnabled -> sslLibs ? ${sslSupport};
|
|
|
|
|
2014-08-30 07:07:45 +02:00
|
|
|
|
2018-09-02 23:31:26 +02:00
|
|
|
buildPackage {
|
|
|
|
pname = "s6-networking";
|
skawarePackages: release 2020-03
Hello,
New versions of all the skarnet.org packages are available.
This is mostly a bugfix release (there was an installation bug in
some circumstances with shared libraries) but some packages, notably
execline and s6, have new, useful features.
The new versions are the following:
skalibs-2.9.2.0
nsss-0.0.2.2
utmps-0.0.3.2
execline-2.6.0.0
s6-2.9.1.0
s6-rc-0.5.1.2
s6-linux-init-1.0.4.0
s6-dns-2.3.2.0
s6-networking-2.3.1.2
s6-portable-utils-2.2.2.2
s6-linux-utils-2.5.1.2
mdevd-0.1.1.2
bcnm-0.0.1.0
Here are details for the packages that have more than bugfixes:
* skalibs-2.9.2.0
---------------
- New header: skalibs/bigkv.h. It's a set of functions allowing
efficient lookups in a large set of strings (typically read from the
command line or the environment).
https://skarnet.org/software/skalibs/
git://git.skarnet.org/skalibs
* execline-2.6.0.0
----------------
- It's a major release because an API has been modified: dollarat.
Beforehand, dollarat's -0 option would always prevail over any -d
option. Now, dollarat has its conflicting -0 and -d options handled
in the conventional way, with rightmost priority.
- The runblock program now accepts a command line prefix, which is
given as runblock's own command line. This allows blocks to serve as
arguments to a new command, instead of having to be full command lines
by themselves.
- New binary: posix-umask.
- The former "cd" program is now named "execline-cd" and the former
"umask" program is named "execline-umask". When the=20
--enable-pedantic-posix
option is not given at configure time, "cd" and "umask" are symbolic
links created at installation time and pointing to execline-cd and
execline-umask respectively. When the --enable-pedantic-posix option is
given, the symbolic links point to posix-cd and posix-umask instead.
- With posix-cd and posix-umask (and the changes to wait done in the
previous version), execline is now fully POSIX-compliant when built with
the --enable-pedantic-posix option. This will certainly, without the
slightest hint of a doubt, change distributions' attitudes about it.
https://skarnet.org/software/execline/
git://git.skarnet.org/execline
* s6-2.9.1.0
----------
- A new '?' directive has been added to s6-log. It behaves exactly like
'!', except that it spawns the given processor with /bin/sh as an
interpreter instead of execlineb.
- execline support is now optional: it can be disabled by specifying
--disable-execline at configure time. Some functionality is unavailable
when execline support is disabled:
* s6-log's '!' directive
* s6-notifyoncheck's -c option
* s6-ipcserver-access's support for 'exec' directives in a ruleset
- A new -X option has been added to s6-svscan, to specify a descriptor
that will be passed as stderr to a service spawned by this s6-svscan and
named s6-svscan-log. This is used in the new s6-linux-init, to avoid
needing to hardcode the /dev/console name for the catch-all logger's
standard error.
- On systems that define SIGPWR and SIGWINCH, s6-svscan -s now diverts
those signals. This allows powerfail and kbrequest events to be handled
when s6-svscan runs as process 1.
https://skarnet.org/software/s6/
git://git.skarnet.org/s6
* s6-linux-init-1.0.4.0
---------------------
- New options have been added to s6-linux-init-maker: to support
running s6-linux-init without a catch-all logger, and to support running
it in a container.
- s6-linux-init-maker now adds a SIGPWR handler to the default image:
on receipt of a SIGPWR, the system's shutdown procedure is triggered.
- s6-linux-init now handles kbrequest, which triggers a SIGWINCH in
init when a special, configurable set of keys is pressed. By default,
no SIGWINCH handler is declared in the image, and no set of keys is
bound to kbrequest.
https://skarnet.org/software/s6-linux-init/
git://git.skarnet.org/s6-linux-init
* s6-dns-2.3.2.0
--------------
- New library: libdcache, implementing a clean cache structure
to contain DNS data. It's still not used at the moment.
https://skarnet.org/software/s6-dns/
git://git.skarnet.org/s6-dns
* bcnm-0.0.1.0
------------
- First numbered release, because the Ad=C3=A9lie Linux distribution,
which uses libwpactrl, needs an official release instead of pulling
from git.
- libwpactrl is a set of C functions helping control a wpa_supplicant
process.
- bcnm-waitif is a binary that waits for network interface state
events such as appearance/disappearance, up/down, running/not-running.
It is useful to avoid race conditions during a boot sequence, for
instance.
https://skarnet.org/software/bcnm/
git://git.skarnet.org/bcnm
Enjoy,
Bug-reports welcome.
--
Laurent
2020-03-22 22:07:12 +01:00
|
|
|
version = "2.3.1.2";
|
|
|
|
sha256 = "1029bgwfmv903y5ji93j75m7p2jgchdxya1khxzb42q2z7yxnlyr";
|
2014-08-30 07:07:45 +02:00
|
|
|
|
2018-09-02 23:31:26 +02:00
|
|
|
description = "A suite of small networking utilities for Unix systems";
|
2014-08-30 07:07:45 +02:00
|
|
|
|
2018-07-22 17:03:19 +02:00
|
|
|
outputs = [ "bin" "lib" "dev" "doc" "out" ];
|
|
|
|
|
2018-09-02 17:04:57 +02:00
|
|
|
# TODO: nsss support
|
2014-12-23 17:06:27 +01:00
|
|
|
configureFlags = [
|
2018-07-22 17:03:19 +02:00
|
|
|
"--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"
|
2016-04-01 17:20:13 +02:00
|
|
|
]
|
2018-07-27 09:10:10 +02:00
|
|
|
++ (lib.optionals sslSupportEnabled [
|
|
|
|
"--enable-ssl=${sslSupport}"
|
|
|
|
"--with-include=${lib.getDev sslLibs.${sslSupport}}/include"
|
|
|
|
"--with-lib=${lib.getLib sslLibs.${sslSupport}}/lib"
|
2018-09-02 23:31:26 +02:00
|
|
|
"--with-dynlib=${lib.getLib sslLibs.${sslSupport}}/lib"
|
|
|
|
]);
|
2014-08-30 07:07:45 +02:00
|
|
|
|
2018-07-22 17:03:19 +02:00
|
|
|
postInstall = ''
|
2018-09-02 23:31:26 +02:00
|
|
|
# remove all s6 executables from build directory
|
|
|
|
rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable)
|
|
|
|
rm minidentd
|
|
|
|
rm libs6net.* libstls.*
|
|
|
|
|
2018-07-22 17:03:19 +02:00
|
|
|
mv doc $doc/share/doc/s6-networking/html
|
|
|
|
'';
|
|
|
|
|
2014-08-30 07:07:45 +02:00
|
|
|
}
|