From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Lepiller Subject: [PATCH 1/3] gnu: doc: Alloc documentation to be translated. Date: Sat, 3 Mar 2018 00:07:36 +0100 Message-ID: <20180302230738.13736-2-julien@lepiller.eu> References: <20180219233437.4d709181@lepiller.eu> <20180302230738.13736-1-julien@lepiller.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47157) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ertmX-0006bl-Nh for guix-devel@gnu.org; Fri, 02 Mar 2018 18:08:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ertmU-0006FY-19 for guix-devel@gnu.org; Fri, 02 Mar 2018 18:08:05 -0500 Received: from lepiller.eu ([89.234.186.109]:43054) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ertmT-0006An-OL for guix-devel@gnu.org; Fri, 02 Mar 2018 18:08:01 -0500 Received: from localhost.localdomain (static-176-182-42-79.ncc.abo.bbox.fr [176.182.42.79]) by lepiller.eu (OpenSMTPD) with ESMTPSA id 0b28144a (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128:NO) for ; Fri, 2 Mar 2018 23:09:40 +0000 (UTC) In-Reply-To: <20180302230738.13736-1-julien@lepiller.eu> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * po/doc/local.mk: New file. * Makefile.am: Include it. Add silent rules for po4a. * configure.ac: Look for po4a-translate and po4a-updatepo. * doc/local.mk: Add rules to generate gettext files. (TRANSLATED_INFO): New variable. (BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Add it. * .gitignore: Add generated files. --- .gitignore | 17 +++++++++++++++++ Makefile.am | 8 +++++++- configure.ac | 4 ++++ doc/local.mk | 22 +++++++++++++++++++--- po/doc/local.mk | 27 +++++++++++++++++++++++++++ 5 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 po/doc/local.mk diff --git a/.gitignore b/.gitignore index 4a110fb1f..0145a7d86 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,21 @@ /configure /doc/*.1 /doc/.dirstamp +/doc/guix.*.aux +/doc/guix.*.cp +/doc/guix.*.cps +/doc/guix.*.fn +/doc/guix.*.fns +/doc/guix.*.html +/doc/guix.*.info +/doc/guix.*.info-[0-9] +/doc/guix.*.ky +/doc/guix.*.pg +/doc/guix.*.toc +/doc/guix.*.t2p +/doc/guix.*.tp +/doc/guix.*.vr +/doc/guix.*.vrs /doc/guix.aux /doc/guix.cp /doc/guix.cps @@ -47,6 +62,7 @@ /doc/os-config-desktop.texi /doc/stamp-vti /doc/version.texi +/doc/version.*.texi /etc/guix-daemon.cil /etc/guix-daemon.conf /etc/guix-daemon.service @@ -79,6 +95,7 @@ /nix/scripts/list-runtime-roots /nix/scripts/offload /nix/scripts/substitute +/po/doc/*.mo /po/guix/*.gmo /po/guix/*.insert-header /po/guix/*.mo diff --git a/Makefile.am b/Makefile.am index 6556799e6..757ca9b2f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -10,6 +10,7 @@ # Copyright © 2017 Jan Nieuwenhuizen # Copyright © 2017 Arun Isaac # Copyright © 2018 ng0 +# Copyright © 2018 Julien Lepiller # # This file is part of GNU Guix. # @@ -51,6 +52,7 @@ MODULES_NOT_COMPILED = \ guix/man-db.scm include gnu/local.mk +include po/doc/local.mk MODULES = \ guix/base16.scm \ @@ -451,7 +453,7 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish # SELinux policy dist_selinux_policy_DATA = etc/guix-daemon.cil -EXTRA_DIST = \ +EXTRA_DIST += \ HACKING \ ROADMAP \ TODO \ @@ -778,3 +780,7 @@ AM_V_DOT_0 = @echo " DOT " $@; AM_V_HELP2MAN = $(AM_V_HELP2MAN_$(V)) AM_V_HELP2MAN_ = $(AM_V_HELP2MAN_$(AM_DEFAULT_VERBOSITY)) AM_V_HELP2MAN_0 = @echo " HELP2MAN" $@; + +AM_V_PO4A = $(AM_V_PO4A_$(V)) +AM_V_PO4A_ = $(AM_V_PO4A_$(AM_DEFAULT_VERBOSITY)) +AM_V_PO4A_0 = @echo " PO4A" $@; diff --git a/configure.ac b/configure.ac index 5872a8482..557da6318 100644 --- a/configure.ac +++ b/configure.ac @@ -263,6 +263,10 @@ AM_MISSING_PROG([DOT], [dot]) dnl Manual pages. AM_MISSING_PROG([HELP2MAN], [help2man]) +dnl Documentation translation. +AM_MISSING_PROG([PO4A_TRANSLATE], [po4a-translate]) +AM_MISSING_PROG([PO4A_UPDATEPO], [po4a-updatepo]) + dnl Emacs (optional), for 'etc/indent-package.el'. AC_PATH_PROG([EMACS], [emacs], [/usr/bin/emacs]) AC_SUBST([EMACS]) diff --git a/doc/local.mk b/doc/local.mk index 397ade050..f8cf969aa 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -4,6 +4,7 @@ # Copyright © 2013 Andreas Enge # Copyright © 2016 Taylan Ulrich Bayırlı/Kammer # Copyright © 2016, 2018 Mathieu Lirzin +# Copyright © 2018 Julien Lepiller # # This file is part of GNU Guix. # @@ -51,10 +52,25 @@ OS_CONFIG_EXAMPLES_TEXI = \ %D%/os-config-desktop.texi \ %D%/os-config-lightweight-desktop.texi +TRANSLATED_INFO = + # Bundle this file so that makeinfo finds it in out-of-source-tree builds. -BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) -EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI) -MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) +BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO) +EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO) +MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO) + +PO4A_PARAMS := -M UTF-8 -L UTF-8 #master and localized encoding +PO4A_PARAMS += -k 0 # produce an output even if the translation is not complete +PO4A_PARAMS += -f texinfo # texinfo format + +$(srcdir)/%D%/guix.%.texi: %D%/guix.texi po/doc/guix.%.po + -$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "$<" -p "$(word 2,$^)" -l "$@.tmp" + sed -i "s|guix\.info|$$(basename $@ | sed 's|texi$$|info|')|" "$@.tmp" + mv "$@.tmp" "$@" + +$(srcdir)/%D%/contributing.%.texi: %D%/contributing.texi po/doc/contributing.%.po + -$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "$<" -p "$(word 2,$^)" -l "$@" + -touch "$@" %D%/os-config-%.texi: gnu/system/examples/%.tmpl $(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \ diff --git a/po/doc/local.mk b/po/doc/local.mk new file mode 100644 index 000000000..0e4ad352c --- /dev/null +++ b/po/doc/local.mk @@ -0,0 +1,27 @@ +# GNU Guix --- Functional package management for GNU +# Copyright © 2018 Julien Lepiller +# +# This file is part of GNU Guix. +# +# GNU Guix is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or (at +# your option) any later version. +# +# GNU Guix is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Guix. If not, see . + +EXTRA_DIST = + +$(srcdir)/po/doc/contributing.%.po: doc/contributing.texi + -$(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" -p "$@" + -touch "$@" + +$(srcdir)/po/doc/guix.%.po: doc/guix.texi + -$(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" -p "$@" + -touch "$@" -- 2.16.1