diff mbox series

[bug#41919] Add curlpp C++ bindings to curl package

Message ID b2d4e1834d7a43222aa606c623cc662fa047fb98.camel@rdmp.org
State Accepted
Headers show
Series [bug#41919] Add curlpp C++ bindings to curl package | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Dale Mellor June 17, 2020, 12:02 p.m. UTC

Comments

Ludovic Courtès June 18, 2020, 12:43 p.m. UTC | #1
Hi Dale,

Dale Mellor <guix-devel-0brg6b@rdmp.org> skribis:

> From 36c628cd27c2c6f281ec800767ba0e514fae13b1 Mon Sep 17 00:00:00 2001
> From: Dale Mellor <guix-devel-0brg6b@rdmp.org>
> Date: Wed, 17 Jun 2020 12:42:54 +0100
> Subject: [PATCH] gnu:  Add curlpp library.
>
> * gnu/packages/curl.scm (curlpp): New variable.

Nice!  A couple of comments:

[...]

> +(define-public  curlpp
> +  (package
> +   (name "curlpp")

Please pass the package through ./etc/indent-code.el:

  https://guix.gnu.org/manual/en/html_node/Formatting-Code.html

> +   (version "0.8.1")
> +   (source  (origin
> +             (method  git-fetch)
> +             (uri (git-reference
> +                   (url "https://github.com/jpbarrette/curlpp.git")
> +                   (commit "v0.8.1")))
> +             (sha256
> +              (base32 "1b0ylnnrhdax4kwjq64r1fk0i24n5ss6zfzf4hxwgslny01xiwrk"))))
> +   (build-system  cmake-build-system)
> +   (arguments  `(#:phases (modify-phases %standard-phases (delete 'check))))

To disable tests, use #:tests? #f.

However, we only disable tests when there’s a compelling reason to do
so, in which case there should be a comment indicating why they’re
disabled.

What’s the reason here?  Perhaps name-lookup errors?  (There’s no
networking in the isolated build environment.)

> +   (propagated-inputs `(("curl" ,curl)))

Do we need to propagate due to cURL headers being included in public
headers?

> +   (synopsis  "C++ wrapper around libcURL")
> +   (description
> +    "A free and easy-to-use client-side C++ URL transfer library,
> +supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. The
> +curlpp library supports HTTPS certificates, HTTP POST, HTTP PUT, FTP
> +uploading, kerberos, HTTP form based upload, proxies, cookies, user+password
> +authentication, file transfer resume, http proxy tunneling and more!  The
> +curlpp library is highly portable, it builds and works identically on numerous
> +platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX,
> +AIX, Tru64, Linux, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS,
> +RISC OS, Novell NetWare, DOS and more... curlpp is free, thread-safe, IPv6
> +compatible, feature rich, well supported and fast.")

Please write full sentences and remove the list of supported operating
systems, which is not useful info in the context of Guix:

  https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html

Thanks for the patch!

Ludo’.
diff mbox series

Patch

From 36c628cd27c2c6f281ec800767ba0e514fae13b1 Mon Sep 17 00:00:00 2001
From: Dale Mellor <guix-devel-0brg6b@rdmp.org>
Date: Wed, 17 Jun 2020 12:42:54 +0100
Subject: [PATCH] gnu:  Add curlpp library.

* gnu/packages/curl.scm (curlpp): New variable.
---
 gnu/packages/curl.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 48d7dd40bd..f7dc7161de 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -10,6 +10,7 @@ 
 ;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
+;;; Copyright © 2020 Dale Mellor <guix-devel-0brg6b@rdmp.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,10 +33,12 @@ 
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages gawk)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages kerberos)
@@ -258,3 +261,32 @@  not offer a replacement for libcurl.")
 Guile to do client-side URL transfers, like requesting documents from HTTP or
 FTP servers.  It is based on the curl library.")
    (license license:gpl3+)))
+
+(define-public  curlpp
+  (package
+   (name "curlpp")
+   (version "0.8.1")
+   (source  (origin
+             (method  git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/jpbarrette/curlpp.git")
+                   (commit "v0.8.1")))
+             (sha256
+              (base32 "1b0ylnnrhdax4kwjq64r1fk0i24n5ss6zfzf4hxwgslny01xiwrk"))))
+   (build-system  cmake-build-system)
+   (arguments  `(#:phases (modify-phases %standard-phases (delete 'check))))
+   (propagated-inputs `(("curl" ,curl)))
+   (synopsis  "C++ wrapper around libcURL")
+   (description
+    "A free and easy-to-use client-side C++ URL transfer library,
+supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. The
+curlpp library supports HTTPS certificates, HTTP POST, HTTP PUT, FTP
+uploading, kerberos, HTTP form based upload, proxies, cookies, user+password
+authentication, file transfer resume, http proxy tunneling and more!  The
+curlpp library is highly portable, it builds and works identically on numerous
+platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX,
+AIX, Tru64, Linux, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS,
+RISC OS, Novell NetWare, DOS and more... curlpp is free, thread-safe, IPv6
+compatible, feature rich, well supported and fast.")
+   (home-page  "http://www.curlpp.org")
+   (license  license:x11-style)))
-- 
2.20.1