summary refs log tree commit diff
diff options
context:
space:
mode:
authorwhonore <wolfhonore@gmail.com>2023-04-29 12:57:45 -0400
committerwhonore <wolfhonore@gmail.com>2023-04-29 19:10:36 -0400
commit54149f4b1d75122d1bdf7ccec7b264b885658150 (patch)
treef805a60befd88e4ee58db3f3bf8997b9d2d8e1f0
parentbfebb2de80f4ed606b02d95516b99026ad007d64 (diff)
downloadnixpkgs-54149f4b1d75122d1bdf7ccec7b264b885658150.tar
nixpkgs-54149f4b1d75122d1bdf7ccec7b264b885658150.tar.gz
nixpkgs-54149f4b1d75122d1bdf7ccec7b264b885658150.tar.bz2
nixpkgs-54149f4b1d75122d1bdf7ccec7b264b885658150.tar.lz
nixpkgs-54149f4b1d75122d1bdf7ccec7b264b885658150.tar.xz
nixpkgs-54149f4b1d75122d1bdf7ccec7b264b885658150.tar.zst
nixpkgs-54149f4b1d75122d1bdf7ccec7b264b885658150.zip
dafny: 3.7.3 -> 4.0.0
-rw-r--r--pkgs/development/dotnet-modules/dafny-deps.nix48
-rw-r--r--pkgs/top-level/dotnet-packages.nix42
2 files changed, 52 insertions, 38 deletions
diff --git a/pkgs/development/dotnet-modules/dafny-deps.nix b/pkgs/development/dotnet-modules/dafny-deps.nix
index bf75f09d47f..1aea2c8080e 100644
--- a/pkgs/development/dotnet-modules/dafny-deps.nix
+++ b/pkgs/development/dotnet-modules/dafny-deps.nix
@@ -2,19 +2,19 @@
 # Please dont edit it manually, your changes might get overwritten!
 
 { fetchNuGet }: [
-  (fetchNuGet { pname = "Boogie.AbstractInterpretation"; version = "2.15.6"; sha256 = "0pdliiwc4185dm0skkafzz79njigyg5jq704mka928x51yrpl7mp"; })
-  (fetchNuGet { pname = "Boogie.BaseTypes"; version = "2.15.6"; sha256 = "1mqibpc1d9vgi7lknys8l4jvl25h9n0h72msvjkdyr5n1821g00q"; })
-  (fetchNuGet { pname = "Boogie.CodeContractsExtender"; version = "2.15.6"; sha256 = "1h6r1ak2c85gascfpi4k8cfgn2k95bd0racxg0m2mhcqnb9wc9rz"; })
-  (fetchNuGet { pname = "Boogie.Concurrency"; version = "2.15.6"; sha256 = "0f243323662sm58z7ldihdmzy5fpq0sxmcivixy2pjva9yxiv7vk"; })
-  (fetchNuGet { pname = "Boogie.Core"; version = "2.15.6"; sha256 = "1mkvqi2mrs68zpk7vg7cfwnbcgiavz4lk91a8lgk7a76l229rvic"; })
-  (fetchNuGet { pname = "Boogie.ExecutionEngine"; version = "2.15.6"; sha256 = "1sm1zp64nsydlx6kp3449c22vvf0ncj1x3nbp6ql9qv3h850r1a0"; })
-  (fetchNuGet { pname = "Boogie.Graph"; version = "2.15.6"; sha256 = "1xyd63r61kizsr1llvl9aghw2k5p7b60pq3rna85qr9g66sl832n"; })
-  (fetchNuGet { pname = "Boogie.Houdini"; version = "2.15.6"; sha256 = "12cj01x12miafxyxq9qni1851i4izq3bjvh6smbqvmxj909arzd1"; })
-  (fetchNuGet { pname = "Boogie.Model"; version = "2.15.6"; sha256 = "1viln6mnw935zhb09ri4dv08m985fj0npxgrgi7bhlpx08r4j0yn"; })
-  (fetchNuGet { pname = "Boogie.Predication"; version = "2.15.6"; sha256 = "0nl9njl3qdx8fyf1m51x0apj0cm4h4fx721c4041czwpfqwc940d"; })
-  (fetchNuGet { pname = "Boogie.Provers.SMTLib"; version = "2.15.6"; sha256 = "08a19ka5qx6ynnmxsvgmn0zp0sh4jk9j5ma7jy7lh6vj07bx5yk0"; })
-  (fetchNuGet { pname = "Boogie.VCExpr"; version = "2.15.6"; sha256 = "1pa8b8ihg6v6657a6qz9n045wks28qs7knc7nashg6hrl94c0rfg"; })
-  (fetchNuGet { pname = "Boogie.VCGeneration"; version = "2.15.6"; sha256 = "024paazabjqqcxn4pmg2lgg5qkifz9xc2cd2g5c3xy6r4mf7vc45"; })
+  (fetchNuGet { pname = "Boogie"; version = "2.16.0"; sha256 = "1zcbbqhn7brxnywp3m5pfd7rcapg5w1xjr5pkfsqmmv8fk36nfja"; })
+  (fetchNuGet { pname = "Boogie.AbstractInterpretation"; version = "2.16.0"; sha256 = "05l8lfh25w0a92swhlgp01l62bp6d07191jjvhnnak1k184drqm4"; })
+  (fetchNuGet { pname = "Boogie.BaseTypes"; version = "2.16.0"; sha256 = "0qak5dzxja5ffprb0frgvbf88nlk232fr2m3lvg27qz3ai70p8xm"; })
+  (fetchNuGet { pname = "Boogie.CodeContractsExtender"; version = "2.16.0"; sha256 = "078b5hzllqw08g5wvgp63lq2qg1ywk0scph3wdgjn966q2yfqz84"; })
+  (fetchNuGet { pname = "Boogie.Concurrency"; version = "2.16.0"; sha256 = "1wcfqgnvinkfd26ig82gbj6ykn6b3f2iv8gr8h96q9jd6x9rmlkb"; })
+  (fetchNuGet { pname = "Boogie.Core"; version = "2.16.0"; sha256 = "00sgvjxx613ljmppb69abrw50gv2rv9kk96rc1dq8ymlw8b3imw7"; })
+  (fetchNuGet { pname = "Boogie.ExecutionEngine"; version = "2.16.0"; sha256 = "1kxyrbwcp5slgq3n26s2l69fs2hbda41v7jkxhpjh1yn9wb56b4n"; })
+  (fetchNuGet { pname = "Boogie.Graph"; version = "2.16.0"; sha256 = "1qhfdysbca63agb7lcclyhi4wvi6142ipcbh9ag0g9mdf0pkwiqv"; })
+  (fetchNuGet { pname = "Boogie.Houdini"; version = "2.16.0"; sha256 = "0rqhybfhbkb4cb14d546gknjabgrfl7pm1b87nzhmxpwzszw6ss3"; })
+  (fetchNuGet { pname = "Boogie.Model"; version = "2.16.0"; sha256 = "0k328lcnxqf06pc97sgmqdzr564zgdvacy6j2n1209w882xs43rg"; })
+  (fetchNuGet { pname = "Boogie.Provers.SMTLib"; version = "2.16.0"; sha256 = "19xx2x9ccr64rr7cldgdmd0d1xi56rz0skmvkqn1hdwcndh01n6a"; })
+  (fetchNuGet { pname = "Boogie.VCExpr"; version = "2.16.0"; sha256 = "0ysmw9sl713xdpbcij3w4bm2hkigkjw7c2j1a7wwax02gsvx8djw"; })
+  (fetchNuGet { pname = "Boogie.VCGeneration"; version = "2.16.0"; sha256 = "1g3ipl27qcy23g0pnsahyba9j90fvhm17wxczqx7hbgw0h183nji"; })
   (fetchNuGet { pname = "Castle.Core"; version = "4.4.0"; sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; })
   (fetchNuGet { pname = "CocoR"; version = "2014.12.24"; sha256 = "0ps8h7aawkcc1910qnh13llzb01pvgsjmg862pxp0p4wca2dn7a2"; })
   (fetchNuGet { pname = "CommandLineParser"; version = "2.8.0"; sha256 = "1m32xyilv2b7k55jy8ddg08c20glbcj2yi545kxs9hj2ahanhrbb"; })
@@ -22,6 +22,7 @@
   (fetchNuGet { pname = "coverlet.collector"; version = "1.3.0"; sha256 = "0k65d9hag6d59w1ixf4n5ihcphp04vrjmd99x5nhga81w1k9i20y"; })
   (fetchNuGet { pname = "coverlet.collector"; version = "3.0.2"; sha256 = "1xf6z6izmsl4g8w3z1wbp4pa8f8qsf6sil4mf1c9fb22hq8c5hkg"; })
   (fetchNuGet { pname = "coverlet.collector"; version = "3.1.0"; sha256 = "01mcx8ljrkpyn1izyq4xlpd4jifnxl8r6asijjj3hda8vk9pw93l"; })
+  (fetchNuGet { pname = "coverlet.collector"; version = "3.1.2"; sha256 = "0gsk2q93qw7pqxwd4pdyq5364wz0lvldcqqnf4amz13jaq86idmz"; })
   (fetchNuGet { pname = "DiffPlex"; version = "1.7.0"; sha256 = "09a8hkbx99iwikfl8war629945yv7i8llj9480dbc4kyp6qqlr00"; })
   (fetchNuGet { pname = "dotnet-format"; version = "5.1.250801"; sha256 = "1i0icx2yyp9141rjb2a221a71fvsy0knrfyvv631vb56r8fnsywh"; })
   (fetchNuGet { pname = "Humanizer.Core"; version = "2.2.0"; sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5"; })
@@ -51,6 +52,7 @@
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.11.0"; sha256 = "0f41l3kks6wk5vjaxpjh8m2flnrvlbvqgqflamhv8rfz4y8ifgdv"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.8.3"; sha256 = "1r49rr83s9agbs3xkmf1dlkvqbay163qvwz6r2z6lgh92r9flksv"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.9.4"; sha256 = "11wiyy3ykgk1sa9amy3lgcsg2v7d1sz59ggw647vx8ibpjxijjpp"; })
+  (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.1.0"; sha256 = "1ijl3w14lnj15hi052jlshf5k8vb90x0py7yrs897mf126qp8ivy"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
   (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "2.0.4"; sha256 = "1fdzln4im9hb55agzwchbfgm3vmngigmbpci5j89b0gqcxixmv8j"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "2.0.0"; sha256 = "0yssxq9di5h6xw2cayp5hj3l9b2p0jw9wcjz73rwk4586spac9s9"; })
@@ -87,26 +89,30 @@
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.11.0"; sha256 = "1a2y6vw6p9xp3w72zq2lwrjl8bxv87s9d7zd2dh4zwbzh1c5slxl"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.8.3"; sha256 = "1ahah4vgdjfymab7cd49rpdagsjd1x1hid3h82yln99b3p91whkd"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.1.0"; sha256 = "1jaq11fhcfiylnn6wvbp2k9hrgq4cz755sfqjqjqcdxlkiyj2dkw"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.0.0"; sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.1.0"; sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.2"; sha256 = "0i42rn8xmvhn08799manpym06kpw89qy9080myyy2ngy565pqh0a"; })
+  (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net452"; version = "1.0.2"; sha256 = "02xpdaynfglblvi2brszspvz0rz3admzh35shnqgik6s1x75n82k"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.Extensions.TrxLogger"; version = "17.0.0"; sha256 = "067vpfk5690j0d01lfy8mry42pkzz79l873cp2dby0hi8skfklaq"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.10.0"; sha256 = "062llwghbmf5vhrczylyzhlflhd5lx05607aipmximd66p50wzbk"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.11.0"; sha256 = "1fc0ghk1cny4i8w43b94pxhl0srxisv6kaflkkp30ncsa9szhkxh"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.8.3"; sha256 = "0szyg2p18w9lhlp52iylrr97w3kdalab089imhc53x1850avddsg"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.9.4"; sha256 = "1jizkbrnm4pv60zch29ki7gj8m7j5whk141x9cwx4kwsd6cfzwi6"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.0.0"; sha256 = "1bh5scbvl6ndldqv20sl34h4y257irm9ziv2wyfc3hka6912fhn7"; })
-  (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.11.0"; sha256 = "0hp1vndf2jhyg1f3miq4g2068z5kpfzy6nmswm25vymghxp1ws4k"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.1.0"; sha256 = "0jw577vbrplv9kga22lsipz91ww9iqi6j1wgpwga0vrayhggjsk2"; })
   # Fix "error NETSDK1152: Found multiple publish output files with the same relative path:"
-  # by removing old versions from the mix.
+  # by removing old version from the mix.
   #(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.10.0"; sha256 = "1lhwwxlylmklp8wwirfmdc4dzfp2h8fxgw847cqy8by8h5wcwbjc"; })
-  #(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.9.4"; sha256 = "14110qzmypr72ywvx3npq7mf4n0gvdr4536v91z1xbapms65am6x"; })
+  #(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.11.0"; sha256 = "0hp1vndf2jhyg1f3miq4g2068z5kpfzy6nmswm25vymghxp1ws4k"; })
   #(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.8.3"; sha256 = "0lgjvzhh2gkcl1r1f9w97wv5zy0p8iga68ml6v10m9wxh640zdqr"; })
+  #(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.9.4"; sha256 = "14110qzmypr72ywvx3npq7mf4n0gvdr4536v91z1xbapms65am6x"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.1.0"; sha256 = "0j9i078hv4qqrg2433p20pykmcjvmzarc1cy1k5f7kc7739q6vx5"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "16.7.56"; sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "16.7.56"; sha256 = "04v9df0k7bsc0rzgkw4mnvi43pdrh42vk6xdcwn9m6im33m0nnz2"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "15.5.31"; sha256 = "1ah99rn922qa0sd2k3h64m324f2r32pw8cn4cfihgvwx4qdrpmgw"; })
@@ -122,10 +128,12 @@
   (fetchNuGet { pname = "MSTest.TestFramework"; version = "2.2.7"; sha256 = "1dmdb3g07wkciccv69nfrvqnda400qlh0kkgy28l8s00iil31dmr"; })
   (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.6.81"; sha256 = "06wihcaga8537ibh0mkj28m720m6vzkqk562zkynhca85nd236yi"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
   (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.0.0"; sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; })
   (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc"; version = "0.19.5"; sha256 = "0ilcv3cxcvjkd8ngiydi69pzll07rhqdv5nq9yjnhyj142ynw2cb"; })
   (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc.Generators"; version = "0.19.5"; sha256 = "1mac4yx29ld8fyirg7n0vqn81hzdvcrl8w0l9w5xhnnm6bcd42v8"; })
   (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc.Testing"; version = "0.19.5"; sha256 = "0lr4a25x6vblcs2fk5i69dd4a269kbhlll5mgfwvlnnbqxwh1m2c"; })
@@ -185,6 +193,7 @@
   (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
   (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; })
   (fetchNuGet { pname = "System.CodeDom"; version = "4.4.0"; sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
@@ -197,6 +206,7 @@
   (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
   (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.0.1"; sha256 = "1wbv7y686p5x169rnaim7sln67ivmv6r57falrnx8aap9y33mam9"; })
   (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
+  (fetchNuGet { pname = "System.CommandLine"; version = "2.0.0-beta4.22272.1"; sha256 = "1iy5hwwgvx911g3yq65p4zsgpy08w4qz9j3h0igcf7yci44vw8yd"; })
   (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
   (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
   (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
@@ -241,12 +251,14 @@
   (fetchNuGet { pname = "System.Linq.Async"; version = "6.0.1"; sha256 = "10ira8hmv0i54yp9ggrrdm1c06j538sijfjpn1kmnh9j2xk5yzmq"; })
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
   (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
   (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
   (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
   (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
   (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
   (fetchNuGet { pname = "System.Net.WebSockets"; version = "4.3.0"; sha256 = "1gfj800078kggcgl0xyl00a6y5k4wwh2k2qm69rjy22wbmq7fy4p"; })
+  (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; })
   (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
   (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
   (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
@@ -274,6 +286,7 @@
   (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
   (fetchNuGet { pname = "System.Runtime.Caching"; version = "6.0.0"; sha256 = "0wh98a77cby4i3h2mar241k01105x661kh03vlyd399shxkfk60a"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
@@ -307,7 +320,6 @@
   (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; })
   (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
-  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.6.0"; sha256 = "1jmfzfz1n8hp63s5lja5xxpzkinbp6g59l3km9h8avjiisdrg5wm"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix
index 5688a6800e6..8789a82ec04 100644
--- a/pkgs/top-level/dotnet-packages.nix
+++ b/pkgs/top-level/dotnet-packages.nix
@@ -172,15 +172,15 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
     };
   };
 
-  Dafny =  buildDotnetModule rec {
+  Dafny = buildDotnetModule rec {
     pname = "Dafny";
-    version = "3.7.3";
+    version = "4.0.0";
 
     src = fetchFromGitHub {
-      owner = "Microsoft";
+      owner = "dafny-lang";
       repo = "dafny";
       rev = "v${version}";
-      sha256 = "1knv6zvpq0bnngmlwkcqgjpdkqsgbiihs6a0cycb8ssn18s4ippr";
+      sha256 = "sha256-7mVFDORbu9KsJ4IH8PrrpXE7xFrWVTyBmRaL8Kt/ghY=";
     };
 
     postPatch = ''
@@ -189,30 +189,32 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
         javac $(find -name "*.java" | grep "^./src/main") -d classes
         jar cf build/libs/DafnyRuntime.jar -C classes dafny
       ''} Source/DafnyRuntime/DafnyRuntimeJava/gradlew
-    '';
 
-    preBuild = ''
-      ln -s ${pkgs.z3} Binaries/z3
+      # Needed to fix
+      # "error NETSDK1129: The 'Publish' target is not supported without specifying a target framework. The current project targets multiple frameworks, you must specify the framework for the published application."
+      substituteInPlace Source/DafnyRuntime/DafnyRuntime.csproj \
+        --replace TargetFrameworks TargetFramework \
+        --replace "netstandard2.0;net452" net6.0
     '';
 
-    buildInputs = [ Boogie pkgs.jdk11 ];
+    buildInputs = [ pkgs.jdk11 ];
     nugetDeps = ../development/dotnet-modules/dafny-deps.nix;
 
-    projectFile = [ "Source/Dafny.sln" ];
+    # Build just these projects. Building Source/Dafny.sln includes a bunch of
+    # unnecessary components like tests.
+    projectFile = [
+      "Source/Dafny/Dafny.csproj"
+      "Source/DafnyRuntime/DafnyRuntime.csproj"
+      "Source/DafnyLanguageServer/DafnyLanguageServer.csproj"
+    ];
 
-    # Boogie as an input is not enough. Boogie libraries need to be at the same
-    # place as Dafny ones. Same for "*.dll.mdb". No idea why or how to fix.
-    postFixup = ''
-      for lib in ${Boogie}/lib/dotnet/${Boogie.pname}/*.dll{,.mdb}; do
-        ln -s $lib $out/lib/dotnet/${pname}/
-      done
-      # We generate our own executable scripts
-      rm -f $out/lib/dotnet/${pname}/dafny{,-server}
+    executables = [ "Dafny" ];
 
-      mv "$out/bin/Dafny" "$out/bin/dafny"
+    # Help Dafny find z3
+    makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ z3 ]}" ];
 
-      rm -f $out/bin/{coverlet,Microsoft,NUnit3,System}.*
-      rm -f $out/bin/{ThirdPartyNotices.txt,XUnitExtensions}
+    postFixup = ''
+      ln -s "$out/bin/Dafny" "$out/bin/dafny" || true
     '';
 
     meta = with lib; {