Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH/RFC 1/1] package/libiconv: enable extra encodings
@ 2020-01-28 22:21 Bernd Kuhls
  2020-01-29 10:50 ` Thomas Petazzoni
  0 siblings, 1 reply; 3+ messages in thread
From: Bernd Kuhls @ 2020-01-28 22:21 UTC (permalink / raw)
  To: buildroot

Quoting https://www.gnu.org/software/libiconv/

"When configured with the option --enable-extra-encodings, it also
 provides support for a few extra encodings:

European languages
    CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
Semitic languages
    CP864
Japanese
    EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
Chinese
    BIG5-2003 (experimental)
Turkmen
    TDS565
Platform specifics
    ATARIST, RISCOS-LATIN1"

Updating Kodi from version 17.6 to 18.5 caused runtime errors on systems
with locale support disabled, here Kodi uses libiconv but needs CP437:

ERROR: customConvert: iconv_open() for "CP437" -> "UTF-8" failed,
 errno = 22 (Invalid argument)

The size of libiconv.so.2.6.0 grows from 941K to 1,1M.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/libiconv/libiconv.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/libiconv/libiconv.mk b/package/libiconv/libiconv.mk
index 9a8133612b..785b1cac6b 100644
--- a/package/libiconv/libiconv.mk
+++ b/package/libiconv/libiconv.mk
@@ -9,6 +9,7 @@ LIBICONV_SITE = $(BR2_GNU_MIRROR)/libiconv
 LIBICONV_INSTALL_STAGING = YES
 LIBICONV_LICENSE = GPL-3.0+ (iconv program), LGPL-2.0+ (library)
 LIBICONV_LICENSE_FILES = COPYING COPYING.LIB
+LIBICONV_CONF_OPTS = --enable-extra-encodings
 
 # Don't build the preloadable library, as we don't need it (it's only
 # for LD_PRELOAD to replace glibc's iconv, but we never build libiconv
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH/RFC 1/1] package/libiconv: enable extra encodings
  2020-01-28 22:21 [Buildroot] [PATCH/RFC 1/1] package/libiconv: enable extra encodings Bernd Kuhls
@ 2020-01-29 10:50 ` Thomas Petazzoni
  2020-02-01 10:52   ` Arnout Vandecappelle
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2020-01-29 10:50 UTC (permalink / raw)
  To: buildroot

On Tue, 28 Jan 2020 23:21:40 +0100
Bernd Kuhls <bernd.kuhls@t-online.de> wrote:

> Quoting https://www.gnu.org/software/libiconv/
> 
> "When configured with the option --enable-extra-encodings, it also
>  provides support for a few extra encodings:
> 
> European languages
>     CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
> Semitic languages
>     CP864
> Japanese
>     EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
> Chinese
>     BIG5-2003 (experimental)
> Turkmen
>     TDS565
> Platform specifics
>     ATARIST, RISCOS-LATIN1"
> 
> Updating Kodi from version 17.6 to 18.5 caused runtime errors on systems
> with locale support disabled, here Kodi uses libiconv but needs CP437:
> 
> ERROR: customConvert: iconv_open() for "CP437" -> "UTF-8" failed,
>  errno = 22 (Invalid argument)
> 
> The size of libiconv.so.2.6.0 grows from 941K to 1,1M.
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

In the Kodi use case, a size increase of 160 KB is not important
obviously, but libiconv is also used in other situations where size
might matter. I don't have a very strongly formed opinion on this, but
perhaps this is a case where a Config.in sub-option might be useful,
which would be selected by Kodi. Please wait a bit for others feedback
before implementing this though, as others may disagree.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH/RFC 1/1] package/libiconv: enable extra encodings
  2020-01-29 10:50 ` Thomas Petazzoni
@ 2020-02-01 10:52   ` Arnout Vandecappelle
  0 siblings, 0 replies; 3+ messages in thread
From: Arnout Vandecappelle @ 2020-02-01 10:52 UTC (permalink / raw)
  To: buildroot



On 29/01/2020 11:50, Thomas Petazzoni wrote:
> On Tue, 28 Jan 2020 23:21:40 +0100
> Bernd Kuhls <bernd.kuhls@t-online.de> wrote:
> 
>> Quoting https://www.gnu.org/software/libiconv/
>>
>> "When configured with the option --enable-extra-encodings, it also
>>  provides support for a few extra encodings:
>>
>> European languages
>>     CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
>> Semitic languages
>>     CP864
>> Japanese
>>     EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
>> Chinese
>>     BIG5-2003 (experimental)
>> Turkmen
>>     TDS565
>> Platform specifics
>>     ATARIST, RISCOS-LATIN1"
>>
>> Updating Kodi from version 17.6 to 18.5 caused runtime errors on systems
>> with locale support disabled, here Kodi uses libiconv but needs CP437:
>>
>> ERROR: customConvert: iconv_open() for "CP437" -> "UTF-8" failed,
>>  errno = 22 (Invalid argument)
>>
>> The size of libiconv.so.2.6.0 grows from 941K to 1,1M.
>>
>> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> 
> In the Kodi use case, a size increase of 160 KB is not important
> obviously, but libiconv is also used in other situations where size
> might matter. I don't have a very strongly formed opinion on this, but
> perhaps this is a case where a Config.in sub-option might be useful,
> which would be selected by Kodi. Please wait a bit for others feedback
> before implementing this though, as others may disagree.

 I agree. Even if it's only a 15% growth of the packages, so probably about 5%
growth overall in a minimal case, libiconv is often a dependency you don't
really want to have but just are forced to. So any size increase is unwanted.

 So yes, please make this optional.

 Regards,
 Arnout

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-02-01 10:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-28 22:21 [Buildroot] [PATCH/RFC 1/1] package/libiconv: enable extra encodings Bernd Kuhls
2020-01-29 10:50 ` Thomas Petazzoni
2020-02-01 10:52   ` Arnout Vandecappelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox