3 %bcond_without qt4 # build Qt4
4 %bcond_without qt5 # build Qt5
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
14 License: GPL v3 or LGPL v2 with exceptions
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
28 BuildRequires: QtCore-devel >= 4
29 BuildRequires: qt4-qmake >= 4
32 BuildRequires: Qt5Core-devel >= 5.4
33 BuildRequires: qt5-qmake >= 5.4
35 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 %define qt4dir %{_datadir}/qt4
38 %define qt5dir %{_libdir}/qt5
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.
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ą.
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
62 This package contains header files for developing applications that
65 %description devel -l pl.UTF-8
66 Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji
67 wykorzystujących QtLockedFile.
69 %package -n Qt5LockedFile
70 Summary: QFile extension with advisory locking functions
71 Summary(pl.UTF-8): Rozszerzenie QFile z funkcjami do blokowania doradczego
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.
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ą.
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}
95 %description -n Qt5LockedFile-devel
96 This package contains libraries and header files for developing
97 applications that use Qt5LockedFile.
99 %description -n Qt5LockedFile-devel -l pl.UTF-8
100 Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji
101 wykorzystujących QtLockedFile.
110 # Does not use GNU configure
116 qmake-qt4 ../qtlockedfile.pro \
117 QMAKE_CXX="%{__cxx}" \
118 QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \
119 QMAKE_LFLAGS_RELEASE="%{rpmldflags}" \
120 INSTALL_LIBDIR=%{_libdir}
128 qmake-qt5 ../qtlockedfile.pro \
129 QMAKE_CXX="%{__cxx}" \
130 QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \
131 QMAKE_LFLAGS_RELEASE="%{rpmldflags}" \
132 INSTALL_LIBDIR=%{_libdir}
138 rm -rf $RPM_BUILD_ROOT
141 %{__make} -C build-qt4 install \
142 INSTALL_ROOT=$RPM_BUILD_ROOT
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
151 %{__make} -C build-qt5 install \
152 INSTALL_ROOT=$RPM_BUILD_ROOT
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 %{__sed} -e 's/-lQtSolutions/-lQt5Solutions/' %{SOURCE1} >$RPM_BUILD_ROOT%{qt5dir}/mkspecs/features/qtlockedfile.prf
161 rm -rf $RPM_BUILD_ROOT
163 %post -p /sbin/ldconfig
164 %postun -p /sbin/ldconfig
166 %post -n Qt5LockedFile -p /sbin/ldconfig
167 %postun -n Qt5LockedFile -p /sbin/ldconfig
171 %defattr(644,root,root,755)
173 %attr(755,root,root) %{_libdir}/libQtSolutions_LockedFile-%{version}.so.*.*.*
174 %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_LockedFile-%{version}.so.1
177 %defattr(644,root,root,755)
179 %attr(755,root,root) %{_libdir}/libQtSolutions_LockedFile-%{version}.so
181 %dir %{_includedir}/qt4/QtSolutions
182 %{_includedir}/qt4/QtSolutions/QtLockedFile
183 %{_includedir}/qt4/QtSolutions/qtlockedfile.h
184 %{qt4dir}/mkspecs/features/qtlockedfile.prf
188 %files -n Qt5LockedFile
189 %defattr(644,root,root,755)
191 %attr(755,root,root) %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.*.*.*
192 %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.1
194 %files -n Qt5LockedFile-devel
195 %defattr(644,root,root,755)
197 %attr(755,root,root) %{_libdir}/libQt5Solutions_LockedFile-%{version}.so
199 %dir %{_includedir}/qt5/QtSolutions
200 %{_includedir}/qt5/QtSolutions/QtLockedFile
201 %{_includedir}/qt5/QtSolutions/qtlockedfile.h
202 %{qt5dir}/mkspecs/features/qtlockedfile.prf