Commit | Line | Data |
---|---|---|
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, | |
114 | supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, | |
115 | LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. | |
7c125ce0 AK |
116 | curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP |
117 | form based upload, proxies, cookies, file transfer resume, user+password | |
118 | authentication (Basic, Digest, NTLM, Negotiate, kerberos...), proxy | |
119 | tunneling, 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")))))) |