<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><div>thank you.<br></div><div><br></div><div>so, Athens tests, libcairo basic stuff verified on pharo, then install, cross-check on squeak.<br></div><div><br></div><div><br></div>I have a new image spun up on the squeak-launcher 6.0alpha 19893 on the latest vm, should be fun.<br><br><br><div style="" data-zbluepencil-ignore="true" class="zmail_extra"><br><div id="Zm-_Id_-Sgn1">---- On Sat, 03 Oct 2020 07:06:24 -0400 <b>Alexandre Bergel <<a target="_blank" href="mailto:abergel@dcc.uchile.cl">abergel@dcc.uchile.cl</a>></b> wrote ----<br></div><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); padding-left: 6px; margin: 0px 0px 0px 5px;"><div class="" style="">OpenGL is not directly supported in Pharo I believe, and if it is, it will be more for aiming at 3D graphics than fast 2D. Cairo is offered using a native library which is accessed from Pharo using Athens. <div class="">All the rendering of Roassal3 is made by Athens, which are ultimately translated into native calls to the libcairo using uFFI.<br></div><div class=""><br class=""></div><div class="">Cheers,<br></div><div class="">Alexandre<br class=""><div class=""><span class="colour" style="color:rgb(0, 0, 0)"><span class="font" style="font-family: Helvetica; border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">-- <br class="">_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:<br class="">Alexandre Bergel  <a class="" href="http://www.bergel.eu" target="_blank">http://www.bergel.eu</a><br class="">^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.<br class=""><br class=""><br class=""></span></span></div><div><br class=""><blockquote class=""><div class="">On 03-10-2020, at 07:56, gettimothy <<a class="" href="mailto:gettimothy@zoho.com" target="_blank">gettimothy@zoho.com</a>> wrote:<br></div><br class="x_-1347325728Apple-interchange-newline"><div class=""><div class=""><div class="" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;"><div class="">I am currently familiarizing myself with the new-fangled git tools and after that  will<br class=""></div><div class="">be checking to see if Squeak can run the Cairo and Athens.<br class=""></div><div class=""><br class=""></div><div class="">Also, since the diagram shows that Cairo sits on top of OpenGL, I will check the OpenGL on the pharo-9 bleeding edge and if it works, correlate with openGL on squeak6.0 alpha.<br class=""></div><div class=""><br class=""></div><div class="">funny quirk is that Roassal3 is installed on the pristine image of pharo9, and there is Athens installed, but I do not see Cairo or OpenGL installed. Perhaps they are in the Athens Baseline, or I don't know where to look.<br class=""></div><div class=""><br class=""></div><div class="">cheers.<br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><br class=""><div class="x_-1347325728zmail_extra"><br class=""><div class="">---- On Thu, 01 Oct 2020 15:58:00 -0400 <b class="">Alexandre Bergel <<a class="" href="mailto:abergel@dcc.uchile.cl" target="_blank">abergel@dcc.uchile.cl</a>></b> wrote ----<br class=""></div><br class=""><blockquote class="" style="border-left: 1.0px solid rgb(204,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;"><div class=""><div class="">The GitHub of Roassal3 is <a class="" href="https://github.com/ObjectProfile/Roassal3" target="_blank">https://github.com/ObjectProfile/Roassal3</a><br class=""></div><div class=""><br class=""></div><div class="">I am not sure what are the difference between Pharo and Squeak. Long time I have not looked in detail.<br class=""></div><div class="">Roassal3 comes with plenty of unit tests. I guess than the starting point is to make the test pass. <br class=""></div><div class="">Does Squeak has Athens / Cairo? <br class=""></div><div class=""><br class=""></div><div class="">Cheers,<br class=""></div><div class="">Alexandre<br class=""></div><div class=""><br class=""></div><div class=""><br class=""><div class=""><span class="x_742903673Apple-style-span" style="border-collapse: separate;line-height: normal;border-spacing: 0.0px;">-- <br class="">_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:<br class="">Alexandre Bergel  <a class="" href="http://www.bergel.eu/" target="_blank">http://www.bergel.eu</a><br class="">^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.<br class=""><br class=""><br class=""></span></div><div class=""><br class=""><blockquote class=""><div class="">On 01-10-2020, at 16:36, Eliot Miranda <<a class="" href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> wrote:<br class=""></div><br class="x_742903673Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="x_742903673gmail_default" style="font-size: large;">Hi Alexandre,<br class=""></div></div><div class=""><br class=""></div><div class="x_742903673gmail_default" style="font-size: large;">  where are the Rossal repositories?  If we wanted to begin a port, what would be the best starting point?<br class=""></div><div class="x_742903673gmail_default" style="font-size: large;"><br class=""></div><br class=""><div class="x_742903673gmail_quote"><div dir="ltr" class="x_742903673gmail_attr">On Thu, Oct 1, 2020 at 12:28 PM Alexandre Bergel <<a class="" href="mailto:abergel@dcc.uchile.cl" target="_blank">abergel@dcc.uchile.cl</a>> wrote:<br class=""></div><blockquote class="x_742903673gmail_quote" style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left-width: 1.0px;border-left-style: solid;border-left-color: rgb(204,204,204);padding-left: 1.0ex;"><div class=""><div class="">I think that Glamorous toolkit has its own visualization engine, unrelated to Roassal<div class=""><br class=""></div><div class="">Alexandre<br class=""><div class=""><span class="font" style="font-family: Helvetica; border-collapse: separate; font-style: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">-- <br class="">_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:<br class="">Alexandre Bergel  <a class="" href="http://www.bergel.eu/" target="_blank">http://www.bergel.eu</a><br class="">^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.<br class=""><br class=""><br class=""></span></div><div class=""><br class=""><blockquote class=""><div class="">On 01-10-2020, at 15:47, gettimothy <<a class="" href="mailto:gettimothy@zoho.com" target="_blank">gettimothy@zoho.com</a>> wrote:<br class=""></div><br class=""><div class=""><div class=""><div style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;" class=""><div class="">Hi Eiliot,<br class=""></div><div class=""><br class=""></div><div class="">re: <br class=""></div><blockquote style="border: 1.0px solid rgb(204,204,204);padding: 7.0px;background-color: rgb(245,245,245);" class=""><div class="">I don't see any mention of Rossal in the below.  What's the linkage between feek's use of either opensmalltalk-vm or Pharo's fork of it?<br class=""></div></blockquote>IIRC Glamorous Toolkit  and Rossal are related; perhaps I have conflated the two.<br class=""><br class="">at  <a class="" href="https://feenk.com/gt/" target="_blank">https://feenk.com/gt/</a> you can see the tree graphs I have in mind.<br class=""><br class=""><br class=""><div class=""><div class="">---- On Thu, 01 Oct 2020 14:24:24 -0400 <b class="">Eliot Miranda <<a class="" href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></b> wrote ----<br class=""></div><br class=""><blockquote style="border-left-width: 1.0px;border-left-style: solid;border-left-color: rgb(204,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div style="font-size: large;" class="">Hi t,<br class=""></div></div><br class=""><div class=""><div dir="ltr" class="">On Thu, Oct 1, 2020 at 11:11 AM gettimothy <<a class="" href="mailto:gettimothy@zoho.com" target="_blank">gettimothy@zoho.com</a>> wrote:<br class=""></div><blockquote style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left-width: 1.0px;border-left-style: solid;border-left-color: rgb(204,204,204);padding-left: 1.0ex;" class=""><u class=""></u><div class=""><div style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;" class=""><div class="">Hi Eliot<br class=""></div><div class=""><br class=""></div><div class=""><br class=""><div class="">---- On Thu, 01 Oct 2020 11:07:08 -0400 <b class="">Eliot Miranda <<a class="" href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></b> wrote ----<br class=""></div><br class=""><blockquote style="border-left-width: 1.0px;border-left-style: solid;border-left-color: rgb(204,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;" class=""><div dir="auto" class="">Hi Tty,<div dir="ltr" class="">I don't see any mention of Rossal in the below.  What's the linkage between feek's use of either opensmalltalk-vm or Pharo's fork of it?<br class=""><blockquote class="">On Oct 1, 2020, at 2:33 AM, gettimothy via Squeak-dev <<a class="" href="mailto:squeak-dev@lists.squeakfoundation.org" target="_blank">squeak-dev@lists.squeakfoundation.org</a>> wrote:<br class=""><br class=""></blockquote></div><blockquote class=""><div dir="ltr" class=""><div style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;" class=""><div class="">Hi folks.<br class=""></div><div class=""><br class=""></div><div class="">Has anybody coded a way , using plain text, to output a <br class=""></div><div class=""><br class=""></div><div class=""><a class="" href="https://en.wikipedia.org/wiki/Abstract_syntax_tree" target="_blank">https://en.wikipedia.org/wiki/Abstract_syntax_tree</a><br class=""></div><div class=""><br class=""></div><div class="">to a workspace?<br class=""></div><div class=""><br class=""></div><div class="">It would be a handy debug tool if so.<br class=""></div></div></div></blockquote><div class=""><br class=""></div>An infinitely better way would be to port the Rossal visualisation system.  I’ve talked with Alexandre and he says Rossal is designed with portability in mind (it currently runs on Pharo and BisyalWorks and predates Pharo’s current imaging model).  This would give you a graphical representation of the entire tree, with the ability to attach behaviour to elements of the representation.<div class=""><br class=""><blockquote class=""><div dir="ltr" class=""><div style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;" class=""><div class="">thx<br class=""></div></div></div></blockquote></div></div></blockquote><div class="">I would love too, Rossal is intriguing.<br class=""></div><div class=""><br class=""></div><div class="">IIRC , "Mr. Feenk" and the board had a thread recently about "what it would take to make Rossal work on  Squeak" and the discussion decided on waiting on everybody having a block of time to make that happen.<br class=""></div></div></div></div></blockquote><div class=""><br class=""></div><div style="font-size: large;" class="">I don't see any mention of Rossal in the below.  What's the linkage between feek's use of either opensmalltalk-vm or Pharo's fork of it?<br class=""></div><blockquote style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left-width: 1.0px;border-left-style: solid;border-left-color: rgb(204,204,204);padding-left: 1.0ex;" class=""><div class=""><div style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;" class=""><div class=""><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Here is a cut-n-paste of that email, I saved it for future reference:<br class=""></div><div class=""><br class=""></div><div class=""><blockquote style="border: 1.0px solid rgb(204,204,204);padding: 7.0px;background-color: rgb(245,245,245);" class=""><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">Hi,</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">Currently, at feenk we have feenkcom/opensmalltalk-vm:</span></span></span></span><br class=""></div><div class=""><a style="color: rgb(89,143,222);font-family: Lato;font-size: 14.0px;font-style: normal;font-weight: 400;letter-spacing: normal;text-indent: 0.0px;text-transform: none;white-space: normal;word-spacing: 0.0px;background-color: rgb(255,255,255);" class="" href="https://github.com/feenkcom/opensmalltalk-vm" target="_blank">https://github.com/feenkcom/opensmalltalk-vm</a><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">This is a small fork of the headless branch from pharo-project/opensmalltalk-vm that appeared out of practical necessities, but that we would like to avoid having. This post briefly describes the changes in the feenkcom/opensmalltalk-vm repo and the functionality those changes provide for Glamorous Toolkit.</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">For Glamorous Toolkit we aimed for the following functionality:</span></span></span></span><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">    • Open the GUI natively and have native display quality (GUI opened through FFI calls)</span></span></span></span><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">    • Have a Glamorous Toolkit app for Mac OS that works as any other apps for Mac OS</span></span></span></span><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">    • Create end-user applications that are fully customisable (executable name, menus, etc)</span></span></span></span><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">    • Use Github actions for doing all compilations of external libraries and the vm instead of Travis CI.</span></span></span></span><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">    • Have Iceberg running in native windows (which requires nested FFI callbacks)</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">There has been work on these issues in both OpenSmalltalk/opensmalltalk-vm and pharo-project/opensmalltalk-vm but they were not entirely addressed. We needed to have something reliable a few months ago, and forking and doing some quick changes made that possible.</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">Ideally we want to be able to run Glamorous Toolkit on both OpenSmalltalk/opensmalltalk-vm and pharo-project/opensmalltalk-vm.</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">To have native GUIs we relied on Ronie Salgado’s work on the headless vm and started with pharo-project/opensmalltalk-vm - headless branch:</span></span></span></span><br class=""></div><div class=""><a style="color: rgb(89,143,222);font-family: Lato;font-size: 14.0px;font-style: normal;font-weight: 400;letter-spacing: normal;text-indent: 0.0px;text-transform: none;white-space: normal;word-spacing: 0.0px;background-color: rgb(255,255,255);" class="" href="https://github.com/pharo-project/opensmalltalk-vm/tree/headless" target="_blank">https://github.com/pharo-project/opensmalltalk-vm/tree/headless</a><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">That provided a solution for opening the GUI from the image through FFI calls. Currently we use Glutin (a library for OpenGL context creation, written in pure Rust) and this made it possible to run the entire Glamorous Toolkit inside a callback.</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">On macOS when running an app, even a notarized one, the OS warns the user that the app is downloaded from the internet, and the user needs to confirm that they agree. Once the user agrees the app should automatically start. This is not currently possible with Pharo apps (for example PharoLaunched.app) and users have to again run the app manually after giving permission. Also Gatekeeper in macOS runs applications downloaded from zips in a randomized read-only DMG. We do not want this behaviour as users not copying Glamorous Toolkit to the Applications folder on macOS would then experience incorrect application behaviour.</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">To create end-user applications we also need to fully customize the executable name (what the user sees in the Task Runner/Activity monitor), icons, native menus. Part of this work is already integrated in the pharo-project/opensmalltalk-vm - headless branch (Customizing the OS X icons, Brand the VM executable and package).</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">Since last year Github offers Github Actions similar to Travis. We found it much easier to use than Travis for external libraries and the vm. Also we get to manage the code and the builds in the same place. This work is already integrated in the pharo-project/opensmalltalk-vm - headless branch (Build the VM under GitHub actions:<span class=""> </span></span></span></span></span><a style="color: rgb(89,143,222);font-family: Lato;font-size: 14.0px;font-style: normal;font-weight: 400;letter-spacing: normal;text-indent: 0.0px;text-transform: none;white-space: normal;word-spacing: 0.0px;background-color: rgb(255,255,255);" class="" href="https://github.com/pharo-project/opensmalltalk-vm/pull/56" target="_blank">https://github.com/pharo-project/opensmalltalk-vm/pull/56</a><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">).</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">The issues related to running Iceberg is a bit more technical. By moving to the headless vm we are running the entire image computation inside a callback from Glutin (</span></span></span></span><a style="color: rgb(89,143,222);font-family: Lato;font-size: 14.0px;font-style: normal;font-weight: 400;letter-spacing: normal;text-indent: 0.0px;text-transform: none;white-space: normal;word-spacing: 0.0px;background-color: rgb(255,255,255);" class="" href="https://github.com/rust-windowing/glutin/" target="_blank">https://github.com/rust-windowing/glutin/</a><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">). When using Iceberg we get nested callbacks which we could not get to work using Alien. Instead we are using the ThreadedFFI Plugin and running all callback from Iceberg and Glutin using the Threaded FFI plugin (</span></span></span></span><a style="color: rgb(89,143,222);font-family: Lato;font-size: 14.0px;font-style: normal;font-weight: 400;letter-spacing: normal;text-indent: 0.0px;text-transform: none;white-space: normal;word-spacing: 0.0px;background-color: rgb(255,255,255);" class="" href="https://github.com/pharo-project/threadedFFI-Plugin" target="_blank">https://github.com/pharo-project/threadedFFI-Plugin</a><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">). Currently we have a small fork of this plugin (feenkcom/threadedFFI-Plugin) and we also ship a custom plugin with the VM to fix a race condition due to having two copies of the callback stack (a pull request is here:<span class=""> </span></span></span></span></span><a style="color: rgb(89,143,222);font-family: Lato;font-size: 14.0px;font-style: normal;font-weight: 400;letter-spacing: normal;text-indent: 0.0px;text-transform: none;white-space: normal;word-spacing: 0.0px;background-color: rgb(255,255,255);" class="" href="https://github.com/pharo-project/threadedFFI-Plugin/pull/17" target="_blank">https://github.com/pharo-project/threadedFFI-Plugin/pull/17</a><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">).</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">While not specific to our environment, openssl1.0 is no longer supported, and we are seeing users who are unable to run Pharo due to version conflicts, as reported in<span class=""> </span></span></span></span></span><a style="color: rgb(89,143,222);font-family: Lato;font-size: 14.0px;font-style: normal;font-weight: 400;letter-spacing: normal;text-indent: 0.0px;text-transform: none;white-space: normal;word-spacing: 0.0px;background-color: rgb(255,255,255);" class="" href="https://github.com/pharo-project/opensmalltalk-vm/issues/62" target="_blank">https://github.com/pharo-project/opensmalltalk-vm/issues/62</a><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">.</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">To sum up, a fork was the easiest way to get all this running. Now some changes are already in the pharo-project/opensmalltalk-vm - headless branch. What we are still missing are the changes that get the VM to work nicely with Mac OS and a bug fix in ThreadedFFI.</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">We would also love it to have all these changes integrated in OpenSmalltalk/opensmalltalk-vm in the headless vm. This requires additional coordination as the required changes are somewhat deeper.</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">Please let us know you would prefer to coordinate.</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">Cheers,</span></span></span></span><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">Tudor, on behalf of the feenk team</span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">--</span></span></span></span><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;"><a class="" href="http://feenk.com/" target="_blank">feenk.com</a></span></span></span></span><br class=""></div><div class=""><br class=""></div><div class=""><span class="highlight" style="background-color:rgb(255, 255, 255)"><span class=""><span class="font" style="font-family:Lato"><span class="size" style="font-size: 14px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; float: none; display: inline;">"The coherence of a trip is given by the clearness of the goal."</span></span></span></span><br class=""></div></blockquote></div></div><div class=""><br class=""></div><div dir="ltr" class="">If these things have already happened, I can push (most) other projects down the stack and take this up part-time.  Let me know.<br class=""></div></div></div></blockquote><div class=""><br class=""></div><div style="font-size: large;" class="">Wow, that's quite an offer.  I wish I could devote time to this, and probably won't be able to stay away once it starts, but for the moment I have other commitments precluding joining in this effort. <br class=""></div><div style="font-size: large;" class=""><br class=""></div><blockquote style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left-width: 1.0px;border-left-style: solid;border-left-color: rgb(204,204,204);padding-left: 1.0ex;" class=""><div class=""><div style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;" class=""><div dir="ltr" class=""><br class=""></div><div dir="ltr" class=""><span class="size" style="font-size:10pt">If not, I briefly looked into piping output to graphviz via OSProcess .</span><br class=""></div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">Regardless, the tool would be invaluable in groking / debugging the PEG grammars.<br class=""></div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">cheers,<br class=""></div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">t<br class=""></div></div></div></blockquote></div><div class=""><br class=""></div><div dir="ltr" class=""><div dir="ltr" class=""><div class=""><span class="size" style="font-size: small; border-collapse: separate;"><div class="">_,,,^..^,,,_<br class=""></div><div class="">best, Eliot<br class=""></div></span></div></div></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div><div class=""><span class="font" style="font-family: Helvetica; border-collapse: separate; font-style: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">-- <br class="">_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:<br class="">Alexandre Bergel  <a class="" href="http://www.bergel.eu/" target="_blank">http://www.bergel.eu</a><br class="">^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.<br class=""></span></div></div></blockquote></div><br class=""><div dir="ltr" class="x_742903673gmail_signature"><div dir="ltr" class=""><div class=""><span class="size" style="font-size: small; border-collapse: separate;"><div class="">_,,,^..^,,,_<br class=""></div><div class="">best, Eliot<br class=""></div></span></div></div></div></div></div></blockquote></div><br class=""></div></div></blockquote></div><div class=""><br class=""></div></div><br class=""></div></div></blockquote></div><br class=""></div></div></blockquote></div><div><br></div></div><br></body></html>