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 841982ceec9d30a7ab7324979a0fd5c9c36fd121
9 Summary: Qt library to start applications only once per user
10 Name: QtSingleApplication
13 License: GPL v3 or LGPL v2 with exceptions
15 # git clone git@gitorious.org:qt-solutions/qt-solutions.git
16 # git checkout %{commit}
17 # tar -cjf QtSingleApplication-%{version}.tar.bz2 -C qt-solutions/qtsingleapplication .
18 Source0: %{name}-%{version}.tar.bz2
19 # Source0-md5: 2442ba5536b99b4b9144bd33ea23cb17
20 Source1: qtsingleapplication.prf
21 Source2: qtsinglecoreapplication.prf
22 Patch0: qtsingleapplication-build.diff
23 Patch1: qtlockedfile.patch
24 Patch2: clementine.patch
25 URL: http://doc.qt.digia.com/solutions/4/qtsingleapplication/qtsingleapplication.html
26 BuildRequires: libstdc++-devel
28 BuildRequires: QtGui-devel
29 BuildRequires: QtLockedFile-devel
30 BuildRequires: QtNetwork-devel
31 BuildRequires: qt4-build
32 BuildRequires: qt4-qmake
35 BuildRequires: Qt5Core-devel
36 BuildRequires: Qt5Gui-devel
37 BuildRequires: Qt5LockedFile-devel
38 BuildRequires: Qt5Network-devel
39 BuildRequires: Qt5Widgets-devel
40 BuildRequires: qt5-build
41 BuildRequires: qt5-qmake >= 5.4
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 %define qt4dir %{_datadir}/qt4
46 %define qt5dir %{_libdir}/qt5
49 For some applications it is useful or even critical that they are
50 started only once by any user. Future attempts to start the
51 application should activate any already running instance, and possibly
52 perform requested actions, e.g. loading a file, in that instance.
54 The QtSingleApplication class provides an interface to detect a
55 running instance, and to send command strings to that instance.
57 For console (non-GUI) applications, the QtSingleCoreApplication
58 variant is provided, which avoids dependency on QtGui.
61 Summary: Development files for QtSingleApplication
62 Group: Development/Libraries
63 Requires: %{name} = %{version}-%{release}
66 This package contains libraries and header files for developing
67 applications that use QtSingleApplication.
69 %package -n Qt5SingleApplication
70 Summary: Qt library to start applications only once per user
73 %description -n Qt5SingleApplication
74 For some applications it is useful or even critical that they are
75 started only once by any user. Future attempts to start the
76 application should activate any already running instance, and possibly
77 perform requested actions, e.g. loading a file, in that instance.
79 The QtSingleApplication class provides an interface to detect a
80 running instance, and to send command strings to that instance.
82 For console (non-GUI) applications, the QtSingleCoreApplication
83 variant is provided, which avoids dependency on QtGui.
85 %package -n Qt5SingleApplication-devel
86 Summary: Development files for Qt5SingleApplication library
87 Group: Development/Libraries
88 Requires: Qt5SingleApplication = %{version}-%{release}
90 %description -n Qt5SingleApplication-devel
91 This package contains libraries and header files for developing
92 applications that use QtSingleApplication.
100 # We already disabled bundling this extrenal 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