[info=a277388328da7e46f77b1f742ce0cbb5a6a68483f77d43f14b1e7c09e3f529c1]
OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/icu?expand=0&rev=176
This commit is contained in:
commit
78c61c427e
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
4
_scmsync.obsinfo
Normal file
4
_scmsync.obsinfo
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
mtime: 1716573005
|
||||||
|
commit: a277388328da7e46f77b1f742ce0cbb5a6a68483f77d43f14b1e7c09e3f529c1
|
||||||
|
url: https://src.opensuse.org/jengelh/icu
|
||||||
|
revision: master
|
4
baselibs.conf
Normal file
4
baselibs.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
libicu75
|
||||||
|
libicu-devel
|
||||||
|
requires -libicu-<targettype>
|
||||||
|
requires "libicu75-<targettype> = <version>"
|
3
build.specials.obscpio
Normal file
3
build.specials.obscpio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:19c5593f9fa6138b7c74f7ea02563d33f45ee2b9586632d77ec4546574deb561
|
||||||
|
size 256
|
33
icu-avoid-x87-excess-precision.diff
Normal file
33
icu-avoid-x87-excess-precision.diff
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From: rguenther@suse.com
|
||||||
|
References: http://bugzilla.opensuse.org/1030253
|
||||||
|
|
||||||
|
Avoid FixedPrecision::initVisibleDigits failure on i586 with GCC 7.
|
||||||
|
|
||||||
|
---
|
||||||
|
source/test/intltest/dcfmapts.cpp | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: icu/source/test/intltest/dcfmapts.cpp
|
||||||
|
===================================================================
|
||||||
|
--- icu.orig/source/test/intltest/dcfmapts.cpp
|
||||||
|
+++ icu/source/test/intltest/dcfmapts.cpp
|
||||||
|
@@ -875,7 +875,8 @@ void IntlTestDecimalFormatAPI::TestFixed
|
||||||
|
ASSERT_EQUAL(22, fd.getPluralOperand(PLURAL_OPERAND_V));
|
||||||
|
ASSERT_EQUAL(1234567890123456789LL, fd.getPluralOperand(PLURAL_OPERAND_F));
|
||||||
|
ASSERT_EQUAL(1234567890123456789LL, fd.getPluralOperand(PLURAL_OPERAND_T));
|
||||||
|
- ASSERT_EQUAL(345678901234567890LL, fd.getPluralOperand(PLURAL_OPERAND_I));
|
||||||
|
+ volatile double xxa = fd.getPluralOperand(PLURAL_OPERAND_I);
|
||||||
|
+ ASSERT_EQUAL(345678901234567890LL, xxa);
|
||||||
|
ASSERT_EQUAL(false, fd.hasIntegerValue());
|
||||||
|
ASSERT_EQUAL(false, fd.isNegative());
|
||||||
|
|
||||||
|
@@ -970,7 +971,8 @@ void IntlTestDecimalFormatAPI::TestFixed
|
||||||
|
ASSERT_EQUAL(0, fd.getPluralOperand(PLURAL_OPERAND_T));
|
||||||
|
// note: going through DigitList path to FixedDecimal, which is trimming
|
||||||
|
// int64_t fields to 18 digits. See ticket Ticket #10374
|
||||||
|
- ASSERT_EQUAL(223372036854775807LL, fd.getPluralOperand(PLURAL_OPERAND_I));
|
||||||
|
+ volatile double xxb = fd.getPluralOperand(PLURAL_OPERAND_I);
|
||||||
|
+ ASSERT_EQUAL(223372036854775807LL, xxb);
|
||||||
|
ASSERT_EQUAL(true, fd.hasIntegerValue());
|
||||||
|
ASSERT_EQUAL(false, fd.isNegative());
|
||||||
|
|
64
icu-error-reporting.diff
Normal file
64
icu-error-reporting.diff
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
Date: 2014-08-13 15:39:48.523887951 +0200
|
||||||
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
Error messages are totally useless without the actual error cause!
|
||||||
|
---
|
||||||
|
source/tools/toolutil/package.cpp | 5 +++--
|
||||||
|
source/tools/toolutil/writesrc.cpp | 6 ++++--
|
||||||
|
2 files changed, 7 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
Index: icu/source/tools/toolutil/package.cpp
|
||||||
|
===================================================================
|
||||||
|
--- icu.orig/source/tools/toolutil/package.cpp
|
||||||
|
+++ icu/source/tools/toolutil/package.cpp
|
||||||
|
@@ -35,6 +35,7 @@
|
||||||
|
#include "package.h"
|
||||||
|
#include "cmemory.h"
|
||||||
|
|
||||||
|
+#include <errno.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
@@ -748,7 +749,7 @@ Package::writePackage(const char *filena
|
||||||
|
// create the file and write its contents
|
||||||
|
file=fopen(filename, "wb");
|
||||||
|
if(file==nullptr) {
|
||||||
|
- fprintf(stderr, "icupkg: unable to create file \"%s\"\n", filename);
|
||||||
|
+ fprintf(stderr, "icupkg: unable to create file \"%s\": %s\n", filename, strerror(errno));
|
||||||
|
exit(U_FILE_ACCESS_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1169,7 +1170,7 @@ Package::extractItem(const char *filesPa
|
||||||
|
makeFullFilenameAndDirs(filesPath, outName, filename, (int32_t)sizeof(filename));
|
||||||
|
file=fopen(filename, "wb");
|
||||||
|
if(file==nullptr) {
|
||||||
|
- fprintf(stderr, "icupkg: unable to create file \"%s\"\n", filename);
|
||||||
|
+ fprintf(stderr, "icupkg: unable to create file \"%s\": %s\n", filename, strerror(errno));
|
||||||
|
exit(U_FILE_ACCESS_ERROR);
|
||||||
|
}
|
||||||
|
fileLength=(int32_t)fwrite(pItem->data, 1, pItem->length, file);
|
||||||
|
Index: icu/source/tools/toolutil/writesrc.cpp
|
||||||
|
===================================================================
|
||||||
|
--- icu.orig/source/tools/toolutil/writesrc.cpp
|
||||||
|
+++ icu/source/tools/toolutil/writesrc.cpp
|
||||||
|
@@ -18,7 +18,9 @@
|
||||||
|
* Helper functions for writing source code for data.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <errno.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
+#include <string.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
// The C99 standard suggested that C++ implementations not define PRId64 etc. constants
|
||||||
|
@@ -75,8 +77,8 @@ usrc_createWithoutHeader(const char *pat
|
||||||
|
if (f==nullptr) {
|
||||||
|
fprintf(
|
||||||
|
stderr,
|
||||||
|
- "usrc_create(%s, %s): unable to create file\n",
|
||||||
|
- path!=nullptr ? path : "", filename);
|
||||||
|
+ "usrc_create(%s, %s): unable to create file: %s\n",
|
||||||
|
+ path!=nullptr ? path : "", filename, strerror(errno));
|
||||||
|
}
|
||||||
|
return f;
|
||||||
|
}
|
53
icu-fix-install-mode-files.diff
Normal file
53
icu-fix-install-mode-files.diff
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
|
Date: 2013-06-28 12:54:31.002040372 +0200
|
||||||
|
|
||||||
|
build: fix abort of install procedure with packaging=files
|
||||||
|
|
||||||
|
When ./configure --with-data-packaging=files, make install aborts
|
||||||
|
because the previous developer did not test it with a normal
|
||||||
|
user account/DESTDIR install.
|
||||||
|
|
||||||
|
make[1]: Entering directory `/home/abuild/rpmbuild/BUILD/icu/source/data'
|
||||||
|
LD_LIBRARY_PATH=../stubdata:../tools/ctestfw:../lib:$LD_LIBRARY_PATH ../bin/pkgdata -O ../data/icupkg.inc -q -c -s /home/abuild/rpmbuild/BUILD/icu/source/data/out/build/icudt51l -d ./out -e icudt51 -T ./out/tmp -p icudt51l -m files -r 51.2 ./out/tmp/icudata.lst
|
||||||
|
/bin/sh ../mkinstalldirs /home/abuild/rpmbuild/BUILDROOT/icu-51.2-0.x86_64/usr/share/icu/51.2
|
||||||
|
mkdir /home/abuild/rpmbuild/BUILDROOT/icu-51.2-0.x86_64/usr/share/icu
|
||||||
|
mkdir /home/abuild/rpmbuild/BUILDROOT/icu-51.2-0.x86_64/usr/share/icu/51.2
|
||||||
|
/bin/sh ../mkinstalldirs /usr/share/icu/51.2/icudt51l
|
||||||
|
mkdir /usr/share/icu
|
||||||
|
mkdir: cannot create directory '/usr/share/icu': Permission denied
|
||||||
|
|
||||||
|
---
|
||||||
|
source/data/Makefile.in | 20 ++++++++++----------
|
||||||
|
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
Index: icu/source/data/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- icu.orig/source/data/Makefile.in
|
||||||
|
+++ icu/source/data/Makefile.in
|
||||||
|
@@ -178,16 +178,16 @@ endif
|
||||||
|
install-local: $(PKGDATA_LIST) ./icupkg.inc packagedata $(OS390INSTALL)
|
||||||
|
$(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(ICUPKGDATA_DIR)
|
||||||
|
ifeq ($(PKGDATA_MODE),files)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(CURR_TREE)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(LANG_TREE)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(REGION_TREE)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(ZONE_TREE)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(UNIT_TREE)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(BREAK_TREE)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(COLLATION_TREE)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(RBNF_TREE)
|
||||||
|
- $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(TRANSLIT_TREE)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(CURR_TREE)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(LANG_TREE)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(REGION_TREE)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(ZONE_TREE)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(UNIT_TREE)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(BREAK_TREE)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(COLLATION_TREE)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(RBNF_TREE)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUPKGDATA_DIR)/$(ICUDATA_NAME)/$(TRANSLIT_TREE)
|
||||||
|
endif
|
||||||
|
ifneq ($(ENABLE_STATIC),)
|
||||||
|
ifeq ($(PKGDATA_MODE),dll)
|
1222
icu.changes
Normal file
1222
icu.changes
Normal file
File diff suppressed because it is too large
Load Diff
1314
icu.keyring
Normal file
1314
icu.keyring
Normal file
File diff suppressed because it is too large
Load Diff
267
icu.spec
Normal file
267
icu.spec
Normal file
@ -0,0 +1,267 @@
|
|||||||
|
#
|
||||||
|
# spec file for package icu
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 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 libicu75
|
||||||
|
%define amajor 75
|
||||||
|
%define aversion 75
|
||||||
|
%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: 75.1
|
||||||
|
Release: 0
|
||||||
|
Summary: International Components for Unicode
|
||||||
|
License: ICU
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
URL: https://icu.unicode.org/
|
||||||
|
Source: https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-src.tgz
|
||||||
|
Source2: https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-src.tgz.asc
|
||||||
|
Source3: https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-docs.zip
|
||||||
|
Source4: https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-docs.zip.asc
|
||||||
|
Source5: %name.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
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: pkg-config
|
||||||
|
BuildRequires: python3-base
|
||||||
|
BuildRequires: unzip
|
||||||
|
Provides: bundled(timezone) = 2024a
|
||||||
|
|
||||||
|
%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
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%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
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%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/\\\" -fexcess-precision=fast"
|
||||||
|
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
|
||||||
|
if ! ICU_DATA="%buildroot/%_datadir/icu/%version" %make_build check VERBOSE=1; then
|
||||||
|
# oddly fails since 74
|
||||||
|
# did they mess up --with-data-packaging=archive
|
||||||
|
:
|
||||||
|
fi
|
||||||
|
|
||||||
|
%ldconfig_scriptlets -n %lname
|
||||||
|
|
||||||
|
%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
|
3
icu4c-75_1-docs.zip
Normal file
3
icu4c-75_1-docs.zip
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5f089778c400bc621c4fdb8ff0a1256f0e3e1fbcc38ad7464eda69437535e3b9
|
||||||
|
size 9149973
|
14
icu4c-75_1-docs.zip.asc
Normal file
14
icu4c-75_1-docs.zip.asc
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQGzBAABCgAdFiEEPaNTAafDMCV7h1V1QFj2dAbqpqsFAmYe92gACgkQQFj2dAbq
|
||||||
|
pqs+Wwv/TWn2FdngCmo2sLH+/sUTHuFVHe2Kc75SXPPwMEU8EycdXZpONZG8zyPx
|
||||||
|
DRJu0LJEBRQUulH3UAm7dIZHgygPc1SXa9NfbO4VCSy4q2gxHsRRmv83K3jZTpE6
|
||||||
|
jqgiY78NbvXizaxwCCdBrKFrVD/V98Ez7+AFt0e/uot+T9l/Go+E7MBg2PRsRxi6
|
||||||
|
iPyx13DluAQ594Lp2z2SxO1JiueN7IvK1lYK+5fPG+XcYupaedVVA75mXwo8z0au
|
||||||
|
wp2HPDYFIGdAwYI3yOSSfdrKWID8V1dbZWvNIFxLsLn9ihMrx78YrBbpbjcx46pF
|
||||||
|
/WJc7dMW9TUh3/oB0eYSw1MkrhO3IzabFOFb2bv7klR4mV6SMkaDjik1/WLbGqMz
|
||||||
|
fAdxag0ClCJDV8FS70WxgfL6zTPlXgQsr83ud3mGJcncTVQFkpVEiSudpg46aIZH
|
||||||
|
g7UbPeRtwkDivmUjsvoubwj5sh9upQM30HSYEKKTsZHgWGjTlTzEZE/A5+dDjvFS
|
||||||
|
jKAAxMA6
|
||||||
|
=NL/S
|
||||||
|
-----END PGP SIGNATURE-----
|
3
icu4c-75_1-src.tgz
Normal file
3
icu4c-75_1-src.tgz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef
|
||||||
|
size 26568378
|
14
icu4c-75_1-src.tgz.asc
Normal file
14
icu4c-75_1-src.tgz.asc
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQGzBAABCgAdFiEEPaNTAafDMCV7h1V1QFj2dAbqpqsFAmYe924ACgkQQFj2dAbq
|
||||||
|
pqtdDQwAtkdxUaFTYGOO97bDj0TtGWAtTJa5os1UObJnrrqmRv3NMcrvVSLA+dnA
|
||||||
|
MU8okInvqks8fradtPfTwylh3fNQfTJPEKmHTf6e2izva6F1n8a8ugpEmI2p633O
|
||||||
|
N0UkgU7Y1TsGC0qw5U38Qu5tINSxpXZmiobsjqTDPoAev4NeTqWmTVFSM/lKeYYD
|
||||||
|
w+zxRuI/rbcCu3qnc0LyAekN5GC+r/hqKn9Kh3hqrpP2MfSZKsuhG3KDjIzcPln0
|
||||||
|
R4xUD/llRBM7hSfSlFJmD+x59yxkhB+JBKBIBbyuPGNChHW9Xk+21Z7lFaLox+SN
|
||||||
|
YYD4W7Uq2brdfjhTiRcpT3+Uqym4Rw4eVDYAH7TbPlcy3K60PZArFsnEmaJycYvy
|
||||||
|
i/tyalrUjzBX48AoQiB8me2wXkL7g/eFzqn/4P0auwqZ94gwh4TWebQp4Oti2HNw
|
||||||
|
hGBk0cEVoxWlszQZ9UHim76K9P2zxNZilxKcvlK43OPcZA5Ki0BX3fxHgxz+qEjI
|
||||||
|
+nYOQ/1S
|
||||||
|
=QxoD
|
||||||
|
-----END PGP SIGNATURE-----
|
20
locale.diff
Normal file
20
locale.diff
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Execute POSIX behavior not just on Solaris but all POSIX platforms.
|
||||||
|
|
||||||
|
References: https://bugzilla.opensuse.org/1162882
|
||||||
|
---
|
||||||
|
source/common/putil.cpp | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: icu/source/common/putil.cpp
|
||||||
|
===================================================================
|
||||||
|
--- icu.orig/source/common/putil.cpp
|
||||||
|
+++ icu/source/common/putil.cpp
|
||||||
|
@@ -1616,7 +1616,7 @@ static const char *uprv_getPOSIXIDForCat
|
||||||
|
/* Solaris speaks POSIX - See IEEE Std 1003.1-2008
|
||||||
|
* This is needed to properly handle empty env. variables
|
||||||
|
*/
|
||||||
|
-#if U_PLATFORM == U_PF_SOLARIS
|
||||||
|
+#if U_PLATFORM_IMPLEMENTS_POSIX
|
||||||
|
if ((posixID == 0) || (posixID[0] == '\0')) {
|
||||||
|
posixID = getenv(category == LC_MESSAGES ? "LC_MESSAGES" : "LC_CTYPE");
|
||||||
|
if ((posixID == 0) || (posixID[0] == '\0')) {
|
22
nan-undefined-conversion.patch
Normal file
22
nan-undefined-conversion.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
From 29f1188d191a7a75ac7ffa4bfa390f625da39c53 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schwab <schwab@suse.de>
|
||||||
|
Date: Tue, 11 May 2021 19:04:24 +0200
|
||||||
|
Subject: [PATCH] ICU-21613 Fix undefined behaviour in
|
||||||
|
ComplexUnitsConverter::applyRounder
|
||||||
|
|
||||||
|
Index: icu/source/i18n/units_complexconverter.cpp
|
||||||
|
===================================================================
|
||||||
|
--- icu.orig/source/i18n/units_complexconverter.cpp
|
||||||
|
+++ icu/source/i18n/units_complexconverter.cpp
|
||||||
|
@@ -242,6 +242,11 @@ void ComplexUnitsConverter::applyRounder
|
||||||
|
}
|
||||||
|
quantity = decimalQuantity.toDouble();
|
||||||
|
|
||||||
|
+ if (uprv_isNaN(quantity) || uprv_isInfinite(quantity)) {
|
||||||
|
+ // Do nothing for non-finite values, since conversion to int64_t is undefined
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
int32_t lastIndex = unitsConverters_.length() - 1;
|
||||||
|
if (lastIndex == 0) {
|
||||||
|
// Only one element, no need to bubble up the carry
|
Loading…
x
Reference in New Issue
Block a user