nghttp2: update 1.62.1
[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:=4.0.5
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=https://github.com/transmission/transmission/releases/download/$(PKG_VERSION)/
16 PKG_HASH:=fd68ff114a479200043c30c7e69dba4c1932f7af36ca4c5b5d2edcb5866e6357
17
18 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
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_DEPENDS:=libb64 node/host
25 PKG_BUILD_PARALLEL:=1
26 PKG_BUILD_FLAGS:=gc-sections lto
27 PKG_CONFIG_DEPENDS:= \
28 CONFIG_LIBCURL_GNUTLS \
29 CONFIG_LIBCURL_MBEDTLS \
30 CONFIG_LIBCURL_OPENSSL \
31 CONFIG_LIBCURL_WOLFSSL \
32 CONFIG_LIBCURL_NOSSL
33
34 include $(INCLUDE_DIR)/package.mk
35 include $(INCLUDE_DIR)/cmake.mk
36 include $(INCLUDE_DIR)/package-seccomp.mk
37 include $(INCLUDE_DIR)/nls.mk
38
39 define Package/transmission/template
40 SUBMENU:=BitTorrent
41 SECTION:=net
42 CATEGORY:=Network
43 TITLE:=BitTorrent client
44 URL:=https://www.transmissionbt.com
45 DEPENDS:=+libatomic +libcurl +libdeflate +libdht +libevent2 \
46 +libevent2-pthreads +libminiupnpc +libnatpmp +libpthread +libpsl \
47 +librt +libutp +zlib +LIBCURL_NOSSL:libmbedtls \
48 +LIBCURL_GNUTLS:libmbedtls +LIBCURL_MBEDTLS:libmbedtls
49 endef
50
51 define Package/transmission-daemon
52 $(call Package/transmission/template)
53 USERID:=transmission=224:transmission=224
54 endef
55
56 define Package/transmission-cli
57 $(call Package/transmission/template)
58 TITLE+= (utilities)
59 endef
60
61 define Package/transmission-remote
62 $(call Package/transmission/template)
63 TITLE+= (remote)
64 endef
65
66 define Package/transmission-web
67 $(call Package/transmission/template)
68 TITLE+= (webinterface)
69 DEPENDS:=+transmission-daemon
70 PKGARCH:=all
71 endef
72
73 define Package/transmission-daemon/description
74 Transmission is a simple BitTorrent client.
75 It features a very simple, intuitive interface
76 on top on an efficient, cross-platform back-end.
77 This package contains the daemon itself.
78 endef
79
80 define Package/transmission-cli/description
81 CLI utilities for transmission.
82 endef
83
84 define Package/transmission-remote/description
85 CLI remote interface for transmission.
86 endef
87
88 define Package/transmission-web/description
89 Webinterface resources for transmission.
90 endef
91
92 define Package/transmission-daemon/conffiles
93 /etc/config/transmission
94 endef
95
96 TARGET_CFLAGS += -DHAVE_SIZE_T -latomic
97 TARGET_LDFLAGS += -Wl,--as-needed
98
99 CMAKE_OPTIONS += \
100 -DENABLE_CLI:BOOL=YES \
101 -DENABLE_GTK:BOOL=NO \
102 -DENABLE_QT:BOOL=NO \
103 -DENABLE_MAC:BOOL=NO \
104 -DENABLE_TESTS:BOOL=NO \
105 -DENABLE_NLS:BOOL=NO \
106 -DENABLE_UTP:BOOL=YES \
107 -DRUN_CLANG_TIDY:BOOL=NO \
108 -DUSE_SYSTEM_EVENT2:BOOL=YES \
109 -DUSE_SYSTEM_DEFLATE:BOOL=YES \
110 -DUSE_SYSTEM_DHT:BOOL=YES \
111 -DUSE_SYSTEM_MINIUPNPC:BOOL=YES \
112 -DUSE_SYSTEM_NATPMP:BOOL=YES \
113 -DUSE_SYSTEM_UTP:BOOL=YES \
114 -DUSE_SYSTEM_B64:BOOL=YES \
115 -DUSE_SYSTEM_PSL:BOOL=YES \
116 -DWITH_INOTIFY:BOOL=YES \
117 -DWITH_KQUEUE:BOOL=NO \
118 -DWITH_SYSTEMD:BOOL=NO \
119 -DB64_INCLUDE_DIR=$(STAGING_DIR)/usr/include \
120 -DB64_LIBRARY=$(STAGING_DIR)/usr/lib/libb64.a \
121 -DDHT_INCLUDE_DIR=$(STAGING_DIR)/usr/include \
122 -DDHT_LIBRARY=$(STAGING_DIR)/usr/lib/libdht.so \
123 -DUTP_INCLUDE_DIR=$(STAGING_DIR)/usr/include \
124 -DUTP_LIBRARY=$(STAGING_DIR)/usr/lib/libutp.so \
125 $(if $(CONFIG_LIBCURL_NOSSL),-DWITH_CRYPTO=mbedtls) \
126 $(if $(CONFIG_LIBCURL_GNUTLS),-DWITH_CRYPTO=mbedtls) \
127 $(if $(CONFIG_LIBCURL_MBEDTLS),-DWITH_CRYPTO=mbedtls) \
128 $(if $(CONFIG_LIBCURL_OPENSSL),-DWITH_CRYPTO=openssl) \
129 $(if $(CONFIG_LIBCURL_WOLFSSL),-DWITH_CRYPTO=wolfssl)
130
131 define Package/transmission-daemon/install
132 $(INSTALL_DIR) $(1)/usr/bin
133 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/transmission-daemon $(1)/usr/bin/
134 $(INSTALL_DIR) $(1)/etc/init.d/
135 $(INSTALL_BIN) files/transmission.init $(1)/etc/init.d/transmission
136 $(INSTALL_DIR) $(1)/etc/config
137 $(INSTALL_CONF) files/transmission.config $(1)/etc/config/transmission
138 $(INSTALL_DIR) $(1)/etc/sysctl.d/
139 $(INSTALL_CONF) files/transmission.sysctl $(1)/etc/sysctl.d/20-transmission.conf
140 $(call InstallSeccomp,$(1),./files/transmission-daemon.json)
141 endef
142
143 define Package/transmission-cli/install
144 $(INSTALL_DIR) $(1)/usr/bin
145 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/transmission-cli \
146 $(PKG_INSTALL_DIR)/usr/bin/transmission-create \
147 $(PKG_INSTALL_DIR)/usr/bin/transmission-edit \
148 $(PKG_INSTALL_DIR)/usr/bin/transmission-show \
149 $(1)/usr/bin/
150 endef
151
152 define Package/transmission-remote/install
153 $(INSTALL_DIR) $(1)/usr/bin
154 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/transmission-remote $(1)/usr/bin/
155 endef
156
157 define Package/transmission-web/install
158 $(INSTALL_DIR) $(1)/usr/share/transmission
159 $(CP) $(PKG_INSTALL_DIR)/usr/share/transmission/public_html $(1)/usr/share/transmission/
160 endef
161
162 $(eval $(call BuildPackage,transmission-daemon))
163 $(eval $(call BuildPackage,transmission-cli))
164 $(eval $(call BuildPackage,transmission-remote))
165 $(eval $(call BuildPackage,transmission-web))