summaryrefslogtreecommitdiff
path: root/misc/py-llama-cpp-python
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2024-07-28 16:47:17 -0700
committerYuri Victorovich <yuri@FreeBSD.org>2024-07-28 16:57:43 -0700
commitcd0465f5d2c19aecf6c863c5ac5565890cd7b554 (patch)
treeca011deec884d13765574fbc218a31f56761c132 /misc/py-llama-cpp-python
parentdevel/py-pydantic-settings: New port: Settings management using Pydantic (diff)
misc/py-llama-cpp-python: New port: Python bindings for the llama.cpp library
Diffstat (limited to 'misc/py-llama-cpp-python')
-rw-r--r--misc/py-llama-cpp-python/Makefile38
-rw-r--r--misc/py-llama-cpp-python/distinfo5
-rw-r--r--misc/py-llama-cpp-python/files/patch-llama__cpp_llama__cpp.py11
-rw-r--r--misc/py-llama-cpp-python/pkg-descr5
4 files changed, 59 insertions, 0 deletions
diff --git a/misc/py-llama-cpp-python/Makefile b/misc/py-llama-cpp-python/Makefile
new file mode 100644
index 000000000000..1a8d2ad7f44b
--- /dev/null
+++ b/misc/py-llama-cpp-python/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= llama-cpp-python
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.2.84
+CATEGORIES= misc # machine-learning
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Python bindings for the llama.cpp library
+WWW= https://llama-cpp-python.readthedocs.io/en/latest/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scikit-build-core>0:devel/py-scikit-build-core@${PY_FLAVOR} \
+ cmake:devel/cmake-core
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}diskcache>=5.6.1:devel/py-diskcache@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.11.3:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR}
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}fastapi>=0.100.0:www/py-fastapi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.0.1:devel/py-pydantic-settings@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sse-starlette>=1.6.1:www/py-sse-starlette@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}starlette-context>=0.3.6:www/py-starlette-context@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}uvicorn>=0.22.0:www/py-uvicorn@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyyaml>=5.1:devel/py-pyyaml@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx>=0.24.1:www/py-httpx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>=1.10:science/py-scipy@${PY_FLAVOR}
+
+USES= python shebangfix
+USE_PYTHON= pep517 autoplist pytest
+
+USE_GITHUB= yes
+GH_ACCOUNT= abetlen
+GH_TUPLE= ggerganov:llama.cpp:4730fac:cpp/vendor/llama.cpp
+
+SHEBANG_GLOB= *.py
+
+.include <bsd.port.mk>
diff --git a/misc/py-llama-cpp-python/distinfo b/misc/py-llama-cpp-python/distinfo
new file mode 100644
index 000000000000..79307b9535ed
--- /dev/null
+++ b/misc/py-llama-cpp-python/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1722209930
+SHA256 (abetlen-llama-cpp-python-v0.2.84_GH0.tar.gz) = 5b030c3ee8aeefa2f3b49c0788f34b7da3fef2502dd856c68d9ede6b93dd8e53
+SIZE (abetlen-llama-cpp-python-v0.2.84_GH0.tar.gz) = 274756
+SHA256 (ggerganov-llama.cpp-4730fac_GH0.tar.gz) = 8b54c2f6c0560e48cf2af91840c33d81f688edfecbd11043d4bf7c098a125497
+SIZE (ggerganov-llama.cpp-4730fac_GH0.tar.gz) = 19005559
diff --git a/misc/py-llama-cpp-python/files/patch-llama__cpp_llama__cpp.py b/misc/py-llama-cpp-python/files/patch-llama__cpp_llama__cpp.py
new file mode 100644
index 000000000000..64e43300b493
--- /dev/null
+++ b/misc/py-llama-cpp-python/files/patch-llama__cpp_llama__cpp.py
@@ -0,0 +1,11 @@
+--- llama_cpp/llama_cpp.py.orig 2024-07-28 03:36:26 UTC
++++ llama_cpp/llama_cpp.py
+@@ -28,7 +28,7 @@ def _load_shared_library(lib_base_name: str):
+ # for llamacpp) and "llama" (default name for this repo)
+ _lib_paths: List[pathlib.Path] = []
+ # Determine the file extension based on the platform
+- if sys.platform.startswith("linux"):
++ if sys.platform.startswith("linux") or sys.platform.startswith("freebsd"):
+ _lib_paths += [
+ _base_path / f"lib{lib_base_name}.so",
+ ]
diff --git a/misc/py-llama-cpp-python/pkg-descr b/misc/py-llama-cpp-python/pkg-descr
new file mode 100644
index 000000000000..6c5bf2aa148e
--- /dev/null
+++ b/misc/py-llama-cpp-python/pkg-descr
@@ -0,0 +1,5 @@
+llama-cpp-python is the Python bindings for the llama.cpp library/
+
+The main goal of llama.cpp is to enable LLM inference with minimal setup and
+state-of-the-art performance on a wide variety of hardware - locally and in
+the cloud.