]>
Commit | Line | Data |
---|---|---|
97b6f035 ER |
1 | # |
2 | # Conditional build: | |
98529ade | 3 | %bcond_without qt4 # build Qt4 |
97b6f035 ER |
4 | %bcond_without qt5 # build Qt5 |
5 | ||
5c92ed78 ER |
6 | # last commit to qtsingleapplication subdir in |
7 | # https://qt.gitorious.org/qt-solutions/qt-solutions/ | |
e3b3d3a4 | 8 | %define commit ad9bc4600ce769a8b3ad10910803cd555811b70c |
5174eaa4 JB |
9 | Summary: Qt 4 library to start applications only once per user |
10 | Summary(pl.UTF-8): Biblioteka Qt 4 do uruchamiania pojedynczej instancji aplikacji na użytkownika | |
310002d3 | 11 | Name: QtSingleApplication |
5c92ed78 | 12 | Version: 2.6.1 |
5174eaa4 | 13 | Release: 5 |
5f8c12b9 ER |
14 | License: GPL v3 or LGPL v2 with exceptions |
15 | Group: Libraries | |
8cc77028 | 16 | Source0: https://github.com/qtproject/qt-solutions/archive/%{commit}/%{name}-%{commit}.tar.gz |
e3b3d3a4 | 17 | # Source0-md5: 07f01898ad475c5cded2968d25bee85c |
310002d3 | 18 | Source1: qtsingleapplication.prf |
099d1b50 | 19 | Source2: qtsinglecoreapplication.prf |
310002d3 | 20 | Patch0: qtsingleapplication-build.diff |
5c92ed78 | 21 | Patch1: qtlockedfile.patch |
b639dacf | 22 | Patch2: clementine.patch |
e3b3d3a4 | 23 | Patch3: version.patch |
5174eaa4 | 24 | Patch4: qtsingleapplication-install.patch |
5c92ed78 | 25 | URL: http://doc.qt.digia.com/solutions/4/qtsingleapplication/qtsingleapplication.html |
8cc77028 | 26 | BuildRequires: glibc-misc |
98529ade | 27 | BuildRequires: libstdc++-devel |
97b6f035 | 28 | %if %{with qt4} |
5174eaa4 | 29 | BuildRequires: QtGui-devel >= 4 |
310002d3 | 30 | BuildRequires: QtLockedFile-devel |
5174eaa4 JB |
31 | BuildRequires: QtNetwork-devel >= 4 |
32 | BuildRequires: qt4-build >= 4 | |
33 | BuildRequires: qt4-qmake >= 4 | |
97b6f035 ER |
34 | %endif |
35 | %if %{with qt5} | |
5174eaa4 JB |
36 | BuildRequires: Qt5Core-devel >= 5.4 |
37 | BuildRequires: Qt5Gui-devel >= 5.4 | |
97b6f035 | 38 | BuildRequires: Qt5LockedFile-devel |
5174eaa4 JB |
39 | BuildRequires: Qt5Network-devel >= 5.4 |
40 | BuildRequires: Qt5Widgets-devel >= 5.4 | |
41 | BuildRequires: qt5-build >= 5.4 | |
c54a9d69 | 42 | BuildRequires: qt5-qmake >= 5.4 |
97b6f035 | 43 | %endif |
5f8c12b9 ER |
44 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
45 | ||
dfdbbb18 | 46 | %define qt4dir %{_datadir}/qt4 |
97b6f035 | 47 | %define qt5dir %{_libdir}/qt5 |
310002d3 | 48 | |
5f8c12b9 ER |
49 | %description |
50 | For some applications it is useful or even critical that they are | |
51 | started only once by any user. Future attempts to start the | |
52 | application should activate any already running instance, and possibly | |
53 | perform requested actions, e.g. loading a file, in that instance. | |
54 | ||
55 | The QtSingleApplication class provides an interface to detect a | |
56 | running instance, and to send command strings to that instance. | |
57 | ||
58 | For console (non-GUI) applications, the QtSingleCoreApplication | |
59 | variant is provided, which avoids dependency on QtGui. | |
60 | ||
5174eaa4 JB |
61 | %description -l pl.UTF-8 |
62 | Dla niektórych aplikacji przydatne, lub nawet krytyczne, jest to, aby | |
63 | uruchamiane były tylko w jednej instancji na użytkownika. Kolejne | |
64 | próby uruchomienia powinny aktywować już działającą instancję i | |
65 | ewentualnie wyjonywać żądane akcje, np. załadowanie pliku w tej | |
66 | instancji. | |
67 | ||
68 | Klasa QtSingleApplication udostępnia interfejs do wykrywania | |
69 | działającej instancji i wysyłania do niej łańcuchów poleceń. | |
70 | ||
71 | Dla aplikacji konsolowych (bez GUI) udostępniony jest wariant | |
72 | QtSingleCoreApplication, który nie ma zależności od QtGui. | |
73 | ||
5c92ed78 | 74 | %package devel |
310002d3 | 75 | Summary: Development files for QtSingleApplication |
5174eaa4 | 76 | Summary(pl.UTF-8): Pliki programistyczne biblioteki QtSingleApplication |
5f8c12b9 ER |
77 | Group: Development/Libraries |
78 | Requires: %{name} = %{version}-%{release} | |
5174eaa4 | 79 | Requires: QtCore-devel >= 4 |
5f8c12b9 | 80 | |
5c92ed78 | 81 | %description devel |
5174eaa4 JB |
82 | This package contains header files for developing applications that |
83 | use QtSingleApplication. | |
84 | ||
85 | %description devel -l pl.UTF-8 | |
86 | Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji | |
87 | wykorzystujących QtSingleApplication. | |
5f8c12b9 | 88 | |
97b6f035 | 89 | %package -n Qt5SingleApplication |
5174eaa4 JB |
90 | Summary: Qt 5 library to start applications only once per user |
91 | Summary(pl.UTF-8): Biblioteka Qt 5 do uruchamiania pojedynczej instancji aplikacji na użytkownika | |
97b6f035 ER |
92 | Group: Libraries |
93 | ||
94 | %description -n Qt5SingleApplication | |
95 | For some applications it is useful or even critical that they are | |
96 | started only once by any user. Future attempts to start the | |
97 | application should activate any already running instance, and possibly | |
98 | perform requested actions, e.g. loading a file, in that instance. | |
99 | ||
100 | The QtSingleApplication class provides an interface to detect a | |
101 | running instance, and to send command strings to that instance. | |
102 | ||
103 | For console (non-GUI) applications, the QtSingleCoreApplication | |
104 | variant is provided, which avoids dependency on QtGui. | |
105 | ||
5174eaa4 JB |
106 | %description -n Qt5SingleApplication -l pl.UTF-8 |
107 | Dla niektórych aplikacji przydatne, lub nawet krytyczne, jest to, aby | |
108 | uruchamiane były tylko w jednej instancji na użytkownika. Kolejne | |
109 | próby uruchomienia powinny aktywować już działającą instancję i | |
110 | ewentualnie wyjonywać żądane akcje, np. załadowanie pliku w tej | |
111 | instancji. | |
112 | ||
113 | Klasa QtSingleApplication udostępnia interfejs do wykrywania | |
114 | działającej instancji i wysyłania do niej łańcuchów poleceń. | |
115 | ||
116 | Dla aplikacji konsolowych (bez GUI) udostępniony jest wariant | |
117 | QtSingleCoreApplication, który nie ma zależności od QtGui. | |
118 | ||
97b6f035 ER |
119 | %package -n Qt5SingleApplication-devel |
120 | Summary: Development files for Qt5SingleApplication library | |
5174eaa4 | 121 | Summary(pl.UTF-8): Pliki programistyczne biblioteki Qt5SingleApplication |
97b6f035 ER |
122 | Group: Development/Libraries |
123 | Requires: Qt5SingleApplication = %{version}-%{release} | |
5174eaa4 | 124 | Requires: Qt5Core-devel >= 5 |
97b6f035 ER |
125 | |
126 | %description -n Qt5SingleApplication-devel | |
5174eaa4 JB |
127 | This package contains header files for developing applications that |
128 | use Qt5SingleApplication. | |
129 | ||
130 | %description -n Qt5SingleApplication-devel -l pl.UTF-8 | |
131 | Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji | |
132 | wykorzystujących Qt5SingleApplication. | |
97b6f035 | 133 | |
5f8c12b9 | 134 | %prep |
5c92ed78 | 135 | %setup -qc |
5174eaa4 JB |
136 | %{__mv} qt-solutions-* .qtsolutions |
137 | %{__mv} .qtsolutions/qtsingleapplication/* . | |
5c92ed78 ER |
138 | %patch0 -p0 |
139 | %patch1 -p0 | |
3e0bb370 | 140 | %patch2 -p1 |
e3b3d3a4 | 141 | %patch3 -p1 |
5174eaa4 | 142 | %patch4 -p1 |
310002d3 | 143 | |
c64ddd18 | 144 | # We already disabled bundling this external library. |
310002d3 | 145 | # But just to make sure: |
5174eaa4 | 146 | %{__rm} src/{QtLocked,qtlocked}* |
97b6f035 | 147 | |
5f8c12b9 | 148 | %build |
5f8c12b9 | 149 | # Does not use GNU configure |
97b6f035 | 150 | ./configure -library |
5174eaa4 JB |
151 | |
152 | %if %{with qt4} | |
153 | install -d build-qt4 | |
154 | cd build-qt4 | |
155 | qmake-qt4 ../qtsingleapplication.pro \ | |
156 | QMAKE_CXX="%{__cxx}" \ | |
157 | QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \ | |
158 | QMAKE_LFLAGS_RELEASE="%{rpmldflags}" \ | |
159 | INSTALL_LIBDIR=%{_libdir} | |
5f8c12b9 | 160 | %{__make} |
8cc77028 ER |
161 | |
162 | # ensure the it links to right version of LockedFile | |
163 | for l in SingleApplication SingleCoreApplication; do | |
164 | f=libQtSolutions_$l-2.6.so | |
5174eaa4 | 165 | ldd ../lib/$f | grep libQtSolutions_LockedFile |
8cc77028 | 166 | done |
97b6f035 ER |
167 | cd .. |
168 | %endif | |
169 | ||
170 | %if %{with qt5} | |
5174eaa4 | 171 | install -d build-qt5 |
97b6f035 | 172 | cd build-qt5 |
5174eaa4 JB |
173 | qmake-qt5 ../qtsingleapplication.pro \ |
174 | QMAKE_CXX="%{__cxx}" \ | |
175 | QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \ | |
176 | QMAKE_LFLAGS_RELEASE="%{rpmldflags}" \ | |
177 | INSTALL_LIBDIR=%{_libdir} | |
1bb0d705 | 178 | %{__make} |
8cc77028 ER |
179 | |
180 | # ensure the it links to right version of LockedFile | |
181 | for l in SingleApplication SingleCoreApplication; do | |
182 | f=libQt5Solutions_$l-2.6.so | |
5174eaa4 | 183 | ldd ../lib/$f | grep libQt5Solutions_LockedFile |
8cc77028 | 184 | done |
97b6f035 ER |
185 | cd .. |
186 | %endif | |
5f8c12b9 ER |
187 | |
188 | %install | |
189 | rm -rf $RPM_BUILD_ROOT | |
5174eaa4 | 190 | |
97b6f035 | 191 | %if %{with qt4} |
5174eaa4 JB |
192 | %{__make} -C build-qt4 install \ |
193 | INSTALL_ROOT=$RPM_BUILD_ROOT | |
194 | ||
195 | install -d $RPM_BUILD_ROOT{%{_includedir}/qt4/QtSolutions,%{qt4dir}/mkspecs/features} | |
196 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.0 | |
dfdbbb18 ER |
197 | cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions |
198 | cp -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{qt4dir}/mkspecs/features | |
97b6f035 ER |
199 | %endif |
200 | ||
201 | %if %{with qt5} | |
5174eaa4 JB |
202 | %{__make} -C build-qt5 install \ |
203 | INSTALL_ROOT=$RPM_BUILD_ROOT | |
204 | ||
205 | install -d $RPM_BUILD_ROOT{%{_includedir}/qt5/QtSolutions,%{qt5dir}/mkspecs/features} | |
206 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.0 | |
97b6f035 | 207 | cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions |
5174eaa4 JB |
208 | %{__sed} -e 's/-lQtSolutions/-lQt5Solutions/g' %{SOURCE1} > $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features/qtsingleapplication.prf |
209 | %{__sed} -e 's/-lQtSolutions/-lQt5Solutions/g' %{SOURCE2} > $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features/qtsinglecoreapplication.prf | |
97b6f035 | 210 | %endif |
310002d3 | 211 | |
5f8c12b9 ER |
212 | %clean |
213 | rm -rf $RPM_BUILD_ROOT | |
214 | ||
215 | %post -p /sbin/ldconfig | |
216 | %postun -p /sbin/ldconfig | |
217 | ||
97b6f035 ER |
218 | %post -n Qt5SingleApplication -p /sbin/ldconfig |
219 | %postun -n Qt5SingleApplication -p /sbin/ldconfig | |
220 | ||
221 | %if %{with qt4} | |
5f8c12b9 ER |
222 | %files |
223 | %defattr(644,root,root,755) | |
5c92ed78 | 224 | %doc README.TXT |
5c92ed78 ER |
225 | %attr(755,root,root) %{_libdir}/libQtSolutions_SingleApplication-2.6.so.*.*.* |
226 | %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_SingleApplication-2.6.so.1 | |
227 | %attr(755,root,root) %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so.*.*.* | |
228 | %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so.1 | |
5f8c12b9 ER |
229 | |
230 | %files devel | |
231 | %defattr(644,root,root,755) | |
232 | %doc doc examples | |
5174eaa4 JB |
233 | %attr(755,root,root) %{_libdir}/libQtSolutions_SingleApplication-2.6.so |
234 | %attr(755,root,root) %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so | |
7023061e ER |
235 | %{_includedir}/qt4/QtSolutions/QtSingleApplication |
236 | %{_includedir}/qt4/QtSolutions/QtSingleCoreApplication | |
237 | %{_includedir}/qt4/QtSolutions/qtsingleapplication.h | |
238 | %{_includedir}/qt4/QtSolutions/qtsinglecoreapplication.h | |
dfdbbb18 ER |
239 | %{qt4dir}/mkspecs/features/qtsingleapplication.prf |
240 | %{qt4dir}/mkspecs/features/qtsinglecoreapplication.prf | |
97b6f035 ER |
241 | %endif |
242 | ||
243 | %if %{with qt5} | |
244 | %files -n Qt5SingleApplication | |
245 | %defattr(644,root,root,755) | |
246 | %doc README.TXT | |
247 | %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleApplication-2.6.so.*.*.* | |
248 | %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_SingleApplication-2.6.so.1 | |
249 | %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so.*.*.* | |
250 | %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so.1 | |
251 | ||
252 | %files -n Qt5SingleApplication-devel | |
253 | %defattr(644,root,root,755) | |
254 | %doc doc examples | |
5174eaa4 JB |
255 | %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleApplication-2.6.so |
256 | %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so | |
97b6f035 ER |
257 | %{_includedir}/qt5/QtSolutions/QtSingleApplication |
258 | %{_includedir}/qt5/QtSolutions/QtSingleCoreApplication | |
259 | %{_includedir}/qt5/QtSolutions/qtsingleapplication.h | |
260 | %{_includedir}/qt5/QtSolutions/qtsinglecoreapplication.h | |
261 | %{qt5dir}/mkspecs/features/qtsingleapplication.prf | |
262 | %{qt5dir}/mkspecs/features/qtsinglecoreapplication.prf | |
263 | %endif |