5 |
5 |
|
6 |
6 |
PYTHON_COMPAT=( python3_{9..11} )
|
7 |
7 |
|
8 |
|
inherit cmake python-any-r1 readme.gentoo-r1
|
|
8 |
inherit cmake python-any-r1 readme.gentoo-r1 xdg
|
9 |
9 |
|
10 |
10 |
DESCRIPTION="Friendly Interactive SHell"
|
11 |
11 |
HOMEPAGE="https://fishshell.com/"
|
... | ... | |
18 |
18 |
EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git"
|
19 |
19 |
else
|
20 |
20 |
SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.xz"
|
21 |
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
|
21 |
KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
22 |
22 |
fi
|
23 |
23 |
|
24 |
24 |
LICENSE="GPL-2"
|
25 |
25 |
SLOT="0"
|
26 |
|
IUSE="+doc nls test"
|
|
26 |
IUSE="+doc nls split-usr test"
|
27 |
27 |
|
28 |
28 |
RESTRICT="!test? ( test )"
|
29 |
29 |
|
... | ... | |
56 |
56 |
|
57 |
57 |
src_prepare() {
|
58 |
58 |
# workaround for https://github.com/fish-shell/fish-shell/issues/4883
|
59 |
|
sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
|
60 |
|
cmake/Tests.cmake || die
|
|
59 |
if use split-usr; then
|
|
60 |
sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \
|
|
61 |
cmake/Tests.cmake || die
|
|
62 |
fi
|
61 |
63 |
cmake_src_prepare
|
62 |
64 |
}
|
63 |
65 |
|
64 |
66 |
src_configure() {
|
65 |
67 |
local mycmakeargs=(
|
66 |
|
-DCMAKE_INSTALL_BINDIR="${EPREFIX}/bin"
|
|
68 |
# installing into /bin breaks tests on merged usr systems.
|
|
69 |
# sbin -> bin symlink confuses tests.
|
|
70 |
# so on split-usr we install to /bin.
|
|
71 |
# on merge-usr we set sbindir to bin.
|
|
72 |
$(usex split-usr "-DCMAKE_INSTALL_BINDIR=${EPREFIX}/bin" \
|
|
73 |
"-DCMAKE_INSTALL_SBINDIR=${EPREFIX}/usr/bin")
|
67 |
74 |
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
|
68 |
75 |
-DCURSES_NEED_NCURSES=ON
|
69 |
76 |
-DINSTALL_DOCS="$(usex doc)"
|
... | ... | |
90 |
97 |
local -x LINES=24
|
91 |
98 |
|
92 |
99 |
# very fragile, depends on terminal, size, tmux, screen and timing
|
|
100 |
# no die is intentional, for repeated test runs
|
93 |
101 |
if [[ ${PV} != 9999 ]]; then
|
94 |
|
rm -v tests/pexpects/terminal.py || die
|
|
102 |
rm -v tests/pexpects/terminal.py || :
|
95 |
103 |
fi
|
96 |
104 |
|
|
105 |
# zfs completion test will fail with "Permission denied the ZFS utilities must be run as root."
|
|
106 |
mv "${S}"/share/completions/zfs.{fish,disabled} || die
|
|
107 |
|
|
108 |
# TODO: fix tests & submit upstream
|
|
109 |
# tests are confused by usr/sbin -> bin symlink, no die is intentional for repeated test runs
|
|
110 |
use split-usr || rm -v tests/checks/{redirect,type}.fish || :
|
|
111 |
|
97 |
112 |
cmake_build test
|
|
113 |
|
|
114 |
# now restore zfs completions
|
|
115 |
mv "${S}"/share/completions/zfs.{disabled,fish} || die
|
98 |
116 |
}
|
99 |
117 |
|
100 |
118 |
pkg_postinst() {
|
101 |
119 |
readme.gentoo_print_elog
|
|
120 |
xdg_pkg_postinst
|
102 |
121 |
}
|