diff --git a/contrib/PKGBUILD b/contrib/PKGBUILD
index 396bf0b60..be40956b4 100644
--- a/contrib/PKGBUILD
+++ b/contrib/PKGBUILD
@@ -10,7 +10,7 @@ url='https://github.com/hughsie/fwupd'
license=('GPL2')
depends=('appstream-glib' 'fwupdate' 'colord')
makedepends=('meson' 'valgrind' 'gobject-introspection' 'gtk-doc' 'python-pillow' 'git'
- 'python-cairo' 'ttf-dejavu' 'adobe-source-han-sans-cn-fonts' 'python-gobject')
+ 'python-cairo' 'ttf-dejavu' 'adobe-source-han-sans-cn-fonts' 'python-gobject' 'vala')
build() {
cd ${pkgname}
diff --git a/contrib/ci/dependencies.xml b/contrib/ci/dependencies.xml
index fd4d772c3..3fa910549 100644
--- a/contrib/ci/dependencies.xml
+++ b/contrib/ci/dependencies.xml
@@ -908,6 +908,24 @@
+
+
+ vala
+
+
+ vala
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/contrib/debian/libfwupd-dev.install b/contrib/debian/libfwupd-dev.install
index b83628b5f..dbc3671c9 100644
--- a/contrib/debian/libfwupd-dev.install
+++ b/contrib/debian/libfwupd-dev.install
@@ -3,3 +3,4 @@ usr/include/fwupd-1/libfwupd
usr/lib/*/libfwupd*.so
usr/lib/*/pkgconfig/fwupd.pc
usr/share/gir-1.0/Fwupd*.gir
+usr/share/vala/vapi
diff --git a/contrib/fwupd.spec.in b/contrib/fwupd.spec.in
index 004d077b1..8116f153e 100644
--- a/contrib/fwupd.spec.in
+++ b/contrib/fwupd.spec.in
@@ -54,6 +54,7 @@ BuildRequires: gnutls-utils
BuildRequires: meson
BuildRequires: help2man
BuildRequires: json-glib-devel >= %{json_glib_version}
+BuildRequires: vala
%if 0%{?have_uefi}
BuildRequires: python3 python3-cairo python3-gobject python3-pillow
@@ -251,6 +252,7 @@ mkdir -p --mode=0700 $RPM_BUILD_ROOT%{_localstatedir}/lib/fwupd/gnupg
%files devel
%{_datadir}/gir-1.0/Fwupd-2.0.gir
%{_datadir}/gtk-doc/html/libfwupd
+%{_datadir}/vala/vapi
%{_includedir}/fwupd-1
%{_libdir}/libfwupd*.so
%{_libdir}/pkgconfig/fwupd.pc
diff --git a/libfwupd/meson.build b/libfwupd/meson.build
index 48493fece..ef8ef1a0b 100644
--- a/libfwupd/meson.build
+++ b/libfwupd/meson.build
@@ -108,6 +108,12 @@ if get_option('introspection')
install : true
)
+ gnome.generate_vapi('libfwupd-2.0',
+ sources: gir[0],
+ packages : ['gio-2.0', 'libsoup-2.4'],
+ install : true,
+ )
+
# Verify the map file is correct -- note we can't actually use the generated
# file for two reasons:
#