# # spec file for package libqt5-qtbase # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: libqt5-qtbase BuildRequires: alsa-devel BuildRequires: at-spi2-core-devel BuildRequires: cups-devel BuildRequires: fdupes BuildRequires: freetype2-devel BuildRequires: gcc-c++ BuildRequires: giflib-devel BuildRequires: libjpeg-devel BuildRequires: libmng-devel BuildRequires: libmysqlclient-devel BuildRequires: libpng-devel BuildRequires: libtiff-devel BuildRequires: openssl-devel BuildRequires: pcre-devel BuildRequires: pkgconfig BuildRequires: postgresql-devel BuildRequires: sqlite3-devel BuildRequires: unixODBC-devel BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(gl) %ifarch %arm BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(glesv2) %endif BuildRequires: xcb-util-image-devel BuildRequires: xcb-util-keysyms-devel BuildRequires: xcb-util-renderutil-devel BuildRequires: xcb-util-wm-devel BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(xkbcommon) >= 0.2.0 Version: 5.2.0~rc1 Release: 0 Summary: C++ Program Library, Core Components License: GPL-3.0 or SUSE-LGPL-2.1-with-digia-exception-1.1 Group: System/Libraries Url: http://qt.digia.com %define base_name libqt5 %define real_version 5.2.0-rc1 %define so_version 5.2.0 %define tar_version qtbase-opensource-src-%{real_version} Source: %{tar_version}.tar.xz # to get mtime of file: Source1: libqt5-qtbase.changes Source2: macros.qt5 Source3: baselibs.conf # PATCH-FIX-UPSTREAM qt-never-strip.diff -- for creating debug packages Patch2: qt-never-strip.diff # PATCH-FIX-UPSTREAM qtbase-qatomic-ppc.patch -- fixes build on PPC Patch3: qtbase-qatomic-ppc.patch # PATCH-FIX-UPSTREAM qtbase-opensource-src-5.1.1-bigendian.patch -- fixes build on big endian arches/PPC Patch4: qtbase-opensource-src-5.1.1-bigendian.patch # PATCH-FIX-UPSTREAM libqt5-libtool-nodate.diff -- for ommiting date/time on build Patch109: libqt5-libtool-nodate.diff # PATCH-FIX-UPSTREAM qmake-add-usr-include.diff -- explicitly include /usr/include path Patch131: qmake-add-usr-include.diff BuildRequires: clucene-core-devel BuildRequires: libicu-devel BuildRequires: libpulse-devel BuildRequires: libudev-devel BuildRequires: xorg-x11-devel BuildRequires: xz BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Qt is a set of libraries for developing applications. This package contains base tools, like string, xml, and network handling. %define libqt5_prefix %{_prefix} %define libqt5_libdir %{_libdir} %define libqt5_archdatadir %{_libdir}/qt5 %define libqt5_bindir %{libqt5_archdatadir}/bin %define libqt5_datadir %{_datadir}/qt5 %define libqt5_docdir %{_docdir}/qt5 %define libqt5_examplesdir %{libqt5_archdatadir}/examples %define libqt5_includedir %{_includedir}/qt5 %define libqt5_importdir %{libqt5_archdatadir}/imports %define libqt5_libexecdir %{libqt5_archdatadir}/libexec %define libqt5_plugindir %{libqt5_archdatadir}/plugins %define libqt5_sysconfdir %{_sysconfdir}/xdg %define libqt5_translationdir %{libqt5_datadir}/translations %prep %setup -q -n qtbase-opensource-src-%{real_version} #patch2 -p1 %patch3 -p1 %patch4 -p1 %patch109 -p1 %patch131 -p1 # be sure not to use them rm -r src/3rdparty/{libjpeg,freetype,libpng,zlib} #rm -r qtimageformats/src/3rdparty/{libtiff,libmng} %package devel Summary: Qt Development Kit Group: Development/Libraries/X11 Requires: alsa-devel Requires: at-spi2-core-devel Requires: c++_compiler Requires: cups-devel Requires: freetype2-devel Requires: giflib-devel Requires: libQt5Concurrent5 = %{version} Requires: libQt5Core5 = %{version} Requires: libQt5DBus5 = %{version} Requires: libQt5Gui5 = %{version} Requires: libQt5Network5 = %{version} Requires: libQt5OpenGL5 = %{version} Requires: libQt5PrintSupport5 = %{version} Requires: libQt5Sql5-mysql = %{version} Requires: libQt5Sql5-postgresql = %{version} Requires: libQt5Sql5-sqlite = %{version} Requires: libQt5Sql5-unixODBC = %{version} Requires: libQt5Test5 = %{version} Requires: libQt5Widgets5 = %{version} Requires: libQt5Xml5 = %{version} Requires: libjpeg-devel Requires: libmng-devel Requires: libpng-devel Requires: libtiff-devel Requires: make Requires: openssl-devel Requires: pcre-devel Requires: pkgconfig Requires: sqlite3-devel Requires: pkgconfig(dbus-1) Requires: pkgconfig(gl) %ifarch %arm Requires: pkgconfig(gbm) Requires: pkgconfig(glesv2) %endif Requires: libicu-devel Requires: libpulse-devel Requires: libudev-devel Requires: xcb-util-image-devel Requires: xcb-util-keysyms-devel Requires: xcb-util-renderutil-devel Requires: xcb-util-wm-devel Requires: xorg-x11-devel Requires: zlib-devel Requires: pkgconfig(glib-2.0) Requires: pkgconfig(ice) Requires: pkgconfig(sm) Requires: pkgconfig(xkbcommon) >= 0.2.0 %description devel You need this package, if you want to compile programs with Qt. It contains the "Qt Crossplatform Development Kit". It does contain include files and development applications like GUI designers, translator tools and code generators. %package -n libQt5Core5 Summary: Qt 5 Core Library Group: Development/Libraries/X11 Provides: libqt5-qtbase = %{version} Obsoletes: libqt5-qtbase < %{version} %description -n libQt5Core5 The Qt 5 Core library. %package -n libQt5DBus5 Summary: Qt 5 DBus Library Group: Development/Libraries/X11 %description -n libQt5DBus5 The Qt 5 DBus library. %package -n libQt5Network5 Summary: Qt 5 Network Library Group: Development/Libraries/X11 %description -n libQt5Network5 The Qt 5 Network library. %package -n libQt5OpenGL5 Summary: Qt 5 OpenGL Library Group: Development/Libraries/X11 %description -n libQt5OpenGL5 The Qt 5 OpenGL library. %package -n libQt5PrintSupport5 Summary: Qt 5 Print Support Library Group: Development/Libraries/X11 %description -n libQt5PrintSupport5 The Qt 5 Print Support library. %package -n libQt5Xml5 Summary: Qt 5 Xml Library Group: Development/Libraries/X11 %description -n libQt5Xml5 The Qt 5 Xml library. %package -n libQt5Concurrent5 Summary: Qt 5 Concurrent Library Group: Development/Libraries/X11 %description -n libQt5Concurrent5 The Qt 5 Concurrent library. %package -n libQt5Test5 Summary: Qt 5 Test Library Group: Development/Libraries/X11 %description -n libQt5Test5 The Qt 5 library for testing. %package -n libQt5Widgets5 Summary: Qt 5 Test Library Group: Development/Libraries/X11 %description -n libQt5Widgets5 The Qt 5 library to display widgets. %package -n libQt5Sql5-sqlite Summary: Qt 5 sqlite plugin Group: Development/Libraries/C and C++ Requires: libQt5Sql5 = %{version} Provides: libqt5-sql-sqlite = %{version} Provides: libqt5_sql_backend = %{version} Obsoletes: libqt5-sql-sqlite < %{version} %description -n libQt5Sql5-sqlite Qt 5 sqlite plugin to be able to use database functionality with Qt applications without the need to setup a SQL server. %package -n libQt5Sql5-unixODBC Summary: Qt 5 unixODBC plugin Group: Development/Libraries/C and C++ Requires: libQt5Sql5 = %{version} Provides: libqt5-sql-unixODBC = %{version} Provides: libqt5_sql_backend = %{version} Obsoletes: libqt5-sql-unixODBC < %{version} %description -n libQt5Sql5-unixODBC Qt unixODBC plugin to support databases via unixODBC within Qt applications. %package -n libQt5Sql5-postgresql Summary: Qt 5 PostgreSQL plugin Group: Development/Libraries/C and C++ Requires: libQt5Sql5 = %{version} Provides: libqt5-sql-postgresql = %{version} Provides: libqt5_sql_backend = %{version} Obsoletes: libqt5-sql-postgresql < %{version} %description -n libQt5Sql5-postgresql Qt SQL plugin to support PostgreSQL servers in Qt applications. %package -n libQt5Sql5-mysql Summary: Qt 5 MySQL support Group: Development/Libraries/C and C++ Requires: libQt5Sql5 = %{version} Provides: libqt5-sql-mysql = %{version} Provides: libqt5_sql_backend = %{version} Obsoletes: libqt5-sql-mysql < %{version} %description -n libQt5Sql5-mysql A plugin to support MySQL server in Qt applications. %package -n libQt5Gui5 Summary: Qt 5 GUI related libraries Group: Development/Libraries/C and C++ Recommends: libqt5-qtimageformats = %{version} %description -n libQt5Gui5 Qt 5 libraries which are depending on X11. %package -n libQt5Sql5 Summary: Qt 5 SQL related libraries Group: Development/Libraries/C and C++ Recommends: libqt5_sql_backend = %{version} Suggests: libqt5-sql-sqlite %description -n libQt5Sql5 Qt 5 libraries which are used for connection with an SQL server. You will need also a plugin package for a supported SQL server. %package private-headers-devel Summary: Non-ABI stable experimental API Group: Development/Libraries/C and C++ Requires: libqt5-qtbase-devel = %{version} %description private-headers-devel This package provides private headers of libqt5-qtbase-devel that are normally not used by application development and that do not have any ABI or API guarantees. The packages that build against these have to require the exact Qt version. %build export QMAKESPEC=$PWD/mkspecs/linux-g++ %ifarch ppc64 RPM_OPT_FLAGS="%{optflags} -mminimal-toc" %endif export CXXFLAGS="$CXXFLAGS %{optflags} -DOPENSSL_LOAD_CONF" export CFLAGS="$CFLAGS %{optflags} -DOPENSSL_LOAD_CONF" export MAKEFLAGS="%{?_smp_mflags}" %ifarch sparc64 platform="-platform linux-g++-64" %else platform="" %endif # Record mtime of changes file instead of build time CHANGES=`stat --format="%y" %{SOURCE1}|cut --characters=1-10` sed -i -e "s/qt_instdate=\$TODAY/qt_instdate=$CHANGES/" configure echo yes | ./configure $platform \ -prefix %{_prefix} \ -L %{libqt5_libdir} \ -libdir %{libqt5_libdir} \ -archdatadir %{libqt5_archdatadir} \ -bindir %{libqt5_bindir} \ -datadir %{libqt5_datadir} \ -docdir %{libqt5_docdir} \ -examplesdir %{libqt5_examplesdir} \ -headerdir %{libqt5_includedir} \ -importdir %{libqt5_importdir} \ -libexecdir %{libqt5_libexecdir} \ -plugindir %{libqt5_plugindir} \ -sysconfdir %{libqt5_sysconfdir} \ -translationdir %{libqt5_translationdir} \ -verbose \ -reduce-relocations \ -optimized-qmake \ -accessibility \ -no-strip \ -opensource \ -no-separate-debug-info \ -shared \ -xkb \ -xrender \ -xcursor \ -dbus-linked \ -xfixes \ -xrandr \ -xinerama \ -sm \ -no-rpath \ -system-libjpeg \ -openssl-linked \ -system-libpng \ -cups \ -nis \ -system-zlib \ -iconv \ -sysconfdir /etc/settings \ -no-pch \ -glib \ -system-sqlite \ -no-sql-mysql \ -xsync \ -xinput \ -gtkstyle \ -javascript-jit \ -xcb \ -no-eglfs \ -opengl desktop \ %ifarch %arm -eglfs -kms \ -opengl es2 \ %else -no-eglfs \ -opengl desktop \ %endif -release \ %ifarch %arm -no-neon \ %endif -plugin-sql-sqlite -nomake examples \ -plugin-sql-psql -I/usr/include -I/usr/include/pgsql/ -I/usr/include/pgsql/server \ -plugin-sql-odbc \ -plugin-sql-mysql -I/usr/include/mysql/ -I/usr/include -v make %{?_smp_mflags} %install make INSTALL_ROOT=%{buildroot} install install -D -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/rpm/macros.qt5 # argggh, qmake is such a piece of find %{buildroot}/%{libqt5_libdir} -type f -name '*prl' -exec perl -pi -e "s, -L$RPM_BUILD_DIR/\S+,,g" {} \; find %{buildroot}/%{libqt5_libdir} -type f -name '*prl' -exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" {} \; find %{buildroot}/%{libqt5_libdir} -type f -name '*la' -print -exec perl -pi -e "s, -L$RPM_BUILD_DIR/?\S+,,g" {} \; # insanity ... find %{buildroot}/%{libqt5_libdir} -type f -name '*pc' -print -exec perl -pi -e "s, -L$RPM_BUILD_DIR/?\S+,,g" {} \; -exec sed -i -e "s,^moc_location=.*,moc_location=%libqt5_bindir/moc," -e "s,uic_location=.*,uic_location=%libqt5_bindir/uic," {} \; find %{buildroot}/%{libqt5_libdir}/ -name 'lib*.a' -exec chmod -x -- {} \; mkdir -p %{buildroot}/%{libqt5_plugindir}/sqldrivers # put all the binaries to %{_bindir}, add -qt5 suffix, and symlink them back to %_qt5_bindir mkdir %{buildroot}%{_bindir} pushd %{buildroot}%{libqt5_bindir} for i in * ; do mv $i ../../../bin/${i}-qt5 ln -s ../../../bin/${i}-qt5 . ln -s ../../../bin/${i}-qt5 $i done popd pushd %{buildroot}%{libqt5_docdir}/global/template/images chmod -R 644 *.png popd %fdupes -s %{buildroot} %post -n libQt5Core5 -p /sbin/ldconfig %post -n libQt5Concurrent5 -p /sbin/ldconfig %post -n libQt5DBus5 -p /sbin/ldconfig %post -n libQt5Network5 -p /sbin/ldconfig %post -n libQt5OpenGL5 -p /sbin/ldconfig %post -n libQt5PrintSupport5 -p /sbin/ldconfig %post -n libQt5Xml5 -p /sbin/ldconfig %post -n libQt5Gui5 -p /sbin/ldconfig %post -n libQt5Sql5 -p /sbin/ldconfig %post -n libQt5Test5 -p /sbin/ldconfig %post -n libQt5Widgets5 -p /sbin/ldconfig %postun -n libQt5Core5 -p /sbin/ldconfig %postun -n libQt5Concurrent5 -p /sbin/ldconfig %postun -n libQt5DBus5 -p /sbin/ldconfig %postun -n libQt5Network5 -p /sbin/ldconfig %postun -n libQt5OpenGL5 -p /sbin/ldconfig %postun -n libQt5PrintSupport5 -p /sbin/ldconfig %postun -n libQt5Xml5 -p /sbin/ldconfig %postun -n libQt5Gui5 -p /sbin/ldconfig %postun -n libQt5Sql5 -p /sbin/ldconfig %postun -n libQt5Test5 -p /sbin/ldconfig %postun -n libQt5Widgets5 -p /sbin/ldconfig %files -n libQt5Core5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5Core.so.* %files -n libQt5Concurrent5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5Concurrent.so.* %files -n libQt5DBus5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5DBus.so.* %files -n libQt5Network5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5Network.so.* %dir %{libqt5_libdir}/qt5 %dir %{libqt5_plugindir} %{libqt5_plugindir}/bearer %files -n libQt5OpenGL5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5OpenGL.so.* %files -n libQt5PrintSupport5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5PrintSupport.so.* %{libqt5_plugindir}/printsupport %files -n libQt5Xml5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5Xml.so.* %files -n libQt5Test5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5Test.so.* %files -n libQt5Widgets5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5Widgets.so.* %{libqt5_plugindir}/accessible %files -n libQt5Gui5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5Gui.so.* %{libqt5_plugindir}/generic %{libqt5_plugindir}/imageformats %{libqt5_plugindir}/platforminputcontexts %{libqt5_plugindir}/platforms %{libqt5_plugindir}/platformthemes %files devel %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{_bindir}/* %libqt5_bindir/* %dir %libqt5_bindir %exclude %{libqt5_includedir}/*/%{so_version} %{libqt5_includedir}/ %{libqt5_libdir}/cmake %{libqt5_libdir}/libQt5*.la %{libqt5_libdir}/libQt5*.prl %{libqt5_libdir}/libQt5*.so %{libqt5_libdir}/libQt5*.a %{libqt5_libdir}/pkgconfig/Qt5*.pc %{libqt5_archdatadir}/mkspecs %{libqt5_docdir} %{_sysconfdir}/rpm/macros.qt5 %files private-headers-devel %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_includedir}/*/%{so_version} %files -n libQt5Sql5 %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_libdir}/libQt5Sql.so.* %dir %{libqt5_plugindir}/sqldrivers %files -n libQt5Sql5-sqlite %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_plugindir}/sqldrivers/libqsqlite*.so %files -n libQt5Sql5-unixODBC %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_plugindir}/sqldrivers/libqsqlodbc*.so %files -n libQt5Sql5-postgresql %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_plugindir}/sqldrivers/libqsqlpsql*.so %files -n libQt5Sql5-mysql %defattr(-,root,root,755) %doc *.txt LICENSE.LGPL LICENSE.FDL %{libqt5_plugindir}/sqldrivers/libqsqlmysql*.so %changelog