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

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

42 lines
1.3 KiB
Nix
Raw Normal View History

2022-12-19 23:00:00 +00:00
{ lib, newScope, fetchzip }:
2018-11-14 03:17:50 +00:00
let
callPackage = newScope self;
2022-12-19 23:00:00 +00:00
self = with lib; {
2018-11-14 03:17:50 +00:00
pkgs = self;
2022-12-19 23:00:00 +00:00
fetchegg = { name, version, sha256, ... }:
fetchzip {
inherit sha256;
name = "chicken-${name}-${version}-source";
url =
"https://code.call-cc.org/egg-tarballs/5/${name}/${name}-${version}.tar.gz";
};
2018-11-14 03:17:50 +00:00
eggDerivation = callPackage ./eggDerivation.nix { };
chicken = callPackage ./chicken.nix {
bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
};
2022-12-19 23:00:00 +00:00
chickenEggs = recurseIntoAttrs (mapAttrs (name:
eggData@{ version, synopsis, dependencies, license, ... }:
self.eggDerivation {
name = "chicken-${name}-${version}";
src = self.fetchegg (eggData // { inherit name; });
buildInputs = map (x: self.chickenEggs.${x}) dependencies;
meta.homepage =
"https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=tree;f=${name}/${version}";
meta.description = synopsis;
meta.license = (licenses // {
"bsd-2-clause" = licenses.bsd2;
"bsd-3-clause" = licenses.bsd3;
"public-domain" = licenses.publicDomain;
}).${license} or license;
}) (importJSON ./deps.json));
2018-11-14 03:17:50 +00:00
egg2nix = callPackage ./egg2nix.nix { };
};
in lib.recurseIntoAttrs self