File icu.spec of Package icu

#
# spec file for package icu
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define lname	libicu70
%define amajor   70
%define aversion 70
%ifarch %armb hppa mips mips64 ppc ppc64 %sparc s390 s390x m68k
%define be_platform 1
%else
%define be_platform 0
%endif
# icu-versioning.diff needs update for new Version too
Name:           icu
Version:        70.1
Release:        lp153.180.1
Summary:        International Components for Unicode
License:        ICU
Group:          Development/Libraries/C and C++
URL:            http://icu-project.org/
Packager:  Alessandro de Oliveira Faria (A.K.A CABELO) <cabelo@opensuse.org>

#Git-Clone:	https://github.com/unicode-org/icu.git
Source:         https://github.com/unicode-org/icu/releases/download/release-70-1/icu4c-70_1-src.tgz
Source2:        https://github.com/unicode-org/icu/releases/download/release-70-1/icu4c-70_1-src.tgz.asc
Source3:        https://github.com/unicode-org/icu/releases/download/release-70-1/icu4c-70_1-docs.zip
Source4:        https://github.com/unicode-org/icu/releases/download/release-70-1/icu4c-70_1-docs.zip.asc
Source99:       icu.keyring
Source100:      baselibs.conf
Patch4:         icu-fix-install-mode-files.diff
Patch6:         icu-error-reporting.diff
Patch7:         icu-avoid-x87-excess-precision.diff
Patch8:         locale.diff
Patch9:         nan-undefined-conversion.patch
Patch10:        fix-ucptrietest-golden-diff.patch
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  pkg-config
BuildRequires:  python3-base
BuildRequires:  unzip
Provides:       bundled(timezone) = 2021b

%description
ICU is a set of C and C++ libraries that provide extensive Unicode and locale
support, such as calendar, conversions for many character sets, language
sensitive collation, date and time formatting, support for many locales,
message catalogs and resources, message formatting, normalization, number and
currency formatting, time zone support, transliteration, and word, line, and
sentence breaking.

This subpackage contains the runtime programs for interacting with ICU.

%package -n %lname
Summary:        International Components for Unicode
Group:          System/Libraries
Requires:       timezone
Provides:       libicu = %version
%if %be_platform
Requires:       libicu%aversion-bedata = %version
%else
Requires:       libicu%aversion-ledata = %version
%endif

%description -n %lname
ICU is a set of C and C++ libraries that provide extensive Unicode
and locale support.
This package contains the runtime libraries for ICU.

%package -n libicu%aversion-bedata
Summary:        Rule databases and tables for ICU
Group:          System/Libraries
%if 0%{?suse_version} >= 1210
BuildArch:      noarch
%endif

%description -n libicu%aversion-bedata
ICU is a set of C and C++ libraries that provide extensive Unicode
and locale support.

ICU makes use of a wide variety of data tables to provide many of its
services: converter mapping tables, collation rules, transliteration
rules, break iterator rules and dictionaries.

This subpackage contains these data tables, in big-endian format.

%package -n libicu%aversion-ledata
Summary:        Rule databases and tables for ICU
Group:          System/Libraries
%if 0%{?suse_version} >= 1210
BuildArch:      noarch
%endif

%description -n libicu%aversion-ledata
ICU is a set of C and C++ libraries that provide extensive Unicode
and locale support.

ICU makes use of a wide variety of data tables to provide many of its
services: converter mapping tables, collation rules, transliteration
rules, break iterator rules and dictionaries.

This subpackage contains these data tables, in little-endian format.

%package -n libicu-devel
Summary:        Development files for the ICU library
Group:          Development/Libraries/C and C++
Requires:       %lname = %version

%description -n libicu-devel
ICU is a set of C and C++ libraries that provide extensive Unicode
and locale support.
This package contains the headers for ICU.

%package -n libicu-doc
Summary:        Documentation for the ICU library
Group:          Documentation/HTML

%description -n libicu-doc
ICU is a set of C and C++ libraries that provide extensive Unicode
and locale support.
This package contains the HTML documentation.

%prep
%autosetup -p1 -n icu

# docs are special
mkdir html
pushd html/
unzip %SOURCE3
popd

%build
cd source
mkdir -p data/out/tmp # build procedure forgets to do this on its own
export CXXFLAGS="%optflags -DICU_DATA_DIR=\\\"%_datadir/icu/%version/\\\""
export CFLAGS="$CXXFLAGS"
%configure \
	--disable-static \
	--enable-shared \
	--disable-samples \
	--with-data-packaging=archive
%make_build VERBOSE=1
# Build the other endianess, too.
pushd data/
%if %be_platform
cp in/icudt%{amajor}l.dat out/
%else
LD_LIBRARY_PATH="../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH" \
	../bin/icupkg -tb in/icudt%{amajor}l.dat out/icudt%{amajor}b.dat
! cmp in/icudt%{amajor}l.dat out/icudt%{amajor}b.dat
%endif
popd

%install
mkdir -p "%buildroot/%_docdir/%name"
cp -a html "%buildroot/%_docdir/%name/"
cp -a license.html readme.html "%buildroot/%_docdir/%name/"

find . -name CVS -type d -exec rm -Rf "{}" "+"
cd source

%make_install
cp data/out/icudt*.dat "%buildroot/%_datadir/icu/%version/"

#
# ICU's "pkgdata" utility is really fragile, so icu-versioning.diff
# does as few actions as possible, but that means we need some additional
# cleanup in the spec file now.
#
pushd "%buildroot/%_libdir/"
for i in *.so.[0-9]*; do
	echo "Looking at $i"
	if [ "${i##*.so.}" != "%version" ]; then
		rm -fv "$i"
		continue
	fi
	# Because U_ICU_VERSION_SHORT is "51_2" and not "51.2",
	# create some symlinks.
	ln -s "$i" "${i%%%version}%aversion"
done
popd

# /usr/lib/rpm/elfdeps requires +x bit and not all files had it at one point.
# - OpenBSD for example is known to have patched their libtool program
# to kill the x bit on install :(
chmod a+rx "%buildroot/%_libdir"/lib*.so.*

