Commit | Line | Data |
---|---|---|
6b9105e5 | 1 | ;;; GNU Guix --- Functional package management for GNU |
87806dde | 2 | ;;; Copyright © 2013, 2014 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> |
6b9105e5 AE |
5 | ;;; |
6 | ;;; This file is part of GNU Guix. | |
7 | ;;; | |
8 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
9 | ;;; under the terms of the GNU General Public License as published by | |
10 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
11 | ;;; your option) any later version. | |
12 | ;;; | |
13 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
14 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | ;;; GNU General Public License for more details. | |
17 | ;;; | |
18 | ;;; You should have received a copy of the GNU General Public License | |
19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
20 | ||
21 | (define-module (gnu packages curl) | |
b5b73a82 | 22 | #:use-module ((guix licenses) #:prefix license:) |
6b9105e5 AE |
23 | #:use-module (guix packages) |
24 | #:use-module (guix download) | |
25 | #:use-module (guix build-system gnu) | |
b6b29c77 | 26 | #:use-module (gnu packages) |
6b9105e5 | 27 | #:use-module (gnu packages compression) |
6b9105e5 AE |
28 | #:use-module (gnu packages groff) |
29 | #:use-module (gnu packages gsasl) | |
30 | #:use-module (gnu packages libidn) | |
31 | #:use-module (gnu packages openldap) | |
32 | #:use-module (gnu packages perl) | |
33 | #:use-module (gnu packages pkg-config) | |
c0e57fb8 | 34 | #:use-module (gnu packages python) |
a7fd7b68 AE |
35 | #:use-module (gnu packages ssh) |
36 | #:use-module (gnu packages tls)) | |
6b9105e5 AE |
37 | |
38 | (define-public curl | |
39 | (package | |
40 | (name "curl") | |
4617c2e3 | 41 | (version "7.43.0") |
6b9105e5 AE |
42 | (source (origin |
43 | (method url-fetch) | |
44 | (uri (string-append "http://curl.haxx.se/download/curl-" | |
45 | version ".tar.lzma")) | |
46 | (sha256 | |
47 | (base32 | |
4617c2e3 | 48 | "1ykpfsm5ildpcj3vw5m1xh49jk3yfpna6zj7r0fgi1bxki6xif72")))) |
6b9105e5 AE |
49 | (build-system gnu-build-system) |
50 | (inputs `(("gnutls" ,gnutls) | |
6b9105e5 AE |
51 | ("gss" ,gss) |
52 | ("libidn" ,libidn) | |
53 | ("libssh2" ,libssh2) | |
54 | ("openldap" ,openldap) | |
6b9105e5 | 55 | ("zlib" ,zlib))) |
c4c4cc05 JD |
56 | (native-inputs |
57 | `(("perl" ,perl) | |
58 | ;; to enable the --manual option and make test 1026 pass | |
59 | ("groff" ,groff) | |
c0e57fb8 SHT |
60 | ("pkg-config" ,pkg-config) |
61 | ("python" ,python-2))) | |
6b9105e5 | 62 | (arguments |
c0e57fb8 SHT |
63 | `(#:configure-flags '("--with-gnutls" "--with-gssapi") |
64 | ;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl | |
65 | #:phases | |
186de634 LC |
66 | (alist-replace |
67 | 'check | |
c0e57fb8 | 68 | (lambda _ |
186de634 LC |
69 | (substitute* "tests/runtests.pl" |
70 | (("/bin/sh") (which "sh"))) | |
a55e2b22 TČ |
71 | ;; Test #1135 requires extern-scan.pl, which is not part of the |
72 | ;; tarball due to a mistake. It has been fixed upstream. We can | |
73 | ;; simply disable the test as it is specific to VMS and OS/400. | |
74 | (delete-file "tests/data/test1135") | |
186de634 | 75 | |
d2e3caba MW |
76 | ;; XXX FIXME: Test #1510 seems to work on some machines and not |
77 | ;; others, possibly based on the kernel version. It works on GuixSD | |
78 | ;; on x86_64 with linux-libre-4.1, but fails on Hydra for both i686 | |
79 | ;; and x86_64 with the following error: | |
80 | ;; | |
81 | ;; test 1510...[HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)] | |
82 | ;; | |
83 | ;; 1510: output (log/stderr1510) FAILED: | |
84 | ;; --- log/check-expected 2015-06-27 07:45:53.166720834 +0000 | |
85 | ;; +++ log/check-generated 2015-06-27 07:45:53.166720834 +0000 | |
86 | ;; @@ -1,5 +1,5 @@ | |
87 | ;; * Connection #0 to host server1.example.com left intact[LF] | |
88 | ;; * Connection #1 to host server2.example.com left intact[LF] | |
89 | ;; * Connection #2 to host server3.example.com left intact[LF] | |
90 | ;; -* Closing connection 0[LF] | |
91 | ;; +* Closing connection 1[LF] | |
92 | ;; * Connection #3 to host server4.example.com left intact[LF] | |
93 | (delete-file "tests/data/test1510") | |
94 | ||
186de634 LC |
95 | ;; The top-level "make check" does "make -C tests quiet-test", which |
96 | ;; is too quiet. Use the "test" target instead, which is more | |
97 | ;; verbose. | |
98 | (zero? (system* "make" "-C" "tests" "test"))) | |
c0e57fb8 | 99 | %standard-phases))) |
35b9e423 | 100 | (synopsis "Command line tool for transferring data with URL syntax") |
6b9105e5 AE |
101 | (description |
102 | "curl is a command line tool for transferring data with URL syntax, | |
103 | supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, | |
104 | LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. | |
105 | curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, | |
106 | HTTP form based upload, proxies, cookies, user+password authentication | |
107 | (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, | |
108 | proxy tunneling, and so on") | |
166191b3 | 109 | (license (license:non-copyleft "file://COPYING" |
6b9105e5 AE |
110 | "See COPYING in the distribution.")) |
111 | (home-page "http://curl.haxx.se/"))) |