Archive for the ‘CMake project’ Category

Here are the command line commands I used to get CogSpur running with a VMMaker image and the CMakeVMakerSqueak package starting from scratch.

#Do an svn checkout

svn co http://www.squeakvm.org/svn/squeak/branches/Cog

#run Eliot’s bash script to get the VMMaker image up and configured.

cd Cog/image
./ buildspurtrunkvmmakerimage.sh
./ cogspurlinuxht/squeak  SpurVMMaker.image  &

#Install the CMakeVMMakerSqueak package and see the documentation
Monticello browser
Repository http://source.squeak.org/VMMaker
CMakeVMMaker (latest) load
CMakeVMMakerSqueak (latest) load
HelpBrowser topic CMakeVMMakerSqueak

save and quit

#set up my personal working environment

#put the executable cog/spur in my PATH

mv cogspurlinuxht /home/tty/usr/bin/

#set up a development area independent of the Cog svn source tree
cd ../../
mkdir cogspurVMMaker
mv Cog/image/SpurVMMaker.* cogspurVMMaker/
mv Cog/image/SqueakV50.sources cogspurVMMaker/

#the tools are installed. now we need to put the Cog source tree
#in a subdirectory of the .image file. The directory is named ‘oscogvm’

cd cogspurVMMaker
mkdir oscogvm
rsync -Carv  –exclude=”image*”  ../Cog/ cogspurVMMaker/

#the resulting work environment directory tree looks like this

tree -d -L 2  cogspurVMMaker/
`– oscogvm
|– build.linux32ARM
|– build.linux32x86
|– build.linux64x64
|– build.macos32x86
|– build.macos64x64
|– build.win32x86
|– history
|– nsspursrc
|– nsspurstack64src
|– nsspurstacksrc
|– nssrc
|– platforms
|– processors
|– products
|– scripts
|– sources
|– spur64src
|– spursistasrc
|– spursrc
|– spurstack64src
|– spurstacksrc
|– src
`– stacksrc



Read Full Post »

This is a quick note as I get up to speed on the project after a long hiatus. Ben at the mailing list asked for help on getting set up. Here is one of the scripts to install the tools:


| manifest load |
Scanner prefAllowUnderscoreSelectors: true.

manifest := #(    (‘http://source.squeak.org/FFI’                    1    (‘FFI-Pools’ ‘FFI-Kernel’))
(‘http://source.squeak.org/VMMaker’        6    (‘Balloon-Engine-Pools’ ‘VMMaker.oscog’ ‘Cog’ ‘CogTools’ ‘ImageFormat’ ‘CMakeVMMaker’ ‘CMakeVMMakerSqueak’))
(‘http://ss3.gemstone.com/ss/MethodMassage’        3    (‘MethodMassage’ ‘MethodMassageCompatibility’))
(‘http://www.squeaksource.com/AioPlugin’        7    (‘VMConstruction-Plugins-AioPlugin’))
(‘http://www.squeaksource.com/Alien’            0    (‘Alien’))
“(‘http://www.squeaksource.com/FreeTypePlus’    5    (‘FreeType’)) can’t load this.  it is toxic to Squeak 4.5”
(‘http://ss3.gemstone.com/ss/FreeTypePlus’    5    (‘FreeTypeConstants’ ‘FreeType’ ‘FreeTypeTests’))
(‘http://www.squeaksource.com/FreetypePlugin’    8    (‘Freetype-Plugin’))
(‘http://www.squeaksource.com/OSProcess’        4    (‘OSProcess’))
(‘http://www.squeaksource.com/OSProcessPlugin’    9    (‘VMConstruction-Plugins-OSProcessPlugin.oscog’))
(‘http://www.squeaksource.com/rb’                5    (‘AST-Core’ ‘AST-Semantic’ ‘AST-Tests-Core’ ‘AST-Tests-Semantic’ ‘Refactoring-Changes’ ‘Refactoring-Core’ ‘Refactoring-Environment’ ‘Refactoring-Tests-Changes’ ‘Refactoring-Tests-Core’ ‘Refactoring-Tests-Environment’))
(‘http://www.squeaksource.com/Speech’            2    (‘SharedPool-Speech’ ))).

load := (manifest collect:
[:path :order :packages| | repository |
repository := MCHttpRepository
location: path
user: ‘squeak’
password: ‘squeak’.
MCRepositoryGroup default addRepository: repository.
{repository. order. packages}] valueWithArguments: tuple])
sort: [:a :b| a second <= b second].

#(    ‘FT2Constants.st’
) do:
[:fileName| (FileDirectory default fileNamed: fileName) fileIn].

World findATranscript: nil.

load do:
[:repository :order :packages|
packages do:
[:package| | latestVersion |
latestVersion := (repository versionNamesForPackageNamed: package) first.
[| version |
version := ((MCCacheRepository default includesVersionNamed: latestVersion)
ifTrue: [MCCacheRepository default]
ifFalse: [repository]) versionNamed: latestVersion.
version load.
version workingCopy repositoryGroup addRepository: repository]
on: Warning
do: [:ex|
(ex messageText beginsWith: ‘This package depends on the following classes’) ifFalse:
[ex pass].
ex resume]]]
valueWithArguments: tuple].

Read Full Post »