pantry/projects/conda.org/package.yml

88 lines
2.4 KiB
YAML
Raw Normal View History

# this is what docs.conda.io refers to as `miniconda`
# conda requires conda to build conda since 23.11. so, we use miniconda's installer script
# into a venv
warnings:
- vendored
versions:
url: https://repo.anaconda.com/miniconda/
match: /Miniconda3-py311_\d+\.\d+\.\d+-\d+-MacOSX-arm64.sh/
strip:
- /Miniconda3-py311_/
- /-\d+-MacOSX-arm64.sh/
dependencies:
2024-02-01 22:18:32 +03:00
pkgx.sh: ^1
openssl.org: ^1.1
runtime:
env:
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
build:
dependencies:
# https://docs.conda.io/projects/miniconda/en/latest/#latest-miniconda-installer-links
python.org: =3.11.5
gnu.org/patch: '*'
curl.se: '*'
script:
- bkpyvenv stage {{prefix}} {{version}}
# FIXME: we need a way to handle suffix versions
- |
for v in 9 8 7 6 5 4 3 2 1 0; do
if curl -fLS https://repo.anaconda.com/miniconda/Miniconda3-py311_{{version}}-$v-${SUFFIX}.sh -o miniconda.sh; then
break
fi
done
test -f miniconda.sh
- chmod +x miniconda.sh
- ./miniconda.sh -b -f -s -p {{prefix}}/venv
# stops conda from installing to our versioned prefix by default
- run: |
cd conda-{{version}}-*/lib/python3.11/site-packages
patch -p1 < $SRCROOT/props/context.py.diff
working-directory: ${{prefix}}/venv/pkgs
- run: patch -p1 < $SRCROOT/props/context.py.diff
working-directory: ${{prefix}}/venv/lib/python3.11/site-packages
2024-02-01 22:18:32 +03:00
- bkpyvenv seal {{prefix}} conda
# we desire to provide a conda that doesnt require you to force it into
# your shellrc this command modifies the installation to prevent it
# erroring so we have to do prior to pkging it
- '{{prefix}}/bin/conda init'
# put the conda libs in a findable path
- run: ln -s venv/lib lib
working-directory: ${{prefix}}
env:
darwin/aarch64:
SUFFIX: MacOSX-arm64
darwin/x86-64:
SUFFIX: MacOSX-x86_64
linux/x86-64:
SUFFIX: Linux-x86_64
linux/aarch64:
SUFFIX: Linux-aarch64 # not arm64. weird.
provides:
- bin/conda
test:
- conda --version | grep {{version}}
- |
source /dev/stdin <<<"$(conda shell.bash hook)"
conda create --yes --name snowflakes biopython
conda activate snowflakes
conda info --envs | grep snowflakes
conda deactivate
# check env has been restored
- |
if ! conda info --envs | grep snowflakes; then
exit 1
fi