[squeak-dev] Re: [Pkg] FreeTypePlus

Andrew Tween amtween at hotmail.com
Sun May 18 08:23:51 UTC 2008


"Keith Hodges" <keith_hodges at yahoo.co.uk> wrote in message 
news:482F997D.2000401 at yahoo.co.uk...
> Welcome to packages!
>
> Rob Rothwell wrote:
>> It seems that FreeTypePlus has disappeared from PackagesSqueak39?
> I had a check through the history of PackagesSqueak39, and I can't see 
> FreeTypePlus in the history.
>> If I try to load it into a level playing field-ed 
>> sq3.9.1-7075dev08.05.2.image:
>>
>> (HTTPSocket httpGet: 'installer.pbwiki.com/f/LPF.st 
>> <http://installer.pbwiki.com/f/LPF.st>') readStream fileIn.
>> Installer install: 'Packages'.
>> Installer sake addPackage: 'FreeTypePlus'; install.
> That's the right loading code... so we need to see where Andrew did put 
> the package definition.
>
> To see all definitions in all versions load:
>
> Installer install: 'PackagesAllVersions'.
>
> We find that it is available in PackagesSqueak310U as the universes 
> definition, but Andrew put an improved specific version into 
> PackagesSqueak310.

No I didn't.
I put it into a new class, PackagesSqueak310dev0804
Because it is NOT for 3.10 , it is ONLY for developer Squeak 
sq3.10-7159dev08.04.1

It might work with other images, but it might not.
It might work with future releases of developer Squeak, but it might not.

It solves the specific problem of - "FreeType Plus won't load into 
sq3.10-7159dev08.04.1
because MC1.5 doesn't run postscripts, initializes classes in a different 
order, and fails to load FFI" .

I anticipate that that problem will be solved with future versions of MC1.5 
and/or FFI and/or FreeType Plus, at which point my script will only be of 
historical interest.

I think something is missing here.
How can the appropriate installer be found for a specific version, of a 
particular fork/distribution, that is itself based upon some core Squeak 
image?
e.g.  sq3.10-7159dev08.04.1 is based upon  sq3.10-7159 .
There are multiple version identifiers here...
    distributionName=DeveloperSqueak
    distributionVersion=08.04.01
    coreImageName=Squeak
    coreImageVersion=3.10
    coreImageBuild=7159
    coreImageReleaseStatus=beta

In the future, as the core image shrinks, I can imagine someone creating a 
distribution based on another distribution based on some fork and so on.
So there would be a chain of version identifiers, e.g. ...

    MyApplication.2.0.1alpha <- SpecialFork.1.0beta <- 
DeveloperSqueak08.04.01 <- sq3.10-7159

If this version chain was embedded in each image, could Installer use it to 
find the most appropriate install script for each package?

>
> So... we copy the definition to PackagesSqueak39, with its dependents, 
> FFI, and "FreeType Plusplugins".
>
> Then we can check to see if Andrew has any more recent versions... in 
> www.squeaksource.com/FreeTypePlus
>
> and we copy the definition of 'FreeType Plus' to PackagesSqueak39beta, and 
> PackagesSqueak310beta but we change the load script to load whatever is 
> the latest from squeaksource, rather than the package on SqueakMap.

That's a bit dangerous.
The latest on SqueakSource will almost certainly be full of bugs, and might 
contain experimental code that does outrageous things.
Like deleting all the font files from your disk, and installing a new set 
from DodgyFreeFonts.org  .
It doesn't, but you get my point :)

Cheers,
Andy 





More information about the Squeak-dev mailing list