about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/chicken/5/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-09-01 11:51:02 +0000
committerAlyssa Ross <hi@alyssa.is>2023-09-01 11:51:02 +0000
commitaa4353b499e6950b7333578f936455a628145c31 (patch)
treec6332cedece2327a18d08794755b3fc0f9f1905b /nixpkgs/pkgs/development/compilers/chicken/5/default.nix
parentac456d475f4e50818499b804359355c0f3b4bbf7 (diff)
parent52185f4d76c18d8348f963795dfed1de018e8dfe (diff)
downloadnixlib-aa4353b499e6950b7333578f936455a628145c31.tar
nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.gz
nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.bz2
nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.lz
nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.xz
nixlib-aa4353b499e6950b7333578f936455a628145c31.tar.zst
nixlib-aa4353b499e6950b7333578f936455a628145c31.zip
Merge https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/chicken/5/default.nix')
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/5/default.nix66
1 files changed, 34 insertions, 32 deletions
diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/default.nix b/nixpkgs/pkgs/development/compilers/chicken/5/default.nix
index 6aed893c97e6..e66b4940ff03 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/5/default.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/5/default.nix
@@ -1,40 +1,42 @@
 { lib, newScope, fetchurl }:
-let
-  callPackage = newScope self;
 
-  self = with lib; {
-    inherit callPackage;
+lib.makeScope newScope (self: {
 
-    fetchegg = { pname, version, sha256, ... }:
-      fetchurl {
-        inherit sha256;
-        url =
-          "https://code.call-cc.org/egg-tarballs/5/${pname}/${pname}-${version}.tar.gz";
-      };
-
-    eggDerivation = callPackage ./eggDerivation.nix { };
-
-    chicken = callPackage ./chicken.nix {
-      bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
+  fetchegg = { pname, version, sha256, ... }:
+    fetchurl {
+      inherit sha256;
+      url =
+        "https://code.call-cc.org/egg-tarballs/5/${pname}/${pname}-${version}.tar.gz";
     };
 
-    chickenEggs = recurseIntoAttrs (mapAttrs (pname:
-      eggData@{ version, synopsis, dependencies, license, ... }:
-      self.eggDerivation {
-        name = "${pname}-${version}";
-        src = self.fetchegg (eggData // { inherit pname; });
-        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=${pname}/${version}";
-        meta.description = synopsis;
-        meta.license = (licenses // {
-          "bsd-2-clause" = licenses.bsd2;
-          "bsd-3-clause" = licenses.bsd3;
-          "public-domain" = licenses.publicDomain;
-        }).${license} or license;
-      }) (importTOML ./deps.toml));
+  eggDerivation = self.callPackage ./eggDerivation.nix { };
 
-    egg2nix = callPackage ./egg2nix.nix { };
+  chicken = self.callPackage ./chicken.nix {
+    bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
   };
 
-in lib.recurseIntoAttrs self
+  chickenEggs = lib.recurseIntoAttrs (lib.makeScope self.newScope (eggself:
+    (lib.mapAttrs
+      (pname:
+        eggData@{ version, synopsis, dependencies, license, ... }:
+        self.eggDerivation {
+          name = "${pname}-${version}";
+          src = self.fetchegg (eggData // { inherit pname; });
+          buildInputs = map (x: eggself.${x}) dependencies;
+          meta.homepage =
+            "https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=tree;f=${pname}/${version}";
+          meta.description = synopsis;
+          meta.license = (lib.licenses // {
+            "bsd-1-clause" = lib.licenses.bsd1;
+            "bsd-2-clause" = lib.licenses.bsd2;
+            "bsd-3-clause" = lib.licenses.bsd3;
+            "lgpl-2.0+" = lib.licenses.lgpl2Plus;
+            "lgpl-2.1-or-later" = lib.licenses.lgpl21Plus;
+            "public-domain" = lib.licenses.publicDomain;
+          }).${license} or license;
+        })
+      (lib.importTOML ./deps.toml))));
+
+  egg2nix = self.callPackage ./egg2nix.nix { };
+
+})