1{
2 lib,
3 stdenv,
4 fetchurl,
5 installShellFiles,
6}:
7
8stdenv.mkDerivation (finalAttrs: {
9 pname = "cmucl-binary";
10 version = "21d";
11
12 srcs = [
13 (fetchurl {
14 url =
15 "http://common-lisp.net/project/cmucl/downloads/release/"
16 + finalAttrs.version
17 + "/cmucl-${finalAttrs.version}-x86-linux.tar.bz2";
18 hash = "sha256-RdctcqPTtQh1Yb3BrpQ8jtRFQn85OcwOt1l90H6xDZs=";
19 })
20 (fetchurl {
21 url =
22 "http://common-lisp.net/project/cmucl/downloads/release/"
23 + finalAttrs.version
24 + "/cmucl-${finalAttrs.version}-x86-linux.extra.tar.bz2";
25 hash = "sha256-zEmiW3m5VPpFgPxV1WJNCqgYRlHMovtaMXcgXyNukls=";
26 })
27 ];
28
29 sourceRoot = ".";
30
31 outputs = [
32 "out"
33 "doc"
34 "man"
35 ];
36
37 nativeBuildInputs = [
38 installShellFiles
39 ];
40
41 dontConfigure = true;
42 dontBuild = true;
43
44 installPhase = ''
45 runHook preInstall
46
47 mkdir -pv $out $doc/share $man
48 mv bin lib -t $out
49 mv -v doc -t $doc/share
50 installManPage man/man1/*
51
52 runHook postInstall
53 '';
54
55 postFixup = ''
56 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
57 $out/bin/lisp
58 '';
59
60 meta = with lib; {
61 description = "CMU implementation of Common Lisp";
62 homepage = "http://www.cons.org/cmucl/";
63 license = licenses.publicDomain;
64 longDescription = ''
65 CMUCL is a free implementation of the Common Lisp programming language
66 which runs on most major Unix platforms. It mainly conforms to the
67 ANSI Common Lisp standard.
68 '';
69 mainProgram = "lisp";
70 teams = [ lib.teams.lisp ];
71 platforms = [
72 "i686-linux"
73 "x86_64-linux"
74 ];
75 };
76})