diff options
Diffstat (limited to 'pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix')
-rw-r--r-- | pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix b/pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix new file mode 100644 index 00000000000..95e9c56fc23 --- /dev/null +++ b/pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix @@ -0,0 +1,38 @@ +{ lib +, stdenv +, fetchurl +, graalvmCEPackages +, libyaml +, openssl +}: + +graalvmCEPackages.buildGraalvmProduct { + src = fetchurl (import ./hashes.nix).hashes.${stdenv.system}; + version = (import ./hashes.nix).version; + + product = "truffleruby"; + + extraBuildInputs = [ + libyaml + openssl + ]; + + preFixup = lib.optionalString stdenv.isLinux '' + patchelf $out/lib/mri/openssl.so \ + --replace-needed libssl.so.10 libssl.so \ + --replace-needed libcrypto.so.10 libcrypto.so + ''; + + doInstallCheck = true; + installCheckPhase = '' + echo "Testing TruffleRuby" + # Fixup/silence warnings about wrong locale + export LANG=C + export LC_ALL=C + $out/bin/ruby -e 'puts(1 + 1)' + ${# broken in darwin with sandbox enabled + lib.optionalString stdenv.isLinux '' + echo '1 + 1' | $out/bin/irb + ''} + ''; +} |