We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Gnome-initial-setup is broken
https://build.gnome.org/continuous/buildmaster/builds/2018/10/25/27/build/log-gnome-initial-setup.txt

Git bisect says the cause is this: https://github.com/mesonbuild/meson/commit/176af2c8c33

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `mesonbuild/modules/i18n.py`
Content:
```
1 # Copyright 2016 The Meson development team
2 
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 
15 import shutil
16 
17 from os import path
18 from .. import coredata, mesonlib, build
19 from ..mesonlib import MesonException
20 from . import ModuleReturnValue
21 from . import ExtensionModule
22 from ..interpreterbase import permittedKwargs, FeatureNew, FeatureNewKwargs
23 
24 PRESET_ARGS = {
25     'glib': [
26         '--from-code=UTF-8',
27         '--add-comments',
28 
29         # https://developer.gnome.org/glib/stable/glib-I18N.html
30         '--keyword=_',
31         '--keyword=N_',
32         '--keyword=C_:1c,2',
33         '--keyword=NC_:1c,2',
34         '--keyword=g_dcgettext:2',
35         '--keyword=g_dngettext:2,3',
36         '--keyword=g_dpgettext2:2c,3',
37 
38         '--flag=N_:1:pass-c-format',
39         '--flag=C_:2:pass-c-format',
40         '--flag=NC_:2:pass-c-format',
41         '--flag=g_dngettext:2:pass-c-format',
42         '--flag=g_strdup_printf:1:c-format',
43         '--flag=g_string_printf:2:c-format',
44         '--flag=g_string_append_printf:2:c-format',
45         '--flag=g_error_new:3:c-format',
46         '--flag=g_set_error:4:c-format',
47     ]
48 }
49 
50 class I18nModule(ExtensionModule):
51 
52     @staticmethod
53     def _get_data_dirs(state, dirs):
54         """Returns source directories of relative paths"""
55         src_dir = path.join(state.environment.get_source_dir(), state.subdir)
56         return [path.join(src_dir, d) for d in dirs]
57 
58     @FeatureNew('i18n.merge_file', '0.37.0')
59     @permittedKwargs({'languages', 'data_dirs', 'preset', 'args', 'po_dir', 'type',
60                       'input', 'output', 'install', 'install_dir'})
61     def merge_file(self, state, args, kwargs):
62         podir = kwargs.pop('po_dir', None)
63         if not podir:
64             raise MesonException('i18n: po_dir is a required kwarg')
65         podir = path.join(state.build_to_src, state.subdir, podir)
66 
67         file_type = kwargs.pop('type', 'xml')
68         VALID_TYPES = ('xml', 'desktop')
69         if file_type not in VALID_TYPES:
70             raise MesonException('i18n: "{}" is not a valid type {}'.format(file_type, VALID_TYPES))
71 
72         datadirs = self._get_data_dirs(state, mesonlib.stringlistify(kwargs.pop('data_dirs', [])))
73         datadirs = '--datadirs=' + ':'.join(datadirs) if datadirs else None
74 
75         command = state.environment.get_build_command() + [
76             '--internal', 'msgfmthelper',
77             '@INPUT@', '@OUTPUT@', file_type, podir
78         ]
79         if datadirs:
80             command.append(datadirs)
81 
82         kwargs['command'] = command
83 
84         inputfile = kwargs['input']
85         if hasattr(inputfile, 'held_object'):
86             ct = build.CustomTarget(kwargs['output'] + '_merge', state.subdir, state.subproject, kwargs)
87         else:
88             if isinstance(inputfile, str):
89                 inputfile = mesonlib.File.from_source_file(state.environment.source_dir,
90                                                            state.subdir, inputfile)
91             output = kwargs['output']
92             ifile_abs = inputfile.absolute_path(state.environment.source_dir,
93                                                 state.environment.build_dir)
94             values = mesonlib.get_filenames_templates_dict([ifile_abs], None)
95             outputs = mesonlib.substitute_values([output], values)
96             output = outputs[0]
97             ct = build.CustomTarget(output + '_' + state.subdir.replace('/', '@').replace('\\', '@') + '_merge', state.subdir, state.subproject, kwargs)
98         return ModuleReturnValue(ct, [ct])
99 
100     @FeatureNewKwargs('i18n.gettext', '0.37.0', ['preset'])
101     @permittedKwargs({'po_dir', 'data_dirs', 'type', 'languages', 'args', 'preset', 'install'})
102     def gettext(self, state, args, kwargs):
103         if len(args) != 1:
104             raise coredata.MesonException('Gettext requires one positional argument (package name).')
105         if not shutil.which('xgettext'):
106             raise coredata.MesonException('Can not do gettext because xgettext is not installed.')
107         packagename = args[0]
108         languages = mesonlib.stringlistify(kwargs.get('languages', []))
109         datadirs = self._get_data_dirs(state, mesonlib.stringlistify(kwargs.get('data_dirs', [])))
110         extra_args = mesonlib.stringlistify(kwargs.get('args', []))
111 
112         preset = kwargs.pop('preset', None)
113         if preset:
114             preset_args = PRESET_ARGS.get(preset)
115             if not preset_args:
116                 raise coredata.MesonException('i18n: Preset "{}" is not one of the valid options: {}'.format(
117                                               preset, list(PRESET_ARGS.keys())))
118             extra_args = set(preset_args + extra_args)
119 
120         pkg_arg = '--pkgname=' + packagename
121         lang_arg = '--langs=' + '@@'.join(languages) if languages else None
122         datadirs = '--datadirs=' + ':'.join(datadirs) if datadirs else None
123         extra_args = '--extra-args=' + '@@'.join(extra_args) if extra_args else None
124 
125         potargs = state.environment.get_build_command() + ['--internal', 'gettext', 'pot', pkg_arg]
126         if datadirs:
127             potargs.append(datadirs)
128         if extra_args:
129             potargs.append(extra_args)
130         pottarget = build.RunTarget(packagename + '-pot', potargs[0], potargs[1:], [], state.subdir, state.subproject)
131 
132         gmoargs = state.environment.get_build_command() + ['--internal', 'gettext', 'gen_gmo']
133         if lang_arg:
134             gmoargs.append(lang_arg)
135         gmotarget = build.RunTarget(packagename + '-gmo', gmoargs[0], gmoargs[1:], [], state.subdir, state.subproject)
136 
137         updatepoargs = state.environment.get_build_command() + ['--internal', 'gettext', 'update_po', pkg_arg]
138         if lang_arg:
139             updatepoargs.append(lang_arg)
140         if datadirs:
141             updatepoargs.append(datadirs)
142         if extra_args:
143             updatepoargs.append(extra_args)
144         updatepotarget = build.RunTarget(packagename + '-update-po', updatepoargs[0], updatepoargs[1:], [], state.subdir, state.subproject)
145 
146         targets = [pottarget, gmotarget, updatepotarget]
147 
148         install = kwargs.get('install', True)
149         if install:
150             script = state.environment.get_build_command()
151             args = ['--internal', 'gettext', 'install',
152                     '--subdir=' + state.subdir,
153                     '--localedir=' + state.environment.coredata.get_builtin_option('localedir'),
154                     pkg_arg]
155             if lang_arg:
156                 args.append(lang_arg)
157             iscript = build.RunScript(script, args)
158             targets.append(iscript)
159 
160         return ModuleReturnValue(None, targets)
161 
162 def initialize(*args, **kwargs):
163     return I18nModule(*args, **kwargs)
164
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py
--- a/mesonbuild/modules/i18n.py
+++ b/mesonbuild/modules/i18n.py
@@ -85,6 +85,10 @@
         if hasattr(inputfile, 'held_object'):
             ct = build.CustomTarget(kwargs['output'] + '_merge', state.subdir, state.subproject, kwargs)
         else:
+            if isinstance(inputfile, list):
+                # We only use this input file to create a name of the custom target.
+                # Thus we can ignore the other entries.
+                inputfile = inputfile[0]
             if isinstance(inputfile, str):
                 inputfile = mesonlib.File.from_source_file(state.environment.source_dir,
                                                            state.subdir, inputfile)

{"golden_diff": "diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py\n--- a/mesonbuild/modules/i18n.py\n+++ b/mesonbuild/modules/i18n.py\n@@ -85,6 +85,10 @@\n         if hasattr(inputfile, 'held_object'):\n             ct = build.CustomTarget(kwargs['output'] + '_merge', state.subdir, state.subproject, kwargs)\n         else:\n+            if isinstance(inputfile, list):\n+                # We only use this input file to create a name of the custom target.\n+                # Thus we can ignore the other entries.\n+                inputfile = inputfile[0]\n             if isinstance(inputfile, str):\n                 inputfile = mesonlib.File.from_source_file(state.environment.source_dir,\n                                                            state.subdir, inputfile)\n", "issue": "Gnome-initial-setup is broken\nhttps://build.gnome.org/continuous/buildmaster/builds/2018/10/25/27/build/log-gnome-initial-setup.txt\r\n\r\nGit bisect says the cause is this: https://github.com/mesonbuild/meson/commit/176af2c8c33\n", "before_files": [{"content": "# Copyright 2016 The Meson development team\n\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n\n#     http://www.apache.org/licenses/LICENSE-2.0\n\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport shutil\n\nfrom os import path\nfrom .. import coredata, mesonlib, build\nfrom ..mesonlib import MesonException\nfrom . import ModuleReturnValue\nfrom . import ExtensionModule\nfrom ..interpreterbase import permittedKwargs, FeatureNew, FeatureNewKwargs\n\nPRESET_ARGS = {\n    'glib': [\n        '--from-code=UTF-8',\n        '--add-comments',\n\n        # https://developer.gnome.org/glib/stable/glib-I18N.html\n        '--keyword=_',\n        '--keyword=N_',\n        '--keyword=C_:1c,2',\n        '--keyword=NC_:1c,2',\n        '--keyword=g_dcgettext:2',\n        '--keyword=g_dngettext:2,3',\n        '--keyword=g_dpgettext2:2c,3',\n\n        '--flag=N_:1:pass-c-format',\n        '--flag=C_:2:pass-c-format',\n        '--flag=NC_:2:pass-c-format',\n        '--flag=g_dngettext:2:pass-c-format',\n        '--flag=g_strdup_printf:1:c-format',\n        '--flag=g_string_printf:2:c-format',\n        '--flag=g_string_append_printf:2:c-format',\n        '--flag=g_error_new:3:c-format',\n        '--flag=g_set_error:4:c-format',\n    ]\n}\n\nclass I18nModule(ExtensionModule):\n\n    @staticmethod\n    def _get_data_dirs(state, dirs):\n        \"\"\"Returns source directories of relative paths\"\"\"\n        src_dir = path.join(state.environment.get_source_dir(), state.subdir)\n        return [path.join(src_dir, d) for d in dirs]\n\n    @FeatureNew('i18n.merge_file', '0.37.0')\n    @permittedKwargs({'languages', 'data_dirs', 'preset', 'args', 'po_dir', 'type',\n                      'input', 'output', 'install', 'install_dir'})\n    def merge_file(self, state, args, kwargs):\n        podir = kwargs.pop('po_dir', None)\n        if not podir:\n            raise MesonException('i18n: po_dir is a required kwarg')\n        podir = path.join(state.build_to_src, state.subdir, podir)\n\n        file_type = kwargs.pop('type', 'xml')\n        VALID_TYPES = ('xml', 'desktop')\n        if file_type not in VALID_TYPES:\n            raise MesonException('i18n: \"{}\" is not a valid type {}'.format(file_type, VALID_TYPES))\n\n        datadirs = self._get_data_dirs(state, mesonlib.stringlistify(kwargs.pop('data_dirs', [])))\n        datadirs = '--datadirs=' + ':'.join(datadirs) if datadirs else None\n\n        command = state.environment.get_build_command() + [\n            '--internal', 'msgfmthelper',\n            '@INPUT@', '@OUTPUT@', file_type, podir\n        ]\n        if datadirs:\n            command.append(datadirs)\n\n        kwargs['command'] = command\n\n        inputfile = kwargs['input']\n        if hasattr(inputfile, 'held_object'):\n            ct = build.CustomTarget(kwargs['output'] + '_merge', state.subdir, state.subproject, kwargs)\n        else:\n            if isinstance(inputfile, str):\n                inputfile = mesonlib.File.from_source_file(state.environment.source_dir,\n                                                           state.subdir, inputfile)\n            output = kwargs['output']\n            ifile_abs = inputfile.absolute_path(state.environment.source_dir,\n                                                state.environment.build_dir)\n            values = mesonlib.get_filenames_templates_dict([ifile_abs], None)\n            outputs = mesonlib.substitute_values([output], values)\n            output = outputs[0]\n            ct = build.CustomTarget(output + '_' + state.subdir.replace('/', '@').replace('\\\\', '@') + '_merge', state.subdir, state.subproject, kwargs)\n        return ModuleReturnValue(ct, [ct])\n\n    @FeatureNewKwargs('i18n.gettext', '0.37.0', ['preset'])\n    @permittedKwargs({'po_dir', 'data_dirs', 'type', 'languages', 'args', 'preset', 'install'})\n    def gettext(self, state, args, kwargs):\n        if len(args) != 1:\n            raise coredata.MesonException('Gettext requires one positional argument (package name).')\n        if not shutil.which('xgettext'):\n            raise coredata.MesonException('Can not do gettext because xgettext is not installed.')\n        packagename = args[0]\n        languages = mesonlib.stringlistify(kwargs.get('languages', []))\n        datadirs = self._get_data_dirs(state, mesonlib.stringlistify(kwargs.get('data_dirs', [])))\n        extra_args = mesonlib.stringlistify(kwargs.get('args', []))\n\n        preset = kwargs.pop('preset', None)\n        if preset:\n            preset_args = PRESET_ARGS.get(preset)\n            if not preset_args:\n                raise coredata.MesonException('i18n: Preset \"{}\" is not one of the valid options: {}'.format(\n                                              preset, list(PRESET_ARGS.keys())))\n            extra_args = set(preset_args + extra_args)\n\n        pkg_arg = '--pkgname=' + packagename\n        lang_arg = '--langs=' + '@@'.join(languages) if languages else None\n        datadirs = '--datadirs=' + ':'.join(datadirs) if datadirs else None\n        extra_args = '--extra-args=' + '@@'.join(extra_args) if extra_args else None\n\n        potargs = state.environment.get_build_command() + ['--internal', 'gettext', 'pot', pkg_arg]\n        if datadirs:\n            potargs.append(datadirs)\n        if extra_args:\n            potargs.append(extra_args)\n        pottarget = build.RunTarget(packagename + '-pot', potargs[0], potargs[1:], [], state.subdir, state.subproject)\n\n        gmoargs = state.environment.get_build_command() + ['--internal', 'gettext', 'gen_gmo']\n        if lang_arg:\n            gmoargs.append(lang_arg)\n        gmotarget = build.RunTarget(packagename + '-gmo', gmoargs[0], gmoargs[1:], [], state.subdir, state.subproject)\n\n        updatepoargs = state.environment.get_build_command() + ['--internal', 'gettext', 'update_po', pkg_arg]\n        if lang_arg:\n            updatepoargs.append(lang_arg)\n        if datadirs:\n            updatepoargs.append(datadirs)\n        if extra_args:\n            updatepoargs.append(extra_args)\n        updatepotarget = build.RunTarget(packagename + '-update-po', updatepoargs[0], updatepoargs[1:], [], state.subdir, state.subproject)\n\n        targets = [pottarget, gmotarget, updatepotarget]\n\n        install = kwargs.get('install', True)\n        if install:\n            script = state.environment.get_build_command()\n            args = ['--internal', 'gettext', 'install',\n                    '--subdir=' + state.subdir,\n                    '--localedir=' + state.environment.coredata.get_builtin_option('localedir'),\n                    pkg_arg]\n            if lang_arg:\n                args.append(lang_arg)\n            iscript = build.RunScript(script, args)\n            targets.append(iscript)\n\n        return ModuleReturnValue(None, targets)\n\ndef initialize(*args, **kwargs):\n    return I18nModule(*args, **kwargs)\n", "path": "mesonbuild/modules/i18n.py"}], "after_files": [{"content": "# Copyright 2016 The Meson development team\n\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n\n#     http://www.apache.org/licenses/LICENSE-2.0\n\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport shutil\n\nfrom os import path\nfrom .. import coredata, mesonlib, build\nfrom ..mesonlib import MesonException\nfrom . import ModuleReturnValue\nfrom . import ExtensionModule\nfrom ..interpreterbase import permittedKwargs, FeatureNew, FeatureNewKwargs\n\nPRESET_ARGS = {\n    'glib': [\n        '--from-code=UTF-8',\n        '--add-comments',\n\n        # https://developer.gnome.org/glib/stable/glib-I18N.html\n        '--keyword=_',\n        '--keyword=N_',\n        '--keyword=C_:1c,2',\n        '--keyword=NC_:1c,2',\n        '--keyword=g_dcgettext:2',\n        '--keyword=g_dngettext:2,3',\n        '--keyword=g_dpgettext2:2c,3',\n\n        '--flag=N_:1:pass-c-format',\n        '--flag=C_:2:pass-c-format',\n        '--flag=NC_:2:pass-c-format',\n        '--flag=g_dngettext:2:pass-c-format',\n        '--flag=g_strdup_printf:1:c-format',\n        '--flag=g_string_printf:2:c-format',\n        '--flag=g_string_append_printf:2:c-format',\n        '--flag=g_error_new:3:c-format',\n        '--flag=g_set_error:4:c-format',\n    ]\n}\n\nclass I18nModule(ExtensionModule):\n\n    @staticmethod\n    def _get_data_dirs(state, dirs):\n        \"\"\"Returns source directories of relative paths\"\"\"\n        src_dir = path.join(state.environment.get_source_dir(), state.subdir)\n        return [path.join(src_dir, d) for d in dirs]\n\n    @FeatureNew('i18n.merge_file', '0.37.0')\n    @permittedKwargs({'languages', 'data_dirs', 'preset', 'args', 'po_dir', 'type',\n                      'input', 'output', 'install', 'install_dir'})\n    def merge_file(self, state, args, kwargs):\n        podir = kwargs.pop('po_dir', None)\n        if not podir:\n            raise MesonException('i18n: po_dir is a required kwarg')\n        podir = path.join(state.build_to_src, state.subdir, podir)\n\n        file_type = kwargs.pop('type', 'xml')\n        VALID_TYPES = ('xml', 'desktop')\n        if file_type not in VALID_TYPES:\n            raise MesonException('i18n: \"{}\" is not a valid type {}'.format(file_type, VALID_TYPES))\n\n        datadirs = self._get_data_dirs(state, mesonlib.stringlistify(kwargs.pop('data_dirs', [])))\n        datadirs = '--datadirs=' + ':'.join(datadirs) if datadirs else None\n\n        command = state.environment.get_build_command() + [\n            '--internal', 'msgfmthelper',\n            '@INPUT@', '@OUTPUT@', file_type, podir\n        ]\n        if datadirs:\n            command.append(datadirs)\n\n        kwargs['command'] = command\n\n        inputfile = kwargs['input']\n        if hasattr(inputfile, 'held_object'):\n            ct = build.CustomTarget(kwargs['output'] + '_merge', state.subdir, state.subproject, kwargs)\n        else:\n            if isinstance(inputfile, list):\n                # We only use this input file to create a name of the custom target.\n                # Thus we can ignore the other entries.\n                inputfile = inputfile[0]\n            if isinstance(inputfile, str):\n                inputfile = mesonlib.File.from_source_file(state.environment.source_dir,\n                                                           state.subdir, inputfile)\n            output = kwargs['output']\n            ifile_abs = inputfile.absolute_path(state.environment.source_dir,\n                                                state.environment.build_dir)\n            values = mesonlib.get_filenames_templates_dict([ifile_abs], None)\n            outputs = mesonlib.substitute_values([output], values)\n            output = outputs[0]\n            ct = build.CustomTarget(output + '_' + state.subdir.replace('/', '@').replace('\\\\', '@') + '_merge', state.subdir, state.subproject, kwargs)\n        return ModuleReturnValue(ct, [ct])\n\n    @FeatureNewKwargs('i18n.gettext', '0.37.0', ['preset'])\n    @permittedKwargs({'po_dir', 'data_dirs', 'type', 'languages', 'args', 'preset', 'install'})\n    def gettext(self, state, args, kwargs):\n        if len(args) != 1:\n            raise coredata.MesonException('Gettext requires one positional argument (package name).')\n        if not shutil.which('xgettext'):\n            raise coredata.MesonException('Can not do gettext because xgettext is not installed.')\n        packagename = args[0]\n        languages = mesonlib.stringlistify(kwargs.get('languages', []))\n        datadirs = self._get_data_dirs(state, mesonlib.stringlistify(kwargs.get('data_dirs', [])))\n        extra_args = mesonlib.stringlistify(kwargs.get('args', []))\n\n        preset = kwargs.pop('preset', None)\n        if preset:\n            preset_args = PRESET_ARGS.get(preset)\n            if not preset_args:\n                raise coredata.MesonException('i18n: Preset \"{}\" is not one of the valid options: {}'.format(\n                                              preset, list(PRESET_ARGS.keys())))\n            extra_args = set(preset_args + extra_args)\n\n        pkg_arg = '--pkgname=' + packagename\n        lang_arg = '--langs=' + '@@'.join(languages) if languages else None\n        datadirs = '--datadirs=' + ':'.join(datadirs) if datadirs else None\n        extra_args = '--extra-args=' + '@@'.join(extra_args) if extra_args else None\n\n        potargs = state.environment.get_build_command() + ['--internal', 'gettext', 'pot', pkg_arg]\n        if datadirs:\n            potargs.append(datadirs)\n        if extra_args:\n            potargs.append(extra_args)\n        pottarget = build.RunTarget(packagename + '-pot', potargs[0], potargs[1:], [], state.subdir, state.subproject)\n\n        gmoargs = state.environment.get_build_command() + ['--internal', 'gettext', 'gen_gmo']\n        if lang_arg:\n            gmoargs.append(lang_arg)\n        gmotarget = build.RunTarget(packagename + '-gmo', gmoargs[0], gmoargs[1:], [], state.subdir, state.subproject)\n\n        updatepoargs = state.environment.get_build_command() + ['--internal', 'gettext', 'update_po', pkg_arg]\n        if lang_arg:\n            updatepoargs.append(lang_arg)\n        if datadirs:\n            updatepoargs.append(datadirs)\n        if extra_args:\n            updatepoargs.append(extra_args)\n        updatepotarget = build.RunTarget(packagename + '-update-po', updatepoargs[0], updatepoargs[1:], [], state.subdir, state.subproject)\n\n        targets = [pottarget, gmotarget, updatepotarget]\n\n        install = kwargs.get('install', True)\n        if install:\n            script = state.environment.get_build_command()\n            args = ['--internal', 'gettext', 'install',\n                    '--subdir=' + state.subdir,\n                    '--localedir=' + state.environment.coredata.get_builtin_option('localedir'),\n                    pkg_arg]\n            if lang_arg:\n                args.append(lang_arg)\n            iscript = build.RunScript(script, args)\n            targets.append(iscript)\n\n        return ModuleReturnValue(None, targets)\n\ndef initialize(*args, **kwargs):\n    return I18nModule(*args, **kwargs)\n", "path": "mesonbuild/modules/i18n.py"}]}