libqt5-qtbase/libqt5-qtbase.spec

1083 lines
33 KiB
RPMSpec

#
# spec file for package libqt5-qtbase
#
# Copyright (c) 2014 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/
#
%define qt5_snapshot 0
Name: libqt5-qtbase
Version: 5.2.1
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.1
%define so_version 5.2.1
%if %qt5_snapshot
%define tar_version qtbase-%{real_version}
%else
%define tar_version qtbase-opensource-src-%{real_version}
%endif
Source: %{tar_version}.tar.xz
# to get mtime of file:
Source1: libqt5-qtbase.changes
Source2: macros.qt5
Source3: baselibs.conf
# PATCH-FIX-UPSTREAM qtbase-qatomic-ppc.patch -- fixes build on PPC
Patch3: qtbase-qatomic-ppc.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
# PATCH-FIX-UPSTREAM use-freetype-default.patch -- allow using lcd-default filter regardless of how freetype2 library has been built (w/ & w/o subpixel)
Patch132: use-freetype-default.patch
BuildRequires: alsa-devel
BuildRequires: cups-devel
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libjpeg-devel
BuildRequires: libmng-devel
BuildRequires: libmysqlclient-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(mtdev)
%if %qt5_snapshot
#to create the forwarding headers
BuildRequires: perl
%endif
BuildRequires: postgresql-devel
BuildRequires: sqlite3-devel
BuildRequires: unixODBC-devel
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl)
%ifarch %arm aarch64
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(glesv2)
%endif
BuildRequires: libicu-devel
BuildRequires: libpulse-devel
BuildRequires: libudev-devel
BuildRequires: xcb-util-image-devel
BuildRequires: xcb-util-keysyms-devel
BuildRequires: xcb-util-renderutil-devel
BuildRequires: xcb-util-wm-devel
BuildRequires: xorg-x11-devel
BuildRequires: xz
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gtk+-2.0)
%if 0%{?suse_version} >= 1310
BuildRequires: pkgconfig(harfbuzz)
%endif
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(xkbcommon) >= 0.2.0
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
%if %qt5_snapshot
%setup -q -n qtbase-%{real_version}
%else
%setup -q -n qtbase-opensource-src-%{real_version}
%endif
%patch3 -p1
%patch109 -p1
%patch131 -p1
%patch132 -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
# External deps shall be found via pkgconfig
Requires: %{name}-common-devel
Requires: %{name}-doc = %{version}
Requires: libQt5Concurrent-devel = %{version}
Requires: libQt5Core-devel = %{version}
Requires: libQt5DBus-devel = %{version}
Requires: libQt5Gui-devel = %{version}
Requires: libQt5Network-devel = %{version}
Requires: libQt5OpenGL-devel = %{version}
Requires: libQt5PrintSupport-devel = %{version}
Requires: libQt5Sql-devel = %{version}
Requires: libQt5Test-devel = %{version}
Requires: libQt5Widgets-devel = %{version}
Requires: libQt5Xml-devel = %{version}
%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 common-devel
Summary: Qt 5 Core Development Binaries
Group: Development/Libraries/X11
Requires: gcc-c++
Requires: pkg-config
%description common-devel
Qt 5 Core Development Binaries. It contains Qt5's moc, qmake,
rcc, uic and syncqt.pl binaries.
%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 libQt5Core-devel
Summary: Qt 5 Core Library - development files
Group: Development/Libraries/X11
Requires: %{name}-common-devel = %{version}
Requires: libQt5Core5 = %{version}
%description -n libQt5Core-devel
Qt 5 Core Library - development files.
%package -n libQt5Core-private-headers-devel
Summary: Qt 5 Core Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-devel = %{version}
%description -n libQt5Core-private-headers-devel
Qt 5 Core Library - Non-ABI stable development files.
%package -n libQt5Concurrent5
Summary: Qt 5 Concurrent Library
Group: Development/Libraries/X11
%description -n libQt5Concurrent5
The Qt 5 Concurrent library.
%package -n libQt5Concurrent-devel
Summary: Qt 5 Concurrent Library - development files
Group: Development/Libraries/X11
Requires: libQt5Concurrent5 = %{version}
Requires: libQt5Core-devel = %{version}
%description -n libQt5Concurrent-devel
The Qt 5 Concurrent library - development files.
%package -n libQt5DBus5
Summary: Qt 5 DBus Library
Group: Development/Libraries/X11
%description -n libQt5DBus5
The Qt 5 DBus library.
%package -n libQt5DBus-devel
Summary: Qt 5 DBus Library - development files
Group: Development/Libraries/X11
Requires: libQt5Core-devel = %{version}
Requires: libQt5DBus5 = %{version}
%description -n libQt5DBus-devel
The Qt 5 DBus library - development files. Aditionally, it contains
Qt5's qdbusxml2cpp and qdbuscpp2xml binaries.
%package -n libQt5DBus-private-headers-devel
Summary: Qt 5 DBus Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5DBus-devel = %{version}
%description -n libQt5DBus-private-headers-devel
Qt 5 DBus Library - Non-ABI stable development files.
%package -n libQt5Network5
Summary: Qt 5 Network Library
Group: Development/Libraries/X11
%description -n libQt5Network5
The Qt 5 Network library.
%package -n libQt5Network-devel
Summary: Qt 5 Network Library - development files
Group: Development/Libraries/X11
Requires: libQt5Core-devel = %{version}
Requires: libQt5Network5 = %{version}
%description -n libQt5Network-devel
The Qt 5 Network library - development files.
%package -n libQt5Network-private-headers-devel
Summary: Qt 5 Network Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5Network-devel = %{version}
%description -n libQt5Network-private-headers-devel
Qt 5 Network Library - Non-ABI stable development files.
%package -n libQt5OpenGL5
Summary: Qt 5 OpenGL Library
Group: Development/Libraries/X11
%description -n libQt5OpenGL5
The Qt 5 OpenGL library.
%package -n libQt5OpenGL-devel
Summary: Qt 5 OpenGL Library - development files
Group: Development/Libraries/X11
Requires: libQt5Core-devel = %{version}
Requires: libQt5Gui-devel = %{version}
Requires: libQt5OpenGL5 = %{version}
Requires: libQt5Widgets-devel = %{version}
%ifarch %arm aarch64
Requires: pkgconfig(glesv2)
%else
Requires: pkgconfig(gl)
%endif
%description -n libQt5OpenGL-devel
The Qt 5 OpenGL library - development files.
%package -n libQt5OpenGL-private-headers-devel
Summary: Qt 5 OpenGL Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5Gui-private-headers-devel = %{version}
Requires: libQt5OpenGL-devel = %{version}
Requires: libQt5Widgets-private-headers-devel = %{version}
%description -n libQt5OpenGL-private-headers-devel
Qt 5 OpenGL Library - Non-ABI stable development files.
%package -n libQt5PrintSupport5
Summary: Qt 5 Print Support Library
Group: Development/Libraries/X11
%description -n libQt5PrintSupport5
The Qt 5 Print Support library.
%package -n libQt5PrintSupport-devel
Summary: Qt 5 Print Support Library - development files
Group: Development/Libraries/X11
Requires: libQt5Core-devel = %{version}
Requires: libQt5Gui-devel = %{version}
Requires: libQt5PrintSupport5 = %{version}
Requires: libQt5Widgets-devel = %{version}
%description -n libQt5PrintSupport-devel
The Qt 5 Print Support library - development files.
%package -n libQt5PrintSupport-private-headers-devel
Summary: Qt 5 Print Support Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5Gui-private-headers-devel = %{version}
Requires: libQt5PrintSupport-devel = %{version}
Requires: libQt5Widgets-private-headers-devel = %{version}
%description -n libQt5PrintSupport-private-headers-devel
Qt 5 Print Support Library - Non-ABI stable development files.
%package -n libQt5Xml5
Summary: Qt 5 Xml Library
Group: Development/Libraries/X11
%description -n libQt5Xml5
The Qt 5 Xml library.
%package -n libQt5Xml-devel
Summary: Qt 5 Xml Library - development files
Group: Development/Libraries/X11
Requires: libQt5Core-devel = %{version}
Requires: libQt5Xml5 = %{version}
%description -n libQt5Xml-devel
The Qt 5 Xml library - development files.
%package -n libQt5Test5
Summary: Qt 5 Test Library
Group: Development/Libraries/X11
%description -n libQt5Test5
The Qt 5 library for testing.
%package -n libQt5Test-devel
Summary: Qt 5 Test Library - development files
Group: Development/Libraries/X11
Requires: libQt5Core-devel = %{version}
Requires: libQt5Test5 = %{version}
%description -n libQt5Test-devel
The Qt 5 library for testing - development files.
%package -n libQt5Test-private-headers-devel
Summary: Qt 5 Test Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5Test-devel = %{version}
%description -n libQt5Test-private-headers-devel
Qt 5 Test Library - Non-ABI stable development files.
%package -n libQt5Widgets5
Summary: Qt 5 Widgets Library
Group: Development/Libraries/X11
%description -n libQt5Widgets5
The Qt 5 library to display widgets.
%package -n libQt5Widgets-devel
Summary: Qt 5 Widgets Library - development files
Group: Development/Libraries/X11
Requires: libQt5Core-devel = %{version}
Requires: libQt5Gui-devel = %{version}
Requires: libQt5Widgets5 = %{version}
%description -n libQt5Widgets-devel
The Qt 5 library to display widgets - development files.
%package -n libQt5Widgets-private-headers-devel
Summary: Qt 5 Widgets Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5Gui-private-headers-devel = %{version}
Requires: libQt5Widgets-devel = %{version}
%description -n libQt5Widgets-private-headers-devel
Qt 5 Widgets Library - Non-ABI stable development files.
%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 libQt5Gui-devel
Summary: Qt 5 GUI related libraries - development files
Group: Development/Libraries/C and C++
Requires: libQt5Core-devel = %{version}
Requires: libQt5Gui5 = %{version}
%ifarch %arm aarch64
Requires: pkgconfig(glesv2)
%else
Requires: pkgconfig(gl)
%endif
Requires: pkgconfig(egl)
Requires: pkgconfig(libdrm)
%description -n libQt5Gui-devel
Qt 5 libraries which are depending on X11 - development files.
%package -n libQt5Gui-private-headers-devel
Summary: Qt 5 Gui Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5Gui-devel = %{version}
%description -n libQt5Gui-private-headers-devel
Qt 5 Gui Library - Non-ABI stable development files.
%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 -n libQt5Sql-devel
Summary: Qt 5 SQL related libraries - development files
Group: Development/Libraries/C and C++
Requires: libQt5Core-devel = %{version}
Requires: libQt5Sql5 = %{version}
Requires: libQt5Sql5-mysql = %{version}
Requires: libQt5Sql5-postgresql = %{version}
Requires: libQt5Sql5-sqlite = %{version}
Requires: libQt5Sql5-unixODBC = %{version}
%description -n libQt5Sql-devel
Qt 5 libraries which are used for connection with an SQL server. You
will need also a plugin package for a supported SQL server - development files.
%package -n libQt5Sql-private-headers-devel
Summary: Qt 5 SQL Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5Sql-devel = %{version}
%description -n libQt5Sql-private-headers-devel
Qt 5 SQL Library - Non-ABI stable development files.
%package doc
Summary: Qt 5 tool used by Qt Developers to generate documentation
Group: Development/Libraries/C and C++
Requires: %{name}-common-devel = %{version}
%description doc
Qt 5 tool used by Qt Developers to generate documentation for software projects.
%package private-headers-devel
Summary: Non-ABI stable experimental API
Group: Development/Libraries/C and C++
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5DBus-private-headers-devel = %{version}
Requires: libQt5Gui-private-headers-devel = %{version}
Requires: libQt5Network-private-headers-devel = %{version}
Requires: libQt5OpenGL-private-headers-devel = %{version}
Requires: libQt5PlatformSupport-private-headers-devel = %{version}
Requires: libQt5PrintSupport-private-headers-devel = %{version}
Requires: libQt5Sql-private-headers-devel = %{version}
Requires: libQt5Test-private-headers-devel = %{version}
Requires: libQt5Widgets-private-headers-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.
%package -n libQt5Bootstrap-devel-static
Summary: Qt Bootstrap module
Group: Development/Libraries/C and C++
Requires: %{name}-common-devel = %{version}
%description -n libQt5Bootstrap-devel-static
Qt Bootstrap module.
%package -n libQt5OpenGLExtensions-devel-static
Summary: Qt OpenGLExtensions module
Group: Development/Libraries/C and C++
Requires: libQt5Core-devel = %{version}
Requires: libQt5Gui-devel = %{version}
# List the below ones manually - they are private, but this is a static lib
Requires: pkgconfig(gl)
%description -n libQt5OpenGLExtensions-devel-static
Qt OpenGLExtensions module.
%package -n libQt5PlatformSupport-devel-static
Summary: Qt PlatformSupport module
Group: Development/Libraries/C and C++
Requires: libQt5Core-devel = %{version}
Requires: libQt5Gui-devel = %{version}
# List the below ones manually - they are private, but this is a static lib
Requires: pkgconfig(Qt5DBus)
Requires: pkgconfig(egl)
Requires: pkgconfig(fontconfig)
Requires: pkgconfig(freetype2)
Requires: pkgconfig(gl)
Requires: pkgconfig(glib-2.0)
Requires: pkgconfig(mtdev)
Requires: pkgconfig(udev)
Requires: pkgconfig(x11)
Requires: pkgconfig(xext)
Requires: pkgconfig(xrender)
%description -n libQt5PlatformSupport-devel-static
Qt PlatformSupport module.
%package -n libQt5PlatformSupport-private-headers-devel
Summary: Qt 5 PlatformSupport Library - Non-ABI stable development files
Group: Development/Libraries/X11
Requires: libQt5Core-private-headers-devel = %{version}
Requires: libQt5Gui-private-headers-devel = %{version}
Requires: libQt5PlatformSupport-devel-static = %{version}
%description -n libQt5PlatformSupport-private-headers-devel
Qt 5 PlatformSupport Library - Non-ABI stable development files.
%package examples
Summary: Qt5 base examples
Group: Development/Libraries/X11
Recommends: libqt5-qtbase-devel
%description examples
Examples for libqt5-qtbase modules.
%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
%if %qt5_snapshot
#force the configure script to generate the forwarding headers (it checks whether .git directory exists)
mkdir .git
%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 \
%if 0%{?suse_version} >= 1310
-system-harfbuzz \
%endif
-fontconfig \
-system-freetype \
-cups \
-nis \
-system-zlib \
-iconv \
-sysconfdir /etc/settings \
-no-pch \
-glib \
-system-sqlite \
-no-sql-mysql \
-no-strip \
-xsync \
-xinput \
-gtkstyle \
%ifarch %arm %ix86 x86_64
-javascript-jit \
%endif
-xcb \
-egl \
-eglfs \
%ifarch %arm aarch64
-eglfs -kms \
-opengl es2 \
%else
-opengl desktop \
%endif
-release \
%ifarch %arm aarch64
-no-neon \
%endif
-plugin-sql-sqlite -nomake tests \
-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 <censored>
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 -- {} \;
# kill .la files
rm -f %{buildroot}%{libqt5_libdir}/lib*.la
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
case "${i}" in
moc|qdbuscpp2xml|qdbusxml2cpp|qmake|rcc|syncqt|uic)
mv $i ../../../bin/${i}-qt5
ln -s ../../../bin/${i}-qt5 .
ln -s ../../../bin/${i}-qt5 $i
;;
*)
mv $i ../../../bin/
ln -s ../../../bin/$i .
;;
esac
done
popd
pushd %{buildroot}%{libqt5_docdir}/global/template/images
chmod -R 644 *.png
popd
# Only symlink mkspecs, as headers and cmake files are across different packages. If needed, call fdupes on every dir, as per package split
%fdupes -s %{buildroot}%{libqt5_archdatadir}/mkspecs/
%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 common-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{_sysconfdir}/rpm/macros.qt5
%{_bindir}/moc*
%{libqt5_bindir}/moc*
%{_bindir}/qmake*
%{libqt5_bindir}/qmake*
%{_bindir}/rcc*
%{libqt5_bindir}/rcc*
%{_bindir}/uic*
%{libqt5_bindir}/uic*
%{_bindir}/syncqt.pl*
%{libqt5_bindir}/syncqt.pl*
%{libqt5_archdatadir}/mkspecs/
%dir %{libqt5_libdir}/cmake
%dir %{libqt5_includedir}
%dir %{libqt5_archdatadir}
%dir %{libqt5_bindir}
%files -n libQt5Core5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Core.so.*
%files -n libQt5Core-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Core.so
%{libqt5_libdir}/libQt5Core.prl
%{libqt5_libdir}/cmake/Qt5Core/
%{libqt5_libdir}/cmake/Qt5/
%{libqt5_libdir}/pkgconfig/Qt5Core.pc
%{libqt5_includedir}/QtCore/
%exclude %{libqt5_includedir}/QtCore/%{so_version}
%files -n libQt5Concurrent5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Concurrent.so.*
%files -n libQt5Concurrent-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Concurrent.so
%{libqt5_libdir}/libQt5Concurrent.prl
%{libqt5_libdir}/cmake/Qt5Concurrent/
%{libqt5_libdir}/pkgconfig/Qt5Concurrent.pc
%{libqt5_includedir}/QtConcurrent/
%files -n libQt5DBus5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5DBus.so.*
%files -n libQt5DBus-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5DBus.so
%{libqt5_libdir}/libQt5DBus.prl
%{libqt5_libdir}/cmake/Qt5DBus/
%{libqt5_libdir}/pkgconfig/Qt5DBus.pc
%{libqt5_includedir}/QtDBus/
%exclude %{libqt5_includedir}/QtDBus/%{so_version}
%{libqt5_bindir}/qdbusxml2cpp*
%{_bindir}/qdbusxml2cpp*
%{libqt5_bindir}/qdbuscpp2xml*
%{_bindir}/qdbuscpp2xml*
%files -n libQt5Network5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Network.so.*
%dir %{libqt5_libdir}/qt5
%dir %{libqt5_plugindir}
%{libqt5_plugindir}/bearer
%files -n libQt5Network-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Network.so
%{libqt5_libdir}/libQt5Network.prl
%{libqt5_libdir}/cmake/Qt5Network/
%{libqt5_libdir}/pkgconfig/Qt5Network.pc
%{libqt5_includedir}/QtNetwork/
%exclude %{libqt5_includedir}/QtNetwork/%{so_version}
%files -n libQt5OpenGL5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5OpenGL.so.*
%files -n libQt5OpenGL-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5OpenGL.so
%{libqt5_libdir}/libQt5OpenGL.prl
%{libqt5_libdir}/cmake/Qt5OpenGL/
%{libqt5_libdir}/pkgconfig/Qt5OpenGL.pc
%{libqt5_includedir}/QtOpenGL/
%exclude %{libqt5_includedir}/QtOpenGL/%{so_version}
%files -n libQt5PrintSupport5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5PrintSupport.so.*
%{libqt5_plugindir}/printsupport
%files -n libQt5PrintSupport-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5PrintSupport.so
%{libqt5_libdir}/libQt5PrintSupport.prl
%{libqt5_libdir}/cmake/Qt5PrintSupport/
%{libqt5_libdir}/pkgconfig/Qt5PrintSupport.pc
%{libqt5_includedir}/QtPrintSupport/
%exclude %{libqt5_includedir}/QtPrintSupport/%{so_version}
%files -n libQt5Xml5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Xml.so.*
%files -n libQt5Xml-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Xml.so
%{libqt5_libdir}/libQt5Xml.prl
%{libqt5_libdir}/cmake/Qt5Xml/
%{libqt5_libdir}/pkgconfig/Qt5Xml.pc
%{libqt5_includedir}/QtXml/
%files -n libQt5Test5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Test.so.*
%files -n libQt5Test-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Test.so
%{libqt5_libdir}/libQt5Test.prl
%{libqt5_libdir}/cmake/Qt5Test/
%{libqt5_libdir}/pkgconfig/Qt5Test.pc
%{libqt5_includedir}/QtTest/
%exclude %{libqt5_includedir}/QtTest/%{so_version}
%files -n libQt5Widgets5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Widgets.so.*
%{libqt5_plugindir}/accessible
%files -n libQt5Widgets-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Widgets.so
%{libqt5_libdir}/libQt5Widgets.prl
%{libqt5_libdir}/cmake/Qt5Widgets/
%{libqt5_libdir}/pkgconfig/Qt5Widgets.pc
%{libqt5_includedir}/QtWidgets/
%exclude %{libqt5_includedir}/QtWidgets/%{so_version}
%files -n libQt5Gui5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Gui.so.*
%{libqt5_plugindir}/generic
%{libqt5_plugindir}/imageformats
%{libqt5_plugindir}/platforminputcontexts
%{libqt5_plugindir}/platforms
%{libqt5_plugindir}/platformthemes
%files -n libQt5Gui-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Gui.so
%{libqt5_libdir}/libQt5Gui.prl
%{libqt5_libdir}/cmake/Qt5Gui/
%{libqt5_libdir}/pkgconfig/Qt5Gui.pc
%{libqt5_includedir}/QtGui/
%exclude %{libqt5_includedir}/QtGui/%{so_version}
%files devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%files private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%files -n libQt5Sql5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Sql.so.*
%dir %{libqt5_plugindir}/sqldrivers
%files -n libQt5Sql-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Sql.so
%{libqt5_libdir}/libQt5Sql.prl
%{libqt5_libdir}/cmake/Qt5Sql/
%{libqt5_libdir}/pkgconfig/Qt5Sql.pc
%{libqt5_includedir}/QtSql/
%exclude %{libqt5_includedir}/QtSql/%{so_version}
%files -n libQt5Sql5-sqlite
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_plugindir}/sqldrivers/libqsqlite*.so
%files -n libQt5Sql5-unixODBC
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_plugindir}/sqldrivers/libqsqlodbc*.so
%files -n libQt5Sql5-postgresql
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_plugindir}/sqldrivers/libqsqlpsql*.so
%files -n libQt5Sql5-mysql
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_plugindir}/sqldrivers/libqsqlmysql*.so
%files doc
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{_bindir}/qdoc*
%{libqt5_bindir}/qdoc*
%{libqt5_docdir}
%files -n libQt5Bootstrap-devel-static
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5Bootstrap.a
%{libqt5_libdir}/libQt5Bootstrap.prl
%{libqt5_libdir}/pkgconfig/Qt5Bootstrap.pc
%files -n libQt5OpenGLExtensions-devel-static
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5OpenGLExtensions.a
%{libqt5_libdir}/libQt5OpenGLExtensions.prl
%{libqt5_libdir}/cmake/Qt5OpenGLExtensions/
%{libqt5_libdir}/pkgconfig/Qt5OpenGLExtensions.pc
%{libqt5_includedir}/QtOpenGLExtensions/
%files -n libQt5PlatformSupport-devel-static
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_libdir}/libQt5PlatformSupport.a
%{libqt5_libdir}/libQt5PlatformSupport.prl
%{libqt5_libdir}/pkgconfig/Qt5PlatformSupport.pc
%{libqt5_includedir}/QtPlatformSupport/
%exclude %{libqt5_includedir}/QtPlatformSupport/%{so_version}
%files -n libQt5Core-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtCore/%{so_version}/
%files -n libQt5DBus-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtDBus/%{so_version}/
%files -n libQt5Gui-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtGui/%{so_version}/
%files -n libQt5Network-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtNetwork/%{so_version}/
%files -n libQt5OpenGL-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtOpenGL/%{so_version}/
%files -n libQt5PlatformSupport-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtPlatformSupport/%{so_version}/
%files -n libQt5PrintSupport-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtPrintSupport/%{so_version}/
%files -n libQt5Sql-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtSql/%{so_version}/
%files -n libQt5Test-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtTest/%{so_version}/
%files -n libQt5Widgets-private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_includedir}/QtWidgets/%{so_version}/
%files examples
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{libqt5_examplesdir}/
%changelog