(name . guix-patches)(address . guix-patches@gnu.org)
From 89221aa43acbb32bb8af62e6a3b485e551059af8 Mon Sep 17 00:00:00 2001
From: Dale Mellor <guix-devel-0brg6b@rdmp.org>
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(-)
Toggle diff (41 lines)
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