This repository has no description
1.7 kB
71 lines
1{
2 lib,
3 fetchFromGitHub,
4 python39Packages,
5 glibcLocales,
6 coreutils,
7 git,
8 extraInputs ? [ ],
9}:
10let
11
12 python3Packages = python39Packages;
13
14in
15python3Packages.buildPythonApplication rec {
16 pname = "xonsh2";
17 version = "master";
18
19 # fetch from github because the pypi package ships incomplete tests
20 src = fetchFromGitHub {
21 owner = "anki-code";
22 repo = "xonsh2";
23 rev = "bd96fcdce9319ab6b90c7d9ac47d2249b61144d0";
24 sha256 = "0b632rac8macfp2mmvhh1f34cf1m5qfpjajwnf676qk7jzn79vx6";
25 };
26
27 LC_ALL = "en_US.UTF-8";
28
29 postPatch = ''
30 sed -ie 's|/usr/bin/env|${coreutils}/bin/env|' scripts/xon.sh
31 find scripts -name 'xonsh*' -exec sed -i -e "s|env -S|env|" {} \;
32 find -name "*.xsh" | xargs sed -ie 's|/usr/bin/env|${coreutils}/bin/env|'
33 patchShebangs .
34 '';
35
36 doCheck = false;
37
38 checkPhase = ''
39 HOME=$TMPDIR pytest -k 'not test_repath_backslash and not test_os and not test_man_completion and not test_builtins and not test_main and not test_ptk_highlight and not test_pyghooks'
40 HOME=$TMPDIR pytest -k 'test_builtins or test_main' --reruns 5
41 HOME=$TMPDIR pytest -k 'test_ptk_highlight'
42 '';
43
44 checkInputs = [
45 python3Packages.pytest
46 python3Packages.pytest-rerunfailures
47 glibcLocales
48 git
49 ];
50
51 propagatedBuildInputs =
52 with python3Packages;
53 [
54 ply
55 prompt_toolkit
56 pygments
57 ]
58 ++ extraInputs;
59
60 meta = with lib; {
61 description = "A Python-ish, BASHwards-compatible shell";
62 homepage = "https://xon.sh/";
63 # changelog = "https://github.com/xonsh/xonsh/releases/tag/${version}";
64 license = licenses.bsd3;
65 platforms = platforms.all;
66 };
67
68 passthru = {
69 shellPath = "/bin/xonsh2";
70 };
71}