aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-11-19 17:37:35 +0100
committerLudovic Courtès <ludo@gnu.org>2014-11-19 22:07:02 +0100
commitdd3b6d66b9c9bb18d00deff7d4ca011dbfbdf122 (patch)
tree348c3ab63469001182b5c9d48ebc51df28057aec
parentaf8c2a158ee7bccc252ffdac053735b5e2413120 (diff)
downloadguix-dd3b6d66b9c9bb18d00deff7d4ca011dbfbdf122.tar
guix-dd3b6d66b9c9bb18d00deff7d4ca011dbfbdf122.tar.gz
gnu: Add NcFTP Client.
* gnu/packages/ftp.scm (ncftp): New variable.
-rw-r--r--gnu/packages/ftp.scm51
1 files changed, 50 insertions, 1 deletions
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index 96af2bf649..2fb8198dfa 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ftp)
- #:use-module ((guix licenses) #:select (gpl3+))
+ #:use-module ((guix licenses) #:select (gpl3+ clarified-artistic))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -54,3 +54,52 @@ uses the Readline library for input. It has bookmarks, a built-in mirror
command, and can transfer several files in parallel. It was designed with
reliability in mind.")
(license gpl3+)))
+
+(define-public ncftp
+ (package
+ (name "ncftp")
+ (version "3.2.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://ftp.ncftp.com/ncftp/ncftp-"
+ version "-src.tar.bz2"))
+ (sha256
+ (base32
+ "0hlx12i0lwi99qsrx7nccf4nvwjj2gych4yks5y179b1ax0y5sxl"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Use the right 'rm' and 'ls'.
+ (substitute* (cons "configure"
+ (find-files "."
+ "^(Makefile\\.in|.*\\.sh)$"))
+ (("/bin/(rm|ls)" _ command)
+ command))
+
+ ;; This is free software, avoid any confusion.
+ (substitute* (find-files "." "\\.c$")
+ (("a freeware program")
+ "free software"))))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; This is an old 'configure' script that doesn't
+ ;; understand variables passed as arguments.
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (setenv "SHELL" (which "sh"))
+ (zero? (system* "./configure"
+ (string-append "--prefix=" out)))))
+ %standard-phases)
+ #:tests? #f)) ;there are no tests
+ (inputs `(("ncurses" ,ncurses)))
+ (home-page "http://www.ncftp.com/ncftp/")
+ (synopsis "Command-line File Transfer Protocol (FTP) client")
+ (description
+ "NcFTP Client (or just NcFTP) is a set of command-line programs to access
+File Transfer Protocol (FTP) servers. This includes 'ncftp', an interactive
+FTP browser, as well as non-interactive commands such as 'ncftpput' and
+'ncftpget'.")
+ (license clarified-artistic)))