add fish 4.3.2

This commit is contained in:
Moritz Gmeiner 2025-12-31 23:49:20 +01:00
commit 786da8bfca
4 changed files with 175 additions and 0 deletions

3
app-shells/fish/Manifest Normal file
View file

@ -0,0 +1,3 @@
DIST fish-4.3.2.tar.xz 2535720 BLAKE2B 770650e353b1f6a38bbaa7f6df1e24cf4d625e8c15fb8549810949349fd4964dd86621606297cdbd89c010d9b2d3e90045aca5c639701171bb82c1697d5a6f55 SHA512 a50c09996af84544a089673746d5d2848d70765a3cbd2896be24ab9b4efb28ec1c990c715d1dc5f20b0a0a550e243e17931aee930d2fcce19dc9e7a12e0f02b3
DIST fish-shell-4.3.2-crates.tar.xz 6667516 BLAKE2B 8e44e0b0510a3ea4493c9a6d628fa54d24eefb1e834c96d35fed34e262f4b09e78228d7269cd77587700b1c323407b345f258c49227154082224bd3287e6c09a SHA512 69bb4afe8ca6034339d5f18773b5de25415d785b44a158b5587a0f71a27774741243c4d497d75ce92e9f8a3c9bdef6ed1b5df5f01d7aed752b0a5bcd7097daf8
DIST rust-pcre2-85b7afba1a9d9bd445779800e5bcafeb732e4421.gh.tar.gz 743187 BLAKE2B 533671ee8e97e65b93aa9103135848e8a85d79a2f525100aa0120500def9479675f6140878fa7b9bb248e51175ceac7c5710ce247af6e10385a00b23c8986b68 SHA512 9323e4d11708d8dc0e7ed607e97b8d4fac6f4a0b955e5e07b76da8152178888bc0ae2d2c109dd58b97d5faa037216e88365fcacb606f23f912d2edb82ede23ad

View file

@ -0,0 +1,19 @@
fish is now installed on your system.
To run fish, type 'fish' in your terminal.
It is advised not to set fish as a default login shell.
see https://bugs.gentoo.org/545830 for more details.
Executing fish using ~/.bashrc is an alternative
see https://wiki.gentoo.org/wiki/Fish#Caveats for details
To set your colors, run 'fish_config'
To scan your man pages for completions, run 'fish_update_completions'
To autocomplete command suggestions press Ctrl + F or right arrow key.
Please add a "BROWSER" variable to fish environment pointing to the
browser of your choice to get acces to fish help system:
BROWSER="/usr/bin/firefox"
If you have issues with cut'n'paste in X-terminals, install the x11-misc/xsel package.
Have fun!

View file

@ -0,0 +1,46 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c65b3e422..caf670f0c 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 d99e621e4..4d6b47f2a 100644
--- a/cmake/Rust.cmake
+++ b/cmake/Rust.cmake
@@ -1,7 +1,7 @@
include(FindRust)
find_package(Rust REQUIRED)
-set(FISH_RUST_BUILD_DIR "${CMAKE_BINARY_DIR}/cargo/build")
+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>)
option(WITH_GETTEXT "Build with gettext localization support. Requires `msgfmt` to work." ON)
# Enable gettext feature unless explicitly disabled.

View file

@ -0,0 +1,107 @@
# Copyright 1999-2025 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.3.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_GETTEXT="$(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
}