File qtsingleapplication.spec of Package qtsingleapplication

#
# spec file for package qtsingleapplication
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2009-2010 Nand Ltd.
#
# 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 sover   1
%define dotver  2.6
%define uver    2_6
Name:           qtsingleapplication
Version:        2.6.1+git20180716
Release:        0
Summary:        Provides support for applications that can be only started once per user
### recheck this one before submitting
### License:    GPLv3 or LGPLv2 with exceptions
License:        BSD-3-Clause
# was http://qt.digia.com/Product/Qt-Add-Ons/Qt-Solutions-Archive/
URL:            https://github.com/qtproject/qt-solutions
Source0:        %{name}-%{version}.tar.xz
# PATCH-FIX-OPENSUSE qtsingleapplication-build_inst_lib.patch aloisio@gmx.com -- build libraries and install headers
Patch0:         qtsingleapplication-build_inst_lib.patch
# PATCH-FIX-OPENSUSE qtsingleapplication-included-qtlockedfile.patch
Patch1:         %{name}-remove-included-qtlockedfile.patch
# PATCH-FIX-OPENSUSE qtsingleapplication-qtlocalpeer_include_qtlock.patch
Patch2:         %{name}-qtlocalpeer_include_qtlock.patch
### now known as falkon, see if it still applies or if we should just rename it
# PATCH-FEATURE-OPENSUSE qtsingleapplication-qupzilla.patch -- # Features for unbundling in Qupzilla, https://github.com/QupZilla/qupzilla/issues/1503
Patch3:         %{name}-qupzilla.patch
BuildRequires:  qtlockedfile-devel
BuildRequires:  pkgconfig(Qt5Network)
BuildRequires:  pkgconfig(Qt5Widgets)

%description
For some applications it is useful or even critical that they are started
only once by any user. Future attempts to start the application should
activate any already running instance, and possibly perform requested
actions, e.g. loading a file, in that instance.

The QtSingleApplication class provides an interface to detect a running
instance, and to send command strings to that instance.
For console (non-GUI) applications, the QtSingleCoreApplication variant
is provided, which avoids dependency on QtGui.

%package devel
Summary:        Provides support for applications that can be only started once per user
Requires:       libQt5Solutions_SingleApplication-%{uver}-%{sover} = %{version}
Requires:       libQt5Solutions_SingleCoreApplication-%{uver}-%{sover} = %{version}
Requires:       pkgconfig(Qt5Network)
Requires:       pkgconfig(Qt5Widgets)

%description devel
This package contains libraries and header files for developing applications
that use QtSingleApplication or QtSingleCoreApplication.

%package -n     libQt5Solutions_SingleApplication-%{uver}-%{sover}
Summary:        Provides support for applications that can be only started once per user

%description -n libQt5Solutions_SingleApplication-%{uver}-%{sover}
For some applications it is useful or even critical that they are started
only once by any user. Future attempts to start the application should
activate any already running instance, and possibly perform requested
actions, e.g. loading a file, in that instance.

The QtSingleApplication class provides an interface to detect a running
instance, and to send command strings to that instance.
For console (non-GUI) applications, the QtSingleCoreApplication variant
is provided, which avoids dependency on QtGui.

%package -n     libQt5Solutions_SingleCoreApplication-%{uver}-%{sover}
Summary:        Provides support for applications that can be only started once per user

%description -n libQt5Solutions_SingleCoreApplication-%{uver}-%{sover}
For some applications it is useful or even critical that they are started
only once by any user. Future attempts to start the application should
activate any already running instance, and possibly perform requested
actions, e.g. loading a file, in that instance.

The QtSingleApplication class provides an interface to detect a running
instance, and to send command strings to that instance.
For console (non-GUI) applications, the QtSingleCoreApplication variant
is provided, which avoids dependency on QtGui.

%prep
%autosetup -p1
# use versioned soname
sed -i 's/__LIBVER__/%{dotver}/' common.pri

%build
%qmake5
%make_build

%install
%qmake5_install

# create support files
mkdir -pv %{buildroot}%{_libqt5_archdatadir}/mkspecs/features
tee %{buildroot}%{_libqt5_archdatadir}/mkspecs/features/qtsingleapplication.prf << "EOF"
INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtSolutions
DEPENDPATH  *= $$QMAKE_INCDIR_QT/QtSolutions
LIBS *= -lQt5Solutions_SingleApplication-%{dotver}
QT *= network
EOF
tee %{buildroot}%{_libqt5_archdatadir}/mkspecs/features/qtsinglecoreapplication.prf << "EOF"
INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtSolutions
DEPENDPATH  *= $$QMAKE_INCDIR_QT/QtSolutions
LIBS *= -lQt5Solutions_SingleCoreApplication-%{dotver}
QT *= network
EOF

ln -s -f ../../images/qt-logo.png doc/html/images/

%post -n libQt5Solutions_SingleApplication-%{uver}-%{sover} -p /sbin/ldconfig
%post -n libQt5Solutions_SingleCoreApplication-%{uver}-%{sover} -p /sbin/ldconfig
%postun -n libQt5Solutions_SingleApplication-%{uver}-%{sover} -p /sbin/ldconfig
%postun -n libQt5Solutions_SingleCoreApplication-%{uver}-%{sover} -p /sbin/ldconfig

%files -n libQt5Solutions_SingleApplication-%{uver}-%{sover}
%{_libqt5_libdir}/libQt5Solutions_SingleApplication-%{dotver}.so.%{sover}*

%files -n libQt5Solutions_SingleCoreApplication-%{uver}-%{sover}
%{_libqt5_libdir}/libQt5Solutions_SingleCoreApplication-%{dotver}.so.%{sover}*

%files devel
%doc README.TXT doc examples
%dir %{_libqt5_includedir}/QtSolutions/
%{_libqt5_includedir}/QtSolutions/QtSingleApplication
%{_libqt5_includedir}/QtSolutions/QtSingleCoreApplication
%{_libqt5_includedir}/QtSolutions/qtsingleapplication.h
%{_libqt5_includedir}/QtSolutions/qtsinglecoreapplication.h
%{_libqt5_libdir}/libQt5Solutions_SingleApplication-%{dotver}.so
%{_libqt5_libdir}/libQt5Solutions_SingleCoreApplication-%{dotver}.so
%{_libqt5_archdatadir}/mkspecs/features/qtsingleapplication.prf
%{_libqt5_archdatadir}/mkspecs/features/qtsinglecoreapplication.prf

%changelog
openSUSE Build Service is sponsored by