4 # - subpackages to sql classes
7 %bcond_with static_libs # build static libraries
9 %bcond_without cups # CUPS printing support
10 %bcond_with nas # NAS audio support
11 %bcond_without gtk # GTK+ theme integration
12 %bcond_without pch # pch (pre-compiled headers) in qmake
13 %bcond_without system_phonon # phonon libraries from phonon.spec intead of qt4.spec
14 %bcond_with wkhtml # WKHTMLTOPDF patch (affects QtGui ABI)
16 %bcond_without mysql # MySQL plugin
17 %bcond_without odbc # unixODBC plugin
18 %bcond_without pgsql # PostgreSQL plugin
19 %bcond_without sqlite3 # SQLite3 plugin
20 %bcond_without sqlite # SQLite2 plugin
21 %bcond_without ibase # ibase (InterBase/Firebird) plugin
22 # -- SIMD CPU instructions
23 %bcond_with sse # use SSE instructions in gui/painting module
24 %bcond_with sse2 # use SSE2 instructions
25 %bcond_with sse3 # use SSE3 instructions (since: Intel middle Pentium4, AMD Athlon64)
26 %bcond_with ssse3 # use SSSE3 instructions (Intel since Core2, Via Nano)
27 %bcond_with sse41 # use SSE4.1 instructions (Intel since middle Core2)
28 %bcond_with sse42 # use SSE4.2 instructions (the same)
29 %bcond_with avx # use AVX instructions (future Intel x86 CPUs only)
31 %ifnarch %{ix86} %{x8664} sparc sparcv9 alpha ppc
37 %ifarch athlon pentium3 pentium4 %{x8664}
40 %ifarch pentium3 pentium4 %{x8664}
43 %ifarch pentium4 %{x8664}
48 %{!?with_sqlite3:%{!?with_sqlite:%{!?with_ibase:%{!?with_mysql:%{!?with_pgsql:%{!?with_odbc:%undefine _withsql}}}}}}
51 %define next_icu_abi %(echo $((%{icu_abi} + 1)))
53 %define orgname qtbase
54 Summary: Qt5 - QtBase components
55 Summary(es.UTF-8): Biblioteca para ejecutar aplicaciones Qt5
56 Summary(pl.UTF-8): Biblioteka Qt5
57 Summary(pt_BR.UTF-8): Estrutura para rodar aplicações Qt5
61 # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
62 License: LGPLv2 with exceptions or GPLv3 with exceptions
64 Source0: http://download.qt-project.org/official_releases/qt/5.2/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
65 # Source0-md5: c94bbaf1bb7f0f4a32d2caa7501416e1
66 URL: http://qt-project.org/
67 %{?with_ibase:BuildRequires: Firebird-devel}
68 BuildRequires: Mesa-libOpenVG-devel
69 BuildRequires: OpenGL-GLU-devel
70 BuildRequires: OpenGL-devel
71 BuildRequires: alsa-lib-devel
72 %{?with_cups:BuildRequires: cups-devel}
73 BuildRequires: dbus-devel >= 0.93
74 BuildRequires: fontconfig-devel
75 BuildRequires: freetds-devel
76 BuildRequires: freetype-devel >= 1:2.0.0
77 %{?with_pch:BuildRequires: gcc >= 5:4.0}
79 BuildRequires: glib2-devel >= 2.0.0
80 BuildRequires: gstreamer0.10-plugins-base-devel
81 %{?with_gtk:BuildRequires: gtk+2-devel >= 2:2.10}
82 # see dependency on libicu version below
83 BuildRequires: libicu-devel < %{next_icu_abi}
84 BuildRequires: libicu-devel >= %{icu_abi}
85 BuildRequires: libjpeg-devel
86 BuildRequires: libmng-devel >= 1.0.0
87 BuildRequires: libpng-devel >= 2:1.0.8
88 BuildRequires: libstdc++-devel
89 %{?with_mysql:BuildRequires: mysql-devel}
90 %{?with_nas:BuildRequires: nas-devel}
91 BuildRequires: pkgconfig
92 %{?with_pgsql:BuildRequires: postgresql-backend-devel}
93 %{?with_pgsql:BuildRequires: postgresql-devel}
94 BuildRequires: pulseaudio-devel >= 0.9.10
95 BuildRequires: rpmbuild(macros) >= 1.654
97 BuildRequires: sed >= 4.0
98 %{?with_sqlite:BuildRequires: sqlite-devel}
99 %{?with_sqlite3:BuildRequires: sqlite3-devel}
100 BuildRequires: tar >= 1:1.22
101 BuildRequires: udev-devel
102 %{?with_odbc:BuildRequires: unixODBC-devel >= 2.3.0}
103 BuildRequires: xcb-util-image-devel
104 BuildRequires: xcb-util-keysyms-devel
105 BuildRequires: xcb-util-renderutil-devel
106 BuildRequires: xcb-util-wm-devel
107 BuildRequires: xorg-lib-libSM-devel
108 BuildRequires: xorg-lib-libXcursor-devel
109 BuildRequires: xorg-lib-libXext-devel
110 BuildRequires: xorg-lib-libXfixes-devel
111 BuildRequires: xorg-lib-libXi-devel
112 BuildRequires: xorg-lib-libXinerama-devel
113 BuildRequires: xorg-lib-libXrandr-devel
114 BuildRequires: xorg-lib-libXrender-devel
115 BuildRequires: xorg-lib-libXtst-devel
116 BuildRequires: xorg-lib-libXv-devel
118 BuildRequires: zlib-devel
119 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
121 %define _noautoreqdep libGL.so.1 libGLU.so.1
122 %define _noautostrip '.*_debug\\.so*'
124 %define specflags -fno-strict-aliasing
126 %define _qtdir %{_libdir}/qt5
129 Qt is a software toolkit for developing applications.
131 This package contains base tools, like string, xml, and network
135 Summary: The Qt5 application framework - development files
136 Group: X11/Development/Libraries
137 Requires: %{name} = %{version}-%{release}
140 Qt5 - development files.
143 Summary: The Qt5 application framework base - docs
145 Requires: %{name} = %{version}-%{release}
148 Qt5 base - documentation.
151 Summary: Qt5 examples
152 Group: X11/Development/Libraries
154 %description examples
158 %setup -q -n %{orgname}-opensource-src-%{version}
160 %{__sed} -i -e 's,usr/X11R6/,usr/g,' mkspecs/linux-g++-64/qmake.conf \
161 mkspecs/common/linux.conf
163 # change QMAKE FLAGS to build
165 s|QMAKE_CC.*=.*gcc|QMAKE_CC\t\t= %{__cc}|;
166 s|QMAKE_CXX.*=.*g++|QMAKE_CXX\t\t= %{__cxx}|;
167 s|QMAKE_LINK.*=.*g++|QMAKE_LINK\t\t= %{__cxx}|;
168 s|QMAKE_LINK_SHLIB.*=.*g++|QMAKE_LINK_SHLIB\t= %{__cxx}|;
169 s|QMAKE_CFLAGS_RELEASE.*|QMAKE_CFLAGS_RELEASE\t+= %{rpmcppflags} %{rpmcflags}|;
170 s|QMAKE_CXXFLAGS_RELEASE.*|QMAKE_CXXFLAGS_RELEASE\t+= %{rpmcppflags} %{rpmcxxflags}|;
171 s|QMAKE_CFLAGS_DEBUG.*|QMAKE_CFLAGS_DEBUG\t+= %{debugcflags}|;
172 s|QMAKE_CXXFLAGS_DEBUG.*|QMAKE_CXXFLAGS_DEBUG\t+= %{debugcflags}|;
173 ' mkspecs/common/g++-base.conf
176 # s|QMAKE_INCDIR_QT.*|QMAKE_INCDIR_QT = %{_includedir}/qt4|;
177 # ' mkspecs/common/linux.conf
181 s|^QMAKE_LIBDIR_QT.*=.*|QMAKE_LIBDIR_QT =|;
182 ' mkspecs/common/linux.conf
184 # undefine QMAKE_STRIP, so we get useful -debuginfo pkgs
186 s|^QMAKE_STRIP.*=.*|QMAKE_STRIP =|;
187 ' mkspecs/common/linux.conf
191 s|^QMAKE_LFLAGS .*=.*|QMAKE_LFLAGS\t\t+= %{rpmldflags}|;
192 ' mkspecs/common/gcc-base.conf
195 # pass OPTFLAGS to build qmake itself with optimization
196 export OPTFLAGS="%{rpmcflags}"
197 export PATH=$PWD/bin:$PATH
199 ##################################
200 # DEFAULT OPTIONS FOR ALL BUILDS #
201 ##################################
208 -bindir %{_qtdir}/bin \
209 -docdir %{_docdir}/qt5-doc \
210 -headerdir %{_includedir}/qt5 \
212 -plugindir %{_qtdir}/plugins \
213 -datadir %{_datadir}/qt5 \
214 -translationdir %{_localedir}/ \
215 -sysconfdir %{_sysconfdir}/qt5 \
216 -examplesdir %{_examplesdir}/qt5 \
219 %{!?with_gtk:-no-gtkstyle} \
220 -%{!?with_pch:no-}pch \
222 %{!?with_sse:-no-sse} \
223 %{!?with_sse2:-no-sse2} \
224 %{!?with_sse3:-no-sse3} \
225 %{!?with_ssse3:-no-ssse3} \
226 %{!?with_sse41:-no-sse4.1} \
227 %{!?with_sse42:-no-sse4.2} \
228 %{!?with_avx:-no-avx} \
231 -reduce-relocations \
241 -I/usr/include/postgresql/server \
242 -I/usr/include/mysql \
243 %{?with_cups:-cups} \
244 %{?with_nas:-system-nas-sound} \
246 %{!?debug:-release} \
251 -no-separate-debug-info \
265 ##################################
266 # STATIC MULTI-THREAD #
267 ##################################
269 %if %{with static_libs}
271 -%{!?with_mysql:no}%{?with_mysql:qt}-sql-mysql \
272 -%{!?with_odbc:no}%{?with_odbc:qt}-sql-odbc \
273 -%{!?with_pgsql:no}%{?with_pgsql:qt}-sql-psql \
274 -%{!?with_sqlite3:no}%{?with_sqlite3:qt}-sql-sqlite \
275 -%{!?with_sqlite:no}%{?with_sqlite:qt}-sql-sqlite2 \
276 -%{!?with_ibase:no}%{?with_ibase:qt}-sql-ibase \
279 ./configure $COMMONOPT $OPT
282 %{__make} -C tools/assistant/lib
283 %{__make} -C tools/designer
284 if [ ! -d staticlib ]; then
286 cp -a lib/*.a staticlib
292 ##################################
293 # SHARED MULTI-THREAD #
294 ##################################
297 -%{!?with_mysql:no}%{?with_mysql:plugin}-sql-mysql \
298 -%{!?with_odbc:no}%{?with_odbc:plugin}-sql-odbc \
299 -%{!?with_pgsql:no}%{?with_pgsql:plugin}-sql-psql \
300 -%{!?with_sqlite3:no}%{?with_sqlite3:plugin}-sql-sqlite \
301 -%{!?with_sqlite:no}%{?with_sqlite:plugin}-sql-sqlite2 \
302 -%{!?with_ibase:no}%{?with_ibase:plugin}-sql-ibase \
305 ./configure $COMMONOPT $OPT
308 # make docs requires qt5-qttools
311 # sub-tools-all-ordered \
312 # sub-demos-all-ordered \
313 # sub-examples-all-ordered
316 rm -rf $RPM_BUILD_ROOT
317 install -d $RPM_BUILD_ROOT{/etc/{env.d,qt5},%{_bindir},%{_desktopdir},%{_pixmapsdir},%{_pkgconfigdir}}
318 #install -d $RPM_BUILD_ROOT%{_qtdir}/plugins/{crypto,network}
320 #echo '#QT_GRAPHICSSYSTEM=raster' > $RPM_BUILD_ROOT/etc/env.d/QT_GRAPHICSSYSTEM
323 INSTALL_ROOT=$RPM_BUILD_ROOT
325 # not sure whether || : is needed
326 %{__make} install_docs \
327 INSTALL_ROOT=$RPM_BUILD_ROOT || :
329 # kill -L/inside/builddir from *.la and *.pc (bug #77152)
330 %{__sed} -i -e "s,-L$PWD/lib,,g" $RPM_BUILD_ROOT%{_libdir}/*.{la,prl}
331 %{__sed} -i -e "s,-L$PWD/lib,,g" $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
333 s|moc_location=.*|moc_location=%{_bindir}/moc-qt5|;
334 s|uic_location=.*|uic_location=%{_bindir}/uic-qt5|;
335 ' $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
337 # libQtWebKit.la contains '-ljscore' and '-lwebcore', they come
338 # from src/3rdparty/webkit/{JavaScriptCore,WebCore}} but those libs aren't installed
339 #%{__sed} -i -e "s,-lwebcore,,g;s,-ljscore,,g;" $RPM_BUILD_ROOT%{_libdir}/libQtWebKit.la
342 install bin/findtr $RPM_BUILD_ROOT%{_qtdir}/bin
344 cd $RPM_BUILD_ROOT%{_bindir}
345 #ln -sf ../%{_lib}/qt5/bin/assistant assistant-qt5
346 #ln -sf ../%{_lib}/qt5/bin/designer designer-qt5
347 ln -sf ../%{_lib}/qt5/bin/findtr findtr-qt5
348 #ln -sf ../%{_lib}/qt5/bin/linguist linguist-qt5
349 #ln -sf ../%{_lib}/qt5/bin/lrelease lrelease-qt5
350 #ln -sf ../%{_lib}/qt5/bin/lupdate lupdate-qt5
351 ln -sf ../%{_lib}/qt5/bin/moc moc-qt5
352 ln -sf ../%{_lib}/qt5/bin/qmake qmake-qt5
353 #ln -sf ../%{_lib}/qt5/bin/qtconfig qtconfig-qt5
354 ln -sf ../%{_lib}/qt5/bin/uic uic-qt5
355 ln -sf ../%{_lib}/qt5/bin/rcc rcc-qt5
356 #ln -sf ../%{_lib}/qt5/bin/pixeltool .
357 #ln -sf ../%{_lib}/qt5/bin/qcollectiongenerator .
358 ln -sf ../%{_lib}/qt5/bin/qdbuscpp2xml qdbuscpp2xml-qt5
359 ln -sf ../%{_lib}/qt5/bin/qdbusxml2cpp qdbusxml2cpp-qt5
360 ln -sf ../%{_lib}/qt5/bin/qdoc qdoc-qt5
361 #ln -sf ../%{_lib}/qt5/bin/qhelpconverter .
362 #ln -sf ../%{_lib}/qt5/bin/qhelpgenerator .
363 #ln -sf ../%{_lib}/qt5/bin/qmlviewer .
364 #ln -sf ../%{_lib}/qt5/bin/qmlplugindump .
365 #ln -sf ../%{_lib}/qt5/bin/qttracereplay .
366 #ln -sf ../%{_lib}/qt5/bin/qvfb .
367 #ln -sf ../%{_lib}/qt5/bin/xmlpatternsvalidator .
370 # Prepare some files list
372 RESULT=`echo $RPM_BUILD_ROOT$2 2>/dev/null`
373 [ "$RESULT" == "" ] && return # XXX this is never true due $RPM_BUILD_ROOT being set
374 r=`echo $RESULT | awk '{ print $1 }'`
377 echo "%%dir $2" >> $1.files
378 elif [ -x "$r" ] ; then
379 echo "%%attr(755,root,root) $2" >> $1.files
380 elif [ -f "$r" ]; then
381 echo "$2" >> $1.files
383 echo "Error generation $1 files list!"
384 echo "$r: no such file or directory!"
389 echo "%defattr(644,root,root,755)" > examples.files
390 ifecho examples %{_examplesdir}/qt5
391 for f in `find $RPM_BUILD_ROOT%{_examplesdir}/qt5 -printf "%%P "`; do
392 ifecho examples %{_examplesdir}/qt5/$f
396 rm -rf $RPM_BUILD_ROOT
398 %post -p /sbin/ldconfig
399 %postun -p /sbin/ldconfig
402 %defattr(644,root,root,755)
403 %attr(755,root,root) %{_bindir}/*
404 %attr(755,root,root) %ghost %{_libdir}/libQt5Concurrent.so.?
405 %attr(755,root,root) %{_libdir}/libQt5Concurrent.so.*.*
406 %attr(755,root,root) %ghost %{_libdir}/libQt5Core.so.?
407 %attr(755,root,root) %{_libdir}/libQt5Core.so.*.*
408 %attr(755,root,root) %ghost %{_libdir}/libQt5DBus.so.?
409 %attr(755,root,root) %{_libdir}/libQt5DBus.so.*.*
410 %attr(755,root,root) %ghost %{_libdir}/libQt5Gui.so.?
411 %attr(755,root,root) %{_libdir}/libQt5Gui.so.*.*
412 %attr(755,root,root) %ghost %{_libdir}/libQt5Network.so.?
413 %attr(755,root,root) %{_libdir}/libQt5Network.so.*.*
414 %attr(755,root,root) %ghost %{_libdir}/libQt5OpenGL.so.?
415 %attr(755,root,root) %{_libdir}/libQt5OpenGL.so.*.*
416 %attr(755,root,root) %ghost %{_libdir}/libQt5PrintSupport.so.?
417 %attr(755,root,root) %{_libdir}/libQt5PrintSupport.so.*.*
418 %attr(755,root,root) %ghost %{_libdir}/libQt5Sql.so.?
419 %attr(755,root,root) %{_libdir}/libQt5Sql.so.*.*
420 %attr(755,root,root) %ghost %{_libdir}/libQt5Test.so.?
421 %attr(755,root,root) %{_libdir}/libQt5Test.so.*.*
422 %attr(755,root,root) %ghost %{_libdir}/libQt5Widgets.so.?
423 %attr(755,root,root) %{_libdir}/libQt5Widgets.so.*.*
424 %attr(755,root,root) %ghost %{_libdir}/libQt5Xml.so.?
425 %attr(755,root,root) %{_libdir}/libQt5Xml.so.*.*
426 %{_libdir}/libQt5Bootstrap.a
427 %{_libdir}/libQt5OpenGLExtensions.a
428 %{_libdir}/libQt5PlatformSupport.a
433 %attr(755,root,root) %{_qtdir}/bin/*
434 %attr(755,root,root) %{_qtdir}/plugins
437 %defattr(644,root,root,755)
438 %attr(755,root,root) %{_libdir}/libQt5Concurrent.so
439 %attr(755,root,root) %{_libdir}/libQt5Core.so
440 %attr(755,root,root) %{_libdir}/libQt5DBus.so
441 %attr(755,root,root) %{_libdir}/libQt5Gui.so
442 %attr(755,root,root) %{_libdir}/libQt5Network.so
443 %attr(755,root,root) %{_libdir}/libQt5OpenGL.so
444 %attr(755,root,root) %{_libdir}/libQt5PrintSupport.so
445 %attr(755,root,root) %{_libdir}/libQt5Sql.so
446 %attr(755,root,root) %{_libdir}/libQt5Test.so
447 %attr(755,root,root) %{_libdir}/libQt5Widgets.so
448 %attr(755,root,root) %{_libdir}/libQt5Xml.so
450 %{_libdir}/libQt5Concurrent.la
451 %{_libdir}/libQt5Core.la
452 %{_libdir}/libQt5DBus.la
453 %{_libdir}/libQt5Gui.la
454 %{_libdir}/libQt5Network.la
455 %{_libdir}/libQt5OpenGL.la
456 %{_libdir}/libQt5PrintSupport.la
457 %{_libdir}/libQt5Sql.la
458 %{_libdir}/libQt5Test.la
459 %{_libdir}/libQt5Widgets.la
460 %{_libdir}/libQt5Xml.la
462 %{_libdir}/libQt5Concurrent.prl
463 %{_libdir}/libQt5Core.prl
464 %{_libdir}/libQt5DBus.prl
465 %{_libdir}/libQt5Gui.prl
466 %{_libdir}/libQt5Network.prl
467 %{_libdir}/libQt5OpenGL.prl
468 %{_libdir}/libQt5PrintSupport.prl
469 %{_libdir}/libQt5Sql.prl
470 %{_libdir}/libQt5Test.prl
471 %{_libdir}/libQt5Widgets.prl
472 %{_libdir}/libQt5Xml.prl
474 %{_libdir}/libQt5Bootstrap.la
475 %{_libdir}/libQt5Bootstrap.prl
476 %{_libdir}/libQt5OpenGLExtensions.la
477 %{_libdir}/libQt5OpenGLExtensions.prl
478 %{_libdir}/libQt5PlatformSupport.la
479 %{_libdir}/libQt5PlatformSupport.prl
483 %{_libdir}/cmake/Qt5Concurrent
484 %{_libdir}/cmake/Qt5Core
485 %{_libdir}/cmake/Qt5DBus
486 %{_libdir}/cmake/Qt5Gui
487 %{_libdir}/cmake/Qt5Network
488 %{_libdir}/cmake/Qt5OpenGL
489 %{_libdir}/cmake/Qt5OpenGLExtensions
490 %{_libdir}/cmake/Qt5PrintSupport
491 %{_libdir}/cmake/Qt5Sql
492 %{_libdir}/cmake/Qt5Test
493 %{_libdir}/cmake/Qt5Widgets
494 %{_libdir}/cmake/Qt5Xml
495 %{_pkgconfigdir}/*.pc
499 %defattr(644,root,root,755)
502 %files examples -f examples.files