From 1ad38731765b72c29b6befa835671c8ce55e2408 Mon Sep 17 00:00:00 2001 From: Vincent Traag Date: Tue, 23 Sep 2025 11:09:13 +0200 Subject: [PATCH 01/16] Add igraph as a runtime dependency in order to ensure that any other dependencies use a compatible C core. --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bb2e2ac..2ac6b0b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -52,6 +52,7 @@ requirements: - gmp - texttable >=1.6.2 - python + - igraph >=0.10,<0.11 test: source_files: From 45a981544dd745e93998a94329193ee807288afb Mon Sep 17 00:00:00 2001 From: Vincent Traag Date: Tue, 23 Sep 2025 11:10:16 +0200 Subject: [PATCH 02/16] Bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2ac6b0b..744f6f2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -13,7 +13,7 @@ source: sha256: c57ce44873abcfcfd1d61d7d261e416d352186958e7b5d299cf244efa6757816 build: - number: 2 + number: 3 script_env: - F2C_EXTERNAL_ARITH_HEADER={{ RECIPE_DIR }}/arith_arm64.h # [arm64] From c3208b926679d530e8040d5dd301062f202a4550 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Sat, 27 Sep 2025 11:31:23 +0200 Subject: [PATCH 03/16] Move `igraph` to host and remove unneeded dependenies Remove the CMake call and instead point to external `igraph` --- recipe/bld.bat | 23 +++++------------------ recipe/build.sh | 28 ++++++---------------------- recipe/meta.yaml | 32 ++++---------------------------- 3 files changed, 15 insertions(+), 68 deletions(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index b011795..bb1bfb0 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -1,24 +1,11 @@ @echo on -mkdir build -if errorlevel 1 exit 1 +rem Build python-igraph against the externally provided libigraph from conda-forge +rem Use pkg-config to discover headers and libraries. +set IGRAPH_USE_PKG_CONFIG=1 -set IGRAPH_CMAKE_EXTRA_ARGS=^ - %CMAKE_ARGS% ^ - -GNinja ^ - -DCMAKE_BUILD_TYPE=Release ^ - -DCMAKE_INSTALL_PREFIX=%SRC_DIR%/vendor/install/igraph ^ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON ^ - -DIGRAPH_USE_INTERNAL_BLAS=0 ^ - -DIGRAPH_USE_INTERNAL_LAPACK=0 ^ - -DIGRAPH_USE_INTERNAL_ARPACK=1 ^ - -DIGRAPH_USE_INTERNAL_GLPK=0 ^ - -DIGRAPH_USE_INTERNAL_GMP=0 ^ - -DBUILD_SHARED_LIBS=OFF ^ - -DIGRAPH_ENABLE_LTO=AUTO ^ - -DIGRAPH_ENABLE_TLS=1 ^ - -DIGRAPH_GRAPHML_SUPPORT=1 -set IGRAPH_EXTRA_LIBRARIES=gmp,blas,glpk,lapack,libxml2 +rem Ensure pkg-config can find igraph.pc from the host env (both common locations) +set "PKG_CONFIG_PATH=%PREFIX%\Library\lib\pkgconfig;%PREFIX%\lib\pkgconfig;%PKG_CONFIG_PATH%" %PYTHON% -m pip install --no-deps --no-build-isolation --ignore-installed . -vvv if errorlevel 1 exit 1 diff --git a/recipe/build.sh b/recipe/build.sh index 43dbfc4..8977a12 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -1,26 +1,10 @@ #!/bin/env bash -export IGRAPH_CMAKE_EXTRA_ARGS=" - ${CMAKE_ARGS} \ - -GNinja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${SRC_DIR}/vendor/install/igraph \ - -DCMAKE_C_FLAGS=\"${CFLAGS}\" \ - -DCMAKE_CPP_FLAGS=\"${CPPFLAGS}\" \ - -DCMAKE_CXX_FLAGS=\"${CXXFLAGS}\" \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ - -DF2C_EXTERNAL_ARITH_HEADER=${F2C_EXTERNAL_ARITH_HEADER} \ - -DIGRAPH_USE_INTERNAL_BLAS=0 \ - -DIGRAPH_USE_INTERNAL_LAPACK=0 \ - -DIGRAPH_USE_INTERNAL_ARPACK=0 \ - -DIGRAPH_USE_INTERNAL_GLPK=0 \ - -DIGRAPH_USE_INTERNAL_CXSPARSE=0 \ - -DIGRAPH_USE_INTERNAL_GMP=0 \ - -DBUILD_SHARED_LIBS=OFF \ - -DIGRAPH_ENABLE_LTO=AUTO \ - -DIGRAPH_ENABLE_TLS=1 \ - -DBLAS_LIBRARIES=\"${PREFIX}/lib/libblas${SHLIB_EXT}\" \ - -DLAPACK_LIBRARIES=\"${PREFIX}/lib/liblapack${SHLIB_EXT}\" - " +# Build python-igraph against the externally provided libigraph from conda-forge +# Use pkg-config to discover headers and libraries. +export IGRAPH_USE_PKG_CONFIG=1 + +# Ensure pkg-config can find igraph.pc from the host env +export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}" ${PYTHON} -m pip install --no-deps --no-build-isolation --ignore-installed . -vvv diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 744f6f2..977e452 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -14,45 +14,23 @@ source: build: number: 3 - script_env: - - F2C_EXTERNAL_ARITH_HEADER={{ RECIPE_DIR }}/arith_arm64.h # [arm64] - - run_exports: - - {{ pin_subpackage("python-igraph", max_pin="x.x") }} requirements: build: - python # [build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] - - libtool # [unix] - {{ compiler('c') }} - {{ stdlib("c") }} - {{ compiler('cxx') }} - # just to make cmake happy - - bison # [osx and arm64] - - cmake - - ninja - - make # [not win] - - pkg-config # [not win] + - pkg-config host: - - glpk - - libxml2-devel - - arpack # [not win] - - gmp - - libblas - - liblapack - python - pip - setuptools >=64,<72.2.0 - - zlib + - igraph >=0.10,<0.11 run: - - glpk - - libxml2-devel - - arpack # [not win] - - gmp - - texttable >=1.6.2 - python - - igraph >=0.10,<0.11 + - texttable >=1.6.2 test: source_files: @@ -68,9 +46,7 @@ test: about: home: https://igraph.org/python/ license: GPL-2.0-or-later - license_file: - - LICENSE - - vendor/source/igraph/ACKNOWLEDGEMENTS.md + license_file: LICENSE summary: High performance graph data structures and algorithms dev_url: https://github.com/igraph/python-igraph doc_url: https://igraph.org/python/#docs From 8ba3854b30683574cddd2accfedfe942e5aa9510 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Sat, 27 Sep 2025 09:38:38 +0000 Subject: [PATCH 04/16] MNT: Re-rendered with conda-smithy 3.52.2 and conda-forge-pinning 2025.09.27.05.44.0 --- .ci_support/linux_64_python3.10.____cpython.yaml | 14 -------------- .ci_support/linux_64_python3.11.____cpython.yaml | 14 -------------- .ci_support/linux_64_python3.12.____cpython.yaml | 14 -------------- .ci_support/linux_64_python3.13.____cp313.yaml | 14 -------------- .ci_support/linux_64_python3.14.____cp314.yaml | 14 -------------- .../linux_aarch64_python3.10.____cpython.yaml | 14 -------------- .../linux_aarch64_python3.11.____cpython.yaml | 14 -------------- .../linux_aarch64_python3.12.____cpython.yaml | 14 -------------- .../linux_aarch64_python3.13.____cp313.yaml | 14 -------------- .../linux_aarch64_python3.14.____cp314.yaml | 14 -------------- .../linux_ppc64le_python3.10.____cpython.yaml | 14 -------------- .../linux_ppc64le_python3.11.____cpython.yaml | 14 -------------- .../linux_ppc64le_python3.12.____cpython.yaml | 14 -------------- .../linux_ppc64le_python3.13.____cp313.yaml | 14 -------------- .../linux_ppc64le_python3.14.____cp314.yaml | 14 -------------- .ci_support/osx_64_python3.10.____cpython.yaml | 14 -------------- .ci_support/osx_64_python3.11.____cpython.yaml | 14 -------------- .ci_support/osx_64_python3.12.____cpython.yaml | 14 -------------- .ci_support/osx_64_python3.13.____cp313.yaml | 14 -------------- .ci_support/osx_64_python3.14.____cp314.yaml | 14 -------------- .ci_support/osx_arm64_python3.10.____cpython.yaml | 14 -------------- .ci_support/osx_arm64_python3.11.____cpython.yaml | 14 -------------- .ci_support/osx_arm64_python3.12.____cpython.yaml | 14 -------------- .ci_support/osx_arm64_python3.13.____cp313.yaml | 14 -------------- .ci_support/osx_arm64_python3.14.____cp314.yaml | 14 -------------- .ci_support/win_64_python3.10.____cpython.yaml | 12 ------------ .ci_support/win_64_python3.11.____cpython.yaml | 12 ------------ .ci_support/win_64_python3.12.____cpython.yaml | 12 ------------ .ci_support/win_64_python3.13.____cp313.yaml | 12 ------------ .ci_support/win_64_python3.14.____cp314.yaml | 12 ------------ 30 files changed, 410 deletions(-) diff --git a/.ci_support/linux_64_python3.10.____cpython.yaml b/.ci_support/linux_64_python3.10.____cpython.yaml index 501ad7f..1f8b875 100644 --- a/.ci_support/linux_64_python3.10.____cpython.yaml +++ b/.ci_support/linux_64_python3.10.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_64_python3.11.____cpython.yaml b/.ci_support/linux_64_python3.11.____cpython.yaml index 2ac61fa..64153a9 100644 --- a/.ci_support/linux_64_python3.11.____cpython.yaml +++ b/.ci_support/linux_64_python3.11.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_64_python3.12.____cpython.yaml b/.ci_support/linux_64_python3.12.____cpython.yaml index 591b5b4..8454516 100644 --- a/.ci_support/linux_64_python3.12.____cpython.yaml +++ b/.ci_support/linux_64_python3.12.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_64_python3.13.____cp313.yaml b/.ci_support/linux_64_python3.13.____cp313.yaml index d4350bb..84878ba 100644 --- a/.ci_support/linux_64_python3.13.____cp313.yaml +++ b/.ci_support/linux_64_python3.13.____cp313.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_64_python3.14.____cp314.yaml b/.ci_support/linux_64_python3.14.____cp314.yaml index 46b7563..0f69ca1 100644 --- a/.ci_support/linux_64_python3.14.____cp314.yaml +++ b/.ci_support/linux_64_python3.14.____cp314.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_python3.10.____cpython.yaml b/.ci_support/linux_aarch64_python3.10.____cpython.yaml index 883e45f..bff6568 100644 --- a/.ci_support/linux_aarch64_python3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.10.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_python3.11.____cpython.yaml b/.ci_support/linux_aarch64_python3.11.____cpython.yaml index f746d7a..c25d007 100644 --- a/.ci_support/linux_aarch64_python3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.11.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_python3.12.____cpython.yaml b/.ci_support/linux_aarch64_python3.12.____cpython.yaml index e7204be..4230bf1 100644 --- a/.ci_support/linux_aarch64_python3.12.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.12.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_python3.13.____cp313.yaml b/.ci_support/linux_aarch64_python3.13.____cp313.yaml index 2e025c7..ff526dc 100644 --- a/.ci_support/linux_aarch64_python3.13.____cp313.yaml +++ b/.ci_support/linux_aarch64_python3.13.____cp313.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_aarch64_python3.14.____cp314.yaml b/.ci_support/linux_aarch64_python3.14.____cp314.yaml index 8360cab..089b10a 100644 --- a/.ci_support/linux_aarch64_python3.14.____cp314.yaml +++ b/.ci_support/linux_aarch64_python3.14.____cp314.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_ppc64le_python3.10.____cpython.yaml b/.ci_support/linux_ppc64le_python3.10.____cpython.yaml index 02ba236..4eda4a2 100644 --- a/.ci_support/linux_ppc64le_python3.10.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.10.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_ppc64le_python3.11.____cpython.yaml b/.ci_support/linux_ppc64le_python3.11.____cpython.yaml index b348be3..3537ccb 100644 --- a/.ci_support/linux_ppc64le_python3.11.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.11.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_ppc64le_python3.12.____cpython.yaml b/.ci_support/linux_ppc64le_python3.12.____cpython.yaml index 702a9a1..aec107c 100644 --- a/.ci_support/linux_ppc64le_python3.12.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.12.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_ppc64le_python3.13.____cp313.yaml b/.ci_support/linux_ppc64le_python3.13.____cp313.yaml index 8990041..0dca366 100644 --- a/.ci_support/linux_ppc64le_python3.13.____cp313.yaml +++ b/.ci_support/linux_ppc64le_python3.13.____cp313.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/linux_ppc64le_python3.14.____cp314.yaml b/.ci_support/linux_ppc64le_python3.14.____cp314.yaml index a013051..8bd6928 100644 --- a/.ci_support/linux_ppc64le_python3.14.____cp314.yaml +++ b/.ci_support/linux_ppc64le_python3.14.____cp314.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - gcc c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -43,5 +31,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_64_python3.10.____cpython.yaml b/.ci_support/osx_64_python3.10.____cpython.yaml index 0d89e97..88ec63d 100644 --- a/.ci_support/osx_64_python3.10.____cpython.yaml +++ b/.ci_support/osx_64_python3.10.____cpython.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' MACOSX_SDK_VERSION: - '10.13' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_64_python3.11.____cpython.yaml b/.ci_support/osx_64_python3.11.____cpython.yaml index c8209a1..e333337 100644 --- a/.ci_support/osx_64_python3.11.____cpython.yaml +++ b/.ci_support/osx_64_python3.11.____cpython.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' MACOSX_SDK_VERSION: - '10.13' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_64_python3.12.____cpython.yaml b/.ci_support/osx_64_python3.12.____cpython.yaml index b519391..1cce297 100644 --- a/.ci_support/osx_64_python3.12.____cpython.yaml +++ b/.ci_support/osx_64_python3.12.____cpython.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' MACOSX_SDK_VERSION: - '10.13' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_64_python3.13.____cp313.yaml b/.ci_support/osx_64_python3.13.____cp313.yaml index 068aa6b..48653f5 100644 --- a/.ci_support/osx_64_python3.13.____cp313.yaml +++ b/.ci_support/osx_64_python3.13.____cp313.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' MACOSX_SDK_VERSION: - '10.13' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_64_python3.14.____cp314.yaml b/.ci_support/osx_64_python3.14.____cp314.yaml index e97a21c..cc2ad52 100644 --- a/.ci_support/osx_64_python3.14.____cp314.yaml +++ b/.ci_support/osx_64_python3.14.____cp314.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' MACOSX_SDK_VERSION: - '10.13' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_arm64_python3.10.____cpython.yaml b/.ci_support/osx_arm64_python3.10.____cpython.yaml index 18b5fa7..d47752e 100644 --- a/.ci_support/osx_arm64_python3.10.____cpython.yaml +++ b/.ci_support/osx_arm64_python3.10.____cpython.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' MACOSX_SDK_VERSION: - '11.0' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - arm64-apple-darwin20.0.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_arm64_python3.11.____cpython.yaml b/.ci_support/osx_arm64_python3.11.____cpython.yaml index 290c16d..bcc41a4 100644 --- a/.ci_support/osx_arm64_python3.11.____cpython.yaml +++ b/.ci_support/osx_arm64_python3.11.____cpython.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' MACOSX_SDK_VERSION: - '11.0' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - arm64-apple-darwin20.0.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_arm64_python3.12.____cpython.yaml b/.ci_support/osx_arm64_python3.12.____cpython.yaml index 9b64c55..d169aa7 100644 --- a/.ci_support/osx_arm64_python3.12.____cpython.yaml +++ b/.ci_support/osx_arm64_python3.12.____cpython.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' MACOSX_SDK_VERSION: - '11.0' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - arm64-apple-darwin20.0.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_arm64_python3.13.____cp313.yaml b/.ci_support/osx_arm64_python3.13.____cp313.yaml index dd24edb..6995af9 100644 --- a/.ci_support/osx_arm64_python3.13.____cp313.yaml +++ b/.ci_support/osx_arm64_python3.13.____cp313.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' MACOSX_SDK_VERSION: - '11.0' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - arm64-apple-darwin20.0.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/osx_arm64_python3.14.____cp314.yaml b/.ci_support/osx_arm64_python3.14.____cp314.yaml index dea8a9d..f582485 100644 --- a/.ci_support/osx_arm64_python3.14.____cp314.yaml +++ b/.ci_support/osx_arm64_python3.14.____cp314.yaml @@ -2,8 +2,6 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' MACOSX_SDK_VERSION: - '11.0' -arpack: -- '3.9' c_compiler: - clang c_compiler_version: @@ -20,16 +18,6 @@ cxx_compiler: - clangxx cxx_compiler_version: - '19' -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' macos_machine: - arm64-apple-darwin20.0.0 pin_run_as_build: @@ -45,5 +33,3 @@ zip_keys: - cxx_compiler_version - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_python3.10.____cpython.yaml index 1ef541c..ad45e50 100644 --- a/.ci_support/win_64_python3.10.____cpython.yaml +++ b/.ci_support/win_64_python3.10.____cpython.yaml @@ -8,16 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -29,5 +19,3 @@ target_platform: zip_keys: - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/win_64_python3.11.____cpython.yaml b/.ci_support/win_64_python3.11.____cpython.yaml index af6a9c2..8cfae04 100644 --- a/.ci_support/win_64_python3.11.____cpython.yaml +++ b/.ci_support/win_64_python3.11.____cpython.yaml @@ -8,16 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -29,5 +19,3 @@ target_platform: zip_keys: - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/win_64_python3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml index dbac801..bc47ee6 100644 --- a/.ci_support/win_64_python3.12.____cpython.yaml +++ b/.ci_support/win_64_python3.12.____cpython.yaml @@ -8,16 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -29,5 +19,3 @@ target_platform: zip_keys: - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/win_64_python3.13.____cp313.yaml b/.ci_support/win_64_python3.13.____cp313.yaml index 53fcf61..a112f9f 100644 --- a/.ci_support/win_64_python3.13.____cp313.yaml +++ b/.ci_support/win_64_python3.13.____cp313.yaml @@ -8,16 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -29,5 +19,3 @@ target_platform: zip_keys: - - python - channel_sources -zlib: -- '1' diff --git a/.ci_support/win_64_python3.14.____cp314.yaml b/.ci_support/win_64_python3.14.____cp314.yaml index 7ebc8f1..220e836 100644 --- a/.ci_support/win_64_python3.14.____cp314.yaml +++ b/.ci_support/win_64_python3.14.____cp314.yaml @@ -8,16 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -29,5 +19,3 @@ target_platform: zip_keys: - - python - channel_sources -zlib: -- '1' From 5c3d6cf0cb1a76e74f927a2b713fa353be5c66ec Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Sat, 27 Sep 2025 12:28:03 +0200 Subject: [PATCH 05/16] Extra dependencies are needed for Windows build --- recipe/meta.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 977e452..d712370 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -28,6 +28,16 @@ requirements: - pip - setuptools >=64,<72.2.0 - igraph >=0.10,<0.11 + # Windows requires additional libs for pkg-config to work because igraph.pc + # lists them in Libs + - arpack # [win] + - glpk # [win] + - gmp # [win] + - libblas # [win] + - libiconv # [win] + - liblapack # [win] + - liblzma-devel # [win] + - libxml2-devel # [win] run: - python - texttable >=1.6.2 From f8abab7105ec8e61994de156c2be4a5de08b0bf5 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Sat, 27 Sep 2025 11:47:48 +0000 Subject: [PATCH 06/16] MNT: Re-rendered with conda-smithy 3.52.2 and conda-forge-pinning 2025.09.27.05.44.0 --- .ci_support/win_64_python3.10.____cpython.yaml | 16 ++++++++++++++++ .ci_support/win_64_python3.11.____cpython.yaml | 16 ++++++++++++++++ .ci_support/win_64_python3.12.____cpython.yaml | 16 ++++++++++++++++ .ci_support/win_64_python3.13.____cp313.yaml | 16 ++++++++++++++++ .ci_support/win_64_python3.14.____cp314.yaml | 16 ++++++++++++++++ 5 files changed, 80 insertions(+) diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_python3.10.____cpython.yaml index ad45e50..0e29e9d 100644 --- a/.ci_support/win_64_python3.10.____cpython.yaml +++ b/.ci_support/win_64_python3.10.____cpython.yaml @@ -1,3 +1,5 @@ +arpack: +- '3.9' c_compiler: - vs2022 c_stdlib: @@ -8,6 +10,20 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +glpk: +- '5.0' +gmp: +- '6' +libblas: +- 3.9.* *netlib +libiconv: +- '1' +liblapack: +- 3.9.* *netlib +liblzma_devel: +- '5' +libxml2_devel: +- '2.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.11.____cpython.yaml b/.ci_support/win_64_python3.11.____cpython.yaml index 8cfae04..ca08c9c 100644 --- a/.ci_support/win_64_python3.11.____cpython.yaml +++ b/.ci_support/win_64_python3.11.____cpython.yaml @@ -1,3 +1,5 @@ +arpack: +- '3.9' c_compiler: - vs2022 c_stdlib: @@ -8,6 +10,20 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +glpk: +- '5.0' +gmp: +- '6' +libblas: +- 3.9.* *netlib +libiconv: +- '1' +liblapack: +- 3.9.* *netlib +liblzma_devel: +- '5' +libxml2_devel: +- '2.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml index bc47ee6..935598b 100644 --- a/.ci_support/win_64_python3.12.____cpython.yaml +++ b/.ci_support/win_64_python3.12.____cpython.yaml @@ -1,3 +1,5 @@ +arpack: +- '3.9' c_compiler: - vs2022 c_stdlib: @@ -8,6 +10,20 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +glpk: +- '5.0' +gmp: +- '6' +libblas: +- 3.9.* *netlib +libiconv: +- '1' +liblapack: +- 3.9.* *netlib +liblzma_devel: +- '5' +libxml2_devel: +- '2.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.13.____cp313.yaml b/.ci_support/win_64_python3.13.____cp313.yaml index a112f9f..85ad33a 100644 --- a/.ci_support/win_64_python3.13.____cp313.yaml +++ b/.ci_support/win_64_python3.13.____cp313.yaml @@ -1,3 +1,5 @@ +arpack: +- '3.9' c_compiler: - vs2022 c_stdlib: @@ -8,6 +10,20 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +glpk: +- '5.0' +gmp: +- '6' +libblas: +- 3.9.* *netlib +libiconv: +- '1' +liblapack: +- 3.9.* *netlib +liblzma_devel: +- '5' +libxml2_devel: +- '2.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.14.____cp314.yaml b/.ci_support/win_64_python3.14.____cp314.yaml index 220e836..bef6b34 100644 --- a/.ci_support/win_64_python3.14.____cp314.yaml +++ b/.ci_support/win_64_python3.14.____cp314.yaml @@ -1,3 +1,5 @@ +arpack: +- '3.9' c_compiler: - vs2022 c_stdlib: @@ -8,6 +10,20 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +glpk: +- '5.0' +gmp: +- '6' +libblas: +- 3.9.* *netlib +libiconv: +- '1' +liblapack: +- 3.9.* *netlib +liblzma_devel: +- '5' +libxml2_devel: +- '2.14' pin_run_as_build: python: min_pin: x.x From 1bd16f8b880f876ac3469506c7ebb6740c73b95e Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Sat, 27 Sep 2025 17:26:04 +0200 Subject: [PATCH 07/16] Pin a specific compatible `igraph` version Added igraph_version variable to specify igraph version. --- recipe/meta.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d712370..3396cbc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -2,6 +2,7 @@ {% set name = "python-igraph" %} {% set pypiname = "igraph" %} {% set version = "0.11.9" %} +{% set igraph_version = "0.10.16" %} package: name: {{ name|lower }} @@ -14,7 +15,9 @@ source: build: number: 3 - + ignore_run_exports_from: + - igraph + requirements: build: - python # [build_platform != target_platform] @@ -27,7 +30,7 @@ requirements: - python - pip - setuptools >=64,<72.2.0 - - igraph >=0.10,<0.11 + - igraph {{ igraph_version }} # Windows requires additional libs for pkg-config to work because igraph.pc # lists them in Libs - arpack # [win] @@ -40,6 +43,7 @@ requirements: - libxml2-devel # [win] run: - python + - igraph {{ igraph_version }} - texttable >=1.6.2 test: From b04b2e4867e5b0dadb74d30b5a35c94428356024 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Mon, 13 Oct 2025 15:32:01 +0200 Subject: [PATCH 08/16] Add a patch to fix win build without vendoring igraph --- recipe/0001-win-unvendor-igraph.patch | 25 +++++++++++++++++++++++++ recipe/meta.yaml | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 recipe/0001-win-unvendor-igraph.patch diff --git a/recipe/0001-win-unvendor-igraph.patch b/recipe/0001-win-unvendor-igraph.patch new file mode 100644 index 0000000..637db43 --- /dev/null +++ b/recipe/0001-win-unvendor-igraph.patch @@ -0,0 +1,25 @@ +diff -ruN python-igraph-0.11.9/setup.py python-igraph-0.11.9-patch/setup.py +--- python-igraph-0.11.9/setup.py 2025-06-11 02:02:53.000000000 +0200 ++++ python-igraph-0.11.9-patch/setup.py 2025-10-13 15:31:02.911638088 +0200 +@@ -742,6 +742,21 @@ + self.libraries = [opt[2:] for opt in opts if opt.startswith("-l")] + self.library_dirs = [opt[2:] for opt in opts if opt.startswith("-L")] + self.include_dirs = [opt[2:] for opt in opts if opt.startswith("-I")] ++ ++ # On Windows with MSVC, conda-forge import libraries are typically named ++ # with a lib prefix (e.g. libxml2.lib, liblzma.lib, libiconv.lib), while ++ # pkg-config emits xml2, lzma, iconv (and sometimes z for zlib). ++ # Remap these to the expected names and drop unsupported ones. ++ if building_on_windows_msvc(): ++ remap = { ++ "xml2": "libxml2", ++ "lzma": "liblzma", ++ "iconv": "libiconv", ++ "z": "zlib", ++ } ++ self.libraries = [remap.get(lib, lib) for lib in self.libraries] ++ # Remove libraries not meaningful for MSVC builds if present ++ self.libraries = [lib for lib in self.libraries if lib not in ("pthread", "gomp")] + return True + + def print_build_info(self) -> None: diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3396cbc..4762ff6 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,6 +12,8 @@ source: fn: {{ name }}-{{ version }}.tar.gz url: https://pypi.org/packages/source/{{ pypiname[0] }}/{{ pypiname }}/{{ pypiname }}-{{ version }}.tar.gz sha256: c57ce44873abcfcfd1d61d7d261e416d352186958e7b5d299cf244efa6757816 + patches: + - 0001-win-unvendor-igraph.patch # [win] build: number: 3 From 9290ebd0731e91ff2c06464e168c668455f4cc26 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Mon, 13 Oct 2025 15:51:11 +0200 Subject: [PATCH 09/16] Add zlib for win --- recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4762ff6..4e74fdc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,7 +19,7 @@ build: number: 3 ignore_run_exports_from: - igraph - + requirements: build: - python # [build_platform != target_platform] @@ -43,6 +43,7 @@ requirements: - liblapack # [win] - liblzma-devel # [win] - libxml2-devel # [win] + - zlib # [win] run: - python - igraph {{ igraph_version }} From 121a0b8de22c681d551bb7eb1a2ac0082dcc8d2a Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Mon, 13 Oct 2025 16:05:09 +0200 Subject: [PATCH 10/16] Add more ignore_run_exports --- recipe/meta.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4e74fdc..b68b8a9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,6 +19,15 @@ build: number: 3 ignore_run_exports_from: - igraph + - arpack # [win] + - glpk # [win] + - gmp # [win] + - libblas # [win] + - libiconv # [win] + - liblapack # [win] + - liblzma # [win] + - libxml2 # [win] + - zlib # [win] requirements: build: From 2cce5f9f32b4b93a9530c7099d898575d2df3b87 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Mon, 13 Oct 2025 16:28:02 +0200 Subject: [PATCH 11/16] Update patch --- recipe/0001-win-unvendor-igraph.patch | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/recipe/0001-win-unvendor-igraph.patch b/recipe/0001-win-unvendor-igraph.patch index 637db43..363ec4c 100644 --- a/recipe/0001-win-unvendor-igraph.patch +++ b/recipe/0001-win-unvendor-igraph.patch @@ -1,7 +1,7 @@ diff -ruN python-igraph-0.11.9/setup.py python-igraph-0.11.9-patch/setup.py --- python-igraph-0.11.9/setup.py 2025-06-11 02:02:53.000000000 +0200 -+++ python-igraph-0.11.9-patch/setup.py 2025-10-13 15:31:02.911638088 +0200 -@@ -742,6 +742,21 @@ ++++ python-igraph-0.11.9-patch/setup.py 2025-10-13 16:27:29.638189284 +0200 +@@ -742,6 +742,38 @@ self.libraries = [opt[2:] for opt in opts if opt.startswith("-l")] self.library_dirs = [opt[2:] for opt in opts if opt.startswith("-L")] self.include_dirs = [opt[2:] for opt in opts if opt.startswith("-I")] @@ -11,15 +11,32 @@ diff -ruN python-igraph-0.11.9/setup.py python-igraph-0.11.9-patch/setup.py + # pkg-config emits xml2, lzma, iconv (and sometimes z for zlib). + # Remap these to the expected names and drop unsupported ones. + if building_on_windows_msvc(): ++ # Remap common library names; handle lzma specially ++ # based on availability. + remap = { + "xml2": "libxml2", -+ "lzma": "liblzma", + "iconv": "libiconv", + "z": "zlib", + } -+ self.libraries = [remap.get(lib, lib) for lib in self.libraries] ++ libs = [remap.get(lib, lib) for lib in self.libraries] ++ ++ # Prefer liblzma on Windows if the import library exists; ++ # otherwise keep lzma ++ try: ++ use_liblzma = any( ++ os.path.isfile(os.path.join(d, "liblzma.lib")) ++ for d in self.library_dirs ++ ) ++ except Exception: ++ use_liblzma = False ++ ++ if use_liblzma: ++ libs = ["liblzma" if lib == "lzma" else lib for lib in libs] ++ + # Remove libraries not meaningful for MSVC builds if present -+ self.libraries = [lib for lib in self.libraries if lib not in ("pthread", "gomp")] ++ self.libraries = [ ++ lib for lib in libs if lib not in ("pthread", "gomp") ++ ] return True def print_build_info(self) -> None: From 99636fac635b5bf4265eee9b713764d4afd59e47 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Mon, 13 Oct 2025 16:59:40 +0200 Subject: [PATCH 12/16] Update patch again --- recipe/0001-win-unvendor-igraph.patch | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/recipe/0001-win-unvendor-igraph.patch b/recipe/0001-win-unvendor-igraph.patch index 363ec4c..601ddde 100644 --- a/recipe/0001-win-unvendor-igraph.patch +++ b/recipe/0001-win-unvendor-igraph.patch @@ -1,7 +1,7 @@ diff -ruN python-igraph-0.11.9/setup.py python-igraph-0.11.9-patch/setup.py --- python-igraph-0.11.9/setup.py 2025-06-11 02:02:53.000000000 +0200 -+++ python-igraph-0.11.9-patch/setup.py 2025-10-13 16:27:29.638189284 +0200 -@@ -742,6 +742,38 @@ ++++ python-igraph-0.11.9-patch/setup.py 2025-10-13 16:59:24.668313144 +0200 +@@ -742,6 +742,42 @@ self.libraries = [opt[2:] for opt in opts if opt.startswith("-l")] self.library_dirs = [opt[2:] for opt in opts if opt.startswith("-L")] self.include_dirs = [opt[2:] for opt in opts if opt.startswith("-I")] @@ -15,7 +15,6 @@ diff -ruN python-igraph-0.11.9/setup.py python-igraph-0.11.9-patch/setup.py + # based on availability. + remap = { + "xml2": "libxml2", -+ "iconv": "libiconv", + "z": "zlib", + } + libs = [remap.get(lib, lib) for lib in self.libraries] @@ -33,6 +32,11 @@ diff -ruN python-igraph-0.11.9/setup.py python-igraph-0.11.9-patch/setup.py + if use_liblzma: + libs = ["liblzma" if lib == "lzma" else lib for lib in libs] + ++ # Drop iconv on MSVC; libxml2 on Windows typically does not need ++ # explicit linking against iconv, and missing import libs can ++ # break linking. ++ libs = [lib for lib in libs if lib != "iconv"] ++ + # Remove libraries not meaningful for MSVC builds if present + self.libraries = [ + lib for lib in libs if lib not in ("pthread", "gomp") From c89a5ff789a65d2c77e9ffc56dad0a4d8db694b3 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Mon, 13 Oct 2025 17:16:19 +0200 Subject: [PATCH 13/16] Fix ignore run exports --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b68b8a9..03fa2ea 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,8 +25,8 @@ build: - libblas # [win] - libiconv # [win] - liblapack # [win] - - liblzma # [win] - - libxml2 # [win] + - liblzma-devel # [win] + - libxml2-devel # [win] - zlib # [win] requirements: From d7c6a08e5951635f8f5575993e049af4bc743173 Mon Sep 17 00:00:00 2001 From: Vincent Traag Date: Tue, 28 Oct 2025 22:00:08 +0100 Subject: [PATCH 14/16] Use pkgconf instead of pkg-config --- recipe/0001-allow-pkgconf.patch | 42 +++++++++++++++++++++++++++++++++ recipe/meta.yaml | 26 ++------------------ 2 files changed, 44 insertions(+), 24 deletions(-) create mode 100644 recipe/0001-allow-pkgconf.patch diff --git a/recipe/0001-allow-pkgconf.patch b/recipe/0001-allow-pkgconf.patch new file mode 100644 index 0000000..a3eace6 --- /dev/null +++ b/recipe/0001-allow-pkgconf.patch @@ -0,0 +1,42 @@ +diff --git a/setup.py b/setup.py +index a8d1c965a..7032cea16 100644 +--- a/setup.py ++++ b/setup.py +@@ -408,6 +408,7 @@ class BuildConfiguration: + self.extra_objects = [] + self.static_extension = False + self.use_pkgconfig = False ++ self._pkgconfig_bin = None + self.use_sanitizers = False + self.c_core_built = False + self.allow_educated_guess = True +@@ -422,8 +423,18 @@ class BuildConfiguration: + and it knows about igraph or not.""" + if self._has_pkgconfig is None: + if self.use_pkgconfig: +- _, exit_code = get_output_single_line(["pkg-config", "igraph"]) +- self._has_pkgconfig = exit_code == 0 ++ exit_code = None ++ for pkgconfig_bin in ["pkg-config", "pkgconf"]: ++ _, exit_code = get_output_single_line([pkgconfig_bin, "igraph"]) ++ if exit_code == 0: ++ self._pkgconfig_bin = pkgconfig_bin ++ break ++ if exit_code == 0: ++ print(f"Detected {self._pkgconfig_bin} as pkg-config variant.") ++ self._has_pkgconfig = True ++ else: ++ print("Not detected any pkg-config variant.") ++ self._has_pkgconfig = False + else: + self._has_pkgconfig = False + return self._has_pkgconfig +@@ -731,7 +742,7 @@ class BuildConfiguration: + if not buildcfg.has_pkgconfig: + return False + +- cmd = ["pkg-config", "igraph", "--cflags", "--libs"] ++ cmd = [self._pkgconfig_bin, "igraph", "--cflags", "--libs"] + if self.static_extension: + cmd += ["--static"] + line, exit_code = get_output_single_line(cmd) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 03fa2ea..220ddd2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -13,21 +13,10 @@ source: url: https://pypi.org/packages/source/{{ pypiname[0] }}/{{ pypiname }}/{{ pypiname }}-{{ version }}.tar.gz sha256: c57ce44873abcfcfd1d61d7d261e416d352186958e7b5d299cf244efa6757816 patches: - - 0001-win-unvendor-igraph.patch # [win] + - 0001-allow-pkgconf.patch build: number: 3 - ignore_run_exports_from: - - igraph - - arpack # [win] - - glpk # [win] - - gmp # [win] - - libblas # [win] - - libiconv # [win] - - liblapack # [win] - - liblzma-devel # [win] - - libxml2-devel # [win] - - zlib # [win] requirements: build: @@ -36,23 +25,12 @@ requirements: - {{ compiler('c') }} - {{ stdlib("c") }} - {{ compiler('cxx') }} - - pkg-config + - pkgconf host: - python - pip - setuptools >=64,<72.2.0 - igraph {{ igraph_version }} - # Windows requires additional libs for pkg-config to work because igraph.pc - # lists them in Libs - - arpack # [win] - - glpk # [win] - - gmp # [win] - - libblas # [win] - - libiconv # [win] - - liblapack # [win] - - liblzma-devel # [win] - - libxml2-devel # [win] - - zlib # [win] run: - python - igraph {{ igraph_version }} From e077a1c75a8d192d2fc3651a1fad916e757723a8 Mon Sep 17 00:00:00 2001 From: Vincent Traag Date: Tue, 28 Oct 2025 22:34:07 +0100 Subject: [PATCH 15/16] Remove unused patch --- recipe/0001-win-unvendor-igraph.patch | 46 --------------------------- 1 file changed, 46 deletions(-) delete mode 100644 recipe/0001-win-unvendor-igraph.patch diff --git a/recipe/0001-win-unvendor-igraph.patch b/recipe/0001-win-unvendor-igraph.patch deleted file mode 100644 index 601ddde..0000000 --- a/recipe/0001-win-unvendor-igraph.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -ruN python-igraph-0.11.9/setup.py python-igraph-0.11.9-patch/setup.py ---- python-igraph-0.11.9/setup.py 2025-06-11 02:02:53.000000000 +0200 -+++ python-igraph-0.11.9-patch/setup.py 2025-10-13 16:59:24.668313144 +0200 -@@ -742,6 +742,42 @@ - self.libraries = [opt[2:] for opt in opts if opt.startswith("-l")] - self.library_dirs = [opt[2:] for opt in opts if opt.startswith("-L")] - self.include_dirs = [opt[2:] for opt in opts if opt.startswith("-I")] -+ -+ # On Windows with MSVC, conda-forge import libraries are typically named -+ # with a lib prefix (e.g. libxml2.lib, liblzma.lib, libiconv.lib), while -+ # pkg-config emits xml2, lzma, iconv (and sometimes z for zlib). -+ # Remap these to the expected names and drop unsupported ones. -+ if building_on_windows_msvc(): -+ # Remap common library names; handle lzma specially -+ # based on availability. -+ remap = { -+ "xml2": "libxml2", -+ "z": "zlib", -+ } -+ libs = [remap.get(lib, lib) for lib in self.libraries] -+ -+ # Prefer liblzma on Windows if the import library exists; -+ # otherwise keep lzma -+ try: -+ use_liblzma = any( -+ os.path.isfile(os.path.join(d, "liblzma.lib")) -+ for d in self.library_dirs -+ ) -+ except Exception: -+ use_liblzma = False -+ -+ if use_liblzma: -+ libs = ["liblzma" if lib == "lzma" else lib for lib in libs] -+ -+ # Drop iconv on MSVC; libxml2 on Windows typically does not need -+ # explicit linking against iconv, and missing import libs can -+ # break linking. -+ libs = [lib for lib in libs if lib != "iconv"] -+ -+ # Remove libraries not meaningful for MSVC builds if present -+ self.libraries = [ -+ lib for lib in libs if lib not in ("pthread", "gomp") -+ ] - return True - - def print_build_info(self) -> None: From 5279e0857ec40e22b83f2170c2b77a69294f7781 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Wed, 29 Oct 2025 08:23:13 +0000 Subject: [PATCH 16/16] MNT: Re-rendered with conda-smithy 3.52.3 and conda-forge-pinning 2025.10.28.23.48.5 --- .../linux_64_python3.10.____cpython.yaml | 4 ---- .../linux_64_python3.11.____cpython.yaml | 4 ---- .../linux_64_python3.12.____cpython.yaml | 4 ---- .../linux_64_python3.13.____cp313.yaml | 4 ---- .../linux_64_python3.14.____cp314.yaml | 6 +----- .../linux_aarch64_python3.10.____cpython.yaml | 4 ---- .../linux_aarch64_python3.11.____cpython.yaml | 4 ---- .../linux_aarch64_python3.12.____cpython.yaml | 4 ---- .../linux_aarch64_python3.13.____cp313.yaml | 4 ---- .../linux_aarch64_python3.14.____cp314.yaml | 6 +----- .../linux_ppc64le_python3.10.____cpython.yaml | 4 ---- .../linux_ppc64le_python3.11.____cpython.yaml | 4 ---- .../linux_ppc64le_python3.12.____cpython.yaml | 4 ---- .../linux_ppc64le_python3.13.____cp313.yaml | 4 ---- .../linux_ppc64le_python3.14.____cp314.yaml | 6 +----- .../osx_64_python3.10.____cpython.yaml | 2 -- .../osx_64_python3.11.____cpython.yaml | 2 -- .../osx_64_python3.12.____cpython.yaml | 2 -- .ci_support/osx_64_python3.13.____cp313.yaml | 2 -- .ci_support/osx_64_python3.14.____cp314.yaml | 4 +--- .../osx_arm64_python3.10.____cpython.yaml | 2 -- .../osx_arm64_python3.11.____cpython.yaml | 2 -- .../osx_arm64_python3.12.____cpython.yaml | 2 -- .../osx_arm64_python3.13.____cp313.yaml | 2 -- .../osx_arm64_python3.14.____cp314.yaml | 4 +--- .../win_64_python3.10.____cpython.yaml | 19 ----------------- .../win_64_python3.11.____cpython.yaml | 19 ----------------- .../win_64_python3.12.____cpython.yaml | 19 ----------------- .ci_support/win_64_python3.13.____cp313.yaml | 19 ----------------- .ci_support/win_64_python3.14.____cp314.yaml | 21 +------------------ README.md | 6 +++--- 31 files changed, 9 insertions(+), 184 deletions(-) diff --git a/.ci_support/linux_64_python3.10.____cpython.yaml b/.ci_support/linux_64_python3.10.____cpython.yaml index 1f8b875..78b5715 100644 --- a/.ci_support/linux_64_python3.10.____cpython.yaml +++ b/.ci_support/linux_64_python3.10.____cpython.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_64_python3.11.____cpython.yaml b/.ci_support/linux_64_python3.11.____cpython.yaml index 64153a9..4f09778 100644 --- a/.ci_support/linux_64_python3.11.____cpython.yaml +++ b/.ci_support/linux_64_python3.11.____cpython.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_64_python3.12.____cpython.yaml b/.ci_support/linux_64_python3.12.____cpython.yaml index 8454516..78ddb1b 100644 --- a/.ci_support/linux_64_python3.12.____cpython.yaml +++ b/.ci_support/linux_64_python3.12.____cpython.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_64_python3.13.____cp313.yaml b/.ci_support/linux_64_python3.13.____cp313.yaml index 84878ba..eaf5479 100644 --- a/.ci_support/linux_64_python3.13.____cp313.yaml +++ b/.ci_support/linux_64_python3.13.____cp313.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_64_python3.14.____cp314.yaml b/.ci_support/linux_64_python3.14.____cp314.yaml index 0f69ca1..f43f303 100644 --- a/.ci_support/linux_64_python3.14.____cp314.yaml +++ b/.ci_support/linux_64_python3.14.____cp314.yaml @@ -6,10 +6,8 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: -- conda-forge,conda-forge/label/python_rc +- conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_aarch64_python3.10.____cpython.yaml b/.ci_support/linux_aarch64_python3.10.____cpython.yaml index bff6568..d123c5e 100644 --- a/.ci_support/linux_aarch64_python3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.10.____cpython.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_aarch64_python3.11.____cpython.yaml b/.ci_support/linux_aarch64_python3.11.____cpython.yaml index c25d007..c8f56cc 100644 --- a/.ci_support/linux_aarch64_python3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.11.____cpython.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_aarch64_python3.12.____cpython.yaml b/.ci_support/linux_aarch64_python3.12.____cpython.yaml index 4230bf1..648b2df 100644 --- a/.ci_support/linux_aarch64_python3.12.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.12.____cpython.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_aarch64_python3.13.____cp313.yaml b/.ci_support/linux_aarch64_python3.13.____cp313.yaml index ff526dc..041eded 100644 --- a/.ci_support/linux_aarch64_python3.13.____cp313.yaml +++ b/.ci_support/linux_aarch64_python3.13.____cp313.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_aarch64_python3.14.____cp314.yaml b/.ci_support/linux_aarch64_python3.14.____cp314.yaml index 089b10a..4478f7b 100644 --- a/.ci_support/linux_aarch64_python3.14.____cp314.yaml +++ b/.ci_support/linux_aarch64_python3.14.____cp314.yaml @@ -6,10 +6,8 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: -- conda-forge,conda-forge/label/python_rc +- conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_ppc64le_python3.10.____cpython.yaml b/.ci_support/linux_ppc64le_python3.10.____cpython.yaml index 4eda4a2..4c183c0 100644 --- a/.ci_support/linux_ppc64le_python3.10.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.10.____cpython.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_ppc64le_python3.11.____cpython.yaml b/.ci_support/linux_ppc64le_python3.11.____cpython.yaml index 3537ccb..b32adfd 100644 --- a/.ci_support/linux_ppc64le_python3.11.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.11.____cpython.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_ppc64le_python3.12.____cpython.yaml b/.ci_support/linux_ppc64le_python3.12.____cpython.yaml index aec107c..6a4f723 100644 --- a/.ci_support/linux_ppc64le_python3.12.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.12.____cpython.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_ppc64le_python3.13.____cp313.yaml b/.ci_support/linux_ppc64le_python3.13.____cp313.yaml index 0dca366..4b57dc7 100644 --- a/.ci_support/linux_ppc64le_python3.13.____cp313.yaml +++ b/.ci_support/linux_ppc64le_python3.13.____cp313.yaml @@ -6,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/linux_ppc64le_python3.14.____cp314.yaml b/.ci_support/linux_ppc64le_python3.14.____cp314.yaml index 8bd6928..0cd0b96 100644 --- a/.ci_support/linux_ppc64le_python3.14.____cp314.yaml +++ b/.ci_support/linux_ppc64le_python3.14.____cp314.yaml @@ -6,10 +6,8 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: -- conda-forge,conda-forge/label/python_rc +- conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -29,5 +27,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_64_python3.10.____cpython.yaml b/.ci_support/osx_64_python3.10.____cpython.yaml index 88ec63d..fa91ecd 100644 --- a/.ci_support/osx_64_python3.10.____cpython.yaml +++ b/.ci_support/osx_64_python3.10.____cpython.yaml @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_64_python3.11.____cpython.yaml b/.ci_support/osx_64_python3.11.____cpython.yaml index e333337..649b68d 100644 --- a/.ci_support/osx_64_python3.11.____cpython.yaml +++ b/.ci_support/osx_64_python3.11.____cpython.yaml @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_64_python3.12.____cpython.yaml b/.ci_support/osx_64_python3.12.____cpython.yaml index 1cce297..0ca28df 100644 --- a/.ci_support/osx_64_python3.12.____cpython.yaml +++ b/.ci_support/osx_64_python3.12.____cpython.yaml @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_64_python3.13.____cp313.yaml b/.ci_support/osx_64_python3.13.____cp313.yaml index 48653f5..9f9ee5a 100644 --- a/.ci_support/osx_64_python3.13.____cp313.yaml +++ b/.ci_support/osx_64_python3.13.____cp313.yaml @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_64_python3.14.____cp314.yaml b/.ci_support/osx_64_python3.14.____cp314.yaml index cc2ad52..683f9e1 100644 --- a/.ci_support/osx_64_python3.14.____cp314.yaml +++ b/.ci_support/osx_64_python3.14.____cp314.yaml @@ -11,7 +11,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge,conda-forge/label/python_rc +- conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_arm64_python3.10.____cpython.yaml b/.ci_support/osx_arm64_python3.10.____cpython.yaml index d47752e..75554ff 100644 --- a/.ci_support/osx_arm64_python3.10.____cpython.yaml +++ b/.ci_support/osx_arm64_python3.10.____cpython.yaml @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_arm64_python3.11.____cpython.yaml b/.ci_support/osx_arm64_python3.11.____cpython.yaml index bcc41a4..2106e22 100644 --- a/.ci_support/osx_arm64_python3.11.____cpython.yaml +++ b/.ci_support/osx_arm64_python3.11.____cpython.yaml @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_arm64_python3.12.____cpython.yaml b/.ci_support/osx_arm64_python3.12.____cpython.yaml index d169aa7..a1cfbbb 100644 --- a/.ci_support/osx_arm64_python3.12.____cpython.yaml +++ b/.ci_support/osx_arm64_python3.12.____cpython.yaml @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_arm64_python3.13.____cp313.yaml b/.ci_support/osx_arm64_python3.13.____cp313.yaml index 6995af9..125ea02 100644 --- a/.ci_support/osx_arm64_python3.13.____cp313.yaml +++ b/.ci_support/osx_arm64_python3.13.____cp313.yaml @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/osx_arm64_python3.14.____cp314.yaml b/.ci_support/osx_arm64_python3.14.____cp314.yaml index f582485..716d4c5 100644 --- a/.ci_support/osx_arm64_python3.14.____cp314.yaml +++ b/.ci_support/osx_arm64_python3.14.____cp314.yaml @@ -11,7 +11,7 @@ c_stdlib: c_stdlib_version: - '11.0' channel_sources: -- conda-forge,conda-forge/label/python_rc +- conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -31,5 +31,3 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_python3.10.____cpython.yaml index 0e29e9d..687a99d 100644 --- a/.ci_support/win_64_python3.10.____cpython.yaml +++ b/.ci_support/win_64_python3.10.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - vs2022 c_stdlib: @@ -10,20 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -libiconv: -- '1' -liblapack: -- 3.9.* *netlib -liblzma_devel: -- '5' -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -32,6 +16,3 @@ python: - 3.10.* *_cpython target_platform: - win-64 -zip_keys: -- - python - - channel_sources diff --git a/.ci_support/win_64_python3.11.____cpython.yaml b/.ci_support/win_64_python3.11.____cpython.yaml index ca08c9c..a0fdba1 100644 --- a/.ci_support/win_64_python3.11.____cpython.yaml +++ b/.ci_support/win_64_python3.11.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - vs2022 c_stdlib: @@ -10,20 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -libiconv: -- '1' -liblapack: -- 3.9.* *netlib -liblzma_devel: -- '5' -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -32,6 +16,3 @@ python: - 3.11.* *_cpython target_platform: - win-64 -zip_keys: -- - python - - channel_sources diff --git a/.ci_support/win_64_python3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml index 935598b..3b8ddbf 100644 --- a/.ci_support/win_64_python3.12.____cpython.yaml +++ b/.ci_support/win_64_python3.12.____cpython.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - vs2022 c_stdlib: @@ -10,20 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -libiconv: -- '1' -liblapack: -- 3.9.* *netlib -liblzma_devel: -- '5' -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -32,6 +16,3 @@ python: - 3.12.* *_cpython target_platform: - win-64 -zip_keys: -- - python - - channel_sources diff --git a/.ci_support/win_64_python3.13.____cp313.yaml b/.ci_support/win_64_python3.13.____cp313.yaml index 85ad33a..9b6a35c 100644 --- a/.ci_support/win_64_python3.13.____cp313.yaml +++ b/.ci_support/win_64_python3.13.____cp313.yaml @@ -1,5 +1,3 @@ -arpack: -- '3.9' c_compiler: - vs2022 c_stdlib: @@ -10,20 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -libiconv: -- '1' -liblapack: -- 3.9.* *netlib -liblzma_devel: -- '5' -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -32,6 +16,3 @@ python: - 3.13.* *_cp313 target_platform: - win-64 -zip_keys: -- - python - - channel_sources diff --git a/.ci_support/win_64_python3.14.____cp314.yaml b/.ci_support/win_64_python3.14.____cp314.yaml index bef6b34..05cc1c6 100644 --- a/.ci_support/win_64_python3.14.____cp314.yaml +++ b/.ci_support/win_64_python3.14.____cp314.yaml @@ -1,29 +1,13 @@ -arpack: -- '3.9' c_compiler: - vs2022 c_stdlib: - vs channel_sources: -- conda-forge,conda-forge/label/python_rc +- conda-forge channel_targets: - conda-forge main cxx_compiler: - vs2022 -glpk: -- '5.0' -gmp: -- '6' -libblas: -- 3.9.* *netlib -libiconv: -- '1' -liblapack: -- 3.9.* *netlib -liblzma_devel: -- '5' -libxml2_devel: -- '2.14' pin_run_as_build: python: min_pin: x.x @@ -32,6 +16,3 @@ python: - 3.14.* *_cp314 target_platform: - win-64 -zip_keys: -- - python - - channel_sources diff --git a/README.md b/README.md index b17cd82..411e805 100644 --- a/README.md +++ b/README.md @@ -324,12 +324,12 @@ it is possible to build and upload installable packages to the [conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) channel for Linux, Windows and OSX respectively. -To manage the continuous integration and simplify feedstock maintenance +To manage the continuous integration and simplify feedstock maintenance, [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``. -For more information please check the [conda-forge documentation](https://conda-forge.org/docs/). +For more information, please check the [conda-forge documentation](https://conda-forge.org/docs/). Terminology =========== @@ -356,7 +356,7 @@ merged, the recipe will be re-built and uploaded automatically to the everybody to install and use from the `conda-forge` channel. Note that all branches in the conda-forge/python-igraph-feedstock are immediately built and any created packages are uploaded, so PRs should be based -on branches in forks and branches in the main repository should only be used to +on branches in forks, and branches in the main repository should only be used to build distinct package versions. In order to produce a uniquely identifiable distribution: