summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhang Hua2023-06-27 15:20:51 +0800
committerZhang Hua2023-06-27 15:20:51 +0800
commit09cd0bde77770c057e9f512b2d4f2d0b0fc65ab4 (patch)
tree693d5db9a039295215b1218f32c6fb4c9eb8cba5
downloadaur-09cd0bde77770c057e9f512b2d4f2d0b0fc65ab4.tar.gz
First commit
-rw-r--r--.SRCINFO15
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD40
3 files changed, 61 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..a82dfdae9bf3
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,15 @@
+pkgbase = csharp-ls
+ pkgdesc = Roslyn-based LSP language server for C#
+ pkgver = 0.8.0
+ pkgrel = 1
+ url = https://github.com/razzmatazz/csharp-language-server
+ arch = x86_64
+ license = MIT
+ makedepends = git
+ makedepends = jq
+ depends = dotnet-sdk
+ options = !strip
+ source = git+https://github.com/razzmatazz/csharp-language-server.git#tag=0.8.0
+ sha256sums = SKIP
+
+pkgname = csharp-ls
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..e51835ea7ebe
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+pkg
+src
+*.pkg.tar.*
+csharp-language-server
+*.log
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..703466737aa5
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,40 @@
+pkgname="csharp-ls"
+pkgver=0.8.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=("git" "jq")
+depends=("dotnet-sdk")
+source=("git+$url.git#tag=$pkgver")
+sha256sums=('SKIP')
+options=("!strip")
+
+build(){
+ local dotnet_version
+ dotnet_version="$(dotnet --version)"
+ cd "$srcdir/csharp-language-server"
+ if [[ "$(jq -r ".sdk.version" global.json)" != "$dotnet_version" ]]
+ then
+ # Hack SDK version
+ echo "Hacking global.json for using SDK provided by system..."
+ mv global.json global-old.json
+ jq '.sdk.version="$dotnet_version"' < global-old.json > global.json
+ echo "Currently .sdk.version is $(jq -r .sdk.version global.json)"
+ rm global-old.json
+ fi
+
+ cd src
+ dotnet publish -c Release --no-self-contained
+}
+check(){
+ cd "$srcdir/csharp-language-server/src"
+ dotnet test -c Release --no-build
+}
+package(){
+ mkdir -p "$pkgdir/usr/bin" "$pkgdir/usr/lib"
+ cp -av "$srcdir/csharp-language-server/src/CSharpLanguageServer/bin/Release/net7.0/publish" \
+ "$pkgdir/usr/lib/csharp-ls"
+ ln -s /usr/lib/csharp-ls/CSharpLanguageServer "$pkgdir/usr/bin/csharp-ls"
+}