mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-25 20:34:52 +03:00
Merge pull request #20586 from abbradar/spidermonkey
SpiderMonkey cleanup
This commit is contained in:
commit
69e649503f
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, perl, ncurses, xlibsWrapper, bzip2, zlib, openssl
|
||||
, spidermonkey, gpm
|
||||
, spidermonkey_1_8_5, gpm
|
||||
, enableGuile ? false, guile ? null # Incompatible licenses, LGPLv3 - GPLv2
|
||||
, enablePython ? false, python ? null
|
||||
}:
|
||||
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [ ./gc-init.patch ];
|
||||
|
||||
buildInputs = [ perl ncurses xlibsWrapper bzip2 zlib openssl spidermonkey gpm ]
|
||||
buildInputs = [ perl ncurses xlibsWrapper bzip2 zlib openssl spidermonkey_1_8_5 gpm ]
|
||||
++ stdenv.lib.optional enableGuile guile
|
||||
++ stdenv.lib.optional enablePython python;
|
||||
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
''
|
||||
--enable-finger --enable-html-highlight
|
||||
--with-perl --enable-gopher --enable-cgi --enable-bittorrent
|
||||
--with-spidermonkey=${spidermonkey}
|
||||
--with-spidermonkey=${spidermonkey_1_8_5}
|
||||
--enable-nntp --with-openssl=${openssl.dev}
|
||||
'' + stdenv.lib.optionalString enableGuile " --with-guile"
|
||||
+ stdenv.lib.optionalString enablePython " --with-python";
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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";
|
@ -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"
|
@ -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
|
61
pkgs/development/interpreters/spidermonkey/38.nix
Normal file
61
pkgs/development/interpreters/spidermonkey/38.nix
Normal file
@ -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;
|
||||
};
|
||||
}
|
@ -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 ';'
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "0ad-data-${version}";
|
||||
version = "0.0.20";
|
||||
version = "0.0.21";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://releases.wildfiregames.com/0ad-${version}-alpha-unix-data.tar.xz";
|
||||
sha256 = "1lzl8chfqbgs1n9vpn0xaqd70kpwiibfk196iblyq6qkms3v6pnv";
|
||||
sha256 = "15xadyrpvq27lm9p1ny7bcmmv56m16h3xadbkdx69gfkzxc3razk";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, callPackage, perl, fetchurl, python2
|
||||
, pkgconfig, spidermonkey_31, boost, icu, libxml2, libpng
|
||||
, pkgconfig, spidermonkey_38, boost, icu, libxml2, libpng
|
||||
, libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc
|
||||
, openal, mesa, xproto, libX11, libXcursor, nspr, SDL, SDL2
|
||||
, gloox, nvidia-texture-tools
|
||||
@ -10,17 +10,17 @@ assert withEditor -> wxGTK != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "0ad-${version}";
|
||||
version = "0.0.20";
|
||||
version = "0.0.21";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://releases.wildfiregames.com/0ad-${version}-alpha-unix-build.tar.xz";
|
||||
sha256 = "13n61xhjsawda3kl7112la41bqkbqmq4yhr3slydsz856z5xb5m3";
|
||||
sha256 = "1kw3hqnr737ipx4f03khz3hvsh3ha7r8iy9njppk2faa53j27gln";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python2 perl pkgconfig ];
|
||||
|
||||
buildInputs = [
|
||||
spidermonkey_31 boost icu libxml2 libpng libjpeg
|
||||
spidermonkey_38 boost icu libxml2 libpng libjpeg
|
||||
zlib curl libogg libvorbis enet miniupnpc openal
|
||||
mesa xproto libX11 libXcursor nspr SDL2 gloox
|
||||
nvidia-texture-tools
|
||||
@ -44,11 +44,16 @@ stdenv.mkDerivation rec {
|
||||
# Delete shipped libraries which we don't need.
|
||||
rm -rf libraries/source/{enet,miniupnpc,nvtt,spidermonkey}
|
||||
|
||||
# Workaround invalid pkgconfig name for mozjs
|
||||
mkdir pkgconfig
|
||||
ln -s ${spidermonkey_38}/lib/pkgconfig/* pkgconfig/mozjs-38.pc
|
||||
PKG_CONFIG_PATH="$PWD/pkgconfig:$PKG_CONFIG_PATH"
|
||||
|
||||
# Update Makefiles
|
||||
pushd build/workspaces
|
||||
./update-workspaces.sh \
|
||||
--with-system-nvtt \
|
||||
--with-system-mozjs31 \
|
||||
--with-system-mozjs38 \
|
||||
${lib.optionalString withEditor "--enable-atlas"} \
|
||||
--bindir="$out"/bin \
|
||||
--libdir="$out"/lib/0ad \
|
||||
|
@ -1,9 +1,8 @@
|
||||
{ stdenv, fetchgit
|
||||
, sqlite, expat, mp4v2, flac, spidermonkey, taglib, libexif, curl, ffmpeg, file
|
||||
, sqlite, expat, mp4v2, flac, spidermonkey_1_8_5, taglib, libexif, curl, ffmpeg, file
|
||||
, pkgconfig, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "mediatomb-${version}";
|
||||
version = "0.12.1";
|
||||
|
||||
@ -13,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1mimslr4q6mky865y6561rr64cbn4gf0qc2dhgb31hxp4rc1kmzd";
|
||||
};
|
||||
|
||||
buildInputs = [ sqlite expat spidermonkey taglib libexif curl ffmpeg file mp4v2 flac
|
||||
buildInputs = [ sqlite expat spidermonkey_1_8_5 taglib libexif curl ffmpeg file mp4v2 flac
|
||||
pkgconfig autoreconfHook ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -5706,12 +5706,12 @@ in
|
||||
|
||||
spark = callPackage ../applications/networking/cluster/spark { };
|
||||
|
||||
spidermonkey = callPackage ../development/interpreters/spidermonkey { };
|
||||
spidermonkey_1_8_0rc1 = callPackage ../development/interpreters/spidermonkey/1.8.0-rc1.nix { };
|
||||
spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { };
|
||||
spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.0.nix { };
|
||||
spidermonkey_24 = callPackage ../development/interpreters/spidermonkey/24.2.nix { };
|
||||
spidermonkey_31 = callPackage ../development/interpreters/spidermonkey/31.5.nix { };
|
||||
spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { };
|
||||
spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.nix { };
|
||||
spidermonkey_24 = callPackage ../development/interpreters/spidermonkey/24.nix { };
|
||||
spidermonkey_31 = callPackage ../development/interpreters/spidermonkey/31.nix { };
|
||||
spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix { };
|
||||
spidermonkey = spidermonkey_31;
|
||||
|
||||
supercollider = callPackage ../development/interpreters/supercollider {
|
||||
fftw = fftwSinglePrec;
|
||||
@ -8849,9 +8849,7 @@ in
|
||||
|
||||
polarssl = mbedtls;
|
||||
|
||||
polkit = callPackage ../development/libraries/polkit {
|
||||
spidermonkey = spidermonkey_17;
|
||||
};
|
||||
polkit = callPackage ../development/libraries/polkit { };
|
||||
|
||||
polkit_qt4 = callPackage ../development/libraries/polkit-qt-1/qt-4.nix { };
|
||||
|
||||
@ -10008,7 +10006,7 @@ in
|
||||
charybdis = callPackage ../servers/irc/charybdis {};
|
||||
|
||||
couchdb = callPackage ../servers/http/couchdb {
|
||||
spidermonkey = spidermonkey_185;
|
||||
spidermonkey = spidermonkey_1_8_5;
|
||||
python = python27;
|
||||
sphinx = python27Packages.sphinx;
|
||||
erlang = erlangR16;
|
||||
@ -10111,9 +10109,7 @@ in
|
||||
mattermost = callPackage ../servers/mattermost { };
|
||||
matterircd = callPackage ../servers/mattermost/matterircd.nix { };
|
||||
|
||||
mediatomb = callPackage ../servers/mediatomb {
|
||||
spidermonkey = spidermonkey_185;
|
||||
};
|
||||
mediatomb = callPackage ../servers/mediatomb { };
|
||||
|
||||
memcached = callPackage ../servers/memcached {};
|
||||
|
||||
|
@ -79,10 +79,10 @@ let
|
||||
sha256 = "1ywrsp90w6rlgq3v2vmvp2zvvykkgqqasab7h9bf3vgvgv3qasbg";
|
||||
|
||||
configureFlags = [
|
||||
"--with-spidermonkey=${pkgs.spidermonkey_185}"
|
||||
"--with-spidermonkey=${pkgs.spidermonkey_1_8_5}"
|
||||
];
|
||||
|
||||
buildInputs = [ pkgs.spidermonkey_185 ];
|
||||
buildInputs = [ pkgs.spidermonkey_1_8_5 ];
|
||||
};
|
||||
|
||||
xdebug = if isPhp7 then xdebug24 else xdebug23;
|
||||
|
Loading…
Reference in New Issue
Block a user