diff --git a/pkgs/development/interpreters/spidermonkey/128.nix b/pkgs/development/interpreters/spidermonkey/128.nix new file mode 100644 index 000000000000..7a46aafdcd96 --- /dev/null +++ b/pkgs/development/interpreters/spidermonkey/128.nix @@ -0,0 +1,4 @@ +import ./common.nix { + version = "128.1.0"; + hash = "sha512-gFWn+DrPDKthJLpYCa/xwILoGg0w/zGOxxn4/T9K+apg4glMGr1smBGT11EHWpVpNwF24g5Q88GVn+J6FVETiA=="; +} diff --git a/pkgs/development/interpreters/spidermonkey/allow-system-s-nspr-and-icu-on-bootstrapped-sysroot-128.patch b/pkgs/development/interpreters/spidermonkey/allow-system-s-nspr-and-icu-on-bootstrapped-sysroot-128.patch new file mode 100644 index 000000000000..997164dd983f --- /dev/null +++ b/pkgs/development/interpreters/spidermonkey/allow-system-s-nspr-and-icu-on-bootstrapped-sysroot-128.patch @@ -0,0 +1,37 @@ +From a26bb162d9403138d64b84e8fa4f0471084c45b2 Mon Sep 17 00:00:00 2001 +From: "Kirill A. Korinsky" +Date: Fri, 8 Jul 2022 21:21:25 +0200 +Subject: [PATCH] Allow system's nspr and icu on bootstrapped sysroot + +This patch partially reverts https://github.com/mozilla/gecko-dev/commit/9aa3587bbf0416dd2eb5b614f7b301c71c64286b +--- + build/moz.configure/nspr.configure | 2 +- + js/moz.configure | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build/moz.configure/nspr.configure b/build/moz.configure/nspr.configure +index bc6d62982b87a..8346f08b86923 100644 +--- a/build/moz.configure/nspr.configure ++++ b/build/moz.configure/nspr.configure +@@ -19,7 +19,7 @@ def enable_nspr_build(enable): + return enable + + +-system_lib_option( ++option( + "--with-system-nspr", + help="Use system NSPR", + when=use_pkg_config, +diff --git a/js/moz.configure b/js/moz.configure +index 8fb51095876fa..7629b29d33c8f 100644 +--- a/js/moz.configure ++++ b/js/moz.configure +@@ -1296,7 +1296,7 @@ set_define( + + # ECMAScript Internationalization API Support (uses ICU) + # ====================================================== +-system_lib_option( ++option( + "--with-system-icu", + help="Use system ICU", + when=use_pkg_config, diff --git a/pkgs/development/interpreters/spidermonkey/always-check-for-pkg-config-128.patch b/pkgs/development/interpreters/spidermonkey/always-check-for-pkg-config-128.patch new file mode 100644 index 000000000000..334d78c2ac4c --- /dev/null +++ b/pkgs/development/interpreters/spidermonkey/always-check-for-pkg-config-128.patch @@ -0,0 +1,22 @@ +From 9d3f6e9ff5e66af90a5d187d902f7893fb91c24b Mon Sep 17 00:00:00 2001 +From: "Kirill A. Korinsky" +Date: Fri, 1 Jul 2022 12:23:37 +0200 +Subject: [PATCH] Always check for pkg-config + +--- + build/moz.configure/pkg.configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletions(-) + +diff --git a/build/moz.configure/pkg.configure b/build/moz.configure/pkg.configure +index 418331b874f47..09cc40eda03fa 100644 +--- a/build/moz.configure/pkg.configure ++++ b/build/moz.configure/pkg.configure +@@ -12,7 +12,7 @@ def pkg_config(prefixes): + + @depends(compile_environment, target) + def use_pkg_config(compile_environment, target): +- return compile_environment and target.os not in ("WINNT", "OSX", "Android") ++ return compile_environment + + + pkg_config = check_prog( diff --git a/pkgs/development/interpreters/spidermonkey/common.nix b/pkgs/development/interpreters/spidermonkey/common.nix index 8ce6cce575c9..cc1d3923fef9 100644 --- a/pkgs/development/interpreters/spidermonkey/common.nix +++ b/pkgs/development/interpreters/spidermonkey/common.nix @@ -15,6 +15,8 @@ , python3 , python39 , python311 +, rust-cbindgen +, rustPlatform , rustc , which , zip @@ -59,10 +61,14 @@ stdenv.mkDerivation (finalAttrs: rec { # - https://hg.mozilla.org/mozilla-central/rev/ec48f15d085c # - https://hg.mozilla.org/mozilla-central/rev/6803dda74d33 ./add-riscv64-support.patch - ] ++ lib.optionals (lib.versionAtLeast version "102") [ + ] ++ lib.optionals (lib.versionAtLeast version "102" && lib.versionOlder version "128") [ # use pkg-config at all systems ./always-check-for-pkg-config.patch ./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch + ] ++ lib.optionals (lib.versionAtLeast version "128") [ + # rebased version of the above 2 patches + ./always-check-for-pkg-config-128.patch + ./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot-128.patch ] ++ lib.optionals (lib.versionAtLeast version "91" && stdenv.hostPlatform.system == "i686-linux") [ # Fixes i686 build, https://bugzilla.mozilla.org/show_bug.cgi?id=1729459 ./fix-float-i686.patch @@ -94,6 +100,9 @@ stdenv.mkDerivation (finalAttrs: rec { rustc.llvmPackages.llvm # for llvm-objdump which zip + ] ++ lib.optionals (lib.versionAtLeast version "128") [ + rust-cbindgen + rustPlatform.bindgenHook ] ++ lib.optionals (lib.versionOlder version "91") [ autoconf213 yasm # to buid icu? seems weird @@ -161,7 +170,9 @@ stdenv.mkDerivation (finalAttrs: rec { "class JS_PUBLIC_API SharedArrayRawBufferRefs {" ''; - preConfigure = lib.optionalString (lib.versionOlder version "91") '' + preConfigure = lib.optionalString (lib.versionAtLeast version "128") '' + export MOZBUILD_STATE_PATH=$TMPDIR/mozbuild + '' + lib.optionalString (lib.versionOlder version "91") '' export CXXFLAGS="-fpermissive" '' + '' export LIBXUL_DIST=$out diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9e75f53088f2..042e1126b5e6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17116,15 +17116,26 @@ with pkgs; sparkleshare = callPackage ../applications/version-management/sparkleshare { }; - spidermonkey_78 = callPackage ../development/interpreters/spidermonkey/78.nix { - inherit (darwin) libobjc; - }; - spidermonkey_91 = callPackage ../development/interpreters/spidermonkey/91.nix { - inherit (darwin) libobjc; - }; - spidermonkey_115 = callPackage ../development/interpreters/spidermonkey/115.nix { - inherit (darwin) libobjc; - }; + inherit + ({ + spidermonkey_78 = callPackage ../development/interpreters/spidermonkey/78.nix { + inherit (darwin) libobjc; + }; + spidermonkey_91 = callPackage ../development/interpreters/spidermonkey/91.nix { + inherit (darwin) libobjc; + }; + spidermonkey_115 = callPackage ../development/interpreters/spidermonkey/115.nix { + inherit (darwin) libobjc; + }; + spidermonkey_128 = callPackage ../development/interpreters/spidermonkey/128.nix { + inherit (darwin) libobjc; + }; + }) + spidermonkey_78 + spidermonkey_91 + spidermonkey_115 + spidermonkey_128 + ; starlark-rust = callPackage ../development/interpreters/starlark-rust { };