[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Upgraded to .NET 10 and some random ramblings
Hi,
I recently merged a merge request
(https://gitlab.perlang.org/perlang/perlang/-/merge_requests/658) that
upgraded from our previous .NET version (.NET 8) to .NET 10. In case
anyone wants to build Perlang from source, keep this in mind. I've also
updated the project README to reflect this.
When I upgraded the .NET version the last time (September 2024), I wrote
this in my commit message
(https://gitlab.perlang.org/perlang/perlang/-/commit/e66979e6468a62741b32b78498b92472a5752dd1):
Let's upgrade now, and hope that this .NET upgrade is the last
upgrade we'll ever do (in other words, let's hope we are self-hosted
by the time .NET 8 runs out of support). This might be hoping for
too much, since the effort of becoming self-hosted is likely to take
a few years. Let's see on November 10, 2026 if we made it or not. :)
(https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core#lifecycle)
Well, we're not at November yet, but I can already say now that hoping
that the self-hosting issue
(https://gitlab.perlang.org/perlang/perlang/-/issues/454) will be solved
by then is clearly hoping for too much. We are making progress, slowly
but steadily, but it's clearly a multi-year project. I'd rather see it
take the time it needs than rushing something out the door; that's the
way I feel when it comes to software development, I guess.
Speaking on other upcoming development, I've started working on range
support a while ago, and hoping to complete it someday. The idea is to
be able to write things like "if (x in 1..10)", and also be able to use
it for switch statements. Think about scenarios where you want to run
the same block for all values between 1 and 5, for example.
Another thing that I hope will come up soon is to start working on
revisiting Mac support for Perlang
(https://gitlab.perlang.org/perlang/perlang/-/issues/511). We now have
the preconditions in place; my employer (who happens to be my own
company :) has been gracious enough to purchase an M4-based Mac Mini.
One of the first Perlang-related steps on this machine would be to get
some form of virtualization-based CI runner setup. I'm thinking of
something along the lines of
https://gitlab.perlang.org/perlang/perlang-bsd-ci - some scripts for
preparing virtual machine images in a repeatable way, and an
accompanying set of "driver" scripts for GitLab to be able to start/stop
the VMs as CI jobs are being launched.
I don't have any experience with headless virtualization on Mac, so if
someone happens to read this and is an expert on the topic, please get
in touch. What I *did* find when googling a bit on this was Cilicon:
https://github.com/traderepublic/Cilicon. There is also
https://github.com/cirruslabs/gitlab-tart-executor, but that one seems
to follow an annoying pattern common on macOS and Windows: it uses the
proprietary Tart for maintaining macOS virtual machines, so less
interesting in that sense. If possible, I really want something based on
free software. Qemu seems to have VMApple support, but seems limited to
macOS 12.x which is too old. I want something that can run a macOS
version that is currently supported.
I think I remember seeing some other option for this as well, but can't
remember exactly which one it was. Either way, this will likely be a bit
of an effort to get accomplished.
My time for Perlang is currently quite limited, but still wanted to
write this project update to help you know that I'm still alive. :)
Until we see each other next time, dear mailing list - have a nice time.
--
Per Lundberg
Perlang author and maintainer