forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Alexey Sokolov <[email protected]> Closes: gentoo#38020 Signed-off-by: Maciej Barć <[email protected]>
- Loading branch information
1 parent
faa3903
commit 7598cb6
Showing
2 changed files
with
93 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST cpp-httplib-0.15.3.tar.gz 1151398 BLAKE2B 8ce7d7e59c0954efb14a11e565f9cdf02c007a3b6d39dbdcb21b412906eed3ceeca3182096f4b4eadb32a5886e839e64774ae9a1110ddb60fb7cdea35b5b7d50 SHA512 f7fc9c9eb71f091b82958e023a7b417b30d2590fd5d1a920d1c98361f34bcaca796dbeda7f9fdb8b2c722a8968977b77463c6cbb252cba9823a79c22471fa439 | ||
DIST cpp-httplib-0.16.0.tar.gz 1156790 BLAKE2B 4a75059f16f6e46685c2cf028c6fa4c9cd50c35273795a8dbb6ca9d2997146b04b305893ad50adbb62c39db14ab3f589e902353bb199ee167d2648fe3621aee1 SHA512 63dc5a50f425e7be909d60db138caa1b9d7260c5d4db26603011a329f0d6a645d56f436c79466fbe662f24a94bc0f72926062b3ed49cb658eb91a6bdb2ddf25b | ||
DIST cpp-httplib-0.16.2.tar.gz 1157538 BLAKE2B 0fdb3946e33f3af0a6b9646d5edf53572d67fb7e2334923c3ef9784aad569672c21e12c6d0f4c1f91ceccb8d9b3e8f14d51b21f4c6cf252da98024cee47cfcbe SHA512 d0a3d5477cb76cbbbc6da53b0abff3b45fd6b77c0d1686b355ce2904593c67c25849d2b1348e49b0b57ece5be91404fe976b06d75d34eb5068b1e130fd7ddbee |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
# Copyright 2022-2024 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
PYTHON_COMPAT=( python3_{11..13} ) | ||
|
||
inherit cmake-multilib python-any-r1 toolchain-funcs | ||
|
||
DESCRIPTION="C++ HTTP/HTTPS server and client library" | ||
HOMEPAGE="https://github.com/yhirose/cpp-httplib/" | ||
|
||
if [[ "${PV}" == *9999* ]] ; then | ||
inherit git-r3 | ||
|
||
EGIT_REPO_URI="https://github.com/yhirose/${PN}.git" | ||
else | ||
SRC_URI="https://github.com/yhirose/${PN}/archive/v${PV}.tar.gz | ||
-> ${P}.tar.gz" | ||
|
||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" | ||
fi | ||
|
||
LICENSE="MIT" | ||
SLOT="0/$(ver_cut 1-2)" # soversion | ||
|
||
IUSE="brotli ssl test zlib" | ||
REQUIRED_USE="test? ( brotli ssl zlib )" | ||
RESTRICT="!test? ( test )" | ||
|
||
RDEPEND=" | ||
brotli? ( | ||
app-arch/brotli:=[${MULTILIB_USEDEP}] | ||
) | ||
ssl? ( | ||
>=dev-libs/openssl-3.0.13:=[${MULTILIB_USEDEP}] | ||
) | ||
zlib? ( | ||
sys-libs/zlib[${MULTILIB_USEDEP}] | ||
) | ||
" | ||
DEPEND=" | ||
${RDEPEND} | ||
" | ||
BDEPEND=" | ||
${PYTHON_DEPS} | ||
" | ||
|
||
src_configure() { | ||
local -a mycmakeargs=( | ||
-DHTTPLIB_COMPILE=yes | ||
-DBUILD_SHARED_LIBS=yes | ||
-DHTTPLIB_USE_BROTLI_IF_AVAILABLE=no | ||
-DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=no | ||
-DHTTPLIB_USE_ZLIB_IF_AVAILABLE=no | ||
-DHTTPLIB_REQUIRE_BROTLI=$(usex brotli) | ||
-DHTTPLIB_REQUIRE_OPENSSL=$(usex ssl) | ||
-DHTTPLIB_REQUIRE_ZLIB=$(usex zlib) | ||
-DPython3_EXECUTABLE="${PYTHON}" | ||
) | ||
cmake-multilib_src_configure | ||
} | ||
|
||
multilib_src_test() { | ||
cp -p -R --reflink=auto "${S}/test" ./test || die | ||
|
||
local -a failing_tests=( | ||
# Disable all online tests. | ||
"*.*_Online" | ||
|
||
# Fails on musl x86: | ||
ServerTest.GetRangeWithMaxLongLength | ||
ServerTest.GetStreamedWithTooManyRanges | ||
|
||
# https://github.com/yhirose/cpp-httplib/issues/1798 | ||
# Filed by mgorny's testing, fails on openssl >=3.2: | ||
SSLClientServerTest.ClientCertPresent | ||
SSLClientServerTest.ClientEncryptedCertPresent | ||
SSLClientServerTest.CustomizeServerSSLCtx | ||
SSLClientServerTest.MemoryClientCertPresent | ||
SSLClientServerTest.MemoryClientEncryptedCertPresent | ||
SSLClientServerTest.TrustDirOptional | ||
) | ||
|
||
# Little dance to please the GTEST filter (join array using ":"). | ||
failing_tests_str="${failing_tests[@]}" | ||
failing_tests_filter="${failing_tests_str// /:}" | ||
|
||
# PREFIX is . to avoid calling "brew" and relying on stuff in /opt | ||
GTEST_FILTER="-${failing_tests_filter}" emake -C test \ | ||
CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I." PREFIX=. | ||
} |