2023-02-17 00:34:09 +03:00
|
|
|
|
distributable:
|
|
|
|
|
url: https://github.com/pypa/pipenv/archive/refs/tags/v{{ version }}.tar.gz
|
|
|
|
|
strip-components: 1
|
|
|
|
|
|
|
|
|
|
versions:
|
2023-03-08 04:08:47 +03:00
|
|
|
|
github: pypa/pipenv/releases/tags
|
2023-02-17 00:34:09 +03:00
|
|
|
|
strip: /^v/
|
|
|
|
|
|
2023-08-23 17:28:14 +03:00
|
|
|
|
companions:
|
2023-06-13 14:30:20 +03:00
|
|
|
|
pip.pypa.io: '*'
|
2023-02-17 00:34:09 +03:00
|
|
|
|
|
2024-01-05 19:38:07 +03:00
|
|
|
|
dependencies:
|
|
|
|
|
pkgx.sh: ^1
|
|
|
|
|
|
2023-02-17 00:34:09 +03:00
|
|
|
|
build:
|
2023-06-13 14:30:20 +03:00
|
|
|
|
dependencies:
|
2024-06-07 19:07:46 +03:00
|
|
|
|
python.org: ~3.11 # approx. 3 older versions won’t work with python 3.12
|
2023-06-13 14:30:20 +03:00
|
|
|
|
crates.io/semverator: '*'
|
|
|
|
|
script:
|
2024-01-05 19:38:07 +03:00
|
|
|
|
- bkpyvenv stage {{prefix}} {{version}}
|
|
|
|
|
- ${{prefix}}/venv/bin/pip install .
|
|
|
|
|
- bkpyvenv seal {{prefix}} pipenv
|
2023-06-13 14:30:20 +03:00
|
|
|
|
|
2023-08-23 17:28:14 +03:00
|
|
|
|
# create exec scripts for pipenv so it can auto install and use the pythons it wants
|
2024-06-07 19:07:46 +03:00
|
|
|
|
- working-directory: ${{prefix}}/bin
|
2023-06-13 14:30:20 +03:00
|
|
|
|
run: |
|
|
|
|
|
v=3.6
|
2024-01-06 14:44:11 +03:00
|
|
|
|
vMax=3.12 #FIXME determine dynamically or even script this in the shim
|
|
|
|
|
while semverator lt $v $vMax; do
|
2023-06-13 14:30:20 +03:00
|
|
|
|
v=$(semverator bump $v minor | cut -d. -f1,2)
|
2023-08-23 17:28:14 +03:00
|
|
|
|
echo '#!/bin/sh' > python$v
|
2024-01-05 19:38:07 +03:00
|
|
|
|
echo "exec pkgx python~$v \"\$@\"" >> python$v
|
2023-08-23 17:28:14 +03:00
|
|
|
|
chmod +x python$v
|
2023-06-13 14:30:20 +03:00
|
|
|
|
done
|
2023-02-17 00:34:09 +03:00
|
|
|
|
|
2024-06-07 19:07:46 +03:00
|
|
|
|
# needs libpython
|
|
|
|
|
- run: cp -a {{deps.python.org.prefix}}/lib/libpython* .
|
|
|
|
|
working-directory: ${{prefix}}/lib/
|
|
|
|
|
|
2023-03-08 04:08:47 +03:00
|
|
|
|
runtime:
|
2023-02-17 00:34:09 +03:00
|
|
|
|
env:
|
2023-03-08 04:08:47 +03:00
|
|
|
|
PIPENV_IGNORE_VIRTUALENVS: 1
|
|
|
|
|
|
|
|
|
|
test:
|
2023-09-01 21:00:52 +03:00
|
|
|
|
- pipenv --version
|
|
|
|
|
- pipenv --version 2>&1 | grep {{version}}
|
2023-06-13 14:30:20 +03:00
|
|
|
|
|
2023-10-25 02:23:17 +03:00
|
|
|
|
# changed to python3.8; 3.7 generates a lockfile resolver error
|
2023-06-13 14:30:20 +03:00
|
|
|
|
- run: |
|
2024-06-07 19:07:46 +03:00
|
|
|
|
source <(pkgx +python@3.8)
|
2023-10-25 02:23:17 +03:00
|
|
|
|
pipenv --python 3.8
|
|
|
|
|
pipenv --verbose install pycowsay
|
2023-06-13 14:30:20 +03:00
|
|
|
|
pipenv run pycowsay "Hello World"
|
2024-06-07 19:07:46 +03:00
|
|
|
|
working-directory: a
|
2023-06-13 14:30:20 +03:00
|
|
|
|
|
|
|
|
|
- run: |
|
2024-06-07 19:07:46 +03:00
|
|
|
|
source <(pkgx +python@3.10)
|
2023-06-13 14:30:20 +03:00
|
|
|
|
pipenv --python 3.10
|
|
|
|
|
pipenv install pycowsay
|
|
|
|
|
pipenv run pycowsay "Hello World"
|
2024-06-07 19:07:46 +03:00
|
|
|
|
working-directory: b
|
2023-02-17 00:34:09 +03:00
|
|
|
|
|
|
|
|
|
provides:
|
2023-03-01 13:32:36 +03:00
|
|
|
|
- bin/pipenv
|
2023-06-13 14:30:20 +03:00
|
|
|
|
|
|
|
|
|
marker-files:
|
|
|
|
|
- Pipfile
|
|
|
|
|
- Pipfile.lock
|
|
|
|
|
# TODO python version can be obtained from the Pipfile
|