nixpkgs/pkgs/tools/misc/execline/default.nix
sternenseemann 00cecf2731 skawarePackages: 2021-02 release
Includes the following version changes:

- skalibs: 2.10.0.1 -> 2.10.0.2
- execline: 2.7.0.0 -> 2.8.0.0
- s6-networking: 2.4.0.0 -> 2.4.1.0
- s6-linux-init: 1.0.6.0 -> 1.0.6.1
- s6: 2.10.0.0 -> 2.10.0.2

Upstream maintainer notes:

------------------------------------------------------------

Mon, 15 Feb 2021 19:50:14 +0000

Hello,

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

skalibs-2.10.0.2: bugfixes
execline-2.8.0.0: major version bump, but few and low-impact changes
s6-2.10.0.2: bugfixes
s6-linux-init-1.0.6.1: bugfixes
s6-networking-2.4.1.0: minor version bump

Some details:

* execline-2.8.0.0
  ----------------

- The if program now propagates its child's exit code by default if it
exits.
- The backtick program's -i behaviour (exit on child failure or
presence of a null character in its output) is now the default. Other
behaviours in case of child failure can be obtained via -I, -x or -D
options; -x is the new one.
- These changes are compatible with all the common uses of if and
backtick, but break compatibility in edge cases, which is why a
major version bump is required. This has nothing in common with the
previous major version bump, which had massive changes all over the
place; this one should go smoothly, and will only impact very specific
uses of backtick.

execline now has man pages, thanks to the untiring flexibeast!
The repository can be found here:

https://github.com/flexibeast/execline-man-pages

Please allow some time for the man pages to be updated to reflect
the current HTML documentation. Currently, the man pages document
execline-2.7.0.1; they are accurate for 2.8.0.0 except for the if and
backtick changes.

* s6-linux-init-1.0.6.1
  ---------------------

- Bugfixes.
- When s6-linux-init is built with utmps, the default utmp user for
s6-linux-init-maker was set to "utmp". That was a bug: now, by default,
s6-linux-init-maker does not create the utmp services if the -U option
is not given. If you used s6-linux-init-maker without the -U option
and still need the utmps services, you should explicitly set "-U utmp".

https://skarnet.org/software/s6-linux-init/
git://git.skarnet.org/s6-linux-init

* s6-networking-2.4.1.0
  ---------------------

- Bugfixes (nothing security-related).
- It is now possible to define a maximum amount of time spent in the
TLS handshake no matter how s6-networking has been built. (The -K
option has been implemented for the libtls backend.)
- When SNI has been required, the TLS-related binaries now export
the SSL TLS SNI SERVERNAME option to their application; the variable
contains the relevant server name.

https://skarnet.org/software/s6-networking/
git://git.skarnet.org/s6-networking

s6-networking has man pages as well:
https://github.com/flexibeast/s6-networking-man-pages

Enjoy,
Bug-reports welcome.

--
Laurent

------------------------------------------------------------

Copied from: http://skarnet.org/cgi-bin/archive.cgi?1:mss:1535:202102:lpehbljhhcpaopbnkkbf
2021-03-19 13:51:47 +01:00

53 lines
1.5 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ skawarePackages }:
with skawarePackages;
buildPackage {
pname = "execline";
version = "2.8.0.0";
sha256 = "0vbn4pdazy6x6213vn42k0khcij5bvkbrcfg7nw6inhf8154nx77";
description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
outputs = [ "bin" "lib" "dev" "doc" "out" ];
# TODO: nsss support
configureFlags = [
"--libdir=\${lib}/lib"
"--dynlibdir=\${lib}/lib"
"--bindir=\${bin}/bin"
"--includedir=\${dev}/include"
"--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
"--with-include=${skalibs.dev}/include"
"--with-lib=${skalibs.lib}/lib"
"--with-dynlib=${skalibs.lib}/lib"
];
postInstall = ''
# remove all execline executables from build directory
rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
rm libexecline.*
mv doc $doc/share/doc/execline/html
mv examples $doc/share/doc/execline/examples
mv $bin/bin/execlineb $bin/bin/.execlineb-wrapped
# A wrapper around execlineb, which provides all execline
# tools on `execlineb`s PATH.
# It is implemented as a C script, because on non-Linux,
# nested shebang lines are not supported.
# The -lskarnet has to come at the end to support static builds.
$CC \
-O \
-Wall -Wpedantic \
-D "EXECLINEB_PATH()=\"$bin/bin/.execlineb-wrapped\"" \
-D "EXECLINE_BIN_PATH()=\"$bin/bin\"" \
-I "${skalibs.dev}/include" \
-L "${skalibs.lib}/lib" \
-o "$bin/bin/execlineb" \
${./execlineb-wrapper.c} \
-lskarnet
'';
}