Skip to content

[icu] Fix use of fallback install-sh - #53279

Merged
Billy O'Neal (BillyONeal) merged 2 commits into
microsoft:masterfrom
dg0yt:icu
Aug 11, 2026
Merged

[icu] Fix use of fallback install-sh#53279
Billy O'Neal (BillyONeal) merged 2 commits into
microsoft:masterfrom
dg0yt:icu

Conversation

@dg0yt

@dg0yt Kai Pastor (dg0yt) commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

icu uses AC_PROG_INSTALL which tries to find a fast binary install and uses a slow install-sh script as fallback.
When the fallback is used, icu prepends $(top_srcdir) for (some) in-source builds. But vcpkg builds out-of-source, and the value of INSTALL is valid only for the toplevel build dir.
So this patch prepends $(top_builddir) instead in order construct a valid path for every possible case.

In addition, workaround install-sh not handling multiple files in one invocation.

To verify, rename /usr/bin/install or similar before installing icu. (E.g. apply

vcpkg_replace_string("${SOURCE_PATH}/source/configure" "DUALCASE=1" "mv /usr/bin/install /usr/bin/install.orig\nDUALCASE=1" IGNORE_UNCHANGED)

after vcpkg_extract_source_archive.)

Alternative to / closes #52618.
Fixes #51759.
Fixes #50967.
Fixes #48887.
Fixes #48141.
Fixes #46567.

@dg0yt

Copy link
Copy Markdown
Contributor Author

@dg0yt
Kai Pastor (dg0yt) marked this pull request as draft August 8, 2026 13:45
@dg0yt

Copy link
Copy Markdown
Contributor Author

But does install-sh do what is expected 🤔

@dg0yt

Kai Pastor (dg0yt) commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author

Unfortunately, the 25 year old install-sh from X11R5 (!) is not fit for today's expectations such as installing multiple files at once. And that's why it fails to install all pkgconfig files, as seen before in #52618.

@dg0yt
Kai Pastor (dg0yt) marked this pull request as ready for review August 10, 2026 18:11
@dg0yt Kai Pastor (dg0yt) changed the title [icu] Fix path to fallback install-sh [icu] Fix use of fallback install-sh Aug 10, 2026

@BillyONeal Billy O'Neal (BillyONeal) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes ICU fallback install-sh usage for out-of-source builds.

Changes:

  • Uses top_builddir for fallback installer paths.
  • Installs pkg-config files individually.
  • Bumps ICU’s port version.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
ports/icu/fix-using-install-sh.diff Adds fallback installer fixes.
ports/icu/portfile.cmake Applies the new patch.
ports/icu/vcpkg.json Bumps port version.
versions/baseline.json Updates baseline metadata.
versions/i-/icu.json Records the new port version.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +11 to +13
+ @for file in $(ALL_PKGCONFIG_FILES); do \
+ $(INSTALL_DATA) "$${file}" $(DESTDIR)$(libdir)/pkgconfig/ ; \
+ done
@BillyONeal
Billy O'Neal (BillyONeal) merged commit 1c67b4d into microsoft:master Aug 11, 2026
16 checks passed
@dg0yt
Kai Pastor (dg0yt) deleted the icu branch August 11, 2026 19:32
Saikari (luadebug) pushed a commit to luadebug/vcpkg that referenced this pull request Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants