From bad28e7f9f1264ac5861a1cd7d058f49d08fa1c7 Mon Sep 17 00:00:00 2001 From: Chris Marsh Date: Wed, 26 Feb 2025 10:42:13 -0600 Subject: [PATCH] py-natsort: add new variant +icu and dependent package (#48907) * Add new package py-pyicu to support new py-natsort variant +icu * note version req location Co-authored-by: Wouter Deconinck * bound icu variant Co-authored-by: Wouter Deconinck --------- Co-authored-by: Wouter Deconinck --- .../builtin/packages/py-natsort/package.py | 4 +++ .../builtin/packages/py-pyicu/package.py | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-pyicu/package.py diff --git a/var/spack/repos/builtin/packages/py-natsort/package.py b/var/spack/repos/builtin/packages/py-natsort/package.py index 6c7bcd40981..50523ef9285 100644 --- a/var/spack/repos/builtin/packages/py-natsort/package.py +++ b/var/spack/repos/builtin/packages/py-natsort/package.py @@ -37,3 +37,7 @@ class PyNatsort(PythonPackage): version("4.0.1", sha256="1c1d29150938ca71f0943363a06765dbb2cea01f9c4d760ba880cc65f39baba0") depends_on("py-setuptools", type=("build")) + + variant("icu", default=False, when="@5.0.3:", description="Use icu for locale sorting") + + depends_on("py-pyicu", type=("build", "run"), when="+icu") diff --git a/var/spack/repos/builtin/packages/py-pyicu/package.py b/var/spack/repos/builtin/packages/py-pyicu/package.py new file mode 100644 index 00000000000..db3d3165fa7 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyicu/package.py @@ -0,0 +1,25 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyPyicu(PythonPackage): + """Python extension wrapping the ICU C++ API""" + + homepage = "https://gitlab.pyicu.org/main/pyicu" + pypi = "PyICU/PyICU-2.14.tar.gz" + + maintainers("Chrismarsh") + + license("MIT", checked_by="Chrismarsh") + + version("2.14", sha256="acc7eb92bd5c554ed577249c6978450a4feda0aa6f01470152b3a7b382a02132") + + depends_on("cxx", type="build") + + depends_on("py-setuptools", type="build") + depends_on("pkgconfig", type="build") + + depends_on("icu4c@:76") # ICU_MAX_MAJOR_VERSION in setup.py