Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ba06f34
commit 0c4e87b
Showing
5 changed files
with
1,552 additions
and
630 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,197 @@ | ||
SUMMARY="Libraries to support Unicode and globalization" | ||
SUMMARY_devel="The ICU development files" | ||
DESCRIPTION="International Components for Unicode (ICU) is a mature, widely \ | ||
used set of C/C++ and Java libraries providing Unicode and Globalization \ | ||
support for software applications. ICU is widely portable and gives \ | ||
applications the same results on all platforms and between C/C++ and Java \ | ||
software. | ||
ICU is released under a nonrestrictive open source license that is suitable \ | ||
for use with both commercial software and with other open source or free \ | ||
software. | ||
Here are a few highlights of the services provided by ICU: | ||
* Code Page Conversion: Convert text data to or from Unicode and nearly any \ | ||
other character set or encoding. ICU's conversion tables are based on charset \ | ||
data collected by IBM over the course of many decades, and is the most \ | ||
complete available anywhere. | ||
* Collation: Compare strings according to the conventions and standards of a \ | ||
particular language, region or country. ICU's collation is based on the \ | ||
Unicode Collation Algorithm plus locale-specific comparison rules from the \ | ||
Common Locale Data Repository, a comprehensive source for this type of data. | ||
* Formatting: Format numbers, dates, times and currency amounts according the \ | ||
conventions of a chosen locale. This includes translating month and day names \ | ||
into the selected language, choosing appropriate abbreviations, ordering \ | ||
fields correctly, etc. This data also comes from the Common Locale Data \ | ||
Repository. | ||
* Time Calculations: Multiple types of calendars are provided beyond the \ | ||
traditional Gregorian calendar. A thorough set of timezone calculation APIs \ | ||
are provided. | ||
* Unicode Support: ICU closely tracks the Unicode standard, providing easy \ | ||
access to all of the many Unicode character properties, Unicode Normalization, \ | ||
Case Folding and other fundamental operations as specified by the Unicode \ | ||
Standard. | ||
* Regular Expression: ICU's regular expressions fully support Unicode while \ | ||
providing very competitive performance. | ||
* Bidi: support for handling text containing a mixture of left to right \ | ||
(English) and right to left (Arabic or Hebrew) data. | ||
* Text Boundaries: Locate the positions of words, sentences, paragraphs within \ | ||
a range of text, or identify locations that would be suitable for line \ | ||
wrapping when displaying the text." | ||
HOMEPAGE="http://www.icu-project.org" | ||
COPYRIGHT="1995-2015 IBM Corporation and others." | ||
LICENSE="ICU" | ||
REVISION="1" | ||
SOURCE_URI="http://download.icu-project.org/files/icu4c/$portVersion/icu4c-57_1-src.tgz" | ||
SOURCE_URI_2="http://www.iana.org/time-zones/repository/releases/tzdata2016f.tar.gz#noarchive" | ||
SOURCE_URI_3="http://download.icu-project.org/files/icu4c/$portVersion/icu4c-57_1-data.zip#noarchive" | ||
CHECKSUM_SHA256="ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581" | ||
CHECKSUM_SHA256_2="ed8c951008d12f1db55a11e96fc055718c6571233327d9de16a7f8475e2502b0" | ||
CHECKSUM_SHA256_3="dfcb18f02919d81b0b3ac1eec0c988b448fd39253e77546a0934861ee5c54eb9" | ||
SOURCE_DIR="icu" | ||
PATCHES="icu-$portVersion.patchset" | ||
if [ $effectiveTargetArchitecture = x86_gcc2 ]; then | ||
PATCHES+=" | ||
"icu-$portVersion.gcc2.patchset" | ||
" | ||
fi | ||
|
||
ARCHITECTURES="x86_gcc2 x86 x86_64 arm" | ||
SECONDARY_ARCHITECTURES="x86_gcc2 x86" | ||
|
||
PROVIDES=" | ||
icu$secondaryArchSuffix = $portVersion compat >= 57 | ||
lib:libicudata$secondaryArchSuffix = $portVersion compat >= 57 | ||
lib:libicui18n$secondaryArchSuffix = $portVersion compat >= 57 | ||
lib:libicuio$secondaryArchSuffix = $portVersion compat >= 57 | ||
lib:libicule$secondaryArchSuffix = $portVersion compat >= 57 | ||
lib:libiculx$secondaryArchSuffix = $portVersion compat >= 57 | ||
lib:libicutest$secondaryArchSuffix = $portVersion compat >= 57 | ||
lib:libicutu$secondaryArchSuffix = $portVersion compat >= 57 | ||
lib:libicuuc$secondaryArchSuffix = $portVersion compat >= 57 | ||
" | ||
REQUIRES=" | ||
haiku$secondaryArchSuffix | ||
" | ||
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then | ||
REQUIRES+=" | ||
" | ||
fi | ||
|
||
PROVIDES_devel=" | ||
icu${secondaryArchSuffix}_devel = $portVersion | ||
cmd:icu_config${secondaryArchSuffix} = $portVersion compat >= 57 | ||
devel:libicudata${secondaryArchSuffix} = $portVersion compat >= 57 | ||
devel:libicui18n${secondaryArchSuffix} = $portVersion compat >= 57 | ||
devel:libicuio${secondaryArchSuffix} = $portVersion compat >= 57 | ||
devel:libicule${secondaryArchSuffix} = $portVersion compat >= 57 | ||
devel:libiculx${secondaryArchSuffix} = $portVersion compat >= 57 | ||
devel:libicutest${secondaryArchSuffix} = $portVersion compat >= 57 | ||
devel:libicutu${secondaryArchSuffix} = $portVersion compat >= 57 | ||
devel:libicuuc${secondaryArchSuffix} = $portVersion compat >= 57 | ||
" | ||
REQUIRES_devel=" | ||
icu${secondaryArchSuffix} == $portVersion base | ||
" | ||
|
||
if [ -z "$secondaryArchSuffix" ]; then | ||
SUMMARY_tools="The ICU support tools" | ||
PROVIDES_tools=" | ||
icu_tools = $portVersion | ||
cmd:derb | ||
cmd:genbrk | ||
cmd:genccode | ||
cmd:gencfu | ||
cmd:gencmn | ||
cmd:gencnval | ||
cmd:gendict | ||
cmd:gennorm2 | ||
cmd:genrb | ||
cmd:gensprep | ||
cmd:icuinfo | ||
cmd:icupkg | ||
cmd:makeconv | ||
cmd:pkgdata | ||
" | ||
REQUIRES_tools=" | ||
icu == $portVersion base | ||
haiku | ||
" | ||
fi | ||
|
||
BUILD_REQUIRES=" | ||
haiku${secondaryArchSuffix}_devel | ||
" | ||
BUILD_PREREQUIRES=" | ||
cmd:autoconf | ||
cmd:awk | ||
cmd:gcc$secondaryArchSuffix | ||
cmd:ld$secondaryArchSuffix | ||
cmd:make | ||
cmd:pkg_config$secondaryArchSuffix | ||
cmd:sed | ||
" | ||
|
||
BUILD() | ||
{ | ||
cd source | ||
cp ../../../sources-2/tzdata*.tar.gz tools/tzcode/ | ||
unzip -oq ../../../sources-3/icu4c-*-data.zip | ||
rm -f data/in/icudt??l.dat | ||
autoconf | ||
runConfigure ./configure \ | ||
--disable-samples --disable-extras | ||
make $jobArgs | ||
} | ||
|
||
INSTALL() | ||
{ | ||
cd source | ||
make install | ||
|
||
prepareInstalledDevelLibs \ | ||
libicudata \ | ||
libicui18n \ | ||
libicuio \ | ||
libicule \ | ||
libiculx \ | ||
libicutu \ | ||
libicuuc | ||
fixPkgconfig | ||
|
||
# Update icu-config to point to the develop/lib dir | ||
fixDevelopLibDirReferences \ | ||
$binDir/icu-config | ||
|
||
# Rename the data/icu directory when built for the secondary architecture, | ||
# so that it doesn't clash with the primary package's. | ||
if [ -n "$secondaryArchSuffix" ]; then | ||
mv $dataDir/icu $dataDir/icu$secondaryArchSuffix | ||
# TODO: The icu-config, the Makefile.inc, and possibly other files need | ||
# to be adjusted as well. They are probably also not quite correct for | ||
# the primary architecture (lib vs. develop/lib). | ||
fi | ||
|
||
# devel package | ||
packageEntries devel \ | ||
$developDir \ | ||
$dataDir/icu$secondaryArchSuffix \ | ||
$libDir/icu \ | ||
$binDir/icu-config \ | ||
$manDir/man1/icu-config.1 | ||
|
||
# tools package | ||
if [ -z "$secondaryArchSuffix" ]; then | ||
packageEntries tools \ | ||
$binDir \ | ||
$manDir | ||
else | ||
rm -r $binDir $manDir | ||
fi | ||
} | ||
|
||
TEST() | ||
{ | ||
cd source | ||
make check | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.