From e783b55c80c1a8b8b092c9c54d53a15dc05f98c4 Mon Sep 17 00:00:00 2001 From: Kai Pastor Date: Thu, 6 Aug 2026 21:57:43 +0200 Subject: [PATCH 1/2] [icu] Fix path to fallback install-sh --- ports/icu/fix-using-install-sh.diff | 23 +++++++++++++++++++++++ ports/icu/portfile.cmake | 1 + ports/icu/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/i-/icu.json | 5 +++++ 5 files changed, 31 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 00000000000000..d427afffe19250 --- /dev/null +++ b/ports/icu/fix-using-install-sh.diff @@ -0,0 +1,23 @@ +diff --git a/source/configure b/source/configure +index a6df219..2e1ebcf 100644 +--- 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 a1aaeee59c7ec7..67e37f03342bd0 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 098e7c84b8836d..d296c30bb18872 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 e10984dfb7a070..5eeaef1449a300 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 c93d766f222bc6..ed9ee8f754f402 100644 --- a/versions/i-/icu.json +++ b/versions/i-/icu.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "da9f6dddd34300c1eea72aadde1d774ce2d3f31c", + "version": "78.3", + "port-version": 2 + }, { "git-tree": "931a42f3b3b911ba73dbbaead4c1e0037a158efd", "version": "78.3", From cc502c8de0b6356c33ee30be14bca272250c9168 Mon Sep 17 00:00:00 2001 From: Kai Pastor Date: Sat, 8 Aug 2026 20:48:07 +0200 Subject: [PATCH 2/2] Fix multi-file use of install-sh --- ports/icu/fix-using-install-sh.diff | 18 +++++++++++++++++- versions/i-/icu.json | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ports/icu/fix-using-install-sh.diff b/ports/icu/fix-using-install-sh.diff index d427afffe19250..43a86dea5aa45a 100644 --- a/ports/icu/fix-using-install-sh.diff +++ b/ports/icu/fix-using-install-sh.diff @@ -1,5 +1,21 @@ +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 a6df219..2e1ebcf 100644 +index dfa3a091f8..8ee911d42d 100755 --- a/source/configure +++ b/source/configure @@ -4935,12 +4935,12 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' diff --git a/versions/i-/icu.json b/versions/i-/icu.json index ed9ee8f754f402..e149b64df5aa5f 100644 --- a/versions/i-/icu.json +++ b/versions/i-/icu.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "da9f6dddd34300c1eea72aadde1d774ce2d3f31c", + "git-tree": "50a263a104075be2c5647af8e723a18914f6ee13", "version": "78.3", "port-version": 2 },