-# TODO
-# - uses openvpn user/group, but pld does not have any
-# see NetworkManager-openvpn-0.8/properties/import-export.c
-# add in openvpn.spec? switch to nobody/nobody?
+#
+# Conditional build:
+%bcond_without gtk4 # Gtk4 version of editor plugin (GNOME 42+)
+
Summary: NetworkManager VPN integration for OpenVPN
Summary(pl.UTF-8): Integracja NetworkManagera z OpenVPN-em
Name: NetworkManager-openvpn
-Version: 1.0.8
+Version: 1.10.2
Release: 1
License: GPL v2+
Group: X11/Applications
-Source0: http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-openvpn/1.0/%{name}-%{version}.tar.xz
-# Source0-md5: 758a9951ad5e20a37c72cc7326c9c750
+Source0: https://download.gnome.org/sources/NetworkManager-openvpn/1.10/%{name}-%{version}.tar.xz
+# Source0-md5: 3a7cb5ac3d33bd8b22dc9f4b58216b5b
+Patch0: chroot.patch
URL: https://wiki.gnome.org/Projects/NetworkManager
-BuildRequires: NetworkManager-devel >= 2:1.0.0
-BuildRequires: NetworkManager-gtk-lib-devel >= 1.0.6
+BuildRequires: NetworkManager-devel >= 2:1.7.0
+BuildRequires: NetworkManager-gtk-lib-devel >= 1.8.0
BuildRequires: autoconf >= 2.52
BuildRequires: automake >= 1:1.9
-BuildRequires: dbus-glib-devel >= 0.74
-BuildRequires: gettext-tools
-BuildRequires: glib2-devel >= 1:2.32
+BuildRequires: gettext-tools >= 0.19
+BuildRequires: glib2-devel >= 1:2.34
BuildRequires: gtk+3-devel >= 3.4
-BuildRequires: intltool >= 0.36.2
-BuildRequires: libsecret-devel
-BuildRequires: libtool
+%{?with_gtk4:BuildRequires: gtk4-devel >= 4.0}
+%{?with_gtk4:BuildRequires: libnma-gtk4-devel >= 1.8.33}
+BuildRequires: libsecret-devel >= 0.18
+BuildRequires: libtool >= 2:2
BuildRequires: pkgconfig
BuildRequires: tar >= 1:1.22
BuildRequires: xz
Requires(pre): /bin/id
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
-Requires: NetworkManager >= 2:1.0.0
-Requires: NetworkManager-gtk-lib >= 1.0.6
-Requires: dbus-glib >= 0.74
-Requires: glib2 >= 1:2.32
+Requires: NetworkManager >= 2:1.7.0
+Requires: NetworkManager-gtk-lib >= 1.7.0
+Requires: glib2 >= 1:2.34
Requires: gtk+3 >= 3.4
+Requires: libsecret >= 0.18
Requires: openvpn
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%prep
%setup -q
+%patch0 -p1
%build
-%{__intltoolize}
%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
- --disable-static
+ --disable-silent-rules \
+ --disable-static \
+ %{?with_gtk4:--with-gtk4}
+
%{__make}
%install
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog README
-%attr(755,root,root) %{_libdir}/NetworkManager/libnm-openvpn-properties.so
-%attr(755,root,root) %{_libdir}/nm-openvpn-auth-dialog
-%attr(755,root,root) %{_libdir}/nm-openvpn-service
-%attr(755,root,root) %{_libdir}/nm-openvpn-service-openvpn-helper
-%{_sysconfdir}/NetworkManager/VPN/nm-openvpn-service.name
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dbus-1/system.d/nm-openvpn-service.conf
-%{_datadir}/gnome-vpn-properties/openvpn
+%doc AUTHORS NEWS README
+%attr(755,root,root) %{_libdir}/NetworkManager/libnm-vpn-plugin-openvpn.so
+%attr(755,root,root) %{_libdir}/NetworkManager/libnm-vpn-plugin-openvpn-editor.so
+%if %{with gtk4}
+%attr(755,root,root) %{_libdir}/NetworkManager/libnm-gtk4-vpn-plugin-openvpn-editor.so
+%endif
+%attr(755,root,root) %{_libexecdir}/nm-openvpn-auth-dialog
+%attr(755,root,root) %{_libexecdir}/nm-openvpn-service
+%attr(755,root,root) %{_libexecdir}/nm-openvpn-service-openvpn-helper
+%{_prefix}/lib/NetworkManager/VPN/nm-openvpn-service.name
+%{_datadir}/dbus-1/system.d/nm-openvpn-service.conf
+%{_datadir}/metainfo/network-manager-openvpn.metainfo.xml