diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-01-03 23:55:00 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-02-19 11:03:39 +0000 |
commit | f4cf97a04cd5d0b86aa46baec9fb228a8f671c03 (patch) | |
tree | 28192415ff39a661d0001563bf81cc93fa25d16d /nixpkgs/pkgs/shells | |
parent | f8422837c9bde058e8f2de37702e7e94b2226040 (diff) | |
parent | 18c84ea816348e2a098390101b92d1e39a9dbd45 (diff) | |
download | nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.gz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.bz2 nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.lz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.xz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.zst nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.zip |
Merge commit '18c84ea816348e2a098390101b92d1e39a9dbd45'
Conflicts: nixpkgs/nixos/modules/misc/documentation.nix nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/go-modules/generic/default.nix nixpkgs/pkgs/development/interpreters/ruby/default.nix nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix nixpkgs/pkgs/servers/mail/mailman/web.nix nixpkgs/pkgs/top-level/aliases.nix nixpkgs/pkgs/top-level/all-packages.nix nixpkgs/pkgs/top-level/impure.nix
Diffstat (limited to 'nixpkgs/pkgs/shells')
35 files changed, 197 insertions, 864 deletions
diff --git a/nixpkgs/pkgs/shells/bash/4.4.nix b/nixpkgs/pkgs/shells/bash/4.4.nix deleted file mode 100644 index 84cbba8eac4a..000000000000 --- a/nixpkgs/pkgs/shells/bash/4.4.nix +++ /dev/null @@ -1,140 +0,0 @@ -{ lib, stdenv, buildPackages -, fetchurl, binutils ? null, bison, autoconf, util-linux - -# patch for cygwin requires readline support -, interactive ? stdenv.isCygwin, readline70 ? null -, withDocs ? false, texinfo ? null -}: - -with lib; - -assert interactive -> readline70 != null; -assert withDocs -> texinfo != null; -assert stdenv.hostPlatform.isDarwin -> binutils != null; - -# Note: this package is used for bootstrapping fetchurl, and thus -# cannot use fetchpatch! All mutable patches (generated by GitHub or -# cgit) that are needed here should be included directly in Nixpkgs as -# files. - -let - upstreamPatches = import ./bash-4.4-patches.nix (nr: sha256: fetchurl { - url = "mirror://gnu/bash/bash-4.4-patches/bash44-${nr}"; - inherit sha256; - }); -in - -stdenv.mkDerivation rec { - name = "bash-${optionalString interactive "interactive-"}${version}-p${toString (builtins.length upstreamPatches)}"; - version = "4.4"; - - src = fetchurl { - url = "mirror://gnu/bash/bash-${version}.tar.gz"; - sha256 = "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq"; - }; - - hardeningDisable = [ "format" ]; - - outputs = [ "out" "dev" "man" "doc" "info" ]; - - NIX_CFLAGS_COMPILE = '' - -DSYS_BASHRC="/etc/bashrc" - -DSYS_BASH_LOGOUT="/etc/bash_logout" - -DDEFAULT_PATH_VALUE="/no-such-path" - -DSTANDARD_UTILS_PATH="/no-such-path" - -DNON_INTERACTIVE_LOGIN_SHELLS - -DSSH_SOURCE_BASHRC - ''; - - patchFlags = [ "-p0" ]; - - patches = upstreamPatches - ++ [ ./pgrp-pipe-4.4.patch ] - ++ optional stdenv.hostPlatform.isCygwin ./cygwin-bash-4.4.11-2.src.patch - # https://lists.gnu.org/archive/html/bug-bash/2016-10/msg00006.html - ++ optional stdenv.hostPlatform.isMusl (fetchurl { - url = "https://lists.gnu.org/archive/html/bug-bash/2016-10/patchJxugOXrY2y.patch"; - sha256 = "1m4v9imidb1cc1h91f2na0b8y9kc5c5fgmpvy9apcyv2kbdcghg1"; - }); - - configureFlags = [ - (if interactive then "--with-installed-readline" else "--disable-readline") - ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "bash_cv_job_control_missing=nomissing" - "bash_cv_sys_named_pipes=nomissing" - "bash_cv_getcwd_malloc=yes" - ] ++ optionals stdenv.hostPlatform.isCygwin [ - "--without-libintl-prefix" - "--without-libiconv-prefix" - "--with-installed-readline" - "bash_cv_dev_stdin=present" - "bash_cv_dev_fd=standard" - "bash_cv_termcap_lib=libncurses" - ] ++ optionals (stdenv.hostPlatform.libc == "musl") [ - "--without-bash-malloc" - "--disable-nls" - ]; - - # Note: Bison is needed because the patches above modify parse.y. - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ bison ] - ++ optional withDocs texinfo - ++ optional stdenv.hostPlatform.isDarwin binutils - ++ optional (stdenv.hostPlatform.libc == "musl") autoconf; - - buildInputs = optional interactive readline70; - - # Bash randomly fails to build because of a recursive invocation to - # build `version.h'. - enableParallelBuilding = false; - - makeFlags = optional stdenv.hostPlatform.isCygwin [ - "LOCAL_LDFLAGS=-Wl,--export-all,--out-implib,libbash.dll.a" - "SHOBJ_LIBS=-lbash" - ]; - - checkInputs = [ util-linux ]; - doCheck = false; # dependency cycle, needs to be interactive - - postInstall = '' - ln -s bash "$out/bin/sh" - rm -f $out/lib/bash/Makefile.inc - ''; - - postFixup = if interactive - then '' - substituteInPlace "$out/bin/bashbug" \ - --replace '${stdenv.shell}' "$out/bin/bash" - '' - # most space is taken by locale data - else '' - rm -rf "$out/share" "$out/bin/bashbug" - ''; - - meta = with lib; { - homepage = "https://www.gnu.org/software/bash/"; - description = - "GNU Bourne-Again Shell, the de facto standard shell on Linux" + - (if interactive then " (for interactive use)" else ""); - - longDescription = '' - Bash is the shell, or command language interpreter, that will - appear in the GNU operating system. Bash is an sh-compatible - shell that incorporates useful features from the Korn shell - (ksh) and C shell (csh). It is intended to conform to the IEEE - POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers - functional improvements over sh for both programming and - interactive use. In addition, most sh scripts can be run by - Bash without modification. - ''; - - license = licenses.gpl3Plus; - - platforms = platforms.all; - - }; - - passthru = { - shellPath = "/bin/bash"; - }; -} diff --git a/nixpkgs/pkgs/shells/bash/bash-4.4-patches.nix b/nixpkgs/pkgs/shells/bash/bash-4.4-patches.nix deleted file mode 100644 index a79ec90213a0..000000000000 --- a/nixpkgs/pkgs/shells/bash/bash-4.4-patches.nix +++ /dev/null @@ -1,27 +0,0 @@ -# Automatically generated by `update-patch-set.sh'; do not edit. - -patch: [ -(patch "001" "03vzy7qwjdd5qvl3ydg99naazas2qmyd0yhnrflgjbbm64axja1y") -(patch "002" "0lrwq6vyqism3yqv9s7kzaf3dsl4q5w9r5svcqz279qp7qca083h") -(patch "003" "1chqww2rj6g42b8s60q5zlzy0jzp684jkpsbrbfy1vzxja8mmpsi") -(patch "004" "1cy8abf96hkrjhw921ndr0shlcnc52bg45rn6xri4v5clhq0l25d") -(patch "005" "0a8515kyk4zsgmvlqvlganjfr7pq0j6kzpr4d6xx02kpbdr4n7i2") -(patch "006" "1f24wgqngmj2mrj9yibwvc2zvlmn5xi53mnw777g3l40c4m2x3ka") -(patch "007" "1bzdsnqaf05gdbqpsixhan8vygjxpcxlz1dd8d9f5jdznw3wq76y") -(patch "008" "1firw915mjm03hbbw9a70ch3cpgrgnvqjpllgdnn6csr8q04f546") -(patch "009" "0g1l56kvw61rpw7dqa9fcl9llkl693h73g631hrhxlm030ddssqb") -(patch "010" "01lfhrkdsdkdz8ypzapr614ras23x7ckjnr60aa5bzkaqprccrc4") -(patch "011" "038p7mhnq9m65g505hi3827jkf9f35nd1cy00w8mwafpyxp44mnx") -(patch "012" "0gh6lbb1rwpk44pvbamm6vzdfi50xnwkqd9v7s8cjwk3pz973hps") -(patch "013" "1djkx0w9v62q78gz3jsvamj1jq53i6hbfrfhhsw86ihwpjnfy98v") -(patch "014" "0z5ikcq9zyxw79d0z36r5p0mspnb5piavbv03jmlan1wnknmrxx7") -(patch "015" "09n307fi1j257abhm295k6ksmnzw47ka2zhnr0i5lbdnpvn04xnk") -(patch "016" "1cgi1y6mifm8hsgv4avj5ih76535js3qba1sqwbfvp7si76927sh") -(patch "017" "0w6jpj2giakji1ir83rpkx1y7n7xqppah3j748m6dm38hywr0gvp") -(patch "018" "1k58h4wxbsg7r4rwhrvzx5hfbapba2nxjysbhh6qp6ki5ys99i2v") -(patch "019" "07n1i5610lbs672x1s8g82qn3qfj06s0ip3z80sri0g8vxp0s5r7") -(patch "020" "0b2jk5n1af1vh590qfc52hv65mafb4vl1xv26s8j5a3byb5y4h0q") -(patch "021" "1hblcd2xmqqlp0idnavw66570n7m0yv5rbbr873c2gkn982mk3xx") -(patch "022" "0yfbjzr79vzjs2hyi5m8iy2b38fq7vikdfa4zqdvjsp36q4iycs5") -(patch "023" "1dlism6qdx60nvzj0v7ndr7lfahl4a8zmzckp13hqgdx7xpj7v2g") -] diff --git a/nixpkgs/pkgs/shells/bash/bash-5.1-patches.nix b/nixpkgs/pkgs/shells/bash/bash-5.1-patches.nix index aa5ad75fbc70..e6e9461bcbef 100644 --- a/nixpkgs/pkgs/shells/bash/bash-5.1-patches.nix +++ b/nixpkgs/pkgs/shells/bash/bash-5.1-patches.nix @@ -9,4 +9,8 @@ patch: [ (patch "006" "051x8wlwrqk0yr0zg378vh824iklfl5g9pkmcdf62qp8gn9pvqbm") (patch "007" "0fir80pp1gmlpadmqcgkrv4y119pc7xllchjzg05fd7px73viz5c") (patch "008" "1lfjgshk8i9vch92p5wgc9r90j3phw79aa7gbai89w183b2z6b7j") +(patch "009" "1vn36dzd9g4y1h3jiss6418crla0rbcd0d6wwsyv9d5l7aaxlp74") +(patch "010" "0amfmvbzsand7bdypylkjdpcp88fa3cplfshn7vyzv2ff2rdgj52") +(patch "011" "0yq24abb4fzfxqnwl20b330sxl9lr9ds0nc4yi30f81l94b1y6aq") +(patch "012" "165bff97ffih49vfs4mkr5w3z5gn1w6zfyrf773iajkw6v48kw8h") ] diff --git a/nixpkgs/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch b/nixpkgs/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch deleted file mode 100644 index 488373109625..000000000000 --- a/nixpkgs/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch +++ /dev/null @@ -1,607 +0,0 @@ ---- bashline.c 2017-01-23 13:28:06.955247200 -0600 -+++ bashline.c 2017-01-23 13:55:07.992877600 -0600 -@@ -76,6 +76,16 @@ - # include "pcomplete.h" - #endif - -+#if __CYGWIN__ -+# ifdef __x86_64__ -+# define IMP(x) __imp_##x -+# else -+# define IMP(x) _imp__##x -+# endif -+#else -+# define IMP(x) x -+#endif -+ - /* These should agree with the defines for emacs_mode and vi_mode in - rldefs.h, even though that's not a public readline header file. */ - #ifndef EMACS_EDITING_MODE -@@ -271,6 +281,11 @@ int no_empty_command_completion; - are the only possible matches, even if FIGNORE says to. */ - int force_fignore = 1; - -+#if __CYGWIN__ -+/* If set, shorten "foo.exe" to "foo" when they are the same file. */ -+int completion_strip_exe; -+#endif /* __CYGWIN__ */ -+ - /* Perform spelling correction on directory names during word completion */ - int dircomplete_spelling = 0; - -@@ -498,11 +513,12 @@ initialize_readline () - kseq[0] = CTRL('J'); - kseq[1] = '\0'; - func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); -- if (func == rl_vi_editing_mode) -+ extern rl_command_func_t *IMP(rl_vi_editing_mode); -+ if (func == rl_vi_editing_mode || func == IMP(rl_vi_editing_mode)) - rl_unbind_key_in_map (CTRL('J'), emacs_meta_keymap); - kseq[0] = CTRL('M'); - func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); -- if (func == rl_vi_editing_mode) -+ if (func == rl_vi_editing_mode || func == IMP(rl_vi_editing_mode)) - rl_unbind_key_in_map (CTRL('M'), emacs_meta_keymap); - #if defined (VI_MODE) - rl_unbind_key_in_map (CTRL('E'), vi_movement_keymap); -@@ -521,7 +537,8 @@ initialize_readline () - kseq[0] = '~'; - kseq[1] = '\0'; - func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); -- if (func == 0 || func == rl_tilde_expand) -+ extern rl_command_func_t *IMP(rl_tilde_expand); -+ if (func == 0 || func == rl_tilde_expand || func == IMP(rl_tilde_expand)) - rl_bind_keyseq_in_map (kseq, bash_complete_username, emacs_meta_keymap); - - rl_bind_key_if_unbound_in_map ('~', bash_possible_username_completions, emacs_ctlx_keymap); -@@ -544,7 +561,8 @@ initialize_readline () - kseq[0] = TAB; - kseq[1] = '\0'; - func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); -- if (func == 0 || func == rl_tab_insert) -+ extern rl_command_func_t *IMP(rl_tab_insert); -+ if (func == 0 || func == rl_tab_insert || func == IMP(rl_tab_insert)) - rl_bind_key_in_map (TAB, dynamic_complete_history, emacs_meta_keymap); - - /* Tell the completer that we want a crack first. */ -@@ -2194,6 +2212,21 @@ globword: - - if (match && executable_completion ((searching_path ? val : cval), searching_path)) - { -+#if __CYGWIN__ -+ if (completion_strip_exe) -+ { -+ size_t val_len = strlen (val); -+ char *candidate; -+ if (val_len > 4 && !strcasecmp (&val[val_len - 4], ".exe") -+ && (candidate = strdup (val))) -+ { -+ candidate[val_len - 4] = '\0'; -+ if (same_file (val, candidate, NULL, NULL)) -+ temp[strlen (temp) - 4] = '\0'; -+ free (candidate); -+ } -+ } -+#endif - if (cval != val) - free (cval); - free (val); -@@ -2929,6 +2962,17 @@ test_for_directory (name) - int r; - - fn = bash_tilde_expand (name, 0); -+#if __CYGWIN -+ /* stat("//server") can only be successful as a directory, but can take -+ seconds to time out on failure. It is much faster to assume that -+ "//server" is a valid name than it is to wait for a stat, even if it -+ gives false positives on bad names. */ -+ if (fn[0] == '/' && fn[1] == '/' && ! strchr (&fn[2], '/')) -+ { -+ free (fn); -+ return 1; -+ } -+#endif - r = file_isdir (fn); - free (fn); - ---- builtins/read.def 2017-01-23 13:28:07.017686500 -0600 -+++ builtins/read.def 2017-01-23 13:55:07.992877600 -0600 -@@ -85,7 +85,6 @@ $END - - #ifdef __CYGWIN__ - # include <fcntl.h> --# include <io.h> - #endif - - #include "../bashintl.h" -@@ -530,10 +529,6 @@ read_builtin (list) - fflush (stderr); - } - --#if defined (__CYGWIN__) && defined (O_TEXT) -- setmode (0, O_TEXT); --#endif -- - ps2 = 0; - for (print_ps2 = eof = retval = 0;;) - { -@@ -664,6 +659,14 @@ read_builtin (list) - if (c == '\0' && delim != '\0') - continue; /* skip NUL bytes in input */ - -+#ifdef __CYGWIN__ -+ { -+ extern igncr; -+ if (igncr && c == '\r' && delim != '\r') -+ continue; /* skip carriage return */ -+ } -+#endif -+ - if ((skip_ctlesc == 0 && c == CTLESC) || (skip_ctlnul == 0 && c == CTLNUL)) - { - saw_escape++; ---- builtins/set.def 2016-06-02 19:10:10.000000000 -0500 -+++ builtins/set.def 2017-01-23 13:55:07.992877600 -0600 -@@ -56,6 +56,13 @@ extern int dont_save_function_defs; - #if defined (READLINE) - extern int no_line_editing; - #endif /* READLINE */ -+#ifdef __CYGWIN__ -+extern int igncr; -+static int set_minus_o_option_maybe (int, const char *, int); -+# define INTERACTIVE_ONLY ,1 -+#else -+# define INTERACTIVE_ONLY -+#endif - - $BUILTIN set - $FUNCTION set_builtin -@@ -92,6 +99,9 @@ Options: - #if defined (HISTORY) - history enable command history - #endif -+#ifdef __CYGWIN__ -+ igncr on Cygwin, ignore \r in line endings -+#endif - ignoreeof the shell will not exit upon reading EOF - interactive-comments - allow comments to appear in interactive commands -@@ -192,29 +202,39 @@ const struct { - int *variable; - setopt_set_func_t *set_func; - setopt_get_func_t *get_func; -+#ifdef __CYGWIN__ -+ /* Cygwin users have taken to exporting SHELLOPTS for the cygwin-specific -+ igncr. As a result, we want to ensure SHELLOPTS parsing does not turn -+ on interactive options when exported from an interactive shell, but -+ parse in a non-interactive setting, so as not to break POSIX /bin/sh */ -+ int interactive_only; -+#endif - } o_options[] = { - { "allexport", 'a', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #if defined (BRACE_EXPANSION) - { "braceexpand",'B', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #endif - #if defined (READLINE) -- { "emacs", '\0', (int *)NULL, set_edit_mode, get_edit_mode }, -+ { "emacs", '\0', (int *)NULL, set_edit_mode, get_edit_mode INTERACTIVE_ONLY }, - #endif - { "errexit", 'e', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "errtrace", 'E', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "functrace", 'T', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "hashall", 'h', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #if defined (BANG_HISTORY) -- { "histexpand", 'H', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, -+ { "histexpand", 'H', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL INTERACTIVE_ONLY }, - #endif /* BANG_HISTORY */ - #if defined (HISTORY) -- { "history", '\0', &enable_history_list, bash_set_history, (setopt_get_func_t *)NULL }, -+ { "history", '\0', &enable_history_list, bash_set_history, (setopt_get_func_t *)NULL INTERACTIVE_ONLY }, -+#endif -+#ifdef __CYGWIN__ -+ { "igncr", '\0', &igncr, NULL, (setopt_get_func_t *)NULL }, - #endif - { "ignoreeof", '\0', &ignoreeof, set_ignoreeof, (setopt_get_func_t *)NULL }, - { "interactive-comments", '\0', &interactive_comments, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "keyword", 'k', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #if defined (JOB_CONTROL) -- { "monitor", 'm', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, -+ { "monitor", 'm', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL INTERACTIVE_ONLY }, - #endif - { "noclobber", 'C', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "noexec", 'n', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, -@@ -233,7 +253,7 @@ const struct { - { "privileged", 'p', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "verbose", 'v', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #if defined (READLINE) -- { "vi", '\0', (int *)NULL, set_edit_mode, get_edit_mode }, -+ { "vi", '\0', (int *)NULL, set_edit_mode, get_edit_mode INTERACTIVE_ONLY }, - #endif - { "xtrace", 'x', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - {(char *)NULL, 0 , (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, -@@ -455,6 +475,15 @@ int - set_minus_o_option (on_or_off, option_name) - int on_or_off; - char *option_name; -+#ifdef __CYGWIN__ -+{ -+ /* See Cygwin comments above. */ -+ return set_minus_o_option_maybe (on_or_off, option_name, 0); -+} -+static int -+set_minus_o_option_maybe (int on_or_off, const char *option_name, -+ int avoid_interactive) -+#endif /* __CYGWIN__ */ - { - register int i; - -@@ -462,6 +491,10 @@ set_minus_o_option (on_or_off, option_na - { - if (STREQ (option_name, o_options[i].name)) - { -+#ifdef __CYGWIN__ -+ if (o_options[i].interactive_only && avoid_interactive) -+ return EXECUTION_SUCCESS; -+#endif - if (o_options[i].letter == 0) - { - previous_option_value = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name); -@@ -588,7 +621,11 @@ parse_shellopts (value) - vptr = 0; - while (vname = extract_colon_unit (value, &vptr)) - { -+#ifdef __CYGWIN__ -+ set_minus_o_option_maybe (FLAG_ON, vname, !interactive_shell); -+#else - set_minus_o_option (FLAG_ON, vname); -+#endif - free (vname); - } - } ---- builtins/shopt.def 2016-05-06 14:00:02.000000000 -0500 -+++ builtins/shopt.def 2017-01-23 13:55:07.992877600 -0600 -@@ -92,6 +92,10 @@ extern int glob_asciirange; - extern int lastpipe_opt; - extern int inherit_errexit; - -+#ifdef __CYGWIN__ -+extern int completion_strip_exe; -+#endif -+ - #if defined (EXTENDED_GLOB) - extern int extended_glob; - #endif -@@ -169,6 +173,9 @@ static struct { - { "compat41", &shopt_compat41, set_compatibility_level }, - { "compat42", &shopt_compat42, set_compatibility_level }, - { "compat43", &shopt_compat43, set_compatibility_level }, -+#ifdef __CYGWIN__ -+ { "completion_strip_exe", &completion_strip_exe, NULL }, -+#endif - #if defined (READLINE) - { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL}, - { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand }, ---- config-top.h 2016-05-19 13:34:02.000000000 -0500 -+++ config-top.h 2017-01-23 13:55:07.992877600 -0600 -@@ -87,10 +87,10 @@ - #define DEFAULT_BASHRC "~/.bashrc" - - /* System-wide .bashrc file for interactive shells. */ --/* #define SYS_BASHRC "/etc/bash.bashrc" */ -+#define SYS_BASHRC "/etc/bash.bashrc" - - /* System-wide .bash_logout for login shells. */ --/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */ -+#define SYS_BASH_LOGOUT "/etc/bash.bash_logout" - - /* Define this to make non-interactive shells begun with argv[0][0] == '-' - run the startup files when not in posix mode. */ -@@ -100,7 +100,7 @@ - sshd and source the .bashrc if so (like the rshd behavior). This checks - for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment, - which can be fooled under certain not-uncommon circumstances. */ --/* #define SSH_SOURCE_BASHRC */ -+#define SSH_SOURCE_BASHRC - - /* Define if you want the case-capitalizing operators (~[~]) and the - `capcase' variable attribute (declare -c). */ ---- doc/Makefile.in 2015-12-06 18:55:56.000000000 -0600 -+++ doc/Makefile.in 2017-01-23 13:55:07.992877600 -0600 -@@ -189,7 +189,7 @@ bashref.html: $(BASHREF_FILES) $(HSUSER) - $(MAKEINFO) --html --no-split -I$(TEXINPUTDIR) $(srcdir)/bashref.texi - - bash.info: bashref.info -- ${SHELL} ${INFOPOST} < $(srcdir)/bashref.info > $@ ; \ -+ ${SHELL} ${INFOPOST} < bashref.info > $@ ; \ - - bash.txt: bash.1 - bash.ps: bash.1 -@@ -252,9 +252,9 @@ install: info installdirs - -$(INSTALL_DATA) $(srcdir)/bashbug.1 $(DESTDIR)$(man1dir)/bashbug${man1ext} - -$(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir) - # uncomment the next lines to install the builtins man page --# sed 's:bash\.1:man1/&:' $(srcdir)/builtins.1 > $${TMPDIR:-/var/tmp}/builtins.1 --# -$(INSTALL_DATA) $${TMPDIR:-/var/tmp}/builtins.1 $(DESTDIR)$(man1dir)/bash_builtins${man1ext} --# -$(RM) $${TMPDIR:-/var/tmp}/builtins.1 -+ sed 's:bash\.1:man1/&:' $(srcdir)/builtins.1 > $${TMPDIR:-/var/tmp}/builtins.1 -+ -$(INSTALL_DATA) $${TMPDIR:-/var/tmp}/builtins.1 $(DESTDIR)$(man1dir)/bash_builtins${man1ext} -+ -$(RM) $${TMPDIR:-/var/tmp}/builtins.1 - -if test -f bash.info; then d=.; else d=$(srcdir); fi; \ - $(INSTALL_DATA) $$d/bash.info $(DESTDIR)$(infodir)/bash.info - # run install-info if it is present to update the info directory ---- doc/bash.1 2016-08-26 08:45:17.000000000 -0500 -+++ doc/bash.1 2017-01-23 13:55:08.008447700 -0600 -@@ -9607,6 +9607,10 @@ filenames. - This variable is set by default, which is the default bash behavior in - versions through 4.2. - .TP 8 -+.B completion_strip_exe -+If set, whenever bash sees \fIfoo.exe\fP during completion, it checks if -+\fIfoo\fP is the same file and strips the suffix. -+.TP 8 - .B direxpand - If set, - .B bash ---- doc/bashref.texi 2016-09-07 16:13:36.000000000 -0500 -+++ doc/bashref.texi 2017-01-23 13:55:08.008447700 -0600 -@@ -5123,6 +5123,10 @@ filenames. - This variable is set by default, which is the default Bash behavior in - versions through 4.2. - -+@item completion_strip_exe -+If set, whenever bash sees @file{foo.exe} during completion, it checks if -+@file{foo} is the same file and strips the suffix. -+ - @item direxpand - If set, Bash - replaces directory names with the results of word expansion when performing ---- doc/builtins.1 2012-02-21 13:32:05.000000000 -0600 -+++ doc/builtins.1 2017-01-23 13:55:08.008447700 -0600 -@@ -19,6 +19,6 @@ shift, shopt, source, suspend, test, tim - ulimit, umask, unalias, unset, wait \- bash built-in commands, see \fBbash\fR(1) - .SH BASH BUILTIN COMMANDS - .nr zZ 1 --.so bash.1 -+.so man1/bash.1 - .SH SEE ALSO - bash(1), sh(1) ---- general.c 2016-08-11 10:16:56.000000000 -0500 -+++ general.c 2017-01-23 13:55:08.008447700 -0600 -@@ -48,6 +48,10 @@ - - #include <tilde/tilde.h> - -+#ifdef __CYGWIN__ -+# include <sys/cygwin.h> -+#endif -+ - #if !defined (errno) - extern int errno; - #endif /* !errno */ -@@ -718,7 +722,8 @@ make_absolute (string, dot_path) - { - char pathbuf[PATH_MAX + 1]; - -- cygwin_conv_to_full_posix_path (string, pathbuf); -+ cygwin_conv_path (CCP_WIN_A_TO_POSIX | CCP_ABSOLUTE, string, pathbuf, -+ sizeof pathbuf); - result = savestring (pathbuf); - } - #else ---- input.c 2015-09-24 18:49:23.000000000 -0500 -+++ input.c 2017-01-23 13:55:08.008447700 -0600 -@@ -44,6 +44,10 @@ - #include "quit.h" - #include "trap.h" - -+#ifdef __CYGWIN__ -+int igncr; -+#endif -+ - #if !defined (errno) - extern int errno; - #endif /* !errno */ -@@ -561,6 +565,19 @@ buffered_getchar () - { - CHECK_TERMSIG; - -+#ifdef __CYGWIN__ -+ /* shopt igncr discards carriage returns from the input stream. -+ If cr is the only character left in the buffer, recurse to pick -+ up the next byte; otherwise flatten the buffer. */ -+ if (igncr) -+ { -+ int ch; -+ while ((ch = bufstream_getc (buffers[bash_input.location.buffered_fd])) -+ == '\r') -+ ; -+ return ch; -+ } -+#endif - #if !defined (DJGPP) - return (bufstream_getc (buffers[bash_input.location.buffered_fd])); - #else ---- lib/sh/pathphys.c 2013-05-28 14:33:58.000000000 -0500 -+++ lib/sh/pathphys.c 2017-01-23 13:55:08.008447700 -0600 -@@ -35,6 +35,7 @@ - #include <stdio.h> - #include <chartypes.h> - #include <errno.h> -+#include <stdlib.h> - - #include "shell.h" - -@@ -76,6 +77,9 @@ sh_physpath (path, flags) - char *path; - int flags; - { -+#ifdef __CYGWIN__ -+ return realpath (path, NULL); -+#endif - char tbuf[PATH_MAX+1], linkbuf[PATH_MAX+1]; - char *result, *p, *q, *qsave, *qbase, *workpath; - int double_slash_path, linklen, nlink; -@@ -214,11 +218,7 @@ error: - { - q = result; - /* Duplicating some code here... */ --#if defined (__CYGWIN__) -- qbase = (ISALPHA((unsigned char)workpath[0]) && workpath[1] == ':') ? workpath + 3 : workpath + 1; --#else - qbase = workpath + 1; --#endif - double_slash_path = DOUBLE_SLASH (workpath); - qbase += double_slash_path; - ---- lib/sh/tmpfile.c 2016-08-11 10:05:58.000000000 -0500 -+++ lib/sh/tmpfile.c 2017-01-23 13:55:08.008447700 -0600 -@@ -101,7 +101,7 @@ get_tmpdir (flags) - if (tdir && (file_iswdir (tdir) == 0 || strlen (tdir) > PATH_MAX)) - tdir = 0; - -- if (tdir == 0) -+ if (tdir == 0 || !file_iswdir (tdir)) - tdir = get_sys_tmpdir (); - - #if defined (HAVE_PATHCONF) && defined (_PC_NAME_MAX) ---- mksyntax.c 2012-07-29 18:48:38.000000000 -0500 -+++ mksyntax.c 2017-01-23 13:55:08.008447700 -0600 -@@ -29,13 +29,13 @@ - - #ifdef HAVE_UNISTD_H - # include <unistd.h> -+#else -+extern int optind; -+extern char *optarg; - #endif - - #include "syntax.h" - --extern int optind; --extern char *optarg; -- - #ifndef errno - extern int errno; - #endif ---- parse.y 2016-09-11 10:31:46.000000000 -0500 -+++ parse.y 2017-01-23 13:55:08.008447700 -0600 -@@ -1539,14 +1539,20 @@ yy_string_get () - string = bash_input.location.string; - - /* If the string doesn't exist, or is empty, EOF found. */ -- if (string && *string) -+ while (string && *string) - { - c = *string++; - bash_input.location.string = string; -+#ifdef __CYGWIN__ -+ { -+ extern int igncr; -+ if (igncr && c == '\r') -+ continue; -+ } -+#endif - return (c); - } -- else -- return (EOF); -+ return (EOF); - } - - static int ---- subst.c 2017-01-23 13:28:06.955247200 -0600 -+++ subst.c 2017-01-23 13:55:08.008447700 -0600 -@@ -43,6 +43,7 @@ - #include "posixstat.h" - #include "bashintl.h" - -+#define NEED_SH_SETLINEBUF_DECL - #include "shell.h" - #include "parser.h" - #include "flags.h" -@@ -5964,6 +5965,13 @@ read_comsub (fd, quoted, rflag) - #endif - continue; - } -+#ifdef __CYGWIN__ -+ { -+ extern int igncr; -+ if (igncr && c == '\r') -+ continue; -+ } -+#endif - - /* Add the character to ISTRING, possibly after resizing it. */ - RESIZE_MALLOCED_BUFFER (istring, istring_index, 2, istring_size, DEFAULT_ARRAY_SIZE); -@@ -6088,6 +6096,28 @@ command_substitute (string, quoted) - goto error_exit; - } - -+#ifdef __CYGWIN__ -+ /* Passing a pipe through std fds can cause hangs when talking to a -+ non-cygwin child. Move it. */ -+ if (fildes[0] < 3) -+ { -+ int fd = fcntl (fildes[0], F_DUPFD, 3); -+ close (fildes[0]); -+ fildes[0] = fd; -+ } -+ if (fildes[1] < 3) -+ { -+ int fd = fcntl (fildes[1], F_DUPFD, 3); -+ close (fildes[1]); -+ fildes[1] = fd; -+ } -+ if (fildes[0] < 0 || fildes[1] < 0) -+ { -+ sys_error (_("cannot make pipe for command substitution")); -+ goto error_exit; -+ } -+#endif /* __CYGWIN__ */ -+ - old_pid = last_made_pid; - #if defined (JOB_CONTROL) - old_pipeline_pgrp = pipeline_pgrp; ---- support/bashversion.c 2008-09-09 08:31:53.000000000 -0500 -+++ support/bashversion.c 2017-01-23 13:55:08.024037200 -0600 -@@ -26,6 +26,9 @@ - - #if defined (HAVE_UNISTD_H) - # include <unistd.h> -+#else -+extern int optind; -+extern char *optarg; - #endif - - #include "bashansi.h" -@@ -41,9 +44,6 @@ - #define LFLAG 0x0020 - #define XFLAG 0x0040 - --extern int optind; --extern char *optarg; -- - extern char *dist_version; - extern int patch_level; - ---- support/mkversion.sh 2008-08-13 07:25:57.000000000 -0500 -+++ support/mkversion.sh 2017-01-23 13:55:08.024037200 -0600 -@@ -29,7 +29,7 @@ source_dir="." - while [ $# -gt 0 ]; do - case "$1" in - -o) shift; OUTFILE=$1; shift ;; -- -b) shift; inc_build=yes ;; -+ -b) shift; ;; # inc_build=yes ;; # hacked out for cygport - -s) shift; rel_status=$1; shift ;; - -p) shift; patch_level=$1; shift ;; - -d) shift; dist_version=$1; shift ;; ---- variables.c 2016-06-15 15:05:52.000000000 -0500 -+++ variables.c 2017-01-23 13:55:08.024037200 -0600 -@@ -5239,6 +5239,7 @@ sv_winsize (name) - /* Update the value of HOME in the export environment so tilde expansion will - work on cygwin. */ - #if defined (__CYGWIN__) -+void - sv_home (name) - char *name; - { diff --git a/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix b/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix index 2034eed1f5da..2e8b49385fb4 100644 --- a/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix +++ b/nixpkgs/pkgs/shells/bash/nix-bash-completions/default.nix @@ -32,5 +32,7 @@ stdenv.mkDerivation rec { license = licenses.bsd3; platforms = platforms.all; maintainers = with maintainers; [ hedning ]; + # Set a lower priority such that the newly provided completion from Nix 2.4 are preferred. + priority = 10; }; } diff --git a/nixpkgs/pkgs/shells/bash/pgrp-pipe-4.4.patch b/nixpkgs/pkgs/shells/bash/pgrp-pipe-4.4.patch deleted file mode 100644 index 6cbdcab4b7c0..000000000000 --- a/nixpkgs/pkgs/shells/bash/pgrp-pipe-4.4.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -u ./configure ../bash-4.4-fixed/configure ---- ./configure 2016-09-07 22:57:01.000000000 +0200 -+++ ../bash-4.4-fixed/configure 2020-01-08 14:10:26.316858174 +0100 -@@ -16064,10 +16064,7 @@ - solaris2*) LOCAL_CFLAGS=-DSOLARIS ;; - lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;; - linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading -- case "`uname -r`" in -- 2.[456789]*|[34]*) $as_echo "#define PGRP_PIPE 1" >>confdefs.h -- ;; -- esac ;; -+ $as_echo "#define PGRP_PIPE 1" >>confdefs.h ;; - *qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;; - *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;; - powerux*) LOCAL_LIBS="-lgen" ;; diff --git a/nixpkgs/pkgs/shells/bash/update-patch-set.sh b/nixpkgs/pkgs/shells/bash/update-patch-set.sh index 03b00228822d..ee785cc83123 100755 --- a/nixpkgs/pkgs/shells/bash/update-patch-set.sh +++ b/nixpkgs/pkgs/shells/bash/update-patch-set.sh @@ -28,7 +28,7 @@ md5sum -c gpgkey.asc.md5 gpg --import ./gpgkey.asc rm gpgkey.asc{,.md5} -( echo "# Automatically generated by \`$(basename $0)'; do not edit." ; \ +( echo "# Automatically generated by \`$(basename "$0")'; do not edit." ; \ echo "" ; \ echo "patch: [" ) \ >> "$PATCH_LIST" diff --git a/nixpkgs/pkgs/shells/elvish/default.nix b/nixpkgs/pkgs/shells/elvish/default.nix index 961f765dd872..e94354d68045 100644 --- a/nixpkgs/pkgs/shells/elvish/default.nix +++ b/nixpkgs/pkgs/shells/elvish/default.nix @@ -2,9 +2,9 @@ buildGoModule rec { pname = "elvish"; - version = "0.16.3"; + version = "0.17.0"; - excludedPackages = [ "website" ]; + subPackages = [ "cmd/elvish" ]; ldflags = [ "-s" "-w" "-X github.com/elves/elvish/pkg/buildinfo.Version==${version}" "-X github.com/elves/elvish/pkg/buildinfo.Reproducible=true" ]; @@ -12,10 +12,10 @@ buildGoModule rec { owner = "elves"; repo = pname; rev = "v${version}"; - sha256 = "1na2fswqp4rbgvlagz9nj3cmlxavlhi2gj6k6jpjq05mcbkxr3bd"; + sha256 = "sha256-F6yjfsEEBrD6kXUgbMrz+1mxrz0z+sdfeoyztpy7rEk="; }; - vendorSha256 = "06rx09vs08d9arim53al73z22hb40xj2101kbvafz6wbyp6pqws1"; + vendorSha256 = "sha256-810YVxO1rjeDV1XWvE4RmJjGOMdTlicnv7YbvKtoDbM="; doCheck = false; diff --git a/nixpkgs/pkgs/shells/fish/default.nix b/nixpkgs/pkgs/shells/fish/default.nix index c53a9ed0fe2d..cf264f11de8c 100644 --- a/nixpkgs/pkgs/shells/fish/default.nix +++ b/nixpkgs/pkgs/shells/fish/default.nix @@ -2,7 +2,6 @@ , lib , fetchurl , coreutils -, util-linux , which , gnused , gnugrep @@ -253,8 +252,6 @@ let EOF '' + optionalString stdenv.isLinux '' - sed -e "s| ul| ${util-linux}/bin/ul|" \ - -i "$out/share/fish/functions/__fish_print_help.fish" for cur in $out/share/fish/functions/*.fish; do sed -e "s|/usr/bin/getent|${getent}/bin/getent|" \ -i "$cur" @@ -273,7 +270,7 @@ let meta = with lib; { description = "Smart and user-friendly command line shell"; - homepage = "http://fishshell.com/"; + homepage = "https://fishshell.com/"; license = licenses.gpl2; platforms = platforms.unix; maintainers = with maintainers; [ cole-h ]; diff --git a/nixpkgs/pkgs/shells/fish/plugins/foreign-env/default.nix b/nixpkgs/pkgs/shells/fish/plugins/foreign-env/default.nix index 03435340d179..d0b5b77a03b1 100644 --- a/nixpkgs/pkgs/shells/fish/plugins/foreign-env/default.nix +++ b/nixpkgs/pkgs/shells/fish/plugins/foreign-env/default.nix @@ -2,7 +2,7 @@ buildFishPlugin { pname = "foreign-env"; - version = "git-20200209"; + version = "unstable-2020-02-09"; src = fetchFromGitHub { owner = "oh-my-fish"; diff --git a/nixpkgs/pkgs/shells/fish/plugins/fzf-fish.nix b/nixpkgs/pkgs/shells/fish/plugins/fzf-fish.nix index 3547af490e6a..9fbc09a831db 100644 --- a/nixpkgs/pkgs/shells/fish/plugins/fzf-fish.nix +++ b/nixpkgs/pkgs/shells/fish/plugins/fzf-fish.nix @@ -2,13 +2,13 @@ buildFishPlugin rec { pname = "fzf.fish"; - version = "7.3"; + version = "7.4"; src = fetchFromGitHub { owner = "PatrickF1"; repo = "fzf.fish"; rev = "v${version}"; - sha256 = "16mdfyznxjhv7x561srl559misn37a35d2q9fspxa7qg1d0sc3x9"; + sha256 = "sha256-dngAKzyD+lmqmxsCSOMViyCgA/+Ve35gLtPS+Lgs8Pc="; }; checkInputs = [ fzf fd util-linux ]; diff --git a/nixpkgs/pkgs/shells/fish/wrapper.nix b/nixpkgs/pkgs/shells/fish/wrapper.nix index 6713a69d560e..f978f2bdfa4d 100644 --- a/nixpkgs/pkgs/shells/fish/wrapper.nix +++ b/nixpkgs/pkgs/shells/fish/wrapper.nix @@ -20,6 +20,6 @@ in writeShellScriptBin "fish" '' set --prepend fish_complete_path ${escapeShellArgs complPath} set --prepend fish_function_path ${escapeShellArgs funcPath} set --local fish_conf_source_path ${escapeShellArgs confPath} - for c in $fish_conf_source_path/*; source $c; end + for c in \$fish_conf_source_path/*; source \$c; end " "$@" '') diff --git a/nixpkgs/pkgs/shells/hilbish/default.nix b/nixpkgs/pkgs/shells/hilbish/default.nix index a4a54e45c636..55a28ceb8892 100644 --- a/nixpkgs/pkgs/shells/hilbish/default.nix +++ b/nixpkgs/pkgs/shells/hilbish/default.nix @@ -2,26 +2,25 @@ buildGoModule rec { pname = "hilbish"; - version = "0.6.0"; + version = "0.7.1"; src = fetchFromGitHub { owner = "Rosettea"; repo = "Hilbish"; rev = "v${version}"; - sha256 = "sha256-ACHHHGT3VGnvZVi1UZb57+g/slcld5e3bh+DDhUVVpQ="; + sha256 = "sha256-YQNLv6/4I5WM/xhlWIjThgO23tN+ZCyJVZVatnIUllc="; fetchSubmodules = true; }; - vendorSha256 = "sha256-SVGPMFpQjVOWCfiPpEmqhp6MEO0wqeyAZVyeNmTuXl0="; + vendorSha256 = "sha256-xzB6sqBnDuvqTFMmLcXdSj6UFWYzA54PxUBKrFKhyQk="; buildInputs = [ readline ]; - ldflags = [ "-s" "-w" ]; - - postPatch = '' - substituteInPlace vars_linux.go \ - --replace "/usr/share" "${placeholder "out"}/share/" - ''; + ldflags = [ + "-s" + "-w" + "-X main.dataDir=${placeholder "out"}/share/hilbish" + ]; postInstall = '' mkdir -p "$out/share/hilbish" diff --git a/nixpkgs/pkgs/shells/loksh/default.nix b/nixpkgs/pkgs/shells/loksh/default.nix index d8463d1773c4..b9f7d5ef7e7f 100644 --- a/nixpkgs/pkgs/shells/loksh/default.nix +++ b/nixpkgs/pkgs/shells/loksh/default.nix @@ -9,14 +9,14 @@ stdenv.mkDerivation rec { pname = "loksh"; - version = "6.9"; + version = "7.0"; src = fetchFromGitHub { owner = "dimkr"; repo = pname; rev = version; fetchSubmodules = true; - sha256 = "0x33plxqhh5202hgqidgccz5hpg8d2q71ylgnm437g60mfi9z0px"; + sha256 = "sha256-q5RiY9/xEFCk+oHlxgNwDOB+TNjRWHKzU2kQH2LjCWY="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/shells/nsh/default.nix b/nixpkgs/pkgs/shells/nsh/default.nix new file mode 100644 index 000000000000..881d14002ebd --- /dev/null +++ b/nixpkgs/pkgs/shells/nsh/default.nix @@ -0,0 +1,29 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "nsh"; + version = "0.4.2"; + + src = fetchFromGitHub { + owner = "nuta"; + repo = pname; + rev = "v${version}"; + sha256 = "1479wv8h5l2b0cwp27vpybq50nyvszhjxmn76n2bz3fchr0lrcbp"; + }; + + cargoSha256 = "1kxjr4ymns95g6jz94107nqmd71m2xh8k19gcsy08650gjrn5cz3"; + + doCheck = false; + + meta = with lib; { + description = "A command-line shell like fish, but POSIX compatible"; + homepage = "https://github.com/nuta/nsh"; + changelog = "https://github.com/nuta/nsh/raw/v${version}/docs/changelog.md"; + license = [ licenses.cc0 /* or */ licenses.mit ]; + maintainers = [ maintainers.marsam ]; + }; + + passthru = { + shellPath = "/bin/nsh"; + }; +} diff --git a/nixpkgs/pkgs/shells/nushell/default.nix b/nixpkgs/pkgs/shells/nushell/default.nix index 14137fa0e607..a6ca5242e498 100644 --- a/nixpkgs/pkgs/shells/nushell/default.nix +++ b/nixpkgs/pkgs/shells/nushell/default.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage rec { pname = "nushell"; - version = "0.38.0"; + version = "0.42.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "155rn0balgikkhy77gbva6a88pgwm27flzgjyphiwzwnah1mmhca"; + sha256 = "sha256-2EBy61K/HCdCFZkVT5XrflQGuQrRWfdrevV3OPjpUcQ="; }; - cargoSha256 = "1pk56s47mk0f8cww6h1y43jdnf311g35xynz1jvhrk31yyjhb0jl"; + cargoSha256 = "sha256-iU19rHb1td4NIF+P3wctIcZKL09H+51XwD3NaSBKK18="; nativeBuildInputs = [ pkg-config ] ++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ python3 ]; @@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec { ++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ xorg.libX11 ] ++ lib.optionals (withExtraFeatures && stdenv.isDarwin) [ AppKit nghttp2 libgit2 ]; - cargoBuildFlags = lib.optional withExtraFeatures "--features=extra"; + buildFeatures = lib.optional withExtraFeatures "extra"; # Since 0.34, nu has an indirect dependency on `zstd-sys` (via `polars` and # `parquet`, for dataframe support), which by default has an impure build diff --git a/nixpkgs/pkgs/shells/oil/default.nix b/nixpkgs/pkgs/shells/oil/default.nix index 3d9a2ec24e68..2a019d75e728 100644 --- a/nixpkgs/pkgs/shells/oil/default.nix +++ b/nixpkgs/pkgs/shells/oil/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "oil"; - version = "0.9.3"; + version = "0.9.6"; src = fetchurl { url = "https://www.oilshell.org/download/oil-${version}.tar.xz"; - sha256 = "sha256-YvNgcvafM3jgO3nY1SVcHRNglOwRQQ208W7oLxZg79o="; + sha256 = "sha256-4cfRysJ202y1996TB/7jvlWO5K2vNJ70IjIkANXIpcQ="; }; postPatch = '' @@ -32,6 +32,7 @@ stdenv.mkDerivation rec { asl20 # Licence for Oil itself ]; + platforms = lib.platforms.all; maintainers = with lib.maintainers; [ lheckemann alva ]; changelog = "https://www.oilshell.org/release/${version}/changelog.html"; }; diff --git a/nixpkgs/pkgs/shells/oksh/default.nix b/nixpkgs/pkgs/shells/oksh/default.nix index 35bd3a62b62f..9ea851adbbf6 100644 --- a/nixpkgs/pkgs/shells/oksh/default.nix +++ b/nixpkgs/pkgs/shells/oksh/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "oksh"; - version = "6.9"; + version = "7.0"; src = fetchFromGitHub { owner = "ibara"; repo = pname; rev = "${pname}-${version}"; - sha256 = "sha256-b5b6xYqlmjWAT8kTq6YraVLawV/k3ugHZUjXD1LJyhs="; + sha256 = "sha256-076nD0aPps6n5qkR3LQJ6Kn2g3mkov+/M0qSvxNLZ6o="; }; meta = with lib; { diff --git a/nixpkgs/pkgs/shells/pash/default.nix b/nixpkgs/pkgs/shells/pash/default.nix index c7c6e4e5a7d4..431091bf8d1c 100644 --- a/nixpkgs/pkgs/shells/pash/default.nix +++ b/nixpkgs/pkgs/shells/pash/default.nix @@ -1,7 +1,7 @@ { lib, fetchFromGitHub, buildDotnetPackage }: buildDotnetPackage { - baseName = "pash"; + pname = "pash"; version = "git-2016-07-06"; src = fetchFromGitHub { diff --git a/nixpkgs/pkgs/shells/powershell/default.nix b/nixpkgs/pkgs/shells/powershell/default.nix index 4d3038079a80..4efa2cd88a72 100644 --- a/nixpkgs/pkgs/shells/powershell/default.nix +++ b/nixpkgs/pkgs/shells/powershell/default.nix @@ -7,9 +7,10 @@ let archString = if stdenv.isAarch64 then "arm64" platformString = if stdenv.isDarwin then "osx" else if stdenv.isLinux then "linux" else throw "unsupported platform"; - platformSha = if stdenv.isDarwin then "0w44ws8b6zfixf7xz93hmplqsx18279n9x8j77y4rbzs13fldvsn" - else if (stdenv.isLinux && stdenv.isx86_64) then "sha256-SOZn7CGLu9x+xhQwjgm0SL7sKDODLwHRpzi7tMdRBAM=" - else if (stdenv.isLinux && stdenv.isAarch64) then "1axbi4kmb1ydys7c45jhp729w1srid3c8jgivb4bdmdp56rf6h32" + platformSha = if (stdenv.isDarwin && stdenv.isx86_64) then "sha256-h5zjn8wtgHmsJFiGq1rja6kZTZj3Q72W2kH3AexRDQs=" + else if (stdenv.isDarwin && stdenv.isAarch64) then "sha256-NHM9ZUpBJb59Oq0Ke7DcvaN+bZ9MjSpXBRu5Ng9OVZ0=" + else if (stdenv.isLinux && stdenv.isx86_64) then "sha256-kidPtDMkEZ/1r4WIApPZ/BsdJkolpSZ3f72JyDv3798=" + else if (stdenv.isLinux && stdenv.isAarch64) then "sha256-bUacA4DwjDNlIG7yooXxUGL9AysAogNWuQDvcTqo1sE=" else throw "unsupported platform"; platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else if stdenv.isLinux then "LD_LIBRARY_PATH" @@ -19,7 +20,7 @@ let archString = if stdenv.isAarch64 then "arm64" in stdenv.mkDerivation rec { pname = "powershell"; - version = "7.1.4"; + version = "7.2.1"; src = fetchzip { url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-${archString}.tar.gz"; @@ -50,8 +51,6 @@ stdenv.mkDerivation rec { 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 '' + lib.optionalString (!stdenv.isDarwin) '' - # Remove liblttng-ust from dependencies once - # https://github.com/PowerShell/PowerShell/pull/14688 is in a release patchelf --replace-needed liblttng-ust${ext}.0 liblttng-ust${ext}.1 $pslibs/libcoreclrtraceptprovider.so '' + '' @@ -74,7 +73,7 @@ stdenv.mkDerivation rec { description = "Powerful cross-platform (Windows, Linux, and macOS) shell and scripting language based on .NET"; homepage = "https://github.com/PowerShell/PowerShell"; maintainers = with maintainers; [ yrashk srgom p3psi ]; - platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux"]; + platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; license = with licenses; [ mit ]; }; diff --git a/nixpkgs/pkgs/shells/tcsh/default.nix b/nixpkgs/pkgs/shells/tcsh/default.nix index 4fd4e5730a4e..9a5bf59f18ea 100644 --- a/nixpkgs/pkgs/shells/tcsh/default.nix +++ b/nixpkgs/pkgs/shells/tcsh/default.nix @@ -1,24 +1,31 @@ -{ lib, stdenv, fetchurl, fetchpatch +{ lib +, stdenv +, fetchurl +, fetchpatch , ncurses }: stdenv.mkDerivation rec { pname = "tcsh"; - version = "6.22.04"; + version = "6.23.00"; src = fetchurl { urls = [ - "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" + "https://astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" + "https://astron.com/pub/tcsh/${pname}-${version}.tar.gz" "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" - "ftp://ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" - "ftp://ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" - "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${pname}-${version}.tar.gz" + "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" "ftp://ftp.funet.fi/pub/unix/shells/tcsh/old/${pname}-${version}.tar.gz" + "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${pname}-${version}.tar.gz" + "ftp://ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" + "ftp://ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" ]; - hash = "sha256-6xY1YkMhjDLzngcljXK/iyHmLOlLsOipXjGLFROX4jE="; + hash = "sha256-Tr6y8zYz0RXZU19VTGUahSMEDY2R5d4zP7LuBFuOAB4="; }; - buildInputs = [ ncurses ]; + buildInputs = [ + ncurses + ]; patches = lib.optional stdenv.hostPlatform.isMusl (fetchpatch { @@ -47,7 +54,5 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; - passthru = { - shellPath = "/bin/tcsh"; - }; + passthru.shellPath = "/bin/tcsh"; } diff --git a/nixpkgs/pkgs/shells/xonsh/default.nix b/nixpkgs/pkgs/shells/xonsh/default.nix index 28f87685166d..4fa5d9b087be 100644 --- a/nixpkgs/pkgs/shells/xonsh/default.nix +++ b/nixpkgs/pkgs/shells/xonsh/default.nix @@ -8,14 +8,14 @@ python3Packages.buildPythonApplication rec { pname = "xonsh"; - version = "0.10.1"; + version = "0.11.0"; # fetch from github because the pypi package ships incomplete tests src = fetchFromGitHub { owner = "xonsh"; repo = "xonsh"; rev = version; - sha256 = "03ahay2rl98a9k4pqkxksmj6mcg554jnbhw9jh8cyvjrygrpcpch"; + sha256 = "sha256-jfxQMEVABTOhx679V0iGVX9RisuY42lSdztYXMLwdcw="; }; LC_ALL = "en_US.UTF-8"; @@ -68,7 +68,8 @@ python3Packages.buildPythonApplication rec { HOME=$TMPDIR ''; - checkInputs = [ glibcLocales git ] ++ (with python3Packages; [ pytestCheckHook pytest-subprocess ]); + checkInputs = [ glibcLocales git ] ++ + (with python3Packages; [ pyte pytestCheckHook pytest-mock pytest-subprocess ]); propagatedBuildInputs = with python3Packages; [ ply prompt-toolkit pygments ]; diff --git a/nixpkgs/pkgs/shells/zsh/antigen/default.nix b/nixpkgs/pkgs/shells/zsh/antigen/default.nix index 935939f90e60..9a69f90dca34 100644 --- a/nixpkgs/pkgs/shells/zsh/antigen/default.nix +++ b/nixpkgs/pkgs/shells/zsh/antigen/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { meta = { description = "The plugin manager for zsh"; - homepage = "http://antigen.sharats.me"; + homepage = "https://antigen.sharats.me/"; license = lib.licenses.mit; }; } diff --git a/nixpkgs/pkgs/shells/zsh/default.nix b/nixpkgs/pkgs/shells/zsh/default.nix index 92eebfd95442..e0fd68f13b60 100644 --- a/nixpkgs/pkgs/shells/zsh/default.nix +++ b/nixpkgs/pkgs/shells/zsh/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, ncurses, pcre, buildPackages }: +{ lib, stdenv, fetchurl, fetchpatch, ncurses, pcre, buildPackages }: let version = "5.8"; @@ -21,6 +21,13 @@ stdenv.mkDerivation { patches = [ # fix location of timezone data for TZ= completion ./tz_completion.patch + # This commit will be released with the next version of zsh + (fetchpatch { + name = "fix-git-stash-drop-completions.patch"; + url = "https://github.com/zsh-users/zsh/commit/754658aff38e1bdf487c58bec6174cbecd019d11.patch"; + sha256 = "sha256-ud/rLD+SqvyTzT6vwOr+MWH+LY5o5KACrU1TpmL15Lo="; + excludes = [ "ChangeLog" ]; + }) ]; buildInputs = [ ncurses pcre ]; diff --git a/nixpkgs/pkgs/shells/zsh/nix-zsh-completions/default.nix b/nixpkgs/pkgs/shells/zsh/nix-zsh-completions/default.nix index f60bb966003f..472cc47459cf 100644 --- a/nixpkgs/pkgs/shells/zsh/nix-zsh-completions/default.nix +++ b/nixpkgs/pkgs/shells/zsh/nix-zsh-completions/default.nix @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/spwhitt/nix-zsh-completions"; description = "ZSH completions for Nix, NixOS, and NixOps"; + priority = 6; # prevent collisions with nix 2.4's built-in completions license = licenses.bsd3; platforms = platforms.all; maintainers = with maintainers; [ spwhitt olejorgenb hedning ma27 ]; diff --git a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix index c284c83b4168..d15bd0245731 100644 --- a/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -5,15 +5,15 @@ , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }: stdenv.mkDerivation rec { - version = "2021-10-13"; + version = "2021-12-18"; pname = "oh-my-zsh"; - rev = "19f9b6f1ade7788b07480be685cf3fcb117cad84"; + rev = "904f8685f75ff5dd3f544f8c6f2cabb8e5952e9a"; src = fetchFromGitHub { inherit rev; owner = "ohmyzsh"; repo = "ohmyzsh"; - sha256 = "aC7tn5nNbkmyZ6oGKIQnWE+1LNcZH5P2pPgtnUhru/Y="; + sha256 = "Pos7LaNQllZrzBUx8a7QXi1sAVcIABQJOLUjIwGIP/U="; }; installPhase = '' diff --git a/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix b/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix index 0e176d0505f5..d95ef343c17e 100644 --- a/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix +++ b/nixpkgs/pkgs/shells/zsh/pure-prompt/default.nix @@ -4,13 +4,13 @@ with lib; stdenv.mkDerivation rec { pname = "pure-prompt"; - version = "1.17.3"; + version = "1.18.0"; src = fetchFromGitHub { owner = "sindresorhus"; repo = "pure"; rev = "v${version}"; - sha256 = "sha256-WNixw2vVn1mBEDSeIFrWZHHUcX4TNgr+motBemBQfr0="; + sha256 = "1aa8aczfvclrnd0igiq48jyq4b8fdwvaaj84nzb6w6sjahzs5jcy"; }; installPhase = '' diff --git a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix index f1dcb9ead9c9..4df472e4afd2 100644 --- a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix +++ b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix @@ -2,13 +2,13 @@ stdenvNoCC.mkDerivation rec { pname = "spaceship-prompt"; - version = "3.14.1"; + version = "3.15.0"; src = fetchFromGitHub { owner = "denysdovhan"; repo = pname; rev = "v${version}"; - sha256 = "sha256-/Q2vsCIDsHUSBavJoHX3L0NQ7REoQmaiRgHVGiLtNPE="; + sha256 = "sha256-/9c4o9tdXtDefZ1fA62Y9Sg2cv54YVZGlZ1n6EfQWC4="; }; dontBuild = true; diff --git a/nixpkgs/pkgs/shells/zsh/zinit/default.nix b/nixpkgs/pkgs/shells/zsh/zinit/default.nix index d59f50ce3b9c..9946d7d0c3a5 100644 --- a/nixpkgs/pkgs/shells/zsh/zinit/default.nix +++ b/nixpkgs/pkgs/shells/zsh/zinit/default.nix @@ -4,7 +4,7 @@ stdenvNoCC.mkDerivation rec { pname = "zinit"; version = "3.7"; src = fetchFromGitHub { - owner = "zdharma"; + owner = "zdharma-continuum"; repo = pname; rev = "v${version}"; hash = "sha256-B+cTGz+U8MR22l6xXdRAAjDr+ulCk+CJ9GllFMK0axE="; @@ -34,9 +34,9 @@ stdenvNoCC.mkDerivation rec { #TODO:doc output meta = with lib; { - homepage = "https://github.com/zdharma/zinit"; + homepage = "https://github.com/zdharma-continuum/zinit"; description = "Flexible zsh plugin manager"; license = licenses.mit; - maintainers = with maintainers; [ pasqui23 ]; + maintainers = with maintainers; [ pasqui23 sei40kr ]; }; } diff --git a/nixpkgs/pkgs/shells/zsh/zsh-autocomplete/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-autocomplete/default.nix new file mode 100644 index 000000000000..a58a941189c9 --- /dev/null +++ b/nixpkgs/pkgs/shells/zsh/zsh-autocomplete/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenvNoCC, fetchFromGitHub }: + +stdenvNoCC.mkDerivation rec { + pname = "zsh-autocomplete"; + version = "21.09.22"; + + src = fetchFromGitHub { + owner = "marlonrichert"; + repo = "zsh-autocomplete"; + rev = version; + sha256 = "sha256-c4+5ta0ATuy9hIygSnqaquHf+YIStvHMaABwq3qyru8="; + }; + + installPhase = '' + install -D zsh-autocomplete.plugin.zsh $out/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh + cp -R scripts $out/share/zsh-autocomplete/scripts + cp -R functions $out/share/zsh-autocomplete/functions + ''; + + meta = with lib; { + description = "Real-time type-ahead completion for Zsh. Asynchronous find-as-you-type autocompletion"; + homepage = "https://github.com/marlonrichert/zsh-autocomplete/"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = [ maintainers.em0lar ]; + }; +} diff --git a/nixpkgs/pkgs/shells/zsh/zsh-better-npm-completion/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-better-npm-completion/default.nix new file mode 100644 index 000000000000..372d49eaeb7e --- /dev/null +++ b/nixpkgs/pkgs/shells/zsh/zsh-better-npm-completion/default.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "zsh-better-npm-completion"; + version = "unstable-2019-11-19"; + + src = fetchFromGitHub { + owner = "lukechilds"; + repo = "zsh-better-npm-completion"; + rev = "0a7cf042415324ec38a186fdcbc9af163f0d7e69"; + sha256 = "16z7k5n1rcl9i61lrm7i5dsqsmhvdp1y4y5ii6hv2xpp470addgy"; + }; + + installPhase = '' + install -Dm 0644 zsh-better-npm-completion.plugin.zsh $out/share/zsh-better-npm-completion + ''; + + meta = with lib; { + description = "Better completion for npm"; + homepage = "https://github.com/lukechilds/zsh-better-npm-completion"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = [ maintainers.gerschtli ]; + }; +} diff --git a/nixpkgs/pkgs/shells/zsh/zsh-deer/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-deer/default.nix index 895ca621cfed..ab544d7c3147 100644 --- a/nixpkgs/pkgs/shells/zsh/zsh-deer/default.nix +++ b/nixpkgs/pkgs/shells/zsh/zsh-deer/default.nix @@ -1,10 +1,8 @@ { lib, stdenv, fetchFromGitHub, perl }: -let +stdenv.mkDerivation rec { + pname = "deer"; version = "1.4"; - name = "deer-${version}"; -in stdenv.mkDerivation { - inherit name; src = fetchFromGitHub { owner = "Vifon"; diff --git a/nixpkgs/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix index d1791e4962f4..5b77978c0221 100644 --- a/nixpkgs/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix +++ b/nixpkgs/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix @@ -5,7 +5,7 @@ stdenvNoCC.mkDerivation rec { version = "1.55"; src = fetchFromGitHub { - owner = "zdharma"; + owner = "zdharma-continuum"; repo = "fast-syntax-highlighting"; rev = "v${version}"; sha256 = "0h7f27gz586xxw7cc0wyiv3bx0x3qih2wwh05ad85bh2h834ar8d"; @@ -23,7 +23,7 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Syntax-highlighting for Zshell"; - homepage = "https://github.com/zdharma/fast-syntax-highlighting"; + homepage = "https://github.com/zdharma-continuum/fast-syntax-highlighting"; license = licenses.bsd3; platforms = platforms.unix; }; diff --git a/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix index ad1b7d3d740c..4fc092330e37 100644 --- a/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix +++ b/nixpkgs/pkgs/shells/zsh/zsh-fzf-tab/default.nix @@ -4,13 +4,13 @@ let INSTALL_PATH="${placeholder "out"}/share/fzf-tab"; in stdenv.mkDerivation rec { pname = "zsh-fzf-tab"; - version = "unstable-2021-08-05"; + version = "unstable-2021-11-12"; src = fetchFromGitHub { owner = "Aloxaf"; repo = "fzf-tab"; - rev = "89a33154707c09789177a893e5a8ebbb131d5d3d"; - sha256 = "1g8011ldrghbw5ibchsp0p93r31cwyx2r1z5xplksd779jw79wdx"; + rev = "190500bf1de6a89416e2a74470d3b5cceab102ba"; + sha256 = "1dipsy0s67fr47ig5559bcp1h5yn8rdjshhs8zsq7j8plvvh99qb"; }; buildInputs = [ ncurses ]; diff --git a/nixpkgs/pkgs/shells/zsh/zsh-vi-mode/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-vi-mode/default.nix new file mode 100644 index 000000000000..32f1e9c024ac --- /dev/null +++ b/nixpkgs/pkgs/shells/zsh/zsh-vi-mode/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "zsh-vi-mode"; + version = "0.8.5"; + + src = fetchFromGitHub { + owner = "jeffreytse"; + repo = pname; + rev = "v${version}"; + sha256 = "EOYqHh0rcgoi26eopm6FTl81ehak5kXMmzNcnJDH8/E="; + }; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share/${pname} + cp *.zsh $out/share/${pname}/ + ''; + + meta = with lib; { + homepage = "https://github.com/jeffreytse/zsh-vi-mode"; + license = licenses.mit; + description = "A better and friendly vi(vim) mode plugin for ZSH."; + maintainers = with maintainers; [ kyleondy ]; + }; +} |