1{
2 stdenv,
3 lib,
4 fetchurl,
5 pkg-config,
6 texinfo,
7 libiconv,
8 gdbm,
9 openssl,
10 zlib,
11 mbedtls,
12 cacert,
13}:
14
15stdenv.mkDerivation rec {
16 pname = "gauche-bootstrap";
17 version = "0.9.15";
18
19 src = fetchurl {
20 url = "https://github.com/shirok/Gauche/releases/download/release${
21 lib.replaceStrings [ "." ] [ "_" ] version
22 }/Gauche-${version}.tgz";
23 hash = "sha256-NkPie8fIgiz9b7KJLbGF9ljo42STi8LM/O2yOeNa94M=";
24 };
25
26 nativeBuildInputs = [
27 pkg-config
28 texinfo
29 ];
30
31 buildInputs = [
32 libiconv
33 gdbm
34 openssl
35 zlib
36 mbedtls
37 cacert
38 ];
39
40 postPatch = ''
41 patchShebangs .
42 '';
43
44 configureFlags = [
45 "--with-iconv=${libiconv}"
46 "--with-dbm=gdbm"
47 "--with-zlib=${zlib}"
48 "--with-ca-bundle=${cacert}/etc/ssl/certs/ca-bundle.crt"
49 # TODO: Enable slib
50 # Current slib in nixpkgs is specialized to Guile
51 # "--with-slib=${slibGuile}/lib/slib"
52 ];
53
54 enableParallelBuilding = true;
55
56 # TODO: Fix tests that fail in sandbox build
57 doCheck = false;
58
59 meta = with lib; {
60 description = "R7RS Scheme scripting engine (released version)";
61 homepage = "https://practical-scheme.net/gauche/";
62 mainProgram = "gosh";
63 maintainers = with maintainers; [ mnacamura ];
64 license = licenses.bsd3;
65 platforms = platforms.unix;
66 };
67}