]>
Commit | Line | Data |
---|---|---|
0b76b377 ER |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without qt4 # build Qt4 | |
4237b724 | 4 | %bcond_without qt5 # build Qt5 |
93c2628d ER |
5 | |
6 | # last commit to qtlockedfile subdir in | |
7 | # https://qt.gitorious.org/qt-solutions/qt-solutions/ | |
8 | %define commit 17b56547d6e0d9a06603231fe2384474f9144829 | |
3498a0fc ER |
9 | Summary: QFile extension with advisory locking functions |
10 | Name: QtLockedFile | |
11 | Version: 2.4 | |
f1a25cde | 12 | Release: 3 |
3498a0fc ER |
13 | License: GPL v3 or LGPL v2 with exceptions |
14 | Group: Libraries | |
93c2628d ER |
15 | # git clone git@gitorious.org:qt-solutions/qt-solutions.git |
16 | # git checkout %{commit} | |
17 | # tar -cjf QtLockedFile-%{version}.tar.bz2 -C qt-solutions/qtlockedfile . | |
18 | Source0: %{name}-%{version}.tar.bz2 | |
19 | # Source0-md5: 8d0525b7f3dc92ee1464c6a538832535 | |
3498a0fc ER |
20 | Source1: qtlockedfile.prf |
21 | Patch0: qtlockedfile-dont-build-example.patch | |
93c2628d ER |
22 | Patch1: qtlockedfile-use-current-version.patch |
23 | URL: http://doc.qt.digia.com/solutions/4/qtlockedfile/qtlockedfile.html | |
4237b724 | 24 | BuildRequires: libstdc++-devel |
0b76b377 | 25 | %if %{with qt4} |
caba5b65 | 26 | BuildRequires: QtCore-devel |
caba5b65 | 27 | BuildRequires: qt4-qmake |
0b76b377 ER |
28 | %endif |
29 | %if %{with qt5} | |
4237b724 | 30 | BuildRequires: Qt5Core-devel |
f1a25cde | 31 | BuildRequires: qt5-qmake >= 5.4 |
0b76b377 | 32 | %endif |
3498a0fc ER |
33 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
34 | ||
1d007fa9 ER |
35 | %define qt4dir %{_datadir}/qt4 |
36 | %define qt5dir %{_libdir}/qt5 | |
3498a0fc ER |
37 | |
38 | %description | |
39 | This class extends the QFile class with inter-process file locking | |
40 | capabilities. If an application requires that several processes should | |
41 | access the same file, QtLockedFile can be used to easily ensure that | |
42 | only one process at a time is writing to the file, and that no process | |
43 | is writing to it while others are reading it. | |
44 | ||
93c2628d | 45 | %package devel |
3498a0fc ER |
46 | Summary: Development files for QtLockedFile library |
47 | Group: Development/Libraries | |
48 | Requires: %{name} = %{version}-%{release} | |
3498a0fc | 49 | |
93c2628d | 50 | %description devel |
3498a0fc ER |
51 | This package contains libraries and header files for developing |
52 | applications that use QtLockedFile. | |
53 | ||
4237b724 ER |
54 | %package -n Qt5LockedFile |
55 | Summary: QFile extension with advisory locking functions | |
56 | Group: Libraries | |
57 | ||
58 | %description -n Qt5LockedFile | |
59 | This class extends the QFile class with inter-process file locking | |
60 | capabilities. If an application requires that several processes should | |
61 | access the same file, QtLockedFile can be used to easily ensure that | |
62 | only one process at a time is writing to the file, and that no process | |
63 | is writing to it while others are reading it. | |
64 | ||
65 | %package -n Qt5LockedFile-devel | |
66 | Summary: Development files for Qt5LockedFile library | |
67 | Group: Development/Libraries | |
68 | Requires: Qt5LockedFile = %{version}-%{release} | |
4237b724 ER |
69 | |
70 | %description -n Qt5LockedFile-devel | |
71 | This package contains libraries and header files for developing | |
72 | applications that use Qt5LockedFile. | |
73 | ||
3498a0fc | 74 | %prep |
93c2628d | 75 | %setup -qc |
3498a0fc | 76 | %patch0 -p1 |
93c2628d | 77 | %patch1 -p0 |
3498a0fc | 78 | |
0b76b377 ER |
79 | set -- * |
80 | install -d build-qt{4,5} | |
81 | cp -al "$@" build-qt4 | |
82 | cp -al "$@" build-qt5 | |
83 | ||
3498a0fc | 84 | %build |
0b76b377 ER |
85 | %if %{with qt4} |
86 | cd build-qt4 | |
3498a0fc ER |
87 | # Does not use GNU configure |
88 | ./configure -library | |
89 | qmake-qt4 | |
90 | %{__make} | |
0b76b377 ER |
91 | cd .. |
92 | %endif | |
93 | ||
94 | %if %{with qt5} | |
95 | cd build-qt5 | |
96 | ./configure -library | |
97 | qmake-qt5 | |
98 | %{__make} | |
99 | cd .. | |
100 | %endif | |
3498a0fc ER |
101 | |
102 | %install | |
103 | rm -rf $RPM_BUILD_ROOT | |
104 | ||
0b76b377 ER |
105 | %if %{with qt4} |
106 | cd build-qt4 | |
1d007fa9 | 107 | install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt4/QtSolutions,%{qt4dir}/mkspecs/features} |
3498a0fc | 108 | cp -a lib/* $RPM_BUILD_ROOT%{_libdir} |
3498a0fc | 109 | rm $RPM_BUILD_ROOT%{_libdir}/lib*-%{version}.so.1.0 |
1d007fa9 ER |
110 | cp -p src/qtlockedfile.h src/QtLockedFile $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions |
111 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{qt4dir}/mkspecs/features | |
0b76b377 ER |
112 | cd .. |
113 | %endif | |
114 | ||
115 | %if %{with qt5} | |
116 | cd build-qt5 | |
1d007fa9 | 117 | install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt5/QtSolutions,%{qt5dir}/mkspecs/features} |
0b76b377 ER |
118 | cp -a lib/* $RPM_BUILD_ROOT%{_libdir} |
119 | rm $RPM_BUILD_ROOT%{_libdir}/lib*-%{version}.so.1.0 | |
4237b724 | 120 | cp -p src/qtlockedfile.h src/QtLockedFile $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions |
1d007fa9 | 121 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features |
0b76b377 ER |
122 | cd .. |
123 | %endif | |
3498a0fc ER |
124 | |
125 | %clean | |
126 | rm -rf $RPM_BUILD_ROOT | |
127 | ||
128 | %post -p /sbin/ldconfig | |
129 | %postun -p /sbin/ldconfig | |
130 | ||
83075c20 ER |
131 | %post -n Qt5LockedFile -p /sbin/ldconfig |
132 | %postun -n Qt5LockedFile -p /sbin/ldconfig | |
133 | ||
0b76b377 | 134 | %if %{with qt4} |
3498a0fc ER |
135 | %files |
136 | %defattr(644,root,root,755) | |
93c2628d | 137 | %doc README.TXT |
3498a0fc ER |
138 | %attr(755,root,root) %{_libdir}/libQtSolutions_LockedFile-%{version}.so.*.*.* |
139 | %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_LockedFile-%{version}.so.1 | |
140 | ||
141 | %files devel | |
142 | %defattr(644,root,root,755) | |
143 | %doc doc example | |
144 | %{_libdir}/libQtSolutions_LockedFile-%{version}.so | |
1d007fa9 ER |
145 | # XXX shared dir |
146 | %dir %{_includedir}/qt4/QtSolutions | |
147 | %{_includedir}/qt4/QtSolutions/QtLockedFile | |
148 | %{_includedir}/qt4/QtSolutions/qtlockedfile.h | |
149 | %{qt4dir}/mkspecs/features/qtlockedfile.prf | |
0b76b377 ER |
150 | %endif |
151 | ||
152 | %if %{with qt5} | |
4237b724 | 153 | %files -n Qt5LockedFile |
0b76b377 ER |
154 | %defattr(644,root,root,755) |
155 | %doc README.TXT | |
4237b724 ER |
156 | %attr(755,root,root) %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.*.*.* |
157 | %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.1 | |
0b76b377 | 158 | |
4237b724 | 159 | %files -n Qt5LockedFile-devel |
0b76b377 ER |
160 | %defattr(644,root,root,755) |
161 | %doc doc example | |
4237b724 ER |
162 | %{_libdir}/libQt5Solutions_LockedFile-%{version}.so |
163 | # XXX shared dir | |
164 | %dir %{_includedir}/qt5/QtSolutions | |
165 | %{_includedir}/qt5/QtSolutions/QtLockedFile | |
166 | %{_includedir}/qt5/QtSolutions/qtlockedfile.h | |
1d007fa9 | 167 | %{qt5dir}/mkspecs/features/qtlockedfile.prf |
0b76b377 | 168 | %endif |