f29804315a6a08fcb9436c8c2c6d2c556e6450cb
[feed/packages.git] / net / aria2 / Makefile
1 #
2 # Copyright (C) 2012-2018 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=aria2
10 PKG_VERSION:=1.34.0
11 PKG_RELEASE:=2
12
13 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
14 PKG_SOURCE_URL:=https://github.com/aria2/aria2/releases/download/release-$(PKG_VERSION)/
15 PKG_HASH:=3a44a802631606e138a9e172a3e9f5bcbaac43ce2895c1d8e2b46f30487e77a3
16 PKG_INSTALL:=1
17 PKG_BUILD_PARALLEL:=1
18
19 PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>, \
20 Hsing-Wang Liao <kuoruan@gmail.com>
21 PKG_LICENSE:=GPLv2
22 PKG_LICENSE_FILES:=COPYING
23
24 PKG_CONFIG_DEPENDS := \
25 CONFIG_ARIA2_NOSSL \
26 CONFIG_ARIA2_OPENSSL \
27 CONFIG_ARIA2_GNUTLS \
28 CONFIG_ARIA2_NOCRYPTO \
29 CONFIG_ARIA2_NETTLE \
30 CONFIG_ARIA2_LIBGCRYPT \
31 CONFIG_ARIA2_LIBXML2 \
32 CONFIG_ARIA2_EXPAT \
33 CONFIG_ARIA2_GMP \
34 CONFIG_ARIA2_BITTORRENT \
35 CONFIG_ARIA2_METALINK \
36 CONFIG_ARIA2_SFTP \
37 CONFIG_ARIA2_ASYNC_DNS \
38 CONFIG_ARIA2_COOKIE \
39 CONFIG_ARIA2_WEBSOCKET
40
41 include $(INCLUDE_DIR)/package.mk
42
43 define Package/aria2/config
44 source "$(SOURCE)/Config.in"
45 endef
46
47 define Package/aria2
48 SECTION:=net
49 CATEGORY:=Network
50 SUBMENU:=File Transfer
51 TITLE:=lightweight download utility
52 URL:=https://aria2.github.io/
53 DEPENDS:=+zlib +libstdcpp +ARIA2_OPENSSL:libopenssl +ARIA2_GNUTLS:libgnutls \
54 +ARIA2_NETTLE:libnettle +ARIA2_LIBGCRYPT:libgcrypt +ARIA2_GMP:libgmp \
55 +ARIA2_LIBXML2:libxml2 +ARIA2_EXPAT:libexpat +ARIA2_SFTP:libssh2 \
56 +ARIA2_ASYNC_DNS:libcares +ARIA2_COOKIE:libsqlite3
57 USERID:=aria2=6800:aria2=6800
58 endef
59
60 define Package/aria2/description
61 aria2 is a lightweight multi-protocol & multi-source command-line download
62 utility
63 endef
64
65 CONFIGURE_ARGS += \
66 --disable-nls \
67 $(if $(CONFIG_ARIA2_NOSSL),--disable,--enable)-ssl \
68 $(if $(CONFIG_ARIA2_BITTORRENT),--enable,--disable)-bittorrent \
69 $(if $(CONFIG_ARIA2_METALINK),--enable,--disable)-metalink \
70 $(if $(CONFIG_ARIA2_WEBSOCKET),--enable,--disable)-websocket \
71 $(if $(CONFIG_ARIA2_OPENSSL),--with,--without)-openssl \
72 $(if $(CONFIG_ARIA2_GNUTLS),--with,--without)-gnutls \
73 $(if $(CONFIG_ARIA2_NETTLE),--with,--without)-libnettle \
74 $(if $(CONFIG_ARIA2_LIBGCRYPT),--with,--without)-libgcrypt \
75 $(if $(CONFIG_ARIA2_GMP),--with,--without)-libgmp \
76 $(if $(CONFIG_ARIA2_LIBXML2),--with,--without)-libxml2 \
77 $(if $(CONFIG_ARIA2_EXPAT),--with,--without)-libexpat \
78 $(if $(CONFIG_ARIA2_SFTP),--with,--without)-libssh2 \
79 $(if $(CONFIG_ARIA2_ASYNC_DNS),--with,--without)-libcares \
80 $(if $(CONFIG_ARIA2_COOKIE),--with,--without)-sqlite3 \
81 --without-libuv \
82 --with-libz
83
84 TARGET_CXXFLAGS += -ffunction-sections -fdata-sections -flto
85 TARGET_LDFLAGS += -Wl,--gc-sections -flto
86
87 define Package/aria2/install
88 $(INSTALL_DIR) $(1)/usr/bin
89 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aria2c $(1)/usr/bin
90
91 $(INSTALL_DIR) $(1)/etc/init.d
92 $(INSTALL_BIN) ./files/aria2.init $(1)/etc/init.d/aria2
93
94 $(INSTALL_DIR) $(1)/etc/config
95 $(INSTALL_CONF) ./files/aria2.conf $(1)/etc/config/aria2
96 endef
97
98 $(eval $(call BuildPackage,aria2))