meta.yaml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. {% set version = "2.10.4" %}
  2. {% set sha256 = "832e2f309c57da9c1e6d4542dedd34b24e4192ecb4d62f6f4866a737454c9970" %}
  3. # this is set to PYBIND11_INTERNALS_VERSION
  4. {% set abi_version = "4" %}
  5. {% set abi_buildnumber = "1" %}
  6. package:
  7. name: pybind11-split
  8. version: {{ version }}
  9. source:
  10. fn: pybind11-{{ version }}.tar.gz
  11. url: https://github.com/pybind/pybind11/archive/v{{ version }}.tar.gz
  12. sha256: {{ sha256 }}
  13. build:
  14. number: 0
  15. outputs:
  16. - name: pybind11-abi
  17. version: {{ abi_version }}
  18. build:
  19. number: {{ abi_buildnumber }}
  20. noarch: generic
  21. skip: true # [not linux and x86_64]
  22. run_exports:
  23. - pybind11-abi =={{ abi_version }}
  24. test:
  25. source_files:
  26. - include/pybind11/detail/internals.h
  27. commands:
  28. # make sure the internals version matches the package version
  29. - if [[ $(grep "#[[:blank:]]*define PYBIND11_INTERNALS_VERSION" include/pybind11/detail/internals.h | rev | cut -d' ' -f1) != "{{ abi_version }}" ]]; then exit 1; fi
  30. - name: pybind11-global
  31. script: build-pybind11-global.sh # [unix]
  32. script: build-pybind11-global.bat # [win]
  33. requirements:
  34. build:
  35. - cmake
  36. - make # [unix]
  37. - {{ compiler('cxx') }}
  38. host:
  39. - python
  40. - pip
  41. - setuptools
  42. - wheel
  43. run:
  44. - python
  45. run_constrained:
  46. - pybind11-abi =={{ abi_version }}
  47. test:
  48. requires:
  49. - pip
  50. commands:
  51. - pip check
  52. - echo "works!"
  53. - name: pybind11
  54. script: build-pybind11.sh # [unix]
  55. script: build-pybind11.bat # [win]
  56. requirements:
  57. build:
  58. - cmake
  59. - make # [unix]
  60. - {{ compiler('cxx') }}
  61. host:
  62. - python
  63. - pip
  64. - setuptools
  65. - wheel
  66. run:
  67. - python
  68. - {{ pin_subpackage("pybind11-global", exact=True) }}
  69. run_constrained:
  70. - pybind11-abi =={{ abi_version }}
  71. test:
  72. requires:
  73. - pip
  74. imports:
  75. - pybind11
  76. commands:
  77. - pip check
  78. - test -f ${PREFIX}/share/cmake/pybind11/pybind11Config.cmake # [unix]
  79. - if exist %LIBRARY_PREFIX%\share\cmake\pybind11\pybind11Config.cmake (exit 0) else (exit 1) # [win]
  80. - test -f ${PREFIX}/include/pybind11/pybind11.h # [unix]
  81. - if exist %LIBRARY_INC%\pybind11\pybind11.h (exit 0) else (exit 1) # [win]
  82. - test -f $(python -c "import pybind11 as py; print(py.get_include())")/pybind11/pybind11.h # [unix]
  83. - if exist $(python -c "import pybind11 as py; print(py.get_include())")\pybind11\pybind11.h (exit 0) else (exit 1) # [win]
  84. about:
  85. home: https://github.com/pybind/pybind11/
  86. license: BSD-3-Clause
  87. license_family: BSD
  88. license_file: LICENSE
  89. summary: Seamless operability between C++11 and Python
  90. description: |
  91. pybind11 is a lightweight header-only library that exposes C++ types
  92. in Python and vice versa, mainly to create Python bindings of existing
  93. C++ code. Its goals and syntax are similar to the excellent Boost.Python
  94. library by David Abrahams: to minimize boilerplate code in traditional
  95. extension modules by inferring type information using compile-time
  96. introspection.
  97. doc_url: https://pybind11.readthedocs.io/
  98. dev_url: https://github.com/pybind/pybind11/
  99. extra:
  100. recipe-maintainers:
  101. - ax3l
  102. - SylvainCorlay
  103. - wjakob
  104. - henryiii