nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 90 lines 2.9 kB view raw
1{ 2 lib, 3 newScope, 4 fetchurl, 5}: 6let 7 # Some eggs mistakenly declare dependencies on modules which are part of chicken itself and thus 8 # need not (and cannot) be installed as eggs. Instead of marking such eggs as broken, we remove 9 # these invalid dependencies. 10 invalidDependencies = [ 11 "srfi-4" 12 ]; 13in 14lib.makeScope newScope (self: { 15 16 fetchegg = 17 { 18 pname, 19 version, 20 sha256, 21 ... 22 }: 23 fetchurl { 24 inherit sha256; 25 url = "https://code.call-cc.org/egg-tarballs/5/${pname}/${pname}-${version}.tar.gz"; 26 }; 27 28 eggDerivation = self.callPackage ./eggDerivation.nix { }; 29 30 chicken = self.callPackage ./chicken.nix { 31 bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; }; 32 }; 33 34 chickenEggs = lib.recurseIntoAttrs ( 35 lib.makeScope self.newScope ( 36 eggself: 37 (lib.mapAttrs ( 38 pname: 39 eggData@{ 40 version, 41 synopsis, 42 dependencies, 43 license, 44 ... 45 }: 46 self.eggDerivation { 47 inherit pname version; 48 src = self.fetchegg (eggData // { inherit pname; }); 49 buildInputs = map (x: eggself.${x}) (lib.subtractLists invalidDependencies dependencies); 50 meta.homepage = "https://wiki.call-cc.org/eggref/5/${pname}"; 51 meta.description = synopsis; 52 meta.license = 53 ( 54 lib.licenses 55 // { 56 "agpl" = lib.licenses.agpl3Only; 57 "artistic" = lib.licenses.artistic2; 58 "bsd" = lib.licenses.bsd3; 59 "bsd-1-clause" = lib.licenses.bsd1; 60 "bsd-2-clause" = lib.licenses.bsd2; 61 "bsd-3" = lib.licenses.bsd3; 62 "bsd-3-clause" = lib.licenses.bsd3; 63 "gpl" = lib.licenses.gpl3Only; 64 "gpl-2" = lib.licenses.gpl2Only; 65 "gplv2" = lib.licenses.gpl2Only; 66 "gpl-3" = lib.licenses.gpl3Only; 67 "gpl-3.0" = lib.licenses.gpl3Only; 68 "gplv3" = lib.licenses.gpl3Only; 69 "lgpl" = lib.licenses.lgpl3Only; 70 "lgpl-2" = lib.licenses.lgpl2Only; 71 "lgpl-2.0+" = lib.licenses.lgpl2Plus; 72 "lgpl-2.1" = lib.licenses.lgpl21Only; 73 "lgpl-2.1-or-later" = lib.licenses.lgpl21Plus; 74 "lgpl-3" = lib.licenses.lgpl3Only; 75 "lgplv3" = lib.licenses.lgpl3Only; 76 "public-domain" = lib.licenses.publicDomain; 77 "srfi" = lib.licenses.bsd3; 78 "unicode" = lib.licenses.ucd; 79 "unknown" = lib.licenses.free; 80 "zlib-acknowledgement" = lib.licenses.zlib; 81 } 82 ).${license} or license; 83 } 84 ) (lib.importTOML ./deps.toml)) 85 ) 86 ); 87 88 egg2nix = self.callPackage ./egg2nix.nix { }; 89 90})