Files
guru/dev-cpp/cpprestsdk/cpprestsdk-2.10.19-r6.ebuild
Jan-Espen Oversand 9e50852347 dev-cpp/cpprestsdk: patch for llvm up to 20
Llvm has previously required sizes/implementation of objects used in
containers and std::unique_ptr for more methods than gcc. Also in later
llvms like 19 and 20 unsigned types are not possible to use with the
std::char_traits. Cpprestsdk does use a lot of unsigned types with C++
streams and while that seems to be fine with MSVC and at least gcc up
until some point, it does not work at all with llvm 19 and 20.

Signed-off-by: Jan-Espen Oversand <sigsegv@radiotube.org>
2025-07-13 14:58:10 +02:00

42 lines
1.1 KiB
Bash

# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="A Microsoft project for cloud-based client-server communication."
HOMEPAGE="https://github.com/microsoft/cpprestsdk"
SRC_URI="https://github.com/microsoft/cpprestsdk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND=">=dev-libs/openssl-1.1.1q
>=dev-libs/boost-1.80.0-r1:=
>=sys-libs/zlib-1.2.13-r1"
DEPEND="${RDEPEND}"
BDEPEND="
app-alternatives/ninja
>=sys-devel/gcc-11.3.0
>=virtual/pkgconfig-2-r1
>=dev-cpp/websocketpp-0.8.2
"
PATCHES=(
"${FILESDIR}"/cpprestsdk-${PV}-warnings.patch
"${FILESDIR}"/cpprestsdk-${PV}-disabl-int-tests.patch
"${FILESDIR}"/cpprestsdk-${PV}-disable-werror-default.patch
"${FILESDIR}"/cpprestsdk-${PV}-boost-1.87-compat.patch
"${FILESDIR}"/cpprestsdk-${PV}-cmake-4.patch
"${FILESDIR}"/cpprestsdk-${PV}-llvm-char-traits-patch.patch
"${FILESDIR}"/cpprestsdk-${PV}-llvm-json-unique-ptr.patch
)
src_configure() {
local mycmakeargs=( -DCMAKE_BUILD_TYPE=Release )
cmake_src_configure
}