3 %bcond_without qt4 # build Qt4
4 %bcond_without qt5 # build Qt5
6 # last commit to qtsingleapplication subdir in
7 # https://qt.gitorious.org/qt-solutions/qt-solutions/
8 %define commit ad9bc4600ce769a8b3ad10910803cd555811b70c
9 Summary: Qt library to start applications only once per user
10 Name: QtSingleApplication
13 License: GPL v3 or LGPL v2 with exceptions
15 Source0: https://github.com/qtproject/qt-solutions/archive/%{commit}/%{name}-%{commit}.tar.gz
16 # Source0-md5: 07f01898ad475c5cded2968d25bee85c
17 Source1: qtsingleapplication.prf
18 Source2: qtsinglecoreapplication.prf
19 Patch0: qtsingleapplication-build.diff
20 Patch1: qtlockedfile.patch
21 Patch2: clementine.patch
23 URL: http://doc.qt.digia.com/solutions/4/qtsingleapplication/qtsingleapplication.html
24 BuildRequires: libstdc++-devel
26 BuildRequires: QtGui-devel
27 BuildRequires: QtLockedFile-devel
28 BuildRequires: QtNetwork-devel
29 BuildRequires: qt4-build
30 BuildRequires: qt4-qmake
33 BuildRequires: Qt5Core-devel
34 BuildRequires: Qt5Gui-devel
35 BuildRequires: Qt5LockedFile-devel
36 BuildRequires: Qt5Network-devel
37 BuildRequires: Qt5Widgets-devel
38 BuildRequires: qt5-build
39 BuildRequires: qt5-qmake >= 5.4
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 %define qt4dir %{_datadir}/qt4
44 %define qt5dir %{_libdir}/qt5
47 For some applications it is useful or even critical that they are
48 started only once by any user. Future attempts to start the
49 application should activate any already running instance, and possibly
50 perform requested actions, e.g. loading a file, in that instance.
52 The QtSingleApplication class provides an interface to detect a
53 running instance, and to send command strings to that instance.
55 For console (non-GUI) applications, the QtSingleCoreApplication
56 variant is provided, which avoids dependency on QtGui.
59 Summary: Development files for QtSingleApplication
60 Group: Development/Libraries
61 Requires: %{name} = %{version}-%{release}
64 This package contains libraries and header files for developing
65 applications that use QtSingleApplication.
67 %package -n Qt5SingleApplication
68 Summary: Qt library to start applications only once per user
71 %description -n Qt5SingleApplication
72 For some applications it is useful or even critical that they are
73 started only once by any user. Future attempts to start the
74 application should activate any already running instance, and possibly
75 perform requested actions, e.g. loading a file, in that instance.
77 The QtSingleApplication class provides an interface to detect a
78 running instance, and to send command strings to that instance.
80 For console (non-GUI) applications, the QtSingleCoreApplication
81 variant is provided, which avoids dependency on QtGui.
83 %package -n Qt5SingleApplication-devel
84 Summary: Development files for Qt5SingleApplication library
85 Group: Development/Libraries
86 Requires: Qt5SingleApplication = %{version}-%{release}
88 %description -n Qt5SingleApplication-devel
89 This package contains libraries and header files for developing
90 applications that use Qt5SingleApplication.
94 mv qt-solutions-*/qtsingleapplication/* .
100 # We already disabled bundling this external library.
101 # But just to make sure:
102 rm src/{QtLocked,qtlocked}*
105 install -d build-qt{4,5}
106 cp -al "$@" build-qt4
107 cp -al "$@" build-qt5
112 # Does not use GNU configure
122 # XXX fix QtLockedFile package?
123 qmake-qt5 INCLUDEPATH+=%{_includedir}/qt5/QtSolutions
129 rm -rf $RPM_BUILD_ROOT
132 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt4/QtSolutions,%{qt4dir}/mkspecs/features}
133 cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
134 rm $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.0
135 cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions
136 cp -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{qt4dir}/mkspecs/features
142 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt5/QtSolutions,%{qt5dir}/mkspecs/features}
143 cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
144 rm $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.0
145 cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
146 cp -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features
151 rm -rf $RPM_BUILD_ROOT
153 %post -p /sbin/ldconfig
154 %postun -p /sbin/ldconfig
156 %post -n Qt5SingleApplication -p /sbin/ldconfig
157 %postun -n Qt5SingleApplication -p /sbin/ldconfig
161 %defattr(644,root,root,755)
163 %attr(755,root,root) %{_libdir}/libQtSolutions_SingleApplication-2.6.so.*.*.*
164 %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_SingleApplication-2.6.so.1
165 %attr(755,root,root) %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so.*.*.*
166 %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so.1
169 %defattr(644,root,root,755)
171 %{_libdir}/libQtSolutions_SingleApplication-2.6.so
172 %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so
173 %{_includedir}/qt4/QtSolutions/QtSingleApplication
174 %{_includedir}/qt4/QtSolutions/QtSingleCoreApplication
175 %{_includedir}/qt4/QtSolutions/qtsingleapplication.h
176 %{_includedir}/qt4/QtSolutions/qtsinglecoreapplication.h
177 %{qt4dir}/mkspecs/features/qtsingleapplication.prf
178 %{qt4dir}/mkspecs/features/qtsinglecoreapplication.prf
182 %files -n Qt5SingleApplication
183 %defattr(644,root,root,755)
185 %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleApplication-2.6.so.*.*.*
186 %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_SingleApplication-2.6.so.1
187 %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so.*.*.*
188 %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so.1
190 %files -n Qt5SingleApplication-devel
191 %defattr(644,root,root,755)
193 %{_libdir}/libQt5Solutions_SingleApplication-2.6.so
194 %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so
195 %{_includedir}/qt5/QtSolutions/QtSingleApplication
196 %{_includedir}/qt5/QtSolutions/QtSingleCoreApplication
197 %{_includedir}/qt5/QtSolutions/qtsingleapplication.h
198 %{_includedir}/qt5/QtSolutions/qtsinglecoreapplication.h
199 %{qt5dir}/mkspecs/features/qtsingleapplication.prf
200 %{qt5dir}/mkspecs/features/qtsinglecoreapplication.prf