Getting from GitBrowser to the System Browser

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Getting from GitBrowser to the System Browser

Squeak - Dev mailing list
Hi folks,

I am trying to get the Roassal stuff into Squeak.


The GitBrowser has succesfully pulled it, I have several branches to choose from and I want to get the stuff into Squeak browser and tests tool.


Anybody know how to proceed?

thx







Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Jakob Reschke
Hi,

since you have already cloned the repository, right-click on the top commit
in the commit list and choose "Checkout objects". This will load the
packages.

Kind regards,
Jakob



--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list
Thank you.

TonelParser >> hasStatefulTraits
"Pharo has stateful traits starting on version 7"

^ SystemVersion current major >= 7


but I am on Squeak....

thx again

---- On Sat, 03 Oct 2020 10:18:27 -0400 Jakob Reschke <[hidden email]> wrote ----

Hi,

since you have already cloned the repository, right-click on the top commit
in the commit list and choose "Checkout objects". This will load the
packages.

Kind regards,
Jakob



--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html





Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list
In reply to this post by Jakob Reschke
Hi Jakob

I wrapped the


SystemVersion current major >= 7
in a block


^[SystemVersion current major >= 7] on: Error do:[false]

and that got past that hump.



---- On Sat, 03 Oct 2020 10:18:27 -0400 Jakob Reschke <[hidden email]> wrote ----

Hi,

since you have already cloned the repository, right-click on the top commit
in the commit list and choose "Checkout objects". This will load the
packages.

Kind regards,
Jakob



--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html





Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Jakob Reschke
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

Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list

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 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 <[hidden email]> 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





Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Tom Beckmann
In reply to this post by Jakob Reschke
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 <[hidden email]> 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 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 <[hidden email]> 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





Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list

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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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








Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Jakob Reschke
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 <[hidden email]>:

>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list
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/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 <[hidden email]> 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 <[hidden email]>:

>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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
>
>
>
>
>
>






Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Tom Beckmann
In reply to this post by Jakob Reschke
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 <[hidden email]> 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/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 <[hidden email]> 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 <[hidden email]>:
>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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
>
>
>
>
>
>






Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list
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 [hidden email] 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 <[hidden email]> 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/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 <[hidden email]> 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 <[hidden email]>:
>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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
>
>
>
>
>
>







Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Tom Beckmann
In reply to this post by Tom Beckmann
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 <[hidden email]> 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 [hidden email] 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 <[hidden email]> 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/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 <[hidden email]> 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 <[hidden email]>:
>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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
>
>
>
>
>
>







Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list
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 -0400 [hidden email] 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 <[hidden email]> 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 [hidden email] 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 <[hidden email]> 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/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 <[hidden email]> 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 <[hidden email]>:
>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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
>
>
>
>
>
>








Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Tom Beckmann
In reply to this post by Tom Beckmann
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 <[hidden email]> 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 -0400 [hidden email] 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 <[hidden email]> 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 [hidden email] 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 <[hidden email]> 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/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 <[hidden email]> 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 <[hidden email]>:
>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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
>
>
>
>
>
>








Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list
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 <[hidden email]> 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 <[hidden email]> 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 -0400[hidden email] 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 <[hidden email]> 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 [hidden email] 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 <[hidden email]> 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 


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 <[hidden email]> 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 <[hidden email]>:
>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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
>
>
>
>
>
>










Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list
In reply to this post by Squeak - Dev mailing list
Hi folks,

backing up from the specifics and looking at the "correct" way to go about this so we are all on the same page.

Could you please check my assumptions as this Git stuff in squeak is new to me.


If we have the Git, why do we need the Metacello? Can/should we do all the work in the Git and then when it is done, do the Metacello?


Assuming "doing all the work in Git" is the way to go...

Is just "working through the baseline" and getting things in the system a good approach?

Thoughts?

thx

tty



Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Squeak - Dev mailing list
In reply to this post by Tom Beckmann
Hi folks.

I am on a brand new image, no git repos cloned or fetched.

/home/wm/Squeak/images/RoassalSqueak6.0alpha-19893-64bit/RoassalSqueak6.0alpha-19893-64bit.image
Squeak6.0alpha
latest update: #19900
Current Change Set: HomeProject
Image format 68021 (64 bit)
my working notes step-by-step are:
pristine image

Installer ensureRecentMetacello

SquitAddRemote >>remoteName
      ^ remoteName ifNil: [String empty] ifNotNil: [remoteName asString]

load:

