anchor.diff:      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"
  
positive.code: { 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 = [
  
negative.code:     "--enable-shared-js"
      "--enable-posix-nspr-emulation"
      "--disable-jemalloc"
      # Fedora and Arch disable optimize, but it doesn't seme to be necessary
      # It turns on -O3 which some gcc version had a problem with:
      # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e
      "--enable-optimize"
      "--enable-release"
    ];
  
    # Remove unnecessary static lib
    preFixup = ''
      rm $out/lib/libjs_static.ajs
    '';
  
    enableParallelBuilding = true;
  
  