]> git.pld-linux.org Git - packages/QtSingleApplication.git/blob - QtSingleApplication.spec
8e051d661281edcbd6ee1c48c0c748cae77b6c5c
[packages/QtSingleApplication.git] / QtSingleApplication.spec
1 #
2 # Conditional build:
3 %bcond_without  qt4             # build Qt4
4 %bcond_without  qt5             # build Qt5
5
6 # last commit to qtsingleapplication subdir in
7 # https://qt.gitorious.org/qt-solutions/qt-solutions/
8 %define commit  ad9bc4600ce769a8b3ad10910803cd555811b70c
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
11 Name:           QtSingleApplication
12 Version:        2.6.1
13 Release:        5
14 License:        GPL v3 or LGPL v2 with exceptions
15 Group:          Libraries
16 Source0:        https://github.com/qtproject/qt-solutions/archive/%{commit}/%{name}-%{commit}.tar.gz
17 # Source0-md5:  07f01898ad475c5cded2968d25bee85c
18 Source1:        qtsingleapplication.prf
19 Source2:        qtsinglecoreapplication.prf
20 Patch0:         qtsingleapplication-build.diff
21 Patch1:         qtlockedfile.patch
22 Patch2:         clementine.patch
23 Patch3:         version.patch
24 Patch4:         qtsingleapplication-install.patch
25 URL:            http://doc.qt.digia.com/solutions/4/qtsingleapplication/qtsingleapplication.html
26 BuildRequires:  glibc-misc
27 BuildRequires:  libstdc++-devel
28 %if %{with qt4}
29 BuildRequires:  QtGui-devel >= 4
30 BuildRequires:  QtLockedFile-devel
31 BuildRequires:  QtNetwork-devel >= 4
32 BuildRequires:  qt4-build >= 4
33 BuildRequires:  qt4-qmake >= 4
34 %endif
35 %if %{with qt5}
36 BuildRequires:  Qt5Core-devel >= 5.4
37 BuildRequires:  Qt5Gui-devel >= 5.4
38 BuildRequires:  Qt5LockedFile-devel
39 BuildRequires:  Qt5Network-devel >= 5.4
40 BuildRequires:  Qt5Widgets-devel >= 5.4
41 BuildRequires:  qt5-build >= 5.4
42 BuildRequires:  qt5-qmake >= 5.4
43 %endif
44 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
46 %define         qt4dir  %{_datadir}/qt4
47 %define         qt5dir  %{_libdir}/qt5
48
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
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
74 %package devel
75 Summary:        Development files for QtSingleApplication
76 Summary(pl.UTF-8):      Pliki programistyczne biblioteki QtSingleApplication
77 Group:          Development/Libraries
78 Requires:       %{name} = %{version}-%{release}
79 Requires:       QtCore-devel >= 4
80
81 %description devel
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.
88
89 %package -n Qt5SingleApplication
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
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
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
119 %package -n Qt5SingleApplication-devel
120 Summary:        Development files for Qt5SingleApplication library
121 Summary(pl.UTF-8):      Pliki programistyczne biblioteki Qt5SingleApplication
122 Group:          Development/Libraries
123 Requires:       Qt5SingleApplication = %{version}-%{release}
124 Requires:       Qt5Core-devel >= 5
125
126 %description -n Qt5SingleApplication-devel
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.
133
134 %prep
135 %setup -qc
136 %{__mv} qt-solutions-* .qtsolutions
137 %{__mv} .qtsolutions/qtsingleapplication/* .
138 %patch0 -p0
139 %patch1 -p0
140 %patch2 -p1
141 %patch3 -p1
142 %patch4 -p1
143
144 # We already disabled bundling this external library.
145 # But just to make sure:
146 %{__rm} src/{QtLocked,qtlocked}*
147
148 %build
149 # Does not use GNU configure
150 ./configure -library
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}
160 %{__make}
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
165         ldd ../lib/$f | grep libQtSolutions_LockedFile
166 done
167 cd ..
168 %endif
169
170 %if %{with qt5}
171 install -d build-qt5
172 cd build-qt5
173 qmake-qt5 ../qtsingleapplication.pro \
174         QMAKE_CXX="%{__cxx}" \
175         QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \
176         QMAKE_LFLAGS_RELEASE="%{rpmldflags}" \
177         INSTALL_LIBDIR=%{_libdir}
178 %{__make}
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
183         ldd ../lib/$f | grep libQt5Solutions_LockedFile
184 done
185 cd ..
186 %endif
187
188 %install
189 rm -rf $RPM_BUILD_ROOT
190
191 %if %{with qt4}
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
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
199 %endif
200
201 %if %{with qt5}
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
207 cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
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
210 %endif
211
212 %clean
213 rm -rf $RPM_BUILD_ROOT
214
215 %post   -p /sbin/ldconfig
216 %postun -p /sbin/ldconfig
217
218 %post   -n Qt5SingleApplication -p /sbin/ldconfig
219 %postun -n Qt5SingleApplication -p /sbin/ldconfig
220
221 %if %{with qt4}
222 %files
223 %defattr(644,root,root,755)
224 %doc README.TXT
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
229
230 %files devel
231 %defattr(644,root,root,755)
232 %doc doc examples
233 %attr(755,root,root) %{_libdir}/libQtSolutions_SingleApplication-2.6.so
234 %attr(755,root,root) %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so
235 %{_includedir}/qt4/QtSolutions/QtSingleApplication
236 %{_includedir}/qt4/QtSolutions/QtSingleCoreApplication
237 %{_includedir}/qt4/QtSolutions/qtsingleapplication.h
238 %{_includedir}/qt4/QtSolutions/qtsinglecoreapplication.h
239 %{qt4dir}/mkspecs/features/qtsingleapplication.prf
240 %{qt4dir}/mkspecs/features/qtsinglecoreapplication.prf
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
255 %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleApplication-2.6.so
256 %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so
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
This page took 0.086647 seconds and 3 git commands to generate.