# install uncompiled source data:
mkdir -p "%buildroot/%_datadir/icu/%version/unidata"
install -m 644 data/unidata/*.txt "%buildroot/%_datadir/icu/%version/unidata"
ln -s unidata/UnicodeData.txt "%buildroot/%_datadir/icu/%version/"

rm "%buildroot/%_datadir/icu/%version/install-sh"
# Seems unused
rm -Rf "%buildroot/%_datadir/icu/%version/unidata/" \
	"%buildroot/%_datadir/icu/%version/UnicodeData.txt" \
	"%buildroot/%_libdir/icu/current" \
	"%buildroot/%_libdir/icu/Makefile.inc" \
	"%buildroot/%_libdir/icu/pkgdata.inc"

%fdupes %buildroot/%_prefix

%check
# s390x see: https://ssl.icu-project.org/trac/ticket/13095
cd source
ICU_DATA="%buildroot/%_datadir/icu/%version" make check %{?_smp_mflags} VERBOSE=1

%post   -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig

%files
%_bindir/derb
%_bindir/gen*
%_bindir/icuinfo
%_bindir/makeconv
%_bindir/pkgdata
%_bindir/uconv
%_bindir/icuexportdata
%_sbindir/*
%_mandir/man*/*
%dir %_datadir/icu
%dir %_datadir/icu/%version
%_datadir/icu/%version/LICENSE
%dir %_docdir/%name/
%_docdir/%name/license.html
%_docdir/%name/readme.html

%files -n %lname
%_libdir/libicu*.so.*

%files -n libicu%aversion-bedata
%dir %_datadir/icu
%dir %_datadir/icu/%version
%_datadir/icu/%version/icudt%{amajor}b.dat

%files -n libicu%aversion-ledata
%dir %_datadir/icu
%dir %_datadir/icu/%version
%_datadir/icu/%version/icudt%{amajor}l.dat

%files -n libicu-devel
%_libdir/libicu*.so
%_includedir/unicode/
%dir %_libdir/icu/
%dir %_libdir/icu/%version/
%_libdir/icu/%version/Makefile.inc
%_libdir/icu/%version/pkgdata.inc
%_libdir/pkgconfig/icu-*.pc
%_bindir/icu-config
%dir %_datadir/icu/
%dir %_datadir/icu/%version/
%_datadir/icu/%version/mkinstalldirs
%_datadir/icu/%version/config/

%files -n libicu-doc
%dir %_docdir/%name/
%_docdir/%name/html/

