summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-11-22 11:46:14 +0300
committerGitHub <noreply@github.com>2016-11-22 11:46:14 +0300
commit69e649503f7d8fefff1d86bcab468faa37917473 (patch)
tree6a71a97a28d341ecd533e901b119d43e37fe04bd /pkgs/development
parentd212fc99f4246956fc90e1566d04234850fd2052 (diff)
parent292bb8f4c3048b38b3a7e1804db6ecd433ffbc21 (diff)
downloadnixpkgs-69e649503f7d8fefff1d86bcab468faa37917473.tar
nixpkgs-69e649503f7d8fefff1d86bcab468faa37917473.tar.gz
nixpkgs-69e649503f7d8fefff1d86bcab468faa37917473.tar.bz2
nixpkgs-69e649503f7d8fefff1d86bcab468faa37917473.tar.lz
nixpkgs-69e649503f7d8fefff1d86bcab468faa37917473.tar.xz
nixpkgs-69e649503f7d8fefff1d86bcab468faa37917473.tar.zst
nixpkgs-69e649503f7d8fefff1d86bcab468faa37917473.zip
Merge pull request #20586 from abbradar/spidermonkey
SpiderMonkey cleanup
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix36
-rw-r--r--pkgs/development/interpreters/spidermonkey/1.8.5-arm-flags.patch (renamed from pkgs/development/interpreters/spidermonkey/arm-flags.patch)0
-rw-r--r--pkgs/development/interpreters/spidermonkey/1.8.5-findvanilla.patch (renamed from pkgs/development/interpreters/spidermonkey/findvanilla.patch)0
-rw-r--r--pkgs/development/interpreters/spidermonkey/1.8.5.nix (renamed from pkgs/development/interpreters/spidermonkey/185-1.0.0.nix)12
-rw-r--r--pkgs/development/interpreters/spidermonkey/17.nix (renamed from pkgs/development/interpreters/spidermonkey/17.0.nix)0
-rw-r--r--pkgs/development/interpreters/spidermonkey/24.nix (renamed from pkgs/development/interpreters/spidermonkey/24.2.nix)5
-rw-r--r--pkgs/development/interpreters/spidermonkey/31.nix (renamed from pkgs/development/interpreters/spidermonkey/31.5.nix)6
-rw-r--r--pkgs/development/interpreters/spidermonkey/38.nix61
-rw-r--r--pkgs/development/interpreters/spidermonkey/Makefile.extra10
-rw-r--r--pkgs/development/interpreters/spidermonkey/default.nix37
-rw-r--r--pkgs/development/libraries/polkit/default.nix4
11 files changed, 76 insertions, 95 deletions
diff --git a/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix b/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix
deleted file mode 100644
index 24ba479186e..00000000000
--- a/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchurl, readline, nspr }:
-
-stdenv.mkDerivation rec {
-  version = "1.8.0-rc1";
-  name = "spidermonkey-${version}";
-
-  src = fetchurl {
-    url = "mirror://mozilla/js/js-${version}.tar.gz";
-    sha256 = "374398699ac3fd802d98d642486cf6b0edc082a119c9c9c499945a0bc73e3413";
-  };
-
-  buildInputs = [ readline nspr ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/src";
-
-  hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.isi686 "pic";
-
-  makefileExtra = ./Makefile.extra;
-  makefile = "Makefile.ref";
-
-  patchPhase =
-    ''
-      cat ${makefileExtra} >> ${makefile}
-      sed -e 's/ -ltermcap/ -lncurses/' -i ${makefile}
-    '';
-
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr"
-  '';
-
-  makeFlags = "-f ${makefile} JS_DIST=\${out} BUILD_OPT=1 JS_READLINE=1 JS_THREADSAFE=1";
-
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/interpreters/spidermonkey/arm-flags.patch b/pkgs/development/interpreters/spidermonkey/1.8.5-arm-flags.patch
index 721aff154e3..721aff154e3 100644
--- a/pkgs/development/interpreters/spidermonkey/arm-flags.patch
+++ b/pkgs/development/interpreters/spidermonkey/1.8.5-arm-flags.patch
diff --git a/pkgs/development/interpreters/spidermonkey/findvanilla.patch b/pkgs/development/interpreters/spidermonkey/1.8.5-findvanilla.patch
index f6dab5497a0..f6dab5497a0 100644
--- a/pkgs/development/interpreters/spidermonkey/findvanilla.patch
+++ b/pkgs/development/interpreters/spidermonkey/1.8.5-findvanilla.patch
diff --git a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix b/pkgs/development/interpreters/spidermonkey/1.8.5.nix
index 582e7039d17..3c5eef01db0 100644
--- a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
+++ b/pkgs/development/interpreters/spidermonkey/1.8.5.nix
@@ -1,11 +1,11 @@
-{ stdenv, autoconf213, fetchurl, pkgconfig, nspr, perl, python2, zip }:
+{ stdenv, lib, autoconf213, fetchurl, pkgconfig, nspr, perl, python2, zip }:
 
 stdenv.mkDerivation rec {
-  version = "185-1.0.0";
   name = "spidermonkey-${version}";
+  version = "1.8.5";
 
   src = fetchurl {
-    url = "mirror://mozilla/js/js${version}.tar.gz";
+    url = "mirror://mozilla/js/js185-1.0.0.tar.gz";
     sha256 = "5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687";
   };
 
@@ -19,14 +19,14 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr"
     export LIBXUL_DIST=$out
-    ${if stdenv.isArm then "autoreconf --verbose --force" else ""}
+    ${lib.optionalString stdenv.isArm "autoreconf --verbose --force"}
   '';
 
   patches = stdenv.lib.optionals stdenv.isArm [
     # Explained below in configureFlags for ARM
-    ./findvanilla.patch
+    ./1.8.5-findvanilla.patch
     # Fix for hard float flags.
-    ./arm-flags.patch
+    ./1.8.5-arm-flags.patch
   ];
 
   patchFlags = "-p3";
diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.nix
index a2ecfb2ef97..a2ecfb2ef97 100644
--- a/pkgs/development/interpreters/spidermonkey/17.0.nix
+++ b/pkgs/development/interpreters/spidermonkey/17.nix
diff --git a/pkgs/development/interpreters/spidermonkey/24.2.nix b/pkgs/development/interpreters/spidermonkey/24.nix
index 279528e9e83..6e354c54296 100644
--- a/pkgs/development/interpreters/spidermonkey/24.2.nix
+++ b/pkgs/development/interpreters/spidermonkey/24.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, nspr, perl, python2, zip, libffi, readline }:
+{ stdenv, fetchurl, pkgconfig, nspr, perl, python2, zip, libffi, readline, icu }:
 
 stdenv.mkDerivation rec {
   version = "24.2.0";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ nspr ];
 
-  buildInputs = [ pkgconfig perl python2 zip libffi readline ];
+  buildInputs = [ pkgconfig perl python2 zip libffi readline icu ];
 
   postPatch = ''
     # Fixes an issue with version detection under perl 5.22.x
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     "--libdir=$(lib)/lib"
     "--includedir=$(dev)/include"
     "--enable-threadsafe"
+    "--with-system-icu"
     "--with-system-nspr"
     "--with-system-ffi"
     "--enable-readline"
diff --git a/pkgs/development/interpreters/spidermonkey/31.5.nix b/pkgs/development/interpreters/spidermonkey/31.nix
index f52d526e3fa..585ebc120d8 100644
--- a/pkgs/development/interpreters/spidermonkey/31.5.nix
+++ b/pkgs/development/interpreters/spidermonkey/31.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl, python2, zip, libffi, readline }:
+{ stdenv, fetchurl, pkgconfig, perl, python2, zip, libffi, nspr, icu, readline }:
 
 stdenv.mkDerivation rec {
   version = "31.5.0";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "1q8icql5hh1g3gzg5fp4rl9rfagyhm9gilfn3dgi7qn4i1mrfqsd";
   };
 
-  buildInputs = [ pkgconfig perl python2 zip libffi readline ];
+  buildInputs = [ pkgconfig perl python2 zip libffi readline nspr icu ];
 
   postUnpack = "sourceRoot=\${sourceRoot}/js/src";
 
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-threadsafe"
     "--with-system-ffi"
+    "--with-system-nspr"
+    "--with-system-icu"
     "--enable-readline"
 
     # enabling these because they're wanted by 0ad. They may or may
diff --git a/pkgs/development/interpreters/spidermonkey/38.nix b/pkgs/development/interpreters/spidermonkey/38.nix
new file mode 100644
index 00000000000..89c02f26200
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/38.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, pkgconfig, perl, python2, zip, libffi, readline, icu, zlib, nspr }:
+
+stdenv.mkDerivation rec {
+  version = "38.2.1.rc0";
+  name = "spidermonkey-${version}";
+
+  # the release notes point to some guys home directory, see
+  # https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/38
+  # probably it would be more ideal to pull a particular tag/revision
+  # from the mercurial repo
+  src = fetchurl {
+    url = "https://people.mozilla.org/~sstangl/mozjs-${version}.tar.bz2";
+    sha256 = "0p4bmbpgkfsj54xschcny0a118jdrdgg0q29rwxigg3lh5slr681";
+  };
+
+  buildInputs = [ pkgconfig perl python2 zip libffi readline icu zlib nspr ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/js/src";
+
+  preConfigure = ''
+    export CXXFLAGS="-fpermissive"
+    export LIBXUL_DIST=$out
+    export PYTHON="${python2.interpreter}"
+  '';
+
+  configureFlags = [
+    "--enable-threadsafe"
+    "--with-system-ffi"
+    "--with-system-nspr"
+    "--with-system-zlib"
+    "--with-system-icu"
+    "--enable-readline"
+
+    # enabling these because they're wanted by 0ad. They may or may
+    # not be good defaults for other uses.
+    "--enable-gcgenerational"
+    "--enable-shared-js"
+  ];
+
+  # This addresses some build system bug. It's quite likely to be safe
+  # to re-enable parallel builds if the source revision changes.
+  enableParallelBuilding = true;
+
+  postFixup = ''
+    # The headers are symlinks to a directory that doesn't get put
+    # into $out, so they end up broken. Fix that by just resolving the
+    # symlinks.
+    for i in $(find $out -type l); do
+      cp --remove-destination "$(readlink "$i")" "$i";
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = https://developer.mozilla.org/en/SpiderMonkey;
+    # TODO: MPL/GPL/LGPL tri-license.
+
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/interpreters/spidermonkey/Makefile.extra b/pkgs/development/interpreters/spidermonkey/Makefile.extra
deleted file mode 100644
index a764cfc69cb..00000000000
--- a/pkgs/development/interpreters/spidermonkey/Makefile.extra
+++ /dev/null
@@ -1,10 +0,0 @@
-install: $(PROGRAM) $(SHARED_LIBRARY)
-	mkdir -pv $(DIST)/{bin,lib}
-	mkdir -pv $(DIST)/include
-	cp -v $(PROGRAM) $(DIST)/bin
-	cp -v $(SHARED_LIBRARY) $(LIBRARY) $(DIST)/lib
-	cp -v $(JS_HFILES) $(API_HFILES) $(OTHER_HFILES) $(DIST)/include
-	mkdir -pv $(DIST)/include/js
-	find . -name '*.h' -exec cp '{}' $(DIST)/include/js ';'
-	find . -name '*.msg' -exec cp '{}' $(DIST)/include/js ';'
-
diff --git a/pkgs/development/interpreters/spidermonkey/default.nix b/pkgs/development/interpreters/spidermonkey/default.nix
deleted file mode 100644
index 1fe4b90b2b8..00000000000
--- a/pkgs/development/interpreters/spidermonkey/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchurl, readline }:
-
-stdenv.mkDerivation rec {
-  name = "spidermonkey-1.7";
-
-  src = fetchurl {
-    url = mirror://mozilla/js/js-1.7.0.tar.gz;
-    sha256 = "12v6v2ccw1y6ng3kny3xw0lfs58d1klylqq707k0x04m707kydj4";
-  };
-
-  hardeningDisable = [ "format" ]
-    ++ stdenv.lib.optional stdenv.isi686 "stackprotector";
-
-  buildInputs = [ readline ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/src";
-
-  makefileExtra = ./Makefile.extra;
-  makefile = "Makefile.ref";
-
-  patchPhase =
-    ''
-      cat ${makefileExtra} >> ${makefile}
-      sed -e 's/ -ltermcap/ -lncurses/' -i ${makefile}
-    '';
-
-  CFLAGS = "-DPIC -fPIC -DJS_C_STRINGS_ARE_UTF8";
-
-  makeFlags = "-f ${makefile} JS_DIST=\${out} BUILD_OPT=1 JS_READLINE=1";
-
-  meta = with stdenv.lib; {
-    description = "Mozilla's JavaScript engine written in C/C++";
-    homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey";
-    license = licenses.mpl20;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index ab1943b8590..ff67ff8a1bb 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, spidermonkey
+{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, spidermonkey_17
 , gobjectIntrospection, libxslt, docbook_xsl, docbook_xml_dtd_412
 , useSystemd ? stdenv.isLinux, systemd }:
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" ]; # small man pages in $bin
 
   buildInputs =
-    [ pkgconfig glib expat pam intltool spidermonkey gobjectIntrospection ]
+    [ pkgconfig glib expat pam intltool spidermonkey_17 gobjectIntrospection ]
     ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ] # man pages
     ++ stdenv.lib.optional useSystemd systemd;