From f25cbb0fe48acb13696ab2a211c6a889333e9d71 Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:19:28 -0400 Subject: [PATCH] icu4c package: fix windows build quoting issue (#49196) ICU4C's NMAKE seems to over-quote to the degree that it passes paths like """" which confuses the Python command line in subprocesses the build starts --- .../icu4c/ICU4C_NMAKE_NO_DOUBLE_QUOTE_VARS.patch | 13 +++++++++++++ var/spack/repos/builtin/packages/icu4c/package.py | 3 +++ 2 files changed, 16 insertions(+) create mode 100644 var/spack/repos/builtin/packages/icu4c/ICU4C_NMAKE_NO_DOUBLE_QUOTE_VARS.patch diff --git a/var/spack/repos/builtin/packages/icu4c/ICU4C_NMAKE_NO_DOUBLE_QUOTE_VARS.patch b/var/spack/repos/builtin/packages/icu4c/ICU4C_NMAKE_NO_DOUBLE_QUOTE_VARS.patch new file mode 100644 index 00000000000..d0c57b03190 --- /dev/null +++ b/var/spack/repos/builtin/packages/icu4c/ICU4C_NMAKE_NO_DOUBLE_QUOTE_VARS.patch @@ -0,0 +1,13 @@ +diff --git a/source/test/testdata/testdata.mak b/source/test/testdata/testdata.mak +index 2809efd..02f5b79 100644 +--- a/source/test/testdata/testdata.mak ++++ b/source/test/testdata/testdata.mak +@@ -25,7 +25,7 @@ ALL : "$(TESTDATAOUT)\testdata.dat" + + # old_e_testtypes.res is the same, but icuswapped to big-endian EBCDIC + +-TESTDATATMP="$(TESTDATAOUT)\testdata" ++TESTDATATMP=$(TESTDATAOUT)\testdata + + CREATE_DIRS : + @if not exist "$(TESTDATAOUT)\$(NULL)" mkdir "$(TESTDATAOUT)" diff --git a/var/spack/repos/builtin/packages/icu4c/package.py b/var/spack/repos/builtin/packages/icu4c/package.py index 3766bca23fd..44385d4d7bc 100644 --- a/var/spack/repos/builtin/packages/icu4c/package.py +++ b/var/spack/repos/builtin/packages/icu4c/package.py @@ -53,6 +53,9 @@ class Icu4c(AutotoolsPackage, MSBuildPackage): depends_on("automake", type="build") depends_on("libtool", type="build") + with when("build_system=msbuild"): + patch("ICU4C_NMAKE_NO_DOUBLE_QUOTE_VARS.patch", when="@64.1:") + conflicts( "%intel@:16", when="@60.1:",