Accepting request 236140 from home:scarabeus_iv

- 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

- Clean up with spec-cleaner and remove some obsolete provide/obsolete
- Use official download tarballs instead of repacks

OBS-URL: https://build.opensuse.org/request/show/236140
OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/icu?expand=0&rev=43
This commit is contained in:
Jan Engelhardt 2014-06-03 11:51:30 +00:00 committed by Git OBS Bridge
parent 8d00dba3dc
commit 19a13e1ea4
9 changed files with 130 additions and 114 deletions

View File

@ -1,4 +1,4 @@
libicu52_1
libicu53_1
libicu-devel
requires -libicu-<targettype>
requires "libicu52_1-<targettype> = <version>"
requires "libicu53_1-<targettype> = <version>"

View File

@ -14,9 +14,9 @@ E: icu bufferoverflowstrncat pkgdata.cpp:299:87
Index: icu/source/tools/pkgdata/pkgdata.cpp
===================================================================
--- icu.orig/source/tools/pkgdata/pkgdata.cpp
+++ icu/source/tools/pkgdata/pkgdata.cpp
@@ -1914,12 +1914,12 @@ static void loadLists(UPKGOptions *o, UE
--- icu.orig/source/tools/pkgdata/pkgdata.cpp 2014-06-03 13:07:41.342876943 +0200
+++ icu/source/tools/pkgdata/pkgdata.cpp 2014-06-03 13:08:45.537882879 +0200
@@ -2069,12 +2069,12 @@
const char cmd[] = "icu-config --incpkgdatafile";
/* #1 try the same path where pkgdata was called from. */
@ -27,7 +27,7 @@ Index: icu/source/tools/pkgdata/pkgdata.cpp
- uprv_strncat(cmdBuf, U_FILE_SEP_STRING, 1024);
+ uprv_strncat(cmdBuf, U_FILE_SEP_STRING, sizeof(cmdBuf)-1-strlen(cmdBuf));
}
- uprv_strncat(cmdBuf, cmd, 1024);
- uprv_strncat(cmdBuf, cmd, 1023);
+ uprv_strncat(cmdBuf, cmd, sizeof(cmdBuf)-1-strlen(cmdBuf));
if(verbose) {

View File

@ -104,8 +104,8 @@ Index: icu/source/common/unicode/uvernum.h
@@ -58,6 +58,7 @@
* @stable ICU 2.4
*/
#define U_ICU_VERSION_MAJOR_NUM 52
+#define U_ICU_VERSION_MAJOR_STR "52"
#define U_ICU_VERSION_MAJOR_NUM 53
+#define U_ICU_VERSION_MAJOR_STR "53"
/** The current ICU minor version as an integer.
* This value will change in the subsequent releases of ICU
@ -113,7 +113,7 @@ Index: icu/source/common/unicode/uvernum.h
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
-#define U_ICU_VERSION_SUFFIX _52
-#define U_ICU_VERSION_SUFFIX _53
+#define ___icu_version_expand(major, minor) _ ## major ## _ ## minor
+#define ___icu_version_glue(major, minor) ___icu_version_expand(major, minor)
+#define U_ICU_VERSION_SUFFIX ___icu_version_glue(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM)
@ -124,8 +124,8 @@ Index: icu/source/common/unicode/uvernum.h
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
-#define U_ICU_VERSION_SHORT "52"
+#define U_ICU_VERSION_SHORT "52_1"
-#define U_ICU_VERSION_SHORT "53"
+#define U_ICU_VERSION_SHORT "53_1"
#ifndef U_HIDE_INTERNAL_API
/** Data version in ICU4C.

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Tue Jun 3 11:35:25 UTC 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 11:00:20 UTC 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 12:04:42 UTC 2014 - schwab@suse.de

192
icu.spec
View File

@ -16,19 +16,17 @@
#
%define lname libicu53_1
%define aversion 53_1
Name: icu
%define lname libicu52_1
Version: 52.1
Version: 53.1
Release: 0
%define aversion 52_1
Summary: International Components for Unicode
License: MIT
Group: Development/Libraries/C and C++
Url: http://icu-project.org/
#DL-URL: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-src.tgz
Source: icu4c-%aversion-src.tar.xz
Source2: icu4c-%aversion-docs.tar.xz
Source: http://download.icu-project.org/files/icu4c/%version/icu4c-%{aversion}-src.tgz
Source2: http://download.icu-project.org/files/icu4c/%version/icu4c-%{aversion}-docs.zip
Source3: sanitize_docs.sh
Patch1: icu-rpmlint.diff
Patch2: icu-remove-datetime.patch
@ -37,7 +35,7 @@ Patch4: icu-fix-install-mode-files.diff
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: xz
BuildRequires: unzip
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -51,33 +49,28 @@ line, and sentence breaking, etc.
This subpackage contains the runtime programs for interacting with ICU.
%package -n %lname
%package -n %{lname}
Summary: International Components for Unicode
Group: System/Libraries
%ifarch ppc64
# bug437293
Obsoletes: libicu-64bit
%endif
Requires: libicu%{aversion}-data
Requires: timezone
Obsoletes: icu-i18ndata
# Following O/P added in timeframe for 12.2
Provides: libicu = %version-%release
Obsoletes: libicu < %version-%release
Requires: libicu%aversion-data
Provides: libicu = %{version}
Obsoletes: libicu < %{version}
%description -n %lname
%description -n %{lname}
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the runtime
libraries for ICU which include precompiled locale data.
%package -n libicu%aversion-data
%package -n libicu%{aversion}-data
Summary: International Components for Unicode
Group: System/Libraries
%if 0%{?suse_version} >= 1210
BuildArch: noarch
%endif
%description -n libicu%aversion-data
%description -n libicu%{aversion}-data
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the runtime
libraries for ICU which include precompiled locale data.
@ -88,11 +81,7 @@ most of the locale-specific information.
%package -n libicu-devel
Summary: International Components for Unicode (development files)
Group: Development/Libraries/C and C++
%ifarch ppc64
# bug437293
Obsoletes: libicu-devel-64bit
%endif
Requires: %lname = %version
Requires: %{lname} = %{version}
%description -n libicu-devel
ICU is a C++ and C library that provides robust and full-featured
@ -109,7 +98,7 @@ Unicode support. This package contains the html documentation.
%package data
Summary: International Components for Unicode (Sources for the Data in ICU)
Group: System/Libraries
Requires: %lname >= %version
Requires: %{lname} >= %{version}
%description data
ICU is a C++ and C library that provides robust and full-featured
@ -122,34 +111,42 @@ also all the table-based converters provided in the ICU distribution.
This package contains uncompiled source data.
%prep
%setup -qn icu -a2
%setup -q -n icu
# docs are special
mkdir html
cd html
unzip %{SOURCE2}
cd ..
%patch -P 1 -P 2 -P 3 -P 4 -p1
%build
cd source
export CXXFLAGS="%optflags -DICU_DATA_DIR=\\\"/usr/share/icu/%version/\\\""
export CXXFLAGS="%{optflags} -DICU_DATA_DIR=\\\"%{_datadir}/icu/%{version}/\\\""
export CFLAGS="$CXXFLAGS"
%configure --disable-static --enable-shared --disable-samples \
%configure \
--disable-static \
--enable-shared \
--disable-samples \
--with-data-packaging=archive
make %{?_smp_mflags}
make %{?_smp_mflags} VERBOSE=1
%install
b="%buildroot"
mkdir -p "$b/%_docdir/%name"
cp -a html "$b/%_docdir/%name/"
cp -a license.html readme.html "$b/%_docdir/%name/"
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 DESTDIR="$b";
make install DESTDIR="%{buildroot}"
#
# ICU's "pkgdata" utility is really fragile, so icu-versioning.diff
# does as few as possible, but that means we need some additional
# cleanup in the spec file now.
#
pushd "$b/%_libdir/"
pushd "%{buildroot}/%{_libdir}/"
for i in *.so.[0-9]*; do
echo "Looking at $i"
if [ "${i##*.so.}" != "%version" ]; then
@ -158,113 +155,114 @@ for i in *.so.[0-9]*; do
fi
# Because U_ICU_VERSION_SHORT is "51_2" and not "51.2",
# create some symlinks.
ln -s "$i" "${i%%%version}%aversion"
ln -s "$i" "${i%%%version}%{aversion}"
done
popd
# /usr/lib/rpm/elfdeps requires +x bit and not all had it at one point
chmod a+rx "$b/%_libdir"/lib*.so.*
chmod a+rx "%{buildroot}/%{_libdir}"/lib*.so.*
# install uncompiled source data:
mkdir -p "$b/%_datadir/icu/%version/unidata"
install -m 644 data/unidata/*.txt "$b/%_datadir/icu/%version/unidata"
ln -s unidata/UnicodeData.txt "$b/%_datadir/icu/%version/"
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 "$b/%_datadir/icu/%version/license.html"
rm "$b/%_datadir/icu/%version/install-sh"
rm "%{buildroot}/%{_datadir}/icu/%{version}/license.html"
rm "%{buildroot}/%{_datadir}/icu/%{version}/install-sh"
%fdupes %buildroot/%_prefix
%fdupes %{buildroot}/%{_prefix}
%check
#ln source/data/in/icudt51l.dat source/data/in/icudt%{version}l.dat
cd source
%if !0%{?qemu_user_space_build:1}
# Checks disabled in qemu because of races happening when we emulate
# multi-threaded programs, and some check tests atomic instructions in
# multi-threaded icu invocations
ICU_DATA="%buildroot/%_datadir/icu/%version" make check VERBOSE=1
ICU_DATA="%{buildroot}/%{_datadir}/icu/%{version}" make check %{?_smp_mflags} VERBOSE=1
%endif
# This should be run by whatever owns /usr/lib64/icu -
# the (main) package in this case
%post
if test -d "%_libdir/icu"; then
current=$(cd "%_libdir/icu/"; find [0-9]* -maxdepth 1 -type d -printf '%f\n' |
if test -d "%{_libdir}/icu"; then
current=$(cd "%{_libdir}/icu/"; find [0-9]* -maxdepth 1 -type d -printf '%f\n' |
sort -V | tail -n1);
if test -n "$current"; then
rm -f "%_libdir/icu/current";
ln -sv "$current" "%_libdir/icu/current";
rm -f "%{_libdir}/icu/current";
ln -sv "$current" "%{_libdir}/icu/current";
fi;
fi;
%postun
if test -d "%_libdir/icu"; then
current=$(cd "%_libdir/icu/"; find [0-9]* -maxdepth 1 -type d -printf '%f\n' |
if test -d "%{_libdir}/icu"; then
current=$(cd "%{_libdir}/icu/"; find [0-9]* -maxdepth 1 -type d -printf '%f\n' |
sort -V | tail -n1);
if test -n "$current"; then
rm -f "%_libdir/icu/current";
ln -sv "$current" "%_libdir/icu/current";
rm -f "%{_libdir}/icu/current";
ln -sv "$current" "%{_libdir}/icu/current";
fi;
fi;
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%dir %_libdir/icu
%dir %_libdir/icu/%version
%_libdir/icu/current
%_bindir/derb
%_bindir/gen*
%_bindir/icuinfo
%_bindir/makeconv
%_bindir/pkgdata
%_bindir/uconv
%_sbindir/*
%_mandir/man*/*
%dir %_docdir/%name/
%_docdir/%name/license.html
%_docdir/%name/readme.html
%dir %{_libdir}/icu
%dir %{_libdir}/icu/%{version}
%{_libdir}/icu/current
%{_bindir}/derb
%{_bindir}/gen*
%{_bindir}/icuinfo
%{_bindir}/makeconv
%{_bindir}/pkgdata
%{_bindir}/uconv
%{_sbindir}/*
%{_mandir}/man*/*
%dir %{_docdir}/%{name}/
%{_docdir}/%{name}/license.html
%{_docdir}/%{name}/readme.html
%files -n %lname
%files -n %{lname}
%defattr(-, root, root)
%_libdir/libicu*.so.*
%{_libdir}/libicu*.so.*
%files -n libicu%aversion-data
%files -n libicu%{aversion}-data
%defattr(-,root,root)
%dir %_datadir/icu
%dir %_datadir/icu/%version
%_datadir/icu/%version/icudt52[bl].dat
%dir %{_datadir}/icu
%dir %{_datadir}/icu/%{version}
%{_datadir}/icu/%{version}/icudt5*[bl].dat
%files -n libicu-devel
%defattr(-, root, root)
%_libdir/libicu*.so
%_includedir/unicode/
%_includedir/layout/
%dir %_libdir/icu/
%dir %_libdir/icu/%version/
%_libdir/icu/%version/Makefile.inc
%_libdir/icu/%version/pkgdata.inc
%_libdir/icu/Makefile.inc
%_libdir/icu/pkgdata.inc
%_libdir/pkgconfig/icu-*.pc
%_bindir/icu-config
%dir %_datadir/icu/
%dir %_datadir/icu/%version/
%_datadir/icu/%version/mkinstalldirs
%_datadir/icu/%version/config/
%{_libdir}/libicu*.so
%{_includedir}/unicode/
%{_includedir}/layout/
%dir %{_libdir}/icu/
%dir %{_libdir}/icu/%{version}/
%{_libdir}/icu/%{version}/Makefile.inc
%{_libdir}/icu/%{version}/pkgdata.inc
%{_libdir}/icu/Makefile.inc
%{_libdir}/icu/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
%defattr(-,root,root)
%dir %_docdir/%name/
%_docdir/%name/html/
%dir %{_docdir}/%{name}/
%{_docdir}/%{name}/html/
%files data
%defattr(-, root, root)
%dir %_datadir/icu/
%dir %_datadir/icu/%version/
%_datadir/icu/%version/unidata/
%_datadir/icu/%version/UnicodeData.txt
%dir %{_datadir}/icu/
%dir %{_datadir}/icu/%{version}/
%{_datadir}/icu/%{version}/unidata/
%{_datadir}/icu/%{version}/UnicodeData.txt
%changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f59c531ebd294c0c86a48ff4f4e92fa9b0b68697211816eda3ac65fb943ae73
size 1880120

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0aeb9126a08f3bfa2134927aa4e29e77a4151c66e36fa6e14ed979d6cd0d8da2
size 12895432

3
icu4c-53_1-docs.zip Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c700534d52b98615b4baffcf0502f37540604e67817625f05d6e2fbf98d0c0b
size 7943243

3
icu4c-53_1-src.tgz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6fa74fb5aac070c23eaba1711a7178fe582c59867484c5ec07c49002787a9a28
size 23218952