[squeak-dev] Getting from GitBrowser to the System Browser

gettimothy gettimothy at zoho.com
Sun Oct 4 12:31:13 UTC 2020


Hi folks.





Tom I have been watching you commit since about 4 am this morning, while I try to install the baseline specs manually...



That Metacello errors out for me....I am wondering if it is because the git repos are local...





Could not resolve: BaselineOfRoassal3 [BaelineOfRoassal3] in /home/wm/Squeak/images/Roassal3Squeak6.0alpha.../package-cache github://tom95/Roassal3:master/src ERROR: `GoferRepositoryError: Array>>\`





in MetacelloFetchingMCSpecLoaser(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences: packageSpec gofer: gofer



I will send a followup email inquiring about how to do this whole thing from the Git repos...



cheers.



t


---- On Sun, 04 Oct 2020 07:20:59 -0400 Tom Beckmann <tomjonabc at gmail.com> wrote ----



Hi timothy,



just as a quick update: the Baseline is now finally correct (I hadn't realized that my base package cannot share a prefix with the main package or else all its classes will be removed again when the main package loads).

So, if you execute the following in a Squeak-trunk image and click "Proceed" a good number of times when you're prompted about missing classes, hopefully you'll be greeted with a chart:



Metacello new
    baseline: 'Roassal3';
    repository: 'github://tom95/Roassal3';
    load.

RSChartExample new example01Markers open.




A note to my earlier description of the changes: I dropped the Roassal3-Shapes-Squeak package and instead put the changes directly in the Roassal3-Shapes package in a way that they remain compatible with Pharo.



Best,

Tom




On Sat, Oct 3, 2020 at 11:40 PM gettimothy via Squeak-dev <mailto:squeak-dev at lists.squeakfoundation.org> wrote:



Tom thank you.

 

 I willhit it tomorrow!

 

 I am really looking forward to this port.  

 

 Cheers.

 

 T 









---- On Sat, 03 Oct 2020 17:26:32 -0400mailto:tomjonabc at gmail.com wrote ----

 

 

Hi,



Metacello new
     baseline: 'Roassal3';
     repository: 'github://tom95/Roassal3';
     load.


will get you started, then you will have to handle the various errors that arise from the incorrect load order. Repeating the whole command once it's done will allow you to recover from some load errors, too.



Best,

Tom




On Sat, Oct 3, 2020 at 10:21 PM gettimothy via Squeak-dev <mailto:squeak-dev at lists.squeakfoundation.org> wrote:





Hi Tom



Thank you for the detailed reply.



Re:"I would recommend using Metacello for loading it first, as it will install all dependencies. "



Where do I find that Metaccello? I assume I will need a ConfigurationOfRoassal3 frome somewhere.



Regarding the fork, I think yours us the way to go until I get the lay of the land.

I haven't even wirked through roassak examples on pharo yet.



When we get smooth installation abd Eliot has time to putter with it, the community can decide on the Athens thing.



Thanks again









---- On Sat, 03 Oct 2020 15:57:43 -0400 mailto:tomjonabc at gmail.com  wrote ----

 

 

Hi timothy,



the snippet from Jakob should give you the updated Tonel such that you can load Roassal and its dependencies, at least syntax/format-wise. I would recommend using Metacello for loading it first, as it will install all dependencies. If you use my fork,
 you will get the "repaired" Geometry package. Afterwards, you can use the GitBrowser for proper development by cloning my Roassal fork and then checking out the code. Note that you will hit a great number of missing dependencies, which you need to all "Proceed"
 and potentially also fix manually. Some code may not be properly overridden, so be sure to check the -Squeak packages for missing overrides if you hit an error in a specific method. I'm hoping to get around to investigate the proper Baseline load order sometime
 in the next few days (especially also for my own curiosity...).



Concerning next steps for porting: you can base your work off of my fork (for example simply fork it again and if you like, place pull requests). Or alternatively, take a different route to porting, potentially keeping Athens, and base your own work on
 the Roassal main repo.



I'll provide a quick description of the things in my fork in the following. There are three packages with adaptations for Squeak (of which the naming can be improved):

- Roassal3-Pharo-Squeak: some classes from the Pharo Base System that Roassal assumes exist. For a proper port, I would want to get rid of this entirely and instead introduce adapter where necessary. This has to be loaded first as Roassal3 (core) wants
 to extend these classes, too.

- Roassal3-Squeak: this is the proper port, mostly the Balloon code for rendering and for our Morph.

- Roassal3-Shapes-Squeak: the -Shapes package uses some functions from the font system. We need to override these. We can't put these in our other -Squeak package because we first need the other classes to be loaded.



Important todo items that I can currently see:

- only the basic packages work (I tested Charts in particular); others have different dependencies into the Pharo system (e.g. UML)

- quality and performance are lacking when compared to the Cairo/Athens version

- fonts do not scale currently



Best,

Tom




On Sat, Oct 3, 2020 at 8:41 PM gettimothy via Squeak-dev <mailto:squeak-dev at lists.squeakfoundation.org> wrote:



Hi,



Thanks.



On a brand new squeak6.0 alpha (easily spun up thanks to the squeak-launcher (:)  

git tools, etc installed via the preference wizard.

BaselineOftonel is in Monticello browser.



I run 

repository: 'github://squeak-smalltalk/squeak-tonel:squeak';

baseline: 'Tonel';

get; load.



works fine.

 

 Open the Git browser, 

 

 Add Roassal3 project.

 

 RHClick..Add remote copy-n-paste in 

 

https://github.com/gettimothy/hello-world.githttps://github.com/tom95/Roassal3
 
 

 MNU Text(Object) does not understand #includesSubstring:

 

 what am I missing?

 

 thx

 

 

 

 The MNU again on 

 

---- On Sat, 03 Oct 2020 13:15:11 -0400 Jakob Reschke <mailto:forums.jakob at resfarm.de> wrote ----



Hi, 
 
 Tom provided the fix and the pull request, and I integrated it. So 
 yes, we work together. 
 
 Now to update an existing installation I suppose one should use Metacello: 
 
 Metacello new 
 repository: 'github://squeak-smalltalk/squeak-tonel:squeak'; 
 baseline: 'Tonel'; 
 get; load. 
 
 Kind regards, 
 Jakob 
 
 Am Sa., 3. Okt. 2020 um 18:26 Uhr schrieb gettimothy <mailto:gettimothy at zoho.com>: 
 > 
 > 
 > Tom, 
 > 
 > Thank you very much for your work. 
 > 
 > Is this in support of Jakob's pull request? i.e. are you two working together? 
 > 
 > How should I proceed from here? Pull from your repo? 
 > 
 > 
 > cheers, 
 > 
 > t 
 > 
 > 
 > ---- On Sat, 03 Oct 2020 10:49:20 -0400 Tom Beckmann <mailto:tomjonabc at gmail.com> wrote ---- 
 > 
 > Hi timothy, 
 > (you'll probably be seeing this mail twice, my first attempt bounced on the ML because my mail address had changed, sorry!) 
 > 
 > after I read yours and Eliot's conversation, I went to try loading Roassal3 to see how our Tonel support is doing. I stumbled over three errors: 
 > - The error you just mentioned [1] 
 > - Monticello was not strict enough with matching MCReader capabilities [2] 
 > - The Geometry package used in Roassal uses Unicode symbols in their code, which is not supported in Squeak [3] 
 > 
 > I then went ahead and tried to adapt things a little and got the result you can see in the attachment. The experiment is found here [4]. I decided to not load Athena at all and started putting together an alternative Balloon backend instead (I am aware that
 Athena has a Balloon backend as well, the one I found consisted mostly of stubs, however). The resulting quality does not compare with Cairo, of course, but the basics were up and running very quickly. 
 > 
 > In theory, this should give you the working installation, however, packages load out-of-order because I did not manage to the baseline quite right just yet: 
 > 
 > Metacello new 
 > baseline: 'Roassal3'; 
 > repository: 'github://tom95/Roassal3'; 
 > load. 
 > 
 > Best, 
 > Tom 
 > 
 > [1] https://github.com/squeak-smalltalk/squeak-tonel/pull/5 
 > [2] http://forum.world.st/The-Inbox-Monticello-tobe-729-mcz-td5122924.html 
 > [3] https://github.com/tom95/Geometry/commit/5e7e1fa89bbd699baf41066e33d6242730d4766c 
 > [4] https://github.com/tom95/Roassal3 
 > 
 > On Sat, Oct 3, 2020 at 4:38 PM gettimothy via Squeak-dev <mailto:squeak-dev at lists.squeakfoundation.org> wrote: 
 > 
 > 
 > Thank you. 
 > 
 > 
 > If you are interested, I will be figuring out Pillar with this github stuff and getting the beginnings of some books up on http://squeakbooks.org* 
 > 
 > I will be documenting these steps in a booklet. 
 > 
 > This squot/git stuff will both be used and the subject of that booklet. 
 > 
 > good stuff. 
 > 
 > thanks for your work. 
 > 
 > 
 > 
 > 
 > *Help Browser team...I am confident that an XTreams-Parsing grammar /actor pair can be written to auto-generate HelpBrowser books from the Pillar to the Help Browser. 
 > 
 > 
 > 
 > 
 > 
 > 
 > ---- On Sat, 03 Oct 2020 10:32:02 -0400 Jakob Reschke <mailto:forums.jakob at resfarm.de> wrote ---- 
 > 
 > I am in the middle of integrating a pull request to solve this bug in 
 > squeak-tonel. :-) 
 > 
 > 
 > 
 > -- 
 > Sent from: http://forum.world.st/Squeak-Dev-f45488.html 
 > 
 > 
 > 
 > 
 > 
 >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20201004/de4e1370/attachment-0001.html>


More information about the Squeak-dev mailing list