unofficial mirror of help-guix@gnu.org 
 help / color / Atom feed
* dotnet
@ 2020-06-24  6:12 Simen Endsjø
  2020-06-24  8:23 ` dotnet Pierre Neidhardt
  0 siblings, 1 reply; 5+ messages in thread
From: Simen Endsjø @ 2020-06-24  6:12 UTC (permalink / raw)
  To: help-guix


Hi, has anyone worked on adding dotnet? It looks quite complex as 
a first
project, especially as it requires going through the build in 
detail to make
sure there's no telemetry or other unwanted steps in the process.

If (and it's unlikely) I start working on this, is a good place to 
start the nix
expressions? Is it considered good or bad to look at those? And do 
you attribute
nix in such case?

- Simen

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: dotnet
  2020-06-24  6:12 dotnet Simen Endsjø
@ 2020-06-24  8:23 ` Pierre Neidhardt
  2020-06-24  8:52   ` dotnet Simen Endsjø
  0 siblings, 1 reply; 5+ messages in thread
From: Pierre Neidhardt @ 2020-06-24  8:23 UTC (permalink / raw)
  To: Simen Endsjø, help-guix

[-- Attachment #1: Type: text/plain, Size: 791 bytes --]

Hi!

I did and it's a mssive endeavor indeed!

Last time I checked, Nix fetched the prebuilt binaries from NuGet, so we
should not do that.

Steps (off the top of my head):

- Package Mono 5 and Mono 6.  I've already done it, it just needs a
review.  This is the easy part.

- Package msbuild.  This is possibly hard.  I could not figure out a way
to bootstrap msbuild.  The upstream way to build msbuild is to use
prebuilt packages from NuGet.  If we want to build those, we need
msbuild... :(

- Make a mono-build-system that leverages msbuild.  This should not be
too hard.

- Package dotnet: I I recall correctly, it has manay dependencies, but
  one we have a mono-build-system it should not be too hard.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: dotnet
  2020-06-24  8:23 ` dotnet Pierre Neidhardt
@ 2020-06-24  8:52   ` Simen Endsjø
  2020-06-25  7:40     ` dotnet Pierre Neidhardt
  0 siblings, 1 reply; 5+ messages in thread
From: Simen Endsjø @ 2020-06-24  8:52 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: help-guix


Pierre Neidhardt <mail@ambrevar.xyz> writes:

