From 0f5f49dd9c8499e2066b777f9fe3068c3e55bfe9 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 20 Oct 2014 10:55:20 -0500 Subject: [PATCH] 5.4.0-beta --- .gitignore | 3 +- qt5-qtwayland.spec | 121 +++++++++++++++++++++++++++++++-------------- sources | 2 +- 3 files changed, 85 insertions(+), 41 deletions(-) diff --git a/.gitignore b/.gitignore index ae70f4a..a3eb581 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/qtwayland.tar.gz -/qtwayland-opensource-src-5.4.0-alpha.tar.xz +/qtwayland-opensource-src-5.4.0-beta.tar.xz diff --git a/qt5-qtwayland.spec b/qt5-qtwayland.spec index 397b47b..e10229b 100644 --- a/qt5-qtwayland.spec +++ b/qt5-qtwayland.spec @@ -1,18 +1,25 @@ %global qt_module qtwayland -%define pre alpha +# build support for non-egl platforms +%define nogl 1 + +%define pre beta Summary: Qt5 - Wayland platform support and QtCompositor module Name: qt5-%{qt_module} Version: 5.4.0 -Release: 0.%{pre}%{?dist} +Release: 0.1.%{pre}%{?dist} License: LGPLv2 with exceptions or GPLv3 with exceptions Url: http://qt-project.org/wiki/QtWayland -Source0: http://download.qt-project.org/development_releases/qt/5.4/%{version}-%{pre}/submodules/%{qt_module}-opensource-src-%{version}%{?pre:-%{pre}}.tar.xz +%if 0%{?pre:1} +Source0: http://download.qt-project.org/development_releases/qt/5.4/%{version}-%{pre}/submodules/%{qt_module}-opensource-src-%{version}-%{pre}.tar.xz +%else +Source0: http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz +%endif -BuildRequires: qt5-qtbase-devel >= 5.2 -BuildRequires: qt5-qtbase-static >= 5.2 +BuildRequires: qt5-qtbase-devel >= %{version} +BuildRequires: qt5-qtbase-static BuildRequires: qt5-qtdeclarative-devel BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(wayland-scanner) @@ -26,27 +33,22 @@ BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(libudev) -BuildRequires: git %{?_qt5_version:Requires: qt5-qtbase%{?_isa} >= %{_qt5_version}} %description -%{summary} - +%{summary}. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: qt5-qtbase-devel%{?_isa} - %description devel %{summary}. - %package examples Summary: Examples for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} - %description examples %{summary}. @@ -54,55 +56,98 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %prep %setup -q -n %{qt_module}-opensource-src-%{version}%{?pre:-%{pre}} +# Presence of .git/ qmake into invoking syncqt for us with +# correct arguments at make time. +# else, out-of-src-tree builds fail with stuff like: +# qwaylanddisplay_p.h:52:54: fatal error: QtWaylandClient/private/qwayland-wayland.h: No such file or directory +# #include +mkdir .git + %build -# Presence of repository tricks qmake into invoking syncqt for us with -# correct arguments at make time. -git init -%{_qt5_qmake} -o gl/Makefile CONFIG+=wayland-compositor -%{_qt5_qmake} -o nogl/Makefile QT_WAYLAND_GL_CONFIG=nogl -make -C nogl %{?_smp_mflags} -make -C gl %{?_smp_mflags} +%if 0%{?nogl} +# build support for non-egl platforms +mkdir nogl +pushd nogl +%{_qt5_qmake} QT_WAYLAND_GL_CONFIG=nogl .. +popd +make %{?_smp_mflags} -C nogl +%endif + +%{_qt5_qmake} CONFIG+=wayland-compositor +make %{?_smp_mflags} %install -make -C nogl install INSTALL_ROOT=%{buildroot} -make -C gl install INSTALL_ROOT=%{buildroot} -install -pm644 gl/include/QtCompositor/%{version}/QtCompositor/private/{wayland-wayland-server-protocol.h,qwayland-server-wayland.h} \ - %{buildroot}%{_qt5_headerdir}/QtCompositor/%{version}/QtCompositor/private +%if 0%{?nogl} +make install INSTALL_ROOT=%{buildroot} -C nogl/ +%endif +make install INSTALL_ROOT=%{buildroot} + +## .prl/.la file love +# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs +pushd %{buildroot}%{_qt5_libdir} +for prl_file in libQt5*.prl ; do + sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file} + if [ -f "$(basename ${prl_file} .prl).so" ]; then + rm -fv "$(basename ${prl_file} .prl).la" + sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file} + fi +done +popd + + +# install private headers... needed by hawaii shell +install -pm644 \ + include/QtCompositor/%{version}/QtCompositor/private/{wayland-wayland-server-protocol.h,qwayland-server-wayland.h} \ + %{buildroot}%{_qt5_headerdir}/QtCompositor/%{version}/QtCompositor/private/ %post -p /sbin/ldconfig %postun -p /sbin/ldconfig - %files -%{_qt5_plugindir}/platforms +%doc README +%doc LICENSE.LGPL* LICENSE.GPL* LGPL_EXCEPTION.txt +%{_qt5_libdir}/libQt5Compositor.so.5* +%{_qt5_libdir}/libQt5WaylandClient.so.5* +%dir %{_qt5_plugindir}/wayland-decoration-client/ +%{_qt5_plugindir}/wayland-decoration-client/libbradient.so %{_qt5_plugindir}/wayland-graphics-integration-server %{_qt5_plugindir}/wayland-graphics-integration-client -%{_qt5_libdir}/libQt5*.so.5* -%doc README -%doc LICENSE.FDL LICENSE.LGPL LICENSE.GPL -%doc LGPL_EXCEPTION.txt - +%{_qt5_plugindir}/platforms/libqwayland-egl.so +%{_qt5_plugindir}/platforms/libqwayland-generic.so +%{_qt5_plugindir}/platforms/libqwayland-xcomposite-egl.so +%{_qt5_plugindir}/platforms/libqwayland-xcomposite-glx.so +%dir %{_qt5_libdir}/cmake/Qt5Compositor/ +%{_qt5_libdir}/cmake/Qt5Compositor/Qt5Compositor_*.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_*.cmake +%dir %{_qt5_libdir}/cmake/Qt5WaylandClient/ +%{_qt5_libdir}/cmake/Qt5WaylandClient/Qt5WaylandClient_*.cmake %files devel %{_qt5_bindir}/qtwaylandscanner -%{_qt5_headerdir}/Qt*/ -%{_qt5_libdir}/libQt5*.so -%{_qt5_libdir}/libQt5*.prl -%{_qt5_libdir}/cmake/Qt5*/ -%{_qt5_libdir}/pkgconfig/Qt5*.pc -%{_qt5_archdatadir}/mkspecs/modules/*.pri -%exclude %{_qt5_libdir}/libQt5*.la - +%{_qt5_headerdir}/QtCompositor/ +%{_qt5_headerdir}/QtWaylandClient/ +%{_qt5_libdir}/libQt5Compositor.so +%{_qt5_libdir}/libQt5WaylandClient.so +%{_qt5_libdir}/libQt5Compositor.prl +%{_qt5_libdir}/libQt5WaylandClient.prl +%{_qt5_libdir}/cmake/Qt5Compositor/Qt5CompositorConfig*.cmake +%{_qt5_libdir}/pkgconfig/Qt5Compositor.pc +%{_qt5_libdir}/pkgconfig/Qt5WaylandClient.pc +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_compositor*.pri +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_waylandclient*.pri %files examples -%{_qt5_examplesdir} +%{_qt5_examplesdir}/wayland/ %changelog +* Mon Oct 20 2014 Rex Dieter 5.4.0-0.1.beta +- 5.4.0-beta + * Wed Sep 24 2014 Lubomir Rintel - 5.4.0-0.alpha1 - Switch from a Git snapshot to a pre-release tarball diff --git a/sources b/sources index 5f36e24..75bb1cf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bf7fb370300d83ddd8682d276d7c5ec9 qtwayland-opensource-src-5.4.0-alpha.tar.xz +e0230c0091da7828684a39c174363512 qtwayland-opensource-src-5.4.0-beta.tar.xz