mirror of
https://github.com/ivabus/pantry
synced 2024-11-14 04:25:08 +03:00
e99bc15e31
needs fixes for lib paths and openssl.
87 lines
2.4 KiB
YAML
87 lines
2.4 KiB
YAML
# 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:
|
||
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
|
||
|
||
- bkpyvenv seal {{prefix}} conda
|
||
|
||
# we desire to provide a conda that doesn’t 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
|