Mercurial > libervia-backend
annotate setup.py @ 3696:52ee22d78e18
plugin XEP-0384: fix encryption for user own devices:
our own jid is added automatically by OMEMO library, but during the generation of the
stanza, our list of jids was used to get the keys (and thus our own jid and devices keys
was missing).
fix 402
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 22 Oct 2021 18:46:51 +0200 |
parents | fc209014524a |
children | 09f5ac48ffe3 f97be63871e4 |
rev | line source |
---|---|
3028 | 1 #!/usr/bin/env python3 |
225 | 2 |
2574 | 3 # SAT: an XMPP client |
3479 | 4 # Copyright (C) 2009-2021 Jérôme Poisson (goffi@goffi.org) |
1766 | 5 # Copyright (C) 2013-2016 Adrien Cossa (souliane@mailoo.org) |
238
83d2bc0abf2a
version, README, CHANGELOG and INSTALL updates
Goffi <goffi@goffi.org>
parents:
237
diff
changeset
|
6 |
609
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
7 # This program is free software: you can redistribute it and/or modify |
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
8 # it under the terms of the GNU Affero General Public License as published by |
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
10 # (at your option) any later version. |
238
83d2bc0abf2a
version, README, CHANGELOG and INSTALL updates
Goffi <goffi@goffi.org>
parents:
237
diff
changeset
|
11 |
609
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, |
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
15 # GNU Affero General Public License for more details. |
238
83d2bc0abf2a
version, README, CHANGELOG and INSTALL updates
Goffi <goffi@goffi.org>
parents:
237
diff
changeset
|
16 |
609
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
84a6e83157c2
fixed licences in docstrings (they are now in comments)
Goffi <goffi@goffi.org>
parents:
607
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
238
83d2bc0abf2a
version, README, CHANGELOG and INSTALL updates
Goffi <goffi@goffi.org>
parents:
237
diff
changeset
|
19 |
2562 | 20 from setuptools import setup, find_packages |
586
6a718ede8be1
Fix coding style in setup.py.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
581
diff
changeset
|
21 import os |
2562 | 22 |
3576
8876803db81b
/!\ package is being renamed to libervia-backend following global name change /!\
Goffi <goffi@goffi.org>
parents:
3575
diff
changeset
|
23 NAME = "libervia-backend" |
8876803db81b
/!\ package is being renamed to libervia-backend following global name change /!\
Goffi <goffi@goffi.org>
parents:
3575
diff
changeset
|
24 # NOTE: directory is still "sat" for compatibility reason, should be changed for 0.9 |
8876803db81b
/!\ package is being renamed to libervia-backend following global name change /!\
Goffi <goffi@goffi.org>
parents:
3575
diff
changeset
|
25 DIR_NAME = "sat" |
1100
2be46f391cfa
setup: SAT_INSTALL environment variable handles "clean" and "purge" options
souliane <souliane@mailoo.org>
parents:
1054
diff
changeset
|
26 |
2562 | 27 install_requires = [ |
3575
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
28 'babel < 3', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
29 'dbus-python < 1.3', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
30 'html2text < 2020.2', |
3061
948833e3b542
tools (common/template): removed warning catches, jinja2>=2.10.3 now handles them correctly
Goffi <goffi@goffi.org>
parents:
3053
diff
changeset
|
31 'jinja2>=2.10.3', |
3575
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
32 'langid < 2', |
2562 | 33 'lxml >= 3.1.0', |
2874
da0193ae1c24
misc (setup): minimum markdown version is not 3.0
Goffi <goffi@goffi.org>
parents:
2857
diff
changeset
|
34 'markdown >= 3.0', |
3575
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
35 'miniupnpc < 2.1', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
36 'mutagen < 2', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
37 'netifaces < 0.12', |
3330
7b47f48d31f3
plugin XEP-0264: fix orientation of thumbnails:
Goffi <goffi@goffi.org>
parents:
3281
diff
changeset
|
38 'pillow >= 6.0.0', |
3575
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
39 'progressbar2 < 3.54', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
40 'cryptography < 3.5', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
41 'pygments < 3', |
3577 | 42 'pygobject < 3.40.1', |
3575
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
43 'pyopenssl < 21.0.0', |
3686
fc209014524a
install (setup): set minimum version of `python-dateutil` to `2.8.1`:
Goffi <goffi@goffi.org>
parents:
3577
diff
changeset
|
44 'python-dateutil >= 2.8.1, < 3', |
3575
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
45 'python-potr < 1.1', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
46 'pyxdg < 0.30', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
47 'sat_tmp >= 0.8.0b1, < 0.9', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
48 'shortuuid < 1.1', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
49 'twisted[tls] >= 20.3.0, < 21.3.0', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
50 'treq < 22.0.0', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
51 'urwid >= 1.2.0, < 3', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
52 'urwid-satext >= 0.8.0b1, < 0.9', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
53 'wokkel >= 18.0.0, < 19.0.0', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
54 'omemo >= 0.11.0, < 0.13.0', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
55 'omemo-backend-signal < 0.3', |
1b52e5ea3a7e
install: set upper limit for dependencies versions
Goffi <goffi@goffi.org>
parents:
3556
diff
changeset
|
56 'pyyaml < 5.5.0', |
2562 | 57 ] |
1123 | 58 |
3259
f300d78f08f3
core: image convertion + SVG support:
Goffi <goffi@goffi.org>
parents:
3160
diff
changeset
|
59 extras_require = { |
f300d78f08f3
core: image convertion + SVG support:
Goffi <goffi@goffi.org>
parents:
3160
diff
changeset
|
60 "SVG": ["CairoSVG"], |
f300d78f08f3
core: image convertion + SVG support:
Goffi <goffi@goffi.org>
parents:
3160
diff
changeset
|
61 } |
f300d78f08f3
core: image convertion + SVG support:
Goffi <goffi@goffi.org>
parents:
3160
diff
changeset
|
62 |
1150
beaf8d4475e4
misc (D-Bus, installation): added a .service file for D-Bus auto-launch feature + installation from setup.py (path adaptation now use regex).
Goffi <goffi@goffi.org>
parents:
1138
diff
changeset
|
63 DBUS_DIR = 'dbus-1/services' |
3480
7550ae9cfbac
Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents:
3479
diff
changeset
|
64 DBUS_FILE = 'misc/org.libervia.Libervia.service' |
3576
8876803db81b
/!\ package is being renamed to libervia-backend following global name change /!\
Goffi <goffi@goffi.org>
parents:
3575
diff
changeset
|
65 with open(os.path.join(DIR_NAME, 'VERSION')) as f: |
2571
4aca060075b7
setup: version is now set in SAT/VERSION, sat is not imported anymore in setup
Goffi <goffi@goffi.org>
parents:
2567
diff
changeset
|
66 VERSION = f.read().strip() |
2572 | 67 is_dev_version = VERSION.endswith('D') |
3556
bb87ddfdde58
install (setup): add `setuptools_scm` to install dependencies if in dev version
Goffi <goffi@goffi.org>
parents:
3481
diff
changeset
|
68 if is_dev_version: |
bb87ddfdde58
install (setup): add `setuptools_scm` to install dependencies if in dev version
Goffi <goffi@goffi.org>
parents:
3481
diff
changeset
|
69 install_requires.append("setuptools_scm") |
2572 | 70 |
71 | |
72 def sat_dev_version(): | |
73 """Use mercurial data to compute version""" | |
74 def version_scheme(version): | |
2576
cb7bf936d8e8
setup, tools(utils): fixed versioning in setup and getRepositoryData
Goffi <goffi@goffi.org>
parents:
2574
diff
changeset
|
75 return VERSION.replace('D', '.dev0') |
2572 | 76 |
77 def local_scheme(version): | |
2576
cb7bf936d8e8
setup, tools(utils): fixed versioning in setup and getRepositoryData
Goffi <goffi@goffi.org>
parents:
2574
diff
changeset
|
78 return "+{rev}.{distance}".format( |
2572 | 79 rev=version.node[1:], |
80 distance=version.distance) | |
81 | |
3053
8b36e5c3f28f
misc: don't import memory in launch script:
Goffi <goffi@goffi.org>
parents:
3044
diff
changeset
|
82 return { |
8b36e5c3f28f
misc: don't import memory in launch script:
Goffi <goffi@goffi.org>
parents:
3044
diff
changeset
|
83 'version_scheme': version_scheme, |
8b36e5c3f28f
misc: don't import memory in launch script:
Goffi <goffi@goffi.org>
parents:
3044
diff
changeset
|
84 'local_scheme': local_scheme |
8b36e5c3f28f
misc: don't import memory in launch script:
Goffi <goffi@goffi.org>
parents:
3044
diff
changeset
|
85 } |
1150
beaf8d4475e4
misc (D-Bus, installation): added a .service file for D-Bus auto-launch feature + installation from setup.py (path adaptation now use regex).
Goffi <goffi@goffi.org>
parents:
1138
diff
changeset
|
86 |
2565
ea106dfa2145
setup, constant: use https address in APP_URL, and keep pypi NAME separated from constants
Goffi <goffi@goffi.org>
parents:
2564
diff
changeset
|
87 |
3036
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
88 setup( |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
89 name=NAME, |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
90 version=VERSION, |
3481
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
91 description="Libervia multipurpose and multi frontend XMPP client", |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
92 long_description="Libervia is a XMPP client based on a daemon/frontend " |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
93 "architecture. It's multi frontend (desktop, web, console " |
3036
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
94 "interface, CLI, etc) and multipurpose (instant messaging, " |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
95 "microblogging, games, file sharing, etc).", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
96 author="Association « Salut à Toi »", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
97 author_email="contact@goffi.org", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
98 url="https://salut-a-toi.org", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
99 classifiers=[ |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
100 "Programming Language :: Python :: 3 :: Only", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
101 "Programming Language :: Python :: 3.7", |
3073
daed12db819d
install (setup): added Python 3.8 classifier
Goffi <goffi@goffi.org>
parents:
3061
diff
changeset
|
102 "Programming Language :: Python :: 3.8", |
3481
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
103 "Programming Language :: Python :: 3.9", |
3036
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
104 "Development Status :: 5 - Production/Stable", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
105 "Environment :: Console", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
106 "Framework :: Twisted", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
107 "License :: OSI Approved :: GNU Affero General Public License v3 " |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
108 "or later (AGPLv3+)", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
109 "Operating System :: POSIX :: Linux", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
110 "Topic :: Communications :: Chat" |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
111 ], |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
112 packages=find_packages() + ["twisted.plugins"], |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
113 data_files=[("share/locale/fr/LC_MESSAGES", |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
114 ["i18n/fr/LC_MESSAGES/sat.mo"]), |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
115 (os.path.join("share/doc", NAME), |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
116 ["CHANGELOG", "COPYING", "INSTALL", "README", "README4TRANSLATORS"]), |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
117 (os.path.join("share", DBUS_DIR), [DBUS_FILE]), |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
118 ], |
3281
a3639d6d9643
core: replaced `sat` shell script by a python script:
Goffi <goffi@goffi.org>
parents:
3259
diff
changeset
|
119 entry_points={ |
a3639d6d9643
core: replaced `sat` shell script by a python script:
Goffi <goffi@goffi.org>
parents:
3259
diff
changeset
|
120 "console_scripts": [ |
3481
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
121 # backend + alias |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
122 "libervia-backend = sat.core.launcher:Launcher.run", |
3281
a3639d6d9643
core: replaced `sat` shell script by a python script:
Goffi <goffi@goffi.org>
parents:
3259
diff
changeset
|
123 "sat = sat.core.launcher:Launcher.run", |
3481
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
124 |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
125 # CLI + aliases |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
126 "libervia-cli = sat_frontends.jp.base:LiberviaCli.run", |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
127 "li = sat_frontends.jp.base:LiberviaCli.run", |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
128 "jp = sat_frontends.jp.base:LiberviaCli.run", |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
129 |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
130 # TUI + alias |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
131 "libervia-tui = sat_frontends.primitivus.base:PrimitivusApp.run", |
7892585b7e17
core (setup), jp, primitivus: update console scripts + classifiers:
Goffi <goffi@goffi.org>
parents:
3480
diff
changeset
|
132 "primitivus = sat_frontends.primitivus.base:PrimitivusApp.run", |
3281
a3639d6d9643
core: replaced `sat` shell script by a python script:
Goffi <goffi@goffi.org>
parents:
3259
diff
changeset
|
133 ], |
a3639d6d9643
core: replaced `sat` shell script by a python script:
Goffi <goffi@goffi.org>
parents:
3259
diff
changeset
|
134 }, |
3036
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
135 zip_safe=False, |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
136 setup_requires=["setuptools_scm"] if is_dev_version else [], |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
137 use_scm_version=sat_dev_version if is_dev_version else False, |
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
138 install_requires=install_requires, |
3352
a3f940e3d72e
install (setup.py): added missing `extra_requires`
Goffi <goffi@goffi.org>
parents:
3330
diff
changeset
|
139 extras_require=extras_require, |
3036
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
140 package_data={"sat": ["VERSION"]}, |
3040 | 141 python_requires=">=3.7", |
3036
3338c6a634f5
install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents:
3035
diff
changeset
|
142 ) |