Thefrank / dotnet-freebsd-crossbuild

Bash script and patches for building dotNET for FreeBSD under Linux
31 stars 3 forks source link

dotnet-freebsd-crossbuild

Bash script and patches for building dotNET for FreeBSD under Linux

NOTE(S)

As of the June 2024 release of dotNET the SDK and Installer have been merged into a single repo making building much harder.

The exception to this is the Y.0.1xx branch. I will be using this going forward

Currently working for: 9.0.100-rc.1.24452.12, ~v8.0.300~ 8.0.108, ~6.0.423~ 6.0.133, and older (check commits and/or tags if you want to build old versions).

Built outside of repo but published here: v9.0.100-preview.3.24204.13

Scripts might require some tweaks. As an example some dotNET6 backports are officially backported.

If you want a more comprehensive, repo-by-repo script setup: @sec also has a (better) native crossgen build that can be found here: https://github.com/sec/dotnet-core-freebsd-source-build

What is here?

Currently published here:

FreeBSD 12.4 (EOL)

FreeBSD 13

Why would I use this?

You don't need / want SDK builds in Azure DevOPS

or

You are allergic to YAML

How do I use this?

run as root/sudo:

  1. setup.sh
  2. build.sh
  3. (optional) gather_nuget.sh

How do I use the output?

For just running it please look here:

For building code, you will need:

NEW!: This public feed should provide (most) of my (recently) built items:

OLD:

For building dotNET under FreeBSD natively:

Can I use the NuGet packages to build for FreeBSD on other platforms?

MAYBE!

Microsoft does not have RID support for FreeBSD in its SDK. You must manually patch this in! Adjust path as needed.

BSD sed: sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64/' ../sdk/SDKVERSIONNUMBER/Microsoft.NETCoreSdk.BundledVersions.props

GNU sed: sed -i 's/osx-x64/osx-x64;freebsd-x64/' ../sdk/SDKVERSIONNUMBER/Microsoft.NETCoreSdk.BundledVersions.props

You will also need these NuGet packages produced by this repo or the Azure version repo:

Got Azure DevOPS version?

Yes! The Servarr teams maintains: https://github.com/Servarr/dotnet-bsd

Updates

Open a ticket if I am more than a few days behind an official release and I will try and get an update published as quick as I can