Skip to content

Commit

Permalink
icu: update to version 57.1.
Browse files Browse the repository at this point in the history
  • Loading branch information
pulkomandy committed Aug 20, 2016
1 parent ba06f34 commit 0c4e87b
Show file tree
Hide file tree
Showing 5 changed files with 1,552 additions and 630 deletions.
197 changes: 197 additions & 0 deletions dev-libs/icu/icu-57.1.recipe
@@ -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
}
52 changes: 13 additions & 39 deletions dev-libs/icu/icu-56.1.recipe → dev-libs/icu/icu56-56.1.recipe
Expand Up @@ -41,12 +41,12 @@ wrapping when displaying the text."
HOMEPAGE="http://www.icu-project.org"
COPYRIGHT="1995-2015 IBM Corporation and others."
LICENSE="ICU"
REVISION="2"
REVISION="1"
SOURCE_URI="http://download.icu-project.org/files/icu4c/$portVersion/icu4c-56_1-src.tgz"
SOURCE_URI_2="http://www.iana.org/time-zones/repository/releases/tzdata2015g.tar.gz#noarchive"
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-56_1-data.zip#noarchive"
CHECKSUM_SHA256="3a64e9105c734dcf631c0b3ed60404531bce6c0f5a64bfe1a6402a4cc2314816"
CHECKSUM_SHA256_2="b923cdbf078491696b17bc8d069c74bce73fabc5774629da2f410c9b31576161"
CHECKSUM_SHA256_2="ed8c951008d12f1db55a11e96fc055718c6571233327d9de16a7f8475e2502b0"
CHECKSUM_SHA256_3="d9114d82ea87c4b2e7f2ae11117c21922b98aefba7b4e92c3a80075303b2ed23"
SOURCE_DIR="icu"
PATCHES="icu-$portVersion.patchset"
Expand All @@ -60,7 +60,7 @@ ARCHITECTURES="x86_gcc2 x86 x86_64 arm"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"

PROVIDES="
icu$secondaryArchSuffix = $portVersion compat >= 56
icu56$secondaryArchSuffix = $portVersion compat >= 56
lib:libicudata$secondaryArchSuffix = $portVersion compat >= 56
lib:libicui18n$secondaryArchSuffix = $portVersion compat >= 56
lib:libicuio$secondaryArchSuffix = $portVersion compat >= 56
Expand All @@ -79,7 +79,7 @@ REQUIRES+="
fi

PROVIDES_devel="
icu${secondaryArchSuffix}_devel = $portVersion
icu56${secondaryArchSuffix}_devel = $portVersion
cmd:icu_config${secondaryArchSuffix} = $portVersion compat >= 56
devel:libicudata${secondaryArchSuffix} = $portVersion compat >= 56
devel:libicui18n${secondaryArchSuffix} = $portVersion compat >= 56
Expand All @@ -91,33 +91,13 @@ PROVIDES_devel="
devel:libicuuc${secondaryArchSuffix} = $portVersion compat >= 56
"
REQUIRES_devel="
icu${secondaryArchSuffix} == $portVersion base
icu56${secondaryArchSuffix} == $portVersion base
"
CONFLICTS_devel="
icu${secondaryArchSuffix}_devel
icu55${secondaryArchSuffix}_devel
icu54${secondaryArchSuffix}_devel
"

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
Expand Down Expand Up @@ -180,14 +160,8 @@ INSTALL()
$binDir/icu-config \
$manDir/man1/icu-config.1

# tools package
if [ -z "$secondaryArchSuffix" ]; then
packageEntries tools \
$binDir \
$manDir
else
rm -r $binDir $manDir
fi
# main package cleanup
rm -r $binDir
}

TEST()
Expand Down

0 comments on commit 0c4e87b

Please sign in to comment.