Compile SpiderMonkey 1.8.5 everywhere with --disable-methodjit

Fixes apache/couchdb#551 by addressing the one segmentation violation
we're sure happens, which involves the JIT.

A replacement for SM 1.8.5 can't come soon enough.
diff --git a/ansible/centos-6-base.yml b/ansible/centos-6-base.yml
index 1fdaa03..6b93f03 100644
--- a/ansible/centos-6-base.yml
+++ b/ansible/centos-6-base.yml
@@ -23,3 +23,4 @@
   - geerlingguy.repo-epel
   - dependencies-centos
   - common
+  - spidermonkey
diff --git a/ansible/centos-7-base.yml b/ansible/centos-7-base.yml
index 9633ec4..a58864e 100644
--- a/ansible/centos-7-base.yml
+++ b/ansible/centos-7-base.yml
@@ -23,3 +23,4 @@
   - geerlingguy.repo-epel
   - dependencies-centos
   - common
+  - spidermonkey
diff --git a/ansible/debian-8-base.yml b/ansible/debian-8-base.yml
index d99f45e..a5652f8 100644
--- a/ansible/debian-8-base.yml
+++ b/ansible/debian-8-base.yml
@@ -23,3 +23,4 @@
   - dependencies-debian
   - lintian-debian
   - common
+  - spidermonkey
diff --git a/ansible/roles/dependencies-centos/tasks/main.yml b/ansible/roles/dependencies-centos/tasks/main.yml
index 9ea3393..3932be7 100644
--- a/ansible/roles/dependencies-centos/tasks/main.yml
+++ b/ansible/roles/dependencies-centos/tasks/main.yml
@@ -34,10 +34,14 @@
   yum: name={{item}} state=present
   with_items:
   - autoconf
+  - autoconf213
   - automake
   - curl-devel
   - libicu-devel
   - libtool
+  - ncurses-devel
+  - nspr-devel
+  - zip
 
 # special case since autoconf-archive on CentOS 6 is not in EPEL
 - name: install autoconf-archive
@@ -57,9 +61,6 @@
     name: nodejs
     state: present
 
-# download, compile and install Spidermonkey
-- include: spidermonkey.yml
-
 # download and install shunit2
 - include: shunit.yml
 
@@ -98,7 +99,7 @@
   command: "/usr/bin/python3.4 /tmp/get-pip.py"
 
 - name: install up to date version of sphinx via pip
-  shell: pip install sphinx==1.5.3
+  shell: pip install docutils==0.13.1 sphinx==1.5.3
 
 - name: dependencies for packages
   yum: name={{item}} state=present
diff --git a/ansible/roles/dependencies-debian/tasks/main.yml b/ansible/roles/dependencies-debian/tasks/main.yml
index deda609..6555e47 100644
--- a/ansible/roles/dependencies-debian/tasks/main.yml
+++ b/ansible/roles/dependencies-debian/tasks/main.yml
@@ -33,7 +33,9 @@
   - pkg-config
   - python
   - python-pip
+  - python-requests
   - sudo
+  - zip
 
 # dependencies for make couch, except erlang
 - name: install packages required to build CouchDB
@@ -43,7 +45,7 @@
   - ca-certificates
   - libcurl4-openssl-dev
   - libicu-dev
-  - libmozjs185-dev
+  - libnspr4-dev
   - shunit2
 
 # required for make docs
@@ -56,7 +58,7 @@
 # Fix broken sphinx on ubuntu 12.04 only
 # Hack, but prevents needing a unique debian/ dir for this dist
 - name: install up to date version of sphinx via pip
-  shell: pip install sphinx==1.5.3
+  shell: pip install docutils==0.13.1 sphinx==1.5.3
   when: ansible_distribution == "Ubuntu" and ansible_distribution_version == "12.04"
 
 # dependencies for Debian/Ubuntu package building
diff --git a/ansible/roles/dependencies-centos/tasks/spidermonkey.yml b/ansible/roles/spidermonkey/tasks/main.yml
similarity index 89%
rename from ansible/roles/dependencies-centos/tasks/spidermonkey.yml
rename to ansible/roles/spidermonkey/tasks/main.yml
index 8bfca73..34ed1e1 100644
--- a/ansible/roles/dependencies-centos/tasks/spidermonkey.yml
+++ b/ansible/roles/spidermonkey/tasks/main.yml
@@ -25,7 +25,7 @@
     dest: /opt
     copy: no
 - name: configure Spidermonkey 1.8.5
-  command: ./configure --prefix=/usr
+  command: ./configure --prefix=/usr --with-system-nspr --disable-tests --disable-strip --enable-ctypes --enable-threadsafe --disable-methodjit
   args:
     chdir: /opt/js-1.8.5/js/src
 - name: make Spidermonkey 1.8.5
diff --git a/ansible/ubuntu-12.04-base.yml b/ansible/ubuntu-12.04-base.yml
index f3a8615..f2f5d60 100644
--- a/ansible/ubuntu-12.04-base.yml
+++ b/ansible/ubuntu-12.04-base.yml
@@ -23,3 +23,4 @@
   - dependencies-debian
   - lintian-ubuntu
   - common
+  - spidermonkey
diff --git a/ansible/ubuntu-14.04-base.yml b/ansible/ubuntu-14.04-base.yml
index b2a0f48..c176659 100644
--- a/ansible/ubuntu-14.04-base.yml
+++ b/ansible/ubuntu-14.04-base.yml
@@ -23,3 +23,4 @@
   - dependencies-debian
   - lintian-ubuntu
   - common
+  - spidermonkey
diff --git a/ansible/ubuntu-16.04-base.yml b/ansible/ubuntu-16.04-base.yml
index c0406de..1e010a2 100644
--- a/ansible/ubuntu-16.04-base.yml
+++ b/ansible/ubuntu-16.04-base.yml
@@ -23,3 +23,4 @@
   - dependencies-debian
   - lintian-ubuntu
   - common
+  - spidermonkey