master
/ miniconda3 / pkgs / pybind11-abi-4-hd3eb1b0_1 / info / recipe / parent / meta.yaml

meta.yaml @a663dc1 raw · history · blame

{% set version = "2.10.4" %}
{% set sha256 = "832e2f309c57da9c1e6d4542dedd34b24e4192ecb4d62f6f4866a737454c9970" %}

# this is set to PYBIND11_INTERNALS_VERSION
{% set abi_version = "4" %}
{% set abi_buildnumber = "1" %}

package:
  name: pybind11-split
  version: {{ version }}

source:
  fn: pybind11-{{ version }}.tar.gz
  url: https://github.com/pybind/pybind11/archive/v{{ version }}.tar.gz
  sha256: {{ sha256 }}

build:
  number: 0

outputs:
  - name: pybind11-abi
    version: {{ abi_version }}
    build:
      number: {{ abi_buildnumber }}
      noarch: generic
      skip: true  # [not linux and x86_64]
      run_exports:
        - pybind11-abi =={{ abi_version }}
    test:
      source_files:
        - include/pybind11/detail/internals.h
      commands:
        # make sure the internals version matches the package version
        - if [[ $(grep "#[[:blank:]]*define PYBIND11_INTERNALS_VERSION" include/pybind11/detail/internals.h | rev | cut -d' ' -f1) != "{{ abi_version }}" ]]; then exit 1; fi

  - name: pybind11-global
    script: build-pybind11-global.sh  # [unix]
    script: build-pybind11-global.bat  # [win]
    requirements:
      build:
        - cmake
        - make  # [unix]
        - {{ compiler('cxx') }}
      host:
        - python
        - pip
        - setuptools
        - wheel
      run:
        - python
      run_constrained:
        - pybind11-abi =={{ abi_version }}
    test:
      requires:
        - pip
      commands:
        - pip check
        - echo "works!"

  - name: pybind11
    script: build-pybind11.sh  # [unix]
    script: build-pybind11.bat  # [win]
    requirements:
      build:
        - cmake
        - make  # [unix]
        - {{ compiler('cxx') }}
      host:
        - python
        - pip
        - setuptools
        - wheel
      run:
        - python
        - {{ pin_subpackage("pybind11-global", exact=True) }}
      run_constrained:
        - pybind11-abi =={{ abi_version }}
    test:
      requires:
        - pip
      imports:
        - pybind11
      commands:
        - pip check
        - test -f ${PREFIX}/share/cmake/pybind11/pybind11Config.cmake                                     # [unix]
        - if exist %LIBRARY_PREFIX%\share\cmake\pybind11\pybind11Config.cmake (exit 0) else (exit 1)      # [win]
        - test -f ${PREFIX}/include/pybind11/pybind11.h      # [unix]
        - if exist %LIBRARY_INC%\pybind11\pybind11.h (exit 0) else (exit 1)      # [win]
        - test -f $(python -c "import pybind11 as py; print(py.get_include())")/pybind11/pybind11.h      # [unix]
        - if exist $(python -c "import pybind11 as py; print(py.get_include())")\pybind11\pybind11.h (exit 0) else (exit 1)      # [win]

about:
  home: https://github.com/pybind/pybind11/
  license: BSD-3-Clause
  license_family: BSD
  license_file: LICENSE
  summary: Seamless operability between C++11 and Python
  description: |
    pybind11 is a lightweight header-only library that exposes C++ types
    in Python and vice versa, mainly to create Python bindings of existing
    C++ code. Its goals and syntax are similar to the excellent Boost.Python
    library by David Abrahams: to minimize boilerplate code in traditional
    extension modules by inferring type information using compile-time
    introspection.
  doc_url: https://pybind11.readthedocs.io/
  dev_url: https://github.com/pybind/pybind11/

extra:
  recipe-maintainers:
    - ax3l
    - SylvainCorlay
    - wjakob
    - henryiii