racket-nix/overlay.nix

28 lines
957 B
Nix

final: prev: let
names = builtins.readDir ./racket-catalog |> final.lib.attrNames;
byName = self:
final.lib.map (name: {
inherit name;
value = self.callPackage ./racket-catalog/${name} {};
}) names |>
final.lib.listToAttrs;
in {
racket-minimal = final.callPackage ./racket/minimal.nix {};
racket = final.callPackage ./racket/package.nix {};
instrumentedFetch = drv: drv.overrideAttrs (afinal: aprev: {
postFetch = (aprev.postFetch or "") + ''
printf "FETCH_HASH:%s:FETCH_HASH" "$(\
${final.lib.getExe final.nix} --extra-experimental-features "nix-command" \
hash path --sri "$out")"
'';
});
racketPackages = final.lib.makeScope final.newScope (self: {
racketInstallHook = self.callPackage ./racket-install-hook.nix {};
buildRacketPackage = self.callPackage ./build-racket-package.nix {};
makeRacketEnv = self.callPackage ./make-racket-env.nix {};
} // (byName self));
}