blob: 7678c066df28f3ebb1036ec6530cc0a78074bfdd (
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
42
43
44
45
46
47
48
49
|
a :
let
buildInputs = with a; [
];
in
rec {
version = "1.8";
name = "ccl-${version}";
/* There are also MacOS and FreeBSD and Windows versions */
src = a.fetchurl {
url = "ftp://ftp.clozure.com/pub/release/${version}/${name}-linuxx86.tar.gz";
sha256 = "1dgg6a8i2csa6xidsq66hbw7zx62gm2178hpkp88yyzgxylszp01";
};
inherit buildInputs;
configureFlags = [];
/* doConfigure should be removed if not needed */
phaseNames = ["doUnpack" "doPatchElf" "doCopy"];
doCopy = a.fullDepEntry ''
mkdir -p "$out/share"
cp -r . "$out/share/ccl-installation"
mkdir -p "$out/bin"
for i in $(find . -maxdepth 1 -type f -perm +111); do
echo -e '#! /bin/sh\n'"$out/share/ccl-installation/$(basename "$i")"'"$@"\n' > "$out"/bin/"$(basename "$i")"
chmod a+x "$out"/bin/"$(basename "$i")"
done
'' ["minInit" "doUnpack" "defEnsureDir"];
doPatchElf = a.fullDepEntry ''
patchelfFile="$(type -P patchelf)"
goodInterp="$(patchelf --print-interpreter "$patchelfFile")"
find . -type f -perm +111 -exec patchelf --set-interpreter "$goodInterp" '{}' ';'
'' ["minInit" "doUnpack"];
meta = {
description = "Clozure Common Lisp";
maintainers = [
a.lib.maintainers.raskin
];
platforms = with a.lib.platforms;
linux;
};
}
|