summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 53f8484ff7574a04ae5ed0439f526fadcc79a1c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Maintainer: TheBill2001 <tuantran1632001 at gmail dot com>
# Contributer: Alpin <alpin 'at' alpindale 'dot' dev>
# Author: LostRuins (concedo)

pkgname=koboldcpp-cuda-portable
pkgver=1.89
pkgrel=1
pkgdesc="An easy-to-use AI text-generation software for GGML and GGUF models (with CUDA, portable build for old CPUs)"
arch=('x86_64')
url="https://github.com/LostRuins/koboldcpp"
license=('AGPL-3.0-only')
depends=(
    "python"
    "cblas"
    "clblast"
    "vulkan-icd-loader"
    "cuda"
)
optdepends=(
    'python-customtkinter: for GUI launcher'
    'python-psutil: increasing the process CPU priority'
    'zenity: native file picker dialogs'
    'yad: native file picker dialogs'
)
provides=(
    "koboldcpp=$pkgver"
    "koboldcpp-cuda=$pkgver"
)
conflicts=(
    "koboldcpp"
    "koboldcpp-cuda"
)
source=(
    "$pkgname-$pkgver.tar.gz::https://github.com/LostRuins/koboldcpp/archive/refs/tags/v$pkgver.tar.gz"
    'koboldcpp.desktop'
    'koboldcpp.png'
)
sha256sums=(
    '5bf0a3b1559330aa4780ff9670ae9dbf3bad2268076853ccb82754068cf7b743'
    'fcec7b843b908e1c03496fdc0605e6509f52526a855c43db16e287ef646503ef'
    'd244788c74a693a383bea7db6ab2bb2f762e6020de900be977b16e18dcd20f54'
)

build() {
    cd "$srcdir/koboldcpp-$pkgver"

    make LLAMA_VULKAN=1 LLAMA_CLBLAST=1 LLAMA_CUBLAS=1 LLAMA_PORTABLE=1 LLAMA_NOAVX2=1
}

package() {
    cd "$srcdir/koboldcpp-$pkgver"

    install -d "$pkgdir/usr/share/koboldcpp"

    install -Dm644 ./*.so "$pkgdir/usr/share/koboldcpp/"
    install -Dm644 ./*.embd "$pkgdir/usr/share/koboldcpp/"
    install -Dm644 ./json_to_gbnf.py "$pkgdir/usr/share/koboldcpp/"

    install -d "$pkgdir/usr/share/koboldcpp/kcpp_adapters"
    install -m644 "kcpp_adapters"/* "$pkgdir/usr/share/koboldcpp/kcpp_adapters/"

    install -Dm644 "koboldcpp.py" "$pkgdir/usr/share/koboldcpp/koboldcpp.py"

    echo '#!/bin/sh' >koboldcpp
    echo 'python /usr/share/koboldcpp/koboldcpp.py "$@"' >>koboldcpp

    install -Dm755 koboldcpp "$pkgdir/usr/bin/koboldcpp"

    install -Dm644 "$srcdir/koboldcpp.desktop" "$pkgdir/usr/share/applications/koboldcpp.desktop"
    install -Dm644 "$srcdir/koboldcpp.png" "$pkgdir/usr/share/icons/hicolor/512x512/apps/koboldcpp.png"
}