On Tue Nov 07, 2023 at 08:13:06AM +0100, Rafael Sadowski wrote:
> qtbase-5.15.11pl138. I still have to test an pkg_add -u update with it
> but it should actually work.
env TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all pkg_add -u -D unsigned
qtbase-5.15.11p0->5.15.11pl138
>
> What has changed in the port?
>
> - Upstream Qt project ships which a "includes" directory in the tarball.
> Qt*/KDE repository does not contain the include directory.
> We have to run syncqt.pl so I added QT5_GEN_INCLUDES.
> - Looks like mapbox-gl-native is an Qt upstream tarball thing. It's not
> present in the source code. A lot has changed here. But only on the
> plugin side.
> - I went through all shared libs and adjusted them.
> - Some cosmetic corrections.
>
> What do you think? I would like to play it safe with a bulk build.
>
Another small fix (s/MODQT5_SYNCQT_BIN/QT5_SYNCQT_BIN leftover form a
previous version)
diff --git a/x11/qt5/Makefile.inc b/x11/qt5/Makefile.inc
index b2a1323284b..1e9fcf76e87 100644
--- a/x11/qt5/Makefile.inc
+++ b/x11/qt5/Makefile.inc
@@ -10,11 +10,19 @@ FIX_EXTRACT_PERMISSIONS = Yes
VERSION ?= ${QT5_VERSION}
DIST_VERSION ?= ${QT5_DIST_VERSION}
NEXT_VERSION ?= ${QT5_NEXT_VERSION}
+
+.if defined(KDE_VERSION)
+QT5_KDE_VERSION = ${QT5_VERSION}pl${KDE_VERSION}
+PKGNAME ?= ${QT5NAME:L}-${QT5_KDE_VERSION}
+.else
+DISTNAME ?= ${QT5NAME:L}-everywhere-opensource-src-${DIST_VERSION}
+PKGNAME ?= ${DISTNAME:C/-everywhere-opensource-src//:C/-${DIST_VERSION}/-${VERSION}/}
+.endif
+
DISTNAME ?= ${QT5NAME:L}-everywhere-opensource-src-${DIST_VERSION}
MAINTAINER ?= Rafael Sadowski <rsadowski@openbsd.org>
-PKGNAME ?= ${DISTNAME:C/-everywhere-opensource-src//:C/-${DIST_VERSION}/-${VERSION}/}
PKGNAME-main ?= ${PKGNAME}
PKGNAME-examples ?= ${PKGNAME:C/(-[0-9])/-examples\1/}
@@ -40,8 +48,13 @@ RUN_DEPENDS-examples += ${BUILD_PKGPATH},-main>=${VERSION:R},<${NEXT_VERSION}
# A few components, including QtWebEngine, are LGPLv3 only, no LGPLv2.1.
PERMIT_PACKAGE ?= Yes
+.if defined(KDE_VERSION) && defined(KDE_COMMIT)
+DIST_TUPLE = kde qt qt/${QT5NAME:L} ${KDE_COMMIT} .
+.else
SITES ?= https://download.qt.io/official_releases/qt/${QT5_DIST_VERSION:R}/${QT5_DIST_VERSION}/submodules/ \
https://mirrors.ocf.berkeley.edu/qt/official_releases/qt/${QT5_DIST_VERSION:R}/${QT5_DIST_VERSION}/submodules/
+.endif
+
DIST_SUBDIR ?= qt
EXTRACT_SUFX ?= .tar.xz
@@ -64,7 +77,11 @@ MAKE_FLAGS = -B -j ${MAKE_JOBS} \
MAKE_FLAGS += LIB${_l}_VERSION=${_v}
.endfor
+.if defined(KDE_COMMIT)
+WRKDIST = ${WRKDIR}/${QT5NAME:L}-${KDE_COMMIT}
+.else
WRKDIST ?= ${WRKDIR}/${DISTNAME:S/opensource-//}
+.endif
# qmake supports so-called "shadow" builds: it's like normal
# out-of-source build but build directory is required to be located
@@ -96,6 +113,10 @@ ALL_TARGET ?= first
FAKE_TARGET ?= install
TEST_TARGET ?= check
+QT5_SYNCQT_BIN ?= ${LOCALBASE}/lib/qt5/bin/syncqt.pl
+QT5_GEN_INCLUDES = cd ${WRKDIST} && \
+ ${SETENV} ${QT5_SYNCQT_BIN} -version ${MODQT5_VERSION} -quiet ${WRKDIST}
+
.include <bsd.port.arch.mk>
FLAVOR ?=
diff --git a/x11/qt5/Makefile.version b/x11/qt5/Makefile.version
index 364e4985643..cfe9c189b0c 100644
--- a/x11/qt5/Makefile.version
+++ b/x11/qt5/Makefile.version
@@ -2,7 +2,7 @@
QT5_VERSION = 5.15.11
QT5_WEBENGINE_VERSION = 5.15.10
-QT5_DIST_VERSION = 5.15.11
+QT5_DIST_VERSION ?= 5.15.11
# This one is used for building dependencies for examples and documentation,
# which obviously should be in sync with core packages.
diff --git a/x11/qt5/qtbase/Makefile b/x11/qt5/qtbase/Makefile
index c7d38713f75..fe16229375c 100644
--- a/x11/qt5/qtbase/Makefile
+++ b/x11/qt5/qtbase/Makefile
@@ -1,5 +1,7 @@
-DISTNAME = qtbase-everywhere-opensource-src-${DIST_VERSION}
-QT5NAME = Qt5 core
+QT5NAME = QtBase
+
+KDE_COMMIT = ea7a183732c17005f08ca14fd70cdd305c90396d
+KDE_VERSION = 138
COMMENT-main = C++ general-purpose toolkit
COMMENT-global = global Qt5 documentation internals
@@ -7,28 +9,26 @@ COMMENT-mysql = MySQL plugin for Qt5
COMMENT-psql = PostgresSQL plugin for Qt5
COMMENT-tds = TDS plugin for Qt5
-PKGNAME-mysql = qt5-mysql-${VERSION}
-PKGNAME-global = qt5-global-${VERSION}
-PKGNAME-psql = qt5-postgresql-${VERSION}
-PKGNAME-tds = qt5-tds-${VERSION}
+PKGNAME-mysql = qt5-mysql-${QT5_KDE_VERSION}
+PKGNAME-global = qt5-global-${QT5_KDE_VERSION}
+PKGNAME-psql = qt5-postgresql-${QT5_KDE_VERSION}
+PKGNAME-tds = qt5-tds-${QT5_KDE_VERSION}
PKG_ARCH-global = *
PKG_ARCH-examples = *
-REVISION-main = 0
-
DPB_PROPERTIES = parallel
SHARED_LIBS += Qt5Concurrent 4.1 # 5.15
SHARED_LIBS += Qt5Core 5.0 # 5.15
SHARED_LIBS += Qt5DBus 3.0 # 5.15
-SHARED_LIBS += Qt5Gui 4.0 # 5.15
+SHARED_LIBS += Qt5Gui 4.1 # 5.15
SHARED_LIBS += Qt5Network 4.0 # 5.15
SHARED_LIBS += Qt5OpenGL 3.0 # 5.15
SHARED_LIBS += Qt5PrintSupport 3.0 # 5.15
SHARED_LIBS += Qt5Sql 3.0 # 5.15
SHARED_LIBS += Qt5Test 3.1 # 5.15
-SHARED_LIBS += Qt5Widgets 4.0 # 5.15
+SHARED_LIBS += Qt5Widgets 4.1 # 5.15
SHARED_LIBS += Qt5Xml 3.0 # 5.15
SHARED_LIBS += Qt5EglFSDeviceIntegration 1.0 # 5.15
SHARED_LIBS += Qt5EglFsKmsSupport 1.0 # 5.15
@@ -61,7 +61,7 @@ MULTI_PACKAGES = -main -examples -global -mysql -psql -tds
# qmake module is used only for running tests and setting vars
MODQT_DEPS = No
-MODQMAKE_PROJECTS = tests/tests.pro
+MODQMAKE_PROJECTS = src/tools/bootstrap src/corelib src/tools/qlalr
USE_GMAKE = Yes
# no leveldb dependency, requires -lmemenv; QtWebKit uses internal version
@@ -141,7 +141,7 @@ CONFIGURE_ARGS += -confirm-license \
-verbose
# We have to wait until arm64 is vulkan ready.
-#BUILD_DEPENDS = graphics/vulkan-loader
+#BUILD_DEPENDS = graphics/vulkan-loader
CONFIGURE_ARGS += -no-vulkan
# Let's wait a little until we have more experience and test results
@@ -233,6 +233,12 @@ CONFIGURE_ARGS += -platform openbsd-g++
# See qtbase/tests/README for details
TEST_IS_INTERACTIVE = X11
+WRKDIST = ${WRKDIR}/qtbase-${KDE_COMMIT}
+
+QT5_SYNCQT_BIN = ${WRKDIST}/bin/syncqt.pl
+pre-configure:
+ ${QT5_GEN_INCLUDES}
+
post-extract:
mkdir -p ${WRKDIST}/mkspecs/openbsd-{clang,g++}
cp ${FILESDIR}/clang-qmake.conf \
diff --git a/x11/qt5/qtbase/distinfo b/x11/qt5/qtbase/distinfo
index 50382d949f1..eb97bed919d 100644
--- a/x11/qt5/qtbase/distinfo
+++ b/x11/qt5/qtbase/distinfo
@@ -1,2 +1,2 @@
-SHA256 (qt/qtbase-everywhere-opensource-src-5.15.11.tar.xz) = QlrTAazZHKZsEMDavuBwTi0M0oAaa2cBFYAMu5X4SEY=
-SIZE (qt/qtbase-everywhere-opensource-src-5.15.11.tar.xz) = 50825756
+SHA256 (qt/qt-qt/qtbase-ea7a183732c17005f08ca14fd70cdd305c90396d.tar.gz) = 0booh2SMGeZ5NOx0dvyrF+koEqXjpNAWk8yNchqiIOk=
+SIZE (qt/qt-qt/qtbase-ea7a183732c17005f08ca14fd70cdd305c90396d.tar.gz) = 68763263
diff --git a/x11/qt5/qtbase/patches/patch-src_gui_configure_json b/x11/qt5/qtbase/patches/patch-src_gui_configure_json
deleted file mode 100644
index 60e73ad2d1e..00000000000
--- a/x11/qt5/qtbase/patches/patch-src_gui_configure_json
+++ /dev/null
@@ -1,27 +0,0 @@
-EGL_NO_X11 has been replaced with USE_X11, thus breaking all existing
-code out there, including Qt:
-https://github.com/KhronosGroup/EGL-Registry/pull/130
-
-Fix this by defining USE_X11 whenever we do not define EGL_NO_X11.
-
-Fixes: QTBUG-96392
-Pick-to: 6.2
-Change-Id: If8b68caa8c9022477d87169ca2e2a0121a9313e0
-Reviewed-by: default avatarAndy Nichols <andy.nichols@qt.io>
-(cherry picked from commit 4cc54285)
-
-https://invent.kde.org/qt/qt/qtbase/-/commit/7a44796c813ab9661a68d42a67c18759d0a3f9ed
-
-Index: src/gui/configure.json
---- src/gui/configure.json.orig
-+++ src/gui/configure.json
-@@ -834,7 +834,8 @@
- "// embedded devices, are not intended to be used together with X. EGL support",
- "// has to be disabled in plugins like xcb in this case since the native display,",
- "// window and pixmap types will be different than what an X-based platform",
-- "// plugin would expect."
-+ "// plugin would expect.",
-+ "#define USE_X11"
- ],
- "include": [ "EGL/egl.h", "X11/Xlib.h" ],
- "main": [
diff --git a/x11/qt5/qtbase/patches/patch-src_network_ssl_qsslcontext_openssl_cpp b/x11/qt5/qtbase/patches/patch-src_network_ssl_qsslcontext_openssl_cpp
index b9a9ef23e66..5d8eb1df8e5 100644
--- a/x11/qt5/qtbase/patches/patch-src_network_ssl_qsslcontext_openssl_cpp
+++ b/x11/qt5/qtbase/patches/patch-src_network_ssl_qsslcontext_openssl_cpp
@@ -13,36 +13,7 @@ Index: src/network/ssl/qsslcontext_openssl.cpp
const long anyVersion =
#if QT_CONFIG(dtls)
-@@ -408,16 +410,28 @@ init_context:
- maxVersion = DTLS1_VERSION;
- break;
- case QSsl::DtlsV1_0OrLater:
-+#ifdef DTLS_MAX_VERSION
- minVersion = DTLS1_VERSION;
- maxVersion = DTLS_MAX_VERSION;
-+#else
-+ Q_UNREACHABLE();
-+
No comments:
Post a Comment