aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Popov <arrowd@FreeBSD.org>2025-02-15 11:16:21 +0000
committerGleb Popov <arrowd@FreeBSD.org>2025-02-21 18:01:54 +0000
commit1a37ab5e607402b589579a165afed8cf81ee050b (patch)
treef3003bcb439cf2cc0c25e381d7035c5e3d5b9408
parent9b1c65d0788a6f69fc337e476a5d285e941cdcaf (diff)
-rw-r--r--shells/Makefile1
-rw-r--r--shells/powershell/Makefile195
-rw-r--r--shells/powershell/distinfo219
-rw-r--r--shells/powershell/files/Microsoft.PowerShell.SDK.csproj.TypeCatalog.targets9
-rw-r--r--shells/powershell/files/patch-PowerShell.Common.props19
-rw-r--r--shells/powershell/files/patch-nuget.config15
-rw-r--r--shells/powershell/files/patch-src_ResGen_ResGen.csproj11
-rw-r--r--shells/powershell/files/patch-src_TypeCatalogGen_TypeCatalogGen.csproj11
-rw-r--r--shells/powershell/files/patch-src_powershell-unix_powershell-unix.csproj11
-rw-r--r--shells/powershell/files/patch-src_powershell_Program.cs94
-rw-r--r--shells/powershell/nuget.mk16
-rw-r--r--shells/powershell/pkg-descr3
-rw-r--r--shells/powershell/pkg-plist408
13 files changed, 1012 insertions, 0 deletions
diff --git a/shells/Makefile b/shells/Makefile
index e33fa0798946..ae7161c178cf 100644
--- a/shells/Makefile
+++ b/shells/Makefile
@@ -51,6 +51,7 @@
SUBDIR += p5-Term-ShellUI
SUBDIR += pdksh
SUBDIR += pear-PHP_Shell
+ SUBDIR += powershell
SUBDIR += psh
SUBDIR += rc
SUBDIR += rubygem-shellwords
diff --git a/shells/powershell/Makefile b/shells/powershell/Makefile
new file mode 100644
index 000000000000..d8b7a65e66c5
--- /dev/null
+++ b/shells/powershell/Makefile
@@ -0,0 +1,195 @@
+PORTNAME= powershell
+DISTVERSIONPREFIX=v
+DISTVERSION= 7.5.0
+CATEGORIES= shells
+
+MAINTAINER= arrowd@FreeBSD.org
+COMMENT= Microsoft's shell with support for .NET objects
+WWW= https://microsoft.com/PowerShell
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= dotnet>=9.0.1:lang/dotnet
+LIB_DEPENDS= libbrotlienc.so:archivers/brotli \
+ libinotify.so:devel/libinotify \
+ libunwind.so:devel/libunwind
+RUN_DEPENDS= dotnet:lang/dotnet-host \
+ ${LOCALBASE}/lib/powershell/libpsl-native.so:shells/libpowershell-native \
+ ${LOCALBASE}/lib/libicuuc.so:devel/icu
+
+USES= gssapi:mit ssl:run
+
+USE_GITHUB= yes
+GH_ACCOUNT= PowerShell
+GH_PROJECT= PowerShell
+
+DOTNET_ARCH= ${ARCH:S/amd64/x64/:S/aarch64/arm64/}
+
+NUGET_GROUPS= NUGET PWSH
+NUGET_NUPKGS= DotNetAnalyzers.DocumentationAnalyzers:1.0.0-beta.59 \
+ DotNetAnalyzers.DocumentationAnalyzers.Unstable:1.0.0.59 \
+ JetBrains.Annotations:2021.2.0 \
+ Json.More.Net:2.0.2 \
+ JsonPointer.Net:5.0.2 \
+ JsonSchema.Net:7.2.3 \
+ Markdig.Signed:0.38.0 \
+ Microsoft.ApplicationInsights:2.22.0 \
+ Microsoft.Bcl.AsyncInterfaces:8.0.0 \
+ Microsoft.CodeAnalysis.Analyzers:3.11.0 \
+ Microsoft.CodeAnalysis.Common:4.11.0 \
+ Microsoft.CodeAnalysis.CSharp:4.11.0 \
+ Microsoft.Extensions.ObjectPool:8.0.12 \
+ Microsoft.Management.Infrastructure:3.0.0 \
+ Microsoft.Management.Infrastructure.Runtime.Unix:3.0.0 \
+ Microsoft.Management.Infrastructure.Runtime.Win:3.0.0 \
+ Microsoft.NETCore.Platforms:7.0.4 \
+ Microsoft.PowerShell.MarkdownRender:7.2.1 \
+ Microsoft.PowerShell.Native:7.4.0 \
+ Microsoft.Security.Extensions:1.3.0 \
+ Microsoft.Win32.Registry:5.0.0 \
+ Microsoft.Win32.Registry.AccessControl:9.0.1 \
+ Microsoft.Win32.SystemEvents:9.0.1 \
+ Microsoft.Windows.Compatibility:9.0.1 \
+ NETStandard.Library:2.0.3 \
+ Newtonsoft.Json:13.0.3 \
+ runtime.linux-arm.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.linux-arm64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.linux-x64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.android-arm.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.android-arm64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.android-x64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.android-x86.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.linux-bionic-arm64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.linux-bionic-x64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.linux-musl-arm.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.linux-musl-arm64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.linux-musl-x64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.maccatalyst-arm64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.maccatalyst-x64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.native.System.Data.SqlClient.sni:4.7.0 \
+ runtime.native.System.IO.Ports:9.0.1 \
+ runtime.osx-arm64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.osx-x64.runtime.native.System.IO.Ports:9.0.1 \
+ runtime.win-arm64.runtime.native.System.Data.SqlClient.sni:4.4.0 \
+ runtime.win-x64.runtime.native.System.Data.SqlClient.sni:4.4.0 \
+ runtime.win-x86.runtime.native.System.Data.SqlClient.sni:4.4.0 \
+ StyleCop.Analyzers:1.2.0-beta.556 \
+ StyleCop.Analyzers.Unstable:1.2.0.556 \
+ System.Buffers:4.5.1 \
+ System.CodeDom:9.0.1 \
+ System.Collections.Immutable:9.0.1 \
+ System.Collections.Immutable:8.0.0 \
+ System.ComponentModel.Composition:9.0.1 \
+ System.ComponentModel.Composition.Registration:9.0.1 \
+ System.Configuration.ConfigurationManager:9.0.1 \
+ System.Data.Odbc:9.0.1 \
+ System.Data.OleDb:9.0.1 \
+ System.Data.SqlClient:4.8.6 \
+ System.Diagnostics.DiagnosticSource:9.0.1 \
+ System.Diagnostics.EventLog:9.0.1 \
+ System.Diagnostics.PerformanceCounter:9.0.1 \
+ System.DirectoryServices:9.0.1 \
+ System.DirectoryServices.AccountManagement:9.0.1 \
+ System.DirectoryServices.Protocols:9.0.1 \
+ System.Drawing.Common:9.0.1 \
+ System.Formats.Asn1:6.0.0 \
+ System.IO.Packaging:9.0.1 \
+ System.IO.Ports:9.0.1 \
+ System.Management:9.0.1 \
+ System.Memory:4.5.5 \
+ System.Net.Http.WinHttpHandler:9.0.1 \
+ System.Numerics.Vectors:4.4.0 \
+ System.Numerics.Vectors:4.5.0 \
+ System.Private.ServiceModel:4.10.3 \
+ System.Reflection.Context:9.0.1 \
+ System.Reflection.DispatchProxy:4.7.1 \
+ System.Reflection.Metadata:8.0.1 \
+ System.Runtime.Caching:9.0.1 \
+ System.Runtime.CompilerServices.Unsafe:6.0.0 \
+ System.Security.AccessControl:6.0.1 \
+ System.Security.Cryptography.Pkcs:9.0.1 \
+ System.Security.Cryptography.ProtectedData:9.0.1 \
+ System.Security.Cryptography.Xml:9.0.1 \
+ System.Security.Permissions:9.0.1 \
+ System.Security.Principal.Windows:5.0.0 \
+ System.ServiceModel.Duplex:4.10.3 \
+ System.ServiceModel.Http:4.10.3 \
+ System.ServiceModel.NetTcp:4.10.3 \
+ System.ServiceModel.Primitives:4.10.3 \
+ System.ServiceModel.Security:4.10.3 \
+ System.ServiceModel.Syndication:9.0.1 \
+ System.ServiceProcess.ServiceController:9.0.1 \
+ System.Speech:9.0.1 \
+ System.Text.Encoding.CodePages:7.0.0 \
+ System.Text.Encoding.CodePages:8.0.0 \
+ System.Text.Encoding.CodePages:9.0.1 \
+ System.Text.Encodings.Web:6.0.0 \
+ System.Text.Encodings.Web:9.0.1 \
+ System.Text.Json:6.0.9 \
+ System.Threading.AccessControl:9.0.1 \
+ System.Threading.Tasks.Extensions:4.5.4 \
+ System.Web.Services.Description:8.0.0 \
+ System.Windows.Extensions:9.0.1 \
+ Humanizer.Core:2.14.1
+PWSH_NUPKGS= Microsoft.PowerShell.PSResourceGet:1.0.3 \
+ PSReadLine:2.3.4 \
+ PowerShellGet:3.0.23-beta23
+
+PWSH_MOD_EXTRACT_ARGS= -x "\[Content_Types\].xml" \
+ -x "_*/*" \
+ -x "package/*" \
+ -x "*.txt" \
+ -x "*.nuspec"
+
+DOTNET_CMD= ${SETENV} HOME=${WRKDIR} ${LOCALBASE}/bin/dotnet
+
+post-extract:
+ ${MKDIR} ${WRKSRC}/src/Microsoft.PowerShell.SDK/obj
+ ${CP} ${FILESDIR}/Microsoft.PowerShell.SDK.csproj.TypeCatalog.targets \
+ ${WRKSRC}/src/Microsoft.PowerShell.SDK/obj
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|%%NUGET_DISTDIR%%|${DISTDIR}/${NUGET_DISTSUBDIR}|' \
+ -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
+ ${WRKSRC}/nuget.config
+
+do-build:
+ cd ${WRKSRC}/src/ResGen && \
+ ${DOTNET_CMD} restore --packages ${WRKDIR}/packages && \
+ ${DOTNET_CMD} build --no-restore && \
+ ${DOTNET_CMD} run --no-restore
+ cd ${WRKSRC}/src/powershell-unix && \
+ ${DOTNET_CMD} restore --packages ${WRKDIR}/packages
+ cd ${WRKSRC}/src && \
+ ${DOTNET_CMD} msbuild \
+ Microsoft.PowerShell.SDK/Microsoft.PowerShell.SDK.csproj \
+ /t:_GetDependencies \
+ /p:DesignTimeBuild=true \
+ /p:_DependencyFile=${WRKSRC}/src/TypeCatalogGen/powershell.inc \
+ /nologo
+ cd ${WRKSRC}/src/TypeCatalogGen && \
+ ${DOTNET_CMD} restore --packages ${WRKDIR}/packages && \
+ ${DOTNET_CMD} dotnet build --no-restore && \
+ ${DOTNET_CMD} run --no-restore \
+ ../System.Management.Automation/CoreCLR/CorePsTypeCatalog.cs \
+ powershell.inc
+ cd ${WRKSRC}/src/powershell-unix && \
+ ${DOTNET_CMD} publish --packages ${WRKDIR}/packages -c Release \
+ -r freebsd.${_OSVERSION_MAJOR}-${DOTNET_ARCH} -o bin/publish \
+ --sc -p:PublishReadyToRun=false
+
+do-install:
+ ${CP} -r ${WRKSRC}/src/powershell-unix/bin/publish \
+ ${STAGEDIR}${PREFIX}/lib/powershell
+ ${LN} -s ../lib/powershell/pwsh ${STAGEDIR}${PREFIX}/bin
+
+post-install:
+.for m in ${PWSH_NUPKGS}
+ ${UNZIP_NATIVE_CMD} ${PWSH_MOD_EXTRACT_ARGS} \
+ -d ${STAGEDIR}${PREFIX}/lib/powershell/Modules/${m:C/:.*//} \
+ ${DISTDIR}/nuget/${m:C/:.*//:tl}.${m:C/.*://:tl}.nupkg
+.endfor
+
+.include "nuget.mk"
+.include <bsd.port.mk>
diff --git a/shells/powershell/distinfo b/shells/powershell/distinfo
new file mode 100644
index 000000000000..127be7374801
--- /dev/null
+++ b/shells/powershell/distinfo
@@ -0,0 +1,219 @@
+TIMESTAMP = 1740155453
+SHA256 (nuget/dotnetanalyzers.documentationanalyzers.unstable.1.0.0.59.nupkg) = ae589831a3338b8b7efc889cbfc65f64724460ca63e4af97a8da03bff2c02191
+SIZE (nuget/dotnetanalyzers.documentationanalyzers.unstable.1.0.0.59.nupkg) = 148293
+SHA256 (nuget/dotnetanalyzers.documentationanalyzers.1.0.0-beta.59.nupkg) = 923a54cd5b0fdb74cc6cc49a01b9027785ef4fd142b9b0802a588ae242a6740e
+SIZE (nuget/dotnetanalyzers.documentationanalyzers.1.0.0-beta.59.nupkg) = 14410
+SHA256 (nuget/humanizer.core.2.14.1.nupkg) = 117be88dd74fbbef492a0386f4d4908144df5aad51a4e630eda7710cf28327aa
+SIZE (nuget/humanizer.core.2.14.1.nupkg) = 538179
+SHA256 (nuget/jetbrains.annotations.2021.2.0.nupkg) = 36d4e2a30acc420a138904217a2a2c79bfde1862c7faa47f3570c502c5ab3b4f
+SIZE (nuget/jetbrains.annotations.2021.2.0.nupkg) = 127455
+SHA256 (nuget/json.more.net.2.0.2.nupkg) = 6b4e42e2594abb5b0e0638d5f865d0a920f51566a3eedc23931e0bf79aa2c434
+SIZE (nuget/json.more.net.2.0.2.nupkg) = 107427
+SHA256 (nuget/jsonpointer.net.5.0.2.nupkg) = 4b4e1f9f1302266f3ac9cd456074aa1f39e103ef74356e9023eeebc5823286cd
+SIZE (nuget/jsonpointer.net.5.0.2.nupkg) = 79068
+SHA256 (nuget/jsonschema.net.7.2.3.nupkg) = 12d21ce12ab97efecb2d68f5f96b593d8138bbfd1ee3e99448c7caa76bc1aeea
+SIZE (nuget/jsonschema.net.7.2.3.nupkg) = 324791
+SHA256 (nuget/markdig.signed.0.38.0.nupkg) = ca13bf185a0a744fd9f5264fc8615eec396749df1d700a21a89345a92a8a2e79
+SIZE (nuget/markdig.signed.0.38.0.nupkg) = 1126978
+SHA256 (nuget/microsoft.applicationinsights.2.22.0.nupkg) = 99443addab694f4d2be3d71ae74b99bb660288b837c9deabdc7cd3af2a9cb840
+SIZE (nuget/microsoft.applicationinsights.2.22.0.nupkg) = 1709255
+SHA256 (nuget/microsoft.bcl.asyncinterfaces.8.0.0.nupkg) = f5a5a68b03092ab2abf68843d4a4aea25dfbcbe8dd0f13c625cb779b6fc1927c
+SIZE (nuget/microsoft.bcl.asyncinterfaces.8.0.0.nupkg) = 99740
+SHA256 (nuget/microsoft.codeanalysis.analyzers.3.11.0.nupkg) = 850da5e84e8f3b89bb8be66c7c5944c7ef7752c2cfa38218df00e4346d75fd2c
+SIZE (nuget/microsoft.codeanalysis.analyzers.3.11.0.nupkg) = 1605871
+SHA256 (nuget/microsoft.codeanalysis.csharp.4.11.0.nupkg) = 13d8c43a3a7d83f08579cb1ce7f41f44a38f5cc4694b0d137fbf57b1180bf8c9
+SIZE (nuget/microsoft.codeanalysis.csharp.4.11.0.nupkg) = 16919271
+SHA256 (nuget/microsoft.codeanalysis.common.4.11.0.nupkg) = 717ff180cd15992f81b2eeb7299936a1f8c538ecb59b323e08254463a908f909
+SIZE (nuget/microsoft.codeanalysis.common.4.11.0.nupkg) = 7082945
+SHA256 (nuget/microsoft.extensions.objectpool.8.0.12.nupkg) = 21cbd2aa5c19a45e497643071b6a349cde841269c1e4308dacc0a4ce3c36d637
+SIZE (nuget/microsoft.extensions.objectpool.8.0.12.nupkg) = 92165
+SHA256 (nuget/microsoft.management.infrastructure.runtime.unix.3.0.0.nupkg) = b4f959bad08df9a6e680c33200f5cefe7c1b8222a26eb134d338de0b565425ab
+SIZE (nuget/microsoft.management.infrastructure.runtime.unix.3.0.0.nupkg) = 122301
+SHA256 (nuget/microsoft.management.infrastructure.runtime.win.3.0.0.nupkg) = 7206e8f30c824066fb34a97795ba88e4733a6958e9e08fba746e035ef6075f34
+SIZE (nuget/microsoft.management.infrastructure.runtime.win.3.0.0.nupkg) = 787562
+SHA256 (nuget/microsoft.management.infrastructure.3.0.0.nupkg) = bd5a6b8baf5985de61f01ef03fdb240ec817e55ed3b0a237f722d78d65eab272
+SIZE (nuget/microsoft.management.infrastructure.3.0.0.nupkg) = 108606
+SHA256 (nuget/microsoft.netcore.platforms.7.0.4.nupkg) = 557fb3ae6cc65016816ed272577654a7bc137f7607518ba3e615823ae68ed529
+SIZE (nuget/microsoft.netcore.platforms.7.0.4.nupkg) = 49157
+SHA256 (nuget/microsoft.powershell.markdownrender.7.2.1.nupkg) = 4a28a353be54c2dcf225f421832c4e1b8634a4021f8ad3d8219dc442bb5d657a
+SIZE (nuget/microsoft.powershell.markdownrender.7.2.1.nupkg) = 49815
+SHA256 (nuget/microsoft.powershell.native.7.4.0.nupkg) = 5ce903457b6ac0a8565e13916d9bbcffd49d31fc02dd19fbb868f17e5e62e249
+SIZE (nuget/microsoft.powershell.native.7.4.0.nupkg) = 590282
+SHA256 (nuget/microsoft.security.extensions.1.3.0.nupkg) = b492358c44055abb99f890693abea10af77d1e475c76ba9391daa77b56a1110b
+SIZE (nuget/microsoft.security.extensions.1.3.0.nupkg) = 128821
+SHA256 (nuget/microsoft.win32.registry.accesscontrol.9.0.1.nupkg) = 070b5ec5f9617741fd13b336d76e7ec83e6efe8b8ca994fe6ab5bbbe9d32496a
+SIZE (nuget/microsoft.win32.registry.accesscontrol.9.0.1.nupkg) = 124846
+SHA256 (nuget/microsoft.win32.registry.5.0.0.nupkg) = f64ca53c67ca65ce7cc85a8d29aefbb2da2672836731e1115e8cd62730dc5080
+SIZE (nuget/microsoft.win32.registry.5.0.0.nupkg) = 354731
+SHA256 (nuget/microsoft.win32.systemevents.9.0.1.nupkg) = 35c4541f1e8ae8a27f0ea7d9cdb942701c9e505ac65f2adb27f7b7d4697cd29b
+SIZE (nuget/microsoft.win32.systemevents.9.0.1.nupkg) = 184464
+SHA256 (nuget/microsoft.windows.compatibility.9.0.1.nupkg) = 59d999aeefcbf582431a251d5f95549ec9fe1a79cb576d66eff012d0838bf689
+SIZE (nuget/microsoft.windows.compatibility.9.0.1.nupkg) = 31484
+SHA256 (nuget/netstandard.library.2.0.3.nupkg) = 3eb87644f79bcffb3c0331dbdac3c7837265f2cdf58a7bfd93e431776f77c9ba
+SIZE (nuget/netstandard.library.2.0.3.nupkg) = 3146139
+SHA256 (nuget/newtonsoft.json.13.0.3.nupkg) = 872fc189e638ab1056555b03aaa38f68bcb54286e221aa646eb1129babf63c77
+SIZE (nuget/newtonsoft.json.13.0.3.nupkg) = 2441966
+SHA256 (nuget/stylecop.analyzers.unstable.1.2.0.556.nupkg) = 695a29edaf6bf97d91b191138278019b7a903c42223c15a01f389c1924c4ca67
+SIZE (nuget/stylecop.analyzers.unstable.1.2.0.556.nupkg) = 474559
+SHA256 (nuget/stylecop.analyzers.1.2.0-beta.556.nupkg) = f7b61841caf9bd9c53be2dfaeb4f1e524035c1beb1965650ed47176e3ad821f5
+SIZE (nuget/stylecop.analyzers.1.2.0-beta.556.nupkg) = 15876
+SHA256 (nuget/system.buffers.4.5.1.nupkg) = c30b3dd2c7e2f4cee4b823d692fd42118309b42ab1f5007f923d329a5b0d6b12
+SIZE (nuget/system.buffers.4.5.1.nupkg) = 93737
+SHA256 (nuget/system.codedom.9.0.1.nupkg) = 021a0b6f3ed620fe6d57b744c6763146014697836049703747b8764b3696d167
+SIZE (nuget/system.codedom.9.0.1.nupkg) = 405169
+SHA256 (nuget/system.collections.immutable.8.0.0.nupkg) = 17b3958ca370a6a6d487c95389d6ea256622e3bea7b2af67fba934f90551a37c
+SIZE (nuget/system.collections.immutable.8.0.0.nupkg) = 787241
+SHA256 (nuget/system.collections.immutable.9.0.1.nupkg) = db7a1df773fb40747394be4db4a3540ee8e2606797464930ee55e4c8de333866
+SIZE (nuget/system.collections.immutable.9.0.1.nupkg) = 651033
+SHA256 (nuget/system.componentmodel.composition.registration.9.0.1.nupkg) = fb436b08a6c21f0bf980bb584179e1e710706dc67c4cebdfcd85a961e5ab5e9d
+SIZE (nuget/system.componentmodel.composition.registration.9.0.1.nupkg) = 124509
+SHA256 (nuget/system.componentmodel.composition.9.0.1.nupkg) = d11cde63824d9e0266789bc53174c258e63eb29dafc286f3cb1f4b4d1175f612
+SIZE (nuget/system.componentmodel.composition.9.0.1.nupkg) = 388000
+SHA256 (nuget/system.configuration.configurationmanager.9.0.1.nupkg) = 8ec6b11010df478fcdeafd254b874e08b86eebff8872a62d58bd18f2409ad74b
+SIZE (nuget/system.configuration.configurationmanager.9.0.1.nupkg) = 766374
+SHA256 (nuget/system.data.odbc.9.0.1.nupkg) = 0efd25af1f1a37194c135dac89158579c03a64f2ad7456b77be892ae3c638c5d
+SIZE (nuget/system.data.odbc.9.0.1.nupkg) = 716045
+SHA256 (nuget/system.data.oledb.9.0.1.nupkg) = 16be6957d612ad4b1549989084f0d6da519eac48b424d42011767f6179606ece
+SIZE (nuget/system.data.oledb.9.0.1.nupkg) = 580830
+SHA256 (nuget/system.data.sqlclient.4.8.6.nupkg) = 41cff2728dded3eea33fc522300d044657d210a74836fd019878b187d67c7c94
+SIZE (nuget/system.data.sqlclient.4.8.6.nupkg) = 4928218
+SHA256 (nuget/system.diagnostics.diagnosticsource.9.0.1.nupkg) = 9c822f54afb9bb23a102e536b0444d0032b837f03fc743229411ff100af580e0
+SIZE (nuget/system.diagnostics.diagnosticsource.9.0.1.nupkg) = 455323
+SHA256 (nuget/system.diagnostics.eventlog.9.0.1.nupkg) = a6aa99c849bff46b29d734f95897955f8ed2d8cbe88861a01b54b651dfda22aa
+SIZE (nuget/system.diagnostics.eventlog.9.0.1.nupkg) = 400687
+SHA256 (nuget/system.diagnostics.performancecounter.9.0.1.nupkg) = 771627742d11c59ff60215e9d6a5ba983ee9d26646ad84a82479ca362da2973f
+SIZE (nuget/system.diagnostics.performancecounter.9.0.1.nupkg) = 329755
+SHA256 (nuget/system.directoryservices.accountmanagement.9.0.1.nupkg) = 6768d611ca924261c87a349c60b9fe39a384eab8640675e158aaa088eac0d488
+SIZE (nuget/system.directoryservices.accountmanagement.9.0.1.nupkg) = 427296
+SHA256 (nuget/system.directoryservices.protocols.9.0.1.nupkg) = 1fd4cb2d31df5aee0246246dad237b07cc19993d4fc7ccfb9abfc7e6dbc6c69b
+SIZE (nuget/system.directoryservices.protocols.9.0.1.nupkg) = 682520
+SHA256 (nuget/system.directoryservices.9.0.1.nupkg) = 0f126c66d4babdc0de0ecea24f00129efd9b0adba06b5643e49c3f7418d599ba
+SIZE (nuget/system.directoryservices.9.0.1.nupkg) = 723220
+SHA256 (nuget/system.drawing.common.9.0.1.nupkg) = 217dab36223e9b0beb7df5e67de1c6b365ccff793db8b111ddff199f6a9cae41
+SIZE (nuget/system.drawing.common.9.0.1.nupkg) = 2049702
+SHA256 (nuget/system.formats.asn1.6.0.0.nupkg) = 29a30780844117b35fdd5c0ea3e8094b50dc0fee357090cf58587e4c343c79ef
+SIZE (nuget/system.formats.asn1.6.0.0.nupkg) = 182980
+SHA256 (nuget/system.io.packaging.9.0.1.nupkg) = cc4e9d3f51858d7e66f6a09cb89c0a5c8b24ebcd36e69b9676a73f5c41fe569e
+SIZE (nuget/system.io.packaging.9.0.1.nupkg) = 298747
+SHA256 (nuget/system.io.ports.9.0.1.nupkg) = aa368109ddd5c44cd5678e987382914a9ff3b658a16920a3b36561a236609ceb
+SIZE (nuget/system.io.ports.9.0.1.nupkg) = 311165
+SHA256 (nuget/system.management.9.0.1.nupkg) = 7474811a2239396c4d405ffb66b7150d1c9b63074338cc8850d0d21a1d06a73d
+SIZE (nuget/system.management.9.0.1.nupkg) = 565571
+SHA256 (nuget/system.memory.4.5.5.nupkg) = 10f43da352a29fb2b3188e4edd4dcf5100194c8b526e4f61fe2e2b5623775a22
+SIZE (nuget/system.memory.4.5.5.nupkg) = 208978
+SHA256 (nuget/system.net.http.winhttphandler.9.0.1.nupkg) = 279e86aa4e1e9a1e7e954b9632b68d2dda7d1ddb24bc093ffd2bcdc000dfb679
+SIZE (nuget/system.net.http.winhttphandler.9.0.1.nupkg) = 321214
+SHA256 (nuget/system.numerics.vectors.4.4.0.nupkg) = 6ae5d02b67e52ff2699c1feb11c01c526e2f60c09830432258e0809486aabb65
+SIZE (nuget/system.numerics.vectors.4.4.0.nupkg) = 337043
+SHA256 (nuget/system.numerics.vectors.4.5.0.nupkg) = a9d49320581fda1b4f4be6212c68c01a22cdf228026099c20a8eabefcf90f9cf
+SIZE (nuget/system.numerics.vectors.4.5.0.nupkg) = 382792
+SHA256 (nuget/system.private.servicemodel.4.10.3.nupkg) = 1786507c1ee2ecae6361e5766465b38b71ad9d3406fbbb9c213a1fd3a4c8437c
+SIZE (nuget/system.private.servicemodel.4.10.3.nupkg) = 2204805
+SHA256 (nuget/system.reflection.context.9.0.1.nupkg) = 3365ec063844643f8a0b32b46c01f12a20bdd5c00f49c8c7261300e855e2433b
+SIZE (nuget/system.reflection.context.9.0.1.nupkg) = 179858
+SHA256 (nuget/system.reflection.dispatchproxy.4.7.1.nupkg) = 3a2fa5df6a7bdd9c70701e86ad24b69b6e4171c7e9bb06d8e1ec8513051ed083
+SIZE (nuget/system.reflection.dispatchproxy.4.7.1.nupkg) = 197900
+SHA256 (nuget/system.reflection.metadata.8.0.1.nupkg) = 4b08a9d57b93b3faf69b844ab86e415d7c5c68d19187e8db3278c544d74bf3b5
+SIZE (nuget/system.reflection.metadata.8.0.1.nupkg) = 1308880
+SHA256 (nuget/system.runtime.caching.9.0.1.nupkg) = dbf9895296393d6908110dad4a106903a047dc38d32921aeb4826bded111e388
+SIZE (nuget/system.runtime.caching.9.0.1.nupkg) = 291324
+SHA256 (nuget/system.runtime.compilerservices.unsafe.6.0.0.nupkg) = 6c41b53e70e9eee298cff3a02ce5acdd15b04125589be0273f0566026720a762
+SIZE (nuget/system.runtime.compilerservices.unsafe.6.0.0.nupkg) = 84343
+SHA256 (nuget/system.security.accesscontrol.6.0.1.nupkg) = 462e26f796417e8a4350655a85bbd4233b94cbd0f7150c1c5e9acfd88e885141
+SIZE (nuget/system.security.accesscontrol.6.0.1.nupkg) = 235270
+SHA256 (nuget/system.security.cryptography.pkcs.9.0.1.nupkg) = f23ddc6588b503dafdb2c3fe999fef9a8573897c507dd5669af569cda72bb58a
+SIZE (nuget/system.security.cryptography.pkcs.9.0.1.nupkg) = 821048
+SHA256 (nuget/system.security.cryptography.protecteddata.9.0.1.nupkg) = 53673cababc3f8ee36ccd4c645201bb1d8feaf7fa75de8280d8741fd09b89ef5
+SIZE (nuget/system.security.cryptography.protecteddata.9.0.1.nupkg) = 127160
+SHA256 (nuget/system.security.cryptography.xml.9.0.1.nupkg) = ee4c6cd292c660ae4ea941ec5c26878046ee1c5c3a3e759a819c1e0a1c621819
+SIZE (nuget/system.security.cryptography.xml.9.0.1.nupkg) = 370086
+SHA256 (nuget/system.security.permissions.9.0.1.nupkg) = 6d86eb16b73d59c13287ca38ac3d5cc83b281d572ac210f79a228fcdc55a035c
+SIZE (nuget/system.security.permissions.9.0.1.nupkg) = 431915
+SHA256 (nuget/system.security.principal.windows.5.0.0.nupkg) = 081390c25f6f78592b28ada853c24514488a221fe9f9a24efaaf5373643ff3d6
+SIZE (nuget/system.security.principal.windows.5.0.0.nupkg) = 535022
+SHA256 (nuget/system.servicemodel.duplex.4.10.3.nupkg) = 6888497fd53965e39b4d3db2094c325712669377ff864ac784d306ef32fd8672
+SIZE (nuget/system.servicemodel.duplex.4.10.3.nupkg) = 166643
+SHA256 (nuget/system.servicemodel.http.4.10.3.nupkg) = 7484a3c14b5246efd32e24fa58c560177a6680c8a4204370df14e7f082659fc5
+SIZE (nuget/system.servicemodel.http.4.10.3.nupkg) = 237427
+SHA256 (nuget/system.servicemodel.nettcp.4.10.3.nupkg) = 0c83bc2e4207ba480215e488803c4f6affc842ef4874cb72c1e031548f5a8053
+SIZE (nuget/system.servicemodel.nettcp.4.10.3.nupkg) = 211587
+SHA256 (nuget/system.servicemodel.primitives.4.10.3.nupkg) = 3620a006732eab633e4cf692d2bc72b9a6495e8ed8b646bc1de619df1abad6b2
+SIZE (nuget/system.servicemodel.primitives.4.10.3.nupkg) = 419873
+SHA256 (nuget/system.servicemodel.security.4.10.3.nupkg) = 2f515a9dccd0ebcd006077b79d89e88a4c1cff74b470b661bdc044454f1a7d79
+SIZE (nuget/system.servicemodel.security.4.10.3.nupkg) = 189764
+SHA256 (nuget/system.servicemodel.syndication.9.0.1.nupkg) = ef69470a5ce254f3c68c2686a2bd305ad8a7d9852f31d0be1995473e836420df
+SIZE (nuget/system.servicemodel.syndication.9.0.1.nupkg) = 281044
+SHA256 (nuget/system.serviceprocess.servicecontroller.9.0.1.nupkg) = e8442038b3b267577cfc3d4022b946cbf7615e8cf0645213c5892f3e0c743d78
+SIZE (nuget/system.serviceprocess.servicecontroller.9.0.1.nupkg) = 228405
+SHA256 (nuget/system.speech.9.0.1.nupkg) = 98fa3333e4913eccf84abe74b1f16104a309b41d711163429797f5a4ceedb27b
+SIZE (nuget/system.speech.9.0.1.nupkg) = 875733
+SHA256 (nuget/system.text.encoding.codepages.7.0.0.nupkg) = 782293570ba60f4e7564472825c0d54469c8180b04bcaa5f1f7c9d2a5b87c66a
+SIZE (nuget/system.text.encoding.codepages.7.0.0.nupkg) = 3198933
+SHA256 (nuget/system.text.encoding.codepages.8.0.0.nupkg) = 7e308b41cd4f456d08c7921995d8345cabfe2750ea3d27eef698ccc8d069edd1
+SIZE (nuget/system.text.encoding.codepages.8.0.0.nupkg) = 4260927
+SHA256 (nuget/system.text.encoding.codepages.9.0.1.nupkg) = f5942f0bb33cecd27b745464047137d325977ed29d72615b49391d6b39b1c76c
+SIZE (nuget/system.text.encoding.codepages.9.0.1.nupkg) = 3219458
+SHA256 (nuget/system.text.encodings.web.6.0.0.nupkg) = 51e9831c61684081bb39b430465ba155fe8082d42291f1c4a0f2c2ea06c5c91a
+SIZE (nuget/system.text.encodings.web.6.0.0.nupkg) = 235525
+SHA256 (nuget/system.text.encodings.web.9.0.1.nupkg) = 8ae0157138a26502c26630df0ea74b2cf1ea65d66abc569bc0b14789561d449a
+SIZE (nuget/system.text.encodings.web.9.0.1.nupkg) = 293375
+SHA256 (nuget/system.text.json.6.0.9.nupkg) = e638efc55f2e6c662393274384bb0665707a9a5dceffb0866ae41cbb58a478bb
+SIZE (nuget/system.text.json.6.0.9.nupkg) = 1396928
+SHA256 (nuget/system.threading.accesscontrol.9.0.1.nupkg) = 837a4d6edbd4a9fdd769733bcf12e246bddd725082dc4810d1be029982738f2f
+SIZE (nuget/system.threading.accesscontrol.9.0.1.nupkg) = 194592
+SHA256 (nuget/system.threading.tasks.extensions.4.5.4.nupkg) = a304a963cc0796c5179f9c6b7d8022bbce3b2fa7c029eb6196f631f7b462d678
+SIZE (nuget/system.threading.tasks.extensions.4.5.4.nupkg) = 89582
+SHA256 (nuget/system.web.services.description.8.0.0.nupkg) = ad752d7a6cc846029c599a7e7426b4c7ab651708cff7d8d119e761166efa74b0
+SIZE (nuget/system.web.services.description.8.0.0.nupkg) = 282138
+SHA256 (nuget/system.windows.extensions.9.0.1.nupkg) = dbaf9acb49555a85709d11927c8bffda92acbafc1f8df165d0998c4f03674b28
+SIZE (nuget/system.windows.extensions.9.0.1.nupkg) = 152240
+SHA256 (nuget/runtime.android-arm.runtime.native.system.io.ports.9.0.1.nupkg) = 1ee541adef5f83a7fe77e8b7190cf8b711f53d2c16e9d9e4be1081dce39f04d6
+SIZE (nuget/runtime.android-arm.runtime.native.system.io.ports.9.0.1.nupkg) = 51227
+SHA256 (nuget/runtime.android-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 9a62995205695cba3d683f30066a73e5a34c23ff85d4bc3a7a9d9eaa08ea2882
+SIZE (nuget/runtime.android-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 52218
+SHA256 (nuget/runtime.android-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 0175e803180e1aaea20b08927b3a0d4e83ba09c630804d192253eff155643bcf
+SIZE (nuget/runtime.android-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 52483
+SHA256 (nuget/runtime.android-x86.runtime.native.system.io.ports.9.0.1.nupkg) = 4cc1b0a3211bc38bc059e18ca1c1390c3e4d366efd06d65876eef80e2d4a42a8
+SIZE (nuget/runtime.android-x86.runtime.native.system.io.ports.9.0.1.nupkg) = 52430
+SHA256 (nuget/runtime.linux-arm.runtime.native.system.io.ports.9.0.1.nupkg) = 5d9df633f4696c279fb307ebd5aa443070156fd7020452bdf95cb6eeee87241e
+SIZE (nuget/runtime.linux-arm.runtime.native.system.io.ports.9.0.1.nupkg) = 51261
+SHA256 (nuget/runtime.linux-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 8512602c156ce132860491bd860c2de20e13925a3c03eec6fb2e2e0b019364c2
+SIZE (nuget/runtime.linux-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 52491
+SHA256 (nuget/runtime.linux-bionic-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 30932a8aa22e0ada44b1c02b83f546b701d953b78c897b4d318f54fb59534503
+SIZE (nuget/runtime.linux-bionic-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 52237
+SHA256 (nuget/runtime.linux-bionic-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 0242294506b60eb12ef3d03c9a565cbdaa5a36a9b7104f7eeb499b980b416669
+SIZE (nuget/runtime.linux-bionic-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 52505
+SHA256 (nuget/runtime.linux-musl-arm.runtime.native.system.io.ports.9.0.1.nupkg) = b7278d60de1122647992a9272957ac39b184ff5a41592ecd351da686991c48b5
+SIZE (nuget/runtime.linux-musl-arm.runtime.native.system.io.ports.9.0.1.nupkg) = 51203
+SHA256 (nuget/runtime.linux-musl-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 7c7125b2f5dd16b2e1ec412a03514d2a936d86b1dd8a907130efda52458c604d
+SIZE (nuget/runtime.linux-musl-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 52451
+SHA256 (nuget/runtime.linux-musl-x64.runtime.native.system.io.ports.9.0.1.nupkg) = c4f2196181761e08e053018717e30bf774c5c62c538acd5a7353b47dbcd3771a
+SIZE (nuget/runtime.linux-musl-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 52597
+SHA256 (nuget/runtime.linux-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 0227d84ba48288f7ab10449f4b2562feaabc9a3865234b93ee77b530544bebf7
+SIZE (nuget/runtime.linux-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 52605
+SHA256 (nuget/runtime.maccatalyst-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 33ada08417c8f30d5756b4a9a1841b3128f5380ac9fb1ef854040f44d16883b3
+SIZE (nuget/runtime.maccatalyst-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 51846
+SHA256 (nuget/runtime.maccatalyst-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 842f107573aec44a42278d476e1329f14866676ada290843a0f526224d3792a8
+SIZE (nuget/runtime.maccatalyst-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 51379
+SHA256 (nuget/runtime.native.system.data.sqlclient.sni.4.7.0.nupkg) = 723d3e0699a889bc0e5a3db0357c0e3497931a8b26170843df8f733e335a04ad
+SIZE (nuget/runtime.native.system.data.sqlclient.sni.4.7.0.nupkg) = 26713
+SHA256 (nuget/runtime.native.system.io.ports.9.0.1.nupkg) = 625103edf2c038e6e11282fdb996708eab6d27c6c1292ab633ebfd4285653b62
+SIZE (nuget/runtime.native.system.io.ports.9.0.1.nupkg) = 44231
+SHA256 (nuget/runtime.osx-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = c00b4ff0e99d0e68a4d410c16ec8782915ccc704109f7d253043d002598395d6
+SIZE (nuget/runtime.osx-arm64.runtime.native.system.io.ports.9.0.1.nupkg) = 51847
+SHA256 (nuget/runtime.osx-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 82b86f5e018465a1a2f2867d46a5555afc15673cf14c500c79daba3e144ceab7
+SIZE (nuget/runtime.osx-x64.runtime.native.system.io.ports.9.0.1.nupkg) = 51745
+SHA256 (nuget/runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg) = f311a2aa4e60e2433bf7ffd28aba33983b43a6ac155c7dc29af22cec63707e1d
+SIZE (nuget/runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg) = 97899
+SHA256 (nuget/runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg) = 1e85ca18192e7b44494f5499c409625664f9adb7d4df10fc987f217c2bd1c704
+SIZE (nuget/runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg) = 100353
+SHA256 (nuget/runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg) = 8cf9d6cc371bb9f3b9d462c68f29d61f2d1bfb93c1a8dc4cf952a64ab39b794c
+SIZE (nuget/runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg) = 90533
+SHA256 (nuget/microsoft.powershell.psresourceget.1.0.3.nupkg) = fa7db1bee9a8dcbaed478472c3b47b9b9e69ff8386a9b9b36460f2055cdb1403
+SIZE (nuget/microsoft.powershell.psresourceget.1.0.3.nupkg) = 2075520
+SHA256 (nuget/psreadline.2.3.4.nupkg) = 906569c65c52775c41df985c53fca07f1d19d8460fc667f0ab0a37b53d5b495b
+SIZE (nuget/psreadline.2.3.4.nupkg) = 257204
+SHA256 (nuget/powershellget.3.0.23-beta23.nupkg) = b25688d2758aabbff04b4cd39a93aaa253be272080e7f92329273920e95c2707
+SIZE (nuget/powershellget.3.0.23-beta23.nupkg) = 28433
+SHA256 (PowerShell-PowerShell-v7.5.0_GH0.tar.gz) = 6cdf35d3227db2c7caacdc1a730c4f025aff80483c3b58120717f30f397ce934
+SIZE (PowerShell-PowerShell-v7.5.0_GH0.tar.gz) = 10853954
diff --git a/shells/powershell/files/Microsoft.PowerShell.SDK.csproj.TypeCatalog.targets b/shells/powershell/files/Microsoft.PowerShell.SDK.csproj.TypeCatalog.targets
new file mode 100644
index 000000000000..85ece3e539a3
--- /dev/null
+++ b/shells/powershell/files/Microsoft.PowerShell.SDK.csproj.TypeCatalog.targets
@@ -0,0 +1,9 @@
+<Project>
+ <Target Name="_GetDependencies"
+ DependsOnTargets="ResolveAssemblyReferencesDesignTime">
+ <ItemGroup>
+ <_RefAssemblyPath Include="%(_ReferencesFromRAR.HintPath)%3B" Condition=" '%(_ReferencesFromRAR.NuGetPackageId)' != 'Microsoft.Management.Infrastructure' "/>
+ </ItemGroup>
+ <WriteLinesToFile File="$(_DependencyFile)" Lines="@(_RefAssemblyPath)" Overwrite="true" />
+ </Target>
+</Project>
diff --git a/shells/powershell/files/patch-PowerShell.Common.props b/shells/powershell/files/patch-PowerShell.Common.props
new file mode 100644
index 000000000000..d532c59d2f9d
--- /dev/null
+++ b/shells/powershell/files/patch-PowerShell.Common.props
@@ -0,0 +1,19 @@
+--- PowerShell.Common.props.orig 2024-04-11 18:38:22 UTC
++++ PowerShell.Common.props
+@@ -15,12 +15,10 @@
+ BeforeTargets="_GenerateRestoreProjectSpec;GenerateNuspec;BeforeBuild"
+ >
+
+- <Exec Command='git describe --abbrev=60 --long'
+- WorkingDirectory="$(MSBuildProjectDirectory)"
+- ConsoleToMSBuild="true"
+- StandardOutputImportance="Low">
+- <Output TaskParameter="ConsoleOutput" PropertyName="PowerShellVersion" />
+- </Exec>
++ <PropertyGroup>
++ <PowerShellVersion>7.5.0</PowerShellVersion>
++ <ReleaseTag>7.5.0</ReleaseTag>
++ </PropertyGroup>
+
+ <PropertyGroup Condition = "'$(ReleaseTag)' != ''">
+ <!--
diff --git a/shells/powershell/files/patch-nuget.config b/shells/powershell/files/patch-nuget.config
new file mode 100644
index 000000000000..fa4c90932f5c
--- /dev/null
+++ b/shells/powershell/files/patch-nuget.config
@@ -0,0 +1,15 @@
+diff --git a/nuget.config.orig b/nuget.config
+index 388a65572dd1..7a6c69b95096 100644
+--- nuget.config.orig
++++ nuget.config
+@@ -2,7 +2,9 @@
+ <configuration>
+ <packageSources>
+ <clear />
+- <add key="powershell" value="https://pkgs.dev.azure.com/powershell/PowerShell/_packaging/PowerShell/nuget/v3/index.json" />
++ <add key="a" value="%%LOCALBASE%%/share/dotnet/library-packs" />
++ <add key="b" value="%%LOCALBASE%%/share/dotnet/packs" />
++ <add key="c" value="%%NUGET_DISTDIR%%" />
+ </packageSources>
+ <disabledPackageSources>
+ <clear />
diff --git a/shells/powershell/files/patch-src_ResGen_ResGen.csproj b/shells/powershell/files/patch-src_ResGen_ResGen.csproj
new file mode 100644
index 000000000000..23a3265355f9
--- /dev/null
+++ b/shells/powershell/files/patch-src_ResGen_ResGen.csproj
@@ -0,0 +1,11 @@
+--- src/ResGen/ResGen.csproj.orig 2024-01-11 22:25:54 UTC
++++ src/ResGen/ResGen.csproj
+@@ -7,7 +7,7 @@
+ <OutputType>Exe</OutputType>
+ <TieredCompilation>true</TieredCompilation>
+ <TieredCompilationQuickJit>true</TieredCompilationQuickJit>
+- <RuntimeIdentifiers>win-x86;win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
++ <RuntimeIdentifiers>$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifiers>
+ </PropertyGroup>
+
+ </Project>
diff --git a/shells/powershell/files/patch-src_TypeCatalogGen_TypeCatalogGen.csproj b/shells/powershell/files/patch-src_TypeCatalogGen_TypeCatalogGen.csproj
new file mode 100644
index 000000000000..b64a0ead0bac
--- /dev/null
+++ b/shells/powershell/files/patch-src_TypeCatalogGen_TypeCatalogGen.csproj
@@ -0,0 +1,11 @@
+--- src/TypeCatalogGen/TypeCatalogGen.csproj.orig 2024-01-11 22:25:54 UTC
++++ src/TypeCatalogGen/TypeCatalogGen.csproj
+@@ -8,7 +8,7 @@
+ <OutputType>Exe</OutputType>
+ <TieredCompilation>true</TieredCompilation>
+ <TieredCompilationQuickJit>true</TieredCompilationQuickJit>
+- <RuntimeIdentifiers>win-x86;win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
++ <RuntimeIdentifiers>$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifiers>
+ </PropertyGroup>
+
+ </Project>
diff --git a/shells/powershell/files/patch-src_powershell-unix_powershell-unix.csproj b/shells/powershell/files/patch-src_powershell-unix_powershell-unix.csproj
new file mode 100644
index 000000000000..0b50eaadd765
--- /dev/null
+++ b/shells/powershell/files/patch-src_powershell-unix_powershell-unix.csproj
@@ -0,0 +1,11 @@
+--- src/powershell-unix/powershell-unix.csproj.orig 2024-04-11 18:38:22 UTC
++++ src/powershell-unix/powershell-unix.csproj
+@@ -9,7 +9,7 @@
+ <TieredCompilation>true</TieredCompilation>
+ <TieredCompilationQuickJit>true</TieredCompilationQuickJit>
+ <TieredCompilationQuickJitForLoops>true</TieredCompilationQuickJitForLoops>
+- <RuntimeIdentifiers>linux-x64;osx-x64;</RuntimeIdentifiers>
++ <RuntimeIdentifiers>$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifiers>
+ </PropertyGroup>
+
+ <ItemGroup>
diff --git a/shells/powershell/files/patch-src_powershell_Program.cs b/shells/powershell/files/patch-src_powershell_Program.cs
new file mode 100644
index 000000000000..ec1585be12ca
--- /dev/null
+++ b/shells/powershell/files/patch-src_powershell_Program.cs
@@ -0,0 +1,94 @@
+--- src/powershell/Program.cs.orig 2024-03-30 20:39:17 UTC
++++ src/powershell/Program.cs
+@@ -56,6 +56,13 @@ namespace Microsoft.PowerShell
+ private const int MACOS_KERN_ARGMAX = 8;
+ private const int MACOS_KERN_PROCARGS2 = 49;
+ private const int MACOS_PROC_PIDPATHINFO_MAXSIZE = 4096;
++
++ // FreeBSD p/Invoke constants
++ private const int FREEBSD_CTL_KERN = 1;
++ private const int FREEBSD_KERN_PROC = 14;
++ private const int FREEBSD_KERN_PROC_ARGS = 7;
++ private const int FREEBSD_KERN_PROC_PATHNAME = 12;
++ private const int FREEBSD_ENOMEM = 12;
+ #endif
+
+ /// <summary>
+@@ -125,7 +132,62 @@ namespace Microsoft.PowerShell
+ ThrowOnFailure("exec", ExecPwshLogin(args, pwshPath, isMacOS: false));
+ return;
+ }
++ else if (OperatingSystem.IsFreeBSD())
++ {
++ Span<int> fmib = stackalloc int[4];
++ int fmibLength = 4;
++ fmib[0] = FREEBSD_CTL_KERN;
++ fmib[1] = FREEBSD_KERN_PROC;
++ fmib[2] = FREEBSD_KERN_PROC_ARGS;
++ fmib[3] = -1;
+
++ int sz = 1;
++ unsafe
++ {
++ fixed (int *mibptr = fmib)
++ {
++ ThrowOnFailure(nameof(procNameFirstByte), SysCtl(mibptr, fmibLength, &procNameFirstByte, &sz, IntPtr.Zero, 0), FREEBSD_ENOMEM);
++ }
++ }
++
++ if (!IsLogin(procNameFirstByte, args))
++ {
++ return;
++ }
++
++ fmib[2] = FREEBSD_KERN_PROC_PATHNAME;
++ int pathsz = 0;
++
++ unsafe
++ {
++ fixed (int *mibptr = fmib)
++ {
++ ThrowOnFailure(nameof(pathsz), SysCtl(mibptr, fmibLength, (void *)null, &pathsz, IntPtr.Zero, 0));
++ }
++ }
++
++ IntPtr execPathPtr = Marshal.AllocHGlobal(pathsz);
++ try
++ {
++ unsafe
++ {
++ fixed (int *mibptr = fmib)
++ {
++ ThrowOnFailure(nameof(execPathPtr), SysCtl(mibptr, fmibLength, execPathPtr.ToPointer(), &pathsz, IntPtr.Zero, 0));
++ }
++ }
++ string? execPath = Marshal.PtrToStringAnsi(execPathPtr);
++ ArgumentNullException.ThrowIfNull(execPath);
++ ThrowOnFailure("exec", ExecPwshLogin(args, execPath, isMacOS: false));
++ }
++ finally
++ {
++ Marshal.FreeHGlobal(execPathPtr);
++ }
++
++ return;
++ }
++
+ // At this point, we are on macOS
+
+ // Set up the mib array and the query for process maximum args size
+@@ -417,11 +479,13 @@ namespace Microsoft.PowerShell
+ /// </summary>
+ /// <param name="call">The native call that was attempted.</param>
+ /// <param name="code">The exit code it returned.</param>
+- private static void ThrowOnFailure(string call, int code)
++ /// <param name="ignore">Ignore this error, consider it success.</param>
++ private static void ThrowOnFailure(string call, int code, int ignore = 0)
+ {
+ if (code < 0)
+ {
+ code = Marshal.GetLastWin32Error();
++ if (code == ignore) return;
+ Console.Error.WriteLine($"Call to '{call}' failed with errno {code}");
+ throw new StartupException(call, code);
+ }
diff --git a/shells/powershell/nuget.mk b/shells/powershell/nuget.mk
new file mode 100644
index 000000000000..42a4a208c162
--- /dev/null
+++ b/shells/powershell/nuget.mk
@@ -0,0 +1,16 @@
+NUGET_DISTSUBDIR?= nuget
+EXTRACT_ONLY?= ${_DISTFILES:N${_NUPKG_PREFIX}*.nupkg}
+
+NUGET_MASTER_SITES= https://api.nuget.org/v3-flatcontainer/%LCNAME%/%VERSION%/%LCNAME%.%VERSION%.nupkg?dummy=/
+PWSH_MASTER_SITES= https://www.powershellgallery.com/api/v2/package/%NAME%/%VERSION%/?dummy=/
+
+.for nugrp in ${NUGET_GROUPS}
+. for pkg in ${${nugrp}_NUPKGS:O}
+. for name version in ${pkg:S/:/ /g}
+. for group in nupkg_${name:S/./_/g:S/-/_/g}_${version:S/.//g:S/-//g}
+MASTER_SITES+= ${${nugrp}_MASTER_SITES:S/%NAME%/${name}/g:S/%LCNAME%/${name:tl}/g:S/%VERSION%/${version}/g}:${group}
+DISTFILES+= ${NUGET_DISTSUBDIR}/${name:tl}.${version:tl}.nupkg:${group}
+. endfor
+. endfor
+. endfor
+.endfor
diff --git a/shells/powershell/pkg-descr b/shells/powershell/pkg-descr
new file mode 100644
index 000000000000..526e1379b333
--- /dev/null
+++ b/shells/powershell/pkg-descr
@@ -0,0 +1,3 @@
+PowerShell is a modern command shell that includes the best features of other
+popular shells. Unlike most shells that only accept and return text,
+PowerShell accepts and returns .NET objects.
diff --git a/shells/powershell/pkg-plist b/shells/powershell/pkg-plist
new file mode 100644
index 000000000000..c46b8061b02a
--- /dev/null
+++ b/shells/powershell/pkg-plist
@@ -0,0 +1,408 @@
+bin/pwsh
+lib/powershell/Humanizer.dll
+lib/powershell/Json.More.dll
+lib/powershell/JsonPointer.Net.dll
+lib/powershell/JsonSchema.Net.dll
+lib/powershell/LICENSE.txt
+lib/powershell/Markdig.Signed.dll
+lib/powershell/Microsoft.ApplicationInsights.dll
+lib/powershell/Microsoft.Bcl.AsyncInterfaces.dll
+lib/powershell/Microsoft.CSharp.dll
+lib/powershell/Microsoft.CodeAnalysis.CSharp.dll
+lib/powershell/Microsoft.CodeAnalysis.dll
+lib/powershell/Microsoft.Extensions.ObjectPool.dll
+lib/powershell/Microsoft.Management.Infrastructure.dll
+lib/powershell/Microsoft.PowerShell.Commands.Management.dll
+lib/powershell/Microsoft.PowerShell.Commands.Management.pdb
+lib/powershell/Microsoft.PowerShell.Commands.Management.xml
+lib/powershell/Microsoft.PowerShell.Commands.Utility.dll
+lib/powershell/Microsoft.PowerShell.Commands.Utility.pdb
+lib/powershell/Microsoft.PowerShell.Commands.Utility.xml
+lib/powershell/Microsoft.PowerShell.ConsoleHost.dll
+lib/powershell/Microsoft.PowerShell.ConsoleHost.pdb
+lib/powershell/Microsoft.PowerShell.ConsoleHost.xml
+lib/powershell/Microsoft.PowerShell.MarkdownRender.dll
+lib/powershell/Microsoft.PowerShell.SDK.dll
+lib/powershell/Microsoft.PowerShell.SDK.pdb
+lib/powershell/Microsoft.PowerShell.SDK.xml
+lib/powershell/Microsoft.PowerShell.Security.dll
+lib/powershell/Microsoft.PowerShell.Security.pdb
+lib/powershell/Microsoft.PowerShell.Security.xml
+lib/powershell/Microsoft.VisualBasic.Core.dll
+lib/powershell/Microsoft.VisualBasic.dll
+lib/powershell/Microsoft.Win32.Primitives.dll
+lib/powershell/Microsoft.Win32.Registry.AccessControl.dll
+lib/powershell/Microsoft.Win32.Registry.dll
+lib/powershell/Microsoft.Win32.SystemEvents.dll
+lib/powershell/Modules/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.psd1
+lib/powershell/Modules/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.psd1
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/LICENSE
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/Microsoft.PowerShell.PSResourceGet.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/Microsoft.PowerShell.PSResourceGet.psd1
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/Microsoft.PowerShell.PSResourceGet.psm1
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/PSGet.Format.ps1xml
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/Microsoft.Bcl.AsyncInterfaces.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/Newtonsoft.Json.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.Commands.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.Common.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.Configuration.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.Credentials.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.DependencyResolver.Core.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.Frameworks.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.LibraryModel.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.Packaging.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.ProjectModel.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.Protocol.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/NuGet.Versioning.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/System.Buffers.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/System.Memory.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/System.Numerics.Vectors.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/System.Runtime.CompilerServices.Unsafe.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/System.Text.Encodings.Web.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/System.Text.Json.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/System.Threading.Tasks.Extensions.dll
+lib/powershell/Modules/Microsoft.PowerShell.PSResourceGet/dependencies/System.ValueTuple.dll
+lib/powershell/Modules/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1
+lib/powershell/Modules/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.psd1
+lib/powershell/Modules/PSReadLine/Microsoft.PowerShell.PSReadLine2.dll
+lib/powershell/Modules/PSReadLine/Microsoft.PowerShell.Pager.dll
+lib/powershell/Modules/PSReadLine/PSReadLine.format.ps1xml
+lib/powershell/Modules/PSReadLine/PSReadLine.psd1
+lib/powershell/Modules/PSReadLine/PSReadLine.psm1
+lib/powershell/Modules/PSReadLine/SamplePSReadLineProfile.ps1
+lib/powershell/Modules/PSReadLine/System.Runtime.InteropServices.RuntimeInformation.dll
+lib/powershell/Modules/PSReadLine/net462/Microsoft.PowerShell.PSReadLine.Polyfiller.dll
+lib/powershell/Modules/PSReadLine/net6plus/Microsoft.PowerShell.PSReadLine.Polyfiller.dll
+lib/powershell/Modules/PowerShellGet/PowerShellGet.psd1
+lib/powershell/Modules/PowerShellGet/PowerShellGet.psm1
+lib/powershell/Newtonsoft.Json.dll
+lib/powershell/Schemas/PSMaml/ITPro.xsd
+lib/powershell/Schemas/PSMaml/Maml.rld
+lib/powershell/Schemas/PSMaml/Maml.tbr
+lib/powershell/Schemas/PSMaml/Maml.xsd
+lib/powershell/Schemas/PSMaml/Maml.xsx
+lib/powershell/Schemas/PSMaml/Maml_HTML.xsl
+lib/powershell/Schemas/PSMaml/Maml_HTML_Style.xsl
+lib/powershell/Schemas/PSMaml/ManagedDeveloper.xsd
+lib/powershell/Schemas/PSMaml/ManagedDeveloperStructure.xsd
+lib/powershell/Schemas/PSMaml/ProviderHelp.xsd
+lib/powershell/Schemas/PSMaml/base.xsd
+lib/powershell/Schemas/PSMaml/baseConditional.xsd
+lib/powershell/Schemas/PSMaml/block.xsd
+lib/powershell/Schemas/PSMaml/blockCommon.xsd
+lib/powershell/Schemas/PSMaml/blockSoftware.xsd
+lib/powershell/Schemas/PSMaml/command.xsd
+lib/powershell/Schemas/PSMaml/conditionSet.xsd
+lib/powershell/Schemas/PSMaml/developer.xsd
+lib/powershell/Schemas/PSMaml/developerCommand.rld
+lib/powershell/Schemas/PSMaml/developerCommand.xsd
+lib/powershell/Schemas/PSMaml/developerDscResource.xsd
+lib/powershell/Schemas/PSMaml/developerManaged.xsd
+lib/powershell/Schemas/PSMaml/developerManagedClass.xsd
+lib/powershell/Schemas/PSMaml/developerManagedConstructor.xsd
+lib/powershell/Schemas/PSMaml/developerManagedDelegate.xsd
+lib/powershell/Schemas/PSMaml/developerManagedEnumeration.xsd
+lib/powershell/Schemas/PSMaml/developerManagedEvent.xsd
+lib/powershell/Schemas/PSMaml/developerManagedField.xsd
+lib/powershell/Schemas/PSMaml/developerManagedInterface.xsd
+lib/powershell/Schemas/PSMaml/developerManagedMethod.xsd
+lib/powershell/Schemas/PSMaml/developerManagedNamespace.xsd
+lib/powershell/Schemas/PSMaml/developerManagedOperator.xsd
+lib/powershell/Schemas/PSMaml/developerManagedOverload.xsd
+lib/powershell/Schemas/PSMaml/developerManagedProperty.xsd
+lib/powershell/Schemas/PSMaml/developerManagedStructure.xsd
+lib/powershell/Schemas/PSMaml/developerReference.xsd
+lib/powershell/Schemas/PSMaml/developerStructure.xsd
+lib/powershell/Schemas/PSMaml/developerXaml.xsd
+lib/powershell/Schemas/PSMaml/endUser.xsd
+lib/powershell/Schemas/PSMaml/hierarchy.xsd
+lib/powershell/Schemas/PSMaml/inline.xsd
+lib/powershell/Schemas/PSMaml/inlineCommon.xsd
+lib/powershell/Schemas/PSMaml/inlineSoftware.xsd
+lib/powershell/Schemas/PSMaml/inlineUi.xsd
+lib/powershell/Schemas/PSMaml/shellExecute.xsd
+lib/powershell/Schemas/PSMaml/structure.xsd
+lib/powershell/Schemas/PSMaml/structureGlossary.xsd
+lib/powershell/Schemas/PSMaml/structureList.xsd
+lib/powershell/Schemas/PSMaml/structureProcedure.xsd
+lib/powershell/Schemas/PSMaml/structureTable.xsd
+lib/powershell/Schemas/PSMaml/structureTaskExecution.xsd
+lib/powershell/Schemas/PSMaml/task.xsd
+lib/powershell/Schemas/PSMaml/troubleshooting.xsd
+lib/powershell/System.AppContext.dll
+lib/powershell/System.Buffers.dll
+lib/powershell/System.CodeDom.dll
+lib/powershell/System.Collections.Concurrent.dll
+lib/powershell/System.Collections.Immutable.dll
+lib/powershell/System.Collections.NonGeneric.dll
+lib/powershell/System.Collections.Specialized.dll
+lib/powershell/System.Collections.dll
+lib/powershell/System.ComponentModel.Annotations.dll
+lib/powershell/System.ComponentModel.Composition.Registration.dll
+lib/powershell/System.ComponentModel.Composition.dll
+lib/powershell/System.ComponentModel.DataAnnotations.dll
+lib/powershell/System.ComponentModel.EventBasedAsync.dll
+lib/powershell/System.ComponentModel.Primitives.dll
+lib/powershell/System.ComponentModel.TypeConverter.dll
+lib/powershell/System.ComponentModel.dll
+lib/powershell/System.Configuration.ConfigurationManager.dll
+lib/powershell/System.Configuration.dll
+lib/powershell/System.Console.dll
+lib/powershell/System.Core.dll
+lib/powershell/System.Data.Common.dll
+lib/powershell/System.Data.DataSetExtensions.dll
+lib/powershell/System.Data.Odbc.dll
+lib/powershell/System.Data.OleDb.dll
+lib/powershell/System.Data.SqlClient.dll
+lib/powershell/System.Data.dll
+lib/powershell/System.Diagnostics.Contracts.dll
+lib/powershell/System.Diagnostics.Debug.dll
+lib/powershell/System.Diagnostics.DiagnosticSource.dll
+lib/powershell/System.Diagnostics.EventLog.dll
+lib/powershell/System.Diagnostics.FileVersionInfo.dll
+lib/powershell/System.Diagnostics.PerformanceCounter.dll
+lib/powershell/System.Diagnostics.Process.dll
+lib/powershell/System.Diagnostics.StackTrace.dll
+lib/powershell/System.Diagnostics.TextWriterTraceListener.dll
+lib/powershell/System.Diagnostics.Tools.dll
+lib/powershell/System.Diagnostics.TraceSource.dll
+lib/powershell/System.Diagnostics.Tracing.dll
+lib/powershell/System.DirectoryServices.AccountManagement.dll
+lib/powershell/System.DirectoryServices.Protocols.dll
+lib/powershell/System.DirectoryServices.dll
+lib/powershell/System.Drawing.Common.dll
+lib/powershell/System.Drawing.Primitives.dll
+lib/powershell/System.Drawing.dll
+lib/powershell/System.Dynamic.Runtime.dll
+lib/powershell/System.Formats.Asn1.dll
+lib/powershell/System.Formats.Tar.dll
+lib/powershell/System.Globalization.Calendars.dll
+lib/powershell/System.Globalization.Extensions.dll
+lib/powershell/System.Globalization.dll
+lib/powershell/System.IO.Compression.Brotli.dll
+lib/powershell/System.IO.Compression.FileSystem.dll
+lib/powershell/System.IO.Compression.ZipFile.dll
+lib/powershell/System.IO.Compression.dll
+lib/powershell/System.IO.FileSystem.AccessControl.dll
+lib/powershell/System.IO.FileSystem.DriveInfo.dll
+lib/powershell/System.IO.FileSystem.Primitives.dll
+lib/powershell/System.IO.FileSystem.Watcher.dll
+lib/powershell/System.IO.FileSystem.dll
+lib/powershell/System.IO.IsolatedStorage.dll
+lib/powershell/System.IO.MemoryMappedFiles.dll
+lib/powershell/System.IO.Packaging.dll
+lib/powershell/System.IO.Pipelines.dll
+lib/powershell/System.IO.Pipes.AccessControl.dll
+lib/powershell/System.IO.Pipes.dll
+lib/powershell/System.IO.Ports.dll
+lib/powershell/System.IO.UnmanagedMemoryStream.dll
+lib/powershell/System.IO.dll
+lib/powershell/System.Linq.Expressions.dll
+lib/powershell/System.Linq.Parallel.dll
+lib/powershell/System.Linq.Queryable.dll
+lib/powershell/System.Linq.dll
+lib/powershell/System.Management.Automation.dll
+lib/powershell/System.Management.Automation.pdb
+lib/powershell/System.Management.Automation.xml
+lib/powershell/System.Management.dll
+lib/powershell/System.Memory.dll
+lib/powershell/System.Net.Http.Json.dll
+lib/powershell/System.Net.Http.WinHttpHandler.dll
+lib/powershell/System.Net.Http.dll
+lib/powershell/System.Net.HttpListener.dll
+lib/powershell/System.Net.Mail.dll
+lib/powershell/System.Net.NameResolution.dll
+lib/powershell/System.Net.NetworkInformation.dll
+lib/powershell/System.Net.Ping.dll
+lib/powershell/System.Net.Primitives.dll
+lib/powershell/System.Net.Quic.dll
+lib/powershell/System.Net.Requests.dll
+lib/powershell/System.Net.Security.dll
+lib/powershell/System.Net.ServicePoint.dll
+lib/powershell/System.Net.Sockets.dll
+lib/powershell/System.Net.WebClient.dll
+lib/powershell/System.Net.WebHeaderCollection.dll
+lib/powershell/System.Net.WebProxy.dll
+lib/powershell/System.Net.WebSockets.Client.dll
+lib/powershell/System.Net.WebSockets.dll
+lib/powershell/System.Net.dll
+lib/powershell/System.Numerics.Vectors.dll
+lib/powershell/System.Numerics.dll
+lib/powershell/System.ObjectModel.dll
+lib/powershell/System.Private.CoreLib.dll
+lib/powershell/System.Private.DataContractSerialization.dll
+lib/powershell/System.Private.ServiceModel.dll
+lib/powershell/System.Private.Uri.dll
+lib/powershell/System.Private.Windows.Core.dll
+lib/powershell/System.Private.Xml.Linq.dll
+lib/powershell/System.Private.Xml.dll
+lib/powershell/System.Reflection.Context.dll
+lib/powershell/System.Reflection.DispatchProxy.dll
+lib/powershell/System.Reflection.Emit.ILGeneration.dll
+lib/powershell/System.Reflection.Emit.Lightweight.dll
+lib/powershell/System.Reflection.Emit.dll
+lib/powershell/System.Reflection.Extensions.dll
+lib/powershell/System.Reflection.Metadata.dll
+lib/powershell/System.Reflection.Primitives.dll
+lib/powershell/System.Reflection.TypeExtensions.dll
+lib/powershell/System.Reflection.dll
+lib/powershell/System.Resources.Reader.dll
+lib/powershell/System.Resources.ResourceManager.dll
+lib/powershell/System.Resources.Writer.dll
+lib/powershell/System.Runtime.Caching.dll
+lib/powershell/System.Runtime.CompilerServices.Unsafe.dll
+lib/powershell/System.Runtime.CompilerServices.VisualC.dll
+lib/powershell/System.Runtime.Extensions.dll
+lib/powershell/System.Runtime.Handles.dll
+lib/powershell/System.Runtime.InteropServices.JavaScript.dll
+lib/powershell/System.Runtime.InteropServices.RuntimeInformation.dll
+lib/powershell/System.Runtime.InteropServices.dll
+lib/powershell/System.Runtime.Intrinsics.dll
+lib/powershell/System.Runtime.Loader.dll
+lib/powershell/System.Runtime.Numerics.dll
+lib/powershell/System.Runtime.Serialization.Formatters.dll
+lib/powershell/System.Runtime.Serialization.Json.dll
+lib/powershell/System.Runtime.Serialization.Primitives.dll
+lib/powershell/System.Runtime.Serialization.Xml.dll
+lib/powershell/System.Runtime.Serialization.dll
+lib/powershell/System.Runtime.dll
+lib/powershell/System.Security.AccessControl.dll
+lib/powershell/System.Security.Claims.dll
+lib/powershell/System.Security.Cryptography.Algorithms.dll
+lib/powershell/System.Security.Cryptography.Cng.dll
+lib/powershell/System.Security.Cryptography.Csp.dll
+lib/powershell/System.Security.Cryptography.Encoding.dll
+lib/powershell/System.Security.Cryptography.OpenSsl.dll
+lib/powershell/System.Security.Cryptography.Pkcs.dll
+lib/powershell/System.Security.Cryptography.Primitives.dll
+lib/powershell/System.Security.Cryptography.ProtectedData.dll
+lib/powershell/System.Security.Cryptography.X509Certificates.dll
+lib/powershell/System.Security.Cryptography.Xml.dll
+lib/powershell/System.Security.Cryptography.dll
+lib/powershell/System.Security.Permissions.dll
+lib/powershell/System.Security.Principal.Windows.dll
+lib/powershell/System.Security.Principal.dll
+lib/powershell/System.Security.SecureString.dll
+lib/powershell/System.Security.dll
+lib/powershell/System.ServiceModel.Duplex.dll
+lib/powershell/System.ServiceModel.Http.dll
+lib/powershell/System.ServiceModel.NetTcp.dll
+lib/powershell/System.ServiceModel.Primitives.dll
+lib/powershell/System.ServiceModel.Security.dll
+lib/powershell/System.ServiceModel.Syndication.dll
+lib/powershell/System.ServiceModel.Web.dll
+lib/powershell/System.ServiceModel.dll
+lib/powershell/System.ServiceProcess.ServiceController.dll
+lib/powershell/System.ServiceProcess.dll
+lib/powershell/System.Speech.dll
+lib/powershell/System.Text.Encoding.CodePages.dll
+lib/powershell/System.Text.Encoding.Extensions.dll
+lib/powershell/System.Text.Encoding.dll
+lib/powershell/System.Text.Encodings.Web.dll
+lib/powershell/System.Text.Json.dll
+lib/powershell/System.Text.RegularExpressions.dll
+lib/powershell/System.Threading.AccessControl.dll
+lib/powershell/System.Threading.Channels.dll
+lib/powershell/System.Threading.Overlapped.dll
+lib/powershell/System.Threading.Tasks.Dataflow.dll
+lib/powershell/System.Threading.Tasks.Extensions.dll
+lib/powershell/System.Threading.Tasks.Parallel.dll
+lib/powershell/System.Threading.Tasks.dll
+lib/powershell/System.Threading.Thread.dll
+lib/powershell/System.Threading.ThreadPool.dll
+lib/powershell/System.Threading.Timer.dll
+lib/powershell/System.Threading.dll
+lib/powershell/System.Transactions.Local.dll
+lib/powershell/System.Transactions.dll
+lib/powershell/System.ValueTuple.dll
+lib/powershell/System.Web.HttpUtility.dll
+lib/powershell/System.Web.Services.Description.dll
+lib/powershell/System.Web.dll
+lib/powershell/System.Windows.Extensions.dll
+lib/powershell/System.Windows.dll
+lib/powershell/System.Xml.Linq.dll
+lib/powershell/System.Xml.ReaderWriter.dll
+lib/powershell/System.Xml.Serialization.dll
+lib/powershell/System.Xml.XDocument.dll
+lib/powershell/System.Xml.XPath.XDocument.dll
+lib/powershell/System.Xml.XPath.dll
+lib/powershell/System.Xml.XmlDocument.dll
+lib/powershell/System.Xml.XmlSerializer.dll
+lib/powershell/System.Xml.dll
+lib/powershell/System.dll
+lib/powershell/ThirdPartyNotices.txt
+lib/powershell/WindowsBase.dll
+lib/powershell/cs/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/cs/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/cs/System.Private.ServiceModel.resources.dll
+lib/powershell/cs/System.Web.Services.Description.resources.dll
+lib/powershell/de/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/de/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/de/System.Private.ServiceModel.resources.dll
+lib/powershell/de/System.Web.Services.Description.resources.dll
+lib/powershell/en-US/default.help.txt
+lib/powershell/es/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/es/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/es/System.Private.ServiceModel.resources.dll
+lib/powershell/es/System.Web.Services.Description.resources.dll
+lib/powershell/fr/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/fr/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/fr/System.Private.ServiceModel.resources.dll
+lib/powershell/fr/System.Web.Services.Description.resources.dll
+lib/powershell/it/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/it/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/it/System.Private.ServiceModel.resources.dll
+lib/powershell/it/System.Web.Services.Description.resources.dll
+lib/powershell/ja/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/ja/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/ja/System.Private.ServiceModel.resources.dll
+lib/powershell/ja/System.Web.Services.Description.resources.dll
+lib/powershell/ko/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/ko/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/ko/System.Private.ServiceModel.resources.dll
+lib/powershell/ko/System.Web.Services.Description.resources.dll
+lib/powershell/libSystem.Globalization.Native.so
+lib/powershell/libSystem.IO.Compression.Native.so
+lib/powershell/libSystem.Native.so
+lib/powershell/libSystem.Net.Security.Native.so
+lib/powershell/libSystem.Security.Cryptography.Native.OpenSsl.so
+lib/powershell/libclrgc.so
+lib/powershell/libclrgcexp.so
+lib/powershell/libclrjit.so
+lib/powershell/libcoreclr.so
+lib/powershell/libhostfxr.so
+lib/powershell/libhostpolicy.so
+lib/powershell/libmscordaccore.so
+lib/powershell/libmscordbi.so
+lib/powershell/mscorlib.dll
+lib/powershell/netstandard.dll
+lib/powershell/pl/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/pl/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/pl/System.Private.ServiceModel.resources.dll
+lib/powershell/pl/System.Web.Services.Description.resources.dll
+lib/powershell/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/pt-BR/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/pt-BR/System.Private.ServiceModel.resources.dll
+lib/powershell/pt-BR/System.Web.Services.Description.resources.dll
+lib/powershell/pwsh
+lib/powershell/pwsh.deps.json
+lib/powershell/pwsh.dll
+lib/powershell/pwsh.pdb
+lib/powershell/pwsh.runtimeconfig.json
+lib/powershell/pwsh.xml
+lib/powershell/ru/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/ru/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/ru/System.Private.ServiceModel.resources.dll
+lib/powershell/ru/System.Web.Services.Description.resources.dll
+lib/powershell/tr/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/tr/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/tr/System.Private.ServiceModel.resources.dll
+lib/powershell/tr/System.Web.Services.Description.resources.dll
+lib/powershell/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/zh-Hans/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/zh-Hans/System.Private.ServiceModel.resources.dll
+lib/powershell/zh-Hans/System.Web.Services.Description.resources.dll
+lib/powershell/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll
+lib/powershell/zh-Hant/Microsoft.CodeAnalysis.resources.dll
+lib/powershell/zh-Hant/System.Private.ServiceModel.resources.dll
+lib/powershell/zh-Hant/System.Web.Services.Description.resources.dll