commit:     d2024208ba6146efd3f93ed2d9d802c68d7d9b11
Author:     idealseal <realidealseal <AT> protonmail <DOT> com>
AuthorDate: Fri Feb  6 14:02:57 2026 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat Feb  7 08:02:35 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2024208

app-shells/fish: add 4.4.0

Signed-off-by: idealseal <realidealseal <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/45656
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-shells/fish/Manifest                           |   2 +
 .../fish-4.4.0-use-cargo-eclass-for-build.patch    |  46 +++++++++
 app-shells/fish/fish-4.4.0.ebuild                  | 107 +++++++++++++++++++++
 3 files changed, 155 insertions(+)

diff --git a/app-shells/fish/Manifest b/app-shells/fish/Manifest
index d743c564a2e3..85ac560e2229 100644
--- a/app-shells/fish/Manifest
+++ b/app-shells/fish/Manifest
@@ -4,10 +4,12 @@ DIST fish-4.2.1.tar.xz 3012808 BLAKE2B 
37f6552d8c5874c841976f5a8f7c2751590913831
 DIST fish-4.3.0.tar.xz 2533776 BLAKE2B 
cfd8cbbc702e61308c7dab1bad2a69e8fc752bc409e8d365529e7b05309f861998cf4504eea938bc217b592d5e0ed453732606de2ee513671a779a6eeb2ff52a
 SHA512 
ffe931663debc6b344fb764682ec9ce1b1f89a56ebf12c5bf298bb113787844635bcaf8c0c52d372ef220435b7ac0b3fc214c1031b942aded7572c6e8d022c85
 DIST fish-4.3.2.tar.xz 2535720 BLAKE2B 
770650e353b1f6a38bbaa7f6df1e24cf4d625e8c15fb8549810949349fd4964dd86621606297cdbd89c010d9b2d3e90045aca5c639701171bb82c1697d5a6f55
 SHA512 
a50c09996af84544a089673746d5d2848d70765a3cbd2896be24ab9b4efb28ec1c990c715d1dc5f20b0a0a550e243e17931aee930d2fcce19dc9e7a12e0f02b3
 DIST fish-4.3.3.tar.xz 2545388 BLAKE2B 
8d8ae67c4f97ef41d94ebcd728f9882e682eece6d21461eef48e71b293ce22226fd6d2909d7e4aea4fb168b2fbb8c4b66660a30b09a18e8844711003f1d22d78
 SHA512 
ab20c5d6c052319a1bb6ae5d0af0e4a4563528348ea61728ee812f31ded7f379e1df3687be47ee71af0b79ab46a3febe7f09f8a5312c9a06cb03269447513e8b
+DIST fish-4.4.0.tar.xz 2570412 BLAKE2B 
93b74dc8c17c8d1d437b2a170715e7963d29a78781520fbb7181bfbfc158c1c1f1a245f15621cb326d4f81dc097084cd54bb14c890fee7b7ab9022a5a41f98d1
 SHA512 
7d5f3f43e1478ffbf46119ad535b9ece57450751aea059ce520828733733ecc8dbe6b9581703bc3150b015eb2e3b910e28284bb8b25ee05fcad24e477fd99a93
 DIST fish-shell-4.1.2-crates.tar.xz 7131000 BLAKE2B 
f36b33851cbee50a5d80a9527f969dfeae7963c0944c608ac3440b01b23691f63d1da05b7d824056b77ce2b0001a40ec1476aaab6b3d8aceb284711d488d4a18
 SHA512 
1f542be9f2174be0c7c4451b66df3cb32c010d5d0a6d330078cc818e09df7b9f6d16a9001fe7fc0262276e14e1e6be2eb63408f10ddca609d43d8130b673b438
 DIST fish-shell-4.2.0-crates.tar.xz 6407044 BLAKE2B 
aa88ef25cb25ab5b3fd8a5b9faa4e9e91572fe8dfcb1bbb749404bd0cbdaaf36caab1b27e3d874e788b980bd213fc56bf8b4916f82d9a239aa1c9ec7c68985a9
 SHA512 
