2 # Copyright (C) 2009-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
10 PKG_NAME
:=transmission
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
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
24 PKG_BUILD_DEPENDS
:=libb64 node
/host
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 \
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
39 define Package
/transmission
/template
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
51 define Package
/transmission-daemon
52 $(call Package
/transmission
/template
)
53 USERID
:=transmission
=224:transmission
=224
56 define Package
/transmission-cli
57 $(call Package
/transmission
/template
)
61 define Package
/transmission-remote
62 $(call Package
/transmission
/template
)
66 define Package
/transmission-web
67 $(call Package
/transmission
/template
)
68 TITLE
+= (webinterface
)
69 DEPENDS
:=+transmission-daemon
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.
80 define Package
/transmission-cli
/description
81 CLI utilities for transmission.
84 define Package
/transmission-remote
/description
85 CLI remote interface for transmission.
88 define Package
/transmission-web
/description
89 Webinterface resources for transmission.
92 define Package
/transmission-daemon
/conffiles
93 /etc
/config
/transmission
96 TARGET_CFLAGS
+= -DHAVE_SIZE_T
-latomic
97 TARGET_LDFLAGS
+= -Wl
,--as-needed
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
)
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
)
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 \
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
/
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
/
162 $(eval
$(call BuildPackage
,transmission-daemon
))
163 $(eval
$(call BuildPackage
,transmission-cli
))
164 $(eval
$(call BuildPackage
,transmission-remote
))
165 $(eval
$(call BuildPackage
,transmission-web
))