Subject: [bug#53392] [PATCH] gnu: curl: patch curlpp.pc.in before configure.

From: Dale Mellor <[email-masked]>
Date: Thu, 20 Jan 2022 15:08:47 +0000

>From 89221aa43acbb32bb8af62e6a3b485e551059af8 Mon Sep 17 00:00:00 2001
From: Dale Mellor <[email-masked]>
Date: Thu, 20 Jan 2022 14:46:54 +0000
Subject: [PATCH] gnu: curl: patch curlpp.pc.in before configure.

The current curlpp.pc pkg-config file that gets installed stipulates that
compilers take -Iinclude to link against the curlpp library, but this is
insufficient to locate the headers.  A patch has been pushed upstream, but
there has been no response in over a week so we are 'kludging' the issue here
until it is fixed properly.

* gnu/packages/curl.scm (curlpp): add pre-configure build step
  "patch-pkg-config", and put pkg-config itself into propagated-inputs.
---
 gnu/packages/curl.scm | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 9a9d788ceb..e1b0344be5 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -292,10 +292,32 @@ (define-public curlpp
     (build-system cmake-build-system)
     ;; There are no build tests to be had.
     (arguments
-     '(#:tests? #f))
+     '(#:phases (modify-phases %standard-phases
+                  (add-before 'configure 'patch-pkg-config
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (with-output-to-file "extras/curlpp.pc.in"
+                        (lambda ()
+                                (display
+                                 "\
+prefix=@prefix@
+exec_prefix=${prefix}
+includedir=${prefix}/@includedir@
+libdir=${exec_prefix}/@libdir@
+
+Name: curlpp
+Description: cURLpp is a libcurl C++ wrapper
+Version: @VERSION@
+Libs: -L${libdir} -lcurlpp @LDFLAGS@ @LIBS@
+Cflags: -I${includedir} @CURLPP_CXXFLAGS@
+# libcurl is required as non-private because CurlHandle.inl uses curl_easy_setopt.
+Requires: libcurl
+"
+                                 )
+                                #t)))))
+       #:tests? #f))
     ;; The installed version needs the header files from the C library.
     (propagated-inputs
-     (list curl))
+     (list pkg-config curl))
     (synopsis "C++ wrapper around libcURL")
     (description
      "This package provides a free and easy-to-use client-side C++ URL
-- 
2.34.0