Monthly Archives: August 2022

[Pharo-dev] This week (34/2022) on the Pharo Issue Tracker

We merged 28 PRs this week:

Improvements
============

– Optimize setting of initial position in PositionableStream>>on: #11555
https://github.com/pharo-project/pharo/pull/11555

– Rotten green tests plugin for DrTests #11513
https://github.com/pharo-project/pharo/pull/11513

Git Support
=========

– Updating Libgit2 Bindings to version 2.2.6 #1605
https://github.com/pharo-vcs/iceberg/pull/1605

– Fix Pharo’s #11370: Cannot commit when adding a class instance variable #1597
https://github.com/pharo-vcs/iceberg/pull/1597

– Update Iceberg to 2.0.8 #11581
https://github.com/pharo-project/pharo/pull/11581

Cleanups
========

– Cleanup typo in ASTCache>>#at: #11557
https://github.com/pharo-project/pharo/pull/11557

– README.md and Bootstrap cleanup #11453
https://github.com/pharo-project/pharo/pull/11453

– Update class comment of AsciiCharSet #11575
https://github.com/pharo-project/pharo/pull/11575

– Class comment for RBCommentToken #11571
https://github.com/pharo-project/pharo/pull/11571

– Categorize RBShortAssignmentToken>>#length like superclass #11569
https://github.com/pharo-project/pharo/pull/11569

– Just some formatting in a package comment #11560
https://github.com/pharo-project/pharo/pull/11560

– RBScanner>>#isSelectorNonBinary improve with script: pragma #11567
https://github.com/pharo-project/pharo/pull/11567

– Enhance isUnary method comment #11541
https://github.com/pharo-project/pharo/pull/11541

– Fixes: #11526 and #11527: Refactoring2-core merge and baseline fix #11529
https://github.com/pharo-project/pharo/pull/11529

– Typo in class comment of AllProtocol #11573
https://github.com/pharo-project/pharo/pull/11573

– Cleanup AthensBalloonPaint and AthensBalloonGradientPaint #11579
https://github.com/pharo-project/pharo/pull/11579

– Small cleanups in Object #11594
https://github.com/pharo-project/pharo/pull/11594

– Improve #basicSize documentation and add tests #11590
https://github.com/pharo-project/pharo/pull/11590

– Cleanup ReferenceFinder>>#searchIndicesIn: #11592
https://github.com/pharo-project/pharo/pull/11592

– Removed empty abstractCompletionEngine class #11562
https://github.com/pharo-project/pharo/pull/11562

– Stream should be declared as abstract class #11553
https://github.com/pharo-project/pharo/pull/11553

– PositionableStream should be declared as abstract class #11551
https://github.com/pharo-project/pharo/pull/11551

– EncodedCharSet should return true for #isAbstract #11549
https://github.com/pharo-project/pharo/pull/11549

Pharo10
=======

– Updating version of Iceberg to 2.0.7, for libgit 1.4.4 — Backport to Pharo 10 #11545
https://github.com/pharo-project/pharo/pull/11545

– Creates Graphical UI for AndreasProfiler and TimeProfiler #11532
https://github.com/pharo-project/pharo/pull/11532

Pharo9
=======

– Upgrade iceberg to 2.0.7 — backport to Pharo 9 #11546
https://github.com/pharo-project/pharo/pull/11546

– Update Iceberg to 2.0.8 #11582
https://github.com/pharo-project/pharo/pull/11582

Building analyses with Roassal: a football example

Roassal is a visualization engine developed in Pharo and this video shows that using it and extending it we can extract an amazing amount of information from raw data.

Contact us if you want to know more.

S. Ducasse [email protected]

[Ann] 7,500 languages from the Ethnologue

Hi everyone,

This new project is an object model to access information about 7,500 languages from the Ethnologue data in Pharo.

The Ethnologue database is the most authoritative source of information on languages around the world and includes the most comprehensive database about languages. In this version, It identifies 7,500 languages currently spoken worldwide.

Its use is intended mainly for linguistic purposes. It supports dialects, creoles, mixed languages, etc. except for ancient, historical, and constructed languages. See installation and usage examples in the GitHub repository:

https://github.com/hernanmd/ethnologue

Let me know if you find this project useful, or any other ideas about the project.

Cheers,

Hernán

Status update of Libgit2 and CI issues

A couple of weeks ago we got reported a big recurrent failure on CI jobs while cloning using iceberg/libgit https://github.com/pharo-project/pharo/issues/11481.

TL;DR; So far (Friday ~17h Paris time) we managed to get everything up and running. A new VM is being released by our CI, all pull requests are issued and we should have everything integrated by tonight.

=-=-=-=-=-=-=-=

More on the situation: Errors happened randomly with

“`
error reading from the zlib stream
“`

or
“`
bad packet length
“`

Several people helped in getting a reliable script to reproduce the issue, plus some instructions to produce a reproduction environment using a docker container. With that in our hands, we managed to corner the issue to a new incompatibility between old libgit2 versions, ssh2, OpenSSL, and (at least) Github.

After testing some configurations, we decided to upgrade the libgit and related binaries to newer versions:
– libgit 1.4.4
– libssh 1.9.0
– OpenSSL 1.1.1k

