Unverified Commit 85a8a412 authored by Robert Scott's avatar Robert Scott Committed by GitHub
Browse files

cpp-netlib: pin boost to 186, unbreak on darwin (#405480)

parents 36607ba6 b8661fc4
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
From 8be99f5972826c25378bccb9fbd7291623c7b2a7 Mon Sep 17 00:00:00 2001
From: Moraxyc <i@qaq.li>
Date: Fri, 9 May 2025 13:39:17 +0800
Subject: [PATCH] Compatibility with boost 1.83

---
 boost/network/protocol/http/server/impl/parsers.ipp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/boost/network/protocol/http/server/impl/parsers.ipp b/boost/network/protocol/http/server/impl/parsers.ipp
index c31e60e..3272c2f 100755
--- a/boost/network/protocol/http/server/impl/parsers.ipp
+++ b/boost/network/protocol/http/server/impl/parsers.ipp
@@ -13,6 +13,7 @@
 #include <tuple>
 #include <boost/fusion/include/std_tuple.hpp>
 #include <boost/network/protocol/http/message/header.hpp>
+#include <boost/regex/pending/unicode_iterator.hpp>
 
 #ifdef BOOST_NETWORK_NO_LIB
 #ifndef BOOST_NETWORK_INLINE
@@ -32,7 +33,7 @@ typedef std::basic_string<uint32_t> u32_string;
 template <>  // <typename Attrib, typename T, typename Enable>
 struct assign_to_container_from_value<std::string, u32_string, void> {
   static void call(u32_string const& val, std::string& attr) {
-    u32_to_u8_iterator<u32_string::const_iterator> begin = val.begin(),
+    boost::u32_to_u8_iterator<u32_string::const_iterator> begin = val.begin(),
                                                    end = val.end();
     for (; begin != end; ++begin) attr += *begin;
   }
-- 
2.48.1
+14 −4
Original line number Diff line number Diff line
@@ -3,11 +3,15 @@
  stdenv,
  fetchFromGitHub,
  cmake,
  boost181,
  boost186,
  openssl,
  llvmPackages_18,
}:

stdenv.mkDerivation rec {
let
  # std::char_traits has been removed
  stdenvForCppNetlib = if stdenv.hostPlatform.isDarwin then llvmPackages_18.stdenv else stdenv;
in
stdenvForCppNetlib.mkDerivation rec {
  pname = "cpp-netlib";
  version = "0.13.0-final";

@@ -19,9 +23,15 @@ stdenv.mkDerivation rec {
    fetchSubmodules = true;
  };

  patches = [
    # 'u32_to_u8_iterator' was not declared
    ./0001-Compatibility-with-boost-1.83.patch
  ];

  nativeBuildInputs = [ cmake ];
  buildInputs = [
    boost181
    # io_service.hpp has been removed in boost 1.87+
    boost186
    openssl
  ];