Merge staging-next into staging
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
, python3
|
||||
, cmake
|
||||
|
||||
, runCommand
|
||||
, writeText
|
||||
, nixosTests
|
||||
, useOperatingSystemEtc ? true
|
||||
@@ -202,38 +203,41 @@ let
|
||||
|
||||
passthru = {
|
||||
shellPath = "/bin/fish";
|
||||
tests.nixos = nixosTests.fish;
|
||||
tests = {
|
||||
nixos = nixosTests.fish;
|
||||
|
||||
# Test the fish_config tool by checking the generated splash page.
|
||||
# Since the webserver requires a port to run, it is not started.
|
||||
fishConfig =
|
||||
let fishScript = writeText "test.fish" ''
|
||||
set -x __fish_bin_dir ${fish}/bin
|
||||
echo $__fish_bin_dir
|
||||
cp -r ${fish}/share/fish/tools/web_config/* .
|
||||
chmod -R +w *
|
||||
|
||||
# if we don't set `delete=False`, the file will get cleaned up
|
||||
# automatically (leading the test to fail because there's no
|
||||
# tempfile to check)
|
||||
sed -e "s@, mode='w'@, mode='w', delete=False@" -i webconfig.py
|
||||
|
||||
# we delete everything after the fileurl is assigned
|
||||
sed -e '/fileurl =/q' -i webconfig.py
|
||||
echo "print(fileurl)" >> webconfig.py
|
||||
|
||||
# and check whether the message appears on the page
|
||||
cat (${python3}/bin/python ./webconfig.py \
|
||||
| tail -n1 | sed -ne 's|.*\(/build/.*\)|\1|p' \
|
||||
) | grep 'a href="http://localhost.*Start the Fish Web config'
|
||||
|
||||
# cannot test the http server because it needs a localhost port
|
||||
'';
|
||||
in
|
||||
runCommand "test-web-config" { } ''
|
||||
HOME=$(mktemp -d)
|
||||
${fish}/bin/fish ${fishScript} && touch $out
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
tests = {
|
||||
|
||||
# Test the fish_config tool by checking the generated splash page.
|
||||
# Since the webserver requires a port to run, it is not started.
|
||||
fishConfig =
|
||||
let
|
||||
fishScript = writeText "test.fish" ''
|
||||
set -x __fish_bin_dir ${fish}/bin
|
||||
echo $__fish_bin_dir
|
||||
cp -r ${fish}/share/fish/tools/web_config/* .
|
||||
chmod -R +w *
|
||||
# we delete everything after the fileurl is assigned
|
||||
sed -e '/fileurl =/q' -i webconfig.py
|
||||
echo "print(fileurl)" >> webconfig.py
|
||||
# and check whether the message appears on the page
|
||||
cat (${python3}/bin/python ./webconfig.py \
|
||||
| tail -n1 | sed -ne 's|.*\(/tmp/.*\)|\1|p' \
|
||||
) | grep 'a href="http://localhost.*Start the Fish Web config'
|
||||
|
||||
# cannot test the http server because it needs a localhost port
|
||||
'';
|
||||
in ''
|
||||
HOME=$(mktemp -d)
|
||||
${fish}/bin/fish ${fishScript}
|
||||
'';
|
||||
};
|
||||
|
||||
# FIXME(Profpatsch) replace withTests stub
|
||||
withTests = with lib; flip const;
|
||||
in
|
||||
withTests tests fish
|
||||
fish
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{ stdenv, autoPatchelfHook, fetchzip, libunwind, libuuid, icu, curl
|
||||
, darwin, makeWrapper, less, openssl_1_0_2, pam, lttng-ust }:
|
||||
{ stdenv, lib, autoPatchelfHook, fetchzip, libunwind, libuuid, icu, curl
|
||||
, darwin, makeWrapper, less, openssl_1_1, 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"
|
||||
platformSha = if stdenv.isDarwin then "0c71w6z6sc86si07i6vy4w3069jal7476wyiizyr7qjm9m22963f"
|
||||
else if stdenv.isLinux then "0m13y66a6w64s31qbi3j5x8jll6dfrin890jah8kyncsvlyisqg3"
|
||||
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 ] ++
|
||||
libraries = [ libunwind libuuid icu curl openssl_1_1 ] ++
|
||||
(if stdenv.isLinux then [ pam lttng-ust ] else [ darwin.Libsystem ]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "powershell";
|
||||
version = "6.2.3";
|
||||
version = "7.0.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-x64.tar.gz";
|
||||
@@ -26,21 +26,42 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ less ] ++ libraries;
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
installPhase =
|
||||
let
|
||||
ext = stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
in ''
|
||||
pslibs=$out/share/powershell
|
||||
mkdir -p $pslibs
|
||||
|
||||
cp -r * $pslibs
|
||||
|
||||
rm -f $pslibs/libcrypto${ext}.1.0.0
|
||||
rm -f $pslibs/libssl${ext}.1.0.0
|
||||
|
||||
ls $pslibs
|
||||
'' + lib.optionalString (!stdenv.isDarwin) ''
|
||||
patchelf --replace-needed libcrypto${ext}.1.0.0 libcrypto${ext}.1.1 $pslibs/libmi.so
|
||||
patchelf --replace-needed libssl${ext}.1.0.0 libssl${ext}.1.1 $pslibs/libmi.so
|
||||
'' + ''
|
||||
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/powershell
|
||||
cp -r * $out/share/powershell
|
||||
makeWrapper $out/share/powershell/pwsh $out/bin/pwsh \
|
||||
|
||||
makeWrapper $pslibs/pwsh $out/bin/pwsh \
|
||||
--prefix ${platformLdLibraryPath} : "${stdenv.lib.makeLibraryPath libraries}" \
|
||||
--set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1 --set DOTNET_CLI_TELEMETRY_OPTOUT 1
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework";
|
||||
doInstallCheck = true;
|
||||
installCheck = ''
|
||||
$out/bin/pwsh --help > /dev/null
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Powerful cross-platform (Windows, Linux, and macOS) shell and scripting language based on .NET";
|
||||
homepage = "https://github.com/PowerShell/PowerShell";
|
||||
maintainers = [ maintainers.yrashk ];
|
||||
maintainers = with maintainers; [ yrashk srgom ];
|
||||
platforms = [ "x86_64-darwin" "x86_64-linux" ];
|
||||
license = with licenses; [ mit ];
|
||||
};
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "xonsh";
|
||||
version = "0.9.17";
|
||||
version = "0.9.18";
|
||||
|
||||
# fetch from github because the pypi package ships incomplete tests
|
||||
src = fetchFromGitHub {
|
||||
owner = "xonsh";
|
||||
repo = "xonsh";
|
||||
rev = version;
|
||||
sha256 = "0ynfnphbp69am390m5zfzk5rzj1749vs7rzyq310f6mk7xdq6j4v";
|
||||
sha256 = "1zg5dl9qdysbaw2djy9f7f1ydp7vzjv840cjwqxlmg9615lgg7xa";
|
||||
};
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
{ stdenv, fetchgit }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2020-04-30";
|
||||
version = "2020-05-07";
|
||||
pname = "oh-my-zsh";
|
||||
rev = "06b0276675e978d80535259915fbb44011e10101";
|
||||
rev = "b876198575cbf23d589ddc8da6b22254d3d5358b";
|
||||
|
||||
src = fetchgit { inherit rev;
|
||||
url = "https://github.com/ohmyzsh/ohmyzsh";
|
||||
sha256 = "1y1c8v2akxwffrmcq8lmxvdnirqkxbxbrhcws76dlcgp2m3drvgq";
|
||||
sha256 = "0vx3pi9wk9crmwgkpd3nwp88ci6ly0savj6v2md7qazmimgffsfi";
|
||||
};
|
||||
|
||||
pathsToLink = [ "/share/oh-my-zsh" ];
|
||||
|
||||
Reference in New Issue
Block a user