Page MenuHomeFreeBSD

Qt6: Import Qt6 ports form kde@'s repository
AbandonedPublic

Authored by tcberner on Aug 12 2022, 6:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 13, 12:03 AM
Unknown Object (File)
Mon, Nov 11, 11:03 AM
Unknown Object (File)
Sun, Nov 10, 10:30 AM
Unknown Object (File)
Thu, Nov 7, 9:10 PM
Unknown Object (File)
Thu, Nov 7, 8:43 PM
Unknown Object (File)
Thu, Nov 7, 8:43 PM
Unknown Object (File)
Thu, Nov 7, 7:05 PM
Unknown Object (File)
Wed, Nov 6, 7:13 PM
Subscribers

Details

Summary

With the 6.3.1 release the segfaults we've been trying to get rid off,
ever since the first alpha releases, without any clue what is causing
them seem to have gone away.

This change brings in the new Qt6 stack, which might still be a bit
in flux in the ports tree for a while.

Also, expect some fallout in Qt using ports that is not detected by the
exp-run when using portmaster or other non-clean environment tools, as
software might now wrongly pickup Qt6 instead of Qt5, when both are
installed -- we'll fix these as they crop up.

Obtained from: https://github.com/freebsd/freebsd-ports-kde/tree/qt6-6.3.1
Exp-run by: antoine
PR: XXXXX

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 46945
Build 43834: arc lint + arc unit

Event Timeline

Mk/Uses/qt-dist.mk
49
_QT_DIST?=${PORTNAME}
64

^ remove comment

83

^ maybe do this declaratively ala

_MASTER_SITES_qt5=...
_MASTER_SITES_qt6=...
MASTER_SITES=${_MASTER_SITES_${_QT_RELNAME}}
184

^ get rid of --log-level=TRACE

257

^ again declaratively

_EXTRA_PATCHES_qt5=...
EXTRA_PATCHES=...

?

Mk/Uses/qt.mk
63

^ used?

73

^ revert

107

^ revert

156

^ maybe add a _USE_QT_ALL again and remove duplicates from *_ONLY

www/qt5-webengine fails to build with

[...]
FAILED: host/obj/third_party/nasm/nasm/directbl.o 
/usr/local/libexec/ccache/cc -MMD -MF host/obj/third_party/nasm/nasm/directbl.o.d -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DHAVE_CONFIG_H -Ihost/gen -I../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium -I../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm -I../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/asm -I../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/disasm -I../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/include -I../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/output -I../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/x86 -fno-delete-null-pointer-checks -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-unknown-argument -Wno-unknown-attributes -Wno-unknown-warning-option -Wno-unknown-pragmas -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -no-canonical-prefixes -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-final-dtor-non-final-class -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-thread-safety-analysis -Wno-thread-safety-attributes -Wno-unused-function -Wno-string-conversion -Wno-macro-redefined -Wno-sign-compare -Wno-nonnull -Wno-uninitialized -std=c11 -c ../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/asm/directbl.c -o host/obj/third_party/nasm/nasm/directbl.o
In file included from ../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/asm/directbl.c:6:
In file included from ../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/asm/directiv.h:9:
In file included from ../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/include/perfhash.h:37:
../../../../../qtwebengine-everywhere-src-6.2.2/src/3rdparty/chromium/third_party/nasm/include/compiler.h:249:21: error: static declaration of 'mempcpy' follows non-static declaration
static inline void *mempcpy(void *dst, const void *src, size_t n)
                    ^
/usr/include/string.h:70:7: note: previous declaration is here
void    *mempcpy(void * __restrict, const void * __restrict, size_t);
         ^
1 error generated.
[...]
  • qt6: cleanup qt-dist.mk a bit
Mk/Uses/qt-dist.mk
83
# Qt5 specific master sites
_QT5_MASTER_SITES_kde=          LOCAL
_QT5_MASTER_SITE_SUBDIR_kde=    tcberner/KDE/Qt/${_QT_VERSION}
_QT5_MASTER_SITES=              ${MASTER_SITE_QT}
_QT5_MASTER_SITE_SUBDIR=        official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/
# Qt6 specific master sites
_QT6_MASTER_SITES=              ${MASTER_SITE_QT}
_QT6_MASTER_SITE_SUBDIR=        official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules \
                                official_releases/additional_libraries/${_QT_VERSION:R}/${_QT_VERSION}/
# Qt5 specific distnames
_QT5_DISTNAME=                  ${_QT_DIST:S,^,qt,:S,$,-everywhere-src-${DISTVERSION},}
_QT5_DISTNAME_kde=              ${_QT_DIST:S,^,kde-qt,:S,$,-${DISTVERSION},}
# Qt6 specific distnames
_QT6_DISTNAME=                  ${_QT_DIST:S,^,qt,:S,$,-everywhere-src-${DISTVERSION},}

# Effective master sites and disfile valus
MASTER_SITES=                   ${_QT${_QT_VER}_MASTER_SITES${_KDE_${_QT_DIST}:D_kde}}
MASTER_SITE_SUBDIR=             ${_QT${_QT_VER}_MASTER_SITE_SUBDIR${_KDE_${_QT_DIST}:D_kde}}
DISTNAME=                       ${_QT${_QT_VER}_DISTNAME${_KDE_${_QT_DIST}:D_kde}}
DISTFILES=                      ${DISTNAME:S,$,${EXTRACT_SUFX},}
DIST_SUBDIR=                    KDE/Qt/${_QT_VERSION}

this makes these values way more easier to spot, without digging throu 50 line long .if's

  • qt6: revert bogus changes in qt.mk
devel/qt6-base/Makefile
82

^ will be improved once imported