diff --git a/ports/qtbase/macdeployqt-symlinks.patch b/ports/qtbase/macdeployqt-symlinks.patch new file mode 100644 index 00000000000000..ce6fe71f642111 --- /dev/null +++ b/ports/qtbase/macdeployqt-symlinks.patch @@ -0,0 +1,33 @@ +diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp +index 6ff269b..caffd44 100644 +--- a/src/tools/macdeployqt/shared/shared.cpp ++++ b/src/tools/macdeployqt/shared/shared.cpp +@@ -1,4 +1,5 @@ + // Copyright (C) 2016 The Qt Company Ltd. ++ + // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + #include + #include +@@ -85,7 +86,21 @@ + } + } + +- if (QFile::copy(from, to)) { ++ QFileInfo fromFileInfo(from); ++ ++ if (fromFileInfo.isSymLink()) { ++ const QString fromSymLinkTarget = fromFileInfo.absoluteDir().relativeFilePath(fromFileInfo.symLinkTarget()); ++ if (QFile::link(fromSymLinkTarget, to)) { ++ return copyFilePrintStatus(fromFileInfo.absoluteDir().absoluteFilePath(fromSymLinkTarget), QFileInfo(to).absoluteDir().absoluteFilePath(fromSymLinkTarget)); ++ } ++ else { ++ LogError() << "symlink copy failed from" << from; ++ LogError() << " to" << to; ++ return false; ++ } ++ ++ } ++ else if (QFile::copy(from, to)) { + QFile dest(to); + dest.setPermissions(dest.permissions() | QFile::WriteOwner | QFile::WriteUser); + LogNormal() << " copied:" << from; diff --git a/ports/qtbase/portfile.cmake b/ports/qtbase/portfile.cmake index b2cc13d0d38d46..de590a1a67d4a9 100644 --- a/ports/qtbase/portfile.cmake +++ b/ports/qtbase/portfile.cmake @@ -22,6 +22,7 @@ set(${PORT}_PATCHES fix-host-aliasing.patch fix_deploy_windows.patch fix-link-lib-discovery.patch + macdeployqt-symlinks.patch ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) diff --git a/ports/qtbase/vcpkg.json b/ports/qtbase/vcpkg.json index b41e62a2c83a68..bcb7a4ee6252c3 100644 --- a/ports/qtbase/vcpkg.json +++ b/ports/qtbase/vcpkg.json @@ -1,6 +1,7 @@ { "name": "qtbase", "version": "6.8.1", + "port-version": 1, "description": "Qt Base (Core, Gui, Widgets, Network, ...)", "homepage": "https://www.qt.io/", "license": null, diff --git a/versions/baseline.json b/versions/baseline.json index 5133628ab666cb..109ae5a46dff12 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7566,7 +7566,7 @@ }, "qtbase": { "baseline": "6.8.1", - "port-version": 0 + "port-version": 1 }, "qtcharts": { "baseline": "6.8.1", diff --git a/versions/q-/qtbase.json b/versions/q-/qtbase.json index 5797f47d67e3e6..5311fbb39c8564 100644 --- a/versions/q-/qtbase.json +++ b/versions/q-/qtbase.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "aca356b06f62fc44f51769ef5418230a385e3c7f", + "version": "6.8.1", + "port-version": 1 + }, { "git-tree": "15eabae75af5ff861ffa692ff8072aca9af30fad", "version": "6.8.1",