This was of course not as straightforward as we would have liked.
Libgit2 1.4.4 was not compatible with its older versions and broke our ffi bindings.
We needed to provide new VM binaries for all our major platforms, make a new VM release, upgrade the libgit2 bindings, and make releases of the libgit2 bindings, iceberg, and backport to Pharo 10 and Pharo 9.

TL;DR; So far (Friday ~17h Paris time) we managed to get everything up and running. A new VM is being released by our CI, all pull requests are issued and we should have everything integrated by tonight.

Libgit+related compilation instructions are updated in the VM wiki
https://github.com/pharo-project/pharo-vm/wiki/Building-OSX-ARM64-Third-Party-Dependencies
https://github.com/pharo-project/pharo-vm/wiki/Building-OSX-X86_64-Third-Party-Dependencies
https://github.com/pharo-project/pharo-vm/wiki/Building-Linux-ARM64-Third-Party-Dependencies
https://github.com/pharo-project/pharo-vm/wiki/Building-Linux-ARM32-Third-Party-Dependencies

Libgit bindings Upgrade
changes: https://github.com/pharo-vcs/libgit2-pharo-bindings/commit/0e0100f7d0f3a11c3170d2f19a984a54c01a294b
release: https://github.com/pharo-vcs/libgit2-pharo-bindings/releases/tag/v2.2.6

Iceberg Upgrade
pr: https://github.com/pharo-vcs/iceberg/pull/1605
release: https://github.com/pharo-vcs/iceberg/releases/tag/v2.0.7

Upgrading library dependencies in the VM
https://github.com/pharo-project/pharo-vm/pull/447
Release VM 9.0.16 https://github.com/pharo-project/pharo-vm/releases/tag/v9.0.16

Backports to Pharo
Pharo10 https://github.com/pharo-project/pharo/pull/11545
Pharo9 https://github.com/pharo-project/pharo/pull/11546

We have left for later to upgrade library dependencies for the Windows VM (x86-64, ARM64).
Of course, any help in this direction is welcome.

Cheers,
G in behalf of the team

News from the fire brigade (on github changes)

Progress can be followed in here

https://github.com/pharo-project/pharo/issues/11481

[DONE] Upgrading Libgit bindings:

[WIP] Upgrading library dependencies in the VM: pharo-project/pharo-vm#447
[PR ready] Linux (x86-64, ARM64, ARM32)
[PR ready] OSX (x86-64, ARM64)
[TODO] Windows (x86-64, ARM64)

[TODO] Update Pharo 10 with iceberg release
[TODO] Update Pharo 9 with iceberg release

 GitHub

Release Version 2.2.6 · pharo-vcs/libgit2-pharo-bindings

Using LibGit2 1.4.4

 GitHub

Release Version 2.0.7 · pharo-vcs/iceberg

Updating LibGit bindings to 2.2.6 (Ready for libgit2 1.4.4)

This week (33/2022) on the Pharo Issue Tracker 

Fri, Aug 19, 2022 9:07 AM

We merged 13 PRs this week:

Features

Fixes

Cleanup

Pharo10

[Ann] Web badge generator for Pharo

Dear all, 

I’d like to share a new Spec app for building badges made with Pharo 10. It is based on the Shields.io badge service provider. Select the badges you want, complete the required variables, and get your badge(s). You can also save and load commonly used variables, so it may help a bit to automate presenting your project’s README. 

See the install instructions and usage video at:

https://github.com/hernanmd/shield-badges

Please note that this is a 0.1 release, so there is certainly a lot of room for improvement.

Cheers,

Hernán

[Ann] new package manager UI for Pharo 10

Hi everyone,

I have spent some time creating a new package manager UI for Pharo 10 to simplify package finding and installation. It is a Spec application which introduces a new concept: Package Formulas. These are just annotated methods with an installation expression, so they do not depend on Metacello, Gofer, Pakbot or any other package manager.

Some features are:

– Package Formulas already includes a predefined set of categorized formulas.- UI allows you to install packages in bulk.

– It is simple to create a script from selections.

– Scripts can be decorated with pre, post, and wrapper actions.

– You can request to list your own or recommended formulas by opening issues from the UI.

  – Then the package formula will be reviewed to avoid naming conflicts, and to prevent adding broken formulas.

  – The UI could be used with a custom container of your favorite, validated, isolated or private formulas.

– (Currently) it does not automatically collect packages from remote repositories or query on-line servers, however, you can easily jump to browse a selected project homepage.

– License is MIT.

https://github.com/hernanmd/package-formulas

Hope you like it.

Best,

Hernán

Bye bye Omnibase, welcome Soil

We report here the discussion around omnibase as expressed by Norbert Hartl who was recently improving Omnibase for Pharo.

As the license situation around Omnibase is unlikely to change and such a license is not an enabler for collaboration I came to the conclusion that there is no other way than to start a new OO database (what a surprise! 🙂 )

If you are interested or want to see what will happen in the next months you can have a look at https://github.com/ApptiveGrid/Soil

After half a day of work it can already serialize and partition a simple graph and store it to disk in a way it can be read back even when partitioned. Thanks to having Fuel we do not need to reinvent the wheel and have serialization/materialization done.

Of course this is super simple and does not comes close to anything usable but a good start. I’ve also added a documentation in the github repo to describe the most important parts for me that I will target.

Norbert Hartl

Design a site like this with WordPress.com
Get started