about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/interpreters/shen-sbcl/default.nix
blob: 194c67eba98f2f0bf7d69fa9bc5fc47957cd7156 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{ lib
, stdenv
, fetchurl
, shen-sources
, sbcl
}:

stdenv.mkDerivation rec {
  pname = "shen-sbcl";
  version = "3.0.3";

  src = fetchurl {
    url = "https://github.com/Shen-Language/shen-cl/releases/download/v${version}/shen-cl-v${version}-sources.tar.gz";
    sha256 = "0mc10jlrxqi337m6ngwbr547zi4qgk69g1flz5dsddjy5x41j0yz";
  };

  nativeBuildInputs = [ sbcl ];

  preBuild = ''
    ln -s ${shen-sources} kernel
  '';

  buildFlags = [ "build-sbcl" ];

  checkTarget = "test-sbcl";

  doCheck = true;

  installPhase = ''
    install -m755 -D bin/sbcl/shen $out/bin/shen-sbcl
  '';

  meta = with lib; {
    homepage = "https://shenlanguage.org";
    description = "Port of Shen running on Steel Bank Common Lisp";
    changelog = "https://github.com/Shen-Language/shen-cl/raw/v${version}/CHANGELOG.md";
    platforms = sbcl.meta.platforms;
    maintainers = with maintainers; [ bsima ];
    license = licenses.bsd3;
  };
}