From c5a20c3f3eb7a5c7b56c1eb716200a571c9460e9 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 09:43:55 +0200 Subject: [PATCH 01/12] Add Pixi development environment --- README.md | 24 +- pixi.lock | 1821 +++++++++++++++++++++++++++++++++++++++++++++++++++++ pixi.toml | 18 + 3 files changed, 1857 insertions(+), 6 deletions(-) create mode 100644 pixi.lock create mode 100644 pixi.toml diff --git a/README.md b/README.md index 74f6c851..b56020ed 100644 --- a/README.md +++ b/README.md @@ -138,21 +138,33 @@ Windows (64-bit only). ## Building from Source -Make sure you have the following dependencies installed on you machine: +### With Pixi (recommended) -* [Rust](https://www.rust-lang.org/tools/install) -* [LLVM 14](https://docs.mun-lang.org/dev/02-building-llvm.html) - -Clone the source code, including all submodules: +[Pixi](https://pixi.sh) installs the pinned Rust and LLVM toolchains from +conda-forge on Linux, macOS, and Windows. Clone the source code and run: ```bash git clone https://github.com/mun-lang/mun.git +cd mun git submodule update --init --recursive +pixi run build-release ``` -Use `cargo` to build a release version +Run the test suite with `pixi run test`. The `llvmdev` package contains the +static LLVM component libraries used by `llvm-sys`. + +On Windows, the MSVC linker and Windows SDK from Visual Studio Build Tools are +still required. On macOS, install the Xcode command line tools. + +### With system dependencies + +Install [Rust](https://www.rust-lang.org/tools/install) and +[LLVM 14](https://docs.mun-lang.org/dev/02-building-llvm.html), then run: ```bash +git clone https://github.com/mun-lang/mun.git +cd mun +git submodule update --init --recursive cargo build --release ``` diff --git a/pixi.lock b/pixi.lock new file mode 100644 index 00000000..cf599e85 --- /dev/null +++ b/pixi.lock @@ -0,0 +1,1821 @@ +version: 7 +platforms: +- name: linux-64 + virtual-packages: + - __unix=0=0 + - __linux=4.18 + - __glibc=2.28 + - __archspec=0=x86_64 +- name: osx-64 + virtual-packages: + - __unix=0=0 + - __osx=13.0 + - __archspec=0=x86_64 +- name: osx-arm64 + virtual-packages: + - __unix=0=0 + - __osx=13.0 + - __archspec=0=m1 +- name: win-64 + virtual-packages: + - __win=10.0 + - __archspec=0=x86_64 +environments: + default: + channels: + - url: https://conda.anaconda.org/conda-forge/ + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.2-hc85cc9f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-16.1.0-h5fcb69b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.0-heca4667_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.1.0-ha9f2e26_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.1.0-h69a702a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.1.0-he0feb66_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm14-14.0.6-hcd5def8_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h877daf1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hf670292_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-16.1.0-hf2715c6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.1.0-h934c35e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.1.0-hdf11a46_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-tools-14.0.6-hcd5def8_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmdev-14.0.6-hcd5def8_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rust-1.86.0-h1a8d7c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-16.1.0-h59071f9_101.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-16.1.0-h41cdd0d_101.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-unknown-linux-gnu-1.86.0-h2c6d0dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + osx-64: + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-apple-darwin-1.86.0-h38e4360_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.8-ha3d0635_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cmake-4.4.2-h2426fb6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h69064fd_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h7dba2e6_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321hba2e2ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-ha3d0635_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libllvm14-14.0.6-hc8e404f_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libpsl-0.23.1-h9bd203f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hd53bb72_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libuv-1.52.1-ha3d0635_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-tools-14.0.6-hc8e404f_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/llvmdev-14.0.6-hc8e404f_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ninja-1.13.2-hebe015c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rhash-1.4.6-ha1e9b39_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/rust-1.86.0-h34a2095_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-aarch64-apple-darwin-1.86.0-hf6ec828_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h1a92334_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.2-h8cb302d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hf618e03_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-h55c6f16_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321h26f1114_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm14-14.0.6-hd1a9a77_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpsl-0.23.1-h7a62e17_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-14.0.6-hd1a9a77_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmdev-14.0.6-hd1a9a77_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ninja-1.13.2-h3feff0a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rust-1.86.0-h4ff7c5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda + win-64: + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-pc-windows-msvc-1.86.0-h17fc481_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.2-h5b8e180_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.21.0-hdb0ef4a_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libllvm14-14.0.6-h97333cc_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpsl-0.23.1-h9b16d47_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.9-h741aa76_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-tools-14.0.6-hac7d729_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvmdev-14.0.6-h97333cc_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ninja-1.13.2-h477610d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rust-1.86.0-hf8d6059_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + build_number: 20 + sha256: 1dd3fffd892081df9726d7eb7e0dea6198962ba775bd88842135a4ddb4deb3c9 + md5: a9f577daf3de00bca7c3c76c0ecbd1de + depends: + - __glibc >=2.17,<3.0.a0 + - libgomp >=7.5.0 + constrains: + - openmp_impl <0.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - _openmp_mutex >=4.5 + size: 28948 + timestamp: 1770939786096 +- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda + sha256: fb7bf36984a37ce7e4714d1d1da0bd0e3bfc679520f5cdc184afc676fd4b5da2 + md5: a0c5e0b7f58c8ceeb08e5bc41251d5a2 + depends: + - ld_impl_linux-64 2.46.1 default_hbd61a6d_102 + - sysroot_linux-64 + - zstd >=1.5.7,<1.6.0a0 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 3713752 + timestamp: 1784214522814 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda + sha256: 1a0d382c515ebf55f8ee1f38c8b81bc95af5c2acc42ad53b66bc5df932032f96 + md5: e675fabcf81499adc7edf58124fb1e01 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: bzip2-1.0.6 + license_family: BSD + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 257808 + timestamp: 1785906269155 +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-h280c20c_1.conda + sha256: 5139b6afbfaca91c47104ba9a6a40f81211e1c9200e96b73ce3a56f0ca1902f4 + md5: 2cef891b791040aab83e218c7d137679 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - c-ares-static <0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - c-ares >=1.34.8,<2.0a0 + size: 226755 + timestamp: 1786116641939 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.2-hc85cc9f_0.conda + sha256: 5c8027d6f51e4aea86dfa74a09481f6e275742a620c5a88b132ec01405e9bd6e + md5: c7d7ad5d723ffc37a7892d9dd9dd115d + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libcurl >=8.21.0,<9.0a0 + - libexpat >=2.8.1,<3.0a0 + - libgcc >=14 + - liblzma >=5.8.3,<6.0a0 + - libstdcxx >=14 + - libuv >=1.52.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - rhash >=1.4.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 23711960 + timestamp: 1785533746305 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-16.1.0-h5fcb69b_1.conda + sha256: 00c87015522248adb5565a1b8f977cfe927831dd7ef0cb0a5d13f896844af719 + md5: 419982d8913246db404319048e062d3e + depends: + - binutils_impl_linux-64 >=2.46.1 + - libgcc >=16.1.0 + - libgcc-devel_linux-64 16.1.0 h59071f9_101 + - libgomp >=16.1.0 + - libsanitizer 16.1.0 hf2715c6_1 + - libstdcxx >=16.1.0 + - libstdcxx-devel_linux-64 16.1.0 h41cdd0d_101 + - sysroot_linux-64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 85161422 + timestamp: 1785375529345 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda + sha256: 9f07834f0c546ab14d885ce0366285f61f44e326c0edd1fc63b8294e113ae432 + md5: 72a381cbad04f24b1c2a43ef707f45b4 + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - icu >=78.3,<79.0a0 + size: 14459115 + timestamp: 1786545741408 +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda + sha256: dd053c96dcb0dcfd59422aefea9d2fe937a190167f34fba7893ec1e10a7e8963 + md5: ba55d1b89fd7775e67de8291029b4059 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=15 + license: LGPL-2.1-or-later + run_exports: + weak: + - keyutils >=1.6.3,<2.0a0 + size: 135295 + timestamp: 1786739238128 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda + sha256: 2a5c38c85e63df84c4e69ee71439841ce570d259ae3060627bb9a49a938d66f4 + md5: 53318d715316929a574f83591308b1f8 + depends: + - __glibc >=2.17,<3.0.a0 + - keyutils >=1.6.3,<2.0a0 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 + - libgcc >=15 + - libstdcxx >=15 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - krb5 >=1.22.2,<1.23.0a0 + size: 1394333 + timestamp: 1786762112514 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda + sha256: 27d83f1188cd19bcb7754a078b3fa7f4cfb8527f8eb2fde54dd01fc529d1adec + md5: 449500f2c089da11c40f5c21312e3e07 + depends: + - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - binutils_impl_linux-64 2.46.1 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 745303 + timestamp: 1784214507189 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.0-heca4667_4.conda + sha256: aff8ef75636d0825ce34911e0bef2f26816e7afd090a9dcb4b9bacab75cbf584 + md5: 3f2fd5617cfacac49c85f6dc63842ea1 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=14 + - libnghttp2 >=1.68.1,<2.0a0 + - libpsl >=0.23.0,<0.24.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.21.0,<9.0a0 + size: 480565 + timestamp: 1785500108494 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda + sha256: 6473eb8caf2aae830f37caa93db9b26dddf7ac84b63229e8bf7fc0e5c3ab95b0 + md5: 50708d3b951d0f8e2d7f2df5b5edc040 + depends: + - ncurses + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ncurses >=6.6,<7.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libedit >=3.1.20250104,<3.2.0a0 + size: 135098 + timestamp: 1786616658086 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda + sha256: e4418f68d01a6307c4431b585c71b584f40189877364e542ee87deb777f5e85b + md5: 7bc31538d6e3fb349e897353969237ec + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: BSD-2-Clause OR GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - libev >=4.33,<4.34.0a0 + size: 43220 + timestamp: 1785917328200 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + sha256: 16feffd9ddbbe5b718515d38ee376c685ba95491cd901244e24671d20b952a77 + md5: b24d3c612f71e7aa74158d92106318b2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - expat 2.8.1.* + license: MIT + license_family: MIT + run_exports: {} + size: 77856 + timestamp: 1781203599810 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.1.0-ha9f2e26_1.conda + sha256: d5cb8475131c31680f8fd30512c418f373064e272e452063276a8fb14c9fa42f + md5: 5a7d954665c707c93311657cd779c705 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgomp 16.1.0 he0feb66_1 + - libgcc-ng ==16.1.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 1057877 + timestamp: 1785375436766 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.1.0-h69a702a_1.conda + sha256: 225275c562337a1cd61705da0ee4235dde7bba7504de1c34b74c894adb2b0eee + md5: 7ed870c014a6f23c7dfafda53d2763a9 + depends: + - libgcc 16.1.0 ha9f2e26_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + strong: + - libgcc + size: 28210 + timestamp: 1785375440733 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.1.0-he0feb66_1.conda + sha256: 62cb599ad0539d99386515326d9d5e8f51f75a60c69c2131b21df76edf35bd89 + md5: 88f2d91cb1533194c323534253094d23 + depends: + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + strong: + - _openmp_mutex >=4.5 + size: 640415 + timestamp: 1785375373755 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm14-14.0.6-hcd5def8_4.conda + sha256: 225cc7c3b20ac1db1bdb37fa18c95bf8aecef4388e984ab2f7540a9f4382106a + md5: 73301c133ded2bf71906aa2104edae8b + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libllvm14 >=14.0.6,<14.1.0a0 + size: 31484415 + timestamp: 1690557554081 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda + sha256: 9787df8c22a59c9a70d3e5a10db9ad663485e75e9ccc3f09bd092cb7b95e0dab + md5: 1390b7c5ac0b1d8e447bc5efa6d3c8c2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - xz 5.8.3.* + license: 0BSD + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 112995 + timestamp: 1786348617826 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h877daf1_0.conda + sha256: 663444d77a42f2265f54fb8b48c5450bfff4388d9c0f8253dd7855f0d993153f + md5: 2a45e7f8af083626f009645a6481f12d + depends: + - __glibc >=2.17,<3.0.a0 + - c-ares >=1.34.6,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnghttp2 >=1.68.1,<2.0a0 + size: 663344 + timestamp: 1773854035739 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hf670292_0.conda + sha256: 2e6405feb59e3f40a5a4641dfa73afda158046893aa73d478e23415e18997ece + md5: c8217f5bdd5b018087bdea081912cda5 + depends: + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - icu >=78.3,<79.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libpsl >=0.23.1,<0.24.0a0 + size: 72505 + timestamp: 1786443494718 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-16.1.0-hf2715c6_1.conda + sha256: 85662ecadd3961bc96cbcc38dbc024a768cc35932c8440677ed028ea6322c36c + md5: abd77210925872ee084672cf5be1d491 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=16.1.0 + - libstdcxx >=16.1.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + weak: + - libsanitizer 16.1.0 + size: 7780843 + timestamp: 1785375481116 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda + sha256: 7e463000fa1cba3f3a6597b776f6ab301d425a96e3bc20d0d9d76a3b9f237aa3 + md5: 5c526561e1d2a2e071941174eae84557 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libssh2 >=1.11.1,<2.0a0 + size: 306045 + timestamp: 1786713107897 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.1.0-h934c35e_1.conda + sha256: 79721dd08aeb0ab9e773f1f9ef41cf4e6c17477e3d72319147619045bce05a09 + md5: aed6cf89adc1e9b846e4367ac538e434 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc 16.1.0 ha9f2e26_1 + constrains: + - libstdcxx-ng ==16.1.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 6631744 + timestamp: 1785375462643 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.1.0-hdf11a46_1.conda + sha256: 2876ca4463d1b394eb969ce4a84d1620aa63fb8202a6397837d1e45ec76c1208 + md5: c94f06123272d8e129d4acf3a25ffb35 + depends: + - libstdcxx 16.1.0 h934c35e_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + strong: + - libstdcxx + size: 28253 + timestamp: 1785375500257 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda + sha256: 67761d0206f84140047a367eaf9befe03a7e157a29ee25aee0047b40801cc6b6 + md5: 01c4ed87826af55996768af6dbc936b4 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libuv >=1.52.1,<2.0a0 + size: 420040 + timestamp: 1785914567661 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + sha256: eb8a0db0aa570124f7d2a93d7c7f596e3390df5e047818d873baad32985fc736 + md5: 0de0122d9570a8ab637c6b73db268389 + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - zlib 1.3.2 *_3 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 63713 + timestamp: 1785362952714 +- conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-tools-14.0.6-hcd5def8_4.conda + sha256: 81e5a38c9ea9229d9db5a47d06e19e4bbf6110717998eb8316ec1b7f48128f76 + md5: 6281c129cd6fd3f0acda9c67681b0021 + depends: + - libgcc-ng >=12 + - libllvm14 14.0.6 hcd5def8_4 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + constrains: + - llvmdev 14.0.6 + - clang 14.0.6.* + - clang-tools 14.0.6.* + - llvm 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 14833868 + timestamp: 1690557676437 +- conda: https://conda.anaconda.org/conda-forge/linux-64/llvmdev-14.0.6-hcd5def8_4.conda + sha256: 2f76a3c647dacfa361b8733a5a880dc9e83f96a30b0b026f99b319cd25cb5e3a + md5: cdf305b971b0bba3619ba7db11f0e15b + depends: + - libgcc-ng >=12 + - libllvm14 14.0.6 hcd5def8_4 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - llvm-tools 14.0.6 hcd5def8_4 + constrains: + - clang 14.0.6.* + - clang-tools 14.0.6.* + - llvm 14.0.6.* + - llvm-tools 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 48866788 + timestamp: 1690557731509 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda + sha256: 5d46557214ed184381dafe835b7c94a474a1c3b307a08a250b1ea4779b44ffb3 + md5: ee6c0cd80a60961a1f48aa3e0b91f986 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: X11 AND BSD-3-Clause + run_exports: + weak: + - ncurses >=6.6,<7.0a0 + size: 911196 + timestamp: 1786355078102 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_1.conda + sha256: 2b5f2e865122f9fc0637f520a7cb22e16b9727b2db6761ee16cb5e6404412c81 + md5: 2db7a395d7dc2b6ed5effaf68fb99443 + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 186767 + timestamp: 1786713048064 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_1.conda + sha256: 012096056b97abf1f68c46b7146bd2cbd68c1be762340b4f5dad4fbbe99177bc + md5: c5955c27917ff2234def47f075e71e02 + depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - openssl >=3.6.3,<4.0a0 + size: 3182423 + timestamp: 1785913583650 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda + sha256: 186a5b225077ad5f4656966da947d43307101950751ef4a239b455588756b4e1 + md5: 007602d697e07c11ff9864964eba5ee3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - rhash >=1.4.6,<2.0a0 + size: 194994 + timestamp: 1786731436520 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rust-1.86.0-h1a8d7c4_0.conda + sha256: fa3b6757df927a24c3006bc5bffbac5b0c9a54b9755c08847f8a832ec1b79300 + md5: 98eab8148e1447e79f9e03492d04e291 + depends: + - __glibc >=2.17,<3.0.a0 + - gcc_impl_linux-64 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + - rust-std-x86_64-unknown-linux-gnu 1.86.0 h2c6d0dc_0 + - sysroot_linux-64 >=2.17 + license: MIT + license_family: MIT + run_exports: + strong_constrains: + - __glibc >=2.17 + size: 218638108 + timestamp: 1743697775334 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda + sha256: 47d682b9f6d6ec9eb1a6e6c3e75ea6273e899e78fb7fc59f81d39745009fbc60 + md5: aa459086047c0e5e27023ab19f8cb86a + depends: + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.2,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 601301 + timestamp: 1786599621503 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + sha256: 95e8e74062a5fe5f870ac8c90302b6e89945165fdaed7810606e84ddee6aac12 + md5: e27d2ac27b096dc51fedfcf775a53f9b + depends: + - __win + license: ISC + run_exports: {} + size: 132136 + timestamp: 1784754918886 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6 + md5: 0f51e2391ade309db462a55611263e9c + depends: + - __unix + license: ISC + run_exports: {} + size: 131780 + timestamp: 1784754889428 +- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda + sha256: 41557eeadf641de6aeae49486cef30d02a6912d8da98585d687894afd65b356a + md5: 86d9cba083cd041bfbf242a01a7a1999 + constrains: + - sysroot_linux-64 ==2.28 + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL + run_exports: {} + size: 1278712 + timestamp: 1765578681495 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-16.1.0-h59071f9_101.conda + sha256: b314251d957b16c71ec241119ac09b9530c5c4ce140026ec98d297f55d6c5e08 + md5: 19b0151ecb1d122f706ebd2f82f9a017 + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 3096495 + timestamp: 1785375361053 +- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-16.1.0-h41cdd0d_101.conda + sha256: c1521172f2fdf5510d79b621ea835064209fe3131518e0d8b2b43362a75e7b4c + md5: 8593636203272a748b63d56cbd674753 + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 22519609 + timestamp: 1785375386152 +- conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-aarch64-apple-darwin-1.86.0-hf6ec828_0.conda + sha256: 13ece700416fd30628019ee589b8de01a66991c2ff583e876057309cd4a0b59a + md5: e1a76ff63763cf04e06eca94978b9dd0 + depends: + - __unix + constrains: + - rust >=1.86.0,<1.86.1.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 32999893 + timestamp: 1743696811586 +- conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-apple-darwin-1.86.0-h38e4360_0.conda + sha256: 21f363d82ff18cf4532edd793258890f16c78bcb62d09720ec8077c80b5b3e21 + md5: bf9600640e706037e6b095f910f797fb + depends: + - __unix + constrains: + - rust >=1.86.0,<1.86.1.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 34776293 + timestamp: 1743696857590 +- conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-pc-windows-msvc-1.86.0-h17fc481_0.conda + sha256: e5f9d2507e78d2508613480ffff586e70fc181351b46999c67387fe4c31df53f + md5: 7c621ff4a342c29e465c92bd6d464cb3 + depends: + - __win + constrains: + - rust >=1.86.0,<1.86.1.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 28054537 + timestamp: 1743699089031 +- conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-unknown-linux-gnu-1.86.0-h2c6d0dc_0.conda + sha256: 8c1c68b7a8ce9657fea7d266607c21c9a00a382c346348a232e539c8a3266e84 + md5: 2fcc4c775a50bd2ce3ccb8dc56e4fb47 + depends: + - __unix + constrains: + - rust >=1.86.0,<1.86.1.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 37636509 + timestamp: 1743697574868 +- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + sha256: c47299fe37aebb0fcf674b3be588e67e4afb86225be4b0d452c7eb75c086b851 + md5: 13dc3adbc692664cd3beabd216434749 + depends: + - __glibc >=2.28 + - kernel-headers_linux-64 4.18.0 he073ed8_9 + - tzdata + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL + run_exports: + strong: + - __glibc >=2.28,<3.0.a0 + size: 24008591 + timestamp: 1765578833462 +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + sha256: b928c30ddcb0e3f544c6eade8352737e6e610e263276b90232db6a578ef899d8 + md5: fcb489df604d100968b737f2cb6076c6 + license: LicenseRef-Public-Domain + run_exports: {} + size: 118849 + timestamp: 1784250406640 +- conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda + sha256: 4ed83961876dc8844a6f0df49c07b408efbaea275ffb0b37133e24c006990b3a + md5: 9d9a39212a876e4bb751c1cc3927b678 + depends: + - __osx >=11.0 + license: bzip2-1.0.6 + license_family: BSD + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 133271 + timestamp: 1785906721507 +- conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.8-ha3d0635_1.conda + sha256: 319144659c1f7bd01bfe8a0fb2e94ac67be75ebe65c1c6c7f580f656c14890e6 + md5: 0daa2a2fdb1246f13453642c459d0dcf + depends: + - __osx >=11.0 + constrains: + - c-ares-static <0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - c-ares >=1.34.8,<2.0a0 + size: 205386 + timestamp: 1786116708158 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cmake-4.4.2-h2426fb6_0.conda + sha256: eb9cadfd3dc0e48a3812dc1887dab13e0b824c46bc09ed3a1ffdd33d60f039db + md5: 7501a8ca8c8c66d65c67bdd7c7bb3057 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libcurl >=8.21.0,<9.0a0 + - libcxx >=19 + - libexpat >=2.8.1,<3.0a0 + - liblzma >=5.8.3,<6.0a0 + - libuv >=1.52.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - rhash >=1.4.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 20013251 + timestamp: 1785534999623 +- conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda + sha256: 3abd86f3441f143b6b3203c92ae0d88dd8396a8857940af468f1fab854cdae57 + md5: f13f4740c18b562bf2662d494bad6099 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - icu >=78.3,<79.0a0 + size: 14223209 + timestamp: 1786545868538 +- conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h69064fd_2.conda + sha256: f41875ab241c4862b6bdb8316e5f4268ee8ff9e9115770d3d30a02028957c7c1 + md5: da54bd0f3b96eb0d7663b3db01862a19 + depends: + - __osx >=11.0 + - libcxx >=21 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - krb5 >=1.22.2,<1.23.0a0 + size: 1199337 + timestamp: 1786762832264 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h7dba2e6_4.conda + sha256: 5a47abbbe5938b5e87cd80bfcb002a3b33babe975ef7bcb2076e92439327d160 + md5: c7ea54c4b80f207ece50ba7008e115b2 + depends: + - __osx >=11.0 + - krb5 >=1.22.2,<1.23.0a0 + - libnghttp2 >=1.68.1,<2.0a0 + - libpsl >=0.23.0,<0.24.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.21.0,<9.0a0 + size: 431686 + timestamp: 1785500704757 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda + sha256: 57ee997f1f800cf38abc743c0f0a9ddfe6a101c697c35510452ce6f4ddf96361 + md5: 0f600157f28fc7bc9549ecafdfa5bc12 + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 566717 + timestamp: 1781672189697 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321hba2e2ab_1.conda + sha256: 4aa5161db41602af1abff73f5af415902135a47855d02c1ac05681a36320bd4b + md5: 17532a8cca2c887fa24fbdcd5336c3af + depends: + - ncurses + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libedit >=3.1.20250104,<3.2.0a0 + size: 115628 + timestamp: 1786616974852 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-ha3d0635_3.conda + sha256: 223314a7476bdeb00f698937b6960fc51cb98627af2ac5a629e5150bcddb8abf + md5: 6d2f0447151b390bdaed846e143272e3 + depends: + - __osx >=11.0 + license: BSD-2-Clause OR GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - libev >=4.33,<4.34.0a0 + size: 40479 + timestamp: 1785917395373 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + sha256: 9c96cc05e056e1bba5b545cbbd57b6e01db622dc2c82934caaaa25cfb22fe666 + md5: dcfdea7b7013beef0a4d744d776ea38f + depends: + - __osx >=11.0 + constrains: + - expat 2.8.1.* + license: MIT + license_family: MIT + run_exports: {} + size: 76020 + timestamp: 1781204303305 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libllvm14-14.0.6-hc8e404f_4.conda + sha256: 0df3902a300cfe092425f86144d5e00ef67be3cd1cc89fd63084d45262a772ad + md5: ed06753e2ba7c66ed0ca7f19578fcb68 + depends: + - libcxx >=15 + - libzlib >=1.2.13,<2.0.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libllvm14 >=14.0.6,<14.1.0a0 + size: 22467131 + timestamp: 1690563140552 +- conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda + sha256: 7915dac7c71c208e40e716e2f6d3eff41a8d5584e0e7c2d46f9bf9bd5f9aa739 + md5: daf49067580fbfeae3ac7f9535400494 + depends: + - __osx >=11.0 + constrains: + - xz 5.8.3.* + license: 0BSD + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 104919 + timestamp: 1786349094608 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda + sha256: 899551e16aac9dfb85bfc2fd98b655f4d1b7fea45720ec04ccb93d95b4d24798 + md5: dba4c95e2fe24adcae4b77ebf33559ae + depends: + - __osx >=11.0 + - c-ares >=1.34.6,<2.0a0 + - libcxx >=19 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnghttp2 >=1.68.1,<2.0a0 + size: 606749 + timestamp: 1773854765508 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libpsl-0.23.1-h9bd203f_0.conda + sha256: 777a414e2b3b0885a013524668e391ae0f10f0280abc9a79910ffd723d5cf34c + md5: d51e6b1e5cb49118ec5af669723b9649 + depends: + - __osx >=11.0 + - libcxx >=19 + - icu >=78.3,<79.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libpsl >=0.23.1,<0.24.0a0 + size: 72990 + timestamp: 1786443657171 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hd53bb72_1.conda + sha256: ed0db46844a548f4ca57dad0b3abb92b37050d7f75ab1ef08fbed9d23f06b2de + md5: cb57b979974ef5b8a4526a8e5c8195b9 + depends: + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libssh2 >=1.11.1,<2.0a0 + size: 286497 + timestamp: 1786713428677 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libuv-1.52.1-ha3d0635_1.conda + sha256: 4aacf651487bf2cd4dcfab49ea98a00a34305919ff3a09b66b7ddaa97d8b316f + md5: 17b0d6c818992264752f1a720be711fc + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - libuv >=1.52.1,<2.0a0 + size: 128560 + timestamp: 1785914631885 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda + sha256: b2dba286dd6632292b12296e761193b5ef9fb0eaeecaa481f5ba9af72c0c18e1 + md5: 7d3fa28263bb7f8ea32db11f570a5bb6 + depends: + - __osx >=11.0 + constrains: + - zlib 1.3.2 *_3 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 58993 + timestamp: 1785276808631 +- conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-tools-14.0.6-hc8e404f_4.conda + sha256: bbd455bb43d23a2daaa20d6805b4764b97c7a79ca8dfa80dc95c3a0b2155cbbc + md5: a55c7b960756f104bcbf5bfcd5c8890a + depends: + - libllvm14 14.0.6 hc8e404f_4 + - libzlib >=1.2.13,<2.0.0a0 + constrains: + - llvmdev 14.0.6 + - clang 14.0.6.* + - clang-tools 14.0.6.* + - llvm 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 11207189 + timestamp: 1690563328190 +- conda: https://conda.anaconda.org/conda-forge/osx-64/llvmdev-14.0.6-hc8e404f_4.conda + sha256: a5cccccbf5f0dd86f8246dcb960fb17422338ebc4d478db94aa49590ca8f2420 + md5: 9b099e5f0507bf2e04d25bb2a2017b6e + depends: + - libcxx >=15 + - libllvm14 14.0.6 hc8e404f_4 + - libzlib >=1.2.13,<2.0.0a0 + - llvm-tools 14.0.6 hc8e404f_4 + constrains: + - clang 14.0.6.* + - clang-tools 14.0.6.* + - llvm 14.0.6.* + - llvm-tools 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 36318249 + timestamp: 1690563524375 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda + sha256: 12c1d676b9a0e8109b576672519312c5428308f3f3d7706f8717e2f536d5d9e7 + md5: 88a79390f87c8f3334b9999a892e78d4 + depends: + - __osx >=11.0 + license: X11 AND BSD-3-Clause + run_exports: + weak: + - ncurses >=6.6,<7.0a0 + size: 834865 + timestamp: 1786356957789 +- conda: https://conda.anaconda.org/conda-forge/osx-64/ninja-1.13.2-hebe015c_1.conda + sha256: c26058f38190a758906a0a0200a86a24a904e61ba5e04ee2e36325c84eac93f8 + md5: 27f01468ccd33fe598256baa0cd59e12 + depends: + - __osx >=11.0 + - libcxx >=19 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 178973 + timestamp: 1786713175652 +- conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_1.conda + sha256: d43abd09a455847108fc821e81cf4e36dba31755263a1313b6f1b538ac218998 + md5: da403ed66c373b5fb25266b4be662327 + depends: + - __osx >=11.0 + - ca-certificates + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - openssl >=3.6.3,<4.0a0 + size: 2773506 + timestamp: 1785915436200 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rhash-1.4.6-ha1e9b39_2.conda + sha256: 4045a9fd2a79741bd149a5a93293bc335557bea0ad9660035a33e652a3843e3a + md5: 773d8a5db899e5db9591c49d93ff8300 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - rhash >=1.4.6,<2.0a0 + size: 186416 + timestamp: 1786732023380 +- conda: https://conda.anaconda.org/conda-forge/osx-64/rust-1.86.0-h34a2095_0.conda + sha256: 69b7d7eb9f6b3aaf84a09f5e07f16aa9bcbf52aec8364f572d96668d2a1c6bf1 + md5: a9991a60df5a93e7c87ff17e5c306499 + depends: + - rust-std-x86_64-apple-darwin 1.86.0 h38e4360_0 + license: MIT + license_family: MIT + run_exports: + strong_constrains: + - __osx >=10.13 + size: 232864569 + timestamp: 1743697077267 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda + sha256: 5277886d9704a624dc9b79ac985861e1e431bdb39a57c082507ab577a138ec6c + md5: c1d11f04327e40537ffe6cad5b131019 + depends: + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 528228 + timestamp: 1786599702092 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + sha256: 8ec22f0ba25cbfc2e64d70cf29459eccd7ffdf6436f6a6ff15bbfef799f7d4f6 + md5: b50612e7d190b8061ab4e7dc119cf4d5 + depends: + - __osx >=11.0 + license: bzip2-1.0.6 + license_family: BSD + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 124965 + timestamp: 1785906749812 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h1a92334_1.conda + sha256: 104b41473845649101ba8ebf8221c7431256465d34ce380b10e9a90558ed33ac + md5: 7d9390a4d4b43f91652823d870f68065 + depends: + - __osx >=11.0 + constrains: + - c-ares-static <0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - c-ares >=1.34.8,<2.0a0 + size: 197274 + timestamp: 1786116660078 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.2-h8cb302d_0.conda + sha256: 64c89fbb4a70eb192883fee4a16c0cdb0e6eb9921e3b63b1a8125a98e9c856e6 + md5: 952ccf9c6e8204dd1bdda021f274a5bb + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libcurl >=8.21.0,<9.0a0 + - libcxx >=19 + - libexpat >=2.8.1,<3.0a0 + - liblzma >=5.8.3,<6.0a0 + - libuv >=1.52.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - rhash >=1.4.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 18781011 + timestamp: 1785535003448 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda + sha256: 6cdb5dee54c72e56ab189fb3ad33cb28533553d42590e7e831160248f4416a43 + md5: a5efc0b42bb8b42e97d0a29ae3e3c187 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - icu >=78.3,<79.0a0 + size: 14070242 + timestamp: 1786545847761 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda + sha256: aaea1d42b07769920db2af7471ece9399d2613448863da64ad8272998db5db34 + md5: 15235dd10450d67bc25ccafd5b46d2bc + depends: + - __osx >=11.0 + - libcxx >=21 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - krb5 >=1.22.2,<1.23.0a0 + size: 1165740 + timestamp: 1786762145768 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hf618e03_4.conda + sha256: d25be36712d7f854a5f93513b9fbf1b0ee3219975b7fef4a3ee071b021b10167 + md5: 66cf9c5003ee81ecdb0dc9f9df17bbe5 + depends: + - __osx >=11.0 + - krb5 >=1.22.2,<1.23.0a0 + - libnghttp2 >=1.68.1,<2.0a0 + - libpsl >=0.23.0,<0.24.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.21.0,<9.0a0 + size: 411491 + timestamp: 1785500129743 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-h55c6f16_0.conda + sha256: a2e7abab5add9750fab064c024394de48e49f97631c605ad5db5c8ac3fc769ef + md5: 89f76a2a21a3ec3ec983b5eb237c4113 + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 569349 + timestamp: 1781670209146 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321h26f1114_1.conda + sha256: 257c926f19e32bdb981fc674c76966049b6fc73f706bae58e9fed8757ad1da70 + md5: 843ef89082f368cb889305084d3b483c + depends: + - ncurses + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 + license: BSD-2-Clause + license_family: BSD + run_exports: + weak: + - libedit >=3.1.20250104,<3.2.0a0 + size: 107742 + timestamp: 1786616721640 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda + sha256: c0100064506ae8abb432c5a506d474f10af2cf48c33d62bc221fb28b6d6ff6ac + md5: 19e86c8a6a47e92bb2e70ca12e758c5c + depends: + - __osx >=11.0 + license: BSD-2-Clause OR GPL-2.0-or-later + license_family: GPL + run_exports: + weak: + - libev >=4.33,<4.34.0a0 + size: 39991 + timestamp: 1785917376956 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda + sha256: 5af74261101e3c777399c6294b2b5d290e508153268eb2e9ff99c4d69834612f + md5: a915151d5d3c5bf039f5ccc8402a436f + depends: + - __osx >=11.0 + constrains: + - expat 2.8.1.* + license: MIT + license_family: MIT + run_exports: {} + size: 69362 + timestamp: 1781203631990 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm14-14.0.6-hd1a9a77_4.conda + sha256: 6f603914fe8633a615f0d2f1383978eb279eeb552079a78449c9fbb43f22a349 + md5: 9f3dce5d26ea56a9000cd74c034582bd + depends: + - libcxx >=15 + - libzlib >=1.2.13,<2.0.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libllvm14 >=14.0.6,<14.1.0a0 + size: 20571387 + timestamp: 1690559110016 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + sha256: 23d0630046a3e8b164d8f80f2b74ed2605af2e7050ab9913018056402fae4311 + md5: 8ab10323068b107661a4b9a4af84f3b5 + depends: + - __osx >=11.0 + constrains: + - xz 5.8.3.* + license: 0BSD + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 91720 + timestamp: 1786348695846 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda + sha256: 2bc7bc3978066f2c274ebcbf711850cc9ab92e023e433b9631958a098d11e10a + md5: 6ea18834adbc3b33df9bd9fb45eaf95b + depends: + - __osx >=11.0 + - c-ares >=1.34.6,<2.0a0 + - libcxx >=19 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libnghttp2 >=1.68.1,<2.0a0 + size: 576526 + timestamp: 1773854624224 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpsl-0.23.1-h7a62e17_0.conda + sha256: 0140cb0d059ac531e476b85a543668b69b7dffec16f0d26269ab6c9b70546921 + md5: 75a4cdf128d016141db61732ea462276 + depends: + - __osx >=11.0 + - libcxx >=19 + - icu >=78.3,<79.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libpsl >=0.23.1,<0.24.0a0 + size: 72950 + timestamp: 1786443660105 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda + sha256: a056e518c3d2d09fbb1778cea80c0c95338fb24adf1a817bbf90fb484850a304 + md5: d957a8eda98c49b073e8dcfd677c127a + depends: + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libssh2 >=1.11.1,<2.0a0 + size: 280492 + timestamp: 1786714226814 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda + sha256: 4f47de9de1990efd998edbbd6793f89c8f02ffde987ae8120b1c006acefd2a04 + md5: de09bd0f175611e94f21b28f8c708e80 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - libuv >=1.52.1,<2.0a0 + size: 122729 + timestamp: 1785914645797 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda + sha256: a18fa5d5bac452401459f966cf0d872224e8080c4ff93c77e168d43ab42ef9d7 + md5: f39288f0ea63ae962e1a2e4f355a0d75 + depends: + - __osx >=11.0 + constrains: + - zlib 1.3.2 *_3 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 47822 + timestamp: 1785277049190 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-14.0.6-hd1a9a77_4.conda + sha256: a15fd9113f3ef412c4eb99363b517d1347ae771271571565ac573e3959151749 + md5: fd0a3b0a22ba6f5ace86ce5b5e26c4c5 + depends: + - libllvm14 14.0.6 hd1a9a77_4 + - libzlib >=1.2.13,<2.0.0a0 + constrains: + - llvmdev 14.0.6 + - clang 14.0.6.* + - clang-tools 14.0.6.* + - llvm 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 9776772 + timestamp: 1690559269462 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmdev-14.0.6-hd1a9a77_4.conda + sha256: 04e55e30222d459a0ded3e713b009113855ac66f04237d11ab510f8b4a8b5be3 + md5: 2217acc119bbc460da3c0c547066ba44 + depends: + - libcxx >=15 + - libllvm14 14.0.6 hd1a9a77_4 + - libzlib >=1.2.13,<2.0.0a0 + - llvm-tools 14.0.6 hd1a9a77_4 + constrains: + - clang 14.0.6.* + - clang-tools 14.0.6.* + - llvm 14.0.6.* + - llvm-tools 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 34887783 + timestamp: 1690559504884 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + sha256: 7024a48c8c0d0114ed4ab53c76bf9275d50e91ba7cea367a9aead638d3c29c68 + md5: 3dfa0d0316dc246cd44937a557de4501 + depends: + - __osx >=11.0 + license: X11 AND BSD-3-Clause + run_exports: + weak: + - ncurses >=6.6,<7.0a0 + size: 804298 + timestamp: 1786355189145 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ninja-1.13.2-h3feff0a_1.conda + sha256: 3309eaa32a97afb323edb380563206c660637046eed93886d4b6b1b0ca270076 + md5: db95a98a49313f75abcad60aefa720ed + depends: + - libcxx >=19 + - __osx >=11.0 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 164371 + timestamp: 1786713083876 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_1.conda + sha256: 66be2283b5b37dcda1332b5e74c1782a8cb14fd2e62e0d38017c2d35bf73c119 + md5: 65d1906712b85d1679263c518d011b5b + depends: + - __osx >=11.0 + - ca-certificates + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - openssl >=3.6.3,<4.0a0 + size: 3109132 + timestamp: 1785913735357 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda + sha256: b4da3ab88c407b4133d39512b3b615d6fb020c89d39f54491862e6731528ab95 + md5: 5cec61f5b18ca8c5bbb1ad2dc5923a8e + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - rhash >=1.4.6,<2.0a0 + size: 185483 + timestamp: 1786732022220 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/rust-1.86.0-h4ff7c5d_0.conda + sha256: 84eed612b108a2ac5db2eb76c5f2cd596fec8e21a3cb1eb478080d74a39fab13 + md5: 05c1a701cdb550b46e0526c2453b7337 + depends: + - rust-std-aarch64-apple-darwin 1.86.0 hf6ec828_0 + license: MIT + license_family: MIT + run_exports: {} + size: 224722205 + timestamp: 1743697077568 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda + sha256: da867f5092eb0cb746d353694f0098031fd9817a4ce7d5743121209ae0f406ca + md5: 4ec2684c73812cc2c3d78379384a39cc + depends: + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 433687 + timestamp: 1786599629846 +- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda + sha256: 04767466ee9227c9c57ab2c6503e0149177d34111c7418d2f420297acb1eb229 + md5: c3301c058362f340100d91cd8be0393f + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: bzip2-1.0.6 + license_family: BSD + run_exports: + weak: + - bzip2 >=1.0.8,<2.0a0 + size: 55919 + timestamp: 1785906343696 +- conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.2-h5b8e180_0.conda + sha256: 5f32733fe45eb900aea629c377771c78a720d28342c1506391e14d0a7eaf2d8f + md5: 3896e3ba280bc48d58c5aa170f86c1db + depends: + - bzip2 >=1.0.8,<2.0a0 + - libcurl >=8.21.0,<9.0a0 + - libexpat >=2.8.1,<3.0a0 + - liblzma >=5.8.3,<6.0a0 + - libuv >=1.52.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 16738722 + timestamp: 1786607061184 +- conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h5112557_2.conda + sha256: 75c549b55b673e15de8785a8e5dd85bca7eb612eee0ff4dc8d7bdaa15eacbdbb + md5: e596942e8ee6ee17fdcf1e6a77757a66 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + run_exports: + weak: + - icu >=78.3,<79.0a0 + size: 16835644 + timestamp: 1784916416303 +- conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_2.conda + sha256: 63ff03324e903eb01a715ccf357df56d66224e61952fd6615d86490ebefb3285 + md5: 93f5a01dec294a2228f757fe2f3432d4 + depends: + - openssl >=3.5.7,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: + weak: + - krb5 >=1.22.2,<1.23.0a0 + size: 753425 + timestamp: 1786762169034 +- conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.21.0-hdb0ef4a_4.conda + sha256: af17c990ec52b6aba29e052c438d7ac61bfd541d6d183a8f09aa4f2c532c9bab + md5: 5e9c5b83929cf7ab2c04121af771e7b5 + depends: + - krb5 >=1.22.2,<1.23.0a0 + - libpsl >=0.23.0,<0.24.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: curl + license_family: MIT + run_exports: + weak: + - libcurl >=8.21.0,<9.0a0 + size: 404586 + timestamp: 1785500241182 +- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + sha256: 1a54d874addda73b6f7164d5f3905821277a1831bcc05edd74b3085391688571 + md5: ccc490c81ffe14181861beac0e8f3169 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - expat 2.8.1.* + license: MIT + license_family: MIT + run_exports: {} + size: 71631 + timestamp: 1781203724164 +- conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + sha256: 0dcdb1a5f01863ac4e8ba006a8b0dc1a02d2221ec3319b5915a1863254d7efa7 + md5: 64571d1dd6cdcfa25d0664a5950fdaa2 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only + run_exports: + weak: + - libiconv >=1.18,<2.0a0 + size: 696926 + timestamp: 1754909290005 +- conda: https://conda.anaconda.org/conda-forge/win-64/libllvm14-14.0.6-h97333cc_4.conda + sha256: 0ed382ff9f19a69c475c7bbbf0e7a0c619d04729980f08be1e18d725cc4a092d + md5: de8d9f8b13721488a3ba2ee87ab03007 + depends: + - libzlib >=1.2.13,<2.0.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 54865 + timestamp: 1690558621089 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + sha256: d36c4a1e1f80fd08e18a407e03622ff2f34dfdd022da6488ad19603dea19e6d5 + md5: 880a0c8549479b198af21ba5dc49b109 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - xz 5.8.3.* + license: 0BSD + run_exports: + weak: + - liblzma >=5.8.3,<6.0a0 + size: 105809 + timestamp: 1786348717883 +- conda: https://conda.anaconda.org/conda-forge/win-64/libpsl-0.23.1-h9b16d47_0.conda + sha256: 1f92f663cb283c4fd90db8a8a3851a4f17f1e9778746adcbfb7736fde8e5455f + md5: 16ccdcddc776dbb14cd866ab480561ff + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - icu >=78.3,<79.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libpsl >=0.23.1,<0.24.0a0 + size: 73424 + timestamp: 1786443553911 +- conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda + sha256: 1097b08429b4f53f5751a32c6d99a083d227ca7f7812c0b239eea124cec073a0 + md5: a21dd9ca39e74910bb96989feb916420 + depends: + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - libssh2 >=1.11.1,<2.0a0 + size: 295149 + timestamp: 1786713186180 +- conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda + sha256: 0d62467380061cd0fa4b27e579c805a95c7ef55a41ecb067de0c4d2d42490c66 + md5: 4ccef39545e98553cc900ea557dff085 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + run_exports: + weak: + - libuv >=1.52.1,<2.0a0 + size: 331195 + timestamp: 1785914602690 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.9-h741aa76_0.conda + sha256: 28ac5bbed11644b9e06241ba1dfdac7e3a99e74b69915d45f646717ad9645ca5 + md5: 333d21ab129d5fa5742225bf1d7557a5 + depends: + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: + weak: + - libxml2 >=2.13.9,<2.14.0a0 + size: 1521446 + timestamp: 1761766307746 +- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda + sha256: 0629c2cc0404d3bb29d6baa7b4ba62da80797015e86de050db81ea5a07050527 + md5: 5d2ff29d465097458cc3ff6569151991 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - zlib 1.3.2 *_3 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 58529 + timestamp: 1785276664143 +- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-tools-14.0.6-hac7d729_4.conda + sha256: b625ebb8ea3697182f00277a9443213a5e51f64974601c166b593caee243d264 + md5: 5d76a3275d10426d5e0d498b9901a7aa + depends: + - libllvm14 14.0.6 h97333cc_4 + - libxml2 >=2.11.4,<2.14.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + constrains: + - llvmdev 14.0.6 + - clang 14.0.6.* + - clang-tools 14.0.6.* + - llvm 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 274728870 + timestamp: 1690559234354 +- conda: https://conda.anaconda.org/conda-forge/win-64/llvmdev-14.0.6-h97333cc_4.conda + sha256: 396c9d6b36952522c4ca4cae9250976459b1111ec4671d7933e1718fd681630b + md5: 26a47916d84649ddd2db95be1107a418 + depends: + - libllvm14 14.0.6 h97333cc_4 + - libzlib >=1.2.13,<2.0.0a0 + - llvm-tools 14.0.6 hac7d729_4 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + constrains: + - clang 14.0.6.* + - clang-tools 14.0.6.* + - llvm 14.0.6.* + - llvm-tools 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 83284043 + timestamp: 1690560165500 +- conda: https://conda.anaconda.org/conda-forge/win-64/ninja-1.13.2-h477610d_1.conda + sha256: 002bce37e87e39c6a1e5577b1018d294cd4517ba9c4be2ece92e5706acac41f5 + md5: 3a6804d04ecaf02987a075d5faf34877 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 309772 + timestamp: 1786713090968 +- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_1.conda + sha256: 2ebff5a1b5793e82495bf33c91fba040e11ff23333c2385ac66d0c3aee2cc14c + md5: a978392692a910ba1c8920ccb1e784b3 + depends: + - ca-certificates + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + run_exports: + weak: + - openssl >=3.6.3,<4.0a0 + size: 9427535 + timestamp: 1785915614585 +- conda: https://conda.anaconda.org/conda-forge/win-64/rust-1.86.0-hf8d6059_0.conda + sha256: acb32e2aebf79a07b7ccd0d4c8eed49ea0c45e62489b3cd8c609314ee12a5a7d + md5: 6b65d15fe703b59d2f1c7e2693db5bbf + depends: + - rust-std-x86_64-pc-windows-msvc 1.86.0 h17fc481_0 + license: MIT + license_family: MIT + run_exports: {} + size: 228028589 + timestamp: 1743699306537 +- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + sha256: 3005729dce6f3d3f5ec91dfc49fc75a0095f9cd23bab49efb899657297ac91a5 + md5: 71b24316859acd00bdb8b38f5e2ce328 + constrains: + - vc14_runtime >=14.29.30037 + - vs2015_runtime >=14.29.30037 + license: LicenseRef-MicrosoftWindowsSDK10 + run_exports: {} + size: 694692 + timestamp: 1756385147981 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda + sha256: 35444c55a92e2f7f7ba26bc70f81e56e52344f7d064c0fd4b40a46a58517b79c + md5: aa805b5522c2a98fa286e551a1f48546 + depends: + - vc14_runtime >=14.51.36247 + track_features: + - vc14 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 21383 + timestamp: 1785359368566 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda + sha256: 4e4cb599cdc41bf2109d1464c127b5bcbddf548ce3e322e612afb691338b48f8 + md5: ac5333bb3d429361f23adf704cc49a78 + depends: + - ucrt >=10.0.20348.0 + - vcomp14 14.51.36247 habf1de7_41 + constrains: + - vs2015_runtime 14.51.36247.* *_41 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + run_exports: {} + size: 767955 + timestamp: 1785359364369 +- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda + sha256: 731e043390c9457299484d39e427221fc868a9249540a498a5a4f6456c7744d1 + md5: 350bb67a5c8e5f1c53347ac544ab6600 + depends: + - ucrt >=10.0.20348.0 + constrains: + - vs2015_runtime 14.51.36247.* *_41 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + run_exports: + strong: + - vcomp14 >=14.51.36247 + size: 155910 + timestamp: 1785359349999 +- conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda + sha256: ca7daae4f218a11fab82cc2857f0ea518ec3f46acec60490485347a4c22c6b3e + md5: e4ac308c39d6d0e131154976da67cf3b + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libzlib >=1.3.2,<2.0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - zstd >=1.5.7,<1.6.0a0 + size: 387535 + timestamp: 1786599623274 diff --git a/pixi.toml b/pixi.toml new file mode 100644 index 00000000..8b512da4 --- /dev/null +++ b/pixi.toml @@ -0,0 +1,18 @@ +[workspace] +name = "mun" +version = "0.6.0-dev" +description = "Development environment for the Mun programming language" +channels = ["conda-forge"] +platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] + +[dependencies] +llvmdev = "14.*" +rust = "1.86.*" +cmake = ">=3.22" +ninja = ">=1.10" + +[tasks] +build = "cargo build --workspace" +build-release = "cargo build --workspace --release" +check = "cargo check --all-targets" +test = "cargo test --workspace" From e1fea72300d92f01cec4f736fbbf6b2b2cfa8ea9 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 10:02:14 +0200 Subject: [PATCH 02/12] Use Pixi in CI workflows --- .github/workflows/bump-pre-release.yml | 12 +- .github/workflows/bump-release.yml | 10 +- .github/workflows/ci.yml | 187 +++++++------------------ .github/workflows/release.yml | 18 +-- pixi.lock | 162 +++++++++++++++++++++ pixi.toml | 9 +- 6 files changed, 241 insertions(+), 157 deletions(-) diff --git a/.github/workflows/bump-pre-release.yml b/.github/workflows/bump-pre-release.yml index 808e5452..8bbca608 100644 --- a/.github/workflows/bump-pre-release.yml +++ b/.github/workflows/bump-pre-release.yml @@ -12,8 +12,14 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Set up Pixi + uses: prefix-dev/setup-pixi@v0.10.1 + with: + cache: true + frozen: true + - name: Install cargo-release - run: cargo install cargo-release + run: pixi run cargo install cargo-release --locked - name: Setup post-release version bump run: | @@ -23,7 +29,7 @@ jobs: git config user.name 'Mun Auto Releaser' git config user.email '41898282+github-actions[bot]@users.noreply.github.com' # Read the current version from Cargo.toml - current_version=$(cargo metadata --format-version 1 --no-deps | \ + current_version=$(pixi run cargo metadata --format-version 1 --no-deps | \ jq --raw-output '.packages | .[] | select(.name == "mun").version') # Sanity check: current version should be 0.X.Y if ! grep -q '^0\.[0-9]\+\.[0-9]\+$' <<< "${current_version}"; then @@ -34,7 +40,7 @@ jobs: next_version=0.$((minor_version + 1)).0-dev echo "Bumping version to ${next_version}" # See release.yml for meaning of these arguments - cargo release "${next_version}" \ + pixi run cargo release "${next_version}" \ --workspace \ --no-publish \ --execute \ diff --git a/.github/workflows/bump-release.yml b/.github/workflows/bump-release.yml index 6919ba77..04b6a274 100644 --- a/.github/workflows/bump-release.yml +++ b/.github/workflows/bump-release.yml @@ -12,8 +12,14 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Set up Pixi + uses: prefix-dev/setup-pixi@v0.10.1 + with: + cache: true + frozen: true + - name: Install cargo-release - run: cargo install cargo-release + run: pixi run cargo install cargo-release --locked - name: Setup release run: | @@ -30,7 +36,7 @@ jobs: # --no-push: do not push the update commits # --dependent-version upgrade: change 0.X.0-dev in internal dependencies to 0.X.0 # --exclude: ignore those packages - cargo release release \ + pixi run cargo release release \ --workspace \ --no-publish \ --execute \ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d6948aad..4810c294 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,22 +29,16 @@ jobs: sudo apt-get update sudo apt-get install libasound2-dev libudev-dev - - name: Install Rust (stable) - uses: actions-rs/toolchain@v1 + - name: Set up Pixi + uses: prefix-dev/setup-pixi@v0.10.1 with: - profile: minimal - override: true - - - name: Install LLVM - uses: ./.github/actions/install-llvm + cache: true + frozen: true - uses: Swatinem/rust-cache@v2 - name: Cargo check - uses: actions-rs/cargo@v1 - with: - command: check - args: --all-targets + run: pixi run check test: name: Test Rust @@ -79,37 +73,17 @@ jobs: sudo apt-get update sudo apt-get install libasound2-dev libudev-dev - - name: Install LLVM - uses: ./.github/actions/install-llvm - - - name: Install nightly rustfmt - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - profile: minimal - components: rustfmt - - - name: Install stable toolchain - uses: actions-rs/toolchain@v1 + - name: Set up Pixi + uses: prefix-dev/setup-pixi@v0.10.1 with: - profile: minimal - override: true - components: llvm-tools-preview + cache: true + frozen: true - uses: Swatinem/rust-cache@v2 if: matrix.os != 'windows-latest' - - name: Install latest llvm-cov release - uses: taiki-e/install-action@cargo-llvm-cov - - - name: Install latest nextest release - uses: taiki-e/install-action@nextest - - - name: Test with latest nextest release - uses: actions-rs/cargo@v1 - with: - command: llvm-cov - args: nextest --all-features --workspace --lcov --output-path lcov.info --profile ci + - name: Test with coverage + run: pixi run test-coverage - name: Upload coverage to Codecov uses: codecov/codecov-action@v7 @@ -143,27 +117,22 @@ jobs: with: submodules: true - - name: Install LLVM - uses: ./.github/actions/install-llvm - - name: Install packages - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' run: | sudo apt-get update sudo apt-get install libasound2-dev libudev-dev - - name: Install toolchain - uses: actions-rs/toolchain@v1 + - name: Set up Pixi + uses: prefix-dev/setup-pixi@v0.10.1 with: - profile: minimal + cache: true + frozen: true - uses: Swatinem/rust-cache@v2 - name: Doctests - uses: actions-rs/cargo@v1 - with: - command: test - args: --doc --all-features + run: pixi run doctest test-mdbook: name: Test mdbook @@ -174,44 +143,22 @@ jobs: with: submodules: true - - name: Install LLVM - uses: ./.github/actions/install-llvm - - - name: Install nightly rustfmt - uses: actions-rs/toolchain@v1 + - name: Set up Pixi + uses: prefix-dev/setup-pixi@v0.10.1 with: - toolchain: nightly - profile: minimal - components: rustfmt - - - name: Install stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - override: true + cache: true + frozen: true - uses: Swatinem/rust-cache@v2 - name: Cargo build - uses: actions-rs/cargo@v1 - env: - RUSTFLAGS: ${{ matrix.RUSTFLAGS }} - with: - command: build - args: -p mun_runtime - - - name: Install mdbook - uses: actions-rs/install@v0.1 - with: - crate: mdbook - version: 0.4.21 - use-tool-cache: true + run: pixi run build-runtime - name: mdbook test - run: mdbook test book -L target/debug/deps + run: pixi run mdbook test book -L target/debug/deps - name: mdbook build - run: mdbook build book + run: pixi run mdbook build book test-cpp: name: Test C++ Runtime @@ -225,66 +172,41 @@ jobs: - RUSTFLAGS: "-Dwarnings" - os: "windows-latest" RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + env: + RUSTFLAGS: ${{ matrix.RUSTFLAGS }} steps: - uses: actions/checkout@v4 with: submodules: true - - name: Install LLVM - uses: ./.github/actions/install-llvm - - - name: Install nightly rustfmt - uses: actions-rs/toolchain@v1 + - name: Set up Pixi + uses: prefix-dev/setup-pixi@v0.10.1 with: - toolchain: nightly - profile: minimal - components: rustfmt - - - name: Install stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - override: true + cache: true + frozen: true - uses: Swatinem/rust-cache@v2 - name: Cargo build - uses: actions-rs/cargo@v1 - env: - RUSTFLAGS: ${{ matrix.RUSTFLAGS }} - with: - command: build - args: -p mun -p mun_runtime_capi + run: pixi run build-capi - - name: Create build folder (debug) - run: cmake -E make_directory ${{ runner.workspace }}/build/debug + - name: Configure CMake (debug) + run: pixi run cmake -DCMAKE_BUILD_TYPE=Debug -S . -B "${{ runner.temp }}/build/debug" -Dmun_build_examples=ON -Dmun_build_tests=ON -Dmun_binaries_path="${{ github.workspace }}/target/debug/" -Dmun_examples_path="${{ github.workspace }}/examples" - - name: Create build folder (release) - run: cmake -E make_directory ${{ runner.workspace }}/build/release - - - name: Configure cmake (debug) - working-directory: ${{ runner.workspace }}/build/debug - run: cmake -DCMAKE_BUILD_TYPE=Debug -S ${{ github.workspace }} -Dmun_build_examples=ON -Dmun_build_tests=ON -Dmun_binaries_path=${{ github.workspace }}/target/debug/ -Dmun_examples_path=${{ github.workspace }}/examples - - - name: Configure cmake (release) - working-directory: ${{ runner.workspace }}/build/release - run: cmake -DCMAKE_BUILD_TYPE=Release -S ${{ github.workspace }} -Dmun_build_examples=ON -Dmun_build_tests=ON -Dmun_binaries_path=${{ github.workspace }}/target/debug/ -Dmun_examples_path=${{ github.workspace }}/examples + - name: Configure CMake (release) + run: pixi run cmake -DCMAKE_BUILD_TYPE=Release -S . -B "${{ runner.temp }}/build/release" -Dmun_build_examples=ON -Dmun_build_tests=ON -Dmun_binaries_path="${{ github.workspace }}/target/debug/" -Dmun_examples_path="${{ github.workspace }}/examples" - name: Build (debug) - working-directory: ${{ runner.workspace }}/build/debug - run: cmake --build . --config Debug + run: pixi run cmake --build "${{ runner.temp }}/build/debug" --config Debug - name: Build (release) - working-directory: ${{ runner.workspace }}/build/release - run: cmake --build . --config Release + run: pixi run cmake --build "${{ runner.temp }}/build/release" --config Release - name: Test (debug) - working-directory: ${{ runner.workspace }}/build/debug - run: ctest -C Debug + run: pixi run ctest --test-dir "${{ runner.temp }}/build/debug" -C Debug - name: Test (release) - working-directory: ${{ runner.workspace }}/build/release - run: ctest -C Release + run: pixi run ctest --test-dir "${{ runner.temp }}/build/release" -C Release style: name: Check Style @@ -295,34 +217,21 @@ jobs: with: submodules: true - - name: Install nightly rustfmt - uses: actions-rs/toolchain@v1 + - name: Set up Pixi + uses: prefix-dev/setup-pixi@v0.10.1 with: - toolchain: nightly - profile: minimal - components: rustfmt + cache: true + frozen: true - - name: Install stable toolchain - uses: actions-rs/toolchain@v1 + - name: Install nightly rustfmt + uses: dtolnay/rust-toolchain@nightly with: - profile: minimal - override: true - components: clippy + components: rustfmt - uses: Swatinem/rust-cache@v2 - name: Run cargo fmt - uses: actions-rs/cargo@v1 - with: - toolchain: nightly - command: fmt - args: --all -- --check - - - name: Install LLVM - uses: ./.github/actions/install-llvm + run: rustup run nightly cargo fmt --all -- --check - name: Run cargo clippy - uses: actions-rs/clippy-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - args: --all-features + run: pixi run clippy diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 18d25eec..7d8e240e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,22 +33,16 @@ jobs: with: submodules: true - - name: Install toolchain - uses: actions-rs/toolchain@v1 + - name: Set up Pixi + uses: prefix-dev/setup-pixi@v0.10.1 with: - profile: minimal - override: true - - - name: Install LLVM - uses: ./.github/actions/install-llvm + cache: true + frozen: true - name: Cargo build - uses: actions-rs/cargo@v1 env: RUSTFLAGS: ${{ matrix.config.RUSTFLAGS }} - with: - command: build - args: --release + run: pixi run build-release - run: mkdir -p ${{ matrix.config.dir }} @@ -65,7 +59,7 @@ jobs: os.rename(src, dst) shell: python - - uses: actions/upload-artifact@master + - uses: actions/upload-artifact@v4 with: name: ${{ matrix.config.dir }} path: ${{ matrix.config.dir }} diff --git a/pixi.lock b/pixi.lock index cf599e85..79f373e9 100644 --- a/pixi.lock +++ b/pixi.lock @@ -30,6 +30,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cargo-llvm-cov-0.6.15-h8fae777_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cargo-nextest-0.9.78-h6c30b3d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.2-hc85cc9f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-16.1.0-h5fcb69b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda @@ -55,6 +57,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-tools-14.0.6-hcd5def8_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmdev-14.0.6-hcd5def8_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mdbook-0.4.43-h6c30b3d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_1.conda @@ -73,6 +76,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-apple-darwin-1.86.0-h38e4360_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.8-ha3d0635_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cargo-llvm-cov-0.6.15-h371c88c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/cargo-nextest-0.9.78-h32f0265_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cmake-4.4.2-h2426fb6_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h69064fd_2.conda @@ -90,6 +95,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-tools-14.0.6-hc8e404f_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/llvmdev-14.0.6-hc8e404f_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/mdbook-0.4.43-hd2571bf_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ninja-1.13.2-hebe015c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_1.conda @@ -101,6 +107,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-aarch64-apple-darwin-1.86.0-hf6ec828_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h1a92334_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cargo-llvm-cov-0.6.15-h0716509_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cargo-nextest-0.9.78-h27c7404_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.2-h8cb302d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda @@ -118,6 +126,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-14.0.6-hd1a9a77_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmdev-14.0.6-hd1a9a77_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mdbook-0.4.43-h8dba533_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ninja-1.13.2-h3feff0a_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_1.conda @@ -128,6 +137,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-pc-windows-msvc-1.86.0-h17fc481_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cargo-llvm-cov-0.6.15-ha073cba_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cargo-nextest-0.9.78-ha073cba_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.2-h5b8e180_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_2.conda @@ -143,6 +154,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-tools-14.0.6-hac7d729_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/llvmdev-14.0.6-h97333cc_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mdbook-0.4.43-ha073cba_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ninja-1.13.2-h477610d_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/rust-1.86.0-hf8d6059_0.conda @@ -208,6 +220,32 @@ packages: - c-ares >=1.34.8,<2.0a0 size: 226755 timestamp: 1786116641939 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cargo-llvm-cov-0.6.15-h8fae777_0.conda + sha256: 10b7adcf93f20a0cb9eed9c96e9cf6a252351a26c35a07b2871309bf058445e0 + md5: acf84aa89bc218598fec8a65dcc0cf54 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 1274453 + timestamp: 1734818614655 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cargo-nextest-0.9.78-h6c30b3d_0.conda + sha256: 9e232557caeb8bf4e34c5d0175b23ed1a129df78c6aad01bb4792e532b5f5201 + md5: 013179d01cba10a39c1badaace213143 + depends: + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + run_exports: {} + size: 4765005 + timestamp: 1728918162264 - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.2-hc85cc9f_0.conda sha256: 5c8027d6f51e4aea86dfa74a09481f6e275742a620c5a88b132ec01405e9bd6e md5: c7d7ad5d723ffc37a7892d9dd9dd115d @@ -582,6 +620,19 @@ packages: run_exports: {} size: 48866788 timestamp: 1690557731509 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mdbook-0.4.43-h6c30b3d_0.conda + sha256: 3567187ddfb73e3b0b73cc6e884a5e1324c81e2bbf05a3340e0f56b53f47758c + md5: 391bd6a87a03dd033039bc10832fd0bc + depends: + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + constrains: + - __glibc >=2.17 + license: MPL-2.0 + license_family: MOZILLA + run_exports: {} + size: 3957129 + timestamp: 1733194736583 - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda sha256: 5d46557214ed184381dafe835b7c94a474a1c3b307a08a250b1ea4779b44ffb3 md5: ee6c0cd80a60961a1f48aa3e0b91f986 @@ -806,6 +857,30 @@ packages: - c-ares >=1.34.8,<2.0a0 size: 205386 timestamp: 1786116708158 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cargo-llvm-cov-0.6.15-h371c88c_0.conda + sha256: c6ff2764ae2f440419c68a6666da8954b8258361e27d213dbe94086d6fe2977c + md5: fe01e70f288c9dcb534de32d37506bd2 + depends: + - __osx >=10.13 + constrains: + - __osx >=10.13 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 1183483 + timestamp: 1734818773467 +- conda: https://conda.anaconda.org/conda-forge/osx-64/cargo-nextest-0.9.78-h32f0265_0.conda + sha256: 0df943c68d72828527c4a8a0cf00b54a4f1c58006195812610e6149b3c40fa9b + md5: ce7b80bd21e3e9aa35e844f6957360f3 + depends: + - __osx >=10.13 + constrains: + - __osx >=10.13 + license: MIT + license_family: MIT + run_exports: {} + size: 4717530 + timestamp: 1728918242982 - conda: https://conda.anaconda.org/conda-forge/osx-64/cmake-4.4.2-h2426fb6_0.conda sha256: eb9cadfd3dc0e48a3812dc1887dab13e0b824c46bc09ed3a1ffdd33d60f039db md5: 7501a8ca8c8c66d65c67bdd7c7bb3057 @@ -1053,6 +1128,18 @@ packages: run_exports: {} size: 36318249 timestamp: 1690563524375 +- conda: https://conda.anaconda.org/conda-forge/osx-64/mdbook-0.4.43-hd2571bf_0.conda + sha256: 24b1dddf5ac7afc5e6c7b3afc5db698e3436a83407acc7e4e02fe5bbec7a7f1f + md5: 0e684b40bda38042aad8393f0c731461 + depends: + - __osx >=10.13 + constrains: + - __osx >=10.13 + license: MPL-2.0 + license_family: MOZILLA + run_exports: {} + size: 3820880 + timestamp: 1733194765857 - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda sha256: 12c1d676b9a0e8109b576672519312c5428308f3f3d7706f8717e2f536d5d9e7 md5: 88a79390f87c8f3334b9999a892e78d4 @@ -1151,6 +1238,30 @@ packages: - c-ares >=1.34.8,<2.0a0 size: 197274 timestamp: 1786116660078 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cargo-llvm-cov-0.6.15-h0716509_0.conda + sha256: 219d294565854cee95e74e79e332a8ac419d9d587249817d8b930c103456228d + md5: 5540333a6e97d0b1c005a2b7a004d55f + depends: + - __osx >=11.0 + constrains: + - __osx >=11.0 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 1200661 + timestamp: 1734818823967 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cargo-nextest-0.9.78-h27c7404_0.conda + sha256: 0401356c5ea47e9351b56e3824863f3415e2401b9d59940620713c1ece2a4339 + md5: f49aafff221daaf9bfc7ca8a09485ff1 + depends: + - __osx >=11.0 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: {} + size: 4384820 + timestamp: 1728918162464 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.2-h8cb302d_0.conda sha256: 64c89fbb4a70eb192883fee4a16c0cdb0e6eb9921e3b63b1a8125a98e9c856e6 md5: 952ccf9c6e8204dd1bdda021f274a5bb @@ -1397,6 +1508,18 @@ packages: run_exports: {} size: 34887783 timestamp: 1690559504884 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/mdbook-0.4.43-h8dba533_0.conda + sha256: 38c13219693f9dec16de1da01cc79382da59a16bf887e8c604bb774b3ffcdeb6 + md5: dabffcb83d1e9d60fc00fe40d391163f + depends: + - __osx >=11.0 + constrains: + - __osx >=11.0 + license: MPL-2.0 + license_family: MOZILLA + run_exports: {} + size: 3908611 + timestamp: 1733194776552 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda sha256: 7024a48c8c0d0114ed4ab53c76bf9275d50e91ba7cea367a9aead638d3c29c68 md5: 3dfa0d0316dc246cd44937a557de4501 @@ -1481,6 +1604,33 @@ packages: - bzip2 >=1.0.8,<2.0a0 size: 55919 timestamp: 1785906343696 +- conda: https://conda.anaconda.org/conda-forge/win-64/cargo-llvm-cov-0.6.15-ha073cba_0.conda + sha256: 1dc8cb46ddbbd82aa18b2ed5868c9677e9d02c02c54d3e5a3f00d2021de06871 + md5: 84b5e54ebac1c31d68215130ed4a1eb3 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: Apache-2.0 + license_family: Apache + run_exports: {} + size: 1231360 + timestamp: 1734819365707 +- conda: https://conda.anaconda.org/conda-forge/win-64/cargo-nextest-0.9.78-ha073cba_0.conda + sha256: a1759b1734162ec7bf225742fefee8d4b9db39215e0d34be9302a037299aa4ae + md5: 0d404f06dbc7968fbf247d7cc9390744 + depends: + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + run_exports: {} + size: 4538985 + timestamp: 1728918279376 - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.2-h5b8e180_0.conda sha256: 5f32733fe45eb900aea629c377771c78a720d28342c1506391e14d0a7eaf2d8f md5: 3896e3ba280bc48d58c5aa170f86c1db @@ -1718,6 +1868,18 @@ packages: run_exports: {} size: 83284043 timestamp: 1690560165500 +- conda: https://conda.anaconda.org/conda-forge/win-64/mdbook-0.4.43-ha073cba_0.conda + sha256: 03b6aaf195d3a9ee6f84ad4270ff75fefc15e2eb8af05df4d9b1d061ebd934ad + md5: 263d1c9f39168b6ca9eda2aa67e3055c + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: MPL-2.0 + license_family: MOZILLA + run_exports: {} + size: 3679519 + timestamp: 1732577540488 - conda: https://conda.anaconda.org/conda-forge/win-64/ninja-1.13.2-h477610d_1.conda sha256: 002bce37e87e39c6a1e5577b1018d294cd4517ba9c4be2ece92e5706acac41f5 md5: 3a6804d04ecaf02987a075d5faf34877 diff --git a/pixi.toml b/pixi.toml index 8b512da4..9076d6dd 100644 --- a/pixi.toml +++ b/pixi.toml @@ -1,6 +1,5 @@ [workspace] name = "mun" -version = "0.6.0-dev" description = "Development environment for the Mun programming language" channels = ["conda-forge"] platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] @@ -10,9 +9,17 @@ llvmdev = "14.*" rust = "1.86.*" cmake = ">=3.22" ninja = ">=1.10" +mdbook = "0.4.43.*" +cargo-llvm-cov = "0.6.15.*" +cargo-nextest = "0.9.78.*" [tasks] build = "cargo build --workspace" +build-capi = "cargo build -p mun -p mun_runtime_capi" build-release = "cargo build --workspace --release" +build-runtime = "cargo build -p mun_runtime" check = "cargo check --all-targets" +clippy = "cargo clippy --all-features" +doctest = "cargo test --doc --all-features" test = "cargo test --workspace" +test-coverage = "cargo llvm-cov nextest --all-features --workspace --lcov --output-path lcov.info --profile ci" From 8615bfc7fea33a1780095623b34ca0b63b28d514 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 10:15:06 +0200 Subject: [PATCH 03/12] Fix missing LLVM development dependencies --- pixi.lock | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ pixi.toml | 2 + 2 files changed, 121 insertions(+) diff --git a/pixi.lock b/pixi.lock index 79f373e9..9d19c94e 100644 --- a/pixi.lock +++ b/pixi.lock @@ -55,6 +55,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.1.0-hdf11a46_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lld-14.0.6-h07fd6de_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-tools-14.0.6-hcd5def8_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/llvmdev-14.0.6-hcd5def8_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mdbook-0.4.43-h6c30b3d_0.conda @@ -63,6 +64,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rust-1.86.0-h1a8d7c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda @@ -93,6 +95,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/libssh2-1.11.1-hd53bb72_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libuv-1.52.1-ha3d0635_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/lld-14.0.6-hc20ea95_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-tools-14.0.6-hc8e404f_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/llvmdev-14.0.6-hc8e404f_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/mdbook-0.4.43-hd2571bf_0.conda @@ -101,6 +104,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.6.3-hc881268_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/rhash-1.4.6-ha1e9b39_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/rust-1.86.0-h34a2095_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -124,6 +128,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lld-14.0.6-h6fc9e18_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-14.0.6-hd1a9a77_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvmdev-14.0.6-hd1a9a77_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mdbook-0.4.43-h8dba533_0.conda @@ -132,6 +137,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.3-hd24854e_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rust-1.86.0-h4ff7c5d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.2-h8088a28_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda @@ -152,6 +158,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.9-h741aa76_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lld-14.0.6-h3740485_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-tools-14.0.6-hac7d729_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/llvmdev-14.0.6-h97333cc_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/mdbook-0.4.43-ha073cba_0.conda @@ -162,6 +169,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -583,6 +591,21 @@ packages: - libzlib >=1.3.2,<2.0a0 size: 63713 timestamp: 1785362952714 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lld-14.0.6-h07fd6de_1.conda + sha256: 485bb312335a651fdab913ece9dbfdb3f85e2e62934a0d035fe76d8420129766 + md5: b6257949dcbccab8f27e45bc6213dd43 + depends: + - libgcc-ng >=12 + - libllvm14 >=14.0.6,<14.1.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + constrains: + - llvm ==14.0.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 2972148 + timestamp: 1684384901275 - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-tools-14.0.6-hcd5def8_4.conda sha256: 81e5a38c9ea9229d9db5a47d06e19e4bbf6110717998eb8316ec1b7f48128f76 md5: 6281c129cd6fd3f0acda9c67681b0021 @@ -701,6 +724,19 @@ packages: - __glibc >=2.17 size: 218638108 timestamp: 1743697775334 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.2-h25fd6f3_3.conda + sha256: 16080a1c7724f7d25727cdc23c7658e0cec2db52448c1dc0c33467ee2c6e1c62 + md5: 6acb86426229f96f93e5468d1df3a5e8 + depends: + - __glibc >=2.17,<3.0.a0 + - libzlib 1.3.2 h25fd6f3_3 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 96132 + timestamp: 1785362957588 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda sha256: 47d682b9f6d6ec9eb1a6e6c3e75ea6273e899e78fb7fc59f81d39745009fbc60 md5: aa459086047c0e5e27023ab19f8cb86a @@ -1094,6 +1130,19 @@ packages: - libzlib >=1.3.2,<2.0a0 size: 58993 timestamp: 1785276808631 +- conda: https://conda.anaconda.org/conda-forge/osx-64/lld-14.0.6-hc20ea95_1.conda + sha256: b44406ad4ef39c9af76ade5598f78a552ea9aeea66a571550440b6432f5e7252 + md5: 8ae3bdc5cd3ae2c46713810467efa319 + depends: + - libllvm14 >=14.0.6,<14.1.0a0 + - libzlib >=1.2.13,<2.0.0a0 + constrains: + - llvm ==14.0.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 2094606 + timestamp: 1684385851532 - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-tools-14.0.6-hc8e404f_4.conda sha256: bbd455bb43d23a2daaa20d6805b4764b97c7a79ca8dfa80dc95c3a0b2155cbbc md5: a55c7b960756f104bcbf5bfcd5c8890a @@ -1199,6 +1248,19 @@ packages: - __osx >=10.13 size: 232864569 timestamp: 1743697077267 +- conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.2-hbb4bfdb_3.conda + sha256: d46ba65a5ebcb4f682f9f0f21943c427eb56e7f9d15aeab8b823294c787dbb0b + md5: c67ad1f1d33a7de2dd34e55c01a21eca + depends: + - __osx >=11.0 + - libzlib 1.3.2 hbb4bfdb_3 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 93115 + timestamp: 1785276829908 - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda sha256: 5277886d9704a624dc9b79ac985861e1e431bdb39a57c082507ab577a138ec6c md5: c1d11f04327e40537ffe6cad5b131019 @@ -1474,6 +1536,19 @@ packages: - libzlib >=1.3.2,<2.0a0 size: 47822 timestamp: 1785277049190 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lld-14.0.6-h6fc9e18_1.conda + sha256: dc551e82b54421bed56618f668147b0eedd7d156104551e083f9d8a743892eac + md5: 7411e24d82fed4500f4edda0902820b6 + depends: + - libllvm14 >=14.0.6,<14.1.0a0 + - libzlib >=1.2.13,<2.0.0a0 + constrains: + - llvm ==14.0.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 1993863 + timestamp: 1684386403872 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-14.0.6-hd1a9a77_4.conda sha256: a15fd9113f3ef412c4eb99363b517d1347ae771271571565ac573e3959151749 md5: fd0a3b0a22ba6f5ace86ce5b5e26c4c5 @@ -1577,6 +1652,19 @@ packages: run_exports: {} size: 224722205 timestamp: 1743697077568 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.2-h8088a28_3.conda + sha256: ab46d85e4fcffff1b1c5cac517afa40b7ae784cf76fc9da1f55f6a6934291eb6 + md5: 2c966485853aa27985fbec7e3fcc4e77 + depends: + - __osx >=11.0 + - libzlib 1.3.2 h8088a28_3 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 81744 + timestamp: 1785277062753 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda sha256: da867f5092eb0cb746d353694f0098031fd9817a4ce7d5743121209ae0f406ca md5: 4ec2684c73812cc2c3d78379384a39cc @@ -1828,6 +1916,22 @@ packages: - libzlib >=1.3.2,<2.0a0 size: 58529 timestamp: 1785276664143 +- conda: https://conda.anaconda.org/conda-forge/win-64/lld-14.0.6-h3740485_1.conda + sha256: 5232f99320afcb69d28e980e9eba6ce2a9ab3ad2bf63aab8374776161f8529f4 + md5: 638497bf97bef0669e8630f198d8c835 + depends: + - libxml2 >=2.11.3,<2.14.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + constrains: + - llvm ==14.0.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 98958500 + timestamp: 1684385734920 - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-tools-14.0.6-hac7d729_4.conda sha256: b625ebb8ea3697182f00277a9443213a5e51f64974601c166b593caee243d264 md5: 5d76a3275d10426d5e0d498b9901a7aa @@ -1966,6 +2070,21 @@ packages: - vcomp14 >=14.51.36247 size: 155910 timestamp: 1785359349999 +- conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_3.conda + sha256: 5a0b55df66ff07b4342e04967cef69f8bf348f6a0fb1cc1eca741c7b015dfe77 + md5: 945092a9bc1d0f250f7d5ecf51ecd471 + depends: + - libzlib 1.3.2 hfd05255_3 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Zlib + license_family: Other + run_exports: + weak: + - libzlib >=1.3.2,<2.0a0 + size: 851288 + timestamp: 1785276674755 - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda sha256: ca7daae4f218a11fab82cc2857f0ea518ec3f46acec60490485347a4c22c6b3e md5: e4ac308c39d6d0e131154976da67cf3b diff --git a/pixi.toml b/pixi.toml index 9076d6dd..74514fb6 100644 --- a/pixi.toml +++ b/pixi.toml @@ -6,9 +6,11 @@ platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] [dependencies] llvmdev = "14.*" +lld = "14.*" rust = "1.86.*" cmake = ">=3.22" ninja = ">=1.10" +zlib = ">=1.2.13" mdbook = "0.4.43.*" cargo-llvm-cov = "0.6.15.*" cargo-nextest = "0.9.78.*" From 7fd2316e0b63f3c20981ee3d34f11c99adbf9d10 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 10:19:31 +0200 Subject: [PATCH 04/12] Add libffi required by lld-rs --- pixi.lock | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ pixi.toml | 1 + 2 files changed, 56 insertions(+) diff --git a/pixi.lock b/pixi.lock index 9d19c94e..6354dbd8 100644 --- a/pixi.lock +++ b/pixi.lock @@ -42,6 +42,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h373387f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h3435931_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.1.0-ha9f2e26_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.1.0-h69a702a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.1.0-he0feb66_1.conda @@ -88,6 +89,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321hba2e2ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libev-4.33-ha3d0635_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.7.0-h8c408c4_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libllvm14-14.0.6-hc8e404f_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libnghttp2-1.68.1-h70048d4_0.conda @@ -121,6 +123,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321h26f1114_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-hcf2aa1b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm14-14.0.6-hd1a9a77_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h8f3e76b_0.conda @@ -150,6 +153,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.21.0-hdb0ef4a_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libllvm14-14.0.6-h97333cc_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda @@ -410,6 +414,19 @@ packages: run_exports: {} size: 77856 timestamp: 1781203599810 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h3435931_0.conda + sha256: ac38603008bf1e99b8ed379b1a656a67a70e2841f2b6a069c630cdf6316012d2 + md5: 0abe40a9880086ca4d2e5daf09dceff9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + run_exports: + weak: + - libffi >=3.7.0,<3.8.0a0 + size: 67576 + timestamp: 1783520858222 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.1.0-ha9f2e26_1.conda sha256: d5cb8475131c31680f8fd30512c418f373064e272e452063276a8fb14c9fa42f md5: 5a7d954665c707c93311657cd779c705 @@ -1032,6 +1049,18 @@ packages: run_exports: {} size: 76020 timestamp: 1781204303305 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.7.0-h8c408c4_0.conda + sha256: 525e9b574d6a62b73ccd4cb616495fccd11e80c7e6f4fd7e97a9dd5804bf4c0e + md5: b85d1868b8d9af5306443978da2961d6 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - libffi >=3.7.0,<3.8.0a0 + size: 61307 + timestamp: 1783521470318 - conda: https://conda.anaconda.org/conda-forge/osx-64/libllvm14-14.0.6-hc8e404f_4.conda sha256: 0df3902a300cfe092425f86144d5e00ef67be3cd1cc89fd63084d45262a772ad md5: ed06753e2ba7c66ed0ca7f19578fcb68 @@ -1439,6 +1468,18 @@ packages: run_exports: {} size: 69362 timestamp: 1781203631990 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-hcf2aa1b_0.conda + sha256: 2c6ac9a6cd65af89b2bd448518bb1e13b44a2e48c0d469398e37bcfc0092e832 + md5: 92e8690d170d46d768c32553458c0105 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + run_exports: + weak: + - libffi >=3.7.0,<3.8.0a0 + size: 43734 + timestamp: 1783521647536 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm14-14.0.6-hd1a9a77_4.conda sha256: 6f603914fe8633a615f0d2f1383978eb279eeb552079a78449c9fbb43f22a349 md5: 9f3dce5d26ea56a9000cd74c034582bd @@ -1798,6 +1839,20 @@ packages: run_exports: {} size: 71631 timestamp: 1781203724164 +- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_0.conda + sha256: 2ea8d2fe7b84ca37653777e15ac1e7abd35f0c90d3efbe7f6c4de9b489606369 + md5: 92bdfc0e5012660892b0e0eaf3069a5c + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + run_exports: + weak: + - libffi >=3.7.0,<3.8.0a0 + size: 50247 + timestamp: 1783521107166 - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda sha256: 0dcdb1a5f01863ac4e8ba006a8b0dc1a02d2221ec3319b5915a1863254d7efa7 md5: 64571d1dd6cdcfa25d0664a5950fdaa2 diff --git a/pixi.toml b/pixi.toml index 74514fb6..a0f1411d 100644 --- a/pixi.toml +++ b/pixi.toml @@ -7,6 +7,7 @@ platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"] [dependencies] llvmdev = "14.*" lld = "14.*" +libffi = ">=3.4" rust = "1.86.*" cmake = ">=3.22" ninja = ">=1.10" From a4c7d2ca7889bff2fd8edb3a7de3d6eb9ff8580b Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 10:33:49 +0200 Subject: [PATCH 05/12] Align CI runners with Pixi toolchains --- .github/workflows/ci.yml | 17 +++++++++++------ .github/workflows/release.yml | 4 ++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4810c294..cc7ebce1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,13 +47,13 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-22.04", "windows-latest", "macOS-latest"] + os: ["ubuntu-22.04", "windows-latest", "macos-13"] include: - RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 1 CARGO_TARGET_DIR: "target" - os: "windows-latest" - RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 0 CARGO_TARGET_DIR: "C:\\cargo-target-dir" env: @@ -79,6 +79,11 @@ jobs: cache: true frozen: true + - name: Install nightly rustfmt + uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt + - uses: Swatinem/rust-cache@v2 if: matrix.os != 'windows-latest' @@ -100,12 +105,12 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-22.04", "windows-latest", "macOS-latest"] + os: ["ubuntu-22.04", "windows-latest", "macos-13"] include: - RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 1 - os: "windows-latest" - RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 0 env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} @@ -167,11 +172,11 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-22.04", "windows-latest", "macOS-latest"] + os: ["ubuntu-22.04", "windows-latest", "macos-13"] include: - RUSTFLAGS: "-Dwarnings" - os: "windows-latest" - RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + RUSTFLAGS: "-Dwarnings" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7d8e240e..3c9f6a2f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,8 +23,8 @@ jobs: - os: "windows-latest" dir: windows-x86_64 artifacts: "mun.exe mun_runtime.dll mun_runtime.dll.lib" - RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" - - os: "macOS-latest" + RUSTFLAGS: "-Dwarnings" + - os: "macos-13" dir: macos-x86_64 artifacts: "mun libmun_runtime.dylib" RUSTFLAGS: "-Dwarnings" From e1c070c23f03c26e6298d96bd00641babc215cc8 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 11:08:15 +0200 Subject: [PATCH 06/12] Restore existing CI platform settings --- .github/workflows/ci.yml | 17 ++++++----------- .github/workflows/release.yml | 4 ++-- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cc7ebce1..4810c294 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,13 +47,13 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-22.04", "windows-latest", "macos-13"] + os: ["ubuntu-22.04", "windows-latest", "macOS-latest"] include: - RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 1 CARGO_TARGET_DIR: "target" - os: "windows-latest" - RUSTFLAGS: "-Dwarnings" + RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" CARGO_INCREMENTAL: 0 CARGO_TARGET_DIR: "C:\\cargo-target-dir" env: @@ -79,11 +79,6 @@ jobs: cache: true frozen: true - - name: Install nightly rustfmt - uses: dtolnay/rust-toolchain@nightly - with: - components: rustfmt - - uses: Swatinem/rust-cache@v2 if: matrix.os != 'windows-latest' @@ -105,12 +100,12 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-22.04", "windows-latest", "macos-13"] + os: ["ubuntu-22.04", "windows-latest", "macOS-latest"] include: - RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 1 - os: "windows-latest" - RUSTFLAGS: "-Dwarnings" + RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" CARGO_INCREMENTAL: 0 env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} @@ -172,11 +167,11 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-22.04", "windows-latest", "macos-13"] + os: ["ubuntu-22.04", "windows-latest", "macOS-latest"] include: - RUSTFLAGS: "-Dwarnings" - os: "windows-latest" - RUSTFLAGS: "-Dwarnings" + RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3c9f6a2f..7d8e240e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,8 +23,8 @@ jobs: - os: "windows-latest" dir: windows-x86_64 artifacts: "mun.exe mun_runtime.dll mun_runtime.dll.lib" - RUSTFLAGS: "-Dwarnings" - - os: "macos-13" + RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + - os: "macOS-latest" dir: macos-x86_64 artifacts: "mun libmun_runtime.dylib" RUSTFLAGS: "-Dwarnings" From 2edf50809d5ca12559fa2a708902dd18540a5bc4 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 11:23:22 +0200 Subject: [PATCH 07/12] Run macOS CI on Intel --- .github/workflows/ci.yml | 6 +++--- .github/workflows/release.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4810c294..eba424b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-22.04", "windows-latest", "macOS-latest"] + os: ["ubuntu-22.04", "windows-latest", "macos-15-intel"] include: - RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 1 @@ -100,7 +100,7 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-22.04", "windows-latest", "macOS-latest"] + os: ["ubuntu-22.04", "windows-latest", "macos-15-intel"] include: - RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 1 @@ -167,7 +167,7 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-22.04", "windows-latest", "macOS-latest"] + os: ["ubuntu-22.04", "windows-latest", "macos-15-intel"] include: - RUSTFLAGS: "-Dwarnings" - os: "windows-latest" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7d8e240e..b0aa840a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,7 +24,7 @@ jobs: dir: windows-x86_64 artifacts: "mun.exe mun_runtime.dll mun_runtime.dll.lib" RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" - - os: "macOS-latest" + - os: "macos-15-intel" dir: macos-x86_64 artifacts: "mun libmun_runtime.dylib" RUSTFLAGS: "-Dwarnings" From 735bfef244fa511e840240eb757d30bced7ed6ea Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 11:37:46 +0200 Subject: [PATCH 08/12] Configure Intel macOS runtime paths --- .github/workflows/ci.yml | 15 +++++++++++++++ .github/workflows/release.yml | 4 ++++ 2 files changed, 19 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eba424b6..13dd98f9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,9 +56,14 @@ jobs: RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" CARGO_INCREMENTAL: 0 CARGO_TARGET_DIR: "C:\\cargo-target-dir" + - os: "macos-15-intel" + MACOSX_DEPLOYMENT_TARGET: "15.5" + DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} CARGO_INCREMENTAL: ${{ matrix.CARGO_INCREMENTAL }} + MACOSX_DEPLOYMENT_TARGET: ${{ matrix.MACOSX_DEPLOYMENT_TARGET }} + DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.DYLD_FALLBACK_LIBRARY_PATH }} # Disable generating debug info, we don't need it here anyway and its only using disk space CARGO_PROFILE_DEV_DEBUG: 0 CARGO_TARGET_DIR: ${{ matrix.CARGO_TARGET_DIR }} @@ -107,9 +112,14 @@ jobs: - os: "windows-latest" RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" CARGO_INCREMENTAL: 0 + - os: "macos-15-intel" + MACOSX_DEPLOYMENT_TARGET: "15.5" + DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} CARGO_INCREMENTAL: ${{ matrix.CARGO_INCREMENTAL }} + MACOSX_DEPLOYMENT_TARGET: ${{ matrix.MACOSX_DEPLOYMENT_TARGET }} + DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.DYLD_FALLBACK_LIBRARY_PATH }} # Disable generating debug info, we don't need it here anyway and its only using disk space CARGO_PROFILE_DEV_DEBUG: 0 steps: @@ -172,8 +182,13 @@ jobs: - RUSTFLAGS: "-Dwarnings" - os: "windows-latest" RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + - os: "macos-15-intel" + MACOSX_DEPLOYMENT_TARGET: "15.5" + DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} + MACOSX_DEPLOYMENT_TARGET: ${{ matrix.MACOSX_DEPLOYMENT_TARGET }} + DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.DYLD_FALLBACK_LIBRARY_PATH }} steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b0aa840a..4ab8bb2f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,6 +28,8 @@ jobs: dir: macos-x86_64 artifacts: "mun libmun_runtime.dylib" RUSTFLAGS: "-Dwarnings" + MACOSX_DEPLOYMENT_TARGET: "15.5" + DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" steps: - uses: actions/checkout@v4 with: @@ -42,6 +44,8 @@ jobs: - name: Cargo build env: RUSTFLAGS: ${{ matrix.config.RUSTFLAGS }} + MACOSX_DEPLOYMENT_TARGET: ${{ matrix.config.MACOSX_DEPLOYMENT_TARGET }} + DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.config.DYLD_FALLBACK_LIBRARY_PATH }} run: pixi run build-release - run: mkdir -p ${{ matrix.config.dir }} From faac53a80294736b18b1238fe9de242a974319cd Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 11:38:49 +0200 Subject: [PATCH 09/12] Run freshness checks with nightly rustfmt --- .github/workflows/ci.yml | 3 +++ pixi.toml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13dd98f9..72990463 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -250,3 +250,6 @@ jobs: - name: Run cargo clippy run: pixi run clippy + + - name: Check generated files + run: pixi run cargo test -p tools diff --git a/pixi.toml b/pixi.toml index a0f1411d..bbc6d38d 100644 --- a/pixi.toml +++ b/pixi.toml @@ -25,4 +25,4 @@ check = "cargo check --all-targets" clippy = "cargo clippy --all-features" doctest = "cargo test --doc --all-features" test = "cargo test --workspace" -test-coverage = "cargo llvm-cov nextest --all-features --workspace --lcov --output-path lcov.info --profile ci" +test-coverage = "cargo llvm-cov nextest --all-features --workspace --exclude tools --lcov --output-path lcov.info --profile ci" From 42ad7fd99d67e60a95eb255e247f3ebf1b0d1fd9 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 11:40:23 +0200 Subject: [PATCH 10/12] Use conda macOS deployment targets --- .github/workflows/ci.yml | 6 ------ .github/workflows/release.yml | 2 -- pixi.lock | 22 ++++++++++++++++++++++ pixi.toml | 6 ++++++ 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72990463..88540450 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,12 +57,10 @@ jobs: CARGO_INCREMENTAL: 0 CARGO_TARGET_DIR: "C:\\cargo-target-dir" - os: "macos-15-intel" - MACOSX_DEPLOYMENT_TARGET: "15.5" DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} CARGO_INCREMENTAL: ${{ matrix.CARGO_INCREMENTAL }} - MACOSX_DEPLOYMENT_TARGET: ${{ matrix.MACOSX_DEPLOYMENT_TARGET }} DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.DYLD_FALLBACK_LIBRARY_PATH }} # Disable generating debug info, we don't need it here anyway and its only using disk space CARGO_PROFILE_DEV_DEBUG: 0 @@ -113,12 +111,10 @@ jobs: RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" CARGO_INCREMENTAL: 0 - os: "macos-15-intel" - MACOSX_DEPLOYMENT_TARGET: "15.5" DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} CARGO_INCREMENTAL: ${{ matrix.CARGO_INCREMENTAL }} - MACOSX_DEPLOYMENT_TARGET: ${{ matrix.MACOSX_DEPLOYMENT_TARGET }} DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.DYLD_FALLBACK_LIBRARY_PATH }} # Disable generating debug info, we don't need it here anyway and its only using disk space CARGO_PROFILE_DEV_DEBUG: 0 @@ -183,11 +179,9 @@ jobs: - os: "windows-latest" RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" - os: "macos-15-intel" - MACOSX_DEPLOYMENT_TARGET: "15.5" DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} - MACOSX_DEPLOYMENT_TARGET: ${{ matrix.MACOSX_DEPLOYMENT_TARGET }} DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.DYLD_FALLBACK_LIBRARY_PATH }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4ab8bb2f..f7252be5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,7 +28,6 @@ jobs: dir: macos-x86_64 artifacts: "mun libmun_runtime.dylib" RUSTFLAGS: "-Dwarnings" - MACOSX_DEPLOYMENT_TARGET: "15.5" DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" steps: - uses: actions/checkout@v4 @@ -44,7 +43,6 @@ jobs: - name: Cargo build env: RUSTFLAGS: ${{ matrix.config.RUSTFLAGS }} - MACOSX_DEPLOYMENT_TARGET: ${{ matrix.config.MACOSX_DEPLOYMENT_TARGET }} DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.config.DYLD_FALLBACK_LIBRARY_PATH }} run: pixi run build-release diff --git a/pixi.lock b/pixi.lock index 6354dbd8..0a35bd29 100644 --- a/pixi.lock +++ b/pixi.lock @@ -76,6 +76,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda osx-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/macosx_deployment_target_osx-64-15.5-h6502127_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-apple-darwin-1.86.0-h38e4360_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.8-ha3d0635_1.conda @@ -110,6 +111,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/macosx_deployment_target_osx-arm64-15.5-hc5fe401_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-aarch64-apple-darwin-1.86.0-hf6ec828_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h1a92334_1.conda @@ -815,6 +817,26 @@ packages: run_exports: {} size: 22519609 timestamp: 1785375386152 +- conda: https://conda.anaconda.org/conda-forge/noarch/macosx_deployment_target_osx-64-15.5-h6502127_7.conda + sha256: 0ef9d542b3d5c697277b671fdb97ad87d8c8390192ff1716a174c20e4f0cbc8d + md5: 48e0efe8e8c51f37eae06350e8736e52 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - __osx >=15.5 + size: 4954 + timestamp: 1771434196652 +- conda: https://conda.anaconda.org/conda-forge/noarch/macosx_deployment_target_osx-arm64-15.5-hc5fe401_7.conda + sha256: 2b0da45a6e7dcd073e1bcb75c08d44573b96e8b90484729adaaa3eede1d5eae8 + md5: de73789a1dc5215e0f397876ee7ddff3 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - __osx >=15.5 + size: 4985 + timestamp: 1771434184428 - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-aarch64-apple-darwin-1.86.0-hf6ec828_0.conda sha256: 13ece700416fd30628019ee589b8de01a66991c2ff583e876057309cd4a0b59a md5: e1a76ff63763cf04e06eca94978b9dd0 diff --git a/pixi.toml b/pixi.toml index bbc6d38d..8c4c8a3d 100644 --- a/pixi.toml +++ b/pixi.toml @@ -16,6 +16,12 @@ mdbook = "0.4.43.*" cargo-llvm-cov = "0.6.15.*" cargo-nextest = "0.9.78.*" +[target.osx-64.dependencies] +macosx_deployment_target_osx-64 = "15.5.*" + +[target.osx-arm64.dependencies] +macosx_deployment_target_osx-arm64 = "15.5.*" + [tasks] build = "cargo build --workspace" build-capi = "cargo build -p mun -p mun_runtime_capi" From 27757ed8cded4baee6999fe6354cc29456a4b863 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 11:56:07 +0200 Subject: [PATCH 11/12] Add macOS compiler runtime support --- .github/workflows/ci.yml | 9 +- .github/workflows/release.yml | 4 +- pixi.lock | 172 ++++++++++++++++++++++++++++++++++ pixi.toml | 6 ++ 4 files changed, 182 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88540450..a74ddd87 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,11 +57,10 @@ jobs: CARGO_INCREMENTAL: 0 CARGO_TARGET_DIR: "C:\\cargo-target-dir" - os: "macos-15-intel" - DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" + RUSTFLAGS: "-Dwarnings -Clink-arg=-lclang_rt.osx" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} CARGO_INCREMENTAL: ${{ matrix.CARGO_INCREMENTAL }} - DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.DYLD_FALLBACK_LIBRARY_PATH }} # Disable generating debug info, we don't need it here anyway and its only using disk space CARGO_PROFILE_DEV_DEBUG: 0 CARGO_TARGET_DIR: ${{ matrix.CARGO_TARGET_DIR }} @@ -111,11 +110,10 @@ jobs: RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" CARGO_INCREMENTAL: 0 - os: "macos-15-intel" - DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" + RUSTFLAGS: "-Dwarnings -Clink-arg=-lclang_rt.osx" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} CARGO_INCREMENTAL: ${{ matrix.CARGO_INCREMENTAL }} - DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.DYLD_FALLBACK_LIBRARY_PATH }} # Disable generating debug info, we don't need it here anyway and its only using disk space CARGO_PROFILE_DEV_DEBUG: 0 steps: @@ -179,10 +177,9 @@ jobs: - os: "windows-latest" RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" - os: "macos-15-intel" - DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" + RUSTFLAGS: "-Dwarnings -Clink-arg=-lclang_rt.osx" env: RUSTFLAGS: ${{ matrix.RUSTFLAGS }} - DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.DYLD_FALLBACK_LIBRARY_PATH }} steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f7252be5..b1673afa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,8 +27,7 @@ jobs: - os: "macos-15-intel" dir: macos-x86_64 artifacts: "mun libmun_runtime.dylib" - RUSTFLAGS: "-Dwarnings" - DYLD_FALLBACK_LIBRARY_PATH: "${{ github.workspace }}/.pixi/envs/default/lib" + RUSTFLAGS: "-Dwarnings -Clink-arg=-lclang_rt.osx" steps: - uses: actions/checkout@v4 with: @@ -43,7 +42,6 @@ jobs: - name: Cargo build env: RUSTFLAGS: ${{ matrix.config.RUSTFLAGS }} - DYLD_FALLBACK_LIBRARY_PATH: ${{ matrix.config.DYLD_FALLBACK_LIBRARY_PATH }} run: pixi run build-release - run: mkdir -p ${{ matrix.config.dir }} diff --git a/pixi.lock b/pixi.lock index 0a35bd29..4d9e851d 100644 --- a/pixi.lock +++ b/pixi.lock @@ -76,15 +76,21 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda osx-64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-64-14.0.6-hab78ec2_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/macosx_deployment_target_osx-64-15.5-h6502127_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-x86_64-apple-darwin-1.86.0-h38e4360_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/c-ares-1.34.8-ha3d0635_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cargo-llvm-cov-0.6.15-h371c88c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cargo-nextest-0.9.78-h32f0265_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/clang-14-14.0.6-default_hdb78580_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/clang-14.0.6-h694c41f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/clangxx-14.0.6-default_hdb78580_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cmake-4.4.2-h2426fb6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/compiler-rt-14.0.6-h613da45_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/krb5-1.22.2-h69064fd_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libclang-cpp14-14.0.6-default_hdb78580_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h7dba2e6_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-22.1.8-h19cb2f5_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libedit-3.1.20250104-pl5321hba2e2ab_1.conda @@ -111,15 +117,21 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-arm64-14.0.6-h48302dc_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/macosx_deployment_target_osx-arm64-15.5-hc5fe401_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rust-std-aarch64-apple-darwin-1.86.0-hf6ec828_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h1a92334_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cargo-llvm-cov-0.6.15-h0716509_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cargo-nextest-0.9.78-h27c7404_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-14-14.0.6-default_h5dc8d65_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-14.0.6-hce30654_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx-14.0.6-default_h610c423_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.2-h8cb302d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt-14.0.6-h30b49de_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp14-14.0.6-default_h5dc8d65_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hf618e03_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.8-h55c6f16_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321h26f1114_1.conda @@ -787,6 +799,32 @@ packages: run_exports: {} size: 131780 timestamp: 1784754889428 +- conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-64-14.0.6-hab78ec2_0.tar.bz2 + sha256: a8351d6a47a8a2cd8267862d36ad5a06f16955c68111140b8b147ee126433712 + md5: 4fdde3f4ed31722a1c811723f5db82f0 + depends: + - clang 14.0.6.* + - clangxx 14.0.6.* + constrains: + - compiler-rt 14.0.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 15896681 + timestamp: 1667980403834 +- conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-arm64-14.0.6-h48302dc_0.tar.bz2 + sha256: f9f63e8779ff31368cc92ee668308c8e7e974f68457f62148c5663aa0136a42d + md5: ebcb473032038866101b70f9f270a9a2 + depends: + - clang 14.0.6.* + - clangxx 14.0.6.* + constrains: + - compiler-rt 14.0.6 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 15828315 + timestamp: 1667980533329 - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda sha256: 41557eeadf641de6aeae49486cef30d02a6912d8da98585d687894afd65b356a md5: 86d9cba083cd041bfbf242a01a7a1999 @@ -956,6 +994,48 @@ packages: run_exports: {} size: 4717530 timestamp: 1728918242982 +- conda: https://conda.anaconda.org/conda-forge/osx-64/clang-14-14.0.6-default_hdb78580_1.conda + sha256: a8ef6982c0da903e31215425219693a45e39b47189018cf479b03290764793cd + md5: ce19ccaee311132f299ffd0eec9c4581 + depends: + - libclang-cpp14 14.0.6 default_hdb78580_1 + - libcxx >=15.0.7 + - libllvm14 >=14.0.6,<14.1.0a0 + constrains: + - clangxx 14.0.6 + - llvm-tools 14.0.6 + - clangdev 14.0.6 + - clang-tools 14.0.6 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 1029529 + timestamp: 1684412293094 +- conda: https://conda.anaconda.org/conda-forge/osx-64/clang-14.0.6-h694c41f_1.conda + sha256: f757328f9924d93b09aa16423160b6ebbe28dac7508cce76d50795db4d1d39c9 + md5: 1305da4c85c7eaa2e90fa14efc35f591 + depends: + - clang-14 14.0.6 default_hdb78580_1 + constrains: + - clang-tools 14.0.6.* + - llvm 14.0.6.* + - llvm-tools 14.0.6.* + - llvmdev 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 133085 + timestamp: 1684412402322 +- conda: https://conda.anaconda.org/conda-forge/osx-64/clangxx-14.0.6-default_hdb78580_1.conda + sha256: 6c5ed5942dc9627926741e001a042f2a8dc31e221c0a7e4bcbbe35cd0e6681b8 + md5: cc2ac1c5c838cb0edd65258da7c38294 + depends: + - clang 14.0.6 h694c41f_1 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 133262 + timestamp: 1684412419561 - conda: https://conda.anaconda.org/conda-forge/osx-64/cmake-4.4.2-h2426fb6_0.conda sha256: eb9cadfd3dc0e48a3812dc1887dab13e0b824c46bc09ed3a1ffdd33d60f039db md5: 7501a8ca8c8c66d65c67bdd7c7bb3057 @@ -976,6 +1056,18 @@ packages: run_exports: {} size: 20013251 timestamp: 1785534999623 +- conda: https://conda.anaconda.org/conda-forge/osx-64/compiler-rt-14.0.6-h613da45_0.tar.bz2 + sha256: 2dea3b5efea587329320c70a335fa5666c3a814e70e76464734b90a40b70e8a8 + md5: b44e0625319f9933e584dc3b96f5baf7 + depends: + - clang 14.0.6.* + - clangxx 14.0.6.* + - compiler-rt_osx-64 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 85454 + timestamp: 1667980424247 - conda: https://conda.anaconda.org/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda sha256: 3abd86f3441f143b6b3203c92ae0d88dd8396a8857940af468f1fab854cdae57 md5: f13f4740c18b562bf2662d494bad6099 @@ -1004,6 +1096,19 @@ packages: - krb5 >=1.22.2,<1.23.0a0 size: 1199337 timestamp: 1786762832264 +- conda: https://conda.anaconda.org/conda-forge/osx-64/libclang-cpp14-14.0.6-default_hdb78580_1.conda + sha256: 5720d4662bd032a1dc07d0ae1368fa5e454c938545bdd93f78dacd25b9f597d3 + md5: 9a235664bf087994aa3acc1a60614964 + depends: + - libcxx >=15.0.7 + - libllvm14 >=14.0.6,<14.1.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libclang-cpp14 >=14.0.6,<14.1.0a0 + size: 11897758 + timestamp: 1684412176370 - conda: https://conda.anaconda.org/conda-forge/osx-64/libcurl-8.21.0-h7dba2e6_4.conda sha256: 5a47abbbe5938b5e87cd80bfcb002a3b33babe975ef7bcb2076e92439327d160 md5: c7ea54c4b80f207ece50ba7008e115b2 @@ -1375,6 +1480,48 @@ packages: run_exports: {} size: 4384820 timestamp: 1728918162464 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-14-14.0.6-default_h5dc8d65_1.conda + sha256: b674c9ff31b9bbf225b6c62e0b8a2ca45fe70ef78ad5ca22a79f6c8e41f37306 + md5: aafcdf5d9f0b5a00540469242d7ab67b + depends: + - libclang-cpp14 14.0.6 default_h5dc8d65_1 + - libcxx >=15.0.7 + - libllvm14 >=14.0.6,<14.1.0a0 + constrains: + - clangxx 14.0.6 + - llvm-tools 14.0.6 + - clang-tools 14.0.6 + - clangdev 14.0.6 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 1028007 + timestamp: 1684413668339 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-14.0.6-hce30654_1.conda + sha256: da28397f5ab383d9cdcc0d3ed9b3e51a6b2a73edbb1867e13120e2f137eeb69e + md5: 74394af220230cb88970984c086d2cba + depends: + - clang-14 14.0.6 default_h5dc8d65_1 + constrains: + - clang-tools 14.0.6.* + - llvm 14.0.6.* + - llvm-tools 14.0.6.* + - llvmdev 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 133297 + timestamp: 1684413800824 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx-14.0.6-default_h610c423_1.conda + sha256: abf47478baa7c0d183b43150ca600630dd5ce6762890e0bca925e05bd3247c6b + md5: a9b37a157fdc4a3584aa7f5fb69d3a1a + depends: + - clang 14.0.6 hce30654_1 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 133461 + timestamp: 1684413825082 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.2-h8cb302d_0.conda sha256: 64c89fbb4a70eb192883fee4a16c0cdb0e6eb9921e3b63b1a8125a98e9c856e6 md5: 952ccf9c6e8204dd1bdda021f274a5bb @@ -1395,6 +1542,18 @@ packages: run_exports: {} size: 18781011 timestamp: 1785535003448 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt-14.0.6-h30b49de_0.tar.bz2 + sha256: 266578ae49450e6b4a778b454f8e7fd988676dd9146bb186093066ab1589ba06 + md5: b88a5457fa7def557e5902046ab56b6e + depends: + - clang 14.0.6.* + - clangxx 14.0.6.* + - compiler-rt_osx-arm64 14.0.6.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 85467 + timestamp: 1667980555472 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda sha256: 6cdb5dee54c72e56ab189fb3ad33cb28533553d42590e7e831160248f4416a43 md5: a5efc0b42bb8b42e97d0a29ae3e3c187 @@ -1423,6 +1582,19 @@ packages: - krb5 >=1.22.2,<1.23.0a0 size: 1165740 timestamp: 1786762145768 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp14-14.0.6-default_h5dc8d65_1.conda + sha256: 9cb083dae695cda715e280c2cadd08b625ecc5842f99fb575901990b0e60bf7c + md5: 7caa562f3551c16cd82d0147640091f8 + depends: + - libcxx >=15.0.7 + - libllvm14 >=14.0.6,<14.1.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libclang-cpp14 >=14.0.6,<14.1.0a0 + size: 10930694 + timestamp: 1684413524265 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hf618e03_4.conda sha256: d25be36712d7f854a5f93513b9fbf1b0ee3219975b7fef4a3ee071b021b10167 md5: 66cf9c5003ee81ecdb0dc9f9df17bbe5 diff --git a/pixi.toml b/pixi.toml index 8c4c8a3d..1e17cdf4 100644 --- a/pixi.toml +++ b/pixi.toml @@ -18,9 +18,15 @@ cargo-nextest = "0.9.78.*" [target.osx-64.dependencies] macosx_deployment_target_osx-64 = "15.5.*" +compiler-rt = "14.*" [target.osx-arm64.dependencies] macosx_deployment_target_osx-arm64 = "15.5.*" +compiler-rt = "14.*" + +[target.osx.activation.env] +DYLD_FALLBACK_LIBRARY_PATH = "$CONDA_PREFIX/lib" +LIBRARY_PATH = "$CONDA_PREFIX/lib/clang/14.0.6/lib/darwin" [tasks] build = "cargo build --workspace" From 7af760496db2d0eb21e90ffcf04ba04ae58679d9 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Mon, 17 Aug 2026 12:21:48 +0200 Subject: [PATCH 12/12] Match Windows CRT with conda LLVM --- .github/workflows/ci.yml | 6 +++--- .github/workflows/release.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a74ddd87..d7ba0279 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,7 +53,7 @@ jobs: CARGO_INCREMENTAL: 1 CARGO_TARGET_DIR: "target" - os: "windows-latest" - RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 0 CARGO_TARGET_DIR: "C:\\cargo-target-dir" - os: "macos-15-intel" @@ -107,7 +107,7 @@ jobs: - RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 1 - os: "windows-latest" - RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 0 - os: "macos-15-intel" RUSTFLAGS: "-Dwarnings -Clink-arg=-lclang_rt.osx" @@ -175,7 +175,7 @@ jobs: include: - RUSTFLAGS: "-Dwarnings" - os: "windows-latest" - RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + RUSTFLAGS: "-Dwarnings" - os: "macos-15-intel" RUSTFLAGS: "-Dwarnings -Clink-arg=-lclang_rt.osx" env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b1673afa..dfcc44c3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: - os: "windows-latest" dir: windows-x86_64 artifacts: "mun.exe mun_runtime.dll mun_runtime.dll.lib" - RUSTFLAGS: "-Dwarnings -Ctarget-feature=+crt-static" + RUSTFLAGS: "-Dwarnings" - os: "macos-15-intel" dir: macos-x86_64 artifacts: "mun libmun_runtime.dylib"