diff options
Diffstat (limited to 'app-shells/fish')
-rw-r--r-- | app-shells/fish/Manifest | 7 | ||||
-rw-r--r-- | app-shells/fish/files/fish-2.7.1-fix-printf-o-handling-on-ppc.patch | 12 | ||||
-rw-r--r-- | app-shells/fish/files/fix-histfile-test-on-ppc.patch | 31 | ||||
-rw-r--r-- | app-shells/fish/fish-2.7.1.ebuild | 88 | ||||
-rw-r--r-- | app-shells/fish/fish-3.0.2.ebuild | 75 | ||||
-rw-r--r-- | app-shells/fish/fish-3.1.0.ebuild | 71 | ||||
-rw-r--r-- | app-shells/fish/fish-3.1.2.ebuild | 71 | ||||
-rw-r--r-- | app-shells/fish/fish-3.4.0.ebuild | 102 | ||||
-rw-r--r-- | app-shells/fish/fish-3.6.1.ebuild | 121 | ||||
-rw-r--r-- | app-shells/fish/fish-3.7.1.ebuild | 121 | ||||
-rw-r--r-- | app-shells/fish/fish-9999.ebuild | 85 | ||||
-rw-r--r-- | app-shells/fish/metadata.xml | 11 |
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, |