Thursday, March 26, 2026

UPDATE: libiconv 1.19

Here is an update to libiconv 1.19.


New in 1.19:
* Fixed a bug in the GB18030 converter.
* Special support for OS/2: Encoding names that are results of
kLIBC nl_langinfo(CODESET) are recognized as aliases.
(Contributed by KO Myung-Hun.)
* Fixed --enable-relocatable on native Windows.

New in 1.18:
* Many more transliterations, in particular also of Emoji characters.
* The iconv_open function is now POSIX:2024 compliant: it recognizes a
suffix //NON_IDENTICAL_DISCARD in the 'tocode' argument, with the effect
that characters that cannot be represented in the target character set
will be silently discarded. Whereas the suffix //IGNORE in the 'tocode'
argument has the effect of discarding not only characters that cannot be
represented in the target character set, but also invalid multibyte
sequences in the input.
Accordingly, the iconvctl function accepts requests
ICONV_GET_DISCARD_INVALID, ICONV_SET_DISCARD_INVALID,
ICONV_GET_DISCARD_NON_IDENTICAL, ICONV_SET_DISCARD_NON_IDENTICAL.
* The iconv_open function and the iconv program now support multiple suffixes,
such as //TRANSLIT//IGNORE, not only one.
* GB18030 is now an alias for GB18030:2005. A new converter for GB18030:2022
is added. Since this encoding merely cleans up a few private-use-area
mappings, you can continue to use the GB18030 converter, for backward
compatibility. Its Unicode to GB18030 conversion direction has been
enhanced, to help transitioning away from PUA code points.
* When converting from/to an EBCDIC encoding, a non-standard way of
converting newlines can be requested
- at the C level, by calling iconvctl with argument ICONV_SET_FROM_SURFACE
or ICONV_SET_TO_SURFACE, or
- from the iconv program, by setting the environment variable
ICONV_EBCDIC_ZOS_UNIX to a non-empty value.
* Special support for z/OS: The iconv program adds a charset metadata tag to
its output file. (Contributed by Mike Fulton.)
* For conversions from UCS-2, UCS-4, UTF-16, UTF-32, invoking
iconv(cd,NULL,NULL,...) now preserves the byte order state.


Index: Makefile
===================================================================
RCS file: /cvs/ports/converters/libiconv/Makefile,v
retrieving revision 1.55
diff -u -p -u -p -r1.55 Makefile
--- Makefile 20 Sep 2023 09:53:44 -0000 1.55
+++ Makefile 26 Mar 2026 21:21:21 -0000
@@ -1,11 +1,11 @@
COMMENT= character set conversion library

-DISTNAME= libiconv-1.17
+DISTNAME= libiconv-1.19
CATEGORIES= converters devel
SITES= ${SITE_GNU:=libiconv/}

SHARED_LIBS= charset 1.1 \
- iconv 7.1
+ iconv 7.2

HOMEPAGE= https://www.gnu.org/software/libiconv/

Index: distinfo
===================================================================
RCS file: /cvs/ports/converters/libiconv/distinfo,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 distinfo
--- distinfo 23 Aug 2022 11:14:52 -0000 1.12
+++ distinfo 26 Mar 2026 21:21:21 -0000
@@ -1,2 +1,2 @@
-SHA256 (libiconv-1.17.tar.gz) = j3QhO1YjjIWlClMp934GGYdx5w3Zpzl3n0wC9l2XExM=
-SIZE (libiconv-1.17.tar.gz) = 5413283
+SHA256 (libiconv-1.19.tar.gz) = iN2WqMBGTsoUT8eRrmDNMc2O54Mh5nOX4l/AlcShmqY=
+SIZE (libiconv-1.19.tar.gz) = 5921103
Index: patches/patch-lib_relocatable_c
===================================================================
RCS file: patches/patch-lib_relocatable_c
diff -N patches/patch-lib_relocatable_c
--- patches/patch-lib_relocatable_c 11 Mar 2022 18:27:04 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,46 +0,0 @@
-Index: lib/relocatable.c
---- lib/relocatable.c.orig
-+++ lib/relocatable.c
-@@ -506,16 +506,20 @@ relocate (const char *pathname)
- if (orig_prefix != NULL && curr_prefix != NULL
- && strncmp (pathname, orig_prefix, orig_prefix_len) == 0)
- {
-+ char *result;
-+ size_t len;
-+
- if (pathname[orig_prefix_len] == '\0')
- {
- /* pathname equals orig_prefix. */
-- char *result = (char *) xmalloc (strlen (curr_prefix) + 1);
-+ len = strlen (curr_prefix) + 1;
-+ result = (char *) xmalloc (len);
-
- #ifdef NO_XMALLOC
- if (result != NULL)
-

No comments:

Post a Comment