diff options
Diffstat (limited to 'app-shells')
-rw-r--r-- | app-shells/Manifest.gz | bin | 10638 -> 10635 bytes | |||
-rw-r--r-- | app-shells/fish/Manifest | 5 | ||||
-rw-r--r-- | app-shells/fish/fish-4.0.1.ebuild | 117 | ||||
-rw-r--r-- | app-shells/fish/fish-9999.ebuild | 106 |
4 files changed, 167 insertions, 61 deletions
diff --git a/app-shells/Manifest.gz b/app-shells/Manifest.gz Binary files differindex 1c221ccdbf4d..e69864009f15 100644 --- a/app-shells/Manifest.gz +++ b/app-shells/Manifest.gz 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() { |