From 067dbebae2bf813e32a6a29ddc4456f400ee2237 Mon Sep 17 00:00:00 2001 From: Ezra Brooks Date: Wed, 4 Nov 2026 14:09:30 -0700 Subject: [PATCH 1/2] Conditional Pythons 3.12-3.14 for lyrical --- AGENTS.md | 5 + README.md | 10 ++ distros/lyrical/conda_build_config.yaml | 11 +- distros/lyrical/distro.yaml | 19 ++- distros/lyrical/vinca.yaml | 7 +- tools/python_abi_audit.py | 216 ++++++++++++++++++++++++ tools/robostack.py | 2 + tools/tests/test_python_abi_audit.py | 30 ++++ 8 files changed, 291 insertions(+), 9 deletions(-) create mode 100644 tools/python_abi_audit.py create mode 100644 tools/tests/test_python_abi_audit.py diff --git a/AGENTS.md b/AGENTS.md index 8e51076a9..cb1111f06 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -21,6 +21,10 @@ to read without Claude): into `distros//`. - Run everything per distribution with `pixi run rs `, from the repository root. Package names are `ros2-` (dashes), e.g. `ros2-rsl`. +- lyrical builds packages with Python content for Python 3.12-3.14 and the others once + (`conditional_python_dependency`, see README "Python versions"). A built-once package + that fails its `package_contents` test ships Python after all: add `python` to its + `add_host` in `patch/dependencies.yaml`. - Never edit `conda_build_config.yaml` by hand: change `shared/pinning/` or the distribution's `distro.yaml`, then `pixi run rs render-pinning` (CI checks it). - A change outside `distros/` rebuilds every distribution in CI; keep such PRs focused. @@ -51,6 +55,7 @@ pixi run rs build --continue-on-failure # everything missing on the chan pixi run rs check-patches [--recipe ros2-] pixi run rs check-deps # pin conflicts, before building anything pixi run rs gap-report # recipes without artifacts and vice versa +pixi run rs python-audit [--elf] # per-Python vs built-once recipes against the published packages pixi run rs add-package ... [...] # select packages (as the bot does) pixi run rs check # sanity checks (CI) ``` diff --git a/README.md b/README.md index 3e9e04305..77d0ee386 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,16 @@ pixi run rs check # sanity checks (also run in CI) of a distribution uses `full_rebuild: true` there. A new build number goes into its `pkg_additional_info.yaml` (one package) or `vinca.yaml` (everything). +**Python versions:** a distribution's `pinning_overrides` can list several Pythons, as +lyrical does for 3.12-3.14. With `conditional_python_dependency: true` in its +`vinca.yaml`, only packages with Python content (Python modules, rosidl Python bindings, +extensions) get python in host/run and are built once per Python; the others are built +once, without a `python_abi` dependency, and fail their build if they ship +`site-packages` content or a CPython extension anyway. When vinca's guess from +`package.xml` is wrong, add `python` to the package's `add_host` (or `remove_host`) in +`patch/dependencies.yaml`. `pixi run rs python-audit [--elf]` compares the +guess with the published packages and lists the misses. + **Building only some distributions in a PR:** a PR builds the distributions it changes, and all of them as soon as it touches anything outside `distros//`. To limit that (e.g. a humble rebuild that also changes `shared/` or `tools/`), add the label diff --git a/distros/lyrical/conda_build_config.yaml b/distros/lyrical/conda_build_config.yaml index f95422a34..65159c500 100644 --- a/distros/lyrical/conda_build_config.yaml +++ b/distros/lyrical/conda_build_config.yaml @@ -1000,8 +1000,9 @@ pythia8: python: # conda-forge supports only 3.14+ for win-arm64 and linux-riscv64 # part of a zip_keys: python, is_python_min + - 3.12.* *_cpython # [not ((win and arm64) or riscv64)] + - 3.13.* *_cp313 # [not ((win and arm64) or riscv64)] - 3.14.* *_cp314 - - 3.12.* *_cpython python_impl: - cpython @@ -1009,14 +1010,16 @@ python_impl: python_min: # minimum supported python version per CFEP-25 # bump to next minor version when we drop python versions - - '3.11' # [not ((win and arm64) or riscv64)] + - '3.12' # [not ((win and arm64) or riscv64)] - '3.14' # [(win and arm64) or riscv64] is_freethreading: - false is_python_min: # part of a zip_keys: python, is_python_min - - false - - false + - true # [not ((win and arm64) or riscv64)] + - false # [not ((win and arm64) or riscv64)] + - false # [not ((win and arm64) or riscv64)] + - true # [(win and arm64) or riscv64] is_abi3: - true pytorch: diff --git a/distros/lyrical/distro.yaml b/distros/lyrical/distro.yaml index 33b9e0ddf..b9f2ed47d 100644 --- a/distros/lyrical/distro.yaml +++ b/distros/lyrical/distro.yaml @@ -7,10 +7,21 @@ upload_to: [prefix, anaconda] read_from: prefix rosdistro_sync: lyrical/2026-10-05 pinning_overrides: - # build every python package for 3.14 (the shared default) and 3.12; - # is_python_min is zipped with python, so it needs one entry per version - python: [3.14.* *_cp314, 3.12.* *_cpython] - is_python_min: [false, false] + # Lyrical supports Python 3.12-3.14 (REP 2000). Packages with Python content are + # built for each (vinca.yaml: conditional_python_dependency), the others once. + # conda-forge has only 3.14+ for win-arm64 and linux-riscv64, so those get one variant. + python: + - 3.12.* *_cpython # [not ((win and arm64) or riscv64)] + - 3.13.* *_cp313 # [not ((win and arm64) or riscv64)] + - 3.14.* *_cp314 + is_python_min: + - true # [not ((win and arm64) or riscv64)] + - false # [not ((win and arm64) or riscv64)] + - false # [not ((win and arm64) or riscv64)] + - true # [(win and arm64) or riscv64] + python_min: + - '3.12' # [not ((win and arm64) or riscv64)] + - '3.14' # [(win and arm64) or riscv64] # every pyqt6 6.11.0 build on conda-forge needs qt6-main <=6.11.2, but the shared # `6.11` pin resolves to 6.11.3, whose run export (>=6.11.3) rules pyqt6 out: the # rqt packages then can't be installed with python_qt_binding. The published diff --git a/distros/lyrical/vinca.yaml b/distros/lyrical/vinca.yaml index 15070a041..2306e66a9 100644 --- a/distros/lyrical/vinca.yaml +++ b/distros/lyrical/vinca.yaml @@ -3,7 +3,12 @@ ros_distro: lyrical patch_dir: patch rosdistro_snapshot: rosdistro_snapshot.yaml rosdistro_additional_recipes: rosdistro_additional_recipes.yaml -build_number: 30 +build_number: 31 +# Only packages with Python content get python in host/run, and with it the Python +# variants of distro.yaml (cp312-cp314); the others are built once, without a +# python_abi dependency. Override the classification per package with python in +# add_host (or remove_host) in patch/dependencies.yaml. +conditional_python_dependency: true mutex_package: version: 0.22.0 diff --git a/tools/python_abi_audit.py b/tools/python_abi_audit.py new file mode 100644 index 000000000..ac0de1d2d --- /dev/null +++ b/tools/python_abi_audit.py @@ -0,0 +1,216 @@ +"""Check vinca's Python classification (conditional_python_dependency) against the +published packages. + + pixi run rs lyrical python-audit # linux-64, info/paths.json only + pixi run rs lyrical python-audit --elf # also scan ELF files for libpython + pixi run rs lyrical python-audit --platform osx-arm64 --json audit.json + +A generated recipe (work/recipes) either has python in host, and is built for every +Python of the distribution's pinning, or not, and is built once. This compares that +with what the newest published build of each ros2-* package actually contains: + +- native: CPython extensions (*.cpython-*.so, *.pyd), rosidl_generator_py libraries, + or (--elf) ELF files that link libpython; +- pure: only Python modules (site-packages); +- none: no Python content. + +A recipe built once whose published package has Python content is a miss: that +content would only work with the Python it happened to be built with. Misses make +the exit status 1; fix them with `add_host: ["python"]` in patch/dependencies.yaml. +Recipes built per Python without Python content in the package are only reported +(an unneeded rebuild per Python, not a broken package). + +Run it before the switch to per-Python builds, while the channel still has the +packages that were built with python in host (their content is complete). +""" + +from __future__ import annotations + +import argparse +import io +import json +import re +import sys +import tarfile +import urllib.request +import zipfile +from concurrent.futures import ThreadPoolExecutor +from pathlib import Path + +import yaml +import zstandard + +UA = {"User-Agent": "robostack-python-audit"} +SITE_PACKAGES = re.compile(r"(^|/)(lib/python[0-9.]*/site-packages|Lib/site-packages)/") +EXTENSION = re.compile(r"\.cpython-[^/]*\.(so|dylib)$|\.pyd$") + + +class RangeReader(io.RawIOBase): + """A remote file read with HTTP range requests (zipfile only needs the end and + the info-*.tar.zst member of a .conda).""" + + def __init__(self, url: str): + with urllib.request.urlopen(urllib.request.Request(url, headers={**UA, "Range": "bytes=0-0"}), + timeout=120) as r: + self.url = r.url + content_range = r.headers.get("Content-Range") + if r.status != 206 or not content_range: + raise OSError(f"{url}: no range support") + self.size = int(content_range.split("/")[1]) + self.pos = 0 + + def readable(self) -> bool: + return True + + def seekable(self) -> bool: + return True + + def tell(self) -> int: + return self.pos + + def seek(self, offset: int, whence: int = 0) -> int: + self.pos = {0: offset, 1: self.pos + offset, 2: self.size + offset}[whence] + return self.pos + + def readinto(self, b) -> int: + n = min(len(b), self.size - self.pos) + if n <= 0: + return 0 + headers = {**UA, "Range": f"bytes={self.pos}-{self.pos + n - 1}"} + with urllib.request.urlopen(urllib.request.Request(self.url, headers=headers), timeout=300) as r: + data = r.read() + b[: len(data)] = data + self.pos += len(data) + return len(data) + + +def open_conda(url: str, whole: bool) -> zipfile.ZipFile: + if not whole: + try: + return zipfile.ZipFile(io.BufferedReader(RangeReader(url), buffer_size=1 << 16)) + except OSError: + pass + with urllib.request.urlopen(urllib.request.Request(url, headers=UA), timeout=600) as r: + return zipfile.ZipFile(io.BytesIO(r.read())) + + +def members(z: zipfile.ZipFile, prefix: str): + name = next(n for n in z.namelist() if n.startswith(prefix)) + stream = zstandard.ZstdDecompressor().stream_reader(z.open(name)) + with tarfile.open(fileobj=stream, mode="r|") as tar: + for member in tar: + if member.isfile(): + yield member, tar.extractfile(member) + + +def inspect(url: str, elf: bool) -> dict: + """Classify by info/paths.json; with *elf*, a package without Python files is + downloaded whole and its ELF files are searched for libpython (embedding).""" + for attempt in range(3): + try: + z = open_conda(url, whole=False) + paths = [] + for member, f in members(z, "info-"): + if member.name == "info/paths.json": + paths = [p["_path"] for p in json.load(f)["paths"]] + break + result = classify(paths, []) + if elf and result["content"] == "none": + linked = [member.name for member, f in members(open_conda(url, whole=True), "pkg-") + if (data := f.read())[:4] == b"\x7fELF" and b"libpython3." in data] + result = classify(paths, linked) + return result + except Exception as err: # noqa: BLE001 - network or archive trouble: retried, then reported + error = err + return {"content": "error", "error": str(error)} + + +def classify(paths: list[str], linked: list[str]) -> dict: + site = [p for p in paths if SITE_PACKAGES.search(p)] + native = [p for p in paths if EXTENSION.search(p)] + native += [p for p in paths if "rosidl_generator_py" in p and re.search(r"\.(so|dylib|dll)$", p)] + native += linked + content = "native" if native else "pure" if site else "none" + return {"content": content, "examples": (native or site)[:3]} + + +def flatten(requirements) -> list[str]: + out = [] + for r in requirements or []: + if isinstance(r, dict): + out += flatten(r.get("then")) + flatten(r.get("else")) + else: + out.append(str(r)) + return out + + +def recipes_needing_python(recipes: Path) -> dict[str, bool]: + result = {} + for path in sorted(recipes.glob("ros2-*/recipe.yaml")): + recipe = yaml.safe_load(path.read_text()) + host = flatten((recipe.get("requirements") or {}).get("host")) + result[recipe["package"]["name"]] = "python" in host + return result + + +def newest_builds(repodata: dict) -> dict[str, str]: + records = {**repodata.get("packages", {}), **repodata.get("packages.conda", {})} + newest: dict[str, tuple] = {} + for fn, rec in records.items(): + key = (rec["build_number"], rec.get("timestamp", 0)) + if rec["name"].startswith("ros2-") and key > newest.get(rec["name"], ((-1, 0), ""))[0]: + newest[rec["name"]] = (key, fn) + return {name: fn for name, (_, fn) in newest.items()} + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + parser.add_argument("--channel", required=True, help="channel URL, e.g. https://prefix.dev/robostack-lyrical") + parser.add_argument("--platform", default="linux-64") + parser.add_argument("--recipes", default="recipes", type=Path, help="generated recipes (default: ./recipes)") + parser.add_argument("--elf", action="store_true", + help="download the packages without Python files and look for libpython in their ELF files") + parser.add_argument("--json", type=Path, help="write the per-package results here") + args = parser.parse_args() + + needs = recipes_needing_python(args.recipes) + if not needs: + print(f"No ros2-* recipes in {args.recipes}: run generate-recipes first", file=sys.stderr) + return 1 + with urllib.request.urlopen(urllib.request.Request(f"{args.channel}/{args.platform}/repodata.json", headers=UA), + timeout=300) as r: + published = newest_builds(json.load(r)) + + names = [n for n in needs if n in published] + def work(name: str) -> tuple[str, dict]: + url = f"{args.channel}/{args.platform}/{published[name]}" + return name, {"file": published[name], **inspect(url, elf=args.elf)} + + with ThreadPoolExecutor(16) as pool: + results = dict(pool.map(work, names)) + + misses = sorted(n for n, r in results.items() if not needs[n] and r["content"] in ("native", "pure")) + unneeded = sorted(n for n, r in results.items() if needs[n] and r["content"] == "none") + errors = sorted(n for n, r in results.items() if r["content"] == "error") + counts: dict[tuple[bool, str], int] = {} + for n, r in results.items(): + counts[(needs[n], r["content"])] = counts.get((needs[n], r["content"]), 0) + 1 + + print(f"{len(needs)} recipes, {len(results)} with a published {args.platform} package, " + f"{len(needs) - len(results)} unpublished") + for (per_python, content), count in sorted(counts.items()): + print(f" {'per Python' if per_python else 'built once':10} package content {content:7} {count}") + for name in misses: + print(f"MISS {name}: built once, but ships {results[name]['content']} Python: {results[name]['examples']}") + if unneeded: + print(f"{len(unneeded)} recipes are built per Python without Python content: {', '.join(unneeded)}") + for name in errors: + print(f"ERROR {name}: {results[name]['error']}", file=sys.stderr) + if args.json: + args.json.write_text(json.dumps({n: {"per_python": needs[n], **r} for n, r in results.items()}, + indent=1, sort_keys=True) + "\n") + return 1 if misses or errors else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/robostack.py b/tools/robostack.py index 8b723dfa9..bc4ac219c 100644 --- a/tools/robostack.py +++ b/tools/robostack.py @@ -532,6 +532,8 @@ def task(distro: str, name: str, args: list[str]) -> int: return run(py + [str(TOOLS / "check_dependency_compat.py"), *args], w) if name == "gap-report": return run(py + [str(TOOLS / "build_gap_report.py"), *args], w) + if name == "python-audit": + return run(py + [str(TOOLS / "python_abi_audit.py"), "--channel", repodata_url(distro), *args], w) if name in ("build", "build-one"): if not (w / "recipes").is_dir(): print(f"No {(w / 'recipes').relative_to(ROOT)}: run `pixi run rs {distro} generate-recipes` first", diff --git a/tools/tests/test_python_abi_audit.py b/tools/tests/test_python_abi_audit.py new file mode 100644 index 000000000..580f858fd --- /dev/null +++ b/tools/tests/test_python_abi_audit.py @@ -0,0 +1,30 @@ +import python_abi_audit as audit + + +def test_classify_by_package_content(): + assert audit.classify(["share/a/package.xml", "share/a/launch/__pycache__/x.cpython-314.pyc"], [])["content"] == "none" + assert audit.classify(["lib/python3.14/site-packages/a/__init__.py"], [])["content"] == "pure" + assert audit.classify(["lib/python/site-packages/a/__init__.py"], [])["content"] == "pure" + assert audit.classify(["Lib/site-packages/a/__init__.py"], [])["content"] == "pure" + assert audit.classify(["lib/a/_a.cpython-314-x86_64-linux-gnu.so"], [])["content"] == "native" + assert audit.classify(["Lib/site-packages/a/_a.cp314-win_amd64.pyd"], [])["content"] == "native" + assert audit.classify(["lib/liba_msgs__rosidl_generator_py.so"], [])["content"] == "native" + assert audit.classify(["lib/a/node"], ["lib/a/node"])["content"] == "native" + + +def test_recipes_needing_python_reads_host(tmp_path): + for name, host in (("ros2-a", "[{if: unix, then: [python]}, ros2-b]"), + ("ros2-b", "[\"python ${{ python_min }}.*\"]"), + ("ros-lyrical-a", "[python]")): + (tmp_path / name).mkdir() + (tmp_path / name / "recipe.yaml").write_text(f"package: {{name: {name}}}\nrequirements:\n host: {host}\n") + assert audit.recipes_needing_python(tmp_path) == {"ros2-a": True, "ros2-b": False} + + +def test_newest_builds_takes_the_highest_build_number(): + def rec(name, number, timestamp=0): + return {"name": name, "build_number": number, "timestamp": timestamp} + + repodata = {"packages.conda": {"a-1-h_30.conda": rec("ros2-a", 30), "a-1-h_29.conda": rec("ros2-a", 29, 9), + "a-1-g_30.conda": rec("ros2-a", 30, 5), "x.conda": rec("ros-lyrical-a", 31)}} + assert audit.newest_builds(repodata) == {"ros2-a": "a-1-g_30.conda"} From 543b5132f6ca6cfb85b99b10982d119ec7899f81 Mon Sep 17 00:00:00 2001 From: Ezra Brooks Date: Thu, 12 Nov 2026 10:11:39 -0700 Subject: [PATCH 2/2] Temporarily pin rattler-build to its main for prefix-dev/rattler-build#2931 A build or test waited for any variant of a dependency, not the one it can install: e.g. a Python 3.13 test started once the 3.12 package it needs was built, and failed to solve. The pre-releases (built from main, for linux-64, osx-arm64 and win-64; built for glibc 2.28) from prefix.dev's rattler-build-pre-release channel, and the same commit built from git on osx-64 and linux-aarch64. patchelf, which only conda-forge's package depends on, is added on Linux. Locked with pixi 0.81.0, the workflows' version: the source packages' identity differs between pixi versions. --- pixi.lock | 1003 ++++++++++++++++++++++++++++++++++++++++++++++++----- pixi.toml | 25 +- 2 files changed, 941 insertions(+), 87 deletions(-) diff --git a/pixi.lock b/pixi.lock index ab0edb4f3..701ea4b85 100644 --- a/pixi.lock +++ b/pixi.lock @@ -1,11 +1,10 @@ version: 7 platforms: -- name: linux-64-glibc-2-17 - subdir: linux-64 +- name: linux-64 virtual-packages: - - __glibc=2.17 - __unix=0=0 - __linux=4.18 + - __glibc=2.28 - __archspec=0=x86_64 - name: linux-aarch64-glibc-2-17 subdir: linux-aarch64 @@ -32,10 +31,11 @@ environments: default: channels: - url: https://prefix.dev/conda-forge/ + - url: https://prefix.dev/rattler-build-pre-release/ indexes: - https://pypi.org/simple packages: - linux-64-glibc-2-17: + linux-64: - conda: https://prefix.dev/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://prefix.dev/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - conda: https://prefix.dev/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda @@ -70,7 +70,6 @@ environments: - conda: https://prefix.dev/conda-forge/linux-64/patchelf-0.19.2-hee9eb32_0.conda - conda: https://prefix.dev/conda-forge/linux-64/python-3.14.7-hcd007b5_106_cp314.conda - conda: https://prefix.dev/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda - - conda: https://prefix.dev/conda-forge/linux-64/rattler-build-0.80.0-hf01adef_0.conda - conda: https://prefix.dev/conda-forge/linux-64/rattler-index-0.31.5-h10a7753_0.conda - conda: https://prefix.dev/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://prefix.dev/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda @@ -90,6 +89,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://prefix.dev/rattler-build-pre-release/linux-64/rattler-build-0.80.0.20261111.1453.252f9c-h7cbaff8_0.conda - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl @@ -150,7 +150,6 @@ environments: - conda: https://prefix.dev/conda-forge/linux-aarch64/patchelf-0.19.2-hfb11796_0.conda - conda: https://prefix.dev/conda-forge/linux-aarch64/python-3.14.7-hbec3b18_106_cp314.conda - conda: https://prefix.dev/conda-forge/linux-aarch64/pyyaml-6.0.3-py314h807365f_1.conda - - conda: https://prefix.dev/conda-forge/linux-aarch64/rattler-build-0.80.0-hc342849_0.conda - conda: https://prefix.dev/conda-forge/linux-aarch64/rattler-index-0.31.5-hf75afee_0.conda - conda: https://prefix.dev/conda-forge/linux-aarch64/readline-8.3-ha7194a6_1.conda - conda: https://prefix.dev/conda-forge/linux-aarch64/rhash-1.4.6-he30d5cf_2.conda @@ -170,6 +169,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda_source: rattler-build[b4a62793] @ git+https://github.com/prefix-dev/rattler-build?rev=0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d#0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl @@ -236,13 +236,13 @@ environments: - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.6.5-h332eb6d_0.conda - conda: https://prefix.dev/conda-forge/osx-64/python-3.14.7-hafa0b4b_106_cp314.conda - conda: https://prefix.dev/conda-forge/osx-64/pyyaml-6.0.3-py314h10d0514_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/rattler-build-0.80.0-h9a0f642_0.conda - conda: https://prefix.dev/conda-forge/osx-64/rattler-index-0.31.5-hca43645_0.conda - conda: https://prefix.dev/conda-forge/osx-64/readline-8.3-h000c2f7_1.conda - conda: https://prefix.dev/conda-forge/osx-64/rhash-1.4.6-ha1e9b39_2.conda - conda: https://prefix.dev/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda - conda: https://prefix.dev/conda-forge/osx-64/yaml-0.2.5-had63097_3.conda - conda: https://prefix.dev/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda + - conda_source: rattler-build[4af41fa8] @ git+https://github.com/prefix-dev/rattler-build?rev=0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d#0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl @@ -309,13 +309,13 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/python-3.14.7-h0ae1c2c_106_cp314.conda - conda: https://prefix.dev/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/rattler-build-0.80.0-h2ace698_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/rattler-index-0.31.5-h7b803a5_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda - conda: https://prefix.dev/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - conda: https://prefix.dev/conda-forge/osx-arm64/yaml-0.2.5-h74c22ad_3.conda - conda: https://prefix.dev/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda + - conda: https://prefix.dev/rattler-build-pre-release/osx-arm64/rattler-build-0.80.0.20261111.1453.252f9c-h2d708b9_0.conda - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl @@ -380,7 +380,6 @@ environments: - conda: https://prefix.dev/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda - conda: https://prefix.dev/conda-forge/win-64/python-3.14.7-h53f6dd8_106_cp314.conda - conda: https://prefix.dev/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda - - conda: https://prefix.dev/conda-forge/win-64/rattler-build-0.80.0-he94b42d_0.conda - conda: https://prefix.dev/conda-forge/win-64/rattler-index-0.31.5-h91801bb_0.conda - conda: https://prefix.dev/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda - conda: https://prefix.dev/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda @@ -389,6 +388,7 @@ environments: - conda: https://prefix.dev/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - conda: https://prefix.dev/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://prefix.dev/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda + - conda: https://prefix.dev/rattler-build-pre-release/win-64/rattler-build-0.80.0.20261111.1453.252f9c-hc42f684_0.conda - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl @@ -935,23 +935,6 @@ packages: run_exports: {} size: 202391 timestamp: 1770223462836 -- conda: https://prefix.dev/conda-forge/linux-64/rattler-build-0.80.0-hf01adef_0.conda - sha256: a336fa8f1577e1acdccea42429f7c685517102b763720f1774e9ddf228580da6 - md5: 0a0da6c91e654109ebdf539d6dcb3237 - depends: - - patchelf - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - openssl >=3.5.9,<4.0a0 - constrains: - - __glibc >=2.17 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: {} - size: 22238528 - timestamp: 1793372555074 - conda: https://prefix.dev/conda-forge/linux-64/rattler-index-0.31.5-h10a7753_0.conda sha256: 09cc437c855086dacc5eb079e0ef4e803ad1481a01e2d1888a61aee0997acc4a md5: a7095c222125caa80758999f633e1fca @@ -1058,6 +1041,28 @@ packages: - _openmp_mutex >=4.5 size: 28926 timestamp: 1770939656741 +- conda: https://prefix.dev/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_103.conda + sha256: 1827893f9d6aa13794196b1820b8003bfff0105774a323a61026a16cec6dc66d + md5: 1ebaa45e5556156b3c7bf5bd5c527634 + depends: + - ld_impl_linux-aarch64 2.46.1 default_h1979696_103 + - sysroot_linux-aarch64 + - zstd >=1.5.7,<1.6.0a0 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 4911258 + timestamp: 1791565579362 +- conda: https://prefix.dev/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_103.conda + sha256: 60e63ac488aac474f8a22ea465d317daa02fccd039cca75e288bd0fc37e8745a + md5: 9074b4a634a2be79ee49cd85b54a7f34 + depends: + - binutils_impl_linux-aarch64 2.46.1 default_h5f4c503_103 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 36474 + timestamp: 1791565619784 - conda: https://prefix.dev/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda sha256: 24eacc8a20fd7c4616566178562bef7f9344eb4a8700cfc3180fa75a6ff9d39f md5: fd544ef1c672d645bf78e5819cbb8f91 @@ -1084,6 +1089,18 @@ packages: - c-ares >=1.34.8,<2.0a0 size: 241210 timestamp: 1787169968125 +- conda: https://prefix.dev/conda-forge/linux-aarch64/c-ares-1.34.9-h29ee22c_0.conda + sha256: 76683c88b796b7d72ef5d675e86d3b9959d2af1c78343e9ba2ff041d5029e06d + md5: c61dc9d27115dab06c3310cc29e07df2 + depends: + - libgcc >=15 + license: MIT + license_family: MIT + run_exports: + weak: + - c-ares >=1.34.9,<2.0a0 + size: 246798 + timestamp: 1792507030564 - conda: https://prefix.dev/conda-forge/linux-aarch64/cmake-3.31.8-hc9d863e_0.conda sha256: 91cbfd13132b7253a6ef001292f5cf59deac38d2cbc86d6c1ad6ebf344cd998c md5: 855e698fd08794a573cd6104be8da4d0 @@ -1105,6 +1122,57 @@ packages: run_exports: {} size: 20216587 timestamp: 1757877248575 +- conda: https://prefix.dev/conda-forge/linux-aarch64/cmake-4.4.5-hcbeb305_0.conda + sha256: 03939657116236bf5591870357e6afcc82da502d61dde217b0eb0a5d97264a7b + md5: e67d6face714b570ca9243958ab26b49 + depends: + - libstdcxx >=15 + - libgcc >=15 + - libuv >=1.52.1,<2.0a0 + - ncurses >=6.6,<7.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - rhash >=1.4.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libcurl >=8.23.0,<9.0a0 + - libexpat >=2.9.0,<3.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 25498035 + timestamp: 1793157042358 +- conda: https://prefix.dev/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-16.2.0-h5425ead_7.conda + sha256: eaf481958a862ed63c66baa572753f3c3e2cd6e690fd5abd1cc3088fdde4a323 + md5: a776ce379abbde6656380f78f4767c9c + depends: + - binutils_impl_linux-aarch64 >=2.46.1 + - libgcc >=16.2.0 + - libgcc-devel_linux-aarch64 16.2.0 hc0c2482_107 + - libgomp >=16.2.0 + - libsanitizer 16.2.0 h73cac2c_7 + - libstdcxx >=16.2.0 + - libstdcxx-devel_linux-aarch64 16.2.0 h082e5f6_107 + - sysroot_linux-aarch64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 76870083 + timestamp: 1790302426116 +- conda: https://prefix.dev/conda-forge/linux-aarch64/gcc_linux-aarch64-16.2.0-h25cc031_2.conda + sha256: 5052e2a8de79d0beca4a512775ea89cacd843f4f36c0bcb9bce9629b7962395d + md5: 243f3b6fa9b91424dbb79d34aade7c15 + depends: + - gcc_impl_linux-aarch64 16.2.0.* + - binutils_linux-aarch64 + - sysroot_linux-aarch64 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - libgcc >=16 + size: 30120 + timestamp: 1789573319484 - conda: https://prefix.dev/conda-forge/linux-aarch64/gh-2.102.0-h22914b5_0.conda sha256: df3d569bf607a455acd22f84c10685b308f8d232e941ce732f83ddbeac2d1159 md5: a81254c263bec3c65036831215c361c3 @@ -1137,6 +1205,19 @@ packages: - icu >=78.3,<79.0a0 size: 14688525 timestamp: 1786545779464 +- conda: https://prefix.dev/conda-forge/linux-aarch64/icu-79.1-py313h6ffeb17_0.conda + sha256: 3a9980bb831de258c56d6861fb7bc5aeaadb7cbc143a684b56b1d178dc9a24e9 + md5: eb33eb38cecf92d76567bc5561e8bd00 + depends: + - libstdcxx >=15 + - libgcc >=15 + license: MIT + license_family: MIT + run_exports: + weak: + - icu >=79.1,<80.0a0 + size: 14885952 + timestamp: 1792691531635 - conda: https://prefix.dev/conda-forge/linux-aarch64/keyutils-1.6.3-h5bc82ec_1.conda sha256: 3999b1472f1e549a0b766428e2823abf20626aac5314b474c9b76bf6eb679def md5: 6d9be306ecb8dfc9ff46f02cb367d5c2 @@ -1180,6 +1261,18 @@ packages: run_exports: {} size: 905305 timestamp: 1784214534868 +- conda: https://prefix.dev/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_103.conda + sha256: 516808982ad26ebdc4a9d8f71ee86ea55d0bc95382b7bca80620e0ac220971f3 + md5: ca781d8b499c39ddfe10e55a0347d6d9 + depends: + - zstd >=1.5.7,<1.6.0a0 + constrains: + - binutils_impl_linux-aarch64 2.46.1 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 905349 + timestamp: 1791565559147 - conda: https://prefix.dev/conda-forge/linux-aarch64/libcurl-8.22.0-h86273da_0.conda sha256: 8634a43ca7161d49b94098d8d27f32040ccf19b5227b37d05826ec8b5729b3c4 md5: d79a5b16c3aaff5269f9118aa1d9f1ba @@ -1200,6 +1293,25 @@ packages: - libcurl >=8.22.0,<9.0a0 size: 524318 timestamp: 1788340661060 +- conda: https://prefix.dev/conda-forge/linux-aarch64/libcurl-8.23.0-h86273da_0.conda + sha256: 4a9bc4ef7f6ddaef61a900d360214fb285c6aa474a3d7e1c5e4e42b4b2e36697 + md5: 23729bcd7d0045ad537a9cfa6329ac51 + depends: + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=15 + - libnghttp2 >=1.68.1,<2.0a0 + - libpsl >=0.23.1,<0.24.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.9,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.23.0,<9.0a0 + size: 529565 + timestamp: 1791990806492 - conda: https://prefix.dev/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321hc48eb74_1.conda sha256: 2d7218da06f1121619335bff25a2669df810dee90d2eb65b17f8b2e6b1c0d372 md5: 6e06eb2c9fda76721699bcdd759b9c60 @@ -1215,6 +1327,20 @@ packages: - libedit >=3.1.20250104,<3.2.0a0 size: 149007 timestamp: 1786616643904 +- conda: https://prefix.dev/conda-forge/linux-aarch64/libedit-3.1.20260512-pl5321hc48eb74_0.conda + sha256: 58fd637d0219016bb69edf2973b089975de283e8a38149d69ef586b8fc4ad90b + md5: 3ffb447961508502fc81e063ca2071cb + depends: + - ncurses + - libgcc >=14 + - ncurses >=6.6,<7.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libedit >=3.1.20260512,<3.2.0a0 + size: 149680 + timestamp: 1791327362947 - conda: https://prefix.dev/conda-forge/linux-aarch64/libev-4.33-h80f16a2_3.conda sha256: 4475f79a020e9ff2a5a0308c48cb2970a25d55c3dd724a97ab28bfac3be6cd49 md5: f679b30a53d410d0b5ae0cb8f5b7397e @@ -1241,6 +1367,18 @@ packages: run_exports: {} size: 79463 timestamp: 1790346233159 +- conda: https://prefix.dev/conda-forge/linux-aarch64/libexpat-2.9.0-h4154aff_0.conda + sha256: d3327ab1086334309cab3cf533c95f70c44dcbb8f66a99a92b23fb0f3f20f1da + md5: cb3ce9ae94bc74f792c119312e03bcf7 + depends: + - libgcc >=15 + constrains: + - expat 2.9.0.* + license: MIT + license_family: MIT + run_exports: {} + size: 80340 + timestamp: 1793054214232 - conda: https://prefix.dev/conda-forge/linux-aarch64/libffi-3.7.0-hdaad0be_1.conda sha256: b1879d78b622c5f4817fd6d77fe7ae3ab7b501542e3c2f4ac77198c54c62c189 md5: f9e5b3e446b526b34a7e25ecec08efd9 @@ -1335,6 +1473,38 @@ packages: - libnghttp2 >=1.68.1,<2.0a0 size: 734829 timestamp: 1787177407983 +- conda: https://prefix.dev/conda-forge/linux-aarch64/libnghttp2-1.71.0-h0d23a54_0.conda + sha256: 27b87291a76284071088204f8d48023cceea870e9e566eee4d1cddd7b08c4a93 + md5: 80bc82c1aec28c05587337bd0532de73 + depends: + - libev >=4.33,<5.0a0 + - libstdcxx >=15 + - libgcc >=15 + - libzlib >=1.3.2,<2.0a0 + - libev >=4.33,<4.34.0a0 + - c-ares >=1.34.9,<2.0a0 + - openssl >=3.5.9,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnghttp2 >=1.71.0,<2.0a0 + size: 942290 + timestamp: 1793628219537 +- conda: https://prefix.dev/conda-forge/linux-aarch64/libpsl-0.23.1-h37fd031_2.conda + sha256: ce9d5d8ab141b55242a4c82f067bbc340fcd0e009218ac30b6d80ee1795666db + md5: 52cd516475ac6fbff4d1449d01f246db + depends: + - libgcc >=15 + - libstdcxx >=15 + - icu >=79.1,<80.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libpsl >=0.23.1,<0.24.0a0 + size: 73191 + timestamp: 1793221958603 - conda: https://prefix.dev/conda-forge/linux-aarch64/libpsl-0.23.1-hb8431ed_1.conda sha256: 757f79c182ac3080cf416acd91c7643b8074b8b2e5c1eba0ffc5a16897feb84b md5: 5ab41e5e70b78eb00ef62cdaa35cd86f @@ -1362,6 +1532,19 @@ packages: run_exports: {} size: 9683680 timestamp: 1788383990335 +- conda: https://prefix.dev/conda-forge/linux-aarch64/libsanitizer-16.2.0-h73cac2c_7.conda + sha256: 915f80d14bd9daf2357a5261443fd06e222f829aeef56fb6865ec7fcb1de9bdf + md5: 868966b3c0d699ad39ed460cd18fba9f + depends: + - libgcc >=16.2.0 + - libstdcxx >=16.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + weak: + - libsanitizer 16.2.0 + size: 7956048 + timestamp: 1790302381894 - conda: https://prefix.dev/conda-forge/linux-aarch64/libsqlite-3.53.4-hd26f1b6_102.conda sha256: 08e6e0f7eae7174bf3e31009e4afebbbd227737248e3ef864b32c0d7698eba1c md5: 247ea3dd05990b9598af8accbf95c0ca @@ -1529,22 +1712,6 @@ packages: run_exports: {} size: 195678 timestamp: 1770223441816 -- conda: https://prefix.dev/conda-forge/linux-aarch64/rattler-build-0.80.0-hc342849_0.conda - sha256: 3b25f6a8c222ccc1a8f0f1ed63ea4909f404bc3742934a5df493ea0c70ca981b - md5: c747fe8c66b924ba6aa8c3ead9252b97 - depends: - - patchelf - - libgcc >=15 - - libstdcxx >=15 - - openssl >=3.5.9,<4.0a0 - constrains: - - __glibc >=2.17 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: {} - size: 21538494 - timestamp: 1793372563339 - conda: https://prefix.dev/conda-forge/linux-aarch64/rattler-index-0.31.5-hf75afee_0.conda sha256: 332321ce14ae5c2d471db5f4b3a13f3c70360dbcee294a398512de058c79f54d md5: bb4f8d531aaefb38859eeb5277aac2a3 @@ -1587,6 +1754,37 @@ packages: - rhash >=1.4.6,<2.0a0 size: 211434 timestamp: 1786731457243 +- conda: https://prefix.dev/conda-forge/linux-aarch64/rust-1.99.1-hfa1fd44_1.conda + sha256: 14c79ed7cdaa3fbd83282ee2d9f96452b1abb24995994d5a31afc1a2d75b08e7 + md5: 063febedb233e56bc484a7ba5e073c85 + depends: + - rust-std-aarch64-unknown-linux-gnu ==1.99.1 hb0489cc_1 + - gcc_impl_linux-aarch64 + - sysroot_linux-aarch64 >=2.17 + - libgcc >=15 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + strong_constrains: + - __glibc >=2.17 + size: 159553721 + timestamp: 1794335962990 +- conda: https://prefix.dev/conda-forge/linux-aarch64/rust_linux-aarch64-1.99.1-ha511860_0.conda + sha256: 83ed764898a568281134484b56f5f91b5e4b14a031de8efdb9df7bd7ab83d6cb + md5: 2d32603fad1cfda8dd4b7e7c7026c494 + depends: + - rust 1.99.1.* + - rust-std-aarch64-unknown-linux-gnu 1.99.1.* + - gcc_linux-aarch64 + - sysroot_linux-aarch64 >=2.17 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong_constrains: + - __glibc >=2.17 + size: 7798 + timestamp: 1793030324406 - conda: https://prefix.dev/conda-forge/linux-aarch64/tk-8.6.13-noxft_hf03c496_4.conda build_number: 104 sha256: a1aa0d0f0b3d539644ff992e6dd0facf950c79df58fc37590ce5be84ff5e3f22 @@ -1629,6 +1827,15 @@ packages: - zstd >=1.5.7,<1.6.0a0 size: 615477 timestamp: 1786599613561 +- conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + sha256: 95619b9c1184be7175392eeb0ee7eeb5ccf25d280951f4225f2d62e725790be3 + md5: 3fd02989038a1e1cee627c14c2d73f29 + depends: + - __unix + license: ISC + run_exports: {} + size: 130057 + timestamp: 1792772446739 - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda sha256: 95e8e74062a5fe5f870ac8c90302b6e89945165fdaed7810606e84ddee6aac12 md5: e27d2ac27b096dc51fedfcf775a53f9b @@ -1661,6 +1868,28 @@ packages: run_exports: {} size: 27011 timestamp: 1733218222191 +- conda: https://prefix.dev/conda-forge/noarch/compiler-rt23_osx-64-23.1.4-h8d5f570_0.conda + sha256: 9448adcfd354860de1697186fde30e573a440fd756cb2fa8f77fffd5deb0db04 + md5: 0ff49fb7c4fd8e3b1081e1952027a7f3 + constrains: + - compiler-rt >=9.0.1 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 10464885 + timestamp: 1792567103866 +- conda: https://prefix.dev/conda-forge/noarch/compiler-rt_osx-64-23.1.4-h694c41f_0.conda + sha256: c94122be8d98e65b22d7392ce70b6100a50003cf85969cd1590b304146db3d1c + md5: 15f4f5a05a66001c5a0e8b05269f32f6 + depends: + - compiler-rt23_osx-64 23.1.4 h8d5f570_0 + constrains: + - clang 23.1.4 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 16711 + timestamp: 1792567126206 - conda: https://prefix.dev/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 md5: 8e662bd460bda79b1ea39194e3c4c9ab @@ -1685,6 +1914,36 @@ packages: run_exports: {} size: 13387 timestamp: 1760831448842 +- conda: https://prefix.dev/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_18.conda + sha256: 99731884b26d5801c931f6ed4e1d40f0d1b2efc60ab2d1d49e9b3a6508a390df + md5: 40ebaa9844bc99af99fc1beaed90b379 + constrains: + - sysroot_linux-aarch64 ==2.17 + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later AND MPL-2.0 + license_family: GPL + run_exports: {} + size: 1113306 + timestamp: 1729794501866 +- conda: https://prefix.dev/conda-forge/noarch/libgcc-devel_linux-aarch64-16.2.0-hc0c2482_107.conda + sha256: 3a0fc46d9ffe0bc98e825bfcc0409564435e74ae0ac094b484a89a296ed777ee + md5: aae62596f02c43827f184be6556c729f + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 2356775 + timestamp: 1790302264590 +- conda: https://prefix.dev/conda-forge/noarch/libstdcxx-devel_linux-aarch64-16.2.0-h082e5f6_107.conda + sha256: c46e0efb196a24e9192f160c124f8a1d927c7d191595a1dc993f30dc93a52497 + md5: e59742a8c562c9ba736d0c3e5e1cd810 + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 19818970 + timestamp: 1790302282858 - conda: https://prefix.dev/conda-forge/noarch/m2-msys2-runtime-3.6.1.4-hc364b38_6.conda sha256: 1f797d055ad856def2399d5c1c21d7a479fa68159ce5448f07b7c6cf4b9641d7 md5: fb7de65144b11c4c7284a00e3170c797 @@ -1708,6 +1967,16 @@ packages: run_exports: {} size: 125917 timestamp: 1748281166711 +- conda: https://prefix.dev/conda-forge/noarch/macosx_deployment_target_osx-64-13.0-h2830193_7.conda + sha256: 5c099551cdbb70bd478d01b415eba5290808be63aba49546a0a07544ff36457f + md5: 52c41829621dbc440345b3f360df1f00 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - __osx >=13.0 + size: 4963 + timestamp: 1771434101827 - conda: https://prefix.dev/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda sha256: c432626b16768b8dab228bfb706f7060c2d462a21c516d240f68f2f902b5a044 md5: 936687ed80f295a1f5dbcf8bd34c252c @@ -1781,6 +2050,38 @@ packages: run_exports: {} size: 6791 timestamp: 1788302824440 +- conda: https://prefix.dev/conda-forge/noarch/rust-std-aarch64-unknown-linux-gnu-1.99.1-hb0489cc_1.conda + sha256: f3775a2739d9c9bc68ab7abf52b4335820fbf60f7f8ca2260835c885d0dd15f7 + md5: 2948297fc8def38b3e89bd3392f5099d + depends: + - __unix + constrains: + - rust >=1.99.1,<1.99.2.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 41709103 + timestamp: 1794335962990 +- conda: https://prefix.dev/conda-forge/noarch/rust-std-x86_64-apple-darwin-1.99.1-h9cb622b_1.conda + sha256: b69b7e01be9a3ee9d03a499a051f14d32ab8be29067dc9492a933662dcc5c1ba + md5: 80f32b800c16a37d738bc83a5fc82db4 + depends: + - __unix + constrains: + - rust >=1.99.1,<1.99.2.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 40080785 + timestamp: 1794336061186 +- conda: https://prefix.dev/conda-forge/noarch/sdkroot_env_osx-64-26.0-h62b880e_7.conda + sha256: 7e7e2556978bc9bd9628c6e39138c684082320014d708fbca0c9050df98c0968 + md5: 68a978f77c0ba6ca10ce55e188a21857 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 4948 + timestamp: 1771434185960 - conda: https://prefix.dev/conda-forge/noarch/setuptools-81.0.0-pyh332efcf_0.conda sha256: 6ecf738d5590bf228f09c4ecd1ea91d811f8e0bd9acdef341bc4d6c36beb13a3 md5: d629a398d7bf872f9ed7b27ab959de15 @@ -1793,6 +2094,17 @@ packages: run_exports: {} size: 676888 timestamp: 1770456470072 +- conda: https://prefix.dev/conda-forge/noarch/sysroot_linux-aarch64-2.17-h68829e0_18.conda + sha256: 1e478bfd87c296829e62f0cae37e591568c2dcfc90ee6228c285bb1c7130b915 + md5: 5af44a8494602d062a4c6f019bcb6116 + depends: + - kernel-headers_linux-aarch64 4.18.0 h05a177a_18 + - tzdata + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later AND MPL-2.0 + license_family: GPL + run_exports: {} + size: 15739604 + timestamp: 1735290496248 - conda: https://prefix.dev/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda sha256: 93b6f517fb7adff00b62be02b798d384a1b34d0e368fdb576fb248bcb3bb9ec7 md5: 36d6a162326c52d6339c8b606f43932d @@ -1827,6 +2139,13 @@ packages: run_exports: {} size: 118849 timestamp: 1784250406640 +- conda: https://prefix.dev/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + sha256: 2b7ca858879f183ce2dcc65b300f48a0133d5430550f35b23d80d405a0788dbf + md5: abccc3810d2b97e570dee487f2b46e38 + license: LicenseRef-Public-Domain + run_exports: {} + size: 119208 + timestamp: 1792758382821 - conda: https://prefix.dev/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda sha256: 4ed83961876dc8844a6f0df49c07b408efbaea275ffb0b37133e24c006990b3a md5: 9d9a39212a876e4bb751c1cc3927b678 @@ -1853,6 +2172,101 @@ packages: - c-ares >=1.34.8,<2.0a0 size: 205559 timestamp: 1787170041830 +- conda: https://prefix.dev/conda-forge/osx-64/c-ares-1.34.9-had63097_0.conda + sha256: 20d7f8249439164d0af1ffc9efbb7dc462b80a275e9dbc0476c51a72f52a5683 + md5: 41c450e89c9ba9ce32b9b264796d98c4 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - c-ares >=1.34.9,<2.0a0 + size: 210374 + timestamp: 1792507129690 +- conda: https://prefix.dev/conda-forge/osx-64/cctools_impl_osx-64-1030.6.3-llvm23_1_h3bd330e_7.conda + sha256: c79ab3e17cdf217578aed2ce4d46dc87cd8849569fd238b37b59d595aab1f00c + md5: 90495bbedeb408a0ee5369f45e2a5dee + depends: + - __osx >=11.0 + - ld64_osx-64 >=956.6,<956.7.0a0 + - libcxx + - libllvm23 >=23.1.4,<23.2.0a0 + - libzlib >=1.3.2,<2.0a0 + - llvm-tools 23.1.* + - sigtool-codesign + constrains: + - cctools 1030.6.3.* + - clang 23.1.* + - ld64 956.6.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 752353 + timestamp: 1793268263193 +- conda: https://prefix.dev/conda-forge/osx-64/cctools_osx-64-1030.6.3-llvm23_1_h254e556_7.conda + sha256: 380d5b195452e2b9f277661fb81935d5ae56294e552a7c0a7532f9fdb92be429 + md5: 29b11044437572d682c02a878ab9928c + depends: + - cctools_impl_osx-64 1030.6.3 llvm23_1_h3bd330e_7 + - ld64_osx-64 956.6 llvm23_1_h484b24f_7 + constrains: + - cctools 1030.6.3.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 23664 + timestamp: 1793268289652 +- conda: https://prefix.dev/conda-forge/osx-64/clang-23-23.1.4-default_h4ef152c_1.conda + sha256: 55e98ad0e958f4cb88d39eab8c29464867722362298916183b92d1aa25505855 + md5: 041eb1bcf17ad0c35c2e15ed929c6c7e + depends: + - compiler-rt23 ==23.1.4 + - libclang-cpp23.1 ==23.1.4 default_hae96fce_1 + - libcxx >=23.1.4 + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.15.4 + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 + - libllvm23 >=23.1.4,<23.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 958163 + timestamp: 1793320037562 +- conda: https://prefix.dev/conda-forge/osx-64/clang_impl_osx-64-23.1.4-default_hae96fce_1.conda + sha256: 0df3fcb146f12f93edee90f015d764d2ad6d241e25873f1a9cfb7f6550927b6f + md5: c0b2cd30c7f230d4cc98f5bc861d77b3 + depends: + - clang-23 ==23.1.4 default_* + - compiler-rt_osx-64 ==23.1.4 + - compiler-rt ==23.1.4 + - cctools_impl_osx-64 + - ld64_osx-64 * llvm23_1_* + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.15.4 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 32963 + timestamp: 1793320037562 +- conda: https://prefix.dev/conda-forge/osx-64/clang_osx-64-23.1.4-hcd2a5eb_36.conda + sha256: 9ff017b40e62f0b89fe3de3360d9ed0b65803c46f23abfde140047f826bd44f5 + md5: e227111634159a169bd34f244591cce5 + depends: + - cctools_osx-64 + - clang_impl_osx-64 23.1.4.* + - sdkroot_env_osx-64 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 20561 + timestamp: 1794313108177 - conda: https://prefix.dev/conda-forge/osx-64/cmake-3.31.8-h29fc008_0.conda sha256: 01510ee9bf44567b8168f1038cc5f99a26f257f343923e71e300b7244090f658 md5: 715f84ec3b115f0d6a9858f33a5e595d @@ -1874,6 +2288,50 @@ packages: run_exports: {} size: 17816621 timestamp: 1757878263595 +- conda: https://prefix.dev/conda-forge/osx-64/cmake-4.4.5-h8390d68_0.conda + sha256: 7a86bc8fa5786d1e84bd492fea0b8fe2c2fb5c357e2a57cbb326888d2862be7b + md5: 7179a172c5466fb6252fe56485174138 + depends: + - __osx >=11.0 + - libcxx >=21 + - liblzma >=5.8.3,<6.0a0 + - rhash >=1.4.6,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - libuv >=1.52.1,<2.0a0 + - libexpat >=2.9.0,<3.0a0 + - libcurl >=8.23.0,<9.0a0 + - ncurses >=6.6,<7.0a0 + - zstd >=1.5.7,<1.6.0a0 + - bzip2 >=1.0.8,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 21896122 + timestamp: 1793157134027 +- conda: https://prefix.dev/conda-forge/osx-64/compiler-rt-23.1.4-h694c41f_0.conda + sha256: 393e514d1facd31cfc2f91cb9fc3e14af6491030c26b96b903d671014d8434c9 + md5: c44a148e770492ab7a88a89f446e0cf3 + depends: + - compiler-rt23 23.1.4 h8c1e6b9_0 + - libcompiler-rt 23.1.4 h8c1e6b9_0 + constrains: + - clang 23.1.4 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 16472 + timestamp: 1792567126660 +- conda: https://prefix.dev/conda-forge/osx-64/compiler-rt23-23.1.4-h8c1e6b9_0.conda + sha256: e8f8d7b8903d85f7c54f48aec9a84df75da1126e185041ed219c4c3932fb0a90 + md5: f52c5ab437fcee6069cb2efc62bab802 + depends: + - __osx >=11.0 + - compiler-rt23_osx-64 23.1.4.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 100055 + timestamp: 1792567125097 - conda: https://prefix.dev/conda-forge/osx-64/gh-2.102.0-h5839d16_0.conda sha256: b176af4f4a5206d7ee54411a64fc0c920f212f5047e4fb46d88ffe7c2b387a5d md5: 7c9d65d29932dae4dc5f36f4c30e643d @@ -1926,6 +2384,57 @@ packages: - krb5 >=1.22.2,<1.23.0a0 size: 1199337 timestamp: 1786762832264 +- conda: https://prefix.dev/conda-forge/osx-64/ld64_osx-64-956.6-llvm23_1_h484b24f_7.conda + sha256: f90253846de7b7e6d9871bffdf9d86e3d0ef166a5f784c935c036caffc5f6222 + md5: 769d4769a7f61f92e98444fd895c24fe + depends: + - __osx >=11.0 + - libcxx + - libllvm23 >=23.1.4,<23.2.0a0 + - sigtool-codesign + - tapi >=1600.0.11.8,<1601.0a0 + constrains: + - cctools 1030.6.3.* + - cctools_impl_osx-64 1030.6.3.* + - clang 23.1.* + - ld64 956.6.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 1047854 + timestamp: 1793268196338 +- conda: https://prefix.dev/conda-forge/osx-64/libclang-cpp23.1-23.1.4-default_hae96fce_1.conda + sha256: 007a3ae2fef8c659a3eb4f5a6a3bf63ff3f6acd0d258b8d7a5eb4da139a50f39 + md5: e062039234d5988c27ecfeaea9f97964 + depends: + - libcxx >=23.1.4 + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.15.4 + - libllvm23 >=23.1.4,<23.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 + size: 17903279 + timestamp: 1793320037562 +- conda: https://prefix.dev/conda-forge/osx-64/libcompiler-rt-23.1.4-h8c1e6b9_0.conda + sha256: 174fcaa9147e75553f58452a6fefe066c5f10c76432709f588113a9a62a0a2b5 + md5: 2b1e1fbcaf22f19e2b59cb8e397df6b8 + depends: + - __osx >=11.0 + constrains: + - compiler-rt >=9.0.1 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libcompiler-rt >=23.1.4 + size: 1378177 + timestamp: 1792567119985 - conda: https://prefix.dev/conda-forge/osx-64/libcurl-8.22.0-h5318221_0.conda sha256: 5625672a0a27c58c1c3c5849927c226eb65c88900e778262284e843dcce9c8f8 md5: 0ba721f8549bac02c48fc646fffe0c4d @@ -1946,6 +2455,25 @@ packages: - libcurl >=8.22.0,<9.0a0 size: 439790 timestamp: 1788341693572 +- conda: https://prefix.dev/conda-forge/osx-64/libcurl-8.23.0-h5318221_0.conda + sha256: 22a3fcec8f380c69b7d0293a459e4b4981ea6bb8b759154c6d9b7d92859b883b + md5: adbcb70fb54c3c16179e07cd57f89965 + depends: + - __osx >=11.0 + - krb5 >=1.22.2,<1.23.0a0 + - libnghttp2 >=1.68.1,<2.0a0 + - libpsl >=0.23.1,<0.24.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.9,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.23.0,<9.0a0 + size: 447122 + timestamp: 1791991998468 - conda: https://prefix.dev/conda-forge/osx-64/libcxx-23.1.2-h19cb2f5_0.conda sha256: 0ad8c788c3681674f100820cf5e76fcc8ec88502e7aa64f4776581985009a7be md5: 777bab0f24c6dc33b8a9ec8025653e41 @@ -1957,6 +2485,16 @@ packages: run_exports: {} size: 576040 timestamp: 1790163953924 +- conda: https://prefix.dev/conda-forge/osx-64/libcxx-23.1.5-h19cb2f5_0.conda + sha256: 175d8a9b3a6a035fba07d9b44a75c85957b84bafc834d1aeeda87cf57f764917 + md5: ce6f5df6b20cc6bc7228f38258df826b + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 573172 + timestamp: 1793849009928 - conda: https://prefix.dev/conda-forge/osx-64/libedit-3.1.20250104-pl5321hba2e2ab_1.conda sha256: 4aa5161db41602af1abff73f5af415902135a47855d02c1ac05681a36320bd4b md5: 17532a8cca2c887fa24fbdcd5336c3af @@ -1972,6 +2510,20 @@ packages: - libedit >=3.1.20250104,<3.2.0a0 size: 115628 timestamp: 1786616974852 +- conda: https://prefix.dev/conda-forge/osx-64/libedit-3.1.20260512-pl5321hba2e2ab_0.conda + sha256: 3b664a2fcc69b0e2ed6622bfacdf408a31003e92191ace3f4f1ab086c384449d + md5: f9fefe52ca6fa0cdb62806f626b70d98 + depends: + - ncurses + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libedit >=3.1.20260512,<3.2.0a0 + size: 116143 + timestamp: 1791327578296 - conda: https://prefix.dev/conda-forge/osx-64/libev-4.33-ha3d0635_3.conda sha256: 223314a7476bdeb00f698937b6960fc51cb98627af2ac5a629e5150bcddb8abf md5: 6d2f0447151b390bdaed846e143272e3 @@ -1998,6 +2550,18 @@ packages: run_exports: {} size: 75347 timestamp: 1790370393156 +- conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.9.0-h6e061ac_0.conda + sha256: 8715589908ab0d2c92c9f94cd1b185e6abc0a62ce4b1808d3b776cee2d2351fd + md5: 31af5ee74e29c1fcb75babc2817625ca + depends: + - __osx >=11.0 + constrains: + - expat 2.9.0.* + license: MIT + license_family: MIT + run_exports: {} + size: 76142 + timestamp: 1793054593465 - conda: https://prefix.dev/conda-forge/osx-64/libffi-3.7.0-h6b3a05b_1.conda sha256: c4793041226c87f987b9903e6503b76f02f52855cc193be2729ac127e600529b md5: e077b71ae65754eda067e4125364b905 @@ -2023,6 +2587,23 @@ packages: - libiconv >=1.18,<2.0a0 size: 736150 timestamp: 1787034707041 +- conda: https://prefix.dev/conda-forge/osx-64/libllvm23-23.1.5-hd11396f_0.conda + sha256: b91a9c4e827d057d1a8bae46d3a4d75835dfbcdd23ae3dac43623ab29ea3206f + md5: 3089f61e29d0b1370b92fd40ba5165d9 + depends: + - __osx >=11.0 + - libcxx >=21 + - libxml2 + - libxml2-16 >=2.15.4 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libllvm23 >=23.1.5,<23.2.0a0 + size: 33413653 + timestamp: 1793743191663 - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda sha256: 7915dac7c71c208e40e716e2f6d3eff41a8d5584e0e7c2d46f9bf9bd5f9aa739 md5: daf49067580fbfeae3ac7f9535400494 @@ -2067,6 +2648,24 @@ packages: - libnghttp2 >=1.68.1,<2.0a0 size: 598607 timestamp: 1787178086085 +- conda: https://prefix.dev/conda-forge/osx-64/libnghttp2-1.71.0-h180c657_0.conda + sha256: ae587300c51ce6235b14262c88e8b984cdc958cc9516b5627cf5a2ccc848bc82 + md5: 2e680347aae8242952611c5c21a59a2d + depends: + - libev >=4.33,<5.0a0 + - __osx >=11.0 + - libcxx >=21 + - openssl >=3.5.9,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + - c-ares >=1.34.9,<2.0a0 + - libev >=4.33,<4.34.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnghttp2 >=1.71.0,<2.0a0 + size: 719372 + timestamp: 1793628350560 - conda: https://prefix.dev/conda-forge/osx-64/libpsl-0.23.1-h7ff43d8_1.conda sha256: 6ee1849c23ddd4de76bacdcf88d4d16dc28fc10aa7c3431f859ef392da6936b8 md5: 4cd9cae1ac1aa63d8f760fe127b42685 @@ -2094,6 +2693,17 @@ packages: run_exports: {} size: 2112028 timestamp: 1788385157401 +- conda: https://prefix.dev/conda-forge/osx-64/libsigtool-0.1.3-h8c25ef7_1.conda + sha256: c3d76ff04ebed64d00a7ff5106297a55af20082a3d3df0ea7dfb235f94ba31c3 + md5: acc366a7706c83b5364f5f81e1b4857b + depends: + - __osx >=11.0 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 38559 + timestamp: 1786115361068 - conda: https://prefix.dev/conda-forge/osx-64/libsqlite-3.53.4-ha5db789_102.conda sha256: 1902d4b50b964f9753145ec0121f51a0fefaf64ca9806aae860cecb81cc75b98 md5: 3fd4d7c9bcb8d4911fc202a731b5bb38 @@ -2135,6 +2745,40 @@ packages: - libuv >=1.52.1,<2.0a0 size: 128560 timestamp: 1785914631885 +- conda: https://prefix.dev/conda-forge/osx-64/libxml2-16-2.15.4-h8376fb4_1.conda + sha256: 527dbe5b2bfd4440339358ee276284a19b170603bb06471d806d4b05cc9dc95f + md5: ac2c520a6273ce223060ed8f51c207be + depends: + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - libxml2 2.15.4 + license: MIT + license_family: MIT + run_exports: {} + size: 499401 + timestamp: 1791466313314 +- conda: https://prefix.dev/conda-forge/osx-64/libxml2-2.15.4-hb56241c_1.conda + sha256: 53f41cb4773ad084757efef24dd0268d6f0250c2fc5f1b394a7b9d6aa1cec603 + md5: edd04dbc12bd4220029d8738e6f24097 + depends: + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.4 h8376fb4_1 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.4 + size: 41086 + timestamp: 1791466335204 - conda: https://prefix.dev/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda sha256: b2dba286dd6632292b12296e761193b5ef9fb0eaeecaa481f5ba9af72c0c18e1 md5: 7d3fa28263bb7f8ea32db11f570a5bb6 @@ -2150,6 +2794,37 @@ packages: - libzlib >=1.3.2,<2.0a0 size: 58993 timestamp: 1785276808631 +- conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-23-23.1.5-h36529c3_0.conda + sha256: ef0450aceaa5b03794b8e88bc050fc75ae4de6d5f1906a279c12884fb55a574b + md5: ea76748e034cd8a1e4c2bede68829f17 + depends: + - __osx >=11.0 + - libcxx >=21 + - libllvm23 23.1.5 hd11396f_0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 19638241 + timestamp: 1793743310664 +- conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-23.1.5-h8c1e6b9_0.conda + sha256: 5cf57a9cb66bb6d8ed1984862afc7067140400e5efae9032de2c37d746f1d8a4 + md5: c9e7b95f2c9aa96d971e1c45b71ec4b0 + depends: + - __osx >=11.0 + - libllvm23 23.1.5 hd11396f_0 + - llvm-tools-23 23.1.5 h36529c3_0 + constrains: + - clang 23.1.5 + - clang-tools 23.1.5 + - llvm 23.1.5 + - llvmdev 23.1.5 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 51371 + timestamp: 1793743362722 - conda: https://prefix.dev/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda sha256: 12c1d676b9a0e8109b576672519312c5428308f3f3d7706f8717e2f536d5d9e7 md5: 88a79390f87c8f3334b9999a892e78d4 @@ -2222,20 +2897,6 @@ packages: run_exports: {} size: 191947 timestamp: 1770226344240 -- conda: https://prefix.dev/conda-forge/osx-64/rattler-build-0.80.0-h9a0f642_0.conda - sha256: bcfbb11c3087a419f134a02f77508fcf586db35922f51dc96165dc226eff1ffe - md5: 69a538d9791eb46f83a6919027ce4207 - depends: - - __osx >=11.0 - - libcxx >=21 - constrains: - - __osx >=11.0 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: {} - size: 21780850 - timestamp: 1793372653063 - conda: https://prefix.dev/conda-forge/osx-64/rattler-index-0.31.5-hca43645_0.conda sha256: ee6542a6bd763f58cc1e6d3b8b70816b1aa20f80d8f7d4d75bd195ff94c76f40 md5: 34482f1edda229ad12ea95e261c26caf @@ -2278,6 +2939,57 @@ packages: - rhash >=1.4.6,<2.0a0 size: 186416 timestamp: 1786732023380 +- conda: https://prefix.dev/conda-forge/osx-64/rust-1.99.1-h2b8025e_1.conda + sha256: cad3fe312d6362e1c4a7cfe59439a9092f689b8d18620963b49d308620701851 + md5: fb4cbbe9b52c381c5d31a7c6e899e957 + depends: + - rust-std-x86_64-apple-darwin ==1.99.1 h9cb622b_1 + license: MIT + license_family: MIT + run_exports: + strong_constrains: + - __osx >=11.0 + size: 136615008 + timestamp: 1794336061186 +- conda: https://prefix.dev/conda-forge/osx-64/rust_osx-64-1.99.1-h8d9202f_0.conda + sha256: 449aed49475f6801668ef4a16fa9c0804684b6e1578f62e9814ce600385c0df5 + md5: 6420ae48e46e74ce6cf71ec919e98c15 + depends: + - rust 1.99.1.* + - rust-std-x86_64-apple-darwin 1.99.1.* + - clang_osx-64 + - macosx_deployment_target_osx-64 >=11.0 + - ld64_osx-64 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong_constrains: + - __osx >=11.0 + size: 7759 + timestamp: 1793030475235 +- conda: https://prefix.dev/conda-forge/osx-64/sigtool-codesign-0.1.3-h8c25ef7_1.conda + sha256: 37aac42f05e21b48a3b61b28ae624ed5a3d2acfcbaabf2cd10ef7762c4fb4c45 + md5: e7eb95a1f841fbbb8312dcd65963334f + depends: + - __osx >=11.0 + - libsigtool 0.1.3 h8c25ef7_1 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 123458 + timestamp: 1786115396108 +- conda: https://prefix.dev/conda-forge/osx-64/tapi-1600.0.11.8-h44950e2_4.conda + sha256: 045e62838ec78ad75974552ebeeccbee5a4a843272da47c7a67e99fd9cc25d8d + md5: a70697fe1077cb11e33b11d6f6610314 + depends: + - libcxx >=19.0.0.a0 + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 + license: NCSA + run_exports: {} + size: 216045 + timestamp: 1789668322695 - conda: https://prefix.dev/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda sha256: 74e5fabcaf6ca0db052c645646ea04ded98a5eb7540483217f8101a819eb3107 md5: 71c9f1f0267f2639523e898c6b50a4dc @@ -2709,20 +3421,6 @@ packages: run_exports: {} size: 189475 timestamp: 1770223788648 -- conda: https://prefix.dev/conda-forge/osx-arm64/rattler-build-0.80.0-h2ace698_0.conda - sha256: 38c268ee955f223f1a09103fc733e337512431520db69d17972b10da857a337a - md5: 4aba3dd1098320df2404db194c1420e0 - depends: - - __osx >=11.0 - - libcxx >=21 - constrains: - - __osx >=11.0 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: {} - size: 20095957 - timestamp: 1793372577955 - conda: https://prefix.dev/conda-forge/osx-arm64/rattler-index-0.31.5-h7b803a5_0.conda sha256: 090e1707a06de52be1e61083ef0495aa3bc9c335cf65c80af0f67d4ca2be5477 md5: d1305520d9d027244137eb688f67a45d @@ -3160,19 +3858,6 @@ packages: run_exports: {} size: 181257 timestamp: 1770223460931 -- conda: https://prefix.dev/conda-forge/win-64/rattler-build-0.80.0-he94b42d_0.conda - sha256: a1eb9a2bf392e22f952c6dd81ba9a4b98c07ccd44e8ef0d63451081c49cc939c - md5: 4092a168614eeff0029c109d9eae8ea6 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: {} - size: 22952550 - timestamp: 1793372562622 - conda: https://prefix.dev/conda-forge/win-64/rattler-index-0.31.5-h91801bb_0.conda sha256: c3ff1eca8e17fab8aae4cb7161a8a0c9ea46cfa6af508a92b6a5e3d2b66f4ea3 md5: 33e5d80562641bba6d5b4aec4c0d2209 @@ -3289,6 +3974,158 @@ packages: - zstd >=1.5.7,<1.6.0a0 size: 387535 timestamp: 1786599623274 +- conda: https://prefix.dev/rattler-build-pre-release/linux-64/rattler-build-0.80.0.20261111.1453.252f9c-h7cbaff8_0.conda + sha256: 6a526f15c9be154d2f78758aef3f532427c5d6147575139ba8784eaad50638be + md5: a8a10cc5b429765f7df2c2660fa9f01f + depends: + - libgcc >=16 + - __glibc >=2.28,<3.0.a0 + constrains: + - __glibc >=2.17 + license: BSD-3-Clause + run_exports: {} + size: 31021852 + timestamp: 1794408791461 +- conda: https://prefix.dev/rattler-build-pre-release/osx-arm64/rattler-build-0.80.0.20261111.1453.252f9c-h2d708b9_0.conda + sha256: 8d55c52bcce204ac1751fec0571020b240a9fc61ea7cdf118115f1c5fc71c43e + md5: 2c055e8eb9d8b8547917bd070855b86e + depends: + - __osx >=13.0 + constrains: + - __osx >=11.0 + license: BSD-3-Clause + run_exports: {} + size: 26223844 + timestamp: 1794408803719 +- conda: https://prefix.dev/rattler-build-pre-release/win-64/rattler-build-0.80.0.20261111.1453.252f9c-hc42f684_0.conda + sha256: 72af3a30e671173017fef81af5e96b2a5891a9a079caf03838e157705d0764b9 + md5: c0a20f7a4cef76fa3d28da0f27dc92dd + depends: + - vc >=14.5,<15 + - vc14_runtime >=14.51.36247 + - ucrt >=10.0.20348.0 + license: BSD-3-Clause + run_exports: {} + size: 27711538 + timestamp: 1794408810123 +- conda_source: rattler-build[4af41fa8] @ git+https://github.com/prefix-dev/rattler-build?rev=0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d#0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d + version: 0.80.0 + build: h4778241_0 + subdir: osx-64 + variants: + c_stdlib: macosx_deployment_target + c_stdlib_version: '13.0' + target_platform: osx-64 + depends: + - __osx >=13.0 + constrains: + - __osx >=11.0 + license: BSD-3-Clause + build_packages: + - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://prefix.dev/conda-forge/noarch/compiler-rt23_osx-64-23.1.4-h8d5f570_0.conda + - conda: https://prefix.dev/conda-forge/noarch/compiler-rt_osx-64-23.1.4-h694c41f_0.conda + - conda: https://prefix.dev/conda-forge/noarch/macosx_deployment_target_osx-64-13.0-h2830193_7.conda + - conda: https://prefix.dev/conda-forge/noarch/rust-std-x86_64-apple-darwin-1.99.1-h9cb622b_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sdkroot_env_osx-64-26.0-h62b880e_7.conda + - conda: https://prefix.dev/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda + - conda: https://prefix.dev/conda-forge/osx-64/c-ares-1.34.9-had63097_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/cctools_impl_osx-64-1030.6.3-llvm23_1_h3bd330e_7.conda + - conda: https://prefix.dev/conda-forge/osx-64/cctools_osx-64-1030.6.3-llvm23_1_h254e556_7.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang-23-23.1.4-default_h4ef152c_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang_impl_osx-64-23.1.4-default_hae96fce_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang_osx-64-23.1.4-hcd2a5eb_36.conda + - conda: https://prefix.dev/conda-forge/osx-64/cmake-4.4.5-h8390d68_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/compiler-rt-23.1.4-h694c41f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/compiler-rt23-23.1.4-h8c1e6b9_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/krb5-1.22.2-h69064fd_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/ld64_osx-64-956.6-llvm23_1_h484b24f_7.conda + - conda: https://prefix.dev/conda-forge/osx-64/libclang-cpp23.1-23.1.4-default_hae96fce_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcompiler-rt-23.1.4-h8c1e6b9_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcurl-8.23.0-h5318221_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcxx-23.1.5-h19cb2f5_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libedit-3.1.20260512-pl5321hba2e2ab_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libev-4.33-ha3d0635_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.9.0-h6e061ac_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libiconv-1.18-h4ae439b_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/libllvm23-23.1.5-hd11396f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libnghttp2-1.71.0-h180c657_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libpsl-0.23.1-h7ff43d8_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libsigtool-0.1.3-h8c25ef7_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libssh2-1.11.1-hd53bb72_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libuv-1.52.1-ha3d0635_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libxml2-16-2.15.4-h8376fb4_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libxml2-2.15.4-hb56241c_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-23-23.1.5-h36529c3_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-23.1.5-h8c1e6b9_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.6.5-h332eb6d_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/rhash-1.4.6-ha1e9b39_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/rust-1.99.1-h2b8025e_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/rust_osx-64-1.99.1-h8d9202f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/sigtool-codesign-0.1.3-h8c25ef7_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/tapi-1600.0.11.8-h44950e2_4.conda + - conda: https://prefix.dev/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda +- conda_source: rattler-build[b4a62793] @ git+https://github.com/prefix-dev/rattler-build?rev=0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d#0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d + version: 0.80.0 + build: h11eb1b2_0 + subdir: linux-aarch64 + variants: + c_stdlib: sysroot + c_stdlib_version: '2.17' + target_platform: linux-aarch64 + depends: + - libgcc >=16 + constrains: + - __glibc >=2.17 + license: BSD-3-Clause + build_packages: + - conda: https://prefix.dev/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_103.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_103.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/c-ares-1.34.9-h29ee22c_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/cmake-4.4.5-hcbeb305_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-16.2.0-h5425ead_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/gcc_linux-aarch64-16.2.0-h25cc031_2.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/icu-79.1-py313h6ffeb17_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/keyutils-1.6.3-h5bc82ec_1.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/krb5-1.22.2-h095d8e5_2.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_103.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libcurl-8.23.0-h86273da_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libedit-3.1.20260512-pl5321hc48eb74_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libev-4.33-h80f16a2_3.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libexpat-2.9.0-h4154aff_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libgomp-16.2.0-h8acb6b2_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_1.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libnghttp2-1.71.0-h0d23a54_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libpsl-0.23.1-h37fd031_2.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libsanitizer-16.2.0-h73cac2c_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libssh2-1.11.1-h7572e3e_1.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libstdcxx-16.2.0-hef695bb_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libuv-1.52.1-h80f16a2_1.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/ncurses-6.6-h2b6f883_1.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/openssl-3.6.5-he6ad1d5_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/rhash-1.4.6-he30d5cf_2.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/rust-1.99.1-hfa1fd44_1.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/rust_linux-aarch64-1.99.1-ha511860_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/zstd-1.5.7-h9d15635_7.conda + - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://prefix.dev/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_18.conda + - conda: https://prefix.dev/conda-forge/noarch/libgcc-devel_linux-aarch64-16.2.0-hc0c2482_107.conda + - conda: https://prefix.dev/conda-forge/noarch/libstdcxx-devel_linux-aarch64-16.2.0-h082e5f6_107.conda + - conda: https://prefix.dev/conda-forge/noarch/rust-std-aarch64-unknown-linux-gnu-1.99.1-hb0489cc_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sysroot_linux-aarch64-2.17-h68829e0_18.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + host_packages: + - conda: https://prefix.dev/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libgomp-16.2.0-h8acb6b2_7.conda - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 name: vinca version: 0.2.0 diff --git a/pixi.toml b/pixi.toml index c76cfff92..eee8eb68e 100644 --- a/pixi.toml +++ b/pixi.toml @@ -2,11 +2,14 @@ name = "robostack" description = "RoboStack: conda packages for all ROS 2 distributions, from one repository" authors = ["Tobias Fischer ", "Wolf Vollprecht ", "Silvio Traversaro ", "Daisuke Nishimatsu "] -channels = ["https://prefix.dev/conda-forge"] +channels = ["https://prefix.dev/conda-forge", "https://prefix.dev/rattler-build-pre-release"] +# rattler-build from git on the platforms its pre-releases aren't built for +preview = ["pixi-build"] platforms = [ "osx-arm64", - # 2.17 is the glibc version used in CentOS 7 - { platform = "linux-64", glibc = "2.17" }, + # 2.17 is the glibc version used in CentOS 7; temporarily pixi's default (2.28) on + # linux-64, for the rattler-build pre-release (built for 2.28) below + "linux-64", "osx-64", { platform = "linux-aarch64", glibc = "2.17" }, "win-64", @@ -17,7 +20,11 @@ PYTHONIOENCODING = "utf-8" [dependencies] python = ">=3.14.0,<3.15" -rattler-build = ">=0.80.0,<0.81" +# Temporarily rattler-build's main (0252f9ca), for prefix-dev/rattler-build#2931: a +# build or test waits for the variant of a dependency it can install, not any variant. +# Back to conda-forge's rattler-build (and no pre-release channel or pixi-build) once +# a release has it. +rattler-build = { version = "==0.80.0.20261111.1453.252f9c", channel = "https://prefix.dev/rattler-build-pre-release" } cmake = "<4.0" setuptools = "<82.0" rattler-index = ">=0.27.16" @@ -28,6 +35,16 @@ pytest = ">=9.1.1,<10" # gh for the workflows: one version everywhere (the runner's is not on PATH on Windows) gh = ">=2.102.0,<3" +[target.linux.dependencies] +# required by rattler-build; only conda-forge's package depends on it +patchelf = "*" + +[target.osx-64.dependencies] +rattler-build = { git = "https://github.com/prefix-dev/rattler-build.git", rev = "0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d" } + +[target.linux-aarch64.dependencies] +rattler-build = { git = "https://github.com/prefix-dev/rattler-build.git", rev = "0252f9ca2c5f8a9ab039b96ef09dc1d52d17de7d" } + [target.win-64.dependencies] # patch is required by rattler-build m2-patch = "*"