ArsenShnurkov / shnurise

packages for mono environment and other
GNU General Public License v2.0
5 stars 0 forks source link

Msbuild doesnt fetch souces and doesnt work in the end #31

Open Meister1593 opened 3 years ago

Meister1593 commented 3 years ago
  1. Due to certain repositories changing from master branch name to main (msbuild/mono repos) , ebuilds now can't fetch certain files Specificly it couldn't fetch some files in newtonson-json and msbuild-defaulttasks, but probably a lot of packages in this overlay were affected

  2. Even if i would fix these fetches by myself, it won't help making msbuild work. When running simple msbuild /version or just msbuild it shows this No idea why this happens, but i noticed that it tries to run .exe in the end, but on another system (archlinux) it runs .dll They both produce the same output from file but maybe it's related...

ArsenShnurkov commented 3 years ago

Interesting. I didn't worked with this code for a long time.

Meister1593 commented 3 years ago

Another thing: on arch theres msbuild-xamarin-xplat, which is msbuild 15.0 is there any possibility for porting ebuilds for older msbuilds in addition to current one?

Meister1593 commented 3 years ago

My bad, it seems it's just a symbolic link to 16.8

Meister1593 commented 3 years ago

In any case, it would be really nice to have working msbuild under gentoo, i would finally be able to use .net framework windows projects under it

ArsenShnurkov commented 3 years ago

My repository takes the special approach to building dotnet programs. I want everything to be build truly from sources. May be you need "dotnet" repository instead, where they use core, nuget and binary downloads.

Meister1593 commented 3 years ago

I don't mind pure sources at all Basically only avaliable source for msbuild ebuilds are this repository and dotnet Dotnet repository has non-functional msbuild ebuild (issue as here with branch names + compilation failure) , only .net core binaries are actually working. It seems that not much attention given to that dotnet repository tbh I just want to make msbuild even work

ArsenShnurkov commented 3 years ago

There is a conceptual problem. Msbuild and most programs use "Microsoft.NET.Sdk". That is the set of scripts which describe build process which is supported by nuget.org packages. I am trying to write an alternative process tied to portage (I named it "Gentoo.NET.Sdk" and provided a way to replace first to second in ebuild to exclude use of nuget). I am not sure that you want to go that far.

Meister1593 commented 3 years ago

Currently i have windows forms project that works under msbuild 16.8 on archlinux, could it work in theory under msbuild that is provided here?

ArsenShnurkov commented 3 years ago

Since you have all the sources and licenses, in theory you can do anything. I have MyPad project (Winforms based), which is the source of my interest for writing all other code, including msbuild ebuild. Once it was possible to install it with portage, but probably now the code of ebuilds needs to be refreshed.

Meister1593 commented 3 years ago

Can you tell me (or even better - make small guide in readme) what packages we need to install for complete .net core / mono with msbuild? It would really help me and others making msbuild work

ArsenShnurkov commented 3 years ago

It is necessary to include MSBUILD_TARGETS into USE_EXPAND before build.

[ebuild N ] dev-dotnet/system-collections-immutable-2.0.0_pre-r1::shnurise USE="gac net45 pkg-config -debug -developer -doc" 20490 KiB [ebuild N ] dev-dotnet/newtonsoft-json-6.0.8-r1::shnurise USE="gac pkg-config -debug -developer -net45 -nupkg -test" 4609 KiB [ebuild N ] dev-dotnet/dotnetzip-semverd-1.13.7:13::shnurise USE="net45 pkg-config -debug -source" 5878 KiB [ebuild N ] dev-dotnet/msbuild-tasks-api-15.9.20.62856-r5:15.9::shnurise USE="gac mskey net45 pkg-config -debug -developer" 6229 KiB [ebuild N ] dev-dotnet/msbuildtasks-1.5.0.260_pre-r1:1::shnurise USE="debug msbuild net45 symlink xbuild -developer -gac -pkg-config" 376 KiB [ebuild N ] dev-dotnet/msbuild-roslyn-csc-15.9-r1::shnurise USE="debug gac msbuild mskey -developer -msbuild_targets_msbuild15-9 -net45 -pkg-config" 23800 KiB [ebuild N ] dev-dotnet/buildtools-1.0.27::shnurise USE="gac net45 symlink -debug -developer -doc -pkg-config" 1221 KiB [ebuild N ] dev-dotnet/system-reflection-metadata-2.0.0_pre::shnurise USE="gac net45 pkg-config -debug -developer -doc" 0 KiB [ebuild N ] dev-dotnet/msbuild-defaulttasks-15.9.20.62856:15.9::shnurise USE="gac mskey net46 -debug -developer -pkg-config" 0 KiB [ebuild N ] dev-util/msbuild-15.9.20.62856-r5:15.9::shnurise USE="gac mskey net46 roslyn -debug -developer -pkg-config -symlink" 0 KiB [ebuild N ] app-eselect/eselect-msbuild-15.9::shnurise 8 KiB [ebuild N ] dev-dotnet/gentoo-net-sdk-1.0.0-r3::shnurise USE="msbuild msbuild_targets_msbuild15-9 net45 - -debug -developer -msbuild_targets_msbuild15-4 -msbuild_targets_msbuild15-7" 69 KiB [ebuild N ] dev-util/msbuild-meta-15.9-r1::shnurise 0 KiB

Also you will not have Microsoft.NET.Sdk, that's another story