diff --git a/anda/tools/vala-language-server-nightly/anda.hcl b/anda/tools/vala-language-server-nightly/anda.hcl new file mode 100644 index 0000000000..613d80c672 --- /dev/null +++ b/anda/tools/vala-language-server-nightly/anda.hcl @@ -0,0 +1,5 @@ +project "pkg" { + rpm { + spec = "vala-language-server-nightly.spec" + } +} diff --git a/anda/tools/vala-language-server-nightly/update.rhai b/anda/tools/vala-language-server-nightly/update.rhai new file mode 100644 index 0000000000..e0a8ec4eed --- /dev/null +++ b/anda/tools/vala-language-server-nightly/update.rhai @@ -0,0 +1,11 @@ +let req = new_req("https://api.github.com/repos/vala-lang/vala-language-server/commits/HEAD"); +req.head("Authorization", `Bearer ${env("GITHUB_TOKEN")}`); +let _sha = json(req.get()) @ "sha"; +let sha = _sha.str(); +let cur = find("%global commit (.+)", rpm.f, 1); +if sha != cur { + print(`vala-language-server-nightly: ${cur} -> ${sha}`); + rpm.f = sub("%global commit (.+)", `%global commit ${sha}`, rpm.f); +} else { + print("vala-language-server-nightly: Up to date!"); +} diff --git a/anda/tools/vala-language-server-nightly/vala-language-server-nightly.spec b/anda/tools/vala-language-server-nightly/vala-language-server-nightly.spec new file mode 100644 index 0000000000..da5361e1de --- /dev/null +++ b/anda/tools/vala-language-server-nightly/vala-language-server-nightly.spec @@ -0,0 +1,73 @@ +%global real_name vala-language-server + +%global commit 7577ffb269cd31da8815b7eadd72867965a2c742 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +%global commit_date %(date '+%Y%m%d') +%global snapshot_info %{commit_date}.%{shortcommit} + +Name: vala-language-server-nightly +Summary: Language server for the Vala programming language +Version: 0.48.5^%{snapshot_info} +Release: 1%{?dist} +# The entire source is LGPLv2+, except plugins/gnome-builder/vala_langserv.py, which is GPLv3+. +# It is not installed when the "plugins" meson option is set to false. +# Since GNOME Builder 41, the VLS the plugin has been included. +License: LGPLv2+ + +URL: https://github.com/vala-lang/vala-language-server +Source0: https://github.com/vala-lang/vala-language-server/archive/%{commit}/%{real_name}-%{shortcommit}.tar.gz + +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: meson +BuildRequires: ninja-build +BuildRequires: vala >= 0.48.12 +BuildRequires: vala-devel >= 0.48.12 + +BuildRequires: pkgconfig(gee-0.8) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(json-glib-1.0) >= 1.4.4 +BuildRequires: pkgconfig(jsonrpc-glib-1.0) >= 3.28 +BuildRequires: pkgconfig(scdoc) + +Requires: glib2-static%{?_isa} +Requires: json-glib%{?_isa} +Requires: jsonrpc-glib%{?_isa} +Requires: libgee%{?_isa} +Requires: libvala%{?_isa} >= 0.48.12 + +Recommends: gobject-introspection-devel + +Suggests: gnome-builder + +Conflicts: vala-language-server +Provides: vala-language-server = 0.48.5^%{snapshot_info} +Provides: vala-language-server%{?_isa} = 0.48.5^%{snapshot_info} + +%description +Provides code intelligence for Vala (and also Genie). +Used with an editor and a plugin that supports the Language Server Protocol. + + +%prep +%autosetup -n %{real_name}-%{commit} + +%build +%meson -Dplugins=false +%meson_build +%install +%meson_install +%files +%license COPYING +%doc README.md + +%{_bindir}/%{real_name} +%{_mandir}/man1/%{real_name}.1* + +%changelog +* Sat Jan 14 2023 lleyton +- Initial package