Merge pull request #71174 from hedning/spidermonkey_60-bump

Spidermonkey 60 bump
This commit is contained in:
worldofpeace 2019-10-19 00:07:09 +00:00 committed by GitHub
commit 673a73602f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 87 deletions

View File

@ -1,82 +0,0 @@
{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, zip, which, readline, icu, zlib, nspr, buildPackages }:
let
version = "52.9.0";
in stdenv.mkDerivation {
pname = "spidermonkey";
inherit version;
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
sha256 = "1mlx34fgh1kaqamrkl5isf0npch3mm6s4lz3jsjb7hakiijhj7f0";
};
outputs = [ "out" "dev" ];
setOutputFlags = false; # Configure script only understands --includedir
buildInputs = [ readline icu zlib nspr ];
nativeBuildInputs = [ autoconf213 pkgconfig perl which buildPackages.python2 zip ];
# Apparently this package fails to build correctly with modern compilers, which at least
# on ARMv6 causes polkit testsuite to break with an assertion failure in spidermonkey.
# These flags were stolen from:
# https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/js52
NIX_CFLAGS_COMPILE = "-fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp";
patches = [
# needed to build gnome3.gjs
(fetchpatch {
name = "mozjs52-disable-mozglue.patch";
url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/mozjs52-disable-mozglue.patch?h=packages/js52&id=4279d2e18d9a44f6375f584911f63d13de7704be;
sha256 = "18wkss0agdyff107p5lfflk72qiz350xqw2yqc353alkx4fsfpz0";
})
];
configurePlatforms = [ ];
preConfigure = ''
export CXXFLAGS="-fpermissive"
export LIBXUL_DIST=$out
export PYTHON="${buildPackages.python2.interpreter}"
configureFlagsArray+=("--includedir=$dev/include")
cd js/src
autoconf
'';
configureFlags = [
"--with-nspr-prefix=${nspr}"
"--with-system-zlib"
"--with-system-icu"
"--with-intl-api"
"--enable-readline"
"--enable-shared-js"
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-jemalloc"
++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"--host=${stdenv.buildPlatform.config}"
"--target=${stdenv.hostPlatform.config}"
];
makeFlags = [
"HOST_CC=${buildPackages.stdenv.cc}/bin/cc"
];
depsBuildBuild = [ buildPackages.stdenv.cc ];
enableParallelBuilding = true;
postInstall = ''
moveToOutput bin/js52-config "$dev"
# Nuke a static lib.
rm $out/lib/libjs_static.ajs
'';
meta = with stdenv.lib; {
description = "Mozilla's JavaScript engine written in C/C++";
homepage = https://developer.mozilla.org/en/SpiderMonkey;
license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
maintainers = [ maintainers.abbradar ];
platforms = platforms.linux;
};
}

View File

@ -4,23 +4,28 @@
with stdenv.lib;
let
version = "60.4.0";
version = "60.9.0";
in stdenv.mkDerivation {
pname = "spidermonkey";
inherit version;
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
sha256 = "11gzxd82grc3kg1ha4yni6ag6b97n46qycvv6x15s91ziia5hli0";
sha256 = "0gy5x2rnnbkqmjd9sq93s3q5na9nkba68xwpizild7k6qn63qicz";
};
outputs = [ "out" "dev" ];
setOutputFlags = false; # Configure script only understands --includedir
buildInputs = [ readline zlib icu ];
nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
patches = [
# Fixed in 62.0
# https://bugzilla.mozilla.org/show_bug.cgi?id=1415202
(fetchpatch {
url = https://bug1415202.bmoattachments.org/attachment.cgi?id=8926363;
sha256 = "082ryrvqa3lvs67v3sq9kf2jshf4qp1fpi195wffc40jdrl8fnin";
url = "https://src.fedoraproject.org/rpms/mozjs60/raw/a1b605c73f382db25977cb2d4d70a3ba2ff85b92/f/Always-use-the-equivalent-year-to-determine-the-time-zone.patch";
sha256 = "12i225qbzlyfj2disms50zrr5jy8zgn2cc4rgsg58sfgf1bn7150";
})
];
@ -61,7 +66,9 @@ in stdenv.mkDerivation {
# Remove unnecessary static lib
preFixup = ''
moveToOutput bin/js60-config "$dev"
rm $out/lib/libjs_static.ajs
ln -s $out/bin/js60 $out/bin/js
'';
enableParallelBuilding = true;

View File

@ -349,6 +349,7 @@ mapAliases ({
speedtest_cli = speedtest-cli; # added 2015-02-17
spice_gtk = spice-gtk; # added 2018-02-25
spice_protocol = spice-protocol; # added 2018-02-25
spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_60 instead."; # added 2019-10-16
sqlite3_analyzer = sqlite-analyzer; # added 2018-05-22
sqliteInteractive = sqlite-interactive; # added 2014-12-06
squid4 = squid; # added 2019-08-22

View File

@ -9055,7 +9055,6 @@ in
} // (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
}));
spidermonkey_52 = callPackage ../development/interpreters/spidermonkey/52.nix { };
spidermonkey_60 = callPackage ../development/interpreters/spidermonkey/60.nix { };
spidermonkey = spidermonkey_38;