Skip to content
Snippets Groups Projects
Verified Commit 55931c09 authored by Tobias Powalowski's avatar Tobias Powalowski :sunglasses:
Browse files

upgpkg: 0.23.1-1: update to latest version

parent a5407170
Branches main
Tags 0.24-1
No related merge requests found
pkgbase = gettext
pkgdesc = GNU internationalization library
pkgver = 0.23
pkgrel = 2
pkgver = 0.23.1
pkgrel = 1
url = https://www.gnu.org/software/gettext/
arch = x86_64
license = GFDL-1.2-only
......@@ -10,22 +10,20 @@ pkgbase = gettext
license = LGPL-2.0-only
makedepends = emacs
depends = acl
depends = attr
depends = gcc-libs
depends = libunistring
depends = libxml2
depends = ncurses
depends = sh
optdepends = git: for autopoint infrastructure updates
options = !docs
source = https://ftp.gnu.org/pub/gnu/gettext/gettext-0.23.tar.gz
source = https://ftp.gnu.org/pub/gnu/gettext/gettext-0.23.tar.gz.sig
source = gettext-0.23-libxml2.patch
source = gettext-0.23-fix-local-variants.patch
source = https://ftp.gnu.org/pub/gnu/gettext/gettext-0.23.1.tar.gz
source = https://ftp.gnu.org/pub/gnu/gettext/gettext-0.23.1.tar.gz.sig
validpgpkeys = 462225C3B46F34879FC8496CD605848ED7E69871
validpgpkeys = 68D94D8AAEEAD48AE7DC5B904F494A942E4616C2
validpgpkeys = 9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D
b2sums = 32828852ff105c66d4034f8a689f3e2a007b8770daa72f7f99fec3fb5ee2be7a930fb534389edf59436c8f41b98122efab24931d0e8bea3a903d24b4d9a34bfb
b2sums = c5c5b857b945aef24be45e855d0bfdeb717135eb4a3d1ecc48db2df4c31e32b20f6c5f9730a11c36b8e8f3246073751eeaef1f6a97a066ee2c324217426e52c4
b2sums = SKIP
b2sums = c93e039ac8fd150a2d210343886cdaa13308af091ed9f97b93d4137c52d51e84ec32f78961b1ee5a100f2e7f4c61ef47c7ad9282e28a406a89d11ef18c57510b
b2sums = 165aeafb3a491d9b94b88ee5a2e82dff7daa882fa6bca4598f5c5ea11d1c150b17b76742c800f708ec0ecd0e5c12e2089d72cc5643b070b0b815b77af6abd6ea
pkgname = gettext
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=gettext
pkgver=0.23
pkgrel=2
pkgver=0.23.1
pkgrel=1
pkgdesc="GNU internationalization library"
url="https://www.gnu.org/software/gettext/"
arch=(x86_64)
......@@ -14,9 +14,11 @@ license=(
)
depends=(
acl
attr
gcc-libs
libunistring
libxml2
ncurses
sh
)
makedepends=(
......@@ -26,23 +28,13 @@ optdepends=('git: for autopoint infrastructure updates')
options=(!docs)
source=(
https://ftp.gnu.org/pub/gnu/gettext/$pkgname-$pkgver.tar.gz{,.sig}
gettext-0.23-libxml2.patch
gettext-0.23-fix-local-variants.patch
)
b2sums=('32828852ff105c66d4034f8a689f3e2a007b8770daa72f7f99fec3fb5ee2be7a930fb534389edf59436c8f41b98122efab24931d0e8bea3a903d24b4d9a34bfb'
'SKIP'
'c93e039ac8fd150a2d210343886cdaa13308af091ed9f97b93d4137c52d51e84ec32f78961b1ee5a100f2e7f4c61ef47c7ad9282e28a406a89d11ef18c57510b'
'165aeafb3a491d9b94b88ee5a2e82dff7daa882fa6bca4598f5c5ea11d1c150b17b76742c800f708ec0ecd0e5c12e2089d72cc5643b070b0b815b77af6abd6ea')
b2sums=('c5c5b857b945aef24be45e855d0bfdeb717135eb4a3d1ecc48db2df4c31e32b20f6c5f9730a11c36b8e8f3246073751eeaef1f6a97a066ee2c324217426e52c4'
'SKIP')
validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871' # Daiki Ueno
'68D94D8AAEEAD48AE7DC5B904F494A942E4616C2'
'9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D') # Bruno Haible (Open Source Development)
prepare() {
cd ${pkgname}-${pkgver}
patch -Np1 -i ../gettext-0.23-libxml2.patch
patch -Np1 -i ../gettext-0.23-fix-local-variants.patch
}
build() {
cd ${pkgname}-${pkgver}
./configure \
......
From 369d62b5152d6d62e893e1b67543e2d9c0f49ec9 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Tue, 31 Dec 2024 01:07:47 +0100
Subject: [PATCH] bcp47: Handle language variants.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
Reported by Balló György <ballogyor@gmail.com> at
<https://savannah.gnu.org/bugs/?66620>.
* lib/bcp47.c (xpg_to_bcp47, bcp47_to_xpg): Handle variants.
* tests/test-bcp47.c (main): Test a regional variant.
---
ChangeLog | 8 ++++++++
lib/bcp47.c | 50 +++++++++++++++++++++++++++++++++++++++++-----
tests/test-bcp47.c | 5 +++++
3 files changed, 58 insertions(+), 5 deletions(-)
diff --git a/gettext-tools/gnulib-lib/bcp47.c b/gettext-tools/gnulib-lib/bcp47.c
index 09f60f1eec..90611fc1c7 100644
--- a/gettext-tools/gnulib-lib/bcp47.c
+++ b/gettext-tools/gnulib-lib/bcp47.c
@@ -268,6 +268,8 @@ xpg_to_bcp47 (char *bcp47, const char *xpg)
}
const char *script_subtag = NULL;
+ const char *variant_start = NULL;
+ size_t variant_len = 0;
/* Determine script from the modifier. */
if (modifier_len > 0)
@@ -277,6 +279,13 @@ xpg_to_bcp47 (char *bcp47, const char *xpg)
if (strlen (scripts[i].name) == modifier_len
&& memcmp (scripts[i].name, modifier_start, modifier_len) == 0)
script_subtag = scripts[i].code;
+ if (script_subtag == NULL)
+ {
+ /* If the modifier does not designate a script, assume that it
+ designates a variant. */
+ variant_start = modifier_start;
+ variant_len = modifier_len;
+ }
}
/* Determine script from the language and possibly the territory. */
@@ -319,10 +328,11 @@ xpg_to_bcp47 (char *bcp47, const char *xpg)
}
}
- /* Construct the result: language[-script][-territory]. */
+ /* Construct the result: language[-script][-territory][-variant]. */
if (language_len
+ (script_subtag != NULL ? 1 + 4 : 0)
+ (territory_len > 0 ? 1 + territory_len : 0)
+ + (variant_len > 0 ? 1 + variant_len : 0)
< BCP47_MAX)
{
char *q = bcp47;
@@ -340,6 +350,12 @@ xpg_to_bcp47 (char *bcp47, const char *xpg)
memcpy (q, territory_start, territory_len);
q += territory_len;
}
+ if (variant_len > 0)
+ {
+ *q++ = '-';
+ memcpy (q, variant_start, variant_len);
+ q += variant_len;
+ }
*q = '\0';
return;
}
@@ -366,10 +382,13 @@ bcp47_to_xpg (char *xpg, const char *bcp47, const char *codeset)
size_t script_len = 0;
const char *region_start = NULL;
size_t region_len = 0;
+ const char *variant_start = NULL;
+ size_t variant_len = 0;
{
bool past_script = false;
bool past_region = false;
+ bool past_variant = false;
const char *p;
p = bcp47;
@@ -419,6 +438,12 @@ bcp47_to_xpg (char *xpg, const char *bcp47, const char *codeset)
/* It must be -variant or -extension. */
past_script = true;
past_region = true;
+ if (!past_variant)
+ {
+ variant_start = subtag_start;
+ variant_len = subtag_len;
+ past_variant = true;
+ }
}
}
}
@@ -531,12 +556,27 @@ bcp47_to_xpg (char *xpg, const char *bcp47, const char *codeset)
}
}
- /* The modifier is the script. */
- const char *modifier = script;
-
/* Construct the result: language[_territory][.codeset][@modifier]. */
size_t codeset_len = (codeset != NULL ? strlen (codeset) : 0);
- size_t modifier_len = (modifier != NULL ? strlen (modifier) : 0);
+ /* The modifier is the script or, if the script is absent or already handled,
+ the variant. */
+ const char *modifier;
+ size_t modifier_len;
+ if (script != NULL)
+ {
+ modifier = script;
+ modifier_len = strlen (modifier);
+ }
+ else if (variant_len > 0)
+ {
+ modifier = variant_start;
+ modifier_len = variant_len;
+ }
+ else
+ {
+ modifier = NULL;
+ modifier_len = 0;
+ }
if (language_len
+ (territory_len > 0 ? 1 + territory_len : 0)
+ (codeset != NULL ? 1 + codeset_len : 0)
diff --git a/gettext-tools/gnulib-tests/test-bcp47.c b/gettext-tools/gnulib-tests/test-bcp47.c
index c0efeea3a7..e362c53076 100644
--- a/gettext-tools/gnulib-tests/test-bcp47.c
+++ b/gettext-tools/gnulib-tests/test-bcp47.c
@@ -141,6 +141,11 @@ main ()
ASSERT (strcmp (buf, "ber_MA") == 0);
}
+ /* Languages with a regional variant. */
+
+ test_correspondence ("ca", "ca");
+ test_correspondence ("ca@valencia", "ca-valencia");
+
/* Test xpg_to_bcp47 with an encoding. */
{
char buf[BCP47_MAX];
--
2.34.1
diff -ur gettext-0.23.orig/gettext-tools/src/its.c gettext-0.23/gettext-tools/src/its.c
--- gettext-0.23.orig/gettext-tools/src/its.c 2024-10-13 16:14:36.000000000 +0530
+++ gettext-0.23/gettext-tools/src/its.c 2024-12-05 23:24:03.100545103 +0530
@@ -28,6 +28,7 @@
#include <stdint.h>
#include <stdlib.h>
+#include <libxml/xmlversion.h>
#include <libxml/xmlerror.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
@@ -82,7 +83,13 @@
/* ----------------------------- Error handling ----------------------------- */
static void
+/* Adapt to API change in libxml 2.12.0.
++ See <https://gitlab.gnome.org/GNOME/libxml2/-/issues/622>. */
+#if LIBXML_VERSION >= 21200
+structured_error (void *data, const xmlError *err)
+#else
structured_error (void *data, xmlError *err)
+#endif
{
error (0, err->level == XML_ERR_FATAL ? EXIT_FAILURE : 0,
_("%s error: %s"), "libxml2", err->message);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment