From ddaea6ac77177c91576568af4b6f6d85195559af Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 17 Apr 2018 14:03:07 -0500 Subject: pkgs/shells: move extensions to subdirs These are not reaal shells and should go into their parent shell directory. --- pkgs/shells/fish/fish-foreign-env/default.nix | 31 ++++++++++++++++++++++ .../suppress-harmless-warnings.patch | 23 ++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 pkgs/shells/fish/fish-foreign-env/default.nix create mode 100644 pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch (limited to 'pkgs/shells/fish') diff --git a/pkgs/shells/fish/fish-foreign-env/default.nix b/pkgs/shells/fish/fish-foreign-env/default.nix new file mode 100644 index 00000000000..445e961c649 --- /dev/null +++ b/pkgs/shells/fish/fish-foreign-env/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, gnused, bash, coreutils }: + +stdenv.mkDerivation rec { + name = "fish-foreign-env-${version}"; + version = "git-20170324"; + + src = fetchFromGitHub { + owner = "oh-my-fish"; + repo = "plugin-foreign-env"; + rev = "baefbd690f0b52cb8746f3e64b326d82834d07c5"; + sha256 = "0lwp6hy3kfk7xfx4xvbk1ir8zkzm7gfjbm4bf6xg1y6iw9jq9dnl"; + }; + + installPhase = '' + mkdir -p $out/share/fish-foreign-env/functions/ + cp functions/* $out/share/fish-foreign-env/functions/ + sed -e "s|sed|${gnused}/bin/sed|" \ + -e "s|bash|${bash}/bin/bash|" \ + -e "s|\| tr|\| ${coreutils}/bin/tr|" \ + -i $out/share/fish-foreign-env/functions/* + ''; + + patches = [ ./suppress-harmless-warnings.patch ]; + + meta = with stdenv.lib; { + description = "A foreign environment interface for Fish shell"; + license = licenses.mit; + maintainers = with maintainers; [ jgillich ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch b/pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch new file mode 100644 index 00000000000..5e4569f0a15 --- /dev/null +++ b/pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch @@ -0,0 +1,23 @@ +diff --git a/functions/fenv.apply.fish b/functions/fenv.apply.fish +index 34a25e3..3d94135 100644 +--- a/functions/fenv.apply.fish ++++ b/functions/fenv.apply.fish +@@ -27,11 +27,17 @@ function fenv.apply + for variable in $variables + set key (echo $variable | sed 's/=.*//') + set value (echo $variable | sed 's/[^=]*=//') ++ set ignore PATH _ + + if test "$key" = 'PATH' + set value (echo $value | tr ':' '\n') + end + +- set -g -x $key $value ++ if contains $key $ignore ++ set -g -x $key $value ^/dev/null ++ else ++ set -g -x $key $value ++ end ++ + end + end -- cgit 1.4.1