A new test checks and fails if we're building in js/src, so we create a build dir like Arch does.wip/yesman
parent
bd2c80a42e
commit
e09e735a09
@ -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; |
||||
}; |
||||
} |
Loading…
Reference in new issue