gnu: dealii: Update to 8.5.0.
[jackhill/guix/guix.git] / gnu / packages / curl.scm
CommitLineData
6b9105e5 1;;; GNU Guix --- Functional package management for GNU
8cab7580 2;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
74d72608 3;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
a55e2b22 4;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
9d9847e1 5;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
678dd8a5 6;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
6b9105e5
AE
7;;;
8;;; This file is part of GNU Guix.
9;;;
10;;; GNU Guix is free software; you can redistribute it and/or modify it
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
15;;; GNU Guix is distributed in the hope that it will be useful, but
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23(define-module (gnu packages curl)
b5b73a82 24 #:use-module ((guix licenses) #:prefix license:)
6b9105e5
AE
25 #:use-module (guix packages)
26 #:use-module (guix download)
27 #:use-module (guix build-system gnu)
b6b29c77 28 #:use-module (gnu packages)
6b9105e5 29 #:use-module (gnu packages compression)
6b9105e5
AE
30 #:use-module (gnu packages groff)
31 #:use-module (gnu packages gsasl)
32 #:use-module (gnu packages libidn)
33 #:use-module (gnu packages openldap)
34 #:use-module (gnu packages perl)
35 #:use-module (gnu packages pkg-config)
c0e57fb8 36 #:use-module (gnu packages python)
a7fd7b68
AE
37 #:use-module (gnu packages ssh)
38 #:use-module (gnu packages tls))
6b9105e5
AE
39
40(define-public curl
41 (package
42 (name "curl")
daf30066 43 (replacement curl-7.54.1)
e90e0fad 44 (version "7.53.0")
6b9105e5
AE
45 (source (origin
46 (method url-fetch)
6588c283 47 (uri (string-append "https://curl.haxx.se/download/curl-"
6b9105e5
AE
48 version ".tar.lzma"))
49 (sha256
50 (base32
e90e0fad 51 "1k0i31xygb804c61llhin5wbpcscg4gfqmbxcfkpdr1alwh7igrq"))))
6b9105e5 52 (build-system gnu-build-system)
9d9847e1
LC
53 (outputs '("out"
54 "doc")) ;1.2 MiB of man3 pages
6b9105e5 55 (inputs `(("gnutls" ,gnutls)
6b9105e5
AE
56 ("gss" ,gss)
57 ("libidn" ,libidn)
8d5ceb12 58 ("libssh2" ,libssh2)
6b9105e5 59 ("openldap" ,openldap)
6b9105e5 60 ("zlib" ,zlib)))
c4c4cc05
JD
61 (native-inputs
62 `(("perl" ,perl)
63 ;; to enable the --manual option and make test 1026 pass
64 ("groff" ,groff)
c0e57fb8
SHT
65 ("pkg-config" ,pkg-config)
66 ("python" ,python-2)))
6b9105e5 67 (arguments
c0e57fb8
SHT
68 `(#:configure-flags '("--with-gnutls" "--with-gssapi")
69 ;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl
70 #:phases
5625adfc 71 (modify-phases %standard-phases
9d9847e1
LC
72 (add-after
73 'install 'move-man3-pages
74 (lambda* (#:key outputs #:allow-other-keys)
75 ;; Move section 3 man pages to "doc".
76 (let ((out (assoc-ref outputs "out"))
77 (doc (assoc-ref outputs "doc")))
78 (mkdir-p (string-append doc "/share/man"))
79 (rename-file (string-append out "/share/man/man3")
80 (string-append doc "/share/man/man3"))
81 #t)))
5625adfc
LC
82 (replace
83 'check
84 (lambda _
85 (substitute* "tests/runtests.pl"
86 (("/bin/sh") (which "sh")))
186de634 87
5625adfc
LC
88 ;; XXX FIXME: Test #1510 seems to work on some machines and not
89 ;; others, possibly based on the kernel version. It works on GuixSD
90 ;; on x86_64 with linux-libre-4.1, but fails on Hydra for both i686
91 ;; and x86_64 with the following error:
92 ;;
93 ;; test 1510...[HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)]
94 ;;
95 ;; 1510: output (log/stderr1510) FAILED:
a124bbd2
SB
96 ;; --- log/check-expected 2015-06-27 07:45:53.166720834 +0000
97 ;; +++ log/check-generated 2015-06-27 07:45:53.166720834 +0000
5625adfc
LC
98 ;; @@ -1,5 +1,5 @@
99 ;; * Connection #0 to host server1.example.com left intact[LF]
100 ;; * Connection #1 to host server2.example.com left intact[LF]
101 ;; * Connection #2 to host server3.example.com left intact[LF]
102 ;; -* Closing connection 0[LF]
103 ;; +* Closing connection 1[LF]
104 ;; * Connection #3 to host server4.example.com left intact[LF]
105 (delete-file "tests/data/test1510")
d2e3caba 106
5625adfc
LC
107 ;; The top-level "make check" does "make -C tests quiet-test", which
108 ;; is too quiet. Use the "test" target instead, which is more
109 ;; verbose.
110 (zero? (system* "make" "-C" "tests" "test")))))))
35b9e423 111 (synopsis "Command line tool for transferring data with URL syntax")
6b9105e5
AE
112 (description
113 "curl is a command line tool for transferring data with URL syntax,
114supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
115LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
7c125ce0
AK
116curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP
117form based upload, proxies, cookies, file transfer resume, user+password
118authentication (Basic, Digest, NTLM, Negotiate, kerberos...), proxy
119tunneling, and so on.")
166191b3 120 (license (license:non-copyleft "file://COPYING"
7c125ce0 121 "See COPYING in the distribution."))
14251e30 122 (home-page "https://curl.haxx.se/")))
e1444afa 123
daf30066 124(define curl-7.54.1
e1444afa
LF
125 (package
126 (inherit curl)
daf30066 127 (version "7.54.1")
e1444afa
LF
128 (source
129 (origin
130 (method url-fetch)
131 (uri (string-append "https://curl.haxx.se/download/curl-"
132 version ".tar.lzma"))
133 (sha256
134 (base32
daf30066 135 "0vnv3cz0s1l5cjby86hm0x6pgzqijmdm97qa9q5px200956z6yib"))))))