transmission: sync with master
[feed/packages.git] / net / transmission / Makefile
1 #
2 # Copyright (C) 2009-2016 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:=transmission
11 PKG_VERSION:=2.94
12 PKG_RELEASE:=11
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=@GITHUB/transmission/transmission-releases/master
16 PKG_HASH:=35442cc849f91f8df982c3d0d479d650c6ca19310a994eccdaa79a4af3916b7d
17
18 PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
19 PKG_LICENSE:=GPL-2.0-or-later
20 PKG_LICENSE_FILES:=COPYING
21 PKG_CPE_ID:=cpe:/a:transmissionbt:transmission
22
23 PKG_INSTALL:=1
24 PKG_BUILD_PARALLEL:=1
25
26 include $(INCLUDE_DIR)/package.mk
27 include $(INCLUDE_DIR)/package-seccomp.mk
28
29 define Package/transmission/template
30 SUBMENU:=BitTorrent
31 SECTION:=net
32 CATEGORY:=Network
33 TITLE:=BitTorrent client
34 URL:=https://www.transmissionbt.com
35 DEPENDS:=+libcurl +libevent2 +libminiupnpc +libnatpmp +libpthread +librt +zlib
36 endef
37
38 define Package/transmission-daemon/Default
39 $(call Package/transmission/template)
40 USERID:=transmission=224:transmission=224
41 endef
42
43 define Package/transmission-daemon-openssl
44 $(call Package/transmission-daemon/Default)
45 TITLE+= (with OpenSSL)
46 DEPENDS+=+libopenssl
47 VARIANT:=openssl
48 endef
49
50 define Package/transmission-daemon-mbedtls
51 $(call Package/transmission-daemon/Default)
52 TITLE+= (with mbed TLS)
53 DEPENDS+=+libmbedtls
54 VARIANT:=mbedtls
55 endef
56
57 define Package/transmission-cli-openssl
58 $(call Package/transmission/template)
59 TITLE+= (with OpenSSL)
60 DEPENDS+=+libopenssl
61 VARIANT:=openssl
62 endef
63
64 define Package/transmission-cli-mbedtls
65 $(call Package/transmission/template)
66 TITLE+= (with mbed TLS)
67 DEPENDS+=+libmbedtls
68 VARIANT:=mbedtls
69 endef
70
71 define Package/transmission-remote-openssl
72 $(call Package/transmission/template)
73 TITLE+= (with OpenSSL)
74 DEPENDS+=+libopenssl
75 VARIANT:=openssl
76 endef
77
78 define Package/transmission-remote-mbedtls
79 $(call Package/transmission/template)
80 TITLE+= (with mbed TLS)
81 DEPENDS+=+libmbedtls
82 VARIANT:=mbedtls
83 endef
84
85 define Package/transmission-web
86 $(call Package/transmission/template)
87 TITLE+= (webinterface)
88 DEPENDS:=@(PACKAGE_transmission-daemon-openssl||PACKAGE_transmission-daemon-mbedtls)
89 PKGARCH:=all
90 endef
91
92
93 define Package/transmission-daemon/Default/description
94 Transmission is a simple BitTorrent client.
95 It features a very simple, intuitive interface
96 on top on an efficient, cross-platform back-end.
97 This package contains the daemon itself.
98 endef
99 Package/transmission-daemon-openssl/description = $(Package/transmission-daemon/Default/description)
100 Package/transmission-daemon-mbedtls/description = $(Package/transmission-daemon/Default/description)
101
102 define Package/transmission-cli/Default/description
103 CLI utilities for transmission.
104 endef
105 Package/transmission-cli-openssl/description = $(Package/transmission-cli/Default/description)
106 Package/transmission-cli-mbedtls/description = $(Package/transmission-cli/Default/description)
107
108 define Package/transmission-remote/Default/description
109 CLI remote interface for transmission.
110 endef
111 Package/transmission-remote-openssl/description = $(Package/transmission-remote/Default/description)
112 Package/transmission-remote-mbedtls/description = $(Package/transmission-remote/Default/description)
113
114 define Package/transmission-web/description
115 Webinterface resources for transmission.
116 endef
117
118 define Package/transmission-daemon-openssl/conffiles
119 /etc/config/transmission
120 endef
121 Package/transmission-daemon-mbedtls/conffiles = $(Package/transmission-daemon-openssl/conffiles)
122
123 TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
124 TARGET_LDFLAGS += -Wl,--gc-sections -Wl,--as-needed
125
126 CONFIGURE_ARGS += \
127 --enable-cli \
128 --enable-daemon \
129 --enable-external-natpmp \
130 --enable-largefile \
131 --enable-lightweight \
132 --without-gtk \
133 --without-kqueue \
134 --without-systemd-daemon
135
136 ifeq ($(BUILD_VARIANT),mbedtls)
137 CONFIGURE_ARGS += --with-crypto=polarssl
138 CONFIGURE_VARS += \
139 MBEDTLS_CFLAGS="-I$(STAGING_DIR)/usr/include/mbedtls" \
140 MBEDTLS_LIBS="-lmbedtls -lmbedcrypto"
141 else
142 CONFIGURE_ARGS += --with-crypto=openssl
143 endif
144
145 define Package/transmission-daemon-openssl/install
146 $(INSTALL_DIR) $(1)/usr/bin
147 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/transmission-daemon $(1)/usr/bin/
148 $(INSTALL_DIR) $(1)/etc/init.d/
149 $(INSTALL_BIN) files/transmission.init $(1)/etc/init.d/transmission
150 $(INSTALL_DIR) $(1)/etc/config
151 $(INSTALL_CONF) files/transmission.config $(1)/etc/config/transmission
152 $(INSTALL_DIR) $(1)/etc/sysctl.d/
153 $(INSTALL_CONF) files/transmission.sysctl $(1)/etc/sysctl.d/20-transmission.conf
154 $(call InstallSeccomp,$(1),./files/transmission-daemon.json)
155 endef
156 Package/transmission-daemon-mbedtls/install = $(Package/transmission-daemon-openssl/install)
157
158 define Package/transmission-cli-openssl/install
159 $(INSTALL_DIR) $(1)/usr/bin
160 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/transmission-cli \
161 $(PKG_INSTALL_DIR)/usr/bin/transmission-create \
162 $(PKG_INSTALL_DIR)/usr/bin/transmission-edit \
163 $(PKG_INSTALL_DIR)/usr/bin/transmission-show \
164 $(1)/usr/bin/
165 endef
166 Package/transmission-cli-mbedtls/install = $(Package/transmission-cli-openssl/install)
167
168 define Package/transmission-remote-openssl/install
169 $(INSTALL_DIR) $(1)/usr/bin
170 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/transmission-remote $(1)/usr/bin/
171 endef
172 Package/transmission-remote-mbedtls/install = $(Package/transmission-remote-openssl/install)
173
174 define Package/transmission-web/install
175 $(INSTALL_DIR) $(1)/usr/share/transmission
176 $(CP) $(PKG_INSTALL_DIR)/usr/share/transmission/web $(1)/usr/share/transmission/
177 endef
178
179 $(eval $(call BuildPackage,transmission-daemon-openssl))
180 $(eval $(call BuildPackage,transmission-daemon-mbedtls))
181 $(eval $(call BuildPackage,transmission-cli-openssl))
182 $(eval $(call BuildPackage,transmission-cli-mbedtls))
183 $(eval $(call BuildPackage,transmission-remote-openssl))
184 $(eval $(call BuildPackage,transmission-remote-mbedtls))
185 $(eval $(call BuildPackage,transmission-web))