Subject: Re: bug#44847: [Petition] Add a dotnet 5.0 support

From: Timothy Sample <[email-masked]>
Date: Sun, 29 Nov 2020 00:16:31 -0500

Hi Abraham,

Abraham Jose <[email-masked]> writes:

> C# is a widely used programming language, so having support fot it
> will expand the guix potential userbase by a lot.

I agree!  C# and its much cooler sibling F# are pretty nice languages.
(We do have a very old version of Mono, but I’m guessing that’s not what
you want.)  Unfortunately, there’s a big issue getting .NET into Guix...

> AFAIK the only things needed for this are:
> https://github.com/dotnet/runtime to run .NET managed applications
> https://github.com/dotnet/sdk To build apps
>
> Just in case this is helpful, there is also a source-build
> https://github.com/dotnet/source-build/

This is pretty cool.  Microsoft is trying to get the core .NET
components to meet the distribution requirements of a couple of key
GNU/Linux distributions (including at least Fedora and Debian).  This
means they have been working (since at least early 2018) to make sure
that all the source code is free and available, and that building from
source is possible for third parties.  So far so good!

A quick glance around suggests that an older version of .NET is
available for Fedora 32, and that Debian does not have a package yet.
That’s at least promising, but Guix has stricter requirements than
either of those two distributions.  Particularly, Guix tries to avoid
packages that cannot be bootstrapped from source.  From the README of
the repository you linked to:

    Nearly all .NET Core repositories require the .NET Core SDK to
    build. This is a circular dependency, which presents a bootstrapping
    problem.

This means that Guix is unlikely to accept .NET Core packages.  Because
of that, I’m closing this bug.

That being said, anybody could package .NET for Guix and put it in a
separate channel.  Beyond the repository you linked to, there is a
Fedora working group: <https://fedoraproject.org/wiki/SIGs/DotNet>.

-- Tim