Merge pull request #9502 from anderspapitto/0ad

add spidermonkey 31.5, and upgrade 0ad to version 18 Alpha
This commit is contained in:
Arseniy Seroka 2015-09-09 03:11:43 +03:00
commit 488c5ac433
4 changed files with 76 additions and 6 deletions

View File

@ -0,0 +1,65 @@
{ stdenv, fetchurl, pkgconfig, perl, python, zip, libffi, readline }:
stdenv.mkDerivation rec {
version = "31.5.0";
name = "spidermonkey-${version}";
# the release notes point to some guys home directory, see
# https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/31
# 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-31.5.0.tar.bz2";
sha256 = "1q8icql5hh1g3gzg5fp4rl9rfagyhm9gilfn3dgi7qn4i1mrfqsd";
};
buildInputs = [ pkgconfig perl python zip libffi readline ];
postUnpack = "sourceRoot=\${sourceRoot}/js/src";
preConfigure = ''
export LIBXUL_DIST=$out
'';
configureFlags = [
"--enable-threadsafe"
"--with-system-ffi"
"--enable-readline"
# there is at least one unfixed issue building the tests, so I didn't bother
"--disable-tests"
# enabling these because they're wanted by 0ad. They may or may
# not be good defaults for other uses.
"--enable-gcgenerational"
"--enable-shared-js"
# Due to a build-system bug, this means the exact opposite of what it says.
# It is required by gcgenerational.
"--disable-exact-rooting"
];
# This addresses some build system bug. It's quite likely to be safe
# to re-enable parallel builds if the source revision changes.
enableParallelBuilding = false;
# see comment by --disable-tests
doCheck = false;
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.goibhniu ];
};
}

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-data.tar.xz";
sha256 = "6bf2234ef5043b14a3bbeda013fefed73ce2e564262f5e03b0801bfe671331d0";
sha256 = "0i5cf4n9qhzbi6hvw5lxapind24qpqfq6p5lrhx8gb25p670g95i";
};
patchPhase = ''

View File

@ -1,5 +1,5 @@
{ stdenv, callPackage, fetchurl, python27
, pkgconfig, spidermonkey_24, boost, icu, libxml2, libpng
, pkgconfig, spidermonkey_31, boost, icu, libxml2, libpng
, libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc
, openal, mesa, xproto, libX11, libXcursor, nspr, SDL
, gloox, nvidia-texture-tools
@ -9,7 +9,7 @@
assert withEditor -> wxGTK != null;
let
version = "0.0.17";
version = "0.0.18";
releaseType = "alpha";
@ -25,11 +25,11 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-build.tar.xz";
sha256 = "ef144d44fe8a8abd29a4642999a58a596b8f0d0e1f310065f5ce1dfbe29c3aeb";
sha256 = "15q3mv5k3lqzf0wrby2r93fs194ym13790i68q8azscs4v9h8bxx";
};
buildInputs = [
zeroadData python27 pkgconfig spidermonkey_24 boost icu
zeroadData python27 pkgconfig spidermonkey_31 boost icu
libxml2 libpng libjpeg zlib curl libogg libvorbis enet
miniupnpc openal mesa xproto libX11 libXcursor nspr
SDL gloox nvidia-texture-tools
@ -41,6 +41,10 @@ stdenv.mkDerivation rec {
"-I${libXcursor}/include/X11"
];
patchPhase = ''
sed -i 's/MOZJS_MINOR_VERSION/false \&\& MOZJS_MINOR_VERSION/' source/scriptinterface/ScriptTypes.h
'';
configurePhase = ''
# Delete shipped libraries which we don't need.
rm -rf libraries/source/{enet,miniupnpc,nvtt,spidermonkey}
@ -58,7 +62,7 @@ stdenv.mkDerivation rec {
--with-system-nvtt \
--with-system-enet \
--with-system-miniupnpc \
--with-system-mozjs24 \
--with-system-mozjs31 \
${ if withEditor then "--atlas" else "" } \
--collada \
--bindir="$out"/bin \

View File

@ -5225,6 +5225,7 @@ let
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 { };
supercollider = callPackage ../development/interpreters/supercollider {
gcc = gcc48; # doesn't build with gcc49