Purge hatch-gettext build plugin, and manually compile translations
Marco Ricci

Marco Ricci commited on 2025-03-16 23:59:30
Zeige 4 geänderte Dateien mit 1 Einfügungen und 13 Löschungen.


The hatch-gettext plugin requires Python 3.10 or higher, and
consequently hinders non-wheel installation of derivepassphrase on
Python 3.9 or PyPy 3.9.  The project also is, upon closer inspection,
alpha or beta quality: there are no tests, there appear to be no active
users (no issues or non-author pull requests filed), and the code
contains some dubious constructs (such as assembling all calls to
external programs as command-line strings, then naively splitting them
on whitespace).  I do not want to commit to using this build plugin in
any non-prototype setting.  So remove these settings from the build
system, build the translation message catalogs ourselves, and unignore
the respective paths.
... ...
@@ -1,5 +1,5 @@
1 1
 [build-system]
2
-requires = ["hatchling", "hatch-gettext"]
2
+requires = ["hatchling"]
3 3
 build-backend = "hatchling.build"
4 4
 
5 5
 [project]
... ...
@@ -229,17 +229,6 @@ omit = [
229 229
 ]
230 230
 dynamic_context = 'test_function'
231 231
 
232
-[tool.hatch.build.hooks.gettext]
233
-# Leave out 'i18n-name', which already defaults to the project.name key,
234
-# and 'po-directory', which defaults to 'po'.
235
-locale-directory = 'share/locale'
236
-# The following would need extra tooling, which we cannot necessarily
237
-# assume.  'regenerate-template' in particular doesn't work here because
238
-# we don't use xgettext to build the template files.
239
-identify-left-out = false
240
-regenerate-template = false
241
-show-report = false
242
-
243 232
 [tool.hatch.build.targets.sdist]
244 233
 exclude = [
245 234
     'docs/changelog.d/*.md',
... ...
@@ -1 +0,0 @@
1
-*/LC_MESSAGES/derivepassphrase.mo