./devel/libidn2, Convert internationalized domain names to/from ASCII Encoding

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.3.7, Package name: libidn2-2.3.7, Maintainer: pkgsrc-users

Libidn2 is a free software implementation of IDNA2008, Punycode and TR46
in the form of a library. It contains functionality to convert
internationalized domain names to and from ASCII Compatible Encoding
(ACE), following the IDNA2008 and TR46 standards.

The library is a rewrite of the popular but legacy libidn library, and
is backwards (API) compatible with it.


Required to run:
[textproc/libunistring]

Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)

Filesize: 2104.701 KB

Version history: (Expand)


CVS history: (Expand)


   2024-02-10 17:39:00 by Thomas Klausner | Files touched by this commit (5) | Package updated
Log message:
libidn2: update to 2.3.7.

* Noteworthy changes in release 2.3.7 (2024-01-27) [stable]

** Really include tests/standalone.sh in tarball.

* Noteworthy changes in release 2.3.6 (2024-01-27) [stable]

** Bump libtool version numbers to reflect API/ABI addition.

** Include tests/standalone.sh in tarball.

* Noteworthy changes in release 2.3.5 (2024-01-27) [stable]

** Declaration of future API/ABI backwards compatibility stability.
GNU libc dlopen libidn2 and use the name libidn2.so.0 for this.  We
believe that it will be too challenging to ever do hard ABI break that
for normal libraries is justified to remove deprecated APIs.  Thus we
decided that we will support the current ABI for a long time.  Of
course, if really convincing arguments for doing a ABI break appears
in the future we may re-consider, but take this as a declaration of
intent of will and that future ABI breaks should be discussed and
co-ordinated with the glibc team first.

** Add public APIs for raw Punycode encoding/decoding.
Normal applications rarely need this, but it cleans up the code and
allow for external testing of the APIs, and resolve
<https://gitlab.com/libidn/libidn2/-/issues/80> due to earlier use of
weak symbols for internal symbols _idn2_punycode_encode and
_idn2_punycode_decode.  We will support these internal symbols for
backwards compatibility.  This allows a clean migration path for code
that is still using the internal names.

** Bump required gettext version to 0.19.8 for musl-libc.
Reported by Helmut Grohne in
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=999510>.

** Un-deprecate idn2_to_ascii_4i and make it NUL terminate output.
The API idn2_to_ascii_4i was deprecated in version 2.1.1 released in
2019-02-08.  In that release, the API was also modified to not
NUL-terminate the output.  That is contrary to the old libidn2
behaviour, the behaviour of libidn's API idna_to_ascii_4i, and the API
documentation for the function.  Since we are not likely to ever break
backwards API/ABI compatibility in libidn2, and the deprecated gaurds
leads to some trouble (see report in
<https://gitlab.com/libidn/libidn2/-/merge_requests/93>) we decided to
un-deprecate this function, as supporting it is not costly and the
majority of code that cares about conformance has likely been
modified.  This will fix the error code and NUL termination report by
Yegor Bychin in <https://gitlab.com/libidn/libidn2/-/issues/100>.  We
still encourage you to use the replacement API/ABI idn2_to_ascii_4i2
instead, when appropriate.

** Compiler warning improvements.
As before, compiler warnings are enabled by default.  You may disable
them using ./configure --disable-gcc-warnings or turn them into fatal
errors using ./configure --enable-gcc-warnings=error to add -Werror
and sensible -Wno-error='s.  Based on gnulib's manywarnings, see
<https://www.gnu.org/software/gnulib//manual/html_node/manywarnings.html>.

** tests: Added script tests/standalone.sh suitable for integrators.
The main purpose is to test a system-installed libidn2 library and
idn2 tool, suitable for distributor checking (a'la Debian's
autopkgtest/debci).  It may also be used to test a newly built libidn2
outside the usual 'make check' infrastructure.  To check that your
system libidn2 library and idn2 tool is working, invoke the script
with `srcdir` as an environment variable indicating where it can be
find the source code for libidn2's tests/ directory (it will use the
directory name where the script is by default):

tests/standalone.sh

If your system libidn2 is too old to pass certain tests, disable them
using STANDALONE_DISABLE like this:

STANDALONE_DISABLE='*punycode*' tests/standalone.sh

See the script for more parameters.  If the libidn2 under testing is
too old and has known bugs, that should cause tests to fail, which is
intentional.

** Various minor build fixes and translation updates.

** API and ABI is backwards compatible with the previous version.
idn2_punycode_decode: ADD.
idn2_punycode_encode: ADD.
   2023-11-06 12:38:57 by Nia Alarie | Files touched by this commit (1)
Log message:
libidn2: Explicitly disable RPATH on Darwin, fixes build on 10.4
   2023-06-11 02:41:07 by Amitai Schleier | Files touched by this commit (3)
Log message:
Borrow upstream gnulib commit 0814a293 to fix static_assert on
Solaris 11.4.
   2022-10-30 12:19:22 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
libidn2: add TEST_TARGET; pkglint fix
   2022-10-30 12:17:47 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
* Noteworthy changes in release 2.3.4 (2022-10-23) [stable]

** Support for Unicode 15.0.0.  Closes: #112.
We now uses Unicode.org's IDNA2008 tables rather than IANA's.  See
<https://gitlab.com/libidn/libidn2/-/issues/112> and
<https://lists.gnu.org/archive/html/help-libidn/2022-10/msg00000.html>
for rationale, which can be summarized into 1) IANA are still on
2019-era Unicode version 12 and we wish to support Unicode version
12-15, 2) consistency with some other implementations, 3) the only
incompatibility related to U+19DA is deemed to have minor real-world
consequences.  Thus we break backwards compatibility for U+19DA in
this release compared against libidn2 0.11..2.3.3 thus reverting back
to the libidn2 <= 0.11 behaviour.  We decided to not bump ABI version
and believe this is the best choice going forward as well for minor
internal non-API related ABI changes.

** Gnulib updated and now libunistring-optional is used.
This allows you to force libidn2 to use internal libunistring with the
following command: ./configure --with-included-libunistring
   2022-10-26 12:32:08 by Thomas Klausner | Files touched by this commit (687)
Log message:
*: bump PKGREVISION for libunistring shlib major bump
   2022-07-17 10:33:16 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
libidn2: update to 2.3.3.

* Noteworthy changes in release 2.3.3 (2022-07-11) [stable]

** Upgrade IDNA Tables from Unicode 11 to 12.

** Upgrade TR46 Tables from Unicode 13 to 14.

** Updated gnulib files and various build fixes.
Gnulib's Unicode code claims conformance to Unicode 14.0.0 rather than
Unicode 9.0.0.  A bug in Libidn2's build system was fixed that caused
the system libunistring to be used even though the system version was
too old.

** Self-check improvements.
Self-checks for the idn2 command line tool were added.  Closes: #96.
The C self-checks in tests/ should now be usable outside of the
libidn2 build environment, for system integration checks of a
system-installed libidn2.
   2022-01-12 16:21:55 by Amitai Schleier | Files touched by this commit (1)
Log message:
With SunPro, the HAVE_SYMVER_ALIAS_SUPPORT configure check passes, but
the linker will fail during build. Forcibly #undef it.