| 24 |
24 |
|
| 25 |
25 |
LICENSE="LGPL-2.1"
|
| 26 |
26 |
SLOT="0/4" # subslot = soname major version
|
| 27 |
|
IUSE="debug doc examples gssapi mbedtls pcap server +sftp static-libs test zlib"
|
|
27 |
IUSE="debug examples fido2 gssapi mbedtls pcap server +sftp static-libs test zlib"
|
| 28 |
28 |
# Maintainer: check IUSE-defaults at DefineOptions.cmake
|
| 29 |
29 |
RESTRICT="!test? ( test )"
|
| 30 |
30 |
|
| 31 |
31 |
RDEPEND="
|
| 32 |
32 |
!mbedtls? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
|
|
33 |
fido2? ( dev-libs/libfido2:= )
|
| 33 |
34 |
gssapi? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
|
| 34 |
35 |
mbedtls? ( net-libs/mbedtls:3=[${MULTILIB_USEDEP},threads] )
|
| 35 |
36 |
zlib? ( >=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] )
|
| 36 |
37 |
"
|
| 37 |
|
DEPEND="${RDEPEND}
|
|
38 |
DEPEND="
|
|
39 |
${RDEPEND}
|
| 38 |
40 |
test? (
|
| 39 |
41 |
>=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}]
|
| 40 |
42 |
elibc_musl? ( sys-libs/argp-standalone )
|
| 41 |
43 |
)
|
| 42 |
44 |
"
|
| 43 |
|
BDEPEND+=" doc? ( app-text/doxygen[dot] )"
|
| 44 |
45 |
|
| 45 |
46 |
DOCS=( AUTHORS CHANGELOG README )
|
| 46 |
47 |
|
|
48 |
MULTILIB_WRAPPED_HEADERS=(
|
|
49 |
# No multilib for libfido2
|
|
50 |
/usr/include/libssh/sk_api.h
|
|
51 |
)
|
|
52 |
|
| 47 |
53 |
src_unpack() {
|
| 48 |
54 |
if [[ ${PV} == *9999* ]] ; then
|
| 49 |
55 |
git-r3_src_unpack
|
| ... | ... | |
| 108 |
114 |
-DWITH_STACK_PROTECTOR_STRONG=OFF
|
| 109 |
115 |
-DWITH_DEBUG_CALLTRACE=$(usex debug)
|
| 110 |
116 |
-DWITH_DEBUG_CRYPTO=$(usex debug)
|
|
117 |
-DWITH_FIDO2=$(multilib_native_usex fido2)
|
| 111 |
118 |
# Deprecated per CMakeLists.txt
|
| 112 |
119 |
-DWITH_GCRYPT=OFF
|
| 113 |
120 |
-DWITH_GSSAPI=$(usex gssapi)
|
| ... | ... | |
| 117 |
124 |
-DWITH_SERVER=$(usex server)
|
| 118 |
125 |
-DWITH_SFTP=$(usex sftp)
|
| 119 |
126 |
-DBUILD_STATIC_LIB=$(usex static-libs)
|
| 120 |
|
# TODO: try enabling {CLIENT,SERVER}_TESTING
|
|
127 |
|
|
128 |
# TODO: Still needs some work, some tests hang and some fail
|
|
129 |
# Would need net-misc/openssh and net-misc/putty too
|
|
130 |
#-DCLIENT_TESTING=$(multilib_native_usex test)
|
|
131 |
#-DSERVER_TESTING=$(multilib_native_usex test)
|
|
132 |
-DCLIENT_TESTING=OFF
|
|
133 |
-DSERVER_TESTING=OFF
|
| 121 |
134 |
-DUNIT_TESTING=$(usex test)
|
|
135 |
|
| 122 |
136 |
-DWITH_ZLIB=$(usex zlib)
|
| 123 |
137 |
)
|
| 124 |
138 |
|
| ... | ... | |
| 127 |
141 |
cmake_src_configure
|
| 128 |
142 |
}
|
| 129 |
143 |
|
| 130 |
|
multilib_src_compile() {
|
| 131 |
|
cmake_src_compile
|
| 132 |
|
multilib_is_native_abi && use doc && cmake_src_compile docs
|
| 133 |
|
}
|
| 134 |
|
|
| 135 |
144 |
multilib_src_test() {
|
| 136 |
|
cmake_src_test --timeout 3000
|
|
145 |
# torture_server_direct_tcpip fails in parallel
|
|
146 |
cmake_src_test -j1 --timeout 3000
|
| 137 |
147 |
}
|
| 138 |
148 |
|
| 139 |
149 |
multilib_src_install() {
|
| 140 |
150 |
cmake_src_install
|
| 141 |
|
multilib_is_native_abi && use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
|
| 142 |
151 |
|
| 143 |
152 |
use static-libs && dolib.a src/libssh.a
|
| 144 |
153 |
|