Skip to content

Commit

Permalink
app-shells/fish: Attempt to load system-wide variables (bug #545830).
Browse files Browse the repository at this point in the history
Use system pcre2 lib instead of bundled one.

Package-Manager: Portage-2.3.3, Repoman-2.3.1
  • Loading branch information
Lars Wendler committed Jan 13, 2017
1 parent 12fb69a commit 867eb17
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 0 deletions.
15 changes: 15 additions & 0 deletions app-shells/fish/files/profile-env.fish
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# since fish supports export via upstream provided function
# we can source directly, only ommiting $PATH and comments.
grep -Ev "^(#|export (PATH|ROOTPATH)=)" /etc/profile.env | source

# strip unneded stuff from bash export lines
# apply paths and cleanup
if [ "$EUID" = "0" ] ; or [ "$USER" = "root" ]
set _rootpath (grep -o " ROOTPATH='.*'" /etc/profile.env | sed "s@.*'\(.*\)'@\1@;s@:@\n@g")
set -xg PATH /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin $_rootpath
set -e _rootpath
else
set _userpath (grep -o " PATH='.*'" /etc/profile.env | sed "s@.*'\(.*\)'@\1@;s@:@\n@g")
set -xg PATH /usr/local/bin /usr/bin /bin $_userpath
set -e _userpath
end
76 changes: 76 additions & 0 deletions app-shells/fish/fish-2.4.0-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=6

PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} )

DESCRIPTION="fish is the Friendly Interactive SHell"
HOMEPAGE="http://fishshell.com/"
SRC_URI="http://fishshell.com/files/${PV}/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
IUSE="X"

RDEPEND="
>=dev-libs/libpcre2-10.21[pcre32]
sys-libs/ncurses:0=
"
DEPEND="
${RDEPEND}
sys-devel/bc
sys-devel/gettext
"

src_configure() {
# Set things up for fish to be a default shell.
# It has to be in /bin in case /usr is unavailable.
# Also, all of its utilities have to be in /bin.
econf \
docdir="${EPREFIX}"/usr/share/doc/${PF} \
--bindir="${EPREFIX}"/bin \
--without-included-pcre2
}

src_install() {
default

insinto /usr/share/fish/vendor_conf.d
newins "${FILESDIR}/profile-env.fish" 00-profile-env.fish
}

src_test() {
if has_version ~${CATEGORY}/${P} ; then
emake test
else
ewarn "The test suite only works when the package is already installed"
fi
}

pkg_postinst() {
elog "fish is now installed on your system."
elog "To run fish, type 'fish' in your terminal."
elog
elog "To use fish as your login shell:"
elog "* add the line '${EPREFIX}/bin/${PN}'"
elog "* to the file '${EPREFIX}/etc/shells'."
elog "* use the command 'chsh -s ${EPREFIX}/bin/${PN}'."
elog
elog "To set your colors, run 'fish_config'"
elog "To scan your man pages for completions, run 'fish_update_completions'"
elog "To autocomplete command suggestions press Ctrl + F or right arrow key."
elog
elog "Please add a \"BROWSER\" variable to ${PN}'s environment pointing to the"
elog "browser of your choice to get acces to ${PN}'s help system:"
elog " BROWSER=\"/usr/bin/firefox\""
elog
elog "In order to get lzma and xz support for man-page completion please"
elog "emerge one of the following packages:"
elog " dev-python/backports-lzma"
elog " >=dev-lang/python-3.3"
elog
elog "Have fun!"
}

0 comments on commit 867eb17

Please sign in to comment.