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
:=8fc5aef23638c983406f6a3ee9918369e4cdc84e3228bd2fb3d01dd55cdad900
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_CONFIG_DEPENDS
:= \
27 CONFIG_LIBCURL_GNUTLS \
28 CONFIG_LIBCURL_MBEDTLS \
29 CONFIG_LIBCURL_OPENSSL \
30 CONFIG_LIBCURL_WOLFSSL \
33 include $(INCLUDE_DIR
)/package.mk
34 include $(INCLUDE_DIR
)/cmake.mk
35 include $(INCLUDE_DIR
)/package-seccomp.mk
37 define Package
/transmission
/template
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
49 define Package
/transmission-daemon
50 $(call Package
/transmission
/template
)
51 USERID
:=transmission
=224:transmission
=224
54 define Package
/transmission-cli
55 $(call Package
/transmission
/template
)
59 define Package
/transmission-remote
60 $(call Package
/transmission
/template
)
64 define Package
/transmission-web
65 $(call Package
/transmission
/template
)
66 TITLE
+= (webinterface
)
67 DEPENDS
:=+transmission-daemon
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.
78 define Package
/transmission-cli
/description
79 CLI utilities for transmission.
82 define Package
/transmission-remote
/description
83 CLI remote interface for transmission.
86 define Package
/transmission-web
/description
87 Webinterface resources for transmission.
90 define Package
/transmission-daemon
/conffiles
91 /etc
/config
/transmission
94 TARGET_CFLAGS
+= -ffunction-sections
-fdata-sections
-flto
-DHAVE_SIZE_T
-latomic
95 TARGET_LDFLAGS
+= -Wl
,--gc-sections
-Wl
,--as-needed
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
)
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
)
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 \
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
/
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
/
160 $(eval
$(call BuildPackage
,transmission-daemon
))
161 $(eval
$(call BuildPackage
,transmission-cli
))
162 $(eval
$(call BuildPackage
,transmission-remote
))
163 $(eval
$(call BuildPackage
,transmission-web
))