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