diff options
Diffstat (limited to 'dev-cpp')
| -rw-r--r-- | dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r5.ebuild | 68 | ||||
| -rw-r--r-- | dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r4.ebuild | 68 | ||||
| -rw-r--r-- | dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild | 68 | ||||
| -rw-r--r-- | dev-cpp/abseil-cpp/files/abseil-cpp-include-cstdint.patch | 33 | ||||
| -rw-r--r-- | dev-cpp/cpp-httplib/Manifest | 2 | ||||
| -rw-r--r-- | dev-cpp/cpp-httplib/cpp-httplib-0.16.1.ebuild (renamed from dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild) | 30 | ||||
| -rw-r--r-- | dev-cpp/cpp-httplib/files/cpp-httplib-0.16.1-httplib_h.patch | 33 |
7 files changed, 288 insertions, 14 deletions
diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r5.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r5.ebuild new file mode 100644 index 000000000000..818d83915224 --- /dev/null +++ b/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r5.ebuild @@ -0,0 +1,68 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit cmake-multilib python-any-r1 + +DESCRIPTION="Abseil Common Libraries (C++), LTS Branch" +HOMEPAGE="https://abseil.io/" +SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0/${PV%%.*}.0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="test" + +RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + test? ( + sys-libs/timezone-data + ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218 + "${FILESDIR}"/${PN}-random-tests.patch #935417 + "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337 + "${FILESDIR}/${PN}-include-cstdint.patch" #937307 +) + +src_prepare() { + cmake_src_prepare + + # un-hardcode abseil compiler flags + sed -i \ + -e '/"-maes",/d' \ + -e '/"-msse4.1",/d' \ + -e '/"-mfpu=neon"/d' \ + -e '/"-march=armv8-a+crypto"/d' \ + absl/copts/copts.py || die + + # now generate cmake files + python_fix_shebang absl/copts/generate_copts.py + absl/copts/generate_copts.py || die +} + +multilib_src_configure() { + local mycmakeargs=( + # We use -std=c++14 here so that abseil-cpp's string_view is used + # See the discussion in https://github.com/gentoo/gentoo/pull/32281. + -DCMAKE_CXX_STANDARD=14 + -DABSL_ENABLE_INSTALL=TRUE + -DABSL_USE_EXTERNAL_GOOGLETEST=ON + -DABSL_PROPAGATE_CXX_STD=TRUE + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON + -DABSL_BUILD_TESTING=$(usex test ON OFF) + $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. + ) + + cmake_src_configure +} diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r4.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r4.ebuild new file mode 100644 index 000000000000..b66a2112b579 --- /dev/null +++ b/dev-cpp/abseil-cpp/abseil-cpp-20230802.0-r4.ebuild @@ -0,0 +1,68 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit cmake-multilib python-any-r1 + +DESCRIPTION="Abseil Common Libraries (C++), LTS Branch" +HOMEPAGE="https://abseil.io/" +SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0/${PV%%.*}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" +IUSE="test" + +RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + test? ( + sys-libs/timezone-data + ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" + "${FILESDIR}/${PN}-random-tests.patch" #935417 + "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337 + "${FILESDIR}/${PN}-include-cstdint.patch" +) + +src_prepare() { + cmake_src_prepare + + # un-hardcode abseil compiler flags + sed -i \ + -e '/"-maes",/d' \ + -e '/"-msse4.1",/d' \ + -e '/"-mfpu=neon"/d' \ + -e '/"-march=armv8-a+crypto"/d' \ + absl/copts/copts.py || die + + # now generate cmake files + python_fix_shebang absl/copts/generate_copts.py + absl/copts/generate_copts.py || die +} + +multilib_src_configure() { + local mycmakeargs=( + # We use -std=c++14 here so that abseil-cpp's string_view is used + # See the discussion in https://github.com/gentoo/gentoo/pull/32281. + -DCMAKE_CXX_STANDARD=14 + -DABSL_ENABLE_INSTALL=TRUE + -DABSL_USE_EXTERNAL_GOOGLETEST=ON + -DABSL_PROPAGATE_CXX_STD=TRUE + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON + -DABSL_BUILD_TESTING=$(usex test ON OFF) + $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. + ) + + cmake_src_configure +} diff --git a/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild new file mode 100644 index 000000000000..0b1d561538b6 --- /dev/null +++ b/dev-cpp/abseil-cpp/abseil-cpp-20240116.2-r4.ebuild @@ -0,0 +1,68 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit cmake-multilib python-any-r1 + +DESCRIPTION="Abseil Common Libraries (C++), LTS Branch" +HOMEPAGE="https://abseil.io/" +SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0/${PV%%.*}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" +IUSE="test" + +RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + test? ( + sys-libs/timezone-data + ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" + "${FILESDIR}/${PN}-random-tests.patch" #935417 + "${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337 + "${FILESDIR}/${PN}-include-cstdint.patch" #937307 +) + +src_prepare() { + cmake_src_prepare + + # un-hardcode abseil compiler flags + sed -i \ + -e '/"-maes",/d' \ + -e '/"-msse4.1",/d' \ + -e '/"-mfpu=neon"/d' \ + -e '/"-march=armv8-a+crypto"/d' \ + absl/copts/copts.py || die + + # now generate cmake files + python_fix_shebang absl/copts/generate_copts.py + absl/copts/generate_copts.py || die +} + +multilib_src_configure() { + local mycmakeargs=( + # We use -std=c++14 here so that abseil-cpp's string_view is used + # See the discussion in https://github.com/gentoo/gentoo/pull/32281. + -DCMAKE_CXX_STANDARD=14 + -DABSL_ENABLE_INSTALL=TRUE + -DABSL_USE_EXTERNAL_GOOGLETEST=ON + -DABSL_PROPAGATE_CXX_STD=TRUE + # TEST_HELPERS needed for protobuf (bug #915902) + -DABSL_BUILD_TEST_HELPERS=ON + -DABSL_BUILD_TESTING=$(usex test ON OFF) + $(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests. + ) + + cmake_src_configure +} diff --git a/dev-cpp/abseil-cpp/files/abseil-cpp-include-cstdint.patch b/dev-cpp/abseil-cpp/files/abseil-cpp-include-cstdint.patch new file mode 100644 index 000000000000..7aa5c2f1eed9 --- /dev/null +++ b/dev-cpp/abseil-cpp/files/abseil-cpp-include-cstdint.patch @@ -0,0 +1,33 @@ +https://github.com/abseil/abseil-cpp/commit/809e5de7b92950849289236a5a09e9cb4f32c7b9 + +From: Christopher Fore <csfore@posteo.net> +Date: Mon, 5 Aug 2024 10:48:19 -0400 +Subject: [PATCH] container/internal: Explicitly include <cstdint> +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC 15 will no longer include <cstdint> by default, resulting in build +failures in projects that do not explicitly include it. + +Error: +absl/container/internal/container_memory.h:66:27: error: ‘uintptr_t’ does not name a type + 66 | assert(reinterpret_cast<uintptr_t>(p) % Alignment == 0 && + | ^~~~~~~~~ +absl/container/internal/container_memory.h:31:1: note: ‘uintptr_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’ + 30 | #include "absl/utility/utility.h" + +++ |+#include <cstdint> + 31 | + +See-also: https://gcc.gnu.org/pipermail/gcc-cvs/2024-August/407124.html +Signed-off-by: Christopher Fore <csfore@posteo.net> +--- a/absl/container/internal/container_memory.h ++++ b/absl/container/internal/container_memory.h +@@ -17,6 +17,7 @@ + + #include <cassert> + #include <cstddef> ++#include <cstdint> + #include <cstring> + #include <memory> + #include <new> diff --git a/dev-cpp/cpp-httplib/Manifest b/dev-cpp/cpp-httplib/Manifest index a46a3958fa01..7408dd9cc4d2 100644 --- a/dev-cpp/cpp-httplib/Manifest +++ b/dev-cpp/cpp-httplib/Manifest @@ -1,2 +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 +DIST cpp-httplib-0.16.1.tar.gz 1157395 BLAKE2B 5fb5b5508411819be66df1b3365511d76958715eab7da48022388c8de6332c3726aa1d49d81bbe194ccdb3af2206f6dc1d93c0375cd9452d9c90dc405cc47a99 SHA512 ddd9cedb08a892ff550d6188f91f49fe634dbc86c828a83a58068adf6fae950294a95621729e6203d5df8670c2a8c5ea9ca035ef6948067ae5ca300190cb6f0f diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild b/dev-cpp/cpp-httplib/cpp-httplib-0.16.1.ebuild index 540afb02dbe8..7e47d15b3de1 100644 --- a/dev-cpp/cpp-httplib/cpp-httplib-0.15.3-r1.ebuild +++ b/dev-cpp/cpp-httplib/cpp-httplib-0.16.1.ebuild @@ -9,17 +9,8 @@ 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 - +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" LICENSE="MIT" SLOT="0/$(ver_cut 1-2)" # soversion @@ -28,12 +19,16 @@ REQUIRED_USE="test? ( brotli ssl zlib )" RESTRICT="!test? ( test )" RDEPEND=" - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) + brotli? ( + app-arch/brotli:=[${MULTILIB_USEDEP}] + ) ssl? ( !libressl? ( >=dev-libs/openssl-3.0.13:=[${MULTILIB_USEDEP}] ) libressl? ( dev-libs/libressl:=[${MULTILIB_USEDEP}] ) ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) + zlib? ( + sys-libs/zlib[${MULTILIB_USEDEP}] + ) " DEPEND=" ${RDEPEND} @@ -42,6 +37,15 @@ BDEPEND=" ${PYTHON_DEPS} " +src_prepare() { + if use libressl; then + eapply -p1 $FILESDIR/cmakelists.patch + eapply -p1 $FILESDIR/${PN}-0.16.1-httplib_h.patch + fi + + cmake_src_prepare +} + src_configure() { local -a mycmakeargs=( -DHTTPLIB_COMPILE=yes diff --git a/dev-cpp/cpp-httplib/files/cpp-httplib-0.16.1-httplib_h.patch b/dev-cpp/cpp-httplib/files/cpp-httplib-0.16.1-httplib_h.patch new file mode 100644 index 000000000000..069469fc1fc9 --- /dev/null +++ b/dev-cpp/cpp-httplib/files/cpp-httplib-0.16.1-httplib_h.patch @@ -0,0 +1,33 @@ +diff '--color=auto' -urN cpp-httplib-0.16.1.orig/httplib.h cpp-httplib-0.16.1/httplib.h +--- cpp-httplib-0.16.1.orig/httplib.h 2024-08-07 18:39:18.623564657 +0200 ++++ cpp-httplib-0.16.1/httplib.h 2024-08-07 18:43:50.987584273 +0200 +@@ -269,7 +269,7 @@ + #include <iostream> + #include <sstream> + +-#if OPENSSL_VERSION_NUMBER < 0x30000000L ++#if OPENSSL_VERSION_NUMBER < 0x30000000L && !defined(LIBRESSL_VERSION_NUMBER) + #error Sorry, OpenSSL versions prior to 3.0.0 are not supported + #endif + +@@ -727,8 +727,10 @@ + fn(); + } + +-#ifdef CPPHTTPLIB_OPENSSL_SUPPORT ++#if defined(CPPHTTPLIB_OPENSSL_SUPPORT) && !defined(LIBRESSL_VERSION_NUMBER) + OPENSSL_thread_stop(); ++#else ++ ERR_remove_state(0); + #endif + } + +@@ -9078,7 +9080,7 @@ + return false; + } + +- auto server_cert = SSL_get1_peer_certificate(ssl2); ++ auto server_cert = SSL_get_peer_certificate(ssl2); + + if (server_cert == nullptr) { + error = Error::SSLServerVerification; |
