SUMMARY="The GNU iconv implementation to convert text encodings" DESCRIPTION="For historical reasons, international text is often encoded using \ a language or country dependent character encoding. With the advent of the \ internet and the frequent exchange of text across countries - even the \ viewing of a web page from a foreign country is a \"text exchange\" in \ this context -, conversions between these encodings have become important. \ They have also become a problem, because many characters which are present \ in one encoding are absent in many other encodings. To solve this mess, the \ Unicode encoding has been created. It is a super-encoding of all others and \ is therefore the default encoding for new text formats like XML. Still, many computers still operate in locale with a traditional (limited) \ character encoding. Some programs, like mailers and web browsers, must be able \ to convert between a given text encoding and the user's encoding. Other \ programs internally store strings in Unicode, to facilitate internal \ processing, and need to convert between internal string representation \ (Unicode) and external string representation (a traditional encoding) when \ they are doing I/O. GNU libiconv is a conversion library for both kinds of \ applications. This library provides an iconv() implementation, for use on systems which \ don't have one, or whose implementation cannot convert from/to Unicode. It provides support for these encodings: European languages - ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-R, KOI8-U, KOI8-RU, \ CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131}, \ Mac{Roman,CentralEurope,Iceland,Croatian,Romania}, \ Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh Semitic languages - ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic} Japanese - EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1 Chinese - EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, \ BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, ISO-2022-CN-EXT Korean - EUC-KR, CP949, ISO-2022-KR, JOHAB Armenian - ARMSCII-8 Georgian - Georgian-Academy, Georgian-PS Tajik - KOI8-T Kazakh - PT154, RK1048 Thai - ISO-8859-11, TIS-620, CP874, MacThai Laotian - MuleLao-1, CP1133 Vietnamese - VISCII, TCVN, CP1258 Platform specifics - HP-ROMAN8, NEXTSTEP Full Unicode - UTF-8 - UCS-2, UCS-2BE, UCS-2LE - UCS-4, UCS-4BE, UCS-4LE - UTF-16, UTF-16BE, UTF-16LE - UTF-32, UTF-32BE, UTF-32LE - UTF-7 - C99, JAVA Full Unicode, in terms of uint16_t or uint32_t (with machine dependent \ endianness and alignment) - UCS-2-INTERNAL, UCS-4-INTERNAL Locale dependent, in terms of 'char' or 'wchar_t' (with machine dependent \ endianness and alignment, and with OS and locale dependent semantics) - char, wchar_t - The empty encoding name \"\" is equivalent to \"char\": it denotes the \ locale dependent character encoding. 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 It can convert from any of these encodings to any other, through Unicode \ conversion. It has also some limited support for transliteration, i.e. when a character \ cannot be represented in the target character set, it can be approximated \ through one or several similarly looking characters. Transliteration is \ activated when \"//TRANSLIT\" is appended to the target encoding name. libiconv is for you if your application needs to support multiple character \ encodings, but that support lacks from your system." HOMEPAGE="https://www.gnu.org/software/libiconv/" COPYRIGHT="2000-2022 Free Software Foundation, Inc." LICENSE="GNU LGPL v2 GNU GPL v3" REVISION="3" SOURCE_URI="https://ftpmirror.gnu.org/libiconv/libiconv-$portVersion.tar.gz" CHECKSUM_SHA256="8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313" PATCHES="libiconv-$portVersion.patchset" ARCHITECTURES="all" SECONDARY_ARCHITECTURES="x86" libiconvVersion="2.6.1" libcharsetVersion="1.0.0" portVersionCompat="$portVersion compat >= 1.13" libiconvVersionCompat="$libiconvVersion compat >= ${libiconvVersion%%.*}" libcharsetVersionCompat="$libcharsetVersion compat >= ${libcharsetVersion%%.*}" PROVIDES=" libiconv$secondaryArchSuffix = $portVersionCompat lib:libiconv$secondaryArchSuffix = $libiconvVersionCompat lib:libcharset$secondaryArchSuffix = $libcharsetVersionCompat " if [ -z "$secondaryArchSuffix" ]; then PROVIDES="$PROVIDES cmd:iconv = $libiconvVersionCompat " fi REQUIRES=" haiku$secondaryArchSuffix " PROVIDES_devel=" libiconv${secondaryArchSuffix}_devel = $portVersionCompat devel:libiconv${secondaryArchSuffix} = $libiconvVersionCompat devel:libcharset${secondaryArchSuffix} = $libcharsetVersionCompat " REQUIRES_devel=" libiconv$secondaryArchSuffix == $portVersion base " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel " BUILD_PREREQUIRES=" cmd:awk cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:libtoolize$secondaryArchSuffix cmd:make " if [ -z "$secondaryArchSuffix" ]; then defineDebugInfoPackage libiconv$secondaryArchSuffix \ $binDir/iconv \ $libDir/libiconv.so.$libiconvVersion \ $libDir/libcharset.so.$libcharsetVersion else defineDebugInfoPackage libiconv$secondaryArchSuffix \ $libDir/libiconv.so.$libiconvVersion \ $libDir/libcharset.so.$libcharsetVersion fi BUILD() { ln -s build-aux/compile compile || true runConfigure ./configure \ --enable-relocatable \ --enable-shared \ --disable-static \ --disable-nls \ --enable-extra-encodings make $jobArgs } INSTALL() { ACLOCALDIR=$prefix/data/aclocal mkdir -p ${ACLOCALDIR} cp -f srcm4/iconv.m4 ${ACLOCALDIR}/iconv.m4 make install rm $libDir/*.la # remove command for secondary architecture if [ -n "$secondaryArchSuffix" ]; then rm -rf $binDir fi prepareInstalledDevelLibs libiconv libcharset # devel package packageEntries devel \ $developDir \ $manDir/man3 \ $dataDir \ $docDir/*.3.html } TEST() { make check }