diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..0c0ec986dda859915062c097d1c6a46f6831a682 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.tgz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text diff --git a/.lfsconfig b/.lfsconfig new file mode 100644 index 0000000000000000000000000000000000000000..adbc0fe0a185bab58ce666697a1b07b02e825b3a --- /dev/null +++ b/.lfsconfig @@ -0,0 +1,2 @@ +[lfs] + url = https://artlfs.openeuler.openatom.cn/src-openEuler/icu diff --git a/0001-add-support-loongarch64.patch b/0001-add-support-loongarch64.patch deleted file mode 100644 index 52031c5c9b27a685b3cb13f7bd183b693893f487..0000000000000000000000000000000000000000 --- a/0001-add-support-loongarch64.patch +++ /dev/null @@ -1,27 +0,0 @@ -From beefaa392eaf51355f9a3806a004c762d1ce17fa Mon Sep 17 00:00:00 2001 -From: Jingyun Hua -Date: Fri, 18 Nov 2022 09:00:58 +0000 -Subject: [PATCH] add support loongarch64 - -Signed-off-by: Jingyun Hua ---- - source/i18n/double-conversion-utils.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/source/i18n/double-conversion-utils.h b/source/i18n/double-conversion-utils.h -index 303668f..77f5ded 100644 ---- a/source/i18n/double-conversion-utils.h -+++ b/source/i18n/double-conversion-utils.h -@@ -160,7 +160,8 @@ int main(int argc, char** argv) { - defined(__riscv) || defined(__e2k__) || \ - defined(__or1k__) || defined(__arc__) || defined(__ARC64__) || \ - defined(__microblaze__) || defined(__XTENSA__) || \ -- defined(__EMSCRIPTEN__) || defined(__wasm32__) -+ defined(__EMSCRIPTEN__) || defined(__wasm32__) || \ -+ defined(__loongarch__) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(__mc68000__) || \ - defined(__pnacl__) || defined(__native_client__) --- -2.33.0 - diff --git a/backport-remove-TestJitterbug6175.patch b/backport-remove-TestJitterbug6175.patch index 8e14442dbb850c41472721e7ed2564a52c91fb7c..1d286db3dfee4d74724052628d52a48c7e6098af 100644 --- a/backport-remove-TestJitterbug6175.patch +++ b/backport-remove-TestJitterbug6175.patch @@ -105,7 +105,7 @@ index 73e0fde..1f96ded 100644 -} - static void - TestEBCDIC_STATEFUL() { + TestEBCDIC_STATEFUL(void) { /* test input */ -- 2.33.0 diff --git a/delete-taboo-words.patch b/delete-taboo-words.patch deleted file mode 100644 index c25aeee948669c229ea8f57ba38e4456efff20e6..0000000000000000000000000000000000000000 --- a/delete-taboo-words.patch +++ /dev/null @@ -1,117 +0,0 @@ -From c8daa564361cb7648def8bfa3ee9133c9b110230 Mon Sep 17 00:00:00 2001 -From: wuchaochao -Date: Sat, 4 Jun 2022 18:54:52 +0800 -Subject: [PATCH] delete-taboo-words.patch - ---- - source/data/in/icudt74l.dat | Bin 30783664 -> 30783664 bytes - source/test/testdata/metaZones.txt | 10 +++++----- - source/test/testdata/structLocale.txt | 2 +- - 3 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/source/data/in/icudt74l.dat b/source/data/in/icudt74l.dat -index 6e7cf8e2c83f93b028fc66a9e0a6b16f7a211eee..6d975b4bce0ee187e15cfbdb9ac915191f2f30cd 100644 -GIT binary patch -delta 1561 -zcmYk*Rag~h7)9advoTP??n3PL*xiYR-GG7tb_eKE0e?MqD<(E#7mCQ3Jl%*WysX#?45kO@EsX|q%QJospq!zWQLtW}op9VC!;xI=zN)pFN<~S!f$tg~A -zhO?aGJQuh~3YWM{DpyG3D%ZHq4Q_Ia+uR|YyWHbG4|vEU9`l5!JmWbpc!M{2i??~n -zJG{$#yiW!n@F5@ZF`w`$pYb_g@FidIHQ(?p-|;=K_<k2`VcztN0L!GZ -z2ozOBRZ&e;7d1ppQA^YobwpiJPt+F;L_^^bjYMP7L^Ku6M03$Xv=psGYtcru741ZO -z(Lr<+okVBRMRXP2M0e3c^b|p&m*_3}h`yqq2p0Xt05MPu5`)DMF;ol_!^H?OQj8L# -zMTiI$VPcFJE5b#D7$?Sy31Xs%6j5T5m@KA=e7iZm~z~75hY@*e?!O*;Ax?@@;a#Epc1i5$WQtxM!&`p8Mwi^1n`kI`Q5> -ZzXz7dL-9yF7Ei=e@yt>K{hnJ~;%ob#{Ote$ - -delta 1561 -zcmYk*Rag~h7)9advoTP??n3PL*qzvgT?i@|V0VBn74X+%w_;)=cAhfevXPw}iSiwrX -ztYS55Sj#%rvw@9lVl!LV$~LyMg9LW6i{0#DFZ)PjKL@KzxbPf -z_&3&^nag4>tGR6EvYX3cE~mL%=6uZMHkZd-UUT`(`I^gbu7J6M=KRe0n=53lu(=}U -zikd5CuDH1p=1Q6?Wv;ZjGUm#fD`&2}xeDegnyX|f0hX5G6BHR16&fB98RAXP2(U~l -zi$GCDR29`kbx}jq6tzTcQAgAj^+bKqKr|E{(MU8FO+-`COf(lQL`%_1v=(hdThUIm -z7ac@L(Mfa`L86Q3D!Pg8qKD`ydWqhmkLWA?#KND(C_iOFJ$m@1};>0*YMDQ1b;Vvd+A=85@YfmkS_ -zMT}S^77N4@u~aM*u_8{yi{-+J6=J3EidAB@SR>Yobz;5PAU29kVzbyHwu)_HyVxNT -z#7?nG>=t{(Ua?Okiv8k%I4BN@!{UfIDw4!8kt~jj6XK*eB~FVo;;c9)&Wj7;qDT>! -z#AT5xu2^b%Mw%rB|L+_zo~!1K@mv$v#SL*&+!D9N9g!~XihGtC +Date: Fri, 18 Nov 2022 02:53:10 +0800 +Subject: [PATCH] Add sw64 architecture + +Signed-off-by: wuzx +--- + source/acinclude.m4 | 6 ++ + source/config.guess | 8 +++ + source/config.sub | 2 + + source/config/mh-sw_64-linux-cc | 87 +++++++++++++++++++++++++++ + source/config/mh-sw_64-linux-gcc | 85 ++++++++++++++++++++++++++ + source/configure | 8 ++- + source/configure.ac | 2 +- + source/i18n/double-conversion-utils.h | 2 +- + 8 files changed, 197 insertions(+), 3 deletions(-) + create mode 100644 source/config/mh-sw_64-linux-cc + create mode 100644 source/config/mh-sw_64-linux-gcc + +diff --git a/source/acinclude.m4 b/source/acinclude.m4 +index 507f41f..381a91f 100644 +--- a/source/acinclude.m4 ++++ b/source/acinclude.m4 +@@ -21,6 +21,12 @@ case "${host}" in + else + icu_cv_host_frag=mh-solaris + fi ;; ++sw_64*-*-linux-gnu) ++ if test "$GCC" = yes; then ++ icu_cv_host_frag=mh-sw_64-linux-gcc ++ else ++ icu_cv_host_frag=mh-sw_64-linux-cc ++ fi ;; + alpha*-*-linux-gnu) + if test "$GCC" = yes; then + icu_cv_host_frag=mh-alpha-linux-gcc +diff --git a/source/config.guess b/source/config.guess +index 31e01ef..1dfe5d5 100644 +--- a/source/config.guess ++++ b/source/config.guess +@@ -894,6 +894,14 @@ EOF + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; ++ sw_64:Linux:*:*) ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ SW) UNAME_MACHINE=sw_64 ;; ++ esac ++ objdump --private-headers /bin/sh | grep -q ld.so.1 ++ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi ++ echo ${UNAME_MACHINE}-sunway-linux-${LIBC} ++ exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; +diff --git a/source/config.sub b/source/config.sub +index fb57947..07dc65e 100644 +--- a/source/config.sub ++++ b/source/config.sub +@@ -244,6 +244,7 @@ case $basic_machine in + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ ++ | sw_64 \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ +@@ -368,6 +369,7 @@ case $basic_machine in + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ ++ | sw_64-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ +diff --git a/source/config/mh-sw_64-linux-cc b/source/config/mh-sw_64-linux-cc +new file mode 100644 +index 0000000..f27259a +--- /dev/null ++++ b/source/config/mh-sw_64-linux-cc +@@ -0,0 +1,87 @@ ++## -*-makefile-*- ++## Copyright (C) 2016 and later: Unicode, Inc. and others. ++## License & terms of use: http://www.unicode.org/copyright.html ++## Sw-64-Linux-specific setup ++## Copyright (c) 1999-2006, International Business Machines Corporation and ++## others. All Rights Reserved. ++ ++## Commands to generate dependency files ++#GEN_DEPS.c= $(CC) $(DEFS) $(CPPFLAGS) -MD -c -msg_quiet ++#GEN_DEPS.cc= $(CXX) $(DEFS) $(CPPFLAGS) -D__USE_STD_IOSTREAM -c -MD -msg_quiet ++ ++## Flags for position independent code ++SHAREDLIBCFLAGS = -fPIC ++SHAREDLIBCXXFLAGS = -fPIC ++SHAREDLIBCPPFLAGS = -DPIC ++ ++## Additional flags when building libraries and with threads ++THREADSCPPFLAGS = -D_REENTRANT ++LIBCPPFLAGS = ++ ++# The tests need complete IEEE floating point support ++CFLAGS += -ieee ++CXXFLAGS += -ieee ++ ++## Commands to compile ++COMPILE.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c -signed -accept nogccinline ++COMPILE.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -c -signed -D__USE_STD_IOSTREAM -accept nogcc_inline ++ ++ ++## Commands to link ++LINK.c= $(CC) -call_shared $(CFLAGS) $(LDFLAGS) ++LINK.cc= $(CXX) -call_shared $(CXXFLAGS) $(LDFLAGS) ++ ++## Compiler switch to embed a runtime search path ++LD_RPATH= ++LD_RPATH_PRE= -Wl,-rpath, ++ ++## Compiler switch to embed a library name ++LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) ++ ++## Shared object suffix ++SO = so ++## Non-shared intermediate object suffix ++STATIC_O = ao ++ ++## Compilation rules ++%.$(STATIC_O): $(srcdir)/%.c ++ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< ++%.o: $(srcdir)/%.c ++ $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< ++ ++%.$(STATIC_O): $(srcdir)/%.cpp ++ $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< ++%.o: $(srcdir)/%.cpp ++ $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< ++ ++ ++## Dependency rules ++#%.d: $(srcdir)/%.c ++# @echo "generating dependency information for $<" ++# @$(SHELL) -ec '$(GEN_DEPS.c) $< \ ++# | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ ++# [ -s $@ ] || rm -f $@' ++ ++#%.d: $(srcdir)/%.cpp ++# @echo "generating dependency information for $<" ++# @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ ++# | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ ++# [ -s $@ ] || rm -f $@' ++# ++## Versioned libraries rules ++ ++%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) ++ $(RM) $@ && ln -s ${ $@; \ ++ [ -s $@ ] || rm -f $@' ++ ++%.d: $(srcdir)/%.cpp ++ @echo "generating dependency information for $<" ++ @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ ++ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ ++ [ -s $@ ] || rm -f $@' ++ ++## Versioned libraries rules ++ ++%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) ++ $(RM) $@ && ln -s ${&5 + $as_echo "\"C compiler set to CCC ${CC}\" " >&6; } + case "${host}" in +- alpha*-*-*) U_HAVE_INTTYPES_H=0; ++ alpha*-*-* | sw_64*-*-*) U_HAVE_INTTYPES_H=0; + CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INTTYPES_H=0" + esac + fi +diff --git a/source/configure.ac b/source/configure.ac +index 425fdc7..6acf133 100644 +--- a/source/configure.ac ++++ b/source/configure.ac +@@ -685,7 +685,7 @@ fi + if test "$CC" = ccc; then + AC_MSG_RESULT("C compiler set to CCC ${CC}" ) + case "${host}" in +- alpha*-*-*) U_HAVE_INTTYPES_H=0; ++ alpha*-*-* | sw_64*-*-*) U_HAVE_INTTYPES_H=0; + CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INTTYPES_H=0" + esac + fi +diff --git a/source/i18n/double-conversion-utils.h b/source/i18n/double-conversion-utils.h +index c937463..7dcdbf8 100644 +--- a/source/i18n/double-conversion-utils.h ++++ b/source/i18n/double-conversion-utils.h +@@ -122,7 +122,7 @@ int main(int argc, char** argv) { + defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ + defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ +- defined(__SH4__) || defined(__alpha__) || \ ++ defined(__SH4__) || defined(__alpha__) || defined(__sw_64__) || \ + defined(_MIPS_ARCH_MIPS32R2) || defined(__ARMEB__) ||\ + defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ + defined(__riscv) || defined(__e2k__) || \ +-- +2.33.0 + diff --git a/icu-Add-sw64-architecture.patch b/icu-Add-sw64-architecture.patch index d9f639b37e9050360bfeec1afc4494f5e34c14bc..756f78b3844ff6cbbeeb397fb8712e7a473acfcd 100644 --- a/icu-Add-sw64-architecture.patch +++ b/icu-Add-sw64-architecture.patch @@ -7,13 +7,11 @@ Signed-off-by: wuzx --- source/acinclude.m4 | 6 ++ source/config.guess | 8 +++ - source/config.sub | 2 + + source/config.sub | 1 + source/config/mh-sw_64-linux-cc | 87 +++++++++++++++++++++++++++ source/config/mh-sw_64-linux-gcc | 85 ++++++++++++++++++++++++++ - source/configure | 8 ++- - source/configure.ac | 2 +- source/i18n/double-conversion-utils.h | 2 +- - 8 files changed, 197 insertions(+), 3 deletions(-) + 6 files changed, 197 insertions(+), 3 deletions(-) create mode 100644 source/config/mh-sw_64-linux-cc create mode 100644 source/config/mh-sw_64-linux-gcc @@ -38,41 +36,33 @@ diff --git a/source/config.guess b/source/config.guess index 31e01ef..1dfe5d5 100644 --- a/source/config.guess +++ b/source/config.guess -@@ -894,6 +894,14 @@ EOF +@@ -1010,6 +1010,14 @@ UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sw_64:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + SW) UNAME_MACHINE=sw_64 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi -+ echo ${UNAME_MACHINE}-sunway-linux-${LIBC} -+ exit ;; ++ GUESS=${UNAME_MACHINE}-sunway-linux-${LIBC} ++ ;; alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; diff --git a/source/config.sub b/source/config.sub index fb57947..07dc65e 100644 --- a/source/config.sub +++ b/source/config.sub -@@ -244,6 +244,7 @@ case $basic_machine in - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ -+ | sw_64 \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ -@@ -368,6 +369,7 @@ case $basic_machine in - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ -+ | sw_64-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ +@@ -1250,6 +1250,7 @@ + | 580 \ + | [cjt]90 \ + | a29k \ ++ | sw_64 \ + | aarch64 \ + | aarch64_be \ + | aarch64c \ diff --git a/source/config/mh-sw_64-linux-cc b/source/config/mh-sw_64-linux-cc new file mode 100644 index 0000000..f27259a @@ -257,45 +247,6 @@ index 0000000..a3531d2 + +## End Linux-specific setup + -diff --git a/source/configure b/source/configure -index a2ff7e4..a190250 100755 ---- a/source/configure -+++ b/source/configure -@@ -5249,6 +5249,12 @@ case "${host}" in - else - icu_cv_host_frag=mh-solaris - fi ;; -+sw_64*-*-linux-gnu) -+ if test "$GCC" = yes; then -+ icu_cv_host_frag=mh-sw_64-linux-gcc -+ else -+ icu_cv_host_frag=mh-sw_64-linux-cc -+ fi ;; - alpha*-*-linux-gnu) - if test "$GCC" = yes; then - icu_cv_host_frag=mh-alpha-linux-gcc -@@ -6511,7 +6517,7 @@ if test "$CC" = ccc; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"C compiler set to CCC ${CC}\" " >&5 - $as_echo "\"C compiler set to CCC ${CC}\" " >&6; } - case "${host}" in -- alpha*-*-*) U_HAVE_INTTYPES_H=0; -+ alpha*-*-* | sw_64*-*-*) U_HAVE_INTTYPES_H=0; - CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INTTYPES_H=0" - esac - fi -diff --git a/source/configure.ac b/source/configure.ac -index 425fdc7..6acf133 100644 ---- a/source/configure.ac -+++ b/source/configure.ac -@@ -685,7 +685,7 @@ fi - if test "$CC" = ccc; then - AC_MSG_RESULT("C compiler set to CCC ${CC}" ) - case "${host}" in -- alpha*-*-*) U_HAVE_INTTYPES_H=0; -+ alpha*-*-* | sw_64*-*-*) U_HAVE_INTTYPES_H=0; - CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INTTYPES_H=0" - esac - fi diff --git a/source/i18n/double-conversion-utils.h b/source/i18n/double-conversion-utils.h index c937463..7dcdbf8 100644 --- a/source/i18n/double-conversion-utils.h diff --git a/icu.spec b/icu.spec index f459f6bcaebafaecb79731ad17ed4da238ff1d4c..607d9c8866503b045373ae83ee553989e3d3bd92 100644 --- a/icu.spec +++ b/icu.spec @@ -1,25 +1,39 @@ +%bcond_without build_compat + +%if %{with build_compat} +%define compat_version 74.1 +%define compat_tarballver %(echo %compat_version|tr '.' '_') +%define compat_dashver %(echo %compat_version|tr '.' '-') +%endif + +%define tarballver %(echo %version|tr '.' '_') +%define dashver %(echo %version|tr '.' '-') + Name: icu -Version: 74.1 -Release: 2 +Version: 76.1 +Release: 1 Summary: International Components for Unicode -License: MIT and UCD and Public Domain -URL: http://site.icu-project.org/ -Source0: https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz -Source1: icu-config.sh +License: Unicode-DFS-2016 AND BSD-2-Clause AND BSD-3-Clause AND Public Domain +URL: https://icu.unicode.org/ +Source0: https://github.com/unicode-org/icu/releases/download/release-%{dashver}/icu4c-%{tarballver}-src.tgz +Source1: https://github.com/unicode-org/icu/releases/download/release-%{dashver}/icu4c-%{tarballver}-data.zip +Source2: icu-config.sh +%if %{with build_compat} +Source10: https://github.com/unicode-org/icu/releases/download/release-%{compat_dashver}/icu4c-%{compat_tarballver}-src.tgz +%endif -BuildRequires: gcc gcc-c++ doxygen autoconf python3 git +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: autoconf >= 2.72 +BuildRequires: doxygen +BuildRequires: python3 Requires: lib%{name} = %{version}-%{release} Patch1: gennorm2-man.patch Patch2: icuinfo-man.patch Patch3: backport-remove-TestJitterbug6175.patch -%ifarch loongarch -Patch4: 0001-add-support-loongarch64.patch -%endif -%ifarch sw_64 -Patch5: icu-Add-sw64-architecture.patch -%endif -Patch9000: delete-taboo-words.patch +Patch4: icu-Add-sw64-architecture.patch +Patch10: icu-Add-sw64-architecture-compat.patch %description Tools and utilities for developing with icu. @@ -29,10 +43,11 @@ Summary: libs package for icu %description -n libicu libs package for icu -e + %package -n libicu-devel Summary: header files for libicu -Requires: libicu = %{version}-%{release} pkgconfig +Requires: libicu = %{version}-%{release} +Provides: %{name}-devel = %{version}-%{release} %description -n libicu-devel header files for libicu @@ -43,7 +58,21 @@ header files for libicu # " this line just fixes syntax highlighting for vim that is confused by the above and continues literal %prep -%autosetup -n %{name} -p1 -S git +%setup -qn %{name} +%autopatch -p1 -M9 + +pushd source +rm -fr data +%{__rpmuncompress} -x %{S:1} +grep -rl 'Indochina' . | xargs sed -i "s/Indochina/Ondochine/g" +popd + +%if %{with build_compat} +%{__rpmuncompress} -x %{S:10} +pushd icu +%autopatch -m10 -p1 +popd +%endif %build pushd source @@ -68,37 +97,57 @@ test -f uconfig.h.prepend && sed -e '/^#define __UCONFIG_H__/ r uconfig.h.prepen sed -i -r 's|(PKGDATA_OPTS = )|\1-v |' data/Makefile -make %{?_smp_mflags} VERBOSE=1 -make %{?_smp_mflags} doc +%make_build +%make_build doc +popd +%if %{with build_compat} +pushd icu/source +autoconf +%configure --with-data-packaging=library --disable-samples --disable-tests +sed -i 's|-nodefaultlibs -nostdlib||' config/mh-linux +sed -i 's| \$(docfilesdir)/installdox||' Makefile +sed -i '/^\s\+\$(INSTALL_DATA) \$(docsrchfiles) \$(DESTDIR)\$(docdir)\/\$(docsubsrchdir)\s*$/d' Makefile +test -f uconfig.h.prepend && sed -e '/^#define __UCONFIG_H__/ r uconfig.h.prepend' -i common/unicode/uconfig.h + +sed -i -r 's|(PKGDATA_OPTS = )|\1-v |' data/Makefile + +%make_build +popd +%endif %install -rm -rf $RPM_BUILD_ROOT source/__docs -make %{?_smp_mflags} -C source install DESTDIR=$RPM_BUILD_ROOT -make %{?_smp_mflags} -C source install-doc docdir=__docs -chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so.* +rm -rf source/__docs +%make_install -C source + +rm -f %{buildroot}%{_datadir}/icu/%{version}/LICENSE + +make -C source install-doc docdir=__docs +chmod +x %{buildroot}%{_libdir}/*.so.* ( - cd $RPM_BUILD_ROOT%{_bindir} + cd %{buildroot}%{_bindir} mv icu-config icu-config-%{__isa_bits} ) -install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/icu-config +install -p -m755 -D %{S:2} %{buildroot}%{_bindir}/icu-config + +%if %{with build_compat} +pushd icu/source +install -p -m755 lib/*.so.* %{buildroot}%{_libdir}/ +popd +%endif %check if grep -q @VERSION@ source/tools/*/*.8 source/tools/*/*.1 source/config/*.1; then exit 1 fi -make %{?_smp_mflags} -C source check - +%make_build -C source check pushd source LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l - -%ldconfig_scriptlets libicu +popd %files -%defattr(-,root,root) %license license.html LICENSE -%exclude %{_datadir}/%{name}/*/LICENSE %{_bindir}/derb %{_bindir}/gen* %{_bindir}/makeconv @@ -108,12 +157,10 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l %{_sbindir}/* %files -n libicu -%defattr(-,root,root) %license license.html LICENSE %{_libdir}/*.so.* %files -n libicu-devel -%defattr(-,root,root) %{_bindir}/%{name}-config* %{_bindir}/icuinfo %{_includedir}/unicode @@ -125,7 +172,6 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l %{_datadir}/%{name}/%{version}/config %files help -%defattr(-,root,root) %doc readme.html %doc source/__docs/%{name}/html/* %{_mandir}/man1/* @@ -133,6 +179,13 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l %changelog +* Sun Oct 27 2024 Funda Wang - 76.1-1 +- update to 76.1 +- build compat lib within single package, instead of relying on built package +- drop binary diff in favour of building data from scratch +- mark patch unconditioned +- loongarch patch merged upstream + * Wed Mar 27 2024 zhangpan - 74.1-2 - delete libicu*.so.73* diff --git a/icu.yaml b/icu.yaml index 379fcf065a2281407d381ff748a0fa930762df62..da8f26018e8225b96437bcb47bbfb28d8a4973a9 100644 --- a/icu.yaml +++ b/icu.yaml @@ -1,4 +1,4 @@ version_control: github src_repo: unicode-org/icu tag_prefix: ^release- -seperator: - +separator: - diff --git a/icu4c-74_1-src.tgz b/icu4c-74_1-src.tgz index 5cbcedd827463dfaa9f7d0acdb44b923bd08228c..00761ebd48249f67c2e0d6ffe40020eaecfd52b2 100644 Binary files a/icu4c-74_1-src.tgz and b/icu4c-74_1-src.tgz differ diff --git a/icu4c-76_1-data.zip b/icu4c-76_1-data.zip new file mode 100644 index 0000000000000000000000000000000000000000..2492dda0aae26a09b5ea259b68041e26e19a7cfe --- /dev/null +++ b/icu4c-76_1-data.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:133ae58a67d68b46f7296822904cd3c30126a0b4b2f65f0f905e7f47c0ef9e47 +size 19767028 diff --git a/icu4c-76_1-src.tgz b/icu4c-76_1-src.tgz new file mode 100644 index 0000000000000000000000000000000000000000..2407b15d514a833bf564ee12d7e02821cb3fd76a --- /dev/null +++ b/icu4c-76_1-src.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfacb46bfe4747410472ce3e1144bf28a102feeaa4e3875bac9b4c6cf30f4f3e +size 27437767