Mac OS UUID virtual: platform-specific virtuals not correctly prioritized (#43002)
`apple-libuuid` includes types that aren't available in other `uuid` providers; this cause issues in consuming packages (e.g., py-matplotlib) that use SDKs like CarbonCore.framework when they attempt to use `util-linux-uuid` as a `uuid` provider on Mac OS. Tweak `util-linux-uuid` to indicate that it does not provide `uuid` on Mac OS.
This commit is contained in:
		| @@ -3,6 +3,8 @@ | |||||||
| # | # | ||||||
| # SPDX-License-Identifier: (Apache-2.0 OR MIT) | # SPDX-License-Identifier: (Apache-2.0 OR MIT) | ||||||
| 
 | 
 | ||||||
|  | import sys | ||||||
|  | 
 | ||||||
| from spack.package import * | from spack.package import * | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @@ -20,6 +22,7 @@ class Libuuid(AutotoolsPackage, SourceforgePackage): | |||||||
| 
 | 
 | ||||||
|     depends_on("c", type="build")  # generated |     depends_on("c", type="build")  # generated | ||||||
| 
 | 
 | ||||||
|     provides("uuid") |     if sys.platform not in ["darwin", "win32"]: | ||||||
|  |         provides("uuid") | ||||||
| 
 | 
 | ||||||
|     conflicts("%gcc@14:") |     conflicts("%gcc@14:") | ||||||
|   | |||||||
| @@ -3,6 +3,8 @@ | |||||||
| # | # | ||||||
| # SPDX-License-Identifier: (Apache-2.0 OR MIT) | # SPDX-License-Identifier: (Apache-2.0 OR MIT) | ||||||
| 
 | 
 | ||||||
|  | import sys | ||||||
|  | 
 | ||||||
| from spack.package import * | from spack.package import * | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @@ -22,7 +24,8 @@ class OsspUuid(AutotoolsPackage): | |||||||
|     depends_on("c", type="build")  # generated |     depends_on("c", type="build")  # generated | ||||||
|     depends_on("cxx", type="build")  # generated |     depends_on("cxx", type="build")  # generated | ||||||
| 
 | 
 | ||||||
|     provides("uuid") |     if sys.platform not in ["darwin", "win32"]: | ||||||
|  |         provides("uuid") | ||||||
| 
 | 
 | ||||||
|     @property |     @property | ||||||
|     def libs(self): |     def libs(self): | ||||||
|   | |||||||
| @@ -3,6 +3,8 @@ | |||||||
| # | # | ||||||
| # SPDX-License-Identifier: (Apache-2.0 OR MIT) | # SPDX-License-Identifier: (Apache-2.0 OR MIT) | ||||||
| 
 | 
 | ||||||
|  | import sys | ||||||
|  | 
 | ||||||
| from spack.package import * | from spack.package import * | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @@ -29,7 +31,8 @@ class UtilLinuxUuid(AutotoolsPackage): | |||||||
| 
 | 
 | ||||||
|     depends_on("pkgconfig", type="build") |     depends_on("pkgconfig", type="build") | ||||||
| 
 | 
 | ||||||
|     provides("uuid") |     if sys.platform not in ["darwin", "win32"]: | ||||||
|  |         provides("uuid") | ||||||
| 
 | 
 | ||||||
|     def url_for_version(self, version): |     def url_for_version(self, version): | ||||||
|         url = "https://www.kernel.org/pub/linux/utils/util-linux/v{0}/util-linux-{1}.tar.gz" |         url = "https://www.kernel.org/pub/linux/utils/util-linux/v{0}/util-linux-{1}.tar.gz" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Chris Marsh
					Chris Marsh