Merge pull request #132165 from corngood/msbuild

This commit is contained in:
Artturi 2021-08-08 08:23:32 +03:00 committed by GitHub
commit fcc7cd5554
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 791 additions and 449 deletions

View file

@ -3,8 +3,8 @@
let
xplat = fetchurl {
url = "https://github.com/mono/msbuild/releases/download/0.08/mono_msbuild_6.4.0.208.zip";
sha256 = "05k7qmnhfvrdgyjn6vp81jb97y21m261jnwdyqpjqpcmzz18j93g";
url = "https://github.com/mono/msbuild/releases/download/v16.9.0/mono_msbuild_6.12.0.137.zip";
sha256 = "1wnzbdpk4s9bmawlh359ak2b8zi0sgx1qvcjnvfncr1wsck53v7q";
};
deps = map (package: package.src)
@ -23,11 +23,11 @@ in
stdenv.mkDerivation rec {
pname = "msbuild";
version = "16.8+xamarinxplat.2020.07.30.15.02";
version = "16.10.1+xamarinxplat.2021.05.26.14.00";
src = fetchurl {
url = "https://download.mono-project.com/sources/msbuild/msbuild-${version}.tar.xz";
sha256 = "10amyca78b6pjfsy54b1rgwz2c1bx0sfky9zhldvzy4divckp25g";
sha256 = "05ghqqkdj4s3d0xkp7mkdzjig5zj3k6ajx71j0g2wv6rdbvg6899";
};
nativeBuildInputs = [
@ -47,16 +47,17 @@ stdenv.mkDerivation rec {
LOCALE_ARCHIVE = lib.optionalString stdenv.isLinux
"${glibcLocales}/lib/locale/locale-archive";
patches = [
(fetchpatch {
url = "https://github.com/mono/msbuild/commit/cad85cefabdaa001fb4bdbea2f5bf1d1cdb83c9b.patch";
sha256 = "1s8agc7nxxs69b3fl1v1air0c4dpig3hy4sk11l1560jrlx06dhh";
})
];
postPatch = ''
# not patchShebangs, there is /bin/bash in the body of the script as well
substituteInPlace ./eng/cibuild_bootstrapped_msbuild.sh --replace /bin/bash ${stdenv.shell}
patchShebangs eng/*.sh mono/build/*.sh
sed -i -e "/<\/projectImportSearchPaths>/a <property name=\"MSBuildExtensionsPath\" value=\"$out/lib/mono/xbuild\"/>" \
src/MSBuild/app.config
# license check is case sensitive
mv LICENSE license.bak && mv license.bak license
'';
buildPhase = ''
@ -70,9 +71,6 @@ stdenv.mkDerivation rec {
nuget add $package -Source nixos
done
# license check is case sensitive
mv LICENSE license.bak && mv license.bak license
mkdir -p artifacts
unzip ${xplat} -d artifacts
mv artifacts/msbuild artifacts/mono-msbuild
@ -82,9 +80,10 @@ stdenv.mkDerivation rec {
# overwrite the file
echo "#!${stdenv.shell}" > eng/common/dotnet-install.sh
echo "#!${stdenv.shell}" > mono/build/get_sdk_files.sh
# not patchShebangs, there is /bin/bash in the body of the script as well
substituteInPlace ./eng/cibuild_bootstrapped_msbuild.sh --replace /bin/bash ${stdenv.shell}
mkdir -p mono/dotnet-overlay/msbuild-bin
cp ${dotnet-sdk}/sdk/*/{Microsoft.NETCoreSdk.BundledVersions.props,RuntimeIdentifierGraph.json} mono/dotnet-overlay/msbuild-bin
# DisableNerdbankVersioning https://gitter.im/Microsoft/msbuild/archives/2018/06/27?at=5b33dbc4ce3b0f268d489bfa
# TODO there are some (many?) failing tests

File diff suppressed because it is too large Load diff

View file

@ -20,6 +20,7 @@ mapfile -t repos < <(
msbuild -t:restore -p:Configuration=Release -p:RestorePackagesPath="$tmpdir" \
-p:RestoreNoCache=true -p:RestoreForce=true \
-p:NuGetPackageVersion=5.9.1-rc.8 \
src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj >&2
cd "$tmpdir"

View file

@ -77,10 +77,16 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper msbuild ];
# NuGetPackageVersion is overridden to be to be compatible with msbuild 16.10,
# it needs to be kept in sync with ./create-deps.sh
buildPhase = ''
runHook preBuild
HOME=$(pwd)/fake-home msbuild -r -p:Configuration=Release -p:RestoreConfigFile=${nuget-config} src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj
HOME=$(pwd)/fake-home msbuild -r \
-p:Configuration=Release \
-p:RestoreConfigFile=${nuget-config} \
-p:NuGetPackageVersion=5.9.1-rc.8 \
src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj
runHook postBuild
'';
@ -97,7 +103,7 @@ in stdenv.mkDerivation rec {
ln -s ${msbuild}/lib/mono/msbuild/Current/bin $out/src/.msbuild/Current/Bin
makeWrapper ${mono6}/bin/mono $out/bin/omnisharp \
--prefix PATH : ${dotnet-sdk}/bin \
--suffix PATH : ${dotnet-sdk}/bin \
--add-flags "$out/src/OmniSharp.exe"
'';

View file

@ -707,8 +707,8 @@
name = "microsoft.visualstudio.debugger.contracts";
version = "17.2.0-beta.21262.1";
src = fetchurl {
url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/78665e4c-b767-412b-9804-2b1ef7a48b8a/nuget/v3/flat2/microsoft.visualstudio.debugger.contracts/17.2.0-beta.21262.1/microsoft.visualstudio.debugger.contracts.17.2.0-beta.21262.1.nupkg";
sha256 = "10fi1jdxnxvww1qzfhqi53fn0a411gvpvcsb0pvwvj7qk0lzs7c9";
url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.debugger.contracts/17.2.0-beta.21262.1/microsoft.visualstudio.debugger.contracts.17.2.0-beta.21262.1.nupkg";
sha256 = "148gb4k28fch1rhh6kr82dajl7qnvjxvkxvc8igy7zra70nvbx74";
};
}
{
@ -839,6 +839,14 @@
sha256 = "14y7axpmdl9fg8jfc42gxpcq9wj8k3vzc07npmgjnzqlp5xjyyac";
};
}
{
name = "nuget.common";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/5.9.1-rc.8/nuget.common.5.9.1-rc.8.nupkg";
sha256 = "056b1h4fvik6z2qc2s6qzz0s4acbipc50af14fbr7hd9h2fxya4c";
};
}
{
name = "nuget.configuration";
version = "5.2.0";
@ -847,6 +855,14 @@
sha256 = "0b4dkym3vnj7qldnqqq6h6ry0gkql5c2ps5wy72b8s4fc3dmnvf1";
};
}
{
name = "nuget.configuration";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/5.9.1-rc.8/nuget.configuration.5.9.1-rc.8.nupkg";
sha256 = "0x8vigf0sfp6kf1i98xcr4k84vci596x16hmajdm0zgv3p1w2kvk";
};
}
{
name = "nuget.dependencyresolver.core";
version = "5.2.0";
@ -855,6 +871,14 @@
sha256 = "156yjfsk9pzqviiwy69lxfqf61yyj4hn4vdgfcbqvw4d567i150r";
};
}
{
name = "nuget.dependencyresolver.core";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/5.9.1-rc.8/nuget.dependencyresolver.core.5.9.1-rc.8.nupkg";
sha256 = "1q9a97s1z3a6fb4p82ag2lqnzl53895prbqwlbvckdw9c3rpz3gc";
};
}
{
name = "nuget.frameworks";
version = "5.0.0";
@ -871,6 +895,14 @@
sha256 = "1fh4rp26m77jq5dyln68wz9qm217la9vv21amis2qvcy6gknk2wp";
};
}
{
name = "nuget.frameworks";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/5.9.1-rc.8/nuget.frameworks.5.9.1-rc.8.nupkg";
sha256 = "1n3mp9ns79yq4dwgj7h2av3b485mzgsw0qlj8z7p47krwlzp5hiv";
};
}
{
name = "nuget.librarymodel";
version = "5.2.0";
@ -879,6 +911,14 @@
sha256 = "0vxd0y7rzzxvmxji9bzp95p2rx48303r3nqrlhmhhfc4z5fxjlqk";
};
}
{
name = "nuget.librarymodel";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/5.9.1-rc.8/nuget.librarymodel.5.9.1-rc.8.nupkg";
sha256 = "0sy8422c94wcg8ka85lnawq26mpixl79avk9m6y44lshrpga5v4v";
};
}
{
name = "nuget.packaging";
version = "5.2.0";
@ -888,11 +928,19 @@
};
}
{
name = "nuget.packaging.core";
version = "5.2.0";
name = "nuget.packaging";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/nuget.packaging.core/5.2.0/nuget.packaging.core.5.2.0.nupkg";
sha256 = "16sm2amzvbpmisb6x6dz1pvj1h3xm67vd2byl1wl13vrda0az3xb";
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/5.9.1-rc.8/nuget.packaging.5.9.1-rc.8.nupkg";
sha256 = "0x9c3v741nn6m2xgidna88fa4xj5avhv6asj73hqv4pzpdprlrhv";
};
}
{
name = "nuget.packaging.core";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging.core/5.9.1-rc.8/nuget.packaging.core.5.9.1-rc.8.nupkg";
sha256 = "0vsaixmla4zh277xpn5ngbmi2f52hb26aqzr0z9l4a3mlpi4l5nx";
};
}
{
@ -903,6 +951,14 @@
sha256 = "1j23jk2zql52v2nqgi0k6d7z63pjjzrvw8y1s38zpf0sn7lzdr0h";
};
}
{
name = "nuget.projectmodel";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/5.9.1-rc.8/nuget.projectmodel.5.9.1-rc.8.nupkg";
sha256 = "1xjh7isw467nkc7dkfj3wlw69vi2cns66z152jrzjdmxmia3i3pv";
};
}
{
name = "nuget.protocol";
version = "5.2.0";
@ -911,6 +967,14 @@
sha256 = "1vlrrlcy7p2sf23wqax8mfhplnzppd73xqlr2g83ya056w0yf2rd";
};
}
{
name = "nuget.protocol";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/5.9.1-rc.8/nuget.protocol.5.9.1-rc.8.nupkg";
sha256 = "1rnrxzaciqhhgwd4by0dhkvfrm1h161vvmkvlcwaz2589sqq2dzq";
};
}
{
name = "nuget.versioning";
version = "5.2.0";
@ -919,6 +983,14 @@
sha256 = "08ay8bhddj9yiq6h9lk814l65fpx5gh1iprkl7pcp78g57a6k45k";
};
}
{
name = "nuget.versioning";
version = "5.9.1-rc.8";
src = fetchurl {
url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/5.9.1-rc.8/nuget.versioning.5.9.1-rc.8.nupkg";
sha256 = "1vv7z122ilsk2rsvjm6j3hpifb45g8wa1mgnq1kwi9k8b2dbb6vv";
};
}
{
name = "omnisharp.extensions.jsonrpc";
version = "0.19.0";
@ -1319,14 +1391,6 @@
sha256 = "0phd2qizshjvglhzws1jd0cq4m54gscz4ychzr3x6wbgl4vvfrga";
};
}
{
name = "system.diagnostics.process";
version = "4.3.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.process/4.3.0/system.diagnostics.process.4.3.0.nupkg";
sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7";
};
}
{
name = "system.diagnostics.tools";
version = "4.3.0";
@ -1343,14 +1407,6 @@
sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
};
}
{
name = "system.dynamic.runtime";
version = "4.3.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/system.dynamic.runtime/4.3.0/system.dynamic.runtime.4.3.0.nupkg";
sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
};
}
{
name = "system.globalization";
version = "4.0.11";
@ -1887,6 +1943,14 @@
sha256 = "00797sqbba8lys486ifxblz9j52m29kidclvmqpk531820k55x9j";
};
}
{
name = "system.security.cryptography.cng";
version = "5.0.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.cng/5.0.0/system.security.cryptography.cng.5.0.0.nupkg";
sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw";
};
}
{
name = "system.security.cryptography.csp";
version = "4.3.0";
@ -1919,6 +1983,14 @@
sha256 = "1mwvzl5ask8kk0vdgchhqr90nl61kagg47warb7dxrb03cxjd4wm";
};
}
{
name = "system.security.cryptography.pkcs";
version = "5.0.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.pkcs/5.0.0/system.security.cryptography.pkcs.5.0.0.nupkg";
sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj";
};
}
{
name = "system.security.cryptography.primitives";
version = "4.3.0";
@ -1929,10 +2001,10 @@
}
{
name = "system.security.cryptography.protecteddata";
version = "4.3.0";
version = "4.4.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.protecteddata/4.3.0/system.security.cryptography.protecteddata.4.3.0.nupkg";
sha256 = "1kg264xmqabyz8gfg8ymp6qp6aw43vawfp0znf0909d7b5jd3dq9";
url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.protecteddata/4.4.0/system.security.cryptography.protecteddata.4.4.0.nupkg";
sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6";
};
}
{
@ -2151,22 +2223,6 @@
sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
};
}
{
name = "system.threading.thread";
version = "4.3.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg";
sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
};
}
{
name = "system.threading.threadpool";
version = "4.3.0";
src = fetchurl {
url = "https://api.nuget.org/v3-flatcontainer/system.threading.threadpool/4.3.0/system.threading.threadpool.4.3.0.nupkg";
sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
};
}
{
name = "system.threading.timer";
version = "4.3.0";

View file

@ -11968,7 +11968,7 @@ in
roslyn = callPackage ../development/compilers/roslyn { };
msbuild = callPackage ../development/tools/build-managers/msbuild { };
msbuild = callPackage ../development/tools/build-managers/msbuild { dotnet-sdk = dotnet-sdk_5; };
mosml = callPackage ../development/compilers/mosml { };
@ -32661,7 +32661,7 @@ in
stdenv = crossLibcStdenv;
};
omnisharp-roslyn = callPackage ../development/tools/omnisharp-roslyn { };
omnisharp-roslyn = callPackage ../development/tools/omnisharp-roslyn { dotnet-sdk = dotnet-sdk_5; };
wasmtime = callPackage ../development/interpreters/wasmtime {};