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 A01CA1584F2 for ; Thu, 13 Mar 2025 17:08:05 +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 8B37A3430A4 for ; Thu, 13 Mar 2025 17:08:05 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 939FD1103C7; Thu, 13 Mar 2025 17:08:04 +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 89F481103C7 for ; Thu, 13 Mar 2025 17:08:04 +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)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 3FF45343199 for ; Thu, 13 Mar 2025 17:08:04 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id D2B1B1C96 for ; Thu, 13 Mar 2025 17:08:02 +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: <1741885619.c449aec6f5bc6a3461c3479c44f6ba7ef95a655f.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-shells/fish/ X-VCS-Repository: repo/gentoo X-VCS-Files: 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: c449aec6f5bc6a3461c3479c44f6ba7ef95a655f X-VCS-Branch: master Date: Thu, 13 Mar 2025 17:08:02 +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: 87d9e222-1c4b-4ef0-80df-ea6a45c6e62a X-Archives-Hash: c5d0f4867325b5797df1ddff3c27cc63 commit: c449aec6f5bc6a3461c3479c44f6ba7ef95a655f Author: idealseal protonmail com> AuthorDate: Thu Mar 13 14:23:28 2025 +0000 Commit: Sam James gentoo org> CommitDate: Thu Mar 13 17:06:59 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c449aec6 app-shells/fish: cleanup ebuild, make tests work Remove all but cargo tests. Upstream has fixes for our test issues but they weren't backported to 4.0.1. Closes: https://bugs.gentoo.org/715976 Closes: https://bugs.gentoo.org/727684 Closes: https://bugs.gentoo.org/802873 Closes: https://bugs.gentoo.org/807742 Closes: https://bugs.gentoo.org/838187 Closes: https://bugs.gentoo.org/886161 Closes: https://bugs.gentoo.org/950051 Signed-off-by: idealseal protonmail.com> Signed-off-by: Sam James gentoo.org> app-shells/fish/fish-4.0.1.ebuild | 104 ++++++++++---------------------------- 1 file changed, 28 insertions(+), 76 deletions(-) diff --git a/app-shells/fish/fish-4.0.1.ebuild b/app-shells/fish/fish-4.0.1.ebuild index 61eb5b15a6b5..5d155c4ce982 100644 --- a/app-shells/fish/fish-4.0.1.ebuild +++ b/app-shells/fish/fish-4.0.1.ebuild @@ -10,9 +10,7 @@ declare -A GIT_CRATES=( [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 +inherit cargo cmake multiprocessing readme.gentoo-r1 xdg DESCRIPTION="Friendly Interactive SHell" HOMEPAGE="https://fishshell.com/" @@ -38,34 +36,17 @@ 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" +IUSE="+doc nls 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 +# Release tarballs contain prebuilt documentation. [[ ${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 -} +QA_FLAGS_IGNORED="usr/bin/.*" src_unpack() { if [[ ${PV} == 9999 ]]; then @@ -76,81 +57,52 @@ 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" + -DCTEST_PARALLEL_LEVEL="$(makeopts_jobs)" -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 + 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}" + local -x CMAKE_WITH_GETTEXT="$(usex nls 1 0)" + # Bug: https://bugs.gentoo.org/950699 local -x SYSCONFDIR="${EPREFIX}/etc" - local -x CMAKE_WITH_GETTEXT - CMAKE_WITH_GETTEXT="$(usex nls 1 0)" + + # Release tarballs contain prebuilt documentation. + local -x FISH_BUILD_DOCS + if [[ ${PV} == 9999 ]]; then + FISH_BUILD_DOCS="$(usex doc 1 0)" + else + FISH_BUILD_DOCS=0 + fi + cargo_src_compile + # Copy built binaries into the cmake build directory to mark the targets + # up-to-date in cmake. 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 + local -x CARGO_TERM_COLOR=always + local -x FISH_SOURCE_DIR="${S}" + local -x FISH_FORCE_COLOR=1 + local -x TEST_VERBOSE=1 + cargo_env cmake_src_test -R cargo-test } src_install() {