blob: 4ae7eef1c13ed2c24efc2203a8549b2200e247b2 (
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# Maintainer: theorangeguo
# Packaging Repo: https://github.com/theorangeguo/aur-packages/tree/main/packages/cli-proxy-api-bin
pkgname=cli-proxy-api-bin
pkgver=7.2.97
pkgrel=1
pkgdesc=Proxy\ server\ providing\ OpenAI/Gemini/Claude\ compatible\ API\ interfaces
arch=(x86_64 aarch64 )
url=https://github.com/router-for-me/CLIProxyAPI
license=(MIT )
depends=()
makedepends=()
checkdepends=()
optdepends=()
options=(\!strip )
provides=(cli-proxy-api )
conflicts=(cli-proxy-api )
validpgpkeys=()
install=cli-proxy-api-bin.install
source=(cli-proxy-api.service )
sha256sums=('e303e0a3dc106f83aac76b1d2a7dfd891bbeccf5b668bbfb559cc69beb53cf2e')
sha256sums_x86_64=('9de7d78769bd5aa28901ef18766c65c41fdb750258a5b318112de02928016ed4')
sha256sums_aarch64=('f58bc5509e912d88e4c8fcab8f967ee896800f8c8222b7893a6e958a902006a5')
source_x86_64=(cli-proxy-api-bin-7.2.97-x86_64.tar.gz::https://github.com/router-for-me/CLIProxyAPI/releases/download/v7.2.97/CLIProxyAPI_7.2.97_linux_amd64.tar.gz )
source_aarch64=(cli-proxy-api-bin-7.2.97-aarch64.tar.gz::https://github.com/router-for-me/CLIProxyAPI/releases/download/v7.2.97/CLIProxyAPI_7.2.97_linux_aarch64.tar.gz )
_binary_source_path=cli-proxy-api
_install_bin_path=/usr/bin/cli-proxy-api
_wrapper_source_path=''
_wrapper_install_path=''
_wrapper_mode=755
_service_file=cli-proxy-api.service
_service_install_path=/usr/lib/systemd/user/cli-proxy-api.service
_doc_files=(config.example.yaml )
_license_files=(LICENSE )
package() {
_resolve_required_source_file() {
local pattern=$1
local matches=()
local nullglob_was_set=false
shopt -q nullglob && nullglob_was_set=true
shopt -s nullglob
matches=("${srcdir}"/$pattern)
[ "$nullglob_was_set" = true ] || shopt -u nullglob
if [ "${#matches[@]}" -ne 1 ]; then
printf 'Expected exactly one source match for pattern %s, found %s\n' "$pattern" "${#matches[@]}" >&2
return 1
fi
[ -f "${matches[0]}" ] || {
printf 'Matched source is not a file: %s\n' "${matches[0]}" >&2
return 1
}
printf '%s\n' "${matches[0]}"
}
_install_optional_source_files() {
local pattern=$1
local target_dir=$2
local mode=$3
local matches=()
local matched_file
local nullglob_was_set=false
shopt -q nullglob && nullglob_was_set=true
shopt -s nullglob
matches=("${srcdir}"/$pattern)
[ "$nullglob_was_set" = true ] || shopt -u nullglob
for matched_file in "${matches[@]}"; do
[ -f "$matched_file" ] || continue
install -Dm"$mode" "$matched_file" "${pkgdir}${target_dir}/$(basename "$matched_file")"
done
}
local binary_source_file
binary_source_file=$(_resolve_required_source_file "${_binary_source_path}")
install -Dm755 "$binary_source_file" "${pkgdir}${_install_bin_path}"
if [ -n "${_wrapper_source_path}" ] && [ -n "${_wrapper_install_path}" ]; then
local wrapper_source_file
wrapper_source_file=$(_resolve_required_source_file "${_wrapper_source_path}")
install -Dm${_wrapper_mode} "$wrapper_source_file" "${pkgdir}${_wrapper_install_path}"
fi
local doc_file
for doc_file in "${_doc_files[@]}"; do
_install_optional_source_files "$doc_file" "/usr/share/doc/${pkgname}" 644
done
local license_file
for license_file in "${_license_files[@]}"; do
_install_optional_source_files "$license_file" "/usr/share/licenses/${pkgname}" 644
done
if [ -n "${_service_file}" ] && [ -f "${srcdir}/${_service_file}" ]; then
install -Dm644 "${srcdir}/${_service_file}" "${pkgdir}${_service_install_path}"
fi
}
|