> - Package msbuild.  This is possibly hard.  I could not figure 
> out a way
> to bootstrap msbuild.  The upstream way to build msbuild is to 
> use
> prebuilt packages from NuGet.  If we want to build those, we 
> need
> msbuild... :(

I see mono has a fork of msbuild which might be the way to go:
https://github.com/mono/msbuild/blob/xplat-master/documentation/wiki/Building-Testing-and-Debugging-on-Mono-MSBuild.md


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: dotnet
  2020-06-24  8:52   ` dotnet Simen Endsjø
@ 2020-06-25  7:40     ` Pierre Neidhardt
  2020-06-25  8:06       ` dotnet Simen Endsjø
  0 siblings, 1 reply; 5+ messages in thread
From: Pierre Neidhardt @ 2020-06-25  7:40 UTC (permalink / raw)
  To: Simen Endsjø; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 235 bytes --]

The readme says we need dotnet to build msbuild.

On the other hand, there is this tag:

https://github.com/mono/msbuild/releases/tag/0.08

So maybe it's bootstrappable after all.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: dotnet
  2020-06-25  7:40     ` dotnet Pierre Neidhardt
@ 2020-06-25  8:06       ` Simen Endsjø
  0 siblings, 0 replies; 5+ messages in thread
From: Simen Endsjø @ 2020-06-25  8:06 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: help-guix


Pierre Neidhardt <mail@ambrevar.xyz> writes:

> The readme says we need dotnet to build msbuild.
>
> On the other hand, there is this tag:
>
> https://github.com/mono/msbuild/releases/tag/0.08
>
> So maybe it's bootstrappable after all.

Looks like it already tries to use this in the build, but 
something goes wrong
here at least. Haven't spent any time debugging it

#+begin_example
$ make
./eng/cibuild_bootstrapped_msbuild.sh --host_type mono 
--configuration Release --binaryLog --skip_tests
,** Downloading MSBUILD from 
https://github.com/mono/msbuild/releases/download/0.08/mono_msbuild_6.4.0.208.zip

Unhandled Exception:
System.TypeInitializationException: The type initializer for 
'Microsoft.Build.CommandLine.MSBuildApp' threw an exception. ---> 
System.TypeInitializationException: The type initializer for 
'Microsoft.Build.Shared.FileUtilities' threw an exception. ---> 
System.TypeInitializationException: The type initializer for 
'Microsoft.Build.Shared.FileSystem.FileSystems' threw an 
exception. ---> System.TypeInitializationException: The type 
initializer for 'Microsoft.Build.Shared.NativeMethodsShared' threw 
an exception. ---> System.TypeLoadException: Could not load type 
'System.Runtime.InteropServices.OSPlatform' from assembly 
'mscorlib, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089'.
  at Microsoft.Build.Shared.NativeMethodsShared..cctor () 
  <0x40261770 + 0x00107> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at Microsoft.Build.Shared.FileSystem.FileSystems.GetFileSystem 
  () <0x40261720 + 0x0000b> in <filename unknown>:0
  at Microsoft.Build.Shared.FileSystem.FileSystems..cctor () 
  <0x402616f0 + 0x0000b> in <filename unknown>:0
  --- End of inner exception stack trace ---
  --- End of inner exception stack trace ---
  at Microsoft.Build.CommandLine.MSBuildApp..cctor () <0x40260ff0 
  + 0x0015b> in <filename unknown>:0
  --- End of inner exception stack trace ---
[ERROR] FATAL UNHANDLED EXCEPTION: 
System.TypeInitializationException: The type initializer for 
'Microsoft.Build.CommandLine.MSBuildApp' threw an exception. ---> 
System.TypeInitializationException: The type initializer for 
'Microsoft.Build.Shared.FileUtilities' threw an exception. ---> 
System.TypeInitializationException: The type initializer for 
'Microsoft.Build.Shared.FileSystem.FileSystems' threw an 
exception. ---> System.TypeInitializationException: The type 
initializer for 'Microsoft.Build.Shared.NativeMethodsShared' threw 
an exception. ---> System.TypeLoadException: Could not load type 
'System.Runtime.InteropServices.OSPlatform' from assembly 
'mscorlib, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089'.
  at Microsoft.Build.Shared.NativeMethodsShared..cctor () 
  <0x40261770 + 0x00107> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at Microsoft.Build.Shared.FileSystem.FileSystems.GetFileSystem 
  () <0x40261720 + 0x0000b> in <filename unknown>:0
  at Microsoft.Build.Shared.FileSystem.FileSystems..cctor () 
  <0x402616f0 + 0x0000b> in <filename unknown>:0
  --- End of inner exception stack trace ---
  --- End of inner exception stack trace ---
  at Microsoft.Build.CommandLine.MSBuildApp..cctor () <0x40260ff0 
  + 0x0015b> in <filename unknown>:0
  --- End of inner exception stack trace ---
make: *** [Makefile:2: all-mono] Error 1
#+end_example

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-24  6:12 dotnet Simen Endsjø
2020-06-24  8:23 ` dotnet Pierre Neidhardt
2020-06-24  8:52   ` dotnet Simen Endsjø
2020-06-25  7:40     ` dotnet Pierre Neidhardt
2020-06-25  8:06       ` dotnet Simen Endsjø

unofficial mirror of help-guix@gnu.org 

Archives are clonable:
	git clone --mirror https://yhetil.org/guix-user/0 guix-user/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-user guix-user/ https://yhetil.org/guix-user \
		help-guix@gnu.org
	public-inbox-index guix-user

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.user
	nntp://news.gmane.io/gmane.comp.gnu.guix.user


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git