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
:=39bf7a104a722805a9dc089cdaaffe33bf90b82230a7ea7f340cae59f00a2ee8
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
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
38 define Package
/transmission
/template
42 TITLE
:=BitTorrent client
43 URL
:=https
://www.transmissionbt.com
44 DEPENDS
:=+libatomic
+libcurl
+libdeflate
+libdht
+libevent2 \
45 +libevent2-pthreads
+libminiupnpc
+libnatpmp
+libpthread
+libpsl \
46 +librt
+libutp
+zlib
+LIBCURL_NOSSL
:libmbedtls \
47 +LIBCURL_GNUTLS
:libmbedtls
50 define Package
/transmission-daemon
51 $(call Package
/transmission
/template
)
52 USERID
:=transmission
=224:transmission
=224
55 define Package
/transmission-cli
56 $(call Package
/transmission
/template
)
60 define Package
/transmission-remote
61 $(call Package
/transmission
/template
)
65 define Package
/transmission-web
66 $(call Package
/transmission
/template
)
67 TITLE
+= (webinterface
)
68 DEPENDS
:=+transmission-daemon
72 define Package
/transmission-daemon
/description
73 Transmission is a simple BitTorrent client.
74 It features a very simple
, intuitive interface
75 on top on an efficient
, cross-platform back-end.
76 This package contains the daemon itself.
79 define Package
/transmission-cli
/description
80 CLI utilities for transmission.
83 define Package
/transmission-remote
/description
84 CLI remote interface for transmission.
87 define Package
/transmission-web
/description
88 Webinterface resources for transmission.
91 define Package
/transmission-daemon
/conffiles
92 /etc
/config
/transmission
95 TARGET_CFLAGS
+= -flto
-DHAVE_SIZE_T
-latomic
96 TARGET_LDFLAGS
+= -Wl
,--as-needed
99 -DENABLE_CLI
:BOOL
=YES \
100 -DENABLE_GTK
:BOOL
=NO \
101 -DENABLE_QT
:BOOL
=NO \
102 -DENABLE_MAC
:BOOL
=NO \
103 -DENABLE_TESTS
:BOOL
=NO \
104 -DENABLE_NLS
:BOOL
=NO \
105 -DENABLE_UTP
:BOOL
=YES \
106 -DRUN_CLANG_TIDY
:BOOL
=NO \
107 -DUSE_SYSTEM_EVENT2
:BOOL
=YES \
108 -DUSE_SYSTEM_DEFLATE
:BOOL
=YES \
109 -DUSE_SYSTEM_DHT
:BOOL
=YES \
110 -DUSE_SYSTEM_MINIUPNPC
:BOOL
=YES \
111 -DUSE_SYSTEM_NATPMP
:BOOL
=YES \
112 -DUSE_SYSTEM_UTP
:BOOL
=YES \
113 -DUSE_SYSTEM_B64
:BOOL
=YES \
114 -DUSE_SYSTEM_PSL
:BOOL
=YES \
115 -DWITH_INOTIFY
:BOOL
=YES \
116 -DWITH_KQUEUE
:BOOL
=NO \
117 -DWITH_SYSTEMD
:BOOL
=NO \
118 -DB64_INCLUDE_DIR
=$(STAGING_DIR
)/usr
/include \
119 -DB64_LIBRARY
=$(STAGING_DIR
)/usr
/lib
/libb64.a \
120 -DDHT_INCLUDE_DIR
=$(STAGING_DIR
)/usr
/include \
121 -DDHT_LIBRARY
=$(STAGING_DIR
)/usr
/lib
/libdht.so \
122 -DUTP_INCLUDE_DIR
=$(STAGING_DIR
)/usr
/include \
123 -DUTP_LIBRARY
=$(STAGING_DIR
)/usr
/lib
/libutp.so \
124 $(if
$(CONFIG_LIBCURL_NOSSL
),-DWITH_CRYPTO
=mbedtls
) \
125 $(if
$(CONFIG_LIBCURL_GNUTLS
),-DWITH_CRYPTO
=mbedtls
) \
126 $(if
$(CONFIG_LIBCURL_MBEDTLS
),-DWITH_CRYPTO
=mbedtls
) \
127 $(if
$(CONFIG_LIBCURL_OPENSSL
),-DWITH_CRYPTO
=openssl
) \
128 $(if
$(CONFIG_LIBCURL_WOLFSSL
),-DWITH_CRYPTO
=wolfssl
)
130 define Package
/transmission-daemon
/install
131 $(INSTALL_DIR
) $(1)/usr
/bin
132 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/transmission-daemon
$(1)/usr
/bin
/
133 $(INSTALL_DIR
) $(1)/etc
/init.d
/
134 $(INSTALL_BIN
) files
/transmission.init
$(1)/etc
/init.d
/transmission
135 $(INSTALL_DIR
) $(1)/etc
/config
136 $(INSTALL_CONF
) files
/transmission.config
$(1)/etc
/config
/transmission
137 $(INSTALL_DIR
) $(1)/etc
/sysctl.d
/
138 $(INSTALL_CONF
) files
/transmission.sysctl
$(1)/etc
/sysctl.d
/20-transmission.conf
139 $(call InstallSeccomp
,$(1),.
/files
/transmission-daemon.json
)
142 define Package
/transmission-cli
/install
143 $(INSTALL_DIR
) $(1)/usr
/bin
144 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/transmission-cli \
145 $(PKG_INSTALL_DIR
)/usr
/bin
/transmission-create \
146 $(PKG_INSTALL_DIR
)/usr
/bin
/transmission-edit \
147 $(PKG_INSTALL_DIR
)/usr
/bin
/transmission-show \
151 define Package
/transmission-remote
/install
152 $(INSTALL_DIR
) $(1)/usr
/bin
153 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/transmission-remote
$(1)/usr
/bin
/
156 define Package
/transmission-web
/install
157 $(INSTALL_DIR
) $(1)/usr
/share
/transmission
158 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/transmission
/public_html
$(1)/usr
/share
/transmission
/
161 $(eval
$(call BuildPackage
,transmission-daemon
))
162 $(eval
$(call BuildPackage
,transmission-cli
))
163 $(eval
$(call BuildPackage
,transmission-remote
))
164 $(eval
$(call BuildPackage
,transmission-web
))