Signed-off-by: Curtis Jiang <jqqqqqqqqqq@qq.com>lilik-openwrt-22.03
@ -0,0 +1,67 @@ | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=fish | |||||
PKG_VERSION:=2.7.1 | |||||
PKG_RELEASE:=1 | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||||
PKG_SOURCE_URL:=https://codeload.github.com/fish-shell/fish-shell/tar.gz/$(PKG_VERSION)? | |||||
PKG_HASH:=eb43ea2eb9accf76661c487dd530a5fd345fa40a3201bd22cef2c52be39fb474 | |||||
PKG_MAINTAINER:=Curtis Jiang <jqqqqqqqqqq@gmail.com> | |||||
PKG_LICENSE:=GPL-2.0 | |||||
PKG_FIXUP:=autoreconf | |||||
PKG_INSTALL:=1 | |||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fish-shell-$(PKG_VERSION) | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/fish | |||||
SECTION:=utils | |||||
CATEGORY:=Utilities | |||||
SUBMENU:=Shells | |||||
TITLE:=A smart and user-friendly command line shell | |||||
DEPENDS:=+libncurses +libstdcpp +librt | |||||
URL:=https://fishshell.com | |||||
endef | |||||
define Package/fish/description | |||||
Fish is a smart and user-friendly command line shell for OS X, Linux, and the | |||||
rest of the family. Fish includes features like syntax highlighting, | |||||
autosuggest-as-you-type, and fancy tab completions that just work, with no | |||||
configuration required. | |||||
endef | |||||
CONFIGURE_VARS += ac_cv_file__proc_self_stat=yes | |||||
TARGET_CXXFLAGS += -std=c++0x | |||||
define Package/fish/install | |||||
$(INSTALL_DIR) $(1)/usr/bin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fish $(1)/usr/bin | |||||
$(INSTALL_DIR) $(1)/usr/share/fish | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/share/fish/* $(1)/usr/share/fish/ | |||||
rm -rf $(1)/usr/share/fish/groff | |||||
rm -rf $(1)/usr/share/fish/man | |||||
rm -rf $(1)/usr/share/fish/tools | |||||
endef | |||||
define Package/fish/postinst | |||||
#!/bin/sh | |||||
grep fish $${IPKG_INSTROOT}/etc/shells || \ | |||||
echo "/usr/bin/fish" >> $${IPKG_INSTROOT}/etc/shells | |||||
# Backwards compatibility | |||||
if [[ -e /bin/fish ]] && ([[ ! -L /bin/fish ]] || [[ "$(readlink -fn $${IPKG_INSTROOT}/bin/fish)" != "../$(CONFIGURE_PREFIX)/bin/fish" ]]); then | |||||
ln -fs "../$(CONFIGURE_PREFIX)/bin/fish" "$${IPKG_INSTROOT}/bin/fish" | |||||
fi | |||||
endef | |||||
define Package/fish/postrm | |||||
rm -rf "$${IPKG_INSTROOT}/$(CONFIGURE_PREFIX)/share/fish/$(PKG_VERSION)" | |||||
endef | |||||
$(eval $(call BuildPackage,fish)) |
@ -0,0 +1,54 @@ | |||||
diff --git a/share/functions/prompt_hostname.fish b/share/functions/prompt_hostname.fish | |||||
index 4348bce2..8502ce3f 100644 | |||||
--- a/share/functions/prompt_hostname.fish | |||||
+++ b/share/functions/prompt_hostname.fish | |||||
@@ -2,7 +2,7 @@ | |||||
# hostname command uses. So cache the answer so including it in the prompt doesn't make fish seem | |||||
# slow. | |||||
if not set -q __fish_prompt_hostname | |||||
- set -g __fish_prompt_hostname (hostname | string split '.')[1] | |||||
+ set -g __fish_prompt_hostname (uname -n | string split '.')[1] | |||||
end | |||||
function prompt_hostname | |||||
diff --git a/share/tools/web_config/sample_prompts/pythonista.fish b/share/tools/web_config/sample_prompts/pythonista.fish | |||||
index 9529035c..57ffaf86 100644 | |||||
--- a/share/tools/web_config/sample_prompts/pythonista.fish | |||||
+++ b/share/tools/web_config/sample_prompts/pythonista.fish | |||||
@@ -7,7 +7,7 @@ function fish_prompt | |||||
set -g VIRTUAL_ENV_DISABLE_PROMPT true | |||||
end | |||||
set_color yellow | |||||
- printf '%s' (whoami) | |||||
+ printf '%s' (id -un) | |||||
set_color normal | |||||
printf ' at ' | |||||
diff --git a/share/tools/web_config/sample_prompts/screen_savvy.fish b/share/tools/web_config/sample_prompts/screen_savvy.fish | |||||
index 411a5501..5cdcfb69 100644 | |||||
--- a/share/tools/web_config/sample_prompts/screen_savvy.fish | |||||
+++ b/share/tools/web_config/sample_prompts/screen_savvy.fish | |||||
@@ -2,8 +2,8 @@ | |||||
# author: Matthias | |||||
function fish_prompt -d "Write out the prompt" | |||||
if test -z $WINDOW | |||||
- printf '%s%s@%s%s%s%s%s> ' (set_color yellow) (whoami) (set_color purple) (prompt_hostname) (set_color $fish_color_cwd) (prompt_pwd) (set_color normal) | |||||
+ printf '%s%s@%s%s%s%s%s> ' (set_color yellow) (id -un) (set_color purple) (prompt_hostname) (set_color $fish_color_cwd) (prompt_pwd) (set_color normal) | |||||
else | |||||
- printf '%s%s@%s%s%s(%s)%s%s%s> ' (set_color yellow) (whoami) (set_color purple) (prompt_hostname) (set_color white) (echo $WINDOW) (set_color $fish_color_cwd) (prompt_pwd) (set_color normal) | |||||
+ printf '%s%s@%s%s%s(%s)%s%s%s> ' (set_color yellow) (id -un) (set_color purple) (prompt_hostname) (set_color white) (echo $WINDOW) (set_color $fish_color_cwd) (prompt_pwd) (set_color normal) | |||||
end | |||||
end | |||||
diff --git a/share/tools/web_config/sample_prompts/terlar.fish b/share/tools/web_config/sample_prompts/terlar.fish | |||||
index d49ef340..59b3d267 100644 | |||||
--- a/share/tools/web_config/sample_prompts/terlar.fish | |||||
+++ b/share/tools/web_config/sample_prompts/terlar.fish | |||||
@@ -6,7 +6,7 @@ function fish_prompt --description 'Write out the prompt' | |||||
# User | |||||
set_color $fish_color_user | |||||
- echo -n (whoami) | |||||
+ echo -n (id -un) | |||||
set_color normal | |||||
echo -n '@' |