aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/scripts/gettext.py
AgeCommit message (Collapse)AuthorFilesLines
2019-03-28gettext: prefer POTFILES.in if it existsEli Schwartz1-2/+2
If POTFILES.in exists, then it will have come from autotools, in which case it is explicitly the file passed to xgettext -f, and the POTFILES file itself is generated by autotools as a proxy file which eventually gets inlined into the final Makefile as a variable "POTFILES = ......" In this case, attempting to use POTFILES as the input file will simply result in syntax errors and the inability to find files with a literal trailing " \" in the name. Usually POTFILES will not exist at all, and we would fallback on POTFILES.in, but if the source tree happens to be dirty, this would result in errors. Since it's never going to be right to use it, we can just do the right thing from the start and carry on.
2018-06-07gettext: Install .mo files atomicallyPhilip Chimento1-2/+4
Without this, building a module in a Flatpak app manifest that is a newer version of a module already present in the Flatpak runtime will fail. (The Flatpak file system is a bunch of hard links to readonly files, which can be replaced but not written to.) This instead creates a temporary file in the same directory as the destination (to avoid cross-device renaming errors) and atomically renames the temporary file to the destination, replacing it instead of rewriting it as shutil.copyfile() would do.
2018-01-30Use os.path: basename() and dirname() instead of split()Aleksey Filippov1-1/+1
According to Python documentation[1] dirname and basename are defined as follows: os.path.dirname() = os.path.split()[0] os.path.basename() = os.path.split()[1] For the purpose of better readability split() is replaced by appropriate function if only one part of returned tuple is used. [1]: https://docs.python.org/3/library/os.path.html#os.path.split
2017-10-07Create the .po file with the `update_po` subcommand if it doesn't existCorentin Noël1-1/+4
2017-06-03Allow empty extra arguments in gettext scriptRene Lopez1-1/+1
2017-04-19Drop terminating fullstop from "Installing blah to blah" messagesPeter Hutterer1-1/+1
Grammatically, this full stop isn't needed and with file names it has a potential to be confusing: Installing /foo/bar/filename.1 to /foo/bar/dirname. The full stop caused me to do a double-take more than once, so let's drop it.
2017-01-02style: fix E127 violationsIgor Gnatenko1-1/+1
E127: continuation line over-indented for visual indent Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2016-12-17gettext: Respect the --subdir argument before the MESON_SUBDIR varThibault Saunier1-1/+3
In the case of subproject we will properly setup the --subdir argument but the MESON_SUBDIR is never adapted and will point to an empty string leading to the following backtrace when building `gst-build`: msgfmt: error while opening "/home/thiblahute/devel/gstreamer/gst-build/af.po" for reading: No such file or directory Traceback (most recent call last): File "/home/thiblahute/devel/gstreamer/gst-build/meson/meson.py", line 37, in <module> sys.exit(main()) File "/home/thiblahute/devel/gstreamer/gst-build/meson/meson.py", line 34, in main return mesonmain.run(launcher, sys.argv[1:]) File "/home/thiblahute/devel/gstreamer/gst-build/meson/mesonbuild/mesonmain.py", line 248, in run sys.exit(run_script_command(args[1:])) File "/home/thiblahute/devel/gstreamer/gst-build/meson/mesonbuild/mesonmain.py", line 236, in run_script_command return cmdfunc(cmdargs) File "/home/thiblahute/devel/gstreamer/gst-build/meson/mesonbuild/scripts/gettext.py", line 111, in run if gen_gmo(src_sub, bld_sub, langs) != 0: File "/home/thiblahute/devel/gstreamer/gst-build/meson/mesonbuild/scripts/gettext.py", line 66, in gen_gmo '-o', os.path.join(bld_sub, l + '.gmo')]) File "/usr/lib/python3.5/subprocess.py", line 581, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['msgfmt', '/home/thiblahute/devel/gstreamer/gst-build/af.po', '-o', '/home/thiblahute/devel/gstreamer/gst-build/build/af.gmo']' returned non-zero exit status 1 Failed to run install script: /usr/bin/python3 /home/thiblahute/devel/gstreamer/gst-build/meson/meson.py --internal gettext install --subdir=subprojects/gstreamer/po --localedir=share/locale --pkgname=gstreamer-1.0 --langs=af@@az@@be@@bg@@ca@@cs@@da@@de@@el@@en_GB@@eo@@es@@eu@@fi@@fr@@gl@@hr@@hu@@id@@it@@ja@@lt@@nb@@nl@@pl@@pt_BR@@ro@@ru@@rw@@sk@@sl@@sq@@sr@@sv@@tr@@uk@@vi@@zh_CN@@zh_TW FAILED: install '/usr/bin/python3' '/home/thiblahute/devel/gstreamer/gst-build/meson/meson.py' '--internal' 'install' '/home/thiblahute/devel/gstreamer/gst-build/build/meson-private/install.dat'
2016-12-07misc: Use relative imports everywhereNirbheek Chauhan1-1/+1
Using 'mesonbuild' as the module can cause it to use the system-installed module and can also break if we rename the directory, so avoid that by always using relative imports.
2016-12-06i18n: Improve language handlingPatrick Griffis1-1/+20
- Fix LINGUAS changes not being picked up - Fix multiple langs per line in LINGUAS - Make empty languages acceptable Fixes #1127
2016-11-02gettext: Use argparse to handle argumentsPatrick Griffis1-26/+28
2016-10-23gettext: Add update-po targetPatrick Griffis1-0/+16
For each project this creates a <project>-update-po target. When ran this updates the pot file and then merges it back into the po files in the source directory with `msgmerge` for project maintainers and translators. Fixes #819
2016-10-16gettext: Add ability to set GETTEXTDATADIRSPatrick Griffis1-3/+11
Some projects use this to allow using local its files
2016-10-07Remove shebangs on files that are not runnable and add execute bits to those ↵Jussi Pakkanen1-2/+0
that are.
2016-09-25i18n: use POTFILES.in as fallback if there's no POTFILES in po dirTim-Philipp Müller1-0/+6
In autotools POTFILES is generated at configure time from POTFILES.in, but Meson only looks for a po/POTFILES in the source directory, which is awkward when trying to maintain both build systems in parallel. Instead just use POTFILES.in as fallback if it exists but POTFILES does not. Also print an error if neither exists. Fixes #818
2016-06-16scripts: Use destdir_join fix for all DESTDIR prefixing (#598)Nirbheek Chauhan1-1/+3
2016-05-26Can pass extra args to xgettext. Closes #554.Jussi Pakkanen1-3/+3
2016-05-21Remove all special casing for gettext and use elementary operations instead.Jussi Pakkanen1-0/+65