File QtPass.spec of Package QtPass

#
# spec file for package QtPass
#
# Copyright (c) 2026 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define  _name  qtpass
Name:           QtPass
Version:        @SERVICE@
Release:        0
Summary:        Standard unix password manager
License:        GPL-3.0-or-later
Group:          Productivity/Security
URL:            https://github.com/IJHack/QtPass
Source0:        %{name}-%{version}.tar.xz
Patch0:         install.patch
#atch1:         desktop-file.patch
BuildRequires:  appstream-glib
BuildRequires:  cmake
BuildRequires:  desktop-file-utils
BuildRequires:  gcc-c++
BuildRequires:  hicolor-icon-theme
BuildRequires:  cmake(Qt6Core)
BuildRequires:  cmake(Qt6Gui)
BuildRequires:  cmake(Qt6LinguistTools)
BuildRequires:  cmake(Qt6Network)
BuildRequires:  cmake(Qt6Svg)
BuildRequires:  cmake(Qt6Test)
BuildRequires:  cmake(Qt6Widgets)
Requires:       password-store
Recommends:     pwgen
Recommends:     qrencode
Suggests:       git
Suggests:       pass-otp
Suggests:       pinentry-qt6
Provides:       qtpass

%description
QtPass is a multi-platform GUI for pass, the standard Unix password manager.
Features
  * Using pass or git and gpg2 directly
  * Cross platform: Linux, BSD, macOS and Windows
  * Native widgets and iconography where possible
  * Per-folder user selection for multi-recipient encryption
  * Multiple profiles support
  * OTP (One-Time Password) support
  * Password generation with configurable complexity
  * Git integration for version control
  * Smartcard and USB token support (OpenPGP, YubiKey)
  * Configurable shoulder surfing protection
  * Experimental WebDAV support
  * Easy onboarding for new users

%prep
%autosetup -p1
sed -i -e "s/\(Version=\).*/\11.0/;s/\(Icon=\).*/\1%{_name}/;/^#/d" \
    -e '/Comment=/a\Comment[ru_RU]=Графический интерфейс для стандартного хранилища паролей Unix' \
    -e '/GenericName=/a\GenericName[ru_RU]=Менеджер паролей' %{_name}.desktop

%build
%qmake6 \
    PREFIX=%{_prefix}
%qmake6_build

%install
%qmake6_install

%check
export QT_QPA_PLATFORM=offscreen
./tests/auto/ui/tst_ui
./tests/auto/util/tst_util
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/%{_name}.metainfo.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/%{_name}.desktop

%files
%doc README.md
%{_bindir}/%{_name}
%{_datadir}/applications/%{_name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{_name}.??g
%{_datadir}/metainfo/%{_name}.metainfo.xml
%{_mandir}/man?/%{_name}.?%{?ext_man}
%license LICENSE

%changelog
openSUSE Build Service is sponsored by