[Buildroot] [PATCH 2/2] package/libiconv: bump version to 1.18
Bernd Kuhls
bernd at kuhls.net
Sun Oct 26 10:22:29 UTC 2025
Removed patch 0001 which is included in this release.
Updated license hash and _LICENSE due to switch to LGPL-2.1+:
https://savannah.gnu.org/news/?id=10139
https://gitweb.git.savannah.gnu.org/gitweb/?p=libiconv.git;a=commitdiff;h=3acb1179dd057fa37b733eb2827822f95d1e31c3
Our libtool patch does not apply due to the shipped file being patched
upstream:
https://gitweb.git.savannah.gnu.org/gitweb/?p=libiconv.git;a=commitdiff;h=2f2b617f0334cd8b4313bcd84ce6a49713a7d848
* build-aux/ltmain.sh: Update from libtool-2.5.4, with modifications:
2017-07-15 Bruno Haible <bruno at clisp.org>
Allow building statically linked binaries, through
LDFLAGS="-static". Apply patch from
<https://lists.gnu.org/archive/html/bug-libtool/2017-07/msg00000.html>.
* build-aux/ltmain.sh (func_mode_help, func_mode_link): In the
link mode, accept option '-static-uninstalled-libs' in place of
'-static', and make '-static' an equivalent of '-all-static'.
* libcharset/build-aux/ltmain.sh: Likewise.
Added 0001-libtool.patch as rebased version of
support/libtool/buildroot-libtool-v2.4.4.patch
Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
---
...tion-declaration-without-a-prototype.patch | 34 -----------
package/libiconv/0001-libtool.patch | 57 +++++++++++++++++++
package/libiconv/libiconv.hash | 4 +-
package/libiconv/libiconv.mk | 8 ++-
4 files changed, 65 insertions(+), 38 deletions(-)
delete mode 100644 package/libiconv/0001-Fix-a-clang-warning-a-function-declaration-without-a-prototype.patch
create mode 100644 package/libiconv/0001-libtool.patch
diff --git a/package/libiconv/0001-Fix-a-clang-warning-a-function-declaration-without-a-prototype.patch b/package/libiconv/0001-Fix-a-clang-warning-a-function-declaration-without-a-prototype.patch
deleted file mode 100644
index f859f7e014..0000000000
--- a/package/libiconv/0001-Fix-a-clang-warning-a-function-declaration-without-a-prototype.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Bruno Haible <bruno at clisp.org>
-Date: Sun, 29 Jan 2023 19:07:21 +0000 (+0100)
-Subject: Fix a clang warning "a function declaration without a prototype...".
-X-Git-Tag: v1.18~57
-X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?p=libiconv.git;a=commitdiff_plain;h=e46dee2f581c1167137bcd045e114e96a9f00483
-
-Fix a clang warning "a function declaration without a prototype...".
-
-* lib/loop_wchar.h (mbrtowc): Don't declare. Drop portability to BeOS.
-
-Upstream: https://gitweb.git.savannah.gnu.org/gitweb/?p=libiconv.git;a=commitdiff;h=e46dee2f581c1167137bcd045e114e96a9f00483
-
-Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
----
-
-diff --git a/lib/loop_wchar.h b/lib/loop_wchar.h
-index b3edc29..9eb508e 100644
---- a/lib/loop_wchar.h
-+++ b/lib/loop_wchar.h
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (C) 2000-2002, 2005-2006, 2008-2009, 2011 Free Software Foundation, Inc.
-+ * Copyright (C) 2000-2002, 2005-2006, 2008-2009, 2011, 2023 Free Software Foundation, Inc.
- * This file is part of the GNU LIBICONV Library.
- *
- * The GNU LIBICONV Library is free software; you can redistribute it
-@@ -36,7 +36,6 @@
- # include <wchar.h>
- # define BUF_SIZE 64 /* assume MB_LEN_MAX <= 64 */
- /* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
-- extern size_t mbrtowc ();
- # ifdef mbstate_t
- # define mbrtowc(pwc, s, n, ps) (mbrtowc)(pwc, s, n, 0)
- # define mbsinit(ps) 1
diff --git a/package/libiconv/0001-libtool.patch b/package/libiconv/0001-libtool.patch
new file mode 100644
index 0000000000..7c72781b4e
--- /dev/null
+++ b/package/libiconv/0001-libtool.patch
@@ -0,0 +1,57 @@
+Libtool fixes for cross-compilation, many past contributors/authors.
+Update based on libtool-2.4.4, useful for 2.4.3 as well but not 2.4.2.
+
+Upstream: Not applicable (Buildroot specific)
+
+Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
+[Bernd: rebased for version 1.18]
+Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
+
+--- a/build-aux/ltmain.sh 2014-12-16 09:51:23.068441045 -0300
++++ b/build-aux/ltmain.sh 2014-12-16 09:57:10.509430339 -0300
+@@ -2687,8 +2687,8 @@
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+- func_echo "unable to infer tagged configuration"
+- func_fatal_error "specify a tag with '--tag'"
++ func_echo "defaulting to \`CC'"
++ func_echo "if this is not correct, specify a tag with \`--tag'"
+ # else
+ # func_verbose "using $tagname tagged configuration"
+ fi
+@@ -4277,8 +4277,12 @@
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+- test "$inst_prefix_dir" = "$destdir" && \
+- func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
++
++ #
++ # This breaks install into our staging area. -PB
++ #
++ #test "$inst_prefix_dir" = "$destdir" && \
++ # func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+@@ -8112,7 +8112,7 @@
+ *)
+ if test no = "$installed"; then
+ func_append notinst_deplibs " $lib"
+- need_relink=yes
++ need_relink=no
+ fi
+ ;;
+ esac
+@@ -10710,6 +10710,10 @@
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
++ # Replacing uninstalled with installed can easily break crosscompilation,
++ # since the installed path is generally the wrong architecture. -CL
++ newdependency_libs="$newdependency_libs $deplib"
++ continue
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
diff --git a/package/libiconv/libiconv.hash b/package/libiconv/libiconv.hash
index e3a6125e25..9fa38c567b 100644
--- a/package/libiconv/libiconv.hash
+++ b/package/libiconv/libiconv.hash
@@ -1,6 +1,6 @@
# Locally calculated after checking pgp signature
-sha256 ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178 libiconv-1.15.tar.gz
+sha256 3b08f5f4f9b4eb82f151a7040bfd6fe6c6fb922efe4b1659c66ea933276965e8 libiconv-1.18.tar.gz
# Hash for license files:
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
-sha256 56bdea73b6145ef6ac5259b3da390b981d840c24cb03b8e1cbc678de7ecfa18d COPYING.LIB
+sha256 20e50fe7aae3e56378ebf0417d9de904f55a0e61e4df315333e632a4d3555d95 COPYING.LIB
diff --git a/package/libiconv/libiconv.mk b/package/libiconv/libiconv.mk
index 40763a92f8..a102ff18a4 100644
--- a/package/libiconv/libiconv.mk
+++ b/package/libiconv/libiconv.mk
@@ -4,12 +4,16 @@
#
################################################################################
-LIBICONV_VERSION = 1.15
+LIBICONV_VERSION = 1.18
LIBICONV_SITE = $(BR2_GNU_MIRROR)/libiconv
LIBICONV_INSTALL_STAGING = YES
-LIBICONV_LICENSE = GPL-3.0+ (iconv program), LGPL-2.0+ (library)
+LIBICONV_LICENSE = GPL-3.0+ (iconv program), LGPL-2.1+ (library)
LIBICONV_LICENSE_FILES = COPYING COPYING.LIB
+# libiconv uses a patched version of libtool 2.5.4
+# we use a package-specific patch instead
+LIBICONV_LIBTOOL_PATCH = NO
+
ifeq ($(BR2_PACKAGE_LIBICONV_EXTRA_ENCODINGS),y)
LIBICONV_CONF_OPTS += --enable-extra-encodings
endif
--
2.47.3
More information about the buildroot
mailing list