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 { src = fetchurl {
url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-data.tar.xz"; url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-data.tar.xz";
sha256 = "6bf2234ef5043b14a3bbeda013fefed73ce2e564262f5e03b0801bfe671331d0"; sha256 = "0i5cf4n9qhzbi6hvw5lxapind24qpqfq6p5lrhx8gb25p670g95i";
}; };
patchPhase = '' patchPhase = ''

View File

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

View File

@ -5225,6 +5225,7 @@ let
spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { }; spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { };
spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.0.nix { }; spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.0.nix { };
spidermonkey_24 = callPackage ../development/interpreters/spidermonkey/24.2.nix { }; spidermonkey_24 = callPackage ../development/interpreters/spidermonkey/24.2.nix { };
spidermonkey_31 = callPackage ../development/interpreters/spidermonkey/31.5.nix { };
supercollider = callPackage ../development/interpreters/supercollider { supercollider = callPackage ../development/interpreters/supercollider {
gcc = gcc48; # doesn't build with gcc49 gcc = gcc48; # doesn't build with gcc49