diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | backport-remove-TestJitterbug6175.patch | 112 | ||||
-rw-r--r-- | gennorm2-man.patch | 128 | ||||
-rw-r--r-- | icu-Add-sw64-architecture-compat.patch | 314 | ||||
-rw-r--r-- | icu-Add-sw64-architecture.patch | 265 | ||||
-rw-r--r-- | icu-config.sh | 2 | ||||
-rw-r--r-- | icu.spec | 250 | ||||
-rw-r--r-- | icuinfo-man.patch | 145 | ||||
-rw-r--r-- | sources | 3 |
9 files changed, 1222 insertions, 0 deletions
@@ -0,0 +1,3 @@ +/icu4c-74_1-src.tgz +/icu4c-76_1-data.zip +/icu4c-76_1-src.tgz diff --git a/backport-remove-TestJitterbug6175.patch b/backport-remove-TestJitterbug6175.patch new file mode 100644 index 0000000..1d286db --- /dev/null +++ b/backport-remove-TestJitterbug6175.patch @@ -0,0 +1,112 @@ +From d4774599b63f72c887cf449d02b3d1e5b0acc960 Mon Sep 17 00:00:00 2001 +From: Peter Edberg <pedberg@unicode.org> +Date: Wed, 12 Mar 2008 23:22:07 +0000 +Subject: [PATCH] ICU-6175 Test detecting empty segments in ISO-2022-x & HZ + with UConverterCallbackReason==UCNV_IRREGULAR + +X-SVN-Rev: 23572 + +revert d4774599b63f72c887cf449d02b3d1e5b0acc960 + +--- + source/test/cintltst/nucnvtst.c | 70 --------------------------------- + 1 file changed, 70 deletions(-) + +diff --git a/source/test/cintltst/nucnvtst.c b/source/test/cintltst/nucnvtst.c +index 73e0fde..1f96ded 100644 +--- a/source/test/cintltst/nucnvtst.c ++++ b/source/test/cintltst/nucnvtst.c +@@ -101,7 +101,6 @@ static void TestJitterbug2346(void); + static void TestJitterbug2411(void); + static void TestJB5275(void); + static void TestJB5275_1(void); +-static void TestJitterbug6175(void); + + static void TestIsFixedWidth(void); + #endif +@@ -329,7 +328,6 @@ void addTestNewConvert(TestNode** root) + #if !UCONFIG_NO_LEGACY_CONVERSION + addTest(root, &TestJitterbug2346, "tsconv/nucnvtst/TestJitterbug2346"); + addTest(root, &TestJitterbug2411, "tsconv/nucnvtst/TestJitterbug2411"); +- addTest(root, &TestJitterbug6175, "tsconv/nucnvtst/TestJitterbug6175"); + + addTest(root, &TestIsFixedWidth, "tsconv/nucnvtst/TestIsFixedWidth"); + #endif +@@ -4591,74 +4589,6 @@ cleanup: + free(offsets); + } + +-/* Tests for empty segments in ISO-2022-JP/KR/CN, HZ, check that UConverterCallbackReason is UCNV_IRREGULAR */ +-typedef struct { +- const char * converterName; +- const char * inputText; +- int inputTextLength; +-} EmptySegmentTest; +- +-/* Callback for TestJitterbug6175, should only get called for empty segment errors */ +-static void UCNV_TO_U_CALLBACK_EMPTYSEGMENT( const void *context, UConverterToUnicodeArgs *toArgs, const char* codeUnits, +- int32_t length, UConverterCallbackReason reason, UErrorCode * err ) { +- // suppress compiler warnings about unused variables +- (void)context; +- (void)codeUnits; +- (void)length; +- if (reason > UCNV_IRREGULAR) { +- return; +- } +- if (reason != UCNV_IRREGULAR) { +- log_err("toUnicode callback invoked for empty segment but reason is not UCNV_IRREGULAR\n"); +- } +- /* Standard stuff below from UCNV_TO_U_CALLBACK_SUBSTITUTE */ +- *err = U_ZERO_ERROR; +- ucnv_cbToUWriteSub(toArgs,0,err); +-} +- +-enum { kEmptySegmentToUCharsMax = 64 }; +-static void TestJitterbug6175(void) { +- static const char iso2022jp_a[] = { 0x61, 0x62, 0x1B,0x24,0x42, 0x1B,0x28,0x42, 0x63, 0x64, 0x0D, 0x0A }; +- static const char iso2022kr_a[] = { 0x1B,0x24,0x29,0x43, 0x61, 0x0E, 0x0F, 0x62, 0x0D, 0x0A }; +- static const char iso2022cn_a[] = { 0x61, 0x1B,0x24,0x29,0x41, 0x62, 0x0E, 0x0F, 0x1B,0x24,0x2A,0x48, 0x1B,0x4E, 0x6A,0x65, 0x63, 0x0D, 0x0A }; +- static const char iso2022cn_b[] = { 0x61, 0x1B,0x24,0x29,0x41, 0x62, 0x0E, 0x1B,0x24,0x29,0x47, 0x68,0x64, 0x0F, 0x63, 0x0D, 0x0A }; +- static const char hzGB2312_a[] = { 0x61, 0x62, 0x7E,0x7B, 0x7E,0x7D, 0x63, 0x64 }; +- static const EmptySegmentTest emptySegmentTests[] = { +- /* converterName inputText inputTextLength */ +- { "ISO-2022-JP", iso2022jp_a, sizeof(iso2022jp_a) }, +- { "ISO-2022-KR", iso2022kr_a, sizeof(iso2022kr_a) }, +- { "ISO-2022-CN", iso2022cn_a, sizeof(iso2022cn_a) }, +- { "ISO-2022-CN", iso2022cn_b, sizeof(iso2022cn_b) }, +- { "HZ-GB-2312", hzGB2312_a, sizeof(hzGB2312_a) }, +- /* terminator: */ +- { NULL, NULL, 0, } +- }; +- const EmptySegmentTest * testPtr; +- for (testPtr = emptySegmentTests; testPtr->converterName != NULL; ++testPtr) { +- UErrorCode err = U_ZERO_ERROR; +- UConverter * cnv = ucnv_open(testPtr->converterName, &err); +- if (U_FAILURE(err)) { +- log_data_err("Unable to open %s converter: %s\n", testPtr->converterName, u_errorName(err)); +- return; +- } +- ucnv_setToUCallBack(cnv, UCNV_TO_U_CALLBACK_EMPTYSEGMENT, NULL, NULL, NULL, &err); +- if (U_FAILURE(err)) { +- log_data_err("Unable to setToUCallBack for %s converter: %s\n", testPtr->converterName, u_errorName(err)); +- ucnv_close(cnv); +- return; +- } +- { +- UChar toUChars[kEmptySegmentToUCharsMax]; +- UChar * toUCharsPtr = toUChars; +- const UChar * toUCharsLimit = toUCharsPtr + kEmptySegmentToUCharsMax; +- const char * inCharsPtr = testPtr->inputText; +- const char * inCharsLimit = inCharsPtr + testPtr->inputTextLength; +- ucnv_toUnicode(cnv, &toUCharsPtr, toUCharsLimit, &inCharsPtr, inCharsLimit, NULL, true, &err); +- } +- ucnv_close(cnv); +- } +-} +- + static void + TestEBCDIC_STATEFUL(void) { + /* test input */ +-- +2.33.0 + diff --git a/gennorm2-man.patch b/gennorm2-man.patch new file mode 100644 index 0000000..07b5b9d --- /dev/null +++ b/gennorm2-man.patch @@ -0,0 +1,128 @@ +Description: supply manual page for program that doesn't have one +Author: Jay Berkenbilt <qjb@debian.org> +Bug: http://bugs.icu-project.org/trac/ticket/7554 + +diff -r -u -N icu.orig/source/tools/gennorm2/gennorm2.8.in icu/source/tools/gennorm2/gennorm2.8.in +--- icu.orig/source/tools/gennorm2/gennorm2.8.in 1970-01-01 01:00:00.000000000 +0100 ++++ icu/source/tools/gennorm2/gennorm2.8.in 2013-02-25 16:43:28.297062638 +0100 +@@ -0,0 +1,71 @@ ++.\" Hey, Emacs! This is -*-nroff-*- you know... ++.\" ++.\" gennorm2.8: manual page for the gennorm2 utility ++.\" ++.\" Copyright (C) 2005-2006 International Business Machines Corporation and others ++.\" ++.TH GENNORM2 8 "15 March 2010" "ICU MANPAGE" "ICU @VERSION@ Manual" ++.SH NAME ++.B gennorm2 ++\- Builds binary data file with Unicode normalization data. ++.SH SYNOPSIS ++.B gennorm2 ++[ ++.BR "\-h\fP, \fB\-?\fP, \fB\-\-help" ++] ++[ ++.BR "\-V\fP, \fB\-\-version" ++] ++[ ++.BR "\-c\fP, \fB\-\-copyright" ++] ++[ ++.BR "\-v\fP, \fB\-\-verbose" ++] ++[ ++.BI "\-u\fP, \fB\-\-unicode" " unicode\-version\-number" ++] ++[ ++.BI "\-s\fP, \fB\-\-sourcedir" " source\-directory" ++] ++[ ++.BI "\-o\fP, \fB\-\-output" " output\-filename" ++] ++.BI "\fB\-\-fast" ++.SH DESCRIPTION ++.B gennorm2 ++reads text files that define Unicode normalization, ++them, and builds a binary data file. ++.SH OPTIONS ++.TP ++.BR "\-h\fP, \fB\-?\fP, \fB\-\-help" ++Print help about usage and exit. ++.TP ++.BR "\-V\fP, \fB\-\-version" ++Print the version of ++.B gennorm2 ++and exit. ++.TP ++.BR "\-c\fP, \fB\-\-copyright" ++Include a copyright notice. ++.TP ++.BR "\-v\fP, \fB\-\-verbose" ++Display extra informative messages during execution. ++.TP ++.BR "\-u\fP, \fB\-\-unicode" ++Specify Unicode version number, such as 5.2.0. ++.TP ++.BI "\-s\fP, \fB\-\-sourcedir" " source\-directory" ++Specify the input directory. ++.TP ++.BI "\-s\fP, \fB\-\-sourcedir" " source\-directory" ++Set the name of the output file. ++.TP ++.BI "\fB\-\-fast" ++optimize the .nrm file for fast normalization, ++which might increase its size (Writes fully decomposed ++regular mappings instead of delta mappings. ++You should measure the runtime speed to make sure that ++this is a good trade-off.) ++.SH COPYRIGHT ++Copyright (C) 2009-2010 International Business Machines Corporation and others +diff -r -u -N icu.orig/source/tools/gennorm2/Makefile.in icu/source/tools/gennorm2/Makefile.in +--- icu.orig/source/tools/gennorm2/Makefile.in 2013-01-11 01:23:32.000000000 +0100 ++++ icu/source/tools/gennorm2/Makefile.in 2013-02-25 16:43:28.296062632 +0100 +@@ -16,8 +16,13 @@ + + TARGET_STUB_NAME = gennorm2 + ++SECTION = 8 ++ ++MAN_FILES = $(TARGET_STUB_NAME).$(SECTION) ++ ++ + ## Extra files to remove for 'make clean' +-CLEANFILES = *~ $(DEPS) ++CLEANFILES = *~ $(DEPS) $(MAN_FILES) + + ## Target information + TARGET = $(BINDIR)/$(TARGET_STUB_NAME)$(EXEEXT) +@@ -44,12 +49,16 @@ + dist: dist-local + check: all check-local + +-all-local: $(TARGET) ++all-local: $(TARGET) $(MAN_FILES) + +-install-local: all-local ++install-local: all-local install-man + $(MKINSTALLDIRS) $(DESTDIR)$(sbindir) + $(INSTALL) $(TARGET) $(DESTDIR)$(sbindir) + ++install-man: $(MAN_FILES) ++ $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) ++ $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION) ++ + dist-local: + + clean-local: +@@ -70,6 +79,11 @@ + $(POST_BUILD_STEP) + + ++%.$(SECTION): $(srcdir)/%.$(SECTION).in ++ cd $(top_builddir) \ ++ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status ++ ++ + ifeq (,$(MAKECMDGOALS)) + -include $(DEPS) + else diff --git a/icu-Add-sw64-architecture-compat.patch b/icu-Add-sw64-architecture-compat.patch new file mode 100644 index 0000000..d9f639b --- /dev/null +++ b/icu-Add-sw64-architecture-compat.patch @@ -0,0 +1,314 @@ +From a4fb55ae3de789cf645d4939ed8af9dbaad242ce Mon Sep 17 00:00:00 2001 +From: wuzx <wuzx1226@qq.com> +Date: Fri, 18 Nov 2022 02:53:10 +0800 +Subject: [PATCH] Add sw64 architecture + +Signed-off-by: wuzx <wuzx1226@qq.com> +--- + 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 ${<F} $@ ++%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) ++ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ ++ ++## Bind internal references ++ ++# LDflags that pkgdata will use ++BIR_LDFLAGS= -Wl,-Bsymbolic ++ ++# Dependencies [i.e. map files] for the final library ++BIR_DEPS= ++ ++## End Linux-specific setup ++ +diff --git a/source/config/mh-sw_64-linux-gcc b/source/config/mh-sw_64-linux-gcc +new file mode 100644 +index 0000000..a3531d2 +--- /dev/null ++++ b/source/config/mh-sw_64-linux-gcc +@@ -0,0 +1,85 @@ ++## -*-makefile-*- ++## Copyright (C) 2016 and later: Unicode, Inc. and others. ++## License & terms of use: http://www.unicode.org/copyright.html ++## Linux-specific setup ++## Copyright (c) 1999-2009, International Business Machines Corporation and ++## others. All Rights Reserved. ++ ++## Commands to generate dependency files ++GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) ++GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) ++ ++## 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 += -mieee ++CXXFLAGS += -mieee ++ ++## 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 library options ++LD_SOOPTIONS= -Wl,-Bsymbolic ++ ++## 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 ${<F} $@ ++%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) ++ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ ++ ++# The type of assembly to write for generating an object file ++GENCCODE_ASSEMBLY=-a gcc ++ ++## Bind internal references ++ ++# LDflags that pkgdata will use ++BIR_LDFLAGS= -Wl,-Bsymbolic ++ ++# Dependencies [i.e. map files] for the final library ++BIR_DEPS= ++ ++## 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 ++++ 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 new file mode 100644 index 0000000..756f78b --- /dev/null +++ b/icu-Add-sw64-architecture.patch @@ -0,0 +1,265 @@ +From a4fb55ae3de789cf645d4939ed8af9dbaad242ce Mon Sep 17 00:00:00 2001 +From: wuzx <wuzx1226@qq.com> +Date: Fri, 18 Nov 2022 02:53:10 +0800 +Subject: [PATCH] Add sw64 architecture + +Signed-off-by: wuzx <wuzx1226@qq.com> +--- + source/acinclude.m4 | 6 ++ + source/config.guess | 8 +++ + source/config.sub | 1 + + source/config/mh-sw_64-linux-cc | 87 +++++++++++++++++++++++++++ + source/config/mh-sw_64-linux-gcc | 85 ++++++++++++++++++++++++++ + source/i18n/double-conversion-utils.h | 2 +- + 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 + +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 +@@ -1010,6 +1010,14 @@ + UNAME_MACHINE=aarch64_be + 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 ++ GUESS=${UNAME_MACHINE}-sunway-linux-${LIBC} ++ ;; + alpha:Linux:*:*) + 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 +@@ -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 +--- /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 ${<F} $@ ++%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) ++ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ ++ ++## Bind internal references ++ ++# LDflags that pkgdata will use ++BIR_LDFLAGS= -Wl,-Bsymbolic ++ ++# Dependencies [i.e. map files] for the final library ++BIR_DEPS= ++ ++## End Linux-specific setup ++ +diff --git a/source/config/mh-sw_64-linux-gcc b/source/config/mh-sw_64-linux-gcc +new file mode 100644 +index 0000000..a3531d2 +--- /dev/null ++++ b/source/config/mh-sw_64-linux-gcc +@@ -0,0 +1,85 @@ ++## -*-makefile-*- ++## Copyright (C) 2016 and later: Unicode, Inc. and others. ++## License & terms of use: http://www.unicode.org/copyright.html ++## Linux-specific setup ++## Copyright (c) 1999-2009, International Business Machines Corporation and ++## others. All Rights Reserved. ++ ++## Commands to generate dependency files ++GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) ++GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) ++ ++## 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 += -mieee ++CXXFLAGS += -mieee ++ ++## 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 library options ++LD_SOOPTIONS= -Wl,-Bsymbolic ++ ++## 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 ${<F} $@ ++%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) ++ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ ++ ++# The type of assembly to write for generating an object file ++GENCCODE_ASSEMBLY=-a gcc ++ ++## Bind internal references ++ ++# LDflags that pkgdata will use ++BIR_LDFLAGS= -Wl,-Bsymbolic ++ ++# Dependencies [i.e. map files] for the final library ++BIR_DEPS= ++ ++## End Linux-specific setup ++ +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-config.sh b/icu-config.sh new file mode 100644 index 0000000..84d5adf --- /dev/null +++ b/icu-config.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec icu-config-64 "$@" diff --git a/icu.spec b/icu.spec new file mode 100644 index 0000000..607d9c8 --- /dev/null +++ b/icu.spec @@ -0,0 +1,250 @@ +%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: 76.1 +Release: 1 +Summary: International Components for Unicode +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 +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 +Patch4: icu-Add-sw64-architecture.patch +Patch10: icu-Add-sw64-architecture-compat.patch + +%description +Tools and utilities for developing with icu. + +%package -n libicu +Summary: libs package for icu + +%description -n libicu +libs package for icu + +%package -n libicu-devel +Summary: header files for libicu +Requires: libicu = %{version}-%{release} +Provides: %{name}-devel = %{version}-%{release} + +%description -n libicu-devel +header files for libicu + +%package_help + +%{!?endian: %global endian %(%{__python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} +# " this line just fixes syntax highlighting for vim that is confused by the above and continues literal + +%prep +%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 +autoconf +CFLAGS='%optflags -fno-strict-aliasing' +CXXFLAGS='%optflags -fno-strict-aliasing' +# Endian: BE=0 LE=1 +%if ! 0%{?endian} +CPPFLAGS='-DU_IS_BIG_ENDIAN=1' +%endif + +OPTIONS='--with-data-packaging=library --disable-samples' +%if 0%{?debugtrace} +OPTIONS=$OPTIONS' --enable-debug --enable-tracing' +%endif +%configure $OPTIONS + +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 +%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 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 %{buildroot}%{_bindir} + mv icu-config icu-config-%{__isa_bits} +) +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_build -C source check + +pushd source +LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l +popd + +%files +%license license.html LICENSE +%{_bindir}/derb +%{_bindir}/gen* +%{_bindir}/makeconv +%{_bindir}/pkgdata +%{_bindir}/uconv +%{_bindir}/icuexportdata +%{_sbindir}/* + +%files -n libicu +%license license.html LICENSE +%{_libdir}/*.so.* + +%files -n libicu-devel +%{_bindir}/%{name}-config* +%{_bindir}/icuinfo +%{_includedir}/unicode +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc +%{_libdir}/%{name} +%{_datadir}/%{name}/%{version}/install-sh +%{_datadir}/%{name}/%{version}/mkinstalldirs +%{_datadir}/%{name}/%{version}/config + +%files help +%doc readme.html +%doc source/__docs/%{name}/html/* +%{_mandir}/man1/* +%{_mandir}/man8/* + + +%changelog +* Sun Oct 27 2024 Funda Wang <fundawang@yeah.net> - 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<zhangpan103@h-partners.com> - 74.1-2 +- delete libicu*.so.73* + +* Wed Jan 24 2024 zhangpan<zhangpan103@h-partners.com> - 74.1-1 +- update to 74.1 + +* Tue Sep 19 2023 zhouwenpei<zhouwenpei@h-partners.com> - 73.2-3 +- Fix broken TestHebrewCalendarInTemporalLeapYear + +* Mon Sep 11 2023 zhangpan<zhangpan103@h-partners.com> - 73.2-2 +- delete libicu*.so.72* + +* Mon Jul 24 2023 zhangpan<zhangpan103@h-partners.com> - 73.2-1 +- update to 73.2 + +* Tue Jun 13 2023 zhangpan<zhangpan103@h-partners.com> - 72.1-6 +- delete taboo words + +* Thu Dec 15 2022 zhouwenpei<zhouwenpei1@h-partners.com> - 72.1-5 +- delete redundant files + +* Mon Nov 21 2022 zhouwenpei<zhouwenpei1@h-partners.com> - 72.1-4 +- Optimize the patch for add loongarch64 architecture + +* Mon Nov 21 2022 wuzx <wuzx1226@qq.com> - 72.1-3 +- Add sw64 architecture + +* Fri Nov 18 2022 huajingyun <huajingyun@loongson.cn> - 72.1-2 +- add loongarch64 support + +* Tue Nov 15 2022 zhouwenpei <zhouwenpei1@h-partners.com> - 72.1-1 +- update to icu4c-72.1 + +* Sat Jun 25 2020 hanhui <hanhui15@h-partners.com> - 69.1-3 +- fix build failed + +* Thu Jul 16 2020 hanhui <hanhui15@h-partners.com> - 69.1-2 +- delete libicu*.so.67* + +* Sun Nov 07 2021 sdlzx <hdu_sdlzx@163.com> - 69.1 +- update to icu4c-69.1 + +* Wed Oct 21 2020 jinzhimin<jinzhimin2@huawei.com> - 67.1-2 +- modify buildrequire to python3 + +* Thu Jul 16 2020 hanhui <hanhui15@huawei.com> - 67.1 +- update to icu4c-67.1 + +* Fri Mar 20 2020 gulining <gulining1@huawei.com> - 62.1-5 +- fix CVE-2020-10531 + +* Tue Mar 10 2020 songnannan <songnannan2@huawei.com> - 62.1-4 +- bugfix memory leak + +* Sat Jan 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 62.1-3 +- Type:bugfix +- Id:NA +- SUG:NA +- DESC:optimization the spec + +* Fri Nov 1 2019 openEuler Buildteam <buildteam@openeuler.org> - 62.1-2 +- Package init diff --git a/icuinfo-man.patch b/icuinfo-man.patch new file mode 100644 index 0000000..987e879 --- /dev/null +++ b/icuinfo-man.patch @@ -0,0 +1,145 @@ +Description: supply manual page for program that doesn't have one +Author: Jay Berkenbilt <qjb@debian.org> +Bug: http://bugs.icu-project.org/trac/ticket/7665 +erAck: adapted to ICU 56.1 icu/source/tools/icuinfo/Makefile.in + +diff -Nur orig.icu/source/tools/icuinfo/icuinfo.1.in icu/source/tools/icuinfo/icuinfo.1.in +--- orig.icu/source/tools/icuinfo/icuinfo.1.in 1970-01-01 01:00:00.000000000 +0100 ++++ icu/source/tools/icuinfo/icuinfo.1.in 2015-10-27 19:19:35.184056800 +0100 +@@ -0,0 +1,76 @@ ++.\" Hey, Emacs! This is -*-nroff-*- you know... ++.\" ++.\" icuinfo.1: manual page for the icuinfo utility ++.\" ++.\" Copyright (C) 2005-2006 International Business Machines Corporation and others ++.\" ++.TH ICUINFO 1 "1 May 2010" "ICU MANPAGE" "ICU @VERSION@ Manual" ++.SH NAME ++.B icuinfo ++\- Shows some basic info about the current ICU ++.SH SYNOPSIS ++.B icuinfo ++[ ++.BR "\-h\fP, \fB\-?\fP, \fB\-\-help" ++] ++[ ++.BR "\-V\fP, \fB\-\-version" ++] ++[ ++.BR "\-c\fP, \fB\-\-copyright" ++] ++[ ++.BI "\-i\fP, \fB\-\-icudatadir" " directory" ++] ++[ ++.BR "\-v\fP, \fB\-\-verbose" ++] ++[ ++.BI "\-L\fP, \fB\-\-list-plugins" ++] ++[ ++.BI "\-m\fP, \fB\-\-milisecond-time" ++] ++[ ++.BI "\-K\fP, \fB\-\-cleanup" ++] ++.SH DESCRIPTION ++.B icuinfo ++prints basic information about the current version of ICU. ++.SH OPTIONS ++.TP ++.BR "\-h\fP, \fB\-?\fP, \fB\-\-help" ++Print help about usage and exit. ++.TP ++.BR "\-V\fP, \fB\-\-version" ++Print the version of ++.B icuinfo ++and exit. ++.TP ++.BR "\-c\fP, \fB\-\-copyright" ++Embeds the standard ICU copyright into the ++.IR output-file . ++.TP ++.BR "\-v\fP, \fB\-\-verbose" ++Display extra informative messages during execution. ++.TP ++.BI "\-i\fP, \fB\-\-icudatadir" " directory" ++Look for any necessary ICU data files in ++.IR directory . ++For example, the file ++.B pnames.icu ++must be located when ICU's data is not built as a shared library. ++The default ICU data directory is specified by the environment variable ++.BR ICU_DATA . ++Most configurations of ICU do not require this argument. ++.TP ++.BI "\-L\fP, \fB\-\-list-plugins" ++If specified, list and diagnose issues with ICU plugins. ++.TP ++.BI "\-K\fP, \fB\-\-cleanup" ++Attempt to unload plugins before exiting. ++.TP ++.BI "\-m\fP, \fB\-\-milisecond-time" ++Print the current UTC time in milliseconds. ++.SH COPYRIGHT ++Copyright (C) 2010 International Business Machines Corporation and others +diff -Nur orig.icu/source/tools/icuinfo/Makefile.in icu/source/tools/icuinfo/Makefile.in +--- orig.icu/source/tools/icuinfo/Makefile.in 2015-10-08 05:53:56.000000000 +0200 ++++ icu/source/tools/icuinfo/Makefile.in 2015-10-27 19:23:19.115509906 +0100 +@@ -14,8 +14,15 @@ + ## Build directory information + subdir = tools/icuinfo + ++TARGET_STUB_NAME = icuinfo ++ ++SECTION = 1 ++ ++MAN_FILES = $(TARGET_STUB_NAME).$(SECTION) ++ ++ + ## Extra files to remove for 'make clean' +-CLEANFILES = *~ $(DEPS) $(PLUGIN_OBJECTS) $(PLUGINFILE) $(PLUGIN) ++CLEANFILES = *~ $(DEPS) $(PLUGIN_OBJECTS) $(PLUGINFILE) $(PLUGIN) $(MAN_FILES) + + ## Target information + TARGET = icuinfo$(EXEEXT) +@@ -35,7 +42,8 @@ + + ## List of phony targets + .PHONY : all all-local install install-local clean clean-local \ +-distclean distclean-local dist dist-local check check-local plugin-check ++distclean distclean-local dist dist-local check check-local plugin-check \ ++install-man + + ## Clear suffix list + .SUFFIXES : +@@ -48,12 +56,16 @@ + dist: dist-local + check: all check-local + +-all-local: $(TARGET) ++all-local: $(TARGET) $(MAN_FILES) + +-install-local: all-local ++install-local: all-local install-man + $(MKINSTALLDIRS) $(DESTDIR)$(bindir) + $(INSTALL) $(TARGET) $(DESTDIR)$(bindir) + ++install-man: $(MAN_FILES) ++ $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) ++ $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION) ++ + dist-local: + + clean-local: +@@ -103,6 +115,10 @@ + @echo "Plugins are disabled (use --enable-plugins to enable)" + endif + ++%.$(SECTION): $(srcdir)/%.$(SECTION).in ++ cd $(top_builddir) \ ++ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status ++ + ifeq (,$(MAKECMDGOALS)) + -include $(DEPS) + else @@ -0,0 +1,3 @@ +71e60b22697c4f35820a1897417dbab4 icu4c-74_1-src.tgz +f4b6fdf4b21a6248da0d93678a1b420a icu4c-76_1-data.zip +857fdafff8127139cc175a3ec9b43bd6 icu4c-76_1-src.tgz |