Merge pull request #19349 from rmilecki/ddns-scripts-clean
[feed/packages.git] / net / aria2 / Makefile
1 #
2 # Copyright (C) 2012-2021 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.36.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:=58d1e7608c12404f0229a3d9a4953d0d00c18040504498b483305bcb3de907a5
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 PKG_CPE_ID:=cpe:/a:tatsuhiro_tsujikawa:aria2
24
25 PKG_CONFIG_DEPENDS := \
26 CONFIG_ARIA2_NOSSL \
27 CONFIG_ARIA2_OPENSSL \
28 CONFIG_ARIA2_GNUTLS \
29 CONFIG_ARIA2_NOCRYPTO \
30 CONFIG_ARIA2_NETTLE \
31 CONFIG_ARIA2_LIBGCRYPT \
32 CONFIG_ARIA2_LIBXML2 \
33 CONFIG_ARIA2_EXPAT \
34 CONFIG_ARIA2_GMP \
35 CONFIG_ARIA2_BITTORRENT \
36 CONFIG_ARIA2_METALINK \
37 CONFIG_ARIA2_SFTP \
38 CONFIG_ARIA2_ASYNC_DNS \
39 CONFIG_ARIA2_COOKIE \
40 CONFIG_ARIA2_WEBSOCKET
41
42 include $(INCLUDE_DIR)/package.mk
43 include $(INCLUDE_DIR)/nls.mk
44
45 define Package/aria2/config
46 source "$(SOURCE)/Config.in"
47 endef
48
49 define Package/aria2
50 SECTION:=net
51 CATEGORY:=Network
52 SUBMENU:=File Transfer
53 TITLE:=lightweight download utility
54 URL:=https://aria2.github.io/
55 DEPENDS:=+zlib +libstdcpp +ARIA2_OPENSSL:libopenssl +ARIA2_GNUTLS:libgnutls \
56 +ARIA2_NETTLE:libnettle +ARIA2_LIBGCRYPT:libgcrypt +ARIA2_GMP:libgmp \
57 +ARIA2_LIBXML2:libxml2 +ARIA2_EXPAT:libexpat +ARIA2_SFTP:libssh2 \
58 +ARIA2_ASYNC_DNS:libcares +ARIA2_COOKIE:libsqlite3
59 USERID:=aria2=6800:aria2=6800
60 endef
61
62 define Package/aria2/description
63 aria2 is a lightweight multi-protocol & multi-source command-line download
64 utility
65 endef
66
67 CONFIGURE_ARGS += \
68 --disable-nls \
69 $(if $(CONFIG_ARIA2_NOSSL),--disable,--enable)-ssl \
70 $(if $(CONFIG_ARIA2_BITTORRENT),--enable,--disable)-bittorrent \
71 $(if $(CONFIG_ARIA2_METALINK),--enable,--disable)-metalink \
72 $(if $(CONFIG_ARIA2_WEBSOCKET),--enable,--disable)-websocket \
73 $(if $(CONFIG_ARIA2_OPENSSL),--with,--without)-openssl \
74 $(if $(CONFIG_ARIA2_GNUTLS),--with,--without)-gnutls \
75 $(if $(CONFIG_ARIA2_NETTLE),--with,--without)-libnettle \
76 $(if $(CONFIG_ARIA2_LIBGCRYPT),--with,--without)-libgcrypt \
77 $(if $(CONFIG_ARIA2_GMP),--with,--without)-libgmp \
78 $(if $(CONFIG_ARIA2_LIBXML2),--with,--without)-libxml2 \
79 $(if $(CONFIG_ARIA2_EXPAT),--with,--without)-libexpat \
80 $(if $(CONFIG_ARIA2_SFTP),--with,--without)-libssh2 \
81 $(if $(CONFIG_ARIA2_ASYNC_DNS),--with,--without)-libcares \
82 $(if $(CONFIG_ARIA2_COOKIE),--with,--without)-sqlite3 \
83 --without-libuv \
84 --with-libz
85
86 TARGET_CXXFLAGS += -ffunction-sections -fdata-sections -flto
87 TARGET_LDFLAGS += -Wl,--gc-sections -flto
88
89 define Package/aria2/conffiles
90 /etc/config/aria2
91 endef
92
93 define Package/aria2/install
94 $(INSTALL_DIR) $(1)/usr/bin
95 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aria2c $(1)/usr/bin
96
97 $(INSTALL_DIR) $(1)/etc/init.d
98 $(INSTALL_BIN) ./files/aria2.init $(1)/etc/init.d/aria2
99
100 $(INSTALL_DIR) $(1)/etc/config
101 $(INSTALL_CONF) ./files/aria2.conf $(1)/etc/config/aria2
102 endef
103
104 $(eval $(call BuildPackage,aria2))