nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, lib, fetchFromGitHub, autoreconfHook, gaucheBootstrap, pkg-config, texinfo
2, libiconv, gdbm, openssl, zlib, mbedtls, cacert }:
3
4stdenv.mkDerivation rec {
5 pname = "gauche";
6 version = "0.9.10";
7
8 src = fetchFromGitHub {
9 owner = "shirok";
10 repo = pname;
11 rev = "release${lib.replaceStrings [ "." ] [ "_" ] version}";
12 sha256 = "0ki1w7sa10ivmg51sqjskby0gsznb0d3738nz80x589033km5hmb";
13 };
14
15 nativeBuildInputs = [ gaucheBootstrap pkg-config texinfo autoreconfHook ];
16
17 buildInputs = [ libiconv gdbm openssl zlib mbedtls cacert ];
18
19 autoreconfPhase = ''
20 ./DIST gen
21 '';
22
23 postPatch = ''
24 patchShebangs .
25 '';
26
27 configureFlags = [
28 "--with-iconv=${libiconv}"
29 "--with-dbm=gdbm"
30 "--with-zlib=${zlib}"
31 "--with-ca-bundle=${cacert}/etc/ssl/certs/ca-bundle.crt"
32 # TODO: Enable slib
33 # Current slib in nixpkgs is specialized to Guile
34 # "--with-slib=${slibGuile}/lib/slib"
35 ];
36
37 enableParallelBuilding = true;
38
39 # TODO: Fix tests that fail in sandbox build
40 doCheck = false;
41
42 meta = with lib; {
43 description = "R7RS Scheme scripting engine";
44 homepage = "https://practical-scheme.net/gauche/";
45 maintainers = with maintainers; [ mnacamura ];
46 license = licenses.bsd3;
47 platforms = platforms.unix;
48 };
49}