File proton-vpn-gtk-app.spec of Package proton-vpn-gtk-app

Name:		proton-vpn-gtk-app
Version:	4.9.6
Release:	1%{?dist}
Summary:	ProtonVPN Linux App
License:	GPL-3.0-or-later
Group:		Productivity/Networking/ProtonVPN
URL:		https://github.com/ProtonVPN/proton-vpn-gtk-app

Source0:	%{name}-%{version}.tar.gz

Provides:	proton-vpn-app = %{version}-%{release}
Provides:	proton-vpn-client = %{version}-%{release}
Provides:	proton-vpn-linux-client %{version}-%{release}

BuildArch:	noarch

BuildRequires:	desktop-file-utils
BuildRequires:	gtk3-devel
BuildRequires:	libappindicator3-devel
BuildRequires:	librsvg-devel
BuildRequires:	python3
BuildRequires:	python3-dbus-python-common-devel
BuildRequires:	python3-dbus-python-devel
BuildRequires:	python3-devel
BuildRequires:	python3-gobject-devel
BuildRequires:	python3-packaging
BuildRequires:	python3-proton-core
BuildRequires:	python3-proton-vpn-api-core
BuildRequires:	python3-setuptools

Requires:	gtk3
Requires:	librsvg-2-2
Requires:	python3
Requires:	python3-dbus-python
Requires:	python3-gobject
Requires:	python3-packaging
Requires:	python3-proton-core
Requires:	python3-proton-vpn-api-core

Suggests:	libappindicator3-1

%description
Official Proton VPN Linux client.

Proton VPN is a VPN service by Swiss company Proton AG. Proton VPN serves
several purpose:
 * Hide your IP address and route your connection through an ecnrypted
   tunnel. This makes it harder for your ISP, advertisers, and various
   servers to track you.
 * Multi-hop routes connections through multiple Proton VPN servers to
   further enhance the privacy of your connection by making it harder to
   trace any connection back to you.
 * Secure Core is a variation on multi-hop that ensures all Proton VPN
   connections are routed only through Proton VPN servers hosted in countries
   with strong privacy laws, such as Switzerland, Sweden, and Iceland. This
   makes it more difficult for law enforcement and government actors to
   access your data.
 * The encryption used supports perfect-forward-secrecy, ensuring that even
   if one session gets hijacked, data from previous sessions remain safe.
 * Built-in NetShield ad-blocker
 * Bypass geo-locks on TV and streaming providers.
 * Circumvent discriminatory pricing based on location.
 * Bypass censorship with "Stealth mode"
 * DNS leak protection, ensuring all DNS requests are done through Proton VPN
 * Built-in killswitch will disable network access in the event that your
   computer unexpectedly loses it's connection to Proton VPN. This ensures
   that your computer cannot leak private information outside of your VPN
   connection in the event that your Proton VPN connection drops without
   your knowledge.
 * Some Proton VPN servers have a built-in Tor bridge. This allows you to
   access Tor hidden services through Proton VPN, as well as hiding your IP
   address from the Tor entry node.
 * Strict no-logs policy, ensuring that anyone with access to Proton VPN's
   servers will not be able tosee what you are up to.
 * Full-disk-encryption on all Proton VPN servers, protecting all account
   information as well as server configuration from direct access from
   unauthorized access
 * Optional two-factor authetnication, supporting both OTP-based (one-time
   password) apps such as Google Authenticator and hardware-based
   authenticators such as YubiKey and NitroKey 3. Enabling this feature is
   highly recommended to protect your account from unauthorized access in the
   event that a hack occurs that leaks your password.
 * No bandwidth limits, even on free accounts
 * You can use the same account with up to 10 devices simultaneously.
 * All Proton VPN apps are open source and independently audited to ensure
   both the security and the trustworthiness of the software.
 * Proton AG is based in Switzerland, which has strong privacy laws.

%prep
%setup -q

%build
python3 setup.py build

%install
rm -rf $RPM_BUILD_ROOT
desktop-file-install --dir=%{_buildroot}/%{_datadir}/applications rpmbuild/SOURCES/protonvpn-app.desktop
desktop-file-validate %{_buildroot}/%{_datadir}/applications/protonvpn-app.desktop
install -d %{_buildroot}/%{_datadir}/icons/hicolor/scalable/apps
install rpmbuild/SOURCES/proton-vpn-logo.svg %{_buildroot}/%{_datadir}/icons/hicolor/scalable/apps/
python3 setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES

%files
%defattr(-,root,root)
%{_bindir}/*
%ghost %dir %{_prefix}/lib/python3.6/site-packages/proton/
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/*.py
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/*.md
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/*.py
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/*.svg
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/eye/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/eye/*.py
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/eye/*.svg
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/eye/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/eye/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/servers/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/servers/*.py
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/servers/*.svg
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/servers/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/icons/servers/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/style/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/style/*.css
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/style/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/style/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/assets/style/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/services/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/services/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/services/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/services/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/services/reconnector/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/services/reconnector/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/services/reconnector/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/services/reconnector/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/utils/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/utils/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/utils/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/utils/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/settings/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/settings/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/settings/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/headerbar/menu/settings/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/login/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/login/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/login/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/login/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/main/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/main/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/main/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/main/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/vpn/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/vpn/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/vpn/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/vpn/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/vpn/serverlist/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/vpn/serverlist/*.py
%dir %{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/vpn/serverlist/__pycache__/
%{_prefix}/lib/python3.6/site-packages/proton/vpn/app/gtk/widgets/vpn/serverlist/__pycache__/*.pyc
%dir %{_prefix}/lib/python3.6/site-packages/proton_vpn_gtk_app-%{version}-py3.6.egg-info/
%{_prefix}/lib/python3.6/site-packages/proton_vpn_gtk_app-%{version}-py3.6.egg-info/*

%changelog
* Sat Apr 26 2025 Kristopher Gamrat <gamrat.kristopher@protonmail.com> - 4.9.6-1
- Initial Release
openSUSE Build Service is sponsored by