summaryrefslogtreecommitdiff
path: root/app-shells
diff options
context:
space:
mode:
Diffstat (limited to 'app-shells')
-rw-r--r--app-shells/Manifest.gzbin10638 -> 10635 bytes
-rw-r--r--app-shells/fish/Manifest5
-rw-r--r--app-shells/fish/fish-4.0.1.ebuild117
-rw-r--r--app-shells/fish/fish-9999.ebuild106
4 files changed, 167 insertions, 61 deletions
diff --git a/app-shells/Manifest.gz b/app-shells/Manifest.gz
index 1c221ccdbf4d..e69864009f15 100644
--- a/app-shells/Manifest.gz
+++ b/app-shells/Manifest.gz
Binary files differ
diff --git a/app-shells/fish/Manifest b/app-shells/fish/Manifest
index 2d51290809e1..e891e69b1719 100644
--- a/app-shells/fish/Manifest
+++ b/app-shells/fish/Manifest
@@ -1,9 +1,12 @@
AUX README.gentoo 732 BLAKE2B b869bd411bf505339adec5a6c35731bf26f8910bcf82919c15df7f8e2a8bc6ebf4baf6964ff27ce572e738c657696b1cd1446a18996a2270a620c3374f629f98 SHA512 20a0892d7e9c4aa7736bf5dbca485e848f817390325186bb2dd054ac56259679f0accf5b4c3b18c9cd398c43d1bb393b0423be26a4c15adfe070d6f06741f693
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
EBUILD fish-3.7.1.ebuild 3197 BLAKE2B 2f57c82bbfcf15c53c05d12929d2adead97721dece482d5fc16d98d5fe7394246c0d131218ff7ae40905d771d82c18fdcabd60dd5476b28137ebbb70bdddc30b SHA512 d7e9a25a5e0378ccf00574dccb7bb422315520ab5d6a118bcd2b0b817ece949a6dcf57d73f3b135d518f8fada6792b989ceb16c7299ce3856d786eb7d70634bb
EBUILD fish-4.0.0-r1.ebuild 4349 BLAKE2B 0f025b0b14a2a53eaf8b3371f9f848fb7ea879d30035a294bd039c289eeb31590a234bea257648628d30bc043d4eeab66bea2978561fba41d5108ca47cedd7f8 SHA512 cd0a537f52146079ef752ea83ce19e8c576dc30436a9000bdf42a8f6b4a33d4e75a5de7370fe096f5a75e101c6adf854b60b2d97a4f1bc3b52cbf904665ebbcc
-EBUILD fish-9999.ebuild 4159 BLAKE2B 9067950471210ce1f82b298153390212f38198fd61cee7c3a3d7710199167452b7d9d85d64fb17c7f14f4d9f392105dd5ae4dabc25333a25476a43b68d84259d SHA512 890a1c4f4f656de04f7b43f34a9ce614038e29ef669f31443c42dc0bd4fb807c303e1859e4a3cf9c3914f4883b21760d7bac4848f3396a82ec9542653a1c52d2
+EBUILD fish-4.0.1.ebuild 2860 BLAKE2B 98eff85c545403488397dcb8b288bcd952b4e5c2558fd08c201d7481514be189c9566ca522439fcd2e412679dd1cfd40ff0351be0f3c900dd3efa273d0a35bc5 SHA512 30aa4093c59e4d8038645302ef8090869ae82d5a0a390a5b08cf8105faf843c7d864c7f73e71bfbb87e50ad0eafa61571243db42108c44df01e0d79371b0fd14
+EBUILD fish-9999.ebuild 3454 BLAKE2B 592a92255a5ff766e0845dd3c62e7176244e4b158a3177bbc3515e296e736b0628ab81c49f1fe0e472b069b7537608a4790b65606c85c7021d2dec01ec9ede55 SHA512 54ebfd56437dc37f1fd450821b9ad5bd36cfec334a25b1177e560607d82edf16143639f373002e9b0ca8eb1d39a705ea9ab40cd6ecf19bb993d45088c1233bb2
MISC metadata.xml 849 BLAKE2B 5cb3da9bc82b7c27bebb318df4d6a79058df1fa774a34dad666e0b89ea96e066a3293f31488f872f403e9ac2ebae68407936a036750038b776b8de9346d24a67 SHA512 df3ace1c8c02d5840b15111a70b386e4b35ab574e7da6c4f065a571c74822b3178ca5996b69cfa0de95b5f12e873ff62c3476494163e8d60a3e7120bfd073545
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..5d155c4ce982
--- /dev/null
+++ b/app-shells/fish/fish-4.0.1.ebuild
@@ -0,0 +1,117 @@
+# 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%'
+)
+
+inherit cargo cmake multiprocessing 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 test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ nls? ( sys-devel/gettext )
+"
+# Release tarballs contain prebuilt documentation.
+[[ ${PV} == 9999 ]] && BDEPEND+=" doc? ( dev-python/sphinx )"
+
+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"
+ -DCTEST_PARALLEL_LEVEL="$(makeopts_jobs)"
+ -DINSTALL_DOCS="$(usex doc)"
+ )
+ 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"
+
+ # 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() {
+ 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() {
+ 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
+}
diff --git a/app-shells/fish/fish-9999.ebuild b/app-shells/fish/fish-9999.ebuild
index 443624f2a4d8..6912899db052 100644
--- a/app-shells/fish/fish-9999.ebuild
+++ b/app-shells/fish/fish-9999.ebuild
@@ -5,7 +5,10 @@ EAPI=8
PYTHON_COMPAT=( python3_{11..13} )
-inherit cargo cmake python-any-r1 readme.gentoo-r1 xdg
+# Tests fail when build directory is not inside source directory.
+BUILD_DIR="${S}/build"
+
+inherit cargo cmake multiprocessing python-any-r1 readme.gentoo-r1 xdg
DESCRIPTION="Friendly Interactive SHell"
HOMEPAGE="https://fishshell.com/"
@@ -19,9 +22,10 @@ if [[ ${PV} == 9999 ]]; then
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="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
S="${WORKDIR}/${MY_P}"
@@ -30,7 +34,7 @@ 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 )"
@@ -38,16 +42,15 @@ 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
+# Release tarballs contain prebuilt documentation.
[[ ${PV} == 9999 ]] && BDEPEND+=" doc? ( dev-python/sphinx )"
-QA_FLAGS_IGNORED="**bin/fish*"
+QA_FLAGS_IGNORED="usr/bin/.*"
python_check_deps() {
use test || return 0
@@ -68,89 +71,72 @@ 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 files built with cargo_src_compile into the cmake build directory,
- # so when we run cmake_src_install they are not rebuild
+ # 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_install() {
- cmake_src_install
- keepdir /usr/share/fish/vendor_{completions,conf,functions}.d
- readme.gentoo_create_doc
+ cmake_src_compile
}
src_test() {
- # tests will create temporary files
+ # Tests will create temporary directories.
local -x TMPDIR="${T}"
- # some tests are fragile, sanitize environment
+ # Otherwise the dimension will be 0x0
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
+ # Both depend in locale variables which might not be available.
+ # No die to allow repeated test runs.
+ rm -v tests/checks/{basic,locale}.fish || :
+
+ # Gets skipped when tmux is missing, but we want consistency across different systems.
+ # No die to allow repeated test runs.
+ rm -v tests/checks/tmux-*.fish || :
- # 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 || :
+ # Enable colored output for building tests.
+ local -x CARGO_TERM_COLOR=always
+ # TODO: Figure out why we link again.
+ cargo_env cmake_build fish_run_tests
+}
- # cmake_src_test will invoke ctest but required files are missing
- cargo_env cmake_build test
+src_install() {
+ cmake_src_install
+ keepdir /usr/share/fish/vendor_{completions,conf,functions}.d
+ readme.gentoo_create_doc
}
pkg_postinst() {