From 71a2e7046cc8656c6f295752ecb607069a031672 Mon Sep 17 00:00:00 2001 From: Max Gaukler Date: Fri, 31 May 2019 12:54:28 +0200 Subject: Work around `xgettext --its` crash for old gettext versions Change from `xgettext --its` to `GETTEXTDATADIR=.` and `*.loc` files Works around this bug in Debian stable: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891347 Fixes https://gitlab.com/inkscape/inkscape/issues/271 --- po/CMakeLists.txt | 14 +++++++++++--- po/its/units.loc | 9 +++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 po/its/units.loc diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index 80bb731d5..b8bcf66ab 100644 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -33,14 +33,22 @@ if(UNIX) add_custom_command(OUTPUT ${_potFile} #COMMAND sh -c "${INTLTOOL-UPDATE} --pot --gettext-package=inkscape" COMMAND touch ${_potFile} + # Due to a bug in old xgettext versions, we cannot use '--its='. + # Instead, we use GETTEXTDATADIR=. to refer to the po/its/*.its files. + # This requires a .loc file for each .its file. See po/its/units.loc for an example. + # See https://gitlab.com/inkscape/inkscape/issues/271 for details. + # This workaround is necessary for Debian 9, so roughly until ca 2021. COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} -C -f POTFILES.src.in COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} -L Glade -f POTFILES.ui.in COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} -L Python -f POTFILES.py.in - COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} -f POTFILES.inx.in --from-code=UTF-8 --its its/inx.its + # the following uses po/its/inx.{loc, its} + COMMAND GETTEXTDATADIR=. ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} -f POTFILES.inx.in --from-code=UTF-8 COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} -L AppData ../org.inkscape.Inkscape.appdata.xml.in COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} -L Desktop ../org.inkscape.Inkscape.desktop.template - COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} --its its/menus.its ../share/ui/menus.xml - COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} --its its/units.its ../share/ui/units.xml + # the following uses po/its/menus.{loc, its} + COMMAND GETTEXTDATADIR=. ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} ../share/ui/menus.xml + # the following uses po/its/units.{loc, its} + COMMAND GETTEXTDATADIR=. ${GETTEXT_XGETTEXT_EXECUTABLE} ${xgettext_options} ../share/ui/units.xml COMMENT "Extract translatable messages to ${_potFile}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) diff --git a/po/its/units.loc b/po/its/units.loc new file mode 100644 index 000000000..26ea5e29c --- /dev/null +++ b/po/its/units.loc @@ -0,0 +1,9 @@ + + + + + + + + + -- cgit v1.2.3