upg mesa and qt6-base

This commit is contained in:
joborun linux 2023-06-09 13:48:05 +03:00
parent d2ec1490a4
commit b4aea7662a
5 changed files with 124 additions and 21 deletions

View File

@ -7,7 +7,7 @@
pkgbase=mesa
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast' 'vulkan-virtio' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
pkgver=23.1.1
pkgver=23.1.2
pkgrel=01
pkgdesc="An open-source implementation of the OpenGL specification w/o systemd or zstd"
#makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
@ -296,18 +296,16 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l
'71C4B75620BC75708B4BDB254C95FAAB3EB073EC' # Dylan Baker <dylan@pnwbakers.com>
'57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom <eric@engestrom.ch>
sha256sums=(a2679031ed5b73b29c4f042ac64d96f83b0cfe4858617de32e2efc196c653a40 # mesa-23.1.1.tar.xz
2986ab688cc5058e552e08b7a00e795b8e3764322b53ccf3eb8545303cbda0cb # mesa-23.1.1.tar.xz.sig
sha256sums=(60b1f3adb1561830c158bf3c68508943674fb9d69f384c3c7289694385ab5c7e # mesa-23.1.2.tar.xz
4850ebe291db0fde481bb0579cb5c56af6df39dc18193999e4a2ba79d3208910 # mesa-23.1.2.tar.xz.sig
7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537) # LICENSE
## 101fdfb140a0e77ba46f559868700df4ce9ad853074412eccf324b92cfc29d6b libva-mesa-driver-23.1.1-01-x86_64.pkg.tar.lz
## 9a17082cfca02223a09746cd75d5cdde6a16e057699ebec91e8078984e4612bf mesa-23.1.1-01-x86_64.pkg.tar.lz
## a2679031ed5b73b29c4f042ac64d96f83b0cfe4858617de32e2efc196c653a40 mesa-23.1.1.tar.xz
## 2986ab688cc5058e552e08b7a00e795b8e3764322b53ccf3eb8545303cbda0cb mesa-23.1.1.tar.xz.sig
## 6f8f9fcc1e7f39d82b62780191d2f544cbe833d6ab5f268a1a5bc4b0288214e6 mesa-vdpau-23.1.1-01-x86_64.pkg.tar.lz
## 2afd2a6621ee73220d93edb0febae9432371e91d26c489aa6e85b94a07a1faa8 opencl-mesa-23.1.1-01-x86_64.pkg.tar.lz
## d731081f3166c9d40c0f21c525bea732323609838129f9cb2e7f23feb8d738b1 vulkan-intel-23.1.1-01-x86_64.pkg.tar.lz
## 27bdcaa32fdeb59d22030d486f9831eaf392d36908b183d9b599f307812504fd vulkan-mesa-layers-23.1.1-01-x86_64.pkg.tar.lz
## 15050a5e334dedcde1985e7aca1e72ac0ee16bd21afaf7527a5110f6626d5dc8 vulkan-radeon-23.1.1-01-x86_64.pkg.tar.lz
## a3992a49fc358c1be0c62b48a2d5f2c31d7f170a7e7793dc4d2e7ad59aedd693 vulkan-swrast-23.1.1-01-x86_64.pkg.tar.lz
## 0db2311ad8942e85a13018b18e0d3ca6159afdbc8c75bc765f8bae6dccb1ff51 vulkan-virtio-23.1.1-01-x86_64.pkg.tar.lz
## c5ef1f827381cc0bba45b2a4b0c6a102ec1f100df94b5ebe3531033c929869b3 libva-mesa-driver-23.1.2-01-x86_64.pkg.tar.lz
## 13e0cdc63b74af8e190cd2140c99d6bf310e9e06c818013b10b7efea293ffeb5 mesa-23.1.2-01-x86_64.pkg.tar.lz
## 3fd4509db3df944f1a126b47d4c911f26d47e65ad140b0423e510b3dfabf4a98 mesa-vdpau-23.1.2-01-x86_64.pkg.tar.lz
## 42954b32e64f36a2ada4df92b600f4d63215c039ff5e922339048a225f7530c0 opencl-mesa-23.1.2-01-x86_64.pkg.tar.lz
## 311bfb1ce95fe87ba5af2b6976c4b2c747483597e6d77f8fa13343316031b2fe vulkan-intel-23.1.2-01-x86_64.pkg.tar.lz
## dba699552d8d4a31052e80c16d937160dc0383888f6efb5b1cfdc55012c54a54 vulkan-mesa-layers-23.1.2-01-x86_64.pkg.tar.lz
## 6c2fbbef35f124747022ba618b266afcd26194941f775ef0e753538c1b959702 vulkan-radeon-23.1.2-01-x86_64.pkg.tar.lz
## 2202542c8762aa4e692a9aef2a750a137a20a53858774201580abeee848e89b3 vulkan-swrast-23.1.2-01-x86_64.pkg.tar.lz
## c14cf5c71d62a11c3fe891a131d04213a7878293d967c67f8f3f69354417167d vulkan-virtio-23.1.2-01-x86_64.pkg.tar.lz

View File

@ -15,7 +15,7 @@ pkgname=(
'mesa-vdpau'
'mesa'
)
pkgver=23.1.1
pkgver=23.1.2
pkgrel=1
pkgdesc="An open-source implementation of the OpenGL specification"
url="https://www.mesa3d.org/"
@ -76,10 +76,10 @@ source=(
https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
LICENSE
)
sha256sums=('a2679031ed5b73b29c4f042ac64d96f83b0cfe4858617de32e2efc196c653a40'
sha256sums=('60b1f3adb1561830c158bf3c68508943674fb9d69f384c3c7289694385ab5c7e'
'SKIP'
'7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537')
b2sums=('b17a71205248f2e97c60aa944d8b5b19d51592ba9288d2f04a8498eabaa19308f7ec7a813b948d3fad1001ae14da8771e403c68f7a4159c7f3b8830b919d64dc'
b2sums=('a98dddf9c6cd0f69ec980e1080b53c92513ac03161dfba3355b83da674d6148dbd66c7e0403795eea7c3ce28fb5ff392a96607f34e4caf68a58ac8eb157cf146'
'SKIP'
'1ecf007b82260710a7bf5048f47dd5d600c168824c02c595af654632326536a6527fbe0738670ee7b921dd85a70425108e0f471ba85a8e1ca47d294ad74b4adb')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>

View File

@ -8,7 +8,7 @@
pkgname=qt6-base
_qtver=6.5.1
pkgver=${_qtver/-/}
pkgrel=01
pkgrel=02
url='https://www.qt.io'
pkgdesc='A cross-platform application and UI framework'
depends=(libjpeg-turbo xcb-util-keysyms xcb-util-cursor libgl fontconfig xdg-utils
@ -28,13 +28,14 @@ groups=(qt6)
#options=(debug) # uncomment this to have qt6-base-debug produced
_pkgfn="${pkgname/6-/}-everywhere-src-$_qtver"
source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/submodules/$_pkgfn.tar.xz
qtbug-114204.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=9177dbd8
qt6-base-cflags.patch
qt6-base-nostrip.patch)
prepare() {
patch -d $_pkgfn -p1 < qt6-base-cflags.patch # Use system CFLAGS
patch -d $_pkgfn -p1 < qt6-base-nostrip.patch # Don't strip binaries with qmake
patch -d $_pkgfn -p1 < qtbug-114204.patch # Fix vertical tabbar regression
}
build() {
@ -83,7 +84,8 @@ arch=(x86_64)
license=(GPL3 LGPL3 FDL custom)
sha256sums=(db56fa1f4303a1189fe33418d25d1924931c7aef237f89eea9de58e858eebfed # qtbase-everywhere-src-6.5.1.tar.xz
1730b675ede24d80c2e73a2f662cc73718f3060c0b8a707784d188bb11297c4e # qtbug-114204.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=9177dbd8
5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78 # qt6-base-cflags.patch
4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094) # qt6-base-nostrip.patch
## 4a060c72e30a6d124a3caaaf6df428004d5be1fa21725d0313992fb96391fa05 qt6-base-6.5.1-01-x86_64.pkg.tar.lz
## 37227613bf890921255285164f24e19a7a931fa57dd018438b8f5ba67cd38b6a qt6-base-6.5.1-02-x86_64.pkg.tar.lz

View File

@ -5,7 +5,7 @@
pkgname=qt6-base
_qtver=6.5.1
pkgver=${_qtver/-/}
pkgrel=1
pkgrel=2
arch=(x86_64)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
@ -26,15 +26,18 @@ optdepends=('qt6-wayland: to run Qt6 applications in a Wayland session'
groups=(qt6)
_pkgfn=${pkgname/6-/}-everywhere-src-$_qtver
source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/submodules/$_pkgfn.tar.xz
qtbug-114204.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=9177dbd8
qt6-base-cflags.patch
qt6-base-nostrip.patch)
sha256sums=('db56fa1f4303a1189fe33418d25d1924931c7aef237f89eea9de58e858eebfed'
'1730b675ede24d80c2e73a2f662cc73718f3060c0b8a707784d188bb11297c4e'
'5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78'
'4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094')
prepare() {
patch -d $_pkgfn -p1 < qt6-base-cflags.patch # Use system CFLAGS
patch -d $_pkgfn -p1 < qt6-base-nostrip.patch # Don't strip binaries with qmake
patch -d $_pkgfn -p1 < qtbug-114204.patch # Fix vertical tabbar regression
}
build() {

100
qt6-base/qtbug-114204.patch Normal file
View File

@ -0,0 +1,100 @@
From 9177dbd87991ff277fd77a25c3464e259d11b998 Mon Sep 17 00:00:00 2001
From: Volker Hilsheimer <volker.hilsheimer@qt.io>
Date: Mon, 5 Jun 2023 17:10:00 +0200
Subject: QTabBar: recalculate scroll offset when showing
If an application sets the current index and resizes the tab widget
before showing it, then the scroll offset might be calculated based on
an old size. Since after ca15f650a1a914bb9a41131109c46c4e52c5ebb1,
resizing explicitly avoids scrolling, this could result in tabs ending
up scrolled outside of the tab bar when showing the tab widget.
Fix that by explicitly making the current tab visible in the tab bar's
showEvent handler, which recalculates the scroll offset based on the
actual size.
This is only reproducible with a tab widget, which lays out the tab bar
for each change and resets the tab bar's layoutDirty flag. Add a test
case there.
Fixes: QTBUG-114204
Change-Id: I1e9506b9dde1dd892291d108dd2c7b675ef99509
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Jonas Kvinge <jonas@jkvinge.net>
(cherry picked from commit 2a7da1b3c8c4096d7c2b09f3fcc58e9cf47867cd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
---
src/widgets/widgets/qtabbar.cpp | 2 ++
.../widgets/widgets/qtabwidget/tst_qtabwidget.cpp | 37 ++++++++++++++++++++++
2 files changed, 39 insertions(+)
diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp
index 7fd356280b..49137edf67 100644
--- a/src/widgets/widgets/qtabbar.cpp
+++ b/src/widgets/widgets/qtabbar.cpp
@@ -1656,6 +1656,8 @@ void QTabBar::showEvent(QShowEvent *)
d->refresh();
if (!d->validIndex(d->currentIndex))
setCurrentIndex(0);
+ else
+ d->makeVisible(d->currentIndex);
d->updateMacBorderMetrics();
}
diff --git a/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp b/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp
index 00cb26c2d3..eb29933fd1 100644
--- a/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp
+++ b/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp
@@ -79,6 +79,9 @@ private slots:
void moveCurrentTab();
void autoHide();
+ void setCurrentBeforeShow_data();
+ void setCurrentBeforeShow();
+
private:
int addPage();
void removePage(int index);
@@ -750,5 +753,39 @@ void tst_QTabWidget::autoHide()
QVERIFY(heightForWidth1 > tabWidget.heightForWidth(20));
}
+void tst_QTabWidget::setCurrentBeforeShow_data()
+{
+ QTest::addColumn<QTabWidget::TabPosition>("tabPosition");
+ QTest::newRow("West") << QTabWidget::West;
+ QTest::newRow("North") << QTabWidget::North;
+ QTest::newRow("East") << QTabWidget::East;
+ QTest::newRow("South") << QTabWidget::South;
+}
+
+void tst_QTabWidget::setCurrentBeforeShow()
+{
+ QFETCH(QTabWidget::TabPosition, tabPosition);
+
+ QTabWidget tabWidget;
+ tabWidget.setTabPosition(tabPosition);
+
+ QPixmap pm(50, 50);
+ pm.fill(Qt::red);
+ const QIcon icon(pm);
+ for (int i = 0; i < 4; ++i)
+ tabWidget.addTab(new QWidget, icon, QString("Tab %1").arg(i));
+
+ // the tab widget has space for the entire tab bar
+ tabWidget.resize(tabWidget.tabBar()->sizeHint() + QSize(50, 50));
+ tabWidget.setCurrentIndex(2);
+ tabWidget.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&tabWidget));
+
+ QCOMPARE_GE(tabWidget.tabBar()->tabRect(0).x(), 0);
+ QCOMPARE_GE(tabWidget.tabBar()->tabRect(0).y(), 0);
+
+ QTest::qWait(2000);
+}
+
QTEST_MAIN(tst_QTabWidget)
#include "tst_qtabwidget.moc"
--
cgit v1.2.3