]> git.pld-linux.org Git - packages/QtLockedFile.git/blob - QtLockedFile.spec
fix qt5 packaging, use includedir/qt4 for qt4 package
[packages/QtLockedFile.git] / QtLockedFile.spec
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 Name:           QtLockedFile
11 Version:        2.4
12 Release:        2
13 License:        GPL v3 or LGPL v2 with exceptions
14 Group:          Libraries
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
20 Source1:        qtlockedfile.prf
21 Patch0:         qtlockedfile-dont-build-example.patch
22 Patch1:         qtlockedfile-use-current-version.patch
23 URL:            http://doc.qt.digia.com/solutions/4/qtlockedfile/qtlockedfile.html
24 BuildRequires:  libstdc++-devel
25 %if %{with qt4}
26 BuildRequires:  QtCore-devel
27 BuildRequires:  qt4-qmake
28 %endif
29 %if %{with qt5}
30 BuildRequires:  Qt5Core-devel
31 BuildRequires:  qt5-qmake
32 %endif
33 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34
35 %define         qt4dir  %{_datadir}/qt4
36 %define         qt5dir  %{_libdir}/qt5
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
45 %package devel
46 Summary:        Development files for QtLockedFile library
47 Group:          Development/Libraries
48 Requires:       %{name} = %{version}-%{release}
49 Requires:       qt4-build
50 Requires:       qt4-qmake
51
52 %description devel
53 This package contains libraries and header files for developing
54 applications that use QtLockedFile.
55
56 %package -n Qt5LockedFile
57 Summary:        QFile extension with advisory locking functions
58 Group:          Libraries
59
60 %description -n Qt5LockedFile
61 This class extends the QFile class with inter-process file locking
62 capabilities. If an application requires that several processes should
63 access the same file, QtLockedFile can be used to easily ensure that
64 only one process at a time is writing to the file, and that no process
65 is writing to it while others are reading it.
66
67 %package -n Qt5LockedFile-devel
68 Summary:        Development files for Qt5LockedFile library
69 Group:          Development/Libraries
70 Requires:       Qt5LockedFile = %{version}-%{release}
71 Requires:       qt5-build
72 Requires:       qt5-qmake
73
74 %description -n Qt5LockedFile-devel
75 This package contains libraries and header files for developing
76 applications that use Qt5LockedFile.
77
78 %prep
79 %setup -qc
80 %patch0 -p1
81 %patch1 -p0
82
83 set -- *
84 install -d build-qt{4,5}
85 cp -al "$@" build-qt4
86 cp -al "$@" build-qt5
87
88 %{__sed} -i -e 's/QtSolutions/Qt5Solutions/' build-qt5/common.pri
89
90 %build
91 %if %{with qt4}
92 cd build-qt4
93 # Does not use GNU configure
94 ./configure -library
95 qmake-qt4
96 %{__make}
97 cd ..
98 %endif
99
100 %if %{with qt5}
101 cd build-qt5
102 ./configure -library
103 qmake-qt5
104 %{__make}
105 cd ..
106 %endif
107
108 %install
109 rm -rf $RPM_BUILD_ROOT
110
111 %if %{with qt4}
112 cd build-qt4
113 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt4/QtSolutions,%{qt4dir}/mkspecs/features}
114 cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
115 rm $RPM_BUILD_ROOT%{_libdir}/lib*-%{version}.so.1.0
116 cp -p src/qtlockedfile.h src/QtLockedFile $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions
117 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{qt4dir}/mkspecs/features
118 cd ..
119 %endif
120
121 %if %{with qt5}
122 cd build-qt5
123 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt5/QtSolutions,%{qt5dir}/mkspecs/features}
124 cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
125 rm $RPM_BUILD_ROOT%{_libdir}/lib*-%{version}.so.1.0
126 cp -p src/qtlockedfile.h src/QtLockedFile $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
127 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features
128 cd ..
129 %endif
130
131 %clean
132 rm -rf $RPM_BUILD_ROOT
133
134 %post   -p /sbin/ldconfig
135 %postun -p /sbin/ldconfig
136
137 %if %{with qt4}
138 %files
139 %defattr(644,root,root,755)
140 %doc README.TXT
141 %attr(755,root,root) %{_libdir}/libQtSolutions_LockedFile-%{version}.so.*.*.*
142 %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_LockedFile-%{version}.so.1
143
144 %files devel
145 %defattr(644,root,root,755)
146 %doc doc example
147 %{_libdir}/libQtSolutions_LockedFile-%{version}.so
148 # XXX shared dir
149 %dir %{_includedir}/qt4/QtSolutions
150 %{_includedir}/qt4/QtSolutions/QtLockedFile
151 %{_includedir}/qt4/QtSolutions/qtlockedfile.h
152 %{qt4dir}/mkspecs/features/qtlockedfile.prf
153 %endif
154
155 %if %{with qt5}
156 %files -n Qt5LockedFile
157 %defattr(644,root,root,755)
158 %doc README.TXT
159 %attr(755,root,root) %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.*.*.*
160 %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.1
161
162 %files -n Qt5LockedFile-devel
163 %defattr(644,root,root,755)
164 %doc doc example
165 %{_libdir}/libQt5Solutions_LockedFile-%{version}.so
166 # XXX shared dir
167 %dir %{_includedir}/qt5/QtSolutions
168 %{_includedir}/qt5/QtSolutions/QtLockedFile
169 %{_includedir}/qt5/QtSolutions/qtlockedfile.h
170 %{qt5dir}/mkspecs/features/qtlockedfile.prf
171 %endif
This page took 0.1224 seconds and 4 git commands to generate.