From d15e95f785b21be3ca45e9e2cc7143779c0b5176 Mon Sep 17 00:00:00 2001 From: Martin Blanchard Date: Thu, 14 Feb 2019 21:27:32 +0000 Subject: build: Migrate from intltool to gettext https://gitlab.freedesktop.org/upower/upower/issues/89 --- .gitlab-ci.yml | 3 +-- autogen.sh | 11 ++------- configure.ac | 4 +-- po/.gitignore | 1 - po/Makevars | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ po/POTFILES.in | 1 - 6 files changed, 82 insertions(+), 16 deletions(-) create mode 100644 po/Makevars diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5497a33..0fdf312 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,7 @@ image: fedora:rawhide variables: - DEPENDENCIES: gettext libtool intltool gtk-doc - autoconf automake + DEPENDENCIES: libtool gtk-doc autoconf automake gettext-devel gcc redhat-rpm-config gcc-c++ glibc-devel make systemd sqlite-devel gobject-introspection-devel libusbx-devel libgudev-devel libimobiledevice-devel diff --git a/autogen.sh b/autogen.sh index 4a686aa..c01d09f 100755 --- a/autogen.sh +++ b/autogen.sh @@ -13,21 +13,14 @@ if test -z $AUTORECONF; then exit 1 fi -INTLTOOLIZE=`which intltoolize` -if test -z $INTLTOOLIZE; then - echo "*** No intltoolize found, please install the intltool package ***" - exit 1 -fi - GTKDOCIZE=`which gtkdocize` if test -z $GTKDOCIZE; then echo "*** No GTK-Doc found, please install it ***" exit 1 fi -gtkdocize -autopoint --force -AUTOPOINT='intltoolize --automake --copy' autoreconf --force --install --verbose +gtkdocize --copy || exit 1 +autoreconf --verbose --force --install || exit 1 cd $olddir test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" diff --git a/configure.ac b/configure.ac index c3a0e9a..b3505e8 100644 --- a/configure.ac +++ b/configure.ac @@ -229,9 +229,7 @@ if test "x$GCC" = "xyes"; then fi # i18n support -IT_PROG_INTLTOOL([0.40.0]) - -AM_GNU_GETTEXT_VERSION([0.17]) +AM_GNU_GETTEXT_VERSION([0.19.8]) AM_GNU_GETTEXT([external]) AC_SUBST([GETTEXT_PACKAGE],[${PACKAGE_TARNAME}]) diff --git a/po/.gitignore b/po/.gitignore index 59dc510..adfc4e0 100644 --- a/po/.gitignore +++ b/po/.gitignore @@ -1,7 +1,6 @@ Makefile.in.in POTFILES stamp-it -.intltool-merge-cache *.pot *.gmo diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..45215a8 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,78 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = The UPower authors. + +# This tells whether or not to prepend "GNU " prefix to the package +# name that gets inserted into the header of the $(DOMAIN).pot file. +# Possible values are "yes", "no", or empty. If it is empty, try to +# detect it automatically by scanning the files in $(top_srcdir) for +# "GNU packagename" string. +PACKAGE_GNU = no + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = https://gitlab.freedesktop.org/upower/upower/issues + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = yes + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = + +# These options get passed to msginit. +# If you want to disable line wrapping when writing PO files, add +# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and +# MSGINIT_OPTIONS. +MSGINIT_OPTIONS = + +# This tells whether or not to regenerate a PO file when $(DOMAIN).pot +# has changed. Possible values are "yes" and "no". Set this to no if +# the POT file is checked in the repository and the version control +# program ignores timestamps. +PO_DEPENDS_ON_POT = no + +# This tells whether or not to forcibly update $(DOMAIN).pot and +# regenerate PO files on "make dist". Possible values are "yes" and +# "no". Set this to no if the POT file and PO files are maintained +# externally. +DIST_DEPENDS_ON_UPDATE_PO = no diff --git a/po/POTFILES.in b/po/POTFILES.in index b3a3034..8f8caa4 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,5 +1,4 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. -[encoding: UTF-8] src/up-main.c tools/up-tool.c -- cgit v1.2.1