summary refs log tree commit diff
path: root/pkgs/development/interpreters/spidermonkey
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2017-10-03 03:25:14 +0200
committerJan Tojnar <jtojnar@gmail.com>2017-11-05 17:02:29 +0100
commit4d5a009b117c0a912055a193bcbff0b86d05eb23 (patch)
tree5c060ce6c7eea1f048af3a74075d7bf1dd0a0bd6 /pkgs/development/interpreters/spidermonkey
parent1d55dd3d138e15f3529732b9c14ed981ab2b67b5 (diff)
downloadnixpkgs-4d5a009b117c0a912055a193bcbff0b86d05eb23.tar
nixpkgs-4d5a009b117c0a912055a193bcbff0b86d05eb23.tar.gz
nixpkgs-4d5a009b117c0a912055a193bcbff0b86d05eb23.tar.bz2
nixpkgs-4d5a009b117c0a912055a193bcbff0b86d05eb23.tar.lz
nixpkgs-4d5a009b117c0a912055a193bcbff0b86d05eb23.tar.xz
nixpkgs-4d5a009b117c0a912055a193bcbff0b86d05eb23.tar.zst
nixpkgs-4d5a009b117c0a912055a193bcbff0b86d05eb23.zip
spidermonkey_52: init at 52.2.1gnome1
Diffstat (limited to 'pkgs/development/interpreters/spidermonkey')
-rw-r--r--pkgs/development/interpreters/spidermonkey/52.nix62
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/spidermonkey/52.nix b/pkgs/development/interpreters/spidermonkey/52.nix
new file mode 100644
index 00000000000..75c7c64e324
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/52.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, autoconf213, pkgconfig, perl, python2, zip, which, readline, icu, zlib, nspr }:
+
+stdenv.mkDerivation rec {
+  version = "52.2.1gnome1";
+  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 = "mirror://gnome/teams/releng/tarballs-needing-help/mozjs/mozjs-${version}.tar.gz";
+    sha256 = "1bxhz724s1ch1c0kdlzlg9ylhg1mk8kbhdgfkax53fyvn51pjs9i";
+  };
+
+  buildInputs = [ readline icu zlib nspr ];
+  nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/js/src";
+
+  preConfigure = ''
+    export CXXFLAGS="-fpermissive"
+    export LIBXUL_DIST=$out
+    export PYTHON="${python2.interpreter}"
+  '';
+
+  configureFlags = [
+    "--enable-threadsafe"
+    "--with-system-nspr"
+    "--with-system-zlib"
+    "--with-system-icu"
+    "--with-intl-api"
+    "--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;
+  };
+}