diff options
Diffstat (limited to 'user/meson')
-rw-r--r-- | user/meson/APKBUILD | 6 | ||||
-rw-r--r-- | user/meson/meson-0.62.1-gettext-tiny.patch | 122 |
2 files changed, 3 insertions, 125 deletions
diff --git a/user/meson/APKBUILD b/user/meson/APKBUILD index e507106e3..725c42f0a 100644 --- a/user/meson/APKBUILD +++ b/user/meson/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=meson -pkgver=0.62.1 +pkgver=0.62.2 pkgrel=0 pkgdesc="Fast, user-friendly build system" url="https://mesonbuild.com/" @@ -25,5 +25,5 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="52d2d06c27275b824046164403908be8555faed33aef862940623cef3e4f84b4c9b8d461c291642e6ea2c0db30b2ec4a99f46bde5d54945a26c1dbeca219cc32 meson-0.62.1.tar.gz -5aaa4a8c538edaacccf369533cd55073bc394d0c277cc3260609984bfde6ed12bf1f115f7f811618bff4d37872c38f1a9fffdeeb50a0d7d76b05fb2d0ad29154 meson-0.62.1-gettext-tiny.patch" +sha512sums="4089588701f0f702eb3b794e0ede78b99f13ec7545d1a7470c7bfd6a857de59673684a543928dd578402578c53f38365a3a59e3e29022fd30a525353818a4195 meson-0.62.2.tar.gz +c6b65c88e7403ef2f892840575021f78082b683b7e3b879cd5fef7d639f571920dfd264c60c9085d68f8cfc649c7db401fe2375f409e5038864e74896f22b18a meson-0.62.1-gettext-tiny.patch" diff --git a/user/meson/meson-0.62.1-gettext-tiny.patch b/user/meson/meson-0.62.1-gettext-tiny.patch index 67c4fac62..4413a32dc 100644 --- a/user/meson/meson-0.62.1-gettext-tiny.patch +++ b/user/meson/meson-0.62.1-gettext-tiny.patch @@ -90,125 +90,3 @@ index c3298926ef8..c31657a71d3 100644 return update_po(src_sub, options.msgmerge, options.msginit, options.pkgname, langs) else: -From 3767fd103fb61c693f7a1148dea38de0dbc156e9 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz <eschwartz@archlinux.org> -Date: Sat, 7 May 2022 23:06:22 -0400 -Subject: [PATCH 2/3] i18n: fix bug where disabling gettext() broke - merge_file() - -In the former case, the presence of tools is optional, but triggers a -warning and then no-ops the target. In the latter case, the presence of -the tools is mandatory. But if it was already looked up and discovered -to be missing, we did not actually check that it is found before trying -to use it. - -In the case that it isn't found, check again, so that we explicitly -error out with a relevant error message due to setting the required -flag. - -Fixes #10320 ---- - mesonbuild/modules/i18n.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py -index 4bbc69abfb1..151fd08a01d 100644 ---- a/mesonbuild/modules/i18n.py -+++ b/mesonbuild/modules/i18n.py -@@ -166,7 +166,7 @@ def _get_data_dirs(state: 'ModuleState', dirs: T.Iterable[str]) -> T.List[str]: - KwargInfo('type', str, default='xml', validator=in_set_validator({'xml', 'desktop'})), - ) - def merge_file(self, state: 'ModuleState', args: T.List['TYPE_var'], kwargs: 'MergeFile') -> ModuleReturnValue: -- if self.tools['msgfmt'] is None: -+ if self.tools['msgfmt'] is None or not self.tools['msgfmt'].found(): - self.tools['msgfmt'] = state.find_program('msgfmt', for_machine=mesonlib.MachineChoice.BUILD) - podir = path.join(state.build_to_src, state.subdir, kwargs['po_dir']) - - -From 6176ed157942fb36a2a6dd0c209e21359a1df7b3 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz <eschwartz@archlinux.org> -Date: Sat, 7 May 2022 23:10:13 -0400 -Subject: [PATCH 3/3] i18n: be build-compatible (but not developer-compatible) - with gettext-tiny - -For maintainer targets, we need some more tools that gettext-tiny -doesn't implement. It's a shame to cause NLS to be completely disabled -in such environments, so instead just issue a warning and continue. - -Before 0.62.0 these were never checked for, and would simply fail at -runtime, probably. In theory, the user might install the tools in -between configuring and building, and then the maintainer targets would -begin to work. Return to that behavior -- we still create the targets, -which will *probably* fail, but might not -- and for existing -integrations, failing at `ninja foo-update-po` with "error, program -msgmerge not found" is a bit more discoverable than ninja saying "what -do you mean, there's no such target". - -We still have the 0.62.0 preferred behavior of trying to find the -programs, succeeding in all cases other than gettext-tiny, and -guaranteeing that their paths are set up in a machine-file-respecting -manner. ---- - mesonbuild/modules/i18n.py | 21 ++++++++++++--------- - 1 file changed, 12 insertions(+), 9 deletions(-) - -diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py -index 151fd08a01d..d97d166f33f 100644 ---- a/mesonbuild/modules/i18n.py -+++ b/mesonbuild/modules/i18n.py -@@ -140,10 +140,6 @@ def __init__(self, interpreter: 'Interpreter'): - 'xgettext': None, - } - -- @staticmethod -- def nogettext_warning(location: BaseNode) -> None: -- mlog.warning('Gettext not found, all translation targets will be ignored.', once=True, location=location) -- - @staticmethod - def _get_data_dirs(state: 'ModuleState', dirs: T.Iterable[str]) -> T.List[str]: - """Returns source directories of relative paths""" -@@ -223,13 +219,18 @@ def merge_file(self, state: 'ModuleState', args: T.List['TYPE_var'], kwargs: 'Me - ), - ) - def gettext(self, state: 'ModuleState', args: T.Tuple[str], kwargs: 'Gettext') -> ModuleReturnValue: -- for tool in ['msgfmt', 'msginit', 'msgmerge', 'xgettext']: -+ for tool, strict in [('msgfmt', True), ('msginit', False), ('msgmerge', False), ('xgettext', False)]: - if self.tools[tool] is None: - self.tools[tool] = state.find_program(tool, required=False, for_machine=mesonlib.MachineChoice.BUILD) - # still not found? - if not self.tools[tool].found(): -- self.nogettext_warning(state.current_node) -- return ModuleReturnValue(None, []) -+ if strict: -+ mlog.warning('Gettext not found, all translation (po) targets will be ignored.', -+ once=True, location=state.current_node) -+ return ModuleReturnValue(None, []) -+ else: -+ mlog.warning(f'{tool!r} not found, maintainer targets will not work', -+ once=True, fatal=False, location=state.current_node) - packagename = args[0] - pkg_arg = f'--pkgname={packagename}' - -diff -Nurd meson-0.62.1/mesonbuild/modules/i18n.py meson-0.62.1.new/mesonbuild/modules/i18n.py ---- meson-0.62.1/mesonbuild/modules/i18n.py 2022-05-30 17:31:38.274677123 +0000 -+++ meson-0.62.1.new/mesonbuild/modules/i18n.py 2022-05-30 17:34:11.654676626 +0000 -@@ -258,7 +258,8 @@ - potargs.append(datadirs) - if extra_arg: - potargs.append(extra_arg) -- potargs.append('--xgettext=' + self.tools['xgettext'].get_path()) -+ if self.tools['xgettext'].found(): -+ potargs.append('--xgettext=' + self.tools['xgettext'].get_path()) - pottarget = build.RunTarget(packagename + '-pot', potargs, [], state.subdir, state.subproject) - targets.append(pottarget) - -@@ -302,7 +303,8 @@ - if extra_arg: - updatepoargs.append(extra_arg) - for tool in ['msginit', 'msgmerge']: -- updatepoargs.append(f'--{tool}=' + self.tools[tool].get_path()) -+ if self.tools[tool].found(): -+ updatepoargs.append(f'--{tool}=' + self.tools[tool].get_path()) - updatepotarget = build.RunTarget(packagename + '-update-po', updatepoargs, [], state.subdir, state.subproject) - targets.append(updatepotarget) - |