althonos / pyrodigal

Cython bindings and Python interface to Prodigal, an ORF finder for genomes and metagenomes. Now with SIMD!
https://pyrodigal.readthedocs.org
GNU General Public License v3.0
132 stars 5 forks source link

Bioconda OSX builds #23

Closed oschwengers closed 1 year ago

oschwengers commented 1 year ago

Hi Martin, thanks a lot for pyrodigal! We're currently working on a Pyrodigal replacement for Prodigal within Bakta https://github.com/oschwengers/bakta/issues/149. Unfortunately, in this new branch https://github.com/oschwengers/bakta/actions/runs/3381099964/jobs/5614625304, Conda is not able to build any packages on OSX because currently, there is no Pyrodigal package for OSX. I talked to @dpryan79 who added a skip. True [py2k or osx] entry to the Pyrodigal meta.yaml because there were some build issues. If we get a decent build, we could remove the skip lable.

Unfortunately, I neither have an OSX system nor sufficient experience also on Python/C hybrids to help out. Would you be willing to jump in an help to get proper Conda OSX builds running for Pyrodigal?

I'm asking because otherwise all users of OSX / x86_64 systems would not be able to install Bakta and other tools via Conda. I'm explicitly not addressing OSX / arm64 builds which still seem to be a general challenge.

althonos commented 1 year ago

I'll have a look. I'm also using Linux so MacOS is hard to test, but since Pyrodigal compiles succesfully in the Actions runners with MacOS I don't see any reason why it wouldn't work in the conda build. I'm experimenting in a PR at the moment: https://github.com/bioconda/bioconda-recipes/pull/37792, although it'll take time if i need to debug this way.

althonos commented 1 year ago

I'm asking because otherwise all users of OSX / x86_64 systems would not be able to install Bakta and other tools via Conda. I'm explicitly not addressing OSX / arm64 builds which still seem to be a general challenge.

The challenge here is that arm64 builds typically try to use universal wheels, which cannot be done in Pyrodigal because it contains some Arm and x86 specific code, so I need to force it to compile twice, and it's not super straightforward. But it compiles on Linux arm64 (e.g. Raspberry Pi 4) so it's also just a problem of getting the platform specificity and the build process right.

althonos commented 1 year ago

Not sure why OSX was disabled as it seems to build just fine! There are now MacOS packages for pyrodigal as well :+1:

oschwengers commented 1 year ago

I'll have a look at it as soon as the updated package is available on the Bioconda channel. Thanks a lot for the super quick response!