affe98ddba9a582f23289149464d50897d54bd1efe931b67721f05ade34f35e69bb31f00dcedd1dc025d04025135e17cee185dbad0f028ace140cfe8dacb4a81
 DIST fish-shell-4.2.1-crates.tar.xz 6407044 BLAKE2B 
aa88ef25cb25ab5b3fd8a5b9faa4e9e91572fe8dfcb1bbb749404bd0cbdaaf36caab1b27e3d874e788b980bd213fc56bf8b4916f82d9a239aa1c9ec7c68985a9
 SHA512 
affe98ddba9a582f23289149464d50897d54bd1efe931b67721f05ade34f35e69bb31f00dcedd1dc025d04025135e17cee185dbad0f028ace140cfe8dacb4a81
 DIST fish-shell-4.3.0-crates.tar.xz 6667516 BLAKE2B 
8e44e0b0510a3ea4493c9a6d628fa54d24eefb1e834c96d35fed34e262f4b09e78228d7269cd77587700b1c323407b345f258c49227154082224bd3287e6c09a
 SHA512 
69bb4afe8ca6034339d5f18773b5de25415d785b44a158b5587a0f71a27774741243c4d497d75ce92e9f8a3c9bdef6ed1b5df5f01d7aed752b0a5bcd7097daf8
 DIST fish-shell-4.3.2-crates.tar.xz 6667516 BLAKE2B 
8e44e0b0510a3ea4493c9a6d628fa54d24eefb1e834c96d35fed34e262f4b09e78228d7269cd77587700b1c323407b345f258c49227154082224bd3287e6c09a
 SHA512 
69bb4afe8ca6034339d5f18773b5de25415d785b44a158b5587a0f71a27774741243c4d497d75ce92e9f8a3c9bdef6ed1b5df5f01d7aed752b0a5bcd7097daf8
 DIST fish-shell-4.3.3-crates.tar.xz 6696892 BLAKE2B 
98f6aac950b09ad069b74534b066ff0c31e6bbc1af34012833c5b5bf2e2aabbcbef3fa183afa7a569d23dbd21df5e4d028d8c98d548ad9a71686ba77ca597e0b
 SHA512 
9545ce539d38d47adf848aa153e1dfbe16008743a552b3bf08cbda924fe65907142dbba71508e302d9e5ac5dcf6e87a015da175d95afdcac19fb1fc9ecbff4ad
+DIST fish-shell-4.4.0-crates.tar.xz 7073424 BLAKE2B 
256672c8061cdb257abd9e9371476237cce12d3f3b7af1bdb133eec27a5b507611d512723eccaacb8579646002eb56e8924e83abf3b6bc267f6d1a1919d16199
 SHA512 
842925fac09a5ae741ff1a809776bfb700f5de303d7bbd3fb3b62bf685218e53ba7fc10d61893c78f98ba4bb7494e7431a31aeffe8b201862dabb3f077329838
 DIST rust-pcre2-85b7afba1a9d9bd445779800e5bcafeb732e4421.gh.tar.gz 743187 
BLAKE2B 
533671ee8e97e65b93aa9103135848e8a85d79a2f525100aa0120500def9479675f6140878fa7b9bb248e51175ceac7c5710ce247af6e10385a00b23c8986b68
 SHA512 
9323e4d11708d8dc0e7ed607e97b8d4fac6f4a0b955e5e07b76da8152178888bc0ae2d2c109dd58b97d5faa037216e88365fcacb606f23f912d2edb82ede23ad

