diff --git a/0001-Remove-the-GLES-2-dependency-for-eglfs-and-kms.patch b/0001-Remove-the-GLES-2-dependency-for-eglfs-and-kms.patch new file mode 100644 index 0000000..79e0bd1 --- /dev/null +++ b/0001-Remove-the-GLES-2-dependency-for-eglfs-and-kms.patch @@ -0,0 +1,240 @@ +From f087ffdc53254fbab438180cd2da750d54c2be76 Mon Sep 17 00:00:00 2001 +From: Jorgen Lind +Date: Tue, 12 Nov 2013 10:50:42 +0100 +Subject: [PATCH 1/1] Remove the GLES 2 dependency for eglfs and kms + +Change-Id: If7b80487e01db726367f5a67d2860073f60a0844 +Reviewed-by: Gunnar Sletta +--- + src/plugins/platforms/eglfs/qeglfsbackingstore.cpp | 1 + + src/plugins/platforms/eglfs/qeglfsbackingstore.h | 3 ++- + src/plugins/platforms/eglfs/qeglfscompositor.cpp | 7 ++++++- + src/plugins/platforms/eglfs/qeglfscompositor.h | 6 ++++-- + src/plugins/platforms/eglfs/qeglfscursor.cpp | 5 +++-- + src/plugins/platforms/eglfs/qeglfscursor.h | 7 +++++-- + src/plugins/platforms/kms/qkmsbackingstore.cpp | 6 ++++++ + src/plugins/platforms/kms/qkmsbackingstore.h | 4 +++- + src/plugins/platforms/kms/qkmsscreen.h | 3 +-- + 9 files changed, 31 insertions(+), 11 deletions(-) + +diff --git a/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp +index 9de5960..0353191 100644 +--- a/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp ++++ b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp +@@ -139,6 +139,7 @@ void QEglFSBackingStore::resize(const QSize &size, const QRegion &staticContents + m_window->create(); + + rootWin->screen()->rootContext()->makeCurrent(rootWin->window()); ++ initializeOpenGLFunctions(); + + if (m_texture) + glDeleteTextures(1, &m_texture); +diff --git a/src/plugins/platforms/eglfs/qeglfsbackingstore.h b/src/plugins/platforms/eglfs/qeglfsbackingstore.h +index 535428a..9af856e 100644 +--- a/src/plugins/platforms/eglfs/qeglfsbackingstore.h ++++ b/src/plugins/platforms/eglfs/qeglfsbackingstore.h +@@ -43,6 +43,7 @@ + #define QEGLFSBACKINGSTORE_H + + #include ++#include + + #include + #include +@@ -52,7 +53,7 @@ QT_BEGIN_NAMESPACE + class QOpenGLPaintDevice; + class QEglFSWindow; + +-class QEglFSBackingStore : public QPlatformBackingStore ++class QEglFSBackingStore : public QPlatformBackingStore, public QOpenGLFunctions + { + public: + QEglFSBackingStore(QWindow *window); +diff --git a/src/plugins/platforms/eglfs/qeglfscompositor.cpp b/src/plugins/platforms/eglfs/qeglfscompositor.cpp +index 9db43a5..845bb5b 100644 +--- a/src/plugins/platforms/eglfs/qeglfscompositor.cpp ++++ b/src/plugins/platforms/eglfs/qeglfscompositor.cpp +@@ -53,7 +53,8 @@ static QEglFSCompositor *compositor = 0; + + QEglFSCompositor::QEglFSCompositor() + : m_screen(0), +- m_program(0) ++ m_program(0), ++ m_initialized(false) + { + Q_ASSERT(!compositor); + m_updateTimer.setSingleShot(true); +@@ -86,6 +87,10 @@ void QEglFSCompositor::renderAll() + Q_ASSERT(context); + + context->makeCurrent(rootWin->window()); ++ if (!m_initialized) { ++ initializeOpenGLFunctions(); ++ m_initialized = true; ++ } + ensureProgram(); + m_program->bind(); + +diff --git a/src/plugins/platforms/eglfs/qeglfscompositor.h b/src/plugins/platforms/eglfs/qeglfscompositor.h +index ade2e06..0d5daaf 100644 +--- a/src/plugins/platforms/eglfs/qeglfscompositor.h ++++ b/src/plugins/platforms/eglfs/qeglfscompositor.h +@@ -42,7 +42,8 @@ + #ifndef QEGLFSCOMPOSITOR_H + #define QEGLFSCOMPOSITOR_H + +-#include ++#include ++#include + + QT_BEGIN_NAMESPACE + +@@ -50,7 +51,7 @@ class QEglFSScreen; + class QEglFSWindow; + class QOpenGLShaderProgram; + +-class QEglFSCompositor : public QObject ++class QEglFSCompositor : public QObject, public QOpenGLFunctions + { + Q_OBJECT + +@@ -76,6 +77,7 @@ private: + int m_vertexCoordEntry; + int m_textureCoordEntry; + int m_isRasterEntry; ++ bool m_initialized; + }; + + QT_END_NAMESPACE +diff --git a/src/plugins/platforms/eglfs/qeglfscursor.cpp b/src/plugins/platforms/eglfs/qeglfscursor.cpp +index c00e86d..0066426 100644 +--- a/src/plugins/platforms/eglfs/qeglfscursor.cpp ++++ b/src/plugins/platforms/eglfs/qeglfscursor.cpp +@@ -79,7 +79,7 @@ void QEglFSCursor::resetResources() + m_cursorAtlas.texture = 0; + } + +-static GLuint createShader(GLenum shaderType, const char *program) ++GLuint QEglFSCursor::createShader(GLenum shaderType, const char *program) + { + GLuint shader = glCreateShader(shaderType); + glShaderSource(shader, 1 /* count */, &program, NULL /* lengths */); +@@ -98,7 +98,7 @@ static GLuint createShader(GLenum shaderType, const char *program) + return 0; + } + +-static GLuint createProgram(GLuint vshader, GLuint fshader) ++GLuint QEglFSCursor::createProgram(GLuint vshader, GLuint fshader) + { + GLuint program = glCreateProgram(); + glAttachShader(program, vshader); +@@ -286,6 +286,7 @@ void QEglFSCursor::draw(const QRectF &r) + { + if (!m_program) { + // one time initialization ++ initializeOpenGLFunctions(); + createShaderPrograms(); + + if (!m_cursorAtlas.texture) { +diff --git a/src/plugins/platforms/eglfs/qeglfscursor.h b/src/plugins/platforms/eglfs/qeglfscursor.h +index 51a34e0..71ff73b 100644 +--- a/src/plugins/platforms/eglfs/qeglfscursor.h ++++ b/src/plugins/platforms/eglfs/qeglfscursor.h +@@ -43,15 +43,15 @@ + #define QEGLFSCURSOR_H + + #include ++#include + #include "qeglfsscreen.h" +-#include + + QT_BEGIN_NAMESPACE + + class QOpenGLShaderProgram; + class QEglFSScreen; + +-class QEglFSCursor : public QPlatformCursor ++class QEglFSCursor : public QPlatformCursor, public QOpenGLFunctions + { + public: + QEglFSCursor(QEglFSScreen *screen); +@@ -78,6 +78,9 @@ protected: + void draw(const QRectF &rect); + void update(const QRegion ®ion); + ++ GLuint createShader(GLenum shaderType, const char *program); ++ GLuint createProgram(GLuint vshader, GLuint fshader); ++ + QEglFSScreen *m_screen; + + // current cursor information +diff --git a/src/plugins/platforms/kms/qkmsbackingstore.cpp b/src/plugins/platforms/kms/qkmsbackingstore.cpp +index 29395f3..fa4ef84 100644 +--- a/src/plugins/platforms/kms/qkmsbackingstore.cpp ++++ b/src/plugins/platforms/kms/qkmsbackingstore.cpp +@@ -52,6 +52,7 @@ QKmsBackingStore::QKmsBackingStore(QWindow *window) + , m_context(new QOpenGLContext) + , m_texture(0) + , m_program(0) ++ , m_initialized(false) + { + m_context->setFormat(window->requestedFormat()); + m_context->setScreen(window->screen()); +@@ -85,6 +86,11 @@ void QKmsBackingStore::flush(QWindow *window, const QRegion ®ion, const QPoin + + m_context->makeCurrent(window); + ++ if (!m_initialized) { ++ initializeOpenGLFunctions(); ++ m_initialized = true; ++ } ++ + if (!m_program) { + static const char *textureVertexProgram = + "attribute highp vec2 vertexCoordEntry;\n" +diff --git a/src/plugins/platforms/kms/qkmsbackingstore.h b/src/plugins/platforms/kms/qkmsbackingstore.h +index 34ea49a..c5f6c81 100644 +--- a/src/plugins/platforms/kms/qkmsbackingstore.h ++++ b/src/plugins/platforms/kms/qkmsbackingstore.h +@@ -43,6 +43,7 @@ + #define QBACKINGSTORE_KMS_H + + #include ++#include + #include + + QT_BEGIN_NAMESPACE +@@ -50,7 +51,7 @@ QT_BEGIN_NAMESPACE + class QOpenGLContext; + class QOpenGLShaderProgram; + +-class QKmsBackingStore : public QPlatformBackingStore ++class QKmsBackingStore : public QPlatformBackingStore, public QOpenGLFunctions + { + public: + QKmsBackingStore(QWindow *window); +@@ -69,6 +70,7 @@ private: + uint m_texture; + QOpenGLShaderProgram *m_program; + QRegion m_dirty; ++ bool m_initialized; + }; + + QT_END_NAMESPACE +diff --git a/src/plugins/platforms/kms/qkmsscreen.h b/src/plugins/platforms/kms/qkmsscreen.h +index a90d6fa..f0c49ad 100644 +--- a/src/plugins/platforms/kms/qkmsscreen.h ++++ b/src/plugins/platforms/kms/qkmsscreen.h +@@ -55,8 +55,7 @@ extern "C" { + + #include + #include +-#include +-#include ++#include + + #include + +-- +1.8.4.4 + diff --git a/0002-Fix-configure-script-to-not-dictate-OpenGL-ES-2-when.patch b/0002-Fix-configure-script-to-not-dictate-OpenGL-ES-2-when.patch new file mode 100644 index 0000000..9a5bb9e --- /dev/null +++ b/0002-Fix-configure-script-to-not-dictate-OpenGL-ES-2-when.patch @@ -0,0 +1,115 @@ +From bad2e9fad4b9574528b02e8b60a03672f41ebe35 Mon Sep 17 00:00:00 2001 +From: Jorgen Lind +Date: Tue, 12 Nov 2013 09:25:23 +0100 +Subject: [PATCH 1/1] Fix configure script to not dictate OpenGL ES 2 when EGL + is enabled + +Change-Id: I4d940ef436f21fd915f3d03558fd4fb4c7b3e5b7 +Reviewed-by: Gunnar Sletta +(cherry picked from commit 20272ad6e5c56db87146f85f98c560099bfdbb75) + +Conflicts: + configure +--- + configure | 34 +++++++--------------------------- + 1 file changed, 7 insertions(+), 27 deletions(-) + +diff --git a/configure b/configure +index a330dd6..a83aeb7 100755 +--- a/configure ++++ b/configure +@@ -2419,7 +2419,7 @@ Additional options: + * -xcb ............... Compile Xcb support. + + -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support. +- * -eglfs ............. Compile EGLFS support (Requires OpenGL ES 2 support). ++ * -eglfs ............. Compile EGLFS support. + + -no-directfb ....... Do not compile DirectFB support. + * -directfb .......... Compile DirectFB support. +@@ -2428,7 +2428,7 @@ Additional options: + * -linuxfb ........... Compile Linux Framebuffer support. + + -no-kms ............ Do not compile KMS support. +- * -kms ............... Compile KMS support (Requires EGL and OpenGL ES 2 support). ++ * -kms ............... Compile KMS support (Requires EGL support). + + -qpa ......... Sets the default QPA platform (e.g xcb, cocoa, windows). + +@@ -4423,11 +4423,6 @@ if [ "$CFG_EGLFS" = "yes" ]; then + echo "The EGLFS plugin requires EGL support and cannot be built" + exit 101 + fi +- if [ "$CFG_OPENGL" != "es2" ]; then +- echo "The EGLFS plugin requires OpenGL ES 2 support and cannot be built" +- exit 101 +- fi +- CFG_OPENGL="es2" + CFG_EGL=yes + fi + +@@ -4436,10 +4431,6 @@ if [ "$CFG_KMS" = "yes" ]; then + echo "The KMS plugin requires EGL support and cannot be built" + exit 101 + fi +- if [ "$CFG_OPENGL" != "es2" ]; then +- echo "The KMS plugin requires OpenGL ES 2 support and cannot be built" +- exit 101 +- fi + fi + + # auto-detect SQL-modules support +@@ -5269,17 +5260,10 @@ elif [ "$CFG_XKBCOMMON" = "no" ]; then + fi + + # EGL Support +-if [ "$CFG_OPENGL" != "es2" ]; then +- if [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "desktop" ]; then +- echo "EGL support was requested but Qt is being configured for desktop OpenGL." +- echo "Either disable EGL support or enable OpenGL ES support." +- exit 101 +- elif [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "no" ]; then +- echo "EGL support was requested but OpenGL ES support is disabled." ++if [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "no" ]; then ++ echo "EGL support was requested but OpenGL support is disabled." + echo "Either disable EGL support or enable OpenGL ES support." + exit 101 +- fi +- CFG_EGL=no + elif [ "$CFG_EGL" != "no" ]; then + if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then + QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` +@@ -5302,7 +5286,7 @@ elif [ "$CFG_EGL" != "no" ]; then + fi + + if [ "$CFG_EGLFS" != "no" ]; then +- if [ "$CFG_OPENGL" = "es2" ] && [ "$XPLATFORM_QNX" = "no" ]; then ++ if [ "$XPLATFORM_QNX" = "no" ]; then + CFG_EGLFS="$CFG_EGL" + else + CFG_EGLFS="no" +@@ -5310,7 +5294,7 @@ if [ "$CFG_EGLFS" != "no" ]; then + fi + + if [ "$CFG_KMS" = "yes" ]; then +- if [ "$CFG_OPENGL" = "es2" ] && [ "$CFG_EGL" = "yes" ]; then ++ if [ "$CFG_EGL" = "yes" ]; then + CFG_KMS="yes" + else + CFG_KMS="no" +@@ -5694,11 +5678,7 @@ else + fi + + if [ "$CFG_OPENGL" = "es2" ]; then +- QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES" +-fi +- +-if [ "$CFG_OPENGL" = "es2" ]; then +- QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2" ++ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES QT_OPENGL_ES_2" + QT_CONFIG="$QT_CONFIG opengles2" + fi + +-- +1.8.4.4 + diff --git a/0003-EGL-convenience-deal-with-DefaultRenderableType-when.patch b/0003-EGL-convenience-deal-with-DefaultRenderableType-when.patch new file mode 100644 index 0000000..6239577 --- /dev/null +++ b/0003-EGL-convenience-deal-with-DefaultRenderableType-when.patch @@ -0,0 +1,103 @@ +From 7b6253efbf28b43c8b2a561c188670466ac3d916 Mon Sep 17 00:00:00 2001 +From: Andrew Knight +Date: Wed, 20 Nov 2013 16:56:07 +0200 +Subject: [PATCH 1/1] EGL convenience: deal with DefaultRenderableType when + appropriate + +When encountering QSurfaceFormat::DefaultRenderableType, the surface +format choosers should not default to OpenGL ES, but rather desktop +OpenGL when Qt has been configured without ES2 support. + +Change-Id: I57aa7cfe63ebe0ffb32f4ba32808e62b0a4589f8 +Reviewed-by: Gunnar Sletta +--- + .../eglconvenience/qeglconvenience.cpp | 29 ++++++++++++++++------ + .../eglconvenience/qeglplatformcontext.cpp | 15 ++++++++--- + 2 files changed, 34 insertions(+), 10 deletions(-) + +diff --git a/src/platformsupport/eglconvenience/qeglconvenience.cpp b/src/platformsupport/eglconvenience/qeglconvenience.cpp +index b711a2a..32f553a 100644 +--- a/src/platformsupport/eglconvenience/qeglconvenience.cpp ++++ b/src/platformsupport/eglconvenience/qeglconvenience.cpp +@@ -232,17 +232,28 @@ EGLConfig QEglConfigChooser::chooseConfig() + configureAttributes.append(surfaceType()); + + configureAttributes.append(EGL_RENDERABLE_TYPE); +- if (m_format.renderableType() == QSurfaceFormat::OpenVG) ++ switch (m_format.renderableType()) { ++ case QSurfaceFormat::OpenVG: + configureAttributes.append(EGL_OPENVG_BIT); ++ break; + #ifdef EGL_VERSION_1_4 +- else if (m_format.renderableType() == QSurfaceFormat::OpenGL) ++# if !defined(QT_OPENGL_ES_2) ++ case QSurfaceFormat::DefaultRenderableType: ++# endif ++ case QSurfaceFormat::OpenGL: + configureAttributes.append(EGL_OPENGL_BIT); ++ break; + #endif +- else if (m_format.majorVersion() == 1) +- configureAttributes.append(EGL_OPENGL_ES_BIT); +- else ++ case QSurfaceFormat::OpenGLES: ++ if (m_format.majorVersion() == 1) { ++ configureAttributes.append(EGL_OPENGL_ES_BIT); ++ break; ++ } ++ // fall through ++ default: + configureAttributes.append(EGL_OPENGL_ES2_BIT); +- ++ break; ++ } + configureAttributes.append(EGL_NONE); + + EGLConfig cfg = 0; +@@ -336,7 +347,11 @@ QSurfaceFormat q_glFormatFromConfig(EGLDisplay display, const EGLConfig config, + if (referenceFormat.renderableType() == QSurfaceFormat::OpenVG && (renderableType & EGL_OPENVG_BIT)) + format.setRenderableType(QSurfaceFormat::OpenVG); + #ifdef EGL_VERSION_1_4 +- else if (referenceFormat.renderableType() == QSurfaceFormat::OpenGL && (renderableType & EGL_OPENGL_BIT)) ++ else if ((referenceFormat.renderableType() == QSurfaceFormat::OpenGL ++# if !defined(QT_OPENGL_ES_2) ++ || referenceFormat.renderableType() == QSurfaceFormat::DefaultRenderableType ++# endif ++ ) && (renderableType & EGL_OPENGL_BIT)) + format.setRenderableType(QSurfaceFormat::OpenGL); + #endif + else +diff --git a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp +index 34ba21a..714ad8a 100644 +--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp ++++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp +@@ -49,14 +49,23 @@ + + static inline void bindApi(const QSurfaceFormat &format) + { +- if (format.renderableType() == QSurfaceFormat::OpenVG) ++ switch (format.renderableType()) { ++ case QSurfaceFormat::OpenVG: + eglBindAPI(EGL_OPENVG_API); ++ break; + #ifdef EGL_VERSION_1_4 +- else if (format.renderableType() == QSurfaceFormat::OpenGL) ++# if !defined(QT_OPENGL_ES_2) ++ case QSurfaceFormat::DefaultRenderableType: ++# endif ++ case QSurfaceFormat::OpenGL: + eglBindAPI(EGL_OPENGL_API); ++ break; + #endif +- else ++ case QSurfaceFormat::OpenGLES: ++ default: + eglBindAPI(EGL_OPENGL_ES_API); ++ break; ++ } + } + + QEGLPlatformContext::QEGLPlatformContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share, EGLDisplay display, +-- +1.8.4.4 + diff --git a/0004-Do-not-disable-egl-on-desktop-gl-automatically.patch b/0004-Do-not-disable-egl-on-desktop-gl-automatically.patch new file mode 100644 index 0000000..5210bc5 --- /dev/null +++ b/0004-Do-not-disable-egl-on-desktop-gl-automatically.patch @@ -0,0 +1,45 @@ +From 95ffd606f8a632a8a963486ce340e7e1b707be0a Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid +Date: Tue, 19 Nov 2013 16:53:21 +0100 +Subject: [PATCH 1/1] Do not disable egl on desktop gl automatically +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +desktop opengl and egl are not incompatible with eachother, so there +is no need to disable egl when on desktop opengl + +Task-number: QTBUG-34949 + +Change-Id: I757c38674a480910d1cb23853c255eb993e107ff +Reviewed-by: Oswald Buddenhagen +Reviewed-by: Andrew Knight +Reviewed-by: Jørgen Lind +--- + configure | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/configure b/configure +index 120150c..72c13ab 100755 +--- a/configure ++++ b/configure +@@ -5267,11 +5267,13 @@ elif [ "$CFG_XKBCOMMON" = "no" ]; then + fi + + # EGL Support +-if [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "no" ]; then ++if [ "$CFG_EGL" != "no" ]; then ++ if [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "no" ]; then + echo "EGL support was requested but OpenGL support is disabled." +- echo "Either disable EGL support or enable OpenGL ES support." ++ echo "Either disable EGL support or enable OpenGL support." + exit 101 +-elif [ "$CFG_EGL" != "no" ]; then ++ fi ++ + if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then + QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` + QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null` +-- +1.8.4.4 + diff --git a/libqt5-qtbase.changes b/libqt5-qtbase.changes index f66b270..1dd118a 100644 --- a/libqt5-qtbase.changes +++ b/libqt5-qtbase.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Thu Dec 12 12:28:46 UTC 2013 - hrvoje.senjan@gmail.com + +- Update to 5.2.0 final: + * For more details please see: + http://blog.qt.digia.com/blog/2013/12/12/qt-5-2-released-the-best-qt-yet/ + http://qt-project.org/qt5/qt52 + http://qt.digia.com/Product/Whats-New/Qt-52/ + +------------------------------------------------------------------- +Wed Dec 4 01:17:30 UTC 2013 - hrvoje.senjan@gmail.com + +- Import patches from upstream which make possible to build EGL + support without requiring GLES2: + 0001-Remove-the-GLES-2-dependency-for-eglfs-and-kms.patch + 0002-Fix-configure-script-to-not-dictate-OpenGL-ES-2-when.patch + 0003-EGL-convenience-deal-with-DefaultRenderableType-when.patch + 0004-Do-not-disable-egl-on-desktop-gl-automatically.patch +- Enable EGL support by adding (Build)Requiring pkgconfig(egl) + ------------------------------------------------------------------- Fri Nov 29 13:42:39 UTC 2013 - hrvoje.senjan@gmail.com diff --git a/libqt5-qtbase.spec b/libqt5-qtbase.spec index 977d675..e164c88 100644 --- a/libqt5-qtbase.spec +++ b/libqt5-qtbase.spec @@ -36,6 +36,7 @@ BuildRequires: postgresql-devel BuildRequires: sqlite3-devel BuildRequires: unixODBC-devel BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(gl) %ifarch %arm BuildRequires: pkgconfig(gbm) @@ -50,14 +51,14 @@ BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(xkbcommon) >= 0.2.0 -Version: 5.2.0~rc1 +Version: 5.2.0 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 real_version 5.2.0 %define so_version 5.2.0 %define tar_version qtbase-opensource-src-%{real_version} Source: %{tar_version}.tar.xz @@ -75,6 +76,12 @@ Patch4: qtbase-opensource-src-5.1.1-bigendian.patch 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-FIXES-UPSTREAM -- patches 1000 - 1003 are from upstream stable branch, they finally alow building egl support +# without requiring GLES +Patch1000: 0001-Remove-the-GLES-2-dependency-for-eglfs-and-kms.patch +Patch1001: 0002-Fix-configure-script-to-not-dictate-OpenGL-ES-2-when.patch +Patch1002: 0003-EGL-convenience-deal-with-DefaultRenderableType-when.patch +Patch1003: 0004-Do-not-disable-egl-on-desktop-gl-automatically.patch BuildRequires: clucene-core-devel BuildRequires: libicu-devel BuildRequires: libpulse-devel @@ -111,6 +118,10 @@ handling. %patch4 -p1 %patch109 -p1 %patch131 -p1 +%patch1000 -p1 +%patch1001 -p1 +%patch1002 -p1 +%patch1003 -p1 # be sure not to use them rm -r src/3rdparty/{libjpeg,freetype,libpng,zlib} @@ -149,6 +160,7 @@ Requires: pcre-devel Requires: pkgconfig Requires: sqlite3-devel Requires: pkgconfig(dbus-1) +Requires: pkgconfig(egl) Requires: pkgconfig(gl) %ifarch %arm Requires: pkgconfig(gbm) @@ -380,13 +392,12 @@ echo yes | ./configure $platform \ -gtkstyle \ -javascript-jit \ -xcb \ - -no-eglfs \ - -opengl desktop \ + -egl \ + -eglfs \ %ifarch %arm -eglfs -kms \ -opengl es2 \ %else - -no-eglfs \ -opengl desktop \ %endif -release \ diff --git a/qtbase-opensource-src-5.2.0-rc1.tar.xz b/qtbase-opensource-src-5.2.0-rc1.tar.xz deleted file mode 100644 index bb6f9ea..0000000 --- a/qtbase-opensource-src-5.2.0-rc1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:183f2b115052129fa67c19ff25c4a706ba081958ae4623e94324694a009a2592 -size 46343632 diff --git a/qtbase-opensource-src-5.2.0.tar.xz b/qtbase-opensource-src-5.2.0.tar.xz new file mode 100644 index 0000000..3696e26 --- /dev/null +++ b/qtbase-opensource-src-5.2.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51556cd2562a6d4bbb70ffcc93e8ef83ec79b170753aac6e4b195957c61cb628 +size 46353264