beeware / mobile-forge

A tool to manage building cross-platform binary wheels for mobile devices
BSD 3-Clause "New" or "Revised" License
14 stars 9 forks source link

Added recipe for librosa 0.10.1 #41

Closed noelmullankuzhy closed 3 months ago

noelmullankuzhy commented 3 months ago

Added recipe for librosa 0.10.1

librosa was not part of the supported recipes

Terminal Output Librosa Build Success.txt

PR Checklist:

noelmullankuzhy commented 3 months ago

I am not sure whether this can be considered as build success unless all the dependencies of this library are built successfully too. Please advice.

mhsmith commented 3 months ago

As I said in #37, librosa is a pure-Python package, so it doesn't need a recipe. Once all of its native dependencies have been built (most notably Numba), the existing wheel on PyPI can be used directly.

noelmullankuzhy commented 3 months ago

Please help me out here. I am trying to understand how to add requirements the meta.yaml. This is what I understand so far.

The following is pulled from setup.cgf of librosa.

install_requires =
    audioread >= 2.1.9
    numpy >= 1.20.3, != 1.22.0, != 1.22.1, != 1.22.2
    scipy >= 1.2.0
    scikit-learn >= 0.20.0
    joblib >= 0.14
    decorator >= 4.3.0
    numba >= 0.51.0
    soundfile >= 0.12.1
    pooch >= 1.0
    soxr >= 0.3.2
    typing_extensions >= 4.1.1
    lazy_loader >= 0.1
    msgpack >= 1.0

These should be added to the host subsection of the requirements section in meta.yaml

And the following is pulled from pyproject.toml of librosa.

requires = [
    "setuptools >= 48",
    "wheel >= 0.29.0",
]

These should be added to the build subsection of the requirements section in meta.yaml

mhsmith commented 3 months ago

No, you don't need to build librosa at all, because it has a none-any wheel on its PyPI page, meaning it's compatible with any platform. But to use librosa you will need iOS wheels for all of the packages in the install_requires list which don't have none-any wheels on PyPI, and possibly some indirect requirements as well.

Some of these requirements are already in the BeeWare repository, such as NumPy; others already have issues on this tracker, such as SciPy (#10).

noelmullankuzhy commented 3 months ago

That you for the detailed explanation. My understanding about this was wrong since I am new to this project.