[PATCH] gnu: curl: patch curlpp.pc.in before configure.

  • Open
  • quality assurance status badge
One participant
  • Dale Mellor
Submitted by
Dale Mellor
Dale Mellor wrote on 20 Jan 2022 16:08
(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.
- '(#: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
+ "\
+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.
- (list curl))
+ (list pkg-config curl))
(synopsis "C++ wrapper around libcURL")
"This package provides a free and easy-to-use client-side C++ URL