about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTor Hedin Brønner <torhedinbronner@gmail.com>2018-09-06 08:02:16 +0200
committerJan Tojnar <jtojnar@gmail.com>2018-11-30 21:34:46 +0100
commite09e735a09f47d087a47982e050a58d041f89ba5 (patch)
treead9c197936aa3e51e3d6f1ba2793308307b1eeb2
parentbd2c80a42efbde6d29e722abd206a0fcd45b1683 (diff)
downloadnixlib-e09e735a09f47d087a47982e050a58d041f89ba5.tar
nixlib-e09e735a09f47d087a47982e050a58d041f89ba5.tar.gz
nixlib-e09e735a09f47d087a47982e050a58d041f89ba5.tar.bz2
nixlib-e09e735a09f47d087a47982e050a58d041f89ba5.tar.lz
nixlib-e09e735a09f47d087a47982e050a58d041f89ba5.tar.xz
nixlib-e09e735a09f47d087a47982e050a58d041f89ba5.tar.zst
nixlib-e09e735a09f47d087a47982e050a58d041f89ba5.zip
spidermonkey_60: init at 60.3.0
A new test checks and fails if we're building in js/src, so we create a build
dir like Arch does.
-rw-r--r--pkgs/desktops/gnome-3/core/gjs/default.nix4
-rw-r--r--pkgs/development/interpreters/spidermonkey/60.nix56
-rw-r--r--pkgs/top-level/all-packages.nix1
3 files changed, 59 insertions, 2 deletions
diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/desktops/gnome-3/core/gjs/default.nix
index 4aa12000e116..43048fc43996 100644
--- a/pkgs/desktops/gnome-3/core/gjs/default.nix
+++ b/pkgs/desktops/gnome-3/core/gjs/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, gnome3, gtk3, atk, gobjectIntrospection
-, spidermonkey_52, pango, readline, glib, libxml2, dbus, gdk_pixbuf
+, spidermonkey_60, pango, readline, glib, libxml2, dbus, gdk_pixbuf
 , makeWrapper }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig makeWrapper ];
   buildInputs = [ libxml2 gobjectIntrospection gtk3 glib pango readline dbus ];
 
-  propagatedBuildInputs = [ spidermonkey_52 ];
+  propagatedBuildInputs = [ spidermonkey_60 ];
 
   configureFlags = [
     "--enable-installed-tests"
diff --git a/pkgs/development/interpreters/spidermonkey/60.nix b/pkgs/development/interpreters/spidermonkey/60.nix
new file mode 100644
index 000000000000..de65006be95a
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/60.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, python2, zip, which, readline, icu, zlib, nspr }:
+
+let
+  version = "60.3.0";
+in stdenv.mkDerivation rec {
+  name = "spidermonkey-${version}";
+
+  src = fetchurl {
+    url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
+    sha256 = "0qak5gmkx8xm88xgnxdmj4z7sivbbvmg2v029fp9q5ms38cg6rjm";
+  };
+
+  buildInputs = [ readline icu zlib nspr ];
+  nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
+
+  patches = [
+    (fetchpatch {
+      url = https://bug1415202.bmoattachments.org/attachment.cgi?id=8926363;
+      sha256 = "082ryrvqa3lvs67v3sq9kf2jshf4qp1fpi195wffc40jdrl8fnin";
+    })
+  ];
+
+  preConfigure = ''
+    export CXXFLAGS="-fpermissive"
+    export LIBXUL_DIST=$out
+    export PYTHON="${python2.interpreter}"
+
+    # We can't build in js/src/, so create a build dir
+    mkdir obj
+    cd obj/
+    configureScript=../js/src/configure
+  '';
+
+  # We need the flags specified here for gjs:
+  # https://gitlab.gnome.org/GNOME/gnome-sdk-images/blob/bc8829439a4f1019d0c56a293ddd84e936fdf9f9/org.gnome.Sdk.json.in#L744
+  configureFlags = [
+    "--with-system-zlib"
+    "--with-system-icu"
+    "--with-intl-api"
+    "--enable-readline"
+    "--enable-shared-js"
+    "--enable-posix-nspr-emulation"
+    "--disable-jemalloc"
+    "--enable-release"
+  ];
+
+  enableParallelBuilding = true;
+
+  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;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c8a25f0209e2..e9775212f830 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7993,6 +7993,7 @@ with pkgs;
       stdenv = overrideCC stdenv gcc6; # 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_31;
 
   ssm-agent = callPackage ../applications/networking/cluster/ssm-agent { };