nixpkgs/pkgs/tools/misc/execline/default.nix

53 lines
1.5 KiB
Nix
Raw Normal View History

2020-11-26 13:30:31 +00:00
{ skawarePackages }:
with skawarePackages;
buildPackage {
pname = "execline";
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-24 17:06:58 +00:00
version = "2.8.2.0";
sha256 = "0h9kb3cx8dw05md6smvs56i4lr8g5n3ljaxy5vj4zs86yc3pdprg";
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
'';
}