From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 845C21584F2 for ; Thu, 13 Mar 2025 09:45:11 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 6BCEC342FDE for ; Thu, 13 Mar 2025 09:45:11 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 5F43E11037F; Thu, 13 Mar 2025 09:45:10 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 5382411037F for ; Thu, 13 Mar 2025 09:45:10 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id ECA74342FDE for ; Thu, 13 Mar 2025 09:45:09 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 5A0331909 for ; Thu, 13 Mar 2025 09:45:08 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1741859086.29e148b6c524df0e59e581c87ce78aceddf9503e.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-shells/fish/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-shells/fish/Manifest app-shells/fish/fish-4.0.1.ebuild X-VCS-Directories: app-shells/fish/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 29e148b6c524df0e59e581c87ce78aceddf9503e X-VCS-Branch: master Date: Thu, 13 Mar 2025 09:45:08 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 46237e3b-59c2-4f95-893f-6e0a3d1a7346 X-Archives-Hash: 1ef3749260f3239575f1b8cc71f9dffa commit: 29e148b6c524df0e59e581c87ce78aceddf9503e Author: idealseal protonmail com> AuthorDate: Thu Mar 13 08:40:51 2025 +0000 Commit: Sam James gentoo org> CommitDate: Thu Mar 13 09:44:46 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29e148b6 app-shells/fish: add 4.0.1 Signed-off-by: idealseal protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/41053 Signed-off-by: Sam James gentoo.org> app-shells/fish/Manifest | 2 + app-shells/fish/fish-4.0.1.ebuild | 165 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 167 insertions(+) diff --git a/app-shells/fish/Manifest b/app-shells/fish/Manifest index 84e64ceaec70..4a4ed518a34e 100644 --- a/app-shells/fish/Manifest +++ b/app-shells/fish/Manifest @@ -1,4 +1,6 @@ DIST fish-3.7.1.tar.xz 2965756 BLAKE2B 3ba628047c042b9bcb4b28aaeb205efb211b006cc379d766ee805d9fded92a3c07a3994ad1006648cdd68b26cf977de70a39f3694879de40f2e72ed058572c3a SHA512 f1605c400c5d5494f37b92dd386963dba7a3f3c401c369aaf3ff616d9d94836a0138d26074be24c92d94d9d7b625513800899c9431f5e21be0757eb0a0bfd3fe DIST fish-4.0.0.tar.xz 3047432 BLAKE2B 70081b5c3a143021456cc37d28051ef86f589c00418f0261a6b50bf44bf5d0fdd2ea762088fa7d26756341ab7eb7a26b78711c2a1e59665324d080d6e028ce9d SHA512 559a0433aacd5b62204e02607ee628210619c633c3b9403fad91546feab5061707630d239a95db3e2efa5c95491008f94b767059c01d1f5ba3197c09dac7302c +DIST fish-4.0.1.tar.xz 3049856 BLAKE2B d9ead161f5c7e0fa49055472756cfd24e5477844b9865eaac5d3db204a0f27725a7ea6ad053205bff51258b625e1707cbf2b86687458edd34bc4637dec9f8639 SHA512 ed72beef48e18ea31705c6f4904aacd35982a36aaa4c3f7ba1ac3e07e6ff8eb02c76f82d47a59a522f57dd36d9664d69e20fd15b7e253aa8d9406cf1c10cd565 DIST fish-shell-4.0.0-crates.tar.xz 7418464 BLAKE2B 943f28ef8b30ff54ad4d8a7746243afcab5359c0b1be849f64bd2dbff39091648485a486294f0c40198f65323683e1cf0e467d0c35ddd782723fd379ae02c245 SHA512 d79489c1a997ddd2736c17848a8663bd199a08e78c176dddd4b7440253138bf431dc71a407c1bcc90bbfb052dbf4b74d4ae44da9c5c9e1377a7bd6485718752c +DIST fish-shell-4.0.1-crates.tar.xz 7418464 BLAKE2B 943f28ef8b30ff54ad4d8a7746243afcab5359c0b1be849f64bd2dbff39091648485a486294f0c40198f65323683e1cf0e467d0c35ddd782723fd379ae02c245 SHA512 d79489c1a997ddd2736c17848a8663bd199a08e78c176dddd4b7440253138bf431dc71a407c1bcc90bbfb052dbf4b74d4ae44da9c5c9e1377a7bd6485718752c DIST rust-pcre2-85b7afba1a9d9bd445779800e5bcafeb732e4421.gh.tar.gz 743187 BLAKE2B 533671ee8e97e65b93aa9103135848e8a85d79a2f525100aa0120500def9479675f6140878fa7b9bb248e51175ceac7c5710ce247af6e10385a00b23c8986b68 SHA512 9323e4d11708d8dc0e7ed607e97b8d4fac6f4a0b955e5e07b76da8152178888bc0ae2d2c109dd58b97d5faa037216e88365fcacb606f23f912d2edb82ede23ad diff --git a/app-shells/fish/fish-4.0.1.ebuild b/app-shells/fish/fish-4.0.1.ebuild new file mode 100644 index 000000000000..61eb5b15a6b5 --- /dev/null +++ b/app-shells/fish/fish-4.0.1.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES="" + +declare -A GIT_CRATES=( + [pcre2-sys]='https://github.com/fish-shell/rust-pcre2;85b7afba1a9d9bd445779800e5bcafeb732e4421;rust-pcre2-%commit%/pcre2-sys' + [pcre2]='https://github.com/fish-shell/rust-pcre2;85b7afba1a9d9bd445779800e5bcafeb732e4421;rust-pcre2-%commit%' +) + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit cargo 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/fish-shell/fish-shell.git" +else + SRC_URI=" + https://github.com/fish-shell/fish-shell/releases/download/${MY_PV}/${MY_P}.tar.xz + https://github.com/gentoo-crate-dist/fish-shell/releases/download/${MY_PV}/fish-shell-${MY_PV}-crates.tar.xz + ${CARGO_CRATE_URIS} + " + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~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" +# Dependent crate licenses +LICENSE+=" MIT Unicode-DFS-2016 WTFPL-2 ZLIB" +SLOT="0" +IUSE="+doc nls split-usr test" + +RESTRICT="!test? ( test )" + +BDEPEND=" + nls? ( sys-devel/gettext ) + test? ( + ${PYTHON_DEPS} + dev-tcltk/expect + $(python_gen_any_dep ' + dev-python/pexpect[${PYTHON_USEDEP}] + ') + ) +" +# we don't need sphinx dep for release tarballs +[[ ${PV} == 9999 ]] && BDEPEND+=" doc? ( dev-python/sphinx )" + +QA_FLAGS_IGNORED="**bin/fish*" + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/pexpect[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +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 + + # remove the build targets from the default build set so they are not wanted + # if cmake_src_install is called + sed -i \ + -e ' + /function(CREATE_TARGET target)/,/endfunction(CREATE_TARGET)/ { + s/${target} ALL/${target}/ + }' CMakeLists.txt || die + + 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" + -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 + cargo_src_configure --no-default-features --bin fish --bin fish_indent --bin fish_key_reader + cmake_src_configure +} + +src_compile() { + local -x PREFIX="${EPREFIX}/usr" + local -x DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + # Bug: https://bugs.gentoo.org/950699 + local -x SYSCONFDIR="${EPREFIX}/etc" + local -x CMAKE_WITH_GETTEXT + CMAKE_WITH_GETTEXT="$(usex nls 1 0)" + cargo_src_compile + + for target in fish fish_indent fish_key_reader; do + cp "$(cargo_target_dir)/${target}" "${BUILD_DIR}" || die + done + cmake_src_compile +} + +src_test() { + # tests will create temporary files + local -x TMPDIR="${T}" + + # 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 + + # 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 || : + + # tests are invoked through the `fish_run_tests` target + cargo_env cmake_build fish_run_tests +} + +src_install() { + cmake_src_install + keepdir /usr/share/fish/vendor_{completions,conf,functions}.d + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + xdg_pkg_postinst +}