66 lines
1.7 KiB
Nix
66 lines
1.7 KiB
Nix
{ cmake
|
|
, stdenv
|
|
, fetchurl
|
|
, bash
|
|
, unzip
|
|
, glibc
|
|
, openssl
|
|
, gcc
|
|
, libgit2
|
|
, libGLU, libGL
|
|
, freetype
|
|
, xorg
|
|
, alsaLib
|
|
, cairo
|
|
, libuuid
|
|
, autoreconfHook
|
|
, gcc48
|
|
, fetchFromGitHub
|
|
, makeWrapper
|
|
, runtimeShell
|
|
} @args:
|
|
|
|
let
|
|
pharo-vm-build = import ./build-vm.nix args;
|
|
pharo-vm-build-legacy = import ./build-vm-legacy.nix args;
|
|
in
|
|
|
|
let suffix = if stdenv.is64bit then "64" else "32"; in
|
|
|
|
{
|
|
# Build the latest VM
|
|
spur = pharo-vm-build rec {
|
|
name = "pharo-spur${suffix}";
|
|
version = "git.${revision}";
|
|
src = fetchFromGitHub {
|
|
owner = "pharo-project";
|
|
repo = "pharo-vm";
|
|
rev = revision;
|
|
sha256 = "0dkiy5fq1xn2n93cwf767xz24c01ic0wfw94jk9nvn7pmcfj7m62";
|
|
};
|
|
# This metadata will be compiled into the VM and introspectable
|
|
# from Smalltalk. This has been manually extracted from 'git log'.
|
|
#
|
|
# The build would usually generate this automatically using
|
|
# opensmalltalk-vm/.git_filters/RevDateURL.smudge but that script
|
|
# is too impure to run from nix.
|
|
revision = "6a63f68a3dd4deb7c17dd2c7ac6e4dd4b0b6d937";
|
|
source-date = "Tue May 30 19:41:27 2017 -0700";
|
|
source-url = "https://github.com/pharo-project/pharo-vm";
|
|
};
|
|
|
|
# Build an old ("legacy") CogV3 VM for running pre-spur images.
|
|
# (Could be nicer to build the latest VM in CogV3 mode but this is
|
|
# not supported on the Pharo VM variant at the moment.)
|
|
cog = pharo-vm-build-legacy rec {
|
|
version = "2016.02.18";
|
|
name = "pharo-cog${suffix}";
|
|
base-url = "http://files.pharo.org/vm/src/vm-unix-sources/blessed";
|
|
src = fetchurl {
|
|
url = "${base-url}/pharo-vm-${version}.tar.bz2";
|
|
sha256 = "16n2zg7v2s1ml0vvpbhkw6khmgn637sr0d7n2b28qm5yc8pfhcj4";
|
|
};
|
|
};
|
|
|
|
}
|