summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-shells/fish')
-rw-r--r--app-shells/fish/Manifest7
-rw-r--r--app-shells/fish/files/fish-2.7.1-fix-printf-o-handling-on-ppc.patch12
-rw-r--r--app-shells/fish/files/fix-histfile-test-on-ppc.patch31
-rw-r--r--app-shells/fish/fish-2.7.1.ebuild88
-rw-r--r--app-shells/fish/fish-3.0.2.ebuild75
-rw-r--r--app-shells/fish/fish-3.1.0.ebuild71
-rw-r--r--app-shells/fish/fish-3.1.2.ebuild71
-rw-r--r--app-shells/fish/fish-3.4.0.ebuild102
-rw-r--r--app-shells/fish/fish-3.6.1.ebuild121
-rw-r--r--app-shells/fish/fish-3.7.1.ebuild121
-rw-r--r--app-shells/fish/fish-9999.ebuild85
-rw-r--r--app-shells/fish/metadata.xml11
12 files changed, 416 insertions, 379 deletions
diff --git a/app-shells/fish/Manifest b/app-shells/fish/Manifest
index 8ffe45b14328..33b2a524d4ea 100644
--- a/app-shells/fish/Manifest
+++ b/app-shells/fish/Manifest
@@ -1,4 +1,3 @@
-DIST fish-2.7.1.tar.gz 5760550 BLAKE2B 71568a3a17f4222b05a314464a61fceb241409a7d42c46249486ca742ef0cf990c46d693bcc22521c18f58a558e6aab35759d0da6eb62ee6611a2a7946fe714d SHA512 45ee3453404c5d6c56d307b4cd19197de862f9f42d7fa06461acec56dea7146db5675cf6419dd5f72e939b3e4b1955d3761098df1de89a8cebe47645eb6f7a4b
-DIST fish-3.0.2.tar.gz 6477869 BLAKE2B fedc8bd5fd6d7856b695207ce9ac7a5a47f0e3c211d2aa2151a7a3c1bd944b3cf5c86ddf8b6e4c4d3499bb72d4ede64886706e05a44786d70c665b4ffb85369f SHA512 cd4a8e6a0d7770ef17e92d3d20ea23e754b9fa53e5ee5459ab5838fcbbcac69544ca2f83551e93a004b140cc14ec556860a711ce216197753c1704901518c9c3
-DIST fish-3.1.0.tar.gz 6810953 BLAKE2B 93143d9a2496b569ff6f73f4332beb3b738b7b03ede5357b0d7cc02a0c7da99852eb44a61c16d2524396ae37e76a1b439d708ae01488e79b0e03ba72504ebdec SHA512 143e462b5329790fa9834e135109e1397c3525756a0209d0ec68a53f7d2a1f581cd45fbbdcde6a5b53dff447da18ed6a62277993d851e7b18ef7f1a6b6d49cff
-DIST fish-3.1.2.tar.gz 6816214 BLAKE2B d994cb867a1a86850db2ec36d262328cd8dc21d63edb860c26d727aac08fa257392690999e099d754287d9f12a294222815e4cc84abbb2e2a87a982bb6627b6b SHA512 b6ae2c928774a2eaccf35312d3a9446bfa3e1335182c8f2b2d6198161d0916904f4964fb20ed13a5bf850c1c819e003905d13db3bc8b1faa5b401a60b47dc563
+DIST fish-3.4.0.tar.xz 3292216 BLAKE2B 3691e5387a8392d7d43b3b0f8b893e83e246c3532684e95a19c7b2eb4ebe80bcf04aaa1b965f5c4f6d782d0ae52269bb1cdafef76845b02f9f99d4c82ea77ce3 SHA512 463ee8d86815520c6de9777fd2b5975f06cc0842137c86cca7ae0331e95d74e755bf6f4b0bdea7e96c11371436ff9f97ce483ae026daa1e8d385f6cad8860ed4
+DIST fish-3.6.1.tar.xz 2866100 BLAKE2B 13a41781c9a7ad093b18d4697c6087ef4c621bdf9cdc23c29ab89514fe990b38461c2323344e884cb95070c98976db1a37615f91281919a4ac36d6ca3312558a SHA512 ee6f5c7699307d515f111c8c4f1633d9eb9703e045a93cfc2fcec722a03cca4ab25e4e09f6fd94ff2d07180d8b37c6ab733323bb2645065fdeb4e94771347597
+DIST fish-3.7.1.tar.xz 2965756 BLAKE2B 3ba628047c042b9bcb4b28aaeb205efb211b006cc379d766ee805d9fded92a3c07a3994ad1006648cdd68b26cf977de70a39f3694879de40f2e72ed058572c3a SHA512 f1605c400c5d5494f37b92dd386963dba7a3f3c401c369aaf3ff616d9d94836a0138d26074be24c92d94d9d7b625513800899c9431f5e21be0757eb0a0bfd3fe
diff --git a/app-shells/fish/files/fish-2.7.1-fix-printf-o-handling-on-ppc.patch b/app-shells/fish/files/fish-2.7.1-fix-printf-o-handling-on-ppc.patch
deleted file mode 100644
index 4d3d79ae6a53..000000000000
--- a/app-shells/fish/files/fish-2.7.1-fix-printf-o-handling-on-ppc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/builtin_printf.cpp b/src/builtin_printf.cpp
-index 8595120d5..24cf9a9e1 100644
---- a/src/builtin_printf.cpp
-+++ b/src/builtin_printf.cpp
-@@ -444,6 +444,7 @@ void builtin_printf_state_t::print_direc(const wchar_t *start, size_t length, wc
- case L'X':
- case L'd':
- case L'i':
-+ case L'o':
- case L'u': {
- fmt.append(L"ll");
- break;
diff --git a/app-shells/fish/files/fix-histfile-test-on-ppc.patch b/app-shells/fish/files/fix-histfile-test-on-ppc.patch
deleted file mode 100644
index 8b9540ffc610..000000000000
--- a/app-shells/fish/files/fix-histfile-test-on-ppc.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 2c01e67a74ca48ca87e2f11f6239d54c35551e7b Mon Sep 17 00:00:00 2001
-From: David Adam <zanchey@ucc.gu.uwa.edu.au>
-Date: Sat, 5 Jan 2019 15:59:25 +0800
-Subject: [PATCH] histfile tests: tweak expect commands to avoid crash on
- 32-bit platforms
-
-Rather than killing the process with close, read EOF after sending the
-"exit" command and wait for OS cleanup (per the expect examples).
-
-Not cleaning up with wait caused expect to crash on all 32-bit platforms
-including i586 and armv7l with "alloc: invalid block: 0xbf993ccb: 3d 3b".
-
-64-bit platforms were not affected, for reasons that are not clear.
----
- tests/histfile.expect | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tests/histfile.expect b/tests/histfile.expect
-index 81ca11276..7ac056235 100644
---- a/tests/histfile.expect
-+++ b/tests/histfile.expect
-@@ -92,7 +92,8 @@ expect_prompt -re "\r\n$hist_line\r\n" {
- # =============
- # Start by shutting down the previous shell.
- send "exit\r"
--close $spawn_id
-+expect eof
-+wait
-
- # Set the fish_history env var.
- set ::env(fish_history) env
diff --git a/app-shells/fish/fish-2.7.1.ebuild b/app-shells/fish/fish-2.7.1.ebuild
deleted file mode 100644
index 9b7755d9b03e..000000000000
--- a/app-shells/fish/fish-2.7.1.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PV="${PV/_beta/b}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="Friendly Interactive SHell"
-HOMEPAGE="http://fishshell.com/"
-SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-[[ "${PV}" = *_* ]] || \
-KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
-IUSE="nls test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libpcre2-10.21[pcre32]
- sys-libs/ncurses:0=
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/bc
- nls? ( sys-devel/gettext )
- test? ( dev-tcltk/expect )
-"
-
-PATCHES=( "${FILESDIR}/${P}-fix-printf-o-handling-on-ppc.patch"
- "${FILESDIR}/fix-histfile-test-on-ppc.patch" )
-
-S="${WORKDIR}/${MY_P}"
-
-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 \
- --bindir="${EPREFIX}"/bin \
- --without-included-pcre2 \
- $(use_with nls gettext)
-}
-
-src_compile() {
- emake V=1
-}
-
-src_install() {
- emake DESTDIR="${D}" V=1 install
-}
-
-src_test() {
- if has_version ~${CATEGORY}/${P} ; then
- emake -j1 V=1 SHOW_INTERACTIVE_LOG=1 test
- else
- ewarn "Some tests only work 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 "It is advised not to set fish as a default login shell."
- elog "see bug #545830 for more details."
- elog "Executing fish using ~/.bashrc is an alternative"
- elog "see https://wiki.gentoo.org/wiki/Fish#Caveats for details"
- 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 "If you have issues with cut'n'paste in X-terminals, install the"
- elog "x11-misc/xsel package."
- elog
- elog "Have fun!"
-}
diff --git a/app-shells/fish/fish-3.0.2.ebuild b/app-shells/fish/fish-3.0.2.ebuild
deleted file mode 100644
index 74c634df070a..000000000000
--- a/app-shells/fish/fish-3.0.2.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake readme.gentoo-r1
-
-DESCRIPTION="Friendly Interactive SHell"
-HOMEPAGE="http://fishshell.com/"
-
-MY_PV="${PV/_beta/b}"
-MY_P="${PN}-${MY_PV}"
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git"
-else
- SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="doc nls test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libpcre2-10.21[pcre32]
- sys-devel/bc
- sys-libs/ncurses:0=[unicode]
-"
-
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- nls? ( sys-devel/gettext )
- test? ( dev-tcltk/expect )
-"
-
-PATCHES=( "${FILESDIR}/fix-histfile-test-on-ppc.patch" )
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- # workaround for https://github.com/fish-shell/fish-shell/issues/4883
- sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
- cmake/Tests.cmake || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_BINDIR="${EPREFIX}/bin"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -DCURSES_NEED_NCURSES=ON
- -DINTERNAL_WCWIDTH=OFF
- -DBUILD_DOCS="$(usex doc)"
- -DWITH_GETTEXT="$(usex nls)"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- keepdir /usr/share/fish/vendor_{completions,conf,functions}.d
- readme.gentoo_create_doc
-}
-
-src_test() {
- cmake_build -j1 test
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/app-shells/fish/fish-3.1.0.ebuild b/app-shells/fish/fish-3.1.0.ebuild
deleted file mode 100644
index 77f6617e11c3..000000000000
--- a/app-shells/fish/fish-3.1.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake readme.gentoo-r1
-
-DESCRIPTION="Friendly Interactive SHell"
-HOMEPAGE="http://fishshell.com/"
-
-MY_PV="${PV/_beta/b}"
-MY_P="${PN}-${MY_PV}"
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git"
-else
- SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="doc nls test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libpcre2-10.32[pcre32]
- sys-libs/ncurses:0=[unicode]
-"
-
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- nls? ( sys-devel/gettext )
- test? ( dev-tcltk/expect )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- # workaround for https://github.com/fish-shell/fish-shell/issues/4883
- sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
- cmake/Tests.cmake || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_BINDIR="${EPREFIX}/bin"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -DCURSES_NEED_NCURSES=ON
- -DBUILD_DOCS="$(usex doc)"
- -DWITH_GETTEXT="$(usex nls)"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- keepdir /usr/share/fish/vendor_{completions,conf,functions}.d
- readme.gentoo_create_doc
-}
-
-src_test() {
- cmake_build -j1 test
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/app-shells/fish/fish-3.1.2.ebuild b/app-shells/fish/fish-3.1.2.ebuild
deleted file mode 100644
index 77f6617e11c3..000000000000
--- a/app-shells/fish/fish-3.1.2.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake readme.gentoo-r1
-
-DESCRIPTION="Friendly Interactive SHell"
-HOMEPAGE="http://fishshell.com/"
-
-MY_PV="${PV/_beta/b}"
-MY_P="${PN}-${MY_PV}"
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git"
-else
- SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="doc nls test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libpcre2-10.32[pcre32]
- sys-libs/ncurses:0=[unicode]
-"
-
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- nls? ( sys-devel/gettext )
- test? ( dev-tcltk/expect )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- # workaround for https://github.com/fish-shell/fish-shell/issues/4883
- sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
- cmake/Tests.cmake || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_BINDIR="${EPREFIX}/bin"
- -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
- -DCURSES_NEED_NCURSES=ON
- -DBUILD_DOCS="$(usex doc)"
- -DWITH_GETTEXT="$(usex nls)"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- keepdir /usr/share/fish/vendor_{completions,conf,functions}.d
- readme.gentoo_create_doc
-}
-
-src_test() {
- cmake_build -j1 test
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/app-shells/fish/fish-3.4.0.ebuild b/app-shells/fish/fish-3.4.0.ebuild
new file mode 100644
index 000000000000..31ac7609bb51
--- /dev/null
+++ b/app-shells/fish/fish-3.4.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake python-any-r1 readme.gentoo-r1
+
+DESCRIPTION="Friendly Interactive SHell"
+HOMEPAGE="https://fishshell.com/"
+
+MY_PV="${PV/_beta/b}"
+MY_P="${PN}-${MY_PV}"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git"
+else
+ SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+fi
+
+LICENSE="GPL-2 BSD BSD-2 CC0-1.0 GPL-2+ ISC LGPL-2+ MIT PSF-2 ZLIB"
+SLOT="0"
+IUSE="+doc nls test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libpcre2-10.32:=[pcre32]
+ sys-apps/coreutils
+ sys-libs/ncurses:=[unicode(+)]
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ test? (
+ ${PYTHON_DEPS}
+ dev-tcltk/expect
+ $(python_gen_any_dep '
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ ')
+ )
+"
+# we don't need shpinx dep for release tarballs
+[[ ${PV} == 9999 ]] && DEPEND+=" doc? ( dev-python/sphinx )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/pexpect[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # workaround for https://github.com/fish-shell/fish-shell/issues/4883
+ sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
+ cmake/Tests.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_BINDIR="${EPREFIX}/bin"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -DCURSES_NEED_NCURSES=ON
+ -DINSTALL_DOCS="$(usex doc)"
+ -DWITH_GETTEXT="$(usex nls)"
+ )
+ # release tarballs ship pre-built docs // -DHAVE_PREBUILT_DOCS=TRUE
+ if [[ ${PV} == 9999 ]]; then
+ mycmakeargs+=( -DBUILD_DOCS="$(usex doc)" )
+ else
+ mycmakeargs+=( -DBUILD_DOCS=OFF )
+ fi
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ keepdir /usr/share/fish/vendor_{completions,conf,functions}.d
+ readme.gentoo_create_doc
+}
+
+src_test() {
+ # some tests are fragile, sanitize environment
+ local -x COLUMNS=80
+ local -x LINES=24
+
+ # very fragile, depends on terminal, size, tmux, screen and timing
+ if [[ ${PV} != 9999 ]]; then
+ rm -v tests/pexpects/terminal.py || die
+ fi
+
+ cmake_build test
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/app-shells/fish/fish-3.6.1.ebuild b/app-shells/fish/fish-3.6.1.ebuild
new file mode 100644
index 000000000000..2d90b5183b42
--- /dev/null
+++ b/app-shells/fish/fish-3.6.1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake python-any-r1 readme.gentoo-r1 xdg
+
+DESCRIPTION="Friendly Interactive SHell"
+HOMEPAGE="https://fishshell.com/"
+
+MY_PV="${PV/_beta/b}"
+MY_P="${PN}-${MY_PV}"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git"
+else
+ SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+fi
+
+LICENSE="GPL-2 BSD BSD-2 CC0-1.0 GPL-2+ ISC LGPL-2+ MIT PSF-2 ZLIB"
+SLOT="0"
+IUSE="+doc nls split-usr test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libpcre2-10.32:=[pcre32]
+ sys-apps/coreutils
+ sys-libs/ncurses:=[unicode(+)]
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ test? (
+ ${PYTHON_DEPS}
+ dev-tcltk/expect
+ $(python_gen_any_dep '
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ ')
+ )
+"
+# we don't need shpinx dep for release tarballs
+[[ ${PV} == 9999 ]] && DEPEND+=" doc? ( dev-python/sphinx )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/pexpect[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # workaround for https://github.com/fish-shell/fish-shell/issues/4883
+ if use split-usr; then
+ sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
+ cmake/Tests.cmake || die
+ fi
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # installing into /bin breaks tests on merged usr systems.
+ # sbin -> bin symlink confuses tests.
+ # so on split-usr we install to /bin.
+ # on merge-usr we set sbindir to bin.
+ $(usex split-usr "-DCMAKE_INSTALL_BINDIR=${EPREFIX}/bin" \
+ "-DCMAKE_INSTALL_SBINDIR=${EPREFIX}/usr/bin")
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -DCURSES_NEED_NCURSES=ON
+ -DINSTALL_DOCS="$(usex doc)"
+ -DWITH_GETTEXT="$(usex nls)"
+ )
+ # release tarballs ship pre-built docs // -DHAVE_PREBUILT_DOCS=TRUE
+ if [[ ${PV} == 9999 ]]; then
+ mycmakeargs+=( -DBUILD_DOCS="$(usex doc)" )
+ else
+ mycmakeargs+=( -DBUILD_DOCS=OFF )
+ fi
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ keepdir /usr/share/fish/vendor_{completions,conf,functions}.d
+ readme.gentoo_create_doc
+}
+
+src_test() {
+ # some tests are fragile, sanitize environment
+ local -x COLUMNS=80
+ local -x LINES=24
+
+ # very fragile, depends on terminal, size, tmux, screen and timing
+ # no die is intentional, for repeated test runs
+ if [[ ${PV} != 9999 ]]; then
+ rm -v tests/pexpects/terminal.py || :
+ fi
+
+ # zfs completion test will fail with "Permission denied the ZFS utilities must be run as root."
+ mv "${S}"/share/completions/zfs.{fish,disabled} || die
+
+ # TODO: fix tests & submit upstream
+ # tests are confused by usr/sbin -> bin symlink, no die is intentional for repeated test runs
+ use split-usr || rm -v tests/checks/{redirect,type}.fish || :
+
+ cmake_build test
+
+ # now restore zfs completions
+ mv "${S}"/share/completions/zfs.{disabled,fish} || die
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ xdg_pkg_postinst
+}
diff --git a/app-shells/fish/fish-3.7.1.ebuild b/app-shells/fish/fish-3.7.1.ebuild
new file mode 100644
index 000000000000..3d7c6dff3fa3
--- /dev/null
+++ b/app-shells/fish/fish-3.7.1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake python-any-r1 readme.gentoo-r1 xdg
+
+DESCRIPTION="Friendly Interactive SHell"
+HOMEPAGE="https://fishshell.com/"
+
+MY_PV="${PV/_beta/b}"
+MY_P="${PN}-${MY_PV}"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git"
+else
+ SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2 BSD BSD-2 CC0-1.0 GPL-2+ ISC LGPL-2+ MIT PSF-2 ZLIB"
+SLOT="0"
+IUSE="+doc nls split-usr test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/libpcre2-10.32:=[pcre32]
+ sys-apps/coreutils
+ sys-libs/ncurses:=[unicode(+)]
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ test? (
+ ${PYTHON_DEPS}
+ dev-tcltk/expect
+ $(python_gen_any_dep '
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ ')
+ )
+"
+# we don't need shpinx dep for release tarballs
+[[ ${PV} == 9999 ]] && DEPEND+=" doc? ( dev-python/sphinx )"
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/pexpect[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ # workaround for https://github.com/fish-shell/fish-shell/issues/4883
+ if use split-usr; then
+ sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
+ cmake/Tests.cmake || die
+ fi
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # installing into /bin breaks tests on merged usr systems.
+ # sbin -> bin symlink confuses tests.
+ # so on split-usr we install to /bin.
+ # on merge-usr we set sbindir to bin.
+ $(usex split-usr "-DCMAKE_INSTALL_BINDIR=${EPREFIX}/bin" \
+ "-DCMAKE_INSTALL_SBINDIR=${EPREFIX}/usr/bin")
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -DCURSES_NEED_NCURSES=ON
+ -DINSTALL_DOCS="$(usex doc)"
+ -DWITH_GETTEXT="$(usex nls)"
+ )
+ # release tarballs ship pre-built docs // -DHAVE_PREBUILT_DOCS=TRUE
+ if [[ ${PV} == 9999 ]]; then
+ mycmakeargs+=( -DBUILD_DOCS="$(usex doc)" )
+ else
+ mycmakeargs+=( -DBUILD_DOCS=OFF )
+ fi
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ keepdir /usr/share/fish/vendor_{completions,conf,functions}.d
+ readme.gentoo_create_doc
+}
+
+src_test() {
+ # some tests are fragile, sanitize environment
+ local -x COLUMNS=80
+ local -x LINES=24
+
+ # very fragile, depends on terminal, size, tmux, screen and timing
+ # no die is intentional, for repeated test runs
+ if [[ ${PV} != 9999 ]]; then
+ rm -v tests/pexpects/terminal.py || :
+ fi
+
+ # zfs completion test will fail with "Permission denied the ZFS utilities must be run as root."
+ mv "${S}"/share/completions/zfs.{fish,disabled} || die
+
+ # TODO: fix tests & submit upstream
+ # tests are confused by usr/sbin -> bin symlink, no die is intentional for repeated test runs
+ use split-usr || rm -v tests/checks/{redirect,type}.fish || :
+
+ cmake_build test
+
+ # now restore zfs completions
+ mv "${S}"/share/completions/zfs.{disabled,fish} || die
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ xdg_pkg_postinst
+}
diff --git a/app-shells/fish/fish-9999.ebuild b/app-shells/fish/fish-9999.ebuild
index 44df9a8565df..0cd6aa8d4470 100644
--- a/app-shells/fish/fish-9999.ebuild
+++ b/app-shells/fish/fish-9999.ebuild
@@ -1,12 +1,14 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake readme.gentoo-r1
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake python-any-r1 readme.gentoo-r1 xdg
DESCRIPTION="Friendly Interactive SHell"
-HOMEPAGE="http://fishshell.com/"
+HOMEPAGE="https://fishshell.com/"
MY_PV="${PV/_beta/b}"
MY_P="${PN}-${MY_PV}"
@@ -15,45 +17,71 @@ if [[ ${PV} == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git"
else
- SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+ SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
-LICENSE="GPL-2"
+LICENSE="GPL-2 BSD BSD-2 CC0-1.0 GPL-2+ ISC LGPL-2+ MIT PSF-2 ZLIB"
SLOT="0"
+IUSE="+doc nls split-usr test"
-IUSE="doc nls test"
RESTRICT="!test? ( test )"
RDEPEND="
- >=dev-libs/libpcre2-10.32[pcre32]
+ >=dev-libs/libpcre2-10.32:=[pcre32]
sys-apps/coreutils
- sys-libs/ncurses:0=[unicode]
+ sys-libs/ncurses:=[unicode(+)]
"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
+DEPEND="${RDEPEND}"
+BDEPEND="
nls? ( sys-devel/gettext )
- test? ( dev-tcltk/expect )
+ test? (
+ ${PYTHON_DEPS}
+ dev-tcltk/expect
+ $(python_gen_any_dep '
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ ')
+ )
"
+# we don't need shpinx dep for release tarballs
+[[ ${PV} == 9999 ]] && DEPEND+=" doc? ( dev-python/sphinx )"
S="${WORKDIR}/${MY_P}"
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/pexpect[${PYTHON_USEDEP}]"
+}
+
src_prepare() {
# workaround for https://github.com/fish-shell/fish-shell/issues/4883
- sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
- cmake/Tests.cmake || die
+ if use split-usr; then
+ sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
+ cmake/Tests.cmake || die
+ fi
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
- -DCMAKE_INSTALL_BINDIR="${EPREFIX}/bin"
+ # installing into /bin breaks tests on merged usr systems.
+ # sbin -> bin symlink confuses tests.
+ # so on split-usr we install to /bin.
+ # on merge-usr we set sbindir to bin.
+ $(usex split-usr "-DCMAKE_INSTALL_BINDIR=${EPREFIX}/bin" \
+ "-DCMAKE_INSTALL_SBINDIR=${EPREFIX}/usr/bin")
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-DCURSES_NEED_NCURSES=ON
- -DBUILD_DOCS="$(usex doc)"
+ -DINSTALL_DOCS="$(usex doc)"
-DWITH_GETTEXT="$(usex nls)"
)
+ # release tarballs ship pre-built docs // -DHAVE_PREBUILT_DOCS=TRUE
+ if [[ ${PV} == 9999 ]]; then
+ mycmakeargs+=( -DBUILD_DOCS="$(usex doc)" )
+ else
+ mycmakeargs+=( -DBUILD_DOCS=OFF )
+ fi
cmake_src_configure
}
@@ -64,9 +92,30 @@ src_install() {
}
src_test() {
- cmake_build -j1 test
+ # some tests are fragile, sanitize environment
+ local -x COLUMNS=80
+ local -x LINES=24
+
+ # very fragile, depends on terminal, size, tmux, screen and timing
+ # no die is intentional, for repeated test runs
+ if [[ ${PV} != 9999 ]]; then
+ rm -v tests/pexpects/terminal.py || :
+ fi
+
+ # zfs completion test will fail with "Permission denied the ZFS utilities must be run as root."
+ mv "${S}"/share/completions/zfs.{fish,disabled} || die
+
+ # TODO: fix tests & submit upstream
+ # tests are confused by usr/sbin -> bin symlink, no die is intentional for repeated test runs
+ use split-usr || rm -v tests/checks/{redirect,type}.fish || :
+
+ cmake_build test
+
+ # now restore zfs completions
+ mv "${S}"/share/completions/zfs.{disabled,fish} || die
}
pkg_postinst() {
readme.gentoo_print_elog
+ xdg_pkg_postinst
}
diff --git a/app-shells/fish/metadata.xml b/app-shells/fish/metadata.xml
index 7222485da60e..df95e62078b0 100644
--- a/app-shells/fish/metadata.xml
+++ b/app-shells/fish/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription lang="en">
Smart and user-friendly command line shell for macOS, Linux, and the rest of the family.
It includes features like syntax highlighting, autosuggest-as-you-type,