From eb72906168b24bffe342ee3e03a9149b64916f2f Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 21 Aug 2025 23:39:07 +0800 Subject: [PATCH] spidermonkey_140: init at 140.2.0 --- .../interpreters/spidermonkey/140.nix | 4 ++++ .../interpreters/spidermonkey/common.nix | 23 ++++++++++++++++++- pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/interpreters/spidermonkey/140.nix diff --git a/pkgs/development/interpreters/spidermonkey/140.nix b/pkgs/development/interpreters/spidermonkey/140.nix new file mode 100644 index 000000000000..48b9a6fb289e --- /dev/null +++ b/pkgs/development/interpreters/spidermonkey/140.nix @@ -0,0 +1,4 @@ +import ./common.nix { + version = "140.2.0"; + hash = "sha512-5Fl8TYOuGoT86SSP5splKvbDYVYH/IlzvZF7/b0qu87Kk3/kxinAzcifoKXIRrXi2KS0Tav3/rIB3rOC3gzMWw=="; +} diff --git a/pkgs/development/interpreters/spidermonkey/common.nix b/pkgs/development/interpreters/spidermonkey/common.nix index be2a146097ad..46831d9ec46d 100644 --- a/pkgs/development/interpreters/spidermonkey/common.nix +++ b/pkgs/development/interpreters/spidermonkey/common.nix @@ -24,6 +24,7 @@ # runtime icu75, + icu77, nspr, readline, zlib, @@ -65,6 +66,14 @@ stdenv.mkDerivation (finalAttrs: { url = "https://src.fedoraproject.org/rpms/mozjs91/raw/e3729167646775e60a3d8c602c0412e04f206baf/f/0001-Python-Build-Use-r-instead-of-rU-file-read-modes.patch"; hash = "sha256-WgDIBidB9XNQ/+HacK7jxWnjOF8PEUt5eB0+Aubtl48="; }) + ] + ++ lib.optionals (lib.versionAtLeast version "140") [ + # mozjs-140.pc does not contain -DXP_UNIX on Linux + # https://bugzilla.mozilla.org/show_bug.cgi?id=1973994 + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/mozjs140/raw/49492baa47bc1d7b7d5bc738c4c81b4661302f27/f/9aa8b4b051dd539e0fbd5e08040870b3c712a846.patch"; + hash = "sha256-SsyO5g7wlrxE7y2+VTHfmUDamofeZVqge8fv2y0ZhuU="; + }) ]; nativeBuildInputs = [ @@ -89,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - icu75 + (if (lib.versionAtLeast version "140") then icu77 else icu75) nspr readline zlib @@ -120,6 +129,12 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals (lib.versionAtLeast version "91") [ "--disable-debug" ] + ++ lib.optionals (lib.versionAtLeast version "140") [ + # For pkgconfig file. + # https://bugzilla.mozilla.org/show_bug.cgi?id=1907030 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1957023 + "--includedir=${placeholder "dev"}/include" + ] ++ [ "--disable-jemalloc" "--disable-strip" @@ -177,6 +192,11 @@ stdenv.mkDerivation (finalAttrs: { configureScript=../js/src/configure ''; + env = lib.optionalAttrs (lib.versionAtLeast version "140") { + # '-Wformat-security' ignored without '-Wformat' + NIX_CFLAGS_COMPILE = "-Wformat"; + }; + # Remove unnecessary static lib preFixup = '' moveToOutput bin/js${lib.versions.major version}-config "$dev" @@ -196,6 +216,7 @@ stdenv.mkDerivation (finalAttrs: { abbradar lostnet catap + bobby285271 ]; broken = stdenv.hostPlatform.isDarwin; # 91 is broken, >=115 requires SDK 13.3 (see #242666). platforms = platforms.unix; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c60ad7b5884..3176791f7d24 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6545,10 +6545,12 @@ with pkgs; spidermonkey_91 = callPackage ../development/interpreters/spidermonkey/91.nix { }; spidermonkey_115 = callPackage ../development/interpreters/spidermonkey/115.nix { }; spidermonkey_128 = callPackage ../development/interpreters/spidermonkey/128.nix { }; + spidermonkey_140 = callPackage ../development/interpreters/spidermonkey/140.nix { }; }) spidermonkey_91 spidermonkey_115 spidermonkey_128 + spidermonkey_140 ; supercollider = libsForQt5.callPackage ../development/interpreters/supercollider {