diff --git a/baselibs.conf b/baselibs.conf index 85e857c..9e54bd5 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,4 +1,4 @@ -libicu75 +libicu76 libicu-devel requires -libicu- - requires "libicu75- = " + requires "libicu76- = " diff --git a/icu-error-reporting.diff b/icu-error-reporting.diff index 35ce134..24f3973 100644 --- a/icu-error-reporting.diff +++ b/icu-error-reporting.diff @@ -29,14 +29,14 @@ Index: icu/source/tools/toolutil/package.cpp } @@ -1169,7 +1170,7 @@ Package::extractItem(const char *filesPa - makeFullFilenameAndDirs(filesPath, outName, filename, (int32_t)sizeof(filename)); + makeFullFilenameAndDirs(filesPath, outName, filename, static_cast(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); + fileLength = static_cast(fwrite(pItem->data, 1, pItem->length, file)); Index: icu/source/tools/toolutil/writesrc.cpp =================================================================== --- icu.orig/source/tools/toolutil/writesrc.cpp diff --git a/icu-fix-install-mode-files.diff b/icu-fix-install-mode-files.diff index 6d369e5..778cd30 100644 --- a/icu-fix-install-mode-files.diff +++ b/icu-fix-install-mode-files.diff @@ -24,8 +24,8 @@ 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) +@@ -169,16 +169,16 @@ endif + install-local: $(PKGDATA_LIST) ./icupkg.inc packagedata $(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(ICUPKGDATA_DIR) ifeq ($(PKGDATA_MODE),files) - $(MKINSTALLDIRS) $(ICUPKGDATA_DIR)/$(ICUDATA_NAME) diff --git a/icu.changes b/icu.changes index 9231bdf..34cda03 100644 --- a/icu.changes +++ b/icu.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Wed Oct 2 13:55:06 UTC 2024 - Jan Engelhardt + +- Update to release 76.1~rc + * Unicode 16 support: + * Adds five modern-use scripts: Garay, Gurung Khema, Kirat Rai, Ol Onal, Sunuwar + * Adds two historic scripts & almost 4000 additional Egyptian Hieroglyphs + * Over 700 symbols from legacy computing environments + * ICU 76 adds support for the new UCD properties Modifier_Combining_Mark + and Indic_Conjunct_Break + * CLDR 46 support: + * Locales which are now at modern coverage level: Nigerian + Pidgin, Tigrinya + * Locales which are now at moderate coverage level: Akan, + Baluchi (Latin), Kangri, Tajik, Tatar, Wolof + * Collation: Significant changes to the CLDR root collation + ------------------------------------------------------------------- Thu Apr 25 13:52:08 UTC 2024 - Jan Engelhardt diff --git a/icu.spec b/icu.spec index ed92485..f9f21a7 100644 --- a/icu.spec +++ b/icu.spec @@ -16,9 +16,14 @@ # -%define lname libicu75 -%define amajor 75 -%define aversion 75 +# what icu thinks the package is +%define amajor 76 +%define aversion 76.1 +# for the rare case that SUSE needs to workaround ABI breaks: +%define sonum %amajor +# like sonum, but with underscore +%define lname libicu%amajor + %ifarch %armb hppa mips mips64 ppc ppc64 %sparc s390 s390x m68k %define be_platform 1 %else @@ -26,16 +31,16 @@ %endif # icu-versioning.diff needs update for new Version too Name: icu -Version: 75.1 +Version: 76.1~rc 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 +Source: https://github.com/unicode-org/icu/releases/download/release-76-rc/icu4c-76_1rc-src.tgz +Source2: https://github.com/unicode-org/icu/releases/download/release-76-rc/icu4c-76_1rc-src.tgz.asc +Source3: https://github.com/unicode-org/icu/releases/download/release-76-rc/icu4c-76_1rc-docs.zip +Source4: https://github.com/unicode-org/icu/releases/download/release-76-rc/icu4c-76_1rc-docs.zip.asc Source5: %name.keyring Source100: baselibs.conf Patch4: icu-fix-install-mode-files.diff @@ -48,7 +53,7 @@ BuildRequires: gcc-c++ BuildRequires: pkg-config BuildRequires: python3-base BuildRequires: unzip -Provides: bundled(timezone) = 2024a +Provides: bundled(timezone) = 2024b %description ICU is a set of C and C++ libraries that provide extensive Unicode and locale @@ -66,9 +71,9 @@ Group: System/Libraries Requires: timezone Provides: libicu = %version %if %be_platform -Requires: libicu%aversion-bedata = %version +Requires: libicu%sonum-bedata = %version %else -Requires: libicu%aversion-ledata = %version +Requires: libicu%sonum-ledata = %version %endif %description -n %lname @@ -76,12 +81,12 @@ 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 +%package -n libicu%sonum-bedata Summary: Rule databases and tables for ICU Group: System/Libraries BuildArch: noarch -%description -n libicu%aversion-bedata +%description -n libicu%sonum-bedata ICU is a set of C and C++ libraries that provide extensive Unicode and locale support. @@ -91,12 +96,12 @@ rules, break iterator rules and dictionaries. This subpackage contains these data tables, in big-endian format. -%package -n libicu%aversion-ledata +%package -n libicu%sonum-ledata Summary: Rule databases and tables for ICU Group: System/Libraries BuildArch: noarch -%description -n libicu%aversion-ledata +%description -n libicu%sonum-ledata ICU is a set of C and C++ libraries that provide extensive Unicode and locale support. @@ -157,58 +162,41 @@ LD_LIBRARY_PATH="../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH" \ popd %install -mkdir -p "%buildroot/%_docdir/%name" -cp -a html "%buildroot/%_docdir/%name/" -cp -a license.html readme.html "%buildroot/%_docdir/%name/" +b="%buildroot" +mkdir -p "$b/%_docdir/%name" +cp -a html "$b/%_docdir/%name/" +cp -a license.html readme.html "$b/%_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 +cp data/out/icudt*.dat "$b/%_datadir/icu/%aversion/" # /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.* +chmod a+rx "$b/%_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/" +mkdir -p "$b/%_datadir/icu/%aversion/unidata" +install -m 644 data/unidata/*.txt "$b/%_datadir/icu/%aversion/unidata" +ln -s unidata/UnicodeData.txt "$b/%_datadir/icu/%aversion/" -rm "%buildroot/%_datadir/icu/%version/install-sh" +rm "$b/%_datadir/icu/%aversion/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" +rm -Rf "$b/%_datadir/icu/%aversion/unidata/" \ + "$b/%_datadir/icu/%aversion/UnicodeData.txt" \ + "$b/%_libdir/icu/current" \ + "$b/%_libdir/icu/Makefile.inc" \ + "$b/%_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 +if ! ICU_DATA="%buildroot/%_datadir/icu/%aversion" %make_build check VERBOSE=1; then # oddly fails since 74 # did they mess up --with-data-packaging=archive : @@ -227,8 +215,8 @@ fi %_sbindir/* %_mandir/man*/* %dir %_datadir/icu -%dir %_datadir/icu/%version -%_datadir/icu/%version/LICENSE +%dir %_datadir/icu/%aversion +%_datadir/icu/%aversion/LICENSE %dir %_docdir/%name/ %_docdir/%name/license.html %_docdir/%name/readme.html @@ -236,29 +224,29 @@ fi %files -n %lname %_libdir/libicu*.so.* -%files -n libicu%aversion-bedata +%files -n libicu%sonum-bedata %dir %_datadir/icu -%dir %_datadir/icu/%version -%_datadir/icu/%version/icudt%{amajor}b.dat +%dir %_datadir/icu/%aversion +%_datadir/icu/%aversion/icudt%{amajor}b.dat -%files -n libicu%aversion-ledata +%files -n libicu%sonum-ledata %dir %_datadir/icu -%dir %_datadir/icu/%version -%_datadir/icu/%version/icudt%{amajor}l.dat +%dir %_datadir/icu/%aversion +%_datadir/icu/%aversion/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 +%dir %_libdir/icu/%aversion/ +%_libdir/icu/%aversion/Makefile.inc +%_libdir/icu/%aversion/pkgdata.inc %_libdir/pkgconfig/icu-*.pc %_bindir/icu-config %dir %_datadir/icu/ -%dir %_datadir/icu/%version/ -%_datadir/icu/%version/mkinstalldirs -%_datadir/icu/%version/config/ +%dir %_datadir/icu/%aversion/ +%_datadir/icu/%aversion/mkinstalldirs +%_datadir/icu/%aversion/config/ %files -n libicu-doc %dir %_docdir/%name/ diff --git a/icu4c-75_1-docs.zip b/icu4c-75_1-docs.zip deleted file mode 100644 index 3ccea64..0000000 --- a/icu4c-75_1-docs.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5f089778c400bc621c4fdb8ff0a1256f0e3e1fbcc38ad7464eda69437535e3b9 -size 9149973 diff --git a/icu4c-75_1-docs.zip.asc b/icu4c-75_1-docs.zip.asc deleted file mode 100644 index dda1080..0000000 --- a/icu4c-75_1-docs.zip.asc +++ /dev/null @@ -1,14 +0,0 @@ ------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----- diff --git a/icu4c-75_1-src.tgz b/icu4c-75_1-src.tgz deleted file mode 100644 index 2a67aef..0000000 --- a/icu4c-75_1-src.tgz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef -size 26568378 diff --git a/icu4c-75_1-src.tgz.asc b/icu4c-75_1-src.tgz.asc deleted file mode 100644 index e0e7b2b..0000000 --- a/icu4c-75_1-src.tgz.asc +++ /dev/null @@ -1,14 +0,0 @@ ------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----- diff --git a/icu4c-76_1rc-docs.zip b/icu4c-76_1rc-docs.zip new file mode 100644 index 0000000..17692f1 --- /dev/null +++ b/icu4c-76_1rc-docs.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2713b22225c4d26a87cdc2bf73d9e4295f03017feb2ae8bf31ad63cb5068170e +size 9188712 diff --git a/icu4c-76_1rc-docs.zip.asc b/icu4c-76_1rc-docs.zip.asc new file mode 100644 index 0000000..dc25f97 --- /dev/null +++ b/icu4c-76_1rc-docs.zip.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYIAB0WIQTlLweHelgF+a9KsKzUbFYQ0G5wAQUCZvwbmwAKCRDUbFYQ0G5w +AX6IAQDAajdf9ICnJYy6/hwxpKPnBdsSXMb7s+CSFY+Q1aAtdQD/ZCVxRcl37EI7 +wva9FegofwnmyW+jMGsuUpiEfnwf+Q8= +=E3lZ +-----END PGP SIGNATURE----- diff --git a/icu4c-76_1rc-src.tgz b/icu4c-76_1rc-src.tgz new file mode 100644 index 0000000..e6add99 --- /dev/null +++ b/icu4c-76_1rc-src.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cc63885161b1780ec7f5106c7e9b4351b02500f90fc9191a5d1888329bf0392 +size 27433133 diff --git a/icu4c-76_1rc-src.tgz.asc b/icu4c-76_1rc-src.tgz.asc new file mode 100644 index 0000000..58c66ee --- /dev/null +++ b/icu4c-76_1rc-src.tgz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYIAB0WIQTlLweHelgF+a9KsKzUbFYQ0G5wAQUCZvwbnQAKCRDUbFYQ0G5w +AQmHAP4qUURaFo2xxt91UMzU+NGc7GpZo0jR9bn59rqUakKkBgEAgDa0EMWwBJms +Oc8oOd4m+6Jaa3+Kc6hRFISFy3FM2wM= +=+DOE +-----END PGP SIGNATURE-----