TileDB-Inc / tiledbsoma-feedstock

A conda-smithy repository for tiledbsoma.
BSD 3-Clause "New" or "Revised" License
3 stars 3 forks source link

Adjust Conda Feedstock and Enable macos arm64 builds #9

Closed Shelnutt2 closed 1 year ago

Shelnutt2 commented 1 year ago

This PR changes a large amount with how the conda feedstock is being built. It switches python to use setup.py so it can find the libtiledbsoma as build from the multi-package build. It also adjusts to have build numbers and lastly enable MacOS arm64 builds. Python 3.7 was also disabled for MacOS due to issues at runtime with installing the dependency. Downstream users for python 3.7 are currently limited to linux, so this is an acceptable mitigation.

nguyenv commented 1 year ago

https://github.com/TileDB-Inc/tiledbsoma-feedstock/pull/10/files#diff-aa1e63e8e7bf3af1f0afc36798db98739fc1b60269e08c728dbef45cd921dc43R7

I will close my PR as you already incorporated the changes in this PR. I did not notice until just now.

To solve the versioning issue you're seeing in this PR, add that line. The ad-hoc version.py script typically uses git tags to figure out the version number and fallsback to looking for a RELEASE-VERSION file containing the version number if it is not a git repo. This RELEASE-VERSION file is not checked into the git repo. It is supposed to be included in the source tarball but is missing... so my workaround is to add it manually in the build-tiledbsoma-py script.

jdblischak commented 1 year ago
  "tiledbsoma-py-1.1.2-py310h40e830b": {
    "recipe": {
      "channel_targets": "tiledb main",
      "cxx_compiler": "gxx",
      "cxx_compiler_version": "11",
      "numpy": "1.21",
      "python": "3.10.* *_cpython",
      "target_platform": "linux-64"
    }
  },
jdblischak commented 1 year ago

@Shelnutt2 Looks like there is a new dependency:

+ python -c 'import tiledbsoma; print(tiledbsoma.pytiledbsoma.version())'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/runner/miniforge3/conda-bld/tiledbsoma_1680000571072/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.8/site-packages/tiledbsoma/__init__.py", line 109, in <module>
    from ._general_utilities import (
  File "/Users/runner/miniforge3/conda-bld/tiledbsoma_1680000571072/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/python3.8/site-packages/tiledbsoma/_general_utilities.py", line 11, in <module>
    import distro
ModuleNotFoundError: No module named 'distro'

The only reason the osx-arm64 build passed was because it skips the tests

Turns out distro was added yesterday: https://github.com/single-cell-data/TileDB-SOMA/commit/5eaa7e39d0ec116b6058ecc8bfecd207644d7b98

johnkerl commented 1 year ago

Turns out distro was added yesterday: https://github.com/single-cell-data/TileDB-SOMA/commit/5eaa7e39d0ec116b6058ecc8bfecd207644d7b98

@jdblischak my apologies -- my (seemingly innocent) work broke @Shelnutt2 's here in ways I did not foresee or intend.

I'll undo this commit and make a tiledbsoma 1.2.1:

https://github.com/single-cell-data/TileDB-SOMA/pull/1177/commits/70cce388ae5dd81d5d371b265e5c5f4573569c45