SUMMARY="GNU iconv implementation"
HOMEPAGE="
	http://www.gnu.org/software/libiconv
	http://www.gnu.org/software/iconv
	"
LICENSE="
	GNU LGPL v2
	GNU GPL v3
	"
COPYRIGHT="2000-2009 Free Software Foundation, Inc."
SRC_URI="http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz"
CHECKSUM_MD5="7ab33ebd26687c744a37264a330bbe9a"
REVISION="6"
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"

PROVIDES="
	libiconv$secondaryArchSuffix = $portVersion compat >= 1.13
	lib:libiconv$secondaryArchSuffix = 2.5.0 compat >= 2
	lib:libcharset$secondaryArchSuffix = 1.0.0 compat >= 1
	"
if [ -z "$secondaryArchSuffix" ]; then
	PROVIDES="$PROVIDES
		cmd:iconv = 2.5.0 compat >= 2
		"
fi

REQUIRES="
	haiku$secondaryArchSuffix >= $haikuVersion
	"
BUILD_REQUIRES="
	"
BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel >= $haikuVersion
	cmd:aclocal
	cmd:autoconf
	cmd:autoheader
	cmd:gcc${secondaryArchSuffix}
	cmd:ld${secondaryArchSuffix}
	cmd:libtoolize
	cmd:make
	"

BUILD()
{
	rm -rf aclocal.m4
	echo "AC_CONFIG_MACRO_DIR([m4]) >> configure.ac"
	libtoolize -fci
	aclocal --install -I m4 -I srcm4
	autoconf
	autoheader
	cd libcharset
	echo "AC_CONFIG_MACRO_DIR([m4]) >> configure.ac"
	libtoolize -fci
	aclocal --install -I m4
	autoconf
	autoheader
	cd ..
	runConfigure ./configure \
		--enable-relocatable \
		--enable-shared \
		--enable-static \
		--disable-nls
	make $jobArgs
}

INSTALL()
{
	ACLOCALDIR=$prefix/data/aclocal
	mkdir -p ${ACLOCALDIR}
	cp -f srcm4/iconv.m4 ${ACLOCALDIR}/iconv.m4
	make install

	rm $libDir/charset.alias

	# 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
}

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 the 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.
"

# ----- devel package -------------------------------------------------------

SUMMARY_devel="The libiconv development files"
PROVIDES_devel="
	libiconv${secondaryArchSuffix}_devel = $portVersion compat >= 1.13
	devel:libiconv${secondaryArchSuffix} = 2.5.0 compat >= 2
	devel:libcharset${secondaryArchSuffix} = 1.0.0 compat >= 1
	"
REQUIRES_devel="
	libiconv${secondaryArchSuffix} == $portVersion base
	"
