cmucl_binary: 21b -> 21d

And a complete rewite of this somewhat old expression.
This commit is contained in:
AndersonTorres 2022-10-23 12:06:33 -03:00
parent 925c0fa54a
commit 9df05da28f

View file

@ -1,44 +1,62 @@
{lib, stdenv, fetchurl}: { lib
, stdenv
, fetchurl
, installShellFiles
}:
let stdenv.mkDerivation (finalAttrs: {
inherit (stdenv.hostPlatform) system;
version = "21b";
downloadUrl = arch:
"http://common-lisp.net/project/cmucl/downloads/release/" +
"${version}/cmucl-${version}-${arch}.tar.bz2";
fetchDist = {arch, sha256}: fetchurl {
url = downloadUrl arch;
inherit sha256;
};
dist =
if system == "i686-linux" then fetchDist {
arch = "x86-linux";
sha256 = "13k3b5ygnbsq6n2i3r5i4ljw3r1qlskn2p5f4x9hrx6vfvbb3k7a";
}
else throw "Unsupported platform for cmucl.";
in
stdenv.mkDerivation {
pname = "cmucl-binary"; pname = "cmucl-binary";
inherit version; version = "21d";
buildCommand = '' srcs = [
mkdir -p $out (fetchurl {
tar -C $out -xjf ${dist} url = "http://common-lisp.net/project/cmucl/downloads/release/"
+ finalAttrs.version + "/cmucl-${finalAttrs.version}-x86-linux.tar.bz2";
hash = "sha256-RdctcqPTtQh1Yb3BrpQ8jtRFQn85OcwOt1l90H6xDZs=";
})
(fetchurl {
url = "http://common-lisp.net/project/cmucl/downloads/release/"
+ finalAttrs.version + "/cmucl-${finalAttrs.version}-x86-linux.extra.tar.bz2";
hash = "sha256-zEmiW3m5VPpFgPxV1WJNCqgYRlHMovtaMXcgXyNukls=";
})];
sourceRoot = ".";
outputs = [ "out" "doc" "man" ];
nativeBuildInputs = [
installShellFiles
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -pv $out $doc/share $man
mv bin lib -t $out
mv -v doc -t $doc/share
installManPage man/man1/*
runHook postInstall
'';
postFixup = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/bin/lisp $out/bin/lisp
''; '';
meta = { meta = with lib; {
homepage = "http://www.cons.org/cmucl/";
description = "The CMU implementation of Common Lisp"; description = "The CMU implementation of Common Lisp";
longDescription = '' longDescription = ''
CMUCL is a free implementation of the Common Lisp programming language CMUCL is a free implementation of the Common Lisp programming language
which runs on most major Unix platforms. It mainly conforms to the which runs on most major Unix platforms. It mainly conforms to the
ANSI Common Lisp standard. ANSI Common Lisp standard.
''; '';
license = lib.licenses.free; # public domain license = licenses.publicDomain;
homepage = "http://www.cons.org/cmucl/";
maintainers = [ ]; maintainers = [ ];
platforms = lib.platforms.linux; platforms = [ "i686-linux" "x86_64-linux" ];
}; };
} })