summaryrefslogtreecommitdiff
path: root/dev-cpp/cpp-httplib
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/cpp-httplib')
-rw-r--r--dev-cpp/cpp-httplib/Manifest1
-rw-r--r--dev-cpp/cpp-httplib/cpp-httplib-0.58.0.ebuild100
2 files changed, 101 insertions, 0 deletions
diff --git a/dev-cpp/cpp-httplib/Manifest b/dev-cpp/cpp-httplib/Manifest
index 0886028e1e62..c08a131d2466 100644
--- a/dev-cpp/cpp-httplib/Manifest
+++ b/dev-cpp/cpp-httplib/Manifest
@@ -1,2 +1,3 @@
DIST cpp-httplib-0.51.0.tar.gz 1905553 BLAKE2B 4fa8f5678d370d95f5be8e3f13437a443a03d46d6fc234cf221f8a90993685375f0c2090b632705881133dbf9ea9e2b7a6eeaec144937da8030db51da3c62b3f SHA512 da2e205dcd1127685b7f2ff1e2d5b213f08489942e1f8d97be7f4d4bf0019be2bf48b260bc463c5861d5d537e0eaf648d28953f7a9fdae880005c7bf5319cfbc
DIST cpp-httplib-0.56.0.tar.gz 1991569 BLAKE2B 593816d7b49a9c81c69e3e1505e98504a5062b00e81723fc14a1549b79fb35c5a6b6f32e0d8bd53980b33009c42840da6a48212262635840c74eb8a14cb1b724 SHA512 3db42b77a96ae2f0e41c54c3897142f6c18fa237d85e6d173ea2e1ab238e77f6ac77134dcb80f6870697ef40bb68027b131b9d45823a41cedb86c677a01482b4
+DIST cpp-httplib-0.58.0.tar.gz 1999966 BLAKE2B d0553c4523cb961c7955fae54614d42e708ead237aebde0d7bebd130bfc48a6a2ebad2b9bc85e4f0de42d61c5317195c80d31e29eb26119355fc3c80cd369787 SHA512 e0880a3d5d72b9a64ed6a1c71cc8b27420998f9cd4f6cff15b1b16cb8021b7c3b9e0e7f9d8875333a2046c3cd649307f2ce682037b8fed7753ba3c9dcddeaa34
diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.58.0.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.58.0.ebuild
new file mode 100644
index 000000000000..d9444866a930
--- /dev/null
+++ b/dev-cpp/cpp-httplib/cpp-httplib-0.58.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+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 ~arm64 ~hppa ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc"
+fi
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 0-2)" # soversion
+
+IUSE="brotli mbedtls ssl test zlib zstd"
+REQUIRED_USE="test? ( brotli zlib zstd )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ brotli? (
+ app-arch/brotli:=[${MULTILIB_USEDEP}]
+ )
+ ssl? (
+ mbedtls? ( net-libs/mbedtls:3=[${MULTILIB_USEDEP}] )
+ !mbedtls? ( >=dev-libs/openssl-3.0.13:=[${MULTILIB_USEDEP}] )
+ )
+ zlib? (
+ virtual/zlib:=[${MULTILIB_USEDEP}]
+ )
+ zstd? (
+ app-arch/zstd[${MULTILIB_USEDEP}]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-cpp/gtest
+ dev-libs/openssl
+ net-misc/curl
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local -a mycmakeargs=(
+ -DHTTPLIB_COMPILE=yes
+ -DHTTPLIB_SHARED=yes
+ -DHTTPLIB_USE_BROTLI_IF_AVAILABLE=no
+ -DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=no
+ -DHTTPLIB_USE_MBEDTLS_IF_AVAILABLE=no
+ -DHTTPLIB_USE_WOLFSSL_IF_AVAILABLE=no
+ -DHTTPLIB_USE_ZLIB_IF_AVAILABLE=no
+ -DHTTPLIB_USE_ZSTD_IF_AVAILABLE=no
+ -DHTTPLIB_REQUIRE_BROTLI=$(usex brotli)
+ -DHTTPLIB_REQUIRE_OPENSSL=$(usex ssl $(usex mbedtls no yes))
+ -DHTTPLIB_REQUIRE_MBEDTLS=$(usex ssl $(usex mbedtls))
+ -DHTTPLIB_REQUIRE_ZLIB=$(usex zlib)
+ -DHTTPLIB_REQUIRE_ZSTD=$(usex zstd)
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ cmake-multilib_src_configure
+}
+
+multilib_src_test() {
+ if [[ $(tc-get-ptr-size) == 4 ]] ; then
+ ewarn "Upstream no longer supports 32 bits:"
+ ewarn "https://github.com/yhirose/cpp-httplib/issues/2148"
+ return
+ fi
+
+ cp -p -R --reflink=auto "${S}/test" ./test || die
+
+ local -a failing_tests=(
+ # Disable all online tests.
+ "*.*_Online"
+ )
+
+ # 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=.
+}