As part of my Google Summer of Code 2018 project, these are the results of the work I did on porting the .NET Core runtime, SDK, and PowerShell Core to FreeBSD.
The runtime includes all needed resources to run existing .NET Core application on the platform, the SDK contains tools to build applications, and the PowerShell port has these last two as dependencies to build and run PowerShell on FreeBSD. These are the first results on the efforts to bring .NET Core to FreeBSD, which are the results of the past three months of work during GSoC.
As it's known, .NET Core contains both native and managed components. However, currently the managed components need to be built on a Linux machine because of the build tools support not yet being fully available on FreeBSD, even with Linux emulation. Therefore, the .NET ports only support the build of native components, managed ones are downloaded pre-compiled.
As for PowerShell, the ported .NET Core SDK should be enough to fully build it on the machine from the port.
These are some important links regarding the work done during GSoC:
Repositories:
- The .NET Core ports repository: https://github.com/mateusrodrigues/dotnet-freebsd
- The PowerShell port repository: https://github.com/mateusrodrigues/powershell-freebsd
- My GSoC progress repository containing some further information and instructions: https://github.com/mateusrodrigues/gsoc18-progress
General links and discussion threads:
- The issue tracking efforts to port .NET Core to FreeBSD: https://github.com/dotnet/coreclr/issues/18067
- The issue tracking efforts to port PowerShell Core to FreeBSD: https://github.com/PowerShell/PowerShell/issues/7207
- PR for fixing a issue in the CoreCLR pal_mount code on FreeBSD: https://github.com/dotnet/corefx/pull/30851
- PR for adding FreeBSD terminfo location to System.Console: https://github.com/dotnet/corefx/pull/31756
- PR for fixing PowerShell native components tests on FreeBSD: https://github.com/PowerShell/PowerShell-Native/pull/2