specter-desktop/setup.py
k9ert ef364ce1bc
Chore: refurbish release infrastructure (#2198)
* change release infra

* syntax error

* fix buildscript (hopefully)

* fix pip generation too

* fix build (hopefully)

* fix bloated sdid (mainly MANIFEST.in)

* adjust tests, remove importlib_meta

* fix dependency issue in release jobs

* fix tests and remove pytest.ini entirely

* fix install_noded script

* fix test

* fix tests

* stupid versioin parsing does not work!

* try to fix version guessing

* and again
2023-02-15 14:58:33 +01:00

51 lines
1.5 KiB
Python
Executable file

from babel.messages import frontend as babel
from glob import glob
from setuptools import find_namespace_packages, setup
from setuptools.command.install import install
class InstallWithBabelCompile(install):
"""from this stackoverflow question
https://stackoverflow.com/questions/40051076/compile-translation-files-when-calling-setup-py-install
"""
def run(self):
from babel.messages.frontend import compile_catalog
compiler = compile_catalog(self.distribution)
option_dict = self.distribution.get_option_dict("compile_catalog")
compiler.domain = [option_dict["domain"][1]]
compiler.directory = option_dict["directory"][1]
compiler.run()
super().run()
with open("requirements.txt") as f:
install_reqs = f.read().strip().split("\n")
# Filter out comments/hashes
reqs = []
for req in install_reqs:
if req.startswith("#") or req.startswith(" --hash="):
continue
reqs.append(str(req).rstrip(" \\"))
setup(
package_data={
"": [
"translations/*/LC_MESSAGES/messages.mo",
]
},
# take METADATA.in into account, include that stuff as well (static/templates)
install_requires=reqs,
cmdclass={
"install": InstallWithBabelCompile,
# The rest is convenience but not strictly necessary for the automation:
"compile_catalog": babel.compile_catalog,
"extract_messages": babel.extract_messages,
"init_catalog": babel.init_catalog,
"update_catalog": babel.update_catalog,
},
)