[Spice-devel] [PATCH spice-gtk 2/2] build-sys: modernize gettext

marcandre.lureau at redhat.com marcandre.lureau at redhat.com
Tue May 9 14:45:50 UTC 2017


From: Marc-André Lureau <marcandre.lureau at redhat.com>

intltool and glib-gettext are somehow related, and upstream gettext
should now support everything needed for GNOME projects.

intltool support never really worked, and we removed some of its
commented usage a while ago when dropping spicy desktop/mime.

Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
---
 Makefile.am  | 17 ++------------
 README       |  2 +-
 autogen.sh   |  1 -
 configure.ac |  8 +++----
 po/Makevars  | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 83 insertions(+), 21 deletions(-)
 create mode 100644 po/Makevars

diff --git a/Makefile.am b/Makefile.am
index f462ae0..30f05f4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -26,20 +26,7 @@ if WITH_CONTROLLER
 pkgconfig_DATA += spice-controller.pc
 endif
 
-INTLTOOL_FILES =				\
-	intltool-extract.in			\
-	intltool-merge.in			\
-	intltool-update.in			\
-	$(NULL)
-
-DISTCLEANFILES =				\
-	$(pkgconfig_DATA)			\
-	intltool-extract			\
-	intltool-merge				\
-	intltool-update				\
-	gnome-doc-utils.make			\
-	po/.intltool-merge-cache		\
-	$(NULL)
+DISTCLEANFILES = $(pkgconfig_DATA)
 
 EXTRA_DIST =					\
 	build-aux/git-version-gen		\
@@ -52,8 +39,8 @@ MAINTAINERCLEANFILES =					\
 	$(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL)	\
 	$(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN)	\
 	$(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL)	\
+	$(GITIGNORE_MAINTAINERCLEANFILES_M4_GETTEXT)	\
 	m4/gtk-doc.m4					\
-	m4/intltool.m4					\
 	gtk-doc.make					\
 	$(NULL)
 
diff --git a/README b/README
index 2ab5b67..1ea621a 100644
--- a/README
+++ b/README
@@ -42,7 +42,7 @@ dnf builddep spice-gtk
 
 . or install:
 
-gtk3-devel spice-protocol intltool
+gtk3-devel spice-protocol
 openssl-devel pulseaudio-libs-devel pixman-devel
 gobject-introspection-devel libjpeg-turbo-devel zlib-devel
 cyrus-sasl-devel gtk-doc
diff --git a/autogen.sh b/autogen.sh
index da28eef..cc7bda3 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -10,7 +10,6 @@ test -z "$srcdir" && srcdir=.
     git submodule update --init --recursive
     gtkdocize
     autoreconf -v --force --install
-    intltoolize -f
 )
 
 CONFIGURE_ARGS="--enable-maintainer-mode --enable-gtk-doc --with-gtk=3.0 --enable-vala"
diff --git a/configure.ac b/configure.ac
index 74b5811..9cf8441 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,11 +13,11 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 LT_INIT([disable-static win32-dll])
 AM_MAINTAINER_MODE
 
-IT_PROG_INTLTOOL([0.40.0])
-GETTEXT_PACKAGE=spice-gtk
+GETTEXT_PACKAGE=AC_PACKAGE_TARNAME
 AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],"$GETTEXT_PACKAGE", [GETTEXT package name])
-AM_GLIB_GNU_GETTEXT
+AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE", [GETTEXT package name])
+AM_GNU_GETTEXT_VERSION([0.19.8])
+AM_GNU_GETTEXT([external])
 
 
 SPICE_GTK_LOCALEDIR=[${datadir}/locale]
diff --git a/po/Makevars b/po/Makevars
new file mode 100644
index 0000000..df15f4a
--- /dev/null
+++ b/po/Makevars
@@ -0,0 +1,76 @@
+# 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 = --keyword=_ --keyword=N_ \
+        --keyword=C_:1c,2 --keyword=NC_:1c,2 \
+        --keyword=g_dngettext:2,3 \
+        --flag=g_dngettext:2:pass-c-format \
+        --flag=g_strdup_printf:1:c-format \
+        --flag=g_string_printf:2:c-format \
+        --flag=g_string_append_printf:2:c-format \
+        --flag=g_error_new:3:c-format \
+        --flag=g_set_error:4:c-format \
+        --flag=g_markup_printf_escaped:1:c-format \
+        --flag=g_log:3:c-format \
+        --flag=g_print:1:c-format \
+        --flag=g_printerr:1:c-format \
+        --flag=g_printf:1:c-format \
+        --flag=g_fprintf:2:c-format \
+        --flag=g_sprintf:2:c-format \
+        --flag=g_snprintf:3:c-format
+
+
+# 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 = Free Software Foundation, Inc.
+
+# 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 =
+
+# 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 =
+
+# Ignore the timestamp of the .pot file, as git clones do not have
+# deterministic timestamps, and .po files are updated by translators
+# (only) in GNOME projects.
+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
-- 
2.13.0.rc1.16.gd80b50c3f



More information about the Spice-devel mailing list