Project overview This project, a part of Google Summer of Code 2023, aims to port the .NET Developer Platform - a popular open-source framework - to Haiku, following various requests from the community to have a way to build C# or run .NET applications on this OS.
The project picks up an incomplete port in 2022 by myself - @trungnt2910 - and @jessicah and brings essential components of the .NET platform (its runtime and SDK) to Haiku.
Project status overview The long awaited stateful FD monitoring has finally been implemented on Haiku, and there now is a partial implementation of kqueue usable in libbsd. Therefore, Release builds of .NET can now work properly (after some more hacks) and have been set as the default in my custom dotnet-install.sh script.
Due to some technical difficulties in parsing Doxygen documentation and converting it to the XML format used in C#, I have delayed my effort to generate documentation for the Haiku API bindings.
Project status overview C# bindings for some parts of the Haiku API is now available, along with basic .NET SDK support for building Haiku applications, in a .NET workload (more details below). The source code and install instructions are currently in this GitHub repo.
.NET custom builds for Haiku are still regularly updated to reflect the latest changes in both .NET and Haiku. Most recently, the datagram socket hack has been removed as SOCK_DGRAM support for Haiku has been merged.
Project status overview During this period, I have been working to get the Release build of .NET SDK to work more stably. I have identified some issues related to POSIX thread scheduling in Haiku in the process. Sadly, I cannot deliver stable builds of the SDK at the moment because that depends on edge-triggered file events.
As mentioned on my forum thread, I have ported some sample applications of popular C# frameworks such as GtkSharp or FNA.
Project status overview Completed tasks The .NET SDK has been ported to Haiku after a few hacks. .NET on Haiku now has the ability to run Roslyn and build a simple console application.
.NET latest builds for Haiku are being provided at trungnt2910/dotnet-builds. You can follow the instructions there to install and try out .NET.
Current plans Before proceeding to the next step, I want to ensure the stability of the current SDK by bootstrapping .
It is barely a week since the start of GSoC, but there has been so much progress on this port. Ideally, this progress should be coupled with some documentation before my brain’s garbage collector reclaims the reasoning, so that future maintainers can have an easier time rebasing and porting newer versions of .NET.
Project status overview Completed tasks My current port has achieved all the tasks that the partial .NET 7 port did last summer, including:
Introduction Hello everyone! I am Trung Nguyen, also known as @trungnt2910 on GitHub and other social media sites. This year, I am a first-year computer science student at the University of Wollongong in Australia.
I have been working with Haiku since 2019 as a Google Code-In participant, and since 2022 with a few occasional contributions.
This summer (or actually, winter), as part of the GSoC program, I am very excited to work with my mentor @jessicah, as well as the rest of the Haiku community, to port the .