%changelog
* Mon Nov 22 2021 Andreas Schwab <schwab@suse.de>
- Add fix-ucptrietest-golden-diff.patch: ICU-21793 Fix
  ucptrietest golden diff [boo#1192935]
* Tue Nov  9 2021 Callum Farmer <gmbr3@opensuse.org>
- Update to release 70.1:
  * Unicode 14 (new characters, scripts, emoji, and API constants)
  * CLDR 40 (many additions and corrections)
  * Fixes for measurement unit formatting
  * Can now be built with up to C++20 compilers
- Rebased icu-error-reporting.diff
* Wed May 12 2021 Andreas Schwab <schwab@suse.de>
- nan-undefined-conversion.patch: ICU-21613 Fix undefined behaviour in
  ComplexUnitsConverter::applyRounder
* Sat Apr 10 2021 Jan Engelhardt <jengelh@inai.de>
- Update to release 69.1
  * CLDR 39
  * For Norwegian, "no" is back to being the canonical code, with
    "nb" treated as equivalent. This aligns handling of Norwegian
    with other macro language codes.
  * Binary prefixes in measurement units (KiB, MiB, etc.)
  * Time zone offsets from local time: New APIs
    BasicTimeZone::getOffsetFromLocal() (C++) and
    ucal_getTimeZoneOffsetFromLocal()
- Drop icu-1618.patch (merged),
  icu-fix-testTemperature.patch (merged)
* Sat Apr 10 2021 Andreas Schwab <schwab@suse.de>
- icu-drop-testTemperature.patch: Remove
- icu-fix-testTemperature.patch: Backport ICU-21366 (bsc#1182645)
- Don't disable testsuite under qemu-linux-user
* Wed Mar 31 2021 Guillaume GARDET <guillaume.gardet@opensuse.org>
- Add icu-drop-testTemperature.patch to fix boo#1182645
  The test has been dropped in master branch
* Mon Mar  8 2021 Guillaume GARDET <guillaume.gardet@opensuse.org>
- Added icu-1618.patch to fix 2 tests on aarch64 [boo#1182645]
* Mon Mar  1 2021 Martin Liška <mliska@suse.cz>
- Drop SUSE_ASNEEDED as the issue was in binutils (boo#1182252).
* Thu Feb 18 2021 Martin Liška <mliska@suse.cz>
- Fix pthread dependency issue (boo#1182252).
* Fri Dec 25 2020 Jan Engelhardt <jengelh@inai.de>
- Update to release 68.2
  * Fix memory problem in FormattedStringBuilder
  * Fix assertion when setKeywordValue w/ long value.
  * Fix UBSan breakage on 8bit of rbbi
  * fix int32_t overflow in listFormat
  * Fix memory handling in MemoryPool::operator=()
  * Fix memory leak in AliasReplacer
* Sat Nov  7 2020 Ismail Dönmez <idonmez@suse.com>
- Add back icu.keyring, see https://unicode-org.atlassian.net/browse/ICU-21361
* Thu Oct 29 2020 Jan Engelhardt <jengelh@inai.de>
- Update to release 68.1
  * CLDR 38
  * Measurement unit preferences
  * PluralRules selection for ranges of numbers
  * Locale ID canonicalization now conforms to the CLDR spec
    including edge cases
  * DateIntervalFormat supports output options such as capitalization
  * Measurement units are normalized in skeleton string output
  * Time zone data (tzdata) version 2020d
* Sun May 31 2020 Cliff Zhao <qzhao@suse.com>
- Add the provides for libicu to Make .Net core can install
  successfully. (bsc#1167603, bsc#1161007)
* Thu Apr 23 2020 Ismail Dönmez <idonmez@suse.com>
- Update to version 67.1
  * Unicode 13 (ICU-20893, same as in ICU 66)
    + Total of 5930 new characters
    + 4 new scripts
    + 55 new emoji characters, plus additional new sequences
    + New CJK extension, first characters in plane 3: U+30000..U+3134A
  * CLDR 37
    + New language at Modern coverage: Nigerian Pidgin
    + New languages at Basic coverage: Fulah (Adlam), Maithili,
    Manipuri, Santali, Sindhi (Devanagari), Sundanese
    + Region containment: EU no longer includes GB
    + Unicode 13 root collation data and Chinese data for collation and transliteration
  * DateTimePatternGenerator now obeys the "hc" preference in the locale identifier (ICU-20442)
  * Various other improvements for ECMA-402 conformance
  * Number skeletons have a new "concise" form that can be used in MessageFormat strings (ICU-20418)
  * Currency formatting options for formal and other currency display name variants (ICU-20854)
  * ListFormatter: new public API to select the style & type (ICU-12863)
  * ListFormatter now selects the proper “and”/“or” form for Spanish & Hebrew (ICU-21016)
  * Locale ID canonicalization upgraded to implement the complete CLDR spec (ICU-20834, ICU-20272)
  * LocaleMatcher: New option to ignore one-way matches (ICU-20936),
    and other tweaks to the code (ICU-20916, ICU-20917) and data (from CLDR)
  * acceptLanguage() reimplemented via LocaleMatcher (ICU-20700)
  * Data build tool: tzdbNames.res moved from the "zone_tree" category to the "zone_supplemental" category (ICU-21073)
  * Fixed uses of u8"literals" broken by the C++20 introduction of the incompatible char8_t type (ICU-20972),
  * and added a few API overloads to reduce the need for reinterpret_cast (ICU-20984).
  * Support for manipulating CLDR 37 unit identifiers in MeasureUnit.
* Sun Mar 15 2020 Jan Engelhardt <jengelh@inai.de>
- Drop icu-versioning.diff, icu-susevers.diff [boo#1159131]
* Sun Mar 15 2020 Ismail Dönmez <idonmez@suse.com>
- Update to version 66.1
  * Unicode 13 support
  * Fix uses of u8"literals" broken by C++20 introduction of
    incompatible char8_t type. (ICU-20972)
* Tue Feb 25 2020 Jan Engelhardt <jengelh@inai.de>
- Add locale.diff [boo#1162882]
* Sun Jan 12 2020 Jan Engelhardt <jengelh@inai.de>
- Remove /usr/lib(64)/icu/current [boo#1158955].
* Sat Oct  5 2019 Jan Engelhardt <jengelh@inai.de>
- Update to release 65.1 (jsc#SLE-11118).
  * Updated to CLDR 36 locale data with many additions and
    corrections, and some new measurement units.
  * The Java LocaleMatcher API is improved, and ported to C++.
- Drop 075cefb2e21f57f4cac1bc2868e93dd1b8c077cc.patch
  (merged)
* Wed Aug 21 2019 kukuk@suse.de
- Remove old obsoletes/provides for migration from very old
  products, as they break our shared library policy (bsc#1146907).
* Tue May 14 2019 Ismail Dönmez <idonmez@suse.com>
- Add 075cefb2e21f57f4cac1bc2868e93dd1b8c077cc.patch to fix a
  regression with the C.UTF-8 locale
  https://unicode-org.atlassian.net/browse/ICU-20575
* Thu Apr 18 2019 Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 64.2
  * This maintenance update for ICU 64 includes draft Unicode
    12.1 update, CLDR 35.1 locale data and support for the new
    Japanese era Reiwa (令和). (boo#1112183, bnc#1103893,
    FATE#325570)
* Mon Apr  1 2019 Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 64.1
  * Updates to Unicode 12 and to CLDR 35 locale data with many
    additions and corrections, and some new languages. ICU adds a
    data filtering/subsetting mechanism, improved formatting API,
    and a C++ LocaleBuilder.
- New python3 dependency to build intermediate file
  test/testdata/rules.mk.
* Wed Oct 17 2018 Ismail Dönmez <idonmez@suse.com>
- Update to new upstream release 63.1
  * CLDR 34
    + Segmentation rules and emoji sort order adjusted for
    Unicode 11
    + Somali and Javanese data now up to moderate level
    (document content)
    + Tongan, Konkani, Maori, Dzongkha, Tatar, Kurdish (ku),
    and Xhosa data now up to basic level
    + Many data additions and corrections in many other
    languages
    + The following languages have been added to ICU: Sindhi,
    Maori, Turkmen, Javanese, Interlingua, Kurdish (ku), Xhosa
  * New currency: Venezuela's Bolívar Soberano (VES)
  * New Japanese calendar era from 2019: CLDR and ICU include
    data for testing that can be enabled.
    (ICU #12973, CLDR #10750)
  * To enable CLDR new Japanese era placeholder name, set
    environment variable (and Java system property for ICU4J)
    ICU_ENABLE_TENTATIVE_ERA=true.
  * New API for number and currency range formatting
    (class NumberRangeFormatter, #11276)
  * Support for additional Unicode properties:
    Indic_Positional_Category & Indic_Syllabic_Category (#8966)
    and Vertical_Orientation (#12850)
  * New API for code point maps and tries, mapping Unicode
    code points (U+0000..U+10FFFF) to integer values. (#13530)
  * Java classes CodePointMap, CodePointTrie, MutableCodePointTrie
  * C types UCPMap, UCPTrie, UMutableCPTrie
  * New API for getting a UnicodeSet per binary property and a code
    point map per enumerated/int-value property. (#20086)
  * Full conformance with UAX #14 Line Breaking
    (required BreakIterator feature work). (#7270)
  * C++ Locale class
    + Additional functions forLanguageTag()/toLanguageTag(),
    and functions that are easier and safer to use by using
    StringPiece and ByteSink rather than raw buffers. (#13417)
    + Move semantics. (#13645)
  * Various Out-Of-Memory (OOM) issues have been fixed.
- Refresh icu-versioning.diff
* Sun Jul 29 2018 jengelh@inai.de
- Update to new upstream release 62.1
  * Unicode 11: 684 new characters, including 7 new scripts,
    Mtavruli Georgian capital letters, 5 new Han characters, and
    66 new emoji characters.
  * CLDR 33.1
  * Under-the-hood overhaul of number parsing. Behavior is mostly
    compatible with previous versions, but there are some known
    differences.
- Remove xlocale.patch (code to patch is gone),
  icu-number-grouping.diff (merged upstream)
* Mon Jun  4 2018 jengelh@inai.de
- Add icu-susevers.diff and disable UTF-8 assumption
  [boo#1095425]
* Wed Apr  4 2018 jengelh@inai.de
- Update to new upstream release 61.1
  * ICU 61 upgrades to CLDR 33 locale data.
- Add icu-number-grouping.diff
* Tue Dec 26 2017 jengelh@inai.de
- Drop dangling symlinks /usr/lib64/icu/*.inc
* Thu Dec 14 2017 jengelh@inai.de
- Update to new upstream release 60.2
  * ICU 60 provides full support for the Unicode 10.0 release
    with many new characters and many property improvements.
    Locale data is updated to CLDR 32, which adds several
    languages and data improvements. A new number formatting API
    has been added.
* Wed Aug  2 2017 jengelh@inai.de
- refresh icu-avoid-x87-excess-precision.diff with p1
* Wed Jul  5 2017 schwab@suse.de
- xlocale.patch: don't use obsolete <xlocale.h>
* Wed May 17 2017 rguenther@suse.com
- Add icu-avoid-x87-excess-precision.diff to avoid
  FixedPrecision::initVisibleDigits failure on i586 with GCC 7.
  (bnc#1030253)
* Thu Apr 27 2017 jengelh@inai.de
- Update to new upstream release 59.1
  * Emoji 5.0 data
  * CLDR 31.0.1
  * * GMT and UTC are no longer unified, and CLDR provides
    distinct UTC display names, avoiding confusion with standard
    (winter) time in Britain.
  * New case mapping API (C++ & Java classes CaseMap) supports
    styled text
  * ICU4C now uses and requires C++11 language features and
    libraries.
  * ICU4C has also moved to char16_t as the type for UTF-16. This
    is a breaking change. Please see the detail section below.
* Sat Dec 10 2016 idonmez@suse.com
- Update to new upstream release 58.2
  * CLDR 30.0.3:
    + Fix incorrect data for number of Cantonese speakers in China.
    + Hani_Latn transform was not updated with Unihan 9.0 kMandarin
    readings.
  * Time zone database version 2016j
  * #12815 uspoof_getSkeleton sets backwards-incompatible illegal
    argument exception
  * #12825 uspoof_check goes into an "infinite loop" when U+30FB
    is in an input string
  * #12832 GreekUpper::toUpper skips the final character on a
    non-terminated UTF-8 string
  * #12849 u_strToTitle returns incorrect length if destination
    is NULL
* Fri Oct 21 2016 jengelh@inai.de
- Update to new upstream release 58.1
  * CLDR 30.0.2: For details of the many changes in CLDR, see
  CLDR 30. Some things to note:
  * For some combinations of numbering system (arab, arabext, latn)
  and/or locale (ar, fa, he), there were changes to the
  bidirectional control characters used with certain symbols
  (percent, minus, plus), and changes to number patterns (currency
  and/or percent, including addition of bidirectional control
  characters in some cases).
  * Thhe bidirectional controls used for such purposes include U+061C
  ARABIC LETTER MARK (ALM), which requires use of the bidirectional
  algorithm from Unicode 6.3 or later.
  * The time separator for Norwegian locales (nb, nn) was changed to
  be ':' throughout.
  * Unicode 9.0: Version 9.0 adds exactly 7,500 characters, for a
  total of 128,172 characters. These additions include six new
  scripts, 19 symbols for the new 4K TV standard, and 72 new
  emoji characters.
  * Draft Emoji 4.0 data
  * Emoji updates for word & line breaking
  * UBiDiTransform/BidiTransform API for convenient transformation of
  text between different Bidi layouts.
  * MeasureFormat API for measurement unit display names
  * Most COUNT and LIMIT enum constants have been deprecated
  * SpoofChecker: Handling of "whole script confusables" has been
  removed from ICU, in accordance with its removal from UTS #39
  Version 9.0.0 and the removal of the corresponding Unicode data
  file.
  * Greek uppercasing ("el" locale ID) removes most diacritics.
  * More robust locale data loading across ICU implementation code.
  * Reduced heap memory usage in DateTimePatternGenerator
* Fri Mar 25 2016 jengelh@inai.de
- Update to new upstream release 57.1
  * CLDR 29 support
  * Grapheme/word/line breaking for emoji sequences, based on
  Unicode 9 proposed rules.
  * Four new Unicode emoji properties
  * DateFormat day period formatting of "noon", "at night", etc. via
  new pattern characters b & B, and DateTimePatternGenerator
  support of C for selecting the customary form.
  * RelativeDateTimeFormatter: Simpler formatting API.
  * New simple & fast SimpleFormatter class for a trivial subset of
  MessageFormat as used in CLDR data.
* Fri Oct  9 2015 jengelh@inai.de
- Update to new upstream release 56.1
  * CLDR 28: For details of the many changes in CLDR, see CLDR 28.
  * Unicode data updated to Unicode 8.0: 41 new emoji characters,
  5,771 new ideographs for Chinese/Japanese/Korean, 6 new scripts,
  improved character properties data, etc.
  * ICU data size reduced by about 7.2%% (1.8MB) via sharing string
  values across resource bundles.
  * DateIntervalFormat now handles intervals with seconds, and sets
  FieldPosition more consistently.
  * DateFormat::createInstanceForSkeleton() caches DateFormat
  patterns rather than DateTimePatternGenerator instances, for
  better performance (for cache hits) and lower heap memory
  consumption.
  * StringSearch (based on collation) defaults to matches on
  normalization boundaries rather than grapheme cluster boundaries,
  which yields more matches on Indic text.
  * RuleBasedNumberFormat (spelled-out numbers) now handles
  infinity, NaN.
  * Most of the old Normalizer/unorm.h had been replaced by
  (and reimplemented via) Normalizer2, and is now deprecated.
  * COLON has been withdrawn as a date pattern character
  corresponding to the date field [UDAT_]TIME_SEPARATOR_FIELD;
  there is currently no pattern character corresponding to that
  field.
  * Support for locale key "cf" to specify currency format style,
  and interaction with NumberFormat values for UNumberFormatStyle.
- Drop icu-remove-datetime.patch (merged upstream)
* Tue Apr 28 2015 tchvatal@suse.com
- Update baselibs.conf
* Tue Apr 28 2015 tchvatal@suse.com
- Version bump to latest release 55.1:
  * support of CLDR 27 (with a major cleanup of region locales, among many
    other improvements), formatting for scientific notation ("1.2 × 10³")
  * update to Unicode 7.0 data for spoof-checking
  * Various performance enhancements
  * Full upstream changelog:
    http://site.icu-project.org/download/55
- Refresh the soname versioning patch:
  * icu-versioning.diff
* Sat Oct 11 2014 jengelh@inai.de
- Update to new upstream release 54.1
  * Unicode 7.0: Unicode 7.0 adds a total of 2,834 characters,
  encompassing 23 new scripts, two currency symbols (manat &
  ruble), many new pictographic and geometric symbols, and
  character additions to many existing scripts.
  * CLDR 26: 77 languages with 100%% modern coverage, more & improved
  data, many more measurement units.
- Remove icu-rpmlint.diff (solved differently upstream),
  icu-fix-tests-depending-on-date.patch (solved differently
  upstream, also take note of
  http://bugs.icu-project.org/trac/ticket/10937 it may need to be
  reinstated)
* Mon Sep  8 2014 schwab@suse.de
- Add m68k to the list of big endian archs
* Wed Aug 13 2014 jengelh@inai.de
- Build both B and L-type endianess variants of icudt53.dat so that
  icu-data really is arch-independent again
- Add icu-error-reporting.diff
* Tue Jul 29 2014 coolo@suse.com
- add baselibs.conf as source
* Mon Jun 16 2014 coolo@suse.com
- add icu-fix-tests-depending-on-date.patch to fix build
  see http://sourceforge.net/p/icu/mailman/message/32443311/
* Tue Jun  3 2014 tchvatal@suse.com
- Ensure we escape the find %%f properly.
* Tue Jun  3 2014 tchvatal@suse.com
- Version bump to 53.1:
  * Data from the CLDR 25 release: Many bug fixes
  * Time zone data: 2014b,  including post CLDR 25 time zone data
    update to CLDR.
  * U+20BD Ruble Sign added (from Unicode 7.0, otherwise ICU 53
    still uses Unicode 6.3)
  * Collation code re-implemented
  * ICU4C now requires compilers with C99 support
  * Updated Spoof Checker for Unicode Security Standard version
    6.3. (#10706)
  * many more see http://site.icu-project.org/download/53
* Tue Jun  3 2014 tchvatal@suse.com
- Clean up with spec-cleaner and remove some obsolete provide/obsolete
- Use official download tarballs instead of repacks
* Mon Apr  7 2014 schwab@suse.de
- Use a glob to avoid architecture dependent file list
* Fri Mar  7 2014 ro@suse.de
- s390 is big endian as well
* Tue Nov 12 2013 jengelh@inai.de
- Update to new upstream release 52.1
  * Unicode 6.3: New bidi control codes, new Bidi_Class property
  values, two new bidi "bracket" properties; for other property
  value changes see the UAX #44 summary.
  * CLDR 24: Improved coverage for top 70+ languages, fractional
  plural rules and forms, many new measurement units, major
  simplification of collation rule syntax, preliminary version of
  European Ordering Rules, new relative fields.
  * New API for converting between Windows time zone ID and IANA tz
  database ID.
  * Implement support for plurals that depend on displayed fractional
  values
* Mon Jul 29 2013 dvaleev@suse.com
- make filelist depend on architecture
  icudt51b.dat - on BigEndian platforms
  icudt51l.dat - on LittleEndian
* Tue Jul 23 2013 jengelh@inai.de
- Add missing symlinks and update description in icu-versioning.diff
* Sun Jul 14 2013 jengelh@inai.de
- Change icu-versioning.diff: Resolve libqt4 emitting a warning
  that it cannot dlopen libicui18n.so
- Build I18N data as a plain file rather than as an arch-dependent
  huge shared library
- Add icu-fix-install-mode-files.diff
* Sat Jun 15 2013 jengelh@inai.de
- Add icu-versioning.diff:
  Treat each minor release as a new SONAME (bnc#824262)
* Wed Jun  5 2013 jengelh@inai.de
- Update to new upstream release 51.2
  * Common Locale Data Repository (CLDR) 23.1
  * Time zone database version 2013c
  * Security fixes for font layout and glyph table errors. NOTE:
  Applications must implement
  LEFontInstance::getFontTable(LETag, size_t &length) in their
  LEFontInstance subclasses, so that ICU can properly bounds-check
  font tables.
* Mon May  6 2013 jengelh@inai.de
- Update RPM group, description, URL
* Tue Mar 26 2013 jengelh@inai.de
- Update to new upstream release 51
  * Collation tailorings put native script first;
  non-Gregorian calendar formats are more consistent;
  * Date format/parse now supports CLDR short weekday names
  * Support DisplayContext for date formatting, locale display names
  * Support new timezone pattern characters in LDML spec
  * Support for “dangi” Korean luni-solar calendar
  * Add CompactDecimalFormat and TerritoryContainment APIs
  * ICU50 regression fix: Affixes set with e.g.
  DecimalFormat::setPositivePrefix were ignored for parse
  * ICU50 regression fix: UNUM_PARSE_INT_ONLY no longer handled
  grouping separator
- Recompress to xz to save space
* Fri Jan 25 2013 cfarrell@suse.com
- license update: X11
  official spdx.org license list now contains an entry for X11
* Sat Jan 19 2013 idonmez@suse.com
- Update to version 50.1.2
  * Fix an ABI regression introduced in 50.1, icu bug#9826
* Wed Nov 14 2012 jengelh@inai.de
- Update to new upstream release 50
  * Unicode 6.2: Turkish Lira Sign, improved word & line segmentation
  (BreakIterator) for symbols
  * CLDR 22.1: Data coverage & quality improved across all major
  languages; new short width type for weekday names; new zhuyin
  (Bopomofo) collation for Chinese; improved data for
  CompactDecimalFormat & RBNF
  * Time zone data: 2012h
  * Ordinal-number support in MessageFormat & PluralRules
  * Deprecate setLocale(locale) in PluralFormat
  * Dictionary-based break iterators (word segmentation)
* Wed Jul 11 2012 jengelh@inai.de
- Remove SuSEconfig.icu; only run the link updater on icu updates
  (FATE#313539)
* Wed Jun 13 2012 cfarrell@suse.com
- license update: SUSE-XFree86-1.0
  The license (as stated in the license.html page) is not upstream at
  http://www.spdx.org/licenses yet - thus, use this version (with SUSE-
  proprietary prefix until the license goes upstream)
* Tue Apr 10 2012 cfarrell@suse.com
- license update: MIT and SUSE-Public-Domain
  This is _not_ IBM Public License code.
* Tue Apr  3 2012 jengelh@medozas.de
- Update to new upstream release 49.1:
  * Unicode 6.1: New scripts & blocks; changes to grapheme break &
  line break property values; some characters change from symbol to
  Po or No; etc.
  * CLDR 21.0.1: Changes in segmentation data to match Unicode 6.1;
  new structures for support of Chinese calendar, for
  context-dependent capitalization, for gender of lists of people,
  for ordinal categories, and for multiple number systems per
  locale; deprecation of "commonlyUsed" element in timezone names;
  removal of "whole-locale" aliases; major cleanups of timezone
  names, delimiter data, abbreviated number data.
  * Support for ISO 4217 numeric currency code
  * See http://site.icu-project.org/download/49 for more
* Sat Feb 25 2012 jengelh@medozas.de
- Use shlib policy for icu package
- Use proper data directory in CXXFLAGS
* Wed Jan 18 2012 vuntz@opensuse.org
- Update to version 4.8.1.1:
  + Time zone database version 2011k
  + Several bug fixes.
- Changes from version 4.8.1:
  + Common Locale Data Repository (CLDR) 2.0.1
  + Time zone database version 2011h
  + Several bug fixes.
- Changes from version 4.8.0:
  + Common Changes:
  - CLDR 2.0: The CLDR 2.0 release contains numerous improvements
    and bug fixes approved by the CLDR committee, including much
    additional data for many languages.
  - Explicit parent locale support in data imported from CLDR
  - MessageFormat and related classes (choice/plural/select) have
    been reimplemented, with several improvements and some
    incompatible changes.
  - Extended PluralFormat pattern syntax supports explicit-value
    forms and offsets.
  - Utility APIs in PluralRules (get some/all/unique keyword
    values)
  - Time zone API to return a list of available canonical system
    time zone IDs
  - Time zone API to return a region
  - Collation: Full implementation & public API for script
    reordering
  - Dictionary-type trie
  - GB18030-2005 update
  + ICU4C Specific Changes:
  - Alphabetic Index support ported from ICU4J
  - X11 Compound Text encoding support ported from ICU4J
  - Appendable interface
- Add unzip BuildRequires to handle .zip source file.
- Change the way we unpack the docs zip file: we need to create the
  html subdirectory first, so we don't unpack via %%setup but with
  an explicit call to unzip.
* Sat Dec 24 2011 vuntz@opensuse.org
- Remove call to suse_update_config, and stop removing
  config.cache.
* Thu Dec 22 2011 vuntz@opensuse.org
- Add automake BuildRequires that was implicit before, to fix
  build.
* Wed Oct 12 2011 vuntz@opensuse.org
- Drop pkgdata.diff: everything leads me to think this is not
  needed anymore. Debian doesn't ship this patch with its 4.4
  version of ICU. This patch was just a workaround in the first
  place anyway.
* Tue Oct 11 2011 dmueller@suse.de
- Disable "make check" when run under qemu.
* Tue Aug  2 2011 idonmez@novell.com
- Enable strict-aliasing again since the code seems to be fixed.
- Enable make check inside %%check.
- Cleanup the spec file with spec-cleaner.
* Thu May  5 2011 vuntz@opensuse.org
- Update to version 4.6.1:
  + Common Locale Data Repository (CLDR) 1.9.1
  + Update timezone data support to Olson 2011c
  + Fix: UCOL_RUNTIME_VERSION should be updated for 4.6
  + Fix: Collation Reordering Use Of USCRIPT_UNKNOWN
  + Fix: Can't find Hangul with search coll (usearch doesn't handle
    CE iter behavior)
  + Fix: ULocale#toLanguageTag() should not supply "und" as
    language when the locale has only private use
  + Fix: USpoof uses NFKD, should be NFD
  + ICU4C-specific bug fixes, including:
  - ICU misparses numbers in scientific notation
  - detect out of memory issue for Hashtable in low memory
    situations
- Changes from version 4.6.0:
  + Unicode 6.0:
  - Supports final version of Unicode 6.0
  - New UCA data for collation/sorting, with refinements from
    CLDR; this data is revamped for more effective use of
    collation weights, and noncharacters are now handled
  - Support for 2,088 new characters, including the new emoji and
    Indian Rupee sign
  - Fully updated properties
  + CLDR 1.9:
  - Supports final version of CLDR 1.9
  - The CLDR release contains numerous improvements and bug fixes
    approved by the CLDR committee, mainly in the areas of
    collation sequences, transliteration, and available date
    formats.
  + Support for UTS #46 Unicode IDNA Compatibility Processing.
  + Alternate number symbols based on numbering system.
  + Compact collation tailoring syntax for reduced memory and disk
    footprint.
  + New collation [import] rule for reduced footprint and improved
    maintenance.
  + Fast string BiDi direction detection.
  + ICU4C-specific changes:
  - ICU 4.6 requires compiler RTTI to be turned on. Please see
    the ICU4C readme for more details.
  - pkg-config files for a standard way of linking against ICU.
  - Promotion to @draft (from @internal) for most regex functions
    that provide access via UText.
  - Regex support for a "find progress" callback.
  - Enhance regex APIs to support full 64-bit offsets and
    indices.
  - New regex API to set match and start position independently.
- Update icu-remove-datetime.patch to apply without fuzz.
- Rebase icu44-rpmlint.diff.
- Add pkg-config BuildRequires to automatically get
  pkgconfig()-style Provides.
* Fri Jan 14 2011 vuntz@opensuse.org
- Update to version 4.4.2:
  + Common Changes:
  - Update LMBCS mapping table
  - Time zone data 2010l
  + ICU4C Specific Changes:
  - Fix: Difference between Java and C implementation with
    exponent characters
  - Fix: u_fflush (and thus u_fclose) not flushing stateful
    converter
  - Fix: unum_parseInt64 is not giving proper error
  - Fix: Missing header files in Windows build
* Thu Jul  8 2010 jengelh@medozas.de
- Update to version 4.4.1
  + Common Changes
  - Common Locale Data Repository (CLDR) 1.8.1
  - Enabled non-Gregorian calendars in DateIntervalFormat
- Changes from version 4.4:
  + Common Changes
  - Unicode 5.2 support.
  - CLDR 1.8 data - over 22%% more data, with many new locales.
  - Normalizer2 - for fast, flexible normalization, paving the
    way for UTS #46 support of international domain names.
  - Optimized resource bundle format to reduce the ICU resource
    bundle installation footprint.
  - Hebrew calendar month numbering improvement.
  - Finer granular ICU locale resource data packaging.
  - SelectFormat - for selecting a translation by a keyword among
    multiple alternatives when formatting messages.
  - Flexible hour pattern handling in DateFormatPatternGenerator.
  - Updated LMBCS converter implementation.
  - EBCDIC converter enhancement for supporting various SI/SO
    codes used by non-IBM mainframes.
  - 64bit time zone transition data support.
  + ICU4C Specific Changes
  - Regular Expressions support UText - allowing regular
    expressions to work on large or discontiguous text
    (Technology Preview).
  - DecimalFormat support for big decimal numbers.
  - ICU Plug-ins - for packaging a specific ICU servce as plug-in
    and calling different versions of plug-ins in a same
    environment (Technology Preview).
  - C++ public smart pointers.
  - Java modified UTF-8 support.
  - Improved UnicodeString substring operations.
  - New usearch options to control matching of collation elements
- Use %%_smp_mflags
- Add icu44-rpmlint.diff to fix some build errors.
- Add pkgdata.diff to help build on some architecture, see
  http://bugs.icu-project.org/trac/ticket/6969#comment:19.
* Tue Apr 20 2010 crrodriguez@opensuse.org
- In JeOS, libicu is installed by default but it should
  require timezone package to fullfill all dependencies.
* Tue May 26 2009 vuntz@novell.com
- Drop icu4c-3_6-src-setBreakType-public.diff: it's not needed
  anymore for OOo.
* Sat May 23 2009 vuntz@novell.com
- Update to 4.2:
  + Locale Data: ICU uses and supports data from Common Locale Data
    Repository (CLDR) 1.7 , which includes data for 146 languages,
    159 territories, 468 locales- 21%% more locale data than the
    previous release.
  + Number system support and the number keyword.
  + Number system override in DateFormat.
  + Numerics used by Hebrew Calendar date in Hebrew locale.
  + BCP47 (language tag) / Locale transformation.
  + BCP47 mapping of LDML keywords.
  + Encoding selector: Return a list of charsets that can handle
    the input text.
  + Simple duration: Implementation of CLDR duration format.
  + Available/Preferred keywords for a locale (Calendar, Collation,
    and Currency).
  + StringPrep standard profiles: RFC3491 NAMEPREP, RFC3530 NFS4,
    RFC3722 iSCSI, RFC3920 NodePrep/ResourcePrep, RFC4011 MIB,
    RFC4013 SASLprep, RFC4505 trace and RFC4518 LDAPprep.
  + Miscellaneous Arabic shaping enhancements.
  + UTF-8 friendly internal data structure for Unicode data lookup.
  + API to get CLDR version used by ICU.
  + ISCII charset converter updates (added Gurumukhi, other
    updates).
  + Performance improvements in Time Zone Name format/parse, and in
    DateIntervalFormat construction.
- Remove AutoReqProv: it's default now.
- Drop icu-gcc44.patch: fixed upstream.
- Do not package packaging doc in libicu-doc.
* Fri Mar 27 2009 vuntz@novell.com
- Add icu-remove-datetime.patch to be more build-compare friendly.
* Mon Mar  2 2009 crrodriguez@suse.de
- fix build with GCC 4.4
- remove static libraries
* Wed Dec 10 2008 olh@suse.de
- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade
  (bnc#437293)
* Thu Oct 30 2008 olh@suse.de
- obsolete old -XXbit packages (bnc#437293)
* Sat Sep 13 2008 vuntz@novell.com
- Merge with openSUSE:Factory. Redo the patch tags that were done
  by jpr@novell.com
* Fri Sep  5 2008 maw@suse.de
- Update to version 4.0:
  (All of the bug numbers listed are against
  http://bugs.icu-project.org/trac)
  + Update to Unicode 5.1 (#5696)
  + Locale Data: ICU uses and supports data from Common Locale Data
    Repository (CLDR) 1.6, which includes many improvements in
    quality and quantity of data
  + Add/removeLikelySubtags (#6124)
  + Charset converter file size improvement (#5987)
  + Date Interval Formatting (#6157) Note: Calendar type supported
    by this feature is Gregorian only in this release
  + Improved Plural support
  + Additional calendars: Chinese (#4081) and Coptic/Ethiopic
    (#4571)
  + Security fixes for CVE-2007-4770, CVE-2007-4771, and
    CVE-2008-1036.
- Drop libicu-regex.patch, which has been upstreamed.
* Thu Apr 10 2008 ro@suse.de
- added baselibs.conf file to build xxbit packages
  for multilib support
* Wed Feb 13 2008 maw@suse.de
- Update to version 3.8:
  + Locale Data: ICU uses and supports data from Common Locale Data
    Repository (CLDR) 1.5.0.1, which includes many improvements in
    quality and quantity of data.
  + Rule Based Time Zone: This set of classes provides the ability
    to read and write time zone data in RFC2445 VTIMEZONE format.
    This also provides access Olson timezone transitions.
  + Timezone Formatting: This has changed to give more human
    readable results.
  + Relative Date/Time Formatting: A draft of the relative date/time
    format class has been added. This functionality can be accessed
    through the DateFormat::createDateInstance or DateFormat.getInstance
    factory method. It provides the ability to format localized dates
    in terms of "yesterday", "today" and "tomorrow", instead of a
    specific only date or time.
  + Demonstrations and Tools
  * ICU Data Library Customizer: This new online tool provides an
    easier way customize ICU's data.
  * ICU4J Demonstrations: These will demonstrate some features of
    ICU4J, like calendars, transliteration, and several other
    features.
  + Flexible Date/Time Formatting: A draft of flexible date/time
    format generator has been added. This allows multiple date and
    time format patterns to be generated that are valid for specific
    locales. This funtionality can be accessed through the
    DateTimePatternGenerator API.
  + Time Zones: The default time zone is detected more accurately
    on Unix machines.
  + Additional Calendars
  * @calendar=taiwan: This calendar is a variant of the Gregorian
    calendar used in Taiwan.
  * @calendar=indian: This is the Indian national calendar.
  * @calendar=persian: This is the Persian calendar. It is also
    known as the Jalāli Calendar. It is used in several Arabic
    countries.
  + UnicodeSet
  * The Freezable design pattern is now supported, which can
    improve performance for the contains() and span() methods
    on frozen UnicodeSet objects.
  * A span function was added for iterating through strings.
  * The containsAll(string) and containsNone(string) now support
    set strings, instead of only codepoints.
  + Performance
  * Charset conversion performance has been enhanced. The
    amount of improvement varies depending on the converter
    being used and platform being used.
  * Rule based transliterator construction performance has been
    improved.
- s#%%run_ldconfig#/sbin/ldconfig# in libicu's %%post and %%postun
- add libicu-regex.patch (bnc#354372).
* Thu Feb  7 2008 pmladek@suse.cz
- made RuleBasedBreakIterator::setBreakType method pubclic; it was requested by
  OpenOffice_org >= 2.3.1, see http://bugs.icu-project.org/trac/ticket/5498
* Wed Jul 25 2007 pmladek@suse.cz
- Updated to version 3.6
  * supports Unicode 5.0
  * supports data from Common Locale Data Repository (CLDR) 1.4
  * charset detection framework was added
  * font layout engine has support added for Tibetan, Sinhala and Old Hangul
  * BiDi algorithm was enhanced to be more flexible and efficient
  * new icupkg tool provides an easier way to manage ICU's data library
  * time zone data is modularized to allow easier building and updating of
    the data
  * BreakIterator uses UText for abstract text processing
  * 64-bit indexing is now used to allow access to larger chunks of text
  * added API for read-only locking for security and robustness
  * lots performance improvements
* Mon Feb 13 2006 olh@suse.de
- mark libraries as executable to extract debuginfo
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Aug  3 2005 sbrabec@suse.cz
- Updated to version 3.4.
* Mon Mar 28 2005 gekker@suse.de
- Move icu-config to libicu-devel package (8030).
* Mon Jan 10 2005 sbrabec@suse.cz
- Updated to version 3.2 (#49578).
  Updated by Robert Schiele <rschiele@uni-mannheim.de>.
- Added -fno-strict-aliasing.
* Fri Nov 19 2004 ro@suse.de
- ignore return-code from strip call
* Tue May 25 2004 clahey@suse.de
- Removed --with-data-packaging=files.  Fixes gtk-sharp compilation.
* Mon May 24 2004 clahey@suse.de
- Updated to 2.6.2.
* Wed Mar 31 2004 mfabian@suse.de
- Bugzilla #37029: "strip --strip-debug" static libraries to save
  space on the CDs.
* Fri Jan 23 2004 uli@suse.de
- removed --disable-rpath; it is unnecessary and breaks the
  icu-config script
* Sat Jan 10 2004 adrian@suse.de
- add %%run_ldconfig
* Tue Sep 23 2003 mfabian@suse.de
- Bugzilla #31665: "SuSEconfig.icu is not lib64 clean" fixed.
* Mon Aug 18 2003 mfabian@suse.de
- update to 2.6.
* Mon Jun 16 2003 mfabian@suse.de
- fix "directory not owned by any package".
* Fri May 16 2003 mfabian@suse.de
- fix file list, remove CVS directories.
* Wed Sep 11 2002 mfabian@suse.de
- /usr/sbin/gencnval is now in /usr/bin/gencnval.
  Fix SuSEconfig.icu accordingly.
* Fri Aug 16 2002 mfabian@suse.de
- update to 2.2
* Sun Aug 11 2002 mfabian@suse.de
- add Provides: libicu17 to libicu21 subpackage
  (to trigger the selection of the new package during update.)
* Fri Aug  9 2002 mfabian@suse.de
- update to 2.1
* Tue Mar 12 2002 mfabian@suse.de
- use %%{_libdir}
* Tue Mar 12 2002 kukuk@suse.de
- Fix most wrong directories in filelist
* Mon Feb 11 2002 ro@suse.de
- tar option for bz2 is "j"
* Wed Mar  7 2001 mfabian@suse.de
- new package: icu 1.7
- package names as described in PACKAGING
openSUSE Build Service is sponsored by