python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / skaware-packages / execline / default.nix
blob953a081051677ee05bb3f346364f3cbefe7f94a4
1 { fetchFromGitHub, skawarePackages }:
3 with skawarePackages;
4 let
5   version = "2.9.0.1";
7   # Maintainer of manpages uses following versioning scheme: for every
8   # upstream $version he tags manpages release as ${version}.1, and,
9   # in case of extra fixes to manpages, new tags in form ${version}.2,
10   # ${version}.3 and so on are created.
11   manpages = fetchFromGitHub {
12     owner = "flexibeast";
13     repo = "execline-man-pages";
14     rev = "v2.9.0.0.1";
15     sha256 = "sha256-hT0YsuYJ3XSMYwtlwDR8PGlD8ng8XPky93rCprruHu8=";
16   };
18 in buildPackage {
19   inherit version;
21   pname = "execline";
22   sha256 = "sha256-ASYPyvgP+8oqlKpV6kdN+545swM7VciviBJnkYeVMfY=";
24   description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
26   outputs = [ "bin" "man" "lib" "dev" "doc" "out" ];
28   # TODO: nsss support
29   configureFlags = [
30     "--libdir=\${lib}/lib"
31     "--dynlibdir=\${lib}/lib"
32     "--bindir=\${bin}/bin"
33     "--includedir=\${dev}/include"
34     "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
35     "--with-include=${skalibs.dev}/include"
36     "--with-lib=${skalibs.lib}/lib"
37     "--with-dynlib=${skalibs.lib}/lib"
38   ];
40   postInstall = ''
41     # remove all execline executables from build directory
42     rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
43     rm libexecline.*
45     mv doc $doc/share/doc/execline/html
46     mv examples $doc/share/doc/execline/examples
48     mv $bin/bin/execlineb $bin/bin/.execlineb-wrapped
50     # A wrapper around execlineb, which provides all execline
51     # tools on `execlineb`’s PATH.
52     # It is implemented as a C script, because on non-Linux,
53     # nested shebang lines are not supported.
54     # The -lskarnet has to come at the end to support static builds.
55     $CC \
56       -O \
57       -Wall -Wpedantic \
58       -D "EXECLINEB_PATH()=\"$bin/bin/.execlineb-wrapped\"" \
59       -D "EXECLINE_BIN_PATH()=\"$bin/bin\"" \
60       -I "${skalibs.dev}/include" \
61       -L "${skalibs.lib}/lib" \
62       -o "$bin/bin/execlineb" \
63       ${./execlineb-wrapper.c} \
64       -lskarnet
65     mkdir -p $man/share/
66     cp -vr ${manpages}/man* $man/share
67   '';