unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#41919] [patch] Add curlpp C++ bindings to curl package
@ 2020-06-17 12:02 Dale Mellor
  2020-06-18 12:43 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Dale Mellor @ 2020-06-17 12:02 UTC (permalink / raw)
  To: 41919

[-- Attachment #1: Type: text/plain, Size: 3 bytes --]




[-- Attachment #2: 0001-gnu-Add-curlpp-library.patch --]
[-- Type: text/x-patch, Size: 2906 bytes --]

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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#41919] [patch] Add curlpp C++ bindings to curl package
  2020-06-17 12:02 [bug#41919] [patch] Add curlpp C++ bindings to curl package Dale Mellor
@ 2020-06-18 12:43 ` Ludovic Courtès
  2020-06-21 23:16   ` Dale Mellor
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2020-06-18 12:43 UTC (permalink / raw)
  To: Dale Mellor; +Cc: 41919

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’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#41919] [patch] Add curlpp C++ bindings to curl package
  2020-06-18 12:43 ` Ludovic Courtès
@ 2020-06-21 23:16   ` Dale Mellor
  2020-06-24 18:58     ` Marius Bakke
  0 siblings, 1 reply; 6+ messages in thread
From: Dale Mellor @ 2020-06-21 23:16 UTC (permalink / raw)
  To: 41919

[-- Attachment #1: Type: text/plain, Size: 553 bytes --]

On Thu, 2020-06-18 at 14:43 +0200, Ludovic Courtès wrote:
> 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:
> ...


Hi Ludo, I took all your comments on board; the attached patch replaces
the one I sent earlier.

Thanks,
Dale


[-- Attachment #2: a.patch --]
[-- Type: text/x-patch, Size: 2615 bytes --]

From b1506404e27552a171fe535144b2d11b6aa67cfa Mon Sep 17 00:00:00 2001
From: Dale Mellor <guix-devel-0brg6b@rdmp.org>
Date: Sun, 21 Jun 2020 23:53:07 +0100
Subject: [PATCH] gnu: Add curlpp library.

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

diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 48d7dd40bd..c8db551b00 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,33 @@ 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)
+   ;; There are no build tests to be had.
+   (arguments
+    '(#:tests? #f))
+   ;; The installed version needs the header files from the C library.
+   (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; in
+particular it 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!")
+   (home-page  "http://www.curlpp.org")
+   (license  license:x11-style)))
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#41919] [patch] Add curlpp C++ bindings to curl package
  2020-06-21 23:16   ` Dale Mellor
@ 2020-06-24 18:58     ` Marius Bakke
  2020-06-28 21:43       ` Dale Mellor
  0 siblings, 1 reply; 6+ messages in thread
From: Marius Bakke @ 2020-06-24 18:58 UTC (permalink / raw)
  To: Dale Mellor, 41919

[-- Attachment #1: Type: text/plain, Size: 3240 bytes --]

Hello Dale,

Thanks for the updated patch.  I will suggest another few improvements,
then I think it should be good to go.  :-)

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

> From b1506404e27552a171fe535144b2d11b6aa67cfa Mon Sep 17 00:00:00 2001
> From: Dale Mellor <guix-devel-0brg6b@rdmp.org>
> Date: Sun, 21 Jun 2020 23:53:07 +0100
> Subject: [PATCH] gnu: Add curlpp library.
>
> * gnu/packages/curl.scm (curlpp): New variable.

[...]

> @@ -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)

This import is unused.

>    #:use-module (gnu packages golang)
>    #:use-module (gnu packages guile)
>    #:use-module (gnu packages kerberos)
> @@ -258,3 +261,33 @@ 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
                 ^^
Extra space _____|

> +  (package
> +   (name "curlpp")
> +   (version "0.8.1")
> +   (source
> +    (origin
> +             (method  git-fetch)

What happened with the indentation here?  Also, there is an extra space
between 'method' and 'git-fetch'.

> +     (uri
> +      (git-reference

Place git-reference on the same line as uri.

> +                   (url "https://github.com/jpbarrette/curlpp.git")
> +                   (commit "v0.8.1")))

Use (string-append "v" version) here instead of hard-coding.  Also, you
should add a (file-name (git-file-name name version)) in this vicinity.

> +             (sha256
> +              (base32 "1b0ylnnrhdax4kwjq64r1fk0i24n5ss6zfzf4hxwgslny01xiwrk"))))
> +   (build-system  cmake-build-system)
                   ^^
Another extra space.

> +   ;; There are no build tests to be had.
> +   (arguments
> +    '(#:tests? #f))
> +   ;; The installed version needs the header files from the C library.
> +   (propagated-inputs
> +    `(("curl" ,curl)))
> +   (synopsis  "C++ wrapper around libcURL")
               ^^
Here too ______|

> +   (description
> +    "A free and easy-to-use client-side C++ URL transfer library,

Please use full sentences in the description.  In particular, start with
"This package provides a ..." instead of jumping to the "A ...".

> +supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP; in
> +particular it 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!")
> +   (home-page  "http://www.curlpp.org")
> +   (license  license:x11-style)))

There are extra spaces after 'home-page' and 'license'.  Also,
license:x11-style is a procedure that takes two arguments: an URI and
optionally a comment.  However reading the source files, it looks like
the standard "Expat" license, so you can use license:expat instead.

Can you send an updated patch?  TIA!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#41919] [patch] Add curlpp C++ bindings to curl package
  2020-06-24 18:58     ` Marius Bakke
@ 2020-06-28 21:43       ` Dale Mellor
  2020-07-03 21:48         ` bug#41919: " Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Dale Mellor @ 2020-06-28 21:43 UTC (permalink / raw)
  To: Marius Bakke, 41919

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

On Wed, 2020-06-24 at 20:58 +0200, Marius Bakke wrote:
> Hello Dale,
> 
> Thanks for the updated patch.  I will suggest another few improvements,
> then I think it should be good to go.  :-)


  All suggestions taken on board.

Thank you for checking over it,
Dale


[-- Attachment #2: 0001-gnu-Add-curlpp-library.patch --]
[-- Type: text/x-patch, Size: 2481 bytes --]

From 16bff1a7c18ead5bb923f2b75e38371718660abb Mon Sep 17 00:00:00 2001
From: Dale Mellor <guix-devel-0brg6b@rdmp.org>
Date: Sun, 21 Jun 2020 23:53:07 +0100
Subject: [PATCH] gnu: Add curlpp library.

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

diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 48d7dd40bd..86fd9a8c10 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,6 +33,7 @@
   #: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)
@@ -258,3 +260,34 @@ 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 (string-append "v" version))))
+       (sha256
+        (base32 "1b0ylnnrhdax4kwjq64r1fk0i24n5ss6zfzf4hxwgslny01xiwrk"))
+       (file-name (git-file-name name version))))
+    (build-system cmake-build-system)
+    ;; There are no build tests to be had.
+    (arguments
+     '(#:tests? #f))
+    ;; The installed version needs the header files from the C library.
+    (propagated-inputs
+     `(("curl" ,curl)))
+    (synopsis "C++ wrapper around libcURL")
+    (description
+     "This package provides a free and easy-to-use client-side C++ URL
+transfer library, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT,
+FILE and LDAP; in particular it 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!")
+    (home-page "http://www.curlpp.org")
+    (license license:expat)))
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#41919: [patch] Add curlpp C++ bindings to curl package
  2020-06-28 21:43       ` Dale Mellor
@ 2020-07-03 21:48         ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2020-07-03 21:48 UTC (permalink / raw)
  To: Dale Mellor; +Cc: 41919, Marius Bakke

Hi Dale,

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

> From 16bff1a7c18ead5bb923f2b75e38371718660abb Mon Sep 17 00:00:00 2001
> From: Dale Mellor <guix-devel-0brg6b@rdmp.org>
> Date: Sun, 21 Jun 2020 23:53:07 +0100
> Subject: [PATCH] gnu: Add curlpp library.
>
> * gnu/packages/curl.scm (curlpp): New variable.

Applied, thanks!

Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-07-03 21:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-17 12:02 [bug#41919] [patch] Add curlpp C++ bindings to curl package Dale Mellor
2020-06-18 12:43 ` Ludovic Courtès
2020-06-21 23:16   ` Dale Mellor
2020-06-24 18:58     ` Marius Bakke
2020-06-28 21:43       ` Dale Mellor
2020-07-03 21:48         ` bug#41919: " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).