diff options
Diffstat (limited to 'nixpkgs/pkgs/shells/powershell/default.nix')
-rw-r--r-- | nixpkgs/pkgs/shells/powershell/default.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/shells/powershell/default.nix b/nixpkgs/pkgs/shells/powershell/default.nix new file mode 100644 index 00000000000..b999070a49e --- /dev/null +++ b/nixpkgs/pkgs/shells/powershell/default.nix @@ -0,0 +1,47 @@ +{ stdenv, autoPatchelfHook, fetchzip, libunwind, libuuid, icu, curl +, darwin, makeWrapper, less, openssl_1_0_2, pam, lttng-ust }: + +let platformString = if stdenv.isDarwin then "osx" + else if stdenv.isLinux then "linux" + else throw "unsupported platform"; + platformSha = if stdenv.isDarwin then "0jb2xm79m3m14zk7v730ai1zvxcb5a13jbkkya0qy7332k6gn6bl" + else if stdenv.isLinux then "0s0jvc9ha6fw8qy7f5n0v6zf043rawsjdlm5wvqxq1q2idz7xcw1" + else throw "unsupported platform"; + platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" + else if stdenv.isLinux then "LD_LIBRARY_PATH" + else throw "unsupported platform"; + libraries = [ libunwind libuuid icu curl openssl_1_0_2 ] ++ + (if stdenv.isLinux then [ pam lttng-ust ] else [ darwin.Libsystem ]); +in +stdenv.mkDerivation rec { + pname = "powershell"; + version = "6.2.3"; + + src = fetchzip { + url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-x64.tar.gz"; + sha256 = platformSha; + stripRoot = false; + }; + + buildInputs = [ less ] ++ libraries; + nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/powershell + cp -r * $out/share/powershell + makeWrapper $out/share/powershell/pwsh $out/bin/pwsh --prefix ${platformLdLibraryPath} : "${stdenv.lib.makeLibraryPath libraries}" \ + --set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1 + ''; + + dontStrip = true; + + meta = with stdenv.lib; { + description = "Cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework"; + homepage = https://github.com/PowerShell/PowerShell; + maintainers = [ maintainers.yrashk ]; + platforms = platforms.unix; + license = with licenses; [ mit ]; + }; + +} |