[Cuis-dev] Haver a Cuis based Smalltalk with Modules

Gerald Klix cuis.01 at klix.ch
Sat May 1 02:41:23 PDT 2021


Hi Luciano,

see my answers below.

On 2021-05-01 09:02, Luciano Notarfrancesco via Cuis-dev wrote:
> Hi,
> Congratulations!
Thanks a bunch!
> 
> It would be great to have a simple way to make releases (bundles of
> customized Cuis images with virtual machines for each platform). I’d like
> to make releases of my Cuis projects so people (not necessarily
> Smalltalkers) can download and try my projects.
Yes that is one of my goals.

Currently I have a solution for distributing
Haver and Cuis (which is included in the Haver distribution):
http://haver.klix.ch/overview.html#starting-the-image
and:
https://hg.sr.ht/~cy-de-fect/HaverOnCuis/browse/haver/packaging/Distributor.pck.st


@At all:
*If there is demand for creating
redistributable applications, please tell me so*

I will describe what I have in mind and we can discuss it. (I am sure 
Dr.Ge. has that requirement)

> 
> It would be great also to have some way to compile plugins for all
> platforms without the hassle of setting up compile environments for each
> platform, perhaps we should make a compile server for this? Or is there one
> already?
The easy solution is to get the plugin integrated into the normal vm 
build process.
Then again, their Linux build was broken for some time, that's why I a 
choose a revision from
February 2021 for Haver.

Currently I can live with a manual build process
for the virtual machines, I do not intend to
change them more than once every quarter.
> 
> Have you tried making Cuis packages for the namespaces or other parts of
> your project?
> 
Ah, yes. Please see:
https://hg.sr.ht/~cy-de-fect/HaverOnCuis/browse

However it is not that easy, you have to file in
a big change-set to the base-image to make
environments work:
https://hg.sr.ht/~cy-de-fect/HaverOnCuis/browse/environments/coreChanges/CuisCoreEnvironmentSupport.cs.st

This change-set is handcrafted, because
some methods modify the compiler's interface
to global symbols. That means, during file in,
the newly filed-in methods are called
immediately after their installation to
compile the next method in the change set.

See:
https://hg.sr.ht/~cy-de-fect/HaverOnCuis/browse/environments/coreChanges/CuisCoreEnvironmentSupport.cs.st#L561

and:

https://hg.sr.ht/~cy-de-fect/HaverOnCuis/browse/environments/coreChanges/CuisCoreEnvironmentSupport.cs.st#L593

After filing in that change set, the remaining
packages are filed in:
https://hg.sr.ht/~cy-de-fect/HaverOnCuis/browse/haver/Haverize.pck.st#L28

These packages can not be installed in a
Cuis-image; it lacks environment support
and the package files contain syntax,
that can not be parsed by Cuis:
https://hg.sr.ht/~cy-de-fect/HaverOnCuis/browse/haver/modules/Modules.pck.st#L3638


In a nutshell and before Casey is tempted
to quote another Arlo Guthrie song:

Every Haver-image I distribute is created from
a clean Cuis-image by the aforementioned
Haverize-package.

Note to myself: Include this text in the documentation.


> Cheers,
> Luciano
> 
> On Fri, 30 Apr 2021 at 10:33 PM Gerald Klix via Cuis-dev <
> cuis-dev at lists.cuis.st> wrote:
> 
>> Hi Juan,
>>
>> On 2021-04-30 16:00, Juan Vuletich via Cuis-dev wrote:
>>> Hi Gerald,
>>>
>>> This is great! It is nice to know that you have kept developing this
>>> project. You have put a lot of work in this, and it is really impressive.
>>
>> Thank you very much!
>>
>>>
>>> On 4/28/2021 5:26 PM, Gerald Klix wrote:
>>>> Hi all, Hi Juan,
>>>>
-- snip ---
>> script, that strips the Haver parts, e.g.
>> packages/haver and the two images in Images.
>>
>>
>> HTH and Best Regards
>>
>> Gerald
>> --
>> Cuis-dev mailing list
>> Cuis-dev at lists.cuis.st
>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>


HTH and Best Regards,

Gerald


More information about the Cuis-dev mailing list