(Smalltalk classNamed: #Metacello) new
   repository: 'github://squeak-smalltalk/squeak-tonel:squeak';
   baseline: 'Tonel';
   load.

Metacello new
    baseline: 'Roassal3';
    repository: 'github://tom95/Roassal3';
    load.
all work fine so far excelp the Roassal3 install.

The last one throws: MessageNotUnderstood: MCStReader class>>on:fileName:

I am going clone Tom's repo now and see what happens.

cheers,

t


---- On Sun, 04 Oct 2020 07:20:59 -0400 Tom Beckmann <[hidden email]> 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 <[hidden email]> 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 -0400[hidden email] 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 <[hidden email]> 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 [hidden email] 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 <[hidden email]> 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 


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 <[hidden email]> 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 <[hidden email]>:
>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 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 <[hidden email]> 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
>
>
>
>
>
>










Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Jakob Reschke
In reply to this post by Squeak - Dev mailing list
Hi,

Loading the repository packages with Git will only load the packages
that belong to Roassal, but not its dependencies (other third-party
packages) if any. To get the dependencies, Metacello is used.
(Moreover the Metacello baseline could indicate that some packages are
only relevant for Pharo version x and others for Pharo version y, or
others for Squeak version z. I suppose that is something Tom has been
modifying for his *-Squeak package.)

So I would recommend: first install the software via Metacello, then
start using Git on the loaded packages. It does not really matter
whether you initialize the Git project before or after loading with
Metacello. That is because currently the Clone action does not load
the packages into the image (you would still have to "Checkout
objects" after cloning). I should probably change that in the future.
If you Add the repository instead of Clone, nothing will be loaded at
first either.

After you have both loaded the code via Metacello and set up the Git
repository, check whether there are any differences between your image
and what is on the active branch (the one with the green dot) by
pushing the Commit button or right-clicking the top commit or active
branch and choosing "Compare with working copy".

If there are differences and if that is because a different branch or
commit was used in the Metacello load, you have some options to fix
the situation:
1) Identify the correct branch that you installed via Metacello. Then
shift+right-click on the branch and choose "Make this the current
branch". This will change the active branch, but not make any changes
to the loaded classes (similar to Reparent in Monticello).
2) If there is no branch, identify the commit that matches what you
installed, find it in the commit list, right-click on it and choose
"Create new branch at this commit". Then proceed with option 1.
3) Overwrite the loaded classes with the state of the active branch:
right-click on the top commit and choose "Checkout objects".

If you do not use Metacello, you must collect the dependencies
manually and load them with Git or Monticello in the correct order. To
find the dependencies, you would read the baseline(s) and thus follow
the dependency graph.

Kind regards,
Jakob

Am So., 4. Okt. 2020 um 14:34 Uhr schrieb gettimothy <[hidden email]>:

>
> Hi folks,
>
> backing up from the specifics and looking at the "correct" way to go about this so we are all on the same page.
>
> Could you please check my assumptions as this Git stuff in squeak is new to me.
>
>
> If we have the Git, why do we need the Metacello? Can/should we do all the work in the Git and then when it is done, do the Metacello?
>
>
> Assuming "doing all the work in Git" is the way to go...
>
> Is just "working through the baseline" and getting things in the system a good approach?
>
> Thoughts?
>
> thx
>
> tty
>


Reply | Threaded
Open this post in threaded view
|

Re: Getting from GitBrowser to the System Browser

Tom Beckmann
In reply to this post by Squeak - Dev mailing list
Hi timothy,

first, on the Array>>\ error, this is likely because you somehow ended up with the master instead of the squeak branch of squeak-tonel. I would recommend to manually unload all three tonel packages using the Monticello Browser and then running:
Metacello new
     repository: 'github://squeak-smalltalk/squeak-tonel:squeak';
     baseline: 'Tonel';
     load.

On Metacello vs Git and the general workflow:
- from my understanding, it is generally recommendable to first install a package using Metacello as it takes care to resolve and install third-party dependencies you may not want to care about
- Metacello is, however, end-user oriented if you will; the sources are stored in a github-cache folder, which only exists for caching purposes. My usual workflow is thus, after installing the desired package once using Metacello, to clone the main repo (the repo that I actually care about) again using the GitBrowser and do a checkout on the most recent commit on master; this should leave things unchanged provided that Metacello also installed the version from the master branch
- You can then work in your image and adapt things as needed; when you have a working increment, you can use the GitBrowser again to create commits and push them Github, typically to a fork that belongs to you and then place a pull request

You can skip Metacello if you clone all dependencies using the GitBrowser and install them one after the other in the right order. If you look at the many dependencies of for example Roassal [1], it will however be pretty obvious why you would usually want to have Metacello automate this for you.

Hope this helps you to get started. Please feel free to ask again if I left something unanswered or if you feel like the workflow should be easier in some way. Maybe there is something we can improve :)

Best,
Tom


On Sun, Oct 4, 2020 at 2:34 PM gettimothy via Squeak-dev <[hidden email]> wrote:
Hi folks,

backing up from the specifics and looking at the "correct" way to go about this so we are all on the same page.

Could you please check my assumptions as this Git stuff in squeak is new to me.


If we have the Git, why do we need the Metacello? Can/should we do all the work in the Git and then when it is done, do the Metacello?


Assuming "doing all the work in Git" is the way to go...

Is just "working through the baseline" and getting things in the system a good approach?

Thoughts?

thx

tty




12