nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix

63 lines
1.8 KiB
Nix
Raw Normal View History

2014-10-17 16:26:36 +01:00
{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }:
2013-03-26 14:52:54 +00:00
let
version = "5.1.0";
platform = with stdenv;
if isDarwin then "macosx"
else if isCygwin then "cygwin"
2015-02-25 03:15:51 +00:00
else if (isFreeBSD || isOpenBSD) then "bsd"
else if isSunOS then "solaris"
2015-02-25 03:15:51 +00:00
else "linux"; # Should be a sane default
2014-10-09 19:49:15 +01:00
lib = stdenv.lib;
in
stdenv.mkDerivation {
name = "chicken-${version}";
2018-11-14 03:17:50 +00:00
binaryVersion = 9;
2014-10-09 19:49:15 +01:00
2014-06-02 17:15:44 +01:00
src = fetchurl {
url = "https://code.call-cc.org/releases/${version}/chicken-${version}.tar.gz";
sha256 = "0jsbp3kp0134f318j3wpd1n85gf8qzh034fn198gvazsv2l024aw";
2014-06-02 17:15:44 +01:00
};
2013-03-26 14:52:54 +00:00
2014-10-09 19:49:15 +01:00
setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
2016-06-25 15:53:21 +01:00
buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
2014-10-17 16:26:36 +01:00
buildInputs = [
makeWrapper
] ++ (lib.ifEnable (bootstrap-chicken != null) [
bootstrap-chicken
2014-10-17 16:26:36 +01:00
]);
2014-10-17 16:26:36 +01:00
postInstall = ''
for f in $out/bin/*
do
wrapProgram $f \
2014-12-26 17:28:15 +00:00
--prefix PATH : ${stdenv.cc}/bin
2014-10-17 16:26:36 +01:00
done
2018-11-14 03:17:50 +00:00
mv $out/var/lib/chicken $out/lib
rmdir $out/var/lib
rmdir $out/var
2014-10-17 16:26:36 +01:00
'';
2014-10-09 19:49:15 +01:00
# TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion
meta = {
homepage = http://www.call-cc.org/;
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
description = "A portable compiler for the Scheme programming language";
longDescription = ''
CHICKEN is a compiler for the Scheme programming language.
CHICKEN produces portable and efficient C, supports almost all
of the R5RS Scheme language standard, and includes many
enhancements and extensions. CHICKEN runs on Linux, macOS,
Windows, and many Unix flavours.
'';
};
2013-03-26 14:52:54 +00:00
}