From d94921db12d9c9e2d3e9c2e6e25e50f03f789ecb Mon Sep 17 00:00:00 2001 From: pacien Date: Tue, 29 Dec 2020 09:44:18 +0100 Subject: fish-foreign-env: move to fishPlugins.foreign-env And relocate the installed fish functions to the `vendor_functions.d` so that they're automatically loaded. --- pkgs/shells/fish/fish-foreign-env/default.nix | 31 ---------------------- .../suppress-harmless-warnings.patch | 23 ---------------- pkgs/shells/fish/plugins/default.nix | 2 ++ pkgs/shells/fish/plugins/foreign-env/default.nix | 29 ++++++++++++++++++++ .../foreign-env/suppress-harmless-warnings.patch | 23 ++++++++++++++++ 5 files changed, 54 insertions(+), 54 deletions(-) delete mode 100644 pkgs/shells/fish/fish-foreign-env/default.nix delete mode 100644 pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch create mode 100644 pkgs/shells/fish/plugins/foreign-env/default.nix create mode 100644 pkgs/shells/fish/plugins/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 deleted file mode 100644 index ef157f323923..000000000000 --- a/pkgs/shells/fish/fish-foreign-env/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv, fetchFromGitHub, gnused, bash, coreutils }: - -stdenv.mkDerivation { - pname = "fish-foreign-env"; - version = "git-20200209"; - - src = fetchFromGitHub { - owner = "oh-my-fish"; - repo = "plugin-foreign-env"; - rev = "dddd9213272a0ab848d474d0cbde12ad034e65bc"; - sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"; - }; - - 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 deleted file mode 100644 index 6eed35152120..000000000000 --- a/pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch +++ /dev/null @@ -1,23 +0,0 @@ -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 2>/dev/null -+ else -+ set -g -x $key $value -+ end -+ - end - end diff --git a/pkgs/shells/fish/plugins/default.nix b/pkgs/shells/fish/plugins/default.nix index 42ba860e8c55..e543d49516a8 100644 --- a/pkgs/shells/fish/plugins/default.nix +++ b/pkgs/shells/fish/plugins/default.nix @@ -6,6 +6,8 @@ lib.makeScope newScope (self: with self; { fishtape = callPackage ./fishtape.nix { }; + foreign-env = callPackage ./foreign-env { }; + pure = callPackage ./pure.nix { }; }) diff --git a/pkgs/shells/fish/plugins/foreign-env/default.nix b/pkgs/shells/fish/plugins/foreign-env/default.nix new file mode 100644 index 000000000000..03435340d179 --- /dev/null +++ b/pkgs/shells/fish/plugins/foreign-env/default.nix @@ -0,0 +1,29 @@ +{ lib, buildFishPlugin, fetchFromGitHub, gnused, bash, coreutils }: + +buildFishPlugin { + pname = "foreign-env"; + version = "git-20200209"; + + src = fetchFromGitHub { + owner = "oh-my-fish"; + repo = "plugin-foreign-env"; + rev = "dddd9213272a0ab848d474d0cbde12ad034e65bc"; + sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"; + }; + + patches = [ ./suppress-harmless-warnings.patch ]; + + preInstall = '' + sed -e "s|sed|${gnused}/bin/sed|" \ + -e "s|bash|${bash}/bin/bash|" \ + -e "s|\| tr|\| ${coreutils}/bin/tr|" \ + -i functions/* + ''; + + meta = with 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/plugins/foreign-env/suppress-harmless-warnings.patch b/pkgs/shells/fish/plugins/foreign-env/suppress-harmless-warnings.patch new file mode 100644 index 000000000000..6eed35152120 --- /dev/null +++ b/pkgs/shells/fish/plugins/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 2>/dev/null ++ else ++ set -g -x $key $value ++ end ++ + end + end -- cgit 1.4.1