p11-kit: switch to meson, generate localization files.

Also gets rid of libintl dependency and imports patches to actually
enable the localization.
This commit is contained in:
Érico Rolim 2021-03-05 00:46:36 -03:00 committed by Érico Nogueira Rolim
parent 46bcf1068d
commit 7377f185fc
3 changed files with 170 additions and 11 deletions

View File

@ -0,0 +1,117 @@
From c4477870d918ecfea32fa59cbed0066f9cba0d0d Mon Sep 17 00:00:00 2001
From: Daiki Ueno <ueno@gnu.org>
Date: Fri, 5 Mar 2021 08:26:02 +0100
Subject: [PATCH] common: Enable message translation in p11_tool_main
---
common/tool.c | 45 ++++++++++++++++++++++++++++++++++++---------
1 file changed, 36 insertions(+), 9 deletions(-)
diff --git a/common/tool.c b/common/tool.c
index 414f852d..5bd2a956 100644
--- a/common/tool.c
+++ b/common/tool.c
@@ -48,6 +48,17 @@
#include <stdlib.h>
#include <unistd.h>
+#ifdef HAVE_LOCALE_H
+#include <locale.h>
+#endif
+
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) dgettext(PACKAGE_NAME, x)
+#else
+#define _(x) (x)
+#endif
+
#include "tool.h"
static char
@@ -170,13 +181,21 @@ command_usage (const p11_tool_command *commands)
int i;
progname = getprogname ();
- printf ("usage: %s command <args>...\n", progname);
- printf ("\nCommon %s commands are:\n", progname);
+ printf (_("usage: %s command <args>...\n"), progname);
+ printf (_("\nCommon %s commands are:\n"), progname);
for (i = 0; commands[i].name != NULL; i++) {
if (strcmp (commands[i].name, P11_TOOL_FALLBACK) != 0)
- printf (" %-15s %s\n", commands[i].name, commands[i].text);
+#ifdef ENABLE_NLS
+ printf (" %-15s %s\n",
+ commands[i].name,
+ dgettext (PACKAGE_NAME, commands[i].text));
+#else
+ printf (" %-15s %s\n",
+ commands[i].name,
+ commands[i].text);
+#endif
}
- printf ("\nSee '%s <command> --help' for more information\n", progname);
+ printf (_("\nSee '%s <command> --help' for more information\n"), progname);
}
static void
@@ -205,6 +224,14 @@ p11_tool_main (int argc,
int in, out;
int i;
+#ifdef HAVE_LOCALE_H
+ setlocale (LC_ALL, "");
+#endif
+
+#ifdef ENABLE_NLS
+ textdomain (PACKAGE_NAME);
+#endif
+
/* Print messages by default. */
p11_message_loud ();
@@ -231,7 +258,7 @@ p11_tool_main (int argc,
if (strcmp (argv[in], "--") == 0) {
if (!command) {
- p11_message ("no command specified");
+ p11_message (_("no command specified"));
return 2;
} else {
break;
@@ -247,7 +274,7 @@ p11_tool_main (int argc,
want_help = true;
} else if (!command) {
- p11_message ("unknown global option: %s", argv[in]);
+ p11_message (_("unknown global option: %s"), argv[in]);
return 2;
}
@@ -276,7 +303,7 @@ p11_tool_main (int argc,
default:
if (!command) {
- p11_message ("unknown global option: -%c", (int)argv[in][i]);
+ p11_message (_("unknown global option: -%c"), (int)argv[in][i]);
return 2;
}
break;
@@ -303,7 +330,7 @@ p11_tool_main (int argc,
command_usage (commands);
return 0;
} else {
- p11_message ("no command specified");
+ p11_message (_("no command specified"));
return 2;
}
}
@@ -328,7 +355,7 @@ p11_tool_main (int argc,
}
/* At this point we have no command */
- p11_message ("'%s' is not a valid command. See '%s --help'",
+ p11_message (_("'%s' is not a valid command. See '%s --help'"),
command, getprogname ());
return 2;
}

View File

@ -0,0 +1,38 @@
From e1a8ec6c84421b6e5d309323e4817394fa6dbf49 Mon Sep 17 00:00:00 2001
From: Daiki Ueno <ueno@gnu.org>
Date: Fri, 5 Mar 2021 08:24:50 +0100
Subject: [PATCH] meson: Make sure to set PROJECT_NAME and ENABLE_NLS for 'nls'
option
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Pointed out by Érico Nogueira Rolim in:
https://github.com/p11-glue/p11-kit/issues/357
---
meson.build | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meson.build b/meson.build
index 27cb5e76..52643f02 100644
--- a/meson.build
+++ b/meson.build
@@ -26,6 +26,7 @@ add_project_arguments(['-D_GNU_SOURCE', '-DP11_KIT_FUTURE_UNSTABLE_API'],
conf = configuration_data()
+conf.set_quoted('PACKAGE_NAME', meson.project_name())
conf.set('PACKAGE_MAJOR', major_version)
conf.set('PACKAGE_MINOR', minor_version)
@@ -58,6 +59,10 @@ endif
conf.set10('WITH_STRICT', get_option('strict'))
+if get_option('nls') and cc.has_header('libintl.h')
+ conf.set('ENABLE_NLS', 1)
+endif
+
prefix = get_option('prefix')
datadir = get_option('datadir')
bindir = get_option('bindir')

View File

@ -1,31 +1,35 @@
# Template file for 'p11-kit'
pkgname=p11-kit
version=0.23.22
revision=1
build_style=gnu-configure
configure_args="--with-module-path=/usr/lib/pkcs11"
hostmakedepends="automake libtool pkg-config"
makedepends="gettext-devel libtasn1-devel libffi-devel"
revision=2
build_style=meson
configure_args="-Dlibffi=enabled -Dsystemd=disabled -Dbash_completion=disabled
-Dgtk_doc=true -Dman=true -Dnls=true -Dtrust_module=enabled"
hostmakedepends="pkg-config gettext gtk-doc libxslt libtasn1-tools"
# glib-devel for gtk-doc
makedepends="libtasn1-devel libffi-devel glib-devel"
short_desc="Provides a way to load and enumerate PKCS#11 modules"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-3-Clause"
homepage="https://github.com/p11-glue/p11-kit"
distfiles="${homepage}/releases/download/${version}/p11-kit-${version}.tar.xz"
checksum=8a8f40153dd5a3f8e7c03e641f8db400133fb2a6a9ab2aee1b6d0cb0495ec6b6
patch_args=-Np1
conf_files="/etc/pkcs11/pkcs11.conf"
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" gettext-devel"
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -Dtest=true"
else
configure_args+=" -Dtest=false"
fi
pre_configure() {
NOCONFIGURE=1 autoreconf -fi
}
post_install() {
mv ${DESTDIR}/etc/pkcs11/pkcs11.conf.example \
${DESTDIR}/etc/pkcs11/pkcs11.conf
vlicense COPYING
vcompletion bash-completion/p11-kit bash p11-kit
vcompletion bash-completion/trust bash trust
}
p11-kit-devel_package() {