OS-X Squeak branch VM

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

OS-X Squeak branch VM

johnmci
 
I've a boatload of OS-X fixes to commit to the Squeak branch, but 

(0) I need someone to regenerate the iOS/vm/src/vm  tree using whatever the current blessed pre-cog VMMaker version/setup/etc is. 

(a) Do I want to even bother? Should all app builds just be Cog based going forward?

(b) I'm not sure what the current Squeak branch app update process is?

(c) I don't do website, so need someone to flesh out http://squeakvm.org/mac/ a bit.
IE Cocoa Stack VM & Cog VM links don't work
 
(d) I need some help with the iOS builds/testing as there are pending changes there based on fixes to the OS-X code (mostly in the UI abstraction). 


--
===========================================================================
John M. McIntosh. Corporate Smalltalk Consulting Ltd https://www.linkedin.com/in/smalltalk
===========================================================================
Reply | Threaded
Open this post in threaded view
|

Re: OS-X Squeak branch VM

David T. Lewis
 
Hi John,

On Tue, May 24, 2016 at 10:22:09AM -0700, John McIntosh wrote:
>  
> I've a boatload of OS-X fixes to commit to the Squeak branch, but
>
> (0) I need someone to regenerate the iOS/vm/src/vm  tree using whatever the
> current blessed pre-cog VMMaker version/setup/etc is.

I am afraid that I don't know enough about iOS to answer the question
properly, but it is possible that the generated sources in squeak/trunk/src/
(next to /squeak/trunk/platforms/ in the repository) are close to what you
are looking for. These are up to date with the latest VMMaker, generated by
me on a Linux box, and checked in concurrently with VMMaker updates.

Most likely some of the plugin sources that you need will not be present
in trunk/src, if so maybe you can help me fix that.

For what it's worth here is what I would do to generate the C sources when
working on a Unix/Linux box:

Start with a clean Squeak 4.6 image (I use a 4.5 image myself, but 4.6
should be the same). If you use 5.0, do not update to trunk level because
it is likely to contain methods that do not translate as expected due to
immediate Character changes, e.g. MiscPrimitivePlugin included methods.
I have not tested but I assume there will be problems.

Use SqueakMap loader, uncheck the use "safely-available packages", find
VMMaker, and load the (head) package. This loads the necessary packages
from the update maps in the VMMaker repository.

Evaluate "VMMaker initiialize" to make SlangBrowser work (sorry, this needs
to go into a package postscript but I forgot to do it).

Evaluate "VMMakerTool forUnix" and use this to generate the sources. From
there, you can select "iOS" as the platform name, then generate the sources
in the usual manner.

The directory structure has changed since you last used it, and the layout
of the platforms, src, and build directories is now basically the same as
in the Cog tree. I think that we all collectively came to the conclusion
that saving generated sources inside the unix or iOS branches was a bad idea,
so we now put all generated sources in a /src directory next to /platforms,
and use plugins.int, plugins.ext, and plugins.exc files to define what to
include in a build. You can put these in your build directory, and they will
override the default plugins.int and plugins.ext that are provided in the
./src directory.

>
> (a) Do I want to even bother? Should all app builds just be Cog based going
> forward?

In my opinion, it would be /great/ if you can do this. We should keep these
platform sources healthy in addition to all of the good work that is going
on in Cog/Spur/Sista. Easy for me to say though, you are the one doing the
work and I don't know how much effort is involved.

>
> (b) I'm not sure what the current Squeak branch app update process is?

Tim keeps the RiscOS branch up to date. Marcel and Tobias have recently
stepped forward to work on Andreas' win32 branch. Ian looks after unix as
time permits, and has delegated to me to assist. You and Esteban own the
Mac OS and iOS branches. Eliot has commit rights to everything. I can help
with password resets if you need them for either your [hidden email]
login, or for the johnmci access to the Subversion repository.

>
> (c) I don't do website, so need someone to flesh out
> http://squeakvm.org/mac/ a bit.
> IE Cocoa Stack VM & Cog VM links don't work

It would be great if you can help clean this up. I'm not a website kind
of guy either, but I'll help if I can. The actual files are owned by
Esteban (most likely they were your original files copied over to the
[hidden email] account, but I am not sure). If you and Esteban
agree, I can abuse my sudo privileges to give them back to you, or maybe
you and Esteban can do it together, or maybe you can tell me what you
want to put on the page and I'll try to figure it out (this is my least
favored approach, but whatever works).

>
> (d) I need some help with the iOS builds/testing as there are pending
> changes there based on fixes to the OS-X code (mostly in the UI
> abstraction).
>

I am completely totally way out of my depth on this one ;-)

HTH,
Dave

Reply | Threaded
Open this post in threaded view
|

Re: OS-X Squeak branch VM

David T. Lewis
 
