diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix index 2397cce97ea..4a980ec418f 100644 --- a/pkgs/development/interpreters/racket/default.nix +++ b/pkgs/development/interpreters/racket/default.nix @@ -35,8 +35,13 @@ stdenv.mkDerivation rec { name = "racket-${version}"; version = "6.12"; - src = fetchurl { - url = "https://mirror.racket-lang.org/installers/${version}/${name}-src.tgz"; + src = (stdenv.lib.makeOverridable ({ name, sha256 }: + fetchurl rec { + url = "https://mirror.racket-lang.org/installers/${version}/${name}-src.tgz"; + inherit sha256; + } + )) { + inherit name; sha256 = "0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5"; }; diff --git a/pkgs/development/interpreters/racket/minimal.nix b/pkgs/development/interpreters/racket/minimal.nix new file mode 100644 index 00000000000..6bac9a0f341 --- /dev/null +++ b/pkgs/development/interpreters/racket/minimal.nix @@ -0,0 +1,19 @@ +{ racket +}: + +racket.overrideAttrs (oldAttrs: rec { + name = "racket-minimal-${oldAttrs.version}"; + src = oldAttrs.src.override { + inherit name; + sha256 = "0c565jy2y3gjl5lncd5adjsrj8c24p4i062kphv26ni5q1nn5ip5"; + }; + + meta = oldAttrs.meta // { + description = "Racket without bundled packages, such as Dr. Racket."; + longDescription = ''The essential package racket-libs is included, + as well as libraries that live in collections. In particular, raco + and the pkg library are still bundled. + ''; + platforms = [ "x86_64-linux" "aarch64-linux" ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 311a55bc02e..435d728179f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7105,6 +7105,7 @@ with pkgs; # https://github.com/NixOS/nixpkgs/pull/31017#issuecomment-343574769 stdenv = overrideCC stdenv gcc7; }; + racket-minimal = callPackage ../development/interpreters/racket/minimal.nix { }; rakudo = callPackage ../development/interpreters/rakudo { inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;