Merge pull request #4899 from fededim/master
[feed/packages.git] / net / lftp / Makefile
1 #
2 # Copyright (C) 2008-2014 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=lftp
11 PKG_VERSION:=4.8.2
12 PKG_RELEASE:=2
13 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
14 PKG_SOURCE_URL:=http://lftp.tech/ftp/ \
15 https://mirror.csclub.uwaterloo.ca/gentoo-distfiles/distfiles/
16
17 PKG_HASH:=5c875b8476e05e856ebc8eec458e43317b2bebd6ed5f7725a733d4591548cd9c
18
19
20 PKG_LICENSE:=GPL-3.0+
21 PKG_LICENSE_FILES:=COPYING
22
23 include $(INCLUDE_DIR)/uclibc++.mk
24 include $(INCLUDE_DIR)/package.mk
25
26 define Package/lftp
27 SUBMENU:=File Transfer
28 SECTION:=net
29 CATEGORY:=Network
30 DEPENDS:=+libncurses +libopenssl +libreadline $(CXX_DEPENDS) +libexpat +zlib
31 TITLE:=a sophisticated file transfer program with command line interface.
32 MAINTAINER:=Federico Di Marco <fededim@gmail.com>
33 URL:=http://lftp.yar.ru/
34 endef
35
36 define Package/lftp/description
37 LFTP is a sophisticated file transfer program with command line interface. It supports FTP, HTTP, FISH, SFTP, HTTPS and FTPS protocols. GNU Readline library is used for input.
38 Every operation in lftp is reliable, that is any non-fatal error is handled and the operation is retried automatically. So if downloading breaks, it will be restarted from the point automatically. Even if ftp server does not support REST command, lftp will try to retrieve the file from the very beginning until the file is transferred completely. This is useful for dynamic-ip machines which change their IP addresses quite often, and for sites with very bad internet connectivity.
39
40 lftp has shell-like command syntax allowing you to launch several commands in parallel in background (&). It is also possible to group commands within () and execute them in background. All background jobs are executed in the same single process. You can bring a foreground job to background with ^Z (c-z) and back with command `wait' (or `fg' which is alias to `wait'). To list running jobs, use command `jobs'. Some commands allow redirecting their output (cat, ls, ...) to file or via pipe to external command. Commands can be executed conditionally based on termination status of previous command (&&, ||).
41
42 lftp has builtin mirror which can download or update a whole directory tree. There is also reverse mirror (mirror -R) which uploads or updates a directory tree on server.
43 endef
44
45 CONFIGURE_ARGS += \
46 --without-libiconv-prefix \
47 --without-libintl-prefix \
48 --without-gnutls \
49 --without-libidn \
50 --without-libresolv \
51 --with-openssl="$(STAGING_DIR)/usr" \
52 --with-readline="$(STAGING_DIR)/usr" \
53 --with-zlib="$(STAGING_DIR)/usr" \
54 --disable-static
55
56 TARGET_CXXFLAGS+= -std=c++11
57
58 define Package/lftp/install
59 $(INSTALL_DIR) $(1)/usr/bin
60 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/lftp $(1)/usr/bin/
61 endef
62
63 $(eval $(call BuildPackage,lftp))