John,

I need to correct a couple things that I said:

I just tested a VM build generated from Squeak 4.6, and I get a primitive
failure that is probably related to one of the included methods in
MiscPrimitivePlugin. I don't have time to look at it now, but please use
a Squeak 4.5 image for the time being. My working image is Squeak 4.5
latest update #1195.

I mentioned that ./src directory structure is now the same as for oscog.
That was changed back in 2013. Hopefully this is a good thing because
it should match whatever you are doing in Cog/Spur, but if do you require
the old directory structure, use this:

VMMaker class>>useSinglePluginsDirectory: aBoolean
        "If true, all generated plugins will be in a common directory, otherwise the old
        directory structure is used in which internal and external plugins are generated
        to separate directories."

Dave


On Tue, May 24, 2016 at 10:40:15PM -0400, David T. Lewis wrote:

>  
> Hi John,
>
> On Tue, May 24, 2016 at 10:22:09AM -0700, John McIntosh wrote:
> >  
> > I've a boatload of OS-X fixes to commit to the Squeak branch, but
> >
> > (0) I need someone to regenerate the iOS/vm/src/vm  tree using whatever the
> > current blessed pre-cog VMMaker version/setup/etc is.
>
> I am afraid that I don't know enough about iOS to answer the question
> properly, but it is possible that the generated sources in squeak/trunk/src/
> (next to /squeak/trunk/platforms/ in the repository) are close to what you
> are looking for. These are up to date with the latest VMMaker, generated by
> me on a Linux box, and checked in concurrently with VMMaker updates.
>
> Most likely some of the plugin sources that you need will not be present
> in trunk/src, if so maybe you can help me fix that.
>
> For what it's worth here is what I would do to generate the C sources when
> working on a Unix/Linux box:
>
> Start with a clean Squeak 4.6 image (I use a 4.5 image myself, but 4.6
> should be the same). If you use 5.0, do not update to trunk level because
> it is likely to contain methods that do not translate as expected due to
> immediate Character changes, e.g. MiscPrimitivePlugin included methods.
> I have not tested but I assume there will be problems.
>
> Use SqueakMap loader, uncheck the use "safely-available packages", find
> VMMaker, and load the (head) package. This loads the necessary packages
> from the update maps in the VMMaker repository.
>
> Evaluate "VMMaker initiialize" to make SlangBrowser work (sorry, this needs
> to go into a package postscript but I forgot to do it).
>
> Evaluate "VMMakerTool forUnix" and use this to generate the sources. From
> there, you can select "iOS" as the platform name, then generate the sources
> in the usual manner.
>
> The directory structure has changed since you last used it, and the layout
> of the platforms, src, and build directories is now basically the same as
> in the Cog tree. I think that we all collectively came to the conclusion
> that saving generated sources inside the unix or iOS branches was a bad idea,
> so we now put all generated sources in a /src directory next to /platforms,
> and use plugins.int, plugins.ext, and plugins.exc files to define what to
> include in a build. You can put these in your build directory, and they will
> override the default plugins.int and plugins.ext that are provided in the
> ./src directory.
>
> >
> > (a) Do I want to even bother? Should all app builds just be Cog based going
> > forward?
>
> In my opinion, it would be /great/ if you can do this. We should keep these
> platform sources healthy in addition to all of the good work that is going
> on in Cog/Spur/Sista. Easy for me to say though, you are the one doing the
> work and I don't know how much effort is involved.
>
> >
> > (b) I'm not sure what the current Squeak branch app update process is?
>
> Tim keeps the RiscOS branch up to date. Marcel and Tobias have recently
> stepped forward to work on Andreas' win32 branch. Ian looks after unix as
> time permits, and has delegated to me to assist. You and Esteban own the
> Mac OS and iOS branches. Eliot has commit rights to everything. I can help
> with password resets if you need them for either your [hidden email]
> login, or for the johnmci access to the Subversion repository.
>
> >
> > (c) I don't do website, so need someone to flesh out
> > http://squeakvm.org/mac/ a bit.
> > IE Cocoa Stack VM & Cog VM links don't work
>
> It would be great if you can help clean this up. I'm not a website kind
> of guy either, but I'll help if I can. The actual files are owned by
> Esteban (most likely they were your original files copied over to the
> [hidden email] account, but I am not sure). If you and Esteban
> agree, I can abuse my sudo privileges to give them back to you, or maybe
> you and Esteban can do it together, or maybe you can tell me what you
> want to put on the page and I'll try to figure it out (this is my least
> favored approach, but whatever works).
>
> >
> > (d) I need some help with the iOS builds/testing as there are pending
> > changes there based on fixes to the OS-X code (mostly in the UI
> > abstraction).
> >
>
> I am completely totally way out of my depth on this one ;-)
>
> HTH,
> Dave