Unverified Commit f2b2e6d0 authored by adisbladis's avatar adisbladis Committed by GitHub
Browse files

Merge pull request #240246 from adisbladis/xonsh-envs

xonsh: Add wrapper
parents a6649da9 0fab94a8
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ in
        type = types.package;
        default = pkgs.xonsh;
        defaultText = literalExpression "pkgs.xonsh";
        example = literalExpression "pkgs.xonsh.override { configFile = \"/path/to/xonshrc\"; }";
        example = literalExpression "pkgs.xonsh.override { extraPackages = ps: [ ps.requests ]; }";
        description = lib.mdDoc ''
          xonsh package to use.
        '';
@@ -83,4 +83,3 @@ in
  };

}
+5 −12
Original line number Diff line number Diff line
{ lib
, fetchFromGitHub
, python3Packages
, python3
, glibcLocales
, coreutils
, git
}:

python3Packages.buildPythonApplication rec {
python3.pkgs.buildPythonApplication rec {
  pname = "xonsh";
  version = "0.14.0";

@@ -29,16 +29,8 @@ python3Packages.buildPythonApplication rec {
    find scripts -name 'xonsh*' -exec sed -i -e "s|env -S|env|" {} \;
    find -name "*.xsh" | xargs sed -ie 's|/usr/bin/env|${coreutils}/bin/env|'
    patchShebangs .

    substituteInPlace scripts/xon.sh \
      --replace 'python' "${python3Packages.python}/bin/python"

  '';

  makeWrapperArgs = [
    "--prefix PYTHONPATH : ${placeholder "out"}/lib/${python3Packages.python.libPrefix}/site-packages"
  ];

  disabledTests = [
    # fails on sandbox
    "test_colorize_file"
@@ -71,9 +63,9 @@ python3Packages.buildPythonApplication rec {
  '';

  nativeCheckInputs = [ glibcLocales git ] ++
    (with python3Packages; [ pyte pytestCheckHook pytest-mock pytest-subprocess ]);
    (with python3.pkgs; [ pyte pytestCheckHook pytest-mock pytest-subprocess ]);

  propagatedBuildInputs = with python3Packages; [ ply prompt-toolkit pygments ];
  propagatedBuildInputs = with python3.pkgs; [ ply prompt-toolkit pygments ];

  meta = with lib; {
    description = "A Python-ish, BASHwards-compatible shell";
@@ -85,5 +77,6 @@ python3Packages.buildPythonApplication rec {

  passthru = {
    shellPath = "/bin/xonsh";
    python = python3;
  };
}
+24 −0
Original line number Diff line number Diff line
{ runCommand
, xonsh-unwrapped
, lib
, extraPackages ? (ps: [ ])
}:

let
  xonsh = xonsh-unwrapped;
  inherit (xonsh.passthru) python;

  pythonEnv = python.withPackages (ps: [
    (ps.toPythonModule xonsh)
  ] ++ extraPackages ps);

in
runCommand "${xonsh.pname}-${xonsh.version}"
{
  inherit (xonsh) pname version meta passthru;
} ''
  mkdir -p $out/bin
  for bin in ${lib.getBin xonsh}/bin/*; do
    ln -s ${pythonEnv}/bin/$(basename "$bin") $out/bin/
  done
''
+2 −1
Original line number Diff line number Diff line
@@ -14808,7 +14808,8 @@ with pkgs;
  rush = callPackage ../shells/rush { };
  xonsh = callPackage ../shells/xonsh { };
  xonsh = callPackage ../shells/xonsh/wrapper.nix { };
  xonsh-unwrapped = callPackage ../shells/xonsh { };
  zsh = callPackage ../shells/zsh { };