1DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \
2Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols                   \
3(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more."
4HOMEPAGE = "http://www.twistedmatrix.com"
5
6#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL.
7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=0f8d67f84b6e178c92d471011b2245fc"
9
10SRC_URI[sha256sum] = "32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31"
11
12PYPI_PACKAGE = "Twisted"
13
14inherit pypi python_setuptools_build_meta
15
16do_install:append() {
17    # remove some useless files before packaging
18    find ${D} \( -name "*.bat" -o -name "*.c" -o -name "*.h" \) -exec rm -f {} \;
19}
20
21PACKAGES += "\
22    ${PN}-zsh \
23    ${PN}-test \
24    ${PN}-protocols \
25    ${PN}-conch \
26    ${PN}-mail \
27    ${PN}-names \
28    ${PN}-news \
29    ${PN}-runner \
30    ${PN}-web \
31    ${PN}-words \
32    ${PN}-flow \
33    ${PN}-pair \
34    ${PN}-core \
35"
36
37PACKAGES =+ "\
38    ${PN}-bin \
39"
40
41DEPENDS += " \
42    python3-incremental-native \
43"
44
45RDEPENDS:${PN} = "\
46    ${PN}-bin \
47    ${PN}-core \
48    ${PN}-conch \
49    ${PN}-mail \
50    ${PN}-names \
51    ${PN}-pair \
52    ${PN}-protocols \
53    ${PN}-runner \
54    ${PN}-web \
55    ${PN}-words \
56    ${PN}-zsh \
57"
58
59RDEPENDS:${PN}-core = "python3-appdirs \
60                       python3-asyncio \
61                       python3-automat \
62                       python3-constantly \
63                       python3-core \
64                       python3-debugger \
65                       python3-hyperlink \
66                       python3-incremental \
67                       python3-pyhamcrest \
68                       python3-pyserial \
69                       python3-typing-extensions \
70                       python3-unixadmin \
71                       python3-zopeinterface \
72"
73RDEPENDS:${PN}-test = "${PN}"
74RDEPENDS:${PN}-conch = "${PN}-core ${PN}-protocols python3-bcrypt python3-cryptography python3-pyasn1 python3-pickle"
75RDEPENDS:${PN}-mail = "${PN}-core ${PN}-protocols"
76RDEPENDS:${PN}-names = "${PN}-core"
77RDEPENDS:${PN}-news = "${PN}-core ${PN}-protocols"
78RDEPENDS:${PN}-runner = "${PN}-core ${PN}-protocols"
79RDEPENDS:${PN}-web += "${PN}-core ${PN}-protocols"
80RDEPENDS:${PN}-words += "${PN}-core"
81RDEPENDS:${PN}-flow += "${PN}-core"
82RDEPENDS:${PN}-pair += "${PN}-core"
83
84FILES:${PN} = "${PYTHON_SITEPACKAGES_DIR}/${PYPI_PACKAGE}-${PV}.dist-info/*"
85
86FILES:${PN}-test = " \
87    ${libdir}/${PYTHON_DIR}/site-packages/twisted/test \
88    ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/test \
89    ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/haproxy/test/ \
90"
91
92FILES:${PN}-protocols = " \
93    ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/*.py* \
94    ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/gps/ \
95    ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/mice/ \
96    ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/haproxy \
97"
98
99FILES:${PN}-zsh = " \
100    ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zsh \
101    ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.* \
102    ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/twisted-completion.zsh \
103"
104
105FILES:${PN}-conch = " \
106    ${bindir}/ckeygen \
107    ${bindir}/tkconch \
108    ${bindir}/conch \
109    ${bindir}/conchftp \
110    ${bindir}/cftp \
111    ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_conch.py* \
112    ${libdir}/${PYTHON_DIR}/site-packages/twisted/conch  \
113"
114
115FILES:${PN}-core = " \
116${bindir}/manhole \
117${bindir}/mktap \
118${bindir}/twistd \
119${bindir}/tap2deb \
120${bindir}/tap2rpm \
121${bindir}/tapconvert \
122${bindir}/tkmktap \
123${bindir}/trial \
124${bindir}/easy_install* \
125${bindir}/pyhtmlizer \
126${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.so \
127${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \
128${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__init__.py* \
129${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/notestplugin.py* \
130${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/testplugin.py* \
131${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_ftp.py* \
132${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_inet.py* \
133${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_manhole.py* \
134${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_portforward.py* \
135${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_socks.py* \
136${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_telnet.py* \
137${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_trial.py* \
138${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/dropin.cache \
139${libdir}/${PYTHON_DIR}/site-packages/twisted/application \
140${libdir}/${PYTHON_DIR}/site-packages/twisted/cred \
141${libdir}/${PYTHON_DIR}/site-packages/twisted/enterprise \
142${libdir}/${PYTHON_DIR}/site-packages/twisted/internet \
143${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \
144${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \
145${libdir}/${PYTHON_DIR}/site-packages/twisted/persisted \
146${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols\
147${libdir}/${PYTHON_DIR}/site-packages/twisted/python\
148${libdir}/${PYTHON_DIR}/site-packages/twisted/python/timeoutqueue.py* \
149${libdir}/${PYTHON_DIR}/site-packages/twisted/python/filepath.py* \
150${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dxprofile.py* \
151${libdir}/${PYTHON_DIR}/site-packages/twisted/python/plugin.py* \
152${libdir}/${PYTHON_DIR}/site-packages/twisted/python/htmlizer.py* \
153${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__init__.py* \
154${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dispatch.py* \
155${libdir}/${PYTHON_DIR}/site-packages/twisted/python/hook.py* \
156${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadpool.py* \
157${libdir}/${PYTHON_DIR}/site-packages/twisted/python/otp.py* \
158${libdir}/${PYTHON_DIR}/site-packages/twisted/python/usage.py* \
159${libdir}/${PYTHON_DIR}/site-packages/twisted/python/roots.py* \
160${libdir}/${PYTHON_DIR}/site-packages/twisted/python/versions.py* \
161${libdir}/${PYTHON_DIR}/site-packages/twisted/python/urlpath.py* \
162${libdir}/${PYTHON_DIR}/site-packages/twisted/python/util.py* \
163${libdir}/${PYTHON_DIR}/site-packages/twisted/python/components.py* \
164${libdir}/${PYTHON_DIR}/site-packages/twisted/python/logfile.py* \
165${libdir}/${PYTHON_DIR}/site-packages/twisted/python/runtime.py* \
166${libdir}/${PYTHON_DIR}/site-packages/twisted/python/reflect.py* \
167${libdir}/${PYTHON_DIR}/site-packages/twisted/python/context.py* \
168${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadable.py* \
169${libdir}/${PYTHON_DIR}/site-packages/twisted/python/rebuild.py* \
170${libdir}/${PYTHON_DIR}/site-packages/twisted/python/failure.py* \
171${libdir}/${PYTHON_DIR}/site-packages/twisted/python/lockfile.py* \
172${libdir}/${PYTHON_DIR}/site-packages/twisted/python/formmethod.py* \
173${libdir}/${PYTHON_DIR}/site-packages/twisted/python/finalize.py* \
174${libdir}/${PYTHON_DIR}/site-packages/twisted/python/win32.py* \
175${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dist.py* \
176${libdir}/${PYTHON_DIR}/site-packages/twisted/python/shortcut.py* \
177${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zipstream.py* \
178${libdir}/${PYTHON_DIR}/site-packages/twisted/python/release.py* \
179${libdir}/${PYTHON_DIR}/site-packages/twisted/python/syslog.py* \
180${libdir}/${PYTHON_DIR}/site-packages/twisted/python/log.py* \
181${libdir}/${PYTHON_DIR}/site-packages/twisted/python/compat.py* \
182${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.py* \
183${libdir}/${PYTHON_DIR}/site-packages/twisted/python/procutils.py* \
184${libdir}/${PYTHON_DIR}/site-packages/twisted/python/text.py* \
185${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_twisted_zsh_stub \
186${libdir}/${PYTHON_DIR}/site-packages/twisted/scripts/ \
187${libdir}/${PYTHON_DIR}/site-packages/twisted/spread/ \
188${libdir}/${PYTHON_DIR}/site-packages/twisted/tap/ \
189${libdir}/${PYTHON_DIR}/site-packages/twisted/trial/ \
190${libdir}/${PYTHON_DIR}/site-packages/twisted/__init__.py* \
191${libdir}/${PYTHON_DIR}/site-packages/twisted/_version.py* \
192${libdir}/${PYTHON_DIR}/site-packages/twisted/copyright.py* \
193${libdir}/${PYTHON_DIR}/site-packages/twisted/im.py* \
194${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \
195${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.py* \
196${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/*.py* \
197${libdir}/${PYTHON_DIR}/site-packages/twisted/topfiles \
198${libdir}/${PYTHON_DIR}/site-packages/Twisted*egg-info \
199${libdir}/${PYTHON_DIR}/site-packages/twisted/logger/ \
200${libdir}/${PYTHON_DIR}/site-packages/twisted/_threads/ \
201${libdir}/${PYTHON_DIR}/site-packages/twisted/positioning/ \
202${libdir}/${PYTHON_DIR}/site-packages/twisted/py.typed \
203"
204
205FILES:${PN}-mail = " \
206${bindir}/mailmail \
207${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_mail.py* \
208${libdir}/${PYTHON_DIR}/site-packages/twisted/mail \
209"
210
211FILES:${PN}-names = " \
212${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_names.py* \
213${libdir}/${PYTHON_DIR}/site-packages/twisted/names \
214"
215
216FILES:${PN}-news = " \
217${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_news.py* \
218${libdir}/${PYTHON_DIR}/site-packages/twisted/news \
219"
220
221FILES:${PN}-runner = " \
222${libdir}/site-packages/twisted/runner/portmap.so \
223${libdir}/${PYTHON_DIR}/site-packages/twisted/runner\
224"
225
226FILES:${PN}-web = " \
227${bindir}/websetroot \
228${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_web.py* \
229${libdir}/${PYTHON_DIR}/site-packages/twisted/web\
230"
231
232FILES:${PN}-words = " \
233${bindir}/im \
234${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_words.py* \
235${libdir}/${PYTHON_DIR}/site-packages/twisted/words\
236"
237
238FILES:${PN}-flow = " \
239${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_flow.py* \
240${libdir}/${PYTHON_DIR}/site-packages/twisted/flow \"
241
242FILES:${PN}-pair = " \
243${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_pair.py* \
244${libdir}/${PYTHON_DIR}/site-packages/twisted/pair \
245"
246
247FILES:${PN}-doc += " \
248    ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_pydoctortemplates/ \
249"
250
251FILES:${PN}-core:append = " \
252  ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \
253  ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \
254  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/__init__*.pyc \
255  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/notestplugin*.pyc \
256  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/testplugin*.pyc \
257  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_ftp*.pyc \
258  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_inet*.pyc \
259  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_manhole*.pyc \
260  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_portforward*.pyc \
261  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_socks*.pyc \
262  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_telnet*.pyc \
263  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_trial*.pyc \
264  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_core*.pyc \
265  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_qtstub*.pyc \
266  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_reactors*.pyc \
267  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/cred*.pyc \
268  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/dropin*.cache \
269"
270
271FILES:${PN}-names:append = " \
272  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_names*.pyc \
273"
274
275FILES:${PN}-news:append = " \
276  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_news*.pyc \
277"
278
279FILES:${PN}-protocols:append = " \
280  ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/__pycache__/*pyc \
281"
282
283FILES:${PN}-conch:append = " \
284  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_conch*.pyc \
285"
286
287FILES:${PN}-lore:append = " \
288  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_lore*.pyc \
289"
290FILES:${PN}-mail:append = " \
291  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_mail*.pyc \
292"
293
294FILES:${PN}-web:append = " \
295  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_web*.pyc \
296"
297
298FILES:${PN}-words:append = " \
299  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_words*.pyc \
300"
301
302FILES:${PN}-flow:append = " \
303  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_flow*.pyc \
304"
305
306FILES:${PN}-pair:append = " \
307  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_pair*.pyc \
308"
309
310FILES:${PN}-runner:append = " \
311  ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_runner*.pyc \
312"
313