nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{lib, stdenv, fetchurl, ant, jre, jdk}:
2stdenv.mkDerivation rec {
3 pname = "abcl";
4 version = "1.8.0";
5 # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
6 src = fetchurl {
7 url = "https://common-lisp.net/project/armedbear/releases/${version}/${pname}-src-${version}.tar.gz";
8 sha256 = "0zr5mmqyj484vza089l8vc88d07g0m8ymxzglvar3ydwyvi1x1qx";
9 };
10 configurePhase = ''
11 mkdir nix-tools
12 export PATH="$PWD/nix-tools:$PATH"
13 echo "echo nix-builder.localdomain" > nix-tools/hostname
14 chmod a+x nix-tools/*
15
16 hostname
17 '';
18 buildPhase = ''
19 ant
20 '';
21 # Fix for https://github.com/armedbear/abcl/issues/484
22 javaOpts =
23 lib.optionalString
24 (lib.versionAtLeast jre.version "17")
25 "--add-opens=java.base/java.util.jar=ALL-UNNAMED";
26 installPhase = ''
27 mkdir -p "$out"/{bin,share/doc/abcl,lib/abcl}
28 cp -r README COPYING CHANGES examples/ "$out/share/doc/abcl/"
29 cp -r dist/*.jar contrib/ "$out/lib/abcl/"
30
31 echo "#! ${stdenv.shell}" >> "$out/bin/abcl"
32 echo "${jre}/bin/java $javaOpts -cp \"$out/lib/abcl/abcl.jar:$out/lib/abcl/abcl-contrib.jar:\$CLASSPATH\" org.armedbear.lisp.Main \"\$@\"" >> "$out/bin/abcl"
33 chmod a+x "$out"/bin/*
34 '';
35 buildInputs = [jre ant jdk jre];
36 meta = {
37 description = "A JVM-based Common Lisp implementation";
38 license = lib.licenses.gpl3 ;
39 maintainers = [lib.maintainers.raskin];
40 platforms = lib.platforms.linux;
41 homepage = "https://common-lisp.net/project/armedbear/";
42 };
43}