1{
2 lib,
3 stdenv,
4 fetchurl,
5 makeWrapper,
6 cfg,
7}:
8
9stdenv.mkDerivation rec {
10 pname = "sbcl-bootstrap";
11 inherit (cfg) version;
12
13 src = fetchurl {
14 url = "mirror://sourceforge/project/sbcl/sbcl/${version}/sbcl-${version}-${cfg.system}-binary.tar.bz2";
15 inherit (cfg) sha256;
16 };
17
18 nativeBuildInputs = [ makeWrapper ];
19
20 installPhase = ''
21 mkdir -p $out/bin
22 cp -p src/runtime/sbcl $out/bin
23
24 mkdir -p $out/share/sbcl
25 cp -p src/runtime/sbcl $out/share/sbcl
26 cp -p output/sbcl.core $out/share/sbcl
27 mkdir -p $out/bin
28 makeWrapper $out/share/sbcl/sbcl $out/bin/sbcl \
29 --add-flags "--core $out/share/sbcl/sbcl.core"
30 '';
31
32 postFixup = lib.optionalString (!stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isLinux) ''
33 patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $out/share/sbcl/sbcl
34 '';
35
36 meta.sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
37}