diff --git a/app-shells/fish/files/fish-4.4.0-use-cargo-eclass-for-build.patch 
b/app-shells/fish/files/fish-4.4.0-use-cargo-eclass-for-build.patch
new file mode 100644
index 000000000000..c15f26d41b62
--- /dev/null
+++ b/app-shells/fish/files/fish-4.4.0-use-cargo-eclass-for-build.patch
@@ -0,0 +1,46 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9b45bad2d..de80ef00a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -60,18 +60,7 @@ add_custom_target(
+   fish ALL
+   COMMAND
+     "${CMAKE_COMMAND}" -E
+-      env ${VARS_FOR_CARGO}
+-        ${Rust_CARGO}
+-          build --bin fish
+-          $<$<CONFIG:Release>:--release>
+-          $<$<CONFIG:RelWithDebInfo>:--profile=release-with-debug>
+-          --target ${Rust_CARGO_TARGET}
+-          --no-default-features
+-          --features=${FISH_CARGO_FEATURES}
+-          ${CARGO_FLAGS}
+-    &&
+-    "${CMAKE_COMMAND}" -E
+-      copy "${rust_target_dir}/${rust_profile}/fish" 
"${CMAKE_CURRENT_BINARY_DIR}"
++      copy "${FISH_RUST_BUILD_DIR}/${rust_profile}/fish" 
"${CMAKE_CURRENT_BINARY_DIR}"
+   WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+   USES_TERMINAL
+ )
+diff --git a/cmake/Rust.cmake b/cmake/Rust.cmake
+index 0be10db9c..0ff089d60 100644
+--- a/cmake/Rust.cmake
++++ b/cmake/Rust.cmake
+@@ -2,7 +2,7 @@ include(FeatureSummary)
+ include(FindRust)
+ find_package(Rust REQUIRED)
+ 
+-set(FISH_RUST_BUILD_DIR "${CMAKE_BINARY_DIR}/cargo")
++set(FISH_RUST_BUILD_DIR "${CMAKE_SOURCE_DIR}/target")
+ 
+ if(DEFINED ASAN)
+     list(APPEND CARGO_FLAGS "-Z" "build-std")
+@@ -18,7 +18,7 @@ else()
+     set(rust_target_dir "${FISH_RUST_BUILD_DIR}/${Rust_CARGO_HOST_TARGET}")
+ endif()
+ 
+-set(rust_profile 
$<IF:$<CONFIG:Debug>,debug,$<IF:$<CONFIG:RelWithDebInfo>,release-with-debug,release>>)
++set(rust_profile $<IF:$<CONFIG:Debug>,debug,release>)
+ 
+ if (NOT DEFINED WITH_MESSAGE_LOCALIZATION) # Don't check for legacy options 
if the new one is defined, to help bisecting.
+     if(DEFINED WITH_GETTEXT)

diff --git a/app-shells/fish/fish-4.4.0.ebuild 
b/app-shells/fish/fish-4.4.0.ebuild
new file mode 100644
index 000000000000..937bff9da24e
--- /dev/null
+++ b/app-shells/fish/fish-4.4.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=""
+RUST_MIN_VER="1.85.0"
+
+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%'
+)
+
+inherit cargo cmake 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 ~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+=" Apache-2.0 MIT MPL-2.0 Unicode-3.0 WTFPL-2 ZLIB"
+SLOT="0"
+IUSE="+doc nls test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+       doc? ( dev-python/sphinx )
+       nls? ( sys-devel/gettext )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-4.4.0-use-cargo-eclass-for-build.patch"
+)
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+src_unpack() {
+       if [[ ${PV} == 9999 ]]; then
+               git-r3_src_unpack
+               cargo_live_src_unpack
+       else
+               cargo_src_unpack
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+               -DWITH_DOCS="$(usex doc)"
+               -DWITH_MESSAGE_LOCALIZATION="$(usex nls 1 0)"
+       )
+       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 DATADIR="${EPREFIX}/usr/share"
+       local -x DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+
+       # Bug: https://bugs.gentoo.org/950699
+       local -x SYSCONFDIR="${EPREFIX}/etc"
+
+       local -x FISH_BUILD_DOCS
+       FISH_BUILD_DOCS="$(usex doc 1 0)"
+
+       cargo_src_compile
+}
+
+src_test() {
+       local -x CARGO_TERM_COLOR=always
+       local -x TEST_VERBOSE=1
+       # cargo_env cmake_src_compile fish_run_tests
+       cargo_env cmake_src_test 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
+}

Reply via email to