]> git.pld-linux.org Git - packages/qt5-qtwebkit.git/blob - qt5-qtwebkit.spec
2ceeab6e9ca9d286e7a1803602192acc23329eca
[packages/qt5-qtwebkit.git] / qt5-qtwebkit.spec
1 # TODO:
2 # - opencl support (BR: OpenCL-devel, WEBKIT_CONFIG+=opencl) ?
3 # - seccomp support (BR: libseccomp-devel, WEBKIT_CONFIG+=seccomp_filters) ?
4 # - system leveldb (requires memenv helper library)
5 # NOTE: not splitting WebKit/WebKitWidgets, interdependencies are not clear
6 # (e.g. WebProcess requires WebKitWidgets)
7 # - switch to building using cmake directly, reenable doc
8 #
9 # Conditional build:
10 %bcond_with     bootstrap       # disable features to able to build without installed qt5
11 # -- build targets
12 %bcond_with     doc             # Documentation
13 # -- features
14 %bcond_with     qtmultimedia    # QtMultimedia support
15
16 %if %{with bootstrap}
17 %undefine       with_doc
18 %endif
19
20 # it's not possible to build this with debuginfo on 32bit archs due to
21 # memory constraints during linking
22 %ifarch %{ix86} x32
23 %define         _enable_debug_packages          0
24 %endif
25
26 %define         snap    alpha3
27 %define         rel     1
28
29 %define         orgname                 qtwebkit
30 %define         qtbase_ver              5.11
31 %define         qtdeclarative_ver       5.11
32 %define         qtlocation_ver          5.11
33 %define         qtmultimedia_ver        5.11
34 %define         qtsensors_ver           5.11
35 %define         qttools_ver             5.11
36 Summary:        The Qt5 WebKit libraries
37 Summary(pl.UTF-8):      Biblioteki Qt5 WebKit
38 Name:           qt5-%{orgname}
39 Version:        5.212.0
40 Release:        0.%{snap}.%{rel}
41 License:        LGPL v2+
42 Group:          X11/Libraries
43 Source0:        https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-%{version}-%{snap}/qtwebkit-%{version}-%{snap}.tar.xz
44 # Source0-md5:  5e7ade75ad0df9047826e625e4f262fc
45 Patch0:         icu65.patch
46 # from FC
47 Patch102:       qtwebkit-5.212.0_cmake_cmp0071.patch
48 Patch108:       x32.patch
49 URL:            https://github.com/annulen/webkit
50 BuildRequires:  OpenGL-devel
51 BuildRequires:  Qt5Core-devel >= %{qtbase_ver}
52 BuildRequires:  Qt5Gui-devel >= %{qtbase_ver}
53 %{?with_qtmultimedia:BuildRequires:     Qt5MultimediaWidgets-devel >= %{qtmultimedia_ver}}
54 BuildRequires:  Qt5Network-devel >= %{qtbase_ver}
55 BuildRequires:  Qt5OpenGL-devel >= %{qtbase_ver}
56 BuildRequires:  Qt5Positioning-devel >= %{qtlocation_ver}
57 BuildRequires:  Qt5PrintSupport-devel >= %{qtbase_ver}
58 BuildRequires:  Qt5Qml-devel >= %{qtdeclarative_ver}
59 BuildRequires:  Qt5Quick-devel >= %{qtdeclarative_ver}
60 BuildRequires:  Qt5Sensors-devel >= %{qtsensors_ver}
61 BuildRequires:  Qt5Sql-devel >= %{qtbase_ver}
62 BuildRequires:  Qt5Widgets-devel >= %{qtbase_ver}
63 BuildRequires:  Qt5WebChannel-devel >= %{qtbase_ver}
64 BuildRequires:  glib2-devel >= 2.0
65 BuildRequires:  gperf
66 BuildRequires:  gstreamer-devel >= 1.0
67 BuildRequires:  gstreamer-plugins-base-devel >= 1.0
68 BuildRequires:  libicu-devel
69 BuildRequires:  libjpeg-devel
70 BuildRequires:  libpng-devel
71 BuildRequires:  libwebp-devel
72 BuildRequires:  libxml2-devel >= 2.0
73 BuildRequires:  libxslt-devel
74 BuildRequires:  pkgconfig
75 BuildRequires:  rpmbuild(macros) >= 1.654
76 %if %{with doc}
77 BuildRequires:  qt5-assistant >= %{qttools_ver}
78 %endif
79 BuildRequires:  qt5-build >= %{qtbase_ver}
80 BuildRequires:  qt5-qmake >= %{qtbase_ver}
81 BuildRequires:  rpmbuild(macros) >= 1.654
82 BuildRequires:  sqlite3-devel >= 3
83 BuildRequires:  tar >= 1:1.22
84 BuildRequires:  xorg-lib-libX11-devel
85 BuildRequires:  xorg-lib-libXcomposite-devel
86 BuildRequires:  xorg-lib-libXrender-devel
87 BuildRequires:  xz
88 BuildRequires:  zlib-devel
89 BuildConflicts: leveldb-devel
90 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
91
92 %define         specflags       -fno-strict-aliasing
93 %define         qt5dir          %{_libdir}/qt5
94
95 %description
96 Qt is a cross-platform application and UI framework. Using Qt, you can
97 write web-enabled applications once and deploy them across desktop,
98 mobile and embedded systems without rewriting the source code.
99
100 This package contains Qt5 WebKit libraries.
101
102 %description -l pl.UTF-8
103 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
104 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
105 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
106 źródłowego.
107
108 Ten pakiet zawiera biblioteki Qt5 WebKit.
109
110 %package -n Qt5WebKit
111 Summary:        The Qt5 WebKit libraries
112 Summary(pl.UTF-8):      Biblioteki Qt5 WebKit
113 Group:          X11/Libraries
114 Requires:       Qt5Core >= %{qtbase_ver}
115 Requires:       Qt5Gui >= %{qtbase_ver}
116 %{?with_qtmultimedia:Requires:  Qt5MultimediaWidgets >= %{qtmultimedia_ver}}
117 Requires:       Qt5Network >= %{qtbase_ver}
118 Requires:       Qt5OpenGL >= %{qtbase_ver}
119 Requires:       Qt5Positioning >= %{qtlocation_ver}
120 Requires:       Qt5PrintSupport >= %{qtbase_ver}
121 Requires:       Qt5Qml >= %{qtdeclarative_ver}
122 Requires:       Qt5Quick >= %{qtdeclarative_ver}
123 Requires:       Qt5Sensors >= %{qtsensors_ver}
124 Requires:       Qt5Sql >= %{qtbase_ver}
125 Requires:       Qt5Widgets >= %{qtbase_ver}
126
127 %description -n Qt5WebKit
128 Qt5 WebKit libraries provide a web browser engine as well as C++
129 classes to render and interact with web content.
130
131 %description -n Qt5WebKit -l pl.UTF-8
132 Biblioteki Qt5 WebKit dostarczają silnik przeglądarki WWW, a także
133 klasy C++ do renderowania i interakcji z treścią WWW.
134
135 %package -n Qt5WebKit-devel
136 Summary:        Qt5 WebKit libraries - development files
137 Summary(pl.UTF-8):      Biblioteki Qt5 WebKit - pliki programistyczne
138 Group:          X11/Development/Libraries
139 Requires:       Qt5Core-devel >= %{qtbase_ver}
140 Requires:       Qt5Gui-devel >= %{qtbase_ver}
141 %{?with_qtmultimedia:Requires:  Qt5MultimediaWidgets-devel >= %{qtmultimedia_ver}}
142 Requires:       Qt5Network-devel >= %{qtbase_ver}
143 Requires:       Qt5OpenGL-devel >= %{qtbase_ver}
144 Requires:       Qt5Positioning-devel >= %{qtlocation_ver}
145 Requires:       Qt5PrintSupport-devel >= %{qtbase_ver}
146 Requires:       Qt5Quick-devel >= %{qtbase_ver}
147 Requires:       Qt5Sensors-devel >= %{qtsensors_ver}
148 Requires:       Qt5WebKit = %{version}-%{release}
149 Requires:       Qt5Widgets-devel >= %{qtbase_ver}
150
151 %description -n Qt5WebKit-devel
152 Qt5 WebKit libraries - development files.
153
154 %description -n Qt5WebKit-devel -l pl.UTF-8
155 Biblioteki Qt5 WebKit - pliki programistyczne.
156
157 %package doc
158 Summary:        Qt5 WebKit documentation in HTML format
159 Summary(pl.UTF-8):      Dokumentacja do bibliotek Qt5 WebKit w formacie HTML
160 Group:          Documentation
161 Requires:       qt5-doc-common >= %{qtbase_ver}
162 %if "%{_rpmversion}" >= "5"
163 BuildArch:      noarch
164 %endif
165
166 %description doc
167 Qt5 WebKit documentation in HTML format.
168
169 %description doc -l pl.UTF-8
170 Dokumentacja do bibliotek Qt5 WebKit w formacie HTML.
171
172 %package doc-qch
173 Summary:        Qt5 WebKit documentation in QCH format
174 Summary(pl.UTF-8):      Dokumentacja do bibliotek Qt5 WebKit w formacie QCH
175 Group:          Documentation
176 Requires:       qt5-doc-common >= %{qtbase_ver}
177 %if "%{_rpmversion}" >= "5"
178 BuildArch:      noarch
179 %endif
180
181 %description doc-qch
182 Qt5 WebKit documentation in QCH format.
183
184 %description doc-qch -l pl.UTF-8
185 Dokumentacja do bibliotek Qt5 WebKit w formacie QCH.
186
187 %prep
188 %setup -q -n qtwebkit-%{version}-%{snap}
189 %patch0 -p0
190 %patch102 -p1
191 %patch108 -p1
192
193 %build
194 mkdir -p build
195 cd build
196 CFLAGS="%{rpmcflags}"; export CFLAGS
197 CXXFLAGS="%{rpmcxxflags} -fpermissive"; export CXXFLAGS
198 # We cannot use default cmake macro here as it overwrites some settings queried
199 # by qtwebkit cmake from qmake
200 cmake \
201         -DPORT=Qt \
202         -DCMAKE_BUILD_TYPE=Release \
203         -DENABLE_NETSCAPE_PLUGIN_API=ON \
204         -DENABLE_TOOLS=OFF \
205         -DENABLE_X11_TARGET=ON \
206         -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \
207         -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \
208         -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
209         %{?with_qtmultimedia:-DUSE_QT_MULTIMEDIA:BOOL=ON} \
210         %{?with_doc:-DGENERATE_DOCUMENTATION=ON} \
211 %if "%{_lib}" == "lib64"
212         -DLIB_SUFFIX=64 \
213 %endif
214 %if "%{_lib}" == "libx32"
215         -DLIB_SUFFIX=x32 \
216 %endif
217 %ifarch x32
218         -DENABLE_JIT=OFF \
219 %endif
220        ..
221
222 %{__make}
223 %{?with_doc:%{__make} docs}
224
225 %install
226 rm -rf $RPM_BUILD_ROOT
227
228 cd build
229 %{__make} install \
230         DESTDIR=$RPM_BUILD_ROOT
231
232 %if %{with doc}
233 %{__make} install_docs \
234         DESTDIR=$RPM_BUILD_ROOT
235 %endif
236
237 # kill unnecessary -L%{_libdir} from *.pc
238 %{__sed} -i -e "s,-L%{_libdir} \?,,g" \
239         $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
240 # kill unwanted Libs.private (containing many bogus entries) from *.pc files
241 %{__sed} -i -e '/^Libs\.private/d' $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
242
243 %clean
244 rm -rf $RPM_BUILD_ROOT
245
246 %post   -n Qt5WebKit -p /sbin/ldconfig
247 %postun -n Qt5WebKit -p /sbin/ldconfig
248
249 %files -n Qt5WebKit
250 %defattr(644,root,root,755)
251 %attr(755,root,root) %{_libdir}/libQt5WebKit.so.*.*.*
252 %attr(755,root,root) %ghost %{_libdir}/libQt5WebKit.so.5
253 %attr(755,root,root) %{_libdir}/libQt5WebKitWidgets.so.*.*.*
254 %attr(755,root,root) %ghost %{_libdir}/libQt5WebKitWidgets.so.5
255 %dir %{_libdir}/qt5/qml/QtWebKit
256 %attr(755,root,root) %{_libdir}/qt5/qml/QtWebKit/libqmlwebkitplugin.so
257 %{_libdir}/qt5/qml/QtWebKit/plugins.qmltypes
258 %{_libdir}/qt5/qml/QtWebKit/qmldir
259 %dir %{_libdir}/qt5/qml/QtWebKit/experimental
260 %attr(755,root,root) %{_libdir}/qt5/qml/QtWebKit/experimental/libqmlwebkitexperimentalplugin.so
261 %{_libdir}/qt5/qml/QtWebKit/experimental/qmldir
262 %dir %{_libdir}/qt5/libexec
263 %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebProcess
264 %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebNetworkProcess
265 %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebPluginProcess
266 %attr(755,root,root) %{_libdir}/qt5/libexec/QtWebStorageProcess
267
268 %files -n Qt5WebKit-devel
269 %defattr(644,root,root,755)
270 %attr(755,root,root) %{_libdir}/libQt5WebKit.so
271 %attr(755,root,root) %{_libdir}/libQt5WebKitWidgets.so
272 %{_includedir}/qt5/QtWebKit
273 %{_includedir}/qt5/QtWebKitWidgets
274 %{_pkgconfigdir}/Qt5WebKit.pc
275 %{_pkgconfigdir}/Qt5WebKitWidgets.pc
276 %{_libdir}/cmake/Qt5WebKit
277 %{_libdir}/cmake/Qt5WebKitWidgets
278 %{qt5dir}/mkspecs/modules/qt_lib_webkit.pri
279 %{qt5dir}/mkspecs/modules/qt_lib_webkit_private.pri
280 %{qt5dir}/mkspecs/modules/qt_lib_webkitwidgets.pri
281 %{qt5dir}/mkspecs/modules/qt_lib_webkitwidgets_private.pri
282
283 %if %{with doc}
284 %files doc
285 %defattr(644,root,root,755)
286 %{_docdir}/qt5-doc/qtwebkit
287
288 %files doc-qch
289 %defattr(644,root,root,755)
290 %{_docdir}/qt5-doc/qtwebkit.qch
291 %endif
This page took 0.072396 seconds and 2 git commands to generate.