Scripts to build Squeak ("Classic VM") and OpenSmalltalk ("Spur VM").
Squeak (Smalltalk) can be built inside frameworks such as:
OpenIndiana Userland:
https://github.com/OpenIndiana/oi-userland
or
Solaris Userland:
https://github.com/oracle/solaris-userland
Because squeak and opensmalltalk are available in the userland, check those frameworks (and repositories) as they could provide an alternative.
Because the above userland frameworks will do a good job of dealing with dependencies, and they also provide support for 'consolidations' and 'mediators', they have interesting features that this simple package does not have.
The 'mediator' support allows for example to install squeak and opensmalltalk
simultaneously, and to select with pkg mediator squeak which version to use:
# pkg mediator squeak
MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION
squeak system 4 system
In addition the squeak and opensmalltalk packages in the userland frameworks,
distinguish between the plugins and the core binaries; this allows to
install the core binaries only with the squeak-nodisplay
(and stack-spur-nodisplay) packages, which provide just a basic minimal setup,
where it is possible to run squeak with the -nodisplay option.
This package (without mediator/consolidation/nodisplay etc.) is a standalone build framework for building Squeak, and is perhaps a good first step in making sure that the various "configure" scripts work.
It packages all binaries and plugins in one package because, unlike the
userland packages, it does not deal with dependencies, so there is less of
a need to separate plugins and binaries. It is for example possible to
do a minimal install and then add the full package as it will complain about
missing dependencies anyway.
See "HowToBuild" for more info on building OpenSmalltalk.
See https://wiki.squeak.org/squeak/6354 for building Squeak classic VM.
We've included the "p5m" IPS manifest for our Squeak package as well.
That manifest is manually created using:
$ pkgsend generate reloc/ >> squeak.p5m
$ ... manually remove dir entries and sound-Sun ...
$ pkgsend publish -d reloc -s myrepo squeak.p5m
$ pkgrecv -a -s myrepo/ -d squeak-4.19.9-3808-solaris11.3.p5p squeak@4.19.9
Note that this simple "Classic VM" package is just for those cases,
where an alternative to the "userland" frameworks (and repositories)
is needed (without all of the advantages of dependencies of "userland").
David Stes