From 1c67b4d422b926cf9e6601394dcc2d02e79a47c0 Mon Sep 17 00:00:00 2001 From: Kai Pastor Date: Tue, 11 Aug 2026 21:05:37 +0200 Subject: [PATCH] [icu] Fix use of fallback install-sh (#53279) --- ports/icu/fix-using-install-sh.diff | 39 +++++++++++++++++++++++++++++ ports/icu/portfile.cmake | 1 + ports/icu/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/i-/icu.json | 5 ++++ 5 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 ports/icu/fix-using-install-sh.diff diff --git a/ports/icu/fix-using-install-sh.diff b/ports/icu/fix-using-install-sh.diff new file mode 100644 index 0000000000..43a86dea5a --- /dev/null +++ b/ports/icu/fix-using-install-sh.diff @@ -0,0 +1,39 @@ +diff --git a/source/Makefile.in b/source/Makefile.in +index 9e15b6a016..53330a3921 100644 +--- a/source/Makefile.in ++++ b/source/Makefile.in +@@ -189,7 +189,10 @@ install-icu: $(INSTALLED_BUILT_FILES) + $(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mkinstalldirs + $(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/install-sh + @$(MKINSTALLDIRS) $(DESTDIR)$(libdir)/pkgconfig +- $(INSTALL_DATA) $(ALL_PKGCONFIG_FILES) $(DESTDIR)$(libdir)/pkgconfig/ ++ # icu's fallback install-sh does not support multi-file install ++ @for file in $(ALL_PKGCONFIG_FILES); do \ ++ $(INSTALL_DATA) "$${file}" $(DESTDIR)$(libdir)/pkgconfig/ ; \ ++ done + $(INSTALL_DATA) $(top_srcdir)/../LICENSE $(DESTDIR)$(pkgdatadir)/LICENSE + ifeq ($(INSTALL_ICU_CONFIG),true) + $(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config +diff --git a/source/configure b/source/configure +index dfa3a091f8..8ee911d42d 100755 +--- a/source/configure ++++ b/source/configure +@@ -4935,12 +4935,12 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + + +-# make sure install is relative to srcdir - if a script +-if test "$srcdir" = "."; then +- # If srcdir isn't just ., then (srcdir) is already prepended. +- if test "${ac_install_sh}" = "${INSTALL}"; then +- INSTALL="\\\$(top_srcdir)/${ac_install_sh}" +- fi ++# If using the included install-sh, make INSTALL work from any build dir. ++if test "${ac_install_sh}" = "${INSTALL}"; then ++ case "$srcdir" in ++ .|./*|../*) INSTALL="\\\$(top_builddir)/${ac_install_sh}" ;; ++ *) ;; ++ esac + fi + + # TODO(ICU-20301): Remove fallback to Python 2. diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake index a1aaeee59c..67e37f0334 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_extract_source_archive(SOURCE_PATH fix_bsd_and_solaris.patch fix_parallel_build_on_windows.patch fix-python-path-with-spaces.patch + fix-using-install-sh.diff mh-darwin.patch mh-mingw.patch mh-msys-msvc.patch diff --git a/ports/icu/vcpkg.json b/ports/icu/vcpkg.json index 098e7c84b8..d296c30bb1 100644 --- a/ports/icu/vcpkg.json +++ b/ports/icu/vcpkg.json @@ -1,7 +1,7 @@ { "name": "icu", "version": "78.3", - "port-version": 1, + "port-version": 2, "description": "Mature and widely used Unicode and localization library.", "homepage": "https://icu.unicode.org/home", "license": "ICU", diff --git a/versions/baseline.json b/versions/baseline.json index 39586d0c93..6a2b1ba598 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3942,7 +3942,7 @@ }, "icu": { "baseline": "78.3", - "port-version": 1 + "port-version": 2 }, "ideep": { "baseline": "2026-05-11", diff --git a/versions/i-/icu.json b/versions/i-/icu.json index c93d766f22..e149b64df5 100644 --- a/versions/i-/icu.json +++ b/versions/i-/icu.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "50a263a104075be2c5647af8e723a18914f6ee13", + "version": "78.3", + "port-version": 2 + }, { "git-tree": "931a42f3b3b911ba73dbbaead4c1e0037a158efd", "version": "78.3",