blob: 5b2b262fa6295c3f610f9b24c81ca107e2a3e4c3 (
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
|
_dotnet_version=8.0
pkgname="csharp-ls"
pkgver=0.13.0
pkgrel=1
pkgdesc="Roslyn-based LSP language server for C#"
arch=("x86_64")
url="https://github.com/razzmatazz/csharp-language-server"
license=("MIT")
makedepends=("jq")
depends=("dotnet-sdk-$_dotnet_version")
source=("$url/archive/refs/tags/$pkgver.tar.gz")
sha256sums=('d969c914cefc8c0345a7e60ecbe2e6d9ec367d72c8ab10e5341884028e377857')
options=("staticlibs")
build(){
local runtime_dotnet_version required_dotnet_version
runtime_dotnet_version="$(dotnet --version)"
required_dotnet_version="$(jq -r ".sdk.version" "$srcdir/csharp-language-server-$pkgver/global.json")"
cd "$srcdir/csharp-language-server-$pkgver/src/CSharpLanguageServer"
if [[ "$required_dotnet_version" != "$runtime_dotnet_version" ]]
then
# Hack SDK version
echo "Removing global.json for using SDK provided by system..."
rm "$srcdir/csharp-language-server-$pkgver/global.json"
fi
dotnet publish -c Release \
--no-self-contained \
-p:PackAsTool=false \
-o "$srcdir/csharp-language-server-$pkgver/linux-out"
}
check(){
cd "$srcdir/csharp-language-server-$pkgver"
dotnet test -c Release --no-build
}
package(){
mkdir -p "$pkgdir/usr/bin" "$pkgdir/usr/lib"
cp -av "$srcdir/csharp-language-server-$pkgver/linux-out" \
"$pkgdir/usr/lib/csharp-ls"
ln -s ../lib/csharp-ls/CSharpLanguageServer "$pkgdir/usr/bin/csharp-ls"
install -Dm644 "$srcdir/csharp-language-server-$pkgver/LICENSE" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
|