Commit | Line | Data |
---|---|---|
158adb66 | 1 | ;;; GNU Guix --- Functional package management for GNU |
ee5bae30 | 2 | ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> |
8cc91fa0 | 3 | ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> |
87d79282 | 4 | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> |
158adb66 LC |
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 ftp) | |
8cc91fa0 | 22 | #:use-module ((guix licenses) #:select (gpl2+ gpl3+ clarified-artistic)) |
158adb66 | 23 | #:use-module (guix build-system gnu) |
8cc91fa0 AE |
24 | #:use-module (guix download) |
25 | #:use-module (guix packages) | |
26 | #:use-module (gnu packages) | |
158adb66 LC |
27 | #:use-module (gnu packages ncurses) |
28 | #:use-module (gnu packages readline) | |
29 | #:use-module (gnu packages pkg-config) | |
a7fd7b68 | 30 | #:use-module (gnu packages tls) |
158adb66 LC |
31 | #:use-module (gnu packages compression)) |
32 | ||
33 | (define-public lftp | |
34 | (package | |
35 | (name "lftp") | |
64605c20 | 36 | (version "4.6.1") |
158adb66 LC |
37 | (source (origin |
38 | (method url-fetch) | |
ee5bae30 LC |
39 | (uri (list (string-append "http://lftp.yar.ru/ftp/lftp-" |
40 | version ".tar.xz") | |
41 | (string-append "http://lftp.yar.ru/ftp/old/lftp-" | |
42 | version ".tar.xz"))) | |
158adb66 LC |
43 | (sha256 |
44 | (base32 | |
87d79282 | 45 | "1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni")) |
fc1adab1 AK |
46 | (patches (search-patches |
47 | "lftp-dont-save-unknown-host-fingerprint.patch")))) | |
158adb66 LC |
48 | (build-system gnu-build-system) |
49 | (native-inputs | |
50 | `(("pkg-config" ,pkg-config))) | |
51 | (inputs | |
52 | `(("zlib" ,zlib) | |
53 | ("readline" ,readline) | |
54 | ("gnutls" ,gnutls))) | |
55 | (home-page "http://lftp.yar.ru/") | |
56 | (synopsis "Command-line file transfer program") | |
57 | (description | |
58 | "LFTP is a sophisticated FTP/HTTP client, and a file transfer program | |
59 | supporting a number of network protocols. Like Bash, it has job control and | |
60 | uses the Readline library for input. It has bookmarks, a built-in mirror | |
61 | command, and can transfer several files in parallel. It was designed with | |
62 | reliability in mind.") | |
63 | (license gpl3+))) | |
dd3b6d66 LC |
64 | |
65 | (define-public ncftp | |
66 | (package | |
67 | (name "ncftp") | |
68 | (version "3.2.5") | |
69 | (source (origin | |
70 | (method url-fetch) | |
71 | (uri (string-append "ftp://ftp.ncftp.com/ncftp/ncftp-" | |
72 | version "-src.tar.bz2")) | |
73 | (sha256 | |
74 | (base32 | |
75 | "0hlx12i0lwi99qsrx7nccf4nvwjj2gych4yks5y179b1ax0y5sxl")) | |
76 | (modules '((guix build utils))) | |
77 | (snippet | |
78 | '(begin | |
79 | ;; Use the right 'rm' and 'ls'. | |
80 | (substitute* (cons "configure" | |
81 | (find-files "." | |
82 | "^(Makefile\\.in|.*\\.sh)$")) | |
83 | (("/bin/(rm|ls)" _ command) | |
84 | command)) | |
85 | ||
86 | ;; This is free software, avoid any confusion. | |
87 | (substitute* (find-files "." "\\.c$") | |
88 | (("a freeware program") | |
89 | "free software")))))) | |
90 | (build-system gnu-build-system) | |
91 | (arguments | |
92 | '(#:phases (alist-replace | |
93 | 'configure | |
94 | (lambda* (#:key outputs #:allow-other-keys) | |
95 | ;; This is an old 'configure' script that doesn't | |
96 | ;; understand variables passed as arguments. | |
97 | (let ((out (assoc-ref outputs "out"))) | |
98 | (setenv "CONFIG_SHELL" (which "sh")) | |
99 | (setenv "SHELL" (which "sh")) | |
100 | (zero? (system* "./configure" | |
101 | (string-append "--prefix=" out))))) | |
102 | %standard-phases) | |
103 | #:tests? #f)) ;there are no tests | |
104 | (inputs `(("ncurses" ,ncurses))) | |
105 | (home-page "http://www.ncftp.com/ncftp/") | |
106 | (synopsis "Command-line File Transfer Protocol (FTP) client") | |
107 | (description | |
108 | "NcFTP Client (or just NcFTP) is a set of command-line programs to access | |
109 | File Transfer Protocol (FTP) servers. This includes 'ncftp', an interactive | |
110 | FTP browser, as well as non-interactive commands such as 'ncftpput' and | |
111 | 'ncftpget'.") | |
112 | (license clarified-artistic))) | |
8cc91fa0 AE |
113 | |
114 | ||
115 | (define-public weex | |
116 | (package | |
117 | (name "weex") | |
118 | (version "2.6.1.5") | |
119 | (source | |
120 | (origin | |
121 | (method url-fetch) | |
122 | (uri | |
123 | (string-append "mirror://sourceforge/weex/weex/" version | |
124 | "/weex-" version ".tar.gz")) | |
125 | (sha256 | |
126 | (base32 | |
127 | "0f5cj5p852wkm24mzy2sxgxyahv2p9rk4wlq21j310pi7wlhgwyl")) | |
fc1adab1 | 128 | (patches (search-patches "weex-vacopy.patch")))) |
8cc91fa0 AE |
129 | (build-system gnu-build-system) |
130 | (arguments | |
131 | `(#:phases | |
132 | (alist-replace 'configure | |
133 | ;; configure does not work followed by both "SHELL=..." and | |
134 | ;; "CONFIG_SHELL=..."; set environment variables instead | |
135 | (lambda* (#:key outputs #:allow-other-keys) | |
136 | (let* ((out (assoc-ref outputs "out")) | |
137 | (bash (which "bash"))) | |
138 | (setenv "SHELL" bash) | |
139 | (setenv "CONFIG_SHELL" bash) | |
140 | (zero? (system* bash "./configure" | |
141 | (string-append "--prefix=" out))))) | |
142 | %standard-phases))) | |
143 | (home-page "http://weex.sourceforge.net/") | |
144 | (synopsis "Non-interactive client for FTP synchronization") | |
145 | (description | |
146 | "Weex is a utility designed to automate the task of remotely | |
147 | maintaining a web page or other FTP archive. It synchronizes a set of | |
148 | local files to a remote server by performing uploads and remote deletes | |
149 | as required.") | |
150 | (license gpl2+))) |