diff --git a/libs/qt5/qtbase/.qt-5.15.0/fix-harfbuzz.diff b/libs/qt5/qtbase/.qt-5.15.0/fix-harfbuzz.diff new file mode 100644 index 00000000..0e1435d6 --- /dev/null +++ b/libs/qt5/qtbase/.qt-5.15.0/fix-harfbuzz.diff @@ -0,0 +1,12 @@ +--- qtbase-everywhere-src-5.14.1/src/3rdparty/harfbuzz-ng/src/hb-blob.cc.orig 2020-01-23 16:37:32.000000000 +0400 ++++ qtbase-everywhere-src-5.14.1/src/3rdparty/harfbuzz-ng/src/hb-blob.cc 2020-03-16 13:07:42.043313000 +0400 +@@ -25,9 +25,6 @@ + */ + + /* http://www.oracle.com/technetwork/articles/servers-storage-dev/standardheaderfiles-453865.html */ +-#ifndef _POSIX_C_SOURCE +-#define _POSIX_C_SOURCE 199309L +-#endif + + #include "hb-private.hh" + #include "hb-debug.hh" diff --git a/libs/qt5/qtbase/.qt-5.15.0/fix_GenericDataLocation_mac.patch b/libs/qt5/qtbase/.qt-5.15.0/fix_GenericDataLocation_mac.patch new file mode 100644 index 00000000..c5b417bc --- /dev/null +++ b/libs/qt5/qtbase/.qt-5.15.0/fix_GenericDataLocation_mac.patch @@ -0,0 +1,12 @@ +diff -Nrub -x '*~' -x '*\.rej' -x '*\.orig' -x'*\.o' -x '*\.pyc' qtbase-everywhere-src-5.10.1.orig/src/corelib/io/qstandardpaths_mac.mm qtbase-everywhere-src-5.10.1/src/corelib/io/qstandardpaths_mac.mm +--- qtbase-everywhere-src-5.10.1.orig/src/corelib/io/qstandardpaths_mac.mm 2018-05-02 20:25:14.000000000 -0700 ++++ qtbase-everywhere-src-5.10.1/src/corelib/io/qstandardpaths_mac.mm 2018-05-02 20:23:31.000000000 -0700 +@@ -200,7 +200,7 @@ + } + } + +- if (type == AppDataLocation || type == AppLocalDataLocation) { ++ if (type == AppDataLocation || type == AppLocalDataLocation || type == GenericDataLocation) { + CFBundleRef mainBundle = CFBundleGetMainBundle(); + if (mainBundle) { + if (QCFType resourcesURL = CFBundleCopyResourcesDirectoryURL(mainBundle)) { diff --git a/libs/qt5/qtbase/.qt-5.15.0/qdbus-manager-quit-5.7.patch b/libs/qt5/qtbase/.qt-5.15.0/qdbus-manager-quit-5.7.patch new file mode 100644 index 00000000..91878602 --- /dev/null +++ b/libs/qt5/qtbase/.qt-5.15.0/qdbus-manager-quit-5.7.patch @@ -0,0 +1,15 @@ +diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp +index da7557d..e0f40e7 100644 +--- a/src/dbus/qdbusconnection.cpp ++++ b/src/dbus/qdbusconnection.cpp +@@ -142,6 +142,10 @@ QDBusConnectionManager::QDBusConnectionManager() + connect(this, &QDBusConnectionManager::serverRequested, + this, &QDBusConnectionManager::createServer, Qt::BlockingQueuedConnection); + moveToThread(this); // ugly, don't do this in other projects ++ ++ qAddPostRoutine([]() { ++ QMetaObject::invokeMethod(QDBusConnectionManager::instance(), "quit"); ++ }); + + #ifdef Q_OS_WIN + // prevent the library from being unloaded on Windows. See comments in the function. diff --git a/libs/qt5/qtbase/.qt-5.15.0/qstandardpaths-extra-dirs.patch b/libs/qt5/qtbase/.qt-5.15.0/qstandardpaths-extra-dirs.patch new file mode 100644 index 00000000..02a48d77 --- /dev/null +++ b/libs/qt5/qtbase/.qt-5.15.0/qstandardpaths-extra-dirs.patch @@ -0,0 +1,97 @@ +commit 0e86ee934b6587dc288e756eb980da002bcbd240 +Author: Alex Richardson +Date: Mon Sep 3 10:16:48 2018 +0100 + + MacOS: Add configure option for additional QStandardPaths data directories + + On MacOS QStandardPaths::GenericDataLocation only contains + "~/Library/Application Support" and "/Library/Application Support". + Package managers such as homebrew or KDE craft install into a custom + prefix and do not/cannot write to either of these directories. This makes + it impossible for them to share the generic data between different + applications. The current workaround used e.g. by homebrew-kde is to create + symlinks for every file/directory that is needed in /usr/local/share/ in + the users "~/Library/Application Support" directory. However, this causes + issues if you forget to create the appropriate link and makes it difficult + for the user to override a data file from the system-wide installation with + a file in the home directory. + + This commit introduces a new hidden ./configure option + `-macos-additional-datadirs`. This option is a colon-separated list of + additional directories that QStandardPaths searches before looking in + "/Library/Application Support". + + I also introduced a new environment variable QT_DATA_DIRS that can be + used to override this ./configure option. + TODO: should this be QT_MACOS_DATA_DIRS instead? + + Change-Id: I23b046fcc9520181286fe300827645cd608b0201 + +diff --git a/configure.json b/configure.json +index 1f45f2ccb2..f29e962a98 100644 +--- a/configure.json ++++ b/configure.json +@@ -90,6 +90,7 @@ + "incredibuild-xge": { "type": "boolean", "name": "incredibuild_xge" }, + "libudev": "boolean", + "ltcg": "boolean", ++ "macos-additional-datadirs": { "type": "string", "name": "macos_additional_datadirs" }, + "make": { "type": "addString", "values": [ "examples", "libs", "tests", "tools" ] }, + "make-tool": "string", + "mips_dsp": "boolean", +diff --git a/configure.pri b/configure.pri +index 03eacd3c07..9505a30da7 100644 +--- a/configure.pri ++++ b/configure.pri +@@ -1190,6 +1190,15 @@ defineReplace(qtConfOutputPostProcess_publicHeader) { + !isEmpty(config.input.qt_libinfix): \ + output += "$${LITERAL_HASH}define QT_LIBINFIX \"$$eval(config.input.qt_libinfix)\"" + ++ # Add support for additional QStandardPaths::GenericDataLocation on MacOS (useful for homebrew, etc.) ++ macos { ++ !isEmpty(config.input.macos_additional_datadirs) { ++ output += "$${LITERAL_HASH}define QT_MACOS_ADDITIONAL_DATADIRS \"$$eval(config.input.macos_additional_datadirs)\"" ++ } else { ++ output += "// $${LITERAL_HASH}undef QT_MACOS_ADDITIONAL_DATADIRS" ++ } ++ } ++ + return($$output) + } + +diff --git a/src/corelib/io/qstandardpaths_mac.mm b/src/corelib/io/qstandardpaths_mac.mm +index 11b5cc8c37..da91ec3ae5 100644 +--- a/src/corelib/io/qstandardpaths_mac.mm ++++ b/src/corelib/io/qstandardpaths_mac.mm +@@ -184,6 +184,31 @@ QStringList QStandardPaths::standardLocations(StandardLocation type) + dirs << writableLocation(PicturesLocation) << QLatin1String("assets-library://"); + #endif + ++#if !defined(QT_BOOTSTRAPPED) && defined(Q_OS_MACOS) ++ if (type == AppDataLocation || type == AppLocalDataLocation || type == GenericDataLocation) { ++ QStringList extraDataDirs; ++ // Add the value of -macos-generic-datadirs configure argument to the list. ++ // This allows e.g. homebrew to use a Qt build that is configured to search ++ // for generic data in /usr/local/share instead of requiring it to be in ++ // /Library/Application Support which is not writable from the homebrew sandbox. ++#ifdef QT_MACOS_ADDITIONAL_DATADIRS ++ QString fromConfigure = QStringLiteral(QT_MACOS_ADDITIONAL_DATADIRS); ++ extraDataDirs = fromConfigure.split(QLatin1Char(':'), QString::SkipEmptyParts); ++#endif ++ // Also allow the environment variable QT_DATA_DIRS to override this default ++ QByteArray qtDataDirsEnv = qgetenv("QT_DATA_DIRS"); ++ if (!qtDataDirsEnv.isEmpty()) { ++ extraDataDirs = QFile::decodeName(qtDataDirsEnv).split(QLatin1Char(':'), QString::SkipEmptyParts); ++ } ++ if (type == AppDataLocation || type == AppLocalDataLocation) { ++ for (QString &dir : extraDataDirs) { ++ appendOrganizationAndApp(dir); ++ } ++ } ++ dirs << extraDataDirs; ++ } ++#endif ++ + if (type == GenericDataLocation || type == FontsLocation || type == ApplicationsLocation + || type == AppDataLocation || type == AppLocalDataLocation + || type == GenericCacheLocation || type == CacheLocation) { diff --git a/libs/qt5/qtbase/.qt-5.15.0/qtbase-5.15.0-20200603.diff b/libs/qt5/qtbase/.qt-5.15.0/qtbase-5.15.0-20200603.diff new file mode 100644 index 00000000..b708491b --- /dev/null +++ b/libs/qt5/qtbase/.qt-5.15.0/qtbase-5.15.0-20200603.diff @@ -0,0 +1,28 @@ +Binary files qtbase-everywhere-src-5.15.0.orig/.DS_Store and qtbase-everywhere-src-5.15.0/.DS_Store differ +Binary files qtbase-everywhere-src-5.15.0.orig/src/.DS_Store and qtbase-everywhere-src-5.15.0/src/.DS_Store differ +diff -Nrub -x '*~' -x '*\.rej' -x '*\.orig' -x '*\.o' -x '*\.pyc' -x CMakeLists.txt.user qtbase-everywhere-src-5.15.0.orig/src/gui/gui.pro qtbase-everywhere-src-5.15.0/src/gui/gui.pro +--- qtbase-everywhere-src-5.15.0.orig/src/gui/gui.pro 2020-05-11 10:15:08.000000000 +0200 ++++ qtbase-everywhere-src-5.15.0/src/gui/gui.pro 2020-06-03 17:12:38.000000000 +0200 +@@ -59,16 +59,18 @@ + win32: CMAKE_WINDOWS_BUILD = True + + qtConfig(angle) { ++ ANGLE_IMPORTLIB_PREFIX= + !mingw|qtConfig(debug_and_release): debug_suffix="d" ++ mingw:ANGLE_IMPORTLIB_PREFIX=lib + CMAKE_GL_INCDIRS = $$CMAKE_INCLUDE_DIR + CMAKE_ANGLE_EGL_DLL_RELEASE = libEGL.dll +- CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.$${QMAKE_EXTENSION_STATICLIB} ++ CMAKE_ANGLE_EGL_IMPLIB_RELEASE = $${ANGLE_IMPORTLIB_PREFIX}EGL.$${QMAKE_EXTENSION_STATICLIB} + CMAKE_ANGLE_GLES2_DLL_RELEASE = libGLESv2.dll +- CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.$${QMAKE_EXTENSION_STATICLIB} ++ CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = $${ANGLE_IMPORTLIB_PREFIX}GLESv2.$${QMAKE_EXTENSION_STATICLIB} + CMAKE_ANGLE_EGL_DLL_DEBUG = libEGL$${debug_suffix}.dll +- CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGL$${debug_suffix}.$${QMAKE_EXTENSION_STATICLIB} ++ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = $${ANGLE_IMPORTLIB_PREFIX}EGL$${debug_suffix}.$${QMAKE_EXTENSION_STATICLIB} + CMAKE_ANGLE_GLES2_DLL_DEBUG = libGLESv2$${debug_suffix}.dll +- CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2$${debug_suffix}.$${QMAKE_EXTENSION_STATICLIB} ++ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = $${ANGLE_IMPORTLIB_PREFIX}GLESv2$${debug_suffix}.$${QMAKE_EXTENSION_STATICLIB} + + CMAKE_QT_OPENGL_IMPLEMENTATION = GLESv2 + } else { diff --git a/libs/qt5/qtbase/qtbase.py b/libs/qt5/qtbase/qtbase.py index 9de84f73..9ec915fd 100644 --- a/libs/qt5/qtbase/qtbase.py +++ b/libs/qt5/qtbase/qtbase.py @@ -1,278 +1,283 @@ # -*- coding: utf-8 -*- import info from Package.Qt5CorePackageBase import * class subinfo(info.infoclass): def registerOptions(self): self.options.dynamic.registerOption("buildCommercial", False) self.options.dynamic.registerOption("buildReleaseAndDebug", False) self.options.dynamic.registerOption("buildDoc", True) self.options.dynamic.registerOption("libInfix", "") self.options.dynamic.registerOption("useLtcg", False) def setTargets(self): self.versionInfo.setDefaultValues() for ver in self.versionInfo.tarballs() + self.versionInfo.branches() + self.versionInfo.tags(): qtVer = CraftVersion(ver) if ver == "dev": self.patchToApply[ver] = [] - if qtVer >= "5.14.0": + if qtVer >= "5.15.0": + self.patchToApply[ver] = [ + (".qt-5.15.0", 1) + ] + elif qtVer >= "5.14.0": self.patchToApply[ver] = [ ("qdbus-manager-quit-5.7.patch", 1), # https://phabricator.kde.org/D2545#69186 ("workaround-mingw-egl.diff", 1), ("fix_GenericDataLocation_mac.patch", 1), ("qstandardpaths-extra-dirs.patch", 1), ("fix-harfbuzz.diff", 1), ] elif qtVer >= CraftVersion("5.12.7"): self.patchToApply[ver] = [ ("8a3fde00bf53d99e9e4853e8ab97b0e1bcf74915.patch", 1), # https://github.com/qt/qtbase/commit/8a3fde00bf53d99e9e4853e8ab97b0e1bcf74915 ("qdbus-manager-quit-5.7.patch", 1), # https://phabricator.kde.org/D2545#69186 ("workaround-mingw-egl.diff", 1), ("fix_GenericDataLocation_mac.patch", 1), ("qstandardpaths-extra-dirs.patch", 1), ("qtbase-5.13.1-20191104.diff", 1) # https://bugreports.qt.io/browse/QTBUG-72846 ] elif qtVer >= CraftVersion("5.12.4"): self.patchToApply[ver] = [ ("qdbus-manager-quit-5.7.patch", 1), # https://phabricator.kde.org/D2545#69186 ("workaround-mingw-egl.diff", 1), ("fix_GenericDataLocation_mac.patch", 1), ("qstandardpaths-extra-dirs.patch", 1), ("qtbase-5.13.1-20191104.diff", 1) # https://bugreports.qt.io/browse/QTBUG-72846 ] elif qtVer >= CraftVersion("5.12.1"): self.patchToApply[ver] = [ ("qdbus-manager-quit-5.7.patch", 1), # https://phabricator.kde.org/D2545#69186 ("workaround-mingw-egl.diff", 1), ("fix_GenericDataLocation_mac.patch", 1), ("qstandardpaths-extra-dirs.patch", 1), ("qtbase-5.12.3-macos-debug.diff", 1) # https://codereview.qt-project.org/c/qt/qtbase/+/260917 ] elif qtVer >= CraftVersion("5.12.0"): self.patchToApply[ver] = [ ("qdbus-manager-quit-5.7.patch", 1), # https://phabricator.kde.org/D2545#69186 ("workaround-mingw-egl.diff", 1), ("fix_GenericDataLocation_mac.patch", 1), ("qstandardpaths-extra-dirs.patch", 1), ("0001-QComboBox-WindowVistaStyle-restore-focus-rect.patch", 1), # https://codereview.qt-project.org/#/c/248945/ (".qt-5.12.0", 1) ] elif qtVer >= CraftVersion("5.11.1"): self.patchToApply[ver] = [ ("qdbus-manager-quit-5.7.patch", 1), # https://phabricator.kde.org/D2545#69186 ("workaround-mingw-egl.diff", 1), ("fix_GenericDataLocation_mac.patch", 1), ("qstandardpaths-extra-dirs.patch", 1), ] elif qtVer >= CraftVersion("5.11"): self.patchToApply[ver] = [ ("qdbus-manager-quit-5.7.patch", 1), # https://phabricator.kde.org/D2545#69186 ("0001-Fix-private-headers.patch", 1), # https://bugreports.qt.io/browse/QTBUG-37417 ("workaround-mingw-egl.diff", 1), ("fix_GenericDataLocation_mac.patch", 1), ("qstandardpaths-extra-dirs.patch", 1), ] elif qtVer >= CraftVersion("5.10"): self.patchToApply[ver] = [ ("qdbus-manager-quit-5.7.patch", 1), # https://phabricator.kde.org/D2545#69186 ("0001-Fix-private-headers.patch", 1), # https://bugreports.qt.io/browse/QTBUG-37417 ("workaround-mingw-egl.diff", 1), ("fix_AppDataLocation_mac.patch", 1), #https://bugreports.qt.io/browse/QTBUG-61159 ("fix_GenericDataLocation_mac.patch", 1), ("qstandardpaths-extra-dirs.patch", 1), ] self.patchToApply["5.11.2"] += [ ("0001-Export-qt_open64-from-QtCore.patch", 1), # fix 32 bit unix builds, backport of 4fc4f7b0ce0e6ee186a7d7fe9b5dd20e94efe432 ] self.patchLevel["5.11.0"] = 2 self.patchLevel["5.11.2"] = 3 self.patchLevel["5.12.0"] = 2 self.patchLevel["5.12.1"] = 2 self.patchLevel["5.12.3"] = 1 + self.patchLevel["5.15.0"] = 1 self.description = "a cross-platform application framework" def setDependencies(self): if CraftCore.settings.getboolean("Packager", "UseCache") and not CraftCore.settings.getboolean("QtSDK", "Enabled", False): self.buildDependencies["dev-utils/qtbinpatcher"] = None self.runtimeDependencies["virtual/base"] = None self.buildDependencies["dev-utils/perl"] = None self.buildDependencies["dev-utils/flexbison"] = None if not self.options.buildStatic: if CraftCore.settings.getboolean("QtSDK", "Enabled", False): self.runtimeDependencies["libs/openssl"] = None else: self.runtimeDependencies["libs/openssl"] = "1.1" self.runtimeDependencies["libs/dbus"] = None self.runtimeDependencies["binary/mysql"] = None self.runtimeDependencies["libs/icu"] = None self.runtimeDependencies["libs/zlib"] = None class QtPackage(Qt5CorePackageBase): def __init__(self, **args): Qt5CorePackageBase.__init__(self) def configure(self, unused1=None, unused2=""): # https://github.com/qt/qtbase/blob/5.14/mkspecs/common/macx.conf#L8 if CraftCore.compiler.isMacOS and self.qtVer >= "5.12": if self.qtVer >= "5.12": mac_required = "10.12" elif self.qtVer >= "5.14": mac_required = "10.13" if not CraftVersion(os.environ["MACOSX_DEPLOYMENT_TARGET"]) >= mac_required: raise BlueprintException(f"Qt requires MACOSX_DEPLOYMENT_TARGET to be >= {mac_required}", self) with self.getQtBaseEnv(): if CraftCore.compiler.isMinGW() and "DXSDK_DIR" not in os.environ: CraftCore.log.critical("Failed to detec a DirectX SDK") CraftCore.log.critical( "Please visite https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source/Windows#Direct_X_SDK for instructions") return False self.enterBuildDir() if OsUtils.isWin(): configure = OsUtils.toUnixPath(os.path.join(self.sourceDir(), "configure.bat")) elif OsUtils.isUnix(): configure = os.path.join(self.sourceDir(), "configure") command = f"{configure} -confirm-license -prefix {CraftStandardDirs.craftRoot()} -platform {self.platform} " command += "-opensource " if not self.subinfo.options.dynamic.buildCommercial else "-commercial " if self.subinfo.options.dynamic.libInfix: command += f"-qtlibinfix {self.subinfo.options.dynamic.libInfix} " command += f"-headerdir {os.path.join(CraftStandardDirs.craftRoot(), 'include', 'qt5')} " command += "-qt-libpng " command += "-qt-libjpeg " command += "-mp " if CraftCore.compiler.isMacOS: command += f"-macos-additional-datadirs \"{CraftCore.standardDirs.locations.data}\" " if OsUtils.isWin(): command += "-opengl dynamic " command += "-plugin-sql-odbc " if self.subinfo.options.dynamic.useLtcg: command += "-ltcg " if self.subinfo.options.dynamic.buildReleaseAndDebug: command += "-debug-and-release " elif self.buildType() == "Debug": command += "-debug " else: command += "-release " if not CraftCore.compiler.isWindows and self.buildType() != "Release": command += "-separate-debug-info " if self.buildType() == "RelWithDebInfo": command += "-force-debug-info " if not self.subinfo.options.dynamic.buildReleaseAndDebug: if self.buildType() == "Debug" and CraftCore.compiler.isMacOS: command += "-no-framework " if not self.subinfo.options.buildStatic: command += "-I \"%s\" -L \"%s\" " % ( os.path.join(CraftStandardDirs.craftRoot(), "include"), os.path.join(CraftStandardDirs.craftRoot(), "lib")) if self.subinfo.options.isActive("libs/openssl"): command += " -openssl-linked " if self.qtVer >= CraftVersion("5.10"): opensslIncDir = os.path.join(CraftCore.standardDirs.craftRoot(), "include", "openssl") command += f" OPENSSL_INCDIR=\"{opensslIncDir}\"" if CraftCore.compiler.isWindows: command += f" OPENSSL_LIBS=\"-llibssl -llibcrypto\" " else: command += f" OPENSSL_LIBS=\"-lssl -lcrypto\" " if self.subinfo.options.isActive("binary/mysql"): command += " -sql-mysql " if self.subinfo.options.isActive("libs/dbus"): command += " -qdbus -dbus-runtime -I \"%s\" -I \"%s\" " % ( os.path.join(CraftStandardDirs.craftRoot(), "include", "dbus-1.0"), os.path.join(CraftStandardDirs.craftRoot(), "lib", "dbus-1.0", "include")) else: command += " -no-dbus " if self.subinfo.options.isActive("libs/icu"): icuIncDir = os.path.join(CraftCore.standardDirs.craftRoot(), "include") command += f" ICU_INCDIR=\"{icuIncDir}\"" command += " -icu " else: command += " -no-icu " if self.subinfo.options.isActive("libs/zlib"): command += " -system-zlib " if CraftCore.compiler.isMSVC(): command += " ZLIB_LIBS=zlib.lib " else: command += " -static -static-runtime " command += "-nomake examples " command += "-nomake tests " if (CraftCore.compiler.isMSVC() and CraftCore.compiler.isClang()) or OsUtils.isUnix() or self.supportsCCACHE: command += "-no-pch " if self.supportsCCACHE: command += "-ccache " if CraftCore.compiler.isLinux: command += """-R "../lib" """ if CraftCore.compiler.isMinGW() and self.qtVer < "5.10": command += """ "QMAKE_CXXFLAGS += -Wa,-mbig-obj" """ return utils.system(command) def make(self): with self.getQtBaseEnv(): return super().make() def install(self): with self.getQtBaseEnv(): if not Qt5CorePackageBase.install(self): return False parser = configparser.ConfigParser() parser.optionxform = str parser.read(os.path.join(self.buildDir(), "bin", "qt.conf")) parser.remove_section("EffectiveSourcePaths") with open(os.path.join(self.imageDir(), "bin", "qt.conf"), "wt") as out: parser.write(out) return True def postInstall(self): if CraftCore.compiler.isWindows and CraftCore.settings.getboolean("Packager", "UseCache"): return utils.system(["qtbinpatcher", "--nobackup", f"--qt-dir={self.installDir()}", f"--new-dir={CraftStandardDirs.craftRoot()}"]) else: if not self.patchInstallPrefix([os.path.join(self.installDir(), "bin", "qt.conf")], self.subinfo.buildPrefix, CraftCore.standardDirs.craftRoot()): return False # try to normalize the auto-detected paths during Qt build for non-debian distros if CraftCore.compiler.isLinux: files = utils.filterDirectoryContent(self.installDir(), whitelist=lambda x, root: Path(x).suffix in {".cmake", ".prl", ".pri"}, blacklist=lambda x, root: True) for f in files: with open(f, "rb") as _f: old = _f.read() with open(f, "wb") as _f: _f.write(re.sub(rb'/usr/lib/(\w+-\w+-\w+/)?lib(\w+)\.so', rb'-l\2', old)) return True def getQtBaseEnv(self): envs = Qt5CoreBuildSystem._qtCoreEnv(self) envs["PATH"] = os.pathsep.join([os.path.join(self.buildDir(), "bin"), os.environ["PATH"]]) envs["QMAKESPEC"] = None return utils.ScopedEnv(envs) class Package(Qt5CoreSdkPackageBase): def __init__(self): Qt5CoreSdkPackageBase.__init__(self, classA=QtPackage)