Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove temporary code to migrate tiledb-py-feedstock to scikit-build-core #123

Merged
merged 1 commit into from
Aug 7, 2024

Conversation

jdblischak
Copy link
Collaborator

@jdblischak jdblischak commented Aug 7, 2024

Closes #116
Closes #119

This PR fixes the nightly-build by removing the script field in meta.yaml since this repo adds custom build scripts.

This mostly undoes the temporary patches for scikit-build-core (#114, #115, #116) now that the upstream feedstock has been migrated (conda-forge/tiledb-py-feedstock#232).

However, I had to keep the code that creates custom build scripts for two reasons:

  1. The duplicate script fields for not win and win don't survive the round-trip import and export of the YAML recipe
  2. An additional build flag was recently added in Enable deprecations by setting TILEDB_REMOVE_DEPRECATIONS flag #122

This is fine for now. Longer-term I would like to address these by:

  1. In tiledb-py-feedstock, revert to use build.sh and bld.bat. Using script directly in meta.yaml is a convenience, but I don't believe it outweighs the burden on the nightly build setup scripts. It will be too easy for the feedstock and nightly builds to diverge without us realizing
  2. Either incorporate -Cskbuild.cmake.define.TILEDB_REMOVE_DEPRECATIONS into the upstream feedstock or ultimately remove it once TileDB deprecations occur less often

I tested this branch in a manual run. Below is the recipe diff. The important part is that both script fields are now deleted so that they don't interfere with the custom build.sh and bld.bat

diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index e95c873..05afaee [10](https://github.com/TileDB-Inc/conda-forge-nightly-controller/actions/runs/10287558209/job/28470867925#step:12:11)0644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -1,22 +1,15 @@
-{% set name = "tiledb" %}
-{% set version = "0.31.1" %}
-{% set sha256 = "7b9ddd32c4c7437[11](https://github.com/TileDB-Inc/conda-forge-nightly-controller/actions/runs/10287558209/job/28470867925#step:12:12)1764645d8a042d603102a813c8b89addaf9a15bd40dd939" %}
-
+# nightly build
 package:
   name: tiledb-py
-  version: {{ version }}
+  version: 0.31.0.2024_08_07
 
 source:
-  fn: {{ name }}-{{ version }}.tar.gz
-  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
-  sha256: {{ sha256 }}
-
+  git_url: https://github.com/TileDB-Inc/TileDB-Py.git
+  git_rev: cc89e87292eb8a34[16](https://github.com/TileDB-Inc/conda-forge-nightly-controller/actions/runs/10287558209/job/28470867925#step:12:17)294745cf233ab39ebdd6ca
+  git_depth: -1
 build:
-  script: TILEDB_PATH=${PREFIX} {{ PYTHON }} -m pip install --no-build-isolation --no-deps --ignore-installed -v .  # [not win]
-  script: set "TILEDB_PATH=%LIBRARY_PREFIX%" && {{ PYTHON }} -m pip install --no-build-isolation --no-deps --ignore-installed -v .  # [win]
   number: 0
   skip: true  # [win32]
-  skip: true  # [win and py2k]
 requirements:
   build:
     - {{ compiler('cxx') }}
@@ -38,7 +31,7 @@ requirements:
     - cython >=3.0
     - numpy
     - pybind11
-    - tiledb >=2.25.0,<2.26
+    - tiledb *.[20](https://github.com/TileDB-Inc/conda-forge-nightly-controller/actions/runs/10287558209/job/28470867925#step:12:21)24_08_07
   run:
     - python
     - {{ pin_compatible('numpy') }}
@@ -67,7 +60,8 @@ about:
   license: MIT
   license_family: MIT
   license_file: LICENSE
-  summary: Python interface to the TileDB sparse and dense multi-dimensional array storage manager
+  summary: Python interface to the TileDB sparse and dense multi-dimensional array
+    storage manager
   description: |
     TileDB-Py is the python interface to the TileDB array storage manager.
     TileDB  is an efficient multi-dimensional array management system which introduces

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Nightly feedstock build failed Remove temporary code to migrate tiledb-py-feedstock to scikit-build-core
1 participant