On 4/28/2018 12:06 PM, Ben Coman wrote:
Speaking of which, one obvious point of contact could/should be
smalltalkhub. I am not sure if or how often squeakers are using it,
and it might be that I am missing something, but I tried to load
John Brant's SmaCC as instructed on his page and failed miserably,
although SmaCC should be a poster child for sharing between
different Smalltalks. It was built with sharing in mind, it works
for and within VA, VW and Pharo. Furthermore, the project as
published on smalltalkhub has already taken care of separating the
Pharo-only parts (mostly UI), and the configuration has a spec
called #common (as opposed to #pharo) that should be loadable in
Squeak.
John's instructions say:
Gofer new
smalltalkhubUser: 'johnBrant' project: 'SmaCC';
configurationOf: 'SmaCC';
loadBleedingEdge
Yet this clearly does not work out of the box in Squeak, so after
following the Metacello instructions and loading it (which did work
nicely), I had to not only fileIn a couple of Pharo classes
(GoferConfigurationReference. GoferMetacelloLoad and
MCSmalltalkhubRepository) to Squeak, but I had to also add several
methods to Gofer and MCSmalltalkhubRepository. While in Gofer they
were just some additional utility methods from Pharo, the ones in
MCSmalltalkhubRepository were needed to override inherited behavior,
plus for some reason WebClient did not work for me, so I had to make
sure to use HTTPSocket (which also has to replace the Pharo Zinc
client).
The Gofer-related code would thus be identical with the one in
Pharo, unfortunately MCSmalltalkhubRepository will probably have to
diverge, but I think that's a small price to pay.
I have attached as changesets the added methods.
Florin