From 0b559f1cc2c8680fd4847a9e711aaa71172b68ee Mon Sep 17 00:00:00 2001 From: Kevin Marchais Date: Wed, 11 Feb 2026 12:06:15 +0100 Subject: [PATCH 1/4] Fix conda Python 3.14 build using free-threaded variant on Linux Pin python_abi in host requirements to the standard CPython variant, working around conda-build bug conda/conda-build#5843. --- conda.recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 3e5e663e..c70b51aa 100755 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -33,6 +33,7 @@ requirements: - carma - pybind11 - python + - python_abi {{ python }} *_cp{{ python | replace(".", "") }} - numpy >=2.0 - libblas - liblapack From f4dab5c6090db610581f6098e6b84bf0a44851d7 Mon Sep 17 00:00:00 2001 From: Kevin Marchais Date: Wed, 11 Feb 2026 12:11:02 +0100 Subject: [PATCH 2/4] Fix conda Python 3.14 build using free-threaded variant on Linux Pin python_abi in host requirements to the standard CPython variant, working around conda-build bug conda/conda-build#5843. Add CI test to verify simcoon + matplotlib coinstallation. --- .github/workflows/conda-packaging.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/conda-packaging.yml b/.github/workflows/conda-packaging.yml index 36102b88..7416d0e2 100644 --- a/.github/workflows/conda-packaging.yml +++ b/.github/workflows/conda-packaging.yml @@ -145,6 +145,14 @@ jobs: echo "Testing Python import..." conda run -n test-install python -c "import simcoon; import simcoon._core; print('✓ Import successful')" + - name: Test compatibility with common packages (Unix) + if: runner.os != 'Windows' + shell: bash -l {0} + run: | + echo "=== Testing simcoon + matplotlib coinstallation ===" + conda install -n test-install -y matplotlib -c conda-forge + conda run -n test-install python -c "import simcoon; import matplotlib; print('✓ simcoon + matplotlib compatible')" + - name: Install and verify package structure (Windows) if: runner.os == 'Windows' shell: pwsh @@ -182,6 +190,14 @@ jobs: Write-Host "Testing Python import..." conda run -n test-install python -c "import simcoon; import simcoon._core; print('Import successful')" + - name: Test compatibility with common packages (Windows) + if: runner.os == 'Windows' + shell: pwsh + run: | + Write-Host "=== Testing simcoon + matplotlib coinstallation ===" + conda install -n test-install -y matplotlib -c conda-forge + conda run -n test-install python -c "import simcoon; import matplotlib; print('simcoon + matplotlib compatible')" + - name: Upload to Anaconda if: inputs.upload shell: bash -l {0} From c228a7e79f55d364f632a9ccc26d66be655a2d44 Mon Sep 17 00:00:00 2001 From: Kevin Marchais Date: Thu, 12 Feb 2026 11:37:13 +0100 Subject: [PATCH 3/4] Ignore libblas/liblapack run_exports to fix version solver preference The auto-generated run_exports from libblas/liblapack in host (e.g. >=3.11.0,<4.0a0) forced the solver to use newer MKL from conda-forge, making simcoon 1.10.x harder to install than 1.9.6 when Python was installed from the defaults channel. By ignoring these run_exports, the explicit run dependencies (libblas * *mkl, etc.) still correctly pin the BLAS backend without unnecessarily constraining the version. --- conda.recipe/meta.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index c70b51aa..d64e492e 100755 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -13,6 +13,10 @@ build: script_env: - CXXFLAGS=-D_LIBCPP_DISABLE_AVAILABILITY - CONDA_BUILD_LOCAL + ignore_run_exports: + - libblas + - liblapack + - libcblas requirements: build: From 84bdf891531525fcb9c9f5745d38e872abf22416 Mon Sep 17 00:00:00 2001 From: Kevin Marchais Date: Sat, 14 Feb 2026 23:02:08 +0100 Subject: [PATCH 4/4] Update meta.yaml --- conda.recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index d64e492e..89f7b79f 100755 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -37,7 +37,7 @@ requirements: - carma - pybind11 - python - - python_abi {{ python }} *_cp{{ python | replace(".", "") }} + - python_abi {{ python }} *_cp{{ python | replace(".", "") }} # Could be removed when https://github.com/conda/conda-build/issues/5843 is solved - numpy >=2.0 - libblas - liblapack @@ -57,3 +57,4 @@ test: imports: - simcoon - simcoon._core +