# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 PortGroup github 1.0 PortGroup cmake 1.1 PortGroup legacysupport 1.1 github.setup ggerganov llama.cpp 4534 b github.tarball_from archive set git-commit 955a6c2 # This line is for displaying commit in CLI only revision 0 categories llm maintainers {i0ntempest @i0ntempest} openmaintainer license MIT description LLM inference in C/C++ long_description The main goal of ${name} 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. checksums rmd160 771fa15d2c7b6a3ef9114fd3c0afb676e0ba6559 \ sha256 f4b57daa8d6bfe957f08a79f02ea9d24018ce9e73663c35a5c21f31ed3ccfcb8 \ size 20496342 # error: 'filesystem' file not found on 10.14 legacysupport.newest_darwin_requires_legacy \ 18 legacysupport.use_mp_libcxx \ yes depends_build-append path:bin/pkg-config:pkgconfig depends_lib-append port:curl # cmake relies on git for version info. We need to set them manually. post-patch { reinplace "s|@BUILD_NUMBER@|${version}|" ${worksrcpath}/common/build-info.cpp.in reinplace "s|@BUILD_COMMIT@|${git-commit}|" ${worksrcpath}/common/build-info.cpp.in } compiler.cxx_standard 2017 configure.args-append -LAH \ -DGGML_LTO=ON \ -DGGML_CCACHE=OFF \ -DGGML_OPENMP=OFF \ -DLLAMA_CURL=ON # error: use of undeclared identifier 'MTLGPUFamilyApple7' on 10.14 if {${os.platform} eq "darwin" && ${os.subplatform} eq "macosx" && \ (${os.major} >= 20 && ${configure.sdk_version} >= 11)} { configure.args-append \ -DGGML_METAL=ON \ -DGGML_METAL_EMBED_LIBRARY=ON \ -DGGML_METAL_MACOSX_VERSION_MIN=${macos_version_major} } else { configure.args-append \ -DGGML_METAL=OFF \ -DGGML_METAL_EMBED_LIBRARY=OFF } variant blas description {Uses BLAS, improves performance} { configure.args-append \ -DGGML_BLAS=ON if {${os.platform} eq "darwin" && ${os.subplatform} eq "macosx"} { configure.args-append \ -DGGML_ACCELLERATE=ON \ -DGGML_BLAS_VENDOR=Apple } else { configure.args-append \ -DGGML_ACCELLERATE=OFF \ -DGGML_BLAS_VENDOR=OpenBLAS depends_lib-append path:lib/libopenblas.dylib:OpenBLAS } } variant openmp description {enable parallelism support using OpenMP} { compiler.openmp_version \ 4.5 compiler.blacklist-append \ {macports-clang-[0-9].*} configure.args-replace \ -DGGML_OPENMP=OFF \ -DGGML_OPENMP=ON if {[string match *clang* ${configure.compiler}]} { configure.ldflags-append \ -L${prefix}/lib/libomp -lomp } } variant native description "Force local build and optimize for CPU" { configure.args-append \ -DGGML_NATIVE=ON } default_variants +blas +openmp