diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 9d673b9..4e56d6d 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -20,6 +20,16 @@ libpng: - '1.6' libxml2: - '2' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.8.* *_cpython +- 3.9.* *_cpython target_platform: - linux-64 zip_keys: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 14575c4..3616d8f 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -22,6 +22,16 @@ libxml2: - '2' macos_machine: - x86_64-apple-darwin13.4.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.8.* *_cpython +- 3.9.* *_cpython target_platform: - osx-64 zlib: diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0a6734c..36173ba 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @isuruf @jrk @minrk @steven-johnson \ No newline at end of file +* @alexreinking @isuruf @jrk @minrk @steven-johnson \ No newline at end of file diff --git a/README.md b/README.md index ff8aeb6..e980192 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,10 @@ About halide-feedstock Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/halide-feedstock/blob/main/LICENSE.txt) + +About halide +------------ + Home: http://halide-lang.org Package license: MIT @@ -14,9 +18,19 @@ Development: https://github.com/halide/Halide Documentation: http://halide-lang.org/docs/ Halide is a programming language designed to make it easier to write -high-performance data parallel processing code on modern machines. Its current front end is embedded in -C++. Compiler targets include x86/SSE, ARM v7/NEON, CUDA, Hexagon DSP, and OpenCL. +high-performance data parallel processing code on modern machines. +Its current front end is embedded in C++. Compiler targets include +x86/SSE, ARM v7/NEON, CUDA, Hexagon DSP, and OpenCL. + + +About halide-python +------------------- + + + +Package license: +Summary: python bindings for halide programming language Current build status ==================== @@ -63,6 +77,7 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-halide-green.svg)](https://anaconda.org/conda-forge/halide) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/halide.svg)](https://anaconda.org/conda-forge/halide) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/halide.svg)](https://anaconda.org/conda-forge/halide) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/halide.svg)](https://anaconda.org/conda-forge/halide) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-halide--python-green.svg)](https://anaconda.org/conda-forge/halide-python) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/halide-python.svg)](https://anaconda.org/conda-forge/halide-python) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/halide-python.svg)](https://anaconda.org/conda-forge/halide-python) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/halide-python.svg)](https://anaconda.org/conda-forge/halide-python) | Installing halide ================= @@ -74,16 +89,16 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `halide` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `halide, halide-python` can be installed with `conda`: ``` -conda install halide +conda install halide halide-python ``` or with `mamba`: ``` -mamba install halide +mamba install halide halide-python ``` It is possible to list all of the versions of `halide` available on your platform with `conda`: @@ -178,6 +193,7 @@ In order to produce a uniquely identifiable distribution: Feedstock Maintainers ===================== +* [@alexreinking](https://github.com/alexreinking/) * [@isuruf](https://github.com/isuruf/) * [@jrk](https://github.com/jrk/) * [@minrk](https://github.com/minrk/) diff --git a/recipe/install-python.sh b/recipe/install-python.sh new file mode 100644 index 0000000..bc44469 --- /dev/null +++ b/recipe/install-python.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -xeuo pipefail + +export CMAKE_PREFIX_PATH=$PREFIX + +$PYTHON -m pip install . -vv --no-deps + +rm -rf $SP_DIR/halide/libHalide.so.* diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 21cc1df..3eb68a9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,7 +1,8 @@ {% set name = "halide" %} {% set version = "18.0.0" %} {% set sha256 = "1176b42a3e2374ab38555d9316c78e39b157044b5a8e765c748bf3afd2edb351" %} -{% set build = 0 %} +{% set build = 1 %} +{% set llvm_version = 18 %} package: name: {{ name }} @@ -24,10 +25,10 @@ requirements: - cmake - make host: - - clangdev 18.* - - llvmdev 18.* - - llvm 18.* - - lld + - clangdev {{ llvm_version }}.* + - llvmdev {{ llvm_version }}.* + - llvm {{ llvm_version }}.* + - lld {{ llvm_version }}.* - libxml2 - zlib - libpng @@ -40,17 +41,49 @@ test: files: - test.cpp +outputs: + - name: halide + + - name: halide-python + script: install-python.sh + requirements: + build: + - {{ compiler('cxx') }} + - {{ stdlib('c') }} + - cmake + - make + host: + - python + - pybind11 + - scikit-build + - pip + - {{ pin_subpackage("halide", exact=True) }} + - clangdev {{ llvm_version }}.* + - llvmdev {{ llvm_version }}.* + - llvm {{ llvm_version }}.* + - lld {{ llvm_version }}.* + - zlib + run: + - {{ pin_subpackage("halide", exact=True) }} + - python + - numpy + test: + imports: + - halide + about: + summary: 'python bindings for halide programming language' + about: home: http://halide-lang.org license: MIT license_family: MIT license_file: LICENSE.txt summary: 'a language for image processing and computational photography' - description: | Halide is a programming language designed to make it easier to write - high-performance data parallel processing code on modern machines. Its current front end is embedded in - C++. Compiler targets include x86/SSE, ARM v7/NEON, CUDA, Hexagon DSP, and OpenCL. + high-performance data parallel processing code on modern machines. + Its current front end is embedded in C++. Compiler targets include + x86/SSE, ARM v7/NEON, CUDA, Hexagon DSP, and OpenCL. doc_url: http://halide-lang.org/docs/ dev_url: https://github.com/halide/Halide @@ -60,3 +93,4 @@ extra: - minrk - steven-johnson - isuruf + - alexreinking