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

Add M1 builds for PopPUNK #50011

Merged
merged 14 commits into from
Nov 7, 2024
33 changes: 16 additions & 17 deletions recipes/poppunk/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{% set version = "2.7.0" %}
{% set version = "2.7.1" %}
{% set name = "PopPUNK" %}

package:
Expand All @@ -7,12 +7,12 @@ package:

source:
url: https://github.com/bacpop/{{ name|lower }}/archive/v{{ version }}.tar.gz
sha256: bba7cb9fad5027abc78fd6761755169ae999d3d86a96bdfbfe577a360f907067
sha256: 7e6f7242b8c2150c7963fc5f4a95cfd7f2656b8a80317ff87bf97dc75f753788

build:
number: 0
skip: true # [py < 38]
script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"
skip: True # [py < 38]
script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv"
entry_points:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

🛠️ Refactor suggestion

Based on the search results, I can see that --no-build-isolation is widely used across numerous bioconda recipes (200+ packages). This is a strong indication that it's a standard practice in the bioconda ecosystem to ensure reproducible builds by preventing pip from downloading or building dependencies during installation.

Keep the --no-build-isolation flag to maintain build reproducibility

The --no-build-isolation flag is a crucial part of conda's build process, preventing pip from downloading or building dependencies during installation. Removing it could lead to inconsistent builds.

🔗 Analysis chain

Consider keeping the build isolation flag.

The removal of --no-build-isolation might affect build reproducibility. This flag prevents pip from downloading or building dependencies during installation, ensuring consistent builds.

Consider restoring the flag:

-  script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv"
+  script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation --no-cache-dir -vvv"
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if other bioconda recipes use build isolation
rg --type yaml "no-build-isolation" -A 2 -B 2

Length of output: 415


Script:

#!/bin/bash
# Let's check for build isolation patterns in conda-forge and bioconda recipes
fd -e yaml -e yml meta.yaml$ | xargs rg "pip install.*--no-build-isolation" -l

Length of output: 16423


Script:

#!/bin/bash
# Let's also check for any pip install commands in meta.yaml files to understand the common patterns
fd -e yaml -e yml meta.yaml$ | xargs rg "pip install\." -A 1 -B 1

Length of output: 69

- poppunk = PopPUNK.__main__:main
- poppunk_assign = PopPUNK.assign:main
Expand All @@ -27,13 +27,11 @@ build:

requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ compiler('fortran') }}
- llvm-openmp # [osx]
- libgomp # [linux64]
- cmake >=3.18
- make
- llvm-openmp # [osx]
- libgomp # [linux]
host:
# python
- python
Expand Down Expand Up @@ -64,8 +62,9 @@ requirements:
- treeswift
- requests
# C++ extension
- zlib
# The xorg-* requirements are only used for gtk3 which is pulled in via graph-tool.
- libgfortran # [linux64]
- gfortran_impl_osx-64 # [osx]
- xorg-libxi
- xorg-libxcursor
- xorg-libxdamage
Expand All @@ -80,7 +79,6 @@ test:
imports:
- PopPUNK
- poppunk_refine

commands:
- poppunk --help
- poppunk_assign --help
Expand All @@ -92,16 +90,17 @@ test:
- poppunk_lineages_from_strains --help

about:
home: https://poppunk.bacpop.org/
license: Apache-2.0
home: "https://poppunk.bacpop.org"
license: "Apache-2.0"
license_family: APACHE
license_file: LICENSE
summary: 'PopPUNK (POPulation Partitioning Using Nucleotide Kmers)'
dev_url: "https://github.com/bacpop/PopPUNK"
doc_url: "https://poppunk.bacpop.org/index.html"

extra:
identifiers:
- doi:10.1101/gr.241455.118
# enabling this would require arm64 packages for: mandrake, pp-sketchlib,
# rapidnj
# additional-platforms:
# - linux-aarch64
# - osx-arm64
- biotools:poppunk
additional-platforms:
- osx-arm64
Loading