pantry/projects/github.com/ggerganov/llama.cpp/package.yml

72 lines
1.7 KiB
YAML
Raw Normal View History

distributable:
url: https://github.com/ggerganov/llama.cpp/archive/refs/tags/b{{version.raw}}.tar.gz
strip-components: 1
versions:
github: ggerganov/llama.cpp/tags
strip: /^b/
2023-12-27 18:12:17 +03:00
display-name: LLaMA.cpp
2023-07-30 15:00:35 +03:00
provides:
- bin/llama.cpp
# NOTE! we do not “provide” convert.py. ∵ its too generic
# do `tea +github.comggerganovllama.cpp convert.py`
platforms:
- linux
- darwin/aarch64
# Illegal instruction: 4 on darwin/x86-64
dependencies:
2023-10-03 18:23:56 +03:00
python.org: ~3.11
pkgx.sh: ^1
build:
dependencies:
gnu.org/coreutils: '*'
git-scm.org: '*'
2023-12-27 18:12:17 +03:00
curl.se: '*'
env:
VIRTUAL_ENV: ${{prefix}}/venv
CC: clang
CXX: clang++
LD: clang
script:
# segfaults on some GHA runners
- run: |
sed -i.bak -e's/\(MK_.* -march=native -mtune=native\)/#\1/g' Makefile
rm Makefile.bak
if: linux/x86-64
2023-12-27 18:12:17 +03:00
# this commit breaks linux/aarch64 - remove once fixed
- run: curl -LSs 'https://github.com/ggerganov/llama.cpp/pull/4630/commits/42f5246effafddcf87d67656b58e95030f4bc454.patch' | patch -p1 -R
if: '>=1705'
- make --jobs {{hw.concurrency}}
- |
install -D main {{prefix}}/bin/llama.cpp
install -D props/entrypoint.sh {{prefix}}/entrypoint.sh
install -D ggml-metal.metal {{prefix}}/bin/ggml-metal.metal
- |
mkdir -p {{prefix}}/share
mv prompts {{prefix}}/share
- |
install -D convert.py $VIRTUAL_ENV/bin/convert.py
python-venv-stubber.sh convert.py
- |
python -m venv $VIRTUAL_ENV
source $VIRTUAL_ENV/bin/activate
pip install -r requirements.txt
deactivate
test:
'{{prefix}}/bin/llama.cpp --help'
# ^^ testing more than this requires downloading the models 😬
entrypoint: ./entrypoint.sh