+9
-10
pkgs/development/pharo/launcher/default.nix
+9
-10
pkgs/development/pharo/launcher/default.nix
···
1
-
{ stdenv, fetchurl, bash, pharo-vm, unzip, makeDesktopItem }:
1
+
{ stdenv, fetchurl, bash, pharo, unzip, makeDesktopItem }:
2
2
3
3
stdenv.mkDerivation rec {
4
-
version = "0.2.9-2016.01.14";
4
+
version = "2017.02.28";
5
5
name = "pharo-launcher-${version}";
6
6
src = fetchurl {
7
-
url = "http://files.pharo.org/platform/launcher/blessed/PharoLauncher-user-${version}.zip";
8
-
sha256 = "0lzdnaw7l1rrzbrq53xsy38aiz6id5x7s78ds1dhb31vqc241yy8";
7
+
url = "http://files.pharo.org/platform/launcher/PharoLauncher-user-stable-${version}.zip";
8
+
sha256 = "1hfwjyx0c47s6ivc1zr2sf5mk1xw2zspsv0ns8mj3kcaglzqwiq0";
9
9
};
10
10
11
11
executable-name = "pharo-launcher";
···
23
23
# because upstream tarball has no top-level directory.
24
24
sourceRoot = ".";
25
25
26
-
buildInputs = [ bash pharo-vm unzip ];
26
+
buildInputs = [ bash pharo unzip ];
27
27
28
28
installPhase = ''
29
29
mkdir -p $prefix/share/pharo-launcher
···
37
37
38
38
cat > $prefix/bin/${executable-name} <<EOF
39
39
#!${bash}/bin/bash
40
-
41
-
exec ${pharo-vm}/bin/pharo-vm-x $prefix/share/pharo-launcher/pharo-launcher.image
40
+
exec ${pharo}/bin/pharo $prefix/share/pharo-launcher/pharo-launcher.image
42
41
EOF
43
42
chmod +x $prefix/bin/${executable-name}
44
43
'';
···
52
51
secs=5
53
52
echo -n "Running headless Pharo for $secs seconds to check for a crash... "
54
53
timeout $secs \
55
-
${pharo-vm}/bin/pharo-vm-nox PharoLauncher.image --no-quit eval 'true'
54
+
${pharo}/bin/pharo -nodisplay PharoLauncher.image --no-quit eval 'true'
56
55
test "$?" == 124 && echo "ok")
57
56
'';
58
57
···
78
77
'';
79
78
homepage = http://pharo.org;
80
79
license = stdenv.lib.licenses.mit;
81
-
maintainers = [ stdenv.lib.maintainers.lukego ];
82
-
platforms = pharo-vm.meta.platforms;
80
+
maintainers = [ ];
81
+
platforms = pharo.meta.platforms;
83
82
};
84
83
}
+72
pkgs/development/pharo/vm/build-vm-legacy.nix
+72
pkgs/development/pharo/vm/build-vm-legacy.nix
···
1
+
{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, mesa, freetype, xorg, alsaLib, cairo, ... }:
2
+
3
+
{ name, src, ... }:
4
+
5
+
stdenv.mkDerivation rec {
6
+
7
+
inherit name src;
8
+
9
+
pharo-share = import ./share.nix { inherit stdenv fetchurl unzip; };
10
+
11
+
hardeningDisable = [ "format" "pic" ];
12
+
13
+
# Building
14
+
preConfigure = ''
15
+
cd build/
16
+
'';
17
+
resources = ./resources;
18
+
installPhase = ''
19
+
mkdir -p "$prefix/lib/$name"
20
+
21
+
cd ../../results
22
+
23
+
mv vm-display-null vm-display-null.so
24
+
mv vm-display-X11 vm-display-X11.so
25
+
mv vm-sound-null vm-sound-null.so
26
+
mv vm-sound-ALSA vm-sound-ALSA.so
27
+
mv pharo pharo-vm
28
+
29
+
cp * "$prefix/lib/$name"
30
+
31
+
mkdir $prefix/bin
32
+
33
+
chmod u+w $prefix/bin
34
+
cat > $prefix/bin/pharo-cog <<EOF
35
+
#!${bash}/bin/bash
36
+
# disable parameter expansion to forward all arguments unprocessed to the VM
37
+
set -f
38
+
exec $prefix/lib/$name/pharo-vm "\$@"
39
+
EOF
40
+
41
+
chmod +x $prefix/bin/pharo-cog
42
+
43
+
ln -s "${pharo-share}/lib/"*.sources $prefix/lib/$name
44
+
'';
45
+
46
+
buildInputs = [ bash unzip cmake glibc openssl gcc mesa freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ];
47
+
48
+
meta = {
49
+
description = "Clean and innovative Smalltalk-inspired environment";
50
+
longDescription = ''
51
+
Pharo's goal is to deliver a clean, innovative, free open-source
52
+
Smalltalk-inspired environment. By providing a stable and small core
53
+
system, excellent dev tools, and maintained releases, Pharo is an
54
+
attractive platform to build and deploy mission critical applications.
55
+
56
+
This package provides the executable VM. You should probably not care
57
+
about this package (which represents a packaging detail) and have a
58
+
look at the pharo-vm-core package instead.
59
+
60
+
Please fill bug reports on http://bugs.pharo.org under the 'Ubuntu
61
+
packaging (ppa:pharo/stable)' project.
62
+
'';
63
+
homepage = http://pharo.org;
64
+
license = stdenv.lib.licenses.mit;
65
+
maintainers = [ stdenv.lib.maintainers.lukego ];
66
+
# Pharo VM sources are packaged separately for darwin (OS X)
67
+
platforms = with stdenv.lib;
68
+
intersectLists
69
+
platforms.mesaPlatforms
70
+
(subtractLists platforms.darwin platforms.unix);
71
+
};
72
+
}
+76
-49
pkgs/development/pharo/vm/build-vm.nix
+76
-49
pkgs/development/pharo/vm/build-vm.nix
···
1
-
{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, mesa, freetype, xorg, alsaLib, cairo, makeDesktopItem }:
1
+
{ stdenv, fetchurl, bash, unzip, glibc, openssl, gcc, mesa, freetype, xorg, alsaLib, cairo, libuuid, autoreconfHook, gcc6, ... }:
2
2
3
-
{ name, src, binary-basename, ... }:
3
+
{ name, src, version, source-date, source-url, ... }:
4
4
5
+
# Build the Pharo VM
5
6
stdenv.mkDerivation rec {
7
+
inherit name src;
6
8
7
-
inherit name src binary-basename;
9
+
# Command line invocation name.
10
+
# Distinct name for 64-bit builds because they only work with 64-bit images.
11
+
cmd = if stdenv.is64bit then "pharo-spur64" else "pharo-spur";
8
12
13
+
# Choose desired VM sources. Separate for 32-bit and 64-bit VM.
14
+
# (Could extent to building more VM variants e.g. SpurV3, Sista, etc.)
15
+
vm = if stdenv.is64bit then "spur64src" else "spursrc";
16
+
17
+
# Choose target platform name in the format used by the vm.
18
+
flavor =
19
+
if stdenv.isLinux && stdenv.isi686 then "linux32x86"
20
+
else if stdenv.isLinux && stdenv.isx86_64 then "linux64x64"
21
+
else if stdenv.isDarwin && stdenv.isi686 then "macos32x86"
22
+
else if stdenv.isDarwin && stdenv.isx86_64 then "macos64x64"
23
+
else abort "Unsupported platform: only Linux/Darwin x86/x64 are supported.";
24
+
25
+
# Shared data (for the sources file)
9
26
pharo-share = import ./share.nix { inherit stdenv fetchurl unzip; };
10
27
11
-
desktopItem = makeDesktopItem {
12
-
inherit name;
13
-
desktopName = "Pharo VM";
14
-
genericName = "Pharo Virtual Machine";
15
-
exec = "${binary-basename}-x %F";
16
-
icon = "pharo";
17
-
terminal = "false";
18
-
type="Application";
19
-
startupNotify = "false";
20
-
categories = "Development;";
21
-
mimeType = "application/x-pharo-image";
22
-
};
23
-
28
+
# Note: -fPIC causes the VM to segfault.
24
29
hardeningDisable = [ "format" "pic" ];
25
30
26
-
# Building
27
-
preConfigure = ''
28
-
cd build/
31
+
# Regenerate the configure script.
32
+
# Unnecessary? But the build breaks without this.
33
+
autoreconfPhase = ''
34
+
(cd opensmalltalk-vm/platforms/unix/config && make)
29
35
'';
30
-
resources = ./resources;
31
-
installPhase = ''
32
-
mkdir -p "$prefix/lib/$name"
33
36
34
-
cd ../../results
37
+
# Configure with options modeled on the 'mvm' build script from the vm.
38
+
configureScript = "platforms/unix/config/configure";
39
+
configureFlags = [ "--without-npsqueak"
40
+
"--with-vmversion=5.0"
41
+
"--with-src=${vm}" ];
42
+
CFLAGS = "-msse2 -D_GNU_SOURCE -DCOGMTVM=0 -g -O2 -DNDEBUG -DDEBUGVM=0";
43
+
LDFLAGS = "-Wl,-z,now";
35
44
36
-
mv vm-display-null vm-display-null.so
37
-
mv vm-display-X11 vm-display-X11.so
38
-
mv vm-sound-null vm-sound-null.so
39
-
mv vm-sound-ALSA vm-sound-ALSA.so
40
-
mv pharo pharo-vm
45
+
# VM sources require some patching before build.
46
+
prePatch = ''
47
+
patchShebangs opensmalltalk-vm/build.${flavor}
48
+
# Fix hard-coded path to /bin/rm in a script
49
+
sed -i -e 's:/bin/rm:rm:' opensmalltalk-vm/platforms/unix/config/mkmf
50
+
# Fill in mandatory metadata about the VM source version
51
+
sed -i -e 's!\$Date\$!$Date: ${source-date} $!' \
52
+
-e 's!\$Rev\$!$Rev: ${version} $!' \
53
+
-e 's!\$URL\$!$URL: ${source-url} $!' \
54
+
opensmalltalk-vm/platforms/Cross/vm/sqSCCSVersion.h
55
+
'';
41
56
42
-
cp * "$prefix/lib/$name"
57
+
# Note: --with-vmcfg configure option is broken so copy plugin specs to ./
58
+
preConfigure = ''
59
+
cd opensmalltalk-vm
60
+
cp build.${flavor}/pharo.cog.spur/plugins.{ext,int} .
61
+
'';
43
62
44
-
mkdir -p "$prefix/share/applications"
45
-
cp "${desktopItem}/share/applications/"* $prefix/share/applications
63
+
# (No special build phase.)
46
64
47
-
mkdir $prefix/bin
65
+
installPhase = ''
66
+
# Install in working directory and then copy
67
+
make install-squeak install-plugins prefix=$(pwd)/products
48
68
49
-
chmod u+w $prefix/bin
50
-
cat > $prefix/bin/${binary-basename}-x <<EOF
51
-
#!${bash}/bin/bash
69
+
# Copy binaries & rename from 'squeak' to 'pharo'
70
+
mkdir -p $out
71
+
cp products/lib/squeak/5.0-*/squeak $out/pharo
52
72
53
-
# disable parameter expansion to forward all arguments unprocessed to the VM
54
-
set -f
73
+
cp -r products/lib/squeak/5.0-*/*.so $out
74
+
ln -s "${pharo-share}/lib/"*.sources $out
55
75
56
-
exec $prefix/lib/$name/pharo-vm "\$@"
57
-
EOF
76
+
# Create a shell script to run the VM in the proper environment.
77
+
#
78
+
# These wrapper puts all relevant libraries into the
79
+
# LD_LIBRARY_PATH. This is important because various C code in the VM
80
+
# and Smalltalk code in the image will search for them there.
81
+
mkdir -p $out/bin
82
+
chmod u+w $out/bin
58
83
59
-
cat > $prefix/bin/${binary-basename}-nox <<EOF
60
-
#!${bash}/bin/bash
84
+
# Note: include ELF rpath in LD_LIBRARY_PATH for finding libc.
85
+
libs=$out:$(patchelf --print-rpath $out/pharo):${cairo}/lib:${mesa}/lib:${freetype}/lib:${openssl}/lib:${libuuid}/lib:${alsaLib}/lib:${xorg.libICE}/lib:${xorg.libSM}/lib
61
86
62
-
# disable parameter expansion to forward all arguments unprocessed to the VM
87
+
# Create the script
88
+
cat > $out/bin/${cmd} <<EOF
89
+
#!/bin/sh
63
90
set -f
64
-
65
-
exec $prefix/lib/$name/pharo-vm -vm-display-null "\$@"
91
+
LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:$libs" exec $out/pharo "\$@"
66
92
EOF
93
+
chmod +x $prefix/bin/${cmd}
94
+
'';
67
95
68
-
chmod +x $prefix/bin/${binary-basename}-x $prefix/bin/${binary-basename}-nox
96
+
enableParallelBuilding = true;
69
97
70
-
ln -s "${pharo-share}/lib/"*.sources $prefix/lib/$name
71
-
'';
98
+
# Note: Force gcc6 because gcc5 crashes when compiling the VM.
99
+
buildInputs = [ bash unzip glibc openssl gcc6 mesa freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share libuuid autoreconfHook ];
72
100
73
-
buildInputs = [ bash unzip cmake glibc openssl gcc mesa freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ];
74
101
75
102
meta = {
76
103
description = "Clean and innovative Smalltalk-inspired environment";
···
89
116
'';
90
117
homepage = http://pharo.org;
91
118
license = stdenv.lib.licenses.mit;
92
-
maintainers = [ ];
119
+
maintainers = [ stdenv.lib.maintainers.lukego ];
93
120
# Pharo VM sources are packaged separately for darwin (OS X)
94
121
platforms = with stdenv.lib;
95
122
intersectLists
+11
-23
pkgs/development/pharo/vm/default.nix
+11
-23
pkgs/development/pharo/vm/default.nix
···
1
-
{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, mesa, freetype, xorg, alsaLib, cairo, makeDesktopItem } @args:
1
+
{ stdenv, callPackage, callPackage_i686, ...} @pkgs:
2
+
3
+
let
4
+
i686 = callPackage_i686 ./vms.nix {};
5
+
native = callPackage ./vms.nix {};
6
+
in
2
7
3
8
rec {
4
-
pharo-vm-build = import ./build-vm.nix args;
9
+
cog32 = i686.cog;
10
+
spur32 = i686.spur;
11
+
spur64 = if stdenv.is64bit then native.spur else "none";
12
+
multi-vm-wrapper = callPackage ../wrapper { inherit cog32 spur32 spur64; };
13
+
}
5
14
6
-
base-url = http://files.pharo.org/vm/src/vm-unix-sources/blessed;
7
15
8
-
pharo-no-spur = pharo-vm-build rec {
9
-
version = "2016.02.18";
10
-
name = "pharo-vm-i386-${version}";
11
-
binary-basename = "pharo-vm";
12
-
src = fetchurl {
13
-
url = "${base-url}/pharo-vm-${version}.tar.bz2";
14
-
sha256 = "16n2zg7v2s1ml0vvpbhkw6khmgn637sr0d7n2b28qm5yc8pfhcj4";
15
-
};
16
-
};
17
-
18
-
pharo-spur = pharo-vm-build rec {
19
-
version = "2016.07.16";
20
-
name = "pharo-vm-spur-i386-${version}";
21
-
binary-basename = "pharo-spur-vm";
22
-
src = fetchurl {
23
-
url = "${base-url}/pharo-vm-spur-${version}.tar.bz2";
24
-
sha256 = "07nk4w5wh7gcf27cch5paqp9zdlshnknpv4y7imxlkjd76viac2b";
25
-
};
26
-
};
27
-
}
+62
pkgs/development/pharo/vm/wrapper.sh
+62
pkgs/development/pharo/vm/wrapper.sh
···
1
+
#!/bin/sh
2
+
# This is based on the script by David T. Lewis posted here:
3
+
# http://lists.squeakfoundation.org/pipermail/vm-dev/2017-April/024836.html
4
+
#
5
+
# VM run utility script
6
+
# usage: run <myimage>
7
+
#
8
+
# Select a VM and run an image based on the image format number
9
+
10
+
# Search for the image filename in the command line arguments
11
+
for arg in $*; do
12
+
case ${arg} in
13
+
-*) # ignore
14
+
;;
15
+
*) # either an option argument or the image name
16
+
if test -f ${arg}; then
17
+
magic=$(file -m @share@/magic "$arg")
18
+
case "$magic" in
19
+
'Smalltalk image V3 32b*')
20
+
image=${arg}
21
+
vm=@cog-vm@/bin/pharo-cog
22
+
;;
23
+
'Smalltalk image Spur 32b*')
24
+
image=${arg}
25
+
vm=@spur-vm@/bin/pharo-spur
26
+
;;
27
+
'Smalltalk image Spur 64b*')
28
+
if "@spur64-vm@" == "none"; then
29
+
echo "error: detected 64-bit image but 64-bit VM is not available" >&2
30
+
exit 1
31
+
fi
32
+
image=${arg}
33
+
vm=@spur64-vm@/bin/pharo-spur64
34
+
;;
35
+
esac
36
+
fi
37
+
;;
38
+
esac
39
+
done
40
+
41
+
# Extra arguments to pass to the VM
42
+
args=""
43
+
44
+
# Print a message to explain our DWIM'ery.
45
+
if -n "$image"; then
46
+
echo "using VM selected by image type."
47
+
echo " image: $image"
48
+
echo " type: $magic"
49
+
echo " vm: $vm"
50
+
elif test "$#" == 0; then
51
+
echo "using default vm and image; none specified on command line"
52
+
args="@default-image@"
53
+
# XXX Just assume this is the right VM (for pharo launcher)
54
+
vm=@cog-vm@/bin/pharo-cog
55
+
else
56
+
echo "using default vm; image type not detected"
57
+
fi
58
+
59
+
# Run the VM
60
+
set -f
61
+
exec ${vm} $args "$@"
62
+
+58
pkgs/development/pharo/wrapper/default.nix
+58
pkgs/development/pharo/wrapper/default.nix
···
1
+
{ stdenv, file, makeDesktopItem, cog32, spur32, spur64 ? "none" }:
2
+
3
+
stdenv.mkDerivation rec {
4
+
name = "pharo-vm";
5
+
src = ./.;
6
+
inherit cog32 spur32 spur64 file;
7
+
magic = ./magic;
8
+
desktopItem = makeDesktopItem {
9
+
inherit name;
10
+
desktopName = "Pharo VM";
11
+
genericName = "Pharo Virtual Machine";
12
+
exec = "pharo %F";
13
+
icon = "pharo";
14
+
terminal = "false";
15
+
type="Application";
16
+
startupNotify = "false";
17
+
categories = "Development;";
18
+
mimeType = "application/x-pharo-image";
19
+
};
20
+
buildPhase = ''
21
+
substituteAllInPlace ./pharo-vm.sh
22
+
'';
23
+
installPhase = ''
24
+
mkdir -p $out/bin
25
+
cp pharo-vm.sh $out/bin/pharo
26
+
chmod +x $out/bin/pharo
27
+
'';
28
+
meta = {
29
+
description = "Pharo virtual machine (multiple variants)";
30
+
31
+
longDescription = ''
32
+
Pharo's goal is to deliver a clean, innovative, free open-source
33
+
Smalltalk-inspired environment. By providing a stable and small core
34
+
system, excellent dev tools, and maintained releases, Pharo is an
35
+
attractive platform to build and deploy mission critical applications.
36
+
37
+
This package provides a front-end for starting the virtual
38
+
machine. The command 'pharo-vm' automatically detects the type
39
+
of image and executes a suitable virtual machine: CogV3, Spur,
40
+
or Spur64. This makes it easy to open Pharo images because you
41
+
do not have to worry about which virtual machine variant is
42
+
required.
43
+
44
+
More about the Cog family of virtual machines:
45
+
http://www.mirandabanda.org/cogblog/about-cog/
46
+
'';
47
+
48
+
homepage = http://pharo.org;
49
+
license = stdenv.lib.licenses.mit;
50
+
maintainers = [ stdenv.lib.maintainers.lukego ];
51
+
# Pharo VM sources are packaged separately for darwin (OS X)
52
+
platforms = with stdenv.lib;
53
+
intersectLists
54
+
platforms.mesaPlatforms
55
+
(subtractLists platforms.darwin platforms.unix);
56
+
};
57
+
}
58
+
+37
pkgs/development/pharo/wrapper/magic
+37
pkgs/development/pharo/wrapper/magic
···
1
+
# Smalltalk image file formats
2
+
0 lelong 6502 Smalltalk image V3 32b (%d)
3
+
!:mime application/squeak-image
4
+
0 belong 6502 Smalltalk image V3 32b (%d)
5
+
!:mime application/squeak-image
6
+
0 lelong 6504 Smalltalk image V3 32b +C (%d)
7
+
!:mime application/cog-image
8
+
0 belong 6504 Smalltalk image V3 32b +C (%d)
9
+
!:mime application/cog-image
10
+
0 lelong 68000 Smalltalk image V3 64b (%d)
11
+
!:mime application/squeak64-image
12
+
4 belong 68000 Smalltalk image V3 64b (%d)
13
+
!:mime application/squeak64-image
14
+
0 lelong 68002 Smalltalk image V3 64b +C (%d)
15
+
!:mime application/cog64-image
16
+
4 belong 68002 Smalltalk image V3 64b +C (%d)
17
+
!:mime application/cog64-image
18
+
0 lelong 6505 Smalltalk image V3 32b +C+NF (%d)
19
+
!:mime application/cog-image
20
+
0 belong 6505 Smalltalk image V3 32b +C+NF (%d)
21
+
!:mime application/cog-image
22
+
0 lelong 68003 Smalltalk image V3 64b +C+NF (%d)
23
+
!:mime application/cog64-image
24
+
4 belong 68003 Smalltalk image V3 64b +C+NF (%d)
25
+
!:mime application/cog64-image
26
+
0 lelong 6521 Smalltalk image Spur 32b +C+NF (%d)
27
+
!:mime application/spur-image
28
+
0 belong 6521 Smalltalk image Spur 32b +C+NF (%d)
29
+
!:mime application/spur-image
30
+
0 lelong 68019 Smalltalk image Spur 64b +C+NF (%d)
31
+
!:mime application/spur64-image
32
+
4 belong 68019 Smalltalk image Spur 64b +C+NF (%d)
33
+
!:mime application/spur64-image
34
+
0 lelong 68021 Smalltalk image Spur 64b +C+NF+Tag (%d)
35
+
!:mime application/spur64-image
36
+
4 belong 68021 Smalltalk image Spur 64b +C+NF+Tag (%d)
37
+
!:mime application/spur64-image
+57
pkgs/development/pharo/wrapper/pharo-vm.sh
+57
pkgs/development/pharo/wrapper/pharo-vm.sh
···
1
+
#!/bin/sh
2
+
# This is based on the script by David T. Lewis posted here:
3
+
# http://lists.squeakfoundation.org/pipermail/vm-dev/2017-April/024836.html
4
+
#
5
+
# VM run utility script
6
+
# usage: run <myimage>
7
+
#
8
+
# Select a VM and run an image based on the image format number
9
+
10
+
PATH=$PATH:@file@/bin
11
+
12
+
# Search for the image filename in the command line arguments
13
+
for arg in $* $SQUEAK_IMAGE; do
14
+
case ${arg} in
15
+
-*) # ignore
16
+
;;
17
+
*) # either an option argument or the image name
18
+
if test -e ${arg}; then
19
+
magic=$(file -L -b -m @magic@ "$arg")
20
+
case "$magic" in
21
+
"Smalltalk image V3 32b"*)
22
+
image=${arg}
23
+
vm=@cog32@/bin/pharo-cog
24
+
;;
25
+
"Smalltalk image Spur 32b"*)
26
+
image=${arg}
27
+
vm=@spur32@/bin/pharo-spur
28
+
;;
29
+
"Smalltalk image Spur 64b"*)
30
+
if [ "@spur64vm@" == "none" ]; then
31
+
echo "error: detected 64-bit image but 64-bit VM is not available" >&2
32
+
exit 1
33
+
fi
34
+
image=${arg}
35
+
vm=@spur64@/bin/pharo-spur64
36
+
;;
37
+
esac
38
+
fi
39
+
;;
40
+
esac
41
+
done
42
+
43
+
# Print a message to explain our DWIM'ery.
44
+
if [ -n "$image" ]; then
45
+
echo "using VM selected by image type."
46
+
echo " image: $image"
47
+
echo " type: $magic"
48
+
echo " vm: $vm"
49
+
else
50
+
echo "using default vm; image type not detected"
51
+
vm=@cog32@/bin/pharo-cog
52
+
fi
53
+
54
+
# Run the VM
55
+
set -f
56
+
exec -- ${vm} $@
57
+
+5
-4
pkgs/top-level/all-packages.nix
+5
-4
pkgs/top-level/all-packages.nix
···
6383
6383
6384
6384
guile-xcb = callPackage ../development/guile-modules/guile-xcb { };
6385
6385
6386
-
pharo-vms = callPackage_i686 ../development/pharo/vm { };
6387
-
pharo-vm = pharo-vms.pharo-no-spur;
6388
-
pharo-vm5 = pharo-vms.pharo-spur;
6389
-
6386
+
pharo-vms = callPackage ../development/pharo/vm { };
6387
+
pharo = pharo-vms.multi-vm-wrapper;
6388
+
pharo-cog32 = pharo-vms.cog32;
6389
+
pharo-spur32 = pharo-vms.spur32;
6390
+
pharo-spur64 = assert stdenv.is64bit; pharo-vms.spur64;
6390
6391
pharo-launcher = callPackage ../development/pharo/launcher { };
6391
6392
6392
6393
srecord = callPackage ../development/tools/misc/srecord { };