nixpkgs/pkgs/development/compilers/graalvm/community-edition/default.nix
Thiago Kenji Okada 5c9a866551 graalvmXX-ce: add sourcesPath parameter
In #168816, we removed support for Python/Ruby/WASM to reduce the
support burden of GraalVM languages that, arguably, are not really being
used.

However, the way that `pkgs.graalvmCEPackages.mkGraal` function works
right now doesn't allow passing a custom sources file, that would allow
someone to compile GraalVM with the additional products (e.g.: Python).
This PR adds this possibility.

So if someone wants to create a custom graalvm11-ce derivation with
Python support, for example, they can do something like this:

```nix
let
   graalvm11-ce-custom = pkgs.graalvmCEPackages.mkGraal {
      config = {
         x86_64-linux = {
            products = [ "graalvm-ce" "python-installable-svm" ];
            arch = "linux-amd64";
         };
      };
      defaultVersion = "22.0.0.2";
      javaVersion = "11";
      platforms = "x86_64-linux";
      sourcesPath = /home/someone/graalvm11-ce-sources.json;
   };
in
{
   environment.systemPackages = [ graalvm11-ce-custom ];
}
```
2022-04-16 12:59:54 +01:00

80 lines
1.8 KiB
Nix

{ callPackage, Foundation }:
/*
Add new graal versions and products here and then see update.nix on how to
generate the sources.
*/
let
mkGraal = opts: callPackage (import ./mkGraal.nix opts) {
inherit Foundation;
};
/*
Looks a bit ugly but makes version update in the update script using sed
much easier
*/
graalvm11-ce-release-version = "22.0.0.2";
graalvm17-ce-release-version = "22.0.0.2";
graalvm11-ce-dev-version = "22.2.0-dev-20220415_1945";
graalvm17-ce-dev-version = "22.2.0-dev-20220415_1945";
products = [
"graalvm-ce"
"native-image-installable-svm"
];
in
{
inherit mkGraal;
graalvm11-ce = mkGraal rec {
config = {
x86_64-darwin = {
inherit products;
arch = "darwin-amd64";
};
x86_64-linux = {
inherit products;
arch = "linux-amd64";
};
aarch64-darwin = {
inherit products;
arch = "darwin-aarch64";
version = graalvm11-ce-dev-version;
};
aarch64-linux = {
inherit products;
arch = "linux-aarch64";
};
};
defaultVersion = graalvm11-ce-release-version;
javaVersion = "11";
platforms = builtins.attrNames config;
};
graalvm17-ce = mkGraal rec {
config = {
x86_64-darwin = {
inherit products;
arch = "darwin-amd64";
};
x86_64-linux = {
inherit products;
arch = "linux-amd64";
};
aarch64-darwin = {
inherit products;
arch = "darwin-aarch64";
version = graalvm17-ce-dev-version;
};
aarch64-linux = {
inherit products;
arch = "linux-aarch64";
};
};
defaultVersion = graalvm17-ce-release-version;
javaVersion = "17";
platforms = builtins.attrNames config;
};
}