]> git.pld-linux.org Git - packages/QtSingleApplication.git/blob - QtSingleApplication.spec
f0605643465d8bf8b08d081fae98783f89aad42c
[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 library to start applications only once per user
10 Name:           QtSingleApplication
11 Version:        2.6.1
12 Release:        2.1
13 License:        GPL v3 or LGPL v2 with exceptions
14 Group:          Libraries
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
22 Patch3:         version.patch
23 URL:            http://doc.qt.digia.com/solutions/4/qtsingleapplication/qtsingleapplication.html
24 BuildRequires:  glibc-misc
25 BuildRequires:  libstdc++-devel
26 %if %{with qt4}
27 BuildRequires:  QtGui-devel
28 BuildRequires:  QtLockedFile-devel
29 BuildRequires:  QtNetwork-devel
30 BuildRequires:  qt4-build
31 BuildRequires:  qt4-qmake
32 %endif
33 %if %{with qt5}
34 BuildRequires:  Qt5Core-devel
35 BuildRequires:  Qt5Gui-devel
36 BuildRequires:  Qt5LockedFile-devel
37 BuildRequires:  Qt5Network-devel
38 BuildRequires:  Qt5Widgets-devel
39 BuildRequires:  qt5-build
40 BuildRequires:  qt5-qmake >= 5.4
41 %endif
42 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43
44 %define         qt4dir  %{_datadir}/qt4
45 %define         qt5dir  %{_libdir}/qt5
46
47 %description
48 For some applications it is useful or even critical that they are
49 started only once by any user. Future attempts to start the
50 application should activate any already running instance, and possibly
51 perform requested actions, e.g. loading a file, in that instance.
52
53 The QtSingleApplication class provides an interface to detect a
54 running instance, and to send command strings to that instance.
55
56 For console (non-GUI) applications, the QtSingleCoreApplication
57 variant is provided, which avoids dependency on QtGui.
58
59 %package devel
60 Summary:        Development files for QtSingleApplication
61 Group:          Development/Libraries
62 Requires:       %{name} = %{version}-%{release}
63
64 %description devel
65 This package contains libraries and header files for developing
66 applications that use QtSingleApplication.
67
68 %package -n Qt5SingleApplication
69 Summary:        Qt library to start applications only once per user
70 Group:          Libraries
71
72 %description -n Qt5SingleApplication
73 For some applications it is useful or even critical that they are
74 started only once by any user. Future attempts to start the
75 application should activate any already running instance, and possibly
76 perform requested actions, e.g. loading a file, in that instance.
77
78 The QtSingleApplication class provides an interface to detect a
79 running instance, and to send command strings to that instance.
80
81 For console (non-GUI) applications, the QtSingleCoreApplication
82 variant is provided, which avoids dependency on QtGui.
83
84 %package -n Qt5SingleApplication-devel
85 Summary:        Development files for Qt5SingleApplication library
86 Group:          Development/Libraries
87 Requires:       Qt5SingleApplication = %{version}-%{release}
88
89 %description -n Qt5SingleApplication-devel
90 This package contains libraries and header files for developing
91 applications that use Qt5SingleApplication.
92
93 %prep
94 %setup -qc
95 mv qt-solutions-* .qtsolutions
96 mv .qtsolutions/qtsingleapplication/* .
97 %patch0 -p0
98 %patch1 -p0
99 %patch2 -p1
100 %patch3 -p1
101
102 # We already disabled bundling this external library.
103 # But just to make sure:
104 rm src/{QtLocked,qtlocked}*
105
106 set -- *
107 install -d build-qt{4,5}
108 cp -al "$@" build-qt4
109 cp -al "$@" build-qt5
110
111 %build
112 %if %{with qt4}
113 cd build-qt4
114 # Does not use GNU configure
115 ./configure -library
116 qmake-qt4
117 %{__make}
118
119 # ensure the it links to right version of LockedFile
120 for l in SingleApplication SingleCoreApplication; do
121         f=libQtSolutions_$l-2.6.so
122         ldd lib/$f | grep libQtSolutions_LockedFile
123 done
124 cd ..
125 %endif
126
127 %if %{with qt5}
128 cd build-qt5
129 ./configure -library
130 # XXX fix QtLockedFile package?
131 qmake-qt5 INCLUDEPATH+=%{_includedir}/qt5/QtSolutions
132 %{__make}
133
134 # ensure the it links to right version of LockedFile
135 for l in SingleApplication SingleCoreApplication; do
136         f=libQt5Solutions_$l-2.6.so
137         ldd lib/$f | grep libQt5Solutions_LockedFile
138 done
139 cd ..
140 %endif
141
142 %install
143 rm -rf $RPM_BUILD_ROOT
144 %if %{with qt4}
145 cd build-qt4
146 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt4/QtSolutions,%{qt4dir}/mkspecs/features}
147 cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
148 rm $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.0
149 cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions
150 cp -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{qt4dir}/mkspecs/features
151 cd ..
152 %endif
153
154 %if %{with qt5}
155 cd build-qt5
156 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt5/QtSolutions,%{qt5dir}/mkspecs/features}
157 cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
158 rm $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.0
159 cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
160 cp -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features
161 cd ..
162
163 %endif
164
165 %clean
166 rm -rf $RPM_BUILD_ROOT
167
168 %post   -p /sbin/ldconfig
169 %postun -p /sbin/ldconfig
170
171 %post   -n Qt5SingleApplication -p /sbin/ldconfig
172 %postun -n Qt5SingleApplication -p /sbin/ldconfig
173
174 %if %{with qt4}
175 %files
176 %defattr(644,root,root,755)
177 %doc README.TXT
178 %attr(755,root,root) %{_libdir}/libQtSolutions_SingleApplication-2.6.so.*.*.*
179 %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_SingleApplication-2.6.so.1
180 %attr(755,root,root) %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so.*.*.*
181 %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so.1
182
183 %files devel
184 %defattr(644,root,root,755)
185 %doc doc examples
186 %{_libdir}/libQtSolutions_SingleApplication-2.6.so
187 %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so
188 %{_includedir}/qt4/QtSolutions/QtSingleApplication
189 %{_includedir}/qt4/QtSolutions/QtSingleCoreApplication
190 %{_includedir}/qt4/QtSolutions/qtsingleapplication.h
191 %{_includedir}/qt4/QtSolutions/qtsinglecoreapplication.h
192 %{qt4dir}/mkspecs/features/qtsingleapplication.prf
193 %{qt4dir}/mkspecs/features/qtsinglecoreapplication.prf
194 %endif
195
196 %if %{with qt5}
197 %files -n Qt5SingleApplication
198 %defattr(644,root,root,755)
199 %doc README.TXT
200 %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleApplication-2.6.so.*.*.*
201 %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_SingleApplication-2.6.so.1
202 %attr(755,root,root) %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so.*.*.*
203 %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so.1
204
205 %files -n Qt5SingleApplication-devel
206 %defattr(644,root,root,755)
207 %doc doc examples
208 %{_libdir}/libQt5Solutions_SingleApplication-2.6.so
209 %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so
210 %{_includedir}/qt5/QtSolutions/QtSingleApplication
211 %{_includedir}/qt5/QtSolutions/QtSingleCoreApplication
212 %{_includedir}/qt5/QtSolutions/qtsingleapplication.h
213 %{_includedir}/qt5/QtSolutions/qtsinglecoreapplication.h
214 %{qt5dir}/mkspecs/features/qtsingleapplication.prf
215 %{qt5dir}/mkspecs/features/qtsinglecoreapplication.prf
216 %endif
This page took 0.055771 seconds and 2 git commands to generate.