app-shells/fish: Attempt to load system-wide variables (bug #545830).
authorLars Wendler <polynomial-c@gentoo.org>
Fri, 13 Jan 2017 05:02:25 +0000 (06:02 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Fri, 13 Jan 2017 05:02:47 +0000 (06:02 +0100)
Use system pcre2 lib instead of bundled one.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

app-shells/fish/files/profile-env.fish [new file with mode: 0644]
app-shells/fish/fish-2.4.0-r1.ebuild [new file with mode: 0644]

diff --git a/app-shells/fish/files/profile-env.fish b/app-shells/fish/files/profile-env.fish
new file mode 100644 (file)
index 0000000..21a918a
--- /dev/null
@@ -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
diff --git a/app-shells/fish/fish-2.4.0-r1.ebuild b/app-shells/fish/fish-2.4.0-r1.ebuild
new file mode 100644 (file)
index 0000000..ef2dbfe
--- /dev/null
@@ -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!"
+}