From c3ae9998c0d987d2d8a8b7bfd200e61e9f7c89ff18c30c7e8319903fbcd8f13d Mon Sep 17 00:00:00 2001 From: Christophe Giboudeaux Date: Fri, 11 Sep 2020 06:29:59 +0000 Subject: [PATCH] Qt 5.15.1 - not built yet OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtdeclarative?expand=0&rev=11 --- fix-subpixel-positioned-text.patch | 59 ------------- libqt5-qtdeclarative.changes | 11 +++ libqt5-qtdeclarative.spec | 12 +-- qtdeclarative-everywhere-src-5.15.0.tar.xz | 3 - qtdeclarative-everywhere-src-5.15.1.tar.xz | 3 + qtdeclarative-switch-to-python3.patch | 96 ---------------------- 6 files changed, 18 insertions(+), 166 deletions(-) delete mode 100644 fix-subpixel-positioned-text.patch delete mode 100644 qtdeclarative-everywhere-src-5.15.0.tar.xz create mode 100644 qtdeclarative-everywhere-src-5.15.1.tar.xz delete mode 100644 qtdeclarative-switch-to-python3.patch diff --git a/fix-subpixel-positioned-text.patch b/fix-subpixel-positioned-text.patch deleted file mode 100644 index b3f2bed..0000000 --- a/fix-subpixel-positioned-text.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 40ba29cae5cdb2ebd6330870a0f15e2e75d40de0 Mon Sep 17 00:00:00 2001 -From: Eskil Abrahamsen Blomfeldt -Date: Tue, 05 May 2020 11:36:24 +0200 -Subject: [PATCH] Fix subpixel positioned text with Text.NativeRendering - -We would be generating subpixel positioned glyphs based on the -relative positions of the glyphs, ignoring the fractional part -contributed by the origin of the text. So if the text origin was -inside a pixel, the subpixel antialiasing would be wrong and we -would see kerning errors. - -This was especially visible when using AlignHCenter on text -with hinting disabled and resizing the item it was aligning to. - -Pick-to: 5.15 -Task-number: QTBUG-49646 -Change-Id: I0e709ba2b5d2440e34c94c6f819befe0a65a113a ---- - -diff --git a/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp b/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp -index be6ef25..831586c 100644 ---- a/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp -+++ b/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp -@@ -789,11 +789,12 @@ - const QMargins &margins) - { - Q_ASSERT(m_font.isValid()); -+ QPointF position(p.x(), p.y() - m_font.ascent()); - QVector fixedPointPositions; - const int glyphPositionsSize = glyphPositions.size(); - fixedPointPositions.reserve(glyphPositionsSize); - for (int i=0; i < glyphPositionsSize; ++i) -- fixedPointPositions.append(QFixedPoint::fromPointF(glyphPositions.at(i))); -+ fixedPointPositions.append(QFixedPoint::fromPointF(position + glyphPositions.at(i))); - - QTextureGlyphCache *cache = glyphCache(); - -@@ -815,18 +816,16 @@ - Q_ASSERT(geometry->sizeOfVertex() == sizeof(QVector4D)); - ushort *ip = geometry->indexDataAsUShort(); - -- QPointF position(p.x(), p.y() - m_font.ascent()); - bool supportsSubPixelPositions = fontD->fontEngine->supportsSubPixelPositions(); - for (int i=0; ifontEngine->subPixelPositionForX(QFixed::fromReal(glyphPositions.at(i).x())); -+ subPixelPosition = fontD->fontEngine->subPixelPositionForX(QFixed::fromReal(glyphPosition.x())); - - QTextureGlyphCache::GlyphAndSubPixelPosition glyph(glyphIndexes.at(i), subPixelPosition); - const QTextureGlyphCache::Coord &c = cache->coords.value(glyph); - -- QPointF glyphPosition = glyphPositions.at(i) + position; -- - // On a retina screen the glyph positions are not pre-scaled (as opposed to - // eg. the raster paint engine). To ensure that we get the same behavior as - // the raster engine (and CoreText itself) when it comes to rounding of the - diff --git a/libqt5-qtdeclarative.changes b/libqt5-qtdeclarative.changes index 58f2118..8ff2c94 100644 --- a/libqt5-qtdeclarative.changes +++ b/libqt5-qtdeclarative.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Thu Sep 10 07:57:04 UTC 2020 - Fabian Vogt + +- Update to 5.15.1: + * New bugfix release + * For more details please see: + http://code.qt.io/cgit/qt/qtdeclarative.git/plain/dist/changes-5.15.1/?h=5.15.1 +- Drop patches, now upstream: + * fix-subpixel-positioned-text.patch + * qtdeclarative-switch-to-python3.patch + ------------------------------------------------------------------- Tue May 26 09:50:22 UTC 2020 - Callum Farmer diff --git a/libqt5-qtdeclarative.spec b/libqt5-qtdeclarative.spec index 94b32b1..d3c58d4 100644 --- a/libqt5-qtdeclarative.spec +++ b/libqt5-qtdeclarative.spec @@ -19,11 +19,11 @@ %define qt5_snapshot 0 %define libname libQtQuick5 %define base_name libqt5 -%define real_version 5.15.0 -%define so_version 5.15.0 -%define tar_version qtdeclarative-everywhere-src-5.15.0 +%define real_version 5.15.1 +%define so_version 5.15.1 +%define tar_version qtdeclarative-everywhere-src-5.15.1 Name: libqt5-qtdeclarative -Version: 5.15.0 +Version: 5.15.1 Release: 0 Summary: Qt 5 Declarative Library License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later) @@ -31,12 +31,8 @@ Group: Development/Libraries/X11 URL: https://www.qt.io Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz Source1: baselibs.conf -# PATCH-FIX-UPSTREAM https://codereview.qt-project.org/c/qt/qtdeclarative/+/299258/1 -Patch1: fix-subpixel-positioned-text.patch # PATCH-FIX-OPENSUSE sse2_nojit.patch -- enable JIT and sse2 only on sse2 case Patch100: sse2_nojit.patch -# PATCH-FIX-OPENSUSE Switch to use python3 at build time -Patch102: qtdeclarative-switch-to-python3.patch Patch103: qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch BuildRequires: fdupes BuildRequires: libQt5Core-private-headers-devel >= %{version} diff --git a/qtdeclarative-everywhere-src-5.15.0.tar.xz b/qtdeclarative-everywhere-src-5.15.0.tar.xz deleted file mode 100644 index eda446e..0000000 --- a/qtdeclarative-everywhere-src-5.15.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9c3c93fb7d340b2f7d738d12408c047318c78973cb45bfc5ff6b3a57e1fef699 -size 21493268 diff --git a/qtdeclarative-everywhere-src-5.15.1.tar.xz b/qtdeclarative-everywhere-src-5.15.1.tar.xz new file mode 100644 index 0000000..578e57d --- /dev/null +++ b/qtdeclarative-everywhere-src-5.15.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e30f0ccba61f9d71720b91d7f7523c23677f23cd96065cb71df1b0df329d768 +size 21558724 diff --git a/qtdeclarative-switch-to-python3.patch b/qtdeclarative-switch-to-python3.patch deleted file mode 100644 index e52028d..0000000 --- a/qtdeclarative-switch-to-python3.patch +++ /dev/null @@ -1,96 +0,0 @@ -Subject: Make qtdeclarative build with python3 -From: Max Lin -From: Antonio Larrosa -Index: qtdeclarative-everywhere-src-5.12.0-alpha/qtdeclarative.pro -=================================================================== ---- qtdeclarative-everywhere-src-5.12.0-alpha.orig/qtdeclarative.pro -+++ qtdeclarative-everywhere-src-5.12.0-alpha/qtdeclarative.pro -@@ -2,7 +2,7 @@ CONFIG += tests_need_tools examples_need - load(qt_parts) - - !python_available { -- py_out = $$system('python -c "print(1)"') -+ py_out = $$system('python3 -c "print(1)"') - !equals(py_out, 1): error("Building QtQml requires Python.") - tmp = python_available - CONFIG += $$tmp -Index: qtdeclarative-everywhere-src-5.12.0-alpha/src/3rdparty/masm/masm.pri -=================================================================== ---- qtdeclarative-everywhere-src-5.12.0-alpha.orig/src/3rdparty/masm/masm.pri -+++ qtdeclarative-everywhere-src-5.12.0-alpha/src/3rdparty/masm/masm.pri -@@ -58,7 +58,7 @@ contains(DEFINES, WTF_USE_UDIS86=1) { - udis86.output = udis86_itab.h - udis86.input = ITAB - udis86.CONFIG += no_link -- udis86.commands = python $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN} -+ udis86.commands = python3 $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN} - QMAKE_EXTRA_COMPILERS += udis86 - - udis86_tab_cfile.target = $$OUT_PWD/udis86_itab.c -@@ -113,7 +113,7 @@ retgen.output = $$GENERATEDDIR/RegExpJit - retgen.script = $$PWD/yarr/create_regex_tables - retgen.input = retgen.script - retgen.CONFIG += no_link --retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT} -+retgen.commands = python3 $$retgen.script > ${QMAKE_FILE_OUT} - QMAKE_EXTRA_COMPILERS += retgen - - # Taken from WebKit/Tools/qmake/mkspecs/features/unix/default_post.prf -Index: qtdeclarative-everywhere-src-5.12.0-alpha/src/3rdparty/masm/disassembler/udis86/itab.py -=================================================================== ---- qtdeclarative-everywhere-src-5.12.0-alpha.orig/src/3rdparty/masm/disassembler/udis86/itab.py -+++ qtdeclarative-everywhere-src-5.12.0-alpha/src/3rdparty/masm/disassembler/udis86/itab.py -@@ -268,13 +268,13 @@ class UdItabGenerator( ud_opcode.UdOpcod - opr = e[ 'operands' ] - for i in range(len(opr)): - if not (opr[i] in self.OperandDict.keys()): -- print "error: invalid operand declaration: %s\n" % opr[i] -+ print("error: invalid operand declaration: %s\n" % opr[i]) - opr_c[i] = "O_" + opr[i] - opr = "%s %s %s" % (opr_c[0] + ",", opr_c[1] + ",", opr_c[2]) - - for p in e['prefixes']: - if not ( p in self.PrefixDict.keys() ): -- print "error: invalid prefix specification: %s \n" % pfx -+ print("error: invalid prefix specification: %s \n" % pfx) - pfx_c.append( self.PrefixDict[p] ) - if len(e['prefixes']) == 0: - pfx_c.append( "P_none" ) -Index: qtdeclarative-everywhere-src-5.12.0-alpha/src/3rdparty/masm/disassembler/udis86/ud_optable.py -=================================================================== ---- qtdeclarative-everywhere-src-5.12.0-alpha.orig/src/3rdparty/masm/disassembler/udis86/ud_optable.py -+++ qtdeclarative-everywhere-src-5.12.0-alpha/src/3rdparty/masm/disassembler/udis86/ud_optable.py -@@ -50,7 +50,7 @@ class UdOptableXmlParser: - elif def_node.localName == 'vendor': - ven = ( def_node.firstChild.data ); - else: -- print "warning: invalid node - %s" % def_node.localName -+ print("warning: invalid node - %s" % def_node.localName) - continue - return ( pfx, opc, opr, ven ) - -@@ -65,7 +65,7 @@ class UdOptableXmlParser: - if not insnNode.localName: - continue - if insnNode.localName != "instruction": -- print "warning: invalid insn node - %s" % insnNode.localName -+ print("warning: invalid insn node - %s" % insnNode.localName) - continue - - mnemonic = insnNode.getElementsByTagName( 'mnemonic' )[ 0 ].firstChild.data -@@ -84,11 +84,11 @@ class UdOptableXmlParser: - - - def printFn( pfx, mnm, opc, opr, ven ): -- print 'def: ', -+ print('def: ', end='') - if len( pfx ): -- print ' '.join( pfx ), -- print "%s %s %s %s" % \ -- ( mnm, ' '.join( opc ), ' '.join( opr ), ven ) -+ print(' '.join( pfx ), end='') -+ print("%s %s %s %s" % \ -+ ( mnm, ' '.join( opc ), ' '.join( opr ), ven )) - - - def parse( xml, callback ):