]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_without qt4 # build Qt4 | |
4 | %bcond_without qt5 # build Qt5 | |
5 | ||
6 | # last commit to qtlockedfile subdir in | |
7 | # https://qt.gitorious.org/qt-solutions/qt-solutions/ | |
8 | %define commit 17b56547d6e0d9a06603231fe2384474f9144829 | |
9 | Summary: QFile extension with advisory locking functions | |
10 | Summary(pl.UTF-8): Rozszerzenie QFile z funkcjami do blokowania doradczego | |
11 | Name: QtLockedFile | |
12 | Version: 2.4 | |
13 | Release: 4 | |
14 | License: GPL v3 or LGPL v2 with exceptions | |
15 | Group: Libraries | |
16 | # git clone git@gitorious.org:qt-solutions/qt-solutions.git | |
17 | # git checkout %{commit} | |
18 | # tar -cjf QtLockedFile-%{version}.tar.bz2 -C qt-solutions/qtlockedfile . | |
19 | Source0: %{name}-%{version}.tar.bz2 | |
20 | # Source0-md5: 8d0525b7f3dc92ee1464c6a538832535 | |
21 | Source1: qtlockedfile.prf | |
22 | Patch0: qtlockedfile-dont-build-example.patch | |
23 | Patch1: qtlockedfile-use-current-version.patch | |
24 | Patch2: qtlockedfile-install.patch | |
25 | URL: http://doc.qt.digia.com/solutions/4/qtlockedfile/qtlockedfile.html | |
26 | BuildRequires: libstdc++-devel | |
27 | %if %{with qt4} | |
28 | BuildRequires: QtCore-devel >= 4 | |
29 | BuildRequires: qt4-qmake >= 4 | |
30 | %endif | |
31 | %if %{with qt5} | |
32 | BuildRequires: Qt5Core-devel >= 5.4 | |
33 | BuildRequires: qt5-qmake >= 5.4 | |
34 | %endif | |
35 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
36 | ||
37 | %define qt4dir %{_datadir}/qt4 | |
38 | %define qt5dir %{_libdir}/qt5 | |
39 | ||
40 | %description | |
41 | This class extends the QFile class with inter-process file locking | |
42 | capabilities. If an application requires that several processes should | |
43 | access the same file, QtLockedFile can be used to easily ensure that | |
44 | only one process at a time is writing to the file, and that no process | |
45 | is writing to it while others are reading it. | |
46 | ||
47 | %description -l pl.UTF-8 | |
48 | Ta klasa rozszerza klasę QFile o możliwość międzyprocesowego | |
49 | blokowania plików. Jeśli aplikacja wymaga, aby różne procesy miały | |
50 | dostęp do tego samego pliku, QtLockedFile może pomóc łatwo zapewnić, | |
51 | że tylko jeden proces naraz zapisuje do pliku i żaden proces nie | |
52 | zapisuje, kiedy inne go czytają. | |
53 | ||
54 | %package devel | |
55 | Summary: Development files for QtLockedFile library | |
56 | Summary(pl.UTF-8): Pliki programistyczne biblioteki QtLockedFile | |
57 | Group: Development/Libraries | |
58 | Requires: %{name} = %{version}-%{release} | |
59 | Requires: QtCore-devel >= 4 | |
60 | ||
61 | %description devel | |
62 | This package contains header files for developing applications that | |
63 | use QtLockedFile. | |
64 | ||
65 | %description devel -l pl.UTF-8 | |
66 | Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji | |
67 | wykorzystujących QtLockedFile. | |
68 | ||
69 | %package -n Qt5LockedFile | |
70 | Summary: QFile extension with advisory locking functions | |
71 | Summary(pl.UTF-8): Rozszerzenie QFile z funkcjami do blokowania doradczego | |
72 | Group: Libraries | |
73 | ||
74 | %description -n Qt5LockedFile | |
75 | This class extends the QFile class with inter-process file locking | |
76 | capabilities. If an application requires that several processes should | |
77 | access the same file, QtLockedFile can be used to easily ensure that | |
78 | only one process at a time is writing to the file, and that no process | |
79 | is writing to it while others are reading it. | |
80 | ||
81 | %description -n Qt5LockedFile -l pl.UTF-8 | |
82 | Ta klasa rozszerza klasę QFile o możliwość międzyprocesowego | |
83 | blokowania plików. Jeśli aplikacja wymaga, aby różne procesy miały | |
84 | dostęp do tego samego pliku, QtLockedFile może pomóc łatwo zapewnić, | |
85 | że tylko jeden proces naraz zapisuje do pliku i żaden proces nie | |
86 | zapisuje, kiedy inne go czytają. | |
87 | ||
88 | %package -n Qt5LockedFile-devel | |
89 | Summary: Development files for Qt5LockedFile library | |
90 | Summary(pl.UTF-8): Pliki programistyczne biblioteki QtLockedFile | |
91 | Group: Development/Libraries | |
92 | Requires: Qt5Core-devel >= 5 | |
93 | Requires: Qt5LockedFile = %{version}-%{release} | |
94 | ||
95 | %description -n Qt5LockedFile-devel | |
96 | This package contains libraries and header files for developing | |
97 | applications that use Qt5LockedFile. | |
98 | ||
99 | %description -n Qt5LockedFile-devel -l pl.UTF-8 | |
100 | Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji | |
101 | wykorzystujących QtLockedFile. | |
102 | ||
103 | %prep | |
104 | %setup -qc | |
105 | %patch0 -p1 | |
106 | %patch1 -p0 | |
107 | %patch2 -p1 | |
108 | ||
109 | %build | |
110 | # Does not use GNU configure | |
111 | ./configure -library | |
112 | ||
113 | %if %{with qt4} | |
114 | install -d build-qt4 | |
115 | cd build-qt4 | |
116 | qmake-qt4 ../qtlockedfile.pro \ | |
117 | QMAKE_CXX="%{__cxx}" \ | |
118 | QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \ | |
119 | QMAKE_LFLAGS_RELEASE="%{rpmldflags}" \ | |
120 | INSTALL_LIBDIR=%{_libdir} | |
121 | %{__make} | |
122 | cd .. | |
123 | %endif | |
124 | ||
125 | %if %{with qt5} | |
126 | install -d build-qt5 | |
127 | cd build-qt5 | |
128 | qmake-qt5 ../qtlockedfile.pro \ | |
129 | QMAKE_CXX="%{__cxx}" \ | |
130 | QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \ | |
131 | QMAKE_LFLAGS_RELEASE="%{rpmldflags}" \ | |
132 | INSTALL_LIBDIR=%{_libdir} | |
133 | %{__make} | |
134 | cd .. | |
135 | %endif | |
136 | ||
137 | %install | |
138 | rm -rf $RPM_BUILD_ROOT | |
139 | ||
140 | %if %{with qt4} | |
141 | %{__make} -C build-qt4 install \ | |
142 | INSTALL_ROOT=$RPM_BUILD_ROOT | |
143 | ||
144 | install -d $RPM_BUILD_ROOT{%{_includedir}/qt4/QtSolutions,%{qt4dir}/mkspecs/features} | |
145 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*-%{version}.so.1.0 | |
146 | cp -p src/qtlockedfile.h src/QtLockedFile $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions | |
147 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{qt4dir}/mkspecs/features | |
148 | %endif | |
149 | ||
150 | %if %{with qt5} | |
151 | %{__make} -C build-qt5 install \ | |
152 | INSTALL_ROOT=$RPM_BUILD_ROOT | |
153 | ||
154 | install -d $RPM_BUILD_ROOT{%{_includedir}/qt5/QtSolutions,%{qt5dir}/mkspecs/features} | |
155 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*-%{version}.so.1.0 | |
156 | cp -p src/qtlockedfile.h src/QtLockedFile $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions | |
157 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features | |
158 | %endif | |
159 | ||
160 | %clean | |
161 | rm -rf $RPM_BUILD_ROOT | |
162 | ||
163 | %post -p /sbin/ldconfig | |
164 | %postun -p /sbin/ldconfig | |
165 | ||
166 | %post -n Qt5LockedFile -p /sbin/ldconfig | |
167 | %postun -n Qt5LockedFile -p /sbin/ldconfig | |
168 | ||
169 | %if %{with qt4} | |
170 | %files | |
171 | %defattr(644,root,root,755) | |
172 | %doc README.TXT | |
173 | %attr(755,root,root) %{_libdir}/libQtSolutions_LockedFile-%{version}.so.*.*.* | |
174 | %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_LockedFile-%{version}.so.1 | |
175 | ||
176 | %files devel | |
177 | %defattr(644,root,root,755) | |
178 | %doc doc example | |
179 | %attr(755,root,root) %{_libdir}/libQtSolutions_LockedFile-%{version}.so | |
180 | # XXX shared dir | |
181 | %dir %{_includedir}/qt4/QtSolutions | |
182 | %{_includedir}/qt4/QtSolutions/QtLockedFile | |
183 | %{_includedir}/qt4/QtSolutions/qtlockedfile.h | |
184 | %{qt4dir}/mkspecs/features/qtlockedfile.prf | |
185 | %endif | |
186 | ||
187 | %if %{with qt5} | |
188 | %files -n Qt5LockedFile | |
189 | %defattr(644,root,root,755) | |
190 | %doc README.TXT | |
191 | %attr(755,root,root) %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.*.*.* | |
192 | %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.1 | |
193 | ||
194 | %files -n Qt5LockedFile-devel | |
195 | %defattr(644,root,root,755) | |
196 | %doc doc example | |
197 | %attr(755,root,root) %{_libdir}/libQt5Solutions_LockedFile-%{version}.so | |
198 | # XXX shared dir | |
199 | %dir %{_includedir}/qt5/QtSolutions | |
200 | %{_includedir}/qt5/QtSolutions/QtLockedFile | |
201 | %{_includedir}/qt5/QtSolutions/qtlockedfile.h | |
202 | %{qt5dir}/mkspecs/features/qtlockedfile.prf | |
203 | %endif |