From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 8609C158083 for ; Fri, 6 Sep 2024 16:47:02 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8B181E2A52; Fri, 6 Sep 2024 16:47:01 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 56373E2A52 for ; Fri, 6 Sep 2024 16:47:01 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 3918834068A for ; Fri, 6 Sep 2024 16:47:00 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A0567F9E for ; Fri, 6 Sep 2024 16:46:58 +0000 (UTC) From: "orbea" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "orbea" Message-ID: <1725641137.8fbe92da4d556b1a16e8944f5c68c094f37ab0f1.orbea@gentoo> Subject: [gentoo-commits] repo/proj/libressl:master commit in: dev-cpp/cpp-httplib/, dev-cpp/cpp-httplib/files/ X-VCS-Repository: repo/proj/libressl X-VCS-Files: dev-cpp/cpp-httplib/Manifest dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild dev-cpp/cpp-httplib/cpp-httplib-0.16.0.ebuild dev-cpp/cpp-httplib/files/cpp-httplib-0.16.0-libressl.patch dev-cpp/cpp-httplib/metadata.xml X-VCS-Directories: dev-cpp/cpp-httplib/files/ dev-cpp/cpp-httplib/ X-VCS-Committer: orbea X-VCS-Committer-Name: orbea X-VCS-Revision: 8fbe92da4d556b1a16e8944f5c68c094f37ab0f1 X-VCS-Branch: master Date: Fri, 6 Sep 2024 16:46:58 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 10b59d8f-3735-403e-a2ad-13252380a645 X-Archives-Hash: c140aeed71ebab6e826050b68c32f747 commit: 8fbe92da4d556b1a16e8944f5c68c094f37ab0f1 Author: orbea riseup net> AuthorDate: Fri Sep 6 16:45:37 2024 +0000 Commit: orbea riseup net> CommitDate: Fri Sep 6 16:45:37 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=8fbe92da dev-cpp/cpp-httplib: new package, add 0.15.3-r1, 0.16.0 Signed-off-by: orbea riseup.net> dev-cpp/cpp-httplib/Manifest | 2 + dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild | 87 ++++++++++++++++++++ dev-cpp/cpp-httplib/cpp-httplib-0.16.0.ebuild | 93 ++++++++++++++++++++++ .../files/cpp-httplib-0.16.0-libressl.patch | 27 +++++++ dev-cpp/cpp-httplib/metadata.xml | 20 +++++ 5 files changed, 229 insertions(+) diff --git a/dev-cpp/cpp-httplib/Manifest b/dev-cpp/cpp-httplib/Manifest new file mode 100644 index 0000000..a46a395 --- /dev/null +++ b/dev-cpp/cpp-httplib/Manifest @@ -0,0 +1,2 @@ +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 diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild new file mode 100644 index 0000000..526f3e0 --- /dev/null +++ b/dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +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="amd64 ~arm ~arm64 ~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} +" + +PATCHES=( "${FILESDIR}"/${PN}-0.16.0-libressl.patch ) + +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// /:}" + + GTEST_FILTER="-${failing_tests_filter}" emake -C test \ + CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I." +} diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.16.0.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.16.0.ebuild new file mode 100644 index 0000000..9c87852 --- /dev/null +++ b/dev-cpp/cpp-httplib/cpp-httplib-0.16.0.ebuild @@ -0,0 +1,93 @@ +# 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} +" + +PATCHES=( "${FILESDIR}"/${P}-libressl.patch ) + +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// /:}" + + GTEST_FILTER="-${failing_tests_filter}" emake -C test \ + CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I." +} diff --git a/dev-cpp/cpp-httplib/files/cpp-httplib-0.16.0-libressl.patch b/dev-cpp/cpp-httplib/files/cpp-httplib-0.16.0-libressl.patch new file mode 100644 index 0000000..f23ea82 --- /dev/null +++ b/dev-cpp/cpp-httplib/files/cpp-httplib-0.16.0-libressl.patch @@ -0,0 +1,27 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,7 +81,7 @@ project(httplib + + # Change as needed to set an OpenSSL minimum version. + # This is used in the installed Cmake config file. +-set(_HTTPLIB_OPENSSL_MIN_VER "3.0.0") ++set(_HTTPLIB_OPENSSL_MIN_VER "2.0.0") + + # Lets you disable C++ exception during CMake configure time. + # The value is used in the install CMake config file. +--- a/httplib.h ++++ b/httplib.h +@@ -269,9 +269,13 @@ using socket_t = int; + #include + #include + ++#ifdef LIBRESSL_VERSION_NUMBER ++#define SSL_get1_peer_certificate SSL_get_peer_certificate ++#else + #if OPENSSL_VERSION_NUMBER < 0x30000000L + #error Sorry, OpenSSL versions prior to 3.0.0 are not supported + #endif ++#endif + + #endif + diff --git a/dev-cpp/cpp-httplib/metadata.xml b/dev-cpp/cpp-httplib/metadata.xml new file mode 100644 index 0000000..2c799a5 --- /dev/null +++ b/dev-cpp/cpp-httplib/metadata.xml @@ -0,0 +1,20 @@ + + + + + xgqt@gentoo.org + Maciej Barć + + + alexey+gentoo@asokolov.org + Alexey Sokolov + + + proxy-maint@gentoo.org + Proxy Maintainers + + + yhirose/cpp-httplib + https://github.com/yhirose/cpp-httplib/issues + +