From 6469970155d48f27ce333087f7ca9d6d88522ad3 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Sun, 30 Apr 2023 14:56:44 +0800 Subject: [PATCH] ruby_3_2: only enable yjit on supported platforms --- pkgs/development/interpreters/ruby/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 702780b999b3..806b1382bf9e 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -23,6 +23,8 @@ let atLeast30 = lib.versionAtLeast ver.majMin "3.0"; atLeast31 = lib.versionAtLeast ver.majMin "3.1"; atLeast32 = lib.versionAtLeast ver.majMin "3.2"; + # https://github.com/ruby/ruby/blob/v3_2_2/yjit.h#L21 + yjitSupported = atLeast32 && (stdenv.hostPlatform.isx86_64 || (!stdenv.hostPlatform.isWindows && stdenv.hostPlatform.isAarch64)); self = lib.makeOverridable ( { stdenv, buildPackages, lib , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub @@ -46,7 +48,7 @@ let # $(nix-build -A ruby)/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb # - In $out/lib/libruby.so and/or $out/lib/libruby.dylib , removeReferencesTo, jitSupport ? yjitSupport - , rustPlatform, yjitSupport ? atLeast32 + , rustPlatform, yjitSupport ? yjitSupported , autoreconfHook, bison, autoconf , buildEnv, bundler, bundix , libiconv, libobjc, libunwind, Foundation