biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / skaware-packages / execline / default.nix
blob80bef5feb512b7563e3f33387cd8a56658ab748f
1 { lib, fetchFromGitHub, skawarePackages, skalibs }:
3 let
4   version = "2.9.4.0";
6 in skawarePackages.buildPackage {
7   inherit version;
9   pname = "execline";
10   # ATTN: also check whether there is a new manpages version
11   sha256 = "mrVdVhU536dv9Kl5BvqZX8SiiOPeUiXLGp2PqenrxJs=";
13   # Maintainer of manpages uses following versioning scheme: for every
14   # upstream $version he tags manpages release as ${version}.1, and,
15   # in case of extra fixes to manpages, new tags in form ${version}.2,
16   # ${version}.3 and so on are created.
17   manpages = skawarePackages.buildManPages {
18     pname = "execline-man-pages";
19     version = "2.9.3.0.5";
20     sha256 = "0fcjrj4xp7y7n1c55k45rxr5m7zpv6cbhrkxlxymd4j603i9jh6d";
21     description = "Port of the documentation for the execline suite to mdoc";
22     maintainers = [ lib.maintainers.sternenseemann ];
23   };
25   description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
27   outputs = [ "bin" "lib" "dev" "doc" "out" ];
29   # TODO: nsss support
30   configureFlags = [
31     "--libdir=\${lib}/lib"
32     "--dynlibdir=\${lib}/lib"
33     "--bindir=\${bin}/bin"
34     "--includedir=\${dev}/include"
35     "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
36     "--with-include=${skalibs.dev}/include"
37     "--with-lib=${skalibs.lib}/lib"
38     "--with-dynlib=${skalibs.lib}/lib"
39   ];
41   postInstall = ''
42     # remove all execline executables from build directory
43     rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
44     rm libexecline.*
46     mv doc $doc/share/doc/execline/html
47     mv examples $doc/share/doc/execline/examples
49     mv $bin/bin/execlineb $bin/bin/.execlineb-wrapped
51     # A wrapper around execlineb, which provides all execline
52     # tools on `execlineb`’s PATH.
53     # It is implemented as a C script, because on non-Linux,
54     # nested shebang lines are not supported.
55     # The -lskarnet has to come at the end to support static builds.
56     $CC \
57       -O \
58       -Wall -Wpedantic \
59       -D "EXECLINEB_PATH()=\"$bin/bin/.execlineb-wrapped\"" \
60       -D "EXECLINE_BIN_PATH()=\"$bin/bin\"" \
61       -I "${skalibs.dev}/include" \
62       -L "${skalibs.lib}/lib" \
63       -o "$bin/bin/execlineb" \
64       ${./execlineb-wrapper.c} \
65       -lskarnet
66   '';