commit:     4abc2fca7cee2f6a63fa7e20030a4f8d7cf21fdd
Author:     Alexey Sokolov <alexey+gentoo <AT> asokolov <DOT> org>
AuthorDate: Fri Mar 28 20:11:12 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 28 20:51:18 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4abc2fca

dev-cpp/cpp-httplib: fix build with zstd

Closes: https://bugs.gentoo.org/952844
Signed-off-by: Alexey Sokolov <alexey+gentoo <AT> asokolov.org>
Closes: https://github.com/gentoo/gentoo/pull/41354
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/cpp-httplib/cpp-httplib-0.20.0.ebuild      |  5 +++++
 .../files/cpp-httplib-0.20.0-zstd.patch            | 22 ++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/dev-cpp/cpp-httplib/cpp-httplib-0.20.0.ebuild 
b/dev-cpp/cpp-httplib/cpp-httplib-0.20.0.ebuild
index 22948a73eaae..3097564bc7ab 100644
--- a/dev-cpp/cpp-httplib/cpp-httplib-0.20.0.ebuild
+++ b/dev-cpp/cpp-httplib/cpp-httplib-0.20.0.ebuild
@@ -46,8 +46,13 @@ DEPEND="
 "
 BDEPEND="
        ${PYTHON_DEPS}
+       virtual/pkgconfig
 "
 
+PATCHES=(
+       "${FILESDIR}/${P}-zstd.patch"
+)
+
 src_configure() {
        local -a mycmakeargs=(
                -DHTTPLIB_COMPILE=yes

diff --git a/dev-cpp/cpp-httplib/files/cpp-httplib-0.20.0-zstd.patch 
b/dev-cpp/cpp-httplib/files/cpp-httplib-0.20.0-zstd.patch
new file mode 100644
index 000000000000..3ebee4451bc6
--- /dev/null
+++ b/dev-cpp/cpp-httplib/files/cpp-httplib-0.20.0-zstd.patch
@@ -0,0 +1,22 @@
+https://github.com/yhirose/cpp-httplib/pull/2121
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -159,10 +159,16 @@ elseif(HTTPLIB_USE_BROTLI_IF_AVAILABLE)
+ endif()
+ 
+ if(HTTPLIB_REQUIRE_ZSTD)
+-      find_package(zstd REQUIRED)
++      find_package(zstd)
++      if(NOT zstd_FOUND)
++              find_package(PkgConfig REQUIRED)
++              pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
++              add_library(zstd::libzstd ALIAS PkgConfig::zstd)
++      endif()
+       set(HTTPLIB_IS_USING_ZSTD TRUE)
+ elseif(HTTPLIB_USE_ZSTD_IF_AVAILABLE)
+       find_package(zstd QUIET)
++      # TODO: try to find it via pkg-config
+       set(HTTPLIB_IS_USING_ZSTD ${zstd_FOUND})
+ endif()
+ 

Reply via email to